/* Frame+ home: scoped to its dedicated template. */
body.home #js-header{display:block!important;position:sticky!important;top:0!important;width:100%;z-index:50;background:#fff}
body.home #js-header .p-header__bar{border-bottom:1px solid #e1e5dc}
body.home #js-header .p-header__logo a{color:#234c3d}
.fp-home h1 span{font-weight:700}
.fp-home section[id]{scroll-margin-top:90px}

.fp-home{--fp-ink:#172923;--fp-green:#234c3d;--fp-orange:#a63f21;--fp-paper:#faf9f5;color:var(--fp-ink);font-family:"Noto Sans JP",sans-serif;line-height:1.9;background:#fff}
.fp-home *{box-sizing:border-box}.fp-wrap{width:min(1120px,calc(100% - 64px));margin-inline:auto}
.fp-home h1,.fp-home h2,.fp-home h3,.fp-home p{margin:0;padding:0}
.fp-home a{color:inherit}.fp-home h1{font-size:clamp(36px,4.5vw,62px);line-height:1.5;letter-spacing:.015em;font-weight:700}
.fp-home h1 span{color:var(--fp-green)}.fp-home h2{font-size:clamp(25px,3vw,38px);line-height:1.65;font-weight:700;letter-spacing:.02em}
.fp-home h3{font-size:20px;line-height:1.75;font-weight:700}.fp-home p{font-size:16px}
.fp-home .fp-eyebrow{font-size:12px;letter-spacing:.12em;color:var(--fp-green);font-weight:700;margin-bottom:18px}
.fp-hero{background:var(--fp-paper);padding:80px 0 0}.fp-hero-grid{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:64px}
.fp-home .fp-lead{margin:24px 0 28px;line-height:2}
.fp-home .fp-btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:16px 25px;min-height:56px;background:var(--fp-orange);color:#fff;border:2px solid var(--fp-orange);border-radius:4px;text-decoration:none;font-size:15px;font-weight:700;line-height:1.7;transition:background .2s,border-color .2s}
.fp-home .fp-btn:hover{background:#813019;border-color:#813019;color:#fff}.fp-home a:focus-visible,.fp-home summary:focus-visible{outline:3px solid #b65b20;outline-offset:5px}
.fp-home .fp-note{font-size:12px;color:#55645c;margin-top:14px;line-height:1.8}
.fp-home .fp-textlink{display:inline-block;font-size:14px;color:var(--fp-green);font-weight:700;text-decoration:underline;text-underline-offset:5px}
.fp-hero .fp-textlink{margin-top:24px}.fp-visual{padding:24px;background:#e7ece4;border-radius:8px;transform:rotate(2deg)}
.fp-home .fp-visual-top{font-size:13px;font-weight:700;margin-bottom:18px}.fp-frame{position:relative;background:var(--fp-green);color:white;aspect-ratio:1.23;display:flex;flex-direction:column;justify-content:center;align-items:center;border:12px solid #fff;box-shadow:0 12px 32px #17292316;transform:rotate(-4deg);text-align:center}
.fp-frame:before,.fp-frame:after{content:"";position:absolute;width:22px;height:22px;border-color:#c1d4a9;border-style:solid}
.fp-frame:before{top:16px;left:16px;border-width:2px 0 0 2px}.fp-frame:after{bottom:16px;right:16px;border-width:0 2px 2px 0}
.fp-home .fp-frame p{font-size:clamp(28px,3.2vw,40px);font-weight:700;line-height:1.65}.fp-frame-no{font-size:12px;letter-spacing:.15em;margin-bottom:8px;color:#d7e1cd}.fp-frame-caption{font-size:12px;margin-top:16px;color:#d7e1cd}
.fp-visual-bottom{display:flex;justify-content:space-between;margin-top:20px;font-size:10px;font-weight:700;gap:8px}
.fp-audience{display:flex;gap:24px;align-items:baseline;padding:27px 0;margin-top:65px;border-top:1px solid #d8dfd5}
.fp-audience>span{white-space:nowrap;font-size:12px;font-weight:700}.fp-home .fp-audience p{font-size:12px;color:#55645c}
.fp-section{padding-top:86px;padding-bottom:86px}.fp-section-head{margin-bottom:38px;max-width:760px}
.fp-section-head>p:last-child{margin-top:18px;color:#506159}.fp-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.fp-skill{border-top:1px solid #c9d3cb;padding-top:24px}.fp-number{display:block;color:#778b7b;font-size:13px;letter-spacing:.15em;margin-bottom:18px}.fp-skill h3{margin-bottom:14px}.fp-home .fp-skill p{font-size:14px;color:#506159}
.fp-band{background:var(--fp-green);color:#fff;padding:58px 0}.fp-teacher{display:grid;grid-template-columns:1fr 1.1fr;gap:64px}
.fp-band .fp-eyebrow,.fp-band .fp-textlink{color:#d2ddbb}.fp-band h2{font-size:27px}.fp-home .fp-teacher-name{font-size:24px;font-weight:700;margin-bottom:15px}
.fp-teacher-name span{font-size:12px;margin-left:12px;font-weight:400}.fp-teacher p+p{margin-top:14px}.fp-band .fp-textlink{margin-top:18px}.fp-home .fp-teacher p:not(.fp-teacher-name):not(.fp-eyebrow){font-size:14px}
.fp-course{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;padding:42px;background:#faf9f5;border:1px solid #e1e5dc;border-radius:8px}
.fp-course h2{font-size:30px}.fp-course p:not(.fp-eyebrow):not(.fp-note){margin-top:20px;font-size:14px}.fp-course .fp-btn{margin-top:25px}
.fp-course-list{align-self:center;padding:8px 0}.fp-home .fp-mini-title{font-weight:700;margin-bottom:20px}.fp-course-list p:not(.fp-mini-title){padding:13px 0;border-bottom:1px solid #d8dfd5;margin-top:0!important}
.fp-course-list p span{display:inline-block;font-size:11px;background:#e3eadd;color:#234c3d;padding:2px 9px;margin-right:12px;min-width:46px;text-align:center}
.fp-books-section{background:#f3f5f0}.fp-books{grid-template-columns:repeat(4,minmax(0,1fr))}.fp-book h3 small{font-size:12px;font-weight:400;display:inline-block;line-height:1.7}@media(min-width:641px) and (max-width:1000px){.fp-books{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.fp-books{grid-template-columns:1fr}}.fp-book{display:flex;flex-direction:column;align-items:flex-start}.fp-book>a:first-child{width:100%;height:240px;background:#e8ede4;display:flex;justify-content:center;align-items:center;padding:18px;margin-bottom:22px}
.fp-book img{width:auto;max-width:100%;height:100%;object-fit:contain;box-shadow:0 6px 15px #17292316}.fp-home .fp-book-for{font-size:11px;color:var(--fp-green);font-weight:700;margin-bottom:10px}
.fp-book h3{font-size:17px;min-height:64px;margin-bottom:12px}.fp-home .fp-book>p:not(.fp-book-for){font-size:14px;color:#506159;margin-bottom:18px}.fp-book>.fp-textlink{margin-top:auto}
.fp-test{display:grid;grid-template-columns:1.3fr 1fr;gap:65px;align-items:center}.fp-test h2{font-size:30px}.fp-test h2+p{font-size:14px;margin-top:20px}.fp-home .fp-price{margin:20px 0}.fp-price strong{font-size:27px;margin-left:14px}.fp-price span{font-size:12px}
.fp-home .fp-btn-outline{background:#fff;border-color:var(--fp-green);color:var(--fp-green)}.fp-home .fp-btn-outline:hover{background:var(--fp-green);color:#fff;border-color:var(--fp-green)}
.fp-test-aside{border-left:1px solid #d8dfd5;padding-left:36px}.fp-test-aside p{font-size:14px;margin:12px 0 18px}
.fp-articles-section{background:var(--fp-paper)}.fp-article>a{display:block;text-decoration:none}.fp-article img{width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;display:block;margin-bottom:20px}.fp-article h3{font-size:17px;margin-bottom:12px}.fp-article a:hover h3{text-decoration:underline;text-underline-offset:4px}.fp-center{text-align:center;margin-top:35px!important}
.fp-faq{max-width:850px}.fp-faq details{border-top:1px solid #d8dfd5;padding:20px 0}.fp-faq details:last-child{border-bottom:1px solid #d8dfd5}.fp-faq summary{cursor:pointer;font-size:15px;font-weight:700;list-style:revert;padding-right:20px}.fp-home .fp-faq details p{font-size:14px;color:#506159;padding:16px 0 0 20px}
.fp-final{text-align:center;background:#e8ede3;padding:65px 0}.fp-final h2{margin-bottom:18px}.fp-final .fp-btn{margin-top:25px}
.fp-sp{display:none}
@media(max-width:900px){.fp-hero-grid{gap:30px;grid-template-columns:1.3fr 1fr}.fp-home h1{font-size:38px}.fp-grid3{gap:22px}.fp-course{padding:30px;gap:30px}.fp-teacher,.fp-test{gap:30px}.fp-home .fp-visual-bottom{font-size:9px}.fp-book h3{min-height:90px}}
@media(max-width:640px){.fp-wrap{width:calc(100% - 40px)}.fp-hero{padding-top:44px}.fp-hero-grid,.fp-teacher,.fp-course,.fp-test{grid-template-columns:1fr;gap:32px}.fp-home h1{font-size:35px;line-height:1.5}.fp-sp{display:initial}.fp-home .fp-lead{font-size:14px}.fp-lead br{display:none}.fp-home .fp-btn{width:100%;font-size:14px;padding:14px 17px;gap:10px}.fp-home .fp-eyebrow{font-size:10px}.fp-visual{max-width:330px;width:100%;margin:6px auto 0;padding:20px;transform:rotate(1deg)}.fp-frame{aspect-ratio:1.45}.fp-home .fp-frame p{font-size:29px}.fp-audience{display:block;padding:23px 0;margin-top:35px}.fp-audience>span{display:block;margin-bottom:8px}.fp-home .fp-audience p{font-size:11px}.fp-section{padding-top:50px;padding-bottom:50px}.fp-grid3{grid-template-columns:1fr;gap:30px}.fp-home h2{font-size:27px}.fp-section-head{margin-bottom:28px}.fp-home .fp-section-head>p:last-child{font-size:14px}.fp-section-head>p:last-child br{display:none}.fp-number{margin-bottom:10px}.fp-skill h3{font-size:19px}.fp-band{padding:42px 0}.fp-band h2{font-size:25px}.fp-course{padding:24px 20px;gap:24px}.fp-course h2{font-size:25px}.fp-book{display:grid;grid-template-columns:110px minmax(0,1fr);column-gap:18px;align-items:start}.fp-book>a:first-child{grid-column:1;grid-row:1/5;height:180px;margin:0;padding:10px}.fp-book>.fp-book-for,.fp-book>h3,.fp-book>p,.fp-book>.fp-textlink{grid-column:2}.fp-book h3{min-height:0;font-size:15px;margin-bottom:10px}.fp-book h3 br{display:none}.fp-home .fp-book>p:not(.fp-book-for){font-size:12px;margin-bottom:12px}.fp-book>.fp-textlink{font-size:12px}.fp-books{gap:32px}.fp-test-aside{border-left:0;border-top:1px solid #d8dfd5;padding:25px 0 0}.fp-test h2{font-size:25px}.fp-article img{aspect-ratio:1.8}.fp-faq summary{font-size:14px}.fp-final{padding:48px 0}.fp-home .fp-final>div>p:not(.fp-eyebrow):not(.fp-note){font-size:14px}}
@media(prefers-reduced-motion:reduce){.fp-home *{transition:none!important;scroll-behavior:auto!important}}
