@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;600;700;800;900&display=swap');
:root{--ink:#172038;--pink:#f34576;--pink-soft:#ffe3ea;--mint:#75cfb9;--paper:#fffaf9;--white:#fff;--line:#eadde2;font-family:'DM Sans','Noto Sans JP',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}body.dialog-open{overflow:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--mint);outline-offset:3px}[hidden]{display:none!important}.sample-strip{height:28px;background:var(--ink);color:#fff;text-align:center;font-size:10px;font-weight:700;letter-spacing:.13em;display:flex;align-items:center;justify-content:center;gap:12px}.sample-dot{width:6px;height:6px;border-radius:50%;background:var(--pink)}.sample-separator{color:var(--mint)}.site-header{height:90px;display:flex;align-items:center;gap:44px;justify-content:space-between;padding:0 clamp(24px,4vw,70px);background:#fff;position:relative;z-index:12;border-bottom:1px solid #f1e8e9}.brand{display:flex;flex-direction:column;line-height:1;flex:none}.brand-main{font-size:27px;letter-spacing:-.075em;font-weight:900}.brand-flower{font-size:.75em;color:var(--pink);display:inline-block;margin:0 .03em;vertical-align:.07em}.brand-sub{font-size:9px;font-weight:700;letter-spacing:.33em;padding-left:3px;margin-top:7px}.desktop-nav{display:flex;gap:30px;align-items:center;margin-left:auto}.desktop-nav a{font-size:12px;font-weight:800;white-space:nowrap;transition:color .2s}.desktop-nav a:hover{color:var(--pink)}.header-cta{background:var(--pink);border:0;color:white;border-radius:50px;padding:15px 22px;font-size:12px;font-weight:800;white-space:nowrap;box-shadow:0 6px 0 #dfd4d8;transition:transform .2s,box-shadow .2s}.header-cta:hover,.btn:hover{transform:translateY(-3px)}.header-cta span{padding-left:12px}.menu-toggle,.mobile-nav{display:none}.hero{min-height:660px;height:min(710px,calc(100vh - 118px));position:relative;overflow:hidden;background:#fff}.hero-picture{position:absolute;inset:0 0 0 30%;overflow:hidden}.hero-picture img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-wash{position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,#fff 13%,rgba(255,255,255,.93) 31%,rgba(255,255,255,.34) 54%,rgba(255,255,255,0) 73%)}.hero-content{position:relative;z-index:2;padding:clamp(75px,8vw,125px) 0 0 clamp(28px,7vw,115px);max-width:890px}.eyebrow,.kicker{font-size:12px;font-weight:800;letter-spacing:.19em;color:var(--pink)}.eyebrow{display:flex;align-items:center;gap:13px;margin:0 0 23px}.eyebrow-line{width:35px;height:2px;background:var(--pink)}.hero h1{margin:0;line-height:1.17;font-weight:900;letter-spacing:-.075em;text-shadow:0 0 20px rgba(255,255,255,.55)}.headline-small{display:block;font-size:clamp(40px,5vw,75px)}.headline-large{display:block;font-size:clamp(45px,5.7vw,88px);white-space:nowrap}.period{color:var(--pink)}.hero-script{margin:-14px 0 8px clamp(100px,16vw,225px);font-family:Georgia,serif;font-size:clamp(34px,4vw,58px);font-style:italic;color:var(--pink);transform:rotate(-6deg);line-height:1.4;white-space:nowrap}.hero-copy{font-size:clamp(15px,1.25vw,18px);font-weight:700;line-height:2;letter-spacing:.03em;margin:24px 0}.hero-actions{display:flex;align-items:center;gap:30px}.btn{border:0;border-radius:100px;display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 30px;font-size:14px;font-weight:800;letter-spacing:.03em;transition:transform .2s,background .2s;min-height:58px}.btn-pink{background:var(--pink);color:#fff;box-shadow:0 9px 22px rgba(243,69,118,.18)}.btn-pink:hover{background:#d9275d}.text-link{font-size:13px;font-weight:800;border-bottom:1px solid var(--ink);padding-bottom:6px;white-space:nowrap}.text-link span{margin-left:8px}.hero-side{position:absolute;right:18px;top:45px;writing-mode:vertical-rl;letter-spacing:.2em;font-size:10px;font-weight:800;color:var(--pink);z-index:2}.hero-stamp{width:135px;height:135px;border-radius:50%;background:var(--mint);position:absolute;right:7%;bottom:45px;z-index:3;display:flex;align-items:center;justify-content:center;transform:rotate(13deg);font-weight:900;line-height:1.5;text-align:center;box-shadow:0 14px 25px rgba(40,92,77,.12)}.hero-stamp b{position:absolute;right:14px;top:9px;color:#fff;font-size:26px}.hero-bottom{position:absolute;left:clamp(28px,7vw,115px);bottom:30px;z-index:2;display:flex;gap:55px;font-size:10px;font-weight:800;letter-spacing:.15em}.hero-bottom span:first-child{color:var(--pink)}.ticker{background:var(--pink);color:#fff;overflow:hidden;height:51px;display:flex;align-items:center;font-size:14px;font-weight:900;letter-spacing:.07em;white-space:nowrap}.ticker div{min-width:max-content;animation:ticker 27s linear infinite}.ticker span{padding:0 32px;color:var(--mint);font-size:21px}@keyframes ticker{to{transform:translateX(-50%)}}.section-shell{padding:100px clamp(26px,7vw,110px)}.section-meta{display:flex;align-items:center;gap:16px;color:var(--pink);font-weight:900;font-size:11px;letter-spacing:.15em;margin-bottom:38px}.section-meta span:first-child{border:1px solid var(--pink);width:34px;height:34px;display:grid;place-items:center;border-radius:50%;letter-spacing:0}.intro{background:#fff}.intro-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:8vw;align-items:end}.intro h2{font-size:clamp(38px,4.2vw,67px);line-height:1.5;letter-spacing:-.08em;margin:0;font-weight:900}.intro h2 em{color:var(--pink);font-style:normal}.intro-body p{font-size:15px;line-height:2.15;font-weight:600;margin:0}.intro-body .small-note{font-size:11px;line-height:1.8;color:#697082;margin-top:23px}.services{background:#fff4f5}.services-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:50px}.services-heading h2,.guide h2,.contact h2{font-size:clamp(46px,5.2vw,78px);line-height:1.22;letter-spacing:-.075em;margin:0;font-weight:900}.services-heading h2 span,.guide h2 span,.contact h2 span{color:var(--pink)}.services-heading p,.guide-top>p{font-weight:700;font-size:14px;line-height:1.9}.services-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:6vw;align-items:stretch}.flower-photo{min-height:570px;position:relative;overflow:hidden;border-radius:150px 150px 8px 8px;background:#eee}.flower-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 60%}.photo-caption{position:absolute;bottom:15px;right:15px;background:#fff;padding:10px 14px;color:var(--pink);font-family:Georgia,serif;font-style:italic;font-size:17px;transform:rotate(-4deg)}.service-list{align-self:center}.service-item{display:grid;grid-template-columns:45px 1fr 35px;gap:20px;align-items:start;border-top:1px solid #d9bfc6;padding:30px 0}.service-item:last-of-type{border-bottom:1px solid #d9bfc6}.service-number{font-size:12px;color:var(--pink);font-weight:900;margin-top:12px}.service-item h3{font-size:clamp(25px,2.8vw,42px);letter-spacing:-.06em;margin:0 0 10px}.service-item p{margin:0;line-height:1.8;font-size:13px;font-weight:600}.service-arrow{font-size:28px;color:var(--pink)}.service-foot{padding-top:28px;font-size:13px;font-weight:700}.service-foot button{margin-left:12px;border:0;background:transparent;color:var(--pink);font-weight:900;border-bottom:1px solid var(--pink);padding:0 0 4px}.guide{background:#fff}.guide-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px}.kicker{margin:0 0 20px}.guide-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.guide-card{border:0;text-align:left;min-height:300px;padding:28px;position:relative;display:flex;flex-direction:column;align-items:start;color:var(--ink);transition:transform .25s,box-shadow .25s}.guide-card:hover{transform:translateY(-8px);box-shadow:0 15px 30px rgba(23,32,56,.12)}.guide-card-bot{background:var(--pink-soft)}.guide-card-line{background:#d8f3e8}.guide-card-form{background:#e9e9f7}.guide-label{font-size:11px;font-weight:900;letter-spacing:.1em}.guide-icon{font-size:57px;color:var(--pink);margin:auto 0 8px;line-height:1}.guide-card-line .guide-icon{color:#18ad6e}.guide-card-form .guide-icon{color:#7771c9}.guide-card strong{font-size:clamp(27px,2.6vw,38px);letter-spacing:-.06em}.guide-card small{font-size:12px;font-weight:700;line-height:1.6;margin-top:8px}.guide-card-arrow{position:absolute;right:24px;bottom:24px;font-size:28px}.contact{background:var(--pink-soft)}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw}.contact-lead{position:relative}.contact-lead>p:not(.kicker){font-size:14px;line-height:2;font-weight:700;margin-top:26px}.contact-bloom{color:var(--pink);font-size:280px;line-height:1;transform:rotate(-15deg);opacity:.17;position:absolute;bottom:-45px;left:10px;pointer-events:none}.contact-form{background:white;padding:clamp(24px,3vw,48px);box-shadow:15px 15px 0 rgba(243,69,118,.12)}.form-intro{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:20px}.form-intro strong{font-size:20px}.form-intro span{font-size:10px;font-weight:800;color:var(--pink);letter-spacing:.12em}.contact-form label{display:block;font-size:13px;font-weight:800;margin:22px 0}.contact-form label>span{background:var(--pink);color:#fff;font-size:10px;padding:3px 6px;margin-left:7px}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;border:1px solid #d8dce1;border-radius:0;background:#fff;color:var(--ink);padding:13px 15px;margin-top:9px;font-size:14px;min-height:47px}.contact-form textarea{resize:vertical}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#9da3ae}.demo-warning{font-size:11px;line-height:1.8;color:#5f6570;margin:18px 0}.btn-dark{background:var(--ink);color:#fff;width:100%}.btn-dark:hover{background:#303d60}.form-result{background:#e8f8f1;border-left:4px solid #20a870;padding:18px;margin-top:20px;font-size:13px;line-height:1.8;font-weight:700}.footer{background:var(--ink);color:#fff;padding:60px clamp(26px,7vw,110px) 25px}.footer-brand{font-size:clamp(36px,5vw,70px);letter-spacing:-.08em;font-weight:900}.footer-brand span{color:var(--pink);font-size:.75em}.footer>p{font-size:13px;letter-spacing:.05em}.footer nav{display:flex;gap:32px;margin-top:35px;font-size:11px;font-weight:800;letter-spacing:.12em}.footer a:hover{color:var(--mint)}.footer-bottom{border-top:1px solid #536078;margin-top:60px;padding-top:20px;display:flex;justify-content:space-between;font-size:10px;color:#c0c8d3}.floating-bot{position:fixed;right:22px;bottom:20px;z-index:30;display:flex;align-items:center;gap:8px;background:var(--ink);color:#fff;border:2px solid white;box-shadow:0 9px 25px rgba(0,0,0,.17);border-radius:100px;padding:11px 18px;font-size:13px;font-weight:900}.floating-bot span:first-child{color:var(--pink);font-size:22px}.overlay{position:fixed;inset:0;background:rgba(10,17,31,.45);z-index:40}.chat-panel,.line-panel{position:fixed;z-index:41;background:#fff;box-shadow:0 20px 70px rgba(0,0,0,.25)}.chat-panel{right:22px;bottom:22px;width:min(420px,calc(100vw - 28px));height:min(620px,calc(100vh - 44px));display:flex;flex-direction:column;border-radius:18px;overflow:hidden}.chat-header{background:var(--ink);color:#fff;padding:22px;display:flex;justify-content:space-between;align-items:start}.chat-header h2{margin:7px 0 0;font-size:20px}.chat-status{color:var(--mint);font-size:10px;font-weight:900;letter-spacing:.1em}.close-button{border:0;background:transparent;font-size:30px;line-height:1;color:inherit;padding:0 3px}.chat-messages{padding:23px 20px;flex:1;overflow:auto;background:#fff9fa;display:flex;flex-direction:column;gap:12px}.chat-message{padding:13px 16px;max-width:87%;font-size:13px;line-height:1.8;font-weight:600;border-radius:16px;white-space:pre-wrap}.assistant-message{background:#fff;border:1px solid #f3dde3;align-self:start;border-bottom-left-radius:3px}.user-message{background:var(--pink);color:#fff;align-self:end;border-bottom-right-radius:3px}.chat-choices{padding:14px 17px 6px;display:flex;flex-wrap:wrap;gap:8px}.chat-choices button{background:#fff;border:1px solid var(--pink);color:var(--pink);padding:10px 13px;border-radius:30px;font-size:12px;font-weight:800}.chat-choices button:hover{background:var(--pink);color:#fff}.chat-disclaimer{padding:0 18px 13px;margin:5px 0 0;color:#6b7180;font-size:10px}.line-panel{left:50%;top:50%;transform:translate(-50%,-50%);width:min(460px,calc(100vw - 32px));padding:50px;background:#fff;border-top:8px solid #25bc76}.line-panel>.close-button{position:absolute;right:18px;top:15px}.line-mark{display:inline-block;background:#25bc76;color:#fff;border-radius:15px;padding:10px 13px;font-weight:900;font-size:19px;margin-bottom:35px}.line-panel h2{font-size:36px;line-height:1.4;letter-spacing:-.07em;margin:0 0 18px}.line-panel p:not(.kicker){font-size:13px;line-height:1.9;margin-bottom:25px}.line-panel>a{display:block;margin-top:20px;font-weight:800;font-size:13px;color:var(--pink)}
@media(max-width:1000px){.desktop-nav{gap:15px}.desktop-nav a{font-size:11px}.header-cta{display:none}.hero{height:660px}.hero-content{padding-left:5vw}.hero-bottom{left:5vw}.hero-stamp{right:3%;bottom:30px}.headline-large{font-size:clamp(48px,5.7vw,67px)}}
@media(max-width:700px){.sample-strip{font-size:9px}.site-header{height:72px;padding:0 22px}.brand-main{font-size:22px}.brand-sub{font-size:7px}.desktop-nav{display:none}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;background:transparent;border:0;width:44px;height:44px;padding:7px}.menu-toggle span{height:2px;width:100%;background:var(--ink)}.mobile-nav{position:absolute;z-index:15;display:flex;flex-direction:column;top:100px;left:0;right:0;background:#fff;box-shadow:0 18px 25px rgba(0,0,0,.11);padding:20px 26px 26px;gap:0}.mobile-nav a,.mobile-nav button{padding:15px 0;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;font-size:14px;font-weight:800}.mobile-nav button{color:var(--pink)}.hero{height:auto;min-height:850px;padding-bottom:40px}.hero-picture{inset:270px 0 0 0;height:530px}.hero-picture img{object-position:60% center}.hero-wash{background:linear-gradient(180deg,#fff 0%,#fff 23%,rgba(255,255,255,.8) 38%,rgba(255,255,255,0) 68%)}.hero-content{padding:48px 24px 0}.eyebrow{font-size:10px;margin-bottom:18px}.headline-small{font-size:clamp(35px,8vw,52px)}.headline-large{font-size:clamp(39px,8.6vw,61px);white-space:normal}.hero-script{margin:-5px 0 0 70px;font-size:33px}.hero-copy{font-size:13px;line-height:1.7;margin:12px 0 16px}.hero-actions{gap:16px;flex-wrap:wrap}.hero-actions .btn{min-height:50px;padding:15px 21px;font-size:12px}.text-link{font-size:11px}.hero-side{display:none}.hero-stamp{width:103px;height:103px;font-size:12px;right:18px;bottom:75px}.hero-stamp b{font-size:18px}.hero-bottom{left:24px;bottom:24px;gap:20px;font-size:9px}.section-shell{padding:70px 24px}.section-meta{margin-bottom:25px}.intro-grid,.services-grid,.contact-grid{grid-template-columns:1fr;gap:30px}.intro h2{font-size:clamp(35px,8vw,56px)}.intro-body p{font-size:13px}.services-heading,.guide-top{display:block}.services-heading h2,.guide h2,.contact h2{font-size:clamp(42px,9vw,62px)}.services-heading p{margin-top:22px}.flower-photo{min-height:460px;border-radius:110px 110px 8px 8px}.service-item{padding:23px 0;grid-template-columns:32px 1fr 24px;gap:10px}.service-item h3{font-size:28px}.guide-top>p{margin-top:24px}.guide-cards{grid-template-columns:1fr;gap:12px}.guide-card{min-height:210px;padding:23px}.guide-icon{font-size:38px}.guide-card strong{font-size:29px}.contact-bloom{display:none}.contact-grid{gap:35px}.contact-form{padding:22px;box-shadow:8px 8px 0 rgba(243,69,118,.12)}.footer-bottom{gap:12px;flex-wrap:wrap}.floating-bot{bottom:13px;right:13px}.line-panel{padding:35px 25px}.line-panel h2{font-size:30px}}
@media(max-width:390px){.hero{min-height:810px}.hero-picture{top:265px;height:500px}.hero-content{padding-top:40px}.hero-script{font-size:28px}.hero-actions{gap:12px}.hero-stamp{bottom:60px}.services-heading h2,.guide h2,.contact h2{font-size:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker div{animation:none}.guide-card,.btn,.header-cta{transition:none}}
