*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f7f5;color:#191919;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;line-height:1.9}a{color:inherit;text-decoration:none}header{height:76px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:rgba(247,247,245,.92);position:sticky;top:0;z-index:9;border-bottom:1px solid #e8e8e4}.brand{font-family:Georgia,serif;font-size:22px;letter-spacing:.08em}nav{display:flex;gap:24px;font-size:12px;letter-spacing:.08em}main{max-width:1180px;margin:auto;padding:0 28px}.hero{min-height:72vh;display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:70px;padding:70px 0}.hero-slideshow{position:relative;width:100%;height:520px;overflow:hidden;border-radius:2px;background:#eeeae5}
.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.78);opacity:0;animation:kotoriFade 40s infinite ease-in-out;will-change:opacity,transform}
.hero-slide.slide-1{animation-delay:0s}.hero-slide.slide-2{animation-delay:8s}.hero-slide.slide-3{animation-delay:16s}.hero-slide.slide-4{animation-delay:24s}.hero-slide.slide-5{animation-delay:32s}
@keyframes kotoriFade{0%{opacity:0;transform:scale(1.015)}5%{opacity:1}20%{opacity:1}25%{opacity:0;transform:scale(1.04)}100%{opacity:0;transform:scale(1.04)}}
@media(prefers-reduced-motion:reduce){.hero-slide{animation:none;opacity:0;transform:none}.hero-slide:first-child{opacity:1}}h1{font-family:Georgia,"Yu Mincho",serif;font-weight:400;font-size:clamp(40px,5vw,72px);line-height:1.35;margin:.2em 0}h2{font-family:Georgia,"Yu Mincho",serif;font-weight:400;font-size:clamp(30px,4vw,50px);line-height:1.5;margin:.2em 0 .7em}.eyebrow{font-size:11px;letter-spacing:.22em;color:#777;text-transform:uppercase}.actions{display:flex;gap:12px;margin-top:34px}.btn{display:inline-block;border:1px solid #222;padding:12px 22px;margin:6px 6px 6px 0;font-size:13px}.btn.dark{background:#222;color:#fff}.disabled{opacity:.45}.intro,.support,.contact{padding:120px 8%;text-align:center}.lead{max-width:700px;margin:auto;color:#555}.feature{margin:40px 0 110px;padding:70px;background:#eeeae5;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.soft-card{background:#fafafa;padding:55px;min-height:280px;display:flex;flex-direction:column;justify-content:center}.soft-card span,.card span{font-size:11px;letter-spacing:.18em;color:#777}.soft-card b{font-family:Georgia,"Yu Mincho",serif;font-size:27px;font-weight:400;margin:15px 0}.soft-card small{color:#777}.textlink{border-bottom:1px solid #333}.session{padding:90px 7%;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.session-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:end}.price{font:44px Georgia,serif;margin:0}.note{font-size:12px;color:#888}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:35px 0 120px}.card{background:#fff;padding:35px;min-height:290px;border:1px solid #e7e7e2}.card h3{font:30px Georgia,"Yu Mincho",serif;font-weight:400}.photo{padding:0 0 30px}.photo img{width:100%;height:180px;object-fit:cover;margin-bottom:25px}.photo span,.photo h3{margin-left:30px}.linebox{padding:55px 7%;background:#e9ece8;display:flex;align-items:center;justify-content:space-between;margin-bottom:40px}.support-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:45px 0 25px}.support-grid a{background:#fff;border:1px solid #ddd;padding:30px 12px;display:flex;flex-direction:column;transition:.2s}.support-grid a:hover{transform:translateY(-3px);border-color:#777}.support-grid b{font:24px Georgia,sans-serif}.support-grid span{font-size:11px;color:#777}.thanks{font-family:Georgia,"Yu Mincho",serif}.contact{border-top:1px solid #ddd}footer{padding:35px 5vw;border-top:1px solid #ddd;display:flex;justify-content:space-between;font-size:11px;color:#777}@media(max-width:760px){nav{display:none}.hero{grid-template-columns:1fr;padding-top:40px;gap:30px}.hero-slideshow{height:300px}.feature,.session-grid{grid-template-columns:1fr;gap:30px;padding:40px 25px}.cards{grid-template-columns:1fr}.support-grid{grid-template-columns:1fr 1fr}.linebox{display:block}.intro,.support,.contact{padding:80px 10px}footer{display:block}.hero-copy{padding-top:20px}}
.contact-intro{max-width:620px;margin:0 auto 35px;color:#666}
.contact-form{max-width:680px;margin:0 auto;text-align:left}
.contact-form label{display:block;margin:0 0 22px;font-size:12px;letter-spacing:.06em;color:#555}
.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:8px;padding:14px 15px;border:1px solid #d9d9d4;background:#fff;font:inherit;color:#222;border-radius:0}
.contact-form textarea{resize:vertical}
.contact-form .btn{cursor:pointer}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.message-page{min-height:80vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:40px}
.message-page .box{max-width:640px}

.inline-links{display:flex;flex-wrap:wrap;gap:22px;margin-top:22px}
.socials{padding:70px 4%;border-top:1px solid #ddd;text-align:center}
.social-links{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 28px;margin-top:20px}
.social-links a{font-family:Georgia,"Yu Mincho",serif;border-bottom:1px solid #bbb;padding-bottom:2px}
.social-links small{font-family:inherit;color:#888}

.phrase{display:inline-block}
h1 .phrase{display:block}
.bank-note{margin:16px 0 0;font-size:12px;line-height:1.8;color:#777}
.bank-note a{border-bottom:1px solid #aaa}
@media(max-width:760px){
  h1{font-size:clamp(38px,10.5vw,50px);line-height:1.45}
  h2{font-size:clamp(30px,8vw,40px);line-height:1.55}
  h2 .phrase,.soft-card b .phrase,.soft-card small .phrase{display:block}
  .soft-card b{font-size:25px;line-height:1.65}
  .soft-card small{font-size:12px;line-height:1.9}
  .linebox h2 .phrase{display:block}
}
