:root{--font-40: 2.5rem;--font-36: 2.2rem;--font-21: 1.3rem;--font-size-base: 16px;--font-56: 3.5rem;--font-32: 2rem;--font-30: 1.875rem;--font-28: 1.75rem;--font-26: 1.625rem;--font-24: 1.5rem;--font-22: 1.4rem;--font-20: 1.25rem;--font-19: 1.1875rem;--font-18: 1.15rem;--font-16: 1rem;--font-15: .95rem;--font-14: .875rem;--font-13: .8125rem;--font-12: .75rem;--font-11: .7rem;--font-10: .625rem;--color-primary: #1F3F2F;--color-primary-light: #2A543F;--color-accent: #CBAA5F;--color-text: #333333;--color-text-light: #666666;--color-bg: #FAFAF7;--color-bg-light: #FFFFFF;--color-bg-dark: #1A2E24;--font-base: "Noto Sans JP", sans-serif;--font-heading: "Zen Old Mincho", serif;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 2rem;--spacing-xl: 4rem;--spacing-xxl: 8rem;--border-radius: 8px;--radius-sm: 4px;--radius-md: 8px;--color-border: #E0E0E0}html[data-font-size=medium]{--font-size-base: 18px}html[data-font-size=large]{--font-size-base: 20px}html{font-size:var(--font-size-base)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-base);color:var(--color-text);line-height:1.8;background-color:var(--color-bg);-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{text-decoration:none;color:inherit;transition:var(--transition)}ul,ol{list-style:none}.container{width:90%;max-width:1100px;margin:0 auto}.text-center{text-align:center}.text-accent{color:var(--color-accent);font-weight:700}.text-white{color:#fff}.bg-light{background-color:var(--color-bg-light)}.bg-dark{background-color:var(--color-bg-dark)}.main-content{margin-top:80px}.mt-2{margin-top:1.5rem}.mt-4{margin-top:var(--spacing-xl)}.mb-6{margin-bottom:var(--spacing-xl)}.text-small{font-size:var(--font-14)}.no-margin-top{margin-top:0!important}.section-padding{padding:var(--spacing-xxl) 0}@media (max-width: 768px){.section-padding{padding:var(--spacing-xl) 0}}.section-title{font-family:var(--font-heading);font-size:var(--font-32);margin-bottom:var(--spacing-xl);text-align:center;position:relative;color:var(--color-primary)}.section-title:after{content:"";display:block;width:40px;height:2px;background-color:var(--color-accent);margin:1rem auto 0}.section-title.text-white{color:#fff}.section-title.text-white:after{background-color:var(--color-accent)}.btn{display:inline-block;padding:1rem 3rem;background-color:var(--color-primary);color:#fff;border-radius:50px;font-weight:700;letter-spacing:.05em;box-shadow:0 4px 15px #1f3f2f33}.btn:hover{background-color:var(--color-primary-light);transform:translateY(-2px);box-shadow:0 6px 20px #1f3f2f4d}.btn-outline{background-color:transparent;color:var(--color-primary);border:1px solid var(--color-primary);box-shadow:none}.btn-outline:hover{background-color:var(--color-primary);color:#fff}.header{position:fixed;top:0;left:0;width:100%;z-index:1000;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.05);transition:var(--transition)}.header-inner{display:flex;justify-content:space-between;align-items:center;height:80px}.logo img{height:40px}.global-nav ul{display:flex;align-items:center;gap:var(--spacing-lg)}.global-nav a{font-size:var(--font-15);font-weight:500}.global-nav a:hover{color:var(--color-primary);opacity:.8}.global-nav .btn-contact{background-color:var(--color-accent);color:#fff;padding:.6rem 1.5rem;border-radius:30px}.global-nav .btn-contact:hover{background-color:#b5953c;opacity:1}.hamburger-menu{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px}.hamburger-menu span{display:block;width:25px;height:2px;background-color:var(--color-text);transition:var(--transition)}.hamburger-menu[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger-menu[aria-expanded=true] span:nth-child(2){opacity:0}.hamburger-menu[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media (max-width: 768px){.global-nav{display:none;position:fixed;top:70px;left:0;width:100%;height:calc(100vh - 70px);background:#fff;padding:var(--spacing-xl) 0;z-index:1001;overflow-y:auto}.global-nav.is-active{display:block}.global-nav ul{display:block;padding:0 var(--spacing-lg);text-align:center}.global-nav a{font-size:var(--font-20);display:block;padding:var(--spacing-md) 0;border-bottom:1px solid rgba(0,0,0,.05);width:100%;text-align:center}.global-nav .btn-contact{display:inline-block;width:auto;margin-top:var(--spacing-md);text-align:center;border-bottom:none}.hamburger-menu{display:flex;padding:10px;margin-right:-10px;position:relative;z-index:1002}.header-inner{height:70px;padding:0 var(--spacing-md)}.main-content,.hero{margin-top:70px}}.hero{margin-top:80px;padding:var(--spacing-xxl) 0;background:linear-gradient(135deg,#f5f7f6,#e8edea);text-align:center}.hero-image-wrap{margin-bottom:var(--spacing-lg);max-width:350px;margin-left:auto;margin-right:auto}.hero-title{font-family:var(--font-heading);font-size:var(--font-32);color:var(--color-primary);line-height:1.4}.hero-title .highlight{position:relative;display:inline-block;padding:0 .2em}.hero-title .highlight:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:30%;background-color:#cbaa5f4d;z-index:-1}@media (max-width: 768px){.hero-title{font-size:var(--font-28)}}.greeting-content{text-align:center;max-width:800px;margin:0 auto}.greeting-text{font-size:var(--font-18);margin-bottom:var(--spacing-xl)}.greeting-visual{margin-bottom:var(--spacing-xl)}.greeting-visual img{border-radius:var(--border-radius);margin:0 auto var(--spacing-md);box-shadow:0 10px 30px #0000000d}.greeting-visual figcaption{font-size:var(--font-14);color:var(--color-text-light)}.greeting-signature{font-family:var(--font-heading);font-size:var(--font-19);text-align:right}.news-list{max-width:800px;margin:0 auto var(--spacing-xl)}.news-item{display:flex;padding:var(--spacing-lg) 0;border-bottom:1px solid rgba(0,0,0,.1)}.news-item:first-child{border-top:1px solid rgba(0,0,0,.1)}.news-date{font-weight:700;width:120px;flex-shrink:0;color:var(--color-primary)}.news-more{text-align:center}@media (max-width: 768px){.news-item{flex-direction:column;gap:var(--spacing-sm)}}.service-card{display:flex;align-items:center;gap:var(--spacing-xl);margin-bottom:var(--spacing-xl);background:#fff;border-radius:var(--border-radius);overflow:hidden;box-shadow:0 5px 20px #00000005;transition:var(--transition)}.service-card:hover{box-shadow:0 10px 30px #0000000d;transform:translateY(-5px)}.service-card.reverse{flex-direction:row-reverse}.service-content{flex:1;padding:var(--spacing-xl)}.service-image{flex:1}.service-image img{width:100%;height:100%;object-fit:cover}.service-title{font-family:var(--font-heading);font-size:var(--font-28);color:var(--color-primary);margin-bottom:var(--spacing-md)}.service-price{font-weight:700;font-size:var(--font-19);color:var(--color-accent);margin-top:var(--spacing-md)}.price-list{margin-top:var(--spacing-md)}.price-list li{margin-bottom:var(--spacing-sm)}@media (max-width: 768px){.service-card,.service-card.reverse{flex-direction:column}.service-content{padding:var(--spacing-lg)}}.maintenance{background-image:linear-gradient(#1a2e24f2,#1a2e24f2),url(/images/maintenance-bg.jpg);background-size:cover;background-position:center;background-attachment:fixed}.maintenance-lead{font-size:var(--font-20);margin-bottom:var(--spacing-xl);font-family:var(--font-heading)}.maintenance-list{max-width:700px;margin:0 auto;text-align:left}.maintenance-list li{position:relative;padding-left:2rem;margin-bottom:var(--spacing-md)}.maintenance-list li:before{content:"✓";position:absolute;left:0;color:var(--color-accent)}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg)}.guide-item{background:#fff;padding:var(--spacing-lg);border-radius:var(--border-radius);text-align:center;border:1px solid rgba(0,0,0,.08);box-shadow:0 5px 20px #00000005;transition:var(--transition)}.guide-item:hover{transform:translateY(-5px);box-shadow:0 10px 30px #0000000f}.guide-item-title{font-family:var(--font-heading);font-size:var(--font-22);margin-bottom:var(--spacing-md);color:var(--color-primary)}@media (max-width: 768px){.guide-grid{grid-template-columns:1fr}}.flow-area-inner{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl)}.flow-list li{display:flex;align-items:flex-start;margin-bottom:var(--spacing-lg);background:#fff;padding:var(--spacing-lg);border-radius:var(--border-radius);border:1px solid rgba(0,0,0,.08);border-left:5px solid var(--color-primary);box-shadow:0 5px 20px #0000000d}.step-num{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background-color:var(--color-primary);color:#fff;border-radius:50%;font-family:var(--font-heading);font-size:var(--font-19);font-weight:700;margin-right:var(--spacing-md);flex-shrink:0}.area-table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--border-radius);border:1px solid rgba(0,0,0,.08);overflow:hidden;box-shadow:0 5px 20px #0000000d}.area-table th,.area-table td{padding:1.2rem var(--spacing-md);text-align:left;border-bottom:1px solid rgba(0,0,0,.08)}.area-table th{background-color:var(--color-primary);color:#fff;width:30%;font-weight:700}.area-table tr:last-child th,.area-table tr:last-child td{border-bottom:none}.icon-wrapper{margin-bottom:var(--spacing-md);text-align:center}.icon-wrapper-large{margin-top:var(--spacing-xxl);margin-bottom:var(--spacing-md);text-align:center}.icon-img{margin:0 auto;max-width:60px}.content-block{max-width:800px;margin:0 auto;text-align:left;line-height:2}.guide-item-detail-title{color:var(--color-primary);margin-bottom:.5rem;border-left:4px solid var(--color-accent);padding-left:10px;text-align:left}.guide-item-desc{font-size:var(--font-15);margin-bottom:1rem;min-height:3rem;text-align:left}.hp-field{display:none!important}.modal-title-custom{margin-bottom:1rem;font-size:var(--font-28)}.modal-text-custom{margin-bottom:2rem}.option-card{text-align:left;background-color:#fcecd2!important;box-shadow:none!important;border:1px solid var(--color-accent)!important}.max-w-600-center{max-width:600px;margin-left:auto;margin-right:auto}@media (max-width: 900px){.flow-area-inner{grid-template-columns:1fr}}.contact-card{max-width:500px;margin:0 auto;background:#fff;padding:var(--spacing-xl);border-radius:var(--border-radius);box-shadow:0 10px 40px #0000000d}.tel-link{font-size:var(--font-32);font-weight:700;color:var(--color-primary);display:block;margin-bottom:var(--spacing-md)}.tel-link:hover{color:var(--color-primary-light)}.contact-page{padding-top:var(--spacing-xl)}.contact-intro{margin-bottom:var(--spacing-xl)}.sub-title{font-family:var(--font-heading);font-size:var(--font-26);color:var(--color-primary);margin-bottom:var(--spacing-md)}.contact-form-wrapper{max-width:600px;margin:0 auto;background:#fff;padding:var(--spacing-xl);border-radius:var(--border-radius);box-shadow:0 5px 20px #00000005}.form-item{margin-bottom:var(--spacing-lg)}.form-item label{display:block;font-weight:700;margin-bottom:var(--spacing-sm);color:var(--color-primary)}.form-item .required{background:#e74c3c;color:#fff;font-size:var(--font-12);padding:.2rem .5rem;border-radius:4px;margin-left:var(--spacing-sm);vertical-align:middle}.form-item input[type=text],.form-item input[type=email],.form-item input[type=tel],.form-item textarea,.form-item select{width:100%;padding:.8rem;border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:var(--font-16);transition:var(--transition)}.form-item input:focus,.form-item textarea:focus,.form-item select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px #cbaa5f33}.form-item textarea{resize:vertical}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;justify-content:center;align-items:center;z-index:2000;opacity:0;visibility:hidden;transition:var(--transition);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-overlay.show{opacity:1;visibility:visible}.modal-content{background:#fff;padding:var(--spacing-xl);border-radius:var(--border-radius);max-width:500px;width:90%;text-align:center;box-shadow:0 15px 50px #0000001a;transform:translateY(20px);transition:var(--transition)}.modal-overlay.show .modal-content{transform:translateY(0)}.price-table{width:100%;border-collapse:collapse;text-align:left;margin-top:1rem}.price-table tr{border-bottom:1px dashed rgba(0,0,0,.1)}.price-table tr:last-child{border-bottom:none}.price-table th,.price-table td{padding:.8rem 0;vertical-align:middle}.price-table th{font-weight:700;color:var(--color-primary)}.price-table td{text-align:right}.price-amount{font-size:var(--font-20);font-weight:700;color:var(--color-accent)}.price-tax{font-size:var(--font-12);color:var(--color-text-light)}.footer{background:var(--color-bg-dark);color:#ffffffb3;padding:var(--spacing-lg) 0;text-align:center}.admin-login-container{max-width:400px;margin:100px auto;padding:var(--spacing-xl);background:#fff;border-radius:var(--radius-md);box-shadow:0 4px 15px #0000001a}.admin-login-container h1{font-size:var(--font-24);text-align:center;margin-bottom:var(--spacing-lg);color:var(--color-primary)}.dashboard-container{max-width:800px;margin:50px auto;padding:var(--spacing-xl);background:#fff;border-radius:var(--radius-md);box-shadow:0 4px 15px #0000001a}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xxl);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.header h1{font-size:var(--font-24);color:var(--color-primary)}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{display:block;margin-bottom:var(--spacing-sm);font-weight:700}.form-group input{width:100%;padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.form-group input[type=text],.form-group input[type=date],.form-group textarea{width:100%;padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:inherit}.form-group textarea{resize:vertical;min-height:150px}.error-message{color:#d9534f;display:none;margin-top:var(--spacing-sm);text-align:center}.btn-submit{width:100%;margin-top:var(--spacing-md)}.status-message{margin-top:var(--spacing-md);padding:15px;border-radius:var(--radius-sm);display:none;text-align:center}.status-success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.status-error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.image-preview{max-width:100%;max-height:200px;margin-top:10px;display:none}.loading-spinner{display:none;text-align:center;margin-top:10px}
