/* Responsive corrections use the viewport and a shared, bounded hero canvas. */
/* Complete program cards are fitted to this available width by revision.js. */
.department{overflow:clip}
.department .case_slide .list_in:focus-visible{outline-offset:-4px}
@media(max-width:1024px){
 .department,#skin.department{overflow:clip}
 .case_slide_wrap .case_slide .case_list,#skin .case_slide .case_list{width:calc(100% - 48px);margin-left:24px;margin-right:24px}
}
@media (min-width:1025px){
 #quick{position:fixed;left:auto;right:clamp(12px,1.5vw,32px);margin:0;top:calc(50dvh + 45px);bottom:auto;width:72px;scale:1;transform:translateY(-50%)}
 #quick .quick_list{margin:0;padding:18px 0 8px}
 #quick .quick_list li{margin-bottom:12px}
 #quick .quick_list li a{min-height:48px}
 #quick .quick_list li a .txt{font-size:11px}
 #quick #top{width:52px;height:52px;line-height:52px;margin:0 10px;min-height:52px}
 .care-design .care-inner,.care-design .care-toc{width:min(1200px,calc(100% - 184px))}
 #footer .w1400{width:min(1400px,calc(100% - 208px));margin-left:auto;margin-right:auto}
 .department .tit_box{width:100%;max-width:none;padding:0}
 .department .tit_box .tit_wrap{left:max(60px,calc((100vw - 1400px)/2));width:clamp(350px,calc(40vw - 60px),420px)}
 #skin .tit_box .tit_wrap{left:auto;right:max(120px,calc((100vw - 1430px)/2));width:clamp(350px,calc(40vw - 60px),420px)}
 #skin .case_slide .case_list{margin-left:clamp(60px,calc(50vw - 650px),150px)}
}
@media (min-width:1025px) and (max-height:650px){
 #quick .quick_list{padding:10px 0 4px}
 #quick .quick_list li{margin-bottom:4px}
 #quick .quick_list li:after{display:none}
 #quick .quick_list li a{min-height:46px;gap:3px}
 #quick .quick_list li a .txt{margin-top:0}
 #quick .icon img,#quick .icon svg{width:22px;height:22px}
 #quick #top{width:46px;height:46px;line-height:46px;min-height:46px;margin:0 13px}
}
@media (min-width:1600px){
 #mv_wrap{width:100%;margin:0;padding-bottom:0}
 #mv{width:170%;transform:translateX(-20.5882352941%)}
 #mv .mv_box{width:58.8235294118%;transform:translateX(35%)}
 #mv .mv_list_wrap .mv_list{height:clamp(700px,90vh,980px);min-height:0;max-height:980px}
 #mv .mv_list_wrap .mv_list .visual{width:auto;height:min(900px,calc(100% - 48px));aspect-ratio:3/2;inset:auto max(70px,calc((100vw - 1920px)/2 + 70px)) 0 auto;background-size:contain!important;background-position:center bottom!important;mask-image:linear-gradient(90deg,transparent 0,#000 20%,#000 96%,transparent 100%);transform-origin:right bottom}
 #mv .mv_list_wrap .mv_list .visual:after{display:block;height:60px}
 #mv .mv_list_wrap .mv_list .txt_wrap1{left:max(100px,calc((100vw - 1920px)/2 + 100px));width:620px;max-width:40%;top:34%;text-align:center}
 #mv .mv_list_wrap .mv_list .txt_wrap1 h2{font-size:clamp(58px,3.6vw,74px);line-height:1.18;letter-spacing:.5px}
 #mv .hero-kicker{font-size:clamp(16px,1vw,19px);margin-bottom:26px}
 #mv .hero-sub{font-size:clamp(18px,1.05vw,21px);margin-top:26px}
 #mv .slider_arrow_wrap{left:max(410px,calc((100vw - 1920px)/2 + 410px));bottom:100px}
 .hero-pause{left:max(400px,calc((100vw - 1920px)/2 + 400px));bottom:58px}
}
