/* =========================================================
   Salt Tokyo – site look (header, footer, top page, lists, article frame)
   The article bodies (salt-*) use 「記事のCSS」.
   ========================================================= */
:root{
  --st-main:#3c8b86;--st-main-d:#2f6f6b;--st-deep:#1f4f4c;--st-night:#13302e;
  --st-ink:#2b2f2e;--st-sub:#5d6866;--st-line:#dde9e7;--st-tint:#f2f7f6;--st-alt:#f6f9f8;
  --st-orange:#d9782a;--st-orange-d:#b9611b;--st-red:#cf2e2e;
  --st-radius:16px;--st-hdr-h:64px;
  --st-sans:"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP","Yu Gothic UI","Yu Gothic",Meiryo,sans-serif;
  --st-min:"Zen Old Mincho","Sawarabi Mincho","Hiragino Mincho ProN","Yu Mincho",serif;
  /* VK Blocks / Lightning colors used inside the articles */
  --vk-color-primary:#3c8b86;--vk-color-primary-dark:#2f6f6b;--vk-color-primary-vivid:#43999a;
  --wp--preset--color--vk-color-primary:#3c8b86;--wp--preset--color--vk-color-primary-dark:#2f6f6b;--wp--preset--color--vk-color-primary-vivid:#43999a;
  --vk-color-text-body:#2b2f2e;--vk-color-border-hr:#dde9e7;--vk-size-radius:6px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--st-hdr-h) + 16px)}
body{margin:0;background:#fff;color:var(--st-ink);font-family:var(--st-sans);font-size:16px;line-height:1.9;letter-spacing:.02em;overflow-wrap:anywhere}
img{max-width:100%;height:auto}
a{color:var(--st-main-d)}
a:hover{color:var(--st-deep)}
:focus-visible{outline:3px solid #f0a35a;outline-offset:2px}
.st-min{font-family:var(--st-min);font-weight:700;letter-spacing:.05em}
.st-wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 16px}
.st-center{text-align:center;margin:28px 0 0;display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.st-skip{position:absolute;left:-9999px;top:0;z-index:100;background:#fff;padding:8px 14px}
.st-skip:focus{left:8px;top:8px}
.st-i{flex:none}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}

/* ---------- Buttons ---------- */
.st-btn{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:8px 26px;border-radius:999px;border:2px solid transparent;font-weight:700;font-size:15px;line-height:1.4;text-decoration:none;text-align:center;transition:background .15s,color .15s}
.st-btn small{display:block;font-size:11.5px;font-weight:500;opacity:.92}
.st-btn.is-orange{background:var(--st-orange);color:#fff}
.st-btn.is-orange:hover{background:var(--st-orange-d);color:#fff}
.st-btn.is-teal{background:var(--st-main);color:#fff}
.st-btn.is-teal:hover{background:var(--st-main-d);color:#fff}
.st-btn.is-line{border-color:var(--st-main);color:var(--st-main-d);background:#fff}
.st-btn.is-line:hover{background:var(--st-tint)}
.st-btn.is-tel{background:#fff;color:var(--st-deep);border-color:#fff;font-size:20px;letter-spacing:.04em}
.st-btn.is-sm{min-height:44px;padding:4px 20px;font-size:14px}
.st-btn.is-block{display:flex;width:100%}
.st-cta-btns{display:flex;flex-direction:column;gap:10px;min-width:0}
.st-cta-btns .st-btn{flex-direction:column;gap:0;min-height:60px;border-radius:14px}
.st-cta-btns .st-btn .st-i{display:none}
.st-ib{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;border:0;background:var(--st-tint);color:var(--st-deep);padding:0;cursor:pointer}

/* ---------- Header ---------- */
.st-hdr{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid #e3ecea}
.admin-bar .st-hdr{top:46px}
@media (min-width:783px){.admin-bar .st-hdr{top:32px}}
@media (max-width:600px){.admin-bar .st-hdr{top:0}}
.st-hdr__in{display:flex;align-items:center;gap:8px;height:var(--st-hdr-h)}
.st-hdr__logo{display:flex;align-items:center;flex:0 0 auto;margin-right:auto;line-height:0}
.st-logo{height:30px;width:auto;max-width:none;display:block;object-fit:contain}
.st-logo.is-small{height:28px}
.st-nav,.st-hdr__tel,.st-hdr__cta{display:none}
.st-nav__list{list-style:none;margin:0;padding:0}

/* Drawer (phone / tablet) */
.st-drawer{position:fixed;inset:0;z-index:60;background:rgba(19,48,46,.45)}
.st-drawer[hidden]{display:none}
.st-drawer__panel{position:absolute;top:0;right:0;bottom:0;width:min(92vw,420px);background:#fff;overflow-y:auto;padding:12px 16px 28px;display:flex;flex-direction:column;gap:14px;animation:st-in .2s ease-out}
@keyframes st-in{from{transform:translateX(30px);opacity:0}to{transform:none;opacity:1}}
.st-drawer__head{display:flex;align-items:center;justify-content:space-between;min-height:48px}
.st-dnav .st-nav__list>li{border-bottom:1px solid var(--st-line)}
.st-dnav .st-nav__list a{display:flex;align-items:center;min-height:50px;padding:6px 4px;color:var(--st-ink);text-decoration:none;font-weight:700;font-size:15.5px;line-height:1.5}
.st-dnav .sub-menu{list-style:none;margin:0 0 8px;padding:0 0 0 12px;border-left:3px solid var(--st-line)}
.st-dnav .sub-menu a{min-height:44px;font-weight:500;font-size:14.5px;color:var(--st-main-d)}
.st-dnav .menu-item-has-children>a{justify-content:space-between}
.st-dnav .st-nav__list.is-extra{margin-top:0}
body.st-lock{overflow:hidden}

@media (min-width:1080px){
  :root{--st-hdr-h:84px}
  .st-wrap{padding:0 32px}
  .st-logo{height:38px}
  .st-hdr__in{gap:22px}
  .st-hdr__logo{margin-right:0}
  .st-nav{display:block;margin-left:auto}
  .st-nav>.st-nav__list{display:flex;gap:4px}
  .st-nav>.st-nav__list>li{position:relative}
  .st-nav>.st-nav__list>li>a{display:flex;align-items:center;height:var(--st-hdr-h);padding:0 9px;color:var(--st-ink);text-decoration:none;font-size:14px;font-weight:700;white-space:nowrap}
  .st-nav>.st-nav__list>li>a:hover,.st-nav .current-menu-item>a,.st-nav .current-menu-ancestor>a{color:var(--st-main-d);box-shadow:inset 0 -3px 0 var(--st-main)}
  .st-nav .menu-item-has-children>a::after{content:"";width:6px;height:6px;margin-left:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}
  .st-nav .sub-menu{list-style:none;position:absolute;top:100%;left:-10px;min-width:300px;margin:0;padding:8px;background:#fff;border:1px solid var(--st-line);border-radius:12px;box-shadow:0 14px 34px rgba(31,79,76,.16);opacity:0;visibility:hidden;transform:translateY(6px);transition:.15s}
  .st-nav li:hover>.sub-menu,.st-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
  .st-nav .sub-menu a{display:block;padding:10px 12px;border-radius:8px;color:var(--st-ink);text-decoration:none;font-size:14px;line-height:1.55}
  .st-nav .sub-menu a:hover{background:var(--st-tint);color:var(--st-deep)}
  .st-hdr__cta{display:inline-flex}
  .st-hdr__call,.st-hdr__menu{display:none}
}
@media (min-width:1280px){
  .st-hdr__tel{white-space:nowrap;display:flex;flex-direction:column;align-items:flex-end;line-height:1.3}
  .st-hdr__tel small{font-size:11px;color:var(--st-sub)}
  .st-hdr__tel a{display:flex;align-items:center;gap:4px;font-size:20px;font-weight:700;color:var(--st-deep);text-decoration:none;letter-spacing:.04em}
  .st-hdr__tel .st-i{width:18px;height:18px}
}

/* ---------- Breadcrumb / page head ---------- */
.st-crumb ol{list-style:none;margin:0;padding:12px 0 0;display:flex;flex-wrap:wrap;gap:2px 6px;font-size:12.5px;color:var(--st-sub);line-height:1.6}
.st-crumb li+li::before{content:"›";margin-right:6px;color:#9aa6a4}
.st-crumb a{color:var(--st-sub)}
.st-crumb [aria-current]{color:var(--st-ink)}
@media (max-width:767px){.st-crumb li:last-child{display:none}}
.st-phead{background:var(--st-tint);padding:0 0 26px;margin-bottom:32px}
.st-phead__title{margin:14px 0 0;font-size:24px;line-height:1.55;color:#1f2f2d}
.st-phead__lead{margin:10px 0 0;color:var(--st-sub)}
.st-page{padding-bottom:64px}
.st-page>.entry-body{max-width:1080px;margin:0 auto}
@media (min-width:768px){.st-phead{padding-bottom:36px}.st-phead__title{font-size:30px}}

/* ---------- Article layout ---------- */
.st-lay{display:block;padding-top:8px;padding-bottom:56px}
.st-article{min-width:0}
.st-ahead{margin:8px 0 18px}
.st-tag{display:inline-block;background:var(--st-main);color:#fff;font-size:12px;font-weight:700;line-height:1.7;padding:0 9px;border-radius:4px;letter-spacing:.04em}
.st-ahead__title{margin:10px 0 10px;font-size:23px;line-height:1.6;color:#1f2f2d}
.st-ahead__meta{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0;font-size:12.5px;color:var(--st-sub);line-height:1.6}
.st-side{display:none}
.st-box{border:1px solid var(--st-line);border-radius:var(--st-radius);padding:18px 20px;background:#fff}
.st-box__title{margin:0 0 8px;font-weight:700;font-size:15px;color:var(--st-deep)}
.st-box.is-cta{background:var(--st-deep);border-color:var(--st-deep);color:#fff}
.st-box.is-cta .st-box__title{color:#fff;font-size:18px;line-height:1.5}
.st-box.is-cta p{margin:0 0 14px;font-size:14px;color:#d6e8e5;line-height:1.8}
.st-box__tel{display:block;text-align:center;color:#fff;font-weight:700;font-size:21px;text-decoration:none;margin-top:10px;letter-spacing:.04em}
.st-box.is-cta small{display:block;text-align:center;font-size:11.5px;color:#cfe0dd}
.st-toc__list{margin:0;padding:0 0 0 1.3em;font-size:14px;line-height:1.75}
.st-toc__list li{margin-bottom:7px}
.st-toc__list li::marker{color:var(--st-main);font-weight:700}
.st-toc__list a{color:var(--st-ink);text-decoration:none}
.st-toc__list a:hover,.st-toc__list a.is-on{color:var(--st-deep);font-weight:700}
.st-toc.is-inline{margin:20px 0;border:1px solid var(--st-line);border-radius:14px;padding:0 16px;background:#fff}
.st-toc.is-inline summary{list-style:none;min-height:52px;display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:15px;cursor:pointer;color:var(--st-deep)}
.st-toc.is-inline summary::-webkit-details-marker{display:none}
.st-toc.is-inline[open] summary .st-i{transform:rotate(180deg)}
.st-toc.is-inline .st-toc__list{padding-bottom:14px}
@media (min-width:768px){.st-ahead__title{font-size:28px}}
@media (min-width:1100px){
  .st-lay{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:start}
  .st-side{display:block;height:100%}
  .st-side__sticky{position:sticky;top:calc(var(--st-hdr-h) + 20px);display:flex;flex-direction:column;gap:16px;max-height:calc(100vh - var(--st-hdr-h) - 40px);overflow:auto;padding-bottom:4px}
  .st-toc.is-inline{display:none}
  .st-ahead__title{font-size:30px}
}

/* Related */
.st-related{margin:56px 0 0;padding-top:28px;border-top:1px solid var(--st-line)}
.st-related__h{margin:0 0 16px;font-size:20px;color:#1f2f2d;line-height:1.5}
.st-related__main{display:flex;align-items:center;gap:12px;padding:16px 18px;border:1px solid var(--st-line);border-radius:14px;text-decoration:none;color:var(--st-ink);font-weight:700;line-height:1.6}
.st-related__main:hover{background:var(--st-tint)}
.st-related__main .st-i{margin-left:auto;color:var(--st-main)}
.st-related__sub{margin:18px 0 8px;font-weight:700;font-size:14px;color:var(--st-sub)}

/* ---------- Cards ---------- */
.st-cards{display:grid;grid-template-columns:1fr;gap:16px}
@media (min-width:600px){.st-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:960px){.st-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.st-cards.is-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
.st-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e1ebe9;border-radius:14px;overflow:hidden;text-decoration:none;color:var(--st-ink);transition:box-shadow .15s,transform .15s}
.st-card:hover{box-shadow:0 10px 26px rgba(31,79,76,.12);transform:translateY(-2px);color:var(--st-ink)}
.st-card__img{display:block;aspect-ratio:16/10;background:var(--st-tint);overflow:hidden}
.st-card__img img{width:100%;height:100%;object-fit:cover;display:block}
.st-card__body{display:flex;flex-direction:column;gap:6px;padding:14px 16px 16px;align-items:flex-start}
.st-card__title{font-weight:700;font-size:15px;line-height:1.65}
.st-card__date{font-size:12px;color:var(--st-sub)}
.st-card.is-small .st-card__title{font-size:14px;font-weight:500}
@media (max-width:599px){
  .st-cards.is-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .st-cards.is-4 .st-card__body{padding:10px 10px 12px}
  .st-cards.is-4 .st-card__title{font-size:13px;line-height:1.6}
}
.pagination{margin:36px 0 0}
.pagination .nav-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 12px;border:1px solid var(--st-line);border-radius:10px;text-decoration:none;color:var(--st-ink)}
.pagination .current{background:var(--st-main);color:#fff;border-color:var(--st-main)}
.st-search{margin:0 0 24px}
.search-form{display:flex;gap:8px;max-width:560px}
.search-form label{flex:1}
.search-field{width:100%;min-height:48px;padding:8px 14px;border:1px solid #b9cbc8;border-radius:10px;font-size:16px}
.search-submit{min-height:48px;padding:0 20px;border:0;border-radius:10px;background:var(--st-main);color:#fff;font-weight:700;font-size:15px}

/* Pills */
.st-pills{display:flex;flex-wrap:wrap;gap:8px}
.st-pills a{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border-radius:999px;border:1px solid #bcd8d4;background:#fff;color:var(--st-deep);text-decoration:none;font-size:14px;font-weight:700}
.st-pills a:hover{background:var(--st-tint)}
.st-pills a.is-all{border-style:dashed}

/* ---------- Top page ---------- */
.st-eyebrow{display:inline-block;padding:4px 14px;border-radius:999px;background:#fff;color:var(--st-main-d);font-size:12.5px;font-weight:700;border:1px solid #cfe2df}
.st-hero{background:var(--st-tint)}
.st-hero__in{display:grid;gap:22px;padding-top:24px;padding-bottom:36px}
.st-hero__title{margin:12px 0 10px;font-size:24px;line-height:1.5;color:#1f2f2d}
.st-hero__title span{display:block;font-size:16px;color:var(--st-main-d);margin-top:6px;line-height:1.6}
.st-hero__lead{margin:0;color:#3e4846;font-size:15px}
.st-checks{list-style:none;margin:16px 0 20px;padding:0;display:flex;flex-direction:column;gap:8px}
.st-checks li{display:flex;gap:8px;align-items:flex-start;background:#fff;border-radius:10px;padding:8px 12px;font-size:14px;font-weight:700;color:var(--st-deep);line-height:1.6}
.st-checks .st-i{width:18px;height:18px;margin-top:3px;color:var(--st-main)}
.st-hero__btns{display:flex;flex-direction:column;gap:10px}
.st-hero__img{border-radius:18px;overflow:hidden;aspect-ratio:16/9;box-shadow:0 14px 34px rgba(31,79,76,.16);order:-1}
.st-hero__img img{width:100%;height:100%;object-fit:cover;display:block}
.st-sec{padding:56px 0}
.st-sec.is-alt{background:var(--st-alt)}
.st-sh-en{margin:0 0 6px;text-align:center;color:var(--st-main);font-size:12px;letter-spacing:.3em;font-weight:700}
.st-sh{margin:0 0 12px;text-align:center;font-size:22px;line-height:1.55;color:#1f2f2d}
.st-lead{max-width:760px;margin:0 auto 26px;color:#4a5452;font-size:15px}
.st-note{font-size:13px;color:var(--st-sub);text-align:center;margin:16px 0 0}
.st-subs{display:grid;grid-template-columns:1fr;gap:12px}
.st-sub{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid var(--st-line);border-radius:var(--st-radius);padding:18px 18px 16px;text-decoration:none;color:var(--st-ink);border-top:4px solid var(--st-main)}
.st-sub:hover{box-shadow:0 10px 26px rgba(31,79,76,.1);color:var(--st-ink)}
.st-sub__k{font-size:13.5px;font-weight:700;color:var(--st-main-d)}
.st-sub__v{font-size:22px;font-weight:700;color:#1f2f2d;line-height:1.4}
.st-sub__n{font-size:13px;color:var(--st-sub);line-height:1.7}
.st-sub__more,.st-more{display:inline-flex;align-items:center;gap:4px;margin-top:6px;font-weight:700;font-size:14px;color:var(--st-main-d)}
.st-sub__more .st-i,.st-more .st-i{width:16px;height:16px}
.st-conds{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:10px;counter-reset:c}
.st-conds li{counter-increment:c;background:#fff;border-radius:14px;padding:16px 16px 16px 64px;position:relative;border:1px solid var(--st-line)}
.st-conds li::before{content:"0" counter(c);position:absolute;left:16px;top:14px;font-family:var(--st-min);font-weight:700;font-size:24px;color:var(--st-main);line-height:1.2}
.st-conds b{display:block;font-size:15.5px;color:#1f2f2d;line-height:1.5;margin-bottom:2px}
.st-conds span{display:block;font-size:13.5px;color:#4a5452;line-height:1.75}
.st-reasons{display:grid;grid-template-columns:1fr;gap:22px}
.st-reason{display:block;text-decoration:none;color:var(--st-ink);position:relative}
.st-reason img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:14px;display:block}
.st-reason__n{position:absolute;left:12px;top:12px;background:var(--st-deep);color:#fff;font-family:var(--st-min);font-weight:700;border-radius:8px;padding:2px 10px;font-size:15px}
.st-reason h3{font-size:18px;margin:14px 0 6px;line-height:1.55;color:#1f2f2d}
.st-reason p{margin:0;font-size:14.5px;color:#4a5452}
.st-reason:hover h3{color:var(--st-main-d)}
.st-reviews{max-width:1100px;margin:0 auto;min-height:120px}
.st-guides{display:grid;grid-template-columns:1fr;gap:14px;margin-top:24px}
.st-guide{display:block;background:#fff;border-radius:var(--st-radius);padding:22px;border:1px solid var(--st-line);text-decoration:none;color:var(--st-ink)}
.st-guide:hover{box-shadow:0 10px 26px rgba(31,79,76,.1);color:var(--st-ink)}
.st-guide__i{width:50px;height:50px;border-radius:12px;background:#e6f2f0;color:var(--st-main-d);display:flex;align-items:center;justify-content:center}
.st-guide h3{margin:12px 0 4px;font-size:19px;color:#1f2f2d}
.st-guide p{margin:0;font-size:14px;color:#4a5452;line-height:1.8}
.st-areas{display:flex;flex-direction:column;gap:14px}
.st-area{background:#fff;border-radius:var(--st-radius);padding:18px;border:1px solid var(--st-line)}
.st-area__h{margin:0 0 10px;font-weight:700;color:var(--st-deep)}
.st-news{list-style:none;margin:0 auto;padding:0;max-width:900px;background:#fff;border:1px solid var(--st-line);border-radius:var(--st-radius)}
.st-news li+li{border-top:1px solid var(--st-line)}
.st-news a{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:center;padding:14px 18px;text-decoration:none;color:var(--st-ink)}
.st-news a:hover{background:var(--st-tint)}
.st-news time{font-size:13px;color:var(--st-sub)}
.st-news .st-tag{justify-self:start}
.st-news__t{grid-column:1/-1;font-size:14.5px;line-height:1.65;font-weight:500}
.st-faq{max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:10px}
.st-faq details{background:#fff;border-radius:12px;border:1px solid var(--st-line);padding:0 16px}
.st-faq summary{list-style:none;cursor:pointer;display:flex;gap:12px;align-items:flex-start;padding:16px 0;font-weight:700;line-height:1.65}
.st-faq summary::-webkit-details-marker{display:none}
.st-faq__q{flex:none;width:28px;height:28px;border-radius:50%;background:var(--st-main);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;line-height:1}
.st-faq details p{margin:0 0 16px 40px;color:#4a5452;font-size:15px}
.st-cta{background:var(--st-deep);color:#fff;border-radius:22px;padding:28px 20px;display:grid;gap:20px}
.st-cta__title{margin:0 0 6px;font-size:22px;line-height:1.5;color:#fff}
.st-cta__text{margin:0;color:#d6e8e5;font-size:15px}
.st-cta .st-btn.is-tel{border-color:#fff}
.st-fcta{padding:8px 0 48px}
.st-sec.is-cta-sec{padding-top:24px}
@media (min-width:600px){
  .st-subs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .st-conds{grid-template-columns:repeat(2,minmax(0,1fr))}
  .st-hero__btns{flex-direction:row;flex-wrap:wrap}
  .st-news a{grid-template-columns:110px auto 1fr}
  .st-news__t{grid-column:auto}
}
@media (min-width:900px){
  .st-sec{padding:88px 0}
  .st-sh{font-size:30px}
  .st-lead{text-align:center}
  .st-sh,.st-hero__title{word-break:keep-all}
  .st-hero__title span{word-break:normal}
  .st-hero__in{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px;align-items:center;padding-top:64px;padding-bottom:72px}
  .st-hero__img{order:0;border-radius:20px;aspect-ratio:4/3}
  .st-hero__title{font-size:38px}
  .st-hero__title span{font-size:21px}
  .st-hero__lead{font-size:16px}
  .st-checks{flex-direction:row;flex-wrap:wrap}
  .st-subs{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
  .st-conds{grid-template-columns:repeat(5,minmax(0,1fr))}
  .st-conds li{padding:56px 16px 18px}
  .st-conds li::before{top:16px}
  .st-reasons{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
  .st-guides{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
  .st-area{display:grid;grid-template-columns:110px minmax(0,1fr);gap:18px;padding:24px 26px}
  .st-area__h{margin:6px 0 0}
  .st-cta{grid-template-columns:minmax(0,1fr) minmax(280px,340px);padding:44px 52px;align-items:center;gap:36px}
  .st-cta__title{font-size:28px}
  .st-faq details{padding:0 22px}
}

/* ---------- Footer ---------- */
.st-ftr{background:var(--st-night);color:#cfe0dd;font-size:14px;line-height:1.8}
.st-ftr a{color:#e4f0ee}
.st-ftr__top{background:linear-gradient(135deg,#1f4f4c 0%,#2f6f6b 100%);padding:28px 0}
.st-ftr__topin{display:grid;gap:20px;align-items:center}
.st-ftr__logo{display:inline-block;background:#fff;padding:8px 12px;border-radius:8px;line-height:0}
.st-ftr__logo .st-logo{height:32px}
.st-ftr__catch{margin:12px 0 0;color:#fff;font-size:17px;line-height:1.6}
.st-ftr__contact{display:grid;gap:10px}
.st-ftr__telbox{display:flex;align-items:center;gap:12px;background:#fff;border-radius:14px;padding:12px 16px;text-decoration:none;color:var(--st-deep)!important}
.st-ftr__telicon{flex:none;width:44px;height:44px;border-radius:50%;background:var(--st-tint);display:flex;align-items:center;justify-content:center;color:var(--st-main-d)}
.st-ftr__telbox small{display:block;font-size:11.5px;color:var(--st-sub);line-height:1.4}
.st-ftr__telbox b{display:block;font-size:24px;letter-spacing:.04em;line-height:1.3}
.st-ftr__web{min-height:56px;border-radius:14px;color:#fff!important}
.st-ftr__main{display:grid;grid-template-columns:1fr 1fr;gap:26px 20px;padding-top:36px;padding-bottom:28px}
.st-ftr__co{grid-column:1/-1}
.st-ftr__h{margin:0 0 10px;color:#fff;font-weight:700;font-size:14.5px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.14)}
.st-ftr__dl{display:grid;grid-template-columns:70px 1fr;gap:6px 10px;margin:0}
.st-ftr__dl dt{color:#9fc7c2;font-size:12.5px}
.st-ftr__dl dd{margin:0}
.st-ftr ul{list-style:none;margin:0;padding:0}
.st-ftr li a{display:inline-block;padding:5px 0;text-decoration:none}
.st-ftr li a::before{content:"›";margin-right:6px;color:#7fb5ae}
.st-ftr li a:hover{text-decoration:underline}
.st-ftr__nav{grid-column:1/-1}
.st-ftr__nav ul{display:flex;flex-wrap:wrap;gap:0 20px}
.st-ftr__areas{padding-bottom:28px}
.st-ftr__arealine{margin:0 0 8px;display:flex;flex-wrap:wrap;gap:4px 12px;font-size:13px}
.st-ftr__arealine span{flex:none;width:100%;color:#9fc7c2;font-weight:700;font-size:12.5px}
.st-ftr__arealine a{text-decoration:none}
.st-ftr__arealine a:hover{text-decoration:underline}
.st-ftr__bottom{background:#0d2422;padding:16px 0}
.st-ftr__bottom .st-wrap{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;font-size:12.5px}
.st-ftr__bottom a{color:#cfe0dd;text-decoration:none}
.st-ftr__bottom p{margin:0 0 0 auto;opacity:.75}
@media (min-width:900px){
  .st-ftr__top{padding:36px 0}
  .st-ftr__topin{grid-template-columns:minmax(0,1fr) minmax(0,560px)}
  .st-ftr__contact{grid-template-columns:1fr 1fr}
  .st-ftr__catch{font-size:19px}
  .st-ftr__main{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px;padding-top:48px}
  .st-ftr__co{grid-column:auto}
  .st-ftr__arealine span{width:auto;min-width:72px}
}
@media (max-width:599px){.st-ftr__bottom p{margin:6px 0 0;width:100%}}

/* ---------- Bottom bar (phone) ---------- */
.st-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:1fr 1.3fr;gap:8px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);box-shadow:0 -4px 16px rgba(0,0,0,.08);transition:transform .2s}
.st-bar a{min-height:54px;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;font-weight:700;font-size:14px;line-height:1.3;text-align:center}
.st-bar a span{display:flex;flex-direction:column}
.st-bar small{font-size:11px;font-weight:500}
.st-bar .is-tel{background:#e8f1ef;color:var(--st-deep)}
.st-bar .is-web{background:var(--st-orange);color:#fff}
.st-bar.is-hidden{transform:translateY(110%)}
body{padding-bottom:78px}
@media (min-width:1080px){.st-bar{display:none}body{padding-bottom:0}}

/* =========================================================
   トップページのメリハリ（2.1.0）
   ========================================================= */
.st-sh-en{display:flex;align-items:center;justify-content:center;gap:10px}
.st-sh-en::before,.st-sh-en::after{content:"";width:28px;height:2px;background:currentColor;opacity:.6}
.st-sh{font-size:24px;color:#14302d}
.st-sec.is-warm{background:#fbf6ec}
/* 最初の画面 */
.st-hero{background:linear-gradient(180deg,#e6f1ef 0%,#f4f9f8 100%);position:relative}
.st-hero__title{color:#14302d}
.st-hero__title span{color:var(--st-deep)}
.st-hero__title span em{font-style:normal;background:linear-gradient(transparent 62%,#ffd9a8 62%)}
.st-checks li{border-left:4px solid var(--st-main);box-shadow:0 2px 8px rgba(31,79,76,.06)}
.st-hero__btns .st-btn.is-orange{box-shadow:0 8px 20px rgba(217,120,42,.35);min-height:58px;font-size:16px}
/* 補助金（濃い帯） */
.st-sec.is-dark{background:var(--st-deep);color:#e4f0ee;position:relative;overflow:hidden}
.st-sec.is-dark::before{content:"";position:absolute;right:-120px;top:-120px;width:360px;height:360px;border-radius:50%;background:rgba(255,255,255,.04)}
.st-sec.is-dark .st-sh,.st-sec.is-dark .st-sh-en{color:#fff}
.st-sec.is-dark .st-sh-en{color:#9fd3cd}
.st-sec.is-dark .st-lead,.st-sec.is-dark .st-note{color:#cfe2df}
.st-sec.is-dark .st-sub{border:0;border-top:5px solid var(--st-orange);box-shadow:0 10px 26px rgba(0,0,0,.18)}
.st-sec.is-dark .st-sub__v{color:var(--st-orange-d);font-size:24px}
.st-sec.is-dark .st-btn.is-orange{box-shadow:0 8px 20px rgba(0,0,0,.25);min-height:58px;font-size:16px;padding:8px 36px}
/* 制約のある住宅 */
.st-conds li{background:var(--st-tint);border:0;border-radius:16px}
.st-conds li::before{color:#fff;background:var(--st-main);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:17px;top:16px}
/* 選ばれる理由（交互に並べる） */
.st-reason{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 10px 30px rgba(31,79,76,.08)}
.st-reason img{border-radius:0}
.st-reason__body{padding:4px 20px 22px}
.st-reason__n{font-size:20px;padding:4px 14px;background:var(--st-orange)}
@media (min-width:900px){
  .st-sh{font-size:32px}
  .st-reasons{grid-template-columns:1fr;gap:26px}
  .st-reason{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center}
  .st-reason img{height:100%;min-height:260px;aspect-ratio:auto}
  .st-reason:nth-child(even) img{order:2}
  .st-reason__body{padding:32px 44px}
  .st-reason h3{font-size:24px;margin:0 0 12px}
  .st-reason p{font-size:15.5px}
  .st-reason__n{left:auto;right:auto;top:20px;margin-left:20px}
  .st-reason:nth-child(even) .st-reason__n{left:auto;right:20px;margin:0}
  .st-reason:nth-child(even) .st-reason__body{order:1}
  .st-hero__title{font-size:42px}
}
/* 施工実績 */
#works .st-card{box-shadow:0 6px 18px rgba(31,79,76,.08)}
/* お客様の声 */
.st-sec.is-warm .st-sh-en{color:#b9611b}
/* よくある質問・新着 */
.st-sec.is-alt .st-faq details,.st-sec.is-alt .st-news{box-shadow:0 2px 10px rgba(31,79,76,.05)}
.st-faq details[open]{border-color:var(--st-main)}
/* 最後の相談枠 */
.st-cta{background:linear-gradient(135deg,#1f4f4c 0%,#2f6f6b 100%);box-shadow:0 18px 40px rgba(31,79,76,.25);position:relative;overflow:hidden}
.st-cta::after{content:"";position:absolute;left:-60px;bottom:-80px;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.05)}
.st-cta>*{position:relative;z-index:1}
/* 選ばれる理由：3つの枠の高さをそろえる */
.st-reasons{grid-auto-rows:1fr}
.st-reason{display:flex;flex-direction:column;height:100%}
.st-reason__body{flex:1}
@media (min-width:900px){
  .st-reason{display:grid;height:300px}
  .st-reason img{height:300px;min-height:0;object-fit:cover}
  .st-reason__body{display:flex;flex-direction:column;justify-content:center;height:100%;box-sizing:border-box}
}
@media (min-width:900px){.st-reason:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}}

/* =========================================================
   文字の大きさのバランス（2.1.1）
   本文16px／H1 28px／H2 24px／H3 20px／H4 17px／H5 16px（パソコン）
   本文16px／H1 22px／H2 20px／H3 18px／H4 16px／H5 15px（スマホ）
   ========================================================= */
body{
  --wp--preset--font-size--small:14px;
  --wp--preset--font-size--medium:17px;
  --wp--preset--font-size--large:20px;
  --wp--preset--font-size--x-large:22px;
  --wp--preset--font-size--xx-large:24px;
  --vk-size-text:16px;
}
.has-small-font-size{font-size:14px!important}
.has-medium-font-size{font-size:17px!important}
.has-large-font-size{font-size:20px!important;line-height:1.55!important}
.has-x-large-font-size{font-size:22px!important;line-height:1.5!important}
.has-xx-large-font-size,.has-huge-font-size{font-size:24px!important;line-height:1.45!important}
.st-phead__title{font-size:22px}
.st-ahead__title{font-size:22px}
.st-hero__title{font-size:24px}
.st-hero__title span{font-size:15px}
.st-sh{font-size:21px}
.st-cta__title{font-size:20px}
.st-related__h{font-size:18px}
.st-reason h3{font-size:18px}
.st-guide h3{font-size:17px}
@media (min-width:768px){
  body{--wp--preset--font-size--large:22px;--wp--preset--font-size--x-large:24px;--wp--preset--font-size--xx-large:28px}
  .has-large-font-size{font-size:22px!important}
  .has-x-large-font-size{font-size:24px!important}
  .has-xx-large-font-size,.has-huge-font-size{font-size:28px!important}
  .st-phead__title,.st-ahead__title{font-size:26px}
  .st-sh{font-size:26px}
}
@media (min-width:1100px){
  .st-phead__title,.st-ahead__title{font-size:28px}
  .st-hero__title{font-size:36px}
  .st-hero__title span{font-size:19px}
  .st-sh{font-size:28px}
  .st-cta__title{font-size:24px}
  .st-related__h{font-size:20px}
  .st-reason h3{font-size:21px}
  .st-guide h3{font-size:18px}
}
.st-ftr__telbox b,.st-ftr__telbox small{white-space:nowrap}
@media (min-width:900px){
  .st-ftr__topin{grid-template-columns:minmax(0,1fr) minmax(0,640px)}
  .st-ftr__contact{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
  .st-ftr__telbox small{font-size:11px}
  .st-ftr__telbox b{font-size:23px}
}
/* 選ばれる理由（6つ・3列） */
@media (min-width:640px){
  .st-reasons.is-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:900px){
  .st-reasons.is-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
  .st-reasons.is-grid .st-reason{display:block}
  .st-reasons.is-grid .st-reason img{height:auto;min-height:0;aspect-ratio:3/2}
  .st-reasons.is-grid .st-reason__n,.st-reasons.is-grid .st-reason:nth-child(even) .st-reason__n{left:12px;right:auto;top:12px;margin:0}
  .st-reasons.is-grid .st-reason__body{padding:6px 22px 24px}
  .st-reasons.is-grid .st-reason h3{font-size:19px;margin:14px 0 8px}
  .st-reasons.is-grid .st-reason p{font-size:14.5px}
}
/* トップページ（固定ページ「Home」の本文をそのまま表示） */
.st-main.is-front-content{padding:0;overflow-x:clip}
.st-main.is-front-content .st-front-body{max-width:1180px;margin:0 auto;padding:0 16px}
.st-main.is-front-content .st-front-body>*:first-child{margin-top:0}
.st-main.is-front-content .st-front-body .alignfull{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.st-main.is-front-content .st-front-body .alignwide{max-width:1180px}
.st-main.is-front-content .wp-block-cover.alignfull{margin-top:0}
.st-front-body h1,.st-front-body h2,.st-front-body h3{font-family:inherit}
.st-front-body .wp-block-cover h1{color:#fff}
