.reservation-app{display:flex;flex-direction:column;min-height:100vh;background-color:var(--color-white)}.reservation-app-container{display:flex;flex:1;flex-direction:column;max-width:100%}.reservation-app-header{min-height:68px;padding:var(--space-16);color:var(--color-white);background-color:var(--color-brand)}.reservation-app-header .reservation-app-header-container{display:flex;flex-direction:column;gap:var(--space-8);width:100%;max-width:768px;padding:0;margin:0 auto}.reservation-app-header .reservation-app-header-container *{min-width:0}@media(min-width:768px){.reservation-app-header .reservation-app-header-container{flex-direction:row;gap:var(--space-16);align-items:center;padding:0 var(--space-32)}}.reservation-app-header .reservation-app-header-logo>img{max-width:240px;height:auto}.reservation-app-header .detail{display:flex;flex:1;flex-flow:row wrap;gap:var(--space-4);justify-content:space-between}@media(min-width:768px){.reservation-app-header .detail{gap:var(--space-8);justify-content:flex-end}}.reservation-app-header .detail-info{display:flex;flex-direction:column;line-height:1.2}.reservation-app-header .detail-text{font-size:11px;font-weight:700}.reservation-app-header .detail-subtext small{font-size:11px}@media(min-width:768px){.reservation-app-header .detail-text{font-size:14px}.reservation-app-header .detail-subtext small{font-size:12px}}.reservation-app-header .detail-call{display:flex;gap:var(--space-2);align-items:center;line-height:1}.reservation-app-header .detail-call-icon{width:14px;height:14px;transform:translateY(2px)}.reservation-app-header .detail-call-number{font-size:14px;font-weight:700;letter-spacing:.025em}@media(min-width:768px){.reservation-app-header .detail-call-icon{width:20px;height:20px;transform:translateY(1px)}.reservation-app-header .detail-call-number{font-size:20px}}.reservation-app-main{display:flex;flex:1;flex-direction:column;width:100%;margin:0 auto}.reservation-app-footer{display:flex;align-items:center;justify-content:center;min-height:80px;padding:var(--space-16);padding-bottom:20px;color:var(--color-white);text-align:center;background-color:var(--color-brand)}.reservation-app-footer-text{font-size:var(--font-size-xs);color:var(--color-gray-600)}.section-title{display:flex;gap:var(--space-8);align-items:center;padding-bottom:.5em;margin-bottom:0;font-size:20px;font-weight:700;border-bottom:solid 1px var(--color-border-default)}@media(min-width:768px){.section-title{font-size:24px}}.section-divider{height:1px;margin-bottom:var(--space-16);background-color:var(--color-gray-300)}.form-fieldset{display:flex;flex-direction:column;gap:var(--space-12)}.form-field{display:flex;flex-direction:column;gap:var(--space-8)}.field-label{display:flex;gap:var(--space-4);align-items:center;font-size:var(--font-size-lg);font-weight:700;color:var(--color-gray-700)}.required-mark{font-size:var(--font-size-xs);font-weight:700;color:var(--color-alert)}.optional-mark{font-size:var(--font-size-xs);font-weight:700;color:var(--color-gray-600)}.text-input{width:100%;padding:var(--space-12) var(--space-16);background-color:var(--color-white);border:1px solid var(--color-border-default);border-radius:var(--radius-md)}.text-input[data-state=error]{border-color:var(--color-alert)}.text-input[data-state=readonly]{cursor:pointer;background-color:var(--color-gray-100)}.field-error{font-size:var(--font-size-sm);color:var(--color-alert)}.field-note{font-size:var(--font-size-sm);color:var(--color-gray-500)}.card-box{padding:var(--space-12);background-color:var(--color-white);border:1px solid var(--color-border-default);border-radius:var(--radius-md)}.note-box{padding:var(--space-12);font-size:var(--font-size-sm);color:var(--color-gray-700);background-color:var(--color-gray-100);border-radius:var(--radius-md)}.alert-banner{padding:var(--space-12);font-size:var(--font-size-sm);color:var(--color-alert);background-color:#fff4f4;border:1px solid #f1c0c0;border-radius:var(--radius-md)}.link-button{display:inline-flex;gap:var(--space-8);align-items:center;padding:var(--space-12) var(--space-16);font-weight:700;background-color:var(--color-white);border:1px solid var(--color-gray-700);border-radius:var(--radius-md)}.course-change-reset-dialog{display:flex;flex-direction:column;gap:var(--space-16)}.course-change-reset-dialog-text{margin-bottom:var(--space-8);font-size:var(--font-size-md);font-weight:700;text-align:center}.course-change-reset-dialog-actions{display:grid;flex-wrap:wrap;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-16)}.course-change-reset-dialog-button{min-width:100%;height:56px;padding:0 var(--space-12);font-size:var(--font-size-sm);font-weight:700;border:1px solid transparent;border-radius:9999px}.course-change-reset-dialog-button[data-variant=secondary]{color:var(--color-brand);background-color:var(--color-white);border-color:var(--color-brand)}.course-change-reset-dialog-button[data-variant=danger]{color:var(--color-white);background-color:var(--color-red-600);border-color:var(--color-red-600)}.reservation-entry-page{display:flex;flex-direction:column;min-height:100vh;background-color:var(--color-white)}.reservation-entry-page-container{display:flex;flex:1;flex-direction:column;max-width:100%}.reservation-entry-page-header{display:flex;align-items:center;min-height:68px;padding:var(--space-16);color:var(--color-white);background-color:var(--color-brand)}.reservation-entry-page-header .reservation-entry-page-header-container{display:flex;flex-direction:column;gap:var(--space-8);width:100%;max-width:768px;padding:0;margin:0 auto}.reservation-entry-page-header .reservation-entry-page-header-container *{min-width:0}@media(min-width:768px){.reservation-entry-page-header .reservation-entry-page-header-container{flex-direction:row;gap:var(--space-16);align-items:center;padding:0 var(--space-16)}}.reservation-entry-page-header .reservation-entry-page-header-title{font-size:var(--font-size-24);font-weight:var(--font-weight-bold)}.reservation-entry-page-footer{display:flex;align-items:center;justify-content:center;min-height:80px;padding:var(--space-16);padding-bottom:20px;color:var(--color-white);text-align:center;background-color:var(--color-brand)}.reservation-entry-page-footer-text{font-size:var(--font-size-xs);color:var(--color-gray-600)}.reservation-entry-main{display:flex;flex:1;flex-direction:column;width:100%;margin:0 auto}.entry-section{padding-top:64px;padding-bottom:64px}.entry-section[data-space=top-none]{padding-top:0}.entry-section-container{display:flex;flex-direction:column;gap:var(--space-32);width:100%;max-width:768px;padding:0 var(--space-16) var(--space-4);margin:0 auto}.entry-section-title{position:relative;padding-bottom:var(--space-4);font-size:var(--font-size-xl);border-bottom:solid 2px var(--color-brand)}.entry-section-body{display:grid;grid-template-columns:1fr;gap:var(--space-24)}.reservation-entry-page-links{display:grid;grid-template-columns:1fr;gap:var(--space-8);justify-items:center}.reservation-entry-page-link-button{display:grid;grid-template-columns:minmax(0,24px) 1fr minmax(0,24px);gap:var(--space-4);align-items:center;width:100%;max-width:480px;height:56px;padding:var(--space-12) var(--space-24);color:var(--color-white);background-color:var(--color-brand);border:solid 2px var(--color-brand);border-radius:var(--radius-full);transition:background-color .2s ease,border-color .2s ease}.reservation-entry-page-link-button .button-icon{display:flex;flex:1;align-items:center}.reservation-entry-page-link-button .button-label{text-align:center}@media(any-hover:hover){.reservation-entry-page-link-button:hover{color:var(--color-white);background-color:var(--color-brand-700);border-color:var(--color-brand-700)}}.entry-section-more{display:flex;justify-content:center;padding:0 var(--space-16);padding:16px;background-color:#f7f7f7;border-top:1px solid var(--color-border-default)}@media(min-width:768px){.entry-section-more{padding:24px 32px}}.entry-section-more-link-button{display:grid;grid-template-columns:minmax(0,24px) 1fr minmax(0,24px);gap:var(--space-4);align-items:center;width:100%;max-width:480px;min-height:56px;padding:var(--space-12) var(--space-24);color:var(--color-brand);background-color:var(--color-white);border:solid 2px var(--color-brand);border-radius:var(--radius-full);transition:background-color .2s ease}.entry-section-more-link-button>.button-icon{display:flex;flex:1;align-items:center}.entry-section-more-link-button>.button-label{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);text-align:center}@media(any-hover:hover){.entry-section-more-link-button:hover{background-color:var(--color-gray-50)}}
