@charset "UTF-8";

/*
Theme Name: fotografía-info
Version: 1.1
Author: Owndmedia
*/

/***** ローディングアニメーション *****/
#loading {
  width: 100vw;
  height: 100vh;
  height: 100svh;
  transition: all 1s ease-in-out;
  background-color: #f6f6f6;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.loading__content {
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 80px;
  height: 80px;
}

.loaded {
  opacity: 0;
  visibility: hidden;
}

.loading-circle {
  margin: auto;
  width: 60px;
  height: 60px;
  position: relative;
}

.loading-circle .circle-child {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

.loading-circle .circle-child:before {
  content: '';
  display: block;
  margin: 0 auto;
  width: 15%;
  height: 15%;
  background-color: #8995A2;
  border-radius: 100%;
  -webkit-animation: sk-circleBounceDelay 1.2s infinite ease-in-out both;
  animation: sk-circleBounceDelay 1.2s infinite ease-in-out both;
}

.loading-circle .loading-circle2 {
  -webkit-transform: rotate(30deg);
  -ms-transform: rotate(30deg);
  transform: rotate(30deg);
}

.loading-circle .loading-circle3 {
  -webkit-transform: rotate(60deg);
  -ms-transform: rotate(60deg);
  transform: rotate(60deg);
}

.loading-circle .loading-circle4 {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.loading-circle .loading-circle5 {
  -webkit-transform: rotate(120deg);
  -ms-transform: rotate(120deg);
  transform: rotate(120deg);
}

.loading-circle .loading-circle6 {
  -webkit-transform: rotate(150deg);
  -ms-transform: rotate(150deg);
  transform: rotate(150deg);
}

.loading-circle .loading-circle7 {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.loading-circle .loading-circle8 {
  -webkit-transform: rotate(210deg);
  -ms-transform: rotate(210deg);
  transform: rotate(210deg);
}

.loading-circle .loading-circle9 {
  -webkit-transform: rotate(240deg);
  -ms-transform: rotate(240deg);
  transform: rotate(240deg);
}

.loading-circle .loading-circle10 {
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg);
}

.loading-circle .loading-circle11 {
  -webkit-transform: rotate(300deg);
  -ms-transform: rotate(300deg);
  transform: rotate(300deg);
}

.loading-circle .loading-circle12 {
  -webkit-transform: rotate(330deg);
  -ms-transform: rotate(330deg);
  transform: rotate(330deg);
}

.loading-circle .loading-circle2:before {
  -webkit-animation-delay: -1.1s;
  animation-delay: -1.1s;
}

.loading-circle .loading-circle3:before {
  -webkit-animation-delay: -1s;
  animation-delay: -1s;
}

.loading-circle .loading-circle4:before {
  -webkit-animation-delay: -0.9s;
  animation-delay: -0.9s;
}

.loading-circle .loading-circle5:before {
  -webkit-animation-delay: -0.8s;
  animation-delay: -0.8s;
}

.loading-circle .loading-circle6:before {
  -webkit-animation-delay: -0.7s;
  animation-delay: -0.7s;
}

.loading-circle .loading-circle7:before {
  -webkit-animation-delay: -0.6s;
  animation-delay: -0.6s;
}

.loading-circle .loading-circle8:before {
  -webkit-animation-delay: -0.5s;
  animation-delay: -0.5s;
}

.loading-circle .loading-circle9:before {
  -webkit-animation-delay: -0.4s;
  animation-delay: -0.4s;
}

.loading-circle .loading-circle10:before {
  -webkit-animation-delay: -0.3s;
  animation-delay: -0.3s;
}

.loading-circle .loading-circle11:before {
  -webkit-animation-delay: -0.2s;
  animation-delay: -0.2s;
}

.loading-circle .loading-circle12:before {
  -webkit-animation-delay: -0.1s;
  animation-delay: -0.1s;
}

@-webkit-keyframes sk-circleBounceDelay {

  0%,
  80%,
  100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }

  40% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes sk-circleBounceDelay {

  0%,
  80%,
  100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }

  40% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

/***** スクロールアニメーション *****/
.scroll.fadeIn {
  opacity: 0;
  transition: all 1000ms;
}

.scroll.fadeInUp {
  opacity: 0;
  transform: translate(0, 50px);
  transition: all 2000ms;
}

.scroll.fadeInLeft {
  opacity: 0;
  transform: translateX(-50px);
  transition: all 2000ms;
}

.scroll.fadeInRight {
  opacity: 0;
  transform: translateX(50px);
  transition: all 2000ms;
}

.scroll.scrollIn {
  opacity: 1;
  transform: translate(0, 0);
}

.scroll.delay {
  -moz-transition-delay: 200ms;
  -webkit-transition-delay: 200ms;
  -o-transition-delay: 200ms;
  -ms-transition-delay: 200ms;
}

.scroll.delay2 {
  -moz-transition-delay: 400ms;
  -webkit-transition-delay: 400ms;
  -o-transition-delay: 400ms;
  -ms-transition-delay: 400ms;
}

/***** グローバルメニュー *****/
.menu {
  height: 23px;
  position: fixed;
  right: 4rem;
  top: 4rem;
  width: 30px;
  z-index: 99;
  cursor: pointer;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.menu__line {
  background: #6E7C8C;
  display: block;
  height: 3px;
  position: absolute;
  transition: transform 0.3s;
  width: 100%;
}

.menu__line--center {
  top: 10px;
  background-color: #6E7C8C;
}

.menu__line--bottom {
  bottom: 0;
}

.menu__line--top.active {
  top: 8px;
  transform: rotate(45deg);
  background-color: #fff;
}

.menu__line--center.active {
  transform: scaleX(0);
}

.menu__line--bottom.active {
  bottom: 12px;
  transform: rotate(135deg);
  background-color: #fff;
}

.global-menu {
  background: #8995A2;
  position: fixed;
  width: 40%;
  height: 100%;
  z-index: 98;
  top: 0;
  right: 0;
  padding: 8rem 3rem 3rem;
  transform: translateX(100%);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition: transform 0.5s ease;
}

.global-menu.open-menu {
  transform: translateX(0);
}

.gnav__wrap {
  margin: 5rem 0;
  background: #fff;
  padding: 6rem 3rem;
  border-radius: 20px;
}

.site__ttl {
  position: fixed;
  top: 4rem;
  left: 4rem;
  z-index: 96;
}

.site__ttl h1 {
  line-height: 1;
}

.site__ttl h1 a {
  display: block;
  font-size: 3.4rem;
  line-height: 1;
  transition: .3s;
  color: #6E7C8C;
}

.site__ttl h1 a:hover {
  color: #B7BEC6;
}

.gnav__ttl h1 a {
  display: inline-block;
  font-size: 3rem;
  color: #fff;
}

.gnav__ttl h1 a:hover {
  color: #B7BEC6;
}

.global-nav__list {
  display: flex;
  flex-direction: column;
}

.global-nav__list .menu-item {
  margin-bottom: 1em;
  padding-bottom: 1em;
  border-bottom: 1px dashed var(--color-border);
}

.global-nav__list .menu-item a {
  display: flex;
  align-items: center;
  transition: 0.5s;
  line-height: 3rem;
}

.global-nav__list .menu-item a::before {
  content: "";
  display: inline-block;
  background: #8995A2;
  width: 5px;
  height: 5px;
  margin-right: .8em;
  border-radius: 10px;
}

.global-nav__list .menu-item a:hover {
  color: #B7BEC6;
  transition: 0.5s;
}

.global-nav__list .menu-item a .menu-subtitle {
  display: block;
  color: #B7BEC6;
  font-family: "Inter", sans-serif;
  margin-left: auto;
}

@media screen and (max-width: 959px) {
  .gnav__ttl h1 a {
    font-size: 2.4rem;
  }

  .global-menu {
    width: 60%;
  }

  .site__ttl h1 a {
    font-size: 2.4rem;
  }
}

@media screen and (max-width: 559px) {
  .global-menu {
    width: 100%;
  }

  .gnav__wrap {
    margin: 3rem 0;
    padding: 4rem 3rem;
  }

}

/* ************************************************************************************************
	 トップページスライダー
	 ************************************************************************************************ */
.index-slider__container {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  height: 100vh;
  height: 100svh;
}

.index-slider__desc {
  width: 40%;
  height: 95%;
  align-content: flex-end;
  background: #fff;
  border-bottom-right-radius: 100px;
  box-shadow: 0 5px 15px rgba(137, 149, 162, 0.1)
}

.index-slider__img {
  position: relative;
  width: 55%;
  align-self: flex-end;
  z-index: 1;
}

.description {
  width: min(450px, 100%);
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-size: 1.6rem;
  position: relative;
  z-index: 95;
  margin: 0 auto;
  padding: 10rem 3rem 3rem;
}

.description__copy {
  margin-bottom: 3rem;
  font-size: clamp(2rem, 1rem + 2vw, 3.8rem);
}

.description p {
  line-height: 4rem;
}

@media screen and (max-width: 959px) {

  html,
  body {
    background-attachment: scroll;
  }

  .site__ttl {
    top: 3rem;
    left: 3rem;
  }

  .site__ttl h1 a {
    padding: 1rem 1.5rem;
    border-radius: 6px;
    box-shadow: 0 5px 15px rgba(137, 149, 162, 0.05);
    background: #fff;
  }

  .index-slider__container {
    flex-direction: column-reverse;
  }

  .index-slider__desc {
    width: 100%;
    height: 50vh;
    height: 50svh;
    align-content: center;
    border-bottom-right-radius: 0;
  }

  .description {
    width: 100%;
    padding: 3rem;
  }

  .description__copy {
    margin-bottom: 2rem;
  }

  .index-slider__img {
    width: 100%;
    height: 50vh;
    height: 50svh;
  }

  .index-slider__img .swiper-slide img {
    height: 50vh;
    height: 50svh;
    border-radius: 0;
  }
}

@media screen and (max-width: 559px) {
  body::before {
    display: none;
  }

  .menu {
    right: 3rem;
    top: 3rem;
  }

  .site__ttl {
    top: 2rem;
    left: 2rem;
  }

  .site__ttl h1 a {
    font-size: 2rem;
  }

  .index-slider__desc {
    height: 60vh;
    height: 60svh;
  }

  .description p {
    line-height: 2.8rem;
  }


  .index-slider__img {
    height: 40vh;
    height: 40svh;
  }

  .index-slider__img .swiper-slide img {
    height: 40vh;
    height: 40svh;
  }
}