@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Zen+Kaku+Gothic+New:wght@400;500;700&family=Shippori+Mincho:wght@400;500;600&display=swap');
:root{--yellow:#f5d93c;--ink:#151515;--paper:#f7f7f3;--line:#c8c8bf;--muted:#55584f;--green:#006e26;--sans:Inter,'Zen Kaku Gothic New','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;--serif:'Shippori Mincho','Yu Mincho',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.85;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:.24em}a:hover{color:var(--green)}a:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:5px}img{max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{overflow-wrap:anywhere}button,summary{font:inherit}ul,ol{padding-left:1.35em}li+li{margin-top:.5em}.wrap{max-width:1336px;margin:auto;padding-inline:48px}.eyebrow{font-size:.875rem;letter-spacing:.08em;font-weight:600;line-height:1.5}.skip-link{position:fixed;left:12px;top:-90px;padding:12px;background:var(--ink);color:white;z-index:10}.skip-link:focus{top:10px}.preview-banner{background:var(--ink);color:white;text-align:center;font-size:.75rem;letter-spacing:.1em;padding:3px 12px}.site-header{display:flex;align-items:center;gap:36px;min-height:106px;padding:22px 48px;background:var(--yellow);border-bottom:1px solid #15151530}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;font-size:1rem;font-weight:700;line-height:1.25;margin-right:auto}.brand img{flex:0 0 36px}.brand small{display:block;font-weight:500;font-size:.75rem;letter-spacing:.15em;margin-top:5px}.desktop-nav{display:flex;gap:26px;font-size:.875rem;font-weight:600}.desktop-nav a{text-decoration:none}.desktop-nav .current{text-decoration:underline}.header-contact{text-decoration:none;border:1px solid var(--ink);padding:9px 17px;white-space:nowrap;font-size:.875rem}.header-contact span{margin-left:12px}.mobile-nav{display:none}.breadcrumb{font-size:.75rem;padding-block:20px}.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;color:var(--muted)}.breadcrumb li{margin:0}.breadcrumb li+li:before{content:'/';margin-right:8px}.breadcrumb a{text-decoration:none}.home{background:var(--yellow)}.home .breadcrumb{padding-bottom:0}.home-hero{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:32px;padding:40px 0 80px;min-height:566px}.home-hero h1{font-size:clamp(2.8rem,5.45vw,5.4rem);line-height:1.1;letter-spacing:-.055em;margin:18px 0 30px;font-weight:600}.hero-jp{display:block;font-family:var(--serif);font-size:clamp(1.8rem,3vw,3rem);font-weight:500;line-height:1.6;letter-spacing:.01em;margin-top:27px}.hero-description{max-width:520px;font-size:1rem;line-height:2}.hero-art{width:100%;max-width:520px;aspect-ratio:1;object-fit:contain}.text-link{display:inline-flex;gap:35px;margin-top:26px;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:5px;font-weight:600;font-size:.9375rem}.directory{background:var(--paper);padding:80px max(48px,calc((100vw - 1240px)/2)) 100px}.section-title{display:flex;gap:36px;justify-content:space-between;align-items:baseline;margin-bottom:36px}.section-title h2{font-family:var(--serif);font-size:1.8rem;font-weight:500}.directory-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:56px}.entry{display:flex;gap:20px;text-decoration:none;position:relative;border-top:1px solid var(--line);padding:29px 0;align-items:flex-start}.entry:hover h3{text-decoration:underline;text-underline-offset:.2em}.entry .eyebrow{font-size:.75rem;color:var(--muted);letter-spacing:.08em}.entry h3{font-size:1.2rem;font-weight:600;line-height:1.6;margin:7px 0 10px}.entry p{font-size:.9375rem;line-height:1.8;color:var(--muted)}.item-number{font-size:.8125rem;color:var(--green);padding-top:3px;min-width:23px}.entry-arrow{font-size:1.3rem;margin-left:auto;min-width:25px}.page-heading{padding:44px 0 62px;border-bottom:1px solid var(--ink);max-width:1100px}.page-heading h1{font-size:clamp(2rem,3.5vw,3.3rem);font-family:var(--serif);font-weight:500;line-height:1.5;letter-spacing:.015em;margin:20px 0 27px}.definition{font-size:1.2rem;font-weight:500;line-height:2;max-width:940px}.updated{font-size:.75rem;color:var(--muted);margin-top:27px}.article-shell{display:grid;grid-template-columns:240px minmax(0,780px);gap:66px;padding-block:56px 96px;justify-content:space-between}.on-this-page{display:flex;align-self:start;flex-direction:column;font-size:.875rem;line-height:1.7;gap:14px;position:sticky;top:28px}.on-this-page>span{font-size:.75rem;letter-spacing:.1em;margin-bottom:8px;color:var(--muted)}.on-this-page a{text-decoration:none}.on-this-page a:hover{text-decoration:underline}.article-body{min-width:0;grid-column:2}.article-body>p{margin-bottom:26px}.prose-section{margin:0 0 56px;scroll-margin-top:24px}.prose-section h2,.faq-group h2{font-family:var(--serif);font-size:1.65rem;line-height:1.6;font-weight:600;margin-bottom:24px}.prose-section h3{font-size:1.1rem;margin:30px 0 12px}.prose-section p{margin:0 0 20px}.prose-section ul{margin-block:18px 28px}.fact-table{margin:0}.fact-table div{display:grid;grid-template-columns:150px 1fr;border-bottom:1px solid var(--line);padding:18px 0;gap:20px}.fact-table dt{font-size:.875rem;color:var(--muted)}.fact-table dd{margin:0}.steps{list-style:none;padding:0;counter-reset:steps}.steps li{border-top:1px solid var(--line);padding:18px 0 18px 46px;position:relative}.steps li:before{counter-increment:steps;content:counter(steps,decimal-leading-zero);position:absolute;left:0;color:var(--green);font-size:.875rem}.steps strong{display:block;margin-bottom:5px}.source-note{font-size:.875rem;color:var(--muted);border-left:2px solid var(--green);padding-left:18px}.sources{border-top:1px solid var(--line);padding-top:27px;margin-top:60px;font-size:.875rem;overflow-wrap:anywhere}.sources h2{font-size:.9375rem;font-weight:600}.sources ul{padding-left:1.2em}.sources p{color:var(--muted);font-size:.8125rem}.related{padding:0 0 85px}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.related-grid .entry{padding-top:22px}.related-grid .entry h3{font-size:1.05rem}.related-grid .entry p{font-size:.875rem}.contact-panel{background:var(--yellow);padding:70px 0 80px;border-top:1px solid #15151530}.contact-inner{display:flex;justify-content:space-between;align-items:center;gap:40px}.contact-inner h2{font-family:var(--serif);font-size:2.6rem;line-height:1.6;font-weight:500;margin:22px 0}.contact-inner p:not(.eyebrow){font-size:1rem}.contact-link{display:block;font-size:2rem;min-width:300px;text-decoration:none;border-bottom:1px solid var(--ink);padding:12px 0 21px}.contact-link span{float:right}.contact-link small{display:block;font-size:.875rem;margin-top:20px}.site-footer{padding-top:55px;padding-bottom:30px;background:var(--paper)}.home .site-footer{max-width:none;padding-inline:max(48px,calc((100vw - 1240px)/2))}.footer-top{display:flex;justify-content:space-between;gap:24px;margin-bottom:38px}.footer-top strong{font-size:1.4rem}.footer-top p{font-family:var(--serif)}.site-footer nav{display:flex;flex-wrap:wrap;gap:13px 25px;font-size:.8125rem}.site-footer nav a{text-decoration:none}.footer-bottom{border-top:1px solid var(--line);margin-top:40px;padding-top:22px;display:flex;justify-content:space-between;font-size:.75rem}.home .article-shell{display:block}.home .article-body{max-width:780px;margin-inline:auto}.home .article-body .prose-section:last-child{margin-bottom:0}.faq-index{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:45px}.faq-index a{font-size:.875rem;border:1px solid var(--line);padding:9px 13px;text-decoration:none}.faq-group{margin-bottom:60px}.faq-item{border-top:1px solid var(--line);scroll-margin-top:20px}.faq-item:last-child{border-bottom:1px solid var(--line)}.faq-item summary{display:flex;gap:18px;align-items:baseline;padding:21px 0;cursor:pointer;list-style:none;font-weight:500}.faq-item summary::-webkit-details-marker{display:none}.question-number{font-size:.8125rem;flex:0 0 32px;color:var(--green)}.faq-sign{margin-left:auto;width:20px;flex:0 0 20px}.faq-sign:after{content:'＋'}.faq-item[open] .faq-sign:after{content:'−'}.faq-answer{padding:0 30px 26px 50px}.anchor-link{font-size:.75rem;display:inline-block;margin-top:17px;color:var(--muted)}.terms{margin:0}.terms>div{border-top:1px solid var(--line);padding:28px 0 36px;scroll-margin-top:24px}.terms dt{font-size:1.2rem;font-weight:600;margin-bottom:15px}.terms dd{margin:0}.listing .entry h3{font-family:var(--serif);font-size:1.5rem}.callout{background:#ededdf;padding:25px 28px;border-left:3px solid var(--green)}.inline-links{display:flex;flex-wrap:wrap;gap:12px 26px;margin-top:24px}.inline-links a{font-size:.9375rem}.loop-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 26px}.loop-grid li{font-size:.9375rem}.tag{font-size:.8125rem;letter-spacing:.04em;color:var(--green)}
@media(min-width:1600px){.site-header{padding-inline:calc((100vw - 1336px)/2 + 48px)}}
@media(max-width:1000px){.wrap{padding-inline:28px}.site-header{padding-inline:28px;gap:20px}.desktop-nav{gap:15px;font-size:.8125rem}.header-contact{padding:8px 10px}.home-hero{gap:10px}.article-shell{grid-template-columns:180px minmax(0,1fr);gap:40px}.directory{padding-inline:28px}.directory-grid{column-gap:32px}.home .site-footer{padding-inline:28px}.contact-link{min-width:240px}.contact-inner h2{font-size:2.2rem}}
@media(max-width:760px){.wrap{padding-inline:22px}.site-header{padding:17px 22px;min-height:86px;gap:15px;flex-wrap:wrap}.brand{font-size:.875rem}.brand img{width:30px;flex-basis:30px}.brand small{font-size:.6875rem}.desktop-nav{display:none}.header-contact{display:none}.mobile-nav{display:block;position:relative}.mobile-nav summary{font-size:.875rem;cursor:pointer;list-style:none;padding:10px 5px}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary:after{content:'＋';margin-left:10px}.mobile-nav[open] summary:after{content:'−'}.mobile-nav nav{position:absolute;right:0;top:49px;background:var(--paper);z-index:5;padding:20px;width:min(300px,85vw);box-shadow:0 8px 18px #0002;border:1px solid var(--line);display:flex;flex-direction:column;gap:5px}.mobile-nav nav a{display:block;padding:10px;text-decoration:none;font-size:.9375rem}.breadcrumb{padding-block:16px}.home-hero{display:block;position:relative;padding:38px 0 52px;min-height:0}.home-hero h1{font-size:clamp(2.8rem,10.2vw,4.6rem);margin-top:18px}.hero-jp{font-size:1.95rem;line-height:1.7;position:relative;z-index:1;margin-top:24px}.hero-art{position:absolute;right:-3px;top:137px;width:42%;opacity:.12;pointer-events:none}.hero-description{position:relative;font-size:1rem;line-height:1.95;max-width:100%}.home-hero .eyebrow{font-size:.75rem}.directory{padding:48px 22px 55px}.directory-grid{display:block}.section-title{display:block;margin-bottom:28px}.section-title h2{font-size:1.65rem;margin-top:14px}.entry{gap:14px;padding:25px 0}.entry h3{font-size:1.15rem}.page-heading{padding:22px 0 38px}.page-heading h1{font-size:2rem;line-height:1.55;margin:17px 0 23px}.definition{font-size:1.0625rem;line-height:1.95}.article-shell{display:flex;flex-direction:column;gap:40px;padding-block:32px 60px}.on-this-page{position:static;width:100%;border-bottom:1px solid var(--line);padding-bottom:27px;gap:10px}.on-this-page>span{margin-bottom:2px}.prose-section{margin-bottom:44px}.prose-section h2,.faq-group h2{font-size:1.5rem}.fact-table div{grid-template-columns:85px 1fr;gap:14px}.related{padding-bottom:50px}.related-grid{display:block}.contact-panel{padding-block:45px 55px}.contact-inner{display:block}.contact-inner h2{font-size:2rem;margin:19px 0}.contact-link{margin-top:28px;font-size:1.6rem;max-width:360px}.contact-link small{margin-top:12px}.footer-top{display:block}.footer-top p{margin-top:12px}.site-footer{padding-top:35px}.site-footer nav{gap:13px 22px}.home .site-footer{padding-inline:22px}.footer-bottom{gap:15px}.faq-index{display:grid;margin-bottom:35px}.faq-index a{padding:12px}.faq-item summary{gap:11px}.faq-answer{padding-left:0;padding-right:0}.loop-grid{display:block}.callout{padding:20px}.sources{margin-top:40px}.terms dt{font-size:1.1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.site-header,.site-footer,.contact-panel,.related,.on-this-page,.preview-banner{display:none}.article-shell{display:block;padding:20px}.page-heading{padding-top:0}.wrap{padding-inline:0}.faq-item .faq-answer{display:block!important}body{background:white;color:black;font-size:11pt}.sources a:after{content:' (' attr(href) ')';font-size:9pt}}

@media(max-width:760px){.hero-jp{font-size:clamp(1.6rem,7.7vw,1.95rem)}}

.page-heading h1{text-wrap:balance}
