@charset "UTF-8";.desktop-only{display:block}.mobile-only{display:none}.breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:40px;color:#666;font-size:.9rem}.breadcrumb i{width:16px;height:16px}.procedure-detail-container{padding:50px 0 80px}.procedure-detail-main{display:flex;align-items:flex-start;gap:40px}.procedure-detail-left{flex:1}.procedure-detail-container .info-card{margin-bottom:30px;box-shadow:0 4px 20px #00000014;border-radius:12px;background:#fff;overflow:hidden}.procedure-detail-container .info-card:last-child{margin-bottom:0}.procedure-detail-container .event-image{width:100%;height:300px;overflow:hidden}.procedure-detail-container .event-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.procedure-detail-container .event-image.imageEmpty{display:flex;align-items:center;justify-content:center;background-color:#f0f0f0;overflow:hidden;opacity:.4}.procedure-detail-container .event-content{padding:30px}.procedure-detail-container .event-title{margin-bottom:12px;color:#333;font-weight:700;font-size:2rem}.procedure-detail-container .event-subtitle{margin-bottom:30px;color:#666;font-weight:400;font-size:1.1rem;line-height:1.6;white-space:pre}.event-details h3{margin-bottom:8px;color:#333;font-weight:600;font-size:1.2rem}.period-info{display:flex;flex-direction:column}.period-info .consultation{display:flex;flex-direction:column;gap:12px;padding:12px 0;border-top:1px solid #f0f0f0;border-bottom:1px solid #f0f0f0}.period-info .consultation .period-item{padding:0}.period-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0}.period-item:last-child{border-bottom:none}.period-label{color:#666;font-weight:500;font-size:.95rem}.period-label span{font-size:12px;color:#999;margin-left:5px}.period-value{color:#333;font-weight:600;font-size:.95rem}.procedure-detail-container .procedure-title{padding:30px 30px 0}.procedure-detail-container .procedure-title h1{font-size:2.25rem}.procedure-detail-container .procedure-title p{font-weight:400;font-size:1rem;white-space:pre-line}.procedure-detail-container .procedure-title img{margin:40px 0 30px;border-radius:12px;width:100%}.explanation-section h3{margin-bottom:16px;color:#333;font-weight:700;font-size:1.25rem}.procedure-diagram{display:flex;flex-flow:column;align-items:center;gap:30px}.procedure-diagram.empty{gap:0}.diagram-image{display:flex;position:relative;justify-content:center;align-items:center;border-radius:8px;width:100%;overflow:hidden}.diagram-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.diagram-description{width:100%;white-space:pre-wrap}.diagram-description p{margin-bottom:4px;color:#555;font-weight:450;font-size:1rem}.diagram-description p:last-child{margin-bottom:0}.procedure-detail-container .effect-list{display:flex;flex-direction:column;gap:8px}.procedure-detail-container .effect-item{display:flex;align-items:start;gap:15px}.procedure-detail-container .effect-number{flex:0 0 auto;color:#4c74f3;font-weight:800;font-size:1.1rem}.procedure-detail-container .effect-item p{flex:1;margin:1px 0 0;color:#555;font-weight:450;font-size:1rem;line-height:1.6;white-space:pre-line}.procedure-detail-container .section-divider{margin:20px 30px;border-top:1px solid #e5e5e5}.explanation-section{padding:30px}.explanation-section:last-child{border-bottom:none}.explanation-section h3{margin-bottom:16px;color:#333;font-weight:700;font-size:1rem}.procedure-detail-container .procedure-time-info{display:flex;flex-direction:column}.procedure-detail-container .time-item{display:flex;align-items:center;gap:15px;padding:6px 0}.procedure-detail-container .time-label{color:#333;font-weight:800;font-size:1rem}.procedure-detail-container .time-value{font-weight:450;font-size:1rem}.procedure-detail-container .procedure-process{display:flex;flex-wrap:wrap;gap:20px}.procedure-detail-container .process-step{flex:1;transition:transform .2s ease,box-shadow .2s ease;box-shadow:2px 2px 8px #00000021;border-radius:12px;background:#fff;min-width:180px;overflow:hidden}.procedure-detail-container .process-image{width:100%;overflow:hidden}.procedure-detail-container .process-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.procedure-detail-container .process-info{padding:20px;text-align:center}.procedure-detail-container .step-number{margin-bottom:8px;color:#4c74f3;font-weight:600;font-size:.9rem;letter-spacing:.5px}.procedure-detail-container .step-title{color:#333;font-weight:600;font-size:1.1rem}.procedure-detail-container .procedure-areas{display:flex;flex-wrap:wrap;gap:12px}.procedure-detail-container .area-tag{display:inline-block;transition:all .2s ease;cursor:default;border-radius:20px;background:#f8f6f4;padding:6px 24px 8px;color:#333;font-weight:450;font-size:.9rem;white-space:pre-line}.procedure-detail-container .faq-container{display:flex;flex-direction:column;gap:30px;margin-top:20px}.procedure-detail-container .faq-item{display:flex;flex-direction:column;gap:15px}.procedure-detail-container .faq-question{display:flex;align-items:flex-start;gap:10px}.procedure-detail-container .question-bubble{position:relative;border-radius:20px 20px 20px 5px;background:#e9ecef;padding:15px 20px;max-width:300px;color:#333;font-weight:500;line-height:1.4;white-space:pre-line}.procedure-detail-container .faq-answer{display:flex;justify-content:flex-end;margin-left:50px}.procedure-detail-container .answer-bubble{position:relative;border:1px solid #e9ecef;border-radius:20px 20px 5px;background:#fff;padding:15px 20px;max-width:400px;font-weight:450;line-height:1.5;white-space:pre-line}.procedure-detail-container .procedure-detail-right{position:sticky;top:160px;flex:1}.procedure-detail-container .product-list-card{box-shadow:0 4px 20px #00000014;border-radius:12px;background:#fff;overflow:hidden}.procedure-detail-container .product-list{padding:20px;max-height:500px;overflow-y:auto}.procedure-detail-container .product-item{display:flex;align-items:center;gap:15px;border-bottom:1px solid #f0f0f0;padding:20px}.procedure-detail-container .product-checkbox{display:flex;position:relative;flex:0 0 auto}.procedure-detail-container .product-checkbox input[type=checkbox]{position:relative;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:2px solid #ddd;border-radius:4px;background:#fff;width:20px;height:20px}.procedure-detail-container .product-checkbox input[type=checkbox]:checked{border-color:#4c74f3;background:#4c74f3}.procedure-detail-container .product-checkbox input[type=checkbox]:checked:after{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='3' stroke='white'%3e%3cpath stroke-linecap='round' stroke-linejoin='round' d='m4.5 12.75 6 6 9-13.5'/%3e%3c/svg%3e");background-position:center;background-size:contain;background-repeat:no-repeat;width:14px;height:14px;content:""}.procedure-detail-container .product-info{flex:1}.procedure-detail-container .product-name{color:#333;font-weight:600;font-size:1.1rem}.procedure-detail-container .product-description{color:#666;font-size:.9rem;line-height:1.4;white-space:pre-line}.procedure-detail-container .product-price{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-end}.procedure-detail-container .original-price{color:#999;font-size:1rem;text-decoration:line-through;font-weight:400}.procedure-detail-container .sale-price{color:#4c74f3;font-weight:800;font-size:1.1rem}.procedure-detail-container .order-summary{background:#fafafa;padding:25px 20px}.procedure-detail-container .price-summary{margin-bottom:20px}.procedure-detail-container .discount-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;color:#666;font-size:.9rem}.procedure-detail-container .discount-rate{color:#e74c3c;font-weight:700}.procedure-detail-container .total-price{text-align:right}.procedure-detail-container .total-amount{color:#333;font-weight:800;font-size:1.8rem}.procedure-detail-container .reservation-button-wrapper{display:flex;gap:10px;width:100%}.procedure-detail-container .reservation-button-wrapper .cart-button{width:4rem;display:flex;justify-content:center;align-items:center;gap:8px;transition:all .3s ease;cursor:pointer;border:none;border-radius:8px;background:#7c7d81;padding:16px;color:#fff;font-weight:700;font-size:1.1rem;letter-spacing:.7rem}.procedure-detail-container .reservation-button-wrapper .cart-button:hover:not(:disabled){background:#4b4b4b}.procedure-detail-container .reservation-button-wrapper .cart-button:disabled{transform:none;cursor:not-allowed;background:#ccc}.procedure-detail-container .reservation-button-wrapper .cart-button svg{width:20px;height:20px}.button-flex{display:flex;gap:10px}.procedure-detail-container .reservation-button,.procedure-detail-container .cart-button{display:flex;justify-content:center;align-items:center;gap:8px;transition:all .3s ease;cursor:pointer;border:none;border-radius:8px;background:#4c74f3;padding:16px;color:#fff;font-weight:700;font-size:1.1rem;letter-spacing:.7rem;flex:1}.cart-button{position:relative;flex:.1!important}.cart-button .plus-icon{position:absolute;top:37%;left:65%;width:12px!important;height:12px!important;color:#fff;background:#7c7d81;border-radius:50%;box-shadow:0 0 3px #0000001a;transform:translate(-50%,-50%)}.procedure-detail-container .reservation-button:hover:not(:disabled),.procedure-detail-container .cart-button:hover:not(:disabled){background:#2b5af5}.procedure-detail-container .reservation-button:disabled,.procedure-detail-container .cart-button:disabled{transform:none;cursor:not-allowed;background:#ccc}.procedure-detail-container .reservation-button:disabled .plus-icon,.procedure-detail-container .cart-button:disabled .plus-icon{background:#c2b4b4}.procedure-detail-container .reservation-button svg,.procedure-detail-container .cart-button svg{width:20px;height:20px}.procedure-detail-container .event-image-placeholder{height:100%;display:flex;align-items:center;justify-content:center;font-size:25px;font-weight:700;background-color:#e3eeff;color:#bbd5ff;padding:0 20px;text-align:center}@media (min-width: 768px) and (max-width: 1024px){.mobile-fixed-reservation{bottom:0!important}}@media (max-width: 1024px){.desktop-only{display:none}.mobile-only{display:block}.mobile-fixed-reservation{position:fixed;right:0;bottom:71px;left:0;z-index:1000;box-shadow:0 -2px 10px #0000001a;border-top:1px solid #e5e5e5;background:#fff;padding:10px 20px}.mobile-fixed-reservation .price-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.9rem}.mobile-fixed-reservation .selected-count{color:#666}.mobile-fixed-reservation .total-price{color:#4c74f3;font-weight:800;font-size:1.2rem}.mobile-fixed-reservation .reservation-button{display:flex;justify-content:center;align-items:center;gap:8px;transition:all .3s ease;cursor:pointer;border:none;border-radius:8px;background:#4c74f3;padding:12px;width:100%;color:#fff;font-weight:700;font-size:1rem;flex:1}.mobile-fixed-reservation .cart-button{display:flex;justify-content:center;align-items:center;gap:8px;transition:all .3s ease;cursor:pointer;border:none;border-radius:8px;background:#7c7d81;padding:12px;color:#fff;font-weight:700;font-size:1rem}.mobile-fixed-reservation .reservation-button:hover:not(:disabled),.mobile-fixed-reservation .cart-button:hover:not(:disabled){background:#4b4b4b}.mobile-fixed-reservation .reservation-button:disabled,.mobile-fixed-reservation .cart-button:disabled{transform:none;cursor:not-allowed;background:#ccc}.mobile-fixed-reservation .reservation-button svg,.mobile-fixed-reservation .cart-button svg{width:18px;height:18px}.procedure-detail-container{padding:20px 0}.mobile-only .order-summary{display:none}.procedure-detail-container .site-width{padding:0}.procedure-detail-container .info-card,.procedure-detail-container .product-list-card{margin-bottom:8px;box-shadow:none;border-radius:0}.procedure-detail-container .procedure-detail-right{position:relative;top:inherit}.procedure-detail-wrapper{display:flex;flex-direction:column;gap:30px;background-color:#f5f5f5}.procedure-detail-main{flex-direction:column;gap:0}.procedure-detail-left{flex:none;width:100%}.breadcrumb{margin-bottom:20px;padding:0 20px}.procedure-detail-container .procedure-title h1{font-size:1.5rem}.procedure-detail-container .procedure-title p{font-size:.875rem}.procedure-detail-container .procedure-title img{margin:24px 0 0}.procedure-detail-container .event-title{margin-bottom:4px;font-size:1.5rem}.procedure-detail-container .event-subtitle{margin-bottom:24px;font-size:1rem}.event-details h3{margin-bottom:4px;font-size:1rem}.period-label,.period-value{font-size:.875rem}.procedure-detail-container .event-content,.explanation-section{padding:20px}.procedure-detail-container .procedure-title{padding:20px 20px 0}.procedure-detail-container .procedure-process{flex-direction:column;gap:15px}.procedure-detail-container .process-step{width:100%;min-width:auto}.procedure-detail-container .process-info{padding:15px}.procedure-detail-container .faq-answer{margin-left:20px}.procedure-detail-container .question-bubble{max-width:250px;font-size:.875rem}.procedure-detail-container .answer-bubble{max-width:300px;font-size:.875rem}.procedure-detail-container .product-list{max-height:none;overflow-y:visible}.procedure-detail-container .product-item{padding:15px}.procedure-detail-container .effect-number{font-size:1rem}.procedure-detail-container .effect-item,.diagram-description p,.procedure-detail-container .effect-item p,.procedure-detail-container .time-label,.procedure-detail-container .time-value,.procedure-detail-container .step-number,.procedure-detail-container .step-title,.procedure-detail-container .area-tag,.procedure-detail-container .product-name,.procedure-detail-container .product-description,.mobile-fixed-reservation .price-info,.procedure-detail-container .discount-info{font-size:.875rem}.procedure-detail-container .section-divider{margin:15px 20px}.footer{padding-bottom:calc(10rem + env(safe-area-inset-bottom))}body:has(.mobile-fixed-reservation) .fab-container{bottom:125px}body:has(.mobile-fixed-reservation) .fab-container .fab-cart{display:none}}
