:root{--ink:#223247;--muted:#67717c;--ivory:#f7f2e9;--gold:#a68a56;--line:#bfa777;--mist:#dce9ed;--serif:"Yu Mincho","YuMincho","Hiragino Mincho ProN",serif;font-family:"Yu Gothic",YuGothic,"Hiragino Sans",Meiryo,sans-serif;color:var(--ink);background:var(--ivory);font-synthesis:none;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:7rem}body{margin:0;line-height:1.8}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:default}img{display:block;max-width:100%}figure,p,h1,h2,h3{margin:0}button{color:inherit}button,a,input{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #637e9e;outline-offset:5px}[hidden]{display:none!important}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;z-index:200;top:-100px;left:1rem;padding:.6rem 1rem;background:white}.skip-link:focus{top:1rem}
.review-note{padding:.4rem 1rem;background:#243449;color:#fff;text-align:center;font-size:.64rem;letter-spacing:.12em}.review-note span{margin-left:1rem;letter-spacing:.04em;opacity:.86}
.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:2rem;max-width:1440px;min-height:78px;margin:auto;padding:.8rem clamp(1rem,4vw,4rem);background:rgba(247,242,233,.91);backdrop-filter:blur(18px);border-bottom:1px solid #ac916022}.wordmark{display:flex;align-items:center;gap:.8rem;font-family:var(--serif);font-size:1.3rem;line-height:1.15}.brand-initial{display:grid;place-items:center;width:40px;height:40px;border:1px solid #a68a5670;border-radius:50%;font-style:italic;font-size:1.7rem}.wordmark small{display:block;margin-top:.4rem;font-family:Arial,sans-serif;font-size:.49rem;letter-spacing:.2em}.site-header nav{display:flex;gap:2rem;margin-left:auto;font-size:.76rem}.site-header nav a{padding:.5rem 0}
.intro{position:relative;isolation:isolate;overflow:hidden;padding-bottom:4rem;background:radial-gradient(ellipse at 10% 80%,#dce9ee85,transparent 45%),radial-gradient(ellipse at 100% 90%,#e9e0ee85,transparent 45%),var(--ivory)}.intro-photo{position:relative;height:clamp(285px,35vw,480px)}.intro-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.intro-photo::after{position:absolute;inset:0;content:"";background:linear-gradient(180deg,transparent 52%,#f7f2e928 72%,#f7f2e9 100%)}.intro-copy{position:relative;z-index:2;width:min(850px,calc(100% - 2.5rem));margin:-.8rem auto 0;text-align:center}.eyebrow{font-size:.64rem;color:#806334;letter-spacing:.2em;font-weight:600}.intro-copy h1{margin:1rem 0 1.35rem;font-family:var(--serif);font-size:clamp(1.65rem,3vw,2.75rem);font-weight:500;line-height:1.6;letter-spacing:.04em}.intro-copy>p:not(.eyebrow){font-size:.8rem;line-height:2.1;color:#5e6873}.story-link{display:inline-flex;align-items:center;gap:1.7rem;margin-top:1.65rem;padding:.5rem 0;border-bottom:1px solid #9e805c80;font-size:.72rem}.story-link span{font-size:1.2rem}.moon-halo{position:absolute;z-index:1;right:-14rem;bottom:-15rem;width:42rem;aspect-ratio:1;border:1px solid #b7a0bd20;border-radius:50%;box-shadow:0 0 0 7rem #fff2,0 0 0 13rem #dce8f319;pointer-events:none}
.album{position:relative;isolation:isolate;overflow:clip;padding-top:4.5rem;background:radial-gradient(ellipse at 3% 20%,#dbeaf178,transparent 30%),radial-gradient(ellipse at 95% 65%,#e8dfee70,transparent 33%),linear-gradient(#f7f2e9,#fcfaf5 52%,#f4eee4)}.album-opening{position:relative;text-align:center;padding:0 1.4rem 2.4rem}.chapter-number{font-size:.62rem;letter-spacing:.22em;color:#8c7652}.album-opening h2{margin:1rem 0 .85rem;font:500 clamp(1.7rem,3.3vw,2.8rem)/1.65 var(--serif);letter-spacing:.07em}.album-opening p{font-size:.8rem;line-height:2;color:var(--muted)}.mobile-break{display:none}
.family-tools{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:1.5rem;flex-wrap:wrap;width:min(1180px,calc(100% - 2rem));margin:0 auto 4.7rem;padding:1rem 0;border-top:1px solid #a68a562c;border-bottom:1px solid #a68a562c;scroll-margin-top:7rem}.family-switch{display:flex;gap:.4rem}.family-switch button{padding:.65rem 1.1rem;border:1px solid transparent;border-radius:999px;background:transparent;font-size:.73rem}.family-switch button[aria-pressed=true]{border-color:#a68a5660;background:#fff9;box-shadow:0 3px 15px #78634b08}.available-control{display:flex;align-items:center;gap:.4rem;color:#5d625f;font-size:.71rem;cursor:pointer}.available-control input{width:17px;height:17px;accent-color:#526753}
.family-story{position:relative;isolation:isolate;max-width:1360px;margin:0 auto;padding:0 clamp(1.2rem,5vw,5rem) 7rem;scroll-margin-top:7rem}.family-story::before{position:absolute;z-index:-1;top:8rem;left:50%;width:min(96vw,900px);height:720px;transform:translateX(-50%);border:1px solid #ae965821;border-radius:50% 50% 43% 43%;box-shadow:0 0 0 2rem #fff4,0 0 0 4rem #b8cdda0b;pointer-events:none;content:""}.family-story[data-family=karen]::before{border-color:#b8a0ad30;box-shadow:0 0 0 2rem #fff3,0 0 0 4rem #dbc9bb13}.family-heading{text-align:center}.family-heading .family-index{color:#9d885e;font-size:.61rem;letter-spacing:.22em}.family-heading h3{margin:.55rem 0 .5rem;font-family:var(--serif);font-size:clamp(1.45rem,2.7vw,2.1rem);font-weight:500;letter-spacing:.06em}.family-heading .family-subtitle{color:var(--muted);font-size:.76rem}
.parents{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 76px minmax(0,1fr);align-items:start;width:min(720px,100%);margin:2.3rem auto 0}.parent{position:relative;z-index:1;min-width:0;text-align:center}.parent-portrait{position:relative;width:min(220px,100%);aspect-ratio:4/4.8;margin:auto;padding:7px;border:1px solid #b19a674f;border-radius:48% 48% 12px 12px;background:#fff8;box-shadow:0 12px 42px #2636470d,0 0 42px #fff8}.parent-portrait::before{position:absolute;inset:-7px;border:1px solid #beaa7b2b;border-radius:inherit;content:"";pointer-events:none}.parent-portrait img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.parent-role{margin-top:1.2rem;color:#8b724b;letter-spacing:.16em;font-size:.62rem}.parent h4{margin:.18rem 0 .3rem;font:500 1.6rem/1.3 var(--serif)}.parent-color{color:#7c8185;font-size:.64rem}.parent-temperament{max-width:255px;margin:.7rem auto 0;font-size:.73rem;line-height:1.9;color:#606d78}.parent-union{position:relative;align-self:stretch;text-align:center;padding-top:112px;color:#9f8456;font-family:var(--serif);font-size:1.8rem}.parent-union::before{position:absolute;top:135px;left:0;right:0;height:1px;background:linear-gradient(90deg,#ad95594d,transparent 36%,transparent 64%,#ad95594d);content:""}.parent-union::after{position:absolute;top:158px;bottom:-1.6rem;left:50%;width:1px;transform-origin:top;background:linear-gradient(#c2a56555,#a88753);content:"";box-shadow:0 0 8px #d9bf8099}
.birth-moment{position:relative;width:fit-content;margin:1.6rem auto 0;padding:.6rem 1.8rem;text-align:center;border:1px solid #c1ab784d;border-radius:999px;background:#fffaf2e8;box-shadow:0 0 35px #fff9}.birth-moment small{display:block;color:#9d865a;font-size:.55rem;letter-spacing:.24em}.birth-moment time{display:block;font-family:var(--serif);font-size:1.13rem;letter-spacing:.04em}.birth-moment>span{font-size:.66rem;color:#7b807f}.birth-moment::after{position:absolute;top:100%;left:50%;height:2.8rem;width:1px;background:linear-gradient(#a88753,#bcab8270);content:"";transform-origin:top}
.children-heading{position:relative;text-align:center;margin:3.4rem 0 1.7rem;font:500 1.1rem/1.5 var(--serif);letter-spacing:.08em}.children-heading span{display:block;margin-top:.35rem;font:normal .65rem/1.5 "Yu Gothic",sans-serif;letter-spacing:.02em;color:#767b7a}.kitten-grid{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;margin:0;padding:1.7rem 0 0;list-style:none}.kitten-grid::before{position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,#c0ab7860,#a88753,#c0ab7860);content:""}.kitten-card{position:relative;min-width:0;padding:.45rem .45rem 1rem;border:1px solid #c3b38c38;border-radius:96px 96px 15px 15px;background:#fffc;box-shadow:0 14px 40px #39475c09;transition:transform .25s,box-shadow .25s}.kitten-card::before{position:absolute;top:-1.7rem;left:50%;height:1.7rem;width:1px;background:linear-gradient(#bda570,#baaa8460);content:"";transform-origin:top}.kitten-card[data-status="ご家族決定"]{background:#f1efeacc}.kitten-image{position:relative;aspect-ratio:4/4.5;overflow:hidden;border-radius:90px 90px 9px 9px;background:#e9e5dd}.kitten-image img{width:100%;height:100%;object-fit:cover}.kitten-copy{padding:.8rem .5rem 0}.status{display:inline-block;width:fit-content;max-width:100%;padding:.12rem .5rem;border-radius:20px;background:#e8ede3;color:#496046;font-size:.59rem;line-height:1.65}.status.is-decided{background:#eae7e1;color:#766959}.kitten-name{margin:.55rem 0 .35rem;font-size:.88rem;line-height:1.6;font-weight:600;overflow-wrap:anywhere}.kitten-meta{font-size:.66rem;color:#70787b;line-height:1.9}.kitten-price{margin:.5rem 0 .4rem;font-size:.7rem;color:#545b62}.kitten-price small{font-size:.55rem}.kitten-open{display:flex;align-items:center;justify-content:space-between;gap:.35rem;width:100%;min-height:42px;padding:.35rem 0;border:0;border-top:1px solid #b6a47c36;background:transparent;font-size:.68rem;font-weight:600}.kitten-open span:last-child{color:#9b7d49;font-size:1.1rem}.family-empty{text-align:center;padding:2rem;font-size:.8rem;color:var(--muted)}.family-count{display:block;text-align:center;font-size:.65rem;color:#7a7f83;margin:1.2rem 0 0}.family-closing{width:3rem;height:1px;background:#bfa77766;margin:4rem auto 0}
.ending{position:relative;overflow:hidden;padding:5rem 1.5rem;text-align:center;background:radial-gradient(ellipse at 50% 100%,#d9e5ed9c,transparent 72%),#f4eee4}.ending::before{content:"";position:absolute;left:50%;top:2rem;width:40rem;aspect-ratio:1;transform:translateX(-50%);border:1px solid #bfa77720;border-radius:50%;pointer-events:none}.ending h2{position:relative;margin:.8rem 0 1.4rem;font:500 clamp(1.65rem,3vw,2.7rem)/1.7 var(--serif);letter-spacing:.06em}.ending>p:not(.eyebrow){position:relative;font-size:.8rem;line-height:2;color:#65717b}.ending-link{position:relative;display:inline-flex;align-items:center;gap:2.5rem;margin-top:1.5rem;padding:.6rem 1rem;border-bottom:1px solid #a68a5670;font-size:.75rem}.ending .prototype-footnote{margin-top:3rem;font-size:.65rem;color:#797b7c}.prototype-footnote a{text-decoration:underline;text-underline-offset:3px}footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.5rem 5vw;background:#f5f0e6;color:#838482;font-size:.5rem;letter-spacing:.14em}.footer-wordmark{font:1.2rem var(--serif);color:#505d68;letter-spacing:.02em}.noscript-note{padding:1rem;text-align:center}.noscript-note a{text-decoration:underline}
dialog{width:min(960px,calc(100% - 2rem));max-height:90dvh;overflow:auto;padding:0;border:1px solid #cabd9d;border-radius:20px;background:#faf7f0;color:var(--ink);box-shadow:0 30px 120px #14263640}dialog::backdrop{background:#172b40a8;backdrop-filter:blur(7px)}.dialog-topline{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:.8rem 1.4rem;background:#faf7f0f5;border-bottom:1px solid #c9ba983b;font-size:.59rem;letter-spacing:.14em}.dialog-topline button{min-width:64px;min-height:40px;border:0;background:transparent;font-size:.75rem;letter-spacing:0}.dialog-topline button span{margin-left:.7rem;font-size:1.2rem}.detail-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:2rem;padding:1.6rem}.detail-photos{display:flex;gap:.7rem;overflow-x:auto;scroll-snap-type:x mandatory;align-items:start;padding-bottom:.7rem;align-self:start}.detail-photo{flex:0 0 100%;scroll-snap-align:start;margin:0}.detail-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:13px}.detail-photo figcaption{padding:.4rem 0;color:#747f88;font-size:.63rem;line-height:1.6}.detail-copy h2{font:500 1.8rem/1.5 var(--serif);margin:.4rem 0 .5rem;overflow-wrap:anywhere}.detail-copy>.status{font-size:.7rem}#detail-facts{display:grid;gap:.6rem;margin:1.3rem 0}#detail-facts>div{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:.5rem;font-size:.74rem;border-bottom:1px solid #b7ad982c;padding-bottom:.5rem}#detail-facts dt{color:#7a7d7f}#detail-facts dd{margin:0}#detail-description{font-size:.75rem;line-height:2;color:#6e7983}.consult-button{width:100%;margin-top:1.4rem;padding:.85rem .7rem;border:0;border-radius:8px;background:#294156;color:white;font-size:.78rem}.trial-note{margin:.5rem 0;color:#7b8182;font-size:.6rem;text-align:center}#consult-preview{margin-top:1rem;padding:1rem;background:#eee7da;border-radius:8px}#consult-preview h3{font-size:.87rem}#consult-preview label{font-size:.67rem}#consult-text{display:block;width:100%;margin-top:.5rem;padding:.7rem;border:1px solid #b7aa8c;border-radius:5px;background:#fffc;font-size:.75rem;line-height:1.9;resize:vertical}
@media(hover:hover) and (pointer:fine){.kitten-card:hover{transform:translateY(-5px);box-shadow:0 18px 50px #39475c14}.family-switch button:hover{background:#fff9}.kitten-open:hover{color:#8b6e3c}.story-link:hover,.ending-link:hover{color:#8b6e3c}}
@keyframes connect{from{transform:scaleY(.05);opacity:.25}to{transform:scaleY(1);opacity:1}}
html[data-motion=normal] .family-story.is-entered .parent-union::after{animation:connect .8s ease-out both}html[data-motion=normal] .family-story.is-entered .birth-moment::after{animation:connect .6s .2s ease-out both}html[data-motion=normal] .family-story.is-entered .kitten-card::before{animation:connect .5s .35s ease-out both}
html[data-motion=reduce]{scroll-behavior:auto}html[data-motion=reduce] *,html[data-motion=reduce] *::before,html[data-motion=reduce] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}html[data-motion=reduce] .kitten-card:hover{transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.kitten-card:hover{transform:none}}
@media(max-width:1000px){.kitten-grid{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:2rem}.kitten-grid::before{left:16.6%;right:16.6%}.kitten-card:nth-child(n+4)::before{display:none}.parent-temperament{font-size:.7rem}.site-header{gap:1.1rem}.site-header nav{gap:1.2rem}}
@media(max-width:720px){html{scroll-padding-top:5.6rem}.review-note{font-size:.51rem;letter-spacing:.06em}.review-note span{margin-left:.5rem;font-size:.5rem}.site-header{min-height:64px;padding:.7rem 1rem;gap:.6rem}.wordmark{font-size:1rem;gap:.5rem}.wordmark small{font-size:.42rem}.brand-initial{width:30px;height:30px;font-size:1.3rem}.site-header nav{display:none}.intro{padding-bottom:2.4rem}.intro-photo{height:clamp(180px,58vw,320px)}.intro-copy{margin:0 auto}.intro-copy .eyebrow{font-size:.54rem;letter-spacing:.17em}.intro-copy h1{font-size:clamp(1.2rem,5.5vw,1.9rem);letter-spacing:0;line-height:1.65;margin:.8rem 0 1rem}.intro-copy>p:not(.eyebrow){font-size:.72rem;line-height:2;text-align:left}.desktop-break{display:none}.story-link{font-size:.68rem;margin-top:1.1rem}.album{padding-top:2.5rem}.album-opening{padding-bottom:1.8rem}.album-opening h2{font-size:1.75rem}.album-opening p{font-size:.72rem}.chapter-number{font-size:.54rem}.mobile-break{display:block}.family-tools{gap:.8rem;margin-bottom:2.9rem;padding:.8rem 0;width:calc(100% - 1.5rem)}.family-switch{width:100%;gap:.15rem;justify-content:center}.family-switch button{font-size:.65rem;padding:.65rem .7rem;min-height:44px}.available-control{font-size:.65rem}.family-story{padding:0 1rem 3.8rem}.family-story::before{top:9rem;width:150vw;height:520px}.family-heading .family-index{font-size:.53rem}.family-heading h3{font-size:1.35rem;margin:.4rem 0}.family-heading .family-subtitle{font-size:.63rem}.parents{grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);margin-top:1.8rem}.parent-portrait{width:min(143px,100%);padding:5px}.parent-portrait::before{inset:-5px}.parent-role{margin-top:.85rem;font-size:.5rem}.parent h4{font-size:1.24rem}.parent-color{font-size:.55rem;line-height:1.6}.parent-temperament{font-size:.62rem;line-height:1.8;margin-top:.55rem;text-align:left}.parent-union{padding-top:66px;font-size:1.4rem}.parent-union::before{top:87px}.parent-union::after{top:108px}.birth-moment{margin-top:1.4rem;padding:.55rem 1.3rem}.birth-moment time{font-size:.95rem}.birth-moment small{font-size:.48rem}.birth-moment>span{font-size:.59rem}.children-heading{font-size:1rem;margin:3.1rem 0 1.5rem}.children-heading span{font-size:.6rem}.kitten-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.8rem .8rem;padding-top:1.3rem}.kitten-grid::before{left:25%;right:25%}.kitten-card{padding:.35rem .35rem .65rem;border-radius:82px 82px 12px 12px}.kitten-card::before{top:-1.3rem;height:1.3rem}.kitten-card:nth-child(n+3)::before{display:none}.kitten-image{border-radius:80px 80px 8px 8px}.kitten-copy{padding:.6rem .35rem 0}.kitten-name{font-size:.76rem;line-height:1.7;margin-top:.4rem}.kitten-meta{font-size:.61rem}.kitten-price{font-size:.64rem}.kitten-open{font-size:.65rem}.status{font-size:.56rem;padding:.1rem .4rem}.family-closing{margin-top:2.5rem}.ending{padding:3rem 1.3rem}.ending h2{font-size:1.65rem}.ending>p:not(.eyebrow){font-size:.73rem}.ending .prototype-footnote{font-size:.59rem;line-height:1.9}.detail-layout{display:block;padding:1rem}.detail-photos{margin-bottom:1.2rem}.detail-photo{flex-basis:86%}.detail-photo img{aspect-ratio:1/1.1}.detail-copy h2{font-size:1.5rem}.dialog-topline{padding:.55rem 1rem}.detail-copy .eyebrow{font-size:.57rem}.family-story,.family-tools{scroll-margin-top:5.5rem}footer{padding:1.4rem;justify-content:center;text-align:center;font-size:.43rem}}
@media(max-width:360px){.family-switch button{padding:.65rem .55rem;font-size:.6rem}.kitten-name{font-size:.69rem}.parent-temperament{font-size:.59rem}.review-note span{display:block;margin:0}.intro-copy h1{font-size:1.1rem}.family-heading h3{font-size:1.23rem}}
.detail-gallery{min-width:0}.detail-photo img{height:auto;object-fit:contain;background:#ede8df}.gallery-hint{display:flex;justify-content:space-between;gap:.5rem;flex-wrap:wrap;margin:0 0 .7rem;font-size:.65rem;color:#586777}.gallery-hint span{font-size:.61rem}.detail-photos:focus-visible{outline:3px solid #637e9e;outline-offset:3px}
@media(max-width:720px){.parent-temperament{font-size:.75rem;line-height:1.9}.parent-color{font-size:.68rem}.family-switch button{font-size:.75rem}.available-control{font-size:.75rem;min-height:40px}.kitten-meta,.kitten-price{font-size:.75rem}.kitten-open{font-size:.72rem}.status{font-size:.65rem}.gallery-hint{font-size:.7rem}.gallery-hint span{font-size:.65rem}}
@media(max-width:360px){.family-switch button{font-size:.65rem}.parent-temperament{font-size:.7rem}.kitten-meta,.kitten-price{font-size:.7rem}}
.family-switch{flex-wrap:wrap;justify-content:center}.consult-button{display:block;text-align:center}.ending-consult{position:relative;width:min(360px,100%);margin:1.5rem auto 0}.ending .public-contact-note{margin-top:2rem;font-size:.75rem}.listing-notice{padding:1rem 1.5rem 5rem;text-align:center;line-height:2}.listing-notice h3{font-size:1.1rem}.listing-notice a{text-decoration:underline}footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem 1.3rem;font-size:.68rem;letter-spacing:0}footer nav a{padding:.4rem 0}.photo-placeholder{display:grid;place-items:center;height:100%;color:#67717c;background:#ede8df;font-size:.75rem;border-radius:inherit}.birth-pending{font-family:var(--serif)}.family-story[data-family^="karen-"]::before{border-color:#b8a0ad30;box-shadow:0 0 0 2rem #fff3,0 0 0 4rem #dbc9bb13}#detail-description{white-space:pre-line}
@media(forced-colors:active){button,.kitten-card,.parent-portrait,.birth-moment{border:1px solid CanvasText}.status{border:1px solid CanvasText}.parent-union::after,.birth-moment::after,.kitten-grid::before,.kitten-card::before{background:CanvasText}.family-switch button[aria-pressed=true]{outline:2px solid Highlight}}
