:root{--teal:#0e9d91;--teal-dark:#087d74;--ink:#173a3a;--muted:#58706e;--cream:#f7fbfa;--line:#cfe8e4;--green:#72c916;--blue:#45aee5;--orange:#ffaf21;--pink:#ed087a;--shadow:0 24px 70px rgba(12,91,84,.12)}
html,body{max-width:100%;overflow-x:hidden}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Noto Sans JP",sans-serif;font-size:16px;line-height:1.9;background:#fff}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:100;background:#fff;padding:.7rem 1rem}.site-header{height:92px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:3rem;padding:0 clamp(24px,6vw,100px);position:relative;z-index:30;background:rgba(255,255,255,.94);border-bottom:1px solid rgba(14,157,145,.08)}.brand{font-family:"DM Mono",monospace;color:var(--teal);font-weight:500;font-size:1.1rem;letter-spacing:-.06em;display:flex;align-items:center;gap:.45rem}.brand-heart{font-family:sans-serif;font-size:2rem;line-height:1}.site-header nav{display:flex;justify-content:center;gap:clamp(16px,2.2vw,38px);font-size:.82rem}.site-header nav a{position:relative}.site-header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--teal);transition:.3s}.site-header nav a:hover:after{right:0}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 28px;border-radius:999px;background:var(--teal);color:#fff;font-weight:600;letter-spacing:.04em;box-shadow:0 10px 30px rgba(14,157,145,.2);transition:transform .25s,box-shadow .25s}.button:hover{transform:translateY(-2px);box-shadow:0 15px 35px rgba(14,157,145,.28)}.button-small{min-height:42px;padding:0 21px;font-size:.82rem}.button-outline{background:#fff;color:var(--teal);box-shadow:none;border:1px solid var(--teal)}.button-light{background:#fff;color:var(--teal)}.button-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.8);box-shadow:none}.menu-button,.mobile-nav{display:none}.section-inner{width:min(1180px,calc(100% - 48px));margin:auto}.narrow{width:min(800px,calc(100% - 48px));text-align:center}.eyebrow{font-family:"DM Mono",monospace;color:var(--teal);font-size:.78rem;letter-spacing:.18em;margin:0 0 15px}.eyebrow-light{color:#baf4eb}h1,h2,h3,p{margin-top:0}h1,h2{font-weight:400;letter-spacing:.03em;line-height:1.45}h1{font-size:clamp(2.4rem,4.7vw,5.4rem);margin-bottom:24px}h1 em{font-style:normal;color:var(--teal)}h2{font-size:clamp(2rem,3.6vw,4rem);color:var(--teal);margin-bottom:28px}h3{line-height:1.5}.hero{min-height:calc(100vh - 92px);display:grid;grid-template-columns:minmax(360px,1fr) minmax(460px,1fr);align-items:center;gap:4vw;padding:60px clamp(24px,7vw,120px) 80px;position:relative;overflow:hidden}.hero:before{content:"";width:500px;height:500px;position:absolute;right:-280px;top:-270px;background:radial-gradient(circle,#c8f2ec,transparent 68%);border-radius:50%}.hero-art{position:relative}.hero-art:after{content:"";position:absolute;left:12%;right:12%;bottom:2%;height:8%;background:rgba(10,80,80,.17);filter:blur(24px);border-radius:50%;z-index:-1}.hero-art img{width:min(620px,100%);margin:auto}.hero-copy{max-width:700px;position:relative;z-index:2}.hero-copy .lead{font-size:clamp(1.1rem,1.5vw,1.45rem);font-weight:500}.hero-copy>p:not(.eyebrow):not(.lead){color:var(--muted)}.hero-meta{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0}.hero-meta span{font-size:.78rem;color:var(--teal-dark);background:#eaf8f6;padding:6px 13px;border-radius:99px}.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.scroll-cue{position:absolute;bottom:24px;right:5vw;font-family:"DM Mono",monospace;color:var(--teal);font-size:.65rem;letter-spacing:.16em;writing-mode:vertical-rl}.scroll-cue span{margin-top:7px}.section-teal{background:linear-gradient(120deg,#058f84,#34bbae);color:#fff;padding:100px 0}.section-teal h2{color:#fff}.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.problem-grid article{background:#fff;color:var(--ink);border-radius:22px;padding:34px;min-height:160px;display:flex;align-items:center;gap:22px;box-shadow:0 14px 35px rgba(4,69,64,.15)}.problem-grid p{margin:0;font-weight:500;line-height:1.7}.line-icon{border:1px solid var(--teal);color:var(--teal);width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-family:"DM Mono",monospace;font-size:1.3rem;flex:none}.center-note{text-align:center;margin:42px auto 0;max-width:820px;color:#e9fffb}.philosophy{padding:130px 0 100px}.statement{font-size:clamp(1.2rem,2vw,1.75rem);color:var(--ink);font-weight:500}.narrow>p:last-child{color:var(--muted)}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:80px}.value-grid article{padding:38px 48px;position:relative;border-right:1px dashed #9fd8d1}.value-grid article:last-child{border:0}.number{font-family:"DM Mono",monospace;color:var(--teal);font-size:2.6rem}.value-icon{float:right;color:var(--teal);font-size:2rem}.value-grid h3{font-size:1.3rem;margin:14px 0}.value-grid p{color:var(--muted);font-size:.92rem}.services{padding:110px 0;background:linear-gradient(#fbfdfc,#fff)}.section-title{margin-bottom:55px}.service-stack{display:grid;gap:18px}.service{color:#fff;border-radius:24px;min-height:270px;padding:45px 50px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;overflow:hidden;position:relative}.service>div:first-child{max-width:590px;position:relative;z-index:2}.service-green{background:linear-gradient(115deg,#65b90f,#86d527)}.service-blue{background:linear-gradient(115deg,#279bd5,#63c4ef)}.service-orange{background:linear-gradient(115deg,#f79d0c,#ffc34f)}.service-no{font-family:"DM Mono";border:1px solid #fff;border-radius:50%;width:50px;height:50px;display:grid;place-items:center;font-size:1.2rem}.service-en{font-family:"DM Mono";font-size:.72rem;letter-spacing:.12em;margin:18px 0 7px;opacity:.8}.service h3{font-size:clamp(1.5rem,2.4vw,2.3rem);margin-bottom:12px}.service p{max-width:550px}.service a{font-weight:600;border-bottom:1px solid rgba(255,255,255,.7)}.sample{height:210px;position:relative;transform:rotate(-5deg);filter:drop-shadow(0 20px 20px rgba(0,0,0,.18))}.sample-brochure{background:#fff;color:#267d4b;display:grid;grid-template-columns:repeat(3,1fr);padding:24px;gap:10px}.sample-brochure span{border:1px solid #b8e2b0;display:grid;place-items:center;font-family:"DM Mono";font-size:.75rem}.sample-company{background:#f9fcff;color:#3083af;padding:35px;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:15px}.sample-company strong{font-family:"DM Mono";font-size:1.3rem}.sample-company i{background:linear-gradient(160deg,#e9f7ff,#99cae3)}.sample-flyer{background:#fff7d9;color:#e76a22;padding:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:9px solid #fff}.sample-flyer b{font-family:"DM Mono"}.sample-flyer strong{font-size:1.6rem}.sample-flyer small{font-size:1.3rem}.other-services{text-align:center;margin-top:70px}.other-services h3{font-size:1.6rem;color:var(--teal)}.other-services div{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.other-services span{border:1px solid var(--line);padding:11px 20px;border-radius:99px;color:var(--teal)}.works{padding:120px 0}.section-title.row{display:flex;justify-content:space-between;align-items:flex-end;gap:50px}.section-title.row>p{max-width:470px;color:var(--muted)}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.work-card{border:1px solid #e4efed;border-radius:22px;padding:14px 14px 25px;box-shadow:0 15px 50px rgba(15,72,69,.07)}.work-visual{aspect-ratio:4/3;border-radius:14px;display:grid;place-items:center;overflow:hidden}.work-visual.green{background:#76c91b}.work-visual.blue{background:#54b5e6}.work-visual.orange{background:#ffb124}.folded-paper,.book,.poster{width:70%;height:72%;background:#fff;box-shadow:0 18px 30px rgba(0,0,0,.2);transform:rotate(-7deg);padding:25px;display:flex;flex-direction:column;justify-content:space-between}.folded-paper b{color:#58a218;font-size:1.5rem}.folded-paper span{font-size:.8rem}.book{color:#3284ad;transform:rotate(5deg)}.book b{font-family:"DM Mono";font-size:1.2rem}.poster{color:#e76b21;text-align:center;align-items:center}.poster b{font-size:1.3rem}.poster span{font-family:"DM Mono"}.tag{display:inline-block;background:#eaf8f6;color:var(--teal);font-size:.7rem;padding:3px 11px;border-radius:99px;margin:20px 0 9px}.work-card h3{font-size:1.2rem;margin-bottom:8px}.work-card>p:last-child{font-size:.88rem;color:var(--muted)}.actions-center{justify-content:center}.profile{padding:110px 0;background:#f3fbf9}.profile-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw;align-items:center}.profile-art{padding:30px;position:relative}.profile-art:before{content:"";position:absolute;inset:0;border-radius:52% 48% 56% 44%;background:linear-gradient(135deg,#ffb721,#e6007e 45%,#198ccd)}.portrait-placeholder{aspect-ratio:4/5;position:relative;background:linear-gradient(160deg,#dff5f1,#fff);border-radius:48% 48% 12px 12px;display:grid;place-items:center;text-align:center;color:var(--teal);box-shadow:var(--shadow)}.portrait-placeholder span{font-family:"DM Mono";font-size:2rem}.portrait-placeholder small{position:absolute;bottom:24px}.profile-grid p{color:var(--muted)}.signature{border-top:1px solid var(--line);padding-top:20px}.signature strong{color:var(--ink)}.flow{padding:120px 0}.section-title.center{text-align:center}.flow-list{list-style:none;margin:60px 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.flow-list li{background:#fff;border:1px solid var(--line);border-radius:18px;padding:25px 20px;position:relative}.flow-list li:not(:last-child):after{content:"→";position:absolute;right:-14px;top:31px;color:var(--teal);z-index:2}.flow-list span{font-family:"DM Mono";color:var(--teal);font-size:1.5rem}.flow-list h3{font-size:1rem;margin:12px 0 8px}.flow-list p{font-size:.8rem;color:var(--muted);margin:0}.quality-note{margin-top:45px;border-left:4px solid var(--teal);background:#edf9f7;padding:34px 40px}.quality-note h3{color:var(--teal);font-size:1.35rem}.quality-note p{margin:0}.faq{padding:110px 0;background:#fbfdfc}.faq-list{width:min(900px,100%);margin:auto}.faq-list details{border-bottom:1px solid var(--line);padding:8px 0}.faq-list summary{list-style:none;cursor:pointer;padding:25px 60px 25px 10px;font-weight:600;color:var(--teal);position:relative}.faq-list summary:after{content:"＋";position:absolute;right:12px;top:20px;width:34px;height:34px;border:1px solid var(--teal);border-radius:50%;display:grid;place-items:center}.faq-list details[open] summary:after{content:"−"}.faq-list details p{background:#fff;border-radius:15px;padding:24px 30px;margin:0 0 18px;color:var(--muted);box-shadow:0 10px 30px rgba(16,87,82,.07)}.contact{background:linear-gradient(115deg,#078d83,#18b5a7);color:#fff;min-height:680px;position:relative;overflow:hidden;display:flex;align-items:center}.contact-ribbon{position:absolute;width:min(780px,58vw);right:-8%;bottom:-12%;filter:drop-shadow(0 25px 35px rgba(4,73,67,.24))}.contact-inner{position:relative;z-index:2;padding:100px 0}.contact h2,.contact .eyebrow{color:#fff}.contact-inner>p{max-width:650px}.contact .statement{color:#fff}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr .6fr;gap:50px;padding:65px 0}.footer-grid p{font-size:.85rem;color:var(--muted)}.footer-grid>div:last-child{display:flex;flex-direction:column;gap:5px;font-size:.85rem;color:var(--teal)}.footer-brand{font-size:1.3rem;margin-bottom:15px}.copyright{text-align:center;border-top:1px solid #e7f0ee;padding:18px;font-family:"DM Mono";font-size:.65rem;color:#78908e}.mobile-only{display:none}
@media(max-width:900px){.site-header{height:72px;padding:0 22px;grid-template-columns:1fr auto}.site-header nav,.site-header>.button{display:none}.menu-button{display:flex;width:42px;height:42px;border:0;background:none;flex-direction:column;justify-content:center;gap:7px}.menu-button span{width:25px;height:2px;background:var(--teal)}.mobile-nav{position:absolute;z-index:25;top:72px;left:0;right:0;background:#fff;padding:20px 24px;box-shadow:var(--shadow);flex-direction:column}.mobile-nav:not([hidden]){display:flex}.mobile-nav a{padding:10px;border-bottom:1px solid var(--line)}.hero{min-height:auto;grid-template-columns:1fr;padding:35px 24px 75px;gap:10px}.hero-art{order:0}.hero-art img{width:min(390px,90%)}.hero-copy{order:1}.hero-copy{text-align:center}.hero-copy h1{font-size:clamp(2.35rem,11vw,4.3rem)}.hero-meta,.actions{justify-content:center}.scroll-cue{display:none}.problem-grid,.value-grid,.work-grid,.profile-grid{grid-template-columns:1fr}.problem-grid article{min-height:130px}.value-grid article{border-right:0;border-bottom:1px dashed #9fd8d1;padding:32px 10px}.service{grid-template-columns:1fr;padding:36px 28px}.sample{margin-top:30px;height:170px}.section-title.row{display:block}.profile-art{width:min(420px,100%);margin:auto}.flow-list{grid-template-columns:1fr}.flow-list li:not(:last-child):after{content:"↓";right:24px;top:auto;bottom:-20px}.contact{min-height:820px;align-items:flex-start}.contact-ribbon{width:100%;max-width:590px;right:-16%;bottom:-5%}.contact-inner{padding:90px 0 360px}.footer-grid{grid-template-columns:1fr}.mobile-only{display:block}}
@media(max-width:520px){body{font-size:15px}.section-inner,.narrow{width:min(100% - 36px,1180px)}h2{font-size:2.05rem}.section-teal,.philosophy,.services,.works,.profile,.flow,.faq{padding:82px 0}.problem-grid article{padding:25px 22px}.service{border-radius:18px}.service h3{font-size:1.45rem}.sample{height:145px}.work-grid{gap:18px}.contact .actions{align-items:stretch}.contact .button{width:100%}}

/* 2026 editorial art direction: generous whitespace, quiet typography, bold image balance */
:root{--font-display:"Shippori Mincho",serif;--font-body:"Zen Kaku Gothic New",sans-serif;--font-latin:"Space Grotesk",sans-serif}
body{font-family:var(--font-body);line-height:1.95;letter-spacing:.025em}
.brand{display:flex;align-items:center;font-family:inherit;letter-spacing:0}
.brand img{width:129px;height:29px;object-fit:contain}
.site-header nav{font-weight:500;letter-spacing:.04em}
.eyebrow,.scroll-cue,.number,.service-no,.service-en,.sample-brochure span,.sample-company strong,.sample-flyer b,.book b,.poster span,.flow-list span,.copyright{font-family:var(--font-latin),sans-serif}
.eyebrow{font-size:.72rem;font-weight:500;letter-spacing:.22em;margin-bottom:18px}
h1,h2{font-family:var(--font-display);font-weight:500;letter-spacing:.055em;line-height:1.55}
h1{font-size:clamp(2.25rem,4.15vw,4.65rem);margin-bottom:28px}
h2{font-size:clamp(2rem,3.25vw,3.65rem)}
.statement{font-family:var(--font-display);font-weight:500;letter-spacing:.045em;line-height:1.85}
.hero{grid-template-columns:minmax(470px,.9fr) minmax(520px,1.1fr);grid-template-areas:"copy art";gap:1vw;padding:52px 0 82px clamp(32px,7vw,120px)}
.hero-copy{grid-area:copy;max-width:680px}
.hero-art{grid-area:art;align-self:stretch;display:flex;align-items:center;justify-content:flex-end}
.hero-art img{width:min(760px,112%);max-width:none;margin-right:-7%;transform:translateY(2%)}
.hero-copy .lead{font-family:var(--font-display);font-weight:500;letter-spacing:.04em;line-height:1.9}
.service{border-radius:18px;min-height:300px;padding:48px 56px}
.service:nth-child(2){width:94%;margin-left:6%}
.service:nth-child(3){width:97%;margin-left:1.5%}
.sample{height:235px;transform:rotate(-4deg) translate(7%,2%)}
.work-card{border-radius:8px;padding:0 0 27px;overflow:hidden;background:#fff}
.work-card>p,.work-card>h3{margin-left:22px;margin-right:22px}
.work-visual{border-radius:0;aspect-ratio:1.38/1}
.profile-grid{grid-template-columns:1fr 1.15fr}
.footer-brand img{width:154px;height:auto}
@media(min-width:901px){.hero:after{content:"";position:absolute;right:-5vw;bottom:-5vw;width:20vw;height:20vw;border:1px solid rgba(7,157,145,.15);border-radius:50%;pointer-events:none}.section-title.row{padding-left:4vw}.work-grid article:nth-child(2){transform:translateY(28px)}.work-grid article:nth-child(3){transform:translateY(-16px)}}
@media(max-width:900px){.hero{grid-template-columns:1fr;grid-template-areas:"art" "copy";padding:30px 24px 75px}.hero-art img{width:min(430px,103%);margin:0 auto;transform:none}.service:nth-child(2),.service:nth-child(3){width:100%;margin-left:0}.sample{transform:rotate(-3deg)}}

/* First-view typography and heart assembly */
.hero-copy h1{font-size:clamp(3rem,4.9vw,5.55rem);line-height:1.28;letter-spacing:-.045em;margin:0 0 30px}
.hero-copy h1 span{display:block;white-space:nowrap}
.hero-copy h1 span:nth-child(2){padding-left:.38em}
.hero-copy h1 span:nth-child(3){padding-left:1.02em}
.hero-copy h1 em{letter-spacing:-.08em}
.hero-copy .lead{font-size:clamp(1.25rem,1.65vw,1.62rem);line-height:1.72;letter-spacing:.015em;margin-bottom:18px}
.hero-copy>p:not(.eyebrow):not(.lead){font-size:1.02rem;line-height:1.9}
.hero-art{min-height:590px}
.heart-assembly{position:relative;width:min(760px,112%);aspect-ratio:1/1;margin-right:-7%;transform:translateY(2%);isolation:isolate}
.heart-piece{position:absolute;inset:0;width:100%!important;height:100%;max-width:none!important;margin:0!important;object-fit:contain;transform:none!important;filter:drop-shadow(0 20px 28px rgba(13,80,79,.12));will-change:transform,opacity,filter}
.piece-1{clip-path:polygon(0 0,50% 0,50% 34%,0 56%);animation:heart-in-1 1.55s cubic-bezier(.16,.8,.22,1) .08s both}
.piece-2{clip-path:polygon(50% 0,100% 0,100% 53%,50% 34%);animation:heart-in-2 1.65s cubic-bezier(.16,.8,.22,1) .15s both}
.piece-3{clip-path:polygon(0 56%,50% 34%,50% 67%,0 100%);animation:heart-in-3 1.6s cubic-bezier(.16,.8,.22,1) .24s both}
.piece-4{clip-path:polygon(50% 34%,100% 53%,100% 100%,50% 67%);animation:heart-in-4 1.7s cubic-bezier(.16,.8,.22,1) .3s both}
.piece-5{clip-path:polygon(0 0,0 100%,50% 67%,50% 100%,0 100%);animation:heart-in-5 1.5s cubic-bezier(.16,.8,.22,1) .38s both}
.piece-6{clip-path:polygon(50% 67%,100% 100%,50% 100%);animation:heart-in-6 1.55s cubic-bezier(.16,.8,.22,1) .45s both}
.heart-spark{position:absolute;width:11px;height:11px;border-radius:50%;background:var(--pink);opacity:0;box-shadow:0 0 0 7px rgba(237,8,122,.08);animation:spark-arrive 1.1s ease-out 1.45s both}
.spark-1{left:9%;top:26%;background:#ffb124}.spark-2{right:8%;top:22%;animation-delay:1.6s}.spark-3{right:11%;bottom:24%;background:#45aee5;animation-delay:1.72s}.spark-4{left:15%;bottom:17%;background:#72c916;animation-delay:1.84s}
@keyframes heart-in-1{from{opacity:0;transform:translate(-34%,-24%) rotate(-7deg) scale(.72);filter:blur(8px)}to{opacity:1;transform:none;filter:drop-shadow(0 20px 28px rgba(13,80,79,.12))}}
@keyframes heart-in-2{from{opacity:0;transform:translate(34%,-27%) rotate(8deg) scale(.76);filter:blur(8px)}to{opacity:1;transform:none;filter:drop-shadow(0 20px 28px rgba(13,80,79,.12))}}
@keyframes heart-in-3{from{opacity:0;transform:translate(-38%,20%) rotate(6deg) scale(.75);filter:blur(7px)}to{opacity:1;transform:none;filter:drop-shadow(0 20px 28px rgba(13,80,79,.12))}}
@keyframes heart-in-4{from{opacity:0;transform:translate(38%,22%) rotate(-6deg) scale(.72);filter:blur(7px)}to{opacity:1;transform:none;filter:drop-shadow(0 20px 28px rgba(13,80,79,.12))}}
@keyframes heart-in-5{from{opacity:0;transform:translate(-28%,42%) rotate(-4deg) scale(.78);filter:blur(6px)}to{opacity:1;transform:none;filter:drop-shadow(0 20px 28px rgba(13,80,79,.12))}}
@keyframes heart-in-6{from{opacity:0;transform:translate(25%,46%) rotate(5deg) scale(.78);filter:blur(6px)}to{opacity:1;transform:none;filter:drop-shadow(0 20px 28px rgba(13,80,79,.12))}}
@keyframes spark-arrive{0%{opacity:0;transform:translate(var(--sx,18px),var(--sy,-24px)) scale(.2)}55%{opacity:1;transform:translate(0,0) scale(1.25)}100%{opacity:.72;transform:scale(.8)}}
@media(max-width:1180px) and (min-width:901px){.hero{grid-template-columns:minmax(420px,.95fr) minmax(440px,1.05fr)}.hero-copy h1{font-size:clamp(2.75rem,4.6vw,4.5rem)}}
@media(max-width:900px){.hero-art{min-height:auto}.heart-assembly{width:min(430px,103%);margin:0 auto;transform:none}.hero-copy h1{font-size:clamp(2.65rem,11.3vw,4.35rem);line-height:1.32}.hero-copy h1 span{white-space:normal}.hero-copy h1 span:nth-child(2){padding-left:0}.hero-copy h1 span:nth-child(3){padding-left:.65em}}
@media(max-width:520px){.hero-copy h1{font-size:clamp(2.3rem,10.8vw,3.35rem);letter-spacing:-.055em}.hero-copy .lead{font-size:1.15rem}.heart-spark{width:8px;height:8px}}
@media(prefers-reduced-motion:reduce){.heart-piece,.heart-spark{animation:none!important}.heart-spark{opacity:.7}}

/* Individually designed ornaments assemble before the exact final heart appears. */
.heart-final{position:absolute;inset:0;width:100%!important;height:100%;max-width:none!important;margin:0!important;object-fit:contain;transform:none!important;opacity:0;filter:drop-shadow(0 20px 28px rgba(13,80,79,.12));animation:final-heart 1.05s cubic-bezier(.16,.8,.22,1) 2.1s both;z-index:3}
.assembly-part{position:absolute;left:var(--l);top:var(--t);width:var(--w,24%);aspect-ratio:1;background-image:url("heart-parts-v1.webp");background-size:400% 400%;background-position:var(--bp);background-repeat:no-repeat;z-index:2;opacity:0;filter:drop-shadow(0 8px 10px rgba(9,73,71,.16));animation:ornament-arrive 2.75s cubic-bezier(.16,.82,.2,1) var(--delay) both;will-change:transform,opacity}
.ap-1{--bp:0% 0%;--l:16%;--t:19%;--w:32%;--fx:-105%;--fy:-95%;--r:-24deg;--delay:.02s}.ap-2{--bp:33.333% 0%;--l:38%;--t:28%;--w:33%;--fx:12%;--fy:-130%;--r:20deg;--delay:.08s}.ap-3{--bp:66.667% 0%;--l:44%;--t:43%;--w:34%;--fx:100%;--fy:-100%;--r:-22deg;--delay:.14s}.ap-4{--bp:100% 0%;--l:32%;--t:55%;--w:34%;--fx:120%;--fy:82%;--r:26deg;--delay:.2s}
.ap-5{--bp:0% 33.333%;--l:20%;--t:49%;--w:28%;--fx:-135%;--fy:18%;--r:-45deg;--delay:.12s}.ap-6{--bp:33.333% 33.333%;--l:58%;--t:22%;--w:27%;--fx:110%;--fy:-65%;--r:42deg;--delay:.18s}.ap-7{--bp:66.667% 33.333%;--l:55%;--t:52%;--w:27%;--fx:125%;--fy:30%;--r:-35deg;--delay:.24s}.ap-8{--bp:100% 33.333%;--l:14%;--t:37%;--w:22%;--fx:-145%;--fy:-15%;--r:38deg;--delay:.3s}
.ap-9{--bp:0% 66.667%;--l:34%;--t:16%;--w:17%;--fx:-30%;--fy:-165%;--r:-40deg;--delay:.22s}.ap-10{--bp:33.333% 66.667%;--l:43%;--t:60%;--w:15%;--fx:15%;--fy:150%;--r:50deg;--delay:.28s}.ap-11{--bp:66.667% 66.667%;--l:66%;--t:42%;--w:16%;--fx:165%;--fy:-15%;--r:-42deg;--delay:.34s}.ap-12{--bp:100% 66.667%;--l:47%;--t:35%;--w:22%;--fx:130%;--fy:115%;--r:34deg;--delay:.4s}
.ap-13{--bp:0% 100%;--l:18%;--t:29%;--w:22%;--fx:-155%;--fy:90%;--r:-38deg;--delay:.32s}.ap-14{--bp:33.333% 100%;--l:62%;--t:32%;--w:22%;--fx:150%;--fy:85%;--r:43deg;--delay:.38s}.ap-15{--bp:66.667% 100%;--l:36%;--t:44%;--w:22%;--fx:-65%;--fy:155%;--r:-55deg;--delay:.44s}.ap-16{--bp:100% 100%;--l:51%;--t:17%;--w:22%;--fx:72%;--fy:-155%;--r:48deg;--delay:.5s}
@keyframes ornament-arrive{0%{opacity:0;transform:translate(var(--fx),var(--fy)) rotate(var(--r)) scale(.3)}20%{opacity:1}58%,78%{opacity:1;transform:translate(0,0) rotate(0) scale(1)}100%{opacity:0;transform:translate(0,0) rotate(0) scale(.94)}}
@keyframes final-heart{0%{opacity:0;transform:scale(.88);filter:blur(5px) drop-shadow(0 20px 28px rgba(13,80,79,.08))}100%{opacity:1;transform:scale(1);filter:blur(0) drop-shadow(0 20px 28px rgba(13,80,79,.12))}}
@media(prefers-reduced-motion:reduce){.assembly-part{display:none}.heart-final{animation:none;opacity:1}.heart-spark{animation:none!important;opacity:.7}}

/* Smooth continuous handoff: ornaments are absorbed while the finished heart resolves. */
.heart-assembly:before{content:"";position:absolute;inset:14%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.7) 0,rgba(7,157,145,.11) 36%,transparent 69%);opacity:0;transform:scale(.52);z-index:1;animation:assembly-aura 3.8s cubic-bezier(.22,.68,.2,1) .15s both}
.assembly-part{animation-name:ornament-flow;animation-duration:3.65s;animation-timing-function:cubic-bezier(.18,.72,.18,1);animation-fill-mode:both}
.heart-final{animation:final-reveal 3.7s cubic-bezier(.18,.72,.18,1) .2s both,heart-breathe 5.2s ease-in-out 3.9s infinite}
.heart-spark{animation-name:spark-finish;animation-duration:1.45s;animation-timing-function:cubic-bezier(.16,.8,.22,1);animation-fill-mode:both}
.spark-1{animation-delay:2.72s}.spark-2{animation-delay:2.86s}.spark-3{animation-delay:3s}.spark-4{animation-delay:3.14s}
@keyframes ornament-flow{0%{opacity:0;transform:translate(var(--fx),var(--fy)) rotate(var(--r)) scale(.22);filter:blur(7px) drop-shadow(0 5px 8px rgba(9,73,71,.08))}14%{opacity:.92;filter:blur(0) drop-shadow(0 8px 10px rgba(9,73,71,.16))}58%{opacity:1;transform:translate(0,0) rotate(0) scale(1.04)}76%{opacity:.82;transform:translate(0,0) rotate(0) scale(.985)}100%{opacity:0;transform:translate(0,0) rotate(0) scale(.86);filter:blur(2px) drop-shadow(0 2px 5px rgba(9,73,71,.05))}}
@keyframes final-reveal{0%,20%{opacity:0;transform:scale(.82);filter:blur(12px) saturate(.75) drop-shadow(0 10px 18px rgba(13,80,79,.04))}48%{opacity:.16;transform:scale(.91);filter:blur(8px) saturate(.86) drop-shadow(0 14px 22px rgba(13,80,79,.07))}72%{opacity:.68;transform:scale(.985);filter:blur(2.5px) saturate(.96) drop-shadow(0 18px 26px rgba(13,80,79,.1))}88%{opacity:1;transform:scale(1.012);filter:blur(0) saturate(1.03) drop-shadow(0 22px 30px rgba(13,80,79,.14))}100%{opacity:1;transform:scale(1);filter:blur(0) saturate(1) drop-shadow(0 20px 28px rgba(13,80,79,.12))}}
@keyframes assembly-aura{0%,18%{opacity:0;transform:scale(.52)}58%{opacity:.8;transform:scale(.92)}82%{opacity:.38;transform:scale(1.08)}100%{opacity:0;transform:scale(1.18)}}
@keyframes spark-finish{0%{opacity:0;transform:translate(var(--sx,18px),var(--sy,-24px)) scale(.15)}45%{opacity:1;transform:translate(0,0) scale(1.35)}72%{opacity:.9;transform:scale(.75)}100%{opacity:.62;transform:scale(.82)}}
@keyframes heart-breathe{0%,100%{transform:scale(1) translateY(0)}50%{transform:scale(1.008) translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.heart-assembly:before{display:none}.assembly-part{display:none}.heart-final{animation:none;opacity:1;transform:none}.heart-spark{animation:none!important;opacity:.7}}

/* Added ornament field: 40 pieces in three depth layers. */
.depth-back{z-index:1;filter:blur(.45px) drop-shadow(0 4px 7px rgba(9,73,71,.09))}.depth-mid{z-index:2}.depth-front{z-index:4;filter:drop-shadow(0 10px 14px rgba(9,73,71,.18))}
.ap-17{--bp:0% 66.667%;--l:27%;--t:23%;--w:11%;--fx:-220%;--fy:-165%;--r:-85deg;--delay:.03s}.ap-18{--bp:33.333% 66.667%;--l:54%;--t:20%;--w:10%;--fx:195%;--fy:-210%;--r:92deg;--delay:.09s}.ap-19{--bp:66.667% 66.667%;--l:72%;--t:35%;--w:12%;--fx:240%;--fy:-55%;--r:-105deg;--delay:.15s}.ap-20{--bp:100% 66.667%;--l:13%;--t:45%;--w:14%;--fx:-245%;--fy:25%;--r:110deg;--delay:.21s}
.ap-21{--bp:0% 100%;--l:24%;--t:61%;--w:13%;--fx:-205%;--fy:175%;--r:-95deg;--delay:.27s}.ap-22{--bp:33.333% 100%;--l:61%;--t:59%;--w:12%;--fx:205%;--fy:185%;--r:88deg;--delay:.33s}.ap-23{--bp:66.667% 100%;--l:42%;--t:70%;--w:12%;--fx:-35%;--fy:250%;--r:-115deg;--delay:.39s}.ap-24{--bp:100% 100%;--l:49%;--t:11%;--w:12%;--fx:20%;--fy:-260%;--r:120deg;--delay:.45s}
.ap-25{--bp:100% 33.333%;--l:29%;--t:32%;--w:13%;--fx:-185%;--fy:-115%;--r:-72deg;--delay:.13s}.ap-26{--bp:0% 33.333%;--l:63%;--t:40%;--w:16%;--fx:190%;--fy:-70%;--r:78deg;--delay:.19s}.ap-27{--bp:33.333% 33.333%;--l:25%;--t:54%;--w:15%;--fx:-195%;--fy:95%;--r:-82deg;--delay:.25s}.ap-28{--bp:66.667% 33.333%;--l:54%;--t:62%;--w:14%;--fx:160%;--fy:155%;--r:76deg;--delay:.31s}
.ap-29{--bp:0% 66.667%;--l:19%;--t:36%;--w:9%;--fx:-250%;--fy:-35%;--r:-130deg;--delay:.37s}.ap-30{--bp:33.333% 66.667%;--l:69%;--t:49%;--w:9%;--fx:250%;--fy:30%;--r:135deg;--delay:.43s}.ap-31{--bp:66.667% 66.667%;--l:38%;--t:27%;--w:10%;--fx:-65%;--fy:-230%;--r:-140deg;--delay:.49s}.ap-32{--bp:100% 66.667%;--l:47%;--t:72%;--w:11%;--fx:50%;--fy:235%;--r:145deg;--delay:.55s}
.ap-33{--bp:0% 0%;--l:10%;--t:24%;--w:20%;--fx:-210%;--fy:-120%;--r:-65deg;--delay:.18s}.ap-34{--bp:33.333% 0%;--l:62%;--t:15%;--w:19%;--fx:185%;--fy:-165%;--r:70deg;--delay:.26s}.ap-35{--bp:66.667% 0%;--l:15%;--t:59%;--w:18%;--fx:-220%;--fy:145%;--r:-78deg;--delay:.34s}.ap-36{--bp:100% 0%;--l:66%;--t:57%;--w:18%;--fx:210%;--fy:150%;--r:82deg;--delay:.42s}
.ap-37{--bp:0% 33.333%;--l:35%;--t:50%;--w:18%;--fx:-105%;--fy:220%;--r:-96deg;--delay:.5s}.ap-38{--bp:33.333% 33.333%;--l:48%;--t:29%;--w:17%;--fx:95%;--fy:-230%;--r:102deg;--delay:.58s}.ap-39{--bp:0% 100%;--l:28%;--t:42%;--w:12%;--fx:-260%;--fy:5%;--r:-150deg;--delay:.66s}.ap-40{--bp:66.667% 100%;--l:59%;--t:46%;--w:12%;--fx:260%;--fy:-5%;--r:155deg;--delay:.74s}
@media(max-width:520px){.depth-back{display:none}.assembly-part{animation-duration:3.45s}}

/* Japanese line breaks follow meaning rather than available character width. */
h1,h2,h3,.lead,.statement{word-break:keep-all;overflow-wrap:anywhere;line-break:strict}
.hero-copy h1 span:nth-child(2){padding-left:.48em}.hero-copy h1 span:nth-child(3){padding-left:1.08em}
@media(max-width:900px){.hero-copy h1 span{white-space:nowrap}.hero-copy h1 span:nth-child(2){padding-left:.35em}.hero-copy h1 span:nth-child(3){padding-left:.7em}}
@media(max-width:520px){.hero-copy h1{font-size:clamp(2.02rem,9.15vw,3.1rem);line-height:1.38;letter-spacing:-.055em}.hero-copy h1 span:nth-child(2){padding-left:.3em}.hero-copy h1 span:nth-child(3){padding-left:.45em}}

/* Story motion: wishes drift inward, bloom, and are gently embraced into one heart. */
.heart-assembly:after{content:"";position:absolute;inset:0;background:url("hero-heart.webp") center/contain no-repeat;opacity:0;z-index:2;pointer-events:none;filter:blur(18px) saturate(.65) hue-rotate(8deg);clip-path:circle(5% at 50% 53%);animation:embracing-light 6.25s cubic-bezier(.2,.66,.2,1) .15s both}
.heart-assembly:before{display:block;background:radial-gradient(circle,rgba(255,255,255,.92) 0,rgba(66,207,190,.22) 30%,rgba(7,157,145,.08) 52%,transparent 72%);animation:gentle-aura 6.2s cubic-bezier(.2,.66,.2,1) both}
.assembly-part{animation-name:wish-gather;animation-duration:5.75s;animation-timing-function:cubic-bezier(.2,.68,.18,1);animation-fill-mode:both}
.ap-5,.ap-6,.ap-7,.ap-26,.ap-27,.ap-28,.ap-37,.ap-38{animation-name:flower-bloom}
.heart-final{animation:heart-born 6.2s cubic-bezier(.2,.66,.2,1) .1s both,heart-breathe 5.6s ease-in-out 6.3s infinite}
.heart-spark{animation-name:hope-glow;animation-duration:2.1s;animation-fill-mode:both}.spark-1{animation-delay:4.35s}.spark-2{animation-delay:4.55s}.spark-3{animation-delay:4.75s}.spark-4{animation-delay:4.95s}
@keyframes wish-gather{0%{opacity:0;transform:translate(var(--fx),var(--fy)) rotate(var(--r)) scale(.28);filter:blur(4px) drop-shadow(0 3px 6px rgba(9,73,71,.05))}12%{opacity:.72}35%{opacity:.92;transform:translate(38%,-22%) rotate(14deg) scale(.62);filter:blur(.8px) drop-shadow(0 6px 9px rgba(9,73,71,.1))}66%{opacity:1;transform:translate(-9%,12%) rotate(-5deg) scale(.9);filter:blur(0) drop-shadow(0 8px 12px rgba(9,73,71,.14))}84%{opacity:.96;transform:translate(0,0) rotate(0) scale(1.025)}100%{opacity:0;transform:translate(0,0) rotate(0) scale(.94);filter:blur(1.5px) drop-shadow(0 2px 5px rgba(9,73,71,.04))}}
@keyframes flower-bloom{0%{opacity:0;transform:translate(var(--fx),var(--fy)) rotate(var(--r)) scale(.12)}32%{opacity:.88;transform:translate(-32%,24%) rotate(-16deg) scale(.48)}67%{opacity:1;transform:translate(8%,-10%) rotate(5deg) scale(.86)}84%{opacity:1;transform:translate(0,0) rotate(0) scale(1.12)}92%{opacity:.78;transform:translate(0,0) rotate(0) scale(1)}100%{opacity:0;transform:scale(.94)}}
@keyframes embracing-light{0%,43%{opacity:0;clip-path:circle(5% at 50% 53%);transform:scale(.86)}58%{opacity:.28;clip-path:circle(32% at 50% 53%);transform:scale(.92)}78%{opacity:.42;clip-path:circle(68% at 50% 53%);transform:scale(1.025)}100%{opacity:0;clip-path:circle(76% at 50% 53%);transform:scale(1)}}
@keyframes gentle-aura{0%,38%{opacity:0;transform:scale(.48)}62%{opacity:.72;transform:scale(.82)}82%{opacity:.34;transform:scale(1.04)}100%{opacity:0;transform:scale(1.12)}}
@keyframes heart-born{0%,52%{opacity:0;transform:scale(.86);filter:blur(10px) saturate(.8)}68%{opacity:.22;transform:scale(.93);filter:blur(6px) saturate(.9)}84%{opacity:.78;transform:scale(1.01);filter:blur(1px) saturate(1.03)}100%{opacity:1;transform:scale(1);filter:blur(0) saturate(1) drop-shadow(0 20px 28px rgba(13,80,79,.12))}}
@keyframes hope-glow{0%{opacity:0;transform:scale(.2)}42%{opacity:1;transform:scale(1.38)}72%{opacity:.88;transform:scale(.78)}100%{opacity:.62;transform:scale(.84)}}
@media(prefers-reduced-motion:reduce){.heart-assembly:after,.heart-assembly:before{display:none}.assembly-part{display:none}.heart-final{animation:none;opacity:1;transform:none}}

/* Art-directed motion layer. CSS above remains the graceful no-script fallback. */
.embrace-orbit{display:none;position:absolute;left:8%;top:14%;width:84%;height:72%;border-radius:50%;z-index:4;opacity:0;pointer-events:none;background:conic-gradient(from 210deg,transparent 0 15%,rgba(84,211,196,.08) 22%,rgba(0,151,139,.72) 31%,rgba(255,255,255,.85) 35%,rgba(0,151,139,.18) 42%,transparent 52% 100%);-webkit-mask:radial-gradient(ellipse,transparent 0 67%,#000 69% 71%,transparent 73%);mask:radial-gradient(ellipse,transparent 0 67%,#000 69% 71%,transparent 73%);filter:drop-shadow(0 0 12px rgba(7,157,145,.35))}
.story-master .embrace-orbit{display:block}.story-master .orbit-a{animation:orbit-embrace 7.2s cubic-bezier(.18,.7,.18,1) .15s both}.story-master .orbit-b{transform:rotate(180deg) scale(.9);animation:orbit-embrace-b 7.2s cubic-bezier(.18,.7,.18,1) .45s both}
.story-master .assembly-part{animation:none;opacity:0}.story-master .heart-final{animation:none;opacity:0}.story-master:before,.story-master:after{animation:none;opacity:0}
.story-master .heart-spark{animation:master-spark 1.8s cubic-bezier(.16,.8,.22,1) both}.story-master .spark-1{animation-delay:5.15s}.story-master .spark-2{animation-delay:5.35s}.story-master .spark-3{animation-delay:5.55s}.story-master .spark-4{animation-delay:5.75s}
.story-master.motion-complete .heart-final{opacity:1;animation:master-breathe 6s ease-in-out infinite}
@keyframes orbit-embrace{0%,28%{opacity:0;transform:rotate(-150deg) scale(.62)}52%{opacity:.42}76%{opacity:.92;transform:rotate(28deg) scale(1.01)}91%{opacity:.28;transform:rotate(48deg) scale(1.045)}100%{opacity:0;transform:rotate(58deg) scale(1.07)}}
@keyframes orbit-embrace-b{0%,36%{opacity:0;transform:rotate(35deg) scale(.58)}62%{opacity:.34}82%{opacity:.72;transform:rotate(205deg) scale(.94)}100%{opacity:0;transform:rotate(230deg) scale(1.04)}}
@keyframes master-spark{0%{opacity:0;transform:scale(.15)}45%{opacity:1;transform:scale(1.5)}72%{opacity:.9;transform:scale(.72)}100%{opacity:.62;transform:scale(.84)}}
@keyframes master-breathe{0%,100%{transform:translateY(0) scale(1);filter:drop-shadow(0 20px 28px rgba(13,80,79,.12))}50%{transform:translateY(-3px) scale(1.008);filter:drop-shadow(0 24px 34px rgba(13,80,79,.16))}}
@media(prefers-reduced-motion:reduce){.story-master .embrace-orbit,.story-master .assembly-part,.story-master .heart-spark{display:none}.story-master .heart-final{display:block;opacity:1;animation:none;transform:none}}

/* 2026 conversion-led editorial redesign */
:root{--teal:#079c90;--deep:#123b3a;--paper:#f7faf7;--lime:#78c91d;--blue:#43aee3;--orange:#ffb326;--pink:#ec167d;--rule:rgba(18,59,58,.14)}
body{font-family:"Noto Sans JP",sans-serif;color:var(--deep);font-size:16px;line-height:1.9;background:#fff}h1,h2{font-family:"Shippori Mincho",serif;letter-spacing:-.035em}.eyebrow{font-family:"DM Sans",sans-serif;font-weight:600;letter-spacing:.2em}.site-header{height:82px;position:sticky;top:0;padding:0 clamp(22px,5vw,76px);backdrop-filter:blur(14px);z-index:50}.brand img{width:145px;height:auto}.site-header nav{font-family:"DM Sans","Noto Sans JP",sans-serif;font-size:.78rem;letter-spacing:.02em}.hero{min-height:calc(100svh - 82px);grid-template-columns:minmax(430px,1fr) minmax(520px,1.05fr);gap:3vw;padding:38px clamp(24px,6vw,100px) 70px;background:linear-gradient(135deg,#fff 0 65%,#f0faf7 100%)}.hero-art{min-height:570px}.heart-assembly{width:min(690px,110%);margin-left:-5%}.hero-copy{max-width:720px}.hero-copy h1{font-size:clamp(3.3rem,5.15vw,6.1rem);line-height:1.21;margin-bottom:28px}.hero-copy h1 span,.hero-copy h1 em{display:block;white-space:nowrap;padding:0!important}.hero-copy h1 em{color:var(--teal);font-style:normal;margin-left:.55em}.hero-lead{font-size:clamp(1.15rem,1.55vw,1.45rem);font-weight:600;line-height:1.75}.hero-body{max-width:620px;color:#506c6a;line-height:2}.proof-strip{display:flex;gap:0;margin:28px 0 32px;border-block:1px solid var(--rule);padding:13px 0}.proof-strip span{padding:0 20px;border-right:1px solid var(--rule);font-size:.78rem;color:#607775}.proof-strip span:first-child{padding-left:0}.proof-strip span:last-child{border:0}.proof-strip b{color:var(--deep);font-size:1.04rem;margin-right:6px}.text-link{display:inline-flex;align-items:center;min-height:54px;padding:0 8px;border-bottom:1px solid var(--teal);color:var(--teal);font-weight:600}.intro{padding:140px 0}.intro-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:9vw;align-items:start}.intro h2,.section-heading h2{font-size:clamp(2.6rem,4.5vw,5.1rem);line-height:1.35;color:var(--teal)}.large-copy{font-size:1.25rem;font-weight:600;line-height:1.9}.reason-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:95px;border-top:1px solid var(--rule)}.reason-grid article{padding:42px 38px;border-right:1px solid var(--rule)}.reason-grid article:last-child{border:0}.reason-grid span{font-family:"DM Sans";font-size:2.8rem;color:var(--teal);font-weight:500}.reason-grid h3{font-size:1.35rem}.reason-grid p{color:#5c7472}.services{padding:120px 0;background:#eff8f5}.section-heading{display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:8vw;margin-bottom:60px}.section-heading h2{margin:0}.section-heading>p{color:#5c7472}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.service-card{min-height:360px;padding:44px 48px;color:#fff;display:flex;flex-direction:column;align-items:flex-start;position:relative;overflow:hidden;transition:.35s;border-radius:4px}.service-card:after{content:"";position:absolute;width:240px;height:240px;border:1px solid rgba(255,255,255,.38);border-radius:50%;right:-90px;bottom:-100px;transition:.5s}.service-card:hover{transform:translateY(-5px);box-shadow:0 25px 50px rgba(18,59,58,.16)}.service-card:hover:after{transform:scale(1.2)}.service-card.green{background:#74c716}.service-card.blue{background:#3fa9df}.service-card.orange{background:#ffad22}.service-card.pink{background:#eb0877}.service-card>span{font:500 3rem "DM Sans"}.service-card small{letter-spacing:.16em;margin:35px 0 8px}.service-card h3{font-size:clamp(1.6rem,2.4vw,2.45rem);margin:0 0 14px}.service-card p{max-width:470px}.service-card b{margin-top:auto;border-bottom:1px solid rgba(255,255,255,.8)}.works{padding:140px 0}.featured-work{display:grid;grid-template-columns:1.25fr .75fr;min-height:570px;background:var(--deep);color:#fff;margin-bottom:20px;overflow:hidden}.featured-work figure{margin:0;background:#fff;padding:40px}.featured-work img{width:100%;height:100%;object-fit:contain}.featured-work>div{padding:70px 55px;display:flex;flex-direction:column;justify-content:center}.featured-work small{letter-spacing:.2em;color:#8ce2d8}.featured-work h3{font-family:"Shippori Mincho";font-size:clamp(2rem,3.4vw,3.7rem);line-height:1.45}.featured-work p{color:#c8dbd8}.featured-work .text-link{color:#fff;border-color:#fff;align-self:flex-start}.work-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;align-items:start}.work-grid figure{margin:0;background:#f5f7f5;padding:26px}.work-grid figure:nth-child(1){grid-column:span 7}.work-grid figure:nth-child(2){grid-column:span 5;margin-top:90px}.work-grid figure:nth-child(3){grid-column:span 5}.work-grid figure:nth-child(4){grid-column:span 7;margin-top:-30px}.work-grid figure:nth-child(5){grid-column:3/span 8}.work-grid img{width:100%;aspect-ratio:1.42/1;object-fit:contain;background:#fff}.work-grid figcaption{display:flex;justify-content:space-between;gap:20px;padding-top:18px}.work-grid figcaption span{color:#6a7c7b;font-size:.82rem}.evidence-note{font-size:.76rem;color:#71817f;margin-top:35px}.ideal{padding:110px 0;background:linear-gradient(125deg,#078d83,#20b6a9);color:#fff}.ideal h2{color:#fff;font-size:clamp(2.5rem,4vw,4.5rem)}.ideal-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:10vw}.ideal ul{list-style:none;margin:0;padding:0}.ideal li{font-size:1.12rem;padding:20px 0 20px 34px;border-bottom:1px solid rgba(255,255,255,.28);position:relative}.ideal li:before{content:"○";position:absolute;left:0;color:#bff7ee}.profile{padding:135px 0}.profile-grid{grid-template-columns:280px 1fr;gap:8vw;align-items:center;max-width:1000px}.profile-grid>img{width:230px;height:285px;object-fit:cover;object-position:center 15%;filter:saturate(.82);border-radius:2px}.profile h2{font-size:clamp(2.4rem,4vw,4.5rem)}.signature{border-top:1px solid var(--rule);padding-top:18px;margin-top:28px}.process{padding:120px 0;background:#f6f8f4}.process ol{list-style:none;padding:0;margin:70px 0 0;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--rule)}.process li{padding:30px 26px;border-right:1px solid var(--rule)}.process li:last-child{border:0}.process li span{font:500 2rem "DM Sans";color:var(--teal)}.process li p{color:#647674;font-size:.86rem}.faq{padding:130px 0}.faq .narrow{text-align:left}.faq h2{text-align:center;font-size:clamp(2.5rem,4vw,4.4rem)}.faq .eyebrow{text-align:center}.faq details{border-bottom:1px solid var(--rule);padding:24px 0}.faq summary{cursor:pointer;font-weight:600;font-size:1.08rem}.faq details p{color:#59716f;padding:14px 0 0 25px}.contact{padding:120px 0;background:var(--teal);color:#fff;position:relative;overflow:hidden}.contact>img{position:absolute;width:480px;right:-90px;bottom:-120px;opacity:.28}.contact-inner{position:relative}.contact h2{color:#fff;font-size:clamp(2.7rem,5vw,5.4rem)}.contact-lead{font-size:1.14rem}.microcopy{font-size:.78rem;color:#d7fffa;margin-top:20px}.button-light{background:#fff;color:var(--teal)}.button-ghost{background:transparent;border:1px solid #fff;color:#fff;box-shadow:none}footer{padding:70px 0 25px;background:#fff}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:50px}.footer-grid img{width:150px}.footer-grid a{display:block;margin-bottom:8px;font-size:.88rem}.copyright{text-align:center;border-top:1px solid var(--rule);padding-top:22px;margin-top:50px;font-size:.72rem;color:#71817f}
@media(max-width:900px){.site-header nav,.site-header>.button-small{display:none}.menu-button{display:block}.hero{grid-template-columns:1fr;grid-template-areas:"art" "copy";padding:15px 24px 70px}.hero-art{min-height:auto}.heart-assembly{width:min(430px,100%);margin:auto}.hero-copy h1{font-size:clamp(2.6rem,10.8vw,4.1rem)}.hero-copy h1 span,.hero-copy h1 em{white-space:normal}.hero-copy h1 em{margin-left:0}.hero-lead br{display:none}.proof-strip{flex-wrap:wrap}.proof-strip span{width:50%;margin:5px 0}.intro,.works,.profile,.faq{padding:90px 0}.intro-grid,.section-heading,.ideal-grid{grid-template-columns:1fr;gap:30px}.reason-grid{grid-template-columns:1fr}.reason-grid article{border-right:0;border-bottom:1px solid var(--rule)}.service-grid{grid-template-columns:1fr}.featured-work{grid-template-columns:1fr}.featured-work figure{padding:20px}.featured-work>div{padding:42px 28px}.work-grid{display:grid;grid-template-columns:1fr}.work-grid figure:nth-child(n){grid-column:auto;margin:0}.profile-grid{grid-template-columns:110px 1fr;gap:28px;align-items:start}.profile-grid>img{width:105px;height:135px}.process ol{grid-template-columns:1fr}.process li{border-right:0;border-bottom:1px solid var(--rule)}.footer-grid{grid-template-columns:1fr}.section-inner{width:min(100% - 40px,1180px)}}
@media(max-width:560px){.site-header{height:70px}.brand img{width:125px}.hero{min-height:auto}.hero-copy h1{font-size:clamp(2.35rem,10.3vw,3.3rem);line-height:1.34}.hero-copy .eyebrow{font-size:.64rem}.hero-body{font-size:.92rem}.proof-strip span{width:100%;border-right:0;padding-left:0}.actions{flex-direction:column;align-items:stretch}.actions .button,.actions .text-link{width:100%}.service-card{min-height:310px;padding:34px 28px}.work-grid figure{padding:15px}.work-grid figcaption{display:block}.work-grid figcaption span{display:block}.profile-grid{grid-template-columns:1fr}.profile-grid>img{width:92px;height:112px}.contact h2 br{display:none}}

.subpage .site-header{justify-content:space-between;display:flex}.subhero{padding:150px max(24px,calc((100vw - 1180px)/2)) 110px;background:linear-gradient(135deg,#f4fbf8,#fff);position:relative;overflow:hidden}.subhero:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(7,156,144,.18);border-radius:50%;right:-110px;top:-140px}.subhero h1{font-size:clamp(3rem,6vw,6.7rem);color:var(--teal);line-height:1.25;max-width:1100px}.subhero>p:last-child{max-width:720px;font-size:1.18rem;color:#516c69}.subcontent{width:min(1080px,calc(100% - 48px));margin:auto;padding:110px 0}.subcontent>h2{font-size:clamp(2.2rem,4vw,4.2rem);margin-top:70px}.subcontent>h2:first-child{margin-top:0}.subcontent>.button{margin-top:45px}.subvisual{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:70px 0;background:#f2f7f4;padding:35px}.subvisual.single{grid-template-columns:minmax(280px,650px);justify-content:center}.subvisual img{width:100%;max-height:650px;object-fit:contain;background:#fff}.archive-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.archive-grid figure{margin:0;padding:30px;background:#f3f6f3}.archive-grid img{width:100%;height:560px;object-fit:contain;background:#fff}.archive-grid figcaption{font-weight:600;padding-top:14px}@media(max-width:700px){.subhero{padding-top:100px}.subhero h1{font-size:clamp(2.45rem,11vw,4rem)}.subvisual,.archive-grid{grid-template-columns:1fr;padding:15px}.archive-grid img{height:auto}}
.hero-copy h1{font-size:clamp(2.8rem,4vw,4.8rem);line-height:1.26}
.hero-copy h1 span,.hero-copy h1 em{white-space:nowrap!important}
.hero-copy h1 span:nth-child(2){margin-left:.85em}
.hero-copy h1 em{margin-left:1.5em}
body{line-break:strict;word-break:normal;overflow-wrap:break-word}
@media(max-width:1180px) and (min-width:901px){.hero-copy h1{font-size:clamp(2.45rem,3.9vw,3.25rem)}.hero-copy h1 span:nth-child(2){margin-left:.6em}.hero-copy h1 em{margin-left:1.05em}}
@media(max-width:900px){.hero-copy h1{font-size:clamp(2.35rem,9.2vw,3.8rem);line-height:1.34}.hero-copy h1 span:nth-child(2){margin-left:.35em}.hero-copy h1 em{margin-left:.7em}}
@media(max-width:420px){.hero-copy h1{font-size:clamp(2.05rem,9.7vw,2.55rem);letter-spacing:-.06em}.hero-copy h1 span:nth-child(2){margin-left:.25em}.hero-copy h1 em{margin-left:.45em}}

/* Service posters: supplied artwork used as cropped editorial accents. */
.service-grid{gap:22px}
.service-card{min-height:430px;padding:0;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(190px,.72fr);align-items:stretch;border-radius:2px;isolation:isolate;box-shadow:0 14px 34px rgba(18,59,58,.09)}
.service-card:after{width:150px;height:150px;right:auto;left:-72px;bottom:-82px;border-color:rgba(255,255,255,.5);z-index:4}
.service-card:hover:after{transform:scale(1.45)}
.service-card .service-number{position:absolute;top:24px;right:28px;z-index:5;font:500 clamp(2.1rem,3vw,3.7rem)/1 "DM Sans",sans-serif;letter-spacing:-.05em;color:rgba(255,255,255,.9)}
.service-copy{position:relative;z-index:3;padding:54px 20px 42px 46px;display:flex;flex-direction:column;align-items:flex-start}
.service-card small{margin:50px 0 10px;font-size:.72rem;letter-spacing:.2em}
.service-card h3{font-family:"Shippori Mincho",serif;font-size:clamp(1.65rem,2.2vw,2.35rem);line-height:1.45;letter-spacing:-.035em}
.service-card p{font-size:.94rem;line-height:1.95;max-width:410px}
.service-card b{font-size:.9rem;letter-spacing:.06em;padding-bottom:4px}
.service-art{position:relative;z-index:2;overflow:hidden;background:#fff;border-left:1px solid rgba(255,255,255,.55)}
.service-art:before{content:"";position:absolute;inset:0;background-size:cover;background-position:center;opacity:.88;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.service-card:hover .service-art:before{transform:scale(1.055)}
.service-art img{position:absolute;z-index:2;width:70%;height:auto;left:15%;top:50%;transform:translateY(-50%) rotate(-4deg);box-shadow:0 18px 36px rgba(18,59,58,.18);transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.service-card:hover .service-art img{transform:translateY(-53%) rotate(-1deg) scale(1.035)}
.art-layout:before,.art-type:before{background-image:url("accent-color-glass.jpg");opacity:.5;filter:saturate(.72)}
.art-type img{transform:translateY(-50%) rotate(4deg)}
.service-card:hover .art-type img{transform:translateY(-53%) rotate(1deg) scale(1.035)}
.art-color:before{background-image:url("accent-heart-ribbon.jpg");background-position:72% center;opacity:.72}
.art-color img{width:74%;left:13%;transform:translateY(-50%) rotate(3deg)}
.service-card:hover .art-color img{transform:translateY(-53%) rotate(0) scale(1.035)}
.art-story{background:#fff url("accent-heart-bloom.jpg") center/cover no-repeat}
.art-story:before{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(13,49,48,.12))}
.service-card.pink .service-copy{background:linear-gradient(90deg,#eb0877 0%,#eb0877 82%,rgba(235,8,119,.9) 100%)}
@media(max-width:760px){.service-card{min-height:500px;grid-template-columns:1fr;grid-template-rows:220px 1fr}.service-art{grid-row:1;border-left:0;border-bottom:1px solid rgba(255,255,255,.55)}.service-copy{grid-row:2;padding:32px 26px 34px}.service-card small{margin:0 0 8px}.service-card .service-number{top:18px;right:20px}.service-art img{width:40%;max-width:150px;left:30%}.art-story{background-position:center}.service-card.pink .service-copy{background:#eb0877}}

/* Typography-led service composition. Imagery is intentionally reserved for other sections. */
.service-grid{gap:16px}
.service-card{min-height:430px;padding:0;display:block;position:relative;overflow:hidden;border-radius:0;box-shadow:none;background-image:linear-gradient(90deg,rgba(255,255,255,.13) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.13) 1px,transparent 1px);background-size:72px 72px}
.service-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:7px;background:rgba(255,255,255,.92);transform:scaleX(.16);transform-origin:left;transition:transform .55s cubic-bezier(.2,.72,.18,1);z-index:6}
.service-card:hover:before{transform:scaleX(1)}
.service-card:after{content:"";position:absolute;width:240px;height:240px;left:auto;right:-150px;bottom:-145px;border:1px solid rgba(255,255,255,.62);border-radius:50%;transition:transform .55s;z-index:2}
.service-card:hover:after{transform:scale(1.18)}
.service-card .service-number{top:38px;right:42px;font-size:clamp(3rem,4.5vw,5.4rem);font-weight:400;letter-spacing:-.08em;color:#fff;opacity:.98}
.service-letter{position:absolute;left:-.045em;bottom:-.28em;z-index:1;font:600 clamp(15rem,27vw,31rem)/.8 "DM Sans",sans-serif;letter-spacing:-.12em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.34);opacity:.8;transition:transform .7s cubic-bezier(.2,.72,.18,1)}
.service-card:hover .service-letter{transform:translate(.025em,-.025em)}
.service-copy{min-height:430px;width:72%;padding:64px 38px 44px 48px;position:relative;z-index:4;display:flex;flex-direction:column;align-items:flex-start;background:none!important}
.service-card:nth-child(even) .service-copy{margin-left:auto;padding-left:30px;padding-right:48px;align-items:flex-end;text-align:right}
.service-card small{margin:48px 0 22px;font:600 .73rem/1.4 "DM Sans",sans-serif;letter-spacing:.24em;padding-bottom:9px;border-bottom:1px solid rgba(255,255,255,.75)}
.service-card h3{margin:0 0 20px;font-family:"Shippori Mincho",serif;font-size:clamp(1.65rem,2.45vw,2.85rem);font-weight:500;line-height:1.3;letter-spacing:-.055em}
.service-card h3 span{display:block;white-space:nowrap}
.service-card h3 span+span{margin-left:.62em}
.service-card:nth-child(even) h3 span+span{margin-left:0;margin-right:.62em}
.service-card p{max-width:350px;margin-bottom:28px;font-size:.92rem;line-height:1.9;font-weight:500}
.service-card b{margin-top:auto;font-size:.9rem;padding-bottom:5px;letter-spacing:.08em;border-bottom:1px solid rgba(255,255,255,.9)}
@media(max-width:760px){.service-card{min-height:380px;background-size:54px 54px}.service-copy,.service-card:nth-child(even) .service-copy{min-height:380px;width:82%;margin:0;padding:48px 25px 32px;align-items:flex-start;text-align:left}.service-card small{margin:38px 0 18px}.service-card h3{font-size:clamp(1.65rem,7.2vw,2.4rem)}.service-card:nth-child(even) h3 span+span{margin-left:.62em;margin-right:0}.service-card .service-number{top:24px;right:24px;font-size:3.2rem}.service-letter{font-size:18rem}}

/* Copy and readability refinements requested 2026-09-06. */
.hero-copy h1{font-size:clamp(3.425rem,calc(4vw + 10px),5.425rem)}
.intro-title span,.featured-title span,.featured-copy span{display:block}
.intro-title span{white-space:nowrap}
.reason-mark{display:flex;align-items:center;gap:16px;color:var(--teal)}
.reason-mark svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
.reason-grid .reason-mark span{font-family:"DM Sans";font-size:2.8rem;color:var(--teal);font-weight:500;line-height:1}
.service-card p{font-size:1.23rem;line-height:1.82}
.featured-title span,.featured-copy span{white-space:nowrap}
.featured-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:12px}
.featured-actions .button{min-height:50px;padding-inline:22px}
.featured-actions .text-link{margin:0}
@media(max-width:1180px) and (min-width:901px){.hero-copy h1{font-size:clamp(3.075rem,calc(3.9vw + 10px),3.875rem)}}
@media(max-width:900px){.hero-copy h1{font-size:clamp(2.975rem,calc(9.2vw + 10px),4.425rem)}.intro-title span{white-space:normal}.featured-title span,.featured-copy span{white-space:normal}}
@media(max-width:420px){.hero-copy h1{font-size:clamp(2.675rem,calc(9.7vw + 10px),3.175rem)}.hero-copy h1 span,.hero-copy h1 em{white-space:normal!important}.hero-copy h1 span:nth-child(2),.hero-copy h1 em{margin-left:0}.featured-actions{align-items:stretch}.featured-actions .button,.featured-actions .text-link{width:100%}}

/* Company profile: typographic, trustworthy and easy to scan. */
.company{position:relative;overflow:hidden;padding:135px 0;background:var(--deep);color:#fff}
.company-word{position:absolute;left:-.045em;bottom:-.22em;font:600 clamp(9rem,22vw,24rem)/.8 "DM Sans",sans-serif;letter-spacing:-.1em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.09);white-space:nowrap;pointer-events:none}
.company-grid{position:relative;z-index:1;display:grid;grid-template-columns:.72fr 1.28fr;gap:9vw;align-items:start}
.company-heading h2{color:#fff;font-size:clamp(2.7rem,4.4vw,5rem);line-height:1.35;margin-bottom:28px}
.company-heading>p:last-child{max-width:450px;color:#bad0cd}
.company-data{margin:0;border-top:1px solid rgba(255,255,255,.3)}
.company-data>div{display:grid;grid-template-columns:150px 1fr;gap:28px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.2)}
.company-data dt{font:.72rem/1.7 "DM Sans","Noto Sans JP",sans-serif;letter-spacing:.12em;color:#87ddd4}
.company-data dd{margin:0;font-size:1.02rem;line-height:1.8}
.company-data dd span{color:#c8d9d7}
.company-data a{border-bottom:1px solid rgba(255,255,255,.65)}
.company-business dd{display:flex;flex-wrap:wrap;gap:8px}
.company-business dd span{padding:4px 12px;border:1px solid rgba(255,255,255,.3);border-radius:999px;color:#fff;font-size:.86rem}
@media(max-width:900px){.company{padding:90px 0}.company-grid{grid-template-columns:1fr;gap:45px}.company-heading h2{font-size:clamp(2.5rem,10vw,4.2rem)}.company-word{font-size:12rem}}
@media(max-width:560px){.company-data>div{grid-template-columns:1fr;gap:5px;padding:18px 0}.company-data dt{font-size:.7rem}.company-data dd{font-size:1rem}.company-business dd{gap:6px}.company-business dd span{font-size:.8rem}}

/* Process hierarchy and pictograms. */
.process-title span{display:block;white-space:nowrap}
.process-mark{display:flex;flex-direction:column;align-items:flex-start;gap:15px;margin-bottom:6px;color:var(--teal)}
.process-mark svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.process li .process-mark span{font:500 2rem/1 "DM Sans",sans-serif;color:var(--teal)}
@media(max-width:900px){.process-title span{white-space:normal}.process-mark{flex-direction:row;align-items:center;gap:18px}.process-mark svg{width:38px;height:38px}}

/* Profile: copy leads, portrait supports. */
.profile-grid{grid-template-columns:minmax(0,1fr) 220px;gap:7vw;align-items:end;max-width:1080px}
.profile-grid>div{max-width:720px}
.profile-grid>img{width:220px;height:280px;object-fit:cover;object-position:center 15%;align-self:end}
@media(max-width:900px){.profile-grid{grid-template-columns:1fr;gap:34px}.profile-grid>img{width:145px;height:185px}}

/* Japanese headings: preserve meaningful phrases instead of arbitrary wraps. */
.balanced-title span,.ideal-title span,.profile-title span,.company-title span,.contact-title span{display:block;white-space:nowrap}
.intro-title{font-size:clamp(2.6rem,4.5vw,3.4rem)!important}
.section-heading .balanced-title{font-size:clamp(2.4rem,3.8vw,2.85rem)}
.ideal .ideal-title{font-size:clamp(2.25rem,3.35vw,2.55rem);line-height:1.45}
.profile-title{font-size:clamp(2.4rem,4vw,4rem)!important}
.company-heading .company-title{font-size:clamp(2.6rem,4vw,3.2rem)}
.contact .section-inner{width:min(1320px,calc(100% - 48px))}
.contact-layout{grid-template-columns:minmax(0,1.1fr) minmax(500px,.9fr);gap:clamp(28px,3.2vw,52px)}
.contact .contact-title{font-size:clamp(2.05rem,3vw,2.8rem);line-height:1.48;letter-spacing:-.045em}
@media(max-width:900px){.contact-layout{grid-template-columns:1fr}.intro-title{font-size:clamp(2rem,7.8vw,2.7rem)!important}.section-heading .balanced-title{font-size:clamp(2rem,7.8vw,2.7rem)}.process-title{font-size:clamp(1.85rem,7.5vw,2.6rem)!important}.contact .contact-title{font-size:clamp(1.75rem,7.4vw,2.45rem)}}
@media(max-width:760px){.service-copy,.service-card:nth-child(even) .service-copy{width:100%}.service-card h3{font-size:clamp(1.8rem,8.4vw,2.5rem)}}
@media(max-width:420px){.hero-copy h1{font-size:clamp(1.9rem,8vw,2.2rem)}.hero-copy h1 span,.hero-copy h1 em{white-space:nowrap!important}}

/* Final heading scale, icon hierarchy and lower-page balance. */
@media(min-width:901px){.intro-grid{grid-template-columns:1.2fr .8fr;gap:5vw}.company-grid{grid-template-columns:.9fr 1.1fr;gap:6vw}}
.intro-title{font-size:clamp(calc(2.6rem + 10px),calc(4.5vw + 10px),calc(3.4rem + 10px))!important}
.section-heading .balanced-title{font-size:clamp(calc(2.4rem + 10px),calc(3.8vw + 10px),calc(2.85rem + 10px))}
.ideal .ideal-title{font-size:clamp(calc(2.25rem + 20px),calc(3.35vw + 20px),calc(2.55rem + 20px))}
.profile-title{font-size:clamp(3rem,calc(4vw + 10px),3.2rem)!important}
.company-heading .company-title{font-size:clamp(calc(2.6rem + 10px),calc(4vw + 10px),calc(3.2rem + 10px))}
.contact .contact-title{font-size:clamp(calc(2.05rem + 5px),calc(3vw + 5px),calc(2.8rem + 5px))}
.reason-mark{flex-direction:column;align-items:flex-start;gap:18px}
.reason-mark svg,.process-mark svg{width:84px;height:84px;stroke-width:1.25}
.process-mark{gap:18px}
.faq details p{font-size:1.3125rem;line-height:1.9}
.contact>.contact-heart{width:300px;left:clamp(20px,6vw,100px);right:auto;bottom:-65px;opacity:.24;filter:drop-shadow(0 18px 26px rgba(5,64,61,.2))}
footer{padding:28px 0 12px}
footer .footer-grid{padding:12px 0}
footer .copyright{margin-top:18px;padding-top:13px}
@media(max-width:900px){.reason-mark,.process-mark{flex-direction:column;align-items:flex-start}.reason-mark svg,.process-mark svg{width:64px;height:64px}.intro-title{font-size:clamp(calc(2rem + 6px),calc(7.8vw + 6px),calc(2.7rem + 6px))!important}.section-heading .balanced-title{font-size:clamp(calc(2rem + 6px),calc(7.8vw + 6px),calc(2.7rem + 6px))}.ideal .ideal-title{font-size:clamp(calc(2rem + 10px),calc(7.8vw + 10px),calc(2.55rem + 10px))}.profile-title{font-size:clamp(2.4rem,8.5vw,3.2rem)!important}.company-heading .company-title{font-size:clamp(2.45rem,9vw,3.5rem)}.contact .contact-title{font-size:clamp(calc(1.75rem + 5px),calc(7.4vw + 5px),calc(2.45rem + 5px))}.contact>.contact-heart{width:220px;left:auto;right:-55px;bottom:-40px;opacity:.18}}

/* Uploaded work: an editorial gallery that lets the design lead. */
.featured-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center}.featured-pair img{min-width:0}.home-work-grid{margin-top:20px}.home-work-grid figure:nth-child(5){grid-column:span 6}.home-work-grid figure:nth-child(6){grid-column:span 6;margin-top:70px}.home-work-grid img{aspect-ratio:4/3}.home-work-grid figure:nth-child(2) img,.home-work-grid figure:nth-child(3) img{aspect-ratio:3/4}
.portfolio-hero h1 span{display:block;white-space:nowrap}.portfolio-hero h1 span+span{margin-left:1.25em}.portfolio-nav{position:sticky;top:82px;z-index:30;display:flex;justify-content:center;gap:0;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-block:1px solid var(--rule);overflow-x:auto}.portfolio-nav a{flex:none;padding:18px 22px;font:600 .78rem/1.2 "DM Sans","Noto Sans JP",sans-serif;letter-spacing:.04em;color:#466360}.portfolio-nav a:hover{color:var(--teal)}.portfolio-body{width:min(1220px,calc(100% - 48px));margin:auto}.portfolio-section{padding:125px 0;border-bottom:1px solid var(--rule);scroll-margin-top:150px}.portfolio-section>header{display:grid;grid-template-columns:150px 1fr;align-items:end;margin-bottom:60px}.portfolio-number{margin:0;font:400 clamp(4rem,8vw,7.5rem)/.8 "DM Sans",sans-serif;color:#dce9e6;letter-spacing:-.08em}.portfolio-section h2{margin:5px 0 0;font:500 clamp(2.8rem,5vw,5.4rem)/1.2 "Shippori Mincho",serif;color:var(--deep)}.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:52px 26px;align-items:start}.project{grid-column:span 5;margin:0}.project-wide{grid-column:span 7}.project>img,.image-pair{width:100%;background:#f1f5f2}.project>img{display:block;aspect-ratio:4/5;object-fit:contain;padding:24px}.project-wide>img{aspect-ratio:4/3}.image-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:24px}.image-pair img{display:block;width:100%;height:520px;object-fit:contain;background:#fff}.project figcaption{display:grid;grid-template-columns:1fr auto;gap:18px;padding:16px 2px 0;border-top:1px solid var(--deep)}.project figcaption b{font-size:.96rem}.project figcaption span{font-size:.78rem;color:#69807d;text-align:right}.project-grid .project:nth-child(even){margin-top:90px}.logo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.logo-grid figure{margin:0;background:#f4f7f4;padding:28px}.logo-grid img{display:block;width:100%;height:250px;object-fit:contain;background:#fff}.logo-grid figcaption{padding-top:12px;font:600 .78rem "DM Sans","Noto Sans JP",sans-serif;letter-spacing:.06em}.illustration-grid .project>img{aspect-ratio:4/3}.picturebook-grid .project>img{aspect-ratio:1/1}.portfolio-cta{text-align:center;padding:110px 24px;background:var(--teal);color:#fff}.portfolio-cta h2{font:500 clamp(2.1rem,4vw,4rem)/1.5 "Shippori Mincho",serif;margin:20px 0 38px}.portfolio-cta .button{display:inline-flex}
@media(max-width:900px){.featured-pair{gap:8px}.home-work-grid figure:nth-child(n){grid-column:auto;margin:0}.portfolio-nav{top:70px;justify-content:flex-start}.portfolio-section{padding:85px 0}.portfolio-section>header{grid-template-columns:85px 1fr;margin-bottom:40px}.project-grid{grid-template-columns:1fr 1fr;gap:45px 16px}.project,.project-wide{grid-column:auto}.project-grid .project:nth-child(even){margin-top:50px}.image-pair{padding:12px;gap:7px}.image-pair img{height:360px}.logo-grid{grid-template-columns:1fr 1fr}.logo-grid img{height:210px}}
@media(max-width:600px){.portfolio-hero h1 span{white-space:normal}.portfolio-hero h1 span+span{margin-left:.6em}.portfolio-body{width:min(100% - 30px,1220px)}.portfolio-section>header{grid-template-columns:64px 1fr}.portfolio-number{font-size:3.4rem}.portfolio-section h2{font-size:2.5rem}.project-grid{grid-template-columns:1fr}.project-grid .project:nth-child(even){margin-top:0}.project>img,.project-wide>img{aspect-ratio:auto;max-height:520px}.image-pair img{height:290px}.project figcaption{grid-template-columns:1fr}.project figcaption span{text-align:left}.logo-grid{grid-template-columns:1fr 1fr;gap:10px}.logo-grid figure{padding:12px}.logo-grid img{height:150px}.portfolio-cta h2 br{display:none}}

/* Selected works layout supplied in 配置001.ai */
.works{padding:110px 0 125px}.works-heading{display:grid;grid-template-columns:1fr 250px;gap:50px;align-items:center;margin-bottom:38px}.works-heading-copy .eyebrow{margin-bottom:4px}.works-heading .balanced-title{margin:0;color:#63ca96;font-size:clamp(2.8rem,4.2vw,4.8rem);line-height:1.2}.works-heading .balanced-title span{display:block;white-space:nowrap}.works-heading .balanced-title span:nth-child(2),.works-heading .balanced-title span:nth-child(3){display:inline}.works-heading .balanced-title span:nth-child(2):after{content:" "}.works-heading-copy>p:last-child{margin:8px 0 0;font-size:1rem;letter-spacing:.04em}.works-heading-actions{text-align:center}.works-heading-actions .button{display:inline-flex;min-width:190px;min-height:96px;align-items:center;justify-content:center;border-radius:34px;font-size:1.35rem;line-height:1.4;font-weight:400;box-shadow:none}.works-heading-actions>a:last-child{display:block;margin-top:8px;color:#252d2b;font-size:1rem}.works-category-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px 64px}.works-category{min-width:0}.works-category header{height:54px;padding:0 12px 0 16px;display:flex;align-items:center;justify-content:space-between;background:#062b17;color:#fff}.works-category h3{margin:0;font-size:1.65rem;line-height:1.2}.works-category header a{flex:none;padding:8px 13px;border-radius:12px;background:#63ca96;color:#fff;font-size:.78rem}.works-thumbnails{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:center;height:250px;padding-top:16px}.works-thumbnails img{display:block;width:100%;height:100%;max-height:230px;object-fit:contain;background:#fff}.works-thumbnails.logos{gap:12px}.works-thumbnails.logos img{max-height:160px}.works-thumbnails.illustrations img{max-height:210px}
@media(max-width:900px){.works{padding:85px 0}.works-heading{grid-template-columns:1fr 190px;gap:25px}.works-heading .balanced-title{font-size:clamp(2.4rem,6.5vw,3.5rem)}.works-heading-actions .button{min-width:160px;min-height:82px;font-size:1.12rem}.works-category-grid{gap:36px 24px}.works-category h3{font-size:1.2rem}.works-thumbnails{height:190px}}
@media(max-width:650px){.works-heading{grid-template-columns:1fr}.works-heading .balanced-title span:nth-child(2),.works-heading .balanced-title span:nth-child(3){display:block}.works-heading-actions{text-align:left;display:flex;align-items:center;gap:15px}.works-heading-actions .button{min-width:145px;min-height:70px;border-radius:24px;font-size:1rem}.works-heading-actions>a:last-child{margin:0}.works-category-grid{grid-template-columns:1fr}.works-category header{height:48px}.works-category h3{font-size:1.15rem}.works-thumbnails{height:180px;padding-top:12px;gap:5px}}

/* Service detail pages: supplied work leads the page. */
.service-detail{background:#fff}.detail-hero{min-height:520px;padding:110px max(28px,calc((100vw - 1180px)/2));display:grid;grid-template-columns:170px minmax(0,850px);gap:45px;align-items:center;color:#fff}.detail-green{background:#65c917}.detail-blue{background:#3ca9dd}.detail-orange{background:#ffad22}.detail-pink{background:#ec0877}.detail-index{align-self:start;padding-top:14px;font:400 clamp(5rem,9vw,9rem)/1 "DM Sans",sans-serif;letter-spacing:-.08em;color:rgba(255,255,255,.92)}.detail-hero .eyebrow{color:#fff}.detail-hero h1{margin:16px 0 28px;font-size:clamp(3rem,5.4vw,6rem);line-height:1.25;color:#fff}.detail-hero h1 span{display:block;white-space:nowrap}.detail-hero h1 span+span{margin-left:.65em}.detail-hero>div:last-child>p:last-child{max-width:700px;margin:0;font-size:1.15rem;line-height:2;font-weight:500}.detail-works{padding:110px max(24px,calc((100vw - 1180px)/2))}.detail-works-alt{background:#f3f8f5}.detail-works>header{display:flex;align-items:end;justify-content:space-between;margin-bottom:45px;border-bottom:1px solid var(--rule)}.detail-works h2{margin:0 0 12px;font:500 clamp(2.5rem,4.5vw,4.7rem)/1.25 "Shippori Mincho",serif;color:var(--deep)}.detail-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:60px 28px}.detail-gallery figure{margin:0}.detail-gallery figure>img,.detail-gallery figure>div{width:100%;height:530px;background:#eef4f0}.detail-gallery figure>img{display:block;padding:28px;object-fit:contain}.detail-gallery.pairs figure>div{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:24px}.detail-gallery.pairs figure>div img{display:block;width:100%;height:100%;min-width:0;object-fit:contain;background:#fff}.detail-gallery figcaption{display:grid;grid-template-columns:1fr auto;gap:20px;padding:16px 2px 0;border-top:1px solid var(--deep)}.detail-gallery figcaption span{font-size:.82rem;color:#667d7a;text-align:right}.detail-gallery.singles{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.detail-gallery.singles figure>img{height:430px;padding:14px}.detail-gallery.singles figcaption{display:block}.detail-gallery.singles figcaption span{display:block;text-align:left}.illustration-showcase figure>img{height:460px}.character-showcase{grid-template-columns:repeat(3,minmax(0,1fr))}.character-showcase figure>img{height:420px}.detail-logo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.detail-logo-grid figure{margin:0;padding:26px;background:#f1f5f2}.detail-logo-grid img{display:block;width:100%;height:240px;object-fit:contain;background:#fff}.detail-logo-grid figcaption{padding-top:12px;font:600 .82rem "DM Sans","Noto Sans JP",sans-serif}.detail-about{display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw;padding:120px max(24px,calc((100vw - 1080px)/2));background:var(--deep);color:#fff}.detail-about h2{margin:12px 0 0;color:#fff;font-size:clamp(2.5rem,4.1vw,4.5rem);line-height:1.4}.detail-about h2 span{display:block;white-space:nowrap}.detail-about>div:last-child>p:not(.large-copy){color:#b9cecb}.detail-about .button{margin-top:28px}
@media(max-width:900px){.detail-hero{min-height:430px;grid-template-columns:100px 1fr;padding-block:75px}.detail-hero h1{font-size:clamp(2.5rem,7vw,4rem)}.detail-works{padding-block:80px}.detail-gallery.singles{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-gallery.singles figure>img{height:460px}.detail-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-about{grid-template-columns:1fr;gap:35px;padding-block:85px}}
@media(max-width:600px){.detail-hero{grid-template-columns:1fr;gap:10px;min-height:auto;padding:58px 24px}.detail-index{font-size:4rem}.detail-hero h1{font-size:clamp(2.2rem,10vw,3rem)}.detail-hero h1 span{white-space:normal}.detail-hero h1 span+span{margin-left:.35em}.detail-hero>div:last-child>p:last-child{font-size:1rem}.detail-works{padding:65px 18px}.detail-works>header{display:block}.detail-works h2{font-size:2.4rem}.detail-gallery,.detail-gallery.singles,.character-showcase{grid-template-columns:1fr}.detail-gallery figure>img,.detail-gallery figure>div,.detail-gallery.singles figure>img,.illustration-showcase figure>img,.character-showcase figure>img{height:440px}.detail-gallery.pairs figure>div{height:360px;padding:12px;gap:7px}.detail-logo-grid{grid-template-columns:1fr 1fr;gap:10px}.detail-logo-grid figure{padding:12px}.detail-logo-grid img{height:150px}.detail-about{padding:70px 24px}.detail-about h2{font-size:2.35rem}.detail-about h2 span{white-space:normal}}
.character-showcase{grid-template-columns:minmax(0,700px);justify-content:center}.character-showcase figure>img{height:480px}

/* Primary cross-site route to the publicity diagnosis. */
.diagnosis-cta{
  position:relative;
  display:grid;
  grid-template-columns:58px auto 1fr 48px;
  align-items:center;
  gap:16px;
  width:min(100%,650px);
  min-height:108px;
  margin-top:22px;
  padding:16px 20px;
  overflow:hidden;
  border:2px solid #80bdd9;
  border-radius:22px;
  background:linear-gradient(135deg,#f8fffc 0%,#e8f8fc 100%);
  color:#075daf;
  box-shadow:0 10px 24px rgba(31,112,151,.16);
  transition:transform .25s ease,box-shadow .25s ease;
}

.diagnosis-cta:before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 88% 20%,rgba(255,255,255,.9),transparent 34%);
  pointer-events:none;
}
.diagnosis-cta:hover,.diagnosis-cta:focus-visible{
  transform:translate(-3px,-3px);
  box-shadow:0 15px 30px rgba(31,112,151,.24);
}
.diagnosis-cta-mark{
  position:relative;
  width:56px;
  height:56px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#ff5966;
  color:#fff;
  font:500 44px/1 Arial,sans-serif;
  box-shadow:0 6px 14px rgba(240,70,85,.22);
}
.diagnosis-cta-kicker{
  position:relative;
  padding-right:16px;
  border-right:1px dashed #9ccbdc;
  font:700 .62rem/1.45 "DM Sans",sans-serif;
  letter-spacing:.15em;
  color:#1684b8;
}
.diagnosis-cta-copy{position:relative;display:block;line-height:1.45}
.diagnosis-cta-copy b{display:block;color:#075daf;font-size:1.18rem;letter-spacing:.02em}
.diagnosis-cta-copy strong{display:block;margin-top:1px;color:#155b91;font-size:.86rem}
.diagnosis-cta-copy small{display:block;margin-top:4px;color:#2780a9;font-size:.74rem;font-weight:700}
.diagnosis-cta-arrow{
  position:relative;
  width:44px;
  height:44px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,#ff6f77,#f44355);
  color:#fff;
  font-size:1.35rem;
  transition:transform .25s ease;
}
.diagnosis-cta:hover .diagnosis-cta-arrow{transform:translateX(3px)}
@media(max-width:560px){
  .diagnosis-cta{grid-template-columns:48px 1fr 44px;gap:11px;min-height:116px;padding:15px 14px;text-align:left}
  .diagnosis-cta-mark{width:46px;height:46px;font-size:36px}
  .diagnosis-cta-kicker{display:none}
  .diagnosis-cta-copy b{font-size:1.03rem}
  .diagnosis-cta-copy strong{font-size:.78rem}
  .diagnosis-cta-copy small{font-size:.72rem}
}

/* Exact desktop composition from 配置001.pdf */
@media(min-width:901px){.works .section-inner{width:min(calc(100% - 80px),1480px)}.works{padding:58px 0 96px}.works-heading{grid-template-columns:minmax(0,1fr) 300px;gap:70px;align-items:center;margin-bottom:32px}.works-heading .balanced-title{font-size:clamp(3.2rem,4.65vw,4.65rem);line-height:1.22;letter-spacing:-.045em}.works-heading .balanced-title span{display:block!important;margin:0!important;white-space:nowrap}.works-heading .balanced-title span:after{content:none!important}.works-heading-copy>p:last-child{margin-top:4px;font-size:1rem}.works-heading-actions .button{min-width:230px;min-height:122px;border-radius:42px;font-size:1.5rem}.works-heading-actions>a:last-child{font-size:1.08rem}.works-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:76px;row-gap:62px}.works-category header{height:64px;padding:0 14px 0 16px}.works-category h3{font-size:1.85rem}.works-category header a{padding:10px 16px;border-radius:14px;font-size:.86rem}.works-thumbnails{height:250px;padding-top:16px;gap:8px}.works-thumbnails img{height:230px;max-height:230px}.works-thumbnails.logos img{height:180px;max-height:180px}.works-thumbnails.illustrations img{height:220px;max-height:220px}}

/* Keep the main section-copy hierarchy consistent across the full page. */
.intro-title,
.section-heading .balanced-title,
.works-heading .balanced-title,
.ideal .ideal-title,
.profile-title,
.company-heading .company-title,
.process-title,
.faq h2,
.contact .contact-title{
  font-size:clamp(3.2rem,4.65vw,4.65rem)!important;
  line-height:1.32;
}
.works-heading .balanced-title{color:var(--teal)}
@media(max-width:900px){
  .intro-title,
  .section-heading .balanced-title,
  .works-heading .balanced-title,
  .ideal .ideal-title,
  .profile-title,
  .company-heading .company-title,
  .process-title,
  .faq h2,
  .contact .contact-title{
    font-size:clamp(2.4rem,8.5vw,3.5rem)!important;
    line-height:1.38;
  }
}

/* Picture-book projects: connect creation, publishing and community in one story. */
.picture-book-projects{
  padding:120px 0 130px;
  background:
    radial-gradient(circle at 92% 7%,rgba(255,129,122,.12),transparent 25%),
    radial-gradient(circle at 7% 95%,rgba(7,156,144,.12),transparent 27%),
    #f6faf9;
  scroll-margin-top:90px;
  overflow:hidden;
}
.picture-books-heading{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(360px,1.12fr);
  align-items:end;
  gap:7vw;
  margin-bottom:54px;
}
.picture-books-heading h2{
  margin:0;
  font-family:"Shippori Mincho",serif;
  font-size:clamp(2.65rem,4.5vw,4.8rem);
  font-weight:500;
  line-height:1.35;
  color:#075d56;
}
.picture-books-heading h2 span{display:block;white-space:nowrap}
.picture-books-heading>p{margin:0;color:#4f6966;line-height:2;max-width:650px}
.ehon-fes-feature{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(380px,.95fr);
  min-height:370px;
  margin-bottom:58px;
  border-radius:30px;
  overflow:hidden;
  color:#fff;
  background:#075d56;
  box-shadow:0 24px 60px rgba(4,76,70,.18);
  transition:transform .28s ease,box-shadow .28s ease;
}
.ehon-fes-feature:hover{transform:translateY(-5px);box-shadow:0 30px 72px rgba(4,76,70,.26)}
.ehon-fes-copy{padding:54px 58px;display:flex;flex-direction:column;justify-content:center}
.ehon-fes-copy small,.picture-book-pillar>header small,.picture-book-card-copy small{
  font-family:"DM Sans",sans-serif;
  font-weight:600;
  letter-spacing:.16em;
}
.ehon-fes-copy small{color:#9ff0e6;font-size:.72rem}
.ehon-fes-copy h3{font-family:"Shippori Mincho",serif;font-size:clamp(2.5rem,4.1vw,4.6rem);font-weight:500;margin:10px 0 12px}
.ehon-fes-copy p{color:#d8eeeb;max-width:590px;margin:0 0 24px;line-height:1.85}
.ehon-fes-copy b{align-self:flex-start;border-bottom:1px solid rgba(255,255,255,.58);padding-bottom:5px;font-size:.92rem}
.ehon-fes-visual{position:relative;min-height:300px;background:#eef9f7;overflow:hidden}
.ehon-fes-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,93,86,.22),transparent 35%)}
.ehon-fes-visual img{width:100%;height:100%;object-fit:cover;object-position:center}
.ehon-fes-visual>span{position:absolute;z-index:2;right:24px;bottom:24px;padding:12px 16px;border-radius:999px;background:rgba(255,255,255,.94);color:#075d56;font:600 .72rem/1.25 "DM Sans",sans-serif;letter-spacing:.08em;box-shadow:0 8px 24px rgba(3,58,54,.16)}
.ehon-fes-visual>span strong{display:block;font-size:.95rem}
.picture-book-pillars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.picture-book-pillar{min-width:0}
.picture-book-pillar>header{display:flex;align-items:baseline;gap:16px;padding:0 6px 16px;border-bottom:1px solid #bbd9d5;margin-bottom:18px}
.picture-book-pillar>header small{color:#e35b57;font-size:.68rem}
.picture-book-pillar>header h3{margin:0;color:#075d56;font-family:"Shippori Mincho",serif;font-size:1.55rem;font-weight:500}
.picture-book-card-list{display:grid;gap:18px}
.picture-book-card{
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  min-height:218px;
  background:#fff;
  border:1px solid #dcebe8;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 14px 36px rgba(12,79,73,.07);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.picture-book-card:hover{transform:translateY(-4px);border-color:#96cec7;box-shadow:0 22px 48px rgba(12,79,73,.14)}
.picture-book-card-visual{min-height:218px;overflow:hidden;background:#f1f7f5;position:relative}
.picture-book-card-visual img{width:100%;height:100%;object-fit:cover}
.visual-souden img,.visual-souden-mini img{
  width:100%;
  height:100%;
  max-width:100%;
  object-fit:cover;
  object-position:center top;
  transform:none;
}
.visual-souden-mini{background:#f2f7f8}
.visual-bokukami{padding:16px;background:#f8e8ca}
.visual-bokukami img{object-fit:contain;filter:drop-shadow(0 9px 12px rgba(90,57,28,.2))}
.visual-bookshop{padding:12px;background:#f5f0df}
.visual-bookshop img{object-fit:contain}
.picture-book-card-copy{padding:25px 25px 22px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.picture-book-card-copy small{color:#e35b57;font-size:.62rem}
.picture-book-card-copy h4{margin:7px 0 9px;color:#123d39;font-family:"Shippori Mincho",serif;font-size:1.35rem;font-weight:600;line-height:1.45}
.picture-book-card-copy p{margin:0 0 13px;color:#607370;font-size:.86rem;line-height:1.75}
.picture-book-card-copy b{margin-top:auto;align-self:flex-start;color:#078f84;border-bottom:1px solid #8ecbc4;padding-bottom:3px;font-size:.78rem}

@media(min-width:901px) and (max-width:1240px){
  .site-header{gap:1.25rem;padding-inline:24px}
  .site-header nav{gap:clamp(9px,1.05vw,17px);font-size:.73rem}
  .site-header .column-nav-link{padding:6px 9px;font-size:.76rem}
  .site-header>.button-small{padding-inline:16px;font-size:.76rem}
}
@media(max-width:900px){
  .picture-book-projects{padding:90px 0}
  .picture-books-heading{grid-template-columns:1fr;gap:24px;margin-bottom:38px}
  .picture-books-heading h2{font-size:clamp(2.45rem,9vw,3.8rem)}
  .picture-books-heading h2 span{white-space:normal}
  .ehon-fes-feature{grid-template-columns:1fr;margin-bottom:45px}
  .ehon-fes-copy{padding:40px 34px;order:2}
  .ehon-fes-visual{order:1;min-height:240px}
  .picture-book-pillars{grid-template-columns:1fr;gap:42px}
}
@media(max-width:620px){
  .picture-book-projects{padding:62px 0}
  .picture-books-heading>p{font-size:.94rem;line-height:1.85}
  .ehon-fes-feature{border-radius:22px}
  .ehon-fes-copy{padding:31px 25px 34px}
  .ehon-fes-copy h3{font-size:2.55rem}
  .ehon-fes-visual{min-height:190px}
  .ehon-fes-visual>span{right:14px;bottom:14px}
  .picture-book-card{grid-template-columns:116px minmax(0,1fr);min-height:200px;border-radius:18px}
  .picture-book-card-visual{min-height:200px}
  .picture-book-card-copy{padding:20px 17px}
  .picture-book-card-copy h4{font-size:1.12rem}
  .picture-book-card-copy p{font-size:.8rem;line-height:1.65}
}
@media(max-width:390px){
  .picture-book-card{grid-template-columns:1fr}
  .picture-book-card-visual{min-height:0;aspect-ratio:16/8}
  .visual-souden,.visual-souden-mini{aspect-ratio:3/4}
  .visual-bokukami,.visual-bookshop{padding:10px}
}

/* Specialist service hub: connect the main site to every focused service. */
.specialists{padding:110px 0;background:#fff}
.specialists-heading{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end;margin-bottom:48px}
.specialists-heading h2{margin:0;color:var(--deep);font-family:"Shippori Mincho",serif;font-weight:500;font-size:clamp(2.7rem,4.4vw,4.8rem);line-height:1.32}
.specialists-heading>p{margin:0;color:#526c69;font-size:1.05rem;line-height:2}
.specialists-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.specialists-grid>a{position:relative;display:block;min-height:330px;padding:34px 30px 30px;border:1px solid #d9e9e6;border-top:5px solid var(--teal);background:#f9fcfb;box-shadow:0 14px 35px rgba(7,92,83,.07);transition:transform .2s ease,box-shadow .2s ease}
.specialists-grid>a:hover,.specialists-grid>a:focus-visible{transform:translateY(-5px);box-shadow:0 22px 48px rgba(7,92,83,.14)}
.specialists-grid>a>span{position:absolute;right:24px;top:18px;color:#d5e8e4;font:500 4.4rem/1 "DM Sans",sans-serif;letter-spacing:-.08em}
.specialists-grid small{position:relative;color:var(--teal);font:700 .72rem/1.4 "DM Sans",sans-serif;letter-spacing:.15em}
.specialists-grid h3{position:relative;margin:28px 0 16px;color:var(--deep);font:600 clamp(1.35rem,2vw,2rem)/1.55 "Shippori Mincho",serif}
.specialists-grid p{position:relative;margin-bottom:24px;color:#58706d;line-height:1.8}
.specialists-grid b{position:absolute;left:30px;bottom:27px;color:var(--teal);font-size:.88rem}
.specialists-grid .clinic-card{border-top-color:#e95858;background:linear-gradient(145deg,#fffafa,#fff)}
.specialists-grid .clinic-card small,.specialists-grid .clinic-card b{color:#b63037}
.specialists-consult{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:26px;padding:26px 30px;background:#e9f7f4;border-left:5px solid var(--teal)}
.specialists-consult strong{font-size:1.08rem}.specialists-consult p{margin:3px 0 0;color:#58706d}.specialists-consult .button{flex:0 0 auto}
@media(min-width:901px) and (max-width:1240px){.site-header{gap:1rem;padding-inline:28px}.site-header nav{gap:11px;font-size:.74rem}.site-header .column-nav-link{padding:7px 9px;font-size:.75rem}}
@media(max-width:900px){.specialists{padding:75px 0}.specialists-heading{grid-template-columns:1fr;gap:20px}.specialists-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.specialists-consult{align-items:flex-start}}
@media(max-width:650px){.specialists{padding:58px 0}.specialists-heading{margin-bottom:30px}.specialists-heading h2{font-size:clamp(2.35rem,10vw,3.1rem)}.specialists-heading>p{font-size:1rem;line-height:1.75}.specialists-grid{grid-template-columns:1fr;gap:12px}.specialists-grid>a{min-height:285px;padding:28px 24px}.specialists-grid>a>span{right:20px;font-size:3.7rem}.specialists-grid h3{margin-top:23px}.specialists-grid b{left:24px;bottom:22px}.specialists-consult{display:block;padding:24px 22px}.specialists-consult .button{margin-top:18px;width:100%}}

/* Compact the desktop first view while preserving its two-column composition. */
@media(min-width:901px){
  .hero{
    min-height:auto;
    padding-top:18px;
    padding-bottom:28px;
  }
  .hero-art{
    min-height:520px;
  }
}

/* Teal feature panel for the opening design-philosophy section. */
.intro{
  position:relative;
  isolation:isolate;
  background:none;
  color:#fff;
}
.intro:before{
  content:"";
  position:absolute;
  z-index:-1;
  top:0;
  bottom:0;
  left:50%;
  width:100vw;
  transform:translateX(-50%);
  background:linear-gradient(125deg,#078d83,#20b6a9);
}
.intro .eyebrow,
.intro h2,
.intro h3,
.intro p,
.intro .large-copy,
.intro .reason-mark,
.intro .reason-grid .reason-mark span{
  color:#fff;
}
.intro .reason-grid{border-top-color:rgba(255,255,255,.34)}
.intro .reason-grid article{border-right-color:rgba(255,255,255,.28)}
@media(max-width:900px){
  .intro .reason-grid article{
    border-right:0;
    border-bottom-color:rgba(255,255,255,.28);
  }
}

/* Selected works: keep every element inside narrow mobile viewports. */
@media(max-width:650px){
  .works-heading{
    display:block;
    margin-bottom:44px;
  }
  .works-heading .balanced-title span{
    display:block!important;
    white-space:normal!important;
    margin:0!important;
  }
  .works-heading-copy>p:last-child{
    max-width:100%;
    overflow-wrap:anywhere;
  }
  .works-heading-actions{
    margin-top:28px;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:12px 18px;
  }
  .works-heading-actions .button{
    min-width:0;
    min-height:68px;
    padding:0 24px;
  }
  .works-heading-actions>a:last-child{
    margin:0;
    white-space:normal;
  }
  .works-category-grid{
    grid-template-columns:minmax(0,1fr);
  }
  .works-category header{
    height:auto;
    min-height:54px;
    gap:10px;
    padding:7px 9px 7px 14px;
  }
  .works-category h3{
    min-width:0;
    font-size:clamp(1rem,5vw,1.25rem);
    overflow-wrap:anywhere;
  }
  .works-category header a{
    padding:8px 11px;
    font-size:.72rem;
    white-space:nowrap;
  }
  .works-thumbnails,
  .works-thumbnails.logos,
  .works-thumbnails.illustrations{
    height:auto;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    align-items:stretch;
  }
  .works-thumbnails img,
  .works-thumbnails.logos img,
  .works-thumbnails.illustrations img{
    width:100%;
    height:220px;
    max-height:none;
    object-fit:contain;
  }
}
@media(max-width:380px){
  .works-heading-actions{
    display:block;
  }
  .works-heading-actions>a:last-child{
    margin-top:12px;
  }
  .works-thumbnails img,
  .works-thumbnails.logos img,
  .works-thumbnails.illustrations img{
    height:190px;
  }
}

/* Search intent entrances */
.search-entrances{padding:110px 0;background:#eef8f5}
.search-entrances-heading{display:grid;grid-template-columns:1.05fr .95fr;gap:8vw;align-items:end;margin:14px 0 48px}
.search-entrances-heading h2{margin:0;font-size:clamp(2.25rem,4.2vw,4.6rem);line-height:1.35;color:var(--deep)}
.search-entrances-heading p{margin:0;font-size:1.05rem;line-height:2;color:#48635f}
.search-entrance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.search-entrance-grid>a{display:block;padding:42px;background:#fff;border-top:5px solid var(--teal);color:var(--deep);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
.search-entrance-grid>a:hover{transform:translateY(-4px);box-shadow:0 18px 45px rgba(9,58,53,.1)}
.search-entrance-grid small{font:600 .73rem "DM Sans",sans-serif;letter-spacing:.15em;color:var(--teal)}
.search-entrance-grid h3{margin:18px 0;font-size:clamp(1.55rem,2.5vw,2.5rem);line-height:1.5}
.search-entrance-grid p{line-height:1.9;color:#58706d}
.search-entrance-grid b{display:block;margin-top:26px;color:var(--teal)}
.intent-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:45px 0;padding:0;list-style:none}
.intent-list li{padding:22px 24px;background:#f1f7f4;border-left:4px solid var(--teal);font-weight:600}
.area-links{margin-top:55px;padding:34px;background:#eef8f5}
.area-links a{color:var(--teal);font-weight:700}
@media(max-width:760px){.search-entrances{padding:75px 0}.search-entrances-heading,.search-entrance-grid,.intent-list{grid-template-columns:1fr}.search-entrances-heading{gap:22px}.search-entrance-grid>a{padding:28px 24px}}

/* Prevent long Japanese headings and profile copy from widening mobile pages. */
@media(max-width:900px){
  html,
  body{
    max-width:100%;
    overflow-x:clip;
  }
  .profile-grid,
  .profile-grid>div,
  .company-grid,
  .company-heading,
  .company-data{
    min-width:0;
    max-width:100%;
  }
  .balanced-title span,
  .ideal-title span,
  .profile-title span,
  .company-title span,
  .process-title span,
  .contact-title span{
    white-space:normal!important;
    margin-left:0!important;
  }
  .profile-grid p,
  .company-grid p,
  .company-data dd,
  .signature strong{
    max-width:100%;
    overflow-wrap:anywhere;
  }
  .signature strong{
    display:block;
  }
}

/* Final mobile spacing pass. Kept last so it wins over legacy responsive rules. */
@media(max-width:650px){
  body{line-height:1.72}
  .section-inner,.narrow{width:min(100% - 36px,1180px)}
  .hero{padding:0 18px 44px;gap:0}
  .hero-art{margin:-8px 0 -12px}
  .heart-assembly{width:min(310px,82vw)}
  .hero-copy h1{margin-bottom:16px;line-height:1.28}
  .hero-lead{margin-bottom:12px;line-height:1.65}
  .hero-body{line-height:1.72;margin-bottom:16px}
  .proof-strip{margin:18px 0 20px;padding:9px 0}
  .actions{margin-top:18px}
  .diagnosis-cta{position:relative;z-index:5;pointer-events:auto;margin-top:17px;min-height:94px;padding:14px 14px 14px 17px}
  .intro,.services,.works,.ideal,.profile,.company,.process,.faq,.contact,.search-entrances{padding:58px 0!important}
  .intro-grid,.section-heading,.ideal-grid,.company-grid,.contact-layout{gap:22px}
  .section-heading{margin-bottom:34px}
  .reason-grid{margin-top:40px}
  .reason-grid article{padding:24px 4px}
  .reason-mark svg,.process-mark svg{width:48px;height:48px}
  .service-grid{gap:12px}
  .service-card{min-height:310px}
  .service-copy,.service-card:nth-child(even) .service-copy{min-height:310px;padding:34px 24px 26px}
  .service-card small{margin:24px 0 12px}
  .service-card h3{margin-bottom:12px}
  .service-card p{font-size:1rem;line-height:1.7;margin-bottom:18px}
  .works-heading{margin-bottom:30px}
  .works-heading-actions{margin-top:20px}
  .works-category-grid{gap:34px}
  .works-thumbnails,.works-thumbnails.logos,.works-thumbnails.illustrations{gap:8px;padding-top:10px}
  .works-thumbnails img,.works-thumbnails.logos img,.works-thumbnails.illustrations img{height:185px}
  .ideal li{font-size:1rem;padding:14px 0 14px 28px}
  .profile-grid{gap:22px}
  .profile-grid p{margin-bottom:12px}
  .company-grid{gap:28px}
  .company-data>div{padding:14px 0}
  .process ol{margin-top:36px}
  .process li{padding:20px 12px}
  .process-mark{gap:10px}
  .faq details{padding:15px 0}
  .faq details p{font-size:1rem;line-height:1.72;padding-top:10px}
  .search-entrances-heading{margin-bottom:30px}
  .search-entrance-grid>a{padding:25px 22px}
  .search-entrance-grid h3{margin:12px 0}
  .search-entrance-grid p{line-height:1.72}
  .search-entrance-grid b{margin-top:18px}
  .contact-layout{gap:26px}
  .contact-form{padding:26px 18px}
  .form-intro{margin-bottom:22px}
  .form-grid{gap:15px}
  footer{padding-top:22px}
  footer .footer-grid{gap:20px}
}

/* Mobile: icon at left, number and heading at right, description below. */
@media(max-width:650px){
  .reason-grid article,
  .process ol li{
    display:grid;
    grid-template-columns:82px minmax(0,1fr);
    grid-template-rows:auto auto auto;
    column-gap:18px;
    row-gap:0;
    align-items:center;
    padding:20px 4px;
  }
  .reason-mark,
  .process-mark{
    display:contents;
  }
  .reason-mark svg,
  .process-mark svg{
    grid-column:1;
    grid-row:1 / span 2;
    width:68px;
    height:68px;
    align-self:center;
  }
  .reason-grid .reason-mark span,
  .process li .process-mark span{
    grid-column:2;
    grid-row:1;
    margin:0;
    font-size:2.15rem;
    line-height:1;
    align-self:end;
  }
  .reason-grid article>h3,
  .process li>h3{
    grid-column:2;
    grid-row:2;
    margin:5px 0 0;
    font-size:1.28rem;
    line-height:1.35;
    align-self:start;
  }
  .reason-grid article>p,
  .process li>p{
    grid-column:1 / -1;
    grid-row:3;
    margin:13px 0 0;
    padding:0;
    font-size:1rem;
    line-height:1.7;
  }
}
.column-promo{padding:72px 0;background:#e7f5f2}.column-promo-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.column-promo h2{margin:.2rem 0 .8rem;font-size:clamp(2rem,5vw,3.8rem);font-family:"Shippori Mincho",serif;font-weight:500}.column-promo p{max-width:650px}.column-promo .button{flex:0 0 auto}@media(max-width:720px){.column-promo{padding:54px 0}.column-promo-inner{display:block}.column-promo .button{margin-top:22px}}
.site-header .column-nav-link,.mobile-nav .column-nav-link{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;background:#d9f4ef;color:#006f67;font-size:1rem;font-weight:800;white-space:nowrap}.site-header .column-nav-link small,.mobile-nav .column-nav-link small{display:inline-grid;place-items:center;padding:2px 6px;border-radius:999px;background:#e04d3d;color:#fff;font-size:.62rem;font-weight:900;letter-spacing:.06em}.site-header .column-nav-link:hover{background:#bce9e2;color:#004f4a}.mobile-nav .column-nav-link{margin:6px 12px;padding:12px 16px;font-size:1.08rem}

/* Mobile menu: keep the primary navigation control visible on the white header. */
@media(max-width:900px){
  .site-header .menu-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex-direction:row;
    gap:8px;
    width:auto;
    min-width:96px;
    height:46px;
    padding:0 15px;
    border:1px solid #00635c;
    border-radius:999px;
    background:#006f67;
    color:#fff;
    box-shadow:0 7px 18px rgba(0,79,74,.24);
    font-family:"Noto Sans JP",sans-serif;
    font-size:.82rem;
    font-weight:700;
    letter-spacing:.06em;
    cursor:pointer;
  }
  .site-header .menu-button span{display:none}
  .site-header .menu-button:before{
    content:"☰";
    font-family:Arial,sans-serif;
    font-size:1.35rem;
    font-weight:400;
    line-height:1;
  }
  .site-header .menu-button:after{content:"メニュー"}
  .site-header .menu-button[aria-expanded="true"]:before{content:"×"}
  .site-header .menu-button[aria-expanded="true"]:after{content:"閉じる"}
  .site-header .menu-button:focus-visible{
    outline:3px solid rgba(7,156,144,.32);
    outline-offset:3px;
  }
}

/* 2026-10: give the home navigation a clear two-row hierarchy. */
.header-actions{display:flex;align-items:center;gap:16px}
@media(min-width:901px){
  .home-page .site-header{
    height:126px;
    display:grid;
    grid-template-columns:auto 1fr auto;
    grid-template-rows:76px 50px;
    grid-template-areas:"brand spacer actions" "nav nav nav";
    column-gap:32px;
    row-gap:0;
  }
  .home-page .site-header .brand{grid-area:brand}
  .home-page .site-header .header-actions{grid-area:actions}
  .home-page .site-header nav{
    grid-area:nav;
    align-self:stretch;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:clamp(27px,4vw,66px);
    border-top:1px solid var(--rule);
    font-size:.82rem;
  }
  .home-page .site-header nav a:after{bottom:-7px}
  .home-page main>section[id]{scroll-margin-top:134px}
}
@media(max-width:900px){
  .home-page .site-header{height:72px;display:grid;grid-template-columns:1fr auto;grid-template-rows:72px;grid-template-areas:"brand menu"}
  .home-page .site-header .brand{grid-area:brand}
  .home-page .site-header .menu-button{grid-area:menu}
  .home-page .site-header .header-actions{display:none}
  .home-page main>section[id]{scroll-margin-top:78px}
}

/* Show each specialist site before asking visitors to read its description. */
.specialists-grid>a{
  display:flex;
  min-height:0;
  padding:0;
  overflow:hidden;
  flex-direction:column;
}
.specialist-card-image{
  aspect-ratio:8/5;
  overflow:hidden;
  background:#edf5f2;
  border-bottom:1px solid #d9e9e6;
}
.specialist-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.specialists-grid>a:hover .specialist-card-image img,
.specialists-grid>a:focus-visible .specialist-card-image img{transform:scale(1.025)}
.specialist-card-copy{
  position:relative;
  display:flex;
  flex:1;
  flex-direction:column;
  min-height:305px;
  padding:27px 30px 66px;
}
.specialists-grid .specialist-card-number{
  position:absolute;
  top:20px;
  right:24px;
  color:#d5e8e4;
  font:500 4.1rem/1 "DM Sans",sans-serif;
  letter-spacing:-.08em;
}
.specialists-grid .specialist-card-copy small{position:relative;z-index:1}
.specialists-grid .specialist-card-copy h3{margin:24px 0 14px}
.specialists-grid .specialist-card-copy p{margin-bottom:0}
.specialists-grid .specialist-card-copy b{left:30px;bottom:27px}
@media(max-width:650px){
  .specialist-card-copy{min-height:275px;padding:25px 24px 58px}
  .specialists-grid .specialist-card-number{right:20px;font-size:3.7rem}
  .specialists-grid .specialist-card-copy b{left:24px;bottom:22px}
}

/* Conversion and citation-ready guidance added in 2026-10. */
.works-conversion{display:flex;align-items:center;justify-content:space-between;gap:34px;margin-top:48px;padding:30px 34px;border-left:5px solid var(--teal);background:#edf8f5}
.works-conversion strong{display:block;color:var(--deep);font-size:1.08rem}
.works-conversion p{margin:6px 0 0;color:#58706d}
.works-conversion .button{flex:0 0 auto}
.consultation-guide-promo{padding:86px 0;background:#073a38;color:#fff}
.consultation-guide-inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:center}
.consultation-guide-promo .eyebrow{color:#83ddd4}
.consultation-guide-promo h2{margin:.3rem 0 0;color:#fff;font:500 clamp(2.25rem,4.5vw,4.4rem)/1.38 "Shippori Mincho",serif}
.consultation-guide-promo p{margin:0 0 24px;font-size:1.05rem;line-height:1.9;color:#d6e8e5}
.consultation-guide-promo .button{background:#16b6a8}
.mobile-conversion-bar{display:none}
.breadcrumb{width:min(100% - 40px,1180px);margin:0 auto;padding:18px 0 0;color:#617572;font-size:.78rem}
.breadcrumb a{color:#087f76;text-decoration:underline;text-underline-offset:3px}
.related-pages{margin-top:44px;padding:28px 30px;background:#eef8f5;border-left:5px solid var(--teal)}
.related-pages h2{margin:0 0 12px!important;font-size:1.35rem!important}
.related-pages p{margin:0}
.related-pages a{color:#087f76;font-weight:700;text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){
  .works-conversion{display:block;margin-top:34px;padding:24px 22px}
  .works-conversion .button{width:100%;margin-top:18px}
  .consultation-guide-promo{padding:58px 0}
  .consultation-guide-inner{grid-template-columns:1fr;gap:24px}
  .consultation-guide-promo h2{font-size:clamp(2.2rem,10vw,3.2rem)}
}
@media(max-width:650px){
  .home-page{padding-bottom:72px}
  .mobile-conversion-bar{position:fixed;z-index:80;display:grid;grid-template-columns:1fr 1fr;left:10px;right:10px;bottom:10px;padding:6px;border:1px solid rgba(4,85,78,.16);border-radius:16px;background:rgba(255,255,255,.96);box-shadow:0 12px 36px rgba(5,62,57,.22);backdrop-filter:blur(12px);transition:opacity .2s ease,transform .2s ease}
  .mobile-conversion-bar[data-hidden]{opacity:0;transform:translateY(110%);pointer-events:none}
  .mobile-conversion-bar a{display:grid;place-items:center;min-height:48px;padding:8px 10px;border-radius:11px;color:#fff;font-size:.88rem;font-weight:800;text-align:center}
  .mobile-conversion-bar a:first-child{background:#06c755}
  .mobile-conversion-bar a:last-child{background:var(--teal)}
}
