:root{--navy:#0E2F4F;--blue:#1E86C9;--blue-d:#15639B;--green:#0B7A70;--red:#C33A1F;--orange:#D9701E;--gold:#A87B10;--paper:#F5F7F8;--ink:#1D2730;--soft:#4D5B66;--line:#D5DCE2;--line-g:#047A39;--hdh:68px;--bn:0px;
--font:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic Medium","Yu Gothic",Meiryo,"Noto Sans JP",sans-serif;--mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip;scroll-padding-top:calc(var(--hdh) + 12px)}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.85;word-break:keep-all;overflow-wrap:break-word;line-break:strict;overflow-x:clip;-webkit-font-smoothing:antialiased;padding-bottom:var(--bn)}
img{max-width:100%;height:auto;display:block}
a{color:var(--blue-d)}
h1,h2,h3{line-height:1.45;text-wrap:balance;color:var(--navy);margin:0}
p,li,dd{text-wrap:pretty}
p{margin:0 0 1em}
.wrap{max-width:1160px;margin:0 auto;padding:0 32px}
.narrow{max-width:760px}
.line{display:block}.nw{white-space:nowrap}.ib{display:inline-block;white-space:nowrap}
.num{font-family:var(--mono);font-weight:500;letter-spacing:0}
[hidden]{display:none !important}
@media(max-width:760px){.wrap{padding:0 16px}:root{--hdh:62px;--bn:calc(60px + env(safe-area-inset-bottom))}}
.chk{display:inline-block;vertical-align:middle;margin:0 .35em;padding:1px 7px 0;background:#FFE36B;color:#4A3B00;font-size:12px;font-weight:700;line-height:1.6;border-radius:2px;white-space:nowrap;font-family:var(--font)}
.confirm{display:flex;gap:6px;align-items:flex-start;background:#FFF9DC;border-left:3px solid #E5C100;padding:10px 12px;font-size:15px;line-height:1.7;margin:12px 0}
.confirm .chk{margin:3px 4px 0 0;flex:none}
/* ボタン */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;min-height:50px;padding:10px 22px;font-size:16px;font-weight:700;text-decoration:none;border-radius:3px;border:1px solid transparent;cursor:pointer;font-family:var(--font);line-height:1.3;text-align:center}
.btn-main{background:var(--blue-d);color:#fff}.btn-main:hover{background:var(--navy)}
.btn-line{background:var(--line-g);color:#fff}.btn-line:hover{background:#03652F}
.btn-corp{display:flex;width:100%;margin:10px 0 0;background:#EDF6FC;color:var(--navy);border-color:var(--blue-d);font-size:17px}.btn-corp:hover{background:#DCEEFA}
.btn-ghost{background:#fff;color:var(--navy);border-color:var(--navy)}.btn-ghost:hover{background:var(--paper)}
.btn-wide{width:100%}
.cta-row{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}
.cta-row .btn{flex:1 1 200px}
.more{display:inline-flex;align-items:center;min-height:48px;font-weight:700;color:var(--navy);text-underline-offset:5px}
/* ヘッダー */
.hd{position:sticky;top:0;z-index:40;background:#fff;border-bottom:1px solid var(--line);transition:background-color .3s,border-color .3s}
.hd-row{display:flex;align-items:center;gap:18px;height:var(--hdh);max-width:1320px}
.logo{display:flex;align-items:baseline;gap:.4rem;text-decoration:none;line-height:1;flex:none}
.logo .my{font-family:"Parisienne","Snell Roundhand",cursive;font-size:1.95rem;color:var(--navy)}
.logo .cl{font-family:var(--mono);font-size:.72rem;letter-spacing:.2em;color:var(--soft)}
.gnav{display:flex;gap:14px;margin-left:auto;font-size:13.5px;font-weight:700}
.gnav a{text-decoration:none;color:var(--ink);padding:6px 0;border-bottom:2px solid transparent;white-space:nowrap}
.gnav a:hover,.gnav a[aria-current]{border-color:var(--blue)}
.hd-tel{text-decoration:none;color:var(--navy);line-height:1.2;text-align:right;flex:none}
.hd-tel .num{font-size:16px;display:block}.hd-tel small{font-size:12px;color:var(--soft)}
.burger{display:none;width:48px;height:48px;border:1px solid var(--line);background:#fff;border-radius:3px;cursor:pointer;flex:none;padding:0}
.burger span{display:block;width:20px;height:2px;background:var(--navy);margin:4px auto}
.mnav{background:#fff;border-top:1px solid var(--line);max-height:calc(100vh - var(--hdh));overflow-y:auto}
.mnav a{display:flex;align-items:center;min-height:52px;padding:6px 20px;border-bottom:1px solid var(--line);text-decoration:none;font-weight:700;color:var(--ink)}
.mnav a[aria-current]{color:var(--blue-d)}
.mnav-tel{color:var(--navy) !important}
@media(max-width:1240px){.gnav{display:none}.burger{display:block}.hd-tel{margin-left:auto}}
@media(max-width:760px){.hd-row{gap:10px}.logo .cl{display:none}.hd-tel small{display:none}.hd-tel .num{font-size:15px}}
@media(min-width:1241px){.mnav{display:none}}
/* 下の固定ナビ（スマホ） */
.bnav{display:none}
@media(max-width:760px){
  .bnav{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,.8fr) minmax(0,1fr) minmax(0,1.3fr);position:fixed;left:0;right:0;bottom:0;z-index:45;background:#fff;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);transition:opacity .3s,transform .3s}
  .bnav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;height:60px;text-decoration:none;color:var(--navy);font-size:14px;font-weight:700;line-height:1.2;white-space:nowrap}
  .bnav a:nth-child(3){color:#047a39}
  .bnav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
}
html.op-on .bnav{opacity:0;transform:translateY(100%);pointer-events:none}
/* オープニング */
.opening{position:relative;height:100vh;height:100svh;min-height:460px;margin-top:calc(-1 * var(--hdh) - 1px);overflow:hidden;background:#05080D;isolation:isolate;container-type:size}
.op-bg{position:absolute;inset:0;z-index:-1;background:url(/img/hero-logo-night-blur.webp) center/cover no-repeat}
.op-bg::after{content:"";position:absolute;inset:0;background:rgba(3,7,12,.5)}
.op-frame{position:absolute;left:50%;--mx:9%;--S:min(100vw,calc((100vh - var(--hdh) - 190px) / .562));width:min(var(--S),100vw);height:var(--S);top:calc(var(--hdh) + (100vh - var(--hdh) - 100px) / 2);transform:translate(-50%,-46.45%)}
@supports (width:1cqw){.op-frame{--S:min(100cqw,calc((100cqh - var(--hdh) - 190px) / .562));width:min(var(--S),100cqw);top:calc(var(--hdh) + (100cqh - var(--hdh) - 100px) / 2)}}
@media(max-width:960px) and (orientation:portrait){
  .op-frame{--mx:6%;--S:min(calc(100vw * 1.315),calc((100vh - var(--hdh) - 190px) / .562));width:100vw}
  @supports (width:1cqw){.op-frame{--S:min(calc(100cqw * 1.315),calc((100cqh - var(--hdh) - 190px) / .562));width:100cqw}}
}
.op-zoom,.op-zoom picture{display:block;width:100%;height:100%}
.op-img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;
  --mv:linear-gradient(180deg,transparent 0,rgba(0,0,0,.08) 3%,rgba(0,0,0,.3) 7%,rgba(0,0,0,.62) 11%,rgba(0,0,0,.88) 14.5%,#000 17%,#000 80%,rgba(0,0,0,.88) 83.5%,rgba(0,0,0,.62) 88%,rgba(0,0,0,.3) 93%,rgba(0,0,0,.08) 97%,transparent 100%);
  --mh:linear-gradient(90deg,transparent 0,#000 var(--mx),#000 calc(100% - var(--mx)),transparent 100%);
  -webkit-mask-image:var(--mh),var(--mv);-webkit-mask-composite:source-in;mask-image:var(--mh),var(--mv);mask-composite:intersect}
.op-cue{position:absolute;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));width:28px;height:64px;margin-left:-14px;display:block}
.op-cue span{position:absolute;left:50%;top:0;bottom:0;width:1px;margin-left:-.5px;background:rgba(255,255,255,.28);overflow:hidden}
.op-cue span::after{content:"";position:absolute;left:0;top:-40%;width:1px;height:40%;background:rgba(255,255,255,.9)}
@keyframes opZoom{from{transform:scale(1.08)}to{transform:none}}
@keyframes opFade{from{opacity:0}to{opacity:1}}
@keyframes opCue{0%{top:-40%}70%,100%{top:100%}}
.js .op-zoom{animation:opZoom 8s cubic-bezier(.2,.6,.3,1) both}
.js .op-img{animation:opFade 1.4s .1s ease-out both}
.js .op-cue span::after{animation:opCue 2.2s 1.2s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.js .op-zoom,.js .op-img{animation:none !important}.js .op-cue span::after{animation:none !important;top:30%}}
.hd .logo .my,.hd .logo .cl,.hd .gnav a,.hd .hd-tel,.hd .hd-tel small,.hd .burger,.hd .burger span{transition:color .3s,text-shadow .3s,background-color .3s,border-color .3s}
html.op-on .hd:not(.menu-open){background:transparent;border-bottom-color:transparent}
html.op-on .hd:not(.menu-open) .logo .my,html.op-on .hd:not(.menu-open) .logo .cl,html.op-on .hd:not(.menu-open) .gnav a,html.op-on .hd:not(.menu-open) .hd-tel,html.op-on .hd:not(.menu-open) .hd-tel small{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.75),0 0 10px rgba(0,0,0,.55)}
html.op-on .hd:not(.menu-open) .burger{background:transparent;border-color:rgba(255,255,255,.6)}
html.op-on .hd:not(.menu-open) .burger span{background:#fff}
/* セクション */
.sec{padding:64px 0}
.sec-line{border-top:1px solid var(--line)}
.h2{font-size:clamp(23px,3vw,30px);margin:0 0 14px}
.sub{color:var(--soft);margin-bottom:22px}
.note{font-size:15px;color:var(--soft)}
.empty{padding:22px;background:var(--paper);color:var(--soft);margin:0}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:40px}
@media(max-width:860px){.two{grid-template-columns:minmax(0,1fr);gap:12px}}
@media(max-width:760px){.sec{padding:44px 0}}
.intro{padding:52px 0 56px}
.pre{font-size:15px;color:var(--soft);padding-left:12px;border-left:3px solid var(--blue);line-height:1.5;margin-bottom:16px}
.intro h1{font-size:clamp(21px,calc(8.2vw - 4.7px),42px);line-height:1.5;margin:0 0 24px;font-weight:700}
.strengths{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:2px solid var(--navy)}
.strengths li{padding:14px 12px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
.strengths li:last-child{border-right:0}
.strengths b{display:block;color:var(--navy);line-height:1.45}
.strengths span:not(.chk){display:block;font-size:14.5px;color:var(--soft);line-height:1.6}
@media(max-width:960px){.strengths{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.strengths li:nth-child(2n){border-right:0}}
/* 写真カード */
.scards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.scards-6{grid-template-columns:repeat(6,minmax(0,1fr))}
.scard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.scard:hover{border-color:var(--blue);box-shadow:0 6px 18px -10px rgba(14,47,79,.5)}
.c-photo{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--paper)}
.c-photo img{width:100%;height:100%;object-fit:cover}
.c-img-note{position:absolute;right:5px;bottom:5px;padding:0 6px;background:rgba(14,47,79,.78);color:#fff;font-size:12px;line-height:1.7;border-radius:2px}
.c-name{display:block;padding:10px 10px 2px;font-weight:700;color:var(--navy);line-height:1.45;font-size:16px}
.c-price{display:block;padding:0 10px 11px;font-size:14.5px;color:var(--ink);line-height:1.5}
.c-price b{font-size:18px;color:var(--navy)}
.c-price small{font-size:14px;color:var(--soft)}
.c-price .chk{margin-left:0}
@media(max-width:1000px){.scards{grid-template-columns:repeat(2,minmax(0,1fr))}.scards-6{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.scards,.scards-6{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
/* 料金の早見 */
.split-price{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:48px;align-items:start}
@media(max-width:900px){.split-price{grid-template-columns:minmax(0,1fr);gap:18px}}
.card{background:#fff;border:1px solid var(--line);box-shadow:0 14px 34px -26px rgba(14,47,79,.5)}
.card-hd{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:12px 18px;border-bottom:1px solid var(--line)}
.card-hd h3{font-size:17px}.card-hd span{font-size:14px;color:var(--soft)}
.tabs{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--line);background:var(--paper)}
.tabs button{flex:1 1 33%;min-height:48px;border:0;border-bottom:3px solid transparent;background:transparent;font:700 15px var(--font);color:var(--soft);cursor:pointer;padding:6px}
.tabs button[aria-selected="true"]{background:#fff;color:var(--navy);border-bottom-color:var(--blue)}
.js [data-tabhide]{display:none}
.pane{padding:4px 18px 10px}
.pane table{width:100%;border-collapse:collapse}
.pane th{text-align:left;font-weight:500;padding:11px 8px 11px 0;border-bottom:1px dotted var(--line);vertical-align:top}
.pane td{padding:11px 0;border-bottom:1px dotted var(--line);vertical-align:top}
.yen{text-align:right;color:var(--navy);font-weight:700;white-space:nowrap}
.yen .num{font-size:17px}.yen em{font-style:normal;font-size:14px;margin-left:1px}
.yen.ask{font-size:15px}
/* 料金表 */
.ptable{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);margin:0 0 6px}
.ptable caption{text-align:left;font-weight:700;color:var(--navy);padding:0 0 6px}
.ptable th{font-size:14px;font-weight:500;color:var(--soft);text-align:left;padding:8px 14px;background:var(--paper);border-bottom:1px solid var(--navy)}
.ptable th.r{text-align:right}
.ptable td{padding:12px 14px;border-bottom:1px solid var(--line)}
.ptable .yen .num{font-size:18px}
.k-discount{border-color:#EBB89A}.k-discount th{background:#FDF1EA;border-bottom-color:var(--orange)}
.k-discount .yen{color:var(--red)}
.tag-off,.tag-corp,.tag-rec{display:inline-block;margin-right:.5em;padding:1px 8px;font-size:13px;font-weight:700;color:#fff;border-radius:2px;line-height:1.7;white-space:nowrap}
.tag-off{background:var(--red)}.tag-corp{background:var(--blue-d)}.tag-rec{background:var(--green)}
.pl{padding:26px 0;border-top:1px solid var(--line)}
.pl:first-of-type{border-top:2px solid var(--navy)}
.pl h3{font-size:20px;margin-bottom:12px}
.pl-tables{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:18px;align-items:start}
.pl-tables>*{min-width:0}
/* 理由・流れ */
.reasons{list-style:none;counter-reset:r;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 48px}
.reasons li{counter-increment:r;position:relative;padding:16px 0 12px 44px;border-top:1px solid var(--line)}
.reasons li::before{content:counter(r,decimal-leading-zero);position:absolute;left:0;top:17px;font-family:var(--mono);color:var(--blue-d);font-weight:500}
.reasons b{color:var(--navy);font-size:17px}.reasons p{margin:2px 0 0;color:var(--soft)}
@media(max-width:760px){.reasons{grid-template-columns:minmax(0,1fr)}}
.flow,.steps{list-style:none;margin:0;padding:0;border-left:2px solid var(--navy);counter-reset:f}
.flow li,.steps li{counter-increment:f;position:relative;padding:0 0 18px 26px}
.flow li::before,.steps li::before{content:"";position:absolute;left:-7px;top:.55em;width:12px;height:12px;background:#fff;border:2px solid var(--navy)}
.flow li:last-child,.steps li:last-child{padding-bottom:0}
.flow b,.steps b{display:block;color:var(--navy);font-size:17px;line-height:1.5}
.flow span,.steps span{display:block;color:var(--soft)}
.qa{border-bottom:1px solid var(--line)}
.qa:first-of-type{border-top:1px solid var(--line)}
.qa summary{list-style:none;cursor:pointer;padding:14px 30px 14px 0;font-weight:700;color:var(--navy);position:relative;min-height:48px}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";position:absolute;right:4px;top:12px;font-family:var(--mono);color:var(--blue-d);font-size:20px}
.qa[open] summary::after{content:"\2212"}
.qa p{margin:0 0 16px}
.faq-g{margin-bottom:40px}
.company{margin:0;border-top:2px solid var(--navy)}
.company div{display:grid;grid-template-columns:8em minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.company dt{font-weight:700;color:var(--navy)}.company dd{margin:0}
.area{font-size:21px;font-weight:700;color:var(--navy)}
.corp-top{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:40px;align-items:center}
.corp-photo{border:1px solid var(--line)}
@media(max-width:760px){.corp-top{grid-template-columns:minmax(0,1fr);gap:18px}}
.corp-price{font-weight:500}.corp-price b{font-size:20px;color:var(--navy)}
.benefit{background:#EDF6FC;border-left:3px solid var(--blue-d);padding:10px 12px;margin:12px 0}
.ctypes{list-style:none;margin:0 0 8px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px}
.ctypes li{padding:14px 0;border-top:1px solid var(--line)}
.ctypes b{color:var(--navy);font-size:17px}.ctypes p{margin:2px 0 0;color:var(--soft)}
@media(max-width:860px){.ctypes{grid-template-columns:minmax(0,1fr)}}
.merits{list-style:none;margin:0;padding:0}
.merits li{padding:12px 0;border-top:1px solid var(--line)}
.merits b{display:block;color:var(--navy)}.merits span{color:var(--soft)}
.survey-call{margin-top:6px}
/* 施工事例 */
.ba-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;max-width:1000px;margin:14px 0}
.ba-pair figure{margin:0;border:1px solid var(--line);background:#fff}
.ba-pair img{width:100%}
.ba-pair figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 10px;padding:8px 12px;font-size:14px;color:var(--soft);border-top:1px solid var(--line)}
.ba-pair figcaption b{color:var(--navy)}
@media(max-width:560px){.ba-pair{grid-template-columns:minmax(0,1fr)}}
/* 動的な内容 */
.camp{border:1px solid #E7CD91;border-left:4px solid var(--gold);padding:16px;margin:0 0 12px;background:#FFFBF0}
.camp h3{font-size:19px}
.camp .off{color:var(--red);font-weight:700;font-size:18px;margin:4px 0}
.camp dl{margin:6px 0 10px;font-size:15px}.camp dl div{display:flex;gap:8px;flex-wrap:wrap}.camp dt{font-weight:700;color:var(--soft)}.camp dd{margin:0}
.notice{padding:12px 0;border-top:1px solid var(--line)}
.notice time{font-family:var(--mono);font-size:14px;color:var(--soft)}
.notice b{display:block;color:var(--navy)}.notice p{margin:2px 0 0}
.voices{display:grid;grid-auto-flow:column;grid-auto-columns:min(320px,82%);gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;-webkit-overflow-scrolling:touch}
.voice{scroll-snap-align:start;border:1px solid var(--line);padding:16px;background:#fff}
.voice p{margin:0 0 8px}.voice small{color:var(--soft);font-size:14px}
.work-item h3{font-size:18px;margin-top:18px}
/* フォーム */
.form{margin-top:18px}
.field{margin:0 0 18px;border:0;padding:0;min-width:0}
.field label,.field legend{display:block;font-weight:700;color:var(--navy);margin-bottom:4px;padding:0}
.field em{font-style:normal;margin-left:.5em;font-size:14px;color:#fff;background:var(--red);padding:0 6px;border-radius:2px}
input[type=text],input[type=tel],input[type=email],input[type=password],input[type=date],select,textarea{width:100%;min-height:50px;font:16px var(--font);padding:10px 12px;border:1px solid #9AA7B2;border-radius:3px;background:#fff;color:var(--ink)}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.field .opt,.opt{display:flex;align-items:center;gap:6px;min-height:48px;padding:6px 14px;border:1px solid #9AA7B2;border-radius:3px;font-weight:400 !important;color:var(--ink) !important;cursor:pointer;margin:0 !important}
.opt input{width:20px;height:20px;margin:0}
.opt:has(input:checked){border-color:var(--blue-d);background:#EDF6FC}
.check{display:flex;gap:10px;align-items:flex-start;margin:0 0 18px;cursor:pointer}
.check input{width:22px;height:22px;margin:3px 0 0;flex:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.picked{background:#EDF6FC;padding:10px 12px;border-left:3px solid var(--blue-d)}
.contact-ways{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.way{display:block;border:1px solid var(--line);padding:14px;text-decoration:none;color:var(--ink);min-height:48px}
.way small{display:block;color:var(--soft);font-size:14px}.way b{display:block;font-size:20px;color:var(--navy)}.way span{font-size:14px;color:var(--soft)}
.way-line b{color:#047a39}
@media(max-width:560px){.contact-ways{grid-template-columns:minmax(0,1fr)}}
/* 下層ページ */
.ph{background:var(--paper);border-bottom:1px solid var(--line);padding:18px 0 26px}
.ph h1{font-size:clamp(21px,6.6vw,34px);margin-top:8px}
.ph-lead{margin:10px 0 0;color:var(--soft)}
.crumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:0 6px;font-size:14px;color:var(--soft)}
.crumb li+li::before{content:"/";margin-right:6px}
.crumb a{color:var(--soft);display:inline-flex;align-items:center;min-height:32px}
.crumb li[aria-current]{display:inline-flex;align-items:center;min-height:32px}
.btn-back{min-height:48px;font-size:15px;padding:8px 16px;margin-top:6px}
.detail{padding-top:26px;padding-bottom:48px;max-width:960px}
.d-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:28px;align-items:start;margin-bottom:10px}
@media(max-width:760px){.d-top{grid-template-columns:minmax(0,1fr);gap:14px}}
.d-photo{border:1px solid var(--line)}
.dsec{padding:24px 0;border-top:1px solid var(--line)}
.dsec h2{font-size:21px;margin-bottom:12px}
.dsec h2 small{font-size:15px;font-weight:500;color:var(--soft);margin-left:.3em}
.dsec .ptable{margin-top:10px}
.dots{margin:0;padding-left:1.2em}.dots li{margin:0 0 6px}
.d-cta{border-top:2px solid var(--navy);padding-top:20px}
.d-cta h2{font-size:21px}
.d-cta .btn-back{margin-top:12px}
/* 下の帯（唯一の濃い面） */
.band{background:var(--navy);color:#fff;padding:52px 0}
.band h2{color:#fff;font-size:clamp(23px,3vw,30px);margin-bottom:10px}
.band p{color:rgba(255,255,255,.92)}
.band .btn-ghost{background:#fff}
/* フッター */
.ft{background:var(--paper);border-top:1px solid var(--line);padding:40px 0 20px;font-size:15px;color:var(--soft)}
.ft-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:28px}
.ft h2{font-size:15px;margin-bottom:6px}
.ft ul{list-style:none;margin:0;padding:0}
.ft li a{display:inline-flex;align-items:center;min-height:34px;color:var(--soft)}
.ft p{margin:8px 0 0}
.copy{font-size:13px;margin-top:20px}
@media(max-width:760px){.ft-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ft-grid>div:first-child{grid-column:1/-1}}
/* 管理画面 */
.admin{padding-top:20px;padding-bottom:60px;max-width:880px}
.admin h1{font-size:22px;margin-bottom:14px}
.err{color:var(--red);font-weight:700;margin-top:8px}
.a-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.a-tabs button{min-height:48px;padding:6px 14px;border:1px solid var(--navy);background:#fff;color:var(--navy);font:700 15px var(--font);border-radius:3px;cursor:pointer}
.a-tabs button[aria-current]{background:var(--navy);color:#fff}
.a-item{border:1px solid var(--line);padding:14px;margin:0 0 12px;background:#fff}
.a-item h3{font-size:17px}
.a-item .meta{font-size:14px;color:var(--soft)}
.a-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.a-state{display:inline-block;padding:0 8px;font-size:13px;font-weight:700;border-radius:2px;background:var(--paper);color:var(--soft)}
.a-state.on{background:#DDF3EE;color:var(--green)}
.a-form{border:1px solid var(--navy);padding:14px;margin:0 0 18px}
.a-msg{font-weight:700;color:var(--green);min-height:1.6em}
.a-thumb{display:flex;gap:8px;margin:8px 0}.a-thumb img{width:48%;max-width:220px;border:1px solid var(--line)}
.more>span{min-width:0}
.ptable td:first-child{overflow-wrap:anywhere}
@media(max-width:400px){.ptable td,.ptable th{padding-left:9px;padding-right:9px}.ptable .yen .num{font-size:16px}}
.pl-tables+.confirm{margin-top:14px}
.pl .confirm+.confirm{margin-top:6px}
.ph-d .wrap{max-width:960px}
