@charset "utf-8";

.gjs-dashed .lower-voice-img img{
  opacity:1;
}

.fv{
  height:100vh;
  height:100svh;
  position:relative;
  display: flex;
  justify-content: end;
  flex-direction: column;
  min-height: 650px;
  overflow:hidden;
}

.fv-circle{
  position:absolute;
  width: 16%;
  left: 2.5%;
  top: -10%;
  z-index:10;
  animation: rotation 30s linear infinite;
}
@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.fv h1{
  position:absolute;
  left:10%;
  top:3.5rem;
  font-size:clamp(1.375rem, 0.966rem + 1.36vw, 2.5rem);
  letter-spacing: 8px;
  z-index: 15;
}


.fv-swiper{
  height:80vh;
  height:80svh;
  overflow: hidden;
  position:relative;
}

.fv-swiper::before{
  content:"";
  position:absolute;
  width:100%;
  aspect-ratio:1920/200;
  top:-1px;
  left:0;
  z-index: 10;
  background:url(https://photographer-fukumoto.com/system_panel/uploads/images/20250702150647829192.png) no-repeat center/contain;
}

/* スライダーの高さ指定*/
.swiper-wrapper {
  height: 67vw;
}
/* 矢印の位置調整 */
.swiper-button-prev {
  left: 50%;
  margin: 0;
  top: 0;
  transform: translate(-50%, 0px) rotate(90deg);
}
.swiper-button-next {
  bottom: 0;
  left: 50%;
  margin: 0;
  top: auto;
  transform: translate(-50%, 0px) rotate(90deg);
}
/* スライドのサイズ調整 */
.swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.top-about{
  padding:10rem 0 5rem;
  margin-bottom:5rem;
  position:relative;
  overflow:hidden;
}

.top-about::before{
  content:"";
  position:absolute;
  width:100%;
  height:100%;
  background:url(https://photographer-fukumoto.com/system_panel/uploads/images/20250702161522669015.png) no-repeat bottom center/cover;
  top:0;
  left:0;
}

.top-about .container{
  max-width:1280px;
  width:80%;
}

.top-about-item{
  display:flex;
  max-width: 800px;
  align-items: flex-start;
  justify-content: space-between;
}

.top-about-item h2{
  color:#fff;
  font-size:clamp(2rem, 1.818rem + 0.61vw, 2.5rem);
  letter-spacing:10px;
  margin-bottom:10%;
}

.top-about-item > div{
  width: 48%;
}

.top-about-item > img{
  width: 48%;
  margin-top:2.5rem;
}

.top-about-wrap{
  display:flex;
  position:relative;
  margin-bottom:250px;
}

.top-about-wrap > img{
  display:flex;
  position:absolute;
  width:50%;
  right:-5%;
  top:0;
}

.anxiety{
  margin:0 auto 5rem;
  max-width:1345px;
  width:80%;
}

.anxiety-wrap{
  display:flex;
  justify-content: space-between;
}

.anxiety-item{
  width:30%;
  display: flex;
  flex-direction: column;
}

.anxiety-item > p{
  text-align:center;
  font-size:clamp(1.125rem, 0.989rem + 0.45vw, 1.5rem);
  margin-bottom:2rem;
}

.anxiety-item > div{
  padding:1.5rem 1.5rem 2rem;
  border:2px solid #F5AE73;
  background:#FCF7EC;
  border-radius:20px;
  flex: 1;
}

.anxiety-item img:not(.ok){
  border-radius:10px;
  border:2px solid #F5AE73;
}

.anxiety-item .ok{
  width:5rem;
  margin:-2.5rem auto 1rem;
  display: block;
}

.top-title{
  text-align:center;
  color:#FF9640;
  font-size:clamp(1.5rem, 1.136rem + 1.21vw, 2.5rem);
  position: relative;
  padding: 0 65px;
  text-align: center;
  margin-bottom:5rem;
}

.top-title::before {
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
  width: 100%;
  height: 2px;
  content: '';
  background: #F5AE73;
}

.top-title strong{
  position: relative;
  padding: 0 1em;
  background: #FCF7EC;
  letter-spacing: 6px;
}

.plan{
  width:90%;
  margin:0 auto 100px;
  padding-top:5rem;
}

.plan-ttl{
  display:flex;
  max-width:1345px;
  width:90%;
  margin:0 auto 3rem;
  justify-content: space-between;
  align-items: center;
  gap:1.5rem;
}

.plan-ttl h2{
  color:#fff;
  padding:2rem 10px 2rem 4rem;
  aspect-ratio:535/125;
  background:url(https://photographer-fukumoto.com/system_panel/uploads/images/20250702171727808262.png) no-repeat center/contain;
  font-size:clamp(1.5rem, 1.136rem + 1.21vw, 2.5rem);
  width: 40%;
  letter-spacing: 4px;
}

.plan-wrap{
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  max-width: 1345px;
  width: 90%;
  margin: 0 auto ;
  position:relative;
  z-index:0;
}

.plan-wrap::before{
  content:"";
  position:absolute;
  width:120%;
  aspect-ratio:1728/525;
  bottom:5%;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index:-1;
  background:url(https://photographer-fukumoto.com/system_panel/uploads/images/20250702174605507758.png) no-repeat center/cover;
}

.plan-wrap a{
  width:calc((100% - 20px)/2);
  border-radius:20px;
  overflow:hidden;
  position:relative;
}

.plan-wrap a > div{
  position:absolute;
  width:195px;
  right:7.5%;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  color:#fff;
}

.plan-wrap a > div > p:first-child{
  border-bottom:1px solid;
  width:fit-content;
  padding:0 1rem 0.5rem 0;
  margin-bottom:1.5rem;
  font-size:clamp(0.75rem, 0.659rem + 0.3vw, 1rem);
}

.plan-wrap a > div > p:nth-child(2){
  font-size:clamp(1.25rem, 0.977rem + 0.91vw, 2rem);
}

.plan-wrap a > div .btn{
  margin:3rem 0 0;
  color:#fff;
  padding: 0;
  pointer-events:none;
}

.plan-wrap a img{
  transition:0.3s;
}

.plan-wrap a:hover img{
  transform: scale(1.1);
}

.plan-wrap a:hover .arrow {
  flex: none;
  transform: scale(1.1, 1.1);
}

.plan-wrap a:hover .btn img:first-child {
  transform: translate(29px, -29px);
  transition-duration: 500ms;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

.plan-wrap a:hover .btn img:last-child {
  transform: translate(29px, -29px);
  transition-duration: 500ms;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

.voice{
  padding:100px 0 250px;
  background:#EAE3DB;
  position:relative;
  z-index: 0;
}

.voice .container{
  position:relative;
}


.voice::before,
.voice::after,
.voice .container::after{
  opacity:0;
}

@keyframes fadeZoomAnime{
  from {
    opacity: 0;
    transform: scale(0);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}



.voice .top-title strong{
  background:#EAE3DB;
}

.voice-box{
  max-width:700px;
  margin:0 auto 4rem;
  position:relative;
  z-index:2;
}

.voice-item{
  display:flex;
  margin-bottom:1.5rem;
  align-items: flex-start;
}

.voice-item:nth-child(2){
  flex-direction:row-reverse;
}

.voice-item:nth-child(2) .voice-txt::before{
  right:auto;
  left:0;
  background:url(https://photographer-fukumoto.com/system_panel/uploads/images/20250702181533338482.png) no-repeat center/contain;
}

.voice-item img{
  width:21%;
  margin-top:1.5rem;
}

.voice-txt{
  width:79%;
  padding:1.5rem 5%;
  background:#fff;
  border-radius:999vh;
  position:relative;
}

.voice-txt::before{
  content:"";
  position:absolute;
  width: 2rem;
  aspect-ratio: 72 / 36;
  bottom: 5%;
  right:0;
  background:url(https://photographer-fukumoto.com/system_panel/uploads/images/20250702180452868994.png) no-repeat center/contain;
}

.voice-txt h3{
  font-size:clamp(1rem, 0.909rem + 0.3vw, 1.25rem);
  color:#F5AE73;
  margin-bottom:8px;
}

.voice-txt h3 strong{
  font-size:clamp(0.625rem, 0.534rem + 0.3vw, 0.875rem);
  color:#1F1F1F;
  font-weight: 400;
}


.voice-item.two .voice-txt{
  width:74%;
}

.voice-item.two img{
  width:26%;
}

.voice-item:nth-child(2) .voice-txt::before{
  left:10px;
}

.lower-voice-img img{
  border-radius:10px;
  aspect-ratio:1/1;
  object-fit:cover;
  opacity:0;
}

@media (min-width: 1025px) {
  .lower-voice-img{
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
}
.lower-voice-img img:first-child{
  position: absolute;
  width: 14%;
  aspect-ratio: 1 / 1;
  left: 7.5%;
  top: 25%;
  z-index: 1;
}

.lower-voice-img img:nth-child(2){
  position: absolute;
  width: 11%;
  aspect-ratio: 1 / 1;
  right: 10%;
  bottom: 30%;
  z-index: 1;
}

.lower-voice-img img:nth-child(3){
  position: absolute;
  width: 10%;
  aspect-ratio: 1 / 1;
  right: 15%;
  bottom: -12%;
  z-index: 1;
}
}


.lower-voice-img.fadeUp img:nth-child(1),
.lower-voice-img.fadeUp img:nth-child(2),
.lower-voice-img.fadeUp img:nth-child(3){
  animation:fadeZoomAnime 1s forwards;
}
.lower-voice-img.fadeUp img:nth-child(2){
  animation-delay:1s;
}
.lower-voice-img.fadeUp img:nth-child(3){
  animation-delay:2s;
}

.cta{
  padding:0rem 0 2.5rem;
  position:relative;
  margin-top: -6rem;
}

.cta + .footer{
  padding-top:0;
}

.cta::before{
  content:"";
  position:absolute;
  width:100%;
  height: 130%;
  top: -30%;
  left: 0;
  background:url(https://photographer-fukumoto.com/system_panel/uploads/images/20250702184300133231.png) no-repeat top center/cover;
}

.loopSlide.sp{
  display:none;
}

@media (max-width: 1600px) {
  .fv h1{
    top:12.5vh;
  }
}

@media (max-width: 1400px) {
  .top-about-wrap > img {
    width: 43%;
    right: -10%;
    top: 30%;
  }
  .anxiety-item > p{
    font-size: 18px;
  }
}

@media (max-width: 1200px) {
  .plan-ttl{
    flex-direction: column;
    align-items: baseline;
  }
  .top-about-wrap > img{
    top: 50%;
    right: -18%;
  }
}

@media (max-width: 1024px) {
  .top-title{
    font-size:1.5rem;
  }
  .fv-circle {
    position: absolute;
    width: 25%;
    left: 2.5%;
    top: -7%;
  }
  .swiper-slide img.pc{
    display:none;
  }
  .swiper-slide img.sp{
    display:block;
  }
  .voice-item{
    align-items: flex-end;
  }
  .voice-txt::before{
    display:none;
  }
  .voice::before{
    left: 3.5%;
    top: 16%;
  }
  .voice::after{
    right: 2%;
    bottom: 21%;
  }
  .plan-wrap a > div{
    right: 5%;
  }
  .plan-wrap a{
    width:100%;
  }
  .anxiety-wrap{
    flex-direction: column;
    align-items: center;
    gap: 3rem;
  }
  .anxiety-item {
    width: 100%;
    max-width:450px;
  }
  .plan-ttl h2{
    width: fit-content;
    padding: 1rem 10px 1rem 2rem;
  }
  .top-about-wrap{
    margin-bottom: 100px;
  }
  .plan-wrap::before{
    display:none;
  }
  .top-about-item{
    flex-direction: column;
    gap: 1rem;
  }
  .top-about-item > div {
    width: 100%;
  }
  .top-about-item > img {
    width: 70%;
    margin-top: 0;
  }
  .top-about-item .btn{
    margin: 0 0 0 auto;
  }
  .top-about-wrap > img {
    top: auto;
    right: -18%;
    bottom: -20%;
    width: 80%;
    max-width: 550px;
  }
  .top-about-wrap {
    margin-bottom: 160px;
  }
  .top-about {
    padding: 3rem 0 5rem;
    margin-bottom: 0rem;
  }
    .lower-voice-img{
    display:flex;
  }
    .lower-voice-img img{
    width:calc(100% / 3);
    border-radius:10px;
    aspect-ratio:1/1;
    object-fit:cover;
  }
}

@media (max-width: 767px) {
  .voice-item,
  .voice-item:nth-child(2){
    flex-direction: column;
  }
  .voice-txt,
  .voice-item.two .voice-txt{
    width: 90%;
    border-radius: 2rem;
    margin-right: auto;
  }
  .voice-item:nth-child(2) .voice-txt{
    margin: 0 0 0 auto;
  }
  .voice-txt {
    font-size:10px; 
  }
  .voice-item img{
    width: 20%;
    margin: -1rem 0 0;
    position: relative;
  }

  .voice-item:nth-child(2)  img{
    margin: -1rem auto 0 0;
  }
  .voice::before,
  .voice::after,
  .voice .container::after{
    display:none;
  }
  .voice .container{
    width:100%;
  }
  .voice-box{
    width:90%;
  }
  .plan-wrap a > div{
    width: fit-content;
  }
  .plan-wrap a > div .btn {
    margin: 1rem 0 0;
  }
  .plan {
    width: 100%;
    margin: 0 auto 3rem;
    padding-top: 3rem;
  }
  .anxiety{
    width:90%;
    margin: 0 auto 2rem;
  }
  .top-title{
    padding: 0 30px;
    font-size: 1.25rem;
    margin-bottom: 2rem;
  }
  .top-title strong{
    padding: 0 8px;
  }
  .voice  .top-title{
    margin: 0 5% 3rem;
  }
  .voice {
    padding: 40px 0 200px;
  }
  .fv-swiper {
    height: 65vh;
    height: 65svh;
  }
  .fv-circle {
    width: 40%;
    top: auto;
    position: relative;
    left:auto;
    margin:-4rem auto 0;
  }
  .fv{
    justify-content: space-between;
    min-height: 550px;
    height: 85vh;
    height: 85svh;
  }
  .fv h1 {
    text-align: center;
    top: 7%;
  }
  .loopSlide.sp {
    display:flex;
    height: 40px;
  }
  .top-about .container{
    width:90%;
  }
}