/*
Theme Name: 深田塾 Sakura
Description: ひろボンの配色とイラストを引き継ぐ深田塾の制作初稿。
Version: 0.1.0
Text Domain: fukata-juku
*/
:root{--ink:#51434d;--rose:#a54566;--pink:#fff9f8;--mint:#edf6f5;--line:#e9dce2}*{box-sizing:border-box}body{margin:0;background:var(--pink);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;line-height:1.9}a{color:var(--rose);text-underline-offset:5px}a:focus-visible,summary:focus-visible{outline:3px solid #237f79;outline-offset:5px}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:white;z-index:100}.site-header{position:sticky;top:0;z-index:20;background:#fffdfbf5;border-bottom:1px solid var(--line)}.header-inner{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:14px 28px;gap:20px}.brand{text-decoration:none;color:var(--ink);font:600 28px/1.3 serif;white-space:nowrap}.brand small{display:block;font:10px/1.5 sans-serif;letter-spacing:.18em;color:#506d61}.nav-desktop{display:flex;gap:21px;align-items:center;font-size:13px}.nav-desktop a{text-decoration:none;color:var(--ink)}.nav-mobile{display:none}.wrap{max-width:1100px;margin:auto;padding:40px 28px 72px}.hero{display:grid;grid-template-columns:1.05fr 1fr;background:linear-gradient(135deg,#fff4f7,#eef8fa);border-radius:26px;overflow:hidden;margin-bottom:45px;align-items:center}.hero-copy{padding:45px}.eyebrow{color:var(--rose);font-size:12px;letter-spacing:.15em}.hero h1{font-family:"Yu Mincho",serif;font-weight:500;font-size:clamp(32px,3.5vw,49px);line-height:1.65;margin:14px 0 24px}.hero img{display:block;width:100%;height:620px;object-fit:cover}.button{display:inline-block;background:var(--rose);color:white;text-decoration:none;padding:13px 26px;border-radius:30px;font-weight:600}.hero .button{margin-top:15px}.lead{font-size:18px;max-width:760px;margin:20px auto 35px}.panel{padding:32px;margin:24px 0;background:white;border:1px solid var(--line);border-radius:20px}h1,h2{font-family:"Yu Mincho",serif;font-weight:500}h1{font-size:36px;line-height:1.6}h2{color:#386c76;font-size:26px;line-height:1.5;margin:0 0 20px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.cards a{display:block;background:linear-gradient(140deg,#fff2f6,#edf6f5);padding:24px;border-radius:15px;text-decoration:none;color:var(--ink)}.cards b{display:block;color:var(--rose);font-size:19px;margin-bottom:10px}.cards span{font-size:14px}.pending{background:#fff8ea;border-left:3px solid #bc9152;padding:14px;font-size:14px}.draft{padding:8px 20px;background:#f5e3ea;color:#71374e;font-size:12px;text-align:center}details{border-bottom:1px solid var(--line);padding:16px 0}summary{cursor:pointer;font-weight:600;min-height:32px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:420px}td,th{padding:14px;border-bottom:1px solid var(--line);text-align:left}th{background:var(--mint)}footer{background:var(--mint);padding:38px 28px;text-align:center;font-size:13px}.footer-links{max-width:1000px;margin:15px auto;display:flex;flex-wrap:wrap;justify-content:center;gap:12px 23px}.breadcrumb{font-size:12px;margin-bottom:20px}.page-number{font-size:12px;color:#79596b;letter-spacing:.15em}.mobile-cta{display:none}.admin-bar .site-header{top:32px}@media(max-width:900px){.nav-desktop{display:none}.nav-mobile{display:block;position:relative}.nav-mobile summary{list-style:none;border:1px solid var(--line);padding:10px 15px;border-radius:30px;font-size:12px}.nav-mobile nav{position:absolute;right:0;top:54px;width:260px;max-height:70vh;overflow:auto;background:white;border:1px solid var(--line);border-radius:15px;padding:15px;box-shadow:0 12px 25px #51434d20}.nav-mobile nav a{display:block;padding:9px;text-decoration:none}.hero-copy{padding:30px}.hero img{height:530px}.cards{grid-template-columns:1fr}.admin-bar .site-header{top:46px}}@media(max-width:600px){.header-inner{padding:12px 18px}.brand{font-size:25px}.wrap{padding:20px 16px 65px}.hero{display:flex;flex-direction:column;border-radius:18px}.hero-copy{padding:30px 25px}.hero h1{font-size:34px}.hero img{height:auto;max-height:590px;object-fit:cover;object-position:50% 65%}.panel{padding:24px 20px}h1{font-size:28px}h2{font-size:23px}.lead{font-size:16px}.mobile-cta{display:block;position:fixed;bottom:10px;left:18px;right:18px;text-align:center;z-index:30;box-shadow:0 4px 18px #51434d30}footer{padding-bottom:90px}.admin-bar .site-header{top:0}}

/* Automatically drifting sakura. Decorative layer never intercepts taps. */
.fj-sakura{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:21}
.fj-sakura i{position:absolute;top:-30px;width:12px;height:19px;background:linear-gradient(135deg,#fff1f5,#edb2c5);border-radius:80% 12% 75% 20%;opacity:.55;animation:fj-fall 14s linear infinite}
@keyframes fj-fall{0%{transform:translate3d(0,-30px,0) rotate(0deg)}50%{transform:translate3d(35px,50vh,0) rotate(190deg)}100%{transform:translate3d(-25px,110vh,0) rotate(390deg)}}
.fj-story{display:block;width:100%;max-width:960px;margin:20px auto;border-radius:20px;background:#fff5f8}
.fj-motion-toggle{position:fixed;right:12px;bottom:82px;z-index:40;border:1px solid #e9dce2;border-radius:20px;padding:8px 14px;background:#fff;color:#51434d;cursor:pointer}
.fj-motion-paused .fj-sakura i{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.fj-sakura{display:none}}

.brand,.hero h1,h1,h2{font-family:inherit}.fj-intake label{display:block;margin:10px 0}.fj-intake select,.fj-intake textarea{display:block;width:100%;padding:12px;border:1px solid #cbbdc4;border-radius:8px;font:inherit;background:white;color:#51434d}.fj-intake textarea{min-height:170px;margin-top:15px}.fj-intake input{width:20px;height:20px;vertical-align:middle;margin-right:10px}.fj-intake fieldset{border:1px solid #e9dce2;border-radius:10px}.fj-intake button{border:0;font:inherit;cursor:pointer}.hero img{object-fit:cover}.fj-preview-note{padding:10px;background:#eef8fa;text-align:center;font-size:13px}
/* Business-card inspired full-width hero */
.hero{display:flex;flex-direction:column;border:1px solid #efc5cc;background:#fffafa}.hero img{order:-1;width:100%;height:auto;max-height:none;object-fit:contain}.hero-copy{padding:24px 32px;width:100%}.hero h1{font-size:clamp(25px,3vw,38px);margin:6px 0 14px;line-height:1.5}.brand{color:#b51c37}.button{background:#b51c37}.hero-copy p{margin:8px 0}@media(max-width:600px){.hero-copy{padding:20px}.hero h1{font-size:25px}.hero img{height:auto;max-height:none}}

.brand,.hero h1,h1,h2{font-family:inherit}.fj-intake label{display:block;margin:10px 0}.fj-intake select,.fj-intake textarea{display:block;width:100%;padding:12px;border:1px solid #cbbdc4;border-radius:8px;font:inherit;background:white;color:#51434d}.fj-intake textarea{min-height:170px;margin-top:15px}.fj-intake input{width:20px;height:20px;vertical-align:middle;margin-right:10px}.fj-intake fieldset{border:1px solid #e9dce2;border-radius:10px}.fj-intake button{border:0;font:inherit;cursor:pointer}.hero img{object-fit:cover}.fj-preview-note{padding:10px;background:#eef8fa;text-align:center;font-size:13px}/* Gentle teacher hero */
.hero{overflow:hidden}.hero>img{transform-origin:78% 55%;animation:fj-gentle-teacher 9s ease-in-out infinite;will-change:transform}
@keyframes fj-gentle-teacher{0%,100%{transform:scale(1)}50%{transform:scale(1.012)}}
.hero-copy>p:first-child{animation:fj-soft-enter .75s ease both}.hero-copy>h1{animation:fj-soft-enter .9s .15s ease both}.hero-copy>p:nth-of-type(2){animation:fj-soft-enter .9s .3s ease both}
@keyframes fj-soft-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.fj-motion-paused .hero>img,.fj-motion-paused .hero-copy>*{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.hero>img,.hero-copy>*{animation:none!important}}
/* Flowing light over the water at the foot of the illustration */
.fj-water-hero{order:-1;position:relative;width:100%;overflow:hidden;isolation:isolate;line-height:0}
.hero .fj-water-hero img{width:100%;height:auto;display:block;animation:none;transform:none;object-fit:contain}
.fj-water-hero::before,.fj-water-hero::after{content:'';position:absolute;pointer-events:none;left:-30%;width:160%;bottom:0;height:30%;z-index:1;mix-blend-mode:screen;opacity:.55;background:repeating-radial-gradient(ellipse at 30% 120%,transparent 0 15%,rgba(142,221,239,.8) 16%,rgba(255,255,255,.85) 17%,transparent 19% 29%);mask-image:linear-gradient(transparent,#000);animation:fj-water-flow 5s ease-in-out infinite alternate}
.fj-water-hero::after{height:23%;opacity:.4;background:repeating-linear-gradient(165deg,transparent 0 12%,rgba(255,255,255,.8) 14%,transparent 17% 28%);animation:fj-water-flow 7s -3s ease-in-out infinite alternate-reverse}
@keyframes fj-water-flow{from{transform:translateX(-6%) translateY(2px)}to{transform:translateX(8%) translateY(-4px)}}
.fj-motion-paused .fj-water-hero::before,.fj-motion-paused .fj-water-hero::after{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.fj-water-hero::before,.fj-water-hero::after{animation:none}}

/* Static display, including users who prefer reduced motion. */
.fj-sakura,.fj-motion-toggle{display:none!important}
.fj-water-hero::before,.fj-water-hero::after{display:none!important}
.hero img,.hero-copy>*{animation:none!important;transform:none!important}
.fj-mobile-sections{display:none}
@media(max-width:900px){.fj-mobile-sections{display:block}.fj-mobile-section{scroll-margin-top:110px;margin-top:40px;padding-top:24px;border-top:1px solid #e9dce2}.fj-mobile-section img{max-width:100%;height:auto}}

/* Selected effect: diagonal light only. No petals or wave motion. */
.fj-water-hero::before{display:none!important}
.fj-water-hero::after{display:block!important;height:23%;opacity:.4;background:repeating-linear-gradient(165deg,transparent 0 12%,rgba(255,255,255,.8) 14%,transparent 17% 28%);animation:fj-water-flow 7s -3s ease-in-out infinite alternate-reverse}
.fj-motion-toggle{display:block!important}
.fj-motion-paused .fj-water-hero::after{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.fj-water-hero::after{animation:none}}

/* Editorial placement: small pictures among related paragraphs. */
.panel{display:flow-root}
.fj-inline-visual{float:right;width:32%;max-width:260px;margin:4px 0 18px 24px}
.fj-inline-visual img{display:block;width:100%;height:auto;border-radius:16px}
.fj-inline-photo{float:left;width:25%;max-width:200px;margin:4px 24px 18px 0}
@media(max-width:600px){.fj-inline-visual{float:none;width:68%;max-width:230px;margin:18px 0 22px auto}.fj-inline-photo{width:48%;max-width:180px;margin:18px auto 22px 0}}

.fj-picker [hidden]{display:none!important}
.fj-steps{display:flex;flex-wrap:wrap;gap:10px 24px;padding-left:24px;margin:18px 0 24px;color:#665b61}
.fj-steps [aria-current="step"]{font-weight:700;color:#a7254e}
.fj-checkout-field{display:block;padding:14px 0;line-height:1.8}
.fj-checkout-field select,.fj-checkout-field input[type="number"]{display:block;max-width:100%;font:inherit;padding:9px;margin:6px 0;border:1px solid #c9b9c1;border-radius:8px;background:#fff;color:#382c33}
.fj-checkout-field input[type="checkbox"]{width:20px;height:20px;vertical-align:middle;margin-right:8px}
.fj-checkout-field input[type="number"]{width:110px}
.fj-checkout-field textarea{display:block;width:100%;box-sizing:border-box;font:inherit;padding:12px;background:#fff;color:#382c33;border:1px solid #c9b9c1;border-radius:8px}
.fj-checkout-total{background:#fff0f2;padding:18px;border-radius:12px;overflow-wrap:anywhere}
.fj-checkout-total p{margin:0 0 10px}
.fj-preview-note{color:#665b61;font-size:.9em}
.fj-picker button{cursor:pointer}
.fj-picker button:disabled{opacity:.45;cursor:default}
.fj-back{font:inherit;background:transparent;color:#842a48;border:1px solid #c9b9c1;border-radius:8px;padding:12px 16px;margin:10px 8px 0 0}

.fj-bank-details{display:grid;grid-template-columns:minmax(90px,1fr) minmax(0,1.5fr);gap:10px 14px;margin:16px 0}.fj-bank-details dt{color:#665b61}.fj-bank-details dd{margin:0;overflow-wrap:anywhere}
