:root{--n:#12325b;--b:#1f4e79;--p:#eaf2f8;--g:#c6923a;--bg:#f7f9fc;--t:#243447;--w:1120px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--t);background:var(--bg);font-family:"Noto Sans JP",system-ui,sans-serif;line-height:1.8}img{max-width:100%;display:block}a{color:inherit}h1,h2,h3,.lead,.btn,summary{word-break:auto-phrase;text-wrap:balance}.wrap{width:min(var(--w),calc(100% - 40px));margin:auto}.site-head{position:sticky;top:0;z-index:20;background:#fffffff2;backdrop-filter:blur(14px);border-bottom:1px solid #dbe4ee}.progress{height:3px;background:var(--g);transform-origin:left;scale:0 1}.head-in{height:76px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;color:var(--n);line-height:1.25}.brand img{width:42px;height:42px;object-fit:contain}.brand small{display:block;font-size:10px;font-weight:500}.nav{margin-left:auto;display:flex;gap:22px;align-items:center;font-size:14px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:8px;background:var(--n);color:#fff;text-decoration:none;font-weight:700;border:1px solid var(--n)}.btn.gold{background:var(--g);border-color:var(--g);color:#17263a}.menu{display:none;margin-left:auto;background:none;border:0;font-size:26px}.hero{min-height:760px;background:#fff;overflow:hidden}.hero-in{max-width:1360px;margin:auto;display:grid;grid-template-columns:45% 55%;min-height:760px}.hero-copy{padding:120px 7vw 90px;align-self:center}.kicker{color:var(--b);font-weight:700;font-size:13px}.hero h1{font-size:clamp(42px,5vw,68px);line-height:1.18;color:var(--n);margin:18px 0 24px}.hero p{font-size:18px}.hero-media{position:relative}.hero-media img{width:100%;height:100%;object-fit:cover}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0,transparent 28%)}.chips{display:flex;flex-wrap:wrap;gap:9px;margin:24px 0}.chip{padding:7px 11px;border:1px solid #cbd8e5;font-size:12px}.stack{background:var(--n);color:#fff;padding:90px 0}.stack-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stack-card{min-height:190px;padding:28px;border:1px solid #ffffff40;background:#ffffff0c}.stack-card b{font-size:42px;color:var(--g);display:block}.sec{padding:100px 0}.sec.white{background:#fff}.ey{font-size:12px;color:var(--b);font-weight:800}.sec h2{font-size:clamp(30px,4vw,46px);line-height:1.3;color:var(--n);margin:10px 0 34px}.split{display:grid;grid-template-columns:38% 62%;gap:70px;align-items:start}.split img{width:100%;aspect-ratio:4/5;object-fit:cover}.rules{border-top:1px solid #b9c8d7}.rule{display:grid;grid-template-columns:70px 1fr;padding:28px 0;border-bottom:1px solid #b9c8d7}.rule b{font-size:30px;color:var(--g)}.full{min-height:500px;background:url('../images/case-2.jpg') center/cover;position:relative}.full:after{content:"";position:absolute;inset:0;background:#12325bc7}.full .wrap{position:relative;z-index:1;color:#fff;padding-top:110px}.full h2{color:#fff}.price{font-size:clamp(64px,10vw,126px);line-height:1;color:var(--n);font-weight:800}.price small{font-size:20px}.facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #aabccc;margin:34px 0}.fact{padding:24px;border-bottom:1px solid #aabccc}.gift{background:var(--n);color:#fff;padding:90px 0}.gift-grid{display:grid;grid-template-columns:1fr 360px;gap:60px;align-items:center}.gift h2{color:#fff}.gift strong{font-size:clamp(44px,7vw,82px);color:var(--g)}.gift img{border-radius:18px}.faq details{border-top:1px solid #b9c8d7;padding:22px 0}.faq details:last-child{border-bottom:1px solid #b9c8d7}.faq summary{cursor:pointer;font-weight:700;color:var(--n)}.faq p{padding-left:24px}.page-hero{padding:120px 0 70px;background:linear-gradient(135deg,var(--p),#fff)}.page-hero h1{font-size:clamp(38px,6vw,64px);color:var(--n)}.prose{max-width:860px}.prose h2{margin-top:60px;color:var(--n)}.site-foot{background:#0e294b;color:#dce8f4;padding:70px 0 28px}.foot-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:40px}.site-foot a{display:block;text-decoration:none;margin:8px 0}.legal{border-top:1px solid #ffffff2b;margin-top:45px;padding-top:22px;font-size:12px}.note{font-size:13px;color:#667789}.site-foot .note{color:#b8c8d8}@media(max-width:768px){.nav{display:none}.menu{display:block}.nav.open{display:flex;position:absolute;top:76px;left:0;right:0;background:#fff;padding:24px;flex-direction:column}.hero,.hero-in{min-height:auto}.hero-in,.split,.gift-grid{grid-template-columns:1fr}.hero-copy{padding:72px 24px 40px}.hero-media{height:420px}.stack-grid,.facts,.foot-grid{grid-template-columns:1fr}.sec{padding:68px 0}.split{gap:34px}.gift img{max-width:320px}.rule{grid-template-columns:52px 1fr}}.decor{mix-blend-mode:multiply}@keyframes rise{from{opacity:.01;transform:translateY(18px)}to{opacity:1;transform:none}}.stack-card{animation:rise .7s both}.site-nav__list{display:flex;gap:22px;align-items:center;list-style:none;margin:0;padding:0}.site-nav__list a{text-decoration:none}@media(max-width:768px){.site-nav__list{flex-direction:column;align-items:flex-start}}
.ff-el-group:has(input[name="names[first_name]"]) .ff-el-input--label label::after{content:" *";color:#b42318}
/* Preserve image proportions when responsive widths override HTML dimensions. */
.is-single .prose img{height:auto}
.all-posts-link{margin:36px 0 0;text-align:center}.all-posts-link .btn{min-width:240px}
.pr-disclosure{background:#fff7e8;border-top:1px solid #ead5ad;border-bottom:1px solid #ead5ad;color:#243447;padding:14px 0}.pr-disclosure .wrap{display:flex;align-items:center;gap:12px;font-size:14px}.pr-disclosure strong{display:inline-flex;align-items:center;justify-content:center;min-width:44px;padding:3px 9px;border-radius:4px;background:#12325b;color:#fff;font-size:12px;letter-spacing:.08em}@media(max-width:768px){.pr-disclosure .wrap{align-items:flex-start;font-size:13px;line-height:1.6}}
@media(min-width:769px){.hero-copy{padding-left:3vw;padding-right:3vw}.hero h1{font-size:clamp(44px,4.2vw,54px)}}
.is-single .page-hero h1{font-size:clamp(28px,3.4vw,44px);line-height:1.45}
