*{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
*,*::before,*::after{box-sizing:border-box}
:root{
  --bg:#ffffff;
  --paper:#f7f4f0;
  --line:#e3ded8;
  --ink:#1d1d1d;
  --ink-soft:#454545;
  --main:#e03800;
  --main-deep:#1d1d1d;
  --main-pale:#f7f2ee;
  --accent:#e03800;
  --accent-deep:#c23200;
  --accent-pale:#fdf1ec;
  --ff:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
  --ff-en:"Montserrat","Noto Sans JP",sans-serif;
  --fs-body:16px;
  --fs-lead:17px;
  --fs-small:14px;
  --lh:1.9;
  --hdr:84px;
  --wrap:1240px;
  --gut:clamp(20px,4vw,48px);
  --sec:clamp(88px,10vw,144px);
  --ease:cubic-bezier(.22,1,.36,1);
  --ease-io:cubic-bezier(.76,0,.24,1)
}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hdr) + 16px)}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;font-family:var(--ff);font-weight:500;font-size:var(--fs-body);line-height:var(--lh);color:var(--ink);background:var(--bg);letter-spacing:.03em;overflow-x:hidden;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
p{font-size:var(--fs-body);line-height:var(--lh);color:var(--ink-soft)}
p+p{margin-top:1.2em}
a{color:inherit;text-decoration:none;transition:color .3s var(--ease)}
img{display:block;max-width:100%;height:auto}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
strong{font-weight:700;color:var(--ink)}
.container{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.section{padding:var(--sec) 0}
.section--paper{background:var(--paper)}
.section--pale{background:var(--main-pale)}
.section--tight{padding:clamp(64px,7vw,96px) 0}
.en{font-family:var(--ff-en);letter-spacing:.08em}
.sp-only{display:none}
.nw{white-space:nowrap}
img[src*="p-team"],img[src*="p-field"],img[src*="p-model"],img[src*="corp-meeting"],img[src*="p-consult"],img[src*="p-desk"],img[src*="hero-03"]{object-position:50% 22%}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.shead{margin-bottom:clamp(40px,5vw,64px)}
.shead__en{display:block;font-family:var(--ff-en);font-size:13px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--accent-deep);line-height:1.4}
.shead__t{margin-top:14px;font-size:clamp(26px,3vw,40px);font-weight:700;line-height:1.5;letter-spacing:.04em;color:var(--ink)}
.shead__t .ln{display:block;overflow:hidden;padding-bottom:.04em}
.shead__t .ln>span{display:inline-block;transform:translateY(105%);transition:transform .8s var(--ease)}
.shead__t .ln:nth-child(2)>span{transition-delay:.1s}
.shead.is-inview .shead__t .ln>span{transform:none}
.shead__en{opacity:0;transform:translateY(10px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.shead.is-inview .shead__en{opacity:1;transform:none}
.shead__x{margin-top:22px;font-size:var(--fs-lead)}
.shead--c{text-align:center}
.shead--row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px 64px;align-items:end}
.shead--row .shead__x{margin-top:0}
.shead--light .shead__en{color:#fff}
.shead--light .shead__t{color:#fff}
.shead--light .shead__x{color:#fff}

.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s var(--ease),transform .8s var(--ease)}
.reveal.is-inview{opacity:1;transform:none}
.d1{transition-delay:.08s!important}.d2{transition-delay:.16s!important}.d3{transition-delay:.24s!important}.d4{transition-delay:.32s!important}
.cover{position:relative;overflow:hidden;background:var(--main-pale)}
.cover img{width:100%;height:100%;object-fit:cover;transform:scale(1.1);transition:transform 1.1s var(--ease) .15s}
.cover::after{content:"";position:absolute;inset:0;z-index:2;background:var(--main);transform:scaleX(1);transform-origin:right;transition:transform .8s var(--ease-io)}
.cover.is-inview img{transform:none}
.cover.is-inview::after{transform:scaleX(0)}

.btn{position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;height:60px;min-width:260px;padding:0 26px 0 30px;overflow:hidden;isolation:isolate;font-size:15px;font-weight:700;letter-spacing:.06em;line-height:1;white-space:nowrap;transition:color .35s var(--ease)}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--main-deep);transform:scaleX(0);transform-origin:right;transition:transform .6s var(--ease)}
@media (hover:hover){.btn:hover::before{transform:scaleX(1);transform-origin:left}}
.btn__arrow{display:inline-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)}
@media (hover:hover){.btn:hover .btn__arrow{transform:translateX(4px) rotate(45deg)}}
.btn--main{background:var(--main);color:#fff}
.btn--main::before{background:var(--main-deep)}
.btn--accent{background:var(--accent);color:#fff}
.btn--accent::before{background:var(--accent-deep)}
.btn--dark{background:var(--main-deep);color:#fff}
.btn--dark::before{background:#000}
.btn--white{background:#fff;color:var(--main)}
.btn--white::before{background:var(--main)}
@media (hover:hover){.btn--white:hover{color:#fff}}
.btn--pale{background:var(--main-pale);color:var(--main)}
.btn--pale::before{background:var(--main)}
@media (hover:hover){.btn--pale:hover{color:#fff}}
.btn--sm{height:46px;min-width:0;padding:0 20px;font-size:14px;gap:12px}
.btns{display:flex;flex-wrap:wrap;gap:14px}
.more{display:inline-flex;align-items:center;gap:14px;font-size:15px;font-weight:700;color:var(--main);white-space:nowrap}
@media (hover:hover){.more:hover{color:var(--accent-deep)}}
@media (hover:hover){.more:hover .btn__arrow{transform:translateX(4px) rotate(45deg)}}

.hdr{position:fixed;top:0;left:0;right:0;z-index:500;height:var(--hdr);background:#fff;transition:background .4s var(--ease),box-shadow .4s var(--ease),height .4s var(--ease)}
.hdr.is-stuck{box-shadow:0 1px 0 var(--line);height:72px}
.hdr__in{display:flex;align-items:center;gap:28px;height:100%;padding:0 clamp(20px,4.4vw,72px)}
.logo{position:relative;flex:none;display:block;width:118px}
.logo__img{width:100%;height:auto;transition:opacity .4s var(--ease)}
.logo__img--w{position:absolute;inset:0;opacity:0}
.gnav{margin-left:auto}
.gnav__list{display:flex;gap:clamp(18px,1.8vw,32px)}
.gnav__list a{display:block;padding:8px 0;font-size:15px;font-weight:700;letter-spacing:.06em;color:var(--ink);white-space:nowrap}
.gnav__list a[aria-current="page"]{color:var(--accent-deep)}@media (hover:hover){.gnav__list a:hover{color:var(--accent-deep)}}
.hdr__act{display:flex;align-items:center;gap:10px}
.hdr__tel{display:flex;flex-direction:column;align-items:flex-end;margin-right:8px;line-height:1.2;white-space:nowrap}
.hdr__tel small{font-family:var(--ff-en);font-size:11px;font-weight:600;letter-spacing:.2em;color:var(--accent-deep)}
.hdr__tel span{font-family:var(--ff-en);font-size:19px;font-weight:600;letter-spacing:.04em;color:var(--main)}
.burger{display:none;position:relative;width:48px;height:48px;margin-left:auto}
.burger span{position:absolute;left:12px;right:12px;height:2px;background:var(--main);transition:transform .4s var(--ease),top .4s var(--ease),background .3s}
.burger span:nth-child(1){top:19px}
.burger span:nth-child(2){top:28px}
.menu-open .burger span:nth-child(1){top:23px;transform:rotate(30deg)}
.menu-open .burger span:nth-child(2){top:23px;transform:rotate(-30deg)}
.menu-open .hdr{background:#fff!important;box-shadow:0 1px 0 var(--line)}
.menu-open .hdr .logo__img{opacity:1!important}
.menu-open .hdr .logo__img--w{opacity:0!important}
.menu-open .hdr .burger span{background:var(--main)!important}

.drawer{position:fixed;inset:0;z-index:490;padding:calc(var(--hdr) + 12px) 0 40px;background:#fff;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;visibility:hidden;opacity:0;transition:opacity .45s var(--ease),visibility 0s .45s}
.menu-open .drawer{visibility:visible;opacity:1;transition:opacity .45s var(--ease)}
.drawer__in{padding:0 var(--gut)}
.drawer__list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.drawer__list li{border-bottom:1px solid var(--line);opacity:0;transform:translateY(10px)}
.drawer__list li:nth-child(odd){border-right:1px solid var(--line)}
.menu-open .drawer__list li{animation:dIn .6s var(--ease) forwards}
@keyframes dIn{to{opacity:1;transform:none}}
.drawer__list a{display:flex;flex-direction:column;gap:2px;padding:16px 14px;font-size:16px;font-weight:700;color:var(--ink)}
.drawer__list a small{font-family:var(--ff-en);font-size:11px;font-weight:600;letter-spacing:.18em;color:var(--accent-deep);text-transform:uppercase}
.drawer__list a[aria-current="page"]{color:var(--accent-deep)}
.drawer__owner{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding:18px 16px;background:var(--paper);font-size:15px;font-weight:700;color:var(--main)}
.drawer__btns{display:grid;gap:10px;margin-top:20px}
.drawer__btns .btn{width:100%}
.drawer__tel{margin-top:20px;text-align:center}
.drawer__tel a{font-family:var(--ff-en);font-size:26px;font-weight:600;color:var(--main);letter-spacing:.04em}
.drawer__tel p{font-size:14px}

.opening{position:fixed;inset:0;z-index:900;display:flex;align-items:center;justify-content:center;background:var(--main-deep);pointer-events:none}
.opening__in{text-align:center;opacity:0;transform:translateY(12px);animation:opIn .55s var(--ease) .05s forwards,opOut .35s var(--ease) .85s forwards}
.opening__logo{width:min(180px,46vw);margin:0 auto}
.opening__word{margin-top:16px;font-family:var(--ff-en);font-size:15px;font-weight:600;letter-spacing:.34em;color:#e3c08e}
.opening__word small{display:block;margin-top:6px;font-family:var(--ff);font-size:13px;letter-spacing:.24em;color:#fff}
.opening.is-run{animation:opUp .55s var(--ease-io) .95s forwards}
@keyframes opIn{to{opacity:1;transform:none}}
@keyframes opOut{to{opacity:0;transform:translateY(-8px)}}
@keyframes opUp{to{transform:translateY(-100%)}}
html[data-opening="none"] .opening{display:none}

.pt-leave{position:fixed;inset:0;z-index:800;display:flex;align-items:center;justify-content:center;background:var(--main-deep);transform:scaleY(0);transform-origin:bottom;transition:transform .42s var(--ease-io);pointer-events:none}
.pt-leave.is-on{transform:scaleY(1)}
.pt-leave img{width:130px;opacity:0;transition:opacity .2s ease .2s}
.pt-leave.is-on img{opacity:1}
html.pt-enter::after{content:"";position:fixed;inset:0;z-index:800;background:var(--main-deep);transform-origin:top;animation:ptIn .55s var(--ease-io) forwards;pointer-events:none}
@keyframes ptIn{to{transform:scaleY(0)}}
html[data-opening="on"].pt-enter::after{display:none}

@keyframes kb{from{transform:scale(1.1)}to{transform:scale(1)}}
@keyframes wipe{0%{transform:scaleY(0);transform-origin:bottom}46%{transform:scaleY(1);transform-origin:bottom}54%{transform:scaleY(1);transform-origin:top}100%{transform:scaleY(0);transform-origin:top}}
@keyframes bar{to{transform:scaleX(1)}}
@keyframes scl{0%{transform:translateY(-100%)}60%,100%{transform:translateY(100%)}}

.ticker{border-bottom:1px solid var(--line);background:#fff}
.ticker__in{display:flex;align-items:center;gap:28px;height:76px}
.ticker__label{flex:none;font-family:var(--ff-en);font-size:13px;font-weight:700;letter-spacing:.22em;color:var(--accent-deep)}
.ticker__view{position:relative;flex:1;min-width:0;height:28px;overflow:hidden}
.ticker__item{position:absolute;inset:0;display:flex;align-items:center;gap:22px;opacity:0;transform:translateY(100%);transition:transform .7s var(--ease),opacity .7s var(--ease)}
.ticker__item.is-active{opacity:1;transform:none}
.ticker__item.is-out{opacity:0;transform:translateY(-100%)}
.ticker__item time{flex:none;font-family:var(--ff-en);font-size:14px;font-weight:600;color:var(--main)}
.ticker__item span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:500}
@media (hover:hover){.ticker__item:hover span{color:var(--accent-deep)}}
.ticker__more{flex:none}

.tasks{border-top:1px solid var(--line)}
.task{position:relative;display:grid;grid-template-columns:88px minmax(0,1fr) 130px 40px;align-items:center;gap:24px;padding:30px 20px 30px 8px;border-bottom:1px solid var(--line);isolation:isolate}
.task::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--main-pale);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.task__no{font-family:var(--ff-en);font-size:20px;font-weight:600;color:var(--main);letter-spacing:.04em;transition:color .4s}
.task__t{font-size:clamp(16px,1.5vw,19px);font-weight:700;line-height:1.65;color:var(--ink)}
.task__t small,.tblock__t small{display:block;margin-top:2px;font-size:.8em;font-weight:700;color:var(--ink-soft)}
.kw{word-break:keep-all;overflow-wrap:anywhere}
h1.kw,h2.kw,h3.kw,h4.kw{text-wrap:balance}
.jn{font-style:normal;white-space:nowrap}
.task__f{font-size:14px;font-weight:700;color:var(--accent-deep);text-align:right}
.task .btn__arrow{justify-self:end;color:var(--main)}
@media (hover:hover) and (pointer:fine){
  .task:hover::before{transform:scaleX(1)}
  .task:hover .task__no{color:var(--accent-deep)}
  .task:hover .btn__arrow{transform:translateX(4px) rotate(45deg)}
}
.tasks-foot{display:flex;justify-content:flex-end;margin-top:36px}

.wcard{scroll-snap-align:start;display:flex;flex-direction:column;min-height:280px;padding:30px 28px;background:var(--paper);transition:background .4s var(--ease)}
@media (hover:hover){a.wcard:hover{background:var(--main-pale)}}
.wcard__y{font-family:var(--ff-en);font-size:15px;font-weight:600;color:var(--accent-deep);letter-spacing:.08em}
.wcard__c{margin-top:6px;font-size:14px;font-weight:700;color:var(--main)}
.wcard__t{margin-top:18px;font-size:18px;font-weight:700;line-height:1.65;color:var(--ink)}
.wcard__m{margin-top:auto;padding-top:20px;font-size:14px;line-height:1.7;color:var(--ink-soft)}
.wcard__r{display:block;color:var(--accent-deep);font-weight:700}
.sctrl{display:flex;align-items:center;gap:10px;margin-top:28px}
.sctrl__btn{position:relative;width:56px;height:56px;background:var(--main);color:#fff;transition:background .3s}
@media (hover:hover){.sctrl__btn:hover{background:var(--main-deep)}}
.sctrl__btn::before{content:"";position:absolute;left:50%;top:50%;width:18px;height:1px;margin-left:-9px;background:currentColor}
.sctrl__btn::after{content:"";position:absolute;top:50%;width:7px;height:7px;margin-top:-4px;border-top:1px solid currentColor;border-right:1px solid currentColor}
.sctrl__btn--prev::after{left:50%;margin-left:-9px;transform:rotate(-135deg)}
.sctrl__btn--next::after{right:50%;margin-right:-9px;transform:rotate(45deg)}
.sctrl__cnt{margin-left:12px;font-family:var(--ff-en);font-size:14px;font-weight:600;color:var(--main);letter-spacing:.1em}
.sctrl .more{margin-left:auto}

.process__en{font-family:var(--ff-en);font-size:clamp(26px,3.4vw,44px);font-weight:600;line-height:1.1;letter-spacing:.01em;color:var(--main)}
.process__en span{display:inline-block;opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease),transform 1s var(--ease)}
.process__en span:nth-child(2){transition-delay:.12s}.process__en span:nth-child(3){transition-delay:.24s}.process__en span:nth-child(4){transition-delay:.36s}.process__en span:nth-child(5){transition-delay:.48s}
.process__en.is-inview span{opacity:1;transform:none}
.process__en .amp{color:var(--accent)}
.process__lead{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 64px;margin-top:32px;align-items:start}
.process__lead h2{font-size:clamp(20px,2vw,26px);font-weight:700;line-height:1.6;color:var(--ink)}
.steps{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,48px);margin-top:clamp(48px,6vw,72px);padding-top:40px}
.steps--4{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:0}
.hfoot-sub{margin-top:28px}
.steps__line{position:absolute;left:0;right:0;top:0;height:2px;background:var(--line)}
.steps__line i{position:absolute;inset:0;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform 1.8s var(--ease-io) .2s}
.steps.is-inview .steps__line i{transform:scaleX(1)}
.step{position:relative}
.step::before{content:"";position:absolute;left:0;top:-46px;width:14px;height:14px;background:var(--bg);border:2px solid var(--accent);transform:rotate(45deg)}
.section--paper .step::before{background:var(--paper)}
.step__k{font-family:var(--ff-en);font-size:13px;font-weight:600;letter-spacing:.2em;color:var(--accent-deep)}
.step__t{margin-top:10px;font-size:clamp(20px,1.9vw,24px);font-weight:700;color:var(--ink);line-height:1.5}
.step__w{margin-top:4px;font-family:var(--ff-en);font-size:14px;font-weight:600;color:var(--main);letter-spacing:.06em}
.step p{margin-top:14px}

.vitem{flex:0 0 100%;display:grid;align-content:start;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,80px);padding:clamp(32px,4vw,56px);background:#fff}
.vitem__k{font-size:14px;font-weight:700;color:var(--accent-deep)}
.vitem__t{margin-top:12px;font-size:clamp(20px,2.1vw,27px);font-weight:700;line-height:1.55;color:var(--ink)}
.vitem__who{margin-top:20px;font-size:15px;font-weight:700;color:var(--main)}
.vitem__b p{font-size:var(--fs-lead)}

.tabs{display:flex;flex-wrap:wrap;gap:8px}
.tab{height:48px;padding:0 22px;font-size:15px;font-weight:700;background:#fff;color:var(--ink);white-space:nowrap;transition:background .3s,color .3s}
.section--paper .tab{background:#fff}
.section:not(.section--paper) .tab{background:var(--paper)}
.tab[aria-selected="true"],.section .tab[aria-selected="true"]{background:var(--main);color:#fff}
@media (hover:hover){.tab:hover:not([aria-selected="true"]){color:var(--main);background:var(--main-pale)}}
.tabpanel{animation:tpIn .6s var(--ease)}
.tabpanel[hidden]{display:none}
@keyframes tpIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.plist{border-top:1px solid var(--line)}
.prow{display:grid;grid-template-columns:120px minmax(0,1fr) 30px;gap:20px;align-items:center;padding:24px 4px;border-bottom:1px solid var(--line)}
.prow time{font-family:var(--ff-en);font-size:14px;font-weight:600;color:var(--main);letter-spacing:.04em}
.prow__t{font-size:16px;font-weight:700;color:var(--ink);line-height:1.7}
@media (hover:hover){.prow:hover .prow__t{color:var(--main)}}
@media (hover:hover){.prow:hover .btn__arrow{transform:translateX(4px) rotate(45deg)}}
.prow .btn__arrow{color:var(--main)}
.prow--img{grid-template-columns:132px minmax(0,1fr) 30px}
.prow__img{aspect-ratio:4/3;overflow:hidden;background:var(--main-pale)}
.prow__img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
@media (hover:hover){.prow:hover .prow__img img{transform:scale(1.06)}}
.prow__d{display:block;font-family:var(--ff-en);font-size:13px;font-weight:600;color:var(--main);margin-bottom:4px}

.ftr{padding:clamp(64px,7vw,96px) 0 32px;background:#fff;border-top:1px solid var(--line)}
.ftr__top{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:48px}
.ftr__logo{display:block;width:130px}
.ftr__name{margin-top:22px;font-size:17px;font-weight:700;color:var(--ink)}
.ftr__off{margin-top:14px}
.ftr__off p{font-size:14px;line-height:1.8;color:var(--ink-soft)}
.ftr__off p+p{margin-top:10px}
.ftr__off b{display:block;font-weight:700;color:var(--ink)}
.ftr__nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.ftr__nav h3{font-size:14px;font-weight:700;color:var(--main);margin-bottom:12px}
@media (hover:hover){.ftr__nav h3 a:hover{color:var(--accent-deep)}}
.ftr__nav li a{display:block;padding:5px 0;font-size:14px;color:var(--ink-soft);white-space:nowrap}
@media (hover:hover){.ftr__nav li a:hover{color:var(--main)}}
.ftr__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:56px;padding-top:24px;border-top:1px solid var(--line)}
.ftr__bottom p,.ftr__bottom a{font-size:13px;color:var(--ink-soft)}
@media (max-width:1100px){.ftr__bottom{padding-right:64px}}
.ftr__demo{width:100%;padding:14px 16px;background:var(--accent-pale);font-size:14px;font-weight:700;color:var(--ink)!important}
.pagetop{position:fixed;right:20px;bottom:20px;z-index:200;width:52px;height:52px;background:var(--main);color:#fff;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s,background .3s}
.pagetop::before{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;margin:-2px 0 0 -5px;border-top:1px solid #fff;border-left:1px solid #fff;transform:rotate(45deg)}
.pagetop.is-show{opacity:1;visibility:visible}
@media (hover:hover){.pagetop:hover{background:var(--main-deep)}}

.fbar{display:none}

.phead{position:relative;height:clamp(300px,34vw,440px);margin-top:var(--hdr);overflow:hidden;color:#fff;background:var(--main-deep)}
.phead__bg{position:absolute;inset:0}
.phead__bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.12);animation:phIn 2.2s var(--ease) forwards}
@keyframes phIn{to{transform:scale(1)}}
.phead::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,20,20,.84) 0%,rgba(20,20,20,.5) 60%,rgba(20,20,20,.3) 100%)}
.phead__in{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;height:100%}
.phead__en{font-family:var(--ff-en);font-size:13px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:#fff;opacity:0;animation:fadeUp .7s var(--ease) .15s forwards}
.phead__t{color:#fff;margin-top:14px;font-size:clamp(26px,3.4vw,44px);font-weight:700;letter-spacing:.06em;line-height:1.45;overflow:hidden}
.phead__t span{display:inline-block;transform:translateY(105%);animation:lnUp .8s var(--ease) .2s forwards}
@keyframes lnUp{to{transform:none}}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.crumbs{border-bottom:1px solid var(--line);background:#fff}
.crumbs ol{display:flex;flex-wrap:wrap;gap:4px 12px;padding:16px 0;font-size:13px}
.crumbs li{display:flex;align-items:center;gap:12px;color:var(--ink)}
.crumbs li+li::before{content:"";width:6px;height:6px;border-top:1px solid var(--ink-soft);border-right:1px solid var(--ink-soft);transform:rotate(45deg)}
.crumbs a{color:var(--ink-soft)}
@media (hover:hover){.crumbs a:hover{color:var(--main)}}

.intro{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start}
.intro .shead__t{font-size:clamp(22px,2.2vw,30px)}
.intro>.shead{margin-bottom:0}
.intro__t{font-size:clamp(24px,2.6vw,34px);font-weight:700;line-height:1.6;color:var(--ink)}
.intro__t .ln{display:block}
.intro__words{margin-top:28px;padding:26px 28px;background:var(--paper)}
.intro__words li{font-size:16px;font-weight:700;line-height:2;color:var(--ink)}
.intro__words em{font-style:normal;font-family:var(--ff-en);font-weight:600;color:var(--accent-deep)}

.slot{position:relative;background:var(--paper)}
.slot img{width:100%;height:100%;object-fit:cover}
.slot.is-empty{display:flex;align-items:center;justify-content:center;border:1px dashed #cfc6bd}
.slot.is-empty img{display:none}
.slot__label{display:none;padding:20px;text-align:center;font-size:14px;font-weight:700;line-height:1.7;color:var(--ink-soft)}
.slot.is-empty .slot__label{display:block}

.tblock{display:grid;grid-template-columns:200px minmax(0,1fr);gap:clamp(24px,4vw,64px);padding:clamp(40px,5vw,64px) 0;border-top:1px solid var(--line)}
.tblock:last-child{border-bottom:1px solid var(--line)}
.tblock__side{position:sticky;top:110px;align-self:start}
.tblock__no{font-family:var(--ff-en);font-size:clamp(20px,2vw,26px);font-weight:600;line-height:1;color:var(--main)}
.tblock__f{margin-top:12px;font-size:14px;font-weight:700;color:var(--accent-deep)}
.tblock__t{font-size:clamp(20px,2vw,26px);font-weight:700;line-height:1.6;color:var(--ink)}
.tblock__issue{margin-top:14px;font-size:var(--fs-lead)}
.tblock__sub{margin-top:28px;font-size:14px;font-weight:700;color:var(--main)}
.rel{margin-top:12px;border-top:1px solid var(--line)}
.rel li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.7;color:var(--ink)}
.rel li span{font-family:var(--ff-en);font-weight:600;color:var(--accent-deep)}
.rel li small{display:block;font-size:13px;color:var(--ink-soft)}
.rvoice{margin-top:24px;padding:24px 26px;background:#fff;border:1px solid var(--line)}
.rvoice b{display:block;font-size:15px;color:var(--ink)}
.rvoice p{margin-top:8px;font-size:15px}
.rvoice small{display:block;margin-top:8px;font-size:13px;font-weight:700;color:var(--main)}
.tblock .more{margin-top:24px}

.mrows .mrow{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(24px,4vw,64px);padding:clamp(36px,4vw,52px) 0;border-top:1px solid var(--line)}
.mrows .mrow:last-child{border-bottom:1px solid var(--line)}
.mrow__no{font-family:var(--ff-en);font-size:clamp(20px,2vw,24px);font-weight:600;line-height:1;color:var(--main)}
.mrow__t{margin-top:14px;font-size:clamp(20px,2vw,24px);font-weight:700;line-height:1.5;color:var(--ink)}

.flow{display:grid;gap:0;counter-reset:fl}
.flow__item{position:relative;display:grid;grid-template-columns:120px minmax(0,1fr);gap:24px;padding:0 0 40px}
.flow__item::before{content:"";position:absolute;left:40px;top:44px;bottom:0;width:1px;background:var(--line)}
.flow__item:last-child::before{display:none}
.flow__item:last-child{padding-bottom:0}
.flow__k{display:flex;flex-direction:column;align-items:flex-start;width:82px;padding-top:4px;font-family:var(--ff-en);font-size:12px;font-weight:600;letter-spacing:.16em;color:var(--accent-deep);background:inherit}
.flow__k b{font-size:20px;line-height:1.1;color:var(--main);letter-spacing:.02em}
.flow__t{font-size:20px;font-weight:700;color:var(--ink);line-height:1.6}
.flow__item p{margin-top:8px}

.faq{border-top:1px solid var(--line)}
.faq__item{border-bottom:1px solid var(--line)}
.faq__q{display:grid;grid-template-columns:40px minmax(0,1fr) 24px;gap:16px;align-items:center;width:100%;padding:24px 4px;text-align:left;font-size:17px;font-weight:700;line-height:1.7;color:var(--ink)}
@media (hover:hover){.faq__q:hover{color:var(--main)}}
.faq__q .qa{font-family:var(--ff-en);font-size:22px;font-weight:600;color:var(--main)}
.faq__pm{position:relative;width:16px;height:16px}
.faq__pm::before,.faq__pm::after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;background:var(--main);transition:transform .4s var(--ease)}
.faq__pm::after{transform:rotate(90deg)}
.faq__item.is-open .faq__pm::after{transform:rotate(0)}
.faq__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}
.faq__item.is-open .faq__a{grid-template-rows:1fr}
.faq__a>div{overflow:hidden}
.faq__a .inner{display:grid;grid-template-columns:40px minmax(0,1fr);gap:16px;padding:0 4px 26px}
.faq__a .qa{font-family:var(--ff-en);font-size:22px;font-weight:600;color:var(--accent-deep);line-height:1.4}

.svcrow{display:grid;grid-template-columns:260px minmax(0,1fr) 40px;gap:clamp(20px,3vw,40px);align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}
.svcrows{border-top:1px solid var(--line)}
.svcrow__img{aspect-ratio:13/12;overflow:hidden}
.svcrow__img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.svcrow__no{font-family:var(--ff-en);font-size:14px;font-weight:600;color:var(--accent-deep);letter-spacing:.14em}
.svcrow__t{margin-top:6px;font-size:clamp(19px,1.8vw,23px);font-weight:700;color:var(--ink);line-height:1.5}
.svcrow__c{margin-top:8px;font-size:15px;font-weight:700;color:var(--main)}
.svcrow p{margin-top:10px;font-size:15px}
@media (hover:hover){.svcrow:hover .svcrow__img img{transform:scale(1.05)}}
@media (hover:hover){.svcrow:hover .svcrow__t{color:var(--main)}}
@media (hover:hover){.svcrow:hover .btn__arrow{transform:translateX(4px) rotate(45deg)}}
.svcrow .btn__arrow{color:var(--main)}
.tabs--lg{margin-bottom:clamp(36px,4vw,56px)}
.tabs--lg .tab{height:60px;padding:0 32px;font-size:16px}

.sdetail__intro{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(32px,6vw,88px);align-items:center}
.sdetail__catch{font-size:clamp(23px,2.5vw,32px);font-weight:700;line-height:1.6;color:var(--ink)}
.sdetail__fig{aspect-ratio:13/12}
.sdetail__body{margin-top:32px}
.points{margin-top:clamp(48px,6vw,72px);padding:clamp(28px,3.4vw,44px);background:var(--paper)}
.points h3{font-size:19px;font-weight:700;color:var(--ink)}
.points ul{margin-top:16px}
.points li{position:relative;padding:12px 0 12px 26px;border-bottom:1px solid var(--line);font-size:16px;line-height:1.75;color:var(--ink)}
.points li:last-child{border-bottom:0}
.points li::before{content:"";position:absolute;left:4px;top:23px;width:8px;height:8px;background:var(--accent);transform:rotate(45deg)}

.wfilter{display:flex;flex-wrap:wrap;gap:8px}
.wfilter .tab span{margin-left:8px;font-family:var(--ff-en);font-size:13px;font-weight:600}
.wfilter--year{margin-top:12px}
.wfilter--year .tab{height:40px;padding:0 16px;font-size:14px}
.wsel{display:none}
@media (max-width:767px){.wfilter{display:none}.wsel{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.wsel__i{position:relative;display:block}.wsel__i>span{display:block;margin-bottom:6px;font-size:13px;font-weight:700;color:var(--ink)}.wsel__i::after{content:"";position:absolute;right:16px;bottom:21px;width:7px;height:7px;border-right:2px solid var(--main);border-bottom:2px solid var(--main);transform:rotate(45deg);pointer-events:none}.wsel select{width:100%;height:48px;padding:0 36px 0 14px;font:inherit;font-size:16px;font-weight:600;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:0;-webkit-appearance:none;appearance:none}}
.wlist__meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin:32px 0 16px;font-size:14px;font-weight:700;color:var(--ink)}
.wlist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.wlist .wcard{min-height:240px;background:#fff;animation:tpIn .6s var(--ease) both}
.wlist__empty{grid-column:1/-1;padding:40px;background:#fff;text-align:center}
.wnote{margin-top:24px;font-size:14px}
.wgroup{margin-top:clamp(56px,6vw,80px);padding:clamp(28px,3vw,40px);background:var(--paper)}
.wgroup h3{font-size:18px;font-weight:700;color:var(--ink)}
.wgroup p{margin-top:10px}

.points2{display:grid;gap:clamp(48px,6vw,80px)}
.pt{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center}
.pt:nth-child(even) .pt__fig{order:2}
.pt__fig{aspect-ratio:16/9}
.pt__k{font-family:var(--ff-en);font-size:13px;font-weight:600;letter-spacing:.22em;color:var(--accent-deep)}
.pt__t{margin-top:12px;font-size:clamp(21px,2.2vw,28px);font-weight:700;line-height:1.6;color:var(--ink)}
.pt__t .ln{display:block}
.pt p{margin-top:20px}

.owner{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(32px,6vw,88px);align-items:start}
.owner__fig{aspect-ratio:1/1}
.owner__role{margin-top:24px;font-size:14px;font-weight:700;color:var(--main)}
.owner__name{margin-top:4px;font-size:28px;font-weight:700;color:var(--ink);letter-spacing:.1em}
.owner__en{font-family:var(--ff-en);font-size:13px;font-weight:600;letter-spacing:.2em;color:var(--accent-deep)}
.owner__lic{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.owner__lic h3,.career h3{font-size:14px;font-weight:700;color:var(--main)}
.owner__lic li{margin-top:6px;font-size:15px;color:var(--ink)}
.owner__msg p{font-size:var(--fs-lead)}
.career{margin-top:clamp(48px,6vw,72px)}
.career ol{position:relative;margin-top:20px;padding-left:28px}
.career ol::before{content:"";position:absolute;left:5px;top:10px;bottom:10px;width:1px;background:var(--line)}
.career ol::after{content:"";position:absolute;left:5px;top:10px;bottom:10px;width:1px;background:var(--accent);transform:scaleY(0);transform-origin:top;transition:transform 2s var(--ease-io)}
.career.is-inview ol::after{transform:scaleY(1)}
.career li{position:relative;padding:0 0 24px}
.career li::before{content:"";position:absolute;left:-27px;top:9px;width:9px;height:9px;background:#fff;border:2px solid var(--accent);transform:rotate(45deg)}
.career time{font-family:var(--ff-en);font-size:14px;font-weight:600;color:var(--main)}
.career b{display:block;margin-top:2px;font-size:16px;color:var(--ink)}
.career p{margin-top:4px;font-size:15px}

.ctable{border-top:1px solid var(--line)}
.ctable div{display:grid;grid-template-columns:200px minmax(0,1fr);border-bottom:1px solid var(--line)}
.ctable dt{padding:22px 24px;background:var(--paper);font-size:15px;font-weight:700;color:var(--ink)}
.ctable dd{padding:22px 24px;font-size:16px;line-height:1.85;color:var(--ink)}
.ctable dd li+li{margin-top:6px}
.offices{display:grid}
.office{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,4fr) minmax(0,4fr);gap:clamp(20px,2.4vw,32px);align-items:start;padding:clamp(32px,4vw,48px) 0;border-top:1px solid var(--line)}
.office:last-child{border-bottom:1px solid var(--line)}
.office__k{font-size:14px;font-weight:700;color:var(--accent-deep)}
.office__t{margin-top:6px;font-size:22px;font-weight:700;color:var(--ink)}
.office p{margin-top:12px}
.office__map{aspect-ratio:16/10;background:var(--paper)}
.office__map iframe{display:block;width:100%;height:100%;border:0}
.office .slot{aspect-ratio:16/10}
.slot--wide{aspect-ratio:12/5}
@media (max-width:767px){.slot--wide{aspect-ratio:16/10}}

.vlist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.vlist .vitem{display:block;padding:clamp(28px,3vw,44px)}
.vlist .vitem__b{margin-top:16px}
.vlist .vitem__b p{font-size:16px}
.vlist .vitem:last-child:nth-child(odd){grid-column:1/-1}

.post{max-width:none}
.post__wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(40px,5vw,80px);align-items:start}
.post__d{font-family:var(--ff-en);font-size:15px;font-weight:600;color:var(--main)}
.post__t{margin-top:10px;padding-bottom:24px;border-bottom:1px solid var(--line);font-size:clamp(22px,2.4vw,30px);font-weight:700;line-height:1.6;color:var(--ink)}
.post__eye{margin-top:32px;background:var(--paper)}
.post__eye img{margin:0 auto}
.post__body{margin-top:32px}
.post__body p{color:var(--ink)}
.post__body p+p,.post__body figure+p{margin-top:1.4em}
.post__body figure{margin:32px 0}
.post__body figure img{margin:0 auto;max-height:640px;width:auto}
.post__body h3{margin:40px 0 16px;font-size:20px;font-weight:700;color:var(--ink)}
.post__body a{color:var(--main);font-weight:700}
.pnav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:64px}
.pnav__i{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:132px;padding:24px 28px;border:1px solid var(--line);background:var(--bg);color:var(--ink);transition:background .3s}
.pnav__prev{grid-column:1}
@media (hover:hover){a.pnav__i:hover{background:var(--paper)}}
.pnav__next{grid-column:2;align-items:flex-end;text-align:right}
.pnav__k{display:inline-flex;align-items:center;gap:12px;font-size:14px;font-weight:700;letter-spacing:.06em;color:var(--main)}
.pnav__prev .btn__arrow{transform:rotate(-135deg)}
@media (hover:hover){.pnav__prev:hover .btn__arrow{transform:translateX(-4px) rotate(-135deg)}}
@media (hover:hover){.pnav__next:hover .btn__arrow{transform:translateX(4px) rotate(45deg)}}
.pnav__d{font-family:var(--ff-en);font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--ink)}
.pnav__t{display:-webkit-box;overflow:hidden;font-size:15px;font-weight:700;line-height:1.6;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.pnav__back{margin-top:32px;text-align:center}
.side h3{font-size:15px;font-weight:700;color:var(--main);padding-bottom:12px;border-bottom:2px solid var(--main)}
.side li a{display:block;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.6;color:var(--ink)}
@media (hover:hover){.side li a:hover{color:var(--main)}}
.side li time{display:block;font-family:var(--ff-en);font-size:12px;font-weight:600;color:var(--main)}
.side__cta{margin-top:32px;padding:24px;background:var(--main-pale)}
.side__cta p{font-size:14px;color:var(--ink)}
.side__cta .btn{width:100%;min-width:0;margin-top:14px}
.pager{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:48px}
.pager button{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:48px;font-family:var(--ff-en);font-size:15px;font-weight:600;background:var(--paper);color:var(--ink);transition:background .3s,color .3s}
.pager .pager__num{width:48px}
@media (hover:hover){.pager .pager__num:hover{background:var(--main-pale);color:var(--main)}}
.pager .pager__num[aria-current="page"]{background:var(--main);color:#fff}
.pager .pager__nav{padding:0 18px;font-family:var(--ff);font-size:14px;font-weight:700;letter-spacing:.06em;color:var(--main)}
@media (hover:hover){.pager .pager__nav:hover{background:var(--main-pale)}}
.pager__prev .btn__arrow{transform:rotate(-135deg)}
.pager .pager__nav:disabled{visibility:hidden}
@media (max-width:600px){.pager{gap:6px}.pager .pager__num{width:42px}.pager button{height:42px}.pager .pager__nav{padding:0 12px}}

.cform__grid{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:clamp(32px,5vw,72px);align-items:start}
.form{border-top:1px solid var(--line)}
.field{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px 32px;padding:24px 0;border-bottom:1px solid var(--line)}
.field__l{padding-top:12px;font-size:15px;font-weight:700;color:var(--ink);line-height:1.6}
.field__l .req{margin-left:10px;font-size:13px;font-weight:700;color:#b5473a}
.field__l .opt{margin-left:10px;font-size:13px;font-weight:700;color:var(--ink-soft)}
.form input[type=text],.form input[type=email],.form input[type=tel],.form select,.form textarea{width:100%;min-height:54px;padding:12px 16px;font:inherit;font-size:16px;font-weight:500;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:0;-webkit-appearance:none;appearance:none;transition:border-color .3s,background .3s}
.form select{background-image:linear-gradient(45deg,transparent 50%,var(--main) 50%),linear-gradient(135deg,var(--main) 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:44px}
.form textarea{min-height:180px;resize:vertical;line-height:1.8}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--main);background:#fff}
.checks{display:grid;gap:10px;padding-top:6px}
.checks--row{display:flex;flex-wrap:wrap;gap:10px 28px}
.check{display:flex;align-items:flex-start;gap:12px;font-size:16px;line-height:1.6;color:var(--ink);cursor:pointer}
.check input{flex:none;width:20px;height:20px;margin:3px 0 0;accent-color:var(--main)}
.form__agree{padding:28px 0 0;text-align:center}
.form__agree a{color:var(--main);font-weight:700}
.form__submit{margin-top:24px;text-align:center}
.form__submit .btn{min-width:300px}
.form__done{margin-top:24px;padding:24px;background:var(--accent-pale);font-size:15px;font-weight:700;color:var(--ink);text-align:center}
.form__done[hidden]{display:none}
.form__err{display:block;margin-top:8px;font-size:14px;font-weight:700;color:#b5473a}
.cinfo{position:sticky;top:110px;padding:clamp(24px,3vw,36px);background:var(--paper)}
.cinfo h3{font-size:16px;font-weight:700;color:var(--ink)}
.cinfo__tel{display:block;margin-top:10px;font-family:var(--ff-en);font-size:30px;font-weight:600;color:var(--main);letter-spacing:.04em;white-space:nowrap}
.cinfo p{margin-top:8px;font-size:14px}
.cinfo hr{margin:24px 0;border:0;border-top:1px solid var(--line)}
.cinfo .btn{width:100%;min-width:0;margin-top:14px}

.legal h2{margin-top:44px;font-size:19px;font-weight:700;color:var(--ink)}
.legal h2:first-of-type{margin-top:36px}
.legal p,.legal li{overflow-wrap:anywhere;margin-top:12px;font-size:16px;color:var(--ink-soft);line-height:1.9}
.legal ol{padding-left:1.4em;list-style:decimal}
.legal .box{margin-top:36px;padding:24px;background:var(--paper)}
.legal .box p{margin-top:4px;color:var(--ink)}
.th{display:flex;align-items:flex-end;justify-content:space-between;gap:24px 40px;margin-bottom:clamp(36px,4.4vw,60px)}
.th h2{display:block}
.th__en{display:block;overflow:hidden;font-family:var(--ff-en);font-size:clamp(38px,5vw,66px);font-weight:600;line-height:1.08;letter-spacing:.005em;color:var(--main)}
.th__en>span{display:inline-block;transform:translateY(105%);transition:transform .8s var(--ease)}
.th.is-inview .th__en>span{transform:none}
.th__jp{display:block;margin-top:14px;font-size:14px;font-weight:700;letter-spacing:.12em;color:var(--accent-deep);opacity:0;transition:opacity .7s var(--ease) .15s}
.th.is-inview .th__jp{opacity:1}
.th__side{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.th__x{font-size:15px;line-height:1.9;color:var(--ink-soft)}
.th--c{flex-direction:column;align-items:center;text-align:center}
.th--light .th__en{color:#fff}
.th--light .th__jp{color:#fff}
.th--light .th__x{color:#fff}
.ct-c{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.ct-c__p{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:300px;padding:clamp(40px,5vw,80px);color:#fff;overflow:hidden;isolation:isolate}
.ct-c__p::before{content:"";position:absolute;inset:0;z-index:-1;transform:scaleX(0);transform-origin:right;transition:transform .7s var(--ease)}
@media (hover:hover){.ct-c__p:hover::before{transform:scaleX(1);transform-origin:left}}
.ct-c__p--main{background:var(--main)}
.ct-c__p--main::before{background:#b82e00}
.ct-c__p--gold{background:var(--main-deep)}
.ct-c__p--gold::before{background:#000}
.ct-c__en{font-family:var(--ff-en);font-size:clamp(34px,4.4vw,58px);font-weight:600;line-height:1.05}
.ct-c__t{margin-top:14px;font-size:17px;font-weight:700}
.ct-c__p .btn__arrow{position:absolute;right:clamp(28px,4vw,64px);top:50%;width:14px;height:14px;margin-top:-7px}
@media (hover:hover){.ct-c__p:hover .btn__arrow{transform:translateX(6px) rotate(45deg)}}
.ct-c__tel{border-top:1px solid var(--line);background:#fff}
.ct-c__tel .container{display:flex;justify-content:center;align-items:baseline;flex-wrap:wrap;gap:8px 20px;padding-top:28px;padding-bottom:28px}
.ct-c__tel span{font-size:14px;font-weight:700;color:var(--ink)}
.ct-c__tel a{font-family:var(--ff-en);font-size:30px;font-weight:600;color:var(--main);letter-spacing:.04em}
@media (max-width:900px){
  .th{flex-direction:column;align-items:flex-start}
  .ct-c__p{min-height:0;padding:28px 24px}
  .steps--4{grid-template-columns:minmax(0,1fr)}
  .ct-c__en{font-size:30px}
  .ct-c__t{margin-top:6px;font-size:15px}
  .ct-c__tel .container{padding-top:18px;padding-bottom:18px}
  .ct-c__tel a{font-size:26px}
  .th--c{align-items:center}
  .ct-c{grid-template-columns:minmax(0,1fr)}
  .ct-c__p{min-height:200px}
}
@media (max-width:600px){
  .th__en{font-size:clamp(34px,10vw,44px)}
}
@media (prefers-reduced-motion:reduce){
  .th__en>span{transform:none!important}
  .th__jp{opacity:1!important}
}

.hs>.v{display:none}
.hs>.v.is-on{display:block}
.ct-a{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--main)}
.ct-a__fig{position:relative;min-height:480px}
.ct-a__fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ct-a__panel{display:flex;flex-direction:column;justify-content:center;padding:clamp(48px,6vw,96px) clamp(28px,5vw,88px);color:#fff}
.ct-a__rows{border-top:1px solid rgba(255,255,255,.25)}
.ct-a__rows a{display:grid;grid-template-columns:44px minmax(0,1fr) auto 16px;align-items:center;gap:14px;padding:22px 4px;border-bottom:1px solid rgba(255,255,255,.25);color:#fff;transition:padding .4s var(--ease),background .3s}
.ct-a__rows b{font-family:var(--ff-en);font-size:13px;font-weight:600;color:#ffb08f}
.ct-a__rows span{font-size:17px;font-weight:700;white-space:nowrap}
.ct-a__rows em{font-style:normal;font-family:var(--ff-en);font-size:12px;font-weight:600;letter-spacing:.14em;color:#fff;text-transform:uppercase}
@media (hover:hover){.ct-a__rows a:hover{padding-left:14px;background:rgba(255,255,255,.06)}}
@media (hover:hover){.ct-a__rows a:hover .btn__arrow{transform:translateX(4px) rotate(45deg)}}
@media (max-width:900px){
  .ct-a{grid-template-columns:minmax(0,1fr)}
  .ct-a__fig{min-height:240px}
}
@media (max-width:600px){
  .ct-a__rows a{grid-template-columns:36px minmax(0,1fr) 14px}
  .ct-a__rows em{display:none}
}
.psw{position:fixed;left:16px;bottom:16px;z-index:460;display:flex;align-items:center;gap:4px;padding:5px;background:var(--main-deep);box-shadow:0 10px 30px -10px rgba(20,20,20,.6)}
.psw__l{padding:0 8px 0 6px;font-family:var(--ff-en);font-size:11px;font-weight:600;letter-spacing:.16em;color:#fff}
.psw button{height:36px;padding:0 14px;font-size:13px;font-weight:700;color:#fff;background:transparent;white-space:nowrap;transition:background .3s,color .3s}
.psw button[aria-pressed="true"]{background:#fff;color:var(--main)}
.psw__c{display:flex;align-items:center;height:36px;padding:0 14px;font-size:13px;font-weight:700;line-height:1;color:#fff;white-space:nowrap}
@media (hover:hover){.psw__c:hover{background:rgba(255,255,255,.14)}}
@media (max-width:767px){
  body.has-fbar .psw{bottom:70px}
  .psw{left:10px;bottom:12px}
  .psw__l{display:none}
  .psw button,.psw__c{height:32px;padding:0 10px;font-size:12px}
}
@media print{.psw{display:none}}

@media (max-width:1360px){
  .hdr__tel{display:none}
}
@media (max-width:1180px){
  .gnav__list{gap:18px}
  .gnav__list a{font-size:14px}
}
@media (max-width:1100px){
  :root{--hdr:68px}
  .hdr.is-stuck{height:var(--hdr)}
  .gnav,.hdr__act{display:none}
  .burger{display:block}
  .logo{width:104px}
}
@media (max-width:900px){
  .shead--row,.intro,.sdetail__intro,.owner,.office,.cform__grid,.post__wrap,.process__lead,.pt{grid-template-columns:minmax(0,1fr)}
  .pt:nth-child(even) .pt__fig{order:0}
  .cinfo,.tblock__side{position:static}
  .task{grid-template-columns:64px minmax(0,1fr) 28px;gap:16px;padding:24px 4px}
  .task__f{display:none}
  .task__no{font-size:18px}
  .steps{grid-template-columns:minmax(0,1fr);gap:40px;padding-top:0;padding-left:40px}
  .steps__line{left:6px;right:auto;top:8px;bottom:8px;width:2px;height:auto}
  .steps__line i{transform:scaleY(0);transform-origin:top}
  .steps.is-inview .steps__line i{transform:scaleY(1)}
  .step::before{left:-41px;top:6px}
  .vitem{grid-template-columns:minmax(0,1fr);gap:20px}
  .ftr__top{grid-template-columns:minmax(0,1fr)}
  .tblock{grid-template-columns:minmax(0,1fr);gap:16px}
  .tblock__side{display:flex;align-items:baseline;gap:16px}
  .tblock__f{margin-top:0}
  .mrows .mrow{grid-template-columns:minmax(0,1fr);gap:12px}
  .svcrow{grid-template-columns:180px minmax(0,1fr) 28px}
  .wlist{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vlist{grid-template-columns:minmax(0,1fr)}
  .field{grid-template-columns:minmax(0,1fr);gap:10px}
  .field__l{padding-top:0}
  .ctable div{grid-template-columns:150px minmax(0,1fr)}
  .side{display:none}
}
@media (max-width:767px){
  .fbar{position:fixed;left:0;right:0;bottom:0;z-index:400;display:grid;grid-template-columns:1fr 1.3fr 1fr;background:#fff;box-shadow:0 -1px 0 var(--line);transform:translateY(110%);transition:transform .5s var(--ease)}
  .fbar.is-show{transform:none}
  .fbar.is-show.is-closed{transform:translateY(100%)}
  .fbar__x{opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
  .fbar.is-show .fbar__x{opacity:1;visibility:visible}
  .fbar a{display:flex;align-items:center;justify-content:center;height:58px;padding:0 6px;font-size:14px;font-weight:700;white-space:nowrap;letter-spacing:.02em}
  .fbar__tel{color:var(--main);background:var(--main-pale)}
  .fbar__con{color:#fff;background:var(--main)}
  .fbar__req{color:#fff;background:var(--main-deep)}
  .fbar__x{position:absolute;right:0;bottom:100%;height:32px;padding:0 16px;background:var(--main-deep);color:#fff;font-size:13px;font-weight:700;letter-spacing:.08em;line-height:1;white-space:nowrap}
  body.has-fbar .pagetop{bottom:106px}
  body.has-fbar.fbar-off .pagetop{bottom:48px}
  body.has-fbar.fbar-off .pn-ui{bottom:44px}
  body.has-fbar .ftr{padding-bottom:96px}
}
@media (max-width:600px){
  :root{--fs-lead:16px}
  .hfoot-sub .btn{width:100%}
  .shead__t{font-size:clamp(20px,6.2vw,26px);letter-spacing:.02em}
  .sdetail__catch{font-size:clamp(16px,4.6vw,23px)}
  .intro__words li{line-height:1.8}
  .intro__words li+li{margin-top:8px}
  .task{grid-template-columns:40px minmax(0,1fr) 20px;gap:12px}
  .task__no{font-size:18px}
  .task__t{font-size:15px}
  .sp-only{display:inline}
  .sp-hide{display:none}
  .ticker__in{gap:14px;height:64px}
  .ticker__more span{display:none}
  .ticker__item{gap:12px}
  .ticker__item time{font-size:13px}
  .ticker__item span{font-size:14px}
  .sctrl{flex-wrap:wrap}
  .sctrl .more{width:100%;margin:12px 0 0}
  .vitem{padding:28px 22px}
  .prow{grid-template-columns:minmax(0,1fr) 24px;gap:6px 14px}
  .prow time{grid-column:1/-1}
  .prow--img{grid-template-columns:96px minmax(0,1fr)}
  .prow--img .btn__arrow{display:none}
  .ftr__nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .svcrow{grid-template-columns:minmax(0,1fr);gap:16px}
  .svcrow .btn__arrow{display:none}
  .wlist{grid-template-columns:minmax(0,1fr)}
  .ctable div{grid-template-columns:minmax(0,1fr)}
  .ctable dt{padding:14px 18px}
  .ctable dd{padding:16px 18px}
  .flow__item{grid-template-columns:minmax(0,1fr);gap:0;padding:0 0 36px 40px}
  .flow__item::before{left:6px;top:14px;bottom:-6px;width:2px}
  .flow__item::after{content:"";position:absolute;left:0;top:6px;width:14px;height:14px;background:var(--bg);border:2px solid var(--accent);transform:rotate(45deg)}
  .flow__k{flex-direction:row;align-items:baseline;gap:6px;width:auto;padding-top:0}
  .flow__k b{font-size:13px;letter-spacing:.2em;color:var(--accent-deep)}
  .flow__t{margin-top:6px}
  .faq__q{grid-template-columns:28px minmax(0,1fr) 18px;gap:12px;font-size:16px}
  .faq__a .inner{grid-template-columns:28px minmax(0,1fr);gap:12px}
  .drawer__list a{padding:14px 12px;font-size:15px}
  .tabs--lg .tab{flex:1;padding:0 12px;font-size:15px}
  .form__submit .btn{width:100%;min-width:0}
  .btn{min-width:0}
  .pnav{grid-template-columns:minmax(0,1fr);gap:12px}
  .pnav__i{min-height:0;padding:20px}
  .pnav__prev,.pnav__next{grid-column:auto}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .reveal,.shead__en,.process__en span{opacity:1!important;transform:none!important}
  .shead__t .ln>span,.phead__t span{transform:none!important}
  .phead__en{opacity:1}
  .cover img,.phead__bg img{transform:none!important}
  .cover::after{display:none}
  .steps__line i{transform:none!important}
  .career ol::after{transform:none!important}
  .opening{display:none!important}
  html.pt-enter::after{display:none}
  .drawer__list li{opacity:1;transform:none}
  .ticker__item{transition:none}
}

gd-row{display:block;margin:0 0 12px}
gd-no{display:inline-flex}
.gd-badge{z-index:60;align-items:center;height:34px;padding:0 12px;background:#1d4ed8;color:#fff;font-family:var(--ff);font-size:14px;font-weight:700;letter-spacing:.06em;line-height:1;white-space:nowrap;cursor:pointer;box-shadow:0 6px 16px -6px rgba(0,0,0,.5);transition:background .3s}
.gd-badge--tr,.gd-badge--tl,.gd-badge--above{position:absolute}
.gd-badge--tr{right:12px;top:12px}
.gd-badge--tl{left:12px;top:12px}
.gd-badge--above{left:0;top:-46px}
.gd-badge:focus-visible{background:#1e3a8a;outline:none}@media (hover:hover){.gd-badge:hover{background:#1e3a8a;outline:none}}
.gd-badge.is-focus{outline:4px solid #fff;box-shadow:0 0 0 8px #1d4ed8}
.gd-bar{position:fixed;left:0;right:0;bottom:0;z-index:900;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px var(--gut);background:#1e3a8a;color:#fff}
.gd-bar__t{font-size:14px;font-weight:700;line-height:1.6;color:#fff}
.gd-bar__btns{display:flex;gap:8px;flex:none}
.gd-bar__btns a{display:inline-flex;align-items:center;height:40px;padding:0 18px;font-size:14px;font-weight:700;white-space:nowrap;text-decoration:none}
.gd-bar__list{background:#fff;color:#1e3a8a!important}
.gd-bar__off{border:1px solid rgba(255,255,255,.6);color:#fff!important}
html.is-guide .fbar{display:none!important}
html.is-guide body{padding-bottom:64px}
html.is-guide .pagetop{bottom:88px}
@media (max-width:767px){
  .gd-badge{height:30px;padding:0 10px;font-size:13px}
  .gd-badge--tr{right:8px;top:8px}
  .gd-badge--tl{left:8px;top:8px}
  .gd-badge--above{top:-40px}
  .gd-bar{flex-direction:column;align-items:stretch;gap:8px;padding:10px 16px}
  .gd-bar__t{font-size:13px}
  .gd-bar__btns a{flex:1;justify-content:center;height:38px;padding:0 10px}
  html.is-guide body{padding-bottom:110px}
  html.is-guide .pagetop{bottom:124px}
}
.gd-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start}
.gd-intro__to{font-size:clamp(18px,1.8vw,21px);font-weight:700;color:var(--ink)}
.gd-intro p+p{margin-top:12px}
.gd-steps{display:grid;gap:14px}
.gd-steps li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;padding:18px 20px;background:var(--paper)}
.gd-steps b{font-family:var(--ff-en);font-size:20px;font-weight:700;color:var(--main);line-height:1.4}
.gd-steps h3{font-size:16px;font-weight:700;line-height:1.6}
.gd-steps p{margin-top:4px;font-size:15px;line-height:1.8}
.gd-ex{margin-top:10px;padding:14px 16px;background:#fff;border-left:3px solid var(--main);font-size:14px;line-height:1.9}
.gd-pages{width:100%;border-collapse:collapse;margin-top:28px}
.gd-pages th,.gd-pages td{padding:16px 18px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:15px;line-height:1.75}
.gd-pages thead th{background:var(--main-deep);color:#fff;font-size:14px;border-bottom:0}
.gd-pages tbody th{width:200px;font-weight:700;white-space:nowrap}
.gd-pages__no{width:250px}
.gd-pages__no span{font-size:14px}
.gd-pages__go{width:80px}
.gd-pages__go a{font-weight:700;color:var(--accent-deep);text-decoration:none;white-space:nowrap}
.gd-chip{display:inline-flex;align-items:center;height:28px;margin:0 6px 6px 0;padding:0 10px;background:#1d4ed8;color:#fff!important;font-size:13px;font-weight:700;white-space:nowrap;text-decoration:none}
.gd-note{margin-top:18px;font-size:15px;line-height:1.8}
.gd-list{display:grid;gap:16px;margin-top:28px}
.gd-item{display:grid;grid-template-columns:110px minmax(0,1fr);gap:24px;padding:26px 28px;background:#fff;border:1px solid var(--line);scroll-margin-top:calc(var(--hdr) + 20px)}
.gd-item:target{border-color:#1d4ed8;box-shadow:0 0 0 2px #1d4ed8}
.gd-item__no{align-self:start;display:inline-flex;justify-content:center;align-items:center;height:40px;background:#1d4ed8;color:#fff;font-size:16px;font-weight:700;letter-spacing:.06em;white-space:nowrap}
.gd-item__page{font-size:14px;font-weight:700;color:var(--accent-deep)}
.gd-item__t{margin-top:4px;font-size:18px;font-weight:700;line-height:1.6}
.gd-item__dl{margin-top:14px;display:grid;gap:8px}
.gd-item__dl div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px;font-size:15px;line-height:1.8}
.gd-item__dl dt{font-weight:700}
.gd-go{display:inline-flex;align-items:center;margin-top:16px;height:42px;padding:0 20px;background:var(--main-deep);color:#fff!important;font-size:14px;font-weight:700;white-space:nowrap;text-decoration:none;transition:background .3s}
@media (hover:hover){.gd-go:hover{background:#000}}
@media (max-width:767px){
  .gd-intro{grid-template-columns:minmax(0,1fr)}
  .gd-pages thead{display:none}
  .gd-pages,.gd-pages tbody,.gd-pages tr,.gd-pages th,.gd-pages td{display:block;width:auto}
  .gd-pages tr{padding:16px 0;border-bottom:1px solid var(--line)}
  .gd-pages th,.gd-pages td{padding:4px 0;border:0}
  .gd-pages tbody th{white-space:normal;font-size:16px}
  .gd-item{grid-template-columns:minmax(0,1fr);gap:12px;padding:20px 18px}
  .gd-item__no{justify-self:start;padding:0 14px}
  .gd-item__dl div{grid-template-columns:minmax(0,1fr);gap:0}
}
.gd-print,.gd-print-t{display:none}
@media print{.gd-pages thead th:nth-child(4){display:none}html[data-page="guide"] .section{padding:28px 0!important}html[data-page="guide"] .phead{display:none!important}.gd-print-t{display:block!important;margin-bottom:18px;font-size:28px;font-weight:700}html[data-page="guide"] .gd-steps li{padding:12px 16px}html[data-page="guide"] .gd-pages{margin-top:16px}html[data-page="guide"] .gd-pages th,html[data-page="guide"] .gd-pages td{padding:4px 12px;font-size:14px;line-height:1.5}html[data-page="guide"] #gd-pages{padding-top:16px!important;padding-bottom:0!important}html[data-page="guide"] #gd-pages .shead{margin-bottom:0}html[data-page="guide"] .gd-chip{height:24px;margin:0 4px 4px 0}#gd-pages{break-before:page}.gd-print{display:block;font-weight:700}.gd-item{break-inside:avoid}.gd-sec-break{break-before:page}.ct-c__tel,.gd-go,.gd-pages__go,.hdr,.ftr,.fbar,.ct-c,.pagetop,.crumbs{display:none!important}}

.pc-intro{margin-bottom:clamp(36px,5vw,64px)}
.pc-intro__to{font-size:clamp(18px,1.8vw,21px);font-weight:700}
.pc-intro p+p{margin-top:12px}
.pc-slot{padding:clamp(28px,3vw,40px) 0;border-top:1px solid var(--line);scroll-margin-top:calc(var(--hdr) + 20px)}
.pc-slot__head{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.pc-slot__no{display:inline-flex;align-items:center;height:40px;padding:0 16px;background:#1d4ed8;color:#fff;font-size:16px;font-weight:700;letter-spacing:.06em;white-space:nowrap}
.pc-slot__t{font-size:clamp(18px,1.8vw,22px);font-weight:700;line-height:1.5}
.pc-slot__note{margin-top:2px;font-size:15px}
.pc-slot__go{margin-left:auto;display:inline-flex;align-items:center;height:42px;padding:0 20px;background:var(--main-deep);color:#fff;font-size:14px;font-weight:700;white-space:nowrap;text-decoration:none;transition:background .3s}
@media (hover:hover){.pc-slot__go:hover{background:#000}}
.pc-cur{display:flex;align-items:center;gap:16px;margin-top:20px;padding:14px 16px;background:var(--paper)}
.pc-cur__k{flex:none;font-size:14px;font-weight:700}
.pc-cur__list{display:flex;gap:8px;flex-wrap:wrap}
.pc-cur__img{display:block;width:96px;aspect-ratio:3/2;overflow:hidden;background:#ddd}
.pc-cur__img img{width:100%;height:100%;object-fit:cover}
.pc-cur__none{font-size:14px;font-weight:700}
.pc-k{margin-top:22px;font-size:15px;font-weight:700}
.pc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:12px}
.pc-card{margin:0}
.pc-card__img{display:block;aspect-ratio:3/2;overflow:hidden;background:#eee}
.pc-card__img img{width:100%;height:100%;object-fit:cover}
.pc-card figcaption{margin-top:8px;font-family:var(--ff-en);font-size:17px;font-weight:700;color:var(--ink)}
.gd-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.gd-links a{display:inline-flex;align-items:center;height:44px;padding:0 20px;background:var(--main);color:#fff;font-size:14px;font-weight:700;white-space:nowrap;text-decoration:none;transition:background .3s}
@media (hover:hover){.gd-links a:hover{background:var(--main-deep)}}
@media (max-width:1023px){.pc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:767px){.pc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pc-slot__go{margin-left:0}.pc-cur{flex-direction:column;align-items:flex-start}.pc-cur__img{width:84px}}

.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:clamp(32px,4vw,48px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats__i{padding:22px clamp(16px,2vw,28px)}
.stats__i+.stats__i{border-left:1px solid var(--line)}
.stats__l{font-size:14px;font-weight:700;color:var(--ink)}
.stats__n{margin-top:6px;display:flex;align-items:baseline;gap:4px;line-height:1.2}
.stats__n b{font-family:var(--ff-en);font-size:clamp(28px,2.6vw,36px);font-weight:600;color:var(--main)}
.stats__n small{font-size:15px;font-weight:700;color:var(--ink)}
.stats__x{margin-top:4px;font-size:13px;font-weight:500;color:var(--ink)}
.ptn{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 clamp(16px,2vw,32px);margin-top:8px;border-top:1px solid var(--line)}
.ptn li{padding:16px 2px;border-bottom:1px solid var(--line);font-size:15px;font-weight:700;line-height:1.6;color:var(--ink)}
.ptn__note{margin-top:14px;font-size:13px;color:var(--ink)}
@media (max-width:1023px){.ptn{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:767px){
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats__i:nth-child(3){border-left:0}
  .stats__i:nth-child(n+3){border-top:1px solid var(--line)}
  .ptn{grid-template-columns:minmax(0,1fr)}
  .ptn li{padding:12px 2px;font-size:15px}
}
@media (max-width:374px){.stats__i{padding:18px 10px}.stats__l{font-size:12.5px;letter-spacing:0}.stats__x{font-size:12px;letter-spacing:0}}
.is-check .ck-t--dummy{background:rgba(255,196,0,.38);box-shadow:0 0 0 3px rgba(255,196,0,.38);outline:2px solid #e0a800;outline-offset:3px}
.is-check .ck-t--src{background:rgba(46,123,255,.12);box-shadow:0 0 0 3px rgba(46,123,255,.12)}
.ck-badge{display:inline-flex;align-items:center;height:24px;padding:0 8px;font-family:var(--ff);font-size:12px;font-weight:700;letter-spacing:.04em;line-height:1;color:#fff;white-space:nowrap;cursor:pointer;vertical-align:middle;text-shadow:none}
.ck-badge--t{position:absolute;left:-10px;top:-16px;z-index:6;background:#8a5a00;box-shadow:0 3px 8px -3px rgba(0,0,0,.4)}
.ck-badge--p{position:absolute;right:10px;top:10px;z-index:60;height:30px;padding:0 12px;font-size:14px;box-shadow:0 6px 16px -6px rgba(0,0,0,.5)}
.ck-badge--stock{background:#d97706}
.ck-badge--exist{background:#1d4ed8}
.ck-badge--slot{background:#b91c1c}
.ck-bar{position:fixed;left:0;right:0;bottom:0;z-index:900;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px var(--gut);background:#fff;box-shadow:0 -6px 20px -10px rgba(0,0,0,.35);border-top:3px solid #1d1d1d}
.ck-bar__legend{display:flex;flex-wrap:wrap;gap:6px 22px;list-style:none;margin:0;padding:0}
.ck-bar__legend li{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#1d1d1d}
.ck-sw{display:inline-block;width:22px;height:14px}
.ck-sw--dummy{background:rgba(255,196,0,.55);outline:2px solid #e0a800}
.ck-sw--src{background:rgba(46,123,255,.2)}
.ck-bar__btns{display:flex;gap:8px;flex:none}
.ck-bar__btns a{display:inline-flex;align-items:center;height:38px;padding:0 16px;background:#1d1d1d;color:#fff;font-size:13px;font-weight:700;white-space:nowrap;text-decoration:none}
.ck-bar__btns .ck-bar__off{background:#fff;color:#1d1d1d;border:1px solid #1d1d1d}
html.is-check .fbar{display:none!important}
html.is-check body{padding-bottom:72px}
html.is-check .pagetop{bottom:92px}
@media (max-width:767px){
  .ck-bar{flex-direction:column;align-items:stretch;gap:8px;padding:8px 14px}
  .ck-bar__legend li{font-size:12px}
  .ck-bar__btns a{flex:1;justify-content:center;height:36px}
  html.is-check body{padding-bottom:130px}
  html.is-check .pagetop{bottom:146px}
  .ck-badge--p{right:8px;top:8px;height:26px;font-size:12px}
}
.il{padding:calc(var(--hdr) + 24px) 0 40px}
.il-head{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.il-t{font-size:22px;font-weight:700}
.il-legend{display:flex;gap:6px 18px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.il-legend li{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500}
.il-legend b{font-weight:700}
.il-sw{display:inline-block;width:16px;height:16px}
.il-sw--stock,.il-card--stock .il-no{background:#d97706}
.il-sw--exist,.il-card--exist .il-no{background:#1d4ed8}
.il-sw--slot,.il-card--slot .il-no{background:#b91c1c}
.il-x{margin-top:8px;font-size:13px;line-height:1.7}
.il-x a{color:var(--accent-deep);font-weight:700;text-decoration:none}
.il-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:14px 12px;margin-top:16px}
.il-card{display:flex;flex-direction:column;color:var(--ink);text-decoration:none}
.il-img{position:relative;display:block;aspect-ratio:3/2;overflow:hidden;background:#eee;border:2px solid transparent}
.il-card--slot .il-img{border:2px dashed #b91c1c;background:#fff}
.il-img img{width:100%;height:100%;object-fit:cover}
.il-ph{display:flex;align-items:center;justify-content:center;height:100%;font-size:12px;font-weight:700;color:#b91c1c}
.il-no{position:absolute;left:0;top:0;padding:3px 7px;font-family:var(--ff-en);font-size:13px;font-weight:700;line-height:1;color:#fff}
.il-pg{margin-top:5px;font-size:11px;font-weight:700;color:var(--accent-deep);line-height:1.4}
.il-pl{font-size:12px;font-weight:700;line-height:1.4}
.il-sz{font-size:11px;font-weight:500;line-height:1.4}
@media (hover:hover){.il-card:hover .il-img{border-color:var(--main)}}
html[data-page="images-list"] .ct-c{display:none}
@media (max-width:1100px){.il-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media (max-width:767px){.il-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 8px}.il-t{font-size:19px}}

.tk-b{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:250px;gap:10px}
.tk-b__t1{grid-column:span 2;grid-row:span 2}
.tk-b__w{grid-column:span 2}
.tk-b a{position:relative;display:block;overflow:hidden;color:#fff;background:var(--main-deep)}
.tk-b img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
@media (hover:hover){.tk-b a:hover img{transform:scale(1.06)}}
.tk-b a::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,20,20,.05) 35%,rgba(20,20,20,.84) 100%)}
.tk-b__in{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:22px 24px}
.tk-b__no{display:block;font-family:var(--ff-en);font-size:13px;font-weight:600;color:#fff}
.tk-b__t{display:block;margin-top:6px;font-size:18px;font-weight:700;line-height:1.5}
.tk-b__t1 .tk-b__t{font-size:clamp(22px,2.2vw,30px)}
.tk-b__t1 .tk-b__x{display:block;margin-top:8px;font-size:14px;color:#fff}
.tk-b__x{display:none}
.tk-b .btn__arrow{flex:none;color:#fff;margin-bottom:8px}
@media (max-width:900px){
  .tk-b{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:200px}
  .tk-b__t1{grid-column:span 2;grid-row:span 1}
  .tk-b__w{grid-column:span 1}
}
@media (max-width:600px){
  .tk-b{grid-template-columns:minmax(0,1fr);grid-auto-rows:180px}
  .tk-b__t1,.tk-b__w{grid-column:span 1}
}
@media (max-width:767px){.tk-b__t1 .tk-b__x{display:none}}
@media (max-width:900px){.office{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.office__info{grid-column:1/-1}}
@media (max-width:600px){.office{grid-template-columns:minmax(0,1fr);gap:16px}.office__info{grid-column:auto}}
@media (max-width:767px){.intro{gap:24px}}
.fcta{position:fixed;right:20px;bottom:20px;z-index:300;display:flex;gap:8px;opacity:0;visibility:hidden;transform:translateY(16px);transition:opacity .4s var(--ease),visibility .4s,transform .4s var(--ease)}
.fcta.is-show{opacity:1;visibility:visible;transform:none}
.fcta .btn{width:220px;height:56px;min-width:0;gap:20px;padding:0 22px 0 26px;font-size:15px;box-shadow:0 6px 20px rgba(0,0,0,.14)}
@media (min-width:901px){body:has(.fcta.is-show) .pagetop{bottom:88px}}
@media (max-width:900px){.fcta{display:none}}
html[data-page="photo-list"] .fcta,html[data-page="text-list"] .fcta,html[data-page="changes"] .fcta{display:none!important}
.office__gmap{display:inline-flex;align-items:center;gap:12px;margin-top:14px;font-size:14px;font-weight:700;color:var(--main)}
@media (hover:hover){.office__gmap:hover{color:var(--main-deep)}}
.phead__bg img.ph-pos-faq{object-position:78% 60%}.phead__bg img.ph-pos-pv{object-position:76% 48%}.phead__bg img.ph-pos-rq{object-position:80% 50%}.phead__bg img.ph-pos-ab{object-position:80% 55%}.phead__bg img.ph-pos-ct{object-position:80% 55%}
.phead__bg picture{display:block;width:100%;height:100%}
@media (max-width:767px){.phead__bg img.ph-pos-faq,.phead__bg img.ph-pos-pv{object-position:100% 100%}.phead__bg img.ph-pos-rq{object-position:100% 60%}.phead__bg img.ph-pos-ab{object-position:100% 100%}.phead__bg img.ph-pos-ct{object-position:100% 100%}}
.dm__g+.dm__g{margin-top:clamp(36px,4vw,56px)}
.dm__h{display:flex;align-items:baseline;gap:14px;margin:0 0 16px;font-size:clamp(18px,1.7vw,23px);font-weight:700;line-height:1.5;color:var(--ink)}
.dm__h b{font-family:var(--ff-en);font-size:15px;font-weight:600;color:var(--accent-deep)}
.dm__h--link{align-items:center;margin:0;padding:24px 4px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);transition:color .3s}
.dm__h--link .btn__arrow{margin-left:auto;color:var(--main)}
@media (hover:hover){.dm__h--link:hover{color:var(--accent)}}
.tk-b.dm__cards--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.tk-b.dm__cards--4{grid-template-columns:repeat(2,minmax(0,1fr))}
.dm__cards .tk-b__t{font-size:17px}
@media (max-width:900px){.tk-b.dm__cards--3,.tk-b.dm__cards--4{grid-template-columns:repeat(2,minmax(0,1fr))}.dm__cards--3 a:first-child{grid-column:span 2}}
@media (max-width:600px){.tk-b.dm__cards--3,.tk-b.dm__cards--4{grid-template-columns:minmax(0,1fr)}.dm__cards--3 a:first-child{grid-column:span 1}}
.nb{display:inline-block}
@media (max-width:380px){.dm__cards .tk-b__t{font-size:15px}}
.dmc{display:flex;gap:10px;height:560px}
.dmc__p{position:relative;flex:1;min-width:0;overflow:hidden;background:var(--main-deep);color:#fff;cursor:pointer;transition:flex-grow .7s var(--ease)}
.dmc__p.is-on{flex-grow:2.4;cursor:default}
.dmc__p>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dmc__p::after{content:"";position:absolute;inset:0;background:rgba(20,24,36,.55);transition:background .5s}
.dmc__p.is-on::after{background:rgba(20,24,36,.72)}
.dmc__head{position:absolute;left:28px;top:28px;right:28px;z-index:2}
.dmc__head span{display:block;font-family:var(--ff-en);font-size:13px;font-weight:600;letter-spacing:.1em;color:#fff}
.dmc__head strong{display:block;margin-top:6px;font-size:15px;font-weight:700;line-height:1.6;color:#fff;transition:font-size .4s}.dmc__p.is-on .dmc__head strong{font-size:clamp(19px,1.7vw,24px);line-height:1.4}.dmc__head{left:20px;right:20px}.dmc__p.is-on .dmc__head{left:28px;right:28px}
.dmc__list{position:absolute;left:28px;right:28px;bottom:24px;z-index:2;list-style:none;margin:0;padding:0;opacity:0;transform:translateY(12px);transition:opacity .5s .15s,transform .5s .15s;pointer-events:none}
.dmc__p.is-on .dmc__list{opacity:1;transform:none;pointer-events:auto}
.dmc__list li{border-top:1px solid rgba(255,255,255,.3)}
.dmc__list a{display:grid;grid-template-columns:24px minmax(0,1fr) 16px;gap:10px;align-items:center;padding:14px 0;color:#fff;transition:color .3s}
@media (hover:hover){.dmc__list a:hover{color:var(--accent-pale)}}
.dmc__list b{font-family:var(--ff-en);font-weight:600;color:#fff}
.dmc__list strong{font-size:15px;font-weight:700;line-height:1.6;color:#fff}
.dmc__list small{display:block;font-size:13px;font-weight:500;color:#fff}
.dmc__list .btn__arrow{color:#fff}
@media (max-width:900px){.dmc__head strong{font-size:17px}.dmc{flex-direction:column;height:auto}.dmc__p{flex:none;min-height:120px;transition:min-height .6s var(--ease)}.dmc__p.is-on{min-height:520px}}
@media (max-width:600px){.dmc__p.is-on{min-height:560px}}
@media (max-width:380px){.dmc__list{left:18px;right:18px}.dmc__p.is-on .dmc__head,.dmc__head{left:18px;right:18px}.dmc__list strong{font-size:13px}.dmc__list a{grid-template-columns:18px minmax(0,1fr) 14px;gap:8px}}
.yt{margin-top:clamp(48px,6vw,80px)}.yt__in{position:relative;width:100%;max-width:880px;margin:0 auto;aspect-ratio:16/9;background:#000}.yt__in iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.ctable{display:flex;flex-direction:column}
.tdom{display:flex;align-items:baseline;gap:18px;margin-top:clamp(56px,6vw,80px);padding-bottom:16px;border-bottom:2px solid var(--ink)}
.tdom:first-child{margin-top:0}
.tdom span{flex:none;white-space:nowrap;font-family:var(--ff-en);font-size:14px;font-weight:600;letter-spacing:.1em;color:var(--main)}
@media (max-width:600px){.tdom{flex-direction:column;align-items:flex-start;gap:6px}}
.tdom h3{font-size:clamp(20px,2vw,26px);font-weight:700;color:var(--ink)}
.tblock--txt .tblock__issue small{display:block;margin-top:6px;font-size:.92em}
.dmc__txt p{padding:16px 0 4px;border-top:1px solid rgba(255,255,255,.3);font-size:15px;font-weight:700;line-height:1.75;color:#fff}
.dmc__txt p{text-wrap:balance}
.dmc__txt small{display:block;margin-top:6px;font-size:13px;font-weight:500;color:#fff}
.sign{display:flex;align-items:baseline;justify-content:flex-end;gap:16px;margin-top:clamp(28px,3vw,40px);color:var(--ink)}
.sign small{font-size:14px;font-weight:600}
.sign span{font-family:"Yuji Syuku",serif;font-size:clamp(30px,3vw,40px);font-weight:500;letter-spacing:.12em}

.drawer__list li.is-full{grid-column:1/-1;border-right:0}
.drawer__list li.is-full~li:nth-child(even){border-right:1px solid var(--line)}
.drawer__list li.is-full~li:nth-child(odd){border-right:0}
