/*************section_general*************/
.main_sec_wrap{ position:relative; z-index:100; overflow:hidden; }
.main_sec_wrap, .main_sec_wrap *{ box-sizing:border-box; }
.sc_con{ width:100%; margin:0 auto; }





/*sc01*/
#sc01{ padding:0; position:relative; background-color:#333; }

#sc01Sli{ position:absolute; z-index:1; top:0; bottom:0; width:200%; /*left:-100%; right:-100%;*/ }
#sc01Sli > .swiper-wrapper{ transition-timing-function:linear; }
.sc01Sli{ position:relative; z-index:1; background-color:#333; }
.sc01Sli > .sc01img{ position:absolute; top:0; left:0; width:130%; height:100%; transform:translate(-30%, 0); background-position:center; background-size:cover; background-repeat:no-repeat; }
.sc01Sli > .sc01img{ -webkit-mask-image:linear-gradient(to right, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 23%); }
.sc01Sli.sli01 > .sc01img{ background-image:url(../img/main/01-01.jpg); }
.sc01Sli.sli02 > .sc01img{ background-image:url(../img/main/01-02.jpg); }
.sc01Sli.sli03 > .sc01img{ background-image:url(../img/main/01-03.jpg); }
.sc01Sli.sli04 > .sc01img{ background-image:url(../img/main/01-04a.jpg); }
.sc01Sli.sli05 > .sc01img{ background-image:url(../img/main/01-05.jpg); }

.sc01_fr{ position: relative; z-index:10; width:100%; min-height:70vh; background:linear-gradient(to right, rgba(0,0,0,.7) 0%, rgba(0,0,0,.5) 40%, rgba(0,0,0,.15) 100%); padding:150px 100px; display:flex; align-items:center; }
.sc01_txt{ max-width:740px; word-break:keep-all; }
.sc01_txt > h1{ font-family:'nm'; font-size:100px; font-weight:700; color:#fff; line-height:1em; margin-bottom:30px; }
.sc01_txt > h1 > strong{ font-weight:400; font-size:120px; }
.sc01_kicker{ display:block; font-size:clamp(18px, .32em, 32px); font-weight:400; line-height:1.4; margin-bottom:.35em; }
.sc01_txt > p{ font-size:18px; font-weight:200; color:#fff; line-height:1.5em; }
.sc01_txt > h4{ position:absolute; z-index:1; right:78px; top:50%; transform:translate(66px, 0) rotate(90deg); font-family:'eg'; font-size:16px; font-weight:400; color:#fff; line-height:1em; }

@media(max-width:1280px){
	.sc01_fr{ padding:150px 80px 60px; }
	.sc01_txt > h1{ font-size:80px; }
	.sc01_txt > h4{ right:37px; }
}
@media(min-width:1025px){
	#sc01Sli{ width:100%; }
	.sc01Sli > .sc01img{ width:100%; transform:none; -webkit-mask-image:none; }
	.sc01_fr{ min-height:0; height:clamp(400px, 50vh, 540px); box-sizing:border-box; padding:clamp(160px, 20vh, 216px) 100px 30px; align-items:flex-start; }
	/* Anchor the large title at 40% of the cover; keep the kicker above it. */
	#sc01 .sc01_txt > h1{ position:relative; }
	#sc01 .sc01_kicker{ position:absolute; bottom:100%; left:0; }
	.sc01_kicker{ margin-left:35px; }
}
@media(max-width:850px){
	.sc01_fr{ padding:150px 15px 40px; align-items:flex-end; background:linear-gradient(to bottom, rgba(51,51,51,.4) 0%, rgba(51,51,51,.5) 50%, rgba(51,51,51,.8) 100%); }
	.sc01_txt{ max-width:500px; }
	.sc01_txt > h4{ top:136px; }
}
@media(max-width:768px){
	.sc01_txt > h1{ font-size:60px; margin-bottom:20px; }
	.sc01_txt > p{ font-size:16px; }
}
@media(max-width:600px){
	#sc01Sli{ left:-150%; right:-150%; }
	.sc01_txt > h1{ font-size:max(10vw, 45px); }
	.sc01_txt > p{ font-size:14px; }
}



/*sc02*/
#sc02{ padding:200px 20px; background-color:#fff; }
#sc02 > .sc_con{ max-width:1200px; }
@media(min-width:1025px){
	#sc02{ padding-top:48px; padding-bottom:48px; }
	#sc02 > .sc_con{ max-width:1440px; }
	#sc02 .sc02_txt.txt01{ max-width:600px; }
	#sc02 .sc02_iw{ max-width:560px; }
}
.sc02_pw{ display:flex; flex-flow:row wrap; justify-content:center; }
.sc02_pw:not(:last-child){ margin-bottom:40px; }
.sc02_pt.lf{ width:66.66666667%; display:flex; justify-content:flex-end; align-items:flex-end; padding:0 40px 40px 0; }
.sc02_txt{ overflow:hidden; word-break:keep-all; }
.sc02_txt.txt01{ max-width:480px; width:100%; text-align:right; }
.sc02_txt.txt01 > h2{ padding-right:7px; font-family:'nm'; font-size:50px; font-weight:300; color:#111; line-height:1.2em; margin-bottom:20px; transform:translate(105%, 0); transition:1s transform; }
.sc02_txt.txt01 > p{ font-size:16px; font-weight:300; color:#333; line-height:1.7em; transform:translate(105%, 0); transition:1s transform 0.2s; }
.sc02_txt.act.txt01 > h2{ transform:translate(0, 0); }
.sc02_txt.act.txt01 > p{ transform:translate(0, 0); }
.sc02_pt.rt{ width:33.33333333%; padding-bottom:40px; }
.sc02_img{ position:relative; z-index:1; background-color:#fff; background-position:center; background-size:cover; background-repeat:no-repeat; box-shadow:0 0 0 0 rgba(0,0,0,.25); transition:0.5s box-shadow 0.5s; }
.sc02_img.act{ box-shadow:10px 10px 15px 0 rgba(0,0,0,.25); }
.sc02_img:after{ content:''; position:absolute; z-index:1; top:0; bottom:0; left:0; right:0; background-color:#fff; transition:0.5s top, 0.5s bottom, 0.5s left, 0.5s right; }
.sc02_img.img01{ width:100%; padding-top:135%; background-image:url(../img/main/02-01.jpg); }
.sc02_img.img01.act:after{ top:100%; }

.sc02_pt2.lf{ width:60%; }
.sc02_img.img02{ width:100%; padding-top:62%; background-image:url(../img/main/02-02.jpg); margin:0 0 40px; }
.sc02_img.img02.act:after{ right:100%; }

.sc02_pt2.rt{ width:40%; padding:0 0 0 40px; }
.sc02_txt.txt02{ width:100%; padding:0 0 40px 0; word-break:keep-all; }
.sc02_txt.txt02 > h3{ font-family:'nm'; font-size:50px; font-weight:300; color:#111; line-height:1.1em; margin-bottom:20px; transform:translate(-105%, 0); transition:1s transform; }
.sc02_txt.txt02 > p{ font-size:16px; font-weight:300; color:#333; line-height:1.7em; transform:translate(-105%, 0); transition:1s transform 0.2s; }
.sc02_txt.txt02.act > h3{ transform:translate(0, 0); }
.sc02_txt.txt02.act > p{ transform:translate(0, 0); }


.sc02_pt3.ct{ max-width:450px; width:100%; }
.sc02_img.img03{ width:100%; padding-top:100%; background-image:url(../img/main/02-03.jpg); }
.sc02_img.img03.act:after{ top:100%; }

.sc02_iw{ max-width:450px; width:100%; margin:0 0 0 auto; }
.sc02_img.img04{ width:100%; padding-top:72%; background-image:url(../img/main/02-04.jpg); }
.sc02_img.img04.act:after{ left:100%; }

@media(max-width:850px){
	#sc02{ padding:150px 15px; }
	.sc02_pt.lf{ width:100%; padding:0 0 40px; }
	.sc02_pt.rt{ width:100%; padding:0; }
	.sc02_pt2.lf{ width:100%; padding-bottom:40px; }
	.sc02_pt2.rt{ width:100%; padding:0; }
	.sc02_img.img01{ padding-top:60%; }
	.sc02_img.img03{ padding-top:80%; }
	.sc02_txt.txt01{ padding-right:0; }
	.sc02_txt.txt01 > h2{ font-size:40px; margin-bottom:15px }
	.sc02_txt.txt01 > p{ font-size:16px; }
	
	.sc02_txt.txt02{ padding-left:0; }
	.sc02_txt.txt02 > h3{ font-size:40px; margin-bottom:15px }
	.sc02_txt.txt02 > p{ font-size:16px; }

}
@media(max-width:600px){
	.sc02_pt.rt{ max-width:370px; width:100%; padding:0 0 20px; margin:0 0 0 auto; }
	.sc02_pt2.lf{ width:100%; }

	.sc02_txt.txt01 > h2{ font-size:32px; }
	.sc02_txt.txt01 > p{ font-size:14px; }

	.sc02_txt.txt02 > h3{ font-size:32px; }
	.sc02_txt.txt02 > p{ font-size:14px; }
}



@media (max-width:1024px) {
	#sc02 {
		padding-top:48px;
	}
}

@media (min-width:1025px) and (max-width:1599px),
(min-width:1025px) and (max-height:900px){
	#sc01 .sc01_fr{ height:clamp(400px, 50vh, 540px); padding:clamp(160px, 20vh, 216px) 64px 30px; }
	#sc01 .sc01_txt{ max-width:620px; }
	#sc01 .sc01_txt > h1{ font-size:clamp(64px, 5.7vw, 82px); line-height:1.05; margin-bottom:22px; }
	#sc01 .sc01_kicker{ margin-left:28px; margin-bottom:18px; }
	#sc01 .sc01_txt > p{ font-size:16px; line-height:1.6; max-width:560px; }
	#sc02 .sc02_pt.lf{ justify-content:flex-start; align-items:flex-start; }
	#sc02 .sc02_txt.txt01{ max-width:600px; text-align:left; }
	#sc02 .sc02_txt.txt01 > h2, #sc02 .sc02_txt.txt01 > p{ transform:none; opacity:1; transition:none; }
}

@media (min-width:1025px) and (max-height:900px) {
	#sc02 .sc02_pt.lf {
		justify-content:flex-end;
	}
}

/*sc03*/
#sc03{ position:relative; z-index:1; overflow:hidden; background-color:#333; }

.sc03Sli1{ position:relative; z-index:1; overflow:hidden; height:auto !important; background-color:#333; display:flex; }
.sc03_bg{ position:absolute; top:0; bottom:0; left:0; right:0; background-position:center; background-size:cover; background-repeat:no-repeat; overflow:hidden; transform:scale(1.2); transition:0s transform 0.5s; }
.sc03Sli1.swiper-slide-active .sc03_bg{ transform:scale(1); transition:5s transform 0s; }
.sc03_bg:after{ content:''; position:absolute; top:0; left:0; width:200%; height:100%; transform:translate(0, 0); background:linear-gradient(to right, rgba(51,51,51,1) 0%, rgba(51,51,51,1) 50%, rgba(51,51,51,0)100%); transition:1s transform linear; }
.sc03Sli1.swiper-slide-active .sc03_bg:after{ transform:translate(-100%, 0); transition:1s transform linear; }

.sc03_bg.bg01{ background-image:url(../img/main/03-01.jpg); }
.sc03_bg.bg02{ background-image:url(../img/main/03-02.jpg); }
.sc03_bg.bg03{ background-image:url(../img/main/03-03.jpg); }
.sc03_bg.bg04{ background-image:url(../img/main/03-04.jpg); }
.sc03_bg.bg05{ background-image:url(../img/main/03-05.jpg); }
.sc03_bg.bg06{ background-image:url(../img/main/03-06.jpg); }
.sc03_fr{ position:relative; z-index:10; min-height:100vh; width:100%; padding:150px 370px 150px 100px; background:rgba(0,0,0,.5); display:flex; align-items:center; }
.sc03_txt{ max-width:770px; width:95%; word-break:keep-all; }
.sc03_txt > h3{ font-family:'nm'; font-size:60px; font-weight:300; color:#fff; line-height:1em; margin-bottom:20px; transform:translate(-150px, 0); opacity:0; transition:0s transform 0.5s, 0s opacity 0.5s; }
.sc03_txt > p{ font-size:20px; font-weight:300; color:#eee; line-height:1.7em; margin-bottom:40px; transform:translate(-150px, 0); opacity:0; transition:0s transform 0.5s, 0s opacity 0.5s; }
.sc03_txt > a{ display:inline-block; border:1px solid #fff; border-radius:100px; padding:14px 40px; font-size:18px; font-weight:300; color:#fff; transform:translate(-150px, 0); opacity:0; transition:0s transform 0.5s, 0s opacity 0.5s, 0.3s background-color, 0.3s border; }
.sc03_txt > a:hover{ background-color:#ca3b3f; border:1px solid #ca3b3f; }

.sc03Sli1.swiper-slide-active .sc03_txt > h4{ transform:translate(0, 0); opacity:1; transition:0.8s transform 0s, 0.8s opacity 0s; }
.sc03Sli1.swiper-slide-active .sc03_txt > h3{ transform:translate(0, 0); opacity:1; transition:0.8s transform 0.15s, 0.8s opacity 0.15s; }
.sc03Sli1.swiper-slide-active .sc03_txt > p{ transform:translate(0, 0); opacity:1; transition:0.8s transform 0.3s, 0.8s opacity 0.3s; }
.sc03Sli1.swiper-slide-active .sc03_txt > a{ transform:translate(0, 0); opacity:1; transition:0.8s transform 0.45s, 0.8s opacity 0.45s, 0.3s background-color, 0.3s border; }

#sc03pg{ position:absolute; z-index:1; left:60px; bottom:60px; width:auto; font-family:'nm'; font-size:20px; font-weight:300; color:#fff; }

#sc03Sli2{ position:absolute; bottom:60px; right:60px; max-width:250px; width:40%; overflow:visible; }
.sc03_tmb{ position:relative; z-index:1; width:100%; padding-top:56.25%; background-position:center; background-size:cover; background-repeat:no-repeat; box-shadow:7px 7px 15px 0 rgba(0,0,0,.2); overflow:hidden; transform:translate(75%, 0); opacity:0; transition:1s transform, 1s opacity; cursor:pointer; }
.sc03Sli2.swiper-slide-active .sc03_tmb{ transform:translate(0, 0); opacity:1; }
.sc03_tmb:after{ content:''; position:absolute; top:0; right:0; width:200%; height:100%; transform:translate(0, 0); background:linear-gradient(to right, rgba(51,51,51,0) 0%, rgba(51,51,51,1) 50%, rgba(51,51,51,1)100%); transition:1s transform linear; }
.sc03Sli2.swiper-slide-active .sc03_tmb:after{ transform:translate(100%, 0); transition:1s transform linear; }

.sc03_tmb.tmb01{ background-image:url(../img/main/03-01.jpg); }
.sc03_tmb.tmb02{ background-image:url(../img/main/03-02.jpg); }
.sc03_tmb.tmb03{ background-image:url(../img/main/03-03.jpg); }

.sc03_tmt{ text-align:right; word-break:keep-all; margin-bottom:20px; opacity:0; transition:0.5s opacity; }
.sc03Sli2.swiper-slide-active .sc03_tmt{ opacity:1; }
.sc03_tmt > h4{ font-family:'nm'; font-size:16px; font-weight:300; color:#aaa; line-height:1em; margin-bottom:5px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.sc03_tmt > h3{ font-family:'nm'; font-size:20px; font-weight:400; color:#fff; line-height:1.2em; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }

@media(max-width:1280px){
	.sc03_fr{ padding:150px 20px 210px 80px; }
	#sc03pg{ bottom:40px; left:20px; }
	#sc03Sli2{ max-width:200px; bottom:40px; right:20px; }
}

@media(max-width:850px){
	.sc03_fr{ padding:150px 20px 210px; }
	.sc03_txt > h3{ font-size:50px; }
	.sc03_txt > p{ font-size:18px; }
}

@media(max-width:600px){
	.sc03_fr{ padding:150px 20px 100px; align-items:flex-end; }
	.sc03_txt > h3{ font-size:40px; }
	.sc03_txt > p{ font-size:14px; }
	.sc03_txt > a{ padding:10px 30px; font-size:16px; }
	#sc03Sli2{ display:none; }
}



@media(min-width:1025px){
	#sc03 .sc03_fr{ min-height:0; height:45vh; box-sizing:border-box; padding:20px 370px 20px 100px; }
	#sc03 .sc03_txt > h3{ font-size:clamp(32px, 3vw, 44px); line-height:1.1; margin-bottom:12px; }
	#sc03 .sc03_txt > p{ font-size:clamp(16px, 1.2vw, 18px); line-height:1.5; margin-bottom:20px; }
	#sc03Sli2 .sc03_tmt{ opacity:0; visibility:hidden; pointer-events:none; transition:none; }
	#sc03Sli2 .swiper-slide-active .sc03_tmt{ opacity:1; visibility:visible; pointer-events:auto; transition:0.2s opacity; }
}
@media(min-width:1025px) and (max-width:1280px){
	#sc03 .sc03_fr{ padding:20px 260px 28px 80px; }
}

/*sc04*/
#sc04{ padding:150px 60px; background-color:#f7f7f7; }
#sc04 > .sc_con{ max-width:1200px; }
.sc04_tt{ text-align:center; word-break:keep-all; max-width:600px; width:100%; margin:0 auto 80px; }
.sc04_tt > h2{ font-family:'nm'; font-size:60px; font-weight:300; color:#333; line-height:1em; margin-bottom:20px; letter-spacing:0.5em; text-indent:0.5em; opacity:0; transition:1s letter-spacing, 1s text-indent, 1s opacity; }
.sc04_tt > p{ font-size:16px; font-weight:300; color:#666; line-height:1.7em; opacity:0; transform:translate(0, 50px); transition:1s opacity, 1s transform; }

.sc04_tt.act > h2{ letter-spacing:0; text-indent:0; opacity:1; }
.sc04_tt.act > p{ opacity:1; transform:translate(0, 0); }

.sc04_pw{ margin:0 -30px 100px; display:flex; flex-flow:row wrap; justify-content:center; }
.sc04_pt{ width:33.33333333%; padding:0 30px; }
.sc04_pb{ max-width:200px; width:100%; margin:0 auto; }
.sc04_pt.w_100{ width:100%; padding:0 30px 60px; }
.sc04_pt.w_100 > .sc04_pb{ max-width:200px; }
.sc04_img{ border-radius:100%; overflow:hidden; margin:0 auto 20px; box-shadow:3px 3px 6px rgba(0,0,0,.15); }
.sc04_img > img{ display:block; width:100%; }
.sc04_txt{ text-align:center; word-break:keep-all; }
.sc04_txt > h4{ font-family:'nm'; font-size:20px; font-weight:300; color:#666; line-height:1em; margin-bottom:5px; }
.sc04_txt > h3{ font-family:'nm'; font-size:24px; font-weight:500; color:#333; line-height:1em; }

.sc04_btn{ text-align:center; }
.sc04_btn > a{ display:inline-block; border:1px solid #333; border-radius:100px; padding:14px 40px; font-size:18px; font-weight:300; color:#333; transition:0.3s background-color, 0.3s border; }
.sc04_btn > a:hover{ background-color:#ca3b3f; border:1px solid #ca3b3f; color:#fff; }

@media(max-width:1280px){
	#sc04{ padding:150px 20px; }
}
@media(min-width:1025px){
	#sc04{ padding-top:80px; padding-bottom:80px; }
	#sc04 .sc04_tt{ margin-bottom:40px; }
}
@media(max-width:991px){
	.sc04_pw{ margin:0 -20px 100px; }
	.sc04_pt{ padding:0 20px; }
}
@media(max-width:550px){
	.sc04_pw{ margin:0 -20px 80px; }
	.sc04_tt > h2{ font-size:10vw; margin-bottom:10px; }
	.sc04_tt > p{ font-size:14px; }

	.sc04_pt{ width:50%; padding:0 20px; }
	.sc04_pt:not(:last-child){ padding:0 20px 40px; }
}

@media (max-width:1024px) {
	#sc02 {
		padding-bottom:60px;
	}

	#sc04 {
		padding-top:70px;
		padding-bottom:40px;
	}

	#sc04 .sc04_tt {
		margin-bottom:40px;
	}
}

@media (max-width:1024px) {
	#sc03 .sc03_fr {
		min-height:70vh;
		padding-top:60px;
	}
}
@media (max-width:600px) {
	#sc02 { padding-bottom:32px; }
	#sc02 .sc02_pt.lf { padding-bottom:32px; }
	#sc02 .sc02_pt.rt { padding-bottom:32px; }
	#sc02 .sc02_img.img02 { margin-bottom:32px; }
	#sc02 .sc02_pt2.lf { padding-bottom:32px; }
	#sc02 .sc02_txt.txt02 { padding-bottom:32px; }
	#sc03 .sc03_fr {
		padding-bottom:70px;
	}
}

/* Photo band between MARKET and footer */
.market_photo_pair {
	display:grid;
	grid-template-columns:minmax(0, 1fr);
	grid-auto-rows:1fr;
	gap:0;
}
.market_photo_band {
	width:100%;
	height:auto;
	margin:0;
	padding:0;
	background-image:url(../img/main/market-background.png);
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center center;
}

#sc04 .sc04_tt > h2 { color:#222; font-weight:700; }
#sc04 .sc04_tt > p { color:#333; font-weight:600; }
#sc04 .sc04_btn > a:not(:hover) {
	color:#222;
	border-color:#222;
}
#sc04 .sc04_btn > a { font-weight:600; }

/* Mobile cover only: preserve photo framing and align the large title near y=150px. */
@media (max-width:1024px) {
    /* Existing 80px H1: kicker 25.6px * (1.4 line-height + .35 margin). */
    #sc01 .sc01_fr { height:auto; min-height:450px; box-sizing:border-box; align-items:flex-start; padding:105.2px 20px 40px; }
    @media (max-width:768px) {
        /* Existing 60px H1: kicker 19.2px, total space 33.6px. */
        #sc01 .sc01_fr { padding-top:116.4px; }
    }
    @media (max-width:600px) {
        /* Existing H1 max(10vw, 45px), kicker max(3.2vw, 18px). */
        #sc01 .sc01_fr { padding-top:calc(150px - max(31.5px, 5.6vw)); }
    }
}

/* Small-phone MARKET spacing; keep the photo band's previous content-driven height. */
@media (max-width:600px) {
    .main_sec_wrap .market_photo_pair > #sc04 { padding-top:50px; padding-bottom:28px; }
    /* Equal tracks shrink by 32px; reserve the photo's 32px extension below them. */
    .main_sec_wrap .market_photo_pair { padding-bottom:32px; }
    .main_sec_wrap .market_photo_pair > .market_photo_band { height:calc(100% + 32px); }
}
