@charset "UTF-8";
/* =========================================================
   株式会社斉藤塗装興業  custom.css
   Development Mode (static)
   ========================================================= */

:root{
  /* 2026-07-30 施主要望で緑系→青系へ全面変更（変数名は互換のため据え置き） */
  --green:#2E6DB4;        /* メインブルー（ボタン等） */
  --green-d:#1F5AA6;      /* 濃いブルー */
  --green-fc:#5B8FC9;     /* 帯・英字ラベル用ミッドブルー */
  --green-pale:#EAF1F9;   /* 淡い背景 */
  --green-pale2:#D8E6F4;  /* アイコン地 */
  --blue:#2E6DB4;         /* ロゴ・電話 */
  --blue-d:#1F5AA6;
  --orange:#F2A93B;       /* CTA */
  --orange-d:#E8931F;
  --line:#06C755;
  --ink:#333;
  --ink-d:#2b2b2b;
  --gray:#767676;
  --wrap:1160px;
  --radius:14px;
  --shadow:0 8px 24px rgba(0,0,0,.08);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
  color:var(--ink);
  line-height:1.8;
  background:#fff;
  -webkit-font-smoothing:antialiased;
  font-size:16px;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;transition:.25s;}
ul{list-style:none;margin:0;padding:0;}
h1,h2,h3,p{margin:0;}
em{font-style:normal;}
.st-ico{flex:none;}

.st-inner{max-width:var(--wrap);margin:0 auto;padding:0 20px;}
.st-btnwrap{text-align:center;margin-top:44px;}
.st-btnwrap--left{text-align:left;}

/* 汎用ボタン（一覧を見る） */
.st-morebtn{
  display:inline-block;min-width:260px;text-align:center;
  padding:15px 40px;border-radius:40px;
  background:linear-gradient(180deg,#4a86c8,#2f66a8);
  color:#fff;font-weight:700;letter-spacing:.05em;
  box-shadow:0 6px 14px rgba(31,90,166,.32);
}
.st-morebtn:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(31,90,166,.4);}
.st-morebtn--sm{min-width:200px;padding:12px 32px;}

/* 英語透かし見出し */
.st-watermark{
  font-family:"Poppins",sans-serif;font-weight:700;
  color:#E2ECF7;line-height:1;pointer-events:none;user-select:none;
}
.st-watermark--left{font-size:clamp(52px,9vw,120px);}
.st-watermark--right{
  position:absolute;top:24px;right:4%;font-size:clamp(52px,9vw,120px);z-index:0;
}

/* セクション共通見出し */
.st-secttl{text-align:center;margin-bottom:30px;}
.st-secttl .ja{display:block;font-size:clamp(26px,4vw,34px);font-weight:700;color:var(--green);letter-spacing:.06em;}
.st-secttl .en{display:block;font-family:"Poppins",sans-serif;color:var(--green-fc);font-weight:600;letter-spacing:.1em;margin-top:4px;}

/* =========================================================
   HEADER
   ========================================================= */
.st-header{position:sticky;top:0;z-index:1000;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.06);}
.st-header__top{
  max-width:1320px;margin:0 auto;padding:10px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.st-logo{display:flex;align-items:center;gap:12px;}
.st-logo__mark{display:flex;}
.st-logo__ja{display:block;font-size:23px;font-weight:900;letter-spacing:.1em;color:#1f2c48;line-height:1.25;}
.st-logo__en{display:block;font-family:"Poppins",sans-serif;font-size:13px;letter-spacing:.18em;color:var(--blue);font-weight:600;}

.st-header__contact{display:flex;flex-direction:column;align-items:flex-end;gap:6px;}
.st-header__lead{font-size:14px;color:#6b7789;letter-spacing:.01em;}
.st-header__row{display:flex;align-items:center;gap:12px;}
.st-header__tel{display:flex;align-items:center;gap:8px;}
.st-header__telnum{display:flex;flex-direction:column;line-height:1.15;}
.st-header__telnum b{font-family:"Poppins",sans-serif;font-size:26px;color:var(--blue);letter-spacing:.02em;}
.st-header__telnum small{font-size:14px;color:#6b7789;}

.st-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:10px;color:#fff;font-weight:700;font-size:14px;line-height:1.2;}
.st-btn--line{background:var(--line);box-shadow:0 4px 10px rgba(6,199,85,.3);}
.st-btn--cta{background:linear-gradient(180deg,#f6b750,#ef9a1f);box-shadow:0 4px 10px rgba(232,147,31,.35);}
.st-btn:hover{transform:translateY(-2px);}

.st-hamburger{display:none;}

/* NAV */
.st-nav{border-top:1px solid #E6EDF6;}
.st-nav__list{max-width:1320px;margin:0 auto;display:flex;justify-content:center;}
.st-nav__list>li{flex:1;text-align:center;position:relative;}
/* ※縦の区切り線はゴチャついて見えるため撤去（2026-07-30オーナー指示） */
.st-nav__list a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:15px 6px 14px;line-height:1.3;position:relative;}
.st-nav__list .ja{font-size:16px;font-weight:700;color:#26334d;letter-spacing:.02em;}
.st-nav__list .en{font-family:"Poppins",sans-serif;font-size:13px;letter-spacing:.06em;color:#9DB1CC;font-weight:600;}
.st-nav__list a:hover{background:#F5F9FD;}
.st-nav__list a:hover .ja{color:var(--green-d);}
.st-nav__list a.is-current .ja{color:var(--green-d);}
.st-nav__list a.is-current .en{color:var(--green-fc);}
.st-nav__list a.is-current::after,.st-nav__list a:hover::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--blue);}

/* =========================================================
   MV
   ========================================================= */
/* MVは信頼バーと同系のネイビーで一体化 */
.st-mv{position:relative;overflow:hidden;padding:44px 0 8px;
  background:
    radial-gradient(ellipse 900px 500px at 15% 15%,rgba(210,169,79,.08),transparent 60%),
    radial-gradient(ellipse 800px 480px at 88% 85%,rgba(210,169,79,.06),transparent 60%),
    linear-gradient(150deg,#141b33 0%,#243159 55%,#141b33 100%);}
/* --- カルーセル（igic.jp同方式：slick centerMode・左右見切れ） --- */
.st-mvslider{opacity:0;transition:opacity .4s ease;}
.st-mvslider.slick-initialized{opacity:1;}
.st-mvslider .slick-slide{margin:0 14px;}
.st-mv__photo{margin:0;aspect-ratio:1008/516;border-radius:20px;overflow:hidden;background:#1a2240;box-shadow:0 14px 34px rgba(0,0,0,.35);}
.st-mv__photo img{width:100%;height:100%;object-fit:cover;background:transparent;}
/* 未初期化時のフォールバック（1枚目のみ表示） */
.st-mvslider:not(.slick-initialized)>div{display:none;max-width:86%;margin:0 auto;}
.st-mvslider:not(.slick-initialized)>div:first-child{display:block;}

.st-mv__arrow{position:absolute;top:calc(50% - 28px);z-index:6;width:56px;height:56px;border:1px solid rgba(210,169,79,.6);border-radius:50%;background:linear-gradient(145deg,#D2A94F,#A87E28);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.35);padding:0;}
.st-mv__arrow:hover{background:linear-gradient(145deg,#EED694,#C29638);transform:scale(1.06);}
.st-mv__arrow--prev{left:26px;}
.st-mv__arrow--next{right:26px;}

/* slickドット（スライダー直下） */
.st-mvslider .slick-dots{position:static;display:flex!important;justify-content:center;gap:9px;margin:16px 0 2px;padding:0;list-style:none;}
.st-mvslider .slick-dots li{margin:0;}
.st-mvslider .slick-dots button{width:11px;height:11px;border-radius:50%;border:none;background:rgba(255,255,255,.35);cursor:pointer;padding:0;font-size:0;line-height:0;text-indent:-9999px;overflow:hidden;}
.st-mvslider .slick-dots li.slick-active button{background:#D2A94F;}

.st-mv__cta{position:absolute;left:50%;transform:translateX(-50%);bottom:74px;z-index:5;width:min(880px,64%);
  display:grid;grid-template-columns:1.15fr 1fr 1.15fr;gap:14px;background:rgba(255,255,255,.85);padding:14px;border-radius:18px;box-shadow:0 10px 30px rgba(0,0,0,.14);}
.st-mvcta{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 12px;border-radius:12px;color:#fff;}
.st-mvcta__txt{display:flex;flex-direction:column;line-height:1.15;}
.st-mvcta__txt b{font-size:22px;font-family:"Poppins",sans-serif;letter-spacing:.02em;}
.st-mvcta--line .st-mvcta__txt b,.st-mvcta--cta .st-mvcta__txt b{font-family:inherit;font-size:19px;}
.st-mvcta__txt small{font-size:14px;opacity:.95;}
.st-mvcta--tel{background:linear-gradient(180deg,#3a7ec4,#255fa6);}
.st-mvcta--line{background:var(--line);}
.st-mvcta--cta{background:linear-gradient(180deg,#f6b750,#ef9a1f);}
.st-mvcta:hover{transform:translateY(-2px);}

/* =========================================================
   TRUST BAR（許可・資格・認定：ダークグリーン×ゴールド）
   ========================================================= */
.st-trust{background:linear-gradient(135deg,#141b33 0%,#243159 55%,#141b33 100%);padding:26px 0;}
.st-trust__inner{display:flex;justify-content:center;gap:0;}
.st-trust__item{flex:1;display:flex;align-items:center;justify-content:center;gap:14px;padding:6px 18px;position:relative;}
.st-trust__item+.st-trust__item::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);height:56px;width:1px;background:rgba(217,180,91,.4);}
.st-trust__ico{flex:none;display:flex;}
.st-trust__item p{line-height:1.35;color:#fff;}
.st-trust__item small{display:block;font-size:14px;color:#D9B45B;letter-spacing:.08em;}
.st-trust__item b{font-size:17px;font-weight:700;letter-spacing:.03em;}
@media (max-width:820px){
  /* 縦積みになると縦罫(::before)が使えず3項目が地続きに見えて読みづらい。
     点線で区切り、行間もとる。 */
  .st-trust{padding:20px 0;}
  .st-trust__inner{flex-direction:column;gap:0;}
  .st-trust__item{justify-content:flex-start;align-items:center;gap:16px;padding:15px 4px;}
  .st-trust__item+.st-trust__item::before{display:none;}
  .st-trust__item+.st-trust__item{border-top:1px dotted rgba(217,180,91,.5);}
  .st-trust__item small{margin-bottom:3px;}
}

/* =========================================================
   TROUBLE
   ========================================================= */
.st-trouble{
  padding:66px 0 76px;position:relative;background-color:#fdfdfc;
  /* 水彩イラスト：bg01=左（ひび割れの家）／bg02=右（悩む夫婦） */
  background-image:url('/wp-content/uploads/bg01.jpg'),url('/wp-content/uploads/bg02.jpg');
  background-repeat:no-repeat,no-repeat;
  background-position:left bottom,right bottom;
  background-size:auto 96%,auto 82%;
}
.st-trouble .st-inner{position:relative;z-index:2;max-width:920px;}
/* ※display:tableでセンタリング（st-revealのtransformと競合するためtranslateX(-50%)は使用禁止） */
.st-trouble__ttl{text-align:center;font-size:clamp(24px,3.6vw,34px);font-weight:700;color:#4a4a4a;margin:0 auto 38px;position:relative;display:table;padding-bottom:16px;}
.st-trouble__ttl::after{content:"";position:absolute;left:2%;right:2%;bottom:0;border-bottom:4px dotted #8FB4DC;}
.st-trouble__ttl em{color:var(--green);font-size:1.25em;}
.st-trouble__ttl .q{color:var(--blue);font-weight:900;margin:0 .3em;}
.st-trouble__list{display:flex;flex-direction:column;gap:16px;max-width:760px;margin:0 auto;}
.st-trouble__list li{display:flex;align-items:center;gap:16px;background:var(--green-pale2);border-radius:12px;padding:18px 26px;font-size:clamp(16px,2vw,20px);font-weight:700;color:#35455c;}
.st-trouble__list .ck{flex:none;display:flex;}
.st-trouble__ribbon{margin-top:34px;text-align:center;position:relative;}
.st-trouble__ribbon p{display:inline-block;background:var(--green);color:#fff;font-size:clamp(17px,2.4vw,24px);font-weight:700;padding:16px 60px;border-radius:8px;position:relative;box-shadow:0 6px 14px rgba(31,90,166,.3);}
.st-trouble__ribbon em{color:#fff59d;}
.st-trouble__ribbon p::after{content:"";position:absolute;left:50%;bottom:-14px;transform:translateX(-50%);border:15px solid transparent;border-top-color:var(--green);}

/* =========================================================
   DIFF（ここが違う：ネイビー×ゴールドのエンブレム）
   ========================================================= */
.st-diff{position:relative;padding:84px 0 90px;
  background:
    radial-gradient(ellipse 800px 480px at 12% 12%,rgba(210,169,79,.10),transparent 60%),
    radial-gradient(ellipse 700px 460px at 90% 90%,rgba(210,169,79,.08),transparent 60%),
    linear-gradient(160deg,#171e36 0%,#212c50 50%,#151c33 100%);}
.st-diff__ttl{text-align:center;margin-bottom:52px;}
.st-diff__ttl .en{display:block;font-family:"Poppins",sans-serif;font-size:15px;letter-spacing:.4em;color:#D2A94F;font-weight:600;margin-bottom:10px;}
.st-diff__ttl .ja{display:block;font-size:clamp(24px,3.4vw,36px);font-weight:700;color:#fff;letter-spacing:.08em;}
.st-diff__ttl .ja em{color:#EED694;}
/* エンブレムは支給画像（point_01〜06.webp）を並べる */
.st-diff__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px 30px;max-width:960px;margin:0 auto;}
.st-diff__item{display:flex;justify-content:center;}
.st-diff__item img{width:min(100%,268px);height:auto;filter:drop-shadow(0 10px 22px rgba(0,0,0,.4));}
@media (max-width:820px){
  .st-diff__grid{grid-template-columns:1fr 1fr;gap:26px 14px;}
}

/* =========================================================
   FEATURE
   ========================================================= */
/* ⚠一時非表示（Reason「ここが違う」と内容が重複するため／復活時はこの1行を削除） */
.st-feature{display:none;}
.st-feature{position:relative;padding:80px 0 90px;overflow:hidden;}
/* 水彩イラスト（bg03：塗装職人と猫）を左に大きく */
.st-feature__deco{position:absolute;left:0;top:110px;width:min(36%,560px);z-index:1;pointer-events:none;background:transparent;}
.st-feature__head{text-align:left;margin:0 0 40px 38%;position:relative;z-index:2;}
.st-feature__catch{font-size:clamp(22px,3vw,30px);font-weight:700;color:var(--green-d);}
.st-feature__lead{margin-top:22px;font-size:clamp(16px,2vw,21px);font-weight:500;color:var(--green-d);}
.st-feature__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;position:relative;z-index:2;margin-left:26%;}
@media (max-width:900px){
  .st-feature__deco{display:none;}
  .st-feature__head{margin-left:0;text-align:center;}
  .st-feature__grid{margin-left:0;}
}
.st-fcard{background:var(--green-pale);border-radius:18px;padding:38px 28px 34px;text-align:center;}
.st-fcard__ico{display:inline-flex;margin-bottom:12px;}
.st-fcard h3{font-size:20px;font-weight:700;color:var(--green-d);margin-bottom:12px;}
.st-fcard p{font-size:15px;color:#46536b;text-align:left;}

/* =========================================================
   SERVICE
   ========================================================= */
.st-service{padding:0 0 84px;background:linear-gradient(180deg,#fff 0 120px,var(--green-pale) 120px);}
.st-service__head{position:relative;padding-top:36px;padding-bottom:10px;display:flex;align-items:flex-end;justify-content:space-between;}
.st-service__label{font-size:clamp(22px,3vw,30px);font-weight:700;color:var(--green-d);}
.st-service__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;padding-top:20px;}
/* カード全体がサービス一覧の該当サービスへのリンク（右下のオレンジ矢印もその一部） */
.st-scard{display:block;color:inherit;text-decoration:none;
  background:#fff;border-radius:14px;overflow:hidden;box-shadow:var(--shadow);}
.st-scard:focus-visible{outline:3px solid var(--green-d);outline-offset:3px;}
/* サービス写真＝1枚構成（Before/After廃止） */
.st-scard__photo{margin:0;aspect-ratio:16/10;overflow:hidden;}
.st-scard__photo img{width:100%;height:100%;object-fit:cover;}
.st-scard__body{position:relative;padding:20px 22px 26px;}
.st-scard__ttlrow{display:flex;align-items:center;gap:12px;margin-bottom:10px;}
.st-scard__ico{display:flex;flex:none;}
.st-scard h3{font-size:21px;font-weight:700;color:var(--green-d);margin:0;padding-bottom:4px;border-bottom:2px solid var(--green-d);}
.st-scard p{font-size:14px;color:#555;padding-right:30px;}
.st-scard__more{position:absolute;right:16px;bottom:18px;}

/* =========================================================
   TARGET（対応物件）
   ========================================================= */
.st-target{padding:80px 0 84px;background:#fff;}
/* 見出し上の街並みイラスト */
.st-target__head{margin:0 0 -6px;text-align:center;}
.st-target__head img{width:min(640px,86%);height:auto;display:inline-block;}
.st-target__lead{text-align:center;font-size:15px;color:#46536b;margin-bottom:40px;}
.st-target__grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;max-width:1080px;margin:0 auto;}
.st-target__grid li{background:#fff;border-radius:12px;overflow:hidden;box-shadow:var(--shadow);transition:transform .3s ease,box-shadow .3s ease;}
.st-target__grid li:hover{transform:translateY(-5px);box-shadow:0 14px 28px rgba(0,0,0,.14);}
.st-target__photo{margin:0;aspect-ratio:4/3;overflow:hidden;}
.st-target__photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.st-target__grid li:hover .st-target__photo img{transform:scale(1.06);}
.st-target__name{display:block;font-size:14px;font-weight:700;color:#35455c;line-height:1.4;text-align:center;padding:12px 6px;}
@media (max-width:1024px){.st-target__grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:640px){.st-target__grid{grid-template-columns:1fr 1fr;gap:12px;}}
@media (max-width:820px){.st-target__grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:560px){.st-target__grid{grid-template-columns:repeat(2,1fr);gap:12px;}.st-target{padding:60px 0;}}

/* =========================================================
   VALPAINT（特殊塗装：ダーク×ゴールドの差し色ゾーン）
   ========================================================= */
.st-valpaint{position:relative;padding:88px 0 92px;color:#f2ead8;overflow:hidden;
  /* 支給の金ハケ画像を背景に敷き、ダーク暗幕で焼き込む（左上=ハケ部は薄め・中央〜右下は濃く可読性確保） */
  background:
    linear-gradient(150deg,rgba(24,20,14,.68) 0%,rgba(30,26,19,.84) 42%,rgba(19,16,12,.93) 100%),
    url('/wp-content/uploads/valpaint-brush.webp') center/cover no-repeat #1c1a17;}
.st-valpaint::before{content:"";position:absolute;inset:18px;border:1px solid rgba(201,163,78,.35);border-radius:4px;pointer-events:none;}
.st-valpaint__inner{max-width:820px;text-align:center;}
.st-valpaint__label{font-family:"Poppins",sans-serif;font-size:clamp(15px,1.8vw,19px);letter-spacing:.5em;color:#C9A34E;margin-bottom:18px;}
.st-valpaint__ttl{font-size:clamp(24px,3.4vw,38px);font-weight:700;letter-spacing:.06em;line-height:1.6;margin-bottom:22px;color:#fff;}
.st-valpaint__txt{font-size:15px;line-height:2.1;color:#d9d2c2;margin-bottom:30px;text-align:left;}
/* テクスチャギャラリー（カタログの質感見本） */
.st-valpaint__gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px;}
.st-valpaint__gallery li{overflow:hidden;border-radius:4px;border:1px solid rgba(201,163,78,.45);line-height:0;}
.st-valpaint__gallery img{width:100%;height:100%;object-fit:cover;aspect-ratio:37/13.5;transition:transform .5s ease;}
.st-valpaint__gallery li:hover img{transform:scale(1.08);}
.st-valpaint__note{font-size:14px;color:#a89e88;margin-bottom:30px;}
@media (max-width:560px){.st-valpaint__gallery{grid-template-columns:1fr 1fr;}}
.st-valpaint__badge{display:inline-flex;align-items:center;gap:10px;border:1px solid #C9A34E;color:#C9A34E;font-weight:700;font-size:14px;letter-spacing:.1em;padding:12px 30px;border-radius:40px;}
@media (max-width:560px){.st-valpaint{padding:64px 0 70px;}.st-valpaint::before{inset:10px;}}

/* =========================================================
   FLOW（ご契約・施工の流れ）
   ========================================================= */
/* 背景は白（直前のお客様の声＝淡ブルーと差をつける）／5ステップの大きめカード */
.st-flow{padding:80px 0 86px;background:#fff;}
.st-flow__list{display:grid;grid-template-columns:repeat(5,1fr);gap:22px;margin:0;padding:0;list-style:none;}
.st-flow__list li{position:relative;background:#F1F6FB;border:1px solid #DCE7F3;border-radius:14px;padding:24px 14px 22px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;}
.st-flow__list li:not(:last-child)::after{content:"";position:absolute;right:-17px;top:50%;transform:translateY(-50%);border:9px solid transparent;border-left-color:var(--green);z-index:2;}
.st-flow__num{font-family:"Poppins",sans-serif;font-weight:700;font-size:13px;color:#fff;background:var(--green);border-radius:20px;padding:2px 16px;letter-spacing:.08em;}
.st-flow__ico{display:flex;margin-top:4px;}
.st-flow__list b{font-size:16px;font-weight:700;color:#2b3d5c;line-height:1.45;min-height:3em;display:flex;align-items:center;}
.st-flow__list p{font-size:14px;color:#5f6b80;line-height:1.7;}
@media (max-width:1024px){
  .st-flow__list{grid-template-columns:1fr;gap:14px;max-width:560px;margin:0 auto;}
  .st-flow__list li{flex-direction:row;text-align:left;padding:18px 20px;gap:16px;}
  .st-flow__list li:not(:last-child)::after{right:auto;left:50%;top:auto;bottom:-16px;transform:translateX(-50%);border:8px solid transparent;border-top-color:var(--green);}
  .st-flow__num{flex:none;}
  .st-flow__ico{margin-top:0;flex:none;}
  .st-flow__list b{min-height:0;flex:none;width:9em;}
  .st-flow__list b br{display:none;}
  .st-flow__list p{flex:1;}
}
@media (max-width:560px){
  .st-flow{padding:60px 0;}
  .st-flow__list li{flex-wrap:wrap;}
  .st-flow__list b{width:auto;}
  .st-flow__list p{flex-basis:100%;}
}

/* =========================================================
   WORKS
   ========================================================= */
.st-works{padding:80px 0 86px;}
.st-works__tabs{display:flex;gap:2px;justify-content:center;margin-bottom:40px;flex-wrap:wrap;}
.st-works__tabs button{border:none;cursor:pointer;background:var(--green-pale);color:#5a6b80;font-weight:700;font-size:15px;padding:14px 40px;transition:.2s;}
.st-works__tabs button.is-active,.st-works__tabs button:hover{background:var(--green);color:#fff;}
.st-works__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
.st-wcard figure{margin:0;border-radius:8px;overflow:hidden;aspect-ratio:3/2;box-shadow:0 6px 16px rgba(0,0,0,.1);}
.st-wcard figure img{width:100%;height:100%;object-fit:cover;transition:.4s;}
.st-wcard a:hover figure img{transform:scale(1.05);}
.st-wcard p{margin-top:16px;font-size:15px;font-weight:700;color:#33415a;}
.st-wcard__txt{margin-top:8px!important;font-size:14px!important;font-weight:400!important;color:#5a6b80!important;line-height:1.9;}
/* 該当0件のタブ（雨漏り・防サビ）でグリッドが空欄になるのを防ぐ */
.st-works__empty{grid-column:1 / -1;margin:0;padding:48px 0;text-align:center;color:#5a6b80;font-size:15px;}
.st-works__empty[hidden]{display:none;}

/* =========================================================
   VOICE
   ========================================================= */
.st-voice{background:var(--green-pale);padding:66px 0 76px;position:relative;}
.st-voice__label{position:absolute;left:3%;top:80px;writing-mode:vertical-rl;font-weight:700;text-align:center;}
.st-voice__label .ja{font-size:clamp(26px,3.4vw,40px);color:var(--green-d);letter-spacing:.14em;}
.st-voice__label .en{font-family:"Poppins",sans-serif;font-size:16px;color:var(--green-fc);letter-spacing:.2em;margin-top:8px;}
.st-voice__inner{max-width:1000px;margin:0 auto;padding:0 20px 0 120px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.st-vcard{background:rgba(255,255,255,.55);border:1px solid #c8d9ec;border-radius:12px;padding:26px 22px;}
.st-vcard__rate{display:flex;align-items:center;gap:10px;justify-content:center;margin-bottom:8px;}
.st-vcard__rate .stars{color:#9db8d8;font-size:22px;letter-spacing:2px;}
.st-vcard__rate b{font-family:"Poppins",sans-serif;font-size:24px;color:#6b6b6b;}
.st-vcard__ico{display:flex;justify-content:center;margin-bottom:14px;}
.st-vcard p{font-size:14px;color:#46536b;}
.st-voice .st-btnwrap{max-width:1000px;margin-left:auto;margin-right:auto;padding-left:120px;}

/* =========================================================
   PRICE / RECRUIT / FAQ
   ========================================================= */
.st-pr{padding:80px 0 40px;}
.st-pr__grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-bottom:56px;}
/* 緑ブロックを左上背面に敷き、写真を右下へずらす（デザインtop_06準拠） */
.st-prcard figure{margin:0 0 22px;aspect-ratio:16/8;position:relative;padding:14px 0 0 14px;background:transparent;}
.st-prcard figure img{border-radius:4px;box-shadow:-14px -14px 0 var(--green-fc);width:100%;height:100%;object-fit:cover;position:relative;}
.st-prcard h3{text-align:center;font-size:26px;font-weight:700;letter-spacing:.14em;color:#333;margin-bottom:14px;position:relative;padding-bottom:14px;}
.st-prcard h3::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:40px;height:2px;background:#333;}
.st-prcard p{font-size:15px;color:#555;text-align:center;}
.st-prcard:hover h3{color:var(--green);}

.st-faqbanner{display:flex;align-items:stretch;border:2px solid var(--green-pale2);border-radius:14px;overflow:hidden;max-width:900px;margin:0 auto;background:#fff;}
.st-faqbanner__img{flex:0 0 40%;background:var(--green-pale);}
.st-faqbanner__img img{width:100%;height:100%;object-fit:cover;}
.st-faqbanner__body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:34px 20px;text-align:center;}
.st-faqbanner__body .ja{font-size:30px;font-weight:700;color:var(--green-d);}
.st-faqbanner__body .en{font-family:"Poppins",sans-serif;color:var(--green-fc);letter-spacing:.14em;}
.st-faqbanner__body .more{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font-size:14px;font-weight:700;color:var(--green);}
/* SPは縦積み（横長比率の写真＋テキスト）でバランスを取る */
@media (max-width:640px){
  .st-faqbanner{flex-direction:column;}
  .st-faqbanner__img{flex:none;aspect-ratio:16/6.5;overflow:hidden;}
  .st-faqbanner__img img{width:100%;height:100%;object-fit:cover;}
  .st-faqbanner__body{padding:22px 16px 26px;}
  .st-faqbanner__body .ja{font-size:24px;}
}

/* =========================================================
   NEWS
   ========================================================= */
.st-news{position:relative;padding:40px 0 84px;overflow:hidden;}
.st-watermark--vert{position:absolute;right:2%;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;font-size:clamp(60px,12vw,150px);}
.st-news__inner{max-width:1000px;margin:0 auto;padding:36px 30px;background:#F1F4F9;position:relative;z-index:2;}
.st-news__list li{border-bottom:1px solid #DFE6EF;}
.st-news__list a{display:flex;align-items:center;gap:22px;padding:16px 10px;}
.st-news__list a:hover{background:#E7EDF5;}
.st-news__list time{font-family:"Poppins",sans-serif;color:var(--green-d);font-weight:600;flex:none;border-left:4px solid var(--green-d);padding-left:14px;}
.st-news__list .cat{flex:none;font-size:14px;color:#fff;background:var(--green-fc);padding:2px 12px;border-radius:20px;}
.st-news__list p{font-size:15px;font-weight:700;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* =========================================================
   FC BANNER
   ========================================================= */
.st-fc{padding:40px 0 60px;}
.st-fc__inner{display:flex;align-items:center;justify-content:center;gap:30px;}
.st-fc__logo img{width:180px;border-radius:6px;box-shadow:var(--shadow);}
.st-fc__txt{font-size:clamp(20px,2.8vw,30px);font-weight:700;color:#333;line-height:1.6;}
.st-fc__txt em{background:linear-gradient(transparent 60%,#fff176 60%);}

/* =========================================================
   CONTACT
   ========================================================= */
.st-contact{position:relative;display:flex;min-height:440px;align-items:stretch;}
.st-contact__img{flex:1;background-size:cover;background-position:center;}
.st-contact__panel{position:relative;flex:0 0 46%;background:rgba(26,54,100,.9);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:60px 60px 60px 90px;}
.st-contact__panel::before{content:"";position:absolute;left:-70px;top:0;bottom:0;width:120px;background:rgba(26,54,100,.9);transform:skewX(-12deg);}
.st-contact__ttl{position:relative;margin-bottom:20px;}
.st-contact__ttl .en{display:block;font-family:"Poppins",sans-serif;font-size:clamp(40px,6vw,64px);font-weight:600;line-height:1;}
.st-contact__ttl .ja{display:block;margin-top:14px;padding-top:14px;font-size:18px;position:relative;}
.st-contact__ttl .ja::before{content:"";position:absolute;top:0;left:0;width:40px;height:2px;background:#fff;}
.st-contact__panel p{position:relative;font-size:15px;margin-bottom:26px;}
.st-contact__btn{position:relative;align-self:flex-start;background:#eef2f7;color:#1F5AA6;font-weight:700;padding:16px 60px;border-radius:6px;box-shadow:0 6px 14px rgba(0,0,0,.15);}
.st-contact__btn:hover{background:#fff;transform:translateY(-2px);}

/* =========================================================
   BOTTOM CARDS
   ========================================================= */
.st-bottomcards{padding:60px 0;}
.st-bottomcards__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.st-bcard{position:relative;aspect-ratio:16/7;border-radius:6px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;background-size:cover;background-position:center;text-align:center;}
.st-bcard::before{content:"";position:absolute;inset:0;background:rgba(60,55,45,.42);transition:.3s;}
.st-bcard:hover::before{background:rgba(58,110,63,.5);}
.st-bcard span{position:relative;z-index:2;text-shadow:0 2px 8px rgba(0,0,0,.4);}
.st-bcard .en{font-family:"Poppins",sans-serif;font-size:28px;font-weight:600;letter-spacing:.06em;}
.st-bcard .ja{font-size:14px;margin-top:4px;}

/* =========================================================
   FOOTER
   ========================================================= */
.st-footer{background:#fff;}
.st-footer__main{max-width:var(--wrap);margin:0 auto;padding:20px 20px 10px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;}
.st-footer__logo{display:flex;flex-direction:column;align-items:center;gap:6px;}
.st-footer__logo b{font-family:"Poppins",sans-serif;font-size:24px;letter-spacing:.08em;color:var(--blue);font-weight:700;}
.st-footer__sns{display:flex;gap:14px;}
.st-footer__tel{display:inline-flex;align-items:center;gap:10px;font-family:"Poppins",sans-serif;font-size:30px;font-weight:700;color:var(--green-d);}
.st-footer__info{font-size:14px;color:#555;line-height:2;}
.st-footer__info small{font-size:14px;color:#888;}
.st-footer__town{line-height:0;}
.st-footer__town img{display:block;width:100%;height:auto;background:transparent;}
.st-footer__copy{background:var(--green-fc);text-align:center;padding:14px;}
.st-footer__copy small{color:#fff;font-size:14px;letter-spacing:.04em;}
.st-footer__privacy{display:block;margin-bottom:8px;color:#fff;font-size:14px;letter-spacing:.04em;text-decoration:underline;text-underline-offset:3px;}
.st-footer__privacy:hover{opacity:.75;}

/* =========================================================
   FIXED CTA (mobile)
   ========================================================= */
.st-fixedcta{display:none;position:fixed;left:0;right:0;bottom:0;z-index:1200;grid-template-columns:repeat(3,1fr);box-shadow:0 -2px 12px rgba(0,0,0,.18);}
.st-fixedcta__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:9px 4px;color:#fff;font-size:14px;font-weight:700;}
.st-fixedcta__item--tel{background:var(--blue);}
.st-fixedcta__item--line{background:var(--line);}
.st-fixedcta__item--mail{background:var(--orange-d);}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1200px){
  .st-header__telnum b{font-size:22px;}
  .st-nav__list .ja{font-size:14px;}
}
@media (max-width:1024px){
  .st-header__contact{display:none;}
  .st-header__top{padding:12px 18px;}
  /* ハンバーガーは開いたメニューパネル(z-index:1250)より前面に置き、✕で閉じられるようにする */
  .st-hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:46px;height:46px;border:none;background:var(--green);border-radius:8px;cursor:pointer;padding:0 11px;position:relative;z-index:1300;}
  .st-hamburger span{display:block;height:3px;background:#fff;border-radius:2px;transition:.3s;}
  .st-hamburger.is-open span:nth-child(1){transform:translateY(8px) rotate(45deg);}
  .st-hamburger.is-open span:nth-child(2){opacity:0;}
  .st-hamburger.is-open span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}
  /* ドロワーの下端は追従CTAバー(.st-fixedcta≒67px)の上で止める。bottom:0のままだと
     最下段の「お問い合わせ」がCTAに隠れる。padding-topと項目の行間も詰めて、
     390×844では10項目がスクロールせず収まるようにしてある。 */
  .st-nav{position:fixed;top:0;right:-100%;bottom:calc(67px + env(safe-area-inset-bottom));width:min(300px,82%);background:#fff;box-shadow:-6px 0 24px rgba(0,0,0,.15);border-top:none;padding-top:68px;padding-bottom:16px;overflow-y:auto;-webkit-overflow-scrolling:touch;transition:right .35s;z-index:1250;}
  .st-nav.is-open{right:0;}
  .st-nav__list{flex-direction:column;}
  .st-nav__list>li{flex:none;text-align:left;}
  .st-nav__list>li+li::before{display:none;}
  .st-nav__list a{padding:13px 24px;border-bottom:1px solid #eef1ee;}
  .st-nav__list a.is-current::after,.st-nav__list a:hover::after{display:none;}
  .st-mv__arrow{width:48px;height:48px;}
}
@media (max-width:820px){
  .st-feature__grid,.st-service__grid,.st-works__grid,.st-voice__inner{grid-template-columns:1fr 1fr;}
  /* 8pxだと固定ヘッダーの直下にスライダーが貼り付いて窮屈に見える */
  .st-mv{padding:22px 0 0;}
  .st-mvslider .slick-slide{margin:0 6px;}
  .st-mv__photo{border-radius:12px;}
  .st-mv__arrow{top:calc(50% - 24px);width:44px;height:44px;}
  .st-mv__arrow--prev{left:10px;}
  .st-mv__arrow--next{right:10px;}
  .st-mv__cta{position:static;transform:none;left:auto;bottom:auto;width:100%;grid-template-columns:1fr;gap:8px;border-radius:0;background:transparent;}
  .st-contact{flex-direction:column;}
  .st-contact__img{min-height:220px;}
  .st-contact__panel{flex:none;padding:44px 30px;}
  .st-contact__panel::before{display:none;}
  .st-pr__grid{grid-template-columns:1fr;gap:44px;}
  .st-fc__inner{flex-direction:column;text-align:center;gap:16px;}
  .st-fc__txt{text-align:center;}
  .st-fixedcta{display:grid;}
  body{padding-bottom:56px;}
  /* NEWSの「一覧を見る」はPCのみ左寄せ。1カラムになるSP/タブレットでは
     他セクションのボタンと揃えてセンター寄せに戻す */
  .st-btnwrap--left{text-align:center;}
}
@media (max-width:560px){
  body{font-size:15px;}
  /* ロゴは1行厳守（折返し崩れ防止）。logo.jpgは横縦比3.26なので高さで幅を制御
     mark91px+ja165px+burger42px+余白 ≒ 334px < 375px に収める
     ※!importantは後方「素材反映」ブロックの height:46px に勝つため */
  .st-logo{gap:6px;flex:none;}
  .st-logo__mark img{height:28px!important;}
  .st-logo__ja{font-size:15px;letter-spacing:.03em;white-space:nowrap;}
  .st-logo__en{font-size:13px;letter-spacing:.08em;white-space:nowrap;}
  .st-header__top{padding:10px 12px;gap:6px;}
  .st-hamburger{width:42px;height:42px;flex:none;margin-left:auto;}
  .st-feature__grid,.st-service__grid,.st-works__grid,.st-voice__inner{grid-template-columns:1fr;}
  .st-bottomcards__grid{grid-template-columns:1fr;}
  .st-voice__label{position:static;writing-mode:horizontal-tb;text-align:center;margin-bottom:24px;}
  .st-voice__inner,.st-voice .st-btnwrap{padding-left:20px;}
  .st-trouble__list li{font-size:15px;padding:14px 18px;}
  .st-morebtn{min-width:220px;}
  .st-works__tabs button{padding:10px 18px;font-size:14px;flex:1 0 28%;}
  .st-news__list a{flex-wrap:wrap;gap:8px 14px;}
  .st-news__list p{white-space:normal;width:100%;}
  .st-contact__panel::before{display:none;}
}

/* =========================================================
   MOTION & POLISH（完成度アップ・追加分）
   ========================================================= */

/* ---- スクロールリベール（JSで付与） ---- */
.st-reveal{opacity:0;transform:translateY(30px);transition:opacity .75s cubic-bezier(.2,.6,.2,1),transform .75s cubic-bezier(.2,.6,.2,1);}
.st-reveal.is-in{opacity:1;transform:none;}

/* ---- MV ロード時アニメーション ----
   ※CTAはtranslateX(-50%)センタリングを使うためtransform系keyframe禁止（打ち消される） */
@keyframes stFadeIn2{from{opacity:0;}to{opacity:1;}}
.st-mv__cta{animation:stFadeIn2 .8s .5s both;}

/* ---- カードのホバー演出 ---- */
.st-fcard{transition:transform .32s ease,box-shadow .32s ease;}
.st-fcard:hover{transform:translateY(-6px);box-shadow:0 16px 32px rgba(31,90,166,.15);}
.st-scard{transition:transform .32s ease,box-shadow .32s ease;}
.st-scard:hover{transform:translateY(-7px);box-shadow:0 20px 38px rgba(0,0,0,.15);}
.st-scard__more{transition:transform .3s ease;}
.st-scard:hover .st-scard__more{transform:scale(1.15) rotate(3deg);}
.st-scard__photo img{transition:transform .5s ease;}
.st-scard:hover .st-scard__photo img{transform:scale(1.06);}
.st-vcard{transition:transform .3s ease,box-shadow .3s ease;background-color:rgba(255,255,255,.55);}
.st-vcard:hover{transform:translateY(-5px);box-shadow:0 14px 26px rgba(0,0,0,.09);background-color:rgba(255,255,255,.8);}
.st-prcard{transition:transform .3s ease;}
.st-prcard:hover{transform:translateY(-5px);}
.st-prcard figure img{transition:transform .5s ease,box-shadow .3s ease;}
.st-prcard:hover figure img{transform:translate(-4px,-4px);}
.st-faqbanner{transition:transform .3s ease,box-shadow .3s ease;}
.st-faqbanner:hover{transform:translateY(-4px);box-shadow:0 14px 28px rgba(0,0,0,.1);}
.st-faqbanner__img img{transition:transform .5s ease;}
.st-faqbanner:hover .st-faqbanner__img img{transform:scale(1.06);}
.st-bcard{transition:transform .32s ease;}
.st-bcard:hover{transform:translateY(-5px);}
.st-bcard .en{transition:transform .32s ease;}
.st-bcard:hover .en{transform:scale(1.06);}
.st-mvcta,.st-btn,.st-morebtn,.st-contact__btn{transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease,filter .25s ease;}
.st-morebtn:active,.st-mvcta:active,.st-btn:active,.st-contact__btn:active{transform:translateY(1px);}
.st-footer__sns a{transition:transform .25s ease;}
.st-footer__sns a:hover{transform:translateY(-3px);}

/* ---- 微調整（余白・字間・可読性） ---- */
.st-mv__title{letter-spacing:.03em;}
.st-secttl .ja,.st-service__label,.st-feature__catch{letter-spacing:.08em;}
.st-trouble__list li{transition:transform .25s ease;}
.st-trouble__list li:hover{transform:translateX(4px);}
a:focus-visible,button:focus-visible{outline:3px solid rgba(46,109,180,.5);outline-offset:2px;border-radius:4px;}
.st-nav__list a{transition:background-color .2s ease,color .2s ease;}

/* =========================================================
   支給素材の反映（ロゴ・装飾・アイコン）
   ========================================================= */
.st-logo__mark img{height:46px;width:auto;background:transparent;}
.st-footer__logo img{width:260px;max-width:72%;height:auto;background:transparent;}
.st-fc__logo img{width:220px;}
/* お客様の声：家族イラスト（左下） */
.st-voice{overflow:hidden;}
.st-voice__family{position:absolute;left:0;bottom:0;width:min(310px,23%);z-index:1;pointer-events:none;background:transparent;}
@media (max-width:900px){
  .st-voice__family{display:none;}
  .st-trouble{background-image:none;}
}

/* ---- 極小端末（〜380px）のヘッダー保険 ---- */
@media (max-width:380px){
  .st-logo__mark img{height:24px!important;}
  .st-logo__ja{font-size:13.5px;}
  .st-logo__en{font-size:13px;}
}

/* =========================================================
   下層ページ共通
   ========================================================= */
/* Arkhe標準のページタイトルは使わない（ヒーローで表示） */
.c-pageTitle,.l-topTitleArea{display:none!important;}

/* コンテナ内から全幅へブレイクアウト（Arkheのl-container対策） */
.st-pagehero,.st-ctaband{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);}

/* ページヒーロー（ネイビー×金＝信頼バーと同系／※パンくずは施主方針で不使用） */
.st-pagehero{position:relative;overflow:hidden;padding:62px 20px 54px;text-align:center;color:#fff;
  background:
    radial-gradient(ellipse 800px 400px at 15% 10%,rgba(210,169,79,.12),transparent 60%),
    linear-gradient(150deg,#141b33 0%,#243159 55%,#141b33 100%);}
/* 背面の薄い写真（ページ別に --st-hero-img を渡す） */
.st-pagehero::before{content:"";position:absolute;inset:0;z-index:0;opacity:.16;
  background-image:var(--st-hero-img,none);background-size:cover;background-position:center;}
.st-pagehero > *{position:relative;z-index:1;}
.st-pagehero__icon{width:66px;height:66px;margin:0 auto 16px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(145deg,#D2A94F,#A87E28);box-shadow:0 8px 20px rgba(0,0,0,.28);}
.st-pagehero__icon i{font-size:27px;color:#141b33;}
.st-pagehero__en{display:block;font-family:"Poppins",sans-serif;font-size:13px;letter-spacing:.4em;color:#D2A94F;font-weight:600;margin-bottom:8px;text-transform:uppercase;}
.st-pagehero__ttl{font-size:clamp(25px,3.6vw,37px);font-weight:700;letter-spacing:.1em;}
.st-pagehero__ttl::after{content:"";display:block;width:56px;height:3px;background:#D2A94F;margin:15px auto 0;border-radius:2px;}
.st-pagehero__sub{margin-top:16px;font-size:14px;color:#c3cde3;line-height:1.9;}
@media (max-width:560px){
  .st-pagehero{padding:44px 18px 40px;}
  .st-pagehero__icon{width:54px;height:54px;margin-bottom:13px;}
  .st-pagehero__icon i{font-size:22px;}
  .st-pagehero__en{font-size:13px;letter-spacing:.32em;}
  .st-pagehero__sub{font-size:14px;}
}

/* 下層セクション共通 */
.st-page{padding:78px 0 0;}
.st-page section{margin-bottom:92px;}
.st-page .st-inner{max-width:1200px;}
/* 長文セクション専用の読みやすい幅 */
.st-page .st-inner--text{max-width:900px;}
.st-page__lead{text-align:center;font-size:16.5px;color:#46536b;margin:0 auto 46px;line-height:2.15;max-width:900px;}

/* 本文見出し */
.st-h2{font-size:clamp(22px,2.7vw,28px);font-weight:700;color:var(--green-d);margin-bottom:30px;padding-left:18px;border-left:5px solid var(--green);line-height:1.55;}
.st-h3{font-size:19px;font-weight:700;color:#2b3d5c;margin:38px 0 16px;padding-bottom:10px;border-bottom:2px solid var(--green-pale2);}
/* ⚠クラス無しのpだけを対象にする。`.st-page p` にすると
   .st-profile__name / .st-pmain__ttl などp要素のコンポーネント見出しに勝ってしまい
   文字サイズが本文サイズへ潰れる（実際に代表名が16pxに潰れた） */
.st-page p:not([class]){margin-bottom:1.2em;color:#3b475c;font-size:16px;line-height:2.1;}
.st-page p[class]{margin-bottom:1.2em;}

/* 定義テーブル（会社概要・施工詳細・料金） */
.st-table{width:100%;border-collapse:collapse;margin:24px 0 34px;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 4px 16px rgba(31,90,166,.07);}
.st-table th,.st-table td{padding:19px 24px!important;border:1px solid #CBDCEF;vertical-align:middle;font-size:16px;line-height:1.95;text-align:left;}
/* ⚠thの地色は .st-sec--tint（#EAF1F9）と同化するので必ずこれより濃くする */
.st-table th{background:#D5E4F5!important;color:#1b2942;font-weight:700;width:26%;white-space:nowrap;}
@media (max-width:640px){
  .st-table th,.st-table td{padding:13px 14px!important;font-size:15px;}
  .st-table th{width:36%;white-space:normal;}
}

/* 料金カード */
.st-pricegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:8px 0 12px;}
.st-pricecard{background:#fff;border:1px solid #DCE7F3;border-radius:14px;padding:26px 20px;text-align:center;box-shadow:var(--shadow);}
.st-pricecard h3{font-size:18px;font-weight:700;color:var(--green-d);margin-bottom:8px;}
.st-pricecard .price{font-family:"Poppins",sans-serif;font-size:26px;font-weight:700;color:#2b3d5c;}
.st-pricecard .price small{font-size:14px;font-weight:500;color:#5f6b80;}
.st-pricecard p{font-size:14px;color:#5f6b80;margin:10px 0 0;}
@media (max-width:820px){.st-pricegrid{grid-template-columns:1fr;}}
.st-note{font-size:14px;color:#8a93a5;}

/* FAQアコーディオン風（details） */
.st-faq details{background:#fff;border:1px solid #DCE7F3;border-radius:12px;margin-bottom:14px;overflow:hidden;}
.st-faq summary{cursor:pointer;list-style:none;display:flex;gap:14px;align-items:flex-start;padding:18px 20px;font-weight:700;color:#2b3d5c;font-size:15.5px;}
.st-faq summary::-webkit-details-marker{display:none;}
.st-faq summary::before{content:"Q";flex:none;width:30px;height:30px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-family:"Poppins",sans-serif;font-size:15px;}
.st-faq .a{display:flex;gap:14px;padding:0 20px 18px;color:#3b475c;font-size:15px;}
.st-faq .a::before{content:"A";flex:none;width:30px;height:30px;border-radius:50%;background:var(--orange);color:#fff;display:flex;align-items:center;justify-content:center;font-family:"Poppins",sans-serif;font-size:15px;}

/* 声カード（下層） */
.st-voicelist{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
@media (max-width:640px){.st-voicelist{grid-template-columns:1fr;}}

/* CTAバンド（下層末尾共通） */
.st-ctaband{background:linear-gradient(150deg,#141b33 0%,#243159 55%,#141b33 100%);color:#fff;text-align:center;padding:56px 20px;margin-bottom:0!important;}
/* ※.st-page p の色指定に負けないよう .st-page 付きでも明示 */
.st-ctaband__ttl,.st-page .st-ctaband__ttl{color:#fff;font-size:clamp(20px,2.6vw,28px);font-weight:700;letter-spacing:.06em;margin-bottom:8px;}
.st-ctaband__txt,.st-page .st-ctaband__txt{color:#c9d2e6;font-size:14px;margin-bottom:26px;}
.st-ctaband__btns{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;}
.st-ctaband__btns .st-mvcta{min-width:250px;}

/* フォーム（CF7） */
.st-form{max-width:760px;margin:0 auto;}
.st-form table{width:100%;border-collapse:collapse;}
.st-form th,.st-form td{padding:14px 12px!important;border-bottom:1px solid #E4EAF2;text-align:left;vertical-align:top;font-size:15px;}
.st-form th{width:32%;color:#2b3d5c;font-weight:700;padding-top:22px!important;}
.st-form .req,.st-form .opt{display:inline-block;font-size:14px;color:#fff;border-radius:4px;padding:1px 8px;margin-left:8px;vertical-align:middle;}
.st-form .req{background:#C9482E;}
.st-form .opt{background:#8a93a5;}
.st-form input[type="text"],.st-form input[type="tel"],.st-form input[type="email"],.st-form textarea{
  width:100%;border:1px solid #C9D4E4;border-radius:8px;padding:12px 14px;font-size:15px;font-family:inherit;background:#FBFCFE;}
.st-form input:focus,.st-form textarea:focus{outline:2px solid rgba(46,109,180,.45);background:#fff;}
.st-form .wpcf7-submit{display:block;min-width:280px;margin:34px auto 0;padding:16px 40px;border:none;border-radius:40px;cursor:pointer;
  background:linear-gradient(180deg,#f6b750,#ef9a1f);color:#fff;font-size:17px;font-weight:700;letter-spacing:.1em;box-shadow:0 6px 14px rgba(232,147,31,.35);}
.st-form .wpcf7-submit:hover{transform:translateY(-2px);}
.st-form .wpcf7-not-valid-tip{color:#C9482E;font-size:14px;margin-top:4px;}
@media (max-width:640px){
  .st-form th,.st-form td{display:block;width:100%;border-bottom:none;padding:6px 0!important;}
  .st-form td{padding-bottom:16px!important;border-bottom:1px solid #E4EAF2;}
}

/* 記事アーカイブ（施工事例・ブログ） */
.st-archive{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
@media (max-width:820px){.st-archive{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.st-archive{grid-template-columns:1fr;}}
.st-acard{background:#fff;border-radius:12px;overflow:hidden;box-shadow:var(--shadow);transition:transform .3s ease;}
.st-acard:hover{transform:translateY(-5px);}
.st-acard figure{margin:0;aspect-ratio:3/2;overflow:hidden;background:var(--green-pale);}
.st-acard figure img{width:100%;height:100%;object-fit:cover;transition:.4s;}
.st-acard:hover figure img{transform:scale(1.05);}
.st-acard__body{padding:16px 18px 18px;}
.st-acard__meta{display:flex;align-items:center;gap:10px;font-size:14px;margin-bottom:6px;}
.st-acard__meta time{font-family:"Poppins",sans-serif;color:var(--green-d);font-weight:600;}
.st-acard__meta .cat{color:#fff;background:var(--green-fc);padding:1px 10px;border-radius:20px;}
.st-acard__ttl{font-size:15px;font-weight:700;color:#2b3d5c;line-height:1.6;}
.st-pagination{display:flex;justify-content:center;gap:8px;margin-top:44px;}
.st-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;border-radius:8px;background:#fff;border:1px solid #DCE7F3;color:#2b3d5c;font-weight:700;padding:0 8px;}
.st-pagination .page-numbers.current{background:var(--green);color:#fff;border-color:var(--green);}

/* 記事本文（single） */
.st-single{max-width:840px;margin:0 auto;padding:0 20px;}
.st-single__meta{display:flex;align-items:center;gap:12px;margin:0 0 18px;font-size:14px;}
.st-single__meta time{font-family:"Poppins",sans-serif;color:var(--green-d);font-weight:600;}
.st-single__meta .cat{color:#fff;background:var(--green-fc);padding:2px 12px;border-radius:20px;font-size:14px;}
.st-single__ttl{font-size:clamp(22px,3vw,30px);font-weight:700;color:#2b3d5c;line-height:1.6;margin-bottom:26px;padding-bottom:18px;border-bottom:2px solid var(--green-pale2);}
.st-single__body{font-size:15.5px;line-height:2.1;color:#3b475c;}
.st-single__body h2{font-size:21px;font-weight:700;color:var(--green-d);margin:44px 0 18px;padding-left:14px;border-left:5px solid var(--green);}
.st-single__body h3{font-size:18px;font-weight:700;color:#2b3d5c;margin:34px 0 14px;padding-bottom:8px;border-bottom:2px solid var(--green-pale2);}
.st-single__body img{border-radius:10px;margin:14px 0;}
.st-single__body table{width:100%;border-collapse:collapse;margin:20px 0;}
.st-single__body th,.st-single__body td{padding:12px 16px!important;border:1px solid #DCE7F3;font-size:14.5px;}
.st-single__body th{background:var(--green-pale);white-space:nowrap;}

/* ---- モーション減設定を尊重 ---- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-delay:0ms!important;transition-duration:.001ms!important;}
  .st-reveal{opacity:1!important;transform:none!important;}
}

/* =========================================================
   下層ページ 専用コンポーネント（2026-07-30 全面刷新）
   ※Font Awesome 6 前提（header.phpでCDN読込）
   ========================================================= */

/* ---- 全幅ブレイクアウト対象を追加 ---- */
.st-band,.st-fullband{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);}

/* ---- リード文（金の縦罫＋ゴシック） ---- */
.st-lead2{max-width:920px;margin:0 auto 52px;padding:28px 32px;background:var(--green-pale);
  border-left:5px solid var(--green);border-radius:0 12px 12px 0;}
.st-lead2 p,.st-page .st-lead2 p{margin:0;font-size:16.5px;line-height:2.15;color:#33425c;font-weight:500;}
.st-lead2 p + p{margin-top:.7em;}
.st-lead2 b{color:var(--green-d);}

/* ---- セクション見出し（中央・英字サブ付き） ---- */
.st-h2c{text-align:center;margin-bottom:48px;}
.st-h2c__en{display:block;font-family:"Poppins",sans-serif;font-size:13px;letter-spacing:.34em;color:var(--green-fc);font-weight:600;margin-bottom:6px;text-transform:uppercase;}
.st-h2c__ja{display:block;font-size:clamp(21px,2.8vw,29px);font-weight:700;color:#1f2c48;letter-spacing:.05em;line-height:1.5;}
.st-h2c__ja i{color:var(--green);margin-right:10px;}
.st-h2c::after{content:"";display:block;width:48px;height:3px;background:var(--green);margin:15px auto 0;border-radius:2px;}
.st-h2c--light .st-h2c__en{color:#D2A94F;}
.st-h2c--light .st-h2c__ja{color:#fff;}
.st-h2c--light .st-h2c__ja i{color:#D2A94F;}
.st-h2c--light::after{background:#D2A94F;}

/* ---- 強みアイコングリッド ---- */
.st-strengths{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.st-strengths li{background:#fff;border:1px solid #DCE7F3;border-radius:14px;padding:26px 20px 22px;text-align:center;box-shadow:0 4px 14px rgba(31,90,166,.07);}
.st-strengths .ico{width:56px;height:56px;margin:0 auto 14px;border-radius:50%;background:var(--green-pale2);display:flex;align-items:center;justify-content:center;}
.st-strengths .ico i{font-size:24px;color:var(--green-d);}
.st-strengths .ttl{display:block;font-size:16px;font-weight:700;color:#1f2c48;margin-bottom:8px;line-height:1.5;}
.st-strengths .txt{display:block;font-size:14px;color:#5a677f;line-height:1.85;}
@media (max-width:820px){.st-strengths{grid-template-columns:1fr 1fr;gap:14px;}}
/* ⚠SPは display:flex にすると ico|ttl|txt が横3列になりタイトルが縦読みに潰れる。
   grid 2列（アイコン列＋テキスト列）にして、説明文はタイトルの下に回す。 */
@media (max-width:520px){
  .st-strengths{grid-template-columns:1fr;}
  .st-strengths li{display:grid;grid-template-columns:46px 1fr;gap:4px 15px;align-items:center;text-align:left;padding:20px 18px;}
  .st-strengths .ico{margin:0;width:46px;height:46px;grid-column:1;grid-row:1;}
  .st-strengths .ico i{font-size:20px;}
  .st-strengths .ttl{grid-column:2;grid-row:1;margin-bottom:0;}
  .st-strengths .txt{grid-column:1 / -1;grid-row:2;margin-top:6px;}
}

/* ---- サービス詳細ブロック（左右交互） ---- */
/* scroll-margin-top はトップのサービスカードから #svc-01 等で飛んできた時に
   position:sticky のヘッダーへ潜り込ませないための逃がし */
.st-svc{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;margin-bottom:34px;
  scroll-margin-top:130px;
  background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 10px 30px rgba(31,90,166,.10);}
.st-svc__photo{margin:0;position:relative;min-height:320px;}
.st-svc__photo img{width:100%;height:100%;object-fit:cover;}
.st-svc__no{position:absolute;top:0;left:0;background:linear-gradient(145deg,#D2A94F,#A87E28);color:#141b33;
  font-family:"Poppins",sans-serif;font-weight:700;font-size:15px;padding:7px 18px 7px 16px;letter-spacing:.08em;}
.st-svc__body{padding:34px 34px 30px;display:flex;flex-direction:column;}
.st-svc__ttl{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:700;color:var(--green-d);margin-bottom:14px;line-height:1.4;}
.st-svc__ttl i{flex:none;width:42px;height:42px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:19px;}
.st-svc__cat{font-size:15px;font-weight:700;color:#1f2c48;background:var(--green-pale);border-radius:6px;padding:9px 14px;margin-bottom:14px;line-height:1.6;}
.st-svc__txt,.st-page .st-svc__txt{font-size:14.8px;line-height:2;color:#46536b;margin-bottom:16px;}
.st-svc__list{margin-top:auto;border-top:1px dashed #C9D9EC;padding-top:16px;}
.st-svc__list li{display:flex;gap:10px;font-size:14px;color:#3b475c;line-height:1.8;margin-bottom:7px;}
.st-svc__list li:last-child{margin-bottom:0;}
.st-svc__list i{flex:none;color:var(--green);font-size:14px;margin-top:5px;}
.st-svc:nth-child(even) .st-svc__photo{order:2;}
@media (max-width:860px){
  .st-svc{grid-template-columns:1fr;}
  .st-svc__photo{min-height:0;aspect-ratio:16/9;}
  .st-svc:nth-child(even) .st-svc__photo{order:0;}
  .st-svc__body{padding:24px 22px 22px;}
  .st-svc__ttl{font-size:19px;}
}

/* ---- タグチップ ---- */
.st-chips{display:flex;flex-wrap:wrap;gap:8px;}
.st-chip{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:var(--green-d);
  background:var(--green-pale);border:1px solid var(--green-pale2);border-radius:20px;padding:4px 13px;}
.st-chip i{font-size:11px;}

/* ---- ダークバンド（VALPAINT等の高級ゾーン） ---- */
.st-band{position:relative;overflow:hidden;padding:70px 20px;color:#fff;
  background:linear-gradient(150deg,#141b33 0%,#243159 55%,#141b33 100%);}
.st-band--brush{background:linear-gradient(150deg,rgba(20,17,12,.80) 0%,rgba(32,26,16,.86) 100%),url('/wp-content/uploads/valpaint-brush.webp') center/cover no-repeat #1c1a17;}
.st-band__inner{max-width:1000px;margin:0 auto;}
.st-band p,.st-page .st-band p{color:#d6deee;font-size:15px;line-height:2.05;}
.st-band__gal{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0 24px;}
.st-band__gal figure{margin:0;aspect-ratio:4/3;border-radius:10px;overflow:hidden;border:1px solid rgba(210,169,79,.35);}
.st-band__gal img{width:100%;height:100%;object-fit:cover;}
.st-band__badge{display:inline-flex;align-items:center;gap:10px;border:1px solid #D2A94F;color:#D2A94F;
  border-radius:30px;padding:8px 22px;font-size:13.5px;font-weight:700;letter-spacing:.06em;}
@media (max-width:700px){.st-band{padding:50px 18px;}.st-band__gal{grid-template-columns:1fr 1fr;gap:9px;}}

/* ---- 対応建物タイプ ---- */
.st-typegrid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;}
.st-typegrid li{border-radius:12px;overflow:hidden;position:relative;aspect-ratio:3/4;box-shadow:var(--shadow);}
.st-typegrid img{width:100%;height:100%;object-fit:cover;}
.st-typegrid .cap{position:absolute;inset:auto 0 0 0;padding:26px 10px 12px;text-align:center;color:#fff;font-size:14px;font-weight:700;
  background:linear-gradient(to top,rgba(15,22,42,.88),transparent);}
.st-typegrid .cap i{display:block;font-size:17px;color:#D2A94F;margin-bottom:5px;}
@media (max-width:820px){.st-typegrid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:480px){.st-typegrid{grid-template-columns:1fr 1fr;gap:9px;}}

/* ---- 診断3本柱 ---- */
.st-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.st-pillar{background:#fff;border:2px solid var(--green-pale2);border-radius:16px;padding:0 0 24px;overflow:hidden;box-shadow:0 6px 20px rgba(31,90,166,.08);}
.st-pillar__head{background:linear-gradient(135deg,var(--green-d),var(--green));color:#fff;padding:18px 20px;display:flex;align-items:center;gap:12px;}
.st-pillar__head i{font-size:22px;color:#F3D48A;}
.st-pillar__head b{font-size:16.5px;font-weight:700;line-height:1.4;}
.st-pillar__body{padding:18px 22px 0;}
.st-pillar__body p,.st-page .st-pillar__body p{font-size:14px;line-height:1.95;color:#46536b;margin:0;}
@media (max-width:820px){.st-pillars{grid-template-columns:1fr;}}

/* ---- 塗料グレードカード ---- */
.st-paintgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.st-paint{background:#fff;border:1px solid #DCE7F3;border-radius:14px;padding:22px 20px;position:relative;box-shadow:0 4px 14px rgba(31,90,166,.07);}
.st-paint--rec{border:2px solid var(--orange);}
.st-paint__rec{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--orange);color:#fff;
  font-size:13px;font-weight:700;border-radius:20px;padding:3px 15px;white-space:nowrap;}
.st-paint h3{font-size:16.5px;font-weight:700;color:var(--green-d);margin-bottom:6px;display:flex;align-items:center;gap:8px;}
.st-paint h3 i{font-size:15px;color:var(--green-fc);}
.st-paint .yrs{font-family:"Poppins",sans-serif;font-size:24px;font-weight:700;color:#1f2c48;line-height:1.2;margin-bottom:2px;}
.st-paint .yrs small{font-size:14px;font-weight:500;color:#5f6b80;margin-left:3px;}
.st-paint .desc,.st-page .st-paint .desc{font-size:14px;color:#5a677f;line-height:1.85;margin:10px 0 0;}
@media (max-width:820px){.st-paintgrid{grid-template-columns:1fr 1fr;}}
@media (max-width:520px){.st-paintgrid{grid-template-columns:1fr;}}

/* =========================================================
   価格表
   ========================================================= */
.st-pmain{display:grid;grid-template-columns:1fr 1.22fr 1fr;gap:0;border-radius:18px;overflow:hidden;
  box-shadow:0 14px 40px rgba(20,27,51,.16);margin-bottom:18px;}
.st-pmain__col{background:#fff;padding:30px 22px 28px;text-align:center;border-right:1px solid #E2EAF4;position:relative;}
.st-pmain__col:last-child{border-right:none;}
.st-pmain__col--hero{background:linear-gradient(150deg,#141b33 0%,#243159 55%,#141b33 100%);color:#fff;}
.st-pmain__ico{width:52px;height:52px;margin:0 auto 12px;border-radius:50%;background:var(--green-pale2);display:flex;align-items:center;justify-content:center;}
.st-pmain__ico i{font-size:22px;color:var(--green-d);}
.st-pmain__col--hero .st-pmain__ico{background:linear-gradient(145deg,#D2A94F,#A87E28);}
.st-pmain__col--hero .st-pmain__ico i{color:#141b33;}
.st-pmain__ttl{font-size:17px;font-weight:700;color:#1f2c48;margin-bottom:4px;}
.st-pmain__col--hero .st-pmain__ttl{color:#fff;}
.st-pmain__sub{font-size:14px;color:#7b8699;margin-bottom:14px;}
.st-pmain__col--hero .st-pmain__sub{color:#c1cbe1;}
.st-pmain__price{font-family:"Poppins",sans-serif;font-weight:700;color:var(--green-d);line-height:1;
  font-size:clamp(30px,3.6vw,42px);letter-spacing:-.01em;}
.st-pmain__col--hero .st-pmain__price{color:#F3D48A;font-size:clamp(34px,4.2vw,50px);}
.st-pmain__price small{font-size:15px;font-weight:600;margin-left:2px;}
.st-pmain__tax{font-size:14px;color:#7b8699;margin-top:6px;}
.st-pmain__col--hero .st-pmain__tax{color:#c1cbe1;}
.st-pmain__off{display:inline-block;margin-top:16px;background:linear-gradient(145deg,#E0BC6A,#B8903A);color:#141b33;font-size:14px;font-weight:700;
  border-radius:20px;padding:7px 22px;}
.st-pmain__ribbon{position:absolute;top:0;left:0;right:0;background:linear-gradient(145deg,#D2A94F,#A87E28);color:#141b33;font-size:13px;font-weight:700;letter-spacing:.12em;padding:7px;}
.st-pmain__col--hero{padding-top:44px;}
@media (max-width:860px){
  .st-pmain{grid-template-columns:1fr;}
  .st-pmain__col{border-right:none;border-bottom:1px solid #E2EAF4;}
  .st-pmain__col--hero{order:-1;}
}

/* 保証バッジ3連 */
.st-gtee{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0 0;}
.st-gtee li{display:flex;align-items:center;gap:12px;background:#fff;border:2px solid var(--green-pale2);border-radius:12px;padding:16px 18px;}
.st-gtee i{flex:none;font-size:24px;color:var(--green);}
.st-gtee b{display:block;font-size:15px;color:#1f2c48;line-height:1.4;}
.st-gtee span{display:block;font-size:14px;color:#6b7789;margin-top:3px;}
@media (max-width:820px){.st-gtee{grid-template-columns:1fr;}}

/* 内訳（バー付き） */
.st-bd{background:#fff;border:1px solid #DCE7F3;border-radius:14px;padding:26px 28px;box-shadow:var(--shadow);}
.st-bd__row{display:grid;grid-template-columns:190px 1fr 120px;gap:14px;align-items:center;padding:11px 0;border-bottom:1px dashed #DCE7F3;}
.st-bd__row:last-of-type{border-bottom:none;}
.st-bd__name{font-size:14.5px;font-weight:700;color:#1f2c48;display:flex;align-items:center;gap:9px;}
.st-bd__name i{color:var(--green-fc);font-size:14px;width:18px;text-align:center;}
.st-bd__bar{height:12px;border-radius:8px;background:var(--green-pale);overflow:hidden;}
.st-bd__bar span{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,var(--green-fc),var(--green-d));}
.st-bd__val{text-align:right;font-family:"Poppins",sans-serif;font-weight:600;font-size:14.5px;color:#2b3d5c;}
.st-bd__total{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:16px;border-top:2px solid var(--green-pale2);}
.st-bd__total b{font-size:16px;color:#1f2c48;}
.st-bd__total .v{font-family:"Poppins",sans-serif;font-size:26px;font-weight:700;color:var(--green-d);}
@media (max-width:700px){
  .st-bd{padding:20px 18px;}
  .st-bd__row{grid-template-columns:1fr auto;gap:6px 12px;}
  .st-bd__bar{grid-column:1/-1;order:3;}
  .st-bd__val{order:2;}
}

/* なぜこの価格でできるのか */
.st-why{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.st-why li{background:var(--green-pale);border-radius:14px;padding:24px 18px;text-align:center;}
.st-why .n{font-family:"Poppins",sans-serif;font-size:13px;font-weight:700;color:var(--green-fc);letter-spacing:.2em;display:block;margin-bottom:8px;}
.st-why i{font-size:28px;color:var(--green-d);margin-bottom:12px;display:block;}
.st-why b{display:block;font-size:15px;color:#1f2c48;line-height:1.5;margin-bottom:7px;}
.st-why span{display:block;font-size:14px;color:#5a677f;line-height:1.8;}
@media (max-width:900px){.st-why{grid-template-columns:1fr 1fr;}}
@media (max-width:480px){.st-why{grid-template-columns:1fr;}}

/* 注意喚起ボックス */
.st-warn{background:#FEF7EC;border:2px solid #F2C778;border-radius:14px;padding:26px 28px;}
.st-warn__ttl{display:flex;align-items:center;gap:11px;font-size:18px;font-weight:700;color:#9A6510;margin-bottom:14px;}
.st-warn__ttl i{font-size:22px;color:#E09A28;}
.st-warn ul li{display:flex;gap:11px;font-size:14.5px;line-height:1.95;color:#6E5220;margin-bottom:9px;}
.st-warn ul li:last-child{margin-bottom:0;}
.st-warn ul i{flex:none;color:#C9482E;margin-top:6px;font-size:13px;}
@media (max-width:600px){.st-warn{padding:20px 18px;}}

/* =========================================================
   お客様の声
   ========================================================= */
.st-gscore{display:grid;grid-template-columns:250px 1fr;gap:34px;align-items:center;
  background:#fff;border:1px solid #DCE7F3;border-radius:18px;padding:32px 34px;box-shadow:var(--shadow);}
.st-gscore__num{text-align:center;}
.st-gscore__num .v{font-family:"Poppins",sans-serif;font-size:58px;font-weight:700;color:#1f2c48;line-height:1;}
.st-gscore__num .stars{display:block;color:#F2A93B;font-size:20px;letter-spacing:3px;margin:8px 0 6px;}
.st-gscore__num .cnt{font-size:14px;color:#6b7789;}
.st-gscore__num .src{display:inline-flex;align-items:center;gap:7px;margin-top:10px;font-size:14px;color:#5a677f;background:var(--green-pale);border-radius:20px;padding:4px 14px;}
.st-gscore__bars li{display:grid;grid-template-columns:52px 1fr 40px;gap:12px;align-items:center;margin-bottom:8px;font-size:14px;color:#5a677f;}
.st-gscore__bars .bar{height:10px;background:var(--green-pale);border-radius:6px;overflow:hidden;}
.st-gscore__bars .bar span{display:block;height:100%;background:#F2A93B;border-radius:6px;}
@media (max-width:760px){.st-gscore{grid-template-columns:1fr;gap:22px;padding:24px 20px;}}

.st-voicelist2{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
@media (max-width:760px){.st-voicelist2{grid-template-columns:1fr;}}
.st-vc{background:#fff;border:1px solid #DCE7F3;border-radius:16px;padding:26px 26px 22px;position:relative;box-shadow:0 6px 20px rgba(31,90,166,.08);}
.st-vc::before{content:"\201C";position:absolute;top:6px;right:18px;font-family:Georgia,serif;font-size:76px;line-height:1;color:var(--green-pale2);}
.st-vc__head{display:flex;align-items:center;gap:14px;margin-bottom:14px;position:relative;z-index:1;}
.st-vc__av{flex:none;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--green-d),var(--green-fc));
  color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;font-family:"Poppins",sans-serif;}
.st-vc__meta b{display:block;font-size:15px;color:#1f2c48;line-height:1.4;}
.st-vc__meta .sub{font-size:14px;color:#7b8699;}
.st-vc__rate{margin-left:auto;text-align:right;flex:none;}
.st-vc__rate .stars{display:block;color:#F2A93B;font-size:14px;letter-spacing:2px;}
.st-vc__rate .v{font-family:"Poppins",sans-serif;font-size:14px;font-weight:700;color:#5a677f;}
.st-vc__txt,.st-page .st-vc__txt{font-size:14.5px;line-height:2;color:#46536b;margin-bottom:14px;position:relative;z-index:1;}
.st-vc .st-chips{position:relative;z-index:1;}
.st-vc--soon{background:var(--green-pale);border-style:dashed;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:180px;}
.st-vc--soon::before{display:none;}
.st-vc--soon i{font-size:30px;color:var(--green-fc);margin-bottom:12px;}
.st-vc--soon b{font-size:15px;color:#1f2c48;margin-bottom:6px;}
.st-vc--soon span{font-size:14px;color:#6b7789;line-height:1.8;}

/* 満足度パネル */
.st-satis{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;text-align:center;}
.st-satis li{background:linear-gradient(150deg,#141b33 0%,#243159 55%,#141b33 100%);border-radius:16px;padding:30px 20px;color:#fff;}
.st-satis .v{font-family:"Poppins",sans-serif;font-size:44px;font-weight:700;color:#F3D48A;line-height:1;}
.st-satis .v small{font-size:19px;margin-left:2px;}
.st-satis b{display:block;font-size:15px;margin-top:10px;}
.st-satis span{display:block;font-size:14px;color:#b9c3da;margin-top:5px;line-height:1.7;}
@media (max-width:760px){.st-satis{grid-template-columns:1fr;}}

/* =========================================================
   FAQ（開閉ボタン付き）
   ========================================================= */
.st-faqnav{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:44px;}
.st-faqnav a{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--green-d);
  background:#fff;border:2px solid var(--green-pale2);border-radius:30px;padding:9px 20px;}
.st-faqnav a:hover{background:var(--green);border-color:var(--green);color:#fff;}
.st-faqcat{margin-bottom:48px;}
.st-faqcat__ttl{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:700;color:#1f2c48;margin-bottom:18px;
  padding-bottom:12px;border-bottom:2px solid var(--green-pale2);scroll-margin-top:130px;}
.st-faqcat__ttl i{width:36px;height:36px;flex:none;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;}

.st-faq2 details{background:#fff;border:1px solid #DCE7F3;border-radius:12px;margin-bottom:12px;overflow:hidden;transition:box-shadow .25s;}
.st-faq2 details[open]{box-shadow:0 6px 20px rgba(31,90,166,.10);border-color:var(--green-pale2);}
.st-faq2 summary{cursor:pointer;list-style:none;display:flex;gap:14px;align-items:center;padding:18px 58px 18px 20px;
  font-weight:700;color:#1f2c48;font-size:15.5px;line-height:1.6;position:relative;}
.st-faq2 summary::-webkit-details-marker{display:none;}
.st-faq2 summary:hover{background:#F7FAFD;}
.st-faq2 summary .q{flex:none;width:32px;height:32px;border-radius:50%;background:var(--green);color:#fff;
  display:flex;align-items:center;justify-content:center;font-family:"Poppins",sans-serif;font-size:15px;font-weight:700;}
/* ＋／− 開閉ボタン */
.st-faq2 summary::after{content:"\f067";font-family:"Font Awesome 6 Free";font-weight:900;
  position:absolute;right:18px;top:50%;transform:translateY(-50%);
  width:30px;height:30px;border-radius:50%;background:var(--green-pale);color:var(--green-d);
  display:flex;align-items:center;justify-content:center;font-size:13px;transition:.25s;}
.st-faq2 details[open] summary::after{content:"\f068";background:var(--green);color:#fff;}
.st-faq2 .a{display:flex;gap:14px;padding:0 20px 20px;color:#46536b;font-size:15px;line-height:2;}
.st-faq2 .a::before{content:"A";flex:none;width:32px;height:32px;border-radius:50%;background:var(--orange);color:#fff;
  display:flex;align-items:center;justify-content:center;font-family:"Poppins",sans-serif;font-size:15px;font-weight:700;}
.st-faq2 .a > div{padding-top:4px;}
@media (max-width:560px){
  .st-faq2 summary{font-size:14.5px;padding:15px 50px 15px 15px;gap:11px;}
  .st-faq2 summary .q,.st-faq2 .a::before{width:27px;height:27px;font-size:14px;}
  .st-faq2 .a{padding:0 15px 16px;font-size:14px;gap:11px;}
  .st-faq2 summary::after{right:13px;width:26px;height:26px;font-size:12px;}
  .st-faqcat__ttl{font-size:17px;}
}

/* =========================================================
   会社案内
   ========================================================= */
.st-profile{display:grid;grid-template-columns:300px 1fr;gap:0;background:#fff;border-radius:18px;overflow:hidden;
  box-shadow:0 12px 36px rgba(20,27,51,.14);}
.st-profile__ph{margin:0;position:relative;background:#1a2338;}
.st-profile__ph img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%) contrast(1.06);}
.st-profile__ph figcaption{position:absolute;inset:auto 0 0 0;padding:22px 16px 12px;text-align:center;font-size:14px;color:#dfe6f3;
  background:linear-gradient(to top,rgba(15,22,42,.9),transparent);}
.st-profile__body{padding:34px 36px 32px;}
.st-profile__role{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.14em;color:#141b33;
  background:linear-gradient(145deg,#D2A94F,#A87E28);border-radius:4px;padding:4px 14px;margin-bottom:12px;}
.st-profile__name{font-size:28px;font-weight:700;color:#1f2c48;letter-spacing:.06em;line-height:1.3;}
.st-profile__name span{display:block;font-family:"Poppins",sans-serif;font-size:13px;font-weight:600;letter-spacing:.24em;color:var(--green-fc);margin-top:7px;text-transform:uppercase;}
.st-profile__catch{margin:18px 0 16px;padding:14px 18px;background:var(--green-pale);border-left:4px solid var(--green);border-radius:0 8px 8px 0;
  font-size:16px;font-weight:700;color:var(--green-d);line-height:1.7;}
.st-profile__body p,.st-page .st-profile__body p{font-size:16px;line-height:2.1;color:#46536b;}
.st-profile .st-chips{margin-top:16px;}
@media (max-width:820px){
  .st-profile{grid-template-columns:1fr;}
  .st-profile__ph{aspect-ratio:4/3;}
  .st-profile__ph img{object-position:center 22%;}
  .st-profile__body{padding:26px 22px 24px;}
  .st-profile__name{font-size:24px;}
}

/* 「塗想」メッセージ */
.st-message{position:relative;background:linear-gradient(150deg,#141b33 0%,#243159 55%,#141b33 100%);
  border-radius:18px;padding:48px 52px 44px;color:#fff;overflow:hidden;}
.st-message::before{content:"";position:absolute;inset:14px;border:1px solid rgba(210,169,79,.32);border-radius:12px;pointer-events:none;}
.st-message__kanji{display:block;text-align:center;font-size:clamp(40px,6vw,64px);font-weight:700;color:#D2A94F;letter-spacing:.3em;
  line-height:1.2;margin-bottom:6px;text-indent:.3em;}
.st-message__sub{text-align:center;font-size:13.5px;letter-spacing:.22em;color:#c8d2e6;margin-bottom:30px;}
.st-message p,.st-page .st-message p{font-size:15px;line-height:2.15;color:#dbe2ef;margin-bottom:1.2em;position:relative;}
.st-message p:last-of-type{margin-bottom:0;}
.st-message__sign{text-align:right;margin-top:26px;font-size:14px;color:#fff;}
.st-message__sign b{font-size:19px;letter-spacing:.08em;margin-left:8px;}
@media (max-width:700px){
  .st-message{padding:34px 22px 30px;}
  .st-message::before{inset:9px;}
  .st-message p,.st-page .st-message p{font-size:14.3px;line-height:2.05;}
}

/* 年表 */
.st-tl{position:relative;padding-left:34px;}
.st-tl::before{content:"";position:absolute;left:9px;top:8px;bottom:8px;width:2px;background:var(--green-pale2);}
.st-tl li{position:relative;padding-bottom:26px;}
.st-tl li:last-child{padding-bottom:0;}
.st-tl li::before{content:"";position:absolute;left:-31px;top:6px;width:20px;height:20px;border-radius:50%;
  background:#fff;border:4px solid var(--green);}
.st-tl .yr{display:inline-block;font-family:"Poppins",sans-serif;font-size:13px;font-weight:700;color:#fff;
  background:var(--green-d);border-radius:20px;padding:2px 14px;margin-bottom:7px;}
.st-tl b{display:block;font-size:16px;color:#1f2c48;margin-bottom:5px;line-height:1.5;}
.st-tl span{display:block;font-size:14px;color:#5a677f;line-height:1.9;}

/* メディア掲載 */
.st-media{display:grid;grid-template-columns:280px 1fr;gap:30px;align-items:center;
  background:var(--green-pale);border-radius:16px;padding:28px 32px;}
.st-media figure{margin:0;border-radius:10px;overflow:hidden;box-shadow:0 8px 22px rgba(20,27,51,.18);background:#fff;}
.st-media__ttl{display:flex;align-items:center;gap:11px;font-size:19px;font-weight:700;color:#1f2c48;margin-bottom:12px;}
.st-media__ttl i{color:var(--green);font-size:19px;}
.st-media p,.st-page .st-media p{font-size:14.5px;line-height:2;color:#46536b;margin:0;}
@media (max-width:760px){.st-media{grid-template-columns:1fr;gap:20px;padding:22px 20px;}.st-media figure{max-width:260px;margin:0 auto;}}

/* 許可・資格バッジ */
.st-badges{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.st-badges li{text-align:center;background:#fff;border:2px solid var(--green-pale2);border-radius:14px;padding:22px 14px;}
.st-badges i{font-size:26px;color:#B08A34;display:block;margin-bottom:10px;}
.st-badges b{display:block;font-size:14.5px;color:#1f2c48;line-height:1.5;}
.st-badges span{display:block;font-size:14px;color:#6b7789;margin-top:5px;line-height:1.6;}
@media (max-width:820px){.st-badges{grid-template-columns:1fr 1fr;}}

/* 対応エリア */
.st-area{background:#fff;border:1px solid #DCE7F3;border-radius:14px;padding:26px 28px;}
.st-area__main{display:flex;align-items:center;gap:12px;font-size:17px;font-weight:700;color:var(--green-d);margin-bottom:14px;}
.st-area__main i{font-size:20px;}
.st-area .st-chips{margin-bottom:12px;}

/* 定義テーブルのアイコン */
.st-table th i{color:var(--green-fc);margin-right:8px;width:16px;text-align:center;}

/* =========================================================
   採用・お問い合わせ
   ========================================================= */
.st-rechero{position:relative;border-radius:18px;overflow:hidden;margin-bottom:40px;}
.st-rechero img{width:100%;aspect-ratio:21/9;object-fit:cover;}
.st-rechero__copy{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:20px;background:linear-gradient(to right,rgba(15,22,42,.78),rgba(15,22,42,.35));color:#fff;}
.st-rechero__copy b{font-size:clamp(20px,3.4vw,32px);line-height:1.5;letter-spacing:.06em;text-shadow:0 2px 12px rgba(0,0,0,.5);}
.st-rechero__copy span{font-size:14px;color:#e2e8f4;margin-top:12px;}

.st-recpoint{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.st-recpoint li{background:#fff;border:1px solid #DCE7F3;border-radius:14px;padding:26px 22px;box-shadow:0 4px 14px rgba(31,90,166,.07);}
.st-recpoint i{font-size:26px;color:var(--green);margin-bottom:12px;display:block;}
.st-recpoint b{display:block;font-size:16px;color:#1f2c48;margin-bottom:8px;line-height:1.5;}
.st-recpoint span{display:block;font-size:14px;color:#5a677f;line-height:1.9;}
@media (max-width:820px){.st-recpoint{grid-template-columns:1fr;}}

.st-ways{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:40px;}
.st-way{border-radius:16px;padding:28px 26px;text-align:center;border:2px solid var(--green-pale2);background:#fff;}
.st-way--tel{background:linear-gradient(150deg,#141b33 0%,#243159 55%,#141b33 100%);border-color:transparent;color:#fff;}
.st-way__ico{width:56px;height:56px;margin:0 auto 14px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--green-pale2);}
.st-way__ico i{font-size:24px;color:var(--green-d);}
.st-way--tel .st-way__ico{background:linear-gradient(145deg,#D2A94F,#A87E28);}
.st-way--tel .st-way__ico i{color:#141b33;}
.st-way b{display:block;font-size:17px;color:#1f2c48;margin-bottom:6px;}
.st-way--tel b{color:#fff;}
.st-way .num{display:block;font-family:"Poppins",sans-serif;font-size:clamp(26px,3.6vw,34px);font-weight:700;color:#F3D48A;letter-spacing:.02em;margin:6px 0 4px;}
.st-way .num:hover{opacity:.85;}
.st-way span,.st-page .st-way span{display:block;font-size:14px;color:#6b7789;line-height:1.85;}
.st-way--tel span,.st-page .st-way--tel span{color:#c1cbe1;}
@media (max-width:700px){.st-ways{grid-template-columns:1fr;}}

/* 流れ（下層版・番号付き横並び） */
.st-steps2{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;}
.st-steps2 li{background:#fff;border:1px solid #DCE7F3;border-radius:14px;padding:22px 16px 20px;text-align:center;position:relative;}
.st-steps2 .n{display:block;font-family:"Poppins",sans-serif;font-size:13px;font-weight:700;letter-spacing:.16em;color:var(--green-fc);margin-bottom:9px;}
.st-steps2 i{font-size:25px;color:var(--green-d);display:block;margin-bottom:11px;}
.st-steps2 b{display:block;font-size:15.5px;color:#1f2c48;line-height:1.5;margin-bottom:6px;}
.st-steps2 span{display:block;font-size:14px;color:#5a677f;line-height:1.8;}
@media (max-width:900px){.st-steps2{grid-template-columns:1fr 1fr;}}
@media (max-width:480px){.st-steps2{grid-template-columns:1fr;}}

/* 番号付き手順（プラポリ等の本文用リスト） */
.st-numlist{counter-reset:stnum;}
.st-numlist > li{counter-increment:stnum;position:relative;padding-left:38px;margin-bottom:14px;font-size:15px;line-height:2;color:#46536b;}
.st-numlist > li::before{content:counter(stnum);position:absolute;left:0;top:4px;width:26px;height:26px;border-radius:50%;
  background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-family:"Poppins",sans-serif;font-size:13px;font-weight:700;}

/* チェックリスト */
.st-checks li{display:flex;gap:12px;font-size:15px;line-height:2;color:#46536b;margin-bottom:10px;}
.st-checks i{flex:none;color:var(--green);font-size:15px;margin-top:6px;}

/* 下層でのセクション背景切り替え */
.st-page .st-sec--tint{background:var(--green-pale);padding:80px 0;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);}
.st-page .st-sec--tint > .st-inner{max-width:1200px;margin:0 auto;padding:0 20px;}

/* ---- ページ別ヒーロー背景写真 ---- */
.st-pagehero--company{--st-hero-img:url('/wp-content/uploads/building.jpg');}
.st-pagehero--service{--st-hero-img:url('/wp-content/uploads/photo-04.jpg');}
.st-pagehero--price{--st-hero-img:url('/wp-content/uploads/top_price.jpg');}
.st-pagehero--voice{--st-hero-img:url('/wp-content/uploads/photo-11.jpg');}
.st-pagehero--faq{--st-hero-img:url('/wp-content/uploads/faq_head.jpg');}
.st-pagehero--recruit{--st-hero-img:url('/wp-content/uploads/top_staff.jpg');}
.st-pagehero--contact{--st-hero-img:url('/wp-content/uploads/contactbg.jpg');}
.st-pagehero--works{--st-hero-img:url('/wp-content/uploads/photo-11.jpg');}
.st-pagehero--blog{--st-hero-img:url('/wp-content/uploads/photo-06.jpg');}
.st-pagehero--news{--st-hero-img:url('/wp-content/uploads/building.jpg');}

/* ---- 記事本文（single）の要素を補強 ---- */
.st-single__body > *:first-child{margin-top:0;}
.st-single__body p{margin-bottom:1.5em;}
.st-single__body a{color:var(--green-d);text-decoration:underline;text-underline-offset:3px;font-weight:700;}
.st-single__body a:hover{color:var(--orange-d);}
.st-single__body strong,.st-single__body b{color:#1f2c48;font-weight:700;}
.st-single__body h4{font-size:16.5px;font-weight:700;color:var(--green-d);margin:26px 0 10px;display:flex;align-items:center;gap:9px;}
.st-single__body h4 i{font-size:15px;}
.st-single__body ul,.st-single__body ol{margin:0 0 1.6em;padding-left:0;}
.st-single__body ul li{position:relative;padding-left:26px;margin-bottom:9px;}
.st-single__body ul li::before{content:"\f00c";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;left:0;top:2px;color:var(--green);font-size:13px;}
.st-single__body ol{counter-reset:stol;list-style:none;}
.st-single__body ol li{counter-increment:stol;position:relative;padding-left:34px;margin-bottom:9px;}
.st-single__body ol li::before{content:counter(stol);position:absolute;left:0;top:5px;width:24px;height:24px;border-radius:50%;
  background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-family:"Poppins",sans-serif;font-size:12.5px;font-weight:700;}
.st-single__body blockquote{margin:0 0 1.6em;padding:20px 24px;background:var(--green-pale);border-left:5px solid var(--green);border-radius:0 10px 10px 0;}
.st-single__body blockquote p:last-child{margin-bottom:0;}
.st-single__body figure{margin:0 0 1.6em;}
.st-single__body figcaption{font-size:14px;color:#8a93a5;text-align:center;margin-top:8px;}
.st-single__body hr{border:none;border-top:1px dashed #C9D9EC;margin:40px 0;}
/* 記事内のお知らせ／注意ボックス */
.st-single__body .st-infobox{background:var(--green-pale);border:1px solid var(--green-pale2);border-radius:12px;padding:22px 24px;margin:0 0 1.6em;}
.st-single__body .st-infobox p:last-child{margin-bottom:0;}
.st-single__body .st-infobox .ttl{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;color:var(--green-d);margin-bottom:10px;}
@media (max-width:560px){
  .st-single__body{font-size:15px;}
  .st-single__body blockquote,.st-single__body .st-infobox{padding:16px 18px;}
}

/* ---- SP微調整（2026-07-30 実機確認後） ---- */
@media (max-width:820px){
  .st-profile__ph{aspect-ratio:1/1;}
  .st-profile__ph img{object-position:center 10%;}
}
@media (max-width:560px){
  .st-message__sign{text-align:center;}
  .st-message__sign b{display:block;margin:6px 0 0;}
  .st-lead2{padding:18px 18px;}
  .st-lead2 p,.st-page .st-lead2 p{font-size:15px;line-height:2;}
  .st-bd__name{font-size:14px;}
  .st-svc__no{font-size:13px;padding:6px 14px;}
  .st-h2c__ja{letter-spacing:.02em;}
}

/* ---- 読み上げ専用（MVのキャッチが画像焼き込みのためh1用） ---- */
.st-sronly{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;}

/* =========================================================
   2026-07-30 第2次調整（幅1200px化に伴う読みやすさ確保・Arkhe対策）
   ========================================================= */
/* 長文ブロックは1200px幅の中で行長を抑える（1行が長すぎると読めない） */
.st-message p,.st-page .st-message p{max-width:840px;margin-left:auto;margin-right:auto;}
.st-single{max-width:900px;}

/* 代表プロフィール：写真が現場写真（横長）になったので枠を広げる */
.st-profile{grid-template-columns:360px 1fr;}
.st-profile__ph img{filter:none;}
.st-profile__ph figcaption{padding:26px 16px 14px;}
.st-profile__body{padding:38px 42px 36px;}
@media (max-width:820px){
  .st-profile{grid-template-columns:1fr;}
  .st-profile__ph{aspect-ratio:16/9;}
  .st-profile__ph img{object-position:center center;}
}

/* 1200px化で間延びしないようカラム数と行間を微調整 */
.st-strengths{gap:22px;}
.st-strengths li{padding:30px 24px 26px;}
.st-strengths .ttl{font-size:17px;}
.st-strengths .txt{line-height:1.95;}
.st-svc__body{padding:38px 40px 34px;}
.st-svc__txt,.st-page .st-svc__txt{font-size:15.5px;line-height:2.05;}
.st-svc__list li{font-size:15px;line-height:1.9;margin-bottom:9px;}
.st-svc__cat{font-size:16px;padding:11px 16px;}
.st-pillars{gap:24px;}
.st-pillar__body{padding:22px 26px 0;}
.st-pillar__body p,.st-page .st-pillar__body p{font-size:15px;line-height:2.05;}
.st-paintgrid{gap:20px;}
.st-paint{padding:26px 24px;}
.st-paint .desc,.st-page .st-paint .desc{line-height:1.95;}
.st-bd{padding:32px 36px;}
.st-bd__row{padding:14px 0;}
.st-bd__name{font-size:15px;}
.st-bd__val{font-size:15.5px;}
.st-why li{padding:28px 22px;}
.st-why span{line-height:1.9;}
.st-warn{padding:32px 36px;}
.st-warn ul li{font-size:15.5px;line-height:2.05;margin-bottom:12px;}
.st-vc{padding:30px 32px 26px;}
.st-vc__txt,.st-page .st-vc__txt{font-size:15.5px;line-height:2.05;}
.st-voicelist2{gap:26px;}
.st-gscore{padding:38px 40px;}
.st-satis li{padding:34px 24px;}
.st-satis span{line-height:1.85;}
.st-recpoint li{padding:30px 26px;}
.st-recpoint span{line-height:1.95;}
.st-badges li{padding:26px 16px;}
.st-badges span{line-height:1.7;}
.st-area{padding:30px 32px;}
.st-tl li{padding-bottom:32px;}
.st-tl span{font-size:15px;line-height:1.95;}
.st-tl b{font-size:17px;}
.st-media{padding:34px 38px;gap:36px;}
.st-media p,.st-page .st-media p{font-size:15.5px;line-height:2.05;}
.st-checks li{font-size:16px;line-height:2.1;margin-bottom:12px;}
.st-steps2 span{line-height:1.85;}
.st-steps2 li{padding:26px 18px 24px;}
.st-faq2 summary{padding:21px 62px 21px 22px;font-size:16.5px;}
.st-faq2 .a{padding:0 22px 22px;font-size:16px;line-height:2.1;}
.st-faq2 details{margin-bottom:14px;}
.st-faqnav a{font-size:15px;padding:11px 22px;}
.st-faqcat__ttl{font-size:20px;margin-bottom:22px;padding-bottom:14px;}
.st-faqcat{margin-bottom:56px;}
.st-note{line-height:1.9;}
.st-message{padding:56px 60px 50px;}
.st-message p,.st-page .st-message p{font-size:15.5px;line-height:2.2;}

/* ---- Arkhe本体(dist/css/main.css)に負けないよう明示的に上書き ---- */
.st-page .st-inner,
.st-page .st-sec--tint > .st-inner{width:100%;padding-left:20px;padding-right:20px;}
.st-page .st-table th,.st-page .st-table td{font-size:16px;}
.st-page .st-h2,.st-page .st-h3,.st-page .st-h2c__ja{margin-top:0;}
.st-page ul,.st-page ol{margin:0;padding:0;list-style:none;}
/* ⚠上の`.st-page ul`(0,1,1)は`.st-tl`(0,1,0)に勝つため、タイムラインの左padding
   （li::before の丸マーカーを置く場所）が0に潰れ、丸が画面外へはみ出す。
   クラス2つで詳細度を上げて取り戻す。 */
.st-page .st-tl{padding-left:34px;}
.st-page .st-checks li,.st-page .st-svc__list li,.st-page .st-warn ul li{list-style:none;}

@media (max-width:1100px){
  .st-svc__body{padding:30px 28px 26px;}
  .st-message{padding:42px 32px 38px;}
  .st-bd{padding:26px 24px;}
  .st-warn{padding:26px 24px;}
}
@media (max-width:560px){
  .st-page{padding:52px 0 0;}
  .st-page section{margin-bottom:62px;}
  .st-page .st-sec--tint{padding:56px 0;}
  .st-page__lead{font-size:15.5px;margin-bottom:34px;}
  .st-message{padding:32px 20px 28px;}
  .st-gscore{padding:26px 20px;}
  .st-vc{padding:24px 22px 20px;}
  .st-bd{padding:20px 16px;}
  .st-warn{padding:22px 18px;}
  .st-media{padding:22px 20px;}
  .st-area{padding:22px 20px;}
  .st-profile__body{padding:28px 22px 26px;}
  .st-svc__body{padding:24px 22px 22px;}
}

/* キャッチはリード的な扱いなので本文より大きく（.st-profile__body p に勝たせる） */
.st-page .st-profile .st-profile__catch{font-size:18px;line-height:1.75;padding:16px 20px;}

/* p[class] は色指定を持たないため、本文扱いのものに明示的に色を戻す */
.st-page .st-svc__txt,.st-page .st-pillar__body p,.st-page .st-paint .desc,
.st-page .st-vc__txt,.st-page .st-media p,.st-page .st-profile__body p{color:#46536b;}
.st-page .st-note{color:#8a93a5;}

/* ---- p要素で作った見出し類：本文用ルールに負けないよう .st-page 付きで明示 ---- */
.st-page .st-profile .st-profile__name{font-size:30px;line-height:1.3;margin-bottom:0;}
.st-page .st-profile .st-profile__name span{font-size:13px;}
.st-page .st-media .st-media__ttl{font-size:20px;margin-bottom:14px;}
.st-page .st-area .st-area__main{font-size:18px;}
.st-page .st-message .st-message__sub{font-size:15px;}
.st-page .st-message .st-message__sign{font-size:15px;}
.st-page .st-pmain .st-pmain__ttl{font-size:18px;margin-bottom:5px;}
.st-page .st-pmain .st-pmain__sub{font-size:14px;margin-bottom:16px;}
.st-page .st-pmain .st-pmain__tax{font-size:14px;margin-bottom:0;}
.st-page .st-warn .st-warn__ttl{font-size:19px;}
@media (max-width:820px){
  .st-page .st-profile .st-profile__name{font-size:25px;}
}

/* 日本語のバッジ／ラベルは13pxでは小さいので14pxへ（英字アクセントのみ13px据え置き） */
.st-profile__role,.st-page .st-profile .st-profile__role{font-size:14px;}
.st-pmain__ribbon,.st-page .st-pmain .st-pmain__ribbon{font-size:14px;}
.st-paint__rec{font-size:14px;}
.st-strengths .txt{font-size:15px;}

/* =========================================================
   レスポンシブ 追加修正（2026-07-30 実測で検出した潰れ）
   ========================================================= */

/* ---- WP Armour（honeypot）の入力欄が露出していたので塞ぐ ----
   ⚠見えている＝スパム対策として機能していない状態。必ずdisplay:noneにする */
.altEmail_container,#altEmail_container{display:none!important;}

/* ---- 4列テーブル（塗料グレード別の目安）はSPで各セルが2〜3字に潰れる ----
   横スクロールできるラッパーに入れ、最低幅を確保する */
.st-scrollx{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:24px 0 10px;}
.st-scrollx > table{margin:0;min-width:680px;}
.st-scrollx__hint{display:none;font-size:14px;color:#7b8699;margin:0 0 8px;}
@media (max-width:760px){
  .st-scrollx{border:1px solid #CBDCEF;border-radius:10px;}
  .st-scrollx__hint{display:block;}
  .st-scrollx > table{border-radius:0;box-shadow:none;}
  /* SPではth幅の固定を解除（26%だと4列時に潰れる） */
  .st-scrollx th{width:auto!important;white-space:normal;}
}

/* ---- 内訳の金額が2行に折れる ---- */
.st-bd__val{white-space:nowrap;}
@media (max-width:700px){
  .st-bd__row{grid-template-columns:1fr auto;}
  .st-bd__name{padding-right:8px;}
}

/* ---- 流れ（st-steps2）：列数はインラインstyleではなくクラスで指定する ----
   ⚠インラインの grid-template-columns はメディアクエリに勝つため、
   SPで4列のまま潰れてはみ出す事故が起きた */
.st-steps2--4{grid-template-columns:repeat(4,1fr);}
@media (max-width:900px){
  .st-steps2,.st-steps2--4{grid-template-columns:1fr 1fr!important;}
}
@media (max-width:480px){
  .st-steps2,.st-steps2--4{grid-template-columns:1fr!important;}
  .st-steps2 li{display:grid;grid-template-columns:44px 1fr;gap:2px 14px;align-items:center;text-align:left;padding:18px 16px;}
  .st-steps2 .n{grid-column:2;grid-row:1;margin-bottom:0;}
  .st-steps2 i{grid-column:1;grid-row:1 / span 2;margin:0;font-size:22px;}
  .st-steps2 b{grid-column:2;grid-row:2;margin-bottom:0;}
  .st-steps2 span{grid-column:1 / -1;grid-row:3;margin-top:7px;}
}

/* ---- 極小幅（320px）での追い込み ---- */
@media (max-width:360px){
  .st-pagehero__ttl{font-size:23px;letter-spacing:.04em;}
  .st-h2c__ja{font-size:20px;}
  .st-pmain__price{font-size:32px!important;}
  .st-satis .v{font-size:38px;}
  .st-gscore__num .v{font-size:48px;}
  .st-badges{grid-template-columns:1fr;}
  .st-badges li{display:grid;grid-template-columns:40px 1fr;gap:2px 14px;align-items:center;text-align:left;padding:16px;}
  .st-badges i{grid-row:1 / span 2;margin:0;font-size:22px;}
  .st-badges b{grid-column:2;}
  .st-badges span{grid-column:2;margin-top:2px;}
  .st-faqnav a{font-size:14px;padding:9px 15px;}
  .st-typegrid{gap:8px;}
}

/* ---- TOP Serviceの見出し：狭幅で透かしとラベルが重なり「サービ／ス一覧」に折れる ---- */
@media (max-width:600px){
  .st-service__head{flex-direction:column;align-items:flex-start;gap:2px;padding-top:30px;}
  .st-service__label{white-space:nowrap;font-size:22px;}
  .st-watermark--left{font-size:clamp(40px,11vw,64px);}
}
@media (max-width:360px){
  .st-service__label{font-size:20px;}
  .st-watermark--left{font-size:38px;}
}

/* =========================================================
   SP微調整（2026-08-03 オーナー指摘）
   狭幅で日本語が意図しない位置で折れる／窮屈に見える箇所の手当て。
   PC・タブレットの見た目は変えない。
   ========================================================= */
.st-br-sp{display:none;}          /* SP専用の改行。既定は無効 */

@media (max-width:560px){
  .st-br-sp{display:inline;}

  /* ①「\\ こんなお悩みありませんか？ //」の閉じスラッシュだけが2行目に落ちる。
        狭幅では1行に収まらないので、HTML側の .st-br-sp で
        「こんなお悩み／ありませんか？//」の2行に割り、記号が孤立しないようにする。 */
  /* display:table のままだと shrink-to-fit で幅186pxまで縮み、
     keep-allの塊単位で3行に割れて記号が孤立する。SPはblockに戻す。 */
  .st-trouble__ttl{display:block;width:auto;font-size:22px;margin-bottom:30px;word-break:keep-all;line-height:1.5;}
  .st-trouble__ttl::after{left:6%;right:6%;}
  .st-trouble__ttl .q{margin:0 .14em;}

  /* ②「その悩み 斉藤塗装興業 が解決します」の「す」だけが落ちる。
        左右padding 60px が狭幅では効きすぎ。keep-allで文節も守る。 */
  .st-trouble__ribbon p{font-size:16px;padding:14px 20px;word-break:keep-all;line-height:1.6;}

  /* ③「幅広い建物に対応」のリード文。中央寄せ＋自由折り返しだと
        「学校まで。」が泣き別れる → 左揃え＋<wbr>の位置でだけ折る */
  .st-target__lead{text-align:left;word-break:keep-all;line-height:1.95;margin-bottom:30px;}

  /* ④ VALPAINTの見出しと注記（改行位置はHTML側の .st-br-sp で指定） */
  .st-valpaint__ttl{line-height:1.55;}
  .st-valpaint__note{line-height:1.8;word-break:keep-all;}
}

/* =========================================================
   代表メッセージ下の現場シートバナー（会社案内）2026-08-19
   ========================================================= */
.st-msgbanner{margin-top:34px;display:grid;grid-template-columns:210px 1fr;gap:28px;align-items:center;
  background:#fff;border:1px solid #DCE7F3;border-radius:16px;padding:26px 30px;box-shadow:0 6px 20px rgba(31,90,166,.08);}
.st-msgbanner__ph{margin:0;border-radius:12px;overflow:hidden;line-height:0;}
.st-msgbanner__ph img{width:100%;height:auto;display:block;}
.st-msgbanner__body b{display:block;font-size:22px;font-weight:700;color:#141b33;line-height:1.6;margin-bottom:12px;}
.st-page .st-msgbanner__body p{font-size:15px;line-height:2.05;color:#46536b;margin:0;}
.st-page .st-msgbanner__body p b{display:inline;font-size:inherit;color:#1F5AA6;margin:0;}
@media (max-width:760px){
  .st-msgbanner{grid-template-columns:1fr;gap:20px;padding:22px 20px;}
  .st-msgbanner__ph{max-width:250px;margin:0 auto;}
  .st-msgbanner__body b{font-size:19px;text-align:center;}
}

/* =========================================================
   Instagram 導線（ヘッダー／SPドロワー）2026-08-19
   ========================================================= */
.st-btn--ig{width:48px;height:44px;padding:0;justify-content:center;color:#fff;font-size:21px;
  background:linear-gradient(45deg,#F9CE34 0%,#EE2A7B 55%,#6228D7 100%);
  box-shadow:0 4px 10px rgba(238,42,123,.28);}
.st-btn--ig i{line-height:1;}
.st-nav__sns{display:none;}
@media (max-width:1024px){
  /* ドロワー内は 10項目＋SNS行が追従CTAバーの上に収まるよう、上下を詰める */
  .st-nav{padding-top:60px;}
  .st-nav__list a{padding:11px 24px;}
  .st-nav__sns{display:flex;align-items:center;justify-content:center;gap:9px;
    margin:10px 20px 0;padding:11px;border-radius:10px;color:#fff;font-size:14.5px;font-weight:700;
    white-space:nowrap;text-decoration:none;
    background:linear-gradient(45deg,#F9CE34 0%,#EE2A7B 55%,#6228D7 100%);}
  .st-nav__sns i{font-size:19px;}
}


/* ===== WordPress(Arkhe)向け上書き ===== */
.l-article{max-width:unset;}
.l-content{padding:0;}
