 /* 英数字だけ Noto Sans JP を使う。
 Zen Kaku Gothic New の数字は日本語より細く小さく見えるため、
 unicode-range で ASCII のみ差し替えて、かなと数字の太さを揃える。 */
 @font-face{
  font-family:'JPNum';
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url(https://fonts.gstatic.com/s/notosansjp/v56/-F62fjtqLzI2JPCgQBnw7HFYwQgP-FVthw.woff2) format('woff2');
  unicode-range:U+0020-007E, U+00A5;
 }
 :root{
  --bg:#FAF6F0; --alt:#FFFFFF; --tx:#3A2E24; --mu:#7C6B5B;
  --ac:#C0873A; --ac-dark:#A9762C; --aT:#FFFFFF;
  --ac-tx:#8F6220; --btn:#9C6B22; --btn-h:#84591B;
  --bd:#E8DCC9; --ph:#E4D8C4; --ft:#3A2E24;
  --r:16px; --maxw:1040px;
 }
 *{box-sizing:border-box;margin:0;padding:0}
 html{scroll-behavior:smooth}
 body{
  font-family:'JPNum',"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic",sans-serif;
  background:var(--bg); color:var(--tx);
  font-size:16px; line-height:1.9; -webkit-font-smoothing:antialiased;
  padding-bottom:0;
 }
 img{max-width:100%;display:block}
 a{color:inherit;text-decoration:none}

 /* ---------- layout ---------- */
 .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
 section{padding:96px 0}
 section.alt{background:var(--alt)}
 @media(max-width:768px){section{padding:56px 0}}

 /* ---------- type ---------- */
 h2.st{font-weight:900;font-size:38px;line-height:1.5;letter-spacing:-.02em;text-align:center}
 h2.st .sm{display:block;font-size:.7em}
 .lead{text-align:center;color:var(--mu);font-size:16px;margin-top:18px}
 .body{color:var(--mu);font-size:15px;line-height:2}
 .emph{font-weight:500;font-size:16px;line-height:1.95}
 @media(max-width:768px){
  h2.st{font-size:23px}
  .lead,.body{font-size:14px}
  .emph{font-size:14px}
 }
 /* iPhone SE等の狭幅実機では、見出しが1行に収まらず
    <span class="sm">が意図せず3行目にずれ込むため、さらに縮小する */
 @media(max-width:400px){
  h2.st{font-size:19px}
  br.lb{display:none}
 }
 /* 「住宅・店舗のオーダー家具と、子どものための療育家具。」は
    768〜1024px幅（フォント38px）でも1行に収まらず、単語の途中で
    自動折返しされてしまうため、意図した位置で改行する */
 @media(max-width:1024px){
  h2.st .brk{display:block}
 }

 /* ---------- header ---------- */
 header{
  position:sticky;top:0;z-index:50;background:rgba(250,246,240,.92);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--bd);
 }
 .hd{display:flex;align-items:center;justify-content:space-between;
  max-width:1200px;margin:0 auto;padding:14px 24px}
 .logo img{width:180px;height:auto;display:block}
 .nav{display:flex;align-items:center;gap:28px}
 .nav a{font-size:14px;font-weight:500;color:var(--tx)}
 .nav a:hover{color:var(--ac)}
 @media(max-width:900px){.nav{display:none}}

 /* ---------- ハンバーガーメニュー（900px以下） ---------- */
 .hamburger{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:34px;height:34px;padding:0;border:0;background:none;cursor:pointer;
 }
 .hamburger span{display:block;width:100%;height:2px;background:var(--tx);
  transition:transform .25s ease, opacity .2s ease}
 .hamburger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
 .hamburger.active span:nth-child(2){opacity:0}
 .hamburger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 @media(max-width:900px){.hamburger{display:flex}}
 .mobileNav{
  position:absolute;left:0;right:0;top:100%;z-index:49;
  background:var(--bg);border-bottom:1px solid var(--bd);
  padding:8px 24px 20px;
  transform:translateY(-8px);opacity:0;visibility:hidden;
  transition:transform .28s cubic-bezier(.22,.7,.3,1), opacity .22s ease, visibility 0s linear .28s;
  display:none;
 }
 .mobileNav a{display:block;padding:14px 4px;font-size:15px;font-weight:500;color:var(--tx);
  border-top:1px solid var(--bd)}
 .mobileNav a:first-child{border-top:0}
 .mobileNav a.btn{display:inline-flex;align-items:center;justify-content:center;width:100%;margin-top:14px;text-align:center;border-top:0}
 @media(max-width:900px){.mobileNav{display:block}}
 .mobileNav.show{transform:translateY(0);opacity:1;visibility:visible;transition-delay:0s}

 /* ---------- buttons ---------- */
 .btn{
  position:relative;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--btn);color:var(--aT);font-weight:700;
  border-radius:999px;padding:14px 26px;font-size:15px;letter-spacing:.02em;
  transition:background .22s ease, transform .22s ease, box-shadow .22s ease;
  box-shadow:0 5px 16px rgba(156,107,34,.30);
 }
 .btn::after{
  content:"";width:7px;height:7px;margin-left:12px;
  border-top:2px solid currentColor;border-right:2px solid currentColor;
  transform:rotate(45deg) translate(-1px,1px);
  transition:margin-left .25s ease;
 }
 .btn:hover{background:var(--btn-h);transform:translateY(-2px);box-shadow:0 10px 26px rgba(156,107,34,.38)}
 .btn:hover::after{margin-left:17px}
 .btn:active{transform:translateY(0);box-shadow:0 4px 12px rgba(156,107,34,.32)}
 .btn:focus-visible{outline:3px solid var(--ac-tx);outline-offset:3px}
 .btn-lg{font-size:21px;padding:24px 68px;box-shadow:0 8px 24px rgba(156,107,34,.34)}
 .btn-lg::after{width:9px;height:9px;border-width:2.5px}
 /* attention ring (2回だけ) */
 .btn-lg::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none}
 .btn-lg.pulse::before{animation:ctaRing 2.4s ease-out .3s 2}
 @keyframes ctaRing{
  0%{box-shadow:0 0 0 0 rgba(156,107,34,.42)}
  70%{box-shadow:0 0 0 20px rgba(156,107,34,0)}
  100%{box-shadow:0 0 0 0 rgba(156,107,34,0)}
 }
 .cta{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:40px}
 .cta .note{font-size:13px;color:var(--mu);text-align:center}
 .cta .above{font-weight:700;font-size:17px;text-align:center}
 .tip{
  display:inline-block;font-weight:700;font-size:13px;color:var(--ac-tx);
  letter-spacing:.04em;
 }
 .tip::before{content:"＼ "}
 .tip::after{content:" ／"}
 @media(max-width:768px){
  .btn-lg{width:100%;font-size:18px;padding:21px 20px}
  .cta{width:100%}
 }

 /* ---------- photo ---------- */
 .pic{border-radius:var(--r);overflow:hidden;background:#fff;position:relative}
 .pic img{width:100%;height:100%;object-fit:cover;display:block}
 .pic.r43{aspect-ratio:4/3}
 .pic.r85{aspect-ratio:8/5}

 /* ---------- motion ---------- */
 /* 動きの語彙は6つに限定し、内容に応じて使い分ける */
 .a{--d:0ms}

 /* 1) fade — 本文・補足。いちばん控えめ */
 .a-fade{opacity:0;transform:translateY(14px);
  transition:opacity .6s ease var(--d), transform .6s cubic-bezier(.22,.7,.3,1) var(--d)}
 .a-fade.in{opacity:1;transform:none}

 /* 2) mask — 見出し。下からせり上がって現れる */
 .a-mask{clip-path:inset(-12% 0 100% 0);transform:translateY(12px);
  transition:clip-path .85s cubic-bezier(.22,.8,.26,1) var(--d), transform .85s cubic-bezier(.22,.8,.26,1) var(--d)}
 .a-mask.in{clip-path:inset(-12% 0 -12% 0);transform:none}

 /* 3) wipe — 写真。左から現れながら、中の画像がゆっくり引く */
 .a-wipe{clip-path:inset(0 100% 0 0);
  transition:clip-path .9s cubic-bezier(.3,.8,.25,1) var(--d)}
 .a-wipe.in{clip-path:inset(0 0 0 0)}
 .a-wipe img{transform:scale(1.12);
  transition:transform 1.4s cubic-bezier(.2,.7,.3,1) var(--d)}
 .a-wipe.in img{transform:scale(1)}

 /* 4) slide — 順番・進行のあるもの。流れる方向に合わせて横から */
 .a-slide{opacity:0;transform:translateX(26px);
  transition:opacity .55s ease var(--d), transform .65s cubic-bezier(.22,.75,.3,1) var(--d)}
 .a-slide-l{transform:translateX(-26px)}
 .a-slide.in{opacity:1;transform:none}

 /* 5) pop — 声・強調。少し小さい状態から実寸へ */
 .a-pop{opacity:0;transform:scale(.945);
  transition:opacity .5s ease var(--d), transform .6s cubic-bezier(.2,1.06,.3,1) var(--d)}
 .a-pop.in{opacity:1;transform:none}

 /* 6) draw — 矢印・線。伸びて繋がる */
 .a-draw{opacity:0;transform:scaleX(0);transform-origin:left center;
  transition:opacity .2s linear var(--d), transform .45s cubic-bezier(.3,.8,.3,1) var(--d)}
 .a-draw.in{opacity:1;transform:none}
 @media(max-width:768px){
  .a-draw{transform:scaleY(0);transform-origin:center top}
 }

 /* ホバー（表示アニメーション後も効くように .in 付きで指定） */
 /* 写真：カーソルを乗せると内側に白い余白が生まれる */
 .pic img{clip-path:inset(0 round var(--r));
  transition:clip-path .45s cubic-bezier(.3,.8,.25,1), transform .8s cubic-bezier(.22,.7,.3,1)}
 @media (any-hover: hover){
  .pic:hover img,.pic.in:hover img{clip-path:inset(9px round 9px)}
 }
 .card,.step,.voice,.faq,.fc-step{transition:transform .3s ease, box-shadow .3s ease}
 .card:hover,.step:hover,.voice:hover,.faq:hover,
 .card.in:hover,.step.in:hover,.voice.in:hover,.faq.in:hover{
  transform:translateY(-3px);box-shadow:0 10px 26px rgba(58,46,36,.07)}
 header{transition:box-shadow .3s ease}
 header.scrolled{box-shadow:0 2px 14px rgba(58,46,36,.07)}
 .nav a:not(.btn){position:relative}
 .nav a:not(.btn)::after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:2px;
  background:var(--ac);transition:right .3s ease}
 .nav a:not(.btn):hover::after{right:0}
 .field input,.field textarea{transition:border-color .2s ease, box-shadow .2s ease}
 .sticky{transform:translateY(115%);transition:transform .38s cubic-bezier(.22,.7,.3,1)}
 .sticky.show{transform:none}

 @media(prefers-reduced-motion:reduce){
  .a-fade,.a-mask,.a-wipe,.a-slide,.a-pop,.a-draw,
  .a-fade.in,.a-mask.in,.a-wipe.in,.a-slide.in,.a-pop.in,.a-draw.in{
   opacity:1;transform:none;clip-path:none;transition:none}
  .a-wipe img,.a-wipe.in img{transform:none;transition:none}
  .pic img{clip-path:inset(0 round var(--r));transition:none}
  .pic img,.card,.step,.voice,.faq,.fc-step,.sticky,.btn{transition:none}
  .btn-lg.pulse::before{animation:none}
  .sticky{transform:none}
  html{scroll-behavior:auto}
 }

 /* ---------- FV ---------- */
 .fv{padding:64px 0 88px;text-align:center}
 .fv h1{font-weight:900;font-size:54px;line-height:1.45;letter-spacing:-.03em}
 .fv .sub{margin-top:18px;color:var(--mu);font-size:17px}
 .video{
  position:relative;width:100%;max-width:900px;margin:36px auto 0;
  aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:#000;
  box-shadow:0 20px 50px rgba(58,46,36,.16);
 }
 .video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
 .vcap{margin-top:12px;font-size:13px;color:var(--mu)}
 @media(max-width:768px){
  .fv{padding:32px 0 48px}
  .fv h1{font-size:31px}
  .fv .sub{font-size:14px;margin-top:14px}
  .video{margin-top:24px;border-radius:12px}
 }

 /* ---------- grids ---------- */
 .g3,.g4,.g2{display:grid;gap:20px;margin-top:44px}
 .g3{grid-template-columns:repeat(3,1fr)}
 .g4{grid-template-columns:repeat(4,1fr)}
 .g2{grid-template-columns:repeat(2,1fr)}
 @media(max-width:900px){.g4{grid-template-columns:repeat(2,1fr)}}
 @media(max-width:768px){
  .g3,.g2,.g4{grid-template-columns:1fr;gap:14px;margin-top:28px}
 }

 /* ---------- card ---------- */
 .card{background:var(--alt);border-radius:var(--r);padding:28px 26px}
 section.alt .card{background:var(--bg)}
 .card .num{color:var(--ac-tx);font-weight:700;font-size:12px;letter-spacing:.28em}
 .card h3{font-weight:700;font-size:19px;line-height:1.5;margin:8px 0 10px}
 .card p{color:var(--mu);font-size:14px;line-height:1.95}
 @media(max-width:768px){.card{padding:22px 20px}.card h3{font-size:17px}}

 /* ---------- 2col ---------- */
 .split{display:grid;grid-template-columns:420px 1fr;gap:56px;align-items:center;margin-top:44px}
 .split.rev{grid-template-columns:1fr 420px}
 @media(max-width:900px){
  .split,.split.rev{grid-template-columns:1fr;gap:24px;margin-top:28px}
 }

 /* ---------- tool / machine ---------- */
 .item h3{font-weight:700;font-size:16px;margin-bottom:6px}
 .item p{color:var(--mu);font-size:13px;line-height:1.9}

 /* ---------- steps ---------- */
 .step{background:var(--alt);border-radius:var(--r);padding:30px 26px}
 section.alt .step{background:var(--bg)}
 .step .lbl{color:var(--ac-tx);font-weight:700;font-size:12px;letter-spacing:.3em}
 .step h3{font-weight:700;font-size:19px;margin:8px 0 10px}
 .step p{color:var(--mu);font-size:14px;line-height:1.95}

 /* ---------- flow ---------- */
 .flow{display:flex;gap:18px;align-items:flex-start;padding:22px 0;border-bottom:1px solid var(--bd)}
 .flow:last-of-type{border-bottom:0}
 .flow .n{flex:0 0 40px;height:40px;border-radius:999px;background:var(--ac);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px}
 .flow h3{font-weight:700;font-size:17px;margin-bottom:4px}
 .flow p{color:var(--mu);font-size:14px}

 /* ---------- voice ---------- */
 .voice{background:var(--alt);border-radius:var(--r);padding:28px}
 section.alt .voice{background:var(--bg)}
 .voice .head{display:flex;align-items:center;gap:14px;margin-bottom:14px}
 .voice .avatar{flex:0 0 74px;height:74px;border-radius:999px;background:var(--ph);overflow:hidden;
  display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--mu)}
 .voice .avatar img{width:100%;height:100%;object-fit:cover;display:block}
 .voice .yr{font-weight:700;font-size:17px;color:var(--ac-tx)}
 .voice p{font-size:15px;line-height:2}
 @media(max-width:768px){.voice{padding:22px 20px}.voice p{font-size:14px}}

 /* ---------- badge ---------- */
 .badge{display:block;max-width:640px;margin:32px auto 0;background:var(--ac);color:#fff;
  border-radius:999px;padding:16px 24px;text-align:center;font-weight:700;font-size:17px}
 @media(max-width:768px){.badge{font-size:14px;padding:14px 18px;border-radius:16px}}

 /* ---------- table ---------- */
 .spec{max-width:820px;margin:44px auto 0;background:var(--alt);border-radius:var(--r);overflow:hidden}
 section.alt .spec{background:var(--bg)}
 .spec dl{display:grid;grid-template-columns:200px 1fr}
 .spec dt,.spec dd{padding:18px 26px;border-top:1px solid var(--bd)}
 .spec dl:first-of-type dt,.spec dl:first-of-type dd{border-top:0}
 .spec dt{font-weight:700;font-size:14px;color:var(--ac-tx)}
 .spec dd{font-size:15px}
 .tmp{color:var(--mu)}
 @media(max-width:768px){
  .spec dl{grid-template-columns:1fr}
  .spec dt{padding:16px 20px 0;border-top:1px solid var(--bd)}
  .spec dd{padding:2px 20px 16px;border-top:0;font-size:14px}
  .spec dl:first-of-type dt{border-top:0}
 }

 /* ---------- flowchart ---------- */
 .fcwrap{max-width:820px;margin:68px auto 0}
 @media(max-width:768px){.fcwrap{margin-top:44px}}
 .fchead{text-align:center;font-weight:700;font-size:20px;margin-bottom:22px}
 .fc{display:flex;align-items:stretch;justify-content:center}
 .fc-step{flex:1 1 0;background:var(--alt);border:1px solid var(--bd);border-radius:var(--r);
  padding:22px 14px 18px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}
 section.alt .fc-step{background:var(--bg)}
 .fc-step .n{width:34px;height:34px;border-radius:999px;background:var(--ac);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;line-height:1}
 .fc-step h4{font-weight:700;font-size:17px;line-height:1.4}
 .fc-step p{color:var(--mu);font-size:12px;line-height:1.8}
 .fc-step.goal{background:var(--ac);border-color:var(--ac)}
 section.alt .fc-step.goal{background:var(--ac)}
 .fc-step.goal .n{background:#fff;color:var(--btn)}
 .fc-step.goal h4{color:#fff}
 .fc-step.goal p{color:rgba(255,255,255,.85)}
 .fc-ar{flex:0 0 30px;display:flex;align-items:center;justify-content:center}
 .fc-ar::after{content:"";width:0;height:0;
  border-left:11px solid var(--ac);border-top:8px solid transparent;border-bottom:8px solid transparent}
 .fc-note{margin-top:16px;text-align:center;font-size:13px;color:var(--mu)}
 .fc-note b{color:var(--ac-tx);font-weight:700}
 @media(max-width:768px){
  .fc{flex-direction:column;align-items:stretch}
  .fc-step{flex:0 0 auto;flex-direction:row;text-align:left;gap:14px;align-items:center;padding:16px 18px}
  .fc-step .n{flex:0 0 34px}
  .fc-step .tx{display:flex;flex-direction:column;gap:3px}
  .fc-step h4{font-size:16px}
  .fc-ar{flex:0 0 26px;height:26px}
  .fc-ar::after{transform:rotate(90deg)}
  .fchead{font-size:18px}
 }

 /* ---------- faq ---------- */
 .faq{background:var(--alt);border-radius:var(--r);padding:24px 26px}
 section.alt .faq{background:var(--bg)}
 .faq h3{font-weight:700;font-size:16px;line-height:1.65;margin-bottom:8px}
 .faq p{color:var(--mu);font-size:14px;line-height:1.95}

 /* ---------- form ---------- */
 .form{max-width:640px;margin:44px auto 0;background:var(--bg);border:1px solid var(--bd);
  border-radius:var(--r);padding:36px 36px 32px}
 section.alt .form{background:var(--bg)}
 .form h3{text-align:center;font-weight:700;font-size:22px;margin-bottom:26px}
 .field{margin-bottom:18px}
 .field label{display:flex;align-items:center;gap:8px;font-weight:700;font-size:13px;margin-bottom:7px}
 .tag{font-size:10px;font-weight:500;padding:3px 7px;border-radius:4px;background:var(--bd);color:var(--mu)}
 .tag.req{background:var(--ac);color:#fff}
 .field input,.field textarea{
  width:100%;font-family:inherit;font-size:15px;color:var(--tx);
  background:#fff;border:1px solid var(--bd);border-radius:10px;padding:13px 14px;
 }
 .field input:focus,.field textarea:focus{outline:2px solid var(--ac);outline-offset:1px;border-color:transparent}
 .field textarea{min-height:96px;resize:vertical}
 .field .hint{font-size:11.5px;color:var(--mu);line-height:1.75;margin-top:6px}
 /* ハニーポット：人には見せず、ボット対策用に画面外へ飛ばす */
 .hp-field{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden}
 .submit{width:100%;border:0;cursor:pointer;font-family:inherit;margin-top:8px}
 .form .note{text-align:center;font-size:12px;color:var(--mu);margin-top:12px}
 @media(max-width:768px){.form{padding:26px 20px 24px}.form h3{font-size:19px}}

 /* ---------- footer ---------- */
 footer{background:var(--ft);color:#F3EBDF;padding:56px 0 40px}
 footer .name img{width:180px;height:auto;margin-bottom:22px}
 footer dl{display:grid;grid-template-columns:auto 1fr;gap:6px 20px;font-size:14px;color:#B6A794}
 footer dt{font-weight:500}
 footer .cr{margin-top:28px;font-size:12px;color:#B6A794;text-align:center}
 @media(max-width:768px){
  footer{padding:40px 0 110px}
  footer dl{grid-template-columns:1fr;gap:2px}
  footer dt{margin-top:10px}
 }

 /* ---------- sticky mobile CTA ---------- */
 .sticky{
  position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;
  background:rgba(255,255,255,.97);backdrop-filter:blur(8px);
  border-top:1px solid var(--bd);padding:9px 16px 14px;
  box-shadow:0 -6px 20px rgba(58,46,36,.08);
 }
 .sticky .tip{display:block;text-align:center;font-size:12px;margin-bottom:6px}
 .sticky .btn{width:100%;font-size:17px;padding:18px}
 @media(max-width:768px){.sticky{display:block}}
 /* iPhoneのホームバーに重ならないようにする */
 .sticky{padding-bottom:calc(14px + env(safe-area-inset-bottom))}

 /* ---------- anchor ---------- */
 /* 固定ヘッダーの下に見出しが潜り込まないようにする */
 [id]{scroll-margin-top:92px}
 @media(max-width:900px){[id]{scroll-margin-top:74px}}

 /* ---------- video facade ---------- */
 /* クリックされるまでYouTubeを読み込まない */
 .ytplay{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:#000;cursor:pointer;display:block}
 .ytplay img{width:100%;height:100%;object-fit:cover}
 .ytbtn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:80px;height:56px;border-radius:14px;background:rgba(0,0,0,.62);
  transition:background .22s ease, transform .22s ease}
 .ytbtn::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-38%,-50%);
  border-left:20px solid #fff;border-top:12px solid transparent;border-bottom:12px solid transparent}
 @media (any-hover: hover){.ytplay:hover .ytbtn{background:var(--btn);transform:translate(-50%,-50%) scale(1.06)}}
 .ytplay:focus-visible{outline:3px solid var(--ac-tx);outline-offset:3px}
 @media(max-width:768px){
  .ytbtn{width:64px;height:44px}
  .ytbtn::after{border-left-width:16px;border-top-width:10px;border-bottom-width:10px}
 }

 /* ---------- form feedback ---------- */
 .field.err input,.field.err textarea{border-color:#C0392B;background:#FFF7F6}
 .field .msg{display:none;font-size:12px;color:#C0392B;margin-top:5px}
 .field.err .msg{display:block}
 .fstatus{display:none;margin-top:14px;padding:13px 16px;border-radius:10px;font-size:14px;line-height:1.8;text-align:center}
 .fstatus.show{display:block}
 .fstatus.err{background:#FFF1EE;color:#A5301F}
 .fstatus.ok{background:#F1F6EE;color:#41692F}
 .privacy{text-align:center;font-size:12px;color:var(--mu);margin-top:8px;line-height:1.8}

 /* ---------- mobile readability ---------- */
 @media(max-width:768px){
  /* iOSは16px未満の入力欄にフォーカスすると画面を勝手に拡大するため */
  .field input,.field textarea{font-size:16px}
  .field .hint{font-size:12px}
  .fc-step p{font-size:13px}
  .item p{font-size:13.5px}
  footer dl{font-size:13.5px}
 }
