
.cp-button{padding-right:80px;padding-left:80px;letter-spacing:.05em;justify-content:flex-start}
.cp-button-box>.cp-button{margin:0;min-height:0}
.cp-feature-body .cp-button-box{margin-top:28px}
.cp-contact .cp-section-heading{display:flex;width:auto;justify-content:flex-end}

#main{overflow-x:clip}
.cp-contact-cta{margin-top:clamp(39px,7.083vw,102px)}
.cp-contact-cta .cp-contact-card{margin:0 auto}
.cp-contact-card h3>span{letter-spacing:.05em}
.cp-contact-bottom .cp-button-box{margin-left:84px}
.cp-contact-bottom .cp-button{display:inline-flex}
@media(min-width:897px){.cp-recruit .cp-section-heading{padding-left:130px;padding-right:130px}}
@media(max-width:896px){
 .cp-feature-body .cp-button-box{text-align:center}
 .cp-contact .cp-section-heading{display:block}
 .cp-contact-cta{max-width:400px;margin:50px auto 0}
 .cp-contact-numbers span{font-size:clamp(13px,1.250vw,18px)}
 .cp-contact-numbers small{font-size:clamp(10px,1.042vw,15px)}
 .cp-contact-numbers strong{font-size:clamp(19px,2.986vw,43px)}
 .cp-contact-bottom .cp-button-box{margin:30px 0 0}
 .cp-contact-bottom .cp-button{padding:16px 0;font-size:14px}
}
@media(max-width:1010px){.cp-contact-bottom .cp-button-box span{text-align:center;line-height:1.3}}
.cp-recruit-bottom .cp-inline-link{padding:0;margin-top:clamp(49px,6.806vw,98px);font-weight:700;font-size:10px;line-height:1;letter-spacing:.3125px}
.cp-footer-groups h2{font-size:22px;font-weight:900;letter-spacing:.04em}
.cp-footer-groups h2::before{top:50%;transform:translateY(-50%)}
.cp-footer-source{display:block;width:max-content;max-width:100%;padding:10px 16px 10px 24px;font-size:17px;font-weight:600;line-height:1;letter-spacing:.05em;color:#000;justify-self:start}
.cp-footer-source::before{content:none}
.cp-source-text{display:inline-block;position:relative}
.cp-source-text::before{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:1px;background:#000;transform:scaleX(0);transform-origin:right top;transition:transform .3s cubic-bezier(.075,.82,.165,1)}
.cp-footer-source::after{content:"↗";position:absolute;right:0;top:50%;transform:translateY(-50%);font:700 14px/1 var(--cp-en)}
.cp-footer-signature strong{font:700 10px/1 var(--cp-en)}
.cp-footer-signature strong>span{font-size:10.5714285714vw;letter-spacing:.04em;font-weight:900;line-height:.94}
.cp-footer-signature strong>span:last-child{display:inline-block}

.cp-inline-link{gap:normal;font-size:10px;line-height:1;letter-spacing:.3125px}.cp-inline-link .cp-link-text{font-size:20px;letter-spacing:.05em;text-align:justify}.cp-inline-link .cp-dot{margin-left:20px}
.cp-section-heading-row>.cp-inline-link .cp-link-text{letter-spacing:.05em}
.cp-news-list time{letter-spacing:.3125px}
.cp-contact-numbers strong{display:inline;font-weight:800}
.cp-contact-bottom h3{display:flex;align-items:center;gap:8px}
.cp-footer-groups h2,.cp-footer-groups li a{font-family:var(--cp-en);font-weight:900}
.cp-footer-groups li a{letter-spacing:.3125px}
@media(min-width:897px){
 .cp-section-heading-row{align-items:center}
 .cp-section-heading-row>.cp-inline-link{padding-bottom:0;margin-top:32px}
 .cp-contact-numbers{display:flex;justify-content:space-between}
 .cp-contact-numbers>a{display:block;text-align:left;padding:0}
 .cp-contact-numbers>a:not(:last-child){padding-right:clamp(10px,2.639vw,38px)}
 .cp-contact-numbers>a>span,.cp-contact-numbers>a>small{display:block;text-align:justify}
 .cp-footer-groups h2{padding-left:28px}
 .cp-footer-groups h2::before{left:0}
}
@media(min-width:897px){.cp-footer-source:hover .cp-source-text::before{transform:scaleX(1);transform-origin:left top}}

@media(max-width:896px){
 .cp-button{padding:16px 0;max-width:400px;justify-content:center}
 .cp-recruit-bottom .cp-inline-link{width:100%;margin-top:16px;font-size:10px;justify-content:center}
 .cp-mobile-film-title .cp-kicker{line-height:1}
 .cp-mobile-film-title h2{font-size:10px;line-height:10px;letter-spacing:.3125px}
 .cp-mobile-film-title h2 small{line-height:1.4;letter-spacing:.05em}
 .cp-mobile-film-title h2>span{line-height:1.4;letter-spacing:.05em}
 .cp-mobile-film-title h2::before{z-index:1}
 .cp-mobile-film-title h2 small,.cp-mobile-film-title h2>span{z-index:2}
 .cp-mobile-film-title h2>span::after{position:absolute;right:-26px;bottom:-22px;padding:0}
 .cp-film-tour .cp-mobile-film-title h2>span::after{right:4px}
 .cp-footer-groups h2{font-size:20px}
 .cp-footer-source{display:inline-block;margin-top:40px;font-size:15px}
 .cp-footer-signature strong>span{font-size:11.7333333333vw}
 .cp-contact-numbers>a{display:block}
 .cp-contact-numbers>a>span,.cp-contact-numbers>a>small{display:block;text-align:center}
 .cp-contact-bottom h3{font-size:18px;justify-content:center}
}


.cp-feature-body h4,.cp-news-list b{text-align:justify}
.cp-recruit-bottom h3{min-height:0}
.cp-footer-wrap{display:flex;justify-content:space-between;align-items:stretch;margin-top:50px}
.cp-footer-links{display:flex;flex:0 1 auto;flex-direction:column;justify-content:space-between;align-items:flex-start}
.cp-footer-head-layout{display:flex;flex-wrap:wrap;padding-left:13px;letter-spacing:.3125px}
.cp-footer-groups{display:contents}
.cp-footer-groups>div{display:block;margin:0 87px 50px 0}
.cp-footer-groups h2{width:max-content}
.cp-footer-groups ul{display:flex;flex-direction:column;height:160px;border-left:1px solid #b1babe;margin:30px 0 0 4px;padding-left:40px}
.cp-footer-groups li a{display:inline}
.cp-footer-direct{display:block;margin:0 8px 50px 0;font:700 10px/1 var(--cp-ja)}
.cp-footer-direct li a{display:inline-block;font:900 16px/1 var(--cp-en);letter-spacing:.3125px}
.cp-footer-direct li:not(:last-child){margin-bottom:23px}
.cp-footer-source{font-family:var(--cp-en);align-self:auto}
.cp-footer-signature strong{text-align:justify}
.cp-footer-caption{display:inline-block;font:700 clamp(12px,1.597vw,23px)/1.4 var(--cp-ja);letter-spacing:.31em;margin-left:clamp(22px,3.750vw,54px)}
.cp-footer-caption:empty::before{content:"\200B\A\200B\A\200B";white-space:pre}
@media(max-width:1010px){.cp-footer-groups>div{margin-right:30px}.cp-footer-groups ul{padding-left:24px}}
@media(max-width:896px){
 .cp-footer-wrap{display:block;margin-top:60px}
 .cp-footer-links{display:block}
 .cp-footer-head-layout{padding-left:0;justify-content:space-between;max-width:400px;margin:auto}
 .cp-footer-groups>div{width:46%;margin-right:0}
 .cp-footer-groups ul{height:auto;margin-top:20px;padding-left:30px}
 .cp-footer-direct{margin:0}
 .cp-footer-caption{font-size:clamp(10px,1.389vw,20px)}
}

@media(max-width:896px){.cp-inline-link,.cp-mobile-film-body>a{font-size:10px;gap:normal;letter-spacing:.3125px}.cp-inline-link .cp-link-text{font-size:15px}.cp-film-media,.cp-tour-media{position:static;object-fit:cover}.cp-mobile-film-body{font-size:10px;line-height:1;letter-spacing:.3125px}}


.cp-news-list,.cp-news-articles{display:block}
.cp-news-list time{margin-right:45px}
.cp-news-articles>a>i{right:10px}
.cp-recruit{padding:0}
.cp-recruit-inner{padding:100px 0 164px}
.cp-recruit .cp-section-heading{display:flex;justify-content:space-between;max-width:1400px;margin:0 auto;padding:0 130px}
.cp-recruit-visual{margin-top:0;text-align:center}
.cp-recruit-visual>a{margin:50px auto 0;border-radius:20px}
.cp-recruit-bottom{display:flex;justify-content:space-between;align-items:center;gap:normal;max-width:1400px;margin:100px auto 0;padding:0 130px}
@media(max-width:896px){
 .cp-news-list time{margin-right:20px}
 .cp-recruit-inner{padding:80px 0}
 .cp-recruit .cp-section-heading{display:block;padding:0 5%}
 .cp-recruit-visual>a{margin-top:60px}
 .cp-recruit-bottom{display:block;margin-top:60px;padding:0 5%}
}


.cp-footer-promo{position:relative;overflow:hidden;aspect-ratio:auto;background:transparent}
.cp-footer-bg,.cp-footer-art{display:inline;width:auto;height:auto;vertical-align:bottom}
.cp-footer-bg{transition:transform .6s ease}
.cp-footer-promo>.cp-banner-label{position:absolute;left:0;top:0;bottom:auto;width:1px;height:1px;padding:0;border:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}


.cp-feature-title{position:static;max-width:none;gap:normal;letter-spacing:.3125px}
.cp-feature-title :is(b,h3,small){text-align:justify;white-space:normal}
.cp-footer-groups h2{display:block;position:static;width:auto;padding:0;font:700 10px/1 var(--cp-ja);letter-spacing:.3125px}
.cp-footer-groups h2::before{content:none}
.cp-footer-group-title{position:relative;padding-left:28px;font:900 22px/1 var(--cp-en);letter-spacing:.04em}
.cp-footer-group-title::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:10px;height:10px;border-radius:50%;background:var(--cp-accent)}
@media(max-width:896px){
 .cp-feature-title h3{margin-right:36px}
 .cp-feature-title small{margin-left:0}
 .cp-footer-group-title{font-size:20px;padding-left:24px}
}
