@charset "UTF-8";

/*FV*/
.mv{position:relative;width:100%;padding-top:clamp(40px,6vw,80px);margin-bottom:clamp(80px,10vw,180px);min-height:clamp(480px,55vw,700px);overflow:hidden;margin-top: 100px;}
.mv-image{width:100%;}
.mv-image img{width:100%;height:auto;display:block;}
.mv-text{position:absolute;left:8%;top:0;transform:translateY(-50%);z-index:2;}
.mv-text .lead{font-size:clamp(28px,6vw,62px);font-weight:bold;line-height:1.3;}
.mv-text span{color:#e60012;}

@media (min-width:769px) and (max-width:1200px){
.mv-text{margin-top:20px}}


@media (max-width:768px){
.mv{padding-top:32px;margin-bottom:80px;min-height:auto;}
.mv-bg{position:absolute;bottom:0;left:0;width:100%;height:80px;}
.mv-text{position:relative;left:auto;top:auto;transform:none;width:fit-content;margin:20px auto;text-align:center;}
.mv-text .lead{font-size:32px;line-height:1.4;white-space:nowrap;}
.mv-image img{position:relative;left:0;transform:none;width:100%;max-width:none;height:auto;margin:0 auto;display:block;}
.pc{display: none;}}


#about{margin-bottom:150px;position:relative;overflow:hidden;}
#about .about-item{display:flex;align-items:center;}
#about .about-item .text{width:55%;font-size:24px;line-height:1.8;font-weight:500;}
#about .about-item .img{width:45%;}
#about .about-item .img img{width:100%;}
#about .about-item p{font-size:22px;font-weight:500;}
.bg-circle{position:absolute;width:600px;height:600px;top:50%;margin-top:-250px;opacity:.05;pointer-events:none;transform-origin:center;}
.bg-left{left:-180px;animation:spin 40s linear infinite;}
.bg-right{right:-180px;animation:spin 40s linear infinite reverse;}
@keyframes spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
.bg-circle text{font-size:60px;font-weight:700;fill:#000;letter-spacing:6px;}

@media (max-width:768px){
#about .section-title{margin-bottom: 20px;}
#about{margin-bottom:80px;}
#about .about-item{display:block;}
#about .about-item .img img{display:none;}
#about .about-item .text{width:100%;font-size:16px;margin:0 auto;padding:0 20px;text-align:center;}
#about .about-item p{font-size: 14px;text-align: left;}
}

@media (max-width:400px){
.bg-left{display:none;}
.bg-right{left:50%;right:auto;transform:translateX(-50%);margin-top:-250px;animation:spin 20s}
.bg-circle{width:350px;height:350px;margin-top:-175px;}

}

#interview{margin-bottom:220px;}
.interview-list{list-style:none;padding:0;margin:40px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
.person-img-area{position:relative;width:320px;height:320px;margin:0 auto 5px;}
.person-img{width:100%;height:100%;object-fit:cover;position:relative;z-index:2;filter:grayscale(100%);transition:transform .4s ease,filter .4s ease;}
.interview-link:hover .person-img{transform:scale(1.1);}
.person-img-area:hover .person-img{transform:scale(1.1);filter:grayscale(0%);}
.person-bg-img{position:absolute;top:-10px;left:-10px;width:100px;z-index:1;}
.person-text-area{margin-bottom:20px;text-align:center;}
.person-name-en{font-size:12px;letter-spacing:.08em;color:#e60012;margin-bottom:4px;}
.person-name-ja{font-size:24px;font-weight:700;margin-bottom:6px;}
.person-about{font-size:13px;color:#666;}
.interview-item{position:relative;padding-bottom:32px;}
.more-btn{position:absolute;left:50%;bottom:-10px;transform:translateX(-50%);display:inline-block;padding:10px 30px;font-size:10px;font-weight:600;color:#e60012;background:#fff;border:1px solid #e60012;transition:color .3s,background .3s;}
.more-btn:hover{color:#fff;background:#e60012;}
.more-btn::before{content:"";position:absolute;left:0;width:100%;height:2px;background:#e60012;top:0;transform:translateX(-100%);transition:transform .4s ease;}
.more-btn::after{content:"";position:absolute;left:0;width:100%;height:2px;background:#e60012;bottom:0;transform:translateX(100%);transition:transform .4s ease;}
.more-btn:hover::before,.more-btn:hover::after{transform:translateX(0);}

@media (max-width:767px){
#interview{margin-bottom:80px;}
.interview-list{grid-template-columns:1fr;gap:48px;}
.interview-item{position:relative;padding-bottom:48px;}
.person-img-area{position:relative;width:320px;height:320px;margin:0 auto 12px;}
.person-img{width:100%;height:100%;object-fit:cover;position:relative;z-index:2;}
.person-bg-img{top:-5px;left:-5px;width:88px;}
.person-text-area{text-align:center;margin-bottom:0;}
.person-name-en{font-size:12px;}
.person-name-ja{font-size:22px;margin-bottom:4px;}
.person-about{font-size:13px;color:#666;}
}

#cta-challenge{background:#d60012;padding:24px 0;margin-bottom:100px;}
#cta-challenge .section-title{position:static;margin-bottom:32px;color:#fff;}
.cta-inner{display:flex;align-items:flex-start;gap:32px;}
.cta-image{width:45%;}
.cta-image img{width:100%;object-fit:cover;display:block;}
.cta-content{width:55%;}
.cta-buttons{margin-top:80px;display:flex;flex-direction:column;gap:32px;align-items:center;}
.cta-btn{position:relative;display:block;width:320px;padding:14px 48px 14px 0;background:#fff;color:#d60012;font-size:18px;font-weight:700;text-align:center;text-decoration:none;border-radius:999px;overflow:hidden;z-index:1;transition:color .3s ease;border:2px solid #fff;}
.cta-btn::before{content:"";position:absolute;top:0;left:-160%;width:150%;height:100%;background:#d60012;transform:skewX(-30deg);transition:left .4s ease;z-index:-1;}
.cta-btn:hover{color:#fff;border:2px solid #fff;}
.cta-btn:hover::before{left:-10%;}
.cta-btn::after{content:"＞";position:absolute;top:50%;right:24px;transform:translateY(-50%);font-size:16px;font-weight:700;color:currentColor;}
#cta-challenge .section-title .title-en,#cta-challenge .section-title .title-ja{color:#fff;}
#cta-challenge .section-title .title-ja{font-size:42px;letter-spacing:.2em;}

@media (max-width:768px){
#cta-challenge{padding:40px 0;margin-bottom:60px;}
#cta-challenge .section-title{margin-bottom:24px;}
.cta-inner{flex-direction:column;align-items:center;gap:24px;}
.cta-image{width:100%;}
.cta-image img{width:100%;height:auto;}
.cta-content{width:100%;}
.cta-bottom{flex-direction:column;gap:20px;padding:0 0 40px;}
.cta-bottom-btn{width:100%;max-width:320px;height:56px;}
#cta-challenge .section-title .title-ja{font-size:24px;}
}

.bg-rotate-text{position:absolute;left:-450px;top:0;width:900px;height:900px;pointer-events:none;animation:spin 40s linear infinite;z-index:0;}
.bg-rotate-text svg{width:100%;height:100%;}
.bg-rotate-text text{fill:rgba(0,0,0,.06);font-size:120px;letter-spacing:8px;}

@keyframes spin{to{transform:rotate(360deg);}}

.random-fly .title-ja span{display:inline-block;}

