@charset "UTF-8";

#siteHeader {
  transition: .4s cubic-bezier(0.16, 1, 0.3, 1);
  transition-property: top, padding;
}
#siteHeader:has(.on) {
  position: fixed !important;
  opacity: 1 !important;
  transform: translateY(0) !important;
}
#siteHeader.standby {
  position: fixed;
  opacity: 0;
  transition: none;
}
#siteHeader.ready {
  position: fixed;
  opacity: 1;
  transform: translateY(-101%);
  transition: opacity .4s .4s cubic-bezier(0.16, 1, 0.3, 1),
              transform .4s cubic-bezier(0.16, 1, 0.3, 1);
}
#siteHeader.fixed {
  position: fixed;
  opacity: 1;
  transform: translateY(0);
  transition: opacity .6s cubic-bezier(0.16, 1, 0.3, 1),
              transform .6s cubic-bezier(0.16, 1, 0.3, 1);
}



#siteHeader:not(.fixed):not(:has(.on)) {
  height: 100px;
  padding-top: 20px;
  position: absolute;
  color: var(--white);
}
#siteHeader:not(.fixed) .inner-header::before {
  background: transparent;
}
#siteHeader:not(.fixed):not(:has(.on)) .logo__inner {
  background: url(../../onephotowedding/common/img/logo-w.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
#siteHeader:not(.fixed):not(:has(.on)) .logo__inner img {
  visibility: hidden;
}
@media (min-width: 992px) {
  #siteHeader:not(.fixed):not(:has(.on)) {
    height: 130px;
    padding-top: 30px;
  }
  #siteHeader:not(.fixed) .gNav {
    color: var(--white);
  }
}


#container {
  overflow: visible;
}
#content {
  padding-top: 0;
}


#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;
}

/* ===============================
   MV
=============================== */
#mv {
  width: 100%;
  height: 100svh;
  color: var(--white);
  position: relative;
  z-index: 2;
  overflow: hidden;
}
#mv::before {
  content: '';
  display: block;
  position: absolute;
  inset: 0;
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.60) 16.84%, rgba(0, 0, 0, 0.00) 100%);
  mix-blend-mode: multiply;
}
#mv .mv-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
#mv .fade-slider {
  display: block;
  width: 100%;
  height: 100svh;
  position: relative;
  z-index: -1;
}
#mv .fade-slider .slick-slide img {
  display: block;
  width: 100%;
  height: 100svh;
  object-fit: cover;
}



.scroll_down {
  display: block;
  width: 1px;
  height: 6vh;
  position: absolute;
  bottom: 0;
  left: 50%;
  z-index: 100;
  overflow: hidden;
  transform: translateX(-50%);
}
.scroll_down::before {
  content: '';
  display: block;
  width: 1px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: currentColor;
  opacity: .5;
}
.scroll_down::after {
  content: '';
  position: relative;
  display: block;
  width: 1px;
  height: 30%;
  vertical-align: middle;
  margin: 0 auto;
  background: currentColor;
  animation: scroll-border 2s ease-in-out infinite;
  will-change: animation;
}
@keyframes scroll-border {
    0% { bottom: 100%; }
  100% { bottom: -100%; }
}






/* ===============================
   concept
=============================== */
#concept .headline span.ttl {
  letter-spacing: 0.1em;
}
.concept-mobile-read {
  margin: 2.5rem 0;
}
@media (max-width: 991px) {
  #concept.section-padding {
    padding-top: 2.5rem;
  }
  #concept > .section.pt-5 {
    padding-top: 0 !important;
  }
  .concept-mobile-read {
    margin: 0 0 2.5rem;
  }
  .concept-mobile-read .headline {
    margin-bottom: 1.5rem;
  }
  .concept-mobile-read .copy {
    margin-bottom: 1.75rem;
    line-height: 1.9;
  }
}
@media (max-width: 991px) {
  #concept .imgBox2 {
    margin-top: 25px;
    margin-left: auto;
  }
}
@media (min-width: 992px) {
  #concept .txtBox {
    display: flex;
    justify-content: flex-end;
    column-gap: 10%;
    padding-right: 5%;
  }
}


/* ===============================
   #plan
=============================== */
#plan .cards .card:last-child {
  margin-bottom: 0;
}
@media (max-width: 575px) {
  #point h4.ttl {
    font-size: 1rem;
    white-space: nowrap;
  }
}
@media (min-width: 992px) {
  #plan .cards .card {
    margin-bottom: 0;
  }
}


/* ===============================
   #location
=============================== */
#location .hero {
  text-align: center;
  background: url(img/location_cover_v.jpg) no-repeat 50% 0% / cover;
  color: var(--white);
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  min-height: 44rem;
}
@media (min-width: 576px) {
  #location .hero {
    background-image: url(img/location_cover.jpg);
  }
}

#location .hero::before {
  content: '';
  display: block;
  position: absolute;
  inset: 0;
  background: #000;
  opacity: .5;
  mix-blend-mode: multiply;
}
#location .hero .inner {
  position: relative;
}
#location .hero .headline {
  color: var(--white);
}

#location .cards {
  margin-top: max(-25%, -8rem);
}

#location .card .ttl {
  margin-top: 1.75rem;
}
#location .card p {
    margin-top: 1em;
    margin-bottom: 1.75em;
}

@media (max-width: 767px) {
    #location .cards .card {
        max-width: 100%;
    }
}

/* ===============================
   #gallery
=============================== */
#gallery {
  overflow: hidden;
}

/* ===============================
   #dress
=============================== */
#dress .imgBox {
  display: flex;
  flex-wrap: wrap;
  row-gap: 10px;
}
@media (max-width: 575px) {
  #dress .imgBox {
    column-gap: 10px;
  }
  #dress .imgBox picture:nth-of-type(2) {
    width: calc((100% - 10px)*0.3665);
  }
  #dress .imgBox picture:nth-of-type(3) {
    width: calc((100% - 10px)*0.6335);
  }
}
@media (min-width: 576px) {
  #dress .imgBox picture:nth-of-type(2) {
    width: 48%;
    margin-left: auto;
  }
  #dress picture._fit {
    height: 100%;
  }
  #dress picture._fit img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
@media (min-width: 992px) {
  #dress .txtBox {
    padding-left: 4%;
  }
}
@media (min-width: 1200px) {
  #dress .txtBox {
    padding-left: 10%;
  }
}
