:root {
  --green: #087f8c;
  --green-dark: #075f68;
  --green-deep: #063b4b;
  --green-pale: #d8efee;
  --green-mist: #eef8f7;
  --red: #e76f51;
  --ink: #123440;
  --muted: #5f7880;
  --line: #d2e3e2;
  --surface: #ffffff;
  --surface-soft: #f9f6f1;
  --surface-blue: #eaf7f6;
  --blue-100: #d7efee;
  --blue-200: #b8dedc;
  --blue-500: #168da2;
  --blue-600: #087f8c;
  --blue-700: #0a6175;
  --navy: #063b4b;
  --slate: #365963;
  --cta-orange: #c94f16;
  --cta-orange-dark: #a83a0d;
  --negative: #a63d50;
  --negative-dark: #7f2f3e;
  --negative-pale: #fff2f4;
  --negative-line: #e9bdc5;
  --positive: #147a57;
  --positive-dark: #0d5c41;
  --positive-pale: #edf9f3;
  --positive-line: #a9d8c5;
  --section-kicker-font-size: clamp(18px, 1.35vw, 20px);
  --section-kicker-icon-size: 24px;
  --font-body: "M PLUS 1p", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", Meiryo, メイリオ, sans-serif;
  --font-medium: "M PLUS 1p", "Hiragino Kaku Gothic ProN", sans-serif;
  --font-display: "M PLUS 1p", "Hiragino Kaku Gothic ProN", sans-serif;
  color: var(--ink);
  background: #fbfdfc;
  font-family: var(--font-body);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.75;
--radius-surface:0.75rem;}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--surface);font-family:var(--font-body);line-height:1.85}a{color:var(--green-dark);text-underline-offset:.25em}a:hover{text-decoration:underline}a:focus-visible,input:focus-visible{outline:3px solid var(--green);outline-offset:4px}img{max-width:100%;height:auto}.skip-link{position:absolute;top:-100px}.skip-link:focus{top:0;background:var(--surface);padding:12px;z-index:10}.library-header{border-top:4px solid var(--green);border-bottom:1px solid var(--line);padding:22px max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{text-decoration:none;font-size:36px;line-height:1.2;font-weight:850;color:var(--navy)}.brand span{display:block;font-size:12px;margin-top:9px;color:var(--muted);font-weight:500}.library-header nav{display:flex;align-items:center;gap:24px;font-size:14px}.contact-button{display:inline-block;background:var(--cta-orange);color:var(--surface);padding:12px 20px;border-radius:var(--radius-surface);font-size:14px;font-weight:700;text-decoration:none}.contact-button:hover{background:var(--cta-orange-dark);text-decoration:none}.library-main,.article-main{max-width:1180px;margin:auto;padding:28px 28px 70px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--muted);margin-bottom:30px}.library-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;padding:28px 0 44px}.library-hero img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-surface)}.eyebrow{font-size:14px;font-weight:700;color:var(--green);margin:0 0 12px}h1{font-size:clamp(28px,3.1vw,42px);line-height:1.55;letter-spacing:.015em;margin:12px 0 20px}h2{line-height:1.6}p{margin:0 0 1.4em}.library-hero p:last-child{color:var(--muted);font-size:16px}.category-nav{display:flex;gap:10px;flex-wrap:wrap;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.category-nav a{border:1px solid var(--line);padding:7px 16px;border-radius:var(--radius-surface);font-size:14px;text-decoration:none}.category-nav a[aria-current]{color:var(--surface);background:var(--green);border-color:var(--green)}.list-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:28px}.list-heading h2{font-size:22px}.list-heading h2 span{font-size:14px;font-weight:400;color:var(--muted);margin-left:12px}.search-control{font-size:13px;color:var(--muted)}input{display:block;font:inherit;background:var(--surface);border:1px solid var(--line);padding:10px 14px;border-radius:var(--radius-surface);color:var(--ink)}#search-status{font-size:14px;margin:0 0 18px}.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.article-card{display:flex;flex-direction:column;border:1px solid var(--line);padding:25px;border-radius:var(--radius-surface);text-decoration:none;color:var(--ink);background:var(--surface)}.article-card:hover{border-color:var(--green);text-decoration:none;background:var(--green-mist)}.article-card[hidden]{display:none}.card-category{font-size:12px;color:var(--green);font-weight:700}.article-card h3{font-size:19px;line-height:1.65;margin:14px 0}.article-card p{color:var(--muted);font-size:14px}.card-meta{margin-top:auto;display:flex;justify-content:space-between;color:var(--green-dark);font-size:12px}.card-meta span{font-size:20px}.article-heading{max-width:900px;padding:20px 0 32px}.byline{display:flex;flex-wrap:wrap;gap:18px;font-size:12px;color:var(--muted)}.article-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:54px;align-items:start}.toc{position:sticky;top:24px;border-top:3px solid var(--green);padding-top:16px;font-size:13px}.toc h2{font-size:14px;margin:0 0 12px}.toc ol{padding-left:20px}.toc li{padding:5px 0}.toc a{color:var(--muted);text-decoration:none}.article-body{max-width:800px;font-size:16px;overflow-wrap:anywhere}.article-body h2{font-size:25px;margin:48px 0 20px;border-bottom:1px solid var(--line);padding-bottom:12px;scroll-margin-top:30px}.article-body h3{font-size:20px;margin:30px 0 16px;scroll-margin-top:30px}.article-body h2:first-child{margin-top:0}.article-body ul,.article-body ol{padding-left:1.5em;margin-bottom:28px}.article-body li{margin:8px 0}.article-body blockquote{border-left:4px solid var(--green);margin:28px 0;padding:16px 22px;background:var(--green-mist)}.article-body table{display:block;width:100%;overflow-x:auto;border-collapse:collapse;font-size:14px;margin:24px 0 32px}.article-body th,.article-body td{min-width:110px;border:1px solid var(--line);padding:12px;text-align:left;vertical-align:top}.article-body th{background:var(--green-mist)}.article-body code{background:var(--green-mist);padding:2px 5px}.article-body pre{overflow:auto;padding:20px;background:var(--green-mist)}.article-cta{padding:34px;margin:48px 0;background:var(--green-mist);border-radius:var(--radius-surface);border:1px solid var(--line)}.article-cta h2{font-size:25px;margin:0 0 15px}.article-cta p{max-width:720px}.related{border-top:1px solid var(--line);margin-top:50px;padding-top:24px}.library-footer{background:var(--navy);color:var(--surface);padding:38px max(24px,calc((100vw - 1124px)/2));font-size:13px}.library-footer a{color:var(--surface);margin-right:25px;display:inline-block}.library-footer p{margin:22px 0 0;opacity:.8}@media(max-width:800px){.library-header{padding:18px 22px}.brand{font-size:28px}.brand span{font-size:10px}.library-header nav{gap:14px}.library-header .contact-button{display:none}.library-main,.article-main{padding:24px 20px 45px}.library-hero{grid-template-columns:1fr;gap:16px;padding:5px 0 25px}.library-hero img{max-height:210px}.article-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.article-card{padding:20px}.article-card h3{font-size:17px}.article-layout{grid-template-columns:1fr;gap:24px}.toc{position:static;background:var(--green-mist);padding:18px 22px}.article-body{font-size:16px}.article-body h2{font-size:23px}.article-cta{padding:24px}.list-heading{align-items:start;flex-direction:column;gap:0}.search-control,input{width:100%}}@media(max-width:520px){.article-grid{grid-template-columns:1fr}.category-nav{gap:8px}.category-nav a{font-size:12px;padding:6px 12px}.library-hero h1{font-size:29px}.article-heading h1{font-size:27px}.article-card h3{font-size:19px}.library-footer a{margin:5px 16px 5px 0}}

/* Keep the answer readable before the contents on small screens. */
.article-heading{max-width:100%;padding-bottom:36px}.article-heading h1{max-width:960px;text-wrap:pretty}.article-answer{max-width:900px;margin-top:30px;padding:24px 28px;background:var(--green-mist);border-left:4px solid var(--green);border-radius:0 var(--radius-surface) var(--radius-surface) 0}.answer-label{color:var(--green-dark);font-size:13px;font-weight:800;letter-spacing:.08em;margin:0 0 10px}.article-answer p:last-child{margin:0;font-size:17px;line-height:1.95}.article-body{line-height:2}.article-body p{margin-bottom:1.7em}.article-body strong{font-weight:800;color:var(--green-deep)}.article-table{margin:28px 0 36px}.article-table figcaption{font-weight:700;font-size:14px;color:var(--green-dark);margin-bottom:10px}.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-surface)}.table-scroll:focus-visible{outline:3px solid var(--green);outline-offset:4px}.article-body .article-table table{display:table;overflow:visible;margin:0;width:100%;font-size:14px}.article-table tr:nth-child(even){background:var(--surface-soft)}.article-body .article-table th{background:var(--green-mist);font-weight:700}.article-body .article-table th,.article-body .article-table td{border-width:0 0 1px 0;padding:14px 16px}.article-table tbody tr:last-child td{border-bottom:0}.toc{max-height:calc(100vh - 48px);overflow:auto}.toc a:hover{color:var(--green-dark);text-decoration:underline}@media(max-width:800px){.article-answer{padding:20px;margin-top:24px}.article-answer p:last-child{font-size:16px}.toc{max-height:none}.article-layout{gap:32px}.article-body .article-table td,.article-body .article-table th{min-width:135px}}@media print{.library-header,.library-footer,.toc,.article-cta,.related,.skip-link{display:none}.article-layout{display:block}.article-main{max-width:none;padding:0}.article-answer{border:1px solid var(--line)}.table-scroll{overflow:visible}.article-body{max-width:none}.article-body h2,.article-body h3{break-after:avoid}.article-table{break-inside:avoid}}
.article-layout>div{min-width:0}.article-table{max-width:100%}.table-scroll{max-width:100%}

.article-eyecatch{margin:24px 0 28px;max-width:900px}.article-eyecatch img{display:block;width:100%;height:auto;border-radius:var(--radius-surface)}.article-eyecatch figcaption,.article-diagram figcaption{font-size:12px;color:var(--muted);line-height:1.7;margin-top:10px}.article-diagram{margin:28px 0 36px}.article-diagram img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:var(--radius-surface)}.article-diagram a{display:block}.article-note{margin:28px 0;padding:22px 24px;background:var(--green-mist);border-left:4px solid var(--green);border-radius:0 var(--radius-surface) var(--radius-surface) 0}.article-note-warning{background:var(--surface-soft);border-left-color:var(--cta-orange)}.article-note p:last-child{margin-bottom:0}.card-thumbnail{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius-surface);margin-bottom:18px}

/* Opening and service preview share the full article canvas. Body stays readable. */
:root{--article-header-height:108px;--point-bg:#fff8d9;--point-ink:#725500}
.library-header{position:sticky;top:0;z-index:30;background:#fff;min-height:var(--article-header-height);box-shadow:0 3px 16px #09213708}
.skip-link:focus{z-index:50}.article-heading h1,.article-eyecatch,.article-answer{max-width:none;width:100%}
.article-eyecatch img{aspect-ratio:auto;background:#faf8f1}
.article-answer{background:#edf3fc;border:1px solid #d6e2f3;border-left:5px solid #254b83;border-radius:12px;padding:28px 32px}
.answer-label{color:#254b83;display:flex;align-items:center;gap:10px;font-size:14px}.answer-icon{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#254b83;color:white;font-size:16px}
.article-answer strong{color:#183b6b}.article-body mark,.article-answer mark{color:inherit;background:linear-gradient(transparent 48%,#ffe990 48%,#ffe990 92%,transparent 92%);padding:0 .08em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.article-body u,.article-answer u{text-decoration-color:#619596;text-decoration-thickness:2px;text-underline-offset:.24em}
.article-body strong{color:#143b48}.article-note{position:relative;background:var(--point-bg);border-left-color:#d9ad2b;padding-left:56px}.article-note::before{content:'✦';position:absolute;left:20px;top:21px;color:var(--point-ink);font-size:21px}.article-note strong{color:var(--point-ink)}
.article-note-warning{background:#fff2eb;border-left-color:#ce6b32}.article-note-warning::before{content:'!';font-weight:800;color:#984b21}.article-note-warning strong{color:#984b21}
.toc{top:calc(var(--article-header-height) + 20px);max-height:calc(100dvh - var(--article-header-height) - 40px)}
.article-body h2,.article-body h3,[id^="action-check"],#main{scroll-margin-top:calc(var(--article-header-height) + 24px)}
.article-body li.action-check-item{list-style:none;margin:10px 0}.article-body ul:has(>.action-check-item){padding:18px 22px;background:#f5f8fa;border:1px solid #d8e3e8;border-radius:12px}
.action-check{display:flex;align-items:flex-start;gap:12px;cursor:pointer;line-height:1.85}.action-check input{display:inline-block;flex:none;width:20px;height:20px;margin:5px 0 0;padding:0;accent-color:#167b80;border-radius:4px}.action-check input:checked+span{color:#496672}.action-check input:checked+span::after{content:' 確認済み';font-size:12px;font-weight:700;color:#167b80;white-space:nowrap}
.article-cta{padding:0;overflow:hidden;background:white;border:1px solid #d7e3e7;margin:64px 0 48px;box-shadow:0 12px 35px #0c35480b}
.cta-scene{position:relative;isolation:isolate;min-height:380px;display:flex;align-items:center;background:#f8fafb}.cta-factory{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.cta-scene::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#fbfcff 0%,#fbfcfff5 35%,#fbfcff20 73%,transparent);z-index:-1}
.cta-intro{padding:38px 40px;width:72%}.cta-intro .eyebrow{color:#123260;background:#ffffffdf;display:inline-block;padding:5px 10px;border-left:3px solid #078392;font-size:13px}.article-cta .cta-intro h2{font-size:clamp(30px,4vw,48px);color:#0a245c;line-height:1.4;font-weight:850;margin:8px 0 18px}.cta-promise{display:inline-block;background:#d64e0d;color:white;padding:9px 16px;font-size:20px;font-weight:800;line-height:1.6;margin:0 0 12px}.cta-partners{font-size:13px;font-weight:700;color:#173044;margin:0}.cta-penguin{position:absolute;width:140px;height:auto;right:32px;bottom:24px;image-rendering:auto}.cta-next{padding:28px 36px;display:flex;align-items:center;justify-content:space-between;gap:24px}.cta-next h3{font-size:21px;margin:0 0 7px;line-height:1.5}.cta-next p{font-size:14px;margin:0;color:var(--muted)}.cta-next .contact-button{flex-shrink:0;padding:15px 24px}
@media(max-width:800px){:root{--article-header-height:82px}.library-header{padding:12px 20px;gap:12px}.library-header nav{gap:12px}.library-header .contact-button{display:inline-block;padding:10px 12px;font-size:12px}.brand span{margin-top:5px}.article-answer{padding:22px}.toc{max-height:none}.cta-scene{min-height:330px}.cta-intro{padding:26px;width:82%}.article-cta .cta-intro h2{font-size:34px}.cta-promise{font-size:17px}.cta-penguin{width:100px;right:18px;bottom:18px}.cta-next{padding:24px;flex-direction:column;align-items:stretch;gap:18px}.cta-next .contact-button{text-align:center}.cta-next h3{font-size:20px}.article-note{padding:20px 20px 20px 49px}.article-note::before{left:17px;top:18px}}
@media(max-width:520px){.library-header nav>a:first-child{display:none}.library-header{padding:12px 16px}.library-header .contact-button{font-size:11px}.article-eyecatch img{aspect-ratio:auto}.article-answer{padding:20px}.cta-intro{width:100%;padding:24px 20px 104px}.cta-scene::after{background:linear-gradient(90deg,#fbfcfff5 0%,#fbfcffe6 48%,#fbfcff44 100%)}.cta-penguin{width:94px}.cta-promise{font-size:16px}.article-body ul:has(>.action-check-item){padding:16px}}
@media print{.library-header{display:none}.article-note{print-color-adjust:exact}.action-check input{appearance:auto}.article-body mark{background:#ffe990;print-color-adjust:exact}}
.article-note::before{content:none}.note-icon{position:absolute;left:20px;top:21px;font-size:21px;font-weight:800;color:var(--point-ink)}.article-note-warning .note-icon{color:#984b21}@media(max-width:800px){.note-icon{left:17px;top:18px}}
.article-note-next{background:#f2f6fa;border-left-color:#6d899c}.article-note-next strong,.article-note-next .note-icon{color:#3b5a70}

@media(max-width:520px){.article-cta .cta-intro h2{font-size:clamp(24px,8vw,34px)}}

/* Larger reading type across every article, including mobile. */
.article-body{font-size:20px;line-height:1.9}
.article-answer p:last-child{font-size:20px;line-height:1.9}
.article-heading h1{font-size:clamp(32px,3.5vw,48px)}
.article-body h2{font-size:30px}.article-body h3{font-size:25px}
.toc{font-size:16px}.toc h2{font-size:18px}
.article-body .article-table table,.article-body table{font-size:18px}
.article-table figcaption,.article-eyecatch figcaption,.article-diagram figcaption{font-size:16px}
.article-heading .eyebrow,.answer-label{font-size:16px}
.byline,.breadcrumbs{font-size:14px}
.article-card p{font-size:17px}.card-category,.card-meta{font-size:14px}
.cta-next p{font-size:17px}.cta-next h3{font-size:24px}
.action-check input{width:23px;height:23px;margin-top:7px}
.action-check input:checked+span::after{font-size:14px}
@media(max-width:800px){.article-body h2{font-size:27px}.article-body h3{font-size:24px}.article-body .article-table th,.article-body .article-table td{min-width:150px}}
