.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,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}.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:6rem auto 3rem;padding:4rem 1.5rem;background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000f;animation:fadeInUp .6s ease-out both;text-align:left}.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-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-image{width:100%;max-width:240px;height:auto;border-radius:8px}.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}.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}.section-title{text-align:center;font-size:1.8rem;font-weight:700;margin-bottom:2rem}.centered-heading-with-border{display:block;text-align:center;margin:2rem 0}.centered-heading-with-border span{display:inline-block;border-left:4px solid #b89f6b;padding-left:1rem;font-size:1.5rem;font-weight:700}.no-about-section{border-left:none!important;padding-left:0!important}.form-group{display:flex;flex-direction:column;margin-bottom:1.5rem}.form-label{font-weight:700;margin-bottom:.3rem}.form-input,.form-textarea{padding:.5rem;border:1px solid #ccc;border-radius:6px;font-size:1rem;width:100%}.form-error{color:red;font-size:.85rem;margin-top:.3rem}.form-button{background-color:#b89f6b;color:#fff;padding:.75rem 1.5rem;font-size:1rem;font-weight:700;border:none;border-radius:8px;cursor:pointer;box-shadow:0 2px 5px #00000026;transition:background-color .3s ease}.form-button:hover{background-color:#a07f4f}.required-label{color:red;font-weight:400;font-size:.9rem;margin-left:.3rem}.optional-label{color:#999;font-size:.9rem;margin-left:.3rem}.titled-section{position:relative;display:inline-block;padding-left:1.5rem;font-size:1.5rem;font-weight:700;color:#3c2f1e;margin:2rem auto 1rem;text-align:center}.titled-section:before{content:"";position:absolute;left:0;top:.1em;width:4px;height:1.2em;background-color:#b89f6b;border-radius:2px}.titled-section-page{padding-top:80px;padding-bottom:80px}.right{margin-left:auto;padding-right:1rem;display:flex;align-items:center}.faq-link{text-decoration:none;font-weight:700;font-size:.95rem;color:#333;padding:.5rem}.faq-link:hover{color:#007b5e}.profile-icon{background:none;border:none;cursor:pointer;font-size:1.3rem;padding:.5rem}.login-container{display:flex;justify-content:center;align-items:flex-start;gap:80px;padding-top:100px;padding-bottom:100px;min-height:100vh;font-family:"Noto Serif JP",serif}.login-box,.register-box{width:320px;background-color:#fff;padding:40px;border-radius:10px;box-shadow:0 4px 10px #0000001a}.login-box h2,.register-box h2{font-size:20px;margin-bottom:20px;color:#333;text-align:center;margin-top:0}.register-box{margin-top:0}.login-form label{display:block;margin-top:12px;margin-bottom:4px;color:#444;font-size:14px}.login-form input{width:100%;padding:10px;border:1px solid #aaa;border-radius:4px;font-size:14px}.login-button,.register-button{margin-top:20px;width:100%;padding:12px;background-color:#b89f6b;color:#fff;border:none;border-radius:5px;font-size:15px;cursor:pointer;transition:background-color .3s}.login-button:hover,.register-button:hover{background-color:#a78a56}.forgot-password{margin-top:16px;text-align:center;color:#376672;cursor:pointer;font-size:13px;text-decoration:underline}.error-message{margin-top:10px;color:red;font-size:13px;text-align:center}.register-box p{font-size:14px;line-height:1.6;text-align:center;color:#555}.checkbox-container{margin-top:16px;display:flex;align-items:center;justify-content:flex-start}.checkbox-label{font-size:14px;color:#444;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.register-container{display:grid;place-items:center;min-height:calc(100dvh - 80px);padding:24px}.register-box{width:100%;max-width:460px;background:#fff;border:1px solid #eee;border-radius:12px;padding:24px;box-shadow:0 4px 14px #0000000a}.register-form{display:grid;gap:12px}.register-button:disabled{opacity:.6;cursor:default}.success-message{color:#2e7d32;margin-top:8px}.already-account{margin-top:12px;font-size:.9rem}.login-button:focus-visible,.register-button:focus-visible{outline:3px solid rgba(184,159,107,.45);outline-offset:2px}.fade-in-up{animation:fadeInUp .6s ease-out both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.form-grid{display:grid;grid-template-columns:180px 1fr;gap:12px 16px}.form-grid>label{align-self:center;color:#333}.form-grid .split-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.form-grid .split-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.form-grid .row-2{grid-column:1 / -1}.form-grid .postal-row{display:grid;grid-template-columns:60px 1fr;gap:8px;align-items:center}.form-grid .postal-row .mark{color:#666}.form-grid input,.form-grid select{height:44px;padding:10px 12px;border:1px solid #d6d6d6;border-radius:6px;background:#fff;font-size:14px;font-family:"Noto Serif JP",serif}.req{color:#e15858;margin-left:4px}.checkbox-label{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;color:#444}.register-button{height:44px;border-radius:8px;background:#b79b64;color:#fff;border:none;cursor:pointer}.register-button:hover{background:#a78a56}.register-page,.register-container{padding-top:120px;padding-bottom:80px;min-height:100vh;scroll-margin-top:120px}.form-grid input,.form-grid select{height:48px;box-sizing:border-box;padding:10px 12px;border:1px solid #d6d6d6;border-radius:6px;background:#fff;font-size:14px;font-family:"Noto Serif JP",serif;line-height:1.2}.form-grid input::placeholder{color:#b8b8b8}.form-grid select{appearance:auto}.form-grid .postal-row{display:grid;grid-template-columns:36px 1fr;gap:8px;align-items:center}.form-grid .postal-row .mark{display:flex;align-items:center;justify-content:center;height:48px;line-height:48px;color:#666;border:1px solid transparent}.form-grid .split-2>*,.form-grid .split-3>*{width:100%}.register-button{height:48px}.checkbox-label{white-space:nowrap;display:inline-flex;align-items:center;gap:8px}.form-grid .row-2 .register-button{width:20%;min-width:100px;margin-inline:auto}.register-page .register-box{padding-left:12px;padding-right:16px}.form-grid{grid-template-columns:minmax(220px,max-content) 1fr}.form-grid>label{justify-self:start}.form-grid>label.nowrap{white-space:nowrap}@media(max-width:640px){.form-grid{grid-template-columns:1fr}.register-page .register-box{padding-left:16px;padding-right:16px}}.register-page .register-box{max-width:840px!important;padding-left:16px!important;padding-right:20px!important}.register-page .form-grid{grid-template-columns:260px 1fr!important;gap:12px 16px!important}.register-page .form-grid input,.register-page .form-grid select{height:48px!important}.register-page .register-box{max-width:900px!important}.register-page .form-grid{grid-template-columns:320px minmax(360px,520px)!important;gap:10px 16px!important}.register-page .form-grid input,.register-page .form-grid select{max-width:520px!important;height:48px!important}.register-page .form-grid .postal-row{grid-template-columns:36px 1fr!important}.register-page .form-grid .postal-row .mark{height:48px!important;line-height:48px!important}.register-page .form-grid>label{justify-self:start!important}.register-page .form-grid>label.nowrap{white-space:nowrap!important}.register-button:disabled{opacity:.55;cursor:not-allowed;filter:grayscale(10%)}.register-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;color:#fff!important;font-weight:700;line-height:1;text-indent:0!important}.register-button,.register-button:link,.register-button:visited,.register-button:hover,.register-button:active,.register-button:focus{color:#fff!important;-webkit-text-fill-color:#fff!important;background-color:#b79b64!important;display:inline-flex;align-items:center;justify-content:center;font-weight:700;line-height:1}.register-button:disabled{color:#ffffffe6!important;opacity:.55;cursor:not-allowed;filter:grayscale(10%)}.register-button,.register-button:link,.register-button:visited,.register-button:hover,.register-button:active,.register-button:focus{background-color:#b79b64!important;color:#fff!important;-webkit-text-fill-color:#fff!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:16px!important;font-weight:700!important;line-height:1!important;letter-spacing:.02em;text-indent:0!important;mix-blend-mode:normal!important;text-shadow:0 0 0 rgba(0,0,0,.01)}.register-button:hover{background-color:#a78a56!important}.register-button:disabled{background-color:#b79b64!important;color:#fff!important;-webkit-text-fill-color:#ffffff!important;opacity:1!important;filter:none!important;cursor:not-allowed!important}.register-button .btn-text{color:#fff!important;-webkit-text-fill-color:#fff!important;position:relative;z-index:1}html,body{font-family:"Noto Serif JP",serif}button,input,select,textarea{font-family:inherit}h1,h2,h3{font-family:inherit;font-weight:600}.login-link{color:#b79b64;font-weight:700;text-decoration:underline;cursor:pointer}.login-link:hover{opacity:.8}.login-container .login-button,.login-container .register-box .register-button{width:220px;max-width:100%;display:inline-block}.login-container .login-box,.login-container .register-box{margin-top:0}.login-container .register-box{display:flex;flex-direction:column;align-items:center;text-align:center}.login-container .register-box .register-button{display:inline-flex;justify-content:center;align-items:center;margin-top:16px}.login-container{display:flex;justify-content:center;align-items:flex-start;gap:64px}.login-container .login-box{margin-top:40px!important}.login-container .register-box{margin-top:56px!important}.about-container{max-width:960px;margin:0 auto;padding:80px 24px 120px}.about-card{width:100%;margin:0 auto}
