/* Home only. Keep the original artwork, palette and layered composition.
   One design unit scales the desktop scene by both width and usable height. */
body.home-responsive{--home-u:clamp(.6px,min(.05181347vw,.09259259svh),1px);background:#202324 url('/sh_img/index/main_bg.jpg') repeat}
.home-responsive #sh_wrapper{max-width:none}
.home-responsive #main_bnr_area .main_bnr{width:calc(1770 * var(--home-u));height:calc(1760 * var(--home-u));margin:0 auto;overflow:visible}
.home-responsive .main_bnr .main_txt_box{width:calc(450 * var(--home-u));height:calc(1605 * var(--home-u));background:url('/sh_img/index/main_bg_red.png') repeat;box-shadow:5px 5px 15px #0003}
.home-responsive .main_bnr .main_txt_box .txt_box{top:calc(165 * var(--home-u));left:calc(247 * var(--home-u));width:calc(990 * var(--home-u))}
.home-responsive .main_bnr .main_txt_box .txt_box .main_tit{font-size:calc(83 * var(--home-u));line-height:1.12;white-space:nowrap;letter-spacing:-.025em;margin:0;text-shadow:0 2px 10px #0009}
.home-responsive .main_bnr .main_txt_box .txt_box .main_tit:before{top:30%;left:-40%;width:calc(620 * var(--home-u))}
.home-responsive .main_bnr .main_txt_box .txt_box .more_brn{margin-top:calc(30 * var(--home-u));min-height:44px;display:inline-flex;align-items:center;font-size:clamp(14px,calc(16 * var(--home-u)),16px)}
.home-responsive .main_bnr .main_txt_box .main_s_img{left:calc(170 * var(--home-u));bottom:calc(190 * var(--home-u));width:calc(530 * var(--home-u));height:calc(660 * var(--home-u))}
.home-responsive .main_bnr .main_txt_box .main_s_img img{display:block;width:100%;height:100%;object-fit:cover}
.home-responsive .main_bnr .main_txt_box .main_s_img:before{left:calc(-198 * var(--home-u));bottom:calc(152 * var(--home-u));font-size:calc(17 * var(--home-u))}
.home-responsive .main_bnr .main_txt_box .main_s_img:after{left:calc(-32 * var(--home-u));bottom:calc(340 * var(--home-u));height:calc(207 * var(--home-u))}
.home-responsive .main_bnr .main_txt_box .main_s_img .txt{left:15%;bottom:6%;font-size:calc(63 * var(--home-u));line-height:1.13}
.home-responsive .main_bnr .main_b_img{width:calc(1590 * var(--home-u));max-width:none;height:100%;right:0}
.home-responsive .main_bnr .main_b_img img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.home-responsive .main_bnr .main_b_img:before{right:calc(170 * var(--home-u))}
.home-responsive .main_bnr .pt_txt{top:calc(600 * var(--home-u));right:calc(62 * var(--home-u));font-size:calc(22 * var(--home-u));line-height:1.28}
.home-responsive .main_bnr .pt_txt:after{right:calc(-62 * var(--home-u));top:calc(-192 * var(--home-u));width:calc(505 * var(--home-u));height:calc(505 * var(--home-u))}
.home-responsive #main_bnr_area .bnr_num{top:calc(185 * var(--home-u));right:calc(135 * var(--home-u));bottom:auto;width:calc(95 * var(--home-u));height:calc(80 * var(--home-u))}
.home-responsive #main_bnr_area .bnr_num p{margin:0;line-height:1.2}
.home-responsive #main_bnr_area .bnr_num .b_num{font-size:calc(47 * var(--home-u))}
.home-responsive #main_bnr_area .bnr_num .total_num{font-size:clamp(12px,calc(14 * var(--home-u)),14px)}
.home-responsive .main_bnr .side_bar,.home-responsive .main_bnr .side_bar.rel{position:absolute;top:calc(156 * var(--home-u));bottom:auto;right:calc(-80 * var(--home-u));width:calc(80 * var(--home-u));height:calc(740 * var(--home-u))}
.home-responsive .main_bnr .side_bar .side_txt{left:50%;width:90px;margin:0;transform:translateX(-50%) rotate(90deg);font-size:13px}
.home-responsive #main_bnr_area .about_cont{width:calc(1400 * var(--home-u));max-width:none;height:auto;min-height:calc(330 * var(--home-u));padding:calc(64 * var(--home-u)) calc(698 * var(--home-u)) 60px 0}
.home-responsive .about_cont .about_txt{position:relative;top:auto;left:auto;right:auto;text-align:right}
.home-responsive .about_cont .about_txt .tit{font-size:clamp(21px,calc(26 * var(--home-u)),26px)}
.home-responsive .about_cont .about_txt .txt{white-space:normal;word-break:keep-all;color:rgba(255,255,255,.66)}
.home-responsive .about_cont .about_img{display:block;top:calc(-213 * var(--home-u));right:0;width:calc(580 * var(--home-u));height:calc(600 * var(--home-u))}
.home-responsive .about_cont .about_img img{display:block;width:100%;height:100%;object-fit:cover}
.home-responsive #idx_area{max-width:1930px;margin:0 auto}
.home-responsive #sh_hd{left:50%;width:calc(1930 * var(--home-u));transform:translateX(-50%)}
.home-responsive #top_area{max-width:none}
.home-responsive #top_area .top_nav_wrap .top_logo{left:calc(255 * var(--home-u))}
.home-responsive #top_area .tip_menu{right:calc(270 * var(--home-u))}
/* Tablet: keep the artwork behind the three-line title and the smaller artwork. */
@media(max-width:1024px){
 .home-responsive #sh_hd{left:0;width:100%;transform:none}
 .home-responsive #main_bnr_area .main_bnr{width:100%;height:clamp(780px,calc(100svh - 98px),1100px);margin:98px 0 0;overflow:hidden}
 .home-responsive .main_bnr .main_txt_box{width:100%;height:100%;background:none;box-shadow:none}
 .home-responsive .main_bnr .main_txt_box .txt_box{top:12%;left:7%;width:86%}
 .home-responsive .main_bnr .main_txt_box .txt_box .main_tit{font-size:clamp(32px,5vw,55px);text-shadow:0 2px 16px #0009}
 .home-responsive .main_bnr .main_txt_box .txt_box .main_tit:before{left:-15%;width:40%}
 .home-responsive .main_bnr .main_b_img{width:100%}
 .home-responsive .main_bnr .main_b_img:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,#0007,transparent 80%)}
 .home-responsive .main_bnr .main_b_img:before{display:none}
 .home-responsive .main_bnr .main_txt_box .main_s_img{display:block;left:7%;bottom:7%;width:36%;height:auto}
 .home-responsive .main_bnr .main_txt_box .main_s_img:before,.home-responsive .main_bnr .main_txt_box .main_s_img:after{display:none}
 .home-responsive .main_bnr .pt_txt{top:65%;right:6%;font-size:20px}
 .home-responsive .main_bnr .pt_txt:after{display:none}
 .home-responsive #main_bnr_area .bnr_num{top:12%;right:6%;width:65px;height:65px}
 .home-responsive #main_bnr_area .bnr_num .b_num{font-size:35px}
 .home-responsive .main_bnr .side_bar{display:none}
 .home-responsive #main_bnr_area .about_cont{width:100%;padding:60px 7%;min-height:0}
 .home-responsive .about_cont .about_txt{text-align:left}
 .home-responsive .about_cont .about_img{display:none}
 .home-responsive .about_cont .about_txt .tit:before{left:-20px;right:auto}
}
/* Phones: keep the image's center visible and place text on a quiet lower gradient. */
@media(max-width:640px){
 .home-responsive #main_bnr_area .main_bnr{height:clamp(500px,calc(100svh - 98px),720px)}
 .home-responsive .main_bnr .main_txt_box .txt_box{top:auto;bottom:110px;left:6%;width:88%}
 .home-responsive .main_bnr .main_txt_box .txt_box .main_tit{font-size:clamp(26px,4.8vw,32px);line-height:1.18}
 .home-responsive .main_bnr .main_txt_box .txt_box .more_brn{margin-top:12px;font-size:14px}
 .home-responsive .main_bnr .main_txt_box .main_s_img,.home-responsive .main_bnr .pt_txt{display:none}
 .home-responsive .main_bnr .main_b_img:after{background:linear-gradient(180deg,#0001 20%,#0002 40%,#000a 76%,#000b 100%)}
 .home-responsive #main_bnr_area .bnr_num{top:auto;bottom:25px;left:6%;right:auto;width:60px;height:52px}
 .home-responsive #main_bnr_area .bnr_num .b_num{font-size:28px}
 .home-responsive #main_bnr_area .bnr_num .total_num{font-size:12px}
 .home-responsive #main_bnr_area .about_cont{padding:48px 6%}
}
@media(prefers-reduced-motion:reduce){
 .home-responsive .main_bnr .main_b_img img{transform:none!important;transition:none!important}
}

/* Keep the off-center emblem intact on the branded slide. */
@media(max-width:640px){.home-responsive .main_bnr .main_b_img .img01 img{object-position:85% 50%}}

/* Keep navigation inside the scaled red column; retain contrast on light artworks. */
@media(min-width:1025px){.home-responsive #top_area .top_logo img{width:calc(250 * var(--home-u));height:auto}}
.home-responsive #main_bnr_area .bnr_num,.home-responsive .main_bnr .pt_txt,.home-responsive #top_area .tip_menu a{text-shadow:0 2px 8px #000b}
