:root{--paper:#faf9f5;--sand:#f0eee6;--ink:#1f1e1b;--muted:#6e6c66;--indigo:#7d89bd;--indigo-ink:#5a68a0;--indigo-soft:#eceef5;--line:#e3e0d6;--radius:18px;--gutter:1.25rem;--wrap:64rem;--split-gap:2.5rem;--font-body-stack:var(--font-body), "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;--font-heading-stack:var(--font-heading), "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:6.5rem}body{background:var(--paper);color:var(--ink);font-family:var(--font-body-stack);letter-spacing:.02em;overflow-wrap:anywhere;margin:0;font-size:1rem;line-height:1.9}h1,h2,h3,p,dl,dd,ul,ol,address{margin:0}ul,ol{padding:0;list-style:none}.jp{word-break:keep-all;overflow-wrap:anywhere}.jp .ph{display:inline-block}.jp,.jp .ph{-webkit-text-decoration:inherit;text-decoration:inherit}a{color:inherit}:focus-visible{outline:3px solid var(--indigo-ink);outline-offset:3px;border-radius:4px}.skip{left:var(--gutter);background:var(--ink);color:var(--paper);z-index:10;border-radius:8px;padding:.6rem 1rem;position:absolute;top:-4rem}.skip:focus{top:.5rem}.preview-bar{background:var(--ink);color:var(--paper);text-align:center;padding:.4rem var(--gutter);font-size:.8rem;line-height:1.5}.site-header{z-index:20;-webkit-backdrop-filter:saturate(1.2)blur(10px);backdrop-filter:saturate(1.2)blur(10px);border-bottom:1px solid var(--line);background:#faf9f5f2;position:sticky;top:0}.header-inner{max-width:var(--wrap);padding:.35rem var(--gutter);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 1.5rem;margin:0 auto;display:flex}.wordmark{align-items:center;gap:.65rem;padding:.45rem 0;text-decoration:none;display:inline-flex}.wordmark-mark{flex:none;width:auto;height:2.5rem;display:block}.wordmark-text{flex-direction:column;gap:.1rem;display:flex}.wordmark-ja{font-family:var(--font-heading-stack);letter-spacing:.03em;font-size:1.0625rem;font-weight:700;line-height:1.35}.wordmark-en{color:var(--muted);letter-spacing:.05em;font-size:.6875rem;line-height:1.3}.site-header nav ul{flex-wrap:wrap;gap:0 1rem;display:flex}.site-header nav a{color:var(--muted);padding:.7rem .1rem;font-size:.9rem;text-decoration:none;display:inline-block}.site-header nav a:hover{color:var(--indigo-ink);text-underline-offset:.3em;text-decoration:underline}@media (max-width:40rem){.site-header{position:static}html{scroll-padding-top:1rem}.wordmark{gap:.55rem;padding:.35rem 0 .1rem}.wordmark-mark{height:2.2rem}.wordmark-ja{font-size:.975rem}.wordmark-en{font-size:.625rem}.site-header nav a{padding:.4rem 0;font-size:.8rem}.site-header nav ul{gap:0 .9rem}}@media (max-width:22.5rem){.site-header nav a{font-size:.72rem}.site-header nav ul{gap:0 .6rem}}.hero{max-width:var(--wrap);padding:clamp(3rem, 11vw, 7.5rem) var(--gutter) clamp(3rem, 9vw, 6rem);margin:0 auto;position:relative;overflow:clip}.hero-shape{width:clamp(13rem,42vw,26rem);fill:var(--indigo-soft);opacity:.6;pointer-events:none;position:absolute;top:clamp(0rem,2vw,1rem);right:clamp(-5rem,-6vw,-1rem)}.eyebrow{letter-spacing:.14em;color:var(--indigo-ink);margin-bottom:1.25rem;font-size:.9rem;font-weight:500;position:relative}.hero-text{container-type:inline-size}.origin{font-family:var(--font-heading-stack);letter-spacing:.03em;word-break:keep-all;font-size:clamp(1.75rem,11.2cqw,3.4rem);font-weight:700;line-height:1.4;position:relative}.origin span{display:block}.nf-title{font-size:clamp(1.4rem,8cqw,2.4rem)}.lead{color:var(--ink);margin-top:clamp(1.5rem,4vw,2.5rem);font-size:clamp(1.1rem,2.4vw,1.45rem);line-height:1.8;position:relative}.lead-label{letter-spacing:.14em;color:var(--indigo-ink);margin-bottom:.25rem;font-size:.9rem;font-weight:500;display:block}.block{padding:clamp(2.5rem,7vw,5rem) 0}.block-sand{background:var(--sand)}.wrap{max-width:var(--wrap);padding:0 var(--gutter);margin:0 auto}.block-title{font-family:var(--font-heading-stack);letter-spacing:.04em;margin-bottom:1.5rem;font-size:clamp(1.3rem,3.4vw,1.7rem);font-weight:700;line-height:1.5}.measure{container-type:inline-size}@media (min-width:48rem){.measure,.page-lead{max-width:calc((100% - var(--split-gap)) * .6)}}.vision{font-family:var(--font-heading-stack);font-size:clamp(1.2rem,4.6cqw,1.75rem);font-weight:500;line-height:1.8}.vision .line{text-wrap:balance;display:block}.about,.profile-text{font-size:1rem;line-height:2}.footnote{color:var(--muted);margin-top:1rem;font-size:.875rem;line-height:1.8}.words{gap:1.5rem;display:grid}@media (min-width:48rem){.words{grid-template-columns:repeat(3,1fr);gap:2rem}}.words li{border-top:2px solid var(--indigo);padding-top:1rem}.words strong{font-family:var(--font-heading-stack);letter-spacing:.06em;margin-bottom:.4rem;font-size:1.3rem;font-weight:700;display:block}.words li>span{color:var(--muted);line-height:1.9;display:block}.words .sentence{display:block}.cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:1rem;display:grid}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:.35rem;height:100%;padding:1.25rem 1.25rem 1.1rem;line-height:1.7;text-decoration:none;display:flex}.card-name{font-family:var(--font-heading-stack);letter-spacing:.04em;font-size:1.1rem;font-weight:700}.card-note{color:var(--muted);font-size:.925rem;line-height:1.8}.card-go{color:var(--indigo-ink);margin-top:auto;padding-top:.5rem;font-size:.875rem;font-weight:500}a.card:hover{border-color:var(--indigo);transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}a.card{transition:none}a.card:hover{transform:none}}.site-footer{background:var(--ink);color:var(--paper);padding:2.5rem 0 2rem;font-size:.9rem;line-height:1.9}.site-footer :focus-visible{outline-color:var(--indigo)}.footer-brand{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.footer-mark{flex:none;width:auto;height:2.5rem;display:block}.footer-name{font-family:var(--font-heading-stack);letter-spacing:.03em;font-size:1.0625rem;font-weight:700;line-height:1.35}.footer-name span{font-family:var(--font-body-stack);letter-spacing:.05em;color:#cfcdc6;font-size:.6875rem;font-weight:400;line-height:1.5;display:block}.site-footer address{font-style:normal}.site-footer address a{text-underline-offset:.25em}.footer-links{margin-top:.75rem}.footer-links a{text-underline-offset:.25em}.copy{color:#cfcdc6;margin-top:1.5rem;font-size:.75rem}.page-head{max-width:var(--wrap);padding:clamp(2.5rem, 8vw, 5rem) var(--gutter) clamp(1.5rem, 5vw, 3rem);margin:0 auto}.page-title{font-family:var(--font-heading-stack);letter-spacing:.04em;word-break:keep-all;font-size:clamp(1.7rem,7vw,3rem);font-weight:700;line-height:1.5}.page-title span{display:block}.page-lead{color:var(--muted);margin-top:1.25rem;font-size:clamp(1rem,2.4vw,1.125rem)}.more{margin-top:1.75rem;font-weight:500}.more a{color:var(--indigo-ink);text-underline-offset:.3em}.rules{counter-reset:rule}.rules li{counter-increment:rule;border-top:1px solid var(--line);grid-template-columns:2.75rem 1fr;column-gap:.75rem;padding:1.5rem 0;display:grid}.rules li:last-child{border-bottom:1px solid var(--line)}.rules li:before{content:counter(rule);font-family:var(--font-heading-stack);color:var(--indigo-ink);grid-row:1/span 3;font-size:2rem;font-weight:700;line-height:1.3}.rule-title{font-family:var(--font-heading-stack);letter-spacing:.04em;grid-column:2;margin:0 0 .5rem;font-size:clamp(1.35rem,4.2vw,1.8rem);font-weight:700;line-height:1.5}.rule-body{color:var(--muted);grid-column:2;font-size:.925rem;line-height:1.95}.rule-body .line{display:block}.rule-note{color:var(--muted);grid-column:2;margin-top:.5rem;font-size:.8rem;line-height:1.8}.challenge-summary{color:var(--muted);margin-bottom:2rem}.timeline{border-left:2px solid var(--line);padding-left:1.5rem;position:relative}.timeline li{padding-bottom:2.25rem;position:relative}.timeline li:last-child{padding-bottom:0}.timeline li:before{content:"";background:var(--indigo-ink);border:2px solid var(--paper);border-radius:50%;width:12px;height:12px;position:absolute;top:.55rem;left:calc(-1.5rem - 7px)}.tl-date{letter-spacing:.06em;color:var(--indigo-ink);font-size:.9rem;font-weight:500}.tl-title{font-family:var(--font-heading-stack);letter-spacing:.03em;margin:.15rem 0 .5rem;font-size:clamp(1.1rem,3.2vw,1.3rem);font-weight:700;line-height:1.6}.status{border-radius:999px;margin:0 0 .75rem;padding:.05rem .75rem;font-size:.8rem;font-weight:500;line-height:1.8;display:inline-block}.status-good,.status-hard,.status-going{background:var(--indigo-soft);color:var(--indigo-ink)}.tl-body>div+div{margin-top:.75rem}.tl-body dt{letter-spacing:.08em;color:var(--muted);font-size:.8rem;font-weight:500}.tl-body dd{font-size:.975rem;line-height:1.95}.tl-photos{gap:.75rem;margin-top:1rem;display:grid}@media (min-width:40rem){.tl-photos{grid-template-columns:1fr 1fr}}.links{border-collapse:collapse;width:100%}.links th{text-align:left;letter-spacing:.08em;color:var(--indigo-ink);padding:0 1rem .6rem 0;font-size:.85rem;font-weight:500}.links td{border-top:1px solid var(--line);vertical-align:top;padding:1rem 1rem 1rem 0;line-height:1.8}@media (max-width:40rem){.links thead{position:absolute;left:-9999px}.links tr,.links td{display:block}.links tr{border-top:1px solid var(--line);padding:1rem 0}.links td{border:0;padding:.2rem 0}.links td:before{content:attr(data-label);letter-spacing:.08em;color:var(--indigo-ink);font-size:.8rem;font-weight:500;display:block}}.closing{text-wrap:balance;font-family:var(--font-heading-stack);font-size:clamp(1.1rem,3vw,1.35rem);font-weight:500;line-height:1.9}.facts>div{border-top:1px solid var(--line);grid-template-columns:6.5rem 1fr;gap:0 1rem;padding:.9rem 0;display:grid}.facts>div:last-child{border-bottom:1px solid var(--line)}.facts dt{color:var(--muted);font-size:.875rem;font-weight:500}.facts dd a{text-underline-offset:.25em}.hours{margin:0;padding:0;list-style:none}.hours li{word-break:auto-phrase}.hours li+li{margin-top:.35rem}.nowrap{white-space:nowrap}.photo{border-radius:var(--radius);aspect-ratio:var(--sp);background:var(--sand);margin:0;position:relative;overflow:hidden}.photo-badge{color:#fff;letter-spacing:.06em;background:#1f1e1bbd;border-radius:999px;padding:0 .7rem;font-size:.75rem;line-height:1.8;position:absolute;bottom:.6rem;left:.6rem}@media (min-width:48rem){.photo{aspect-ratio:var(--pc)}}.photo img{object-fit:cover;object-position:var(--focus,50% 50%);width:100%;height:100%;display:block}.photo-narrow{max-width:34rem}@media (min-width:48rem){.photo-hero{width:100%;max-height:min(58vh,31rem)}.photo-hero img{object-position:50% 12%}}.photo-block+.hero{padding-top:clamp(2rem,5vw,3.5rem)}.photo-block{padding-top:clamp(1rem,3vw,1.5rem);padding-bottom:clamp(1rem,3vw,2rem)}.photo-empty{text-align:center;color:var(--muted);background:repeating-linear-gradient(135deg,#eeebe2 0 14px,#f4f2ec 14px 28px);border:1.5px dashed #c9c5b9;flex-direction:column;justify-content:center;align-items:center;gap:.3rem;padding:1rem;display:flex}.photo-id{font-family:var(--font-heading-stack);color:var(--indigo-ink);font-size:1.25rem;font-weight:700;line-height:1.3}.photo-ratio{letter-spacing:.06em;font-size:.75rem}.photo-what{max-width:30rem;font-size:.75rem;line-height:1.6}.photo-illust{place-items:center;display:grid}.photo-illust img{border-radius:50%;width:6rem;height:6rem}.card .photo{margin-bottom:.6rem}.photo-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:clamp(1.5rem,4vw,2.5rem);display:grid}@media (min-width:48rem){.photo-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}}.photo-strip .photo{aspect-ratio:4/3}.photo-strip .photo-badge{padding:0 .5rem;font-size:.6875rem;bottom:.4rem;left:.4rem}.hero-grid{gap:clamp(1.5rem,4vw,2.5rem);display:grid;position:relative}@media (min-width:48rem){.hero-grid.has-photo{align-items:center;column-gap:var(--split-gap);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.split{gap:1.5rem;display:grid}.split-text{min-width:0;container-type:inline-size}.split.has-photo{grid-template-areas:"photo""text"}.split.has-photo>.split-text{grid-area:text}.split.has-photo>.photo{grid-area:photo}@media (min-width:48rem){.split.has-photo{align-items:center;column-gap:var(--split-gap);grid-template-columns:minmax(0,3fr) minmax(0,2fr);grid-template-areas:"text photo"}.split.has-photo.split-rev{grid-template-columns:minmax(0,2fr) minmax(0,3fr);grid-template-areas:"photo text"}.split.has-photo.split-top{align-items:start}.split:not(.has-photo)>.split-text{width:100%;max-width:calc((100% - var(--split-gap)) * .6)}}.profile-text p+p{margin-top:1.2rem}.about-grid{gap:clamp(1.5rem,4vw,2.5rem);display:grid}@media (min-width:48rem){.about-grid{column-gap:var(--split-gap);grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:center}}.about-grid .photo-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:0}.what-grid{gap:1.5rem;display:grid}.what-logo{width:6rem;height:auto}@media (min-width:48rem){.what-grid{column-gap:var(--split-gap);grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:center}.what-logo{justify-self:center;width:11rem}}.facts-grid{gap:1.5rem;display:grid}@media (min-width:48rem){.facts-grid{column-gap:var(--split-gap);grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:stretch}.facts-grid>.photo{aspect-ratio:auto;height:100%;min-height:20rem}}.entry{border:1px solid var(--line);border-left:4px solid var(--indigo);border-radius:var(--radius);background:var(--paper);gap:.5rem;padding:clamp(1.5rem,4vw,2rem);display:grid}.entry-title{font-family:var(--font-heading-stack);letter-spacing:.04em;font-size:clamp(1.15rem,3vw,1.35rem);font-weight:700}.entry-text{color:var(--muted)}.entry .more{margin-top:.25rem}.news li{border-top:1px solid var(--line);gap:.2rem 1.5rem;padding:1rem 0;display:grid}.news li:last-child{border-bottom:1px solid var(--line)}@media (min-width:48rem){.news li{grid-template-columns:8.5rem 6.5rem minmax(0,1fr);align-items:baseline}}.news time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.9rem}.news-cat{background:var(--indigo-soft);color:var(--indigo-ink);border-radius:999px;justify-self:start;padding:0 .7rem;font-size:.75rem;font-weight:500;line-height:1.9}.news-title a{color:var(--ink);text-underline-offset:.3em}.news-site{color:var(--muted);white-space:nowrap;margin-left:.5rem;font-size:.8rem}.news-draft{color:var(--indigo-ink);margin-left:.5rem;font-size:.75rem}.policy-h{font-family:var(--font-heading-stack);letter-spacing:.04em;margin:2.5rem 0 .75rem;font-size:clamp(1.1rem,3vw,1.3rem);font-weight:700;line-height:1.6}.policy>:first-child>.policy-h:first-child{margin-top:0}.policy-p,.policy-list{font-size:.95rem;line-height:2}.policy-p+.policy-p,.policy-p+.policy-list,.policy-list+.policy-p{margin-top:1rem}.policy-list{padding-left:1.4em}.policy-ul{list-style:outside}.policy-ol{list-style:decimal}.policy-list li+li{margin-top:.4rem}.policy-list li::marker{color:var(--indigo-ink)}.pending{white-space:nowrap;background:var(--indigo-soft);color:var(--indigo-ink);border-radius:.3em;padding:0 .35em;font-size:.85em;font-weight:500}.policy-table{margin:1rem 0 2rem}.policy-table table{border-collapse:collapse;width:100%;font-size:.9rem;line-height:1.8}.policy-table th,.policy-table td{border-top:1px solid var(--line);text-align:left;vertical-align:top;padding:.85rem 1.25rem .85rem 0}.policy-table thead th{color:var(--muted);border-top:0;font-size:.8rem;font-weight:500}.policy-table tbody th{width:11rem;font-weight:700}.policy-table tbody tr:last-child>*{border-bottom:1px solid var(--line)}@media (max-width:48rem){.policy-table thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.policy-table tr,.policy-table th,.policy-table td{display:block}.policy-table tbody tr{border-top:1px solid var(--line);padding:1rem 0}.policy-table tbody tr:last-child{border-bottom:1px solid var(--line)}.policy-table th,.policy-table td,.policy-table tbody tr:last-child>*{border:0;width:auto;padding:.1rem 0}.policy-table td:before{content:attr(data-label);color:var(--muted);margin-top:.6rem;font-size:.75rem;font-weight:500;display:block}}.news-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.news-head .more{margin-top:0}:root{--lift:0 1px 2px #1f1e1b0f, 0 3px 10px #1f1e1b12;--lift-hover:0 2px 4px #1f1e1b14, 0 8px 20px #1f1e1b1a}.card{box-shadow:var(--lift);background:#fff;border:0}a.card{transition:transform .18s,box-shadow .18s}a.card:hover{box-shadow:var(--lift-hover)}@media (forced-colors:active){.card{border:1px solid buttontext}}.hero-about{max-width:36em;color:var(--muted);margin-top:1.25rem;font-size:.975rem;line-height:1.9;position:relative}.hero-biz{margin-top:1rem;position:relative}.hero-biz ul{flex-wrap:wrap;gap:.5rem;display:flex}.hero-biz a{min-height:44px;box-shadow:var(--lift);color:var(--indigo-ink);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;padding:0 1rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:box-shadow .18s;display:inline-flex}.hero-biz a:hover{box-shadow:var(--lift-hover)}@media (forced-colors:active){.hero-biz a{border:1px solid canvastext}}@media (prefers-reduced-motion:reduce){.hero-biz a{transition:none}}.inline-link{color:var(--indigo-ink);text-underline-offset:.25em;text-decoration:underline;text-decoration-thickness:1px}.facts-biz{flex-wrap:wrap;gap:.15rem 1.1rem;margin-top:.5rem;font-size:.925rem;display:flex}.facts-biz a{color:var(--indigo-ink);text-underline-offset:.25em}.footer-biz{border-top:1px solid #faf9f52e;border-bottom:1px solid #faf9f52e;margin:1.25rem 0 1.5rem;padding:1.1rem 0 1.25rem}.footer-biz-title{letter-spacing:.12em;color:#cfcdc6;margin-bottom:.5rem;font-size:.8rem}.footer-biz ul{grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:.1rem 1.5rem;display:grid}.footer-biz li{align-items:center;min-height:44px;display:flex}.footer-biz a{text-underline-offset:.25em}.footer-biz-note{color:#cfcdc6;margin-left:.25rem;font-size:.8rem}.photo-hero{aspect-ratio:16/9}.photo-hero img{object-fit:cover;object-position:50% 30%;width:100%;height:100%}@media (min-width:48rem){.photo-hero{aspect-ratio:auto;max-height:min(38vh,20rem)}}.hero-biz{margin-top:1.25rem}.hero-about{margin-top:1rem}@media (max-width:47.99rem){.footer-biz ul{grid-template-columns:1fr 1fr;gap:0 1rem}.footer-biz li{font-size:.85rem}}@media (min-width:48rem){.photo-hero{max-height:min(30vh,16rem)}.photo-block+.hero{padding-top:1.25rem}.hero .eyebrow{margin-bottom:.75rem}}.facts-biz{display:block}.facts-biz li+li{margin-top:.15rem}.footer-biz a{white-space:nowrap}
