:root { --green:#1e4b42; --pale:#f3f1e9; --cream:#fcfbf7; --ink:#21312c; --accent:#cf7754; --line:#d8ddd5; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:"Hiragino Sans","Yu Gothic",Meiryo,sans-serif; line-height:1.8; }
a { color:inherit; text-decoration:none; }
.site-header { height:78px; display:flex; align-items:center; justify-content:space-between; padding:0 clamp(20px,5vw,76px); background:rgba(252,251,247,.96); position:sticky; top:0; z-index:5; border-bottom:1px solid rgba(30,75,66,.08); }
.brand { display:flex; align-items:center; gap:10px; font-weight:700; letter-spacing:.08em; }
.brand img { width:38px; height:38px; border-radius:50%; object-fit:cover; }
nav { display:flex; gap:28px; font-size:14px; }
nav a:hover,.text-link:hover { opacity:.65; }
.section { padding:100px max(6vw,30px); }
.hero { min-height:620px; padding-top:78px; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(30px,6vw,100px); max-width:1440px; margin:auto; }
.hero-copy { padding-left:clamp(0px,4vw,58px); }
.eyebrow { font-size:12px; letter-spacing:.18em; font-weight:700; color:var(--accent); margin:0 0 14px; }
h1,h2,h3,p { margin-top:0; }
h1 { font-size:clamp(34px,4.1vw,60px); line-height:1.34; letter-spacing:.025em; margin-bottom:25px; }
h2 { font-size:clamp(28px,3.1vw,43px); line-height:1.4; margin-bottom:18px; letter-spacing:.02em; }
h3 { font-size:20px; line-height:1.55; }
.lead { font-size:18px; max-width:560px; }
.hero-photo { height:min(520px,53vw); overflow:hidden; border-radius:28px 0 0 28px; }
.hero-photo img,.featured-grid img,.results-grid img,.about>img { width:100%; height:100%; object-fit:cover; }
.button-row { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin-top:32px; }
.button { display:inline-block; background:var(--green); color:#fff; padding:14px 23px; font-weight:700; font-size:14px; letter-spacing:.04em; border:1px solid var(--green); transition:.2s; }
.button:hover { background:#123930; border-color:#123930; transform:translateY(-2px); }
.button-small { padding:9px 17px; font-size:13px; }
.text-link { font-weight:700; font-size:14px; border-bottom:1px solid currentColor; padding-bottom:3px; }
.section-soft { background:var(--pale); }
.section-label { color:var(--accent); font-weight:700; font-size:13px; letter-spacing:.15em; margin-bottom:28px; }
.featured-grid { max-width:1180px; margin:auto; display:grid; grid-template-columns:1.05fr .95fr; gap:60px; align-items:center; }
.featured-grid.featured-copy { display:block; max-width:760px; margin-left:0; }
.featured-grid h3 { color:var(--accent); margin-bottom:10px; }
.featured-grid>img { height:360px; border-radius:4px; }
.caption { font-size:13px; color:#64716b; margin-top:14px; }
.section-heading { max-width:720px; margin-bottom:48px; }
.centered { text-align:center; margin-left:auto; margin-right:auto; }
.section-guide { max-width:560px; margin:0 auto; font-size:15px; color:#53635d; }
.problem-grid { display:grid; grid-template-columns:repeat(4,1fr); max-width:1200px; margin:auto; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.problem-card { padding:26px 25px 23px; min-height:280px; position:relative; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:#fff; transition:.2s; }
.problem-card:hover { background:#e9efe9; transform:translateY(-4px); }
.problem-card.accent { background:#e9efe9; }
.number,.service-card>span { font-size:13px; color:var(--accent); font-weight:700; letter-spacing:.12em; }
.visual-icon { display:block; width:42px; height:42px; position:absolute; right:24px; top:24px; color:var(--green); opacity:.85; }
.visual-icon svg,.learn-icon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.problem-card h3 { margin:23px 0 12px; }
.problem-card p { font-size:14px; line-height:1.7; }
.arrow { position:absolute; bottom:20px; right:24px; font-size:22px; }
.section-green { background:var(--green); color:#fff; }
.section-green .eyebrow { color:#f0c4a9; }
.section-heading.light { color:#fff; }
.learn-grid { max-width:1200px; margin:auto; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.learn-card { background:#f7f7f2; color:var(--ink); padding:31px 27px; min-height:305px; display:flex; flex-direction:column; }
.learn-card.archive { background:#e8cfc1; }
.learn-card.podcast { background:#dbe4d9; }
.card-type { font-size:11px; letter-spacing:.15em; color:var(--accent); font-weight:700; }
.learn-icon { display:block; width:48px; height:48px; color:var(--green); margin:19px 0 5px; }
.learn-card h3 { margin:13px 0 12px; }
.learn-card p { font-size:14px; line-height:1.75; flex:1; }
.learn-card a,.service-card a { font-size:14px; font-weight:700; border-bottom:1px solid currentColor; align-self:flex-start; }
.learn-card.archive,.learn-card.podcast { min-height:348px; }
.archive-description { flex:1; }
.link-stack { display:grid; gap:10px; }
.archive-note { flex:none!important; font-size:11px!important; line-height:1.6!important; color:#674a40; margin:12px 0 0!important; }
.podcast-description { flex:1; }
.platform-links { display:grid; grid-template-columns:1fr; gap:7px; margin-bottom:12px; }
.platform-links a { display:block; width:100%; padding:6px 8px; border:1px solid rgba(30,75,66,.4); font-size:12px; line-height:1.4; }
.platform-links a:hover { background:rgba(255,255,255,.42); }
.note-link { font-size:12px!important; }
.results { max-width:1320px; margin:auto; }
.results-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.results-grid article { background:#fff; }
.results-grid img { display:block; height:220px; }
.results-grid h3 { font-size:17px; padding:18px; margin:0; }
.service-grid { display:grid; grid-template-columns:repeat(4,1fr); max-width:1200px; margin:auto; gap:16px; }
.service-card { background:#fff; padding:26px 20px; min-height:250px; display:flex; flex-direction:column; }
.service-card.consulting { background:var(--green); color:#fff; }
.service-card h3 { margin:14px 0 10px; }
.service-card p { font-size:14px; line-height:1.75; flex:1; }
.about { max-width:1250px; margin:auto; display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(34px,7vw,100px); align-items:center; }
.about>img { height:410px; border-radius:4px; }
.consultation { text-align:center; padding:95px 25px; background:var(--accent); color:#fff; }
.consultation .eyebrow { color:#fff0e8; }

.consultation h2 { margin-bottom:10px; }
.centered-row { justify-content:center; }
.button-light { background:#fff; color:var(--green); border-color:#fff; }
.button-light:hover { background:#f5eee9; border-color:#f5eee9; }
.button-outline { background:transparent; border-color:#fff; }
.button-outline:hover { background:rgba(255,255,255,.15); border-color:#fff; }
.consultation .caption { color:#fff2ec; }
footer { background:#153c34; color:#dbe5de; padding:22px max(6vw,30px); font-size:12px; display:flex; justify-content:space-between; gap:20px; }
.topic-hero { min-height:520px; display:grid; grid-template-columns:1.08fr .92fr; align-items:stretch; background:var(--pale); }
.topic-hero>div { padding:90px max(7vw,42px); display:flex; flex-direction:column; justify-content:center; }
.topic-hero>img { width:100%; height:100%; min-height:520px; object-fit:cover; }
.topic-breadcrumb { font-size:12px; color:#64716b; margin-bottom:44px; }
.topic-intro { padding:75px max(7vw,42px); text-align:center; }
.topic-intro p:not(.eyebrow) { max-width:650px; margin:0 auto; }
.topic-resource-grid { max-width:1200px; margin:auto; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.topic-resource { border:1px solid var(--line); background:#fff; padding:29px 26px; min-height:310px; display:flex; flex-direction:column; }
.resource-number { color:var(--accent); font-size:13px; letter-spacing:.12em; font-weight:700; }
.topic-resource h3 { margin:22px 0 10px; }
.topic-resource p { font-size:14px; flex:1; }
.topic-resource a { font-size:14px; font-weight:700; border-bottom:1px solid currentColor; align-self:flex-start; margin-top:10px; }
.topic-resource .secondary-link { font-size:12px; font-weight:500; }
.case-feature { max-width:1250px; margin:auto; display:grid; grid-template-columns:1.03fr .97fr; align-items:center; gap:clamp(35px,7vw,100px); }
.case-feature>img { width:100%; height:380px; object-fit:cover; border-radius:4px; }
.supporting-service { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.supporting-service>div { max-width:680px; }
.supporting-service h2 { margin-bottom:12px; }
@media (max-width:900px) { .topic-hero,.case-feature { grid-template-columns:1fr; } .topic-hero>img { min-height:360px; } .topic-resource-grid { grid-template-columns:1fr; } .supporting-service { display:block; } .supporting-service .button { margin-top:15px; } }
@media (max-width:900px) { nav { display:none; } .hero,.featured-grid,.about { grid-template-columns:1fr; } .hero { padding-top:58px; min-height:auto; } .hero-copy { padding-left:0; } .hero-photo { height:460px; max-width:620px; } .problem-grid,.service-grid { grid-template-columns:repeat(2,1fr); } .learn-grid { grid-template-columns:1fr; } .results-grid { gap:14px; } .section { padding:76px max(5vw,20px); } }
@media (max-width:560px) { .site-header { height:65px; padding:0 18px; } .brand span { font-size:13px; } .brand img { width:31px; height:31px; } .button-small { padding:7px 11px; font-size:11px; } .hero { gap:30px; } .hero-photo { height:360px; border-radius:18px 18px 0 0; } h1 { font-size:35px; } .lead { font-size:16px; } .problem-grid,.service-grid,.results-grid { grid-template-columns:1fr; } .problem-card { min-height:205px; } .featured-grid>img { height:260px; } .results-grid img { height:220px; } .about>img { height:300px; } footer { display:block; } footer span { display:block; margin-top:6px; } }
/* 2026-10-09: 移行対応・スマートフォン・読みやすさ */
html { scroll-padding-top:100px; }
img { max-width:100%; }
:focus-visible { outline:3px solid #bb542f; outline-offset:5px; }
h1,h2,h3 { word-break:auto-phrase; overflow-wrap:normal; }
.phrase { display:inline-block; white-space:nowrap; }
h1 { font-size:clamp(30px,3.2vw,46px); }
h2 { font-size:clamp(25px,2.8vw,40px); }
.hero-copy { padding-left:0; }
.hero { grid-template-columns:1.1fr 1fr; gap:48px; }
.trust-note { display:inline-block; font-size:14px; font-weight:700; color:var(--green); border-left:3px solid var(--accent); padding:3px 0 3px 12px; margin:0 0 20px; }
.hero-photo picture,.about>picture,.topic-hero>picture,.case-feature>picture { display:block; height:100%; }
.hero-photo img { display:block; }
.about>picture { height:410px; }
.about>picture img,.topic-hero>picture img,.case-feature>picture img { display:block; width:100%; height:100%; object-fit:cover; }
.topic-hero>picture { min-height:520px; }
.case-feature>picture { height:380px; }
.results-grid picture { display:block; }
.desktop-nav { gap:20px; font-size:13px; }
.mobile-menu { display:none; }
.skip-link { position:fixed; top:-100px; left:12px; z-index:20; padding:10px 16px; background:#fff; border:2px solid var(--green); }
.skip-link:focus { top:10px; }
.case-body { padding:24px; }
.case-body h3 { padding:0; margin:10px 0 22px; font-size:19px; }
.case-label { color:var(--green); font-weight:700; font-size:12px; }
.case-steps { font-size:14px; margin:0; }
.case-steps dt { color:#864529; font-weight:700; margin-top:16px; }
.case-steps dd { margin:4px 0 0; }
.results-grid article { border:1px solid var(--line); }
.results-grid img { height:200px; }
.section-green .topic-resource { color:var(--ink); }
.learn-topics .topic-resource { min-height:310px; }
.learning-gateway { display:grid; grid-template-columns:1fr 1fr; gap:50px; max-width:1200px; margin:45px auto 0; padding-top:34px; border-top:1px solid #628477; }
.learning-gateway h3 { font-size:19px; }
.learning-gateway a { display:block; text-decoration:underline; text-underline-offset:4px; font-size:14px; margin:12px 0; }
.learning-gateway p { font-size:13px; color:#e0e9e3; }
.learning-gateway .platform-links { display:flex; flex-wrap:wrap; gap:8px; }
.learning-gateway .platform-links a { width:auto; border-color:#94afa1; color:#fff; font-size:12px; padding:8px; }
.topic-schedule { max-width:1200px; margin:28px auto 0; font-size:14px; text-decoration:underline; }
.topic-resource .resource-number { font-size:12px; letter-spacing:0; }
.topic-resource .caption { flex:none; }
.service-guide { margin-top:25px; text-align:center; }
.service-card.consulting { background:#fff; color:var(--ink); }
.consultation { background:var(--green); }
.consultation .line-guide { max-width:650px; margin:22px auto 0; font-size:15px; }
.consultation .caption { max-width:650px; margin:16px auto 0; }
.site-footer { display:grid; grid-template-columns:1.1fr 1fr; padding-top:44px; padding-bottom:30px; }
.site-footer .footer-name { font-size:16px; font-weight:700; margin-bottom:8px; }
.site-footer p { margin-bottom:6px; }
.site-footer nav { display:flex; flex-wrap:wrap; align-content:flex-start; gap:15px 24px; font-size:13px; }
.site-footer a { text-decoration:underline; text-underline-offset:4px; }
.site-footer small { grid-column:1/-1; padding-top:20px; border-top:1px solid #4b6b60; margin-top:16px; }
.page-intro { max-width:1250px; margin:auto; }
.page-intro .topic-resource-grid { margin-top:50px; }
.document-width { max-width:960px; margin:auto; }
.company-table { display:grid; grid-template-columns:130px 1fr; margin-top:34px; }
.company-table dt,.company-table dd { margin:0; padding:18px 0; border-bottom:1px solid var(--line); }
.company-table dt { font-weight:700; }
.company-table a,.policy a,.page-intro .caption a { text-decoration:underline; }
.policy { font-size:15px; }
.policy h1 { font-size:clamp(28px,3vw,40px); }
.policy h2 { font-size:22px; margin-top:40px; word-break:normal; }
.policy ul { padding-left:22px; }
.contact-steps { margin-top:40px; padding-left:25px; }
.contact-steps li { margin:12px 0; }
@media(max-width:1100px) {
 .desktop-nav { display:none; }
 .mobile-menu { display:block; }
 .mobile-menu summary { list-style:none; cursor:pointer; border:1px solid var(--line); padding:8px 10px; font-size:13px; font-weight:700; }
 .mobile-menu summary::-webkit-details-marker { display:none; }
 .mobile-menu[open] summary { background:var(--green); color:#fff; }
 .mobile-menu nav { display:flex; flex-direction:column; position:absolute; right:0; left:0; top:100%; padding:18px max(5vw,20px); background:var(--cream); border-bottom:1px solid var(--line); box-shadow:0 8px 15px #1e4b4214; gap:0; max-height:calc(100dvh - 78px); overflow:auto; }
 .mobile-menu nav>a { padding:12px; border-bottom:1px solid var(--line); font-size:14px; }
 .mobile-menu nav>.button { text-align:center; margin-top:14px; border-color:var(--green); }
}
@media(max-width:900px) {
 .hero { grid-template-columns:1fr; }
 .about>picture { height:400px; }
 .topic-hero>picture { min-height:0; height:360px; }
 .learning-gateway { grid-template-columns:1fr; gap:24px; }
 .results-grid { grid-template-columns:1fr; }
 .results-grid article { display:grid; grid-template-columns:.8fr 1.2fr; }
 .results-grid picture,.results-grid img { height:100%; min-height:300px; }
 .site-footer nav { display:flex; }
}
@media(max-width:560px) {
 .header-line { display:none; }
 .site-header { padding:0 16px; }
 h1 { font-size:clamp(29px,7.7vw,35px); }
 h2 { font-size:clamp(24px,6.4vw,29px); }
 .hero { gap:26px; padding-top:42px; }
 .hero-photo { height:320px; }
 .trust-note { font-size:12px; }
 .button { max-width:100%; }
 .topic-hero>div { padding:48px 22px; }
 .topic-hero>picture { height:260px; }
 .topic-breadcrumb { margin-bottom:24px; }
 .topic-hero h1 { max-width:100%; }
 .about>picture { height:300px; }
 .case-feature>picture { height:280px; }
 .results-grid article { display:block; }
 .results-grid picture,.results-grid img { height:210px; min-height:0; }
 .site-footer { grid-template-columns:1fr; }
 .site-footer nav { gap:14px 20px; }
 .company-table { grid-template-columns:1fr; }
 .company-table dt { border:0; padding-bottom:0; }
 .company-table dd { padding-top:6px; }
 .policy h2 { font-size:19px; }
 .mobile-menu nav { max-height:calc(100dvh - 65px); }
 .problem-card h3 { font-size:20px; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 *,*::before,*::after { transition:none!important; }
}
.news-archive { border-top:1px solid var(--line); padding:20px 0; font-size:14px; }
.news-archive summary { cursor:pointer; font-weight:700; line-height:1.8; }
.news-archive[open] summary { margin-bottom:24px; }
.news-archive p { margin:14px 0; }
.policy p,.policy li { overflow-wrap:anywhere; }
.eyebrow,.number,.service-card>span,.resource-number { color:#97462b; }
.section-green .eyebrow { color:#f0c4a9; }
.consultation .eyebrow { color:#fff0e8; }

/* 全ページ目視レビューの仕上げ。共通の幅・余白・操作部品を揃える。 */
:root { --radius:12px; --gutter:max(24px,calc((100vw - 1120px)/2)); }
.section { padding:72px var(--gutter); }
.about,.results,.page-intro,.case-feature { max-width:none; }
.brand { letter-spacing:.04em; }
.brand .brand-name { font-size:18px; line-height:1.5; }
.button { border-radius:10px; text-align:center; }
.site-header .button { white-space:nowrap; }
.hero { max-width:none; min-height:0; padding-top:56px; padding-bottom:64px; gap:56px; }
.hero-photo { height:460px; border-radius:var(--radius); }
.section-heading { margin-bottom:32px; }
.featured-grid.featured-copy { margin-inline:auto; max-width:800px; }
#order-system .section-label { max-width:800px; margin:0 auto 22px; }
.problem-card { padding-bottom:64px; }
.problem-card h3 { padding-right:12px; }
.problem-card p { margin-bottom:0; }
.topic-resource,.service-card,.results-grid article { border-radius:var(--radius); }
.results-grid article { overflow:hidden; }
.topic-resource { min-height:0; padding:26px; }
.topic-resource h3 { min-height:62px; margin-top:18px; }
.topic-resource p { margin-bottom:0; }
.resource-actions { display:grid; grid-template-rows:auto auto; align-content:start; gap:12px; min-height:78px; margin-top:24px; }
.resource-actions a { margin:0; justify-self:start; line-height:1.65; }
.resource-actions a + a { font-size:13px; font-weight:500; }
.learn-topics .topic-resource { min-height:0; }
.service-card { min-height:0; }
.service-card a { margin-top:16px; }
.case-body { display:flex; flex-direction:column; }
.case-body h3 { min-height:88px; }
.case-body .case-steps { flex:1; }
.case-body > .text-link { align-self:flex-start; margin-top:12px; }
/* 同じ行の見出し・課題・取り組み・結果・リンクを揃え、内容は省略しない。 */
@supports (grid-template-rows:subgrid) {
 @media(min-width:901px) {
  .results-grid { row-gap:0; }
  .results-grid article { display:grid; grid-row:span 11; grid-template-rows:subgrid; padding-bottom:24px; }
  .case-body { display:contents; }
  .case-body > .case-label { margin:22px 24px 0; }
  .case-body h3 { min-height:0; margin:10px 24px 8px; }
  .case-body .case-steps { display:grid; grid-row:span 6; grid-template-rows:subgrid; padding-inline:24px; }
  .case-body > .caption { margin:16px 24px 0; }
  .case-body > .text-link { margin:20px 24px 0; justify-self:start; }
 }
}
.about,.case-feature { gap:56px; }
.about-intro { padding-bottom:28px; }
.representative { padding-top:24px; }
.topic-learning { padding-bottom:36px; }
.topic-hero>div { padding:64px 48px 64px var(--gutter); }
.topic-hero>div>.button { align-self:flex-start; }
.supporting-service.section { padding-block:38px; border-top:1px solid var(--line); }
.supporting-service h2 { font-size:25px; }
.supporting-service p { margin-bottom:0; }
.supporting-service .text-link { flex-shrink:0; }
.consultation { padding:72px 24px; }
.site-footer { padding-inline:var(--gutter); }
.document-width.section { max-width:none; padding-inline:max(24px,calc((100vw - 820px)/2)); }
.company-table { margin-bottom:0; }
.contact-page { background:var(--pale); }
.contact-card { max-width:760px; margin:auto; padding:48px; border:1px solid var(--line); border-radius:var(--radius); background:var(--cream); }
.contact-card .lead { max-width:none; }
.contact-card .caption { margin-bottom:0; }
.policy h2 { display:flex; flex-wrap:wrap; gap:6px 12px; align-items:baseline; line-height:1.6; padding-top:24px; border-top:1px solid var(--line); }
.policy-number { flex:none; font-size:15px; color:var(--green); }
.policy-title { min-width:0; }
.policy h3 { font-size:17px; margin:28px 0 12px; color:var(--green); }
.news-archive { padding:0; }
.news-archive summary { position:relative; list-style:none; padding:22px 36px 22px 0; font-weight:500; }
.news-archive summary::-webkit-details-marker { display:none; }
.news-archive summary::after { content:'＋'; position:absolute; right:4px; top:50%; transform:translateY(-50%); font-size:22px; color:var(--green); }
.news-archive[open] summary::after { content:'−'; }
.news-meta { display:flex; align-items:center; gap:12px; margin-bottom:9px; font-size:13px; color:#64716b; }
.news-status { border:1px solid var(--line); border-radius:4px; padding:0 7px; font-size:11px; }
.news-title { display:block; font-size:16px; font-weight:600; line-height:1.8; }
.news-archive[open] { padding-bottom:24px; }
.news-archive[open] summary { margin-bottom:0; }
.news-archive p { font-size:15px; }
.archive-year { margin:36px 0 16px; font-size:21px; }
@media(max-width:1100px) {
 .brand .brand-name { font-size:17px; }
 .mobile-menu summary { border-radius:8px; min-height:44px; }
}
@media(max-width:900px) {
 .section { padding-block:56px; }
 .hero { gap:30px; padding-top:40px; }
 .hero-photo { height:400px; max-width:none; }
 .topic-resource h3 { min-height:0; }
 .topic-resource p { flex:none; }
 .resource-actions { min-height:0; grid-template-rows:none; margin-top:22px; }
 .case-body h3 { min-height:0; margin-bottom:8px; }
 .topic-learning { padding-bottom:24px; }
 .about-intro { padding-bottom:18px; }
 .representative { padding-top:20px; }
 .about,.case-feature { gap:32px; }
 .supporting-service .text-link { display:inline-block; margin-top:20px; }
 .consultation { padding-block:56px; }
}
@media(max-width:560px) {
 :root { --gutter:20px; }
 .section { padding:48px 20px; }
 .brand .brand-name { font-size:16px; }
 .hero { padding-top:32px; gap:24px; }
 .hero-photo { height:300px; border-radius:var(--radius); }
 .section-heading { margin-bottom:28px; }
 .topic-hero>div { padding:40px 20px; }
 .topic-hero>div>.button { align-self:stretch; }
 .topic-resource { padding:24px; }
 .service-card { padding:24px; }
 .service-card p { flex:none; margin-bottom:0; }
 .case-body { padding:24px; }
 .case-body > .text-link { margin-top:8px; }
 .learning-gateway { margin-top:30px; padding-top:24px; }
 .about-intro { padding-bottom:16px; }
 .about-intro h1 { font-size:clamp(26px,7.7vw,35px); }
 .representative { padding-top:16px; }
 .topic-learning { padding-bottom:16px; }
 .supporting-service.section { padding-block:30px; }
 .supporting-service h2 { font-size:23px; }
 .consultation { padding:48px 20px; }
 .consultation .line-guide { font-size:14px; }
 .contact-card { padding:28px 24px; }
 .contact-steps { margin-top:28px; }
 .document-width.section { padding-inline:20px; }
 .policy h2 { display:block; font-size:18px; }
 .policy-number { display:block; margin-bottom:4px; }
 .policy-title { display:block; }
 .policy h3 { font-size:16px; }
 .news-title { font-size:15px; }
 .site-footer { padding:32px 20px 24px; }
 .site-footer nav { gap:16px 20px; }
}
