/*
Theme Name: Arkhe
Theme URI: https://arkhe-theme.com/
Version: 3.13.0
Tested up to: 7.0
Requires at least: 6.7
Requires PHP: 8.0
Description: A very simple theme for production templates. Customize as you like.
Tags: two-columns, one-column, right-sidebar, custom-colors, custom-menu, editor-style, theme-options, block-styles, wide-blocks
Author: LOOS,Inc.
Author URI: https://loos.co.jp/
Text Domain: arkhe
Domain Path: /languages
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
*/

/* ===== STAFF page custom sections (added 2026-07-09) ===== */
.staff-message{
  width:min(1120px,100%);
  margin:0 auto 82px;
  display:grid;
  grid-template-columns:360px 1fr;
  gap:52px;
  align-items:center;
}
.staff-message__image{
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 18px 40px rgba(0,0,0,.08);
}
.staff-message__image img{
  display:block;
  width:100%;
  aspect-ratio:1 / 1.08;
  object-fit:cover;
}
.staff-message__position{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 20px;
  padding:8px 18px;
  background:#1a3a6b;
  color:#fff;
  border-radius:999px;
  font-weight:900;
}
.staff-message h2{
  margin:0 0 24px;
  font-size:28px;
  font-weight:900;
  line-height:1.5;
}
.staff-message p{
  margin:0 0 18px;
  font-weight:600;
  line-height:2.05;
}
.staff-message__name{
  margin:26px 0 0;
  font-size:18px;
  font-weight:900;
  color:#1a3a6b;
}
.staff-works{
  width:min(1120px,100%);
  margin:0 auto 82px;
  text-align:center;
}
.staff-works__label{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 22px;
  padding:8px 18px;
  background:#1a3a6b;
  color:#fff;
  border-radius:999px;
  font-weight:900;
}
.staff-works h2{
  margin:0 0 40px;
  font-size:30px;
  font-weight:900;
  line-height:1.5;
}
.staff-works__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin:0 0 40px;
}
.staff-works__item{
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 14px 34px rgba(0,0,0,.06);
}
.staff-works__item img{
  display:block;
  width:100%;
  aspect-ratio:1.3 / 1;
  object-fit:cover;
}
.staff-works__note{
  width:min(820px,100%);
  margin:0 auto;
  text-align:left;
  font-weight:600;
  line-height:2.05;
}
@media (max-width:767px){
  .staff-message{grid-template-columns:1fr;gap:28px;}
  .staff-works__grid{grid-template-columns:1fr;gap:18px;}
  .staff-works h2{font-size:24px;}
  .staff-message h2{font-size:24px;}
}

/* staff recruit image: レイアウト内で確実に表示させる（::before/z-index起因の不可視を回避） */
.staff-page .staff-recruit__image{ padding:0; }
.staff-page .staff-recruit__image::before{ content:none !important; display:none !important; }
.staff-page .staff-recruit__image img{ position:static !important; z-index:auto !important; display:block; width:100%; height:auto; aspect-ratio:1.35 / 1; object-fit:cover; border-radius:16px; }

/* inspection flow: 車検の流れに代表画像を並べる 2カラム */
.inspection-flow__body{
  display:grid;
  grid-template-columns:1fr 300px;
  gap:44px;
  align-items:start;
}
.inspection-flow__rep{
  padding:22px;
  background:rgba(255,255,255,.06);
  border-radius:20px;
  text-align:center;
}
.inspection-flow__rep img{
  display:block;
  width:100%;
  aspect-ratio:1 / 1.05;
  object-fit:cover;
  object-position:center 30%;
  border-radius:14px;
}
.inspection-flow__rep-name{
  margin:18px 0 10px;
  font-weight:900;
  font-size:17px;
}
.inspection-flow__rep p{
  margin:0;
  text-align:left;
  font-weight:600;
  line-height:1.95;
  font-size:15px;
}
@media (max-width:767px){
  .inspection-flow__body{ grid-template-columns:1fr; gap:26px; }
}

/* MV catch copy (左上・3スライド共通オーバーレイ) */
.mv__slider::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(105deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.28) 34%, rgba(0,0,0,0) 62%);
  z-index:2;
  pointer-events:none;
}
.mv__copy{
  position:absolute;
  top:21%;
  left:max(24px, 6vw);
  z-index:3;
  color:#fff;
  text-shadow:0 2px 18px rgba(0,0,0,.5);
}
.mv__copy-en{
  margin:0 0 16px;
  font-family:"Oswald", sans-serif;
  font-size:clamp(15px, 1.5vw, 22px);
  font-weight:600;
  letter-spacing:.24em;
}
.mv__copy-main{
  margin:0 0 20px;
  font-size:clamp(30px, 4.4vw, 58px);
  font-weight:900;
  line-height:1.35;
}
.mv__copy-sub{
  margin:0;
  font-size:clamp(14px, 1.5vw, 20px);
  font-weight:700;
  letter-spacing:.04em;
}
@media (max-width:767px){
  .mv__copy{ top:15%; left:20px; right:20px; }
  .mv__copy-main{ line-height:1.4; }
}

/* WORKS 作業事例ページ */
.works-page{ width:min(1120px,100%); margin:0 auto; padding:60px 20px 90px; }
.works-lead{ width:min(820px,100%); margin:0 auto 62px; text-align:center; font-weight:600; line-height:2.05; }
.works-cat{ margin:0 0 72px; }
.works-cat__head{ text-align:center; margin:0 0 34px; }
.works-cat__head i{ font-size:26px; color:#1a3a6b; }
.works-cat__en{ margin:8px 0 4px; font-family:"Oswald",sans-serif; font-size:30px; font-weight:700; color:#1a3a6b; letter-spacing:.12em; }
.works-cat__head h2{ margin:0; font-size:24px; font-weight:900; }
.works-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.works-card{ background:#fff; border-radius:20px; overflow:hidden; box-shadow:0 14px 34px rgba(0,0,0,.07); }
.works-card__img{ aspect-ratio:4 / 3; overflow:hidden; }
.works-card__img img{ width:100%; height:100%; object-fit:cover; display:block; }
.works-card__body{ padding:20px 22px 24px; }
.works-card__body h3{ margin:0 0 10px; font-size:18px; font-weight:900; }
.works-card__body p{ margin:0; font-weight:600; line-height:1.8; font-size:14px; color:#333; }
.works-card__price{ display:inline-block; margin-top:14px; padding:6px 15px; background:#fff1c9; border-radius:999px; font-weight:900; font-size:13px; color:#1a3a6b; }
.works-note{ text-align:center; margin-top:10px; }
.works-note p{ font-size:13px; color:#666; line-height:1.95; margin:0 0 26px; }
.works-cta{ display:inline-flex; align-items:center; gap:10px; height:58px; padding:0 34px; background:#1a3a6b; color:#fff; border-radius:999px; font-weight:900; }
@media (max-width:767px){
  .works-grid{ grid-template-columns:1fr; gap:20px; }
  .works-cat__en{ font-size:26px; }
}

/* ===== PAYMENT お支払い方法（TOP / 会社案内）added 2026-07-14 ===== */
.payment-section{ padding:84px 20px; }
.payment-section__inner{ width:min(1120px,100%); margin:0 auto; }
.payment-section__head{ text-align:center; margin:0 0 40px; }
.payment-section__label{
  display:inline-flex; align-items:center; gap:10px; margin:0 0 20px;
  padding:8px 18px; background:#1b63d9; color:#fff !important;
  border-radius:999px; font-weight:900;
}
.payment-section__en{
  margin:0 0 6px; font-family:"Oswald",sans-serif; font-size:30px;
  font-weight:700; color:#1a3a6b; letter-spacing:.12em;
}
.payment-section__head h2{ margin:0 0 22px; font-size:34px; font-weight:900; color:#1a3a6b; line-height:1.5; }
.payment-section__lead{
  width:min(820px,100%); margin:0 auto; color:#222;
  font-weight:600; line-height:2.05;
}
.payment-section__visual{
  width:min(720px,100%); margin:0 auto; padding:32px;
  background:#fff; border-radius:26px; box-shadow:0 14px 34px rgba(0,0,0,.07);
}
.payment-section__visual img{ display:block; width:100%; height:auto; }
.payment-section__note{
  width:min(720px,100%); margin:20px auto 0; text-align:center;
  font-size:13px; color:#666; line-height:1.95;
}

/* ===== 背景を実写に差し替えたための可読性スクリム added 2026-07-14 =====
   旧bg01-03は暗いストック写真で白文字が読めていたが、撮影写真は明るいため暗幕が必要 */
.home .inspection-lead__visual,
.home .maintenance-lead__visual,
.home .works-section__visual{ position:relative; }

/* 同名ファイルで上書きしたため、ブラウザキャッシュ対策にURLへバージョンを付ける
   （Safariは同一URLの画像を強く保持し、差し替えても旧画像を表示し続ける） */
.home .inspection-lead__visual{ background-image:url("/wp-content/uploads/bg01.jpg?v=20260714"); }
.home .maintenance-lead__visual{ background-image:url("/wp-content/uploads/bg02.jpg?v=20260714"); }
.home .works-section__visual{ background-image:url("/wp-content/uploads/bg03.jpg?v=20260714"); }

.home .inspection-lead__visual::before,
.home .maintenance-lead__visual::before,
.home .works-section__visual::before{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
}
/* 車検：テキストが右側 */
.home .inspection-lead__visual::before{
  background:linear-gradient(90deg, rgba(8,16,30,.26) 0%, rgba(8,16,30,.60) 52%, rgba(8,16,30,.74) 100%);
}
/* 点検：テキストが左側 */
.home .maintenance-lead__visual::before{
  background:linear-gradient(90deg, rgba(8,16,30,.74) 0%, rgba(8,16,30,.58) 48%, rgba(8,16,30,.24) 100%);
}
/* 作業事例：全面 */
.home .works-section__visual::before{ background:rgba(8,16,30,.58); }
.home .works-section__title,
.home .works-section__list,
.home .works-section__more{ position:relative; z-index:2; }

/* ===== SP余白調整（TOP）added 2026-07-14 =====
   wp-custom-css より後勝ちさせるため .home 接頭辞で詳細度を上げる */
@media (max-width:767px){

  /* REASON：英字が巨大でh2に重なっていた。他セクションの__en(22px)に揃える */
  .home .reason-section{ padding:64px 22px 84px; }
  .home .reason-heading{ margin-bottom:56px; }
  .home .reason-heading__en{
    position:static; transform:none; margin:0 0 6px;
    font-size:22px; letter-spacing:.14em; line-height:1.2;
    color:rgba(80,76,75,.38);
  }
  .home .reason-heading h2{ font-size:23px; line-height:1.5; }
  .home .reason-list{ gap:62px 20px; }
  .home .reason-card{ padding:26px 20px 30px; }
  .home .reason-card__num{ left:-6px; top:-34px; font-size:40px; }
  .home .reason-card h3{ margin-top:22px; font-size:17px; line-height:1.75; }

  /* 車検・点検リード：テキストが画面端に寄って窮屈だった */
  .home .inspection-lead__visual,
  .home .maintenance-lead__visual{ padding:72px 0 78px; }
  .home .inspection-lead__content,
  .home .maintenance-lead__content{
    width:min(520px,calc(100% - 48px)); margin:0 auto; padding-top:0;
  }
  .home .inspection-lead__content h2,
  .home .maintenance-lead__content h2{ margin-bottom:26px; line-height:1.55; }
  .home .inspection-lead__content p,
  .home .maintenance-lead__content p{ margin-bottom:22px; line-height:2.05; }
  .home .inspection-lead__content p:last-of-type,
  .home .maintenance-lead__content p:last-of-type{ margin-bottom:0; }
  .home .inspection-lead__btn,
  .home .maintenance-lead__btn{ margin-top:32px; }

  /* SPは本文が中央寄せになるため、グラデーションではなく全面の暗幕にする */
  .home .inspection-lead__visual::before,
  .home .maintenance-lead__visual::before{ background:rgba(8,16,30,.66); }

  /* 作業事例：カード間とセクション余白 */
  .home .works-section__visual{ padding:56px 24px 76px; }
  .home .works-section__title{ margin-bottom:46px; }
  .home .works-section__list{ gap:32px; }
  .home .works-section__body{ padding:24px 22px 26px; }
  .home .works-section__more{ margin-top:52px; }
}

/* フッターのキャッチ（ロゴ上） */
.footer-catch{
  margin:0 0 14px; text-align:center;
  color:#1a3a6b; font-weight:900; font-size:16px; letter-spacing:.06em; line-height:1.6;
}
@media (max-width:767px){
  .footer-catch{ font-size:14px; margin-bottom:12px; }
}

/* 会社案内ページ内のお支払い方法 */
.company-payment__visual{
  margin:28px 0 0; padding:28px;
  background:#f6f3f3; border-radius:18px;
}
.company-payment__visual img{ display:block; width:min(640px,100%); margin:0 auto; height:auto; }
.company-payment__note{ margin:18px 0 0 !important; font-size:13px !important; color:#666 !important; line-height:1.95 !important; }

@media (max-width:767px){
  .payment-section{ padding:56px 16px; }
  .payment-section__en{ font-size:26px; }
  .payment-section__head h2{ font-size:26px; }
  .payment-section__visual{ padding:18px; border-radius:20px; }
  .company-payment__visual{ padding:16px; }
}

/* ===============================
   プライバシーポリシー（2026-07-17 追加）
   下層共通の .lower-hero / .lower-page / .lower-container を継承
   =============================== */
.priv-page .priv-body{
  display:flex;
  flex-direction:column;
  gap:28px;
}
.priv-page .priv-section{
  background:#fff;
  border:1px solid #e6e6ea;
  border-radius:14px;
  padding:32px 36px;
}
.priv-page .priv-section__title{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 16px;
  font-size:20px;
  font-weight:700;
  line-height:1.5;
  color:#1a3a6b;
}
.priv-page .priv-section__num{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border-radius:50%;
  background:#1a3a6b;
  color:#fff;
  font-size:14px;
  font-weight:700;
}
.priv-page .priv-section p{
  margin:0 0 12px;
  font-size:15px;
  line-height:2;
  color:#4d4948;
}
.priv-page .priv-section p:last-child{ margin-bottom:0; }
.priv-page .priv-list{
  margin:0;
  padding:0;
  list-style:none;
}
.priv-page .priv-list li{
  position:relative;
  padding-left:20px;
  margin-bottom:10px;
  font-size:15px;
  line-height:1.9;
  color:#4d4948;
}
.priv-page .priv-list li:last-child{ margin-bottom:0; }
.priv-page .priv-list li::before{
  content:"";
  position:absolute;
  left:2px;
  top:.75em;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#1a3a6b;
}
.priv-page .priv-list--link a{
  color:#1a3a6b;
  text-decoration:underline;
  word-break:break-all;
}
.priv-page .priv-list--link a:hover{ opacity:.7; }
.priv-page .priv-contact{
  margin-top:16px;
  padding:20px 24px;
  background:#f6f7f9;
  border-radius:10px;
}
.priv-page .priv-contact p{ margin:0 0 6px; }
.priv-page .priv-contact p:last-child{ margin-bottom:0; }
.priv-page .priv-contact__name{
  font-weight:700;
  color:#1a3a6b !important;
  font-size:16px !important;
}
.priv-page .priv-contact__tel a{
  color:#1a3a6b;
  font-weight:700;
  text-decoration:none;
}
.priv-page .priv-footer-info{
  margin-top:32px;
  text-align:right;
}
.priv-page .priv-footer-info p{
  margin:0;
  font-size:14px;
  line-height:1.9;
  color:#7a7574;
}

@media screen and (max-width:767px){
  .priv-page .priv-body{ gap:20px; }
  .priv-page .priv-section{ padding:22px 18px; border-radius:12px; }
  .priv-page .priv-section__title{
    font-size:17px;
    gap:10px;
    align-items:flex-start;
  }
  .priv-page .priv-section__num{ width:26px; height:26px; font-size:13px; }
  .priv-page .priv-section p,
  .priv-page .priv-list li{ font-size:14px; line-height:1.9; }
  .priv-page .priv-contact{ padding:16px 14px; }
  .priv-page .priv-footer-info{ margin-top:24px; text-align:left; }
}
