:root { --ink:#113052; --muted:#58708a; --line:#d5e5f0; --surface:#f4f9fd; --accent:#f19834; --tver-blue:#009fe8; --tver-deep:#0756a0; --tver-pale:#e4f5fd; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font-family:"IBM Plex Sans JP", system-ui, sans-serif; font-size:16px; line-height:1.8; }
.wrap { width:min(1120px, calc(100% - 48px)); margin:auto; }
.site-header, footer .wrap { display:flex; justify-content:space-between; gap:16px; font-size:.73rem; letter-spacing:.13em; }.company-lockup{display:grid;gap:2px;line-height:1.2}.company-lockup b{font-size:.73rem;font-weight:500}.company-lockup small{font-size:.58rem;letter-spacing:.06em}.brand-lockup{display:flex;align-items:center;gap:9px;letter-spacing:0}.brand-lockup img{display:block;width:82px;height:auto}.brand-lockup em{font-style:normal;color:var(--muted);font-size:.6rem;letter-spacing:.1em}
.site-header { width:min(1280px, calc(100% - 48px)); margin:0 auto; padding:20px 0; color:var(--muted); }
.hero { background:linear-gradient(122deg,var(--tver-deep) 0%,#087cc5 53%,var(--tver-blue) 100%); color:#fff; }
.hero-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:56px; padding:clamp(56px, 8vw, 104px) 0; align-items:center; }
.eyebrow { margin:0 0 18px; color:var(--muted); font-size:.72rem; font-weight:500; letter-spacing:.15em; }
.eyebrow::before { content:""; display:inline-block; width:24px; height:2px; margin:0 10px 3px 0; background:var(--accent); }
h1,h2,h3,p { margin-top:0; } h1,h2,h3 { font-weight:600; letter-spacing:-.035em; line-height:1.28; }
h1 { margin-bottom:0; font-size:clamp(2.45rem, 5.3vw, 5rem); } h1 em{font-style:normal;color:#bcecff;font-size:.72em;}
h2 { font-size:clamp(1.65rem, 3.1vw, 2.65rem); }
h3 { margin:0 0 12px; font-size:1.13rem; } p { margin-bottom:0; }
.hero .eyebrow,.hero .micro { color:rgba(255,255,255,.78); }.hero .eyebrow::before{background:#fff}.hero-content { max-width:620px; }.tver-hero-mark{display:flex;align-items:center;gap:12px;margin:0 0 22px}.tver-hero-mark img{width:92px;height:auto;padding:7px 10px;background:#fff;border-radius:6px}.tver-hero-mark span{font-size:.76rem;letter-spacing:.06em;color:rgba(255,255,255,.85)}.hero-lead { max-width:500px; margin:28px 0 22px; font-size:1.05rem; }.priority-slot { display:grid; grid-template-columns:auto auto; align-items:baseline; gap:2px 14px; width:max-content; margin:0 0 22px; padding:12px 16px 13px; border-left:3px solid var(--accent); background:rgba(255,255,255,.12); line-height:1.25; }.priority-slot span,.priority-slot small { color:rgba(255,255,255,.8); font-size:.72rem; letter-spacing:.08em; }.priority-slot strong { font-size:1.35rem; letter-spacing:-.03em; }.priority-slot small { grid-column:1 / -1; margin-top:3px; letter-spacing:0; }.hero-actions { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); max-width:590px; gap:12px; }.hero-image { margin:0; min-height:450px; overflow:hidden; border-radius:22px 0 0 22px; box-shadow:0 22px 46px rgba(0,35,74,.2); }.hero-image img { display:block; width:100%; height:100%; min-height:450px; object-fit:cover; object-position:center; }
.button { display:inline-flex; justify-content:space-between; align-items:center; gap:28px; min-height:54px; padding:14px 18px; color:var(--ink); font-weight:600; line-height:1.35; text-decoration:none; transition:transform .18s ease, background .18s ease, box-shadow .18s ease; }
.button:hover,.button:focus-visible { transform:translateY(-2px); outline:2px solid var(--ink); outline-offset:3px; }.button span{transition:transform .18s ease}.button:hover span,.button:focus-visible span{transform:translateX(4px)}
.button-primary { background:var(--accent); } .button-primary:hover { background:#d97f18; } .button-secondary { border:1px solid var(--ink); }.button-cta{position:relative;isolation:isolate;z-index:0;border:1px solid var(--ink);background:transparent;overflow:hidden}.button-cta::before,.button-cta::after{content:"";position:absolute;pointer-events:none}.button-cta::before{inset:0;z-index:-2;background:#fff}.button-cta::after{left:50%;top:50%;z-index:-1;width:14px;height:14px;border-radius:50%;background:var(--accent);transform:translate(-50%,-50%) scale(0);transition:transform .62s cubic-bezier(.2,.75,.25,1)}.button-cta span{position:relative;z-index:1}.button-cta:hover,.button-cta:focus-visible{background:transparent}.button-cta:hover::after,.button-cta:focus-visible::after{transform:translate(-50%,-50%) scale(42)}
.micro,.small { color:var(--muted); font-size:.78rem; line-height:1.7; }.micro a { color:inherit; text-decoration-color:var(--accent); text-underline-offset:3px; }.hero .micro { margin-top:12px; }
.section { padding:clamp(68px, 9vw, 124px) 0; }.two-column { display:grid; grid-template-columns:1fr 2fr; gap:52px; }.two-column > div:last-child { max-width:720px; }.two-column p:not(.eyebrow):not(.micro) { font-size:1.05rem; }
.tver-education{background:var(--tver-pale)}.education-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:52px;align-items:start}.education-mark{display:grid;gap:14px;padding:30px;background:#fff;border-radius:18px;box-shadow:0 12px 30px rgba(10,75,135,.08)}.education-mark img{width:132px;height:auto}.education-mark span{color:var(--tver-deep);font-size:.8rem;font-weight:600;letter-spacing:.08em}.education-points{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:32px 0}.education-points article{display:grid;gap:8px;padding:18px;background:rgba(255,255,255,.7);border-radius:10px}.education-points strong{color:var(--tver-deep);font-size:.92rem}.education-points span{color:var(--muted);font-size:.75rem;line-height:1.6}.solution { background:var(--surface); }.benefits { margin-top:48px; border-top:1px solid var(--line); }.benefits article { display:grid; grid-template-columns:54px 1fr; column-gap:14px; padding:24px 0; border-bottom:1px solid var(--line); }.benefits span { grid-row:span 3; color:var(--tver-blue); font-size:.75rem; letter-spacing:.08em; }.benefits p { grid-column:2; }.benefits .small { margin-top:10px; }.note { margin-top:24px; }
.media-value { background:#fff; }.media-value-head { display:grid; grid-template-columns:1.1fr .9fr; gap:54px; align-items:end; margin-bottom:52px; }.media-value-head h2 { margin-bottom:0; }.media-value-head p { font-size:1.03rem; }.ad-break-diagram { display:grid; grid-template-columns:1fr 108px 1fr 108px 1fr; min-height:240px; border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); }.program-block,.ad-slot { display:flex; flex-direction:column; justify-content:center; padding:28px; text-align:left; }.program-block { background:var(--surface); color:var(--ink); }.ad-slot { background:var(--accent); color:var(--ink); }.diagram-kicker { margin-bottom:14px; color:var(--muted); font-size:.67rem; letter-spacing:.11em; }.program-block strong,.ad-slot strong { font-size:1.2rem; line-height:1.45; }.program-block small,.ad-slot small { margin-top:12px; color:var(--muted); font-size:.72rem; line-height:1.6; }.flow-arrow { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; padding:12px 6px; background:#fff; text-align:center; }.flow-arrow span { color:var(--muted); font-size:.68rem; line-height:1.45; }.flow-arrow i { font-style:normal; font-size:1.7rem; line-height:1; }.media-facts { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:38px 0 18px; }.media-facts article { display:grid; gap:9px; }.media-facts strong { font-size:clamp(2rem,4vw,3.8rem); letter-spacing:-.06em; line-height:1; }.media-facts span { color:var(--muted); font-size:.78rem; line-height:1.65; }.targeting { background:var(--surface); }.targeting-flow { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:38px 0 22px; }.targeting-flow span { padding:8px 12px; border-bottom:1px solid var(--ink); font-size:.86rem; font-weight:500; }.targeting-flow i { color:var(--accent); font-style:normal; font-size:1.25rem; }
.reach-explorer { padding:clamp(68px,9vw,124px) 0; background:linear-gradient(135deg,var(--tver-deep),var(--tver-blue)); color:#fff; }.reach-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; align-items:center; }.reach-explorer .eyebrow,.reach-explorer p,.reach-result span,.reach-result small { color:rgba(255,255,255,.8); }.reach-explorer .eyebrow::before{background:#fff}.reach-copy h2 { margin-bottom:20px; }.reach-result { display:grid; gap:4px; margin-top:32px; }.reach-result strong { color:#fff; font-size:clamp(2.6rem,5vw,4.3rem); line-height:1; letter-spacing:-.06em; }.reach-result small { font-size:.76rem; }.map-stage { position:relative; min-height:480px; overflow:hidden; background:#d5d7d3; border-radius:18px; }.map-stage iframe { width:100%; height:480px; border:0; filter:grayscale(1) contrast(.95); }.map-wash { position:absolute; inset:0; background:rgba(0,97,177,.3); pointer-events:none; }.reach-pulse { position:absolute; left:51%; top:49%; width:90px; height:90px; border-radius:50%; border:2px solid #fff; transform:translate(-50%,-50%); }.reach-pulse span { position:absolute; inset:-1px; border-radius:50%; border:1px solid rgba(255,255,255,.8); animation:pulse 2.5s infinite; }.reach-pulse span:nth-child(2){animation-delay:.8s}.reach-pulse span:nth-child(3){animation-delay:1.6s}.reach-pulse.medium{width:175px;height:175px}.reach-pulse.large{width:270px;height:270px}.map-label { position:absolute; left:20px; bottom:20px; display:grid; padding:14px 16px; background:#fff; color:var(--tver-deep); line-height:1.3; border-radius:10px; }.map-label span { color:var(--muted); font-size:.72rem; margin-top:5px; } @keyframes pulse { 0%{transform:scale(1);opacity:.8} 100%{transform:scale(1.8);opacity:0} }
.viewing-story { display:grid; grid-template-columns:1.1fr .9fr; border-bottom:1px solid var(--ink); }.viewing-image { min-height:520px; }.viewing-image img { width:100%;height:100%;display:block;object-fit:cover; }.viewing-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(48px,8vw,120px); background:var(--surface); }.viewing-copy p:not(.eyebrow) { max-width:410px; }
.data-head { display:flex; justify-content:space-between; gap:24px; align-items:end; margin-bottom:42px; }.data-head h2 { margin-bottom:0; }.data-head p { font-size:.92rem; line-height:1.65; }.table-wrap { overflow-x:auto; } table { width:100%; min-width:660px; border-collapse:collapse; text-align:left; } th { padding:0 12px 13px; border-bottom:1px solid var(--ink); font-size:.82rem; font-weight:500; color:var(--muted); } td { padding:17px 12px; border-bottom:1px solid var(--line); font-weight:500; } td small { display:block; margin-top:3px; color:var(--muted); font-size:.75rem; font-weight:400; }.data .micro { margin-top:18px; }
.campaign-design { background:var(--surface); }.video-support{margin-top:34px;padding:26px 28px;border:1px solid #b9ddec;background:#fff}.video-support .eyebrow{margin-bottom:10px;color:var(--tver-deep)}.video-support-eligibility{display:inline-block;margin:0 0 9px;padding:4px 8px;background:#fff0dc;color:#a45c12;font-size:.7rem!important;font-weight:600;letter-spacing:.06em;line-height:1.45}.video-support h3{margin-bottom:8px;color:var(--tver-deep)}.video-support p:not(.eyebrow):not(.micro):not(.video-support-eligibility){font-size:.94rem}.video-support ul{display:grid;gap:5px;margin:16px 0;padding:0;list-style:none;color:var(--muted);font-size:.82rem;line-height:1.65}.video-support li{position:relative;padding-left:15px}.video-support li::before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--accent)}
.process { list-style:none; padding:0; margin:38px 0 0; border-top:1px solid var(--ink); counter-reset:steps; }.process li { display:grid; grid-template-columns:1fr 2fr; gap:16px; padding:20px 0 20px 42px; border-bottom:1px solid var(--line); position:relative; }.process li::before { counter-increment:steps; content:"0" counter(steps); position:absolute; left:0; top:20px; color:var(--muted); font-size:.75rem; }.process strong { font-weight:600; }.process span { color:var(--muted); }
.contact { background:var(--surface); padding:clamp(72px, 10vw, 136px) 0; }.contact-inner { max-width:800px; }.contact h2 { margin-bottom:22px; }.contact h2 em { color:var(--accent); font-style:normal; }.contact-inner > p:not(.eyebrow):not(.micro) { max-width:610px; }.actions { display:flex; flex-wrap:wrap; gap:12px; margin:36px 0 14px; }
footer { padding:22px 0; color:var(--muted); } footer .wrap { font-size:.7rem; }.footer-company{white-space:nowrap}.footer-company i{font-style:normal;margin:0 5px;color:var(--accent)}.footer-note{letter-spacing:.04em}
.devices{background:#fff}.device-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:72px;align-items:center}.device-grid>div>p:not(.eyebrow):not(.note){font-size:1.05rem}.device-chart{display:grid;gap:20px;padding:30px;background:var(--surface);border-top:2px solid var(--tver-blue)}.device-chart article{display:grid;gap:8px}.device-label{display:flex;align-items:baseline;justify-content:space-between;gap:18px;font-size:.8rem;font-weight:600}.device-label strong{color:var(--ink);font-size:clamp(1.55rem,3vw,2.15rem);line-height:1;letter-spacing:-.06em}.device-label small{margin-left:2px;font-size:.52em;letter-spacing:0}.device-bar{height:10px;overflow:hidden;background:#d8e8f0}.device-bar i{display:block;width:var(--share);height:100%;background:var(--tver-blue)}.device-chart article:nth-child(2) .device-bar i{background:#2580c2}.device-chart article:nth-child(3) .device-bar i{background:#6aa9d1}.device-chart .note{margin:4px 0 0}
@media (max-width:720px) { body { font-size:16px; line-height:1.75; }.wrap,.site-header { width:min(100% - 32px, 1120px); }.site-header { align-items:center; padding:16px 0; font-size:.62rem; }.brand-lockup img{width:70px}.hero-grid,.two-column,.reach-grid,.viewing-story,.media-value-head,.education-grid,.device-grid { grid-template-columns:1fr; gap:30px; }.device-chart{padding:22px}.hero-grid { padding:48px 0 0; }.hero-content { padding-bottom:0; }.tver-hero-mark{margin-bottom:18px}.tver-hero-mark img{width:82px}.hero-lead { margin:24px 0 20px; font-size:1rem; }.priority-slot { width:100%; grid-template-columns:1fr auto; }.hero-actions { display:grid; gap:10px; }.hero-image,.hero-image img { min-height:0; height:260px; }.hero-image{border-radius:18px 18px 0 0}.hero-image img { object-position:center; }.button { width:100%; min-height:58px; padding:16px 18px; }.section { padding:64px 0; }.two-column { gap:16px; }.education-points{grid-template-columns:1fr;gap:8px;margin:24px 0}.education-mark{padding:24px}.data-head { display:block; }.data-head h2 { margin-bottom:24px; }.benefits { margin-top:34px; }.benefits article { grid-template-columns:40px 1fr; padding:22px 0; }.video-support{margin-top:26px;padding:22px 20px}.process li { grid-template-columns:1fr; gap:4px; padding-left:38px; }.actions { display:grid; gap:10px; }.contact { padding:72px 0; }.contact h2 br { display:none; }.map-stage,.map-stage iframe { min-height:320px; height:320px; }.reach-pulse.large{width:190px;height:190px}.map-label { left:14px; bottom:14px; padding:11px 12px; }.viewing-image{min-height:280px}.viewing-copy{padding:58px 24px;}.ad-break-diagram{grid-template-columns:1fr;min-height:0;}.program-block,.ad-slot{min-height:150px;padding:22px;}.flow-arrow{display:flex;flex-direction:row;min-height:62px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}.flow-arrow span{text-align:left;}.flow-arrow i{transform:rotate(90deg);}.media-facts{grid-template-columns:1fr;gap:20px}.media-value-head{margin-bottom:32px}.media-facts strong{font-size:2.7rem} footer .wrap { display:grid; gap:8px; } }
@media (prefers-reduced-motion:reduce){.button,.button span,.button-cta::after{transition:none}.button:hover,.button:focus-visible{transform:none}}

/* Three-photo hero (B案・2026-09-27): keep all three scenes side by side and preserve each face. */
.hero-triptych{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));aspect-ratio:1.85 / 1;height:auto;min-height:0;background:#fff}
.hero-triptych .hero-pane{position:relative;inset:auto;width:auto;height:100%;min-width:0;overflow:hidden}
.hero-triptych .hero-pane img{display:block;width:100%;height:100%;min-height:0;object-fit:cover}
.hero-triptych .hero-pane--cafe img{object-position:68% center}
.hero-triptych .hero-pane--salon img{object-position:64% center}
.hero-triptych .hero-pane--event img{object-position:52% center}
@media (max-width:720px){.hero-triptych{height:auto;min-height:0;aspect-ratio:1.85 / 1}.hero-triptych .hero-pane{left:auto;top:auto;width:auto;height:100%}}

/* Current-route conversion update: put audience, offer and next steps in the first view. */
.hero-grid{display:block;max-width:900px;padding:clamp(28px,5vw,54px) 0 44px}
.hero-content{max-width:780px;margin:0 auto;text-align:center}
.hero-recipient{margin-bottom:10px;font-size:.88rem;letter-spacing:.06em}
.hero h1{font-size:clamp(1.75rem,5vw,3rem);line-height:1.2}
.hero-lead{max-width:none;margin:10px auto 18px;font-size:1rem}
.priority-slot{width:min(100%,520px);margin:0 auto 10px;text-align:left}
.hero-video-condition{display:flex;justify-content:center;align-items:baseline;flex-wrap:wrap;gap:0 8px;margin:0 auto 16px;font-size:.9rem}
.hero-video-condition strong{font-size:1.05rem;color:#fff0d9}
.hero-video-condition span{color:rgba(255,255,255,.82);font-size:.78rem}
.hero-actions{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px;margin:0 auto;gap:10px}
.hero-actions .button{min-height:68px;padding:12px 16px;text-align:left;gap:8px}
.cta-label{display:grid;gap:2px}
.cta-label small{font-size:.76rem;font-weight:400;letter-spacing:0}
.quick-facts{padding:26px 0 28px;background:#f4f9fd;border-bottom:1px solid #d5e5f0}
.quick-facts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 24px;align-items:center}
.quick-facts-grid article{display:grid;gap:2px;text-align:center}
.quick-facts-grid article strong{font-size:clamp(1.35rem,3vw,2rem);line-height:1.3;color:#0756a0}
.quick-facts-grid article span{font-size:.76rem;color:#58708a}
.quick-facts-grid>p{grid-column:1/-1;text-align:center;font-size:.85rem;font-weight:600}
.quick-facts-grid>p small{display:block;font-size:.68rem;font-weight:400;color:#58708a}
@media(max-width:720px){
 .hero-grid{padding:28px 0 30px}
 .hero-content{padding-bottom:0}
 .hero-recipient{margin-bottom:8px}
 .hero h1{font-size:clamp(1.65rem,7vw,2.35rem)}
 .hero-lead{margin:9px auto 14px;font-size:.92rem}
 .priority-slot{grid-template-columns:auto auto;margin-bottom:8px;padding:10px 13px}
 .hero-video-condition{margin-bottom:13px;font-size:.83rem}
 .hero-video-condition strong{font-size:.96rem}
 .hero-video-condition span{font-size:.72rem}
 .hero-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .hero-actions .button{min-height:70px;padding:9px 9px;font-size:.82rem}
 .cta-label small{font-size:.66rem}
 .quick-facts{padding:18px 0 20px}
 .quick-facts-grid{gap:6px 10px}
 .quick-facts-grid article strong{font-size:1.27rem}
 .quick-facts-grid article span{font-size:.65rem;line-height:1.45}
 .quick-facts-grid>p{font-size:.76rem}
 .quick-facts-grid>p small{font-size:.62rem;line-height:1.5}
}
