@charset "UTF-8";


#bg {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
}
#bg video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#main {
  position: relative;
  z-index: 2;
}

#main #information ~ section:not(.bg-l-gray) {
  background: var(--l-gray2);
}

@media (min-width: 576px) {
  .sp_fade-slider img {
    aspect-ratio: 3/2;
    object-fit: cover;
  }
}
/* ===============================
   MV
=============================== */
#mv {
  color: var(--white);
}

@media (min-width: 992px) {
  #mv picture {
    display: block;
    height: calc(100vh - 100px);
  }

  .scroll_down{
    position:absolute;
    bottom: 0px;
    left: 50%;
  }
  .scroll_down:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: -4px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: currentColor;
    animation:
      circlemove 1.6s ease-in-out infinite,
      cirlemovehide 1.6s ease-out infinite;
  }
  @keyframes circlemove{
    0%{bottom:89px;}
    100%{bottom:0px;}
  }
  @keyframes cirlemovehide{
    0%{opacity:0}
    50%{opacity:1;}
    80%{opacity:0.9;}
    100%{opacity:0;}
  }
  .scroll_down:after{
    content:"";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 1px;
    height: 89px;
    background: currentColor;
    transform: translateX(-50%);
  }
}

/* ===============================
   concept
=============================== */
#concept .headline span.ttl {
  letter-spacing: 0.1em;
}
@media (max-width: 575px) {
  #concept {
    padding-bottom: .5rem;
  }
  #concept .imgBox .over-left {
    margin-left: 0 !important;
    margin-right: -40px !important;
  }
}
@media (min-width: 992px) {
  #concept {
    padding-bottom: 2.5rem;
  }
  #concept .imgBox .over-left {
    margin-left: 0 !important;
  }
  #concept .txtBox {
    padding-top: 6em;
  }
}
@media (min-width: 1200px) {
  #concept .txtBox {
    padding-top: 7.5em;
  }
}

/* ===============================
   spend
=============================== */
@media (max-width: 991px) {
  #spend {
    position: relative;
  }
  #spend .imgBox2 {
    position: absolute;
    top: 48vw;
    padding: 0;
  }
}
@media (max-width: 575px) {
  #spend .imgBox .over-right {
    margin-left: 0 !important;
    margin-right: -40px;
    margin-bottom: calc(20vw + 2em);
  }
}
@media (min-width: 576px) {
  #spend .imgBox2 {
    top: 39vw;
    right: 0;
  }
}
@media (min-width: 992px) {
  #spend .container {
    max-width: 100%;
    padding-left: 6%;
  }
  #spend .imgBox2 {
    top: auto;
    margin-top: 5%;
  }
}

/* ===============================
   information
=============================== */


/* ===============================
   fair
=============================== */
#fair-cont {
  border-top: 0;
}
@media (min-width: 992px) {
  #fair .headline {
    text-align: left;
  }
}

/* ===============================
   #ceremony
=============================== */
@media (min-width: 992px) {
  #ceremony .container {
    max-width: 100%;
    padding-right: 6%;
  }
  #ceremony .txtBox {
    padding-left: 12vw;
  }
  #ceremony .imgBox2 {
    margin-top: 5%;
  }
}
@media (min-width: 1200px) {
  #ceremony .txtBox {
    padding-left: 24vw;
  }
}

/* ===============================
   #party
=============================== */
@media (min-width: 576px) {
  #party .over-left {
    display: flex;
  }
  #party .over-left picture:nth-of-type(2) {
    padding-left: 4px;
  }
}
@media (min-width: 992px) {
  #party .container {
    max-width: 100%;
    padding-right: 6%;
  }
  #party .txtBox {
    padding-left: 12vw;
  }
  #party .imgBox2 {
    margin-top: 5%;
  }
}
@media (min-width: 1200px) {
  #party .txtBox {
    padding-left: 24vw;
  }
}

/* ===============================
   #cuisine
=============================== */
@media (min-width: 992px) {
  #cuisine .imgBox picture {
    margin-right: -15%;
  }
  #cuisine .txt-inner {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
}
@media (min-width: 1200px) {
  #cuisine .imgBox picture {
    margin-right: -23%;
  }
}
/* ===============================
   #dress
=============================== */
#dress .imgBox picture + picture {
  margin-top: 20px;
}
@media (min-width: 992px) {
  #dress .txt-inner {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  #dress .txtBox {
    padding-left: 2vw;
  }
}
@media (min-width: 1200px) {
  #dress .txtBox {
    padding-left: 6vw;
  }
}
