@charset "UTF-8";
/* ==========================================================================
   STRAIGHT FIELD株式会社  共通スタイル
   WordPress 移行時は style.css へ。header.php / footer.php が使う部分です。
   ページ固有のスタイルは、各HTMLの <style> か個別CSSに書いてください。
   ========================================================================== */

/* ----- デザイントークン ------------------------------------------------ */
:root{
  --terra:#e07a4a;      /* メインのテラコッタ */
  --terra-dark:#c9602f;
  --green:#7a9a65;      /* サブのグリーン */
  --green-dark:#5f7f4c;
  --amber:#d9a24a;      /* 注意・中間の警告色 */
  --cream:#fdf7ed;      /* 背景（明） */
  --cream2:#f7ecd9;     /* 背景（暗） */
  --text:#4a3f35;
  --sub:#94867a;
  --border:#eadfcd;
  --line:#06c755;       /* LINE ブランドカラー */
  --r:20px;             /* 角丸の基本値 */
  --en:"Quicksand",sans-serif;
  --jp:"Zen Maru Gothic","Hiragino Maru Gothic ProN","Yu Gothic",sans-serif;
}

/* ----- リセットと基本 -------------------------------------------------- */
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{font-family:var(--jp);color:var(--text);background:var(--cream);line-height:2;font-size:15px;letter-spacing:.03em;overflow-x:clip;max-width:100%;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
button{font-family:inherit;}
.inner{max-width:1140px;margin:0 auto;padding:0 24px;position:relative;}
.inner.narrow{max-width:900px;}
section{padding:84px 0;position:relative;}
.icon{width:1em;height:1em;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.12em;}

/* ----- セクション見出し ------------------------------------------------ */
.sec-head{margin-bottom:44px;}
.sec-head .en{display:inline-flex;align-items:center;gap:9px;font-family:var(--en);font-size:12.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--terra);margin-bottom:10px;}
.sec-head .en::before{content:"";width:30px;height:2px;background:var(--terra);border-radius:2px;}
.sec-head h2{font-size:32px;font-weight:900;letter-spacing:.06em;line-height:1.5;}
.sec-head .lead{margin-top:14px;font-size:14px;color:var(--sub);max-width:780px;}
.sec-head.center{text-align:center;}
.sec-head.center .en{justify-content:center;}
.sec-head.center .lead{margin-left:auto;margin-right:auto;}
@media(max-width:760px){
  section{padding:56px 0;}
  .sec-head{margin-bottom:30px;}
  .sec-head h2{font-size:24px;}
}

/* ----- ヘッダー -------------------------------------------------------- */
header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--border);}
.header-inner{max-width:1240px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:14px 24px;gap:24px;}
/* 社名はトップページへのリンク */
.logo{display:block;font-size:20px;font-weight:900;letter-spacing:.08em;line-height:1.3;color:var(--terra);transition:opacity .2s;}
.logo:hover{opacity:.62;}
.logo small{display:block;font-size:10.5px;font-weight:500;color:var(--sub);letter-spacing:.06em;}
.header-right{display:flex;align-items:center;gap:18px;margin-left:auto;}
.header-tel{text-align:right;font-size:11px;color:var(--sub);line-height:1.5;}
.header-tel strong{display:block;font-family:var(--en);font-size:21px;color:var(--text);letter-spacing:.04em;font-weight:700;}
.menu-btn{display:flex;align-items:center;justify-content:center;width:50px;height:50px;flex-shrink:0;background:#fff;border:2px solid var(--terra);border-radius:12px;cursor:pointer;position:relative;z-index:310;transition:background .2s;}
.menu-btn:hover,body.nav-open .menu-btn{background:var(--terra);}
.menu-btn .bars{position:relative;width:22px;height:14px;}
.menu-btn .bars span{position:absolute;left:0;right:0;height:2px;border-radius:2px;background:var(--terra);transition:.3s;}
.menu-btn:hover .bars span,body.nav-open .menu-btn .bars span{background:#fff;}
.menu-btn .bars span:nth-child(1){top:0;}
.menu-btn .bars span:nth-child(2){top:6px;}
.menu-btn .bars span:nth-child(3){top:12px;}
body.nav-open .menu-btn .bars span:nth-child(1){top:6px;transform:rotate(45deg);}
body.nav-open .menu-btn .bars span:nth-child(2){opacity:0;}
body.nav-open .menu-btn .bars span:nth-child(3){top:6px;transform:rotate(-45deg);}
/* ヘッダー右のCTAボタン（PCのみ） */
.header-cta{display:inline-flex;align-items:center;gap:8px;background:var(--terra);color:#fff;font-size:13px;font-weight:700;letter-spacing:.05em;padding:12px 24px;border-radius:999px;white-space:nowrap;box-shadow:0 5px 14px rgba(224,122,74,.3);transition:.2s;}
.header-cta:hover{background:var(--terra-dark);transform:translateY(-2px);}
.header-cta .icon{width:16px;height:16px;}

/* グローバルナビ（PCのみ。狭い画面ではドロワーに任せる） */
.gnav{background:#fff;border-top:1px solid var(--border);}
.gnav ul{display:flex;justify-content:center;max-width:1240px;margin:0 auto;padding:0 24px;}
.gnav li{flex:0 0 auto;}
.gnav a{display:flex;align-items:center;height:52px;padding:0 19px;font-size:13.5px;font-weight:700;letter-spacing:.05em;color:var(--text);position:relative;transition:color .2s;white-space:nowrap;}
.gnav a::after{content:"";position:absolute;left:19px;right:19px;bottom:0;height:3px;background:var(--terra);border-radius:2px 2px 0 0;transform:scaleX(0);transition:transform .25s;}
.gnav a:hover{color:var(--terra-dark);}
.gnav a:hover::after,.gnav a[aria-current="page"]::after{transform:scaleX(1);}
.gnav a[aria-current="page"]{color:var(--terra-dark);}

@media(max-width:1180px){ .gnav a{padding:0 13px;font-size:12.5px;} .gnav a::after{left:13px;right:13px;} }
@media(max-width:1080px){ .gnav,.header-cta{display:none;} }
@media(max-width:960px){ .header-tel{display:none;} }
@media(max-width:560px){ .logo{font-size:16px;} .logo small{font-size:9.5px;} }

/* ----- ドロワー -------------------------------------------------------- */
body.nav-open{overflow:hidden;}
.drawer{position:fixed;top:0;left:0;right:0;z-index:300;background:var(--cream);box-shadow:0 14px 32px rgba(74,63,53,.18);border-radius:0 0 28px 28px;padding:24px 24px 34px;transform:translateY(-115%);transition:transform .42s cubic-bezier(.22,1,.36,1);max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;}
body.nav-open .drawer{transform:translateY(0);}
.drawer-head{max-width:1140px;margin:0 auto 20px;display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:2px dashed var(--border);}
.drawer-head .ttl{font-family:var(--en);font-size:12px;font-weight:700;letter-spacing:.24em;color:var(--terra);text-transform:uppercase;}
.drawer-close{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 18px 0 14px;border:2px solid var(--border);border-radius:999px;background:#fff;cursor:pointer;color:var(--text);font-family:var(--jp);font-weight:700;font-size:12px;transition:.2s;}
.drawer-close:hover{background:var(--terra);border-color:var(--terra);color:#fff;}
.drawer-close .icon{width:18px;height:18px;}
.nav-menu{max-width:820px;margin:0 auto;}
.nav-home{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--terra);color:#fff;border-radius:12px;font-weight:700;font-size:14.5px;margin-bottom:16px;}
.nav-home small{font-family:var(--en);font-size:10px;letter-spacing:.2em;text-transform:uppercase;opacity:.85;}
.nav-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.nav-grp-ttl{font-family:var(--en);font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--green-dark);padding-bottom:7px;margin-bottom:6px;border-bottom:2px dashed var(--border);}
.nav-grp a{display:block;padding:9px 12px;font-size:13.5px;font-weight:500;color:var(--text);border-radius:9px;transition:.2s;}
.nav-grp a:hover{background:#fff;color:var(--terra-dark);padding-left:18px;}
.nav-grp a.cur{background:#fff;color:var(--terra-dark);font-weight:700;}
.drawer-tel{max-width:820px;margin:18px auto 0;text-align:center;font-size:11px;color:var(--sub);line-height:1.7;}
.drawer-tel strong{font-family:var(--en);font-size:22px;color:var(--terra);letter-spacing:.04em;font-weight:700;margin-left:8px;}
.drawer-close-area{position:fixed;inset:0;z-index:290;background:rgba(74,63,53,.35);opacity:0;transition:opacity .35s;pointer-events:none;}
body.nav-open .drawer-close-area{opacity:1;pointer-events:auto;}
@media(max-width:720px){ .nav-cols{grid-template-columns:1fr;gap:14px;} .nav-menu,.drawer-tel{max-width:560px;} }

/* ----- ページヘッダー（下層共通） -------------------------------------- */
.phead{background:var(--cream2);padding:30px 0 46px;}
.crumb{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:11.5px;color:var(--sub);margin-bottom:24px;}
.crumb a:hover{color:var(--terra-dark);text-decoration:underline;}
.crumb .icon{width:13px;height:13px;opacity:.55;}
.crumb b{font-weight:500;color:var(--text);}
.phead .en{display:inline-flex;align-items:center;gap:9px;font-family:var(--en);font-size:12.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--terra);margin-bottom:8px;}
.phead .en::before{content:"";width:30px;height:2px;background:var(--terra);border-radius:2px;}
.phead h1{font-size:38px;font-weight:900;letter-spacing:.06em;line-height:1.5;}
.phead .lead{margin-top:14px;font-size:14px;color:var(--sub);max-width:800px;}
.phead.article h1{font-size:33px;letter-spacing:.04em;line-height:1.55;}
@media(max-width:760px){
  .phead{padding:22px 0 34px;}
  .phead h1{font-size:27px;}
  .phead.article h1{font-size:23px;}
}

/* ----- ボタン ---------------------------------------------------------- */
.btn-p{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--terra);color:#fff;font-size:14.5px;font-weight:700;letter-spacing:.06em;padding:16px 34px;border-radius:999px;box-shadow:0 8px 20px rgba(224,122,74,.32);transition:.22s;}
.btn-p:hover{background:var(--terra-dark);transform:translateY(-2px);}
.btn-s{display:inline-flex;align-items:center;gap:11px;background:#fff;border:2px solid var(--border);color:var(--text);font-size:13px;font-weight:700;padding:11px 26px;border-radius:999px;line-height:1.4;transition:.22s;}
.btn-s:hover{border-color:var(--green);color:var(--green-dark);}
.btn-s strong{font-family:var(--en);font-size:21px;letter-spacing:.03em;}
.btn-s .icon{width:19px;height:19px;color:var(--green-dark);}
.btn-more{display:flex;align-items:center;justify-content:center;gap:10px;width:fit-content;margin:36px auto 0;background:var(--terra);color:#fff;padding:16px 56px;font-size:14.5px;font-weight:700;letter-spacing:.1em;border-radius:999px;box-shadow:0 8px 20px rgba(224,122,74,.32);transition:.25s;}
.btn-more:hover{background:var(--terra-dark);transform:translateY(-2px);}
@media(max-width:560px){ .btn-p,.btn-s,.btn-more{width:100%;padding-left:20px;padding-right:20px;} }

/* ----- 定義テーブル（会社概要・事例データなど） ------------------------ */
.dtable{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 5px 16px rgba(74,63,53,.07);}
.dtable dl{display:grid;grid-template-columns:200px 1fr;border-bottom:2px dashed var(--border);}
.dtable dl:last-child{border-bottom:0;}
.dtable dt{background:var(--cream);padding:16px 24px;font-size:13px;font-weight:900;letter-spacing:.05em;color:var(--sub);display:flex;align-items:center;gap:9px;}
.dtable dt .icon{width:16px;height:16px;color:var(--green-dark);}
.dtable dd{padding:16px 26px;font-size:14px;}
.dtable dd small{display:block;font-size:11.5px;color:var(--sub);}
@media(max-width:700px){
  .dtable dl{grid-template-columns:1fr;}
  .dtable dt{padding:11px 18px;}
  .dtable dd{padding:13px 18px 17px;font-size:13.5px;}
}

/* ----- アコーディオン（FAQ） ------------------------------------------- */
.faq-list{display:flex;flex-direction:column;gap:12px;}
.faq-list details{background:#fff;border-radius:16px;box-shadow:0 4px 14px rgba(74,63,53,.06);overflow:hidden;}
.faq-list summary{display:flex;align-items:flex-start;gap:14px;padding:20px 26px;cursor:pointer;font-size:15.5px;font-weight:900;letter-spacing:.03em;line-height:1.75;list-style:none;}
.faq-list summary::-webkit-details-marker{display:none;}
.faq-list summary:hover{background:#fffaf2;}
.faq-list .qa{flex-shrink:0;width:26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:var(--en);font-size:13px;font-weight:700;margin-top:3px;}
.faq-list summary .qa{background:var(--terra);color:#fff;}
.faq-list .a .qa{background:var(--cream2);color:var(--green-dark);}
.faq-list .mk{margin-left:auto;flex-shrink:0;position:relative;width:24px;height:24px;border-radius:50%;background:var(--cream2);margin-top:4px;}
.faq-list .mk::before,.faq-list .mk::after{content:"";position:absolute;left:50%;top:50%;background:var(--terra);border-radius:2px;}
.faq-list .mk::before{width:11px;height:2px;transform:translate(-50%,-50%);}
.faq-list .mk::after{width:2px;height:11px;transform:translate(-50%,-50%);transition:transform .25s;}
.faq-list details[open] .mk::after{transform:translate(-50%,-50%) scaleY(0);}
.faq-list .a{display:flex;gap:14px;padding:0 26px 24px;}
.faq-list .a p{font-size:13.5px;color:var(--sub);padding-top:2px;}
@media(max-width:640px){
  .faq-list summary{padding:16px 18px;font-size:14px;gap:11px;}
  .faq-list .a{padding:0 18px 20px;gap:11px;}
  .faq-list .a p{font-size:12.5px;}
}

/* ----- ページャー ------------------------------------------------------ */
.pager{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:44px;flex-wrap:wrap;}
.pager a,.pager span{min-width:44px;height:44px;padding:0 14px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#fff;border:2px solid var(--border);font-family:var(--en);font-size:14px;font-weight:700;color:var(--sub);transition:.2s;}
.pager a:hover{border-color:var(--terra);color:var(--terra-dark);}
.pager .cur{background:var(--terra);border-color:var(--terra);color:#fff;}
.pager .nx{font-family:var(--jp);font-size:12.5px;gap:7px;}
.pager .nx .icon{width:15px;height:15px;}

/* ----- CTA（緑の大ブロック） ------------------------------------------ */
.cta{background:var(--green-dark);color:#fff;overflow:hidden;position:relative;}
.cta::before{content:"";position:absolute;top:-90px;right:-70px;width:340px;height:340px;border-radius:50%;background:rgba(255,255,255,.06);}
.cta-in{position:relative;z-index:1;text-align:center;}
.cta .en{font-family:var(--en);font-size:12.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;opacity:.8;}
.cta h2{font-size:32px;font-weight:900;letter-spacing:.05em;line-height:1.55;margin:10px 0 16px;}
.cta-lead{font-size:14.5px;opacity:.9;max-width:680px;margin:0 auto 34px;}
.cta-btns{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:900px;margin:0 auto;}
.cta-btns a{background:#fff;border-radius:18px;padding:24px 18px;display:flex;flex-direction:column;align-items:center;gap:5px;transition:transform .22s,box-shadow .22s;box-shadow:0 6px 18px rgba(0,0,0,.14);}
.cta-btns a:hover{transform:translateY(-4px);box-shadow:0 14px 28px rgba(0,0,0,.2);}
.cta-btns .tx{display:flex;flex-direction:column;align-items:center;gap:1px;}
.cta-btns .ttl{font-size:12px;color:var(--sub);font-weight:700;letter-spacing:.08em;line-height:1.9;}
.cta-btns .big{font-family:var(--en);font-size:26px;font-weight:700;color:var(--terra-dark);letter-spacing:.02em;line-height:1.4;white-space:nowrap;}
.cta-btns .jp{font-size:17px;font-weight:900;color:var(--text);letter-spacing:.05em;line-height:1.7;white-space:nowrap;}
.cta-btns .sm{font-size:11px;color:var(--sub);line-height:1.8;}
.cta-btns .ic{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:3px;}
.cta-btns .ic .icon{width:22px;height:22px;}
.cta-tel .ic{background:var(--green);}
.cta-line .ic{background:var(--line);}
.cta-form .ic{background:var(--terra);}
.cta-note{margin-top:26px;font-size:12.5px;opacity:.82;}
@media(max-width:860px){
  .cta h2{font-size:23px;}
  .cta-btns{grid-template-columns:1fr;gap:11px;max-width:460px;}
  .cta-btns a{flex-direction:row;justify-content:flex-start;gap:14px;padding:18px 20px;}
  .cta-btns .ic{margin-bottom:0;flex-shrink:0;}
  .cta-btns .tx{align-items:flex-start;}
}

/* ----- CTA（オレンジの細帯） ------------------------------------------ */
.slim{background:var(--terra);color:#fff;padding:44px 0;}
.slim-in{display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap;}
.slim h2{font-size:25px;font-weight:900;letter-spacing:.05em;line-height:1.6;}
.slim p{font-size:13px;opacity:.92;margin-top:4px;}
.slim-btns{display:flex;gap:12px;flex-shrink:0;}
.slim-btns a{display:inline-flex;align-items:center;gap:9px;background:#fff;color:var(--terra-dark);font-size:14px;font-weight:700;letter-spacing:.05em;padding:15px 30px;border-radius:999px;box-shadow:0 6px 16px rgba(0,0,0,.16);transition:transform .2s;}
.slim-btns a:hover{transform:translateY(-3px);}
.slim-btns .icon{width:19px;height:19px;}
@media(max-width:860px){
  .slim-in{flex-direction:column;text-align:center;gap:20px;}
  .slim h2{font-size:20px;}
  .slim-btns{width:100%;flex-direction:column;}
  .slim-btns a{justify-content:center;}
}

/* ----- フッター -------------------------------------------------------- */
footer{background:var(--text);color:#fff;padding:56px 0 0;}
.footer-inner{max-width:1140px;margin:0 auto;padding:0 24px 40px;display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;}
.footer-logo{font-size:19px;font-weight:900;letter-spacing:.08em;margin-bottom:10px;}
.footer-inner p{font-size:12.5px;opacity:.72;}
.footer-inner ul{display:grid;grid-template-columns:repeat(2,auto);gap:8px 42px;}
.footer-inner ul a{font-size:12.5px;opacity:.8;transition:opacity .2s;}
.footer-inner ul a:hover{opacity:1;}
.copyright{border-top:1px solid rgba(255,255,255,.16);padding:18px 24px;text-align:center;font-family:var(--en);font-size:11px;opacity:.6;}
@media(max-width:760px){ .footer-inner ul{grid-template-columns:1fr;} }

/* ----- 追従CTA -------------------------------------------------------- */
.side-cta{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:90;display:flex;flex-direction:column;gap:6px;}
.side-cta a{writing-mode:vertical-rl;padding:22px 13px;font-size:12.5px;font-weight:700;letter-spacing:.14em;color:#fff;border-radius:12px 0 0 12px;display:flex;align-items:center;gap:10px;transition:padding .2s;}
.side-cta a:hover{padding-right:19px;}
.side-cta .icon{width:19px;height:19px;}
.s-tel{background:var(--green-dark);}
.s-line{background:var(--line);}
.s-form{background:var(--terra);}
.bottom-cta{display:none;}
@media(max-width:900px){
  .side-cta{display:none;}
  .bottom-cta{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;left:0;right:0;bottom:0;z-index:90;box-shadow:0 -4px 16px rgba(74,63,53,.16);}
  .bottom-cta a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:11px 4px;color:#fff;font-size:11.5px;font-weight:700;}
  .bottom-cta .icon{width:19px;height:19px;}
  .b-tel{background:var(--green-dark);}
  .b-line{background:var(--line);}
  .b-form{background:var(--terra);}
  body{padding-bottom:64px;}
}

/* ===== ホーム（index）用スタイル ===== */
  :root{
    --terra:#e07a4a;
    --terra-dark:#c9602f;
    --green:#7a9a65;
    --green-dark:#5f7f4c;
    --cream:#fdf7ed;
    --cream2:#f7ecd9;
    --text:#4a3f35;
    --sub:#94867a;
    --border:#eadfcd;
    --line:#06c755;
    --r:20px;
    --en:"Quicksand",sans-serif;
    --jp:"Zen Maru Gothic","Hiragino Maru Gothic ProN","Yu Gothic",sans-serif;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{font-family:var(--jp);color:var(--text);background:var(--cream);line-height:2;font-size:15px;letter-spacing:.03em;}
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  ul{list-style:none;}
  button{font-family:inherit;}
  .inner{max-width:1140px;margin:0 auto;padding:0 24px;position:relative;}
  section{padding:92px 0;position:relative;}
  .icon{width:1em;height:1em;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.12em;}

  /* 見出し：左寄せ＋縦バー */
  .sec-head{margin-bottom:48px;}
  .sec-head .en{display:inline-flex;align-items:center;gap:9px;font-family:var(--en);font-size:12.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--terra);margin-bottom:10px;}
  .sec-head .en::before{content:"";width:24px;height:3px;border-radius:2px;background:var(--terra);}
  .sec-head h2{font-size:clamp(25px,3vw,34px);font-weight:900;letter-spacing:.05em;line-height:1.5;}
  .sec-head .lead{margin-top:12px;color:var(--sub);font-size:14px;max-width:640px;}
  .sec-head.center{text-align:center;}
  .sec-head.center .en{justify-content:center;}
  .sec-head.center .lead{margin-left:auto;margin-right:auto;}


  /* ===== グローバルナビ／ヘッダーCTA ===== */
  .header-cta{display:inline-flex;align-items:center;gap:8px;background:var(--terra);color:#fff;font-size:13px;font-weight:700;letter-spacing:.05em;padding:12px 24px;border-radius:999px;white-space:nowrap;box-shadow:0 5px 14px rgba(224,122,74,.3);transition:.2s;}
  .header-cta:hover{background:var(--terra-dark);transform:translateY(-2px);}
  .header-cta .icon{width:16px;height:16px;}
  .gnav{background:#fff;border-top:1px solid var(--border);}
  .gnav ul{display:flex;justify-content:center;max-width:1240px;margin:0 auto;padding:0 24px;list-style:none;}
  .gnav li{flex:0 0 auto;}
  .gnav a{display:flex;align-items:center;height:52px;padding:0 19px;font-size:13.5px;font-weight:700;letter-spacing:.05em;color:var(--text);position:relative;transition:color .2s;white-space:nowrap;}
  .gnav a::after{content:"";position:absolute;left:19px;right:19px;bottom:0;height:3px;background:var(--terra);border-radius:2px 2px 0 0;transform:scaleX(0);transition:transform .25s;}
  .gnav a:hover{color:var(--terra-dark);}
  .gnav a:hover::after{transform:scaleX(1);}
  @media(max-width:1180px){ .gnav a{padding:0 13px;font-size:12.5px;} .gnav a::after{left:13px;right:13px;} }
  @media(max-width:1080px){ .gnav,.header-cta{display:none;} }

  /* ===== ヘッダー ===== */
  /* ヘッダー：白のクリーンなバー */
  header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--border);}
  .header-inner{max-width:1240px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:14px 24px;gap:24px;}
  /* 社名はトップページへのリンク */
  .logo{display:block;font-size:20px;font-weight:900;letter-spacing:.08em;line-height:1.3;color:var(--terra);transition:opacity .2s;}
  .logo:hover{opacity:.62;}
  .logo small{display:block;font-size:10.5px;font-weight:500;color:var(--sub);letter-spacing:.06em;}
  .header-right{display:flex;align-items:center;gap:18px;margin-left:auto;}
  .header-tel{text-align:right;font-size:11px;color:var(--sub);line-height:1.5;}
  .header-tel strong{display:block;font-family:var(--en);font-size:21px;color:var(--text);letter-spacing:.04em;font-weight:700;}
  /* ハンバーガー：四角い枠線ボタン */
  .menu-btn{display:flex;align-items:center;justify-content:center;width:50px;height:50px;flex-shrink:0;background:#fff;border:2px solid var(--terra);border-radius:12px;cursor:pointer;position:relative;z-index:310;transition:background .2s;}
  .menu-btn:hover,body.nav-open .menu-btn{background:var(--terra);}
  .menu-btn .bars{position:relative;width:22px;height:14px;}
  .menu-btn .bars span{position:absolute;left:0;right:0;height:2px;border-radius:2px;background:var(--terra);transition:.3s;}
  .menu-btn:hover .bars span,body.nav-open .menu-btn .bars span{background:#fff;}
  .menu-btn .bars span:nth-child(1){top:0;}
  .menu-btn .bars span:nth-child(2){top:6px;}
  .menu-btn .bars span:nth-child(3){top:12px;}
  body.nav-open .menu-btn .bars span:nth-child(1){top:6px;transform:rotate(45deg);}
  body.nav-open .menu-btn .bars span:nth-child(2){opacity:0;}
  body.nav-open .menu-btn .bars span:nth-child(3){top:6px;transform:rotate(-45deg);}
  /* ドロワー：上からドロップダウンするパネル */
  body.nav-open{overflow:hidden;}
  .drawer{position:fixed;top:0;left:0;right:0;z-index:300;background:var(--cream);box-shadow:0 14px 32px rgba(74,63,53,.18);border-radius:0 0 28px 28px;padding:24px 24px 34px;transform:translateY(-115%);transition:transform .42s cubic-bezier(.22,1,.36,1);max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;}
  body.nav-open .drawer{transform:translateY(0);}
  .drawer-head{max-width:1140px;margin:0 auto 20px;display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:2px dashed var(--border);}
  .drawer-head .ttl{font-family:var(--en);font-size:12px;font-weight:700;letter-spacing:.24em;color:var(--terra);text-transform:uppercase;}
  .drawer-close{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 18px 0 14px;border:2px solid var(--border);border-radius:999px;background:#fff;cursor:pointer;color:var(--text);font-family:var(--jp);font-weight:700;font-size:12px;transition:.2s;}
  .drawer-close:hover{background:var(--terra);border-color:var(--terra);color:#fff;}
  .drawer-close .icon{width:18px;height:18px;}
  .drawer ul{max-width:560px;margin:0 auto;display:block;}
  .drawer li{display:block;margin-bottom:10px;}
  .drawer li a{display:flex;align-items:center;justify-content:space-between;padding:15px 22px;font-size:14.5px;font-weight:700;letter-spacing:.05em;background:#fff;border-radius:14px;box-shadow:0 2px 8px rgba(74,63,53,.06);transition:.2s;}
  .drawer li a:hover{background:var(--terra);color:#fff;}
  .drawer li a small{font-family:var(--en);font-size:10px;color:var(--green);letter-spacing:.2em;text-transform:uppercase;font-weight:700;}
  .drawer li a:hover small{color:#fff;}
  .drawer-tel{max-width:820px;margin:18px auto 0;text-align:center;font-size:11px;color:var(--sub);line-height:1.7;}
  .drawer-tel strong{font-family:var(--en);font-size:22px;color:var(--terra);letter-spacing:.04em;font-weight:700;margin-left:8px;}
  /* グループナビ（見出し別コンパクト） */
  .nav-menu{max-width:820px;margin:0 auto;}
  .nav-home{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--terra);color:#fff;border-radius:12px;font-weight:700;font-size:14.5px;margin-bottom:16px;}
  .nav-home small{font-family:var(--en);font-size:10px;letter-spacing:.2em;text-transform:uppercase;opacity:.85;}
  .nav-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .nav-grp-ttl{font-family:var(--en);font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--green-dark);padding-bottom:7px;margin-bottom:6px;border-bottom:2px dashed var(--border);}
  .nav-grp a{display:block;padding:9px 12px;font-size:13.5px;font-weight:500;color:var(--text);border-radius:9px;transition:.2s;}
  .nav-grp a:hover{background:#fff;color:var(--terra-dark);padding-left:18px;}
  @media(max-width:720px){ .nav-cols{grid-template-columns:1fr;gap:14px;} .nav-menu,.drawer-tel{max-width:560px;} }
  .drawer-close-area{position:fixed;inset:0;z-index:290;background:rgba(74,63,53,.35);opacity:0;transition:opacity .35s;pointer-events:none;}
  body.nav-open .drawer-close-area{opacity:1;pointer-events:auto;}
  @media(max-width:960px){ .header-tel{display:none;} }

  /* ===== ヒーロー：右まで抜けるワイド写真＋左パネル ===== */
  /* overflow:hidden は、写真の登場アニメーション（scale）が横にはみ出すのを止めるため */
  .hero{display:grid;grid-template-columns:minmax(400px,0.9fr) 1.1fr;min-height:80vh;overflow:hidden;}
  .hero-text{background:var(--cream2);display:flex;flex-direction:column;justify-content:center;padding:72px 6% 72px clamp(28px,5vw,72px);}
  .hero-text .place{display:inline-block;background:#fff;color:var(--terra-dark);font-size:12.5px;font-weight:700;letter-spacing:.1em;padding:6px 20px;border-radius:999px;margin-bottom:22px;align-self:flex-start;}
  .hero-text h1{font-size:clamp(30px,4vw,46px);font-weight:900;letter-spacing:.05em;line-height:1.7;}
  .hero-text h1 em{font-style:normal;color:var(--terra);}
  .hero-text .sub{margin-top:20px;font-size:14.5px;color:var(--sub);line-height:2.2;}
  .hero-text .badges{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap;}
  .hero-text .badges span{background:#fff;border:1px solid var(--border);font-size:12.5px;font-weight:700;color:var(--green-dark);padding:6px 16px;border-radius:999px;}
  /* 背景画像は、Swiper が読み込めなかったときの保険（1枚目と同じもの） */
  .hero-photo{position:relative;overflow:hidden;background:#b3a48e url("https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=1600&q=70") center/cover no-repeat;min-height:420px;}
  .hero-photo .note{position:absolute;bottom:10px;right:14px;z-index:3;font-size:10px;color:rgba(255,255,255,.75);}
  .hero-swiper{position:absolute;inset:0;z-index:1;}
  .hero-swiper .swiper-wrapper,.hero-swiper .swiper-slide{height:100%;}
  .hero-swiper .swiper-slide{background:#b3a48e center/cover no-repeat;}

  /* スライドの進み具合を示す横棒。伸びきったら次の写真へ切り替わる */
  .hero-bars{position:absolute;left:clamp(18px,3vw,32px);bottom:26px;z-index:3;display:flex;gap:10px;}
  .hero-bar{position:relative;width:clamp(38px,5vw,62px);height:4px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.42);cursor:pointer;overflow:hidden;-webkit-appearance:none;appearance:none;transition:background .25s;}
  .hero-bar:hover{background:rgba(255,255,255,.62);}
  .hero-bar i{position:absolute;left:0;top:0;bottom:0;width:var(--p,0%);background:#fff;border-radius:999px;}
  .hero-bar:focus-visible{outline:2px solid #fff;outline-offset:3px;}
  /* 狭い画面では注記が横に伸びて棒と重なるので、上下に分ける */
  @media(max-width:860px){
    .hero-bars{bottom:12px;}
    .hero-photo .note{bottom:30px;}
  }
  @media(max-width:860px){
    .hero{grid-template-columns:1fr;}
    .hero-text{padding:56px 24px;}
    .hero-photo{min-height:56vw;order:-1;}
  }

  /* 実績帯 */
  .stats{background:var(--green);color:#fff;}
  .stats-inner{max-width:1140px;margin:0 auto;padding:28px 24px;display:flex;justify-content:center;text-align:center;}
  .stats-item{flex:1;padding:6px 12px;border-left:1px solid rgba(255,255,255,.3);}
  .stats-item:first-child{border-left:none;}
  .stats-item .label{font-size:12px;letter-spacing:.08em;opacity:.9;line-height:1.7;}
  /* line-height:2 を継承させない。34pxの数字が行高68pxになって間延びするため */
  .stats-item .value{font-family:var(--en);font-size:24px;font-weight:700;line-height:1.25;}
  .stats-item .value b{font-size:34px;line-height:1.25;}
  @media(max-width:700px){
    /* スマホは2×2。ラベルを数値の上に積んで、横に詰まらないようにする */
    .stats-inner{display:grid;grid-template-columns:1fr 1fr;padding:6px 10px;}
    .stats-item{padding:15px 8px;border-left:none;display:flex;flex-direction:column;align-items:center;gap:1px;}
    .stats-item:nth-child(even){border-left:1px solid rgba(255,255,255,.28);}
    .stats-item:nth-child(n+3){border-top:1px solid rgba(255,255,255,.28);}
    .stats-item .label{font-size:11.5px;letter-spacing:.06em;}
    .stats-item .value{font-size:15px;}
    .stats-item .value b{font-size:29px;}
  }

  /* ===== 選ばれる理由：3カラム・背景大数字 ===== */
  .reason-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  .reason-card{background:#fff;border-radius:var(--r);padding:38px 30px 32px;box-shadow:0 6px 18px rgba(74,63,53,.07);position:relative;overflow:hidden;}
  .reason-card .bignum{position:absolute;top:-14px;right:6px;font-family:var(--en);font-size:96px;font-weight:700;color:var(--cream2);line-height:1;z-index:0;}
  .reason-card .ic{position:relative;z-index:1;width:56px;height:56px;border-radius:16px;background:var(--cream2);display:flex;align-items:center;justify-content:center;color:var(--terra-dark);margin-bottom:16px;}
  .reason-card:nth-child(2) .ic{color:var(--green-dark);}
  .reason-card .ic .icon{width:28px;height:28px;}
  .reason-card h3{position:relative;z-index:1;font-size:18px;font-weight:900;letter-spacing:.04em;line-height:1.7;margin-bottom:12px;}
  .reason-card p{position:relative;z-index:1;font-size:13.5px;color:var(--sub);}
  @media(max-width:860px){ .reason-grid{grid-template-columns:1fr;} }

  /* ===== メニュー：絞り込み＋アイコンカード ===== */
  .menu{background:var(--cream2);}
  .mfilter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px;}
  .mchip{display:inline-flex;align-items:center;gap:8px;background:#fff;border:2px solid var(--border);color:var(--sub);font-size:13.5px;font-weight:700;letter-spacing:.04em;padding:9px 20px;border-radius:999px;cursor:pointer;transition:.2s;}
  .mchip .n{font-family:var(--en);font-size:11px;font-weight:700;color:var(--sub);background:var(--cream2);padding:1px 8px;border-radius:999px;transition:.2s;}
  .mchip:hover{border-color:var(--terra);color:var(--terra-dark);}
  .mchip.is-on{background:var(--terra);border-color:var(--terra);color:#fff;box-shadow:0 7px 16px rgba(224,122,74,.3);}
  .mchip.is-on .n{background:rgba(255,255,255,.28);color:#fff;}

  .mgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
  .mhead{grid-column:1/-1;display:flex;align-items:center;gap:13px;margin:20px 2px 0;}
  .mhead:first-child{margin-top:0;}
  .mhead::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--terra);flex-shrink:0;}
  .mhead:nth-of-type(2n)::before{background:var(--green);}
  .mhead::after{content:"";flex:1;height:2px;background:var(--border);border-radius:2px;}
  .mh-t{font-size:16.5px;font-weight:900;letter-spacing:.08em;white-space:nowrap;}
  .mh-s{font-size:12px;font-weight:400;color:var(--sub);white-space:nowrap;}
  .mhead.is-off{display:none;}
  .mcard{position:relative;display:flex;flex-direction:column;background:#fff;border-radius:18px;padding:24px 22px 18px;box-shadow:0 5px 16px rgba(74,63,53,.07);border:2px solid transparent;transition:transform .22s,box-shadow .22s,border-color .22s;}
  .mcard:hover{transform:translateY(-4px);border-color:var(--terra);box-shadow:0 14px 28px rgba(74,63,53,.13);}
  .mcard.is-off{display:none;}
  .mc-ic{width:52px;height:52px;border-radius:15px;background:var(--cream2);color:var(--green-dark);display:flex;align-items:center;justify-content:center;margin-bottom:14px;transition:.22s;}
  .mc-ic .icon{width:27px;height:27px;}
  .mcard:hover .mc-ic{background:var(--terra);color:#fff;}
  .mc-badge{position:absolute;top:15px;right:15px;background:var(--terra);color:#fff;font-size:10.5px;font-weight:700;letter-spacing:.06em;padding:3px 11px;border-radius:999px;line-height:1.7;}
  .mc-badge.now{background:#d9a24a;}
  .mc-badge.sub{background:var(--green);}
  .mcard h4{font-size:16.5px;font-weight:900;letter-spacing:.03em;line-height:1.6;margin-bottom:6px;}
  .mc-desc{font-size:12px;color:var(--sub);line-height:1.8;margin-bottom:16px;flex:1;}
  .mc-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;border-top:2px dashed var(--border);padding-top:13px;}
  .mc-price{font-size:10.5px;color:var(--sub);line-height:1.6;}
  .mc-price b{display:block;font-family:var(--en);font-size:22px;font-weight:700;color:var(--terra-dark);letter-spacing:0;line-height:1.3;}
  .mc-price b em{font-family:var(--jp);font-style:normal;font-size:12px;font-weight:700;margin-left:1px;}
  .mc-term{font-size:11px;color:var(--sub);background:var(--cream);padding:3px 11px;border-radius:999px;white-space:nowrap;}
  .mnote{margin-top:26px;background:#fff;border:2px dashed var(--border);border-radius:18px;padding:22px 28px;display:flex;align-items:center;justify-content:space-between;gap:22px;}
  .mnote p{font-size:13px;color:var(--sub);}
  .mnote p b{display:block;font-size:15px;color:var(--text);font-weight:900;}
  .mnote-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:9px;background:var(--green);color:#fff;font-size:13.5px;font-weight:700;letter-spacing:.05em;padding:14px 32px;border-radius:999px;transition:.2s;}
  .mnote-btn:hover{background:var(--green-dark);}

  @media(max-width:1040px){ .mgrid{grid-template-columns:repeat(3,1fr);} }
  @media(max-width:760px){
    .mfilter{gap:8px;margin-bottom:18px;}
    .mchip{font-size:12px;padding:7px 15px;gap:6px;}
    .mgrid{grid-template-columns:repeat(2,1fr);gap:12px;}
    .mcard{padding:18px 15px 14px;border-radius:16px;}
    .mc-ic{width:44px;height:44px;border-radius:13px;margin-bottom:11px;}
    .mc-ic .icon{width:23px;height:23px;}
    .mc-badge{top:10px;right:10px;font-size:9.5px;padding:2px 8px;}
    .mcard h4{font-size:14.5px;}
    .mhead{gap:10px;margin-top:14px;}
    .mh-t{font-size:14.5px;}
    .mh-s{display:none;}
    .mc-desc{font-size:11px;line-height:1.75;margin-bottom:12px;}
    .mc-foot{flex-direction:column;align-items:flex-start;gap:7px;}
    .mc-price b{font-size:19px;}
    .mnote{flex-direction:column;text-align:center;padding:22px 20px;}
    .mnote-btn{width:100%;justify-content:center;}
  }

  /* ===== 施工事例：横スクロール ===== */
  .works-scroller{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 6px 24px;margin:0 -6px;-webkit-overflow-scrolling:touch;}
  .works-scroller::-webkit-scrollbar{height:8px;}
  .works-scroller::-webkit-scrollbar-track{background:var(--cream2);border-radius:4px;}
  .works-scroller::-webkit-scrollbar-thumb{background:var(--terra);border-radius:4px;}
  .work-card{flex:0 0 min(350px,80vw);scroll-snap-align:start;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 6px 18px rgba(74,63,53,.07);transition:transform .25s;}
  .work-card:hover{transform:translateY(-5px);}
  .work-photo{height:206px;background:#cbbca8 center/cover no-repeat;position:relative;}
  .work-photo .ba{position:absolute;top:14px;left:14px;background:#fff;color:var(--terra-dark);font-family:var(--en);font-size:10px;font-weight:700;letter-spacing:.1em;padding:5px 14px;border-radius:999px;}
  .work-body{padding:22px 24px;}
  .work-cat{display:inline-block;font-size:11px;font-weight:700;color:var(--green-dark);background:#f0f4ea;padding:2px 12px;border-radius:999px;margin-bottom:10px;}
  .work-body h3{font-size:15.5px;font-weight:900;line-height:1.8;margin-bottom:12px;}
  .work-data{display:flex;justify-content:space-between;align-items:center;border-top:2px dashed var(--border);padding-top:14px;font-size:11.5px;color:var(--sub);}
  .work-data b{font-size:17px;color:var(--terra-dark);font-weight:900;}
  .works-hint{font-size:11px;color:var(--sub);text-align:right;margin-top:2px;}
  .btn-more{display:flex;align-items:center;justify-content:center;gap:10px;width:fit-content;margin:40px auto 0;background:var(--terra);color:#fff;padding:16px 60px;font-size:14.5px;font-weight:700;letter-spacing:.1em;border-radius:999px;box-shadow:0 8px 20px rgba(224,122,74,.35);transition:.25s;}
  .btn-more:hover{background:var(--terra-dark);transform:translateY(-2px);}

  /* ===== 流れ：横並びカード＋矢印 ===== */
  .flow{background:var(--cream2);}
  .flow-row{display:flex;align-items:stretch;gap:6px;}
  .flow-card{flex:1;background:#fff;border-radius:var(--r);padding:28px 18px;text-align:center;box-shadow:0 5px 16px rgba(74,63,53,.07);position:relative;}
  .flow-card .badge{width:46px;height:46px;margin:0 auto 12px;border-radius:50%;background:var(--terra);color:#fff;font-family:var(--en);font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 5px 12px rgba(224,122,74,.3);}
  .flow-card:nth-child(3) .badge{background:var(--green);box-shadow:0 5px 12px rgba(122,154,101,.3);}
  .flow-card:nth-child(5) .badge{background:var(--green);box-shadow:0 5px 12px rgba(122,154,101,.3);}
  .flow-card:nth-child(7) .badge{background:#d9a24a;}
  .flow-card:nth-child(9) .badge{background:#d9a24a;}
  .flow-card h3{font-size:14.5px;font-weight:900;margin-bottom:6px;letter-spacing:.03em;}
  .flow-card p{font-size:11.5px;color:var(--sub);text-align:left;line-height:1.85;}
  .flow-arrow{display:flex;align-items:center;color:var(--terra);flex-shrink:0;}
  .flow-arrow .icon{width:22px;height:22px;}
  @media(max-width:900px){
    .flow-row{flex-direction:column;gap:0;}
    .flow-card{width:100%;}
    .flow-arrow{transform:rotate(90deg);padding:8px 0;justify-content:center;}
  }

  /* ===== お客様の声 ===== */
  .voice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;}
  .voice-card{background:#fff;border-radius:var(--r);padding:34px 32px 26px;box-shadow:0 6px 18px rgba(74,63,53,.07);position:relative;}
  .voice-card .face{position:absolute;top:-22px;left:30px;width:52px;height:52px;border-radius:50%;background:var(--cream2);border:3px solid #fff;display:flex;align-items:center;justify-content:center;color:var(--terra);box-shadow:0 4px 10px rgba(74,63,53,.1);}
  .voice-card .face .icon{width:26px;height:26px;}
  .voice-card .stars{color:var(--terra);font-size:15px;letter-spacing:2px;margin:8px 0 12px;}
  .voice-card p{font-size:13.5px;color:#6b5f52;margin-bottom:18px;}
  .voice-meta{border-top:2px dashed var(--border);padding-top:14px;display:flex;justify-content:space-between;align-items:center;font-size:12.5px;color:var(--sub);}
  .voice-meta b{color:var(--text);font-weight:700;}
  .voice-meta .tag{font-size:11px;font-weight:700;color:var(--terra-dark);background:var(--cream2);padding:2px 12px;border-radius:999px;}
  @media(max-width:800px){ .voice-grid{grid-template-columns:1fr;} }

  /* ===== 価格 ===== */
  .price{background:var(--cream2);}
  .price-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 6px 18px rgba(74,63,53,.07);}
  .price-table th,.price-table td{padding:17px 24px;font-size:14px;border-bottom:1px solid var(--border);text-align:left;}
  .price-table thead th{background:var(--terra);color:#fff;font-weight:700;font-size:13px;letter-spacing:.1em;}
  .price-table tbody tr:last-child td{border-bottom:none;}
  .price-table tbody tr:nth-child(even) td{background:#fdfaf4;}
  .price-table td.p{color:var(--terra-dark);font-weight:900;font-size:15px;white-space:nowrap;}
  .price-table td.p small{font-weight:400;font-size:11px;color:var(--sub);}
  .price-table td.t{color:var(--sub);font-size:13px;white-space:nowrap;}
  .price-note{font-size:12px;color:var(--sub);margin-top:14px;line-height:1.9;}
  @media(max-width:640px){ .price-table th,.price-table td{padding:13px 12px;font-size:12.5px;} .price-table td.p{font-size:13.5px;white-space:normal;} }

  /* ===== FAQ ===== */
  .faq-wrap{max-width:840px;margin:0 auto;}
  .faq details{background:#fff;border-radius:16px;margin-bottom:14px;box-shadow:0 4px 14px rgba(74,63,53,.07);overflow:hidden;}
  .faq summary{cursor:pointer;padding:20px 62px 20px 24px;font-weight:700;font-size:15px;list-style:none;position:relative;letter-spacing:.03em;}
  .faq summary::-webkit-details-marker{display:none;}
  .faq summary::before{content:"Q";display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--green);color:#fff;font-family:var(--en);font-size:14px;font-weight:700;margin-right:14px;vertical-align:-.35em;}
  .faq summary::after{content:"";position:absolute;right:26px;top:50%;width:10px;height:10px;border-right:2px solid var(--terra);border-bottom:2px solid var(--terra);border-radius:1px;transform:translateY(-70%) rotate(45deg);transition:transform .25s;}
  .faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg);}
  .faq .faq-a{padding:0 24px 22px 24px;font-size:13.5px;color:#6b5f52;display:flex;gap:14px;align-items:flex-start;}
  .faq .faq-a::before{content:"A";display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;flex-shrink:0;background:var(--terra);color:#fff;font-family:var(--en);font-size:14px;font-weight:700;margin-top:4px;}

  /* ===== 会社案内 ===== */
  .company{background:var(--cream2);}
  .company-wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center;}
  .company-photo{height:340px;border-radius:32px 32px 32px 100px;background:#b3a48e url("https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=1200&q=70") center/cover no-repeat;box-shadow:0 14px 34px rgba(74,63,53,.16);}
  .company-text h3{font-size:21px;font-weight:900;letter-spacing:.05em;line-height:1.9;margin-bottom:16px;}
  .company-text p{font-size:13.5px;color:#6b5f52;margin-bottom:12px;}
  .company-table{font-size:13px;margin-top:20px;width:100%;background:#fff;border-radius:16px;padding:8px;border-collapse:separate;border-spacing:0;}
  .company-table td{padding:11px 18px;vertical-align:top;border-bottom:1px solid var(--border);}
  .company-table tr:last-child td{border-bottom:none;}
  .company-table td:first-child{width:120px;color:var(--sub);font-weight:700;}
  @media(max-width:860px){ .company-wrap{grid-template-columns:1fr;gap:30px;} }

  /* ===== CTA ===== */
  .cta{padding:90px 24px;}
  .cta-box{max-width:1140px;margin:0 auto;background:var(--terra);border-radius:40px;padding:64px 40px;text-align:center;color:#fff;box-shadow:0 18px 44px rgba(224,122,74,.35);}
  .cta-box .en{display:inline-block;font-family:var(--en);font-size:12px;font-weight:700;letter-spacing:.25em;text-transform:uppercase;background:rgba(255,255,255,.2);padding:5px 20px;border-radius:999px;margin-bottom:16px;}
  .cta-box h2{font-size:clamp(22px,3vw,30px);font-weight:900;letter-spacing:.06em;margin-bottom:10px;}
  .cta-box .lead{font-size:13.5px;opacity:.92;margin-bottom:34px;}
  .cta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:880px;margin:0 auto;}
  .cta-card{background:#fff;color:var(--text);border-radius:20px;padding:28px 20px;transition:transform .25s;}
  .cta-card:hover{transform:translateY(-5px);}
  .cta-card .icon{width:52px;height:52px;padding:13px;border-radius:50%;background:var(--cream2);color:var(--terra-dark);margin:0 auto 10px;display:block;}
  .cta-card strong{display:block;font-size:15.5px;font-weight:900;letter-spacing:.04em;margin-bottom:4px;}
  .cta-card.tel strong{font-family:var(--en);font-size:23px;color:var(--terra-dark);}
  .cta-card span{font-size:11.5px;color:var(--sub);line-height:1.7;display:block;}
  .cta-card.line .icon{background:#e3f7eb;color:#06a047;}
  .cta-card.form .icon{background:#f0f4ea;color:var(--green-dark);}
  @media(max-width:800px){ .cta-grid{grid-template-columns:1fr;} }

  /* ===== フッター ===== */
  footer{background:#5a4c3f;color:#d9cfc2;padding:56px 0 40px;font-size:13px;border-radius:60px 60px 0 0;margin-top:-60px;position:relative;z-index:2;}
  .footer-inner{max-width:1140px;margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:32px;}
  .footer-logo{font-size:18px;font-weight:900;color:#fff;letter-spacing:.08em;margin-bottom:10px;}
  .footer-inner ul{display:flex;gap:22px;flex-wrap:wrap;font-size:12.5px;}
  footer a:hover{color:#fff;}
  .copyright{text-align:center;margin-top:38px;font-size:11px;color:#a3968a;}
  @media(max-width:960px){ footer{padding-bottom:110px;} }

  /* ===== 追従CTA：PC＝右側縦ボタン ===== */
  .side-cta{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:200;display:flex;flex-direction:column;gap:10px;}
  .side-cta a{writing-mode:vertical-rl;display:flex;align-items:center;gap:10px;padding:26px 13px;color:#fff;font-size:13.5px;letter-spacing:.2em;font-weight:700;border-radius:16px 0 0 16px;box-shadow:-3px 4px 14px rgba(74,63,53,.25);transition:padding-right .2s,opacity .2s;}
  .side-cta a:hover{padding-right:22px;opacity:.92;}
  .side-cta .icon{width:19px;height:19px;transform:rotate(90deg);flex-shrink:0;}
  .side-cta .s-tel{background:var(--green);}
  .side-cta .s-line{background:var(--line);}
  .side-cta .s-form{background:var(--terra);}

  /* ===== 追従CTA：スマホ＝下部バー ===== */
  .bottom-cta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:200;box-shadow:0 -3px 14px rgba(74,63,53,.25);}
  .bottom-cta a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 4px 12px;color:#fff;font-size:11.5px;font-weight:700;letter-spacing:.02em;}
  .bottom-cta .icon{width:20px;height:20px;}
  .bottom-cta .b-tel{background:var(--green);}
  .bottom-cta .b-line{background:var(--line);}
  .bottom-cta .b-form{background:var(--terra);}
  @media(max-width:960px){ .side-cta{display:none;} .bottom-cta{display:flex;} }
  /* ===== 資金シミュレーション（スライダー式） ===== */
  .loan-sim{margin-top:44px;padding-top:40px;border-top:2px dashed var(--border);}
  .loan-sim-head{text-align:center;margin-bottom:28px;}
  .loan-sim-head .ls-en{display:inline-block;font-family:var(--en);font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--terra);margin-bottom:8px;}
  .loan-sim-head h3{font-size:clamp(19px,2.4vw,24px);font-weight:900;letter-spacing:.05em;margin-bottom:6px;}
  .loan-sim-head p{font-size:13px;color:var(--sub);}

  .loan-card{display:grid;grid-template-columns:1.15fr 1fr;background:#fff;border:1px solid var(--border);border-radius:24px;overflow:hidden;box-shadow:0 10px 30px rgba(74,63,53,.1);}

  /* 左：バーを動かすだけ */
  .loan-q{padding:34px 36px;}
  .lq{margin-bottom:28px;}
  .lq:last-child{margin-bottom:0;}
  .lq-t{display:flex;align-items:baseline;gap:10px;font-size:14px;font-weight:900;letter-spacing:.04em;margin-bottom:14px;}
  .lq-t i{flex-shrink:0;align-self:center;width:23px;height:23px;border-radius:50%;background:var(--terra);color:#fff;font-family:var(--en);font-style:normal;font-size:11.5px;font-weight:700;display:flex;align-items:center;justify-content:center;}
  .lq-t b{margin-left:auto;font-family:var(--en);font-size:27px;font-weight:700;color:var(--terra-dark);line-height:1;white-space:nowrap;}
  .lq-t b em{font-family:var(--jp);font-style:normal;font-size:13px;font-weight:700;margin-left:2px;}

  /* スライダー本体（塗りつぶしは --p で制御） */
  .lrange{-webkit-appearance:none;appearance:none;display:block;width:100%;height:8px;border-radius:999px;outline:none;cursor:pointer;margin:0;
    background:linear-gradient(to right,var(--terra) 0,var(--terra) var(--p,30%),var(--border) var(--p,30%),var(--border) 100%);}
  .lrange::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:26px;height:26px;border-radius:50%;background:#fff;border:4px solid var(--terra);box-shadow:0 3px 10px rgba(74,63,53,.22);cursor:grab;transition:transform .15s;}
  .lrange::-webkit-slider-thumb:active{transform:scale(1.14);cursor:grabbing;}
  .lrange::-moz-range-thumb{width:26px;height:26px;box-sizing:border-box;border-radius:50%;background:#fff;border:4px solid var(--terra);box-shadow:0 3px 10px rgba(74,63,53,.22);cursor:grab;}
  .lrange::-moz-range-track{height:8px;border-radius:999px;background:transparent;}
  .lrange:focus-visible{box-shadow:0 0 0 4px rgba(224,122,74,.22);}
  .lq-e{display:flex;justify-content:space-between;font-size:11px;color:var(--sub);margin-top:8px;}

  /* 金利・ボーナスの折りたたみ（現在値は閉じていても見える） */
  .ladv{margin-top:26px;padding-top:20px;border-top:2px dashed var(--border);}
  .ladv summary{cursor:pointer;font-size:12.5px;color:var(--sub);list-style:none;display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
  .ladv summary::-webkit-details-marker{display:none;}
  .ladv summary b{font-family:var(--en);font-weight:700;color:var(--terra-dark);font-size:13.5px;}
  .ladv summary .chg{margin-left:auto;display:inline-flex;align-items:center;gap:7px;font-weight:700;color:var(--green-dark);}
  .ladv summary .chg::after{content:"";width:7px;height:7px;border-right:2px solid var(--green-dark);border-bottom:2px solid var(--green-dark);transform:rotate(45deg) translateY(-2px);transition:transform .25s;}
  .ladv[open] summary .chg::after{transform:rotate(-135deg) translateY(1px);}
  .ladv .lq{margin-top:20px;margin-bottom:20px;}
  .ladv .lq:last-child{margin-bottom:0;}
  .ladv .lq-t{font-size:12.5px;color:var(--sub);}
  .ladv .lq-t b{font-size:21px;}

  /* 右：結果 */
  .loan-out{background:linear-gradient(150deg,var(--green),var(--green-dark));color:#fff;padding:34px 36px;display:flex;flex-direction:column;justify-content:center;}
  .lo-lb{font-size:13px;font-weight:700;opacity:.92;}
  .lo-big{display:flex;align-items:baseline;gap:8px;margin:2px 0 5px;}
  .lo-big b{font-family:var(--en);font-size:clamp(42px,5vw,56px);font-weight:800;line-height:1;}
  .lo-big span{font-size:17px;font-weight:700;}
  .lo-sub{font-size:11.5px;opacity:.78;}
  .lo-can{margin-top:20px;background:rgba(255,255,255,.15);border-radius:16px;padding:18px 22px;transition:opacity .25s;}
  .lo-can.fade{opacity:.35;}
  .lo-can .t{font-size:11px;font-weight:700;opacity:.85;letter-spacing:.1em;margin-bottom:4px;}
  .lo-can .h{font-size:18.5px;font-weight:900;letter-spacing:.03em;line-height:1.6;margin-bottom:9px;}
  /* この予算でできる工事メニューを、具体的に並べる */
  .lo-items{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;}
  .lo-items li{font-size:11.5px;font-weight:700;color:var(--green-dark);background:rgba(255,255,255,.92);padding:3px 12px;border-radius:999px;line-height:1.8;}
  .lo-can .d{font-size:12.5px;opacity:.92;line-height:1.85;}
  /* 返済総額と利息は、予算と並ぶ重さで見せる */
  .lo-pay{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:16px;background:rgba(255,255,255,.22);border-radius:14px;overflow:hidden;}
  .lo-pay>div{background:rgba(122,154,101,.55);padding:13px 17px;}
  .lo-pay .k{display:block;font-size:11.5px;opacity:.9;line-height:1.7;}
  .lo-pay .v{font-family:var(--en);font-size:24px;font-weight:700;line-height:1.3;}
  .lo-pay em{font-style:normal;font-size:12px;font-weight:700;margin-left:2px;}
  .lo-cond{margin-top:11px;font-size:11px;opacity:.75;text-align:center;letter-spacing:.02em;}
  .loan-disc{font-size:11px;color:var(--sub);margin-top:14px;line-height:1.8;}
  @media(max-width:860px){
    .loan-card{grid-template-columns:1fr;}
    /* 「答える → 結果が出る」の順は崩さない */
    .loan-out{padding:24px 20px;}
    .loan-q{padding:24px 20px;}
    .lq{margin-bottom:22px;}
    .lq-t{font-size:13px;margin-bottom:12px;}
    .lq-t b{font-size:23px;}
    .lo-can{margin-top:16px;padding:15px 18px;}
    .lo-can .h{font-size:17px;}
    .lo-pay{margin-top:14px;}
    .lo-pay .v{font-size:21px;}
    .ladv{margin-top:22px;padding-top:18px;}
    .ladv summary .chg{margin-left:0;width:100%;}
  }

  /* ===== 背景の装飾 ===== */
  .inner{z-index:1;}
  .deco-host{overflow:hidden;}
  .deco{position:absolute;pointer-events:none;z-index:0;}
  .deco-c{border-radius:50%;}
  .deco-d{background-image:radial-gradient(var(--border) 1.6px,transparent 1.6px);background-size:18px 18px;opacity:.65;}

  /* ===== ページの先頭へ戻るボタン ===== */
  .to-top{position:fixed;right:22px;bottom:28px;z-index:95;width:50px;height:50px;border-radius:50%;background:#fff;border:2px solid var(--border);color:var(--terra-dark);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 18px rgba(74,63,53,.16);opacity:0;visibility:hidden;transform:translateY(10px);transition:.3s;}
  .to-top.on{opacity:1;visibility:visible;transform:none;}
  .to-top:hover{background:var(--terra);border-color:var(--terra);color:#fff;}
  .to-top .icon{width:22px;height:22px;transform:rotate(-90deg);}
  @media(max-width:900px){ .to-top{right:14px;bottom:76px;width:44px;height:44px;} }

  /* ===== アニメーション ===== */
  @keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-18px)}}
  @keyframes heroIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
  @keyframes photoIn{from{opacity:0;transform:scale(1.05)}to{opacity:1;transform:none}}

  @media(prefers-reduced-motion:no-preference){
    /* スクロールに合わせて、ふわっと出す */
    .rv{opacity:0;transform:translateY(26px);transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1);transition-delay:var(--d,0s);}
    .rv.on{opacity:1;transform:none;}
    /* 見出し左の短いバーは、あとから伸ばす */
    .sec-head.rv .en::before{width:0;transition:width .55s cubic-bezier(.22,1,.36,1) .25s;}
    .sec-head.rv.on .en::before{width:24px;}
    /* ヒーローは読み込み時に順番に */
    .hero-text>*{animation:heroIn .85s cubic-bezier(.22,1,.36,1) both;}
    .hero-text .place{animation-delay:.12s;}
    .hero-text h1{animation-delay:.26s;}
    .hero-text .sub{animation-delay:.42s;}
    .hero-text .badges{animation-delay:.56s;}
    .hero-photo{animation:photoIn 1.3s cubic-bezier(.22,1,.36,1) both;}
    /* 背景の丸は、ゆっくり上下に漂わせる */
    .deco-c{animation:floatY 9s ease-in-out infinite;}
    .deco-c.s2{animation-duration:13s;animation-delay:-4s;}
    .deco-c.s3{animation-duration:17s;animation-delay:-8s;}
  }
  @media(prefers-reduced-motion:reduce){ .deco{display:none;} }

/* ===== サブページ固有スタイル（サンプルより統合） ===== */

/* --- works.html --- */
/* ==================================================================
     [このページ固有] archive-works.php 相当
     ================================================================== */

  /* ----- 絞り込み ----- */
  .wfilter{background:#fff;border-radius:var(--r);padding:26px 30px 22px;box-shadow:0 5px 16px rgba(74,63,53,.07);margin-bottom:26px;}
  .wf-row{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap;}
  .wf-row+.wf-row{margin-top:16px;padding-top:16px;border-top:2px dashed var(--border);}
  .wf-lb{flex-shrink:0;width:108px;font-size:12.5px;font-weight:900;color:var(--sub);letter-spacing:.06em;line-height:2.9;}
  .wf-chips{display:flex;flex-wrap:wrap;gap:9px;flex:1;}
  .wchip{display:inline-flex;align-items:center;gap:7px;background:var(--cream);border:2px solid var(--border);color:var(--sub);font-size:13px;font-weight:700;letter-spacing:.04em;padding:8px 18px;border-radius:999px;cursor:pointer;transition:.2s;}
  .wchip .n{font-family:var(--en);font-size:10.5px;font-weight:700;color:var(--sub);background:#fff;padding:1px 7px;border-radius:999px;transition:.2s;}
  .wchip:hover{border-color:var(--terra);color:var(--terra-dark);}
  .wchip.is-on{background:var(--terra);border-color:var(--terra);color:#fff;box-shadow:0 6px 14px rgba(224,122,74,.28);}
  .wchip.is-on .n{background:rgba(255,255,255,.28);color:#fff;}
  @media(max-width:700px){
    .wfilter{padding:20px 18px 18px;}
    .wf-row{flex-direction:column;gap:8px;}
    .wf-lb{width:auto;line-height:1.9;}
    .wchip{font-size:12px;padding:7px 14px;}
  }

  /* ----- 件数バー ----- */
  .wcount{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:20px;padding:0 4px;}
  .wcount .n{font-size:13.5px;color:var(--sub);}
  .wcount .n b{font-family:var(--en);font-size:26px;font-weight:700;color:var(--terra-dark);margin:0 3px;}
  .wcount .reset{font-size:12.5px;font-weight:700;color:var(--sub);border-bottom:2px dotted var(--border);cursor:pointer;background:none;border-top:0;border-left:0;border-right:0;padding:0 0 2px;transition:.2s;}
  .wcount .reset:hover{color:var(--terra-dark);border-bottom-color:var(--terra);}

  /* ----- 事例グリッド ----- */
  .wgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .wcard{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 5px 16px rgba(74,63,53,.07);transition:transform .25s,box-shadow .25s;display:flex;flex-direction:column;}
  .wcard:hover{transform:translateY(-5px);box-shadow:0 16px 32px rgba(74,63,53,.13);}
  .wcard.is-off{display:none;}
  .wphoto{height:200px;background:#cbbca8 center/cover no-repeat;position:relative;}
  .wphoto .ba{position:absolute;top:13px;left:13px;background:#fff;color:var(--terra-dark);font-family:var(--en);font-size:10px;font-weight:700;letter-spacing:.1em;padding:5px 13px;border-radius:999px;}
  .wbody{padding:20px 22px 18px;display:flex;flex-direction:column;flex:1;}
  .wcat{display:inline-block;align-self:flex-start;font-size:11px;font-weight:700;color:var(--green-dark);background:#f0f4ea;padding:2px 12px;border-radius:999px;margin-bottom:10px;}
  .wcard h3{font-size:15.5px;font-weight:900;line-height:1.8;margin-bottom:12px;flex:1;}
  .wmeta{font-size:11.5px;color:var(--sub);line-height:1.85;margin-bottom:12px;}
  .wdata{display:flex;justify-content:space-between;align-items:flex-end;border-top:2px dashed var(--border);padding-top:13px;gap:10px;}
  .wdata .term{font-size:11.5px;color:var(--sub);}
  .wdata .amt{font-family:var(--en);font-size:22px;font-weight:700;color:var(--terra-dark);line-height:1.3;white-space:nowrap;}
  .wdata .amt em{font-family:var(--jp);font-style:normal;font-size:13px;font-weight:700;margin-left:1px;}
  @media(max-width:980px){ .wgrid{grid-template-columns:repeat(2,1fr);gap:16px;} }
  @media(max-width:600px){
    .wgrid{grid-template-columns:1fr;gap:14px;}
    .wphoto{height:52vw;}
    .wbody{padding:17px 18px 15px;}
  }

  /* ----- 該当なし ----- */
  .wempty{display:none;background:#fff;border:2px dashed var(--border);border-radius:var(--r);padding:52px 24px;text-align:center;}
  .wempty h3{font-size:18px;font-weight:900;margin-bottom:8px;}
  .wempty p{font-size:13.5px;color:var(--sub);}

  /* ----- ページャー ----- */
  .pager{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:44px;}
  .pager a,.pager span{min-width:44px;height:44px;padding:0 14px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#fff;border:2px solid var(--border);font-family:var(--en);font-size:14px;font-weight:700;color:var(--sub);transition:.2s;}
  .pager a:hover{border-color:var(--terra);color:var(--terra-dark);}
  .pager .cur{background:var(--terra);border-color:var(--terra);color:#fff;}
  .pager .nx{font-family:var(--jp);font-size:12.5px;gap:7px;}
  .pager .nx .icon{width:15px;height:15px;}

/* --- works-01.html --- */
/* ==================================================================
     [このページ固有] single-works.php 相当
     ================================================================== */

  /* ----- 記事ヘッダー ----- */
  .wcat{display:inline-block;font-size:12px;font-weight:700;color:var(--green-dark);background:#e9f1dd;padding:5px 18px;border-radius:999px;margin-bottom:14px;}

/* 会社概要：代表挨拶 */
.greeting-sec{background:var(--cream2);}
.greeting{max-width:680px;margin:0 auto;background:#fff;border-radius:var(--r);padding:40px 44px;box-shadow:0 8px 24px rgba(74,63,53,.07);border:1px solid var(--border);}
.greeting p{font-size:15px;line-height:2.15;color:var(--text);margin-bottom:20px;}
.greeting p:last-child{margin-bottom:0;}
.greeting-slogan{text-align:center;font-size:19px;font-weight:900;color:var(--terra-dark);letter-spacing:.06em;margin:30px 0!important;}
.greeting-sign{text-align:right;font-weight:700;line-height:1.9;margin-top:30px!important;color:var(--text);}
.greeting-sign span{font-size:18px;letter-spacing:.04em;}
@media(max-width:560px){.greeting{padding:28px 22px;}.greeting-slogan{font-size:17px;}}

/* 規約・ポリシー系ページ（プライバシーポリシー等） */
.legal{max-width:760px;margin:0 auto;}
.legal>p{font-size:14.5px;line-height:2.1;color:var(--text);margin-bottom:16px;}
.legal h2{font-size:18px;font-weight:900;color:var(--text);margin:34px 0 12px;padding-left:14px;border-left:4px solid var(--terra);line-height:1.55;}
.legal h2:first-of-type{margin-top:6px;}
.legal ul{margin:0 0 18px;padding-left:1.3em;}
.legal li{font-size:14px;line-height:1.95;color:var(--sub);margin-bottom:6px;}
.legal a{color:var(--terra-dark);text-decoration:underline;word-break:break-all;}
.legal a:hover{color:var(--terra);}
.legal-box{background:#fff;border:1px solid var(--border);border-radius:14px;padding:20px 24px;margin-top:8px;font-size:14px;line-height:2.05;color:var(--text);box-shadow:0 5px 16px rgba(74,63,53,.06);}
.legal-date{margin-top:30px;font-size:13px;color:var(--sub);text-align:right;}

/* リフォームの流れページ（縦タイムライン） */
.flowpage{list-style:none;margin:0 auto;padding:0;max-width:720px;}
.flowpage-step{display:grid;grid-template-columns:64px 1fr;gap:24px;position:relative;padding-bottom:36px;}
.flowpage-step:last-child{padding-bottom:0;}
.flowpage-step:not(:last-child)::before{content:"";position:absolute;left:31px;top:70px;bottom:6px;width:2px;background:var(--border);}
.flowpage-num{width:64px;height:64px;border-radius:50%;background:var(--terra);color:#fff;font-family:var(--en);font-size:26px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(224,122,74,.3);position:relative;z-index:1;}
.flowpage-body{padding-top:8px;}
.flowpage-body h2{font-size:20px;font-weight:900;margin-bottom:11px;color:var(--text);line-height:1.5;}
.flowpage-body p{font-size:14.5px;line-height:2.05;color:var(--sub);}
.flowpage-note{max-width:720px;margin:34px auto 0;text-align:center;font-size:13px;color:var(--sub);}
@media(max-width:560px){.flowpage-step{grid-template-columns:48px 1fr;gap:16px;padding-bottom:28px;}.flowpage-num{width:48px;height:48px;font-size:20px;}.flowpage-step:not(:last-child)::before{left:23px;top:54px;}.flowpage-body h2{font-size:17px;}}

/* お問い合わせページ（Contact Form 7） */
.cwrap{display:grid;grid-template-columns:1fr 340px;gap:40px;align-items:start;max-width:1040px;margin:0 auto;}
.cform{background:#fff;border-radius:var(--r);padding:34px 34px 30px;box-shadow:0 8px 24px rgba(74,63,53,.08);border:1px solid var(--border);}
.cform .sf-form__row{margin-bottom:20px;}
.cform .sf-form__grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.cform .sf-form__label{display:block;font-weight:700;font-size:14px;margin-bottom:8px;color:var(--text);}
.cform .sf-form__req{display:inline-block;font-size:11px;font-weight:700;color:#fff;background:var(--terra);border-radius:999px;padding:2px 9px;margin-left:6px;vertical-align:middle;}
.cform input[type=text],.cform input[type=email],.cform input[type=tel],.cform textarea,.cform select{width:100%;padding:13px 15px;font-size:15px;font-family:inherit;color:var(--text);background:var(--cream);border:1.5px solid var(--border);border-radius:12px;transition:.2s;box-sizing:border-box;}
.cform input:focus,.cform textarea:focus,.cform select:focus{outline:none;border-color:var(--terra);background:#fff;box-shadow:0 0 0 3px rgba(224,122,74,.12);}
.cform textarea{resize:vertical;min-height:150px;line-height:1.85;}
.cform .wpcf7-form-control-wrap{display:block;}
.cform .sf-form__submit{margin-top:26px;text-align:center;}
.cform .sf-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--terra);color:#fff;padding:16px 40px;font-size:15px;font-weight:700;letter-spacing:.08em;border-radius:999px;border:0;cursor:pointer;box-shadow:0 8px 20px rgba(224,122,74,.32);transition:.25s;width:100%;max-width:360px;}
.cform .sf-btn:hover{background:var(--terra-dark);transform:translateY(-2px);}
.cform .sf-form__privacy{margin-top:14px;font-size:12px;color:var(--sub);}
.cform .wpcf7-not-valid-tip{color:#c0392b;font-size:12.5px;margin-top:6px;display:block;font-weight:700;}
.cform .wpcf7-not-valid{border-color:#c0392b!important;}
.cform .wpcf7-response-output{margin:20px 0 0!important;padding:13px 16px!important;border-radius:12px!important;font-size:13.5px;border:1.5px solid var(--border)!important;background:var(--cream);line-height:1.7;}
.cform .wpcf7 form.invalid .wpcf7-response-output,.cform .wpcf7 form.unaccepted .wpcf7-response-output{border-color:#e6b800!important;background:#fff9e6;color:#7a6a2f;}
.cform .wpcf7 form.sent .wpcf7-response-output{border-color:var(--green)!important;background:#eef4e6;color:var(--green-dark);}
.cform .wpcf7-spinner{margin:6px auto 0;display:block;}
.cside{display:flex;flex-direction:column;gap:18px;position:sticky;top:148px;}
.ccard{background:#fff;border-radius:var(--r);padding:24px;box-shadow:0 6px 18px rgba(74,63,53,.07);border:1px solid var(--border);}
.ccard__h{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px;margin-bottom:12px;color:var(--terra-dark);}
.ccard__h .icon{width:18px;height:18px;}
.ccard__tel{display:block;font-family:var(--en);font-size:26px;font-weight:700;color:var(--text);letter-spacing:.02em;}
.ccard__note{font-size:12px;color:var(--sub);margin-top:4px;}
.ccard__line{margin:14px 0 0!important;width:100%;padding:12px 20px;}
.ccard__addr{font-size:13px;color:var(--sub);line-height:1.9;}
@media(max-width:860px){.cwrap{grid-template-columns:1fr;gap:24px;}.cside{position:static;}.cform{padding:24px 20px;}.cform .sf-form__grid2{grid-template-columns:1fr;gap:20px;}}
  .phead h1{font-size:36px;font-weight:900;letter-spacing:.04em;line-height:1.55;max-width:900px;}
  .whead-meta{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:18px;font-size:12.5px;color:var(--sub);}
  .whead-meta span{display:inline-flex;align-items:center;gap:7px;}
  .whead-meta .icon{width:15px;height:15px;color:var(--green-dark);}
  @media(max-width:760px){ .phead h1{font-size:23px;} }

  /* ----- Before / After ----- */
  .ba-wrap{display:grid;grid-template-columns:1fr 1fr;gap:18px;position:relative;}
  .ba-item{position:relative;border-radius:var(--r);overflow:hidden;box-shadow:0 6px 18px rgba(74,63,53,.1);}
  .ba-item .ph{height:340px;background:#cbbca8 center/cover no-repeat;}
  .ba-item .lb{position:absolute;top:16px;left:16px;font-family:var(--en);font-size:12px;font-weight:700;letter-spacing:.16em;padding:6px 18px;border-radius:999px;color:#fff;}
  .ba-item.b .lb{background:rgba(74,63,53,.82);}
  .ba-item.a .lb{background:var(--terra);}
  .ba-cap{margin-top:12px;font-size:12.5px;color:var(--sub);}
  @media(max-width:760px){ .ba-wrap{grid-template-columns:1fr;gap:14px;} .ba-item .ph{height:56vw;} }

  /* ----- 物件データ ----- */
  .wdatasec{background:var(--cream2);}
  .dtable{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 5px 16px rgba(74,63,53,.07);}
  .dtable dl{display:grid;grid-template-columns:180px 1fr;border-bottom:2px dashed var(--border);}
  .dtable dl:last-child{border-bottom:0;}
  .dtable dt{background:var(--cream);padding:16px 24px;font-size:13px;font-weight:900;letter-spacing:.05em;color:var(--sub);display:flex;align-items:center;gap:9px;}
  .dtable dt .icon{width:16px;height:16px;color:var(--green-dark);}
  .dtable dd{padding:16px 26px;font-size:14px;}
  .dtable dd.cost{font-family:var(--en);font-size:26px;font-weight:700;color:var(--terra-dark);line-height:1.6;}
  .dtable dd.cost em{font-family:var(--jp);font-style:normal;font-size:14px;font-weight:700;}
  .dtable dd.cost small{display:block;font-family:var(--jp);font-size:11.5px;color:var(--sub);font-weight:400;letter-spacing:.03em;}
  @media(max-width:700px){
    .dtable dl{grid-template-columns:1fr;}
    .dtable dt{padding:11px 18px;}
    .dtable dd{padding:13px 18px 17px;font-size:13.5px;}
  }

  /* ----- ご要望・ご提案 ----- */
  .story-block{background:#fff;border-radius:var(--r);padding:36px 42px;box-shadow:0 5px 16px rgba(74,63,53,.07);}
  .story-block+.story-block{margin-top:20px;}
  .story-block .tag{display:inline-flex;align-items:center;gap:9px;font-size:12.5px;font-weight:900;letter-spacing:.08em;color:#fff;background:var(--sub);padding:5px 18px;border-radius:999px;margin-bottom:16px;}
  .story-block.sol .tag{background:var(--green-dark);}
  .story-block .tag .icon{width:15px;height:15px;}
  .story-block h3{font-size:21px;font-weight:900;letter-spacing:.04em;line-height:1.65;margin-bottom:12px;}
  .story-block p{font-size:14px;color:var(--sub);}
  .points{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px;}
  .point{background:var(--cream);border-radius:16px;padding:22px 22px 20px;}
  .point .no{font-family:var(--en);font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--terra);}
  .point h4{font-size:15.5px;font-weight:900;line-height:1.65;margin:3px 0 7px;}
  .point p{font-size:12.5px;line-height:1.85;}
  @media(max-width:860px){
    .story-block{padding:26px 22px;}
    .story-block h3{font-size:17.5px;}
    .points{grid-template-columns:1fr;gap:10px;}
  }

  /* ----- ギャラリー ----- */
  .gal{background:var(--cream2);}
  .gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
  .gal-item{display:block;width:100%;padding:0;margin:0;border:0;font:inherit;text-align:left;color:inherit;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 5px 16px rgba(74,63,53,.07);cursor:zoom-in;transition:transform .18s ease,box-shadow .18s ease;}
  .gal-item:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(74,63,53,.13);}
  .gal-item:focus-visible{outline:3px solid var(--green);outline-offset:2px;}
  .gal-item .ph{display:block;height:210px;background:#cbbca8 center/cover no-repeat;}
  .gal-cap{display:block;padding:14px 18px 16px;font-size:12.5px;color:var(--sub);line-height:1.85;}
  @media(max-width:860px){ .gal-grid{grid-template-columns:repeat(2,1fr);gap:12px;} .gal-item .ph{height:32vw;} }
  @media(max-width:560px){ .gal-grid{grid-template-columns:1fr;} .gal-item .ph{height:56vw;} }

  /* Lightbox（施工事例ギャラリー拡大表示） */
  .lightbox{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;gap:10px;padding:24px;background:rgba(30,24,18,.88);}
  .lightbox[hidden]{display:none;}
  .lb-stage{margin:0;display:flex;flex-direction:column;align-items:center;gap:12px;max-width:88vw;max-height:88vh;}
  .lb-img{max-width:88vw;max-height:80vh;width:auto;height:auto;object-fit:contain;border-radius:8px;background:#fff;box-shadow:0 12px 40px rgba(0,0,0,.45);cursor:default;}
  .lb-cap{color:#fff;font-size:13px;line-height:1.7;text-align:center;max-width:80vw;text-shadow:0 1px 2px rgba(0,0,0,.5);}
  .lb-cap:empty{display:none;}
  .lb-close,.lb-nav{appearance:none;-webkit-appearance:none;border:0;cursor:pointer;color:#fff;background:rgba(255,255,255,.15);border-radius:999px;display:flex;align-items:center;justify-content:center;transition:background .15s ease;}
  .lb-close:hover,.lb-nav:hover{background:rgba(255,255,255,.3);}
  .lb-close:focus-visible,.lb-nav:focus-visible{outline:2px solid #fff;outline-offset:2px;}
  .lb-close{position:absolute;top:18px;right:18px;width:44px;height:44px;}
  .lb-close .icon{width:20px;height:20px;}
  .lb-nav{width:52px;height:52px;flex:0 0 auto;}
  .lb-nav .icon{width:22px;height:22px;}
  .lb-prev .icon{transform:rotate(180deg);}
  .lb-nav[hidden]{display:none;}
  @media(max-width:640px){
    .lightbox{padding:12px;gap:4px;}
    .lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;background:rgba(0,0,0,.42);}
    .lb-prev{left:10px;} .lb-next{right:10px;}
    .lb-img{max-width:94vw;max-height:76vh;}
    .lb-stage{max-width:94vw;}
  }


  /* ----- 担当者 ----- */
  .staff{background:#fff;border-radius:var(--r);padding:32px 38px;box-shadow:0 5px 16px rgba(74,63,53,.07);display:flex;gap:26px;align-items:flex-start;margin-top:20px;}
  .staff .av{width:92px;height:92px;border-radius:20px;background:#cbbca8 center/cover no-repeat;flex-shrink:0;}
  .staff .lb{font-size:11.5px;font-weight:700;letter-spacing:.1em;color:var(--terra);}
  .staff h3{font-size:16.5px;font-weight:900;letter-spacing:.04em;margin:2px 0 10px;}
  .staff h3 small{font-size:12px;color:var(--sub);font-weight:500;margin-left:8px;}
  .staff p{font-size:13.5px;color:var(--sub);}
  @media(max-width:640px){ .staff{flex-direction:column;gap:16px;padding:24px 22px;} .staff .av{width:72px;height:72px;} }

  /* ----- この工事のメニューへ ----- */
  .tomenu{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;background:var(--cream2);border:3px solid var(--terra);border-radius:var(--r);padding:28px 34px;margin-top:26px;}
  .tomenu .lb{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--terra-dark);}
  .tomenu h3{font-size:21px;font-weight:900;letter-spacing:.04em;line-height:1.6;margin:2px 0 4px;}
  .tomenu p{font-size:12.5px;color:var(--sub);}
  .tomenu a{flex-shrink:0;display:inline-flex;align-items:center;gap:10px;background:var(--terra);color:#fff;font-size:14px;font-weight:700;letter-spacing:.05em;padding:15px 32px;border-radius:999px;box-shadow:0 8px 20px rgba(224,122,74,.3);transition:.22s;}
  .tomenu a:hover{background:var(--terra-dark);transform:translateY(-2px);}
  @media(max-width:760px){ .tomenu{padding:24px 20px;} .tomenu h3{font-size:18px;} .tomenu a{width:100%;justify-content:center;} }

  /* ----- 関連事例 ----- */
  .rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  .rel-card{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 5px 16px rgba(74,63,53,.07);transition:transform .25s,box-shadow .25s;display:flex;flex-direction:column;}
  .rel-card:hover{transform:translateY(-5px);box-shadow:0 16px 32px rgba(74,63,53,.13);}
  .rel-card .ph{height:180px;background:#cbbca8 center/cover no-repeat;}
  .rel-card .bd{padding:18px 20px 16px;display:flex;flex-direction:column;flex:1;}
  .rel-card .ct{align-self:flex-start;font-size:11px;font-weight:700;color:var(--green-dark);background:#f0f4ea;padding:2px 12px;border-radius:999px;margin-bottom:9px;}
  .rel-card h3{font-size:15px;font-weight:900;line-height:1.8;margin-bottom:11px;flex:1;}
  .rel-card .dt{display:flex;justify-content:space-between;align-items:flex-end;border-top:2px dashed var(--border);padding-top:12px;font-size:11.5px;color:var(--sub);gap:10px;}
  .rel-card .dt b{font-family:var(--en);font-size:19px;color:var(--terra-dark);font-weight:700;white-space:nowrap;}
  .btn-more{display:flex;align-items:center;justify-content:center;gap:10px;width:fit-content;margin:36px auto 0;background:var(--terra);color:#fff;padding:16px 56px;font-size:14.5px;font-weight:700;letter-spacing:.1em;border-radius:999px;box-shadow:0 8px 20px rgba(224,122,74,.32);transition:.25s;}
  .btn-more:hover{background:var(--terra-dark);transform:translateY(-2px);}
  @media(max-width:900px){ .rel-grid{grid-template-columns:1fr;gap:14px;} .rel-card .ph{height:48vw;} }

/* --- company.html --- */
.hist{background:var(--cream2);}
  .hist-list{position:relative;padding-left:26px;}
  .hist-list::before{content:"";position:absolute;left:5px;top:12px;bottom:12px;width:3px;background:var(--border);border-radius:2px;}
  .hist-item{position:relative;display:grid;grid-template-columns:120px 1fr;gap:22px;padding:14px 0;}
  .hist-item::before{content:"";position:absolute;left:-26px;top:24px;width:13px;height:13px;border-radius:50%;background:var(--terra);border:3px solid var(--cream2);}
  .hist-item .yr{font-family:var(--en);font-size:17px;font-weight:700;color:var(--terra-dark);letter-spacing:.04em;}
  .hist-item .yr small{display:block;font-family:var(--jp);font-size:11px;color:var(--sub);font-weight:500;}
  .hist-item p{font-size:14px;}
  @media(max-width:640px){
    .hist-item{grid-template-columns:1fr;gap:2px;padding:11px 0;}
    .hist-item::before{top:20px;}
    .hist-item .yr small{display:inline;margin-left:8px;}
    .hist-item p{font-size:13.5px;}
  }
  .access{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch;}
  .access .map{background:var(--cream2);border-radius:var(--r);min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--sub);font-size:13px;border:2px dashed var(--border);}
  .access .map .icon{width:34px;height:34px;}
  .access .info{background:#fff;border-radius:var(--r);padding:32px 34px;box-shadow:0 5px 16px rgba(74,63,53,.07);}
  .access .info h3{font-size:17px;font-weight:900;letter-spacing:.04em;margin-bottom:14px;}
  .access .info dl{display:flex;gap:14px;padding:11px 0;border-bottom:2px dashed var(--border);font-size:13.5px;}
  .access .info dl:last-child{border-bottom:0;}
  .access .info dt{width:88px;flex-shrink:0;font-weight:900;color:var(--sub);font-size:12.5px;}
  .access .info dd{color:var(--sub);}
  @media(max-width:820px){ .access{grid-template-columns:1fr;} .access .map{min-height:200px;} .access .info{padding:24px 20px;} }

/* --- message.html --- */
.msg-wrap{position:relative;background:#fff;border-radius:var(--r);padding:56px 64px;box-shadow:0 6px 20px rgba(74,63,53,.08);}
  .msg-wrap::before{content:"“";position:absolute;top:10px;left:36px;font-family:var(--en);font-size:112px;font-weight:700;color:var(--cream2);line-height:1;pointer-events:none;}
  .msg-role{position:relative;z-index:1;display:inline-flex;align-items:center;gap:9px;background:var(--cream2);color:var(--terra-dark);font-size:12.5px;font-weight:700;letter-spacing:.08em;padding:6px 20px;border-radius:999px;margin-bottom:20px;}
  .msg-role .icon{width:15px;height:15px;}
  .msg-body{position:relative;z-index:1;}
  .msg-body h2{font-size:27px;font-weight:900;letter-spacing:.05em;line-height:1.75;margin-bottom:24px;}
  .msg-body h2 .hl{background:linear-gradient(transparent 62%,#fbe3ba 62%);padding:0 3px;}
  .msg-body p{font-size:14.5px;color:var(--sub);margin-bottom:22px;}
  .msg-body p:last-child{margin-bottom:0;}
  .msg-sign{margin-top:34px;padding-top:24px;border-top:2px dashed var(--border);text-align:right;font-size:13px;color:var(--sub);}
  .msg-sign b{display:block;font-size:19px;color:var(--text);font-weight:900;letter-spacing:.1em;margin-top:5px;}
  @media(max-width:900px){
    .msg-wrap{padding:32px 24px;border-radius:16px;}
    .msg-wrap::before{font-size:80px;left:20px;top:6px;}
    .msg-body h2{font-size:20px;}
    .msg-body p{font-size:13.5px;}
  }

  .vows{background:var(--cream2);}
  .vow-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
  .vow{position:relative;background:#fff;border-radius:var(--r);padding:34px 30px 30px;box-shadow:0 5px 16px rgba(74,63,53,.07);overflow:hidden;}
  .vow .bignum{position:absolute;top:-16px;right:8px;font-family:var(--en);font-size:92px;font-weight:700;color:var(--cream2);line-height:1;}
  .vow .ic{position:relative;z-index:1;width:54px;height:54px;border-radius:16px;background:var(--cream2);color:var(--green-dark);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
  .vow:nth-child(2) .ic{color:var(--terra-dark);}
  .vow .ic .icon{width:27px;height:27px;}
  .vow h3{position:relative;z-index:1;font-size:19px;font-weight:900;letter-spacing:.04em;line-height:1.65;margin-bottom:10px;}
  .vow p{position:relative;z-index:1;font-size:13.5px;color:var(--sub);}
  @media(max-width:860px){ .vow-grid{grid-template-columns:1fr;} .vow{padding:26px 22px 24px;} .vow h3{font-size:17px;} }

/* --- price.html --- */
.ptable{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 5px 16px rgba(74,63,53,.07);}
  .pgrp{display:flex;align-items:center;gap:13px;background:var(--cream2);padding:14px 26px;font-size:15px;font-weight:900;letter-spacing:.06em;}
  .pgrp .icon{width:19px;height:19px;color:var(--green-dark);}
  .prow{display:grid;grid-template-columns:1fr 150px 140px;gap:16px;align-items:center;padding:15px 26px;border-bottom:2px dashed var(--border);}
  .prow:last-child{border-bottom:0;}
  .prow .nm{font-size:14.5px;font-weight:700;}
  .prow .nm small{display:block;font-size:11.5px;color:var(--sub);font-weight:400;line-height:1.75;}
  .prow .amt{font-family:var(--en);font-size:21px;font-weight:700;color:var(--terra-dark);text-align:right;line-height:1.4;}
  .prow .amt em{font-family:var(--jp);font-style:normal;font-size:12.5px;font-weight:700;margin-left:1px;}
  .prow .trm{font-size:11.5px;color:var(--sub);text-align:right;}
  .phdr{display:grid;grid-template-columns:1fr 150px 140px;gap:16px;padding:11px 26px;background:var(--text);color:#fff;font-size:11.5px;font-weight:700;letter-spacing:.08em;}
  .phdr span:nth-child(2),.phdr span:nth-child(3){text-align:right;}
  @media(max-width:700px){
    .phdr{display:none;}
    .prow{grid-template-columns:1fr auto;gap:4px 12px;padding:14px 18px;}
    .prow .nm{grid-column:1/-1;}
    .prow .amt{text-align:left;font-size:19px;}
    .prow .trm{text-align:right;}
    .pgrp{padding:12px 18px;font-size:14px;}
  }

  .incexc{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  .incexc>div{background:#fff;border-radius:16px;padding:26px 30px;box-shadow:0 5px 16px rgba(74,63,53,.07);}
  .incexc h3{font-size:15.5px;font-weight:900;margin-bottom:11px;display:flex;align-items:center;gap:10px;letter-spacing:.04em;}
  .incexc h3 .icon{width:19px;height:19px;stroke-width:2.6;}
  .incexc .inc h3{color:var(--green-dark);}
  .incexc .exc h3{color:var(--terra-dark);}
  .incexc p{font-size:13px;color:var(--sub);}
  .incexc small{display:block;margin-top:9px;font-size:11.5px;color:var(--sub);opacity:.9;}
  @media(max-width:820px){ .incexc{grid-template-columns:1fr;} .incexc>div{padding:22px 20px;} }

  .tips{background:var(--cream2);}
  .tip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
  .tip{background:#fff;border-radius:var(--r);padding:30px 28px 26px;box-shadow:0 5px 16px rgba(74,63,53,.07);}
  .tip .no{font-family:var(--en);font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--terra);}
  .tip h3{font-size:17.5px;font-weight:900;letter-spacing:.03em;line-height:1.65;margin:4px 0 10px;}
  .tip p{font-size:13px;color:var(--sub);}
  @media(max-width:860px){ .tip-grid{grid-template-columns:1fr;} .tip{padding:24px 20px;} }

  .pay{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
  .pay-c{background:#fff;border-radius:16px;padding:26px 26px 22px;box-shadow:0 5px 16px rgba(74,63,53,.07);}
  .pay-c .ic{width:46px;height:46px;border-radius:14px;background:var(--cream2);color:var(--green-dark);display:flex;align-items:center;justify-content:center;margin-bottom:13px;}
  .pay-c .ic .icon{width:23px;height:23px;}
  .pay-c h3{font-size:16px;font-weight:900;letter-spacing:.04em;margin-bottom:7px;}
  .pay-c p{font-size:12.5px;color:var(--sub);}
  @media(max-width:860px){ .pay{grid-template-columns:1fr;} }

/* --- flow.html --- */
.fstep{display:grid;grid-template-columns:104px 1fr;gap:26px;background:#fff;border-radius:var(--r);padding:30px 34px;box-shadow:0 5px 16px rgba(74,63,53,.07);border-left:7px solid var(--terra);}
  .fstep.g{border-left-color:var(--green);}
  .fno{text-align:center;}
  .fno .st{font-family:var(--en);font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--sub);}
  .fno .n{display:block;font-family:var(--en);font-size:38px;font-weight:700;color:var(--terra);line-height:1.1;}
  .fstep.g .fno .n{color:var(--green-dark);}
  .fno .tm{display:inline-block;margin-top:6px;font-size:11px;font-weight:700;color:var(--sub);background:var(--cream);padding:3px 11px;border-radius:999px;white-space:nowrap;}
  .fstep h3{font-size:21px;font-weight:900;letter-spacing:.04em;line-height:1.6;margin-bottom:10px;}
  .fstep>div>p{font-size:13.5px;color:var(--sub);}
  .fdo{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;}
  .fdo>div{background:var(--cream);border-radius:13px;padding:15px 19px;}
  .fdo h4{font-size:12px;font-weight:900;letter-spacing:.06em;margin-bottom:5px;display:flex;align-items:center;gap:8px;}
  .fdo h4 .icon{width:15px;height:15px;}
  .fdo .you h4{color:var(--terra-dark);}
  .fdo .us h4{color:var(--green-dark);}
  .fdo p{font-size:12.5px;color:var(--sub);line-height:1.85;}
  .farrow{display:flex;flex-direction:column;align-items:center;gap:2px;padding:11px 0;color:var(--terra);}
  .farrow .icon{width:23px;height:23px;}
  @media(max-width:760px){
    .fstep{grid-template-columns:1fr;gap:14px;padding:22px 20px;border-left-width:6px;}
    .fno{display:flex;align-items:center;gap:12px;text-align:left;}
    .fno .n{font-size:30px;}
    .fno .tm{margin-top:0;}
    .fstep h3{font-size:17.5px;}
    .fdo{grid-template-columns:1fr;gap:9px;}
  }
  .after{background:var(--green-dark);color:#fff;border-radius:var(--r);padding:34px 40px;margin-top:22px;display:flex;align-items:center;gap:28px;}
  .after .ic{flex-shrink:0;width:64px;height:64px;border-radius:20px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;}
  .after .ic .icon{width:32px;height:32px;}
  .after h3{font-size:21px;font-weight:900;letter-spacing:.04em;margin-bottom:7px;}
  .after p{font-size:13.5px;opacity:.92;}
  .after a{display:inline-block;margin-top:10px;font-size:13px;font-weight:700;border-bottom:2px solid rgba(255,255,255,.5);padding-bottom:2px;}
  @media(max-width:760px){ .after{flex-direction:column;text-align:center;padding:26px 20px;gap:16px;} }

/* --- faq.html --- */
.fcat{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px;}
  .fcat a{display:inline-flex;align-items:center;gap:9px;background:#fff;border:2px solid var(--border);color:var(--sub);font-size:13.5px;font-weight:700;letter-spacing:.04em;padding:10px 22px;border-radius:999px;transition:.2s;}
  .fcat a:hover{border-color:var(--terra);color:var(--terra-dark);}
  .fcat .icon{width:16px;height:16px;}
  .fgrp{margin-bottom:44px;scroll-margin-top:100px;}
  .fgrp:last-child{margin-bottom:0;}
  .fgrp>h2{display:flex;align-items:center;gap:13px;font-size:21px;font-weight:900;letter-spacing:.06em;margin-bottom:18px;padding-left:15px;border-left:5px solid var(--terra);}
  .fgrp>h2 .icon{width:22px;height:22px;color:var(--green-dark);}
  @media(max-width:640px){ .fgrp>h2{font-size:17px;} .fcat a{font-size:12px;padding:8px 16px;} }

/* --- warranty.html --- */
.wpolicy{background:#fff;border-radius:var(--r);padding:38px 44px;box-shadow:0 5px 16px rgba(74,63,53,.07);}
  .wpolicy h2{font-size:24px;font-weight:900;letter-spacing:.05em;line-height:1.65;margin-bottom:14px;}
  .wpolicy h2 .hl{background:linear-gradient(transparent 62%,#fbe3ba 62%);padding:0 3px;}
  .wpolicy p{font-size:14px;color:var(--sub);margin-bottom:16px;}
  .wpolicy p:last-child{margin-bottom:0;}
  .wpolicy .two{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px;}
  .wpolicy .two>div{background:var(--cream);border-radius:14px;padding:20px 24px;}
  .wpolicy .two h3{font-size:14.5px;font-weight:900;margin-bottom:7px;display:flex;align-items:center;gap:9px;letter-spacing:.04em;}
  .wpolicy .two h3 .icon{width:17px;height:17px;color:var(--green-dark);}
  .wpolicy .two p{font-size:12.5px;margin:0;}
  @media(max-width:820px){ .wpolicy{padding:26px 20px;} .wpolicy h2{font-size:19px;} .wpolicy .two{grid-template-columns:1fr;} }

  .wtable{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 5px 16px rgba(74,63,53,.07);}
  .wthd{display:grid;grid-template-columns:1fr 130px 1fr;gap:16px;padding:12px 26px;background:var(--text);color:#fff;font-size:11.5px;font-weight:700;letter-spacing:.08em;}
  .wthd span:nth-child(2){text-align:center;}
  .wtr{display:grid;grid-template-columns:1fr 130px 1fr;gap:16px;align-items:center;padding:15px 26px;border-bottom:2px dashed var(--border);}
  .wtr:last-child{border-bottom:0;}
  .wtr .nm{font-size:14.5px;font-weight:700;}
  .wtr .yr{text-align:center;font-family:var(--en);font-size:22px;font-weight:700;color:var(--terra-dark);line-height:1.4;}
  .wtr .yr em{font-family:var(--jp);font-style:normal;font-size:13px;font-weight:700;}
  .wtr .nt{font-size:12px;color:var(--sub);line-height:1.8;}
  @media(max-width:760px){
    .wthd{display:none;}
    .wtr{grid-template-columns:1fr auto;gap:3px 12px;padding:14px 18px;}
    .wtr .nm{font-size:14px;}
    .wtr .yr{font-size:19px;text-align:right;}
    .wtr .nt{grid-column:1/-1;}
  }

  .chk{background:var(--cream2);}
  .chk-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
  .chk-c{background:#fff;border-radius:16px;padding:24px 22px 20px;box-shadow:0 5px 16px rgba(74,63,53,.07);text-align:center;position:relative;}
  .chk-c .badge{width:56px;height:56px;margin:0 auto 12px;border-radius:50%;background:var(--green);color:#fff;font-family:var(--en);font-size:17px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 14px rgba(122,154,101,.32);line-height:1.2;}
  .chk-c:nth-child(4) .badge{background:var(--terra);box-shadow:0 6px 14px rgba(224,122,74,.32);}
  .chk-c h3{font-size:15px;font-weight:900;letter-spacing:.03em;margin-bottom:6px;}
  .chk-c p{font-size:12px;color:var(--sub);line-height:1.85;text-align:left;}
  @media(max-width:860px){ .chk-row{grid-template-columns:repeat(2,1fr);} }
  @media(max-width:520px){ .chk-row{grid-template-columns:1fr;} }

  /* メーカーの延長保証サービス（アフターサービス） */
  .wbrand-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
  .wbrand{background:#fff;border-radius:var(--r);padding:30px 30px 26px;box-shadow:0 5px 16px rgba(74,63,53,.07);border:1px solid var(--border);display:flex;flex-direction:column;}
  .wbrand-head{border-bottom:2px dashed var(--border);padding-bottom:16px;margin-bottom:18px;}
  .wbrand-kicker{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:900;letter-spacing:.05em;color:#fff;background:var(--green-dark);padding:5px 15px;border-radius:999px;margin-bottom:12px;}
  .wbrand-kicker .icon{width:14px;height:14px;}
  .wbrand-head h3{font-size:22px;font-weight:900;letter-spacing:.04em;line-height:1.4;}
  .wbrand-plans{background:var(--cream);border-radius:14px;padding:16px 18px;margin-bottom:18px;}
  .wbrand-lb{display:block;font-size:11.5px;font-weight:900;letter-spacing:.05em;color:var(--sub);margin-bottom:9px;}
  .wbrand-chips{display:flex;flex-wrap:wrap;gap:8px;}
  .wbrand-chips span{font-family:var(--en);font-weight:700;font-size:15px;color:var(--green-dark);background:#fff;border:1.5px solid var(--green);border-radius:10px;padding:6px 16px;}
  .wbrand-note{font-size:11.5px;color:var(--sub);margin-top:10px;line-height:1.7;}
  .wbrand-list{display:flex;flex-direction:column;gap:14px;}
  .wbrand-list>div{display:flex;flex-direction:column;gap:4px;}
  .wbrand-list dt{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:900;letter-spacing:.04em;color:var(--text);}
  .wbrand-list dt .icon{width:16px;height:16px;color:var(--green-dark);flex:0 0 auto;}
  .wbrand-list dd{font-size:13px;color:var(--sub);line-height:1.85;padding-left:24px;}
  @media(max-width:820px){ .wbrand-grid{grid-template-columns:1fr;gap:16px;} .wbrand{padding:26px 22px 22px;} .wbrand-head h3{font-size:20px;} }

  .emg{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
  .emg-c{background:#fff;border-radius:16px;padding:26px 26px 22px;box-shadow:0 5px 16px rgba(74,63,53,.07);}
  .emg-c .ic{width:46px;height:46px;border-radius:14px;background:var(--cream2);color:var(--terra-dark);display:flex;align-items:center;justify-content:center;margin-bottom:13px;}
  .emg-c .ic .icon{width:23px;height:23px;}
  .emg-c h3{font-size:16px;font-weight:900;letter-spacing:.04em;margin-bottom:7px;}
  .emg-c p{font-size:12.5px;color:var(--sub);}
  @media(max-width:860px){ .emg{grid-template-columns:1fr;} }

/* --- area.html --- */
.acity{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:26px;}
  .acity-c{background:#fff;border-radius:var(--r);padding:26px 30px 28px;box-shadow:0 5px 16px rgba(74,63,53,.07);border-top:6px solid var(--terra);}
  .acity-c:nth-child(2){border-top-color:var(--green);}
  .acity-c:nth-child(3){border-top-color:var(--amber);}
  .acity-c .lb{font-family:var(--en);font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--sub);}
  .acity-c h2{font-size:24px;font-weight:900;letter-spacing:.06em;margin-top:2px;}
  @media(max-width:900px){ .acity{grid-template-columns:1fr;gap:12px;} .acity-c{padding:24px 20px 20px;} }

  .aout{background:var(--cream2);border-radius:var(--r);padding:30px 36px;display:flex;align-items:flex-start;gap:20px;}
  .aout .ic{flex-shrink:0;width:50px;height:50px;border-radius:15px;background:#fff;color:var(--terra-dark);display:flex;align-items:center;justify-content:center;}
  .aout .ic .icon{width:25px;height:25px;}
  .aout h3{font-size:18px;font-weight:900;letter-spacing:.04em;margin-bottom:8px;}
  .aout p{font-size:13.5px;color:var(--sub);}
  @media(max-width:700px){ .aout{flex-direction:column;padding:24px 20px;gap:14px;} }

/* --- column.html --- */
.cchips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px;}
  .cchip{display:inline-flex;align-items:center;gap:8px;background:#fff;border:2px solid var(--border);color:var(--sub);font-size:13.5px;font-weight:700;letter-spacing:.04em;padding:9px 20px;border-radius:999px;cursor:pointer;transition:.2s;}
  .cchip .n{font-family:var(--en);font-size:11px;font-weight:700;color:var(--sub);background:var(--cream2);padding:1px 8px;border-radius:999px;transition:.2s;}
  .cchip:hover{border-color:var(--terra);color:var(--terra-dark);}
  .cchip.is-on{background:var(--terra);border-color:var(--terra);color:#fff;box-shadow:0 7px 16px rgba(224,122,74,.3);}
  .cchip.is-on .n{background:rgba(255,255,255,.28);color:#fff;}

  .cgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .ccard{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 5px 16px rgba(74,63,53,.07);transition:transform .25s,box-shadow .25s;display:flex;flex-direction:column;}
  .ccard:hover{transform:translateY(-5px);box-shadow:0 16px 32px rgba(74,63,53,.13);}
  .ccard.is-off{display:none;}
  .cphoto{aspect-ratio:1200/630;background:#cbbca8 center/cover no-repeat;position:relative;}
  .cphoto .tag{position:absolute;top:13px;left:13px;background:#fff;color:var(--green-dark);font-size:11px;font-weight:700;padding:4px 13px;border-radius:999px;}
  .cbody{padding:20px 22px 18px;display:flex;flex-direction:column;flex:1;}
  .cdate{font-family:var(--en);font-size:11.5px;font-weight:700;color:var(--sub);letter-spacing:.06em;margin-bottom:7px;}
  .ccard h2{font-size:16px;font-weight:900;line-height:1.75;margin-bottom:10px;}
  .cexc{font-size:12.5px;color:var(--sub);line-height:1.85;flex:1;}
  .cmore{margin-top:14px;padding-top:12px;border-top:2px dashed var(--border);font-size:12.5px;font-weight:700;color:var(--terra-dark);display:flex;align-items:center;justify-content:space-between;}
  .cmore .icon{width:15px;height:15px;}
  @media(max-width:980px){ .cgrid{grid-template-columns:repeat(2,1fr);gap:16px;} }
  @media(max-width:600px){ .cgrid{grid-template-columns:1fr;gap:14px;} .cchip{font-size:12px;padding:7px 15px;} }

/* --- column-01.html --- */
.amet{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;margin-top:18px;font-size:12.5px;color:var(--sub);}
  .amet .tag{background:#fff;color:var(--green-dark);font-weight:700;padding:4px 15px;border-radius:999px;}
  .amet span{display:inline-flex;align-items:center;gap:7px;}
  .amet .icon{width:15px;height:15px;color:var(--green-dark);}

  .ahero{border-radius:var(--r);overflow:hidden;box-shadow:0 8px 24px rgba(74,63,53,.12);margin-bottom:38px;}
  .ahero .ph{height:400px;background:#cbbca8 center/cover no-repeat;}
  @media(max-width:760px){ .ahero .ph{height:56vw;} .ahero{margin-bottom:26px;} }

  .toc{background:var(--cream2);border-radius:var(--r);padding:26px 32px;margin-bottom:40px;}
  .toc h2{font-size:15px;font-weight:900;letter-spacing:.06em;margin-bottom:12px;display:flex;align-items:center;gap:10px;}
  .toc h2 .icon{width:18px;height:18px;color:var(--green-dark);}
  .toc ol{counter-reset:t;}
  .toc li{counter-increment:t;margin-bottom:7px;}
  .toc li:last-child{margin-bottom:0;}
  .toc a{display:flex;gap:11px;font-size:13.5px;font-weight:700;transition:.2s;}
  .toc a::before{content:counter(t,decimal-leading-zero);font-family:var(--en);color:var(--terra);flex-shrink:0;}
  .toc a:hover{color:var(--terra-dark);}
  @media(max-width:760px){ .toc{padding:22px 20px;margin-bottom:30px;} .toc a{font-size:12.5px;} }

  .art h2{font-size:25px;font-weight:900;letter-spacing:.05em;line-height:1.65;margin:52px 0 18px;padding-left:16px;border-left:6px solid var(--terra);scroll-margin-top:100px;}
  .art h2:first-child{margin-top:0;}
  .art h3{font-size:19px;font-weight:900;letter-spacing:.04em;line-height:1.7;margin:34px 0 12px;}
  .art p{font-size:15px;margin-bottom:22px;}
  .art strong{font-weight:900;background:linear-gradient(transparent 62%,#fbe3ba 62%);padding:0 2px;}
  .art ul{margin:0 0 22px;}
  .art ul li{position:relative;padding-left:24px;font-size:14.5px;margin-bottom:8px;}
  .art ul li::before{content:"";position:absolute;left:4px;top:14px;width:8px;height:8px;border-radius:50%;background:var(--green);}
  .art .figure{margin:0 0 26px;border-radius:16px;overflow:hidden;box-shadow:0 5px 16px rgba(74,63,53,.08);}
  .art .figure .ph{height:280px;background:#cbbca8 center/cover no-repeat;}
  .art .figure figcaption{background:#fff;padding:13px 20px;font-size:12px;color:var(--sub);line-height:1.85;}
  .art .box{background:#fff;border:3px solid var(--cream2);border-radius:16px;padding:24px 30px;margin:0 0 26px;}
  .art .box h4{font-size:15.5px;font-weight:900;letter-spacing:.04em;margin-bottom:10px;display:flex;align-items:center;gap:10px;}
  .art .box h4 .icon{width:19px;height:19px;color:var(--terra);}
  .art .box p{font-size:13.5px;color:var(--sub);margin:0;}
  .art .ptable2{width:100%;border-collapse:collapse;margin:0 0 26px;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 5px 16px rgba(74,63,53,.07);}
  .art .ptable2 th{background:var(--text);color:#fff;font-size:12.5px;font-weight:700;letter-spacing:.06em;padding:12px 18px;text-align:left;}
  .art .ptable2 td{padding:13px 18px;font-size:14px;border-bottom:2px dashed var(--border);}
  .art .ptable2 tr:last-child td{border-bottom:0;}
  .art .ptable2 td:last-child{font-family:var(--en);font-weight:700;color:var(--terra-dark);white-space:nowrap;}
  @media(max-width:760px){
    .art h2{font-size:19px;margin:38px 0 14px;}
    .art h3{font-size:16.5px;}
    .art p{font-size:14px;margin-bottom:18px;}
    .art .figure .ph{height:52vw;}
    .art .box{padding:20px 18px;}
    .art .ptable2 th,.art .ptable2 td{padding:10px 12px;font-size:13px;}
  }

  .awriter{display:flex;gap:22px;align-items:flex-start;background:#fff;border-radius:var(--r);padding:30px 34px;box-shadow:0 5px 16px rgba(74,63,53,.07);margin-top:48px;}
  .awriter .av{width:78px;height:78px;border-radius:18px;background:#cbbca8 center/cover no-repeat;flex-shrink:0;}
  .awriter .lb{font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--terra);}
  .awriter h3{font-size:16px;font-weight:900;letter-spacing:.04em;margin:2px 0 9px;}
  .awriter h3 small{font-size:11.5px;color:var(--sub);font-weight:500;margin-left:8px;}
  .awriter p{font-size:13px;color:var(--sub);}
  @media(max-width:640px){ .awriter{flex-direction:column;gap:14px;padding:24px 20px;} .awriter .av{width:62px;height:62px;} }

  .rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  .rel-card{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 5px 16px rgba(74,63,53,.07);transition:transform .25s,box-shadow .25s;display:flex;flex-direction:column;}
  .rel-card:hover{transform:translateY(-5px);box-shadow:0 16px 32px rgba(74,63,53,.13);}
  .rel-card .ph{height:160px;background:#cbbca8 center/cover no-repeat;}
  .rel-card .bd{padding:18px 20px 16px;display:flex;flex-direction:column;flex:1;}
  .rel-card .dt{font-family:var(--en);font-size:11.5px;font-weight:700;color:var(--sub);margin-bottom:6px;}
  .rel-card h3{font-size:14.5px;font-weight:900;line-height:1.8;}
  @media(max-width:900px){ .rel-grid{grid-template-columns:1fr;gap:14px;} .rel-card .ph{height:44vw;} }

/* --- contact.html --- */
/* 相談方法の3カード */
  .ways{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:26px;}
  .way{background:#fff;border-radius:var(--r);padding:28px 26px 24px;box-shadow:0 5px 16px rgba(74,63,53,.07);border:2px solid transparent;transition:.22s;display:flex;flex-direction:column;}
  .way:hover{border-color:var(--terra);transform:translateY(-4px);box-shadow:0 14px 28px rgba(74,63,53,.13);}
  .way .ic{width:50px;height:50px;border-radius:15px;display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:14px;}
  .way .ic .icon{width:25px;height:25px;}
  .w-tel .ic{background:var(--green-dark);} .w-line .ic{background:var(--line);} .w-form .ic{background:var(--terra);}
  .way h2{font-size:18px;font-weight:900;letter-spacing:.04em;margin-bottom:6px;}
  .way .big{font-family:var(--en);font-size:27px;font-weight:700;color:var(--terra-dark);line-height:1.4;letter-spacing:.02em;}
  .way p{font-size:12.5px;color:var(--sub);line-height:1.85;flex:1;margin-top:4px;}
  .way .for{margin-top:14px;padding-top:12px;border-top:2px dashed var(--border);font-size:11.5px;color:var(--green-dark);font-weight:700;}
  @media(max-width:860px){ .ways{grid-template-columns:1fr;gap:12px;} .way{padding:22px 20px 20px;} }

  /* お約束 */
  .promise{background:var(--cream2);border-radius:var(--r);padding:30px 34px;}
  .promise h2{font-size:18px;font-weight:900;letter-spacing:.05em;margin-bottom:16px;display:flex;align-items:center;gap:11px;}
  .promise h2 .icon{width:22px;height:22px;color:var(--green-dark);}
  .promise ul{display:grid;grid-template-columns:repeat(2,1fr);gap:11px;}
  .promise li{display:flex;align-items:flex-start;gap:11px;background:#fff;border-radius:13px;padding:14px 18px;font-size:13.5px;font-weight:700;line-height:1.75;}
  .promise li .icon{width:17px;height:17px;color:var(--green);flex-shrink:0;margin-top:7px;stroke-width:2.6;}
  @media(max-width:760px){ .promise{padding:24px 20px;} .promise ul{grid-template-columns:1fr;} .promise li{font-size:12.5px;padding:12px 15px;} }

  /* フォーム */
  .fwrap{background:#fff;border-radius:var(--r);padding:44px 52px;box-shadow:0 5px 16px rgba(74,63,53,.07);}
  .frow{margin-bottom:26px;}
  .frow:last-of-type{margin-bottom:0;}
  .flabel{display:flex;align-items:center;gap:10px;font-size:14.5px;font-weight:900;letter-spacing:.04em;margin-bottom:9px;}
  .req,.opt{font-size:10.5px;font-weight:700;color:#fff;padding:2px 10px;border-radius:999px;letter-spacing:.06em;}
  .req{background:var(--terra);}
  .opt{background:#c3b6a8;}
  .fhint{font-size:11.5px;color:var(--sub);margin:-4px 0 9px;line-height:1.8;}
  .fwrap input[type=text],.fwrap input[type=tel],.fwrap input[type=email],.fwrap textarea{width:100%;font-family:inherit;font-size:15px;color:var(--text);background:var(--cream);border:2px solid var(--border);border-radius:12px;padding:13px 16px;letter-spacing:.03em;transition:.2s;}
  .fwrap textarea{line-height:1.9;resize:vertical;min-height:150px;}
  .fwrap input:focus,.fwrap textarea:focus{outline:none;border-color:var(--terra);background:#fff;}
  .fwrap input::placeholder,.fwrap textarea::placeholder{color:#bfb2a4;}
  .fcols{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
  .fradio{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
  .fradio label{display:flex;align-items:center;gap:11px;background:var(--cream);border:2px solid var(--border);border-radius:12px;padding:13px 18px;cursor:pointer;font-size:14px;font-weight:700;line-height:1.6;transition:.2s;}
  .fradio label:hover{border-color:var(--terra);}
  .fradio input{accent-color:var(--terra);width:18px;height:18px;flex-shrink:0;}
  .fradio input:checked+span{color:var(--terra-dark);}
  .fagree{background:var(--cream);border-radius:14px;padding:20px 24px;margin-top:30px;}
  .fagree label{display:flex;align-items:flex-start;gap:12px;font-size:13.5px;font-weight:700;cursor:pointer;line-height:1.85;}
  .fagree input{accent-color:var(--terra);width:19px;height:19px;flex-shrink:0;margin-top:8px;}
  .fagree a{color:var(--terra-dark);text-decoration:underline;}
  .fsubmit{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;max-width:420px;margin:26px auto 0;background:var(--terra);color:#fff;font-family:inherit;font-size:16px;font-weight:700;letter-spacing:.08em;padding:19px 30px;border:0;border-radius:999px;cursor:pointer;box-shadow:0 10px 24px rgba(224,122,74,.34);transition:.22s;}
  .fsubmit:hover{background:var(--terra-dark);transform:translateY(-2px);}
  .fnote{margin-top:16px;text-align:center;font-size:12px;color:var(--sub);line-height:1.9;}
  @media(max-width:760px){
    .fwrap{padding:26px 20px;border-radius:16px;}
    .fcols{grid-template-columns:1fr;gap:26px;}
    .fradio{grid-template-columns:1fr;}
    .frow{margin-bottom:22px;}
  }

/* --- contact-thanks.html --- */
.thanks{text-align:center;padding-top:20px;}
  .thanks .mark{width:96px;height:96px;margin:0 auto 26px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 28px rgba(122,154,101,.35);}
  .thanks .mark .icon{width:46px;height:46px;stroke-width:2.6;}
  .thanks h1{font-size:32px;font-weight:900;letter-spacing:.05em;line-height:1.6;margin-bottom:16px;}
  .thanks .lead{font-size:14.5px;color:var(--sub);max-width:640px;margin:0 auto 34px;}
  .tbox{background:#fff;border-radius:var(--r);padding:30px 36px;box-shadow:0 5px 16px rgba(74,63,53,.07);max-width:640px;margin:0 auto;text-align:left;}
  .tbox h2{font-size:16px;font-weight:900;letter-spacing:.04em;margin-bottom:12px;display:flex;align-items:center;gap:10px;}
  .tbox h2 .icon{width:19px;height:19px;color:var(--green-dark);}
  .tbox p{font-size:13.5px;color:var(--sub);}
  .tbox .tel{display:inline-flex;align-items:center;gap:10px;margin-top:14px;font-family:var(--en);font-size:24px;font-weight:700;color:var(--terra-dark);}
  .tbox .tel .icon{width:22px;height:22px;}
  .tnext{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:820px;margin:36px auto 0;}
  .tnext a{background:#fff;border:2px solid var(--border);border-radius:16px;padding:20px 18px;font-size:14px;font-weight:700;transition:.22s;display:flex;flex-direction:column;align-items:center;gap:8px;}
  .tnext a:hover{border-color:var(--terra);color:var(--terra-dark);transform:translateY(-3px);}
  .tnext .icon{width:24px;height:24px;color:var(--green-dark);}
  @media(max-width:760px){
    .thanks h1{font-size:23px;}
    .thanks .mark{width:76px;height:76px;}
    .thanks .mark .icon{width:36px;height:36px;}
    .tbox{padding:24px 20px;}
    .tnext{grid-template-columns:1fr;gap:10px;}
    .tnext a{flex-direction:row;justify-content:center;}
  }

/* --- privacy.html --- */
.legal{background:#fff;border-radius:var(--r);padding:48px 56px;box-shadow:0 5px 16px rgba(74,63,53,.07);}
  .legal>p{font-size:14px;color:var(--sub);margin-bottom:34px;}
  .legal h2{font-size:18px;font-weight:900;letter-spacing:.05em;line-height:1.7;margin:34px 0 12px;padding-left:15px;border-left:5px solid var(--terra);}
  .legal h2:first-of-type{margin-top:0;}
  .legal p,.legal li{font-size:13.5px;color:var(--sub);}
  .legal ol{margin:10px 0 0 22px;}
  .legal ol li{list-style:decimal;margin-bottom:5px;padding-left:4px;}
  .legal .rev{margin-top:40px;padding-top:22px;border-top:2px dashed var(--border);font-size:12.5px;color:var(--sub);text-align:right;}
  @media(max-width:760px){ .legal{padding:26px 20px;border-radius:16px;} .legal h2{font-size:16px;} }

/* --- reform.html --- */
.mfilter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px;}
  .mchip{display:inline-flex;align-items:center;gap:8px;background:#fff;border:2px solid var(--border);color:var(--sub);font-size:13.5px;font-weight:700;letter-spacing:.04em;padding:9px 20px;border-radius:999px;cursor:pointer;transition:.2s;}
  .mchip .n{font-family:var(--en);font-size:11px;font-weight:700;color:var(--sub);background:var(--cream2);padding:1px 8px;border-radius:999px;transition:.2s;}
  .mchip:hover{border-color:var(--terra);color:var(--terra-dark);}
  .mchip.is-on{background:var(--terra);border-color:var(--terra);color:#fff;box-shadow:0 7px 16px rgba(224,122,74,.3);}
  .mchip.is-on .n{background:rgba(255,255,255,.28);color:#fff;}

  .mgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
  .mhead{grid-column:1/-1;display:flex;align-items:center;gap:13px;margin:20px 2px 0;}
  .mhead:first-child{margin-top:0;}
  .mhead::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--terra);flex-shrink:0;}
  .mhead:nth-of-type(2n)::before{background:var(--green);}
  .mhead::after{content:"";flex:1;height:2px;background:var(--border);border-radius:2px;}
  .mh-t{font-size:16.5px;font-weight:900;letter-spacing:.08em;white-space:nowrap;}
  .mh-s{font-size:12px;font-weight:400;color:var(--sub);white-space:nowrap;}
  .mhead.is-off{display:none;}
  .mcard{position:relative;display:flex;flex-direction:column;background:#fff;border-radius:18px;padding:24px 22px 18px;box-shadow:0 5px 16px rgba(74,63,53,.07);border:2px solid transparent;transition:transform .22s,box-shadow .22s,border-color .22s;}
  .mcard:hover{transform:translateY(-4px);border-color:var(--terra);box-shadow:0 14px 28px rgba(74,63,53,.13);}
  .mcard.is-off{display:none;}
  .mc-ic{width:52px;height:52px;border-radius:15px;background:var(--cream2);color:var(--green-dark);display:flex;align-items:center;justify-content:center;margin-bottom:14px;transition:.22s;}
  .mc-ic .icon{width:27px;height:27px;}
  .mcard:hover .mc-ic{background:var(--terra);color:#fff;}
  .mc-badge{position:absolute;top:15px;right:15px;background:var(--terra);color:#fff;font-size:10.5px;font-weight:700;letter-spacing:.06em;padding:3px 11px;border-radius:999px;line-height:1.7;}
  .mc-badge.now{background:var(--amber);}
  .mc-badge.sub{background:var(--green);}
  .mcard h3{font-size:16.5px;font-weight:900;letter-spacing:.03em;line-height:1.6;margin-bottom:6px;}
  .mc-desc{font-size:12px;color:var(--sub);line-height:1.8;margin-bottom:16px;flex:1;}
  .mc-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;border-top:2px dashed var(--border);padding-top:13px;}
  .mc-price{font-size:10.5px;color:var(--sub);line-height:1.6;}
  .mc-price b{display:block;font-family:var(--en);font-size:22px;font-weight:700;color:var(--terra-dark);letter-spacing:0;line-height:1.3;}
  .mc-price b em{font-family:var(--jp);font-style:normal;font-size:12px;font-weight:700;margin-left:1px;}
  .mc-term{font-size:11px;color:var(--sub);background:var(--cream);padding:3px 11px;border-radius:999px;white-space:nowrap;}
  .mnote{margin-top:26px;background:#fff;border:2px dashed var(--border);border-radius:18px;padding:22px 28px;display:flex;align-items:center;justify-content:space-between;gap:22px;}
  .mnote p{font-size:13px;color:var(--sub);}
  .mnote p b{display:block;font-size:15px;color:var(--text);font-weight:900;}
  .mnote-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:9px;background:var(--green);color:#fff;font-size:13.5px;font-weight:700;letter-spacing:.05em;padding:14px 32px;border-radius:999px;transition:.2s;}
  .mnote-btn:hover{background:var(--green-dark);}
  @media(max-width:1040px){ .mgrid{grid-template-columns:repeat(3,1fr);} }
  @media(max-width:760px){
    .mfilter{gap:8px;margin-bottom:18px;}
    .mchip{font-size:12px;padding:7px 15px;gap:6px;}
    .mgrid{grid-template-columns:repeat(2,1fr);gap:12px;}
    .mcard{padding:18px 15px 14px;border-radius:16px;}
    .mc-ic{width:44px;height:44px;border-radius:13px;margin-bottom:11px;}
    .mc-ic .icon{width:23px;height:23px;}
    .mc-badge{top:10px;right:10px;font-size:9.5px;padding:2px 8px;}
    .mcard h3{font-size:14.5px;}
    .mc-desc{font-size:11px;line-height:1.75;margin-bottom:12px;}
    .mc-foot{flex-direction:column;align-items:flex-start;gap:7px;}
    .mc-price b{font-size:19px;}
    .mhead{gap:10px;margin-top:14px;}
    .mh-t{font-size:14.5px;}
    .mh-s{display:none;}
    .mnote{flex-direction:column;text-align:center;padding:22px 20px;}
    .mnote-btn{width:100%;justify-content:center;}
  }

/* --- reform-gaiheki.html --- */
/* ==================================================================
     [テンプレ固有] WordPress では single-reform.php + reform.css へ
     ================================================================== */

  /* ----- 1. FV ----- */
  .pfv{background:var(--cream2);padding:0;overflow:hidden;}
  /* 写真だけ画面右端まで抜く（左のテキストは .inner の左端に揃える） */
  .pfv-grid{display:grid;grid-template-columns:1fr 44%;align-items:stretch;margin-right:calc(-50vw + 50%);}
  .pfv-body{padding:40px 56px 52px 0;width:100%;}
  .crumb{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:11.5px;color:var(--sub);margin-bottom:26px;}
  .crumb a:hover{color:var(--terra-dark);text-decoration:underline;}
  .crumb .icon{width:13px;height:13px;opacity:.55;}
  .crumb b{font-weight:500;color:var(--text);}
  .pfv-cat{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--green-dark);font-size:12px;font-weight:700;letter-spacing:.08em;padding:6px 18px;border-radius:999px;margin-bottom:16px;}
  .pfv-cat .icon{width:15px;height:15px;}
  .pfv h1{font-size:42px;font-weight:900;letter-spacing:.04em;line-height:1.45;margin-bottom:6px;}
  .pfv h1 .sm{display:block;font-size:15px;font-weight:700;letter-spacing:.1em;color:var(--terra);margin-bottom:10px;}
  .pfv-lead{font-size:14.5px;color:var(--sub);margin:18px 0 26px;}
  .pfv-spec{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:#fff;border-radius:16px;padding:20px 8px;margin-bottom:24px;box-shadow:0 5px 16px rgba(74,63,53,.07);}
  .pfv-spec li{text-align:center;position:relative;}
  .pfv-spec li+li::before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;background:var(--border);border-radius:2px;}
  .pfv-spec .ttl{display:flex;align-items:center;justify-content:center;gap:5px;font-size:11px;color:var(--sub);line-height:1.6;}
  .pfv-spec .ttl .icon{width:13px;height:13px;color:var(--green);}
  .pfv-spec b{display:block;font-family:var(--en);font-size:26px;font-weight:700;color:var(--terra-dark);line-height:1.35;letter-spacing:0;}
  .pfv-spec b em{font-family:var(--jp);font-style:normal;font-size:13px;font-weight:700;margin-left:1px;}
  .pfv-btns{display:flex;flex-wrap:wrap;gap:12px;}
  .btn-p{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--terra);color:#fff;font-size:14.5px;font-weight:700;letter-spacing:.06em;padding:16px 34px;border-radius:999px;box-shadow:0 8px 20px rgba(224,122,74,.32);transition:.22s;}
  .btn-p:hover{background:var(--terra-dark);transform:translateY(-2px);}
  .btn-s{display:inline-flex;align-items:center;gap:11px;background:#fff;border:2px solid var(--border);color:var(--text);font-size:13px;font-weight:700;padding:11px 26px;border-radius:999px;line-height:1.4;transition:.22s;}
  .btn-s:hover{border-color:var(--green);color:var(--green-dark);}
  .btn-s strong{font-family:var(--en);font-size:21px;letter-spacing:.03em;}
  .btn-s .icon{width:19px;height:19px;color:var(--green-dark);}
  .pfv-photo{background:#cbbca8 center/cover no-repeat;min-height:480px;position:relative;}
  .pfv-photo .note{position:absolute;right:14px;bottom:12px;font-size:10.5px;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.55);}
  @media(max-width:1000px){
    .pfv-grid{grid-template-columns:1fr;margin-right:0;}
    .pfv-body{padding:28px 0 44px;}
    .pfv-photo{min-height:0;height:52vw;order:-1;margin:0 -24px;}
    .pfv h1{font-size:31px;}
  }
  @media(max-width:560px){
    .pfv h1{font-size:26px;}
    .pfv-spec{grid-template-columns:1fr;gap:14px;padding:18px 14px;}
    .pfv-spec li+li::before{left:14px;right:14px;top:-7px;bottom:auto;width:auto;height:2px;}
    .pfv-spec .ttl{justify-content:flex-start;}
    .pfv-spec li{display:flex;align-items:baseline;justify-content:space-between;text-align:left;}
    .btn-p,.btn-s{width:100%;}
  }

  /* ----- 2. お悩み ----- */
  .worry{background:var(--cream);}
  .worry-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
  .worry-list li{display:flex;align-items:flex-start;gap:14px;background:#fff;border-radius:16px;padding:20px 24px;box-shadow:0 4px 14px rgba(74,63,53,.06);font-size:15px;font-weight:700;line-height:1.75;}
  .worry-list .chk{flex-shrink:0;width:26px;height:26px;margin-top:3px;border-radius:8px;background:var(--cream2);color:var(--terra);display:flex;align-items:center;justify-content:center;}
  .worry-list .chk .icon{width:16px;height:16px;stroke-width:2.6;}
  .worry-end{margin-top:30px;text-align:center;font-size:19px;font-weight:900;letter-spacing:.05em;line-height:1.9;}
  .worry-end .mk{background:linear-gradient(transparent 62%,#fbe3ba 62%);padding:0 3px;}
  .worry-end small{display:block;font-size:13.5px;font-weight:400;color:var(--sub);margin-top:8px;letter-spacing:.03em;}
  @media(max-width:760px){
    .worry-list{grid-template-columns:1fr;gap:10px;}
    .worry-list li{padding:15px 17px;font-size:13.5px;gap:11px;}
    .worry-end{font-size:16px;}
  }

  /* ----- 3. 放置リスク ----- */
  .risk{background:var(--cream2);}
  .risk-flow{display:flex;flex-direction:column;}
  .risk-step{display:grid;grid-template-columns:112px 1fr;gap:26px;background:#fff;border-radius:var(--r);padding:30px 34px;box-shadow:0 5px 16px rgba(74,63,53,.07);border-left:7px solid var(--green);}
  .risk-step.lv2{border-left-color:var(--amber);}
  .risk-step.lv3{border-left-color:var(--terra-dark);}
  .risk-when{text-align:center;}
  .risk-when .st{font-family:var(--en);font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--sub);}
  .risk-when .yr{display:block;font-size:15.5px;font-weight:900;color:var(--green-dark);line-height:1.6;margin-top:2px;}
  .risk-step.lv2 .risk-when .yr{color:#b7822c;}
  .risk-step.lv3 .risk-when .yr{color:var(--terra-dark);}
  .risk-when .bar{display:block;width:40px;height:4px;border-radius:2px;background:var(--green);margin:10px auto 0;}
  .risk-step.lv2 .risk-when .bar{background:var(--amber);width:60px;}
  .risk-step.lv3 .risk-when .bar{background:var(--terra-dark);width:80px;}
  .risk-step h3{font-size:20px;font-weight:900;letter-spacing:.04em;line-height:1.65;margin-bottom:10px;}
  .risk-step h3 .icon{width:20px;height:20px;color:var(--amber);margin-right:7px;}
  .risk-step.lv3 h3 .icon{color:var(--terra-dark);}
  .risk-step p{font-size:13.5px;color:var(--sub);}
  .risk-cost{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:16px;background:var(--cream);border-radius:13px;padding:13px 20px;}
  .risk-cost .lb{font-size:12px;color:var(--sub);}
  .risk-cost .lb b{display:block;font-size:14px;color:var(--text);font-weight:900;}
  .risk-cost .amt{font-family:var(--en);font-size:27px;font-weight:700;color:var(--green-dark);letter-spacing:0;line-height:1.3;}
  .risk-step.lv2 .risk-cost .amt{font-size:31px;color:#b7822c;}
  .risk-step.lv3 .risk-cost .amt{font-size:36px;color:var(--terra-dark);}
  .risk-cost .amt em{font-family:var(--jp);font-style:normal;font-size:14px;font-weight:700;margin-left:1px;}
  .risk-arrow{display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 0;color:var(--terra);}
  .risk-arrow .icon{width:24px;height:24px;}
  .risk-arrow span{font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--sub);}
  .risk-end{margin-top:34px;background:#fff;border:3px solid var(--terra);border-radius:var(--r);padding:34px 40px;text-align:center;}
  .risk-end h3{font-size:26px;font-weight:900;letter-spacing:.05em;line-height:1.6;margin-bottom:14px;}
  .risk-end h3 .hl{color:var(--terra-dark);}
  .risk-end p{font-size:14px;color:var(--sub);max-width:720px;margin:0 auto;}
  @media(max-width:760px){
    .risk-step{grid-template-columns:1fr;gap:14px;padding:22px 20px;border-left-width:6px;}
    .risk-when{display:flex;align-items:center;gap:10px;text-align:left;}
    .risk-when .yr{margin-top:0;}
    .risk-when .bar{margin:0;}
    .risk-step h3{font-size:16.5px;}
    .risk-cost{flex-direction:column;align-items:flex-start;gap:4px;padding:13px 16px;}
    .risk-step.lv3 .risk-cost .amt{font-size:30px;}
    .risk-end{padding:26px 20px;}
    .risk-end h3{font-size:20px;}
  }

  /* ----- 4. メリット ----- */
  .merit{background:var(--cream);}
  .merit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
  .merit-card{position:relative;background:#fff;border-radius:var(--r);padding:34px 34px 30px;box-shadow:0 5px 16px rgba(74,63,53,.07);overflow:hidden;}
  .merit-card .bignum{position:absolute;top:-16px;right:8px;font-family:var(--en);font-size:92px;font-weight:700;color:var(--cream2);line-height:1;z-index:0;}
  .merit-card .ic{position:relative;z-index:1;width:54px;height:54px;border-radius:16px;background:var(--cream2);color:var(--green-dark);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
  .merit-card:nth-child(2n) .ic{color:var(--terra-dark);}
  .merit-card .ic .icon{width:27px;height:27px;}
  .merit-card h3{position:relative;z-index:1;font-size:19px;font-weight:900;letter-spacing:.04em;line-height:1.65;margin-bottom:10px;}
  .merit-card p{position:relative;z-index:1;font-size:13.5px;color:var(--sub);}
  @media(max-width:860px){ .merit-grid{grid-template-columns:1fr;} .merit-card{padding:26px 22px 24px;} .merit-card h3{font-size:17px;} }

  /* ----- 5. 料金の目安 ----- */
  .price{background:var(--cream2);}
  .plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:start;}
  .plan{position:relative;background:#fff;border-radius:var(--r);padding:32px 26px 26px;box-shadow:0 5px 16px rgba(74,63,53,.07);border:3px solid transparent;}
  .plan.reco{border-color:var(--terra);box-shadow:0 12px 28px rgba(224,122,74,.18);}
  .plan .tag{position:absolute;top:-15px;left:50%;transform:translateX(-50%);background:var(--terra);color:#fff;font-size:11.5px;font-weight:700;letter-spacing:.1em;padding:4px 20px;border-radius:999px;white-space:nowrap;box-shadow:0 5px 12px rgba(224,122,74,.34);}
  .plan h3{font-size:19px;font-weight:900;letter-spacing:.04em;line-height:1.6;margin-bottom:8px;}
  .plan .life{display:inline-block;font-size:11.5px;font-weight:700;color:var(--green-dark);background:#f0f4ea;padding:2px 13px;border-radius:999px;margin-bottom:14px;}
  .plan .amt{font-family:var(--en);font-size:34px;font-weight:700;color:var(--terra-dark);line-height:1.25;letter-spacing:0;}
  .plan .amt em{font-family:var(--jp);font-style:normal;font-size:15px;font-weight:700;margin-left:1px;}
  .plan .unit{font-size:11px;color:var(--sub);margin-bottom:16px;line-height:1.7;}
  .plan .for{border-top:2px dashed var(--border);padding-top:14px;font-size:13px;color:var(--sub);}
  .plan .for b{display:block;color:var(--text);font-size:13.5px;font-weight:900;margin-bottom:3px;}
  .price-note{margin-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  .price-note>div{background:#fff;border-radius:16px;padding:24px 28px;}
  .price-note h4{font-size:14.5px;font-weight:900;margin-bottom:10px;display:flex;align-items:center;gap:9px;letter-spacing:.04em;}
  .price-note h4 .icon{width:18px;height:18px;stroke-width:2.6;}
  .price-note .inc h4{color:var(--green-dark);}
  .price-note .exc h4{color:var(--terra-dark);}
  .price-note p{font-size:12.5px;color:var(--sub);}
  .price-note small{display:block;margin-top:8px;font-size:11.5px;color:var(--sub);opacity:.85;}
  @media(max-width:920px){
    .plan-grid{grid-template-columns:1fr;gap:26px;}
    .price-note{grid-template-columns:1fr;gap:12px;}
    .plan{padding:26px 22px 22px;}
  }

  /* ----- 7. 施工事例（横スクロール） ----- */
  .cases-scroller{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 6px 22px;margin:0 -6px;-webkit-overflow-scrolling:touch;}
  .cases-scroller::-webkit-scrollbar{height:8px;}
  .cases-scroller::-webkit-scrollbar-track{background:var(--cream2);border-radius:4px;}
  .cases-scroller::-webkit-scrollbar-thumb{background:var(--terra);border-radius:4px;}
  .case-card{flex:0 0 min(340px,80vw);scroll-snap-align:start;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 6px 18px rgba(74,63,53,.07);transition:transform .25s;}
  .case-card:hover{transform:translateY(-5px);}
  .case-photo{height:198px;background:#cbbca8 center/cover no-repeat;position:relative;}
  .case-photo .ba{position:absolute;top:14px;left:14px;background:#fff;color:var(--terra-dark);font-family:var(--en);font-size:10px;font-weight:700;letter-spacing:.1em;padding:5px 14px;border-radius:999px;}
  .case-body{padding:22px 24px;}
  .case-body h3{font-size:15.5px;font-weight:900;line-height:1.8;margin-bottom:12px;}
  .case-data{display:flex;justify-content:space-between;align-items:center;border-top:2px dashed var(--border);padding-top:14px;font-size:11.5px;color:var(--sub);gap:10px;}
  .case-data b{font-size:17px;color:var(--terra-dark);font-weight:900;white-space:nowrap;}
  .scroll-hint{font-size:11px;color:var(--sub);text-align:right;margin-top:2px;}
  .btn-more{display:flex;align-items:center;justify-content:center;gap:10px;width:fit-content;margin:34px auto 0;background:var(--terra);color:#fff;padding:16px 56px;font-size:14.5px;font-weight:700;letter-spacing:.1em;border-radius:999px;box-shadow:0 8px 20px rgba(224,122,74,.32);transition:.25s;}
  .btn-more:hover{background:var(--terra-dark);transform:translateY(-2px);}

  /* ----- 8. 工事の流れ ----- */
  .steps{background:var(--cream2);}
  .step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
  .step-c{position:relative;background:#fff;border-radius:16px;padding:24px 20px 20px;box-shadow:0 5px 16px rgba(74,63,53,.07);}
  .step-c .no{font-family:var(--en);font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--terra);}
  .step-c .day{position:absolute;top:20px;right:18px;font-size:10.5px;font-weight:700;color:var(--green-dark);background:#f0f4ea;padding:2px 10px;border-radius:999px;}
  .step-c h3{font-size:15.5px;font-weight:900;letter-spacing:.03em;line-height:1.6;margin:4px 0 7px;}
  .step-c p{font-size:12px;color:var(--sub);line-height:1.85;}
  .steps-end{margin-top:22px;background:#fff;border-radius:16px;padding:22px 28px;font-size:13px;color:var(--sub);display:flex;align-items:flex-start;gap:13px;}
  .steps-end .icon{width:19px;height:19px;color:var(--green-dark);flex-shrink:0;margin-top:7px;}
  .steps-end b{color:var(--text);font-weight:900;}
  @media(max-width:960px){ .step-grid{grid-template-columns:repeat(2,1fr);} }
  @media(max-width:520px){ .step-grid{grid-template-columns:1fr;gap:10px;} .step-c{padding:18px 18px 16px;} }

  /* ----- 9. FAQ ----- */
  .faq{background:var(--cream);}
  .faq-list{display:flex;flex-direction:column;gap:12px;}
  .faq details{background:#fff;border-radius:16px;box-shadow:0 4px 14px rgba(74,63,53,.06);overflow:hidden;}
  .faq summary{display:flex;align-items:flex-start;gap:14px;padding:20px 26px;cursor:pointer;font-size:15.5px;font-weight:900;letter-spacing:.03em;line-height:1.75;list-style:none;}
  .faq summary::-webkit-details-marker{display:none;}
  .faq summary:hover{background:#fffaf2;}
  .faq .qa{flex-shrink:0;width:26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:var(--en);font-size:13px;font-weight:700;margin-top:3px;}
  .faq summary .qa{background:var(--terra);color:#fff;}
  .faq .a .qa{background:var(--cream2);color:var(--green-dark);}
  .faq .mk{margin-left:auto;flex-shrink:0;position:relative;width:24px;height:24px;border-radius:50%;background:var(--cream2);margin-top:4px;}
  .faq .mk::before,.faq .mk::after{content:"";position:absolute;left:50%;top:50%;background:var(--terra);border-radius:2px;}
  .faq .mk::before{width:11px;height:2px;transform:translate(-50%,-50%);}
  .faq .mk::after{width:2px;height:11px;transform:translate(-50%,-50%);transition:transform .25s;}
  .faq details[open] .mk::after{transform:translate(-50%,-50%) scaleY(0);}
  .faq .a{display:flex;gap:14px;padding:0 26px 24px;}
  .faq .a p{font-size:13.5px;color:var(--sub);padding-top:2px;}
  @media(max-width:640px){
    .faq summary{padding:16px 18px;font-size:14px;gap:11px;}
    .faq .a{padding:0 18px 20px;gap:11px;}
    .faq .a p{font-size:12.5px;}
  }
  /* トップ／よくある質問ページ（.faq-wrap）：Qバッジの潰れと下矢印の文字かぶりを防ぐ */
  .faq-wrap summary{align-items:center;padding-right:58px;}
  .faq-wrap summary::before{flex-shrink:0;margin-right:0;}
  .faq-wrap summary::after{right:24px;}
  @media(max-width:640px){
    .faq-wrap summary{padding-right:46px;}
    .faq-wrap summary::before{width:28px;height:28px;font-size:13px;}
    .faq-wrap summary::after{right:20px;}
  }

  /* ----- 10. 関連メニュー ----- */
  .rel{background:var(--cream2);}
  .rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
  .rel-card{display:flex;align-items:center;gap:18px;background:#fff;border-radius:18px;padding:22px 24px;box-shadow:0 5px 16px rgba(74,63,53,.07);border:2px solid transparent;transition:.22s;}
  .rel-card:hover{transform:translateY(-4px);border-color:var(--terra);box-shadow:0 14px 28px rgba(74,63,53,.13);}
  .rel-card .ic{flex-shrink:0;width:52px;height:52px;border-radius:15px;background:var(--cream2);color:var(--green-dark);display:flex;align-items:center;justify-content:center;transition:.22s;}
  .rel-card:hover .ic{background:var(--terra);color:#fff;}
  .rel-card .ic .icon{width:27px;height:27px;}
  .rel-card h3{font-size:16px;font-weight:900;letter-spacing:.03em;line-height:1.6;margin-bottom:2px;}
  .rel-card .p{font-size:11.5px;color:var(--sub);}
  .rel-card .p b{font-family:var(--en);font-size:16px;color:var(--terra-dark);font-weight:700;}
  @media(max-width:860px){ .rel-grid{grid-template-columns:1fr;gap:11px;} }

  /* ----- 11. スリムCTA ----- */
  .slim{background:var(--terra);color:#fff;padding:44px 0;}
  .slim-in{display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap;}
  .slim h2{font-size:25px;font-weight:900;letter-spacing:.05em;line-height:1.6;}
  .slim p{font-size:13px;opacity:.92;margin-top:4px;}
  .slim-btns{display:flex;gap:12px;flex-shrink:0;}
  .slim-btns a{display:inline-flex;align-items:center;gap:9px;background:#fff;color:var(--terra-dark);font-size:14px;font-weight:700;letter-spacing:.05em;padding:15px 30px;border-radius:999px;box-shadow:0 6px 16px rgba(0,0,0,.16);transition:transform .2s;}
  .slim-btns a:hover{transform:translateY(-3px);}
  .slim-btns .icon{width:19px;height:19px;}
  @media(max-width:860px){
    .slim-in{flex-direction:column;text-align:center;gap:20px;}
    .slim h2{font-size:20px;}
    .slim-btns{width:100%;flex-direction:column;}
    .slim-btns a{justify-content:center;}
  }

  /* ----- 6. CTA ----- */
  .cta{background:var(--green-dark);color:#fff;overflow:hidden;position:relative;}
  .cta::before{content:"";position:absolute;top:-90px;right:-70px;width:340px;height:340px;border-radius:50%;background:rgba(255,255,255,.06);}
  .cta-in{position:relative;z-index:1;text-align:center;}
  .cta .en{font-family:var(--en);font-size:12.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;opacity:.8;}
  .cta h2{font-size:34px;font-weight:900;letter-spacing:.05em;line-height:1.55;margin:10px 0 16px;}
  .cta-lead{font-size:14.5px;opacity:.9;max-width:680px;margin:0 auto 34px;}
  .cta-btns{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:900px;margin:0 auto;}
  .cta-btns a{background:#fff;border-radius:18px;padding:24px 18px;display:flex;flex-direction:column;align-items:center;gap:5px;transition:transform .22s,box-shadow .22s;box-shadow:0 6px 18px rgba(0,0,0,.14);}
  .cta-btns a:hover{transform:translateY(-4px);box-shadow:0 14px 28px rgba(0,0,0,.2);}
  .cta-btns .tx{display:flex;flex-direction:column;align-items:center;gap:1px;}
  .cta-btns .ttl{font-size:12px;color:var(--sub);font-weight:700;letter-spacing:.08em;line-height:1.9;}
  .cta-btns .big{font-family:var(--en);font-size:26px;font-weight:700;color:var(--terra-dark);letter-spacing:.02em;line-height:1.4;white-space:nowrap;}
  .cta-btns .jp{font-size:17px;font-weight:900;color:var(--text);letter-spacing:.05em;line-height:1.7;white-space:nowrap;}
  .cta-btns .sm{font-size:11px;color:var(--sub);line-height:1.8;}
  .cta-btns .ic{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:3px;}
  .cta-btns .ic .icon{width:22px;height:22px;}
  .cta-tel .ic{background:var(--green);} .cta-line .ic{background:var(--line);} .cta-form .ic{background:var(--terra);}
  .cta-note{margin-top:26px;font-size:12.5px;opacity:.82;}
  @media(max-width:860px){
    .cta h2{font-size:24px;}
    .cta-btns{grid-template-columns:1fr;gap:11px;max-width:460px;}
    .cta-btns a{flex-direction:row;justify-content:flex-start;gap:14px;padding:18px 20px;}
    .cta-btns .ic{margin-bottom:0;flex-shrink:0;}
    .cta-btns .tx{align-items:flex-start;}
  }

/* --- 404.html --- */
.e404{text-align:center;padding:30px 0;}
  .e404 .num{font-family:var(--en);font-size:120px;font-weight:700;color:var(--cream2);line-height:1;letter-spacing:.04em;}
  .e404 h1{font-size:28px;font-weight:900;letter-spacing:.05em;line-height:1.6;margin:-14px 0 16px;}
  .e404 .lead{font-size:14.5px;color:var(--sub);max-width:600px;margin:0 auto 34px;}
  .e404-links{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:840px;margin:0 auto;}
  .e404-links a{background:#fff;border:2px solid var(--border);border-radius:16px;padding:22px 14px;font-size:13.5px;font-weight:700;transition:.22s;display:flex;flex-direction:column;align-items:center;gap:9px;}
  .e404-links a:hover{border-color:var(--terra);color:var(--terra-dark);transform:translateY(-3px);}
  .e404-links .icon{width:24px;height:24px;color:var(--green-dark);}
  @media(max-width:760px){
    .e404 .num{font-size:82px;}
    .e404 h1{font-size:21px;}
    .e404-links{grid-template-columns:1fr 1fr;gap:10px;}
  }

/* ===== 施工事例 詳細：OGPアイキャッチ & データ表 ===== */
.work-hero-sec{padding-bottom:0;}
.work-hero{position:relative;max-width:960px;margin:0 auto 44px;border-radius:var(--r);overflow:hidden;box-shadow:0 14px 36px rgba(74,63,53,.14);aspect-ratio:3/2;background:var(--cream2);}
.work-hero img{width:100%;height:100%;object-fit:cover;display:block;}
/* 施工事例ヘッダーを2カラム化（左：情報／右：アイキャッチ）。背景は白でDATA(cream2)と分離、幅を広げる */
.phead--work{background:#fff;}
.phead--work .inner{max-width:1320px;}
.phead--work .phead-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:48px;align-items:center;margin-top:20px;}
.phead--work .phead-body{min-width:0;}
.phead--work .work-hero{max-width:none;margin:0;}
@media(max-width:860px){ .phead--work .phead-grid{grid-template-columns:1fr;gap:24px;} }
.work-hero__ba{position:absolute;top:16px;left:16px;background:#fff;color:var(--terra-dark);font-family:var(--en);font-size:11px;font-weight:700;letter-spacing:.12em;padding:7px 18px;border-radius:999px;box-shadow:0 4px 12px rgba(74,63,53,.12);}
.work-hero__cap{max-width:960px;margin:13px auto 0;font-size:12px;color:var(--sub);text-align:center;}
@media(max-width:600px){ .work-hero__ba{font-size:10px;padding:5px 13px;} }

.wspec{max-width:960px;margin:0 auto;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 8px 24px rgba(74,63,53,.09);border:1px solid var(--border);}
.wspec__row{display:grid;grid-template-columns:260px 1fr;align-items:stretch;border-bottom:2px dashed var(--border);}
.wspec__row:last-child{border-bottom:0;}
.wspec__dt{background:var(--cream);padding:18px 24px;font-size:13px;font-weight:900;letter-spacing:.05em;color:var(--sub);display:flex;align-items:center;gap:10px;line-height:1.6;}
.wspec__dt .icon{width:17px;height:17px;color:var(--green-dark);flex-shrink:0;}
.wspec__dd{padding:18px 26px;font-size:14.5px;line-height:1.9;display:flex;flex-direction:column;justify-content:center;}
.wspec__row--cost .wspec__dd{background:linear-gradient(180deg,#fff,#fff7ec);}
.wspec__cost{font-family:var(--en);font-size:32px;font-weight:700;color:var(--terra-dark);letter-spacing:.02em;line-height:1.25;}
.wspec__row--cost small{display:block;font-size:11.5px;color:var(--sub);margin-top:4px;}
@media(max-width:600px){
  .wspec__row{grid-template-columns:1fr;}
  .wspec__dt{padding:12px 18px;}
  .wspec__dd{padding:14px 18px 18px;}
  .wspec__cost{font-size:27px;}
}

/* ===== クラス名衝突の解消（.req バッジ vs .story-block.req 等） ===== */
.story-block.req,.story-block.sol{background:#fff;color:var(--text);padding:36px 42px;border-radius:var(--r);font-size:14px;font-weight:400;letter-spacing:.03em;box-shadow:0 5px 16px rgba(74,63,53,.07);}
@media(max-width:640px){ .story-block.req,.story-block.sol{padding:26px 22px;} }

/* アクセス：Google Map 埋め込み */
.access .map--embed{padding:0;border:0;overflow:hidden;background:var(--cream2);min-height:300px;}
.access .map--embed iframe{width:100%;height:100%;min-height:300px;border:0;display:block;}
@media(max-width:820px){ .access .map--embed,.access .map--embed iframe{min-height:240px;} }

/* コラム記事：アイキャッチをOGP比（1200×630）で表示 */
.ahero--ogp .ph{height:auto;aspect-ratio:1200/630;}

/* 見出し等アンカーへのジャンプ時、固定ヘッダーに隠れないようオフセット */
html{scroll-padding-top:150px;}
@media(max-width:1080px){ html{scroll-padding-top:88px;} }   /* この幅でグローバルナビが隠れる */
@media(max-width:560px){ html{scroll-padding-top:76px;} }
.art h2{scroll-margin-top:150px;}
@media(max-width:1080px){ .art h2{scroll-margin-top:88px;} }

/* 施工事例：360°パノラマビューア */
.w360{padding-top:0;}
.sf-pano{max-width:960px;margin:0 auto;aspect-ratio:16/9;min-height:340px;border-radius:var(--r);overflow:hidden;box-shadow:0 10px 30px rgba(74,63,53,.12);background:var(--cream2);position:relative;}
.sf-pano .pnlm-container{background:var(--cream2)!important;}
.sf-pano .pnlm-load-box{background:rgba(74,63,53,.72);border-radius:var(--r);}
.w360-cap{max-width:960px;margin:14px auto 0;font-size:13px;color:var(--sub);line-height:1.85;text-align:center;}
.sf-pano-nav{max-width:960px;margin:16px auto 0;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;}
.sf-pano-btn{display:flex;align-items:center;gap:9px;padding:6px 14px 6px 6px;border:1.5px solid var(--line);border-radius:999px;background:#fff;cursor:pointer;color:var(--sub);font-size:13px;font-weight:700;transition:.2s;}
.sf-pano-btn:hover{border-color:var(--terra);color:var(--terra-dark);}
.sf-pano-btn.is-active{border-color:var(--terra);background:var(--terra);color:#fff;box-shadow:0 4px 12px rgba(74,63,53,.18);}
.sf-pano-btn__thumb{width:38px;height:38px;border-radius:50%;background-size:cover;background-position:center;flex:0 0 auto;}
.sf-pano-btn__label{white-space:nowrap;}
@media (max-width:640px){.sf-pano{min-height:240px;}}

/* トップページ：360°ビュー紹介セクション */
.pano-sec{background:var(--cream);overflow:hidden;}
.pano-wrap{position:relative;max-width:960px;margin:0 auto;}
.pano-view{aspect-ratio:16/9;min-height:340px;border-radius:var(--r);overflow:hidden;box-shadow:0 18px 44px rgba(74,63,53,.18);background:var(--cream2);}
.pano-view .pnlm-container{background:var(--cream2)!important;}
.pano-badge{position:absolute;top:16px;left:16px;z-index:5;display:inline-flex;align-items:center;gap:7px;padding:8px 15px;border-radius:999px;background:rgba(224,122,74,.95);color:#fff;font-weight:700;font-size:13px;letter-spacing:.02em;box-shadow:0 6px 16px rgba(74,63,53,.25);pointer-events:none;}
.pano-badge .icon{width:16px;height:16px;fill:currentColor;}
.pano-drag{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);z-index:5;padding:7px 16px;border-radius:999px;background:rgba(74,63,53,.62);color:#fff;font-size:12.5px;font-weight:600;letter-spacing:.03em;pointer-events:none;animation:panoDrag 2.6s ease-in-out infinite;}
@keyframes panoDrag{0%,100%{transform:translateX(calc(-50% - 8px));opacity:.85}50%{transform:translateX(calc(-50% + 8px));opacity:1}}
.pano-note{max-width:960px;margin:14px auto 0;text-align:center;font-size:12.5px;color:var(--sub);}
.pano-cta{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:26px;}
.pano-case{font-size:13.5px;color:var(--sub);font-weight:600;}
.pano-case:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--terra);margin-right:8px;vertical-align:middle;}
.pano-btns{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;}
.pano-btns .btn-more{margin:0;padding:15px 34px;}
.btn-ghost{background:#fff;color:var(--terra-dark);border:2px solid var(--terra);box-shadow:0 6px 16px rgba(74,63,53,.1);}
.btn-ghost:hover{background:var(--terra);color:#fff;}
@media (max-width:640px){.pano-view{min-height:230px;}.pano-drag{display:none;}}
.works-cta{display:flex;justify-content:center;margin-top:8px;}

/* リフォームメニュー詳細：あわせて検討される工事（横並び・丸アイコンチップ） */
.mrel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px;}
.mrel-card{display:flex;align-items:center;gap:16px;background:#fff;border-radius:18px;padding:20px 22px;box-shadow:0 5px 16px rgba(74,63,53,.07);border:2px solid transparent;transition:.22s;}
.mrel-card:hover{transform:translateY(-4px);border-color:var(--terra);box-shadow:0 14px 28px rgba(74,63,53,.13);}
.mrel-ic{flex:0 0 auto;width:54px;height:54px;border-radius:15px;background:var(--cream2);color:var(--terra);display:flex;align-items:center;justify-content:center;transition:.22s;}
.mrel-card:hover .mrel-ic{background:var(--terra);color:#fff;}
.mrel-ic .icon{width:26px;height:26px;}
.mrel-tx{display:flex;flex-direction:column;gap:3px;min-width:0;}
.mrel-price{font-size:11.5px;color:var(--sub);font-weight:700;line-height:1.5;}
.mrel-price b{font-family:var(--en);font-size:15px;color:var(--terra-dark);margin-left:2px;}
.mrel-tx strong{font-size:15px;font-weight:900;line-height:1.55;}
@media(max-width:900px){.mrel-grid{grid-template-columns:1fr;gap:11px;}}

/* 費用の目安：安い順バー一覧（メニュー価格を単一ソースに自動生成） */
.pguide{max-width:820px;margin:0 auto;}
.pguide-axis{display:flex;align-items:center;gap:10px;margin:0 2px 16px;font-size:11.5px;color:var(--sub);font-weight:700;}
.pguide-line{flex:1;height:2px;border-radius:2px;background:linear-gradient(90deg,#e6a877,#a9531f);}
.pguide-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.pguide-row{display:grid;grid-template-columns:180px 1fr 96px;align-items:center;gap:14px;background:#fff;border-radius:12px;padding:11px 16px;box-shadow:0 2px 8px rgba(74,63,53,.06);transition:transform .2s,box-shadow .2s;}
.pguide-row:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(74,63,53,.12);}
.pguide-name{font-size:14px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4;}
.pguide-name small{display:block;font-weight:600;font-size:10.5px;color:var(--sub);}
.pguide-barwrap{background:var(--cream2);border-radius:999px;height:16px;overflow:hidden;}
.pguide-bar{height:100%;border-radius:999px;min-width:14px;}
.pguide-bar.t1{background:#e6a877;}
.pguide-bar.t2{background:var(--terra);}
.pguide-bar.t3{background:var(--terra-dark);}
.pguide-price{text-align:right;font-family:var(--en);font-weight:700;font-size:16px;color:var(--text);white-space:nowrap;}
.pguide-price span{font-size:11px;color:var(--sub);font-weight:600;margin-left:1px;}
.pguide-legend{display:flex;gap:16px;justify-content:center;margin-top:16px;font-size:12px;color:var(--sub);font-weight:700;}
.pguide-legend span{display:inline-flex;align-items:center;gap:6px;}
.pguide-legend span:before{content:"";width:11px;height:11px;border-radius:3px;}
.pguide-legend .l1:before{background:#e6a877;}
.pguide-legend .l2:before{background:var(--terra);}
.pguide-legend .l3:before{background:var(--terra-dark);}
@media(max-width:560px){.pguide-row{grid-template-columns:104px 1fr 74px;gap:9px;padding:9px 12px;}.pguide-name{font-size:12px;}.pguide-name small{font-size:9.5px;}.pguide-price{font-size:13.5px;}}

/* メニュー詳細：費用プランをカード（列数=プラン数）。バーはカード群の全幅に1本 */
.planarea{margin:0 auto;}
.planarea.cols-1{max-width:440px;}
.planarea.cols-2{max-width:760px;}
.planarea.cols-3{max-width:960px;}
.planaxis{display:flex;align-items:center;gap:12px;margin-bottom:22px;}
.planaxis-cap{font-size:11.5px;font-weight:700;color:var(--sub);white-space:nowrap;}
.planaxis-track{flex:1;height:12px;border-radius:999px;background:linear-gradient(90deg,#ecbd94,var(--terra),var(--terra-dark));}
.planbar-grid{display:grid;gap:22px;align-items:start;width:100%;}
.planbar-grid.cols-1{grid-template-columns:1fr;}
.planbar-grid.cols-2{grid-template-columns:repeat(2,1fr);}
.planbar-grid.cols-3{grid-template-columns:repeat(3,1fr);}
.planbar-card{position:relative;background:#fff;border-radius:18px;padding:26px 24px 24px;box-shadow:0 5px 16px rgba(74,63,53,.07);border:2px solid transparent;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;}
.planbar-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(74,63,53,.13);}
.planbar-card.reco{border-color:var(--terra);box-shadow:0 14px 30px rgba(74,63,53,.15);}
.planbar-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);font-size:11px;font-weight:700;color:#fff;background:var(--terra);border-radius:999px;padding:5px 16px;white-space:nowrap;box-shadow:0 4px 12px rgba(74,63,53,.2);}
.planbar-name{font-size:17px;font-weight:900;color:var(--text);line-height:1.5;margin-bottom:11px;}
.planbar-life{align-self:flex-start;font-size:11.5px;font-weight:700;color:var(--green-dark);background:#f0f4ea;border-radius:999px;padding:3px 12px;margin-bottom:13px;}
.planbar-amt{font-family:var(--en);font-size:29px;font-weight:700;color:var(--terra-dark);line-height:1.1;margin-bottom:14px;padding-bottom:15px;border-bottom:2px dashed var(--border);}
.planbar-for{font-size:12.5px;color:var(--sub);line-height:1.85;}
@media(max-width:760px){.planarea.cols-1,.planarea.cols-2,.planarea.cols-3{max-width:440px;}.planbar-grid.cols-1,.planbar-grid.cols-2,.planbar-grid.cols-3{grid-template-columns:1fr;}}

/* 固定ページ本文の番号付きリスト */
.art ol{margin:0 0 22px;padding-left:1.6em}
.art ol li{font-size:14.5px;margin-bottom:8px;padding-left:.2em}
