.hero-section{position:relative;height:100vh;width:100vw;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-background{position:absolute;top:0;left:0;width:100%;height:105%;background-image:url(/hero-bg.png);background-size:cover;background-position:center;background-repeat:no-repeat;z-index:-2;transform:scale(1.1);transition:transform 3s var(--transition-smooth),opacity 2s ease;opacity:0}.hero-background.loaded{transform:scale(1);opacity:1}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,rgba(252,252,252,.4) 0%,rgba(252,252,252,.2) 60%,var(--bg-primary) 100%);z-index:-1}.hero-content{text-align:center;z-index:1;padding:0 2rem;opacity:0;transform:translateY(30px)}.hero-content.fade-in-up{opacity:1;transform:translateY(0);transition:opacity 1.5s ease .5s,transform 1.5s var(--transition-smooth) .5s}.hero-tag{display:inline-flex;align-items:center;font-size:.85rem;letter-spacing:.15em;color:var(--text-secondary);margin-bottom:2rem;text-transform:uppercase}.hero-tag .dot{margin:0 .8rem;font-size:.6rem;color:var(--accent-color)}.hero-title{font-size:clamp(2rem,5vw,4rem);line-height:1.6;font-weight:300;color:var(--text-primary);display:flex;flex-direction:column;gap:.5rem}.hero-title .line{display:block}.scroll-indicator{position:absolute;bottom:3rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:1rem;opacity:0;transition:opacity 1.5s ease 1s}.scroll-indicator.fade-in{opacity:1}.scroll-text{font-size:.7rem;letter-spacing:.2em;color:var(--text-secondary);text-transform:uppercase}.scroll-line{width:1px;height:60px;background-color:#5c595633;position:relative;overflow:hidden}.scroll-line:after{content:"";position:absolute;top:0;left:0;width:100%;height:50%;background-color:var(--accent-color);animation:scrollDown 2s cubic-bezier(.77,0,.175,1) infinite}@keyframes scrollDown{0%{transform:translateY(-100%)}50%{transform:translateY(100%)}to{transform:translateY(200%)}}@media(max-width:768px){.hero-tag{flex-direction:column;gap:.5rem}.hero-tag .dot{display:none}}.concept-section{padding:var(--section-padding);background-color:var(--bg-primary);position:relative}.concept-container{max-width:800px}.concept-content{text-align:center;display:flex;flex-direction:column;gap:4rem;margin-top:4rem}.concept-lead{font-size:clamp(1.5rem,3vw,2rem);line-height:1.8;color:var(--text-primary);position:relative;display:inline-block;margin:0 auto}.concept-text{display:flex;flex-direction:column;gap:2rem;margin-top:1rem}.concept-text p{font-size:1.1rem;line-height:2.2}.concept-section:before{content:"";position:absolute;top:10%;right:-5%;width:300px;height:300px;background:radial-gradient(circle,var(--accent-color) 0%,transparent 70%);opacity:.05;border-radius:50%;pointer-events:none}.menu-section{padding:var(--section-padding);background-color:var(--bg-secondary)}.menu-intro{text-align:center;max-width:700px;margin:0 auto 4rem;line-height:2;font-size:1.05rem}.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:3rem;margin-top:3rem}.menu-card{background-color:var(--bg-primary);padding:3.5rem 2.5rem;border-radius:4px;display:flex;flex-direction:column;transition:transform var(--transition-smooth),box-shadow var(--transition-smooth);box-shadow:0 10px 30px #00000005;border:1px solid rgba(209,187,164,.1)}.menu-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px #0000000a}.menu-card.premium{border:1px solid rgba(209,187,164,.4);position:relative}.menu-card.premium:before{content:"Recommend";position:absolute;top:0;left:50%;transform:translate(-50%,-50%);background-color:var(--accent-color);color:#fff;padding:.3rem 1.2rem;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;border-radius:2px}.menu-card-header{text-align:center;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid rgba(92,89,86,.1)}.menu-course-name{font-size:1.5rem;margin-bottom:1rem;letter-spacing:.1em}.menu-price{display:flex;flex-direction:column;align-items:center;gap:.5rem}.menu-price .time{font-size:.9rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em}.menu-price .amount{font-size:2.2rem;color:var(--accent-color)}.menu-card-body{flex-grow:1}.menu-desc{font-size:.95rem;margin-bottom:2rem;line-height:1.8}.menu-features{margin-bottom:3rem}.menu-features li{position:relative;padding-left:1.5rem;margin-bottom:.8rem;font-size:.9rem;color:var(--text-secondary)}.menu-features li:before{content:"•";position:absolute;left:0;color:var(--accent-color)}.menu-btn{display:inline-block;text-align:center;padding:1rem 0;width:100%;background-color:transparent;color:var(--text-primary);border:1px solid var(--accent-color);border-radius:2px;font-size:.9rem;letter-spacing:.2em;transition:all var(--transition-fast);cursor:pointer}.menu-btn:hover{background-color:var(--accent-color);color:#fff;opacity:1}@media(max-width:768px){.menu-grid{grid-template-columns:1fr}}.profile-section{padding:var(--section-padding);background-color:var(--bg-primary)}.profile-container{display:flex;align-items:center;gap:5rem}.profile-image-wrap{flex:1;position:relative}.profile-image-placeholder{width:100%;aspect-ratio:3/4;background-color:var(--bg-secondary);background-image:url(/profile.jpg);background-size:cover;background-position:center;border-radius:4px;position:relative;overflow:hidden}.profile-image-placeholder:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,transparent 0%,rgba(209,187,164,.1) 100%)}.profile-content{flex:1}.profile-title{text-align:left;margin-bottom:2rem}.profile-title:after{margin:1.5rem 0 0}.profile-name{margin-bottom:2rem;display:flex;flex-direction:column;gap:.2rem}.name-jp{font-size:1.8rem;letter-spacing:.1em}.name-sub{display:flex;align-items:baseline;gap:1rem}.name-en{font-size:.8rem;color:var(--accent-color);letter-spacing:.15em;text-transform:uppercase}.name-person{font-size:1.2rem;color:var(--text-primary);letter-spacing:.1em}.profile-text p{margin-bottom:1.5rem;font-size:.95rem;line-height:2}@media(max-width:900px){.profile-container{flex-direction:column}.profile-image-wrap{width:80%;max-width:400px;margin:0 auto}.profile-title,.profile-name{text-align:center}.name-sub{justify-content:center}.profile-title:after{margin:1.5rem auto 0}}.footer{background-color:#242220;color:#fff;padding:6rem 0 2rem;text-align:center}.footer-logo{font-size:2rem;letter-spacing:.2em;font-weight:300;margin-bottom:1rem;color:var(--accent-color)}.footer-desc{color:#ffffffb3;font-size:.9rem;line-height:1.8;letter-spacing:.1em;margin-bottom:4rem}.footer-contact{max-width:600px;margin:0 auto;padding-top:4rem;border-top:1px solid rgba(255,255,255,.1)}.contact-title{font-size:1.2rem;letter-spacing:.1em;margin-bottom:1.5rem}.contact-desc{color:#fff9;font-size:.9rem;margin-bottom:2rem;line-height:2}.contact-links{display:flex;justify-content:center;gap:1.5rem;margin-bottom:4rem}.contact-btn{display:inline-block;padding:.8rem 2rem;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:.85rem;letter-spacing:.1em;transition:all var(--transition-fast)}.contact-btn:hover{border-color:var(--accent-color);background-color:var(--accent-color)}.footer-bottom{margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.05);font-size:.75rem;color:#fff6;letter-spacing:.05em}@media(max-width:600px){.contact-links{flex-direction:column;gap:1rem;padding:0 2rem}}:root{--bg-primary: #fcfcfc;--bg-secondary: #f6f5f3;--text-primary: #2c2926;--text-secondary: #5c5956;--accent-color: #d1bba4;--font-family-serif: "Noto Serif JP", serif;--container-width: 1200px;--section-padding: 8rem 2rem;--transition-smooth: .6s cubic-bezier(.22, 1, .36, 1);--transition-fast: .3s ease}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family-serif);color:var(--text-primary);background-color:var(--bg-primary);line-height:1.8;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-weight:400;line-height:1.4;letter-spacing:.05em}p{color:var(--text-secondary);font-weight:300;font-size:1rem;letter-spacing:.03em}a{color:inherit;text-decoration:none;transition:opacity var(--transition-fast)}a:hover{opacity:.7}ul{list-style:none}.container{max-width:var(--container-width);margin:0 auto;padding:0 2rem}.section-title{font-size:2rem;text-align:center;margin-bottom:4rem;position:relative;letter-spacing:.1em}.section-title:after{content:"";display:block;width:40px;height:1px;background-color:var(--accent-color);margin:1.5rem auto 0}.fade-in{opacity:0;transform:translateY(20px);transition:opacity var(--transition-smooth),transform var(--transition-smooth)}.fade-in.visible{opacity:1;transform:translateY(0)}
