:root{--color-primary: #009688;--color-primary-dark: #007b7b;--color-primary-darker: #004d40;--color-accent: #ff9800;--color-accent-dark: #f57c00;--color-red: #d32f2f;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-900: #1f2937;--shadow-card: 0 5px 15px rgba(0,0,0,.1);--shadow-card-hover: 0 8px 25px rgba(0,0,0,.15);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05)}.md-container{max-width:1280px;margin:0 auto;padding:24px 16px}.md-card{background-color:#fff;border-radius:12px;padding:24px;box-shadow:var(--shadow-card);transition:all .3s}.md-card-elevated{box-shadow:var(--shadow-card-hover)}.md-stepper{display:flex;justify-content:space-between;align-items:center;padding:16px 0;gap:8px;overflow-x:auto}.md-step{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;min-width:80px;position:relative;cursor:pointer;opacity:.5;transition:opacity .3s}.md-step.clickable{cursor:pointer}.md-step.active{opacity:1}.md-step:after{content:"";position:absolute;top:20px;left:60%;width:100%;height:2px;background-color:var(--color-gray-300);z-index:0}.md-step:last-child:after{display:none}.md-step.active:after,.md-step.clickable:not(.active):after{background-color:var(--color-primary)}.md-step-indicator{width:40px;height:40px;border-radius:50%;background-color:var(--color-gray-200);color:var(--color-gray-600);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;position:relative;z-index:1;transition:all .3s}.md-step.active .md-step-indicator{background-color:var(--color-primary);color:#fff}.md-step-label{font-size:12px;color:var(--color-gray-600);text-align:center;white-space:nowrap;font-weight:500}.md-step.active .md-step-label{color:var(--color-primary);font-weight:600}.md-grid{display:grid;gap:16px}.md-grid-2{grid-template-columns:repeat(2,1fr)}.md-grid-3{grid-template-columns:repeat(3,1fr)}@media(max-width:768px){.md-grid-2,.md-grid-3{grid-template-columns:1fr}}.md-text-field{position:relative;margin-bottom:16px}.md-text-field input,.md-text-field select{width:100%;padding:12px 16px;border:2px solid var(--color-gray-200);border-radius:8px;background-color:#fff;color:var(--color-gray-900);font-size:16px;transition:all .3s;font-family:inherit}.md-text-field input:focus,.md-text-field select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0096881a}.md-text-field label{position:absolute;left:16px;top:12px;color:var(--color-gray-600);font-size:16px;pointer-events:none;transition:all .2s;background-color:#fff;padding:0 4px}.md-text-field input:focus+label,.md-text-field input:not(:placeholder-shown)+label,.md-text-field select:focus+label,.md-text-field select:not([value=""])+label{top:-10px;font-size:12px;color:var(--color-primary);font-weight:600}.md-text-field input:disabled,.md-text-field select:disabled{opacity:.6;background-color:var(--color-gray-50);cursor:not-allowed;color:var(--color-gray-600)}.md-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:9999px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s;border:none;text-decoration:none}.md-button-filled{background-color:var(--color-accent);color:#fff;box-shadow:0 4px 15px #ff98004d}.md-button-filled:hover{background-color:var(--color-accent-dark);box-shadow:0 6px 20px #ff980066;transform:translateY(-2px)}.md-button-outlined{background-color:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.md-button-outlined:hover{background-color:var(--color-primary);color:#fff}.md-button-text{background-color:transparent;color:var(--color-primary)}.md-button-text:hover{background-color:#0096881a}.md-button.disabled,.md-button:disabled{opacity:.6;cursor:not-allowed!important;pointer-events:none}.md-button.disabled:hover,.md-button:disabled:hover{transform:none;box-shadow:0 4px 15px #ff98004d}.wizard-step{display:block}.wizard-step.hidden{display:none}.summary-header{padding:16px 24px;background-color:#fff}.summary-header.hidden{display:none!important;margin:0!important;padding:0!important}.summary-header-content{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.summary-header-item{display:flex;align-items:center;gap:12px;position:relative;flex:1;min-width:120px}.summary-header-icon{font-size:24px}.summary-header-info{display:flex;flex-direction:column;gap:4px}.summary-header-label{font-size:12px;color:var(--color-gray-600);font-weight:500}.summary-header-value{font-size:14px;font-weight:600;color:var(--color-gray-900)}.summary-header-total{font-size:18px;font-weight:700;color:var(--color-accent)}.summary-header-divider{width:1px;height:40px;background-color:var(--color-gray-300)}.summary-header-options{position:relative}.options-tooltip{position:absolute;top:100%;left:0;margin-top:8px;background-color:#fff;border:1px solid var(--color-gray-200);border-radius:8px;padding:12px;min-width:200px;box-shadow:var(--shadow-lg);display:none;z-index:100}.summary-header-options:hover .options-tooltip{display:block}.options-tooltip-title{font-size:12px;font-weight:600;margin-bottom:8px;color:var(--color-gray-900)}.options-tooltip-content{font-size:12px;color:var(--color-gray-600)}.options-tooltip-item{display:flex;align-items:center;gap:8px;padding:4px 0}.options-tooltip-empty{font-style:italic;opacity:.7}#carResults{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:24px;margin-top:24px}@media(max-width:768px){#carResults{grid-template-columns:1fr}}.md-car-card{display:block;cursor:pointer}.md-car-card input[type=radio]{display:none}.car-result-card{transition:all .3s;border:2px solid transparent}.md-car-card:has(input:checked) .car-result-card{border-color:var(--color-primary);box-shadow:0 0 0 3px #0096881a}.car-card-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:12px}.car-card-title{display:flex;align-items:center;gap:8px}.car-class-badge{background-color:var(--color-primary);color:#fff;padding:4px 12px;border-radius:6px;font-size:12px;font-weight:600}.car-name{font-size:18px;font-weight:600;color:var(--color-gray-900)}.car-welfare-badge{background-color:var(--color-accent);color:#fff;padding:4px 12px;border-radius:6px;font-size:12px;font-weight:600}.car-feature-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.car-tag{background-color:var(--color-gray-100);color:var(--color-gray-700);padding:4px 12px;border-radius:6px;font-size:12px;font-weight:500}.car-tag-red{background-color:#fee2e2;color:#991b1b;border:1px solid #fecaca}.car-tag-teal{background-color:#ccfbf1;color:#0d9488;border:1px solid #99f6e4}.car-tag-icon{display:inline-flex;align-items:center;gap:4px}.car-btn-primary{background-color:var(--color-red);color:#fff}.car-btn-primary:hover{background-color:#b91c1c}.car-card-content{display:grid;grid-template-columns:200px 1fr;gap:16px;margin-bottom:16px}@media(max-width:768px){.car-card-content{grid-template-columns:1fr}}.car-image-box{width:100%;height:150px;border-radius:8px;overflow:hidden;background-color:var(--color-gray-100)}.car-image-box img{width:100%;height:100%;object-fit:cover}.car-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--color-gray-400)}.car-image-placeholder .material-icons{font-size:64px}.car-info-box{display:flex;flex-direction:column;gap:12px}.car-info-row{display:flex;justify-content:space-between;align-items:center}.car-info-label{font-size:14px;color:var(--color-gray-600)}.car-info-value{font-size:14px;font-weight:600;color:var(--color-gray-900)}.car-card-actions{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid var(--color-gray-200);opacity:0;transition:opacity .3s}.md-car-card:has(input:checked) .car-card-actions{opacity:1}.car-select-indicator{display:flex;align-items:center;gap:8px;color:var(--color-primary);font-size:14px;font-weight:600}.car-btn{padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500;border:none;cursor:pointer;transition:all .2s}.car-btn-secondary{background-color:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.car-btn-secondary:hover{background-color:var(--color-primary);color:#fff}.md-tabs{display:flex;gap:8px;margin-bottom:24px;overflow-x:auto;border-bottom:2px solid var(--color-gray-200)}.md-tab{padding:12px 24px;background-color:transparent;border:none;border-bottom:3px solid transparent;color:var(--color-gray-600);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap;margin-bottom:-2px}.md-tab:hover{color:var(--color-primary)}.md-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.md-tab.disabled,.md-tab:disabled{opacity:.5;cursor:not-allowed}.md-radio-card{display:block;cursor:pointer}.md-radio-card input[type=radio],.md-radio-card input[type=checkbox]{display:none}.md-radio-card-content{display:flex;align-items:center;gap:16px;transition:all .2s}.md-radio-card:has(input:checked) .md-card{border:2px solid var(--color-primary);background-color:#0096880d}.option-card{padding:16px}.md-radio-card.disabled,.md-radio-card:has(input:disabled){cursor:not-allowed}.md-radio-card.disabled .md-card,.md-radio-card:has(input:disabled) .md-card{opacity:.5;filter:grayscale(.4);position:relative}.md-radio-card.disabled .md-card:after,.md-radio-card:has(input:disabled) .md-card:after{content:"選択できません";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#fff9;color:var(--color-gray-700);font-size:12px;font-weight:600;pointer-events:none}.md-radio-card.disabled .md-card:before,.md-radio-card:has(input:disabled) .md-card:before{content:"block";font-family:Material Icons;position:absolute;top:8px;right:8px;font-size:18px;color:var(--color-gray-700)}.md-radio-icon{font-size:32px}.options-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.navi-card-wrapper{grid-column:1 / -1;width:100%}.navi-type-selector{display:flex;gap:8px;margin-bottom:8px}.navi-type-btn{padding:6px 12px;border:2px solid var(--color-gray-200);border-radius:6px;background-color:#fff;color:var(--color-gray-600);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.navi-type-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.navi-type-btn.active{background-color:#009688;color:#fff;border-color:#009688}.saved-card-option{margin-bottom:12px}.saved-card-option:last-child{margin-bottom:0}.card-brand-icons{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.card-brand-icons .card-brand{height:24px;width:auto;transition:all .2s ease;border-radius:4px}#zeusCardForm .md-text-field{margin-bottom:16px}#zeusCardForm select{width:100%;padding:12px 16px;border:1px solid var(--color-gray-300);border-radius:8px;font-size:14px;background:#fff;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='%23666' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;cursor:pointer}#zeusCardForm select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #0096881a}#zeus3dsContainer{min-height:400px;background:#fafafa}#zeus3dsIframe{display:block}#zeusCardError{display:flex;align-items:center;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.navi-type-btn:disabled{opacity:.5;cursor:not-allowed;border-style:dashed}.navi-type-btn:disabled:after{content:"block";font-family:Material Icons;font-size:16px;margin-left:4px;vertical-align:middle}.seat-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0}.seat-info{display:flex;flex-direction:column;gap:4px}.seat-name{font-size:14px;font-weight:600;color:var(--color-gray-900)}.seat-age{font-size:12px;color:var(--color-gray-600)}.seat-counter{display:flex;align-items:center;gap:8px}.md-counter-btn{width:32px;height:32px;border-radius:50%;border:2px solid var(--color-gray-300);background-color:#fff;color:var(--color-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.md-counter-btn:hover{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.seat-counter input{width:40px;text-align:center;border:none;background-color:transparent;font-size:16px;font-weight:600;color:var(--color-gray-900)}.seat-unit{font-size:14px;color:var(--color-gray-600)}.step-nav-btn{min-width:120px}.step-nav-btn-back{background-color:#4caf50!important;color:#fff!important;border-color:#4caf50!important}.step-nav-btn-back:hover{background-color:#45a049!important;border-color:#45a049!important}.step-nav-btn-next{background-color:#ff9800!important;color:#fff!important;border-color:#ff9800!important}.step-nav-btn-next:hover{background-color:#f57c00!important;border-color:#f57c00!important}.transport-section{margin-bottom:32px}.transport-type-selector{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:16px}.transport-type-option{display:block;cursor:pointer}.transport-type-option input[type=radio]{display:none}.transport-type-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 24px;border:2px solid var(--color-gray-200);border-radius:12px;background-color:#fff;transition:all .2s}.transport-type-option:has(input:checked) .transport-type-card{border-color:var(--color-primary);background-color:#0096880d}.transport-icon{font-size:32px}.transport-fields{margin-top:16px}.transport-fields.hidden{display:none}.confirmation-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px}@media(max-width:1024px){.confirmation-grid{grid-template-columns:1fr}}.confirmation-summary{display:flex;flex-direction:column;gap:16px}.summary-section{display:flex;flex-direction:column;gap:12px}.summary-label{font-size:14px;font-weight:600;color:var(--color-gray-900);margin-bottom:8px}.summary-row{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:var(--color-gray-600)}.summary-value{color:var(--color-gray-900);font-weight:600}.summary-options{font-size:14px;color:var(--color-gray-600)}.confirmation-action{display:flex;flex-direction:column;gap:16px}.price-breakdown{display:flex;flex-direction:column;gap:12px;padding:24px;background-color:var(--color-gray-50);border-radius:12px}.price-row{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:var(--color-gray-900)}.price-total{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:18px;color:var(--color-gray-900);padding-top:12px;border-top:2px solid var(--color-gray-300)}.md-divider{width:100%;height:1px;background-color:var(--color-gray-200);margin:16px 0}.md-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer}.md-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.toast-notification{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(100px);background-color:var(--color-gray-900);color:#fff;padding:16px 24px;border-radius:8px;box-shadow:var(--shadow-lg);z-index:9999;opacity:0;transition:all .3s}.toast-notification.show{transform:translate(-50%) translateY(0);opacity:1}.hidden{display:none!important}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.mb-8{margin-bottom:32px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.p-4{padding:16px}.p-6{padding:24px}body:has(.wizard-step[data-step="8"]:not(.hidden)) #reservationForm{padding:0!important}.fullscreen-spinner{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#fffffff2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:center;justify-content:center}.spinner-content{text-align:center}.spinner-icon{margin-bottom:16px}.spinner-text{font-size:16px;color:var(--md-sys-color-on-surface)}.insurance-loading-spinner{padding:48px 24px;text-align:center;min-height:200px;display:flex;align-items:center;justify-content:center}.insurance-loading-spinner .spinner-content{text-align:center}.insurance-loading-spinner .spinner-icon{margin-bottom:16px}.insurance-loading-spinner .spinner-text{font-size:16px;color:var(--md-sys-color-on-surface-variant)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}
