







/* みらい社会創造ラボ 共通CSS: 構造・文字スタイル・余白・レスポンシブを集約。色は各HTMLの:root変数で指定。 */
:root{--bg:#fffaf4;--card:#fff;--line:#ead8c4;--text:#2b241d;--sub:#6f6256;--soft:#eef5ff;--accent:#4f82c7;--accent-deep:#3b66a4;--stripe-a:#9fc3f1;--stripe-b:#4f82c7;--shadow:0 10px 28px rgba(80,54,23,.08);--max:1040px}
body.page-index *{box-sizing:border-box}
html{scroll-behavior:smooth}
body.page-index .anchor-fix{display:block;scroll-margin-top:90px;height:0}

body.page-index a{color:inherit;text-decoration:none}
body.page-index .wrap{width:min(var(--max),calc(100% - 32px));margin:0 auto}
body.page-index header{position:fixed;top:0;left:0;width:100%;z-index:9999;background:rgba(255,250,244,0.96);backdrop-filter:blur(10px);border-bottom:1px solid rgba(234,216,196,0.75)}
body.page-index .nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0}
body.page-index .brand{display:flex;flex-direction:column;line-height:1.2;font-weight:700}
body.page-index .nav-links{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
body.page-index .nav-links a{padding:8px 12px;border-radius:999px;color:var(--sub);font-size:0.92rem}
body.page-index .nav-links a:hover{background:var(--soft);color:var(--accent-deep)}
body.page-index .hero{padding:18px 0 14px}
body.page-index .hero-slim{background:linear-gradient(180deg,#f3f8ff 0%,#edf5ff 100%);border:10px solid #2f65aa;border-radius:22px;box-shadow:0 12px 32px rgba(60,92,140,0.10);padding:18px 24px 24px}
body.page-index .hero-band{margin:-18px -24px 18px;padding:8px 16px;background:#2f65aa;color:#f7fbff;text-align:center;font-size:1.23rem;font-weight:700;letter-spacing:0.02em}
body.page-index .hero-title{margin:0 0 10px;font-size:2.34rem;line-height:1.38;font-weight:700;color:#2f4f75;text-align:center;text-shadow:0 1px 0 #ffffff,0 2px 8px rgba(47,79,117,0.10)}
body.page-index .hero-subtitle{margin:0 0 18px;color:#4f6278;font-size:1.48rem ;font-weight:700;text-align:center;line-height:1.34}
body.page-index p{
font-size:1.02rem;
line-height:1.36;
margin:0 0 .20em;
}
body.page-index .hero-spacer{height:1.2em}
body.page-index .hero-slim.hero-part2{background:linear-gradient(180deg,#fff6ec 0%,#ffeede 100%);border:10px solid #e8893c;border-radius:22px;box-shadow:0 12px 32px rgba(180,100,30,0.10)}
body.page-index .hero-slim.hero-part2 .hero-band{background:#e8893c;color:#fffdf9;padding:6px 16px;font-size:0.95rem}
body.page-index .hero-slim.hero-part2 .hero-title{color:#c96a1f;text-shadow:0 1px 0 #ffffff,0 2px 8px rgba(201,106,31,0.10)}
body.page-index .hero-slim.hero-part2 .hero-subtitle{color:#9a5a2b}
body.page-index .hero-slim.hero-part3{background:linear-gradient(180deg,#f6fcf8 0%,#eef7ff 100%);border:10px solid #4cae75;border-radius:22px;box-shadow:0 12px 32px rgba(52,101,91,0.10)}
body.page-index .hero-slim.hero-part3 .hero-band{background:#4cae75;color:#f7fffb}
body.page-index .hero-slim.hero-part3 .hero-title{color:#2f6c58;text-shadow:0 1px 0 #ffffff,0 2px 8px rgba(47,108,88,0.10)}
body.page-index .hero-slim.hero-part3 .hero-subtitle{color:#4d6159}
body.page-index .hero-slim.hero-part4{background:linear-gradient(180deg,#fff4f8 0%,#ffe7ef 100%);border:2px solid #e46a9c;border-radius:22px;box-shadow:0 12px 32px rgba(110,92,67,0.10)}
body.page-index .hero-slim.hero-part4 .hero-band{background:#e46a9c;color:#fffdf8;padding:6px 16px;font-size:0.95rem}
body.page-index .hero-slim.hero-part4 .hero-title{color:#b94378;text-shadow:0 1px 0 #ffffff,0 2px 8px rgba(106,90,67,0.10)}
body.page-index .hero-slim.hero-part4 .hero-subtitle{color:#8f4a67}
body.page-index .part4-card{background:linear-gradient(180deg,#faf7f2 0%,#f3ece3 100%);border:1px solid #d8cbb8 ;box-shadow:0 6px 18px rgba(110,92,67,0.08)}
body.page-index .part4-card::before{background:linear-gradient(180deg,#a08d6a 0%,#6e5c43 100%)}
body.page-index .part4-card h3{color:#6a5a43 }
body.page-index .part4-card .subline{color:#7a6a52 }
body.page-index .inner-card.part4-card .tag{background:#efe5d6 ;color:#6e5c43 }
body.page-index .hero-part4 .inner-card{background:linear-gradient(180deg,#faf7f2 0%,#f3ece3 100%);border:1px solid #d8cbb8 ;box-shadow:0 6px 18px rgba(110,92,67,0.08)}
body.page-index .hero-part4 .inner-card::before{background:linear-gradient(180deg,#a08d6a 0%,#6e5c43 100%)}
body.page-index .hero-part4 .inner-card .tag{background:#efe5d6 ;color:#6e5c43 }
body.page-index .hero-part4 .inner-card h3{color:#6a5a43 }
body.page-index .hero-part4 .inner-card .subline{color:#7a6a52 }
body.page-index .text-nav{padding:24px 0 18px}
body.page-index .report-section{padding:24px 0 16px}
body.page-index h1,body.page-index h2,body.page-index h3{line-height:1.35;margin:0}
body.page-index section{padding:30px 0}
body.page-index .section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:18px}
body.page-index .section-head p{margin:8px 0 0;color:var(--sub)}
body.page-index .section-head.centered{display:block;text-align:center}
body.page-index .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
body.page-index .card{display:block;--stripe-a:#f0b35f;--stripe-b:#d48729;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:22px 22px 22px 24px;box-shadow:var(--shadow);transition:0.2s ease;position:relative;cursor:pointer;overflow:hidden}
body.page-index .card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:7px;background:linear-gradient(180deg,var(--stripe-a)0%,var(--stripe-b)100%)}
body.page-index .card:hover{transform:translateY(-2px)}
body.page-index .card .tag,body.page-index .linked-card .tag,body.page-index .inner-card .tag{display:inline-block;font-size:0.8rem;font-weight:700;color:#6e604d;background:#f5f1eb;padding:6px 10px;border-radius:999px;margin-bottom:12px}
body.page-index .card h3{font-size:1.2rem;margin-bottom:8px;text-align:center}
body.page-index .card .subline{display:block;color:#5f5b57;font-size:0.98rem;margin-bottom:12px;text-align:center;font-weight:700}

body.page-index .read-inline{color:#1a3d8f;font-weight:700;text-decoration:underline;text-underline-offset:2px;transition:0.2s ease;white-space:nowrap}
body.page-index .read-inline:hover{color:#ffffff;background:#1a3d8f}
body.page-index .detail-link-blue,body.page-index .detail-link-brown{font-weight:700;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
body.page-index .detail-link-blue{color:#2f65aa}
body.page-index .detail-link-blue:hover{color:#ffffff;background:#2f65aa}
body.page-index .detail-link-brown{color:#2f65aa}
body.page-index .detail-link-brown:hover{color:#ffffff;background:#2f65aa}
body.page-index .about{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow)}
body.page-index .about h2{margin:0 0 14px;font-size:1.34rem;text-align:center;color:var(--text)}

body.page-index .about p:last-child{margin-bottom:0}
body.page-index .about-note{font-size:0.7em}
body.page-index .stripe-lime{--stripe-a:#b7de8d;--stripe-b:#79b34b}
body.page-index .stripe-rose{--stripe-a:#d7a0c3;--stripe-b:#b25e90}
body.page-index .stripe-orange{--stripe-a:#f0b35f;--stripe-b:#d48729}
body.page-index .stripe-teal{--stripe-a:#86d8db;--stripe-b:#389ca2}
body.page-index .stripe-sky{--stripe-a:#a9d8ff;--stripe-b:#62b5f6}
body.page-index .stripe-green{--stripe-a:#87d2a1;--stripe-b:#49ad6d}
body.page-index .stripe-purple{--stripe-a:#b89ce8;--stripe-b:#8a6ac9}
body.page-index .stripe-red{--stripe-a:#f1a0a1;--stripe-b:#d35a5e}
body.page-index .stripe-vivid-orange{--stripe-a:#ffb347;--stripe-b:#ff7a00}
body.page-index .stripe-hot-pink{--stripe-a:#ff9ccf;--stripe-b:#e64f9a}
body.page-index .stripe-gray{--stripe-a:#cfcfcf;--stripe-b:#8c8c8c}
body.page-index .stripe-graphite-yellow{--stripe-a:#4a4a4a;--stripe-b:#d9b800}
body.page-index .button-wrap{margin-top:16px;text-align:center}
body.page-index .capsule-button{display:inline-block;padding:12px 24px;min-width:170px;border-radius:999px;color:#ffffff;font-weight:700;font-size:0.96rem;line-height:1;text-align:center;letter-spacing:0.02em;box-shadow:0 8px 18px var(--btn-blue-shadow);background:linear-gradient(135deg,var(--btn-blue-1)0%,var(--btn-blue-2)100%);transition:transform 0.18s ease,box-shadow 0.18s ease,filter 0.18s ease,opacity 0.18s ease}
body.page-index .capsule-button:hover{transform:translateY(-2px)scale(1.02);box-shadow:0 12px 24px rgba(59,102,164,0.34);filter:brightness(1.04)}
body.page-index .capsule-button:active{transform:translateY(0);box-shadow:0 6px 14px rgba(59,102,164,0.26)}
body.page-index .capsule-button.cream{background:linear-gradient(135deg,#f0a44b 0%,#d96f2b 100%);box-shadow:0 8px 18px rgba(217,111,43,0.28)}
body.page-index .capsule-button.cream:hover{box-shadow:0 12px 24px rgba(217,111,43,0.34)}
body.page-index .capsule-button.greenblue{background:linear-gradient(135deg,#4fa96f 0%,#4b89c6 100%);box-shadow:0 8px 18px rgba(75,137,198,0.28)}
body.page-index .capsule-button.greenblue:hover{box-shadow:0 12px 24px rgba(75,137,198,0.34)}
body.page-index .inner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
body.page-index .inner-grid.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
body.page-index .inner-grid.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
body.page-index .inner-grid.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
body.page-index .inner-card{position:relative;background:linear-gradient(180deg,var(--inner-blue-1)0%,var(--inner-blue-2)100%);border:1px solid var(--inner-blue-line);border-radius:18px;padding:18px 18px 18px 24px;box-shadow:0 6px 18px rgba(60,92,140,0.06);overflow:hidden}
body.page-index .inner-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:14px;background:linear-gradient(180deg,#8fb7ef 0%,#3f79c7 100%)}
body.page-index .subtheme-card::before{width:7px}
body.page-index .inner-card h3{font-size:1.56rem ;color:#2f4f75;margin-bottom:8px;line-height:1.35;font-weight:700}
body.page-index .inner-card .subline{display:block;color:#5f5b57;font-size:1.1625rem;line-height:1.45;margin-bottom:12px;font-weight:700}

body.page-index .inner-card .tag{background:#eef4fb;color:#50627a}
body.page-index .inner-card .button-wrap{margin-top:0}
body.page-index .inner-card .capsule-button{min-width:148px;padding:10px 18px;font-size:0.9rem}
body.page-index .subtheme-card h3{font-size:1.18rem ;line-height:1.28}
body.page-index .subtheme-card .subline{font-size:0.96rem;font-weight:700;line-height:1.35}

body.page-index .footer-links{text-align:center;color:var(--sub);font-size:0.95rem;margin:10px 0 6px}
body.page-index .footer-links a{margin:0 6px;padding:2px 4px;border-radius:4px;transition:.18s ease}
body.page-index footer{padding:8px 0 24px;color:var(--sub);font-size:0.92rem}
body.page-index .footer-box{border-top:1px solid var(--line);padding-top:10px;text-align:center}
body.page-index .site-map,body.page-index .text-nav{padding:18px 0}
body.page-index .site-map{padding-top:20px}
body.page-index .map-row{margin:0 0 4px;color:var(--sub);font-size:0.828rem;line-height:1.35;letter-spacing:0;font-weight:400}
body.page-index .map-cat{display:inline-block;background:#2f6fd8;color:#ffffff;font-weight:700;font-size:0.72em;padding:2px 8px;border-radius:6px;margin-right:6px;letter-spacing:0.02em;line-height:1.2;vertical-align:0.02em}
body.page-index .map-row .plain-link{white-space:nowrap}
body.page-index .plain-link{color:#1a3d8f;font-weight:400;text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:rgba(26,61,143,0.45);text-underline-offset:2px;transition:color 0.2s ease,background-color 0.2s ease,text-decoration-color 0.2s ease}
body.page-index .plain-link:hover{color:#ffffff;background:#1a3d8f;text-decoration-color:transparent}
body.page-index .map-row .plain-link::before{content:"■";display:inline-block;margin:0 0.22em 0 0.55em;font-size:0.88em;line-height:1;vertical-align:0.02em}
body.page-index .site-map .top-theme-row:nth-of-type(1) .plain-link::before{color:#4f82c7}
body.page-index .site-map .top-theme-row:nth-of-type(2) .plain-link::before{color:#b48949}
body.page-index .site-map .top-theme-row:nth-of-type(3) .plain-link::before{color:#4cae75}
body.page-index .site-map .top-theme-row:nth-of-type(4) .plain-link::before{color:#d64b2f}
body.page-index .linked-row .plain-link::before{color:#389ca2}
body.page-index .column-row .plain-link:nth-of-type(1)::before{color:#d9b800}
body.page-index .column-row .plain-link:nth-of-type(2)::before{color:#e64f9a}
body.page-index .column-row .plain-link:nth-of-type(3)::before{color:#e64f9a}
body.page-index .column-row .plain-link:nth-of-type(4)::before{color:#79b34b}
body.page-index .column-row .plain-link:nth-of-type(5)::before{color:#b25e90}
body.page-index .column-row .plain-link:nth-of-type(6)::before{color:#62b5f6}
body.page-index .column-row .plain-link:nth-of-type(7)::before{color:#d48729}
body.page-index .column-row .plain-link:nth-of-type(8)::before{color:#389ca2}
body.page-index .column-row .plain-link:nth-of-type(9)::before{color:#49ad6d}
body.page-index .column-row .plain-link:nth-of-type(10)::before{color:#8a6ac9}
body.page-index .column-row .plain-link:nth-of-type(11)::before{color:#d35a5e}
body.page-index .column-row .plain-link:nth-of-type(12)::before{color:#ff7a00}
body.page-index .column-row .plain-link:nth-of-type(13)::before{color:#8c8c8c}
body.page-index .column-row .plain-link:nth-of-type(14)::before{color:#e88bb0}
body.page-index .column-row .plain-link:nth-of-type(15)::before{color:#e88bb0}
body.page-index .column-row .plain-link:nth-of-type(13)::before{color:#4f82c7}
body.page-index .column-row .plain-link:nth-of-type(15)::before{color:#b25e90}
body.page-index .report-row .plain-link:nth-of-type(1)::before{color:#8c8c8c}
body.page-index .report-row .plain-link:nth-of-type(2)::before{color:#8c8c8c}
body.page-index .report-row .plain-link:nth-of-type(3)::before{color:#e46a9c}
body.page-index .site-map .top-theme-row:nth-of-type(1) .map-cat,body.page-index .text-nav .top-theme-row:nth-of-type(1) .map-cat{background:#2f6fd8}
body.page-index .site-map .top-theme-row:nth-of-type(3) .map-cat,body.page-index .text-nav .top-theme-row:nth-of-type(3) .map-cat{background:#b48949}
body.page-index .site-map .top-theme-row:nth-of-type(5) .map-cat,body.page-index .text-nav .top-theme-row:nth-of-type(5) .map-cat{background:#e8893c}
body.page-index .site-map .top-theme-row:nth-of-type(6) .map-cat,body.page-index .text-nav .top-theme-row:nth-of-type(6) .map-cat{background:#4b89c6}
body.page-index .column-row .map-cat,body.page-index .report-row .map-cat{background:#8c8c8c;color:#fff}
body.page-index .site-map .linked-row:nth-of-type(2) .map-cat,body.page-index .text-nav .linked-row:nth-of-type(2) .map-cat{background:#6f95e8}
body.page-index .site-map .linked-row:nth-of-type(4) .map-cat,body.page-index .text-nav .linked-row:nth-of-type(4) .map-cat{background:#c6a77a}
body.page-index .site-map .linked-row:nth-of-type(7) .map-cat,body.page-index .text-nav .linked-row:nth-of-type(7) .map-cat{background:#f2b37a}
@media (max-width: 980px){body.page-index .inner-grid,body.page-index .inner-grid.grid-2,body.page-index .inner-grid.grid-3,body.page-index .inner-grid.grid-4{grid-template-columns:1fr}}
@media (max-width: 900px){body.page-index .grid{grid-template-columns:1fr}body.page-index .section-head{align-items:start;flex-direction:column}body.page-index .about{padding:24px}}
@media (max-width: 640px){body.page-index .wrap{width:min(var(--max),calc(100% - 12px))}body.page-index .nav{align-items:start;flex-direction:column}body.page-index .hero{padding-top:14px}body.page-index .site-map,body.page-index .text-nav{padding:12px 0}body.page-index .site-map{padding-top:14px}body.page-index .map-row{margin:0 0 5px;font-size:0.702rem;line-height:1.18}body.page-index .plain-link{display:inline-block;white-space:normal;padding:0}body.page-index .map-row .plain-link::before{margin:0 0.12em 0 0.35em;font-size:0.8em}body.page-index .hero-title{font-size:1.98rem}body.page-index .hero-subtitle{font-size:1.12rem}body.page-index .hero-band{font-size:1.02rem}body.page-index .capsule-button{min-width:156px;padding:11px 20px}body.page-index .inner-card h3{font-size:1.28rem }body.page-index .subtheme-card h3{font-size:1.08rem ;line-height:1.3}body.page-index .inner-card .subline{font-size:0.98rem}body.page-index .subtheme-card .subline{font-size:0.86rem}}
body.page-index .hero-part5{background:linear-gradient(180deg,#fff8f4 0%,#f5d8c9 100%);border:2px solid #d84f2a;border-radius:22px;box-shadow:0 12px 32px rgba(216,79,42,0.10)}
body.page-index .hero-part5 .hero-band{background:#d84f2a;color:#fffdf8}
body.page-index .hero-part5 .hero-title{color:#b74628;text-shadow:0 1px 0 #ffffff,0 2px 8px rgba(183,70,40,0.10)}
body.page-index .hero-part5 .hero-subtitle{color:#8f4630}
body.page-index .part5-card{background:linear-gradient(180deg,#fffaf7 0%,#fff0e8 100%);border:1px solid #f0c9b8 ;box-shadow:0 6px 18px rgba(216,79,42,0.08)}
body.page-index .part5-card::before{background:linear-gradient(180deg,#ff9a63 0%,#d84f2a 100%)}
body.page-index .part5-card h3{color:#b74628 }
body.page-index .part5-card .subline{color:#8f4630 }
body.page-index .hero-part5 .inner-card .tag{background:#fff0e8 ;color:#b74628 }
body.page-index .subtheme-label .map-cat{background:#8f7346 }
body.page-index .stripe-greenblue{--stripe-a:#87d2c3;--stripe-b:#4b89c6}
body.page-index .theme-promoted::before{width:14px }
body.page-index .theme-promoted h3{font-size:1.4rem ;line-height:1.35}
body.page-index .theme-promoted .subline{font-size:1rem }
body.page-index .theme-promoted p{font-size:0.95rem }
@media (max-width: 640px){body.page-index .theme-promoted h3{font-size:1.18rem }}
body.page-index .about h2{margin:0 0 14px;font-size:1.34rem;text-align:left;color:var(--text)}
body.page-index .accent-sky::before{background:linear-gradient(180deg,#8fb7ef 0%,#3f79c7 100%)}
body.page-index .accent-mint::before{background:linear-gradient(180deg,#8bd8b1 0%,#3aa66e 100%)}
body.page-index .accent-orange::before{background:linear-gradient(180deg,#f4b36b 0%,#e07932 100%)}
body.page-index .accent-rose::before{background:linear-gradient(180deg,#e5a3c4 0%,#b75a93 100%)}
body.page-index .accent-purple::before{background:linear-gradient(180deg,#bba0e8 0%,#8165c7 100%)}
body.page-index .accent-amber::before{background:linear-gradient(180deg,#e5c56f 0%,#b78328 100%)}
body.page-index .accent-gray::before{background:linear-gradient(180deg,#bfc4ca 0%,#727c86 100%)}
body.page-index .theme-note{margin-top:10px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,0.55);border:1px solid rgba(180,180,180,0.24);color:var(--sub);font-size:0.94rem;line-height:1.45}
body.page-index .mini-section-title{margin:24px 0 8px;color:var(--sub);font-size:0.98rem;font-weight:700;text-align:center}
body.page-index .hero-part4 .inner-card{background:linear-gradient(180deg,#fff8fb 0%,#ffe9f1 100%);border:1px solid #f0b8cc ;box-shadow:0 6px 18px rgba(196,73,124,0.08)}
body.page-index .hero-part4 .inner-card::before{background:linear-gradient(180deg,#f49ac0 0%,#c84f87 100%)}
body.page-index .hero-part4 .inner-card .tag{background:#fde8f1 ;color:#9c3f6a }
body.page-index .hero-part4 .inner-card h3{color:#b94378 }
body.page-index .hero-part4 .inner-card .subline{color:#8f4a67 }
body.page-index .accent-softblue::before{background:linear-gradient(180deg,#b8ddf3 0%,#77aecf 100%)}
body.page-index .accent-redorange::before{background:linear-gradient(180deg,#ff9a63 0%,#d84f2a 100%)}
body.page-index .map-theme1 .map-cat{background:#2f65aa }
body.page-index .map-theme2 .map-cat{background:#e8893c }
body.page-index .map-theme3 .map-cat{background:#4cae75 }
body.page-index .map-next-energy .map-cat{background:#d84f2a }
body.page-index .map-next-family .map-cat{background:#e46a9c }
body.page-index .map-theme1 .plain-link::before{color:#2f65aa }
body.page-index .map-theme2 .plain-link::before{color:#e8893c }
body.page-index .map-theme3 .plain-link::before{color:#4cae75 }
body.page-index .map-next-energy .plain-link::before{color:#d84f2a }
body.page-index .map-next-family .plain-link::before{color:#e46a9c }
body.page-index #column .grid{align-items:start}
body.page-index #column .card h3,body.page-index #column .card .subline{text-align:center}



body.page-index .hero-slim.hero-part4,body.page-index .hero-slim.hero-part5{overflow:hidden}
body.page-index .site-map{padding:24px 0;margin:1em 0}
body.page-index .mini-section-title{text-align:left ;margin:26px 0 10px ;color:var(--text)}
body.page-index .mini-section-title::before{content:"■";margin-right:0.25em}
body.page-index .footer-links{text-align:center;color:var(--sub);font-size:0.95rem;margin:22px 0 12px}
body.page-index .footer-links a{margin:0 6px;color:#1a3d8f;text-decoration:underline;text-underline-offset:2px;padding:2px 4px;border-radius:4px;transition:.18s ease}








body.page-index .theme-card-110{background:linear-gradient(180deg,#fbfffc 0%,#eef8f1 100%);border:1px solid #cbe5d3 ;box-shadow:0 6px 18px rgba(79,159,112,0.08)}
body.page-index .theme-card-110::before{background:linear-gradient(180deg,#9ed7b1 0%,#4f9f70 100%)}
body.page-index .theme-card-110 h3{color:#327a50 }
body.page-index .theme-card-110 .subline{color:#426b52 }
body.page-index .theme-card-110 .tag{background:#e8f5ed ;color:#327a50 }
body.page-index .theme-card-120{background:linear-gradient(180deg,#fbfeff 0%,#eef8fb 100%);border:1px solid #cce8ee ;box-shadow:0 6px 18px rgba(97,174,189,0.08)}
body.page-index .theme-card-120::before{background:linear-gradient(180deg,#a8dbe3 0%,#61aebd 100%)}
body.page-index .theme-card-120 h3{color:#367d8b }
body.page-index .theme-card-120 .subline{color:#486d75 }
body.page-index .theme-card-120 .tag{background:#e8f6f8 ;color:#367d8b }
body.page-index .theme-card-130{background:linear-gradient(180deg,#fbfdff 0%,#eef7ff 100%);border:1px solid #c9e1f3 ;box-shadow:0 6px 18px rgba(74,159,214,0.08)}
body.page-index .theme-card-130::before{background:linear-gradient(180deg,#a8d4f3 0%,#4a9fd6 100%)}
body.page-index .theme-card-130 h3{color:#2f6f9f }
body.page-index .theme-card-130 .subline{color:#4d687a }
body.page-index .theme-card-130 .tag{background:#e7f3fc ;color:#2f6f9f }
body.page-index .accent-aqua::before{background:linear-gradient(180deg,#99d8cf 0%,#3f9e96 100%)}
body.page-index .accent-gentle-lavender::before{background:linear-gradient(180deg,#c8c8ee 0%,#8e91d6 100%)}
body.page-index .accent-gentle-lavender{background:linear-gradient(180deg,#fcfcff 0%,#f2f3ff 100%);border-color:#d8daf5 }
body.page-index .accent-gentle-lavender h3{color:#6669ad }
body.page-index .accent-gentle-lavender .tag{background:#eeeeff ;color:#6669ad }
body.page-index .stripe-slate{--stripe-a:#aeb7c2;--stripe-b:#66717e}
body.page-index .stripe-nightgold{--stripe-a:#4a4a4a;--stripe-b:#d9b800}
body.page-index .stripe-olive{--stripe-a:#c4c982;--stripe-b:#868d3c}
body.page-index .stripe-cobalt{--stripe-a:#96b7e8;--stripe-b:#4d70b6}
body.page-index .stripe-coral{--stripe-a:#f0a295;--stripe-b:#c85f54}
body.page-index .map-theme1 .plain-link:nth-of-type(1)::before,body.page-index .map-theme1 .plain-link:nth-of-type(2)::before{color:#2f65aa }
body.page-index .map-theme1 .plain-link:nth-of-type(3)::before{color:#4f9f70 }
body.page-index .map-theme1 .plain-link:nth-of-type(4)::before{color:#61aebd }
body.page-index .map-theme1 .plain-link:nth-of-type(5)::before{color:#4a9fd6 }
body.page-index .column-row .plain-link:nth-of-type(1)::before{color:#66717e }
body.page-index .column-row .plain-link:nth-of-type(2)::before{color:#d9b800 }
body.page-index .column-row .plain-link:nth-of-type(6)::before{color:#868d3c }
body.page-index .column-row .plain-link:nth-of-type(7)::before{color:#4d70b6 }
body.page-index .column-row .plain-link:nth-of-type(9)::before,body.page-index .column-row .plain-link:nth-of-type(10)::before{color:#c85f54 }
body.page-index .hero-slim .inner-card:hover,body.page-index .card:hover{box-shadow:0 8px 18px rgba(50,50,50,0.18)}
body.page-index .inner-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}
body.page-index .theme-card-140{background:linear-gradient(180deg,#fcfbff 0%,#f0eef8 100%);border:1px solid #d8d3eb ;box-shadow:0 6px 18px rgba(126,112,168,0.08)}
body.page-index .theme-card-140::before{background:linear-gradient(180deg,#c6bde6 0%,#7c6fad 100%)}
body.page-index .theme-card-140 h3{color:#5f548d }
body.page-index .theme-card-140 .subline{color:#625d78 }
body.page-index .theme-card-140 .tag{background:#eeeaf8 ;color:#5f548d }
body.page-index .map-theme1 .plain-link:nth-of-type(6)::before{color:#7c6fad }
body.page-index .theme-card-150{background:linear-gradient(180deg,#fbfffc 0%,#eef9f4 100%);border:1px solid #cfe8db ;box-shadow:0 6px 18px rgba(69,145,105,0.08)}
body.page-index .theme-card-150::before{background:linear-gradient(180deg,#9bd9b9 0%,#3f9b68 100%)}
body.page-index .theme-card-150 h3{color:#2f7650 }
body.page-index .theme-card-150 .subline{color:#446b56 }
body.page-index .theme-card-150 .tag{background:#e8f6ee ;color:#2f7650 }
body.page-index .map-theme1 .plain-link:nth-of-type(6)::before{color:#3f9b68 }
body.page-index .map-theme1 .plain-link:nth-of-type(7)::before{color:#7c6fad }
body.page-index .theme-card-340{background:linear-gradient(180deg,#fbfffc 0%,#edf8f2 100%);border:1px solid #cbe6d5 ;box-shadow:0 6px 18px rgba(74,151,104,0.08)}
body.page-index .theme-card-340::before{background:linear-gradient(180deg,#9bd9b9 0%,#3f9b68 100%)}
body.page-index .theme-card-340 h3{color:#2f7650 }
body.page-index .theme-card-340 .subline{color:#446b56 }
body.page-index .theme-card-340 .tag{background:#e8f6ee ;color:#2f7650 }
body.page-index .map-theme3 .plain-link:nth-of-type(6)::before{color:#3f9b68 }




@media (max-width: 980px){body.page-index .inner-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
body.page-index .footer-links{text-align:center;color:var(--sub);font-size:0.95rem;margin:18px 0 8px;padding-top:14px;border-top:1px solid var(--line)}
body.page-index .footer-links a{margin:0 6px;color:var(--accent-deep);font-weight:700;text-decoration:none;padding:2px 4px;border-radius:4px;transition:.18s ease}
body.page-index .footer-links a:hover{background:#1a3d8f;color:#ffffff ;text-decoration:none}
body.page-index .footer-links a:hover{background:var(--accent-deep);color:#ffffff;text-decoration:none}
body.page-index .footer-links a{padding:2px 4px;border-radius:4px;text-decoration:none;transition:.18s ease}
body.page-index #theme-education .inner-card[href],body.page-index #theme-education article.inner-card{transition:.18s ease}
body.page-index #theme-education article.inner-card:nth-of-type(1){background:linear-gradient(180deg,#fbfdff 0%,#eef5ff 100%);border:1px solid #cddbef ;box-shadow:0 6px 18px rgba(79,130,199,.08)}
body.page-index #theme-education article.inner-card:nth-of-type(1)::before{background:linear-gradient(180deg,#9fc3f1 0%,#4f82c7 100%)}
body.page-index #theme-education article.inner-card:nth-of-type(1) h3{color:#3b66a4 }
body.page-index #theme-education article.inner-card:nth-of-type(1) .tag{background:#eef5ff ;color:#3b66a4 }
body.page-index #theme-education article.inner-card:nth-of-type(1) .subline{color:#50627a }
body.page-index #theme-education article.inner-card:nth-of-type(2){background:linear-gradient(180deg,#fffafa 0%,#fff0ed 100%);border:1px solid #f1cbc6 ;box-shadow:0 6px 18px rgba(200,95,84,.08)}
body.page-index #theme-education article.inner-card:nth-of-type(2)::before{background:linear-gradient(180deg,#f0a295 0%,#c85f54 100%)}
body.page-index #theme-education article.inner-card:nth-of-type(2) h3{color:#a7473e }
body.page-index #theme-education article.inner-card:nth-of-type(2) .tag{background:#fff0ed ;color:#a7473e }
body.page-index #theme-education article.inner-card:nth-of-type(2) .subline{color:#7a514d }
body.page-index #theme-education article.inner-card:nth-of-type(3){background:linear-gradient(180deg,#fffdf8 0%,#fff3e3 100%);border:1px solid #ecd4b0 ;box-shadow:0 6px 18px rgba(216,159,72,.08)}
body.page-index #theme-education article.inner-card:nth-of-type(3)::before{background:linear-gradient(180deg,#e0b765 0%,#b67a24 100%)}
body.page-index #theme-education article.inner-card:nth-of-type(3) h3{color:#8b5e1e }
body.page-index #theme-education article.inner-card:nth-of-type(3) .tag{background:#f8eedc ;color:#8b5e1e }
body.page-index #theme-education article.inner-card:nth-of-type(3) .subline{color:#7c5a30 }




@media (max-width: 980px){body.page-index .inner-grid.four{grid-template-columns:1fr}}
body.page-index .hero-part4 .inner-card[href*="theme600"],body.page-index .hero-part4 .inner-card[href*="theme610"],body.page-index .hero-part4 .inner-card[href*="theme620"],body.page-index .hero-part5 .inner-card[href*="theme600"],body.page-index .hero-part5 .inner-card[href*="theme610"],body.page-index .hero-part5 .inner-card[href*="theme620"]{transition:.18s ease}
body.page-index .hero-part4 .inner-card[href*="theme600"],body.page-index .hero-part5 .inner-card[href*="theme600"]{background:linear-gradient(180deg,#ffffff 0%,#f7f8f8 100%);border:1px solid #dadfe3}
body.page-index .hero-part4 .inner-card[href*="theme600"]::before,body.page-index .hero-part5 .inner-card[href*="theme600"]::before{background:linear-gradient(180deg,#d5dadd 0%,#9fa8b0 100%)}
body.page-index .hero-part4 .inner-card[href*="theme600"] h3,body.page-index .hero-part5 .inner-card[href*="theme600"] h3{color:#58626b}
body.page-index .hero-part4 .inner-card[href*="theme610"],body.page-index .hero-part5 .inner-card[href*="theme610"]{background:linear-gradient(180deg,#fbfdff 0%,#eef5ff 100%);border:1px solid #cddbef}
body.page-index .hero-part4 .inner-card[href*="theme610"]::before,body.page-index .hero-part5 .inner-card[href*="theme610"]::before{background:linear-gradient(180deg,#8fb7ef 0%,#3f79c7 100%)}
body.page-index .hero-part4 .inner-card[href*="theme610"] h3,body.page-index .hero-part5 .inner-card[href*="theme610"] h3{color:#3f79c7}
body.page-index .hero-part4 .inner-card[href*="theme620"],body.page-index .hero-part5 .inner-card[href*="theme620"]{background:linear-gradient(180deg,#fffaf5 0%,#fff0e8 100%);border:1px solid #f0c9b8}
body.page-index .hero-part4 .inner-card[href*="theme620"]::before,body.page-index .hero-part5 .inner-card[href*="theme620"]::before{background:linear-gradient(180deg,#ff9a63 0%,#d84f2a 100%)}
body.page-index .hero-part4 .inner-card[href*="theme620"] h3,body.page-index .hero-part5 .inner-card[href*="theme620"] h3{color:#b74628}
body.page-index #column .card h3,body.page-index #column .card .subline{text-align:center }
body.page-index #column .card h3{margin-bottom:10px}
body.page-index #column .card .subline{display:block}
body.page-index .map-row.top-theme-row .map-cat{font-size:0.648em }
body.page-index .column-row .map-cat,body.page-index .report-row .map-cat{font-size:0.576em }
body.page-index .hero-slim.hero-part6{background:linear-gradient(180deg,#fbfaf7 0%,#e3dccf 100%);border:10px solid #3e3b35;border-radius:22px;box-shadow:0 12px 32px rgba(45,43,39,.12)}
body.page-index .hero-part6 .hero-band{background:#3e3b35;color:#fffdf8}
body.page-index .hero-part6 .hero-title{color:#2f2c27;text-shadow:0 1px 0 #fff,0 2px 8px rgba(47,44,39,.10)}
body.page-index .hero-part6 .hero-subtitle{color:#5d564d}
body.page-index .hero-election{background:linear-gradient(180deg,#f7fbff 0%,#eef5ff 100%);border:2px solid #4f82c7;border-radius:22px;box-shadow:0 12px 32px rgba(79,130,199,.10)}
body.page-index .hero-election .hero-band{background:#4f82c7;color:#fff}
body.page-index .hero-election .hero-title{color:#315f9c}
body.page-index .hero-election .hero-subtitle{color:#4f6278}
body.page-index .hero-hard{background:linear-gradient(180deg,#fff8f2 0%,#f4ede5 100%);border:2px solid #6e5c43;border-radius:22px;box-shadow:0 12px 32px rgba(110,92,67,.10)}
body.page-index .hero-hard .hero-band{background:#6e5c43;color:#fffdf8}
body.page-index .hero-hard .hero-title{color:#5d4c36}
body.page-index .hero-hard .hero-subtitle{color:#6f6256}
body.page-index .oil-card-blue{background:linear-gradient(180deg,#fbfdff 0%,#eef5ff 100%);border:1px solid #cddbef}
body.page-index .oil-card-blue::before{background:linear-gradient(180deg,#9fc3f1 0%,#4f82c7 100%)}
body.page-index .oil-card-blue h3{color:#3b66a4}
body.page-index .oil-card-green{background:linear-gradient(180deg,#fbfffc 0%,#edf8f2 100%);border:1px solid #cbe6d5}
body.page-index .oil-card-green::before{background:linear-gradient(180deg,#9bd9b9 0%,#3f9b68 100%)}
body.page-index .oil-card-green h3{color:#2f7650}
body.page-index .oil-card-orange{background:linear-gradient(180deg,#fffdf8 0%,#fff3e3 100%);border:1px solid #ecd4b0}
body.page-index .oil-card-orange::before{background:linear-gradient(180deg,#f2b37a 0%,#e8893c 100%)}
body.page-index .oil-card-orange h3{color:#a95f1f}
body.page-index .oil-card-purple{background:linear-gradient(180deg,#fcfbff 0%,#f1eef9 100%);border:1px solid #d8d3eb}
body.page-index .oil-card-purple::before{background:linear-gradient(180deg,#c6bde6 0%,#7c6fad 100%)}
body.page-index .oil-card-purple h3{color:#5f548d}
body.page-index .oil-card-red{background:linear-gradient(180deg,#fffafa 0%,#fff0ed 100%);border:1px solid #f1cbc6}
body.page-index .oil-card-red::before{background:linear-gradient(180deg,#f0a295 0%,#c85f54 100%)}
body.page-index .oil-card-red h3{color:#a7473e}
body.page-index .oil-card-dark{background:linear-gradient(180deg,#ffffff 0%,#f2f0eb 100%);border:1px solid #d8d2c8}
body.page-index .oil-card-dark::before{background:linear-gradient(180deg,#4a4a4a 0%,#b98924 100%)}
body.page-index .oil-card-dark h3{color:#5d4c36}
body.page-index .election-card-blue{background:linear-gradient(180deg,#fbfdff 0%,#eef5ff 100%);border:1px solid #cddbef}
body.page-index .election-card-blue::before{background:linear-gradient(180deg,#8fb7ef 0%,#3f79c7 100%)}
body.page-index .election-card-blue h3{color:#3f79c7}
body.page-index .election-card-purple{background:linear-gradient(180deg,#fcfbff 0%,#f2f3ff 100%);border:1px solid #d8daf5}
body.page-index .election-card-purple::before{background:linear-gradient(180deg,#c8c8ee 0%,#8e91d6 100%)}
body.page-index .election-card-purple h3{color:#6669ad}
body.page-index .hard-card-blue{background:linear-gradient(180deg,#f8fbff 0%,#edf4ff 100%);border:1px solid #c9d9ef}
body.page-index .hard-card-blue::before{background:linear-gradient(180deg,#96b7e8 0%,#4d70b6 100%)}
body.page-index .hard-card-blue h3{color:#3d5f9f}
body.page-index .hard-card-red{background:linear-gradient(180deg,#fff9f7 0%,#fff0ed 100%);border:1px solid #f1cbc6}
body.page-index .hard-card-red::before{background:linear-gradient(180deg,#d98b7f 0%,#8f3d36 100%)}
body.page-index .hard-card-red h3{color:#8f3d36}
body.page-index .map-theme4 .map-cat{background:#3e3b35}
body.page-index .map-theme4 .plain-link::before{color:#3e3b35}
body.page-index .map-next-election .map-cat{background:#4f82c7}
body.page-index .map-next-election .plain-link::before{color:#4f82c7}
body.page-index .map-next-hard .map-cat{background:#6e5c43}
body.page-index .map-next-hard .plain-link::before{color:#6e5c43}




@media (max-width: 760px){body.page-index .proposal-main{padding-top:0 }body.page-index .site-map{padding:14px 0 10px ;margin:0.8em 0 0.4em }body.page-index .site-map .wrap{width:100% ;max-width:none ;margin:0 ;padding:0 10px 14px ;display:flex ;gap:12px ;overflow-x:auto ;scroll-snap-type:x mandatory ;-webkit-overflow-scrolling:touch }body.page-index .site-map .wrap::-webkit-scrollbar,body.page-index .inner-grid::-webkit-scrollbar,body.page-index #column .grid::-webkit-scrollbar,body.page-index .report-section .grid::-webkit-scrollbar{height:7px}body.page-index .site-map .wrap::-webkit-scrollbar-thumb,body.page-index .inner-grid::-webkit-scrollbar-thumb,body.page-index #column .grid::-webkit-scrollbar-thumb,body.page-index .report-section .grid::-webkit-scrollbar-thumb{background:#d8c6b5;border-radius:999px}body.page-index .site-map .map-row{flex:0 0 86% ;scroll-snap-align:start ;margin:0 ;padding:14px 14px 15px ;background:#ffffff ;border:1px solid var(--line);border-radius:18px ;box-shadow:0 6px 16px rgba(80,54,23,0.08);font-size:0.82rem ;line-height:1.58 ;color:var(--sub);white-space:normal }body.page-index .site-map .map-row::after{content:"横にスワイプ";display:block;margin-top:8px;color:#8b8178;font-size:0.72rem;text-align:right}body.page-index .site-map .map-cat{display:inline-block ;margin:0 0 9px 0 ;padding:4px 10px ;border-radius:999px ;color:#ffffff ;font-size:0.76rem ;line-height:1.2 }body.page-index .site-map .plain-link{display:inline ;white-space:normal ;font-weight:700 ;text-decoration:none ;color:#1a3d8f }body.page-index .site-map .plain-link::before{content:"■" ;display:inline-block ;margin:0 0.18em 0 0.45em ;font-size:0.72em ;vertical-align:0.05em }body.page-index .inner-grid,body.page-index .inner-grid.three,body.page-index .inner-grid.four{display:flex ;grid-template-columns:none ;gap:12px ;overflow-x:auto ;padding:2px 2px 14px ;scroll-snap-type:x mandatory ;-webkit-overflow-scrolling:touch }body.page-index .inner-grid .inner-card{flex:0 0 84% ;scroll-snap-align:start ;min-width:0 }body.page-index #column .grid,body.page-index .report-section .grid{display:flex ;grid-template-columns:none ;gap:12px ;overflow-x:auto ;padding:2px 2px 14px ;scroll-snap-type:x mandatory ;-webkit-overflow-scrolling:touch }body.page-index #column .card,body.page-index .report-section .card{flex:0 0 84% ;scroll-snap-align:start }body.page-index .hero-slim{padding-left:16px ;padding-right:16px }body.page-index .hero-band{margin-left:-16px ;margin-right:-16px }body.page-index .card:hover,body.page-index .inner-card:hover{transform:none }}
@media (max-width: 760px){body.page-index header .nav{flex-direction:row ;align-items:center ;justify-content:space-between ;gap:8px ;padding:10px 0 }body.page-index header .brand{font-size:0.94rem ;white-space:nowrap }body.page-index header .nav-links{flex-wrap:nowrap ;gap:4px ;overflow-x:auto ;justify-content:flex-end }body.page-index header .nav-links a{font-size:0.76rem ;padding:5px 7px ;white-space:nowrap }body.page-index .site-map .map-row{flex-basis:82% ;min-height:0 ;padding:12px 13px 13px ;line-height:1.5 }body.page-index .site-map .column-row{flex-basis:76% }body.page-index .mini-section-title{margin:12px 0 8px ;font-size:0.84rem ;color:var(--sub)}body.page-index .inner-grid .subtheme-card{flex-basis:62% ;padding:14px 14px 14px 20px }body.page-index .inner-grid .subtheme-card::before{width:7px }body.page-index .inner-grid .subtheme-card .tag{font-size:0.68rem ;padding:4px 8px ;margin-bottom:7px }body.page-index .inner-grid .subtheme-card h3{font-size:0.96rem ;line-height:1.34 ;margin-bottom:0 ;text-align:left }body.page-index .inner-grid .subtheme-card .subline,body.page-index .inner-grid .subtheme-card p{display:none }body.page-index .inner-grid .inner-card:not(.subtheme-card){flex-basis:78% }body.page-index .about a[href^="mailto:"]{display:inline-block;margin-top:4px;padding:4px 8px;border-radius:8px;background:#eef5ff}}
media (max-width: 640px){body.page-index .hero-title{font-size:1.38rem ;line-height:1.32 ;margin-bottom:8px }body.page-index .card h3{font-size:0.84rem ;line-height:1.32 ;margin-bottom:6px }body.page-index .inner-card h3{font-size:0.90rem ;line-height:1.32 ;margin-bottom:6px }body.page-index .inner-grid .subtheme-card h3{font-size:0.72rem ;line-height:1.3 }}
body.page-index .site-map .plain-link:hover{background:#1a3d8f ;color:#ffffff ;text-decoration-color:transparent }
body.page-index .site-map .plain-link:hover::before{color:#ffffff }
body.page-index .site-map .top-theme-row .plain-link:first-of-type::before,body.page-index .site-map .subtheme-label .plain-link:first-of-type::before{content:none ;display:none }
body.page-index .map-title-break{display:block;height:0;margin:3px 0 1px}
@media (max-width: 760px){body.page-index header .nav-links{gap:1px }body.page-index header .nav-links a{font-size:0.72rem ;padding:4px 5px ;letter-spacing:-0.03em }body.page-index .card .subline,body.page-index .inner-card .subline{margin-bottom:5px }body.page-index .hero-band,body.page-index .hero-slim.hero-part2 .hero-band,body.page-index .hero-slim.hero-part4 .hero-band,body.page-index .hero-part5 .hero-band,body.page-index .hero-part6 .hero-band,body.page-index .hero-election .hero-band,body.page-index .hero-hard .hero-band{padding-top:5px ;padding-bottom:5px ;font-size:0.74rem ;line-height:1.2 ;letter-spacing:0.01em }body.page-index .map-title-break{margin:4px 0 2px }}
body.page-index .site-map .map-cat{margin-right:10px }
body.page-index .site-map .plain-link{text-decoration:underline ;text-decoration-thickness:1px ;text-underline-offset:3px ;text-decoration-color:rgba(26,61,143,.55)}
body.page-index .site-map .plain-link:hover{background:#1a3d8f ;color:#ffffff ;text-decoration-color:transparent ;border-radius:4px }
@media (max-width: 760px){body.page-index .site-map .map-cat{margin-right:10px }body.page-index .hero-slim{padding-top:12px ;padding-bottom:16px }body.page-index .hero-band{margin-top:-12px ;margin-bottom:9px }body.page-index .hero-title{margin-bottom:5px }body.page-index .hero-subtitle{margin-bottom:8px }body.page-index .hero-slim p{margin-bottom:5px ;line-height:1.36 }body.page-index .inner-grid,body.page-index .inner-grid.three,body.page-index .inner-grid.four{margin-top:8px ;gap:10px }body.page-index .inner-grid .inner-card:not(.subtheme-card){flex-basis:86% }body.page-index .inner-grid .subtheme-card{flex-basis:72% }body.page-index #column .card,body.page-index .report-section .card{flex-basis:86% }body.page-index .card .subline,body.page-index .inner-card .subline{margin-bottom:5px }}
@media (max-width: 760px){body.page-index .inner-grid .inner-card:not(.subtheme-card) h3{font-size:1.12rem ;line-height:1.24 ;margin-bottom:4px }body.page-index .inner-grid .inner-card:not(.subtheme-card) .subline{font-size:0.86rem ;line-height:1.25 ;margin-bottom:4px }body.page-index .inner-grid .inner-card:not(.subtheme-card) p{font-size:0.80rem ;line-height:1.36 }body.page-index .inner-grid .subtheme-card h3{font-size:0.88rem ;line-height:1.08 ;margin-bottom:0 ;text-align:left }body.page-index .inner-grid .subtheme-card .tag{font-size:0.58rem ;padding:2px 6px ;margin-bottom:4px ;line-height:1.1 }body.page-index .hero-subtitle{margin-bottom:3px ;line-height:1.22 }body.page-index .hero-subtitle+br{display:none }body.page-index .hero-slim>p:first-of-type{margin-top:0 }body.page-index .hero-slim p{margin-bottom:4px }body.page-index .footer-links{display:flex ;justify-content:center ;align-items:center ;gap:4px ;flex-wrap:nowrap ;white-space:nowrap ;overflow-x:auto ;font-size:0.76rem ;line-height:1.2 ;padding-top:10px ;margin:12px 0 6px }body.page-index .footer-links a{margin:0 ;padding:5px 7px ;border-radius:999px ;color:var(--sub);font-weight:700 ;text-decoration:none }body.page-index .footer-links a:hover{background:var(--soft);color:var(--accent-deep)}}
body.page-index .footer-links{display:flex ;justify-content:center ;align-items:center ;flex-wrap:wrap ;gap:4px ;text-align:center ;font-size:0.9rem ;line-height:1.4 ;margin:12px 0 6px ;padding-top:10px ;border-top:1px solid var(--line)}
body.page-index .footer-links a{margin:0 ;padding:2px 4px ;white-space:nowrap ;font-weight:700 ;text-decoration:none ;border-radius:4px }
@media (max-width: 640px){body.page-index .footer-links{gap:2px ;font-size:0.78rem ;line-height:1.35 ;margin:10px 0 4px ;padding-top:8px }body.page-index .footer-links a{padding:1px 3px }}
body.page-index .site-map .top-theme-row .plain-link,body.page-index .site-map .linked-row .plain-link,body.page-index .site-map .map-theme1 .plain-link,body.page-index .site-map .map-theme2 .plain-link,body.page-index .site-map .map-theme3 .plain-link,body.page-index .site-map .map-theme4 .plain-link,body.page-index .site-map .map-next-energy .plain-link,body.page-index .site-map .map-next-family .plain-link,body.page-index .site-map .map-next-election .plain-link,body.page-index .site-map .map-next-hard .plain-link{font-weight:700 }
body.page-index .site-map a{font-weight:400 }
body.page-index .site-map .map-cat{font-weight:700 }
body.page-index .site-map .map-row a:nth-of-type(1){font-weight:700 }
body.page-index .focus-gate,body.page-index .legacy-gate,body.page-index .practice-gate{background:linear-gradient(180deg,#fffdf8 0%,#fff4e8 100%);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:22px 24px 24px;margin:18px 0 10px;position:relative;overflow:hidden}
body.page-index .focus-gate::before,body.page-index .legacy-gate::before,body.page-index .practice-gate::before{content:"";position:absolute;left:0;top:0;bottom:0;width:10px;background:linear-gradient(180deg,#f0a295 0%,#c85f54 100%)}
body.page-index .focus-gate h2,body.page-index .legacy-gate h2,body.page-index .practice-gate h2{margin:0 0 10px;color:#a7473e;font-size:1.32rem;line-height:1.4;text-align:center}
body.page-index .focus-gate p,body.page-index .legacy-gate p,body.page-index .practice-gate p{margin:0 0 10px;color:var(--sub);line-height:1.75}
body.page-index .focus-gate .catch,body.page-index .legacy-gate .catch,body.page-index .practice-gate .catch{color:#a7473e;font-size:1.12rem;font-weight:700;text-align:center;line-height:1.7}
body.page-index .focus-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px;margin-top:14px}
body.page-index .focus-button{display:inline-flex;align-items:center;justify-content:center;min-width:180px;padding:11px 22px;border-radius:999px;background:linear-gradient(135deg,#4f82c7 0%,#3b66a4 100%);color:#fff;font-weight:700;line-height:1;box-shadow:0 8px 18px rgba(59,102,164,.25);transition:.18s ease}
body.page-index .focus-button:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(59,102,164,.32)}
body.page-index .focus-button.sub{background:linear-gradient(135deg,#4fa96f 0%,#4b89c6 100%)}
body.page-index .focus-button.gray{background:linear-gradient(135deg,#9a9287 0%,#6f6256 100%)}
body.page-index .read-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
body.page-index .read-flow .flow-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;box-shadow:0 5px 14px rgba(80,54,23,.05)}
body.page-index .read-flow .flow-card strong{display:block;color:#a7473e;margin-bottom:4px}
body.page-index .read-flow .flow-card span{display:block;color:var(--sub);font-size:.9rem;line-height:1.55}
@media(max-width:760px){body.page-index .focus-gate,body.page-index .legacy-gate,body.page-index .practice-gate{padding:18px 16px 18px 22px;margin:14px 0 8px}body.page-index .focus-gate h2,body.page-index .legacy-gate h2,body.page-index .practice-gate h2{font-size:1.05rem;text-align:left}body.page-index .focus-gate .catch,body.page-index .legacy-gate .catch,body.page-index .practice-gate .catch{text-align:left;font-size:.95rem}body.page-index .focus-button{min-width:0;width:100%;padding:10px 16px}body.page-index .read-flow{grid-template-columns:1fr}}
body.page-index .map-theme1 .plain-link:nth-of-type(7)::before{color:#3f9b68 }
body.page-index header .nav{display:flex;align-items:center;justify-content:space-between;flex-direction:row;gap:16px;}
body.page-index header .brand{font-size:0.98rem;font-weight:700;line-height:1.2;white-space:nowrap}
body.page-index header .nav-links{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:6px;overflow-x:auto}
body.page-index header .nav-links a{margin:0;padding:5px 8px;border-radius:999px;color:var(--sub);font-size:0.84rem;white-space:nowrap}
body.page-index header .nav-links a:hover{background:var(--soft);color:var(--accent-deep)}
@media(max-width:640px){body.page-index header .nav{gap:8px;}body.page-index header .brand{font-size:0.88rem}body.page-index header .nav-links{gap:2px}body.page-index header .nav-links a{font-size:0.72rem;padding:4px 5px}}
@media (max-width: 760px){body.page-index .card p,/* DISABLED FOR UNIFIED PARAGRAPH STYLE
body.page-index .inner-card p,body.page-index .subtheme-card p,body.page-index #column .card p,body.page-index .report-section .card p{display:block ;visibility:visible ;opacity:1 ;height:auto ;max-height:none ;overflow:visible ;font-size:0.78rem ;line-height:1.32 ;margin:4px 0 6px }
*/body.page-index .read-inline,body.page-index .detail-link-blue,body.page-index .detail-link-brown,body.page-index .card a,body.page-index .inner-card a{display:inline ;visibility:visible ;opacity:1 }body.page-index .card .tag,body.page-index .inner-card .tag{display:inline-block ;margin:0 0 5px 0 ;padding:2px 7px ;font-size:0.60rem ;line-height:1.15 ;vertical-align:baseline }body.page-index .card h3,body.page-index .inner-card h3,body.page-index .subtheme-card h3,body.page-index #column .card h3{display:block ;clear:both ;font-size:0.92rem ;line-height:1.12 ;margin:0 0 4px 0 ;padding:0 ;text-align:left }body.page-index .card .subline,body.page-index .inner-card .subline,body.page-index .subtheme-card .subline,body.page-index #column .card .subline{display:block ;clear:both ;font-size:0.78rem ;line-height:1.20 ;margin:2px 0 5px 0 ;text-align:left }body.page-index .inner-grid .subtheme-card{flex-basis:72% ;padding:13px 13px 13px 19px }body.page-index .inner-grid .subtheme-card .subline{display:block ;font-size:0.72rem ;line-height:1.18 ;margin:2px 0 4px }body.page-index .inner-grid .subtheme-card p{display:block ;font-size:0.70rem ;line-height:1.25 ;margin:3px 0 0 }}
@media (max-width: 640px){body.page-index .hero-title{line-height:1.18 ;margin-bottom:6px }body.page-index .hero-subtitle{line-height:1.18 ;margin-bottom:10px }}
@media (max-width: 760px){body.page-index .card .tag,body.page-index .inner-card .tag,body.page-index .linked-card .tag{display:block ;width:fit-content ;max-width:100% ;margin:0 0 5px 0 ;padding:2px 7px ;font-size:0.58rem ;line-height:1.1 ;border-radius:999px ;white-space:nowrap ;vertical-align:baseline }body.page-index .card h3,body.page-index .inner-card h3,body.page-index .subtheme-card h3,body.page-index #column .card h3{display:block ;clear:both ;font-size:0.88rem ;line-height:1.08 ;margin:0 0 4px 0 ;padding:0 ;text-align:left }body.page-index .card .subline,body.page-index .inner-card .subline,body.page-index .subtheme-card .subline,body.page-index #column .card .subline{display:block ;clear:both ;font-size:0.76rem ;line-height:1.16 ;margin:2px 0 5px 0 ;text-align:left }body.page-index .card p,/* DISABLED FOR UNIFIED PARAGRAPH STYLE
body.page-index .inner-card p,body.page-index .subtheme-card p,body.page-index #column .card p,body.page-index .report-section .card p{display:block ;visibility:visible ;opacity:1 ;height:auto ;max-height:none ;overflow:visible ;font-size:0.74rem ;line-height:1.28 ;margin:3px 0 6px }
*/body.page-index .read-inline,body.page-index .detail-link-blue,body.page-index .detail-link-brown{display:inline ;visibility:visible ;opacity:1 ;white-space:nowrap }body.page-index .inner-grid .subtheme-card{flex-basis:72% ;padding:12px 13px 12px 19px }body.page-index .inner-grid .subtheme-card .tag{font-size:0.54rem ;margin-bottom:4px }body.page-index .inner-grid .subtheme-card h3{font-size:0.76rem ;line-height:1.08 ;margin-bottom:3px }body.page-index .inner-grid .subtheme-card .subline{font-size:0.68rem ;line-height:1.14 ;margin-bottom:3px }body.page-index .inner-grid .subtheme-card p{font-size:0.66rem ;line-height:1.22 ;margin-top:2px }}
@media (max-width: 640px){body.page-index .hero-title{line-height:1.15 ;margin-bottom:6px }body.page-index .hero-subtitle{line-height:1.16 ;margin-bottom:10px }}
body.page-index .site-map .topic-row{width:min(100%,360px);max-width:360px;margin:0 0 10px 0 ;padding:0 ;border:5px solid #d84f2a ;border-radius:16px ;overflow:hidden ;background:#fff0e8 ;box-shadow:0 7px 16px rgba(216,79,42,.16);line-height:1.35 }
body.page-index .topic-band-mini{display:block;background:#d84f2a;color:#fff;font-weight:700;font-size:1.04rem;line-height:1.2;text-align:center;padding:7px 10px;letter-spacing:.04em}
body.page-index .topic-list-mini{display:block;padding:9px 12px 10px}
body.page-index .topic-item-mini{display:block;margin:0 0 8px;padding-bottom:7px;border-bottom:1px solid rgba(216,79,42,.22)}
body.page-index .topic-item-mini:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}
body.page-index .topic-title-mini{display:block;color:#7f2a18 ;font-weight:700;font-size:1.2rem;line-height:1.28;text-decoration:none }
body.page-index .topic-title-mini::before{content:"■";color:#d84f2a;margin-right:.25em;font-size:.82em}
body.page-index .topic-copy-mini{display:block;color:#6f3b2c;font-size:1.17rem;font-weight:700;line-height:1.35;margin-top:2px}
body.page-index .topic-read-mini{color:#c73512 ;font-weight:700;text-decoration:underline ;text-underline-offset:2px;white-space:nowrap}
body.page-index .topic-title-mini:hover,body.page-index .topic-read-mini:hover{background:#d84f2a;color:#fff }
body.page-index .site-map .topic-row::after{content:none ;display:none }
@media (max-width:760px){body.page-index .site-map .topic-row{flex:0 0 72% ;width:auto ;max-width:none ;margin:0 ;min-height:0 ;border-width:5px }body.page-index .topic-band-mini{font-size:.94rem ;padding:6px 8px }body.page-index .topic-list-mini{padding:8px 10px 9px }body.page-index .topic-title-mini{font-size:1.05rem ;line-height:1.26 }body.page-index .topic-copy-mini{font-size:.70rem ;line-height:1.3 }}
body.page-index #next-energy .co2-column-card{background:var(--card);border:1px solid var(--line);border-radius:22px ;padding:20px 20px 20px 24px ;box-shadow:var(--shadow)}
body.page-index #next-energy .co2-column-card::before{width:7px }
body.page-index #next-energy .co2-column-structure::before{background:linear-gradient(180deg,#bfc4ca 0%,#727c86 100%)}
body.page-index #next-energy .co2-column-perovskite::before{background:linear-gradient(180deg,#e5c56f 0%,#b78328 100%)}
body.page-index #next-energy .co2-column-card .tag{font-size:0.78rem ;padding:5px 9px ;margin-bottom:10px ;background:#f5f1eb ;color:#6e604d }
body.page-index #next-energy .co2-column-card h3{display:block ;font-size:1.18rem ;line-height:1.32 ;margin:0 0 8px ;text-align:center ;color:var(--text)}
body.page-index #next-energy .co2-column-card .subline{display:block ;color:#5f5b57 ;font-size:0.96rem ;line-height:1.35 ;margin:0 0 10px ;text-align:center ;font-weight:700 }
body.page-index #next-energy .co2-column-card p{color:var(--sub);margin:0 0 8px ;font-size:0.90rem ;line-height:1.38 }
@media (max-width: 640px){body.page-index #next-energy .co2-column-card{padding:14px 14px 14px 20px }body.page-index #next-energy .co2-column-card .tag{font-size:0.62rem ;padding:3px 7px ;margin:0 6px 6px 0 }body.page-index #next-energy .co2-column-card h3{display:inline ;font-size:0.92rem ;line-height:1.30 ;text-align:left }body.page-index #next-energy .co2-column-card .subline{clear:both ;font-size:0.78rem ;line-height:1.32 ;text-align:left ;margin-top:5px }body.page-index #next-energy .co2-column-card p{font-size:0.78rem ;line-height:1.34 }}
body.page-index .column-pair{grid-column:1 / -1;background:linear-gradient(180deg,#fffdf8 0%,#fff7ee 100%);border:2px solid #ead8c4;border-radius:24px;padding:18px;box-shadow:0 10px 28px rgba(80,54,23,0.08)}
body.page-index .column-pair-head{margin:0 0 14px;text-align:center}
body.page-index .column-pair-label{display:inline-block;padding:4px 12px;border-radius:999px;background:#f3ece3;color:#6f6256;font-size:0.78rem;font-weight:700;margin-bottom:8px}
body.page-index .column-pair-head h3{margin:0 0 4px;font-size:1.18rem;color:var(--text)}
body.page-index .column-pair-head p{margin:0;color:var(--sub);font-size:0.94rem;line-height:1.45}
body.page-index .column-pair-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
body.page-index .column-pair .card{box-shadow:0 6px 18px rgba(80,54,23,0.06)}
body.page-index .column-pair-purple{background:linear-gradient(180deg,#fcfbff 0%,#f3efff 100%);border-color:#d8d0ef}
body.page-index .column-pair-coral{background:linear-gradient(180deg,#fffafa 0%,#fff0ed 100%);border-color:#f1cbc6}
body.page-index .column-pair-green{background:linear-gradient(180deg,#fbfffc 0%,#eef8f1 100%);border-color:#cbe5d3}
body.page-index .election-card-green{background:linear-gradient(180deg,#fbfffc 0%,#edf8f2 100%);border:1px solid #cbe6d5}
body.page-index .election-card-green::before{background:linear-gradient(180deg,#9bd9b9 0%,#3f9b68 100%)}
body.page-index .election-card-green h3{color:#2f7650}
body.page-index .election-card-green .tag{background:#e8f6ee;color:#2f7650}
@media (max-width: 760px){body.page-index #column .column-pair{flex:0 0 88% ;scroll-snap-align:start ;padding:14px }body.page-index .column-pair-grid{display:flex ;gap:12px ;overflow-x:auto ;padding-bottom:8px ;scroll-snap-type:x mandatory }body.page-index .column-pair-grid .card{flex:0 0 86% ;scroll-snap-align:start }body.page-index .column-pair-head h3{font-size:1rem }body.page-index .column-pair-head p{font-size:0.78rem }}
body.page-index .column-pair-label{display:none }
body.page-index .column-pair-grid{display:grid ;grid-template-columns:1fr ;gap:14px ;overflow:visible }
body.page-index .column-pair-grid .card{width:100% ;max-width:none }
body.page-index #column .column-pair-grid .card{flex:none }
body.page-index .site-map .map-row{font-size:0.745rem ;line-height:1.42 }
body.page-index .site-map .top-theme-row{font-size:0.994rem ;line-height:1.48 }
body.page-index .site-map .topic-row,body.page-index .site-map .column-row,body.page-index .site-map .report-row{font-size:0.745rem }
@media (max-width: 760px){body.page-index .column-pair-grid{display:grid ;grid-template-columns:1fr ;gap:12px ;overflow:visible ;padding-bottom:0 }body.page-index .column-pair-grid .card{flex:none ;width:100% }body.page-index .site-map .map-row{font-size:0.74rem }body.page-index .site-map .top-theme-row{font-size:0.92rem }}

body.page-index .about-note{line-height:1.28 }

body.page-index header .nav-links a[href^="mailto:"]{display:none }
body.page-index .map-row.top-theme-row,body.page-index .map-row.map-theme1,body.page-index .map-row.map-theme2,body.page-index .map-row.map-theme3,body.page-index .map-row.map-theme4,body.page-index .map-row.map-next-energy,body.page-index .map-row.map-next-family,body.page-index .map-row.map-next-election,body.page-index .map-row.map-next-hard{font-size:0.994rem ;line-height:1.45 }
body.page-index .map-row.column-row,body.page-index .map-row.report-row{font-size:0.745rem ;line-height:1.42 }
body.page-index .koshitsu-pair .pair-grid,body.page-index .pair-grid{grid-template-columns:1fr }

body.page-index .site-map .map-row,body.page-index .text-nav .map-row{font-size:0.828rem ;line-height:1.35 ;font-weight:400 }
body.page-index .site-map .map-row>.map-cat,body.page-index .text-nav .map-row>.map-cat,body.page-index .site-map .map-row>.map-cat+.plain-link,body.page-index .text-nav .map-row>.map-cat+.plain-link{font-size:1.08rem ;line-height:1.35 ;font-weight:700 }
body.page-index .site-map .map-row>.map-title-break~.plain-link,body.page-index .text-nav .map-row>.map-title-break~.plain-link{font-size:0.828rem ;line-height:1.35 ;font-weight:400 }
body.page-index .site-map .column-row>.map-cat,body.page-index .text-nav .column-row>.map-cat,body.page-index .site-map .report-row>.map-cat,body.page-index .text-nav .report-row>.map-cat{font-size:0.95rem }
@media (max-width: 760px){body.page-index .site-map .map-row,body.page-index .text-nav .map-row{font-size:0.702rem ;line-height:1.22 }body.page-index .site-map .map-row>.map-cat,body.page-index .text-nav .map-row>.map-cat,body.page-index .site-map .map-row>.map-cat+.plain-link,body.page-index .text-nav .map-row>.map-cat+.plain-link{font-size:0.86rem ;line-height:1.25 ;font-weight:700 }body.page-index .site-map .map-row>.map-title-break~.plain-link,body.page-index .text-nav .map-row>.map-title-break~.plain-link{font-size:0.702rem ;line-height:1.22 ;font-weight:400 }body.page-index .site-map .column-row>.map-cat,body.page-index .text-nav .column-row>.map-cat,body.page-index .site-map .report-row>.map-cat,body.page-index .text-nav .report-row>.map-cat{font-size:0.76rem }}
body.page-index .site-map .column-row>.map-cat+.plain-link,body.page-index .text-nav .column-row>.map-cat+.plain-link,body.page-index .site-map .report-row>.map-cat+.plain-link,body.page-index .text-nav .report-row>.map-cat+.plain-link{font-size:0.828rem ;line-height:1.35 ;font-weight:400 }
@media (max-width: 760px){body.page-index .site-map .column-row>.map-cat+.plain-link,body.page-index .text-nav .column-row>.map-cat+.plain-link,body.page-index .site-map .report-row>.map-cat+.plain-link,body.page-index .text-nav .report-row>.map-cat+.plain-link{font-size:0.702rem ;line-height:1.22 ;font-weight:400 }}
body.page-index .site-map .column-row .plain-link,body.page-index .text-nav .column-row .plain-link,body.page-index .site-map .column-row>.map-cat,body.page-index .text-nav .column-row>.map-cat,body.page-index .site-map .column-row>.map-cat+.plain-link,body.page-index .text-nav .column-row>.map-cat+.plain-link{font-weight:400 }
@media (max-width: 760px){body.page-index .site-map .column-row .plain-link,body.page-index .text-nav .column-row .plain-link,body.page-index .site-map .column-row>.map-cat,body.page-index .text-nav .column-row>.map-cat,body.page-index .site-map .column-row>.map-cat+.plain-link,body.page-index .text-nav .column-row>.map-cat+.plain-link{font-weight:400 }}
body.page-index .site-map .map-row:not(.column-row):not(.report-row){line-height:2.025 }
body.page-index .site-map .column-row,body.page-index .site-map .report-row{line-height:1.35 }
@media (max-width: 760px){body.page-index .site-map .map-row:not(.column-row):not(.report-row){line-height:2.25 }body.page-index .site-map .column-row,body.page-index .site-map .report-row{line-height:1.5 }}
body.page-index .site-map .topic-row{width:min(100%,320px);max-width:320px ;margin:0 0 8px 0 ;border-width:4px ;border-radius:14px ;line-height:1.18 }
body.page-index .topic-band-mini{font-size:.96rem ;line-height:1.12 ;padding:5px 9px }
body.page-index .topic-list-mini{padding:7px 10px 8px }
body.page-index .topic-item-mini{margin:0 0 5px ;padding-bottom:5px }
body.page-index .topic-title-mini{text-decoration:underline ;text-underline-offset:2px ;font-size:1.08rem ;line-height:1.16 }
body.page-index .topic-copy-mini{font-size:.72rem ;line-height:1.15 ;margin-top:1px }
body.page-index .topic-list-mini>div{margin-top:2px ;font-size:.68rem ;line-height:.92 }
body.page-index .topic-list-mini>div a{line-height:.92 }
@media (max-width:760px){body.page-index .site-map .topic-row{flex:0 0 64% ;width:auto ;max-width:none ;border-width:4px }body.page-index .topic-band-mini{font-size:.86rem ;padding:5px 7px }body.page-index .topic-list-mini{padding:6px 8px 7px }body.page-index .topic-title-mini{font-size:.94rem ;line-height:1.14 }body.page-index .topic-copy-mini{font-size:.64rem ;line-height:1.12 }body.page-index .topic-list-mini>div{font-size:.60rem ;line-height:.88 }}
body.page-index .site-map .topic-row{width:min(100%,330px);max-width:330px ;border-width:4px ;line-height:1.18 }
body.page-index .topic-band-mini{font-size:0.98rem ;line-height:1.12 ;padding:5px 9px }
body.page-index .topic-title-mini{font-size:1.08rem ;line-height:1.16 ;text-decoration:underline ;text-underline-offset:2px }
body.page-index .topic-copy-mini{font-size:0.72rem ;line-height:1.12 ;margin-top:1px }
body.page-index .topic-sub-mini{line-height:0.88 ;margin-top:3px }
body.page-index .topic-sub-mini a{line-height:0.88 }
@media (max-width:760px){body.page-index .site-map .topic-row{flex:0 0 66% ;width:auto ;max-width:none ;line-height:1.08 }body.page-index .topic-band-mini{font-size:0.86rem ;padding:4px 7px }body.page-index .topic-list-mini{padding:6px 8px 7px }body.page-index .topic-title-mini{font-size:0.94rem ;line-height:1.08 }body.page-index .topic-copy-mini{font-size:0.64rem ;line-height:1.08 }body.page-index .topic-sub-mini{font-size:0.66rem ;line-height:0.82 }}
body.page-index .co2-main-compact{line-height:1.35 }
body.page-index .co2-main-compact .plain-link{line-height:1.35 }
@media (max-width:760px){body.page-index .site-map .map-row.co2-main-compact{line-height:1.18 }body.page-index .site-map .map-row.co2-main-compact .plain-link{line-height:1.18 }}
body.page-index .theme3-story-block{margin-top:26px;padding:22px 20px 24px;border-radius:22px;background:linear-gradient(180deg,#fff0dd 0%,#ffdcb8 100%);border:4px solid #e8893c;box-shadow:0 12px 30px rgba(232,137,60,0.18)}
body.page-index .theme3-story-title{margin:0 0 7px;color:#a95f1f;font-size:1.14rem;font-weight:700;text-align:center}
body.page-index .theme3-story-lead{margin:0 0 16px ;color:#5a4635;font-size:0.98rem ;font-weight:700;line-height:1.5 ;text-align:center}
body.page-index .theme3-story-grid{margin-top:14px}
body.page-index .theme3-story-grid .inner-card{background:linear-gradient(180deg,#fffdf9 0%,#fff3e6 100%);border:1px solid #efbd8d ;box-shadow:0 7px 18px rgba(170,90,30,0.10)}
body.page-index .theme3-story-grid .inner-card::before{width:10px;background:linear-gradient(180deg,#f2b37a 0%,#e8893c 100%)}
body.page-index .story-card-1::before,body.page-index .story-card-2::before,body.page-index .story-card-3::before,body.page-index .story-card-4::before{background:linear-gradient(180deg,#f2b37a 0%,#e8893c 100%)}
body.page-index .story-card-1 h3,body.page-index .story-card-2 h3,body.page-index .story-card-3 h3,body.page-index .story-card-4 h3,body.page-index .theme3-story-grid .inner-card h3{color:#a95f1f }
body.page-index .theme3-story-grid .inner-card .subline{color:#7a4b25 ;font-weight:700 }
body.page-index .theme3-story-grid .inner-card p{color:#4f3f32 ;font-weight:500 ;line-height:1.48 }
body.page-index .theme3-story-grid .tag{background:#fff0e0 ;color:#b35a1f }
body.page-index .theme3-story-grid .detail-link-blue{color:#a95f1f }
body.page-index .theme3-story-grid .detail-link-blue:hover{color:#ffffff ;background:#a95f1f }
@media (max-width: 760px){body.page-index .theme3-story-block{margin-top:18px;padding:16px 12px 18px;border-width:3px}body.page-index .theme3-story-title{text-align:left;font-size:0.98rem}body.page-index .theme3-story-lead{text-align:left;font-size:0.8rem ;line-height:1.42 }}
body.page-index .story-block .tag::before{content:"■ "}
body.page-index .story-block .tag{display:block ;text-align:left }
body.page-index .preface-gate-section{padding:22px 0 12px}
body.page-index .preface-gate{position:relative;overflow:hidden;background:radial-gradient(circle at 18% 10%,rgba(255,255,255,0.22)0%,rgba(255,255,255,0.06)32%,rgba(255,255,255,0)58%),linear-gradient(135deg,#17385f 0%,#1e684f 58%,#8a5a20 100%);border:0;border-radius:26px;box-shadow:0 18px 42px rgba(28,55,77,0.24);padding:0 26px 26px}
body.page-index .preface-gate::before{content:"";position:absolute;inset:10px;border:1px solid rgba(255,255,255,0.24);border-radius:20px;pointer-events:none}
body.page-index .preface-gate-band{position:relative;margin:0 -26px 20px;padding:9px 16px;background:rgba(255,255,255,0.16);color:#ffffff;text-align:center;font-size:1.02rem;font-weight:700;letter-spacing:0.08em;border-bottom:1px solid rgba(255,255,255,0.18)}
body.page-index .preface-gate h1{position:relative;margin:0 0 10px;color:#ffffff;font-size:1.86rem;line-height:1.34;text-align:center;text-shadow:0 2px 10px rgba(0,0,0,0.18)}
body.page-index .preface-gate .preface-sub{position:relative;margin:0 auto 14px;max-width:880px;color:rgba(255,255,255,0.94);font-size:1.06rem;font-weight:700;line-height:1.58;text-align:center}
body.page-index .preface-gate .preface-body{position:relative;margin:0 auto 18px;max-width:900px;color:rgba(255,255,255,0.88);font-size:0.99rem;line-height:1.75}
body.page-index .preface-gate .preface-body p{margin:0 0 8px}
body.page-index .preface-main-link-wrap{position:relative;text-align:center;margin:17px 0 19px}
body.page-index .preface-main-link{display:inline-block;padding:11px 23px;border-radius:999px;background:#ffffff;color:#17385f ;font-weight:700;box-shadow:0 10px 22px rgba(0,0,0,0.18);transition:.18s ease}
body.page-index .preface-main-link:hover{transform:translateY(-2px);color:#ffffff ;background:#1a3d8f;box-shadow:0 14px 28px rgba(0,0,0,0.24)}
body.page-index .preface-story-grid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
body.page-index .preface-story-card{display:block;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,0.86);border-radius:18px;padding:15px 15px 16px;color:inherit;box-shadow:0 8px 20px rgba(0,0,0,0.12);transition:.18s ease}
body.page-index .preface-story-card:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(0,0,0,.18)}
body.page-index .preface-story-card .story-no{display:inline-block;margin-bottom:7px;padding:3px 9px;border-radius:999px;background:#eef5ff;color:#17385f;font-size:.68rem;font-weight:700}
body.page-index .preface-story-card h3{margin:0 0 5px;color:#17385f;font-size:1rem;line-height:1.35}
body.page-index .preface-story-card p{margin:0;color:#5f625f;font-size:.86rem;line-height:1.45}
body.page-index .site-map .intro-row .map-cat{background:#17385f }
body.page-index .site-map .intro-row .plain-link::before{color:#1e684f }
@media (max-width: 760px){body.page-index .preface-gate-section{padding:14px 0 8px}body.page-index .preface-gate{padding:0 15px 18px;border-radius:20px}body.page-index .preface-gate::before{inset:7px;border-radius:16px}body.page-index .preface-gate-band{margin:0 -15px 14px;font-size:.84rem;padding:7px 10px}body.page-index .preface-gate h1{font-size:1.25rem;text-align:left}body.page-index .preface-gate .preface-sub{font-size:.86rem;line-height:1.45;text-align:left}body.page-index .preface-gate .preface-body{font-size:.78rem;line-height:1.52}body.page-index .preface-main-link{padding:9px 16px;font-size:.82rem}body.page-index .preface-story-grid{display:flex;overflow-x:auto;gap:10px;padding-bottom:8px;scroll-snap-type:x mandatory}body.page-index .preface-story-card{flex:0 0 78%;scroll-snap-align:start;padding:13px}body.page-index .preface-story-card h3{font-size:.9rem}body.page-index .preface-story-card p{font-size:.74rem}}
body.page-index .site-map .topic-row{margin-left:16px ;margin-right:16px }
body.page-index .topic-band-mini{font-size:75% }
@media (max-width:760px){body.page-index .site-map .topic-row{margin-left:10px ;margin-right:10px }}
body.page-index .theme3-story-block{position:relative ;overflow:hidden ;background:radial-gradient(circle at 18% 10%,rgba(255,255,255,0.22)0%,rgba(255,255,255,0.06)32%,rgba(255,255,255,0)58%),linear-gradient(135deg,#17385f 0%,#1e684f 58%,#8a5a20 100%);border:0 ;border-radius:26px ;box-shadow:0 18px 42px rgba(28,55,77,0.24);padding:0 26px 26px ;margin-top:26px }
body.page-index .theme3-story-block::before{content:"";position:absolute;inset:10px;border:1px solid rgba(255,255,255,0.24);border-radius:20px;pointer-events:none}
body.page-index .theme3-story-title{position:relative ;margin:0 -26px 20px ;padding:9px 16px ;background:rgba(255,255,255,0.16);color:#ffffff ;text-align:center ;font-size:1.02rem ;font-weight:700 ;letter-spacing:0.08em ;border-bottom:1px solid rgba(255,255,255,0.18)}
body.page-index .theme3-story-lead{position:relative ;margin:0 auto 18px ;max-width:900px ;color:rgba(255,255,255,0.90);font-size:0.99rem ;font-weight:700 ;line-height:1.72 ;text-align:center }
body.page-index .theme3-story-grid{position:relative ;display:grid ;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px ;margin-top:14px }
body.page-index .theme3-story-grid .inner-card{background:rgba(255,255,255,0.94);border:1px solid rgba(255,255,255,0.52);border-radius:18px ;padding:16px 16px 16px 22px ;box-shadow:0 10px 24px rgba(15,35,55,0.13)}
body.page-index .theme3-story-grid .inner-card::before{width:7px ;background:linear-gradient(180deg,#6f90aa 0%,#2f7d64 55%,#9b6a24 100%)}
body.page-index .theme3-story-grid .tag{background:#eef3f7 ;color:#365c77 }
body.page-index .theme3-story-grid .inner-card h3{color:#224e6e ;font-weight:700 }
body.page-index .theme3-story-grid .inner-card .subline{color:#405b67 ;font-weight:700 }
body.page-index .theme3-story-grid .inner-card p{color:#4f5f66 ;font-weight:600 ;line-height:1.52 }
body.page-index .theme3-story-grid .detail-link-blue{color:#1a3d8f }
body.page-index .theme3-story-grid .detail-link-blue:hover{background:#1a3d8f ;color:#ffffff }
@media(max-width:760px){body.page-index .theme3-story-block{border-radius:20px ;padding:0 16px 18px }body.page-index .theme3-story-title{margin:0 -16px 14px ;text-align:left ;font-size:0.92rem ;letter-spacing:0.04em }body.page-index .theme3-story-lead{text-align:left ;font-size:0.84rem ;line-height:1.55 }body.page-index .theme3-story-grid{display:flex ;overflow-x:auto ;gap:10px ;padding-bottom:8px ;scroll-snap-type:x mandatory ;-webkit-overflow-scrolling:touch }body.page-index .theme3-story-grid .inner-card{flex:0 0 78% ;scroll-snap-align:start }}
body.page-index .theme3-story-block,body.page-index .theme3-story-block *,body.page-index .theme3-story-panel,body.page-index .theme3-story-panel *,body.page-index .theme300-story-panel,body.page-index .theme300-story-panel *,body.page-index .tokyo-story-gate,body.page-index .tokyo-story-gate *{font-size:85% }
body.page-index .theme3-story-block p,body.page-index .theme3-story-panel p,body.page-index .theme300-story-panel p,body.page-index .tokyo-story-gate p,body.page-index .theme3-story-block .subline,body.page-index .theme3-story-panel .subline,body.page-index .theme300-story-panel .subline,body.page-index .tokyo-story-gate .subline{font-weight:400 }
body.page-index .preface-story-grid{display:grid ;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px }
body.page-index .preface-story-card h3{font-size:0.96rem ;line-height:1.42 }
body.page-index .preface-story-card p{font-size:0.82rem ;line-height:1.5 }
body.page-index .theme3-story-grid.inner-grid,body.page-index .theme3-story-grid{display:grid ;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px ;overflow:visible }
body.page-index .theme3-story-grid .inner-card{min-width:0 ;padding:16px 15px 16px 22px }
body.page-index .theme3-story-grid .inner-card h3{display:block ;font-size:0.98rem ;line-height:1.42 ;margin:0 0 7px ;text-align:left }
body.page-index .theme3-story-grid .inner-card .subline{display:block ;font-size:0.84rem ;line-height:1.45 ;margin-bottom:8px }
body.page-index .theme3-story-grid .inner-card p{font-size:0.80rem ;line-height:1.48 ;font-weight:400 }
body.page-index .theme3-story-grid .inner-card .tag{color:#ffffff ;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.38)}
@media(max-width:980px){body.page-index .preface-story-grid,body.page-index .theme3-story-grid.inner-grid,body.page-index .theme3-story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){body.page-index .preface-story-grid,body.page-index .theme3-story-grid.inner-grid,body.page-index .theme3-story-grid{display:flex ;overflow-x:auto ;gap:10px ;padding-bottom:8px }body.page-index .preface-story-card,body.page-index .theme3-story-grid .inner-card{flex:0 0 78% }}
@media (min-width: 981px){body.page-index .story-gate-panel .inner-grid.four,body.page-index .theme3-story-block .inner-grid.four,body.page-index .theme3-story-grid.inner-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}}
body.page-index .topic-copy-mini{font-size:0.828rem ;line-height:1.35 ;font-weight:400 }
body.page-index .topic-title-mini{font-size:1.05rem ;line-height:1.32 }
@media (max-width:760px){body.page-index .topic-copy-mini{font-size:0.702rem ;line-height:1.22 }body.page-index .topic-title-mini{font-size:0.88rem ;line-height:1.22 }}
body.page-index .theme-card-125{background:linear-gradient(180deg,#f8fffe 0%,#eefaf8 100%);border:1px solid #c9e8e1 ;box-shadow:0 6px 18px rgba(63,158,150,0.08)}
body.page-index .theme-card-125::before{background:linear-gradient(180deg,#99d8cf 0%,#3f9e96 100%)}
body.page-index .theme-card-125 h3{color:#2f7f78 }
body.page-index .theme-card-125 .subline{color:#486f6b }
body.page-index .theme-card-125 .tag{background:#e8f7f5 ;color:#2f7f78 }
body.page-index .hero-slim,body.page-index .hero-slim.hero-part2,body.page-index .hero-slim.hero-part3,body.page-index .hero-slim.hero-part6{border-width:2px }
body.page-index .hero-slim:not(.hero-part4):not(.hero-part5):not(.hero-election):not(.hero-hard) .hero-band{min-height:150px ;padding:26px 22px ;margin-bottom:20px ;display:flex ;flex-direction:column ;align-items:center ;justify-content:center ;text-align:center ;color:#ffffff }
body.page-index .hero-band-label{display:block ;margin-bottom:9px ;font-size:1.02rem ;line-height:1.3 ;font-weight:700 ;color:rgba(255,255,255,0.92)}
body.page-index .hero-slim:not(.hero-part4):not(.hero-part5):not(.hero-election):not(.hero-hard) .hero-band .hero-title{margin:0 0 10px ;font-size:2.34rem ;line-height:1.38 ;font-weight:700 ;color:#ffffff ;text-shadow:0 2px 10px rgba(0,0,0,0.20)}
body.page-index .hero-slim:not(.hero-part4):not(.hero-part5):not(.hero-election):not(.hero-hard) .hero-band .hero-subtitle{margin:0 ;font-size:1.48rem ;line-height:1.34 ;font-weight:700 ;color:rgba(255,255,255,0.94);text-shadow:0 2px 10px rgba(0,0,0,0.16)}
body.page-index .hero-slim:not(.hero-part2):not(.hero-part3):not(.hero-part4):not(.hero-part5):not(.hero-part6):not(.hero-election):not(.hero-hard) .hero-band{background:linear-gradient(135deg,#2a5a98 0%,#3d72b5 42%,#f4f8fd 100%)}
body.page-index .hero-slim.hero-part2 .hero-band{background:linear-gradient(135deg,#b95f1f 0%,#d97b31 44%,#fff7ef 100%)}
body.page-index .hero-slim.hero-part3 .hero-band{background:linear-gradient(135deg,#2f6c58 0%,#4cae75 44%,#f3fbf6 100%)}
body.page-index .hero-slim.hero-part6 .hero-band{background:linear-gradient(135deg,#2f2c27 0%,#5b554c 44%,#f5f2ec 100%)}
body.page-index .hero-slim.hero-part4 .hero-band{background:linear-gradient(135deg,#8f355c 0%,#b94b7b 42%,#d986aa 76%,#efc0d3 100%);color:#ffffff ;text-shadow:0 1px 7px rgba(0,0,0,0.14)}
body.page-index .hero-slim.hero-part5 .hero-band{background:linear-gradient(135deg,#7f2f1f 0%,#b84f2f 38%,#d97d52 72%,#f0b28b 100%);color:#ffffff ;text-shadow:0 1px 7px rgba(0,0,0,0.14)}
body.page-index .hero-election .hero-band{background:linear-gradient(135deg,#315f9c 0%,#4f82c7 50%,#8fb7ef 100%);color:#ffffff ;text-shadow:0 1px 7px rgba(0,0,0,0.14)}
body.page-index .hero-hard .hero-band{background:linear-gradient(135deg,#5d4c36 0%,#6e5c43 50%,#9a8464 100%);color:#ffffff ;text-shadow:0 1px 7px rgba(0,0,0,0.14)}
body.page-index .hero-slim.hero-part4 .hero-band,body.page-index .hero-slim.hero-part5 .hero-band,body.page-index .hero-election .hero-band,body.page-index .hero-hard .hero-band{min-height:auto ;padding:6px 16px ;font-size:0.95rem ;font-weight:700 }
@media (max-width: 640px){body.page-index .hero-slim:not(.hero-part4):not(.hero-part5):not(.hero-election):not(.hero-hard) .hero-band{min-height:112px ;padding:20px 14px }body.page-index .hero-band-label{font-size:0.86rem ;margin-bottom:7px }body.page-index .hero-slim:not(.hero-part4):not(.hero-part5):not(.hero-election):not(.hero-hard) .hero-band .hero-title{font-size:1.38rem ;line-height:1.32 }body.page-index .hero-slim:not(.hero-part4):not(.hero-part5):not(.hero-election):not(.hero-hard) .hero-band .hero-subtitle{font-size:1.12rem ;line-height:1.34 }}
body.page-index .map-row.column-row .map-cat,body.page-index .text-nav .column-row .map-cat,body.page-index .site-map .column-row .map-cat{background:#8c8c8c ;color:#ffffff ;text-decoration:none ;transition:.18s ease}
body.page-index .map-row.column-row .map-cat:hover,body.page-index .text-nav .column-row .map-cat:hover,body.page-index .site-map .column-row .map-cat:hover{background:#1a3d8f ;color:#ffffff ;filter:brightness(1.05)}
body.page-index .map-row.report-row .map-cat,body.page-index .text-nav .report-row .map-cat,body.page-index .site-map .report-row .map-cat{background:#8c8c8c ;color:#ffffff ;text-decoration:none ;transition:.18s ease}
body.page-index .map-row.report-row .map-cat:hover,body.page-index .text-nav .report-row .map-cat:hover,body.page-index .site-map .report-row .map-cat:hover{background:#1a3d8f ;color:#ffffff ;filter:brightness(1.05)}
body.page-index .family-grid-2x2{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
@media (max-width: 900px){body.page-index .family-grid-2x2{grid-template-columns:1fr }}
body.page-index .stripe-family-report{--stripe-a:#f49ac0;--stripe-b:#c84f87}
body.page-index .stripe-family-report h3{color:#b94378 }
body.page-index .stripe-family-report .tag{background:#fde8f1 ;color:#9c3f6a }
body.page-index .stripe-family-report .subline{color:#8f4a67 }
body.page-index .report-row .plain-link:nth-of-type(3)::before{color:#e46a9c }
body.theme-page *{box-sizing:border-box}
body.theme-page{margin:0;font-family:"Hiragino Sans","Yu Gothic","Meiryo",sans-serif;color:var(--text);background:linear-gradient(180deg,#fffaf4 0%,#fff6ee 100%);line-height:1.9}
body.theme-page a{color:inherit;text-decoration:none}
body.theme-page .wrap{width:min(var(--max),calc(100% - 32px));margin:0 auto}
body.theme-page header{position:sticky;top:0;z-index:20;background:rgba(255,250,244,.92);backdrop-filter:blur(10px);border-bottom:1px solid rgba(234,216,196,.75)}
body.theme-page .nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0}
body.theme-page .brand{font-weight:700;line-height:1.2}
body.page-theme100 .nav-links,body.page-theme110 .nav-links,body.page-theme120 .nav-links,body.page-theme125 .nav-links,body.page-theme130 .nav-links,body.page-theme140 .nav-links{display:flex;flex-wrap:wrap;gap:10px;align-items:center}body.page-theme150 .nav-links{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
body.page-theme100 .nav-links a,body.page-theme110 .nav-links a,body.page-theme120 .nav-links a,body.page-theme125 .nav-links a,body.page-theme130 .nav-links a,body.page-theme140 .nav-links a{padding:8px 12px;border-radius:999px;color:var(--sub);font-size:.92rem}body.page-theme150 .nav-links a{padding:8px 10px;border-radius:999px;color:var(--sub);font-size:.82rem;white-space:nowrap}
body.theme-page .nav-links a:hover{background:#fff1df;color:var(--accent-deep)}
body.theme-page h1,body.theme-page h2,body.theme-page h3{line-height:1.35;margin:0}
body.theme-page .hero{padding:18px 0 14px}
body.page-theme100 .hero-box,body.page-theme110 .hero-box,body.page-theme120 .hero-box,body.page-theme125 .hero-box,body.page-theme130 .hero-box,body.page-theme140 .hero-box,body.page-theme150 .hero-box{background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:24px 24px 22px 28px;position:relative;overflow:hidden}body.page-theme100 .hero-box{padding-top:20px ;padding-bottom:20px }
body.theme-page .hero-box::before{content:"";position:absolute;left:0;top:0;bottom:0;width:12px;background:linear-gradient(180deg,var(--stripe-a),var(--stripe-b))}
body.theme-page .tag{display:inline-block;font-size:.8rem;font-weight:700;color:#6e604d;background:#f5f1eb;padding:6px 10px;border-radius:999px;margin-bottom:12px}
body.page-theme100 h1{font-size:2rem;margin-bottom:8px;text-align:center;color:#2f4f75}body.page-theme110 h1,body.page-theme120 h1,body.page-theme125 h1,body.page-theme130 h1,body.page-theme140 h1{font-size:2rem;margin-bottom:8px;text-align:center}body.page-theme150 h1{font-size:2rem;margin-bottom:8px;text-align:center;color:var(--accent-deep)}
body.page-theme100 .subline,body.page-theme110 .subline,body.page-theme120 .subline,body.page-theme125 .subline,body.page-theme130 .subline,body.page-theme140 .subline{display:block;color:#5f5b57;font-size:1.04rem;font-weight:700;margin-bottom:18px;text-align:center}body.page-theme100 .subline{margin-bottom:9px }body.page-theme150 .subline{display:block;color:#5f5b57;font-size:1.04rem;font-weight:700;margin-bottom:12px;text-align:center}
body.page-theme100 .lead,body.page-theme110 .lead,body.page-theme120 .lead,body.page-theme125 .lead,body.page-theme130 .lead,body.page-theme140 .lead{color:var(--sub);margin:0;font-size:1rem;line-height:1.9}body.page-theme150 .lead{color:var(--sub);margin:0;font-size:1rem;line-height:1.75}
body.theme-page section{padding:12px 0}
body.theme-page .panel{position:relative;background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px 22px 22px 28px;margin-top:18px;box-shadow:var(--shadow);overflow:hidden}
body.theme-page .panel::before{content:"";position:absolute;left:0;top:0;bottom:0;width:8px;background:linear-gradient(180deg,var(--stripe-a),var(--stripe-b))}
body.page-theme100 .panel h2{font-size:1.34rem;color:var(--accent-deep);margin:18px 0 10px}body.page-theme100 .panel h2{margin-bottom:8px }body.page-theme110 .panel h2,body.page-theme120 .panel h2,body.page-theme125 .panel h2,body.page-theme130 .panel h2,body.page-theme140 .panel h2{font-size:1.34rem;color:var(--accent-deep);margin:22px 0 10px}body.page-theme150 .panel h2{font-size:1.34rem;color:var(--accent-deep);margin:20px 0 8px}
body.theme-page .panel h2:first-child{margin-top:0}
body.page-theme100 .panel p,body.page-theme120 .panel p,body.page-theme125 .panel p,body.page-theme130 .panel p,body.page-theme140 .panel p{color:var(--sub);margin:0 0 12px;font-size:1.05rem}body.page-theme100 .panel p{line-height:1.58 }body.page-theme110 .panel p{color:var(--sub);margin:0 0 12px;font-size:1.05rem;line-height:1.72}body.page-theme150 .panel p{color:var(--sub);margin:0 0 12px;font-size:1.05rem;line-height:1.62}
body.theme-page .panel p:last-child{margin-bottom:0}
body.page-theme100 .quote{background:var(--soft);border:1px solid #dce7f6;border-radius:18px;padding:16px 18px;font-weight:700;color:var(--accent-deep);margin:16px 0;font-size:1.18rem;line-height:1.75}body.page-theme100 .quote,body.page-theme130 .quote,body.page-theme140 .quote{line-height:1.55 }body.page-theme110 .quote,body.page-theme130 .quote,body.page-theme140 .quote{background:var(--soft);border:1px solid color-mix(in srgb,var(--accent)22%,#fff);border-radius:18px;padding:16px 18px;font-weight:700;color:var(--accent-deep);margin:16px 0;font-size:1.18rem;line-height:1.75}body.page-theme120 .quote,body.page-theme125 .quote{background:var(--soft);border:1px solid color-mix(in srgb,var(--accent)22%,#fff);border-radius:18px;padding:16px 18px;font-weight:700;color:var(--accent-deep);margin:16px 0;font-size:1.12rem;line-height:1.75}body.page-theme150 .quote{background:var(--soft);border:1px solid color-mix(in srgb,var(--accent)22%,#fff);border-radius:18px;padding:16px 18px;font-weight:700;color:var(--accent-deep);margin:16px 0;font-size:1.14rem;line-height:1.6}
body.theme-page .card-section{margin-top:22px}
body.theme-page .card-title{font-size:1.15rem;text-align:left;color:var(--text);margin:0 0 12px}
body.theme-page .card-title::before{content:"■";color:var(--accent-deep);margin-right:.25em}
body.page-theme100 .card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}body.page-theme110 .card-grid,body.page-theme130 .card-grid,body.page-theme140 .card-grid,body.page-theme150 .card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}
body.page-theme100 .related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}body.page-theme110 .related-grid,body.page-theme120 .related-grid,body.page-theme125 .related-grid,body.page-theme130 .related-grid,body.page-theme140 .related-grid,body.page-theme150 .related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
body.theme-page .mini-card,body.theme-page .related-card{display:block;position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 18px 16px 22px;box-shadow:0 6px 18px rgba(80,54,23,.06);overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
body.theme-page .mini-card::before,body.theme-page .related-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:7px;background:linear-gradient(180deg,var(--rc-a,var(--stripe-a)),var(--rc-b,var(--stripe-b)))}
body.page-theme100 .mini-card:hover,body.page-theme100 .related-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px rgba(50,50,50,.22);filter:brightness(1.01)}body.page-theme100 .mini-card:hover,body.page-theme100 .related-card:hover{transform:none ;box-shadow:0 6px 18px rgba(80,54,23,.06);filter:none ;background:#fff }
body.page-theme100 .mini-card strong,body.page-theme100 .related-card strong{display:block;color:var(--accent-deep);font-size:1rem;line-height:1.45;margin-bottom:5px}body.page-theme100 .mini-card strong,body.page-theme100 .related-card strong{line-height:1.28 ;margin-bottom:4px }
body.page-theme100 .mini-card span,body.page-theme100 .related-card span{display:block;color:var(--sub);font-size:.9rem;line-height:1.58}body.page-theme100 .mini-card span,body.page-theme100 .related-card span{line-height:1.38 }
body.theme-page .rc-green{--rc-a:#9ed7b1;--rc-b:#4f9f70}
body.theme-page .rc-teal{--rc-a:#a8dbe3;--rc-b:#61aebd}
body.theme-page .rc-sky{--rc-a:#a8d4f3;--rc-b:#4a9fd6}
body.theme-page .rc-lavender{--rc-a:#c8c8ee;--rc-b:#8e91d6}
body.theme-page .rc-aqua{--rc-a:#99d8cf;--rc-b:#3f9e96}
body.theme-page 
body.page-theme100 body.page-theme110 body.page-theme100 .footer-links,body.page-theme130 .footer-links,body.page-theme140 .footer-links{display:flex ;justify-content:center ;align-items:center ;flex-wrap:wrap ;gap:4px ;text-align:center ;font-size:0.9rem ;line-height:1.4 ;margin:12px 0 6px ;padding-top:10px ;border-top:1px solid var(--line)}body.page-theme110 .footer-links{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:4px;text-align:center;font-size:.9rem;line-height:1.4;margin:12px 0 6px;padding-top:10px;border-top:1px solid var(--line)}body.page-theme150 .footer-links{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:4px;text-align:center;color:var(--sub);font-size:.9rem;line-height:1.4;margin:12px 0 6px;padding-top:10px;border-top:1px solid var(--line)}
body.page-theme100 .footer-links a{margin:0 6px;color:var(--accent-deep);font-weight:700}body.page-theme100 .footer-links a{margin:0 ;padding:2px 4px ;white-space:nowrap ;font-weight:700 ;text-decoration:none ;border-radius:4px ;color:var(--accent-deep)}body.page-theme110 .footer-links a,body.page-theme120 .footer-links a,body.page-theme125 .footer-links a,body.page-theme130 .footer-links a,body.page-theme140 .footer-links a{margin:0 6px;color:var(--accent-deep);font-weight:700;padding:2px 4px;border-radius:4px;transition:.18s ease}body.page-theme110 .footer-links a{margin:0;padding:2px 4px;white-space:nowrap;font-weight:700;text-decoration:none;border-radius:4px;color:var(--accent-deep)}body.page-theme130 .footer-links a{text-decoration:none ;padding:2px 6px;border-radius:6px;transition:background .18s ease,color .18s ease}body.page-theme130 .footer-links a,body.page-theme140 .footer-links a{margin:0 ;padding:2px 4px ;white-space:nowrap ;font-weight:700 ;text-decoration:none ;border-radius:4px }body.page-theme150 .footer-links a{margin:0;padding:2px 4px;white-space:nowrap;color:var(--accent-deep);font-weight:700;border-radius:4px;transition:.18s ease}
body.page-theme100 .footer-links a:hover{text-decoration:underline;text-underline-offset:2px}body.page-theme100 .footer-links a:hover{background:var(--accent-deep);color:#ffffff ;text-decoration:none }body.page-theme110 .footer-links a:hover,body.page-theme120 .footer-links a:hover,body.page-theme125 .footer-links a:hover,body.page-theme130 .footer-links a:hover,body.page-theme140 .footer-links a:hover,body.page-theme150 .footer-links a:hover{background:var(--accent-deep);color:#fff;text-decoration:none}body.page-theme110 .footer-links a:hover{background:var(--accent-deep);color:#ffffff;text-decoration:none}body.page-theme130 .footer-links a:hover{background:var(--accent-deep);color:#fff ;text-decoration:none }body.page-theme130 .footer-links a:hover,body.page-theme140 .footer-links a:hover{background:var(--accent-deep,var(--deep,#1a3d8f));color:#ffffff ;text-decoration:none }
body.theme-page footer{padding:34px 0 54px;color:var(--sub);font-size:.92rem}
body.theme-page .footer-box{border-top:1px solid var(--line);padding-top:18px;text-align:center}
@media(max-width: 860px){body.theme-page .card-grid,body.theme-page .related-grid{grid-template-columns:1fr}}
@media(max-width: 640px){body.theme-page{line-height:1.72}}
@media(max-width: 640px){body.theme-page .wrap{width:min(var(--max),calc(100% - 18px))}}
@media(max-width: 640px){body.theme-page .nav{align-items:start;flex-direction:column}}
@media(max-width: 640px){body.theme-page h1<div class="future-inner">{font-size:1.5rem;line-height:1.3}}
@media(max-width: 640px){body.theme-page .subline{font-size:.9rem;line-height:1.44}}
@media(max-width: 640px){body.theme-page .lead{font-size:.82rem;line-height:1.72}}
@media(max-width: 640px){body.theme-page .panel h2{font-size:1.08rem;line-height:1.4}}
@media(max-width: 640px){body.theme-page .panel p{font-size:.91rem;line-height:1.72}}
@media(max-width: 640px){body.theme-page .quote{font-size:.97rem;line-height:1.64}}
@media(max-width: 640px){body.theme-page }
@media(max-width: 640px){body.theme-page }
@media(max-width: 640px){body.theme-page .footer-links{font-size:.86rem;line-height:1.8}}
body.theme-page header .nav{display:flex;align-items:center;justify-content:space-between}
body.theme-page header .nav-links{display:flex;align-items:center;gap:6px}
body.theme-page header .nav-links a{margin:0;white-space:nowrap}
@media (max-width: 760px){body.theme-page{line-height:1.62 }}
@media (max-width: 760px){body.theme-page .wrap{width:min(var(--max),calc(100% - 18px))}}
@media (max-width: 760px){body.theme-page header .nav{flex-direction:row ;align-items:center ;justify-content:space-between ;gap:8px ;padding:10px 0 }}
@media (max-width: 760px){body.theme-page header .brand{font-size:0.94rem ;white-space:nowrap }}
@media (max-width: 760px){body.theme-page header .nav-links{flex-wrap:nowrap ;gap:2px ;overflow-x:auto ;justify-content:flex-end }}
@media (max-width: 760px){body.theme-page header .nav-links a{font-size:0.76rem ;padding:5px 6px ;white-space:nowrap }}
@media (max-width: 760px){body.theme-page .hero{padding:12px 0 8px }}
@media (max-width: 760px){body.theme-page .hero-box{padding:18px 16px 16px 22px ;border-radius:18px }}
@media (max-width: 760px){body.theme-page .hero-box::before{width:8px }}
@media (max-width: 760px){body.theme-page .tag{font-size:0.66rem ;padding:3px 8px ;margin-bottom:7px ;line-height:1.2 }}
@media (max-width: 760px){body.theme-page h1{font-size:1.18rem ;line-height:1.32 ;margin-bottom:5px }}
@media (max-width: 760px){body.theme-page .subline{font-size:0.86rem ;line-height:1.34 ;margin-bottom:6px }}
@media (max-width: 760px){body.theme-page .lead{font-size:0.82rem ;line-height:1.55 }}
@media (max-width: 760px){body.theme-page section{padding:8px 0 }}
@media (max-width: 760px){body.theme-page .panel{padding:18px 15px 18px 21px ;margin-top:12px ;border-radius:18px }}
@media (max-width: 760px){body.theme-page .panel::before{width:7px }}
@media (max-width: 760px){body.theme-page .panel h2{font-size:0.98rem ;line-height:1.35 ;margin:16px 0 6px }}
@media (max-width: 760px){body.theme-page .panel h3{font-size:0.92rem ;line-height:1.35 ;margin:13px 0 5px }}
@media (max-width: 760px){body.theme-page .panel p,body.theme-page .mini-list{font-size:0.82rem ;line-height:1.56 ;margin-bottom:8px }}
@media (max-width: 760px){body.theme-page .quote{font-size:0.86rem ;line-height:1.48 ;padding:12px 13px ;margin:12px 0 ;border-radius:14px }}
@media (max-width: 760px){body.theme-page .card-section,body.theme-page .related-section{margin-top:16px }}
@media (max-width: 760px){body.theme-page .card-title,body.theme-page .related-title{font-size:0.92rem ;margin-bottom:8px }}
@media (max-width: 760px){body.theme-page .card-grid,body.theme-page .related-grid{gap:9px }}
@media (max-width: 760px){body.theme-page .mini-card,body.theme-page .related-card{padding:13px 12px 12px 18px ;border-radius:14px }}
@media (max-width: 760px){body.theme-page .mini-card strong,body.theme-page .related-card strong{font-size:0.86rem ;line-height:1.25 }}
@media (max-width: 760px){body.theme-page .mini-card span,body.theme-page .related-card span{font-size:0.78rem ;line-height:1.34 }}
@media (max-width: 760px){body.theme-page }
@media (max-width: 760px){body.theme-page }
@media (max-width: 760px){body.theme-page .footer-links{gap:2px ;font-size:0.78rem ;line-height:1.35 ;margin:10px 0 4px ;padding-top:8px }}
@media (max-width: 760px){body.theme-page .footer-links a{padding:1px 3px }}
@media (max-width: 760px){body.theme-page footer{padding:22px 0 36px ;font-size:0.8rem }}
body.theme-page .mini-card:hover strong,body.theme-page .related-card:hover strong,body.theme-page .mini-card:hover span,body.theme-page .related-card:hover span{color:inherit}
body.theme-page .hero h1,body.theme-page h1{font-size:2.2rem ;font-weight:700 ;line-height:1.30 ;margin-bottom:10px }
body.page-theme100 .subline,body.page-theme100 .subtitle{font-size:1.28rem ;font-weight:700 ;line-height:1.55 ;margin-bottom:20px ;letter-spacing:0.02em }body.page-theme130 .subline,body.page-theme130 .subtitle,body.page-theme140 .subline,body.page-theme140 .subtitle{margin-bottom:9px }
@media (max-width: 760px){body.theme-page .hero h1,body.theme-page h1{font-size:1.52rem ;line-height:1.32 ;margin-bottom:7px }}
@media (max-width: 760px){body.page-theme100 .subline,body.page-theme100 .subtitle{font-size:1.04rem ;line-height:1.42 ;margin-bottom:12px ;letter-spacing:0.01em }body.page-theme130 .subline,body.page-theme130 .subtitle,body.page-theme140 .subline,body.page-theme140 .subtitle{font-size:0.86rem ;line-height:1.34 ;margin-bottom:6px }}
body.page-theme110 .panel h3,body.page-theme120 .panel h3,body.page-theme125 .panel h3,body.page-theme130 .panel h3,body.page-theme140 .panel h3{font-size:1.12rem;color:var(--accent-deep);margin:18px 0 8px}body.page-theme150 .panel h3{font-size:1.12rem;color:var(--accent-deep);margin:16px 0 6px}
body.theme-page .mini-list{margin:0 0 12px;padding-left:1.2em;color:var(--sub)}
body.page-theme110 .mini-list li,body.page-theme130 .mini-list li,body.page-theme140 .mini-list li{margin-bottom:8px}body.page-theme150 .mini-list li{margin-bottom:6px;line-height:1.6}
body.page-theme110 .mini-card{display:block;position:relative;background:linear-gradient(180deg,#fff 0%,#fafdfb 100%);border:1px solid var(--line);border-radius:18px;padding:18px 18px 16px 22px;box-shadow:0 6px 18px rgba(80,54,23,.06);overflow:hidden}body.page-theme130 .mini-card,body.page-theme140 .mini-card{display:block;position:relative;transition:.18s ease;background:linear-gradient(180deg,#fff 0%,#fafdfb 100%);border:1px solid var(--line);border-radius:18px;padding:18px 18px 16px 22px;box-shadow:0 6px 18px rgba(80,54,23,.06);overflow:hidden}
body.theme-page .mini-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:7px;background:linear-gradient(180deg,var(--stripe-a),var(--stripe-b))}
body.theme-page .mini-card strong{display:block;color:var(--accent-deep);font-size:1.03rem;line-height:1.45;margin-bottom:6px}
body.theme-page .mini-card span{display:block;color:var(--sub);font-size:.82rem;line-height:1.6}
body.theme-page .panel .mini-card:hover{transform:none;box-shadow:0 6px 18px rgba(80,54,23,.06);filter:none;cursor:default}
body.theme-page .related-section{margin-top:22px}
body.theme-page .related-title{font-size:1.15rem;text-align:left;color:var(--text);margin-bottom:12px}
body.theme-page .related-title::before{content:"■";color:var(--accent-deep);margin-right:.25em}
body.page-theme110 .related-card,body.page-theme130 .related-card,body.page-theme140 .related-card{display:block;position:relative;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 14px 12px 20px;box-shadow:0 4px 10px rgba(80,54,23,.06);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;overflow:hidden}body.page-theme120 .related-card,body.page-theme125 .related-card{display:block;position:relative;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 14px 12px 20px;box-shadow:0 4px 10px rgba(80,54,23,.06);transition:.18s ease;overflow:hidden}
body.theme-page .related-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:7px;background:linear-gradient(180deg,var(--rc-a,var(--stripe-a)),var(--rc-b,var(--stripe-b)))}
body.page-theme110 .related-card:hover,body.page-theme130 .related-card:hover,body.page-theme140 .related-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px rgba(50,50,50,.24);filter:brightness(1.01)}body.page-theme120 .related-card:hover,body.page-theme125 .related-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px rgba(50,50,50,.20)}
body.theme-page .related-card strong{display:block;color:var(--accent-deep);font-size:.98rem;line-height:1.45;margin-bottom:4px}
body.theme-page .related-card span{display:block;color:var(--sub);font-size:.84rem;line-height:1.55}
body.theme-page .rc-blue{--rc-a:#9fc3f1;--rc-b:#4f82c7}
body.theme-page .rc-orange{--rc-a:#f4b36b;--rc-b:#e07932}
body.theme-page .rc-rose{--rc-a:#e5a3c4;--rc-b:#b75a93}
body.theme-page .rc-gray{--rc-a:#bfc4ca;--rc-b:#727c86}
body.theme-page .rc-park{--rc-a:#9bd9b9;--rc-b:#3f9b68}
@media(max-width:860px){body.theme-page .card-grid,body.theme-page .related-grid{grid-template-columns:1fr}}
@media(max-width:640px){body.page-theme110{line-height:1.62}body.page-theme120,body.page-theme125,body.page-theme130,body.page-theme140{line-height:1.72}}
@media(max-width:640px){body.page-theme110 .wrap{width:min(var(--max),calc(100% - 18px))}body.page-theme120 .wrap,body.page-theme125 .wrap,body.page-theme130 .wrap,body.page-theme140 .wrap{width:min(var(--max),calc(100% - 18px))}}
@media(max-width:640px){body.theme-page header .nav{flex-direction:row;align-items:center;justify-content:space-between;gap:8px;}}
@media(max-width:640px){body.theme-page header .brand{font-size:.94rem;white-space:nowrap}}
@media(max-width:640px){body.theme-page header .nav-links{flex-wrap:nowrap;gap:2px;overflow-x:auto;justify-content:flex-end}}
@media(max-width:640px){body.theme-page header .nav-links a{font-size:.76rem;padding:5px 6px;white-space:nowrap}}
@media(max-width:640px){body.theme-page .hero{padding:12px 0 8px}}
@media(max-width:640px){body.theme-page .hero-box{padding:18px 16px 16px 22px;border-radius:18px}}
@media(max-width:640px){body.theme-page .hero-box::before{width:8px}}
@media(max-width:640px){body.theme-page .tag{font-size:.66rem;padding:3px 8px;margin-bottom:7px;line-height:1.2}}
@media(max-width:640px){body.page-theme110 h1{font-size:1.18rem;line-height:1.32;margin-bottom:5px}body.page-theme120 h1,body.page-theme125 h1,body.page-theme130 h1,body.page-theme140 h1{font-size:1.5rem;line-height:1.3}}
@media(max-width:640px){body.page-theme110 .subline{font-size:.86rem;line-height:1.34;margin-bottom:6px}body.page-theme120 .subline,body.page-theme125 .subline,body.page-theme130 .subline,body.page-theme140 .subline{font-size:.9rem;line-height:1.44}}
@media(max-width:640px){body.page-theme110 .lead{font-size:.82rem;line-height:1.55}body.page-theme120 .lead,body.page-theme125 .lead,body.page-theme130 .lead,body.page-theme140 .lead{font-size:.82rem;line-height:1.72}}
@media(max-width:640px){body.theme-page section{}}
@media(max-width:640px){body.theme-page .panel{padding:18px 15px 18px 21px;margin-top:12px;border-radius:18px}}
@media(max-width:640px){body.theme-page .panel::before{width:7px}}
@media(max-width:640px){body.page-theme110 .panel h2{font-size:.98rem;line-height:1.35;margin:16px 0 6px}body.page-theme120 .panel h2,body.page-theme125 .panel h2,body.page-theme130 .panel h2,body.page-theme140 .panel h2{font-size:1.08rem;line-height:1.4}}
@media(max-width:640px){body.theme-page .panel h3{font-size:.92rem;line-height:1.35;margin:13px 0 5px}}
@media(max-width:640px){body.theme-page .panel p,body.theme-page .mini-list{font-size:.82rem;line-height:1.56;margin-bottom:8px}}
@media(max-width:640px){body.page-theme110 .quote{font-size:.86rem;line-height:1.48;padding:12px 13px;margin:12px 0;border-radius:14px}body.page-theme120 .quote,body.page-theme125 .quote,body.page-theme130 .quote,body.page-theme140 .quote{font-size:.97rem;line-height:1.64}}
@media(max-width:640px){body.page-theme110 .card-grid,body.page-theme110 .related-grid{gap:9px}body.page-theme130 .card-grid,body.page-theme130 .related-grid,body.page-theme140 .card-grid,body.page-theme140 .related-grid{grid-template-columns:1fr}}
@media(max-width:640px){body.theme-page .mini-card,body.theme-page .related-card{padding:13px 12px 12px 18px;border-radius:14px}}
@media(max-width:640px){body.theme-page .mini-card strong,body.theme-page .related-card strong{font-size:.86rem;line-height:1.25}}
@media(max-width:640px){body.theme-page .mini-card span,body.theme-page .related-card span{font-size:.78rem;line-height:1.34}}
@media(max-width:640px){body.page-theme110 body.page-theme120 .back-nav,body.page-theme125 .back-nav,body.page-theme130 .back-nav,body.page-theme140 }
@media(max-width:640px){body.page-theme110 body.page-theme120 body.page-theme120 .footer-links,body.page-theme125 .footer-links,body.page-theme130 .footer-links,body.page-theme140 .footer-links{font-size:.86rem;line-height:1.8}}
@media(max-width:640px){body.theme-page .footer-links a{padding:1px 3px}}
@media(max-width:640px){body.theme-page footer{padding:22px 0 36px;font-size:.8rem}}
body.theme-page .table-wrap{overflow-x:auto;margin:14px 0 16px}
body.theme-page .data-table{width:100%;border-collapse:collapse;color:var(--sub);font-size:.98rem}
body.theme-page .data-table th,body.theme-page .data-table td{border:1px solid #d8c8b8;padding:7px 9px;vertical-align:top}
body.theme-page .data-table th{background:#eef8fb;color:var(--accent-deep);font-weight:700}
body.theme-page .data-table tr.total th,body.theme-page .data-table tr.total td{background:#f7fbff;font-weight:700;color:var(--accent-deep)}
body.theme-page .figure{margin:18px 0;text-align:center}
body.theme-page .figure svg{max-width:100%;height:auto;border-radius:18px;box-shadow:0 6px 18px rgba(80,54,23,.08)}
@media(max-width:860px){body.theme-page .related-grid{grid-template-columns:1fr}}
@media(max-width:640px){body.theme-page .nav{align-items:start;flex-direction:column}}
@media(max-width:640px){body.theme-page .panel p{font-size:.91rem;line-height:1.72}}
body.page-theme130 .mini-card:hover{transform:translateY(-2px);box-shadow:0 7px 14px rgba(50,50,50,.22)}body.page-theme140 .mini-card:hover{transform:none;box-shadow:0 6px 18px rgba(80,54,23,.06)}
body.theme-page .hero-box,body.theme-page .panel-inner{padding-top:20px ;padding-bottom:20px }
body.theme-page .panel h2,body.theme-page .body h2{margin-bottom:8px }
body.theme-page .panel p,body.theme-page .body p,body.theme-page .lead p{line-height:1.58 }
body.theme-page .mini-card strong,body.theme-page .related-card strong,body.theme-page .card h3{line-height:1.28 ;margin-bottom:4px }
body.theme-page .mini-card span,body.theme-page .related-card span,body.theme-page .card p{line-height:1.38 }
@media (max-width: 760px){body.theme-page .panel,body.theme-page .body{border-radius:18px }}
@media (max-width: 760px){body.theme-page .panel-inner{padding:18px 16px 16px }}
@media (max-width: 760px){body.theme-page .panel .band,body.theme-page .band{padding-top:6px ;padding-bottom:6px ;font-size:0.78rem }}
@media (max-width: 760px){body.theme-page .tag,body.theme-page .label{font-size:0.66rem ;padding:3px 8px ;margin-bottom:7px ;line-height:1.2 }}
@media (max-width: 760px){body.theme-page h1,body.theme-page .title{font-size:1.18rem ;line-height:1.32 ;margin-bottom:5px }}
@media (max-width: 760px){body.theme-page .lead,body.theme-page .lead p{font-size:0.82rem ;line-height:1.55 }}
@media (max-width: 760px){body.theme-page .panel h2,body.theme-page .body h2{font-size:0.98rem ;line-height:1.35 ;margin:16px 0 6px }}
@media (max-width: 760px){body.theme-page .panel h3,body.theme-page .body h3{font-size:0.92rem ;line-height:1.35 ;margin:13px 0 5px }}
@media (max-width: 760px){body.theme-page .panel p,body.theme-page .body p,body.theme-page .mini-list,body.theme-page .body li{font-size:0.82rem ;line-height:1.56 ;margin-bottom:8px }}
@media (max-width: 760px){body.theme-page .grid,body.theme-page .card-grid,body.theme-page .related,body.theme-page .related-grid{gap:9px }}
@media (max-width: 760px){body.theme-page .card,body.theme-page .mini-card,body.theme-page .related-card{padding:13px 12px 12px 18px ;border-radius:14px }}
@media (max-width: 760px){body.theme-page .card h3,body.theme-page .mini-card strong,body.theme-page .related-card strong{font-size:0.86rem ;line-height:1.25 }}
@media (max-width: 760px){body.theme-page .card p,body.theme-page .mini-card span,body.theme-page .related-card span{font-size:0.78rem ;line-height:1.34 }}
@media (max-width: 760px){body.theme-page .back,body.theme-page }
body.theme-page .card-grid.six{grid-template-columns:repeat(3,minmax(0,1fr))}
body.theme-page .mini-card,body.theme-page .related-card,body.theme-page .nav-card{display:block;position:relative;background:linear-gradient(180deg,#fff 0%,#fafdfb 100%);border:1px solid var(--line);border-radius:18px;padding:18px 18px 16px 22px;box-shadow:0 6px 18px rgba(80,54,23,.06);overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
body.theme-page .mini-card::before,body.theme-page .related-card::before,body.theme-page .nav-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:7px;background:linear-gradient(180deg,var(--rc-a,var(--stripe-a)),var(--rc-b,var(--stripe-b)))}
body.theme-page .mini-card:hover,body.theme-page .related-card:hover,body.theme-page .nav-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px rgba(50,50,50,.22);filter:brightness(1.01)}
body.theme-page .mini-card strong,body.theme-page .related-card strong,body.theme-page .nav-card strong{display:block;color:var(--accent-deep);font-size:1rem;line-height:1.35;margin-bottom:5px}
body.theme-page .mini-card span,body.theme-page .related-card span,body.theme-page .nav-card span{display:block;color:var(--sub);font-size:.9rem;line-height:1.45}
body.theme-page .related-section,body.theme-page .next-section{margin-top:22px}
body.theme-page .next-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
body.theme-page .next-links.single{grid-template-columns:1fr}
body.theme-page .next-main{background:linear-gradient(180deg,var(--soft)0%,#fff 100%);border-color:color-mix(in srgb,var(--accent)24%,#fff)}
@media(max-width:860px){body.theme-page .card-grid,body.theme-page .card-grid.six,body.theme-page .related-grid,body.theme-page .next-links{grid-template-columns:1fr}}
@media(max-width:760px){body.theme-page .wrap{width:min(var(--max),calc(100% - 18px))}}
@media(max-width:760px){body.theme-page .nav{flex-direction:row;align-items:center;justify-content:space-between;gap:8px;}}
@media(max-width:760px){body.theme-page .brand{font-size:.94rem;white-space:nowrap}}
@media(max-width:760px){body.theme-page .nav-links{flex-wrap:nowrap;gap:2px;overflow-x:auto;justify-content:flex-end}}
@media(max-width:760px){body.theme-page .nav-links a{font-size:.76rem;padding:5px 6px}}
@media(max-width:760px){body.theme-page .hero{padding:12px 0 8px}}
@media(max-width:760px){body.theme-page .hero-box{padding:18px 16px 16px 22px;border-radius:18px}}
@media(max-width:760px){body.theme-page .hero-box::before{width:8px}}
@media(max-width:760px){body.theme-page .panel{padding:18px 15px 18px 21px;margin-top:12px;border-radius:18px}}
@media(max-width:760px){body.theme-page .panel::before{width:7px}}
@media(max-width:760px){body.theme-page h1{font-size:1.5rem;line-height:1.3}}
@media(max-width:760px){body.theme-page .subline{font-size:.9rem;line-height:1.44}}
@media(max-width:760px){body.theme-page .lead,body.theme-page .panel p{font-size:.91rem;line-height:1.65}}
@media(max-width:760px){body.theme-page .panel h2{font-size:1.08rem;line-height:1.4}}
@media(max-width:760px){body.theme-page .quote{font-size:.97rem;line-height:1.55}}
@media(max-width:760px){body.theme-page .footer-links{font-size:.84rem}}

/* =========================================================
   Back button unified style / 全ページ共通もどるボタン
   ========================================================= */
body.theme-page .back-nav,
body.theme-page .back-btn{
  display:flex ;
  justify-content:center ;
  align-items:center ;
  width:100% ;
  margin:16px 0 12px ;
  text-align:center ;
}

body.theme-page 

body.theme-page 

@media (max-width:760px){
  body.theme-page .back-nav,
  body.theme-page .back-btn{
    margin:10px 0 6px ;
  }
  body.theme-page 
}

/* =========================================================
   Theme 300 story panels / title-panel・body-panel復元
   ========================================================= */
body.theme-page .title-panel{
  overflow:hidden;
  background:linear-gradient(135deg,var(--stripe-a) 0%,var(--accent) 52%,var(--accent-deep) 100%);
  border:0;
  border-radius:22px;
  box-shadow:0 18px 38px rgba(40,70,85,.16);
  margin:20px 0;
}

body.theme-page .title-band{
  background:transparent;
  color:#ffffff;
  text-align:center;
  font-weight:700;
  letter-spacing:.04em;
  padding:9px 14px;
  border-bottom:1px solid rgba(255,255,255,.24);
}

body.theme-page .title-inner{
  padding:26px 24px 28px;
  text-align:center;
}

body.theme-page .title-inner h1{
  margin:0 0 10px;
  color:#ffffff ;
  font-size:2rem;
  line-height:1.35;
  text-shadow:0 1px 3px rgba(0,0,0,.18);
}

body.theme-page .title-inner .subtitle,
body.theme-page .title-inner p.subtitle{
  margin:0;
  color:rgba(255,255,255,.94) ;
  font-weight:700;
  font-size:1.1rem;
  line-height:1.55;
  text-align:center;
}

body.theme-page .body-panel{
  background:#ffffff;
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:var(--shadow);
  padding:30px 32px 30px 44px;
  margin:18px 0;
  position:relative;
  overflow:hidden;
}

body.theme-page .body-panel::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:18px;
  background:linear-gradient(180deg,var(--stripe-a),var(--stripe-b));
}

body.theme-page .body-panel p{
  color:var(--sub);
  margin:0 0 1.05em;
  line-height:1.85;
  font-size:1.02rem;
}

body.theme-page .body-panel .lead{
  font-weight:700;
  color:var(--accent-deep);
}

body.theme-page .section-break{
  height:1px;
  background:var(--line);
  margin:24px 0;
}

body.theme-page .note-box{
  background:var(--soft);
  border:1px solid var(--line);
  border-radius:18px;
  padding:16px 18px;
  margin:18px 0;
  color:var(--sub);
  line-height:1.75;
}

/* =========================================================
   Related outside panel restore / 関連リンク下部パネル化
   ========================================================= */
body.theme-page .related-outside{
  padding:12px 0;
}

body.theme-page .related-outside .wrap{
  background:#ffffff;
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:var(--shadow);
  padding:22px 22px 24px 28px;
  position:relative;
  overflow:hidden;
}

body.theme-page .related-outside .wrap::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:8px;
  background:linear-gradient(180deg,var(--stripe-a),var(--stripe-b));
}

body.theme-page .related-outside-title{
  font-size:1.15rem;
  text-align:left;
  color:var(--text);
  margin:0 0 12px;
}

body.theme-page .related-outside-title::before{
  content:"■";
  color:var(--accent-deep);
  margin-right:.25em;
}

body.theme-page .related-panel,
body.theme-page .panel.related-section{
  background:#ffffff;
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:var(--shadow);
  padding:22px 22px 24px 28px;
  position:relative;
  overflow:hidden;
}

body.theme-page .related-panel::before,
body.theme-page .panel.related-section::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:8px;
  background:linear-gradient(180deg,var(--stripe-a),var(--stripe-b));
}

@media (max-width:760px){
  body.theme-page .title-panel{
    border-radius:18px;
    margin:14px 0;
  }
  body.theme-page .title-band{
    padding:6px 12px;
    font-size:.78rem;
  }
  body.theme-page .title-inner{
    padding:20px 16px 22px;
  }
  body.theme-page .title-inner h1{
    font-size:1.18rem;
    line-height:1.32;
  }
  body.theme-page .title-inner .subtitle,
  body.theme-page .title-inner p.subtitle{
    font-size:.86rem;
    line-height:1.34;
  }
  body.theme-page .body-panel{
    padding:18px 15px 18px 25px;
    border-radius:18px;
    margin:12px 0;
  }
  body.theme-page .body-panel::before{
    width:9px;
  }
  body.theme-page .body-panel p{
    font-size:.82rem;
    line-height:1.56;
    margin-bottom:8px;
  }
  body.theme-page .related-outside .wrap,
  body.theme-page .related-panel,
  body.theme-page .panel.related-section{
    padding:18px 15px 18px 21px;
    border-radius:18px;
  }
  body.theme-page .related-outside .wrap::before,
  body.theme-page .related-panel::before,
  body.theme-page .panel.related-section::before{
    width:7px;
  }
}


/* =========================================================
   Theme pages unified styles
   ========================================================= */
body.theme-page .back-btn,
body.theme-page 

body.theme-page .back-btn a,
body.theme-page 

body.theme-page .back-btn a:hover,
body.theme-page 

body.theme-page .related-panel{
  position:relative;
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  padding:22px 22px 22px 28px;
  margin-top:18px;
  box-shadow:var(--shadow);
  overflow:hidden;
}

body.theme-page .related-panel::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:8px;
  background:linear-gradient(180deg,var(--stripe-a),var(--stripe-b));
}

body.theme-page .related-panel h2{
  font-size:1.1rem;
  color:var(--text);
  margin:0 0 12px;
}

body.theme-page .related-panel h2::before{
  content:"■";
  color:var(--accent-deep);
  margin-right:.25em;
}

@media (max-width:760px){
  body.theme-page .back-btn,
  body.theme-page 

  body.theme-page .back-btn a,
  body.theme-page 

  body.theme-page .related-panel{
    border-radius:18px;
    padding:18px 15px 18px 21px;
  }

  body.theme-page .related-panel::before{
    width:7px;
  }
}


/* =========================================================
   page-column common template: external CSS対応
   - HTML側は:root色変数と本文構造のみ
   - 文言編集でパネルが消えないよう、page-column全体に適用
   ========================================================= */
body.theme-page.page-column *{box-sizing:border-box}
body.theme-page.page-column{margin:0;font-family:"Hiragino Sans","Yu Gothic","Meiryo",sans-serif;color:var(--text);background:linear-gradient(180deg,var(--bg) 0%,var(--bg2,var(--bg)) 100%);line-height:1.9}
body.theme-page.page-column a{color:inherit;text-decoration:none}
body.theme-page.page-column .wrap{width:min(var(--max),calc(100% - 32px));margin:0 auto}
body.theme-page.page-column header{position:sticky;top:0;z-index:20;background:rgba(255,250,244,.92);backdrop-filter:blur(10px);border-bottom:1px solid rgba(234,216,196,.75)}
body.theme-page.page-column.page-special-water-space header{background:rgba(243,251,255,.94);border-bottom:1px solid rgba(215,235,244,.9)}
body.theme-page.page-column .nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0}
body.theme-page.page-column .brand{display:flex;flex-direction:column;line-height:1.2;font-weight:700;letter-spacing:.01em}
body.theme-page.page-column .nav-links{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
body.theme-page.page-column .nav-links a{padding:8px 12px;border-radius:999px;color:var(--sub);font-size:.92rem}
body.theme-page.page-column .nav-links a:hover{background:var(--soft);color:var(--accent-deep)}
body.theme-page.page-column h1,body.theme-page.page-column h2,body.theme-page.page-column h3{line-height:1.35;margin:0}
body.theme-page.page-column .hero{padding:18px 0 14px}
body.theme-page.page-column .hero-box,body.theme-page.page-column .panel,body.theme-page.page-column .paper{background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);position:relative;overflow:hidden}
body.theme-page.page-column .hero-box{padding:24px 24px 22px 28px}
body.theme-page.page-column .panel,body.theme-page.page-column .paper{padding:22px 22px 22px 28px;margin-top:18px}
body.theme-page.page-column .paper{margin-bottom:18px}
body.theme-page.page-column .hero-box::before,body.theme-page.page-column .panel::before,body.theme-page.page-column .paper::before{content:"";position:absolute;left:0;top:0;bottom:0;background:linear-gradient(180deg,var(--stripe-a),var(--stripe-b))}
body.theme-page.page-column .hero-box::before{width:12px}
body.theme-page.page-column .panel::before,body.theme-page.page-column .paper::before{width:8px}
body.theme-page.page-column .tag,body.theme-page.page-column .eyebrow{display:inline-block;font-size:.8rem;font-weight:700;color:var(--accent-deep);background:var(--soft);padding:6px 10px;border-radius:999px;margin-bottom:12px}
body.theme-page.page-column h1{font-size:2rem;font-weight:700;margin:0 0 8px;text-align:center;color:var(--accent-deep)}
body.theme-page.page-column .subline{display:block;color:#5f5b57;font-size:1.04rem;font-weight:700;line-height:1.45;margin-bottom:18px;text-align:center}
body.theme-page.page-column .lead{color:var(--sub);margin:0;font-size:1rem;line-height:1.9}
body.theme-page.page-column section{padding:12px 0}
body.theme-page.page-column .panel h2,body.theme-page.page-column .paper h2{font-size:1.34rem;color:var(--accent-deep);margin:18px 0 10px}
body.theme-page.page-column .panel h2:first-child,body.theme-page.page-column .paper h2:first-child{margin-top:0}
body.theme-page.page-column .panel h3,body.theme-page.page-column .paper h3{font-size:1.08rem;color:var(--accent-deep);margin:14px 0 8px}
body.theme-page.page-column .panel p,body.theme-page.page-column .paper p{color:var(--sub);margin:0 0 12px;font-size:1.05rem;line-height:1.58}
body.theme-page.page-column .panel p:last-child,body.theme-page.page-column .paper p:last-child{margin-bottom:0}
body.theme-page.page-column .quote,body.theme-page.page-column .note{background:var(--soft);border:1px solid color-mix(in srgb,var(--accent) 22%,#fff);border-radius:18px;padding:16px 18px;font-weight:700;color:var(--accent-deep);margin:16px 0;font-size:1.08rem;line-height:1.6}
body.theme-page.page-column .note strong{color:var(--accent-deep)}
body.theme-page.page-column .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:10px}
body.theme-page.page-column .mini-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 18px 16px 22px;box-shadow:0 6px 18px rgba(80,54,23,.06);overflow:hidden}
body.theme-page.page-column .mini-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:7px;background:linear-gradient(180deg,var(--stripe-a),var(--stripe-b))}
body.theme-page.page-column .mini-card h3{font-size:1.05rem;color:var(--accent-deep);margin:0 0 6px}
body.theme-page.page-column .mini-card p{font-size:.94rem;line-height:1.55;margin:0;color:var(--sub)}
body.theme-page.page-column .related-section{margin:24px 0 14px}
body.theme-page.page-column .related-title{font-size:1.15rem;text-align:left;color:var(--text);margin:0 0 12px}
body.theme-page.page-column .related-title::before{content:"■";color:var(--accent-deep);margin-right:.25em}
body.theme-page.page-column .related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:10px}
body.theme-page.page-column .related-card{display:block;position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 18px 14px 22px;box-shadow:0 6px 18px rgba(80,54,23,.06);overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}
body.theme-page.page-column .related-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:7px;background:linear-gradient(180deg,var(--rc-a,var(--stripe-a)),var(--rc-b,var(--stripe-b)))}
body.theme-page.page-column .related-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px rgba(50,50,50,.18)}
body.theme-page.page-column .related-card strong{display:block;color:var(--accent-deep);font-size:1rem;line-height:1.38;margin-bottom:5px}
body.theme-page.page-column .related-card span{display:block;color:var(--sub);font-size:.9rem;line-height:1.48}
body.theme-page.page-column 
body.theme-page.page-column 
body.theme-page.page-column 
body.theme-page.page-column .footer-links{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:4px;text-align:center;color:var(--sub);font-size:.9rem;line-height:1.4;margin:12px 0 6px;padding-top:10px;border-top:1px solid var(--line)}
body.theme-page.page-column .footer-links a{margin:0;padding:2px 4px;white-space:nowrap;color:var(--accent-deep);font-weight:700;text-decoration:none;border-radius:4px;transition:.18s ease}
body.theme-page.page-column .footer-links a:hover{background:var(--accent-deep);color:#fff;text-decoration:none}
body.theme-page.page-column footer{padding:34px 0 54px;color:var(--sub);font-size:.92rem}
body.theme-page.page-column .footer-box{border-top:1px solid var(--line);padding-top:18px;text-align:center}
@media(max-width:860px){body.theme-page.page-column .related-grid,body.theme-page.page-column .grid{grid-template-columns:1fr}}
@media(max-width:760px){body.theme-page.page-column{line-height:1.62}body.theme-page.page-column .wrap{width:min(var(--max),calc(100% - 18px))}body.theme-page.page-column .nav{flex-direction:row;align-items:center;justify-content:space-between;gap:8px;}body.theme-page.page-column .brand{font-size:.94rem;white-space:nowrap}body.theme-page.page-column .nav-links{flex-wrap:nowrap;gap:2px;overflow-x:auto;justify-content:flex-end}body.theme-page.page-column .nav-links a{font-size:.76rem;padding:5px 6px;white-space:nowrap}body.theme-page.page-column .hero{padding:12px 0 8px}body.theme-page.page-column .hero-box{padding:18px 16px 16px 22px;border-radius:18px}body.theme-page.page-column .hero-box::before{width:8px}body.theme-page.page-column .tag,body.theme-page.page-column .eyebrow{font-size:.66rem;padding:3px 8px;margin-bottom:7px;line-height:1.2}body.theme-page.page-column h1{font-size:1.18rem;line-height:1.32;margin-bottom:5px}body.theme-page.page-column .subline{font-size:.86rem;line-height:1.34;margin-bottom:6px}body.theme-page.page-column .lead{font-size:.82rem;line-height:1.55}body.theme-page.page-column section{}body.theme-page.page-column .panel,body.theme-page.page-column .paper{padding:18px 15px 18px 21px;margin-top:12px;border-radius:18px}body.theme-page.page-column .panel::before,body.theme-page.page-column .paper::before{width:7px}body.theme-page.page-column .panel h2,body.theme-page.page-column .paper h2{font-size:.98rem;line-height:1.35;margin:16px 0 6px}body.theme-page.page-column .panel h3,body.theme-page.page-column .paper h3{font-size:.82rem;line-height:1.35;margin:13px 0 5px}body.theme-page.page-column .panel p,body.theme-page.page-column .paper p{font-size:.82rem;line-height:1.56;margin-bottom:8px}body.theme-page.page-column .quote,body.theme-page.page-column .note{font-size:.86rem;line-height:1.48;padding:12px 13px;margin:12px 0;border-radius:14px}body.theme-page.page-column .related-section{margin-top:16px}body.theme-page.page-column .related-title{font-size:.82rem;margin-bottom:8px}body.theme-page.page-column .related-grid{gap:9px}body.theme-page.page-column .related-card{padding:13px 12px 12px 18px;border-radius:14px}body.theme-page.page-column .related-card strong{font-size:.86rem;line-height:1.25}body.theme-page.page-column .related-card span{font-size:.78rem;line-height:1.34}body.theme-page.page-column body.theme-page.page-column body.theme-page.page-column .footer-links{gap:2px;font-size:.78rem;line-height:1.35;margin:10px 0 4px;padding-top:8px}body.theme-page.page-column footer{padding:22px 0 36px;font-size:.8rem}}


/* 2026-05-07: コラムページ内のパネル内パネルは静止表示にする */
body.theme-page.page-column .mini-card:hover{
  transform:none ;
  box-shadow:0 6px 18px rgba(80,54,23,.06) ;
  filter:none ;
}


/* 2026-05-07 final: パネル内パネル（mini-card）は完全に静止表示。hover時も通常時と同一にする */
body.theme-page.page-column .paper .mini-card,
body.theme-page.page-column .panel .mini-card,
body.theme-page.page-column .grid .mini-card{
  transform:none ;
  filter:none ;
  
  cursor:default ;
  box-shadow:0 6px 18px rgba(80,54,23,.06) ;
}
body.theme-page.page-column .paper .mini-card:hover,
body.theme-page.page-column .panel .mini-card:hover,
body.theme-page.page-column .grid .mini-card:hover,
body.theme-page.page-column .paper .mini-card:focus,
body.theme-page.page-column .panel .mini-card:focus,
body.theme-page.page-column .grid .mini-card:focus,
body.theme-page.page-column .paper .mini-card:active,
body.theme-page.page-column .panel .mini-card:active,
body.theme-page.page-column .grid .mini-card:active{
  transform:none ;
  filter:none ;
  
  cursor:default ;
  box-shadow:0 6px 18px rgba(80,54,23,.06) ;
}

/* ===== index top entrance update (controlled) ===== */
body.page-index .top-jump-wrap{
  width:min(var(--max),calc(100% - 32px));
  margin:10px auto 4px;
  text-align:center;
}
body.page-index .top-jump-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:112px;
  padding:6px 18px;
  border-radius:999px;
  background:#8c8c8c;
  color:#ffffff;
  font-size:.88rem;
  font-weight:700;
  line-height:1;
  letter-spacing:.02em;
  text-align:center;
  box-shadow:0 6px 16px rgba(80,54,23,.08);
  transition:.2s ease;
  text-decoration:none;
}
body.page-index .top-jump-btn:hover{
  background:#a9a9a9;
  color:#ffffff;
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(80,54,23,.12);
}
body.page-index .feature-topics-section{
  width:min(var(--max),calc(100% - 32px));
  margin:10px auto 14px;
}
body.page-index .feature-topics-panel{
  background:linear-gradient(180deg,#fff7ef 0%,#fff0e8 100%);
  border:5px solid #d84f2a;
  border-radius:22px;
  box-shadow:0 10px 24px rgba(216,79,42,.13);
  overflow:hidden;
}
body.page-index .feature-topics-head{
  display:block;
  margin:0;
  padding:8px 14px;
  background:#d84f2a;
  color:#ffffff;
  text-align:center;
}
body.page-index .feature-topics-kicker,
body.page-index .feature-topics-note{display:none;}
body.page-index .feature-topics-title{
  margin:0;
  color:#ffffff;
  font-size:1.18rem;
  font-weight:800;
  line-height:1.25;
  letter-spacing:.04em;
  text-align:center;
}
body.page-index .feature-topic-text{padding:18px 22px 20px;}
body.page-index .feature-topic-block{
  margin:0 0 20px;
  padding:0 0 16px;
  border-bottom:1px solid rgba(216,79,42,.20);
}
body.page-index .feature-topic-block:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none;}
body.page-index .feature-topic-block h2{
  margin:0 0 8px;
  color:#7f2a18;
  font-size:1.62rem;
  font-weight:800;
  line-height:1.32;
  letter-spacing:.01em;
}
body.page-index .feature-topic-block h2::before{
  content:"■";
  color:#d84f2a;
  margin-right:.28em;
  font-size:.72em;
  vertical-align:.06em;
}
body.page-index .feature-topic-block p{
  margin:0 0 7px;
  color:#5f4a3d;
  font-size:.97rem;
  line-height:1.52;
}
body.page-index .feature-topic-block .featured-topic-sub{color:#3d5f78;font-weight:700;}
body.page-index .featured-detail-link{
  color:#1a3d8f;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:2px;
  white-space:nowrap;
}
body.page-index .featured-detail-link:hover{color:#ffffff;background:#1a3d8f;text-decoration-color:transparent;}
body.page-index .compact-preface{margin:0 auto 12px;}
body.page-index .compact-preface .preface-gate{
  padding:0 26px 22px;
  border-radius:24px;
  background:radial-gradient(circle at 18% 10%,rgba(255,255,255,0.22)0%,rgba(255,255,255,0.06)32%,rgba(255,255,255,0)58%),linear-gradient(135deg,#17385f 0%,#1e684f 58%,#8a5a20 100%);
  color:#ffffff;
  box-shadow:0 18px 42px rgba(28,55,77,0.18);
  border:0;
  overflow:hidden;
}
body.page-index .compact-preface .preface-gate::before{
  content:"";
  position:absolute;
  inset:10px;
  border:1px solid rgba(255,255,255,0.24);
  border-radius:20px;
  pointer-events:none;
}
body.page-index .compact-preface .preface-body{
  position:relative;
  max-width:900px;
  margin:0 auto;
  color:rgba(255,255,255,.92);
  font-size:.99rem;
  line-height:1.72;
}
body.page-index .compact-preface .preface-title{
  display:block;
  margin:0 -26px 16px;
  padding:9px 16px;
  background:rgba(255,255,255,.16);
  border-bottom:1px solid rgba(255,255,255,.18);
  color:#ffffff;
  text-align:center;
  font-size:1.05rem;
  font-weight:800;
  line-height:1.28;
  letter-spacing:.08em;
}
body.page-index .compact-preface .preface-body p{
  margin:0 0 8px;
  color:rgba(255,255,255,.92);
  font-size:.99rem;
  line-height:1.72;
}
body.page-index .compact-preface .preface-body p:last-child{margin-bottom:0;}
@media (max-width:760px){
  body.page-index .top-jump-wrap{width:min(var(--max),calc(100% - 20px));margin:8px auto 4px;text-align:center;}
  body.page-index .top-jump-btn{min-width:96px;padding:5px 14px;font-size:.78rem;}
  body.page-index .feature-topics-section{width:min(var(--max),calc(100% - 20px));margin:8px auto 12px;}
  body.page-index .feature-topics-panel{border-width:4px;border-radius:18px;}
  body.page-index .feature-topics-head{padding:7px 10px;}
  body.page-index .feature-topics-title{font-size:1.04rem;}
  body.page-index .feature-topic-text{padding:14px 15px 15px;}
  body.page-index .feature-topic-block{margin-bottom:16px;padding-bottom:14px;}
  body.page-index .feature-topic-block h2{font-size:1.62rem;line-height:1.33;margin-bottom:7px;}
  body.page-index .feature-topic-block p{font-size:.94rem;line-height:1.52;margin-bottom:6px;}
  body.page-index .compact-preface{padding:0 0 4px;}
  body.page-index .compact-preface .preface-gate{padding:0 15px 16px;border-radius:20px;}
  body.page-index .compact-preface .preface-gate::before{inset:7px;border-radius:12px;}
  body.page-index .compact-preface .preface-title{margin:0 -15px 12px;padding:7px 10px;font-size:.94rem;}
  body.page-index .compact-preface .preface-body,
  body.page-index .compact-preface .preface-body p{font-size:.86rem;line-height:1.56;}
  body.page-index .compact-preface .preface-body p{margin-bottom:6px;}
}
/* ===== end index top entrance update ===== */




/* critical-index-top-mobile-force */
/* critical top entrance styles: inline to avoid stale CSS/cache */
body.page-index .top-jump-wrap{width:min(var(--max),calc(100% - 32px));margin:12px auto 10px;text-align:center;padding:0;}
body.page-index .top-jump-btn{display:inline-flex;align-items:center;justify-content:center;min-width:112px;padding:7px 18px;border-radius:999px;background:linear-gradient(135deg,#4f82c7 0%,#3b66a4 100%);color:#fff;font-size:.82rem;font-weight:700;line-height:1;letter-spacing:.01em;text-decoration:none;box-shadow:0 6px 14px rgba(59,102,164,.22);}
body.page-index .feature-topics-section{display:block;width:min(var(--max),calc(100% - 32px));margin:12px auto 18px;padding:0;}
body.page-index .feature-topics-panel{display:block;background:linear-gradient(180deg,#fff7ef 0%,#fff0e8 100%);border:5px solid #d84f2a;border-radius:22px;box-shadow:0 10px 24px rgba(216,79,42,.13);overflow:hidden;}
body.page-index .feature-topics-head{display:block;margin:0;padding:9px 14px;background:#d84f2a;color:#fff;text-align:center;}
body.page-index .feature-topics-kicker,body.page-index .feature-topics-note{display:none;}
body.page-index .feature-topics-title{display:block;margin:0;color:#fff;font-size:1.18rem;font-weight:800;line-height:1.25;letter-spacing:.04em;text-align:center;}
body.page-index .feature-topic-text{display:block;padding:16px 22px 18px;}
body.page-index .feature-topic-block{display:block;margin:0 0 16px;padding:0 0 12px;border-bottom:1px solid rgba(216,79,42,.2);}
body.page-index .feature-topic-block:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none;}
body.page-index .feature-topic-block h2{display:block;margin:0 0 6px;color:#7f2a18;font-size:1.45rem;font-weight:800;line-height:1.18;letter-spacing:.01em;text-align:left;}
body.page-index .feature-topic-block h2::before{content:none;display:none;}
body.page-index .feature-topic-block p{display:block;margin:0 0 4px;color:#5f4a3d;font-size:.95rem;line-height:1.26;text-align:left;}
body.page-index .feature-topic-block .featured-topic-sub{color:#3d5f78;font-weight:700;}
body.page-index .featured-detail-link{display:inline;color:#1a3d8f;font-weight:800;text-decoration:underline;text-underline-offset:2px;white-space:nowrap;}
body.page-index .compact-preface{margin:0 auto 12px;padding:0;}
body.page-index .compact-preface .preface-gate{padding:0 26px 18px;border-radius:24px;background:radial-gradient(circle at 18% 10%,rgba(255,255,255,.22) 0%,rgba(255,255,255,.06) 32%,rgba(255,255,255,0) 58%),linear-gradient(135deg,#17385f 0%,#1e684f 58%,#8a5a20 100%);color:#fff;box-shadow:0 18px 42px rgba(28,55,77,.18);border:0;overflow:hidden;}
body.page-index .compact-preface .preface-title{display:block;margin:0 -26px 12px;padding:10px 16px 9px;background:rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.18);color:#fff;text-align:center;font-size:1.05rem;font-weight:800;line-height:1.28;letter-spacing:.08em;}
body.page-index .compact-preface .preface-body,body.page-index .compact-preface .preface-body p{color:rgba(255,255,255,.92);font-size:.96rem;line-height:1.54;}
body.page-index .compact-preface .preface-body p{margin:0 0 6px;}
@media (max-width:760px){
  body.page-index .top-jump-wrap{width:min(var(--max),calc(100% - 20px));margin:8px auto 7px;}
  body.page-index .top-jump-btn{min-width:96px;padding:6px 13px;font-size:.74rem;box-shadow:0 5px 12px rgba(59,102,164,.20);}
  body.page-index .feature-topics-section{width:min(var(--max),calc(100% - 20px));margin:8px auto 12px;}
  body.page-index .feature-topics-panel{border-width:4px;border-radius:18px;}
  body.page-index .feature-topics-head{padding:7px 10px;}
  body.page-index .feature-topics-title{font-size:1.02rem;line-height:1.22;text-align:center;}
  body.page-index .feature-topic-text{padding:12px 14px 14px;}
  body.page-index .feature-topic-block{margin-bottom:12px;padding-bottom:10px;}
  body.page-index .feature-topic-block h2{font-size:1.12rem;line-height:1.18;margin-bottom:5px;text-align:left;}
  body.page-index .feature-topic-block p{font-size:.80rem;line-height:1.24;margin-bottom:3px;text-align:left;}
  body.page-index .compact-preface .preface-gate{padding:0 15px 14px;border-radius:20px;}
  body.page-index .compact-preface .preface-title{margin:0 -15px 9px;padding:8px 10px 7px;font-size:.94rem;}
  body.page-index .compact-preface .preface-body,body.page-index .compact-preface .preface-body p{font-size:.84rem;line-height:1.42;}
  body.page-index .compact-preface .preface-body p{margin-bottom:5px;}
}



/* ===== 20260510 theme taxonomy/capsule final overrides ===== */
body.page-index .feature-topic-card[href^="#"]{cursor:pointer;}
body.page-index .site-map .map-theme2 .map-cat,
body.page-index .site-map .map-theme4 .map-cat,
body.page-index .site-map .map-next-election .map-cat,
body.page-index .site-map .map-next-family .map-cat,
body.page-index .site-map .map-next-hard .map-cat{
  background:transparent ;
  border:1.5px solid currentColor ;
  font-size:0.58em ;
  padding:2px 7px ;
  border-radius:999px ;
  line-height:1.15 ;
}
body.page-index .site-map .map-theme2 .map-cat{color:#e8893c ;}
body.page-index .site-map .map-theme4 .map-cat{color:#3e3b35 ;}
body.page-index .site-map .map-next-election .map-cat{color:#4f82c7 ;}
body.page-index .site-map .map-next-family .map-cat{color:#e46a9c ;}
body.page-index .site-map .map-next-hard .map-cat{color:#6e5c43 ;}
body.page-index .column-row .map-cat,
body.page-index .report-row .map-cat{
  font-size:0.50em ;
  padding:1px 6px ;
  line-height:1.12 ;
}
@media (max-width:760px){
  body.page-index .site-map .map-theme2 .map-cat,
  body.page-index .site-map .map-theme4 .map-cat,
  body.page-index .site-map .map-next-election .map-cat,
  body.page-index .site-map .map-next-family .map-cat,
  body.page-index .site-map .map-next-hard .map-cat{
    font-size:0.61rem ;
    padding:3px 8px ;
  }
  body.page-index .column-row .map-cat,
  body.page-index .report-row .map-cat{
    font-size:0.54rem ;
    padding:2px 7px ;
  }
}
/* ===== end 20260510 theme taxonomy/capsule final overrides ===== */


/* ===== 20260510 requested correction: top panels, sitemap order/capsules ===== */
body.page-index .feature-topics-panel{
  padding:0 ;
  overflow:hidden ;
}
body.page-index .feature-topics-head{
  margin:0 ;
  padding:10px 16px ;
  border-bottom:none ;
  background:linear-gradient(90deg,#d83a1d 0%,#f27a22 52%,#d64523 100%) ;
  color:#ffffff ;
  text-align:center ;
}
body.page-index .feature-topics-title{
  color:#ffffff ;
  text-align:center ;
}
body.page-index .feature-topic-text{
  padding:18px 24px 20px ;
}
body.page-index .compact-preface .preface-gate::before{
  display:none ;
  content:none ;
}
body.page-index .compact-preface .preface-title{
  margin:0 0 12px ;
  padding:0 ;
  background:transparent ;
  border:0 ;
  color:#ffffff ;
  text-align:center ;
}
body.page-index .site-map .map-next-energy .map-cat{
  background:#d84f2a ;
  color:#ffffff ;
  border:none ;
  font-size:0.72em ;
  padding:2px 8px ;
  border-radius:6px ;
  line-height:1.2 ;
}
body.page-index .site-map .map-theme2 .map-cat,
body.page-index .site-map .map-theme4 .map-cat,
body.page-index .site-map .map-next-election .map-cat,
body.page-index .site-map .map-next-family .map-cat,
body.page-index .site-map .map-next-hard .map-cat{
  font-size:0.70em ;
  padding:2px 8px ;
}
@media (max-width:760px){
  body.page-index .feature-topics-head{padding:8px 10px ;}
  body.page-index .feature-topic-text{padding:13px 14px 15px ;}
  body.page-index .site-map .map-theme2 .map-cat,
  body.page-index .site-map .map-theme4 .map-cat,
  body.page-index .site-map .map-next-election .map-cat,
  body.page-index .site-map .map-next-family .map-cat,
  body.page-index .site-map .map-next-hard .map-cat{
    font-size:0.61rem ;
    padding:3px 8px ;
  }
  body.page-index .site-map .map-next-energy .map-cat{
    font-size:0.76rem ;
    padding:4px 10px ;
    border-radius:999px ;
  }
}
/* ===== end 20260510 requested correction ===== */


/* ===== 20260510 final targeted fixes: preface gap, main subtitle balance, capsule consistency ===== */
body.page-index .compact-preface .preface-gate{
  padding-top:18px ;
}
body.page-index .compact-preface .preface-title{
  margin:0 0 14px ;
}
body.page-index .hero-band .hero-band-label{
  display:block ;
  margin-bottom:6px ;
}
body.page-index .hero-subtitle{
  max-width:900px ;
  margin-left:auto ;
  margin-right:auto ;
  line-height:1.45 ;
}
body.page-index .site-map .map-next-energy .map-cat{
  font-size:0.72em ;
  padding:2px 8px ;
  border-radius:6px ;
  line-height:1.2 ;
}
@media (max-width:760px){
  body.page-index .compact-preface .preface-gate{
    padding-top:15px ;
  }
  body.page-index .compact-preface .preface-title{
    margin:0 0 10px ;
  }
  body.page-index .hero-subtitle{
    font-size:0.98rem ;
    line-height:1.42 ;
  }
}
/* ===== end 20260510 final targeted fixes ===== */



/* ===== final safety override 20260510 ===== */
body.page-index .feature-topics-panel{padding:0;overflow:hidden;}
body.page-index .feature-topics-head{display:block;width:100%;margin:0;padding:10px 16px;background:linear-gradient(90deg,#cf331d 0%,#f07b22 52%,#d64523 100%);border:0;border-radius:0;color:#fff;text-align:center;}
body.page-index .feature-topics-title{display:block;margin:0;color:#fff;text-align:center;font-weight:800;}
body.page-index .feature-topic-text{padding:18px 24px 20px;}
body.page-index .compact-preface .preface-gate::before{display:none;content:none;}
body.page-index .compact-preface .preface-title{display:block;margin:0 0 14px;padding:0;background:transparent;border:0;color:#fff;text-align:center;}
body.page-index .hero-band{position:relative;padding:50px 16px 20px;overflow:hidden;}
body.page-index .hero-band .hero-band-label{position:absolute;top:10px;left:50%;transform:translateX(-50%);display:inline-flex;align-items:center;justify-content:center;margin:0;padding:4px 16px;border-radius:999px;background:rgba(255,255,255,.96);box-shadow:0 2px 8px rgba(0,0,0,.12);font-size:.92rem;font-weight:800;line-height:1.15;letter-spacing:.03em;color:#2f65aa;white-space:nowrap;}
body.page-index .hero-part5 .hero-band .hero-band-label{color:#d84f2a;}
body.page-index .hero-part3 .hero-band .hero-band-label{color:#4cae75;}
body.page-index .hero-part2 .hero-band .hero-band-label{color:#e8893c;}
body.page-index .hero-part6 .hero-band .hero-band-label{color:#3e3b35;}
body.page-index .hero-election .hero-band .hero-band-label{color:#4f82c7;}
body.page-index .hero-hard .hero-band .hero-band-label{color:#6e5c43;}
body.page-index .site-map .map-next-energy .map-cat{background:#d84f2a;color:#fff;border:none;font-size:1.08rem;padding:4px 12px;border-radius:999px;line-height:1.2;}
body.page-index .site-map .map-theme2 .map-cat,body.page-index .site-map .map-theme4 .map-cat,body.page-index .site-map .map-next-election .map-cat,body.page-index .site-map .map-next-family .map-cat,body.page-index .site-map .map-next-hard .map-cat{background:transparent;border:1.5px solid currentColor;border-radius:999px;font-size:.84em;padding:2px 8px;line-height:1.15;}
body.page-index .site-map .map-theme2 .map-cat{color:#e8893c;}
body.page-index .site-map .map-theme4 .map-cat{color:#3e3b35;}
body.page-index .site-map .map-next-election .map-cat{color:#4f82c7;}
body.page-index .site-map .map-next-family .map-cat{color:#e46a9c;}
body.page-index .site-map .map-next-hard .map-cat{color:#6e5c43;}
@media (max-width:760px){
body.page-index .feature-topics-head{padding:8px 10px;}
body.page-index .feature-topic-text{padding:13px 14px 15px;}
body.page-index .hero-band{padding:42px 12px 16px;}
body.page-index .hero-band .hero-band-label{top:8px;font-size:.74rem;padding:3px 12px;}
body.page-index .site-map .map-next-energy .map-cat{font-size:.86rem;padding:4px 10px;}
body.page-index .site-map .map-theme2 .map-cat,body.page-index .site-map .map-theme4 .map-cat,body.page-index .site-map .map-next-election .map-cat,body.page-index .site-map .map-next-family .map-cat,body.page-index .site-map .map-next-hard .map-cat{font-size:.61rem;padding:3px 8px;}
}
/* ===== end final safety override ===== */




/* === FINAL FIX: theme caption capsule position (2026-05-10) === */
body.page-index .hero-band{
  position:relative ;
  display:flex ;
  flex-direction:column ;
  align-items:center ;
  justify-content:center ;
  gap:7px ;
  padding-top:18px ;
  padding-bottom:18px ;
}
body.page-index .hero-band .hero-band-label{
  position:static ;
  top:auto ;
  left:auto ;
  right:auto ;
  bottom:auto ;
  transform:none ;
  display:inline-flex ;
  align-items:center ;
  justify-content:center ;
  width:auto ;
  max-width:max-content ;
  margin:0 0 2px 0 ;
  padding:4px 16px ;
  border-radius:999px ;
  background:rgba(255,255,255,.96) ;
  border:1.5px solid currentColor ;
  box-shadow:none ;
  font-size:.92rem ;
  font-weight:800 ;
  line-height:1.15 ;
  letter-spacing:.03em ;
  white-space:nowrap ;
  z-index:1 ;
}
body.page-index .hero-band .hero-title{
  margin-top:0 ;
}
body.page-index .hero-band .hero-subtitle{
  margin-top:0 ;
}
body.page-index .hero-slim:not(.hero-part2):not(.hero-part3):not(.hero-part4):not(.hero-part5):not(.hero-part6):not(.hero-election):not(.hero-hard) .hero-band .hero-band-label{color:#2f65aa ;}
body.page-index .hero-part2 .hero-band .hero-band-label{color:#e8893c ;}
body.page-index .hero-part3 .hero-band .hero-band-label{color:#4cae75 ;}
body.page-index .hero-part5 .hero-band .hero-band-label{color:#d84f2a ;}
body.page-index .hero-part6 .hero-band .hero-band-label{color:#3e3b35 ;}
body.page-index .hero-election .hero-band .hero-band-label{color:#4f82c7 ;}
body.page-index .hero-hard .hero-band .hero-band-label{color:#6e5c43 ;}
@media (max-width:760px){
  body.page-index .hero-band{
    gap:5px ;
    padding-top:12px ;
    padding-bottom:12px ;
  }
  body.page-index .hero-band .hero-band-label{
    font-size:.74rem ;
    padding:3px 12px ;
    margin-bottom:1px ;
  }
}


/* === Oil panel related-column cards: same style as energy related columns === */
body.page-index #theme-oil .co2-column-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:22px ;
  padding:20px 20px 20px 24px ;
  box-shadow:var(--shadow);
}
body.page-index #theme-oil .co2-column-card::before{width:7px }
body.page-index #theme-oil .co2-column-hard::before{background:linear-gradient(180deg,#bfc4ca 0%,#727c86 100%)}
body.page-index #theme-oil .co2-column-perovskite::before{background:linear-gradient(180deg,#e5c56f 0%,#b78328 100%)}
body.page-index #theme-oil .co2-column-vehicle::before{background:linear-gradient(180deg,#a7d7f2 0%,#4b93c7 100%)}
body.page-index #theme-oil .co2-column-nuclear::before{background:linear-gradient(180deg,#bfc4ca 0%,#727c86 100%)}
body.page-index #theme-oil .co2-column-card .tag{
  font-size:0.78rem ;
  padding:5px 9px ;
  margin-bottom:10px ;
  background:#f5f1eb ;
  color:#6e604d ;
}
body.page-index #theme-oil .co2-column-card h3{
  display:block ;
  font-size:1.18rem ;
  line-height:1.32 ;
  margin:0 0 8px ;
  text-align:center ;
  color:var(--text);
}
body.page-index #theme-oil .co2-column-card .subline{
  display:block ;
  color:#5f5b57 ;
  font-size:0.96rem ;
  line-height:1.35 ;
  margin:0 0 10px ;
  text-align:center ;
  font-weight:700 ;
}
body.page-index #theme-oil .co2-column-card p{
  color:var(--sub);
  margin:0 0 8px ;
  font-size:0.90rem ;
  line-height:1.38 ;
}
@media (max-width:640px){
  body.page-index #theme-oil .co2-column-card{padding:14px 14px 14px 20px }
  body.page-index #theme-oil .co2-column-card .tag{font-size:0.62rem ;padding:3px 7px ;margin:0 6px 6px 0 }
  body.page-index #theme-oil .co2-column-card h3{display:inline ;font-size:0.92rem ;line-height:1.30 ;text-align:left }
  body.page-index #theme-oil .co2-column-card .subline{clear:both ;font-size:0.78rem ;line-height:1.32 ;text-align:left ;margin-top:5px }
  body.page-index #theme-oil .co2-column-card p{font-size:0.78rem ;line-height:1.34 }
}
/* === End oil panel related-column cards === */


/* === FIX 20260510: next-theme slim caption + oil related column cards === */

/* All next-theme panels use the same slim top caption band.
   This copies the working structure used by the correct next-theme panels. */
body.page-index .hero-slim.hero-part2 > .hero-band,
body.page-index .hero-slim.hero-part4 > .hero-band,
body.page-index .hero-slim.hero-part6 > .hero-band,
body.page-index .hero-slim.hero-election > .hero-band,
body.page-index .hero-slim.hero-hard > .hero-band{
  display:block ;
  margin:-18px -24px 18px ;
  padding:6px 16px ;
  border-radius:0 ;
  text-align:center ;
  color:#fff ;
  font-size:0.95rem ;
  line-height:1.25 ;
  font-weight:800 ;
  letter-spacing:0.03em ;
  box-shadow:none ;
}
body.page-index .hero-slim.hero-part2 > .hero-band{background:#e8893c ;}
body.page-index .hero-slim.hero-part4 > .hero-band{background:#e46a9c ;}
body.page-index .hero-slim.hero-part6 > .hero-band{background:#3e3b35 ;}
body.page-index .hero-slim.hero-election > .hero-band{background:#4f82c7 ;}
body.page-index .hero-slim.hero-hard > .hero-band{background:#6e5c43 ;}

body.page-index .hero-slim.hero-part2 > .hero-title,
body.page-index .hero-slim.hero-part4 > .hero-title,
body.page-index .hero-slim.hero-part6 > .hero-title,
body.page-index .hero-slim.hero-election > .hero-title,
body.page-index .hero-slim.hero-hard > .hero-title{
  padding-top:0 ;
}

/* Oil panel related columns: dedicated column style, not theme-card style. */
body.page-index #theme-oil .oil-related-columns{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
body.page-index #theme-oil .oil-column-card{
  position:relative;
  display:block;
  background:#fff ;
  border:1px solid var(--line) ;
  border-radius:22px ;
  padding:20px 20px 20px 24px ;
  box-shadow:var(--shadow) ;
  overflow:hidden;
}
body.page-index #theme-oil .oil-column-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:7px;
  background:linear-gradient(180deg,#f0a295 0%,#c85f54 100%) ;
}
body.page-index #theme-oil .oil-column-card.co2-column-hard::before{background:linear-gradient(180deg,#bfc4ca 0%,#727c86 100%) ;}
body.page-index #theme-oil .oil-column-card.co2-column-perovskite::before{background:linear-gradient(180deg,#e5c56f 0%,#b78328 100%) ;}
body.page-index #theme-oil .oil-column-card.co2-column-vehicle::before{background:linear-gradient(180deg,#a7d7f2 0%,#4b93c7 100%) ;}
body.page-index #theme-oil .oil-column-card.co2-column-nuclear::before{background:linear-gradient(180deg,#bfc4ca 0%,#727c86 100%) ;}
body.page-index #theme-oil .oil-column-card .tag{
  display:inline-block ;
  font-size:0.76rem ;
  padding:5px 9px ;
  margin:0 0 10px ;
  border-radius:999px ;
  background:#f5f1eb ;
  color:#6e604d ;
  font-weight:700 ;
}
body.page-index #theme-oil .oil-column-card h3{
  display:block ;
  margin:0 0 8px ;
  color:var(--text) ;
  font-size:1.18rem ;
  line-height:1.35 ;
  text-align:left ;
}
body.page-index #theme-oil .oil-column-card .subline{
  display:block ;
  margin:0 0 10px ;
  color:#5f5b57 ;
  font-size:0.94rem ;
  line-height:1.38 ;
  font-weight:700 ;
  text-align:left ;
}
body.page-index #theme-oil .oil-column-card p{
  margin:0 0 8px ;
  color:var(--sub) ;
  font-size:0.88rem ;
  line-height:1.42 ;
}

@media (max-width:760px){
  body.page-index .hero-slim.hero-part2 > .hero-band,
  body.page-index .hero-slim.hero-part4 > .hero-band,
  body.page-index .hero-slim.hero-part6 > .hero-band,
  body.page-index .hero-slim.hero-election > .hero-band,
  body.page-index .hero-slim.hero-hard > .hero-band{
    margin:-12px -16px 9px ;
    padding:5px 12px ;
    font-size:0.74rem ;
  }
  body.page-index #theme-oil .oil-related-columns{
    display:flex ;
    gap:12px ;
    overflow-x:auto ;
    padding:2px 2px 14px ;
    scroll-snap-type:x mandatory ;
    -webkit-overflow-scrolling:touch ;
  }
  body.page-index #theme-oil .oil-column-card{
    flex:0 0 84% ;
    scroll-snap-align:start ;
    padding:14px 14px 14px 20px ;
  }
  body.page-index #theme-oil .oil-column-card .tag{
    font-size:0.60rem ;
    padding:3px 7px ;
    margin:0 6px 6px 0 ;
  }
  body.page-index #theme-oil .oil-column-card h3{
    display:inline ;
    font-size:0.92rem ;
    line-height:1.30 ;
  }
  body.page-index #theme-oil .oil-column-card .subline{
    clear:both ;
    margin-top:5px ;
    font-size:0.78rem ;
    line-height:1.32 ;
  }
  body.page-index #theme-oil .oil-column-card p{
    font-size:0.76rem ;
    line-height:1.34 ;
  }
}
/* === END FIX 20260510 === */


/* === FORCE FIX: next-theme thin band only === */
body.page-index main section.hero .hero-slim > div.hero-band{
  display:block ;
  position:static ;
  width:auto ;
  height:auto ;
  min-height:0 ;
  margin:-18px -24px 18px ;
  padding:6px 16px ;
  border-radius:0 ;
  text-align:center ;
  color:#ffffff ;
  font-size:0.95rem ;
  line-height:1.25 ;
  font-weight:800 ;
  letter-spacing:0.03em ;
  box-shadow:none ;
  transform:none ;
}
body.page-index main section.hero .hero-slim.hero-part2 > div.hero-band{background:#e8893c ;}
body.page-index main section.hero .hero-slim.hero-part4 > div.hero-band{background:#e46a9c ;}
body.page-index main section.hero .hero-slim.hero-part6 > div.hero-band{background:#3e3b35 ;}
body.page-index main section.hero .hero-slim.hero-election > div.hero-band{background:#4f82c7 ;}
body.page-index main section.hero .hero-slim.hero-hard > div.hero-band{background:#6e5c43 ;}

body.page-index main section.hero .hero-slim > h1.hero-title{
  padding-top:0 ;
  margin-top:0 ;
}

@media (max-width:760px){
  body.page-index main section.hero .hero-slim > div.hero-band{
    margin:-12px -16px 9px ;
    padding:5px 12px ;
    font-size:0.74rem ;
    line-height:1.2 ;
  }
}
/* === END FORCE FIX === */


body.page-index #theme-oil .oil-column-card.co2-column-urban-oil::before{
  background:linear-gradient(180deg,#f0b35f 0%,#d48729 100%) ;
}


/* === Next-theme legacy column/card sizing fix === */
/* 従来からあるネクストテーマ内のコラムカードだけ、文字サイズを抑える */
body.page-index #theme-oil .oil-related-columns .inner-card h3,
body.page-index #next-election .inner-grid .inner-card h3,
body.page-index #next-family .inner-grid .inner-card h3{
  font-size:1.02rem ;
  line-height:1.34 ;
  text-align:left ;
}
body.page-index #theme-oil .oil-related-columns .inner-card .subline,
body.page-index #next-election .inner-grid .inner-card .subline,
body.page-index #next-family .inner-grid .inner-card .subline{
  font-size:.86rem ;
  line-height:1.35 ;
  text-align:left ;
}
body.page-index #theme-oil .oil-related-columns .inner-card p,
body.page-index #next-election .inner-grid .inner-card p,
body.page-index #next-family .inner-grid .inner-card p{
  font-size:.80rem ;
  line-height:1.42 ;
}
@media (max-width:760px){
  body.page-index #theme-oil .oil-related-columns .inner-card h3,
  body.page-index #next-election .inner-grid .inner-card h3,
  body.page-index #next-family .inner-grid .inner-card h3{
    font-size:.90rem ;
    line-height:1.30 ;
  }
  body.page-index #theme-oil .oil-related-columns .inner-card .subline,
  body.page-index #next-election .inner-grid .inner-card .subline,
  body.page-index #next-family .inner-grid .inner-card .subline{
    font-size:.76rem ;
    line-height:1.30 ;
  }
  body.page-index #theme-oil .oil-related-columns .inner-card p,
  body.page-index #next-election .inner-grid .inner-card p,
  body.page-index #next-family .inner-grid .inner-card p{
    font-size:.74rem ;
    line-height:1.34 ;
  }
}
/* === End next-theme legacy column/card sizing fix === */

/* === Economic burden caption spacing fix === */
body.page-index #next-energy .hero-band .hero-band-label{
  padding-left:18px ;
  padding-right:18px ;
  min-width:8.5em ;
  white-space:nowrap ;
}
/* === End economic burden caption spacing fix === */


/* === Caption label spacing fix 20260510 === */
/* 色は各HTML側。ここではキャプション位置・余白・行間だけを管理する。 */
body.page-index .hero-band.hero-band-with-label{
  position:relative ;
  display:flex ;
  flex-direction:column ;
  align-items:center ;
  justify-content:center ;
  gap:8px ;
  padding-top:26px ;
  padding-bottom:22px ;
  padding-left:16px ;
  padding-right:16px ;
  overflow:hidden ;
}

body.page-index .hero-band.hero-band-with-label .hero-band-label{
  position:static ;
  transform:none ;
  display:inline-flex ;
  align-items:center ;
  justify-content:center ;
  width:auto ;
  max-width:max-content ;
  margin:0 0 4px 0 ;
  padding:4px 16px ;
  border-radius:999px ;
  background:rgba(255,255,255,.96) ;
  border:1.5px solid currentColor ;
  box-shadow:none ;
  font-size:.92rem ;
  font-weight:800 ;
  line-height:1.15 ;
  letter-spacing:.03em ;
  white-space:nowrap ;
  z-index:1 ;
}

body.page-index .hero-band.hero-band-with-label .hero-title{
  margin-top:0 ;
}

body.page-index .hero-band.hero-band-with-label .hero-subtitle{
  margin-top:0 ;
}

@media (max-width:760px){
  body.page-index .hero-band.hero-band-with-label{
    gap:6px ;
    padding-top:18px ;
    padding-bottom:16px ;
    padding-left:12px ;
    padding-right:12px ;
  }
  body.page-index .hero-band.hero-band-with-label .hero-band-label{
    font-size:.74rem ;
    padding:3px 12px ;
    margin-bottom:2px ;
  }
}
/* === End caption label spacing fix 20260510 === */



/* ===== 20260512 future simulation gate restored / theme000-040 mobile flow ===== */

/* index: simulation panel restored */
body.page-index .future-simulation-gate{
    padding-left:0 ;
    padding-right:0 ;
    margin-left:0 ;
    margin-right:0 ;
}
body.page-index .future-simulation-gate .wrap{
  width:100%;
  max-width:var(--max);
  margin:0 auto;
}
body.page-index .future-simulation-panel{
  position:relative;
  overflow:hidden;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.38);
  background:linear-gradient(135deg,#1f5fae 0%,#2f65aa 45%,#4cae75 100%);
  box-shadow:0 12px 34px rgba(31,95,174,.18);
  color:#ffffff;
  text-align:center;
  padding:28px 28px 30px;
}
body.page-index .future-simulation-panel::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 18% 12%,rgba(255,255,255,.24),transparent 30%),
             radial-gradient(circle at 84% 82%,rgba(255,255,255,.16),transparent 34%);
  pointer-events:none;
}
body.page-index .future-simulation-panel > *{
  position:relative;
  z-index:1;
}
body.page-index .future-simulation-kicker{
  display:inline-block;
  margin:0 0 10px;
  padding:4px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.42);
  color:#ffffff;
  font-size:.120.rem;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.08em;
}
body.page-index .future-simulation-panel h1{
  margin:0 0 10px;
  color:#ffffff;
  font-size:2.05rem;
  line-height:1.32;
  font-weight:800;
  text-shadow:0 2px 10px rgba(0,0,0,.16);
}
body.page-index .future-simulation-panel p{
  max-width:860px;
  margin:.45em auto;
  color:#ffffff;
  font-size:1.02rem;
  line-height:1.72;
}
body.page-index .future-simulation-link-row{
  margin-top:18px;
}
body.page-index .future-simulation-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:190px;
  padding:12px 28px;
  border-radius:999px;
  background:#ffffff;
  color:#2f65aa;
  font-weight:800;
  font-size:1rem;
  line-height:1;
  text-decoration:none;
  box-shadow:0 8px 20px rgba(0,0,0,.14);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
body.page-index .future-simulation-button:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(0,0,0,.18);
  filter:brightness(1.02);
}

/* theme000: long-read design */
body.page-future-cycle{
  margin:0;
  font-family:"Hiragino Sans","Yu Gothic","Meiryo",sans-serif;
  color:#2b241d;
  background:linear-gradient(180deg,#f6fbff 0%,#fffaf4 38%,#fff6ee 100%);
  line-height:1.9;
}
body.page-future-cycle *{box-sizing:border-box;}
body.page-future-cycle a{color:inherit;}
body.page-future-cycle .wrap{
  width:min(1040px,calc(100% - 32px));
  margin:0 auto;
}
body.page-future-cycle header{
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(255,250,244,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(234,216,196,.75);
}
body.page-future-cycle .nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 0;
}
body.page-future-cycle .brand{
  font-weight:700;
  text-decoration:none;
}
body.page-future-cycle .nav-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
body.page-future-cycle .nav-links a{
  padding:8px 12px;
  border-radius:999px;
  color:#6f6256;
  font-size:.82rem;
  text-decoration:none;
}
body.page-future-cycle .nav-links a:hover{
  background:#eef5ff;
  color:#2f65aa;
}
body.page-future-cycle .page-hero{
  color:#ffffff;
  background:linear-gradient(135deg,#1e4f92 0%,#2f65aa 52%,#4cae75 100%);
  padding:64px 0 70px;
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.22);
}
body.page-future-cycle .eyebrow{
  display:inline-block;
  padding:5px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.34);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
}
body.page-future-cycle .page-hero h1{
  margin:18px 0 16px;
  font-size:3rem;
  line-height:1.28;
  font-weight:800;
  letter-spacing:.02em;
  text-shadow:0 2px 10px rgba(0,0,0,.18);
}
body.page-future-cycle .page-hero .lead{
  max-width:920px;
  margin:0;
  font-size:1.12rem;
  line-height:1.85;
  color:#f7fbff;
}
body.page-future-cycle .reading-sheet{
  width:min(980px,calc(100% - 32px));
  margin:-34px auto 0;
}
body.page-future-cycle .article{
  background:#ffffff;
  border:1px solid #ead8c4;
  border-radius:26px;
  box-shadow:0 14px 38px rgba(80,54,23,.10);
  padding:38px 44px 34px;
}
body.page-future-cycle .toc{
  padding:22px 24px;
  border-radius:20px;
  background:linear-gradient(180deg,#f7fbff 0%,#eef5ff 100%);
  border:1px solid #cddbef;
  margin-bottom:34px;
}
body.page-future-cycle .toc h2{
  margin:0 0 10px;
  color:#234b80;
  font-size:1.28rem;
}
body.page-future-cycle .toc ul{
  margin:.2em 0 0 1.2em;
  padding:0;
}
body.page-future-cycle .toc li{
  margin:.22em 0;
}
body.page-future-cycle .toc a{
  color:#1a3d8f;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
}
body.page-future-cycle .long-section{
  margin:0 0 42px;
}
body.page-future-cycle .long-section h2{
  margin:0 0 16px;
  padding-left:15px;
  border-left:7px solid #2f65aa;
  color:#234b80;
  font-size:1.72rem;
  line-height:1.42;
}
body.page-future-cycle .long-section h3{
  margin:24px 0 8px;
  color:#2f65aa;
  font-size:1.15rem;
}
body.page-future-cycle .long-section p{
  margin:.72em 0;
  color:#3f352d;
}
body.page-future-cycle .long-section ul,
body.page-future-cycle .long-section ol{
  margin:.75em 0 1em 1.3em;
  padding:0;
}
body.page-future-cycle .long-section li{
  margin:.32em 0;
}
body.page-future-cycle .opening-list{
  padding:18px 22px;
  margin:18px 0;
  border-radius:18px;
  background:#fffaf4;
  border:1px solid #ead8c4;
}
body.page-future-cycle .quote-line{
  padding:16px 18px;
  border-radius:18px;
  background:#f7fbff;
  border:1px solid #cddbef;
  color:#234b80;
  font-weight:800;
}
body.page-future-cycle table{
  width:100%;
  border-collapse:collapse;
  margin:18px 0 22px;
  overflow:hidden;
  border-radius:14px;
  box-shadow:0 6px 18px rgba(80,54,23,.06);
}
body.page-future-cycle th,
body.page-future-cycle td{
  border:1px solid #e6d8c8;
  padding:12px 14px;
  vertical-align:top;
}
body.page-future-cycle th{
  background:#eef5ff;
  color:#234b80;
  text-align:left;
}
body.page-future-cycle .back-to-top,
body.page-future-cycle .footer-links{
  text-align:center;
  color:#6f6256;
  font-size:.95rem;
}
body.page-future-cycle .back-to-top{
  margin:20px 0 8px;
}
body.page-future-cycle .footer-links{
  margin:12px 0 0;
  padding-top:14px;
  border-top:1px solid #ead8c4;
}
body.page-future-cycle .footer-links a,
body.page-future-cycle .back-to-top a{
  color:#2f65aa;
  font-weight:700;
  text-decoration:none;
  padding:2px 4px;
  border-radius:4px;
}
body.page-future-cycle .footer-links a:hover,
body.page-future-cycle .back-to-top a:hover{
  background:#2f65aa;
  color:#fff;
}
body.page-future-cycle .mobile-back-bottom{
  display:none;
  text-align:center;
  margin:24px 0 4px;
}
body.page-future-cycle 

/* smartphone: terminal links are hidden on the five target pages; back button stays */
@media(max-width:760px){
  body.page-index .future-simulation-gate{
    margin:10px auto 12px;
    padding:0 10px;
  }
  body.page-index .future-simulation-panel{
    border-radius:18px;
    padding:20px 16px 22px;
  }
  body.page-index .future-simulation-panel h1{
    font-size:1.38rem;
    line-height:1.35;
  }
  body.page-index .future-simulation-panel p{
    font-size:.84rem;
    line-height:1.62;
  }
  body.page-index .future-simulation-button{
    min-width:160px;
    padding:11px 22px;
    font-size:.82rem;
  }

  body.page-future-cycle{
    line-height:1.68;
  }
  body.page-future-cycle .wrap{
    width:min(1040px,calc(100% - 20px));
  }
  body.page-future-cycle .nav{
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
    padding:10px 0;
  }
  body.page-future-cycle .nav-links{
    gap:4px;
  }
  body.page-future-cycle .nav-links a{
    font-size:.78rem;
    padding:5px 7px;
  }
  body.page-future-cycle .page-hero{
    padding:38px 0 50px;
  }
  body.page-future-cycle .page-hero h1{
    font-size:1.65rem;
    line-height:1.35;
  }
  body.page-future-cycle .page-hero .lead{
    font-size:.9rem;
    line-height:1.7;
  }
  body.page-future-cycle .reading-sheet{
    width:min(1040px,calc(100% - 8px));
    margin:0 auto;
}
  body.page-future-cycle .article{
    border-radius:20px;
    padding:18px 16px 20px;
}
  body.page-future-cycle .toc{
    padding:16px 15px;
    border-radius:12px;
    margin-bottom:26px;
  }
  body.page-future-cycle .toc h2{
    font-size:1.05rem;
  }
  body.page-future-cycle .toc li{
    font-size:.84rem;
    line-height:1.5;
  }
  body.page-future-cycle .long-section{
    margin-bottom:30px;
  }
  body.page-future-cycle .long-section h2{
    font-size:1.18rem;
    padding-left:10px;
    border-left-width:5px;
  }
  body.page-future-cycle .long-section h3{
    font-size:1rem;
  }
  body.page-future-cycle .long-section p,
  body.page-future-cycle .long-section li{
    font-size:.86rem;
  }
  body.page-future-cycle th,
  body.page-future-cycle td{
    font-size:.82rem;
    padding:8px;
  }
  body.page-future-cycle .mobile-back-bottom{
    display:block;
  }
  body.page-future-cycle .back-to-top,
  body.page-future-cycle .footer-links{
    display:none;
  }
}
/* ===== end 20260512 future simulation gate restored / theme000-040 mobile flow ===== */








/* ===== 20260512 medical education linked column card ===== */
body.page-index .column-medical-education-card::before{
  background:linear-gradient(180deg,#a8dbe3 0%,#61aebd 100%);
}
body.page-index .column-medical-education-card h3{
  color:#367d8b;
}
body.page-index .column-medical-education-card .tag{
  background:#e8f6f8;
  color:#367d8b;
}
body.page-index .column-medical-education-card .subline{
  color:#486d75;
}
/* ===== end 20260512 medical education linked column card ===== */




/* =========================================================
   THEME PAGE TEMPLATE SYSTEM
   Based on theme110
========================================================= */

body.theme-page{
  background:linear-gradient(180deg,#fffaf4 0%,#fff6ee 100%);
  color:var(--text);
  line-height:1.9;
}

body.theme-page .hero{
  padding:34px 0 24px;
}

body.theme-page .hero-box{
  background:linear-gradient(180deg,#ffffff 0%,#fff9f2 100%);
  border:1px solid var(--line);
  border-radius:26px;
  box-shadow:var(--shadow);
  padding:34px 38px;
}

body.theme-page .hero .tag{
  display:inline-block;
  margin-bottom:14px;
  padding:6px 12px;
  border-radius:999px;
  background:var(--soft);
  color:var(--accent-deep);
  font-size:.78rem;
  font-weight:800;
}

body.theme-page .hero h1{
  margin:0 0 10px;
  color:var(--accent-deep);
  font-size:2.3rem;
  line-height:1.34;
}

body.theme-page .hero .subline{
  display:block;
  margin-bottom:18px;
  color:#5f5b57;
  font-size:1.16rem;
  line-height:1.5;
  font-weight:700;
}

body.theme-page .hero .lead{
  margin:0;
  color:var(--sub);
  font-size:1rem;
  line-height:1.9;
}

body.theme-page .panel{
  background:#fff;
  border:1px solid var(--line);
  border-radius:26px;
  box-shadow:var(--shadow);
  padding:38px 44px 34px;
}

body.theme-page .panel h2{
  margin:0 0 16px;
  padding-left:15px;
  border-left:7px solid var(--accent);
  color:var(--accent-deep);
  font-size:1.58rem;
  line-height:1.42;
}

body.theme-page .panel p{
  margin:.8em 0;
  color:#3f352d;
  font-size:1rem;
  line-height:1.9;
}

body.theme-page .quote{
  margin:22px 0;
  padding:18px 20px;
  border-radius:18px;
  background:linear-gradient(180deg,#f7fbff 0%,#eef5ff 100%);
  border:1px solid #cddbef;
  font-weight:700;
  line-height:1.8;
}

body.theme-page 

body.theme-page 



/* smartphone */

@media(max-width:760px){

  body.theme-page .hero{
    padding:18px 0 14px;
  }

  body.theme-page .hero-box{
    padding:24px 18px;
    border-radius:20px;
  }

  body.theme-page .hero h1{
    font-size:1.6rem;
    line-height:1.38;
  }

  body.theme-page .hero .subline{
    font-size:.96rem;
  }

  body.theme-page .hero .lead{
    font-size:.88rem;
    line-height:1.75;
  }

  body.theme-page .panel{
    padding:24px 17px;
    border-radius:20px;
  }

  body.theme-page .panel h2{
    font-size:1.16rem;
    padding-left:10px;
    border-left-width:5px;
  }

  body.theme-page .panel p{
    font-size:.88rem;
    line-height:1.75;
  }

  body.theme-page .quote{
    padding:14px 15px;
    border-radius:15px;
    font-size:.88rem;
  }
}

/* =========================================================
   END THEME PAGE TEMPLATE SYSTEM
========================================================= */



/* =========================================================
   theme100 recovery fixes
========================================================= */

body.theme-page .wrap{
  width:min(var(--max),calc(100% - 32px));
  margin:0 auto;
}

body.theme-page .reading{
  width:min(980px,calc(100% - 32px));
  margin:28px auto 0;
}

body.theme-page .diagram-section{
  margin:0 auto;
}

body.theme-page .diagram-box{
  background:#fff;
  border:1px solid var(--line);
  border-radius:26px;
  box-shadow:var(--shadow);
  padding:20px;
}

body.theme-page .diagram-box img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  border-radius:18px;
}

body.theme-page .panel{
  max-width:100%;
  overflow:hidden;
}

body.theme-page 

@media(max-width:760px){

  body.theme-page .wrap{
    width:min(var(--max),calc(100% - 20px));
  }

  body.theme-page .reading{
    width:min(980px,calc(100% - 18px));
    margin:18px auto 0;
  }

  body.theme-page .diagram-box{
    padding:10px;
    border-radius:20px;
  }

  body.theme-page .diagram-box img{
    border-radius:14px;
  }
}

/* ========================================================= */














/* ===== FINAL THEME TEMPLATE FOOTER ===== */

body.theme-page .page-top-link{
  text-align:center;
  margin:10px 0 2px;
  line-height:1.15;
  font-size:.95rem;
}

body.theme-page .page-top-link a{
  color:var(--accent-deep);
  font-weight:700;
  text-decoration:none;
}

body.theme-page .footer-back{
  display:flex;
  justify-content:center;
  align-items:center;
  margin:4px auto 12px;
}

body.theme-page footer{
  padding-top:8px;
}

body.theme-page .footer-links{
  display:none ;
}

/* ===== END FINAL THEME TEMPLATE FOOTER ===== */



/* ===== navigation hotfix v4 ===== */

body.page-index .panel-btn,
body.page-index .panel-btn:visited{
 color:#ffffff ;
 text-decoration:none ;
}

body.page-index .panel-main{
 background:#2f65aa ;
}

body.page-index .panel-policy{
 background:#aeb7c2 ;
 color:#1f2933 ;
}

body.page-index .panel-next{
 background:#4cae75 ;
}

body.page-index .panel-report{
 background:#63b8e8 ;
}

body.page-index .panel-about{
 background:#f39a32 ;
}

body.page-index .panel-btn{
 border:1px solid rgba(255,255,255,0.18);
}

@media (max-width:640px){

 body.page-index .global-panels{
  grid-template-columns:repeat(2,minmax(0,1fr)) ;
 }

 body.page-index .panel-main{
  grid-column:1/-1;
 }

 body.page-index .panel-btn{
  min-height:44px ;
  padding:8px 10px ;
  font-size:.72rem ;
  line-height:1.25 ;
 }

 body.page-index .panel-label{
  display:block;
  word-break:keep-all;
 }

 body.page-index .panel-arrow{
  font-size:.8rem ;
 }
}

/* ===== end navigation hotfix v4 ===== */


/* ===== navigation redesign v5 ===== */

body.page-index{
 padding-top:96px;
}

body.page-index .global-site-title{
 text-align:center;
 font-size:.88rem;
 font-weight:800;
 letter-spacing:.12em;
 color:#5b5148;
 margin-bottom:8px;
}

body.page-index .panel-btn{
 justify-content:center ;
 text-align:center ;
}

body.page-index .panel-label{
 display:block;
 width:100%;
 text-align:center;
 font-size:1rem;
 font-weight:800;
 letter-spacing:.02em;
 text-shadow:
  0 1px 2px rgba(0,0,0,0.22),
  0 0 8px rgba(255,255,255,0.08);
}

body.page-index .panel-arrow{
 display:none ;
}

body.page-index .panel-btn{
 min-height:52px ;
 border-radius:14px ;
}



@media (max-width:900px){

 body.page-index{
  padding-top:128px;
 }

 body.page-index .panel-label{
  font-size:.88rem;
 }
}

@media (max-width:640px){

 body.page-index{
  padding-top:152px;
 }

 body.page-index .global-site-title{
  font-size:.72rem;
  margin-bottom:6px;
 }

 body.page-index .panel-btn{
  min-height:46px ;
 }

 body.page-index .panel-label{
  font-size:.78rem;
  line-height:1.25;
 }
}

/* ===== end navigation redesign v5 ===== */


/* ===== urgent policy color adjustment ===== */

body.page-index .panel-policy{
 background:linear-gradient(135deg,#e85a43 0%,#c93a27 100%) ;
 color:#ffffff ;
}

body.page-index .panel-policy .panel-label{
 color:#ffffff ;
 text-shadow:
  0 1px 2px rgba(0,0,0,0.28),
  0 0 10px rgba(255,255,255,0.10);
}

/* ===== end urgent policy color adjustment ===== */


/* ===== smartphone menu visibility tuning ===== */

body.page-index .global-site-title{
 font-size:.70rem ;
 font-weight:700 ;
 opacity:.82;
}

@media (max-width:640px){

 body.page-index .global-site-title{
  font-size:.58rem ;
  letter-spacing:.08em ;
  margin-bottom:4px ;
 }

 body.page-index .global-panels{
  grid-template-columns:repeat(2,minmax(0,1fr)) ;
  gap:8px ;
 }

 body.page-index .panel-btn{
  display:flex ;
  align-items:center ;
  justify-content:center ;
  background-clip:padding-box ;
  border-radius:12px ;
  border:2px solid rgba(255,255,255,0.22) ;
  box-shadow:
   0 4px 12px rgba(0,0,0,0.12),
   inset 0 1px 0 rgba(255,255,255,0.18) ;
 }

 body.page-index .panel-label{
  font-size:.82rem ;
  font-weight:900 ;
  line-height:1.25 ;
  text-align:center ;
 }

 body.page-index .panel-main{
  grid-column:1/-1;
 }
}

/* ===== end smartphone menu visibility tuning ===== */


/* =========================================================
   FINAL SMARTPHONE FORCE OVERRIDE
   ========================================================= */

@media screen and (max-width: 640px){

html body.page-index .global-header{
 position:fixed ;
 top:0 ;
 left:0 ;
 width:100% ;
 z-index:99999 ;
}

html body.page-index{
 padding-top:150px ;
}

html body.page-index .global-site-title{
 display:block ;
 text-align:center ;
 font-size:0.56rem ;
 font-weight:700 ;
 line-height:1.2 ;
 margin:0 0 4px ;
 color:#6a6057 ;
}

html body.page-index .global-panels{
 display:grid ;
 grid-template-columns:1fr 1fr ;
 gap:8px ;
}

html body.page-index .panel-main{
 grid-column:1 / -1 ;
}

html body.page-index .panel-btn{
 display:flex ;
 align-items:center ;
 justify-content:center ;

 min-height:46px ;
 padding:8px 10px ;

 border-radius:12px ;

 border:2px solid rgba(255,255,255,0.20) ;

 box-shadow:
  0 4px 12px rgba(0,0,0,0.14),
  inset 0 1px 0 rgba(255,255,255,0.18) ;

 text-align:center ;

 opacity:1 ;
}

html body.page-index .panel-label{
 display:block ;

 font-size:0.82rem ;
 font-weight:900 ;
 line-height:1.2 ;

 text-align:center ;

 text-shadow:
  0 1px 2px rgba(0,0,0,0.28),
  0 0 6px rgba(255,255,255,0.08) ;
}

html body.page-index .panel-main{
 background:#2f65aa ;
}

html body.page-index .panel-policy{
 background:#d84c35 ;
}

html body.page-index .panel-next{
 background:#4cae75 ;
}

html body.page-index .panel-report{
 background:#63b8e8 ;
}

html body.page-index .panel-about{
 background:#f39a32 ;
}

}

/* =========================================================
   END FINAL SMARTPHONE FORCE OVERRIDE
   ========================================================= */


/* =========================================================
   COMPACT SMARTPHONE HEADER TUNING
   ========================================================= */

@media screen and (max-width:640px){

html body.page-index{
 padding-top:118px ;
}

html body.page-index .global-header{
 border-bottom:1px solid rgba(220,210,200,0.75) ;
}

html body.page-index .nav-shell{
 padding:4px 0 6px ;
 gap:5px ;
}

html body.page-index .global-site-title{
 font-size:0.50rem ;
 margin:0 0 2px ;
 opacity:.72 ;
}

html body.page-index .global-panels{
 gap:6px ;
}

html body.page-index .panel-btn{

 min-height:34px ;

 padding:5px 8px ;

 border-radius:10px ;

 border:1px solid rgba(255,255,255,0.14) ;

 box-shadow:
  0 2px 7px rgba(0,0,0,0.10),
  inset 0 1px 0 rgba(255,255,255,0.10) ;
}

html body.page-index .panel-label{
 font-size:0.70rem ;
 line-height:1.1 ;
 letter-spacing:0 ;

 text-shadow:
  0 1px 1px rgba(0,0,0,0.20) ;
}

}

/* =========================================================
   END COMPACT SMARTPHONE HEADER TUNING
   ========================================================= */


/* disable hover actions */

body.page-index .panel-btn,
body.page-index .panel-btn:hover{
    transform:none ;
    filter:none ;
    opacity:1 ;
    box-shadow:none ;
    transition:none ;
}


/* ===== index3 green theme override ===== */

body.page-index .hero-election{
background:linear-gradient(180deg,#f7fcf8 0%,#edf8f0 100%) ;
border:2px solid #58a878 ;
}

body.page-index .hero-election .hero-band{
background:#58a878 ;
}

body.page-index .hero-election .hero-title{
color:#2f7650 ;
}

body.page-index .hero-election .hero-subtitle{
color:#4d6b58 ;
}


/* ===== header spacing fix only ===== */


.global-panels{
    margin-bottom:16px ;
}


.global-site-title{
    padding:6px 0;

    font-size:80%;
    font-weight:bold;
    text-align:center;
}

/* unified theme110 paragraph system */
body.page-index .card p,
body.page-index .inner-card p,
body.page-index .subtheme-card p{
font-size:1.02rem;
line-height:1.95;
margin:0 0 1.15em 0;
}

@media (max-width:640px){
body.page-index .card p,
body.page-index .inner-card p,
body.page-index .subtheme-card p{
font-size:1rem;
line-height:1.9;
}
}


/* NEXT THEME template adjustments */

body.page-index .nav-links{
    display:none ;
}
body.page-index .brand{
    width:100%;
    text-align:center;
    align-items:center;
}




body.page-index 


/* ===== corrected centered back button ===== */

body.page-index 

body.page-index 

body.page-index 

/* ===== remove excessive spacing ===== */

body.page-index section{
    padding:0 ;
}

body.page-index .hero{
    padding:0 ;
    margin:0 ;
}

body.page-index .hero-slim{
    margin:0 ;
}

body.page-index .footer-links{
    margin:8px 0 0 ;
    padding-top:8px ;
}

body.page-index footer{
    padding-top:4px ;
}

body.page-index .wrap{
    margin-top:0 ;
}





/* ===== canonical slim back button ===== */

.back-slim{
    display:inline-flex ;
    align-items:center ;
    justify-content:center ;

    width:96px ;
    height:34px ;

    border-radius:999px ;

    background:#8c8c8c ;
    border:1px solid #6d6d6d ;

    color:#ffffff ;
    text-decoration:none ;

    font-size:.84rem ;
    font-weight:700 ;

    line-height:1 ;

    padding:0 ;
    margin:0 ;

    box-shadow:none ;
    transition:.18s ease;
}

.back-slim:hover{
    background:#666666 ;
    color:#ffffff ;
}

.proposal-main{ padding:4px 20px 32px ; }


/* ===== unified header offset fix ===== */

body.page-index .proposal-main{
    margin-top:110px ;
}

@media (max-width:760px){

body.page-index .proposal-main{
    margin-top:96px ;
}

}





/* index3 スマホ余白最適化 */
@media (max-width:760px){

body.page-index .hero-slim{
    padding-left:10px ;
    padding-right:10px ;
}

body.page-index .hero-band{
    margin-left:-10px ;
    margin-right:-10px ;
}

body.page-index .inner-grid .inner-card:not(.subtheme-card),
body.page-index #column .card,
body.page-index .report-section .card{
    flex-basis:92% ;
}

}


/* ===== unified smartphone side spacing ===== */

@media (max-width:760px){

body.page-index .wrap{
    width:min(var(--max),calc(100% - 12px)) ;
}

.proposal-main{
    padding-left:6px ;
    padding-right:6px ;
}

body.page-index .hero-slim{
    padding-left:12px ;
    padding-right:12px ;
}

}







/* 地域代表リンクパネル */

.region-link-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

@media (max-width:760px){

.region-link-grid{
    grid-template-columns:1fr ;
}

}


@media (max-width:760px){
body.page-index p{
font-size:0.9rem;
line-height:1.25;
margin:0 0 .25em;
}
}




/* ===== 地域代表リンクパネル修正 ===== */

.region-link-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

@media (max-width:760px){

body.page-index .region-link-grid{
    display:flex ;
    flex-direction:column ;
    gap:14px ;
}

body.page-index .region-link-grid .inner-card{
    width:100% ;
    min-width:0 ;
}

body.page-index .region-link-grid > div[style*="visibility:hidden"]{
    display:none ;
}

}



/* ===== TEMP DISABLE BY OVERRIDE ONLY (do not delete old definitions) ===== */
/* First panel restoration test */
body.page-index .hero-first-panel-fix{
    padding:0 24px 24px ;
    overflow:hidden;
}

body.page-index .hero-first-panel-fix .hero-band{
    margin:0 -24px 0 ;
    padding:14px 16px 18px ;
    background:linear-gradient(90deg,#2f65aa 0%, #cfd9e6 100%) ;
    border-radius:0 ;
}

body.page-index .hero-first-panel-fix .hero-band-label{
    display:inline-block;
    background:#ffffff;
    color:#2f65aa;
    border-radius:999px;
    padding:4px 12px;
    font-size:.85rem;
    font-weight:700;
    margin-bottom:14px;
}

body.page-index .hero-first-panel-fix .hero-title{
    color:#ffffff ;
    text-align:center;
    margin:0 0 14px ;
}

body.page-index .hero-first-panel-fix .hero-subtitle{
    color:#ffffff ;
    margin:0 ;
    padding-bottom:8px;
}



/* ===== TEMP FIRST PANEL FIX (non-destructive override) ===== */
body.page-index .hero-first-panel-fix{
background:#fff8f6 ;
border:8px solid #d56a5f ;
border-radius:28px ;
overflow:hidden;
}

body.page-index .hero-first-panel-fix .hero-band{
background:linear-gradient(
90deg,
#c65a50 0%,
#d56a5f 45%,
#e7c7c1 100%
) ;
color:#ffffff ;
}

body.page-index .hero-first-panel-fix .hero-title{
color:#ffffff ;
text-shadow:none ;
}

body.page-index .hero-first-panel-fix .hero-subtitle{
color:#fff7f5 ;
}


/* ===== second refinement ===== */
body.page-index .hero-first-panel-fix{
border:6px solid #d56a5f ;
}

body.page-index .hero-first-panel-fix .hero-band{
padding-top:32px ;
background:linear-gradient(
90deg,
#c65a50 0%,
#d56a5f 45%,
#efc6bf 100%
) ;
}

body.page-index .hero-first-panel-fix .hero-title{
color:#fffaf8 ;
}


/* ===== URGENT PANEL (isolated from hero-band system) ===== */
body.page-index .hero-urgent{
background:#fff8f6;
border:6px solid #d56a5f;
border-radius:28px;
overflow:hidden;
}

body.page-index .hero-urgent-band{
position:relative;
margin:-18px -24px 18px;
padding:28px 16px 20px;
background:linear-gradient(90deg,#c85f54 0%,#d56a5f 45%,#efc6bf 100%);
text-align:center;
}

body.page-index .hero-urgent-title{
color:#fffaf8;
font-size:2.34rem;
font-weight:700;
line-height:1.38;
text-align:center;
margin:0 0 10px;
}

body.page-index .hero-urgent-subtitle{
color:#fff4f1;
font-size:1.48rem;
font-weight:700;
text-align:center;
line-height:1.34;
margin:0;
}

body.page-index .hero-urgent .hero-band-label{
display:inline-block;
margin-bottom:14px;
}


/* ===== urgent panel final tuning ===== */
body.page-index .hero-urgent{
background:#fff8f6 ;
border:8px solid #d56a5f ;
border-radius:28px ;
overflow:hidden ;
}

body.page-index .hero-urgent-band{
position:relative ;
margin:0 -24px 18px ;
padding:36px 16px 20px ;
background:linear-gradient(90deg,#c4574b 0%,#d56a5f 45%,#eab3ab 100%) ;
text-align:center ;
}

body.page-index .hero-urgent .hero-band-label{
position:absolute ;
top:-14px ;
left:50% ;
transform:translateX(-50%) ;
margin:0 ;
z-index:10 ;
}

body.page-index .hero-urgent-title{
color:#fffaf8 ;
}

body.page-index .hero-urgent-subtitle{
color:#fff4f1 ;
}


/* final adjustment */
body.page-index .hero-urgent{
    border-width:6px ;
}

body.page-index .hero-urgent .hero-band-label{
    top:8px ;
}


/* hero urgent rebuilt */
body.page-index .hero-urgent{
  background:#fff8f6 ;
  border:6px solid #d56a5f ;
  border-radius:28px ;
  overflow:hidden ;
  padding:0 ;
}

body.page-index .hero-urgent-band{
  position:relative ;
  margin:0 ;
  padding:26px 24px 18px ;
  background:linear-gradient(90deg,#c4574b 0%,#d56a5f 45%,#eab3ab 100%) ;
  text-align:center ;
}

body.page-index .hero-urgent .hero-band-label{
  position:absolute ;
  top:10px ;
  left:50% ;
  transform:translateX(-50%) ;
  background:#ffffff ;
  color:#d56a5f ;
  border-radius:999px ;
  padding:4px 14px ;
  font-weight:700 ;
}

body.page-index .hero-urgent-title{
  margin-top:28px ;
  color:#fff ;
}

body.page-index .hero-urgent-subtitle{
  color:#fff ;
}

body.page-index .hero-urgent > br:first-of-type{
 display:none ;
}

body.page-index .hero-urgent p,
body.page-index .hero-urgent .inner-grid{
  margin-left:24px;
  margin-right:24px;
}


/* ===== circulation panel rebuilt ===== */
body.page-index .hero-circulation{
  background:#fff8f6 ;
  border:6px solid #d56a5f ;
  border-radius:28px ;
  overflow:hidden ;
  padding:0 ;
}

body.page-index .hero-circulation-band{
  position:relative ;
  margin:0 ;
  padding:26px 24px 18px ;
  background:linear-gradient(90deg,#c4574b 0%,#d56a5f 45%,#eab3ab 100%) ;
  text-align:center ;
}

body.page-index .hero-circulation .hero-band-label{
  position:absolute ;
  top:10px ;
  left:50% ;
  transform:translateX(-50%) ;
  background:#fff ;
  color:#d56a5f ;
  border-radius:999px ;
  padding:4px 14px ;
  font-weight:700 ;
}

body.page-index .hero-circulation .hero-title{
  margin-top:28px ;
  color:#fff ;
}

body.page-index .hero-circulation .hero-subtitle{
  color:#fff ;
}


/* ===== 東京循環パネル調整 ===== */
body.page-index .hero-part3{
background:#fcf1ef ;
border-color:#d56a5f ;
padding:28px 28px 32px ;
}

body.page-index .hero-part3 .hero-band{
background:linear-gradient(90deg,#2f65aa 0%,#6d95c9 100%) ;
padding:16px 18px 20px ;
margin:-28px -28px 22px ;
}

body.page-index .hero-part3 .inner-grid{
align-items:stretch ;
gap:18px ;
}

body.page-index .hero-part3 .inner-card,
body.page-index .hero-part3 .card{
background:#ffffff ;
}

body.page-index .hero-part3 .theme-promoted{
background:#ffffff ;
}

body.page-index .hero-part3 .subtheme-card{
background:#ffffff ;
}


/* === Theme3 panel tuning 2026-05 === */
body.page-index .hero-circulation{
    border:8px solid #2f65aa ;
    background:#fcf1ef ;
    padding:24px ;
}
body.page-index .hero-circulation .hero-band{
    margin:-24px -24px 20px ;
}
body.page-index .hero-circulation .inner-card{
    background:#ffffff ;
}


/* === Theme3 final adjustment === */
.hero-circulation,
.hero-blue{
    padding-top:18px ;
}
.hero-circulation .hero-band,
.hero-blue .hero-band{
    margin-top:-18px ;
}


/* ===== FINAL FIXES ===== */

/* Theme3 upper band flush to frame */
body.page-index .hero-circulation,
body.page-index .hero-part3{
    padding-top:0 ;
    background:#fcf1ef ;
}

body.page-index .hero-circulation .hero-band,
body.page-index .hero-part3 .hero-band,
body.page-index .hero-circulation-band{
    margin:0 ;
}

/* Unify paragraph spacing inside cards */
body.page-index .inner-card p,
body.page-index .card p,
body.page-index .subtheme-card p,
body.page-index .theme-promoted p{
    font-size:1.02rem ;
    line-height:1.36 ;
    margin:0 0 .20em ;
}


/* コラムパネル 2×2固定 */
body.page-index #column .grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) ;
    gap:18px ;
}

@media(max-width:760px){
    body.page-index #column .grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) ;
        display:grid ;
    }
}


/* ===== Menu Layout (structure only) ===== */
.menu-main{
  min-height:72px;
  font-size:1.15rem;
  font-weight:700;
}
.menu-sub{
  min-height:48px;
  font-size:.95rem;
  font-weight:700;
}


/* theme130/160/170 スマホ時タイトルサイズ修正 */
@media (max-width:760px){
body.page-index .hero-title{
    font-size:2.2rem ;
    line-height:1.25 ;
}
body.page-index .hero-subtitle{
    font-size:1.25rem ;
    line-height:1.35 ;
}
}


/* health infrastructure pages title hierarchy fix */
@media (max-width:760px){
.future-simulation-panel h1{
    font-size:2.1rem ;
    line-height:1.25 ;
}
.future-simulation-panel > h2,
.future-simulation-panel h2{
    font-size:1.35rem ;
    line-height:1.35 ;
}
.future-simulation-panel .subline h2{
    font-size:1.0rem ;
    line-height:1.2 ;
}
}


/* ===== unified back button system ===== */

/* legacy classes kept but neutralized */

.back-nav-light{}
.back-nav-compact{}

/* unified navigation alignment */
.back-nav,
.back-nav-light,
.back-nav-compact{
    text-align:center;
    margin:10px 0 16px;
}



.


/* 2026-06-01: main menu size adjustment on mobile */
@media (max-width:760px){
.inline-nav-wrap a:nth-child(1),
.inline-nav-wrap a:nth-child(2){
    font-size:1.05rem !important;
    font-weight:800;
}
}


/* Larger mobile menu buttons */
@media (max-width:760px){
.inline-nav-wrap a{
    min-height:52px !important;
    height:52px !important;
    font-size:0.95rem !important;
    padding:10px 8px !important;
}

.inline-nav-wrap a:nth-child(1),
.inline-nav-wrap a:nth-child(2){
    font-size:1.05rem !important;
}
}








.back-button{
  display:block;

  width:120px;
  margin:12px auto;

  padding:6px 0;

  background:#a8a8a8;

  color:#ffffff !important;
  text-decoration:none !important;

  text-align:center !important;

  font-size:.82rem;
  font-weight:700;

  border-radius:999px;

  box-sizing:border-box;

  line-height:1.2;

  box-shadow:none;

  transition:
    transform .18s ease,
    box-shadow .18s ease,
    background .18s ease;
}

.back-button:hover{
  background:#959595;
  color:#ffffff !important;

  transform:translateY(-1px);

  box-shadow:0 4px 12px rgba(0,0,0,.22);
}




/* 2026-06 gap cleanup */
body.page-index .proposal-main{
    padding-top:0;
    margin-top:0;
}

body.page-index .hero-slim{
    margin-top:0;
}

.back-button{
    margin-bottom:0;
}

.future-title{
    font-size:3rem;
}

@media(max-width:760px){
    .future-title{
        font-size:1.6rem;
    }
}

.future-panel{
    padding:40px;
}

@media(max-width:760px){
    .future-panel{
        padding:16px;
    }
}