/* =========================================================
  custom.css  ── クライアント・ページ固有スタイル
  ─────────────────────────────────────────────
========================================================= */


/* =========================================================
  ブランドカラー上書き（child.css の :root を上書きする場合）
  ─────────────────────────────────────────────
  child.css 側の --c-primary 等をここで再定義
  テンプレートを書き換えずにカラーを適用
========================================================= */

:root {
    --c-primary: #333333;
    --c-primary-dark: #D7B814;
    --c-accent: #D7B814;
    --c-bg-yellow: #FFFFF8;
    --c-yellow: #F9E54D;
    --c-green: #41CE00;
    --c-l-green: #D7FFDD;
    --c-bg-footer: #F6F6F6;
    --c-white: #FFFFFF;
}

.fz24 {
  font-size: var(--fz-18-24);
}

.single-post .c-postContent a {
  color: var(--ark-color--link);
}


/* =========================================================
  ページ共通カスタム
========================================================= */
ul.c-gnav li a span {
  font-weight: bold;
}

ul.c-gnav .menu-item-42 {
  background: var(--c-yellow);
}

.sub_title_gold {
  font-size: 13px;
  color: var(--c-accent);
  font-weight: bold;
}

figure.imgsdw img {
  box-shadow: var(--shadow4);
}

figure.imgsdw2 img {
  box-shadow: var(--shadow5);
}

/* =========================================================
  TOPページ
========================================================= */

/* 親要素 */
.wp-block-cover.mv {
    position: relative;
}

/* インナーコンテナの設定 */
.wp-block-cover.mv > .wp-block-cover__inner-container {
    position: static;
    width: 100%;
}

/* キャッチコピー（h1） */
.mv_sub_copy {
    position: absolute !important;
    bottom: 40px;
    left: 0;
    right: 0;
    margin: 0 auto; 
    width: 100%;
    z-index: 10;
    
    /* タイポグラフィ設定 */
    font-size: var(--fz-body);
    font-weight: bold;
    text-shadow: var(--txt-shadow2);
    color: var(--c-white);
    line-height: 1.6;
    letter-spacing: 0.15em;
    text-align: center;
}

/* ロゴ画像などの figure 設定 */
.wp-block-cover.mv figure.wp-block-image {
    position: absolute;
    top: 50px;
    right: 15%;
    margin: 0;
}

@media (max-width: 1260px) {
  .wp-block-cover.mv figure.wp-block-image {
    right: 2%;
  }
}

@media (max-width: 640px) {
    div.mv {
        min-height: 50vh !important;
    }
}

.logq_col {
  border: 1px solid var(--c-accent);
  background: var(--c-bg-yellow);
  padding: var(--ark-pad--container);
}

.logq_no {
  color: var(--c-green);
  font-size: var(--fz-26-40);
  font-weight: bold;
  text-align: center;
}

.kmt_ceo_wrap {
  overflow: visible;
}

figure.kmt_ceo img {
  margin-top: -150px;
}

@media (max-width:781px) {
  .kmt_ceo_wrap .wp-block-columns-is-layout-flex {
    flex-direction: column-reverse;
  }
}


.staff-section {
    position: relative;
    overflow: hidden;
    padding: 100px 0;
    z-index: 1;
}

/* 背景の三角形 */
.staff-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #effbf4;
    clip-path: polygon(0% 100%, 100% 0%, 100% 100%);
    z-index: -1;
}

.staff-section-wrap {
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
  padding-right: var(--ark-pad--container);
  padding-left: var(--ark-pad--container);
}



/* 1. カバーブロック全体の設定 */
.kmt-link-icon {
    position: relative;
    overflow: hidden;
    align-items: flex-start
}

/* 2. リンク（h2の中のaタグ）を最前面に出して広げる */
.kmt-link-icon h2 {
    position: relative;
    z-index: 10;
}

.kmt-link-icon h2 a::before {
    content: "";
    position: absolute;
    top: -1000px;
    bottom: -1000px;
    left: -1000px;
    right: -1000px;
}

/* 3. 矢印アイコンの設定 */
.kmt-link-icon::after {
    content: "\f061";
    font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    bottom: 25px;
    right: 25px;
    color: #ffffff;
    font-size: 24px;
    z-index: 15;
    transition: transform 0.3s ease;
    pointer-events: none;
}

/* 4. ホバー挙動：バナー全体にカーソルが乗った時 */
.kmt-link-icon:hover::after {
    transform: translateX(10px);
}

/* 5. リンクのデフォルト装飾（下線など）を消す */
.kmt-link-icon h2 a {
    text-decoration: none !important;
    color: #ffffff !important;
}



/* -----------------------------------
   お知らせ（News）エリアのスタイル
----------------------------------- */

/* 全体の上下の枠線と余白 */
.news_wrap {
    border-top: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5;
    padding: 40px 0;
}

/* 左側：見出しの調整 */
.news_wrap .news_title h2 {
    font-size: 24px;
    font-weight: bold;
    color: #333333;
    margin-bottom: 8px;
    margin-top: 0;
}

/* 左側：サブタイトル（News）の調整 */
.news_wrap .news_title .sub_title_gold {
    color: #d4af37;
    font-size: 14px;
    font-weight: bold;
    margin: 0;
}

/* -----------------------------------
   右側：ニュースリストのスタイル
----------------------------------- */

/* リストのデフォルト装飾をリセット */
.news_wrap ul.wp-block-latest-posts {
    list-style: none;
    padding: 0;
    margin: 0;
    border: 0;
}

/* 各ニュース項目のレイアウト（Flexboxで縦並びにし、点線を引く） */
.news_wrap ul.wp-block-latest-posts li {
    display: flex;
    flex-direction: column; /* 縦並びにする */
    padding: 20px 0 !important;
    border-bottom: 1px dotted #cccccc !important;
}

/* 最初の項目は上の余白を消し、最後の項目は下の余白と点線を消す */
.news_wrap ul.wp-block-latest-posts li:first-child {
    padding-top: 0;
}
.news_wrap ul.wp-block-latest-posts li:last-child {
    padding-bottom: 0;
    border-bottom: none;
}

/* 日付を上に表示する（order: 1） */
.news_wrap .wp-block-latest-posts__post-date {
    order: 1;
    font-size: 14px;
    color: #666666;
    margin-bottom: 5px;
}

/* タイトルを下に表示する（order: 2） */
.news_wrap .wp-block-latest-posts__post-title {
    order: 2;
    font-size: 16px;
    color: #333333;
    text-decoration: none;
    line-height: 1.5;
}

/* タイトルにホバーした時の挙動（少し薄くする等） */
.news_wrap .wp-block-latest-posts__post-title:hover {
    opacity: 0.7;
}

p.cta_tel {
  margin-top: 0;
  font-size: var(--fz-20-36);
}


/* =========================================================
  下層ページ（body.page-id-XXX）
========================================================= */

.l-content__body {
  margin-bottom: 0 !important;
}

.phil_wrap {
  /* border: 1px solid var(--ark-color--text); */
  padding: var(--ark-pad--container);
  font-size: var(--fz-24-48);
  font-weight: bold;
  text-align: center;
  color: var(--c-text);
}

.trans_wrap {
  position: relative;
}

.trans_wrap .trans_cont {
  background: #ffffffdc;
  margin-top: 30px !important;
  padding-right: var(--ark-pad--container);
  padding-left: var(--ark-pad--container);
  padding-top: 1em;
  padding-bottom: 1em;
  border: 1px solid var(--c-bg);
}

.trans_wrap .trans_img {
  position:absolute;
  right: 0;
  z-index: -1;
  max-width: 580px;
}

@media (max-width:781px) {
  .trans_wrap .trans_img {
    position: inherit;
  }  
}

.rec_copy {
  font-weight: 900;
  font-size: var(--fz-24-48);
  color: var(--c-text);
  text-shadow: 6px 6px 2px #97979770;
}

.rec_copy span {
  color: var(--c-yellow);
  -webkit-text-stroke: 4px var(--c-text);
  paint-order: stroke;
  padding: 0 10px;
  font-size: 1.2em;
}

.contact_tel_wrap {
  border: 1px solid var(--c-border);
  padding: var(--ark-pad--container);
  text-align: center;
}

.staffname_rl {
  writing-mode: vertical-rl;
  text-orientation: upright;
  background: var(--c-yellow);
  padding: var(--ark-pad--container);
  box-shadow: 10px 10px 0px #333;
}

@media (max-width:781px) {
  .staffname_rl {
    writing-mode: vertical-lr;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
}

.value_bg {
  background: #effbf4;
  border-radius: 50%;
  padding: var(--ark-pad--container)
}

.venefit_box {
  padding: var(--ark-pad--container);
}


/* =========================================================
  rec_faq（採用FAQアコーディオン）
========================================================= */

.rec_faq {
  border-top: 3px solid var(--c-accent);
}

.rec_faq .wp-block-accordion-item {
  border-bottom: 1px solid #e0e0e0;
}

.rec_faq .wp-block-accordion-heading {
  margin: 0;
}

.rec_faq .wp-block-accordion-heading__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75em;
  width: 100%;
  background: var(--c-white);
  border: none;
  cursor: pointer;
  padding: 1.2em 1.5em;
  text-align: left;
  font-size: 1rem;
  transition: background 0.25s;
}

/* Q アイコン */
.rec_faq .wp-block-accordion-heading__toggle::before {
  content: "\51";
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
  font-weight: 900;
  font-style: normal;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2em;
  height: 2em;
  background: var(--c-accent);
  color: var(--c-white);
  border-radius: 6px;
  font-size: 1rem;
}

.rec_faq .wp-block-accordion-heading__toggle:hover,
.rec_faq .wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle {
  background: var(--c-bg-yellow);
}

.rec_faq .wp-block-accordion-heading__toggle-title {
  flex: 1;
  font-size: 1.05rem;
  font-weight: bold;
  color: var(--c-primary);
  line-height: 1.65;
}

.rec_faq .wp-block-accordion-heading__toggle-icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.8em;
  height: 1.8em;
  border: 2px solid var(--c-accent);
  border-radius: 50%;
  color: var(--c-accent);
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1;
  transition: transform 0.35s ease, background 0.25s, color 0.25s;
}

.rec_faq .wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle-icon {
  transform: rotate(45deg);
  background: var(--c-accent);
  color: var(--c-white);
}

.rec_faq .wp-block-accordion-panel {
  padding: 1.2em 1.5em 1.4em;
  background: var(--c-bg-yellow);
}

/* 開いているときだけ flex（inert があると display:none が効かなくなるのを防ぐ） */
.rec_faq .wp-block-accordion-panel:not([inert]) {
  display: flex;
  align-items: flex-start;
  gap: 0.75em;
}

/* A アイコン */
.rec_faq .wp-block-accordion-panel:not([inert])::before {
  content: "\41";
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
  font-weight: 900;
  font-style: normal;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2em;
  height: 2em;
  background: var(--c-green);
  color: var(--c-white);
  border-radius: 6px;
  font-size: 1rem;
}

.rec_faq .wp-block-accordion-panel p {
  flex: 1;
  margin: 0;
  line-height: 1.85;
  font-size: 0.97rem;
}

/* =========================================================
  お問い合わせフォーム — 生年月日入力
========================================================= */

/* input[type="date"] をテキスト入力と統一 */
.wpcf7 input[type="date"] {
    width: 100%;
    max-width: 240px;
    padding: 0.5em 0.75em;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 1rem;
    font-family: inherit;
    color: var(--c-primary);
    background: #fff;
    box-sizing: border-box;
    appearance: none;
    -webkit-appearance: none;
}

.wpcf7 input[type="date"]:focus {
    outline: none;
    border-color: var(--c-accent);
    box-shadow: 0 0 0 2px rgba(215, 184, 20, 0.2);
}

.wpcf7 input[type="date"].wpcf7-not-valid {
    border-color: #c00;
}

@media (max-width: 640px) {
    .wpcf7 input[type="date"] {
        max-width: 100%;
    }
}

@media (max-width: 640px) {
  .rec_faq .wp-block-accordion-heading__toggle {
    padding: 1em;
    gap: 0.6em;
  }

  .rec_faq .wp-block-accordion-heading__toggle-title {
    font-size: 0.92rem;
  }

  .rec_faq .wp-block-accordion-panel {
    padding: 1em;
  }

  .rec_faq .wp-block-accordion-panel:not([inert]) {
    gap: 0.6em;
  }
}

