.launch-page { background:#f7f3ea; color:#153d45; }
.launch-page :where(h1,h2,h3,p,ol,ul,figure) { margin-top:0; }
.launch-shell { width:min(1180px,calc(100% - 40px)); margin-inline:auto; }
.launch-header { min-height:82px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:28px; }
.launch-header .brand { justify-self:start; }
.launch-nav { display:flex; justify-content:center; flex-wrap:wrap; gap:4px; }
.launch-nav a { min-height:44px; display:inline-flex; align-items:center; border-radius:999px; padding:8px 12px; color:inherit; font-weight:750; text-decoration:none; }
.launch-nav a:hover,.launch-nav a:focus-visible { background:#e3f1ec; }
.launch-language { position:relative; z-index:10; }
.launch-language summary { min-height:44px; display:flex; align-items:center; gap:8px; border:1px solid #cad3d0; border-radius:999px; background:#fffdfa; padding:8px 14px; cursor:pointer; list-style:none; font-weight:800; }
.launch-language summary::-webkit-details-marker { display:none; }
.launch-language > div { width:190px; position:absolute; top:calc(100% + 7px); right:0; display:grid; border:1px solid #cad3d0; border-radius:16px; background:#fffdfa; padding:6px; box-shadow:0 18px 45px rgb(17 55 63 / 15%); }
.launch-language a { min-height:42px; display:flex; align-items:center; border-radius:11px; padding:8px 10px; color:inherit; text-decoration:none; }
.launch-language a:hover,.launch-language a:focus-visible,.launch-language a[aria-current=page] { background:#dff0e9; }
.launch-hero { min-height:590px; margin-top:24px; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr); overflow:hidden; border:1px solid #cad3d0; border-radius:42px; background:#fffdfa; }
.launch-hero__copy { padding:clamp(36px,7vw,86px); align-self:center; }
.launch-hero h1 { max-width:780px; margin:12px 0 24px; font-family:"Fraunces","Noto Sans JP",serif; font-size:clamp(44px,6vw,82px); line-height:.99; letter-spacing:-.035em; }
.launch-hero__copy > p:last-of-type { max-width:690px; color:#587078; font-size:clamp(17px,2vw,21px); line-height:1.75; }
.launch-hero__copy > a { margin-top:24px; }
.launch-hero figure { min-width:0; min-height:100%; position:relative; background:#b8ddd3; }
.launch-hero img { width:100%; height:100%; display:block; object-fit:cover; }
.launch-hero figcaption { position:absolute; right:20px; bottom:18px; max-width:80%; border-radius:999px; background:rgb(255 253 250 / 88%); padding:8px 12px; font-size:12px; }
.launch-intro { margin-block:72px 36px; display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(28px,7vw,90px); align-items:end; }
.launch-intro h2 { margin:8px 0 0; font-family:"Fraunces","Noto Sans JP",serif; font-size:clamp(36px,5vw,64px); line-height:1.04; }
.launch-intro > p { color:#587078; font-size:18px; line-height:1.75; }
.launch-translation { margin:28px 0 64px; display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(28px,6vw,70px); border:1px solid #94b5ad; border-left:8px solid #f36b52; border-radius:26px; background:#e3f1ec; padding:clamp(24px,4vw,40px); }
.launch-translation h2 { margin:8px 0 14px; font-family:"Fraunces","Noto Sans JP",serif; font-size:clamp(29px,3.5vw,42px); line-height:1.08; }
.launch-translation p { margin-bottom:0; color:#405f67; line-height:1.75; }
.launch-translation dl { margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; overflow:hidden; border:1px solid #bfd2cc; border-radius:18px; background:#bfd2cc; }
.launch-translation dl div { min-width:0; background:#fffdfa; padding:14px 16px; }
.launch-translation dt { color:#587078; font-size:11px; font-weight:850; letter-spacing:.06em; }
.launch-translation dd { margin:5px 0 0; overflow-wrap:anywhere; color:#153d45; font-size:14px; font-weight:800; line-height:1.45; }
.launch-group { margin-block:26px 76px; scroll-margin-top:24px; }
.launch-group__head { display:flex; justify-content:space-between; gap:30px; align-items:end; border-bottom:3px solid #153d45; padding-bottom:16px; }
.launch-group__head h2 { margin:0; font-family:"Fraunces","Noto Sans JP",serif; font-size:clamp(32px,4vw,52px); }
.launch-group__head span { color:#587078; font-weight:800; }
.launch-grid { margin-top:18px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.launch-card { min-width:0; min-height:290px; display:flex; flex-direction:column; border:1px solid #cad3d0; border-radius:26px; background:#fffdfa; padding:24px; color:inherit; text-decoration:none; transition:transform .18s ease,border-color .18s ease; }
.launch-card:hover { transform:translateY(-3px); border-color:#153d45; }
.launch-card__mark { width:max-content; border-radius:999px; background:#b9dfd5; padding:7px 10px; font-size:12px; font-weight:900; letter-spacing:.08em; }
.launch-card h3 { margin:24px 0 12px; font-size:clamp(21px,2.2vw,29px); line-height:1.25; }
.launch-card p { color:#587078; line-height:1.65; }
.launch-card b { margin-top:auto; padding-top:22px; }
.launch-featured { margin-block:70px; display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); border-radius:34px; overflow:hidden; background:#163e46; color:#fff; }
.launch-featured > div:first-child { padding:clamp(30px,6vw,66px); }
.launch-featured h2 { margin:10px 0 18px; font-family:"Fraunces","Noto Sans JP",serif; font-size:clamp(38px,5vw,65px); }
.launch-featured p { color:rgb(255 255 255 / 72%); line-height:1.75; }
.launch-featured__cards { display:grid; }
.launch-featured__cards a { min-height:100%; display:flex; flex-direction:column; justify-content:center; background:#f36b52; padding:clamp(30px,6vw,66px); color:#153d45; text-decoration:none; }
.launch-featured__cards strong { margin:15px 0; font-size:clamp(26px,4vw,44px); line-height:1.18; }
.launch-featured__cards span:last-child { font-weight:900; }
.launch-library-note { margin-block:60px; border-left:6px solid #f36b52; padding:8px 0 8px 22px; color:#587078; font-size:16px; line-height:1.7; }
.launch-article { width:min(1080px,calc(100% - 40px)); margin-inline:auto; }
.launch-breadcrumbs { margin:34px 0 18px; }
.launch-breadcrumbs ol { display:flex; flex-wrap:wrap; gap:8px; padding:0; list-style:none; color:#587078; font-size:13px; }
.launch-breadcrumbs li+li::before { content:"/"; margin-right:8px; }
.launch-breadcrumbs a { color:inherit; }
.launch-article-hero { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr); overflow:hidden; border:1px solid #cad3d0; border-radius:38px; background:#fffdfa; }
.launch-article-hero__copy { padding:clamp(32px,6vw,68px); }
.launch-article-hero h1 { margin:13px 0 20px; font-family:"Fraunces","Noto Sans JP",serif; font-size:clamp(42px,6vw,72px); line-height:1.02; letter-spacing:-.025em; }
.launch-article-hero__copy > p:not(.eyebrow) { color:#587078; font-size:19px; line-height:1.75; }
.launch-review { margin-top:28px; display:flex; flex-wrap:wrap; gap:10px 18px; color:#587078; font-size:12px; }
.launch-article-hero figure { min-height:420px; }
.launch-article-hero img { width:100%; height:100%; display:block; aspect-ratio:3/2; object-fit:cover; }
.launch-toc { margin:22px 0 54px; border:1px solid #cad3d0; border-radius:18px; background:#fffdfa; padding:16px 20px; }
.launch-toc ol { margin:0; display:flex; flex-wrap:wrap; gap:8px 22px; padding-left:20px; }
.launch-toc a { min-height:38px; display:inline-flex; align-items:center; color:inherit; font-weight:750; }
.launch-reading { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(280px,.55fr); gap:clamp(34px,7vw,86px); align-items:start; }
.launch-reading__main { min-width:0; }
.launch-reading section { scroll-margin-top:24px; margin-bottom:62px; }
.launch-reading h2 { margin:9px 0 22px; font-family:"Fraunces","Noto Sans JP",serif; font-size:clamp(34px,4.5vw,54px); line-height:1.08; }
.launch-reading p { color:#405f67; font-size:17px; line-height:1.85; }
.launch-answer { border-radius:28px; background:#b9dfd5; padding:clamp(25px,5vw,46px); }
.launch-answer p:last-child { margin-bottom:0; color:#153d45; font-size:20px; }
.launch-steps { counter-reset:step; padding:0; list-style:none; }
.launch-steps li { min-height:88px; position:relative; border-top:1px solid #cad3d0; padding:22px 0 22px 62px; color:#405f67; font-size:17px; line-height:1.75; }
.launch-steps li::before { counter-increment:step; content:counter(step,decimal-leading-zero); width:42px; height:42px; position:absolute; left:0; top:21px; display:grid; place-items:center; border-radius:50%; background:#f36b52; color:#153d45; font-size:12px; font-weight:900; }
.launch-scene { border:1px solid #cad3d0; border-radius:28px; background:#fffdfa; padding:clamp(25px,5vw,46px); }
.launch-phrase { border-radius:28px; background:#153d45; padding:clamp(25px,5vw,46px); color:#fff; }
.launch-phrase h2,.launch-phrase p { color:#fff; }
.launch-phrase blockquote { margin:26px 0 10px; border-radius:18px; background:#fffdfa; padding:22px; color:#153d45; font-size:clamp(21px,3vw,31px); font-weight:800; line-height:1.55; }
.launch-aside { position:sticky; top:18px; display:grid; gap:14px; }
.launch-aside section { margin:0; border:1px solid #cad3d0; border-radius:22px; background:#fffdfa; padding:22px; }
.launch-aside h2 { font-family:inherit; font-size:18px; }
.launch-aside a { min-height:44px; display:inline-flex; align-items:center; font-weight:800; }
.launch-next { margin-block:64px 80px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.launch-next a { min-height:110px; display:flex; flex-direction:column; justify-content:center; border-radius:22px; background:#f36b52; padding:22px; color:#153d45; text-decoration:none; }
.launch-next small { margin-bottom:8px; font-weight:800; }
.launch-footer { width:min(1180px,calc(100% - 40px)); margin:70px auto 26px; display:grid; grid-template-columns:1fr auto; gap:30px; border-top:1px solid #cad3d0; padding-top:34px; }
.launch-footer p { max-width:660px; color:#587078; line-height:1.7; }
.launch-footer nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px 18px; }
.launch-footer a { min-height:44px; display:inline-flex; align-items:center; color:inherit; font-weight:750; }
@media(max-width:900px){.launch-header{grid-template-columns:auto auto}.launch-nav{grid-column:1/-1;grid-row:2;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}.launch-hero,.launch-article-hero,.launch-featured,.launch-reading,.launch-translation{grid-template-columns:1fr}.launch-hero figure{min-height:360px}.launch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.launch-aside{position:static}.launch-article-hero figure{min-height:auto}.launch-footer{grid-template-columns:1fr}.launch-footer nav{justify-content:flex-start}}
@media(max-width:620px){.launch-shell,.launch-article,.launch-footer{width:calc(100% - 28px)}.launch-header{gap:12px}.launch-header .brand small{display:none}.launch-language summary{padding-inline:11px}.launch-language summary span:first-child{display:none}.launch-nav a{padding-inline:10px}.launch-hero{min-height:0;border-radius:26px}.launch-hero__copy{padding:30px 24px}.launch-hero h1{font-size:42px}.launch-hero figure{min-height:280px}.launch-intro{grid-template-columns:1fr;margin-top:52px}.launch-translation{margin-block:20px 48px;border-left-width:6px;border-radius:22px;padding:22px 18px}.launch-translation dl{grid-template-columns:1fr}.launch-grid{grid-template-columns:1fr}.launch-card{min-height:0}.launch-featured{grid-template-columns:1fr;border-radius:25px}.launch-article-hero{grid-template-columns:1fr;border-radius:25px}.launch-article-hero__copy{padding:30px 24px}.launch-article-hero h1{font-size:40px}.launch-toc ol{display:grid}.launch-next{grid-template-columns:1fr}.support-appeal{width:calc(100% - 28px)}}
@media(prefers-reduced-motion:reduce){.launch-card{transition:none}}
@media(forced-colors:active){.launch-card,.launch-hero,.launch-article-hero,.launch-answer,.launch-phrase{border:1px solid CanvasText}}
