@charset "UTF-8";
/* ============================================================
   オールライト天文館事業所 求人LP
   ワイヤーフレーム第19版（2026-08-28）の実装
   色・書体はポスター v9（黄色）の版下から引いています
   ============================================================ */

:root{
  --navy:#16233d;      /* 見出し・数字。ポスターと同じ */
  --ink:#2c3a54;       /* 長文の本文。navyより少し軽く */
  --gray:#5d6675;
  --yellow:#fff050;    /* 紙の地色 */
  --orange:#e8620a;    /* 差し色は一つだけ。図形・罫線に使います */
  --orange-t:#b8480a;  /* 同じ差し色の文字用。cream地で4.9:1（AA） */
  --cream:#fbf6ec;
  --paper:#fff;
  --rule:#e5e1d6;
  --check:#b3261e;     /* 要確認マーカー */

  --jp:"Zen Kaku Gothic New","Hiragino Sans","Hiragino Kaku Gothic ProN",
       "Noto Sans JP",sans-serif;
  --num:"Archivo","Zen Kaku Gothic New","Hiragino Sans",sans-serif;

  --pad:clamp(20px,5.4vw,40px);
  --wrap:720px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--cream);color:var(--ink);
  font-family:var(--jp);font-weight:500;font-size:16px;line-height:1.85;
  font-feature-settings:"palt" 1;
  text-spacing-trim:trim-start;
}
img{max-width:100%;display:block}
figure{margin:0}   /* ブラウザ既定の 1em 40px を打ち消す。写真が内側に寄ってしまうため */
a{color:inherit}

/* 目に見えるフォーカス。キーボードでも指でも位置を見失わせない */
:focus-visible{outline:3px solid var(--orange-t);outline-offset:3px;border-radius:4px}

.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--pad)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* ── 事業所の名乗り ───────────────────────────────── */
.org{font-size:.86rem;line-height:1.5;font-weight:700;color:var(--navy);letter-spacing:.02em}
.org small{display:block;font-size:.82em;font-weight:500;color:var(--gray)}

/* ============================================================
   画面0 ── 分岐ページ（スクロールさせない）
   ============================================================ */
.gate{
  min-height:100dvh;background:var(--yellow);color:var(--navy);
  display:flex;flex-direction:column;
  padding-block:clamp(12px,2.1vh,28px);
}
.gate-in{max-width:560px;margin-inline:auto;width:100%;padding-inline:var(--pad);
  display:flex;flex-direction:column;flex:1;gap:clamp(10px,1.7vh,20px)}
.gate h1{
  margin:0;font-weight:900;line-height:1.1;letter-spacing:-.02em;
  font-size:clamp(1.82rem,9.3vw,3rem);
}
.gate .lead{margin:.3em 0 0;font-size:clamp(.84rem,3.4vw,1rem);font-weight:700;color:#40403a;line-height:1.5}
.choices{display:flex;flex-direction:column;gap:clamp(9px,1.5vh,16px);flex:1;justify-content:center}

.choice{
  display:block;text-decoration:none;background:var(--paper);color:var(--navy);
  border:2px solid var(--navy);border-radius:14px;
  padding:clamp(11px,1.9vh,20px) clamp(15px,4vw,22px);
  position:relative;transition:transform .12s ease,box-shadow .12s ease;
  box-shadow:0 3px 0 var(--navy);
}
.choice:hover,.choice:focus-visible{transform:translateY(-2px);box-shadow:0 5px 0 var(--navy)}
.choice:active{transform:translateY(1px);box-shadow:0 1px 0 var(--navy)}
.choice b{display:block;font-size:clamp(1.24rem,5.6vw,1.6rem);font-weight:900;letter-spacing:-.01em;line-height:1.25}
.choice .sub{display:block;font-size:clamp(.86rem,3.5vw,.98rem);font-weight:700;line-height:1.45;margin-top:.2em}
.choice .det{display:block;font-size:clamp(.76rem,3.1vw,.87rem);font-weight:500;color:var(--gray);line-height:1.5;margin-top:.24em}
.choice .fam{display:block;font-size:clamp(.76rem,3.1vw,.87rem);font-weight:700;color:var(--orange-t);margin-top:.36em;line-height:1.4}
.choice::after{content:"▶";position:absolute;right:clamp(13px,4vw,20px);top:50%;
  transform:translateY(-50%);font-size:.86rem;color:var(--orange-t)}

.gate-tel{border-top:2px solid rgba(22,35,61,.28);padding-top:clamp(4px,1vh,14px);text-align:center}
.gate-tel .cap{font-size:.76rem;font-weight:700;color:#40403a;letter-spacing:.06em}
.gate-tel a{display:inline-block;font-family:var(--num);font-weight:800;
  font-size:clamp(1.5rem,7.4vw,2.1rem);letter-spacing:-.02em;text-decoration:none;line-height:1.2;
  padding-block:5px;margin-block:-1px}
.gate-tel p{margin:.1em 0 0;font-size:clamp(.7rem,2.9vw,.8rem);font-weight:500;line-height:1.55;color:#40403a}

/* ============================================================
   LP共通
   ============================================================ */
.hero{background:var(--yellow);color:var(--navy);padding-bottom:clamp(24px,5vw,38px)}
.hero-bar{padding-block:clamp(10px,2.4vw,14px);display:flex;align-items:center;gap:12px;justify-content:space-between}
.back{font-size:.78rem;font-weight:700;color:var(--navy);text-decoration:none;white-space:nowrap;opacity:.72;
  display:inline-flex;align-items:center;min-height:44px;padding-inline:6px;margin-right:-6px}
.back:hover{opacity:1}
.hero-img{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:12px;border:2px solid var(--navy)}
.hero-img img{width:100%;height:100%;object-fit:cover}
.hero h1{margin:clamp(16px,3.6vw,24px) 0 0;font-weight:900;line-height:1.14;letter-spacing:-.022em;
  font-size:clamp(2.05rem,9.4vw,3.15rem)}
.hero h1.long{font-size:clamp(1.62rem,7.3vw,2.6rem)}
.hero .where{margin:.7em 0 0;font-size:clamp(.84rem,3.4vw,.95rem);font-weight:700;line-height:1.65}
.hero .where span{display:block;font-weight:500;color:#403f38}

/* 節 */
.sec{padding-block:clamp(34px,7.4vw,58px);border-top:1px solid var(--rule)}
.sec:first-of-type{border-top:0}
.sec > .wrap > h2{
  margin:0 0 .8em;font-size:clamp(1.32rem,5.6vw,1.72rem);font-weight:900;
  color:var(--navy);letter-spacing:-.01em;line-height:1.35;
}
.eyebrow{display:block;font-family:var(--num);font-size:.72rem;font-weight:700;
  letter-spacing:.16em;color:var(--orange-t);margin-bottom:.5em}
.sec p{margin:0 0 1em;font-size:1rem;line-height:1.9}
.sec p:last-child{margin-bottom:0}
.note{font-size:.86rem;color:var(--gray);line-height:1.75}

/* 要確認マーカー ── 決まっていないものを、決まったように見せないための印 */
.check{
  display:block;margin:.7em 0 0;padding:.62em .9em;
  border:1.5px dashed var(--check);border-radius:8px;background:#fff;
  font-size:.82rem;line-height:1.7;color:var(--check);font-weight:700;
}
.check::before{content:"要確認 ／ ";font-family:var(--num);letter-spacing:.08em;font-size:.9em}
.check.inline{display:inline-block;margin:0 0 0 .5em;padding:.12em .5em;font-size:.72rem;border-radius:999px;vertical-align:.12em}
.check.inline::before{content:"要確認"}

/* ── 職場カード（この画面のかなめ）─────────────────
   6つの現場を、9:00〜18:00の同じ物差しの上に並べます。
   「どれを選ぶか」がこのLPの最初の判断なので、比べられる形にします */
.sites{display:grid;gap:clamp(12px,2.6vw,16px);grid-template-columns:1fr}
@media (min-width:640px){.sites{grid-template-columns:1fr 1fr}}
.site{background:var(--paper);border:1.5px solid var(--rule);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.site figure{margin:0;aspect-ratio:16/9;background:#e9e6dd;position:relative;overflow:hidden}
/* カードは縦積みのflex。写真を絶対配置にしないと、画像が自分の高さで枠を押し広げます */
.site figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%}
.site figure figcaption{position:absolute;right:6px;bottom:6px;background:rgba(22,35,61,.78);color:#fff;
  font-size:.62rem;font-weight:700;letter-spacing:.08em;padding:.18em .5em;border-radius:4px}
.site .body{padding:clamp(13px,3.2vw,17px);display:flex;flex-direction:column;gap:.5em;flex:1}
.site h3{margin:0;font-size:clamp(1rem,4.2vw,1.1rem);font-weight:900;color:var(--navy);line-height:1.45}
.site .place{margin:0;font-size:.85rem;font-weight:700;color:var(--gray)}

/* はたらく時間 ── カードの下端に揃えて、6つを見比べられるようにする */
.site .time{margin:auto 0 0;padding-top:.35em;font-family:var(--num);font-size:1.02rem;
  font-weight:700;color:var(--navy);letter-spacing:.01em;line-height:1.5}
.site .time .or{font-family:var(--jp);font-weight:500;color:var(--gray);font-size:.84em}
.site .time .sm{font-family:var(--jp);font-size:.82em;font-weight:500;color:var(--gray);letter-spacing:0}
.site .time.undecided{font-family:var(--jp);font-size:.92rem;color:var(--check)}


/* ── お給料 ───────────────────────────────────── */
.pay{background:var(--paper);border:2px solid var(--navy);border-radius:16px;padding:clamp(18px,4.4vw,28px)}
.pay .big{font-family:var(--num);font-weight:800;color:var(--navy);line-height:1;
  font-size:clamp(2.5rem,12vw,3.6rem);letter-spacing:-.03em;display:block}
.pay .big em{font-style:normal;font-family:var(--jp);font-size:.34em;font-weight:900;margin-left:.15em;letter-spacing:0}
.pay .big.range{font-size:clamp(1.9rem,8.4vw,3rem)}
/* 文字だけを拡大されたとき、金額は「〜」で折り返してよい。ただし円は数字から離さない */
.pay .big .nb{white-space:nowrap}
.pay .unit{font-family:var(--jp);font-size:.9rem;font-weight:900;color:var(--orange-t);display:block;margin-bottom:.2em;letter-spacing:.06em}

/* ── 1日の流れ ─────────────────────────────────── */
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:1.2em}
.tab{font:inherit;font-weight:700;font-size:.88rem;cursor:pointer;
  background:var(--paper);color:var(--navy);border:1.5px solid var(--navy);
  border-radius:999px;padding:.42em 1em;min-height:44px}
.tab[aria-selected="true"]{background:var(--navy);color:#fff}
.flow{list-style:none;margin:0;padding:0;border-left:2px solid var(--rule);padding-left:clamp(14px,3.6vw,20px)}
.flow li{position:relative;padding-bottom:1.15em}
.flow li:last-child{padding-bottom:0}
.flow li::before{content:"";position:absolute;left:calc(-1 * clamp(14px,3.6vw,20px) - 6px);top:.62em;
  width:10px;height:10px;border-radius:50%;background:var(--navy);border:2px solid var(--cream)}
.flow .t{font-family:var(--num);font-weight:700;font-size:1rem;color:var(--orange-t);margin-right:.6em;letter-spacing:.01em}
.flow .d{font-weight:700;color:var(--navy)}

/* ── 手順（本当に順番があるものだけ番号を振る）───────── */
.steps{list-style:none;counter-reset:s;margin:0;padding:0;display:grid;gap:10px}
.steps li{counter-increment:s;background:var(--paper);border:1.5px solid var(--rule);border-radius:12px;
  padding:clamp(12px,3vw,16px) clamp(14px,3.4vw,18px) clamp(12px,3vw,16px) clamp(48px,12vw,58px);
  position:relative;font-weight:700;color:var(--navy);line-height:1.6}
.steps li::before{content:counter(s);position:absolute;left:clamp(13px,3.4vw,17px);top:50%;transform:translateY(-50%);
  font-family:var(--num);font-weight:800;font-size:1.15rem;color:#fff;background:var(--navy);
  width:1.75em;height:1.75em;border-radius:50%;display:grid;place-items:center;line-height:1}
.steps li .why{display:block;font-weight:500;font-size:.86rem;color:var(--gray);margin-top:.2em}
.gap{margin-top:12px;background:var(--yellow);border-radius:12px;padding:clamp(13px,3.4vw,18px);
  font-size:.92rem;font-weight:700;color:var(--navy);line-height:1.75}

/* ── 表 ───────────────────────────────────────── */
.spec{width:100%;border-collapse:collapse;background:var(--paper);border:1.5px solid var(--rule);border-radius:12px;overflow:hidden}
.spec th,.spec td{text-align:left;vertical-align:top;padding:.85em 1em;border-top:1px solid var(--rule);font-size:.94rem;line-height:1.72}
.spec tr:first-child th,.spec tr:first-child td{border-top:0}
.spec th{width:32%;font-weight:900;color:var(--navy);background:#faf8f2;white-space:nowrap}
.spec td b{font-family:var(--num);font-weight:800;color:var(--navy);font-size:1.05em}
@media (max-width:479px){
  .spec th,.spec td{display:block;width:auto}
  .spec td{border-top:0;padding-top:0}
  .spec th{background:none;padding-bottom:.2em}
}

/* ── 話しかたの例（吹き出し）─────────────────────── */
.says{display:grid;gap:12px}
.say{background:var(--paper);border:1.5px solid var(--navy);border-radius:14px;padding:clamp(14px,3.6vw,20px);position:relative}
.say q{display:block;font-size:clamp(1.05rem,4.6vw,1.28rem);font-weight:900;color:var(--navy);line-height:1.55;quotes:"「" "」"}
.say .after{display:block;margin-top:.45em;font-size:.86rem;font-weight:500;color:var(--gray);line-height:1.7}

/* ── Q&A ──────────────────────────────────────── */
.qa{display:grid;gap:0;background:var(--paper);border:1.5px solid var(--rule);border-radius:12px;overflow:hidden}
.qa details{border-top:1px solid var(--rule)}
.qa details:first-child{border-top:0}
.qa summary{cursor:pointer;list-style:none;padding:.95em clamp(14px,3.6vw,18px);
  font-weight:900;color:var(--navy);font-size:.98rem;line-height:1.6;display:flex;gap:.6em;align-items:flex-start}
.qa summary::-webkit-details-marker{display:none}
.qa summary::before{content:"Q";font-family:var(--num);color:var(--orange-t);font-weight:800;flex:none}
.qa summary::after{content:"＋";margin-left:auto;color:var(--gray);font-weight:700;flex:none}
.qa details[open] summary::after{content:"−"}
.qa .a{padding:0 clamp(14px,3.6vw,18px) 1em clamp(38px,10vw,44px);font-size:.94rem;line-height:1.85;margin:0}

/* ── 問い合わせ ───────────────────────────────── */
.contact{background:var(--navy);color:#fff}
.contact > .wrap > h2{color:#fff}
.contact > .wrap > .eyebrow{color:var(--yellow)}
.contact > .wrap > p{color:#d8dce4}
.ways{display:grid;gap:12px;margin-top:1.2em}
@media (min-width:560px){.ways{grid-template-columns:1fr 1fr}}
.way{display:block;text-decoration:none;border-radius:14px;padding:clamp(16px,4vw,22px);text-align:center;
  border:2px solid transparent;transition:transform .12s ease}
.way:hover,.way:focus-visible{transform:translateY(-2px)}
.way .k{display:block;font-family:var(--num);font-size:.7rem;font-weight:700;letter-spacing:.16em;opacity:.7}
.way .n{display:block;font-weight:900;font-size:1.16rem;margin-top:.2em}
.way .v{display:block;font-family:var(--num);font-weight:800;font-size:clamp(1.5rem,7vw,1.9rem);letter-spacing:-.02em;line-height:1.25;margin-top:.1em}
.way .h{display:block;font-size:.8rem;font-weight:500;margin-top:.25em;line-height:1.6}
.way.tel{background:var(--yellow);color:var(--navy)}
.way.form{background:transparent;color:#fff;border-color:var(--yellow)}
.way.form .v{font-family:var(--jp);font-size:1.16rem;font-weight:900}

/* ── 画面下に貼りつくバナー ───────────────────────── */
.dock{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;
  background:var(--navy);border-top:2px solid var(--yellow);
  padding-bottom:env(safe-area-inset-bottom)}
.dock a{flex:1;text-decoration:none;text-align:center;padding:.62em .5em;color:#fff;line-height:1.35}
.dock a + a{border-left:1px solid rgba(255,255,255,.28)}
.dock .l{display:block;font-size:.66rem;font-weight:700;opacity:.78}
.dock .v{display:block;font-family:var(--num);font-weight:800;font-size:1.14rem;letter-spacing:-.01em}
.dock a.f .v{font-family:var(--jp);font-size:1rem;font-weight:900;color:var(--yellow)}
.has-dock{padding-bottom:76px}

/* ── フォーム ─────────────────────────────────── */
.field{margin-bottom:1.3em}
.field > label,.field > legend{display:block;font-weight:900;color:var(--navy);font-size:.98rem;margin-bottom:.35em}
.req{font-size:.7rem;font-weight:700;color:#fff;background:var(--orange-t);border-radius:4px;padding:.1em .45em;margin-left:.5em;vertical-align:.14em}
.opt{font-size:.7rem;font-weight:700;color:var(--gray);border:1px solid var(--rule);border-radius:4px;padding:.1em .45em;margin-left:.5em;vertical-align:.14em}
.field input[type=text],.field input[type=tel],.field input[type=email],.field select,.field textarea{
  width:100%;font:inherit;font-weight:500;color:var(--ink);background:var(--paper);
  border:1.5px solid #c8c3b6;border-radius:10px;padding:.72em .85em;line-height:1.6}
.field textarea{min-height:6.5em;resize:vertical}
.field .hint{font-size:.84rem;color:var(--gray);margin:.35em 0 0;line-height:1.7}
fieldset{border:0;margin:0;padding:0}
.radios{display:grid;gap:10px}
.radios label{display:flex;gap:.7em;align-items:flex-start;background:var(--paper);
  border:1.5px solid #c8c3b6;border-radius:12px;padding:.85em 1em;font-weight:700;color:var(--navy);cursor:pointer}
.radios input{margin-top:.35em;accent-color:var(--orange-t);width:1.15em;height:1.15em;flex:none}
.radios label:has(input:checked){border-color:var(--navy);border-width:2px;background:#fffdf3}
.submit{width:100%;font:inherit;font-weight:900;font-size:1.15rem;color:var(--navy);background:var(--yellow);
  border:2px solid var(--navy);border-radius:14px;padding:.9em 1em;cursor:pointer;box-shadow:0 3px 0 var(--navy)}
.submit:hover{transform:translateY(-2px)}
.submit:active{transform:translateY(1px);box-shadow:0 1px 0 var(--navy)}

/* ── 脚 ───────────────────────────────────────── */
.foot{background:var(--navy);color:#aeb7c6;font-size:.8rem;line-height:1.8;padding-block:clamp(22px,5vw,32px)}
.foot b{color:#fff;font-weight:900;font-size:.95rem;display:block}
.foot a{color:#fff}

@media (prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important}
  .choice:hover,.way:hover,.submit:hover{transform:none}
}

/* 現場の注記 */
.sites-note{margin-top:1em;background:var(--paper);border-left:4px solid var(--orange);
  border-radius:0 10px 10px 0;padding:.9em 1.1em;font-size:.9rem;line-height:1.8}

/* 写真の帯 */
.photos{display:grid;gap:clamp(12px,2.6vw,16px);margin-top:1.2em}
.photo{border-radius:14px;overflow:hidden;border:1.5px solid var(--rule);position:relative;aspect-ratio:16/9;background:#e9e6dd}
.photo img{width:100%;height:100%;object-fit:cover}
.photo figcaption{position:absolute;right:8px;bottom:8px;background:rgba(22,35,61,.78);color:#fff;
  font-size:.64rem;font-weight:700;letter-spacing:.08em;padding:.2em .55em;border-radius:4px}

/* 「あれば尚可」 */
.nice{background:var(--paper);border:1.5px solid var(--rule);border-radius:12px;padding:clamp(14px,3.6vw,20px);margin-top:14px}
.nice > b{display:block;font-weight:900;color:var(--navy);font-size:.98rem;margin-bottom:.15em}
.nice > .lead{margin:0 0 .7em;font-size:.84rem;color:var(--gray);font-weight:700}
.nice ul{margin:0;padding-left:1.2em}
.nice li{margin-bottom:.5em;font-weight:700;color:var(--navy);line-height:1.65}
.nice li:last-child{margin-bottom:0}
.nice li span{display:block;font-weight:500;font-size:.86rem;color:var(--gray)}

/* 送信のあと */
.done{background:var(--paper);border:2px solid var(--navy);border-radius:16px;padding:clamp(20px,5vw,30px);text-align:center}
.done b{display:block;font-size:clamp(1.3rem,5.6vw,1.6rem);font-weight:900;color:var(--navy);line-height:1.4}
.done p{margin:.7em 0 0;font-size:.95rem}
.err{background:#fff;border:2px solid var(--check);border-radius:14px;padding:clamp(15px,4vw,20px);margin-bottom:1.2em;color:var(--check);font-weight:700;line-height:1.75}
.err a{font-family:var(--num);font-weight:800;font-size:1.25em;letter-spacing:-.01em}
.hurry{margin-top:1.6em;background:var(--navy);color:#fff;border-radius:16px;padding:clamp(18px,4.4vw,26px);text-align:center}
.hurry .cap{font-size:.8rem;font-weight:700;color:var(--yellow);letter-spacing:.08em;margin:0}
.hurry a{display:inline-block;font-family:var(--num);font-weight:800;font-size:clamp(1.7rem,8vw,2.3rem);
  letter-spacing:-.02em;text-decoration:none;color:#fff;line-height:1.25;margin-top:.15em;
  padding-block:4px;min-height:44px}
.hurry p.h{margin:.1em 0 0;font-size:.85rem;color:#d8dce4}

/* 背の低い画面（iPhone SE 第1世代 320×568 など）でも、分岐ページを1画面に収める。
   ワイヤー02の「ここは迷わせないための一画面なので、スクロールさせません」を、
   古い端末でも守るための一段です */
@media (max-height:680px){
  .gate{padding-block:8px}
  .gate-in{gap:8px}
  .gate h1{font-size:clamp(1.5rem,8.4vw,2.4rem)}
  .gate .lead{font-size:clamp(.78rem,3.2vw,.92rem);margin-top:.2em}
  .choices{gap:8px}
  .choice{padding:9px clamp(13px,4vw,20px)}
  .choice b{font-size:clamp(1.1rem,5vw,1.4rem)}
  .choice .sub{font-size:clamp(.8rem,3.3vw,.92rem);margin-top:.14em}
  .choice .det{font-size:clamp(.72rem,3vw,.83rem);line-height:1.42;margin-top:.18em}
  .choice .fam{font-size:clamp(.72rem,3vw,.83rem);margin-top:.28em}
  .gate-tel{padding-top:4px}
  .gate-tel a{font-size:clamp(1.3rem,6.6vw,1.8rem)}
  .gate-tel p{font-size:clamp(.66rem,2.8vw,.76rem);line-height:1.5}
}

/* 濃い地の上では、フォーカスの枠を黄色に。オレンジはnavyの上で2.96:1しかありません */
.contact :focus-visible,.dock :focus-visible,.hurry :focus-visible,.foot :focus-visible{outline-color:var(--yellow)}
.way.tel:focus-visible{outline-color:var(--navy)}

/* JavaScriptが動かないとき、タブは切り替わりません。
   そのときは6つの現場をすべて並べます（見出し付き） */
.flow-site{display:none;margin:0 0 .6em;font-weight:900;color:var(--navy);font-size:1.02rem}

/* 印刷 ── ご家族・支援員の方が刷って相談に使う想定 */
@media print{
  @page{size:A4;margin:14mm}
  body{background:#fff;color:#000;font-size:10.5pt}
  .dock,.back,.tabs{display:none!important}
  .has-dock{padding-bottom:0}
  [role=tabpanel][hidden]{display:block!important}
  .flow-site{display:block}
  .hero{background:#fff;border-bottom:2px solid #000}
  .contact{background:#fff;color:#000}
  .contact > .wrap > h2,.contact > .wrap > p{color:#000}
  .way{border:1.5px solid #000!important;color:#000!important;background:#fff!important}
  .way .v,.way .n,.way .k,.way .h{color:#000!important}
  .foot{background:#fff;color:#000}
  .foot b,.foot a{color:#000}
  .qa details{display:block}
  .sec{break-inside:auto;padding-block:5mm}
  .site,.say,.steps li,.pay,.spec,.qa details{break-inside:avoid}
  a[href^="tel:"]{text-decoration:none}
  img{max-height:42mm;object-fit:cover}
  .hero-img,.photo{aspect-ratio:auto;max-height:42mm}
  .site figure{aspect-ratio:16/9;max-height:32mm}
  .sites{grid-template-columns:1fr 1fr}
  .sec > .wrap > h2{break-after:avoid}
}

/* Q&Aの行は角丸のため overflow:hidden で囲っています。
   そのままだとフォーカスの枠が左右で切れるので、内側に描きます */
.qa summary:focus-visible{outline-offset:-3px}
