/*
Theme Name: Masaki Blue
Version: 1.1.4
Description: 石川真輝公式サイトのブルー基調テーマ。
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: masaki-blue
*/

:root{--bg:#f4f8fd;--ink:#102b4e;--primary:#123d78;--accent:#8cd3ff;--muted:#506782;--line:#cbd8e8}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Yu Gothic",Meiryo,system-ui,sans-serif;font-size:16px;line-height:1.8}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #2983df;outline-offset:5px}button{cursor:pointer}header{background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.bar{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:20px 4vw;gap:25px}.brand{font-family:Arial,sans-serif;font-weight:900;line-height:1.05;letter-spacing:-1px;font-size:24px}.brand small{display:block;font-size:10px;letter-spacing:2.5px;margin-top:8px}.nav{display:flex;align-items:center;gap:25px;font-size:14px;font-weight:bold}.nav a[aria-current=page]{border-bottom:2px solid var(--primary)}.nav a:last-child{padding:10px 17px;background:var(--primary);color:white}.menu{display:none;background:none;border:1px solid var(--line);padding:8px 13px}.notice{font-size:12px;background:#e4effc;text-align:center;padding:5px 12px;color:#365574}main{min-height:65vh}.wrap{max-width:1280px;margin:auto;padding:70px 5vw}.eyebrow{font:700 13px Arial,sans-serif;letter-spacing:3px;display:block;margin-bottom:22px}.hero{background:var(--primary);color:white;position:relative;overflow:hidden}.hero-inner{max-width:1440px;margin:auto;padding:76px 5vw 65px}.hero h1{font:900 clamp(66px,10.3vw,155px)/.88 Arial,sans-serif;letter-spacing:-.065em;margin:30px 0;position:relative;z-index:1}.hero h1 span{color:var(--accent)}.hero-sub{font-size:clamp(21px,3vw,35px);font-weight:bold;margin:35px 0 20px}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:30px}.hero p{color:#dceaff;max-width:530px}.hero-index{font:900 130px/.8 Arial;color:#ffffff12;position:absolute;right:6vw;bottom:115px;pointer-events:none}.buttons{display:flex;flex-wrap:wrap;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--primary);color:white;padding:15px 22px;border:1px solid var(--primary);font-weight:bold;font-size:15px;min-height:52px}.btn.lime{background:var(--accent);color:var(--ink);border-color:var(--accent)}.btn.outline{background:transparent;color:inherit;border-color:currentColor}.strip{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}.strip a{padding:24px 5vw;border-right:1px solid var(--line);font-size:14px}.strip strong{display:block;font-size:20px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:32px}h2{font-size:clamp(29px,4vw,48px);line-height:1.3;margin:0 0 18px;letter-spacing:-.04em}h3{font-size:23px;line-height:1.5;margin:10px 0}p{margin:14px 0 24px}.muted{color:var(--muted)}.link{font-size:14px;text-decoration:underline;text-underline-offset:5px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{border-top:2px solid var(--primary);padding:25px 0}.card a{display:block}.card a:hover h3{text-decoration:underline}.tag{font-size:12px;display:inline-block;padding:3px 9px;background:#e1edfc;margin-right:10px}.meta{font:14px Arial;color:var(--muted)}.feature{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;border-top:1px solid var(--line)}.big-num{font:900 clamp(90px,13vw,170px)/1 Arial;letter-spacing:-10px;color:var(--primary)}.big-num small{display:block;font:700 14px Arial;letter-spacing:3px;margin-top:20px}.support{background:var(--accent)}.support .wrap{display:flex;align-items:center;justify-content:space-between;gap:35px}.page-heading{padding-bottom:35px;border-bottom:1px solid var(--line);margin-bottom:45px}.page-heading h1{font-size:clamp(36px,6vw,66px);line-height:1.3;margin:12px 0}.breadcrumb{font-size:13px;color:var(--muted);margin-bottom:30px}.prose{max-width:780px}.facts{display:grid;grid-template-columns:150px 1fr;margin:35px 0}.facts dt,.facts dd{margin:0;padding:15px 0;border-bottom:1px solid var(--line)}.facts dt{color:var(--muted)}.list{border-top:1px solid var(--line)}.row{display:grid;grid-template-columns:120px 1fr;gap:25px;padding:22px 0;border-bottom:1px solid var(--line)}.empty{border:1px solid var(--line);padding:40px;background:white}.empty h3{margin-top:0}.rank{padding:30px;background:white;border-bottom:4px solid var(--primary)}.rank strong{font:700 58px Arial;display:block;margin:20px 0}.fine{font-size:13px;color:var(--muted)}.form{max-width:720px}label{display:block;font-weight:bold;margin:22px 0 8px}input,textarea{display:block;width:100%;padding:13px;background:white;border:1px solid #8ba8cc;border-radius:0}textarea{min-height:170px;resize:vertical}.confirmation{padding:28px;background:white;border:1px solid var(--line)}.confirmation p{white-space:pre-wrap;overflow-wrap:anywhere}footer{background:#0b2347;color:white}.foot{max-width:1280px;margin:auto;padding:46px 5vw;display:flex;justify-content:space-between;gap:30px;align-items:end}.foot p{font-size:12px;color:#bdcfe8;margin:18px 0 0}.foot-links{display:flex;flex-wrap:wrap;gap:20px;font-size:13px}.route{animation:appear .25s ease}@keyframes appear{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.route{animation:none}}@media(max-width:1000px){.nav{gap:14px;font-size:12px}.bar{gap:12px}.brand{font-size:20px}.grid{gap:20px}}@media(max-width:780px){.bar{padding:17px 6vw}.menu{display:block}.nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--bg);padding:20px 6vw;border-bottom:1px solid var(--line);font-size:16px}.nav.open{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}.nav a{padding:12px 0}.nav a:last-child{padding:12px}.hero-inner{padding:50px 6vw}.hero h1{font-size:17vw}.hero-sub{margin-top:30px}.hero-bottom{display:block}.hero .buttons{margin-top:30px}.hero-index{display:none}.strip a{padding:18px 5vw}.strip strong{font-size:15px}.strip{font-size:12px}.wrap{padding:48px 6vw}.grid,.feature{grid-template-columns:1fr}.feature{gap:35px}.grid{gap:15px}.section-head{align-items:start}.section-head .link{white-space:nowrap}.support .wrap,.foot{display:block}.support .btn{margin-top:15px}.foot-links{margin-top:28px}.facts{grid-template-columns:115px 1fr}.row{grid-template-columns:85px 1fr;gap:15px}.empty{padding:25px}.notice{font-size:11px}.big-num{font-size:105px;letter-spacing:-5px}}@media(min-width:781px){.mobile-only{display:none}}

img{max-width:100%;height:auto}.screen-reader-text{position:absolute;left:-10000px}.screen-reader-text:focus{left:10px;top:10px;background:white;z-index:99;padding:12px}.admin-bar header{top:32px}.entry-content{overflow-wrap:anywhere}.wp-block-image{margin:24px 0}.pagination{margin:30px 0}.pagination .page-numbers{padding:8px 12px} @media(max-width:782px){.admin-bar header{top:46px}} @media(max-width:600px){.admin-bar header{top:0}}
/* Photo-led layout */
.photo-hero{display:grid;grid-template-columns:1fr 1fr;background:#123d78;color:white;max-width:1600px;margin:auto}.photo-hero-copy{padding:70px 5vw;display:flex;flex-direction:column;justify-content:center}.photo-hero h1{font:900 clamp(52px,6.5vw,100px)/.96 Arial,sans-serif;letter-spacing:-.06em;margin:12px 0 25px}.photo-hero h1 span{color:var(--accent)}.photo-hero .hero-sub{font-size:clamp(24px,2.8vw,36px);margin:12px 0}.photo-hero-copy>p{color:#e4efff}.photo-hero .buttons{margin-top:12px}.hero-photo{margin:0;position:relative;min-width:0;background:#0b2347;overflow:hidden}.hero-photo img{display:block;width:100%;height:100%;min-height:590px;object-fit:cover;object-position:53% center}.hero-photo figcaption{position:absolute;bottom:0;left:0;right:0;background:#0b2347d9;padding:14px 24px;color:white;font:700 12px Arial;letter-spacing:2px}.profile-photo{margin:0;max-width:480px}.profile-photo img{display:block;width:100%;height:auto;border-bottom:6px solid var(--accent)}.profile-photo figcaption{font-size:13px;color:var(--muted);margin-top:10px}.photo-hero .btn{gap:16px}@media(max-width:780px){.photo-hero{grid-template-columns:1fr}.photo-hero-copy{padding:40px 6vw 32px}.photo-hero h1{font-size:clamp(46px,12.5vw,92px)}.hero-photo img{min-height:0;height:auto;aspect-ratio:1.18;object-position:center 35%}.photo-hero .hero-sub{font-size:24px}.photo-hero .eyebrow{margin-bottom:14px}.profile-photo{max-width:100%}.photo-hero .buttons{gap:10px}}

.feature.portrait-removed{grid-template-columns:1fr}.portrait-removed>div{max-width:780px}

/* Contact Form 7: keep submit labels readable, including iOS Safari. */
.wpcf7 input[type="submit"],
.wpcf7 button[type="submit"] {
  -webkit-appearance: none;
  appearance: none;
  background: var(--primary);
  color: #fff;
  -webkit-text-fill-color: #fff;
  border: 1px solid var(--primary);
  border-radius: 0;
  font: inherit;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  min-height: 52px;
  padding: 15px 22px;
  cursor: pointer;
}
.wpcf7 input[type="submit"]:disabled,
.wpcf7 button[type="submit"]:disabled {
  opacity: .65;
  cursor: not-allowed;
}
