*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#0b254b;color:#fff;font-family:"Hiragino Sans","Yu Gothic",sans-serif;line-height:1.5;font-weight:700}h1,h2,p,figure{margin:0}img{display:block;max-width:100%;height:auto}a{color:inherit}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}:root{--reserve-h:135px;--reserve-space:159px;--reserve-width:520px}.panel{height:100svh;position:relative;max-width:960px;margin:auto}.panel-content{height:calc(100% - var(--reserve-space));min-height:0}.hero-content{display:grid;grid-template-rows:22px auto minmax(0,1fr) auto auto;gap:5px;padding:6px 0}.brand-row{display:flex;align-items:center;justify-content:space-between;padding:0 16px;font-size:13px}.brand-row b{font-size:23px}.audience{font-size:21px;font-weight:900;text-align:center;line-height:1.35}.audience br{display:none}.hero-art{min-height:0;height:100%;display:flex;align-items:center;justify-content:center}.hero-art img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}.hero-promise{font-size:30px;line-height:1.1;font-weight:900;text-align:center;color:#ffe13b}.mobile-br{display:none}.schedule{display:flex;align-items:baseline;justify-content:center;gap:15px;line-height:1.1}.schedule>b{font-size:58px}.schedule>strong{font-size:42px}.schedule small{font-size:22px}.reserve{position:relative;width:min(var(--reserve-width),calc(100% - 24px));height:var(--reserve-h);background:#08bf5d;border:2px solid white;border-bottom:6px solid #008c3c;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;padding:3px 25px;color:#fff;text-decoration:none;text-align:center;box-shadow:0 4px 0 #0002;margin:auto;line-height:1.08;overflow:hidden}.free{background:#ffe63b;color:#d92c50;padding:2px 10px;border-radius:5px;font-size:24px;font-weight:900;line-height:1.1}.reserve>b{font-size:36px;font-weight:900;letter-spacing:-.065em;line-height:1.08;white-space:nowrap}.arrow{position:absolute;right:10px;top:50%;font-size:20px;transform:translateY(-50%)}.reserve::after{content:"";position:absolute;inset:-50% auto -50% -25%;width:12%;background:#fff4;transform:skewX(-20deg);animation:shine 6s infinite;pointer-events:none}@keyframes shine{0%,65%{left:-25%}85%,100%{left:130%}}.hero-booking{position:absolute;left:0;right:0;bottom:8px}.fixed-booking{position:fixed;bottom:8px;left:0;right:0;z-index:50;pointer-events:none}.fixed-booking .reserve{pointer-events:auto}.pain{background:#f8f5ec;color:#102947}.pain-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px}.pain-stage{position:relative;width:min(100%,calc(100svh - 235px));max-width:820px;aspect-ratio:1;background:#f8f5ec}.pain-stage>img{width:100%}.pain-motion{position:absolute;inset:0;width:100%;height:100%;display:none;pointer-events:none}.pain-stage.is-live .pain-motion{display:block}.bridge{font-size:27px;font-weight:900;text-align:center;line-height:1.2;padding:0 8px}.bridge strong{color:#1854a1}.bridge span{display:block;font-size:23px}.works-content{padding:12px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px}.works-heading{text-align:center}.works-heading>p{font-size:20px;margin-bottom:3px}.works-heading h2{font-size:42px;line-height:1.15;font-weight:900}.works-heading em{font-style:normal;color:#ffe13b}.motion-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 9px;width:min(100%,calc((100svh - 480px)*1.5))}.motion-grid figure{min-width:0}.video-window{position:relative;aspect-ratio:16/9;background:#07162f;border:1px solid #b5c8df}.video-window video{width:100%;height:100%;object-fit:contain;display:block}.video-toggle{position:absolute;bottom:3px;right:3px;border:0;border-radius:3px;background:#0a244ccc;color:white;font-size:13px;cursor:pointer;line-height:1;padding:4px}.motion-grid figcaption{font-size:20px;font-weight:900;line-height:1.2;text-align:center;padding-top:4px}.invitation{background:#ffe13b;color:#102947;text-align:center;font-size:27px;font-weight:900;line-height:1.3;padding:9px;width:min(100%,760px)}.live-content{max-width:700px;margin:auto;display:flex;flex-direction:column;justify-content:center;gap:12px;padding:15px 20px}.live-tag{align-self:flex-start;background:#e9273d;color:white;border-radius:5px;padding:3px 10px;font-size:27px;font-weight:900;line-height:1.2}.live-content h2{font-size:45px;line-height:1.17;color:#ffe13b;font-weight:900}.speaker{display:grid;grid-template-columns:43% 57%;align-items:center;height:min(35svh,320px)}.speaker img{width:100%;height:100%;min-height:0;object-fit:contain}.speaker p{font-size:25px;line-height:1.35;padding-left:12px}.speaker strong{display:block;font-size:42px;margin:6px 0}.speaker small{font-size:22px}.live-promise{font-size:35px;line-height:1.25;font-weight:900;text-align:center}.later{max-width:820px;margin:auto;background:white;color:#102947}.later section>img{width:100%}.mid-booking,.closing-booking{background:#102947;color:white;text-align:center;padding:24px 0}.closing-booking .schedule{margin-bottom:16px}.note{font-size:12px;padding:12px 16px;line-height:1.7}.closing{background:#102947;color:white}.voices{background:white}.gift-graphic{background:#fff2cb}footer{max-width:960px;margin:auto;background:white;color:#102947;text-align:center;padding:24px 16px calc(var(--reserve-space) + 20px);font-size:13px}footer nav{display:flex;justify-content:center;gap:16px;margin-top:12px}a:focus-visible,button:focus-visible{outline:3px solid #ffda3b;outline-offset:4px}@media(max-width:650px){:root{--reserve-h:95px;--reserve-space:111px}.audience{font-size:17px}.audience br{display:block}.brand-row{font-size:11px;padding:0 12px}.brand-row b{font-size:21px}.hero-promise{font-size:25px}.mobile-br{display:block}.schedule{gap:9px}.schedule>b{font-size:40px}.schedule>strong{font-size:29px}.schedule small{font-size:16px}.reserve{gap:1px;padding:2px 25px}.free{font-size:20px}.reserve>b{font-size:26px}.arrow{font-size:15px;right:8px}.pain-stage{width:100%;max-width:none}.bridge{font-size:21px}.works-content{padding:10px 12px;gap:10px}.works-heading>p{font-size:14px}.works-heading h2{font-size:29px}.motion-grid{width:100%;gap:10px 8px}.motion-grid figcaption{font-size:15px;letter-spacing:-.06em;min-height:22px}.motion-grid figure:nth-child(6) figcaption{font-size:14px}.invitation{font-size:20px;padding:9px 4px}.live-content{padding:15px;gap:12px}.live-tag{font-size:21px}.live-content h2{font-size:31px}.speaker{height:240px}.speaker p{font-size:18px;padding-left:10px}.speaker strong{font-size:29px}.speaker small{font-size:16px}.live-promise{font-size:25px}.closing-booking .schedule{margin-bottom:12px}}@media(max-width:374px){.reserve>b{font-size:24px}.live-content h2{font-size:29px}.speaker{height:210px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reserve::after{animation:none}}
@media(min-width:651px) and (max-height:800px){.live-content h2{font-size:39px}.live-tag{font-size:24px}.speaker{height:220px}.speaker p{font-size:22px}.speaker strong{font-size:38px}.speaker small{font-size:20px}.live-promise{font-size:30px}}

/* 57: 実演は一枚の生成画像。予約ボタンの領域を除いて全体を表示する。 */
.live-content{max-width:960px;flex-direction:row;align-items:center;justify-content:center;padding:8px 12px;gap:0}.live-panel{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;flex:none}

.reserve>b{display:flex;flex-direction:column;align-items:center;justify-content:center}.reserve>b>span{display:block;line-height:1.08}

/* 58: 全4ボタンを同じ構造・寸法・中央揃えに統一。 */
.seminar-button{position:relative;display:grid;grid-template-rows:auto auto;align-content:center;justify-items:center;gap:3px;width:min(var(--reserve-width),calc(100% - 24px));height:var(--reserve-h);margin:auto;padding:3px 25px;border:2px solid white;border-bottom:6px solid #008c3c;border-radius:14px;background:#08bf5d;color:white;text-decoration:none;text-align:center;line-height:1.08;box-shadow:0 4px 0 #0002;overflow:hidden;isolation:isolate}
.cta-free{display:block;background:#ffe63b;color:#d92c50;padding:2px 10px;border-radius:5px;font-size:24px;font-weight:900;line-height:1.1}
.cta-label{display:grid;justify-items:center;font-size:36px;font-weight:900;letter-spacing:-.065em;line-height:1.08;white-space:nowrap}
.cta-label>span{display:block;line-height:1.08}
.cta-arrow{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:20px;line-height:1}
.seminar-button::after{content:"";position:absolute;inset:-50% auto -50% -25%;width:12%;background:#fff4;transform:skewX(-20deg);animation:shine 6s infinite;pointer-events:none;z-index:-1}
.fixed-booking .seminar-button{pointer-events:auto}
@media(max-width:650px){.seminar-button{gap:1px;padding:2px 25px}.cta-free{font-size:20px}.cta-label{font-size:26px}.cta-arrow{font-size:15px;right:8px}}
@media(max-width:374px){.cta-label{font-size:24px}}
@media(prefers-reduced-motion:reduce){.seminar-button::after{animation:none}}

.cta-label>img{display:block;width:354.744px;height:77.76px;max-width:none}.cta-label{line-height:0}
@media(max-width:650px){.cta-label>img{width:256.204px;height:56.16px}}
@media(max-width:374px){.cta-label>img{width:236.496px;height:51.84px}}

.cta-label>img{width:379.152px;height:77.76px}.cta-free{font-weight:700}
@media(max-width:650px){.cta-label>img{width:273.832px;height:56.16px}}
@media(max-width:374px){.cta-label>img{width:252.76799999999997px;height:51.84px}}

/* 59: square generated artwork, shared visible width with the hero. */
.generated-content{height:calc(100svh - var(--reserve-h) - 15px);display:flex;align-items:center;justify-content:center;padding:0}
.generated-stage{position:relative;flex:none;width:min(var(--panel-art-width,100%),100%,calc(100svh - var(--reserve-h) - 15px));aspect-ratio:1}
.generated-panel{width:100%;height:100%;object-fit:contain}
.video-overlay{position:absolute;inset:0;pointer-events:none}
.video-slot{position:absolute;left:calc(var(--x)*1%);top:calc(var(--y)*1%);width:calc(var(--w)*1%);height:calc(var(--h)*1%);margin:0;pointer-events:auto}
.video-slot .video-window{width:100%;height:100%;aspect-ratio:auto;border:0;background:transparent}
.video-slot .video-window video{object-fit:contain;background:transparent}
.video-slot .video-toggle{font-size:11px;bottom:2px;right:2px}

/* 60: generated lettering; crop only empty margins of the new strips. */
.hero-content{grid-template-rows:22px auto minmax(0,1fr) 101.8px}
.hero-details{height:101.8px;display:grid;grid-template-rows:33px 63.8px;gap:5px}
.detail-row{position:relative;overflow:hidden}
.detail-row img{position:absolute;left:50%;top:50%;max-width:none;height:auto;transform:translate(-50%,-50%)}
.detail-promise img{width:461px;transform:translate(-50%,-33.2%)}
.detail-date img{width:657px;transform:translate(-50%,-62.4%)}
.pain{background:#0b254b}
.pain-content{height:calc(100svh - var(--reserve-h) - 15px);gap:0}
.pain-bridge{position:relative;overflow:hidden;width:min(100%,calc(100svh - 235px));max-width:820px;aspect-ratio:1983/250}
.pain-bridge img{position:absolute;top:50%;left:0;width:100%;max-width:none;transform:translateY(-44%)}
@media(max-width:650px){
.hero-content{grid-template-rows:22px auto minmax(0,1fr) 104px}
.hero-details{height:104px;grid-template-rows:55px 44px}
.detail-promise img{width:276px;transform:translate(-50%,-34.3%)}
.detail-date img{width:100%;transform:translate(-50%,-77%)}
.pain-bridge{width:100%;max-width:none;aspect-ratio:1983/590}
.pain-bridge img{transform:translateY(-48%)}
}

/* 61: one generated bitmap for all three speaker names. */
.hero-art,.live-stage,.proof-image{position:relative;isolation:isolate}
.name-mark{position:absolute;display:block;overflow:hidden;pointer-events:none;mix-blend-mode:screen;z-index:2}
.name-mark img{position:absolute;max-width:none;height:auto;width:193.717277486911%;left:-46.989528795811516%;top:-47.58364312267658%;filter:contrast(10) invert(1)}
.proof-image>.named-background{width:100%;height:auto}

.name-mark img{max-height:none;object-fit:fill}

/* 62: replace only hiragana and retain original full name. */
.name-line{position:absolute;display:block;overflow:hidden}
.name-ichi{left:7%;top:0;width:86%;height:62.731590387389026%}
.name-full{left:0;top:66.17100371747212%;width:100%;height:33.82899628252788%}
.name-mark .name-line img{max-height:none;object-fit:fill;filter:grayscale(1) contrast(1.15) invert(1)}
.name-ichi img{width:279.78142076502735%;left:-88.52459016393442%;top:-124.46808510638299%}
.name-full img{width:193.717277486911%;left:-46.989528795811516%;top:-336.2637362637363%}
