/* =========================================================
   Blocks
   Gutenbergブロック専用スタイル（記事本文・エディタブロックの調整）
   ========================================================= */


/* ---------------------------------------------------------
   Entry content base
   記事本文の基本設定（読みやすさ・幅制御）
   --------------------------------------------------------- */

.entry-content {
  overflow-wrap: anywhere;
}

/* content width control */
.entry-content > * {
  max-width: var(--content);
  margin-left: auto;
  margin-right: auto;
}

/* full width block */
.entry-content > .alignfull {
  max-width: none;
}

/* wide block */
.entry-content > .alignwide {
  max-width: calc(var(--container) - (var(--gutter) * 2));
}

/* vertical rhythm */
.entry-content > * + * {
  margin-top: 1.6em;
}


/* ---------------------------------------------------------
   Headings
--------------------------------------------------------- */
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
  line-height: 1.3;
}

.entry-content h1 { font-size: 3.2rem; }
.entry-content h2 { font-size: 2.6rem; }
.entry-content h3 { font-size: 2.2rem; }
.entry-content h4 { font-size: 1.9rem; }
.entry-content h5 { font-size: 1.7rem; }
.entry-content h6 { font-size: 1.6rem; }


/* ---------------------------------------------------------
   Paragraph
--------------------------------------------------------- */
.entry-content p {
  margin: 0;
}


/* ---------------------------------------------------------
   Lists
--------------------------------------------------------- */
.entry-content ul,
.entry-content ol {
  padding-left: 1.6em;
}

.entry-content li + li {
  margin-top: 0.4em;
}


/* ---------------------------------------------------------
   Images
--------------------------------------------------------- */
.wp-block-image img {
  display: block;
}

.wp-block-image figcaption {
  margin-top: 0.6em;
  font-size: 1.3rem;
  color: var(--muted);
  text-align: center;
}


/* ---------------------------------------------------------
   Tables
--------------------------------------------------------- */
.wp-block-table {
  overflow-x: auto;
}

.wp-block-table table {
  width: 100%;
  border-collapse: collapse;
}

.wp-block-table th,
.wp-block-table td {
  padding: 0.8em;
  border: 0.1rem solid var(--border);
}


/* ---------------------------------------------------------
   Quote block
--------------------------------------------------------- */
.wp-block-quote {
  padding-left: 1.6rem;
  border-left: 0.4rem solid var(--border);
}

.wp-block-quote cite {
  display: block;
  margin-top: 0.6em;
  font-size: 1.3rem;
  color: var(--muted);
}


/* ---------------------------------------------------------
   Code block
--------------------------------------------------------- */
.wp-block-code,
.entry-content pre {
  padding: 1.6rem;
  border: 0.1rem solid var(--border);
  border-radius: 0.8rem;
  overflow-x: auto;
  font-size: 1.4rem;
}

.entry-content code {
  font-family:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    Monaco,
    Consolas,
    monospace;
}


/* ---------------------------------------------------------
   Embed block
--------------------------------------------------------- */
.wp-block-embed iframe {
  width: 100%;
}


/* ---------------------------------------------------------
   Gallery block
--------------------------------------------------------- */
.wp-block-gallery {
  gap: 1.6rem;
}


/* =========================================
   Vision Block
========================================= */

.b-vision {
  padding: 5rem 0;
  background: #f3f3f3;
}

.b-vision__inner {
  display: flex;
  align-items: center;
  gap: 1.875rem; /* 30px */
}

/* 左コンテンツ */
.b-vision__content {
  flex: 1;
}

/* 右画像 */
.b-vision__image {
  flex: 1;
}

.b-vision__image img {
  width: 100%;
  height: auto;
  display: block;
}

/* ラベル */
.b-vision__label {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 2.5rem;
}

/* 縦バー */
.b-vision__bar {
  width: 0.375rem;
  height: 3rem;
  background: #00632D;
  position: relative;
}

.b-vision__bar::after {
  content: "";
  position: absolute;
  left: 0.5rem;
  top: 0;
  width: 0.25rem;
  height: 3rem;
  background: #8BC4A3;
}

/* タイトル */
.b-vision__title {
  font-size: 1.5rem;
  font-weight: 700;
}

/* Vision */
.b-vision__sub {
  font-size: 1rem;
  color: #00632D;
  font-weight: 600;
}

/* キャッチコピー */
.b-vision__catch {
  font-size: 2.5rem; /* 40px */
  font-weight: 700;
  color: #00632D;
  line-height: 1.4;
  margin-bottom: 1.5rem;
}

/* 説明文 */
.b-vision__text {
  font-size: 1rem;
  line-height: 1.8;
  color: #333;
  max-width: 32rem;
}

@media (max-width: 768px) {
  .b-vision__inner {
    flex-direction: column;
  }

  .b-vision__catch {
    font-size: 1.75rem;
  }
}


/* =========================================================
   Column section
   ========================================================= */

.p-column {
  background: #F2F7F8;
}

.p-column__inner {
  padding: 4rem 2rem;
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 6.5rem;
  align-items: start;
}

.p-column__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  row-gap: 2rem;
}

.p-column__link {
  display: grid;
  grid-template-columns: 19rem 1fr;
  column-gap: 4rem;
  align-items: center;
  text-decoration: none;
  color: inherit;
}

.p-column__thumb {
  margin: 0;
  border: 0.4rem solid #fff;
  background: #fff;
}

.p-column__thumb img {
  display: block;
  width: 100%;
  height: auto;
}

.p-column__texts {
  min-width: 0;
}

.p-column__date {
  display: block;
  font-size: 1.6rem;
  line-height: 1.4;
  color: #222;
  margin: 0 0 1.2rem;
}

.p-column__title {
  margin: 0;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: underline;
  text-decoration-thickness: 0.1rem;
  text-underline-offset: 0.35em;
  overflow-wrap: anywhere;
}

.p-column__link:hover .p-column__title {
  opacity: 0.85;
}

.p-column__footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 2.8rem;
}

.p-column__more {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 2rem;
  text-decoration: none;
  color: #222;
  padding-bottom: 1rem;
}

.p-column__more::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 0.1rem;
  background: currentColor;
  opacity: 0.9;
}

.p-column__moreIcon img {
  width: 2.5rem;
  height: auto;
  display: block;
}

.p-column__more:hover {
  opacity: 0.75;
}

@media (max-width: 767px) {
  .p-column__inner {
    grid-template-columns: 1fr;
  }

  .p-column__link {
    grid-template-columns: 12rem 1fr;
    column-gap: 1rem;
    align-items: center;
  }

  .p-column__footer {
    justify-content: flex-start;
  }

  .p-column__date {
    margin: 0;
    font-size: 1.4rem;
  }

  .p-column__title {
    font-size: 1.6rem;
  }
}


/* =========================================================
   下層MV（ページタイトル）
   ========================================================= */

.p-subMv {
  position: relative;
  padding-top: 17rem;
  padding-bottom: 8rem
}

.p-subMv__shape {
  position: fixed;
  top: 0;
  left: 0;
  width: 60rem;
  height: auto;
  z-index: -1;
  pointer-events: none;
}

.p-subMv__title {
  margin: 0;
  font-size: 4rem;
  font-weight: 700;
  text-align: center;
}


/* =========================================================
   下層イントロ（共通で使い回すセクション）
   ========================================================= */

.p-subIntro {
  background: #F2F7F8;
  padding: 3rem;
  margin-top: 7.5rem;
  max-width: 85rem;
  margin: 7.5rem auto 0;
}

.p-subIntro__inner {
  max-width: 83rem;
  margin-left: auto;
  margin-right: auto;
}

.p-subIntro__title {
  margin: 0 0 1.5rem;
  font-size: 3.2rem;
  font-weight: 700;
  color: #428674;
  text-align: center;
  line-height: 1.4;
}

.p-subIntro__body {
  background: #fff;
  padding: 3rem;
}

.p-subIntro__text {
  margin: 0;
  font-size: 1.6rem;
  line-height: 1.4;
}

@media (max-width: 1023px) {
  .p-subMv__shape {
    width: 48rem;
  }

  .p-subMv__title {
    font-size: 3.6rem;
  }

  .p-subIntro {
    max-width: 92%;
    padding: 2.6rem;
    margin-top: 6rem;
  }

  .p-subIntro__inner {
    max-width: 100%;
  }

  .p-subIntro__title {
    font-size: 2.8rem;
  }

  .p-subIntro__body {
    padding: 2.6rem;
  }
}

@media (max-width: 767px) {
  .p-subMv {
    padding-top: 12rem;
	padding-bottom: 6rem
  }

  .p-subMv__shape {
    width: min(42rem, 80vw);
  }

  .p-subMv__title {
    font-size: 3rem;
    line-height: 1.35;
    padding: 0 1.6rem;
  }

  .p-subIntro {
    max-width: calc(100% - 3.2rem);
    padding: 2.4rem;
    margin-top: 4.8rem;
  }

  .p-subIntro__title {
    font-size: 2.4rem;
    margin-bottom: 1.2rem;
  }

  .p-subIntro__body {
    padding: 2.2rem;
  }

  .p-subIntro__text {
    font-size: 1.6rem;
  }
}

@media (max-width: 50rem) {
  .p-subMv {
    padding-top: 14rem;
  }

  .p-subMv__title {
    font-size: 2.6rem;
  }

  .p-subIntro {
    max-width: calc(100% - 2.4rem);
    padding: 1rem;
    margin-top: 4rem;
  }

  .p-subIntro__title {
    font-size: 1.8rem;
  }

  .p-subIntro__body {
    padding: 2rem;
  }
}

@media (max-width: 767px) {
  .p-subMv__shape {
    position: absolute;
  }
}


/* =========================================================
   ★下層カード共通ブリッジ（既存p-クラスでも汎用カード型を適用）
   - 今後はHTML側で .c-cardMedia を付ければより綺麗
   - いまのHTMLでも崩れずに共通化される
   ========================================================= */

/* 影・白背景を共通化（= カードタイプ統一） */
.p-reasonCard,
.p-jobCategoriesCard,
.p-processCard {
  background: #fff;
  box-shadow: 0 1.2rem 2.8rem rgba(0, 0, 0, 0.12);
}

/* 画像共通 */
.p-reasonCard__img,
.p-jobCategoriesCard__img,
.p-processCard__media {
  position: relative;
}

.p-reasonCard__img img,
.p-jobCategoriesCard__img img,
.p-processCard__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}


/* ========================================
   選ばれる理由（下層）
======================================== */

.p-reason {
  padding-bottom: 10rem;
  padding-top: 10rem;
}
@media (max-width: 767px) {
  .p-reason {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
}

.p-reason__heading {
  margin-bottom: 4rem;
}

.p-reason__cards {
  display: flex;
  gap: 1.5rem; /* 15px */
}

@media (max-width: 768px) {
  .p-reason__cards {
    flex-direction: column;
  }
}

/* 画像：高さ250px */
.p-reasonCard__img {
  height: 25rem; /* 250px */
}
@media (max-width: 767px) {
  /* 画像：高さ250px */
  .p-reasonCard__img {
    height: 20rem; 
  }
}

/* 写真下：白背景 + 左右10px + 下30px */
.p-reasonCard__body {
  background: #fff;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-bottom: 3rem;
}

/* POINT帯：背景 #0E7E60 + 上下5px + 横いっぱい */
.p-reasonCard__point {
  background: #0E7E60;
  color: #fff;
  text-align: center;
  font-size: 1.4rem;
  font-weight: 700;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;

  width: calc(100% + 2rem);
  margin-left: -1rem;
  margin-right: -1rem;
}

/* 緑帯→h3 10px / h3 18px #135531 */
.p-reasonCard__title {
  margin-top: 1rem;
  font-size: 1.8rem;
  color: #135531;
  font-weight: 700;
  text-align: center;
}

/* h3→本文 20px */
.p-reasonCard__text {
  margin-top: 2rem;
  font-size: 1.5rem;
  line-height: 1.8;
}

.p-reasonCard__text strong {
  font-weight: 700;
}


/* ========================================
   主な取扱い職種
======================================== */

.p-jobCategories {
  padding-bottom: 10rem;
  padding-top: 10rem;
}

.p-jobCategories__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 1.5rem; /* 15px */
  row-gap: 4rem;      /* 40px */
}

@media (max-width: 767px) {
  .p-jobCategories {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
  .p-jobCategories__grid {
    row-gap: 3rem;
  }
}
@media (max-width: 768px) {
  .p-jobCategories__grid {
    grid-template-columns: 1fr;
  }
}

/* 画像：高さ180px */
.p-jobCategoriesCard__img {
  height: 18rem;
}

/* 緑タイトル */
.p-jobCategoriesCard__title {
  margin-top: 0.5rem; /* 5px */
  background: #86C1B1;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
}

/* 本文 */
.p-jobCategoriesCard__text {
  padding: 1.5rem;
  font-size: 1.5rem;
}

/* ========================================
   主な取扱い職種：4カラムバージョン
======================================== */

/* 4列グリッド */
.p-jobCategories__grid--4col {
  grid-template-columns: repeat(4, 1fr);
}

/* タブレット */
@media (max-width: 1023px) {
  .p-jobCategories__grid--4col {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* SP */
@media (max-width: 767px) {
  .p-jobCategories__grid--4col {
    grid-template-columns: 1fr;
  }

  .p-jobCategories {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
}

/* 4カラム時のタイトルサイズ */
.p-jobCategories__grid--4col 
.p-jobCategoriesCard__title {
  font-size: 1.6rem; /* 18px */
}



/* ========================================
   導入のメリット
======================================== */

.p-benefits {
  padding-top: 10rem;
  padding-bottom: 10rem;
  background-color: #F2F7F8;
}

.p-benefits__list {
  margin-top: 4rem;
  display: grid;
  gap: 3rem;
}

/* 見出し行（丸＋h3） */
.p-benefitsItem__head {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.p-benefitsItem__dot {
  width: 5rem;
  height: 5rem;
  background: #86C1B1;
  border-radius: 50%;
  flex-shrink: 0;
}

.p-benefitsItem__title {
  font-size: 2.4rem;
  color: #135531;
  font-weight: 700;
}

/* box */
.p-benefitsItem__box {
  margin-top: 2rem;
  background: #fff;

  padding-top: 2rem;
  padding-bottom: 2rem;
  padding-left: 3rem;
  padding-right: 3rem;

  border-radius: 0.8rem;
  box-shadow: 0 0.6rem 1.6rem rgba(0, 0, 0, 0.08);

  font-size: 1.5rem;
  line-height: 1.8;
}

@media (max-width: 768px) {
  .p-benefitsItem__box {
    padding-left: 2rem;
    padding-right: 2rem;
    margin-left: 0;
    margin-top: 1rem;
  }

  .p-benefitsItem__title {
    font-size: 1.8rem;
  }
}
/* SP */
@media (max-width: 767px) {
  .p-benefits {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
  .p-benefitsItem__dot {
  width: 3rem;
  height: 3rem;
  background: #86C1B1;
  border-radius: 50%;
  flex-shrink: 0;
}
}


/* ========================================
   導入の流れ
======================================== */

.p-process {
  padding-bottom: 10rem;
  padding-top: 10rem;
}
/* SP */
@media (max-width: 767px) {
  .p-process {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
}

/* ========================================
   導入の流れ（可変グリッド対応）
======================================== */

.p-process__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-top: 4rem;
}

/* 4列バージョン */
.p-process__cards--4col {
  grid-template-columns: repeat(4, 1fr);
}

/* タブレット */
@media (max-width: 1023px) {
  .p-process__cards,
  .p-process__cards--4col {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* SP */
@media (max-width: 767px) {
  .p-process__cards,
  .p-process__cards--4col {
    grid-template-columns: 1fr;
  }
}
.p-process__cards--4col 
.p-processCard__title {
  font-size: 1.6rem; /* 16px */
}

/* 画像：高さ180px */
.p-processCard__media {
  height: 18rem;
}

/* STEP（80×80の四角） */
.p-processCard__media::before {
  content: "STEP\A" attr(data-step);
  white-space: pre;

  position: absolute;
  top: 0;
  left: 0;

  width: 8rem;
  height: 8rem;

  background: #0E7E60;
  color: #fff;

  display: flex;
  align-items: center;
  justify-content: center;

  font-weight: 700;
  text-align: center;

  line-height: 1.1;
  font-size: 2.2rem;
  padding-top: 0.2rem;
}

/* 白背景の本文エリア（余白：上下30 / 左右10） */
.p-processCard__body {
  background: #fff;
  padding-top: 3rem;
  padding-bottom: 3rem;
  padding-left: 1rem;
  padding-right: 1rem;
}

/* 写真→h3 30px（body上paddingで確保） */
.p-processCard__title {
  font-size: 2rem;
  color: #135531;
  font-weight: 700;
  text-align: center;
}

/* h3→本文 20px */
.p-processCard__text {
  margin-top: 2rem;
  font-size: 1.5rem;
  line-height: 1.8;
}

.p-reason__cards > .p-reasonCard,
.p-process__cards > .p-processCard {
  flex: 1;
  min-width: 0; /* 折り返し/はみ出し対策 */
}

/* 画像はみ出し防止（念のため） */
.p-reasonCard__img,
.p-processCard__media {
  overflow: hidden;
}

/* ========================================
   FAQ
======================================== */
.p-faq {
  padding-top: 10rem;
  padding-bottom: 10rem;
  background: #F2F7F8;
}
.p-faq.m-t_none {
  padding-top: 0;
}

.p-faq__list {
  display: grid;
  gap: 3rem;
}

/* detailsのデフォUIを消す */
.p-faqItem {
  border: 0;
}

.p-faqItem__summary {
  list-style: none;
  cursor: pointer;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;

  padding-bottom: 1rem;              /* Qから見て10pxの間隔 */
  border-bottom: 0.1rem solid #0B7E60; /* 下線 */
}

.p-faqItem__summary::-webkit-details-marker {
  display: none;
}

.p-faqItem__left {
  display: flex;
  align-items: center;
  gap: 1.5rem; /* Qとh3の間 15px */
  min-width: 0;
}

/* Q 50×50 */
.p-faqItem__q {
  width: 5rem;
  height: 5rem;
  display: grid;
  place-items: center;

  background: #0E7E60;
  color: #fff;

  font-size: 3rem;
  font-weight: 800;
  flex-shrink: 0;
  padding-bottom: 5px;
}

/* h3 */
.p-faqItem__title {
  margin: 0;
  font-size: 2rem;
  font-weight: 700;
  color: #135531;
  line-height: 1.35;
}

/* 右の三角（CSSで二等辺三角形） */
.p-faqItem__arrow {
  width: 0;
  height: 0;
  border-left: 0.9rem solid transparent;
  border-right: 0.9rem solid transparent;
  border-top: 1.2rem solid #0E7E60; /* 下向き */
  flex-shrink: 0;
  transition: transform .2s ease;
}

/* openで上下反転 */
.p-faqItem[open] .p-faqItem__arrow {
  transform: rotate(180deg);
}

/* 回答：導入メリットのboxを流用（margin-leftなどはFAQ用に上書き） */
.p-faqItem__answer {
  margin-left: 0;      /* p-benefitsの 6rem を打ち消す */
  margin-top: 2rem;    /* h3→本文 20px */
}

/* SP調整（「いい感じに余白を狭く」） */
@media (max-width: 768px) {
  .p-faq {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .p-faqItem__title {
    font-size: 1.7rem;
  }

  .p-faqItem__q {
    width: 4.4rem;
    height: 4.4rem;
    font-size: 1.8rem;
  }

  .p-faqItem__summary {
    gap: 1.2rem;
  }
}


/* ========================================
   研修クイズ（初級・中級・上級）：カード
======================================== */

.p-quizClasses {
  padding-top: 10rem;
  padding-bottom: 10rem;
}

/* 3列グリッド（間隔15px） */
.p-quizClasses__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem; /* 15px */
  align-items: start;
}

@media (max-width: 1023px) {
  .p-quizClasses__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 767px) {
  .p-quizClasses__grid {
    grid-template-columns: 1fr;
  }
  .p-quizClasses {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
}

/* カード本体（影） */
.p-quizClassesCard {
  overflow: hidden;
}

.p-quizClasses .c-heading {
  margin-bottom: 3rem;
}

.p-quizClassesText {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}
.p-quizClassesText span {
  font-size: 1.4rem;
}

/* ========================================
   会社概要（下層）
======================================== */

.p-companyProfile {
  padding-top: 8rem;
  padding-bottom: 10rem;
}

.p-companyProfile__tableWrap {
  border-radius: 1.2rem;
}

.p-companyProfile__table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border: 0.1rem solid rgba(0,0,0,0.08);
  box-shadow: 0 0.8rem 2rem rgba(0,0,0,0.08);
}

.p-companyProfile__table th,
.p-companyProfile__table td {
  border-bottom: 0.1rem solid rgba(0,0,0,0.08);
  padding: 2.2rem 2.4rem;
  font-size: 1.6rem;
  line-height: 1.8;
  vertical-align: middle;
}

.p-companyProfile__table th {
  width: 30%;
  font-weight: 700;
  color: #135531;
  background: rgba(134, 193, 177, 0.22); /* #86C1B1 の薄い版 */
  border-right: 0.1rem solid rgba(0,0,0,0.08);
}

.p-companyProfile__table td {
  color: #222;
}

.p-companyProfile__table tr:nth-child(even) td {
  background: rgba(242, 247, 248, 0.6); /* うっすら交互 */
}

.p-companyProfile__table strong {
  font-weight: 800;
  color: #0E7E60;
}

/* 最終行の下線を消す */
.p-companyProfile__table tr:last-child th,
.p-companyProfile__table tr:last-child td {
  border-bottom: 0;
}

/* ------------------------------
   SP（いい感じに余白＆縦積み）
------------------------------ */
@media (max-width: 767px) {
  .p-companyProfile {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .p-companyProfile__tableWrap {
    padding: 0rem;
    border-radius: 1rem;
  }

  .p-companyProfile__table,
  .p-companyProfile__table tbody,
  .p-companyProfile__table tr,
  .p-companyProfile__table th,
  .p-companyProfile__table td {
    display: block;
    width: 100%;
  }

  .p-companyProfile__table tr {
    border-bottom: 0.1rem solid rgba(0,0,0,0.08);
  }

  .p-companyProfile__table th {
    width: 100%;
    border-right: 0;
    padding: 1.4rem 1.6rem;
  }

  .p-companyProfile__table td {
    padding: 1.4rem 1.6rem 1.8rem;
    border-bottom: 0;
    background: #fff;
  }

  .p-companyProfile__table tr:nth-child(even) td {
    background: #fff; /* SPは交互背景なしでスッキリ */
  }
}


/* ========================================
   エムアールエスとは（下層）
======================================== */

.p-aboutMRS {
  padding-top: 10rem;
  padding-bottom: 10rem;
  background: #F2F7F8;
}

/* 2カラム */
.p-aboutMRS__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem; /* 25px */
  align-items: center;
}

/* 左：本文をカード化 */
.p-aboutMRS__content {
  padding: 1rem;
}

.p-aboutMRS__text {
  margin: 0;
  font-size: 1.6rem;
  line-height: 2;
  color: #222;
}

.p-aboutMRS__text + .p-aboutMRS__text {
  margin-top: 1.6rem;
}

/* 任意：強調の一言 */
.p-aboutMRS__lead {
  margin-top: 2.4rem;
  padding-left: 1rem;
  border-left: 0.4rem solid #0E7E60;
  font-size: 1.6rem;
  font-weight: 700;
  color: #135531;
  line-height: 1.8;
}

/* 右：画像（上品なフレーム） */
.p-aboutMRS__media {
  margin: 0;
  border-radius: 1.2rem;
  overflow: hidden;
  box-shadow: 0 1.2rem 2.8rem rgba(0,0,0,0.12);
  background: #fff;
}

.p-aboutMRS__media img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

/* ------------------------------
   SP：縦積み＋余白をいい感じに
------------------------------ */
@media (max-width: 767px) {
  .p-aboutMRS {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .p-aboutMRS__grid {
    grid-template-columns: 1fr;
    gap: 2.4rem;
  }

  .p-aboutMRS__content {
    padding: 2.2rem;
    border-radius: 1rem;
  }

  .p-aboutMRS__media {
    border-radius: 1rem;
  }
}

/* ========================================
   代表メッセージ
======================================== */

.p-message {
  padding-top: 10rem;
  padding-bottom: 10rem;
  background: #ffffff;
}

.p-message__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem; /* ← あなたが変更した値 */
  align-items: start;
}

/* 写真 */
.p-message__media {
  margin: 0;
  border-radius: 1.2rem;
  overflow: hidden;
  box-shadow: 0 1.5rem 3rem rgba(0,0,0,0.12);
}

.p-message__media img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

/* 右側 */
.p-message__content {
  padding: 2rem 0;
}

.p-message__title {
  font-size: 2rem;
  font-weight: 700;
  color: #135531;
  margin-bottom: 2.4rem;
}

.p-message__text p {
  margin: 0 0 1.6rem;
  font-size: 1.6rem;
  color: #333;
}

/* 署名 */
.p-message__name {
  margin-top: 3rem;
  text-align: right;
}
.p-message__name img {
	width: 13rem;
	display:inline;
}

.p-message__position {
  display: block;
  font-size: 1.4rem;
  color: #777;
  margin-bottom: 0.8rem;
}

.p-message__signature {
  font-size: 2.4rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #222;
}

/* SP */
@media (max-width: 767px) {
  .p-message {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .p-message__grid {
    grid-template-columns: 1fr;
  }

  .p-message__name {
    text-align: left;
  }
}

.left_text {
  text-align: left;
  margin-bottom: 2rem;
}

/* ========================================
   情報公開セクション
======================================== */

.p-disclosure {
  padding-bottom: 10rem;
  padding-top: 10rem;
}

.p-disclosureCard {
  background: #fff;
  padding: 3.2rem;
  border-radius: 1.2rem;
  box-shadow: 0 1.5rem 3rem rgba(0,0,0,0.08);
  margin-bottom: 4rem;
}

.p-disclosureCard__title {
  font-size: 1.8rem;
  font-weight: 700;
  color: #135531;
  margin-bottom: 2.4rem;
}

.p-disclosureCard__title span {
  font-size: 1.4rem;
  font-weight: 400;
  color: #777;
  margin-left: 1rem;
}

/* DLをテーブル風に */
.p-disclosureTable {
  display: grid;
  gap: 1.6rem;
}

.p-disclosureTable > div {
  display: grid;
  grid-template-columns: 30% 1fr;
  padding: 1.4rem 1.6rem;
  background: rgba(134,193,177,0.15);
  border-radius: 0.8rem;
  gap: 1.8rem;
}

.p-disclosureTable dt {
  font-weight: 600;
  color: #135531;
}

.p-disclosureTable dd {
  margin: 0;
  color: #333;
}

.p-disclosureTable strong {
  font-weight: 700;
}

/* SP */
@media (max-width: 767px) {

  .p-disclosure {
    padding: 4rem 0;
  }

  .p-disclosureCard {
    padding: 2.4rem;
  }

  .p-disclosureTable > div {
    grid-template-columns: 1fr;
    gap: 0.6rem;
  }
  .p-disclosureCard {
  margin-bottom: 0rem;
}
}

.p-disclosureCard.m-top {
  margin-top: 2rem;
}


/* ========================================
   関連事業・店舗展開
======================================== */

.p-related {
  padding-top: 10rem;
  padding-bottom: 10rem;
}

.p-related__heading {
  margin-bottom: 3rem;
}

/* 上段：ブランド紹介 */
.p-relatedIntro {
  display: grid;
  grid-template-columns: minmax(28rem, 48rem) 1fr;
  gap: 4rem;
  align-items: center;

  padding: 3.5rem;
  border-radius: 1.6rem;
  background: #F2F7F8;
}

.p-relatedIntro__logo {
  background: #fff;
  border-radius: 1.2rem;
  padding: 2rem;
  box-shadow: 0 1.2rem 2.8rem rgba(0,0,0,0.08);
}

.p-relatedIntro__logo img {
  width: 100%;
  height: auto;
  display: block;
}

.p-relatedIntro__title {
  margin: 0;
  font-size: 2.6rem;
  font-weight: 800;
  color: #222;
  line-height: 1.3;
}

.p-relatedIntro__list {
  margin: 1.6rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.8rem;
  color: #333;
  font-size: 1.6rem;
  line-height: 1.8;
}

.p-relatedIntro__list li {
  position: relative;
  padding-left: 1.2em;
}

.p-relatedIntro__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.8em;
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 50%;
  background: #0E7E60;
}

/* 下段：店舗カード */
.p-relatedStores {
  margin-top: 5rem;

  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem;
}

/* card */
.p-storeCard {
  background: #fff;
  border-radius: 1.6rem;
  overflow: hidden;
  box-shadow: 0 1.2rem 2.8rem rgba(0,0,0,0.12);
}

.p-storeCard__title {
  padding: 2.2rem 2.6rem 1.6rem;
}

.p-storeCard__name {
  margin: 0;
  font-size: 2.4rem;
  font-weight: 800;
  color: #222;
  line-height: 1.25;
}

.p-storeCard__media {
  margin: 0;
  height: 26rem;
  overflow: hidden;
  background: #eee;
}

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

.p-storeCard__body {
  padding: 2.4rem 2.6rem 2.8rem;
}

.p-storeCard__zip {
  margin: 0;
  font-size: 1.6rem;
  font-weight: 700;
  color: #222;
}

.p-storeCard__addr {
  margin: 0.8rem 0 0;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #333;
}

.p-storeCard__hours {
  margin: 1.8rem 0 0;
  display: grid;
  gap: 0.8rem;
}

.p-storeCard__row {
  display: grid;
  grid-template-columns: 8em 1fr;
  gap: 1.2rem;
  align-items: start;
}

.p-storeCard__hours dt {
  font-weight: 800;
  color: #222;
}

.p-storeCard__hours dd {
  margin: 0;
  color: #333;
}

.p-storeCard__note {
  margin: 2rem 0 0;
  padding-top: 1.8rem;
  border-top: 0.1rem solid rgba(0,0,0,0.10);
  font-size: 1.5rem;
  color: #333;
}

/* --------------- Responsive --------------- */
@media (max-width: 1023px) {
  .p-relatedIntro {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .p-relatedStores {
    grid-template-columns: 1fr;
  }

  .p-storeCard__media {
    height: 22rem;
  }
}

@media (max-width: 767px) {
  .p-related {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .p-relatedIntro {
    padding: 2.2rem;
  }

  .p-storeCard__title {
    padding: 1.8rem 1.8rem 1.2rem;
  }

  .p-storeCard__body {
    padding: 1.8rem 1.8rem 2.2rem;
  }

  .p-storeCard__name {
    font-size: 2rem;
  }

  .p-storeCard__row {
    grid-template-columns: 7.5em 1fr;
  }

  .p-relatedIntro__title {
  font-size: 2rem;
}
}

/* ========================================
   スタッフ登録・求人応募CTA
======================================== */

.p-staffCta {
  padding: 4rem 0;
}

.c-btnPrimary.m-top {
  margin-top: 1rem;
}

.p-staffCta__inner {
  border-radius: 2rem;
  padding: 5rem 4rem;
  text-align: center;
}

.p-staffCta__title {
  margin: 0 0 3rem;
  font-size: 2rem;
  font-weight: 800;
  color: #222;
  line-height: 1.3;
}

/* c-btnPrimary の幅だけ、このセクション用に広げる */
.c-btnPrimary--wide {
  max-width: 100rem; /* 好みで 90〜110rem でもOK */
}

/* SP */
@media (max-width: 767px) {
  .p-staffCta {
    padding: 3rem 0;
  }

  .p-staffCta__inner {
    padding: 0rem 1rem;
    border-radius: 1.6rem;
  }

  .p-staffCta__title {
    font-size: 1.8rem;
    margin-bottom: 1rem;
  }

  .c-btnPrimary--wide {
    max-width: none;
  }
}

/* ========================================
   先輩スタッフの声
======================================== */

.p-voices {
  padding-bottom: 10rem;
}

/* SP */
@media (max-width: 767px) {
  .p-voices {
  padding: 4rem 0;
}

}

.p-voices__list {
  margin-top: 4rem;
  display: grid;
  gap: 2.5rem;
}

/* カード */

.p-voiceCard {
  background: #ffffff;
  padding: 2.5rem 3rem;
  border-radius: 1rem;
  box-shadow: 0 1rem 2rem rgba(0,0,0,0.04);
  position: relative;
  transition: 0.3s ease;
  border: 1px solid #c7c7c7;
}

.p-voiceCard:hover {
  transform: translateY(-4px);
}

/* 引用マーク */

.p-voiceCard::before {
  content: "“";
  position: absolute;
  top: 1rem;
  left: 2rem;
  font-size: 6rem;
  color: #e4efe9;
  font-weight: bold;
  line-height: 1;
}

/* 本文 */

.p-voiceCard__text {
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.6;
  color: #333;
  margin-bottom: 1.5rem;
  position: relative;
  z-index: 1;
}

/* 属性 */

.p-voiceCard__meta {
  font-size: 1.4rem;
  color: #666;
}

/* PCで横並び */

@media screen and (min-width: 768px) {
  .p-voices__list {
    grid-template-columns: repeat(3, 1fr);
  }
}



/* ========================================
   category.php：共通カテゴリ一覧（case / column / news）
======================================== */

.p-catIndex {
  padding-top: 6rem;
  padding-bottom: 10rem;
  background: #fff;
}

/* ------------------------------
   軽い見出し（新デザイン：c-subHeading）
   ※c-heading より軽く、LP/一覧向け
------------------------------ */
.c-subHeading {
  margin-bottom: 3.5rem;
  padding-bottom: 1.6rem;
  border-bottom: 0.2rem solid rgba(14,126,96,0.25);
}

.c-subHeading__en {
  margin: 0;
  font-size: 1.4rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #0E7E60;
}

.c-subHeading__ja {
  margin: 0.8rem 0 0;
  font-size: 2.6rem;
  font-weight: 800;
  line-height: 1.35;
  color: #222;
}

@media (max-width: 767px) {
  .c-subHeading__ja {
    font-size: 2.1rem;
  }
}

/* ------------------------------
   Grid（カード一覧）
------------------------------ */
.p-catIndex__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem; /* 15px */
}

@media (max-width: 1023px) {
  .p-catIndex__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 767px) {
  .p-catIndex {
    padding-top: 4.5rem;
    padding-bottom: 8rem;
  }

  .p-catIndex__grid {
    grid-template-columns: 1fr;
  }
}

/* ------------------------------
   Card
------------------------------ */
.p-postCard {
  background: #fff;
  box-shadow: 0 1.2rem 2.8rem rgba(0, 0, 0, 0.12);
}

.p-postCard__link {
  display: block;
  color: inherit;
  text-decoration: none;
}

/* 画像 */
.p-postCard__media {
  margin: 0;
  height: 18rem; /* 180px */
  overflow: hidden;
  background: #f3f3f3;
  position: relative;
}

.p-postCard__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.p-postCard__noimg {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgba(14,126,96,0.10), rgba(134,193,177,0.12));
}

/* カテゴリバッジ */
.p-postCard__badge {
  position: absolute;
  left: 1.2rem;
  bottom: 1.2rem;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 0.5rem 1rem;
  border-radius: 9999px;

  font-size: 1.2rem;
  font-weight: 800;
  color: #fff;
  background: #0E7E60;
}

/* 本文 */
.p-postCard__body {
  padding-top: 3rem;    /* 上 30 */
  padding-bottom: 3rem; /* 下 30 */
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.p-postCard__date {
  display: block;
  font-size: 1.3rem;
  color: #666;
  margin-bottom: 1.2rem;
}

/* h2 = タイトル（指定） */
.p-postCard__title {
  margin: 0 0 1.6rem;
  font-size: 2rem;
  font-weight: 800;
  line-height: 1.4;
  color: #135531;

  text-decoration: underline;
  text-decoration-thickness: 0.1rem;
  text-underline-offset: 0.35em;
}

.p-postCard__excerpt {
  margin: 0;
  font-size: 1.5rem;
  line-height: 1.8;
  color: #222;
}

/* 続きを読む */
.p-postCard__more {
  display: inline-flex;
  align-items: center;
  gap: 1rem;

  margin-top: 2rem;
  font-size: 1.5rem;
  font-weight: 800;
  color: #0E7E60;
}

.p-postCard__arrow {
  width: 0.9rem;
  height: 0.9rem;
  border-right: 0.2rem solid currentColor;
  border-bottom: 0.2rem solid currentColor;
  transform: rotate(-45deg);
}

/* hover */
.p-postCard__link:hover {
  opacity: 0.92;
}

/* ------------------------------
   Pagination（この一覧だけの見た目）
------------------------------ */
.p-catIndex__pagination {
  margin-top: 4rem;
}

.p-catIndex__pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 3.8rem;
  height: 3.8rem;

  border: 0.1rem solid rgba(0,0,0,0.12);
  border-radius: 0.8rem;
  padding: 0 1rem;

  text-decoration: none;
  color: #222;
}

.p-catIndex__pagination .current {
  background: #0E7E60;
  color: #fff;
  border-color: transparent;
  font-weight: 800;
}

.p-catIndex__empty {
  margin-top: 2rem;
  font-size: 1.6rem;
}


/* =========================================================
   Article Single (p-article)
   ========================================================= */

.p-article {
  padding: 6rem 0 10rem;
}

.p-article__inner {
  display: grid;
  grid-template-columns: 70rem 1fr; /* 左700px */
  gap: 7rem; /* 70px */
  align-items: start;
}

@media (max-width: 1023px) {
  .p-article__inner {
    grid-template-columns: 1fr;
    gap: 4rem;
  }
}

/* ---- Article Header ---- */
.p-articleHead__thumb {
  margin: 0;
  background: #f2f7f8;
}

.p-articleHead__img {
  display: block;
  width: 100%;
  height: auto;
}

.p-articleHead__date {
  display: inline-block;
  margin-top: 1.2rem;
  font-size: 1.3rem;
  color: #222;
}

/* ---- Content base ---- */
.p-article__content {
  margin-top: 3.2rem;
}

/* =========================================================
   Article Headings (inside entry-content)
   h1/h2/h3 専用デザイン
   ========================================================= */

/* h1：左に縦バー＋下線ライン（スクショっぽい雰囲気） */

.p-articleHead h1 {
  position: relative;
  margin: 4.8rem 0 1.6rem;
  padding: 0 0 0 2rem;

  font-size: 3.2rem;
  line-height: 1.35;
  font-weight: 800;
  color: #222;
}

.p-articleHead h1::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 0.6rem;
  height: 100%;
  background: #0E7E60;
}

.p-articleHead h1::after {
  content: "";
  position: absolute;
  left: 1.2rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0.3rem;
  height: 100%;
  background: #86C1B1;
}



.p-article .entry-content h2 {
  position: relative;
  margin: 4.8rem 0 1.6rem;
  padding: 0 0 0 2rem;

  font-size: 3.2rem;
  line-height: 1.35;
  font-weight: 800;
  color: #222;
}

.p-article .entry-content h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 0.6rem;
  height: 100%;
  background: #86C1B1;
}



/* h3：番号見出し用（下線ライン） */
.p-article .entry-content h3 {
  margin: 3.2rem 0 1rem;
  padding-bottom: 1rem;

  font-size: 2rem;
  font-weight: 800;
  line-height: 1.4;
  color: #135531;

  border-bottom: 0.1rem solid rgba(134, 193, 177, 0.95);
}

/* 段落 */
.p-article .entry-content p {
  font-size: 1.6rem;
  line-height: 1.9;
}

/* リスト */
.p-article .entry-content ul,
.p-article .entry-content ol {
  font-size: 1.6rem;
  line-height: 1.9;
}

/* =========================================================
   Table / Quote / Code (サイトの色味に寄せる)
   ========================================================= */

.p-article .entry-content .wp-block-table {
  overflow-x: auto;
}

.p-article .entry-content table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
}
/* 表の横スクロール */
.p-article .entry-content .c-tableScroll{
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.p-article .entry-content .c-tableScroll table{
  min-width: 56rem; /* ←これがあってもOK。長い時だけ横スクロールになる */
  width: 100%;
  border-collapse: collapse;
  background: #fff;
}


.p-article .entry-content th,
.p-article .entry-content td {
  border: 0.1rem solid rgba(0,0,0,0.10);
  padding: 1.4rem 1.6rem;
  vertical-align: top;
  font-size: 1.5rem;
  line-height: 1.8;
}

.p-article .entry-content th {
  background: #F2F7F8;
  font-weight: 800;
  color: #135531;
  width: 30%;
}

/* 引用 */
.p-article .entry-content blockquote,
.p-article .entry-content .wp-block-quote {
  margin: 2.4rem 0;
  padding: 2rem 2.2rem;
  border-left: 0.4rem solid #0E7E60;
  background: #F2F7F8;
  border-radius: 1.2rem;
}

.p-article .entry-content blockquote p {
  margin: 0;
}

/* コード */
.p-article .entry-content pre,
.p-article .entry-content .wp-block-code {
  border: 0.1rem solid rgba(0,0,0,0.12);
  border-radius: 1.2rem;
  background: #fff;
}

/* =========================================================
   Sidebar box (右の一覧)
   ========================================================= */

.p-sideBox {
  background: #fff;
  overflow: hidden;
}

.p-sideBox + .p-sideBox {
  margin-top: 2.4rem;
}

.p-sideBox__title {
  margin: 0;
  background: #0E7E60;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 800;
  padding: 1.6rem 2rem;
}

.p-sideBox__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.p-sideBox__item {
  border-bottom: 0.1rem solid rgba(0,0,0,0.08);
}

.p-sideBox__link {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1.2rem;
  align-items: center;

  padding: 1.4rem 2rem;
  text-decoration: none;
  color: #222;
}

.p-sideBox__date {
  font-size: 1.3rem;
  color: rgba(0,0,0,0.70);
  white-space: nowrap;
}

.p-sideBox__text {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.p-sideBox__link:hover {
  background: #F2F7F8;
}

.p-sideBox__footer {
  padding: 1.6rem 2rem;
  display: flex;
  justify-content: center;
}

.p-sideBox__more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 26rem;

  padding: 1.2rem 1.6rem;
  border: 0.1rem solid rgba(11, 126, 96, 0.7);
  border-radius: 0.4rem;

  text-decoration: none;
  font-weight: 800;
  font-size: 1.4rem;
  color: #0B7E60;
  background: #fff;
}

.p-sideBox__more:hover {
  background: rgba(11, 126, 96, 0.08);
}


.p-contactPhone {
  margin-top: 10rem;
}

.p-privacy__content {
  padding: 4rem 2rem;
  border-bottom: 1px solid #b6b6b6;
}
.p-privacy__content h3 {
  font-weight: 700;
  font-size: 1.8rem;
  color: #00632D;
  margin-bottom: 1rem;
}


@media (max-width: 768px) {
  .p-contactPhone {
  margin-top: 4rem;
  padding: 2rem;
}
}

.p-privacy {
   margin-top: 10rem;
   margin-bottom: 10rem;
}
@media (max-width: 768px) {
  .p-contactPhone {
  margin-top: 4rem;
}
.p-privacy {
   margin-top: 4rem;
   margin-bottom: 4rem;
}
.p-privacy__content {
  padding: 2rem 0;
}
}


/* =========================================================
   Policy Table Design
   ========================================================= */

.p-policyTable {
  margin: 4rem 0;
  overflow-x: auto;
}

.c-policyTable {
  width: 100%;
  border-collapse: collapse;
  font-size: 1.5rem;
  line-height: 1.8;
  background: #fff;
  border-radius: 1.6rem;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

/* ヘッダー */
.c-policyTable thead {
  background: #0B6A3A;
  color: #fff;
}

.c-policyTable th {
  padding: 1.8rem 2rem;
  text-align: left;
  font-weight: 700;
  font-size: 1.6rem;
}

/* ボディ */
.c-policyTable td {
  padding: 2rem;
  vertical-align: top;
  border-bottom: 1px solid #eee;
}

/* 左列 */
.c-policyTable tbody td:first-child {
  width: 30%;
  background: rgba(11,106,58,0.05);
  font-weight: 600;
  color: #0B6A3A;
}

/* 最終行 */
.c-policyTable tr:last-child td {
  border-bottom: none;
}

/* レスポンシブ */
@media (max-width: 768px) {

  .c-policyTable thead {
    display: none;
  }

  .c-policyTable,
  .c-policyTable tbody,
  .c-policyTable tr,
  .c-policyTable td {
    display: block;
    width: 100%;
  }

  .c-policyTable tr {
    margin-bottom: 2rem;
    background: #fff;
    border-radius: 1.2rem;
    box-shadow: 0 6px 20px rgba(0,0,0,0.05);
    overflow: hidden;
  }

  .c-policyTable td {
    border: none;
    padding: 1.6rem;
  }

  .c-policyTable td:first-child {
    background: #0B6A3A;
    color: #fff;
    font-weight: 700;
  }

  .c-policyTable tbody td:first-child {
    width: 100%;
  }

  .p-policyTable {
    margin: 4rem 0 0;
  }
}

.c-serviceSection.m-t_100 {
  margin-top: 10rem;
}
@media (max-width: 768px) {
  .c-serviceSection.m-t_100 {
  margin-top: 4rem;
}
}

/* =========================================================
   Sitemap Section
   ========================================================= */

.p-sitemap {
  padding: clamp(6rem, 6vw, 10rem) 0;
}

.p-sitemap__inner {
  max-width: 110rem;
  margin: 0 auto;
  padding: 0 2rem;
}

.p-sitemap__header {
  margin-bottom: 4rem;
}

/* ナビ全体 */
.p-sitemap__nav {
  font-size: 1.6rem;
}

/* ulリセット */
.p-sitemap__list {
  list-style: none;
  padding: 0;
  margin: 0;

  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem 6rem;
}

/* トップレベル */
.p-sitemap__list > li {
  font-weight: 700;
}

.p-sitemap__list > li > a {
  display: inline-block;
  color: #0B6A3A;
  font-size: 1.8rem;
  margin-bottom: 1rem;
  text-decoration: none;
  transition: 0.2s ease;
}

.p-sitemap__list > li > a:hover {
  opacity: 0.7;
}

/* サブメニュー */
.p-sitemap__list ul {
  list-style: none;
  padding-left: 1.2rem;
  margin: 0;
}

.p-sitemap__list ul li {
  margin-bottom: 0.6rem;
  font-weight: 500;
}

.p-sitemap__list ul a {
  color: #333;
  font-size: 1.5rem;
  text-decoration: none;
  transition: 0.2s ease;
}

.p-sitemap__list ul a:hover {
  color: #0B6A3A;
}

/* SP対応 */
@media (max-width: 768px) {

  .p-sitemap__list {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .p-sitemap__list > li > a {
    font-size: 1.7rem;
  }

}


.c-btnRow{
  display:flex;
  gap:12px;
  margin: 3rem 0;

}

.c-btnRow__btn{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px 10px;
  border-radius:8px;
  text-decoration:none;
  background-color: #00632D;
  color: #fff;
}
@media (max-width: 768px){
  .c-btnRow{ flex-direction:column; }
}

/* =========================================================
   404 Page
   ========================================================= */

.p-404 {
  position: relative;
}

.p-404__mv {
  padding: 14rem 0 6rem; /* ヘッダー高さに合わせて調整OK */
}

.p-404__mvInner {
  max-width: 110rem; /* mrs想定（必要なら既存l-containerに合わせる） */
}

.p-404__heading {
  margin: 0 auto 2.4rem;
  max-width: 78rem;
}

.p-404__lead {
  margin: 0 auto 3rem;
  max-width: 78rem;
  font-size: 1.6rem;
  line-height: 1.9;
  color: #333;
}

.p-404__actions {
  display: flex;
  gap: 1.2rem;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0 auto 3.2rem;
}

/* 検索ブロック */
.p-404__search {
  margin: 0 auto;
  max-width: 62rem;
  padding: 2.4rem;
  background: #F2F7F8; /* 既存サブイントロの雰囲気に寄せ */
  border-radius: 1.2rem;
}

.p-404__searchTitle {
  margin: 0 0 1.2rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: #222;
}

/* WP標準検索フォームを最低限整える（テーマに合わせて上書きOK） */
.p-404__search .search-form {
  display: flex;
  gap: 1rem;
}

.p-404__search .search-field {
  width: 100%;
  min-height: 4.6rem;
  padding: 0 1.4rem;
  border: 1px solid #d9e2e3;
  border-radius: 0.8rem;
  background: #fff;
}

.p-404__search .search-submit {
  min-height: 4.6rem;
  padding: 0 1.8rem;
  border: none;
  border-radius: 0.8rem;
  background: #0E7E60; /* mrsグリーン想定 */
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}

.p-404__search .search-submit:hover {
  opacity: 0.9;
}

/* よく見られているリンク */
.p-404__links {
  padding: 4.5rem 0 8rem;
}

.p-404__linksTitle {
  margin: 0 0 1.6rem;
  font-size: 2rem;
  font-weight: 800;
  color: #222;
  text-align: center;
}

.p-404__linkList {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.2rem;
  max-width: 78rem;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}

.p-404__linkItem {
  margin: 0;
}

.p-404__link {
  display: block;
  padding: 1.6rem 1.8rem;
  border: 1px solid #e3ecee;
  border-radius: 1.2rem;
  background: #fff;
  color: #222;
  text-decoration: none;
  font-weight: 700;
}

.p-404__link:hover {
  border-color: #0E7E60;
}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width: 700px) {
  .p-404__mv {
    padding: 11rem 0 4.5rem;
  }

  .p-404__lead {
    font-size: 1.5rem;
  }

  .p-404__search {
    padding: 2rem 1.6rem;
  }

  .p-404__search .search-form {
    flex-direction: column;
  }

  .p-404__search .search-submit {
    width: 100%;
  }

  .p-404__linkList {
    grid-template-columns: 1fr;
  }
}


.p-quizClassesText p {
    font-size: 1.6rem;
    width: 60%;
    margin: 40px auto;
	    text-align: left;
}
.p-quizClassesText span {
    font-size: 1.6rem;
    color: red;
}
@media (max-width: 700px) {
  .p-quizClassesText p {
    width: 100%;
	}
}