@charset "utf-8";

/* =====================================================================
  Font settings
===================================================================== */
body {
  font-family: "Helvetica LT Pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

html {
  scroll-behavior: smooth;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Times New Roman", Times, serif;
}

/* =====================================================================
  汎用プレースホルダー用スタイル
  ===================================================================== */
.c-sec--detail {
  background: var(--c1);
}
/* 見出しスタイル */
.c-h2 {
  font-family: "Times New Roman", Times, serif;
  font-size: 7.5rem;
  font-weight: 700;
  color: var(--pri-dark);
  position: relative;
  z-index: 1;
  line-height: 1;
}

.c-h2::before {
  content: "";
  position: absolute;
  left: calc((100% - 100vw) / 2);
  top: 50%;
  transform: translateY(-50%);
  width: calc((100vw - 120rem) / 2 - var(--s2));
  height: 1px;
  background: var(--pri);
  z-index: 0;
}

.c-sec-criteria .c-h2::before {
  width: calc((100vw - 70rem) / 2);
  top: 20%;
}

.c-h2::first-letter {
  font-size: 10rem;
}

.c-h2 .c-hlink::first-letter {
  font-size: 10rem;
}

#low-page h1 {
  font-size: 7.5rem;
  font-weight: 700;
  color: var(--pri-dark);
  position: relative;
  z-index: 1;
  line-height: 1;
  text-align: left !important;
  margin: 0;
}

#low-page h1::before {
  content: "";
  position: absolute;
  left: calc((100% - 100vw) / 2);
  top: 50%;
  transform: translateY(-50%);
  width: calc((100vw - 120rem) / 2 - var(--s2));
  height: 1px;
  background: var(--pri);
  z-index: 0;
}

#low-page h1::first-letter {
  font-size: 10rem;
}

/* 最初の1文字を span で囲んだ場合（& などが大きく表示されるのを防ぐ） */
#low-page h1 .h1-first {
  font-size: 10rem;
}

#low-page h1::after {
  content: none;
}

#low-page table {
  width: 100%;
  border-collapse: collapse;
  margin-block: 4rem;
  background: var(--white);
  border: 0.1rem solid var(--ln);
}

#low-page table th,
#low-page table td {
  padding: var(--s1);
  border: 0.1rem solid var(--ln);
}

#low-page table th {
  text-align: center;
  background: var(--c0);
  font-weight: 700;
  color: var(--txt);
  width: 15%;
}

#low-page table td {
  background: var(--white);
  text-align: left;
  padding: var(--s1) var(--s2);
}

.more-content-gradation {
  transition: max-height 0.3s;
}

.more-content-gradation::after {
  background: linear-gradient(to bottom, transparent 0%, var(--c0) 100%);
}



.c-sec-company .caption--left {
  margin-top: var(--s2);
}

/* .caption-scroll のみ横スクロール（common.cssのスタイルを補強・はみ出し防止） */
.caption {
  white-space: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  max-width: 100%;
  word-break: normal;
  -webkit-overflow-scrolling: touch;
}

.caption::-webkit-scrollbar {
  height: 0.6rem;
}

.caption::-webkit-scrollbar-track {
  border-radius: var(--r-sm);
  background: var(--c0);
}

.caption::-webkit-scrollbar-thumb {
  border-radius: var(--r-sm);
  background: var(--ln);
}

.caption-scroll {
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
}

.caption-scroll::-webkit-scrollbar {
  height: 0.6rem;
}

.caption-scroll::-webkit-scrollbar-track {
  border-radius: var(--r-sm);
  background: var(--c0);
}

.caption-scroll::-webkit-scrollbar-thumb {
  border-radius: var(--r-sm);
  background: var(--ln);
}

/* c-faq__item / c-criteria-callout / c-analysis-card 内ではレイアウト崩れ防止（flex子が縮むように） */
.c-faq__item .caption-scroll,
.c-criteria-callout .caption-scroll,
.c-analysis-card .caption-scroll {
  min-width: 0;
}

.c-h3 {
  font-size: 3rem;
  font-weight: bold;
  color: var(--txt);
  text-align: center;
  line-height: 1.2;
}

.c-h4 {
  font-family: "Times New Roman", Times, serif;
  font-size: 2.6rem;
  font-weight: bold;
  padding: 0;
  margin: 0 auto;
}

#low-page h3:not([class]) {
  background: var(--c0);
  padding: var(--s2) var(--s1) var(--s2) var(--s3);
  line-height: 1.2;
  border-bottom: none;
  font-size: 3.2rem;
  border-left: 5px solid #333;
}

#low-page h4:not([class]) {
  background: none;
  padding: var(--s1) var(--s3) var(--s1) var(--s3);
  line-height: 1.5;
  border-bottom: 1px solid var(--pri);
  min-height: var(--s5);
  font-size: 2.8rem;
}

/* 見出し内リンク */
.c-hlink {
  color: inherit;
  text-decoration: underline;
  display: inline-block;
  padding: 0;
  transition: opacity 0.2s ease;
  text-decoration-thickness: 0.1px;
  text-decoration-color: #dfdfdf;
  text-underline-offset: 1.1rem;
}
@media screen and (max-width: 767px) {
  .c-hlink {
    text-underline-offset: 0.5rem;
  }
}

.c-hlink:hover {
  text-decoration: none;
  opacity: 0.6;
}

/* テキストユーティリティ */
.c-lead {
  margin-bottom: var(--s3);
  color: var(--txt);
  font-size: var(--fs-md);
  line-height: 1.6;
}

/* カードコンポーネント */
.c-card {
  background: var(--white);
  padding: var(--s3);
  box-shadow: var(--sd-1);
}

.c-card--large {
  padding: var(--s4);
}

.c-sec--detail .c-card--large {
  padding: var(--s4) calc((100% - 90rem) / 2) var(--s6);
  background: #fff;
}

.c-card--small {
  padding: var(--s2);
}

.c-cardTitle {
  font-size: var(--fs-lg);
  font-weight: 700;
  margin: 0 0 var(--s2);
  color: var(--txt);
}

/* バッジコンポーネント */
.c-badge {
  text-align: center;
  padding: var(--s1) var(--s2);
  background: var(--pri);
  color: white;
  font-size: var(--fs-xl);
  font-weight: bold;
  margin-bottom: 0; /* ギャップなしの縦積みのため */
}

/* テーブルコンポーネント */
.c-table {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
  background: var(--white);
  border: 0.1rem solid var(--ln);
}

.c-table th,
.c-table td {
  padding: var(--s1);
  border: 0.1rem solid var(--ln);
}

.c-table th {
  text-align: center;
  background: var(--c0);
  font-weight: 700;
  color: var(--txt);
  width: 30%;
}

.c-table td {
  background: var(--white);
}

/* =============================================================
  簡易訴求カード subgrid 対応
============================================================= */

/* カードラッパー（バッジ + カード）の縦積みレイアウト */
.c-card-wrapper {
  display: flex;
  flex-direction: column;
  height: 100%;
  gap: 0; /* バッジとカードの間のギャップを除去 */
}

/* カード自体を縦フレックスにして汎用化（可変要素対応） */
.c-card--grid {
  display: flex;
  flex-direction: column;
  gap: var(--s2);
  flex: 1; /* 残りの高さを全て使用 */
}

/* 下部ブロック（おすすめする理由） */
.c-cardReason {
  display: grid;
  gap: var(--s1);
  padding: var(--s2);

  background: var(--c3);
}

.c-cardReason__label {
  font-weight: 700;
  color: var(--pri-dark);
}

.c-cardReason__text {
  color: var(--txt);
  line-height: 1.8;
}

/* 下部ブロック（キャッチ + p）2種 */
.c-cardCatch {
  display: grid;
  grid-template-rows: auto 1fr; /* キャッチは自動、説明文は残りスペース */
  gap: var(--s-2);
  padding: var(--s2);
}

.c-cardCatch--a {
  background: var(--c0);
}

.c-cardCatch--b {
  background: var(--c1);
}

.c-cardCatch__lead {
  font-weight: 700;
  color: var(--txt);
  font-size: var(--fs-m);
}

.c-cardCatch__desc {
  margin: 0;
  color: var(--txt);
  align-self: start; /* 説明文を上端に配置 */
}

/* 下部領域（理由・キャッチ群）を一括ラップし、最下段へ押し下げ */
.c-cardFooter {
  display: grid;
  gap: var(--s2);
  margin-top: auto;
}

/* 理由ラベルを独立したブロックとして配置 */
.c-cardReason__label {
  display: block;
  padding: var(--s2);
  background: var(--c2);
  font-weight: 700;
  color: var(--pri-dark);
  font-size: var(--fs-m);
}


/* c-featureCard コンポーネント*/
.c-featureCard {
  display: grid;
  grid-template-rows: auto 1fr;
  gap: var(--s-2);
  padding: var(--s2);
  background: var(--c1);
}

.c-featureCard__lead {
  font-weight: 700;
  color: var(--txt);
  font-size: var(--fs-m);
}

/* =============================================================
  会社一覧カード subgrid 対応
============================================================= */

/* 会社カードの基本レイアウト */
.c-company-card {
  display: flex;
  flex-direction: column;
  gap: var(--s2);
  padding: var(--s3);
  background: var(--white);
  box-shadow: var(--sd-1);
  height: 100%;
}
/* 会社一覧グリッドの高さ統一 */
.l-sec:has(.c-company-card) .l-grid-3 {
  align-items: stretch;
}

/* subgrid 対応: 会社カード要素の行整列 */
@supports (grid-template-rows: subgrid) {
  /* 6行のsubgrid設定（h3 + img + p + table(3行)） */
  .l-sec:has(.c-company-card) .l-grid-3 {
    grid-template-rows: repeat(6, auto);
  }

  /* 会社カードをsubgridに設定 */
  .c-company-card {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: 1 / span 6;
    gap: var(--s2);
  }

  /* 行マッピング */
  .c-company-card > .c-h3 {
    grid-row: 1;
  }
  .c-company-card > img {
    grid-row: 2;
  }
  .c-company-card > p {
    grid-row: 3;
    margin-bottom: 1rem;
  }
  .c-company-card > .c-table {
    grid-row: 4 / span 3;
  }
}

/*
---------------------------------------------
    navigation02 ※TOP、下層共通
*/
.header-area-upper {
	padding: 0;
	text-align: right;
	background: var(--pri);
	padding-right: 1rem;
}
.header-title {
	font-size: 1.2rem;
	display: inline-block;
	position: relative;
	color: var(--white);
	padding-left: var(--s3);
}
.header-title::before {
	content: "PR";
	display: inline-block;
	padding: 0 var(--s-2);
	line-height: 1;
	color: var(--pri);
	background-color: var(--white);
	transform: translateY(-50%);
	position: absolute;
	top: 50%;
	left: -0.8rem;
}
.header-title a {
	text-decoration: none;
}
.header-title a:hover {
	text-decoration: underline;
}
.gnavi-btn-close {
	display: none;
}
.toggle-content {
	display: none;
}
.gnavi-ctrl {
	transition: opacity 0.6s, visibility 0.6s;
	opacity: 0;
	visibility: hidden;
}
.gnavi-ctrl.is-show {
	opacity: 1;
	visibility: visible;
}
#low-header .gnavi-ctrl {
	opacity: 0;
	visibility: hidden;
}

#low-header .gnavi-ctrl.is-show {
	opacity: 1;
	visibility: visible;
}
.gnavi-btn {
	width: var(--s10);
	height: var(--s7);
	background: rgba(255, 255, 255, 0.8);
	display: block;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 200;
	cursor: pointer;
}
.gnavi-btn span {
	width: var(--s7);
	height: 0.2rem;
	display: inline-block;
	background: #333;
	position: absolute;
	left: 1.2rem;
	transform: translate(0, -50%);
	transition: transform 0.4s, opacity 0.4s;
}
.gnavi-btn span:nth-of-type(1) {
	top: 1.5rem;
}
.gnavi-btn span:nth-of-type(2) {
	top: 2.7rem;
}
.gnavi-btn span:nth-of-type(3) {
	top: 4rem;
}
.gnavi-btn.is-active span:nth-of-type(1) {
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(-45deg);
}
.gnavi-btn.is-active span:nth-of-type(2) {
	opacity: 0;
}
.gnavi-btn.is-active span:nth-of-type(3) {
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(45deg);
}
.gnavi-btn-close {
	width: 38%;
	margin: 0 auto;
	padding: var(--s1);
	background: #333;
	display: block;
	text-align: center;
	border-radius: 30rem;
}
.gnavi-btn-close__inner {
	padding: 0 0 0 var(--s3);
	display: inline-block;
	color: #fff;
	font-weight: 700;
	position: relative;
}
.gnavi-btn-close__inner::before {
	content: "";
	width: 1em;
	height: 0.2rem;
	background: #fff;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(0, -50%) rotate(45deg);
}
.gnavi-btn-close__inner::after {
	content: "";
	width: 1em;
	height: 0.2rem;
	background: #fff;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(0, -50%) rotate(135deg);
}
.gnavi-area {
	width: 100%;
	max-width: 37.5rem;
	height: 100vh;
	padding: var(--s3) var(--s1) var(--s10);
	display: block;
	background: #F5F5F5;
	overflow-x: hidden;
	overflow-y: auto;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 100;
	transform: translateX(100%);
	transition: transform 0.8s ease, opacity 0.8s ease;
	opacity: 0;
}
.gnavi-title {
	margin: 0 0 1rem 1.5rem;
	width: 80%;
}

.gnavi-title .mv-logo {
	font-family: "Times New Roman", Times, serif;
	font-weight: 700;
	font-size: 2.4rem;
	line-height: 1.1;
	text-decoration: none;
	color: var(--txt);
	text-align: left;
	margin-top: 0;
	margin-bottom: 1rem;
	width: 100%;
}

.gnavi-title .mv-label {
	display: block;
	font-size: 1.4rem;
	font-weight: 700;
	margin-bottom: 0.5rem;
	line-height: 1;
}
.gnavi-pc {
	display: none;
}
.gnavi-list {
	border-bottom: 1px solid #333;
	position: relative;
	margin-bottom: 4rem;
}
.gnavi-list li {
	padding-left: 0;
}
.gnavi-list__item::before {
	display: none;
}
.gnavi-list__link {
	width: 100%;
	margin: 0 auto;
	padding: var(--s2) var(--s4) var(--s2) var(--s2);
	border-top: 1px solid #333;
	display: block;
	font-weight: 700;
	line-height: 2;
	text-decoration: none;
	position: relative;
}
.gnavi-list__link::after {
	content: "";
	width: 1.4rem;
	height: 1.4rem;
	/*! background: url("img/arrow-s.svg") no-repeat center/100% auto; */
	position: absolute;
	top: 50%;
	right: var(--s2);
	transform: translate(0, -50%) rotate(0);
	transition: transform 0.3s;
}
.gnavi-list__link--toggle::after {
	background-image: none;
}
.gnavi-list__link--toggle.is-open::after {
	transform: translate(0, -50%) rotate(0);
}
.gnavi-list__sub {
	width: 100%;
	background: #fff;
}
.gnavi-list__low .gnavi-list__link {
	padding: var(--s2) var(--s4) var(--s2) var(--s4);
}
.gnavi-list__low .gnavi-list__link::after {
	content: "└";
	background: none;
	transform: translateY(-50%);
	position: absolute;
	top: 40%;
	left: 1rem;
}
.is-gnavi-open .gnavi-area {
	opacity: 1;
	transform: translateX(0);
}

.pc-fix-banner01 {
  width: 20rem;
  background-color: #000;
  right: 0;
  bottom: 9rem;
  z-index: 50;
  position: fixed;
}

.footer-banner {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
}

.footer-banner.js-show {
  opacity: 1;
  pointer-events: auto;
}

.footer-banner.is-hidden {
  display: none;
}

/* 関連記事01：5件表示・6件目以降はアコーディオン（すべて表示で展開） */
.related-article01-list li.is-hidden {
  display: none;
}

.related-article01-more {
  margin-top: var(--s2);
}

.related-article01-btn {
  max-width: 25rem;
  margin: 0 auto;
  padding: 1rem 3rem;
  border: 1px solid var(--txt);
  text-align: center;
  cursor: pointer;
  border-radius: 30rem;
  background-color: var(--white);
  transition: opacity 0.3s;
}

.related-article01-btn:hover {
  opacity: 0.6;
}

.footer-banner__close {
  position: absolute;
  top: var(--s1);
  left: var(--s1);
  width: 2.4rem;
  height: 2.4rem;
  background: none;
  color: transparent;
  border-radius: 0;
  position: absolute;
  font-size: 0;
  line-height: 1;
  cursor: pointer;
  z-index: 6;
}

.footer-banner__close::before,
.footer-banner__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.8rem;
  height: 0.2rem;
  background: var(--pri);
  transform: translate(-50%, -50%) rotate(45deg);
}

.footer-banner__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.pc-fix-banner01 a {
  color: #fff;
  text-decoration: none;
  display: block;
}
.pc-fix-banner01 a:hover {
  opacity: .7;
}
.pc-fix-banner01-img {
  position: relative;
}

.pc-fix-banner01-text {
  padding: var(--s2);
  color: #fff;
  position: relative;
}
.pc-fix-banner01-text::after {
  content: "";
  width: 0.1rem;
  height: 0.1rem;
  border-top: .5rem solid transparent;
  border-left: .5rem solid transparent;
  border-right: .5rem solid #fff;
  border-bottom: .5rem solid #fff;
  position: absolute;
  right: .5rem;
  bottom: .5rem;
}
.pc-fix-banner01-text .label {
  margin: 0;
  font-size: 1.4rem;
  text-align: left;
  background-color: var(--acc-dark);
  font-weight: 700;
  color:white;
  display: inline-block;
  padding: 0.2rem 0.5rem;
}
.pc-fix-banner01-text p.text-small {
  font-size: 1.8rem;
  line-height: 1.2;
  font-weight:700;
  font-family: "Times New Roman", Times, serif;
}
.pc-fix-banner01-text p.text-small:first-letter {
  font-size:3rem;
}
/*------------------------------------------------------------
  SP settings
*/
@media screen and (max-width: 767px) {
  .pc-fix-banner01 {
      display: none;
  }
}

.sp-fix-banner01 {
  display: none;
}
/*------------------------------------------------------------
  SP settings
*/
@media screen and (max-width: 767px) {
  .sp-fix-banner01 {
      display: block;
      width: 80%;
      background-color: #000;
      position: fixed;
      left: 0;
      bottom: 0;
      z-index: 50;
  }
  .sp-fix-banner01-text {
      padding: var(--s2);
      color: #fff;
      position: relative;
  }
  .sp-fix-banner01-text::before {
      content: "Find Your Match";
      width: 13rem;
      height: 2.5rem;
      background: var(--acc-dark);
      background-size: cover;
      position: absolute;
      top: -1.5rem;
      left: .5rem;
      z-index: 5;
      text-align: center;
      font-weight: 700;
  }
  .sp-fix-banner01-text::after {
    content: "";
    width: 0.1rem;
    height: 0.1rem;
    border-top: .5rem solid transparent;
    border-left: .5rem solid transparent;
    border-right: .5rem solid #fff;
    border-bottom: .5rem solid #fff;
    position: absolute;
    right: .5rem;
    bottom: .5rem;
  } 
  .sp-fix-banner01-text p {
      margin: 0;
      font-size: 1.4rem;
      line-height: 1.2;
      font-weight: 700;
  }
  .sp-fix-banner01-text .text-small:first-letter {
      font-size: 2rem;
  }
  .sp-fix-banner01-text a {
      padding-right: 1.6rem;
      color: #fff;
      text-decoration: none;
      display: block;
  }
  .sp-fix-banner01-text a:hover {
      opacity: .7;
  }
  .sp-fix-banner01 .footer-banner__close {
      top: 0;
      left: auto;
      right: 0;
      background: rgba(255, 255, 255, 0.3);
      width: 2rem;
      height: 2rem;
      padding: 0.2rem;
  }
  .sp-fix-banner01 .footer-banner__close::before,
  .sp-fix-banner01 .footer-banner__close::after {
      background: var(--white);
  }
}






/* SP用 */
@media screen and (max-width: 767px) {
  .c-sec--detail .c-card--large {
    padding: var(--s4) var(--s2);
  }

  /* 会社一覧のSP対応 */
  .l-sec:has(.c-company-card) .l-grid-3 {
    display: flex;
    flex-direction: column;
  }

  .c-company-card {
    display: flex !important;
    flex-direction: column;
    grid-row: none;
  }
}

/* =====================================================================
  Section 02: FAQ
===================================================================== */
.c-sec-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 var(--s2);
  background: var(--acc-dark);
  color: var(--white);
  font-size: var(--fs-s);
  font-weight: 700;
  letter-spacing: 0.05em;
  width: fit-content;
}

.c-sec-faq .c-h2 {
  text-align: left;
}

.c-sec-faq .c-h2::before {
  top: 0.7em;
  transform: translateY(-50%);
}

.c-sec-faq {
  background: url("./img/bg_faq.png") no-repeat center bottom;
  background-size: 100% auto;
  padding-bottom: 37rem;
}

.c-faq {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--s6);
}

.c-faq__item {
  border-bottom: 0;
  padding-bottom: 0;
}

.c-faq__q {
  display: flex;
  align-items: center;
  gap: var(--s2);
  border-bottom: 0.1rem solid var(--pri);
  padding-bottom: var(--s2);
  cursor: pointer;
}

.c-faq__q-label {
  color: var(--acc);
  font-size: 6rem;
  font-family: "Times New Roman", Times, serif;
}

.c-faq__q-text {
  margin: 0;
  flex: 1;
  font-weight: 700;
  font-size: 3.6rem;
  font-family: "Times New Roman", Times, serif;
  color: var(--pri);
  line-height: 1.2;
}

.c-faq__icon {
  width: 6rem;
  height: 2.4rem;
  position: relative;
}

.c-faq__icon::before,
.c-faq__icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background: var(--pri);
  transform: translate(-50%, -50%);
}

.c-faq__icon::before {
  width: 4.5rem;
  height: 0.1rem;
}

.c-faq__icon::after {
  width: 0.1rem;
  height: 4.5rem;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.c-faq__item.is-open .c-faq__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
  opacity: 0;
}

.c-faq__a {
  margin-top: var(--s2);
  color: var(--txt);
  line-height: 1.8;
  padding: var(--s2);
  background: var(--c0);
}

/* =====================================================================
  Section 03: Selection Criteria
===================================================================== */
.c-sec-criteria .c-h2 {
  text-align: left;
}

.c-sec-criteria {
  padding-top: 30rem;
  background-image: url("./img/za-nac-00000894.jpg");
  background-repeat: no-repeat;
  background-position: center top 6rem;
  background-size: cover;
  padding-bottom: 25rem;
}

.c-criteria-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s6);
}

.c-criteria-head__img {
  width: 90%;
  display: flex;
  justify-content: flex-end;
}

.c-criteria-head__img img {
  width: 100%;
  max-width: 50rem;
}

.c-criteria-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 55rem));
  justify-content: space-between;
  align-items: start;
  margin-top: 5rem;
}

.c-criteria-grid > * {
  margin-top: 0;
}

.c-criteria-grid > :nth-child(2) {
  margin-top: 15rem;
}

.c-criteria-grid > :nth-child(3) {
  margin-top: 0;
}

.c-criteria-grid > :nth-child(4) {
  margin-top: 15rem;
}

.c-criteria-grid > :nth-child(5) {
  margin-top: 0;
}

.c-criteria-grid > :nth-child(6) {
  margin-top: 15rem;
}

.c-criteria-card {
  background: var(--c1);
  padding: var(--s4);
  box-shadow: var(--sd-2);
  border-radius: 0;
  border: 0;
}

.c-criteria-card__num {
  display: flex;
  align-items: flex-start;
  gap: var(--s1);
  color: var(--acc);
  font-weight: 700;
  margin: 0;
  font-size: var(--fs-l);
  white-space: nowrap;
  line-height: 1;
  padding-top: 0.3rem;
}

.c-criteria-card__head {
  display: flex;
  align-items: flex-start;
  gap: var(--s2);
}

.c-criteria-card__head .c-h3 {
  margin: 0;
}

.c-criteria-card__num::before {
  content: "";
  width: 2.4rem;
  height: 1px;
  background: var(--pri);
  margin-left: calc(var(--s4) * -1);
  margin-top: 1.2rem;
}

.c-criteria-card .c-h3 {
  text-align: left;
  font-size: 3rem;
  margin-bottom: var(--s2);
}

.c-criteria-callout {
  padding: var(--s4);
  background: var(--c4);
  box-shadow: var(--sd-2);
  line-height: 1.7;
  border-radius: 0;
  min-width: 0;
  max-width: 100%;
}

.c-criteria-callout__lead {
  font-weight: 700;
  color: var(--acc-dark);
  margin: 0 0 var(--s2);
  padding-left: var(--s3);
  border-left: 0.5rem solid var(--acc);
  line-height: 1.4;
  text-align: left;
}

.c-criteria-callout__accent {
  color: var(--acc-dark);
  font-weight: 700;
}

.c-criteria-callout__note {
  color: var(--sub);
  margin: var(--s2) 0 0;
}

/* =====================================================================
  Section 04: The Guide (Recommended)
===================================================================== */
.c-sec-guide .c-h2 {
  text-align: left;
}

.c-guide-card {
  background: none;
  padding: 0;
  box-shadow: none;
  display: grid;
  gap: var(--s2);
  text-align: left;
}
.c-guide-card .c-hlink {
  text-decoration: none;
}

.c-guide-card img {
  width: 100%;
  display: block;
}

.c-guide-card .c-h3 {
  font-size: var(--fs-l);
  line-height: 1.2;
  text-align: left;
}

.c-guide-card .c-h3::first-letter {
  font-size: var(--fs-xxl);
}

.c-guide-card .btn-internal {
  text-align: left;
  width: 40% !important;
  margin: 0 auto 0 0 !important;
}
.c-guide-card .btn-internal a {
  padding: 1rem 1rem;
}

.btn-internal a {
  display: inline-block;
  padding: var(--s2) var(--s4);
  border-radius: 50vh;
  background: var(--acc);
  color: var(--pri);
  text-decoration: none;
  font-weight: 700;
  position: relative;
  z-index: 0;
  box-shadow: none;
  line-height: 1.2;
}

.btn-internal a::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: 0.4rem 0.4rem 0 var(--pri);
  z-index: -1;
}

.btn-internal a:hover::after,
.btn-internal a:active::after {
  opacity: 0;
}

.btn-internal a:hover,
.btn-internal a:active {
  transform: translate(0.4rem, 0.4rem);
}

.btn-web,
.btn-mail {
  margin: 0 auto 3rem;
}

.btn-web a,
.btn-mail a {
  display: inline-block;
  color: var(--white);
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  position: relative;
  z-index: 0;
  transform: translate(0, 0);
  padding: var(--s3) var(--s1);
  border-radius: 50vh;
  transition: transform 0.2s ease;
  box-shadow: none;
  font-size: 1.6rem;
}

.btn-web a {
  background: #50A7C8;
}

.btn-mail a {
  background: var(--acc-dark);
}

.btn-web a::after,
.btn-mail a::after,
.btn-tel a::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: 0.4rem 0.4rem 0 var(--pri);
  z-index: -1;
}

.btn-web a:hover::after,
.btn-web a:active::after,
.btn-mail a:hover::after,
.btn-mail a:active::after,
.btn-tel a:hover::after,
.btn-tel a:active::after {
  opacity: 0;
}

.btn-web a:hover,
.btn-web a:active,
.btn-mail a:hover,
.btn-mail a:active,
.btn-tel a:hover,
.btn-tel a:active {
  transform: translate(0.4rem, 0.4rem);
}

/* =====================================================================
  Section 05: Elite ODMs
===================================================================== */
.c-sec-elite .c-h2 {
  text-align: center;
  padding-left: 0;
}

.c-sec-elite .c-h2::before {
  display: none;
}

.c-sec-elite {
  padding-top: 20rem;
  background: url("./img/bg_3elite.jpg") no-repeat center top;
  background-size: 100% auto;
}

#low-page .c-sec-elite {
  position: relative;
  background: none;
  margin-top: 15rem;
}

#low-page .c-sec-elite::before {
  content: "";
  position: absolute;
  inset: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: url("./img/bg_3elite.jpg") no-repeat center top;
  background-size: 100% auto;
  z-index: 0;
}

#low-page .c-sec-elite > .l-container {
  position: relative;
  z-index: 1;
}

.c-sec-basics .c-h2,
.c-sec-analysis .c-h2,
.c-sec-export .c-h2 {
  text-align: left;
}

.c-sec-analysis .c-h2 {
  text-align: center;
  padding-left: 0;
}

.c-sec-analysis .c-h2::before {
  display: none;
}
.c-sec-export .c-h2::before {
  top:28%;
}
.c-analysis-title-accent {
  color: var(--acc);
}

.c-sec-analysis {
  background-image: url("./img/bg_3elite.jpg"), url("./img/bg_3elite_flip.jpg");
  background-repeat: no-repeat, no-repeat;
  background-position: center top, center bottom;
  background-size: 100% auto, 100% auto;
  padding-bottom: 20rem;
}

.c-sec-guide .c-h2 {
  text-align: left;
}

.c-sec-guide .c-h2::before {
  display: block;
  top:28%;
}

.c-sec-elite .c-sec-label,
.c-sec-analysis .c-sec-label {
  margin-top: var(--s2);
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.c-sec-guide .c-sec-label {
  margin-left: 0;
  margin-right: auto;
  text-align: left;
}

.c-sec-elite > .l-container > .caption {
  margin-top: -5rem;
  text-align: left;
}

.c-elite-grid {
  align-items: stretch;
  grid-auto-rows: 1fr;
}

.c-elite-grid > * {
  height: 100%;
}

.c-elite-card {
  background: var(--white);
  border: 0.1rem solid var(--ln);
  box-shadow: var(--sd-1);
  padding: calc(var(--s3) + var(--s6)) var(--s3) var(--s6);
  display: flex;
  flex-direction: column;
  gap: var(--s2);
  position: relative;
  height: 100%;
}

.c-elite-card::before {
  content: "";
  position: absolute;
  top: -1.5rem;
  left: 50%;
  width: 5.8rem;
  height: 5.8rem;
  transform: translate(-50%, -50%);
  background: no-repeat center / contain;
  z-index: 1;
}

.c-elite-card:nth-child(1)::before {
  background-image: url("./img/icon_japanese.png");
}

.c-elite-card:nth-child(2)::before {
  background-image: url("./img/icon_korea.png");
}

.c-elite-card:nth-child(3)::before {
  background-image: url("./img/icon_italy.png");
}

.c-elite-card__label {
  background: var(--pri);
  color: var(--white);
  padding: 1.5rem var(--s2);
  font-size: 2.8rem;
  font-family: "Times New Roman", Times, serif;
  text-align: center;
  margin-top: calc((var(--s3) + var(--s6)) * -1);
  margin-left: calc(var(--s3) * -1);
  margin-right: calc(var(--s3) * -1);
  line-height: 1.2;
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-elite-card__country {
  color: var(--acc);
  text-align: center;
  font-size: var(--fs-s);
  margin-top: -1rem;
  min-height: 2.4rem;
}

.c-elite-card img {
  width: 100%;
  display: block;
  height: auto;
  aspect-ratio: auto;
}

.c-elite-card__title {
  font-weight: 700;
  color: var(--acc-dark);
  min-height: calc(2.2rem * 1.2 * 3 + 2rem);
  background: var(--c5);
  padding: 1rem;
  display: flex;
  align-items: center;
  line-height: 1.2;
  font-family: "Times New Roman", Times, serif;
  font-size: 2.2rem;
}

.c-elite-card__desc-second {
  flex: 1;
}

.c-elite-card__chips span {
  display: inline-flex;
  padding: var(--s-2) var(--s2);
  border: 0.1rem solid var(--acc);
  color: var(--acc-dark);
  font-size: var(--fs-s);
  margin-right: var(--s-2);
  margin-bottom: var(--s-2);
}

.c-elite-card__meta {
  display: flex;
  align-items: stretch;
  gap: 0;
  margin-bottom: var(--s3);
}

.c-elite-card__tag {
  background: var(--pri);
  color: var(--white);
  padding: var(--s2) 0;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 6rem;
  text-align: center;
}

.c-elite-card__value {
  background: var(--c0);
  border-left: 0;
  padding: var(--s2) var(--s3);
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  text-align: left;
  flex: 1;
  font-size: 1.6rem;
  line-height: 1.2;
}

.c-elite-card__value-num {
  font-size: 2.4rem;
  font-weight: 700;
}

.c-elite-card__value--stacked {
  flex-direction: column;
  gap: 0.2em;
}

.c-elite-card__value-line1,
.c-elite-card__value-line2 {
  display: block;
}

.c-elite-card__btns {
  display: grid;
  gap: var(--s3);
  margin-top: auto;
}

/* 簡易3選：FVのページ内リンクと同じ下向き矢印 */
.c-sec-elite .c-elite-card__btns .btn-internal a {
  background: url("./img/arrow_black_dwn.png") no-repeat right var(--s2) center / 1.2rem auto, var(--acc);
  padding-right: calc(var(--s2) + 2rem);
  line-height: 1.4;
}

.c-sec-elite .c-btn-pill {
  width: 80%;
  margin: 0 auto;
  padding: var(--s1) var(--s3);
  background: var(--c6);
  color: var(--white);
}

.c-sec-elite .c-btn-pill--dark {
  background: var(--acc-dark);
  color: var(--white);
}

/* =====================================================================
  Section 06: Company List
===================================================================== */
.c-company-grid {
  align-items: stretch;
}

.c-sec-company .c-company-card {
  display: flex;
  flex-direction: column;
}

.c-sec-company .c-company-card__chips {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--s-2);
}

.c-sec-company .c-company-card .caption {
  display: block;
  font-size: 1.2rem;
  margin-top: -1em;
}

.c-company-country {
  text-align: center;
  margin-top: 5rem;
}

.c-company-country__icon {
  width: 8rem;
  height: 8rem;
  margin: 0 auto;
  background: url("./img/icon_jpn.png") no-repeat center / contain;
}

.c-company-country__icon--japanese {
  background-image: url("./img/icon_japanese.png");
}

.c-company-country__icon--korea {
  background-image: url("./img/icon_korea.png");
}

.c-company-country__icon--chinese {
  background-image: url("./img/icon_chinese.png");
}

.c-company-country__icon--taiwanese {
  background-image: url("./img/icon_taiwanese.png");
}

.c-company-country__icon--canadian {
  background-image: url("./img/icon_canadian.png");
}

.c-company-country__icon--us {
  background-image: url("./img/icon_us.png");
}

.c-company-country__icon--european {
  background-image: url("./img/icon_european.png");
}

.c-company-country__en {
  color: var(--acc-dark);
  font-weight: 700;
  font-family: "Times New Roman", Times, serif;
  font-size: 4.2rem;
}

.c-company-country__title {
  font-size: 4.2rem;
}

.c-company-card {
  border: 0.1rem solid var(--ln);
  box-shadow: var(--sd-1);
  background: var(--white);
  padding: var(--s2);
  display: grid;
  gap: var(--s2);
}

.c-company-card__head {
  background: var(--pri);
  color: var(--white);
  padding: var(--s1) var(--s2);
  text-align: center;
  font-weight: 700;
  margin: calc(var(--s2) * -1) calc(var(--s2) * -1) 0;
  font-size: 3.2rem;
  font-family: "Times New Roman", Times, serif;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.1;
}
.c-company-card__head .c-hlink{
  text-decoration: none;
}

.c-company-card__thumb {
  border: 0;
  background: var(--white);
  padding: 0;
}

.c-company-card__thumb img {
  width: 100%;
}

.c-company-card .caption {
  display: block;
  text-align: left;
  margin-top: 0.8em;
  font-size: 1.2rem;
  color: var(--sub);
  line-height: 1.6;
}

.c-company-card__chips span {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 1rem;
  background: var(--c7);
  border: 0;
  color: var(--acc-dark);
  font-size: var(--fs-s);
  font-weight: 700;
  text-align: center;
  line-height: 1.2;
  min-height: 5.2rem;
}

.c-company-card__chips span.is-unsupported {
  background: var(--c0);
  color: var(--sec);
}

.c-company-card__link {
  text-decoration: underline;
  font-weight: 700;
  text-align: right;
  background: url("./img/arrow_r_pink.png") no-repeat right center / 1em auto;
  padding-right: var(--s3);
  line-height: 1.2;
}

.btn-link a {
  background: url("./img/arrow_r_pink.png") no-repeat right center / 1em auto;
}

.low-center-img-catch,
.low-left-img-catch,
.low-right-img-catch {
  font-family: "Times New Roman", Times, serif;
  font-weight: 700;
  font-size: 2rem;
}

.table-scroll {
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
}

.table-scroll table {
  min-width: 140rem;
  width: max-content;
}

.c-sec-company .btn-internal {
  text-align: center;
}

/* =====================================================================
  Section 07: In-Depth Analysis
===================================================================== */
.c-analysis-card {
  background: var(--white);
  border: 0.1rem solid var(--ln);
  box-shadow: var(--sd-1);
  padding: calc(var(--s3) + var(--s6)) 0 var(--s12);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--s3);
  position: relative;
  margin-top: 3rem;
}

.c-analysis-card__inner {
  max-width: 100rem;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--s3);
}

.c-analysis-card__head {
  background: none;
  color: inherit;
  padding: 0;
  text-align: center;
}

.c-analysis-card img {
  display: block;
  margin: 0 auto;
}

.c-analysis-card .caption {
  margin-top: 0;
  /*! margin-bottom: var(--s5); */
  text-align: center;
}

.c-analysis-card__grid + .caption {
  text-align: left;
  margin-bottom: 0;
}

.c-analysis-card__chips + .caption {
  text-align: left;
}

.c-analysis-card .caption--left,
.c-analysis-card .caption-left {
  text-align: left;
}

.c-analysis-card::before {
  content: "";
  position: absolute;
  top: -1.5rem;
  left: 50%;
  width: 6.4rem;
  height: 6.4rem;
  transform: translate(-50%, -50%);
  background: no-repeat center / contain;
  z-index: 1;
}

.c-analysis-card--picaso::before {
  background-image: url("img/icon_japanese.png");
}

.c-analysis-card--cc::before {
  background-image: url("img/icon_korea.png");
}

.c-analysis-card--srl::before {
  background-image: url("img/icon_italy.png");
}

.c-analysis-card__label {
  background: var(--pri);
  color: var(--white);
  padding: var(--s3);
  font-size: 4.2rem;
  text-align: center;
  margin-top: calc((var(--s3) + var(--s6)) * -1);
  display: block;
  line-height: 1.2;
}

.c-analysis-card__brand {
  font-size: 4rem;
  margin: var(--s5) 0 2rem;
  font-weight: 700;
}

.c-analysis-card__country {
  color: var(--acc);
  text-align: center;
  font-size: var(--fs-m);
  margin-top: calc(var(--s-2) * -1);
}

.c-analysis-card__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--s3);
  margin: 0 var(--s3);
  min-width: 0;
}

.c-analysis-card__subhead,
.c-analysis-card__section-title {
  position: relative;
  background: var(--pri);
  color: var(--white);
  padding: var(--s2) var(--s6);
  text-align: left;
  font-weight: 700;
  font-size: 3.6rem;
  margin-bottom: 3rem;
  margin-top: var(--s3);
  width: 100%;
}

.c-analysis-card__section-title {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
  text-align: left;
}

.c-analysis-card__section {
  margin-top: 6rem;
}

.c-analysis-card__subhead::before,
.c-analysis-card__section-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 12.4rem;
  height: 1px;
  background: var(--pri);
  transform: translate(-100%, -50%);
}

.c-analysis-card__subhead::after,
.c-analysis-card__section-title::after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: var(--s3);
  height: 1px;
  background: var(--white);
  transform: translateY(-50%);
}

.c-analysis-card__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--s10);
}

.c-analysis-card__grid .c-h4 {
  color: var(--acc-dark);
  text-align: left;
  font-size: 2.6rem;
  line-height: 1.2;
  font-weight: 700;
  margin-bottom: 1.5rem;
  background: none;
  padding: 0;
  font-family: "Times New Roman", Times, serif;
}

.c-analysis-case {
  display: grid;
  gap: var(--s6);
  margin-bottom: 0;
}

.c-analysis-case__item {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--s4);
  align-items: start;
}

.c-analysis-case__item--reverse {
  direction: rtl;
}

.c-analysis-case__item--reverse > * {
  direction: ltr;
}

.c-analysis-case__media img {
  width: 100%;
  display: block;
}

.c-analysis-case__media .caption {
  margin-top: var(--s2);
  text-align: center;
}

.c-analysis-case__title {
  color: var(--acc-dark);
  text-align: left;
  background: none;
  padding: 0;
  margin-bottom: 1rem;
  font-family: "Times New Roman", Times, serif;
}

.c-analysis-card__btns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--s3);
  margin-top: var(--s6);
}

.c-sec-analysis .c-btn-pill {
  background: var(--c6);
  color: var(--white);
  width: 85%;
  margin: 0 auto;
  padding: var(--s2) var(--s3);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.2;
}

.c-sec-analysis .c-btn-pill--dark {
  background: var(--acc-dark);
  color: var(--white);
}

.c-analysis-card__meta {
  display: flex;
  align-items: stretch;
  width: 100%;
  margin: var(--s6) auto 0;
}

.c-analysis-card__meta-label {
  font-family: "Times New Roman", Times, serif;
  background: var(--acc-dark);
  color: var(--white);
  padding: 0 var(--s4);
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18rem;
  text-align: center;
  font-size: 3rem;
  min-height: 6rem;
}

.c-analysis-card__meta-value {
  background: var(--white);
  border: 0.1rem solid var(--acc);
  border-left: 0;
  padding: 0 var(--s4);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  flex: 1;
  min-height: 6rem;
}

.c-analysis-card__meta-num {
  font-size: 3.6rem;
  font-weight: 700;
  color: var(--pri);
}

/* 3選詳細MOQ：上段・下段の2行構成（中央寄せ・行間詰め） */
.c-analysis-card__meta-value--stacked {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0;
  text-align: center;
  padding: 1rem 0;
}

.c-analysis-card__meta-value-line1,
.c-analysis-card__meta-value-line2 {
  display: block;
  line-height: 1.2;
}

.c-analysis-info__desc {
  line-height: 1.8;
  margin-bottom: var(--s2);
}

.c-analysis-info__table {
  margin-top: var(--s6);
  border: 0.1rem solid var(--ln);
  border-collapse: collapse;
}

.c-analysis-info__table th {
  width: 25%;
  background: var(--c0);
  text-align: center;
  font-weight: 700;
}

.c-analysis-info__table td {
  line-height: 1.6;
  background: var(--white);
}

.c-analysis-info__table th,
.c-analysis-info__table td {
  border: 0.1rem solid var(--ln);
  padding: var(--s2) var(--s2);
}

.c-analysis-card__section-title {
  position: relative;
  font-weight: 700;
  color: var(--white);
  background: var(--pri);
  padding: var(--s2) var(--s6);
  text-align: left;
  margin-bottom: 6rem;
  line-height: 1.2;
}

.c-analysis-card__section-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 12.4rem;
  height: 1px;
  background: var(--pri);
  transform: translate(-100%, -50%);
}

.c-analysis-card__chips {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--s2);
  list-style: none;
  margin: 0 0 3rem;
  padding: 0;
}

.c-analysis-card__chips li {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--s2) var(--s3) var(--s2) calc(var(--s3) + var(--s1));
  background: var(--c8);
  font-size: var(--fs-s);
  text-align: center;
  clip-path: polygon(12% 0, 100% 0, 100% 100%, 12% 100%, 0 50%);
  line-height: 1.2;
  min-height: 8rem;
  font-weight: 700;
}

.c-analysis-card__chips li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: var(--s3);
  height: calc(100% - var(--s1));
  background: var(--c8);
  clip-path: polygon(0 50%, 100% 0, 100% 100%);
  transform: translateY(-50%);
}

.c-analysis-card__chips--soft {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-bottom: 0;
}

.c-analysis-card__chips--soft li {
  padding: var(--s2);
  background: var(--c4);
  clip-path: none;
  min-height: 6rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-analysis-card__chips--soft li::before {
  display: none;
}

.c-analysis-cats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--s6);
  align-items: start;
}

.c-analysis-cats__group {
  display: grid;
  gap: var(--s3);
  align-content: start;
}

.c-analysis-cats__group--wide {
  grid-column: 1 / -1;
}

.c-analysis-cats__title {
  color: var(--acc-dark);
  background: none;
  padding: 0;
  text-align: left;
  font-size: 3rem;
  margin: 0;
}

.c-analysis-cats__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--s2);
  list-style: none;
  margin: 0;
  padding: 0;
  align-items: stretch;
  grid-auto-rows: 1fr;
}

.c-analysis-cats__list--wide {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.c-analysis-cats__list li {
  background: var(--c7);
  color: var(--pri);
  text-align: center;
  padding: var(--s2) var(--s3);
  line-height: 1.2;
  font-weight: 700;
  min-height: 6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.c-sec-guide {
  background: linear-gradient( to bottom, #fff 0%, #fff 60%, var(--c0) 60%, var(--c0) 100%, #fff 100%, #fff 100% );
}


/* スマホ用（必要に応じて位置を調整） */
@media screen and (max-width: 767px) {
  .c-sec-guide {
      background: none;
      padding-top: 0 !important;
  }
}

/* =====================================================================
  Section 08: Exporting Cosmetics
===================================================================== */
.c-export-grid {
  align-items: center;
}

/* =====================================================================
  Laptop layout
===================================================================== */
@media screen and (max-width: 1600px) and (min-width: 768px) {
  body {
    min-width: 0;
  }

  .l-container,
  .l-center {
    max-width: 1000px;
  }

  .mainvisual .l-container,
  .mainvisual .l-center {
    max-width: 1200px;
  }

  .l-container .c-h2::before,
  .l-center .c-h2::before {
    width: 12rem;
  }

  .c-sec-faq .c-h2::before,
  .c-sec-company .c-h2::before,
  .c-sec-guide .c-h2::before,
  .c-sec-basics .c-h2::before,
  .c-sec-export .c-h2::before {
    width: 12rem;
  }

  /* Laptop 幅ではタイトルが4行になりやすいため高さを4行ぶんに拡張 */
  .c-elite-card__title {
    min-height: calc(2.2rem * 1.2 * 4 + 2rem);
  }

  .c-sec-company .c-h2::before {
    top: 34%;
    transform: translateY(-50%);
  }

  .c-sec-guide .c-h2::before {
    top: 23%;
    transform: translateY(-50%);
  }

  .c-sec-criteria .c-h2::before {
    width: 12rem;
    left: -2rem;
    top: 20%;
    height: 1px;
    background: var(--pri);
    display: block;
    transform: translate(calc(-100% + var(--s1)), -50%);
  }

  .c-criteria-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--s6);
    justify-content: stretch;
  }

  .c-sec-company,
  .c-sec-guide {
    padding-top: var(--s12);
  }

  .mainvisual .mv-inner {
    width: 1000px !important;
    padding-top: 3rem;
  }

  .mainvisual .mv-content {
    max-width: 70rem !important;
  }

  .mainvisual .mv-label {
    font-size: clamp(2.2rem, 2.4vw, 3rem) !important;
  }

  .mainvisual .mv-title {
    font-size: clamp(5.6rem, 6vw, 7rem) !important;
  }

  .mainvisual .mv-text {
    font-size: clamp(1.4rem, 1.4vw, 1.6rem) !important;
  }

  .c-elite-card__value {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  .c-elite-card__value > span {
    display: block;
  }

  .c-analysis-card__subhead::before,
  .c-analysis-card__section-title::before {
    left: 0;
    width: var(--s3);
    background: var(--pri);
    transform: translate(-100%, -50%);
  }
}
.c-export-media {
  width: 90%;
}
.c-export-media img {
  width: 100%;
}
.c-export-grid--reverse .c-export-media {
  order: 2;
  grid-column: 2;
}

.c-export-grid--reverse .c-export-content {
  order: 1;
  grid-column: 1;
}
.c-export-content .c-h3 {
  text-align: left;
}
.c-export-content .c-h3 a:first-letter {
  font-size:10rem;
}
.c-export-grid .btn-internal{
  margin: 3rem 0 0 !important;
}

/* =====================================================================
  Section 01: Main Visual
===================================================================== */
.mainvisual {
  position: relative;
  overflow: hidden;
  background: url("./img/mv_pc.jpg") no-repeat top right;
  min-height: 70rem;
  background-size: cover;
}
.mainvisual .btn-internal{
  margin-left:0;
}

@media screen and (max-width: 1366px) {
  .mainvisual {
    min-height: 58rem;
  }
}

.mv-inner {
  position: absolute;
  inset: 0;
  width: 1200px;
  margin: 0 auto;
  padding-top: 4rem;
}

.mv-content {
  display: grid;
  gap: var(--s2);
  max-width: 100rem;
  align-self: center;
}

.mv-label {
  display: inline-block;
  background: var(--acc-dark);
  color: var(--white);
  padding: 0 var(--s2);
  font-weight: 700;
  width: fit-content;
  font-size: 1.6rem;
}

.mainvisual .mv-label {
  font-size: 3rem;
}

.mv-title {
  font-size: 10rem;
  font-weight: 700;
  color: var(--pri);
  margin: 0;
  line-height: 1;
}

.mv-text {
  margin: 0;
  color: var(--txt);
  line-height: 1.8;
}

.mv-btn {
  justify-self: start;
  padding: var(--s2) var(--s6);
  background: url("./img/arrow_black_dwn.png") no-repeat right var(--s2) center / 1.2rem auto, var(--acc);
  padding-right: calc(var(--s6) + 2.4rem);
}

.mainvisual .btn-internal a {
  background: url("./img/arrow_black_dwn.png") no-repeat right var(--s2) center / 1.2rem auto, var(--acc);
  padding-right: calc(var(--s4) + 2.4rem);
}

/* =====================================================================
  Footer
===================================================================== */
.footer-area {
  background: url(img/bg_footer.jpg) no-repeat 0 0 / cover;
}

/* 下層共通パーツを表示しないページ（sitemap、host） */
.footer-area--no-lower-parts {
  margin-top: 15rem;
}

.footer-menu-title {
  border-bottom: 0.1rem solid var(--pri);
}

.footer-menu-title__link,
.footer-menu__link {
  color: var(--pri);
}

.footer-menu {
  border-top: 0;
}

.page-top {
  bottom: var(--s1) !important;
}

.mainvisual-lower {
  position: relative;
}

.mainvisual-lower::before {
  content: "";
  display: block;
  padding-top: 15rem;
}

.mainvisual-lower picture,
.mainvisual-lower img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mainvisual-lower .mv-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 4rem;
  line-height: 1.2;
  text-decoration: none;
  font-weight: 700;
  font-family: "Times New Roman", Times, serif;
}

.footer-bottom {
  background: var(--pri);
}

/* =====================================================================
  Buttons
===================================================================== */
.c-btn-pill {
  display: inline-block;
  padding: var(--s1) var(--s4);
  background: var(--acc);
  color: var(--pri);
  border-radius: 50vh;
  text-decoration: none;
  font-weight: 700;
  text-align: center;
  position: relative;
  z-index: 0;
  line-height: 1.2;
  /*! width: 40%; */
  font-size: 1.6rem;
}

.c-btn-pill::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: 0.4rem 0.4rem 0 var(--pri);
  z-index: -1;
}

.c-btn-pill.mv-btn {
  background: url("./img/arrow_black_dwn.png") no-repeat right var(--s2) center / 1.2rem auto, var(--acc);
  padding-right: calc(var(--s4) + 2.4rem);
}

.c-btn-pill--dark {
  background: var(--acc-dark);
  color: var(--white);
}

/* =====================================================================
  Section 09: Basics
===================================================================== */
.c-basics-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--s3);
}

.c-basics-card {
  background: var(--white);
  box-shadow: var(--sd-1);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s2);
  padding: var(--s2);
}

.c-basics-card img {
  width: 100%;
}

.c-basics-card--wide {
  grid-column: 1 / -1;
}

.c-basics-card--text {
  grid-template-columns: 1fr;
}

.c-basics-card__body {
  display: grid;
  gap: var(--s1);
}

/* =====================================================================
  .c-basics-grid 特別レイアウト調整
  (1200pxコンテナを飛び出して画面幅いっぱいにし、Z型配置にする)
===================================================================== */

/* -------------------------------------------
   コンテナ解除・フル幅設定
------------------------------------------- */
.c-basics-grid {
  /* 1200pxの親コンテナを無視して画面幅いっぱいにする魔法の記述 */
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  
  /* GridをFlexに変更して縦積みに */
  display: flex;
  flex-direction: column;
  gap: 0; /* カード間の隙間をなくす（背景をつなげるため） */
}

/* -------------------------------------------
 カード共通設定
------------------------------------------- */
/* 既存のクラス設定(.c-basics-card--wide等)を上書きリセット */
.c-basics-card,
.c-basics-card--wide,
.c-basics-card--text {
  width: 100%;
  display: flex;
  flex-direction: row; /* 横並び */
  align-items: stretch; /* 高さを揃える */
  padding: 0;
  margin: 0;
  border: none;
  box-shadow: none;
  background: #fff;
  grid-column: auto; /* Grid設定を解除 */
}

/* 画像エリア (画面幅の50%) */
.c-basics-card img {
  width: 40%;
  object-fit: cover;
  display: block;
  height: 37rem;
}

/* テキストエリア (画面幅の50%) */
.c-basics-card__body {
  width: 60%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: 60px;
  padding-bottom: 60px;
}
.c-sec-basics .c-h3{
  font-size: 3.6rem;
  text-align: left;
}
.c-sec-basics .c-h3 a{
  line-height: 1;
}
.c-sec-basics .c-h3 a::first-letter {
  font-size: 10rem;
}
/* -------------------------------------------
 Z型配置と1200pxラインへの整列ロジック
 calc((100vw - 1200px) / 2) で余白を自動計算
------------------------------------------- */

/* 【奇数番目】画像:左 / テキスト:右 */
.c-basics-card:nth-child(odd) {
  flex-direction: row;
  margin-top: 10rem;
}

.c-basics-card:nth-child(odd) .c-basics-card__body {
  /* 画像との隙間 */
  padding-left: 60px; 
  
  /* 右端の余白 = (画面幅 - 1200px) ÷ 2 */
  /* ※画面が1200px以下の場合は最低20px確保 */
  padding-right: max(20px, calc((100vw - 1200px) / 2 + 20px));
  padding-top: 3rem;
}

/* 【偶数番目】画像:右 / テキスト:左（反転） */
.c-basics-card:nth-child(even) {
  flex-direction: row-reverse;
   /* 偶数だけ背景色を変えてメリハリ（任意） */
  margin-top: 10rem;
}

.c-basics-card:nth-child(even) .c-basics-card__body {
  /* 左端の余白 = (画面幅 - 1200px) ÷ 2 */
  /* これで見出し(h2)の開始位置とテキストの開始位置が揃います */
  padding-left: max(20px, calc((100vw - 1200px) / 2 + 20px));
  
  /* 画像との隙間 */
  padding-right: 40px; 
  padding-top: 0;
}
.c-basics-card .btn-internal{
  margin:3rem 0 0!important;
  width: inherit !important;
}

/* -------------------------------------------
 SP (モバイル) 対応
------------------------------------------- */
@media screen and (max-width: 767px) {
  .c-sec-faq .c-h2 {
    font-size: 3.2rem;
    padding-left: 1rem;
  }
  .c-sec-faq .c-h2:first-letter {
    font-size: 5rem;
  }
  
  .c-sec-faq .c-h2::before {
    display: block;
    width: 32%;
    left: -29%;
    top: 23%;
  }
  .c-sec-criteria .c-h2 {
    font-size: 3.2rem;
    padding-left: 1rem;
  }
  .c-sec-criteria .c-h2::before {
    display: block;
    width: 32%;
    left: -29%;
    top: 23%;
  }
  .c-sec-criteria .c-h2:first-letter {
    font-size: 5rem;
  }
  .c-sec-criteria {
    background-size: 173% auto;
    background-position: left 0 top 0;
  }
  .c-sec-faq .c-sec-label{
    margin-left:1rem;
    font-size: 1.5rem;
  }

  .c-basics-grid {
      width: 100%;
      margin-left: 0;
      margin-right: 0;
      gap: 30px;
  }

  .c-basics-card,
  .c-basics-card:nth-child(odd),
  .c-basics-card:nth-child(even) {
      display: flex;
      flex-direction: column;
      height: auto;
      width: 100%;
      /*! padding: 1rem; */
      margin-top: 2rem;
  }

  .c-basics-card img {
      width: 100%;
      min-height: 250px;
      height: auto;
      margin: 0 auto;
  }

  .c-basics-card__body,
  .c-basics-card:nth-child(odd) .c-basics-card__body,
  .c-basics-card:nth-child(even) .c-basics-card__body {
      width: 100%;
      padding: 10px 0; /* スマホ用の通常の余白 */
  }

  .c-basics-card .btn-internal {
      width: 95% !important;
      margin: 1rem auto 3rem !important;
  }

  .c-export-media {
      width: 100%;
  }
}


/* =====================================================================
  Responsive adjustments
===================================================================== */
@media screen and (max-width: 767px) {
  .gnavi-btn {
    height: var(--s7);
  }

  .gnavi-btn span {
    width: var(--s7);
    height: 0.2rem;
    left: 1.2rem;
  }

  .gnavi-btn span:nth-of-type(1) {
    top: 1rem;
  }

  .gnavi-btn span:nth-of-type(2) {
    top: 2rem;
  }

  .gnavi-btn span:nth-of-type(3) {
    top: 3rem;
  }

  .c-criteria-grid,
  .c-guide-grid,
  .c-elite-grid,
  .c-company-grid,
  .c-basics-grid,
  .c-analysis-card__grid,
  .c-export-grid {
    display: flex;
    flex-direction: column;
    margin-top: 0;
  }

  .c-export-grid--reverse .c-export-media {
    order: 0 !important;
  }

  .c-export-grid--reverse .c-export-content {
    order: 1 !important;
  }

  .c-basics-card {
    grid-template-columns: 1fr;
  }

  .c-analysis-card__btns {
    max-width: 100%;
    grid-template-columns: 1fr;
    margin-top: 1rem;
  }

  .c-elite-card__btns {
    grid-template-columns: 1fr;
  }

  .c-criteria-head {
    flex-direction: column;
    align-items: flex-start;
  }

  .c-criteria-head__img {
    width: 100%;
    justify-content: center;
  }

  .c-criteria-callout__lead {
    line-height: 1.1;
  }
  
  .c-sec-basics{
    margin-top:0;
    padding-top: 1rem !important;
  }

  #low-page .c-sec-elite {
    margin-top: 7.5rem;
  }

  .c-sec-elite .c-h2,
  .c-sec-analysis .c-h2,
  .c-sec-company .c-h2,
  .c-sec-guide .c-h2,
  .c-sec-basics .c-h2,
  .c-sec-export .c-h2 {
    font-size: 3.2rem;
    padding-left: 1rem;
  }

  .c-sec-elite .c-h2::first-letter,
  .c-sec-analysis .c-h2::first-letter,
  .c-sec-company .c-h2::first-letter,
  .c-sec-guide .c-h2::first-letter,
  .c-sec-basics .c-h2::first-letter,
  .c-sec-export .c-h2::first-letter {
    font-size: 5rem;
  }

  .c-sec-company .c-h2 .c-hlink::first-letter,
  .c-sec-guide .c-h2 .c-hlink::first-letter,
  .c-sec-basics .c-h2 .c-hlink::first-letter,
  .c-sec-export .c-h2 .c-hlink::first-letter {
    font-size: 5rem;
  }

  .c-sec-guide .c-sec-label {
    margin-left: 1rem;
  }

  .c-guide-card .c-h3 {
    font-size: 2.8rem;
  }

  .c-sec-basics .c-h3::first-letter,
  .c-sec-basics .c-h3 a::first-letter {
    font-size: 5rem;
  }

  .c-sec-basics .c-h3 {
    font-size: 2.8rem;
    margin-bottom: 1rem;
  }

  .c-sec-export {
    margin-top: 0;
  }

  .c-sec-company .c-h2::before,
  .c-sec-guide .c-h2::before,
  .c-sec-basics .c-h2::before,
  .c-sec-export .c-h2::before {
    display: block;
    width: 32%;
    left: -29%;
    top: 34%;
  }
  .c-sec-guide .c-h2::before {
    top: 23%;
  }

  .c-company-country__icon {
    width: 6rem;
    height: 6rem;
  }

  .c-company-country__title {
    font-size: 2.8rem;
  }

  .c-company-country__en {
    font-size: 2.8rem;
  }

  .c-company-card__head {
    font-size: 2.4rem;
    padding: var(--s3);
  }

  .c-company-country {
    margin-top: calc(5rem / 2);
  }

  .c-sec-company .c-sec-label {
    margin-left: 1rem;
  }

  .c-sec-export .c-sec-label {
    margin-left: 1rem;
  }

  .c-export-content .c-h3::first-letter,
  .c-export-content .c-h3 a::first-letter {
    font-size: 5rem;
  }

  .c-export-content {
    margin-top: -3rem;
  }

  .c-export-content .c-h3 {
    line-height: 1.1;
    margin-bottom: 2rem;
  }

  .footer-area-logo a {
    font-size: 3rem !important;
  }

.c-export-grid--reverse .c-export-media {
  order: 2;
  grid-column: 2;
}

.c-export-grid--reverse .c-export-content {
  order: 1;
  grid-column: 1;
}

  .mainvisual-lower .mv-logo {
    font-size: 3rem;
    width: 90%;
  }

  .sp-fix-banner03-text a .label {
    background-color: var(--acc-dark);
    display: inline-block;
    padding: 0.2rem 0.5rem;
    font-weight: 700;
  }

  .sp-fix-banner03-text .text-small::first-letter {
    font-size: 2rem;
  }
  .sp-fix-banner03-text .text-small {
    line-height:1.2;
    font-weight:700;
  }
  
  .c-sec-company .c-h2::before {
    display: block;
    width: 32%;
    left: -29%;
    top: 34%;
  }

  .c-elite-card__meta {
    margin-top: 1rem;
    margin-bottom: 3rem;
  }

  .c-elite-card__value {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--s1);
  }

  .c-elite-card__value > span {
    display: block;
  }

  .c-elite-card__value-num {
    display: block;
    line-height: 1;
  }

  .c-elite-card__title {
    margin-top: 1rem;
    min-height: calc(2.2rem * 1.2 * 3 + 2rem);
  }

  .c-elite-grid .c-elite-card:nth-child(2),
  .c-elite-grid .c-elite-card:nth-child(3)  {
    margin-top: 3rem;
  }

  .c-analysis-card__label {
    font-size: 2.8rem;
  }

  .c-analysis-card__brand {
    font-size: 2.6rem;
    margin: var(--s2) 0 2rem;
    line-height: 1.2;
  }

  .c-analysis-card__inner {
    padding: var(--s1);
    min-width: 0;
  }

  .c-analysis-card__body {
    min-width: 0;
  }

  .c-sec-analysis {
    overflow-x: hidden;
  }

  .c-sec-criteria {
    overflow-x: hidden;
  }

  .c-sec-criteria .c-criteria-callout {
    min-width: 0;
    max-width: 100%;
  }

  .c-analysis-card__subhead,
  .c-analysis-card__section-title{
    font-size: 2.2rem;
    line-height: 1.2;
    margin-bottom: 3rem;
  }

  .c-analysis-card__subhead::before,
  .c-analysis-card__section-title::before {
    width: var(--s4);
    left: 0;
    background: var(--pri);
    transform: translate(-100%, -50%);
  }

  .c-analysis-card__section {
    margin-top: 1rem;
  }

  .c-analysis-card__chips {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .c-analysis-case__item {
    grid-template-columns: 1fr;
  }

  .c-analysis-case__title {
    line-height: 1.2;
    font-size: 2rem;
  }

  .c-analysis-case {
    margin-bottom: 0;
  }

  .c-analysis-cats {
    grid-template-columns: 1fr;
  }

  .c-analysis-cats__title {
    font-size: 2rem;
  }

  .c-analysis-cats__group {
    gap: var(--s2);
  }

  .c-analysis-cats__list li {
    padding: var(--s2) var(--s1);
  }

  .c-analysis-cats__list--wide {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .c-analysis-card__meta {
    flex-direction: column;
  }

  .c-analysis-card__meta-value {
    border-left: 0.1rem solid var(--acc);
  }

  .c-analysis-card__meta-label {
    font-size: 2rem;
  }

  .c-analysis-card__meta-num {
    font-size: 3rem;
  }

  .c-analysis-info__table th {
    width: 36%;
  }

  .c-analysis-card {
    padding-bottom: var(--s5);
  }

  .c-analysis-card__grid .c-h4 {
    font-size: 2rem;
    font-family: "Times New Roman", Times, serif;
  }

  .c-analysis-card__grid {
    gap: 0;
  }

  .c-analysis-card__grid > div:first-child {
    margin-top: -1.5rem;
  }

  .c-analysis-card__grid > div + div {
    margin-top: var(--s5);
  }

  .c-criteria-grid > :nth-child(2) {
    margin-top: 3.5rem;
  }

  .c-criteria-grid > :nth-child(3) {
    margin-top: 3.5rem;
  }

  .c-criteria-grid > :nth-child(4) {
    margin-top: 3.5rem;
  }

  .c-criteria-grid > :nth-child(5) {
    margin-top: 3.5rem;
  }

  .c-criteria-grid > :nth-child(6) {
    margin-top: 3.5rem;
  }

  .mv-content {
    display: contents;
    background: none;
  }

  .mv-inner {
    position: static;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: var(--s5) var(--s3);
    box-sizing: border-box;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto auto auto;
    column-gap: var(--s3);
    row-gap: var(--s3);
    align-items: start;
  }

  .mainvisual {
    min-height: auto;
    padding: 0;
    background: url(./img/mv_sp.jpg) no-repeat center right -2rem / cover;
  }

  .mainvisual .mv-label {
    grid-column: 1 / -1;
    font-size: 1.5rem;
  }

  .mv-title {
    grid-column: 1 / -1;
    font-size: 4rem;
    line-height: 1.2;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }

  .mv-text {
    grid-column: 1 / -1;
  }

  .mainvisual .caption {
    grid-column: 1 / -1;
  }

  .mainvisual .btn-internal {
    grid-column: 1 / -1;
    justify-self: center;
  }

  .header-area-upper {
    padding-left: 2.8rem;
    padding-right: var(--s3);
    text-align: left;
  }
}

/* =====================================================================
  Footer
===================================================================== */
.footer-area-logo a {
  font-family: "Times New Roman", Times, serif;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: left;
  display: inline-block;
}

.footer-area-logo .mv-label {
  font-size: 1.6rem;
}

.related-article02-frame {
  width: 100%;
  margin: var(--s6) auto;
  padding: var(--s3) var(--s4) var(--s4) var(--s4);
  background: var(--c0);
  position: relative;
}
.related-article02-title {
  font-family: "Times New Roman", Times, serif;
  padding: var(--s2) var(--s2) var(--s2) var(--s1);
  color: #333;
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1;
  background-size: 5rem auto;
  position: relative;
  border-bottom: 1px solid var(--txt);
  margin-bottom: 3rem;
}
.related-article02-list {
  /*! padding: var(--s2) 0 var(--s2) var(--s2); */
  font-weight: 700;
}
.related-article02-list li {
  margin: 0 0 0 0.5rem;
  padding-left: 1.5em;
  font-size: 100%;
  line-height: 1.7;
  position: relative;
}
.related-article02-list li + li {
  margin-top: 10px;
}
.related-article02-list li::before {
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
  background-color: var(--acc);
  position: absolute;
  top: 0.6em;
  left: 0.4em;
}

.index02-title {
  font-family: "Times New Roman", Times, serif;
}

.index02-chapter-h-two {
  padding-left: 1.5em;
  line-height: 1.7;
}

.index02-chapter-h-two::before {
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
  background-color: var(--acc);
  left: 0.4em;
  top: 0.6em;
  transform: translateY(-50%);
}

.conclusion-box-ttl__text::first-letter {
  font-size: 3.6rem;
}

@media screen and (max-width: 767px) {
  .conclusion-box-frame {
    padding: 2rem;
  }

  .index02-wrap {
    margin-bottom: 3rem;
  }

  .low-center-img-box,
  .low-left-img-box,
  .low-right-img-box {
    margin-block: var(--s4);
  }

  .index02-title,
  .related-article02-title {
    font-size: 2rem;
  }

  #low-page h1 .h1-first {
    font-size: 5rem;
  }
}

.related-article02-list a {
  display: block;
  text-decoration: none;
}
.related-article02-list a:hover {
  opacity: 0.6;
}
/*----------------------------------------------
more content settings
*/
.more-content-gradation {
  position: relative;
  height: auto;
  max-height: 12rem;
  overflow: hidden;
  transition: max-height 1s;
}
.more-content-gradation::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  transition: 0.3s;
  background: linear-gradient(to bottom, transparent 0%, var(--c0) 100%);
}
.more-content-gradation.is-open::after {
  display: none;
}

.related02-btn {
  max-width: 25rem;
  margin: 2rem auto 0 auto;
  padding: 1rem 3rem;
  border: 1px solid var(--txt);
  text-align: center;
  position: relative;
  transition: opacity 0.3s;
  cursor: pointer;
  border-radius: 30rem;
  background-color: white;
}

.related02-btn::before {
  content: "";
  width: 2rem;
  height: 0.2rem;
  background: #000;
  position: absolute;
  top: 50%;
  right: 3rem;
  transform: translate(0, -50%);
}

.related02-btn::after {
  content: "";
  width: 0.2rem;
  height: 2rem;
  background: #000;
  position: absolute;
  top: 50%;
  right: 3.9rem;
  transform: translate(0, -50%);
  transition: transform 0.3s;
}

.related02-btn:hover {
  opacity: 0.6;
}
.related02-btn.is-open::after {
  transform: translate(0, -50%) rotate(270deg);
}
.relations-box.relations-box--column {
  display: flex;
  gap: 10px;
}
.relations-box__pic {
  flex: 0 0 150px;
}
/*------------------------------------------------------------
  SP settings
*/
@media screen and (max-width: 767px) {
  .l-sec {
    padding: 8rem 0 6rem;
  }

  .related-article02-list {
      padding: 0;
  }
  .related-article02-list li {
      margin-left: 0;
  }
  .relations-box__pic {
      flex: 0 0 100px;
  }

  .c-faq__q-label {
    font-size: 3rem;
    margin-top: -1.2rem;
  }

  .c-faq__q-text {
    font-size: 2.8rem;
    line-height: 1.1;
  }

  .c-faq__q {
    align-items: flex-start;
  }

  .c-faq__icon {
    align-self: center;
  }

  .c-criteria-card .c-h3 {
    font-size: 2.8rem;
    line-height: 1.1;
  }

  .btn-internal,
  .btn-anchor,
  .btn-web,
  .btn-mail,
  .btn-tel,
  .btn-link,
  .c-btn-pill {
    width: 95%;
    margin-left: auto;
    margin-right: auto;
  }
  .btn-mail{
    margin-top:-1rem;
  }

  .c-btn-pill {
    display: block;
  }

  .c-export-grid .btn-internal {
    margin: 3rem auto 0 !important;
  }
}