@keyframes riseIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.hero__slides{position:absolute;inset:0}
.hero__slide{position:absolute;inset:0;opacity:0;z-index:0}
.hero__slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.12)}
.hero__slide.is-active{opacity:1;z-index:1}
.hero__slide.is-active img{animation:kenburns 9s linear forwards}
@keyframes kenburns{from{transform:scale(1.12) translateX(1.5%)}to{transform:scale(1) translateX(0)}}
.hero__curtain{position:absolute;inset:0;z-index:2;background:var(--main);transform:scaleX(0);transform-origin:left;pointer-events:none}
.hero__curtain.is-run{animation:curtain 1.3s cubic-bezier(.77,0,.18,1) forwards}
@keyframes curtain{0%{transform:scaleX(0);transform-origin:left}48%{transform:scaleX(1);transform-origin:left}52%{transform:scaleX(1);transform-origin:right}100%{transform:scaleX(0);transform-origin:right}}
@keyframes scrollLine{0%{transform:translateY(-100%)}60%,100%{transform:translateY(100%)}}
.cover{position:relative;overflow:hidden;background:var(--line)}
.cover img{width:100%;height:100%;object-fit:cover;transform:scale(1.15);transition:transform 1.4s var(--ease) .5s}
.cover::after{content:"";position:absolute;inset:0;background:var(--main);transform:scaleX(1);transform-origin:right;transition:transform 1s cubic-bezier(.77,0,.18,1) .2s;z-index:2}
.cover--sub::after{background:var(--sub)}
.cover.is-inview img{transform:none}
.cover.is-inview::after{transform:scaleX(0)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.is-inview{opacity:1;transform:none}
.reveal.d1{transition-delay:.12s}.reveal.d2{transition-delay:.24s}.reveal.d3{transition-delay:.36s}
.frame{position:relative;overflow:hidden;background:var(--line)}
.frame img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
a:hover .frame img{transform:scale(1.05)}
.zoomin{opacity:0;transform:translateY(20px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.zoomin img{transform:scale(1.08);transition:transform 1.6s var(--ease)}
.zoomin.is-inview{opacity:1;transform:none}
.zoomin.is-inview img{transform:none}
.faq__a{height:0;overflow:hidden;transition:height .5s var(--ease)}
.numbar{position:fixed;right:16px;bottom:16px;z-index:110;display:flex;align-items:center;gap:6px;padding:8px 10px;background:#fff;border:1px solid var(--line-strong);box-shadow:0 8px 24px rgba(0,0,0,.12);font-size:11px;font-weight:700}
.numbar button{padding:4px 10px;border:1px solid var(--line-strong)}
html.num-mode [data-num]{position:relative}
html.num-mode [data-num]::before{content:attr(data-num);position:absolute;left:0;top:0;z-index:50;padding:3px 8px;font-family:var(--ff-en);font-size:11px;font-weight:700;letter-spacing:.08em;line-height:1.3;color:#fff;background:#D6288A;pointer-events:none;box-shadow:0 2px 6px rgba(0,0,0,.25)}
html.num-mode p[data-num],html.num-mode h1[data-num],html.num-mode h2[data-num],html.num-mode h3[data-num],html.num-mode li[data-num],html.num-mode ul[data-num],html.num-mode dd[data-num],html.num-mode td[data-num],html.num-mode th[data-num],html.num-mode span[data-num],html.num-mode b[data-num],html.num-mode a.logo[data-num]{outline:1px dashed #D6288A;outline-offset:3px}
html.num-mode p[data-num]::before,html.num-mode h1[data-num]::before,html.num-mode h2[data-num]::before,html.num-mode h3[data-num]::before,html.num-mode li[data-num]::before,html.num-mode ul[data-num]::before,html.num-mode dd[data-num]::before,html.num-mode td[data-num]::before,html.num-mode th[data-num]::before,html.num-mode span[data-num]::before,html.num-mode b[data-num]::before,html.num-mode a.logo[data-num]::before{top:-22px}
html.num-mode .hero__slides[data-num]::before,html.num-mode .fcta__bg[data-num]::before,html.num-mode .philosophy__bg[data-num]::before,html.num-mode .phead__bg[data-num]::before{top:auto;bottom:16px;left:16px;font-size:13px;z-index:60}
html.num-mode .voice[data-num]::before{top:-22px}
html.num-mode .ftr [data-num]::before,html.num-mode .fcta__t[data-num]::before,html.num-mode .fcta__x[data-num]::before,html.num-mode .fcta__tel[data-num]::before,html.num-mode .fcta__lead[data-num]::before{top:auto;bottom:100%;margin-bottom:4px}
.jobacc__a{height:0;overflow:hidden;transition:height .5s var(--ease)}
.opening{position:fixed;inset:0;z-index:600;pointer-events:none;display:flex;align-items:center;justify-content:center}
body.is-opening{overflow:hidden}
.opening__a,.opening__b{position:absolute;background:var(--main)}
.opening__in{position:relative;z-index:2;text-align:center;color:#fff}
.opening__logo{font-size:clamp(26px,3.4vw,40px);font-weight:700;letter-spacing:.3em;color:#fff!important;opacity:0;transform:translateY(14px)}
.opening__tag{margin-top:14px;font-family:var(--ff-en);font-size:11px;font-weight:600;letter-spacing:.34em;text-transform:uppercase;color:rgba(255,255,255,.8)!important;opacity:0}
.opening.is-run .opening__logo{animation:opIn .9s var(--ease) .15s forwards,opOut .5s var(--ease) 1.45s forwards}
.opening.is-run .opening__tag{animation:opFade .8s var(--ease) .55s forwards,opOut .5s var(--ease) 1.45s forwards}
@keyframes opIn{to{opacity:1;transform:none}}
@keyframes opFade{to{opacity:1}}
@keyframes opOut{from{opacity:1;transform:none}to{opacity:0;transform:translateY(-10px)}}
html[data-opening="logo"] .opening__a{inset:0}
html[data-opening="logo"] .opening__b{display:none}
html[data-opening="logo"] .opening.is-run .opening__a{animation:opUp 1s cubic-bezier(.77,0,.18,1) 1.7s forwards}
@keyframes opUp{to{transform:translateY(-100%)}}
html[data-opening="split"] .opening__a{left:0;top:0;bottom:0;width:50.5%}
html[data-opening="split"] .opening__b{right:0;top:0;bottom:0;width:50.5%}
html[data-opening="split"] .opening.is-run .opening__a{animation:opL 1.1s cubic-bezier(.77,0,.18,1) 1.7s forwards}
html[data-opening="split"] .opening.is-run .opening__b{animation:opR 1.1s cubic-bezier(.77,0,.18,1) 1.7s forwards}
@keyframes opL{to{transform:translateX(-100%)}}
@keyframes opR{to{transform:translateX(100%)}}
html[data-opening="mask"] .opening__a{left:50%;top:50%;width:0;height:0;background:transparent;box-shadow:0 0 0 200vmax var(--main)}
html[data-opening="mask"] .opening__b{display:none}
html[data-opening="mask"] .opening.is-run .opening__a{animation:opWin 1.3s cubic-bezier(.77,0,.18,1) 1.6s forwards}
@keyframes opWin{0%{width:0;height:0;margin:0}35%{width:36vw;height:24vh;margin:-12vh 0 0 -18vw}100%{width:100vw;height:100vh;margin:-50vh 0 0 -50vw}}

html[data-hero="zoom"] .hero__curtain{display:none}
html[data-hero="zoom"] .hero__slide{transition:opacity 1.6s var(--ease)}
.dpanel{position:fixed;left:16px;bottom:16px;z-index:420;font-size:12.5px;color:var(--ink)}
.dpanel__toggle{padding:11px 16px;font-size:12.5px;font-weight:600;letter-spacing:.08em;color:#fff;background:var(--main);box-shadow:0 8px 24px rgba(0,0,0,.18)}
.dpanel__body{display:none;position:absolute;left:0;bottom:calc(100% + 8px);width:280px;padding:16px;background:#fff;border:1px solid var(--line-strong);box-shadow:0 12px 32px rgba(0,0,0,.16)}
.dpanel.is-open .dpanel__body{display:block}
.dpanel__row{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.dpanel__row>span{font-weight:600;color:var(--ink)}
.dpanel__row select{padding:8px 10px;font:inherit;font-size:13px;border:1px solid var(--line-strong);background:#fff;color:var(--ink)}
.dpanel__colors{display:flex;align-items:center;gap:8px}
.dpanel__colors button{width:26px;height:26px;background:var(--c);border:2px solid #fff;outline:1px solid var(--line-strong)}
.dpanel__colors button[aria-pressed="true"]{outline:2px solid var(--ink)}
.dpanel__colors input{width:32px;height:28px;padding:0;border:1px solid var(--line-strong);background:#fff}
.dpanel__reset{width:100%;padding:9px;font-size:12px;font-weight:600;border:1px solid var(--line-strong);color:var(--ink)}
:root{
  --bg:#FFFFFF;--bg-soft:#F3F2EF;--card:#FFFFFF;--black:#141414;--main:#7B5F45;--sub:var(--main);--dark:color-mix(in srgb,var(--main) 55%,#111);
  --main-2:color-mix(in srgb,var(--main) 62%,#fff);--main-3:color-mix(in srgb,var(--main) 32%,#fff);--main-soft:color-mix(in srgb,var(--main) 9%,#fff);
  --ink:#151515;--ink-soft:#55555A;--line:#E4E2DD;--line-strong:#C9C6BF;
  --ff-min:"Zen Kaku Gothic New","Noto Sans JP",sans-serif;--ff-jp:"Zen Kaku Gothic New","Noto Sans JP",sans-serif;--ff-en:"Inter Tight","Zen Kaku Gothic New",sans-serif;
  --fs-body:15.5px;--fs-lead:17px;--fs-note:13px;--pad-x:clamp(20px,4.2vw,64px);--side-w:224px;--top-h:0px;
  --r:0px;--r-s:0px;--ease:cubic-bezier(.22,.61,.36,1);--ease-out:cubic-bezier(.16,1,.3,1);--container:1200px
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}
body{padding-left:var(--side-w);font-family:var(--ff-jp);font-size:var(--fs-body);font-weight:500;line-height:1.95;color:var(--ink-soft);background:var(--bg);overflow-x:clip;letter-spacing:.03em}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul,ol{list-style:none}
h1,h2,h3,h4{font-family:var(--ff-jp);font-weight:700;color:var(--ink);line-height:1.55}
h1,h2,h3,h4,[class$="__t"],[class*="__t "],[class$="__catch"],[class*="__catch "],.vsl__q{text-wrap:balance;word-break:auto-phrase;overflow-wrap:anywhere}
p{font-size:var(--fs-body)}
.sp-only{display:none}
.num{font-family:var(--ff-en)}
.container{width:100%;max-width:calc(var(--container) + var(--pad-x) * 2);margin-inline:auto;padding-inline:var(--pad-x)}
.container--wide{max-width:calc(1280px + var(--pad-x) * 2)}
.container--narrow{max-width:calc(860px + var(--pad-x) * 2)}
.section{position:relative;padding-block:clamp(84px,9vw,132px)}
.section--sub{background:var(--bg-soft)}
.section--top{padding-top:clamp(72px,8vw,112px)}
.sec-foot{margin-top:clamp(44px,5vw,64px);text-align:center}
.note{margin-top:16px;font-size:var(--fs-note)}

.frame,.cover{isolation:isolate}
.cover::after{display:none}
.cover{background:var(--bg-soft)}
.cover img{clip-path:inset(100% 0 0 0);transform:scale(1.18);transition:clip-path 1.5s var(--ease-out) .1s,transform 2s var(--ease-out) .1s}
.cover.is-inview img{clip-path:inset(0 0 0 0);transform:none}
.reveal{transform:translateY(36px);transition:opacity 1.2s var(--ease-out),transform 1.4s var(--ease-out)}
.label,.shead__en{display:block;font-family:var(--ff-en);font-size:12.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;line-height:1.6;color:var(--main)}
.shead{margin-bottom:clamp(40px,4.6vw,60px)}
.shead>.label,.shead>div>.label{font-size:clamp(44px,5.4vw,84px);font-weight:600;letter-spacing:-.035em;text-transform:none;line-height:1.05;color:var(--ink)}
.shead__t{margin-top:12px;font-size:16px;font-weight:700;letter-spacing:.08em;line-height:1.6;color:var(--main)}
.shead--jp .shead__t,.shead--jp h2.shead__t{margin-top:12px;font-size:clamp(26px,2.7vw,38px);letter-spacing:.04em;line-height:1.55;color:var(--ink)}
.shead__t .ln,.shead__t .ln>span{display:inline}
.shead--jp .shead__t .ln{display:block}
.shead__x{margin-top:18px;font-size:var(--fs-lead)}
.shead--row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.more,.link-arrow{display:inline-flex;align-items:center;gap:10px;font-size:14.5px;font-weight:700;letter-spacing:.06em;color:var(--ink);transition:color .3s var(--ease)}
.more::after,.link-arrow::after{content:"";width:7px;height:7px;margin-right:3px;border-top:2px solid var(--main);border-right:2px solid var(--main);transform:rotate(45deg);transition:transform .35s var(--ease)}
.more:hover,a:hover .more,.link-arrow:hover{color:var(--main)}
a:hover .more::after,.more:hover::after,.link-arrow:hover::after{transform:translateX(4px) rotate(45deg)}

.btn{position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-width:260px;min-height:58px;padding:14px 26px 14px 30px;overflow:hidden;isolation:isolate;white-space:nowrap;font-family:var(--ff-jp);font-size:14.5px;font-weight:700;letter-spacing:.08em;line-height:1.4;color:#fff;background:var(--main);border-radius:0;transition:background .3s var(--ease),color .3s var(--ease),transform .3s var(--ease)}
.btn__arrow{display:block;flex:none;width:7px;height:7px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);transition:transform .35s var(--ease)}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--black);transform:scaleX(0);transform-origin:right;transition:transform .6s var(--ease-out)}
.btn:hover::before{transform:scaleX(1);transform-origin:left}
.btn:hover{background:var(--main)}
.btn:hover .btn__arrow{transform:translateX(4px) rotate(45deg)}
.btn--fill{background:var(--main);color:#fff}
.btn--dark{background:var(--black)}
.btn--dark::before{background:var(--main)}
.btn--white{background:#fff;color:var(--ink)}
.btn--white::before{background:var(--main)}
.btn--white:hover{background:#fff;color:#fff}
.btn--line{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.7)}
.btn--line::before{background:#fff}
.btn--line:hover{background:transparent;color:var(--ink)}
.btn--block{width:100%;min-width:0}

.side{position:fixed;left:0;top:0;bottom:0;z-index:160;width:var(--side-w);display:flex;flex-direction:column;padding:34px 26px 26px;background:#fff;border-right:1px solid var(--line);overflow-y:auto}
.logo{display:block;color:var(--ink);line-height:1}
.logo__txt{display:flex;flex-direction:column;gap:9px}
.logo .logo__word{font-family:var(--ff-en);font-size:26px;font-weight:700;letter-spacing:.2em}
.logo small{font-family:var(--ff-en);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}
.logo--img img{height:44px;width:auto}
.side__nav{margin-top:40px}
.gnav__list li+li{margin-top:2px}
.gnav__list a{display:flex;flex-direction:column-reverse;gap:1px;padding:8px 0;font-size:11.5px;font-weight:500;letter-spacing:.08em;line-height:1.5;color:var(--ink-soft);transition:color .3s var(--ease)}
.gnav__list small{font-family:var(--ff-en);font-size:17px;font-weight:600;letter-spacing:-.01em;color:var(--ink);transition:color .3s var(--ease),transform .35s var(--ease)}
.gnav__list a:hover small{color:var(--main);transform:translateX(4px)}
.gnav__list a[aria-current="page"] small{color:var(--main)}
.side__foot{margin-top:auto;padding-top:24px}
.side__foot .btn{width:100%;min-width:0;min-height:50px;padding:12px 16px 12px 18px;font-size:12.5px;letter-spacing:.04em}
.side__tel{margin-top:18px;font-family:var(--ff-en);font-size:18px;font-weight:700;letter-spacing:.02em;color:var(--ink)}
.side__hours{font-size:11.5px;line-height:1.8}
.burger{display:none;width:44px;height:44px;align-items:center;justify-content:center}
.burger__lines{position:relative;width:24px;height:14px}
.burger__lines i{position:absolute;left:0;width:100%;height:2px;border-radius:2px;background:var(--ink);transition:transform .35s var(--ease),opacity .35s var(--ease),top .35s var(--ease)}
.burger__lines i:nth-child(1){top:0}.burger__lines i:nth-child(2){top:6px}.burger__lines i:nth-child(3){top:12px}
body.menu-open .burger__lines i:nth-child(1){top:6px;transform:rotate(45deg)}
body.menu-open .burger__lines i:nth-child(2){opacity:0}
body.menu-open .burger__lines i:nth-child(3){top:6px;transform:rotate(-45deg)}
.drawer{position:fixed;inset:0;z-index:150;display:flex;flex-direction:column;justify-content:space-between;gap:28px;padding:92px 24px 40px;background:var(--bg);opacity:0;visibility:hidden;overflow-y:auto;transition:opacity .45s var(--ease),visibility .45s}
body.menu-open .drawer{opacity:1;visibility:visible}
.drawer__list a{display:flex;align-items:baseline;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line);font-size:13px;font-weight:500;color:var(--ink-soft)}
.drawer__list small{order:-1;font-family:var(--ff-en);font-size:22px;font-weight:700;color:var(--ink)}
.drawer__list li{opacity:0;transform:translateY(10px)}
body.menu-open .drawer__list li{animation:riseIn .6s var(--ease) forwards}
.drawer__sub{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:22px}
.drawer__sub a{font-size:13.5px;color:var(--ink-soft)}
.drawer__foot .btn{width:100%}
.drawer__tel{margin-top:14px;text-align:center;font-family:var(--ff-en);font-size:17px;font-weight:700;color:var(--ink)}

.hero{position:relative;height:100svh;min-height:640px}
.hero__frame{position:relative;height:100%;overflow:hidden;background:var(--black);isolation:isolate}
.hero__frame::after{content:"";position:absolute;inset:0;z-index:3;background:linear-gradient(to top,rgba(10,10,12,.62) 0%,rgba(10,10,12,.18) 45%,rgba(10,10,12,0) 70%);pointer-events:none}
.hero__in{position:absolute;left:clamp(32px,4.6vw,80px);bottom:clamp(56px,7vw,104px);z-index:5;width:min(820px,82%);color:#fff}
.hero__en{font-family:var(--ff-en);font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.85);opacity:0}
.hero__t{margin-top:16px;font-size:clamp(36px,5vw,72px);font-weight:700;letter-spacing:.03em;line-height:1.35;color:#fff}
.hero__t .ln{display:block;overflow:hidden}
.hero__t .ln>span{display:block;transform:translateY(110%);transition:transform 1.2s var(--ease)}
.hero__t .ln:nth-child(2)>span{transition-delay:.16s}
.hero__t.is-inview .ln>span{transform:none}
.hero__x{margin-top:18px;font-size:15px;line-height:1.95;color:rgba(255,255,255,.9);opacity:0}
.hero.is-ready .hero__en{animation:riseIn 1s var(--ease) .1s forwards}
.hero.is-ready .hero__x{animation:riseIn 1s var(--ease) .7s forwards}
.hero__ctrl{position:absolute;right:clamp(40px,4vw,64px);bottom:clamp(52px,6vw,90px);z-index:5;display:flex;align-items:center;gap:14px;font-family:var(--ff-en);font-size:13px;font-weight:700;color:#fff}
.hero__dots{display:flex;gap:8px}
.hero__dots button{width:28px;height:2px;border-radius:0;background:rgba(255,255,255,.4);transition:background .3s var(--ease),width .4s var(--ease)}
.hero__dots button[aria-selected="true"]{width:48px;background:#fff}

.omoi__grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(40px,6vw,100px);align-items:start}
.omoi__head{position:sticky;top:48px}
.omoi__t{margin-top:18px;font-size:clamp(32px,3.6vw,52px);letter-spacing:.03em;line-height:1.45}
.omoi__body p{font-size:var(--fs-lead);line-height:2.05}
.omoi__fig{margin:40px 0 28px;aspect-ratio:3/2}

.stabs{display:grid;grid-template-columns:320px 1fr;gap:clamp(32px,5vw,72px);align-items:start}
.stabs__list{display:flex;flex-direction:column}
.stabs__btn{display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center;padding:20px 0;text-align:left;border-bottom:1px solid var(--line-strong);color:var(--ink-soft);opacity:.55;transition:opacity .35s var(--ease)}
.stabs__btn:first-child{border-top:1px solid var(--line-strong)}
.stabs__btn[aria-selected="true"]{opacity:1}
.stabs__no{grid-row:1/3;font-family:var(--ff-en);font-size:15px;font-weight:700;line-height:1;color:var(--main)}
.stabs__btn b{font-size:20px;font-weight:700;letter-spacing:.06em;color:var(--ink)}
.stabs__btn small{font-family:var(--ff-en);font-size:12px;font-weight:600;letter-spacing:.06em}
.stabs__panels{display:grid}
.stabs__panel{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .6s var(--ease),visibility .6s}
.stabs__panel.is-active{opacity:1;visibility:visible}
.stabs__fig{aspect-ratio:16/10}
.stabs__body{margin-top:26px}
.stabs__catch{font-size:clamp(20px,2vw,26px);font-weight:700;letter-spacing:.04em;line-height:1.55;color:var(--ink)}
.stabs__x{margin-top:12px}
.stabs__body .more{margin-top:18px}

.wfeat{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(32px,5vw,64px);align-items:start}
.wfeat__main{display:grid}
.wfeat__item{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .6s var(--ease),visibility .6s}
.wfeat__item.is-active{opacity:1;visibility:visible}
.wfeat__fig{aspect-ratio:3/2;overflow:hidden;border-radius:var(--r);background:var(--line)}
.wfeat__fig img{width:100%;height:100%;object-fit:cover}
.wfeat__cap{margin-top:20px}
.wfeat__meta{font-size:13px;font-weight:700;letter-spacing:.06em;color:var(--main)}
.wfeat__t{margin-top:4px;font-size:clamp(19px,1.9vw,24px);letter-spacing:.04em}
.wfeat__list{display:flex;flex-direction:column;gap:6px}
.wfeat__row{display:grid;grid-template-columns:112px 1fr;gap:18px;align-items:center;padding:10px;border-radius:0;transition:background .35s var(--ease)}
.wfeat__row.is-active,.wfeat__row:hover{background:var(--bg-soft)}
.section--sub .wfeat__row.is-active,.section--sub .wfeat__row:hover{background:#fff}
.wfeat__thumb{display:block;aspect-ratio:3/2;overflow:hidden;border-radius:var(--r-s);background:var(--line)}
.wfeat__thumb img{width:100%;height:100%;object-fit:cover}
.wfeat__rbody{display:flex;flex-direction:column;gap:2px}
.wfeat__rbody small{font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--main)}
.wfeat__rbody b{font-size:15px;font-weight:700;line-height:1.6;color:var(--ink)}

.steps,.tl{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.steps{grid-template-columns:repeat(5,minmax(0,1fr))}
.tl{grid-template-columns:repeat(3,minmax(0,1fr))}
.steps .tl__item{padding:26px 20px 28px}
.tl__item{display:flex;flex-direction:column;padding:28px 24px 30px;background:#fff;border-radius:var(--r);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.section:not(.section--sub) .tl__item{background:var(--bg-soft)}
.tl__no{font-family:var(--ff-en);font-size:14px;font-weight:700;letter-spacing:.1em;line-height:1;color:var(--main)}
.tl__no::before{content:"STEP "}
.tl__t{margin-top:16px;font-size:17px;letter-spacing:.04em}
.tl__x{margin-top:8px;font-size:14px;line-height:1.85}
.jd__h{margin-bottom:26px;font-size:20px;letter-spacing:.06em}

.vcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.6vw,32px)}
.vc{display:flex;flex-direction:column;background:var(--bg-soft);border-radius:var(--r);overflow:hidden}
.vc__fig{aspect-ratio:3/2;border-radius:0}
.vc__t{padding:22px 24px 0;font-size:17px;font-weight:700;line-height:1.7;letter-spacing:.03em;color:var(--ink)}
.vc__who{display:flex;flex-wrap:wrap;gap:4px 12px;padding:10px 24px 24px;font-size:13px;font-weight:700;color:var(--ink)}
.vc__who small{font-weight:500;color:var(--main)}
a:hover .frame img{transform:scale(1.04)}

.itabs__nav{display:inline-grid;grid-template-columns:1fr 1fr;gap:0;margin-bottom:22px;border:1px solid var(--line-strong)}
.itabs__nav button{min-width:150px;padding:11px 26px;font-size:14.5px;font-weight:700;letter-spacing:.06em;color:var(--ink-soft);border-radius:0;white-space:nowrap;transition:background .3s var(--ease),color .3s var(--ease)}
.itabs__nav button[aria-selected="true"]{background:var(--black);color:#fff}
.itabs__panel{padding:8px clamp(20px,3.4vw,40px) 28px;background:#fff;border-radius:var(--r)}
.ilist li{border-bottom:1px solid var(--line)}
.ilist a{display:grid;grid-template-columns:104px 96px 1fr;gap:16px;align-items:baseline;padding:18px 0;transition:color .3s var(--ease)}
.ilist a:hover .ilist__t{color:var(--main)}
.ilist__date{font-family:var(--ff-en);font-size:13.5px;font-weight:600;color:var(--ink-soft)}
.ilist__cat{font-size:12.5px;font-weight:700;color:var(--main)}
.ilist__t{font-size:15px;font-weight:700;line-height:1.75;color:var(--ink);transition:color .3s var(--ease)}
.itabs__more{margin-top:22px;text-align:right}

.links__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,40px)}
.links__item{position:relative;display:block;border-radius:var(--r);overflow:hidden;color:#fff}
.links__fig{aspect-ratio:16/10;border-radius:0}
.links__fig::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,12,.66),rgba(10,10,12,0) 62%)}
.links__body{position:absolute;left:clamp(22px,3vw,36px);right:clamp(22px,3vw,36px);bottom:clamp(22px,3vw,34px);z-index:2}
.links__body .label{color:rgba(255,255,255,.85)}
.links__t{margin-top:4px;font-size:clamp(20px,2vw,26px);letter-spacing:.06em;color:#fff}
.links__x{margin-top:4px;font-size:14px;color:rgba(255,255,255,.88)}

.cta{position:relative;padding:0;background:var(--black);color:#fff;overflow:hidden;isolation:isolate}
.cta__bg{position:absolute;inset:-10% 0;z-index:-1}
.cta__bg img{width:100%;height:100%;object-fit:cover;opacity:.42}
.cta__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,20,20,.9) 0%,rgba(20,20,20,.55) 60%,rgba(20,20,20,.35) 100%)}
.links{padding-bottom:clamp(64px,7vw,96px)}
.section--sub+.cta,main+.cta{padding-top:clamp(72px,8vw,112px)}
.cta__in{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(32px,5vw,80px);align-items:end;max-width:calc(1320px + var(--pad-x) * 2);margin-inline:auto;padding:clamp(96px,11vw,160px) var(--pad-x)}
.cta__en{font-family:var(--ff-en);font-size:clamp(56px,8vw,128px);font-weight:600;letter-spacing:-.04em;line-height:.95;color:#fff}
.cta__t{margin-top:16px;font-size:clamp(20px,2vw,26px);letter-spacing:.06em;line-height:1.65;color:#fff}
.cta__x{color:rgba(255,255,255,.9)}
.cta__btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.cta__tel{margin-top:22px;font-size:13px;color:rgba(255,255,255,.88)}
.cta__tel b{font-family:var(--ff-en);font-size:24px;font-weight:700;color:#fff}

.ftr{background:var(--bg-soft)}
.ftr__in{display:grid;grid-template-columns:1fr 1.5fr;grid-template-areas:"info navs" "map navs";gap:32px clamp(32px,5vw,80px);max-width:calc(1280px + var(--pad-x) * 2);margin-inline:auto;padding:clamp(64px,7vw,96px) var(--pad-x) 40px}
.ftr__tag{margin-top:16px;font-size:14.5px;font-weight:700;letter-spacing:.06em;color:var(--ink)}
.ftr__addr{margin-top:22px}
.ftr__addr div{display:grid;grid-template-columns:72px 1fr;gap:8px;padding:5px 0;font-size:13px;line-height:1.8}
.ftr__addr dt{font-weight:700;color:var(--ink)}
.ftr__sns{display:flex;gap:22px;margin-top:18px}
.ftr__sns a{font-family:var(--ff-en);font-size:13px;font-weight:700;letter-spacing:.06em;color:var(--ink);transition:color .3s var(--ease)}
.ftr__sns a:hover{color:var(--main)}
.ftr__info{grid-area:info}
.ftr__map{grid-area:map;aspect-ratio:16/9;overflow:hidden;border-radius:var(--r);background:var(--line)}
.ftr__map iframe{width:100%;height:100%;border:0;filter:grayscale(1)}
.ftr__navs{grid-area:navs;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 18px;align-content:start}
.ftr__navs li+li{margin-top:8px}
.ftr__navs a{white-space:nowrap;font-size:13.5px;color:var(--ink);transition:color .3s var(--ease)}
.ftr__navs a:hover{color:var(--main)}
.ftr__mark{letter-spacing:-.02em;max-width:calc(1280px + var(--pad-x) * 2);margin-inline:auto;padding:0 var(--pad-x);font-family:var(--ff-en);font-size:clamp(72px,17vw,260px);font-weight:800;letter-spacing:.04em;line-height:.8;color:#fff;white-space:nowrap;overflow:hidden;user-select:none}
.ftr__btm{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 20px;max-width:calc(1280px + var(--pad-x) * 2);margin-inline:auto;padding:22px var(--pad-x)}
.ftr__copy{font-family:var(--ff-en);font-size:12.5px;font-weight:600;letter-spacing:.06em}
.ftr__disc{font-size:11.5px}
.fbar{display:none}

.phead{display:flex;flex-direction:column;padding:clamp(64px,7vw,112px) var(--pad-x) 0}
.phead__in{width:100%;max-width:calc(1320px);margin-inline:auto}
.phead__in{order:1;display:flex;flex-direction:column}
.phead__no{order:-2;margin-bottom:10px;font-family:var(--ff-en);font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--main)}
.phead__en{order:-1;font-family:var(--ff-en);font-size:clamp(56px,8vw,132px);font-weight:600;letter-spacing:-.045em;line-height:1;color:var(--ink)}
.phead__t{order:0;margin-top:16px;font-size:16px;font-weight:700;letter-spacing:.08em;color:var(--main)}
.phead__bg{order:2;position:relative;height:clamp(260px,40vw,560px);margin:clamp(40px,4.6vw,64px) calc(var(--pad-x) * -1) 0;overflow:hidden;background:var(--line)}
.phead__bg img{transform:scale(1.12);animation:pheadIn 2.2s var(--ease-out) .15s forwards}
@keyframes pheadIn{to{transform:scale(1)}}
.phead__bg img{width:100%;height:100%;object-fit:cover}
.crumbs{padding:20px 0 0;font-size:12.5px}
.crumbs .container{display:flex;flex-wrap:wrap;gap:10px;align-items:center;max-width:calc(1280px + var(--pad-x) * 2)}
.crumbs span{color:var(--line-strong)}
.crumbs em{font-style:normal;color:var(--ink)}
.crumbs a:hover{color:var(--main)}

.lead2{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(28px,5vw,72px);align-items:end;margin-bottom:clamp(52px,6vw,80px)}
.lead2__t{font-size:clamp(26px,2.8vw,38px);letter-spacing:.04em;line-height:1.55}
.lead2__x{font-size:var(--fs-lead);line-height:2}
.sgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,2.6vw,32px)}
.scard{display:flex;flex-direction:column;padding:12px 12px 30px;background:var(--bg-soft);border-radius:0;transition:background .35s var(--ease)}
.scard:hover{background:var(--main-soft)}
.scard__fig{aspect-ratio:16/10;border-radius:0}
.scard__head{display:flex;align-items:baseline;gap:14px;margin:24px 18px 0}
.scard__no{font-family:var(--ff-en);font-size:15px;font-weight:700;line-height:1;color:var(--main)}
.scard__t{font-size:24px;letter-spacing:.06em}
.scard__en{margin-left:auto;font-family:var(--ff-en);font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--ink-soft)}
.scard__catch{margin:12px 18px 0;font-size:16.5px;font-weight:700;letter-spacing:.03em;color:var(--ink)}
.scard__x{margin:8px 18px 0;font-size:14.5px}
.scard .more{margin:16px 18px 0}

body[data-page="serviceDetail"] .shead--jp{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(28px,5vw,72px);align-items:end}
body[data-page="serviceDetail"] .shead--jp .shead__en{grid-column:1}
body[data-page="serviceDetail"] .shead--jp .shead__t{grid-column:1;margin-top:0}
body[data-page="serviceDetail"] .shead--jp .shead__x{grid-column:2;grid-row:1/3;margin-top:0}
.js-sd-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.6vw,32px)}
.feature{display:flex;flex-direction:column;padding:12px 12px 28px;background:var(--bg-soft);border-radius:0}
.feature__fig{aspect-ratio:4/3;border-radius:0}
.feature__body{margin:22px 14px 0}
.feature__en{display:flex;align-items:center;gap:10px;font-family:var(--ff-en);font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--main)}
.feature__no{font-size:12.5px}
.feature__t{margin-top:8px;font-size:19px;letter-spacing:.04em}
.feature__x{margin-top:8px;font-size:14px}
.feature__list{margin-top:16px;display:flex;flex-direction:column;gap:6px}
.feature__list li{position:relative;padding-left:18px;font-size:13.5px;font-weight:700;color:var(--ink)}
.feature__list li::before{content:"";position:absolute;left:0;top:.72em;width:8px;height:2px;background:var(--main)}
.svc--other{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.6vw,32px)}
.svc__mini{display:block}
.svc__minifig{aspect-ratio:3/2}
.svc__en{margin-top:16px;font-family:var(--ff-en);font-size:12.5px;font-weight:700;letter-spacing:.08em;color:var(--main)}
.svc__minit{margin-top:4px;font-size:19px;letter-spacing:.06em}

.spec{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.spec th,.spec td{padding:18px 24px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:14.5px;line-height:1.85}
.spec tr:last-child th,.spec tr:last-child td{border-bottom:0}
.spec th{width:28%;font-weight:700;color:var(--ink);background:var(--bg-soft)}
.spec--3 td+td{border-left:1px solid var(--line)}
.spec--3 tr:first-child th{width:auto;font-size:13px;background:var(--ink);color:#fff}
.spec--3 tr:first-child th+th{border-left:1px solid rgba(255,255,255,.18)}

.faq__item{margin-bottom:10px;background:#fff;border:1px solid var(--line);border-radius:0}
.section--sub .faq__item{border-color:transparent}
.faq__q{width:100%;display:grid;grid-template-columns:36px 1fr 20px;align-items:center;gap:10px;padding:20px 24px;text-align:left;font-size:16px;font-weight:700;line-height:1.7;color:var(--ink)}
.faq__q::before{content:"Q";font-family:var(--ff-en);font-size:20px;font-weight:800;color:var(--main)}
.faq__mk{position:relative;width:14px;height:14px}
.faq__mk::before,.faq__mk::after{content:"";position:absolute;left:0;top:50%;width:14px;height:2px;border-radius:2px;background:var(--ink);transition:transform .35s var(--ease)}
.faq__mk::after{transform:rotate(90deg)}
.faq__item.is-open .faq__mk::after{transform:rotate(0)}
.faq__a>div{padding:0 44px 24px 70px}
.faqlay{display:grid;grid-template-columns:220px 1fr;gap:clamp(32px,5vw,72px);align-items:start}
.faqlay__side{position:sticky;top:40px}
.faqlay__side .label{font-size:clamp(28px,2.6vw,36px);font-weight:700;letter-spacing:-.01em;text-transform:none;color:var(--ink)}
.faqlay__cats{display:flex;flex-direction:column;gap:4px;margin-top:18px}
.faqlay__cats button{padding:11px 16px;text-align:left;font-size:15px;font-weight:700;color:var(--ink-soft);border-radius:0;transition:background .3s var(--ease),color .3s var(--ease)}
.faqlay__cats button:hover{color:var(--ink)}
.faqlay__cats button[aria-pressed="true"]{background:var(--black);color:#fff}

.wfilter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:36px}
.wfilter button{padding:10px 22px;font-size:14px;font-weight:700;letter-spacing:.04em;color:var(--ink-soft);background:transparent;box-shadow:inset 0 0 0 1px var(--line-strong);border-radius:0;white-space:nowrap;transition:background .3s var(--ease),color .3s var(--ease)}
.wfilter button:hover{color:var(--ink)}
.wfilter button[aria-pressed="true"]{background:var(--black);color:#fff;box-shadow:none}
.wfilter__count{margin:-14px 0 30px;font-family:var(--ff-en);font-size:13px;font-weight:700;letter-spacing:.08em;color:var(--ink-soft)}
.wfilter__count b{font-size:22px;color:var(--ink);margin-right:6px}
.wgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px clamp(20px,2.6vw,32px)}
.wcard{display:block}
.wcard__fig{aspect-ratio:3/2}
.wcard__body{padding-top:16px}
.wcard__cat{font-size:12.5px;font-weight:700;letter-spacing:.06em;color:var(--main)}
.wcard__t{margin-top:4px;font-size:17px;letter-spacing:.04em}
.wtable{display:flex;flex-wrap:wrap;gap:2px 14px;margin-top:8px}
.wtable div{display:flex;gap:6px;font-size:12.5px}
.wtable dt{color:var(--ink-soft)}
.wtable dd{font-weight:700;color:var(--ink)}

.wd__head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:14px 32px;margin-bottom:36px}
.wd__head>div{flex:1 1 300px;min-width:0}
.wd__meta{display:flex;gap:14px;font-size:13.5px;font-weight:700;letter-spacing:.06em;color:var(--main)}
.wd__t{margin-top:6px;font-size:clamp(26px,3vw,40px);letter-spacing:.04em}
.wd__main{aspect-ratio:16/9;border-radius:0}
.wd__spec{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px}
.wd__spec div{padding:20px 24px;background:var(--bg-soft);border-radius:0}
.wd__spec dt{font-size:12.5px;font-weight:700;color:var(--main)}
.wd__spec dd{margin-top:2px;font-size:15px;font-weight:700;color:var(--ink)}
.wd__gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.wd__gallery figure{aspect-ratio:3/2}
.wd__gallery figure:last-child:nth-child(odd){grid-column:1/-1;aspect-ratio:21/9}
.wd__txt{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);margin-top:64px}
.wd__label{font-family:var(--ff-en);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--main)}
.wd__h{margin-top:6px;font-size:21px;letter-spacing:.04em}
.wd__x{margin-top:12px}
.wd__nav,.pnav{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:64px}
.wd__nav a,.pnav a{display:flex;flex-direction:column;gap:6px;padding:24px 28px;background:var(--bg-soft);border-radius:var(--r);transition:background .3s var(--ease)}
.section--sub .wd__nav a,.section--sub .pnav a{background:#fff}
.wd__nav a:hover,.pnav a:hover{background:var(--main-soft)}
.wd__nav a+a,.pnav__next{text-align:right}
.wd__nav small,.pnav small{font-family:var(--ff-en);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--main)}
.pnav__t,.wd__nav a{font-size:15px;font-weight:700;line-height:1.7;color:var(--ink)}

.vgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,2.6vw,32px)}
.vgrid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.vcard{display:grid;grid-template-columns:44% 1fr;gap:clamp(18px,2.4vw,28px);align-items:center;padding:12px;background:var(--bg-soft);border-radius:0;transition:background .3s var(--ease)}
.section--sub .vcard{background:#fff}
.vcard:hover{background:var(--main-soft)}
.vcard__fig{grid-column:1;grid-row:1;aspect-ratio:4/3;border-radius:0}
.vcard__body{grid-column:2;grid-row:1;padding:8px 14px 8px 0}
.vcard__more{display:none}
.vcard__cat{font-size:12.5px;font-weight:700;letter-spacing:.06em;color:var(--main)}
.vcard__t{margin-top:6px;font-size:clamp(17px,1.6vw,19px);line-height:1.7;letter-spacing:.03em}
.vcard__who{margin-top:12px;font-size:13px;font-weight:700;color:var(--ink);display:flex;flex-wrap:wrap;gap:4px 12px}
.vcard__who small{font-weight:500;color:var(--ink-soft)}
.vgrid--3 .vcard{grid-template-columns:1fr;align-items:start}
.vgrid--3 .vcard__fig{grid-row:1;aspect-ratio:3/2}
.vgrid--3 .vcard__body{grid-column:1;grid-row:2;padding:6px 12px 14px}
.vgrid--3 .vcard__t{font-size:16.5px}
.vd{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(32px,5vw,80px);align-items:start}
.vd__head{position:sticky;top:40px}
.vd__fig{aspect-ratio:4/3}
.vd__intro{margin-top:26px}
.vd__cat{font-size:13px;font-weight:700;letter-spacing:.06em;color:var(--main)}
.vd__t{margin-top:8px;font-size:clamp(22px,2.4vw,30px);letter-spacing:.03em;line-height:1.6}
.vd__who{margin-top:12px;font-size:14px;font-weight:700;color:var(--ink);display:flex;flex-wrap:wrap;gap:4px 12px}
.vd__who small{font-weight:500;color:var(--ink-soft)}
.vd__lead{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}
.vqa__item{padding:30px 0;border-bottom:1px solid var(--line)}
.vqa__item:first-child{padding-top:0}
.vqa__q{display:flex;align-items:baseline;gap:14px;font-size:18px;font-weight:700;line-height:1.65;color:var(--ink)}
.vqa__q span{flex:none;font-family:var(--ff-en);font-size:14px;font-weight:800;color:var(--main)}
.vqa__a{margin-top:12px}
.vqa__fig{margin:8px 0 30px;aspect-ratio:16/9}
.vwork{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(28px,5vw,64px);align-items:center}
.vwork__fig{aspect-ratio:3/2}
.vwork__en{font-family:var(--ff-en);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--main)}
.vwork__t{margin:6px 0 14px;font-size:22px;letter-spacing:.04em}
.vwork .link-arrow{margin-top:18px}
.vd__other{margin-top:clamp(64px,8vw,96px)}

.philosophy{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px,5vw,80px);align-items:center;max-width:calc(1280px + var(--pad-x) * 2);margin-inline:auto;padding:clamp(72px,8vw,120px) var(--pad-x) 0}
.philosophy__bg{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:0}
.philosophy__bg img{width:100%;height:100%;object-fit:cover}
.philosophy__veil{display:none}
.philosophy .container{max-width:none;padding:0}
.philosophy__t{font-size:clamp(30px,3.4vw,48px);letter-spacing:.03em;line-height:1.45}
.philosophy__en{margin-top:22px;font-size:var(--fs-lead);line-height:2}
.rep{display:grid;grid-template-columns:220px 1fr;gap:clamp(32px,5vw,72px);align-items:start}
.rep__fig{aspect-ratio:3/4}
.rep__t{font-size:clamp(22px,2.3vw,30px);letter-spacing:.03em;line-height:1.6}
.rep__x{margin-top:16px}
.rep__sign{margin-top:26px;font-size:15px;font-weight:700;color:var(--ink);text-align:right}
.nums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.nums__item{padding:30px 24px;background:#fff;border-radius:var(--r)}
.section:not(.section--sub) .nums__item,.rnums .nums__item{background:var(--bg-soft)}
.nums__en{font-family:var(--ff-en);font-size:12.5px;font-weight:700;letter-spacing:.08em;color:var(--ink-soft)}
.nums__v{margin-top:14px;display:flex;align-items:baseline;gap:6px;font-family:var(--ff-en);font-size:clamp(44px,4.4vw,60px);font-weight:700;letter-spacing:-.02em;line-height:1;color:var(--ink)}
.nums__v small{font-family:var(--ff-jp);font-size:15px;font-weight:700;letter-spacing:0;color:var(--ink)}
.nums__l{margin-top:10px;font-size:13.5px;font-weight:700;color:var(--main)}
.values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.6vw,32px)}
.value{padding:32px 30px;background:var(--bg-soft);border-radius:var(--r)}
.value__no{font-family:var(--ff-en);font-size:14px;font-weight:700;letter-spacing:.08em;color:var(--main)}
.value__t{margin-top:12px;font-size:21px;letter-spacing:.06em}
.value__x{margin-top:10px;font-size:14.5px}
[data-sec="company.staff"] .wslider__ctrl,[data-sec="company.staff"] .wsec__head .wslider__ctrl{display:none}
.wsec__head .shead{margin-bottom:clamp(40px,4.6vw,60px)}
.staff{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2.4vw,28px);max-width:calc(var(--container) + var(--pad-x) * 2);margin-inline:auto;padding-inline:var(--pad-x)}
.staff__item:nth-child(n+5){display:none}
.staff__fig{aspect-ratio:1/1;border-radius:var(--r)}
.staff__role{margin-top:16px;font-size:12.5px;font-weight:700;letter-spacing:.04em;color:var(--main)}
.staff__name{margin-top:2px;font-size:18px;letter-spacing:.1em}
.staff__x{margin-top:6px;font-size:13.5px;line-height:1.85}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,24px)}
.gallery__item{position:relative}
.gallery__fig{aspect-ratio:3/2}
.gallery__cap{display:flex;flex-direction:column;gap:2px;padding-top:14px}
.gallery__en{font-family:var(--ff-en);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--main)}
.gallery__t{font-size:16px;font-weight:700;color:var(--ink)}
.gallery__x{font-size:13.5px;line-height:1.8}
.partners__t{margin:44px 0 14px;font-size:17px;letter-spacing:.06em}
.partners{display:flex;flex-wrap:wrap;gap:6px 28px}
.partners li{font-size:14px;font-weight:700;color:var(--ink)}
.hist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.hist__item{display:flex;flex-direction:column;padding:26px 26px 28px;background:#fff;border-radius:var(--r)}
.hist__year{font-family:var(--ff-en);font-size:34px;font-weight:700;letter-spacing:-.02em;line-height:1;color:var(--ink)}
.hist__t{margin-top:14px;font-size:17px;letter-spacing:.04em}
.hist__x{margin-top:4px;font-size:14px}
.hist__fig{order:5;margin-top:18px;aspect-ratio:3/2;border-radius:var(--r-s)}
.access{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(28px,4vw,56px);align-items:center}
.access__map{aspect-ratio:16/10;overflow:hidden;border-radius:var(--r);background:var(--line)}
.access__map iframe{width:100%;height:100%;border:0;filter:grayscale(1)}
.access dl div{padding:16px 0;border-bottom:1px solid var(--line)}
.access dt{font-size:14px;font-weight:700;color:var(--ink)}
.access dd{margin-top:2px;font-size:14.5px}

.rmsg3__t{margin-top:16px;font-size:clamp(30px,3.6vw,52px);letter-spacing:.03em;line-height:1.45}
.rmsg3__cols{margin-top:40px;column-count:2;column-gap:clamp(28px,5vw,64px)}
.rmsg3__cols p{break-inside:avoid;margin-bottom:16px;line-height:2}
.rmsg3__sign{margin-top:24px;text-align:right;font-weight:700;color:var(--ink)}
.rnums{padding:0 0 clamp(64px,7vw,96px)}
.jcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,28px);align-items:start}
.jcard{padding:12px;background:var(--bg-soft);border-radius:0}
.jcard__fig{aspect-ratio:3/2;border-radius:0}
.jcard.is-closed .jcard__fig{opacity:.55}
.jcard__body{padding:20px 14px 12px}
.jcard__status{font-size:12.5px;font-weight:700;letter-spacing:.06em;color:var(--main)}
.jcard.is-closed .jcard__status{color:var(--ink-soft)}
.jcard__t{margin-top:4px;font-size:20px;letter-spacing:.04em}
.jcard__t small{display:block;margin-top:2px;font-family:var(--ff-en);font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--ink-soft)}
.jcard__lead{margin-top:10px;font-size:14px}
.jcard__more{margin-top:18px;border-top:1px solid var(--line-strong)}
.jcard__more summary{display:flex;align-items:center;justify-content:space-between;padding:16px 0 0;font-size:14.5px;font-weight:700;color:var(--ink);cursor:pointer;list-style:none}
.jcard__more summary::-webkit-details-marker{display:none}
.jcard__more summary::after{content:"＋";color:var(--main)}
.jcard__more[open] summary::after{content:"−"}
.jcard__detail{padding-top:16px}
.jcard__h{margin-bottom:8px;font-size:15px}
.jcard__detail .spec{margin-top:16px}
.jcard__detail .spec th,.jcard__detail .spec td{padding:10px 12px;font-size:13px}
.jcard__cta{margin-top:18px}
.jcard__cta .btn{width:100%;min-width:0}
.rvcs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.6vw,32px)}
.rvc__fig{aspect-ratio:1/1;margin-bottom:18px}
.rvc__who{display:flex;gap:10px;align-items:baseline;font-size:13px;font-weight:700;color:var(--main)}
.rvc__who small{font-family:var(--ff-en);font-size:12.5px;color:var(--ink-soft)}
.rvc__t{margin-top:6px;font-size:18px;letter-spacing:.03em;line-height:1.65}
.rvc__x{margin-top:8px;font-size:14px}
.dayrows{display:flex;flex-direction:column;gap:8px}
.dayrow{display:grid;grid-template-columns:100px 1fr;gap:20px;align-items:baseline;padding:22px 28px;background:var(--bg-soft);border-radius:0}
.dayrow__time{font-family:var(--ff-en);font-size:22px;font-weight:700;color:var(--main);line-height:1.4}
.dayrow__t{font-size:16.5px;letter-spacing:.04em}
.dayrow__x{margin-top:2px;font-size:14px}
.bcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.bcard2{padding:28px 26px;background:#fff;border-radius:var(--r)}
.bcard2 h3{font-size:17px;letter-spacing:.04em}
.bcard2 p{margin-top:6px;font-size:14px}
.welcome{margin-top:48px}
.welcome__t{font-size:17px;letter-spacing:.06em}
.welcome__list{display:flex;flex-wrap:wrap;gap:6px 28px;margin-top:14px}
.welcome__list li{position:relative;padding-left:16px;font-size:14px;font-weight:700;color:var(--ink)}
.welcome__list li::before{content:"";position:absolute;left:0;top:.9em;width:8px;height:2px;background:var(--main)}
.rsteps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.rstep{padding:28px 24px;background:#fff;border-radius:var(--r)}
.rstep__no{font-family:var(--ff-en);font-size:14px;font-weight:700;letter-spacing:.1em;line-height:1;color:var(--main)}
.rstep__no::before{content:"STEP "}
.rstep__t{margin-top:14px;font-size:17px}
.rstep__x{margin-top:6px;font-size:14px}
.rentry2{width:min(820px,100%);margin:56px auto 0}
.rentry2__x{margin-bottom:22px;text-align:center}

.clay{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(28px,4vw,56px);align-items:start}
.clay__lead{margin-bottom:28px;font-size:17px;font-weight:700;line-height:1.95;color:var(--ink)}
.clay__side{position:sticky;top:40px;display:flex;flex-direction:column;gap:12px}
.clay__box{padding:26px 28px;background:var(--bg-soft);border-radius:var(--r)}
.clay__tel{margin-top:6px;font-family:var(--ff-en);font-size:30px;font-weight:700;letter-spacing:-.01em;color:var(--ink)}
.clay__x{margin-top:6px;font-size:14px}
.clay__box .more{margin-top:12px}
.clay__fig{aspect-ratio:3/2}
.clay__list{margin-top:8px}
.clay__list li{position:relative;padding:5px 0 5px 18px;font-size:14px;font-weight:700;color:var(--ink)}
.clay__list li::before{content:"";position:absolute;left:0;top:1.2em;width:8px;height:2px;background:var(--main)}
.cform{padding:clamp(28px,4vw,48px);background:#fff;border:1px solid var(--line);border-radius:0}
.section--sub .cform{border-color:transparent}
.form__row{margin-bottom:24px}
.form__row>label{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:14.5px;font-weight:700;color:var(--ink)}
.req,.opt{font-size:11.5px;font-weight:700}
.req{color:#B3412E}
.opt{color:var(--ink-soft)}
.form input[type=text],.form input[type=email],.form input[type=tel],.form select,.form textarea{width:100%;padding:15px 18px;font:inherit;font-size:16px;color:var(--ink);background:var(--bg-soft);border:1.5px solid transparent;border-radius:0;outline:none;transition:border-color .3s var(--ease),background .3s var(--ease)}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--main);background:#fff}
.form select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 17px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:44px}
.form textarea{min-height:160px;resize:vertical}
.form ::placeholder{color:#A3A19C}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative;cursor:pointer}
.chip input{position:absolute;opacity:0;pointer-events:none}
.chip span{display:inline-block;padding:10px 20px;font-size:14px;font-weight:700;color:var(--ink-soft);background:var(--bg-soft);border-radius:0;transition:background .3s var(--ease),color .3s var(--ease)}
.chip input:checked+span{background:var(--black);color:#fff}
.form__agree{display:flex;align-items:center;justify-content:center;gap:10px;margin:6px 0 24px;font-size:14px}
.form__agree input{width:18px;height:18px;accent-color:var(--main)}
.form__agree a{color:var(--main);text-decoration:underline;text-underline-offset:4px}
.form__warn{margin-top:8px;font-size:var(--fs-note);font-weight:700;color:#B3412E}
.form__done{margin-top:20px;text-align:center;font-weight:700;color:var(--main);font-size:17px}
.form__note{margin-top:16px;font-size:var(--fs-note);text-align:center}

.events{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,28px)}
.event{display:flex;flex-direction:column;gap:10px;padding:30px 28px;background:var(--bg-soft);border-radius:0}
.event__date{font-family:var(--ff-en);font-size:22px;font-weight:700;letter-spacing:-.01em;color:var(--ink)}
.event__status{font-size:12.5px;font-weight:700;color:var(--main)}
.event__t{margin-top:2px;font-size:18px;letter-spacing:.04em}
.event__place{font-size:13px;font-weight:700;color:var(--ink)}
.event__x{font-size:14px}
.event__btn{margin-top:auto;min-width:0;width:100%}

.costbar{display:flex;height:64px;border-radius:0;overflow:hidden}
.costbar__seg{display:flex;align-items:center;padding-left:16px;color:#fff}
.costbar__seg b{font-family:var(--ff-en);font-size:15px;font-weight:700}
.costbar__seg--0{background:var(--main)}
.costbar__seg--1{background:var(--main-2)}
.costbar__seg--2{background:var(--main-3);color:var(--ink)}
.costlegend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px}
.costlegend dt{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;color:var(--ink)}
.costlegend dt span{margin-left:auto;font-family:var(--ff-en);font-size:15px;color:var(--main)}
.costbar__dot{flex:none;width:10px;height:10px;border-radius:3px}
.costlegend dd{margin-top:6px;font-size:14px}

.nlist{display:flex;flex-direction:column;gap:8px}
.nlist__item a{display:grid;grid-template-columns:130px 110px 1fr;gap:16px;align-items:baseline;padding:20px 26px;background:var(--bg-soft);border-radius:0;transition:background .3s var(--ease)}
.nlist__item a:hover{background:var(--main-soft)}
.nlist__date{display:flex;align-items:baseline;gap:6px;font-family:var(--ff-en);font-weight:600}
.nlist__date small{order:-1;font-size:12px;color:var(--ink-soft)}
.nlist__date b{font-size:15px;color:var(--ink)}
.nlist__cat{font-size:12.5px;font-weight:700;color:var(--main)}
.nlist__t{font-size:15.5px;font-weight:700;line-height:1.75;color:var(--ink)}
.news-single{width:min(820px,100%);margin-inline:auto}
.news-single__meta,.bsingle>.bcard__meta{display:flex;gap:16px;font-size:13px;font-weight:700;color:var(--main)}
.news-single__meta .nlist__date{font-size:14px;color:var(--ink-soft)}
.news-single__t,.bsingle__t{margin-top:10px;font-size:clamp(24px,2.6vw,34px);letter-spacing:.03em;line-height:1.6}
.news-single__body,.bsingle__body{margin-top:36px}
.news-single__body p,.bsingle__body p{margin-top:16px}
.news-single__back{margin-top:48px;text-align:center}
.bsingle__body h2{margin:44px 0 12px;padding-bottom:12px;font-size:20px;letter-spacing:.04em;border-bottom:2px solid var(--line)}
.bsingle__fig{margin-top:28px;aspect-ratio:16/9}
.bsingle__rel{margin-top:80px}
.bwrap{display:grid;grid-template-columns:1fr 280px;gap:clamp(32px,4vw,56px);align-items:start}
.bside{position:sticky;top:40px;display:flex;flex-direction:column;gap:12px}
.bside__box{padding:24px;background:var(--bg-soft);border-radius:var(--r)}
.bside__h{font-size:15px;letter-spacing:.06em;padding-bottom:10px;border-bottom:1px solid var(--line-strong)}
.bside__cats li a{display:flex;justify-content:space-between;padding:10px 0;font-size:14px;font-weight:700;color:var(--ink);border-bottom:1px solid var(--line)}
.bside__cats span{font-family:var(--ff-en);color:var(--main)}
.bside__recent li a{display:grid;grid-template-columns:72px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px;font-weight:700;line-height:1.6;color:var(--ink)}
.bside__recent small{display:block;font-family:var(--ff-en);font-size:11.5px;font-weight:600;color:var(--ink-soft)}
.bside__thumb{display:block;aspect-ratio:3/2;overflow:hidden;border-radius:8px}
.bside__thumb img{width:100%;height:100%;object-fit:cover}
.bgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px clamp(20px,2.6vw,32px)}
.bgrid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.bcard{display:block}
.bcard__fig{aspect-ratio:3/2}
.bcard__meta{margin-top:14px;display:flex;gap:12px;font-size:12.5px;font-weight:700;color:var(--main)}
.bcard__date{font-family:var(--ff-en);font-weight:600;color:var(--ink-soft)}
.bcard__t{margin-top:6px;font-size:16.5px;letter-spacing:.03em;line-height:1.7}

.pager{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:clamp(48px,6vw,72px)}
.pager:empty{display:none}
.pager__list{display:flex;gap:6px}
.pager__list button{min-width:44px;height:44px;font-family:var(--ff-en);font-size:14px;font-weight:700;color:var(--ink);background:var(--bg-soft);border-radius:0}
.pager__list button[aria-current="page"]{background:var(--black);color:#fff}
.pager__nav{font-family:var(--ff-en);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.pager__nav:disabled{opacity:.3;cursor:default}

.legal h2{margin:44px 0 12px;padding-bottom:10px;font-size:19px;letter-spacing:.04em;border-bottom:2px solid var(--line)}
.legal h2:first-child{margin-top:0}
.legal p,.legal li{font-size:15px}
.legal ul{margin-top:10px;padding-left:1.2em;list-style:disc}

.opening__logo{font-family:var(--ff-en);font-size:clamp(40px,6vw,80px);font-weight:700;letter-spacing:.24em;margin-right:-.24em;line-height:1}
.opening__tag{margin-top:18px;font-family:var(--ff-en);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.dpanel{left:calc(var(--side-w) + 16px)}
.dpanel__toggle{border-radius:0}
.dpanel__body{border-radius:0}

.lenis.lenis-smooth{scroll-behavior:auto!important}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-stopped{overflow:clip}
.lenis.lenis-smooth iframe{pointer-events:none}

html.pt-enter::after{content:"";position:fixed;inset:0;z-index:590;background:var(--black);transform-origin:top;animation:ptEnter 1.05s cubic-bezier(.76,0,.24,1) .05s forwards;pointer-events:none}
@keyframes ptEnter{to{transform:scaleY(0)}}
.pt-leave{position:fixed;inset:0;z-index:700;display:flex;align-items:center;justify-content:center;background:var(--black);transform:scaleY(0);transform-origin:bottom;transition:transform .7s cubic-bezier(.76,0,.24,1);pointer-events:none}
.pt-leave.is-on{transform:scaleY(1)}
.pt-leave b{font-family:var(--ff-en);font-size:22px;font-weight:700;letter-spacing:.24em;color:#fff;opacity:0;transition:opacity .4s ease .35s}
.pt-leave.is-on b{opacity:1}
html.pt-enter main>:not(.opening){animation:mainIn 1.3s var(--ease-out) .35s both}
@keyframes mainIn{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}

.hero__scroll{position:absolute;right:clamp(32px,4vw,64px);top:50%;z-index:5;display:flex;flex-direction:column;align-items:center;gap:12px;font-family:var(--ff-en);font-size:11px;font-weight:600;letter-spacing:.2em;color:#fff;transform:translateY(-50%)}
.hero__scroll i{position:relative;display:block;width:1px;height:72px;overflow:hidden;background:rgba(255,255,255,.3)}
.hero__scroll i::after{content:"";position:absolute;left:0;top:0;width:1px;height:100%;background:#fff;animation:scrollLine 2.2s var(--ease) infinite}

.marq{overflow:hidden;padding:clamp(28px,3.4vw,44px) 0;border-bottom:1px solid var(--line)}
.marq__track{display:flex;width:max-content;animation:marq 38s linear infinite}
.marq__track span{display:flex;align-items:center;gap:clamp(28px,3vw,48px);padding-right:clamp(28px,3vw,48px);font-family:var(--ff-en);font-size:clamp(44px,6vw,96px);font-weight:600;letter-spacing:-.04em;line-height:1;color:var(--ink);white-space:nowrap}
.marq__track span::after{content:"";width:.28em;height:.28em;background:var(--main)}
@keyframes marq{to{transform:translateX(-50%)}}

.about{padding:clamp(96px,11vw,168px) var(--pad-x) clamp(80px,9vw,140px)}
.about__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,120px);align-items:start;max-width:1320px;margin-inline:auto}
.about__t{margin-top:22px;font-size:clamp(34px,4.2vw,64px);font-weight:700;letter-spacing:.02em;line-height:1.35;color:var(--ink)}
.about__x{margin-top:32px;font-size:var(--fs-lead);line-height:2.05}
.about__text>p:last-child{margin-top:36px}
.about__figs{position:relative;padding-bottom:18%}
.about__f1{width:78%;aspect-ratio:4/5;margin-left:auto}
.about__f2{position:absolute;left:0;bottom:0;width:52%;aspect-ratio:4/3;box-shadow:0 0 0 12px var(--bg)}
.about__nums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:1320px;margin:clamp(72px,8vw,120px) auto 0;border-top:1px solid var(--ink)}
.about__num{padding:28px 24px 0 0}
.about__num+.about__num{padding-left:24px;border-left:1px solid var(--line)}
.about__num dt{font-size:13px;font-weight:700;color:var(--ink-soft)}
.about__num dd{display:flex;align-items:baseline;gap:6px;margin-top:10px;font-family:var(--ff-en);font-size:clamp(48px,5.4vw,84px);font-weight:600;letter-spacing:-.04em;line-height:1;color:var(--ink)}
.about__num dd small{font-family:var(--ff-jp);font-size:15px;font-weight:700;letter-spacing:0}

.svc4{padding:clamp(96px,11vw,160px) 0 0;background:var(--black);color:rgba(255,255,255,.78)}
.svc4__head{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,96px);align-items:end;max-width:calc(1320px + var(--pad-x) * 2);margin:0 auto clamp(48px,5vw,72px);padding-inline:var(--pad-x)}
.svc4 .label{font-size:clamp(44px,5.4vw,84px);font-weight:600;letter-spacing:-.035em;text-transform:none;line-height:1.05;color:#fff}
.svc4__t{margin-top:12px;font-size:16px;letter-spacing:.08em;color:var(--main-3)}
.svc4__x{font-size:var(--fs-lead);line-height:2;color:rgba(255,255,255,.78)}
.svc4__panels{display:flex;height:min(82vh,720px);min-height:520px}
.svc4__p{position:relative;flex:1 1 0;min-width:0;overflow:hidden;color:#fff;transition:flex-grow 1s var(--ease-out)}
.svc4__p+.svc4__p{border-left:1px solid rgba(255,255,255,.14)}
.svc4__p.is-active{flex-grow:2.8}
.svc4__img{position:absolute;inset:0}
.svc4__img img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 1.6s var(--ease-out),filter 1s var(--ease-out);filter:brightness(.55)}
.svc4__p.is-active .svc4__img img{transform:scale(1);filter:brightness(.72)}
.svc4__img::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,10,.85) 0%,rgba(10,10,10,.1) 60%)}
.svc4__no{position:absolute;left:clamp(20px,2.4vw,36px);top:clamp(20px,2.4vw,32px);font-family:var(--ff-en);font-size:14px;font-weight:600;letter-spacing:.1em}
.svc4__body{position:absolute;left:clamp(20px,2.4vw,36px);right:clamp(20px,2.4vw,36px);bottom:clamp(24px,3vw,44px)}
.svc4__en{font-family:var(--ff-en);font-size:clamp(22px,2.3vw,38px);font-weight:600;letter-spacing:-.02em;line-height:1.1}
.svc4__jp{margin-top:8px;font-size:15px;font-weight:700;letter-spacing:.08em;color:#fff}
.svc4__more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .9s var(--ease-out)}
.svc4__p.is-active .svc4__more{grid-template-rows:1fr}
.svc4__more>div{overflow:hidden}
.svc4__catch{margin-top:20px;font-size:clamp(18px,1.7vw,22px);font-weight:700;line-height:1.6;color:#fff;opacity:0;transform:translateY(16px);transition:opacity .8s var(--ease-out) .15s,transform .9s var(--ease-out) .15s}
.svc4__desc{margin-top:10px;max-width:none;font-size:14px;line-height:1.9;color:rgba(255,255,255,.82);opacity:0;transform:translateY(16px);transition:opacity .8s var(--ease-out) .25s,transform .9s var(--ease-out) .25s}
.svc4__link{display:inline-flex;align-items:center;gap:12px;margin-top:18px;font-size:14px;font-weight:700;color:#fff;opacity:0;transition:opacity .8s var(--ease-out) .35s}
.svc4__link::after{content:"";width:7px;height:7px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}
.svc4__p.is-active .svc4__catch,.svc4__p.is-active .svc4__desc,.svc4__p.is-active .svc4__link{opacity:1;transform:none}

.hworks{position:relative;background:var(--bg);padding:clamp(96px,11vw,160px) 0}
.hworks__pin{display:flex;flex-direction:column;gap:clamp(36px,4vw,56px)}
.hworks__head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-inline:var(--pad-x)}
.hworks__head .label{font-size:clamp(44px,5.4vw,84px);font-weight:600;letter-spacing:-.035em;text-transform:none;line-height:1.05;color:var(--ink)}
.hworks__t{margin-top:12px;font-size:16px;letter-spacing:.08em;color:var(--main)}
.hworks__side{display:flex;align-items:center;gap:28px}
.hworks__count{font-family:var(--ff-en);font-size:14px;font-weight:600;letter-spacing:.06em;color:var(--ink-soft)}
.hworks__count b{font-size:28px;font-weight:600;color:var(--ink)}
.hworks__bar{position:relative;width:120px;height:1px;background:var(--line-strong)}
.hworks__bar i{position:absolute;left:0;top:0;height:1px;width:0;background:var(--ink)}
.hworks__track{display:flex;gap:clamp(20px,2.4vw,36px);overflow-x:auto;padding:0 var(--pad-x) 8px;scroll-padding-inline:var(--pad-x);scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab;overscroll-behavior-x:contain}
.hworks__track::-webkit-scrollbar{display:none}
.hworks__track.is-drag{cursor:grabbing;scroll-snap-type:none}
.hworks__track.is-drag a{pointer-events:none}
.hwcard{scroll-snap-align:start}
.hworks__track::after{content:"";flex:0 0 1px}
.hworks__nav{display:flex;gap:8px}
.hworks__btn{width:52px;height:52px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line-strong);transition:background .4s var(--ease-out),border-color .4s var(--ease-out)}
.hworks__btn::after{content:"";width:9px;height:9px;border-top:1.5px solid var(--ink);border-right:1.5px solid var(--ink);transform:rotate(45deg);margin-right:4px;transition:border-color .4s var(--ease-out)}
.hworks__btn--prev::after{transform:rotate(-135deg);margin:0 0 0 4px}
.hworks__btn:hover{background:var(--black);border-color:var(--black)}
.hworks__btn:hover::after{border-color:#fff}
.hworks__btn:disabled{opacity:.3;pointer-events:none}
.hwcard{display:block;width:clamp(320px,38vw,560px);flex:none}
.hwcard:nth-child(even){margin-top:clamp(40px,6vh,80px)}
.hwcard__fig{aspect-ratio:4/3;overflow:hidden;background:var(--bg-soft)}
.hwcard__fig img{width:100%;height:100%;object-fit:cover;-webkit-user-drag:none;user-select:none;transform:scale(1.04);transition:transform 1.4s var(--ease-out)}
.hwcard:hover .hwcard__fig img{transform:scale(1.1)}
.hwcard__meta{display:flex;justify-content:space-between;gap:12px;margin-top:18px;font-size:12.5px;font-weight:700;letter-spacing:.06em;color:var(--main)}
.hwcard__meta span:last-child{font-family:var(--ff-en);color:var(--ink-soft)}
.hwcard__t{margin-top:6px;font-size:clamp(17px,1.6vw,21px);letter-spacing:.03em;line-height:1.6}
.hwcard--more{display:flex;align-items:center;justify-content:center;width:clamp(240px,22vw,320px);aspect-ratio:4/3;align-self:center;background:var(--bg-soft);font-family:var(--ff-en);font-size:22px;font-weight:600;letter-spacing:-.01em;color:var(--ink);transition:background .5s var(--ease-out),color .5s var(--ease-out)}
.hwcard--more:hover{background:var(--black);color:#fff}
.hwcard--more span{display:flex;flex-direction:column;align-items:center;gap:8px}
.hwcard--more small{font-family:var(--ff-jp);font-size:13px;font-weight:700;letter-spacing:.06em}

.hproc{padding:clamp(96px,11vw,168px) var(--pad-x);background:var(--bg-soft)}
.hproc__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,6vw,120px);max-width:1320px;margin-inline:auto}
.hproc__side{position:sticky;top:clamp(80px,12vh,140px);align-self:start}
.hproc__side .label{font-size:clamp(44px,5.4vw,84px);font-weight:600;letter-spacing:-.035em;text-transform:none;line-height:1.05;color:var(--ink)}
.hproc__t{margin-top:12px;font-size:16px;letter-spacing:.08em;color:var(--main)}
.hproc__x{margin-top:28px;font-size:var(--fs-lead);line-height:2}
.hproc__bar{position:relative;display:block;width:100%;height:2px;margin-top:40px;background:var(--line-strong)}
.hproc__bar i{position:absolute;left:0;top:0;height:2px;width:0;background:var(--ink)}
.hproc__now{margin-top:14px;font-family:var(--ff-en);font-size:14px;font-weight:600;letter-spacing:.08em;color:var(--ink-soft)}
.hproc__now b{font-size:22px;color:var(--ink)}
.hproc__list{border-top:1px solid var(--line-strong)}
.hproc__item{display:grid;grid-template-columns:clamp(88px,9vw,140px) 1fr;gap:clamp(16px,2vw,32px);padding:clamp(32px,4vw,52px) 0;border-bottom:1px solid var(--line-strong);opacity:.28;transition:opacity .8s var(--ease-out)}
.hproc__item.is-on{opacity:1}
.hproc__no{font-family:var(--ff-en);font-size:clamp(48px,5vw,80px);font-weight:600;letter-spacing:-.05em;line-height:.9;color:var(--ink)}
.hproc__item h3{font-size:clamp(20px,1.9vw,26px);letter-spacing:.04em}
.hproc__item p{margin-top:10px}

.hvoice{padding:clamp(96px,11vw,160px) var(--pad-x)}
.hvoice__head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;max-width:1320px;margin:0 auto clamp(40px,5vw,64px)}
.hvoice__head .label{font-size:clamp(44px,5.4vw,84px);font-weight:600;letter-spacing:-.035em;text-transform:none;line-height:1.05;color:var(--ink)}
.hvoice__t{margin-top:12px;font-size:16px;letter-spacing:.08em;color:var(--main)}
.vsl{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(32px,5vw,96px);align-items:center;max-width:1320px;margin-inline:auto}
.vsl__figs{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--bg-soft)}
.vsl__fig{position:absolute;inset:0;opacity:0;transition:opacity 1.2s var(--ease-out)}
.vsl__fig img{width:100%;height:100%;object-fit:cover;transform:scale(1.1);transition:transform 6s linear}
.vsl__fig.is-active{opacity:1}
.vsl__fig.is-active img{transform:scale(1)}
.vsl__texts{display:grid}
.vsl__item{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(24px);transition:opacity .9s var(--ease-out),transform 1s var(--ease-out),visibility .9s}
.vsl__item.is-active{opacity:1;visibility:visible;transform:none}
.vsl__type{font-size:13px;font-weight:700;letter-spacing:.06em;color:var(--main)}
.vsl__q{margin-top:14px;font-size:clamp(22px,2.4vw,34px);font-weight:700;line-height:1.55;letter-spacing:.02em;color:var(--ink)}
.vsl__x{margin-top:20px}
.vsl__who{margin-top:18px;font-size:14px;font-weight:700;color:var(--ink)}
.vsl__who small{margin-left:12px;font-weight:500;color:var(--ink-soft)}
.vsl__item .more{margin-top:24px}
.vsl__ctrl{display:flex;align-items:center;gap:20px;margin-top:40px}
.vsl__ctrl button{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line-strong);transition:background .4s var(--ease-out),border-color .4s var(--ease-out)}
.vsl__ctrl button::after{content:"";width:8px;height:8px;border-top:1.5px solid var(--ink);border-right:1.5px solid var(--ink);transform:rotate(45deg);margin-right:3px}
.vsl__ctrl button.vsl__prev::after{transform:rotate(-135deg);margin:0 0 0 3px}
.vsl__ctrl button:hover{border-color:var(--ink)}
.vsl__num{font-family:var(--ff-en);font-size:14px;font-weight:600;letter-spacing:.06em;color:var(--ink-soft)}
.vsl__num b{font-size:22px;color:var(--ink)}
.vsl__prog{flex:1;height:1px;background:var(--line-strong);position:relative;overflow:hidden}
.vsl__prog i{position:absolute;inset:0;background:var(--ink);transform:scaleX(0);transform-origin:left}
.vsl__prog i.is-run{animation:vprog 7s linear forwards}
@keyframes vprog{to{transform:scaleX(1)}}

.hnews{padding:clamp(96px,11vw,160px) var(--pad-x);background:var(--bg-soft)}
.hnews__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,6vw,120px);max-width:1320px;margin-inline:auto}
.hnews__side .label{font-size:clamp(44px,5.4vw,84px);font-weight:600;letter-spacing:-.035em;text-transform:none;line-height:1.05;color:var(--ink)}
.hnews__t{margin-top:12px;font-size:16px;letter-spacing:.08em;color:var(--main)}
.hnews .itabs__panel{padding:0;background:transparent}
.hnews .ilist{border-top:1px solid var(--line-strong)}
.hnews .ilist li{border-color:var(--line-strong)}
.hnews .ilist a{padding:22px 0}

.hlinks{display:grid;grid-template-columns:1fr 1fr}
.hlink{position:relative;display:block;height:clamp(360px,44vw,620px);overflow:hidden;color:#fff;isolation:isolate}
.hlink img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform 1.6s var(--ease-out)}
.hlink::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(10,10,10,.42);transition:background .8s var(--ease-out)}
.hlink:hover img{transform:scale(1.1)}
.hlink:hover::before{background:rgba(10,10,10,.58)}
.hlink__body{position:absolute;left:clamp(24px,3.4vw,56px);right:clamp(24px,3.4vw,56px);bottom:clamp(28px,3.4vw,56px)}
.hlink__en{font-family:var(--ff-en);font-size:clamp(40px,4.6vw,76px);font-weight:600;letter-spacing:-.04em;line-height:1}
.hlink__t{margin-top:12px;font-size:17px;letter-spacing:.08em;color:#fff}
.hlink__x{margin-top:6px;font-size:14px;color:rgba(255,255,255,.86)}
.hlink__go{display:inline-flex;align-items:center;gap:12px;margin-top:20px;padding-top:14px;border-top:1px solid rgba(255,255,255,.5);font-size:13.5px;font-weight:700;letter-spacing:.06em}
.hlink__go::after{content:"";width:7px;height:7px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);transition:transform .5s var(--ease-out)}
.hlink:hover .hlink__go::after{transform:translateX(6px) rotate(45deg)}

@media (max-width:1180px){
  .hist{grid-template-columns:1fr 1fr}
  .steps,.tl{grid-template-columns:repeat(3,minmax(0,1fr))}
  .stabs{grid-template-columns:260px 1fr}
}
@media (max-width:1100px){
  :root{--side-w:0px;--top-h:64px}
  body{padding-left:0;padding-top:var(--top-h)}
  .side{right:0;bottom:auto;width:auto;height:var(--top-h);flex-direction:row;align-items:center;justify-content:space-between;padding:0 10px 0 20px;border-right:0;border-bottom:1px solid var(--line);overflow:visible}
  .logo .logo__word{font-size:22px}
  .logo small{font-size:8.5px}
  .logo__txt{gap:6px}
  .side__nav,.side__foot{display:none}
  .burger{display:inline-flex}
  .hero{height:calc(100svh - var(--top-h));padding:12px}
  .omoi__grid,.stabs,.wfeat,.philosophy{grid-template-columns:1fr}
  .omoi__head{position:static}
  .stabs__list{flex-direction:row;overflow-x:auto;gap:8px;padding-bottom:4px;scrollbar-width:none}
  .stabs__btn,.stabs__btn:first-child{flex:1 0 170px;border:0;padding:14px 16px;background:var(--bg-soft);border-radius:0}
  .section--sub .stabs__btn{background:#fff}
  .stabs__btn[aria-selected="true"]{background:var(--main);color:#fff}
  .stabs__btn[aria-selected="true"] b,.stabs__btn[aria-selected="true"] .stabs__no{color:#fff}
  .stabs__btn{opacity:1}
  .wfeat__list{display:grid;grid-template-columns:1fr 1fr}
  .ftr__in{grid-template-columns:1fr 1fr;grid-template-areas:"info map" "navs navs"}
  .js-sd-features,.vgrid--3,.bgrid,.wgrid,.events,.jcards,.rvcs,.svc--other{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vgrid{grid-template-columns:1fr}
  .bwrap,.vd,.clay,.faqlay{grid-template-columns:1fr}
  .vd__head,.clay__side,.faqlay__side,.bside{position:static}
  .faqlay__cats{flex-direction:row;flex-wrap:wrap}
  .rsteps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cta__in{grid-template-columns:1fr}
  .philosophy{padding-top:clamp(56px,7vw,88px)}
  .about__grid,.svc4__head,.hproc__grid,.vsl,.hnews__grid{grid-template-columns:1fr}
  .hproc__side{position:static}
  .svc4__panels{flex-direction:column;height:auto;min-height:0}
  .svc4__p,.svc4__p.is-active{flex:none}
  .svc4__p+.svc4__p{border-left:0;border-top:1px solid rgba(255,255,255,.14)}
  .svc4__img{position:relative;aspect-ratio:16/9}
  .svc4__img img{filter:brightness(.8)}
  .svc4__img::after{display:none}
  .svc4__body{position:relative;left:auto;right:auto;bottom:auto;padding:24px var(--pad-x) 40px}
  .svc4__no{color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.4)}
  .svc4__more{grid-template-rows:1fr}
  .svc4__catch,.svc4__desc,.svc4__link{opacity:1;transform:none}
  .hwcard:nth-child(even){margin-top:0}
  .hworks__bar{display:none}
  .hero__scroll{display:none}
}
@media (max-width:760px){
  :root{--fs-body:15px;--fs-lead:15.5px}
  .sp-only{display:inline}
  .sp-hide{display:none}
  .section{padding-block:72px}
  .shead{margin-bottom:36px}
  .shead>.label,.shead>div>.label{font-size:40px}
  .shead--row{flex-direction:column;align-items:flex-start;gap:14px}
  .btn{min-width:0;width:100%;font-size:15px}
  .hero{min-height:560px;padding:10px}
  .hero__frame{border-radius:0}
  .hero__in{left:22px;right:22px;bottom:118px;width:auto}
  .hero__t{font-size:clamp(28px,8vw,36px);letter-spacing:.02em}
  .hero__x{font-size:13px;line-height:1.85}
  .hero__ctrl{left:22px;right:auto;bottom:88px}
  .omoi__t{font-size:30px}
  .stabs__btn,.stabs__btn:first-child{flex:0 0 auto;grid-template-columns:28px auto;padding:12px 18px 12px 14px}
  .stabs__btn b{white-space:nowrap}
  .stabs__btn b{font-size:15px}
  .stabs__btn small{display:none}
  .wfeat__list{grid-template-columns:1fr}
  .wfeat__row{grid-template-columns:96px 1fr}
  .steps,.tl,.vcards,.links__grid,.sgrid,.js-sd-features,.svc--other,.vgrid,.vgrid--3,.bgrid,.bgrid--3,.wgrid,.events,.jcards,.rvcs,.bcards,.rsteps,.values,.gallery,.lead2,.costlegend,.wd__txt,.vwork,.access,.hist{grid-template-columns:1fr}
  .vcard{grid-template-columns:1fr}
  .vcard__fig{aspect-ratio:3/2}
  .vcard__body{grid-column:1;grid-row:2;padding:6px 12px 14px}
  .itabs__nav{display:grid;width:100%}
  .itabs__nav button{min-width:0;padding:11px 12px}
  .ilist a{grid-template-columns:auto 1fr;gap:4px 12px}
  .ilist__t{grid-column:1/-1}
  .links__t{font-size:20px}
  .cta__in{padding:88px var(--pad-x)}
  .cta__en{font-size:56px}
  .about__figs{padding-bottom:22%;margin-top:8px}
  .about__nums{grid-template-columns:1fr 1fr}
  .about__num,.about__num+.about__num{padding:22px 0 22px;border-left:0}
  .about__num:nth-child(even){padding-left:18px;border-left:1px solid var(--line)}
  .about__num:nth-child(n+3){border-top:1px solid var(--line)}
  .marq__track span{font-size:44px}
  .hworks__head{flex-direction:column;align-items:flex-start}
  .hwcard{width:78vw}
  .hproc__item{grid-template-columns:64px 1fr}
  .hproc__no{font-size:40px}
  .hvoice__head{flex-direction:column;align-items:flex-start}
  .hlinks{grid-template-columns:1fr}
  .hlink{height:360px}
  .ftr__in{grid-template-columns:1fr;grid-template-areas:"info" "map" "navs"}
  .ftr__navs{grid-template-columns:1fr 1fr}
  .ftr__btm{flex-direction:column;padding-bottom:84px}
  .fbar{position:fixed;left:10px;right:10px;bottom:10px;z-index:140;display:grid;grid-template-columns:1fr 1.6fr;gap:6px;padding:6px;background:#fff;border-radius:0;box-shadow:0 10px 30px rgba(0,0,0,.16)}
  .fbar a{display:flex;align-items:center;justify-content:center;height:46px;border-radius:0;font-size:14px;font-weight:700;letter-spacing:.04em;white-space:nowrap;color:var(--ink);background:var(--bg-soft)}
  .fbar a+a{color:#fff;background:var(--black)}
  .phead{padding-top:44px}
  .phead__en{font-size:48px}
  .phead__bg{height:52vw;border-radius:0}
  body[data-page="serviceDetail"] .shead--jp{grid-template-columns:1fr;gap:14px}
  body[data-page="serviceDetail"] .shead--jp .shead__x{grid-column:1;grid-row:auto}
  .spec th,.spec td{display:block;width:auto;padding:12px 18px}
  .spec th{border-bottom:0}
  .spec--3 tr:first-child{display:none}
  .spec--3 td+td{border-left:0}
  .spec--3 td{border-bottom:0}
  .spec--3 td:first-child{font-weight:700;color:var(--ink);background:var(--bg-soft)}
  .spec--3 tr+tr td:first-child{border-top:1px solid var(--line)}
  .faq__q{grid-template-columns:26px 1fr 16px;padding:18px;font-size:15px}
  .faq__a>div{padding:0 18px 20px 54px}
  .wd__spec{grid-template-columns:1fr 1fr}
  .wd__gallery{grid-template-columns:1fr}
  .wd__nav,.pnav{grid-template-columns:1fr}
  .wd__nav a+a,.pnav__next{text-align:left}
  .pnav__empty{display:none}
  .rep{grid-template-columns:1fr}
  .rep__fig{width:48%}
  .nums{grid-template-columns:1fr 1fr}
  .nums__item{padding:24px 18px}
  .staff{grid-template-columns:1fr 1fr}
  .rmsg3__cols{column-count:1}
  .dayrow{grid-template-columns:64px 1fr;gap:12px;padding:18px 20px}
  .dayrow__time{font-size:18px}
  .nlist__item a{grid-template-columns:auto 1fr;gap:4px 14px;padding:18px 20px}
  .nlist__t{grid-column:1/-1}
  .costbar{height:52px}
  .costbar__seg{padding-left:10px}
  .costbar__seg b{font-size:12.5px}
  .cform{padding:26px 18px}
  .pager{gap:12px}
  .dpanel{left:10px;bottom:78px}
  .dpanel__body{width:250px}
  .numbar{bottom:78px}
}
@media (max-width:360px){
  .hero__t{font-size:26px}
  .btn{font-size:14px;padding:12px 16px}
  .shead>.label,.shead>div>.label{font-size:36px}
  .phead__en{font-size:42px}
  .fbar a{font-size:13px}
}
@media (prefers-reduced-motion:reduce){.hero__en,.hero__x{opacity:1}}
.numbar button[aria-pressed="true"]{background:var(--main);border-color:var(--main);color:#fff}
html.num-mode .hero__slides[data-num]{position:absolute}
.wfilter{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.wfilter::-webkit-scrollbar{display:none}
.wfilter button{flex:none;white-space:nowrap}
.bcard__t,.wcard__t{text-wrap:wrap;word-break:normal}
.spec__sub{display:block;margin-bottom:2px;font-weight:700;color:var(--ink)}
.event.is-closed{opacity:.6}
.event__closed{min-width:170px;font-size:13px;font-weight:700;color:var(--sub);text-align:center}
.event--none{display:block;padding:32px 0}
@media (max-width:760px){.spec th,.spec td{padding-left:0!important;padding-right:10px!important}.spec td:last-child,.spec th:last-child{padding-right:0!important}.spec--3 tr:first-child th{background:none;color:var(--ink);border-bottom:1.5px solid var(--ink)}.spec{border-top:0}}
html.is-view .dpanel,html.is-view #numbar{display:none!important}
.shead>.label,.shead>div>.label,.phead__en,.cta__en,.svc4 .label,.svc4__en,.hworks__head .label,.hproc__side .label,.hvoice__head .label,.hnews__side .label,.hlink__en,.marq__track span,.faqlay__side .label{letter-spacing:.04em}
.about__num dd,.nums__v,.hist__year,.hproc__no,.clay__tel,.event__date{letter-spacing:.01em}
.gnav__list small,.drawer__list small{letter-spacing:.03em}
.cta__en{font-size:clamp(44px,5vw,76px)}
.cover img{clip-path:none;opacity:0;transform:scale(1.05);transition:opacity .9s var(--ease-out),transform 1.6s var(--ease-out)}
.cover.is-inview img{clip-path:none;opacity:1;transform:none}
body[data-page="company"] .spec th{background:#fff}
.news-single .pnav{gap:0;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}
.news-single .pnav a{padding:22px 4px;background:none;border-radius:0}
.news-single .pnav a:hover{background:none}
.news-single .pnav a:hover .pnav__t{color:var(--main)}
.news-single .pnav__next{border-left:1px solid var(--line)}
.news-single .pnav__prev small::before{content:"← "}
.news-single .pnav__next small::after{content:" →"}
.news-single .pnav__next{padding-left:24px!important}
.news-single .pnav__prev{padding-right:24px!important}
.jcards{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--ink)}
.jrow{padding:clamp(36px,4vw,56px) 0;border-bottom:1px solid var(--line-strong)}
.jrow__head{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,4vw,56px);align-items:start}
.jrow__fig{aspect-ratio:3/2}
.jrow.is-closed .jrow__fig{opacity:.55}
.jrow__meta{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13.5px;font-weight:700;color:var(--ink)}
.jrow__status{color:var(--main)}
.jrow.is-closed .jrow__status{color:var(--ink)}
.jrow__t{margin-top:10px;font-size:clamp(24px,2.4vw,32px);letter-spacing:.04em;line-height:1.5}
.jrow__en{margin-top:2px;font-family:var(--ff-en);font-size:14px;font-weight:600;letter-spacing:.04em;color:var(--main)}
.jrow__lead{margin-top:16px}
.jrow__cta{margin-top:24px}
.jrow__closed{margin-top:20px;font-weight:700;color:var(--ink)}
.jrow__detail{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,4vw,56px);margin-top:clamp(28px,3vw,40px)}
.jrow__h{padding-bottom:10px;margin-bottom:14px;font-size:15px;border-bottom:1px solid var(--line)}
.jrow__spec>div{display:grid;grid-template-columns:7.5em 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.jrow__spec>div:first-child{padding-top:0}
.jrow__spec dt{font-weight:700;color:var(--ink)}
.jrow__spec dd{color:var(--ink-soft)}
html[data-phead="plain"] .phead__bg{display:none}
html[data-phead="plain"] .phead{padding-bottom:clamp(36px,4vw,56px);border-bottom:1px solid var(--line)}
html[data-cphoto="off"] .philosophy{grid-template-columns:1fr;padding-block:clamp(64px,7vw,104px)}
html[data-cphoto="off"] .philosophy__bg,html[data-cphoto="off"] .rep__fig,html[data-cphoto="off"] .staff__fig,html[data-cphoto="off"] .hist__fig,html[data-cphoto="off"] [data-sec="company.gallery"]{display:none!important}
html[data-cphoto="off"] .rep{grid-template-columns:1fr}
html[data-cphoto="off"] .staff__item{padding-top:18px;border-top:1px solid var(--ink)}
html[data-cphoto="off"] .staff__role{margin-top:0}
@media (max-width:760px){
  .jrow__head,.jrow__detail{grid-template-columns:1fr}
  .jrow__spec>div{grid-template-columns:1fr;gap:2px}
  .news-single .pnav{grid-template-columns:1fr}
  .news-single .pnav__next{border-left:0;border-top:1px solid var(--line);padding-left:4px!important}
}
