/*
Theme Name: 良縁なこうど会 — 格式
Theme URI: https://aomiai.com/
Author: たか
Description: 結婚相談所「良縁なこうど会」向けのランディングページ用テーマ（格式・信頼路線）。濃紺インディゴ×アンティークゴールド×生成りの和紙色を基調に、明朝の見出し、縦書きのヒーロー、認証状を思わせる二重罫と円の印章モチーフで品格を表現します。Contact Form 7 に対応。
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ryouenf
*/

/* =========================================================
   Tokens
   ========================================================= */
:root {
  /* Color */
  --navy:        #5f97a6;  /* 濃紺・ブランド／ダーク面 */
  --navy-2:      #6ea6b3;
  --navy-3:      #7cb1bd;
  --ink:         #35545c;  /* 墨 本文 */
  --ink-soft:    #6a8a92;
  --ink-faint:   #a6bfc5;

  --paper:       #f7fbfc;  /* 生成り ベース */
  --paper-2:     #eaf3f5;  /* やや濃い和紙 */
  --paper-3:     #dcebee;

  --gold:        #6fa9b8;  /* アンティークゴールド アクセント */
  --gold-soft:   #a8cfd9;
  --gold-deep:   #4f8b9b;

  --rule:        rgba(53,84,92,.16);
  --rule-soft:   rgba(53,84,92,.09);
  --rule-gold:   rgba(111,169,184,.5);
  --on-navy:     #f4fafb;
  --on-navy-soft:#d8e9ec;
  --line-green:  #2f9e46;

  /* Type */
  --serif: "Noto Serif JP", "Shippori Mincho B1", serif;
  --sans:  "Zen Kaku Gothic New", "Noto Sans JP", system-ui, sans-serif;
  --latin: "Cormorant Garamond", "Noto Serif JP", serif;

  /* Scale */
  --t--1: clamp(.78rem, .75rem + .12vw, .84rem);
  --t-0:  clamp(.94rem, .9rem + .18vw, 1.0rem);
  --t-1:  clamp(1.06rem, .98rem + .32vw, 1.22rem);
  --t-2:  clamp(1.3rem, 1.12rem + .7vw, 1.7rem);
  --t-3:  clamp(1.6rem, 1.3rem + 1.3vw, 2.4rem);
  --t-4:  clamp(2.1rem, 1.6rem + 2.3vw, 3.4rem);

  /* Layout */
  --gutter: clamp(1.25rem, 4vw, 3.25rem);
  --sec-y: clamp(4rem, 3.4rem + 4.5vw, 8rem);
  --wrap: 1140px;
  --wrap-narrow: 820px;

  --r: 3px;                /* 角丸は最小限 */
  --shadow: 0 30px 70px -44px rgba(20,32,58,.5);
}

/* =========================================================
   Base
   ========================================================= */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.001ms!important; transition-duration:.001ms!important; }
}
body {
  margin: 0;
  font-family: var(--sans);
  font-size: var(--t-0);
  line-height: 2;
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "palt";
  overflow-x: hidden;
}
img, svg, iframe { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
h1,h2,h3,h4 { font-family: var(--serif); font-weight: 600; line-height: 1.5; letter-spacing: .06em; margin: 0; }

.wrap { width: min(100% - var(--gutter)*2, var(--wrap)); margin-inline: auto; }
.wrap-narrow { width: min(100% - var(--gutter)*2, var(--wrap-narrow)); margin-inline: auto; }

:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.skip-link { position:absolute; left:-9999px; top:0; background:var(--navy); color:#fff; padding:.8em 1.4em; z-index:200; }
.skip-link:focus { left:1rem; top:1rem; }

/* =========================================================
   Signature: eyebrow (latin), section head, seal, ornament rule
   ========================================================= */
.eyebrow {
  font-family: var(--latin);
  font-style: italic;
  font-size: clamp(.9rem, .8rem + .4vw, 1.1rem);
  letter-spacing: .28em;
  color: var(--gold-deep);
  text-transform: uppercase;
}
.eyebrow--light { color: var(--gold-soft); }

.sec-head { text-align: center; margin-bottom: clamp(2.6rem, 2rem + 2.4vw, 4.4rem); }
.sec-head .eyebrow { display: block; margin-bottom: .9rem; }
.sec-head h2 { font-size: var(--t-3); color: var(--navy); }
.sec-head--light h2 { color: #fff; }
.sec-head p { margin: 1.1rem auto 0; max-width: 42ch; color: var(--ink-soft); }

/* Ornament rule: hairline with centered seal */
.ornament { display:flex; align-items:center; justify-content:center; gap:1rem; margin:1.2rem auto 0; width:min(320px,70%); }
.ornament::before, .ornament::after { content:""; height:1px; flex:1; background:linear-gradient(90deg,transparent,var(--rule-gold)); }
.ornament::after { background:linear-gradient(90deg,var(--rule-gold),transparent); }
.ornament .dot { width:6px; height:6px; transform:rotate(45deg); background:var(--gold); }

/* Circular seal emblem */
.seal { display:inline-grid; place-items:center; width:74px; height:74px; color:var(--gold); }

/* =========================================================
   Buttons
   ========================================================= */
.btn {
  display: inline-flex; align-items: center; gap: .8em;
  font-family: var(--sans); font-weight: 500; font-size: var(--t-0);
  letter-spacing: .12em;
  padding: 1.05em 2.4em;
  border: 1px solid var(--navy);
  border-radius: var(--r);
  cursor: pointer;
  transition: background .3s ease, color .3s ease, border-color .3s ease, transform .3s ease;
}
.btn__mark { width:.5em; height:.5em; transform:rotate(45deg); border:1px solid currentColor; transition:transform .3s ease; }
.btn:hover .btn__mark { transform:rotate(45deg) scale(1.4); }
.btn--solid { background: var(--navy); color: var(--on-navy); }
.btn--solid:hover { background: var(--navy-3); transform: translateY(-2px); }
.btn--gold { background: transparent; color: var(--gold-soft); border-color: var(--gold); }
.btn--gold:hover { background: rgba(111,169,184,.14); }
.btn--outline-light { background: transparent; color: #fff; border-color: rgba(239,233,220,.55); }
.btn--outline-light:hover { background: rgba(255,255,255,.08); }
.btn--line { background: var(--line-green); border-color: var(--line-green); color: #fff; }
.btn--line:hover { filter: brightness(1.06); transform: translateY(-2px); }
.btn--full { width: 100%; justify-content: center; }

/* =========================================================
   Header
   ========================================================= */
.site-header {
  position: sticky; top: 0; z-index: 100;
  background: rgba(247,244,236,.9);
  backdrop-filter: blur(10px) saturate(130%);
  border-bottom: 1px solid var(--rule-soft);
}
.site-header__inner { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-block:.9rem; }
.brand { display:flex; align-items:center; gap:.85rem; }
.brand__seal { width:38px; height:38px; color:var(--gold); flex:none; }
.brand__text { display:flex; flex-direction:column; line-height:1.25; }
.brand__name { font-family:var(--serif); font-weight:600; font-size:clamp(1.15rem,1rem + .8vw,1.5rem); color:var(--navy); letter-spacing:.12em; }
.brand__tag { font-family:var(--latin); font-style:italic; font-size:.72rem; letter-spacing:.22em; color:var(--gold-deep); text-transform:uppercase; }
.header-tel { text-align:right; }
.header-tel a { font-family:var(--serif); font-weight:600; font-size:clamp(1.05rem,.9rem + .7vw,1.4rem); color:var(--navy); letter-spacing:.06em; display:inline-flex; align-items:center; gap:.4em; }
.header-tel svg { width:.9em; height:.9em; color:var(--gold); }
.header-tel .recept { display:block; font-family:var(--sans); font-size:.62rem; letter-spacing:.16em; color:var(--ink-soft); }

/* =========================================================
   Hero — vertical (tategaki) headline, navy
   ========================================================= */
.hero { position:relative; min-height:min(92vh,820px); display:flex; align-items:center; color:var(--on-navy); isolation:isolate; overflow:hidden; }
.hero__bg { position:absolute; inset:0; z-index:-2; }
.hero__bg img { width:100%; height:100%; object-fit:cover; }
.hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg, rgba(61,111,125,.86) 0%, rgba(61,111,125,.5) 55%, rgba(61,111,125,.2) 100%); }
.hero__inner { width:min(100% - var(--gutter)*2, var(--wrap)); margin-inline:auto; padding-block:clamp(4rem,8vw,7rem); display:flex; align-items:center; gap:clamp(2rem,6vw,5rem); }
.hero__lead-col { flex:1; }
.hero__eyebrow { font-family:var(--latin); font-style:italic; letter-spacing:.3em; color:var(--gold-soft); font-size:clamp(.9rem,.8rem + .4vw,1.15rem); text-transform:uppercase; }
.hero__rule { width:64px; height:1px; background:var(--gold); margin:1.6rem 0; }
.hero__sub { font-family:var(--serif); font-weight:500; font-size:var(--t-2); line-height:1.9; letter-spacing:.08em; color:#fff; max-width:30ch; }
.hero__meta { margin-top:1.8rem; font-size:var(--t-0); color:var(--on-navy-soft); letter-spacing:.06em; }
.hero__cred { margin-top:2.2rem; display:inline-flex; align-items:center; gap:.7em; padding:.7em 1.3em; border:1px solid var(--rule-gold); border-radius:var(--r); font-size:var(--t--1); letter-spacing:.1em; color:var(--gold-soft); }
.hero__cred .dot { width:5px; height:5px; transform:rotate(45deg); background:var(--gold); }
.hero__actions { margin-top:2.4rem; display:flex; flex-wrap:wrap; gap:1rem; }

/* vertical headline */
.hero__vertical {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .1em;
  font-family: var(--serif);
  font-weight: 600;
  font-size: clamp(2.4rem, 1.8rem + 3vw, 3.7rem);
  line-height: 1;
  color: #fff;
  align-self: center;
  position: relative;
  padding-left: 1.8rem;
}
.hero__vertical span { display: block; }
.hero__vertical::before { content:""; position:absolute; top:0; right:-.2rem; width:1px; height:100%; background:linear-gradient(180deg,transparent,var(--gold),transparent); }
.hero__vertical .accent { color: var(--gold-soft); }

/* load animation */
.rise{ opacity:0; transform:translateY(20px); animation:rise .9s cubic-bezier(.2,.7,.3,1) forwards; }
.hero__vertical.rise{ transform:translateY(-6px) translateX(20px); }
.d1{animation-delay:.1s} .d2{animation-delay:.24s} .d3{animation-delay:.38s} .d4{animation-delay:.52s} .d5{animation-delay:.66s}
@keyframes rise{ to{ opacity:1; transform:none; } }

/* =========================================================
   Credentials strip (trust bar under hero)
   ========================================================= */
.trustbar { background:var(--navy); color:var(--on-navy); border-top:1px solid rgba(111,169,184,.3); }
.trustbar__grid { display:grid; grid-template-columns:repeat(4,1fr); }
.trustbar__item { padding:clamp(1.6rem,3vw,2.4rem) 1rem; text-align:center; border-left:1px solid rgba(239,233,220,.12); }
.trustbar__item:first-child{ border-left:none; }
.trustbar__num { font-family:var(--latin); font-weight:600; font-size:clamp(2rem,1.4rem + 2.6vw,3.2rem); color:var(--gold-soft); line-height:1; letter-spacing:.02em; }
.trustbar__num small{ font-family:var(--serif); font-size:.4em; margin-left:.15em; color:var(--on-navy); }
.trustbar__label { margin-top:.7rem; font-size:var(--t--1); letter-spacing:.14em; color:var(--on-navy-soft); }

/* =========================================================
   Statement / philosophy
   ========================================================= */
.statement { padding-block:var(--sec-y); text-align:center; }
.statement__body { max-width:34ch; margin:0 auto; }
.statement h2 { font-size:var(--t-3); color:var(--navy); line-height:1.9; }
.statement p { margin-top:1.8rem; color:var(--ink-soft); max-width:52ch; margin-inline:auto; text-align:center; }

/* =========================================================
   Reasons (three, credential style)
   ========================================================= */
.reasons { padding-block:var(--sec-y); background:var(--paper-2); }
.reason-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0; border:1px solid var(--rule); background:var(--paper); }
.reason { padding:clamp(2rem,3.5vw,3.2rem); border-left:1px solid var(--rule); }
.reason:first-child{ border-left:none; }
.reason__no { font-family:var(--latin); font-style:italic; font-size:1.5rem; color:var(--gold); letter-spacing:.1em; }
.reason__no::after{ content:""; display:block; width:34px; height:1px; background:var(--gold); margin-top:1rem; }
.reason h3 { font-size:var(--t-1); color:var(--navy); margin:1.4rem 0 1rem; }
.reason p { margin:0; color:var(--ink-soft); font-size:var(--t-0); }

/* =========================================================
   Representative (editorial)
   ========================================================= */
.rep { padding-block:var(--sec-y); }
.rep__grid { display:grid; grid-template-columns:340px 1fr; gap:clamp(2.5rem,6vw,5rem); align-items:start; }
.rep__figure { position:relative; }
.rep__frame { position:relative; padding:14px; border:1px solid var(--rule-gold); }
.rep__frame::before{ content:""; position:absolute; inset:6px; border:1px solid var(--rule-soft); pointer-events:none; }
.rep__frame img { width:100%; aspect-ratio:1/1.15; object-fit:cover; filter:grayscale(.15) contrast(1.02); }
.rep__name { margin-top:1.6rem; text-align:center; }
.rep__name .role { font-family:var(--latin); font-style:italic; letter-spacing:.2em; color:var(--gold-deep); font-size:.85rem; text-transform:uppercase; }
.rep__name .jp { display:block; font-family:var(--serif); font-weight:600; font-size:var(--t-2); color:var(--navy); letter-spacing:.14em; margin-top:.3rem; }
.rep__body h2 { font-size:var(--t-3); color:var(--navy); }
.rep__body .lead { font-family:var(--serif); font-size:var(--t-1); color:var(--navy); line-height:1.9; margin:1.4rem 0 2rem; letter-spacing:.05em; }
.rep__body p { color:var(--ink-soft); }
.rep__cert { margin-top:2rem; border-top:1px solid var(--rule); padding-top:1.6rem; display:flex; gap:1.4rem; align-items:flex-start; }
.rep__cert .seal { flex:none; }
.rep__cert dt { font-family:var(--latin); font-style:italic; letter-spacing:.2em; color:var(--gold-deep); font-size:.8rem; text-transform:uppercase; }
.rep__cert dd { margin:.3rem 0 0; color:var(--ink); font-weight:500; letter-spacing:.04em; }

/* =========================================================
   Team band
   ========================================================= */
.team { padding-block:var(--sec-y); background:var(--navy); color:var(--on-navy); text-align:center; }
.team__frame { max-width:640px; margin:2.4rem auto 0; padding:12px; border:1px solid var(--rule-gold); }
.team__frame img { width:100%; }

/* =========================================================
   LINE / contact quick (paper, refined)
   ========================================================= */
.reach { padding-block:var(--sec-y); }
.reach__grid { display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid var(--rule); }
.reach__col { padding:clamp(2.2rem,4vw,3.4rem); text-align:center; }
.reach__col--tel { border-right:1px solid var(--rule); background:var(--paper); }
.reach__col--line { background:var(--paper-2); }
.reach__col h3 { font-size:var(--t-1); color:var(--navy); letter-spacing:.1em; }
.reach__tel { font-family:var(--serif); font-weight:600; font-size:clamp(1.9rem,1.4rem + 2.4vw,3rem); color:var(--navy); margin:1rem 0 .4rem; letter-spacing:.04em; display:inline-block; }
.reach__note { color:var(--ink-soft); font-size:var(--t--1); margin:0 0 .4rem; }
.reach__qr { width:172px; height:172px; margin:1.2rem auto; padding:12px; background:#fff; border:1px solid var(--rule); }
.reach__qr img { width:100%; height:100%; object-fit:contain; }
.reach__col--line .btn { margin-top:.6rem; }

/* =========================================================
   Parents
   ========================================================= */
.parents { padding-block:var(--sec-y); background:var(--paper-2); text-align:center; }
.parents__q { max-width:40ch; margin:0 auto 1.8rem; }
.parents__q p { font-family:var(--serif); font-size:var(--t-1); color:var(--ink); margin:.6rem 0; }
.parents__punch { font-family:var(--serif); font-weight:600; font-size:var(--t-2); color:var(--navy); letter-spacing:.06em; }

/* =========================================================
   Pricing (formal cards)
   ========================================================= */
.pricing { padding-block:var(--sec-y); }
.plan-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.6rem; align-items:start; }
.plan { border:1px solid var(--rule); background:var(--paper); position:relative; }
.plan--featured { border-color:var(--gold); }
.plan__ribbon { position:absolute; top:0; right:0; background:var(--gold); color:#fff; font-size:.68rem; letter-spacing:.18em; padding:.5em 1.2em; font-family:var(--sans); }
.plan__head { padding:clamp(1.8rem,3vw,2.6rem); text-align:center; background:var(--navy); color:var(--on-navy); }
.plan--featured .plan__head { background:linear-gradient(160deg,var(--navy-3),var(--navy)); }
.plan__name { font-family:var(--serif); font-weight:600; font-size:var(--t-2); letter-spacing:.16em; color:#fff; }
.plan__name .en { display:block; font-family:var(--latin); font-style:italic; font-size:.62rem; letter-spacing:.28em; color:var(--gold-soft); text-transform:uppercase; margin-bottom:.5rem; }
.plan__for { margin:1rem 0 0; font-size:var(--t--1); color:var(--on-navy-soft); line-height:1.8; }
.plan__body { padding:clamp(1.6rem,3vw,2.6rem); }
.plan__cap { font-family:var(--latin); font-style:italic; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-deep); font-size:.78rem; margin-bottom:1rem; }
.plan__services { list-style:none; margin:0 0 2rem; padding:0; }
.plan__services li { display:flex; gap:.7em; padding:.55rem 0; border-bottom:1px solid var(--rule-soft); color:var(--ink); font-size:var(--t-0); }
.plan__services li::before { content:""; width:.5em; height:.5em; margin-top:.65em; transform:rotate(45deg); background:var(--gold); flex:none; }
.plan__fees { list-style:none; margin:0; padding:0; }
.plan__fees li { display:flex; justify-content:space-between; align-items:baseline; padding:.9rem 0; border-bottom:1px solid var(--rule); }
.plan__fees li:last-child{ border-bottom:none; }
.plan__fees .k { font-size:var(--t-0); color:var(--ink-soft); letter-spacing:.04em; }
.plan__fees .v { font-family:var(--serif); font-weight:600; font-size:var(--t-2); color:var(--navy); letter-spacing:.02em; }
.plan__fees .v small { font-size:.5em; font-weight:500; margin-left:.1em; color:var(--ink-soft); }
.plan__note { margin-top:1.6rem; padding-top:1.4rem; border-top:1px solid var(--rule-soft); font-size:var(--t--1); color:var(--ink-soft); line-height:1.9; }
.plan__note b { color:var(--navy); font-weight:600; }
.plan__note p { margin:.3rem 0; }

/* course difference */
.coursediff { margin-top:2.4rem; border:1px solid var(--rule); background:var(--paper-2); padding:clamp(2rem,4vw,3.2rem); }
.coursediff__title { text-align:center; font-family:var(--serif); font-size:var(--t-2); color:var(--navy); letter-spacing:.08em; margin-bottom:1.6rem; }
.coursediff__lead { text-align:center; font-family:var(--serif); color:var(--navy); font-size:var(--t-1); margin:0 0 1.6rem; }
.coursediff__lead b { color:var(--gold-deep); }
.coursediff__list { list-style:none; margin:0 auto; padding:0; max-width:760px; columns:2; column-gap:2.4rem; }
.coursediff__list li { break-inside:avoid; display:flex; gap:.6em; padding:.45rem 0; color:var(--ink); font-size:var(--t-0); }
.coursediff__list li::before { content:""; width:.45em; height:.45em; margin-top:.6em; transform:rotate(45deg); background:var(--gold); flex:none; }
.reco { display:grid; grid-template-columns:1fr 1fr; gap:0; margin-top:2rem; border:1px solid var(--rule); background:var(--paper); }
.reco__col { padding:clamp(1.4rem,3vw,2.2rem); }
.reco__col + .reco__col { border-left:1px solid var(--rule); }
.reco__col h4 { font-family:var(--serif); font-weight:600; color:var(--navy); letter-spacing:.08em; margin:0 0 1rem; padding-bottom:.7rem; border-bottom:1px solid var(--rule-gold); }
.reco__col ul { list-style:none; margin:0; padding:0; }
.reco__col li { padding:.35rem 0; color:var(--ink-soft); }
.reco__col li::before { content:"—"; color:var(--gold); margin-right:.5em; }

/* =========================================================
   Access
   ========================================================= */
.access { padding-block:var(--sec-y); background:var(--paper-2); }
.access__frame { padding:12px; border:1px solid var(--rule-gold); background:var(--paper); margin-bottom:2.2rem; }
.access__map { aspect-ratio:16/8; }
.access__map iframe { width:100%; height:100%; border:0; }
.access__info { text-align:center; }
.access__info h3 { font-family:var(--serif); font-size:var(--t-2); color:var(--navy); letter-spacing:.1em; }
.access__info p { margin:.5rem 0; color:var(--ink-soft); }

/* =========================================================
   Contact form (underline fields)
   ========================================================= */
.contact { padding-block:var(--sec-y); }
.contact__wrap { border:1px solid var(--rule); background:var(--paper); padding:clamp(1.8rem,4vw,3.6rem); }
.contact .form-row { margin-bottom:1.8rem; }
.contact label, .contact .label { display:block; font-family:var(--sans); font-weight:500; color:var(--navy); letter-spacing:.08em; margin-bottom:.5rem; font-size:var(--t--1); }
.contact input[type=text], .contact input[type=email], .contact input[type=tel], .contact textarea {
  width:100%; font-family:var(--sans); font-size:var(--t-0); color:var(--ink);
  padding:.7em .2em; background:transparent; border:none; border-bottom:1px solid var(--rule);
  transition:border-color .25s ease;
}
.contact input:focus, .contact textarea:focus { outline:none; border-bottom-color:var(--gold); }
.contact textarea { min-height:140px; resize:vertical; border:1px solid var(--rule); padding:.8em 1em; }
.contact .wpcf7-submit, .contact button[type=submit] {
  display:block; width:100%; margin-top:1rem;
  font-family:var(--sans); font-weight:500; letter-spacing:.14em; font-size:var(--t-0);
  color:var(--on-navy); background:var(--navy); border:1px solid var(--navy);
  border-radius:var(--r); padding:1.1em 2em; cursor:pointer; transition:background .3s ease;
}
.contact .wpcf7-submit:hover, .contact button[type=submit]:hover { background:var(--navy-3); }
.contact .form-note { text-align:center; color:var(--ink-faint); font-size:var(--t--1); margin-top:1.2rem; }

/* =========================================================
   Footer
   ========================================================= */
.site-footer { background:var(--navy); color:var(--on-navy); padding-block:clamp(3.2rem,5vw,5rem); text-align:center; }
.site-footer__seal { width:56px; height:56px; color:var(--gold); margin:0 auto 1.4rem; }
.site-footer__name { font-family:var(--serif); font-size:var(--t-2); color:#fff; letter-spacing:.16em; }
.site-footer p { margin:.5rem 0; color:var(--on-navy-soft); }
.site-footer a { color:var(--on-navy); text-decoration:underline; text-underline-offset:3px; }
.site-footer__rule { border:none; border-top:1px solid rgba(239,233,220,.14); max-width:560px; margin:2.2rem auto; }
.site-footer__copy { font-family:var(--latin); font-style:italic; letter-spacing:.14em; color:var(--ink-faint); font-size:.85rem; }

/* mobile action bar */
.actionbar { display:none; }

/* reveal */
[data-reveal]{ opacity:0; transform:translateY(22px); transition:opacity .9s cubic-bezier(.2,.7,.3,1), transform .9s cubic-bezier(.2,.7,.3,1); }
[data-reveal].is-visible{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){ [data-reveal]{ opacity:1; transform:none; } }

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width:920px){
  .trustbar__grid{ grid-template-columns:repeat(2,1fr); }
  .trustbar__item:nth-child(3){ border-left:none; }
  .trustbar__item:nth-child(n+3){ border-top:1px solid rgba(239,233,220,.12); }
  .reason-grid{ grid-template-columns:1fr; }
  .reason{ border-left:none; border-top:1px solid var(--rule); }
  .reason:first-child{ border-top:none; }
  .rep__grid{ grid-template-columns:1fr; }
  .rep__figure{ max-width:340px; margin-inline:auto; }
  .reach__grid{ grid-template-columns:1fr; }
  .reach__col--tel{ border-right:none; border-bottom:1px solid var(--rule); }
  .plan-grid{ grid-template-columns:1fr; }
  .coursediff__list{ columns:1; }
}
@media (max-width:640px){
  .hero__inner{ flex-direction:column-reverse; align-items:flex-start; gap:2.5rem; }
  .hero__vertical{ flex-direction:row; gap:.05em; padding-left:0; font-size:clamp(2rem,1.6rem+2vw,2.6rem); }
  .header-tel .num{ display:none; }
  .header-tel svg{ width:22px; height:22px; }
  .hero__actions .btn{ width:100%; justify-content:center; }
  .reco{ grid-template-columns:1fr; }
  .reco__col + .reco__col{ border-left:none; border-top:1px solid var(--rule); }

  .actionbar{ display:flex; position:fixed; left:0; right:0; bottom:0; z-index:90; background:var(--navy); border-top:1px solid var(--rule-gold); }
  .actionbar a{ flex:1; display:flex; align-items:center; justify-content:center; gap:.5em; padding:1em; color:var(--on-navy); font-size:.9rem; letter-spacing:.06em; }
  .actionbar a.line{ background:var(--line-green); color:#fff; }
  .actionbar a svg{ width:18px; height:18px; }
  .actionbar a + a{ border-left:1px solid var(--rule-gold); }
  body{ padding-bottom:4rem; }
}


/* =========================================================
   追加：ヒーロー写真オーバーレイ／仲人紹介／個人情報保護方針
   ========================================================= */
.hero{ background:#3d6f7d; }
.hero__bg{ position:absolute; inset:0; z-index:-2; }
.hero__bg img{ width:100%; height:100%; object-fit:cover; object-position:center 42%; }
.hero::after{ content:""; position:absolute; inset:0; z-index:-1;
  background:
    linear-gradient(90deg, rgba(61,111,125,.9) 0%, rgba(61,111,125,.72) 45%, rgba(61,111,125,.5) 100%),
    radial-gradient(closest-side at 76% 52%, transparent 56%, rgba(111,169,184,.18) 58%, transparent 61%),
    linear-gradient(180deg, rgba(61,111,125,.55), rgba(61,111,125,.2) 30%, rgba(61,111,125,.55)); }

.profile2{ text-align:center; margin-top:2.4rem; }
.profile2 .frame{ display:inline-block; padding:12px; border:1px solid var(--rule-gold); background:var(--paper); max-width:540px; }
.profile2 img{ width:100%; }

.staff{ padding-block:var(--sec-y); background:var(--paper-2); }
.staff__grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(1.6rem,3vw,2.6rem); align-items:start; }
.staff__card .rep__figure{ max-width:none; }
.staff__name{ text-align:center; font-family:var(--serif); font-weight:600; font-size:var(--t-2); color:var(--navy); letter-spacing:.1em; margin:1.2rem 0 .3rem; }
.staff__role{ text-align:center; color:var(--gold-deep); font-size:var(--t-0); letter-spacing:.04em; margin:0; line-height:1.7; }
@media (max-width:1000px){ .staff__grid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:720px){ .staff__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }

.pagehead{ background:linear-gradient(180deg,#3d6f7d,#5f97a6 60%,#3d6f7d); color:var(--on-navy); text-align:center; padding-block:clamp(3rem,6vw,5.5rem); }
.pagehead .eyebrow{ display:block; color:var(--gold-soft); margin-bottom:.9rem; }
.pagehead h1{ font-family:var(--serif); font-weight:600; font-size:var(--t-3); color:#fff; letter-spacing:.12em; }
.pagehead .meta{ margin-top:1.4rem; color:var(--on-navy-soft); font-size:var(--t--1); letter-spacing:.06em; line-height:2; }

.legal{ padding-block:var(--sec-y); }
.legal__inner{ width:min(100% - var(--gutter)*2, 880px); margin-inline:auto; }
.legal__lead{ color:var(--ink-soft); margin:0 0 2.4rem; }
.legal h2{ font-family:var(--serif); font-weight:600; font-size:var(--t-1); color:var(--navy); letter-spacing:.05em; margin:2.8rem 0 1.1rem; padding-bottom:.7rem; border-bottom:1px solid var(--rule-gold); }
.legal h2 .n{ font-family:var(--latin); font-style:italic; color:var(--gold-deep); margin-right:.55em; }
.legal h3{ font-family:var(--sans); font-weight:700; font-size:var(--t-0); color:var(--navy); letter-spacing:.03em; margin:1.7rem 0 .5rem; }
.legal p{ color:var(--ink); margin:.6rem 0; }
.legal .bracket{ font-weight:700; color:var(--navy); margin:1.1rem 0 .3rem; }
.legal .note{ color:var(--ink-soft); font-size:var(--t--1); }
.legal ul{ list-style:none; margin:.6rem 0 1.1rem; padding:0; }
.legal ul li{ position:relative; padding-left:1.4em; margin:.45rem 0; color:var(--ink); }
.legal ul li::before{ content:""; position:absolute; left:0; top:.72em; width:.45em; height:.45em; transform:rotate(45deg); background:var(--gold); }
.legal .box{ border:1px solid var(--rule-gold); background:var(--paper-2); padding:clamp(1.5rem,3vw,2.2rem); margin-top:1.2rem; text-align:center; }
.legal .box .ttl{ font-weight:700; color:var(--navy); margin-bottom:.6rem; }
.legal .box p{ margin:.25rem 0; }
.legal .box .tel{ font-family:var(--serif); font-weight:600; font-size:var(--t-2); color:var(--navy); letter-spacing:.04em; }
.legal__back{ text-align:center; margin-top:3rem; }

/* CUTE SKIN */

body{ --serif:'Zen Maru Gothic', 'Zen Kaku Gothic New', sans-serif; --r:20px; --accent-yellow:#ffe6a1; --accent-pink:#f7cdd8; }
body{ font-family:'Zen Kaku Gothic New', sans-serif; }
.eyebrow,.hero__eyebrow,.plan__cap,.plan__name .en,.rep__name .role{ font-family:'Caveat', cursive; font-style:normal; text-transform:none; letter-spacing:.02em; font-size:1.35em; }
.sec-head .eyebrow::after{ content:' \2661'; color:var(--accent-pink); }
.cute-mark{ background:linear-gradient(transparent 60%, var(--accent-yellow) 60%); padding:0 .12em; }
.btn,.wpcf7-submit,.contact button[type=submit],.wpcf7 input[type=submit]{ border-radius:999px; font-weight:700; }
.btn__mark{ display:none; }
.btn--gold{ background:var(--gold); color:#fff; border-color:var(--gold); }
.btn--gold:hover{ background:var(--gold-deep); border-color:var(--gold-deep); }
.plan,.contact__wrap,.access__frame,.coursediff,.reco,.legal .box{ border-radius:var(--r); box-shadow:0 18px 40px -20px rgba(95,151,166,.45); border-color:transparent; overflow:hidden; }
.reach__grid{ border:none; gap:1.4rem; }
.reach__col{ border:none !important; border-radius:var(--r); box-shadow:0 16px 34px -20px rgba(95,151,166,.4); }
.reason-grid{ border:none; background:transparent; gap:1.4rem; }
.reason{ background:#fff; border:none !important; border-radius:var(--r); box-shadow:0 16px 34px -20px rgba(95,151,166,.38); padding:2rem 1.9rem; }
.reason__no{ color:var(--gold); }
.reason__no::after{ background:var(--accent-pink); }
.rep__frame{ border-radius:26px; border-color:transparent; box-shadow:0 18px 38px -20px rgba(95,151,166,.45); }
.rep__frame::before{ display:none; }
.rep__frame img{ border-radius:18px; filter:none; }
.staff__card .rep__frame{ padding:0; border:none; box-shadow:0 14px 30px -18px rgba(95,151,166,.42); border-radius:22px; }
.staff__card .rep__frame img{ border-radius:22px; filter:none; }
.team__frame{ border:none; padding:0; }
.team__frame img{ border-radius:24px; box-shadow:0 18px 40px -20px rgba(0,0,0,.25); }
.access__frame{ padding:10px; border-color:transparent; }
.access__map iframe{ border-radius:14px; }
.ornament .dot{ background:var(--accent-pink); }
.plan__ribbon{ border-radius:0 0 0 14px; }
/* circular stat badges */
.trustbar{ background:var(--paper-2); border-top:none; color:var(--ink); }
.trustbar__grid{ padding-block:1rem; }
.trustbar__item{ border:none !important; border-top:none !important; padding:1.4rem .5rem; }
.trustbar__num{ width:128px; height:128px; margin:0 auto .8rem; border-radius:50%; background:linear-gradient(155deg,var(--navy-3),var(--navy)); color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.05em; box-shadow:0 16px 30px -12px rgba(95,151,166,.65); position:relative; line-height:1; font-family:'Zen Maru Gothic',sans-serif; font-weight:700; letter-spacing:.02em; }
.trustbar__num small{ color:#fff; }
.trustbar__num::before{ content:'\2661'; font-size:.3em; color:var(--accent-yellow); margin-bottom:.15em; line-height:1; }
.trustbar__label{ color:var(--ink-soft); }
@media (max-width:920px){ .trustbar__item:nth-child(n+3){ border-top:none !important; } }


/* CUTE DECO */

/* hero: light illustration background, dark text */
.hero{ background:#f4fafc; }
.hero::after{ background:linear-gradient(90deg, rgba(255,255,255,.92), rgba(255,255,255,.68) 50%, rgba(255,255,255,.55)); }
.hero__bg img{ object-fit:cover; object-position:center 42%; }
.hero__eyebrow{ color:var(--gold-deep); }
.hero__sub{ color:var(--navy); }
.hero__meta{ color:var(--ink-soft); }
.hero__rule{ background:var(--gold); }
.hero__cred{ color:var(--gold-deep); border-color:var(--rule-gold); background:rgba(255,255,255,.55); }
.hero__cred .dot{ background:var(--gold); }
.hero__vertical{ color:var(--navy); }
.hero__vertical .accent{ color:var(--gold-deep); }
.hero .btn--outline-light{ color:var(--navy); border-color:var(--navy); }
.hero .btn--outline-light:hover{ background:rgba(95,151,166,.12); }
/* original hand-drawn doodles */
.reasons,.pricing,.contact,.parents,.statement,.reach{ position:relative; }
.reasons::before{ content:""; position:absolute; left:14px; bottom:14px; width:88px; height:88px; background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA5MCA5MCI+PHBhdGggZD0iTTEyIDgwIEMzNCA2MCA1MiA0MCA3NCAxNCIgc3Ryb2tlPSIjOWNjMDdhIiBzdHJva2Utd2lkdGg9IjMiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjxnIGZpbGw9IiNiY2Q4OWEiPjxlbGxpcHNlIGN4PSIzMCIgY3k9IjU4IiByeD0iOSIgcnk9IjQiIHRyYW5zZm9ybT0icm90YXRlKC0zNSAzMCA1OCkiLz48ZWxsaXBzZSBjeD0iNDQiIGN5PSI0NCIgcng9IjkiIHJ5PSI0IiB0cmFuc2Zvcm09InJvdGF0ZSgtMzUgNDQgNDQpIi8+PGVsbGlwc2UgY3g9IjU4IiBjeT0iMzAiIHJ4PSI5IiByeT0iNCIgdHJhbnNmb3JtPSJyb3RhdGUoLTM1IDU4IDMwKSIvPjxlbGxpcHNlIGN4PSIyNCIgY3k9IjUwIiByeD0iOCIgcnk9IjQiIHRyYW5zZm9ybT0icm90YXRlKDMwIDI0IDUwKSIvPjxlbGxpcHNlIGN4PSIzOCIgY3k9IjM2IiByeD0iOCIgcnk9IjQiIHRyYW5zZm9ybT0icm90YXRlKDMwIDM4IDM2KSIvPjxlbGxpcHNlIGN4PSI1MiIgY3k9IjIyIiByeD0iOCIgcnk9IjQiIHRyYW5zZm9ybT0icm90YXRlKDMwIDUyIDIyKSIvPjwvZz48Y2lyY2xlIGN4PSI3NCIgY3k9IjE0IiByPSI1IiBmaWxsPSIjYTdjZmRkIi8+PGNpcmNsZSBjeD0iMTgiIGN5PSI3MiIgcj0iNCIgZmlsbD0iI2ZmZGY4YSIvPjwvc3ZnPg==") center/contain no-repeat; transform:scaleX(-1); opacity:.9; pointer-events:none; }
.reasons::after{ content:""; position:absolute; right:16px; top:24px; width:66px; height:66px; background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA5MCA5MCI+PHBhdGggZD0iTTEyIDgwIEMzNCA2MCA1MiA0MCA3NCAxNCIgc3Ryb2tlPSIjOWNjMDdhIiBzdHJva2Utd2lkdGg9IjMiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjxnIGZpbGw9IiNiY2Q4OWEiPjxlbGxpcHNlIGN4PSIzMCIgY3k9IjU4IiByeD0iOSIgcnk9IjQiIHRyYW5zZm9ybT0icm90YXRlKC0zNSAzMCA1OCkiLz48ZWxsaXBzZSBjeD0iNDQiIGN5PSI0NCIgcng9IjkiIHJ5PSI0IiB0cmFuc2Zvcm09InJvdGF0ZSgtMzUgNDQgNDQpIi8+PGVsbGlwc2UgY3g9IjU4IiBjeT0iMzAiIHJ4PSI5IiByeT0iNCIgdHJhbnNmb3JtPSJyb3RhdGUoLTM1IDU4IDMwKSIvPjxlbGxpcHNlIGN4PSIyNCIgY3k9IjUwIiByeD0iOCIgcnk9IjQiIHRyYW5zZm9ybT0icm90YXRlKDMwIDI0IDUwKSIvPjxlbGxpcHNlIGN4PSIzOCIgY3k9IjM2IiByeD0iOCIgcnk9IjQiIHRyYW5zZm9ybT0icm90YXRlKDMwIDM4IDM2KSIvPjxlbGxpcHNlIGN4PSI1MiIgY3k9IjIyIiByeD0iOCIgcnk9IjQiIHRyYW5zZm9ybT0icm90YXRlKDMwIDUyIDIyKSIvPjwvZz48Y2lyY2xlIGN4PSI3NCIgY3k9IjE0IiByPSI1IiBmaWxsPSIjYTdjZmRkIi8+PGNpcmNsZSBjeD0iMTgiIGN5PSI3MiIgcj0iNCIgZmlsbD0iI2ZmZGY4YSIvPjwvc3ZnPg==") center/contain no-repeat; opacity:.85; pointer-events:none; }
.pricing::before{ content:""; position:absolute; left:12px; bottom:40px; width:84px; height:84px; background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA5MCA5MCI+PHBhdGggZD0iTTEyIDgwIEMzNCA2MCA1MiA0MCA3NCAxNCIgc3Ryb2tlPSIjOWNjMDdhIiBzdHJva2Utd2lkdGg9IjMiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjxnIGZpbGw9IiNiY2Q4OWEiPjxlbGxpcHNlIGN4PSIzMCIgY3k9IjU4IiByeD0iOSIgcnk9IjQiIHRyYW5zZm9ybT0icm90YXRlKC0zNSAzMCA1OCkiLz48ZWxsaXBzZSBjeD0iNDQiIGN5PSI0NCIgcng9IjkiIHJ5PSI0IiB0cmFuc2Zvcm09InJvdGF0ZSgtMzUgNDQgNDQpIi8+PGVsbGlwc2UgY3g9IjU4IiBjeT0iMzAiIHJ4PSI5IiByeT0iNCIgdHJhbnNmb3JtPSJyb3RhdGUoLTM1IDU4IDMwKSIvPjxlbGxpcHNlIGN4PSIyNCIgY3k9IjUwIiByeD0iOCIgcnk9IjQiIHRyYW5zZm9ybT0icm90YXRlKDMwIDI0IDUwKSIvPjxlbGxpcHNlIGN4PSIzOCIgY3k9IjM2IiByeD0iOCIgcnk9IjQiIHRyYW5zZm9ybT0icm90YXRlKDMwIDM4IDM2KSIvPjxlbGxpcHNlIGN4PSI1MiIgY3k9IjIyIiByeD0iOCIgcnk9IjQiIHRyYW5zZm9ybT0icm90YXRlKDMwIDUyIDIyKSIvPjwvZz48Y2lyY2xlIGN4PSI3NCIgY3k9IjE0IiByPSI1IiBmaWxsPSIjYTdjZmRkIi8+PGNpcmNsZSBjeD0iMTgiIGN5PSI3MiIgcj0iNCIgZmlsbD0iI2ZmZGY4YSIvPjwvc3ZnPg==") center/contain no-repeat; opacity:.85; pointer-events:none; }
.pricing::after{ content:""; position:absolute; right:14px; bottom:40px; width:72px; height:72px; background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA5MCA5MCI+PHBhdGggZD0iTTEyIDgwIEMzNCA2MCA1MiA0MCA3NCAxNCIgc3Ryb2tlPSIjOWNjMDdhIiBzdHJva2Utd2lkdGg9IjMiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjxnIGZpbGw9IiNiY2Q4OWEiPjxlbGxpcHNlIGN4PSIzMCIgY3k9IjU4IiByeD0iOSIgcnk9IjQiIHRyYW5zZm9ybT0icm90YXRlKC0zNSAzMCA1OCkiLz48ZWxsaXBzZSBjeD0iNDQiIGN5PSI0NCIgcng9IjkiIHJ5PSI0IiB0cmFuc2Zvcm09InJvdGF0ZSgtMzUgNDQgNDQpIi8+PGVsbGlwc2UgY3g9IjU4IiBjeT0iMzAiIHJ4PSI5IiByeT0iNCIgdHJhbnNmb3JtPSJyb3RhdGUoLTM1IDU4IDMwKSIvPjxlbGxpcHNlIGN4PSIyNCIgY3k9IjUwIiByeD0iOCIgcnk9IjQiIHRyYW5zZm9ybT0icm90YXRlKDMwIDI0IDUwKSIvPjxlbGxpcHNlIGN4PSIzOCIgY3k9IjM2IiByeD0iOCIgcnk9IjQiIHRyYW5zZm9ybT0icm90YXRlKDMwIDM4IDM2KSIvPjxlbGxpcHNlIGN4PSI1MiIgY3k9IjIyIiByeD0iOCIgcnk9IjQiIHRyYW5zZm9ybT0icm90YXRlKDMwIDUyIDIyKSIvPjwvZz48Y2lyY2xlIGN4PSI3NCIgY3k9IjE0IiByPSI1IiBmaWxsPSIjYTdjZmRkIi8+PGNpcmNsZSBjeD0iMTgiIGN5PSI3MiIgcj0iNCIgZmlsbD0iI2ZmZGY4YSIvPjwvc3ZnPg==") center/contain no-repeat; transform:scaleX(-1); opacity:.8; pointer-events:none; }
.contact::after{ content:""; position:absolute; right:18px; top:24px; width:70px; height:70px; background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA5MCA5MCI+PHBhdGggZD0iTTEyIDgwIEMzNCA2MCA1MiA0MCA3NCAxNCIgc3Ryb2tlPSIjOWNjMDdhIiBzdHJva2Utd2lkdGg9IjMiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjxnIGZpbGw9IiNiY2Q4OWEiPjxlbGxpcHNlIGN4PSIzMCIgY3k9IjU4IiByeD0iOSIgcnk9IjQiIHRyYW5zZm9ybT0icm90YXRlKC0zNSAzMCA1OCkiLz48ZWxsaXBzZSBjeD0iNDQiIGN5PSI0NCIgcng9IjkiIHJ5PSI0IiB0cmFuc2Zvcm09InJvdGF0ZSgtMzUgNDQgNDQpIi8+PGVsbGlwc2UgY3g9IjU4IiBjeT0iMzAiIHJ4PSI5IiByeT0iNCIgdHJhbnNmb3JtPSJyb3RhdGUoLTM1IDU4IDMwKSIvPjxlbGxpcHNlIGN4PSIyNCIgY3k9IjUwIiByeD0iOCIgcnk9IjQiIHRyYW5zZm9ybT0icm90YXRlKDMwIDI0IDUwKSIvPjxlbGxpcHNlIGN4PSIzOCIgY3k9IjM2IiByeD0iOCIgcnk9IjQiIHRyYW5zZm9ybT0icm90YXRlKDMwIDM4IDM2KSIvPjxlbGxpcHNlIGN4PSI1MiIgY3k9IjIyIiByeD0iOCIgcnk9IjQiIHRyYW5zZm9ybT0icm90YXRlKDMwIDUyIDIyKSIvPjwvZz48Y2lyY2xlIGN4PSI3NCIgY3k9IjE0IiByPSI1IiBmaWxsPSIjYTdjZmRkIi8+PGNpcmNsZSBjeD0iMTgiIGN5PSI3MiIgcj0iNCIgZmlsbD0iI2ZmZGY4YSIvPjwvc3ZnPg==") center/contain no-repeat; opacity:.85; pointer-events:none; }
.statement .sec-head{ position:relative; }
.statement .sec-head::before{ content:""; position:absolute; left:50%; top:-30px; transform:translateX(-50%); width:120px; height:44px; background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNDAgNjAiPjxnIHN0cm9rZT0iIzdmYjJjNCIgc3Ryb2tlLXdpZHRoPSI0IiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjxwYXRoIGQ9Ik04IDMwIFEyMCAxMiAzMiAzMCIvPjxwYXRoIGQ9Ik0zMiAzMCBRNDQgMTIgNTYgMzAiLz48L2c+PGcgc3Ryb2tlPSIjYTdjZmRkIiBzdHJva2Utd2lkdGg9IjMuNSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3OCwxMCkgc2NhbGUoLjgpIj48cGF0aCBkPSJNOCAzMCBRMjAgMTIgMzIgMzAiLz48cGF0aCBkPSJNMzIgMzAgUTQ0IDEyIDU2IDMwIi8+PC9nPjwvc3ZnPg==") center/contain no-repeat; opacity:.85; }
.parents .sec-head{ position:relative; }
.parents .sec-head::before{ content:""; position:absolute; left:50%; top:-46px; transform:translateX(-50%); width:96px; height:60px; background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjAgODAiPjxnIGZpbGw9IiNiZmUwZWEiIHN0cm9rZT0iIzdmYjJjNCIgc3Ryb2tlLXdpZHRoPSIyLjUiPjxwYXRoIGQ9Ik02MCAzOCBDNDAgMTYgMTIgMTggMTYgMzggQzEyIDU4IDQwIDU4IDYwIDM4IFoiLz48cGF0aCBkPSJNNjAgMzggQzgwIDE2IDEwOCAxOCAxMDQgMzggQzEwOCA1OCA4MCA1OCA2MCAzOCBaIi8+PHBhdGggZD0iTTU1IDQwIEw0MiA3NCA1NSA2NCA2MCA3MyA2NSA2NCA3OCA3NCA2NSA0MCBaIiBmaWxsPSIjYTdkMmRmIi8+PC9nPjxjaXJjbGUgY3g9IjYwIiBjeT0iMzgiIHI9IjgiIGZpbGw9IiNmZmU2YTEiIHN0cm9rZT0iI2YyYzk2YiIgc3Ryb2tlLXdpZHRoPSIyLjUiLz48L3N2Zz4=") center/contain no-repeat; }
@media (max-width:640px){ .reasons::before,.reasons::after,.pricing::before,.pricing::after,.contact::after{ width:54px; height:54px; opacity:.7; } }


/* CUTE MOBILE */

.hero__meta{ color:#4a6a72; }
@media (max-width:640px){
  .hero::after{ background:rgba(255,255,255,.72); }
  .hero__sub{ color:var(--ink); }
  .hero__meta{ color:#3d5f67; }
  .hero__vertical{ color:var(--ink); }
  .hero__eyebrow{ color:var(--gold-deep); }
  .hero__cred{ background:rgba(255,255,255,.72); }
}

