:root{--color-brand:#1a5f7a;--color-brand-dark:#10394a;--color-text:#1a1a1a;--color-text-muted:#5a5a5a;--color-bg:#fff;--color-bg-alt:#f5f5f5;--color-border:#e0e0e0;--color-accent:#e8a33d;--color-danger:#c0392b;--font-base:system-ui, -apple-system, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.25rem;--font-size-xl:1.75rem;--font-size-2xl:2.5rem;--space-1:.25rem;--space-2:.5rem;--space-3:1rem;--space-4:1.5rem;--space-5:2.5rem;--space-6:4rem;--content-max-width:1120px;--radius-base:8px;--shadow-sm:0 1px 2px #00000014;--shadow-md:0 4px 12px #0000001a}.container{width:100%;max-width:var(--content-max-width);padding-inline:var(--space-3);margin-inline:auto}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.stack>*+*{margin-top:var(--space-3)}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}:root{--ink:#333;--muted:#767676;--paper:#f4f4f2;--mist:#e9e9e6;--soft:#fafafa;--line:#d8d8d5;--white:#fff;--gray-action:#777;--gray-action-hover:#666;--shadow:0 18px 45px #6060601f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);letter-spacing:0;margin:0;font-family:Noto Sans JP,sans-serif;line-height:1.8}img{max-width:100%;display:block}a{color:inherit}.site-header{z-index:50;backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#fffffff0;justify-content:space-between;align-items:center;gap:18px;min-height:74px;padding:10px clamp(18px,4vw,48px);display:flex;position:sticky;top:0}.brand{align-items:center;min-width:92px;text-decoration:none;display:inline-flex}.brand-logo{width:86px;height:auto}.site-nav{align-items:center;gap:4px;display:flex}.nav-link{color:var(--ink);border-radius:999px;padding:8px 11px;font-size:.88rem;text-decoration:none}.nav-link:hover,.nav-link.is-current{background:var(--mist);color:var(--ink)}.menu-toggle{background:0 0;border:0;padding:8px;display:none}.menu-toggle span{background:var(--gray-action);width:24px;height:2px;margin:5px 0;display:block}.home-hero,.page-hero{background-image:var(--hero-image);background-position:50%;background-size:cover;align-items:end;min-height:calc(100svh - 74px);display:flex;position:relative}.home-hero:after{content:"";z-index:0;pointer-events:none;background:linear-gradient(#fff0,#ffffff75 44%,#ffffffd1);height:58%;position:absolute;inset:auto 0 0}.page-hero{min-height:62svh}.hero-shade,.page-hero-overlay{z-index:0;background:linear-gradient(90deg,#ffffff75,#f4f4f22e 44%,#f4f4f200 76%);position:absolute;inset:0}.home-hero-content,.page-hero-content{z-index:1;width:min(980px,100%);color:var(--ink);text-shadow:0 1px 2px #ffffffe6,0 4px 24px #ffffffdb;padding:clamp(56px,9vw,110px) clamp(20px,6vw,76px);position:relative}.hero-top-copy{z-index:1;white-space:normal;text-align:center;width:min(1280px,100% - 40px);text-shadow:none;margin:0;font-size:clamp(2.825rem,6.69vw,6.04rem);font-weight:700;line-height:calc(1.12em + 2mm);position:absolute;top:calc(50% - 2.3cm);left:50%;transform:translate(-50%,-50%)}.hero-top-copy span{display:block}.page-hero-content{width:min(980px,100%);padding:clamp(56px,9vw,110px) clamp(20px,6vw,76px)}.home-hero h1,.page-hero h1{margin:0 0 18px;font-family:Noto Sans JP,sans-serif;font-weight:700}.home-hero h1{max-width:980px;font-size:clamp(3rem,8vw,7.5rem);line-height:1}.page-hero h1{font-size:clamp(2.35rem,6vw,5.4rem);line-height:1}.hero-subtitle{text-align:center;margin:0 0 2px;font-size:clamp(1rem,1.7vw,1.35rem);font-weight:700}.hero-brand{text-align:center;margin:0 0 20px;font-family:Noto Sans JP,sans-serif;font-size:clamp(3rem,8vw,7.5rem);font-weight:700;line-height:1}.hero-lead,.page-hero-content p:last-child{max-width:680px;font-size:clamp(1rem,1.8vw,1.2rem)}.hero-lead{font-weight:500}.eyebrow{color:var(--muted);text-transform:uppercase;margin:0 0 12px;font-size:.78rem;font-weight:700}.home-hero .eyebrow,.page-hero .eyebrow{color:var(--muted)}.button{border:1px solid var(--line);cursor:pointer;background:var(--white);min-height:46px;color:var(--ink);border-radius:999px;justify-content:center;align-items:center;padding:11px 18px;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}.button.primary{background:var(--gray-action);border-color:var(--gray-action);color:var(--white)}.home-hero .button{text-shadow:none}.home-hero .button.primary{color:var(--white);box-shadow:none;background:#111;border-color:#111}.home-hero .button.primary:hover{background:#333;border-color:#333}.button.ghost,.button.outline{border-color:var(--gray-action);color:var(--ink);background:#ffffffc7}.hero-actions,.contact-actions{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.section-inner{width:min(1120px,100%);margin:auto;padding:clamp(64px,9vw,112px) clamp(20px,5vw,56px)}.section-inner.narrow{width:min(860px,100%)}h2{margin:0 0 24px;font-family:Noto Sans JP,sans-serif;font-size:clamp(1.75rem,4vw,3.2rem);font-weight:700;line-height:1.35}.story-title{margin-bottom:34px;font-size:clamp(2.05rem,6.3vw,5.6rem);line-height:1.12}.story-title span{display:block}h3{margin:0 0 8px;font-size:1.08rem}.story-band,.profile-section,.works-preview{background:var(--white)}.daily-text{color:var(--ink);font-family:Noto Sans JP,sans-serif;font-size:1.1rem}.image-text{background:var(--mist);grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;display:grid}.image-text.reverse{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}.image-text.reverse .image-panel{order:2}.image-panel{height:100%;min-height:520px}.image-panel img{object-fit:cover;width:100%;height:100%}.text-panel{padding:clamp(48px,7vw,90px)}.section-block{background:var(--paper)}.value-grid,.step-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:34px;display:grid}.value-grid article,.step,.work-card{background:var(--white);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 22px #78787814}.value-grid article,.step{padding:28px}.value-grid span,.step span{color:var(--muted);margin-bottom:14px;font-weight:800;display:inline-block}.section-head{justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px;display:flex}.text-link{color:var(--ink);font-weight:700}.featured-works{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.featured-works a{background:var(--mist);border-radius:8px;min-height:360px;text-decoration:none;display:block;position:relative;overflow:hidden}.featured-works img{object-fit:cover;width:100%;height:100%;transition:transform .4s;position:absolute;inset:0}.featured-works span{max-width:calc(100% - 28px);color:var(--ink);border:1px solid var(--line);background:#ffffffdb;border-radius:999px;padding:6px 12px;font-weight:700;position:absolute;bottom:14px;left:14px}.featured-works a:hover img{transform:scale(1.04)}.cta-band,.note-band{background:var(--mist);color:var(--ink)}.cta-band .eyebrow,.note-band .eyebrow{color:var(--muted)}.profile-grid,.company-layout,.contact-grid{grid-template-columns:.8fr 1.2fr;align-items:center;gap:clamp(28px,6vw,72px);display:grid}.profile-grid img{width:100%;max-width:340px;box-shadow:var(--shadow);border-radius:8px}.prose-section p{font-size:1.02rem}.step-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-row{flex-wrap:wrap;gap:10px;margin-bottom:30px;display:flex}.filter{border:1px solid var(--line);background:var(--white);color:var(--ink);cursor:pointer;border-radius:999px;padding:9px 14px}.filter.is-active{background:var(--mist);border-color:var(--gray-action);color:var(--ink)}.works-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.work-card{overflow:hidden}.work-card img{aspect-ratio:4/5;object-fit:cover;width:100%}.work-card div{padding:18px}.tag{color:var(--muted);margin:0 0 6px;font-size:.78rem;font-weight:700}.company-list{border-top:1px solid var(--line);margin:0}.info-row{border-bottom:1px solid var(--line);grid-template-columns:150px 1fr;gap:20px;padding:14px 0;display:grid}.info-row dt{color:var(--ink);font-weight:700}.info-row dd{margin:0}.contact-form{background:var(--white);border:1px solid var(--line);border-radius:8px;gap:14px;padding:24px;display:grid}.contact-form label{gap:6px;font-weight:700;display:grid}.contact-form input,.contact-form textarea{border:1px solid var(--line);width:100%;font:inherit;background:var(--white);border-radius:8px;padding:12px}.form-message{color:var(--ink);margin:0;font-weight:700}.site-footer{background:var(--white);color:var(--ink);border-top:1px solid var(--line)}.footer-inner{justify-content:space-between;gap:24px;width:min(1120px,100%);margin:auto;padding:38px clamp(20px,5vw,56px);display:flex}.footer-logo{width:92px;height:auto}.footer-info p{color:var(--muted);margin:.2rem 0}@media (width<=900px){.menu-toggle{display:block}.site-nav{background:var(--white);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:14px 20px 22px;display:none;position:absolute;top:74px;left:0;right:0}.site-nav.is-open{display:flex}.nav-link{padding:12px}.home-hero,.page-hero{min-height:72svh}.home-hero:after{background:linear-gradient(#fff0,#ffffff9e 36%,#ffffffe0);height:70%}.home-hero .hero-shade{background:linear-gradient(#ffffff14,#ffffff47 40%,#ffffff94)}.image-text,.image-text.reverse,.profile-grid,.company-layout,.contact-grid{grid-template-columns:1fr}.image-text.reverse .image-panel{order:0}.image-panel{min-height:360px}.value-grid,.featured-works,.works-grid,.step-grid{grid-template-columns:1fr}.featured-works a{min-height:280px}.footer-inner{display:block}.footer-logo{margin-bottom:18px}.info-row{grid-template-columns:1fr;gap:2px}}@media (width<=480px){.site-header{padding:9px 16px}.brand-logo{width:78px}.home-hero-content,.page-hero-content{padding:54px 18px}.home-hero{min-height:calc(100svh - 74px)}.hero-top-copy{white-space:normal;font-size:clamp(2.41rem,10.71vw,3.095rem);top:calc(43% - 1cm)}.hero-top-copy span{display:block}.home-hero h1{font-size:3.25rem}.story-title{font-size:clamp(2rem,8.7vw,2.65rem)}.section-inner{padding:56px 18px}.text-panel{padding:44px 18px}.button,.hero-actions,.contact-actions{width:100%}.work-card img{aspect-ratio:5/4}}:root{--accent:#e60012}h2,h3,.story-title{letter-spacing:.06em;font-family:Shippori Mincho,Noto Serif CJK JP,Hiragino Mincho ProN,serif;font-weight:600}h2{line-height:1.55}.story-title{letter-spacing:.05em;line-height:1.45}@media (width<=720px){h2{font-size:clamp(1.35rem,5.6vw,1.9rem)}.story-title{font-size:clamp(1.45rem,6.6vw,2.1rem)}h3{font-size:1.02rem}}.value-grid span,.step span{letter-spacing:.14em;font-weight:500}.eyebrow{letter-spacing:.2em;font-weight:500}@media (width>=721px){h2{font-size:clamp(1.7rem,2.4vw,2.5rem)}.story-title{font-size:clamp(2rem,3.6vw,3.4rem);line-height:1.5}h3{font-size:1.06rem}}.section-head .text-link{white-space:nowrap}@media (width<=720px){.section-head{display:block}.section-head .text-link{margin-top:12px;display:inline-block}}.featured-works a{border-radius:2px}.featured-works span{color:#fff;letter-spacing:.1em;backdrop-filter:blur(4px);background:#1414108c;border:1px solid #ffffff40;border-radius:2px;font-weight:500}.button{letter-spacing:.14em;border-radius:2px}.button.primary{color:#fff;background:#23231f;border-color:#23231f}.button.primary:hover{background:#3a3a34;border-color:#3a3a34}.value-grid article,.step,.work-card{border-radius:2px}h2{text-wrap:balance}.page-hero{align-items:flex-end;display:flex}.page-hero-overlay{background:#10100d6b}.page-hero-content{color:#fff;text-shadow:0 1px 12px #00000059}.page-hero-content .eyebrow{color:#ffffffeb;letter-spacing:.22em;align-items:center;gap:12px;margin:0 0 16px;font-size:.74rem;display:flex}.page-hero-content .eyebrow:before{content:"";background:#ffffffd9;flex:none;width:28px;height:1px}.page-hero h1{letter-spacing:.08em;color:#fff;text-shadow:0 2px 16px #00000052;font-family:Shippori Mincho,Noto Serif CJK JP,Hiragino Mincho ProN,serif;font-size:clamp(1.9rem,4vw,3rem);font-weight:600;line-height:1.4}.page-hero-content>p:not(.eyebrow){color:#fffffff0;letter-spacing:.03em;max-width:40em;font-size:.9rem;line-height:2}@media (width<=720px){.page-hero-content>p:not(.eyebrow){font-size:.8rem}}.about-copy .nb{white-space:nowrap}.about-copy ruby rt{letter-spacing:.3em;color:#6b6b62;ruby-align:center;font-size:.34em;font-weight:500}.story-band .daily-text{font-size:1rem}.story-band .daily-text+p{font-size:1.1rem}.mh-gallery{margin-top:22px}.mh-note{letter-spacing:.14em;color:var(--muted);align-items:center;gap:10px;margin:0 0 10px;font-size:.72rem;display:flex}.mh-note:before{content:"";background:var(--muted);width:20px;height:1px}.mh-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.mh-grid img{aspect-ratio:1;object-fit:cover;border:1px solid var(--line);border-radius:2px;width:100%;display:block}@media (width<=720px){.mh-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=900px){.image-text.text-first-sp .image-panel{order:2}}.value-grid .card-photo{aspect-ratio:16/10;object-fit:cover;border-radius:2px;width:100%;margin-bottom:16px;display:block}#model-house .mh-cta{margin-top:30px;display:inline-block}.contact-form select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:2px;padding:12px;font-family:inherit;font-size:1rem}@media (width<=480px){#model-house .mh-cta{text-align:center;width:100%}}.plan-gift{border:1px solid var(--line);background:#fff;border-radius:2px;grid-template-columns:1fr 1.1fr;align-items:stretch;margin:30px 0 8px;display:grid;overflow:hidden;box-shadow:0 14px 34px #7873641a}.plan-gift-visual{border-right:1px solid var(--line);background:#fdfcf9;display:flex}.plan-gift-visual svg{width:100%;height:100%;min-height:240px;display:block}.plan-gift-text{padding:30px 30px 26px}.plan-gift-badge{background:var(--accent);color:#fff;letter-spacing:.22em;border-radius:2px;margin-bottom:14px;padding:5px 14px;font-size:.74rem;font-weight:700;display:inline-block}.plan-gift-text h3{margin:0 0 12px;font-size:clamp(1.25rem,2vw,1.55rem);line-height:1.5}.plan-gift-text p{margin:0 0 10px}.plan-gift-note{color:var(--muted);font-size:.8rem}.plan-gift-note strong{color:var(--accent)}@media (width<=720px){.plan-gift{grid-template-columns:1fr}.plan-gift-visual{border-right:0;border-bottom:1px solid var(--line)}.plan-gift-text{padding:22px 20px 20px}}.career{margin-top:30px}.career-list{border-top:1px solid var(--line);margin:14px 0 0}.career-list>div{border-bottom:1px solid var(--line);grid-template-columns:92px 1fr;gap:14px;padding:11px 2px;display:grid}.career-list dt{color:var(--muted);letter-spacing:.06em;font-size:.85rem}.career-list dd{margin:0;font-size:.92rem;line-height:1.7}.footer-bottom{border-top:1px solid var(--line);width:min(1120px,100%);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin:0 auto;padding:14px clamp(20px,5vw,56px) 22px;font-size:.78rem;display:flex}.footer-bottom a{color:var(--muted);text-decoration:underline}@media (width<=480px){.footer-bottom{flex-direction:column;align-items:flex-start;gap:6px}}.form-consent{color:var(--muted);margin:4px 0 10px;font-size:.78rem;line-height:1.8}.form-consent a{color:var(--ink)}.privacy-body h2{margin:34px 0 10px;font-size:1.15rem}.privacy-body p{line-height:2}.privacy-date{color:var(--muted);margin-top:30px;font-size:.85rem}.site-nav a.nav-link.nav-cta{color:#fff;letter-spacing:.06em;background:#23231f;border-radius:2px;margin-left:8px;padding:11px 20px;font-weight:700}.site-nav a.nav-link.nav-cta:hover{color:#fff;background:#3a3a34}@media (width<=900px){.site-nav a.nav-link.nav-cta{text-align:center;margin:10px 0 4px;padding:14px}}.wd-intro h2{margin-bottom:1rem;font-size:1.5rem}.wd-gallery{grid-template-columns:repeat(2,1fr);gap:22px;margin-top:1.5rem;display:grid}.wd-photo{margin:0}.wd-photo img{border-radius:6px;width:100%;height:auto;display:block}.wd-photo figcaption{color:#8a887e;letter-spacing:.05em;margin-top:.5rem;font-size:.82rem}.wd-back{margin-top:1.4rem}.wd-back a{color:#fff;opacity:.85;font-size:.9rem;text-decoration:underline}@media (width<=760px){.wd-gallery{grid-template-columns:1fr;gap:16px}}a.work-card{color:inherit;text-decoration:none;display:block}a.work-card .more{color:var(--accent);letter-spacing:.06em;margin-top:.5rem;font-size:.85rem;display:inline-block}a.work-card:hover img{opacity:.88}.mh-showcase{grid-template-columns:repeat(2,1fr);gap:18px;margin:1.8rem 0;display:grid}.mh-showcase figure{margin:0;position:relative}.mh-showcase img{object-fit:cover;aspect-ratio:4/3;border-radius:6px;width:100%;height:100%;display:block}.mh-showcase .wide{grid-column:span 2}.mh-showcase .wide img{aspect-ratio:16/8}@media (width<=760px){.mh-showcase{grid-template-columns:1fr;gap:12px}.mh-showcase .wide{grid-column:span 1}.mh-showcase .wide img{aspect-ratio:4/3}}.gift-band{border-left:4px solid var(--accent);background:#f4f1ea;border-radius:6px;align-items:center;gap:16px;margin:1.6rem 0;padding:18px 22px;display:flex}.gift-band .plan-gift-badge{flex-shrink:0}.gift-band p{margin:0;font-size:.95rem;line-height:1.7}.gift-band strong{color:var(--accent)}@media (width<=640px){.gift-band{flex-direction:column;align-items:flex-start;gap:10px}}.wd-note{color:#8a887e;margin-top:1rem;font-size:.85rem}.wd-specs{border-top:1px solid #e2ded4;flex-wrap:wrap;gap:2.2rem;margin-top:1.4rem;padding-top:1.1rem;display:flex}.wd-specs dt{color:#8a887e;letter-spacing:.08em;font-size:.78rem}.wd-specs dd{margin:0;font-size:1rem}.ba-pair{grid-template-columns:1fr 1fr;gap:18px;margin:1.6rem 0;display:grid}.ba-item{margin:0;position:relative}.ba-item img{aspect-ratio:4/3;object-fit:cover;border-radius:6px;width:100%;display:block}.ba-item .ba-label{color:#fff;letter-spacing:.18em;background:#141412d1;border-radius:3px;padding:4px 12px;font-size:.75rem;position:absolute;top:10px;left:10px}.ba-item.after .ba-label{background:var(--accent)}.ba-item figcaption{color:#8a887e;margin-top:.5rem;font-size:.82rem}@media (width<=640px){.ba-pair{grid-template-columns:1fr;gap:12px}}h1,h2,h3{word-break:keep-all;overflow-wrap:anywhere}.steps-flow{grid-template-columns:1fr 30px 1fr 30px 1fr;align-items:stretch;gap:8px;margin-top:34px;display:grid}.steps-flow .step-arrow{color:var(--accent);justify-content:center;align-items:center;font-size:1.45rem;font-weight:600;display:flex}@media (width<=940px){.steps-flow{grid-template-columns:minmax(0,1fr);gap:4px}.steps-flow .step-arrow{min-height:34px;transform:rotate(90deg)}}.page-hero.mid-hero{min-height:clamp(280px,42vh,420px)}.page-hero.mid-hero .page-hero-content h2{color:#fff;letter-spacing:.08em;margin:0 0 12px;font-family:Shippori Mincho,Noto Serif CJK JP,serif;font-size:clamp(1.7rem,4.4vw,2.5rem)}.contact-form .field-label{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.contact-form .req,.contact-form .opt{letter-spacing:.06em;white-space:nowrap;border-radius:2px;padding:2px 7px;font-size:.72rem;font-weight:700;line-height:1.6}.contact-form .req{color:var(--accent);background:#e6001214;border:1px solid #e600124d}.contact-form .opt{color:var(--muted);border:1px solid var(--line);background:#0000000a}.contact-form .form-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 2px;font-size:.8rem;font-weight:400;display:flex}.gift-band-plan{align-items:center;gap:26px}.gift-band-plan .gift-band-text{flex:auto}.gift-band-plan .plan-gift-badge{margin-bottom:10px;display:inline-block}.gift-band-plan-fig{text-align:center;flex:0 0 clamp(240px,30%,300px);margin:0}.gift-band-plan-fig img{border:1px solid var(--line);background:#fdfcf9;border-radius:4px;width:100%;height:auto;display:block}.gift-band-plan-fig a{text-decoration:none;display:block}.gift-band-plan-fig img{transition:border-color .2s,transform .2s}.gift-band-plan-fig a:hover img{border-color:var(--accent);transform:scale(1.02)}.gift-band-plan-fig figcaption{color:#8a887e;letter-spacing:.06em;margin-top:6px;font-size:.7rem}@media (width<=860px){.gift-band-plan{flex-direction:column;align-items:flex-start;gap:14px}.gift-band-plan-fig{flex:none;align-self:center;width:100%;max-width:340px}}.eyebrow,.page-hero .eyebrow,.cta-band .eyebrow,.note-band .eyebrow,.privacy-date{color:#686868}main img{height:auto}.contact-form .honeypot{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}
