@charset "utf-8";
/* シエン株式会社 新HP 第1弾 共通（トップ・仕事のしくみ・個人情報の扱い）
   正本: トンマナ_20261003.md（方向A「朝の光の写真」）／方向3案_20261002.html の A（.dA）
   色はトンマナの6色だけ。値はこの :root の外で書かない。
   幅の段: 1024px 以上＝PC の組み（画板 1440）／1023px 以下＝スマホの組み（画板 390）。 */

:root{
  --g:#FBF7EE;          /* 地 生成り */
  --card:#FFFFFF;       /* カード */
  --ink:#26302F;        /* 墨（文字） */
  --accent:#3A6B6B;     /* 錆浅葱（主ボタン・リンク・線） */
  --leaf:#A3C985;       /* 若葉（見出しの下の太線・小さな印だけ。文字に使わない） */
  --leaf-pale:#EDF4E6;  /* 淡い若葉（面） */
  --shadow:0 6px 20px rgba(38,48,47,.08);
  --shadow-photo:0 6px 20px rgba(38,48,47,.10);
  --r:16px;
  --pad:max(40px, calc((100% - 1200px) / 2));   /* 版面 1200px（1440 で左右 120px） */
  --font:"Noto Sans JP", sans-serif;
}

/* ---------- 土台 ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--g);color:var(--ink);font-family:var(--font);font-weight:400;
  font-size:17px;line-height:1.85;line-break:strict;word-break:auto-phrase}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
img{display:block;max-width:100%;height:auto}
picture{display:block}
a{color:var(--accent)}
[hidden]{display:none!important}
.nw{display:inline-block}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* ---------- 上の帯 ---------- */
.hd{background:var(--g);padding-inline:var(--pad);position:relative;z-index:3}
.hd__in{height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo{font-weight:800;font-size:22px;letter-spacing:.02em;color:var(--ink);text-decoration:none;white-space:nowrap}
.gnav{display:flex;gap:32px;white-space:nowrap}
.gnav a{display:inline-flex;align-items:center;min-height:44px;font-weight:700;font-size:16px;color:var(--ink);text-decoration:none}
.gnav a[aria-current="page"] span{box-shadow:inset 0 -3px 0 var(--accent)}
.gnav a:hover span{box-shadow:inset 0 -3px 0 var(--accent)}

/* ---------- 最初の画面（写真の上に白い文字。膜を掛けない） ---------- */
.hero{position:relative;height:620px;overflow:hidden;background:var(--ink);color:#fff}
.hero__img,.hero__img img{position:absolute;inset:0;width:100%;height:100%}
.hero__img img{object-fit:cover;object-position:25% 100%}   /* 1440 未満で左右が切れる時は、文字の面（左下）を残す */
.hero__txt{position:absolute;left:var(--pad);bottom:56px;width:640px;z-index:1}
.hero h1{font-weight:800;font-size:40px;line-height:1.4;letter-spacing:.02em}
.hero h1 .ln{display:block}
.hero__lead{margin-top:16px;font-size:18px;line-height:1.75}
.btns{display:inline-flex;flex-wrap:wrap;gap:12px;margin-top:24px;vertical-align:top;max-width:100%}

/* ---------- ボタン（丸・矢印なし） ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;height:52px;padding:0 32px;border-radius:999px;
  background:var(--accent);color:#fff;font:inherit;font-weight:700;font-size:17px;line-height:1.3;white-space:nowrap;
  text-decoration:none;border:0;cursor:pointer;transition:background-color .12s ease-out,color .12s ease-out}
.btn:hover{background:var(--card);color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}
.hero .btn{box-shadow:inset 0 0 0 2px #fff}
.hero .btn:hover{box-shadow:inset 0 0 0 2px #fff}
.hero :focus-visible{outline-color:#fff}

/* ---------- 段 ---------- */
.sec{padding:112px var(--pad) 120px}
.sec h2{font-weight:800;font-size:36px;line-height:1.45;letter-spacing:.02em}
.sec h2::after{content:"";display:block;width:64px;height:8px;border-radius:4px;background:var(--leaf);margin-top:16px}
.sec h2 .ln{display:inline}
.split{display:grid;grid-template-columns:320px minmax(0,1fr);column-gap:56px;align-items:start}
.split>*{min-width:0}
.split h2 .ln{display:block}
.card{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow)}
.mark{position:relative;padding-left:22px}
.mark::before{content:"";position:absolute;left:0;top:calc(.925em - 6px);width:12px;height:12px;border-radius:3px;background:var(--leaf)}

/* 事実の並び（会社の基本・契約とやめ方）。罫線は引かず、間で区切る */
.facts{display:grid;grid-template-columns:200px minmax(0,1fr);row-gap:8px}
.facts dt{font-weight:700;padding:8px 0}
.facts dd{padding:8px 0}
.facts dd a{font-weight:700;text-underline-offset:4px;text-decoration-thickness:2px}

/* ---------- T2 そのために ---------- */
.pair{display:grid;grid-template-columns:1fr 1fr;column-gap:40px;margin-top:40px}
.pair>*{min-width:0}
.pair__f1{grid-column:1;grid-row:1}
.pair__f2{grid-column:2;grid-row:1}
.pair img{width:100%;aspect-ratio:1.6;object-fit:cover;border-radius:var(--r);box-shadow:var(--shadow-photo)}
.pair__link{grid-column:1/3;grid-row:2;position:relative;display:block;height:2px;background:var(--accent);margin:28px 25% 0}
.pair__link::before,.pair__link::after{content:"";position:absolute;top:-5px;width:12px;height:12px;border-radius:50%;background:var(--accent)}
.pair__link::before{left:-6px}
.pair__link::after{right:-6px}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:40px}
.cols>*{min-width:0}
.col{display:flex;flex-direction:column;padding:32px}
.col h3{font-weight:800;font-size:24px;line-height:1.5}
.col p{margin:10px 0 24px}
.door{display:flex;flex-direction:column;align-items:center;justify-content:center;margin-top:auto;min-height:76px;padding:10px 32px;
  border-radius:999px;background:var(--accent);color:#fff;text-align:center;line-height:1.45;text-decoration:none;
  transition:background-color .12s ease-out,color .12s ease-out}
.door b{font-size:18px;font-weight:700}
.door small{font-size:16px;font-weight:500}
.door:hover{background:var(--card);color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}

/* ---------- T3 代表 ---------- */
.rep{display:grid;grid-template-columns:282px minmax(0,1fr);column-gap:126px;align-items:center}
.rep>*{min-width:0}
.rep__photo img,.who__photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r);box-shadow:var(--shadow-photo)}
.rep__word{margin-top:8px;font-weight:700;font-size:24px;line-height:1.6}
.rep__career{margin-top:24px}
.rep__career p+p{margin-top:16px}

/* ---------- S2 場面とサービス ---------- */
.map{display:grid;gap:24px;margin-top:40px}
.mrow{display:grid;grid-template-columns:minmax(0,1fr) 64px 440px;align-items:center;padding:28px 32px}
.mrow>*{min-width:0}
.scene{font-weight:700;font-size:20px;line-height:1.6}
.scene::before{content:"";display:inline-block;width:12px;height:12px;border-radius:3px;background:var(--leaf);margin-right:10px;vertical-align:1px}
.join{display:block;height:2px;background:var(--accent)}
.svc .nm{font-weight:800;font-size:26px;line-height:1.4}
.svc p+p{margin-top:6px}
.lk{display:inline-block;margin-top:8px;font-weight:700;color:var(--accent);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px}

/* ---------- S3 仕上がった物（見本） ---------- */
.s3list{display:grid;row-gap:56px;margin-top:48px}
.s3row{display:grid;grid-template-columns:320px minmax(0,1fr);column-gap:56px;align-items:center;scroll-margin-top:24px}
.s3row>*{min-width:0}
.s3row h3{font-weight:800;font-size:24px;line-height:1.5}
.s3row h3+p{margin-top:8px}
/* 「いま」と「お渡し後」は同じ大きさ・同じ枠・同じ明るさ（原稿 §2-3・brand §8-④） */
.mihon{position:relative}
.tag{display:inline-block;padding:0 10px;border:2px solid var(--accent);border-radius:6px;color:var(--accent);font-weight:700;font-size:16px;line-height:1.6}
.mihon__panes{display:grid;grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);align-items:stretch;margin-top:12px}
.pane{display:flex;flex-direction:column;min-width:0;background:var(--leaf-pale);border-radius:12px;padding:16px 16px 24px;container-type:inline-size}
.pane__h{font-weight:700;font-size:16px}
.pane__body{flex:1;display:flex;align-items:center;justify-content:center;margin-top:12px}
.pane__body--3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:8px;align-items:stretch;align-content:center}
/* 枠が細い時（3つ並べると名前が割れる幅）は、絵と名前を横に1行ずつ */
@container (max-width:351px){
  .pane__body--3{grid-template-columns:minmax(0,1fr);row-gap:12px}
  .pane__body--3 .doc{flex-direction:row;align-items:center;gap:14px;text-align:left}
  .pane__body--3 .doc__ic{flex:none;width:88px;height:auto}
}
.mihon__link{position:relative;align-self:center;height:2px;background:var(--accent);margin:0 8px}
.mihon__link::before,.mihon__link::after{content:"";position:absolute;top:-5px;width:12px;height:12px;border-radius:50%;background:var(--accent)}
.mihon__link::before{left:-6px}
.mihon__link::after{right:-6px}
.doc{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0;text-align:center}
.doc__ic{display:flex;align-items:flex-end;justify-content:center;height:86px}
.doc__cap{font-size:16px;line-height:1.5;font-weight:500}
/* 紙（白い四角に、字の代わりの線） */
.paper{position:relative;display:block;width:56px;height:72px;border-radius:4px;background:var(--card);
  box-shadow:0 2px 8px rgba(38,48,47,.12);
  background-image:linear-gradient(var(--leaf-pale),var(--leaf-pale)),linear-gradient(var(--leaf-pale),var(--leaf-pale)),linear-gradient(var(--leaf-pale),var(--leaf-pale)),linear-gradient(var(--leaf-pale),var(--leaf-pale));
  background-size:36px 4px,36px 4px,24px 4px,30px 4px;background-position:10px 14px,10px 26px,10px 38px,10px 50px;background-repeat:no-repeat}
.paper--stack{margin:0 12px 12px 0;box-shadow:6px 6px 0 -1px var(--card),6px 6px 0 0 rgba(38,48,47,.10),12px 12px 0 -1px var(--card),12px 12px 0 0 rgba(38,48,47,.10),0 2px 8px rgba(38,48,47,.12)}
.screen{position:relative;display:block;width:88px;height:62px;border-radius:6px;background:var(--card);box-shadow:0 2px 8px rgba(38,48,47,.12);border-top:8px solid var(--accent)}
.screen::after{content:"";position:absolute;left:12px;right:12px;top:16px;height:14px;border-radius:3px;background:var(--leaf)}
.sheet{width:100%;max-width:300px;border-radius:6px;background:var(--card);box-shadow:0 2px 8px rgba(38,48,47,.12);padding:12px 16px 14px;text-align:left}
.sheet__t{font-weight:700;font-size:16px;line-height:1.5}
.sheet__rows{margin-top:8px}
.sheet__rows li{font-size:16px;line-height:1.5;padding:6px 0 6px 22px;position:relative}
.sheet__rows li::before{content:"";position:absolute;left:0;top:13px;width:12px;height:12px;border-radius:3px;background:var(--leaf)}
.three{display:flex;gap:12px}

/* ---------- S4 金額 ---------- */
.pricebox{padding:24px}
.price{width:100%;border-collapse:separate;border-spacing:0}
.price th,.price td{padding:12px 16px;text-align:left;vertical-align:top;font-weight:500}
.price td{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.price thead th{font-size:16px;font-weight:700;padding-top:6px;padding-bottom:8px}
.price thead th+th{text-align:right}
.price .main th,.price .main td{font-weight:700;font-size:19px}
.price .sub th,.price .how th{padding-left:36px}
.price th small{display:block;font-size:16px;font-weight:400;line-height:1.6}
.price .howt th{font-weight:700;padding-top:16px}
.price .howt th,.price .how th,.price .how td{background:var(--leaf-pale)}
.price .howt th{border-radius:12px 12px 0 0}
.price .how.last th{border-radius:0 0 0 12px}
.price .how.last td:last-child{border-radius:0 0 12px 0}
.pricebox .note{margin-top:16px}

/* ---------- S5 最初の1時間 ---------- */
.answer{margin-top:24px;font-weight:700;font-size:24px;line-height:1.6}
.s5grid{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);column-gap:56px;align-items:center;margin-top:40px}
.s5grid>*{min-width:0}
.s5grid .paperfig{grid-column:1;grid-row:1}
.s5grid .flow4{grid-column:2;grid-row:1}
.flow4 li{position:relative;padding:0 0 28px 32px}
.flow4 li:last-child{padding-bottom:0}
.flow4 li::before{content:"";position:absolute;left:0;top:calc(.925em - 6px);width:12px;height:12px;border-radius:50%;background:var(--accent)}
.flow4 li:not(:last-child)::after{content:"";position:absolute;left:5px;top:calc(.925em + 6px);bottom:-.4em;width:2px;background:var(--accent)}
.paperfig{background:var(--leaf-pale);border-radius:var(--r);padding:20px 24px 32px}
.paperfig .bigsheet{margin:16px auto 0;max-width:520px;border-radius:6px;background:var(--card);box-shadow:0 2px 8px rgba(38,48,47,.12);padding:24px 28px 28px}
.bigsheet__t{font-weight:700;font-size:18px;line-height:1.5}
.bigsheet__lines{display:block;margin-top:16px;height:132px;
  background-image:linear-gradient(var(--leaf-pale),var(--leaf-pale)),linear-gradient(var(--leaf-pale),var(--leaf-pale)),linear-gradient(var(--leaf-pale),var(--leaf-pale)),linear-gradient(var(--leaf-pale),var(--leaf-pale)),linear-gradient(var(--leaf),var(--leaf)),linear-gradient(var(--leaf),var(--leaf)),linear-gradient(var(--leaf),var(--leaf));
  background-size:86% 6px,72% 6px,80% 6px,58% 6px,12px 12px,12px 12px,12px 12px;
  background-position:28px 6px,28px 42px,28px 78px,28px 114px,0 3px,0 39px,0 75px;background-repeat:no-repeat}

/* ---------- S6・T4 ---------- */
.conds h3{font-weight:800;font-size:24px;line-height:1.5}
.conds h3+.facts{margin-top:8px}
.conds .facts+h3{margin-top:40px}

/* ---------- S7 代表と地域 ---------- */
.s7grid{display:grid;grid-template-columns:1fr 1fr;column-gap:40px;align-items:start;margin-top:40px}
.s7grid>*{min-width:0}
.who{display:flex;align-items:flex-end;gap:24px}
.who__photo{flex:none;width:180px}
.prom{margin-top:24px}
.prom li+li{margin-top:16px}
.areamap__art{position:relative;background:var(--leaf-pale);border-radius:var(--r);overflow:hidden}
.areamap__art svg{display:block;width:100%;height:auto}
.areamap__lb{position:absolute;transform:translate(-50%,-50%);font-weight:700;font-size:18px;line-height:1.3;white-space:nowrap;color:var(--ink)}
.lb-nagoya{left:51.3%;top:21.7%}
.lb-tokai{left:37%;top:44.6%;transform:translate(-100%,-50%)}
.lb-chita{left:67%;top:76%;transform:translate(0,-50%)}
.areamap figcaption{margin-top:16px;font-weight:700}

/* ---------- S8 申し込み ---------- */
.s8in{max-width:calc(100% * 8 / 12)}   /* 12カラムの 8（1440 で 800px） */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:40px;margin-top:40px}
.step{position:relative;display:flex;align-items:center;min-height:96px;padding:16px 20px;border-radius:var(--r);background:var(--leaf-pale);font-weight:700;line-height:1.6}
.step+.step::before{content:"";position:absolute;left:-40px;top:50%;width:40px;height:2px;margin-top:-1px;background:var(--accent)}
.form{margin-top:56px}
.field+.field{margin-top:28px}
.field label{display:block;font-weight:700;margin-bottom:8px}
.req,.opt{display:inline-block;margin-left:12px;font-size:16px}
.req{font-weight:700;color:var(--accent)}
.opt{font-weight:400}
.input{display:block;width:100%;height:52px;padding:0 16px;border:1px solid var(--ink);border-radius:12px;background:var(--card);
  color:var(--ink);font:inherit;font-size:17px;line-height:1.5}
textarea.input{height:auto;min-height:168px;padding:12px 16px;line-height:1.8;resize:vertical}
select.input{-webkit-appearance:none;appearance:none;padding-right:48px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%2326302F' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 18px center}
.input::placeholder{color:var(--accent);opacity:1}
.input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.form__note{margin-top:32px}
.form__note a{font-weight:700;text-underline-offset:4px;text-decoration-thickness:2px}
.send{margin-top:24px;width:100%;max-width:360px}
.form__err{margin-top:16px;font-weight:700}
.form-done{margin-top:56px;padding:28px 32px}
.form-done:focus{outline:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------- 足元 ---------- */
.ft{background:var(--leaf-pale);padding:40px var(--pad) 48px}
.ft__in{display:flex;flex-wrap:wrap;align-items:center;gap:12px 32px}
.ft a{font-weight:700;text-underline-offset:4px;text-decoration-thickness:2px}
.ft__cr{margin-left:auto}

/* ---------- 個人情報の扱い ---------- */
.doc-page{padding:112px var(--pad) 120px}
.article{max-width:800px}
.article .label{font-weight:700;font-size:16px}
.article h1{margin-top:8px;font-weight:800;font-size:36px;line-height:1.45;letter-spacing:.02em}
.article h1::after{content:"";display:block;width:64px;height:8px;border-radius:4px;background:var(--leaf);margin-top:16px}
.article .lead{margin-top:32px}
.article h2{margin-top:64px;font-weight:800;font-size:24px;line-height:1.5}
.article h2+*{margin-top:16px}
.article p+p,.article p+ul,.article ul+p,.article table+p,.article p+table{margin-top:16px}
.article ul li{position:relative;padding-left:22px}
.article ul li+li{margin-top:6px}
.article ul li::before{content:"";position:absolute;left:0;top:calc(.925em - 6px);width:12px;height:12px;border-radius:3px;background:var(--leaf)}
.deftbl{width:100%;border-collapse:collapse}
.deftbl th,.deftbl td{padding:10px 0;text-align:left;vertical-align:top}
.deftbl th{width:200px;padding-right:24px;font-weight:700}
.article .sub{margin-top:24px}

/* ---------- 動き（写真のある段だけ。文字だけの段は動かさない） ---------- */
@keyframes aLight{from{opacity:0;clip-path:inset(0 0 100% 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}
@keyframes aRise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:no-preference){
  .hero__img img{animation:aLight .8s ease-out both}
  .hero h1 .ln,.hero__lead{animation:aRise .6s ease-out both}
  .hero h1 .ln+.ln{animation-delay:.2s}
  .hero__lead{animation-delay:.35s}
  .rv-ready .reveal:not(.is-in){opacity:0}
  .rv-ready .reveal.is-in{animation:aLight .8s ease-out both}
}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .col,.mrow{transition:transform .15s ease-out}
  .col:hover,.mrow:hover{transform:translateY(-2px)}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* ---------- PC の狭い幅（1024〜1199px）: 金額は表を横いっぱいに ---------- */
@media (max-width:1199px) and (min-width:1024px){
  .s4 .split{grid-template-columns:minmax(0,1fr)}
  .s4 .split h2 .ln{display:inline}
  .s4 .pricebox{margin-top:40px}
  .s3row{grid-template-columns:minmax(0,1fr)}
  .s3row .mihon{margin-top:20px}
  .s8in{max-width:calc(100% * 10 / 12)}
}

/* ---------- スマホの組み（1023px 以下。画板 390） ---------- */
@media (max-width:1023px){
  :root{--pad:max(20px, calc((100% - 640px) / 2))}
  body{font-size:16px;line-height:1.8}
  .hd__in{height:56px}
  .logo{font-size:17px}
  .gnav{gap:14px}
  .hero{height:max(540px, calc(44.4vw + 324px))}
  .hero--s1{height:max(470px, calc(48.2vw + 225px))}
  .hero__img img{object-position:50% 0}
  .hero__txt{right:var(--pad);bottom:24px;width:auto}
  .hero h1{font-size:24px;line-height:1.45;letter-spacing:.01em}
  .hero__lead{margin-top:10px;font-size:16px}
  .btns{display:flex;flex-direction:column;gap:10px;margin-top:16px}
  .btn{height:48px;width:100%;font-size:16px;padding:0 24px}
  .sec{padding:56px var(--pad) 64px}
  .sec h2{font-size:24px;line-height:1.5}
  .sec h2 .ln{display:block}
  .sec h2::after{width:48px;height:6px;margin-top:12px}
  .split{display:block}
  .facts{grid-template-columns:120px minmax(0,1fr);row-gap:4px}
  .split .facts,.split .conds{margin-top:16px}
  /* T2 */
  .pair{grid-template-columns:1fr;margin-top:28px}
  .pair__f2{grid-column:1;grid-row:3}
  .pair__link{grid-column:1;grid-row:2;width:2px;height:36px;margin:12px auto}
  .pair__link::before{left:-5px;top:-6px}
  .pair__link::after{left:-5px;right:auto;top:auto;bottom:-6px}
  .cols{grid-template-columns:1fr;gap:20px;margin-top:28px}
  .col{padding:24px 20px}
  .col h3{font-size:20px}
  .col p{margin:8px 0 16px}
  .door{min-height:68px;padding:10px 20px;border-radius:28px}
  .door b{font-size:17px}
  /* T3 */
  .rep{grid-template-columns:150px minmax(0,1fr);column-gap:20px;align-items:end}
  .rep__body{display:contents}
  .rep__photo{grid-column:1;grid-row:1}
  .rep__name{grid-column:2;grid-row:1;align-self:end}
  .rep__word{grid-column:1/3;grid-row:2;margin-top:24px;font-size:20px}
  .rep__career{grid-column:1/3;grid-row:3;margin-top:16px}
  /* S2 */
  .map{gap:20px;margin-top:28px}
  .mrow{grid-template-columns:1fr;padding:20px}
  .scene{font-size:17px}
  .join{width:2px;height:24px;margin:6px 0 6px 28px}
  .svc .nm{font-size:22px}
  /* S3 */
  .s3list{row-gap:40px;margin-top:28px}
  .s3row{display:block}
  .s3row h3{font-size:20px}
  .mihon{margin-top:16px}
  .mihon__panes{grid-template-columns:minmax(0,1fr);grid-template-rows:1fr auto 1fr;margin-top:10px}
  .pane{padding:14px 16px 20px}
  .pane__body{margin-top:8px}
  .mihon__link{width:2px;height:28px;margin:12px auto}
  .mihon__link::before{left:-5px;top:-6px}
  .mihon__link::after{left:-5px;right:auto;top:auto;bottom:-6px}
  /* S4 */
  .pricebox{margin-top:24px;padding:12px 8px}
  .price thead{display:none}
  .price tr{display:grid;grid-template-columns:1fr 1fr}
  .price th{grid-column:1/3;padding:10px 12px 0}
  .price td{text-align:left;padding:2px 12px 10px;font-size:16px;white-space:normal}
  .price td::before{content:attr(data-l);display:block;font-weight:500}
  .price .sub th,.price .how th{padding-left:24px}
  .price .main th,.price .main td{font-size:17px}
  .price .how.last th{border-radius:0}
  .price .how.last td:first-of-type{border-radius:0 0 0 12px}
  .pricebox .note{margin-top:12px;padding:0 12px 8px}
  /* S5 */
  .answer{margin-top:16px;font-size:20px}
  .s5grid{display:block;margin-top:16px}
  .paperfig{margin-top:24px;padding:16px 16px 20px}
  .paperfig .bigsheet{padding:16px 18px 20px}
  .bigsheet__lines{height:112px;background-size:84% 5px,70% 5px,78% 5px,56% 5px,10px 10px,10px 10px,10px 10px;
    background-position:22px 4px,22px 36px,22px 68px,22px 100px,0 2px,0 34px,0 66px}
  /* S6 */
  .conds h3{font-size:20px}
  .conds .facts+h3{margin-top:24px}
  /* S7 */
  .s7grid{display:block;margin-top:16px}
  .who{gap:20px}
  .who__photo{width:120px}
  .prom{margin-top:16px}
  .areamap{margin-top:24px}
  .areamap__lb{font-size:16px}
  /* S8 */
  .steps{grid-template-columns:1fr;row-gap:20px;margin-top:16px}
  .step{min-height:0;padding:14px 20px}
  .step+.step::before{left:50%;top:-20px;width:2px;height:20px;margin:0 0 0 -1px}
  .form{margin-top:32px}
  .field+.field{margin-top:20px}
  .input{height:48px;font-size:16px}
  .form__note{margin-top:24px}
  .send{max-width:none}
  .s8in{max-width:none}
  .form-done{margin-top:32px;padding:20px}
  /* 足元 */
  .ft{padding:32px var(--pad) 40px}
  .ft__cr{margin-left:0;width:100%}
  /* 個人情報の扱い */
  .doc-page{padding:56px var(--pad) 64px}
  .article h1{font-size:24px;line-height:1.5}
  .article h1::after{width:48px;height:6px;margin-top:12px}
  .article .lead{margin-top:24px}
  .article h2{margin-top:48px;font-size:20px}
  .deftbl,.deftbl tbody,.deftbl tr,.deftbl th,.deftbl td{display:block;width:auto}
  .deftbl tr+tr{margin-top:12px}
  .deftbl th{padding:0}
  .deftbl td{padding:2px 0 0}
}

/* ---------- いちばん狭い幅（359px 以下） ---------- */
/* 文字のかたまりが縦に伸びるぶん、写真の高さを足して、文字を写真の「文字の面」（下 68%・下 60%）に収める */
@media (max-width:359px){
  .gnav{gap:12px}
  .logo{letter-spacing:0}
  .hero{height:600px}
  .hero--s1{height:520px}
  /* 金額: 2列だと「月55,000円から」が収まらないので、税抜・税込を1行ずつに（行の数は2列の時と同じ） */
  .price tr{grid-template-columns:minmax(0,1fr)}
  .price th{grid-column:1}
  .price td{padding:2px 12px}
  .price td:last-child{padding-bottom:10px}
  .price td::before{display:inline;margin-right:12px}
  .price .how.last td:first-of-type{border-radius:0}
  .price .how.last td:last-child{border-radius:0 0 12px 12px}
}

/* ---------- 最初の画面（2026-10-03 画像の方針: 理念は風景画・サービスは幾何学の図） ---------- */
/* 風景画: 文字は絵の明るい所に墨で置く。白い文字のために絵を暗くしない */
.hero--paint{color:var(--ink);background:var(--g)}
.hero--paint .btn{box-shadow:none}
.hero--paint .btn:hover{box-shadow:inset 0 0 0 2px var(--accent)}
.hero--paint :focus-visible{outline-color:var(--accent)}
/* 幾何学の図（2026-10-03 批評を受けて明るい面に）: 淡い若葉の面に墨の文字。図はコードで描く（hero__fig）。4人どうしも線でつなぐ */
.hero--fig{background:var(--leaf-pale);color:var(--ink)}
.hero--fig .hero__fig{position:absolute;right:var(--pad);top:50%;transform:translateY(-50%);width:min(620px,46%);height:auto}
.hero--fig .hero__txt{top:50%;bottom:auto;transform:translateY(-50%);width:600px}
.hero--fig .btn{box-shadow:none}
.hero--fig .btn:hover{box-shadow:inset 0 0 0 2px var(--accent)}
.hero--fig :focus-visible{outline-color:var(--accent)}
@media (max-width:1023px){
  .hero--fig,.hero--fig.hero--s1{height:auto;padding:28px 0 36px;overflow:visible}
  .hero--fig .hero__fig{position:static;transform:none;display:block;width:calc(100% - 40px);max-width:520px;margin:0 auto}
  .hero--fig .hero__txt{position:static;transform:none;width:auto;padding:20px 20px 0}
}

/* ---------- 2026-10-03 批評を受けた直し ---------- */
.mrow .svc{padding-left:16px}                      /* S2: 線が説明文の頭に付いて「—決まった」と読めるのを離す */
.facts{column-gap:16px}                              /* S6・会社の基本: 名前と値の間を空ける */
.bigsheet__lines{background-image:linear-gradient(rgba(58,107,107,.38),rgba(58,107,107,.38)),linear-gradient(rgba(58,107,107,.38),rgba(58,107,107,.38)),linear-gradient(rgba(58,107,107,.38),rgba(58,107,107,.38)),linear-gradient(rgba(58,107,107,.38),rgba(58,107,107,.38)),linear-gradient(var(--leaf),var(--leaf)),linear-gradient(var(--leaf),var(--leaf)),linear-gradient(var(--leaf),var(--leaf))}  /* V-16: 薄い灰色の帯が「読み込み中」に見えたので、錆浅葱のインクの線に */
@media (max-width:1023px){
  .facts{grid-template-columns:128px minmax(0,1fr)}
  .mrow .svc{padding-left:0}
  /* T2: 承認ワイヤーどおり、学びの列（絵→札）→ 仕事の列（絵→札）の順に並べる */
  .t2{display:flex;flex-direction:column}
  .t2 .pair,.t2 .cols{display:contents}
  .t2 .pair__f1{order:1;margin-top:28px}
  .t2 .cols .col:nth-child(1){order:2;margin-top:16px}
  .t2 .pair__link{order:3}
  .t2 .pair__f2{order:4}
  .t2 .cols .col:nth-child(2){order:5;margin-top:16px}
}

/* ===== 見本（2026-10-03）: Codex の図解を当てはめる ===== */
.hero--net{background:var(--g)}
.hero--net .hero__img img{object-position:100% 50%}
@media (max-width:1023px){
  .hero--net,.hero--net.hero--s1{height:auto;overflow:visible}
  .hero--net .hero__img{position:static;display:block;height:auto}
  .hero--net .hero__img img{position:static;width:100%;height:auto;aspect-ratio:1080/900}
  .hero--net .hero__txt{position:static;transform:none;width:auto;padding:20px 20px 32px}
}
.diag{margin:40px auto 0;max-width:1000px}
.diag img,.mihon--diag img{width:100%;height:auto;border-radius:var(--r);display:block}
.diag__cap3,.diag__cap5{display:grid;text-align:center;font-weight:700;font-size:16px;margin-top:12px;color:var(--accent)}
.diag__cap3{grid-template-columns:repeat(3,1fr)}
.diag__cap5{grid-template-columns:repeat(5,1fr)}
.mihon--diag{position:relative;background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);padding:16px}
.mihon--diag .tag{position:absolute;left:24px;top:24px;z-index:1}
.diag__pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:12px;font-size:16px;line-height:1.6}
.diag__pair b{display:block;color:var(--accent)}
@media (max-width:1023px){
  .diag__cap5{font-size:13px}
  .diag__pair{grid-template-columns:1fr}
}

/* ===== 説明の追加（2026-10-03 案） ===== */
.s3more{margin-top:20px}
.s3more h4{font-weight:800;font-size:17px;margin:20px 0 6px;color:var(--accent)}
.s3more ul.dots li{position:relative;padding-left:18px;font-size:16px;line-height:1.75}
.s3more ul.dots li::before{content:"";position:absolute;left:0;top:.7em;width:8px;height:8px;border-radius:50%;background:var(--leaf)}
.s3more ol.steps{counter-reset:st}
.s3more ol.steps li{position:relative;padding-left:30px;font-size:16px;line-height:1.75;margin:4px 0}
.s3more ol.steps li::before{counter-increment:st;content:counter(st);position:absolute;left:0;top:.2em;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center}
.s3more p{font-size:16px;line-height:1.8}
.s3row{align-items:start}
.bridge{margin-top:28px;font-weight:700;font-size:18px}
.lead2{margin-top:12px;max-width:760px}
.diag__cap5 span{display:block;padding:0 6px}
.diag__cap5 b{display:block}
.diag__cap5 small{display:block;font-weight:400;font-size:14px;line-height:1.6;color:var(--ink);margin-top:4px;text-align:left}
.note5{font-size:15px;margin-top:12px;text-align:center}
.faq{margin-top:48px}
.faq h3{font-weight:800;font-size:22px;margin-bottom:12px}
.faq details{background:var(--card);border-radius:12px;box-shadow:var(--shadow);margin:10px 0;padding:16px 20px}
.faq summary{cursor:pointer;font-weight:700;list-style:none}
.faq summary::before{content:"Q　";color:var(--accent)}
.faq details p{margin-top:10px;font-size:16px;line-height:1.8}
@media (max-width:1023px){.diag__cap5{grid-template-columns:1fr;gap:12px}}

/* 説明の追加: 図の下に全幅で、2列（こんな仕事に・すること／お渡しする物・頼んだ後の毎日） */
.s3row .s3more{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);padding:8px 32px 28px}
.s3more>h4:nth-of-type(1),.s3more>ul:nth-of-type(1){grid-column:1}
.s3more>h4:nth-of-type(2),.s3more>ol{grid-column:1}
.s3more>h4:nth-of-type(3),.s3more>ul:nth-of-type(2){grid-column:2}
.s3more>h4:nth-of-type(4),.s3more>p{grid-column:2}
.s3more{grid-auto-flow:dense}
.note5{font-size:16px}
@media (max-width:1023px){.s3row .s3more{display:block;padding:4px 20px 20px;margin-top:16px}}

@media (max-width:1199px){.s3row .s3more{display:block}}

.s3more ol.steps{display:block;grid-template-columns:none}
.s3more ol.steps li{display:block;width:auto}
.areamap__art{background:none}
.areamap__art img{display:block;width:100%;height:auto;border-radius:var(--r)}
.lb-nagoya{left:49%;top:20%;transform:translate(-50%,-50%)}
.lb-tokai{left:44%;top:37%;transform:translate(-100%,-50%)}
.lb-chita{left:57%;top:65%;transform:translate(0,-50%)}
.areamap__lb{background:rgba(251,247,238,.85);padding:2px 8px;border-radius:6px}

/* ===== サイクル1 ===== */
.hero__note{margin-top:14px;font-size:15px;line-height:1.7}
.svc__price{margin-top:6px;font-weight:800;color:var(--accent)}
.cta-mid{margin-top:32px;text-align:center}
.who__career{margin-top:10px;font-size:15px;line-height:1.75}
.bigsheet__ex{margin-top:12px}
.bigsheet__ex li{font-size:15px;line-height:1.7;padding:6px 0;border-bottom:1px dashed rgba(58,107,107,.3)}
.bigsheet__ex b{display:inline-block;min-width:6.5em;color:var(--accent)}
.s5grid{grid-template-columns:1fr}
.s5grid .paperfig{max-width:620px;margin:24px auto 0}
.faq details[open] summary{color:var(--accent)}
@media (max-width:1023px){
  .price thead{display:none}
  .price td[data-l="税込"]{font-size:13px;opacity:.75}
  .price td[data-l="税込"]::before{content:"税込 "}
  .hero__note{font-size:14px}
}

@media (max-width:1023px){.diag--s5 picture img{max-width:320px;margin:0 auto}}

/* ===== サイクル2 ===== */
.s3row .s3more{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;row-gap:4px}
.s3more .blk{grid-column:auto!important}
.s3more>h4,.s3more>ul,.s3more>ol,.s3more>p{grid-column:auto}
.who__career{margin-top:16px;font-size:16px;line-height:1.8;max-width:none}
.faq__hint{font-size:15px;margin:-4px 0 8px}
.faq summary{display:flex;justify-content:space-between;gap:16px}
.faq summary::after{content:"＋";color:var(--accent);font-weight:800;flex:none}
.faq details[open] summary::after{content:"－"}
.free{display:inline-block;margin-top:8px;font-style:normal;font-size:13px;font-weight:700;color:#fff;background:var(--accent);border-radius:999px;padding:2px 10px}
.step__img{display:none}
.hero__note{font-size:16px;font-weight:500}
@media (max-width:1023px){
  .s3row .s3more{display:block}
  .diag--s5 picture{display:none}
  .diag__cap5 span{display:grid;grid-template-columns:96px 1fr;column-gap:12px;align-items:center}
  .step__img{display:block;width:96px;height:auto;grid-row:1/4}
  .bigsheet__ex b{display:block}
  .price td[data-l="税抜"]::before{content:none}
  .price td[data-l="税込"]{padding-top:0}
}

@media (max-width:1023px){.diag__cap5{text-align:left}.diag__cap5 b{text-align:left}.free{justify-self:start;width:auto}}

/* ===== サイクル3（最終） ===== */
.diag .step__img{display:none}
.faq summary{display:grid;grid-template-columns:auto 1fr auto;column-gap:8px;text-align:left}
.faq summary .q{text-align:left}
.diag__cap5 span{position:relative}
.free{display:inline-block;margin-top:10px;position:static}
.s3more ol.steps{margin-top:6px}
.s3more h4+ol.steps{margin-top:6px}
@media (max-width:1023px){
  .diag .step__img{display:block}
  .price td[data-l="税抜"]::before{content:"税抜 ";display:inline;font-size:13px;margin-right:4px}
}

/* 地図: 国土数値情報から描いた正確な地図（2026-10-05） */
.areamap__art{max-width:420px;margin:0 auto}
.lb-nagoya{left:32%;top:17%;transform:translate(-50%,-50%)}
.lb-tokai{left:27.7%;top:38.9%;transform:translate(-115%,-50%)}
.lb-chita{left:30%;top:68%;transform:translate(-50%,-50%)}
.areamap figcaption .src{display:block;margin-top:6px;font-size:12px;font-weight:400;color:#5B6664}

.areamap__art{border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);border:1px solid #E6E0D2}
.areamap__art img{border-radius:0}

/* 広域の地図（2026-10-06） */
.areamap__art{max-width:520px}
.areamap__lb.lb2{transform:translate(-50%,-50%);font-size:15px;padding:1px 7px}
.areamap__lb.lb2--l{transform:translate(-112%,-50%)}
.areamap figcaption .range{display:block;font-weight:400;font-size:15px;margin-top:2px}
@media (max-width:1023px){.areamap__lb.lb2{font-size:13px}}

/* 伺う範囲の地図（2026-10-06 従前の範囲・市町の名前） */
.areamap__art{max-width:520px}
.areamap__lb.lb3{transform:translate(-50%,-50%);font-size:13px;line-height:1.3;padding:1px 6px;border-radius:5px;background:rgba(251,247,238,.88)}
.areamap__lb.lb3--big{font-size:17px}
@media (max-width:1023px){.areamap__lb.lb3{font-size:11px;padding:0 4px}.areamap__lb.lb3--big{font-size:15px}}

.areamap__inner{position:relative}
@media (max-width:1023px){
  .areamap__art{overflow:hidden}
  .areamap__inner{width:150%;margin-left:-25%}
  .areamap__lb.lb3{font-size:12px}.areamap__lb.lb3--big{font-size:15px}
}

.areamap__lb.lb3{left:var(--x);top:var(--y)}
@media (max-width:1023px){
  .areamap__inner{width:auto;margin-left:0}
  .areamap__lb.lb3{left:var(--xs)}
}

/* ===== 第三者の見直し（2026-10-06） ===== */
.rep__h{font-size:15px;font-weight:700;color:var(--accent);margin-bottom:6px;letter-spacing:.08em}
.rep__h::after{content:none}
details.sp-fold>summary{list-style:none;cursor:default;display:flex;align-items:baseline;gap:6px}
details.sp-fold>summary::-webkit-details-marker{display:none}
details.sp-fold>summary .cnt{display:none}
.how-toggle{all:unset;font:inherit;font-weight:700}
@media (max-width:1023px){
  details.sp-fold{border-top:1px solid rgba(58,107,107,.15);margin-top:12px}
  details.sp-fold>summary{cursor:pointer;justify-content:space-between;padding:8px 0}
  details.sp-fold>summary .cnt{display:inline;font-size:14px;color:#5B6664;margin-right:auto}
  details.sp-fold>summary::after{content:"＋";color:var(--accent);font-weight:800}
  details.sp-fold[open]>summary::after{content:"－"}
  details.sp-fold>summary h4{margin:0}
  .how-toggle{cursor:pointer;display:flex;justify-content:space-between;width:100%}
  .how-toggle::after{content:"－";color:var(--accent);font-weight:800}
  .how-closed .how-toggle::after{content:"＋"}
  .how-closed tr.how,.how-closed tr.sub:not(.after-month){display:none}
}

/* ===== イメージ図 c 版: 共通の見方と言葉（2026-10-08） ===== */
.dg{position:relative}
.dg img{display:block;width:100%;height:auto;border-radius:var(--r)}
.dg__lb{position:absolute;transform:translate(-50%,-50%);white-space:nowrap;font-weight:700;font-size:14px;line-height:1.3;pointer-events:none}
.dg--p{color:var(--ink)}
.dg--d{color:#fff}
.dg--l{color:var(--ink);font-size:13px}
.dg--u{color:var(--ink);background:rgba(251,247,238,.92);padding:1px 6px;border-radius:5px;font-size:13px}
.dg--h{color:var(--accent);font-size:15px;letter-spacing:.06em}
.mihon--diag .tag{top:20px;left:20px}
.dg-legend{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;margin-top:20px;font-size:15px}
.dg-legend .lg{display:inline-flex;align-items:center;gap:6px;font-weight:700}
.dg-legend i{display:inline-block;width:16px;height:16px;border-radius:50%}
.dg-legend .lg-d{background:#3A6B6B;width:20px;height:20px}
.dg-legend .lg-l{background:#A3C985}
.dg-legend .lg-p{background:#fff;border-radius:3px;box-shadow:0 1px 3px rgba(38,48,47,.25)}
.dg-legend .lg-note{font-size:13px;color:#5B6664}
@media (max-width:1023px){
  .dg__lb{font-size:10px}.dg--l,.dg--u{font-size:9.5px}.dg--h{font-size:11px}
  .dg--u{padding:0 3px}
  .dg-legend{font-size:14px}
}

.dg--d{background:#3A6B6B;padding:1px 5px;border-radius:5px}
.dg--p,.dg--l{background:transparent}

/* スマホ: いま・お渡し後を分けて縦に（2026-10-08） */
.dg-sp{display:none}
.dg--d{text-align:center;line-height:1.25}
@media (max-width:1023px){
  .dg-pc{display:none}
  .dg-sp{display:block}
  .dg-sp__h{font-weight:800;color:var(--accent);font-size:15px;margin:14px 0 6px}
  .dg-sp .dg__lb{font-size:13px}
  .dg-sp .dg--l,.dg-sp .dg--u{font-size:12px}
  .mihon--diag .tag{position:static;display:inline-block;margin-bottom:4px}
}

/* ===== イメージ図 d 版: 当社・お渡しする物（2026-10-08） ===== */
.dg-legend .lg-o{background:#fff;border:4px solid #3A6B6B;width:20px;height:20px;box-sizing:border-box}
.dg-legend .lg-f{background:transparent;border:2px dashed #8DB86C;border-radius:5px;width:22px;height:18px;box-sizing:border-box}
.dg--p,.dg--u{text-align:center}

/* ===== 金額の見取り図（サービス×観点）と仕組みづくりの数え方（2026-10-08） ===== */
.pm-lead{margin-top:20px}
.pm{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto;column-gap:20px;margin-top:28px}
.pm__col{display:grid;grid-row:span 5;grid-template-rows:subgrid;row-gap:0;overflow:hidden}
.pm__nm{background:var(--accent);color:#fff;font-weight:800;font-size:20px;line-height:1.5;padding:16px 24px}
.pm__r{padding:14px 24px;border-top:2px solid var(--g)}
.pm__nm+.pm__r{border-top:0}
.pm__r>b{display:block;font-size:14px;font-weight:700;color:var(--accent);letter-spacing:.04em}
.pm__r>span{display:block}
.pm__when{background:var(--leaf-pale);font-weight:700}
.pm__yen strong{font-size:26px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.4}
.pm__yen small{display:block;font-size:15px}
.pm__lk{display:inline-block;margin-top:4px;font-weight:700;text-underline-offset:4px}
.pm__tiers{display:grid;gap:2px;margin:8px 0;font-variant-numeric:tabular-nums}
.pm__tiers>span{display:flex;gap:10px;align-items:baseline}
.pm__tiers i{font-style:normal;font-weight:700;min-width:2.5em}
.pm__tiers small{font-size:14px}
.pm__note{display:block;font-size:14px;line-height:1.7}
.calc{margin-top:28px;padding:28px 32px;display:flex;flex-direction:column}
.calc h3{font-weight:800;font-size:22px;line-height:1.5}
.calc__lead{margin-top:6px}
.calc__ex{display:flex;flex-wrap:wrap;gap:6px 28px;margin-top:16px}
.calc__ex li{display:flex;gap:8px;align-items:baseline}
.calc__ex b{background:var(--accent);color:#fff;border-radius:6px;padding:0 8px;font-size:15px;flex:none}
.calc__sum{display:none}
.calc__t{width:100%;border-collapse:collapse;margin-top:16px;font-variant-numeric:tabular-nums}
.calc__t th,.calc__t td{padding:12px 14px;text-align:left;vertical-align:top;border-top:2px solid var(--g)}
.calc__t thead th{font-size:14px;color:var(--accent);border-top:0;padding-top:4px;padding-bottom:6px}
.calc__t tbody th{font-weight:700}
.calc__t th small{display:block;font-weight:400;font-size:14px;line-height:1.6}
.calc__t .calc__u{text-align:right;white-space:nowrap}
.calc__t .ex{text-align:center;white-space:nowrap;width:9.5em;background:var(--leaf-pale);font-weight:700}
.calc__t thead .ex{color:var(--accent);background:var(--leaf-pale)}
.calc__t tfoot th{text-align:right}
.calc__t tfoot th,.calc__t tfoot td{font-weight:800;border-top:2px solid var(--accent)}
.calc__t tfoot small{display:block;font-weight:400;font-size:13px}
.calc .note{margin-top:14px}
@media (max-width:1023px){
  .pm{grid-template-columns:minmax(0,1fr);row-gap:16px;margin-top:20px}
  .pm__col{display:block;grid-row:auto}
  .pm__nm{font-size:18px;padding:12px 16px}
  .pm__r{display:grid;grid-template-columns:4.6em minmax(0,1fr);column-gap:10px;padding:10px 16px}
  .pm__r>b{font-size:13px;padding-top:2px}
  .pm__yen strong{font-size:22px}
  .calc{margin-top:20px;padding:20px 16px}
  .calc h3{font-size:19px}
}
@media (max-width:599px){
  .calc__t .ex,.calc__t tfoot{display:none}
  .calc__t th,.calc__t td{padding:10px 6px}
  .calc__ex{order:3;flex-direction:column;gap:12px;margin-top:16px}
  .calc__ex li{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:8px;background:var(--leaf-pale);border-radius:10px;padding:10px 12px}
  .calc__ex li>span{grid-column:2}
  .calc__ex li>span:first-of-type{font-weight:700}
  .calc__sum{display:block;font-size:14px}
  .calc__sum em{display:block;font-style:normal;font-weight:800;font-size:17px}
  .calc__sum em small{font-weight:400;font-size:14px}
  .calc .note{order:4}
}
.s6 .faq{margin-top:24px}
@media (max-width:1023px){.pm__tiers>span{flex-wrap:wrap;column-gap:8px;row-gap:0}.pm__tiers small{flex-basis:100%;padding-left:calc(2.5em + 8px)}}

/* ===== 金額の目安（各サービスの段・2026-10-08 改） ===== */
.pm__lv{display:grid;gap:10px;margin-top:4px}
.pm__lv li{display:grid;grid-template-columns:minmax(0,1fr);row-gap:0;padding-top:10px;border-top:1px dashed var(--leaf)}
.pm__lv li:first-child{border-top:0;padding-top:2px}
.pm__lv .t{font-weight:700;line-height:1.6}
.pm__lv .t i{display:inline-block;font-style:normal;background:var(--accent);color:#fff;border-radius:5px;padding:0 7px;margin-right:8px;font-size:14px;line-height:1.6}
.pm__lv .y{font-weight:800;font-size:18px;font-variant-numeric:tabular-nums}
.pm__lv .y small{font-weight:400;font-size:14px;margin-left:4px}
.pm__lv .ex{font-size:14px;line-height:1.6}
.pm-foot{margin-top:20px}
@media (max-width:1023px){.pm__r>.pm__lv,.pm__r>.pm__note{grid-column:2}.pm__r>.pm__note{margin-top:8px}}
.who__career p+p{margin-top:12px}
.who__quote{font-weight:800;font-size:20px;line-height:1.6;border-left:4px solid var(--leaf);padding-left:14px;margin-bottom:16px}
@media (max-width:1023px){.who__quote{font-size:18px}}
.who__bio{margin-top:24px;padding-top:16px;border-top:1px dashed var(--leaf);font-size:15px;line-height:1.7}
.who__bio-h{font-weight:700;color:var(--accent);font-size:14px;letter-spacing:.06em}
.who__bio ul{margin-top:6px}
.who__bio li{position:relative;padding-left:14px}
.who__bio li+li{margin-top:4px}
.who__bio li::before{content:"";position:absolute;left:0;top:.75em;width:6px;height:6px;border-radius:50%;background:var(--leaf)}
@media (min-width:1024px){.hero--s1 .hero__lead{max-width:580px;font-size:17px}}
.hero__lead p+p{margin-top:.9em}
@media (min-width:1024px){.hero--s1 .hero__lead{max-width:680px;font-size:16px}}
@media (max-width:1023px){.pm__r{grid-template-columns:5.6em minmax(0,1fr)}.pm__r>b{white-space:nowrap}}
@media (max-width:400px){.pm__r{grid-template-columns:minmax(0,1fr)}.pm__r>.pm__lv,.pm__r>.pm__note{grid-column:1}.pm__yen strong{white-space:nowrap}}
.s3txt p+p{margin-top:10px}
.form__after{margin-top:14px;font-size:15px;line-height:1.7}
.who__bio li .y{display:inline-block;min-width:4.2em;font-weight:700;font-variant-numeric:tabular-nums}
.rep__career+.who__bio{margin-top:20px}
.t4lead{margin-bottom:20px}
@media (max-width:480px){.who__bio li .y{display:block;min-width:0}}
@media (max-width:1023px){.rep .who__bio{grid-column:1/3;grid-row:4}}
@media (max-width:400px){.t4 .facts{grid-template-columns:minmax(0,1fr);row-gap:0}.t4 .facts dt{padding-bottom:0}.t4 .facts dd{padding-top:2px;padding-bottom:12px}}
@media (max-width:1023px){.rep__h{grid-column:1/3;grid-row:1;margin-bottom:12px}.rep__photo{grid-row:2}.rep__name{grid-row:2}.rep__word{grid-row:3}.rep__career{grid-row:4}.rep .who__bio{grid-row:5}}
.pm__col{grid-row:span 4}
.s8lead{margin-top:20px;line-height:1.8}
.means__lead{margin-top:20px}
.means__link{margin-top:28px;padding:20px 28px;display:grid;grid-template-columns:9em minmax(0,1fr);column-gap:20px;align-items:baseline}
.means__no{font-weight:800;color:var(--accent);font-size:15px;letter-spacing:.06em}
.col .means__no{margin-bottom:6px}
@media (max-width:1023px){.means__link{grid-template-columns:minmax(0,1fr);row-gap:6px;padding:16px 18px}}
.mission__in{max-width:760px}
.mission__in p{font-size:19px;line-height:2.05}
.mission__in p+p{margin-top:20px}
.mission__lead{font-weight:800;font-size:24px!important;line-height:1.6!important}
.mission__end{font-weight:700}
@media (max-width:1023px){.mission__in p{font-size:17px;line-height:1.95}.mission__lead{font-size:20px!important}}
.rep--msg{margin-top:40px;align-items:start}
.rep__msg p+p,.rep__msg ul+p,.rep__msg p+ul{margin-top:18px}
.rep__msg ul.dots li{position:relative;padding-left:18px;line-height:1.8}
.rep__msg ul.dots li::before{content:"";position:absolute;left:0;top:.75em;width:8px;height:8px;border-radius:50%;background:var(--leaf)}
.rep__end{font-weight:700}
@media (max-width:1023px){.rep--msg{margin-top:24px}.rep--msg .rep__name{grid-row:1}.rep--msg .rep__photo{grid-row:1}.rep--msg .rep__career{grid-row:2}.rep--msg .who__bio{grid-row:3}}

/* ===== 3つのことと事業の札（事業一覧.toml から作る。2026-10-11） ===== */
.means{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px;align-items:start}
.means__col{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);padding:24px}
.means__col>h3{font-weight:800;font-size:19px;line-height:1.55;margin-top:4px}
.means__col>p:not(.means__no){margin-top:8px;font-size:16px;line-height:1.8}
.biz{display:block;margin-top:16px;border-radius:12px;text-decoration:none;color:var(--ink)}
.biz picture img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:10px}
.biz__t{display:block;margin-top:10px;font-weight:800;font-size:17px;line-height:1.5}
.biz__d{display:block;font-size:14px;line-height:1.7}
.biz__go{display:block;margin-top:10px;background:var(--accent);color:#fff;border-radius:999px;text-align:center;font-weight:700;padding:8px 12px}
a.biz:hover .biz__go{opacity:.9}
.biz--next{border:2px dashed var(--leaf);padding:12px 14px}
.biz--next .biz__t{margin-top:4px;font-size:15px}
.biz__soon{display:inline-block;font-size:12px;font-weight:700;color:var(--accent);border:1px solid var(--accent);border-radius:5px;padding:0 6px}
@media (max-width:1023px){.means{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:20px}.means__col{padding:18px}}
.msg__in{max-width:760px;margin:0 auto}
.msg__body{margin-top:32px}
.msg__body p{line-height:2}
.msg__body p+p,.msg__body ul+p,.msg__body p+ul{margin-top:20px}
.msg__body ul.dots li{position:relative;padding-left:18px;line-height:1.9}
.msg__body ul.dots li::before{content:"";position:absolute;left:0;top:.8em;width:8px;height:8px;border-radius:50%;background:var(--leaf)}
.msg__body .rep__end{font-weight:700}
.msg__sign{margin-top:32px;text-align:right;font-weight:700}
@media (max-width:1023px){.msg__body{margin-top:20px}.msg__sign{margin-top:24px}}

/* ===== 今、行っている支援の札（事業一覧.toml から作る。2026-10-13） ===== */
.shien{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px;align-items:stretch}
.shien .biz{margin-top:0;padding:20px;display:flex;flex-direction:column}
.shien .biz picture img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:10px}
.shien .biz__t{margin-top:14px;font-size:20px}
.shien .biz__d{margin-top:2px;color:var(--accent);font-weight:700}
.shien .biz__x{margin-top:10px;font-size:16px;line-height:1.85;flex:1}
.shien a.biz__go{margin-top:16px;text-decoration:none}
.shien a.biz__go:hover{opacity:.9}
@media (max-width:1023px){.shien{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:20px}.shien .biz{padding:16px}}
@media (max-width:480px){.hd__in{height:auto;flex-wrap:wrap;row-gap:0;padding:6px 0 2px}.gnav{width:100%;gap:18px}.gnav a{min-height:40px;font-size:15px}}

/* ===== 段の間を詰める・代表の言葉の左端をそろえる・支援の札を広く（2026-10-13） ===== */
.sec{padding-top:80px;padding-bottom:80px}
.shien{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr))}
.shien .biz picture img{aspect-ratio:2/1}
.msg__in{max-width:960px;margin:0}
.msg__body{margin-top:28px}
@media (max-width:1023px){.sec{padding-top:48px;padding-bottom:48px}}

/* ===== 3つのサービスの目次と、サービスごとの頭（2026-10-14） ===== */
.svc-index{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.svc-index a{display:flex;flex-direction:column;border:2px solid var(--accent);border-radius:12px;padding:8px 18px;text-decoration:none;color:var(--ink);font-weight:800;font-size:17px;line-height:1.5;background:var(--card)}
.svc-index a small{font-size:12px;font-weight:700;color:var(--accent);letter-spacing:.06em}
.svc-index a:hover{background:var(--leaf-pale)}
.s3head{grid-column:1/-1;border-top:2px solid var(--leaf);padding-top:20px;margin-bottom:12px}
.s3head__no{font-size:14px;font-weight:700;color:var(--accent);letter-spacing:.08em}
.s3row h3.s3head__nm{font-size:30px;font-weight:800;line-height:1.4;margin-top:2px}
@media (max-width:1023px){.svc-index a{flex:1 1 30%;padding:8px 10px;font-size:15px}.s3row h3.s3head__nm{font-size:24px}.s3head{padding-top:16px}}
@media (max-width:600px){.svc-index{flex-direction:column;gap:8px}.svc-index a{flex:none;flex-direction:row;align-items:baseline;gap:12px;padding:8px 14px}}

/* ===== 段の間をさらに詰める（2026-10-14） ===== */
.sec{padding-top:56px;padding-bottom:56px}
.s3list{row-gap:40px}
@media (max-width:1023px){.sec{padding-top:36px;padding-bottom:36px}.s3list{row-gap:32px}}
@media (min-width:1024px){.hero--s1 .hero__lead{font-size:16px;max-width:720px}}
@media (min-width:1024px){.hero--s1 .hero__txt{width:740px}}
@media (min-width:1024px) and (max-width:1279px){.hero--s1 .hero__txt{width:auto;max-width:760px;background:rgba(251,247,238,.9);padding:20px 28px;border-radius:16px;left:calc(var(--pad) - 28px)}}

/* ===== 学びの支援（学習塾）のページ（2026-10-14） ===== */
.jk-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:48px;align-items:center;padding:56px var(--pad) 40px}
.jk-hero>*{min-width:0}
.jk-hero__name{font-weight:700;color:var(--accent);letter-spacing:.06em}
.jk-hero h1{font-weight:800;font-size:40px;line-height:1.45;margin-top:8px}
.jk-hero h1 .ln{display:block}
.jk-hero__lead{margin-top:16px;font-size:18px;font-weight:700;line-height:1.7}
.jk-hero__sub{margin-top:8px}
.jk-hero__img img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r);box-shadow:var(--shadow-photo)}
.jk-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px}
.jk-stats li{background:var(--card);border-radius:12px;box-shadow:var(--shadow);padding:12px 8px;text-align:center;line-height:1.5}
.jk-stats b{display:block;font-size:22px;font-weight:800;color:var(--accent)}
.jk-stats small{font-size:13px}
.jk-cta{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;margin-top:24px}
.jk-cta--c{justify-content:center}
.jk-tel{font-weight:800;font-size:22px;color:var(--ink);text-decoration:none;font-variant-numeric:tabular-nums}
.jk-note{margin-top:10px;font-size:14px}
.jk-lead{margin-top:16px}
.jk-worry__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}
.jk-worry__list li{padding:16px 20px;font-weight:700;border-left:6px solid var(--leaf)}
.jk-bridge{margin-top:24px;font-weight:800;font-size:19px;color:var(--accent)}
.jk-h2-2{margin-top:56px}
.jk-reasons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px}
.jk-reasons li{padding:24px}
.jk-num{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--accent);color:#fff;font-weight:800}
.jk-reasons h3{margin-top:12px;font-weight:800;font-size:19px;line-height:1.55}
.jk-reasons p{margin-top:8px;font-size:16px;line-height:1.85}
.jk-grade{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:24px;align-items:center;margin-top:28px}
.jk-grade>*{min-width:0}
.jk-grade img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r)}
.jk-grade__txt{padding:24px}
.jk-grade__txt h3{font-weight:800;font-size:20px}
.jk-grade__h{margin-top:8px;font-size:14px;font-weight:700;color:var(--accent)}
.jk-dots li{position:relative;padding-left:18px;line-height:1.85}
.jk-dots li::before{content:"";position:absolute;left:0;top:.75em;width:8px;height:8px;border-radius:50%;background:var(--leaf)}
.jk-grade__how{margin-top:12px;padding-top:12px;border-top:1px dashed var(--leaf);font-size:16px;line-height:1.85}
.jk-after{margin-top:24px}
.jk-room__img{margin-top:24px}
.jk-room__img img{width:100%;border-radius:var(--r)}
.jk-fee__box{margin-top:24px;padding:24px}
.jk-price{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.jk-price th,.jk-price td{border-bottom:1px solid var(--leaf-pale);padding:12px 10px;text-align:center;vertical-align:middle}
.jk-price thead th{background:var(--accent);color:#fff;font-weight:700;line-height:1.5}
.jk-price thead th small{display:block;font-size:12px;font-weight:500}
.jk-price tbody th{background:var(--leaf-pale);font-weight:700}
.jk-price td.y{font-weight:700}
.jk-fee__other{display:flex;flex-wrap:wrap;gap:12px 32px;margin-top:20px}
.jk-fee__other div{display:flex;gap:12px;align-items:baseline}
.jk-fee__other dt{font-weight:700}
.jk-fee__other dd{margin:0;font-weight:800}
.jk-fee__note{margin-top:12px;font-size:14px}
.jk-voices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px}
.jk-voices li{padding:22px;display:flex;flex-direction:column}
.jk-voice__tag{align-self:flex-start;font-size:13px;font-weight:700;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:0 10px}
.jk-voices blockquote{margin:12px 0 0;font-size:16px;line-height:1.85;flex:1}
.jk-voice__who{margin-top:12px;font-size:14px;font-weight:700;text-align:right}
.jk-head__in{display:grid;grid-template-columns:240px minmax(0,1fr);gap:40px;align-items:start;margin-top:24px}
.jk-head__photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r);box-shadow:var(--shadow-photo)}
.jk-head__name{font-weight:800;font-size:22px}
.jk-head__name small{display:block;font-size:14px;font-weight:500}
.jk-head__meta{margin-top:8px;font-size:14px;line-height:1.8}
.jk-head__msg{margin-top:16px}
.jk-head__msg p+p{margin-top:12px}
.jk-head__msg b{color:var(--accent)}
.jk-facts{margin-top:20px}
.jk-facts a{font-weight:700}
.jk-final__box{padding:40px 32px;text-align:center}
.jk-final__label{font-weight:700;color:var(--accent);letter-spacing:.06em}
.jk-final__box h2{margin-top:4px}
.jk-final__box h2::after{margin-left:auto;margin-right:auto}
.jk-final__box>p:not(.jk-final__label):not(.jk-note){margin-top:16px}
@media (max-width:1023px){
  .jk-hero{grid-template-columns:minmax(0,1fr);gap:20px;padding:20px var(--pad) 36px}
  .jk-hero__img{order:-1}
  .jk-hero h1{font-size:26px}
  .jk-hero__lead{font-size:17px}
  .jk-stats b{font-size:18px}
  .jk-worry__list,.jk-reasons,.jk-voices{grid-template-columns:minmax(0,1fr)}
  .jk-grade{grid-template-columns:minmax(0,1fr);gap:12px}
  .jk-head__in{grid-template-columns:minmax(0,1fr);gap:16px}
  .jk-head__photo{max-width:200px}
  .jk-h2-2{margin-top:40px}
  .jk-final__box{padding:28px 18px;text-align:left}
  .jk-final__box h2::after{margin-left:0}
  .jk-cta--c{justify-content:flex-start}
  .jk-price th,.jk-price td{padding:10px 4px;font-size:15px}
}
@media (max-width:480px){.jk-facts{grid-template-columns:minmax(0,1fr);row-gap:0}.jk-facts dt{padding-bottom:0}.jk-facts dd{padding-top:2px;padding-bottom:12px}}
.jk-facts a[href^="mailto"]{word-break:break-all}

/* 学びの支援: 写真と文の枠の高さをそろえる・料金表の区分の境に線（2026-10-14） */
.jk-grade{align-items:stretch}
.jk-grade figure,.jk-grade picture{height:100%}
.jk-grade img{height:100%;aspect-ratio:auto;min-height:240px}
.jk-price tr.g th,.jk-price tr.g td{border-top:2px solid var(--accent)}
@media (max-width:1023px){.jk-grade figure,.jk-grade picture{height:auto}.jk-grade img{height:auto;aspect-ratio:3/2;min-height:0}}

/* ===== 現状 → 改善後の状態の対の表（2026-10-14） ===== */
.s3pair{grid-column:1/-1;background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);padding:20px 32px 24px}
.pair-lead{font-weight:800;color:var(--accent);font-size:16px}
.pair-t{width:100%;border-collapse:collapse;margin-top:8px}
.pair-t th{font-size:14px;font-weight:700;color:var(--accent);text-align:left;padding:6px 10px;border-bottom:2px solid var(--leaf-pale)}
.pair-t td{padding:12px 10px;vertical-align:middle;border-bottom:1px solid var(--leaf-pale);font-size:16px;line-height:1.7}
.pair-t tr:last-child td{border-bottom:0}
.pair-t .pair-ar{width:2.5em;padding:0;text-align:center}
.pair-t td.pair-ar::before{content:"→";color:var(--accent);font-weight:800;font-size:18px}
.pair-t td.pair-after{font-weight:700}
.pair-t td.pair-now{width:46%}
.pair-ind{display:inline-block;margin-left:6px;font-size:13px;color:#5B6664}
.pair-deliv{margin-top:14px;padding-top:12px;border-top:1px dashed var(--leaf);font-size:15px;line-height:1.7}
.pair-deliv b{color:var(--accent);margin-right:10px}
@media (max-width:1023px){
  .s3pair{padding:16px 16px 18px;margin-top:16px}
  .pair-t thead{display:none}
  .pair-t,.pair-t tbody,.pair-t tr,.pair-t td{display:block;width:auto}
  .pair-t tr{background:var(--leaf-pale);border-radius:12px;padding:10px 14px;margin-top:10px}
  .pair-t td{border:0;padding:0;font-size:15px}
  .pair-t td.pair-now::before{content:"現状";display:block;font-size:12px;font-weight:700;color:var(--accent)}
  .pair-t td.pair-ar{text-align:left;padding:2px 0}
  .pair-t td.pair-ar::before{content:"↓"}
  .pair-t td.pair-after::before{content:"改善後";display:block;font-size:12px;font-weight:700;color:var(--accent)}
  .pair-t td.pair-now{width:auto}
}
@media (min-width:1024px){.s3pair{margin-top:24px}}

/* ===== 対の表: 現状と改善後を同じ幅に、矢印を真ん中に（2026-10-14 改） ===== */
@media (min-width:1024px){
  .pair-t{table-layout:fixed}
  .pair-t th.pair-ar,.pair-t td.pair-ar{width:3em;text-align:center}
  .pair-t td.pair-now,.pair-t td.pair-after,.pair-t th:not(.pair-ar){width:auto;white-space:normal}
  .pair-t td.pair-after{padding-left:10px}
}
@media (min-width:1024px) and (max-width:1199px){.pair-t td{font-size:14px}}
@media (min-width:1200px) and (max-width:1279px){.pair-t td{font-size:15px}.s3pair{padding-left:24px;padding-right:24px}}

/* ===== 流れの段: 図を横幅いっぱいに、5つの説明を番号つきの札に（2026-10-15） ===== */
.diag--s5{max-width:none;margin-top:28px}
.diag--s5 .diag__cap5{counter-reset:step;gap:14px;margin-top:16px;align-items:stretch}
.diag--s5 .diag__cap5>span{counter-increment:step;background:var(--card);border-radius:12px;box-shadow:var(--shadow);padding:14px 14px 16px;text-align:left}
.diag--s5 .diag__cap5 b{display:flex;align-items:center;gap:8px;font-size:16px;line-height:1.4}
.diag--s5 .diag__cap5 b::before{content:counter(step);flex:none;display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;font-size:13px;font-weight:800}
.diag--s5 .diag__cap5 small{margin-top:8px}
@media (max-width:1023px){
  .diag--s5 .diag__cap5{gap:10px}
  .diag--s5 .diag__cap5>span{padding:12px}
}

/* ===== 料金の目安: お渡しまでの期間（2026-10-15） ===== */
.pm__lv .d{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:2px 0 2px;font-weight:700;font-size:16px;line-height:1.6}
.pm__lv .d i{font-style:normal;font-size:13px;font-weight:700;color:var(--accent);background:var(--leaf-pale);border-radius:5px;padding:0 7px;line-height:1.7}
