/* Article layout is isolated from the main landing page. */
:root{--ink:#242e29;--muted:#626c65;--green:#285c49;--line:#dce3db;--paper:#fff;--soft:#f4f6f0;--sand:#f5f3eb;--sans:'Noto Sans JP',-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;--serif:'Noto Serif JP','Yu Mincho',serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px;text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.9;overflow-wrap:anywhere}
a{color:var(--green);text-underline-offset:.22em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
a:focus-visible,summary:focus-visible{outline:3px solid #b3612e;outline-offset:5px;border-radius:2px}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
h1,h2,h3{font-weight:700;font-feature-settings:'palt';overflow-wrap:normal;line-break:strict}
strong{font-weight:700}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}
.skip-link{position:absolute;left:12px;top:-80px;z-index:20;background:#fff;padding:10px 16px}
.skip-link:focus{top:10px}
.advertising-note{padding:6px 24px;border-bottom:1px solid #edf0e9;color:#657065;background:#fafbf8;text-align:center;font-size:11px;line-height:1.6}
.reading-header{border-bottom:1px solid var(--line)}
.header-inner{max-width:1120px;margin:auto;min-height:104px;padding:21px 36px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.wordmark{display:block;text-decoration:none;color:var(--ink);font-family:var(--serif);font-size:28px;font-weight:500;letter-spacing:.08em;line-height:1.3;white-space:nowrap}
.wordmark span{display:block;margin-top:8px;font-size:10px;letter-spacing:.09em;font-family:var(--sans);font-weight:400;color:var(--muted)}
.reading-header nav{display:flex;gap:30px;align-items:center;font-size:14px;font-weight:500;line-height:1.5}
.reading-header nav a{text-decoration:none;white-space:nowrap;color:var(--ink);padding:12px 0}
.reading-header nav a:hover{color:var(--green);text-decoration:underline}
.reading-header nav .header-compare{display:flex;gap:12px;color:var(--green)}
.reading-main,.hub-main{max-width:1080px;margin:0 auto;padding:0 36px 88px}
.breadcrumbs{font-size:12px;line-height:1.7;color:var(--muted);padding:23px 0 34px}
.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:9px;padding:0}
.breadcrumbs li:not(:last-child)::after{content:'/';margin-left:9px;color:#9aa39b}
.breadcrumbs a{color:var(--muted);text-decoration:none}
.breadcrumbs a:hover{text-decoration:underline}
.reading-layout{display:grid;grid-template-columns:minmax(0,680px) minmax(0,224px);gap:72px;align-items:start}
.reader{min-width:0}
.article-category{font-size:13px;line-height:1.5;letter-spacing:.06em;color:var(--green);font-weight:700}
.article-heading h1{font-size:36px;letter-spacing:.005em;line-height:1.5;margin:14px 0 18px;text-wrap:pretty}
.headline-phrase{display:inline-block;max-width:100%}
.article-meta{display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--muted);font-size:12px;line-height:1.7}
.article-meta span{border-left:1px solid var(--line);padding-left:16px}
.article-lead{font-size:18px;line-height:1.95;margin-top:25px;padding-bottom:28px;border-bottom:1px solid var(--line)}
.mobile-toc{display:none}
.article-body{font-size:17px;line-height:1.95;letter-spacing:.01em}
.article-body h2{font-size:25px;line-height:1.55;margin:54px 0 23px;padding-top:15px;position:relative;letter-spacing:.01em}
.article-body h2::before{content:'';position:absolute;top:0;left:0;width:32px;height:3px;background:#66866b}
.article-body h2:first-child{margin-top:36px}
.article-body h3{font-size:20px;line-height:1.6;margin:30px 0 12px}
.article-body p{margin:0 0 22px}
.article-body ul{padding-left:1.4em;margin:22px 0 26px}
.article-body li{padding-left:.15em;margin:11px 0}
.article-body li::marker{color:#6b826c}
.article-body .content-note{font-size:13px;line-height:1.85;color:var(--muted);margin-bottom:18px}
.article-body p:last-child{margin-bottom:0}
.article-body a:not(.source-ref a){font-weight:500}
.source-ref{font-size:11px;line-height:0;vertical-align:super;margin-left:3px;white-space:nowrap}
.source-ref a{padding:0 3px;text-decoration:none;color:var(--green)}
.source-ref a::before{content:'['}
.source-ref a::after{content:']'}
.reading-rail{height:100%;position:relative;font-size:14px}
.rail-sticky{position:sticky;top:32px;padding-top:4px}
.rail-label{font-size:12px;font-weight:600;color:var(--muted);letter-spacing:.04em;margin-bottom:15px}
.reading-rail ol{padding-left:0;list-style:none;counter-reset:toc;border-top:1px solid var(--line)}
.reading-rail li{counter-increment:toc;display:grid;grid-template-columns:22px 1fr;gap:7px;padding:15px 0;border-bottom:1px solid var(--line);line-height:1.8}
.reading-rail li::before{content:counter(toc,decimal-leading-zero);font-size:10px;font-weight:500;color:#758477;line-height:2.5}
.reading-rail li a{color:var(--ink);text-decoration:none;font-size:13px}
.reading-rail li a:hover{color:var(--green);text-decoration:underline}
.rail-index{display:block;font-size:12px;margin-top:24px;text-decoration:none}
.rail-index span{margin-left:5px}
.comparison-list{margin:25px 0 27px;border-top:2px solid #718d76}
.comparison-record{display:grid;grid-template-columns:146px minmax(0,1fr);gap:28px;padding:25px 0;border-bottom:1px solid var(--line)}
.article-body .comparison-record h3{font-size:19px;margin:2px 0 0;line-height:1.65}
.comparison-record dl>div+div{margin-top:11px}
.comparison-record dt{font-size:12px;line-height:1.6;color:var(--muted);margin-bottom:5px;font-weight:500}
.comparison-record dd{font-size:16px;line-height:1.9}
.comparison-list--prices .comparison-record:first-child{padding-top:23px}
.comparison-list--prices .comparison-record dl>div:first-child dd{line-height:1.6;font-size:25px;letter-spacing:.01em}
.comparison-list--prices .comparison-record:last-child dl>div:first-child dd{font-size:20px}
.comparison-list--choices .comparison-record dl>div:first-child dd{font-weight:600}
.message-example{margin:27px 0 30px;background:var(--sand);padding:22px 25px;border-left:3px solid #b6a174;font-size:16px;line-height:1.95}
.article-body .message-label{font-size:12px;font-weight:700;color:#766549;letter-spacing:.02em;margin:0 0 10px;line-height:1.6}
.article-body .message-example p:last-child{margin:0}
.document-list{margin:24px 0 28px;border-top:1px solid var(--line)}
.document-list>div{display:grid;grid-template-columns:180px minmax(0,1fr);gap:25px;padding:19px 0;border-bottom:1px solid var(--line)}
.document-list dt{font-size:16px;font-weight:600;line-height:1.8}
.document-list dd{font-size:16px;line-height:1.9}
.article-body .procedure-list{list-style:none;padding:0;margin:25px 0 30px;counter-reset:step}
.article-body .procedure-list>li{counter-increment:step;position:relative;margin:0;padding:0 0 25px 48px}
.procedure-list>li::before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:3px;border-radius:50%;height:31px;width:31px;display:grid;place-items:center;background:#e7eee3;color:#345c43;font-size:12px;font-weight:600;line-height:1}
.procedure-list>li:not(:last-child)::after{content:'';position:absolute;left:15px;top:39px;bottom:4px;width:1px;background:var(--line)}
.article-body .procedure-list h3{font-size:20px;line-height:1.6;margin:0 0 9px}
.article-body .procedure-list p{font-size:16px;line-height:1.85;margin:8px 0 0}
.procedure-list .step-deadline{font-weight:500}
.leave-calendar{margin:28px 0;background:var(--soft);padding:24px;border:1px solid #d7e0d2;border-radius:3px}
.leave-calendar figcaption{line-height:1.6}
.figure-label{display:block;font-size:12px;color:var(--green);font-weight:500;margin-bottom:6px}
.leave-calendar figcaption strong{font-size:20px}
.article-body .calendar-start,.article-body .calendar-end{font-size:14px;font-weight:500;line-height:1.7}
.article-body .calendar-start{margin:20px 0 12px}
.article-body .calendar-end{margin:12px 0 0;color:#254e39;text-align:right}
.leave-calendar table{width:100%;table-layout:fixed;border-spacing:4px 7px;margin:-4px;font-size:15px;line-height:1.6}
.leave-calendar th{color:var(--muted);font-weight:400;font-size:13px;padding:0 0 2px}
.leave-calendar td{text-align:center;height:52px;padding:8px 0;border-radius:2px;white-space:nowrap}
.leave-day{background:#dce8d2;color:#233e28;font-weight:500}
.off-day{background:#e9ece7;color:#5b645b}
.retirement-day{outline:2px solid #416740;outline-offset:-2px}
.after-day{color:#667364;background:transparent;font-size:12px}
.article-body .figure-note{font-size:12px;line-height:1.85;color:var(--muted);margin:17px 0 0;padding-top:13px;border-top:1px solid #d6dfd1}
.reading-cta{margin:48px 0 0;background:#edf3e8;padding:25px 28px;border-radius:4px}
.cta-label{font-size:11px;color:#536c4f;letter-spacing:.04em;font-weight:600;margin-bottom:9px}
.reading-cta h2{font-size:21px;line-height:1.6;margin-bottom:10px}
.reading-cta>p:not(.cta-label){font-size:15px;line-height:1.9;margin-bottom:20px}
.reading-cta>a,.hub-cta>a{background:var(--green);color:#fff;border-radius:3px;padding:13px 18px;display:inline-flex;align-items:center;justify-content:space-between;gap:27px;font-size:14px;font-weight:500;text-decoration:none;line-height:1.6;min-height:48px}
.reading-cta>a:hover,.hub-cta>a:hover{background:#1f483a}
.article-sources{margin-top:42px;padding-top:25px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);line-height:1.9}
.article-sources h2{font-size:14px;font-weight:600;line-height:1.6;color:var(--ink);margin-bottom:10px}
.article-sources ol{padding-left:1.8em;margin-top:12px}
.article-sources li{padding-left:.25em;margin:7px 0;scroll-margin-top:24px}
.article-sources li:target{background:#f2eedf;outline:4px solid #f2eedf}
.article-sources a{color:var(--muted)}
.source-back{text-decoration:none;padding:4px;margin-left:5px}
.editorial-note{margin-top:23px;padding-top:17px;border-top:1px dashed var(--line)}
.editorial-note>p+p{margin:5px 0}
.related-reading{margin-top:44px}
.related-reading h2{font-size:20px;line-height:1.6;margin-bottom:16px}
.related-reading>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.related-link{position:relative;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;padding:21px 24px 44px 0}
.related-link+ .related-link{border-left:1px solid var(--line);padding-left:24px;padding-right:0}
.related-link:hover strong{text-decoration:underline;text-underline-offset:.2em}
.related-category{font-size:11px;color:var(--green);margin-bottom:8px}
.related-link strong{font-size:17px;line-height:1.65;margin-bottom:10px}
.related-link>span:not(.related-category):not(.link-arrow){font-size:13px;line-height:1.9;color:var(--muted)}
.related-link .link-arrow{position:absolute;bottom:13px;right:24px;color:var(--green)}
.related-link+ .related-link .link-arrow{right:0}
.all-guides-link{display:inline-block;font-size:13px;margin-top:20px;text-decoration:none}
.all-guides-link span{margin-left:12px}
.reading-footer{border-top:1px solid var(--line);background:#f7f8f4;padding:40px 36px}
.footer-inner{max-width:1008px;margin:auto;display:flex;gap:40px;justify-content:space-between}
.footer-brand{font-family:var(--serif);font-size:23px;color:var(--ink);text-decoration:none}
.footer-inner p{font-size:11px;color:var(--muted);margin-top:13px;line-height:1.9}
.footer-inner nav{display:grid;grid-template-columns:auto auto;align-content:center;gap:13px 24px;font-size:11px}
.footer-inner nav a{color:var(--muted);text-decoration:none}
.footer-inner nav a:hover{text-decoration:underline}
/* The guide index uses compact topic groups, without a decorative hero. */
.hub-heading{padding:10px 0 37px;max-width:760px}
.hub-heading .article-category span{font-size:11px;border-left:1px solid #bfcdbd;margin-left:12px;padding-left:14px;font-weight:400;color:var(--muted)}
.hub-heading h1{font-size:38px;line-height:1.55;margin:15px 0 19px;letter-spacing:.025em}
.hub-heading>p:last-child{font-size:16px;color:var(--muted);line-height:1.9}
.mobile-break{display:none}
.directory-group{border-top:1px solid var(--line);padding:25px 0 28px}
.directory-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 22px;margin-bottom:8px}
.directory-heading h2{font-size:16px;line-height:1.6}
.directory-heading p{font-size:12px;color:var(--muted);line-height:1.7}
.directory-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}
.directory-link{display:grid;grid-template-columns:33px minmax(0,1fr) 20px;align-items:start;gap:12px;padding:20px 0 8px;text-decoration:none;color:var(--ink)}
.directory-number{font-family:var(--serif);font-size:22px;line-height:1.5;color:#81917b}
.directory-category{font-size:11px;color:var(--green);line-height:1.5;display:block;margin:0 0 8px}
.directory-link h3{font-size:21px;line-height:1.6;font-weight:600;margin:0 0 10px}
.directory-link p{font-size:14px;color:var(--muted);line-height:1.9}
.directory-arrow{align-self:center;color:var(--green);font-size:19px;transition:transform .15s}
.directory-link:hover h3{text-decoration:underline;text-underline-offset:.2em}
.directory-link:hover .directory-arrow{transform:translateX(4px)}
.hub-cta{margin-top:19px;background:var(--soft);border-radius:4px;padding:27px 30px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.hub-cta h2{font-size:19px;line-height:1.6;margin-bottom:8px}
.hub-cta p{font-size:13px;color:var(--muted);line-height:1.8}
.hub-cta>a{white-space:nowrap;flex-shrink:0}
@media(max-width:1000px){
 .reading-layout{grid-template-columns:minmax(0,680px) 180px;gap:38px}
 .reading-main,.hub-main{padding-left:28px;padding-right:28px}
 .article-heading h1{font-size:33px}
 .directory-link h3{font-size:19px}
 .directory-pair{gap:27px}
}
@media(max-width:820px){
 .reading-main{max-width:744px}
 .reading-layout{display:block}
 .reading-rail{display:none}
 .mobile-toc{display:block;border-bottom:1px solid var(--line);padding:0}
 .mobile-toc summary{display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer;min-height:54px;font-size:13px;font-weight:500;color:var(--green)}
 .mobile-toc summary::-webkit-details-marker{display:none}
 .mobile-toc summary span{font-size:18px;font-weight:400;transition:transform .15s}
 .mobile-toc[open] summary span{transform:rotate(45deg)}
 .mobile-toc nav{padding-bottom:14px}
 .mobile-toc ol{padding-left:1.6em;font-size:14px;line-height:1.8}
 .mobile-toc li{padding:6px 0 6px 3px}
 .mobile-toc a{color:var(--ink);text-decoration:none}
 .article-body h2:first-child{margin-top:30px}
 .hub-cta{display:block}
 .hub-cta>a{margin-top:20px}
 .wordmark span{display:none}
 .header-inner{min-height:80px}
}
@media(max-width:600px){
 body{font-size:17px}
 .advertising-note{padding:6px 16px;font-size:10px;text-align:left}
 .header-inner{min-height:76px;padding:18px 20px;gap:15px}
 .wordmark{font-size:23px;letter-spacing:.03em}
 .reading-header nav{gap:17px;font-size:11px}
 .reading-header nav .header-compare{gap:4px}
 .header-compare span{font-size:12px}
 .reading-main,.hub-main{padding:0 20px 56px}
 .breadcrumbs{font-size:11px;padding:17px 0 23px}
 .breadcrumbs ol{gap:7px}
 .breadcrumbs li:not(:last-child)::after{margin-left:7px}
 .article-category{font-size:12px}
 .article-heading h1{font-size:28px;line-height:1.55;margin:12px 0 14px;letter-spacing:.005em}
 .article-meta{font-size:11px;gap:6px 12px}
 .article-meta span{padding-left:12px}
 .article-lead{font-size:17px;line-height:1.95;margin-top:20px;padding-bottom:23px}
 .article-body{font-size:17px;line-height:1.95;letter-spacing:0}
 .article-body h2{font-size:23px;line-height:1.6;margin:43px 0 20px;padding-top:14px}
 .article-body h3{font-size:19px;line-height:1.65;margin:28px 0 12px}
 .article-body p{margin-bottom:21px}
 .article-body li{margin:12px 0}
 .comparison-record{display:block;padding:23px 0}
 .article-body .comparison-record h3{font-size:19px;line-height:1.6;margin:0 0 12px}
 .comparison-record dd{font-size:16px}
 .comparison-record dt{font-size:11px;margin-bottom:4px}
 .comparison-list--prices .comparison-record dl>div:first-child dd{font-size:26px}
 .comparison-list--prices .comparison-record:last-child dl>div:first-child dd{font-size:20px}
 .comparison-record dl>div+div{margin-top:11px}
 .message-example{padding:19px 18px;font-size:16px;margin:25px 0}
 .document-list>div{display:block;padding:17px 0}
 .document-list dt{margin-bottom:6px;font-size:16px}
 .document-list dd{font-size:16px;line-height:1.9}
 .article-body .procedure-list>li{padding-left:41px;padding-bottom:25px}
 .article-body .procedure-list h3{font-size:19px}
 .article-body .procedure-list p{font-size:16px}
 .leave-calendar{padding:19px 13px;margin:25px 0}
 .leave-calendar figcaption strong{font-size:17px}
 .leave-calendar table{font-size:14px;border-spacing:3px 6px;margin-left:-3px;margin-right:-3px;width:calc(100% + 6px)}
 .leave-calendar th{font-size:12px}
 .leave-calendar td{height:44px;padding:7px 0}
 .leave-calendar .after-day{font-size:10px}
 .article-body .calendar-start,.article-body .calendar-end{font-size:12px}
 .article-body .figure-note{font-size:11px}
 .reading-cta{margin-top:37px;padding:22px 20px}
 .reading-cta h2{font-size:20px}
 .reading-cta>p:not(.cta-label){font-size:14px}
 .reading-cta>a{display:flex;width:100%;font-size:14px;padding:14px 16px}
 .article-sources{margin-top:34px}
 .article-sources ol{font-size:12px}
 .related-reading>div{display:block}
 .related-link{padding:20px 28px 23px 0}
 .related-link+ .related-link{border-left:0;border-top:1px solid var(--line);padding:20px 28px 23px 0}
 .related-link strong{font-size:18px;margin-bottom:7px}
 .related-link>span:not(.related-category):not(.link-arrow){font-size:13px}
 .related-link .link-arrow,.related-link+ .related-link .link-arrow{right:0;bottom:25px}
 .reading-footer{padding:32px 20px}
 .footer-inner{display:block}
 .footer-inner nav{margin-top:25px;justify-content:start;gap:14px 24px}
 .hub-heading{padding:0 0 26px}
 .hub-heading h1{font-size:29px;line-height:1.6;margin:12px 0 15px;letter-spacing:0}
 .hub-heading>p:last-child{font-size:14px;line-height:1.9}
 .mobile-break{display:block}
 .directory-group{padding:22px 0 14px}
 .directory-heading{display:block;margin-bottom:8px}
 .directory-heading h2{font-size:15px}
 .directory-heading p{font-size:11px;margin-top:5px}
 .directory-pair{display:block}
 .directory-link{padding:21px 0;grid-template-columns:28px minmax(0,1fr) 17px;gap:10px}
 .directory-link+ .directory-link{border-top:1px dashed var(--line)}
 .directory-number{font-size:20px}
 .directory-link h3{font-size:21px;margin-bottom:9px;font-weight:600}
 .directory-link p{font-size:14px;line-height:1.85}
 .directory-category{font-size:11px;margin-bottom:7px}
 .hub-cta{padding:23px 21px}
 .hub-cta h2{font-size:19px}
 .hub-cta>a{display:flex;white-space:normal}
}
@media(max-width:359px){
 .header-inner{padding:15px 16px;gap:8px;min-height:69px}
 .wordmark{font-size:21px}
 .reading-header nav{gap:10px;font-size:10px}
 .reading-header nav .header-compare{gap:2px}
 .reading-main,.hub-main{padding-left:18px;padding-right:18px}
 .article-heading h1{font-size:26px}
 .article-body h2{font-size:21px}
 .leave-calendar figcaption strong{font-size:16px}
 .leave-calendar{padding:17px 10px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
@media print{
 .reading-header,.advertising-note,.breadcrumbs,.reading-rail,.mobile-toc,.reading-cta,.related-reading,.reading-footer,.skip-link{display:none}
 .reading-main{max-width:none;padding:0}.reading-layout{display:block}.article-body{font-size:11pt;line-height:1.7}.article-heading h1{font-size:22pt}.article-body h2{break-after:avoid;font-size:17pt}.article-body h3{break-after:avoid;font-size:14pt}.comparison-record,.message-example,.leave-calendar{break-inside:avoid}.article-sources{font-size:9pt}
}
