/* Design generated by v0, adapted for the existing server-rendered LP. */
/* Integration styles keep media uncropped and guides readable without a JS framework. */

:root { --ink:#153b55; --ink-deep:#0d2b40; --blue:#2d709b; --orange:#ef8b2c; --orange-soft:#f7e8d3; --paper:#fbfaf6; --muted:#6a7780; --rule:#dce2df; --white:#fff; color-scheme:light; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink-deep); font-family:var(--font-sans), 'Noto Sans JP', sans-serif; }
a { color:inherit; text-decoration:none; }
.section-shell { width:min(1180px, calc(100% - 64px)); margin:auto; }
.site-header { height:76px; padding:0 max(32px, calc((100vw - 1180px)/2)); display:flex; align-items:center; gap:46px; background:rgba(251,250,246,.94); position:sticky; top:0; z-index:10; border-bottom:1px solid rgba(21,59,85,.08); backdrop-filter:blur(12px); }
.brand { display:flex; align-items:center; gap:10px; font-weight:800; letter-spacing:.03em; white-space:nowrap; }.brand img { width:39px; height:39px; border-radius:50%; object-fit:cover; }.brand small { display:block; font-size:9px; font-weight:500; letter-spacing:.08em; color:var(--muted); margin-top:2px; }.site-header nav { display:flex; gap:27px; margin-left:auto; font-size:13px; color:#41525d; }.site-header nav a:hover,.admin-link:hover,.text-link:hover { color:var(--orange); }.header-actions { display:flex; align-items:center; gap:18px; }.admin-link { font-size:12px; color:var(--muted); }.button { display:inline-flex; align-items:center; justify-content:center; gap:16px; padding:16px 22px; border-radius:5px; background:var(--orange); color:#fff; font-size:14px; font-weight:800; box-shadow:0 7px 15px rgba(198,105,26,.16); transition:transform .2s, background .2s; }.button:hover { transform:translateY(-2px); background:#df7819; }.button-small { padding:11px 16px; font-size:12px; gap:9px; }.button-outline { background:transparent; color:var(--ink); border:1px solid var(--ink); box-shadow:none; }.button-light { background:#fff; color:var(--ink); box-shadow:none; }.arrow { font-size:18px; line-height:0; }.hero { min-height:620px; display:grid; grid-template-columns:1fr 430px; align-items:center; position:relative; padding:86px 0 95px; }.eyebrow { display:flex; align-items:center; gap:11px; color:var(--ink); letter-spacing:.17em; font-size:11px; font-weight:800; }.eyebrow i { width:9px; height:9px; background:var(--orange); border-radius:50%; }.eyebrow.orange { color:var(--orange); }.hero h1 { margin:21px 0 23px; font-size:clamp(40px, 5vw, 68px); line-height:1.15; letter-spacing:-.07em; font-weight:800; }.hero h1 em { font-style:normal; color:var(--blue); }.hero h1 strong { color:var(--orange); }.hero-lede { color:#50636e; line-height:1.95; font-size:15px; }.hero-actions { display:flex; align-items:center; gap:26px; margin-top:29px; }.text-link { font-size:13px; font-weight:800; border-bottom:1px solid currentColor; padding-bottom:5px; }.text-link span { color:var(--orange); font-size:18px; margin-left:5px; }.micro-note { color:#8a9597; font-size:10px; margin-top:18px; }.hero-mark { align-self:stretch; display:flex; flex-direction:column; align-items:center; justify-content:center; position:relative; }.hero-mark:before { content:''; position:absolute; width:330px; height:330px; border-radius:50%; background:var(--orange-soft); z-index:-1; }.hero-mark img { width:250px; height:250px; object-fit:cover; border-radius:50%; box-shadow:12px 16px 0 rgba(21,59,85,.11); }.hero-mark span { position:absolute; top:78px; right:0; color:var(--orange); font-size:10px; line-height:1.4; letter-spacing:.17em; font-weight:800; }.video-section { padding-bottom:126px; }.section-kicker { display:flex; align-items:center; gap:15px; color:var(--orange); font-size:10px; letter-spacing:.18em; font-weight:800; }.section-kicker .line { width:80px; height:1px; background:var(--orange); opacity:.5; }.video-heading { display:flex; justify-content:space-between; align-items:end; margin:22px 0 30px; }.video-heading h2,.intro-grid h2,.flow-intro h2,.price-head h2,.faq-grid h2,.final-cta h2 { font-size:clamp(31px, 4vw, 49px); line-height:1.25; letter-spacing:-.06em; margin:0; }.video-heading h2 span,.intro-grid h2 span,.flow-intro h2 span,.price-head h2 span,.final-cta h2 span { color:var(--orange); }.video-heading p { color:var(--muted); font-size:13px; line-height:1.9; text-align:right; }.video-stage { position:relative; background:#112e40; padding:12px; border-radius:12px; box-shadow:0 25px 45px rgba(14,43,62,.2); overflow:hidden; }.video-stage video { display:block; width:100%; aspect-ratio:16/8.2; object-fit:cover; background:#102c3f; border-radius:4px; position:relative; z-index:1; }.video-fallback { display:none; }.video-caption { display:flex; justify-content:space-between; padding:13px 7px 1px; color:#c6d1d3; font-size:10px; letter-spacing:.13em; }.intro-section { background:var(--orange-soft); padding:110px 0; }.intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:end; }.large-copy { color:#52616a; font-size:16px; line-height:2; margin:0; }.large-copy strong { color:var(--ink); }.feature-section { padding:105px 0 125px; }.feature { display:grid; grid-template-columns:1fr 1.25fr; gap:90px; align-items:center; padding:80px 0; border-bottom:1px solid var(--rule); }.feature-case { grid-template-columns:1.25fr 1fr; }.feature-copy { max-width:340px; }.feature-num { color:var(--orange); font-size:12px; font-weight:800; letter-spacing:.12em; }.feature h3 { font-size:32px; line-height:1.3; letter-spacing:-.05em; margin:12px 0 18px; }.feature p { color:var(--muted); line-height:1.9; font-size:14px; margin-bottom:26px; }.shot-frame { background:#e9eef0; padding:17px; border-radius:9px; box-shadow:0 14px 30px rgba(21,59,85,.12); }.shot-frame img { display:block; width:100%; height:auto; border-radius:3px; }.flow-section { background:var(--ink); color:white; padding:95px 0 112px; }.flow-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:60px; }.flow-item { border-top:1px solid rgba(255,255,255,.4); padding-top:17px; }.flow-item > span { color:var(--orange); font-weight:800; font-size:13px; }.flow-item h3 { font-size:17px; margin:31px 0 12px; }.flow-item p { color:#b8c8cb; font-size:12px; line-height:1.8; }.price-section { padding:115px 0 120px; }.price-head { display:flex; justify-content:space-between; align-items:end; margin-bottom:48px; }.price-head > p { color:var(--muted); font-size:13px; line-height:1.9; }.price-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }.price-card { background:#fff; border:1px solid var(--rule); padding:38px 42px 40px; border-radius:8px; position:relative; }.price-card.featured { border:2px solid var(--orange); }.popular { position:absolute; top:-13px; right:25px; background:var(--orange); color:#fff; padding:6px 13px; font-size:10px; font-weight:800; }.plan-label { color:var(--orange); font-size:10px; letter-spacing:.18em; font-weight:800; }.price-card h3 { font-size:24px; margin:9px 0 17px; }.price { display:flex; align-items:baseline; gap:8px; }.price b { font-size:47px; letter-spacing:-.07em; }.price span { font-size:14px; font-weight:800; }.price small { font-weight:500; color:var(--muted); }.tax { color:var(--muted); font-size:12px; }.price-card ul { list-style:none; margin:28px 0 31px; padding:0; border-top:1px solid var(--rule); }.price-card li { padding:10px 0; border-bottom:1px solid var(--rule); font-size:13px; }.price-card li:before { content:'✓'; color:var(--orange); font-weight:bold; margin-right:10px; }.price-note { color:var(--muted); font-size:11px; }.faq-section { background:#f0f3f0; padding:105px 0 120px; }.faq-grid { display:grid; grid-template-columns:330px 1fr; gap:100px; }.faq-note { color:var(--muted); line-height:1.8; font-size:14px; margin:24px 0 29px; }.faq-item { border-top:1px solid #cdd6d3; }.faq-item:last-child { border-bottom:1px solid #cdd6d3; }.faq-item button { width:100%; padding:20px 0; display:flex; justify-content:space-between; gap:20px; background:none; border:0; color:var(--ink); text-align:left; font:inherit; font-size:14px; font-weight:800; cursor:pointer; }.faq-item button b { color:var(--orange); font-size:22px; font-weight:400; }.faq-item p { margin:-4px 30px 20px 0; color:var(--muted); font-size:13px; line-height:1.9; }.final-cta { background:var(--orange); color:#fff; padding:90px 0; overflow:hidden; }.final-inner { display:flex; align-items:center; justify-content:space-between; }.final-cta .eyebrow { color:#ffe0bd; }.final-cta h2 { margin:17px 0; }.final-cta p:not(.eyebrow) { color:#ffe8d2; font-size:14px; margin-bottom:28px; }.final-cta img { width:230px; height:230px; object-fit:cover; border-radius:50%; transform:rotate(5deg); }.final-cta .button-light:hover { background:#fff8ef; }.final-cta .arrow { color:var(--orange); }.site-header + .hero { border-top:0; }footer { padding:29px 0; background:#09273a; color:#d9e5e4; }footer .section-shell { display:flex; align-items:center; gap:45px; }footer .brand small { color:#92aeb2; }footer .brand img { width:32px; height:32px; }footer div div { display:flex; gap:22px; margin-left:auto; font-size:11px; color:#b9c9c9; }footer > .section-shell > small { font-size:10px; color:#7e979d; }.mobile-only { display:none; }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.button { transition:none; } }
@media (max-width:760px) { .section-shell { width:calc(100% - 36px); }.site-header { height:65px; padding:0 18px; gap:0; justify-content:space-between; }.site-header nav,.admin-link { display:none; }.brand { font-size:13px; }.brand img { width:35px; height:35px; }.header-actions { gap:0; }.button-small { padding:9px 11px; font-size:10px; }.hero { display:block; padding:64px 0 73px; min-height:auto; }.hero h1 { font-size:42px; margin-top:17px; }.hero-lede { font-size:14px; }.mobile-only { display:block; }.hero-actions { align-items:flex-start; flex-direction:column; gap:20px; }.hero-mark { height:215px; margin-top:25px; }.hero-mark:before { width:200px; height:200px; }.hero-mark img { width:155px; height:155px; }.hero-mark span { top:15px; right:20px; font-size:8px; }.video-section { padding-bottom:78px; }.video-heading { display:block; }.video-heading h2 { font-size:33px; }.video-heading p { text-align:left; margin-top:20px; }.video-stage { padding:7px; }.video-caption { font-size:8px; }.intro-section { padding:75px 0; }.intro-grid,.faq-grid { grid-template-columns:1fr; gap:28px; }.large-copy { font-size:14px; }.feature-section { padding:75px 0; }.feature,.feature-case { display:flex; flex-direction:column; gap:30px; padding:55px 0; align-items:stretch; }.feature-case .shot-frame { order:2; }.feature h3 { font-size:29px; }.flow-section { padding:75px 0; }.flow-grid { grid-template-columns:1fr 1fr; gap:35px 19px; margin-top:40px; }.flow-item h3 { font-size:14px; margin-top:18px; }.flow-item p { font-size:11px; }.price-section { padding:76px 0; }.price-head { display:block; }.price-head > p { margin-top:20px; }.price-grid { grid-template-columns:1fr; }.price-card { padding:32px 25px; }.faq-section { padding:75px 0; }.faq-grid h2 { font-size:36px; }.final-cta { padding:75px 0; }.final-inner { display:block; }.final-cta img { width:150px; height:150px; margin:36px 0 0 55%; }footer .section-shell { flex-wrap:wrap; gap:20px; }footer div div { order:3; width:100%; margin-left:0; justify-content:space-between; }footer > .section-shell > small { margin-left:auto; } }
body { font-family: 'Yu Gothic', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif; }
html { scroll-padding-top:95px; }
img { max-width:100%; }
.skip { position:fixed; top:-60px; left:15px; z-index:50; background:white; padding:12px; }.skip:focus { top:10px; }
:focus-visible { outline:3px solid #2d709b; outline-offset:5px; }
.hero > *, .feature > * { min-width:0; }
.hero h1 { font-size:clamp(36px,4.25vw,58px); letter-spacing:-.06em; line-height:1.3; }
.hero { grid-template-columns:minmax(0,1fr) 320px; min-height:560px; padding:65px 0; }
.hero-mark:before { z-index:0; }.hero-mark img,.hero-mark span { z-index:1; }
.video-shell { position:relative; background:#102c3f; border-radius:5px; overflow:hidden; }
.video-shell video,.video-stage video { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; }
.play { position:absolute; inset:0; z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; border:0; width:100%; cursor:pointer; color:white; background:linear-gradient(0deg,rgba(9,39,58,.62),rgba(9,39,58,.12)); font:inherit; }
.play > span { width:76px; height:76px; display:grid; place-items:center; background:var(--orange); border-radius:50%; padding-left:5px; font-size:28px; box-shadow:0 0 0 12px #ffffff24; }
.play strong { font-size:20px; text-shadow:0 2px 6px #09273a; }.play small { font-size:12px; }.play[hidden] { display:none; }
.micro-note { line-height:1.9; color:#62717b; }.micro-note a { text-decoration:underline; }
.faq-item summary { list-style:none; display:flex; justify-content:space-between; align-items:center; gap:20px; cursor:pointer; padding:20px 0; font-size:14px; font-weight:800; }.faq-item summary::-webkit-details-marker { display:none; }.faq-item summary b { color:#ac5409; font-size:22px; }.faq-item[open] summary b { transform:rotate(45deg); }
.wrap { width:min(1180px,calc(100% - 64px)); margin:auto; }.section { padding:80px 0; }.note { color:var(--muted); font-size:12px; line-height:1.9; }
.guides-section { padding-top:90px; padding-bottom:100px; }.guides-section h2 { font-size:36px; line-height:1.4; letter-spacing:-.04em; }.guide-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; margin-top:36px; }.guide-card { border-top:2px solid var(--orange); padding:24px 0; }.guide-card h3 { font-size:21px; line-height:1.6; }.guide-card p:not(.eyebrow) { font-size:14px; color:var(--muted); line-height:1.9; }.guide-card > span { color:var(--blue); font-size:13px; font-weight:700; }
.article { max-width:800px; padding-top:60px; padding-bottom:90px; }.article h1,.demo-page h1 { font-size:clamp(30px,4vw,46px); line-height:1.5; }.article p { line-height:2; }.article section { margin:44px 0; }.article h2 { font-size:26px; line-height:1.6; }.article-summary { font-size:18px; }.breadcrumbs { font-size:13px; margin-bottom:30px; }.article-cta { background:var(--orange-soft); padding:28px; border-radius:8px; }.article li { margin:16px 0; }.article li a { text-decoration:underline; }.demo-page > .video-shell { margin-top:30px; }.transcript { max-width:900px; margin:50px auto; }.transcript p { display:flex; gap:20px; line-height:2; }.transcript span { color:var(--orange); font-weight:800; }
.price-note { line-height:1.9; }.button { color:#173b54; }.button:hover { color:white; }.button-light { color:var(--ink); }.final-cta h2 { color:#153b55; }.final-cta p:not(.eyebrow) { color:#153b55; }.final-cta .eyebrow { color:#153b55; }
@media (min-width:761px) and (max-width:1080px) { .site-header { gap:20px; }.site-header nav { gap:15px; }.admin-link { display:none; }.hero { grid-template-columns:minmax(0,1fr) 240px; }.hero-mark img { width:210px; height:210px; }.hero-mark:before { width:230px; height:230px; }.feature { gap:40px; }.faq-grid { gap:45px; grid-template-columns:260px 1fr; } }
@media (max-width:760px) { .hero { display:block; padding:44px 0; min-height:0; }.hero h1 { font-size:clamp(28px,7.8vw,42px); }.hero-mark { height:165px; margin:20px 0 0; }.hero-mark img { width:135px; height:135px; }.hero-mark:before { width:155px; height:155px; }.hero-mark span { right:10px; top:0; }.hero-actions { gap:18px; }.video-heading h2 { font-size:30px; }.play > span { width:52px; height:52px; font-size:20px; }.play strong { font-size:15px; }.play small { font-size:10px; }.wrap { width:calc(100% - 36px); }.guide-grid { grid-template-columns:1fr; gap:5px; }.guides-section h2 { font-size:29px; }.section { padding:45px 0; }.article { padding-top:40px; }.faq-item summary { font-size:13px; }.final-cta img { margin-left:50%; }.brand small { font-size:8px; }footer .section-shell > div { flex-wrap:wrap; gap:18px; }.video-caption { letter-spacing:0; }.flow-intro h2 { font-size:31px; }.transcript p { gap:12px; } }
/* Typography and vivid brand treatment, September 2026. */
:root { --blue:#006cce; --orange:#ff941f; --orange-soft:#fff0d9; --ink:#113d64; --ink-deep:#0b2c4b; --muted:#536777; }
body { font-family:'BIZ UDPGothic','Yu Gothic','Hiragino Kaku Gothic ProN',Meiryo,sans-serif; font-size:16px; line-height:1.8; -webkit-font-smoothing:antialiased; }
h1,h2,h3,.brand,.button { font-feature-settings:'palt'; font-weight:800; }
.site-header { height:82px; border-bottom:2px solid #e1edf5; background:#ffffffed; }
.brand { font-size:20px; letter-spacing:0; }.brand small { font-size:10px; }.brand img { width:46px; height:46px; }
.site-header nav { font-size:14px; font-weight:700; gap:22px; }.header-actions { gap:15px; }.admin-link { font-size:13px; }
.button { font-size:16px; padding:17px 25px; border-radius:10px; background:var(--orange); color:#0b2c4b; border-bottom:4px solid #dc6b00; box-shadow:0 8px 22px #eb8c2533; }
.button:hover { background:#ffad48; color:#0b2c4b; }.button-small { font-size:13px; padding:10px 17px; }.button-outline { background:white; border:2px solid #1c577e; box-shadow:none; }.button-light { background:white; border-color:#d7e3ed; }
.hero { isolation:isolate; padding:72px 0 66px; grid-template-columns:minmax(0,1fr) 340px; gap:25px; }
.hero:before { content:''; position:absolute; inset:0 calc(50% - 50vw); z-index:-1; background:radial-gradient(ellipse at 88% 45%,#bce9ff 0,transparent 47%),linear-gradient(125deg,#f2faff 0%,#e6f5ff 65%,#ffecd0 100%); border-bottom:1px solid #bbdcee; }
.hero .eyebrow { font-size:13px; letter-spacing:.05em; color:#0758a0; }.hero h1 { font-size:clamp(32px,4.5vw,63px); line-height:1.35; letter-spacing:-.065em; margin:25px 0; }.hero h1 em { color:#006cce; }.hero h1 strong { display:inline-block; color:#0b2c4b; background:linear-gradient(transparent 65%,#ffa227 65%); padding:0 .06em .07em; }
.hero-lede { font-size:17px; line-height:2; color:#284d68; font-weight:500; }.hero-actions { gap:24px; margin-top:28px; }.hero-actions .button { padding:19px 28px; font-size:18px; }.text-link { font-size:15px; }.micro-note { font-size:12px; }
.hero-mark:before { width:330px; height:330px; background:#ffab36; box-shadow:0 0 0 18px #ffffff8f,0 22px 50px #0468ab22; transform:rotate(-8deg); border-radius:38% 48% 36% 44%; }.hero-mark img { width:280px; height:280px; border:7px solid white; box-shadow:8px 12px 0 #006cce; transform:rotate(-5deg); }.hero-mark span { background:#006cce; color:white; padding:12px 17px; border-radius:8px; right:-8px; top:35px; font-size:12px; transform:rotate(7deg); }
.video-section { padding-top:64px; padding-bottom:90px; }.section-kicker,.eyebrow { font-size:12px; }.section-kicker { color:#a54f00; }.video-heading h2,.intro-grid h2,.flow-intro h2,.price-head h2,.faq-grid h2,.final-cta h2 { font-size:clamp(32px,3.5vw,46px); line-height:1.45; letter-spacing:-.045em; }.video-heading h2 span,.intro-grid h2 span,.price-head h2 span { color:#0070cc; }.video-heading p { font-size:15px; }.video-stage { padding:14px; border-radius:19px; background:#075894; box-shadow:0 22px 50px #034e8133; border:3px solid #147dcc; }.video-caption { font-size:12px; color:white; padding:12px 5px 0; }.play > span { width:88px; height:88px; background:#ff941f; color:#103554; box-shadow:0 0 0 14px #ffffff4a; }.play strong { font-size:24px; }.play small { font-size:14px; }
.intro-section { background:#fff0d9; padding:85px 0; }.large-copy { font-size:17px; }.feature-section { padding-top:80px; padding-bottom:85px; }.feature { gap:60px; padding:65px 0; }.feature h3 { font-size:34px; line-height:1.5; }.feature p { font-size:16px; }.feature-num { font-size:18px; color:#006cce; }.shot-frame { padding:12px; background:#d9edff; border:1px solid #b7daef; border-radius:14px; }.flow-section { background:linear-gradient(120deg,#083b68,#056ab6); }.flow-item h3 { font-size:18px; }.flow-item p { font-size:15px; color:#e0effb; }.flow-item > span { font-size:22px; }.flow-grid { gap:28px; }.price-card { border-radius:15px; }.price-card.featured { border:3px solid #ff941f; box-shadow:0 15px 40px #ef8b2c1a; }.price b { font-size:56px; }.price-card li { font-size:15px; }.price-note,.tax { font-size:13px; }.price-head > p { font-size:15px; }.faq-item summary { font-size:16px; line-height:1.8; }.faq-item p { font-size:15px; }.faq-note { font-size:16px; }.guide-card p:not(.eyebrow) { font-size:16px; }.guide-card > span { font-size:15px; }.final-cta { background:linear-gradient(110deg,#ffac37,#ff861e); }.final-cta p:not(.eyebrow) { font-size:16px; }.final-cta img { border:7px solid white; box-shadow:12px 14px 0 #006cce; }
@media (min-width:761px) and (max-width:1080px) { .hero { grid-template-columns:minmax(0,1fr) 240px; gap:18px; }.hero h1 { font-size:clamp(30px,4.35vw,47px); }.hero-mark:before { width:220px; height:240px; }.hero-mark img { width:210px; height:210px; }.hero-mark span { top:28px; right:0; font-size:10px; }.hero-lede { font-size:15px; }.site-header { gap:15px; }.site-header nav { gap:14px; font-size:12px; }.brand { font-size:17px; }.button-small { padding:10px 12px; font-size:12px; }.hero-actions { gap:16px; }.hero-actions .button { padding:17px 20px; font-size:16px; } }
@media(max-width:760px) { .site-header { height:72px; }.brand { font-size:16px; }.brand img { width:38px; height:38px; }.brand small { font-size:9px; }.button-small { padding:9px 10px; font-size:11px; }.hero { display:block; padding:38px 0 35px; }.hero .eyebrow { font-size:11px; letter-spacing:0; }.hero h1 { font-size:clamp(27px,7.55vw,42px); line-height:1.5; letter-spacing:-.065em; margin:19px 0; }.hero-lede { font-size:15px; line-height:1.95; }.hero-actions { gap:18px; }.hero-actions .button { font-size:17px; padding:17px 23px; }.hero-mark { height:190px; margin-top:28px; }.hero-mark:before { width:170px; height:165px; box-shadow:0 0 0 10px #ffffff8f; }.hero-mark img { width:155px; height:155px; border-width:5px; }.hero-mark span { top:20px; right:6px; font-size:9px; padding:9px; }.micro-note { font-size:11px; }.video-section { padding-top:38px; padding-bottom:55px; }.video-heading h2 { font-size:29px; }.video-heading p { font-size:14px; }.video-stage { padding:7px; border-radius:12px; border-width:2px; }.video-caption { font-size:10px; letter-spacing:0; }.play > span { width:52px; height:52px; box-shadow:0 0 0 8px #ffffff4a; }.play strong { font-size:16px; }.play small { font-size:11px; }.large-copy,.feature p { font-size:15px; }.feature { gap:25px; padding:43px 0; }.feature h3 { font-size:28px; }.flow-grid { grid-template-columns:1fr; gap:20px; margin-top:30px; }.flow-item { display:grid; grid-template-columns:38px 1fr; gap:4px 14px; }.flow-item h3 { margin:0; font-size:17px; }.flow-item p { grid-column:2; margin:0; font-size:14px; }.price-card li { font-size:14px; }.price-note { font-size:12px; }.price b { font-size:49px; }.faq-item summary { font-size:15px; }.faq-item p { font-size:14px; }.final-cta p:not(.eyebrow) { font-size:15px; }.section-kicker { font-size:10px; } }
/* Clear photo-consultation message and restrained Japanese typography. */
body { font-family:'Yu Gothic','Hiragino Kaku Gothic ProN',Meiryo,sans-serif; }
h1,h2,h3 { font-weight:700; font-style:normal; }
.hero { padding:65px 0; }
.hero:before { background:linear-gradient(110deg,#f5faff,#eaf5fd); }
.consultation-examples { font-size:17px; font-weight:500; color:#526b7c; margin:28px 0 12px; letter-spacing:.02em; }
.hero h1 { font-family:'Yu Gothic','Hiragino Kaku Gothic ProN',Meiryo,sans-serif; font-size:clamp(38px,4.3vw,60px); font-weight:700; font-style:normal; letter-spacing:.015em; line-height:1.45; margin:12px 0 16px; color:#123d5b; }
.hero-subtitle { font-size:24px; font-weight:500; line-height:1.65; letter-spacing:.02em; margin:0 0 22px; color:#2b657f; }
.hero-lede { font-size:17px; font-weight:400; line-height:1.95; }
.hero-mark:before { background:#f8e5cb; border-radius:50%; transform:none; box-shadow:0 0 0 14px #ffffff8f; }
.hero-mark img { transform:none; border:5px solid white; box-shadow:0 10px 30px #2c61741c; }
.hero-mark span { background:transparent; color:#688697; transform:none; top:40px; font-size:10px; }
@media (min-width:761px) and (max-width:1080px) { .hero h1 { font-size:43px; }.hero-subtitle { font-size:20px; }.consultation-examples { font-size:14px; }.hero-lede { font-size:15px; } }
@media(max-width:760px) { .hero { padding:35px 0; }.consultation-examples { font-size:13px; letter-spacing:0; margin:23px 0 13px; }.hero h1 { font-size:clamp(33px,9vw,46px); line-height:1.5; letter-spacing:.005em; margin:10px 0 15px; }.hero-subtitle { font-size:18px; letter-spacing:0; }.hero-lede { font-size:15px; }.hero-mark span { top:25px; } }
