/*
Theme Name: Lightning Child
Theme URI: 
Template: lightning
Description: 
Author: 
Tags: 
Version: 0.6.0
*/
/* =========================
   Custom CSS by Mayumi（さがしの杜）
   ========================= */

/*
 Theme Name: Lightning Child
 Template: lightning
*/
/*建築士：続きを読むボタン*/
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@300;400&display=swap');


.more-btn {
  color: #9B9696 !important;           /* ← テキストの色 */
  border: 1px solid #aaa !important;
  border-radius: 5px !important;
  background: transparent !important;
  padding: 2px 10px !important;
  font-size: 13px !important;
  display: inline-block;
  text-decoration: none;
  transition: all 0.3s ease;
}
.more-btn:hover {
  background: #999 !important;
  color: #fff !important;              /* ← hover時は白文字 */
  border-color: #999 !important;
}
/* 建築家（architects）詳細ページだけ：タイトル・日付・前後記事をすべて非表示 */
body.single-architects .entry-header,
body.single-architects .entry-title,
body.single-architects .entry-meta,
body.single-architects .post-navigation,
body.single-architects nav.post-navigation,
body.single-architects .nav-previous,
body.single-architects .nav-next,
body.single-architects a[rel="prev"],
body.single-architects a[rel="next"],
body.single-architects .wp-block-vk-blocks-post-nextprev,
body.single-architects .wp-block-vk-blocks-posts-nextprev,
body.single-architects .vk_posts-prev-next,
body.single-architects .vk_posts-prevnext {
  display: none !important;
}
/* 建築家(single-architects) の前後記事カードの黒帯・オーバーレイ・題名・NEW を完全に非表示 */
.single-architects .vk_post_imgOuter::before {          /* 画像上の半透明カバー */
  content: none !important;
  display: none !important;
  background: none !important;
}
.single-architects .vk_post_body.card-body {            /* 黒帯そのもの */
  display: none !important;
}
.single-architects h5.vk_post_title.card-title,         /* 黒帯内のタイトル */
.single-architects .vk_post_title_new {                 /* NEW!! ラベル */
  display: none !important;
}

/* 念のため、前後記事ブロック全体も封じる（出力差に備え広めに） */
.single-architects .vk_posts-prev-next,
.single-architects .vk_posts-prevnext,
.single-architects nav.post-navigation,
.single-architects .post-navigation {
  display: none !important;
}
/* =========================
   Works（single-works）専用
   タイトル・日付/更新日・投稿者・前後記事カード（黒帯/タイトル/NEW/半透明）を非表示
   ========================= */

/* タイトル＋メタ */
.single-works .entry-header,
.single-works .entry-title,
.single-works .entry-meta,
.single-works .vk_post_date,
.single-works .vk_post_author,
.single-works .posted-on,
.single-works .byline {
  display: none !important;
}

/* 前後記事ナビ全体（出力差に広め対応） */
.single-works .post-navigation,
.single-works nav.post-navigation,
.single-works .nav-links,
.single-works .nav-previous,
.single-works .nav-next,
.single-works a[rel="prev"],
.single-works a[rel="next"],
.single-works .vk_posts-prev-next,
.single-works .vk_posts-prevnext {
  display: none !important;
}

/* 黒帯・半透明オーバーレイ・カード内タイトル・NEW!! */
.single-works .vk_post_body.card-body,          /* 黒帯 */
.single-works .card-img-overlay,                /* 画像上の帯コンテナ */
.single-works h5.vk_post_title.card-title,      /* 帯のタイトル */
.single-works .vk_post_title_new,               /* NEW!! */
.single-works .vk_post_imgOuter::before {       /* 半透明オーバーレイ */
  display: none !important;
  content: none !important;
  background: none !important;
}

/* 画像左上のカテゴリー風ラベルも消す（必要なら） */
.single-works .vk_post_imgOuter_singleTermLabel {
  display: none !important;
}
/* 固定ページのギャラリークエリーループだけに限定 */
.gallery-loop img {
  transition: transform 0.5s ease, box-shadow 0.5s ease;
}

.gallery-loop img:hover {
  transform: scale(1.05);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}
/* single 投稿ページ：更新アイコン・更新日・アバター・投稿者名を非表示 */
.single-post {
  /* no-op wrapper to scope selectors below */
}

/* FontAwesome の履歴アイコン（::before を使っているタイプ）を完全に隠す */
.single-post i.fas.fa-history,
.single-post i.fas.fa-history::before,
.single-post .fa-history,
.single-post .fa-history::before {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
}

/* もし更新日が span.updated で出ているなら中身ごと隠す（更新日そのものを消す） */
.single-post span.updated,
.single-post .updated {
  display: none !important;
  visibility: hidden !important;
}

/* 投稿者のアバター画像を非表示（avatar クラスはテーマでよく使われる） */
.single-post img.avatar,
.single-post img[class*="avatar"],
.single-post img.avatar-30,
.single-post img.avatar-30.photo {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
}

/* 投稿者名（fn クラス等）を非表示 */
.single-post span.fn,
.single-post .fn,
.single-post .byline .fn,
.single-post .author .fn {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
/* PC用画像：デフォルトで表示 / SPで非表示 */
.comp-pc {
  display: block;
}
.comp-sp {
  display: none;
}

/* スマホ（〜768px）：SP画像を表示、PC画像を非表示 */
@media (max-width: 768px) {
  .comp-pc {
    display: none;
  }
  .comp-sp {
    display: block;
  }
}
/* ====== 全体を少し右に寄せる ====== */
/* 会社概要エリアの背景帯 */
.page-id-345 .company-bg {
  background-color: rgb(246, 246, 246) !important;
  padding: 40px 0;
  width: 100%;
  display: block;
 
}
.company-table {
  max-width: 800px;
  margin: 0 auto;
  padding-left: 80px;
  font-size: 16px;
  line-height: 1.8;
  color: #222;
  anchor-point
}

/* ====== 行（薄い1本線のみ） ====== */
.company-table .row {
  display: flex;
  align-items: flex-start;
  padding: 30px 0 20px;
  position: relative;
}

.company-table .row::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: #ccc;   /* ← 薄いグレー1本線 */
}

/* ====== 左：項目名 ====== */
.company-table .label {
  width: 160px;
  font-weight: 600;
  padding-bottom: 6px;
  flex-shrink: 0;
  position: relative;
}

/* ★ ラベル下の短い黒線を完全に削除 */
.company-table .label::after {
  display: none !important;
}

/* ====== 右：内容 ====== */
.company-table .value {
  flex: 1;
  padding-left: 40px; /* ← 右にずらしたい場合はここを増やす */
}

/* ====== SP ====== */
/* ====== SP調整 ====== */
@media (max-width: 768px) {

  /* 左に寄りすぎないよう、左右に余白をつける */
  .company-table {
    max-width: 100%;
    padding: 0 20px;          /* ← 左右20pxのインナー余白 */
  }

  /* 行の上下余白を小さくする */
  .company-table .row {
    flex-direction: column;
    padding: 14px 0 10px;     /* ← PCよりだいぶコンパクトに */
  }

  /* 線はそのまま全幅。左右余白ぶんだけ内側に見える */
  .company-table .row::after {
    left: 0;
    width: 100%;
  }

  /* ラベルは1行扱いで上、下に少しだけ余白 */
  .company-table .label {
    width: 100%;
    padding-bottom: 2px;
  }

  /* 値はラベルのすぐ下、左に揃える */
  .company-table .value {
    padding-left: 0;
    margin-top: 4px;
  }
}
.page-id-345 .map-wrap {
  padding-left: 40px;
}

.page-id-345 .map-wrap iframe {
  width: 100%;
  height: 350px;
}
/* ▼ SP時：MAPカラムを中央へ */
@media (max-width: 768px) {
  .company-map-col {
    text-align: center !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .company-map-col iframe {
    margin: 0 auto !important;
    display: block;
    width: 100% !important;  
    max-width: 100%;
  }
}
/* PCだけ、ボタンを少し上に「見た目だけ」動かす */
@media (min-width: 769px) {
  .company-contact-btn {
    position: relative;
    top: -20px;  /* ← 上に20px持ち上げる。数字は好みで調整してOK */
  }
}
/* TOP FV下のキャッチコピー（.hero）を明朝体＋太字に */
.hero {
  font-family: "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3",
               "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho",
               "Times New Roman", serif;
  font-weight: 700;
 
}
/* 基本（＝SP用）のサイズを先に決める */
.hero {
  font-size: 12px !important;   /* ← これがSPのサイズ */
  line-height: 1.8;
}

/* PC だけサイズを大きくする */
@media (min-width: 782px) {
  .hero {
    font-size: 18px !important; /* ← これがPCのサイズ */
    line-height: 1.6;
  }
}




/* ============================
   TOP：説明文の2カラムセクション
   ============================ */

/* さがしの杜 TOP：説明テキスト */

.hero-message-text {
position: relative;
  left: 50%;                  /* 画面の中央より右側へ寄せる */
  transform: translateX(8%); /* さらに右へ調整（％で微調整） */

  text-align: left;           
  max-width: 650px;
  padding-right: 40px;
  margin-top: -450px;         /* 画像の上へ寄せる */
  margin-bottom: 80px;
      /* ← 右側に寄せすぎないための余白調整 */

  font-family: "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3",
               "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho",
               serif;
  font-weight: 700;
  line-height: 1.9;
  color: #FFFFFF;
  
}

/* 画像にもう少し近づけたい場合は、上の margin-top をマイナスにする */
/*
.hero-message-text {
  margin-top: -40px;   ← 例えばこうすると、画像に少し食い込むイメージ
}
*/

/* さがしの杜：ヒーロー画像とテキストをSPで非表示にする */
@media (max-width: 781px) {
  .animated.fadeIn.slower,
  .hero-message-text.animated.fadeIn.slow {
    display: none !important;
  }
}
/* ▼ デフォルト：PCではSP用セクションを完全に消す */
/* デフォルト（PCなど）は非表示 */
.hero-message-sp {
  display: none;
}

/* SP（781px以下）だけ表示 */
@media (max-width: 781px) {
  .hero-message-sp {
    display: block;
  }
}
/* ③ PCは絶対に非表示（他CSSに負けないため） */
@media (min-width: 782px) {
  .hero-message-sp {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }
}

/* ================================
   TOPページ PC版：ヘッダーを透過＆画像の上に重ねる
   ================================ */
/* ================================
   TOPページ PC版：FV上に重ねる＋白文字＋太め明朝
   （スクロール前だけ）
   ================================ */
@media (min-width: 1025px) {

  /* ヘッダーを透明にして FV にかぶせる（スクロール前だけ） */
  body.home:not(.scrolled) #site-header.site-header--layout--nav-float {
    background: transparent !important;
    box-shadow: none !important;
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
  }

  /* ナビ内の別レイヤーの背景も消す（スクロール前だけ） */
  body.home:not(.scrolled) #site-header .vk-mobile-nav-menu-btn,
  body.home:not(.scrolled) #site-header .site-header-inner,
  body.home:not(.scrolled) #site-header .site-header-layer {
    background: transparent !important;
    box-shadow: none !important;
  }

  /* ヘッダー内の文字を「白＋太め明朝」に */
  body.home:not(.scrolled) #site-header,
  body.home:not(.scrolled) #site-header a,
  body.home:not(.scrolled) #site-header .gMenu > li > a,
  body.home:not(.scrolled) #site-header .gMenu > li > span {
    color: #ffffff !important;
    font-family: "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W6",
                 "Hiragino Mincho ProN", "MS PMincho", serif !important;
    font-weight: 700 !important;
  }

  /* 下線などがあれば白に */
  body.home:not(.scrolled) #site-header .gMenu > li > a::before,
  body.home:not(.scrolled) #site-header .gMenu > li > a::after {
    border-color: #ffffff !important;
  }

  /* ホバー時は少しだけトーンダウン（好みで） */
  body.home:not(.scrolled) #site-header .gMenu > li > a:hover {
    color: rgba(255, 255, 255, 0.85) !important;
  }
}
/* =========================================
   スクロール後（追従ヘッダー時）：白背景＋黒文字
========================================= */

/* スクロール後は背景と文字色だけ戻す（positionは触らない）*/
@media (min-width: 1025px) {
  body.home.scrolled #site-header,
  body.home.scrolled #site-header .site-header-inner,
  body.home.scrolled #site-header .site-header-layer {
    background: #ffffff !important;
    color: #333 !important;
  }
}
@media (min-width: 1025px) {
  /* スクロール後はロゴのアニメを止める */
  body.home.scrolled #site-header img {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}
@media (min-width: 1025px) {
  /* 追従ヘッダー時、ロゴを必ず表示させる */
  body.home.scrolled .site-header-logo,
  body.home.scrolled .site-header-logo img {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
  }
}
/* カテゴリー new 最新投稿スライダー：ベース */
.new-posts-slider {
  max-width: 1200px;
  margin: 0 auto;
  padding: 24px 0 40px;
}

.new-posts-slider__item {
  display: block;
  text-align: left;
  color: #000;
  text-decoration: none;
}

.new-posts-slider__date {
  margin-top: 8px;
  font-size: 0.85rem;
  color: #666;
}

.new-posts-slider__title {
  margin-top: 4px;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
}

/* ナビゲーションボタンの位置など */
.new-posts-slider__nav {
  width: 32px;
  height: 32px;
}

.new-posts-slider__pagination {
  margin-top: 12px;
}

/* ★画像の表示枠を固定（高さをそろえる） */
.new-posts-slider__thumb {
  width: 100%;
  aspect-ratio: 4 / 3;   /* 横：縦 = 4:3。変えたければここ */
  overflow: hidden;
  border-radius: 8px;
}

/* ★画像は枠いっぱいに表示してトリミング */
.new-posts-slider__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;     /* 中央をいい感じにトリミング */
  display: block;
}

/* ★スライド1枚の幅をしっかり固定（PC） */
.new-posts-slider .swiper-wrapper .swiper-slide {
  width: 200px !important;      /* カード幅：小さくしたければ 180px, 160px など */
  flex: 0 0 200px !important;
}

/* ★SPでは少し細くする */
@media (max-width: 768px) {
  .new-posts-slider .swiper-wrapper .swiper-slide {
    width: 160px !important;
    flex: 0 0 160px !important;
  }
}
.new-posts-slider .swiper-wrapper {
  transition-timing-function: linear !important;
}
/*---------------------------------
  見出し：Project Progress（明朝・セリフ）
----------------------------------*/
.section-title--progress.serif {
  text-align: center;
  margin-bottom: 40px;
}

.section-title--progress.serif .en {
  display: block;
  font-size: 40px;
  font-weight: 400;
  letter-spacing: 0.04em;
  color: #111111; /* ネイビー */
  font-family: "Times New Roman", "Yu Mincho", "Hiragino Mincho ProN", serif;
  line-height: 1.3;
}

.section-title--progress.serif .jp {
  display: block;
  font-size: 18px;
  margin-top: 10px;
  letter-spacing: 0.25em;
  color: #111111;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  line-height: 1.3;
}

/* SP対応 */
@media (max-width: 768px) {
  .section-title--progress.serif .en {
    font-size: 30px;
  }
  .section-title--progress.serif .jp {
    font-size: 15px;
    letter-spacing: 0.2em;
  }
}
/* page-id-201 のギャラリー グリッドを細めにする */
.page-id-201 .wp-block-post-template.is-layout-grid.columns-3 {
  grid-template-columns: repeat(3, minmax(0, 260px)); /* 1枚の幅：260px */
  justify-content: center;                            /* 中央寄せ */
}

/* ▼ group（テキスト）を明朝・太字・サイズ調整 */
.group {
  font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif !important;
  font-weight: 800 !important;
  font-size: 22px !important; 
  line-height: 1.6 !important;
}
/* ▼ SP専用（スマホ） */
@media screen and (max-width: 768px) {

  /* --- group：上に余白＋文字小さく（中身ごと） --- */
  .group,
  .group p,
  .group a,
  .group span,
  .group h2,
  .group h3 {
    font-size: 16px !important;
    line-height: 1.6 !important;
  }

  .group {
    margin-top: 12px !important;   /* 余白は親だけでOK */
  }

  /* --- group2：文字だけ小さく（中身ごと） --- */
  .group2,
  .group2 p,
  .group2 a,
  .group2 span,
  .group2 h2,
  .group2 h3 {
    font-size: 12px !important;
    line-height: 1.6 !important;
  }

}
.lab.Guide {
  text-align: center !important;
}

.lab.Guide .en {
  font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif !important;
  font-weight: 600;
  font-size: 22px !important;   /* ← PCサイズ。調整OK */
  line-height: 1.6;
}

/* ▼ SPだけ少し小さく */
@media screen and (max-width: 768px) {
  .lab.Guide .en {
    font-size: 18px !important;  /* ← 調整OK */
  }
}
/* ===========================
   lab Guide サポートカード（調整版）
   =========================== */

/* ▼ グリッド（2×2） */
body .labSupport__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 24px;
  row-gap: 20px;
}

/* ▼ カード枠（少し小さめ） */
body .labSupportCard {
  background-color: #E6FDFF !important;
  border-radius: 20px !important;
  padding: 16px 20px !important;  /* ←枠を少し小さく */
  display: flex;
  align-items: flex-start;
  gap: 16px;
  box-sizing: border-box;
}

/* ▼ アイコン（サイズ完全固定・全カード同じ） */
body .labSupportCard__icon img {
  display: block;
  width: 56px !important;   /* ←PCのアイコンサイズ。大きめで統一 */
  height: 56px !important;
  object-fit: contain !important;
}

/* ▼ タイトル（明朝のまま） */
body .labSupportCard__title {
  margin: 0 0 4px;

  font-size: 20px;
  line-height: 1.6;
}

/* ▼ 説明文 */
body .labSupportCard__text {
  margin: 0;
  font-size: 14px;
  line-height: 1.8;
}

/* ▼ SP（スマホ） */
@media screen and (max-width: 768px) {

  body .labSupport__grid {
    grid-template-columns: 1fr;
    row-gap: 16px;
  }

  body .labSupportCard {
    padding: 14px 16px !important;
    gap: 12px;
  }

  body .labSupportCard__icon img {
    width: 44px !important;
    height: 44px !important;
  }

  body .labSupportCard__title {
    font-size: 18px;
  }

  body .labSupportCard__text {
    font-size: 13px;
  }
}
/* SVGや内部サイズを持つ画像をリセットして揃える */
body .labSupportCard__icon img {
  width: 68px !important;
  height: 68px !important;
  max-width: 68px !important;
  max-height: 68px !important;
  min-width: 68px !important;
  min-height: 68px !important;
  object-fit: contain !important;
}
/* ===========================
   lab Guide / STEP セクション
   =========================== */

/* ===========================
   lab Guide / STEP セクション
   =========================== */

.labStep {
  margin: 64px auto;
  max-width: 960px;              /* セクション全体を少し細くして中央寄せ */
}

.labStep__inner {
  display: flex;
  align-items: center;
  gap: 32px;                     /* テキストと画像の間隔 */
}

/* 左テキスト側（少し広め） */
.labStep__text {
  flex: 0 0 65%;
}

/* 右画像側（小さめ） */
.labStep__image {
  flex: 0 0 35%;
}

.labStep__image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* ▼ STEPラベル（右端が斜めのリボン風） */
.labStep__label {
  position: relative;
  display: inline-block;
  padding: 8px 32px;
  background-color: #DBFCFF;
  font-family: "Yu Mincho", "Hiragino Mincho ProN",
               "Noto Serif JP", serif;
  font-size: 18px;               /* ← テキストだけ大きく */
  letter-spacing: 0.25em;        /* STEPの字間 */
  line-height: 1;
  margin-bottom: 16px;
}

/* 右の斜めカット部分 */
.labStep__label::after {
  content: "";
  position: absolute;
  top: 0;
  right: -26px;
  width: 26px;
  height: 100%;
  background-color: #DBFCFF;
  transform: skewX(-20deg);
  transform-origin: left top;
}

/* ▼ タイトル（明朝体） */
.labStep__title {
  margin: 0 0 16px;
  font-family: "Yu Mincho", "Hiragino Mincho ProN",
               "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 28px;
  line-height: 1.6;
}

/* ▼ 説明文（本文フォント） */
.labStep__desc {
  margin: 0;
  font-size: 14px;
  line-height: 2;
}

/* ▼ SP（スマホ）のとき：縦並び＆余白調整 */
@media screen and (max-width: 768px) {
  .labStep {
    margin: 40px auto;
    padding: 0 16px;
    max-width: 100%;             /* スマホは横幅いっぱいでOK */
  }

  .labStep__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }

  .labStep__text,
  .labStep__image {
    flex: 0 0 auto;              /* 幅指定リセットして縦積み */
  }

  .labStep__label {
    margin-bottom: 12px;
  }

  .labStep__title {
    font-size: 22px;
  }

  .labStep__desc {
    font-size: 13px;
    line-height: 1.9;
  }
}
/* ▼ ボックス全体（小さめに調整） */
.labBox {
  max-width: 900px;        /* ← 全体の横幅を小さく */
  margin: 10px auto;       /* ← 上下余白を少なく */
  padding: 20px 40px;      /* ← 内側余白も縮める */
  border: 1px solid #0b0d3a;
  box-sizing: border-box;
  background: #fff;
}

/* ▼ タイトル（明朝体 & ■付き） */
.labBox__title {
  font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-size: 22px;         /* ← 少し小さく */
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  color: #0b0d3a;
}

.labBox__title::before {
  content: "■";
  color: #0b0d3a;
  margin-right: 8px;
  font-size: 0.9em;
}

/* ▼ 説明文（強制上書き） */
.labBox .labBox__text {
  font-size: 13px !important;
  line-height: 1.9 !important;
  color: #0B0D3A !important;
  font-family: "Noto Sans JP", sans-serif !important;
}
/* 共通の丸形（直径48pxくらい） */
.labFeatureItem__badge {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-size: 26px;
  line-height: 1;
}

/* ============================
   Merit セクションタイトル
   ============================ */
.section-title--merit.serif {
  text-align: center;
  margin-bottom: 40px;
}

/* 英語 */
/* 英語 */
.section-title--merit.serif .en {
  display: block;
  font-size: 32px !important;
  font-weight: 100 !important;
  letter-spacing: 0.03em !important;
  color: #333333 !important;
  font-family: "Times New Roman", "Yu Mincho", "Hiragino Mincho ProN", serif !important;
  line-height: 1.3 !important;
  margin-bottom: 2px !important;
}

/* 日本語 */
.section-title--merit.serif .jp {
  display: block;
  font-size: 16px;
  margin-top: 4px;               /* ← かなり近い距離 */
  letter-spacing: 0.18em;
  color: #333333;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  line-height: 1.3;
}

/* SP対応 */
@media (max-width: 768px) {
  .section-title--merit.serif .en {
    font-size: 28px;
  }
  .section-title--merit.serif .jp {
    font-size: 14px;
    letter-spacing: 0.16em;
  }
}
/* Google Fonts を使えるなら（任意）
@import url('https://fonts.googleapis.com/css2?family=Great+Vibes&display=swap');
*/

.labMerit {
  /* ここは今のレイアウトに合わせて調整でOK */
}

/* 各メリットの行 */
.labMerit__item {
  display: flex;
  gap: 12px;         /* ← 24px から 12px に。近づけたい分だけ小さく */
  margin-bottom: 32px;
}

/* 大きい筆記体数字 */
.labMerit__num {
  font-family: "Playfair Display", serif;
  font-size: 48px;          /* 大きめ */
  line-height: 1;
  color: #575454;          
  flex-shrink: 0;
}

/* タイトル＋本文 */
.labMerit__body {
  flex: 1 1 auto;
  text-align: left;
}

.labMerit__title {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 8px;
  color: #333333;
}

.labMerit__text {
  font-size: 12px;
  line-height: 1.8;
  color: #333333;
  font-weight: 550;
}

/* ─────────────────────
   画像にメリットを重ねる
   ───────────────────── */
.labMeritHero {
  position: relative;               /* 基準にする */
}

/* 画像の余計な余白を消す（任意） */
.labMeritHero > figure.wp-block-image {
  margin: 0;
}

/* ★ここが「動かす本体」★ */
/* PC配置：背景なし・影なし・余白なし */

.labMeritHero {
  position: relative; /* 念のため */
}

.labMeritHero .labMerit {
  position: absolute !important;
  top: 10%;             /* ← 上からの距離（調整OK） */
  right: 140px;          /* ← ★白背景の左端に合わせてここを調整 ★ */
  max-width: 360px;     /* お好みで */
  background: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  box-sizing: border-box;
  z-index: 5;
}




/* SPのときは普通に下に表示 */
@media (max-width: 768px) {
  .labMeritHero .labMerit {
    position: static !important;    /* 重ねるのをやめる */
    max-width: 100%;
    margin: 24px auto 0;
    background: #ffffff;
    padding: 24px 20px;
    box-shadow: none;
  }
}
@media (max-width: 767px) {
  .labMerit__num {
    font-size: 42px;   /* ← お好みで調整OK（例：42px） */
  }
}
@media (max-width: 767px) {
  .labMeritHero .wp-block-image {
    display: none !important;
  }
}

/* ▼ 画像を中央寄せにして、幅を調整 */
.labMeritHero figure.wp-block-image {
  display: flex;
  justify-content: center; /* 横中央 */
  margin: 0 auto 40px auto; /* 下に余白40px（お好みで調整） */
  width: 100%; /* セクション幅いっぱいの中で中央寄せ */
}

/* ▼ 実際の画像サイズを少し小さくする（調整OK） */
.labMeritHero figure.wp-block-image img {
  width: 80%;      /* ← ここを70% 85% など自由に変更OK */
  height: auto;
  display: block;
}
/* お問い合わせテキストブロック */
.contact-text {
  max-width: 640px;
  margin: 40px auto 60px;            /* 上下の余白＆中央寄せ */
  text-align: center;
  font-family: "Yu Mincho", "游明朝", "Hiragino Mincho ProN",
               "MS PMincho", serif;  /* 明朝系 */
  font-size: 18px;
  line-height: 2.2;
  color: #444;
}

.contact-text p {
  margin: 0 auto 18px;         /* 中央寄せ */
  padding: 0 0 8px;
  width: fit-content;          /* 内容の幅に合わせる */
  border-bottom: 1px solid #999;
  letter-spacing: 0.12em;
}


/* 最後の行だけ下のマージン調整 */
.contact-text p:last-child {
  margin-bottom: 0;
}

/* SP 調整 */
@media (max-width: 768px) {
  .contact-text {
    margin: 24px auto 40px;
    font-size: 15px;
  }
}
/* ▼ お問い合わせフォーム全体（1105ページ専用） */
.page-id-1105 .wpcf7 form.wpcf7-form {
  background: #f7f7f7;
  padding: 48px 8% 56px;
  max-width: 1100px;
  margin: 40px auto 80px;
  box-sizing: border-box;
}

/* 行ごとの2カラムレイアウト（PC） */
.page-id-1105 .contact-form__row {
  display: flex;
  align-items: flex-start;
  gap: 40px;
  margin-bottom: 32px;
}

/* 左側ラベル */
.page-id-1105 .contact-form__label {
  flex: 0 0 220px;
  font-weight: 700;
  font-size: 18px;
  color: #333;
  display: flex;
  align-items: center;
  gap: 12px;
}

/* ラベル文字 */
.page-id-1105 .contact-form__label-text {
  letter-spacing: 0.06em;
}

/* 必須バッジ（角丸なしに変更） */
.page-id-1105 .contact-form__required {
  display: inline-block;
  padding: 4px 10px 5px;
  background: #ffffff;
  border: 1px solid #ddd;
  font-size: 12px;
  letter-spacing: 0.1em;
  border-radius: 0;        /* ← 角丸なしに変更 */
}

/* 右側フィールド */
.page-id-1105 .contact-form__field {
  flex: 1 1 auto;
}

/* インプット・テキストエリア */
.page-id-1105 .contact-form__field input[type="text"],
.page-id-1105 .contact-form__field input[type="email"],
.page-id-1105 .contact-form__field input[type="tel"],
.page-id-1105 .contact-form__field textarea {
  width: 100%;
  max-width: 640px;
  padding: 14px 18px;
  border-radius: 0;
  border: 1px solid #ddd;
  background: #ffffff;
  font-size: 16px;
  box-sizing: border-box;
}

.page-id-1105 .contact-form__field textarea {
  min-height: 180px;
}

/* チェックボックス */
.page-id-1105 .contact-form__row--checkbox .wpcf7-list-item {
  margin-right: 24px;
  margin-bottom: 8px;
}

/* 個人情報同意テキスト */
.page-id-1105 .contact-form__agreement-text {
  margin: 0;
  font-size: 14px;
}

.page-id-1105 .contact-form__agreement-text a {
  text-decoration: underline;
}

/* ▼ 送信ボタン行（PC） */
.page-id-1105 .contact-form__row--submit {
  display: flex;
  justify-content: center;     /* ← PC中央 */
  margin-top: 40px;
}

/* ラベルは不要 */
.page-id-1105 .contact-form__row--submit .contact-form__label {
  display: none;
}

/* ボタン部分 */
.page-id-1105 .contact-form__row--submit .contact-form__field {
  flex: 0 1 auto;
  text-align: center;
}

/* 送信ボタン */
.page-id-1105 .contact-form__row--submit input[type="submit"] {
  display: inline-block;
  padding: 14px 60px;
  border-radius: 999px;
  border: none;
  background: #918A8A;
  color: #fff;
  font-size: 16px;
  letter-spacing: 0.12em;
  cursor: pointer;
}

.page-id-1105 .contact-form__row--submit input[type="submit"]:hover {
  opacity: 0.9;
}

/* --------------------------------------------------
   SP（スマホ）用：縦並び＋送信ボタン中央
-------------------------------------------------- */
@media (max-width: 768px) {

  /* フォーム全体の余白 */
  .page-id-1105 .wpcf7 form.wpcf7-form {
    padding: 32px 16px 40px;
    margin: 24px auto 56px;
  }

  /* 各行を縦並びに */
  .page-id-1105 .contact-form__row {
    flex-direction: column;
    gap: 8px;
  }

  .page-id-1105 .contact-form__label {
    flex: 0 0 auto;
    font-size: 16px;
  }

  .page-id-1105 .contact-form__field input[type="text"],
  .page-id-1105 .contact-form__field input[type="email"],
  .page-id-1105 .contact-form__field input[type="tel"],
  .page-id-1105 .contact-form__field textarea {
    max-width: 100%;
  }

  /* ▼ 送信ボタン行：グリッドでど真ん中に固定 */
  .page-id-1105 .contact-form__row--submit {
    display: grid !important;         /* 中身を中心にまとめる */
    place-items: center !important;   /* 縦横とも中央 */
    margin-top: 32px;
    text-align: center;
  }

  /* ラベルはいらないので非表示 */
  .page-id-1105 .contact-form__row--submit .contact-form__label {
    display: none !important;
  }

  /* ボタンを包むフィールド */
  .page-id-1105 .contact-form__row--submit .contact-form__field {
    width: auto !important;
    margin: 0 auto !important;
    text-align: center !important;
  }

  /* ボタン本体 */
  .page-id-1105 .contact-form__row--submit input[type="submit"] {
    display: inline-block !important;
    margin: 0 auto !important;
  }
}
/* ▼ SPの送信ボタンを、フォームの中央に“強制”で寄せる */
@media (max-width: 768px) {

  /* 送信ボタンそのものを中央寄せ */
  .page-id-1105 .wpcf7 form.wpcf7-form input[type="submit"] {
    display: block !important;
    width: fit-content !important;  /* ボタンの幅を中身サイズに */
    margin: 0 auto !important;      /* 左右オートで中央 */
    float: none !important;         /* 左寄せにするfloatを打ち消す保険 */
  }
}
/* 建築家が信頼をおいている企業（divバージョン） */
.trusted-company-title {
  font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-size: 24px;
  font-weight: 400;          /* 細め */
  letter-spacing: 0.35em;    /* 文字間ひろめ */
  text-align: center;
  color: #000;
  margin: 40px 0 32px;
}

/* SP調整 */
@media (max-width: 767px) {
  .trusted-company-title {
    font-size: 18px;
    letter-spacing: 0.25em;
    margin: 32px 0 24px;
  }
}
/* カスタム投稿 sponsor のタイトル・日付・更新日・投稿者を全て非表示 */
.single-sponsor .vk_post_title {
  display: none !important;
}
/* ▼ 協賛企業一覧（カスタム投稿 sponsor）タイトル行を全部非表示 */
body.single-sponsor .entry-header {
  display: none !important;
}

/* 念のため、個別指定も追加しておく */
body.single-sponsor h1.entry-title,
body.single-sponsor .entry-meta,
body.single-sponsor .entry-meta .published,
body.single-sponsor .entry-meta .updated,
body.single-sponsor .entry-meta .fn {
  display: none !important;
}
/* ロゴの縦横比を正常に戻す（縦に間延びしない） */
.site-header-logo img {
  width: 260px !important;     /* 横幅だけ指定 → 比率が崩れない */
  height: auto !important;     /* 縦は自動で比率維持 */
  max-height: none !important; /* 高さ制限を解除 */
  max-width: none !important;  /* 横幅の上限も解除 */
}
/* ============================
   さがしの杜 フッターCTA
   ============================ */

.mori-footer-cta {
  position: relative;
  z-index: 1;
  color: #fff;
  padding-top: 90px;
  padding-bottom: 110px;


  /* ★ここにコラージュ画像のURLを貼る */
  background-image: url('https://mori-stg.anzii.net/wp-content/uploads/2025/11/名称未設定-1920-x-750-px-1.png');
  background-size: cover;
  background-position: center;
}


.mori-footer-cta__inner {
  position: relative; /* オーバーレイより前に出す */
  max-width: 1100px;
  margin: 0 auto;
  padding: 28px 16px;
  display: flex;
  justify-content: space-between;
  gap: 40px;
  align-items: center;
}

/* 左側：ロゴ＋住所 */
.mori-footer-cta__left {
  max-width: 480px;
}

.mori-footer-cta__logo {
  display: block;
  max-width: 260px;
  height: auto;
  margin-bottom: 12px;
}

.mori-footer-cta__left p {
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
}
/* ================================
   ▼ ロゴと住所ブロックの位置調整
================================= */

/* 左エリア全体を上へ移動（数値は自由に調整OK） */
.mori-footer-cta__left {
  max-width: 480px;
  margin-top: -100px; /* ▼ここで上に上げる / 小さくすればもっと上がる */
}

/* ロゴの強化：クリックでTOPへ戻る想定なので余白も調整 */
.mori-footer-cta__logo {
  display: block;
  max-width: 270px;   /* 少し大きめに */
  height: auto;
  margin-bottom: 8px;
}

/* 住所・営業時間のテキストデザイン */
.mori-footer-cta__left p {
  margin: 0;
  font-size: 16px;     /* ←大きめ */
  line-height: 1.8;
  font-weight: 600;    /* ←太字 */
  color: #ffffff;      /* 背景が暗いので白推奨 */
}

/* ロゴにホバー時少し薄くする（任意） */
.mori-footer-cta__left a:hover img {
  opacity: 0.85;
}

/* 右側：ボタン */
.mori-footer-cta__right {
  text-align: right;
}

.mori-footer-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 280px;
  max-width: 100%;
  padding: 14px 16px;
  margin-bottom: 10px;
  border-radius: 4px;
  text-decoration: none;
  font-size: 18px;
  font-weight: 600;
  border: none;
}

/* =====================================
   フッターCTA：ボタンデザイン（PC/SP共通）
   通常＝枠線／背景なし → ホバーで塗りつぶし
===================================== */

/* ボタン共通 */
.mori-footer-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 280px;
  max-width: 100%;
  padding: 14px 16px;
  margin-bottom: 10px;
  border-radius: 0px;

  background: transparent;        /* ← 通常は背景なし */
  color: #fff;                    /* ← テキスト白 */
  border: 2px solid #A59993;      /* ← 枠線の色 */
  font-size: 18px;
  font-weight: 600;
  text-decoration: none;

  transition: all 0.25s ease;
}

/* ホバー時：枠と同じ色で塗りつぶし */
.mori-footer-cta__btn:hover {
  background: #A59993;
  border-color: #A59993;
  color: #fff;                    /* ← テキスト白のまま */
}

/* ボタン同士の間隔調整（最後のボタンだけ右の余白なし） */
.mori-footer-cta__btn:last-child {
  margin-right: 0;
}

/* =====================================
   PC時：ボタン左下寄せ・間隔を広げる
===================================== */
/* =====================================
   PC時：ボタン左下寄せ & 間隔を広げる
===================================== */
@media (min-width: 768px) {

  /* ★これがないと横位置は絶対に動かない */
  .mori-footer-cta__inner {
    display: flex !important;
    justify-content: flex-start !important; /* ← 左詰めに変更 */
    align-items: flex-start !important;     /* ← 上揃えにする */
    gap: 40px; /* 必要に応じて調整OK */
  }

  /* ボタンブロックを左側へ移動 ＋ 少し下げる */
  .mori-footer-cta__right {
    text-align: left;
    margin-left: -60px;  /* ← 左に寄せる距離（調整OK） */
    margin-top: 80px;   /* ← 下方向（調整OK） */
  }

  /* ボタン同士の間隔 */
  .mori-footer-cta__btn {
    margin-right: 24px;
  }

  .mori-footer-cta__btn:last-child {
    margin-right: 0;
  }
}
/* 電話アイコンのスタイル */
.mori-footer-cta__btn i {
  margin-right: 8px;
  font-size: 18px;
  display: inline-block;
}


/* スマホ表示 */
@media (max-width: 768px) {
  .mori-footer-cta__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
  .mori-footer-cta__right {
    width: 100%;
    text-align: left;
  }
  .mori-footer-cta__btn {
    width: 100%;
    font-size: 16px;
  }
}
/* 共通ページタイトルブロック */
.pageTitleBlock {
  text-align: center;
  margin: 80px 0 40px;          /* 上下の余白は好みで調整 */
}

/* 上の英語タイトル */
.pageTitleBlock__en {
  font-family: "Noto Serif JP", "Yu Mincho", "游明朝", serif;
  font-size: 34px;
  line-height: 1.4;
  letter-spacing: 0.08em;
  margin: 0;
}

/* 下の日本語サブタイトル */
.pageTitleBlock__ja {
  font-family: "Noto Serif JP", "Yu Mincho", "游明朝", serif;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.18em;
  margin: 6px 0 0;
}

/* SP時は少し小さめに */
@media (max-width: 768px) {
  .pageTitleBlock {
    margin: 56px 0 32px;
  }
  .pageTitleBlock__en {
    font-size: 26px;
  }
  .pageTitleBlock__ja {
    font-size: 12px;
  }
}
/* ●を消す & リスト全体の基本調整 */
.side-cat-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* 各項目の余白を少し詰める */
.side-cat-list li {
    border-bottom: 1px solid #eee;
    padding: 0.45em 0;   /* ← 余白を狭めた */
}

/* リンクの見た目 */
.side-cat-list li a {
    display: block;
    text-decoration: none;
    color: #333;         /* 通常時の色 */
    padding-left: 0em; /* 少しだけ左に余白（お好みで調整可） */
    transition: 0.2s;
}

/* ホバー時：青に変更 */
.side-cat-list li a:hover {
    color: #0073aa;      /* WordPress標準青 / 好みで変更OK */
}
.side-cat-list {
    padding-left: 0 !important;
    margin-left: 0 !important;
}
/* ▼ スライダー全体をはみ出し隠し */
.new-posts-slider {
  overflow: hidden;
}

/* Swiper の中身を横並び＆2倍幅にして無限ループ */
.new-posts-slider .swiper-wrapper {
  display: flex;
  width: 200%;
  animation: new-posts-loop 40s linear infinite;
}

/* スライド1枚ずつは幅自動（デザインに合わせて調整可） */
.new-posts-slider .swiper-slide {
  flex: 0 0 auto;
}

/* 無限に左へ流すアニメーション */
@keyframes new-posts-loop {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
/* サムネ同士の余白 */
.new-posts-slider .swiper-slide {
  flex: 0 0 auto;
  margin-right: 24px; /* ← 好みで 16px / 32px などに調整OK */
}
