/* ============================================================
   MIREAL v4 グローバルスキン（全ページ共通）
   旧テーマの共通クラスを v4 デザイン（ネイビー×ブルー×ワイン）に上書き
   読み込み順：assets/css/style.css の後
   ============================================================ */
:root{
  --v4navy:#0F2E4E; --v4navy2:#1B4066; --v4blue:#2B86C8; --v4sky:#7CC0F0;
  --v4pale:#E8F2FA; --v4pale2:#F4F9FD; --v4ink:#212529; --v4gray:#667085;
  --v4wine:#B03A5C; --v4line:#D6E4F0; --v4light:#DCEBF8; --v4light2:#AECBE4;
}

/* ---------- ナビ（全ページ：ネイビー固定） ---------- */
.nav{background:rgba(15,46,78,.9);backdrop-filter:blur(10px)}
.nav.is-stuck{background:rgba(15,46,78,.96);box-shadow:0 4px 24px rgba(6,16,30,.45)}
.nav__logo img{filter:brightness(0) invert(1)}
.nav__links a{color:#fff}
.nav__links a:hover{color:var(--v4sky)}
.nav__links a.nav__cta,.nav__cta{background:var(--v4wine);color:#fff;border-radius:999px}
.nav__links a.nav__cta:hover,.nav__cta:hover{background:#96314F}

/* ---------- 下層ページヒーロー ---------- */
.page-hero{position:relative;overflow:hidden;padding:172px 0 78px;
  background:radial-gradient(120% 100% at 50% 0%,#143A61 0%,var(--v4navy) 55%,#0A2138 100%)}
.page-hero::before{content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(124,192,240,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(124,192,240,.05) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(85% 90% at 50% 30%,#000 40%,transparent 100%);mask-image:radial-gradient(85% 90% at 50% 30%,#000 40%,transparent 100%)}
.page-hero::after{content:"";position:absolute;top:-15%;right:10%;width:min(26vw,320px);height:150%;
  background:linear-gradient(to bottom,rgba(124,192,240,.22),rgba(124,192,240,.04) 55%,transparent 75%);
  clip-path:polygon(46% 0,54% 0,100% 100%,0 100%);transform:rotate(14deg);transform-origin:50% 0;filter:blur(10px);pointer-events:none}
.page-hero .wrap{position:relative;z-index:2}
.page-hero__en{font-family:"Montserrat",sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.35em;color:var(--v4sky)}
.page-hero__title{color:#fff;font-weight:900;font-size:clamp(1.7rem,3.8vw,2.7rem);line-height:1.5;margin-top:12px}
.page-hero__title em{color:var(--v4sky);font-style:normal}
.page-hero__lead{color:var(--v4light);margin-top:14px;font-size:.95rem}

/* ---------- 見出し ---------- */
.shead__en{color:var(--v4wine);letter-spacing:.35em;font-weight:700}
.shead__en--light{color:var(--v4sky)}
.shead__jp{color:var(--v4navy);font-weight:900}
.shead__jp em{color:var(--v4blue);font-style:normal}
.section--navy .shead__jp,.section--navy .shead__jp em{color:#fff}

/* ---------- セクション背景 ---------- */
.section--soft{background:var(--v4pale2)}
.section--navy{background:radial-gradient(110% 100% at 50% 0%,#143A61 0%,var(--v4navy) 60%,#0A2138 100%)}
.section--navy::before{content:"";position:absolute;inset:0;
  background-image:linear-gradient(90deg,rgba(124,192,240,.05) 1px,transparent 1px);background-size:56px 56px;pointer-events:none}
.section--navy{position:relative}
.section--navy > .wrap{position:relative;z-index:1}

/* ---------- カード（.svc） ---------- */
.svc{background:#fff;border:1px solid var(--v4line);border-radius:14px;box-shadow:0 6px 18px rgba(15,46,78,.06);
  transition:transform .35s ease,box-shadow .35s ease}
.svc:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(15,46,78,.13)}
.svc__num{color:var(--v4wine);font-family:"Montserrat",monospace;font-weight:800;letter-spacing:.14em}
.svc h3{color:var(--v4navy);font-weight:900}
.svc__en{color:var(--v4blue);font-weight:700;letter-spacing:.18em;font-size:.72rem}
.svc__more{color:var(--v4wine);font-weight:700}
.svc p{color:var(--v4ink)}

/* ---------- 記事カード（.media-card）／リスト ---------- */
.media-card{background:#fff;border:1px solid var(--v4line);border-radius:14px;overflow:hidden;
  box-shadow:0 6px 18px rgba(15,46,78,.06);transition:transform .35s ease,box-shadow .35s ease}
.media-card:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(15,46,78,.13)}
.media-card__thumb,.media-card__thumb--2,.media-card__thumb--3{background-color:var(--v4pale)}
.media-card__cat,.media-card__cat time{color:var(--v4blue);font-weight:700}
.media-card h3{color:var(--v4navy)}
.news__list li{background:#fff;border:1px solid var(--v4line);border-radius:12px}
.news__list time{color:var(--v4wine);font-weight:700}
.news__cat{color:var(--v4blue)}

/* ---------- ボタン ---------- */
.btn--primary,a.btn--primary{background:var(--v4wine);border-color:var(--v4wine);color:#fff;border-radius:999px;
  transition:transform .25s,box-shadow .25s}
.btn--primary:hover,a.btn--primary:hover{background:#96314F;transform:translateY(-2px);box-shadow:0 12px 28px rgba(176,58,92,.4)}
.btn--ghost,a.btn--ghost{border-color:var(--v4blue);color:var(--v4blue);border-radius:999px}

/* ---------- ビジョン／CTAバンド（ネイビー面の文字） ---------- */
.vision__title{color:#fff;font-weight:900}
.vision__title em{color:var(--v4sky);font-style:normal}
.vision__lead{color:var(--v4light)}
.vision__lead strong{color:var(--v4sky)}
.vision__manifesto{color:#fff}
.vision__en{color:var(--v4sky);letter-spacing:.3em;font-family:"Montserrat",sans-serif;font-weight:700}
.vision__wine{display:none}
.cta-band{position:relative;overflow:hidden}
.cta-band::after{content:"";position:absolute;top:-15%;left:12%;width:min(24vw,300px);height:150%;
  background:linear-gradient(to bottom,rgba(124,192,240,.18),transparent 70%);
  clip-path:polygon(46% 0,54% 0,100% 100%,0 100%);transform:rotate(-13deg);transform-origin:50% 0;filter:blur(10px);pointer-events:none}
.cta__micro{color:var(--v4light2)}

/* ---------- フォーム（ネイビー面） ---------- */
.contact__lead{color:var(--v4light)}
.contact__form .field label{color:var(--v4light);font-weight:700}
.contact__form .field label i{color:var(--v4wine);font-style:normal}
.contact__form input,.contact__form select,.contact__form textarea,
.section--navy .wpcf7 input:not([type=submit]),.section--navy .wpcf7 select,.section--navy .wpcf7 textarea{
  background:rgba(255,255,255,.07);border:1px solid rgba(124,192,240,.35);color:#fff;border-radius:10px;padding:12px 14px;width:100%}
.contact__form input::placeholder,.contact__form textarea::placeholder{color:rgba(174,203,228,.6)}
.contact__form input:focus,.contact__form select:focus,.contact__form textarea:focus{outline:none;border-color:var(--v4sky)}
.contact__form select option{color:var(--v4ink)}
.contact__micro{color:var(--v4light2)}
.section--navy .wpcf7 input[type=submit]{background:var(--v4wine);color:#fff;border:none;border-radius:999px;padding:14px 34px;font-weight:700}

/* ---------- 本文・ページャー ---------- */
.entry-content h2,.entry-content h3{color:var(--v4navy)}
.entry-content a{color:var(--v4blue)}
.section--navy .entry-content,.section--navy p{color:var(--v4light)}
.pager .page-numbers{color:var(--v4navy);border:1px solid var(--v4line);border-radius:8px}
.pager .page-numbers.current{background:var(--v4navy);color:#fff;border-color:var(--v4navy)}

/* ---------- フッター（全ページ：ネイビー） ---------- */
.footer{background:#0A2138;color:var(--v4light2)}
.footer a{color:var(--v4light2)}
.footer a:hover{color:var(--v4sky)}
.footer__logo img{filter:brightness(0) invert(1)}
.footer__tag{color:var(--v4sky);letter-spacing:.2em}
.footer__copy{color:#6E8BA8}
