/* 商品券の手引き トップ 仕上げ(v2 を土台に 2026-11-09 の6件を直し、2026-11-10 の原稿の作り直しに合わせて節を足したもの)
   字の大きさは --f1〜--f6 の6種だけ。背景は 白・紺(--navy)・薄青(--mist)の3色だけ */
:root{
  --ink:#0b2342; --navy:#0a2a52; --blue:#0f4c93; --pale:#86b6e3;
  --mist:#eef4fa; --sky:#dbe7f3; --line:#c5d5e7; --muted:#3b5575; --hand:#f2b233;
  --jp:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,sans-serif;
  --num:"Jost","Noto Sans JP",sans-serif;
  --pad:48px;
  --f1:13px;                       /* PR・札・軸・注 */
  --f2:15px;                       /* ナビ・ボタン・脚注 */
  --f3:17px;                       /* 本文 */
  --f4:20px;                       /* 添え・h3・強みの1文 */
  --f5:28px;                       /* h2・申し込み先 */
  --f6:clamp(26px,3.3vw,46px);     /* h1 */
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:96px;-webkit-text-size-adjust:100%}
body{font-family:var(--jp);color:var(--ink);background:#fff;font-size:var(--f3);line-height:1.9;font-weight:400;
  word-break:auto-phrase;line-break:strict;overflow-wrap:break-word;font-feature-settings:"palt";-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
small{font-size:inherit}
img{display:block;max-width:100%;height:auto}
h1,h2,h3{font-weight:700;line-height:1.4}
.wrap{max-width:1440px;margin:0 auto;padding:0 var(--pad);position:relative}
.pc{display:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:0s!important;animation:none!important}
}

/* ---------- PR 帯 ---------- */
.prstrip{height:30px;background:var(--navy);color:#fff;display:flex;align-items:center;padding:0 var(--pad);position:relative;z-index:30;border-bottom:1px solid rgba(255,255,255,.14)}
.prstrip small{font-size:var(--f1);font-weight:500;letter-spacing:.14em;line-height:1}

/* ---------- ヘッダー(1画面目では紺に溶け、流すと白く浮く) ---------- */
.hd{position:fixed;top:30px;left:0;right:0;z-index:40;height:64px;color:#fff;
  display:flex;align-items:center;gap:20px;padding:0 var(--pad);transition:top .3s ease,background .3s ease,color .3s ease,box-shadow .3s ease}
.hd.is-stuck{top:0;left:0;right:0;background:#fff;color:var(--ink);box-shadow:0 6px 24px rgba(6,26,51,.14)}
.hd-logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:var(--f3);letter-spacing:.04em;white-space:nowrap}
.hd-nav{margin-left:auto;display:flex;gap:30px;font-size:var(--f2);font-weight:500}
.hd-nav a{padding:8px 0;border-bottom:2px solid transparent;transition:border-color .2s}
.hd-nav a:hover{border-color:currentColor}

/* ---------- ボタン ---------- */
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;height:56px;padding:0 26px 0 30px;border-radius:999px;
  font-size:var(--f2);font-weight:700;letter-spacing:.03em;white-space:nowrap;border:2px solid transparent;transition:background .25s,color .25s,border-color .25s}
.btn::after{content:"";width:18px;height:12px;flex:none;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 12'%3E%3Cpath d='M0 6h16M11 1l5 5-5 5' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 12'%3E%3Cpath d='M0 6h16M11 1l5 5-5 5' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .25s}
.btn:hover::after{transform:translateX(4px)}
.btn-s{height:42px;padding:0 20px 0 22px;gap:12px;background:#fff;color:var(--navy)}
.hd.is-stuck .btn-s{background:var(--blue);color:#fff}
.btn-w{background:#fff;color:var(--navy)}
.btn-w:hover{background:var(--pale);color:var(--ink)}
.btn-b{background:var(--blue);color:#fff;min-width:318px}
.btn-b:hover{background:var(--navy)}
.tlink{font-size:var(--f2);font-weight:700;padding:6px 0 4px;border-bottom:2px solid rgba(255,255,255,.6);transition:border-color .2s}
.tlink:hover{border-color:#fff}

/* ---------- 1画面目 ---------- */
.fv{position:relative;min-height:calc(100svh - 30px);color:#fff;overflow:hidden;isolation:isolate;display:flex;align-items:center;background:var(--navy)}
.fv-rules{position:absolute;inset:0 var(--pad);z-index:-1;display:grid;grid-template-columns:repeat(4,1fr);pointer-events:none}
.fv-rules i{border-left:1px solid rgba(255,255,255,.09)}
.fv-rules i:last-child{border-right:1px solid rgba(255,255,255,.09)}
.fv-in{position:relative;z-index:1;width:100%;max-width:1440px;margin:0 auto;padding:124px var(--pad) 72px}
.fv h1{font-size:var(--f6);line-height:1.4;letter-spacing:.02em;max-width:26em;text-wrap:pretty}
.fv-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-areas:"lead tt" "acts tt";gap:36px 80px;align-items:start;align-content:start;margin-top:40px}
.fv-grid .lead{grid-area:lead}
.fv-grid .fv-tt{grid-area:tt}
.fv-grid .acts{grid-area:acts}
.lead{font-size:var(--f4);font-weight:500;line-height:1.8;max-width:22em;text-wrap:pretty}
.acts{display:flex;gap:14px 28px;flex-wrap:wrap;align-items:center}
.asof{font-size:var(--f1);color:rgba(255,255,255,.78);margin-top:14px;line-height:1.6}

/* ---------- 受付の時刻表(24時間の横軸・22〜24時の斜線帯) ---------- */
.tt{--nw:150px;--lw:52px;--trk:16px;
  --bg:rgba(255,255,255,.10); --bar:#fff; --grid:rgba(255,255,255,.22); --hatch:rgba(255,255,255,.55); --rule:rgba(255,255,255,.28); --lab:rgba(255,255,255,.78)}
.tt-ax{position:relative;height:18px;margin-left:calc(var(--nw) + var(--lw));font:400 var(--f1)/1 var(--num);color:var(--lab)}
.tt-ax span{position:absolute;bottom:4px;transform:translateX(-50%)}
.tt-ax span:nth-child(1){left:0;transform:none}
.tt-ax span:nth-child(2){left:calc(9/24*100%)}
.tt-ax span:nth-child(3){left:50%}
.tt-ax span:nth-child(4){left:75%}
.tt-ax span:nth-child(5){left:calc(22/24*100%);transform:translateX(-100%);margin-left:-3px}
.tt-ax span:nth-child(6){left:100%;transform:translateX(-100%)}
.tt-g{display:grid;grid-template-columns:var(--nw) minmax(0,1fr);align-items:center;padding:10px 0;border-top:1px solid var(--rule)}
.tt-g:last-child{border-bottom:1px solid var(--rule)}
.tt-n{font-size:var(--f2);font-weight:700;line-height:1.5;padding-right:12px;text-wrap:balance}
.tt-rows{display:grid;gap:5px}
.tt-r{display:grid;grid-template-columns:var(--lw) minmax(0,1fr);align-items:center}
.tt-r b{font-size:var(--f1);font-weight:500;color:var(--lab);line-height:1}
.tt-r i{position:relative;display:block;height:var(--trk);background-color:var(--bg);
  background-image:
    repeating-linear-gradient(135deg,var(--hatch) 0 1px,transparent 1px 5px),
    linear-gradient(var(--grid),var(--grid)),linear-gradient(var(--grid),var(--grid)),linear-gradient(var(--grid),var(--grid)),linear-gradient(var(--grid),var(--grid));
  background-repeat:no-repeat;
  background-size:calc(2/24*100%) 100%,1px 100%,1px 100%,1px 100%,1px 100%;
  background-position:100% 0,calc(9/24*100%) 0,50% 0,75% 0,calc(22/24*100%) 0}
.tt-r u{position:absolute;top:3px;bottom:3px;left:calc(var(--a)/24*100%);width:calc((var(--b) - var(--a))/24*100%);background:var(--bar);text-decoration:none}
.fv-tt .tt{margin-top:6px}

/* 販売サイトの欄の小さな時刻表(白地) */
.tt-mini{--nw:0px;--lw:46px;--trk:12px;max-width:440px;margin-top:12px;
  --bg:var(--sky); --bar:var(--blue); --grid:rgba(11,35,66,.18); --hatch:rgba(11,35,66,.45); --rule:transparent; --lab:var(--muted)}
.tt-mini .tt-g{grid-template-columns:minmax(0,1fr);padding:0;border:0}
.tt-mini .tt-ax{height:16px;margin-top:4px}
.tt-mini .tt-ax span{bottom:0}
.tt-mini .tt-rows{gap:4px}

/* ---------- 共通の節 ---------- */
.sec{padding:112px 0}
.sec h2{font-size:var(--f5);letter-spacing:.03em}
.rules{position:absolute;inset:0 var(--pad);display:grid;grid-template-columns:repeat(4,1fr);pointer-events:none;z-index:0}
.rules i{border-left:1px solid rgba(11,35,66,.07)}
.rules i:last-child{border-right:1px solid rgba(11,35,66,.07)}
.wrap>*:not(.rules){position:relative;z-index:1}
.pr{font-size:var(--f1);font-weight:500;letter-spacing:.12em;color:var(--muted);line-height:1}

/* ---------- こんな人はこのサイト(行ごとに1枚の札。札全体が申し込みのリンク) ---------- */
.pick{background:#fff;padding-bottom:96px}
.pick h2{margin-bottom:40px}
.pick-l{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.pk{position:relative;display:grid;grid-template-rows:1fr auto;gap:22px;padding:30px 32px 26px;border:1px solid var(--ink);background:#fff;transition:background .25s,border-color .25s}
.pk:hover{background:var(--mist)}
.pk>p{text-wrap:pretty}
.pk-sub{display:block;margin-top:8px;font-size:var(--f2);color:var(--muted);line-height:1.8}
.pk-a{display:flex;align-items:center;gap:16px;border-top:1px solid var(--line);padding-top:18px}
.pk-a a{flex:1;display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:var(--f2);font-weight:700;color:var(--blue);letter-spacing:.02em}
.pk-a a::before{content:"";position:absolute;inset:0}
.pk-a a::after{content:"";width:18px;height:12px;flex:none;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 12'%3E%3Cpath d='M0 6h16M11 1l5 5-5 5' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 12'%3E%3Cpath d='M0 6h16M11 1l5 5-5 5' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .25s}
.pk:hover .pk-a a::after{transform:translateX(4px)}

/* ---------- 販売サイト(名前・画面・強み・7項目・ボタン) ---------- */
.sites{background:var(--mist);padding-bottom:104px}
.sec-hd{margin-bottom:56px}
.site{display:grid;grid-template-columns:360px minmax(0,1fr) 220px;grid-template-rows:auto auto 1fr;grid-template-areas:"hd dl shot" "str dl shot" "cta dl shot";
  gap:0 48px;padding:52px 0 56px;border-top:1px solid var(--ink)}
.site:last-of-type{border-bottom:1px solid var(--ink)}
.site h3{grid-area:hd;font-size:var(--f4);letter-spacing:.02em;line-height:1.5}
.site .shot{grid-area:shot;align-self:start;border:1px solid var(--line);background:#fff;box-shadow:0 10px 30px rgba(6,26,51,.10);overflow:hidden}
.site .shot img{width:100%;aspect-ratio:390/450;object-fit:cover}
.site .str{grid-area:str;font-size:var(--f4);font-weight:500;line-height:1.75;margin-top:16px;text-wrap:pretty}
.site-d{grid-area:dl}
.site-d .r{display:grid;grid-template-columns:84px minmax(0,1fr);gap:12px;padding:14px 0;border-bottom:1px solid var(--line);align-items:baseline}
.site-d .r:first-child{padding-top:4px}
.site-d .r:last-child{border-bottom:0}
.site-d dt{font-size:var(--f1);font-weight:700;color:var(--blue);letter-spacing:.06em}
.site-d dd{line-height:1.8;text-wrap:pretty}
.site-a{grid-area:cta;display:flex;align-items:center;gap:14px;align-self:start;margin-top:28px;flex-wrap:wrap}
.site-a .btn-b{min-width:0;width:auto}

/* ---------- 商品と価格(14段の表) ---------- */
.price{background:var(--navy);color:#fff}
.price-g{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:72px;align-items:start}
.price h2{margin-bottom:32px}
.price-t p{margin-bottom:22px;max-width:31em;text-wrap:pretty}
.pt{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.pt th,.pt td{padding:0 6px;height:46px;border-bottom:1px solid rgba(255,255,255,.28);text-align:right;vertical-align:middle}
.pt th:first-child,.pt td:first-child{text-align:left;padding-left:0}
.pt th:last-child,.pt td:last-child{padding-right:0}
.pt th{font-size:var(--f1);font-weight:500;color:var(--pale);letter-spacing:.04em;height:auto;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.6);line-height:1.4;vertical-align:bottom}
.pt td{font:400 var(--f3)/1.3 var(--num);letter-spacing:.01em;white-space:nowrap}
.pt td:first-child{font-family:var(--jp);font-size:var(--f2);font-weight:500;color:rgba(255,255,255,.85)}
.pt .two td{background:rgba(255,255,255,.06);height:auto;padding-top:9px;padding-bottom:9px}
.pt .two td:first-child{padding-left:6px}
.pt .pv{display:block;line-height:1.5}
.pt .pv small{font:400 var(--f1)/1 var(--jp);color:var(--pale);margin-left:.3em}
.pt .sl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- 用意するもの ---------- */
.prep{background:#fff}
.prep-g{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-areas:"hd hd" "v p";gap:48px 80px;align-items:center}
.prep h2{grid-area:hd}
.prep-v{grid-area:v;display:flex;gap:40px;justify-content:flex-start}
.prep-p{grid-area:p;font-size:var(--f4);font-weight:500;line-height:1.85;max-width:26em;text-wrap:pretty}
.win2{width:min(100%,180px);aspect-ratio:1;flex:none;border-radius:50%;background:var(--navy);overflow:hidden;display:grid;place-items:center;
  box-shadow:0 0 0 8px #fff,0 0 0 9px var(--line)}
.win2 svg{width:100%;height:100%;display:block}
.sig,.chk,.brk path{fill:none;stroke:#fff;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.chk{stroke:var(--hand);stroke-width:7}
.base{stroke:var(--pale);stroke-width:2}
.brk path{stroke:var(--hand);stroke-width:5}
.sil{fill:none;stroke:#fff;stroke-width:4;stroke-linecap:round}

/* ---------- 申し込んでから受け取るまで(3サイトの段) ---------- */
.flow{background:var(--mist)}
.flow h2{margin-bottom:48px}
.flow-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}
.fl h3{font-size:var(--f4);letter-spacing:.02em;line-height:1.5;padding-bottom:16px;border-bottom:1px solid var(--ink);margin-bottom:8px}
.steps{counter-reset:st;position:relative}
.steps li{counter-increment:st;position:relative;padding:18px 0 18px 48px;text-wrap:pretty}
.steps li::before{content:counter(st);position:absolute;left:0;top:22px;width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;
  font:500 var(--f1)/30px var(--num);text-align:center}
.steps li::after{content:"";position:absolute;left:14.5px;top:52px;bottom:-22px;border-left:1px solid var(--pale)}
.steps li:last-child::after{display:none}
.steps li.note::before{background:#fff;color:var(--navy);box-shadow:inset 0 0 0 1.5px var(--navy)}
.steps li.note{color:var(--muted)}

/* ---------- よくある質問 ---------- */
.faq{background:#fff}
.faq .wrap>h2{margin-bottom:48px}
.qa{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;padding:40px 0 44px;border-top:1px solid var(--ink)}
.qa:last-child{border-bottom:1px solid var(--ink)}
.qa h3{font-size:var(--f4);line-height:1.6;text-wrap:balance}
.qa p{text-wrap:pretty}

/* ---------- 申し込み先・報酬・運営者 ---------- */
.apply{background:var(--navy);color:#fff;padding:112px 0 120px}
.apply h2{margin-bottom:48px}
.apply-l li{display:flex;align-items:center;gap:28px;border-top:1px solid rgba(255,255,255,.4)}
.apply-l li:last-child{border-bottom:1px solid rgba(255,255,255,.4)}
.apply-l a{flex:1;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:34px 0;font-size:var(--f5);font-weight:700;letter-spacing:.03em;transition:padding .3s,background .3s}
.apply-l a:hover{padding-left:24px;padding-right:24px;background:rgba(255,255,255,.08)}
.apply-l a svg{flex:none;transition:transform .3s}
.apply-l a:hover svg{transform:translateX(6px)}
.apply .pr{color:rgba(255,255,255,.9)}
.reward{margin-top:56px;font-size:var(--f2);line-height:1.9;max-width:44em;color:rgba(255,255,255,.88);text-wrap:pretty}
.editor{margin-top:16px;font-size:var(--f2);line-height:1.9;max-width:44em;color:rgba(255,255,255,.88);text-wrap:pretty}

/* ---------- フッター ---------- */
.ft{background:var(--navy);color:#fff;padding:40px 0 48px;border-top:1px solid rgba(255,255,255,.2)}
.ft-n{font-size:var(--f2);font-weight:700;letter-spacing:.1em;color:rgba(255,255,255,.7)}

/* ---------- 画面下に固定の「販売サイトを選ぶ」(スマホだけ。1画面目を過ぎたら出る) ---------- */
.fixbtn{display:none}

/* ================= PC の広い幅 ================= */
@media (min-width:1101px){
  .pc{display:inline}
}

/* ================= タブレット ================= */
@media (max-width:1100px){
  .hd-nav{display:none}
  .hd .btn-s{margin-left:auto}
  .fv{min-height:0}
  .fv-in{padding-bottom:80px}
  .fv-grid{grid-template-columns:1fr;grid-template-areas:"lead" "tt" "acts";gap:36px}
  .fv-tt .tt{max-width:720px}
  .site{grid-template-columns:minmax(0,1fr) 200px;grid-template-rows:auto auto auto auto;grid-template-areas:"hd shot" "str shot" "dl dl" "cta cta";gap:0 40px}
  .site .str{margin-bottom:28px}
  .site-a{margin-top:28px}
  .flow-g{grid-template-columns:1fr;gap:40px}
  .prep-g{grid-template-columns:1fr;grid-template-areas:"hd" "v" "p";gap:36px}
}

/* ================= スマホ ================= */
@media (max-width:820px){
  :root{--pad:20px;--f1:12px;--f2:14px;--f3:16px;--f4:18px;--f5:24px;--f6:25px}
  html{scroll-padding-top:72px}
  body{line-height:1.85;padding-bottom:76px}
  .prstrip{height:28px}
  .hd{top:28px;height:52px;gap:8px}
  .hd.is-stuck{top:0}
  .hd-logo{gap:6px;letter-spacing:.02em}
  .hd-logo svg{width:22px;height:22px}
  .btn-s{height:36px;padding:0 14px;gap:0}
  .btn-s::after{display:none}

  .fv{min-height:calc(100svh - 28px);align-items:flex-start}
  .fv-in{padding:96px var(--pad) 36px}
  .fv h1{line-height:1.45;letter-spacing:.01em}
  .fv-grid{gap:0;margin-top:14px}
  .lead{line-height:1.75}
  .fv-tt{margin-top:20px}
  .fv-tt .tt{max-width:none}
  .tt{--nw:122px;--lw:38px;--trk:12px}
  .tt-g{padding:8px 0}
  .tt-rows{gap:4px}
  .tt-n{padding-right:8px;line-height:1.4}
  .asof{margin-top:10px}
  .acts{flex-direction:column;align-items:stretch;gap:12px;margin-top:22px}
  .acts .btn{width:100%;height:52px}
  .acts .tlink{align-self:center;border-bottom-width:1px;padding:4px 0 2px}

  .sec{padding:72px 0}
  .rules i:nth-child(n+3){display:none}

  .pick{padding:64px 0 72px}
  .pick h2{margin-bottom:24px}
  .pick-l{grid-template-columns:1fr;gap:14px}
  .pk{padding:20px 20px 18px;gap:16px}
  .pk-a{padding-top:14px}

  .sites{padding-bottom:72px}
  .sec-hd{grid-template-columns:1fr;gap:12px;margin-bottom:36px}
  .site{grid-template-columns:minmax(0,1fr) 96px;grid-template-rows:auto auto auto auto;grid-template-areas:"hd shot" "str str" "dl dl" "cta cta";gap:0 18px;padding:36px 0 40px}
  .site h3{align-self:center}
  .site .shot{box-shadow:0 6px 18px rgba(6,26,51,.10)}
  .site .str{margin:18px 0 22px;line-height:1.7}
  .site-d .r{grid-template-columns:1fr;gap:4px;padding:12px 0}
  .site-d .r:first-child{padding-top:0}
  .site-d dt{letter-spacing:.1em}
  .site-a{margin-top:22px;display:grid;grid-template-columns:1fr auto;gap:12px}
  .site-a .btn-b{max-width:none;padding:0 18px 0 20px;gap:8px}
  .tt-mini{max-width:none;--nw:0px;--lw:40px}

  .price-g{grid-template-columns:1fr;gap:36px}
  .price h2{margin-bottom:22px}
  .price-t p{margin-bottom:16px}
  .pt th,.pt td{height:42px;padding:0 4px}
  .pt td{font-size:var(--f2)}
  .pt td:first-child{font-size:var(--f1)}
  .pt .two td{padding-top:8px;padding-bottom:8px}
  .pt .pv small{display:block;margin:2px 0 0;font-size:11px}

  .prep-g{gap:28px}
  .prep-v{gap:24px}
  .win2{width:96px;box-shadow:0 0 0 5px #fff,0 0 0 6px var(--line)}
  .prep-p{line-height:1.8}

  .flow h2{margin-bottom:32px}
  .flow-g{gap:36px}
  .steps li{padding:14px 0 14px 42px}
  .steps li::before{top:18px;width:28px;height:28px;line-height:28px}
  .steps li::after{left:13.5px;top:46px;bottom:-18px}

  .faq .wrap>h2{margin-bottom:32px}
  .qa{grid-template-columns:1fr;gap:12px;padding:28px 0 32px}

  .apply{padding:72px 0 80px}
  .apply h2{margin-bottom:32px}
  .apply-l li{gap:14px}
  .apply-l a{padding:22px 0;font-size:var(--f4)}
  .apply-l a svg{width:18px;height:18px}
  .apply-l a:hover{padding-left:10px;padding-right:10px}
  .reward{margin-top:40px}

  .fixbtn{display:flex;align-items:center;justify-content:center;gap:10px;position:fixed;left:16px;right:16px;bottom:14px;z-index:45;height:54px;border-radius:999px;
    background:var(--blue);color:#fff;font-size:var(--f2);font-weight:700;letter-spacing:.03em;box-shadow:0 10px 28px rgba(6,26,51,.28);
    opacity:0;transform:translateY(20px);pointer-events:none;transition:opacity .3s,transform .3s}
  .fixbtn::after{content:"";width:18px;height:12px;flex:none;background:currentColor;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 12'%3E%3Cpath d='M0 6h16M11 1l5 5-5 5' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E") center/contain no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 12'%3E%3Cpath d='M0 6h16M11 1l5 5-5 5' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E") center/contain no-repeat}
  .fixbtn.is-on{opacity:1;transform:none;pointer-events:auto}
}
@media (max-width:380px){
  .hd-logo span{display:none}
  .tt{--nw:104px;--lw:38px}
  .tt-n{font-size:var(--f1);padding-right:4px}
  .tt-mini{--nw:0px}
}

/* ---------- 公開用の追加(2026-11-11) ---------- */
.pt2 td:last-child{text-align:right}
.ft-g{display:flex;align-items:center;justify-content:space-between;gap:16px 32px;flex-wrap:wrap}
.ft-l{display:flex;gap:24px;flex-wrap:wrap;font-size:var(--f1);color:rgba(255,255,255,.75)}
.ft-l a:hover{color:#fff;text-decoration:underline}
.doc{padding:150px 0 96px;background:#fff}
.doc .wrap{max-width:820px}
.doc h1{font-size:var(--f5);margin-bottom:32px}
.doc h2{font-size:var(--f4);margin:48px 0 14px}
.doc p,.doc li{margin-bottom:12px;text-wrap:pretty}
.doc ul{list-style:disc;padding-left:1.4em}
.doc a{color:var(--blue);text-decoration:underline}
.doc dl div{display:grid;grid-template-columns:8em 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.doc dt{font-weight:500;color:var(--muted)}
.hd.hd-doc{background:#fff;color:var(--ink);box-shadow:0 6px 24px rgba(6,26,51,.08)}
.hd.hd-doc .btn-s{background:var(--blue);color:#fff}
@media (max-width:640px){.doc{padding:110px 0 64px}.doc dl div{grid-template-columns:1fr;gap:2px}}
.pt2{max-width:600px;margin-left:auto}

/* ---------- 送客の見直し(2026-11-11 J-0224) ---------- */
.pick-p{margin-top:32px;text-wrap:pretty}
.plink{margin-left:.6em;font-weight:700;color:var(--blue);border-bottom:2px solid currentColor;padding-bottom:2px;white-space:nowrap}
.tt-st{display:none;margin-left:8px;padding:2px 7px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.04em;line-height:1.5;vertical-align:middle;white-space:nowrap}
.tt-st.on{display:inline-block;background:var(--hand);color:var(--ink)}
.tt-st.off{display:inline-block;background:rgba(255,255,255,.14);color:rgba(255,255,255,.8)}
.site-more{grid-area:dl}
.site-more>summary{display:none}
.site-n{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);font-size:var(--f1);line-height:1.8;color:var(--muted);text-wrap:pretty}
.qa-fold{display:block}
.qa-fold>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px}
.qa-fold>summary::-webkit-details-marker{display:none}
.qa-fold>summary::after{content:"";flex:none;width:11px;height:11px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg);transition:transform .2s;margin-right:6px}
.qa-fold[open]>summary::after{transform:rotate(-135deg)}
.qa-fold>p{margin-top:20px;max-width:46em;font-size:var(--f2);line-height:1.9;color:var(--muted)}
@media (max-width:820px){
  .site{grid-template-areas:"hd shot" "str str" "cta cta" "dl dl"}
  .site .str{margin:18px 0 0}
  .site-a{margin-top:18px}
  .site-more{margin-top:18px;border-top:1px solid var(--line)}
  .site-more>summary{display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer;padding:14px 0;font-size:var(--f2);font-weight:700;color:var(--blue)}
  .site-more>summary::-webkit-details-marker{display:none}
  .site-more>summary::after{content:"";flex:none;width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-right:6px;transition:transform .2s}
  .site-more[open]>summary::after{transform:rotate(-135deg)}
  .site-more[open]>summary{border-bottom:1px solid var(--line);margin-bottom:12px}
  .pick-p{margin-top:22px}
  .plink{display:inline-block;margin:6px 0 0}
  .tt-st{margin-left:0;margin-top:3px;font-size:10px;padding:1px 6px}
  .tt-st.on,.tt-st.off{display:table}
  .fixbtn{padding:0 18px;font-size:14px;white-space:nowrap}
  .fv-grid>*{min-width:0}
  .acts .btn[data-out]{padding:0 14px;gap:8px;font-size:14px;letter-spacing:0}
}
