:root{--ink:#22222a;--muted:#62616d;--line:#e5e3eb;--paper:#fff;--bg:#f8f8fa;--purple:#6550bd;--purple-dark:#51409c;--purple-soft:#f1eefb;--green:#236844;--green-soft:#edf6ef;--error:#9c3040;--error-soft:#fff2f4;--radius:18px;--shadow:0 10px 30px rgba(35,25,65,.04);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-size:14px;line-height:1.8}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:var(--purple-dark);text-underline-offset:4px}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #9583dc;outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.5;letter-spacing:-.025em}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-70px;left:16px;z-index:30;background:var(--paper);padding:12px}.skip-link:focus{top:10px}.preview-banner{padding:10px 30px;background:#eee9fb;border-bottom:1px solid #d9cfef;display:flex;gap:12px;align-items:center;justify-content:center;color:#45356f;font-size:12px}.preview-banner>div{display:flex;gap:12px;align-items:center}.preview-banner strong{white-space:nowrap}.preview-banner nav{display:flex;gap:16px;flex-wrap:wrap}.preview-banner a{font-weight:600;white-space:nowrap}.site-header{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 max(32px,calc((100vw - 1220px)/2));background:var(--paper);border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink);line-height:1.1}.brand img{object-fit:contain}.brand>span{font-size:22px;letter-spacing:.025em;font-weight:800}.brand b{font-weight:400}.brand small{display:block;font-size:10px;font-weight:500;letter-spacing:.12em;margin-top:9px;color:var(--muted)}.header-assurance{display:flex;gap:9px;align-items:center;color:var(--muted);font-size:12px}.header-assurance svg{width:17px;height:17px}main{max-width:1220px;margin:auto;padding:0 32px}.intro{padding:54px 0 36px}.eyebrow,.section-kicker{font-size:11px;font-weight:700;color:var(--purple);letter-spacing:.06em}.intro h1{font-size:34px;margin:9px 0 15px;letter-spacing:-.035em}.intro>p:last-child{font-size:14px;color:var(--muted);line-height:1.9}.mobile-only{display:none}.steps{display:flex;list-style:none;padding:0;margin:0 0 36px;max-width:800px;gap:20px}.steps li{display:flex;align-items:center;gap:10px;color:#72707c;font-size:12px;white-space:nowrap;flex:1;position:relative}.steps li:not(:last-child):after{content:"";height:1px;background:#d9d6e2;flex:1;min-width:24px;margin-left:10px}.step-dot{display:flex;width:26px;height:26px;border:1px solid #d8d4e1;border-radius:50%;align-items:center;justify-content:center;font-size:11px;background:var(--paper);flex-shrink:0}.steps li[aria-current]{color:var(--purple-dark);font-weight:700}.steps li[aria-current] .step-dot,.steps li.is-complete .step-dot{background:var(--purple);color:white;border-color:var(--purple)}.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) 328px;gap:30px;align-items:start}.main-column{min-width:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.section-heading h2{font-size:20px;margin-top:4px}.section-heading p:not(.section-kicker){color:var(--muted);font-size:12px;margin-top:6px}.count-badge{background:#eeedf2;border-radius:20px;padding:3px 11px;font-size:11px;white-space:nowrap}.camp-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}.filter-button{font-size:11px;color:var(--muted);background:var(--paper);border:1px solid var(--line);border-radius:30px;padding:7px 13px;line-height:1.5}.filter-button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.product-grid{margin:0;padding:0;border:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.product-card{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:23px 22px 21px;cursor:pointer;display:flex;flex-direction:column;min-height:294px;transition:border-color .16s,box-shadow .16s,transform .16s}.product-card:hover{border-color:#b1a2da;box-shadow:var(--shadow);transform:translateY(-1px)}.product-card:has(input:focus-visible){outline:3px solid #9583dc;outline-offset:3px}.product-card.is-selected{border-color:var(--purple);box-shadow:inset 0 0 0 1px var(--purple);background:#fdfcff}.card-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px}.camp-label{font-size:9px;font-weight:700;letter-spacing:.055em;color:var(--purple-dark);background:var(--purple-soft);padding:3px 9px;border-radius:5px;max-width:90%;overflow-wrap:anywhere}.product-card input{position:absolute;opacity:0;width:22px;height:22px;right:22px;top:25px;margin:0;pointer-events:none}.radio-mark{border:1.5px solid #d3cedc;width:19px;height:19px;border-radius:50%;background:white;flex-shrink:0}.is-selected .radio-mark{border:6px solid var(--purple)}.product-card h3{font-size:19px;margin-bottom:8px;line-height:1.5;overflow-wrap:anywhere}.card-summary{font-size:11px;line-height:1.85;color:var(--muted);margin-bottom:14px}.card-features{list-style:none;margin:0 0 18px;padding:0;color:#4d4b58;font-size:11px}.card-features li{display:flex;gap:7px;align-items:baseline;margin:2px 0}.card-features li:before{content:"✓";font-size:11px;color:var(--purple);flex-shrink:0}.card-bottom{border-top:1px solid #efedf3;padding-top:14px;margin-top:auto}.card-price-label{font-size:10px;color:var(--muted);display:block}.card-price{font-size:25px;font-weight:750;line-height:1.5;font-variant-numeric:tabular-nums;letter-spacing:-.035em}.card-price small{font-size:10px;font-weight:400;letter-spacing:0;margin-left:5px;color:var(--muted)}.card-price.is-pending{font-size:15px;letter-spacing:0;line-height:1.9}.card-period{font-size:10px;color:var(--muted);margin-top:4px}.card-notice{font-size:10px;color:#6e637e;margin-top:8px;line-height:1.7}.card-status{position:absolute;top:-10px;left:19px;background:var(--purple);color:white;font-size:9px;padding:2px 9px;border-radius:4px;letter-spacing:.02em}.member-benefit{display:flex;gap:14px;padding:22px;background:var(--purple-soft);border:1px solid #e4ddf3;border-radius:14px;margin-top:22px}.benefit-icon{width:32px;height:32px;border-radius:10px;background:white;display:flex;align-items:center;justify-content:center;color:var(--purple);flex-shrink:0}.benefit-icon svg{width:19px;height:19px}.member-benefit h3{font-size:13px;margin-bottom:6px}.member-benefit p{font-size:11px;line-height:1.9;color:#504867}.small-note{font-size:11px!important;color:var(--muted)!important;line-height:1.8}.member-benefit .small-note{margin-top:6px;font-size:10px!important}.order-summary{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:27px 25px 22px;position:sticky;top:24px;box-shadow:var(--shadow)}.summary-top{border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:20px}.summary-top h2{font-size:17px;margin-top:3px}.summary-empty{text-align:center;color:var(--muted);font-size:13px;padding:20px 0 30px}.empty-mark{display:block;width:42px;height:42px;line-height:42px;margin:0 auto 12px;background:#f3f1f7;color:#8d7da9;border-radius:50%;font-size:24px}.summary-camp{font-size:10px;font-weight:700;color:var(--purple);margin-bottom:7px}.order-summary h3{font-size:21px}.summary-period{font-size:11px;color:var(--muted);margin-top:5px}.summary-lines{border-top:1px solid var(--line);margin-top:22px;padding-top:16px;font-size:11px}.summary-lines>div{display:flex;justify-content:space-between;gap:10px;margin:5px 0}.summary-lines strong{font-size:12px;font-weight:600}.summary-lines #summary-discount{color:var(--green)}.summary-total{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin-top:17px;border-top:1px solid var(--line);padding-top:17px}.summary-total>span{font-size:12px;font-weight:600;line-height:1.6}.summary-total small{display:block;font-size:10px;font-weight:400;color:var(--muted)}.summary-total>strong{font-size:29px;line-height:1.4;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.summary-total>strong.text-total{font-size:16px;letter-spacing:0}.summary-note{font-size:10px;line-height:1.8;color:var(--muted);margin-top:13px}.primary{display:flex;justify-content:center;align-items:center;gap:16px;min-height:49px;width:100%;padding:12px 16px;border:1px solid var(--purple);border-radius:10px;background:var(--purple);color:white;font-weight:650;font-size:13px;text-decoration:none;line-height:1.6;transition:background .15s}.primary:hover:not(:disabled){background:var(--purple-dark);border-color:var(--purple-dark)}.primary:disabled{background:#eceaf1;border-color:#eceaf1;color:#6e687a}.primary>span{font-size:18px;line-height:1}.summary-continue{font-size:12px;margin-top:23px;gap:9px}.button-note{font-size:10px;text-align:center;color:var(--muted);line-height:1.8;margin-top:9px}.summary-security{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);margin-top:21px;padding-top:19px;color:var(--muted)}.summary-security p{font-size:10px;line-height:1.7}.summary-security svg{width:21px;height:21px;color:#7c748b}.support-link{display:block;font-size:10px;color:var(--muted);margin-top:17px;text-align:center}.back-link,.text-button{background:transparent;border:0;color:var(--purple-dark);padding:0;font-size:12px;text-decoration:underline;text-underline-offset:4px}.back-link{margin-bottom:22px;text-decoration:none}.form-card,.review-card,.conditions-card{padding:28px;background:white;border:1px solid var(--line);border-radius:var(--radius)}.privacy-note{display:flex;gap:12px;align-items:center;background:var(--purple-soft);padding:15px;border-radius:10px;margin-bottom:25px;color:#504466;font-size:12px}.privacy-note svg{width:21px;height:21px;color:var(--purple)}.field-label{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600;margin-bottom:8px}.field-label>span{font-size:9px;letter-spacing:.04em;color:var(--purple);background:var(--purple-soft);padding:1px 5px;border-radius:3px}input:not([type=radio]):not([type=checkbox]){border:1px solid #d7d2e0;border-radius:9px;background:white;padding:13px 14px;min-height:49px;display:block;width:100%;color:var(--ink);font-size:15px}input::placeholder{color:#8c8797}input[readonly]{background:#f7f6f9!important;color:#6a6077!important}input:disabled{opacity:.7}.field-help{font-size:11px;color:var(--muted);margin:9px 0 20px;line-height:1.8}.form-card .text-button{display:block;margin:20px auto 0;font-size:11px}.code-sent{font-size:13px;margin-bottom:22px;overflow-wrap:anywhere}.code-input{letter-spacing:.45em;font-size:22px!important;text-align:center;max-width:300px}.verified-account p{margin-top:15px;overflow-wrap:anywhere}.status-pill{background:var(--green-soft);color:var(--green);padding:5px 10px;font-size:10px;font-weight:600;border-radius:5px;display:inline-block}.subtle-panel{padding:23px 5px;color:var(--muted)}.subtle-panel h3{font-size:12px;color:#4e475b;margin-bottom:7px}.subtle-panel p{font-size:11px;line-height:1.9}.eligibility-result{border:1px solid #d7e5dc;border-radius:12px;background:var(--green-soft);color:var(--green);padding:17px 20px;margin-bottom:18px;font-size:12px}.eligibility-result strong{display:block;font-size:14px;margin-bottom:4px}.eligibility-result.is-guest{background:#f0eef5;border-color:#e3deec;color:#544c65}.review-card h3{font-size:25px;margin:6px 0 12px}.review-camp{font-size:11px;color:var(--purple);font-weight:700}.review-card>p{font-size:12px;color:var(--muted)}.feature-list{list-style:none;padding:0;margin:19px 0;color:#55505e;font-size:12px}.feature-list li{margin:6px 0;padding-left:18px;position:relative}.feature-list li:before{content:"✓";position:absolute;left:0;color:var(--purple)}.review-details{margin:24px 0 14px;border-top:1px solid var(--line)}.review-details>div{display:grid;grid-template-columns:160px 1fr;gap:15px;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}.review-details dt{color:var(--muted)}.review-details dd{margin:0;text-align:right;overflow-wrap:anywhere}.review-details .review-total{font-weight:700;padding:16px 0;align-items:center}.review-total dd{font-size:24px}.review-total dt{color:var(--ink)}#review-discount{color:var(--green);font-weight:600}.notice{background:#f4f0fa;border:1px solid #e0d8ee;border-radius:9px;padding:12px 15px;color:#574968!important;margin-top:16px}.name-card{margin-top:20px}.conditions-card{margin-top:20px}.conditions-card h3{font-size:14px}.conditions-card dl{margin:10px 0 0}.conditions-card dl>div{display:grid;grid-template-columns:115px 1fr;gap:14px;padding:13px 0;border-bottom:1px solid #efedf3;font-size:11px}.conditions-card dt{font-weight:600}.conditions-card dd{margin:0;color:var(--muted);line-height:1.9}.legal-links{display:flex;flex-wrap:wrap;gap:7px 18px;font-size:10px;margin-top:18px}.consent{display:flex;gap:12px;margin:22px 2px;align-items:flex-start;font-size:12px;line-height:1.9;cursor:pointer}.consent input{appearance:auto;accent-color:var(--purple);width:18px;height:18px;margin:3px 0 0;flex-shrink:0}.pay-button{min-height:54px}.how-it-works{border-top:1px solid var(--line);margin:62px 0 0;padding:40px 0 50px}.how-it-works>h2{font-size:19px;margin-bottom:27px}.how-it-works>div{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.how-it-works article>span{font-size:12px;letter-spacing:.1em;color:var(--purple);font-weight:600}.how-it-works h3{font-size:14px;margin:8px 0 9px}.how-it-works p{font-size:11px;color:var(--muted);line-height:1.9}footer{border-top:1px solid var(--line);max-width:1156px;margin:auto;padding:30px 0;display:flex;align-items:center;gap:24px;flex-wrap:wrap}.footer-brand{display:flex;align-items:center;gap:17px}.footer-brand strong{font-size:15px;letter-spacing:.02em}.footer-brand span{font-size:10px;color:var(--muted)}footer nav{display:flex;flex-wrap:wrap;gap:15px;margin-left:auto;font-size:10px}footer nav a{color:var(--muted)}footer>small{width:100%;font-size:9px;color:#787282}.loading-state,.empty-state{text-align:center;padding:75px 30px 90px;border:1px solid var(--line);border-radius:var(--radius);background:white}.loading-state h2,.empty-state h2{font-size:18px;margin:18px 0 8px}.loading-state p,.empty-state p{font-size:12px;color:var(--muted)}.empty-state .secondary{margin-top:22px}.spinner{display:inline-block;width:26px;height:26px;border:2px solid #e5dff1;border-top-color:var(--purple);border-radius:50%;animation:spin .8s linear infinite}.secondary{padding:10px 18px;border:1px solid #c5bbd7;border-radius:9px;background:white;color:var(--purple-dark);font-size:12px}.secondary:hover:not(:disabled){background:var(--purple-soft)}.error-box,.message{padding:17px 20px;border:1px solid #edcbd2;border-radius:12px;background:var(--error-soft);color:var(--error);font-size:12px;margin-bottom:22px;line-height:1.9;overflow-wrap:anywhere}.message{background:var(--purple-soft);border-color:#ded4ef;color:#57446e}.order-state{padding:24px;background:var(--purple-soft);border:1px solid #ded4ef;border-radius:var(--radius);margin-top:22px}.order-state h3{font-size:17px;margin-bottom:10px}.order-state p{font-size:12px;color:#574c68;margin:7px 0;overflow-wrap:anywhere}.order-state .secondary{margin-top:15px}dialog{border:1px solid var(--line);border-radius:22px;padding:36px;max-width:490px;width:calc(100vw - 32px);color:var(--ink);box-shadow:0 30px 80px #20103730}dialog::backdrop{background:#201a3e66;backdrop-filter:blur(3px)}dialog h2{font-size:25px;margin:20px 0 15px}dialog>p{font-size:13px;color:var(--muted);line-height:1.9}.dialog-close{position:absolute;right:18px;top:14px;background:none;border:0;color:var(--muted);font-size:25px;width:32px;height:32px;padding:0}.demo-total{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:20px 0;margin:17px 0;border-block:1px solid var(--line);font-size:12px}.demo-total strong{font-size:23px;white-space:nowrap}.busy{cursor:wait!important}.busy:after{content:"";width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:1440px){main{padding:0}.site-header{padding:0 calc((100vw - 1220px)/2)}.checkout-layout{grid-template-columns:minmax(0,1fr) 340px;gap:40px}.product-card{padding:26px}.product-grid{gap:18px}.intro{padding-top:62px}}@media(max-width:1000px){.checkout-layout{grid-template-columns:minmax(0,1fr) 295px;gap:22px}.product-grid{grid-template-columns:1fr}.product-card{min-height:250px}.order-summary{padding:23px 20px}.preview-banner{justify-content:flex-start;flex-wrap:wrap}footer{margin:0 32px}.summary-total>strong{font-size:26px}.review-details>div{grid-template-columns:120px 1fr}}@media(max-width:760px){main{padding:0 20px}.site-header{height:76px;padding:0 20px}.brand img{width:39px;height:39px}.brand>span{font-size:19px}.brand small{font-size:9px}.header-assurance{font-size:10px;gap:6px}.header-assurance svg{width:15px}.intro{padding:35px 0 27px}.intro h1{font-size:28px;line-height:1.5;margin:8px 0 13px}.intro>p:last-child{font-size:12px}.steps{gap:10px;margin-bottom:27px}.steps li{font-size:10px;gap:7px;align-items:flex-start;flex-direction:column;white-space:normal;line-height:1.6}.steps li:not(:last-child):after{position:absolute;left:37px;right:3px;top:13px;margin:0}.steps li:last-child{flex:1.25}.step-dot{width:26px;height:26px}.checkout-layout{display:flex;flex-direction:column;gap:25px}.main-column,.order-summary{width:100%}.order-summary{position:static;padding:23px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-card{padding:20px 17px;min-height:300px}.product-card h3{font-size:18px}.card-top{margin-bottom:14px}.product-card input{right:17px;top:20px}.card-price{font-size:23px}.section-heading h2{font-size:18px}.section-heading p:not(.section-kicker){font-size:11px}.section-heading{margin-bottom:18px}.count-badge{display:none}.summary-top{margin-bottom:16px;padding-bottom:14px}.order-summary h3{font-size:20px}.summary-lines{margin-top:17px}.summary-total>strong{font-size:30px}.summary-note{font-size:11px}.summary-security{justify-content:center}.summary-continue{font-size:13px;min-height:50px}.how-it-works{margin-top:40px;padding:32px 0 37px}.how-it-works>div{gap:20px}.how-it-works h3{font-size:12px}.how-it-works p{font-size:10px}.how-it-works>h2{font-size:17px}.preview-banner{padding:11px 20px;font-size:10px;gap:7px}.preview-banner>div{flex-wrap:wrap;gap:2px 10px}.preview-banner nav{gap:17px}.form-card,.review-card,.conditions-card{padding:23px}.review-details>div{grid-template-columns:115px 1fr}.conditions-card dl>div{grid-template-columns:95px 1fr}.review-card h3{font-size:22px}footer{margin:0 20px;padding:26px 0;gap:18px}footer nav{margin-left:0;width:100%;gap:10px 18px}}@media(max-width:460px){.mobile-only{display:block}.header-assurance{max-width:108px;font-size:9px;line-height:1.65}.header-assurance svg{flex-shrink:0}.brand{gap:8px}.intro h1{font-size:27px}.product-grid{grid-template-columns:1fr}.product-card{min-height:0;padding:22px}.product-card h3{font-size:21px}.card-summary{font-size:12px}.card-features{font-size:11px;margin-bottom:17px}.card-price{font-size:28px}.card-price-label,.card-period{font-size:11px}.card-notice{font-size:11px}.card-price small{font-size:11px}.card-top{margin-bottom:14px}.camp-label{font-size:10px}.card-bottom{position:relative}.card-price-label{margin-bottom:2px}.product-card input{right:22px;top:22px}.member-benefit{padding:20px 17px;gap:12px}.member-benefit h3{font-size:12px}.member-benefit p{font-size:11px}.camp-filters{gap:7px}.filter-button{padding:7px 12px;font-size:10px}.how-it-works>div{grid-template-columns:1fr;gap:22px}.how-it-works article{position:relative;padding-left:42px}.how-it-works article>span{position:absolute;left:0;top:2px}.how-it-works h3{font-size:13px;margin-top:0;margin-bottom:5px}.how-it-works p{font-size:11px}.review-details>div{grid-template-columns:105px 1fr;font-size:11px;gap:10px}.review-total dd{font-size:22px}.conditions-card dl>div{display:block}.conditions-card dd{margin-top:6px}.privacy-note{padding:13px;font-size:11px}.consent{font-size:11px}.preview-banner nav{font-size:11px}dialog{padding:28px 23px}.demo-total{display:block}.demo-total strong{display:block;margin-top:8px}.section-heading h2{font-size:17px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important;scroll-behavior:auto!important}}

/* 操作デモと、小さな画面の選択内容。 */
.demo-identity h3{font-size:18px;margin:16px 0 10px}.demo-identity>p{font-size:12px;color:var(--muted);line-height:1.9;margin-bottom:22px}.demo-identity .primary{margin-top:20px}.mobile-selection{display:none}.review-details dd{overflow-wrap:anywhere}.verified-account p{overflow-wrap:anywhere}.back-link:disabled{opacity:.55}.product-card:has(input:disabled){cursor:default}.product-card:has(input:disabled):hover{transform:none}.order-state:focus{outline:3px solid #9583dc;outline-offset:4px}.product-card .radio-mark{flex-shrink:0}.main-column>section{scroll-margin-top:24px}.preview-banner a[aria-current=page]{text-decoration-thickness:2px}.code-sent{overflow-wrap:anywhere}
@media(max-width:760px){.mobile-selection{position:fixed;z-index:20;bottom:0;left:0;right:0;background:rgba(255,255,255,.98);border-top:1px solid var(--line);box-shadow:0 -5px 30px rgba(35,25,65,.07);padding:13px 20px max(13px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:14px;justify-content:space-between}.mobile-selection>div{min-width:0}.mobile-selection span{display:block;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:50vw}.mobile-selection strong{font-size:19px;display:block;line-height:1.6}.mobile-selection .primary{width:auto;min-width:100px;min-height:44px;font-size:12px;padding:11px 18px}.has-mobile-selection{padding-bottom:96px}.order-summary{scroll-margin-bottom:105px}}

/* 講座を先に選び、その講座のプランだけを表示する。 */
.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.course-card{--course-accent:var(--purple);display:flex;flex-direction:column;align-items:flex-start;min-width:0;min-height:205px;text-align:left;border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:var(--paper);color:var(--ink);box-shadow:var(--shadow);transition:border-color .16s,box-shadow .16s,transform .16s}
.course-card:hover:not(:disabled){border-color:var(--course-accent);transform:translateY(-2px);box-shadow:0 9px 26px rgba(35,25,65,.07)}
.course-card.is-selected{border-color:var(--course-accent)}
.course-logo{position:relative;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:16/9;flex-shrink:0;overflow:hidden;border:1px solid #ece9f2;border-radius:12px;background:#fff;margin-bottom:20px}
.course-logo img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;object-position:center;padding:14px;opacity:0;transition:opacity .16s}
.course-logo.is-loaded img{opacity:1}
.course-logo-fallback{display:block;max-width:100%;padding:20px;font-size:22px;font-weight:700;line-height:1.5;letter-spacing:-.025em;text-align:center;overflow-wrap:anywhere;color:var(--ink)}
.course-label{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted);line-height:1.6;letter-spacing:.04em}
.course-label:before{content:"";height:6px;width:6px;border-radius:50%;background:var(--course-accent);flex-shrink:0}
.course-name{font-size:20px;font-weight:700;line-height:1.5;letter-spacing:-.025em;margin:12px 0 8px;overflow-wrap:anywhere}
.course-copy{font-size:12px;color:var(--muted);line-height:1.85;margin-bottom:19px}
.course-action{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px;margin-top:auto;padding-top:15px;border-top:1px solid #efedf3;color:var(--course-ink,var(--purple-dark));font-size:11px;font-weight:650;line-height:1.5}
.course-arrow{font-size:19px;font-weight:400;line-height:1}
.selected-course{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr);column-gap:22px;padding:21px 24px;background:#f0edf7;border:1px solid #e1daef;border-radius:14px;margin-bottom:28px}
.selected-course>.course-logo{grid-column:1;grid-row:1/4;align-self:center;margin-bottom:0}
.selected-course>.section-kicker,.selected-course>p,.selected-course>span:last-child{grid-column:2}
.selected-course>.section-kicker{color:var(--course-ink,var(--purple))}
.selected-course>p{font-size:23px;font-weight:700;margin:4px 0 7px;line-height:1.5;overflow-wrap:anywhere}
.selected-course>span:last-child{font-size:12px;line-height:1.8;color:var(--muted);display:block}
.plan-heading{margin-bottom:27px}
.summary-plan-pending h3{font-size:21px;line-height:1.6;overflow-wrap:anywhere}
.summary-plan-pending>p:last-child{font-size:12px;color:var(--muted);margin-top:13px;line-height:1.9}
#course-back{min-height:30px;margin-bottom:15px}
@media(min-width:1440px){.course-grid{gap:18px}.course-card{padding:26px}}
@media(max-width:1000px) and (min-width:761px){.course-grid{grid-template-columns:1fr}.course-card{min-height:0}.course-copy{margin-bottom:15px}.selected-course{grid-template-columns:minmax(0,120px) minmax(0,1fr);column-gap:18px}}
@media(max-width:760px){.course-grid{gap:12px}.course-card{padding:21px;min-height:220px}.course-name{font-size:19px}.selected-course{padding:20px;margin-bottom:24px}.selected-course>p{font-size:22px}.steps li:first-child{flex:1.1}}
@media(max-width:460px){.course-grid{grid-template-columns:1fr;gap:12px}.course-card{min-height:0;padding:21px 22px}.course-name{font-size:21px;margin-top:9px}.course-copy{font-size:12px;margin-bottom:14px}.course-action{padding-top:13px}.selected-course>p{font-size:22px}.plan-heading h2{font-size:19px;line-height:1.6}.summary-plan-pending>p:last-child{font-size:12px}}
@media(max-width:460px){.selected-course{grid-template-columns:minmax(0,1fr)}.selected-course>.course-logo{grid-column:1;grid-row:auto;max-width:220px;justify-self:start;margin-bottom:16px}.selected-course>.section-kicker,.selected-course>p,.selected-course>span:last-child{grid-column:1}}

/* 税抜条件と、実際にお支払いいただく税込金額を併記する。 */
.card-net-price{margin:4px 0 0;color:var(--muted);font-size:11px;font-weight:400;line-height:1.7;letter-spacing:0}
.amount-net{display:block;margin-top:3px;color:var(--muted);font-size:11px;font-weight:400;line-height:1.65;letter-spacing:0;white-space:nowrap}
.preview-banner nav{flex-wrap:wrap;row-gap:8px}
.summary-lines>div{align-items:flex-start;gap:12px}
.summary-lines>div>span{min-width:0}
.summary-lines>div>strong{flex-shrink:0;text-align:right}
#discount-eligibility-copy{margin-top:9px}

.quote-conditions{white-space:pre-wrap;overflow-wrap:anywhere}.review-details .quote-conditions{text-align:left}.conditions-reference{margin-top:10px}.conditions-card #quote-conditions-error{margin:16px 0 0}

/* 小さな画面では長い提供期間を一列で読みやすく表示する。 */
@media(max-width:460px){.review-details>.review-period-row{grid-template-columns:minmax(0,1fr);gap:6px}}
