.header-wrapper{margin-top:0}.header{position:fixed;top:0;left:0;width:100%;z-index:1000;display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;border-bottom:1px solid #ccc;background-color:#fff;height:120px;box-sizing:border-box}.left{display:flex;align-items:center;gap:.5rem}.center{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;height:100%}.logo-image{height:110px;max-height:100%;max-width:100%;object-fit:contain;display:block}.menu-dropdown,.search-dropdown{position:absolute;top:100%;left:0;background-color:#fff;padding:1.5rem;border:1px solid #ccc;z-index:100;box-shadow:0 2px 6px #0000001a;width:250px;box-sizing:border-box}.search-form{display:flex;flex-direction:column;gap:.75rem}.search-form input,.search-form select,.search-form button{padding:.5rem;font-size:14px;border:1px solid #ccc;border-radius:4px}.menu-dropdown a{display:block;margin:.75rem 0;color:#333;text-decoration:none;text-align:left}.menu-dropdown hr{border:none;border-top:1px solid #ccc;margin:.75rem 0}.search-buttons{margin-top:.5rem;display:flex;gap:.5rem}.menu-icon,.search-icon,.close-icon{font-size:24px;background:none;border:none;cursor:pointer;padding:4px;line-height:1}.close-icon{display:block;margin-left:auto;margin-bottom:1.5rem}body{margin:0;font-family:"Noto Serif JP",serif;background-color:#fff;color:#333}a{text-decoration:none;color:inherit}h2,h3,h4{margin-top:0;color:#3a2e1f;font-family:"Noto Serif JP",serif}a,button,input,select,.menu-dropdown a,.search-dropdown button,.search-dropdown select,.search-dropdown input{color:#333}a:hover,button:hover{color:#000}.search-icon svg,.menu-icon svg,.close-icon svg,.fa-magnifying-glass{color:#333!important}a[href^=tel],a[href^=mailto]{color:#333;text-decoration:none}.about-section,.features-section,.search-section,.teacher-list,.teacher-profile,.privacy-policy-section{max-width:960px;margin:0 auto;padding:5rem 1.5rem 3rem;background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000f;animation:fadeInUp .6s ease-out both;text-align:left}.about-section h2,.features-section h3,.search-section h3,.teacher-list h3,.privacy-policy-section h2.section-title{font-size:1.8rem;border-left:3px solid #b89f6b;padding-left:.8rem;margin-bottom:3rem;color:#3a2e1f;margin-top:4rem}.privacy-policy-section{max-width:960px;margin:0 auto;padding:5rem 1.5rem 3rem;background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000f;animation:fadeInUp .6s ease-out both;text-align:left}.privacy-policy-section h2.section-title{font-size:1.8rem;text-align:center;border-left:none;color:#3a2e1f;margin-top:4rem;margin-bottom:1rem}.features-section{margin-bottom:3rem}.search-section{margin-bottom:4rem}.privacy-content h3{font-size:1.2rem;margin-top:1.5rem;margin-bottom:.5rem;border-left:3px solid #b89f6b;padding-left:.6rem;color:#4a392a}.privacy-content p,.privacy-content li{line-height:1.8;margin-bottom:.8rem}.privacy-content ul{padding-left:1.5rem}.selectors{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.selectors select{padding:.5rem;border:1px solid #ccc;border-radius:6px;font-family:"Noto Serif JP",serif}.teacher-button{display:block;margin-bottom:1rem;padding:.75rem 1rem;background-color:#f6f2eb;border:1px solid #ccc;border-radius:8px;font-weight:700;cursor:pointer;transition:background-color .2s ease;font-family:"Noto Serif JP",serif}.teacher-button:hover{background-color:#ede6da}.teacher-profile{margin-top:2rem}.teacher-header{display:flex;align-items:flex-start;gap:1.5rem;margin-bottom:1.5rem}.teacher-info h2{margin-bottom:0}.teacher-info .furigana{display:block;font-size:.9rem;color:#666}.teacher-image{width:100%;max-width:240px;height:auto;border-radius:8px}@media (max-width: 768px){.teacher-header{flex-direction:column;align-items:flex-start}.selectors{flex-direction:column}.footer .footer-links{flex-direction:column;gap:.8rem}.teacher-image{max-width:160px}}.course-table table{width:100%;border-collapse:collapse;margin-top:1rem}.course-table th,.course-table td{border:1px solid #ccc;padding:.6rem;text-align:left;font-family:"Noto Serif JP",serif}.course-table td:first-child,.course-table th:first-child{width:60px;text-align:center}.reserve-button{display:inline-block;margin-top:1rem;padding:.6rem 1.2rem;background-color:#b89f6b;color:#fff;border-radius:6px;text-align:center;font-family:"Noto Serif JP",serif}.footer{background-color:#222;color:#fff;padding:2.5rem 1rem 1rem;text-align:center;font-family:"Noto Serif JP",serif}.footer .footer-content{max-width:960px;margin:0 auto;padding:1rem 1.5rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.footer .footer-links{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center}.footer .footer-links a{color:#fff;font-size:.95rem;text-decoration:none}.footer p{font-size:.9rem;margin-bottom:.5rem}@media (max-width: 768px){.teacher-header{flex-direction:column;align-items:flex-start}.selectors{flex-direction:column}.footer .footer-links{flex-direction:column;gap:.8rem}}.operator-info-section{max-width:960px;margin:0 auto;padding:5rem 1.5rem 3rem;background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000f;animation:fadeInUp .6s ease-out both;text-align:left}.operator-info-section h2.section-title{font-size:1.8rem;text-align:center;border-left:none;color:#3a2e1f;margin-top:4rem;margin-bottom:1rem}.operator-content h3{font-size:1.2rem;margin-top:1.5rem;margin-bottom:.5rem;border-left:3px solid #b89f6b;padding-left:.6rem;color:#4a392a}.operator-content p,.operator-content li{line-height:1.8;margin-bottom:.8rem}.operator-content ul{padding-left:1.5rem}.app-container{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1}.review-button-wrapper{margin-top:1.5rem;margin-bottom:2rem}.about-section.enhanced{background-color:#f9f7f3;padding:3rem 2rem;border-radius:12px;margin-top:4rem;margin-bottom:3rem;box-shadow:0 0 12px #0000000d}.about-section.enhanced h2{font-size:2rem;font-weight:700;border-left:3px solid #b89f6b;padding-left:1rem;margin-bottom:1rem}.catch-copy{font-size:1.2rem;font-weight:700;color:#7c5b3e;margin-bottom:1rem}.teacher-grid{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;margin-top:2rem}.teacher-card{background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000f;padding:1.5rem;width:100%;max-width:420px;display:flex;flex-direction:column;align-items:center;transition:transform .3s ease}.teacher-card:hover{transform:translateY(-4px)}.teacher-image{width:100%;max-width:240px;height:auto;border-radius:8px;margin-bottom:1rem}.teacher-info{text-align:left;width:100%}.teacher-name{font-size:1.3rem;font-weight:700;margin-bottom:.2rem;color:#3a2e1f}.teacher-furigana{font-size:.95rem;color:#666;margin-bottom:.5rem}.teacher-subject,.teacher-location,.teacher-profile{margin-bottom:.6rem;font-size:.95rem}.teacher-courses{margin-top:1rem;margin-bottom:1rem}.teacher-course{font-size:.95rem;margin-bottom:.4rem}.teacher-card{display:block!important;margin-top:2rem;padding:1rem;border:1px solid #ccc;background:#fff;max-width:600px}.teacher-image{width:100%;max-width:300px;height:auto;display:block;margin-bottom:1rem}.contact-outer{display:flex;justify-content:center;padding-top:120px;padding-bottom:60px}.contact-inner{text-align:left;max-width:500px;width:90%}.contact-title{text-align:center;margin-bottom:2rem;font-size:1.8rem;font-weight:700}.contact-text-block p{margin:1rem 0;font-size:1.1rem}.contact-heading{font-size:1.8rem;font-weight:700;color:#3d2b1f;text-align:center;margin-bottom:2rem}.contact-content{text-align:left;font-size:1rem;color:#3d2b1f;line-height:2;max-width:700px;margin:0 auto}.contact-content p{margin-bottom:1.2rem}.contact-link{color:#3d2b1f;text-decoration:underline}.contact-section{margin-top:80px;background-color:#fdfaf5;border-radius:12px;padding:3rem;max-width:900px;margin-left:auto;margin-right:auto;box-shadow:0 2px 10px #0000000d}.contact-section .section-title{text-align:center}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp .6s ease-out both}.contact-section h2.section-title{font-size:1.8rem;text-align:center;border-left:none;color:#3a2e1f;margin-top:4rem;margin-bottom:1rem}.teacher-list{padding-top:120px;scroll-margin-top:120px}.teacher-name{font-size:1.8rem;font-weight:700;color:#2c2c2c}.teacher-kana{font-size:1.2rem;font-weight:500;color:#555}.teacher-genre{font-size:1.2rem;font-style:italic;color:#3a2e1f}.terms-section-title{border-left:3px solid #c5a46d;padding-left:12px;margin-top:2rem;margin-bottom:1rem;font-size:1.2rem;font-weight:700;color:#333}.terms-title{text-align:center;font-size:1.8rem;font-weight:700;margin:2rem 0 1rem;color:#3a2e1f;border:none;padding-left:0}.teacher-name-row{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.5rem}.teacher-tags{display:flex;gap:.4rem;flex-wrap:wrap}.tag{display:flex;align-items:center;font-size:.75rem;padding:.25rem .6rem;background-color:#f0f4ff;color:#0a3d62;border-radius:12px;border:1px solid #aac4e5;gap:.3rem}
