/* fullpage */
#fullpage{ overflow: hidden; }
#header{ position: absolute; background: 0; color: #fff; }
@media(min-width:1280px){
    .section:first-child .fp-tableCell{ display: flex; height: 970px; padding-top: var(--header_height); box-sizing: border-box; }
}
@media(max-height:799px){
    .section:first-child,
    .section:first-child .fp-tableCell{ height: 800px!important; }
}

/* visual */
.main_visual{ box-sizing: border-box; color: #fff;}
.main_visual .swiper-slide{ box-sizing: border-box; }
.main_visual .swiper-slide{ opacity: 0!important; }
.main_visual .swiper-slide-active{ opacity: 1!important; }
.main_visual__inr{ height: auto; box-sizing: border-box; }
.main_visual__h2{ font-size: var(--fs50); line-height: 1.42; }
.main_visual__p{ font-size: 1.1em; font-weight: 300; line-height: 1.77777778; }
.main_visual__p:first-of-type{ margin-top: 1.55555556em; }
.main_visual__p + .main_visual__p{ margin-top: .88888889em; }
.main_visual__control{ display: flex; gap: 10rem; position: absolute; inset: auto 0 84rem; height: auto; box-sizing: border-box; z-index: 1; }
.main_visual__control-btn{ display: inline-flex; justify-content: center; align-items: center; position: relative; width: 60px; height: 60px; background: 0; }
.main_visual__control-btn::before{ content: ''; position: absolute; inset: 0; background: rgba(0, 0, 0, 0.3); border-radius: 50%; }
.main_visual__control-btn::after{ content: ''; display: inline-block; width: 6px; height: 9px; background: #fff; }
.main_visual__control-btn.prev::after{ clip-path: polygon(100% 0, 0 50%, 100% 100%); }
.main_visual__control-btn.next::after{ clip-path: polygon(100% 50%, 0 0, 0 100%); }
.main_visual__bar{ position: absolute; inset: auto 0 0; height: 5px; background: rgba(0, 0, 0, 0.8); }
.main_visual__bar::before{ content: ''; position: absolute; inset: 0; width: 0; background: var(--primary); }
.main_visual__bar.play::before{ animation: visual_bar 5s linear both; }
@keyframes visual_bar {
    0%{ width: 0%; }
    100%{ width: 100%; }
}
@media(prefers-reduced-motion:no-preference){
    .main_visual__h2{ opacity: 0; }
    .main_visual__p{ opacity: 0; }
    .main_visual .swiper-slide-active .main_visual__h2{ animation: visual_txt .6s .5s both; }
    .main_visual .swiper-slide-active .main_visual__p{ animation: visual_txt .6s .7s both; }
    @keyframes visual_txt {
        0%{ transform: translateX(20px); opacity: 0; }
        100%{ transform: translateX(0); opacity: 1; }
    }
}
@media(min-height:800px){
    .main_visual .swiper-slide{ padding-top: calc( 50vh - var(--header_height) ); }
}
@media(max-height:799px){
    .main_visual{ min-height: 800px; }
    .main_visual .swiper-slide{ display: flex; align-items: center; padding-top: var(--header_height); }
}
@media(min-width:1280px){
    .main_visual{ flex: 1 60%; }
    .main_visual__inr{ padding: 0 100rem; }
    .main_visual__control{ padding: 0 100rem; }
}
@media(max-width:1279px){
    .main_visual{ height: 100vh; }
}

/* link */
.main_links{ display: flex; flex-direction: column; }
.main_links__a{ display: flex; align-items: center; position: relative; aspect-ratio: 770/288; flex: 0 0 33.3%; box-sizing: border-box; z-index: 2; }
.main_links__a::before{ content: ''; position: absolute; inset: -1px 0; background: no-repeat 80% / cover; z-index: -1; }
.main_links__a:nth-child(1)::before{ background-image: url(/images/main/img_link_bg1.jpg); }
.main_links__a:nth-child(2)::before{ background-image: url(/images/main/img_link_bg2.jpg); }
.main_links__a:nth-child(3)::before{ background-image: url(/images/main/img_link_bg3.jpg); }
.main_links__a-inr{ height: unset; }
.main_links__a-title{ display: block; font-size: var(--fs25); font-weight: 600; color: #fff; }
.main_links__a-comment{ display: block; margin-top: .375em; color: rgba(255, 255, 255, .5); }
.main_links__more{ display: inline-flex; align-items: center; gap: .78571429em; margin-top: 3.5em; font-size: 15rem; font-weight: 700; color: var(--primary); }
.main_links__more-arrow{ display: inline-block; position: relative; width: 20px; height: 9px; }
.main_links__more-arrow::before{ content: ''; position: absolute; margin: auto; inset: 0; width: 100%; height: 1px; background: currentColor; }
.main_links__more-arrow::after{ content: ''; position: absolute; margin: auto 0 auto auto; inset: 0; width: 6px; height: 6px; border: solid currentColor; border-width: 1px 1px 0 0; box-sizing: border-box; transform: translateY(.5px) rotate(45deg); }
@media(prefers-reduced-motion:no-preference){
    .main_links__a-title,
    .main_links__more,
    .main_links__a::before{ transition: .4s; }
    @media(min-width:1280px){
        .main_links{ animation: fade_in .6s 1.4s both; }
        @keyframes fade_in {
            0%{ opacity: 0; }
            100%{ opacity: 1; }
        }
    }
}
@media(hover:hover) and (min-width:1280px){
    .main_links__a::before{ opacity: 0; }
    .main_links__a:hover::before{ opacity: 1; }
    .main_links__a-title{ color: rgba(255, 255, 255, .5); }
    .main_links__a:hover .main_links__a-title{ color: #fff; }
    .main_links__more{ color: rgba(255, 255, 255, .3); }
    .main_links__a:hover .main_links__more{ color: var(--primary); }
}
@media(min-width:1280px){
    .main_links{ flex: 1 40%; border-left: 1px solid var(--border); }
    .main_links__a{ padding: 0 80rem; }
    .main_links__a-inr{ all: unset; }
    .main_links__a + .main_links__a{ border-top: 1px solid var(--border); }
}
@media(max-width:767px){
    .main_links__a{ background: #000; }
    .main_links__a::before{ opacity: .7; }
}

@media(max-width:500px){
    .main_links__a {aspect-ratio: 770/320;}
}

@media(max-width:420px){
    .main_links__a {aspect-ratio: 770/400;}
	.main_links__a::after {position:absolute; left:0; top:0; content:''; width:100%; height:100%;}
	.main_links__a:nth-child(1)::after {background:#264278; opacity:.5;}
	.main_links__a:nth-child(2)::after {background:#121f39; opacity:.5;}
	.main_links__a:nth-child(3)::after {background:#0f0f2e; opacity:.5;}
	.main_links__a-comment {color:#e7e7e7;}
}

/* main bg */
.main_bg{ position: absolute; inset: 0; height: 100%; z-index: -1; }
.main_bg .swiper-slide::before{ content: ''; position: absolute; inset: 0; background: #7d7d7d no-repeat 50% / cover; }
.main_bg .slide1::before{ background-image: url(/images/main/img_main_bg1.jpg); background-position-x: 22%; }
.main_bg .slide2::before{ background-image: url(/images/main/img_main_bg2.jpg); }
@media(prefers-reduced-motion:no-preference){
    .main_bg :is(.swiper-slide-active, .swiper-slide-duplicate-active)::before{ animation: slide_bg 3s both; }
    @keyframes slide_bg {
        0%{ transform: scale(1.05); }
        100%{ transform: scale(1); }
    }
}
@media(max-width:1279px){
    .main_bg{ height: 100vh; }
}
@media(max-height:799px){
    .main_bg{ height: 800px; }
}