:root{
  --bg0:#02050b;
  --bg:#03070f;
  --bg2:#07101d;
  --card:#0b1626;
  --card2:#102038;
  --tx:#eef2f7;
  --mu:#a9b5c6;
  --ln:rgba(200,215,235,.12); --ln2:rgba(200,215,235,.26);
  --acc:#5aa2f2;
  --acc2:#8cc2ff;
  --lbl:#2ccfc4;
  --grad:linear-gradient(100deg,#3a82e6 0%,#22a9d6 55%,#2ccfc4 100%);
  --ink:#02050b;
  --ph-a:rgba(200,215,235,.06); --ph-b:rgba(200,215,235,.02); --ph-bg:#0c1828;
  --pad:clamp(24px,5vw,80px); --wrap:1200px; --hd:68px; --r:20px;
  --ease:cubic-bezier(.22,.61,.24,1);
  --sans:"Inter","Noto Sans JP","Hiragino Sans","Yu Gothic UI","Meiryo",system-ui,sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bg0);color:var(--tx);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-break:strict;scroll-padding-top:calc(var(--hd) + 24px);-webkit-text-size-adjust:100%}
body{background:var(--bg);overflow-x:hidden;font-size:16px;line-height:1.9}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button,input,textarea,select{font:inherit;color:inherit}
h1,h2,h3,h4,.catch,.lead{word-break:auto-phrase;text-wrap:pretty}
p,li,dd{text-wrap:pretty}
[hidden]{display:none!important}
.nw{display:inline-block}
.br-pc{display:inline}
.dc-txt .br-pc,.steps p .br-pc,.svc4-card .br-pc,.ib-txt .br-pc{display:none}
main{display:block}
section{position:relative}
.wrap{width:min(var(--wrap),100%);margin:0 auto;padding:0 var(--pad);position:relative}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--tx);color:var(--bg);padding:10px 18px;font-size:15px}
.skip:focus{top:12px}
.ph-i{background:rgba(240,180,80,.22);padding:0 4px;white-space:nowrap;font-style:normal}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.sec{padding-block:clamp(96px,11vw,168px)}
.sec.tight{padding-block:clamp(72px,8vw,112px)}
.sec .wrap:not(.dc-grid):not(.post-wrap){display:flex;flex-direction:column;align-items:stretch}
.sec .wrap>.label{order:-1}
.sec .wrap>.btn{align-self:flex-start;margin-top:40px}
.list-head{display:flex;flex-direction:column-reverse;align-items:flex-start}

main>section{background-color:var(--bg)}
main>section:nth-child(odd){background-color:var(--bg2)}
main>section:not(#hero)+section{border-top:1px solid var(--ln)}
main>section.glow-bg{background-image:radial-gradient(70% 70% at 75% 25%,rgba(14,36,72,.55) 0%,rgba(3,7,15,0) 70%)}

.label,.eyebrow{font-size:15px;font-weight:600;letter-spacing:.02em;color:var(--lbl);text-transform:capitalize;line-height:1.6}
.label{margin-bottom:14px}
h2.ttl{font-size:clamp(32px,4vw,54px);font-weight:700;letter-spacing:.01em;line-height:1.3}
.lead{font-size:clamp(17px,1.3vw,19px);color:var(--mu);line-height:1.95;margin-top:24px;max-width:40em}
.kicker{font-size:clamp(19px,1.7vw,24px);font-weight:600;line-height:1.6;margin-top:18px;color:var(--tx)}
.txt{color:var(--mu)}
.txt p+p{margin-top:1.1em}
.txt a,.doc a,.post-body a{color:var(--acc);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.center{text-align:center}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;border-radius:999px;font-size:16px;font-weight:600;letter-spacing:.02em;line-height:1.4;border:1px solid var(--ln2);color:var(--tx);background:transparent;cursor:pointer;transition:background-color .25s ease,border-color .25s ease,color .25s ease,box-shadow .3s ease,transform .3s var(--ease)}
.btn:hover{border-color:var(--acc);color:var(--acc)}
.btn.primary{background:var(--grad);border-color:transparent;color:var(--ink)}
.btn.primary:hover{color:var(--ink);box-shadow:0 0 0 4px rgba(44,207,196,.22)}
.anchor-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px}
.anchor-btns .btn{min-height:46px;padding:0 20px;font-size:15px;background:rgba(200,215,235,.04)}

.has-bgph{position:relative;overflow:hidden}
.has-bgph>.wrap{position:relative;z-index:1}
.bgph{position:absolute;inset:0;pointer-events:none;z-index:0;background:repeating-linear-gradient(135deg,var(--ph-a) 0 14px,var(--ph-b) 14px 28px),var(--ph-bg);color:var(--mu)}
.bgph span{position:absolute;left:20px;right:20px;bottom:16px;font-size:13px;letter-spacing:.04em;line-height:1.6;text-align:center}
.ph{position:relative;width:100%;display:flex;align-items:center;justify-content:center;padding:14px;text-align:center;overflow:hidden;border-radius:14px;background:repeating-linear-gradient(135deg,var(--ph-a) 0 12px,var(--ph-b) 12px 24px),var(--ph-bg);color:var(--mu);box-shadow:inset 0 0 0 1px var(--ln)}
.ph span{font-size:14px;line-height:1.7;letter-spacing:.04em}
.ph small{display:block;font-size:13px;opacity:.85}

.brand{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.brand .mark{width:30px;height:30px}
.brand .word{width:132px}

.site-header{position:fixed;left:0;right:0;top:0;z-index:50;height:var(--hd);display:flex;align-items:center;background:rgba(3,7,15,.78);-webkit-backdrop-filter:saturate(180%) blur(18px);backdrop-filter:saturate(180%) blur(18px);border-bottom:1px solid var(--ln);color:var(--tx);transition:background-color .5s ease,border-color .5s ease,opacity 1.2s ease}
.site-header .in{width:100%;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;gap:24px}
.gnav>ul{display:flex;align-items:center;gap:2px}
.gnav .nav-top{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;font-size:15px;font-weight:500;line-height:1.5;white-space:nowrap;color:inherit;background:none;border:0;border-radius:999px;cursor:pointer;transition:color .2s ease,background-color .2s ease}
.gnav .has-sub .nav-top::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.7}
.gnav .nav-top:hover,.gnav .has-sub:hover .nav-top,.gnav .dd[open]>.nav-top,.gnav .is-current>.nav-top,.gnav .nav-top[aria-current]{color:var(--acc)}
.gnav>ul>li:last-child>.nav-top,.gnav>ul>li:last-child>.nav-top:hover{background:var(--grad);color:var(--ink);padding:9px 20px;margin-left:10px;font-weight:600}
.gnav .has-sub{position:relative}
.gnav .sub{position:absolute;top:calc(100% + 14px);left:-8px;min-width:250px;display:none;z-index:5;background:#0b1626;border:1px solid var(--ln2);border-radius:16px;box-shadow:0 16px 48px rgba(0,0,0,.55);padding:10px;color:var(--tx)}
.gnav .sub::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.gnav .has-sub:hover .sub,.gnav .has-sub:focus-within .sub,.gnav .dd[open] .sub{display:block}
.gnav .sub a{display:block;padding:10px 14px;font-size:15px;line-height:1.6;border-radius:10px;transition:background-color .2s ease,color .2s ease}
.gnav .sub a:hover,.gnav .sub a[aria-current]{background:rgba(200,215,235,.08);color:var(--acc)}
.hd-tel{display:flex;flex-direction:column;align-items:flex-end;line-height:1.3;flex:0 0 auto;margin-left:8px}
.hd-tel small{font-size:13px;opacity:.75}
.hd-tel a{font-size:17px;font-weight:600;letter-spacing:.02em}
.menu-btn{display:none;width:48px;height:48px;background:transparent;cursor:pointer;position:relative;flex:0 0 auto;border:1px solid var(--ln2);border-radius:999px;color:inherit}
.menu-btn i{position:absolute;left:14px;right:14px;height:1.5px;background:currentColor;transition:transform .4s ease,top .4s ease}
.menu-btn i:nth-child(1){top:19px}.menu-btn i:nth-child(2){top:27px}
html:has(.gnav:popover-open) .menu-btn i:nth-child(1){top:23px;transform:rotate(45deg)}
html:has(.gnav:popover-open) .menu-btn i:nth-child(2){top:23px;transform:rotate(-45deg)}

main>section.phead{display:flex;flex-direction:column;background:radial-gradient(60% 70% at 50% 30%,rgba(8,21,48,.9) 0%,rgba(3,7,15,.5) 65%,transparent 100%),var(--bg0);padding:calc(var(--hd) + clamp(64px,8vw,120px)) 0 clamp(72px,8vw,120px)}
.phead>.wrap{order:-1}
.phead.compact{padding-bottom:clamp(56px,6vw,88px)}
.phead.center{text-align:center}
.phead.center .lead{margin-inline:auto}
.phead h1{font-size:clamp(42px,5.6vw,76px);font-weight:700;letter-spacing:.01em;line-height:1.2;margin-top:12px}
.phead .catch{font-size:clamp(20px,1.9vw,27px);font-weight:600;line-height:1.6;letter-spacing:.01em;margin-top:32px;max-width:34em}
.phead .catch.big{font-size:clamp(26px,3vw,40px);font-weight:700;line-height:1.45}
.phead .lead{font-size:17px;margin-top:20px;max-width:46em}
.phead .bgph{position:relative;inset:auto;width:calc(min(var(--wrap),100%) - 2 * var(--pad));margin:clamp(48px,6vw,80px) auto 0;aspect-ratio:21/8;border-radius:28px}
@media (min-width:861px){
  .phead.has-bgph:not(.anim-bg)>.wrap>*{max-width:60%}
  .phead.has-bgph:not(.anim-bg) .bgph{position:absolute;margin:0;top:calc(var(--hd) + 32px);bottom:32px;right:max(var(--pad),calc((100% - var(--wrap)) / 2 + var(--pad)));width:min(38%,480px);height:auto;aspect-ratio:auto}
}

#about,[aria-labelledby="rec-ttl"]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(40px,6vw,96px);align-items:center;padding-inline:max(var(--pad),calc((100% - var(--wrap)) / 2 + var(--pad)))}
#about>.wrap,[aria-labelledby="rec-ttl"]>.wrap{width:auto;padding:0;margin:0}
#about>.wrap{order:-1}
#about .bgph,[aria-labelledby="rec-ttl"] .bgph{position:relative;inset:auto;aspect-ratio:4/3;border-radius:28px}
#about .lead,[aria-labelledby="rec-ttl"] .lead{font-size:17px}

.svc4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:56px}
.svc4-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--ln);border-radius:var(--r);padding:12px 12px 28px;overflow:hidden}
.svc4-card .bgph{position:relative;inset:auto;aspect-ratio:4/3;border-radius:12px;flex:0 0 auto}
.svc4-card .bgph span{bottom:10px;left:12px;right:12px}
.svc4-card h3{font-size:20px;font-weight:700;letter-spacing:.01em;line-height:1.5;margin:24px 12px 0}
.svc4-card p{font-size:16px;color:var(--mu);line-height:1.85;margin:10px 12px 24px}
.svc4-card .btn{margin:auto 12px 0;align-self:flex-start;min-height:0;padding:0;border:0;background:none;color:var(--acc);font-size:16px}
.svc4-card .btn::after,.more-arrow::after{content:"";width:7px;height:7px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);transition:transform .2s ease}
.svc4-card .btn:hover{color:var(--acc2)}
.svc4-card .btn:hover::after{transform:translateX(3px) rotate(45deg)}

.sx{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,3vw,48px);align-items:start;margin-top:56px}
.sx-list{display:flex;flex-direction:column;gap:8px}
.sx-tab{position:relative;display:flex;align-items:center;gap:18px;width:100%;padding:22px 24px;text-align:left;border:1px solid var(--ln);border-radius:var(--r);background:transparent;color:var(--mu);cursor:pointer;transition:background-color .25s ease,border-color .25s ease,color .25s ease}
.sx-tab::before{content:"";position:absolute;left:-1px;top:18px;bottom:18px;width:3px;border-radius:3px;background:var(--grad);opacity:0;transition:opacity .25s ease}
.sx-tab::after{content:"";flex:0 0 auto;margin-left:auto;width:8px;height:8px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);opacity:0;transition:opacity .25s ease}
.sx-tab:hover{color:var(--tx);border-color:var(--ln2)}
.sx-tab:has(.sx-r:checked){background:var(--card);color:var(--tx);border-color:var(--ln2)}
.sx-tab:has(.sx-r:checked)::before,.sx-tab:has(.sx-r:checked)::after{opacity:1}
.sx-tab:has(.sx-r:focus-visible){outline:2px solid var(--acc);outline-offset:2px}
.sx-n{flex:0 0 auto;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}
.sx-tab:has(.sx-r:checked) .sx-n{color:var(--lbl)}
.sx-tt{font-size:19px;font-weight:700;line-height:1.45}
.sx .svc4{display:block;margin:0}
.sx :where(.svc4)>li{background:var(--card);border:1px solid var(--ln);border-radius:28px;padding:12px;animation:fadeUp .4s var(--ease)}
.sx .svc4>li{display:none}
.sx:has(.sx-tab:nth-child(1) .sx-r:checked) .svc4>li:nth-child(1),.sx:has(.sx-tab:nth-child(2) .sx-r:checked) .svc4>li:nth-child(2),.sx:has(.sx-tab:nth-child(3) .sx-r:checked) .svc4>li:nth-child(3),.sx:has(.sx-tab:nth-child(4) .sx-r:checked) .svc4>li:nth-child(4),.sx:has(.sx-tab:nth-child(5) .sx-r:checked) .svc4>li:nth-child(5),.sx:has(.sx-tab:nth-child(6) .sx-r:checked) .svc4>li:nth-child(6){display:flex}
.sx .svc4-card{padding:12px 12px 32px}
.sx .svc4-card .bgph{aspect-ratio:16/9;border-radius:18px}
.sx .svc4-card h3{font-size:clamp(24px,2.2vw,30px);line-height:1.4;margin:28px 16px 0}
.sx .svc4-card p{margin:10px 16px 26px}
.sx .svc4-card .btn{margin:0 16px;min-height:52px;padding:0 28px;border-radius:999px;background:var(--grad);color:var(--ink)}
.sx .svc4-card .btn::after{display:none}
.sx .svc4-card .btn:hover{color:var(--ink);box-shadow:0 0 0 4px rgba(44,207,196,.22)}

#menbers>.wrap{width:min(1360px,100%)}
.member{container-type:inline-size;margin-top:40px;padding:clamp(20px,3vw,40px);background:var(--card);border:1px solid var(--ln);border-radius:28px}
#menbers h2+.member{margin-top:56px}
.member .mb-ph{float:left;width:160px;margin:0 32px 8px 0}
.member .mb-ph .ph{border-radius:16px;padding:8px}
.member .mb-ph .ph span{font-size:13px}
.photo{display:block;width:100%;height:auto}
.member .mb-ph .photo{border-radius:16px}
.msg2 .photo{border-radius:24px}
.mb-body{display:block}
.mb-catch{font-size:clamp(20px,1.9vw,26px);font-weight:700;line-height:1.6}
.mb-role{font-size:15px;font-weight:600;color:var(--lbl);margin-top:14px;line-height:1.6}
.mb-name{font-size:20px;font-weight:700;margin-top:4px}
.member .txt{clear:both;padding-top:32px;margin-top:0;font-size:15.5px;line-height:2;columns:2;column-gap:56px;column-rule:1px solid var(--ln)}
.member .txt p{break-inside:auto}
.member .txt p+p{margin-top:1.4em}
@container (max-width:1060px){ .member .txt{columns:auto;max-width:46em} }
.q-ttl{font-size:clamp(22px,2vw,28px);font-weight:700;margin-top:72px}
.q-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;margin-top:24px;padding:24px 32px;background:var(--card);border:1px solid var(--ln);border-radius:var(--r)}
.q-cols li{position:relative;padding:12px 0 12px 22px;border-bottom:1px solid var(--ln);color:var(--tx)}
.q-cols li::before{content:"";position:absolute;left:2px;top:1.35em;width:8px;height:8px;border-radius:50%;background:var(--grad)}
.q-cols ul li:last-child{border-bottom:0}

.catch-xl{font-size:clamp(24px,2.8vw,38px);font-weight:700;line-height:1.6;letter-spacing:.01em;margin-top:40px}
.cols2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 48px;margin-top:40px}
.cols2 p+p{margin-top:0}
.msg2{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,72px);align-items:start;margin-top:56px}
.msg2 .ph{border-radius:24px}
.m-role{font-size:15px;font-weight:600;color:var(--lbl);line-height:1.6}
.m-name{font-size:clamp(26px,2.6vw,34px);font-weight:700;margin-top:6px;line-height:1.4}
.msg2 .txt{margin-top:24px}
.msg2>.txt{margin-top:0}
.msg2>.txt>p:first-child{color:var(--tx);font-weight:600}
.ov-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(32px,5vw,72px);align-items:start;margin-top:56px}
.ov-logo{padding:32px;background:var(--card);border:1px solid var(--ln);border-radius:28px}
.ov-logo img{margin:0 auto;max-width:280px}
.co-table,.req-table{border-top:1px solid var(--ln2)}
.co-table>div,.req-table>div{display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr);gap:16px 32px;padding:22px 4px;border-bottom:1px solid var(--ln)}
.co-table dt,.req-table dt{font-weight:700;color:var(--tx)}
.co-table dd,.req-table dd{color:var(--mu)}
.ov-mark{display:block;width:180px;margin-top:14px}
.ov-mark .ph{padding:8px}
.ov-mark .ph span{font-size:13px}
.isms-mark{display:block;width:100%;height:auto}

.split2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center;margin-top:48px}
.split2 .ph{border-radius:24px}
.sub-ttl{font-size:clamp(21px,2vw,27px);font-weight:700;line-height:1.55;margin-bottom:18px}
.sec .wrap>.sub-ttl{margin-top:40px}
.sec .wrap>.sub-ttl+.txt{margin-bottom:8px}
.point-box{margin-top:48px;padding:clamp(24px,3vw,40px);background:var(--card);border:1px solid var(--ln);border-radius:var(--r);color:var(--mu);position:relative;overflow:hidden}
.point-box::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--grad)}
.soon-box{max-width:820px}
.soon-box .sub-ttl{color:var(--tx);margin-bottom:12px}
.soon-box .soon-btns{margin-top:28px}
@media (max-width:760px){ .soon-box .soon-btns .btn{width:100%} }
.req-table{margin-top:56px}
.offer-cta{margin-top:48px}
.offer-cta.center{text-align:center}

.ib-grid{display:grid;gap:20px;margin-top:56px}
.ib-grid.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
.ib{background:var(--card);border:1px solid var(--ln);border-radius:var(--r);padding:12px 12px 28px}
.ib .ph{border-radius:12px}
.ib-ttl{font-size:18px;font-weight:700;line-height:1.6;margin:20px 10px 0;letter-spacing:.01em}
.ib-txt{font-size:16px;color:var(--mu);line-height:1.85;margin:10px 10px 0}
.offer2{margin-top:40px;padding:clamp(24px,3vw,36px);background:var(--card);border:1px solid var(--ln);border-radius:var(--r)}
.offer2-ttl{font-size:15px;font-weight:700;color:var(--lbl);margin-bottom:10px}
.offer2 p:not(.offer2-ttl){color:var(--mu)}
.closing{font-size:clamp(24px,2.6vw,36px);font-weight:700;letter-spacing:.01em;line-height:1.5;text-align:center}

.ib-grid.ck-on.ck-on{position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(28px,4vw,64px);row-gap:10px;align-content:center;min-height:420px}
.ck-on>li{grid-column:2;padding:0;background:none;border:0;border-radius:0}
.ck-on .ib-ph{position:absolute;left:0;top:50%;width:calc((100% - clamp(28px,4vw,64px)) * 5 / 12);transform:translateY(-50%);opacity:0;pointer-events:none;transition:opacity .45s ease}
.ck-on>li:first-child .ib-ph,.ck-on>li:is(:hover,:focus-within) .ib-ph{opacity:1}
.ck-on:has(>li:is(:hover,:focus-within))>li:first-child:not(:hover):not(:focus-within) .ib-ph,.ck-on:has(>li:hover)>li:focus-within:not(:hover) .ib-ph{opacity:0}
.ck-on .ib-ph .ph{border-radius:24px}
.ck-on .ib-ttl{margin:0;font-size:inherit}
.ck-btn{display:flex;align-items:center;gap:18px;width:100%;padding:20px 22px;text-align:left;border:1px solid var(--ln);border-radius:18px;background:var(--card);color:var(--tx);font-size:18px;font-weight:600;line-height:1.6;cursor:pointer;transition:border-color .25s ease,background-color .25s ease}
.ck-btn:hover{border-color:var(--ln2)}
.ck-box{position:relative;flex:0 0 auto;width:28px;height:28px;border:2px solid var(--ln2);border-radius:8px;transition:background-color .25s ease,border-color .25s ease}
.ck-box::after{content:"";position:absolute;left:8px;top:3px;width:7px;height:13px;border-right:2.5px solid var(--ink);border-bottom:2.5px solid var(--ink);transform:rotate(45deg) scale(0);transition:transform .25s cubic-bezier(.3,1.6,.5,1)}
.ck-btn:has(.ck-in:checked){border-color:rgba(44,207,196,.6);background:var(--card2)}
.ck-btn:has(.ck-in:checked) .ck-box{border-color:transparent;background:var(--grad)}
.ck-btn:has(.ck-in:checked) .ck-box::after{transform:rotate(45deg) scale(1)}
.ck-btn:has(.ck-in:focus-visible){outline:2px solid var(--acc);outline-offset:3px}
.sec:has(.ck-in:checked) .offer-cta .btn.primary{transform:scale(1.05);box-shadow:0 0 0 6px rgba(44,207,196,.22),0 16px 40px rgba(44,207,196,.18)}

.ib-split{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:clamp(32px,5vw,72px);align-items:center;margin-top:56px}
.ib-split>.ib-fig{grid-column:2;grid-row:1}
.ib-split>.ib-rows{grid-column:1;grid-row:1}
.ib-rows{counter-reset:nx;border-top:1px solid var(--ln)}
.ib-rows>li{counter-increment:nx;display:grid;grid-template-columns:72px minmax(0,1fr);column-gap:24px;padding:30px 8px;border-bottom:1px solid var(--ln)}
.ib-rows>li::before{content:counter(nx,decimal-leading-zero);grid-column:1;grid-row:1 / span 2;font-size:clamp(28px,2.6vw,40px);font-weight:700;line-height:1;letter-spacing:-.02em;color:var(--acc);font-variant-numeric:tabular-nums}
.ib-rows>li>*{grid-column:2}
.ib-rows .ib-ttl{margin:0;word-break:normal;overflow-wrap:anywhere;font-size:clamp(20px,1.8vw,24px);line-height:1.45}
.ib-rows .ib-txt{margin:0}
.ib-rows .ib-ttl+.ib-txt{margin-top:10px}
.ib-rows .ib-txt strong{font-size:18px;font-weight:700;line-height:1.6;color:var(--tx)}

.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:48px;margin-top:56px}
.steps li{position:relative;padding:28px 24px 30px;background:var(--card);border:1px solid var(--ln);border-radius:var(--r)}
.steps li:not(:last-child)::after{content:"";position:absolute;right:-31px;top:50px;width:12px;height:12px;border-top:2px solid var(--lbl);border-right:2px solid var(--lbl);transform:rotate(45deg)}
.steps li:not(:last-child)::before{content:"";position:absolute;right:-42px;top:56px;width:34px;height:2px;background:linear-gradient(90deg,rgba(44,207,196,0),rgba(44,207,196,.8))}
.st-n{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--grad);color:var(--ink);font-size:17px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}
.steps h3{font-size:21px;font-weight:700;margin-top:22px;line-height:1.5}
.steps p{font-size:16px;color:var(--mu);margin-top:8px;line-height:1.85}

.pc-grid{display:grid;grid-template-columns:minmax(0,1fr);margin-top:48px}
.pc{position:relative;display:grid;grid-template-columns:200px minmax(0,1fr);grid-template-rows:auto auto auto auto;align-content:start;column-gap:28px;padding:28px 0;border-bottom:1px solid var(--ln)}
.pc-grid.no-feature{border-top:1px solid var(--ln)}
.pc-thumb{grid-column:1;grid-row:1 / span 4;overflow:hidden;border-radius:14px}
.pc-thumb .ph{padding:8px;transition:transform .5s var(--ease)}
.pc-thumb .ph span{font-size:13px}
.thumb{display:block;width:100%;height:auto;object-fit:cover;background:#fff}
.thumb.fit-contain{object-fit:contain}
.pc-thumb .thumb{transition:transform .5s var(--ease)}
.rel-grid .thumb{aspect-ratio:16/10!important;border-radius:var(--r) var(--r) 10px 10px;border:1px solid var(--ln)}
.post-side .thumb{border-radius:10px;border:1px solid var(--ln)}
.pc-date{grid-column:2;grid-row:1;font-size:14px;letter-spacing:.02em;color:var(--mu)}
.pc-ttl{grid-column:2;grid-row:2;margin-top:4px;font-size:18px;font-weight:600;line-height:1.65;letter-spacing:.01em}
.pc-ttl a{transition:color .2s ease}
.pc-ttl a::after{content:"";position:absolute;inset:0}
.pc-ex{grid-column:2;grid-row:3;margin-top:8px;font-size:15px;line-height:1.85;color:var(--mu);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pc-more{grid-column:2;grid-row:4;justify-self:start;position:relative;z-index:1;margin-top:10px;font-size:15px;font-weight:600;color:var(--acc)}
.pc-more:hover{color:var(--acc2);text-decoration:underline;text-underline-offset:4px}
.pc-grid:not(.no-feature)>.pc:first-child{grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:clamp(28px,4vw,56px);padding:0 0 40px;align-content:center}
.pc-grid:not(.no-feature)>.pc:first-child .pc-thumb .ph{padding:14px}
.pc-grid:not(.no-feature)>.pc:first-child .pc-date{align-self:end}
.pc-grid:not(.no-feature)>.pc:first-child .pc-ttl{font-size:clamp(21px,1.9vw,26px);font-weight:700;line-height:1.55}
.pc-grid:not(.no-feature)>.pc:first-child .pc-ex{-webkit-line-clamp:4;font-size:16px}
.list-head~.pc-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:clamp(28px,3.5vw,56px);align-items:start}
.list-head~.pc-grid>.pc{grid-column:2;grid-template-columns:150px minmax(0,1fr);column-gap:20px;padding:24px 0}
.list-head~.pc-grid>.pc:nth-child(2){border-top:1px solid var(--ln)}
.list-head~.pc-grid>.pc:first-child{grid-column:1;grid-row:1 / span 2;display:flex;flex-direction:column;padding:0;border-bottom:0}
.list-head~.pc-grid>.pc:first-child .pc-thumb{order:-2}
.list-head~.pc-grid>.pc:first-child .pc-date{order:-1;margin-top:24px;align-self:flex-start}
.list-head~.pc-grid>.pc:first-child .pc-more{align-self:flex-start}
.list-head~.pc-grid>.pc:not(:first-child) .pc-ttl{font-size:17px}
@media (hover:hover){
  .pc:hover .pc-thumb .ph,.pc:hover .pc-thumb .thumb{transform:scale(1.04)}
  .pc:hover .pc-ttl a{color:var(--acc)}
}
.list-more{margin-top:56px}
.pager{display:flex;justify-content:center;gap:10px;margin-top:56px}
.pager>*{display:inline-grid;place-items:center;min-width:52px;min-height:52px;padding:0 16px;border:1px solid var(--ln2);border-radius:999px;font-weight:700}
.pager small{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.pager [aria-current]{background:var(--grad);border-color:transparent;color:var(--ink)}
.pager a:hover{border-color:var(--acc);color:var(--acc)}

.sec .wrap.post-wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(40px,5vw,72px);align-items:start}
.post-ttl{font-size:clamp(22px,2.2vw,30px);font-weight:700;line-height:1.6;letter-spacing:.01em;text-wrap:pretty}
.phead.post-head{padding-bottom:clamp(32px,4vw,56px)}
.phead .phead-cat{font-size:clamp(34px,4.4vw,60px);font-weight:700;letter-spacing:.01em;line-height:1.2;margin-top:12px}
.phead .phead-cat a:hover{color:var(--acc)}
.post-cover{margin-top:32px}
.post-cover img{display:block;width:100%;height:auto;max-height:520px;object-fit:cover;border-radius:16px}
.post-cover.fit-contain img{object-fit:contain;background:#fff;border:1px solid var(--ln)}
.post-meta{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:16px;font-size:14px;color:var(--mu)}
.post-meta a{color:var(--acc)}
.post-body{margin-top:40px;color:var(--mu)}
.post-body p+p,.post-body .post-img+p{margin-top:1.2em}
.post-img{max-width:520px;margin:32px 0}
.post-body{overflow-wrap:anywhere;line-height:1.95}
.post-body>*+*{margin-top:1.2em}
.post-body h3{margin-top:2.4em;padding-bottom:10px;border-bottom:1px solid var(--ln);font-size:clamp(20px,2vw,24px);font-weight:700;line-height:1.5;color:var(--tx)}
.post-body h4{margin-top:2em;font-size:18px;font-weight:700;line-height:1.6;color:var(--tx)}
.post-body strong{font-weight:700;color:var(--tx)}
.post-body u{text-underline-offset:4px}
.post-body blockquote{padding:14px 20px;border-left:3px solid var(--acc);background:var(--card);border-radius:0 12px 12px 0}
.post-body ul,.post-body ol{padding-left:1.5em}
.post-body ul{list-style:disc}
.post-body ol{list-style:decimal}
.post-body li+li{margin-top:.4em}
.post-body hr{height:0;border:0;border-top:1px solid var(--ln);margin:2.4em 0}
.post-body pre{padding:16px 18px;background:var(--card);border:1px solid var(--ln);border-radius:12px;overflow-x:auto;font-family:ui-monospace,Consolas,"Courier New",monospace;font-size:14px;line-height:1.65;white-space:pre;overflow-wrap:normal;color:var(--tx)}
.post-body .post-fig{margin-top:1.8em;margin-bottom:.6em}
.post-fig img{display:block;width:auto;max-width:100%;height:auto;border:1px solid var(--ln);border-radius:12px}
.related{margin-top:72px;padding-top:40px;border-top:1px solid var(--ln)}
.related>h2,.related>h3{font-size:22px;font-weight:700}
.rel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px}
.rel-grid article{position:relative;display:flex;flex-direction:column;padding:10px 10px 20px;background:var(--card);border:1px solid var(--ln);border-radius:var(--r)}
.rel-grid .ph{aspect-ratio:16/10!important;padding:8px}
.rel-grid .ph span{font-size:13px}
.rel-grid h3{order:2;margin:8px 6px 0;font-size:16px;font-weight:600;line-height:1.65}
.rel-grid h3 a::after{content:"";position:absolute;inset:0}
.rel-grid .pc-date{margin:16px 6px 0}
@media (hover:hover){ .rel-grid article:hover h3 a{color:var(--acc)} }
.post-side{position:sticky;top:calc(var(--hd) + 24px);padding:24px;background:var(--card);border:1px solid var(--ln);border-radius:var(--r)}
.post-side h2,.post-side h4{font-size:16px;font-weight:700}
.post-side ul{margin-top:12px}
.post-side li+li{border-top:1px solid var(--ln)}
.post-side a{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;align-items:center;padding:12px 0;font-size:15px;line-height:1.6;transition:color .2s ease}
.post-side a:hover{color:var(--acc)}
.post-side .ph{padding:4px;border-radius:10px}
.post-side .ph span{font-size:13px}
.post-side .ph small{display:none}

.sec .wrap.doc{width:min(920px,100%)}
.preamble{font-size:17px;line-height:2;color:var(--tx)}
.doc-sub{font-size:20px;font-weight:700;margin-top:48px}
.doc article{margin-top:20px;padding:24px 28px;background:var(--card);border:1px solid var(--ln);border-radius:var(--r)}
.doc article p:not(.art-h){color:var(--mu)}
.doc article p+p{margin-top:.9em}
.art-h{font-size:18px;font-weight:700;color:var(--tx);margin-bottom:8px}
.doc ul,.doc ol{margin-top:.6em;color:var(--mu)}
.doc li{position:relative;padding-left:1.2em}
.doc li::before{content:"・";position:absolute;left:0}
.signed{margin-top:48px;text-align:right;color:var(--mu);line-height:2}

.c-call{max-width:820px}
.c-tel{font-size:clamp(34px,8.6vw,76px);font-weight:700;letter-spacing:.01em;line-height:1.25;margin-top:24px;white-space:nowrap}
.c-tel a{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.c-hours{margin-top:16px;font-size:clamp(17px,1.5vw,20px);line-height:1.9;color:var(--tx)}
.c-call+.c-call{margin-top:clamp(40px,6vw,64px);padding-top:clamp(40px,6vw,64px);border-top:1px solid var(--ln)}
.c-mail{font-size:clamp(22px,3.6vw,36px);font-weight:700;letter-spacing:.01em;line-height:1.4;margin-top:20px;overflow-wrap:anywhere}
.c-mail a{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.c-soon{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;width:fit-content}
.wb{display:inline-block}
.c-grid:has(>.c-call:only-child){grid-template-columns:minmax(0,1fr)}
.c-grid>.c-call:only-child{padding:0;text-align:center}
.c-grid>.c-call:only-child .c-soon{margin-inline:auto}
.dc-grid:has(>.dc-box:only-child){grid-template-columns:minmax(0,1fr)}
.dc-box.dc-one{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:clamp(32px,5vw,72px);align-items:center}
.dc-box.dc-one .btn{margin-top:0}
@media (max-width:860px){
  .dc-box.dc-one{grid-template-columns:minmax(0,1fr)}
  .dc-box.dc-one .btn{margin-top:32px;justify-self:start}
}
@media (max-width:760px){ .dc-box.dc-one .btn{justify-self:stretch} }
.form{max-width:820px;margin-top:48px;padding:clamp(24px,4vw,48px);background:var(--card);border:1px solid var(--ln);border-radius:28px}
.sample-badge{display:inline-block;padding:4px 14px;border-radius:999px;background:rgba(240,180,80,.16);border:1px solid rgba(240,180,80,.5);color:#f6cf86;font-size:14px;font-weight:600}
.row{border:0;margin-top:28px}
.lab{display:block;font-weight:700;margin-bottom:10px;padding:0}
.req{color:#f6cf86;font-size:14px;font-weight:600;margin-left:6px}
.form input[type="text"],.form input[type="tel"],.form input[type="email"],.form textarea{display:block;width:100%;min-height:52px;padding:12px 16px;border:1px solid var(--ln2);border-radius:12px;background:var(--bg);color:var(--tx);font-size:16px;line-height:1.6;transition:border-color .2s ease,box-shadow .2s ease}
.form textarea{min-height:200px;resize:vertical}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px rgba(90,162,242,.25)}
.checks{display:flex;flex-wrap:wrap;gap:10px}
.ck{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 18px;border:1px solid var(--ln2);border-radius:999px;cursor:pointer;transition:border-color .2s ease,background-color .2s ease}
.ck:hover{border-color:var(--acc)}
.ck:has(input:checked){background:var(--card2);border-color:rgba(44,207,196,.6)}
.form input[type="checkbox"]{width:18px;height:18px;accent-color:#2ccfc4}
.agree{display:flex;align-items:flex-start;gap:10px;margin-top:32px;color:var(--mu)}
.agree input{margin-top:6px;flex:0 0 auto}
.agree a{color:var(--acc);text-decoration:underline;text-underline-offset:4px}
.submit{margin-top:32px}
.submit .btn{min-width:220px}
.form-note{margin-top:20px;padding:14px 18px;border-radius:12px;background:rgba(240,180,80,.12);border:1px solid rgba(240,180,80,.45);color:#f6cf86}

main>section.doc-contact{background-color:var(--bg0);color:var(--tx)}
.dc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.dc-box{background:var(--card);border:1px solid var(--ln);border-radius:28px;padding:clamp(32px,4vw,56px);display:flex;flex-direction:column;align-items:flex-start}
.dc-ttl{font-size:clamp(26px,2.4vw,34px);font-weight:700;letter-spacing:.01em;line-height:1.4}
.dc-txt{color:var(--mu);margin-top:16px;line-height:1.9}
.dc-tel{font-size:clamp(32px,3.2vw,44px);font-weight:700;letter-spacing:.01em;line-height:1.3;margin-top:4px;white-space:nowrap}
.dc-tel a:hover{color:var(--acc2)}
.dc-box .btn{margin-top:32px}

.site-footer{background:var(--bg0);border-top:1px solid var(--ln);color:var(--mu);padding:72px 0 40px;font-size:15px}
.site-footer .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px 48px;align-items:start}
.site-footer nav{grid-column:2;grid-row:1 / span 2}
.f-menu{display:flex;flex-direction:column;gap:10px;font-size:15px;color:var(--tx)}
.f-menu a:hover{color:var(--acc)}
.f-addr{grid-column:1;line-height:1.9}
.site-footer .copy{grid-column:1 / -1;font-size:13px;border-top:1px solid var(--ln2);padding-top:24px;margin-top:24px}

#hero{--h-bg0:#02050b;--h-bg1:#03070f;--h-tx:#eef2f7;--h-mu:#a9b5c6;--h-ln:rgba(200,215,235,.12);--h-ln2:rgba(200,215,235,.24);--h-teal:#2ccfc4;--h-ease:cubic-bezier(.22,.61,.24,1);--h-pad:clamp(24px,5vw,80px);
  position:relative;height:100vh;height:100svh;min-height:640px;overflow:hidden;container-type:inline-size;color:var(--h-tx);font-family:"Noto Sans JP","Hiragino Sans","Yu Gothic UI","Meiryo",system-ui,sans-serif;font-weight:400;line-height:2;letter-spacing:normal;
  background:radial-gradient(60% 55% at 50% 40%,rgba(8,21,48,.9) 0%,rgba(3,7,15,.6) 65%,transparent 100%),var(--h-bg0)}
#hero .hero-art{position:absolute;left:0;right:0;top:39%;height:0;display:flex;justify-content:center;align-items:center;pointer-events:none}
#hero .hero-copy{position:absolute;left:var(--h-pad);right:var(--h-pad);top:calc(39% + min(74cqw,1200px) * .116781 + 50px);z-index:3;text-align:center;pointer-events:none}
#hero .hero-copy a{pointer-events:auto}
#hero .hero-copy h1{font-family:inherit;font-size:clamp(24px,2.4vw,34px);font-weight:400;letter-spacing:.14em;line-height:1.7}
#hero .hero-copy h1 span{display:inline-block}
#hero .hero-sub{margin-top:14px;color:var(--h-mu);font-size:16px;letter-spacing:.06em;line-height:1.9}
#hero .hero-cta{display:flex;gap:14px;justify-content:center;margin-top:36px;flex-wrap:wrap}
#hero .btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:56px;padding:0 32px;font-family:inherit;font-size:16px;font-weight:400;letter-spacing:.08em;border:1px solid var(--h-ln2);border-radius:0;color:var(--h-tx);background:transparent;line-height:1.4;box-shadow:none;transform:none;transition:background-color .4s var(--h-ease),border-color .4s var(--h-ease),color .4s var(--h-ease)}
#hero .btn:hover{border-color:rgba(44,207,196,.75);background:transparent;color:var(--h-tx)}
#hero .btn.primary{background:var(--h-tx);color:var(--h-bg1);border-color:var(--h-tx)}
#hero .btn.primary:hover{background:#fff;border-color:#fff}
#hero :focus-visible{outline:2px solid var(--h-teal);outline-offset:3px}
#hero .hero-glow{position:absolute;left:50%;top:39%;width:720px;height:720px;margin:-360px 0 0 -360px;border-radius:50%;background:radial-gradient(circle,rgba(44,207,196,.14) 0%,rgba(58,130,230,.07) 36%,transparent 66%);z-index:0;pointer-events:none;animation:hero-fade 1.6s var(--h-ease) 2.12s backwards}
@keyframes hero-fade{from{opacity:0}}
@keyframes hero-up{from{opacity:0;transform:translateY(16px)}}
#hero .hero-copy>*{animation:hero-up 1.4s var(--h-ease) 2.12s backwards}
#hero .hero-copy>*:nth-child(2){animation-delay:2.32s}
#hero .hero-copy>*:nth-child(3){animation-delay:2.52s}
.is-top .site-header{animation:hero-fade 1.2s ease 2.12s backwards}
@keyframes hd-clear{from{background-color:transparent;border-bottom-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}}
@supports (animation-timeline:scroll()){
  .is-top .site-header.over-hero{animation:hero-fade 1.2s ease 2.12s backwards,hd-clear linear both;animation-timeline:auto,scroll(root);animation-range:normal,0px 48px}
}

@media (min-width:1101px) and (max-width:1360px){ .hd-tel{display:none} }
@media (max-width:1100px){
  .hd-tel{display:none}
  .menu-btn{display:block}
  html .gnav{position:fixed;left:0;right:0;top:var(--hd);bottom:auto;width:auto;height:calc(100vh - var(--hd));height:calc(100dvh - var(--hd));margin:0;border:0;color:var(--tx);overflow-y:auto;overscroll-behavior:contain;background:var(--bg);padding:12px var(--pad) 48px;display:none}
  html .gnav:popover-open{display:block}
  html .gnav::backdrop{background:transparent}
  html:has(.gnav:popover-open){overflow:hidden}
  html:has(.gnav:popover-open) .site-header{background:var(--bg)!important;border-bottom-color:var(--ln)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;opacity:1!important}
  html .gnav>ul{flex-direction:column;align-items:stretch;gap:0}
  html .gnav>ul>li{border-bottom:1px solid var(--ln)}
  html .gnav .nav-top{width:100%;justify-content:space-between;padding:18px 2px;font-size:18px;font-weight:700;border-radius:0;color:var(--tx)}
  html .gnav .has-sub summary.nav-top{font-size:14px;letter-spacing:.14em;padding:20px 2px 4px;color:var(--mu);font-weight:500}
  html .gnav .has-sub>a.nav-top{padding:18px 2px 6px}
  html .gnav .has-sub .nav-top::after{display:none}
  html .gnav .sub{position:static;display:block;background:none;border:0;box-shadow:none;padding:0 0 14px;min-width:0;border-radius:0}
  @supports selector(::details-content){ html .gnav .dd::details-content{content-visibility:visible} html .gnav .has-sub summary.nav-top{pointer-events:none} }
  html .gnav .sub::before{display:none}
  html .gnav .sub a{padding:11px 2px 11px 16px;font-size:17px;color:var(--tx)}
  html .gnav>ul>li:last-child{border-bottom:0;margin-top:28px}
  html .gnav>ul>li:last-child>.nav-top{justify-content:center;margin:0;padding:16px;font-size:17px;border-radius:999px;color:var(--ink)}
  .svc4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ib-grid.c4{grid-template-columns:repeat(2,minmax(0,1fr))}

  .sec .wrap.post-wrap{grid-template-columns:minmax(0,1fr)}
  .post-side{position:static}
}
@media (max-width:860px){
  .steps{grid-template-columns:minmax(0,1fr);gap:0;max-width:640px}
  .steps li{display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:20px;padding:0 0 32px;background:none;border:0;border-radius:0}
  .steps li:last-child{padding-bottom:0}
  .st-n{grid-row:1 / span 2}
  .steps h3{margin-top:12px}
  .steps li:not(:last-child)::before{right:auto;left:27px;top:62px;bottom:6px;width:2px;height:auto;background:linear-gradient(180deg,rgba(44,207,196,.8),rgba(44,207,196,.15))}
  .steps li:not(:last-child)::after{right:auto;left:23px;top:auto;bottom:4px;width:10px;height:10px;transform:rotate(135deg)}
  #about,[aria-labelledby="rec-ttl"]{grid-template-columns:minmax(0,1fr);row-gap:40px}
  [aria-labelledby="rec-ttl"]>.wrap{order:-1}
  .dc-grid,.split2,.msg2,.ov-grid,.cols2{grid-template-columns:minmax(0,1fr)}
  .sx{grid-template-columns:minmax(0,1fr)}
  .sx-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .sx-tab{padding:16px;gap:12px;align-items:flex-start}
  .sx-tab::after{display:none}
  .sx-tab::before{left:16px;right:16px;top:auto;bottom:-1px;width:auto;height:3px}
  .sx-tt{font-size:15px}
  .member .mb-ph{float:none;width:200px;margin:0 0 20px}
  .ov-logo{max-width:360px}
  .ib-grid.ck-on.ck-on{grid-template-columns:minmax(0,1fr);min-height:0;padding-top:calc((100vw - 2 * var(--pad)) * 9 / 16 + 20px)}
  .ck-on>li{grid-column:1}
  .ck-on .ib-ph{top:0;width:100%;transform:none}
  .ck-on .ib-ph .ph{aspect-ratio:16/9!important}
  .ib-split{grid-template-columns:minmax(0,1fr);row-gap:32px}
  .ib-split>.ib-fig,.ib-split>.ib-rows{grid-column:1;grid-row:auto}
  .ib-fig .ph{aspect-ratio:16/9!important}
  .list-head~.pc-grid{grid-template-columns:minmax(0,1fr)}
  .list-head~.pc-grid>.pc,.list-head~.pc-grid>.pc:first-child{grid-column:1;grid-row:auto}
  .list-head~.pc-grid>.pc:first-child{padding-bottom:32px}
  .pc-grid:not(.no-feature)>.pc:first-child:not(.list-head~.pc-grid>.pc){grid-template-columns:minmax(0,1fr)}
  .pc-grid:not(.no-feature)>.pc:first-child>*{grid-column:1;grid-row:auto}
  .pc-grid:not(.no-feature)>.pc:first-child .pc-date{margin-top:20px}
  .rel-grid{grid-template-columns:minmax(0,1fr)}
  .site-footer .wrap{grid-template-columns:minmax(0,1fr)}
  .site-footer nav{grid-column:1;grid-row:auto}
  .f-menu{flex-direction:row;flex-wrap:wrap;gap:10px 24px}
}
@media (max-width:760px){
  :root{--hd:64px}
  .br-pc{display:none}
  .sec{padding-block:88px}
  .sec.tight{padding-block:72px}
  .brand .word{width:120px}
  .menu-btn{width:46px;height:46px}
  .menu-btn i:nth-child(1){top:18px}.menu-btn i:nth-child(2){top:26px}
  html:has(.gnav:popover-open) .menu-btn i:nth-child(1),html:has(.gnav:popover-open) .menu-btn i:nth-child(2){top:22px}
  .svc4,.ib-grid.c4{grid-template-columns:minmax(0,1fr)}
  .phead .bgph{aspect-ratio:4/3;border-radius:20px}
  .dc-box{border-radius:22px}
  .dc-box .btn{width:100%}
  .q-cols{grid-template-columns:minmax(0,1fr);padding:12px 20px}
  .q-cols ul:first-child li:last-child{border-bottom:1px solid var(--ln)}
  .co-table>div,.req-table>div{grid-template-columns:minmax(0,1fr);gap:4px}
  .ck-btn{padding:16px 18px;gap:14px;font-size:16px}
  .ib-rows>li{grid-template-columns:40px minmax(0,1fr);column-gap:12px;padding:24px 4px}
  .ib-rows>li::before{font-size:22px}
  .pc{grid-template-columns:112px minmax(0,1fr);column-gap:16px;padding:22px 0}
  .list-head~.pc-grid>.pc{grid-template-columns:112px minmax(0,1fr);column-gap:16px}
  .pc-ttl,.list-head~.pc-grid>.pc:not(:first-child) .pc-ttl{font-size:16px}
  .pc-ex{-webkit-line-clamp:3}
  .form{padding:24px 18px}
  .submit .btn{width:100%}
  .doc article{padding:20px}
  #hero{min-height:620px}
  #hero .hero-copy h1{font-size:23px;letter-spacing:.1em}
  #hero .hero-cta{margin-top:28px}
  #hero .hero-cta .btn{min-height:52px;padding:0 22px}
}


.ph.ph-photo,.bgph.ph-photo{background-size:cover;background-position:center;background-repeat:no-repeat;background-color:var(--ph-bg)}
.ph.ph-photo>span,.bgph.ph-photo>span{display:none}

body{background:var(--bg0)}
main>section,main>section:nth-child(odd),main>section.doc-contact{background-color:var(--bg0)}
main>section:not(#hero)+section{border-top:0}
.site-footer{background:var(--bg0);border-top:0}

main:has(.wrap.doc) .phead.compact{text-align:center}

.bgph.biz-anim{overflow:hidden;color:transparent}
.phead.anim-bg{min-height:clamp(640px,84vh,820px);justify-content:center}
.phead.anim-bg .bgph.biz-anim{position:absolute;inset:0;z-index:0;width:auto;margin:0;aspect-ratio:auto;border-radius:0;background:none;box-shadow:none}
.phead.anim-bg::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(2,5,11,.92) 0%,rgba(2,5,11,.86) 50%,rgba(2,5,11,.55) 62%,rgba(2,5,11,.08) 69%,rgba(2,5,11,0) 74%),
    linear-gradient(180deg,rgba(2,5,11,.6) 0%,rgba(2,5,11,0) 16%,rgba(2,5,11,0) 80%,#02050b 100%)}
.phead.anim-bg>.wrap{position:relative;z-index:1}
.phead.anim-bg h1,.phead.anim-bg .catch,.phead.anim-bg .lead{text-shadow:0 1px 18px rgba(2,5,11,.9),0 0 2px rgba(2,5,11,.6)}
@media (max-width:760px){
  .phead.anim-bg{min-height:0}
  .phead.anim-bg::after{background:linear-gradient(180deg,rgba(2,5,11,.92) 0%,rgba(2,5,11,.86) 38%,rgba(2,5,11,.62) 62%,rgba(2,5,11,.66) 88%,#02050b 100%)}
}

.cc-arrow{position:relative;display:inline-block;width:20px;height:1.5px;background:currentColor;flex:0 0 auto;transition:transform .25s var(--ease)}
.cc-arrow::after{content:"";position:absolute;right:0;top:50%;width:7px;height:7px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:translateY(-50%) rotate(45deg)}

.cc-hd-btn{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;min-height:40px;padding:0 16px 0 14px;border:1px solid rgba(44,207,196,.5);border-radius:999px;background:rgba(44,207,196,.06);color:var(--tx);font-size:14px;font-weight:600;letter-spacing:.02em;line-height:1.3;white-space:nowrap;transition:border-color .2s ease,background-color .2s ease,color .2s ease}
.cc-hd-btn::before{content:"";flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:var(--grad)}
.cc-hd-btn:hover{border-color:var(--lbl);background:rgba(44,207,196,.14)}
.cc-hd-btn[aria-current]{border-color:var(--lbl)}
@media (min-width:1440px){
  .site-header .in{gap:18px}
  .gnav .nav-top{padding-inline:10px}
  .gnav>ul>li:last-child>.nav-top,.gnav>ul>li:last-child>.nav-top:hover{padding-inline:18px;margin-left:8px}
  .hd-tel{margin-left:0}
}
@media (min-width:1101px) and (max-width:1439px){ .hd-tel{display:none} }
@media (min-width:1101px) and (max-width:1300px){
  .site-header .in{padding-inline:24px;gap:14px}
  .gnav .nav-top{padding-inline:8px;font-size:14px}
  .gnav>ul>li:last-child>.nav-top,.gnav>ul>li:last-child>.nav-top:hover{padding-inline:16px;margin-left:6px}
  .cc-hd-btn{min-height:38px;padding:0 13px 0 12px;gap:7px;font-size:13.5px}
}
.cc-menu-care{display:none}
@media (max-width:1100px){
  .cc-hd-btn{display:none}
  .cc-menu-care{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 48px;align-items:center;column-gap:16px;margin:12px 0 8px;padding:20px 20px 20px 22px;border:1px solid rgba(44,207,196,.45);border-radius:20px;background:radial-gradient(90% 120% at 100% 0%,rgba(14,36,72,.6),transparent 70%),var(--card);color:var(--tx)}
  .cc-menu-care::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:3px;border-radius:3px;background:var(--grad)}
  .cc-menu-care small{grid-column:1;font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--lbl);line-height:1.5}
  .cc-menu-care b{grid-column:1;font-size:24px;font-weight:700;letter-spacing:.01em;line-height:1.35;margin-top:2px}
  .cc-menu-care .cc-mc-t{grid-column:1;font-size:14px;color:var(--mu);line-height:1.7;margin-top:4px}
  .cc-menu-care i{grid-column:2;grid-row:1 / span 3;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--grad);color:var(--ink)}
  .cc-menu-care i .cc-arrow{width:16px}
  .cc-menu-care[aria-current]{border-color:var(--lbl)}
}

.cc-band{position:relative;background:var(--bg0);border-top:1px solid var(--ln);border-bottom:1px solid var(--ln)}
.cc-band-in{display:flex;align-items:center;gap:12px 24px;min-height:76px;padding:20px 0;color:var(--tx)}
.cc-band-tag{flex:0 0 auto;padding:1px 10px;border:1px solid rgba(44,207,196,.5);border-radius:999px;color:var(--lbl);font-size:13px;font-weight:700;letter-spacing:.12em;line-height:1.6}
.cc-band-txt{flex:1 1 auto;min-width:0;font-size:16px;line-height:1.75;letter-spacing:.02em;color:var(--mu)}
.cc-band-txt b{color:var(--tx);font-weight:700}
.cc-band-more{flex:0 0 auto;display:inline-flex;align-items:center;gap:12px;font-size:15px;font-weight:600;color:var(--acc);white-space:nowrap}
.cc-band-in:hover .cc-band-more{color:var(--acc2)}
.cc-band-in:hover .cc-band-more .cc-arrow{transform:translateX(4px)}
.cc-band-in:hover .cc-band-txt b{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.cc-band-in:focus-visible{outline-offset:-2px;border-radius:12px}
@media (max-width:760px){
  .cc-band-in{flex-wrap:wrap;align-items:flex-start;padding:18px 0 20px}
  .cc-band-txt{flex-basis:100%;order:2;font-size:15.5px}
  .cc-band-more{order:3;font-size:15px}
}

.cc-pack{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px clamp(32px,5vw,80px);margin-top:48px;padding:clamp(28px,4vw,56px);background:radial-gradient(70% 90% at 100% 0%,rgba(14,36,72,.6) 0%,rgba(11,22,38,0) 70%),var(--card);border:1px solid var(--ln2);border-radius:28px;overflow:hidden}
.cc-pack::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--grad)}
.cc-pack-catch{font-size:clamp(21px,1.9vw,27px);font-weight:700;line-height:1.55;letter-spacing:.01em}
.cc-pack .lead{font-size:17px;margin-top:16px}
.cc-pack-h{font-size:15px;font-weight:700;letter-spacing:.04em;color:var(--lbl);line-height:1.6;margin-top:36px}
.cc-pack-r>.cc-pack-h{margin-top:0}
.cc-worry{margin-top:10px;border-top:1px solid var(--ln)}
.cc-worry li{position:relative;padding:14px 0 14px 36px;border-bottom:1px solid var(--ln);font-size:16px;line-height:1.75;color:var(--tx)}
.cc-worry li::before{content:"";position:absolute;left:0;top:17px;width:22px;height:22px;border:2px solid var(--ln2);border-radius:7px}
.cc-worry li::after{content:"";position:absolute;left:8px;top:20px;width:6px;height:11px;border-right:2px solid var(--lbl);border-bottom:2px solid var(--lbl);transform:rotate(45deg)}
.cc-can{margin-top:10px;border-top:1px solid var(--ln)}
.cc-can li{display:grid;grid-template-columns:118px minmax(0,1fr);column-gap:20px;align-items:center;padding:22px 0;border-bottom:1px solid var(--ln)}
.cc-can b{font-size:clamp(40px,3.6vw,52px);font-weight:700;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}
.cc-can b small{font-size:16px;font-weight:700;letter-spacing:0;margin-left:2px}
.cc-can strong{display:block;font-size:18px;font-weight:700;line-height:1.55}
.cc-can p{font-size:15px;color:var(--mu);line-height:1.8;margin-top:4px}
.cc-pack-btns{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:14px 16px;padding-top:28px;border-top:1px solid var(--ln)}
.cc-pack-btns .btn{min-height:56px;padding:0 32px}
.cc-textlink{display:inline-flex;align-items:center;gap:12px;min-height:44px;margin-left:8px;color:var(--acc);font-weight:600}
.cc-textlink:hover{color:var(--acc2)}
.cc-textlink:hover .cc-arrow{transform:translateX(4px)}
@media (max-width:860px){
  .cc-pack{grid-template-columns:minmax(0,1fr);gap:8px}
  .cc-pack-r>.cc-pack-h{margin-top:36px}
  .cc-pack-btns{margin-top:28px}
}
@media (max-width:760px){
  .cc-pack{padding:28px 20px 24px;border-radius:22px}
  .cc-can li{grid-template-columns:92px minmax(0,1fr);column-gap:14px}
  .cc-can b{font-size:36px}
  .cc-can b small{font-size:14px}
  .cc-pack-btns .btn{width:100%}
  .cc-textlink{margin-left:0}
}

.gnav .sub .cc-sub-care{margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid var(--ln)}
.gnav .sub .cc-sub-care a{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;column-gap:8px}
.cc-sub-care .cc-nm{font-weight:600}
.cc-sub-care small{grid-column:1 / -1;font-size:13px;color:var(--mu);line-height:1.6}
.cc-new{justify-self:start;padding:0 8px;border:1px solid rgba(44,207,196,.55);border-radius:999px;color:var(--lbl);font-size:13px;font-weight:700;letter-spacing:.06em;line-height:1.6}
@media (max-width:1100px){
  html .gnav .sub .cc-sub-care{margin-bottom:0;padding-bottom:0;border-bottom:0}
  .cc-sub-care small{font-size:14px}
}

:root{--cc-sbar-h:64px}
.cc-sbar{display:none}
@media (max-width:760px){
  .cc-sbar{position:fixed;left:0;right:0;bottom:0;z-index:45;display:flex;align-items:center;gap:8px;padding:8px 8px calc(8px + env(safe-area-inset-bottom)) 12px;background:rgba(3,7,15,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--ln2)}
  @keyframes cc-sbar-in{from{visibility:hidden;transform:translateY(110%)}}
  @supports (animation-timeline:scroll()){ .cc-sbar{animation:cc-sbar-in linear both;animation-timeline:scroll(root);animation-range:52vh 60vh} }
  .cc-sbar:has(.cc-x-in:checked){display:none}
  .cc-sbar a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border-radius:999px;font-size:15px;font-weight:600;line-height:1.3;white-space:nowrap}
  .cc-sbar-main{flex:1 1 auto;gap:10px;padding:0 16px;background:var(--grad);color:var(--ink)}
  .cc-sbar-main .cc-arrow{width:14px}
  .cc-sbar-tel{flex:0 0 auto;gap:6px;padding:0 16px;border:1px solid var(--ln2);color:var(--tx)}
  .cc-sbar-tel svg{width:16px;height:16px}
  .cc-sbar-x{flex:0 0 auto;position:relative;display:block;width:46px;height:46px;border:0;border-radius:50%;background:transparent;color:var(--mu);cursor:pointer}
  .cc-sbar-x:has(.cc-x-in:focus-visible){outline:2px solid var(--acc);outline-offset:2px}
  .cc-sbar-x::before,.cc-sbar-x::after{content:"";position:absolute;left:50%;top:50%;width:16px;height:1.5px;background:currentColor;transform:translate(-50%,-50%) rotate(45deg)}
  .cc-sbar-x::after{transform:translate(-50%,-50%) rotate(-45deg)}
  .cc-sbar-x:hover{color:var(--tx);background:rgba(200,215,235,.08)}
  html:has(.cc-sbar):not(:has(.cc-x-in:checked)) body{padding-bottom:var(--cc-sbar-h)}
  html:has(.cc-sbar):not(:has(.cc-x-in:checked)){scroll-padding-bottom:calc(var(--cc-sbar-h) + 16px)}
  html:has(.gnav:popover-open) .cc-sbar{display:none}
}
@media (max-width:360px){
  .cc-sbar{gap:6px;padding-left:8px}
  .cc-sbar-main{padding:0 12px}
  .cc-sbar-tel{width:46px;padding:0;font-size:0}
  .cc-sbar-tel svg{width:18px;height:18px}
}

.cc-ph{aspect-ratio:16/10;flex-direction:column;gap:6px;background:radial-gradient(80% 90% at 80% 10%,rgba(34,169,214,.22) 0%,rgba(12,24,40,0) 65%),var(--ph-bg)}
.cc-ph b{font-size:clamp(22px,2.4vw,34px);font-weight:700;letter-spacing:.01em;line-height:1.2;color:var(--tx)}
.cc-ph b::first-letter{color:var(--lbl)}
.pc-grid .pc:not(:first-child) .cc-ph b{font-size:17px}
.pc-grid .pc:not(:first-child) .cc-ph span{display:none}
.cc-ph span{font-size:13px;color:var(--mu)}
.cc-news .pc-date .ph-i{color:#f6cf86}
.f-menu .cc-f-care a{display:inline-flex;align-items:center;gap:10px;color:var(--tx);font-weight:600}
.f-menu .cc-f-care a::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--grad)}
.f-menu .cc-f-care a:hover{color:var(--acc)}
.f-menu .cc-f-care small{font-size:13px;font-weight:400;color:var(--mu)}

#philosophy .txt.cols2{display:block;margin-top:0;max-width:42em}
#philosophy .txt.cols2 p{font-size:17px;line-height:2.05}
#philosophy .txt.cols2 p+p{margin-top:1.6em}
#philosophy .anchor-btns::before{content:"このページの内容";display:block;padding:0 0 10px;font-size:13px;font-weight:600;letter-spacing:.08em;line-height:1.6;color:var(--lbl);flex-basis:100%}
@media (min-width:961px){
  #philosophy .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,300px);column-gap:clamp(48px,6vw,104px);align-items:start}
  #philosophy .wrap>.ttl,#philosophy .wrap>.catch-xl{grid-column:1 / -1}
  #philosophy .wrap>.catch-xl{margin-bottom:56px}
  #philosophy .txt.cols2{grid-column:1}
  #philosophy .anchor-btns{grid-column:2;grid-row:3;position:sticky;top:calc(var(--hd) + 32px);margin-top:4px}
}
@media (min-width:961px),(max-width:760px){
  #philosophy .anchor-btns{display:block}
  #philosophy .anchor-btns .btn{display:flex;justify-content:space-between;width:100%;min-height:60px;padding:0 6px 0 2px;border:0;border-top:1px solid var(--ln);border-radius:0;background:none;font-size:16px;text-align:left}
  #philosophy .anchor-btns .btn:last-child{border-bottom:1px solid var(--ln)}
  #philosophy .anchor-btns .btn::after{content:"";flex:0 0 auto;width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);opacity:.8;transition:transform .25s var(--ease)}
  #philosophy .anchor-btns .btn:hover{background:rgba(200,215,235,.04)}
  #philosophy .anchor-btns .btn:hover::after{transform:rotate(45deg) translate(1px,1px)}
}
@media (max-width:960px){
  #philosophy .wrap>.catch-xl{margin-bottom:40px}
  #philosophy .anchor-btns{margin-top:48px}
}

.sx-r,.ck-in,.cc-x-in{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;opacity:0}
@media (max-width:759.98px){
  #hero .hero-art{top:33%}
  #hero .hp.hp-pc{display:none}
  #hero .hp.hp-sp{display:block}
  #hero .hero-glow{top:33%}
  #hero .hero-copy{top:calc(33% + 88cqw * .116781 + 36px)}
}
.gnav{display:block;position:static;inset:auto;width:auto;height:auto;margin:0;border:0;padding:0;overflow:visible;color:inherit;background:none}
.gnav .dd>summary{list-style:none}
.gnav .dd>summary::-webkit-details-marker{display:none}
@media (min-width:1101px){
  .gnav .has-sub:is(:hover,:focus-within) .dd::details-content{content-visibility:visible}
  .gnav .has-sub:not(:hover):not(:focus-within) .dd[open] .sub{display:none}
}
@media (max-width:1100px){
  @supports not selector(:popover-open){
    .menu-btn{display:none}
    .site-header{position:relative;height:auto;margin-bottom:calc(-1 * var(--hd))}
    .site-header .in{flex-wrap:wrap;row-gap:0}
    .site-header .brand{min-height:var(--hd)}
    html .gnav{position:static;display:block;flex:0 0 100%;width:100%;height:auto;overflow:visible;padding:0 0 16px;background:none}
    html .gnav .cc-menu-care{display:none}
    html .gnav>ul{display:grid;grid-template-columns:minmax(0,1fr);column-gap:16px}
    html .gnav>ul>li:has(>.dd[open]){grid-column:1 / -1}
    html .gnav .nav-top,html .gnav .has-sub>a.nav-top,html .gnav .has-sub summary.nav-top{padding:12px 2px;font-size:15px;font-weight:700;letter-spacing:0;color:var(--tx)}
    html .gnav .has-sub summary.nav-top{cursor:pointer}
    html .gnav .has-sub summary.nav-top::after{display:block}
    html .gnav .has-sub>.sub{display:none}
    html .gnav .sub{padding:0 0 10px}
    html .gnav .sub a{padding:9px 2px 9px 14px;font-size:15px}
    html .gnav>ul>li:last-child{grid-column:1 / -1;margin-top:14px}
    html .gnav>ul>li:last-child>.nav-top{padding:12px;font-size:16px}
  }
}
@media (min-width:380px) and (max-width:1100px){
  @supports not selector(:popover-open){ html .gnav>ul{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)} }
}

.msg2{grid-template-columns:minmax(0,300px) minmax(0,1fr)}
.ov-logo{padding:0;background:none;border:0;border-radius:0}
.c-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.c-grid>.c-call{max-width:none}
.c-grid>.c-call+.c-call{margin-top:0;padding:0 0 0 clamp(32px,5vw,64px);border-top:0;border-left:1px solid var(--ln)}
.c-grid>.c-call:first-child{padding-right:clamp(32px,5vw,64px)}
.c-grid .c-tel{font-size:clamp(30px,3.4vw,48px)}
.c-grid .c-mail{font-size:clamp(20px,2.2vw,30px)}
.c-grid .ttl{font-size:clamp(22px,2.3vw,32px);white-space:nowrap}
@media (max-width:860px){
  .msg2{grid-template-columns:minmax(0,1fr)}
  .msg2 .photo{max-width:240px}
  .c-grid{grid-template-columns:minmax(0,1fr)}
  .c-grid>.c-call:first-child{padding-right:0}
  .c-grid>.c-call+.c-call{margin-top:clamp(40px,6vw,64px);padding:clamp(40px,6vw,64px) 0 0;border-left:0;border-top:1px solid var(--ln)}
  .c-grid .c-tel{font-size:clamp(32px,8.6vw,52px)}
}
.phead.nf{min-height:calc(100svh - var(--hd) - 120px);display:grid;align-content:center;padding-block:clamp(72px,10vw,120px)}
.nf-code{font-size:clamp(64px,9vw,120px);font-weight:700;line-height:1;letter-spacing:.04em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:20px}
.nf-btn{margin-top:32px}
