/* ===== _css1_site.css ===== */
@charset "utf-8";
/* 株式会社十津川造林 ／ CueZilla 追加CSS（AddCssInfo）
   1. style.css（受領の共通スタイル）
   2. 共通領域（ヘッダー・フッター・固定CTA・TOPボタン）へ効かせる分
   ※ 追加CSSはサイト全体に効くため、ページ固有の指定は .pg-xxx でスコープしてある */

@charset "utf-8";
/* ============================================================
   株式会社十津川造林 — 一次生成 草案サイト
   配色の正本: ⑤ライター向け引き継ぎメモ §10
     #30964C（装飾）/ #1F7A3E（白文字を載せる面）/ #E88AA5（アクセント）
     #FDFBEF（背景）/ #F6F1DD（交互）/ #2B2B28（本文）/ #E3DCC4（罫線）
   ★写真の上に暗幕・白幕（オーバーレイ）を敷かない。
     可読性は「文字を写真の外／白い面に置く」で解く（クライアントの明示的な不満）。
   ============================================================ */

:root{
  --main:#30964C;
  --main-d:#1F7A3E;
  --main-dd:#175E30;
  --accent:#E88AA5;
  /* 緑グラデーション（明るめ）／戻す場合は下のコメント値に差し替え */
  --g1:#1c4d2e; --g2:#2f7c46; --g3:#458F55;   /* 旧: #0f2a1a / #1f5c2e / #3f8f3f */
  --gf1:#24563a; --gf2:#183f28; --gf3:#0d1f14; /* フッター 旧: #12351f / #0e2417 / #050807 */
  --accent-d:#C9647F;
  --accent-dd:#A9455F;   /* 小さい文字に使う濃いピンク（#F6F1DD 上で 5.0:1） */
  --bg:#FDFBEF;
  --bg2:#F6F1DD;
  --txt:#2B2B28;
  --sub:#6E6E64;
  --line:#E3DCC4;
  --wrap:1400px;
  --r-s:10px;
  --r-m:20px;
  --r-l:40px;
  --sp-sec:clamp(64px,9vw,120px); /* @kind spacing */
  --ease:cubic-bezier(.22,.61,.36,1); /* @kind other */
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--bg);color:var(--txt);
  font-family:"Zen Kaku Gothic New","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  font-size:17px;line-height:2;letter-spacing:.02em;line-break:strict;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--main-d);}
h1,h2,h3{line-height:1.55;letter-spacing:.04em;margin:0;font-weight:700;text-wrap:balance;}
p{margin:0 0 1.4em;text-wrap:pretty;}
p:last-child{margin-bottom:0;}
.wrap{width:min(100% - 40px,var(--wrap));margin-inline:auto;}
.wrap-n{width:min(100% - 40px,860px);margin-inline:auto;}
.en{font-family:"Jost","Century Gothic",-apple-system,sans-serif;letter-spacing:.22em;font-weight:500;}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

/* 葉のあしらい（植物を感じる装飾・背面レイヤー） */
.leaf{display:none;position:absolute;z-index:0;pointer-events:none;opacity:.5;}
.leaf svg{display:block;width:100%;height:auto;}
.leaf--tl{top:-30px;left:-40px;width:170px;transform:rotate(-18deg);}
.leaf--br{right:-46px;bottom:-30px;width:200px;transform:rotate(150deg);}

/* ヘッダー */
.hdr{position:fixed;top:24px;left:0;right:0;z-index:60;width:min(100% - 40px,var(--wrap));margin:0 auto;background:#fff;border:0;border-radius:var(--r-m);box-shadow:0 0 0 4px rgba(255,255,255,.55),0 6px 24px rgba(31,122,62,.07);}
.hdr__in{display:flex;align-items:center;gap:24px;height:78px;width:auto;padding-inline:clamp(18px,2.4vw,32px) 0;}
.hdr__logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0;}
.hdr__logo img{width:auto;height:clamp(34px,3.4vw,44px);}

.nav{margin-left:auto;}
.nav__list{display:flex;align-items:stretch;gap:4px;list-style:none;margin:0;padding:0;}
.nav__list > li{position:relative;display:flex;align-items:center;}
.nav__list > li > a{display:block;padding:10px 13px;font-size:14.5px;font-weight:700;color:var(--txt);text-decoration:none;border-radius:999px;transition:background .25s var(--ease),color .25s var(--ease);white-space:nowrap;}
.nav__list > li > a:hover,.nav__list > li > a[aria-current="page"]{background:none;color:var(--main-dd);}
.nav__has::after{content:"▼";display:inline-block;width:auto;height:auto;margin-left:6px;border:0;transform:none;font-size:9px;line-height:1;color:var(--main);}
.sub{position:absolute;top:calc(100% + 16px);left:50%;translate:-50% 0;min-width:210px;list-style:none;margin:0;padding:8px;background:#fff;border:1px solid var(--line);border-radius:var(--r-m);box-shadow:0 14px 34px rgba(31,122,62,.13);opacity:0;visibility:hidden;transform:translateY(8px);transition:.28s var(--ease);}
.nav__list > li:hover .sub,.nav__list > li:focus-within .sub{opacity:1;visibility:visible;transform:translateY(0);}
.sub::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px;}
.sub a{display:block;padding:11px 16px;font-size:14.5px;font-weight:700;color:var(--txt);text-decoration:none;border-radius:12px;}
.sub a:hover{background:var(--bg2);color:var(--main-dd);}
.hdr__cta{order:2;display:inline-flex;align-items:center;gap:8px;align-self:stretch;height:auto;padding:0 4px 0 clamp(20px,2.4vw,32px);line-height:1;border-radius:0;background:var(--main-d);color:#fff;text-decoration:none;border-radius:999px 0 0 999px;font-size:14.5px;font-weight:700;flex-shrink:0;transition:background .25s var(--ease);}
.hdr__cta:hover{background:var(--main-dd);}
.hdr__ig{order:3;margin-left:-24px;display:grid;place-items:center;align-self:stretch;width:auto;height:auto;padding:0 clamp(18px,2.2vw,28px) 0 12px;border:0;border-radius:0;background:var(--main-d);color:#fff;flex-shrink:0;transition:.25s var(--ease);border-radius:0 var(--r-m) var(--r-m) 0;}
.hdr__ig:hover{background:var(--main-dd);color:#fff;}
.hdr__ig svg{width:44px;height:44px;padding:8px;background:#fff;border:0;border-radius:999px;color:var(--main-d);box-sizing:border-box;}
.hdr__cta:hover + .hdr__ig,.hdr__ig:hover{background:var(--main-dd);}
.burger{display:none;width:46px;height:46px;margin-left:auto;background:#ed146c;border:0;border-radius:999px;cursor:pointer;}
.burger span{display:block;width:18px;height:1.5px;margin:4px auto;background:#fff;transition:.3s var(--ease);}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(5.5px) rotate(45deg);}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg);}

/* FV（トップ）★オーバーレイなし。コピーは白いパネルへ */
.fv{position:relative;padding:0 0 clamp(40px,7vw,80px);}
.fv__media{position:relative;height:min(78vh,720px);min-height:420px;overflow:hidden;border-radius:0 0 var(--r-l) var(--r-l);}
.fv__slide{position:absolute;inset:0;opacity:0;transition:opacity 1.6s var(--ease);}
.fv__slide.is-on{opacity:1;}
.fv__slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 8s linear;}
.fv__slide.is-on img{transform:scale(1);}
.fv__panel{position:relative;z-index:2;width:min(100% - 40px,880px);margin:-96px auto 0;padding:clamp(30px,4.5vw,52px);background:var(--bg);border-radius:var(--r-m);box-shadow:0 22px 50px rgba(31,122,62,.12);}
.fv__lead{margin:0 0 18px;font-size:clamp(28px,5.4vw,55px);line-height:1.45;color:var(--main-dd);}
.fv__sub{margin:0 0 6px;font-size:clamp(15px,2vw,19px);color:var(--txt);}
.fv__name{margin:0;font-size:14px;letter-spacing:.14em;color:var(--sub);}
.fv__dots{position:absolute;left:50%;bottom:calc(96px + 22px);translate:-50% 0;z-index:3;display:flex;gap:9px;}
.fv__dots{gap:0;}
.fv__dots button{width:44px;height:44px;padding:17px 8px;border:none;background:none;cursor:pointer;}
.fv__dots button::before{content:"";display:block;width:100%;height:9px;border-radius:999px;background:rgba(255,255,255,.65);transition:.3s var(--ease);}
.fv__dots button[aria-selected="true"]::before{background:#fff;}

/* 下層FV（英字ラベル＋ページ名のみ・①§4） */
.phd{position:relative;padding:clamp(140px,13vw,180px) 0 clamp(30px,4vw,44px);background:var(--bg2);border-radius:0 0 var(--r-l) var(--r-l);overflow:hidden;}
.phd__lb{margin:0 0 10px;font-size:12px;color:var(--main);}
.phd__t{font-size:clamp(28px,4.6vw,42px);color:var(--main-dd);}
.crumb{padding:16px 0;font-size:12.5px;color:var(--sub);}
.crumb ol{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0;}
.crumb li+li::before{content:"／";margin-right:8px;color:var(--line);}
.crumb a{color:var(--sub);text-decoration:none;}
.crumb a:hover{color:var(--main-d);}

/* セクション */
.sec{position:relative;padding:var(--sp-sec) 0;overflow:hidden;} /* 葉のあしらいが画面外へはみ出すのを止める（横スクロール防止） */
.sec--tint{background:var(--bg2);}
.sec--curve{border-radius:var(--r-l) var(--r-l) 0 0;}
.snum{display:block;margin:0 0 12px;font-size:11.5px;color:var(--accent-dd);}
.h2{font-size:clamp(22px,3.3vw,33px);color:var(--main-dd);margin:0 0 26px;}
.h2 span{display:block;}
.h3{font-size:clamp(17px,2.2vw,21px);color:var(--main-dd);margin:0 0 10px;}
.lead{font-size:clamp(16px,1.9vw,18px);}
.mb0{margin-bottom:0;}
.br-pc{display:none;}
@media(min-width:900px){.br-pc{display:inline;}}

/* 交互レイアウト（写真＋テキスト） */
.duo{display:grid;gap:clamp(28px,4vw,60px);align-items:center;}
@media(min-width:900px){
  .duo{grid-template-columns:1fr 1fr;}
  .duo--rev .duo__media{order:2;}
}
.duo__media{position:relative;}
.duo__media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-m);} /* 写真主体＝カラム内で写真を大きく見せる */
.duo__media--tall img{aspect-ratio:4/5;object-fit:cover;}

/* 3カラム */
.cards{display:grid;gap:clamp(20px,3vw,32px);grid-template-columns:repeat(auto-fit,minmax(255px,1fr));}
@media(max-width:560px){.cards{grid-template-columns:minmax(0,1fr);}}
.card{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden;display:flex;flex-direction:column;transition:transform .4s var(--ease),box-shadow .4s var(--ease);}
.sec--tint .card{background:#fff;}
.card:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(31,122,62,.12);}
.card img{aspect-ratio:3/2;object-fit:cover;width:100%;}
.card__b{padding:26px 24px 28px;flex:1;display:flex;flex-direction:column;}
.card__b .h3{margin-bottom:8px;}
.card__b p{font-size:15.5px;line-height:1.9;}
.card__more{margin-top:auto;padding-top:16px;font-size:14px;color:var(--main-d);font-weight:700;}
.card__more::after{content:"→";margin-left:8px;transition:margin .3s var(--ease);display:inline-block;}
.card:hover .card__more::after{margin-left:14px;}
a.card{text-decoration:none;color:inherit;}

/* 手順・要素リスト */
.steps{display:grid;gap:22px;counter-reset:st;}
.step{position:relative;padding:26px 28px 28px 68px;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-m);}
.sec--tint .step{background:#fff;}
.step::before{counter-increment:st;content:counter(st);position:absolute;left:26px;top:26px;width:28px;height:28px;display:grid;place-items:center;background:var(--main-d);color:#fff;border-radius:999px;font-size:13px;font-weight:700;}
.step .h3{margin-bottom:6px;}
.step p{font-size:15.5px;margin-bottom:0;}

/* タグ */
.tags{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 26px;padding:0;list-style:none;}
.tags li{padding:8px 18px;background:var(--bg);border:1px solid var(--main);border-radius:999px;font-size:14px;color:var(--main-dd);}
.sec--tint .tags li{background:#fff;}

/* 引用（代表の言葉・原文のまま） */
.quote{position:relative;margin:0 0 30px;padding:30px 32px 30px 62px;background:var(--bg2);border-radius:var(--r-m);font-size:clamp(17px,2.2vw,21px);line-height:1.85;color:var(--main-dd);}
.quote::before{content:"";position:absolute;left:30px;top:34px;width:3px;height:calc(100% - 68px);background:var(--accent);border-radius:2px;}

/* テーブル */
.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:15.5px;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden;}
.sec--tint .tbl{background:#fff;}
.tbl th,.tbl td{padding:17px 22px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);}
.tbl tr:last-child th,.tbl tr:last-child td{border-bottom:none;}
.tbl th{width:32%;background:var(--bg2);color:var(--main-dd);font-weight:700;white-space:nowrap;}
@media(max-width:640px){.tbl th,.tbl td{display:block;width:100%;white-space:normal;}.tbl th{border-bottom:none;padding-bottom:6px;}}

/* 沿革 */
.tl{list-style:none;margin:0;padding:0 0 0 30px;border-left:2px solid var(--line);}
.tl li{position:relative;padding:0 0 34px;}
.tl li:last-child{padding-bottom:0;}
.tl li::before{content:"";position:absolute;left:-37px;top:9px;width:12px;height:12px;background:var(--accent);border:3px solid var(--bg);border-radius:999px;}
.tl b{display:block;font-size:15px;color:var(--main-d);letter-spacing:.08em;}

/* ボタン */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:260px;min-height:56px;padding:0 34px;background:var(--main-d);color:#fff;text-decoration:none;border-radius:999px;font-weight:700;font-size:15.5px;transition:background .3s var(--ease),transform .3s var(--ease);}
.btn:hover{background:var(--main-dd);transform:translateY(-2px);}
.btn::after{content:"→";transition:transform .3s var(--ease);}
.btn:hover::after{transform:translateX(5px);}
.btn--o{background:transparent;color:var(--main-d);border:1.5px solid var(--main-d);}
.btn--o:hover{background:var(--main-d);color:#fff;}
.btn--pink{background:#ed146c;color:#fff;}
.btn--pink:hover{background:#c9105c;color:#fff;}
.btn-row{display:flex;flex-wrap:wrap;gap:16px;margin-top:34px;}
@media(max-width:380px){.btn{min-width:0;width:100%;}}

/* Instagramバナー（依頼文の明示指定＝単調な背景） */
.ig{position:relative;padding:clamp(44px,6vw,64px);background:var(--bg2);border-radius:var(--r-m);text-align:center;overflow:hidden;}
.ig__ic{width:52px;height:52px;margin:0 auto 18px;color:#ed146c;}
.ig .h2{margin-bottom:14px;}

/* CTA */
.cta{position:relative;padding:var(--sp-sec) 0;background:var(--bg2);overflow:hidden;}
.cta__box{position:relative;z-index:1;text-align:center;}
.cta__t{font-size:clamp(23px,3.4vw,34px);color:var(--main-dd);margin:0 0 10px;}
.cta__s{font-size:clamp(16px,2vw,19px);color:var(--main-d);margin:0 0 18px;font-weight:700;}
.cta .btn-row{justify-content:center;}

/* NEXT リンク */
.next{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:28px 32px;background:var(--bg2);border-radius:var(--r-m);text-decoration:none;color:var(--main-dd);transition:.3s var(--ease);}
.next:hover{background:var(--main-d);color:#fff;}
.next small{display:block;font-size:11px;letter-spacing:.24em;opacity:.7;}
.next b{font-size:clamp(18px,2.4vw,22px);}

/* ブログ（トップ） */
.blog{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}
.blog__i{display:block;text-decoration:none;color:inherit;}
.blog__ph{aspect-ratio:3/2;background:var(--bg2);border-radius:var(--r-m);display:grid;place-items:center;color:var(--sub);font-size:12.5px;border:1px dashed var(--line);}
.blog__d{margin:14px 0 4px;font-size:12.5px;color:var(--sub);letter-spacing:.06em;}
.blog__t{font-size:16.5px;line-height:1.7;}

/* 汎用ミニスライダー */
.mslider{position:relative;}
.mslider__s{position:absolute;inset:0;opacity:0;transition:opacity 1s var(--ease);}
.mslider__s:first-child{position:relative;}
.mslider__s.is-on{opacity:1;}
.mslider__s img{width:100%;height:100%;object-fit:cover;}
.mslider__dots{position:absolute;left:0;right:0;bottom:16px;display:flex;justify-content:center;gap:9px;margin:0;padding:0;list-style:none;z-index:2;}
.mslider__dots button{width:9px;height:9px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.6);cursor:pointer;transition:.25s var(--ease);}
.mslider__dots button[aria-selected="true"]{background:#fff;width:26px;}
@media(max-width:699px){.mslider__dots{bottom:12px;gap:12px;}.mslider__dots li{display:grid;place-items:center;}.mslider__dots button{width:10px;height:10px;box-shadow:0 0 0 8px rgba(0,0,0,0);}.mslider__dots button[aria-selected="true"]{width:22px;}}

/* テキスト内の手入れ工程リスト */
.steplist{list-style:none;margin:26px 0;padding:0;display:flex;flex-direction:column;gap:14px;}
.steplist li{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:16px;padding:14px 18px;background:var(--bg2);border-radius:var(--r-m) var(--r-s) var(--r-m) var(--r-s);}
.steplist__t{position:relative;padding-left:18px;font-weight:700;color:var(--main-dd);white-space:nowrap;letter-spacing:.04em;}
.steplist__t::before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:999px;background:var(--accent);}
.steplist__d{font-size:15px;line-height:1.95;color:var(--txt);}
@media(max-width:600px){.steplist li{grid-template-columns:1fr;gap:6px;}}

/* 見出し下線 */
.h2--ul{display:inline-block;padding-bottom:14px;border-bottom:2px solid var(--main);}

/* 業務案内 導入（見出し左・本文右） */
.wintro{display:grid;gap:clamp(24px,4vw,64px);}
.wintro .h2{margin-top:6px;}
.wintro__b{border-top:1px solid var(--line);padding-top:24px;}
.wintro__b .lead{margin-top:0;}
@media(min-width:900px){.wintro{grid-template-columns:minmax(280px,.9fr) 1.3fr;align-items:start;}.wintro__b{border-top:0;border-left:1px solid var(--line);padding:0 0 0 clamp(28px,4vw,56px);}}

/* フォーム */
.form{display:grid;gap:22px;padding:clamp(28px,4vw,44px);background:var(--bg2);border-radius:var(--r-m);}
.form label{display:block;font-size:14.5px;font-weight:700;color:var(--main-dd);margin-bottom:8px;}
.form .req{margin-left:8px;padding:2px 9px;background:var(--accent-d);color:#fff;border-radius:999px;font-size:11px;vertical-align:2px;}
.form input,.form select,.form textarea{width:100%;padding:15px 18px;background:#fff;border:1px solid var(--line);border-radius:12px;font-family:inherit;font-size:16px;color:var(--txt);}
.form textarea{min-height:170px;resize:vertical;}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--main);outline-offset:1px;}

/* フッター */
.ftr{position:relative;padding:clamp(56px,7vw,80px) 0 40px;background:var(--main-dd);color:#fff;overflow:hidden;}
.ftr a{color:#fff;text-decoration:none;}
.ftr__top{display:grid;gap:40px;margin-bottom:44px;}
@media(min-width:900px){.ftr__top{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);}}
.ftr__name{display:flex;align-items:center;margin-bottom:18px;}
.ftr__name img{width:auto;height:44px;}

.ftr__addr{font-size:14.5px;line-height:2;}
.ftr__addr p{margin:0;}
.ftr__nav{display:block;columns:4;column-gap:20px;list-style:none;margin:0;padding:0;font-size:14.5px;}
@media(max-width:900px){.ftr__nav{columns:2;}}
.ftr__nav li{margin:0;}
.ftr__nav a{display:inline-block;padding:12px 0;line-height:1.75;}
.ftr__nav a:hover{text-decoration:none;color:#6ea843;}
.ftr__b{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-top:24px;border-top:1px solid rgba(255,255,255,.22);font-size:12.5px;}
.ftr__ig{display:inline-flex;align-items:center;gap:9px;padding:11px 20px;border:1px solid rgba(255,255,255,.4);border-radius:999px;font-size:13.5px;}
.ftr__ig:hover{background:#6ea843;border-color:#6ea843;}

/* SP固定CTA */
.spcta{position:fixed;left:0;right:0;bottom:0;z-index:70;display:none;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);box-shadow:0 -6px 20px rgba(0,0,0,.08);transform:translateY(100%);transition:transform .35s var(--ease);}
.spcta.is-on{transform:translateY(0);}
@media(max-width:699px){
  .ftr__nav{columns:1;}
  .ftr__nav li{border-bottom:1px solid rgba(255,255,255,.22);}
  .ftr__nav li:last-child{border-bottom:0;}
  .ftr__nav a{display:block;padding:13px 0;}
}
.nav__tg{display:none;}
@media(max-width:1279px){
  .nav__list > li{position:relative;}
  .nav__has::after{display:none;}
  .nav__tg{display:block;position:absolute;top:4px;right:0;width:48px;height:48px;border:0;background:none;cursor:pointer;}
  .nav__tg::before,.nav__tg::after{content:"";position:absolute;left:50%;top:50%;width:13px;height:2px;background:var(--main-d);translate:-50% -50%;transition:.3s var(--ease);}
  .nav__tg::after{rotate:90deg;}
  .nav__list > li.is-open .nav__tg::after{rotate:0deg;}
  .nav__list > li .sub{display:none;}
  .nav__list > li.is-open .sub{display:block;}
}
.spcta a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:58px;background:#fff;color:var(--main-dd);text-decoration:none;font-size:14.5px;font-weight:700;}
.spcta a.is-main{background:var(--main-d);color:#fff;}

/* スクロール演出 */
.rv{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease);}
.rv.is-in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none;}
  .fv__slide{opacity:1;transition:none;}
  .fv__slide:nth-child(n+2){display:none;}   /* 動きを止める設定では1枚目だけを出す */
  .fv__slide img{transition:none;transform:none;}
  html{scroll-behavior:auto;}
}

/* レスポンシブ */
/* 1081〜1200px はナビを詰めて収める（ドロワーに切り替えるには広すぎる帯） */
@media(max-width:1200px){
  .hdr__in{gap:12px;}
  .nav__list{gap:0;}
  .nav__list > li > a{padding:10px 9px;font-size:13.5px;}
  .hdr__ig{padding-right:clamp(12px,1.6vw,18px);border-radius:0 var(--r-m) var(--r-m) 0;}
  .hdr__cta{padding:0 clamp(16px,2vw,22px);font-size:13.5px;}
}

/* ★1024px（タブレット）でヘッダーの「お問い合わせ」が画面外へ出ていたため、
   ドロワーへ切り替える幅を 900px → 1080px に上げた（実測 2026-08-27: 1024px で scrollWidth 1045）。*/
@media(max-width:1279px){
  body{font-size:16px;}
  /* ★backdrop-filter は position:fixed の子の"包含ブロック"を作ってしまい、
     ドロワー(.nav)がヘッダーの高さに閉じ込められて背景が出なくなる（実測 2026-08-27 390px）。
     ドロワーを使う幅では blur を外す（背景は alpha .94 なので見た目は変わらない）。 */
  .hdr{top:0;margin:0;width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;background:#fff;}
  .phd{padding-top:clamp(100px,22vw,124px);}
  .burger{display:block;}
  .hdr__in{height:66px;gap:12px;padding-inline:clamp(14px,2.4vw,24px);}
  .hdr__cta{display:none;}
  .hdr__ig{display:grid;place-items:center;order:1;align-self:center;margin:0 0 0 auto;padding:0;width:46px;height:46px;background:none;color:var(--main-d);}
  .hdr__ig:hover,.hdr__cta:hover + .hdr__ig{background:none;color:var(--main-dd);}
  .hdr__ig svg{width:46px;height:46px;padding:9px;background:var(--main-d);color:#fff;}
  .burger{display:grid !important;place-items:center;order:2;margin-left:0;flex:0 0 46px;}
  .nav{position:fixed;inset:66px 0 0;margin:0;background:var(--bg);border-top:1px solid var(--line);padding:24px 20px 120px;overflow-y:auto;clip-path:inset(0 0 0 100%);visibility:hidden;transition:clip-path .38s var(--ease),visibility .38s;}
  .nav.is-open{clip-path:inset(0 0 0 0);visibility:visible;}
  .nav__list{display:block;}
  .nav__list > li{display:block;}
  .nav__list > li > a{padding:16px 6px;font-size:16px;border-bottom:1px solid var(--line);border-radius:0;}
  .nav__has::after{float:right;margin-top:4px;}
  .sub{position:static;opacity:1;visibility:visible;transform:none;translate:none;min-width:0;box-shadow:none;border:none;background:transparent;padding:6px 0 10px 16px;}
  .sub a{padding:11px 8px;font-size:14.5px;}
  .fv__media{height:62vh;border-radius:0 0 var(--r-m) var(--r-m);}
  .fv__panel{margin-top:-56px;}
  .fv__dots{bottom:calc(56px + 18px);}
  .spcta{display:grid;}
  .ftr{padding-bottom:88px;}
  .leaf--tl{width:110px;}.leaf--br{width:130px;}
}


/* ============================================================
   リファレンス反映レイヤー（2026-08-27）
   参考サイトの「有機的なかたち・重なり・余白」を、やさしさ優先で取り込む。
   ★配色・テキスト・コンテンツは一切変更なし。既存の変数のみを透明度で使用。
   ============================================================ */

:root{--sp-sec:clamp(72px,10vw,132px); /* @kind spacing */ --r-org:clamp(28px,4vw,56px); /* @kind radius */}

/* --- セクションの重なり・前後関係 --- */
.sec > .wrap,.sec > .wrap-n,.cta > .wrap,.cta > .wrap-n{position:relative;z-index:1;}

/* --- やわらかな有機シェイプ（背面・低コントラスト） --- */
.sec::before,.sec::after,.cta::before{content:"";position:absolute;z-index:0;pointer-events:none;border-radius:50%;}
.sec::before{width:min(52vw,620px);aspect-ratio:1.25;top:-16%;right:-14%;background:radial-gradient(closest-side,rgba(48,150,76,.075),rgba(48,150,76,0) 72%);}
.sec::after{width:min(44vw,520px);aspect-ratio:1.1;bottom:-14%;left:-12%;background:radial-gradient(closest-side,rgba(232,138,165,.085),rgba(232,138,165,0) 72%);}
.sec--tint::before{background:radial-gradient(closest-side,rgba(255,255,255,.7),rgba(255,255,255,0) 72%);}
.sec--tint::after{background:radial-gradient(closest-side,rgba(48,150,76,.075),rgba(48,150,76,0) 72%);}
.cta::before{width:min(60vw,700px);aspect-ratio:1.3;top:-22%;left:-10%;background:radial-gradient(closest-side,rgba(255,255,255,.66),rgba(255,255,255,0) 74%);}

/* --- セクションの継ぎ目をゆるやかな弧に --- */
.sec--curve{border-radius:var(--r-org) var(--r-org) 0 0;}
@media(min-width:900px){
  .sec--curve{border-radius:58% 42% 0 0/var(--r-org) var(--r-org) 0 0;}
}
.sec--tint+.sec{border-radius:var(--r-org) var(--r-org) 0 0;margin-top:calc(var(--r-org) * -1);background:var(--bg);}
@media(min-width:900px){
  .sec--tint+.sec{border-radius:42% 58% 0 0/var(--r-org) var(--r-org) 0 0;}
}
.cta{border-radius:var(--r-org) var(--r-org) 0 0;}
@media(min-width:900px){.cta{border-radius:52% 48% 0 0/var(--r-org) var(--r-org) 0 0;}}
.ftr{border-radius:var(--r-org) var(--r-org) 0 0;margin-top:calc(var(--r-org) * -1);}

/* --- 写真：角のリズムを非対称にして有機的な印象に＋背面に一枚重ねる --- */
.duo__media img{border-radius:var(--r-org) var(--r-m) var(--r-org) var(--r-m);}
.duo--rev .duo__media img{border-radius:var(--r-m) var(--r-org) var(--r-m) var(--r-org);}
.duo__media::after{content:"";position:absolute;z-index:-1;inset:22px -20px -22px 22px;border-radius:var(--r-org) var(--r-m) var(--r-org) var(--r-m);background:rgba(48,150,76,.10);}
.duo--rev .duo__media::after{inset:22px 22px -22px -20px;border-radius:var(--r-m) var(--r-org) var(--r-m) var(--r-org);background:rgba(232,138,165,.16);}
.sec--tint .duo__media::after{background:rgba(255,255,255,.75);}
.sec--tint .duo--rev .duo__media::after{background:rgba(232,138,165,.16);}
@media(max-width:899px){.duo{grid-template-columns:minmax(0,1fr);align-items:stretch;}.duo__media,.duo--rev .duo__media{order:-1;}.duo__media::after,.duo--rev .duo__media::after{inset:16px -12px -16px 16px;}}

/* --- 小見出しラベル：細い線を添えて静かに --- */
.snum{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.snum::after{content:"";flex:0 0 34px;height:1px;background:var(--accent);opacity:.55;}

/* --- カード：線を抜き、やわらかな影と余白で --- */
.card{border-color:transparent;box-shadow:0 10px 30px rgba(31,122,62,.07);border-radius:var(--r-m);}
.card:hover{box-shadow:0 20px 44px rgba(31,122,62,.13);}
.card img{border-radius:0;}
.card__b{padding:28px 26px 30px;}

/* --- FV：写真の裾をやわらかく、パネルの重なりを深く --- */
.fv__media{border-radius:0 0 var(--r-org) var(--r-org);}
@media(min-width:900px){.fv__media{border-radius:0 0 46% 54%/0 0 var(--r-org) var(--r-org);}}
.fv__panel{border-radius:var(--r-org) var(--r-m) var(--r-org) var(--r-m);box-shadow:0 26px 60px rgba(31,122,62,.10);}

/* --- レスポンシブ微調整 --- */
html{overflow-x:clip;max-width:100%;}
.hdr__in{flex-wrap:nowrap;min-width:0;}
.hdr__logo{min-width:0;}
.hdr__logo img{max-width:52vw;object-fit:contain;object-position:left center;}
.ftr__addr,.tbl td,.crumb{overflow-wrap:anywhere;}
@media(max-width:699px){
  .step{padding:22px 20px 24px 58px;}
  .step::before{left:18px;top:22px;}
  .quote{font-size:clamp(17px,4.6vw,22px);}
  .phd{border-radius:0 0 var(--r-m) var(--r-m);}
}
@media(max-width:380px){
  .hdr__in{gap:8px;padding-inline:12px;}
  .hdr__logo img{height:30px;}
  .hdr__ig,.hdr__ig svg{width:40px;height:40px;}
}

/* --- 面ものの角も同じ言語に揃える --- */
.ig,.form{border-radius:var(--r-org) var(--r-m) var(--r-org) var(--r-m);}
.quote{background:#ffeb9b;border-radius:var(--r-m) 0 var(--r-m) 0;}
.next{background:var(--main-d);color:#fff;border-radius:var(--r-m) 0 var(--r-m) 0;}
.next:hover{background:#dbd5bb;color:var(--main-dd);}
.blog__ph{border-radius:var(--r-m);}
.phd{border-radius:0;}
.ig{position:relative;}
.ig::before{content:"";position:absolute;z-index:0;top:-30%;right:-14%;width:min(46vw,420px);aspect-ratio:1.2;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.75),rgba(255,255,255,0) 72%);pointer-events:none;}
.ig > *{position:relative;z-index:1;}

/* --- 動きはゆっくり、控えめに --- */
.rv{transform:translateY(18px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease);}
.card:hover{transform:translateY(-4px);}

@media(prefers-reduced-motion:reduce){.rv{transform:none;transition:none;}}

/* --- ヒーロー以下：セクションの継ぎ目を直線に、背景色を統一 --- */
.sec,.sec--tint,.sec--curve,.sec--tint+.sec,.cta{background:url("https://cdn.cuezilla-cms.com/enjoyworks-test17.site/images/1551/bg_img.webp") repeat 0 0/100px 100px,var(--bg);border-radius:0;margin-top:0;}
@media(min-width:900px){.sec--curve,.sec--tint+.sec,.cta{border-radius:0;}}
.sec,.cta{overflow:visible;}
body{overflow-x:hidden;}
.sec--tint::before,.sec--tint::after,.cta::before,.sec::before,.sec::after{background:none;}

/* --- CTA：背景写真＋白ボックス（全ページ共通） --- */
.cta{background:url("https://cdn.cuezilla-cms.com/enjoyworks-test17.site/images/1551/cta-yamanami.webp") center/cover no-repeat;padding-bottom:calc(var(--sp-sec) + var(--r-org));}
.cta__box{background:#fff;border-radius:var(--r-m);padding:clamp(32px,4.5vw,56px);box-shadow:0 14px 40px rgba(0,0,0,.12);}
.cta .btn-row{justify-content:center;}


/* === 下層ページ：トップページ準拠のトンマナ（2026-09-11） === */
:root{--bg:#ffffff;--bg2:#f1f6ef;--line:#d7e2d4;}
.next:hover{background:#dbe8d6;color:var(--main-dd);}
.quote{background:#eef5ec;}
body{background:#fff;}
.sec,.sec--tint,.sec--curve,.sec--tint+.sec{background:#fff;}
.leaf{display:none;}
.snum-ic{display:none;}
.h2,.cta__t{font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500;color:#1c1e1d;}
.h2{font-size:clamp(26px,3.2vw,40px);}
.h3,.card__b .h3{color:#1c1e1d;}
.sec p,.cta p,.card__b p{font-weight:500;}
.phd__t{font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500;}
.snum{font-family:"Jost",sans-serif;font-size:clamp(22px,3.2vw,34px);font-weight:700;letter-spacing:.16em;color:var(--main-d);}
.snum::after{background:var(--main-d);opacity:.5;}
.phd .wrap{z-index:auto!important;}
.phd__lb{font-size:clamp(34px,6vw,72px);font-weight:700;letter-spacing:.02em;line-height:1.05;color:#439f47;opacity:.72;}
.btn,.btn--o{background:var(--main-d);color:#fff;border-color:var(--main-d);border-radius:.25rem;}
.btn:hover,.btn--o:hover{background:var(--main-dd);color:#fff;border-color:var(--main-dd);}
.btn-row{margin-top:32px;}
.sec,.cta{padding:clamp(52px,6vw,92px) 0;}
.cta{position:relative;padding-bottom:clamp(52px,6vw,92px);}
.cta::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.55);pointer-events:none;}
.cta > *{position:relative;z-index:1;}
main :is(img,.card,.card__b,.cta__box,.duo__media,.mslider,.blog__i,.blog__ph,.quote,.step,.tbl,.next){border-radius:0;}
main :not(.btn):not(.btn--o):not(.totop):not(.vbtn):not(.mslider__dots button):not(.msl-pause){border-radius:0;}
main :is(.mslider__dots button,.msl-pause){border-radius:999px;}
.card{border:0;box-shadow:none;background:#fff;}
.duo__media::after,.duo__media::before{display:none;}
.card:hover{box-shadow:none;transform:none;}
.duo__media img,.duo__media .mslider__s img,.duo--rev .duo__media img,.sec--tint .duo__media img{border-radius:0;}
.duo__media::after,.duo--rev .duo__media::after,.sec--tint .duo__media::after,.sec--tint .duo--rev .duo__media::after{display:none;background:none;}
.phd{border-radius:0;}
.ftr{border-radius:0;margin-top:0;background:linear-gradient(180deg,var(--gf1) 0%,var(--gf2) 45%,var(--gf3) 100%);}
.fmq{overflow:hidden;margin-top:28px;}
.fmq__in{display:flex;width:max-content;animation:fmqmove 30s linear infinite;}
.fmq__in span{display:block;padding-right:60px;font-family:"Jost",sans-serif;font-size:clamp(52px,9vw,130px);font-weight:700;line-height:1;letter-spacing:.04em;color:rgb(126 200 75 / .22);white-space:nowrap;}
@keyframes fmqmove{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.fmq__in{animation:none;}}
.totop{position:fixed;z-index:55;right:clamp(14px,2vw,28px);bottom:clamp(18px,3vw,28px);display:grid;place-items:center;width:74px;height:74px;border-radius:999px;background:#ed146c;color:#fff;font-family:"Jost",sans-serif;font-size:16px;font-weight:500;letter-spacing:.12em;text-decoration:none;box-shadow:0 10px 26px rgba(0,0,0,.18);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .35s var(--ease),transform .35s var(--ease),visibility .35s;}
.totop.is-on{opacity:1;visibility:visible;transform:none;}
.totop:hover{background:#c9105c;color:#fff;}
@media(max-width:699px){.totop{width:62px;height:62px;font-size:14px;bottom:100px;}}
/* ヘッダー（トップページと同一） */
.hdr{border-radius:14px;box-shadow:0 6px 24px rgba(31,122,62,.07);}
.hdr__grp{display:contents;}
.nav__ig{display:none;}
@media(max-width:1279px){.nav__list > li.nav__ig{display:none;}}
@media(min-width:1280px){
.nav__ig{display:block;margin-right:8px;}
.nav__ig a{display:grid;place-items:center;width:46px;height:46px;padding:0;color:var(--main-d);}
.nav__ig svg{width:32px;height:32px;flex:0 0 32px;}
.nav__ig a:hover{color:var(--main-dd);background:none;}
.hdr{background:none;box-shadow:none;border-radius:0;width:100%;max-width:none;padding-inline:100px;}
.hdr__in{padding-inline:0;gap:.5rem;height:66px;align-items:stretch;width:100%;max-width:none;}
.hdr__logo{align-self:stretch;height:100%;padding:0 clamp(18px,2vw,26px);background:#fff;border-radius:.25rem;box-shadow:0 6px 24px rgba(31,122,62,.07);}
.hdr__grp{display:flex;align-items:stretch;gap:.5rem;height:100%;flex:1;min-width:0;margin-left:0;padding:0;background:none;box-shadow:none;}
.hdr__grp .nav{margin-left:0;align-self:stretch;flex:1;min-width:0;display:flex;align-items:center;justify-content:flex-end;height:100%;padding:0 clamp(14px,1.6vw,20px);background:#fff;border-radius:.25rem;box-shadow:0 6px 24px rgba(31,122,62,.07);}
.hdr__grp .nav__list{height:100%;align-items:center;}
.hdr__grp .nav__list > li > a{font-size:15.5px;padding:10px 14px;}
.hdr__grp .sub,.hdr__grp .sub a{border-radius:.25rem;}
.hdr__ig{display:none;}
.hdr__cta{order:2;align-self:stretch;height:100%;padding:0 clamp(18px,2vw,26px);border-radius:.25rem;box-shadow:0 6px 24px rgba(31,122,62,.07);}
}


/* === カスタムカーソル === */
@media(pointer:fine){
html.has-cursor,html.has-cursor a,html.has-cursor button,html.has-cursor [role="tab"],html.has-cursor label,html.has-cursor input,html.has-cursor textarea,html.has-cursor select{cursor:none;}
.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;z-index:9999;pointer-events:none;border-radius:999px;margin-left:-4px;margin-top:-4px;transition:opacity .3s ease;}
.cursor-dot{width:8px;height:8px;background:rgb(126 200 75);}
.cursor-ring{width:110px;height:110px;margin-left:-55px;margin-top:-55px;border:1px solid rgb(126 200 75 / .7);transition:width .28s var(--ease),height .28s var(--ease),margin .28s var(--ease),background .28s var(--ease),border-color .28s var(--ease),opacity .3s ease;}
html.cursor-hover .cursor-ring{width:150px;height:150px;margin-left:-75px;margin-top:-75px;background:rgb(126 200 75 / .16);border-color:rgb(126 200 75 / .9);}
html.cursor-down .cursor-ring{width:80px;height:80px;margin-left:-40px;margin-top:-40px;}
@media(prefers-reduced-motion:reduce){.cursor-ring{transition:none;}}
}


/* === ミニスライダーUI（トップページ準拠） === */
.mslider{position:relative;}
.mslider__dots{left:16px;right:auto;bottom:16px;justify-content:flex-start;gap:10px;align-items:center;z-index:3;}
.mslider__dots button{display:block;width:9px;height:9px;border-radius:999px;background:rgba(255,255,255,.5);transition:background .35s var(--ease),transform .35s var(--ease);}
.mslider__dots button[aria-selected="true"]{width:9px;background:#fff;transform:scale(1.35);}
.msl-pause{position:absolute;z-index:3;right:16px;bottom:16px;display:grid;place-items:center;width:46px;height:46px;padding:0;border:0;border-radius:999px;background:rgba(0,0,0,.34);cursor:pointer;transition:background .3s var(--ease);}
.msl-pause:hover{background:rgba(0,0,0,.55);}
.msl-ring{position:absolute;inset:0;width:46px;height:46px;transform:rotate(-90deg);}
.msl-ring circle{fill:none;stroke-width:2;}
.msl-ring .msl-trk{stroke:rgba(255,255,255,.28);}
.msl-ring .msl-prog{stroke:#fff;stroke-dasharray:126;stroke-dashoffset:126;animation:mslring 5s linear infinite;}
@keyframes mslring{from{stroke-dashoffset:126}to{stroke-dashoffset:0}}
.mslider.is-paused .msl-prog{animation-play-state:paused;}
.msl-ic{display:block;width:10px;height:12px;border-left:3px solid #fff;border-right:3px solid #fff;}
.mslider.is-paused .msl-ic{width:0;height:0;border:6px solid transparent;border-left:10px solid #fff;border-right:0;margin-left:4px;}
@media(prefers-reduced-motion:reduce){.msl-ring .msl-prog{animation:none;}}


/* === 画像内テキストカード === */
.cards--ov .card{position:relative;min-height:clamp(340px,38vw,520px);overflow:hidden;background:none;border:0;box-shadow:none;}
.cards--ov .card > img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;}
.cards--ov .card::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.68);transition:background .4s var(--ease);}
.cards--ov .card:hover::after{background:rgba(0,0,0,.45);}
.cards--ov .card__b{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;height:100%;padding:clamp(24px,3vw,44px);background:none;}
.cards--ov .card__b .h3{color:#fff;font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500;font-size:clamp(24px,2.6vw,34px);margin:0 0 12px;}
.cards--ov .card__b p{color:#fff;font-weight:500;}
.cards--ov .card__more{color:rgb(126 200 75);}

.next{background:linear-gradient(90deg,var(--g1) 0%,var(--g2) 100%);color:#fff;}
.next:hover{background:linear-gradient(90deg,var(--g2) 0%,var(--g1) 100%);color:#fff;}

.next > span:last-child{display:grid;place-items:center;flex:0 0 auto;width:84px;height:84px;border:1px solid rgba(255,255,255,.8);border-radius:999px;font-size:18px;line-height:1;transition:background .3s var(--ease),transform .3s var(--ease);}
.next:hover > span:last-child{background:rgba(255,255,255,.16);transform:translateX(4px);}

.cta{padding-top:clamp(80px,9vw,140px);}

.crumb{padding:16px 0 clamp(80px,9vw,140px);}


/* === 下層ページ：縦リズムの統一 === */
:root{--gap-sec:clamp(52px,6vw,92px);}
.sec,.cta{padding:var(--gap-sec) 0;}
.cta{padding-top:var(--gap-sec);padding-bottom:var(--gap-sec);}
.crumb{padding:16px 0;}
.phd{padding-bottom:clamp(28px,3vw,44px);}
.sec + .sec,.sec + .cta,.cta + .sec{margin-top:0;}

/* セクション間は詰める／CTA直前だけ広め */
.sec{padding:clamp(28px,3vw,44px) 0;}
.sec:has(+ .cta){padding-bottom:var(--gap-sec);}
.cta{padding-top:var(--gap-sec);}

main .sec:first-of-type{padding-top:var(--gap-sec);}

/* パンくず：緑グラデ帯 */
.crumb{background:linear-gradient(90deg,var(--g1) 0%,var(--g2) 100%);color:#fff;width:auto;margin-inline:calc(50% - 50vw);padding:14px max(20px,calc(50vw - var(--wrap)/2));}
.crumb a,.crumb li,.crumb li+li::before{color:#fff;}
.crumb a:hover{color:rgb(126 200 75);}

.cards--ov .card__links{display:flex;justify-content:flex-end;margin-top:auto;}

/* ステップカード：緑グラデ＋白丸番号 */
.step,.sec--tint .step{background:linear-gradient(135deg,var(--g1) 0%,var(--g2) 100%);border:0;color:#fff;}
.step .h3,.step p{color:#fff;}
.step::before{background:#fff;color:var(--main-d);font-weight:700;border-radius:999px;}

/* 機械リスト */
.tags--list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 clamp(20px,3vw,44px);list-style:none;margin:0;padding:0;}
.tags--list li{position:relative;display:flex;align-items:center;min-height:56px;padding:0 0 0 22px;background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;font-size:16px;font-weight:500;color:var(--txt);}
.tags--list li::before{content:"";position:absolute;left:0;top:50%;translate:0 -50%;width:8px;height:8px;border-radius:999px;background:var(--main-d);}
@media(max-width:560px){.tags--list{grid-template-columns:1fr;}}

/* カード高さを揃える */
.cards{align-items:stretch;}
.card{height:100%;}
.steps{grid-auto-rows:1fr;align-items:stretch;}
.step{height:100%;}

/* テキスト内リスト：カード化＋タイトル改行 */
.steplist{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;}
.steplist li{display:block;height:100%;padding:22px 24px;background:#fff;border:1px solid var(--line);border-radius:0;}
.steplist__t{display:block;margin-bottom:8px;padding-left:18px;white-space:normal;font-size:17px;}
.steplist__d{display:block;}

/* ステップ番号と見出しの高さを揃える */
.step{padding:26px 28px 28px 74px;}
.step::before{top:26px;left:26px;width:32px;height:32px;font-size:14px;line-height:1;}
.step .h3{margin-top:0;line-height:32px;}
@media(max-width:699px){.step{padding:22px 20px 24px 62px;}.step::before{left:18px;top:22px;}}

.steplist__t{padding-left:0;color:#ed146c;}
.steplist__t::before{display:none;}

.steplist li{border-color:#ed146c;}

.steplist li{background:#141715;border:0;}
.steplist__d{color:#fff;}

.next > span:last-child{border-radius:999px!important;}

main :is(.vbtn__ar,.hnav__b,.hnav__dots button,.nav__ig a,.mslider__dots button,.msl-pause,.totop){border-radius:999px!important;}

.lead-mincho p{font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500;font-size:clamp(20px,2.4vw,30px);line-height:1.9;}

/* 緑グラデカード（返礼品） */
.cards--grn .card{background:linear-gradient(135deg,var(--g1) 0%,var(--g2) 100%);border:0;overflow:hidden;}
.cards--grn .card__b{background:none;display:flex;flex-direction:column;padding:28px 26px;}
.cards--grn .card .h3{margin:0 0 24px;text-align:center;}
.cards--grn .card .h3{color:#fff;}
.cards--grn .card__more{margin:auto 0 0;padding:0!important;}
.cards--grn .card__more a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 20px;background:#fff;border-radius:.25rem;text-align:center;overflow:hidden;}
.cards--grn .card__more a::after{position:static;margin:0;transform:none;}
.cards--grn .card__more a:hover::after{transform:translateX(4px);}
.cards--grn .card__more a{color:var(--main-d);font-weight:700;text-decoration:none;}
.cards--grn .card__more a:hover{color:var(--main-dd);}

.cards--grn .card__more::after,.cards--grn .card__more::before{display:none!important;content:none!important;}
.cards--grn .card__more a::after{content:"→";display:inline;position:static;margin:0;transform:none;}

.quote{font-weight:700;font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;}

@media(max-width:1279px){
.burger{display:grid!important;place-items:center;width:46px;height:46px;padding:0;box-sizing:border-box;overflow:visible;line-height:0;}
.burger span{display:block;width:18px;height:1.5px;margin:0;background:#fff;transition:.3s var(--ease);grid-area:1/1;transform-origin:50% 50%;}
.burger span:nth-child(1){transform:translateY(-5.5px);}
.burger span:nth-child(3){transform:translateY(5.5px);}
.burger[aria-expanded="true"] span:nth-child(1){transform:rotate(45deg);}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.burger[aria-expanded="true"] span:nth-child(3){transform:rotate(-45deg);}
}

@media(max-width:1279px){
.hdr{top:16px;width:min(100% - 24px,100%);margin:0 12px;border-radius:.25rem;border-bottom:0;box-shadow:0 6px 24px rgba(31,122,62,.07);}
.phd{padding-top:clamp(116px,24vw,140px);}
.nav{inset:82px 0 0;}
}

@media(max-width:1279px){
.nav{position:fixed;inset:0!important;padding-top:110px!important;background:var(--bg);background-size:cover;z-index:59;}
.hdr{z-index:70;}
.hdr:has(.nav.is-open){background:transparent;box-shadow:none;}
.hdr:has(.nav.is-open) .hdr__logo{background:transparent;box-shadow:none;}
}

@media(max-width:1279px){
.hdr__in{position:relative;z-index:80;}
.hdr__logo,.burger,.hdr__ig{position:relative;z-index:80;}
.hdr:has(.nav.is-open) .hdr__in{pointer-events:auto;}
}

@media(max-width:1279px){
.nav{clip-path:none!important;transform:translateX(100%);opacity:0;visibility:hidden;transition:transform .5s cubic-bezier(.22,.61,.36,1),opacity .35s ease,visibility .5s;will-change:transform;}
.nav.is-open{transform:translateX(0);opacity:1;visibility:visible;}
.nav__list > li{opacity:0;transform:translateY(10px);transition:opacity .4s ease,transform .4s cubic-bezier(.22,.61,.36,1);}
.nav.is-open .nav__list > li{opacity:1;transform:none;}
.nav.is-open .nav__list > li:nth-child(1){transition-delay:.12s}
.nav.is-open .nav__list > li:nth-child(2){transition-delay:.17s}
.nav.is-open .nav__list > li:nth-child(3){transition-delay:.22s}
.nav.is-open .nav__list > li:nth-child(4){transition-delay:.27s}
.nav.is-open .nav__list > li:nth-child(5){transition-delay:.32s}
.nav.is-open .nav__list > li:nth-child(6){transition-delay:.37s}
}
@media(prefers-reduced-motion:reduce){.nav,.nav__list > li{transition:none!important;}}

@media(max-width:1279px){
.nav{top:82px!important;bottom:0!important;left:0!important;right:0!important;padding-top:24px!important;}
.hdr:has(.nav.is-open){background:#fff;box-shadow:0 6px 24px rgba(31,122,62,.07);}
.hdr:has(.nav.is-open) .hdr__logo{background:#fff;box-shadow:none;}
}

@media(max-width:1279px){
.hdr::before{content:"";position:fixed;inset:0 0 auto;height:82px;background:var(--bg);opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s;pointer-events:none;z-index:-1;}
.hdr:has(.nav.is-open)::before{opacity:1;visibility:visible;}
}


/* === タブレット縦・スマホ：縦並び時の余白調整 === */
@media(max-width:900px){
:root{--gap-sec:clamp(40px,7vw,64px);}
.sec,.cta{padding:clamp(36px,7vw,56px) 0;}
.wrap,.wrap-n{width:min(100% - 40px,var(--wrap));}
.duo{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;}
.duo__media{margin:0;}
.cards{gap:20px;}
.card__b{padding:22px 20px 24px;}
.cta__box{padding:28px 22px;}
.btn-row{margin-top:26px;}
.h2{margin-bottom:14px;}
.next{padding:22px 20px;gap:14px;}
.next > span:last-child{width:56px;height:56px;}
}
@media(max-width:699px){
.sec,.cta{padding:clamp(32px,8vw,48px) 0;}
.wrap,.wrap-n{width:calc(100% - 32px);}
.duo{gap:22px;}
.cards{gap:16px;}
.card__b{padding:20px 18px 22px;}
.cta__box{padding:24px 18px;}
.btn-row{margin-top:22px;}
.tl li{padding-bottom:20px;}
.tags--list li{min-height:48px;}
}

@media(min-width:900px) and (max-width:1279px){
.ftr__nav{columns:3;column-gap:24px;font-size:14px;}
.ftr__nav li{break-inside:avoid;}
.ftr__nav a{white-space:nowrap;}
}
@media(max-width:899px){.ftr__nav a{white-space:nowrap;}}

@media(min-width:700px) and (max-width:1279px){.totop{bottom:118px!important;}}

@media(max-width:699px){.btn-row{justify-content:center;}}

.nav__cta{display:none;}
@media(max-width:1279px){
.nav__cta{display:flex;align-items:center;justify-content:center;min-height:56px;margin-top:28px;padding:0 24px;background:var(--main-d);color:#fff;font-weight:700;text-decoration:none;border-radius:.25rem;}
.nav__cta:hover{background:var(--main-dd);color:#fff;}
.nav.is-open .nav__cta{opacity:1;transform:none;}
}

@supports (width:100dvw){.crumb{margin-inline:calc(50% - 50dvw);}}

.crumb.wrap{width:auto!important;max-width:none!important;}
@media(max-width:900px){.crumb.wrap{width:auto!important;}}

.crumb{padding-inline:0!important;}
.crumb > ol{width:min(100% - 40px,var(--wrap));margin-inline:auto;}

.crumb.wrap{position:relative;width:min(100% - 40px,var(--wrap))!important;max-width:none;margin-inline:auto!important;background:none!important;padding:14px 0!important;}
.crumb.wrap::before{content:"";position:absolute;inset:0 calc(50% - 50vw);background:linear-gradient(90deg,var(--g1) 0%,var(--g2) 100%);z-index:-1;}
.crumb.wrap > ol{position:relative;width:auto;margin-inline:0;}
@media(max-width:699px){.crumb.wrap{width:calc(100% - 32px)!important;}}

/* 下層：縦並び時のテキストエリア余白を統一 */




@media(max-width:900px){.duo{gap:0!important;}.duo__media{margin-top:0!important;}}

/* 縦並び時：画像が先頭に来るため、画像上の余白（セクション上パディング）を消す */
@media(max-width:899px){
.sec:has(> .wrap > .duo){padding-top:0!important;}
.sec:has(> .wrap.duo){padding-top:0!important;}
.duo{gap:0!important;}
.duo__media{margin:0!important;}
.duo > div:not(.duo__media){padding-block:clamp(36px,7vw,56px)!important;}
}

@media(max-width:899px){
.sec:has(.duo){padding-block:0!important;}
.duo > div:not(.duo__media) > *:last-child{margin-bottom:0!important;}
}

@media(max-width:899px){.sec:has(> .wrap > .cards){padding-top:0!important;}}

@media(max-width:899px){.sec:has(> .wrap > .rv > .snum),.sec:has(> .wrap-n.rv > .snum){padding-top:0!important;}}

@media(max-width:899px){.sec .wrap-n.rv[style*="margin-top:48px"]{margin-top:24px!important;}}

@media(max-width:899px){.sec:has(> .wrap > .cards),.sec:has(> .wrap > .steps){padding-bottom:0!important;}}

@media(max-width:899px){
.steps{margin-bottom:0!important;}
.steps + .wrap-n,.sec .wrap-n.rv[style]{margin-top:24px!important;}
.sec:has(.steps){padding-bottom:clamp(24px,5vw,36px)!important;}
}

@media(max-width:899px){
.duo:has(+ .wrap-n) > div:not(.duo__media){padding-bottom:0!important;}
.duo--rev > div:not(.duo__media){padding-bottom:0!important;}
}

@media(max-width:899px){.sec--tint.sec--curve:has(.duo--rev) .duo__media{margin-top:clamp(36px,7vw,56px)!important;}}

@media(max-width:899px){
.sec > .wrap.duo > .duo__media:first-child{margin-top:clamp(36px,7vw,56px)!important;}
.duo:not(.wrap) .duo__media + .duo__media{margin-top:clamp(20px,4vw,32px)!important;}
}

@media(max-width:899px){.sec:has(> .wrap-n.rv > .snum){padding-top:0!important;}}

@media(max-width:899px){.sec--tint.sec--curve:has(.duo:not(.duo--rev)):has(.steps){padding-bottom:0!important;}}

@media(max-width:899px){.sec--tint.sec--curve:has(> .wrap > .steps):not(:has(.duo)){padding-bottom:clamp(36px,7vw,56px)!important;}}

@media(max-width:640px){.tl li{gap:12px!important;grid-auto-rows:auto!important;padding-bottom:12px!important;}.tl__bd{min-height:0!important;}}

@media(max-width:899px){.sec:has(> .wrap > .tl),.sec:has(.tl){padding-bottom:clamp(36px,7vw,56px)!important;}}


/* 角丸なし（直角）— 円形要素のみ例外 */
:root{--r-s:0px;--r-m:0px;--r-l:0px;--r-org:0px;}
.sec--curve,.sec--tint+.sec,.hdr,.card,.step,.tbl,.quote,.ig,.next,.blog__ph,.form,.form input,.form select,.form textarea,.form .req,.btn,.btn--o,.tags li,.ftr__ig,.sub,.sub a,.nav__list > li > a,.steplist li,.duo__media img,.fv__media,.phd,.mslider,.mslider__s img,.vbtn{border-radius:0!important;}
@media(min-width:900px){.sec--curve{border-radius:0!important;}}
/* ハンバーガー／Instagramアイコン背景を正方形に */
.burger,.hdr__ig,.hdr__ig svg,.nav__ig a,.nav__ig svg{border-radius:0!important;}


/* 和文は全て明朝（英字クラス .en / Jost は除外） */
body,button,input,select,textarea,.nav__list > li > a,.sub a,.hdr__cta,.btn,.btn--o,.card__b .h3,.h1,.h2,.h3,.step .h3,p,li,dd,dt,th,td,label,.fv__lead,.fv__sub{font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;}
.en,.snum,.fmq__in span,.totop,.fv__scroll span{font-family:"Jost","Century Gothic",-apple-system,sans-serif;}


/* ============ 共通領域（ヘッダー/フッター/固定CTA/TOPボタン） ============ */
:root{--wrap:1500px;}
body{background:#fff;overflow-x:clip;}
@keyframes mslring{from{stroke-dashoffset:126}to{stroke-dashoffset:0}}
@keyframes mqmove{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.fmq{overflow:hidden;margin-top:28px;}
.fmq__in{display:flex;width:max-content;animation:mqmove 30s linear infinite;}
.fmq__in span{display:block;padding-right:60px;font-family:"Jost",sans-serif;font-size:clamp(52px,9vw,130px);font-weight:700;line-height:1;letter-spacing:.04em;color:rgb(126 200 75 / .22);white-space:nowrap;}
@media(prefers-reduced-motion:reduce){
.fmq__in{animation:none;}
}
.ftr{border-radius:0;margin-top:0;background:linear-gradient(180deg,var(--gf1) 0%,var(--gf2) 45%,var(--gf3) 100%);}
.totop{border-radius:999px!important;}
.totop{position:fixed;z-index:55;right:clamp(14px,2vw,28px);bottom:clamp(18px,3vw,28px);display:grid;place-items:center;width:74px;height:74px;border-radius:999px;background:#ed146c;color:#fff;font-family:"Jost",sans-serif;font-size:16px;font-weight:500;letter-spacing:.12em;text-decoration:none;box-shadow:0 10px 26px rgba(0,0,0,.18);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .35s var(--ease),transform .35s var(--ease),visibility .35s;}
.totop.is-on{opacity:1;visibility:visible;transform:none;}
.totop:hover{background:#c9105c;color:#fff;}
@media(max-width:699px){
.totop{width:62px;height:62px;font-size:14px;bottom:100px;}
}
.hdr{border-radius:0;box-shadow:0 6px 24px rgba(31,122,62,.07);}
.hdr__grp{display:contents;}
.nav__ig{display:none;}
@media(max-width:1279px){
.nav__list > li.nav__ig{display:none;}
}
@media(min-width:1280px){
.nav__ig{display:block;}
}
@media(min-width:1280px){
.hdr{background:none;box-shadow:none;border-radius:0;width:100%;max-width:none;padding-inline:100px;}
.hdr__in{padding-inline:0;gap:.5rem;height:66px;align-items:stretch;width:100%;max-width:none;}
.hdr__logo{align-self:stretch;height:100%;padding:0 clamp(18px,2vw,26px);background:#fff;border-radius:0;box-shadow:0 6px 24px rgba(31,122,62,.07);}
.hdr__grp{display:flex;align-items:stretch;gap:.5rem;height:100%;flex:1;min-width:0;margin-left:0;padding:0;background:none;box-shadow:none;}
.hdr__grp .nav{margin-left:0;align-self:stretch;flex:1;min-width:0;display:flex;align-items:center;justify-content:flex-end;height:100%;padding:0 clamp(14px,1.6vw,20px);background:#fff;border-radius:0;box-shadow:0 6px 24px rgba(31,122,62,.07);}
.hdr__grp .nav__list{height:100%;align-items:center;}
.hdr__grp .nav__list > li > a{font-size:15.5px;padding:10px 14px;}
.hdr__grp .sub{border-radius:0;}
.hdr__grp .sub a{border-radius:0;}
.hdr__cta{box-shadow:0 6px 24px rgba(31,122,62,.07);}
.hdr__ig{display:none;}
.nav__ig{margin-right:8px;}
.nav__ig a{display:grid;place-items:center;width:46px;height:46px;padding:0;color:var(--main-d);}
.nav__ig svg{width:32px;height:32px;flex:0 0 32px;}
.nav__ig a:hover{color:var(--main-dd);background:none;}
.hdr__cta{order:2;align-self:stretch;height:100%;padding:0 clamp(18px,2vw,26px);border-radius:0;}
.hdr__ig{order:1;align-self:center;width:46px;height:46px;margin-left:0;padding:0;background:none;border-radius:999px;color:var(--main-d);}
.hdr__ig:hover,.hdr__cta:hover + .hdr__ig{background:none;color:var(--main-dd);}
.hdr__ig svg{width:46px;height:46px;padding:8px;background:none;color:inherit;}
}
@keyframes vmqup{from{transform:translateY(0)}to{transform:translateY(-50%)}}
@keyframes vmqdown{from{transform:translateY(-50%)}to{transform:translateY(0)}}
:root{--wrap:1500px;--sp-sec:clamp(48px,6vw,84px);}


/* ===== _css2_pages.css ===== */
/* ページ別スタイル（AddCssInfo はサイト共通のため .pg-xxx で閉じ込めている） */

/* --- トップ（index） --- */
.pg-index .sec,.pg-index .sec--tint,.pg-index .sec--curve,.pg-index .sec--tint+.sec{background:#fff;}
.pg-index .sec--tint{background:#fff;padding:0;}
.pg-index .sec.sec--tint{padding:0;}
.pg-index .fv{position:relative;padding:0;overflow:hidden;min-height:100svh;height:100svh;}
.pg-index .fv__media{position:absolute;inset:0;z-index:0;width:100%;height:100%;min-height:0;margin:0;border-radius:0;aspect-ratio:auto;animation:none;overflow:hidden;}
@media(min-width:900px){
.pg-index .fv__media{border-radius:0;}
}
.pg-index .fv__media::after{content:"";position:absolute;inset:0;z-index:2;background:rgba(0,0,0,.22);pointer-events:none;}
.pg-index .fv__slide img{transform:scale(1.16) translate(2%,1%);transition:transform 7.6s linear;}
.pg-index .fv__slide.is-on img{transform:scale(1) translate(0,0);}
.pg-index .duo__media img,.pg-index .card img,.pg-index .blog__i img,.pg-index .mslider img{transition:none!important;transform:none!important;animation:none!important;}
.pg-index .fv__dots{left:auto;right:clamp(14px,2vw,34px);top:50%;bottom:auto;translate:0 -50%;flex-direction:column;gap:6px;}
.pg-index .fv__dots button{width:34px;height:34px;padding:0;display:grid;place-items:center;}
.pg-index .fv__dots button::before{width:9px;height:9px;border-radius:999px;background:rgba(255,255,255,.5);transition:background .4s var(--ease),transform .4s var(--ease);}
.pg-index .fv__dots button[aria-selected="true"]::before{width:9px;height:9px;background:#fff;transform:scale(1.35);}
.pg-index .fv__scroll{position:absolute;z-index:4;right:clamp(14px,2vw,34px);bottom:40px;width:34px;display:grid;justify-items:center;gap:12px;pointer-events:none;}
.pg-index .fv__scroll::before{content:"";width:1px;height:clamp(110px,20vh,220px);background:rgba(255,255,255,.9);}
.pg-index .fv__scroll span{writing-mode:vertical-rl;font-family:"Jost",sans-serif;font-size:12px;letter-spacing:.34em;color:#fff;text-shadow:0 0 10px rgba(0,0,0,.6);}
@media(max-height:420px){
.pg-index .fv__scroll{display:none;}
}
.pg-index .fv__dots button:hover::before{background:rgba(255,255,255,.85);}
.pg-index .fv__dots{bottom:38px;}
.pg-index .duo__media img{border-radius:58% 42% 46% 54%/48% 56% 44% 52%;}
.pg-index .duo--rev .duo__media img{border-radius:44% 56% 58% 42%/56% 46% 54% 44%;}
.pg-index-main .sec:nth-of-type(1) .duo__media > img{border-radius:58% 42% 46% 54%/52% 48% 56% 44%;}
.pg-index-main .sec:nth-of-type(3) .duo__media img{border-radius:34% 66% 40% 60%/62% 34% 66% 38%;}
.pg-index-main .sec:nth-of-type(4) .duo__media img{border-radius:48% 52% 68% 32%/54% 40% 60% 46%;}
.pg-index-main .sec:nth-of-type(6) .duo__media img{border-radius:62% 38% 34% 66%/40% 66% 34% 60%;}
.pg-index-main .sec:nth-of-type(7) .duo__media img{border-radius:36% 64% 60% 40%/68% 44% 56% 32%;}
.pg-index .duo__media,.pg-index .duo__media img,.pg-index .duo__media .mslider__s img{border-radius:0;}
.pg-index .duo__media.mslider{aspect-ratio:3/2;position:relative;}
.pg-index .mslider__dots{position:absolute;z-index:3;left:16px;bottom:16px;display:flex;gap:10px;align-items:center;list-style:none;margin:0;padding:0;}
.pg-index .mslider__dots li{margin:0;}
.pg-index .mslider__dots button{display:block;width:9px;height:9px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.5);cursor:pointer;transition:background .35s var(--ease),transform .35s var(--ease);}
.pg-index .mslider__dots button::before{display:none;}
.pg-index .mslider__dots button[aria-selected="true"]{background:#fff;transform:scale(1.35);}
.pg-index .msl-pause{position:absolute;z-index:3;right:16px;bottom:16px;display:grid;place-items:center;width:46px;height:46px;padding:0;border:0;border-radius:999px;background:rgba(0,0,0,.34);cursor:pointer;transition:background .3s var(--ease);}
.pg-index .msl-ring{position:absolute;inset:0;width:46px;height:46px;transform:rotate(-90deg);}
.pg-index .msl-ring circle{fill:none;stroke-width:2;}
.pg-index .msl-ring .msl-trk{stroke:rgba(255,255,255,.28);}
.pg-index .msl-ring .msl-prog{stroke:#fff;stroke-dasharray:126;stroke-dashoffset:126;animation:mslring 5s linear infinite;}
.pg-index .mslider.is-paused .msl-prog{animation-play-state:paused;}
@media(prefers-reduced-motion:reduce){
.pg-index .msl-ring .msl-prog{animation:none;}
}
.pg-index .msl-pause:hover{background:rgba(0,0,0,.55);}
.pg-index .msl-ic{display:block;width:10px;height:12px;border-left:3px solid #fff;border-right:3px solid #fff;}
.pg-index .mslider.is-paused .msl-ic{width:0;height:0;border:6px solid transparent;border-left:10px solid #fff;border-right:0;margin-left:4px;}
.pg-index .duo__media.mslider .mslider__s{position:absolute;inset:0;}
.pg-index .duo__media.mslider .mslider__s img{width:100%;height:100%;object-fit:cover;}
.pg-index .duo__media::after{display:none;}
.pg-index .snum-ic{display:block;margin:0 0 14px;}
.pg-index .newssec{background:#13301f;padding:clamp(36px,4.6vw,60px) 0;}
.pg-index .newssec .wrap{display:grid;gap:clamp(18px,3vw,48px);grid-template-columns:minmax(0,200px) minmax(0,1fr);align-items:start;}
@media(max-width:780px){
.pg-index .newssec .wrap{grid-template-columns:1fr;}
}
.pg-index .news2__lb{margin:0;font-family:"Jost",sans-serif;font-size:clamp(28px,3.2vw,40px);font-weight:500;letter-spacing:.12em;color:#7ec84b;background:none;}
.pg-index .news2__list{list-style:none;margin:0;padding:0;}
.pg-index .news2__list li + li{border-top:1px solid rgba(255,255,255,.18);}
.pg-index .news2__list a{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 24px;align-items:baseline;padding:14px 0;color:#fff;text-decoration:none;}
@media(max-width:560px){
.pg-index .news2__list a{grid-template-columns:1fr;gap:4px;}
}
.pg-index .news2__d{font-family:"Jost",sans-serif;font-size:14px;letter-spacing:.08em;color:#fff;}
.pg-index .news2__t{font-size:15.5px;font-weight:500;color:#fff;}
.pg-index .news2__list a:hover .news2__t{text-decoration:underline;}
.pg-index .news2__more{display:inline-block;margin-top:16px;font-size:14px;font-weight:700;color:#7ec84b;text-decoration:none;float:right;}
.pg-index .news2__more:hover{color:#fff;}
@media(min-width:900px){
.pg-index-main .sec:nth-of-type(1){padding:0;}
.pg-index-main .sec:nth-of-type(1) .duo{width:100%;max-width:none;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;}
.pg-index-main .sec:nth-of-type(1) .duo__media{height:100%;margin:0;}
.pg-index-main .sec:nth-of-type(1) .duo__media > img{width:100%;height:100%;object-fit:cover;border-radius:0;}
.pg-index-main .sec:nth-of-type(1) .duo > div:last-child{align-self:center;padding:clamp(72px,9vw,132px) max(20px,calc(50vw - var(--wrap)/2)) clamp(72px,9vw,132px) clamp(32px,4vw,64px);}
.pg-index-main .sec:nth-of-type(1){padding-top:0;}
}
.pg-index .mq{overflow:hidden;background:linear-gradient(90deg,var(--g1) 0%,var(--g2) 100%);padding:18px 0;}
.pg-index .mq__in{display:flex;width:max-content;animation:mqmove 26s linear infinite;}
.pg-index .mq__in span{display:block;padding-right:60px;font-family:"Jost",sans-serif;font-size:150px;font-weight:700;line-height:1.1;letter-spacing:.04em;color:rgb(126 200 75 / .55);white-space:nowrap;}
@media(max-width:900px){
.pg-index .mq__in span{font-size:84px;}
}
@media(prefers-reduced-motion:reduce){
.pg-index .mq__in{animation:none;}
}
.pg-index .rv{opacity:1!important;transform:none!important;transition:none!important;}
.pg-index .leaf{display:none;}
.pg-index .cards .card,.pg-index .cards .card img,.pg-index .cards .card__b{border-radius:0;box-shadow:none;border:0;}
.pg-index .cards .card:hover{box-shadow:none;}
.pg-index .btn-row{margin-top:32px;}
.pg-index .card__more{margin-top:18px;}
.pg-index .hpin{position:relative;height:auto;margin-top:0;}
.pg-index .hstage{box-sizing:border-box;position:relative;height:auto;display:flex;flex-direction:column;justify-content:flex-start;padding-top:clamp(72px,9vw,132px);padding-bottom:clamp(72px,9vw,132px);gap:clamp(40px,6vw,88px);overflow:hidden;background:linear-gradient(90deg,var(--g1) 0%,var(--g2) 100%) no-repeat bottom/100% 50%,#fff;}
.pg-index .htrack{display:flex;align-items:flex-start;flex-wrap:nowrap;gap:32px;width:auto;margin:0;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-padding-left:max(20px,calc((100vw - var(--wrap))/2));padding-left:max(20px,calc((100vw - var(--wrap))/2));padding-right:max(20px,calc((100vw - var(--wrap))/2));padding-block:0;}
.pg-index .htrack::-webkit-scrollbar{display:none;}
.pg-index .htrack .card{position:relative;display:block;flex:0 0 min(88vw,1000px);aspect-ratio:16/9;height:auto;scroll-snap-align:start;border-radius:0;overflow:hidden;background:none;transform:none!important;transition:none!important;box-shadow:none!important;}
.pg-index .htrack .card > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.pg-index .htrack .card::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.68);transition:background .4s var(--ease);}
.pg-index .htrack .card:hover::after{background:rgba(0,0,0,.45);}
.pg-index .htrack .card__b{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;height:100%;padding:clamp(24px,3vw,48px);background:none;}
.pg-index .htrack .card__b .h3{color:#fff;font-family:"Noto Serif JP",serif;font-weight:500;font-size:clamp(26px,3vw,38px);margin:0 0 12px;}
.pg-index .htrack .card__b p{color:#fff;font-weight:500;margin:0 0 14px;max-width:42em;}
.pg-index .htrack .card__more{color:rgb(126 200 75);}
@media(max-width:900px){
.pg-index .hpin{height:auto;}
.pg-index .hstage{position:static;height:auto;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:48px 0;}
.pg-index .htrack{padding-left:20px;padding-right:20px;transform:none!important;}
.pg-index .htrack .card{flex:0 0 82vw;aspect-ratio:16/9;height:auto;max-height:none;}
.pg-index .vbtn{height:64vh;max-height:none;}
}
.pg-index .vbtn{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:clamp(74px,7vw,104px);align-self:stretch;min-height:0;height:auto;scroll-snap-align:start;background:#ed146c;color:#fff;text-decoration:none;font-weight:700;font-size:16px;letter-spacing:.18em;writing-mode:vertical-rl;border-radius:0;}
.pg-index .vbtn:hover{background:#c9105c;color:#fff;}
.pg-index .vbtn{gap:20px;padding:28px 0;writing-mode:horizontal-tb;}
.pg-index .vbtn__t{writing-mode:vertical-rl;font-size:clamp(20px,2.4vw,30px);white-space:nowrap;}
.pg-index .vbtn__ar{margin-top:auto;flex:0 0 auto;display:grid;place-items:center;width:44px;height:44px;border-radius:999px;background:#fff;color:#ed146c;font-size:18px;line-height:1;writing-mode:horizontal-tb;}
@media(max-width:900px){
.pg-index .vbtn{height:auto;max-height:none;}
}
.pg-index .hstage .h2{margin-top:0;}
.pg-index .hnav{display:flex;align-items:center;justify-content:flex-start;gap:18px;margin-top:calc(-1 * clamp(40px,6vw,88px) + 18px);padding-left:max(20px,calc((100vw - var(--wrap))/2));}
.pg-index .hnav__dots{display:flex;align-items:center;gap:10px;}
.pg-index .hnav__dots button{width:9px;height:9px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.45);cursor:pointer;transition:background .3s var(--ease),transform .3s var(--ease);}
.pg-index .hnav__dots button[aria-selected="true"]{background:#fff;transform:scale(1.4);}
.pg-index .hnav__b{display:grid;place-items:center;width:52px;height:52px;padding:0;border:1px solid rgba(255,255,255,.75);border-radius:999px;background:none;font-size:18px;line-height:1;color:#fff;cursor:pointer;transition:background .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease);}
.pg-index .hnav__b:hover{background:rgba(255,255,255,.18);border-color:#fff;color:#fff;}
.pg-index .hnav__b[disabled]{opacity:.3;cursor:default;}
.pg-index :is(img,.card,.card__b,.cta__box,.ig,.blog__i,.blog__ph,.btn,.btn--o,.vbtn){border-radius:0!important;}
.pg-index :is(.duo__media,.duo__media img,.mslider,.mslider__s img,.htrack .card,.htrack .card img,.card,.card img,.card__b,.blog__i,.blog__ph,.cta__box){border-radius:0!important;}
.pg-index .fv :is(img,.fv__media){border-radius:0!important;}
.pg-index .blog__ph{background:url("https://cdn.cuezilla-cms.com/enjoyworks-test17.site/images/1551/ogp.png") center/cover no-repeat;color:transparent;font-size:0;}
@media(min-width:900px){
.pg-index .sec--full-r{padding:0!important;}
.pg-index .sec--full-r .duo{width:100%;max-width:none;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;}
.pg-index .sec--full-r .duo > *{direction:ltr;}
.pg-index .sec--full-r .duo__media{height:100%;margin:0;aspect-ratio:auto;}
.pg-index .sec--full-r .duo__media .mslider__s,.pg-index .sec--full-r .duo__media .mslider__s img{height:100%;}
.pg-index .sec--full-r .duo__media > img{width:100%;height:100%;object-fit:cover;}
.pg-index .sec--full-r .duo > div:last-child{align-self:center;padding:clamp(72px,9vw,132px) max(20px,calc(50vw - var(--wrap)/2)) clamp(72px,9vw,132px) clamp(32px,4vw,64px);}
}
.pg-index .sec--tint.sec--full-r .duo > div:last-child{background:linear-gradient(135deg,var(--g1) 0%,var(--g2) 100%);}
.pg-index .sec--tint.sec--full-r .duo > div:last-child :is(.h2,.h2 span,p,li){color:#fff;}
.pg-index .sec--tint.sec--full-r .duo > div:last-child .btn-row{margin-top:32px;}
.pg-index .sec--tint.sec--full-r .duo > div:last-child .btn{border:1px solid #fff;border-width:1px;}
.pg-index .sec:has(> .wrap > .ig){padding-top:0;padding-bottom:0;}
.pg-index .ig{padding-block:clamp(72px,9vw,132px);}
.pg-index .ig .btn,.pg-index .ig .btn--o,.pg-index .ig .btn--pink{border:1px solid #fff!important;}
@media(min-width:900px){
.pg-index .sec--full-r .duo{min-height:800px;}
.pg-index-main .sec:nth-of-type(1) .duo{min-height:800px;}
}
.pg-index .sec--full-r .duo--rev .duo__media{order:2;}
.pg-index .sec--full-r .duo--rev > div:last-child{order:1;padding:clamp(72px,9vw,132px) clamp(32px,4vw,64px) clamp(72px,9vw,132px) max(20px,calc(50vw - var(--wrap)/2))!important;}
.pg-index .plx{width:100%;height:clamp(280px,38vw,520px);background:url("https://cdn.cuezilla-cms.com/enjoyworks-test17.site/images/1551/plx-yumbo.webp") center/cover no-repeat fixed;margin-block:0 clamp(72px,9vw,132px);}
.pg-index .sec--tint.sec--full-r{margin-bottom:0;padding-bottom:clamp(72px,9vw,132px)!important;background:linear-gradient(135deg,var(--g1) 0%,var(--g2) 100%);}
.pg-index .sec--tint.sec--full-r .duo > div:last-child{background:none!important;}
.pg-index #sec-tech{padding-bottom:0!important;}
.pg-index .plx + .sec--full-r{padding-bottom:clamp(72px,9vw,132px)!important;}
@media(max-width:900px){
.pg-index .plx{background-attachment:scroll;height:clamp(220px,50vw,360px);}
}
.pg-index .grid4{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:0;}
.pg-index .grid4 > img{width:100%;height:100%;object-fit:cover;display:block;}
.pg-index .g4ph{display:block;width:100%;height:100%;background:#e6e9e5;}
.pg-index .g4-mono{filter:grayscale(1);}
.pg-index .sec--blogbg .btn-row{margin-top:48px;}
.pg-index .sec--blogbg .btn,.pg-index .sec--blogbg .btn--o{border:1px solid #fff!important;}
.pg-index .sec--blogbg .blog__ph{background:url("https://cdn.cuezilla-cms.com/enjoyworks-test17.site/images/1551/ogp.png") center/cover no-repeat!important;border:0!important;color:transparent;font-size:0;}
@media(max-width:1279px){
.pg-index .htrack .card__b{padding:clamp(16px,2.4vw,28px);}
.pg-index .htrack .card__b .h3{font-size:clamp(20px,2.6vw,28px);margin:0 0 8px;}
.pg-index .htrack .card__b p{font-size:14px;margin:0 0 10px;}
}
@media(max-width:699px){
.pg-index .htrack .card{aspect-ratio:4/3;}
.pg-index .htrack{padding-left:20px!important;padding-right:20px!important;scroll-padding-left:20px!important;}
.pg-index .htrack .card{flex:0 0 100%;}
.pg-index .vbtn{flex:0 0 auto;width:100%;}
.pg-index .hnav{justify-content:center!important;padding-left:0!important;}
}
@media(max-width:900px){
.pg-index .vbtn{align-self:stretch;width:clamp(64px,14vw,84px);}
.pg-index .vbtn__t{font-size:clamp(17px,4.4vw,22px);}
.pg-index .vbtn__ar{width:38px;height:38px;font-size:16px;}
}
@media(max-width:699px){
.pg-index .htrack .card__b{justify-content:center!important;}
.pg-index .htrack .card__b .h3{font-size:20px;}
.pg-index .htrack .card__b p{font-size:13px;line-height:1.7;margin:0 0 8px;}
.pg-index .htrack .card__more{font-size:13px;}
}
.pg-index .br-sp{display:none;}
.pg-index .snum-ic{display:none;}
.pg-index-main .sec:nth-of-type(1){padding-top:0!important;}
.pg-index .duo__ill{display:none;}
.pg-index .snum-ic img{display:block;width:auto;height:64px;}
.pg-index .ig{position:relative;background:url("https://cdn.cuezilla-cms.com/enjoyworks-test17.site/images/1551/ig-parallax.webp") center/cover no-repeat fixed;color:#fff;border-radius:0!important;width:100vw;margin-left:calc(50% - 50vw);}
@media(max-width:900px){
.pg-index .ig{background-attachment:scroll;}
}
.pg-index .ig > *{position:relative;z-index:1;}
.pg-index .ig::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.7);}
.pg-index .ig .h2,.pg-index .ig p{color:#fff;}
.pg-index .ig::before{display:none;}
.pg-index .ig__ic{color:#fff;}
.pg-index .ig .btn--pink{border:2px solid #fff;}
.pg-index .btn,.pg-index .btn--o{background:var(--main-d);color:#fff;border-color:var(--main-d);border-radius:0;}
.pg-index .btn:hover,.pg-index .btn--o:hover{background:var(--main-dd);color:#fff;border-color:var(--main-dd);}
.pg-index .sec p,.pg-index .cta p,.pg-index .card__b p{font-weight:500;}
.pg-index .sec .h2,.pg-index .sec .h2 span,.pg-index .cta__t{color:#1c1e1d;}
.pg-index .sec .h2,.pg-index .cta__t{font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500;font-size:clamp(28px,3.4vw,44px);}
.pg-index-main .sec:nth-of-type(4) .tags,.pg-index-main .sec:nth-of-type(6) .tags{display:block;list-style:none;padding:0;margin:0 0 18px;}
.pg-index-main .sec:nth-of-type(4) .tags li,.pg-index-main .sec:nth-of-type(6) .tags li{display:block;background:none;border:0;padding:0 0 0 18px;margin:0 0 8px;font-size:15.5px;color:var(--txt);border-radius:0;position:relative;}
.pg-index-main .sec:nth-of-type(4) .tags li::before,.pg-index-main .sec:nth-of-type(6) .tags li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:50%;background:#ed146c;}
.pg-index .sec--blogbg{background:linear-gradient(135deg,var(--g1) 0%,var(--g2) 100%);}
.pg-index .sec--blogbg .h2,.pg-index .sec--blogbg .h2 span,.pg-index .sec--blogbg p,.pg-index .sec--blogbg .blog__t,.pg-index .sec--blogbg .blog__d{color:#fff;}
.pg-index .sec--blogbg .btn,.pg-index .sec--blogbg .btn--o{border:2px solid #fff;}
.pg-index .sec--blogbg .blog__ph{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.55);color:#fff;}
.pg-index .sec--blogbg .snum-ic svg{width:52px;height:52px;stroke:#fff;}
.pg-index .duo__ill{position:absolute;z-index:2;left:-2%;top:-56%;width:56%;pointer-events:none;}
.pg-index .duo__media .duo__ill img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:0;}
.pg-index .ig .h2,.pg-index .ig .h2 span{color:#fff;}
.pg-index .sec,.pg-index .cta{padding:clamp(72px,9vw,132px) 0;}
.pg-index .cta{padding-bottom:clamp(72px,9vw,132px);position:relative;}
.pg-index .cta::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.55);pointer-events:none;}
.pg-index .cta > *{position:relative;z-index:1;}
.pg-index .cta .wrap-n{width:min(100% - 40px,1040px);}
.pg-index-main .sec:nth-of-type(1) .duo__media,.pg-index-main .sec:nth-of-type(4) .duo__media,.pg-index-main .sec:nth-of-type(7) .duo__media{position:relative;}
.pg-index-main .sec:nth-of-type(1) .duo__media::before,.pg-index-main .sec:nth-of-type(4) .duo__media::before,.pg-index-main .sec:nth-of-type(7) .duo__media::before{content:"";position:absolute;z-index:-1;width:104%;aspect-ratio:700/548;background:url("https://cdn.cuezilla-cms.com/enjoyworks-test17.site/images/1551/img_bg_01.webp") center/contain no-repeat;pointer-events:none;}
.pg-index-main .sec:nth-of-type(3) .duo__media,.pg-index-main .sec:nth-of-type(6) .duo__media{position:relative;}
.pg-index-main .sec:nth-of-type(3) .duo__media::before,.pg-index-main .sec:nth-of-type(6) .duo__media::before{content:"";position:absolute;z-index:-1;width:104%;aspect-ratio:700/548;background:url("https://cdn.cuezilla-cms.com/enjoyworks-test17.site/images/1551/img_bg_02.webp") center/contain no-repeat;pointer-events:none;}
.pg-index-main .sec:nth-of-type(3) .duo__media::before{left:8%;top:14%;transform:rotate(-6deg);}
.pg-index-main .sec:nth-of-type(6) .duo__media::before{left:4%;top:-22%;transform:rotate(9deg) scaleX(-1) scale(0.96);}
.pg-index-main .sec:nth-of-type(1) .duo__media::before{left:-11%;top:16%;transform:rotate(-8deg);}
.pg-index-main .sec:nth-of-type(4) .duo__media::before{left:-8%;top:-12%;transform:rotate(12deg) scaleX(-1);}
.pg-index-main .sec:nth-of-type(7) .duo__media::before{left:-12%;top:8%;transform:rotate(3deg) scale(0.94);}
.pg-index .sec .duo__media::before{display:none;}
.pg-index .fv__panel{position:absolute;z-index:3;top:46%;left:calc(max(20px,50% - var(--wrap)/2) + clamp(18px,2.4vw,32px));translate:0 -50%;width:fit-content;max-width:min(90vw,560px);margin:0;padding:0;background:none;box-shadow:none;border-radius:0;}
.pg-index .fv__lead{text-align:left;font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;color:#fff;font-weight:700;letter-spacing:.02em;-webkit-text-stroke:0;paint-order:normal;text-shadow:0 0 14px rgba(0,0,0,.7),0 0 30px rgba(0,0,0,.5),0 2px 6px rgba(0,0,0,.5);}
.pg-index .fv__sub{display:block;width:fit-content;margin-left:0;text-align:left;font-weight:700;color:#fff;background:none;border-radius:0;padding:0;text-shadow:0 0 12px rgba(0,0,0,.7),0 0 26px rgba(0,0,0,.5),0 2px 5px rgba(0,0,0,.5);box-shadow:none;}
.pg-index .fv__name{font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;letter-spacing:.02em;font-size:clamp(17px,1.8vw,22px);font-weight:900;color:#fff;background:none;padding:0;box-shadow:none;-webkit-text-stroke:0;paint-order:normal;text-shadow:0 0 12px rgba(0,0,0,.7),0 0 26px rgba(0,0,0,.5),0 2px 5px rgba(0,0,0,.5);}
.pg-index .fv__sub{margin-bottom:10px;font-size:clamp(14px,1.4vw,17px);font-weight:700;}
.pg-index .fv__name{font-size:clamp(14px,1.4vw,17px);font-weight:700;}
@media(orientation:landscape) and (max-height:860px) and (max-width:1180px){
.pg-index .fv__lead{font-size:clamp(24px,4vw,36px);}
.pg-index .fv__sub{font-size:clamp(14px,1.8vw,17px);}
.pg-index .fv__name{font-size:clamp(14px,1.5vw,17px);}
}
@media(orientation:portrait) and (min-width:700px){
.pg-index .duo__ill{top:-78%;left:2%;width:50%;}
}
@media(max-width:699px){
.pg-index .duo__ill{top:-12%;left:0;width:46%;}
.pg-index .fv__sub{width:100%;margin-left:0;}
}
@media(max-width:699px){
.pg-index .fv__panel{position:absolute;z-index:3;top:auto;bottom:24px;left:20px;translate:0 0;width:fit-content;max-width:calc(100vw - 40px);margin:0;text-align:left;}
.pg-index .fv__lead{font-size:clamp(30px,9.4vw,42px);}
.pg-index .fv__sub{font-size:15px;padding:7px 16px;}
.pg-index .fv__name{font-size:14px;}
.pg-index .duo__ill{display:none;}
}
@media(max-width:1180px){
.pg-index .duo__ill,.pg-index .duo__ill img{animation:none!important;transition:none!important;opacity:1!important;transform:none!important;}
.pg-index-main .sec:nth-of-type(1) .rv{opacity:1!important;transform:none!important;transition:none!important;}
}
@media(max-width:699px) and (min-height:760px){
.pg-index .fv__panel{bottom:90px;}
}
@media(max-width:900px){
.pg-index .fv__panel{width:min(100% - 40px,560px);}
}
@media(orientation:landscape) and (max-height:860px) and (max-width:1180px){
.pg-index .fv__panel{position:absolute;z-index:3;top:46%;left:calc(max(20px,50% - var(--wrap)/2) + clamp(18px,2.4vw,32px));translate:0 -50%;width:fit-content;max-width:min(60vw,460px);margin:0;text-align:left;}
}
@media(orientation:portrait) and (min-width:700px){
.pg-index .fv__panel{position:absolute;z-index:3;top:auto;bottom:44%;left:calc(max(20px,50% - var(--wrap)/2) + clamp(18px,2.4vw,32px));translate:0 0;width:fit-content;max-width:min(70vw,460px);margin:0;text-align:left;}
.pg-index .fv__lead{font-size:clamp(26px,4.6vw,40px);}
}
@media(min-width:1280px){
.pg-index .fv__panel{left:100px;top:auto;bottom:4%;translate:none;}
}
.pg-index }
@media(min-width:700px) and (max-width:1279px){.fv__panel{top:auto!important;bottom:6%!important;translate:0 0!important;}}
@media(orientation:portrait) and (min-width:700px) and (max-width:1279px){
.pg-index .fv__panel{bottom:6%!important;}
}
@media(orientation:landscape) and (min-width:700px) and (max-width:1279px){
.pg-index .fv__panel{top:auto!important;bottom:6%!important;translate:0 0!important;}
}
@media(max-width:900px){
.pg-index .sec,.pg-index .cta{padding:clamp(36px,7vw,56px) 0;}
.pg-index .btn-row{margin-top:26px;}
}
@media(max-width:699px){
.pg-index .br-sp{display:inline;}
.pg-index .sec,.pg-index .cta{padding:clamp(32px,8vw,48px) 0;}
.pg-index .btn-row{margin-top:22px;justify-content:center!important;}
}
@media(max-width:900px){
.pg-index-main .sec:nth-of-type(1){padding-top:0!important;}
.pg-index .sec--full-r .duo{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:24px!important;width:100%!important;max-width:none!important;margin:0!important;min-height:0!important;}
.pg-index-main .sec:nth-of-type(1) .duo{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:24px!important;width:100%!important;max-width:none!important;margin:0!important;min-height:0!important;}
.pg-index .sec--full-r .duo__media{order:-1!important;width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;height:auto!important;aspect-ratio:3/2!important;}
.pg-index-main .sec:nth-of-type(1) .duo__media{order:-1!important;width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;height:auto!important;aspect-ratio:3/2!important;}
.pg-index .sec--full-r .duo__media > img{width:100%!important;height:100%!important;object-fit:cover!important;}
.pg-index-main .sec:nth-of-type(1) .duo__media > img{width:100%!important;height:100%!important;object-fit:cover!important;}
.pg-index .sec--full-r .grid4{aspect-ratio:3/2!important;order:1!important;min-height:0!important;grid-template-rows:1fr 1fr!important;overflow:hidden!important;}
.pg-index .sec--full-r .grid4 > img,.pg-index .sec--full-r .grid4 > .g4ph{min-height:0!important;height:100%!important;width:100%!important;object-fit:cover!important;}
.pg-index .plx + .sec--full-r{overflow:hidden!important;}
.pg-index .plx + .sec--full-r .duo > div:last-child{order:0!important;padding:clamp(40px,7vw,64px) clamp(26px,5vw,40px)!important;}
.pg-index .plx + .sec--full-r{padding:0!important;}
.pg-index .plx{margin-bottom:0!important;}
.pg-index-main .sec:nth-of-type(1){padding-bottom:0!important;}
.pg-index .ig{padding-block:clamp(40px,7vw,64px)!important;}
@media(max-width:699px){
.pg-index .ig p{text-align:left!important;}
.pg-index .ig br{display:none;}
.pg-index .ig .btn-row{margin-top:32px!important;}
}
.pg-index .sec--blogbg{padding:clamp(56px,9vw,88px) 0!important;}
.pg-index .sec--blogbg .wrap > .rv{padding-top:0!important;}
.pg-index .sec--blogbg .blog{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;}
@media(max-width:560px){
.pg-index .sec--blogbg .blog{grid-template-columns:minmax(0,1fr)!important;}
}
.pg-index .sec--blogbg .blog__ph{aspect-ratio:3/2!important;}
.pg-index-main .sec:nth-of-type(1) .duo > div:last-child{padding:clamp(40px,7vw,64px) clamp(26px,5vw,40px)!important;}
.pg-index .sec--full-r,.pg-index .sec--tint.sec--full-r,.pg-index #sec-tech{padding:0!important;}
.pg-index .sec--full-r .duo{gap:0!important;}
.pg-index-main .sec:nth-of-type(1) .duo{gap:0!important;}
.pg-index .sec--full-r .duo > div:last-child,.pg-index .sec--full-r .duo--rev > div:last-child{padding:clamp(40px,7vw,64px) clamp(26px,5vw,40px)!important;}
}
@media(max-width:899px){
.pg-index .sec > .wrap.duo > .duo__media:first-child,.pg-index .sec--tint.sec--curve:has(.duo--rev) .duo__media,.pg-index .duo__media{margin-top:0!important;}
.pg-index .sec:has(.duo){padding-top:0!important;}
}
.pg-index .htrack{padding-right:0!important;}
.pg-index .htrack > .vbtn{margin-right:0!important;}
.pg-index .htrack::after{content:"";flex:0 0 calc(max(20px,calc((100vw - var(--wrap))/2)) - 22px);align-self:stretch;}
@media(max-width:900px){
.pg-index .htrack::after{display:none;}
.pg-index .htrack > .vbtn{margin-right:30px!important;}
}
.pg-index .fv__big{position:absolute;isolation:auto;left:0;right:clamp(56px,6vw,92px);bottom:clamp(6px,1.2vw,16px);display:grid;gap:0;padding-bottom:var(--fvbig-pb,0px);pointer-events:none;padding:0 clamp(14px,2vw,28px) var(--fvbig-pb,0px);}
.pg-index .fv__big svg{display:block;width:100%;height:auto;overflow:visible;mix-blend-mode:color-dodge;}
.pg-index .fv__big text{fill:#1e9d00;font-family:"Noto Sans JP","Zen Kaku Gothic New",sans-serif;font-weight:900;font-size:100px;letter-spacing:0;}
.pg-index .fv__bigrow{display:flex;align-items:flex-end;gap:clamp(16px,3vw,40px);}
.pg-index .fv__bigL{flex:0 0 40%;width:40%;display:grid;gap:0;}
.pg-index .fv__big svg.fv__big1{width:100%;}
.pg-index .fv__big svg.fv__big2{width:100%;max-height:min(30vh,320px);}
.pg-index .fv__big svg.fv__big1{max-height:min(30vh,320px);}
.pg-index .fv__big{max-height:calc(100% - 110px);}
.pg-index .fv__big{right:clamp(112px,11vw,124px);}
.pg-index .fv__big .fv__panel{padding-right:0!important;}
@media(max-width:1279px){
.pg-index .fv__big{--fvbig-pb:64px;}
}
@media(orientation:landscape) and (min-width:700px) and (max-width:1279px){
.pg-index .fv__big{--fvbig-pb:16px;bottom:0;}
}
@media(orientation:portrait) and (max-width:1279px){
.pg-index .fv__big{--fvbig-pb:16px;bottom:0;}
}
.pg-index .fv__big .fv__panel{position:relative;z-index:2;text-align:right!important;margin-left:auto;position:static!important;z-index:auto;translate:none!important;inset:auto!important;width:auto!important;max-width:none!important;margin:0 0 .4em!important;padding:0!important;flex:1 1 auto;min-width:0;text-align:left!important;}
.pg-index .fv__big .fv__lead{margin:0 0 8px;font-size:clamp(17px,2.5vw,34px);line-height:1.5;}
.pg-index .fv__big .fv__sub{margin-left:auto;margin-right:0;text-align:right;margin-bottom:2px;font-size:clamp(11px,1.15vw,15px);}
.pg-index .fv__big .fv__name{font-size:clamp(11px,1.15vw,15px);text-align:right;}
.pg-index .fv__big .fv__lead{text-align:right;}
@media(max-width:699px){
.pg-index .fv__bigrow{flex-direction:column;align-items:stretch;gap:10px;}
.pg-index .fv__bigL{flex:0 0 auto;width:62%;}
.pg-index .fv__big .fv__panel{margin:0 0 6px!important;}
.pg-index .fv__big .fv__lead{font-size:clamp(19px,5.6vw,28px);}
.pg-index .fv__big .fv__sub,.pg-index .fv__big .fv__name{font-size:clamp(13px,3.4vw,16px);}
}
.pg-index .duo__media.vmq,.pg-index .sec--full-r .duo__media.vmq{height:auto!important;aspect-ratio:auto!important;align-self:stretch!important;margin:0!important;position:relative;overflow:hidden;min-height:320px;}
.pg-index .vmq__col{position:absolute;top:0;bottom:0;width:calc(50% - 7px);}
.pg-index .vmq__col:first-child{left:0;}
.pg-index .vmq__col:last-child{right:0;}
.pg-index .vmq__col{height:100%;min-height:0;}
.pg-index .vmq{display:grid;grid-template-columns:1fr 1fr;gap:14px;overflow:hidden;position:relative;}
.pg-index .vmq__col{overflow:hidden;}
.pg-index .vmq__in{display:grid;gap:14px;will-change:transform;transform:translateZ(0);backface-visibility:hidden;}
.pg-index .vmq__i img{transform:translateZ(0);}
.pg-index .vmq__in--up{animation:vmqup 48s linear infinite;}
.pg-index .vmq__in--down{animation:vmqdown 56s linear infinite;}
.pg-index .vmq__i{aspect-ratio:3/4;overflow:hidden;background:var(--bg2);}
.pg-index .vmq__i img{width:100%;height:100%;object-fit:cover;display:block;}
.pg-index .vmq__ph{display:grid;place-items:center;border:1px dashed rgba(28,30,29,.25);color:var(--sub);font-size:13px;}
@media(prefers-reduced-motion:reduce){
.pg-index .vmq__in{animation:none;}
}
@media(max-width:899px){
.pg-index .duo__media.vmq,.pg-index .sec--full-r .duo__media.vmq{height:clamp(360px,70vw,520px)!important;}
.pg-index .vmq__col{width:calc(50% - 5px);}
.pg-index .vmq{gap:10px;}
.pg-index .vmq__in{gap:10px;}
}
.pg-index #sec-tech{padding-top:0!important;margin-top:0!important;}
.pg-index .plx--tech{margin-bottom:0!important;padding-bottom:0!important;background-image:url("https://cdn.cuezilla-cms.com/enjoyworks-test17.site/images/1551/plx-tech.webp")!important;}

/* --- work --- */
.pg-work .wrap-n{width:min(100% - 40px,1500px);}
.pg-work .cta .wrap-n{width:min(100% - 40px,1040px);}
.pg-work .cta__t{color:#000;}
.pg-work .phd{background:linear-gradient(rgba(20,50,28,.45),rgba(20,50,28,.45)),url("https://cdn.cuezilla-cms.com/enjoyworks-test17.site/images/1551/phd-forest.webp") center/cover no-repeat;}
.pg-work .phd__lb{color:#439f47;}
.pg-work .phd__t{color:#fff;}
.pg-work .card__links{margin-top:auto;display:grid;gap:6px;padding-top:16px;}
.pg-work a.card__more{margin:0;padding:0;text-decoration:none;}
.pg-work a.card__more:hover{color:var(--main-dd);}
.pg-work a.card__more:hover::after{margin-left:14px;}
.pg-work .btn,.pg-work .btn--o{background:var(--main-d);color:#fff;border-color:var(--main-d);border-radius:0;}
.pg-work .btn:hover,.pg-work .btn--o:hover{background:var(--main-dd);color:#fff;border-color:var(--main-dd);}

/* --- work-grow --- */
.pg-work-grow .wrap-n{width:min(100% - 40px,1500px);}
.pg-work-grow .cta .wrap-n{width:min(100% - 40px,1040px);}
.pg-work-grow .cta__t{color:#000;}
.pg-work-grow .phd{background:linear-gradient(rgba(20,50,28,.45),rgba(20,50,28,.45)),url("https://cdn.cuezilla-cms.com/enjoyworks-test17.site/images/1551/phd-forest.webp") center/cover no-repeat;}
.pg-work-grow .phd__lb{color:#439f47;}
.pg-work-grow .phd__t{color:#fff;}
.pg-work-grow .btn,.pg-work-grow .btn--o{background:var(--main-d);color:#fff;border-color:var(--main-d);border-radius:0;}
.pg-work-grow .btn:hover,.pg-work-grow .btn--o:hover{background:var(--main-dd);color:#fff;border-color:var(--main-dd);}
.pg-work-grow .duo__media.mslider{aspect-ratio:3/2;}
.pg-work-grow .duo__media.mslider .mslider__s{position:absolute;inset:0;}
.pg-work-grow .duo__media.mslider .mslider__s img{width:100%;height:100%;object-fit:cover;}

/* --- work-road --- */
.pg-work-road .wrap-n{width:min(100% - 40px,1500px);}
.pg-work-road .cta .wrap-n{width:min(100% - 40px,1040px);}
.pg-work-road .cta__t{color:#000;}
.pg-work-road .phd{background:linear-gradient(rgba(20,50,28,.45),rgba(20,50,28,.45)),url("https://cdn.cuezilla-cms.com/enjoyworks-test17.site/images/1551/phd-forest.webp") center/cover no-repeat;}
.pg-work-road .phd__lb{color:#439f47;}
.pg-work-road .phd__t{color:#fff;}
.pg-work-road .btn,.pg-work-road .btn--o{background:var(--main-d);color:#fff;border-color:var(--main-d);border-radius:0;}
.pg-work-road .btn:hover,.pg-work-road .btn--o:hover{background:var(--main-dd);color:#fff;border-color:var(--main-dd);}

/* --- work-carry --- */
.pg-work-carry .wrap-n{width:min(100% - 40px,1500px);}
.pg-work-carry .cta .wrap-n{width:min(100% - 40px,1040px);}
.pg-work-carry .cta__t{color:#000;}
.pg-work-carry .phd{background:linear-gradient(rgba(20,50,28,.45),rgba(20,50,28,.45)),url("https://cdn.cuezilla-cms.com/enjoyworks-test17.site/images/1551/phd-forest.webp") center/cover no-repeat;}
.pg-work-carry .phd__lb{color:#439f47;}
.pg-work-carry .phd__t{color:#fff;}
.pg-work-carry .btn,.pg-work-carry .btn--o{background:var(--main-d);color:#fff;border-color:var(--main-d);border-radius:0;}
.pg-work-carry .btn:hover,.pg-work-carry .btn--o:hover{background:var(--main-dd);color:#fff;border-color:var(--main-dd);}
.pg-work-carry .duo__media.mslider{aspect-ratio:3/2;}
.pg-work-carry .duo__media.mslider .mslider__s{position:absolute;inset:0;}
.pg-work-carry .duo__media.mslider .mslider__s img{width:100%;height:100%;object-fit:cover;}

/* --- technology --- */
.pg-technology .wrap-n{width:min(100% - 40px,1500px);}
.pg-technology .cta .wrap-n{width:min(100% - 40px,1040px);}
.pg-technology .cta__t{color:#000;}
.pg-technology .phd{background:linear-gradient(rgba(20,50,28,.45),rgba(20,50,28,.45)),url("https://cdn.cuezilla-cms.com/enjoyworks-test17.site/images/1551/phd-forest.webp") center/cover no-repeat;}
.pg-technology .phd__lb{color:#439f47;}
.pg-technology .phd__t{color:#fff;}
.pg-technology .btn,.pg-technology .btn--o{background:var(--main-d);color:#fff;border-color:var(--main-d);border-radius:0;}
.pg-technology .btn:hover,.pg-technology .btn--o:hover{background:var(--main-dd);color:#fff;border-color:var(--main-dd);}

/* --- about --- */
.pg-about .wrap-n{width:min(100% - 40px,1500px);}
.pg-about .cta .wrap-n{width:min(100% - 40px,1040px);}
.pg-about .cta__t{color:#000;}
.pg-about .phd{background:linear-gradient(rgba(20,50,28,.45),rgba(20,50,28,.45)),url("https://cdn.cuezilla-cms.com/enjoyworks-test17.site/images/1551/phd-forest.webp") center/cover no-repeat;}
.pg-about .phd__lb{color:#439f47;}
.pg-about .phd__t{color:#fff;}
.pg-about .cards--4 .card{background:linear-gradient(135deg,var(--g1) 0%,var(--g2) 100%)!important;border:0;}
.pg-about .cards--4 .card__b{background:none!important;}
.pg-about .cards--4 .card :is(.h3,p){color:#fff;}
.pg-about .cards--4{grid-template-columns:repeat(4,minmax(0,1fr));}
@media(max-width:1240px){
.pg-about .cards--4{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:699px){
.pg-about .cards--4{grid-template-columns:minmax(0,1fr);}
}
.pg-about .tl{list-style:none;margin:0;padding:0;border:0;display:grid;gap:0;}
.pg-about .tl li{position:relative;display:grid;grid-template-columns:150px minmax(0,1fr);gap:0 28px;padding:0 0 28px 0;}
.pg-about .tl li::before{content:"";position:absolute;left:158px;top:14px;width:11px;height:11px;background:#ed146c;border-radius:999px;border:0;z-index:1;}
.pg-about .tl li::after{content:"";position:absolute;left:163px;top:14px;bottom:-14px;width:1px;background:var(--line);}
.pg-about .tl li:last-child{padding-bottom:0;}
.pg-about .tl li:last-child::after{display:none;}
.pg-about .tl b{display:block;font-size:17px;font-weight:700;color:var(--main-d);letter-spacing:.06em;text-align:right;padding-top:6px;}
.pg-about .tl li > b + *,.pg-about .tl li{align-items:start;}
.pg-about .tl__bd{grid-column:2;margin-left:22px;background:#fff;border:1px solid var(--line);border-radius:0;padding:16px 22px;line-height:1.9;display:flex;align-items:center;min-height:96px;}
.pg-about .tl li{grid-auto-rows:1fr;}
@media(max-width:640px){
.pg-about .tl li{grid-template-columns:minmax(0,1fr);gap:6px;padding-left:22px;}
.pg-about .tl li::before{left:0;}
.pg-about .tl li::after{left:5px;}
.pg-about .tl b{text-align:left;padding-top:0;}
.pg-about .tl__bd{grid-column:1;margin-left:0;}
}
.pg-about .btn,.pg-about .btn--o{background:var(--main-d);color:#fff;border-color:var(--main-d);border-radius:0;}
.pg-about .btn:hover,.pg-about .btn--o:hover{background:var(--main-dd);color:#fff;border-color:var(--main-dd);}
.pg-about .duo__media.mslider{aspect-ratio:3/2;}
.pg-about .duo__media.mslider .mslider__s{position:absolute;inset:0;}
.pg-about .duo__media.mslider .mslider__s img{width:100%;height:100%;object-fit:cover;}

/* --- about-community --- */
.pg-about-community .wrap-n{width:min(100% - 40px,1500px);}
.pg-about-community .cta .wrap-n{width:min(100% - 40px,1040px);}
.pg-about-community .cta__t{color:#000;}
.pg-about-community .phd{background:linear-gradient(rgba(20,50,28,.45),rgba(20,50,28,.45)),url("https://cdn.cuezilla-cms.com/enjoyworks-test17.site/images/1551/phd-forest.webp") center/cover no-repeat;}
.pg-about-community .phd__lb{color:#439f47;}
.pg-about-community .phd__t{color:#fff;}
.pg-about-community .card__more a{text-decoration:none;}
.pg-about-community .card__more a:hover{text-decoration:none;color:var(--main-dd);}
.pg-about-community .card__b .h3{color:#000;}
.pg-about-community .btn,.pg-about-community .btn--o{background:var(--main-d);color:#fff;border-color:var(--main-d);border-radius:0;}
.pg-about-community .btn:hover,.pg-about-community .btn--o:hover{background:var(--main-dd);color:#fff;border-color:var(--main-dd);}
.pg-about-community .duo__media.mslider{aspect-ratio:3/2;}
.pg-about-community .duo__media.mslider .mslider__s{position:absolute;inset:0;}
.pg-about-community .duo__media.mslider .mslider__s img{width:100%;height:100%;object-fit:cover;}

/* --- information --- */
.pg-information .wrap-n{width:min(100% - 40px,1500px);}
.pg-information .cta .wrap-n{width:min(100% - 40px,1040px);}
.pg-information .cta__t{color:#000;}
.pg-information .phd{background:linear-gradient(rgba(20,50,28,.45),rgba(20,50,28,.45)),url("https://cdn.cuezilla-cms.com/enjoyworks-test17.site/images/1551/phd-forest.webp") center/cover no-repeat;}
.pg-information .phd__lb{color:#439f47;}
.pg-information .phd__t{color:#fff;}
.pg-information .btn,.pg-information .btn--o{background:var(--main-d);color:#fff;border-color:var(--main-d);border-radius:0;}
.pg-information .btn:hover,.pg-information .btn--o:hover{background:var(--main-dd);color:#fff;border-color:var(--main-dd);}

/* --- recruit --- */
.pg-recruit .wrap-n{width:min(100% - 40px,1500px);}
.pg-recruit .cta .wrap-n{width:min(100% - 40px,1040px);}
.pg-recruit .cta__t{color:#000;}
.pg-recruit .phd{background:linear-gradient(rgba(20,50,28,.45),rgba(20,50,28,.45)),url("https://cdn.cuezilla-cms.com/enjoyworks-test17.site/images/1551/phd-forest.webp") center/cover no-repeat;}
.pg-recruit .phd__lb{color:#439f47;}
.pg-recruit .phd__t{color:#fff;}
.pg-recruit .btn,.pg-recruit .btn--o{background:var(--main-d);color:#fff;border-color:var(--main-d);border-radius:0;}
.pg-recruit .btn:hover,.pg-recruit .btn--o:hover{background:var(--main-dd);color:#fff;border-color:var(--main-dd);}
@media(max-width:900px){
.pg-recruit .steps--03{margin-top:0!important;}
}
.pg-recruit .duo__media.mslider{aspect-ratio:3/2;}
.pg-recruit .duo__media.mslider .mslider__s{position:absolute;inset:0;}
.pg-recruit .duo__media.mslider .mslider__s img{width:100%;height:100%;object-fit:cover;}

/* --- blog --- */
.pg-blog .wrap-n{width:min(100% - 40px,1500px);}
.pg-blog .cta .wrap-n{width:min(100% - 40px,1040px);}
.pg-blog .cta__t{color:#000;}
.pg-blog .phd{background:linear-gradient(rgba(20,50,28,.45),rgba(20,50,28,.45)),url("https://cdn.cuezilla-cms.com/enjoyworks-test17.site/images/1551/phd-forest.webp") center/cover no-repeat;}
.pg-blog .phd__lb{color:#439f47;}
.pg-blog .phd__t{color:#fff;}
.pg-blog .bloglay{display:grid;gap:32px;align-items:start;}
@media(min-width:1000px){
.pg-blog .bloglay{grid-template-columns:minmax(0,1fr) 300px;}
}
.pg-blog .bloglay .cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));}
.pg-blog .side{display:grid;gap:24px;}
.pg-blog .side__box{border:1px solid var(--line);border-radius:0;overflow:hidden;background:#fff;}
.pg-blog .side__hd{margin:0;padding:11px 16px;background:var(--main-d);color:#fff;font-size:14px;font-weight:700;}
.pg-blog .side__list{list-style:none;margin:0;padding:0;font-size:13px;}
.pg-blog .side__list li{border-bottom:1px solid var(--line);}
.pg-blog .side__list li:last-child{border-bottom:0;}
.pg-blog .side__list a{display:block;padding:11px 16px;text-decoration:none;color:var(--txt);}
.pg-blog .side__list a:hover{background:var(--bg2);}
.pg-blog .side__d{display:block;margin:0 0 4px;font-size:11.5px;color:var(--sub);letter-spacing:.06em;}
.pg-blog .side__t{display:block;line-height:1.6;color:var(--main-dd);font-weight:700;}
.pg-blog .side__cat a{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.pg-blog .side__n{flex:none;min-width:22px;height:22px;display:grid;place-items:center;border-radius:4px;background:var(--bg2);color:var(--sub);font-size:11.5px;}
.pg-blog .btn,.pg-blog .btn--o{background:var(--main-d);color:#fff;border-color:var(--main-d);border-radius:0;}
.pg-blog .btn:hover,.pg-blog .btn--o:hover{background:var(--main-dd);color:#fff;border-color:var(--main-dd);}

/* --- blog-ex-instance --- */
.pg-blog-ex-instance .wrap-n{width:min(100% - 40px,1500px);}
.pg-blog-ex-instance .cta .wrap-n{width:min(100% - 40px,1040px);}
.pg-blog-ex-instance .cta__t{color:#000;}
.pg-blog-ex-instance .phd{background:linear-gradient(rgba(20,50,28,.45),rgba(20,50,28,.45)),url("https://cdn.cuezilla-cms.com/enjoyworks-test17.site/images/1551/phd-forest.webp") center/cover no-repeat;}
.pg-blog-ex-instance .phd__lb{color:#439f47;}
.pg-blog-ex-instance .phd__t{color:#fff;}
@media(min-width:1100px){
.pg-blog-ex-instance .cards--4{grid-template-columns:repeat(4,minmax(0,1fr));}
}
@media(min-width:640px) and (max-width:1099px){
.pg-blog-ex-instance .cards--4{grid-template-columns:repeat(2,minmax(0,1fr));}
}
.pg-blog-ex-instance .btn,.pg-blog-ex-instance .btn--o{background:var(--main-d);color:#fff;border-color:var(--main-d);border-radius:0;}
.pg-blog-ex-instance .btn:hover,.pg-blog-ex-instance .btn--o:hover{background:var(--main-dd);color:#fff;border-color:var(--main-dd);}

/* --- form-inquiry --- */
.pg-form-inquiry .wrap-n{width:min(100% - 40px,1500px);}
.pg-form-inquiry .cta .wrap-n{width:min(100% - 40px,1040px);}
.pg-form-inquiry .cta__t{color:#000;}
.pg-form-inquiry .phd{background:linear-gradient(rgba(20,50,28,.45),rgba(20,50,28,.45)),url("https://cdn.cuezilla-cms.com/enjoyworks-test17.site/images/1551/phd-forest.webp") center/cover no-repeat;}
.pg-form-inquiry .phd__lb{color:#439f47;}
.pg-form-inquiry .phd__t{color:#fff;}
.pg-form-inquiry .btn,.pg-form-inquiry .btn--o{background:var(--main-d);color:#fff;border-color:var(--main-d);border-radius:0;}
.pg-form-inquiry .btn:hover,.pg-form-inquiry .btn--o:hover{background:var(--main-dd);color:#fff;border-color:var(--main-dd);}

/* --- form-recruit --- */
.pg-form-recruit .wrap-n{width:min(100% - 40px,1500px);}
.pg-form-recruit .cta .wrap-n{width:min(100% - 40px,1040px);}
.pg-form-recruit .cta__t{color:#000;}
.pg-form-recruit .phd{background:linear-gradient(rgba(20,50,28,.45),rgba(20,50,28,.45)),url("https://cdn.cuezilla-cms.com/enjoyworks-test17.site/images/1551/phd-forest.webp") center/cover no-repeat;}
.pg-form-recruit .phd__lb{color:#439f47;}
.pg-form-recruit .phd__t{color:#fff;}
.pg-form-recruit .btn,.pg-form-recruit .btn--o{background:var(--main-d);color:#fff;border-color:var(--main-d);border-radius:0;}
.pg-form-recruit .btn:hover,.pg-form-recruit .btn--o:hover{background:var(--main-dd);color:#fff;border-color:var(--main-dd);}

/* --- privacypolicy --- */
.pg-privacypolicy .wrap-n{width:min(100% - 40px,1500px);}
.pg-privacypolicy .cta .wrap-n{width:min(100% - 40px,1040px);}
.pg-privacypolicy .cta__t{color:#000;}
.pg-privacypolicy .phd{background:linear-gradient(rgba(20,50,28,.45),rgba(20,50,28,.45)),url("https://cdn.cuezilla-cms.com/enjoyworks-test17.site/images/1551/phd-forest.webp") center/cover no-repeat;}
.pg-privacypolicy .phd__lb{color:#439f47;}
.pg-privacypolicy .phd__t{color:#fff;}
.pg-privacypolicy .btn,.pg-privacypolicy .btn--o{background:var(--main-d);color:#fff;border-color:var(--main-d);border-radius:0;}
.pg-privacypolicy .btn:hover,.pg-privacypolicy .btn--o:hover{background:var(--main-dd);color:#fff;border-color:var(--main-dd);}

/* --- page-community.css --- */
@media(max-width:899px){
.pg-about-community .sec,.pg-about-community .sec:has(> .wrap > .cards),.pg-about-community .sec:has(> .wrap-n.rv > .snum),.pg-about-community .sec:has(> .wrap > .rv > .snum),.pg-about-community .sec:has(.duo),.pg-about-community .sec:has(.steps),.pg-about-community .sec:has(> .wrap > .steps){padding-block:clamp(36px,7vw,56px)!important;}
.pg-about-community .sec:first-of-type{padding-top:clamp(48px,9vw,72px)!important;}
.pg-about-community section#sec06.sec{padding-top:0!important;}
.pg-about-community .sec .wrap > .duo,.pg-about-community .sec .wrap.duo{gap:clamp(24px,5vw,36px)!important;}
.pg-about-community .sec .duo > div:not(.duo__media){padding-block:0!important;}
.pg-about-community .sec .duo__media,.pg-about-community .sec .duo:not(.wrap) .duo__media + .duo__media,.pg-about-community .sec > .wrap.duo > .duo__media:first-child{margin:0!important;}
.pg-about-community .sec .cards{margin-top:clamp(24px,5vw,36px)!important;}
.pg-about-community .sec .wrap-n.rv[style]{margin-top:clamp(24px,5vw,36px)!important;}
.pg-about-community .sec .steps{margin-top:clamp(20px,4vw,28px)!important;}
}

/* --- page-information.css --- */
@media(max-width:899px){
.pg-information section#sec01.sec{padding-top:clamp(48px,9vw,72px)!important;}
}


/* ===== _css3_cuezilla-skin.css ===== */
/* ============================================================
   ★★★ このファイルは【全案件共通の資産】です。案件では編集しないでください ★★★
   ------------------------------------------------------------
   （Claude Code / Claude Design / 手作業、いずれの経路でも同じです）

   ■ 案件ごとの調整は、必ず `override.css` に書いてください。
     読み込み/結合順が  … → style.css → cuezilla-skin.css → 【override.css】  なので、
     override.css に書いた指定は本ファイルに打ち消されません。**案件の上書きが効く唯一の場所です。**
     （例: カード面を白にしたい → override.css に `:root{ --dyn-surface:#fff; }`）

   ■ なぜ編集してはいけないか
     本ファイルを案件で書き換えた瞬間、その案件の skin は共通資産から切り離されます。
     以後、共通側で直した修正（カード高さの不揃い／サイドバーの可読性／
     フォーム送信ボタンの崩れ 等）が **その案件には二度と届きません**。
     実際に S01189 で本ファイルの §0 が案件調整で書き換えられ、共通修正が届かなくなりました。
     「毎案件おなじ崩れを直している」の原因はこれです。

   ■ 共通で直すべき崩れを見つけたら
     案件で握り込まず、正本 `skin/cuezilla-skin.css` へ還流してください（全案件に効きます）。
     還流し忘れると、次の同期でその修正は消えます。

   詳細は R-30（70_運用ルール/運用ルール集.md）。
   ============================================================ */

/* ============================================================
   CueZilla 動的パーツ スキンキット v1.0
   ------------------------------------------------------------
   目的: ブログ/施工実績(blog-ex)/お問い合わせ/パンくず/ページヘッダー等の
         CueZilla 既定パーツを、サイトのトンマナ（ダーク/ライト・ブランド色・
         フォント・角丸）に "自動で寄せる" 汎用CSS。案件ごとの調整を最小化する。

   思想:
     (1) 色は CueZilla テーマ変数(--main-color 等)から自動連動
         → サイトのテーマ設定がそのまま skin にも効く（色は一元管理）
     (2) フォント/角丸/グリッド幅はトークンで指定（テーマ変数に無いため）
     (3) partsNNN は採番が可変だが接尾辞は共通(_post_wrap 等)
         → 属性セレクタ [class*="_xxx"] で番号非依存に当てる（単一属性セレクタまで。積んで詳細度を稼がない）

   ★適用範囲と安全契約（重要・memory: cuezilla-css-safety-contract）:
     ・本skinは「CueZilla既定の動的パーツ」だけを寄せる。サイトのフリーコーディング設計には当てない
       （生成サイトCSSは変数非依存＋具体値＋自作接頭辞クラスで組む＝構造的に非衝突・skinと干渉しない）。
     ・[class*=…]を積んで詳細度を同点/超過させる手法は禁止（脆い・過剰マッチ・アーマーレース）。
       単一の番号非依存セレクタ＋!important1個で当てる（theme_defaultは非importantなので確定勝ち）。
     ・!important可は「レイヤーで越えられない相手」＝theme_default／body内インライン／BSユーティリティ／
       .partsNNN_blog_＜ID＞(0,3,0) のみ。後者(0,3,0)+!importantには詳細度で負けるため、
       負けた時だけ §14 の手順で実採番(0,3,1)を【案件CSS】に足して勝つ（汎用skinには番号を書かない）。
     ・変数の注意：実機は body内コンポの style 要素の :root が7色(--main-color等)を撒きうる（490件中16件）。
       →§0の--dyn-*はその頁で乗っ取られ得る。動的パーツの色合わせには許容だが、サイト設計の主機構にしない。

   使い方:
     1. §0 のトークンを案件に合わせて調整（ダーク/ライトはプリセットをコピー）
     2. CueZilla テーマカラー(--main-color 等)をブランド値に設定
     3. 本ファイルをサイト全体CSS(AddCssInfo)へ貼る（サイト固有のフリーコーディングCSSの後ろ）
   ============================================================ */


/* ============================================================
   §0  トークン ─ ここだけ案件ごとに調整
   ============================================================ */
:root{
  /* --- 色: CueZilla テーマ変数から自動取得（無い場合のフォールバック付き） ---
     ※これらは【動的パーツの色合わせ用】。生成サイトCSSはこの変数に依存せず具体値で書く（安全契約）。
       実機では body内コンポの style 要素の :root が --main-color 等を頁単位で上書きしうる＝--dyn-*も追従する。 */
  --dyn-bg:        var(--background-color, #ffffff);   /* ページ/セクション背景 */
  --dyn-surface:   var(--temporary-color, #f4f4f2);    /* カード/パネル/入力欄の面 */
  --dyn-text:      var(--text-color, #222222);         /* 本文 */
  --dyn-heading:   var(--text-color, #111111);         /* 見出し */
  --dyn-muted:     var(--sub-color, #8a8a8a);          /* 補助/日付 */
  --dyn-border:    var(--sub-color, #dddddd);          /* 罫線/枠 */
  --dyn-accent:    var(--main-color, #1e3a5f);         /* アクセント（ボタン/チップ/見出しバー） */
  --dyn-accent-2:  var(--link-color, var(--main-color, #1e3a5f)); /* リンク/ホバー */
  --dyn-on-accent: #ffffff;                             /* アクセント面の上の文字 */

  /* --- フォント（site.css の :root に定義があればそれを使用） ---
     KEEP: ★既定を明朝にしない（2026-08-31 ディレクター判断）。旧既定は display と numeric が
     `"Noto Serif JP","Yu Mincho",serif` / `"EB Garamond","Noto Serif JP",serif` ＝**明朝**で、
     案件が `--font-*` を渡し忘れると**動的ページ（ブログ・施工実績）だけが明朝で出る**。
     実測 S00757 スマイルカミオン: 記事タイトル・抜粋・タグ（display）7要素＋20要素、日付（numeric）各4要素が明朝になり、
     ディレクター指摘「ブログページに明朝が活用されていますが、サイト全体のフォントで統一してください」を受けた。
     ★渡し忘れは"案件のミス"だが、**気づけるのが公開直前の目視だけ**で、静的ページを見ている限り絶対に露見しない。
     ＝**既定が事故を作っていた**ので、既定側を直す。方針は「今後進める案件がサイトに使用しているフォントで
     反映される仕様にする」（ディレクター 2026-08-31）。
     ★意図して明朝にしたい案件は、これまでどおり `--font-display` 等を渡せばそのまま効く（機構は不変）。
     ★numeric は日付・英字ラベル用なので、和文本文より英字の顔が合う。sans を既定にしつつ英字を先頭へ置く。
     ★既存の納品済み案件は影響を受けない（納品CSSは書き出し時にベイク済みで、再エクスポートしない限り変わらない）。 */
  --dyn-font-display: var(--font-display, "Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif);
  --dyn-font-body:    var(--font-body, "Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif);
  --dyn-font-numeric: var(--font-numeric, "Helvetica Neue",Arial,"Noto Sans JP",sans-serif);
  /* /KEEP */

  /* --- 角丸（チップ/ボタン/カード）。角なしにするなら 0 --- */
  --dyn-radius: 6px;
  /* --- 一覧カードの最小幅 / 段組ギャップ --- */
  --dyn-card-min: 300px;
  --dyn-gap: 32px;
}

/* === テーマ プリセット（使う方を §0 の後にコピペして上書き） =========
   【ダーク】
   :root{
     --dyn-bg:#0A0A0A; --dyn-surface:#111110; --dyn-text:#F4F1EC; --dyn-heading:#FAF7F1;
     --dyn-muted:#8C857A; --dyn-border:#3A352D; --dyn-accent:#8E3A22; --dyn-accent-2:#B0533A;
     --dyn-on-accent:#FAF7F1; --dyn-radius:0;
   }
   【ライト】
   :root{
     --dyn-bg:#ffffff; --dyn-surface:#f7f7f5; --dyn-text:#222222; --dyn-heading:#111111;
     --dyn-muted:#8a8a8a; --dyn-border:#e3e3e3; --dyn-accent:#1e3a5f; --dyn-accent-2:#1e3a5f;
     --dyn-on-accent:#ffffff; --dyn-radius:6px;
   }
   ※ CueZilla テーマ変数(--main-color 等)を設定する場合は §0 が自動連動するのでプリセット不要。
   ============================================================ */


/* ============================================================
   §1  パンくず（CueZilla parts###_breadcrumb / p-breadcrumb）
   実markup: div.parts###_breadcrumb.p-breadcrumb.c-breadcrumb
             > ul.p-breadcrumb__inner(BreadcrumbList) > li.p-breadcrumb__item(ListItem)
   CueZilla共通CSSにパンくず装飾は無い → skin側で横並び・区切り・配色を付与
   ============================================================ */
[class*="_breadcrumb"], .p-breadcrumb{ background:var(--dyn-bg) !important; }
.p-breadcrumb__inner{
  list-style:none; margin:0 auto; padding:14px 24px;
  max-width:1200px; display:flex; flex-wrap:wrap; align-items:center;
}
.p-breadcrumb__item{
  display:inline-flex; align-items:center;
  color:var(--dyn-muted) !important; font-family:var(--dyn-font-body);
  font-size:.78rem; letter-spacing:.04em;
}
.p-breadcrumb__item a{ color:var(--dyn-muted) !important; text-decoration:none; }
.p-breadcrumb__item a:hover{ color:var(--dyn-accent-2) !important; text-decoration:underline; }
.p-breadcrumb__item:last-child{ color:var(--dyn-text) !important; }   /* 現在地 */
/* 区切り（2件目以降の左に縦罫線）※R-27対応（2026-08-26）
   旧実装は `::before` の content 宣言（文字リテラル "›"）で区切りを描いていたが、AddCssInfo は
   疑似要素の content 宣言をサニタイズで落とすため、実機では区切りが消えて
   「ホーム私たちの歴史」のように語が詰まっていた。
   ★実要素（＜span＞）へ昇格させず「content を使わない罫線」で代替した理由:
     パンくずの運用第一候補は「CueZilla がページ階層から自動描画するパンくずパーツ」で、
     その markup に区切り用の要素を挿す手段が無い。templates/breadcrumb.html（明示設置版）だけ
     直しても自動描画側は直らないので、両経路に1本のCSSで効く手段を採った。
     border / padding はサニタイズ後も残る（R-27「残る」側）。
   ★物理プロパティ（border-left）で書く理由: サニタイズのホワイトリストに論理プロパティが
     載っていない可能性を避ける。和文サイトは横書きLTR固定なので意味は同じ。 */
.p-breadcrumb__item + .p-breadcrumb__item{
  margin-left:.7em; padding-left:.7em;
  border-left:1px solid var(--dyn-border) !important;
}
.p-breadcrumb meta{ display:none; }   /* schema.org の ＜meta itemprop="position"＞ は非表示 */


/* ============================================================
   §2  ページヘッダー（[class*="_article_header"]）画像上のタイトル
   ============================================================ */
[class*="_article_header"] .ja, [class*="_article_header"] h1, [class*="_article_header"] h2{
  color:var(--dyn-heading) !important; font-family:var(--dyn-font-display) !important;
  text-shadow:0 2px 14px rgba(0,0,0,.5) !important;
}
[class*="_article_header"] .en{ color:var(--dyn-muted) !important; font-family:var(--dyn-font-numeric) !important; letter-spacing:.1em; text-shadow:0 1px 10px rgba(0,0,0,.5) !important; }


/* ============================================================
   §3  ページネーション（2系統。テーマCSSの持ち方が違うので扱いを分ける＝崩れ防止）
   ・.pagination_*（enjoyworks系）            … テーマが素 → 体裁＋色を一式付与
   ・[class*="_pagenation"]（parts222/225/228系）… テーマが体裁を持つ（flex/padding/border/白黒ハードコード）
        → レイアウト・サイズはテーマに任せ、ハードコードの白黒(#000/#fff)だけブランド色へ置換（最小限）。
          a/.current 以外（余白用の素の ＜span＞）には触らない＝二重ボックス化を防ぐ。
          --dyn-accent は §0 で var(--main-color) にバインド済み＝サイトのCMS色に自動一致（案件側の手当て不要）。
   ============================================================ */
/* (A) pagination_* 系：テーマ装飾が無いので一式付与 */
.pagination_num, .pagination_prev, .pagination_next{
  font-family:var(--dyn-font-numeric); color:var(--dyn-text) !important;
  border:1px solid var(--dyn-border) !important; border-radius:var(--dyn-radius);
  min-width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center; text-decoration:none;
}
.pagination_num.current{ background:var(--dyn-accent) !important; border-color:var(--dyn-accent) !important; color:var(--dyn-on-accent) !important; }
.pagination_num:hover, .pagination_prev:hover, .pagination_next:hover{ border-color:var(--dyn-accent-2) !important; color:var(--dyn-accent-2) !important; }

/* (B) _pagenation 系：色だけ寄せる（ジオメトリはテーマのまま＝箱を再定義しない） */
[class*="_pagenation"] a{ border-color:var(--dyn-accent) !important; color:var(--dyn-text) !important; }
[class*="_pagenation"] span.current, [class*="_pagenation"] .current, [class*="_pagenation"] .active{
  background:var(--dyn-accent) !important; border-color:var(--dyn-accent) !important; color:var(--dyn-on-accent) !important;
}
[class*="_pagenation"] a:hover{ border-color:var(--dyn-accent-2) !important; color:var(--dyn-accent-2) !important; }
.pe-none{ opacity:.3; pointer-events:none; }


/* ============================================================
   §4  ブログ / 施工実績(blog-ex) 一覧（番号非依存）
   ============================================================ */
/* 一覧セクションの地 */
[class*="_post_list"], [class*="_post_wrap"]{ } /* 下で個別指定 */
/* カード並び（最小幅を確保して細くなりすぎない） */
[class*="_post_list"]{ display:grid !important; grid-template-columns:repeat(auto-fill, minmax(var(--dyn-card-min), 1fr)) !important; gap:var(--dyn-gap) !important; }
/* カード */
[class*="_post_wrap"]{
  /* カード等寸化：中身を縦に積み、内側の ＜a＞/本文枠を flex で伸長させて高さを揃える（S01189還流） */
  display:flex !important; flex-direction:column;
  margin:0 !important;   /* theme_default の margin-bottom(55px等)残存で最終行カードだけ高さ不揃いになるのを打ち消す */
  width:auto !important; max-width:none !important; text-decoration:none;
  background:var(--dyn-surface) !important; border:1px solid var(--dyn-border) !important;
  border-radius:var(--dyn-radius); overflow:hidden;
  transition:transform .3s ease, border-color .3s ease;
}
[class*="_post_wrap"]:hover{ transform:translateY(-4px); border-color:var(--dyn-accent-2) !important; }
[class*="_post_wrap"] > a{ display:flex; flex-direction:column; flex:1 1 auto; color:inherit; }  /* カード全体ラップ＜a＞を縦伸長（内容を上下に満たす） */
/* サムネ等寸化：グリッド列の幅から高さを算出（幅制約下＝§6.5の aspect-ratio×height 併用の罠には該当しない） */
[class*="_post_img"]{ width:100%; display:block; border-radius:0; aspect-ratio:16/10; overflow:hidden; }
[class*="_post_img"] img{ width:100%; height:100%; object-fit:cover; display:block; }
/* カード内のテキストに左右余白 */
[class*="_post_status"]{ border:none !important; background:transparent !important; margin:14px 16px 0 !important; padding:0 !important; display:flex !important; flex-wrap:wrap; justify-content:flex-start !important; gap:10px; align-items:center; }
[class*="_post_status"]:has([class*="_title-excerpt"]){ display:block !important; }   /* parts228系「日付｜タイトル」の横並びを解除（:has非対応環境ではflex-wrapで折返し） */
[class*="_post_title-excerpt"]{ padding:10px 16px 16px !important; flex:1 1 auto; }   /* 本文枠を伸長＝カード等寸化の要 */
[class*="_post_status"]:has([class*="_title-excerpt"]) [class*="_title-excerpt"]{ padding:10px 0 16px !important; }   /* 施工実績は左端揃え */
[class*="_post_title"]{ font-family:var(--dyn-font-display) !important; color:var(--dyn-heading) !important; font-weight:700 !important; line-height:1.5; }
[class*="_post_excerpt"]{ color:var(--dyn-muted) !important; }
[class*="_post_date"]{ font-family:var(--dyn-font-numeric) !important; color:var(--dyn-muted) !important; }
/* カテゴリ/ステータスは1チップに。
   テーマは既に _post_category に border:1px solid var(--main-color) を持つ＝枠を“足す”と2重になるので
   同一要素に !important で単一の枠を確定（色は --dyn-accent=var(--main-color) で一致）。幅は % 制約を解除し content 幅に。 */
[class*="_post_category"]:not([class*="_sidebar"]), [class*="_post_status"] > span:last-child{
  /* :not(_sidebar) ＝ この§4チップ装飾が §5 の _sidebar_post_category_count へ漏れ二重適用されるのを防ぐ（S01189還流） */
  width:auto; max-width:none !important;
  background:var(--dyn-bg) !important; border:1px solid var(--dyn-accent) !important;
  border-radius:var(--dyn-radius); padding:2px 8px; color:var(--dyn-accent) !important;
}
.parts-blog-ex-tag_wrap{ display:flex; flex-wrap:wrap; gap:6px; padding:0 16px 14px; }
.parts-blog-ex_tag{ font-size:.72rem; color:var(--dyn-muted) !important; background:var(--dyn-surface) !important; border:1px solid var(--dyn-border); border-radius:var(--dyn-radius); padding:2px 8px; }

/* --- 一覧パーツ固有の崩れ2点（実共有CSS=theme parts222/225/228 を突き合わせて確定）---
   (a) 自動セクション見出し（「ブログ」「施工実績」等）の撤去：
       テーマは `.parts222_section h2 / .parts228_section h2` に
       color:var(--main-color)/font-size:35px/text-align:center を付与し、
       一覧上部に大見出しを自動描画する。自前の下層ヘッダー(hero)と二重化＝崩れ。
       → 一覧パーツ(_post_list を含む _section)直下の素の h2 だけ隠す。
         残したいサイトは案件CSSで個別に復帰。`:has()` 非対応保険に f_meiryo 版も併記。 */
[class*="_section"]:has([class*="_post_list"]) > h2,
[class*="_section"] > h2.f_meiryo{ display:none !important; }
/* (b) flex前提の余白スペーサー ::after の無効化：
       テーマは `.parts228_post_list::after{content:"";width:32.465%}` で flex の最終行詰めをする。
       §4 で _post_list を grid 化すると、この ::after が「空のゴースト列」になり最終行が片寄る。
       → grid では不要なので除去（content:none で擬似要素自体を消す）。 */
[class*="_post_list"]::after{ content:none !important; display:none !important; }


/* ============================================================
   §4-b  ブログ枠パーツ（parts131415_blog 系）＝ 内側でBootstrapが生きている型
   ------------------------------------------------------------
   §4 は parts222/225/228 の `_post_list` / `_post_wrap` 接尾辞を前提にしている。
   parts131415_blog 系は接尾辞が違い（`.row.row-cols-lg-3 > .col > .card`）、§4のセレクタが
   **1つも届かない**。そのため案件ごとに同じCSSを書き直す状態になっていた。
   教訓: 70_運用ルール/デザイン教訓/cms-part-bootstrap-grid-collapses-cards.md
         70_運用ルール/デザイン教訓/cms-part-heading-typography-override.md
   （承認: 2026-09-01「A・B・C ＋ I ＋ G/H（受領チェック1項目）」）

   (a) カードが列幅のさらに1/3に潰れる（独立3案件で真因一致: S02150・O01540・S00459）
       パーツが吐く `.row.row-cols-1.row-cols-sm-2.row-cols-lg-3` は Bootstrap の
       `.row-cols-lg-3 > *{flex:0 0 auto; width:33.3333%}` が生きたまま。案件側で `.row` を
       grid 化しても **grid の子に残った width:33.3333% が「列幅の33.3%」として再び効く**ため、
       341px の列の中でカードが 114px（サムネイル 52px）まで潰れる（実測 S02150 2026-08-25）。
       ★崩れるのは実機だけで、受領データを単体で開くと正常に見える＝**受領物を見ている限り
         絶対に気づけない**。だから案件ごとの気づきに任せず skin の既定にする。
       → §4 の `_post_list` と同じ扱い（auto-fill グリッド＋子の幅指定を落とす）を対にして当てる。
         **grid 化と子の無効化は必ずセット**。片方だけだと、grid 化なしで幅を落とせば1列に伸び、
         幅を落とさず grid 化すれば上記の 1/3 潰れが起きる。
       ★施工実績枠には当たらない。あちらは `.content.d-flex`（`.row` を持たない）で、
         flex の子に幅を当てると3枚が横にあふれる。クラス名では枠を判別できない
         （CMSが `parts131415_blog_DKhwGnz7DM` のように乱数の接尾辞を付け、作り直すと変わる）ため、
         **`.row` を持つか＝中身で分岐している**。 */
[class*="parts131415_blog"] .row{
  display:grid !important;
  grid-template-columns:repeat(auto-fill, minmax(var(--dyn-card-min), 1fr)) !important;
  gap:var(--dyn-gap) !important;
}
[class*="parts131415_blog"] .row > *{
  width:auto !important; max-width:none !important; min-width:0 !important;
  flex:none !important; margin:0 !important; padding:0 !important;
}

/* (b) パーツ見出しがCMS既定の書体・色のまま出てブランドタイポから浮く（独立2案件: S00459・S01926）
       レイアウト（配置・カラム）は案件CSSで整えられる一方、**パーツ自身が生成する見出し要素の
       書体・色はパーツ内部に付いているため見落とされやすい**。結果「配置は整っているのに見出しだけ
       フォントが違う・色が違う」という部分的な浮きが残る。
       実測: S00459 `.design-parts-11 .parts-title` が色 #0E6FB8 のまま／
             S01926 `.parts131415_blog_title_wrap .title` が明朝のまま（一度PC幅だけ直して
             「全端末で適用」と差し戻された＝BP単位の個別対応では同じ穴が別BPで再発する）。
       → §4 の `_post_title` / §5 の `_sidebar_post_title` と同じ扱いで、**書体と色だけ**を寄せる。
       ★サイズ・寄せは案件ごとのデザイン判断なので skin では触らない（§4の既存方針と同じ）。
         そちらは 30_コード生成/AI生成指示書_CueZilla.md 側の手順で担保する。
       ★全BP共通で当たる（メディアクエリの外に置いてある）。
       ★実測で確認できた2クラスだけに絞ってある。`.card-title` / `.card-text` は当てていない
         （O01540 では `.card-title` が「濃緑地に白文字のチップ」＝見出しではなくラベルとして
         使われており、`--dyn-heading` を当てると読めなくなる）。パーツが増えたら実機で確認して追記する。 */
[class*="_blog_title_wrap"] .title,
[class*="design-parts-"] .parts-title{
  font-family:var(--dyn-font-display) !important; color:var(--dyn-heading) !important;
}


/* ============================================================
   §4-c  テーマが一覧サムネに掛ける「固定の高さ」を打ち消す（番号非依存）
   ------------------------------------------------------------
   ★§4 の意図が theme_default に**黙って負けていた**のを直すぶん（2026-09-11 実測）。

   何が起きていたか:
     §4 は `[class*="_post_img"]{ aspect-ratio:16/10 }` でサムネを等寸化する設計だが、
     theme_default は `.parts228_post_wrap .parts228_post_img{ height:240px }` と
     `… img{ max-height:240px }` を持つ。**セレクタの詳細度は テーマ(0,2,0) > skin(0,1,0)** なので、
     skin の aspect-ratio は計算に使われず**常にテーマの240pxで確定**していた。
     実測（local-sandbox・theme+skin のみ・案件CSS無し）:
       打ち消し前: .parts228_post_img の computed height = 240px（aspect-ratio:16/10 は設定されているのに無効）
       打ち消し後: 233px（＝列幅375px ÷ 1.6）＝**skin 自身の設計どおりになる**
     ＝「skin を採用しているのにサムネだけテーマの寸法」という状態で、案件側は毎回
     `.parts228_post_wrap .parts228_post_img img{ max-height:unset; height:200px }` を手で書いていた
     （実測: 収穫ログで4案件が同じ規則を貼っていた。機械化台帳 B1）。

   線引き（§4 の既存方針と同じ。ここを広げないこと）:
     ・**打ち消すだけ**＝テーマが持ち込む固定値を外して §4 の aspect-ratio に戻す。
     ・**寸法の具体値と色は入れない**。案件が貼っていた `height:200px` `margin-bottom:45px`
       `background:#FFFFFF` は**デザイン判断**なので案件CSSに残す（値は案件ごとに違う）。

   ★入れなかったもの（実測して落とした・同じ検討を繰り返さないため）:
     `[class*="_sidebar"]{ max-width:none !important }`（案件が4件で手貼りしていた規則）は
     **skin に入れてはいけない**。theme_default は `.parts222_sidebar{ max-width:28.179%; width:100% }`
     と対で持っており、max-width だけ外すと width:100% が生きて**2カラムが崩れる**。
     実測（local-sandbox）: main 780px + sidebar 333px → **main 590px + sidebar 590px**。
     サイドバー幅は案件ごとのレイアウト判断なので、案件CSSで width とセットで指定すること。
   ============================================================ */
[class*="_post_wrap"] [class*="_post_img"]{ height:auto !important; }          /* テーマの height:240px を外し §4 の aspect-ratio に戻す */
[class*="_post_wrap"] [class*="_post_img"] img{ max-height:none !important; }  /* 同 max-height:240px の頭打ちを外す（§4 の height:100% を効かせる） */



/* ============================================================
   §5  サイドバー / 最近の投稿 / カテゴリ記事数
   ============================================================ */
[class*="_sidebar"], .recent_posts_wrap{ color:var(--dyn-text); }
/* サイドバー見出し（「最近の投稿」「カテゴリ」）の可読性を確保。
   theme_default は `.partsNNN_sidebar h3{ background-color:var(--main-color); color:#fff }` と
   色を直当てするが、§12 の見出しリセットが**背景だけ**を transparent にするため、
   ライト基調の案件では「白地に白文字」で消える（ダーク案件では地に映えるため露見しない）。
   背景は戻さず（skinのフラット化方針を維持）、文字色だけトークンへ寄せて両基調で可読にする。
   あわせて左右パディングも解除する：`padding:15px 20px` は**帯があった前提**の内側余白のため、
   帯を透明化したまま残すと「見出しだけ20px字下げ」になり、直下の日付／タイトルと文頭がズレる。
   （詳細ページ側の .recent_post_title には下で同じ手当てをしており、一覧側だけ取り残されていた） */
[class*="_sidebar"] h3{ color:var(--dyn-heading) !important; padding-left:0 !important; padding-right:0 !important; }
[class*="_sidebar_post_title"], .recent_post_title{ font-family:var(--dyn-font-display) !important; color:var(--dyn-heading) !important; }
/* 「最近の投稿」見出し（詳細ページ側）の帯を外して一覧側と体裁を揃える。
   theme_default は `.recent_posts_wrap .recent_post_title{ background-color:var(--main-color); color:#fff }` で帯を敷くが、
   §12 の見出しリセットは (a) 包み(parts166_single_article / parts-blog-ex-single-wrap)が `_section` を含まない
   (b) 要素が ＜div＞（h2/h3でない）── の2点で**届かず**、帯だけが生き残る。
   一方すぐ上の §5 が文字色を --dyn-heading（＝ライトでは濃色）へ寄せるため「濃い帯に濃い文字」となり、
   案件ごとに帯との視認性を見て文字色を手当てする必要があった。帯を外せば一覧（§12で帯が外れる）と揃い、手当ても不要になる。
   ※帯を活かしたい案件は案件側で `background:var(--dyn-accent); color:var(--dyn-on-accent)` を再指定する。 */
.recent_post_title{ background:transparent !important; padding-left:0 !important; }
[class*="_sidebar_date"], .recent_post_date{ font-family:var(--dyn-font-numeric) !important; color:var(--dyn-muted) !important; }
/* 記事li の区切り罫線：theme_default が #666 をハードコードしており地に合わず過剰に見える → トークンへ */
[class*="_sidebar"] ul li, .recent_posts_wrap ul li{ border-bottom-color:var(--dyn-border) !important; }
/* カテゴリ右の記事数を視認できるチップに */
[class*="_sidebar_post_category_count"]{ background:var(--dyn-surface) !important; color:var(--dyn-text) !important; border:1px solid var(--dyn-border); border-radius:var(--dyn-radius); padding:0 8px !important; }
/* カテゴリ一覧 li：theme_default 由来の左右縦罫線(1px solid #666)を除去（下罫線は区切りとして意図的に残す）。S01189還流 */
[class*="category_post_count"] li{ border-left:0 !important; border-right:0 !important; }
/* カテゴリ名と件数チップが重ならないよう両端寄せ。
   あわせて左右パディングを解除：theme_default は `.category_post_count ul li a{ padding:15px 20px }` と
   **帯／箱があった前提**の字下げを持つため、帯を外した状態では
   カテゴリ名だけが 20px 右にずれ、見出し(h3)や「最近の投稿」リストと頭が揃わない。
   上下15pxはタップ領域として残す。 */
[class*="category_post_count"] li a{ display:flex; justify-content:space-between; align-items:center; gap:8px; padding-left:0 !important; padding-right:0 !important; }


/* ============================================================
   §6  詳細ページ（本文 / 署名 / SNS / 詳細内スライダー）
   ============================================================ */
.parts-blog-ex_text{ font-family:var(--dyn-font-body); color:var(--dyn-text) !important; line-height:1.9; }
.parts-blog-ex_text h2, .parts-blog-ex_text h3{ font-family:var(--dyn-font-display) !important; color:var(--dyn-heading) !important; }
.signature_wrap{ font-family:var(--dyn-font-display); color:var(--dyn-muted) !important; border-top:1px solid var(--dyn-border); padding-top:16px; }
.slick-prev, .slick-next{ color:var(--dyn-accent-2) !important; }
/* ※詳細本文の親ラッパーが固定class薄め。崩れる場合は実ページで本文コンテナを確認し追補 */


/* ============================================================
   §7  お問い合わせフォーム
   ============================================================ */
.contact_section, [class*="_section_form"], [class*="_section_content"], [class*="_content_wrap"], [class*="_content"]{ background:var(--dyn-bg) !important; color:var(--dyn-text) !important; }
[class*="_form_wrap"]{ max-width:720px; margin:0 auto; }
[class*="_form_wrap"] label, [class*="_form_wrap"] dt, [class*="_form_wrap"] .ja, [class*="_form_wrap"] .en{ color:var(--dyn-text) !important; }
/* 入力欄を十分な大きさに（チェック/ラジオは除外） */
[class*="_form_wrap"] dd input:not([type="checkbox"]):not([type="radio"]),
[class*="_form_wrap"] dd select{ width:100% !important; max-width:none !important; padding:14px 16px !important; font-size:16px !important; min-height:54px !important; background:var(--dyn-surface) !important; color:var(--dyn-text) !important; border:1px solid var(--dyn-border) !important; border-radius:var(--dyn-radius); }
[class*="_form_wrap"] textarea, .form_textarea textarea{ width:100% !important; padding:14px 16px !important; font-size:16px !important; min-height:220px !important; background:var(--dyn-surface) !important; color:var(--dyn-text) !important; border:1px solid var(--dyn-border) !important; border-radius:var(--dyn-radius); }
/* チェックボックス/ラジオはサイズ統一 */
[class*="_form_wrap"] input[type="checkbox"], [class*="_form_wrap"] input[type="radio"]{ width:18px !important; height:18px !important; min-height:0 !important; padding:0 !important; margin:0 8px 0 0 !important; vertical-align:-3px; accent-color:var(--dyn-accent); flex:none !important; }
/* 必須バッジ: 文字を中央・折り返さない・角丸はトークン */
.required{ display:inline-flex !important; align-items:center !important; justify-content:center !important; line-height:1 !important; white-space:nowrap !important; padding:6px 12px !important; border-radius:var(--dyn-radius) !important; background:var(--dyn-accent) !important; color:var(--dyn-on-accent) !important; }
.error{ color:var(--dyn-accent-2) !important; }
/* 「お問い合わせ内容」を囲む大きな箱(枠線)を撤去 */
.form_textarea, .form_text_dt{ border:none !important; background:transparent !important; }
/* 送信ボタン。★セレクタに包み(.contact_submit 自体)を含めないこと：
   包みは複数ボタンを載せるレイアウト用のdivで、ここを accent で塗ると
   (a) 完了ページ=藍の包みに藍のボタンが乗って同化し、ボタンが消えて見える
   (b) 確認ページ=すぐ下でアウトライン化する「戻る」が藍地に濃色文字となり判読不能（実測 1.01:1）
   になる。当てる先はボタン実体だけでよい（dynamic-form.md §1 の意図も「送信 .contact_submit input = accent地」）。 */
.contact_submit button, .contact_submit input{ background:var(--dyn-accent) !important; color:var(--dyn-on-accent) !important; border:none !important; border-radius:var(--dyn-radius) !important; }
/* 確認ページの「戻る」は副ボタン（送信＝アクセント／戻る＝アウトライン）＝誤導線防止 */
.contact_submit input[name="back"]{ background:transparent !important; color:var(--dyn-text) !important; border:1px solid var(--dyn-border) !important; }
/* 送信前 disabled（reCAPTCHA未完了）の見え方 */
.contact_submit input[disabled]{ opacity:.5; cursor:not-allowed; }

/* --- フォーム実コードで頻出するが §7本体に無かった部品（parts213等の実装を突き合わせ）--- */
/* ファイル添付の自作UI：受領のインライン style が #eee 地・#999 文字・明るいグラデで固定し、
   ダーク地で白い箱・低コントラストになる。トークンで地・枠・文字を寄せる（label_file_upload に限定）。 */
.label_file_upload{ display:block; width:100%; padding:12px 14px; cursor:pointer;
  background:var(--dyn-surface) !important; color:var(--dyn-text) !important;
  border:1px solid var(--dyn-border) !important; border-radius:var(--dyn-radius); }
.label_file_upload button{ background:var(--dyn-bg) !important; color:var(--dyn-text) !important;
  border:1px solid var(--dyn-border) !important; border-radius:var(--dyn-radius) !important; pointer-events:none; }
.label_file_upload span, #file-chosen, [id$="filechosen"]{ color:var(--dyn-muted) !important; }
.des{ color:var(--dyn-muted) !important; }
/* 注意書き（文字数制限・ファイル名規則等の補助）：色未指定/未定義var(--red)で可読性がばらつくため muted で固定（AA確保色） */
.attention{ color:var(--dyn-muted) !important; }
/* 郵便番号は narrow に保つ：上の入力欄ルール `[class*="_form_wrap"] dd input:not([checkbox]):not([radio])`
   は (0,3,2)+!important で .zip も全幅化し〒[郵便番号][住所]を壊す。これに勝つよう :not() を重ねて
   詳細度を (0,4,2) に上げて .zip だけ幅を戻す（parts219等 form_address系・番号非依存）。 */
[class*="_form_wrap"] dd input.zip:not([type="checkbox"]):not([type="radio"]){ width:9em !important; max-width:9em !important; display:inline-block; margin-right:8px; }
/* プライバシー同意 */
.privacypolicy{ background:var(--dyn-surface) !important; border:1px solid var(--dyn-border); border-radius:var(--dyn-radius); padding:16px; color:var(--dyn-muted) !important; }
.privacypolicy-link{ color:var(--dyn-accent-2) !important; }
/* 電話/メール等の content バー（角丸はトークン） */
[class*="_content"] [class*="btn"], [class*="_content"] a[class*="round"]{ border-radius:var(--dyn-radius) !important; }


/* ============================================================
   §7b  お問い合わせフォーム ─ wpcf7 / .formBox 系（第2系統）
   ------------------------------------------------------------
   【重要】フォームには構造が2系統ある（dynamic-harvest.js の「フォーム系統」で判定）：
     ・§7  = parts_form/dl 系（[class*="_form_wrap"] / dt / dd / .required / .contact_submit）
     ・§7b = wpcf7/.formBox 系（.formWrap > .formBox > dt>label>span.req + dd>input,
              送信=input.wpcf7-submit。SEIKEN/協力会社フォーム等 Contact Form 7 由来）
   §7 の `[class*="_form_wrap"]` は §7b 構造に当たらないため、当該系統では本セクションが要る。
   いずれも番号非依存のセマンティッククラスで記述。
   ============================================================ */
.formWrapbg, .formWrap, .form, [class*="formSec"]{ background:var(--dyn-bg) !important; color:var(--dyn-text) !important; }
.formWrap{ max-width:720px; margin:0 auto; }
.formBox{ margin-bottom:20px; }
.formBox dt, .formBox label{ color:var(--dyn-text) !important; }
.formBox dd input:not([type="checkbox"]):not([type="radio"]),
.formBox dd select,
.formWrap input[type="text"], .formWrap input[type="email"], .formWrap input[type="tel"]{
  width:100% !important; max-width:none !important; padding:14px 16px !important; font-size:16px !important;
  min-height:54px !important; background:var(--dyn-surface) !important; color:var(--dyn-text) !important;
  border:1px solid var(--dyn-border) !important; border-radius:var(--dyn-radius);
}
.formBox dd textarea, .formWrap textarea{
  width:100% !important; padding:14px 16px !important; font-size:16px !important; min-height:220px !important;
  background:var(--dyn-surface) !important; color:var(--dyn-text) !important;
  border:1px solid var(--dyn-border) !important; border-radius:var(--dyn-radius);
}
.formWrap input[type="checkbox"], .formWrap input[type="radio"]{
  width:18px !important; height:18px !important; min-height:0 !important; padding:0 !important; margin:0 8px 0 0 !important;
  vertical-align:-3px; accent-color:var(--dyn-accent); flex:none !important;
}
/* 必須バッジ（wpcf7系は .req） */
.req, .formBox .req{
  display:inline-flex !important; align-items:center !important; justify-content:center !important; line-height:1 !important;
  white-space:nowrap !important; padding:6px 12px !important; border-radius:var(--dyn-radius) !important;
  background:var(--dyn-accent) !important; color:var(--dyn-on-accent) !important;
}
.wpcf7-not-valid-tip, .wpcf7-response-output{ color:var(--dyn-accent-2) !important; }
/* 送信（Contact Form 7） */
input.wpcf7-submit, .formWrap button[type="submit"]{
  background:var(--dyn-accent) !important; color:var(--dyn-on-accent) !important;
  border:none !important; border-radius:var(--dyn-radius) !important;
  min-height:54px !important; padding:14px 28px !important; font-size:16px !important; cursor:pointer;
}
/* プライバシー同意（両系統共通の .privacypolicy* は §7 で適用済） */


/* ============================================================
   §14  自動CSSに負けた時の手順（R-27）※汎用アーマーは持たない＝安全契約
   ------------------------------------------------------------
   CueZilla は body内コンポの style 要素でパーツ単位に `.partsNNN_blog_＜ID＞ .card .card-body{…!important}`
   等の高詳細度(0,3,0)+!important を吐く。§1〜§9 の単一属性セレクタ(0,1,0〜0,2,0)+!important は
   同プロパティで【負ける】（症状：当てているのに反映されない＝崩れの常連）。

   → 【禁止】[class*=…]を積んで(0,3,0)に並べる汎用アーマー（脆い・過剰マッチ・アーマーレース）。
        ＝以前ここにあった `[class*="parts"][class*="_blog"] .card` 等は本契約により撤去した。
        （theme_default 非importantへの色寄せは §8 の単一 `[class*="_blog"] .card`(0,2,0)+!important で足りる）
   → 【正】負けたパーツだけ、harvestで実採番を取り【案件CSS】末尾に (0,3,1) を1個足して確実に勝つ：
        section.parts131415_blog_xxxx .card .card-body{ … !important }   ← 実採番。構造変化に不感
     ※ skin は全案件共通なので案件固有の番号は書かない（負けた時だけ案件側で対処）。
     ※ 採番取得＝verify/dynamic-harvest.js。当て方＝50_CSS・動的ページ/動的ページCSS_実セレクタ参考.md §14。 */
/* 見出しのテーマ装飾(角丸/中央寄せ/背景/罫線)残りをパーツ内でリセット（R-21）。
   theme_default は非importantなので、単一 [class*="_section"] + !important で確定勝ち（[class*]を積まない）。 */
[class*="_section"] h2, [class*="_section"] h3{
  border-radius:0 !important; background:transparent !important; border:none !important; text-align:inherit !important;
}


/* ============================================================
   §8  トップ用 お知らせ/ブログ teaser（notice-news / blog teaser）
   ============================================================ */
.parts040506_notice-news{ background:var(--dyn-bg) !important; color:var(--dyn-text) !important; }
.parts040506_notice-news *{ color:var(--dyn-text) !important; }
.parts040506_notice-news .title, .parts040506_notice-news .title a{ color:var(--dyn-heading) !important; }
.parts040506_notice-news [class*="date"], .parts040506_notice-news .f_yugothic{ font-family:var(--dyn-font-numeric) !important; color:var(--dyn-muted) !important; }
.parts040506_notice-news .more{ white-space:nowrap !important; color:var(--dyn-accent-2) !important; }
.parts040506_notice-news a{ color:var(--dyn-accent-2) !important; }
/* サムネ型ブログ teaser */
[class*="_blog_title_wrap"]{ font-family:var(--dyn-font-display) !important; color:var(--dyn-heading) !important; }
[class*="_blog_thumbnail"]{ border-radius:var(--dyn-radius); }
/* teaser内が Bootstrap .card（既定で白）の場合のダーク/トーン化 */
[class*="_blog"] .card{ background:var(--dyn-surface) !important; border-color:var(--dyn-border) !important; border-radius:var(--dyn-radius) !important; }
[class*="_blog"] .card-title, [class*="_blog"] .card-text{ color:var(--dyn-text) !important; }
[class*="_blog"] .card-title{ font-family:var(--dyn-font-display) !important; }


/* ============================================================
   §9  Bootstrap汎用クラスの地ならし（パーツ内に限定）
       text-dark / bg-light 等がパーツ内でトーンを乱すのを抑える
   ============================================================ */
[class*="parts"] .text-dark{ color:var(--dyn-text) !important; }
[class*="parts"] .bg-light{ background:var(--dyn-surface) !important; }
.card-header.bg-light{ background:var(--dyn-accent) !important; color:var(--dyn-on-accent) !important; }


/* ============================================================
   §10  プライバシーポリシー（templates/privacy-policy.html のフリーコーディング設置版）
   ※CueZilla既定パーツ(item_title/item_description)へ転記する場合は §5 等で別途適用される
   ============================================================ */
.privacy{ max-width:880px; margin:0 auto; padding:64px 24px; color:var(--dyn-text); font-family:var(--dyn-font-body); line-height:1.9; }
.privacy__title{ font-family:var(--dyn-font-display); color:var(--dyn-heading); font-size:clamp(1.8rem,4vw,2.6rem); }
.privacy__subtitle{ font-family:var(--dyn-font-display); color:var(--dyn-heading); font-size:1.2rem; margin-top:8px; }
.privacy__lead{ color:var(--dyn-muted); margin:24px 0 40px; }
.privacy-item{ margin-bottom:32px; }
.privacy-item__title{ font-family:var(--dyn-font-display); color:var(--dyn-heading); border-left:3px solid var(--dyn-accent); padding-left:12px; margin-bottom:12px; }
.privacy-item__body{ color:var(--dyn-text); }
/* 原文の (1)(2)… 表記は【HTML側のテキスト】で持つ ※R-27対応（2026-08-26）
   旧実装は `li::before` の content 宣言（`counter(pp)` を括弧で挟む）で番号を描いていたが、AddCssInfo は
   content 宣言をサニタイズで落とす（counter() は content 専用なのでCSS単独の代替が無い）。実機では番号が消えたうえに
   下のぶら下げインデントだけが残り、本文が左へはみ出していた。
   ★番号を捨てず HTML テキストへ移した理由: 本文が「上記(1)から(6)に掲げるほか」と番号を参照しており、
     番号は装飾ではなく文書の一部（消すと文意が壊れる）。会社承認の定型文なので表記も変えられない。
     → templates/privacy-policy.html の各 ＜li＞ 先頭に "(1) " 等を直接書く形へ変更した。
   ★ぶら下げインデント（padding-left / text-indent）は残す: 番号が行頭テキストになった今も、
     折り返し行を本文位置に揃えるために必要（＝この2行が番号の受け皿）。
     番号を持たない古い privacy HTML に当たると字下げだけが見えるので、その場合はCSSではなく
     HTML側に番号を入れて直す。counter-reset / counter-increment は用が無くなったので外した。 */
.privacy-item__list{ list-style:none; margin:8px 0; padding:0; }
.privacy-item__list li{ padding-left:2.2em; text-indent:-2.2em; margin:4px 0; color:var(--dyn-text); }


/* ============================================================
   §11  下層ヘッダーパーツ（templates/subpage-header.html）
   サイトヘッダーとパンくずの間。フリーコーディングで別パーツ化
   ============================================================ */
/* padding-top に固定ヘッダー高さ(--fixed-header-h)を加算＝固定ヘッダーへのめり込み防止。
   固定ヘッダーが無いサイトは既定0で無影響。固定ヘッダー採用サイトは案件CSSで :root{ --fixed-header-h:88px } 等を設定（R-18）。 */
.subpage-header{ position:relative; padding:calc(72px + var(--fixed-header-h, 0px)) 24px 72px; background:var(--dyn-surface); text-align:center; overflow:hidden; }
.subpage-header__bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.45; z-index:0; }
.subpage-header__inner{ position:relative; z-index:1; }
.subpage-header__title{ font-family:var(--dyn-font-display); color:var(--dyn-heading); font-size:clamp(1.8rem,5vw,3rem); line-height:1.3; text-shadow:0 2px 14px rgba(0,0,0,.5); }
.subpage-header__en{ font-family:var(--dyn-font-numeric); color:var(--dyn-muted); letter-spacing:.12em; margin-top:8px; }


/* ============================================================
   §12  システム定型ページ：送信完了(thanks) / 404
   templates/thanks.html, templates/404.html 用。トークンスキン準拠
   ============================================================ */
.thanks, .notfound{ max-width:760px; margin:0 auto; padding:calc(80px + var(--fixed-header-h, 0px)) 24px 96px; text-align:center; }
/* CueZilla 既定404（section.not-found）はレイアウトを変えず、固定ヘッダー分の上余白だけ確保（R-18） */
.not-found{ padding-top: calc(var(--fixed-header-h, 0px) + 24px); }
.thanks__title, .notfound__title{ font-family:var(--dyn-font-display); color:var(--dyn-heading); font-size:clamp(1.8rem,5vw,2.6rem); line-height:1.3; margin-bottom:28px; }
.thanks__lead, .notfound__lead{ color:var(--dyn-text); line-height:2; margin-bottom:40px; }
.thanks__action, .notfound__action{ margin-top:8px; }


/* ============================================================
   §13  Bootstrap(テーマ)既定の恒久打ち消し（R-20）
   ------------------------------------------------------------
   CueZillaテーマが読み込む Bootstrap の "素のタグ/汎用クラス" が
   フリーHTMLに当たって崩す症状を、案件ごとの手当て無しで地ならしする。
   ここは確認済みの実害2件（test0605）に限定して打ち消す。
   ※「色/余白/タイポ」を意図して変える装飾は接頭辞クラス(.xw- 等)で
     付け直す＝下記より高詳細度になり、本セクションに勝つ（壊さない）。
   ============================================================ */
/* (a) ＜mark＞ / .mark の黄ハイライト背景：ロゴや見出しが黄色い箱になる症状 → 無効化。
       意図的なマーカー装飾は専用クラスで（Bootstrap名 .mark を流用しない＝R-20）。 */
mark, .mark{
  background-color:transparent !important; color:inherit !important;
  padding:0 !important; border-radius:0 !important;
}
/* (b) a:hover が Bootstrap青(#0a58ca)になる症状 → 既定は「ホバーで色を変えない」。
       !important は付けない＝個別のホバー装飾(接頭辞クラスや site.css の指定)が
       そのまま勝ち、未指定リンクだけが青化を免れる（フォールバック）。 */
a:hover{ color:inherit; }

/* (c) 電話番号リンク(tel:)の最低タップ確保（R-24／§5.5-3）。
       本文中インラインでも折り返さない。CTA/ボタン用途は接頭辞クラスで44px確保。 */
a[href^="tel:"]{ white-space:nowrap; }


/* ===== _css4_override.css ===== */
/* 案件の上書き（R-30: skin は編集しない。案件の上書きはこのファイルだけ）
   株式会社十津川造林 ／ CueZilla サイトID 1551 ／ enjoyworks-test17.site
   ※ここは skin の後ろに結合される（優先度3）。 */

/* ------------------------------------------------------------
   R-18 固定ヘッダーの潜り込み防止
   このサイトのヘッダーは position:fixed。CueZillaが描くページ
   （ブログ・施工実績・フォーム・送信完了・404）は先頭に上余白が無く、
   固定ヘッダーの下へ本文がめり込むため、実高さを skin に教える。
   ヘッダー実高さ: 1280px以上 = top24px + 66px ／ それ未満 = top0 + 66px
   ------------------------------------------------------------ */
:root{ --fixed-header-h: 110px; }
@media(max-width:1279px){ :root{ --fixed-header-h: 80px; } }

/* ------------------------------------------------------------
   R-10a 自動パンくずの非表示
   下層ヘッダーブロック（04a〜04e）と各固定ページに、受領デザインの
   パンくず（.crumb・BreadcrumbList付き）を埋め込んでいるため、
   CueZillaが自動挿入するパンくずと二重になる。
   ------------------------------------------------------------ */
.parts231_breadcrumb{ display:none !important; }

/* ------------------------------------------------------------
   動的パーツ（ブログ / 施工実績 / フォーム）の意匠合わせ
   配色は skin がテーマ変数7値（NN_theme-vars.txt）から自動で拾うので
   ここでは二重管理しない。角丸だけサイトの言語（直角）に合わせる。
   ------------------------------------------------------------ */
:root{ --dyn-radius: 0px; }

/* 受領サイトは本文 17px・行間2.0。動的パーツも同じ読み味に寄せる */
:root{ --dyn-font-display: "Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif; }

/* ------------------------------------------------------------
   会社概要（/information）のGoogleマップ
   支給された埋め込みコードは width=600 / height=450 の固定寸法なので、
   そのままだと版面からはみ出す or 右に余白が出る。枠側で比率を決めて中身を全面に敷く。
   ------------------------------------------------------------ */
.pg-information .gmap{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  background:var(--bg2);
  margin-top:8px;
}
.pg-information .gmap iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  display:block;
}
/* 狭い画面では16:9だと地図が薄くなって読めないので、少し縦に伸ばす */
@media(max-width:699px){
  .pg-information .gmap{ aspect-ratio:4/3; }
}

/* ------------------------------------------------------------
   ブログ署名（記事末のCV導線）
   CueZillaが描く記事ページに出るので .pg-〇〇 の外にある＝**スコープを付けない**。
   同じ理由で、サイト側の .btn（角丸を消しているのはページ側の上書き）も使えないため、
   専用クラスで具体値を持たせる。色は 16_site.combined.css の :root と同じ値。
   ★::before/::after の content は AddCssInfo のサニタイズで落ちる（R-27）ので、
     矢印や記号はHTML側に実文字で書いてある。
   ------------------------------------------------------------ */
.blog-sign{
  margin:clamp(48px,7vw,80px) 0 0;
  padding:clamp(28px,4vw,44px) clamp(20px,4vw,48px);
  background:#F6F1DD;
  border-top:3px solid #1F7A3E;
  color:#2B2B28;
  text-align:center;
}
.blog-sign__t{
  margin:0 0 6px;
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
  font-weight:500;
  font-size:clamp(20px,2.6vw,30px);
  line-height:1.5;
  color:#1c1e1d;
}
.blog-sign__s{
  margin:0 0 14px;
  font-size:clamp(13.5px,1.6vw,15.5px);
  font-weight:700;
  color:#1F7A3E;
}
.blog-sign__lead{
  margin:0 auto 24px;
  max-width:46em;
  font-size:15px;
  line-height:2;
}
.blog-sign__btns{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:center;
}
.blog-sign__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-width:260px;
  min-height:56px;
  padding:0 28px;
  background:#1F7A3E;
  color:#fff;
  font-size:15.5px;
  font-weight:700;
  line-height:1.4;
  text-decoration:none;
  border:1px solid #1F7A3E;
  border-radius:0;
  transition:background .3s ease,color .3s ease;
}
.blog-sign__btn:hover{ background:#175E30; border-color:#175E30; color:#fff; }
.blog-sign__btn--tel{ background:#fff; color:#1F7A3E; }
.blog-sign__btn--tel:hover{ background:#175E30; border-color:#175E30; color:#fff; }
.blog-sign__info{
  margin-top:26px;
  padding-top:20px;
  border-top:1px solid #E3DCC4;
  font-size:13.5px;
  line-height:1.9;
  color:#6E6E64;
}
.blog-sign__info p{ margin:0; }
.blog-sign__name{ font-weight:700; color:#2B2B28; }
@media(max-width:699px){
  .blog-sign{ text-align:left; }
  .blog-sign__btns{ justify-content:stretch; }
  .blog-sign__btn{ width:100%; min-width:0; }
}

/* ------------------------------------------------------------
   R-4 JS前提の初期非表示のフォールバック
   .rv は html.js が付いた時だけ透明にする（BODY内JSの1行目で付く）。
   JSが動かない環境では本文がそのまま見える。
   ------------------------------------------------------------ */
html:not(.js) .rv{ opacity:1 !important; transform:none !important; }

/* KEEP: 実機の追加CSS欄から回収した「CueZillaパーツ対応CSS」（2026-09-24 回収）
   出典: https://cdn.cuezilla-cms.com/css/add/1551/add.css の末尾 30,108字・133セレクタ。
   組立側が実機を見ながら書いた分で、案件フォルダには控えが無かった。
   ★消すと ブログ一覧・記事詳細・保有機械・トップのブログカード／NEWS帯 が素に戻り、
     スマホのハンバーガーが横並びに戻る（(12) の不具合修正を含むため）。
   中身: (0)動的トークンを緑へ固定 (1)版面 (2)見出し (3)2段組 (4)カード (5)ページネーション
         (6)サイドバー (7)記事詳細 (8)保有機械一覧 (9)保有機械詳細 (10)トップのブログカード
         (11)トップNEWS帯 (12)SPハンバーガー横並び修正 (13)ボタンhoverの文字沈み (14)必須バッジ
   ★ここは実機が正本。次に貼り直すときも、先に実機を curl で回収して差分を見ること。 */
/* ============================================================
   O01654 十津川造林 ─ CueZilla ブログ一覧（/blog）を
   受領データ（3_DESIGNER修正後/blog.html）の意匠に合わせる
   ------------------------------------------------------------
   ・このサイトは CueZilla テーマCSSを読み込まない構成のため、
     一覧パーツは skin が当たる範囲以外が素のまま出ていた。
     受領デザインの .bloglay / .cards / .card / .side__* に相当する
     体裁を、パーツ採番に依存しない接尾辞セレクタで与える。
   ・色は具体値（安全契約 1：グローバル変数非依存）。
     出典は 16_site.combined.css :root の確定値
     --main-d:#1F7A3E / --main-dd:#175E30 / --txt:#2B2B28
     --sub:#6E6E64 / --line:#d7e2d4 / --bg2:#f1f6ef
   ============================================================ */

/* --- (0) 動的パーツ共通トークンを案件の緑へ固定 -----------------
   CMSのテーマカラー6値（18_theme-vars.txt）が未入力だと
   --main-color が無く、skin の既定色（紺 #1e3a5f）が出る。
   ここで具体値に固定して、未入力でも緑で出るようにする。 */
:root{
  --dyn-bg:#ffffff;
  --dyn-surface:#ffffff;
  --dyn-text:#2B2B28;
  --dyn-heading:#175E30;
  --dyn-muted:#6E6E64;
  --dyn-border:#d7e2d4;
  --dyn-accent:#1F7A3E;
  --dyn-accent-2:#175E30;
  --dyn-on-accent:#ffffff;
  --dyn-radius:0px;
  --dyn-card-min:240px;
  --dyn-gap:clamp(20px,3vw,32px);
}

/* --- (1) 版面：受領デザインの .sec + .wrap-n（最大1500px） ------ */
[class*="_section"]:has([class*="_post_list"]){
  width:min(100% - 40px,1500px) !important;
  max-width:none !important;
  margin-inline:auto !important;
  padding:clamp(52px,6vw,92px) 0 !important;
  background:#fff !important;
}

/* --- (2) 見出し（受領デザイン .snum「Latest posts」＋ .h2） -----
   skin は一覧パーツ直下の素の h2 を隠すが、受領デザインは
   ここに見出しブロックを持つので、出して体裁を合わせる。
   ※h2 の文言はパーツ設定側の値（現在「ブログ」）。 */
[class*="_section"]:has([class*="_post_list"]) > h2{
  display:block !important;
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif !important;
  font-weight:500 !important;
  font-size:clamp(26px,3.2vw,40px) !important;
  color:#1c1e1d !important;
  margin:0 0 26px !important;
  padding:0 !important;
  background:none !important;
  border:0 !important;
  text-align:left !important;
}
[class*="_section"]:has([class*="_post_list"]) > h2::before{
  content:"Latest posts";
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 16px;
  font-family:"Jost",sans-serif;
  font-size:clamp(22px,3.2vw,34px);
  font-weight:700;
  letter-spacing:.16em;
  color:#1F7A3E;
}
[class*="_section"]:has([class*="_post_list"]) > h2::after{
  content:"";
  display:block;
}

/* --- (3) 本文＋サイドバーの2段組（受領デザイン .bloglay） ------- */
[class*="_wrap"]:has(> [class*="_sidebar"]){
  display:grid !important;
  gap:32px !important;
  align-items:start !important;
  width:100% !important;
  max-width:none !important;
  padding:0 !important;
}
@media (min-width:1000px){
  [class*="_wrap"]:has(> [class*="_sidebar"]){
    grid-template-columns:minmax(0,1fr) 300px !important;
  }
}
[class*="_main"]{ width:auto !important; max-width:none !important; min-width:0 !important; }

/* --- (4) カード（受領デザイン .card / .card__b / .blog__t） -----
   受領デザインの下層トンマナ（2026-09-11）は
   枠なし・影なし・角なし・ホバー移動なしのフラットカード。 */
[class*="_post_wrap"]{
  background:#fff !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  transition:none !important;
}
[class*="_post_wrap"]:hover{
  transform:none !important;
  box-shadow:none !important;
  border-color:transparent !important;
}
[class*="_post_wrap"] a{ text-decoration:none !important; color:inherit !important; }
[class*="_post_img"]{ aspect-ratio:3/2 !important; border-radius:0 !important; }
[class*="_post_status"]{ margin:26px 0 0 !important; padding:0 !important; }
[class*="_post_date"]{
  font-family:"Jost",sans-serif !important;
  font-size:12.5px !important;
  color:#6E6E64 !important;
  letter-spacing:.06em !important;
  border:0 !important;
  padding:0 !important;
  background:none !important;
}
[class*="_post_title-excerpt"]{ padding:10px 0 0 !important; }
[class*="_post_title"]{
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif !important;
  font-size:16.5px !important;
  line-height:1.7 !important;
  font-weight:500 !important;
  color:#1c1e1d !important;
  margin:0 !important;
}
/* ★日付は「チップ」ではない。
   skin §4 の `[class*="_post_status"] > span:last-child`（カテゴリチップ装飾）は、
   カテゴリ未設定の投稿では *日付 span* が last-child になるため日付に緑枠が付く。
   同詳細度でこちらが後に来るので打ち消せる（このブロックはCSS末尾に置くこと）。 */
[class*="_post_status"] > span[class*="_post_date"]{
  border:0 !important;
  border-radius:0 !important;
  background:none !important;
  padding:0 !important;
  color:#6E6E64 !important;
  font-family:"Jost",sans-serif !important;
  font-size:12.5px !important;
  letter-spacing:.06em !important;
}

/* 一覧カード内のカテゴリチップ（投稿にカテゴリが付いたとき） */
[class*="_post_category"]:not([class*="_sidebar"]){
  border:0 !important;
  border-radius:999px !important;
  background:#f1f6ef !important;
  color:#1F7A3E !important;
  font-size:11.5px !important;
  letter-spacing:.04em !important;
  padding:3px 12px !important;
}

/* --- (5) ページネーション ------------------------------------- */
[class*="_pagenation"]{
  display:flex !important;
  flex-wrap:wrap;
  justify-content:center !important;
  align-items:center;
  gap:8px !important;
  margin:48px 0 0 !important;
  padding:0 !important;
  border:0 !important;
  background:none !important;
}
[class*="_pagenation"] > span{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-width:40px;
  height:40px;
  padding:0 12px !important;
  border:1px solid #d7e2d4 !important;
  background:#fff !important;
  color:#2B2B28 !important;
  font-size:13px !important;
  line-height:1 !important;
}
/* 数字ボタンは bootstrap の .d-none.d-xl-block を尊重（xl未満は非表示のまま） */
@media (min-width:1200px){
  [class*="_pagenation"] > span.pagination_num{ display:inline-flex !important; }
}
[class*="_pagenation"] > span.current{
  background:#1F7A3E !important;
  border-color:#1F7A3E !important;
  color:#fff !important;
}
/* ★theme_default は各ボタンの内側 ＜a＞ に
   `border:1px solid var(--main-color); padding:15px 20px; background:#fff`
   を付ける。上の span 側の箱と二重枠になるので、＜a＞ は箱をやめて
   span いっぱいに広がる当たり判定だけにする（2026-09-24 デフォルトCSS有効化後）。 */
[class*="_pagenation"] a{
  display:flex !important;
  align-items:center;
  justify-content:center;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:none !important;
  color:inherit !important;
  font-size:inherit !important;
  font-weight:inherit !important;
  text-decoration:none !important;
}
/* 押せない端（<<最初 / << / 次へ>> / 最後>>）は箱ごと淡くする */
[class*="_pagenation"] > span:has(a.pe-none),
[class*="_pagenation"] > span.disabled{ opacity:.4 !important; }

/* --- (6) サイドバー（受領デザイン .side / .side__*） ------------ */
[class*="_sidebar"]{
  display:grid !important;
  gap:24px !important;
  align-content:start;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}
[class*="_sidebar_wrap"]{
  border:1px solid #d7e2d4 !important;
  border-radius:0 !important;
  overflow:hidden !important;
  background:#fff !important;
  margin:0 !important;
  padding:0 !important;
}
[class*="_sidebar_wrap"] > h3{
  margin:0 !important;
  padding:11px 16px !important;
  background:#1F7A3E !important;
  color:#fff !important;
  font-family:inherit !important;   /* 受領デザインの .side__hd は書体指定なし＝body(Noto Serif JP)を継承 */
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1.6 !important;
  letter-spacing:.04em !important;
}
[class*="_sidebar_wrap"] > ul{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
  font-size:13px !important;
}
[class*="_sidebar_wrap"] > ul > li{
  border-bottom:1px solid #d7e2d4 !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
[class*="_sidebar_wrap"] > ul > li:last-child{ border-bottom:0 !important; }
[class*="_sidebar_wrap"] > ul > li > a{
  display:block !important;
  padding:11px 16px !important;
  text-decoration:none !important;
  color:#2B2B28 !important;
}
[class*="_sidebar_wrap"] > ul > li > a:hover{ background:#f1f6ef !important; }
[class*="_sidebar_date"]{
  display:block !important;
  margin:0 0 4px !important;
  padding:0 !important;
  font-family:"Jost",sans-serif !important;
  font-size:11.5px !important;
  color:#6E6E64 !important;
  letter-spacing:.06em !important;
  border:0 !important;
  background:none !important;
}
[class*="_sidebar_post_title"]{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  font-family:inherit !important;   /* 受領デザインの .side__t も書体指定なし＝body継承 */
  font-size:13px !important;
  line-height:1.6 !important;
  font-weight:700 !important;
  color:#175E30 !important;
}
/* カテゴリ：名前と件数バッジを左右に振る */
.category_post_count > ul > li > a{
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
[class*="_sidebar_post_category"]{
  margin:0 !important;
  padding:0 !important;
  font-size:13px !important;
  font-weight:400 !important;
  color:#2B2B28 !important;
  border:0 !important;
  background:none !important;
}
[class*="_sidebar_post_category_count"]{
  flex:none;
  min-width:22px;
  height:22px;
  display:grid !important;
  place-items:center;
  border:0 !important;
  border-radius:4px !important;
  background:#f1f6ef !important;
  color:#6E6E64 !important;
  font-family:"Jost",sans-serif !important;
  font-size:11.5px !important;
  padding:0 !important;
}

/* ============================================================
   (7) 記事詳細（parts###_single_article）を
       受領データ 3_DESIGNER修正後/blog-renewal.html に合わせる
   ------------------------------------------------------------
   受領デザインの並びは「日付＋カテゴリ → タイトル → 本文」。
   CueZillaのパーツは「タイトル → 日付」の順で出すので、
   article を flex 化して .article_status を order:-1 で持ち上げる
   （DOM順は変えないので読み上げ順・構造化データは不変）。
   SNSボタン／カテゴリ／前後記事／最近の投稿は受領デザインに
   無い要素なので、消さずに受領の意匠言語（.side__box 等）へ寄せる。
   ============================================================ */

[class*="_single_article"]{
  padding:clamp(52px,6vw,92px) 0 !important;
  background:#fff !important;
}
[class*="_single_article"] > .container{
  width:min(100% - 40px,1500px) !important;
  max-width:none !important;
  margin-inline:auto !important;
  padding:0 !important;
}
/* ★本文枠の幅は theme_default の既定（.article_wrap max-width:730px）に任せる。
   受領データ（blog-renewal.html）は .wrap-n＝最大1500px だが、
   17px 本文を1500px幅で流すと読みにくいため、ここだけテーマ既定を採用
   （2026-09-24 ディレクター判断「CSSを当てなかった場合のサイズで」）。
   ※受領どおり1500pxにしたい場合は
     [class*="_single_article"] .article_wrap{ max-width:none !important; } を足す。 */
[class*="_single_article"] .article_wrap > article{
  display:flex !important;
  flex-direction:column !important;
}
[class*="_single_article"] .article_wrap > article > .article_status{ order:-1 !important; }

/* 日付＋カテゴリ（受領デザイン .blog__d）
   ★.article_status のマークアップは ＜span 日付>｜＜span カテゴリ> で、
     2つの span の間に素の「|」テキストノードが入っている。
     カテゴリ未設定だと「2026.09.24|」と区切りだけが残るので、
     親を font-size:0 にして素テキストを消し、span 側で字を戻す
     （gap:12px が区切りの役目を果たす）。 */
.article_status{
  display:flex !important;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  margin:0 0 4px !important;
  padding:0 !important;
  font-size:0 !important;
  color:#6E6E64 !important;
  letter-spacing:.06em !important;
}
.article_date,
.article_status .article_category{
  font-size:12.5px !important;
  color:#6E6E64 !important;
  border:0 !important;
  padding:0 !important;
  background:none !important;
}
.article_date{ font-family:"Jost",sans-serif !important; }

/* タイトル（受領デザイン .h2） */
[class*="_single_article"] .card-title{
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif !important;
  font-size:clamp(26px,3.2vw,40px) !important;
  font-weight:500 !important;
  color:#1c1e1d !important;
  margin:0 0 26px !important;
}

/* 本文（17px / 行間2.0 は body 既定のまま。段落間だけ受領に合わせる） */
[class*="_single_article"] .article_wrap > article > p{ margin:0 0 24px !important; }

/* SNSボタン */
.sns_button_wrap{
  display:flex !important;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:34px 0 0 !important;
  padding:0 !important;
}

/* カテゴリ表示（フォルダアイコン＋名称） */
.article_category_wrap{
  display:flex !important;
  align-items:center;
  gap:6px;
  margin:20px 0 0 !important;
  padding:0 !important;          /* theme_default の灰色帯（背景＋余白）を外す */
  background:none !important;
  border:0 !important;
  font-size:12.5px !important;
  color:#6E6E64 !important;
  letter-spacing:.06em;
}
.article_category_wrap img{ width:14px !important; height:14px !important; opacity:.6; }

/* 前後記事 */
.article_prevnext_wrap{
  display:flex !important;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:16px;
  margin:40px 0 0 !important;
  padding:24px 0 0 !important;
  border-top:1px solid #d7e2d4 !important;
}
/* theme_default は前後記事の各セルを枠付きカードにする。受領デザインに
   枠付きカードは無いので、区切りは上の border-top 1本だけにする。 */
.article_prevnext_wrap > div{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:none !important;
}
.article_prevnext_wrap a{
  text-decoration:none !important;
  color:#175E30 !important;
  font-size:14px !important;
  font-weight:700;
}
.article_prevnext_wrap a:hover{ color:#1F7A3E !important; }
.article_next{ margin-left:auto; text-align:right; }

/* 最近の投稿（受領デザイン .side__box と同じ体裁） */
.recent_posts_wrap{
  margin:56px 0 0 !important;   /* 幅は指定しない＝本文枠（テーマ既定730px）に従う */
  padding:0 !important;
  border:1px solid #d7e2d4 !important;
  border-radius:0 !important;
  overflow:hidden !important;
  background:#fff !important;
}
.recent_post_title{
  margin:0 !important;
  padding:11px 16px !important;
  background:#1F7A3E !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1.6 !important;
  letter-spacing:.04em !important;
}
.recent_posts_wrap ul{ list-style:none !important; margin:0 !important; padding:0 !important; }
.recent_posts_wrap ul li{
  border-bottom:1px solid #d7e2d4 !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.recent_posts_wrap ul li:last-child{ border-bottom:0 !important; }
.recent_posts_wrap ul li a{
  display:block !important;
  padding:11px 16px !important;
  text-decoration:none !important;
  color:#2B2B28 !important;
}
.recent_posts_wrap ul li a:hover{ background:#f1f6ef !important; }
.recent_post_date{
  display:block !important;
  margin:0 0 4px !important;
  padding:0 !important;
  font-family:"Jost",sans-serif !important;
  font-size:11.5px !important;
  color:#6E6E64 !important;
  letter-spacing:.06em !important;
}
.recent_posts_wrap ul li h3{
  margin:0 !important;
  font-size:13px !important;
  line-height:1.6 !important;
  font-weight:700 !important;
  color:#175E30 !important;
}

/* ============================================================
   (8) 保有機械 一覧（/blog-ex/instance ＝ 施工実績パーツ）を
       受領データ 3_DESIGNER修正後/blog-ex-instance.html に合わせる
   ------------------------------------------------------------
   カード自体は (4)(5) の接尾辞セレクタがそのまま効くので、
   ここで足すのは「版面」と「列数」と「タグチップ」だけ。
   受領デザインは .wrap（最大1500px）に .cards--4 で
   4列（1100px以上）／2列（640-1099px）／1列（639px以下）。
   theme_default は _wrap に display:flex と max-width:1180px を
   敷くので外す。ブログ一覧（サイドバー有り）と列数の条件が違うため、
   下層ヘッダーブロックのページクラスでこのページだけに限定する。
   ============================================================ */

body:has(.pg-blog-ex-instance) [class*="_section"] > [class*="_wrap"]{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  padding:0 !important;
}
body:has(.pg-blog-ex-instance) [class*="_main"]{
  width:100% !important;
  max-width:none !important;
}
@media (min-width:1100px){
  body:has(.pg-blog-ex-instance) [class*="_post_list"]{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
}
@media (min-width:640px) and (max-width:1099px){
  body:has(.pg-blog-ex-instance) [class*="_post_list"]{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width:639px){
  body:has(.pg-blog-ex-instance) [class*="_post_list"]{
    grid-template-columns:minmax(0,1fr) !important;
  }
}
/* 機種名は受領デザインの .h3（.blog__t ではない） */
body:has(.pg-blog-ex-instance) [class*="_post_title"]{
  font-size:clamp(17px,2.2vw,21px) !important;
  margin:0 0 8px !important;
}

/* タグ（受領デザインに無い要素。一覧カードのカテゴリチップと同じ体裁に寄せる）
   ★マークアップは ＜div .tag_wrap> > ＜a＞ > ＜span .parts-blog-ex_tag> の2階層で、
     チップの実体は内側の span。＜a＞ 側にチップ装飾を当てると
     「チップの中にチップ」の二重表示になる（2026-09-24 実機で確認）。
     装飾は span に置き、＜a＞ は当たり判定だけにする。
   ★theme_default は tag_wrap に padding:0 16px 14px を敷くので外す
     （タイトルより16px内側にずれて見える原因）。 */
.parts-blog-ex-tag_wrap{
  display:flex !important;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  margin:10px 0 0 !important;
  padding:0 !important;
}
.parts-blog-ex-tag_wrap a{
  display:inline-flex !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:none !important;
  text-decoration:none !important;
}
.parts-blog-ex_tag{
  display:inline-block !important;
  margin:0 !important;
  border:0 !important;
  border-radius:999px !important;
  background:#f1f6ef !important;
  color:#1F7A3E !important;
  font-size:11.5px !important;
  letter-spacing:.04em !important;
  line-height:1.6 !important;
  padding:3px 12px !important;
}
/* タグが無い投稿では空の ＜a＞ が1個出る（中身なしのチップになる）ので隠す */
.parts-blog-ex-tag_wrap a:empty{ display:none !important; }

/* ============================================================
   (9) 保有機械 詳細（/blog-ex/instance/＜id＞）の見出し
   ------------------------------------------------------------
   このページの本文ラッパーは .parts-blog-ex_text で、記事詳細
   （(7) の parts###_single_article）とはクラス系統が違うため
   (7) のルールが届かない。見出しはブログ記事詳細と同じにする
   （2026-09-24 ディレクター判断「ブログ記事詳細と同じ見出しに揃える」）。
   ★skin の `.parts-blog-ex_text h2` は書体と色だけを当てるので、
     太さ（theme の f_bold=700）とサイズ・余白をここで受領デザインの
     .h2 に合わせ、--dyn-heading 由来の緑も黒へ戻す。
   ============================================================ */

.parts-blog-ex_text h2{
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif !important;
  font-size:clamp(26px,3.2vw,40px) !important;
  font-weight:500 !important;
  color:#1c1e1d !important;
  margin:0 0 26px !important;
  /* ★揃えは触らない＝theme 既定の中央寄せのまま
     （2026-09-24 ディレクター判断「なにもCSS当てなかった時と同じ位置に」）。
     ※ブログ記事詳細の見出しはテーマ既定が左寄せで、こちらは中央寄せ。
       揃えを統一したくなったら text-align:left !important; を足す。 */
}

/* ============================================================
   (10) トップページの動的ブログカード（parts###_blog）を
        受領データ 3_DESIGNER修正後/index.html の
        ＜section class="sec sec--blogbg"> のカード（.blog / .blog__i）に寄せる
   ------------------------------------------------------------
   受領は「緑グラデ地・2列（560px以下1列）・gap16px・3:2写真・白文字」。
   パーツ側は bootstrap の .row-cols-lg-3 ＋ 白カード（padding付き）で、
   しかも ＜a＞ の中が「タイトル → 写真」の順なので order で入れ替える。
   ★theme_default は thumbnail の img に max-height:240px の頭打ちを
     入れるので、height:100% だけでは 3:2 にならない（要 max-height:none）。
   ★パーツはトップページにしか置かないが、接尾辞 _blog は他パーツにも
     当たりうるので、下層ヘッダーのページクラスでトップに限定する。
   ※受領との差（CSSでは埋められない）:
     ・受領は写真の下に「日付」が入るが、パーツは日付を出力しない
       （ボタンの並び順は 2026-09-24 にCMS側でパーツの後ろへ移動して解決済み）
   ============================================================ */

/* ★グラデは 135deg ではなく 90deg（横方向）。
   受領は1つの .sec--blogbg の中に見出し・カード・ボタンが入るので
   135deg でも1枚の面になるが、CMSでは「見出しブロック／パーツ／
   ボタンブロック」の3要素に分かれており、135deg だと各ブロックが
   自分の箱の中でグラデを描き直すため境目で色が飛ぶ
   （2026-09-24 ディレクター指摘「緑の背景が違う」）。
   横グラデなら y に依らず同じ色になり、3ブロックが継ぎ目なく繋がる。
   ※サイトの .mq / .hstage も 90deg グラデなので意匠上も外れない。 */
body:has(.pg-index) section[class*="_blog"]{
  background:linear-gradient(90deg,#1c4d2e 0%,#2f7c46 100%) !important;
  padding:0 !important;   /* 上の見出しブロック・下のボタンブロックと1つの緑面に見せる */
}
/* 見出しブロック側も同じ横グラデに。余白は受領の縦リズムに合わせる
   （section padding-top clamp(56,9vw,88) → 見出し → .blog の margin-top 40px） */
body:has(.pg-index) section.sec--blogbg{
  background:linear-gradient(90deg,#1c4d2e 0%,#2f7c46 100%) !important;
  padding:clamp(56px,9vw,88px) 0 40px !important;
}
body:has(.pg-index) section[class*="_blog"] > .container-lg{
  width:min(100% - 40px,1500px) !important;
  max-width:none !important;
  margin-inline:auto !important;
  padding:0 !important;
}
/* パーツ側の見出し枠は空（見出しは受領の自由HTML側が持つ） */
body:has(.pg-index) section[class*="_blog"] [class*="_blog_title_wrap"]{ display:none !important; }
body:has(.pg-index) section[class*="_blog"] .card-title{ display:none !important; }

/* ★列数は受領の2列ではなく4列。
   受領の .blog は2列だが記事3件前提で、1500px幅だと1枚 742×495px になり
   写真が大きすぎる（2026-09-24 ディレクター指摘「画像鬼でかいから縮めて」
   →3列にしたが「もう少し小さく」で4列＝1枚 363×242px に確定）。 */
body:has(.pg-index) section[class*="_blog"] .row{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:clamp(20px,3vw,32px) !important;   /* 受領は2列前提の16px。4列では詰まるのでサイト標準の .cards と同じ間隔に */
  margin:0 !important;
}
@media (max-width:1199px){
  body:has(.pg-index) section[class*="_blog"] .row{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
}
@media (max-width:991px){
  body:has(.pg-index) section[class*="_blog"] .row{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width:575px){
  body:has(.pg-index) section[class*="_blog"] .row{ grid-template-columns:minmax(0,1fr) !important; }
}
body:has(.pg-index) section[class*="_blog"] .col{ width:auto !important; padding:0 !important; }

/* 受領のカードはフラット（白地・枠・余白なし） */
body:has(.pg-index) section[class*="_blog"] .card{
  background:none !important;
  border:0 !important;
  padding:0 !important;
  box-shadow:none !important;
}
body:has(.pg-index) section[class*="_blog"] .card-body{ padding:0 !important; }

/* 並びを 写真 → タイトル に入れ替え（DOM順はタイトルが先） */
body:has(.pg-index) section[class*="_blog"] .card-body > a{
  display:flex !important;
  flex-direction:column !important;
  color:#fff !important;
  text-decoration:none !important;
}
body:has(.pg-index) section[class*="_blog"] .card-text{
  order:2 !important;
  margin:10px 0 0 !important;
  font-size:16.5px !important;
  line-height:1.7 !important;
  font-weight:500 !important;
  color:#fff !important;
}
body:has(.pg-index) section[class*="_blog"] [class*="_blog_thumbnail"]{
  order:1 !important;
  margin:0 !important;
  height:auto !important;
  aspect-ratio:3/2 !important;
  overflow:hidden !important;
}
body:has(.pg-index) section[class*="_blog"] [class*="_blog_thumbnail"] img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-height:none !important;   /* theme の max-height:240px 頭打ちを外す */
  min-height:0 !important;
  object-fit:cover !important;
}

/* 「お知らせ一覧を見る」ボタンのブロック
   受領デザインではボタンは .sec--blogbg（緑グラデ）の中にあるが、
   CMSでは自由HTMLの別ブロック（div.pg-index-c > .btn-row）として
   ブログパーツの後ろに置かれており、.pg-index の子孫ではないので
   `.pg-index .sec--blogbg` の緑地が当たらず白地のまま出ていた。
   （2026-09-24 ディレクターがボタンをパーツの後方へ移動 → 背景を揃える）
   ★このページで直下に .btn-row を持つ pg-index-c はこの1件だけ。 */
body:has(.pg-index) div.pg-index-c:has(> .btn-row){
  background:linear-gradient(90deg,#1c4d2e 0%,#2f7c46 100%) !important;
  padding:clamp(32px,4vw,48px) 0 clamp(56px,9vw,88px) !important;
}
body:has(.pg-index) div.pg-index-c:has(> .btn-row) .btn-row{
  justify-content:center !important;
  margin:0 !important;
}
/* 受領の .sec--blogbg .btn は緑地の上で白枠が付く */
body:has(.pg-index) div.pg-index-c:has(> .btn-row) :is(.btn,.btn--o){
  border:1px solid #fff !important;
}

/* サムネ未設定の投稿には CueZilla が no_image.png（不透明な灰色）を出す。
   一度これを受領デザインの .blog__ph（半透明の白枠）へ差し替えたが、
   2026-09-24 ディレクター判断「no_image はとりあえず出してみる」で
   パーツ既定のまま表示する。差し替えたい場合は下を有効化する。
   body:has(.pg-index) section[class*="_blog"] [class*="_blog_thumbnail"]:has(img[src*="no_image"]){
     background:rgba(255,255,255,.14) !important;
     border:1px solid rgba(255,255,255,.55) !important;
   }
   body:has(.pg-index) section[class*="_blog"] [class*="_blog_thumbnail"] img[src*="no_image"]{
     display:none !important;
   }
*/

/* ============================================================
   (11) トップの NEWS 帯（design-parts-52）を
        受領データ 3_DESIGNER修正後/index.html の
        ＜div class="newssec"> に合わせる
   ------------------------------------------------------------
   受領は「濃緑 #13301f の帯・左に NEWS ラベル（Jost・黄緑）・
   右に 日付＋タイトルの白文字リスト」。
   パーツ既定は「生成りの白地・黄色の NEWS バッジ・黒字の箇条書き」
   なので、地色・ラベル・リストを受領側へ寄せる。
   ★濃緑地にするので文字を白にしないと読めない。ラベルと背景だけ
     ではなくリストの色まで込みで1セット（2026-09-24 判断）。
   ★パーツ採番は design-parts-52_<ハッシュ> と可変なので前方一致で当てる。
   ============================================================ */

section[class*="design-parts-52"]{
  background:#13301f !important;
  padding:clamp(36px,4.6vw,60px) 0 !important;
}
section[class*="design-parts-52"] > .container{
  width:min(100% - 40px,1500px) !important;
  max-width:none !important;
  margin-inline:auto !important;
  padding:0 !important;
}
section[class*="design-parts-52"] .content{
  display:grid !important;
  gap:clamp(18px,3vw,48px) !important;
  grid-template-columns:minmax(0,200px) minmax(0,1fr) !important;
  /* ★上端そろえ（start）だと 40px の NEWS に対して小さいリスト文字だけが
     上に浮いて見える（2026-09-24 ディレクター指摘「NEWSのタイトルの位置きもい」）。
     文字の足元（ベースライン）を揃えると収まる。1列になる780px以下では無効。 */
  align-items:baseline !important;
  max-width:none !important;
}
@media (max-width:780px){
  section[class*="design-parts-52"] .content{ grid-template-columns:minmax(0,1fr) !important; }
}

/* NEWS ラベル（受領 .news2__lb）。既定は黄色バッジ＋中央寄せの flex */
section[class*="design-parts-52"] .banner-area{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  background:none !important;
  border:0 !important;
  text-align:left !important;
  font-family:"Jost",sans-serif !important;
  font-size:clamp(28px,3.2vw,40px) !important;
  font-weight:500 !important;
  letter-spacing:.12em !important;
  line-height:1.2 !important;
  color:#7ec84b !important;
}

/* リスト（受領 .news2__list） */
section[class*="design-parts-52"] ul{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}
section[class*="design-parts-52"] li{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;   /* 既定の padding:0 15px で行が右にずれる */
}
section[class*="design-parts-52"] li + li{
  border-top:1px solid rgba(255,255,255,.18) !important;
}
section[class*="design-parts-52"] li > a{
  display:block !important;
  padding:14px 0 !important;
  color:#fff !important;
  text-decoration:none !important;
}
section[class*="design-parts-52"] .parts-52-textarea{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) !important;
  gap:8px 24px !important;
  align-items:baseline !important;
  margin:0 !important;
  padding:0 !important;
}
@media (max-width:560px){
  section[class*="design-parts-52"] .parts-52-textarea{
    grid-template-columns:minmax(0,1fr) !important;
    gap:4px !important;
  }
}
section[class*="design-parts-52"] .date{
  font-family:"Jost",sans-serif !important;
  font-size:14px !important;
  letter-spacing:.08em !important;
  color:#fff !important;
}
section[class*="design-parts-52"] .parts-52-textarea > span:not(.date){
  font-size:15.5px !important;
  font-weight:500 !important;
  color:#fff !important;
}
section[class*="design-parts-52"] li > a:hover .parts-52-textarea > span:not(.date){
  text-decoration:underline !important;
}

/* ============================================================
   (12) スマホのハンバーガーメニューが横並びになる不具合
   ------------------------------------------------------------
   症状：1279px以下でメニューを開くと、左に細いメニュー列（159px）・
   右に縦長の緑「お問い合わせ」（146×585px）という横並びになる。
   受領デザインは縦積みで、お問い合わせは最下部に横いっぱいのボタン。
   （2026-09-24 ディレクター指摘「スマホメニューが全然違う」
     「受領データだと問い合わせが下にある」）

   原因：PC用の `.hdr__grp .nav{ display:flex; align-items:center;
   justify-content:flex-end; height:100%; flex:1 }` がメディアクエリの
   外にあり、モバイル用の `.nav{ position:fixed; ... }`（(0,1,0)）より
   詳細度が高い(0,2,0)ため、パネル内部だけ PC のフレックス行が残る。
   → 1279px以下で縦積みに戻す。

   ★`.nav__list > li` の display は触らないこと。触ると受領の
     `@media(max-width:1279px){ .nav__list > li.nav__ig{display:none} }`
     を潰して Instagram アイコンが巨大表示される（実測で確認）。
   ============================================================ */

@media (max-width:1279px){
  .hdr__grp .nav{
    display:block !important;
    flex:none !important;
    height:auto !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    padding:24px 20px 120px !important;
    background:#fff !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }
  .hdr__grp .nav__list{
    display:block !important;
    height:auto !important;
    align-items:stretch !important;
    width:100% !important;
  }
  .nav__cta{ width:100% !important; }
}

/* ============================================================
   (13) ボタンのホバーで文字が沈む
   ------------------------------------------------------------
   症状：お問い合わせボタン等にホバーすると、地は受領どおり濃緑
   （#175E30）に変わるのに、文字だけ本文色（#2B2B28）になって沈む。
   （2026-09-24 ディレクター指摘「といあわせボタンのホバー時の挙動」）

   原因：skin の `a:hover{ color:inherit; }`（Bootstrap のリンク青
   #0a58ca 対策・詳細度(0,1,1)）が、受領CSSの
   `.btn:hover / .hdr__cta:hover{ color:#fff }`（同じ(0,1,1)）より
   **後ろにある**ため勝ってしまい、文字色が親から継承されてしまう。

   → skin 側は触らず（Bootstrap青対策は残す）、受領の hover 仕様を
     後ろで再宣言して取り戻す。地色は受領CSSがそのまま効いている
     ので、ここで指定するのは文字色だけでよい。
   ★`.spcta a`（スマホ下部の電話ボタン）は白地・緑文字なので対象外。
     緑地の `.is-main` だけ白文字にする。
   ============================================================ */

a.btn:hover,
a.btn--o:hover,
a.btn--pink:hover,
a.vbtn:hover,
a.hdr__cta:hover,
a.nav__cta:hover,
.spcta a.is-main:hover{
  color:#fff !important;
}

/* ============================================================
   (14) フォームの「必須」バッジが詰まる
   ------------------------------------------------------------
   症状：/form/inquiry をスマホで見ると「必須」の文字がバッジから
   はみ出して詰まって見える（2026-09-24 ディレクター指摘「必須がきちきち」）。

   原因：theme_default が `.required{ width:35px; height:20px }` と
   サイズを固定しており、box-sizing:border-box のため skin の
   `padding:6px 12px` ＋ 14px の「必須」（28px幅）が 35px の箱に
   収まらない（実測 35×20px に対し中身は 52×26px 必要）。

   → サイズ固定を解除して中身なりに広がるようにする。

   あわせて地色だけ受領デザインの必須バッジに合わせる
   （2026-09-24 ディレクター指示「ピンクいったんよろ」→
     受領どおり11px・丸ピルにしたら「ちっさちっさ 色だけ揃えなよ」）。
   出典：3_DESIGNER修正後/form-inquiry.html の `.form .req` の
   background:var(--accent-d) ＝ #C9647F。
   ★大きさ・角丸は skin のまま（14px / padding:6px 12px / 直角）。
     受領の 11px・丸ピルにはしない。
   ============================================================ */

.required{
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  background:#C9647F !important;
  color:#fff !important;
}
/* /KEEP */

/* KEEP: 2026-09-24 クライアント指摘（TOP「林業を次の世代へつなぐ」スライダー2枚目）
   ------------------------------------------------------------
   指摘：ガイダンス画像（next-slide-02）の一番手前・左下の眼鏡の人物が
   映らないように表示範囲を調整してほしい。

   人物は画像の左下（横0〜13%・縦74%より下）にいる。枠の縦横比は
   スマホ 3:2（画像と同比率＝object-position では切れない）〜PC 0.6〜1.6 と
   幅で大きく変わるため、横位置だけでは全幅で外せない。
   → 1.4倍に拡大して上端揃えにする（見えるのは縦 0〜71% ＝人物の頭より上）。
     横は右寄せ85%にして、説明している女性とスクリーンを画面内に残す。
   ★transform は .pg-index .mslider img{transform:none!important} で
     殺されているため、独立プロパティ scale を使う（transform とは別物）。

   ★2026-09-24 追記：CSSでの切り抜きは撤去。
   画像そのものを Photoshop で修正（人物を消去）した IMG_7387.JPG に差し替え、
   4_CueZilla用コード/images-webp/next-slide-02.webp を作り直した。
   修正済み画像に拡大・寄せを掛けると余計に切れるため、ここには何も書かない。
   ★「人物が映る」と再指摘されても、ここで切り抜きを復活させない
     （まず CDN の next-slide-02.webp が修正版に差し替わっているかを確認する）。
   ============================================================ */
/* /KEEP */

/* KEEP: 2026-09-24 クライアント指摘（地域との取り組み「ふるさと納税の返礼品にもなっています」）
   ------------------------------------------------------------
   指摘：緑カードの各項目タイトルを白に。
   原因：.cards--grn .card .h3{color:#fff} を、ページCSSの
   .pg-about-community .card__b .h3{color:#000}（同詳細度・後勝ち）が上書きしていた。
   ============================================================ */
.pg-about-community .cards--grn .card__b .h3{ color:#fff; }
/* /KEEP */

/* KEEP: 2026-09-28 お問い合わせに「LINEでお問い合わせ」ブロックを追加
   ------------------------------------------------------------
   出典：3_DESIGNER修正後/form-inquiry.html（2026-09-28 17:58 受領）。
   受領ではインラインstyleで書かれていたものをクラスへ移した（R-7）。
   ・ボタン … LINE公式の緑 #06C755。hover でも緑のまま（受領はインライン指定で
     hover の背景変化が効かない＝緑固定。これを再現する）。
     .pg-form-inquiry .btn{background:var(--main-d)} (0,2,0) に勝つよう .btn.btn--line で書く。
   ・フォーム見出しのブロックは LINE ブロックとの間を空ける（受領 margin-top）。
   ============================================================ */
.pg-form-inquiry .line-cta{ display:flex; justify-content:center; margin:32px 0 0; }
.pg-form-inquiry .btn.btn--line,
.pg-form-inquiry .btn.btn--line:hover{ background:#06C755; border-color:#06C755; color:#fff; }
.pg-form-inquiry .line-note{ margin-top:16px; font-size:14px; color:var(--sub); text-align:center; }
.pg-form-inquiry .form-intro{ margin-top:clamp(56px,7vw,88px); }
/*KEEP: 2026-10-20 クライアント依頼（トップ「森と人が繋がるきっかけづくり」）グリーンパートナー2026 ロゴ＋テキスト */
.pg-index .gp-badge{ display:flex; align-items:center; gap:24px; margin:32px 0 0; }
.pg-index .gp-badge__logo{ flex:0 0 auto; display:block; width:88px; line-height:0; transition:opacity .2s; }
.pg-index .gp-badge__logo:hover{ opacity:.75; }
.pg-index .gp-badge__logo img{ display:block; width:100%; height:auto; }
.pg-index .gp-badge__txt{ margin:0; font-size:14px; line-height:1.8; }
@media (max-width:699px){
  .pg-index .gp-badge{ gap:16px; margin-top:28px; }
  .pg-index .gp-badge__logo{ width:72px; }
  .pg-index .gp-badge__txt{ font-size:13px; }
}
/* /KEEP */