/*
Theme Name: mimola
Theme URI: https://mimola.jp
Author: mimola
Description: mimola（Webコンシェルジュ 兼 社外CTO）コーポレートサイト用テーマ。ページはスラッグではなく「ページ属性 > テンプレート」で選択して表示します。テンプレート一覧: トップページ / AIO・Web集客ソリューション / Web制作・AX・社外CTO / 導入事例 / 会社概要 / 代表者プロフィール / 補助金・料金・プラン / FAQ・お問い合わせ / プライバシーポリシー。
Version: 1.6
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: mimola
*/

:root{
  --bg:#FFFFFF;
  --bg-soft:#F7F6F3;
  --text:#3A3A38;
  --subtext:#6E6E6A;
  --ink:#595857;
  --gold:#F9CD00;
  --border:#E6E4DF;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:"Noto Sans JP",system-ui,-apple-system,"Helvetica Neue",sans-serif;color:var(--text);background:var(--bg);overflow-x:hidden;}
h1,h2,h3{margin:0;font-weight:700;letter-spacing:0.01em;}
p{margin:0;line-height:1.9;}
ul{margin:0;padding-left:18px;}
li{margin-bottom:8px;}
a{color:var(--ink);text-decoration:none;}
a:hover{color:#000;}
img{max-width:100%;display:block;}
button{font-family:inherit;cursor:pointer;}
table{border-collapse:collapse;width:100%;}
label{font-size:13px;font-weight:700;color:var(--text);display:block;margin-bottom:8px;}
input, textarea, select{width:100%;border:1px solid var(--border);border-radius:6px;padding:12px 14px;font-size:14px;font-family:inherit;color:var(--text);background:#fff;}

/* section anchors sit below the sticky header */
section[id], div[id]{scroll-margin-top:88px;}

.eyebrow{display:inline-flex; align-items:center; gap:9px; font-size:12px;font-weight:700;letter-spacing:0.14em;color:var(--ink);}
.eyebrow::before{content:"";width:16px;height:3px;background:var(--gold);display:inline-block;}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:40;background:#fff;border-bottom:1px solid var(--border);transition:box-shadow .2s ease;}
.site-header.is-scrolled{box-shadow:0 4px 14px rgba(0,0,0,0.06);}
.site-header__bar{max-width:1200px;margin:0 auto;padding:0 32px;height:72px;display:flex;align-items:center;justify-content:flex-start;gap:24px;}
.site-header__logo img{height:26px;width:auto;display:block;}
.site-header__nav{display:flex;align-items:center;gap:24px;margin-left:auto;}
.site-header__nav a{font-size:13.5px;font-weight:500;color:var(--text);white-space:nowrap;}
.site-header__cta{background:transparent;color:var(--text);font-weight:700;font-size:14px;padding:10px 21px;border-radius:6px;border:1.5px solid var(--gold);white-space:nowrap;}
.site-header__mobile-toggle{display:none;width:40px;height:40px;border:1px solid var(--border);border-radius:6px;background:transparent;align-items:center;justify-content:center;}
.site-header__mobile-panel{display:none;background:#fff;border-top:1px solid var(--border);padding:12px 32px 20px;flex-direction:column;gap:2px;}
.site-header__mobile-panel.is-open{display:flex;}
.site-header__mobile-panel a{font-size:15px;font-weight:600;color:var(--text);padding:12px 0;border-bottom:1px solid var(--border);}
.site-header__mobile-cta{margin-top:14px;text-align:center;background:var(--gold);color:var(--text);font-weight:700;font-size:15px;padding:13px;border-radius:6px;display:block;}

/* ---------- shared grids / cards ---------- */
.dc-service-grid{display:grid;grid-template-columns:repeat(4, minmax(0,1fr));gap:20px;}
.dc-cases-grid{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:24px;}
.dc-news-list{display:flex;flex-direction:column;}
.dc-news-list summary{list-style:none;}
.dc-news-list summary::-webkit-details-marker{display:none;}
.dc-hero-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:48px;align-items:center;}
.dc-2col{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.dc-3col{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:20px;}
.dc-4col{display:grid;grid-template-columns:repeat(4, minmax(0,1fr));gap:20px;}
.dc-stats-grid{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:24px;}
.dc-price-grid{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:24px;align-items:stretch;}
.dc-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.dc-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;}

.card{background:var(--bg-soft);border-radius:10px;padding:24px;display:flex;flex-direction:column;gap:12px;}
.card--white{background:#fff;}

.btn{display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;padding:14px 26px;border-radius:6px;white-space:nowrap;}
.btn--primary{background:var(--gold);color:#1A1917;box-shadow:0 4px 14px rgba(0,0,0,0.1);}
.btn--outline{background:transparent;color:var(--text);border:1.5px solid var(--ink);}
.btn--text{color:var(--ink);font-weight:700;font-size:14px;border-bottom:1.5px solid var(--gold);padding-bottom:2px;display:inline-flex;}

/* ---------- contact form (Contact Form 7) ---------- */
.wpcf7-form{background:#fff;border-radius:12px;padding:40px;display:flex;flex-direction:column;gap:20px;}
.wpcf7-submit{border:none;display:inline-flex;align-items:center;justify-content:center;background:var(--gold);color:#1A1917;font-weight:700;font-size:15px;padding:15px;border-radius:6px;margin-top:8px;}
.wpcf7-response-output{border-radius:6px;padding:20px 24px;font-size:14px;font-weight:700;margin:0 0 20px;border:none !important;}
.wpcf7-form.sent .wpcf7-response-output{background:#fff;border-left:4px solid var(--gold) !important;color:var(--text);}
.wpcf7-form.invalid .wpcf7-response-output,.wpcf7-form.unaccepted .wpcf7-response-output,.wpcf7-form.spam .wpcf7-response-output{background:#fff;border-left:4px solid #C0392B !important;color:var(--text);}
.wpcf7-not-valid-tip{color:#C0392B;font-size:12px;margin-top:4px;display:block;}

/* ---------- responsive ---------- */
@media (max-width: 1023px){
  .dc-service-grid{grid-template-columns:repeat(2, minmax(0,1fr)) !important;}
  .dc-cases-grid{grid-template-columns:1fr !important;}
  .dc-hero-grid{grid-template-columns:1fr !important;}
  .dc-2col{grid-template-columns:1fr !important;}
  .dc-3col{grid-template-columns:1fr !important;}
  .dc-4col{grid-template-columns:repeat(2, minmax(0,1fr)) !important;}
  .dc-stats-grid{grid-template-columns:1fr !important;}
  .dc-price-grid{grid-template-columns:1fr !important;}
  .dc-form-grid{grid-template-columns:1fr !important;}
  .dc-footer-grid{grid-template-columns:1fr !important;gap:32px !important;}
}
@media (max-width: 767px){
  .site-header__nav, .site-header__cta{display:none !important;}
  .site-header__mobile-toggle{display:flex !important;}
  .site-header__actions{margin-left:auto !important;}
  #hero h1{font-size:28px !important; line-height:1.4 !important;}
  #hero h1 span{white-space:normal !important;}
  #hero h2{font-size:14px !important;}
  #hero .dc-hero-grid > div:first-child{align-items:center !important; text-align:center !important; order:2;}
  #hero .dc-hero-grid > div:first-child > div:last-child{align-items:center !important;}
  #hero .dc-hero-grid > div:last-child{order:1;}
}
@media (max-width: 600px){
  .dc-service-grid{grid-template-columns:1fr !important;}
}
