* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.sumarevo-lp-body { margin: 0; background: #e8f3ff; color: #102d55; font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif; }
.sr-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.sr-skip { position: fixed; z-index: 100; top: -100px; left: 16px; padding: 10px 16px; background: #fff; color: #102d55; }
.sr-skip:focus { top: 12px; }
.sr-preview-note { position: fixed; z-index: 20; top: 12px; right: 12px; max-width: 315px; padding: 8px 12px; border: 1px solid #dcb45c; border-radius: 6px; text-align: left; background: #fff0d8; color: #412900; font-size: 12px; line-height: 1.45; }
.sr-preview-note a { color: inherit; text-decoration: underline; }
.sr-shell { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 520px) minmax(0, .84fr); min-height: 100vh; }
.sr-main { width: 100%; min-width: 0; background: #fff; box-shadow: 0 0 34px rgb(15 45 83 / 9%); }
.sr-panel { position: relative; width: 100%; line-height: 0; }
.sr-panel img { display: block; width: 100%; height: auto; }
.sr-panel-cta { position: absolute; z-index: 2; display: flex; align-items: center; justify-content: center; background: #fff; line-height: normal; }
.sr-panel-1 .sr-panel-cta { left: 3.6%; right: 3.6%; top: 89.7%; bottom: 1.7%; }
.sr-panel-7 .sr-panel-cta { left: 4.5%; right: 4.5%; top: 85.0%; bottom: 3.5%; }
.sr-side-cta:focus-visible, .sr-panel-cta .sr-oval-cta:focus-visible, .sr-fixed-cta .sr-oval-cta:focus-visible, .sr-faq summary:focus-visible { outline: 4px solid #ff8b2c; outline-offset: 3px; }
.sr-panel-cta .sr-oval-cta, .sr-fixed-cta .sr-oval-cta { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: min(90%, 342px); padding: 7px 14px; border: 0; border-radius: 999px; color: #fff; background: #08ba5b; font: inherit; font-weight: 900; line-height: 1.15; text-align: center; text-decoration: none; white-space: nowrap; }
.sr-panel-cta .sr-oval-cta { height: 88%; max-height: 76px; font-size: clamp(16px, 2.2vw, 24px); }
.sr-panel-cta .sr-oval-cta:hover, .sr-fixed-cta .sr-oval-cta:hover { color: #fff; background: #079d4e; }
.sr-panel-cta .sr-oval-cta:disabled, .sr-fixed-cta .sr-oval-cta:disabled { opacity: 1; cursor: not-allowed; }
.sr-panel-cta .sr-line-round, .sr-fixed-cta .sr-line-round { width: clamp(34px, 4vw, 48px); height: clamp(34px, 4vw, 48px); font-size: 13px; }
.sr-panel-cta .sr-side-arrow, .sr-fixed-cta .sr-side-arrow { font-size: 20px; }
.sr-side { min-width: 0; min-height: 100%; background-size: 80px 80px, 80px 80px, auto; }
.sr-side-left { display: flex; align-items: flex-start; justify-content: flex-start; padding: 0 16px 0 clamp(28px, 6.1vw, 88px); background-image: linear-gradient(rgb(17 66 120 / 7%) 1px, transparent 1px), linear-gradient(90deg, rgb(17 66 120 / 7%) 1px, transparent 1px), linear-gradient(100deg, #cfe3ff 0%, #f3f9ff 100%); }
.sr-side-inner { position: sticky; top: 90px; width: min(100%, 410px); text-align: left; }
.sr-side-logo-mark { width: 228px; height: 156px; margin: 0 auto 36px; background: #fff url("pc-concept-source.png") -128px -90px / 1440px 1200px no-repeat; }
.sr-side-kicker { margin: 0 0 20px; color: #0b2e59; font-size: clamp(17px, 1.75vw, 24px); font-weight: 900; line-height: 1.5; white-space: nowrap; }
.sr-side-headline { margin: 0; color: #0b2e59; font-size: clamp(29px, 2.7vw, 40px); font-weight: 900; line-height: 1.48; letter-spacing: -.035em; }
.sr-side-headline span { display: block; white-space: nowrap; }
.sr-side-headline em { display: block; color: #ff681e; font-size: 1.4em; font-style: normal; line-height: 1.35; white-space: nowrap; }
.sr-side-cta { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: min(100%, 342px); min-height: 88px; margin: 38px auto 0; padding: 10px 16px; border: 0; border-radius: 999px; color: #fff; background: #08ba5b; font: inherit; font-size: clamp(18px, 2vw, 27px); font-weight: 900; line-height: 1.1; text-decoration: none; white-space: nowrap; }
.sr-side-cta:hover { background: #079d4e; color: #fff; }
.sr-side-cta:disabled { opacity: 1; cursor: not-allowed; }
.sr-line-round { display: grid; flex: none; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: #fff; color: #08ba5b; font-size: 15px; font-weight: 900; letter-spacing: -.04em; }
.sr-side-arrow { flex: none; font-size: 24px; }
.sr-side-benefits { display: flex; align-items: center; justify-content: center; gap: 0; width: min(100%, 330px); margin: 24px auto 38px; padding: 0; color: #102d55; font-size: clamp(14px, 1.4vw, 18px); font-weight: 900; list-style: none; white-space: nowrap; }
.sr-side-benefits li + li { margin-left: 15px; padding-left: 15px; border-left: 1px solid #6c88a6; }
.sr-side-tag { display: table; margin: 0 auto; padding: 8px 7px; border: 2px solid #102d55; border-radius: 9px; background: #fff; color: #102d55; font-size: clamp(15px, 1.55vw, 21px); font-weight: 900; line-height: 1.65; white-space: nowrap; }
.sr-side-right { position: relative; overflow: hidden; background-image: linear-gradient(rgb(17 66 120 / 7%) 1px, transparent 1px), linear-gradient(90deg, rgb(17 66 120 / 7%) 1px, transparent 1px), linear-gradient(100deg, #f3f9ff 0%, #c9dfff 100%); }
.sr-side-ornament { position: sticky; top: 0; height: 100vh; }
.sr-faq { padding: 38px 6.2% 110px; border-top: 16px solid #102d55; background-color: #fff; background-image: linear-gradient(#dbeafe 1px, transparent 1px), linear-gradient(90deg, #dbeafe 1px, transparent 1px); background-size: 17px 17px; }
.sr-faq-draft { margin: 0 0 20px; padding: 10px 13px; border-left: 4px solid #df7618; background: #fff8e9; color: #624111; font-size: 13px; line-height: 1.6; }
.sr-faq h2 { margin: 0 0 26px; padding: 0 0 12px; border-bottom: 4px solid #ff7624; color: #102d55; font-size: clamp(28px, 6vw, 42px); line-height: 1.25; font-weight: 900; }
.sr-faq-group { display: table; margin: 28px 0 12px; padding: 5px 12px; border-left: 6px solid #ff7624; background: #eff8ff; color: #102d55; font-size: clamp(15px, 3vw, 18px); line-height: 1.4; }
.sr-faq-item { margin: 0 0 9px; background: #fff; }
.sr-faq summary { display: flex; align-items: center; gap: 10px; min-height: 54px; padding: 11px 14px; border-left: 5px solid #ff7624; background: #102d55; color: #fff; cursor: pointer; font-size: clamp(14px, 2.9vw, 17px); line-height: 1.5; font-weight: 800; list-style: none; }
.sr-faq summary::-webkit-details-marker { display: none; }
.sr-q { flex: none; color: #ff8234; }
.sr-chevron { flex: none; width: 9px; height: 9px; margin-left: auto; border-right: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(45deg) translateY(-2px); }
.sr-faq-item[open] .sr-chevron { transform: rotate(225deg) translateY(-2px); }
.sr-faq-answer { display: flex; gap: 10px; padding: 17px 16px 20px; border: 1px solid #b6d3ee; border-top: 0; background: #fff; color: #102d55; font-size: 15px; line-height: 1.75; }
.sr-faq-answer p { margin: 0 0 .8em; }
.sr-faq-answer p:last-child { margin-bottom: 0; }
.sr-faq-answer a { color: #07509c; text-decoration: underline; }
.sr-a { flex: none; color: #ff7624; font-weight: 900; }
.sr-unavailable { min-height: 100vh; display: grid; place-content: center; padding: 24px; text-align: center; background: #fff; }
.sr-unavailable h1 { font-size: 28px; }
.sr-fixed-cta { position: fixed; z-index: 50; right: 0; bottom: 0; left: 0; display: flex; justify-content: center; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity .2s ease, transform .2s ease, visibility .2s; pointer-events: none; }
.sr-past-first-cta .sr-fixed-cta { opacity: 1; visibility: visible; transform: translateY(0); }
.sr-fixed-cta-inner { width: min(100%, 520px); padding: 9px 14px calc(9px + env(safe-area-inset-bottom)); background: transparent; box-shadow: none; pointer-events: none; }
.sr-fixed-cta .sr-oval-cta { width: min(100%, 342px); min-height: 62px; margin: 0 auto; font-size: clamp(16px, 4vw, 22px); pointer-events: auto; box-shadow: 0 5px 18px rgb(15 45 83 / 22%); }
.sr-fixed-cta small { display: block; margin-top: 4px; color: #526270; font-size: 11px; line-height: 1.25; text-align: center; }
@media (min-width: 1200px) { .sr-fixed-cta { right: auto; left: calc(50% + 2.8vw); width: 520px; transform: translate(-50%, 16px); } .sr-past-first-cta .sr-fixed-cta { transform: translate(-50%, 0); } }
@media (max-width: 1199px) { body.sumarevo-lp-body { background: #fff; } .sr-preview-note { position: relative; top: auto; right: auto; max-width: none; border-radius: 0; } .sr-shell { display: block; } .sr-main { width: min(100%, 520px); margin: 0 auto; box-shadow: none; } .sr-side { display: none; } }
@media (max-width: 520px) { .sr-faq { padding-top: 28px; padding-bottom: 110px; } .sr-faq-answer { font-size: 14px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .sr-fixed-cta { transition: none; } }
