@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Zen+Maru+Gothic:wght@400;500;700&display=swap');

:root{--main:#252525;--gray:#8a8a8a;--purple:#8b7fa6;--lavender:#e9e5f2;--dark:#111312;--paper:#f5f5f5;--white:#fff;--ink:#202020;--muted:#686868;--line:#dedede;--radius:26px;--shadow:0 24px 70px rgba(17,19,18,.12);--shell:min(1160px,calc(100% - 48px));--heading:"Zen Maru Gothic",sans-serif;--body:"Noto Sans JP",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--white);font-family:var(--body);font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.shell{width:var(--shell);margin-inline:auto}.section{padding:104px 0}.soft{background:var(--paper)}.lavender{background:var(--lavender)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:999;top:8px;left:8px;padding:10px 16px;background:#fff;transform:translateY(-150%)}.skip-link:focus{transform:none}
.site-header{position:sticky;z-index:60;top:0;color:var(--dark);background:rgba(255,255,255,.96);border-bottom:1px solid rgba(0,0,0,.07);backdrop-filter:blur(16px)}.header-inner{min-height:84px;display:flex;align-items:center;gap:32px}.site-logo{width:218px;height:56px;padding:5px 10px;display:grid;place-items:center;flex:0 0 auto}.site-logo img{width:100%;height:100%;object-fit:contain}.main-nav{margin-left:auto;display:flex;align-items:center;gap:26px;font-size:14px;font-weight:600}.main-nav a{padding:10px 0;position:relative}.main-nav a::after{content:"";position:absolute;right:100%;bottom:5px;left:0;height:2px;background:var(--purple);transition:right .2s ease}.main-nav a:hover::after,.main-nav a[aria-current="page"]::after{right:0}.header-contact{min-height:50px;padding:0 22px;display:inline-flex;align-items:center;border-radius:999px;color:#fff;background:var(--dark);font-size:14px;font-weight:700}.menu-button{display:none;width:48px;height:48px;border:0;border-radius:50%;background:var(--lavender);cursor:pointer}.menu-button i{display:block;width:18px;height:1px;margin:5px auto;background:var(--dark)}.mobile-menu{position:fixed;z-index:59;inset:84px 0 auto;padding:18px 24px 28px;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}.mobile-menu nav{display:grid}.mobile-menu a{padding:15px 0;border-bottom:1px solid var(--line);font-weight:600}
.button{min-height:54px;padding:0 25px;display:inline-flex;align-items:center;justify-content:center;gap:20px;border:1px solid transparent;border-radius:999px;font-size:14px;font-weight:700;transition:transform .2s ease,background .2s ease}.button:hover{transform:translateY(-2px)}.button-dark{color:#fff;background:var(--dark)}.button-purple{color:#fff;background:var(--purple)}.button-light{color:var(--dark);background:#fff}.button-outline{border-color:currentColor}.text-link{padding-bottom:4px;display:inline-flex;align-items:center;gap:22px;border-bottom:1px solid currentColor;font-size:14px;font-weight:700}.text-link span{transition:transform .2s ease}.text-link:hover span{transform:translateX(5px)}
.eyebrow{margin:0 0 20px;color:var(--purple);font-size:12px;font-weight:700;letter-spacing:.16em}.display,.page-title,.section-title{font-family:var(--heading);font-weight:500;letter-spacing:-.04em}.section-title{margin:0;font-size:clamp(36px,5vw,58px);line-height:1.45}.section-lead{max-width:660px;margin:22px 0 0;color:var(--muted);line-height:2}.section-head{margin-bottom:52px;display:flex;align-items:end;justify-content:space-between;gap:50px}.section-head>p{max-width:430px;margin:0;color:var(--muted)}
.home-hero{position:relative;min-height:760px;height:calc(100svh - 84px);max-height:900px;color:#fff;overflow:hidden;background:var(--dark)}.home-hero-media{position:absolute;inset:0;background:url('https://storage.googleapis.com/studio-design-asset-files/projects/7kado7z8q3/s-1812x1552_v-frms_webp_900bc0b6-a328-4026-8fd2-c9f442bc7dc1_middle.webp') center 35%/cover no-repeat}.home-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,11,10,.9),rgba(42,38,48,.55) 52%,rgba(0,0,0,.06) 78%),linear-gradient(0deg,rgba(0,0,0,.48),transparent 48%)}.home-hero-content{position:relative;z-index:2;height:100%;padding-top:clamp(110px,17vh,170px)}.home-hero .eyebrow{color:#cfc4e4}.home-hero h1{margin:0;font:500 clamp(54px,7.5vw,94px)/1.2 var(--heading);letter-spacing:-.055em}.home-hero h1 span{display:block;white-space:nowrap}.home-hero-copy{margin:25px 0 0;color:rgba(255,255,255,.84);line-height:2}.hero-choices{position:absolute;z-index:3;bottom:38px;left:max(24px,calc((100% - 1160px)/2));width:min(760px,calc(100% - 48px));display:grid;grid-template-columns:1fr 1fr;gap:3px;color:var(--dark);filter:drop-shadow(0 20px 35px rgba(0,0,0,.2))}.hero-choice{position:relative;min-height:134px;padding:26px 66px 23px 27px;display:flex;flex-direction:column;justify-content:center;background:rgba(255,255,255,.96)}.hero-choice:first-child{border-radius:18px 0 0 18px;box-shadow:inset 0 5px 0 var(--gray)}.hero-choice:last-child{border-radius:0 18px 18px 0;box-shadow:inset 0 5px 0 var(--purple)}.hero-choice small{margin-bottom:7px;color:var(--purple);font-size:12px;font-weight:700;letter-spacing:.12em}.hero-choice strong{font:600 20px/1.5 var(--heading)}.hero-choice span{margin-top:4px;color:var(--muted);font-size:13px}.hero-choice b{position:absolute;right:22px;top:50%;width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;transform:translateY(-50%)}
.intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:100px;align-items:end}.intro-copy{color:var(--muted);line-height:2.1}.intro-copy p{margin:0 0 28px}.service-split{display:grid;grid-template-columns:1fr 1fr;gap:22px}.service-card{min-height:480px;padding:42px;display:flex;flex-direction:column;border-radius:var(--radius);background:#fff;border:1px solid var(--line);overflow:hidden}.service-card.dog{background:#efefef}.service-card.ceremony{background:var(--lavender)}.service-card .number{margin-bottom:auto;color:rgba(0,0,0,.15);font:500 64px/1 var(--heading)}.service-card h3{margin:18px 0 15px;font:600 32px/1.4 var(--heading)}.service-card p{margin:0 0 26px;color:var(--muted)}
.proof{color:#fff;background:var(--dark)}.proof-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.proof-items{display:grid}.proof-item{padding:28px 0;display:grid;grid-template-columns:48px 1fr;gap:22px;border-top:1px solid rgba(255,255,255,.16)}.proof-item:last-child{border-bottom:1px solid rgba(255,255,255,.16)}.proof-item>span{color:#c7b9df;font-weight:700}.proof-item h3{margin:0 0 8px;font:600 20px/1.5 var(--heading)}.proof-item p{margin:0;color:rgba(255,255,255,.68)}
.page-hero{position:relative;min-height:430px;padding:92px 0 72px;display:flex;align-items:end;color:#fff;background:var(--dark);overflow:hidden}.page-hero.has-image::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,11,11,.88),rgba(31,25,38,.45),rgba(0,0,0,.1))}.page-hero.dog-hero{background:url('https://storage.googleapis.com/studio-design-asset-files/projects/7kado7z8q3/s-1280x1280_v-fms_webp_881a128f-0a62-4827-a90b-d3cbf617d1f1.webp') center 44%/cover no-repeat}.page-hero.ceremony-hero{background:url('https://images.unsplash.com/photo-1551001626-86e913f8baf7?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w2MzQ2fDB8MXxzZWFyY2h8NjN8fEZsb3dlciUyMFdoaXRlfGVufDB8fHx8MTczMDQyNzU4Mnww&ixlib=rb-4.0.3&q=80&w=1600') center/cover no-repeat}.page-hero-inner{position:relative;z-index:2}.breadcrumbs{margin-bottom:32px;display:flex;gap:9px;color:rgba(255,255,255,.65);font-size:13px}.page-title{margin:0;font-size:clamp(48px,7vw,82px);line-height:1.2}.page-hero p:last-child{max-width:660px;margin:20px 0 0;color:rgba(255,255,255,.76)}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feature-card{padding:32px;border:1px solid var(--line);border-radius:22px;background:#fff}.feature-card>span{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--purple);font-size:13px;font-weight:700}.feature-card h3{margin:24px 0 12px;font:600 21px/1.5 var(--heading)}.feature-card p{margin:0;color:var(--muted)}
.route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.route-card{min-height:240px;padding:30px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:22px;background:#fff}.route-card small{color:var(--purple);font-size:12px;font-weight:700}.route-card h3{margin:15px 0 10px;font:600 23px/1.45 var(--heading)}.route-card p{margin:0 0 24px;color:var(--muted)}.route-card .text-link{margin-top:auto;align-self:flex-start}
.puppy-section{background:#f3f3f3}.puppy-filter{margin:0 0 34px;display:flex;gap:10px;flex-wrap:wrap}.puppy-filter a{padding:10px 18px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:13px;font-weight:700}.puppy-filter a:first-child{color:#fff;background:var(--dark);border-color:var(--dark)}.puppy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.puppy-card{position:relative;overflow:hidden;border-radius:22px;background:#fff;border:1px solid var(--line)}.puppy-card.is-sold{background:#f9f9f9}.puppy-photo-wrap{position:relative;aspect-ratio:4/3;overflow:hidden;background:#e7e7e7}.puppy-photo{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.puppy-card:hover .puppy-photo{transform:scale(1.025)}.puppy-card.is-sold .puppy-photo{filter:saturate(.62);opacity:.82}.puppy-status{position:absolute;top:14px;left:14px;padding:7px 12px;border-radius:999px;color:#fff;background:var(--dark);font-size:12px;font-weight:700;letter-spacing:.04em}.puppy-status[data-status="商談中"]{background:var(--purple)}.puppy-status[data-status="成約済み"]{color:#555;background:rgba(255,255,255,.92)}.puppy-body{padding:24px}.puppy-body h3{margin:0 0 16px;font:600 24px/1.45 var(--heading)}.puppy-facts{margin:0;display:grid;grid-template-columns:78px 1fr;gap:5px 12px;font-size:14px}.puppy-facts dt{color:var(--muted)}.puppy-facts dd{margin:0}.puppy-description{margin:17px 0 0;color:var(--muted);font-size:14px}.puppy-price{margin:18px 0 0;font-weight:700}.puppy-card-link{position:absolute;inset:0}.puppy-empty{padding:54px 30px;text-align:center;border:1px solid var(--line);border-radius:22px;background:#fff}.puppy-empty strong{font:600 22px/1.5 var(--heading)}.puppy-empty p{margin:8px 0 0;color:var(--muted)}
.steps{display:grid;gap:15px}.step{padding:30px 32px;display:grid;grid-template-columns:70px 1fr;gap:26px;border:1px solid var(--line);border-radius:20px;background:#fff}.step>span{color:var(--purple);font:500 28px/1.4 var(--heading)}.step h3{margin:0 0 8px;font:600 22px/1.5 var(--heading)}.step p{margin:0;color:var(--muted)}
.price-summary{display:grid;grid-template-columns:1fr 1fr;gap:20px}.price-box{padding:34px;border-radius:22px;background:var(--paper);border:1px solid var(--line)}.price-box.purple{background:var(--lavender)}.price-box small{color:var(--muted);font-weight:600}.price-box strong{display:block;margin:12px 0;font:600 36px/1.3 var(--heading)}.price-box p{margin:0;color:var(--muted)}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:20px}table{width:100%;border-collapse:collapse;min-width:760px;background:#fff}th,td{padding:17px 18px;text-align:left;border-bottom:1px solid var(--line)}th{background:var(--paper);font-size:14px}td{font-size:14px}.notice{padding:26px 28px;border-left:5px solid var(--purple);border-radius:0 16px 16px 0;background:var(--lavender)}.notice p{margin:0}.contact-band{padding:62px 0;color:#fff;background:var(--purple)}.contact-band-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.contact-band h2{margin:0;font:500 clamp(30px,4vw,46px)/1.45 var(--heading)}.contact-band p{margin:10px 0 0;color:rgba(255,255,255,.78)}.contact-band-actions{display:flex;gap:12px;flex-wrap:wrap}
.parent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.parent-card{overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#fff}.parent-photo{aspect-ratio:1/1;object-fit:cover;width:100%;background:var(--paper)}.parent-body{padding:24px}.parent-body small{color:var(--purple);font-weight:700}.parent-body h3{margin:7px 0 14px;font:600 27px/1.4 var(--heading)}.parent-data{display:grid;grid-template-columns:1fr 1fr;gap:5px 16px;color:var(--muted);font-size:14px}.parent-body p{margin:16px 0 0;color:var(--muted)}
.faq-list{display:grid;gap:12px}.faq-item{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden}.faq-question{width:100%;padding:23px 26px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:0;color:var(--ink);background:#fff;text-align:left;cursor:pointer;font-weight:700}.faq-question span:first-child::before{content:"Q.";margin-right:12px;color:var(--purple);font-family:var(--heading);font-size:20px}.faq-question i{font-style:normal;font-size:22px}.faq-answer{padding:0 26px 24px 61px;color:var(--muted)}.faq-answer p{margin:0}.faq-item:not(.is-open) .faq-answer{display:none}.faq-item.is-open .faq-question i{transform:rotate(45deg)}
.company-list{margin:0;border-top:1px solid var(--line)}.company-list>div{padding:20px 0;display:grid;grid-template-columns:180px 1fr;border-bottom:1px solid var(--line)}.company-list dt{color:var(--muted)}.company-list dd{margin:0}.access-card{padding:40px;border-radius:var(--radius);background:var(--lavender)}.access-card h3{margin:0 0 18px;font:600 25px/1.5 var(--heading)}.access-card p{margin:0;color:var(--muted)}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.contact-options{display:grid;gap:14px}.contact-option{padding:24px;border:1px solid var(--line);border-radius:18px}.contact-option small,.contact-option strong{display:block}.contact-option small{color:var(--muted)}.contact-option strong{margin-top:5px;font:600 24px/1.5 var(--heading)}.form-card{padding:38px;border-radius:var(--radius);background:var(--paper)}.form-note{margin:0 0 22px;color:var(--muted)}.form-placeholder{min-height:280px;padding:38px;display:grid;place-items:center;text-align:center;border:2px dashed #c9c9c9;border-radius:18px;color:var(--muted);background:#fff}.form-placeholder strong{display:block;margin-bottom:8px;color:var(--ink);font:600 20px/1.5 var(--heading)}
.policy{max-width:820px}.policy h2{margin:44px 0 14px;font:600 22px/1.5 var(--heading)}.policy p,.policy li{color:var(--muted)}
.site-footer{padding:70px 0 26px;color:rgba(255,255,255,.7);background:var(--dark)}.footer-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:80px}.footer-logo{width:210px;padding:8px 12px;border-radius:9px;background:#fff}.footer-address{margin:22px 0 0;font-size:14px}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.footer-links div{display:flex;flex-direction:column;gap:10px;font-size:14px}.footer-links strong{margin-bottom:5px;color:#fff}.footer-bottom{margin-top:55px;padding-top:20px;display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.12);font-size:12px}.mobile-dock{display:none}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #b7a8cf;outline-offset:3px}
@media(max-width:1000px){.main-nav{display:none}.header-contact{margin-left:auto}.menu-button{display:block}.proof-grid{gap:50px}.feature-grid,.route-grid,.puppy-grid{grid-template-columns:1fr 1fr}.font-caption{display:none}}
@media(max-width:720px){:root{--shell:min(100% - 32px,620px);--radius:20px}.section{padding:72px 0}.header-inner{min-height:70px;gap:10px}.site-logo{width:165px;height:48px;padding:4px}.header-contact{display:none}.mobile-menu{inset:70px 0 auto}.home-hero{min-height:810px;height:calc(100svh - 70px);max-height:920px}.home-hero-media{background-position:58% 34%}.home-hero::after{background:linear-gradient(0deg,rgba(9,11,10,.92),rgba(40,34,48,.14) 86%)}.home-hero-content{padding-top:100px}.home-hero h1{font-size:clamp(34px,10vw,44px);line-height:1.34}.home-hero-copy{font-size:14px}.home-hero-copy br{display:none}.hero-choices{left:16px;right:16px;bottom:110px;width:auto;grid-template-columns:1fr;gap:2px}.hero-choice{min-height:103px;padding:18px 58px 17px 20px}.hero-choice:first-child{border-radius:15px 15px 0 0}.hero-choice:last-child{border-radius:0 0 15px 15px}.hero-choice small{font-size:11px}.hero-choice strong{font-size:17px}.intro-grid,.proof-grid,.contact-grid,.footer-grid{grid-template-columns:1fr;gap:42px}.service-split,.price-summary{grid-template-columns:1fr}.section-head{align-items:start;flex-direction:column;gap:18px}.section-title{font-size:36px}.service-card{min-height:390px;padding:28px}.page-hero{min-height:360px;padding:72px 0 55px}.page-title{font-size:44px}.feature-grid,.route-grid,.parent-grid,.puppy-grid{grid-template-columns:1fr}.step{padding:24px 22px;grid-template-columns:46px 1fr;gap:14px}.contact-band-inner{align-items:flex-start;flex-direction:column}.company-list>div{grid-template-columns:1fr;gap:4px}.footer-links{grid-template-columns:1fr 1fr}.footer-bottom{margin-bottom:68px;flex-direction:column;gap:8px}.mobile-dock{position:fixed;z-index:55;right:12px;bottom:12px;left:12px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border-radius:15px;color:#fff;background:var(--dark);box-shadow:0 12px 30px rgba(0,0,0,.28)}.mobile-dock a{min-height:54px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}.mobile-dock a+ a{background:var(--purple)}.type-sample{grid-template-columns:1fr}.contact-band{padding:48px 0}.contact-band-actions{width:100%}.contact-band-actions .button{flex:1}.form-card{padding:24px}.policy h2{margin-top:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important}}
