@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;600;700&family=Noto+Sans+JP:wght@400;500;700&family=Plus+Jakarta+Sans:wght@500;600&display=swap');
.ryl-lp{--c-ink:#1d2632;--c-muted:#586474;--c-paper:#f8fafc;--c-paper2:#edf1f6;--c-tint:#dfe6ef;--c-acc:#24456e;--c-acc-soft:#7b93b4;--c-dark:#1b3153;--c-dark2:#12213a;--c-line:#d3dbe6;
--tommy-header-bg:#f8fafc;--tommy-header-color:#1d2632;--tommy-header-accent:#24456e;
--tommy-cta-bg:#24456e;--tommy-cta-color:#fff;--tommy-cta-accent:#7b93b4;
--tommy-footer-bg:#12213a;--tommy-footer-color:#dfe6ef;
--tommy-market-accent:#24456e;--tommy-market-line:#d3dbe6;
font-family:'Noto Sans JP',sans-serif;color:var(--c-ink);background:var(--c-paper);line-height:1.9;font-size:15px;}
.ryl-lp *{box-sizing:border-box}
.ryl-lp img{max-width:100%}
.ryl-wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.ryl-lp h1,.ryl-lp h2,.ryl-lp h3{font-family:'Noto Serif JP',serif;font-weight:600;line-height:1.5;margin:0}
.ryl-eyebrow{font-family:'Plus Jakarta Sans',sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--c-acc-soft);margin:0 0 12px}
.ryl-lp section:not(.tommy-cta){padding:78px 0}
.ryl-lp p{margin:0 0 16px;font-size:14.5px}
.js-reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.js-reveal.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.js-reveal{opacity:1;transform:none;transition:none}}

.ryl-hero{background:var(--c-paper);padding:90px 0 76px;border-bottom:1px solid var(--c-line)}
.ryl-hero__in{display:grid;grid-template-columns:1.4fr .8fr;gap:46px;align-items:center}
.ryl-hero h1{font-size:clamp(21px,2.9vw,34px);letter-spacing:.02em}
.ryl-hero__lead{margin-top:22px;color:var(--c-muted)}
.ryl-hero__loc{display:inline-block;font-size:12px;letter-spacing:.14em;color:var(--c-acc);background:var(--c-tint);padding:5px 13px;margin-bottom:16px}
.ryl-badge{border:1px solid var(--c-line);background:var(--c-paper2);padding:32px 26px;text-align:center}
.ryl-badge .ryl-badge__n{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(34px,5vw,50px);font-weight:600;color:var(--c-acc);line-height:1;margin:0}
.ryl-badge__l{font-family:'Plus Jakarta Sans',sans-serif;font-size:11px;letter-spacing:.2em;color:var(--c-muted);margin:12px 0 18px}
.ryl-badge__s{border-top:1px solid var(--c-line);padding-top:16px;margin:0;font-size:13.5px;color:var(--c-muted)}

.ryl-prac{background:var(--c-dark);color:#dfe6ef}
.ryl-prac h2{font-size:clamp(19px,2.5vw,27px);color:#fff;margin-bottom:14px}
.ryl-prac .ryl-eyebrow{color:#9db4d0}
.ryl-prac__lead{max-width:740px;color:#b6c4d6;margin-bottom:30px}
.ryl-prac__g{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.2)}
.ryl-prac__i{background:var(--c-dark);padding:24px 18px}
.ryl-prac .ryl-prac__n{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(24px,3.4vw,32px);font-weight:600;color:#fff;line-height:1.1;margin:0 0 8px}
.ryl-prac__l{margin:0;font-size:13px;color:#9db4d0}

.ryl-course{background:var(--c-tint)}
.ryl-course h2{font-size:clamp(19px,2.5vw,27px);margin-bottom:14px}
.ryl-course__in{display:grid;grid-template-columns:1fr 1fr;gap:46px}
.ryl-course p{color:var(--c-muted)}
.ryl-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.ryl-chip{background:var(--c-paper);border:1px solid var(--c-acc-soft);color:var(--c-acc);font-size:12.5px;padding:7px 14px}

.ryl-fac{background:var(--c-paper)}
.ryl-fac h2{font-size:clamp(19px,2.5vw,27px);margin-bottom:20px}
.ryl-fac__r{display:grid;grid-template-columns:180px 1fr;gap:24px;padding:20px 0;border-top:1px solid var(--c-line)}
.ryl-fac__r:last-of-type{border-bottom:1px solid var(--c-line)}
.ryl-fac__k{font-family:'Noto Serif JP',serif;font-size:15px;font-weight:600;color:var(--c-acc)}
.ryl-fac__v{margin:0;font-size:14px;color:var(--c-muted)}

.ryl-mem{background:var(--c-paper2)}
.ryl-mem h2{font-size:clamp(19px,2.5vw,27px);margin-bottom:24px}
.ryl-mem__t{width:100%;border-collapse:collapse;background:var(--c-paper);border:1px solid var(--c-line)}
.ryl-mem__t th,.ryl-mem__t td{text-align:left;padding:15px 18px;border-bottom:1px solid var(--c-line);font-size:14px;vertical-align:top}
.ryl-mem__t th{width:180px;background:var(--c-tint);font-weight:500;color:var(--c-acc);font-size:13px}
.ryl-mem__t tr:last-child th,.ryl-mem__t tr:last-child td{border-bottom:0}
.ryl-note{font-size:12px;color:var(--c-muted);margin-top:14px}

.ryl-acc{background:var(--c-paper)}
.ryl-acc h2{font-size:clamp(19px,2.5vw,27px);margin-bottom:22px}
.ryl-acc__in{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.ryl-acc__c{border-top:2px solid var(--c-acc);padding:18px 0 0}
.ryl-acc__c h3{font-size:15px;margin-bottom:10px}
.ryl-acc__c p{margin:0;font-size:14px;color:var(--c-muted)}

.ryl-mk{background:var(--c-paper2)}
.ryl-mk h2{font-size:clamp(19px,2.5vw,27px);margin-bottom:20px}

@media(max-width:820px){
.ryl-lp section:not(.tommy-cta){padding:52px 0}
.ryl-hero{padding:54px 0 46px}
.ryl-hero__in,.ryl-course__in,.ryl-acc__in{grid-template-columns:1fr;gap:24px}
.ryl-prac__g{grid-template-columns:1fr 1fr}
.ryl-fac__r{grid-template-columns:1fr;gap:6px;padding:16px 0}
.ryl-mem__t th,.ryl-mem__t td{display:block;width:auto}
.ryl-mem__t th{border-bottom:0}
}
.ryl-lp > .tommy-cta-buttons{padding:44px max(24px,calc((100% - 1030px)/2));background:var(--c-paper2)}
@media(max-width:860px){.ryl-lp > .tommy-cta-buttons{padding:32px 18px}}
