@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/

/* スマホで2重になる下の事務所名を消す＆上の事務所名を大きくする */
@media screen and (max-width: 1023px) {
  .header-container-in .logo-header {
    display: none !important;
  }
  .logo-menu-button {
    font-size: 20px !important;
    font-weight: bold !important;
    color: #1a2a3a !important;
    letter-spacing: 1px;
  }
  .search-menu-button {
    visibility: hidden !important;
  }
}

/* パソコンの左上の事務所名と右上メニューを大きく・見やすくする */
@media screen and (min-width: 1024px) {
  .logo-header a,
  .site-name-text {
    font-weight: bold !important;
    font-size: 30px !important;
    color: #1d3b2a !important;
    letter-spacing: 1.5px;
  }
  .navi-in > ul > li > a {
    font-size: 16px !important;
    font-weight: bold !important;
    color: #2b3a30 !important;
    padding: 0 18px !important;
  }
}

/* タイトル跡地の空白を完全に消す */
.article-header {
  display: none !important;
}

/* ヘッダーと最初の画像の間の余白を完全にゼロにする（強制密着） */
#header-container, 
.header-container, 
.header-container-in {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.home #main, 
.home .content, 
.home article {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.home .entry-content > *:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* スマホ：トップ画像は端まで広げ、本文にはちょうどいい余白（16px）を1回だけ作る */
@media screen and (max-width: 1023px) {
  .home .content-in,
  .home .main {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .home .article {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .home .entry-content > *:first-child {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
  }
}

/* 本文の基本文字サイズと行間 */
.article {
  font-size: 17px !important;
  line-height: 1.9 !important;
  color: #333333 !important;
}

/* 大見出し（h2）：上下のすっきりした線 */
.article h2 {
  background-color: transparent !important;
  color: #1d3b2a !important;
  font-size: 22px !important;
  font-weight: bold !important;
  border-top: 2px solid #4a6b48 !important;
  border-bottom: 1px solid #dce5da !important;
  border-left: none !important;
  border-right: none !important;
  border-radius: 0 !important;
  padding: 12px 2px !important;
  margin-top: 56px !important;
  margin-bottom: 24px !important;
}

/* 小見出し（h3）：2色のシンプルな下線 */
.article h3 {
  background-color: transparent !important;
  color: #1d3b2a !important;
  font-size: 19px !important;
  font-weight: bold !important;
  border: none !important;
  border-bottom: 1px solid #e0e6df !important;
  padding: 6px 0 10px 0 !important;
  margin-top: 36px !important;
  margin-bottom: 16px !important;
  position: relative !important;
}
.article h3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 140px;
  height: 2px;
  background-color: #4a6b48;
}

/* スマホ（画面が狭いとき）の文字・見出しサイズ */
@media screen and (max-width: 768px) {
  .article {
    font-size: 15.5px !important;
  }
  .article h2 {
    font-size: 19px !important;
    padding: 10px 2px !important;
    margin-top: 40px !important;
  }
  .article h3 {
    font-size: 17px !important;
  }
}

/* パソコンの文字を大きく読みやすくする */
@media screen and (min-width: 769px) {
  .article p,
  .article li,
  .article td,
  .article th {
    font-size: 18px !important;
    line-height: 1.95 !important;
  }
  .article h2 {
    font-size: 24px !important;
  }
  .article h3 {
    font-size: 20.5px !important;
  }
}

/* ① お問い合わせの電話・メールを自動的に「2段」にして、途中で折れないようにする */
.article p.has-large-font-size {
  font-size: 19px !important;
  line-height: 1.5 !important;
  margin-top: 24px !important;
  margin-bottom: 8px !important;
}
/* 電話番号とメールアドレス（リンク部分）を強制的に2段目に下ろして大きく表示 */
.article p.has-large-font-size a {
  display: block !important;    /* ←これで自動的に2段目になります！ */
  font-size: 28px !important;   /* パソコンでの番号サイズ */
  margin-top: 4px !important;
  letter-spacing: 0.5px;
}
@media screen and (max-width: 768px) {
  .article p.has-large-font-size {
    font-size: 17px !important;
  }
  .article p.has-large-font-size a {
    font-size: 24px !important; /* スマホで1行にピタッと大きく収まるサイズ */
  }
}

/* ② パソコンのプロフィール：写真と文字の間の「白い空間」をなくし、高さを揃える */
@media screen and (min-width: 769px) {
  .wp-block-columns {
    align-items: flex-start !important;
    gap: 32px !important; /* 写真と文章の距離をちょうど良く近づける */
  }
  .wp-block-columns .wp-block-column:first-child {
    flex-basis: 230px !important; /* 左の箱が余って白い空間ができるのを防ぐ */
    flex-grow: 0 !important;
  }
  .wp-block-columns .wp-block-column:first-child img {
    width: 230px !important;
    max-width: 230px !important; /* 右の文章量と釣り合う堂々としたサイズ */
    height: auto !important;
    margin-top: 4px !important;  /* 右の「ユウ行政書士事務所」と頭の高さをピタッと揃える */
  }
  .wp-block-columns .wp-block-column:nth-child(2) p:first-child {
    margin-top: 0 !important;
  }
}

/* スマホのプロフィール写真：今のちょうどいいサイズ（180px・中央）をそのままキープ */
@media screen and (max-width: 768px) {
  .wp-block-columns .wp-block-column:first-child img {
    max-width: 180px !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto 16px auto !important;
  }
}
/* 事務所概要の表とGoogleマップを右端まで100%広げる */
.wp-block-table,
.wp-block-table table,
.article iframe {
  width: 100% !important;
  max-width: 100% !important;
}
.wp-block-table table {
  display: table !important;
  border-collapse: collapse !important;
}
.article .wp-block-table td, 
.article .wp-block-table th {
  border: 1px solid #c8d6c5 !important;
  padding: 14px 18px !important;
}
.article .wp-block-table tr td:first-child {
  background-color: #eef3ed !important;
  width: 28% !important;
  color: #2c422b !important;
}!important;
}