*{margin:0;padding:0;box-sizing:border-box}body{font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,Yu Gothic Medium,Meiryo,MS Gothic,sans-serif;line-height:1.6;color:#333;background-color:#f8f9fa}.container{max-width:1200px;margin:0 auto;padding:0 20px}.header{background:#fff;box-shadow:0 2px 10px #0000001a;position:fixed;top:0;left:0;right:0;z-index:1000}.header-content{display:flex;align-items:center;justify-content:space-between;padding:15px 0}.logo{display:flex;align-items:center;gap:10px;color:#4caf50}.logo i{font-size:2rem}.logo h1{font-size:1.5rem;font-weight:700;color:#2c5530}.nav ul{display:flex;list-style:none;gap:30px}.nav a{text-decoration:none;color:#333;font-weight:500;transition:color .3s;padding:10px 0}.nav a:hover{color:#4caf50}.appointment-btn .btn-primary{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff;padding:12px 24px;border-radius:25px;text-decoration:none;font-weight:700;transition:all .3s;display:flex;align-items:center;gap:8px;box-shadow:0 4px 15px #4caf504d}.appointment-btn .btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4caf5066}.mobile-menu-btn{display:none;font-size:1.5rem;color:#4caf50;cursor:pointer}.btn-primary{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff;padding:12px 24px;border-radius:25px;text-decoration:none;font-weight:700;transition:all .3s;display:inline-flex;align-items:center;gap:8px;border:none;cursor:pointer;box-shadow:0 4px 15px #4caf504d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4caf5066}.btn-secondary{background:transparent;color:#4caf50;padding:12px 24px;border:2px solid #4CAF50;border-radius:25px;text-decoration:none;font-weight:700;transition:all .3s;display:inline-flex;align-items:center;gap:8px}.btn-secondary:hover{background:#4caf50;color:#fff}.btn-primary.large{padding:16px 32px;font-size:1.1rem}main{margin-top:80px}.section-header{text-align:center;margin-bottom:50px}.section-header h3{font-size:2.5rem;color:#2c5530;margin-bottom:15px;position:relative}.section-header h3:after{content:"";display:block;width:80px;height:3px;background:linear-gradient(135deg,#4caf50,#66bb6a);margin:15px auto;border-radius:2px}.section-header p{font-size:1.1rem;color:#666;max-width:600px;margin:0 auto}.hero{background:linear-gradient(135deg,#e8f5e8,#f1f8e9);padding:100px 0;min-height:600px;display:flex;align-items:center}.hero-content{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;max-width:1200px;margin:0 auto;padding:0 20px}.hero-text h2{font-size:3rem;color:#2c5530;margin-bottom:20px;line-height:1.3}.hero-text p{font-size:1.2rem;color:#666;margin-bottom:30px;line-height:1.7}.hero-buttons{display:flex;gap:20px;flex-wrap:wrap}.hero-image img{width:100%;border-radius:20px;box-shadow:0 20px 40px #0000001a}.news{background:#fff;padding:60px 0}.news-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.news-header h3{font-size:1.8rem;color:#2c5530;display:flex;align-items:center;gap:10px}.view-all{color:#4caf50;text-decoration:none;font-weight:700;transition:color .3s}.view-all:hover{color:#66bb6a}.news-list{display:flex;flex-direction:column;gap:15px}.news-item{display:flex;align-items:center;gap:15px;padding:20px;background:#f8f9fa;border-radius:10px;transition:all .3s}.news-item:hover{background:#e8f5e8;transform:translate(5px)}.news-date{color:#666;font-size:.9rem;min-width:80px}.news-tag{padding:4px 12px;border-radius:15px;font-size:.8rem;font-weight:700;min-width:80px;text-align:center}.news-tag.important{background:#ffebee;color:#c62828}.news-tag.info{background:#e3f2fd;color:#1565c0}.news-tag.new{background:#e8f5e8;color:#2e7d32}.news-item a{color:#333;text-decoration:none;flex:1;transition:color .3s}.news-item a:hover{color:#4caf50}.services{padding:80px 0;background:#f8f9fa}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:30px}.service-card{background:#fff;padding:40px 30px;border-radius:15px;text-align:center;box-shadow:0 10px 30px #0000001a;transition:all .3s}.service-card:hover{transform:translateY(-10px);box-shadow:0 20px 40px #00000026}.service-icon{width:80px;height:80px;background:linear-gradient(135deg,#4caf50,#66bb6a);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.service-icon i{font-size:2rem;color:#fff}.service-card h4{font-size:1.5rem;color:#2c5530;margin-bottom:15px}.service-card p{color:#666;line-height:1.7}.about{padding:80px 0;background:#fff}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.about-description{margin-bottom:40px}.about-description p{color:#666;line-height:1.8;margin-bottom:20px}.about-features{display:flex;flex-direction:column;gap:25px}.feature-item{display:flex;align-items:flex-start;gap:15px}.feature-item i{font-size:1.5rem;color:#4caf50;margin-top:5px}.feature-item h5{color:#2c5530;margin-bottom:5px;font-size:1.2rem}.feature-item p{color:#666;line-height:1.6}.about-image img{width:100%;border-radius:15px;box-shadow:0 15px 35px #0000001a}.access{padding:80px 0;background:#f8f9fa}.access-content{display:grid;grid-template-columns:1fr 1fr;gap:60px}.schedule h4,.clinic-info h4{font-size:1.5rem;color:#2c5530;margin-bottom:25px;display:flex;align-items:center;gap:10px}.schedule-table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 5px 15px #0000001a;margin-bottom:20px}.schedule-table th,.schedule-table td{padding:12px;text-align:center;border-bottom:1px solid #e9ecef}.schedule-table th{background:#4caf50;color:#fff;font-weight:700}.schedule-table td:first-child{background:#f8f9fa;font-weight:700;text-align:left}.schedule-notes{color:#666;font-size:.9rem}.schedule-notes p{margin-bottom:8px;display:flex;align-items:center;gap:8px}.info-item{display:flex;align-items:flex-start;gap:15px;margin-bottom:25px;padding:20px;background:#fff;border-radius:10px;box-shadow:0 5px 15px #0000000d}.info-item i{font-size:1.3rem;color:#4caf50;margin-top:5px}.info-item strong{display:block;color:#2c5530;margin-bottom:5px;font-size:1.1rem}.info-item p{color:#666;line-height:1.6}.reservation{padding:80px 0;background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff}.reservation-content{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.reservation-text h3{font-size:2.5rem;margin-bottom:20px}.reservation-text p{font-size:1.1rem;margin-bottom:40px;line-height:1.7;opacity:.9}.reservation-steps{display:flex;gap:20px;flex-wrap:wrap}.step{display:flex;align-items:center;gap:10px;background:#ffffff1a;padding:15px 20px;border-radius:10px;flex:1;min-width:200px}.step-number{width:30px;height:30px;background:#fff;color:#4caf50;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700}.reservation-buttons{text-align:center}.reservation-buttons .btn-primary{background:#fff;color:#4caf50;margin-bottom:30px}.reservation-buttons .btn-primary:hover{background:#f8f9fa}.contact-info p{margin-bottom:10px;opacity:.9}.phone-number{color:#fff;text-decoration:none;font-size:1.5rem;font-weight:700;display:flex;align-items:center;justify-content:center;gap:10px}.phone-number:hover{opacity:.8}.footer{background:#2c5530;color:#fff;padding:60px 0 20px}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:40px;margin-bottom:40px}.footer-logo{display:flex;align-items:center;gap:10px;margin-bottom:15px}.footer-logo i{font-size:1.5rem;color:#4caf50}.footer-logo h4{font-size:1.3rem}.footer-section p{line-height:1.7;opacity:.9;margin-bottom:15px}.footer-section h5{font-size:1.2rem;margin-bottom:15px;color:#4caf50}.footer-section ul{list-style:none}.footer-section ul li{margin-bottom:8px}.footer-section ul li a{color:#fff;text-decoration:none;opacity:.9;transition:opacity .3s}.footer-section ul li a:hover{opacity:1;color:#4caf50}.contact-info p{display:flex;align-items:center;gap:10px;margin-bottom:10px}.footer-bottom{text-align:center;padding-top:20px;border-top:1px solid rgba(255,255,255,.2);opacity:.7}@media (max-width: 768px){.mobile-menu-btn{display:block;z-index:1001;position:relative}.nav,.appointment-btn{display:none}.nav.mobile-menu-open{display:block;position:fixed;top:80px;left:0;right:0;background:#fff;box-shadow:0 4px 20px #0000001a;z-index:999;padding:20px 0;animation:slideDown .3s ease-out}.nav.mobile-menu-open ul{flex-direction:column;gap:0}.nav.mobile-menu-open ul li{border-bottom:1px solid #f0f0f0}.nav.mobile-menu-open ul li:last-child{border-bottom:none}.nav.mobile-menu-open a{display:block;padding:15px 20px;font-size:1.1rem}body.menu-open:after{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:998}.hero-content{grid-template-columns:1fr;gap:40px;text-align:center}.hero-text h2{font-size:2.2rem}.hero-buttons{justify-content:center}.services-grid{grid-template-columns:1fr}.about-content,.access-content{grid-template-columns:1fr;gap:40px}.reservation-content{grid-template-columns:1fr;gap:40px;text-align:center}.reservation-steps{flex-direction:column}.footer-content{grid-template-columns:1fr;gap:30px}.news-header{flex-direction:column;gap:15px;align-items:flex-start}.news-item{flex-direction:column;align-items:flex-start;gap:10px}.schedule-table{font-size:.9rem}.schedule-table th,.schedule-table td{padding:8px 4px}.container{padding:0 15px}.section-header h3{font-size:2rem}.hero,.services,.about,.access,.reservation{padding:60px 0}}@media (max-width: 480px){.hero-text h2{font-size:1.8rem}.hero-text p{font-size:1rem}.section-header h3{font-size:1.8rem}.service-card{padding:30px 20px}.btn-primary,.btn-secondary{padding:10px 20px;font-size:.9rem}.reservation-text h3{font-size:2rem}.phone-number{font-size:1.2rem}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.service-card,.news-item,.info-item{animation:fadeInUp .6s ease-out}html{scroll-behavior:smooth}a:focus,button:focus{outline:2px solid #4CAF50;outline-offset:2px}
