:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#1e90ff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;justify-content:center;align-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1;text-align:center}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.avatar{margin:20px auto;border-radius:50%;display:block}.card{width:fit-content;margin:5px auto;padding:5px;font-size:20px;text-align:center;border:1px solid #aaa;border-radius:20px;background:#fff}.profile{border:1px solid #aaa;border-radius:6px;margin:20px auto;padding:10px;max-width:800px}.course-button{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;border:2px solid #e0e0e0;border-radius:8px;background-color:#fff;cursor:pointer;transition:all .3s ease;width:200px;min-height:120px;position:relative}.course-button .course-title{font-size:1.1em;font-weight:700;color:#333;text-align:center;margin-bottom:4px}.course-button .plan-price{font-size:1.2em;font-weight:700;color:#e60012;text-align:center}.course-button .plan-info{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;width:100%;gap:4px}.course-button .plan-target{font-size:.9em;color:#666;margin-top:8px;text-align:center}.course-button:hover{transform:translateY(-5px);box-shadow:0 8px 15px #0000001a;border-color:#1976d2}.course-button.active{background-color:#e3f2fd;border-color:#1976d2;box-shadow:0 8px 15px #1976d233}.course-button.disabled{opacity:.6;cursor:not-allowed;background-color:#f5f5f5;border:1px solid #ddd}.course-buttons{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:30px;justify-content:center}.course-buttons .service-icon{width:56px;height:56px;margin-bottom:15px;fill:#1976d2;transition:all .3s ease}.course-buttons .course-button:hover .service-icon{fill:#1565c0;transform:scale(1.1)}.course-buttons .course-button.active .service-icon{fill:#1976d2;transform:scale(1.1)}.price-simulator{max-width:1200px;margin:0 auto;padding:20px;font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,メイリオ,sans-serif}.price-simulator h1{text-align:center;color:#333;margin-bottom:30px;font-size:2em}.form-container{background:#fff;padding:20px;border-radius:10px;box-shadow:0 2px 10px #0000001a}.form-group h3{color:#666;font-size:1em;margin-bottom:20px}.selected-services{background:#f8f9fa;padding:15px;border-radius:8px;margin-bottom:20px}.selected-services h4{color:#333;margin:0 0 10px}.selected-services ul{list-style:none;padding:0;margin:0}.selected-services li{display:inline-block;background:#e3f2fd;padding:8px 15px;border-radius:20px;margin:5px;color:#1976d2;font-weight:700}.plan-info{display:flex;flex-direction:column;align-items:center;text-align:center;padding:10px;flex-grow:1}.plan-target{font-size:.85em;color:#666;text-align:center;padding:10px;margin-top:10px;border-top:1px solid #eee;background-color:#f9f9f9;border-radius:0 0 6px 6px}.plan-price{font-weight:700;color:#333;font-size:1.2em;margin-top:10px}.course-button.active .plan-price{color:#333;font-weight:700}.course-button.active .plan-target{color:#666;background-color:#f9f9f9}.service-section{background:#f8f9fa;padding:15px;border-radius:8px;margin:15px 0}.service-section h3{color:#1976d2;margin-bottom:12px;font-size:1.1em}.result{background:#e3f2fd;padding:20px;border-radius:8px;margin-top:30px;text-align:center}.result h2{color:#1976d2;margin-bottom:10px}.result .total-price{font-size:2em;color:#333;font-weight:700;margin-bottom:20px}.price-breakdown{background:#fff;border-radius:6px;padding:15px;max-width:600px;margin:0 auto}.price-item{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px;padding:10px;background-color:#f8f9fa;border-radius:4px}.service-info{display:flex;flex-direction:column;gap:4px}.service-name{font-weight:700;color:#333;font-size:1.1em}.service-detail{color:#666;font-size:.9em;margin-left:8px}.service-price{font-weight:700;color:#333;font-size:1.1em}.price-item.discount{background-color:#e8f5e9}.price-item.discount .service-price{color:#2e7d32}@media (max-width: 1024px){.price-simulator{padding:15px}.course-buttons{gap:10px}.course-button{min-width:200px;padding:20px}.service-icon{width:40px;height:40px}}@media (max-width: 768px){.price-simulator{padding:10px}.price-simulator h1{font-size:1.6em;margin-bottom:20px}.course-buttons{gap:8px}.course-button{min-width:calc(50% - 10px);padding:15px}.service-icon{width:32px;height:32px;margin-bottom:10px}.course-title{font-size:1em}.selected-services li{display:block;margin:5px 0}.plan-buttons{grid-template-columns:1fr}.result .total-price{font-size:1.6em}.price-breakdown{padding:10px}.result-links a{display:block;padding:10px;text-align:center;background:#fff;border-radius:4px;margin-bottom:10px}}@media (max-width: 480px){.price-simulator h1{font-size:1.4em}.course-button{min-width:100%}.form-container{padding:10px}.service-section{padding:12px}.select-prompt{font-size:1em;padding:10px 12px;margin:10px 0}.result{padding:15px}.price-item{padding:8px}.service-name,.service-price{font-size:.9em}}@media (hover: none){.course-button:hover,.course-button:hover .service-icon{transform:none}.result-links a:hover:after{transform:translateY(-50%)}.course-button:active{transform:scale(.98)}}.result-links{margin-top:30px;padding-top:20px;border-top:1px solid #e0e0e0}.result-links p{margin:10px 0}.result-links a{color:#1976d2;text-decoration:none;font-weight:700;transition:color .3s ease;position:relative;padding-right:20px}.result-links a:after{content:"→";position:absolute;right:0;top:50%;transform:translateY(-50%);transition:transform .3s ease}.result-links a:hover{color:#1565c0}.result-links a:hover:after{transform:translate(5px,-50%)}.plan-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;width:100%}.plan-buttons .course-button{width:100%;min-height:unset;height:auto;padding:12px 20px;flex-direction:row;justify-content:space-between;align-items:center}.plan-buttons .course-button:has(>.plan-target){flex-direction:column;align-items:flex-start}.plan-buttons .plan-info{display:flex;flex-direction:row;justify-content:space-between;align-items:center;width:100%;margin-bottom:8px}.plan-buttons .course-title{font-size:1.1em;margin-bottom:0;text-align:left}.plan-buttons .plan-price{font-weight:700;color:#333;white-space:nowrap;margin-left:8px}.plan-buttons .plan-target{font-size:.9em;color:#666;text-align:left;width:100%;margin-top:8px}.selected-services{background:#f8f9fa;padding:12px;border-radius:8px;margin-bottom:15px}.form-container{background:#fff;padding:15px;border-radius:10px;box-shadow:0 2px 10px #0000001a}.select-prompt{color:#e53935;font-size:1.1em;margin:12px 0;padding:12px 16px;background:#ffebee;border-radius:6px;border-left:4px solid #e53935;box-shadow:0 2px 4px #0000001a;font-weight:500;text-align:center}.plan-notes{margin-top:20px;padding:15px;background-color:#f9f9f9;border-radius:8px;font-size:.9em;line-height:1.6}.plan-notes p{margin:8px 0}.plan-notes a{color:#1976d2;text-decoration:none;display:inline-block;margin:4px 0}.plan-notes a:hover{text-decoration:underline}.price-list-button{margin-top:20px;text-align:center}.generate-list-button{background-color:#4caf50;color:#fff;padding:12px 24px;border:none;border-radius:4px;cursor:pointer;font-size:1em;transition:background-color .3s}.generate-list-button:hover{background-color:#45a049}.unselected-message{color:#f44;font-size:1.2em;text-align:center;margin:20px 0;font-weight:700}.plan-info{display:flex;flex-direction:row;justify-content:space-between;align-items:center;width:100%;margin-bottom:8px}.plan-target{font-size:.9em;color:#666;text-align:left;width:100%;margin-top:8px}.plan-price{font-weight:700;color:#333;white-space:nowrap;margin-left:8px}.plan-buttons .course-button.active .plan-info,.plan-buttons .course-button.active .plan-price,.plan-buttons .course-button.active span{color:#333}.result-section{margin-top:40px;padding:20px}.result-container{display:flex;gap:40px;justify-content:center;align-items:flex-start;flex-wrap:wrap}.monthly-payment{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;min-width:300px;flex:1;position:relative;border:2px solid #1976d2}.result-arrow{position:absolute;top:-40px;left:50%;transform:translate(-50%);font-size:36px;color:#1976d2;animation:bounce 2s infinite;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.1)}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0) translate(-50%)}40%{transform:translateY(-10px) translate(-50%)}60%{transform:translateY(-5px) translate(-50%)}}.monthly-payment h3{color:#1976d2;text-align:center;margin-bottom:20px;font-size:1.3em;position:relative}.monthly-payment h3:after{content:"";display:block;width:50px;height:3px;background:#1976d2;margin:10px auto;border-radius:2px}.popular-plan{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;min-width:300px;flex:1;border:2px solid #ff6b00;position:relative}.popular-plan h3{color:#ff6b00;text-align:center;margin-bottom:20px;font-size:1.3em}.price-breakdown{margin:20px 0}.breakdown-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding:8px 0;border-bottom:1px solid #eee}.breakdown-item.discount{color:#ff6b00}.breakdown-item .item-name{flex:1;padding-right:20px}.breakdown-item .item-price{white-space:nowrap;font-weight:700}.total-price{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:15px;border-top:2px solid #333;font-weight:700;font-size:1.2em}.total-price .price{color:#e60012;font-size:1.3em}.plan-requirement{color:red;font-size:.9em;margin-top:5px;font-weight:700}
