*{margin:0;padding:0;box-sizing:border-box}:root{font-family:Shippori Mincho,serif;line-height:1.6;font-weight:400;color:#5d544d;background-color:#fdfbf5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scroll-behavior:smooth}body{margin:0;min-width:320px;overflow-x:hidden;font-family:Shippori Mincho,serif;background-color:#fdfbf5;color:#5d544d}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#d4a574;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#c49564}.navigation{position:fixed;top:0;left:0;right:0;z-index:1000;background:#fdfbf5f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;border-bottom:1px solid transparent}.navigation.scrolled{background:#fffffffa;box-shadow:0 2px 10px #0000001a;border-bottom-color:#e7e5e4}.nav-container{max-width:1200px;margin:0 auto;padding:16px 32px;display:flex;justify-content:space-between;align-items:center}.nav-logo{font-size:1.25rem;font-weight:700;color:#292524;cursor:pointer;-webkit-user-select:none;user-select:none}.nav-links{display:flex;align-items:center;gap:24px}.nav-link{background:none;border:none;color:#57534e;font-size:.875rem;font-weight:500;cursor:pointer;padding:8px 12px;border-radius:6px;transition:all .2s ease;font-family:inherit}.nav-link:hover{background:#f5f5f4;color:#292524}.nav-cta{background-color:#c08497;color:#fff;padding:10px 20px;border-radius:8px;font-size:.875rem;font-weight:700;text-decoration:none;transition:all .3s ease;white-space:nowrap}.nav-cta:hover{background-color:#ec4899;box-shadow:0 4px 12px #c0849766}.mobile-menu-toggle{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:8px}.mobile-menu-toggle span{width:24px;height:2px;background:#292524;transition:all .3s ease;border-radius:2px}@media (max-width: 768px){.mobile-menu-toggle{display:flex}.nav-links{position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;padding:24px;box-shadow:0 4px 6px #0000001a;transform:translateY(-100%);opacity:0;visibility:hidden;transition:all .3s ease}.nav-links.open{transform:translateY(0);opacity:1;visibility:visible}.nav-link{width:100%;text-align:left;padding:12px}.nav-cta{width:100%;text-align:center}.nav-container{padding:12px 16px}}.hero{background:transparent;min-height:auto;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:40px 20px}.hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.1'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");opacity:.3;animation:float 20s infinite ease-in-out}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.hero-content{text-align:center;z-index:1;position:relative;padding:40px 20px}.hero-title{font-size:2.5rem;font-weight:700;color:#292524;margin-bottom:8px;letter-spacing:.05em}@media (min-width: 768px){.hero-title{font-size:3rem}}.hero-subtitle{font-size:1.125rem;color:#78716c;font-weight:400;letter-spacing:.02em}.hero-cta-container{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:32px}.hero-cta{background-color:#c08497;color:#fff;padding:16px 32px;border-radius:8px;font-size:1.125rem;font-weight:700;text-decoration:none;box-shadow:0 4px 12px #c0849766;transition:all .3s ease;display:inline-block}.hero-cta:hover{background-color:#ec4899;box-shadow:0 6px 16px #c0849780}.hero-scroll-btn{background:transparent;border:2px solid #57534e;color:#57534e;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;font-family:inherit}.hero-scroll-btn:hover{background:#57534e;color:#fff}@media (max-width: 768px){.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.2rem}.hero{min-height:50vh}}.about{background-color:#fff;padding:64px 32px;margin-bottom:64px;border-radius:16px;box-shadow:0 1px 3px #0000000d;border:1px solid #f5f5f4}.section-title{font-size:1.5rem;color:#292524;text-align:left;margin-bottom:24px;font-weight:600;letter-spacing:.02em;position:relative;padding-bottom:8px;border-bottom:1px solid #e7e5e4}@media (min-width: 768px){.section-title{text-align:left}}.about-content{max-width:900px;margin:0 auto 50px}.about-text{font-size:1rem;line-height:1.8;color:#57534e;margin-bottom:1em;text-align:left}.about-text strong{color:#292524;font-weight:600}.features-section{background:#fdfbf5;padding:16px;border-radius:8px;box-shadow:none;margin:16px 0;max-width:100%;border:1px solid #e7e5e4}.features-title{font-size:1rem;color:#292524;text-align:left;margin-bottom:8px;font-weight:700}.features-grid{display:flex;flex-direction:column;gap:4px;list-style:disc;list-style-position:inside}.feature-item{display:list-item;padding:0;background:transparent;border-radius:0;transition:none;border:none;font-size:.875rem;color:#57534e;line-height:1.5}.feature-item:hover{border-color:transparent;background:transparent;box-shadow:none}.feature-icon{display:none}.feature-text{font-size:.875rem;color:#57534e;line-height:1.5}.about-closing{max-width:100%;margin:16px 0 0;font-size:.875rem;line-height:1.8;color:#78716c;text-align:left;font-style:normal;padding:0;background:transparent;border-radius:0;border:none}@media (max-width: 768px){.section-title{font-size:2rem}.about-text{font-size:1rem;text-align:left}.features-grid{grid-template-columns:1fr}.features-section{padding:25px}.about-closing{padding:20px;font-size:1rem}}.course-menu{background:linear-gradient(180deg,#fff,#faf9f7);padding:80px 20px}.section-subtitle{text-align:center;color:#666;margin-bottom:40px;font-size:1.1rem}.filter-buttons{display:flex;justify-content:center;flex-wrap:wrap;gap:15px;margin-bottom:50px}.filter-btn{padding:8px 24px;border:1px solid #d6d3d1;background:#fff;color:#57534e;border-radius:9999px;font-size:1rem;transition:all .3s ease;font-weight:400}.filter-btn:hover{background:#fafaf9}.filter-btn.active{background-color:#c08497;color:#fff;box-shadow:0 2px 4px #0000001a;border-color:#c08497}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:30px;max-width:1200px;margin:0 auto}.course-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;position:relative;transition:transform .3s ease;overflow:hidden}.course-card:hover{transform:scale(1.05)}.course-badge{display:inline-block;background-color:#c08497;color:#fff;padding:4px 12px;border-radius:9999px;font-size:.875rem;font-weight:600;margin-bottom:12px}.course-title{font-size:1.25rem;color:#292524;margin-bottom:12px;font-weight:700;line-height:1.4;white-space:pre-line}.course-time{color:#78716c;font-size:.875rem;margin-bottom:12px}.course-description{color:#57534e;margin-bottom:16px;line-height:1.5;font-size:1rem;height:48px}.course-details{list-style:none;margin-bottom:16px;padding:12px 0;border-top:1px solid #e7e5e4;border-bottom:1px solid #e7e5e4}.course-details li{color:#57534e;padding:4px 0;font-size:.875rem;line-height:1.5}.course-price{margin-top:16px;text-align:right}.price-text{font-size:1.125rem;margin:0}.price-original{text-decoration:line-through;color:#9ca3af}.price-first{color:#c08497;font-weight:700}.price-special{font-size:1.5rem;color:#c08497;font-weight:700}@media (max-width: 768px){.courses-grid{grid-template-columns:1fr;gap:20px}.filter-buttons{gap:10px}.filter-btn{padding:10px 20px;font-size:.9rem}.course-card{padding:25px}.course-title{font-size:1.2rem}}.ai-diagnosis{background:#fdf2f8;padding:64px 32px;border-radius:16px;margin:64px 0}.diagnosis-subtitle{text-align:center;color:#666;margin-bottom:40px;font-size:1.1rem;max-width:800px;margin-left:auto;margin-right:auto}.section-title .sparkle{display:inline-block;animation:sparkle 2s infinite;margin-right:10px}.diagnosis-form-container{max-width:700px;margin:0 auto;background:#fff;padding:40px;border-radius:20px;box-shadow:0 10px 40px #0000001a}.diagnosis-form{display:flex;flex-direction:column;gap:25px}.form-group{display:flex;flex-direction:column;gap:10px}.form-group label{color:#57534e;font-weight:500;font-size:.875rem;margin-bottom:8px}.form-input,.form-textarea{padding:12px;border:1px solid #d6d3d1;border-radius:8px;font-size:1rem;font-family:inherit;transition:all .3s ease;background:#fff}.form-input:focus,.form-textarea:focus{outline:none;border-color:#ec4899;box-shadow:0 0 0 2px #ec489933}.form-textarea{resize:vertical;min-height:120px}.submit-btn{padding:12px 24px;background-color:#c08497;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:700;margin-top:24px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transition:all .3s ease;width:100%;display:flex;align-items:center;justify-content:center}.submit-btn:hover:not(:disabled){background-color:#ec4899}.submit-btn:disabled{opacity:.7;cursor:not-allowed}.loading{display:flex;align-items:center;justify-content:center;gap:10px}.spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loader-container{display:flex;justify-content:center;margin-top:20px}.loader{border:4px solid rgba(0,0,0,.1);border-left-color:#c08497;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}.diagnosis-result{margin-top:24px;padding:24px;background:#fff;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.result-icon{font-size:3rem;margin-bottom:15px;animation:bounce 1s ease infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.result-title{color:#8b6f47;font-size:1.5rem;margin-bottom:15px;font-weight:600}.result-text{color:#57534e;font-size:1rem;line-height:1.75;text-align:left}.required{color:#dc2626;font-weight:700}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media (max-width: 768px){.diagnosis-form-container{padding:25px}.submit-btn{padding:15px 30px;font-size:1rem}}.sns{background:transparent;padding:64px 32px;margin:64px 0}.sns-subtitle{text-align:center;color:#57534e;font-size:1rem;max-width:512px;margin:8px auto 32px}.sns-buttons{display:flex;justify-content:center;align-items:center;gap:32px;flex-wrap:wrap}.sns-button{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px;width:100%;max-width:288px;height:64px;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transition:all .3s ease;color:#fff;font-weight:700;font-size:1.125rem;text-decoration:none}.sns-button:first-child{background-color:#06c755}.sns-button:first-child:hover{background-color:#06b54d}.sns-button:last-child{background:linear-gradient(to right,#f093fb,#f5576c,#f093fb)}.sns-button:last-child:hover{opacity:.9}.sns-icon{font-size:1.5rem}.sns-text{font-size:1.125rem}@media (max-width: 768px){.sns-buttons{flex-direction:column;gap:20px}.sns-button{width:100%;justify-content:center;padding:18px 30px}}.price-comparison{background:transparent;padding:64px 32px;margin:64px 0}.price-subtitle{text-align:center;color:#666;margin-bottom:50px;font-size:1.1rem}.chart-container{position:relative;width:100%;max-width:800px;margin:0 auto 50px;height:400px;max-height:50vh}.notice-box{max-width:768px;margin:48px auto 0;background:#fdf2f8;padding:24px;border-radius:8px;border-left:4px solid #ec4899}.notice-title{color:#be185d;font-size:1.125rem;margin-bottom:8px;font-weight:700}.notice-text{color:#9f1239;line-height:1.75;font-size:1rem}.contact-box{max-width:600px;margin:0 auto;text-align:center;background:#fff;padding:40px;border-radius:15px;box-shadow:0 5px 20px #0000001a}.contact-text{color:#666;margin-bottom:25px;font-size:1.1rem;line-height:1.8}.contact-phone{display:inline-block;padding:18px 40px;background:linear-gradient(135deg,#d4a574,#c49564);color:#fff;border-radius:30px;font-size:1.3rem;font-weight:600;box-shadow:0 5px 20px #d4a57466;transition:all .3s ease}.contact-phone:hover{background:linear-gradient(135deg,#c49564,#b58554);box-shadow:0 7px 25px #d4a57480}@media (max-width: 768px){.notice-box,.contact-box{padding:25px}.contact-phone{font-size:1.1rem;padding:15px 30px}}.footer{background:transparent;color:#5d544d;padding:40px 20px;text-align:center;border-top:1px solid #e5e5e5;margin-top:60px}.footer-content{max-width:1200px;margin:0 auto}.footer-text{font-size:1rem;color:#5d544d;margin-bottom:15px;line-height:1.8}.footer-phone{font-size:1.25rem;font-weight:700;color:#5d544d;margin-bottom:30px}.footer-phone a{color:#5d544d;text-decoration:none;transition:color .3s ease}.footer-phone a:hover{color:#c08497}.footer-copyright{font-size:.875rem;color:#9ca3af;margin-top:30px}.app{width:100%;overflow-x:hidden;background-color:#fdfbf5;min-height:100vh;padding-top:80px}section{padding:32px 16px;max-width:100%;margin:0 auto}@media (min-width: 768px){section{padding:48px 16px}}
