@charset "utf-8";
/* ふるさと納税ページ（entries/315）v7：furusato_v7_余白と背景で見やすく改善.html の本文のCSSを、書かれていた順にまとめたもの */

/* =========================================================
   ふるさと納税ページ（entries/315）
   主役：オーダーメイド家具 利用券（v3：2026-10-20 画像中心に作り直し。v2のCSSをもとに .fn-img を追加）
   #fn315 の中だけに効く。色・書体はトップ（kobo-made-top.css）に合わせる
========================================================= */
#fn315{--ink:#292724;--sub:#6a6762;--muted:#8a7f72;--gold:#8a6c39;--gold-line:#b79b6a;--base:#f3f1ec;--panel:#f8f6f1;--panel-line:#e7e0d4;--card-line:#e5e0d8;--card-hover:#c8beaf;--dark:#2f2924;--red:#f3085f;
  --mincho:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Hiragino Mincho Pro",serif;--en:Georgia,"Times New Roman",serif;
  max-width:750px;margin:0 auto 40px;color:var(--ink);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:14px;line-height:1.85;text-align:left}
#fn315 *{box-sizing:border-box}
#fn315 p{margin:0 0 8px;font-size:inherit;color:inherit}
#fn315 ul,#fn315 ol{list-style:none !important;margin:0 !important;padding:0 !important}
#fn315 li{list-style:none !important;margin:0;padding:0;text-indent:0}
#fn315 img{max-width:100%;height:auto;display:block}
#fn315 a{color:inherit}
#fn315 h2,#fn315 h3{border:0;background:none;padding:0}
#fn315 .fn-nw{white-space:nowrap}

/* ---------- 見出し（英字ラベル＋明朝） ---------- */
#fn315 .fn-head{text-align:center;margin:0 0 22px;background:none !important}
#fn315 .fn-en{display:block;margin:0 0 6px;font-family:var(--en);font-size:10px;letter-spacing:.2em;color:var(--gold)}
#fn315 h3.fn-title{margin:0;font-family:var(--mincho);font-size:22px;font-weight:500;letter-spacing:.06em;line-height:1.5;color:var(--ink);text-align:center}
#fn315 .fn-head p{margin:10px 0 0;font-size:13px;color:var(--sub)}
#fn315 .fn-sec{margin:0 0 44px}
#fn315 .fn-panel{background:var(--panel);border:1px solid var(--panel-line);padding:32px 28px 28px}

/* ---------- ボタン・リンク ---------- */
#fn315 .fn-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;min-height:48px;padding:12px 20px;border:1px solid #4b443d;background:#fff;color:#29241f !important;text-decoration:none;font-size:13px;letter-spacing:.04em;transition:background .2s,color .2s}
#fn315 .fn-btn:hover{background:var(--dark);color:#fff !important}
#fn315 .fn-btn span{font-size:16px;line-height:1}
#fn315 .fn-link{display:inline-flex;align-items:center;gap:6px;padding:4px 0 2px;border-bottom:1px solid var(--gold-line);color:var(--gold) !important;text-decoration:none;font-size:13px}
#fn315 .fn-link:hover{color:var(--ink) !important;border-bottom-color:var(--ink)}
#fn315 .fn-center{text-align:center;margin:22px 0 0}
#fn315 .fn-small{font-size:12px;color:var(--sub);margin:10px 0 0;text-align:center}

/* ---------- メインビジュアル ---------- */
#fn315 .fn-hero{margin:0 0 0}

/* ---------- v3：説明は画像で見せる（画像フォルダの6枚）。画像の間は余白だけで区切る ---------- */
#fn315 .fn-img{margin:0 0 40px !important}
#fn315 .fn-img img{width:100%;margin:0 auto}
#fn315 .fn-img-hero{margin:0 !important}
#fn315 .fn-img-hero img{border-radius:10px 10px 0 0}
/* 利用券を扱うサイトのボタン（チョイス・さとふる）を横に並べ、狭い画面では折り返す */
#fn315 .fn-btns{display:flex;flex-wrap:wrap;gap:10px}
@media (max-width:767px){
  #fn315 .fn-img{margin:0 -12px 28px !important}
  #fn315 .fn-img-hero{margin:0 -12px !important}
  #fn315 .fn-img-hero img{border-radius:0}
}

/* ---------- 最初の相談（いちばん大事な案内） ---------- */
#fn315 .fn-first{background:#fff;border:1px solid var(--card-line);border-top:3px solid var(--gold);margin:-1px 0 44px;padding:26px 28px 24px;display:grid;grid-template-columns:1.25fr 1fr;gap:24px;align-items:center}
#fn315 .fn-first-t{font-family:var(--mincho);font-size:21px;font-weight:600;letter-spacing:.04em;line-height:1.5;margin:0 0 8px !important}
#fn315 .fn-first-t em{font-style:normal;color:var(--red)}
#fn315 .fn-first-d{font-size:13px;color:var(--sub);margin:0 !important}
#fn315 .fn-first-d strong{color:var(--ink)}
#fn315 .fn-first-r{text-align:center;border-left:1px solid #f0ece5;padding-left:24px}
#fn315 .fn-tel-big{display:block;font-size:30px;font-weight:500;letter-spacing:.06em;line-height:1.3;color:var(--ink) !important;text-decoration:none}
#fn315 .fn-tel-cap{display:block;font-size:12px;color:var(--sub);margin:2px 0 10px}


/* ---------- メインビジュアルの角（トップに合わせて少し丸める） ---------- */
#fn315 .fn-hero img{width:100%;border-radius:10px 10px 0 0}

/* ---------- 相談ボタン ---------- */
#fn315 .fn-tel-ico{font-size:.7em;margin-right:6px;vertical-align:.12em}
#fn315 .fn-cbtns{display:flex;gap:8px;justify-content:center;margin-top:4px}
#fn315 .fn-cbtn{flex:1;display:flex;align-items:center;justify-content:center;min-height:46px;padding:8px 10px;border:1px solid var(--dark);background:#fff;color:var(--ink) !important;text-decoration:none;font-size:13px;font-weight:bold;letter-spacing:.04em;transition:background .2s,color .2s}
#fn315 .fn-cbtn:hover{background:var(--dark);color:#fff !important}
#fn315 .fn-cbtn-tel{display:none}
#fn315 br.fn-sp{display:none}

/* ---------- 利用券 7種類（代表サムネイル＋額面一覧） ---------- */
#fn315 .fn-tkwrap{display:grid;grid-template-columns:300px 1fr;gap:28px;align-items:center}
#fn315 .fn-tkimg{margin:0 !important}
#fn315 .fn-tkimg img{width:100%;border:1px solid var(--panel-line)}
#fn315 .fn-tkr-t{font-family:var(--mincho);font-size:18px;font-weight:600;margin:0 0 12px !important}
#fn315 .fn-amts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
#fn315 .fn-amts a{display:flex;align-items:baseline;justify-content:center;gap:2px;min-height:52px;padding:10px 4px;background:#fff;border:1px solid var(--card-line);text-decoration:none;color:var(--ink);font-size:11px;white-space:nowrap;letter-spacing:-.02em;transition:border-color .2s,background .2s}
#fn315 .fn-amts a:hover{border-color:var(--dark)}
#fn315 .fn-amts b{font-family:var(--mincho);font-size:22px;font-weight:600;line-height:1}

/* ---------- 相談ボタン（メイン画像の下） ---------- */
#fn315 .fn-act{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 44px}
#fn315 .fn-act-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:64px;padding:10px;border:1px solid var(--dark);background:#fff;color:var(--ink) !important;text-decoration:none;font-size:15px;font-weight:bold;letter-spacing:.04em;text-align:center;transition:background .2s,color .2s}
#fn315 .fn-act-btn small{display:block;font-size:11px;font-weight:normal;color:var(--sub);margin-bottom:2px;letter-spacing:0}
#fn315 .fn-act-tel{background:var(--dark);color:#fff !important}
#fn315 .fn-act-tel small{color:#d9d2c7}
#fn315 .fn-act-btn:hover{opacity:.88}
#fn315 .fn-tkr-t{text-align:center}
#fn315 .fn-amts{max-width:560px;margin:0 auto !important}

/* ---------- 3つの特長 ---------- */
#fn315 .fn-feat{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 26px !important}
#fn315 .fn-feat li{background:#fff;border:1px solid var(--card-line);border-top:3px solid var(--gold);padding:18px 16px 16px}
#fn315 .fn-feat-no{display:block;font-family:var(--en);font-size:20px;color:var(--gold);letter-spacing:.08em;margin-bottom:4px}
#fn315 .fn-feat b{display:block;font-family:var(--mincho);font-size:17px;font-weight:600;line-height:1.45;margin-bottom:6px}
#fn315 .fn-feat li > span:last-child{display:block;font-size:12.5px;color:var(--sub);line-height:1.75}

/* ---------- よくある質問 ---------- */
#fn315 .fn-faq{border-top:1px solid var(--card-line)}
#fn315 details.fn-q{border-bottom:1px solid var(--card-line);background:#fff}
#fn315 details.fn-q summary{position:relative;cursor:pointer;list-style:none;padding:15px 44px 15px 52px;font-size:14px;font-weight:bold;line-height:1.6}
#fn315 details.fn-q summary::-webkit-details-marker{display:none}
#fn315 details.fn-q summary::after{content:"＋";position:absolute;right:16px;top:14px;color:var(--gold);font-size:16px}
#fn315 details.fn-q[open] summary::after{content:"－"}
#fn315 .fn-q-mark{position:absolute;left:14px;top:12px;width:26px;height:26px;border-radius:50%;background:var(--dark);color:#fff;font-family:var(--en);font-size:14px;display:flex;align-items:center;justify-content:center}
#fn315 details.fn-q p{position:relative;margin:0 !important;padding:2px 18px 16px 52px;font-size:13px;color:var(--sub);line-height:1.85}
#fn315 .fn-q-mark.fn-a{top:0;background:var(--gold)}

/* ---------- 写真1枚を幅いっぱいに（家具の一例） ---------- */
#fn315 .fn-wide{max-width:620px;margin:0 auto !important}
#fn315 .fn-wide img{width:100%;border:1px solid var(--panel-line)}

/* ---------- できること（説明画像2枚） ---------- */
#fn315 .fn-points2{display:grid;grid-template-columns:1fr;gap:30px;max-width:620px;margin:0 auto !important}
#fn315 .fn-points2 img{width:100%;border:1px solid var(--panel-line)}
#fn315 .fn-points2 p{margin:12px 0 0;font-size:13.5px;line-height:1.8}
#fn315 .fn-points2 p b{color:var(--gold)}



/* ---------- ご利用の流れ ---------- */
#fn315 .fn-flow{position:relative;max-width:600px;margin:0 auto !important}
#fn315 .fn-flow li{position:relative;display:grid;grid-template-columns:56px 1fr;gap:16px;padding:0 0 22px}
#fn315 .fn-flow li::before{content:"";position:absolute;left:27px;top:52px;bottom:0;width:1px;background:var(--gold-line)}
#fn315 .fn-flow li:last-child::before{display:none}
#fn315 .fn-flow-no{width:56px;height:56px;border:1px solid var(--gold-line);border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--en);color:var(--gold);line-height:1}
#fn315 .fn-flow-no small{font-size:8px;letter-spacing:.14em;margin-bottom:3px}
#fn315 .fn-flow-no b{font-size:19px;font-weight:normal}
#fn315 .fn-flow li.is-key .fn-flow-no{background:var(--gold);border-color:var(--gold);color:#fff}
#fn315 .fn-flow-b{background:#fff;border:1px solid var(--card-line);padding:12px 16px}
#fn315 .fn-flow-t{display:block;font-weight:bold;font-size:14.5px;line-height:1.5;margin-bottom:2px}
#fn315 .fn-flow li.is-key .fn-flow-t{color:var(--red)}
#fn315 .fn-flow-d{display:block;font-size:12.5px;color:var(--sub);line-height:1.75}

/* ---------- ご注意 ---------- */

/* ---------- 締めの相談ボックス ---------- */
#fn315 .fn-cta{background:var(--dark);color:#fff;text-align:center;padding:30px 24px 28px;margin:0 0 50px}
#fn315 .fn-cta .fn-en{color:#cdb68a}
#fn315 .fn-cta-t{font-family:var(--mincho);font-size:22px;font-weight:500;letter-spacing:.06em;margin:0 0 6px !important}
#fn315 .fn-cta-d{font-size:13px;color:#d9d2c7;margin:0 0 14px !important}
#fn315 .fn-cta .fn-tel-big{color:#fff !important}
#fn315 .fn-cta .fn-tel-cap{color:#d9d2c7}
#fn315 .fn-cta .fn-btn{background:transparent;border-color:#cdb68a;color:#fff !important}
#fn315 .fn-cta .fn-btn:hover{background:#fff;color:var(--ink) !important}

#fn315 .fn-cta .fn-cbtns{max-width:420px;margin:6px auto 0}
#fn315 .fn-cta .fn-cbtn{background:#fff;border-color:#fff}
#fn315 .fn-cta .fn-cbtn:hover{background:#cdb68a;border-color:#cdb68a;color:var(--ink) !important}
#fn315 .fn-cta-sub{margin:16px 0 0 !important;font-size:12.5px}
#fn315 .fn-cta-sub a{display:inline-block;padding:12px 4px;color:#e6d9c0 !important;text-decoration:underline;text-underline-offset:3px}

/* ---------- そのほかのお礼の品（完成品） ---------- */
#fn315 .fn-sub-sec{border-top:1px solid var(--panel-line);padding-top:36px}
#fn315 .fn-portals{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
#fn315 .fn-portal{display:flex;flex-direction:column;align-items:center;height:100%;background:#fff;border:1px solid var(--card-line);text-decoration:none;color:var(--ink);padding:10px 6px 8px;transition:border-color .2s}
#fn315 .fn-portal:hover{border-color:var(--card-hover)}
#fn315 .fn-portal img{width:100%;max-width:130px}
#fn315 .fn-portal span{font-size:11.5px;font-weight:bold;margin-top:4px;line-height:1.4;text-align:center}
#fn315 .fn-portal small{display:block;font-size:10.5px;font-weight:normal;color:var(--sub)}

/* ---------- ふるさと納税の手続き・注意 ---------- */
#fn315 .fn-info{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#fn315 .fn-card{background:#fff;border:1px solid var(--card-line);padding:18px 20px}
#fn315 .fn-card-label{font-size:12px;letter-spacing:.08em;color:#5e5549;margin:0 0 8px !important;padding-bottom:8px;border-bottom:1px solid #f0ece5}
#fn315 .fn-card p{font-size:12.5px;color:var(--sub)}
#fn315 .fn-card strong{color:var(--red)}
#fn315 .fn-card .fn-tel-mid{font-size:20px;font-weight:500;letter-spacing:.06em;color:var(--ink);text-decoration:none}
#fn315 details.fn-scam{margin-top:12px;background:#fff;border:1px solid var(--card-line);padding:0 20px}
#fn315 details.fn-scam summary{cursor:pointer;padding:14px 0;font-size:13px;font-weight:bold;list-style:none}
#fn315 details.fn-scam summary::-webkit-details-marker{display:none}
#fn315 details.fn-scam summary::after{content:"＋";float:right;color:var(--gold)}
#fn315 details.fn-scam[open] summary::after{content:"－"}
#fn315 details.fn-scam > div{padding:0 0 16px;font-size:12.5px;color:var(--sub)}
#fn315 details.fn-scam li{position:relative;padding-left:1.1em;margin:3px 0;color:var(--ink)}
#fn315 details.fn-scam li::before{content:"";position:absolute;left:0;top:.75em;width:5px;height:5px;border-radius:50%;background:var(--gold-line)}
#fn315 details.fn-scam .fn-links{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin:8px 0 0}

/* ---------- スマホ ---------- */
@media (max-width:767px){
  #fn315{padding:0 12px;font-size:14px}
  #fn315 .fn-hero{margin:0 -12px}
  #fn315 .fn-panel{padding:26px 14px 22px}
  #fn315 h3.fn-title{font-size:19px;letter-spacing:.04em}
  #fn315 .fn-sec{margin-bottom:36px}
  #fn315 .fn-first{grid-template-columns:1fr;gap:14px;padding:20px 16px 18px;margin-bottom:36px}
  #fn315 .fn-first-t{font-size:18px}
  #fn315 .fn-first-r{border-left:0;border-top:1px solid #f0ece5;padding:14px 0 0}
  #fn315 .fn-flow li{grid-template-columns:48px 1fr;gap:12px;padding-bottom:16px}
  #fn315 .fn-flow li::before{left:23px;top:46px}
  #fn315 .fn-flow-no{width:48px;height:48px}
  #fn315 .fn-flow-no b{font-size:17px}
  #fn315 .fn-cta{margin:0 -12px 40px;padding:28px 16px 26px}
  #fn315 .fn-cta-t{font-size:19px}
  #fn315 .fn-info{grid-template-columns:1fr}
  #fn315 .fn-link{padding:10px 0 8px;min-height:44px}
  #fn315 .fn-points2{gap:24px}
  #fn315 br.fn-pc{display:none}
  #fn315 .fn-act{grid-template-columns:1fr;margin-bottom:36px}
  #fn315 .fn-hero img{border-radius:0}
  #fn315 .fn-feat{grid-template-columns:1fr;gap:10px}
  #fn315 details.fn-q summary{font-size:13.5px}
  #fn315 .fn-tkwrap{grid-template-columns:1fr;gap:16px}
  #fn315 .fn-tkimg{max-width:300px;margin:0 auto !important}
  #fn315 .fn-tkr-t{text-align:center}
  #fn315 .fn-tel-big{font-size:26px}
  #fn315 .fn-cbtn-tel{display:flex;background:var(--dark);color:#fff !important}
  #fn315 .fn-cbtns{flex-direction:column;gap:8px}
  #fn315 .fn-cbtn{min-height:50px;font-size:14px}
  #fn315 .fn-cta .fn-cbtn-tel{background:#cdb68a;border-color:#cdb68a;color:var(--ink) !important}
  #fn315 br.fn-sp{display:inline}
  #fn315 .fn-portals{grid-template-columns:1fr 1fr}
  #fn315 .fn-portals li:last-child{grid-column:1 / -1}
  #fn315 .fn-hero img{border-radius:0}
}

/* =========================================================
   素直な作りに寄せる上書き（2026-10-20）
   ・見出しは左寄せ＋下線、英字ラベルなし
   ・枠・影・角丸・丸番号を減らし、区切りは細い線
========================================================= */
#fn315{font-size:15px;line-height:1.9}
#fn315 .fn-head{text-align:left;margin:0 0 18px;border-bottom:2px solid var(--ink);padding-bottom:8px}
#fn315 h3.fn-title{text-align:left;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-weight:bold;font-size:20px;letter-spacing:0;line-height:1.5}
#fn315 .fn-head p{margin:6px 0 0;font-size:13px}
#fn315 .fn-panel{background:none;border:0;padding:0}
#fn315 .fn-sec{margin:0 0 52px}
/* 相談ボタン */
#fn315 .fn-act-btn{border-radius:4px}
/* できること：カード→箇条書き */
#fn315 .fn-feat{display:block;margin:0 0 24px !important}
#fn315 .fn-feat li{background:none;border:0;border-bottom:1px solid var(--card-line);padding:12px 0;display:block}
#fn315 .fn-feat b{display:inline;font-family:inherit;font-size:15px;font-weight:bold;margin:0}
#fn315 .fn-feat b::after{content:"　"}
#fn315 .fn-feat li > span:last-child{display:inline;font-size:14px;color:var(--sub)}
#fn315 .fn-points2 img{border:0}
#fn315 .fn-points2 p{font-size:14px}
/* 利用券の額面 */
#fn315 .fn-tkr-t{text-align:left;font-family:inherit;font-size:15px;font-weight:bold}
#fn315 .fn-amts{max-width:none;margin:0 !important}
#fn315 .fn-amts a{border-radius:4px}
#fn315 .fn-small{text-align:left}
#fn315 .fn-center{text-align:left}
/* 家具の一例 */
#fn315 .fn-wide{max-width:none}
#fn315 .fn-wide img{border:0}
/* 流れ：丸番号と縦線をやめ、番号付きの行に */
#fn315 .fn-flow{max-width:none}
#fn315 .fn-flow li{display:grid;grid-template-columns:2.2em 1fr;gap:4px;padding:12px 0;border-bottom:1px solid var(--card-line)}
#fn315 .fn-flow li::before{display:none}
#fn315 .fn-flow-no{width:auto;height:auto;border:0;border-radius:0;background:none !important;display:block;font-family:"Noto Sans JP",sans-serif;color:var(--ink) !important;line-height:1.6}
#fn315 .fn-flow-no b{font-size:18px;font-weight:bold}
#fn315 .fn-flow-no b::after{content:"."}
#fn315 .fn-flow-b{background:none;border:0;padding:0}
#fn315 .fn-flow-t{font-size:15px}
#fn315 .fn-flow li.is-key .fn-flow-t{color:var(--red)}
#fn315 .fn-flow-d{font-size:14px}
/* よくある質問：丸アイコンをやめ「Q.」「A.」の文字に */
#fn315 .fn-faq{border-top:0}
#fn315 details.fn-q{background:none}
#fn315 details.fn-q summary{padding:13px 36px 13px 0;font-size:15px}
#fn315 details.fn-q summary::after{right:4px;top:12px;color:var(--ink)}
#fn315 .fn-q-mark{position:static;display:inline;width:auto;height:auto;border-radius:0;background:none !important;color:var(--ink);font-family:inherit;font-size:inherit;margin-right:.3em}
#fn315 .fn-q-mark::after{content:"."}
#fn315 .fn-q-mark.fn-a{color:var(--red)}
#fn315 details.fn-q p{padding:0 0 14px 0;font-size:14px}
/* 締めの相談：黒い大きな箱→細い線で囲むだけ */
#fn315 .fn-cta{background:none;color:var(--ink);border-top:2px solid var(--ink);border-bottom:1px solid var(--card-line);padding:22px 0;text-align:left}
#fn315 .fn-cta-t{font-family:inherit;font-weight:bold;font-size:18px}
#fn315 .fn-cta-d{color:var(--sub) !important}
#fn315 .fn-cta .fn-tel-big{color:var(--ink) !important;text-align:left}
#fn315 .fn-cta .fn-tel-cap{color:var(--sub);text-align:left}
#fn315 .fn-cta .fn-cbtns{max-width:none;justify-content:flex-start;margin:6px 0 0}
#fn315 .fn-cta .fn-cbtn{background:#fff;border-color:var(--ink);flex:0 0 auto;padding:8px 22px;border-radius:4px}
#fn315 .fn-cta-sub a{color:var(--ink) !important}
/* 完成品・ご確認 */
#fn315 .fn-sub-sec{border-top:0;padding-top:0}
#fn315 .fn-portal{border-radius:4px}
#fn315 .fn-card{background:none;border:0;border-top:1px solid var(--card-line);padding:14px 0}
#fn315 details.fn-scam{background:none;border:0;border-top:1px solid var(--card-line);padding:0}
@media (max-width:767px){
  #fn315 h3.fn-title{font-size:18px}
  #fn315 .fn-feat b{display:block}
  #fn315 .fn-feat b::after{content:""}
  #fn315 .fn-cta{margin:0 0 40px;padding:20px 0}
  #fn315 .fn-cta .fn-cbtn{flex:1 1 auto}
}

/* 家具の一例（実写真を並べるだけ） */
#fn315 .fn-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:16px 12px}
#fn315 .fn-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}
#fn315 .fn-gallery span{display:block;font-size:14px;margin-top:4px}
@media (max-width:767px){#fn315 .fn-gallery{grid-template-columns:1fr 1fr;gap:12px 10px}}

/* 再修正（2026-10-20）：実写真＋文章のブロック、樹種見本、例の表 */
#fn315 .fn-row{display:grid;grid-template-columns:44% 1fr;gap:24px;align-items:start;margin:0 0 28px}
#fn315 .fn-row-img{margin:0 !important}
#fn315 .fn-row-img img{width:100%;aspect-ratio:4/3;object-fit:cover}
#fn315 .fn-row-txt h4{margin:0 0 8px;padding:0;border:0;background:none;font-size:17px;font-weight:bold;line-height:1.5;color:var(--ink)}
#fn315 .fn-row-txt * + h4{margin-top:26px}
#fn315 .fn-row-txt p{font-size:14.5px;line-height:1.9;margin:0 0 8px}
#fn315 .fn-woods{margin:0 0 32px;padding:16px 0;border-top:1px solid var(--card-line);border-bottom:1px solid var(--card-line)}
#fn315 .fn-woods-t{font-size:14px;font-weight:bold;margin:0 0 10px !important}
#fn315 .fn-woods ul{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
#fn315 .fn-woods img{width:100%;aspect-ratio:3/2;object-fit:cover}
#fn315 .fn-woods span{display:block;font-size:13px;margin-top:4px}
#fn315 .fn-woods .fn-small{margin:10px 0 0}
#fn315 table.fn-ex{border-collapse:collapse;margin:10px 0 6px;font-size:14px;width:auto}
#fn315 table.fn-ex th,#fn315 table.fn-ex td{border:0;border-bottom:1px solid var(--card-line);padding:6px 18px 6px 0;text-align:left;font-weight:normal;background:none}
#fn315 table.fn-ex th{color:var(--sub)}
#fn315 .fn-ex-sum th,#fn315 .fn-ex-sum td{font-weight:bold !important;color:var(--ink) !important;border-bottom:2px solid var(--ink) !important}
/* 文末の1～2文字だけが次の行に落ちるのを防ぐ */
#fn315 p,#fn315 li,#fn315 span,#fn315 summary,#fn315 h3,#fn315 h4{text-wrap:pretty}
@media (max-width:767px){
  #fn315 .fn-row{grid-template-columns:1fr;gap:12px}
  #fn315 .fn-woods ul{grid-template-columns:repeat(2,1fr);gap:10px}
  #fn315 .fn-woods span{font-size:13px}
}

/* v6 2026-10-20: section separation. Scoped to article only. */
#fn315{max-width:750px!important;line-height:1.8!important}
#fn315 .fn-v6-hero{margin:0 0 54px!important;padding:0!important}
#fn315 .fn-v6-visual{display:block;position:relative;background:#fff;margin:0 0 64px!important;padding:22px 18px 20px;border:1px solid #e7e1d8;box-shadow:none;clear:both}
#fn315 .fn-v6-overline{font-family:Arial,'Hiragino Kaku Gothic ProN',sans-serif;color:#8c7353;font-size:11px;font-weight:700;letter-spacing:.09em;padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid #e9e1d5;line-height:1.6}
#fn315 .fn-v6-visual .fn-img{margin:0!important;padding:0!important;display:block}
#fn315 .fn-v6-visual .fn-img img{width:100%;height:auto;display:block;max-width:100%;border:0!important;border-radius:0!important}
#fn315 .fn-v6-visual + .fn-v6-visual{margin-top:8px!important}
#fn315 .fn-v6-hero + .fn-v6-visual{margin-top:40px!important}
#fn315 .fn-quicknav{margin:0 0 46px!important;border-radius:0}
#fn315 .fn-act{margin:0 0 62px!important}
#fn315 .fn-sec{margin-bottom:64px!important}
#fn315 .fn-sec .fn-head{margin-bottom:24px!important}
#fn315 .fn-cta{margin-top:30px!important;margin-bottom:66px!important}
#fn315 .fn-v6-visual:after{content:'';display:block;position:absolute;bottom:-33px;left:calc(50% - 24px);width:48px;height:1px;background:#d8c9b3}
#fn315 .fn-v6-visual:last-of-type:after{display:none}
@media(max-width:767px){
 #fn315 .fn-v6-hero{margin:0 -12px 34px!important}
 #fn315 .fn-v6-visual{margin:0 0 44px!important;padding:12px 10px 12px;border-color:#eee8e1}
 #fn315 .fn-v6-overline{font-size:10.5px;padding-bottom:8px;margin-bottom:10px}
 #fn315 .fn-v6-hero + .fn-v6-visual{margin-top:24px!important}
 #fn315 .fn-v6-visual .fn-img{margin:0!important}
 #fn315 .fn-v6-visual:after{bottom:-23px}
 #fn315 .fn-quicknav{margin:0 0 34px!important}
 #fn315 .fn-act{margin:0 0 42px!important}
 #fn315 .fn-sec{margin-bottom:46px!important}
}

/* v5: 翌年との合算をファーストビュー直後へ */
#fn315 .fn-img-hero{margin:0!important}
#fn315 #fn-part-3{margin:0 0 10px!important}
#fn315 .fn-quicknav{margin-top:0;margin-bottom:12px}
#fn315 .fn-act{margin-bottom:30px!important}
#fn315 .fn-quicknav a:first-child{background:#463127;color:#fff;border-color:#463127}
#fn315 .fn-img:not(.fn-img-hero){margin-bottom:32px!important}
#fn315 .fn-sec{margin-bottom:34px!important}
#fn315 a:focus-visible{outline:3px solid #92764a;outline-offset:3px}
@media(max-width:767px){#fn315 #fn-part-3{margin:0 -12px 6px!important}#fn315 .fn-quicknav{justify-content:flex-start}#fn315 .fn-img:not(.fn-img-hero){margin-bottom:22px!important}}

/* v4 デザイン調整：自然工房の既存デザインを尊重し、読み順・余白・トーンを統一 */
#fn315{--red:#8e463a;--gold:#92764a;--gold-line:#c6ad81;--dark:#372920;--base:#f7f5f0;--panel-line:#e8e0d6;max-width:860px!important}
#fn315 .fn-img{margin:0 0 28px!important}
#fn315 .fn-img-hero{margin-bottom:0!important}
#fn315 .fn-img img{border:0;display:block;width:100%;height:auto}
#fn315 .fn-act{margin:0 0 34px!important;gap:12px}
#fn315 .fn-act-btn{border-radius:0!important;min-height:72px}
#fn315 .fn-act-btn:first-child{background:var(--dark);color:white!important}
#fn315 .fn-act-btn:first-child small{color:#ede5db}
#fn315 .fn-amts a{background:#fcfaf6!important;border-color:#ded2bf!important;min-height:58px}
#fn315 .fn-amts a:hover{background:#eee8df!important}
#fn315 .fn-sec{margin-bottom:36px!important}
#fn315 .fn-head{border-bottom:1px solid #b8a48d!important}
#fn315 .fn-first, #fn315 .fn-cta {box-shadow:none!important}
#fn315 .fn-cta{border-top:2px solid #92764a!important}
#fn315 .fn-cta .fn-cbtn{border-radius:0!important}
#fn315 details.fn-q summary{font-weight:600}
#fn315 .fn-img:not(.fn-img-hero) img{border:1px solid #ede8df}
@media(max-width:767px){#fn315{max-width:100%!important}#fn315 .fn-act{grid-template-columns:1fr;gap:8px}#fn315 .fn-img{margin:0 -12px 20px!important}#fn315 .fn-img-hero{margin-bottom:0!important}#fn315 .fn-amts{grid-template-columns:repeat(2,1fr)}#fn315 .fn-act-btn{min-height:58px}}

#fn315 .fn-quicknav{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;background:#f5f1ea;padding:14px 10px;margin:0 0 28px;border-bottom:1px solid #e4dcd0}#fn315 .fn-quicknav a{font-size:12px;white-space:nowrap;text-decoration:none;border:1px solid #d2c2aa;padding:7px 11px;color:#403229;background:#fff}#fn315 .fn-quicknav a:hover{background:#eae1d2}@media(max-width:767px){#fn315 .fn-quicknav{margin:0 -12px 22px;gap:6px}#fn315 .fn-quicknav a{font-size:11px;padding:6px 8px}}

/* v7: editorial layout; appended last so old v4/v5/v6 image rules cannot override it. */
#fn315{max-width:750px!important}
#fn315 .fn-v6-hero{margin:0 0 44px!important}
#fn315 .fn-v6-hero img{border-radius:0!important}
#fn315 .fn-v7-block{clear:both;position:relative;display:block;box-sizing:border-box;
  border:0!important;box-shadow:none!important;border-radius:0!important;
  background:#fff!important;padding:0!important;margin:0 0 84px!important}
#fn315 .fn-v7-block::after{display:none!important}
#fn315 .fn-v7-block .fn-v6-overline{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  letter-spacing:.055em;font-size:23px;font-weight:600;color:#34261f;
  border:0!important;padding:0!important;margin:0 0 9px!important;line-height:1.5}
#fn315 .fn-v7-block .fn-v6-overline:before{content:"";display:block;background:#b69a6f;width:34px;height:2px;margin-bottom:14px}
#fn315 .fn-v7-description{font-size:13.5px;color:#6a6359;margin:0 0 24px!important;line-height:1.85}
#fn315 .fn-v7-block .fn-img,#fn315 .fn-v7-block #fn-part-3{display:block;background:transparent;
 padding:0!important;margin:0!important;border:0!important;max-width:100%!important}
#fn315 .fn-v7-block .fn-img img{width:100%;height:auto;border:0!important;border-radius:0!important;display:block}
/* Feature benefits get their own generous visual hierarchy */
#fn315 .fn-v7-feature{margin-bottom:90px!important}
#fn315 .fn-v7-feature .fn-img{border-bottom:1px solid #eee6dc!important;padding-bottom:23px!important}
/* A soft background change for one supporting section; not a boxed frame */
#fn315 .fn-v7-gallery{background:#f8f6f2!important;padding:28px 26px 30px!important}
#fn315 .fn-v7-gallery .fn-img{background:#f8f6f2!important}
#fn315 .fn-v7-notice{border-top:1px solid #e5ded3!important;padding-top:32px!important}
#fn315 .fn-v7-notice .fn-img{max-width:670px!important;margin:0 auto!important}
#fn315 .fn-quicknav{margin:0 0 30px!important}
#fn315 .fn-act{margin:0 0 76px!important}
#fn315 #fn-part-4{margin-top:0!important;margin-bottom:84px!important;padding:30px 24px!important;background:#f9f7f3!important}
#fn315 .fn-sec:not(#fn-part-4){margin-bottom:74px!important}
#fn315 .fn-cta{margin:0 0 78px!important}
@media(max-width:767px){
 #fn315 .fn-v6-hero{margin:0 -12px 30px!important}
 #fn315 .fn-v7-block{margin:0 0 57px!important;padding:0!important}
 #fn315 .fn-v7-block .fn-v6-overline{font-size:19px;letter-spacing:.025em}
 #fn315 .fn-v7-description{font-size:12.5px;margin:0 0 16px!important}
 #fn315 .fn-v7-gallery{padding:20px 12px 22px!important;margin-left:-12px!important;margin-right:-12px!important}
 #fn315 .fn-v7-gallery .fn-v6-overline,#fn315 .fn-v7-gallery .fn-v7-description{margin-left:0!important}
 #fn315 .fn-v7-feature{margin-bottom:62px!important}
 #fn315 .fn-v7-notice{padding-top:24px!important}
 #fn315 .fn-act{margin-bottom:53px!important}
 #fn315 #fn-part-4{padding:22px 15px!important;margin:0 0 59px!important}
 #fn315 .fn-sec:not(#fn-part-4){margin-bottom:53px!important}
 #fn315 .fn-cta{margin-bottom:54px!important}
}

/* --- 2026-10-21: consistent editorial hero & benefits --- */
#fn315 .fr-hero{display:grid;grid-template-columns:46% 54%;align-items:stretch;background:#f8f6f1;margin:0 0 64px;min-height:410px}
#fn315 .fr-hero-copy{padding:36px 12px 32px 34px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
#fn315 .fr-eyebrow{font-family:Georgia,serif;font-size:10px;letter-spacing:.16em;color:#937849;line-height:1.6}
#fn315 .fr-pref{font-size:12px;margin:18px 0 8px!important;color:#655a4f}
#fn315 .fr-hero h1{font-family:var(--mincho);font-size:clamp(23px,3.4vw,33px);font-weight:600;letter-spacing:.025em;line-height:1.65;color:#33251e;margin:0 0 16px}
#fn315 .fr-lead{font-size:13px;color:#61574d;line-height:1.9;margin:0 0 24px!important}
#fn315 .fr-hero-meta{font-size:12px;color:#4b4038;border-top:1px solid #cdbca4;padding-top:14px;margin:0 0 12px!important}
#fn315 .fr-hero-meta strong{font-size:15px;margin-left:7px}#fn315 .fr-hero-meta span{display:block;font-size:12px}
#fn315 .fr-textlink{font-size:12px;font-weight:600;text-decoration:none;border-bottom:1px solid #8d6f42;padding:2px 0 5px}
#fn315 .fr-hero-visual{min-width:0;overflow:hidden}#fn315 .fr-hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
#fn315 .fr-benefits{margin:0 0 40px;padding:0 4px}
#fn315 .fr-section-heading{margin:0 0 36px;text-align:center}
#fn315 .fr-section-heading h2{font-family:var(--mincho);font-size:27px;font-weight:600;color:#372a23;margin:12px 0 12px;letter-spacing:.04em}
#fn315 .fr-section-heading p{font-size:13px;color:#6d6258;line-height:1.8}
#fn315 .fr-benefit{border-top:1px solid #d8cabc;padding:26px 12px 32px}
#fn315 .fr-benefit-last{border-bottom:1px solid #d8cabc}
#fn315 .fr-benefit-label{display:flex;align-items:flex-start;gap:17px;margin:0 0 13px}
#fn315 .fr-number{font-family:Georgia,serif;color:#967749;font-size:26px;line-height:1.2}
#fn315 .fr-small-en{display:block;font-size:10px;letter-spacing:.13em;color:#978573}
#fn315 .fr-benefit h3{font-family:var(--mincho);font-size:21px;color:#322721;margin:2px 0 0;font-weight:600;line-height:1.55}
#fn315 .fr-benefit-text{margin:0 0 23px 45px!important;color:#5b514a;font-size:13.5px;line-height:1.95}
#fn315 .fr-equation{display:flex;align-items:stretch;justify-content:center;gap:8px;margin:0 0 20px 45px}
#fn315 .fr-eq-piece{background:#f5f3ee;border:1px solid #e6dfd5;flex:1;min-width:0;text-align:center;padding:18px 6px}
#fn315 .fr-eq-piece>span{display:block;font-size:11px;color:#685d52}
#fn315 .fr-eq-piece strong{font-size:31px;font-family:Georgia,serif;font-weight:500;color:#47372b;line-height:1.5}
#fn315 .fr-eq-piece small{font-family:inherit;font-size:13px}
#fn315 .fr-eq-total{background:#eee7da;border-color:#cdb99a}#fn315 .fr-eq-total strong{color:#825d2d}
#fn315 .fr-operator{display:flex;align-items:center;color:#a0845e;font-size:22px}
#fn315 .fr-term{margin:0 0 0 45px;padding:14px 18px;background:#faf9f6}
#fn315 .fr-term-title{font-size:12px;font-weight:600;color:#4b4038}
#fn315 .fr-timeline{max-width:500px;margin:12px auto}
#fn315 .fr-time-labels{display:grid;grid-template-columns:repeat(3,1fr);font-size:11px;color:#7a6c5e;text-align:center}
#fn315 .fr-time-line{height:68px;position:relative;background:linear-gradient(to right,transparent 32.9%,#ddd2c6 33%,transparent 33.2%,transparent 65.9%,#ddd2c6 66%,transparent 66.2%)}
#fn315 .fr-time-a,#fn315 .fr-time-b{position:absolute;left:10%;width:48%;height:22px;display:flex;align-items:center;padding-left:10px;color:#fff;font-size:10px;white-space:nowrap}
#fn315 .fr-time-a{top:8px;background:#786655}#fn315 .fr-time-b{left:42%;top:36px;background:#a78952}
#fn315 .fr-overlap{position:absolute;left:42%;width:16%;top:3px;height:60px;border:1px dashed #ac714c;pointer-events:none}
#fn315 .fr-term>p{font-size:10px;color:#827366;line-height:1.65}
#fn315 .fr-pay-row{display:grid;grid-template-columns:1fr 30px 1fr;align-items:center;margin-left:45px;gap:10px}
#fn315 .fr-pay-item{background:#f5f3ee;border:1px solid #e6dfd5;text-align:center;padding:20px 8px;min-width:0}
#fn315 .fr-pay-kicker{display:block;font-size:12px;color:#89765f;margin-bottom:7px}
#fn315 .fr-pay-item strong{font-size:14px;color:#47382b;line-height:1.7}
#fn315 .fr-pay-plus{font-size:22px;color:#a0845e;text-align:center}
#fn315 .fr-pay-note{font-size:12px;color:#64564a;margin:12px 0 0 45px!important}
#fn315 .fr-benefits-foot{font-size:12px;text-align:center;color:#76695e;margin:18px 0 0!important}
@media(max-width:767px){
#fn315 .fr-hero{grid-template-columns:1fr;margin:0 -12px 42px;min-height:0}
#fn315 .fr-hero-copy{padding:29px 25px 26px;order:2}
#fn315 .fr-hero-visual{height:220px;order:1}
#fn315 .fr-hero h1{font-size:26px}#fn315 .fr-pref{margin-top:10px!important}
#fn315 .fr-lead{font-size:12px;margin-bottom:16px!important}
#fn315 .fr-benefits{padding:0;margin-bottom:30px}
#fn315 .fr-section-heading{margin-bottom:22px;padding:0 5px}
#fn315 .fr-section-heading h2{font-size:22px}
#fn315 .fr-section-heading p{font-size:12px}#fn315 .fr-pc{display:none}
#fn315 .fr-benefit{padding:20px 0 27px}
#fn315 .fr-benefit-label{gap:10px}
#fn315 .fr-number{font-size:22px}
#fn315 .fr-benefit h3{font-size:18px}
#fn315 .fr-benefit-text{margin:0 0 16px!important;font-size:12.5px}
#fn315 .fr-equation{margin:0 0 14px;gap:4px}
#fn315 .fr-eq-piece{padding:12px 3px}#fn315 .fr-eq-piece>span{font-size:9px;line-height:1.5}
#fn315 .fr-eq-piece strong{font-size:22px}#fn315 .fr-eq-piece small{font-size:10px}
#fn315 .fr-operator{font-size:15px}
#fn315 .fr-term{margin:0;padding:13px 10px}
#fn315 .fr-time-a,#fn315 .fr-time-b{font-size:9px;padding-left:4px}
#fn315 .fr-pay-row{margin:0;gap:5px;grid-template-columns:1fr 18px 1fr}
#fn315 .fr-pay-item{padding:15px 5px}#fn315 .fr-pay-item strong{font-size:12px}
#fn315 .fr-pay-kicker{font-size:11px}#fn315 .fr-pay-plus{font-size:17px}
#fn315 .fr-pay-note{margin:10px 0 0!important;font-size:11.5px}
}
