:root{--navy:#17485b;--deep:#103542;--red:#f06a4f;--gold:#f4c552;--paper:#fffaf0;--ink:#24343d;--white:#fff;--line:#d9cfbd;--max:1180px;--pad:clamp(20px,5vw,54px)}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{font-family:"Noto Sans JP",sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.9;letter-spacing:.035em}
a{color:inherit;text-decoration:none}img{max-width:100%}.wrap{width:min(100%,var(--max));margin:auto;padding-inline:var(--pad)}
header{height:82px;display:flex;align-items:center;gap:34px;padding:0 var(--pad);position:sticky;top:0;z-index:40;background:rgba(7,16,31,.97);color:#fff;border-bottom:1px solid rgba(255,255,255,.15)}
.brand{display:flex;align-items:center;gap:14px;font-family:"Noto Serif JP",serif;font-size:29px;font-weight:900;line-height:1.15;white-space:nowrap}.monogram{width:58px;height:58px;object-fit:contain;flex-shrink:0}
nav{display:flex;gap:25px;margin-left:auto;font-size:13px;font-weight:700}nav a{border-bottom:1px solid transparent}nav a:hover{border-color:var(--gold);color:#f3d998}.traken-link{border:1px solid #526074;padding:8px 13px;font-size:11px;font-weight:700}
.hero{min-height:calc(100svh - 82px);display:grid;align-items:center;position:relative;overflow:hidden;background:var(--deep);color:#fff}.hero-image{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,38,48,.96) 0%,rgba(8,38,48,.8) 48%,rgba(8,38,48,.2) 100%),url("assets/ryukenkai-facebook/kids-kick-pad-line.webp") center 42%/cover no-repeat}.hero-image::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(118deg,transparent 0 54px,rgba(255,255,255,.025) 55px 56px)}.hero::after{content:"流";position:absolute;right:3vw;bottom:-15vw;font-family:"Noto Serif JP",serif;font-size:min(48vw,620px);font-weight:900;line-height:1;color:rgba(255,255,255,.055)}.hero-content{position:relative;z-index:2;padding-block:clamp(88px,12vw,165px)}
.kicker,.section-label{font-size:12px;font-weight:900;letter-spacing:.2em;color:var(--red)}.hero .kicker{color:#f0c36e}.section-label.light{color:#f0c36e}
h1,h2{font-family:"Noto Serif JP",serif;font-weight:900;line-height:1.38;letter-spacing:-.035em}h1{font-size:clamp(42px,6.9vw,86px);margin-top:15px}h1 em{font-style:normal;color:#efcf89}h2{font-size:clamp(31px,4.6vw,56px);margin-top:12px}.hero-copy{max-width:670px;margin-top:27px;font-size:clamp(15px,1.7vw,18px);color:#e7e9ed}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:31px}.button{display:inline-flex;flex-direction:column;align-items:center;background:var(--red);color:#fff;padding:14px 26px;font-size:13px;font-weight:900;line-height:1.35;min-width:300px;box-shadow:0 8px 26px rgba(0,0,0,.18);transition:.18s}.button:hover{transform:translateY(-3px);filter:brightness(1.08)}.button span{font-size:22px;letter-spacing:.06em}.plain-link{border-bottom:1px solid var(--gold);font-size:13px;font-weight:700}
.intro{padding-block:clamp(85px,11vw,145px)}.intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(45px,8vw,105px);align-items:end}.lead-copy p+p{margin-top:20px}.values{display:grid;grid-template-columns:repeat(4,1fr);margin-top:65px}.values article{padding:34px 26px;border-top:1px solid var(--line);border-right:1px solid var(--line)}.values article:first-child{border-left:1px solid var(--line)}.values span{font-family:"Noto Serif JP",serif;color:var(--red);font-weight:900;font-size:25px}.values h3{font-family:"Noto Serif JP",serif;font-size:22px;margin-top:9px}.values p{font-size:13px;margin-top:12px;color:#526070}
.activity-gallery{display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-auto-rows:300px;background:var(--deep);gap:5px;padding:5px}.activity-gallery figure{position:relative;overflow:hidden;background:#173d4c}.activity-gallery .gallery-featured{grid-row:span 2}.activity-gallery .gallery-wide{grid-column:1/-1;height:360px}.activity-gallery img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s}.activity-gallery figure:hover img{transform:scale(1.025)}.activity-gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:42px 18px 14px;background:linear-gradient(transparent,rgba(5,20,27,.85));color:#fff;font-size:12px;font-weight:700}
.classes{background:var(--navy);color:#fff;padding-block:clamp(60px,9vw,110px)}.section-heading-row{display:grid;grid-template-columns:1.25fr 1fr;gap:60px;align-items:end}.section-heading-row>p{color:#cbd2dd}.class-grid{display:grid;grid-template-columns:repeat(6,1fr);margin-top:34px;border-top:1px solid rgba(255,255,255,.3);border-left:1px solid rgba(255,255,255,.3)}.class-grid article{grid-column:span 2;padding:16px 20px;border-right:1px solid rgba(255,255,255,.3);border-bottom:1px solid rgba(255,255,255,.3)}.class-grid article:nth-child(4),.class-grid article:nth-child(5){grid-column:span 3}.class-grid>article>span{font-size:11px;font-weight:900;letter-spacing:.18em;color:#f0c36e}.class-grid h3{font-family:"Noto Serif JP",serif;font-size:19px;margin-top:4px}.class-grid article>p{color:#bac3d0;font-size:12px;margin-top:2px}.class-grid dl{margin-top:10px}.class-grid dl div{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-top:1px solid rgba(255,255,255,.16)}.class-grid dt{font-size:11px;color:#bac3d0}.class-grid dd{font-weight:900;font-size:14px}.schedule-note{font-size:11px;color:#aeb7c5;margin-top:14px}
.master{padding-block:clamp(85px,11vw,145px);background:#e9e0d0}.master-grid{display:grid;grid-template-columns:minmax(280px,430px) 1fr;gap:clamp(45px,8vw,105px);align-items:center}.master-photo{position:relative;padding:10px;background:var(--navy);box-shadow:22px 22px 0 rgba(16,24,40,.13)}.master-photo img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center top;filter:grayscale(.18) contrast(1.04)}.representative-title{color:var(--red);font-size:clamp(34px,5.2vw,64px);line-height:1.22}.representative-title em{font-style:normal;color:#e65d38}.master h3{font-family:"Noto Serif JP",serif;font-size:clamp(36px,5vw,58px);line-height:1.25;margin-top:5px}.master-message{max-width:680px;margin-top:25px}.titles{display:flex;flex-wrap:wrap;gap:8px 17px;margin-top:24px;padding-top:16px;border-top:1px solid #bfb4a2;font-size:11px;font-weight:700}
.learning{background:#28a0a0;color:#fff;padding-block:clamp(70px,9vw,115px)}.learning-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(45px,8vw,95px);align-items:end}.learning-grid>p{color:#f6eaea}
.trial{padding-block:clamp(80px,10vw,130px)}.trial-card{display:grid;grid-template-columns:1fr 1fr;gap:clamp(45px,8vw,100px);align-items:center}.button.dark{background:var(--navy);margin-top:25px}
footer{background:var(--deep);color:#fff;padding:36px var(--pad);display:grid;grid-template-columns:1fr auto;gap:25px 45px;align-items:center}.footer-brand{display:flex;gap:17px;align-items:center}.footer-monogram{width:64px;height:auto;object-fit:contain;flex-shrink:0}.footer-brand p{font-size:11px;line-height:1.8;color:#c4cbd5}.footer-brand b{font-family:"Noto Serif JP",serif;font-size:17px;color:#fff}.footer-links{display:flex;flex-wrap:wrap;gap:12px 20px;font-size:12px;font-weight:700}.footer-links a{border-bottom:1px solid #526074}.footer-links a:hover{color:#f0c36e;border-color:#f0c36e}footer small{grid-column:1/-1;color:#6f7a8b;font-size:9px}.mobile-contact{display:none}
@media(max-width:850px){body{padding-bottom:59px}header{height:66px;padding-inline:18px}.brand{font-size:23px}.monogram{width:46px;height:46px}nav,.traken-link{display:none}.hero{min-height:calc(100svh - 66px)}.hero-image{background:linear-gradient(180deg,rgba(8,38,48,.28),rgba(8,38,48,.94) 72%),url("assets/ryukenkai-facebook/kids-kick-pad-line.webp") center 32%/cover no-repeat}.hero-content{padding-block:78px 90px}.intro-grid,.section-heading-row,.master-grid,.learning-grid,.trial-card{grid-template-columns:1fr;gap:31px}.values{grid-template-columns:repeat(2,1fr)}.activity-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:280px}.activity-gallery .gallery-featured{grid-column:span 2;grid-row:span 1}.activity-gallery .gallery-wide{grid-column:span 2;height:auto}.class-grid{grid-template-columns:1fr 1fr}.class-grid article,.class-grid article:nth-child(4),.class-grid article:nth-child(5){grid-column:span 1}.class-grid article:last-child{grid-column:span 2}.master-photo{width:min(100%,380px);margin:auto}footer{grid-template-columns:1fr}.mobile-contact{display:block;position:fixed;z-index:50;bottom:0;left:0;right:0;background:var(--red);color:#fff;text-align:center;padding:11px 8px;font-size:11px;font-weight:900}.mobile-contact b{font-size:17px;margin-left:5px}}
@media(max-width:520px){.hero-copy{font-size:14px}.button{width:100%;min-width:0}.values{grid-template-columns:1fr}.values article{border-left:1px solid var(--line)}.activity-gallery{grid-template-columns:1fr;grid-auto-rows:300px}.activity-gallery .gallery-featured,.activity-gallery .gallery-wide{grid-column:span 1}.class-grid{grid-template-columns:1fr}.class-grid article,.class-grid article:last-child{grid-column:span 1}.class-grid article{min-height:0}.footer-links{display:grid}}

.member-contact{margin-top:24px;padding-top:16px;border-top:1px solid #bfb4a2;font-weight:700}.member-contact a{display:inline-block;margin-top:5px;font-family:'Noto Serif JP',serif;font-size:24px;color:var(--navy);border-bottom:1px solid currentColor}.master-social{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:18px;font-size:13px;font-weight:700}.master-social a{color:var(--navy);border-bottom:1px solid #a99a80}.master-social a:hover{color:var(--red);border-color:var(--red)}
