/* Selected direction B. Legacy layout stays available beneath this theme layer. */
.l-consult img{mix-blend-mode:normal}
:root{--navy:#153428;--ink:#153428;--muted:#486051;--coral:#d3f353;--coral-d:#bad93e;--sun:#153428;--cream:#f7faf5;--soft:#e7f0e1;--line2:#c1d0bf;--line:#c1d0bf;--hand:'Noto Sans JP',sans-serif;--round:'Noto Sans JP',sans-serif;--pink:#eec8d0;--lime:#d3f353}
html{scroll-padding-top:110px}body{background:#f7faf5;color:#153428}body,body *{letter-spacing:0}h1,h2,h3{overflow-wrap:anywhere}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible,[role=tabpanel]:focus-visible{outline:3px solid #b22750;outline-offset:5px}[hidden]{display:none!important}
.site-header{background:#d3f353;border-bottom:1px solid #153428;backdrop-filter:none}.header-inner{min-height:88px;gap:22px}.brand span{font-family:'Noto Sans JP',sans-serif;font-size:18px;line-height:1.4}.brand small{font-size:9px;color:#153428}.brand .smile-logo{font:bold italic 48px/1 Arial,sans-serif;display:block;flex-shrink:0}.desktop-nav{gap:17px}.desktop-nav a{font-size:11px;font-weight:700}.button,.button.small,.button.light{border-radius:4px;box-shadow:none;background:#d3f353;color:#153428;border:1px solid #153428;font-family:'Noto Sans JP',sans-serif;font-weight:900;min-height:48px;transition:background .18s,transform .18s}.button:hover{background:#bfe142;color:#153428;box-shadow:none;transform:translateY(-2px)}.header-contact.button{background:#153428;color:#d3f353;font-size:12px;padding:12px 18px;border-radius:4px}.l-btn-outline,.l-btn-outline.small,.button.outline{background:transparent;color:#153428;border:1px solid #153428;border-radius:4px;box-shadow:none;font-family:var(--round);font-size:13px}.l-btn-outline:hover{background:#153428;color:white}.mobile-menu{background:#d3f353}.mobile-menu a{color:#153428}.menu-button{background:transparent;border-color:#153428}.menu-button span{background:#153428}
.smile-hero{position:relative;isolation:isolate;background:#153428;color:#fff;min-height:570px;height:min(670px,calc(100svh - 155px));overflow:hidden}.smile-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 48%;z-index:-2}.smile-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#153428f5 0%,#153428e6 27%,#15342870 53%,transparent 76%)}.smile-hero-inner{height:100%;min-height:inherit;position:relative;display:flex;align-items:center}.smile-hero-copy{padding:45px 0 55px;max-width:680px}.smile-eyebrow{font-size:12px;font-weight:700;margin:0 0 22px}.smile-hero h1{font-size:76px;font-weight:900;line-height:1.35;margin:0 0 18px;color:#fff;font-family:'Noto Sans JP',sans-serif}.smile-hero h1 em{color:#d3f353;font-style:normal}.smile-tagline{font-size:19px;line-height:1.8;font-weight:700;margin-bottom:25px}.smile-hero .button{font-size:15px;padding:16px 28px;gap:38px;border:0}.smile-hero .button span{font-size:25px}.smile-facts{font-size:12px;margin-top:24px}.smile-facts span{margin:0 18px}.smile-stamp{position:absolute;top:32px;right:10px;transform:rotate(7deg);padding:20px 23px;background:#eec8d0;color:#153428;font:900 28px/1.05 Arial,sans-serif;margin:0}.smile-image-note{position:absolute;bottom:15px;right:0;font-size:10px;color:#153428;background:#fffffff0;padding:4px 8px;margin:0}.smile-marquee{display:flex;justify-content:center;gap:20px;background:#d3f353;color:#153428;padding:25px 24px;font:900 54px/1.05 Impact,'Arial Narrow',sans-serif;border-block:1px solid #153428}.smile-marquee span{display:block}
.smile-scenes{background:#153428;color:#fff;padding:75px 0}.smile-section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:35px}.smile-kicker{font:700 10px/1.6 Arial,'Noto Sans JP',sans-serif;margin:0 0 15px;display:block}.smile-section-heading h2{font-size:43px;line-height:1.45;margin:0;font-weight:900;color:#fff}.smile-section-heading>p{font-size:13px;color:#e5eddf;line-height:1.9;flex-shrink:0;margin:0}.smile-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:24px}.smile-tabs button{background:transparent;color:#fff;border:1px solid #a3baa9;font:700 13px 'Noto Sans JP',sans-serif;padding:17px 8px;cursor:pointer;min-height:52px;border-radius:3px}.smile-tabs button[aria-selected=true]{background:#d3f353;border-color:#d3f353;color:#153428}.smile-scene-panel{margin:0 0 25px;display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:46px}.smile-scene-panel figure{margin:0;position:relative}.smile-scene-panel img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.smile-scene-panel figcaption{font-size:9px;position:absolute;bottom:10px;left:10px;background:#ffffffed;color:#153428;padding:4px 8px}.smile-scene-copy .smile-kicker{color:#d3f353}.smile-scene-copy h3{font-size:31px;line-height:1.6;font-weight:900;color:#fff;margin:16px 0}.smile-scene-copy p{font-size:13px;line-height:1.95;color:#e3eddf;margin:0 0 22px}.smile-text-link{display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:13px;border-bottom:1px solid #b2c6b1;padding:12px 0;color:#d3f353}.smile-text-link span{font-size:24px}
.l-section{padding:78px 0;background:#f7faf5}.l-head{border-top:1px solid #c1d0bf;padding-top:18px;gap:15px;margin-bottom:30px}.l-brush{display:none}.l-head h2,.l-head h1{font-size:32px;line-height:1.5;font-family:var(--round);color:#153428}.l-en{font-size:10px;color:#486051;margin-left:auto}.l-service{gap:20px 60px}.l-service-body h3{font-size:29px;line-height:1.6;color:#153428}.l-service-art img{border-radius:0;box-shadow:none}.l-service-body p{color:#486051;font-size:14px}.l-lead{color:#486051}.l-note{color:#486051}.l-head-row .l-head{flex:1}
#artists{background:#eec8d0}#artists .l-head{border-color:#9e7e85}#artists .l-note{color:#4b4547}.l-taste{gap:20px;padding:10px 0}.l-taste-card img{border:7px solid #fff;border-radius:0;aspect-ratio:1;object-fit:cover;box-shadow:0 3px 10px #15342810}.l-taste-card:nth-child(odd){transform:rotate(-2deg)}.l-taste-card:nth-child(even){transform:rotate(2deg)}.l-taste-card figcaption{font-size:12px;font-weight:700;color:#153428}.l-flow{gap:24px}.l-flow li{background:none;padding:0}.l-flow img{border:6px solid #fff;border-radius:0}.l-flow li+li:before{display:none}.l-num{position:static;display:block;width:auto;height:auto;background:none;box-shadow:none;color:#153428;border-radius:0;font:900 32px/1 Arial,sans-serif;margin-bottom:16px}.l-flow h3{font-size:17px;margin-top:17px}.l-flow p{font-size:13px}.l-steps{border-radius:0;background:#e7f0e1;box-shadow:none}.l-consult{background:#d3f353;border-radius:0;box-shadow:none}.l-consult h2{font-size:25px}.l-consult p{color:#153428}.l-faq details{border-radius:0;border:0;border-bottom:1px solid #c1d0bf;background:none;margin:0}.l-faq summary{padding:19px 2px;font-size:14px}.l-faq summary:before{color:#153428}.l-faq details p{color:#486051}.l-price-body .l-note{font-size:12px}.l-price-body img{mix-blend-mode:normal}
.contact-section{background:#e7f0e1;padding:80px 0}.contact-box{background:#fff;border:1px solid #a9bba9;border-radius:4px;box-shadow:none}.contact-box h3{font-size:24px}.contact-intro>p{color:#486051}.l-contact-title{font-size:32px;font-family:var(--round)}.contact-mail a{color:#153428}.operator-note{border-radius:0;background:transparent;border-top:1px solid #a9bba9;padding:20px 0}.contact-box input,.contact-box select,.contact-box textarea{border-radius:3px;border:1px solid #849985;background:#fff;color:#153428;font-family:var(--round)}.required-label{background:#153428;color:#fff}.review-actions{gap:12px}.review-actions .button{font-size:13px}.email-review{border-radius:0;background:#f7faf5}.input-note,.form-explainer{color:#486051}.l-banner{background:#d3f353}.l-banner-grid{display:block;max-width:1200px}.l-banner-grid>img{display:none}.l-banner-copy{padding:70px 24px}.l-banner h2{font-family:var(--round);font-size:60px;font-weight:900;transform:none;line-height:1.4;max-width:960px}.l-banner p{color:#153428}.l-banner .button{background:#153428;color:#d3f353}.site-footer{background:#153428;color:#fff}.site-footer .brand .smile-logo{color:#d3f353}.site-footer .brand small{color:#d3f353}.site-footer p,.site-footer nav a,.footer-bottom{color:#dce8d7}.footer-bottom{border-color:#617a66}.mobile-cta{background:#f7faf5;border-top:1px solid #153428;box-shadow:none}.mobile-cta a:last-child{background:#d3f353;color:#153428;border-radius:0}
.detail-hero,.detail-hero.kids,.detail-hero.events,.detail-hero.wedding{background:#e7f0e1}.detail-heading h1{font-family:var(--round);font-size:42px}.detail-heading figure img{border-radius:0}.detail-heading figure:has(img[src*="portrait-service/"]){border-radius:0}.eyebrow,.warm-label,.plan-index{color:#486051}.detail-price{background:#153428}.l-pending-box{border-radius:0;background:#fff;border:1px solid #a9bba9}.l-pending-badge{background:#d3f353;border-radius:3px}.l-card{border-radius:4px}.conditions{border-radius:0}.smile-tabs button:hover{border-color:#d3f353}
#flow{background:#eec8d0}#flow .l-head{border-color:#9e7e85}#flow .l-flow li:nth-child(odd) img{transform:rotate(-2deg)}#flow .l-flow li:nth-child(even) img{transform:rotate(2deg)}
@media(min-width:1500px){.smile-hero{height:690px}.smile-hero h1{font-size:84px}}
@media(max-width:1180px){.header-inner{min-height:78px}.brand span{font-size:17px}.smile-hero h1{font-size:66px}.smile-section-heading h2{font-size:36px}.smile-marquee{font-size:45px}.smile-stamp{font-size:24px}.smile-scene-panel{gap:30px}.smile-scene-copy h3{font-size:26px}.l-service{gap:25px}.l-service-body h3{font-size:26px}}
@media(max-width:900px){.smile-hero{min-height:560px}.smile-hero h1{font-size:60px}.smile-hero-copy{max-width:540px}.smile-stamp{font-size:18px;top:22px;padding:16px;right:0}.smile-tagline{font-size:15px}.smile-marquee{font-size:35px;gap:12px}.smile-section-heading{display:block}.smile-section-heading>p{margin-top:20px}.smile-scene-panel{grid-template-columns:1fr;gap:25px}.smile-scene-panel img{max-height:420px;object-fit:cover}.smile-scene-copy h3{font-size:28px}.smile-scene-copy p{max-width:650px}.smile-text-link{max-width:420px}.l-section{padding:58px 0}.l-head h2{font-size:28px}.l-taste{gap:15px}.l-banner h2{font-size:46px}.l-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.detail-heading h1{font-size:34px}.l-consult h2{font-size:24px}}
@media(max-width:600px){html{scroll-padding-top:85px}.header-inner{min-height:72px;gap:10px}.brand span{font-size:14px}.brand small{font-size:7px}.brand .smile-logo{font-size:35px}.header-contact.button{display:none}.menu-button{margin-left:auto;flex-shrink:0}.smile-hero{height:calc(100svh - 135px);min-height:575px;max-height:740px}.smile-hero-image{object-position:64% top}.smile-hero:after{background:linear-gradient(0deg,#153428 0%,#153428f5 24%,#153428a6 50%,#15342800 86%)}.smile-hero-inner{align-items:end}.smile-hero-copy{padding:190px 0 45px;width:100%}.smile-eyebrow{font-size:10px;margin-bottom:15px}.smile-hero h1{font-size:44px;line-height:1.4;margin-bottom:15px}.smile-tagline{font-size:12px;margin-bottom:20px}.smile-hero .button{font-size:13px;padding:13px 23px;min-height:52px}.smile-facts{font-size:10px;margin:18px 0 0}.smile-stamp{font-size:20px;top:24px;right:10px;padding:15px}.smile-image-note{bottom:10px;font-size:8px;right:0;background:none;color:#f7faf5}.smile-marquee{font-size:30px;line-height:1.05;display:block;padding:20px 16px}.smile-marquee span+span{margin-top:4px}.smile-scenes{padding:48px 0}.smile-section-heading h2{font-size:29px}.smile-section-heading>p{font-size:12px;margin-top:15px}.smile-section-heading{margin-bottom:25px}.smile-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:20px}.smile-tabs button{font-size:11px;padding:12px 4px;min-height:46px}.smile-scene-copy h3{font-size:25px}.smile-scene-copy p{font-size:12px}.smile-scene-panel{gap:22px}.smile-text-link{font-size:12px}.smile-kicker{font-size:9px}.l-section{padding:46px 0}.l-head{padding-top:15px;margin-bottom:25px;gap:12px}.l-head h2{font-size:24px}.l-en{font-size:9px}.l-service-body h3{font-size:24px}.l-service-body p{font-size:13px}.l-service-art{margin-top:10px}.l-head-row .l-head{min-width:100%}.l-taste-card figcaption{font-size:11px}.l-taste-card img{border-width:5px}.l-taste-card:nth-child(n){transform:none}.l-taste{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 16px}.l-flow{gap:30px 16px}.l-flow h3{font-size:14px}.l-flow p{font-size:12px}.l-num{font-size:28px}.l-flow img{border-width:4px}.l-consult{padding:25px 20px}.l-consult h2{font-size:23px}.contact-section{padding:50px 0}.contact-box h3{font-size:22px}.l-contact-title{font-size:27px}.contact-box{padding:24px 18px}.l-banner-copy{padding:45px 16px}.l-banner h2{font-size:36px}.l-banner p{font-size:12px}.l-banner .button{padding:14px 25px;font-size:14px}.detail-heading h1{font-size:28px}.site-footer .brand span{font-size:17px}.site-footer .brand small{font-size:9px}.review-actions .button{white-space:normal}.l-note{font-size:11px}}
@media(max-width:600px){.smile-hero{height:calc(100svh - 220px);min-height:500px;max-height:680px}.smile-hero-copy{padding:125px 0 40px}}
@media(max-width:370px){.smile-hero h1{font-size:39px}.smile-section-heading h2{font-size:26px}.smile-marquee{font-size:26px}.brand span{font-size:12px}.brand small{font-size:6px}.brand .smile-logo{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
