:root{--sp-color-primary:#2a7a8c;--sp-color-primary-dark:#1f5f6e;--sp-color-accent:#f4a261;--sp-color-bg:#f8fafb;--sp-color-surface:#fff;--sp-color-text:#2c3338;--sp-color-text-muted:#5c6670;--sp-color-border:#e2e8ec;--sp-color-success:#2d8a5e;--sp-color-warning:#c47d1a;--sp-color-danger:#b54545;--sp-radius:12px;--sp-radius-sm:8px;--sp-shadow:0 4px 20px rgba(44,51,56,.08);--sp-font:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;--sp-max-width:1120px;--sp-header-offset:0px;--sp-sticky-cta-height:64px}*,:after,:before{box-sizing:border-box}.sp-page{background:var(--sp-color-bg);color:var(--sp-color-text);font-family:var(--sp-font);line-height:1.75;padding-bottom:calc(var(--sp-sticky-cta-height) + 16px)}@media (min-width:768px){.sp-page{padding-bottom:0}}.sp-container{margin-inline:auto;width:min(100% - 32px,var(--sp-max-width))}.sp-section{padding:48px 0}@media (min-width:768px){.sp-section{padding:72px 0}}.sp-section--alt{background:var(--sp-color-surface)}.sp-section__title{color:var(--sp-color-primary-dark);font-size:1.375rem;font-weight:700;line-height:1.4;margin:0 0 12px}@media (min-width:768px){.sp-section__title{font-size:1.75rem}}.sp-section__lead{color:var(--sp-color-text-muted);font-size:.9375rem;margin:0 0 28px}.sp-hero{background:linear-gradient(165deg,#e8f4f7,#f8fafb 55%,#fff8f0);overflow:hidden;padding:24px 0 40px}.sp-hero__inner{align-items:center;display:grid;gap:24px}@media (min-width:768px){.sp-hero{padding:48px 0 64px}.sp-hero__inner{gap:40px;grid-template-columns:1fr 1fr}}.sp-hero__eyebrow{background:rgba(42,122,140,.1);border-radius:999px;color:var(--sp-color-primary);display:inline-block;font-size:.6875rem;font-weight:600;letter-spacing:.06em;margin-bottom:10px;padding:4px 10px;text-transform:uppercase}.sp-hero__title{line-height:1.15;margin:0 0 10px}.sp-hero__title-brand{color:var(--sp-color-primary-dark);display:block;font-size:clamp(1.75rem,7vw,2.75rem);font-weight:800;letter-spacing:-.02em}.sp-hero__title-plan{background:linear-gradient(135deg,var(--sp-color-primary) 0,var(--sp-color-primary-dark) 100%);-webkit-background-clip:text;background-clip:text;color:var(--sp-color-primary);display:block;font-size:clamp(2rem,8.5vw,3.25rem);font-weight:900;letter-spacing:-.03em;margin-top:2px;-webkit-text-fill-color:transparent}@supports not (background-clip:text){.sp-hero__title-plan{-webkit-text-fill-color:inherit;color:var(--sp-color-primary)}}.sp-hero__lead{color:var(--sp-color-accent);font-size:.875rem;font-weight:600;letter-spacing:.04em;margin:0 0 8px;text-transform:none}.sp-hero h1{color:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;margin:0}@media (min-width:768px){.sp-hero h1{font-size:inherit}}.sp-hero__main-copy{color:var(--sp-color-text);font-size:1rem;font-weight:600;line-height:1.6;margin:0 0 10px}@media (min-width:768px){.sp-hero__main-copy{font-size:1.125rem}}.sp-hero__sub-copy{color:var(--sp-color-text-muted);font-size:.875rem;line-height:1.7;margin:0 0 20px}.sp-hero__badges{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 20px;padding:0}.sp-hero__badge{align-items:center;background:var(--sp-color-surface);border:1.5px solid rgba(42,122,140,.25);border-radius:999px;box-shadow:0 2px 8px rgba(42,122,140,.08);color:var(--sp-color-primary-dark);display:inline-flex;font-size:.8125rem;font-weight:700;gap:6px;line-height:1.2;padding:8px 12px}.sp-hero__badge-icon{color:var(--sp-color-accent);display:flex;flex-shrink:0;height:18px;width:18px}.sp-hero__badge-icon svg{height:100%;width:100%}.sp-hero__badge-text{white-space:nowrap}.sp-hero__cta{display:flex;flex-direction:column;gap:12px}@media (min-width:480px){.sp-hero__cta{flex-direction:row;flex-wrap:wrap}}.sp-hero__visual{aspect-ratio:4/3;background:var(--sp-color-border);border-radius:var(--sp-radius);box-shadow:var(--sp-shadow);overflow:hidden}.sp-hero__visual img{display:block;height:100%;object-fit:cover;width:100%}.sp-btn{align-items:center;border:2px solid transparent;border-radius:var(--sp-radius-sm);cursor:pointer;display:inline-flex;font-size:.9375rem;font-weight:600;gap:8px;justify-content:center;line-height:1.3;min-height:48px;padding:12px 20px;text-align:center;text-decoration:none;transition:background .2s,color .2s,border-color .2s}.sp-btn--primary{background:var(--sp-color-primary);border-color:var(--sp-color-primary);color:#fff}.sp-btn--primary:focus,.sp-btn--primary:hover{background:var(--sp-color-primary-dark);border-color:var(--sp-color-primary-dark);color:#fff}.sp-btn--secondary{background:var(--sp-color-surface);border-color:var(--sp-color-primary);color:var(--sp-color-primary)}.sp-btn--secondary:focus,.sp-btn--secondary:hover{background:rgba(42,122,140,.08);color:var(--sp-color-primary-dark)}.sp-btn--outline-light{background:transparent;border-color:var(--sp-color-border);color:var(--sp-color-primary)}.sp-btn--tel{background:var(--sp-color-surface);border-color:var(--sp-color-border);color:var(--sp-color-text)}.sp-btn--block{width:100%}.sp-card-grid{display:grid;gap:20px}@media (min-width:768px){.sp-card-grid--reasons{grid-template-columns:repeat(3,1fr)}}.sp-card{background:var(--sp-color-surface);border:1px solid var(--sp-color-border);border-radius:var(--sp-radius);box-shadow:var(--sp-shadow);padding:24px}.sp-card__title{color:var(--sp-color-primary-dark);font-size:1.0625rem;font-weight:700;margin:0 0 8px}.sp-card__text{color:var(--sp-color-text-muted);font-size:.9375rem;margin:0}.sp-problem-list{list-style:none;margin:0;padding:0}.sp-problem-list li{margin-bottom:10px;padding-left:1.25em;position:relative}.sp-problem-list li:before{color:var(--sp-color-primary);content:"・";font-weight:700;left:0;position:absolute}.sp-flow{counter-reset:sp-flow;display:grid;gap:16px;list-style:none;margin:0;padding:0}@media (min-width:768px){.sp-flow{gap:12px;grid-template-columns:repeat(4,1fr)}}.sp-flow__item{background:var(--sp-color-surface);border:1px solid var(--sp-color-border);border-radius:var(--sp-radius);padding:56px 16px 16px;position:relative}.sp-flow__item:before{align-items:center;background:var(--sp-color-primary);border-radius:50%;color:#fff;content:counter(sp-flow);counter-increment:sp-flow;display:flex;font-size:.875rem;font-weight:700;height:28px;justify-content:center;left:16px;position:absolute;top:12px;width:28px}.sp-flow__title{font-size:.9375rem;font-weight:700;margin:8px 0 6px}.sp-flow__text{color:var(--sp-color-text-muted);font-size:.8125rem;margin:0}.sp-faq{list-style:none;margin:0;padding:0}.sp-faq__item{border-bottom:1px solid var(--sp-color-border)}.sp-faq__item:first-child{border-top:1px solid var(--sp-color-border)}.sp-faq__question{background:var(--sp-color-surface);border:none;color:var(--sp-color-text);cursor:pointer;font-size:.9375rem;font-weight:600;padding:16px 40px 16px 16px;position:relative;text-align:left;width:100%}.sp-faq__question:after{color:var(--sp-color-primary);content:"+";font-size:1.25rem;position:absolute;right:16px;top:50%;transform:translateY(-50%)}.sp-faq__item.is-open .sp-faq__question:after{content:"−"}.sp-faq__answer{background:var(--sp-color-surface);color:var(--sp-color-text-muted);display:none;font-size:.875rem;padding:0 16px 16px}.sp-faq__item.is-open .sp-faq__answer{display:block}.sp-facilities{scroll-margin-top:80px}.sp-area-tabs{display:flex;gap:8px;margin-bottom:20px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.sp-area-tabs::-webkit-scrollbar{display:none}.sp-area-tabs__btn{background:var(--sp-color-bg);border:1.5px solid var(--sp-color-border);border-radius:999px;color:var(--sp-color-text-muted);cursor:pointer;flex:0 0 auto;font-family:inherit;font-size:.8125rem;font-weight:600;line-height:1.3;min-height:40px;padding:8px 14px;transition:background .2s,color .2s,border-color .2s,box-shadow .2s;white-space:nowrap}.sp-area-tabs__btn:hover{border-color:var(--sp-color-primary);color:var(--sp-color-primary-dark)}.sp-area-tabs__btn.is-active{background:var(--sp-color-primary);border-color:var(--sp-color-primary);box-shadow:0 2px 10px rgba(42,122,140,.25);color:#fff}.sp-area-tabs__btn:focus-visible{outline:2px solid var(--sp-color-accent);outline-offset:2px}@media (min-width:768px){.sp-area-tabs{flex-wrap:wrap;overflow-x:visible}.sp-area-tabs__btn{font-size:.875rem;padding:10px 18px}}.sp-area-tabs__empty{background:var(--sp-color-bg);border-radius:var(--sp-radius-sm);color:var(--sp-color-text-muted);font-size:.875rem;margin:0 0 16px;padding:16px;text-align:center}.sp-facility-list .sp-facility-card{transition:opacity .25s ease,transform .25s ease}.sp-facility-card.is-area-hidden{display:none}.sp-facility-card{background:var(--sp-color-surface);border:1px solid var(--sp-color-border);border-radius:var(--sp-radius);box-shadow:var(--sp-shadow);margin-bottom:24px;overflow:hidden}.sp-facility-card__gallery{aspect-ratio:16/9;background:#eef2f4;overflow:hidden;position:relative}.sp-facility-card__slides{height:100%;position:relative;width:100%}.sp-facility-card__slide{inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .35s ease}.sp-facility-card__slide.is-active{opacity:1;pointer-events:auto}.sp-facility-card__slide img{display:block;height:100%;object-fit:cover;width:100%}.sp-gallery__btn{align-items:center;background:hsla(0,0%,100%,.92);border:none;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.15);color:var(--sp-color-text);cursor:pointer;display:flex;height:36px;justify-content:center;padding:0;position:absolute;top:50%;transform:translateY(-50%);transition:background .2s ease,transform .2s ease;width:36px;z-index:2}.sp-gallery__btn:hover{background:#fff}.sp-gallery__btn:focus-visible{outline:2px solid var(--sp-color-primary);outline-offset:2px}.sp-gallery__btn svg{height:22px;width:22px}.sp-gallery__btn--prev{left:10px}.sp-gallery__btn--next{right:10px}.sp-gallery__dots{bottom:10px;display:flex;gap:8px;justify-content:center;left:0;position:absolute;right:0;z-index:2}.sp-gallery__dot{background:hsla(0,0%,100%,.55);border:none;border-radius:50%;cursor:pointer;height:8px;padding:0;transition:background .2s ease,transform .2s ease;width:8px}.sp-gallery__dot.is-active{background:#fff;transform:scale(1.15)}.sp-gallery__dot:focus-visible{outline:2px solid #fff;outline-offset:2px}.sp-facility-card__header{border-bottom:1px solid var(--sp-color-border);padding:20px 20px 12px}.sp-facility-card__area{color:var(--sp-color-primary);font-size:.75rem;font-weight:600;margin:0 0 4px}.sp-facility-card__name{font-size:1.25rem;font-weight:700;line-height:1.35;margin:0 0 8px}.sp-facility-card__station{color:var(--sp-color-text-muted);font-size:.875rem;margin:0}.sp-status-badge{border-radius:999px;display:inline-block;font-size:.75rem;font-weight:600;margin-bottom:8px;padding:4px 10px}.sp-status-badge--pre_registration{background:#eef2f4;color:#5c6670}.sp-status-badge--accepting{background:#e6f4ec;color:var(--sp-color-success)}.sp-status-badge--full{background:#fef3e6;color:var(--sp-color-warning)}.sp-status-badge--closed{background:#eef2f4;color:#5c6670}.sp-status-badge--not_offered{background:#f5eaea;color:var(--sp-color-danger)}.sp-facility-card__status-message{background:#f0f6f8;border-radius:var(--sp-radius-sm);color:var(--sp-color-text);font-size:.875rem;margin:0 20px 16px;padding:12px 16px}.sp-facility-card__body{padding:0 20px 20px}.sp-facility-dl{display:grid;gap:12px;margin:0 0 20px}.sp-facility-dl__row{display:grid;gap:4px}@media (min-width:768px){.sp-facility-dl__row{gap:16px;grid-template-columns:140px 1fr}}.sp-facility-dl dt{color:var(--sp-color-primary-dark);font-size:.8125rem;font-weight:600;margin:0}.sp-facility-dl dd{font-size:.9375rem;margin:0}.sp-facility-dl a{color:var(--sp-color-primary);word-break:break-all}.sp-pricing{margin:16px 0 20px}.sp-pricing__title{font-size:1rem;font-weight:700;margin:0 0 12px}.sp-pricing--preparing{background:#f8f4ef;border-radius:var(--sp-radius-sm);font-size:.9375rem;padding:16px}.sp-pricing-table-wrap{overflow-x:auto}@media (max-width:767px){.sp-pricing-table-wrap{display:none}}.sp-pricing-table{border-collapse:collapse;font-size:.875rem;width:100%}.sp-pricing-table td,.sp-pricing-table th{border:1px solid var(--sp-color-border);padding:10px 12px;text-align:left}.sp-pricing-table th{background:#eef6f8;font-weight:600}.sp-pricing-cards{display:none}@media (max-width:767px){.sp-pricing-cards{display:grid;gap:12px}}.sp-pricing-card{background:#fafcfd;border:1px solid var(--sp-color-border);border-radius:var(--sp-radius-sm);padding:14px}.sp-pricing-card__row{border-bottom:1px dashed var(--sp-color-border);display:flex;font-size:.875rem;gap:12px;justify-content:space-between;padding:6px 0}.sp-pricing-card__row:last-child{border-bottom:none}.sp-pricing-card__label{color:var(--sp-color-text-muted);flex-shrink:0;font-weight:600}.sp-facility-card__map{aspect-ratio:16/10;background:var(--sp-color-border);border-radius:var(--sp-radius-sm);margin:16px 0;overflow:hidden}.sp-facility-card__map iframe{border:0;height:100%;width:100%}.sp-facility-card__actions{display:flex;flex-direction:column;gap:10px;margin-top:16px}@media (min-width:480px){.sp-facility-card__actions{flex-direction:row;flex-wrap:wrap}}.sp-final-cta{background:linear-gradient(135deg,var(--sp-color-primary) 0,var(--sp-color-primary-dark) 100%);color:#fff;padding:48px 0;text-align:center}.sp-final-cta__title{color:#fff;font-size:1.25rem;margin:0 0 12px}.sp-final-cta__text{font-size:.9375rem;margin:0 0 24px;opacity:.95}.sp-final-cta .sp-btn--primary{background:#fff;border-color:#fff;color:var(--sp-color-primary-dark)}.sp-final-cta .sp-btn--secondary{background:transparent;border-color:hsla(0,0%,100%,.8);color:#fff}.sp-sticky-cta{align-items:center;background:var(--sp-color-surface);border-top:1px solid var(--sp-color-border);bottom:0;box-shadow:0 -4px 16px rgba(0,0,0,.08);display:flex;gap:8px;left:0;min-height:var(--sp-sticky-cta-height);padding:10px 16px;position:fixed;right:0;z-index:1000}@media (min-width:768px){.sp-sticky-cta{display:none}}.sp-sticky-cta .sp-btn{flex:1;font-size:.8125rem;min-height:44px;padding:10px 12px}.sp-sticky-cta .sp-btn--tel{flex:0 0 auto;min-width:48px;padding:10px}.sp-sticky-cta .sp-btn--tel svg{height:20px;width:20px}.sp-visually-hidden{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}.sp-image-block{border-radius:var(--sp-radius);margin:24px 0;overflow:hidden}.sp-image-block img{display:block;height:auto;width:100%}.sp-notes-box{background:var(--sp-color-surface);border:1px solid var(--sp-color-border);border-radius:var(--sp-radius);font-size:.875rem;padding:20px}.sp-notes-box ul{margin:0;padding-left:1.2em}.sp-notes-box li{margin-bottom:8px}