:root{--ink:#171714;--paper:#f7f6f2;--white:#fff;--red:#d53b24;--muted:#6f6d67;--line:#d9d6ce;--serif:"Noto Serif JP",YuMincho,"Yu Mincho",serif;--sans:"Noto Sans JP",system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.85;-webkit-font-smoothing:antialiased}img{display:block;width:100%}a{color:inherit}.announcement{height:32px;background:var(--ink);color:#fff;text-align:center;font-size:12px;line-height:32px;letter-spacing:.08em}.site-header{height:68px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:rgba(247,246,242,.94);position:relative;z-index:5}.brand{text-decoration:none;font-size:15px;letter-spacing:.18em;font-weight:600}.brand span{color:var(--red)}.header-link,.text-link{font-size:13px;text-decoration:none;border-bottom:1px solid;padding-bottom:4px;letter-spacing:.06em}.hero{min-height:calc(100svh - 100px);display:grid;background:#efeee9}.hero-media{position:relative;min-height:48svh;overflow:hidden}.hero-media>img{height:100%;object-fit:cover;object-position:center 57%}.hero-seal{position:absolute;width:108px;height:108px;right:18px;bottom:18px;background:rgba(255,255,255,.8);border-radius:50%;padding:10px;box-shadow:0 8px 30px rgba(0,0,0,.08)}.hero-copy{padding:36px 6vw 44px}.eyebrow{margin:0 0 16px;color:var(--red);font-size:11px;font-weight:600;letter-spacing:.2em}.hero h1,.section h2,.roles h2,.materials h2,.final-cta h2{font-family:var(--serif);font-size:clamp(34px,9vw,64px);font-weight:500;line-height:1.45;letter-spacing:.02em;margin:0}.hero h1 em{font-style:normal;color:var(--red)}.lead{margin:20px 0;color:#45443f;line-height:2}.hero-offer{margin:22px 0 16px;border-top:1px solid var(--line);padding-top:16px;display:flex;justify-content:space-between;align-items:end}.hero-offer span{font-size:13px}.hero-offer strong{font-family:var(--serif);font-size:24px}.hero-offer small{font-family:var(--sans);font-size:11px;font-weight:400}.button{min-height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;text-decoration:none;font-size:14px;letter-spacing:.05em;transition:.25s}.button-primary{color:#fff;background:var(--red)}.button:hover{filter:brightness(.92);transform:translateY(-1px)}.microcopy{text-align:center;margin:10px 0 0;font-size:11px;color:var(--muted)}.proof-band{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border-block:1px solid var(--line);padding:22px 3vw}.proof-band div{text-align:center;border-right:1px solid var(--line)}.proof-band div:last-child{border:0}.proof-band strong{display:block;font-family:var(--serif);font-size:19px}.proof-band span{display:block;font-size:10px;color:var(--muted)}.section{padding:88px 6vw}.section>h2{font-size:clamp(30px,8vw,52px)}.intro>p:not(.eyebrow,.gallery-note){max-width:660px;margin:28px 0 42px}.seal-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.seal-gallery img{background:#ebeae4;aspect-ratio:1;object-fit:contain;padding:9px}.gallery-note{text-align:right;color:var(--muted);font-size:12px}.section-dark{background:var(--ink);color:white}.roles{display:grid}.roles-image img{height:64vw;max-height:560px;object-fit:cover;object-position:center}.roles-copy{padding:72px 6vw}.roles h2{font-size:clamp(34px,9vw,56px)}.roles ol{list-style:none;padding:0;margin:42px 0 0}.roles li{display:flex;gap:22px;padding:23px 0;border-top:1px solid #41413d}.roles li>span{color:var(--red);font-size:12px}.roles h3{font-family:var(--serif);font-size:21px;font-weight:500;margin:0 0 6px}.roles li p{margin:0;color:#b8b6ae;font-size:14px}.assurance-grid{margin-top:40px;display:grid;gap:12px}.assurance article{background:#fff;padding:28px}.assurance b{font-family:var(--serif);font-weight:400;color:var(--red)}.assurance h3{font-family:var(--serif);font-size:20px;font-weight:500;margin:30px 0 10px}.assurance p{margin:0;color:var(--muted);font-size:14px}.materials{position:relative;background:#dedcd4}.materials>img{height:72vw;max-height:680px;object-fit:cover;object-position:center}.materials-card{padding:48px 6vw 64px;background:#dedcd4}.materials-card p:not(.eyebrow){color:#55534e}.materials-card .text-link{display:inline-block;margin-top:18px}.process{background:#fff}.steps{margin-top:42px}.steps article{display:grid;grid-template-columns:44px 1fr;padding:24px 0;border-top:1px solid var(--line)}.steps span{grid-row:1/3;color:var(--red);font-family:var(--serif);font-size:24px}.steps h3{margin:0;font-family:var(--serif);font-weight:500;font-size:19px}.steps p{margin:6px 0 0;color:var(--muted);font-size:14px}.faq-list{margin-top:36px;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;list-style:none;font-family:var(--serif);font-size:17px;padding-right:36px;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:"＋";position:absolute;right:0;color:var(--red)}details[open] summary:after{content:"−"}details p{font-size:14px;color:var(--muted);margin:14px 0 4px;padding-right:20px}.final-cta{position:relative;min-height:660px;background:#141412;color:#fff;display:flex;align-items:end;overflow:hidden}.final-cta>img{position:absolute;inset:0;height:100%;object-fit:cover;opacity:.42}.final-cta:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 25%,rgba(0,0,0,.82))}.final-cta>div{position:relative;z-index:1;padding:0 6vw 84px;width:100%}.final-cta h2{font-size:clamp(34px,9vw,58px)}.final-cta p:not(.eyebrow){color:#ddd}.button-light{margin-top:28px;background:#fff;color:var(--ink)}footer{background:#111;color:#aaa;padding:50px 6vw 110px;display:grid;gap:10px;font-size:12px}footer .brand{color:#fff;margin-bottom:15px}footer p{margin:0}footer>a:last-child{width:max-content}.sticky-cta{position:fixed;z-index:20;bottom:0;left:0;right:0;padding:10px max(12px,env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom));display:flex;gap:12px;align-items:center;background:rgba(255,255,255,.97);box-shadow:0 -5px 25px rgba(0,0,0,.09)}.sticky-cta div{flex:1;line-height:1.3}.sticky-cta small,.sticky-cta strong{display:block}.sticky-cta small{font-size:9px;color:var(--muted)}.sticky-cta strong{font-family:var(--serif);font-size:17px}.sticky-cta a{background:var(--red);color:white;text-decoration:none;padding:13px 22px;font-size:13px}.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}}
@media(min-width:800px){.site-header{padding:0 4vw}.hero{grid-template-columns:58% 42%;min-height:calc(100vh - 100px)}.hero-media{min-height:0;order:2}.hero-media>img{object-position:55% center}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:7vw 5vw}.hero h1{font-size:clamp(42px,4.2vw,72px)}.proof-band{padding:28px 20vw}.proof-band strong{font-size:25px}.section{padding:130px max(8vw,calc((100vw - 1200px)/2))}.intro>p:not(.eyebrow,.gallery-note){font-size:18px}.seal-gallery{gap:18px}.seal-gallery img{padding:20px}.roles{grid-template-columns:52% 48%}.roles-image img{height:100%;max-height:none}.roles-copy{padding:110px 8vw 110px 6vw}.assurance-grid{grid-template-columns:repeat(3,1fr);gap:18px}.assurance article{padding:36px;min-height:260px}.materials{min-height:740px}.materials>img{height:740px}.materials-card{position:absolute;right:6vw;bottom:70px;width:min(520px,48vw);padding:56px;background:rgba(247,246,242,.94)}.steps{display:grid;grid-template-columns:repeat(4,1fr)}.steps article{display:block;border-top:1px solid var(--line);padding:28px 30px 0 0}.steps span{display:block;margin-bottom:38px}.faq{display:grid;grid-template-columns:38% 62%;gap:7vw}.faq-list{margin:0}.final-cta{min-height:760px}.final-cta>div{padding:0 10vw 110px;max-width:840px}.button-light{max-width:380px}.sticky-cta{display:none}footer{padding-bottom:50px}}
/* Official logo */
.brand{display:inline-flex;align-items:center;text-decoration:none;font-size:0;letter-spacing:0}
.brand img{display:block;width:160px;height:auto}
footer .brand{width:max-content;margin-bottom:15px;background:#fff;padding:8px 10px}
footer .brand img{width:180px}
/* Imprint gallery names */
.seal-gallery figure{margin:0;background:#ebeae4;overflow:hidden}
.seal-gallery figure img{background:transparent}
.seal-gallery figcaption{padding:8px 6px 10px;border-top:1px solid rgba(23,23,20,.08);text-align:center;font-family:var(--serif);font-size:12px;letter-spacing:.08em;color:#56544e}
@media(min-width:800px){.seal-gallery figcaption{padding:11px 8px 13px;font-size:14px}}
