@layer theme,base,typography,components,pages,responsive;@layer theme{:root{color-scheme:light;--color-white: #ffffff;--color-text: #26342f;--color-text-strong: #34413c;--color-text-secondary: #4c5954;--color-text-muted: #69736f;--color-text-subtle: #6d7873;--color-heading: #24445e;--color-brand: #2d79bb;--color-brand-deep: #3f6f9b;--color-brand-text: #526f89;--color-brand-copy: #607b92;--color-brand-pale: #91abc0;--color-brand-muted: #75a9d8;--color-brand-soft: #a9c8e3;--color-action: #347fbe;--color-action-hover: #286ea9;--color-focus: #1d5d9d;--color-surface: #ffffff;--color-surface-soft: #f5f9fc;--color-surface-tint: #f2f8fc;--color-surface-hero: #f1f8fd;--color-border: #d9ddd8;--color-border-soft: #d7e9f6;--color-border-accent: #9fc5e3;--color-border-subtle: rgba(38, 52, 47, .12);--color-border-strong: rgba(38, 52, 47, .2);--color-border-faint: rgba(217, 221, 216, .75);--color-brand-border: rgba(117, 169, 216, .4);--color-brand-border-soft: rgba(117, 169, 216, .35);--color-header-surface: rgba(255, 255, 255, .96);--color-surface-translucent: rgba(255, 255, 255, .94);--color-footer: #294b67;--color-footer-text: #f8f8f3;--color-footer-muted: #d1d7d3;--color-footer-border: rgba(255, 255, 255, .18);--font-sans: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", "Noto Sans JP", sans-serif;--font-serif: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;--text-micro: .625rem;--text-small: .75rem;--text-caption: .8125rem;--text-body-small: .875rem;--text-body: 1rem;--text-display: clamp(2.4375rem, 3.3vw, 3.25rem);--text-section-title: clamp(2rem, 4vw, 3.125rem);--text-subsection-title: clamp(1.5625rem, 2.3vw, 2.125rem);--text-page-title: clamp(2.375rem, 5vw, 3.875rem);--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--leading-label: 1.6;--leading-heading: 1.55;--leading-display: 1.48;--leading-body: 1.9;--leading-copy: 2.05;--tracking-body: .035em;--tracking-heading: .035em;--tracking-display: .055em;--tracking-label: .12em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-9: 36px;--space-10: 40px;--space-11: 48px;--space-12: 64px;--container-wide: 1340px;--container-content: 1120px;--container-reading: 1180px;--container-mobile: 680px;--measure-wide: 650px;--page-gutter: 64px;--page-gutter-mobile: 40px;--section-space: clamp(110px, 13vw, 180px);--section-space-compact: clamp(90px, 11vw, 140px);--radius-round: 50%;--radius-pill: 999px;--shadow-orbit: 0 18px 58px rgba(73, 130, 174, .11);--duration-fast: .18s;--ease-standard: ease;--layer-header: 10;--layer-skip-link: 100;color:var(--color-text);background:var(--color-surface);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizeLegibility}}@layer base{*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;min-width:320px;min-height:100vh;background:var(--color-surface);color:var(--color-text);font-size:var(--text-body);line-height:var(--leading-body);letter-spacing:var(--tracking-body)}img,svg{display:block}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}.skip-link{position:fixed;top:12px;left:12px;z-index:var(--layer-skip-link);padding:10px 16px;background:var(--color-text);color:var(--color-white);text-decoration:none;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}}@layer typography{h1,h2,h3,p{overflow-wrap:anywhere}.hero h1,.section-heading h2,.about-main h2,.contact h2,.privacy-hero h1{margin:0;font-family:var(--font-serif);font-weight:var(--weight-medium);letter-spacing:var(--tracking-heading)}.eyebrow{margin:0 0 var(--space-6);color:var(--color-brand-deep);font-size:var(--text-small);font-weight:var(--weight-bold);line-height:var(--leading-label);letter-spacing:var(--tracking-label)}}@layer components{.site-header{position:relative;z-index:var(--layer-header);border-bottom:1px solid var(--color-border-subtle);background:var(--color-header-surface)}.site-header--home{position:absolute;top:0;right:0;left:0;border-bottom:0;background:transparent}.header-inner,.footer-inner{width:min(100% - var(--page-gutter),var(--container-wide));margin:0 auto}.header-inner{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-10)}.site-header--home .header-inner{width:min(100% - 120px,var(--container-wide));min-height:124px}.brand{display:inline-flex;align-items:center;gap:var(--space-4);color:var(--color-text);font-size:var(--text-caption);font-weight:var(--weight-semibold);line-height:1.45;text-decoration:none;letter-spacing:.025em}.site-header--home .brand,.site-header--home nav a{color:var(--color-brand-text)}.site-header--home nav a{font-size:14px}.brand img{width:52px;height:52px;flex:0 0 auto}.site-header nav{display:flex;align-items:center;gap:clamp(22px,3vw,48px)}.site-header nav a,.back-link{position:relative;color:var(--color-text-secondary);font-size:var(--text-caption);font-weight:var(--weight-medium);text-decoration:none;letter-spacing:.06em;white-space:nowrap}.site-header nav a:after{position:absolute;right:0;bottom:-8px;left:0;height:1px;background:var(--color-brand-muted);content:"";transform:scaleX(0);transform-origin:right;transition:transform var(--duration-fast) var(--ease-standard)}.site-header nav a:hover:after{transform:scaleX(1);transform-origin:left}.back-link{display:inline-flex;align-items:center;gap:12px;white-space:nowrap}.back-link-label--short{display:none}.back-link svg,.outline-button svg,.inline-form-link svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.section{width:min(100% - var(--page-gutter),var(--container-wide));margin:0 auto}.section-grid{display:grid;grid-template-columns:136px minmax(0,1fr);gap:clamp(40px,6vw,96px)}.section-label{display:flex;flex-direction:column;gap:6px;padding-top:8px;color:var(--color-text-subtle);font-size:var(--text-micro);line-height:var(--leading-label);letter-spacing:var(--tracking-label);writing-mode:vertical-rl}.section-label span:first-child{color:var(--color-brand-muted);font-size:var(--text-small);font-variant-numeric:tabular-nums}.section-artwork{margin:0;line-height:0}.section-artwork img{width:100%;height:auto;object-fit:contain}.outline-button{display:flex;align-items:center;justify-content:space-between;width:min(100%,390px);margin-top:38px;padding:18px 22px;border:1px solid var(--color-text);color:var(--color-text);font-size:var(--text-caption);font-weight:var(--weight-semibold);text-decoration:none;transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.outline-button:hover{background:var(--color-text);color:var(--color-white)}.site-footer{background:var(--color-footer);color:var(--color-footer-text)}.footer-inner{min-height:170px;display:flex;align-items:center;justify-content:space-between;gap:40px}.site-footer .brand{color:inherit}.site-footer .brand img{opacity:.9}.footer-meta{display:flex;align-items:center;gap:clamp(24px,4vw,60px);color:var(--color-footer-muted);font-size:11px}.footer-meta a{text-underline-offset:5px}.footer-meta small{font-size:inherit}}@layer pages{.hero{position:relative;min-height:100svh;padding:clamp(170px,18vh,230px) max(60px,calc((100vw - var(--container-wide)) / 2)) 78px;background:linear-gradient(118deg,var(--color-white) 0%,var(--color-white) 43%,var(--color-surface-hero) 100%);overflow:hidden;isolation:isolate}.hero-top-arc{position:absolute;top:-595px;left:-90px;z-index:0;width:min(78vw,1040px);aspect-ratio:1;border:1px solid var(--color-border-soft);border-radius:var(--radius-round);pointer-events:none}.hero-inner{position:relative;z-index:1;display:flex;align-items:center;max-width:var(--container-wide);min-height:calc(100svh - clamp(248px,26vh,308px));margin:0 auto}.hero-copy{position:relative;z-index:2;width:63%;max-width:880px}.hero h1{color:var(--color-heading);font-size:var(--text-display);line-height:var(--leading-display);letter-spacing:var(--tracking-display)}.hero h1 span{color:var(--color-brand)}.hero-description{max-width:var(--measure-wide);margin:42px 0 0;color:var(--color-brand-copy);font-size:var(--text-body);line-height:2.1}.hero-actions{display:flex;align-items:center;gap:clamp(28px,4vw,64px);margin-top:52px}.hero-primary-link{display:flex;align-items:center;justify-content:space-between;width:min(100%,290px);min-height:76px;padding:0 34px;border-radius:var(--radius-pill);background:var(--color-action);color:var(--color-white);font-size:var(--text-body-small);text-decoration:none;transition:background-color var(--duration-fast) var(--ease-standard)}.hero-primary-link:hover{background:var(--color-action-hover)}.hero-primary-link span:last-child{font-size:20px}.hero-secondary-link{padding:12px 0 8px;border-bottom:1px solid var(--color-border-accent);color:var(--color-brand-text);font-size:var(--text-body-small);text-decoration:none}.hero-orbit{opacity:.5;position:absolute;top:56%;right:-7%;z-index:1;display:grid;width:min(52vw,760px);aspect-ratio:1;place-items:center;transform:translateY(-42%);pointer-events:none}.hero-orbit-ring{position:absolute;border-radius:var(--radius-round)}.hero-orbit-ring--outer{width:100%;height:100%;border:1px solid var(--color-border-soft)}.hero-orbit-ring--dashed{width:76%;height:76%;border:1px dashed var(--color-border-soft)}.hero-orbit-core{z-index:1;display:grid;width:58%;aspect-ratio:1;place-items:center;border:1px solid var(--color-border-soft);border-radius:var(--radius-round);background:var(--color-surface-translucent);box-shadow:var(--shadow-orbit)}.hero-orbit-core img{width:43%;height:43%;object-fit:contain}.hero-next{position:absolute;bottom:-34px;left:0;display:flex;align-items:center;gap:16px;margin:0;color:var(--color-brand-pale);font-size:var(--text-micro);letter-spacing:var(--tracking-label)}.hero-next span{width:72px;height:1px;background:var(--color-border-accent)}.business{padding-top:var(--section-space);padding-bottom:var(--section-space);background:var(--color-white)}.section-heading .eyebrow{grid-column:1 / -1}.section-heading h2,.about-main h2,.contact h2{font-size:var(--text-section-title);line-height:var(--leading-heading)}.business-list{margin-top:clamp(72px,8vw,112px);border-top:1px solid var(--color-text)}.business-item{position:relative;display:grid;grid-template-columns:56px minmax(230px,.8fr) minmax(280px,1fr) minmax(230px,.8fr);gap:clamp(20px,3vw,42px);min-height:330px;padding:48px 0 56px;border-bottom:1px solid var(--color-border);overflow:hidden;isolation:isolate}.business-artwork{align-self:center;width:100%;max-width:300px;justify-self:end;opacity:.92}.business-number{color:var(--color-brand-muted);font-family:var(--font-serif);font-size:.9375rem;font-variant-numeric:tabular-nums}.business-type{margin:0 0 28px;color:var(--color-brand-deep);font-size:var(--text-small);font-weight:var(--weight-bold);letter-spacing:var(--tracking-label)}.business-name h3{margin:0;font-family:var(--font-serif);font-size:var(--text-subsection-title);font-weight:var(--weight-medium);line-height:1.7}.business-detail{padding:2px 0 0 clamp(24px,3vw,48px);border-left:1px solid var(--color-border)}.business-detail>p:first-child{margin:0;color:var(--color-text-secondary);font-size:var(--text-body-small);line-height:var(--leading-copy)}.business-detail ul{margin:32px 0 0;padding:0;list-style:none}.business-detail li{position:relative;padding:9px 0 9px 22px;border-top:1px solid var(--color-border-faint);color:var(--color-text-secondary);font-size:var(--text-caption)}.business-detail li:before{position:absolute;top:24px;left:1px;width:8px;height:1px;background:var(--color-brand-soft);content:""}.status-note{display:flex;align-items:center;gap:10px;margin-top:32px!important;color:var(--color-text-subtle)!important;font-size:var(--text-small)!important}.status-note span{width:6px;height:6px;border-radius:var(--radius-round);background:var(--color-brand-soft)}.about-wrap{position:relative;padding:clamp(100px,12vw,164px) 0;background:var(--color-surface-tint);overflow:hidden}.about-wrap:after{position:absolute;right:8vw;bottom:0;width:180px;height:90px;border:solid var(--color-brand-border-soft);border-width:1px 1px 0;border-radius:180px 180px 0 0;content:""}.about{position:relative;padding:0;background:transparent}.about-main{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr);gap:36px clamp(48px,7vw,108px);align-items:center}.about-heading{position:relative;z-index:1}.about-heading h2{white-space:nowrap}.about-copy p{margin:12px;color:var(--color-text-secondary);font-size:var(--text-body-small);line-height:var(--leading-copy)}.about-artwork{grid-column:2;grid-row:1 / span 2;width:min(100%,560px);justify-self:end;opacity:.9}.company{padding-top:var(--section-space);padding-bottom:var(--section-space);background:var(--color-surface-tint);box-shadow:0 0 0 100vmax var(--color-surface-tint);clip-path:inset(0 -100vmax)}.company-main{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(500px,1.2fr);gap:clamp(50px,8vw,120px)}.company-heading{display:block}.company-heading .eyebrow{margin-bottom:28px}.company-list{margin:0;border-top:1px solid var(--color-text)}.company-list>div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:32px;padding:25px 0;border-bottom:1px solid var(--color-border)}.company-list dt{color:var(--color-text-subtle);font-size:var(--text-small);font-weight:var(--weight-semibold)}.company-list dd{margin:0;color:var(--color-text-strong);font-size:var(--text-body-small)}.company-list ul{margin:0;padding:0;list-style:none}.company-list li+li{margin-top:7px}.contact{border-top:1px solid var(--color-border-strong);background:var(--color-white)}.contact-inner{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(500px,1.2fr);gap:clamp(56px,10vw,160px);width:min(100% - var(--page-gutter),var(--container-content));margin:0 auto;padding:var(--section-space-compact) 0}.contact-artwork{width:min(100%,380px);margin:auto;align-self:center;opacity:.9}}@layer pages{.privacy-page{width:min(100% - var(--page-gutter),var(--container-reading));margin:0 auto;padding:clamp(80px,10vw,138px) 0 clamp(110px,12vw,170px)}.privacy-hero{max-width:850px;padding-bottom:clamp(70px,8vw,110px)}.privacy-hero h1{font-size:var(--text-page-title);line-height:1.45}.privacy-hero>p:last-child{max-width:690px;margin:32px 0 0;color:var(--color-text-muted);font-size:var(--text-body-small)}.privacy-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:clamp(60px,9vw,130px);align-items:start}.privacy-layout aside{position:sticky;top:32px;padding-top:18px;border-top:1px solid var(--color-text)}.privacy-layout aside>p{margin:0 0 16px;color:var(--color-text-subtle);font-size:var(--text-micro);font-weight:var(--weight-bold);letter-spacing:var(--tracking-label)}.privacy-layout aside ol{margin:0;padding:0;list-style:none;counter-reset:privacy-nav}.privacy-layout aside li{counter-increment:privacy-nav;font-size:var(--text-small)}.privacy-layout aside li+li{margin-top:8px}.privacy-layout aside a{display:flex;gap:10px;color:var(--color-text-secondary);text-decoration:none}.privacy-layout aside a:before{color:var(--color-text-subtle);content:"0" counter(privacy-nav);font-size:9px}.privacy-warning{margin-bottom:36px;padding:26px 30px;border:1px solid var(--color-brand-border);background:var(--color-surface-soft)}.privacy-warning p{margin:0;color:var(--color-text-secondary);font-size:var(--text-small);line-height:var(--leading-body)}.privacy-warning p:first-child{margin-bottom:8px;color:var(--color-brand-deep);font-weight:var(--weight-bold)}.privacy-content>section{display:grid;grid-template-columns:60px minmax(0,1fr);gap:28px;padding:42px 0 48px;border-top:1px solid var(--color-border);scroll-margin-top:32px}.privacy-content>section:last-of-type{border-bottom:1px solid var(--color-border)}.privacy-number{margin:5px 0 0;color:var(--color-brand-muted);font-family:var(--font-serif);font-size:var(--text-caption)}.privacy-content h2{margin:0 0 18px;font-family:var(--font-serif);font-size:25px;font-weight:var(--weight-medium);letter-spacing:.04em}.privacy-content section p:last-child{margin:0;color:var(--color-text-secondary);font-size:var(--text-caption);line-height:var(--leading-copy)}.inline-form-link{display:inline-flex;align-items:center;gap:14px;margin-top:22px;color:var(--color-brand-deep);font-size:var(--text-small);font-weight:var(--weight-bold);text-underline-offset:5px}.privacy-effective{margin:32px 0 0;color:var(--color-text-subtle);font-size:11px;text-align:right}}@layer responsive{@media(max-width:1120px){.hero-inner{min-height:560px}.hero-copy{width:64%}.hero-orbit{opacity:.5;right:-16%;width:min(61vw,var(--container-mobile))}}@media(max-width:1120px){.business-item,.business-item--pet{grid-template-columns:50px minmax(220px,.8fr) minmax(300px,1.2fr);gap:24px;margin-left:0}.business-artwork{grid-column:2 / 4;width:min(100%,440px);margin-top:28px}.about-main,.company-main,.contact-inner{grid-template-columns:1fr 1.25fr;gap:48px}}@media(max-width:900px){.section-grid{grid-template-columns:90px minmax(0,1fr);gap:32px}.business-item,.business-item--pet{grid-template-columns:42px minmax(160px,.8fr) minmax(0,1.2fr);gap:20px}}@media(max-width:780px){html{scroll-padding-top:122px}body{font-size:15px}.header-inner,.footer-inner,.section,.privacy-page{width:min(100% - var(--page-gutter-mobile),var(--container-mobile))}.header-inner{min-height:auto;padding:16px 0 12px;flex-wrap:wrap;gap:14px 24px}.site-header--home .header-inner{width:min(100% - var(--page-gutter-mobile),var(--container-mobile));min-height:auto}.brand{font-size:11px}.brand img{width:40px;height:40px}.site-header nav{width:100%;justify-content:space-between;gap:12px;padding-top:9px;border-top:1px solid var(--color-border)}.site-header nav a,.back-link{font-size:10px;letter-spacing:.03em}.site-header--simple .header-inner{flex-wrap:nowrap;gap:12px;padding:14px 0}.site-header--simple .brand{min-width:0}.back-link{gap:7px}.back-link-label--long{display:none}.back-link-label--short{display:inline}.hero{min-height:max(860px,100svh);padding:168px 20px 64px}.hero:before{top:0;right:auto;bottom:0;left:0;width:8px;height:auto}.hero-top-arc{top:-310px;left:-230px;width:560px}.hero-inner{display:block;min-height:628px}.hero-copy{width:100%;max-width:620px}.hero-orbit{opacity:.5;top:auto;right:-185px;bottom:-310px;width:540px;transform:none}.hero h1{font-size:clamp(30px,8.6vw,42px);line-height:1.62}.hero-description{margin-top:28px;font-size:14px}.hero-actions{gap:28px;margin-top:36px}.hero-primary-link{width:220px;min-height:62px;padding:0 26px;font-size:13px}.hero-secondary-link{font-size:12px}.hero-next{display:none}.section-grid{grid-template-columns:1fr;gap:32px}.section-label{flex-direction:row;gap:12px;padding:0;writing-mode:horizontal-tb}.section-heading{grid-template-columns:1fr;gap:26px}.section-heading .eyebrow{margin-bottom:0}.section-heading h2,.about-main h2,.contact h2{font-size:clamp(29px,8vw,38px)}.about-main h2{font-size:clamp(19px,6.4vw,38px)}.business{padding-top:96px;padding-bottom:96px}.business-list{margin-top:64px}.business-item,.business-item--pet{grid-template-columns:38px minmax(0,1fr);gap:14px;min-height:0;padding:36px 0 42px}.business-detail{grid-column:2;margin-top:26px;padding-left:0;border-left:0}.business-detail>p:first-child{font-size:13px}.business-artwork{grid-column:2;width:min(100%,360px);margin-top:28px;justify-self:start}.about-wrap{padding:90px 0 100px}.about-wrap:after{right:20px;width:120px;height:60px}.about-main{grid-template-columns:1fr;gap:52px}.about-artwork{grid-column:1;grid-row:auto;width:min(100%,520px);justify-self:center}.about-copy{padding:36px 0 0 22px}.about-copy p{font-size:18px}.company{padding-top:96px;padding-bottom:96px}.company-main{grid-template-columns:1fr;gap:54px}.company-list>div{grid-template-columns:90px minmax(0,1fr);gap:20px}.contact-inner{grid-template-columns:1fr;width:min(100% - var(--page-gutter-mobile),var(--container-mobile));gap:44px;padding:88px 0}.contact-inner>div{order:1}.contact-artwork{order:2;width:min(100%,360px);justify-self:center}.footer-inner{min-height:auto;flex-direction:column;align-items:flex-start;padding:52px 0 40px}.footer-meta{width:100%;flex-direction:column;align-items:flex-start;gap:16px;padding-top:26px;border-top:1px solid var(--color-footer-border)}.privacy-page{padding-top:72px}.privacy-layout{grid-template-columns:1fr;gap:50px}.privacy-layout aside{position:static}.privacy-layout aside ol{display:grid;grid-template-columns:1fr 1fr;gap:7px 20px}.privacy-layout aside li+li{margin-top:0}}@media(max-width:430px){.site-header nav a{font-size:9px}.hero h1{font-size:clamp(29px,8.3vw,36px);line-height:1.55;letter-spacing:.01em}.hero-actions{align-items:flex-start;flex-direction:column;gap:14px}.hero-secondary-link{margin-left:6px}.company-list>div{grid-template-columns:1fr;gap:8px}.privacy-layout aside ol{grid-template-columns:1fr}.privacy-content>section{grid-template-columns:34px minmax(0,1fr);gap:12px}.privacy-warning{padding:22px 20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}}
