@charset "UTF-8";.kh-ap{--kh-paper:#fbf8f1;--kh-paper-2:#f4efe4;--kh-olive:#6e8557;--kh-olive-d:#5a6e45;--kh-accent:#c2895e;--kh-accent-t:#9e5238;--kh-ink:#2c2a28;--kh-ink-soft:#56514a;--kh-line:#e8e2d6;--kh-line-2:#d6cdba;--kh-white:#fff;--kh-display:'Shippori Mincho','Noto Serif JP',Georgia,serif;--kh-serif:'Noto Serif JP',Georgia,serif;--kh-en:'Cormorant Garamond',Georgia,'Times New Roman',serif;--kh-sans:'Noto Sans JP','Helvetica Neue',Arial,sans-serif;--kh-max:1240px;--kh-gut:clamp(20px, 4.2vw, 56px);--kh-sec:clamp(64px, 7vw, 108px);--ap-rail:clamp(48px, 6vw, 92px);--ap-measure:36em;--ap-mask:polygon(6% 4%,68% 0%,100% 11%,96% 62%,86% 96%,34% 100%,0% 85%,3% 24%);background:var(--kh-paper);color:var(--kh-ink);font-family:var(--kh-sans);font-size:16.5px;line-height:1.95;letter-spacing:.02em;line-break:strict;overflow-x:clip}.kh-ap *,.kh-ap *:before,.kh-ap *:after{box-sizing:border-box}.kh-ap :where(p){margin:0}.kh-ap :where(ul,ol){margin:0;padding:0;list-style:none}.kh-ap :where(h1,h2,h3){margin:0;font-weight:500;line-height:1.5}.kh-ap :where(a){text-decoration:none;color:inherit}.kh-ap :where(strong){font-weight:500;color:var(--kh-ink)}.kh-ap :focus-visible{outline:2px solid var(--kh-accent-t);outline-offset:3px}.kh-ap .kh-wrap{width:min(var(--kh-max), calc(100% - var(--kh-gut) * 2));margin-inline:auto}.ap-eyebrow{font-size:11.5px;font-weight:500;letter-spacing:.22em;line-height:1.6;color:var(--kh-accent-t)}.ap-h1{font-family:var(--kh-display);font-size:clamp(36px, 4.2vw, 56px);line-height:1.45;letter-spacing:.02em;margin:clamp(16px, 1.8vw, 24px) 0 clamp(22px, 2.6vw, 32px);text-wrap:balance;word-break:auto-phrase}.ap-h2{font-family:var(--kh-display);font-size:clamp(28px, 3vw, 40px);line-height:1.5;letter-spacing:.03em;margin-top:clamp(12px, 1.5vw, 18px);text-wrap:balance;word-break:auto-phrase}.ap-h3{font-family:var(--kh-display);font-size:clamp(19px, 1.75vw, 22px);line-height:1.65;letter-spacing:.03em;text-wrap:balance;word-break:auto-phrase}.ap-lead{margin-top:clamp(18px, 2.2vw, 26px);font-size:16.5px;line-height:2;color:var(--kh-ink-soft);max-width:var(--ap-measure);text-wrap:pretty;word-break:auto-phrase}.ap-prose{margin-top:clamp(20px, 2.4vw, 28px);display:grid;gap:1.3em;max-width:var(--ap-measure);font-size:16.5px;line-height:2;color:var(--kh-ink-soft);text-wrap:pretty;word-break:auto-phrase}.ap-note{font-size:14.5px;line-height:1.9;color:var(--kh-ink-soft)}.ap-pull{margin-top:clamp(24px, 3vw, 34px);padding-left:clamp(14px, 1.6vw, 20px);border-left:2px solid var(--kh-accent);max-width:var(--ap-measure);font-family:var(--kh-display);font-size:clamp(17px, 1.65vw, 21px);line-height:1.85;letter-spacing:.03em;color:var(--kh-ink);text-wrap:pretty;word-break:auto-phrase}.ap-sec{padding:var(--kh-sec) 0;border-top:1px solid var(--kh-line)}.ap-sec__grid{display:grid;grid-template-columns:var(--ap-rail) minmax(0, 1fr);gap:0 clamp(8px, 1.2vw, 20px);align-items:start}.ap-mark{font-family:var(--kh-display);font-size:clamp(17px, 1.6vw, 21px);line-height:1.4;color:var(--kh-accent);padding-top:.1em}.ap-sec--panel{background:var(--kh-paper-2);border-top-color:var(--kh-line-2)}.ap-sec--dark{background:var(--kh-olive-d);color:var(--kh-white);border-top:none}.ap-sec--dark .ap-eyebrow{color:rgba(255,255,255,.78)}.ap-sec--dark .ap-mark{color:rgba(255,255,255,.72)}.ap-sec--dark .ap-h2,.ap-sec--dark .ap-h3{color:var(--kh-white)}.ap-sec--dark .ap-lead{color:rgba(255,255,255,.9)}.ap-sec--dark .ap-rules{border-top-color:rgba(255,255,255,.26)}.ap-sec--dark .ap-rule{border-bottom-color:rgba(255,255,255,.26)}.ap-sec--dark .ap-rule__n{color:rgba(255,255,255,.85)}.ap-sec--dark .ap-rule__note,.ap-sec--dark .ap-rule__text{color:rgba(255,255,255,.88)}.ap-hero{padding:clamp(36px, 4.6vw, 68px) 0 clamp(44px, 5vw, 76px)}.ap-hero__grid{display:grid;grid-template-columns:minmax(0, 55fr) minmax(0, 45fr);gap:clamp(28px, 4vw, 60px);align-items:center}.ap-hero__lead{display:grid;gap:1.2em;max-width:34em;font-size:16.5px;line-height:2.05;color:var(--kh-ink-soft);text-wrap:pretty;word-break:auto-phrase}.ap-updated{margin-top:clamp(20px, 2.4vw, 28px);font-size:12px;letter-spacing:.06em;line-height:1.8;color:var(--kh-ink-soft)}.ap-hero__mark{background:var(--kh-paper-2);clip-path:var(--ap-mask);aspect-ratio:900/640;display:grid;align-content:center;gap:clamp(16px, 2vw, 26px);padding:clamp(30px, 3.6vw, 52px);text-align:center}.ap-hero__label{font-family:var(--kh-en);font-size:clamp(12px, 1.15vw, 15px);letter-spacing:.2em;color:var(--kh-ink-soft)}.ap-hero__label span{color:var(--kh-accent);margin:0 .35em}.ap-hero__ja{padding-top:clamp(14px, 1.8vw, 20px);border-top:1px solid var(--kh-line-2);font-family:var(--kh-display);font-size:clamp(19px, 2.2vw, 28px);line-height:1.7;letter-spacing:.04em;color:var(--kh-accent-t)}.ap-rules{margin-top:clamp(26px, 3.2vw, 40px);border-top:1px solid var(--kh-line);max-width:calc(var(--ap-measure) + 6em)}.ap-rule{display:grid;grid-template-columns:minmax(0, 4.5em) minmax(0, 1fr);gap:clamp(12px, 1.8vw, 26px);padding:clamp(20px, 2.4vw, 28px) 0;border-bottom:1px solid var(--kh-line);align-items:baseline}.ap-rule__n{font-family:var(--kh-sans);font-size:13px;font-weight:500;line-height:2.05;letter-spacing:.12em;font-variant-numeric:lining-nums tabular-nums;color:var(--kh-accent-t);white-space:nowrap}.ap-rule__body{max-width:var(--ap-measure)}.ap-rule__note{margin-top:10px;font-size:15.5px;line-height:1.95;color:var(--kh-ink-soft);text-wrap:pretty;word-break:auto-phrase}.ap-rule__text{font-size:16.5px;line-height:1.95;color:var(--kh-ink);text-wrap:pretty;word-break:auto-phrase}.ap-rule__text+.ap-rule__text{margin-top:.9em}.ap-rules--plain .ap-rule{padding:clamp(16px, 2vw, 22px) 0}.ap-notice{margin-top:clamp(30px, 3.6vw, 44px);padding-top:clamp(22px, 2.6vw, 30px);border-top:2px solid var(--kh-accent);max-width:var(--ap-measure)}.ap-notice__ttl{font-family:var(--kh-display);font-size:clamp(18px, 1.8vw, 22px);line-height:1.75;letter-spacing:.03em;color:var(--kh-accent-t);text-wrap:pretty;word-break:auto-phrase}.ap-notice__text{margin-top:10px;font-size:15.5px;line-height:1.9;color:var(--kh-ink-soft)}.ap-resp__key{margin-top:clamp(24px, 3vw, 34px);max-width:32em;font-family:var(--kh-display);font-size:clamp(21px, 2.4vw, 30px);line-height:1.7;letter-spacing:.03em;color:var(--kh-white);text-wrap:balance;word-break:auto-phrase}.ap-resp .ap-lead{margin-top:clamp(20px, 2.4vw, 28px)}.ap-links{margin-top:clamp(26px, 3.2vw, 40px);border-top:1px solid var(--kh-line);max-width:var(--ap-measure)}.ap-link{padding:clamp(22px, 2.6vw, 32px) 0;border-bottom:1px solid var(--kh-line);display:grid;gap:.7em}.ap-link__en{font-family:var(--kh-en);font-size:13px;letter-spacing:.18em;line-height:1.6;color:var(--kh-accent-t)}.ap-link__text{font-size:16px;line-height:1.9;color:var(--kh-ink-soft);text-wrap:pretty}.ap-contact{background:var(--kh-olive-d);color:var(--kh-white);padding:clamp(52px, 6vw, 92px) 0}.ap-contact__grid{display:grid;grid-template-columns:repeat(2,minmax(0, 1fr));gap:clamp(26px, 3.6vw, 56px);align-items:center}.ap-contact__ttl{font-family:var(--kh-display);font-size:clamp(27px, 3vw, 40px);line-height:1.5;letter-spacing:.03em;color:var(--kh-white)}.ap-contact__body{font-size:16px;line-height:1.9;color:rgba(255,255,255,.93)}.ap-contact__cta{margin-top:clamp(20px, 2.6vw, 30px)}.ap-contact__cta .kh-btn{min-width:260px}@media (hover:hover) and (pointer:fine){#koto-cursor-dot{background:0 0 !important;border-radius:0}#koto-cursor-dot:before,#koto-cursor-dot:after{content:'';position:absolute;top:50%;left:50%;background:var(--cursor-dot,#b68e45)}#koto-cursor-dot:before{width:100%;height:1.5px;transform:translate(-50%,-50%)}#koto-cursor-dot:after{width:1.5px;height:100%;transform:translate(-50%,-50%)}}@media (pointer:coarse){#koto-cursor-dot{display:none !important}}@media (max-width:1024px){.kh-ap{--ap-rail:clamp(34px, 4.4vw, 56px)}.ap-hero__grid{grid-template-columns:minmax(0, 1fr);gap:clamp(26px, 3.4vw, 40px)}.ap-hero__mark{max-width:620px}.ap-contact__grid{grid-template-columns:minmax(0, 1fr)}}@media (max-width:767px){.kh-ap{font-size:16px}.ap-sec__grid{grid-template-columns:minmax(0, 1fr);gap:10px}.ap-mark{padding-top:0}.ap-rule{grid-template-columns:minmax(0, 1fr);gap:6px}.ap-rule__n{font-size:14px}.ap-contact__cta .kh-btn{width:100%;min-width:0}}@media (max-width:400px){.ap-h1{font-size:36px;letter-spacing:0}.ap-hero__label{font-size:12px;letter-spacing:.16em}}@media (prefers-reduced-motion:reduce){.kh-ap *,.kh-ap *:before,.kh-ap *:after{transition:none !important;animation:none !important}}