.adult-programs{color:#17304c;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;line-height:1.9;text-align:left}
.adult-programs *{box-sizing:border-box}
.adult-programs h2{font-size:clamp(1.6rem,3vw,2.35rem);line-height:1.5;margin:0 0 20px;letter-spacing:.02em}
.adult-programs h3{font-size:clamp(1.3rem,2vw,1.65rem);line-height:1.5;margin:0 0 18px}
.adult-programs p{margin:0 0 18px;font-size:1rem;line-height:1.9}
.adult-programs .adult-eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.13em;color:#315478;margin-bottom:10px}
.adult-program-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:30px 0 24px}
.adult-program-card{padding:clamp(22px,3vw,34px);background:#fff;border:1px solid #c9d7e4;border-top:4px solid #2b6c75;border-radius:6px;box-shadow:0 14px 28px #17304c0a}
.adult-program-card--expert{border-top-color:#d8921e}
.adult-programs .adult-price{font-size:clamp(1.7rem,3vw,2.2rem);font-weight:800;margin-top:22px}
.adult-price span{display:block;font-size:.9rem;font-weight:600;line-height:1.6;margin-top:3px}
.adult-progress{padding:15px 20px;background:#edf4fa;border-radius:4px}
.adult-prices,.adult-policies,.adult-trial{margin-top:42px}
.adult-table-scroll{overflow-x:auto;margin:18px 0 30px;max-width:100%;border:1px solid #c9d7e4;border-radius:5px;background:#fff}
.adult-table-scroll:focus-visible,.adult-programs a:focus-visible,.adult-programs summary:focus-visible{outline:3px solid #147fa4;outline-offset:4px}
.adult-programs table{border-collapse:collapse;width:100%;min-width:540px;table-layout:fixed;text-align:center;font-size:1rem}
.adult-programs caption{text-align:left;padding:14px 18px;font-weight:800;color:#17304c}
.adult-programs th,.adult-programs td{padding:16px 12px;border:1px solid #dce5ed;color:#17304c;background:#fff;white-space:nowrap}
.adult-programs thead th{background:#173f5f;color:#fff;font-weight:700}
.adult-programs thead th span{display:block;font-size:.8rem;font-weight:500}
.adult-programs tbody th{background:#f1f6fa;font-weight:700}
.adult-expert-prices{width:min(100%,840px);margin:38px auto 0;padding:0 clamp(0px,2vw,24px)}
.adult-expert-prices table{min-width:410px}
.adult-fees{font-weight:700}
.adult-table-hint{display:none}
.adult-link{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border:1px solid #285174;border-radius:4px;color:#173f5f!important;background:#fff;text-decoration:none!important;font-weight:700;line-height:1.6}
.adult-link:hover{background:#edf4fa}
.adult-link--primary{background:#f3c368;border-color:#d8921e;margin-top:18px}
.adult-policies details{border-bottom:1px solid #c9d7e4;padding:16px 0}
.adult-policies summary{cursor:pointer;font-weight:700;font-size:1.05rem}
.adult-policies details p:first-of-type{margin-top:16px}
.adult-trial{padding:24px;background:#edf4fa;border-radius:5px}
.adult-programs--topic{width:min(1120px,calc(100% - 48px));margin:30px auto 50px;padding:32px 0}
.adult-programs--reservation{margin:24px 0 0}
.adult-programs--reservation .adult-trial{margin-top:0;padding:18px}
.adult-programs--reservation p{font-size:.94rem}
@media(max-width:760px){.adult-table-hint{display:block;font-size:.85rem!important;color:#315478;margin-bottom:0!important}.adult-program-grid{grid-template-columns:1fr;gap:18px}.adult-programs--topic{width:calc(100% - 32px)}.adult-expert-prices{padding:0}.adult-programs .adult-fees{font-size:.95rem}.adult-link{max-width:100%;text-align:center}.adult-trial{padding:20px}.adult-programs td,.adult-programs th{padding:14px 12px}}

.adult-price-sheet{margin:24px auto 20px;max-width:860px}
.adult-price-sheet a{display:block;border-radius:8px;overflow:hidden;box-shadow:0 12px 32px #17304c14}
.adult-price-sheet img{display:block;width:100%;height:auto}
.adult-price-sheet figcaption{font-size:.85rem;color:#315478;line-height:1.7;margin-top:12px;text-align:center}
.adult-price-details{margin:22px 0;padding:16px 18px;background:#fff;border:1px solid #b9d3ee;border-radius:6px}
.adult-price-details summary{cursor:pointer;font-weight:700;line-height:1.6}
.adult-price-details>p:first-of-type{margin-top:18px}
.adult-faq{margin-top:42px}
.adult-faq details{padding:18px 0;border-bottom:1px solid #b9cfe6}
.adult-faq summary{cursor:pointer;font-size:1.05rem;font-weight:700;line-height:1.7}
.adult-faq details p{margin:16px 0 0}
@media(max-width:640px){.adult-price-details{padding:14px 12px}.adult-faq details{padding:16px 0}}

.adult-payment-policy h4{font-size:1.05rem;line-height:1.7;margin:22px 0 16px}
