
:root{--paper:#fff;--ink:#56331f;--orange:#ff7900;--orange-dark:#ad4400;--blue:#169fe4;--blue-dark:#006a9f;--orange-pale:#fff3e7;--blue-pale:#edf8fe;--line:#e7dfd7;--muted:#725e50;--round:"Hiragino Maru Gothic ProN","ヒラギノ丸ゴ ProN","Yu Gothic",Meiryo,sans-serif;--sans:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.95 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,summary{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue-dark);outline-offset:5px}::selection{background:#ffe0bb;color:var(--ink)}.wrap{max-width:1240px;margin:auto;padding:0 56px;min-width:0}.skip{position:fixed;z-index:10;left:1rem;top:-5rem;background:white;padding:.5rem 1rem;border:2px solid var(--blue-dark);border-radius:12px}.skip:focus{top:1rem}.header{background:white;border-bottom:1px solid var(--line)}.header-inner{min-height:144px;display:flex;align-items:center;justify-content:space-between;gap:28px;padding-top:12px;padding-bottom:12px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:20px;max-width:100%}.brand-logo{width:112px;height:112px;object-fit:contain;flex:0 0 112px}.brand-name{display:inline-flex;flex-direction:column;flex:0 0 auto;font-family:var(--round);font-size:2rem;font-weight:800;letter-spacing:.035em;line-height:1.3;color:var(--orange-dark);white-space:nowrap}.brand-title{display:block;margin-right:-.035em}.brand-sub{display:flex;justify-content:space-between;align-items:center;align-self:center;width:calc(100% - 8px);font:650 .95rem/1.3 var(--sans);letter-spacing:0;color:var(--blue-dark);margin-top:0}.brand-sub>span{flex:0 0 auto;white-space:pre}.nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:.875rem;font-weight:600}.nav a{padding:9px 13px;border-radius:999px;overflow-wrap:anywhere;transition:background .15s}.nav a:hover{background:var(--orange-pale);color:var(--orange-dark)}.hero{padding:45px 0 0;background:linear-gradient(125deg,#fff 46%,#fff8f0 100%)}.eyebrow{display:flex;width:fit-content;margin:0 auto;align-items:center;padding:6px 15px;border:1px solid #ffd5ac;border-radius:999px;background:#fff8f0;color:var(--orange-dark);font-size:.8rem;letter-spacing:.05em;font-weight:650}.hero-main{display:block}.hero-copy{min-width:0;max-width:740px;margin:0 auto;padding:27px 0 48px;text-align:center}h1{font-family:var(--round);font-size:clamp(2.3rem,4.2vw,3.85rem);font-weight:800;letter-spacing:.02em;line-height:1.6;margin:0 0 22px;overflow-wrap:anywhere}h1 span{color:var(--orange-dark)}.hero-lead{color:var(--muted);line-height:2.05;margin:0 0 30px;max-width:34rem;margin-left:auto;margin-right:auto}.hero-lead span{display:block}.actions{display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;min-height:54px;padding:13px 25px;background:var(--orange);color:#482513;border:2px solid var(--orange);border-radius:999px;font-weight:700;font-size:.9rem;box-shadow:0 4px 0 #f4d1b3;transition:background .15s,box-shadow .15s}.button:hover{background:#ff9027;box-shadow:0 2px 0 #f4d1b3}.text-link{color:var(--blue-dark);font-size:.875rem;font-weight:600;padding:6px 0;border-bottom:1px solid #9bcde7}.text-link:hover{border-color:var(--blue-dark)}.hero-bottom{border-top:1px dashed #dfc9b6;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:23px 0 25px;font-size:.8rem;color:var(--muted)}.hero-bottom strong{font-weight:600;color:var(--ink)}.intro-band{padding:35px 0;background:var(--blue-pale);border-top:1px solid #d9edf8;border-bottom:1px solid #d9edf8}.intro-inner{display:grid;grid-template-columns:.9fr 1.4fr;gap:50px;align-items:center}.intro-title{font-family:var(--round);font-size:1.55rem;font-weight:750;line-height:1.8;margin:0;color:var(--blue-dark)}.intro-text{font-size:.94rem;line-height:2.05;margin:0;color:var(--ink)}.section{padding:69px 0}.section-top{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:27px}.small-label{font-size:.75rem;letter-spacing:.12em;font-weight:650;color:var(--orange-dark);display:block;margin-bottom:8px}.section-title{font-family:var(--round);font-size:1.95rem;line-height:1.6;font-weight:750;margin:0}.section-desc{color:var(--muted);font-size:.9rem;margin:0;max-width:26rem}.sample-note{font-size:.8rem;color:var(--muted);margin:0 0 24px;line-height:1.8}.records{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.record{min-width:0;border:1px solid #efdac7;border-top:5px solid var(--orange);padding:25px 24px 23px;background:#fffaf5;border-radius:22px;display:flex;flex-direction:column}.record:nth-child(2){border-color:#cfe5f2;border-top-color:var(--blue);background:#f4fbff}.record:nth-child(3){border-color:#eadfc3;border-top-color:#e7b946;background:#fffdf5}.record-meta{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:29px}.tag{font-size:.75rem;color:var(--orange-dark);background:white;border:1px solid #f2d4b9;padding:3px 11px;border-radius:999px}.record:nth-child(2) .tag{color:var(--blue-dark);border-color:#c8e3f2}.record:nth-child(3) .tag{color:#76551d;border-color:#e8d6b1}.record-number{font-size:.9rem;color:var(--muted);font-weight:650}.record h3{font-family:var(--round);font-size:1.125rem;line-height:1.85;font-weight:750;margin:0 0 16px;overflow-wrap:anywhere}.record>p{font-size:.9rem;color:var(--muted);line-height:1.95;margin:0 0 24px}.record details{margin-top:auto;border-top:1px solid var(--line);padding-top:15px;font-size:.875rem}.record summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;font-weight:600;min-height:32px}.record summary::-webkit-details-marker{display:none}.record summary:after{content:'＋';font-size:1.2rem;color:var(--orange-dark)}.record:nth-child(2) summary:after{color:var(--blue-dark)}.record details[open] summary:after{content:'−'}.record details p{font-size:.9rem;line-height:1.9;margin:16px 0 0;color:var(--muted)}.stance{background:#fff7ee;border-block:1px solid #f5e0cd}.stance-grid{display:grid;grid-template-columns:.9fr 1.4fr;gap:50px}.stance-heading{font-family:var(--round);font-size:2.1rem;line-height:1.75;font-weight:750;margin:15px 0 18px}.stance-intro{color:var(--muted);max-width:22rem;font-size:.94rem}.principles{padding-top:8px}.principle{display:grid;grid-template-columns:38px minmax(0,1fr);gap:17px;padding:22px 0;border-bottom:1px dashed #e3ccba}.principle:first-child{padding-top:0}.principle:last-child{border-bottom:0;padding-bottom:0}.principle-num{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#ffdfbb;color:#883d09;font-size:.85rem;font-weight:700;margin-top:2px}.principle:nth-child(2) .principle-num{background:#d6effd;color:var(--blue-dark)}.principle:nth-child(3) .principle-num{background:#ffedbc;color:#745010}.principle h3{font-family:var(--round);margin:0 0 8px;font-size:1.1rem;font-weight:750}.principle p{margin:0;color:var(--muted);font-size:.94rem;line-height:1.95}.about-grid{display:grid;grid-template-columns:.9fr 1.4fr;gap:50px;align-items:start}.about-copy{color:var(--muted);font-size:.94rem}.about-copy p{margin:0 0 20px}.about-copy p:last-child{margin-bottom:0}.about-copy strong{color:var(--orange-dark);font-weight:700}.about-kicker{margin:16px 0 0;color:var(--muted);font-size:.85rem}.footer{background:#edf8fe;border-top:1px solid #d6ecf8;padding:30px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem}.footer-name{font-family:var(--round);font-size:1.1rem;font-weight:750;letter-spacing:.035em;color:var(--orange-dark)}.footer-caption{font-size:.75rem;letter-spacing:.02em;color:var(--muted);margin:4px 0 0}.footer-end{display:flex;align-items:center;gap:30px;font-size:.75rem;color:var(--muted);flex-wrap:wrap}.footer-end a{text-decoration:underline;text-underline-offset:5px}section{scroll-margin-top:28px}
@media(max-width:1050px){.wrap{padding:0 32px}.header-inner{padding-top:12px;padding-bottom:12px}.nav{gap:1px}.nav a{padding:8px 10px}.hero-main{gap:20px}.intro-inner,.stance-grid,.about-grid{gap:35px}.record{padding:22px 18px}.records{gap:17px}.hero-bottom{flex-wrap:wrap}}
@media(max-width:850px){.header-inner{justify-content:center;gap:8px}.nav{justify-content:center;width:100%}.hero{padding-top:35px}.hero-main{grid-template-columns:1.25fr 1fr;gap:20px}h1{font-size:clamp(2rem,4.4vw,3rem)}.hero-lead{font-size:.94rem}.hero-lead span{display:inline}.hero-lead span+span:before{content:' '}.intro-inner,.stance-grid,.about-grid{grid-template-columns:1fr;gap:22px}.intro-text br{display:none}.stance-heading br{display:none}.stance-intro{max-width:40rem}.principles{padding-top:0}.records{grid-template-columns:1fr}.record{padding:24px 28px}.record-meta{margin-bottom:17px}.record h3 br{display:none}.section-top{display:block}.section-desc{max-width:none;margin-top:15px}.record h3{font-size:1.2rem}.section{padding:50px 0}}
@media(max-width:600px){.wrap{padding:0 22px}.header-inner{padding-top:16px;padding-bottom:15px;justify-content:center}.brand-logo{width:82px;height:82px;flex-basis:82px}.brand-name{font-size:clamp(1.3rem,5.6vw,1.65rem)}.brand{gap:14px}.brand-sub{font-size:.75rem}.header-inner{min-height:unset}.nav{justify-content:center;margin-top:4px;gap:2px 4px;font-size:.8rem}.nav a{padding:5px 7px}.hero{padding-top:28px}.eyebrow{font-size:.75rem;padding:5px 12px}.hero-main{grid-template-columns:1fr;gap:0}.hero-copy{padding:25px 0 32px}h1{font-size:clamp(1.9rem,7.8vw,2.9rem);line-height:1.7;margin-bottom:22px}.hero-lead{margin-bottom:23px}.actions{gap:15px}.button{padding:11px 18px;font-size:.875rem;min-height:50px}.text-link{font-size:.8rem}.hero-bottom{padding:17px 0;gap:3px;font-size:.75rem}.hero-bottom strong,.hero-bottom span{display:block;width:100%}.intro-band{padding:27px 0}.intro-inner{gap:17px}.intro-title{font-size:1.35rem}.intro-title br{display:none}.intro-text{font-size:.9rem}.section{padding:40px 0}.section-title{font-size:1.65rem}.section-top{margin-bottom:21px}.section-desc br{display:none}.record{padding:22px;border-radius:20px}.record h3{font-size:1.1rem}.stance-heading{font-size:1.75rem;margin-top:10px}.principle{gap:13px;grid-template-columns:34px minmax(0,1fr)}.principle-num{width:32px;height:32px}.principle h3{font-size:1.05rem}.footer-inner{display:block}.footer-end{margin-top:19px;justify-content:space-between;gap:15px}.about-kicker{margin-top:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{.nav,.actions,.skip{display:none}.wrap{padding:0 15px}.hero,.section{padding:20px 0;background:white}.intro-band,.stance,.footer{background:white}.records{display:block}.record{break-inside:avoid;margin-bottom:15px}.header-inner{min-height:80px}.record details p{display:block}}

/* 既存トップページの配色・書体に合わせた記事ページ用スタイル */
:root {
  color-scheme: light;
  --accent: #ad4400;
  --soft: #fff3e7;
  --white: #fff;
}
* { box-sizing: border-box; }
html { scroll-padding-top: 2rem; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  font-size: 1rem;
  line-height: 1.85;
  overflow-wrap: anywhere;
}
a { color: var(--accent); text-decoration: underline; text-underline-offset: .25em; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--blue-dark); outline-offset: 5px; }
.container { width: min(1128px, calc(100% - 64px)); margin-inline: auto; }
.skip-link { position: absolute; top: 8px; left: 12px; z-index: 10; padding: 8px 16px; background: var(--white); transform: translateY(-200%); }
.skip-link:focus { transform: translateY(0); }
.site-header { border-bottom: 1px solid var(--line); }
.header-inner { min-height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.site-name { color: var(--ink); font-size: 1.05rem; font-weight: 700; letter-spacing: .06em; text-decoration: none; }
.site-header nav a { display: inline-block; padding-block: 12px; font-size: .9rem; text-decoration: none; }
.site-header nav a[aria-current="page"] { text-decoration: underline; text-decoration-thickness: 2px; }
.breadcrumbs { display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px; padding-top: 28px; color: var(--muted); font-size: .8rem; }
.page-intro { padding: 56px 0 52px; }
.eyebrow { margin: 0 0 12px; color: var(--accent); font-size: .8rem; font-weight: 600; letter-spacing: .12em; }
h1, h2 { line-height: 1.5; }
h1 { margin: 0 0 20px; font-size: clamp(2rem, 4.5vw, 3rem); font-weight: 700; letter-spacing: .04em; }
.lead { margin: 0; color: var(--muted); line-height: 2; }
.records-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 56px; margin-bottom: 88px; }
.category-nav { align-self: start; border-top: 2px solid var(--accent); padding-top: 20px; }
.nav-label { margin: 0 0 14px; color: var(--muted); font-size: .75rem; letter-spacing: .12em; }
.category-nav ul { list-style: none; margin: 0; padding: 0; }
.category-nav a { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 0; text-decoration: none; font-size: .9rem; }
.category-nav a:hover { text-decoration: underline; }
.category-nav a span { color: var(--muted); }
.category-section { margin-bottom: 40px; border-top: 1px solid var(--line); padding-top: 22px; }
.category-section:last-child { margin-bottom: 0; }
.category-section h2 { margin: 0 0 18px; font-size: 1.25rem; letter-spacing: .03em; }
.article-list { list-style: none; margin: 0; padding: 0; }
.article-list li + li { border-top: 1px solid var(--line); }
.article-list a { display: block; padding: 18px 20px; border-left: 3px solid var(--accent); background: var(--white); font-weight: 500; }
.article-list a:hover { background: var(--soft); }
.empty-state { margin: 0; padding: 14px 0 4px; color: var(--muted); font-size: .9rem; }
.site-footer { border-top: 1px solid var(--line); padding-block: 25px; color: var(--muted); font-size: .8rem; }
.article-content { max-width: 740px; margin: 48px auto 80px; }
.category-label { display: inline-block; padding: 4px 12px; background: var(--soft); font-size: .8rem; }
.article-header h1 { margin-top: 22px; font-size: clamp(1.75rem, 3.5vw, 2.4rem); line-height: 1.65; letter-spacing: .01em; }
.sample-notice { margin: 24px 0 36px; padding: 18px 22px; border-left: 3px solid var(--accent); background: var(--soft); color: var(--muted); font-size: .9rem; }
.article-body { line-height: 2; }
.article-body p { margin: 0 0 1.4em; }
.article-body h2 { margin: 40px 0 18px; padding-bottom: 12px; border-bottom: 1px solid var(--line); font-size: 1.3rem; }
.article-body ul { padding-left: 1.5em; margin: 0 0 1.4em; }
.article-body li { margin-bottom: .4em; }
.article-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; margin-top: 48px; padding-top: 28px; border-top: 1px solid var(--line); }
.back-link { display: inline-block; padding-block: 8px; }
.home-main { min-height: calc(100vh - 168px); display: flex; flex-direction: column; justify-content: center; padding-block: 80px 40px; }
.home-intro { max-width: 780px; }
.home-intro h1 { font-size: clamp(2.2rem, 5.5vw, 3.8rem); line-height: 1.6; }
.primary-link { display: inline-flex; align-items: center; gap: 36px; margin-top: 36px; padding: 14px 24px; background: var(--accent); color: var(--white); text-decoration: none; }
.primary-link:hover { background: var(--ink); text-decoration: underline; }
.home-note { margin-top: 64px; color: var(--muted); font-size: .8rem; }
.home-note p { margin: 0; }
@media (max-width: 700px) {
  .container { width: calc(100% - 40px); }
  .header-inner { min-height: 72px; gap: 16px; }
  .breadcrumbs { gap: 8px; padding-top: 22px; }
  .page-intro { padding: 38px 0 34px; }
  .desktop-break { display: none; }
  .records-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; margin-bottom: 56px; }
  .category-nav { padding-top: 16px; }
  .category-nav ul { display: flex; flex-wrap: wrap; gap: 8px; }
  .category-nav a { border: 1px solid var(--line); background: var(--white); padding: 9px 12px; font-size: .85rem; }
  .category-nav a span { display: none; }
  .category-section { margin-bottom: 30px; }
  .article-list a { padding: 16px; }
  .article-content { margin: 34px auto 56px; }
  .sample-notice { padding: 16px; }
  .home-main { min-height: calc(100vh - 152px); padding-top: 56px; }
  .home-note { margin-top: 48px; }
}
@media print {
  body { background: white; color: black; }
  .container { width: 100%; }
  .site-header, .skip-link, .breadcrumbs, .category-nav, .site-footer, .article-footer { display: none; }
  .records-layout { display: block; }
  .article-content { max-width: none; margin: 0; }
  a { color: black; }
}

/* ブランド表示と見出し */
.header a, .footer a { color: inherit; text-decoration: none; }
.header .nav a[aria-current="page"] { color: var(--orange-dark); background: var(--orange-pale); }
.header .brand-name { color: var(--orange-dark); }
.footer .footer-end a { text-decoration: underline; }
h1, h2 { font-family: var(--round); }
.category-section { border-radius: 0 0 20px 20px; }
.category-section:nth-child(2) h2 { color: var(--blue-dark); }
.category-section:nth-child(3) h2 { color: #76551d; }
.article-list a { background: var(--orange-pale); border-radius: 0 16px 16px 0; }
.article-list a:hover { background: #ffe9d4; }
.category-label { border-radius: 999px; }
.sample-notice { border-radius: 0 16px 16px 0; }
@media print { .header, .footer { display: none; } }
