:root{--r4-bg:#070F24;--r4-bg2:#0C1834;--r4-card:#0F1C3A;--r4-soft:#16264D;--r4-line:#3A4C74;--r4-on:#EEF1F7;--r4-sub:#C2CBDD;
--r4-a1:#F2C46D;--r4-a2:#8FDCCF;--r4-coral:#F4A68E;--r4-edge:rgba(143,220,207,.42);--r4-glass:rgba(255,255,255,.06);
--r4-sans:"IBM Plex Sans JP","Noto Sans CJK JP","Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;--r4-mono:"M PLUS 1 Code","IBM Plex Sans JP","Noto Sans Mono CJK JP","Noto Sans CJK JP",monospace}
html{color-scheme:dark}

/* 共通の頭と足の骨組み（市のページは各ページの CSS を持たないので、ここで全部決める） */
header.jh{background:var(--r4-bg)}
.jh-in{max-width:1120px;margin:0 auto;padding:18px 24px;display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;justify-content:space-between;box-sizing:border-box}
.jh-logo{font-size:21px!important;line-height:1.4;text-decoration:none!important}
.jh-nav{display:flex;flex-wrap:wrap;gap:6px 26px;font-size:15px!important;line-height:1.8;margin-left:auto}
.jh-nav a{text-decoration:none!important;display:inline-flex;align-items:center;min-height:40px;border-bottom:1px solid transparent}
.jh-nav a.on{font-weight:700!important;border-bottom-color:var(--r4-a2)!important}
.jh-game{display:inline-flex!important;align-items:center;min-height:40px;padding:0 16px!important;text-decoration:none!important;font-size:15px!important;box-shadow:none!important}
.jh-game.on{font-weight:700!important}
.jh-gt{font-size:15px!important;letter-spacing:.02em!important}
.jf{margin-top:120px}
.jf-in{max-width:1120px;margin:0 auto;padding:56px 24px 72px;display:flex;flex-wrap:wrap;gap:32px 56px;justify-content:space-between;font-size:15px!important;line-height:1.9;box-sizing:border-box}
.jf-about{max-width:380px;display:flex;flex-direction:column;gap:8px}
.jf-name{font-size:18px!important;letter-spacing:.1em}
.jf-links{display:flex;flex-wrap:wrap;gap:8px 28px;align-content:flex-start;max-width:520px}
.jf-links a{text-decoration:none!important;color:var(--r4-sub)!important;display:inline-flex;align-items:center;min-height:36px}
.jf-nav{display:flex;flex-direction:column;gap:14px;max-width:560px} .jf-nav .jf-links{max-width:none}
.jf-main{padding-bottom:14px;border-bottom:1px solid rgba(238,241,247,.14)} .jf-main a{color:var(--r4-on)!important;font-weight:700}
@media (max-width:640px){.jh-in{padding:8px 16px;gap:4px 12px}.jh-logo{font-size:19px!important}.jh-game{order:2;min-height:36px}.jh-in .jh-nav{order:3;width:100%;margin-left:0;gap:0 18px}.jh-nav a{min-height:34px}}
/* 共通の頭 */
.jh{background:rgba(7,15,36,.94)!important;border-bottom:1px solid rgba(238,241,247,.12)!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.jh,.jh *{font-family:var(--r4-sans)!important}
.jh-logo{color:var(--r4-on)!important;font-weight:700!important;letter-spacing:.06em}
.jh-nav a{color:var(--r4-sub)!important} .jh-nav a[aria-current],.jh-nav a.on{color:var(--r4-on)!important;border-color:var(--r4-a2)!important}
.jh-game{border:1px solid var(--r4-edge)!important;border-radius:999px!important;background:var(--r4-glass)!important;color:var(--r4-on)!important}
.jh-game *{color:var(--r4-on)!important}
/* 共通の足 */
.jf{background:#040A1A!important;color:var(--r4-sub)!important;border-top:1px solid rgba(238,241,247,.1)!important}
.jf *{font-family:var(--r4-sans)!important} .jf a{color:var(--r4-on)!important} .jf-name{color:var(--r4-on)!important;font-weight:700}
/* 印刷は紙で読める明るい色に戻す（暗い地のまま印刷しない） */
@media print{
 html{color-scheme:light}
 #r4 *,#r4 *::before,#r4 *::after{background-color:transparent!important;background-image:none!important;color:#111!important;border-color:#888!important;box-shadow:none!important;text-shadow:none!important;-webkit-text-fill-color:#111!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
 #r4 img{background:transparent!important}
 html,body{background:#fff!important}
 .jh,.jf{display:none!important}
 a{text-decoration:underline}
 .r4-glow{display:none!important}
}
/* 動きを減らす設定では、動きを全部止める */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ===== 一般のページ ===== */
body.g4{background-color:var(--r4-bg)!important;color:var(--r4-on)}
body.g4 h1,body.g4 h2,body.g4 h3,body.g4 h4,body.g4 h5,body.g4 h6,body.g4 p,body.g4 li,body.g4 a,body.g4 span,body.g4 div,body.g4 dt,body.g4 dd,body.g4 td,body.g4 th,body.g4 label,body.g4 button,body.g4 summary,body.g4 small,body.g4 b,body.g4 strong,body.g4 em,body.g4 caption,body.g4 figcaption,body.g4 blockquote,body.g4 input,body.g4 select,body.g4 textarea,body.g4 section,body.g4 article,body.g4 nav,body.g4 main,body.g4 header,body.g4 footer{font-family:var(--r4-sans)!important}
body.g4 h1,body.g4 h2,body.g4 h3{font-weight:700!important;letter-spacing:.01em}
body.g4 h1{letter-spacing:.02em}
body.g4 .eyebrow,body.g4 .kicker,body.g4 .lbl{font-family:var(--r4-mono)!important;letter-spacing:.16em!important;color:var(--r4-a2)!important;font-weight:500!important}
body.g4 .eyebrow::before{content:"";display:inline-block;width:24px;height:1px;background:currentColor;vertical-align:middle;margin-right:10px}
body.g4 a{text-underline-offset:3px}
body.g4 /* カード：半透明の面と細い光の縁 */
.card,body.g4 .ok-item,body.g4 .qa-item,body.g4 .tk-q,body.g4 .tlist,body.g4 .kcard,body.g4 .tbox,body.g4 .mny,body.g4 .obody,body.g4 .zt .stage,body.g4 .zt .it{border:1px solid var(--r4-edge)!important;border-radius:14px!important}
body.g4 .card,body.g4 .qa-item,body.g4 .tk-q,body.g4 .kcard{background:var(--r4-glass)!important}
body.g4 .lift{box-shadow:0 0 0 1px rgba(143,220,207,.12),0 8px 24px rgba(0,0,0,.25)!important}
body.g4 /* ボタン：丸く、明るい面と淡い光 */
.btn:not(.ghost){box-shadow:0 0 0 1px var(--r4-edge),0 0 18px rgba(143,220,207,.22)!important}
body.g4 .btn.ghost{border:1px solid var(--r4-edge)!important;background:var(--r4-glass)!important;color:var(--r4-on)!important}
body.g4 /* 最初の画面：格子の線と柔らかい光の円 */
.hero{position:relative}
body.g4 .r4-top .hero,body.g4 .r4-top .tophero,body.g4 .r4-top .fv{background-image:linear-gradient(rgba(238,241,247,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(238,241,247,.07) 1px,transparent 1px)!important;background-size:56px 56px!important}
body.g4 .r4-glow{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
body.g4 .r4-glow::before,body.g4 .r4-glow::after{content:"";position:absolute;border-radius:50%}
body.g4 .r4-glow::before{width:520px;height:520px;right:-160px;top:-140px;background:radial-gradient(circle,rgba(143,220,207,.16),rgba(143,220,207,0) 68%)}
body.g4 .r4-glow::after{width:380px;height:380px;left:-120px;bottom:-200px;background:radial-gradient(circle,rgba(242,196,109,.11),rgba(242,196,109,0) 70%)}
body.g4 .r4-glowhost{position:relative;overflow:hidden}
body.g4 .r4-glowhost>*:not(.r4-glow){position:relative;z-index:1}
body.g4 /* 絵（色のあるイラスト）は、明るい額に入れて暗い地から浮かないように */
img[src*="ill_"],body.g4 img[src*="family.svg"]{background:#F3ECDF;border-radius:14px;padding:6px;box-shadow:0 0 0 1px var(--r4-edge)}
body.g4 /* トップの「やること表をつくる」：明るい面と淡い光（ページで一番押してほしい所） */
.go{background:var(--r4-on)!important;color:var(--r4-bg)!important;border-radius:999px!important;box-shadow:0 0 0 1px var(--r4-edge),0 0 22px rgba(143,220,207,.28)!important}
body.g4 /* 入力欄 */
input[type=date],body.g4 input[type=number],body.g4 input[type=text],body.g4 input[type=email],body.g4 select,body.g4 textarea{background:var(--r4-card)!important;color:var(--r4-on)!important;border:1px solid var(--r4-line)!important}
body.g4 input::placeholder,body.g4 textarea::placeholder{color:#9AA6BF!important}


/* ===== 市区町村のページ ===== */
body.c4 *{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body.c4{margin:0;background:#FFFFFF;color:#16181D;font-family:"IBM Plex Sans JP","Noto Sans CJK JP","Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;font-size:17px;line-height:1.85}
body.c4 a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
body.c4 h1,body.c4 h2,body.c4 h3,body.c4 h4{margin:0;font-family:"IBM Plex Sans JP","Noto Sans CJK JP","Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;font-weight:700;line-height:1.35}
body.c4 p,body.c4 ul,body.c4 ol,body.c4 dl,body.c4 dd{margin:0}
body.c4 .wrap{max-width:1120px;margin:0 auto;padding:0 32px}
body.c4 .nw{white-space:nowrap}
body.c4 .mast{background:#0E1A33;color:#F1F1F3;border-bottom:1px solid rgba(241,241,243,.18)}
body.c4 .mast .wrap{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-top:14px;padding-bottom:12px}
body.c4 .mast a{font-family:"IBM Plex Sans JP","Noto Sans CJK JP","Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;font-weight:700;font-size:19px;text-decoration:none;color:#F1F1F3}
body.c4 .mast span{font-size:15px}
body.c4 .lab{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:700;letter-spacing:.14em}
body.c4 .lab::before{content:"";display:block;width:28px;height:2px;background:currentColor}
body.c4 /* 最初の画面 */
.hero{background:#0E1A33;color:#F1F1F3;background-image:linear-gradient(rgba(241,241,243,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(241,241,243,.06) 1px,transparent 1px);background-size:48px 48px}
body.c4 .hero .wrap{padding-top:72px;padding-bottom:64px}
body.c4 .hero h1{font-size:54px;margin-top:18px;letter-spacing:.02em}
body.c4 .hero h1 em{font-style:normal;color:#E0A845;white-space:nowrap}
body.c4 .hero .lead{font-size:18px;margin-top:20px;max-width:34em}
body.c4 .cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;margin-top:32px}
body.c4 .btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 28px;background:#F1F1F3;color:#0E1A33!important;text-decoration:none;font-weight:700;font-size:17px}
body.c4 .tl{display:inline-flex;align-items:center;min-height:48px;font-weight:700;color:#F1F1F3}
body.c4 .hero .mans{margin-top:32px;padding-top:16px;border-top:1px solid rgba(241,241,243,.35);max-width:44em;font-size:16px}
body.c4 .hero .mans a{margin-left:8px;font-weight:700}
body.c4 .hero .pr{font-size:15px;margin-top:14px}
body.c4 /* 目次 */
.toc{background:#F1F1F3;border-bottom:1px solid #C9CCD3;scroll-margin-top:0}
body.c4 .toc .wrap{padding-top:20px;padding-bottom:14px}
body.c4 .toc ol{list-style:none;padding:0;margin-top:8px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0 16px}
body.c4 .toc a{display:flex;align-items:center;min-height:48px;font-weight:700;font-size:16px}
body.c4 /* 区画 */
.s{padding:112px 0;scroll-margin-top:0}
body.c4 .s.alt{background:#F1F1F3}
body.c4 .s.dark{background:#0E1A33;color:#F1F1F3;background-image:linear-gradient(rgba(241,241,243,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(241,241,243,.06) 1px,transparent 1px);background-size:48px 48px}
body.c4 .sh{text-align:center;max-width:44em;margin:0 auto 56px}
body.c4 .sh .lab{justify-content:center}
body.c4 .sh h2{font-size:34px;margin-top:14px}
body.c4 .sh .sl{margin-top:14px;font-size:16px}
body.c4 .back{margin-top:48px;text-align:center;font-size:15px}
body.c4 .back a{display:inline-flex;align-items:center;min-height:48px}
body.c4 /* しくみ（流れ図） */
.flow{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;position:relative}
body.c4 .flow li{position:relative;padding:28px 24px 24px;border:1px solid #C9CCD3;background:#FFFFFF;border-radius:6px;margin-right:32px;display:flex;flex-direction:column;gap:8px}
body.c4 .flow li:last-child{margin-right:0}
body.c4 .flow li:not(:last-child)::after{content:"";position:absolute;top:50%;right:-33px;width:32px;height:1px;background:#4A4F5C}
body.c4 .flow .fn{font-size:15px;font-weight:700;letter-spacing:.1em;color:#4A4F5C}
body.c4 .flow b{font-family:"IBM Plex Sans JP","Noto Sans CJK JP","Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;font-size:21px}
body.c4 .flow .fd{font-size:16px}
body.c4 .flow a{margin-top:auto;display:inline-flex;align-items:center;min-height:44px;font-weight:700}
body.c4 /* 大きな数字 */
.bns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid rgba(241,241,243,.35);border-bottom:1px solid rgba(241,241,243,.35)}
body.c4 .bn{display:flex;flex-direction:column;gap:6px;padding:32px 28px;text-decoration:none;color:#F1F1F3}
body.c4 .bn+.bn{border-left:1px solid rgba(241,241,243,.35)}
body.c4 .bn .bl{font-size:15px;font-weight:700}
body.c4 .bn b{font-family:"IBM Plex Sans JP","Noto Sans CJK JP","Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;font-size:48px;line-height:1.15;color:#E0A845}
body.c4 .bn b small{font-size:18px;margin-right:6px;color:#F1F1F3}
body.c4 .bn .bd{font-size:15px;text-decoration:underline;text-underline-offset:3px}
body.c4 /* 制度 */
.gwrap .grp{margin-top:56px;scroll-margin-top:0}
body.c4 .gwrap .grp:first-child{margin-top:0}
body.c4 .gh{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:26px;padding-bottom:10px;border-bottom:2px solid #16181D}
body.c4 .gh .gt{min-width:0}
body.c4 .gh small{display:block;font-family:"IBM Plex Sans JP","Noto Sans CJK JP","Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;font-weight:400;font-size:16px}
body.c4 .gh .gn{flex:none;white-space:nowrap;font-family:"IBM Plex Sans JP","Noto Sans CJK JP","Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;font-weight:400;font-size:16px}
body.c4 .gl{margin-top:12px;max-width:40em;font-size:16px}
body.c4 .grp{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
body.c4 .grp>.gh,body.c4 .grp>.gl,body.c4 .grp>.note{grid-column:1/-1}
body.c4 .pg{background:#FFFFFF;border:1px solid #C9CCD3;border-radius:6px;padding:22px 24px;scroll-margin-top:0}
body.c4 .ph{display:flex;flex-direction:column;gap:6px}
body.c4 .pg h4{font-size:20px}
body.c4 .pg h4 .sub{display:block;font-family:"IBM Plex Sans JP","Noto Sans CJK JP","Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;font-weight:400;font-size:15px;margin-top:2px}
body.c4 .amt{font-family:"IBM Plex Sans JP","Noto Sans CJK JP","Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;font-weight:700}
body.c4 .amt b{font-size:30px;line-height:1.2}
body.c4 .amt small{font-family:"IBM Plex Sans JP","Noto Sans CJK JP","Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;font-weight:400;font-size:15px;margin-right:6px}
body.c4 .amt span{font-family:"IBM Plex Sans JP","Noto Sans CJK JP","Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;font-weight:400;font-size:15px;margin-left:10px}
body.c4 .amt.txt{font-family:"IBM Plex Sans JP","Noto Sans CJK JP","Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;font-weight:400;font-size:16px}
body.c4 .pv{font-size:16px;line-height:1.7;margin-top:8px}
body.c4 .pv b{margin-right:12px}
body.c4 .more{margin-top:8px}
body.c4 .more>summary{display:flex;align-items:center;min-height:48px;font-weight:700;font-size:16px;cursor:pointer;list-style:none;text-decoration:underline;text-underline-offset:3px}
body.c4 .more>summary::-webkit-details-marker{display:none}
body.c4 .more>summary::after{content:"（開く）";display:inline-block;margin-left:6px;font-weight:400;text-decoration:none}
body.c4 .more[open]>summary::after{content:"（閉じる）"}
body.c4 .more dl{display:grid;grid-template-columns:7em minmax(0,1fr);gap:6px 14px;font-size:16px;margin-top:4px}
body.c4 .more dt{font-weight:700}
body.c4 .more dd b{display:block}
body.c4 .more ol{padding-left:1.3em}
body.c4 .note{font-size:16px;margin-top:4px}
body.c4 /* 価格 */
.seg{text-align:center;font-weight:700;font-size:17px}
body.c4 .range{display:flex;justify-content:center;align-items:flex-end;gap:16px 28px;margin-top:28px;flex-wrap:wrap}
body.c4 .range div{display:flex;flex-direction:column;align-items:center}
body.c4 .range span{font-size:15px;font-weight:700}
body.c4 .range b{font-family:"IBM Plex Sans JP","Noto Sans CJK JP","Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;font-size:36px;line-height:1.2}
body.c4 .range .mid b{font-size:56px;color:#E0A845}
body.c4 .range .to{font-size:16px;padding-bottom:10px}
body.c4 .cap{text-align:center;margin-top:10px;font-size:15px}
body.c4 .s.dark .txt,body.c4 .s.dark .src{max-width:40em;margin:20px auto 0}
body.c4 .s.dark .src{color:#F1F1F3;font-size:15px}
body.c4 /* 一覧（空き家の様子・注意点） */
.two{display:grid;grid-template-columns:4fr 8fr;gap:0 64px;align-items:start}
body.c4 .kl b{display:block;font-family:"IBM Plex Sans JP","Noto Sans CJK JP","Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;font-size:72px;line-height:1.1}
body.c4 .kl span{display:block;font-size:16px;margin-top:8px}
body.c4 .nlist{list-style:none;padding:0;border-top:1px solid #C9CCD3;max-width:48em;margin:0 auto}
body.c4 .nlist li{display:grid;grid-template-columns:3em minmax(0,1fr);gap:0 16px;padding:22px 0;border-bottom:1px solid #C9CCD3}
body.c4 .nlist .ln{font-size:15px;font-weight:700;letter-spacing:.08em;color:#4A4F5C;padding-top:3px}
body.c4 .nlist b{display:block;font-family:"IBM Plex Sans JP","Noto Sans CJK JP","Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;font-size:19px;margin-bottom:6px}
body.c4 .nlist p{font-size:16px}
body.c4 .two .nlist{margin:0}
body.c4 .s.dark .flow li{color:#16181D}
body.c4 .s.dark .flow li:not(:last-child)::after{background:#F1F1F3}
body.c4 .s.dark .nlist,body.c4 .s.dark .nlist li{border-color:rgba(241,241,243,.35)}
body.c4 .s.dark .ln,body.c4 .s.dark .src{color:#F1F1F3}
body.c4 .src{font-size:15px;color:#4A4F5C;margin-top:14px;line-height:1.8;max-width:44em}
body.c4 /* 窓口 */
.cts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
body.c4 .ct{background:#FFFFFF;border:1px solid #C9CCD3;border-radius:6px;padding:22px 24px;scroll-margin-top:0}
body.c4 .ct h3{font-size:20px}
body.c4 .ct dl{display:grid;grid-template-columns:8em minmax(0,1fr);gap:8px 14px;margin-top:10px;font-size:16px}
body.c4 .ct dt{font-weight:700}
body.c4 .ct dd>div>p+p{margin-top:6px}
body.c4 .tel{display:inline-flex;align-items:center;min-height:48px;font-family:"IBM Plex Sans JP","Noto Sans CJK JP","Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;font-weight:700;font-size:24px}
body.c4 .telp span{display:block;font-size:16px}
body.c4 /* よくある質問 */
.qa2{grid-template-columns:4fr 8fr}
body.c4 .qa2 .sh{text-align:left;margin:0}
body.c4 .qa2 .sh .lab{justify-content:flex-start}
body.c4 .qas{border-top:1px solid #C9CCD3}
body.c4 .qa{border-bottom:1px solid #C9CCD3}
body.c4 .qa>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;min-height:56px;padding:14px 0;cursor:pointer;list-style:none;font-weight:700;font-size:18px}
body.c4 .qa>summary::-webkit-details-marker{display:none}
body.c4 .qo{font-size:15px;font-weight:400;text-decoration:underline;white-space:nowrap}
body.c4 .qa .o2,body.c4 .qa[open] .o1{display:none}
body.c4 .qa[open] .o2{display:inline}
body.c4 .qb{padding:0 0 18px}
body.c4 .qb .a2{margin-top:6px;font-size:16px}
body.c4 .links{padding-left:1.2em;margin:16px auto 0;max-width:44em}
body.c4 .links li{margin:8px 0}
body.c4 #next .txt-w{max-width:44em;margin:0 auto}
body.c4 /* 広告 */
.ads{background:#F1F1F3;border-top:6px solid #16181D;padding:24px 0 48px;scroll-margin-top:0}
body.c4 .ads h2{font-size:28px;margin:6px 0 8px}
body.c4 .adb{font-size:15px;font-weight:700;letter-spacing:.08em;color:#4A4F5C}
body.c4 .adb.end{margin-top:16px;border-top:2px solid #16181D;padding-top:8px}
body.c4 .adg{border-top:1px solid #C9CCD3}
body.c4 .adg:first-of-type{border-top:2px solid #16181D;margin-top:16px}
body.c4 .adg>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 16px;min-height:56px;padding:12px 0;cursor:pointer;list-style:none}
body.c4 .adg>summary::-webkit-details-marker{display:none}
body.c4 .adg .an{font-family:"IBM Plex Sans JP","Noto Sans CJK JP","Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;font-weight:700;font-size:20px}
body.c4 .adg .an small{font-weight:400;font-size:15px;margin-left:10px}
body.c4 .adg .al{grid-column:1;font-size:16px}
body.c4 .adg .ao{grid-column:2;grid-row:1 / span 2;white-space:nowrap;font-size:16px;text-decoration:underline}
body.c4 .adg .o2,body.c4 .adg[open] .o1{display:none}
body.c4 .adg[open] .o2{display:inline}
body.c4 .adr{padding:14px 0;border-top:1px solid #C9CCD3;font-size:16px}
body.c4 .adr .adt{font-weight:700;font-size:18px}
body.c4 .adr p+p{margin-top:6px}
body.c4 .adr .adf{font-size:15px;color:#4A4F5C}
body.c4 .adgo{display:inline-flex;align-items:center;min-height:48px;font-weight:700}
body.c4 .srcs{font-size:15px;color:#4A4F5C;padding-left:1.2em;line-height:1.8;max-width:48em}
body.c4 .pref>summary{display:flex;align-items:center;font-weight:700;min-height:48px;cursor:pointer;list-style:none;text-decoration:underline}
body.c4 .pref>summary::-webkit-details-marker{display:none}
body.c4 .same{line-height:2.4;font-size:16px}
body.c4 #shutten .sh{margin-bottom:24px}
body.c4 .foot{background:#0E1A33;color:#F1F1F3;padding:28px 0 40px;font-size:15px}
body.c4 .foot p+p{margin-top:6px}
body.c4 .foot a{margin-right:14px;display:inline-block;min-height:32px}
@media (max-width:760px){body.c4{font-size:16.5px}
body.c4 .wrap{padding:0 20px}
body.c4 .mast span{display:none}
body.c4 .hero .wrap{padding-top:44px;padding-bottom:44px}
body.c4 .hero h1{font-size:34px}
body.c4 .hero .lead{font-size:17px}
body.c4 .btn{display:flex;width:100%}
body.c4 .cta{gap:8px}
body.c4 .toc ol{grid-template-columns:1fr 1fr}
body.c4 .s{padding:72px 0}
body.c4 .sh{margin-bottom:36px}
body.c4 .sh h2{font-size:26px}
body.c4 .flow{grid-template-columns:1fr}
body.c4 .flow li{margin:0 0 28px}
body.c4 .flow li:last-child{margin-bottom:0}
body.c4 .flow li:not(:last-child)::after{top:auto;bottom:-29px;right:auto;left:32px;width:1px;height:28px}
body.c4 .bns{grid-template-columns:1fr}
body.c4 .bn+.bn{border-left:0;border-top:1px solid rgba(241,241,243,.35)}
body.c4 .bn{padding:24px 0}
body.c4 .bn b{font-size:38px}
body.c4 .grp,body.c4 .cts{grid-template-columns:1fr}
body.c4 .gh{font-size:23px}
body.c4 .more dl,body.c4 .ct dl{grid-template-columns:1fr;gap:0}
body.c4 .more dt,body.c4 .ct dt{margin-top:8px}
body.c4 .range{display:grid;grid-template-columns:1fr 1.25fr 1fr;align-items:end;gap:0 8px}
body.c4 .range .to{display:none}
body.c4 .range b{font-size:20px}
body.c4 .range .mid b{font-size:30px}
body.c4 .two,body.c4 .qa2{grid-template-columns:1fr;gap:28px 0}
body.c4 .kl b{font-size:52px}
body.c4 .nlist li{grid-template-columns:2.4em minmax(0,1fr);gap:0 10px}

}
body.c4{background:#070F24;color:#EEF1F7;font-family:"IBM Plex Sans JP","Noto Sans CJK JP","Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif}
body.c4 h1,body.c4 h2,body.c4 h3,body.c4 h4{font-family:"IBM Plex Sans JP","Noto Sans CJK JP","Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif}
body.c4 a{color:#EEF1F7}
body.c4 .lab{font-family:"M PLUS 1 Code","IBM Plex Sans JP","Noto Sans Mono CJK JP","Noto Sans CJK JP","Hiragino Sans",monospace;font-weight:500;letter-spacing:.18em;color:#8FDCCF}
body.c4 .mast{background:rgba(7,15,36,.92);border-bottom:1px solid rgba(238,241,247,.12)}
body.c4 .hero{position:relative;overflow:hidden;background-color:#070F24;background-image:linear-gradient(rgba(238,241,247,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(238,241,247,.07) 1px,transparent 1px);background-size:56px 56px;min-height:calc(100svh - 54px);display:flex;align-items:center}
body.c4 .hero::before,body.c4 .hero::after{content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:0}
body.c4 .hero::before{width:560px;height:560px;right:-160px;top:-120px;background:radial-gradient(circle,rgba(143,220,207,.16),rgba(143,220,207,0) 68%)}
body.c4 .hero::after{width:420px;height:420px;right:120px;bottom:-200px;background:radial-gradient(circle,rgba(242,196,109,.12),rgba(242,196,109,0) 70%)}
body.c4 .hero .wrap{position:relative;z-index:1;width:100%}
body.c4 .hero h1{font-size:70px;line-height:1.22}
body.c4 .hero h1 em{color:#F2C46D;background:linear-gradient(90deg,#F2C46D,#8FDCCF);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:currentColor}
body.c4 .hero .lead{font-size:19px;color:#EEF1F7}
body.c4 .hero .mans{background:rgba(255,255,255,.06);border:1px solid rgba(143,220,207,.42);border-radius:14px;padding:16px 20px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
body.c4 .btn{border-radius:999px;background:#EEF1F7;color:#070F24!important;box-shadow:0 0 0 1px rgba(143,220,207,.42),0 0 18px rgba(143,220,207,.25)}
body.c4 .tl{border:1px solid rgba(143,220,207,.42);border-radius:999px;padding:0 24px;text-decoration:none}
body.c4 .toc{background:#0C1834;border-bottom:1px solid rgba(238,241,247,.12)}
body.c4 .toc a{color:#EEF1F7;text-decoration:none;border-bottom:1px solid rgba(238,241,247,.5)}
body.c4 .s,body.c4 .s.alt,body.c4 .s.dark{color:#EEF1F7}
body.c4 .s{background:#070F24;padding:128px 0}
body.c4 .s.alt{background:#0C1834}
body.c4 .s.dark{background-color:#070F24;background-image:linear-gradient(rgba(238,241,247,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(238,241,247,.07) 1px,transparent 1px);background-size:56px 56px}
body.c4 .s+.s{border-top:1px solid rgba(238,241,247,.08)}
body.c4 .sh h2{font-size:38px}
body.c4 .sh .sl{color:#C2CBDD}
body.c4 .flow li,body.c4 .pg,body.c4 .ct,body.c4 .bn{background:rgba(255,255,255,.06);border:1px solid rgba(143,220,207,.42);border-radius:14px;color:#EEF1F7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
body.c4 .s .flow li,body.c4 .s.dark .flow li{color:#EEF1F7}
body.c4 .flow .fn{font-family:"M PLUS 1 Code","IBM Plex Sans JP","Noto Sans Mono CJK JP","Noto Sans CJK JP","Hiragino Sans",monospace;color:#8FDCCF}
body.c4 .flow .fd{color:#C2CBDD}
body.c4 .flow li:not(:last-child)::after{background:#8FDCCF;box-shadow:0 0 8px rgba(143,220,207,.8)}
body.c4 .bns{gap:16px;border:0}
body.c4 .bn{padding:32px 28px}
body.c4 .bn+.bn{border-left:1px solid rgba(143,220,207,.42)}
body.c4 .bn .bl{font-family:"M PLUS 1 Code","IBM Plex Sans JP","Noto Sans Mono CJK JP","Noto Sans CJK JP","Hiragino Sans",monospace;font-weight:500;color:#8FDCCF}
body.c4 .bn b{font-size:56px;color:#F2C46D}
body.c4 .bn b small{color:#EEF1F7}
body.c4 .bn .bd{color:#C2CBDD}
body.c4 .gh{border-bottom:1px solid rgba(143,220,207,.42)}
body.c4 .gl,body.c4 .note{color:#C2CBDD}
body.c4 .amt b{color:#F2C46D}
body.c4 .amt small,body.c4 .amt span,body.c4 .amt.txt{color:#C2CBDD}
body.c4 .pg h4 .sub{color:#C2CBDD}
body.c4 .range{gap:16px}
body.c4 .range>div{background:rgba(255,255,255,.06);border:1px solid rgba(143,220,207,.42);border-radius:14px;padding:16px 22px}
body.c4 .range .to{font-family:"M PLUS 1 Code","IBM Plex Sans JP","Noto Sans Mono CJK JP","Noto Sans CJK JP","Hiragino Sans",monospace;color:#8FDCCF}
body.c4 .range span{font-family:"M PLUS 1 Code","IBM Plex Sans JP","Noto Sans Mono CJK JP","Noto Sans CJK JP","Hiragino Sans",monospace;font-weight:500;color:#8FDCCF}
body.c4 .range .mid b{font-size:60px;color:#F2C46D}
body.c4 .cap,body.c4 .s.dark .txt{color:#EEF1F7}
body.c4 .src,body.c4 .s.dark .src,body.c4 .srcs{color:#C2CBDD}
body.c4 .kl b{color:#F2C46D}
body.c4 .nlist,body.c4 .nlist li{border-color:rgba(238,241,247,.18)}
body.c4 .nlist .ln{font-family:"M PLUS 1 Code","IBM Plex Sans JP","Noto Sans Mono CJK JP","Noto Sans CJK JP","Hiragino Sans",monospace;color:#8FDCCF}
body.c4 .nlist p{color:#EEF1F7}
body.c4 .ct dt{color:#8FDCCF;font-family:"M PLUS 1 Code","IBM Plex Sans JP","Noto Sans Mono CJK JP","Noto Sans CJK JP","Hiragino Sans",monospace;font-weight:500}
body.c4 .tel{color:#F2C46D}
body.c4 .qas,body.c4 .qa{border-color:rgba(238,241,247,.18)}
body.c4 .qo{color:#EEF1F7}
body.c4 .s .back a{color:#C2CBDD}
body.c4 /* 広告は明るい地にして、中身と見分ける */
.ads{background:#F1F1F3;color:#16181D;border-top:6px solid #F2C46D}
body.c4 .ads a{color:#16181D}
body.c4 .ads .adb{color:#3B404C}
body.c4 .ads .adr .adf{color:#3B404C}
body.c4 .ads .adg,body.c4 .ads .adr{border-color:#9AA0AD}
body.c4 .ads .adg:first-of-type,body.c4 .ads .adb.end{border-color:#16181D}
body.c4 #shutten{background:#0C1834}
body.c4 .foot{background:#040A1A}
@media (max-width:760px){body.c4 .hero{min-height:calc(100svh - 50px)}
body.c4 .hero h1{font-size:38px}
body.c4 .hero::before{width:360px;height:360px;right:-180px;top:-80px}
body.c4 .hero::after{width:280px;height:280px;right:-60px;bottom:-140px}
body.c4 .tl{width:100%;justify-content:center}
body.c4 .s{padding:80px 0}
body.c4 .sh h2{font-size:27px}
body.c4 .bns{gap:12px}
body.c4 .bn{padding:22px 20px}
body.c4 .bn+.bn{border-top:1px solid rgba(143,220,207,.42)}
body.c4 .bn b{font-size:42px}
body.c4 .btn{padding:0 16px}
body.c4 .range{gap:6px}
body.c4 .range>div{padding:10px 6px}
body.c4 .range b{font-size:18px;white-space:nowrap}
body.c4 .range .mid b{font-size:24px}

}
@media (prefers-reduced-motion:no-preference){body.c4 .rv .sh,body.c4 .rv .flow li,body.c4 .rv .bn,body.c4 .rv .pg,body.c4 .rv .ct,body.c4 .rv .nlist li,body.c4 .rv .range{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}
body.c4 .rv .on{opacity:1!important;transform:none!important}

}


@media (max-width:760px){body.c4 .range{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
 body.c4 .range>div{flex-direction:row!important;justify-content:space-between;align-items:baseline;gap:12px}
 body.c4 .range b{font-size:22px!important;white-space:normal!important} body.c4 .range .mid b{font-size:28px!important}}

/* ===== R4 の部品（p73） ===== */
body.g4 /* 区画の幅 */
.r4w{max-width:1120px;margin:0 auto;padding:0 24px;box-sizing:border-box}
body.g4 .r4w.narrow{max-width:820px}
body.g4 main.r4main{max-width:none!important;padding:0!important;margin:0!important;background:transparent!important}
body.g4 /* 最初の画面 */
.r4hero{position:relative;overflow:hidden;background-color:var(--r4-bg);background-image:linear-gradient(rgba(238,241,247,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(238,241,247,.07) 1px,transparent 1px);background-size:56px 56px;color:var(--r4-on);padding:80px 0 72px;border-bottom:1px solid rgba(238,241,247,.08)}
body.g4 .r4hero .r4w{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:32px 56px;align-items:center}
body.g4 .r4hero .r4w.solo{grid-template-columns:minmax(0,1fr)}
body.g4 .r4glow{position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(560px 560px at 84% 16%,rgba(143,220,207,.16),transparent 70%),radial-gradient(480px 480px at 6% 96%,rgba(242,196,109,.11),transparent 70%)}
body.g4 .r4lab{display:flex;align-items:center;gap:12px;font-family:var(--r4-mono)!important;font-size:15px!important;font-weight:500!important;letter-spacing:.16em;color:var(--r4-a2)!important;margin:0}
body.g4 .r4lab::before{content:"";display:block;width:28px;height:1px;background:currentColor;flex:none}
body.g4 .r4hero h1{font-size:clamp(34px,5.4vw,64px)!important;line-height:1.22!important;margin:18px 0 0!important;color:var(--r4-on)!important;text-align:left!important}
body.g4 .r4em{font-style:normal;color:var(--r4-a1);background:linear-gradient(90deg,var(--r4-a1),var(--r4-a2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:currentColor}
body.g4 .r4lead{font-size:18px!important;line-height:1.9!important;margin-top:20px!important;max-width:34em;color:var(--r4-on)!important;text-align:left!important}
body.g4 .r4cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:32px}
body.g4 .r4btn,body.g4 .r4btn2{box-sizing:border-box;max-width:100%;text-align:center;line-height:1.5}
body.g4 .r4btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 28px;border-radius:999px;background:var(--r4-on)!important;color:var(--r4-bg)!important;font-weight:700!important;font-size:17px!important;text-decoration:none!important;box-shadow:0 0 0 1px var(--r4-edge),0 0 22px rgba(143,220,207,.28)}
body.g4 .r4btn2{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 24px;border-radius:999px;border:1px solid var(--r4-edge);background:var(--r4-glass);color:var(--r4-on)!important;font-weight:700!important;font-size:16px!important;text-decoration:none!important}
body.g4 .r4note{font-size:15px!important;color:var(--r4-sub)!important;margin-top:14px!important;text-align:left!important}
body.g4 .r4art{background:#F3ECDF;border-radius:20px;padding:12px;box-shadow:0 0 0 1px var(--r4-edge),0 0 40px rgba(143,220,207,.18)}
body.g4 .r4art img{display:block;width:100%;height:auto;background:none!important;box-shadow:none!important;padding:0!important;border-radius:12px}
body.g4 .r4tile1{background:var(--r4-glass);border:1px solid var(--r4-edge);border-radius:16px;padding:24px 28px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
body.g4 .r4tile1 .r4lab{margin-bottom:8px}
body.g4 .r4tile1 b{display:block;font-size:44px;line-height:1.15;color:var(--r4-a1)}
body.g4 .r4tile1 p{margin-top:10px!important;font-size:16px!important;color:var(--r4-on)!important}
body.g4 /* 見出しは文節で折り返す（対応していない画面では、ふつうの折り返し） */
.r4hero h1,body.g4 .r4sh h2,body.g4 .r4tile1 b,body.g4 .r4toc a,body.g4 .r4flow .t,body.g4 .r4card b{word-break:auto-phrase}
body.g4 /* 目次の帯 */
.r4toc{background:var(--r4-bg2);border-bottom:1px solid rgba(238,241,247,.1);padding:22px 0 16px}
body.g4 .r4toc ol{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:4px 20px}
body.g4 .r4toc li{margin:0}
body.g4 .r4toc a{display:flex;align-items:baseline;gap:10px;min-height:48px;padding:10px 0;color:var(--r4-on)!important;text-decoration:none!important;border-bottom:1px solid rgba(238,241,247,.14);font-weight:700;font-size:16px!important;line-height:1.5}
body.g4 .r4toc a .n{font-family:var(--r4-mono)!important;font-weight:500;color:var(--r4-a2)!important;font-size:15px!important;flex:none}
body.g4 .r4toc a small{display:block;font-weight:400;font-size:15px!important;color:var(--r4-sub)!important}
body.g4 /* 区画：暗い紺ともう一段明るい紺の交互（中身の幅はそのままで、地だけ画面いっぱい） */
.r4s{position:relative;padding:80px 0!important;margin:0!important;background:var(--r4-bg)!important;box-shadow:0 0 0 100vmax var(--r4-bg)!important;clip-path:inset(0 -100vmax)!important;border:0!important;scroll-margin-top:12px}
body.g4 .r4s.alt{background:var(--r4-bg2)!important;box-shadow:0 0 0 100vmax var(--r4-bg2)!important}
body.g4 .r4s.grid{background-image:linear-gradient(rgba(238,241,247,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(238,241,247,.07) 1px,transparent 1px);background-size:56px 56px}
body.g4 .r4sh{text-align:center;max-width:44em;margin:0 auto 48px}
body.g4 .r4sh .r4lab{justify-content:center}
body.g4 .r4sh h2{font-size:clamp(26px,3.4vw,38px)!important;line-height:1.35!important;margin:14px 0 0!important;color:var(--r4-on)!important;border:0!important;padding:0!important;background:none!important}
body.g4 .r4sh .r4sl{margin-top:14px!important;font-size:16px!important;color:var(--r4-sub)!important}
body.g4 .r4back{text-align:center;margin-top:40px!important;font-size:15px!important}
body.g4 .r4back a{display:inline-flex;align-items:center;min-height:48px;color:var(--r4-sub)!important}
body.g4 /* 大きな数字のタイル */
.r4tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
body.g4 .r4tile{background:var(--r4-glass);border:1px solid var(--r4-edge);border-radius:16px;padding:26px 24px;display:flex;flex-direction:column;gap:6px;text-align:left}
body.g4 .r4tile .y{font-family:var(--r4-mono)!important;font-size:15px!important;color:var(--r4-a2)!important}
body.g4 .r4tile .big{font-size:52px!important;line-height:1.1!important;font-weight:700;color:var(--r4-a1)!important;font-family:var(--r4-sans)!important}
body.g4 .r4tile .big.warn{color:var(--r4-coral)!important}
body.g4 .r4tile .t{font-size:17px!important;font-weight:700;color:var(--r4-on)!important}
body.g4 .r4tile .s{font-size:15px!important;color:var(--r4-sub)!important}
body.g4 /* カード */
.r4cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
body.g4 .r4card{box-sizing:border-box;background:var(--r4-glass)!important;border:1px solid var(--r4-edge)!important;border-radius:16px!important;padding:20px!important;color:var(--r4-on)!important;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:none!important}
body.g4 .r4card img{display:block;width:100%;height:auto;background:#F3ECDF!important;border-radius:12px;padding:6px;box-sizing:border-box;margin-bottom:12px}
body.g4 .r4card b{display:block;font-size:18px;color:var(--r4-on)}
body.g4 .r4card span{display:block;margin-top:4px;font-size:16px;color:var(--r4-sub)}
body.g4 /* 番号付きの一覧 */
.r4list{list-style:none;margin:0 auto;padding:0;max-width:44em;border-top:1px solid rgba(238,241,247,.16);counter-reset:r4n}
body.g4 .r4list>li{display:grid;grid-template-columns:3em minmax(0,1fr);gap:0 16px;padding:18px 0;border-bottom:1px solid rgba(238,241,247,.16);counter-increment:r4n}
body.g4 .r4list>li::before{content:counter(r4n,decimal-leading-zero);font-family:var(--r4-mono);font-size:15px;color:var(--r4-a2);padding-top:3px}
body.g4 .r4list a{font-weight:700;font-size:17px}
body.g4 /* 流れ図（時間の流れを細い光の線でつなぐ） */
.r4flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;position:relative}
body.g4 .r4flow li{position:relative;margin:0}
body.g4 .r4flow a{display:flex;flex-direction:column;gap:4px;height:100%;padding:18px 18px 16px;border:1px solid var(--r4-edge);border-radius:14px;background:var(--r4-glass);color:var(--r4-on)!important;text-decoration:none!important;min-height:48px}
body.g4 .r4flow li:not(:last-child)::after{content:"";position:absolute;top:50%;right:-17px;width:18px;height:1px;background:var(--r4-a2);box-shadow:0 0 8px rgba(143,220,207,.8)}
body.g4 .r4flow .n{font-family:var(--r4-mono)!important;font-size:15px!important;color:var(--r4-a2)!important}
body.g4 .r4flow .t{font-weight:700;font-size:17px!important}
body.g4 .r4flow .w{font-size:15px!important;color:var(--r4-sub)!important}
body.g4 /* 左に題・右に一覧 */
.r4two{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:24px 56px;align-items:start}
body.g4 .r4two .r4sh{text-align:left;margin:0}
body.g4 .r4two .r4sh .r4lab{justify-content:flex-start}
body.g4 /* 見比べる表 */
.r4tblw{overflow-x:auto;border:1px solid var(--r4-edge);border-radius:16px;background:var(--r4-glass)}
body.g4 .r4tbl{width:100%;border-collapse:collapse;font-size:16px}
body.g4 .r4tbl th,body.g4 .r4tbl td{text-align:left;vertical-align:top;padding:14px 16px;border-bottom:1px solid rgba(238,241,247,.14);color:var(--r4-on)}
body.g4 .r4tbl thead th{font-family:var(--r4-mono)!important;font-weight:500;font-size:15px;color:var(--r4-a2);letter-spacing:.08em}
body.g4 .r4tbl tbody tr:last-child td{border-bottom:0}
body.g4 .r4tbl td.n{font-family:var(--r4-mono)!important;color:var(--r4-a2);white-space:nowrap}
body.g4 .r4tbl td.d{color:var(--r4-a1);font-weight:700}
body.g4 .r4tbl a{font-weight:700}
body.g4 /* 最初の画面：道具のページは短く */
.r4hero.compact{padding:48px 0 40px}
body.g4 .r4hero.compact h1{font-size:clamp(30px,4.4vw,52px)!important}
body.g4 .r4hero.compact .r4lead{margin-top:12px!important}
body.g4 .r4hero.compact .r4cta{margin-top:20px}
body.g4 /* 読む面（長い文） */
.r4read{text-align:left!important;max-width:40em;margin:0 auto;background:#101D3D!important;border:1px solid rgba(238,241,247,.1);border-radius:18px;padding:40px 44px!important;line-height:2!important;font-size:17px!important;color:#F1F3F8!important}
body.g4 .r4read p,body.g4 .r4read li{text-align:left!important;line-height:2!important;font-size:17px!important;color:#F1F3F8!important}
body.g4 .r4read p+p{margin-top:1.1em!important}
body.g4 .r4read h2{font-size:24px!important;margin:56px 0 14px!important;padding:16px 0 0!important;border:0!important;border-top:1px solid var(--r4-edge)!important;background:none!important;color:var(--r4-on)!important;scroll-margin-top:12px}
body.g4 .r4read h2:first-child{margin-top:0!important;border-top:0!important;padding-top:0!important}
body.g4 .r4read blockquote{margin:24px 0!important;padding:20px 24px!important;border:1px solid rgba(242,196,109,.45)!important;border-radius:14px!important;background:rgba(242,196,109,.08)!important}
body.g4 .r4read ul,body.g4 .r4read ol{padding-left:1.4em}
body.g4 .r4read li+li{margin-top:.4em}
@media (max-width:760px){body.g4 .r4hero{padding:48px 0 44px}
body.g4 .r4hero .r4w{grid-template-columns:minmax(0,1fr)}
body.g4 .r4hero h1{font-size:34px!important}
body.g4 .r4lead{font-size:17px!important}
body.g4 .r4w{padding:0 20px}
body.g4 .r4btn,body.g4 .r4btn2{width:100%}
body.g4 .r4cta{gap:10px}
body.g4 .r4toc ol{grid-template-columns:1fr 1fr;gap:0 14px}
body.g4 .r4s{padding:56px 0!important}
body.g4 .r4sh{margin-bottom:32px}
body.g4 .r4tiles{grid-template-columns:1fr 1fr;gap:10px}
body.g4 .r4tile{padding:18px 14px}
body.g4 .r4tile .big{font-size:34px!important}
body.g4 .r4tile .t{font-size:16px!important}
body.g4 .r4tile1 b{font-size:36px}
body.g4 .r4flow{grid-template-columns:1fr}
body.g4 .r4flow li:not(:last-child)::after{top:auto;bottom:-17px;right:auto;left:28px;width:1px;height:18px}
body.g4 .r4two{grid-template-columns:minmax(0,1fr)}
body.g4 .r4read{padding:22px 16px!important;border-radius:14px}
body.g4 #honbun>.r4w{padding:0 12px}
body.g4 .r4hero.compact{padding:20px 0 12px}
body.g4 .r4hero.compact .r4note{margin-top:6px!important}
body.g4 .r4hero.compact h1{font-size:26px!important;margin-top:10px!important}
body.g4 .r4hero.compact .r4cta{display:none}
body.g4 .r4hero.compact .r4lead{font-size:16px!important;line-height:1.75!important;margin-top:6px!important}
body.g4 .r4cards{grid-template-columns:minmax(0,1fr)}
body.g4 .r4card:has(>img){display:grid;grid-template-columns:112px minmax(0,1fr);column-gap:14px;align-items:center;padding:12px!important}
body.g4 .r4card:has(>img)>img{grid-row:1 / span 2;margin:0;align-self:center}
body.g4 .r4card:has(>img)>b{align-self:end}
body.g4 .r4card:has(>img)>span{align-self:start}
body.g4 .r4tbl thead{display:none}
body.g4 .r4tbl,body.g4 .r4tbl tbody{display:block}
body.g4 .r4tbl tr{display:grid;grid-template-columns:3.2em minmax(0,1fr);gap:4px 8px;padding:14px 14px;border-bottom:1px solid rgba(238,241,247,.14)}
body.g4 .r4tbl td{display:block;padding:0!important;border:0!important}
body.g4 .r4tbl td.d,body.g4 .r4tbl td.w{grid-column:2}
body.g4 .r4tbl td[data-l]::before{content:attr(data-l) "：";font-weight:400;color:var(--r4-sub)}

}
@media print{body.g4 .r4glow,body.g4 .r4toc,body.g4 .r4back,body.g4 .r4cta{display:none!important}
body.g4 .r4s{padding:16px 0!important;clip-path:none!important}
body.g4 .r4hero{padding:16px 0!important}
body.g4 .r4read{border:0!important;padding:0!important}}
body.g4 #vStart .r4simhero{position:relative;overflow:hidden;background-color:var(--r4-bg)!important;background-image:linear-gradient(rgba(238,241,247,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(238,241,247,.07) 1px,transparent 1px)!important;background-size:56px 56px!important;border:1px solid var(--r4-edge)!important;border-radius:20px!important;padding:40px 32px!important}
body.g4 #vStart .r4simhero>*:not(.r4glow){position:relative;z-index:1}
body.g4 #vStart .r4simhero h1{font-size:clamp(34px,5vw,56px)!important;line-height:1.2!important}
body.g4 #vStart .r4simhero .eyebrow{font-family:var(--r4-mono)!important;color:var(--r4-a2)!important}
body.g4 #vStart .r4simhero .sceneArt{background:#F3ECDF;border-radius:16px;box-shadow:0 0 0 1px var(--r4-edge),0 0 30px rgba(143,220,207,.18)}
body.g4 #vStart .r4simhero .lead{font-size:18px!important;line-height:1.9!important}
body.g4 #vPlay .card,body.g4 #vForm .card,body.g4 #vEnd .card,body.g4 #vSources .card{border:1px solid var(--r4-edge)!important;border-radius:16px!important;background:var(--r4-glass)!important}
body.g4 #vPlay .mbar{background:rgba(7,15,36,.94)!important;border-top:1px solid var(--r4-edge)!important}
body.g4 #vEnd h1,body.g4 #vEnd h2{font-size:clamp(26px,3.6vw,40px)!important;line-height:1.3!important}
body.g4 #vEnd .eyebrow{font-family:var(--r4-mono)!important;color:var(--r4-a2)!important}
@media (max-width:760px){body.g4 tr:has(>td>button[data-snap]){display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding:12px 0;border-bottom:1px solid rgba(238,241,247,.12)}
body.g4 tr:has(>td>button[data-snap])>td{display:block;padding:0!important;width:auto!important;border:0!important}}
body.g4 main.r4mj #result>section>.eyebrow,body.g4 main.r4mj #result>section .tonight>.eyebrow{display:flex;align-items:center;gap:12px;font-family:var(--r4-mono)!important;font-size:15px!important;letter-spacing:.16em;text-align:left!important}
@media screen{body.g4 main.r4mj #result>section>.eyebrow,body.g4 main.r4mj #result>section .tonight>.eyebrow{color:var(--r4-a2)!important}}
body.g4 main.r4mj #result>section>.eyebrow::before{content:"";display:block;width:28px;height:1px;background:currentColor}
body.g4 main.r4mj #result>section>h2{font-size:clamp(24px,3.2vw,34px)!important;line-height:1.35!important;margin-top:10px!important;border:0!important;padding:0!important;background:none!important}
body.g4 main.r4mj #ptoc{background:var(--r4-bg2)!important;border:1px solid var(--r4-edge)!important;border-radius:16px!important}
body.g4 main.r4mj #ptoc a{color:var(--r4-on)!important}
body.g4 main.r4mj #ptoc .ptoc-h{font-family:var(--r4-mono)!important;color:var(--r4-a2)!important;letter-spacing:.12em}
body.g4 main.r4mj #result>section.r4s{padding:56px 0!important}
body.g4 .r4hero.compact{overflow:visible!important}
body.g4 .r4hero.compact .r4w{grid-template-columns:minmax(0,5fr) minmax(0,7fr)!important;align-items:start!important}
body.g4 .r4hero #form.r4heroform{margin:0!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important}
body.g4 .r4hero #form .r4formlab{margin:0 0 12px!important;text-align:left!important}
@media screen{body.g4 .r4hero #form .card{background:rgba(16,29,61,.92)!important;border:1px solid var(--r4-edge)!important;border-radius:18px!important;padding:24px 28px!important;box-sizing:border-box;box-shadow:0 0 0 1px rgba(143,220,207,.08),0 0 40px rgba(143,220,207,.14)!important;margin:0!important}}
@media (max-width:1000px){body.g4 .r4hero.compact .r4w{grid-template-columns:minmax(0,1fr)!important}}
body.g4 .r4hero.compact h1{word-break:keep-all;word-break:auto-phrase;overflow-wrap:anywhere}
@media (max-width:760px){body.g4 .r4hero #form .card{padding:8px 16px 18px!important}
body.g4 .r4hero #form .r4formlab{display:none!important}
body.g4 .r4hero.compact .r4lab:not(.r4formlab){display:none}
body.g4 .r4hero #form{margin-top:4px!important}}
body.g4 main.r4mj .fnum{background:var(--r4-glass)!important;border:1px solid var(--r4-a2)!important;color:var(--r4-a2)!important;box-shadow:0 0 10px rgba(143,220,207,.35)}
body.g4 .r4grid{display:block!important}
body.g4 .r4grid .ztmain{max-width:none!important;width:auto!important;padding:0!important;margin:0!important}
body.g4 .r4stages{display:block!important;gap:0!important;padding:0!important;margin:0!important}
body.g4 .r4stages>.stage.r4step{border:0!important;border-radius:0!important;margin:0!important;outline:0!important}
body.g4 .ok-g .r4sh,body.g4 .qa-g .r4sh{text-align:left;margin-left:0}
body.g4 .ok-g .r4sh .r4lab{justify-content:flex-start}
body.g4 .r4step .r4w{position:relative;padding-left:96px!important}
body.g4 .r4step .r4w::before{content:"";position:absolute;left:51px;top:-80px;bottom:-80px;width:1px;background:var(--r4-a2);box-shadow:0 0 8px rgba(143,220,207,.8)}
body.g4 .r4step.first .r4w::before{top:28px}
body.g4 .r4step.last .r4w::before{bottom:auto;height:108px}
body.g4 .r4dot{position:absolute;left:24px;top:0;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--r4-bg);border:1px solid var(--r4-a2);color:var(--r4-a2);font-family:var(--r4-mono);font-size:17px;box-shadow:0 0 16px rgba(143,220,207,.45);z-index:1}
body.g4 .r4step .r4sh{text-align:left;margin:0 0 28px}
body.g4 .r4step .r4sh .r4lab{justify-content:flex-start}
body.g4 .r4step .it .do{font-weight:700;font-size:17px;color:var(--r4-on)}
body.g4 .r4step .it .wh{margin-top:6px;color:var(--r4-on)}
body.g4 .r4step .it .st{margin-top:6px;font-size:15px;color:var(--r4-sub)}
@media (max-width:760px){body.g4 .r4step .r4w{padding-left:64px!important}
body.g4 .r4step .r4w::before{left:39px}
body.g4 .r4dot{left:16px;width:46px;height:46px;font-size:15px}}
body.g4 .cl,body.g4 .kj-list{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;list-style:none;padding:0!important;margin:0!important}
body.g4 .cl>li,body.g4 .kj-list>li{background:var(--r4-glass);border:1px solid var(--r4-edge);border-radius:14px;padding:14px 16px;margin:0!important}
body.g4 .cl>li a,body.g4 .kj-list>li a{font-weight:700;font-size:17px}
body.g4 #pick .r4body{max-width:40em;margin:0 auto}
body.g4 #pick .kpick{max-width:40em;margin:0 auto}
body.g4 .cl,body.g4 .kj-list{background:none!important;border:0!important;box-shadow:none!important}

/* ===== 折り返し：1〜2字だけの行をつくらない（p73 NOWRAP） ===== */
:is(body.g4,body.c4){text-wrap:balance;word-break:auto-phrase}
:is(body.g4,body.c4) :is(p,li,dd,blockquote,.r4read,.r4read *){text-wrap:pretty;word-break:normal}
/* 段落の中にあっても、題・ボタン・表のセル・ラベルは釣り合いを取って折る */
:is(body.g4,body.c4) :is(h1,h2,h3,h4,h5,a,button,label,summary,dt,th,td,b,strong,.t,.do,.qq,.btn,.r4btn,.r4btn2){text-wrap:balance}
:is(body.g4,body.c4) :is(h1,h2,h3,h4,h5,label,dt,th,.t,.do,.qq,.btn,.r4btn,.r4btn2){word-break:auto-phrase!important}
:is(body.g4,body.c4) :is(a,button,b,strong){word-break:auto-phrase}
/* 長めの問い（折りたたみの題）と表のセルは、語の切れ目ではなく字で折り、釣り合いで短い行を防ぐ */
:is(body.g4,body.c4) :is(summary,summary *,td){word-break:normal!important;text-wrap:balance}
/* ボタン・折りたたみの題（flex の中の字）も、釣り合いを取って折る */
:is(body.g4,body.c4) :is(.btn,.r4btn,.r4btn2,summary)>span{text-wrap:balance}
/* 大きな数字と単位は折らない。枠に入らないときは、枠の幅に合わせて字を小さくする */
:is(body.g4,body.c4) :is(.bn,.r4tile,.r4tile1){container-type:inline-size}
:is(body.g4,body.c4) .bn b{white-space:nowrap!important;font-size:min(56px,16cqi)!important}
@media (max-width:760px){:is(body.g4,body.c4) .bn b{font-size:min(38px,16cqi)!important}}
:is(body.g4,body.c4) .r4tile .big{white-space:nowrap!important;font-size:min(52px,30cqi)!important}
@media (max-width:760px){:is(body.g4,body.c4) .r4tile .big{font-size:min(34px,30cqi)!important}}
:is(body.g4,body.c4) .r4tile1 b{white-space:nowrap!important;font-size:min(44px,14cqi)!important}
@media (max-width:760px){:is(body.g4,body.c4) .r4tile1 b{font-size:min(36px,14cqi)!important}}
/* 市区町村のページの区画の題：横に2列の幅（タブレット）では、題の枠の幅に合わせて字を小さくする */
@media (min-width:761px){body.c4 .sh{container-type:inline-size} body.c4 .sh h2{font-size:min(38px,16cqi)!important}}
/* 住所のように折らない指定の語は、枠より長いときだけ折る */
body.c4 .nw{white-space:normal!important;word-break:keep-all;overflow-wrap:anywhere}
