/*
Theme Name: CAPTAIN Karate
Author: CAPTAIN
Description: 幼稚園・保育園向け課外空手教室の専用クラシックテーマ。青と水色のデザイン。
Version: 1.1.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: captain-karate
*/
:root{--ink:#202b3b;--blue:#285bb3;--sky:#35a8d7;--muted:#536274;--line:#dce6f0;--gradient:linear-gradient(110deg,#285bb3,#35a8d7)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:130px}body{margin:0;background:#fff;color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;height:auto}h1,h2,h3,p{margin:0}p{overflow-wrap:anywhere}h1,h2,h3{font-weight:700;line-height:1.5}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #173d83;outline-offset:5px}.skip{position:fixed;top:-100px;left:20px;background:#fff;padding:10px;z-index:100}.skip:focus{top:10px}
.site-header{position:fixed;top:28px;left:4%;right:4%;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 30px;background:#fff;border-radius:70px;box-shadow:0 5px 22px #1745781c}.brand{display:flex;flex-direction:column;line-height:1.1;color:var(--blue)}.brand>span{font-family:Arial,sans-serif;font-size:29px;letter-spacing:1px;font-weight:900}.brand-dot{color:var(--sky)}.brand small{font-family:Arial,sans-serif;font-size:9px;letter-spacing:2.2px;margin-top:8px;color:var(--ink)}.brand-logo{max-width:175px;max-height:62px;width:auto}#site-nav{display:flex;align-items:center;gap:27px;font-size:13px;font-weight:700}#site-nav>a:not(.nav-contact):hover{color:var(--blue)}.nav-contact{background:var(--gradient);color:#fff;padding:13px 25px;border-radius:50px;white-space:nowrap}.nav-contact span{margin-left:14px}.menu-toggle{display:none}
.hero{position:relative;min-height:480px;border:9px solid var(--sky);border-image:var(--gradient) 1;overflow:hidden;background:linear-gradient(120deg,#cbe9fa,#eff8fd 48%,#80c2ea);isolation:isolate}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-wash{position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,#155293aa,#2a87ba45)}.hero:not(:has(.hero-photo)):before{content:"";position:absolute;width:600px;height:600px;right:-30px;top:-180px;border:90px solid #ffffff30;border-radius:50%;z-index:-1}.hero:not(:has(.hero-photo)):after{content:"";position:absolute;width:650px;height:180px;right:-220px;bottom:10px;transform:rotate(-35deg);background:#ffffff20;z-index:-1}.hero-copy{position:relative;max-width:1200px;margin:auto;padding:160px 35px 42px}.hero-english{font-family:Arial,sans-serif;font-weight:800;font-size:100px;letter-spacing:5px;color:white;line-height:1.1;margin-bottom:19px}.hero h1{display:inline-block;background:white;color:var(--blue);font-size:33px;padding:6px 19px;letter-spacing:1px}.hero-tagline{color:white;margin-top:20px;font-weight:700;line-height:1.5;font-size:19px}.hero-tagline br{display:none}.breadcrumb{display:flex;gap:13px;max-width:1200px;margin:18px auto 0;padding:0 35px;font-size:12px;font-weight:700}.breadcrumb a{color:var(--blue)}
.section{padding:80px 7%;max-width:1400px;margin:auto}.eyebrow{font-family:Arial,sans-serif;font-size:12px;letter-spacing:2px;color:var(--blue);font-weight:700;margin-bottom:19px}h2{font-size:clamp(26px,3vw,38px);letter-spacing:.02em}h3{font-size:24px}.about{text-align:center;max-width:1000px;padding-top:75px;padding-bottom:65px}.about .body-copy{margin-top:28px;font-size:15px;line-height:2.2;color:var(--muted)}.section-title{text-align:center;margin:0 auto 60px;padding:0 20px}.section-title:after{content:"";display:block;background:var(--gradient);height:3px;width:250px;max-width:80%;margin:16px auto 0}
.points{padding-top:15px;padding-bottom:70px;max-width:1600px;margin:auto}.point-row{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:405px;margin-bottom:65px}.point-visual{position:relative;z-index:2;height:370px;clip-path:polygon(0 0,100% 0,84% 100%,0 100%);margin-right:-70px;align-self:start}.point-photo{width:100%;height:100%;object-fit:cover}.point-copy{background:var(--gradient);color:#fff;margin-top:38px;margin-left:-55px;padding:43px 9% 43px 135px;min-height:370px;display:flex;flex-direction:column;justify-content:center}.point-label{font-family:Arial,sans-serif;font-weight:700;font-size:29px;letter-spacing:.7px;line-height:1.3;margin-bottom:15px}.point-copy h3{font-size:27px;padding-bottom:22px;border-bottom:1px solid #ffffff50;margin-bottom:21px}.point-copy>p:last-child{font-size:15px;line-height:2.1}.point-row:nth-of-type(even) .point-visual{grid-column:2;grid-row:1;margin:0 0 0 -70px;clip-path:polygon(0 0,100% 0,100% 100%,16% 100%)}.point-row:nth-of-type(even) .point-copy{grid-column:1;grid-row:1;margin:38px -55px 0 0;padding:43px 135px 43px 9%}.photo-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#e9f6fd,#b6dbee);position:relative;color:var(--blue);overflow:hidden}.photo-placeholder:before{content:"";position:absolute;inset:20px;border:1px solid #ffffffa0;border-radius:50%;transform:translateX(-15%)}.placeholder-word{font-size:95px;font-weight:700;letter-spacing:.05em;line-height:1.3;position:relative}.photo-placeholder small{font-family:Arial,sans-serif;letter-spacing:3px;font-size:11px;position:relative;margin-top:18px}.point-row:nth-of-type(2) .photo-placeholder{background:linear-gradient(135deg,#edf6ff,#c6d6f1)}.point-row:nth-of-type(3) .photo-placeholder{background:linear-gradient(135deg,#ecf9f9,#bde6ed)}
.program{display:grid;grid-template-columns:1fr 1fr;gap:60px;background:#f0f7fc}.program p:not(.eyebrow){margin-top:23px;font-size:15px}.text-link{display:inline-block;margin-top:25px;border-bottom:1px solid var(--blue);font-size:14px;font-weight:700;padding-bottom:5px;color:var(--blue)}.program-card{background:#fff;padding:35px 40px;border-top:4px solid var(--blue);align-self:center;box-shadow:0 10px 30px #2860960a}.program-card dl{margin:0}.program-card dl>div{display:flex;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid var(--line)}dt{font-size:13px}dd{margin:0;font-size:23px;font-weight:700;color:var(--blue)}.small{font-size:12px!important;color:var(--muted)}.practice{display:grid;grid-template-columns:1fr 1fr;gap:40px;border-bottom:1px solid var(--line)}.practice-detail{border-left:3px solid var(--sky);padding-left:30px}.location{font-size:13px;color:var(--muted)}.practice h3{margin:8px 0 14px;font-size:27px}.practice-detail p:last-child{font-size:15px}.instructor{display:grid;grid-template-columns:.9fr 1.1fr;gap:75px;align-items:center}.portrait{min-height:350px;position:relative;overflow:hidden;background:#e5f2fc;display:flex;flex-direction:column;justify-content:center;align-items:center}.portrait-monogram{font-family:Arial,sans-serif;font-size:100px;color:#3d76b4;font-weight:700}.portrait-label{font-size:10px;letter-spacing:2px;color:var(--blue)}.instructor-photo{width:100%;height:350px;object-fit:cover}.credentials{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px;margin:23px 0}.credentials li{border:1px solid var(--line);padding:5px 12px;font-size:12px;color:var(--blue)}.instructor p:last-child{font-size:15px}.flow{background:var(--gradient);color:white}.flow .eyebrow{color:white}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:40px}.steps article{border-top:1px solid #ffffff60;padding-top:20px}.steps span{font-family:Arial,sans-serif;color:white;font-size:16px}.steps h3{margin:12px 0;font-size:22px}.steps p{font-size:14px}.faq{display:grid;grid-template-columns:.7fr 1.3fr;gap:50px}.faq-list details{border-bottom:1px solid var(--line);padding:20px 0}.faq-list summary{cursor:pointer;font-size:15px;font-weight:700;padding-right:15px}.faq-list p{font-size:14px;margin-top:15px;color:var(--muted)}.contact{text-align:center;background:#f0f7fc}.contact>p:not(.eyebrow){margin:25px 0;font-size:15px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;min-height:60px;padding:15px 32px;border-radius:50px;background:var(--gradient);color:white;font-size:15px;font-weight:700;transition:opacity .2s,transform .2s}.button:hover{opacity:.9;transform:translateY(-2px)}.button span{font-size:23px}.contact .button{margin:5px 0 12px}.email{display:block;font-family:Arial,sans-serif;font-size:16px;color:var(--blue)}.contact p.small{margin-bottom:0!important}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:50px 7%;background:var(--gradient);color:white}.footer-brand{font-size:32px;font-family:Arial,sans-serif;font-weight:900;letter-spacing:1px}.site-footer p{font-size:13px}.site-footer small{font-size:11px}.content-page{min-height:70vh;padding-top:160px}.content-page article{margin-bottom:50px}.content-page h1{font-size:32px;margin-bottom:30px}.content-page .wp-block-image{margin:30px 0}.content-page a{text-decoration:underline}.content-page ul,.content-page ol{padding-left:24px}
@media(max-width:1000px){.site-header{padding:17px 25px;left:3%;right:3%;top:20px}.menu-toggle{display:block;background:#fff;border:1px solid var(--line);color:var(--blue);border-radius:30px;padding:7px 16px;font-size:13px}#site-nav{display:none;position:absolute;left:0;right:0;top:calc(100% + 10px);padding:27px;background:#fff;flex-direction:column;align-items:stretch;gap:22px;border-radius:22px;box-shadow:0 10px 25px #17457820}#site-nav.is-open{display:flex}.nav-contact{text-align:center}.hero-copy{padding-top:160px}.section{padding:65px 6%}.about{padding-bottom:55px}.point-visual{margin-right:-40px}.point-copy{padding-left:95px;margin-left:-35px;padding-right:7%;min-height:370px}.point-copy h3{font-size:24px}.point-row:nth-of-type(even) .point-visual{margin-left:-40px}.point-row:nth-of-type(even) .point-copy{margin-right:-35px;padding-right:95px;padding-left:7%}.program{gap:30px}.program-card{padding:25px}.instructor{gap:35px}.site-footer{flex-wrap:wrap}.site-footer small{width:100%}}
@media(max-width:650px){html{scroll-padding-top:120px}.site-header{top:15px;left:5%;right:5%;padding:15px 20px;gap:12px}.brand>span{font-size:25px}.brand small{font-size:8px;letter-spacing:1.6px}.brand-logo{max-width:135px;max-height:48px}.menu-toggle{font-size:12px;padding:6px 12px}.hero{min-height:405px;border-width:6px}.hero-copy{padding:150px 22px 38px}.hero-english{font-size:65px;letter-spacing:3px;margin-bottom:20px}.hero h1{font-size:23px;padding:8px 12px}.hero-tagline{font-size:16px;margin-top:20px}.breadcrumb{padding:0 6%;font-size:10px;gap:10px}.section{padding:55px 6%}.about h2{font-size:27px}.about .body-copy{font-size:14px;text-align:left}.section-title{margin-bottom:35px;font-size:29px}.points{padding-top:10px;padding-bottom:30px}.point-row{display:flex;flex-direction:column;min-height:0;margin:0 6% 40px}.point-visual,.point-row:nth-of-type(even) .point-visual{height:235px;width:100%;margin:0;clip-path:none}.point-copy,.point-row:nth-of-type(even) .point-copy{min-height:0;width:100%;margin:0;padding:28px 25px 32px}.point-label{font-size:23px;margin-bottom:10px}.point-copy h3{font-size:23px;padding-bottom:15px;margin-bottom:16px}.point-copy>p:last-child{font-size:14px}.placeholder-word{font-size:72px}.photo-placeholder small{font-size:10px;margin-top:10px}.program,.practice,.instructor,.faq{grid-template-columns:1fr;gap:28px}.program-card{padding:25px}.program-card dl>div{padding:12px 0}.practice-detail{padding-left:20px}.portrait,.instructor-photo{height:280px;min-height:280px}.steps{grid-template-columns:1fr;gap:25px;margin-top:30px}.flow h2{font-size:27px}.faq-list details:first-child{padding-top:0}.contact h2{font-size:29px}.contact .button{gap:28px;font-size:14px;padding:15px 25px}.contact .small{max-width:310px;margin-left:auto!important;margin-right:auto!important}.site-footer{padding:40px 6%;align-items:start}.site-footer p{width:100%}.content-page{padding-top:140px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
