/*
Theme Name: Bloom Classroom
Author: Hakutojin and Co.
Description: 個別塾 Bloom 専用テーマ。教室紹介とブログ・お知らせ。
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: bloom-classroom
License: GPL-2.0-or-later
*/
:root{--ink:#263d3d;--muted:#657371;--teal:#168c91;--orange:#d6662c;--cream:#fff9e9;--yellow:#f3d66d;--line:#087b40;--border:#e5e7df}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:15px;line-height:1.9;letter-spacing:.035em}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;vertical-align:middle}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--teal);outline-offset:5px}a:hover{opacity:.83}p{margin:0 0 1.4em}h1,h2,h3{line-height:1.55;letter-spacing:.035em;margin:0 0 24px}h2{font-size:clamp(26px,3vw,38px);font-weight:700}h3{font-size:23px}.wrap{max-width:1160px;margin-inline:auto;padding-inline:32px}.section{padding-block:100px}.eyebrow{display:block;color:var(--teal);font-size:11px;letter-spacing:.18em;font-weight:700;margin-bottom:20px}.site-header{background:rgba(255,255,255,.97);border-bottom:1px solid #f0eee6;position:sticky;top:0;z-index:30}.header-inner{max-width:1400px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:15px 36px}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand img{width:68px;height:68px;object-fit:cover;border-radius:50%}.brand small{font-size:9px;display:block;line-height:1.4}.brand strong{font-family:Georgia,serif;font-size:35px;line-height:1.2;letter-spacing:-.04em}.brand-dot{color:var(--orange)}#site-nav{display:flex;align-items:center;gap:24px;font-size:12px;font-weight:600}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:58px;border-radius:6px;padding:15px 26px;font-weight:700;font-size:14px}.button.small{min-height:44px;padding:10px 18px;font-size:12px}.orange{background:var(--orange);color:white}.line{background:var(--line);color:#fff}.outline{border:1px solid var(--ink)}.text-link{display:inline-flex;gap:16px;font-size:13px;font-weight:700;border-bottom:1px solid #bfcac5;padding-bottom:6px}.menu-toggle{display:none}.skip{position:fixed;top:-100px;left:12px;background:#fff;padding:12px;z-index:100}.skip:focus{top:10px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center;padding-block:58px 65px}.hero-copy{position:relative;padding-block:20px}.location-label{font-size:11px;display:flex;align-items:center;gap:8px;font-weight:600;margin-bottom:28px}.location-label span{width:7px;height:7px;background:var(--teal);border-radius:50%}.hero h1{font-size:clamp(34px,4vw,53px);line-height:1.65;letter-spacing:.01em;position:relative;white-space:nowrap;margin-bottom:22px}.highlight{position:relative;z-index:0}.highlight:after{content:"";position:absolute;bottom:2px;left:0;width:100%;height:12px;background:#f7e290;z-index:-1;transform:rotate(-3deg)}.hero-spark{position:absolute;width:40px;height:50px;right:10px;top:0;fill:none;stroke:#d9b545;stroke-width:3;stroke-linecap:round}.hero-lead{font-size:15px;line-height:2.1}.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-block:30px}.hero-tags{display:flex;gap:8px;flex-wrap:wrap}.hero-tags span{font-size:11px;border:1px solid var(--border);padding:3px 12px;border-radius:20px}.hero-visual{position:relative;padding:0 0 25px 10px}.classroom-hero{width:100%;height:525px;object-fit:cover;object-position:center 51%;border-radius:160px 16px 16px 16px}.photo-note{position:absolute;bottom:0;left:-15px;background:var(--cream);padding:18px 25px;transform:rotate(-4deg);box-shadow:0 6px 18px #2030300c}.photo-note>span{font-size:9px;letter-spacing:.12em;color:var(--teal)}.photo-note p{font-size:18px;line-height:1.6;margin:8px 0 0;font-weight:600}.flower-stamp{position:absolute;right:-18px;top:-20px;width:133px;border-radius:50%;padding:5px;background:white;box-shadow:0 5px 20px #2030300c;transform:rotate(8deg)}.flower-stamp img{border-radius:50%}.intro-strip{background:var(--cream);border-block:1px solid #f2e8c9}.intro-strip>.wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:22px}.intro-strip span{font-size:11px;letter-spacing:.15em;color:#8f7739}.intro-strip p{margin:0;font-size:14px}.intro-strip .strip-flower{font-size:32px;line-height:1;color:#d49f32}.about{display:grid;grid-template-columns:1fr 1fr;gap:80px}.about h2{line-height:1.9}.about-content{padding-top:10px}.large-copy{font-size:20px;font-weight:600;line-height:2}.about-content>p:not(.large-copy){color:var(--muted)}.lesson-section{background:#f6f8f4}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:40px}.section-heading h2{margin-bottom:0}.section-heading>p{font-size:13px;color:var(--muted);margin:0}.lesson-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.lesson-card{background:white;border-top:4px solid var(--yellow);padding:36px;position:relative}.lesson-card:nth-child(2){border-color:#78b9b6}.lesson-number{font-family:Georgia,serif;position:absolute;right:25px;top:15px;font-size:58px;color:#f1f0e8;line-height:1}.grade-label{font-size:10px;letter-spacing:.15em;color:var(--teal)}.lesson-card h3{font-size:30px;margin:13px 0 4px}.lesson-card p{font-size:14px;margin-bottom:0}.lesson-card .grade{font-size:12px;margin-bottom:22px;color:var(--muted)}.lesson-facts{margin:32px 0 0}.lesson-facts>div{display:grid;grid-template-columns:150px 1fr;padding:17px 0;border-bottom:1px solid #dfe5db}.lesson-facts dt{font-size:13px;font-weight:600}.lesson-facts dd{margin:0;font-size:14px}.lesson-note{font-size:12px;color:var(--muted);margin:16px 0 0}.classroom{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center}.classroom-image img{height:430px;width:100%;object-fit:cover;border-radius:10px 100px 10px 10px}.classroom p{color:var(--muted);font-size:14px}.news-section{background:#fffcf4}.empty-state{padding:45px 25px;border-block:1px solid #e9e2d0;text-align:center;color:var(--muted)}.empty-state>span{font-size:18px;color:var(--ink);font-weight:600}.empty-state p{margin:10px 0 0;font-size:13px}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.post-image{display:block;background:#fff;border-radius:6px;overflow:hidden;aspect-ratio:1.55}.post-image img{width:100%;height:100%;object-fit:cover}.post-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-top:18px}.post-meta span{color:var(--teal)}.post-card h3{font-size:18px;margin:12px 0}.post-card p{font-size:13px;color:var(--muted);overflow-wrap:anywhere}.access{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.access-name{font-size:19px;font-weight:700;margin-top:32px}.access p{font-size:14px}.access-panel{background:var(--cream);border:1px solid #efe5c8;min-height:330px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:30px;text-align:center;position:relative;border-radius:10px}.pin{font-size:60px;line-height:1;color:var(--orange)}.access-panel>p{font-size:10px;letter-spacing:.2em;color:var(--teal);margin:15px 0}.access-panel strong{font-size:24px}.access-panel>span:not(.pin){font-size:14px}.access-panel small{font-size:10px;color:var(--muted);margin-top:30px}.contact-band{background:#f6e9b7;padding-block:65px}.contact-layout{display:flex;align-items:center;justify-content:space-between;gap:40px}.contact-band h2{font-size:34px;margin-bottom:15px}.contact-band p{font-size:13px}.qr-box{padding:20px;background:#fff;border-radius:8px;text-align:center;transform:rotate(3deg);flex-shrink:0}.qr-box img{width:150px;height:150px}.qr-box p{font-size:10px;margin:8px 0 0}.site-footer{padding-block:40px 18px}.footer-top{display:flex;gap:35px;justify-content:space-between;align-items:center}.footer-brand{font-size:12px}.footer-brand strong{font-size:32px;font-family:Georgia,serif}.footer-top p,.footer-top>a:last-child{font-size:12px;margin:0}.footer-bottom{display:flex;justify-content:space-between;margin-top:35px;padding-top:18px;border-top:1px solid var(--border);font-size:10px;color:var(--muted)}.mobile-contact{display:none}.journal-main{min-height:60vh}.journal-main h1,.article-main h1{font-size:clamp(26px,4vw,42px);overflow-wrap:anywhere}.page-lead{color:var(--muted)}.category-nav{display:flex;gap:10px;flex-wrap:wrap;margin:30px 0}.category-nav a{padding:6px 20px;border:1px solid var(--border);border-radius:30px;font-size:13px}.pagination{margin-top:45px;text-align:center}.pagination .page-numbers{display:inline-block;padding:6px 14px;margin:3px;border:1px solid var(--border)}.pagination .current{background:var(--teal);color:white}.article-main{max-width:880px}.article-header{margin-top:40px}.article-thumbnail img{width:100%;max-height:550px;object-fit:cover}.entry-content{font-size:16px;line-height:2.1;overflow-wrap:anywhere;margin-block:40px}.entry-content a{color:var(--teal);text-decoration:underline}.entry-content h2,.entry-content h3{margin-top:2em}.entry-content ul,.entry-content ol{padding-left:1.6em}.entry-content blockquote{border-left:4px solid var(--yellow);padding:10px 25px;margin-inline:0;background:var(--cream)}.entry-content figure{max-width:100%;margin-inline:0}.entry-content iframe{max-width:100%}.entry-content table{border-collapse:collapse;width:100%}.entry-content td,.entry-content th{border:1px solid var(--border);padding:8px}.entry-content .wp-block-table{overflow-x:auto}.post-navigation{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--border);padding-top:25px;font-size:13px}.optional-section{display:grid;grid-template-columns:1fr 1fr;gap:60px;border-bottom:1px solid var(--border);white-space:normal}.admin-bar .site-header{top:32px}
@media(min-width:1400px){.hero{max-width:1240px;gap:70px}.classroom-hero{height:560px}}
@media(max-width:1080px){#site-nav{gap:14px;font-size:11px}.header-inner{padding-inline:22px}.hero h1{font-size:42px}.hero-spark{display:none}.classroom,.about,.access{gap:40px}.hero-actions{gap:16px}.hero-actions .button{padding-inline:18px;font-size:12px}}
@media(max-width:850px){.wrap{padding-inline:24px}.section{padding-block:65px}.menu-toggle{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:5px;padding:6px 12px;font-size:12px}#site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:20px 24px;border-bottom:1px solid var(--border);box-shadow:0 12px 20px #00000008}#site-nav.is-open{display:flex;align-items:stretch;flex-direction:column;gap:0}#site-nav>a{padding:12px;font-size:14px}.brand img{width:52px;height:52px}.brand strong{font-size:30px}.header-inner{padding:10px 22px}.hero{gap:24px;padding-block:35px 45px}.hero h1{font-size:34px}.location-label{font-size:9px}.hero-lead{font-size:13px}.hero-visual{padding-left:0}.classroom-hero{height:430px;border-top-left-radius:100px}.flower-stamp{width:95px;right:-8px;top:-10px}.photo-note{left:-5px;padding:14px 18px}.photo-note p{font-size:15px}.hero-tags span{font-size:10px;padding-inline:8px}.intro-strip>.wrap>span:first-child{display:none}.classroom{gap:35px}.classroom-image img{height:360px}.lesson-card{padding:28px}.post-grid{gap:22px}.admin-bar .site-header{top:46px}}
@media(max-width:600px){html{scroll-padding-top:90px}body{font-size:14px;padding-bottom:62px}.wrap{padding-inline:22px}.hero{grid-template-columns:1fr;padding-top:22px;gap:30px}.hero-copy{padding:6px 0 0}.location-label{font-size:10px;margin-bottom:18px}.hero h1{font-size:clamp(32px,8.8vw,43px);margin-bottom:18px;line-height:1.6}.hero-lead{font-size:14px}.hero-actions{margin-block:24px;gap:20px}.hero-actions .button{font-size:13px;min-height:54px}.hero-actions .text-link{font-size:11px}.hero-tags{gap:7px}.hero-visual{margin:0 7px 0 12px;padding-bottom:25px}.classroom-hero{height:350px;border-radius:100px 10px 10px 10px;object-position:50% 47%}.flower-stamp{width:105px;right:-12px}.photo-note{left:-12px;padding:13px 20px}.photo-note p{font-size:16px}.intro-strip>.wrap{padding-block:17px}.intro-strip p{font-size:12px}.intro-strip .strip-flower{font-size:27px}.about,.classroom,.access,.optional-section{grid-template-columns:1fr;gap:25px}.about h2{margin-bottom:0}.about-content{padding-top:0}.large-copy{font-size:18px}.section-heading{display:block;margin-bottom:28px}.section-heading>p,.section-heading>.text-link{margin-top:22px}.lesson-grid{grid-template-columns:1fr;gap:16px}.lesson-card{padding:28px}.lesson-card h3{font-size:27px}.lesson-facts>div{grid-template-columns:90px 1fr;gap:12px}.lesson-facts dd{font-size:13px}.classroom-image img{height:330px}.classroom{gap:35px}.post-grid{grid-template-columns:1fr;gap:35px}.post-image{aspect-ratio:1.8}.access-panel{min-height:280px}.contact-band{padding-block:50px}.contact-layout{display:block}.contact-band h2{font-size:29px}.contact-band p{font-size:12px}.qr-box{display:none}.footer-top{display:block}.footer-top p{margin:18px 0}.footer-bottom{font-size:9px;gap:15px}.mobile-contact{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:40;background:var(--line);color:#fff;min-height:58px;padding:15px 20px calc(15px + env(safe-area-inset-bottom));justify-content:center;align-items:center;font-size:14px;font-weight:700}.article-main h1{font-size:28px}.post-navigation{flex-direction:column;gap:18px}.entry-content{font-size:15px}.optional-section{gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
