:root{--pink:#db648f;--light:#fff0f5;--ink:#46343d;--muted:#806e76;--line:#f0dce4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:#fff;color:var(--ink);font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;font-size:16px;line-height:1.8}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #a53661;outline-offset:5px}header{height:96px;max-width:1240px;margin:auto;padding:0 36px;display:flex;align-items:center;justify-content:space-between}.logo{font:italic 44px Georgia,serif;color:var(--pink);letter-spacing:-2px;line-height:1}.logo span{display:block;font:10px sans-serif;letter-spacing:3px;margin-top:10px;text-align:center}nav{display:flex;align-items:center;gap:32px;font-size:14px}nav a:hover{color:var(--pink)}.small-button{border:0;background:var(--light);color:#a84269;padding:12px 23px;border-radius:30px;font-size:14px}.demo{background:#fff8fb;text-align:center;color:var(--muted);font-size:12px;padding:7px 16px;border-block:1px solid var(--line)}.hero{max-width:1240px;margin:36px auto 68px;padding:0 36px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.eyebrow{color:#b25175;letter-spacing:3px;font-size:12px;font-weight:600;margin:0 0 17px}.hero h1{font-size:clamp(30px,3vw,44px);font-weight:500;line-height:1.65;letter-spacing:2px;margin:20px 0}.hero h1 em{color:var(--pink);font-style:normal}.hero-description{color:var(--muted);margin-bottom:26px}.button{display:inline-block;background:var(--pink);color:white;border:0;border-radius:32px;padding:15px 30px;font-size:15px;text-align:center;transition:background .2s}.button:hover{background:#bf4c76}.hero-note{font-size:12px;color:var(--muted);margin-top:18px}.hero-image{height:400px;border-radius:130px 130px 20px 20px;overflow:hidden;position:relative;background:#f5d5df}.hero-image>img{width:100%;height:100%;object-fit:cover}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 30%,#432c3d99)}.hero-caption{position:absolute;z-index:1;bottom:35px;left:34px;color:white;font:40px/1.12 Georgia,serif}.hero-caption i{font-weight:normal}.hero-caption span{display:block;font:12px sans-serif;letter-spacing:1px;margin-top:15px}.image-disclaimer{position:absolute;right:16px;top:16px;color:white;background:#48303d99;padding:2px 8px;border-radius:4px;font-size:12px;z-index:1}.section{max-width:1240px;margin:0 auto;padding:0 36px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}h2{font-size:27px;line-height:1.6;font-weight:500;letter-spacing:1px;margin:0 0 18px}.section-head>p{font-size:14px;color:var(--muted)}.swipe-hint{font-size:12px}.pickup{background:#fff7fa;max-width:none;padding-top:46px;padding-bottom:36px}.pickup>.section-head,.carousel,.carousel-controls{max-width:1168px;margin-left:auto;margin-right:auto}.carousel{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:12px}.carousel::-webkit-scrollbar{display:none}.job-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;min-width:0;box-shadow:0 5px 20px #7b3d5610}.carousel .job-card{flex:0 0 calc((100% - 44px)/3);scroll-snap-align:start}.photo-link{display:block;height:205px;position:relative;background:#f5d5df}.photo-link:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#251a2bd9)}.photo-link img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.photo-link:hover img{transform:scale(1.04)}.photo-label{position:absolute;top:16px;left:16px;z-index:1;background:#fff4f8;color:#a34b6b;font-size:12px;border-radius:30px;padding:4px 13px}.photo-name{position:absolute;bottom:20px;left:22px;z-index:1;color:white;font:28px Georgia,serif}.card-body{padding:22px}.location{font-size:13px;color:#b6557b;margin:0 0 6px}.location span{color:var(--muted)}h3{margin:0;font-size:20px;font-weight:500}.catch{font-size:13px;color:var(--muted);margin:8px 0 16px}.pay{font-size:27px;font-weight:600;color:#bf4f78;margin:10px 0 18px;line-height:1.4}.pay small{font-size:12px;color:var(--muted);font-weight:400;margin-right:8px}.pay>span{font-size:17px}.tags{display:flex;flex-wrap:wrap;gap:6px}.tags span{border:1px solid var(--line);color:#836670;border-radius:5px;padding:3px 8px;font-size:12px}.detail-link{display:block;border:1px solid #e9b2c6;border-radius:30px;color:#b04d71;text-align:center;padding:10px;margin-top:22px;font-size:14px}.detail-link:hover{background:var(--light)}.carousel-controls{display:flex;align-items:center;justify-content:space-between;padding-top:16px}.slide-count{font:20px Georgia,serif;color:#b6557b}.slide-count span{font-size:14px;color:#99818c}.dots{display:flex;gap:10px}.dot{width:7px;height:7px;border:0;border-radius:50%;padding:0;background:#e8cad5}.dot.active{background:var(--pink);width:22px;border-radius:6px}.arrows{display:flex;gap:9px}.arrows button{width:40px;height:40px;border:1px solid #ecd0dc;border-radius:50%;background:white;color:#a84a6f;font:26px serif}.conditions{padding-top:72px;padding-bottom:72px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0 36px}.filter{border:1px solid var(--line);border-radius:30px;background:#fff;padding:9px 19px;font-size:14px;color:var(--muted)}.filter.selected{background:var(--pink);border-color:var(--pink);color:white}.list-heading{display:flex;justify-content:space-between;margin-bottom:22px}.list-heading span{font-size:14px;color:var(--muted)}.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.guide{display:grid;grid-template-columns:1fr 1fr;background:var(--light);border-radius:24px;padding:50px;gap:60px;margin-bottom:70px}.guide p{color:var(--muted);font-size:14px}.guide .eyebrow{color:#b25175}.steps article{display:flex;gap:20px;padding:20px 0;border-bottom:1px solid #eccfda}.steps article:first-child{padding-top:0}.steps article>span{font:italic 28px Georgia,serif;color:#c87c98}.steps h3{font-size:16px}.steps p{margin:8px 0}.faq{max-width:870px;padding-bottom:65px}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq summary{cursor:pointer;font-size:15px}.faq details p{color:var(--muted);font-size:14px}footer{background:#fff9fb;border-top:1px solid var(--line);text-align:center;padding:48px 20px}footer .logo{display:inline-block}footer p{color:var(--muted);font-size:13px}footer>div{display:flex;justify-content:center;gap:25px;margin:25px 0;font-size:13px}footer small{font-size:12px;color:#99858d}.text-button{border:0;background:none;color:inherit;font-size:inherit;padding:0}dialog{max-width:440px;width:calc(100% - 32px);padding:38px;border:1px solid var(--line);border-radius:22px;color:var(--ink)}dialog::backdrop{background:#36212a66}dialog p{font-size:14px}.close{position:absolute;top:8px;right:15px;border:0;background:none;font-size:30px;color:var(--muted)}.muted{color:var(--muted);font-size:13px}.detail-page{padding-top:25px;padding-bottom:80px}.back{font-size:14px;color:#b6557b}.detail-heading{margin:35px 0 25px}.detail-heading h1{font:44px Georgia,serif;margin:0}.detail-heading>p:last-child{color:var(--muted);font-size:14px}.detail-photo{width:100%;max-height:430px;object-fit:cover;border-radius:20px}.detail-layout{display:grid;grid-template-columns:1fr 330px;gap:60px;margin-top:40px}.detail-layout>div>p{color:var(--muted)}.subhead{margin-top:45px}dl>div{display:grid;grid-template-columns:145px 1fr;border-bottom:1px solid var(--line);padding:16px 0;font-size:14px}dt{color:var(--muted)}dd{margin:0}.detail-layout aside{position:sticky;top:20px;align-self:start;padding:28px;background:var(--light);border-radius:18px}.detail-layout aside h3{font:26px Georgia,serif}.detail-layout aside .button{width:100%;padding:14px 10px}.fixed-apply{display:none}@media(min-width:1500px){.hero{margin-top:48px}.hero-image{height:440px}}@media(max-width:800px){header{height:78px;padding:0 20px}.logo{font-size:35px}.logo span{font-size:9px}nav{gap:15px}nav a{display:none}.small-button{font-size:12px;padding:9px 15px}.hero{padding:0 22px;margin:25px auto 36px;gap:24px;grid-template-columns:1fr}.hero-copy{position:relative}.hero h1{font-size:30px;margin:12px 0;letter-spacing:1px}.hero-description{font-size:14px;margin:12px 0 19px}.hero .eyebrow{font-size:10px;letter-spacing:2px}.hero-note{font-size:11px}.hero-image{height:230px;border-radius:75px 75px 15px 15px}.hero-caption{font-size:29px;bottom:24px;left:24px}.hero-caption span{font-size:11px}.section{padding-left:22px;padding-right:22px}h2{font-size:23px;letter-spacing:.4px}.section-head{display:block;margin-bottom:24px}.section-head>p{font-size:13px;margin:0}.pickup{padding-left:0;padding-right:0;padding-top:32px;padding-bottom:25px}.pickup .section-head{padding:0 22px}.carousel{padding:0 22px 12px;gap:16px;scroll-padding-left:22px}.carousel .job-card{flex-basis:88%;}.carousel-controls{padding-left:22px;padding-right:22px}.photo-link{height:205px}.card-body{padding:22px}.conditions{padding-top:45px;padding-bottom:45px}.filters{gap:8px;margin:20px 0 28px}.filter{padding:8px 13px;font-size:13px}.shop-grid{grid-template-columns:1fr;gap:22px}.shop-grid .photo-link{height:190px}.guide{margin:0 20px 45px;padding:30px 24px;grid-template-columns:1fr;gap:32px}.guide h2{font-size:23px}.faq{padding-bottom:45px}.detail-heading h1{font-size:34px}.detail-layout{grid-template-columns:1fr;gap:30px;margin-top:25px}.detail-layout aside{position:static}dl>div{grid-template-columns:105px 1fr;gap:10px}.detail-page{padding-bottom:40px}.fixed-apply{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:4;background:white;box-shadow:0 -3px 16px #432b3914;padding:10px 14px calc(10px + env(safe-area-inset-bottom));gap:10px}.fixed-apply a{flex:1;padding:11px 5px;font-size:13px;border-radius:25px;border:1px solid var(--pink);background:white;color:#b04d71}.fixed-apply a:last-child{background:var(--pink);color:white}body:has(.fixed-apply) footer{padding-bottom:120px}.demo{font-size:11px}.eyebrow{font-size:11px}.detail-photo{height:230px}.pay{font-size:27px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.fixed-apply a{text-align:center}.fixed-apply a:focus-visible{outline:3px solid #a53661;outline-offset:2px}

.policy-page{max-width:880px;padding-top:45px;padding-bottom:65px}.policy-page h1{font-size:30px;font-weight:500;line-height:1.6;margin:0 0 25px}.policy-page h2{font-size:21px;margin:32px 0 12px}.policy-page p{line-height:1.95}.policy-page p a,.consent a,.contact-note a{color:#a84269;text-decoration:underline;text-underline-offset:3px}.contact-note{padding:20px;background:var(--light);border-radius:12px;margin:25px 0}.field{display:block;margin:24px 0;font-size:16px}.field>span{font-size:12px;color:#a84269;margin-left:8px}.field input,.field select,.field textarea{display:block;width:100%;padding:13px;margin:8px 0;border:1px solid #d9b8c6;border-radius:8px;font:inherit;background:white;color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #bb527b;outline-offset:2px}.field small{font-size:13px;color:var(--muted)}.field textarea{resize:vertical}.consent{display:flex;align-items:flex-start;gap:12px;font-size:14px;margin:25px 0}.consent input{width:20px;height:20px;flex-shrink:0;margin-top:3px}.honeypot{display:none}footer>div{flex-wrap:wrap}@media(max-width:800px){.policy-page h1{font-size:26px}.policy-page{padding-top:30px}.policy-page h2{font-size:20px}}

.shop-gallery{width:100%;min-width:0}.gallery-track{display:flex;width:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:20px;background:#fff7fa;overscroll-behavior-x:contain}.gallery-track::-webkit-scrollbar{display:none}.gallery-slide{flex:0 0 100%;min-width:0;margin:0;scroll-snap-align:start;scroll-snap-stop:always;aspect-ratio:16/9;max-height:520px;display:flex;align-items:center;justify-content:center}.gallery-slide img{width:100%;height:100%;object-fit:contain}.gallery-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:16px}.gallery-controls>button{width:44px;height:44px;border:1px solid #e9b2c6;border-radius:50%;background:white;color:#a84269;font-size:26px}.gallery-controls>button:disabled{opacity:.35;cursor:default}.gallery-dots{display:flex;gap:2px;flex-wrap:wrap;justify-content:center}.gallery-dots button{width:24px;height:32px;padding:0;border:0;background:transparent;position:relative}.gallery-dots button::after{content:'';position:absolute;left:8px;top:12px;width:8px;height:8px;border-radius:50%;background:#e8cad5}.gallery-dots button[aria-current="true"]::after{background:#a84269}.gallery-count{text-align:center;color:var(--muted);font-size:14px;margin:6px 0 0}@media(max-width:800px){.gallery-slide{aspect-ratio:4/3;max-height:none}.gallery-track{border-radius:14px}.gallery-controls{gap:8px}.gallery-dots button{width:20px}.gallery-dots button::after{left:6px}}
