/*
Theme Name:   Corporate Standard Child Theme
Theme URI:    https://barbwire.co.jp/
Description:  Corporate Standard Child Theme
Author:       Barbwire Co., Ltd.
Author URI:   https://barbwire.co.jp/
Template:     corporate-standard-2
Version:      1.0.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
*/

:root {
  /*--color-navy: #152a5e;*/
  --color-navy: var(--b-theme-color-1);
  --color-gold: #9f8338;
  --color-sub-blue: #4c5791;
  --color-sub-bg: #eceeff;
  --color-box-bg: #ffefca;
  --color-box-red: #f17a68;
  --color-check-red: #bd5077;
  --color-gray-bg: #e6e9f2;
  --color-lt-gray-bg: #eceeff;
  --color-post-red: #dc2626;
  --color-text-muted: #566573;
  --color-orange: #ec6410;
  --font-mincho: "Noto Serif JP", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Yu Mincho", YuMincho, serif;
  --font-color--base: #000;
}

/* ==========================================
   サイト全体・基本設定  2026/3/17-変更 　
   ========================================== */
:root body {
  font-family: "Noto Sans JP", sans-serif;
}

a {
  color: var(--color-navy);
}

a:hover {
  color: var(--color-gold);
}

p {
  line-height: 1.8;
}

/**** 下層/固定ページのコンテンツ幅だけ狭める ****/
/*h2と中コンテンツが揃うので保留 揃えるなら使う
.page:not(.home) .entry-content {
  --wp--style--global--content-size: 1000px !important;
}
*/

/*ページ　セクション(グループ)用*/
.page:not(.home) .entry-content > section {
  max-width: 1064px;
}

.page:not(.home) .entry-content > section > section {
  --wp--style--global--content-size: 1000px !important;
}

/*ページ　カラム用*/
.page:not(.home) .entry-content .wp-block-columns.wp-block-columns-is-layout-flex {
  --wp--style--global--content-size: 1000px !important;
}

article.show-singular-thumbnail > .entry-content:not(:has(> .wp-block-heading:first-child)) {
  padding-top: 0;
}

.page:not(.home) .entry-content > *:not(h2) {
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
}

.single-post .is-layout-flow > *:not(h2, ul, div) {
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
}

/****下層ページスタート位置を小さくする****/
#main-content .entry-content > section:not([class$="-page-wrap"]) {
  margin-top: 5rem;
}

@media screen and (max-width: 767px) {
  /*スマホ用追加*/
  #main-content .entry-content > section:not([class$="-page-wrap"]) {
    margin-top: 3rem;
  }

  .page:not(.home) .entry-content {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
  .page:not(.home) .entry-content > section {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .page:not(.home) .entry-content > section > section {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }

  .single-post .entry-header {
    /*width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);*/ /*中央寄せにする*/
    margin-left: 20px;
    margin-right: 20px;
  }
  .single-post .entry-header > div {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }
  .single-post .entry-content {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }
}

/* --- ページタイトル（下層ページ・アーカイブ） --- */
.page:not(.home) .entry-header {
  height: 12rem;
}
.page:not(.home) .entry-title {
  font-family: var(--font-mincho);
  font-weight: 700;
  color: #fff;
  text-align: center;
  letter-spacing: 0.1em;
  text-shadow: none;
}

/*アーカイブヘッダ*/
.archive .page-header {
  margin-top: 0;
  margin-bottom: 0;
}

@media screen and (max-width: 767px) {
  .archive .page-header {
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    margin-top: 0;
  }

  .page:not(.home) .entry-title {
    font-size: 25px;
  }
}

/* ==========================================
   ヘッダ
   ========================================== */
.header-logo {
  display: flex;
  align-items: center;
  column-gap: 14px;
}

.logo-subtitle {
  font-family: var(--font-mincho);
  padding: 2px 6px 3px;
  line-height: 1;
  background: #e7d9b4;
  border-radius: 5px;
}
.logo-subtitle .logo-subtitle-text {
  display: flex;
  align-items: center;
  column-gap: 4px;
  font-size: 1.2rem;
  font-weight: bold;
  color: #635b46;
}
.logo-subtitle .logo-subtitle-text:before {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  background: url("assets/img/common/hammer.svg") no-repeat center / contain;
  flex-shrink: 0;
}

/*PC画面　ロゴ・サブタイトル2行対応で追加*/
@media (min-width: 1337px) {
  /* ヘッダーのみ2行 */
  .header-contents-upper .header-logo {
    margin-top: 18px;
    flex-direction: column; /* 縦並びに変更 */
    align-items: flex-start; /* 左揃え */
  }

  .header-contents-upper .site-title img {
    width: 460px;
  }

  .header-contents-upper .logo-subtitle {
    display: block;
    margin-left: auto;
    width: fit-content; /* 中身の幅に合わせる */
  }

  .header-contents-upper .logo-subtitle .logo-subtitle-text {
    column-gap: 10px;
    font-size: 1.25rem;
    letter-spacing: 0.39rem; /*ロゴの大きさと調整*/
  }
}

/* フッターは横並びに戻す */
#site-footer .header-logo {
  flex-direction: row;
  align-items: center;
}

.header-controls {
  width: fit-content;
}
.header-controls .control-upper {
  display: flex;
  align-items: flex-start;
  column-gap: 1rem;
}

.header-controls .phone-number a {
  font-size: 1.86rem;
  color: var(--b-theme-color-1);
  font-weight: 700;
  text-decoration: none;
  letter-spacing: 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  line-height: 1;
  column-gap: 5px;
}

.header-controls .phone-number a:before {
  content: "";
  display: block;
  width: 32px;
  height: 24px;
  background: url("/wp-content/themes/corporate-standard-2/assets/img/icon/icon-phone-freecall-blue.png") no-repeat center / contain;
  transform: translateY(3px);
}

.header-controls .phone-memo {
  margin-top: 0.25rem;
  font-size: 0.955rem;
  font-weight: 500;
  letter-spacing: 0;
  text-align: right;
}

.header-controls .header-cta {
  display: flex;
  flex-wrap: nowrap;
  column-gap: 9px;
  align-items: center;
  margin: 0;
}

.header-controls .header-cta a {
  display: flex;
  align-items: center;
  column-gap: 5px;
  font-size: 1.125rem;
  padding: 0.8rem 1rem;
  box-shadow: 0 3px 3px rgb(0 0 0 / 25%);
  background-color: var(--b-theme-color-1);
  color: #fff;
  text-decoration: none;
}

.header-controls .header-cta a:before {
  content: "";
  display: block;
}

.header-controls .header-cta a:hover {
  filter: brightness(125%);
}

.header-controls .btn-consultation a:before {
  width: 28px;
  height: 23px;
  background: url("assets/img/common/icon-bubble.png") no-repeat center / contain;
}

.header-controls .btn-contact a:before {
  width: 21px;
  height: 14px;
  background: url("assets/img/common/icon-mail.png") no-repeat center / contain;
}

/* 親要素：本社と支社を縦に並べ、左端に揃える */
.header-controls .control-lower {
  display: flex;
  margin-top: 15px; /*追加*/
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
}

/* 各拠点（神戸・東京）のブロック：名前と住所を横並び */
.header-controls .control-lower .branch {
  display: flex;
  margin: 0 !important; /* 追加：WordPressの自動余白リセット */
  justify-content: flex-start; /* 追加：ブロック内左寄せ */
  font-size: 1rem;
  font-weight: 500;
  column-gap: 5px;
  align-items: baseline;
  width: fit-content !important;
}

/* テキストの余白リセットと行高調整 */
.header-controls .control-lower .branch p {
  margin: 0;
  letter-spacing: 0;
}

/* 拠点名の枠線スタイル */
.header-controls .control-lower .branch .branch-name {
  font-size: 1rem;
  border: 1px solid #000;
  padding: 5px;
  display: grid;
  place-content: center;
  line-height: 1;
  flex-shrink: 0;
}

.header-mobile-toggle {
  right: 0.675rem;
}

@media (max-width: 1336px) {
  .header-contents-upper {
    flex-direction: column;
    row-gap: 0;
  }
  .header-logo {
    justify-content: center;
  }
  .header-controls {
    margin: 0.8rem auto 0;
  }
}

@media (max-width: 900px) {
  #site-header {
    margin-top: 1rem;
  }
}

@media (max-width: 787px) {
  #site-header .header-logo {
    flex-direction: column;
    gap: 0.2rem;
  }
}

@media (max-width: 767px) {
  #site-header {
    margin-top: 0;
    padding-bottom: 1rem; /*0.5rem*/
  }
  .header-contents .header-meta {
    position: absolute;
  }
  .header-contents-upper {
    align-items: flex-start;
    padding-top: 5px;
  }

  .header-contents-upper .header-logo {
    align-items: center;
    max-width: calc(100vw - 150px);
    margin: 10px auto 15px auto;
  }
  .header-contents-upper .site-title {
    max-width: 100%;
  }
  #site-header .logo-subtitle {
    width: fit-content;
    display: grid;
    place-items: center;
    padding-top: 8px;
    padding-bottom: 8px;
  }
  #site-header .logo-subtitle .logo-subtitle-text {
    font-size: .9rem;
  }

  #site-header .logo-subtitle .logo-subtitle-text:before {
    width: 15px;
    height: 15px;
  }
  #site-header .header-controls .phone-memo {
    font-size: 0.76rem;
    margin-top: 0;
  }

  #site-header .header-controls {
    margin: 0;
    width: 100%;
  }
  #site-header .header-controls .control-upper {
    justify-content: center;
    align-items: center;
    column-gap: 10px;
    flex-wrap: wrap;
  }
  #site-header .header-controls .control-upper > * {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .header-controls .control-upper .phone-number a {
    font-size: 1.4rem;
    letter-spacing: 0;
  }

  .header-controls .header-cta {
    width: 80%;
    column-gap: 5px;
  }

  .header-controls .header-cta > .header-cta-button {
    flex-basis: 50%;
  }

  .header-controls .header-cta > .header-cta-button.btn-contact a {
    padding-left: 1.25rem;
    column-gap: 1.15rem;
  }

  .header-controls .header-cta a {
    font-size: 0.7rem;
    line-height: 1.2;
    min-width: 60px;
    min-height: 3rem;
    letter-spacing: 0;
    padding: 0.35rem 0.85rem;
  }

  .header-controls .btn-consultation a:before {
    width: 18px;
    height: 15px;
  }

  .header-controls .btn-contact a:before {
    width: 14px;
    height: 9px;
  }

  #site-header .header-controls .control-lower {
    display: none;
  }
}

/* ==========================================
   グローバルメニュー
   ========================================== */
:is(#global-menu, #global-menu-fixed) > .menu-item {
  border-bottom: 5px solid transparent;
}
:is(#global-menu, #global-menu-fixed) > .menu-item:before,
:is(#global-menu, #global-menu-fixed) > .cc2-has-mega > a:before {
  content: none;
}

:is(#global-menu, #global-menu-fixed) > .menu-item.current-menu-item {
  background: var(--b-theme-color-2);
  border-image: linear-gradient(to right, #b79e68, #e5cf9d, #896d33) 1;
}

:is(#global-menu, #global-menu-fixed) > .menu-item.current-menu-item > a {
  color: #fff;
}
#site-header-fixed.header-contents--fixed {
  padding-bottom: 0;
}

/* メガメニュー */
.cc2-mega-panel {
  /*max-width: calc(var(--wp--style--global--content-size) - (var(--container-margin) * 2));*/
  width: 1043px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  background: #fff;
  border-top: 4px solid transparent;
  background-clip: padding-box;
}

.cc2-mega-panel .cc2-mega-panel__inner {
  padding: 1.5rem 4.125rem 2.625rem;
}

.cc2-mega-panel .sub-menu-items {
  display: flex;
  flex-wrap: wrap;
  gap: 1.125rem;
}

.cc2-mega-panel .sub-menu-items .sub-menu-item {
  width: 213px;
}

.cc2-mega-panel h4 {
  color: var(--b-theme-color-1);
  font-weight: 600;
  font-size: 1.25rem;
  line-height: 1.8;
  letter-spacing: 6%;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 0;
  margin-bottom: 0.75rem;
}
.cc2-mega-panel h4 span {
  flex-shrink: 0;
}
.cc2-mega-panel h4:after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: var(--b-theme-color-2);
}

.cc2-mega-panel .sub-menu-item-text {
  font-size: 0.9375rem;
  margin-top: 0.125rem;
  margin-bottom: 0;
  line-height: 1.6;
  letter-spacing: 6%;
}

.cc2-mega-panel .menu-row-others a {
  color: #fff !important;
  background: var(--b-theme-color-1);
  padding: 0.5rem 3rem;
  display: inline-flex !important;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1.5rem;
  box-shadow: 0 2px 2px rgb(0 0 0 / 25%);
}
.cc2-mega-panel .menu-row-others a:before {
  content: "";
  display: block;
  width: 21px;
  height: 14px;
  background: url(assets/img/common/icon-mail.png) no-repeat center / contain;
}

/* スマホメニュー */

#nav-mb-open {
  display: flex;
  flex-direction: column;
  gap: 3px;
  font-weight: bold;
  border: none;
  background: rgb(255 255 255 / 0.8);
  line-height: 1;
  border-radius: 0;
  padding: 0.5rem 0.55rem;
}

#nav-mb-open .cc2-menu-toggle-icon {
  width: 27px;
  height: 16px;
  background: repeating-linear-gradient(to bottom, currentColor, currentColor 2px, transparent 2px, transparent 7px);
}

#nav-mb-open .cc2-menu-toggle-label {
  position: static !important;
  height: unset;
  width: unset;
  font-size: 9px;
}

.nav-mb-close-wrap {
  justify-content: space-between;
  align-items: center;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}

.nav-mb-close-wrap .header-logo {
  width: 76%;
}

#primary-menu-mb .current-menu-item a {
  background: #b79e68;
  color: #fff;
}

.nav-mb-wrap.show {
  left: 0 !important;
  width: 100%;
  height: 100%;
}

#nav-mb-close {
  border: none;
  font-size: 3rem;
  margin: 0;
  padding: 0;
}

#primary-menu-mb .menu-item:not(:last-child) {
  border-bottom: 1px solid #d9d9d9;
}

#primary-menu-mb > .menu-item > .menu_link > a {
  padding-left: 2.625rem;
}
.nav-mb-wrap .menu .no-link a {
  padding-left: 2rem;
  letter-spacing: 6%;
}

#primary-menu-mb .no-link > .menu_link {
  pointer-events: none;
  background: var(--b-theme-color-2);
}

#primary-menu-mb .no-link > .menu_link > a {
  color: #fff;
}

#primary-menu-mb .menu-item:not(.no-link) a {
  display: flex;
  justify-content: space-between;
}

#primary-menu-mb .menu-item a:after {
  content: "\e5e1";
  font-family: var(--icon-font-family);
  font-weight: 400;
  color: var(--b-theme-color-2);
}

#primary-menu-mb .menu-item.no-link > .menu_link > a:after,
#primary-menu-mb .menu-item.menu-item-has-children > .menu_link > a:after {
  content: none;
}

.nav-mb-wrap .menu li.menu-item-has-children > .sub-menu .sub-menu {
  height: fit-content;
}

.nav-mb-wrap .menu li.menu-item-has-children > .sub-menu {
  background: #fff;
}

.consultation > .menu_link {
  text-align: center;
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.consultation > .menu_link > a {
  background: var(--b-theme-color-1) !important;
  color: #fff;
  display: inline-flex !important;
  align-items: center;
  justify-content: center !important;
  width: fit-content;
  gap: 0.5rem;
  padding-left: 1.5rem !important;
  padding-right: 1rem !important;
}
.consultation > .menu_link > a:before {
  content: "";
  display: block;
  width: 24px;
  height: 16px;
  background: url(assets/img/common/icon-mail.png) no-repeat center / contain;
}
.consultation > .menu_link > a:after {
  content: none !important;
}

/* ==========================================
   フッタ
   ========================================== */
#site-footer {
  padding-top: 5.5rem;
  background: var(--b-theme-color-2);
}

#site-footer,
#site-footer .footer-navi a {
  color: #fff;
}

#site-footer .footer-contents .footer-info {
  width: 517px;
}

#site-footer .header-logo,
#site-footer .footer-contents-wrap {
  width: 1220px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

#site-footer .header-logo {
  justify-self: flex-start;
  column-gap: 1.5rem;
  flex-wrap: wrap;
}

#site-footer .header-logo img {
  width: 530px;
  max-width: 100%;
}

#site-footer .header-logo .logo-subtitle-text {
}

#site-footer .header-logo .logo-subtitle-text {
  font-size: 1.5625rem;
}

#site-footer .footer-contents-wrap {
  padding-top: 3.75rem;
  padding-left: 0;
  padding-right: 0;
}

#site-footer .footer-contents {
  padding-left: 0;
  padding-right: 0;
  column-gap: 4.75rem;
}

.footer-info .phone-info {
  background: #fff;
  display: grid;
  place-content: center;
  padding: 0.5rem 1rem 0.3rem;
}
.footer-info .header-controls {
  width: 100%;
}

.footer-info .header-controls .phone-number a {
  color: var(--b-theme-color-1);
  font-size: 2.1875rem;
}

.footer-info .header-controls .phone-number a:before {
  width: 47px;
  height: 37px;
}

.footer-info .header-controls .phone-memo {
  font-size: 0.9375rem;
  color: #000;
}

.footer-info .header-controls .wp-block-buttons {
  justify-content: space-between;
  column-gap: 0.75rem;
  margin-top: 0.8125rem;
  align-items: stretch;
}

.footer-info .header-controls .wp-block-button {
  flex-grow: 1;
}

.footer-info .header-controls .wp-block-button a {
  background: #fff;
  color: var(--b-theme-color-1);
  font-size: 1.375rem;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1rem 0;
  line-height: 1;
  column-gap: 5px;
}

.footer-info .header-controls .wp-block-button a:before {
  content: "";
  display: block;
  background: var(--b-theme-color-1);
  mask-size: contain;
  mask-repeat: no-repeat;
}

.footer-info .header-controls .btn-consultation a:before {
  width: 35px;
  height: 28px;
  mask-image: url("assets/img/common/icon-bubble.png");
}

.footer-info .header-controls .btn-contact a:before {
  width: 33px;
  height: 21px;
  mask-image: url("assets/img/common/icon-mail.png");
}

.footer-info .footer-address {
  margin-top: 1rem;
}

.footer-info .footer-address > .wp-block-group {
  padding: 1.25rem 0;
  border-bottom: 1px solid #fff;
  margin: 0 0 0.75rem;
}

.footer-info .footer-address .wp-block-heading {
  font-weight: normal;
  font-size: 1.5625rem;
  margin: 0 0 0.5rem;
}

.footer-info .certification-number {
  font-size: 0.9375rem;
  letter-spacing: 1px;
  margin-top: 2.625rem;
}

.footer-navi {
  justify-content: flex-start;
}

.footer-navi .menu a {
  font-size: 0.9375rem;
}

.footer-menu-wrap .menu-item {
  margin-top: 0.85em;
}

.footer-navi .menu > .menu-item:not(:first-child) {
  margin-top: 1.75em;
}

.footer-navi .menu > .menu-item > a {
  font-weight: 500;
  display: flex;
  align-items: center;
  column-gap: 0.6875rem;
}

.footer-navi .menu > .menu-item > a:before {
  content: "";
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  background: url("assets/img/common/footer-menu-arrow.svg") no-repeat center / contain;
  flex-shrink: 0;
}

.footer-navi .sub-menu {
  padding-left: 2rem;
}

.footer-navi .sub-menu > .menu-item > a {
  display: flex;
  align-items: center;
  column-gap: 0.45rem;
  letter-spacing: 0;
}

.footer-navi .sub-menu > .menu-item > a:before {
  content: "";
  display: block;
  width: 0.9rem;
  height: 1px;
  background: url("assets/img/common/footer-submenu-mark.png") no-repeat center / contain;
}

.footer-navi .menu-label-sub {
  display: block;
}

#copyright {
  background: transparent;
  padding-bottom: 2rem;
  font-size: 0.9375rem;
}

#return_top {
  color: var(--color-gold);
}

@media (min-width: 768px) {
  #site-footer .footer-contents-wrap {
    max-width: 90%;
  }
}

@media (max-width: 767px) {
  #site-footer {
    padding: 3.5rem 5% 0;
  }
  #site-footer .header-logo {
    flex-wrap: wrap;
    gap: 1rem;
  }
  #site-footer .header-logo .logo-subtitle-text {
    font-size: 1.125rem;
  }
  #site-footer .footer-contents-wrap {
    padding-top: 2rem;
  }
  .footer-info .footer-address,
  .footer-info .certification-number {
    width: 272px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .footer-info .footer-address > .wp-block-group {
    margin-bottom: 0;
  }
  .footer-info .footer-address .wp-block-heading {
    font-size: 1.25rem;
  }
  .footer-info .header-controls .wp-block-buttons {
    flex-wrap: nowrap;
  }
  .footer-info .header-controls .wp-block-buttons a {
    font-size: 1.125rem;
    letter-spacing: 0;
  }

  .footer-info .footer-address p {
    font-size: 0.9375rem;
    letter-spacing: 0;
  }

  .footer-info .header-controls .phone-number a {
    font-size: 1.875rem;
  }
  .footer-info .header-controls .phone-memo {
    font-size: 0.8125rem;
  }

  #site-footer .footer-navi {
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid #707070;
  }

  .footer-navi .menu > .menu-item:not(:first-child) {
    margin-top: 1rem;
  }

  .footer-navi .sub-menu > .menu-item > a {
    column-gap: 0.2rem;
  }
  #footer-menu-sub {
    margin-top: 2rem;
  }
  .footer-navi .menu-label-sub {
    display: inline;
  }

  #copyright {
    font-size: 0.5625rem;
  }
}

/* ==========================================
   共通パーツ（見出し・リスト・ボタン など）
   ========================================== */
.page:not(.home) :where(.entry-content) h2 {
  font-family: var(--font-mincho);
  background-color: var(--color-gold);
  color: #fff;
  text-align: center;
  padding: 12px 0;
  margin: 100px auto 40px auto !important;
  position: relative;
  font-size: 1.4rem;
  clear: both;
}

/*最初のh2のみ*/
.page:not(.home) :where(.entry-content) h2:first-of-type {
  margin-top: 70px !important;
}

.page:not(.home) :where(.entry-content) h2::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top: 15px solid var(--color-gold);
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
}

/*スマホ用追加*/
@media screen and (max-width: 767px) {
  .page:not(.home) :where(.entry-content) h2 {
    margin: 80px auto 20px auto !important;
    padding: 12px 15px;
    font-size: 1.15rem;
  }
}

.page:not(.home) :where(.entry-content) h3 {
  color: var(--color-navy);
  font-size: 1.3rem;
  border-bottom: 4px solid var(--color-sub-blue);
  padding-bottom: 5px;
  padding-left: 3px;
  margin: 2.3rem 0 1rem;
  clear: both;
}

/*スマホ用追加*/
@media screen and (max-width: 767px) {
  .page:not(.home) :where(.entry-content) h3 {
    font-size: 1.1rem;
  }
}

.page:not(.home) :where(.entry-content) h4 {
  color: var(--color-sub-blue);
  font-size: 1.15rem;
  /*margin-top: 3rem;*/ /*ストーカー対策での隙間の為　要確認*/
  margin-bottom: 0.5rem; /*ボディガードでの隙間の為　元 1.5rem*/
  font-weight: bold;
  clear: both;
}
.page:not(.home) :where(.entry-content) h5 {
  color: var(--color-sub-blue);
  font-size: 1.15rem;
  clear: both;
}

/* ◆ h4-diamond*/
h4.h4-diamond {
  padding-left: 1.5em;
  text-indent: -1.5em;
  margin-bottom: 0;
  font-size: 1.25rem !important;
}
h4.h4-diamond:not(:first-child) {
  margin-top: 2rem;
}
h4.h4-diamond::before {
  content: "◆";
  margin-right: 0.3em;
  font-size: 0.9em;
  position: relative;
  top: -1px;
}

/* ― h4-sideline */
h4.h4-sideline {
  margin-bottom: 1.5rem;
}
h4.h4-sideline::before,
h4.h4-sideline::after {
  content: "―";
}
h4.h4-sideline::before {
  margin-right: 1em;
}
h4.h4-sideline::after {
  margin-left: 1em;
}
@media screen and (max-width: 767px) {
  h4.h4-sideline {
    padding-left: 1.25em;
    text-indent: -1.25em;
    font-size: 1.5rem;
    margin-bottom: 1em;
  }
  h4.h4-sideline::before {
    margin-right: 0.25rem;
  }
  h4.h4-sideline::after {
    content: "";
    margin: auto 0;
  }
  /*追加◆のh4*/
  h4.h4-diamond {
    font-size: 1.1rem !important;
  }
  /*追加　元3rem*/
  h4.wp-block-heading.h4-sideline {
    margin-top: 1rem !important;
  }
}

/* ● h4-circle */
h4.h4-circle {
  padding-left: 1.5em;
  text-indent: -1.5em;
  margin-bottom: 0.2em;
  color: var(--color-navy);
}
h4.h4-circle:not(:first-child) {
  margin-top: 2rem;
}
h4.h4-circle::before {
  content: "●";
  margin-right: 0.1em;
  font-family: sans-serif;
}

/*行間余白など*/
.page:not(.home) .entry-content > * + * {
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .page:not(.home) .entry-content > * + * {
    margin-top: 1rem;
  }
}

/* center */
.page:not(.home) .center {
  text-align: center;
}

/* table 左寄せ */
/************************           スコープを狭く          ***************************/
.page:not(.home) .entry-content .wp-block-table {
  margin-left: 0 !important;
}

/* → 矢印リンク → */
.link-arrow a,
.link-arrow-bfr a {
  display: inline-block;
  border-bottom: 1px solid var(--color-navy);
  font-size: 0.9rem;
  line-height: 1.5;
  text-decoration: none;
}
/* ::after */
.link-arrow a::after {
  content: "→";
  margin-left: 0.5em;
  display: inline-block;
}
/* ::before  */
.link-arrow-bfr a::before {
  content: "→";
  margin-right: 0.5em;
  display: inline-block;
}
/* .no-line  */
.link-arrow.no-line a,
.link-arrow-bfr.no-line a {
  border: none;
}

.link-arrow a:hover,
.link-arrow-bfr a:hover {
  border-bottom: 1px solid var(--color-gold);
}

/* .ext-link (外部リンクマークを後ろに付ける) */
.link-arrow.ext-link::after,
.link-arrow-bfr.ext-link::after {
  content: "\e89e";
  font-family: var(--icon-font-family);
  color: var(--color-navy);
  position: relative;
  top: 4px;
  left: 6px;
}

/* ネイビー枠ボタン */
.btn-outline-navy a {
  border: 1px solid var(--color-navy);
  padding: 10px 25px;
  display: inline-block;
  text-decoration: none;
  transition: all 0.3s ease;
  background-color: transparent;
  line-height: 1.5;
}
.btn-outline-navy a,
.btn-outline-navy a::after {
  color: var(--color-navy);
}
.btn-outline-navy:hover a {
  background-color: rgba(21, 42, 94, 0.85);
  border-color: var(--color-navy);
}
.btn-outline-navy:hover a,
.btn-outline-navy:hover a::after {
  color: #fff;
}
.btn-outline-navy,
.btn-outline-navy:hover {
  border-bottom: none;
}

/* ネイビーリンクボタン */
.btn-navy-link a {
  display: block;
  max-width: 500px;
  margin: 2rem auto 4rem;
  background-color: var(--color-navy);
  color: #fff;
  text-align: center;
  padding: 9px 20px 15px;
  text-decoration: none;
  font-weight: bold;
  border-radius: 0;
}
.btn-navy-link a:hover {
  filter: brightness(1.2);
}
.btn-navy-link a::after {
  content: " →";
  font-weight: normal;
  font-size: 1.5rem;
}

/* ページ内ナビゲーション */
.page-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 1.03125rem;
}
.page-nav li {
  display: flex;
  align-items: center;
}
.page-nav li a {
  text-decoration: none;
  padding: 0 15px;
}
.page-nav li::before,
.page-nav li:last-child::after {
  content: "|";
  color: var(--color-sub-blue);
  position: relative;
  top: -1px;
}
@media screen and (max-width: 767px) {
  .page-nav {
    flex-direction: column;
    margin: 0 0 -20px 0;
    gap: 5px;
  }
  .page-nav li::before,
  .page-nav li:last-child::after {
    display: none;
  }
  .page-nav li a {
    padding: 8px 5px;
    font-size: 1rem;
    display: block;
    width: 100%;
    text-align: center;
    border-bottom: 1px solid var(--color-gray-bg);
    line-height: 1.1;
  }
}

/* 薄黄色ボックス */
.info-box {
  background-color: var(--color-box-bg);
  padding: 1.5em;
  margin: 2em 0;
  border-radius: 2px;
}
/* 薄黄色ボックス内の矢印付き文章 */
.info-box .info-arrow {
  display: block;
  position: relative;
  padding-left: 1.5em;
  color: var(--font-color--base);
  line-height: 1.6;
}
.info-box .info-arrow::before {
  content: "⇒";
  position: absolute;
  left: 0;
}
@media screen and (max-width: 767px) {
  .info-box {
    padding: 1em;
  }
}

/* 黄色いカード */
.yellow-card {
  gap: 2rem;
  margin-bottom: 2rem;
}
.yellow-card > div {
  border: 2px solid var(--color-gold);
  padding: 0;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  background-color: var(--color-box-bg);
}
.yellow-card h4 {
  color: var(--color-gold);
  border-bottom: 2px solid var(--color-gold);
  background-color: #fff;
  font-size: 1.15rem;
  font-weight: bold;
  margin-top: 0;
  margin-bottom: 0;
  line-height: 1.4;
  padding: 0.5em 1em;
}
.yellow-card p {
  font-size: 0.95rem;
  line-height: 1.7;
  padding: 1em !important;
}
.yellow-card .link-arrow {
  margin-top: 0;
}

/* ・ discリスト */
ul.disc-list {
  padding-left: 1.5rem;
  margin: 0 0 1rem;
}
ul.disc-list li {
  list-style: disc;
  position: relative;
  margin-bottom: 0.2rem;
  color: var(--color-navy);
  line-height: 1.7;
}
ul.disc-list.bold li {
  font-weight: bold;
}

/* ✔チェックリスト */
ul.check-list {
  padding-left: 0;
  margin: 1rem 0;
}
.check-list li {
  position: relative;
  padding-left: 1.5em;
  margin-bottom: 0.2rem;
  color: var(--color-navy);
  line-height: 1.6;
}
.check-list li::before {
  content: "✔";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--color-navy);
}
.check-list.bold li {
  font-weight: bold;
}

/* 注釈リスト共通（※印・＊印） */
.common-notes,
.asterisk-notes {
  margin: 1.5rem 0;
  padding: 0;
}
.common-notes li,
.asterisk-notes li {
  position: relative;
  padding-left: 1.2em;
  font-size: 0.9rem;
  line-height: 1.6;
  margin-bottom: 0.5rem;
}
.common-notes a,
.asterisk-notes a {
  color: var(--color-sub-blue);
}
.common-notes a:hover,
.asterisk-notes a:hover {
  color: var(--color-gold);
}
.common-notes li::before {
  content: "※";
  position: absolute;
  left: 0;
  top: -1px;
  font-family: sans-serif;
}
.asterisk-notes li::before {
  content: "＊";
  position: absolute;
  left: 0;
  top: -1px;
  font-family: sans-serif;
}

/* 波下線スタイル */
.wavy-line {
  text-decoration: underline wavy 0.5px;
  text-underline-offset: 5px;
}

/* ネイビー背景の帯見出し */
.navy-bar {
  color: var(--color-navy);
  padding: 10px 0;
  font-weight: bold;
  font-size: 1.1rem;
  line-height: 1.4;
  border-radius: 2px;
  margin: 2rem 0 1rem;
  border-bottom: 2px dotted var(--color-navy);
  display: flex;
  align-items: baseline;
}

/*不当要求対策10ヵ条で使用*/
.navy-bar span.nom {
  display: inline-block; /* サイズ安定の為 */
  width: 1.8em; /* 2桁（10）が収まる固定幅 */
  color: #fff;
  background-color: var(--color-navy);
  padding: 6px 0;
  margin-right: 8px;
  border-radius: 4px;
  line-height: 1; /* 上下の余白を中央 */
  text-align: center;
}
/*インデント代替え*/
.navy-bar span.navy-bar-text {
  flex: 1;
}

/*ページ上部 イントロ部分*/
.intro-item h2 {
  background-color: transparent;
  color: var(--font-color--base);
  text-align: center;
  padding: 0;
  margin: 60px 0 40px !important;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.5;
}
.intro-item h2::after {
  display: none;
}
.intro-mv {
  margin: 0 auto 3rem !important;
  max-width: 1000px;
  width: 100%;
  text-align: center;
}
/*スマホ*/
@media screen and (max-width: 767px) {
  .intro-item h2 {
    font-size: 1.4rem;
    margin: 40px 0 20px;
  }
  .intro-mv {
    margin-bottom: 2rem !important;
  }
}

/* ページ下部の左写真小さ目のカラム */
.bottom-columns {
  display: grid !important;
  grid-template-columns: minmax(320px, 3fr) 7fr;
  gap: 2.5em;
}
.bottom-columns-2 {
  display: grid !important;
  grid-template-columns: 7fr minmax(320px, 3fr);
  gap: 2.5em;
}
@media screen and (max-width: 767px) {
  .bottom-columns,
  .bottom-columns-2 {
    grid-template-columns: 1fr;
    gap: 1.5em;
  }
  .bottom-columns img,
  .bottom-columns-2 img {
    margin: auto;
    display: block;
  }
}

/*テキストの回り込み*/
.area-text-wrap .wp-block-image.alignright {
  margin-left: 2.5rem;
  margin-bottom: 1rem;
  max-width: 40%;
}
.area-text-wrap .wp-block-image.alignleft {
  margin-right: 2rem;
  margin-bottom: 1rem;
  max-width: 40%;
}
.area-text-wrap h4 {
  clear: none;
}
@media (max-width: 767px) {
  .area-text-wrap .wp-block-image.alignright,
  .area-text-wrap .wp-block-image.alignleft {
    float: none;
    display: block;
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
    margin-bottom: 1.5rem;
  }
}
/* 回り込み解除 */
.clear {
  clear: both !important;
}

/* フリーダイヤルアイコン */
:root .tel-number {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--color-navy);
  line-height: 1;
  letter-spacing: 0.05em;
}
:root .tel-number::before {
  content: "";
  display: inline-block;
  width: 40px;
  height: 32px;
  background: url("/wp-content/uploads/2026/02/free-call.png") no-repeat center center;
  background-size: contain;
  margin-right: 9px;
  position: relative;
  top: 6px;
}

:root .tel-number a {
  text-decoration: none;
}

/* ==========================================
   固定ページ
   ========================================== */
/*---------------------------------
　業務案内一覧 (duties)
  ---------------------------------*/

.area-duties h3 {
  font-size: 1.5rem;
  border-bottom: 2px solid var(--color-navy);
  padding-bottom: 10px;
  padding-left: 5px;
  margin: 3rem 0 1rem;
}
.area-duties h4 {
  color: var(--font-color--base);
  font-size: 1.15rem;
}
.area-duties .service-body {
  display: grid;
  grid-template-columns: 3fr minmax(280px, 2fr);
  gap: 2.5em;
}
.area-duties .service-body > div:first-child {
  padding-left: 5px;
}
.area-duties .service-body h4 {
  font-size: 1.2rem;
  margin-bottom: 0.5em;
}
.area-duties .service-body .wp-block-column p:last-child {
  margin-bottom: 0;
}
.area-duties .service-body ul {
  line-height: 1.8;
  margin: 0 auto 1.5em;
  padding-left: 1.5em;
}
.area-duties .service-body li {
  list-style: disc;
}
.area-duties .service-body .main-affiliated-services p {
  margin-bottom: 0;
}
.area-duties .service-body .main-affiliated-services ul {
  padding-left: 0;
}
.area-duties .service-body .main-affiliated-services li {
  list-style: "";
  display: inline-block;
  margin-right: 0.5rem;
}
.area-duties .service-body .main-affiliated-services li::before {
  content: "●";
  font-family: sans-serif;
  margin-right: 0.1em;
}
.area-duties .link-arrow {
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .area-duties .service-body {
    grid-template-columns: 1fr;
    gap: 1.5em;
  }
  .area-duties .service-body .service-img {
    order: -2;
  }
}

/*---------------------------------
　トップページ
  ---------------------------------*/
.home #main-content {
  padding-top: 0 !important;
}

.top-contents {
  display: contents;
}

.top-contents > :not(.alignfull),
.top-contents > .alignfull > * {
  width: 1220px;
  max-width: 91.73%;
  margin-left: auto;
  margin-right: auto;
}

.top-contents h2 {
  font-size: 2.5rem;
  text-align: center;
  margin-top: 10rem !important;
  font-weight: 300;
  font-family: var(--font-mincho);
  color: var(--b-theme-color-1);
}

.top-contents h2 + .heading-subtitle {
  text-align: center;
  color: #707070;
  font-size: 1.375rem;
  font-weight: bold;
  margin-bottom: 3.5rem;
}

.top-contents .top-service h2 {
  color: #fff;
}

.top-contents .top-service-contents h3 {
  text-align: center;
  font-size: 1.875rem;
  font-weight: normal;
  font-family: var(--font-mincho);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  white-space: nowrap;
  margin-top: 4rem;
}

.top-contents .top-service-contents h3:before,
.top-contents .top-service-contents h3:after {
  content: "";
  display: block;
  height: 1px;
  background: #fff;
  flex: 1 1 auto;
  min-width: 0;
}

@media (max-width: 767px) {
  .top-contents .top-service-contents h2 {
    font-size: 1.5625rem;
  }
  .top-contents .top-service-contents h3 {
    font-size: 1.125rem;
    gap: 0.5rem;
    letter-spacing: 6%;
  }
  .top-contents .wp-block-group:has(.heading-subtitle) + .wp-block-group,
  .top-contents .wp-block-group:has(.heading-subtitle) + .wp-block-group h3 {
    margin-top: 0;
  }
}

.top-first-contents {
  background: var(--b-theme-color-2);
  padding-top: 5rem;
  padding-bottom: 6rem;
}

.top-first-contents,
.top-first-contents a {
  color: #fff;
}

.top-first-contents .top-service-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 5rem 2rem;
  justify-content: center;
  align-items: flex-start;
  container-type: inline-size;
  container-name: top-service-cards;
}

.top-first-contents .top-service-cards > * {
  width: 385px;
  max-width: 100%;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.top-first-contents .top-service-cards p {
  margin-top: 0;
}

.top-first-contents .top-service-cards h4 {
  margin-top: 0;
  font-size: 1.375rem;
  font-weight: normal;
  color: #e7d9b4;
  margin-bottom: 0;
}

.top-first-contents .top-service-cards .card-lead {
  letter-spacing: 3%;
}

.top-first-contents .top-service-cards .link-detail {
  margin-top: 1.8rem;
}

.top-first-contents .top-service-cards .link-detail a {
  font-family: var(--font-mincho);
  color: #ffe395;
  font-size: 0.9375rem;
  text-decoration: none;
  display: inline-flex;
  column-gap: 0.625rem;
  border-bottom: 1px solid #ffe395;
  align-items: center;
  padding: 0 0.15rem 0 0.625rem;
  letter-spacing: 0;
}

.top-first-contents .top-service-cards .link-detail a:after {
  content: "\e5e1";
  font-family: var(--icon-font-family);
  font-weight: 100;
}

.top-first-contents .top-service-cards .link-body-guard {
  margin-top: 1.25rem;
}

.top-first-contents .top-service-cards .link-body-guard a {
  border: 1px solid #ffe395;
  padding: 0.5rem 0.4rem 0.5rem 0.625rem;
  line-height: 1;
}

/*
 * flexレイアウトにする必要からsubgridを使えないため、タイトル行の高さ調整
 */
@container top-service-cards (min-width: 768px) and (max-width: 1219px) {
  .top-first-contents .top-service-cards .one-line:after {
    content: "";
    display: block;
    height: 1.5em;
  }
}

.top-first-contents .top-service-contents.global .top-service-cards > * {
  width: 100%;
}

.top-first-contents .top-service-contents.global .global-services-subtitle {
  font-size: 1.25rem;
}

.top-first-contents .top-service-contents.global h3 {
  margin-bottom: 2rem;
}

/* ご相談・お問合せ */
.top-contents .top-contact {
  background: url(assets/img/top/top-contact-bg.jpg) no-repeat center center / cover;
}

.top-contents .top-contact {
  margin-top: 0;
  padding-top: 6rem;
  padding-bottom: 5rem;
}

.top-contents .top-contact h2 {
  margin-top: 0 !important;
}

.top-contents .top-contact .top-contact-banner {
  margin-top: 0;
  text-align: center;
}
.top-contents .top-contact .top-contact-banner img {
  display: block;
  width: 1000px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  box-shadow: 2px 4px 4px rgb(0 0 0 / 25%);
  margin-top: 5rem;
}

.top-contents .top-contact .top-contact-banner.sp img {
  box-shadow: 0 4px 4px rgb(0 0 0 / 25%);
}

/* まずはお気軽にご相談・お問合せください */
.top-contents .top-contact-methods {
  margin-top: 0;
  padding-top: 6rem;
  padding-bottom: 6rem;
  background: url(assets/img/top/top-contact-method-bg.jpg) no-repeat center center / cover;
}

.top-contents .top-contact-methods h3 {
  margin-top: 0;
  color: #fff;
  font-size: 1.875rem;
  font-family: var(--font-mincho);
  font-weight: 200;
}

.top-contents .top-contact-methods .method {
  background: #fff;
  padding: 0.75rem 1.5rem;
}

.top-contents .top-contact-methods .contact-methods {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}

.top-contents .top-contact-methods .contact-methods .method {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  text-align: center;
  row-gap: 0.5rem;
}

.top-contents .top-contact-methods .contact-methods h4 {
  font-size: 1.25rem;
  line-height: 1.25;
  display: grid;
  place-content: center;
  color: var(--b-theme-color-1);
}

.top-contents .contact-methods .wp-block-buttons {
  margin-top: 0;
}

.top-contents .contact-methods .wp-block-button {
  width: 100%;
}

.top-contents .contact-methods .wp-block-button a {
  font-size: 1.375rem;
  font-weight: 600;
  display: flex;
  gap: 0.6rem;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 4px rgb(0 0 0 / 25%);
  padding: 0.75rem 0.9rem;
}

.top-contents .contact-methods .wp-block-button a:before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}

.top-contents .contact-methods .wp-block-button a,
.top-contents .contact-methods .wp-block-button a:hover {
  color: #fff;
}

.top-contents .contact-methods .method-free-call img {
  width: 240px;
}

.top-contents .contact-methods .method-free-call .call-time {
  font-size: 0.875rem;
  letter-spacing: 0;
}

.top-contents .contact-methods .method-free-call .wp-block-button a {
  background: #0d6a67;
}

.top-contents .contact-methods .method-free-call .wp-block-button a:before {
  background-image: url("assets/img/top/icon-phone.png");
  width: 31px;
  height: 25px;
}

.top-contents .contact-methods .method-consultation .wp-block-button a {
  background: #6a5c0d;
}

.top-contents .contact-methods .method-consultation .wp-block-button a:before {
  background-image: url("assets/img/common/icon-bubble.png");
  width: 32px;
  height: 26px;
}

.top-contents .contact-methods .method-contact .wp-block-button a {
  background: #6a0d0d;
}

.top-contents .contact-methods .method-contact .wp-block-button a:before {
  background-image: url("assets/img/common/icon-mail.png");
  width: 31px;
  height: 20px;
}

@media (max-width: 1280px) {
  .top-contents .top-contact-methods .contact-methods {
    grid-template-columns: min(100%, 400px);
    justify-content: center;
  }
}

@media (max-width: 767px) {
  .top-contents .top-contact {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }
  .top-contents .top-contact .top-contact-banner img {
    margin-top: 0;
  }

  .top-contents .top-contact .heading-subtitle {
    margin-bottom: 1.5rem;
  }
  .top-contents .top-contact-methods {
    padding-top: 2rem;
    padding-bottom: 3.5rem;
  }
  .top-contents .top-contact-methods h3 {
    font-size: 1.25rem;
    line-height: 1.6;
  }
  .top-contents .top-contact-methods .contact-methods {
    row-gap: 0.5rem;
  }
  .top-contents .contact-methods .wp-block-button a {
    font-size: 1.25rem;
  }
  .top-contents .top-contact-methods .contact-methods h4 {
    font-size: 1.125rem;
  }
}

.top-contents .post-list-link a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  column-gap: 0.75rem;
  text-decoration: none;
  border-bottom: 1px solid var(--b-theme-color-1);
  font-size: 0.9375rem;
  font-family: var(--font-mincho);
  letter-spacing: 5%;
}
.top-contents .post-list-link a:hover {
  border-color: var(--color-gold);
}

.top-contents .post-list-link a:after {
  content: "\e5e1";
  font-family: var(--icon-font-family);
  font-weight: 100;
}

@media (max-width: 767px) {
  .top-first-contents {
    padding-top: 1.25rem;
    padding-bottom: 3.5rem;
  }
  .top-first-contents .top-introduce {
    row-gap: 0.875rem;
  }
  .top-first-contents .top-introduce .wp-block-image {
    text-align: center;
  }

  .top-first-contents .top-introduce img {
    width: 330px;
    max-width: 100%;
  }

  .top-contents h2 {
    margin-top: 3.25rem !important;
    font-size: 1.5625rem;
  }
  .top-contents h2 + .heading-subtitle {
    font-size: 0.75rem;
    margin-bottom: 1.25rem;
  }

  .top-first-contents .top-service-cards {
    grid-template-columns: 1fr;
    row-gap: 3.5rem;
  }
  .top-first-contents .top-service-cards h4 {
    font-size: 1.125rem;
    margin-bottom: 0;
    letter-spacing: 6%;
  }
  .top-first-contents .top-service-cards .card-lead {
    font-size: 0.9375rem;
    line-height: 2;
  }
  .top-first-contents .top-service-cards .link-detail {
    margin-top: 1.1rem;
  }
  .top-first-contents .top-service-cards .link-body-guard {
    margin-top: 0.75rem;
  }
}

/* お知らせ・トピックス */
.top-topics .barbpack {
  margin-top: 0;
}
.top-topics .barbpack-post-list-1 {
  width: 940px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.top-topics .barbpack-post-list-1 li {
  padding: 1rem 2.625rem;
  column-gap: 2.375rem;
  border-style: solid;
  border-color: rgb(159 131 56 / 0.3);
  border-width: 0 0 1px 0;
}

.top-topics .barbpack-post-list-1 li:first-child {
  border-top-width: 1px;
}

.top-topics .barbpack-post-list-1 .list-date {
  display: flex;
  align-items: center;
  column-gap: 2.375rem;
  color: var(--color-gold);
  margin-left: 0;
}

.top-topics .barbpack-post-list-1 .list-date:before {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  background-color: var(--color-gold);
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}

.top-topics .barbpack-post-list-1 .list-title a {
  color: var(--font-color--base);
}

.top-topics .barbpack-post-list-1 .list-title a:hover {
  color: var(--b-theme-color-1);
}

.top-topics .post-list-link {
  margin-top: 2.5rem;
}

@media (max-width: 767px) {
  .top-topics .barbpack-post-list-1 li {
    display: block;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
  .top-topics .barbpack-post-list-1 .list-date,
  .top-topics .barbpack-post-list-1 .list-title {
    width: 100%;
  }

  .top-topics .barbpack-post-list-1 .list-date {
    column-gap: 0.65rem;
  }

  .top-topics .barbpack-post-list-1 .list-title {
    margin-top: 0.35rem;
    padding-left: 1.25rem;
    display: block;
  }

  .top-topics .barbpack-post-list-1 .list-title a {
    line-height: 1.3;
  }
}

/* 会社案内 */
.top-company h3 {
  text-align: center;
  font-size: 1.875rem;
  font-weight: normal;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  white-space: nowrap;
  margin-top: 4rem;
}

.top-company h3:before,
.top-company h3:after {
  content: "";
  display: block;
  height: 1px;
  background: var(--color-gold);
  flex: 1 1 auto;
  min-width: 0;
}

.top-company .top-company-banners {
  margin-top: 0;
  width: 1220px;
  max-width: 100%;
  gap: 1.25rem;
}

.top-company .top-company-movie {
  width: 1000px;
  max-width: 100%;
  margin-top: 7rem;
}

.top-company .top-company-movie .wp-block-video {
  margin-top: 2rem;
  cursor: pointer;
}

@media (max-width: 767px) {
  .top-company .top-company-banners {
    row-gap: 0.5rem;
  }
  .top-company .top-company-movie {
    margin-top: 2rem;
  }
  .top-company h3 {
    font-size: 1.125rem;
    letter-spacing: 6%;
  }
  .top-company .top-company-movie .wp-block-video {
    margin-top: 0.5rem;
  }
}

/* アクセス */
.top-contents .top-access {
  width: 1270px;
  container-name: top-access;
  container-type: inline-size;
}
.top-contents .top-access p {
  margin-top: 0;
}
.top-access h3 {
  font-family: var(--font-mincho);
  font-size: 1.875rem;
  font-weight: normal;
  letter-spacing: 10%;
  margin-bottom: 1rem;
}

.top-access .top-access-branch {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 600px), 1fr));
  column-gap: 4.375rem;
  row-gap: 0;
}

.top-access .top-access-branch > * {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 5;
  gap: 0;
}

@container top-access (max-width: 1269px) {
  .top-access .top-access-branch {
    row-gap: 4rem;
  }
  .top-access .top-access-branch > * {
    display: block;
  }
}
.top-access .top-access-address {
  letter-spacing: 0;
  margin-top: 1rem;
  line-height: 1.7;
}

.top-access a {
  text-decoration: none;
  letter-spacing: 0;
}

.top-access .top-access-branch .phone-number {
  line-height: 1;
  margin-top: 0.9rem;
  margin-bottom: 1.25rem;
}

.top-access .free-call {
  font-size: 1.875rem;
  font-weight: bold;
  color: var(--b-theme-color-1);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.top-access .free-call:before {
  content: "";
  display: block;
  width: 33px;
  height: 26px;
  background: url(/wp-content/themes/corporate-standard-2/assets/img/icon/icon-phone-freecall-blue.png) no-repeat center / contain;
  transform: translateY(3px);
}

.top-access .regular-phone {
  color: var(--font-color--base);
  font-size: 1.875rem;
}

.top-access .top-map {
  margin-top: 0;
  aspect-ratio: 2 / 1;
}

.top-access .top-access-branch .nearest-station {
  display: flex;
  column-gap: 0.75rem;
  align-items: start;
  letter-spacing: 5%;
  margin-top: 0.75rem;
}

.top-access .top-access-branch .nearest-station:before {
  content: "最寄駅";
  display: block;
  padding: 0.4rem 0.625rem;
  background: var(--b-theme-color-1);
  color: #fff;
  flex-shrink: 0;
  line-height: 1;
}

@media (max-width: 767px) {
  .top-access h3 {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    margin-bottom: 0.35rem;
  }
  .top-access h3 span {
    flex-shrink: 0;
  }
  .top-access h3:after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: #000;
    flex-shrink: 1;
  }
  .top-access .top-access-branch {
    row-gap: 2rem;
  }
  .top-access .top-access-branch .nearest-station {
    font-size: 0.8125rem;
    letter-spacing: 0;
    margin-top: 0;
  }
  .top-access .top-access-address {
    font-size: 0.9375rem;
  }
  .top-access .free-call {
    font-size: 1.25rem;
  }
  .top-access .free-call:before {
    width: 24px;
    height: 19px;
  }
  .top-access .regular-phone {
    font-size: 1.125rem;
  }
  .top-access .top-access-branch .phone-number {
    display: flex;
    align-items: baseline;
    gap: 0.1rem;
  }
}

/* POBコラム */
.top-contents .top-column {
  width: 1310px;
  max-width: 90%;
}

.top-column .barbpack-post-list-2 {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 305px), 1fr));
  gap: 0 1.875rem;
}

.top-column .barbpack-post-list-2 li {
  width: 100%;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 5;
  margin-bottom: 4rem;
}

.top-column .barbpack-post-list-2 figure {
  position: relative;
}

.top-column .barbpack-post-list-2 figure .post-categories {
  position: absolute;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  line-height: 1;
}
.top-column .barbpack-post-list-2 figure .post-categories li {
  display: inline-block;
  margin: 0;
  width: fit-content;
}
.top-column .barbpack-post-list-2 figure .post-categories a {
  text-decoration: none;
  color: #fff;
  background: var(--b-theme-color-1);
  font-size: 0.75rem;
  padding: 2px;
}

.top-column .entry-content > * {
  padding-left: 0;
  padding-right: 0;
}

.top-column .list-title a {
  color: #000;
  text-decoration: none;
  line-height: 1.8;
  font-size: 1.125rem;
  letter-spacing: 0;
}

.top-column .list-title a:hover {
  text-decoration: underline;
}

.top-column .entry-meta {
  color: #707070;
  font-size: 0.875rem;
  text-align: right;
  letter-spacing: 0;
}

.top-column .view_detail {
  margin-top: 2.25rem;
}

.top-column .view_detail a {
  color: #090e2c;
  font-size: 1.125rem;
  text-decoration: none;
  font-family: var(--font-mincho);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
}

.top-column .view_detail a:after {
  content: "";
  display: block;
  width: 31px;
  height: 31px;
  background: url("assets/img/top/icon-pob-column.svg") no-repeat center / contain;
}

@media (max-width: 767px) {
  .top-contents .top-column {
    max-width: 81.6%;
  }
  .top-column .barbpack-post-list-2 li {
    border: none;
    margin-bottom: 2rem;
  }
  .top-column .barbpack-post-list-2 figure {
    width: 100%;
  }

  .top-column .barbpack-post-list-2 .view_detail {
    margin-top: 1.5rem;
  }

  .top-column .barbpack-post-list-2 figure .post-categories li {
    padding: 0;
  }
}

/*---------------------------------
　ボディガード (bg)
  ---------------------------------*/

.area-bg h3 {
  border-bottom: none;
  margin-bottom: 1rem;
  padding-left: 0;
  color: var(--font-color--base);
  font-size: 1.3rem;
  border: none;
}

.area-bg h5:not(:first-child) {
  margin-top: 1rem;
}

.area-bg .bg-feature-wrap p {
  padding-left: 1.6rem;
}
/*カラム用インデント*/
p.indent_txt {
  padding-left: 1.6rem !important;
}

.area-bg .bg-feature-wrap p.link-arrow {
  margin-top: 0.5rem;
}

/*画像とテキストボックス 重なりレイアウト*/
/*navy-text-box 共通*/
.area-bg .navy-text-box {
  display: flex;
  flex-direction: column;
  background-color: #152a5ee6;
  color: #fff;
  padding: 40px;
  margin: 0;
  z-index: 2;
  position: relative;
  top: 3rem;
}
.area-bg .navy-text-box h3.case-title {
  font-family: var(--font-mincho);
  font-size: 1.6rem;
  font-weight: bold;
  margin-top: 0;
  margin-bottom: 3px;
  line-height: 1.4;
  color: #fff;
}
.area-bg .navy-text-box h3.case-title.mb-need {
  margin-bottom: 20px;
}
.area-bg .navy-text-box p.case-lead {
  font-size: 1.05rem;
  margin-top: 0;
  font-weight: bold;
}
.area-bg .navy-text-box .price-link {
  text-align: center;
  margin-top: auto;
  padding-top: 20px;
}
.area-bg .navy-text-box .price-link a {
  display: inline-block;
  align-items: center;
  justify-content: center;
  padding: 5px 10px 4px;
  width: 200px;
  border: 1px solid #fff;
  text-align: center;
  color: #fff;
  text-decoration: none;
  transition: all 0.3s ease;
  position: relative;
}
.area-bg .navy-text-box .price-link a::after {
  content: "→";
  margin-left: 0.5em;
  display: inline-block;
}
.area-bg .navy-text-box .price-link a:hover {
  background-color: rgba(255, 255, 255, 0.8);
  color: var(--color-navy);
  border-color: rgba(255, 255, 255, 0.9);
}

/* 【共通】配置の土台（グリッド設定） */
.layout-image-left,
.layout-image-right {
  display: grid;
  grid-template-columns: repeat(22, 1fr);
  margin-top: 3rem;
  margin-bottom: 6rem;
}

.layout-image-left > *,
.layout-image-right > * {
  grid-row: 1;
  max-width: none;
  width: 100%;
}

/* 【個別】座標の指定（ここで左右を分ける） */
/* --- 画像が左 --- */
.layout-image-left .wp-block-image,
.layout-image-left figure {
  grid-column: 1 / 13;
}
.layout-image-left .navy-text-box {
  grid-column: 12 / 23;
}

/* --- 画像が右 --- */
.layout-image-right .wp-block-image,
.layout-image-right figure {
  grid-column: 12 / 23;
}
.layout-image-right .navy-text-box {
  grid-column: 1 / 13;
}

@media screen and (max-width: 900px) {
  .area-bg .navy-text-box {
    top: 0;
  }
  .layout-image-left,
  .layout-image-right {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-bottom: 1rem;
  }
  .layout-image-left .wp-block-image,
  .layout-image-left figure,
  .layout-image-right .wp-block-image,
  .layout-image-right figure {
    width: 100%;
    margin: 0;
    order: 1;
  }
  .layout-image-left img,
  .layout-image-right img {
    display: block;
    width: 100%;
    height: auto;
  }
  .layout-image-left .navy-text-box,
  .layout-image-right .navy-text-box {
    width: 100%;
    padding: 30px 20px;
    order: 2;
    grid-column: auto;
    grid-row: auto;
    margin-top: 0;
  }
}

/*---------------------------------
　ストーカー対策 (stalker)
  ---------------------------------*/
.area-stalker .area-text-wrap {
  margin-top: 0;
}
.area-stalker h4 {
  margin-bottom: 0.5rem;
}

/* P・O・Bによるストーカー対応方策 */
.area-stalker-policy .link-arrow {
  padding-left: 2rem;
}

/*「女性相談室」のご案内*/
.is-consult .wp-block-columns {
  gap: 2rem;
  padding: 0.5rem;
}
.is-consult ul.simple-check-list {
  padding-left: 0;
  margin: 0;
}
.is-consult ul.simple-check-list li {
  position: relative;
  padding-left: 1.5em;
  margin-bottom: 0.6rem;
  font-size: 0.95rem;
  line-height: 1.5;
  color: var(--color-navy);
  font-weight: bold;
}
.is-consult ul.simple-check-list li::before {
  content: "➤";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--color-gold);
  font-size: 0.8rem;
}
.is-consult ul.simple-check-list li:last-child {
  margin-top: 1rem;
}
.is-consult ul.simple-check-list li:last-child::before {
  display: none;
}
.is-consult h4 {
  color: var(--color-box-red);
  text-align: center;
  margin-top: 0;
  margin-bottom: 1em;
}
.is-consult .wp-block-image {
  max-width: 400px;
  width: 100%;
  margin: 0 auto;
}
.is-consult .btn-orange {
  text-align: center;
}
.is-consult .btn-orange.link-arrow a {
  background-color: var(--color-box-red);
  outline: 2px solid var(--color-box-red);
  color: #fff;
  padding: 10px 30px;
  display: inline-block;
  border-radius: 4px;
  text-decoration: none;
  font-weight: bold;
  transition: 0.3s;
  border: none;
  font-size: 1rem;
  line-height: 1.8;
  margin: 0.5em auto;
}
.is-consult .btn-orange.link-arrow a:hover {
  background-color: #ffffff88;
  color: var(--color-box-red);
  border: none;
}
@media screen and (max-width: 767px) {
  .is-consult .is-consult-right {
    order: -2;
  }
}
@media screen and (min-width: 481px) {
  .is-consult .btn-orange br {
    display: none;
  }
}
@media screen and (max-width: 480px) {
  .is-consult h4 br {
    display: none;
  }
}

/* P・O・Bの強み */
/* ✔リストデザイン（見出しタイプ）*/
ul.blue-check-list {
  padding-left: 0;
}
ul.blue-check-list > li {
  color: var(--color-sub-blue);
  position: relative;
  padding-left: 2.5em;
  margin-bottom: 1.2rem;
  line-height: 1.7;
  font-size: 1.1rem;
  font-weight: bold;
}
ul.blue-check-list > li::before {
  content: "";
  position: absolute;
  left: 0.8em;
  top: 0.4em;
  width: 7px;
  height: 14px;
  border-right: 2.5px solid var(--color-sub-blue);
  border-bottom: 2.5px solid var(--color-sub-blue);
  transform: rotate(45deg);
}
ul.blue-check-list > li .wp-block-list {
  color: var(--font-color--base);
  padding-left: 0;
  font-size: 1rem;
  font-weight: normal;
}

/*ストーカーセルフディフェンス*/
/*リードエリア*/
.lead-header-area {
  text-align: center;
  margin: 2rem auto;
  max-width: 850px;
  padding: 0 20px;
}
.lead-header-area .sub-title {
  display: block;
  color: var(--color-gold);
  font-size: 0.95rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  margin-bottom: 0.5rem;
  text-transform: none;
}
.lead-header-area .main-title {
  display: block;
  color: var(--color-navy);
  font-size: 1.6rem;
  font-weight: bold;
  margin-top: 0;
  margin-bottom: 1.5rem;
  line-height: 1.4;
}
.lead-header-area .lead-text {
  font-size: 0.95rem;
  line-height: 1.8;
  color: var(--color-navy);
  font-weight: bold;
  margin: 0;
}

/*「ストーカー予備軍」4つの特徴*/
.area-stalker-intro.area-text-wrap .wp-block-image.alignleft,
.area-stalker-intro.area-text-wrap .wp-block-image.alignright {
  max-width: 280px;
  width: 30%;
}
@media (max-width: 767px) {
  .area-stalker-intro.area-text-wrap .wp-block-image.alignleft,
  .area-stalker-intro.area-text-wrap .wp-block-image.alignright {
    width: 100%;
    max-width: 440px;
  }
}

.area-stalker-types {
  color: var(--color-sub-blue);
}
.area-stalker-types h5 {
  background-color: var(--color-sub-bg);
  color: var(--color-sub-blue);
  padding: 0.5em 1em;
  font-size: 1.1rem;
  font-weight: bold;
  margin-top: 1.5rem;
  margin-bottom: 1rem;
  line-height: 1.4;
}
.area-stalker-types p {
  padding-left: 0.5rem;
  padding-right: 0.3rem;
}
.area-stalker-types ul {
  padding-left: 1.8rem;
  padding-right: 0.3rem;
  margin-top: 0;
  margin-bottom: 1rem;
}
.area-stalker-types li {
  list-style: disc;
}

/* 赤チェックリスト */
ul.red-check-list {
  padding-left: 0;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  max-width: 1100px;
  width: 100%;
}
ul.red-check-list li {
  position: relative;
  padding-left: 2.2em;
  margin-bottom: 0.6rem;
  line-height: 1.7;
  color: var(--color-check-red);
  font-weight: bold;
}
ul.red-check-list li::before {
  content: "";
  position: absolute;
  left: 0.8em;
  top: 0.45em;
  width: 6px;
  height: 12px;
  border-right: 2px solid var(--color-check-red);
  border-bottom: 2px solid var(--color-check-red);
  transform: rotate(45deg);
}

/*---------------------------------
　セキュリティシステム導⼊ (securitysystem)
  ---------------------------------*/

/* 防犯カメラ設置後の拡張業務 */
.area-security .info-box {
  padding: 1.5em 2em;
  /*max-width: 720px;*/
  margin-left: 0 !important;
}
.area-security .info-box .box-title {
  display: block;
  /*width: fit-content;*/
  border-bottom: 2px solid var(--color-navy);
  color: var(--color-navy);
  font-size: 1.1rem;
  font-weight: bold;
  margin-left: 0 !important;
  margin-bottom: 1rem;
}
.area-security .info-box ul {
  margin: 0.5rem auto 0;
}
@media (max-width: 767px) {
  .area-security .info-box {
    padding: 1.5em;
  }
}

/* 外部リンク専用リスト */
.area-security .cms-ext-link-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 1.5rem 0;
}
.area-security .cms-ext-link-list li {
  position: relative;
  padding-left: 1.5em;
  margin-bottom: 0.8rem;
}
.area-security .cms-ext-link-list a {
  text-decoration: none;
  color: var(--color-navy);
  font-weight: bold;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.area-security .cms-ext-link-list li::before {
  content: "➤";
  position: absolute;
  left: 0;
  color: var(--color-navy);
  font-size: 0.9em;
}
.area-security .cms-ext-link-list a::after {
  content: "\e89e";
  font-family: var(--icon-font-family);
  font-weight: normal;
  position: relative;
  top: 3px;
}
.area-security .cms-ext-link-list a:hover {
  background-color: var(--color-gold);
  background-color: #fffdd0;
}

/* 盗聴・盗撮機器の探索調査 */
.area-security .sec-search-columns {
  display: grid;
  grid-template-columns: 5fr 2fr;
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  .area-security .sec-search-columns {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}

/* 料⾦の⽬安 */
/* 料金テーブル全体の枠組み */
.area-security .cms-price-h4 {
  margin-bottom: 1rem;
}
.area-security .cms-price-table {
  /*max-width: 820px;削除*/
  border-collapse: collapse;
  width: 100%;
  border: 2px solid var(--color-navy);
  table-layout: fixed;
  margin: 1rem 0 1.5rem;
}
.area-security .cms-price-table td {
  padding: 12px 15px;
  vertical-align: middle;
  line-height: 1.5;
  font-size: 0.95rem;
}
.area-security .cms-price-table td:not(:last-child) {
  border-right: 1px var(--color-navy) dotted;
  border-bottom: 1px solid var(--color-navy);
}
.area-security .cms-price-table tr:first-child td:first-child {
  font-weight: bold;
  width: 120px;
  text-align: center;
}
.area-security .cms-price-table td:last-child {
  border-left: 1px solid var(--color-navy);
  width: 140px;
  text-align: right;
  font-size: 1.05rem;
  padding-right: 10px;
}
.area-security .cms-price-table tr:first-child td:nth-child(2) {
  border-left: 1px var(--color-navy) dotted;
  text-align: center;
  width: 340px;
}
.area-security .cms-price-table tr:first-child td:nth-child(3),
.area-security .cms-price-table tr:not(:first-child) td:first-child {
  border-left: 1px var(--color-navy) dotted;
}
.area-security .cms-price-table td {
  background-color: #fff;
}
.area-security .cms-price-table td:not(:last-child) {
  background-color: var(--color-gray-bg);
}

@media screen and (max-width: 1000px) {
  .area-security .cms-price-table tr:first-child td:nth-child(2) {
    width: auto;
    text-align: left;
  }
}

@media screen and (max-width: 600px) {
  .area-security .cms-price-table tr:first-child td:first-child {
    width: 46px;
  }
  .area-security .cms-price-table tr:first-child td:nth-child(2) {
    width: 30%;
  }
  .area-security .cms-price-table td:last-child {
    width: 110px;
    font-size: 1rem;
    padding-right: 5px;
  }
}

.area-security .common-notes {
  margin: 0 0 2rem;
  padding-left: 0.25rem;
}
.area-security .common-notes li {
  margin-bottom: 0.2rem;
}

/*---------------------------------
　商業施設向け危機管理コンサルティング (crisis-retail)
  ---------------------------------*/

/*P・O・Bが提供する「危機管理コンサルティング」とは*/
.area-crisis-retail .info-box {
  margin: auto;
  max-width: 480px;
  width: 100%;
  padding: 1.5em 2.5em;
}
.area-crisis-retail .cmr-box-title {
  color: var(--color-navy);
  font-size: 1.1rem;
  font-weight: bold;
  text-align: center;
  border-bottom: 2px solid var(--color-navy);
  display: inline;
  padding-left: 0.2em;
}
.area-crisis-retail .cmr-box-title span {
  display: inline-block;
}
.area-crisis-retail .cmr-check-list {
  color: var(--color-navy);
  padding-left: 0;
}
.area-crisis-retail .cmr-check-list li {
  position: relative;
  padding-left: 1.8em;
  margin-bottom: 0.8rem;
  line-height: 1.5;
  font-weight: bold;
}
.area-crisis-retail .cmr-check-list li::before {
  content: "✔";
  position: absolute;
  left: 0;
  color: var(--font-color--base);
}
@media (max-width: 480px) {
  .area-crisis-retail .info-box {
    padding: 1em 1.5em;
  }
}

/* グレーの補足ボックス */
.cmr-gray-info-box {
  background-color: var(--color-gray-bg);
  color: var(--color-sub-blue);
  padding: 1.5rem 2rem 1.2rem;
  margin: 3rem auto;
  /*max-width: 900px;*/
  text-align: center;
  border-radius: 2px;
  font-weight: bold;
}
.cmr-gray-info-box ul {
  display: inline-block;
  text-align: left;
  padding: 0;
  margin: 0 auto;
}
.cmr-gray-info-box ul li {
  position: relative;
  padding-left: 1.25em;
  line-height: 1.6;
  margin-bottom: 0.3rem;
}
.cmr-gray-info-box ul li::before {
  content: "●";
  position: absolute;
  left: 0;
  color: var(--color-sub-blue);
  font-family: sans-serif;
  font-weight: 900;
  top: -0.07em;
  margin-right: 0.1em;
}
@media (max-width: 767px) {
  .cmr-gray-info-box {
    padding: 1.2rem 1.2rem 1rem;
    margin: 2rem auto;
  }
  .cmr-gray-info-box ul li::before {
    top: -0.15em;
  }
}

/*対応事例*/
.cmr-case-section {
  margin-top: 3rem;
  margin-bottom: 3rem;
  gap: 3rem;
}
.cmr-case-card {
  min-height: 280px;
  padding: 2.5rem !important;
  margin-top: 0 !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  font-family: var(--font-mincho);
}
.cmr-case-card .case-number {
  font-size: 1rem !important;
  font-weight: bold;
  color: #fff;
  margin-bottom: 0.5rem;
  display: block;
}
.cmr-case-card .case-title {
  font-size: 1.5rem !important;
  font-weight: bold;
  color: #fff;
  line-height: 1.4;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
  margin-top: 0;
}
.cmr-case-description {
  font-size: 0.95rem;
  line-height: 1.8;
  margin: 1.5rem 0.5rem;
  color: var(--font-color--base);
}
.cmr-case-description p:first-child {
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 0.1em;
}
.cmr-case-description p:nth-child(2) {
  margin-top: 0;
}

/*---------------------------------
　企業対象の暴⼒対策（カスハラ、不当要求等） (violence)
  ---------------------------------*/

.area-anti-violence .area-text-wrap .wp-block-image.alignleft {
  max-width: 300px;
  width: 100%;
}
.area-anti-violence ul.check-list {
  font-weight: bold;
  margin: 1rem auto 3rem;
  /*max-width: 720px;*/
  width: 100%;
}
.area-anti-violence .check-list li {
  line-height: 1.8;
}
.area-anti-violence .asterisk-notes {
  color: var(--color-navy);
  font-weight: bold;
}
.area-anti-violence .wavy-line.mt0 {
  margin-top: 0;
}
@media (max-width: 1000px) {
  .area-anti-violence .area-text-wrap .wp-block-image.alignleft {
    max-width: 250px;
  }
}
@media (max-width: 767px) {
  .area-anti-violence .area-text-wrap .wp-block-image.alignleft {
    max-width: 400px;
  }
}

/* 不当要求セルフディフェンス（自己防衛策） */
.area-anti-violence .av-rules-list {
  /*color: var(--color-navy);*/
  color: #000;
}
/*説明のインデント*/
.area-anti-violence .av-rules-list p:not(.navy-bar) {
  margin-top: -10px;
  padding-left: 40px;
  padding-bottom: 10px;
}

/*---------------------------------
　企業秘密（営業秘密）の危機管理対策 (crisis-management)
  ---------------------------------*/

/* 企業の危機管理対策の基本 */
.area-crisis-secret .cms-compare-row {
  display: grid;
  grid-template-columns: 9fr 1fr 9fr;
  gap: 20px;
  margin: 2rem 0 3rem;
}
.area-crisis-secret .cms-compare-box {
  padding: 2rem;
  display: flex;
  flex-direction: column;
  height: 100%;
  color: var(--color-navy);
}
.area-crisis-secret .cms-bg-gray {
  background-color: var(--color-gray-bg);
}
.area-crisis-secret .cms-bg-yellow {
  background-color: var(--color-box-bg);
}
.area-crisis-secret .cms-compare-box .box-inner-title {
  display: block;
  width: fit-content;
  border-bottom: 2px solid var(--color-navy);
  font-size: 1.1rem;
  font-weight: bold;
}
.area-crisis-secret .cms-compare-box ul {
  font-size: 0.95rem;
  line-height: 2;
  padding-left: 1.3em;
  margin-top: 1em;
}
.area-crisis-secret .cms-compare-box li {
  list-style: disc;
}

/* --- 矢印 --- */
.area-crisis-secret .cms-arrow {
  width: 100%;
  /*height: 100px;*/ /*上下センタリング*/
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.area-crisis-secret .cms-arrow::before {
  content: "";
  display: block;
  background-color: var(--color-navy);
  width: 40px;
  height: 25px;
  position: absolute;
  top: 50%;
  left: 40%;
  transform: translate(-50%, -50%);
}
.area-crisis-secret .cms-arrow::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 35%;
  border-top: 25px solid transparent;
  border-bottom: 25px solid transparent;
  border-left: 30px solid var(--color-navy);
  transform: translate(15px, -50%);
}

.area-crisis-secret .cms-compare-box figure,
.area-crisis-secret .cms-compare-box img {
  margin-top: auto !important;
  padding-top: 0.75rem;
}

@media (max-width: 767px) {
  .area-crisis-secret .cms-compare-row {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .area-crisis-secret .cms-arrow {
    height: 60px;
    margin: 10px 0;
  }
  .area-crisis-secret .cms-arrow::before {
    width: 30px;
    height: 30px;
    left: 50%;
    top: 35%;
  }
  .area-crisis-secret .cms-arrow::after {
    border-left: 33px solid transparent;
    border-right: 33px solid transparent;
    border-top: 25px solid var(--color-navy);
    border-bottom: 0;
    left: 50%;
    top: 10%;
    transform: translate(-50%, 20px);
  }
  .area-crisis-secret .cms-compare-box {
    width: 100%;
    min-height: auto;
  }
}

@media (max-width: 460px) {
  .area-crisis-secret .cms-compare-box {
    padding: 1.5rem;
  }
}

/* 企業の危機管理・5つのポイント */
.area-crisis-secret .area-cms-point img {
  display: block;
  max-width: 1000px;
  width: 100%;
  margin: 2rem auto 3rem;
}

@media (max-width: 767px) {
  .area-crisis-secret .area-cms-point img {
    margin: 0 auto 0;
  }
}

.area-crisis-secret .area-cms-point p {
  margin: 0.25rem 0;
}
.area-crisis-secret .area-cms-point h4 {
  font-size: 1.2em;
  margin-top: 2rem;
  margin-bottom: 0.15rem;
}
.area-crisis-secret .area-cms-point h4::before {
  content: "●";
  font-family: sans-serif;
  margin-right: 0.25em;
}

.area-crisis-secret h4.c-red {
  color: #ca2626;
}
.area-crisis-secret h4.c-orange {
  color: #ec6410;
}
.area-crisis-secret h4.c-green {
  color: #089039;
}
.area-crisis-secret h4.c-blue {
  color: #0f72bc;
}
.area-crisis-secret h4.c-brown {
  color: #836e5a;
}

.area-crisis-secret .cms-arrow-text {
  font-weight: bold;
  margin-bottom: 0.8rem;
  padding-left: 1.6em;
  text-indent: -1.6em;
  line-height: 1.6;
}

.area-crisis-secret h4.c-red + .cms-arrow-text {
  color: #ca2626;
}
.area-crisis-secret h4.c-orange + .cms-arrow-text {
  color: #ec6410;
}
.area-crisis-secret h4.c-green + .cms-arrow-text {
  color: #089039;
}
.area-crisis-secret h4.c-blue + .cms-arrow-text {
  color: #0f72bc;
}
.area-crisis-secret h4.c-brown + .cms-arrow-text {
  color: #836e5a;
}

.area-crisis-secret .area-cms-point .cms-point-note {
  font-weight: bold;
  font-size: 0.95rem;
  margin-top: 1rem;
}

/* ネイビー枠ボックス */
.area-crisis-secret .cms-navy-box {
  border: 3px solid var(--color-navy);
  padding: 1.5rem 2rem;
  margin: 2rem 0;
  background-color: #fff;
  color: var(--color-navy);
}

.area-crisis-secret .cms-navy-box .box-title {
  display: block;
  font-weight: bold;
  font-size: 1.1rem;
}
@media (max-width: 767px) {
  .area-crisis-secret .cms-navy-box {
    padding: 1rem 1.5rem;
  }
}
.area-crisis-secret .cms-w-narrow {
  /*max-width: 810px;*/
  margin-left: 0 !important;
}

/* 暴⼒団等、反社会的勢⼒が絡む事案が増加 */
.area-crisis-secret .cms-navy-list {
  padding: 0;
  margin: 1rem 0 auto;
}
.area-crisis-secret .cms-navy-list li {
  position: relative;
  padding-left: 1.5em;
  margin-bottom: 0.8rem;
  color: var(--color-navy);
  font-weight: bold;
  line-height: 1.6;
}
.area-crisis-secret .cms-navy-list li::before {
  content: "▶";
  position: absolute;
  left: 0;
  font-size: 0.9em;
}

/* P・O・Bの産業スパイ対策 */
.area-crisis-secret .cms-gold-row {
  margin: 2rem 0;
  gap: 2rem;
}
.area-crisis-secret .cms-gold-box {
  border: 2px solid var(--color-gold);
  padding: 1rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  background-color: #fff;
  color: var(--color-gold);
}
.area-crisis-secret .cms-gold-box .sub-text {
  display: block;
  font-size: 0.85rem;
  margin-bottom: 0.1rem;
}
.area-crisis-secret .cms-gold-box .main-text {
  display: block;
  font-size: 1.1rem;
  font-weight: bold;
  margin-top: 0;
}
@media (max-width: 767px) {
  .area-crisis-secret .cms-gold-row {
    gap: 1rem;
    max-width: 400px;
    width: 100%;
    margin: 1rem auto;
  }
}

/* 「ボディガード・セキュリティー・探偵」三位一体で総合的に対策 */
.area-crisis-secret .cms-trinity-row h4 {
  clear: none;
  margin-bottom: 0.5rem;
}
.area-crisis-secret .cms-trinity-row .link-arrow p {
  margin-top: 0.5em;
}
.area-crisis-secret .cms-trinity-detail h4 {
  margin-bottom: 0.5rem;
}
.area-crisis-secret .cms-trinity-detail h4:not(:first-child) {
  margin-top: 2rem;
}
.area-crisis-secret .cms-trinity-detail {
  margin-bottom: 4rem;
}

@media (max-width: 767px) {
  .area-crisis-secret .cms-trinity-row {
    display: flex;
    flex-direction: column;
  }
  .area-crisis-secret .cms-trinity-row h4 {
    order: 1;
  }
  .area-crisis-secret .cms-trinity-row figure {
    order: 2;
    float: none !important;
    margin: 0 0 1.5rem 0 !important;
    width: 100%;
  }
  .area-crisis-secret .cms-trinity-row p {
    order: 3;
  }
  .area-crisis-secret .cms-trinity-row .link-arrow {
    order: 4;
    margin-left: 0 !important;
    margin-top: 0.5rem;
  }
}

/* 3色テーブル */
.area-crisis-secret .cms-spec-table {
  border-collapse: collapse;
  width: 100%;
  table-layout: fixed;
  margin-bottom: 2rem;
}
/*スマホ用　追加*/
@media (max-width: 767px) {
  .area-crisis-secret .cms-spec-table {
    margin-bottom: -20px;
  }
}

.area-crisis-secret .cms-spec-table th,
.area-crisis-secret .cms-spec-table td {
  border: 2px solid var(--color-navy);
  padding: 8px 10px;
  vertical-align: middle;
}
.area-crisis-secret .cms-spec-table tr:nth-child(1) td {
  background-color: var(--color-navy);
  color: #fff;
  text-align: center;
  font-weight: bold;
  font-size: 1.2rem;
}
.area-crisis-secret .cms-spec-table tr:nth-child(2) td {
  background-color: var(--color-sub-blue);
  color: #fff;
  font-size: 0.9rem;
  line-height: 1.6;
}
.area-crisis-secret .cms-spec-table tr:nth-child(3) td {
  background-color: var(--color-lt-gray-bg);
  color: var(--color-navy);
  vertical-align: top;
  font-size: 0.85rem;
  line-height: 1.5;
}
.area-crisis-secret .cms-spec-table tr:nth-child(3) td strong {
  display: block;
  font-size: 1rem;
  margin-bottom: 5px;
  text-align: center;
}
.area-crisis-secret .cms-spec-table-right p:nth-child(2) {
  margin-top: 1px;
}
.area-crisis-secret ul.check-list {
  margin: 0.2em auto;
}

/* ⼈事管理の重要性とリスク回避策 */
/* 親コンテナ：幅の制限と中央寄せ */
.area-crisis-secret .cms-wc-narrow {
  max-width: 850px;
  margin: 2rem auto;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.area-crisis-secret .cms-wc-narrow .cms-navy-box {
  width: 100%;
  margin: 0 auto;
}
.area-crisis-secret .cms-wc-narrow .cms-navy-box .box-title {
  display: block;
  text-align: center;
  margin: 0 auto 1rem;
  border-bottom: 2px solid var(--color-navy);
}

/* ネイビーボックス間の下向き矢印 */
.area-crisis-secret .cms-down-arrow {
  display: block;
  width: 60px;
  height: 30px;
  background-color: var(--color-navy);
  margin: 0 auto 1.5rem;
  position: relative;
  flex-shrink: 0;
}
.area-crisis-secret .cms-down-arrow::after {
  content: "";
  position: absolute;
  bottom: -25px;
  left: 50%;
  transform: translateX(-50%);
  border-top: 30px solid var(--color-navy);
  border-left: 50px solid transparent;
  border-right: 50px solid transparent;
}
@media (max-width: 767px) {
  .area-crisis-secret .cms-wc-narrow .cms-navy-box {
    width: 100%;
  }
}

/*---------------------------------
　グローバルサービス (global)
  ---------------------------------*/

/* グローバル展開における主要サービス */
/* テーブル */
.area-global .global-service-table {
  border-collapse: collapse;
  border: none !important;
  outline: none !important;
  width: 100%;
  border: 1px solid var(--color-navy);
  margin: 1rem 0 2rem;
}

/* ヘッダー：ネイビー背景・白文字 */
.area-global .global-service-table th {
  background-color: var(--color-navy);
  color: #fff;
  padding: 15px;
  text-align: left;
  font-weight: bold;
  border: 1px solid var(--color-navy); /*tdとの凹み調整*/
}
/*追加：最初のthの要素のみ*/
.area-global .global-service-table th:first-child {
  border-right: 1px solid #fff;
}

.area-global .global-service-table th:first-child,
.area-global .global-service-table td:first-child {
  width: 30%;
}
.area-global .global-service-table td {
  border: 1px solid var(--color-navy);
  padding: 15px 20px;
  vertical-align: middle;
  line-height: 1.6;
}
.area-global .global-service-table td:first-child {
  background-color: var(--color-gray-bg);
  color: var(--color-navy);
  font-weight: bold;
}
.area-global .global-service-table td:last-child {
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .area-global .global-service-table th,
  .area-global .global-service-table td {
    padding: 10px;
    font-size: 0.9rem;
  }
  .area-global .global-service-table td:first-child {
    width: 35%;
  }
}

/* グローバル提携セクションのカラム制御 */
.area-global .global-partnership-row {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 2rem;
}
.area-global .global-partnership-row .info-box {
  margin: 0;
  color: var(--color-navy);
  font-size: 0.95rem;
}
.area-global .global-partnership-row .info-box img {
  display: block;
  margin: 0 auto 1rem;
}
.area-global .global-partnership-row .alignleft {
  margin-right: 2rem;
  max-width: 50%;
}
.area-global .ionasia.info-box {
  padding-top: 1rem;
  padding-left: 3rem;
  padding-right: 3rem;
  padding-bottom: 3rem;
}

/*注釈用テキスト*/
.info-box span.s_txt {
  display: block;
  margin: 10px 0 0 0;
  font-size: 0.9rem;
  line-height: 20px;
}

.area-global .ionasia h4 {
  text-align: center;
}
.area-global .ionasia .lead-text {
  font-weight: bold;
  /*font-size: 1.1rem;*/
}
@media screen and (max-width: 767px) {
  .area-global .global-partnership-row {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .area-global .global-partnership-row .alignleft {
    max-width: 500px;
    width: 100%;
  }
  .area-global .global-partnership-row .info-box {
    max-width: 400px;
    width: 100%;
    margin: auto;
  }
}

/*---------------------------------
　会社案内 (company)
  ---------------------------------*/
/* ご挨拶 */
.area-company .area-co-greeting {
  font-family: var(--font-mincho);
  font-weight: bold;
}

/*追加*/
.area-company .area-co-greeting p {
  font-size: 1.03125rem; /*16.5px相当　元16px*/
  line-height: 25px;
}

.area-co-greeting .co-signature {
  margin-top: 2.5rem;
  text-align: right;
  clear: both;
}
.area-co-greeting .co-signature .company-name {
  line-height: 1.25;
}
.area-co-greeting .co-signature .ceo-name {
  margin-top: 0;
}
.area-co-greeting .co-signature .ceo-name span {
  font-size: 1.4rem;
}
@media screen and (min-width: 900px) {
  .area-co-greeting .area-text-wrap .wp-block-image.alignleft {
    max-width: 25%;
  }
}
@media screen and (max-width: 767px) {
  .area-co-greeting .area-text-wrap .wp-block-image.alignleft {
    max-width: 300px;
    width: 100%;
  }
}

/* 代表取締役 プロフィール */
.area-co-profile .info-box {
  color: var(--color-navy);
  padding: 2rem;
}
@media screen and (max-width: 767px) {
  .area-co-profile .info-box {
    padding: 1.5rem;
  }
}

/* 代表取締役 森川浩孝プロフィール */
/* table：横線のみ（縦線・外枠左右なし） */
.area-company .wp-block-table span {
  display: inline-block;
}
.area-co-profile h3 {
  margin-bottom: 0;
}
.area-company .co-line-table {
  width: 100%;
  border-collapse: collapse;
  border-top: none; /* 表の始まりを強調 */
  margin-top: 0;
  margin-bottom: 3rem;
}
.area-company .co-line-table td {
  padding: 15px 10px;
  border-width: 0 0 1px 0;
  border-style: solid;
  border-color: var(--color-sub-blue);
  text-align: left;
  vertical-align: top;
  line-height: 1.6;
}
.area-company .co-line-table td:first-child {
  width: 30%;
  padding-left: 1rem;
  vertical-align: inherit;
}

@media screen and (max-width: 900px) {
  .area-company .co-line-table td:first-child {
    width: 220px;
    padding-left: 0.75rem;
  }
  .area-company .co-line-table td {
    padding: 10px;
  }
}
@media screen and (max-width: 767px) {
  .area-company .co-line-table tbody {
    display: block;
  }
  .area-company .co-line-table tbody tr,
  .area-company .co-line-table tbody tr td {
    display: block;
    width: 100%;
  }
  .area-company .co-line-table tbody tr td:first-child {
    border-bottom: none;
  }
  .area-company .co-line-table tbody tr td:last-child {
    padding-top: 0;
    padding-left: 2.25rem;
  }
}

/* P・O・Bとは */
.area-company .area-co-about .wp-block-image.alignright {
  width: 30%;
}
.area-company .area-co-about .img-chart {
  max-width: 800px;
  width: 100%;
  margin: 2rem auto;
}
.area-company .area-co-about .info-box {
  max-width: 800px;
  width: 100%;
  padding: 1.5rem 2rem;
  margin: 1.5rem auto;
}
.area-company .area-co-about .common-notes {
  margin: 0;
}
.area-company .area-co-about .common-notes li:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .area-company .area-co-about .wp-block-image.alignright {
    max-width: 450px;
    width: 100%;
  }
}

/* 会社概要 */
/* table：グレー背景＋横線（縦線なし） */
.area-company .co-summary-table {
  width: 100%;
  border-collapse: collapse;
  border-left: none;
  border-right: none;
  margin: 2rem 0;
}
.area-company .co-summary-table th,
.area-company .co-summary-table.wp-block-table td {
  padding: 15px 20px;
  border-width: 1px 0;
  border-style: solid;
  border-color: var(--color-sub-blue);
  text-align: left;
}
.area-company .co-summary-table th {
  background-color: var(--color-gray-bg);
  color: #000;
  width: 25%;
}
.area-company .co-summary-table a {
  text-decoration: none;
}
@media screen and (max-width: 900px) {
  .area-company .co-summary-table th {
    padding: 10px 20px;
    width: 180px;
  }
  .area-company .co-summary-table td {
    padding: 10px;
  }
}
@media screen and (max-width: 767px) {

  .area-company .co-summary-table tbody {
    display: block;
  }
  .area-company .co-summary-table tr,
  .area-company .co-summary-table th,
  .area-company .co-summary-table td {
    display: block;
    width: 100%;
  }
  .area-company .co-summary-table th {
    border-bottom: none;
  }
  .area-company .co-summary-table td {
    border-width: 0 !important;
  }
  .area-company .co-summary-table tr:last-child td {
    border-bottom-width: 1px !important;
  }
}

.area-company .area-co-summary .wp-block-image {
  max-width: 640px;
  width: 100%;
  margin: 2rem auto;
}
@media screen and (max-width: 767px) {
  .area-company .area-co-summary .wp-block-image {
    max-width: 500px;
  }
}

/* ネイビーボックス（特約社案内用） */
.area-company .co-navy-fill-box {
  background-color: var(--color-navy);
  color: #ffffff;
  padding: 30px;
  margin: 2rem 0;
  text-align: center;
}
.area-company .co-navy-fill-box h3 {
  color: var(--color-navy);
  background-color: #ffffff;
  border: none;
  margin-top: 0;
  padding: 0.5em;
  padding-bottom: 5px;
  margin-bottom: 20px;
  font-size: 1.25rem;
}
.area-company .co-navy-fill-box p {
  text-align: left;
  font-size: 0.95rem;
  line-height: 1.8;
}

/* 【⾸都圏対応】P・O・B東京⽀社のご案内 */
.area-co-tokyo .co-tokyo-columns {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 2rem;
}
@media screen and (max-width: 900px) {
  .area-co-tokyo .co-tokyo-columns {
    grid-template-columns: 1fr;
  }
  .area-co-tokyo .co-tokyo-columns .right-column {
    order: -1;
  }
  .area-co-tokyo .co-tokyo-columns .wp-block-image {
    max-width: 500px;
    width: 100%;
    text-align: center;
    margin: auto;
  }
}

/* ゴールド枠ボックス（東京支社・所在地用） */
.area-company .co-gold-border-box {
  border: 2px solid var(--color-gold);
  padding: 20px 25px;
  background-color: #ffffff;
  margin: 1.5rem 0;
}
.area-company .co-gold-border-box ul {
  padding: 0;
  margin: 0;
}
.area-company .co-gold-border-box ul li {
  position: relative;
  padding-left: 1.5em;
  line-height: 1.8;
  margin-bottom: 8px;
}
.area-company .co-gold-border-box ul li::before {
  content: "■";
  position: absolute;
  color: var(--color-gold);
  left: 0;
  top: -2px;
  font-family: sans-serif;
}
.area-company .co-gold-border-box ul li:last-child {
  margin-bottom: 0;
}

/* Googleマップ */
.map-container {
  position: relative;
  padding-bottom: 35%;
  height: 0;
  overflow: hidden;
  margin: 2rem 0 3rem;
}

.map-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  border: 0;
}
@media screen and (max-width: 900px) {
  .map-container {
    padding-bottom: 56.25%;
  }
}

/* ボディーガード（身辺警備） */
.area-company .co-bg-wrap ul {
  margin-bottom: 0.5rem;
}
.area-company .co-bg-wrap .disc-list li {
  color: var(--font-color--base);
  line-height: 1.8;
}
.area-company .co-bg-wrap .under-list-p {
  padding-left: 0.1rem;
}

/*---------------------------------
　料金のご案内 (fee)
  ---------------------------------*/
.entry-content .area-fee h4.h4-diamond {
  margin-top: 1.5rem;
}

/* 記載の料⾦はすべて税別料⾦です。 */
.area-fee .fee-center-note {
  display: block;
  text-align: center;
}
.area-fee .fee-center-note li {
  display: inline-block;
}

/* 【危険度の区分】：グレーボックス */
.area-fee .fee-gray-box {
  background-color: var(--color-gray-bg);
  padding: 2rem;
  margin: 2rem auto;
  margin-left: 0 !important;
  border-radius: 4px;
  /*max-width: 560px;*/
}
.area-fee .fee-gray-box .box-inner-title {
  display: block;
  font-weight: bold;
  margin-bottom: 0.5rem;
}
.area-fee .fee-gray-box ul {
  margin: 0 auto;
  padding: 0;
}
.area-fee .fee-gray-box ul li {
  line-height: 2;
  font-size: 0.95rem;
}
.area-fee .fee-bg-note {
  margin-left: 0 !important;
  max-width: 800px;
  width: 100%;
}
.area-fee .fee-bg-note li {
  display: inline-block;
  margin-right: 0.5em;
}

/* 料金表テーブル全体のスタイル */
.area-fee .area-fee-bg .wp-block-table {
  margin: 1rem 0;
}
.area-fee .area-fee-bg table {
  border-collapse: collapse;
  border: 2px solid var(--color-sub-blue);
  /*max-width: 700px;*/
}
.area-fee .area-fee-bg table span {
  display: inline-block;
}
.area-fee .area-fee-bg table tr:first-child span {
  font-size: 0.85rem;
}
.area-fee .area-fee-bg table th,
.area-fee .area-fee-bg table td {
  border: 1px solid var(--color-sub-blue);
  padding: 0.5rem;
  text-align: center;
  vertical-align: middle;
}
.area-fee .area-fee-bg table tr:first-child th,
.area-fee .area-fee-bg table tr:first-child td {
  border-bottom: 3px solid var(--color-sub-blue);
}
.area-fee .area-fee-bg table tr td:first-child,
.area-fee .area-fee-bg table tr th:first-child {
  background-color: var(--color-gray-bg);
  font-weight: bold;
}
.area-fee .area-fee-bg tr:nth-child(2) td:first-child {
  background-image: linear-gradient(to right bottom, transparent calc(50% - 0.5px), var(--color-sub-blue) 50%, var(--color-sub-blue) calc(50% + 0.5px), transparent calc(50% + 1px));
  background-repeat: no-repeat;
}
.area-fee .fee-note {
  font-size: 0.85rem;
  margin-top: 0.5rem;
  margin-bottom: 2rem;
  color: var(--font-color--base);
}

/* 料金ページ：適用料金の詳細インデント */
.area-fee .fee-apply-details {
  padding-left: 2em;
  margin: 0.75rem 0 1.25rem;
  line-height: 1.8;
}
@media (max-width: 767px) {
  .area-fee .fee-apply-details {
    padding-left: 1.2em;
  }
}

/* 料金ページ：ネイビー枠の白ボックス */
.area-fee .fee-price-box {
  background-color: #fff;
  border: 2px solid var(--color-sub-blue);
  padding: 1rem;
  margin: 1.5rem auto;
  margin-left: 0 !important;
  text-align: center;
  border-radius: 2px;
  /*max-width: 700px;*/
}
.area-fee .fee-price-box .price-text {
  font-size: 1.2rem;
}
.area-fee .fee-price-box span {
  font-size: 0.9rem;
}
@media (max-width: 767px) {
  .area-fee .fee-price-box {
    padding: 0.75rem;
    margin-bottom: 1rem;
  }
}

/* 料金ページ：〇リスト */
.area-fee .fee-gold-list {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 1.5rem 0;
}
.area-fee .fee-gold-list li {
  position: relative;
  padding-left: 1.5em;
  line-height: 2;
}
.area-fee .fee-gold-list li::before {
  content: "●";
  position: absolute;
  left: 0;
  top: -3px;
  color: var(--color-gold);
  font-size: 1.1em;
  font-family: sans-serif;
}

/* その他、各種サービスの料金について */
.area-fee .fee-other-overview a {
  font-weight: bold;
  color: var(--color-check-red);
  border-bottom: 1px solid var(--color-check-red);
  text-decoration: none;
}
.area-fee .fee-other-overview a:hover {
  color: var(--color-gold);
  border-bottom: 1px solid var(--color-gold);
}
.area-fee .area-other-service p {
  padding-left: 0.5em;
  text-indent: -0.2em;
}
.area-fee .area-other-service .link-arrow a {
  line-height: 1.4;
  display: inline-block;
  margin-left: 0.5rem;
  padding-left: 5px;
  padding-right: 2px;
}
.area-fee .area-other-service strong {
  color: var(--color-sub-blue);
  margin-right: 0.5em;
}
.area-fee .area-fee-other .link-arrow {
  margin-top: 0;
}

/* 探偵調査テーブル */
.area-fee .fee-investigation-table {
  /*max-width: 800px;削除*/
  border-collapse: collapse;
  width: 100%;
  border: 2px solid var(--color-navy);
  margin: 1.5rem 0;
}
.area-fee .fee-investigation-table td {
  border: 1px solid var(--color-navy);
  padding: 12px 15px;
  vertical-align: middle;
  line-height: 1.5;
  font-size: 0.95rem;
}
.area-fee .fee-investigation-table td:first-child {
  background-color: var(--color-gray-bg);
  color: var(--color-navy);
  font-weight: bold;
  width: 20%;
  text-align: center;
}
.area-fee .fee-investigation-table td:last-child {
  background-color: #fff;
  width: 80%;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .area-fee .fee-investigation-table td:first-child {
    width: 30%;
    font-size: 0.9rem;
    padding: 10px;
  }
}

/*---------------------------------
　実績・事例 (case)
  ---------------------------------*/
.area-case h4 {
  margin-top: 2rem;
  color: var(--color-navy);
}
.area-case h5.case-lead {
  text-align: center;
  color: var(--color-navy);
  margin-bottom: 1rem;
}
.area-case h5 {
  margin-top: 1rem;
}
/*---------------------------------
　サイトマップ (sitemap)
  ---------------------------------*/
.area-sitemap {
  /*WPに入っていたcssを転用*/
  max-width: 1000px;
}

.sitemap-list {
  list-style: none;
  padding: 0 !important;
  margin: 2rem 0;
  column-count: 3;
  column-gap: 20px;
}
.sitemap-list > li {
  background-color: #fff;
  border-left: 4px solid var(--color-navy);
  padding: 15px 20px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  margin-bottom: 20px;
  break-inside: avoid;
  display: inline-block;
  width: 100%;
}
.sitemap-list li ul {
  list-style: none;
  padding: 10px 0 0 15px !important;
  margin: 0;
  font-weight: normal;
}

.sitemap-list li ul li {
  position: relative;
  padding: 5px 0 5px 15px;
  font-size: 0.9rem;
}

.sitemap-list li ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.9rem;
  width: 6px;
  height: 6px;
  background-color: var(--color-gold);
  border-radius: 50%;
}

.sitemap-list a {
  color: var(--color-text-muted);
  text-decoration: none;
  transition: color 0.3s;
}

.sitemap-list a:hover {
  color: var(--color-gold);
  text-decoration: underline dotted var(--color-gold);
}

@media screen and (max-width: 900px) {
  .sitemap-list {
    column-count: 2;
  }
}
@media screen and (max-width: 600px) {
  .sitemap-list {
    column-count: 1;
  }
}

/*---------------------------------
　プライバシーポリシー (privacy)
  ---------------------------------*/

.area-privacy ul.disc-list {
  margin-top: 1rem;
}
.area-privacy ul.disc-list li {
  color: var(--font-color--base);
}
.area-privacy a {
  border-bottom: 1px solid var(--color-navy);
}
.area-privacy a:hover {
  color: var(--color-gold);
  border-bottom: 1px solid var(--color-gold);
}

/*---------------------------------
　J・P・O合同調査会社 (jpo)
  ---------------------------------*/

/* J・P・O『4つの安心』 */
.area-jpo .jpo-mind h4:first-child {
  margin-top: 0;
}
.area-jpo .jpo-mind h4 {
  margin-bottom: 0;
  font-size: 1.2rem !important;
}
.area-jpo .jpo-mind h4:not(:first-child) {
  margin-top: 1.5rem;
}
.area-jpo .jpo-mind p {
  padding-left: 1.3rem;
  margin-bottom: 1.2rem;
}

/* 具体的な調査事例 */
.area-jpo .info-box {
  /*max-width: 600px;削除*/
  color: var(--color-navy);
}
.area-jpo .info-box .box-title {
  font-size: 1.1rem;
  font-weight: bold;
  text-align: center;
  border-bottom: 2px solid var(--color-navy);
  display: inline-block;
  line-height: 1.25;
}
.area-jpo .info-box .disc-list {
  margin-top: 1.5rem;
  font-weight: bold;
}
.area-jpo .info-box .disc-list li {
  line-height: 1.8;
}
.area-jpo .info-box .common-notes {
  margin-bottom: 0;
  padding-left: 0.5rem;
}

.area-jpo .area-jpo-cases h3 {
  margin-top: 2.5rem;
}
.area-jpo .area-jpo-cases .area-text-wrap h5 {
  clear: unset;
}
.area-jpo .area-jpo-cases .area-text-wrap p {
  margin-bottom: 1rem;
}
.area-jpo .area-security h4 {
  margin-top: 2.5rem;
  margin-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  .area-jpo .info-box {
    padding: 1.5rem 2rem;
  }
}

/* ==========================================
   カテゴリーボタン
   ========================================== */
/*追加*/
.single-post .entry-meta {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 1130px;
  text-align: left !important;
}

/* 追加 */
@media screen and (max-width: 767px) {
  .single-post .entry-meta {
    display: block;
  }
}

/* 投稿ページ：カテゴリー表示部分 */
.single-post .entry-meta .meta-separator,
.single-post .entry-meta .term-separator,
.single-post .entry-meta .sep {
  display: none;
}
.entry-meta .cat-links a {
  text-decoration: none;
  background-color: var(--color-navy);
  color: #fff;
  padding: 4px 10px 3px;
  margin-top: 3px;
  margin-right: 3px;
  border-radius: 10px;
  font-size: 0.8rem;
}

.entry-meta .cat-links a:hover {
  opacity: 0.85;
}
.single-post .entry-meta .posted-on {
  margin-right: 15px;
  vertical-align: middle;
  font-size: 0.85rem;
  color: #666;
}
.single-post .entry-meta .posted-on::before {
  position: relative;
}

/* アーカイブページ：カテゴリーなど */
.archive .entry-meta .updated,
.archive .entry-meta time + time,
.archive .entry-meta .posted-on .updated,
.archive .entry-meta .meta-separator,
.archive .entry-meta .term-separator {
  display: none;
}
.archive .entry-title {
  font-size: 1.1rem;
  margin-bottom: 0.5rem;
}
.archive .entry-title a {
  text-decoration: none;
  color: var(--color-navy);
  font-size: 1.1rem;
}
.archive article .entry-meta {
  gap: 0;
  align-items: center;
  margin-bottom: 0.5rem;
}
.archive .entry-meta .posted-on {
  font-size: 0.8rem;
  color: #666;
  display: inline-block;
  margin-right: 5px;
  vertical-align: middle;
}
.archive article .entry-meta .posted-on:before {
  position: relative;
  top: 4px;
  margin-right: 1px;
}
.archive .entry-meta .cat-links a {
  text-decoration: none;
  background-color: var(--color-navy);
  color: #fff;
  font-size: 0.75rem;
  padding: 4px 15px 2px;
  border-radius: 50px;
}

.archive .excerpt,
.archive .view_detail {
  font-size: 0.9rem;
}
.archive .entries .view_detail::before {
  font-size: 0.9rem;
  position: relative;
  top: 1px;
}
.archive .entries .view_detail a {
  text-decoration: none;
  color: var(--color-navy);
}
.archive .entries .view_detail a:hover {
  opacity: 0.85;
}

/* ==========================================
   投稿ページ (Single Post) ＆ アーカイブ（archive）
   投稿ナビゲーション（nav-links）
   ========================================== */
.single-post .entry-title/*,
.archive .page-title */ {
  background-color: var(--color-gray-bg);
  padding: 20px 25px;
  font-size: 1.6rem;
  line-height: 1.4;
  border-left: 8px solid var(--color-navy);
  /*追加*/
  max-width: 1000px;
  margin: 40px auto 0 auto;
}
.single-post .entry-title {
  margin-bottom: 2rem;
}

/*横スクロール無*/
.archive #primary.site-main,
.pre-header-title {
  overflow-x: hidden;
}

/*上記より分離　紺色帯に変更*/
.archive .page-title,
.pre-header-title p {
  margin-top: 0;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-bottom: 40px;
  background-color: #152a5e;
  padding: 0;
  height: 12rem;
  font-family: var(--font-mincho);
  font-weight: 700;
  color: #fff;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 40px;
}

.pre-header-title p {
  font-size: 40px;
  letter-spacing: 0.038em; /*他と揃える調整*/
}

@media screen and (max-width: 767px) {
  .single-post .entry-title {
    padding: 15px 20px;
    font-size: 1.2rem;
    border-left-width: 6px;
    margin-top: 10px;
  }

  .archive .page-title,
  .pre-header-title p {
    font-size: 25px;
  }
}

/*---------------------------------
　アーカイブ（archive）
  ---------------------------------*/
@media screen and (max-width: 767px) {
  .archive article {
    display: flex;
    flex-direction: column;
    padding-bottom: 2rem;
    border-bottom: 1px solid #eee;
    margin-bottom: 2rem;
    gap: 1.5rem;
  }
  .archive article .entry-header {
    width: 100%;
  }

  /*archive article .entry-header img　は最下部に移動*/

  .archive article .entry-content {
    width: 100%;
    padding: 0;
    display: flex;
    flex-direction: column;
  }
  .archive .entry-title {
    order: 3;
  }
  .archive article .entry-meta {
    order: 1;
    margin-bottom: 0.75rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  .archive .excerpt {
    order: 4;
    margin-bottom: 0.5rem;
  }
  .archive .view_detail {
    order: 5;
  }
}

/*---------------------------------
　投稿ページ (Single Post)
  ---------------------------------*/
.single-post article .is-layout-flow {
  border-bottom: none !important;
  padding-bottom: 0 !important;
}
.single-post .entry-content h2 {
  color: var(--color-navy);
  font-size: 1.4rem;
  border-bottom: 3px solid var(--color-sub-blue);
  padding: 0 0 8px 5px;
  margin: 3rem 0 1.5rem;
  position: relative;
  display: block;
  padding-left: 1.3em;
  text-indent: -1.3em;
  clear: both;
  /*追加*/
  max-width: 1000px;
}
.single-post .entry-content h2::before {
  content: "◆";
  margin-right: 8px;
  font-size: 1.2rem;
  vertical-align: middle;
}
/*追加*/
@media screen and (max-width: 767px) {
  .single-post .entry-content h2 {
    font-size: 1.2rem;
  }
}

.single-post .entry-content h3 {
  color: var(--font-color--base);
  font-size: 1.2rem;
  font-weight: bold;
  margin: 2rem 0 1rem 0;
  border: none;
  padding: 0 0 0 10px !important;
  clear: both;
}
.single-post .entry-content h3.mb-0 {
  font-size: 1.1rem;
}

/*追加*/
@media screen and (max-width: 767px) {
  .single-post .entry-content h3 {
    font-size: 1.1rem;
    padding: 0 !important;
  }
}

/* anchor */
.single-post .entry-content p a,
.single-post .entry-content td a {
  color: var(--color-navy);
}
.single-post .entry-content p a:hover,
.single-post .entry-content td a:hover {
  color: var(--color-gold);
}

/* 中央画像 */
.single-post .center-img {
  margin: 1.5rem auto;
  max-width: 740px;
  width: 100%;
  text-align: center;
}
/* 投稿基本リスト（ul）*/
.single-post .entry-content ul {
  padding-left: 1.8rem;
  margin: 1rem 0;
}
.single-post .entry-content ul li {
  list-style: disc;
  position: relative;
  margin-bottom: 0.2rem;
  line-height: 1.7;
}
/* 投稿基本リスト（ol）*/
.single-post .entry-content ol {
  padding-left: 2rem !important;
  margin: 1rem 0;
}
.single-post .entry-content ol li {
  margin-bottom: 0.2rem;
  line-height: 1.7;
}

/* ✔チェックリスト */
.single-post ul.check-list {
  padding-left: 0.65rem;
  margin: 1rem 0;
}
.single-post .check-list li {
  list-style: none !important;
  position: relative;
  padding-left: 1.5em;
  margin-bottom: 0.4rem !important;
}
.single-post .check-list li::before {
  content: "✔";
  position: absolute;
  left: 0;
  top: 0;
}
.single-post .check-list li.red::before {
  color: var(--color-post-red);
}

/* ■ */
.single-post .square {
  padding-left: 1.1em;
  text-indent: -1.1em;
}
.single-post .square::before {
  content: "■";
  font-family: sans-serif;
}

/* グレーボックス */
.single-post .gray-box {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  background-color: var(--color-gray-bg);
  padding: 0.8em 1.5em;
}
@media screen and (max-width: 767px) {
  .single-post .gray-box {
    padding: 0.5em 0.8em;
  }
}

/* 投稿：ぶら下げインデント */
.single-post .post-indent p {
  padding-left: 4.25em;
  text-indent: -4.25em;
  line-height: 1.8;
  margin-bottom: 1rem;
}

.single-post .post-indent-l p {
  padding-left: 7em;
  text-indent: -7em;
  line-height: 1.8;
  margin-bottom: 1rem;
}

.single-post .post-indent-tm p {
  padding-left: 7.5em;
  text-indent: -7.5em;
  line-height: 1.8;
  margin-bottom: 1rem;
}
.single-post .post-indent-tm p.two-digits {
  padding-left: 8.5em;
  text-indent: -8.5em;
  margin-bottom: 1rem;
}
.single-post .par-num {
  padding-left: 2em;
  text-indent: -2em;
  margin-bottom: 1rem;
  margin-left: 1.9rem;
}
.single-post .kome {
  padding-left: 1em;
  text-indent: -1em;
  margin-bottom: 1rem;
  font-size: 0.95rem;
  margin-left: 1rem;
}

.single-post .post-indent-wareki {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  background-color: var(--color-gray-bg);
  padding: 0.8em 1.5em;
}
.single-post .post-indent-wareki p {
  padding-left: 6.5em;
  text-indent: -6.5em;
}
.single-post .post-indent-wareki p:not(:first-child) {
  margin-top: 0.5rem;
}
@media screen and (max-width: 767px) {
  .single-post .post-indent-wareki {
    padding: 0.5em 0.8em;
  }
}
.single-post .normal-size {
  font-size: 1rem;
}

/* 行間調整 */
.single-post .entry-content .mt-double {
  margin-top: 2rem !important;
}
.single-post .entry-content .mt-half {
  margin-top: 0.5rem !important;
  margin-left: 1.75rem;
}
.single-post .entry-content .mt-0 {
  margin-top: 0 !important;
}
.single-post .entry-content .mb-0 {
  margin-bottom: 0 !important;
}

/* 外部リンクマーク：ext-link */
.single-post .ext-link {
  color: var(--color-navy);
  margin-top: 1.5rem;
}
.single-post .ext-link::after {
  content: "";
  display: inline-block;
  width: 1rem;
  height: 1rem;
  margin-left: 8px;
  background-image: url("/wp-content/themes/cs2-child/img/download.svg");
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  position: relative;
  top: 0;
}

/* 矢印リンク：link-arrow */
.single-post .link-arrow {
  margin-top: 1.5rem;
}
.single-post .link-arrow a {
  display: inline-block;
  border-bottom: 1px solid var(--color-navy);
  font-size: 0.95rem;
  line-height: 1.5;
  text-decoration: none;
}
.single-post .link-arrow a::after {
  content: "→";
  margin-left: 0.5em;
  display: inline-block;
}
.single-post .link-arrow a:hover {
  border-bottom: 1px solid var(--color-gold);
}
.single-post .link-arrow.mt-n {
  margin-top: 0.2rem;
}
.single-post .link-arrow.mt-double {
  margin-top: 2rem;
}

/* テーブル */
.single-post table {
  margin: 1.5rem auto 1.5rem;
}
.single-post td {
  border: none;
}

/*---------------------------------
　各投稿の個別設定
  ---------------------------------*/
/* 2019/04/11 */
.single-post .cleared-cases table {
  max-width: 700px;
  width: 100%;
}
.single-post .cleared-cases td {
  text-align: center;
}
.single-post .cleared-cases td:first-child {
  width: 20%;
}
.single-post .cleared-cases td {
  border: 1px dotted #a3a3a3;
}

/* 2020/02/19 */
.single-post .gray-box.leakage {
  max-width: 450px;
  width: 100%;
}

/* 2024/04/07 */
.single-post .meeting-chairman img {
  display: block;
  margin: auto;
  max-width: 450px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .single-post .meeting-chairman {
    gap: 2rem;
  }
}

/* 2025/01/25 */
.single-post .masaka-list {
  margin: 1.5rem auto;
}
.single-post .masaka-list li {
  margin-bottom: 1rem;
  line-height: 1.8;
}
.single-post .masaka-list li::first-line {
  font-size: 1.1rem;
  font-weight: bold;
}
.single-post .masaka-list li span {
  color: var(--color-navy);
  border-bottom: 1px solid var(--color-navy);
  font-size: 1.4rem;
  margin: 0 3px;
}

/* 2025/07/25 */
.single-post .protect-life h3 {
  margin-bottom: 0.5rem;
}
.single-post .protect-life p {
  margin-top: 0.5rem;
}

/* 2025/08/25 */
.single-post .crime-preventionn h2::before {
  content: none;
}
.single-post .crime-preventionn li {
  font-size: 1.05rem;
  margin-bottom: 0.5em;
}

/*---------------------------------
　投稿ナビゲーション（前後リンク）
  ---------------------------------*/
.post-navigation-wrap {
  margin-top: 4rem;
  margin-bottom: 4rem;
  width: 100%;
}

.post-navigation .nav-links {
  display: flex;
  flex-direction: column;
  border-top: 1px dotted #999;
}
.post-navigation .nav-links > div {
  margin: 0;
  border-bottom: 1px dotted #999;
  transition: background-color 0.3s ease;
}
.post-navigation .nav-links > div:hover {
  background-color: #f9f9f9;
}

.post-navigation .nav-links a {
  display: block;
  padding: 15px 10px;
  color: var(--color-text-muted);
  text-decoration: none;
  font-size: 0.95rem;
  line-height: 1.5;
}
.post-navigation .nav-links .nav-previous {
  text-align: left;
}
.post-navigation .nav-links a:hover {
  text-decoration: none !important;
}
.post-navigation .nav-links .nav-previous a::before {
  font-family: "Material Symbols Outlined";
  content: "\e5e0";
  font-weight: normal;
  margin-right: 0.5em;
  vertical-align: middle;
  font-size: 1.2em;
}

.post-navigation .nav-links .nav-next {
  text-align: right;
}
.post-navigation .nav-links .nav-next a::after {
  font-family: "Material Symbols Outlined";
  content: "\e5e1";
  font-weight: normal;
  margin-left: 0.5em;
  vertical-align: middle;
  font-size: 1.2em;
}
.post-navigation .nav-previous::before,
.nav-next::after {
  display: none !important;
}

@media screen and (max-width: 767px) {
  .post-navigation .nav-links a {
    font-size: 0.9rem;
    padding: 12px 5px;
  }
}

/*---------------------------------
　アーカイブ・ナビゲーション（ページ番号）
  ---------------------------------*/
.archive-navigation.nav-links {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 10px;
  margin: 3rem auto;
  border: none;
}

.archive-navigation .page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 5px;
  text-decoration: none;
  color: var(--color-navy);
  border: 1px solid var(--color-navy);
  font-size: 0.9rem;
  transition: all 0.3s ease;
}

.archive-navigation .page-numbers.current:hover,
.archive-navigation .page-numbers.current {
  background-color: var(--color-navy);
  color: #fff !important;
  text-decoration: none;
}
.archive-navigation .page-numbers:hover {
  background-color: var(--color-gray-bg);
}

.archive-navigation .page-numbers.next,
.archive-navigation .page-numbers.prev {
  border: none;
  font-size: 1.2rem;
}

/* ==========================================
   お問い合わせ・無料相談フォーム
   ========================================== */

/* フォームページ用（area-contact） */
.area-contact h3.form-subtitle {
  border-bottom: none;
  padding-left: 0;
  color: var(--color-navy);
  font-size: 1.3rem;
  font-weight: bold;
  margin-bottom: 0.5rem;
}
.area-contact h3.form-subtitle:not(:first-child) {
  margin-top: 2rem;
}
.area-contact ul.disc-list {
  margin: 1.5rem 0;
}
.area-contact ul.disc-list li {
  color: var(--color-post-red);
}
.area-contact-tel,
.area-consultation-flow {
  padding: 0 0 0 0;
}
.area-contact-tel {
  text-align: center;
}
.area-contact .area-contact-tel p:last-child {
  margin-top: 0.5rem;
}

.area-contact-tel .tel-number {
  font-size: 2.6rem;
  margin-bottom: 1.5rem;
}
.area-contact-tel .tel-number::before {
  width: 50px;
  height: 39px;
}
.area-consultation-flow .recep-hours {
  margin-top: 0.5rem;
}
.area-consultation-flow .red-notes {
  margin-top: 0;
  color: var(--color-post-red);
  padding-left: 1em;
  text-indent: -1em;
}

@media screen and (max-width: 767px) {
  .area-contact-tel,
  .area-consultation-flow {
    padding: 15px;
  }
  .area-contact .tel-number {
    font-size: 2rem;
  }
  .area-contact .tel-number::before {
    width: 40px;
    height: 32px;
  }
}

.area-contact-form {
  width: 100%;
  /*max-width: 900px;*/
  margin-left: auto;
  margin-right: auto;
}

.wpcf7-form {
  margin-top: 4rem;
}

.wpcf7-form .required-after:after {
  content: "※";
  color: #ca2626;
}

.wpcf7-form .contact-row {
  display: grid;
  grid-template-columns: 240px 1fr;
  align-items: center;
  padding-left: 1em;
  padding-right: 1em;
}

.wpcf7-form .wpcf7-checkbox .wpcf7-list-item {
  display: block;
}

.contact-row .multi-lines > div {
  margin-bottom: 1rem;
}

.contact-row:first-of-type {
  border-top: 1px dotted var(--b-theme-color-1);
  padding-top: 1rem;
}

form .wpcf7-submit {
  background: var(--b-theme-color-2);
}

form .wpcf7-submit:disabled {
  background: #90a1b9;
}

.wpcf7 form.invalid .wpcf7-response-output {
  margin-top: 2rem;
  display: block;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}

.contact-row > div:has(.wpcf7-not-valid-tip) {
  padding-bottom: 2rem;
  position: relative;
}

.wpcf7-form-control-wrap:has(.wpcf7-not-valid-tip) {
  position: static;
}

@media (max-width: 919px) {
  .wpcf7-form .contact-row {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .wpcf7-form .zip input,
  .wpcf7-form .name input {
    width: auto;
  }

  .wpcf7-form .name input {
    width: 35%;
  }
}

/* サンクスページ用（area-thanks） */

.area-thanks > *:not(h2, h3, ul) {
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
}
.area-thanks h3.thanks-subtitle {
  border-bottom: none;
  color: var(--color-orange);
  font-size: 1.3rem;
  padding-left: 1.3em;
  text-indent: -1.3em;
}
.area-thanks h3.thanks-subtitle::before {
  content: "■";
  position: relative;
  color: var(--color-orange);
  font-size: 1.4rem;
  top: 1px;
  margin-right: 2px;
  font-family: sans-serif;
}
.area-thanks ul.disc-list {
  margin: 1rem 0;
}
.area-thanks ul.disc-list li {
  color: var(--font-color--base);
  margin-bottom: 0.75rem;
}
.area-thanks ul.disc-list li span {
  display: inline-block;
  padding-left: 1em;
  text-indent: -1em;
  font-size: 0.95rem;
  color: var(--color-navy);
}
.area-thanks .contact-us {
  margin-top: 3rem;
}
.area-thanks .contact-us p {
  margin-top: 0.5rem;
}
.area-thanks .contact-us .tel-number {
  margin-bottom: 0.65rem;
}
.area-thanks .contact-us .tel-number a,
.area-thanks .contact-us .tel-number a:hover {
  border: none;
}

/******************************************
コラム一覧と詳細　幅調整
******************************************/
/*一覧*/
.archive .entries {
  --wp--style--global--content-size: 1160px; /*padding等ある為*/
}

/**効かないから移動*/
.archive article .entry-header img {
  width: 100%;
  max-width: 300px;
  margin: auto;
  height: auto;
  display: block;
  /* 修正*/
  aspect-ratio: auto;
  object-fit: unset;
  border-radius: 4px;
}

/*個別ページヘッダ*/
.entry-header > * {
  --wp--style--global--content-size: 1160px; /*padding等ある為*/
}

/*文章部位*/
.single-post article .is-layout-flow {
  --wp--style--global--content-size: 1160px; /*padding等ある為*/
}

.entry-content .is-layout-flow p {
  max-width: 1000px;
  margin: 0 !important;
  /*padding: 0 !important;*/
}

/*隙間の挙動を見る為要
.entry-content * {
  outline: 1px solid rgb(255, 255, 255);
}
  */

/* ヘッダーと本文内の各要素を強制的に中央揃えにする */
.entry-header > *,
.single-post article .is-layout-flow > * {
  margin-left: auto !important;
  margin-right: auto !important;
  /* 一部のテーマで使われる論理プロパティもリセット */
  margin-inline-start: auto !important;
  margin-inline-end: auto !important;
}

/******************************************
ボディガード　追加 上書き　項目
******************************************/
/*左右カラム用*/
.width_wrap .is-layout-flow > .alignright {
  margin-inline-start: 0; /*画像の左隙間カット*/
}

.layout-image-left {
  margin-top: 2rem;
  margin-bottom: 1rem;
}

.layout-image-right {
  margin-top: 2rem;
  margin-bottom: 5rem;
}

@media screen and (max-width: 767px) {
  .layout-image-right {
    margin-bottom: 1rem;
  }
  /*スペーサー*/
  .space_bd {
    height: 5px !important;
  }
}

/******************************************
グレー枠汎用
******************************************/

.fee-gray-box {
  background-color: var(--color-gray-bg);
  padding: 2rem;
  margin: 2rem auto;
  margin-left: 0 !important;
  border-radius: 4px;
  /*max-width: 560px;*/
}
.fee-gray-box b {
  font-weight: bold;
  color: var(--color-sub-blue);
}

/****************************
カラム調整
*****************************/
/*
@media (max-width: 767px) {
  #main-content .wp-block-image.alignleft,
  #main-content .wp-block-image.alignright {
    margin: 1rem auto -20px auto;
  }
}
  */
.wp-block-column .wp-block-image.alignright img {
  width: auto !important;
  margin-bottom: -30px;
}
