body {
  margin: 0;
  padding: 0;
}

html, body {
  height: 100%;
}

img {
  line-height: 0;
  font-size: 0;
  border: 0;
}

a img, fieldset, img {
  border: 0;
}

blockquote, dd, div, dl, dt, fieldset, form, h1, h2, h3, h4, h5, h6, ul, li, ol, p, pre, span, td, th {
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5, h6, p, address {
  font-size: 100%;
}

ul, li, ol {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 100%;
}

a:link, a:visited {
  color: #333;
  text-decoration: none;
}

a:hover, a:active {
  color: #000;
  text-decoration: none;
}

a {
  transition: all 0.3s ease-in;
}

a:hover {
  opacity: 0.8;
}

*, *:before, *:after {
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

@media screen and (min-width: 760px) {
  .sp {
    display: none !important;
  }
  .pc {
    display: block;
  }
}
@media screen and (max-width: 759px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block;
  }
  .fit {
    width: 100%;
    height: auto;
  }
}
.sizeXL {
  font-size: min(30px, 4.6vw);
}

.sizeLL {
  font-size: min(22px, 4.2vw);
}

.sizeL {
  font-size: min(20px, 3.8vw);
}

.sizeM {
  font-size: min(18px, 3.6vw);
}

.sizeN {
  font-size: min(16px, 3.4vw);
}

.sizeS {
  font-size: min(14px, 3.2vw);
}

@media screen and (max-width: 759px) {
  .sizeXL {
    font-size: 4.6vw;
  }
  .sizeLL {
    font-size: 4.2vw;
  }
  .sizeL {
    font-size: 3.8vw;
  }
  .sizeM {
    font-size: 3.4vw;
  }
  .sizeN {
    font-size: 3.4vw;
  }
  .sizeS {
    font-size: 3.2vw;
  }
}
#container {
  margin: 0 auto;
  text-align: center;
  line-height: 160%;
  min-width: 1100px;
  overflow-x: hidden;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.6;
}
#container::before {
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100vh;
  background: url(../img/cbg.jpg) no-repeat center center;
  background-size: cover;
}
@media screen and (max-width: 759px) {
  #container {
    min-width: 100%;
    font-size: 3.4vw;
  }
}

#content {
  position: relative;
}
#content::before {
  content: "";
  background-image: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.75) 100%);
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100px;
  z-index: 0;
}

.cInner {
  width: 1000px;
  margin: 0 auto;
  text-align: center;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 759px) {
  .cInner {
    width: 100%;
    padding: 0 5vw;
  }
}

@keyframes fadeBlur {
  0% {
    -webkit-backdrop-filter: blur(30px);
            backdrop-filter: blur(30px);
  }
  100% {
    -webkit-backdrop-filter: blur(0px);
            backdrop-filter: blur(0px);
  }
}
/*-------------------------------------------------
	++ COMMON 
-------------------------------------------------*/
#main {
  background: url("../img/main.jpg") no-repeat center center;
  background-size: 100% auto;
  height: 800px;
  position: relative;
}
@media screen and (max-width: 1400px) and (min-width: 760px) {
  #main {
    background-size: 1400px auto;
  }
}
@media screen and (max-width: 759px) {
  #main {
    background-size: auto 100%;
    height: 90vw;
  }
}
#main .titleArea {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  animation: fadeBlur 3s forwards;
}
@media screen and (max-width: 759px) {
  #main .titleArea {
    padding: 10vw;
  }
}

.section {
  padding: min(80px, 10vw) 0;
  position: relative;
}
.section .secInner {
  background-color: rgba(26, 24, 41, 0.25);
  -webkit-backdrop-filter: blur(3px);
          backdrop-filter: blur(3px);
  color: #FFF;
  padding: min(30px, 5vw);
  box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.5);
}
.section .secHead {
  margin-bottom: min(30px, 5vw);
}
.section .secHead h2 {
  font-size: min(30px, 4.6vw);
  font-weight: normal;
  line-height: 2;
}
.section .text {
  font-size: min(18px, 3.6vw);
  text-align: center;
  line-height: 2;
  font-weight: 300;
}
@media screen and (max-width: 759px) {
  .section .text {
    font-size: 3.4vw;
  }
}

.guestList {
  margin: min(30px, 5vw) auto;
}
.guestList ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 50px;
}
@media screen and (max-width: 759px) {
  .guestList ul {
    gap: 5vw;
  }
}
.guestList ul li {
  width: 220px;
}
@media screen and (max-width: 759px) {
  .guestList ul li {
    width: calc((100% - 5vw) / 2);
  }
}
.guestList ul li .photo {
  position: relative;
  width: 100%;
  box-shadow: 0 0 10px 0 rgba(26, 24, 41, 0.3);
}
.guestList ul li .photo img {
  display: block;
  width: 100%;
  height: auto;
}
.guestList ul li .guestName {
  margin-top: min(15px, 3vw);
  font-size: min(14px, 3.2vw);
}

.navigator {
  margin-top: min(30px, 7vw);
}
@media screen and (max-width: 759px) {
  .navigator {
    width: 50%;
    margin-left: auto;
    margin-right: auto;
  }
}

.bnr {
  margin: min(50px, 10vw) auto;
}

.photoList {
  position: relative;
  margin-top: min(50px, 10vw);
}
.photoList ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
}
@media screen and (max-width: 759px) {
  .photoList ul {
    gap: 5vw;
  }
}
.photoList ul li {
  width: calc((100% - 90px) / 4);
}
@media screen and (max-width: 759px) {
  .photoList ul li {
    width: calc((100% - 5vw) / 2);
  }
}
.photoList ul li img {
  display: block;
  width: 100%;
  height: auto;
}

.youtubeShort iframe {
  aspect-ratio: 9/16;
  width: 100%;
  height: 100%;
}

.youtubeLink {
  display: block;
  position: relative;
}
.youtubeLink::after {
  content: "";
  display: block;
  width: 60px;
  aspect-ratio: 56/80;
  background: url(../img/icon_youtube.png) no-repeat center center;
  background-size: 100% auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/*-------------------------------------------------
	++ FOOTER
-------------------------------------------------*/
#jwaveFooter {
  color: #FFF;
  padding: 20px 0 78px 0;
}
@media screen and (max-width: 759px) {
  #jwaveFooter {
    padding: 6vw 0;
  }
}
#jwaveFooter .commonSet {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
#jwaveFooter .commonSet .toHome {
  width: 50%;
  text-align: left;
}
@media screen and (max-width: 759px) {
  #jwaveFooter .commonSet .toHome {
    width: 70%;
  }
  #jwaveFooter .commonSet .toHome a {
    width: 25%;
    display: block;
  }
}
#jwaveFooter .commonSet .footerLogo {
  width: 50%;
  text-align: right;
}
@media screen and (max-width: 759px) {
  #jwaveFooter .commonSet .footerLogo {
    width: 30%;
  }
}
#jwaveFooter .commonSet .copyRight {
  width: 100%;
  text-align: center;
  font-size: min(14px, 3.2vw);
}
@media screen and (max-width: 759px) {
  #jwaveFooter .commonSet .copyRight {
    margin-top: 8vw;
  }
}