/* ==========================================================================
   カイポケM&A パートナー制度LP - トークン
   ※本LPは「カイポケM&A」独自のブランド（ネイビー×ゴールド／明朝見出し）で運用するため、
     サービスサイト共通のCSS変数とは切り離し、このページ専用のトークンとして定義する。
   ========================================================================== */
:root {
  --ma-color-navy-900: #022443;
  --ma-color-navy-600: #677c8e;
  --ma-color-navy-200: #cad0d7;
  --ma-color-navy-100: #e6e9ec;
  --ma-color-navy-border: #dde3ea;

  --ma-color-gold-700: #8c790e;
  --ma-color-gold-600: #7a690c;
  --ma-color-gold-400: #baaf6e;
  --ma-color-gold-100: #dcd7b7;
  --ma-color-gold-50: #f3f2e7;

  --ma-color-gray-90: #333333;
  --ma-color-gray-60: #6c6d6f;
  --ma-color-gray-40: #9da0a4;
  --ma-color-gray-10: #f5f6f7;

  --ma-color-white: #ffffff;
  --ma-color-red: #8a2628;
  --ma-color-link: #006cd8;

  --ma-font-serif: "Noto Serif JP", serif;
  --ma-font-sans:
    "Noto Sans JP", "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;

  --ma-font-size-14px: 0.875rem;
  --ma-font-size-16px: 1rem;
  --ma-font-size-18px: 1.125rem;
  --ma-font-size-20px: 1.25rem;
  --ma-font-size-24px: 1.5rem;
  --ma-font-size-28px: 1.75rem;
  --ma-font-size-32px: 2rem;
  --ma-font-size-36px: 2.25rem;
  --ma-font-size-40px: 2.5rem;
  --ma-font-size-44px: 2.75rem;

  --ma-number-01: 4px;
  --ma-number-02: 8px;
  --ma-number-03: 16px;
  --ma-number-05: 24px;
  --ma-number-06: 32px;
  --ma-number-07: 40px;
  --ma-number-08: 48px;
  --ma-number-11: 80px;

  --ma-radius: 8px;
  --ma-shadow: 0px 4px 4px 0px rgba(51, 51, 51, 0.1);

  --ma-container: 1200px;
}

/* ==========================================================================
   ベース
   ========================================================================== */
* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 64px;
}
@media (min-width: 925px) {
  html {
    scroll-padding-top: 88px;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

.ma_page {
  color: var(--ma-color-gray-90);
  background-color: var(--ma-color-white);
  font-family: var(--ma-font-sans);
  font-size: var(--ma-font-size-16px);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "palt";
}

.ma_page img {
  max-width: 100%;
  height: auto;
  display: block;
}

.ma_page a {
  transition: 0.4s;
  color: inherit;
  text-decoration: none;
}

.ma_page li {
  list-style: none;
}

.ma_page summary::-webkit-details-marker {
  display: none;
}

.ma_pcOnly {
  display: none;
}
.ma_spOnly {
  display: inline;
}
@media (min-width: 925px) {
  .ma_pcOnly {
    display: inline;
  }
  .ma_spOnly {
    display: none;
  }
}

/* ==========================================================================
   レイアウト（セクション／カラム）
   ========================================================================== */
.layout_section {
  padding: 64px 16px;
}
@media (min-width: 925px) {
  .layout_section {
    padding: 80px 8px;
  }
}
.layout_section[data-bg="navy"] {
  background-color: var(--ma-color-navy-900);
  color: var(--ma-color-white);
}
.layout_section[data-bg="gray"] {
  background-color: var(--ma-color-gray-10);
}

.layout_section_inner {
  max-width: var(--ma-container);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media (min-width: 925px) {
  .layout_section_inner {
    gap: 48px;
  }
}

.layout_section_title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--ma-number-03);
  text-align: center;
  max-width: 720px;
  margin-inline: auto;
}

.layout_section_eyebrow {
  font-family: var(--ma-font-sans);
  font-weight: 700;
  font-size: var(--ma-font-size-18px);
  color: var(--ma-color-gold-700);
}
[data-bg="navy"] .layout_section_eyebrow {
  color: var(--ma-color-gold-400);
}

.layout_section_heading2 {
  font-family: var(--ma-font-serif);
  font-weight: 700;
  font-size: var(--ma-font-size-28px);
  line-height: 1.5;
  color: var(--ma-color-navy-900);
}
[data-bg="navy"] .layout_section_heading2 {
  color: var(--ma-color-white);
}
@media (min-width: 925px) {
  .layout_section_heading2 {
    font-size: var(--ma-font-size-36px);
  }
}

.layout_section_lede {
  font-size: var(--ma-font-size-16px);
  line-height: 1.85;
  color: var(--ma-color-gray-60);
}
[data-bg="navy"] .layout_section_lede {
  color: var(--ma-color-white);
}

/* ==========================================================================
   ヘッダー
   ========================================================================== */
.header_wrapper {
  position: sticky;
  top: 0;
  z-index: 100;
  background-color: var(--ma-color-white);
  border-bottom: 1px solid var(--ma-color-navy-border);
}

.header_inner {
  display: flex;
  align-items: center;
  gap: var(--ma-number-03);
  padding: 12px 16px;
}
@media (min-width: 925px) {
  .header_inner {
    padding: 16px 32px;
  }
}

.header_logo {
  flex-shrink: 0;
}
.header_logo img {
  height: 26px;
}
@media (min-width: 925px) {
  .header_logo img {
    height: 34px;
  }
}

.header_nav {
  display: none;
  flex: 1;
  gap: var(--ma-number-03);
  align-items: center;
  justify-content: flex-end;
}
@media (min-width: 925px) {
  .header_nav {
    display: flex;
  }
}

.header_navLink {
  padding: var(--ma-number-02);
  border-radius: 4px;
  font-weight: 700;
  font-size: var(--ma-font-size-14px);
  color: var(--ma-color-gray-90);
}
.header_navLink:hover {
  color: var(--ma-color-gold-700);
}

.header_cta {
  margin-left: auto;
}
@media (min-width: 925px) {
  .header_cta {
    margin-left: 0;
  }
}

.header_hamburger {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 44px;
  height: 44px;
  background: none;
  border: none;
  cursor: pointer;
  flex-shrink: 0;
}
@media (min-width: 925px) {
  .header_hamburger {
    display: none;
  }
}
.header_hamburger_bar {
  display: block;
  width: 20px;
  height: 2px;
  background-color: var(--ma-color-navy-900);
  transition: 0.4s;
}
.header_hamburger[aria-expanded="true"] .header_hamburger_bar:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}
.header_hamburger[aria-expanded="true"] .header_hamburger_bar:nth-child(2) {
  opacity: 0;
}
.header_hamburger[aria-expanded="true"] .header_hamburger_bar:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

.header_mobileNav {
  display: none;
  flex-direction: column;
  border-top: 1px solid var(--ma-color-navy-border);
  background-color: var(--ma-color-white);
}
.header_mobileNav[data-open="true"] {
  display: flex;
}
@media (min-width: 925px) {
  .header_mobileNav {
    display: none !important;
  }
}
.header_mobileNav_link {
  padding: var(--ma-number-03) 16px;
  border-bottom: 1px solid var(--ma-color-navy-border);
  font-weight: 700;
  font-size: var(--ma-font-size-14px);
  color: var(--ma-color-gray-90);
}

/* ==========================================================================
   ボタン
   ========================================================================== */
.component_button_wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ma-number-03);
}
.component_button_wrapper[data-justify="center"] {
  justify-content: center;
}
@media (max-width: 925px) {
  .component_button_wrapper {
    flex-direction: column;
    align-items: stretch;
  }
}

.component_button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--ma-number-01);
  border-radius: 4px;
  font-family: var(--ma-font-serif);
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  transition: 0.4s;
}
.component_button[data-size="base"] {
  font-size: var(--ma-font-size-16px);
  padding: 8px 24px;
}
@media (max-width: 925px) {
  .component_button[data-size="base"] {
    font-size: 14px;
    padding: 8px 10px;
  }
}
.component_button[data-size="xl"] {
  font-size: var(--ma-font-size-18px);
  padding: 14px 40px;
  min-width: 240px;
}
@media (min-width: 925px) {
  .component_button[data-size="xl"] {
    font-size: var(--ma-font-size-20px);
  }
}
.component_button[data-color="001"] {
  color: var(--ma-color-white);
  background-color: var(--ma-color-gold-700);
}
.component_button[data-color="001"]:hover {
  background-color: var(--ma-color-gold-600);
}
.component_button[data-color="002"] {
  color: var(--ma-color-white);
  background-color: var(--ma-color-navy-600);
}
.component_button[data-color="002"]:hover {
  background-color: var(--ma-color-navy-900);
}

/* ==========================================================================
   ヒーロー
   ========================================================================== */
.ma_hero {
  position: relative;
  overflow: hidden;
  background-color: var(--ma-color-navy-900);
  background-image: radial-gradient(
    rgba(255, 255, 255, 0.08) 1.5px,
    transparent 1.5px
  );
  background-size: 20px 20px;
  padding: 0px 0px;
}
@media (min-width: 925px) {
  .ma_hero {
    padding: 0;
  }
}

.ma_hero_inner {
  position: relative;
  max-width: var(--ma-container);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--ma-number-06);
}
@media (min-width: 925px) {
  .ma_hero_inner {
    max-width: none;
    margin-inline: 0;
    display: grid;
    grid-template-columns: minmax(0, 684px) 1fr;
    grid-template-columns: minmax(0, 2.7fr) 1fr;
    align-items: stretch;
    gap: 0;
  }
}

.ma_hero_picture {
  order: -1;
  aspect-ratio: 375 / 158;
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 65.5%);
}
.ma_hero_picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 20%;
}
@media (min-width: 925px) {
  .ma_hero_picture {
    order: 1;
    aspect-ratio: auto;
    height: 100%;
    min-height: 420px;
    max-width: 550px;
    margin-left: auto;
    clip-path: polygon(23.75% 0%, 100% 0%, 100% 100%, 0% 100%);
  }
}

.ma_hero_body {
  display: flex;
  flex-direction: column;
  gap: var(--ma-number-05);
  padding: 0 16px 24px;
}
@media (min-width: 925px) {
  .ma_hero_body {
    padding: 80px 32px 80px max(32px, calc((100vw - 1200px) / 2 + 32px));
  }
}

.ma_hero_eyebrow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--ma-number-03);
  font-weight: 700;
  font-size: var(--ma-font-size-16px);
  color: var(--ma-color-gold-400);
}
@media (min-width: 925px) {
  .ma_hero_eyebrow {
    font-size: var(--ma-font-size-18px);
  }
}
.ma_hero_eyebrowDivider {
  display: none;
  width: 1px;
  height: 1em;
  background-color: var(--ma-color-gold-400);
}
@media (min-width: 925px) {
  .ma_hero_eyebrowDivider {
    display: block;
  }
}

.ma_hero_heading {
  font-family: var(--ma-font-serif);
  font-weight: 900;
  font-size: var(--ma-font-size-32px);
  line-height: 1.4;
  color: var(--ma-color-white);
}
@media (min-width: 925px) {
  .ma_hero_heading {
    font-size: var(--ma-font-size-44px);
    line-height: 1.25;
  }
}

.ma_hero_lede {
  font-size: var(--ma-font-size-14px);
  line-height: 1.85;
  color: var(--ma-color-white);
}
@media (min-width: 925px) {
  .ma_hero_lede {
    font-size: var(--ma-font-size-18px);
  }
}

/* トラストバッジ */
.ma_trustBar {
  background-color: var(--ma-color-gray-10);
  padding: var(--ma-number-05) 16px;
}
@media (min-width: 925px) {
  .ma_trustBar {
    padding: var(--ma-number-05) 32px;
  }
}
.ma_trustBar_inner {
  max-width: var(--ma-container);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--ma-number-03);
}
@media (min-width: 925px) {
  .ma_trustBar_inner {
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: var(--ma-number-08);
  }
}
.ma_trustBar_item {
  display: flex;
  align-items: center;
  gap: var(--ma-number-03);
  position: relative;
  padding-inline: 0;
}
@media (min-width: 925px) {
  .ma_trustBar_item:not(:last-child)::after {
    content: "";
    position: absolute;
    right: calc(var(--ma-number-08) / -2);
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 24px;
    background-color: var(--ma-color-navy-200);
  }
}
.ma_trustBar_icon {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  color: var(--ma-color-navy-900);
}
.ma_trustBar_icon::before {
  font-family: "Material Symbols Rounded";
  font-variation-settings:
    "FILL" 0,
    "wght" 600,
    "GRAD" 0;
  content: "\e5ca";
  font-size: 24px;
  line-height: 1;
}
.ma_trustBar_text {
  font-weight: 700;
  font-size: var(--ma-font-size-16px);
  color: var(--ma-color-navy-900);
}
@media (min-width: 925px) {
  .ma_trustBar_text {
    font-size: var(--ma-font-size-20px);
  }
}
.ma_trustBar_note {
  display: block;
  font-weight: 400;
  font-size: var(--ma-font-size-14px);
  color: var(--ma-color-gray-60);
}

/* ==========================================================================
   About（制度概要カード）
   ========================================================================== */
.ma_aboutGrid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--ma-number-06);
}
@media (min-width: 925px) {
  .ma_aboutGrid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.ma_aboutCard {
  display: flex;
  flex-direction: column;
  background-color: var(--ma-color-white);
  border: 1px solid var(--ma-color-navy-border);
  border-radius: var(--ma-radius);
  box-shadow: var(--ma-shadow);
  padding-top: var(--ma-number-03);
  overflow: hidden;
}
.ma_aboutCard_picture {
  aspect-ratio: 300 / 140;
  background-color: var(--ma-color-gold-50);
}
.ma_aboutCard_picture img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.ma_aboutCard_body {
  display: flex;
  flex-direction: column;
  gap: var(--ma-number-03);
}
.ma_aboutCard_badge {
  text-align: center;
  font-weight: 700;
  font-size: var(--ma-font-size-16px);
  color: var(--ma-color-navy-900);
  padding-block: var(--ma-number-02);
  background-color: var(--ma-color-navy-100);
}
.ma_aboutCard_content {
  display: flex;
  flex-direction: column;
  gap: var(--ma-number-03);
  padding: 0 var(--ma-number-05) var(--ma-number-06);
}
.ma_aboutCard_heading {
  font-weight: 700;
  font-size: var(--ma-font-size-18px);
  color: var(--ma-color-navy-900);
  text-align: center;
}
.ma_aboutCard_text {
  font-size: var(--ma-font-size-16px);
  line-height: 1.85;
  color: var(--ma-color-gray-60);
}

/* ==========================================================================
   Merit（提携メリット）
   ========================================================================== */
.ma_meritGrid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--ma-number-03);
  max-width: 884px;
  margin-inline: auto;
  width: 100%;
}
@media (min-width: 925px) {
  .ma_meritGrid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.ma_meritItem {
  display: flex;
  flex-direction: column;
  background-color: var(--ma-color-white);
  border: 1px solid var(--ma-color-navy-200);
  overflow: hidden;
}
.ma_meritItem_head {
  display: flex;
  align-items: center;
  gap: var(--ma-number-03);
  padding-right: var(--ma-number-05);
  background-color: var(--ma-color-navy-100);
}
.ma_meritItem_number {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 4px;
  width: 54px;
  height: 54px;
  background-color: var(--ma-color-navy-900);
  color: var(--ma-color-white);
  font-family: var(--ma-font-serif);
  font-weight: 700;
  font-size: var(--ma-font-size-24px);
}
@media (min-width: 925px) {
  .ma_meritItem_number {
    width: 40px;
    height: 40px;
    font-size: var(--ma-font-size-28px);
  }
}
.ma_meritItem_heading {
  flex: 1;
  font-weight: 700;
  font-size: var(--ma-font-size-16px);
  line-height: 1.5;
  color: var(--ma-color-navy-900);
}
@media (min-width: 925px) {
  .ma_meritItem_heading {
    font-size: var(--ma-font-size-18px);
  }
}
.ma_meritItem_body {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--ma-number-02);
  padding: var(--ma-number-03);
}
@media (min-width: 925px) {
  .ma_meritItem_body {
    padding: var(--ma-number-05);
  }
}
.ma_meritItem_text {
  width: 100%;
  font-size: var(--ma-font-size-14px);
  line-height: 1.5;
  color: var(--ma-color-gray-60);
}
@media (min-width: 925px) {
  .ma_meritItem_text {
    font-size: var(--ma-font-size-16px);
  }
}
.ma_meritItem_note {
  display: block;
  width: 100%;
  font-size: 12px;
  color: var(--ma-color-gray-60);
}
@media (min-width: 925px) {
  .ma_meritItem_note {
    font-size: var(--ma-font-size-14px);
  }
}

/* ==========================================================================
   Flow（紹介の流れ）
   ========================================================================== */
.ma_flowList {
  display: flex;
  flex-direction: column;
  max-width: 884px;
  margin-inline: auto;
  width: 100%;
}

.ma_flowStep {
  display: flex;
  gap: var(--ma-number-03);
  align-items: center;
}
@media (min-width: 925px) {
  .ma_flowStep {
    gap: var(--ma-number-07);
  }
}

.ma_flowStep_side {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.ma_flowStep_num {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  padding: 4px 16px;
  background-color: var(--ma-color-navy-900);
  color: var(--ma-color-white);
  font-family: var(--ma-font-serif);
  font-weight: 700;
  text-align: center;
}
@media (min-width: 925px) {
  .ma_flowStep_num {
    width: 96px;
    height: 96px;
    padding: 8px 16px 4px;
  }
}
.ma_flowStep_num_label {
  font-size: 12px;
  line-height: 1.5;
  margin-bottom: -6px;
  text-transform: uppercase;
}
@media (min-width: 925px) {
  .ma_flowStep_num_label {
    font-size: var(--ma-font-size-16px);
    margin-bottom: -8px;
  }
}
.ma_flowStep_num_value {
  font-size: var(--ma-font-size-20px);
  line-height: 1.5;
}
@media (min-width: 925px) {
  .ma_flowStep_num_value {
    font-size: var(--ma-font-size-36px);
  }
}
.ma_flowStep_line {
  flex: 1;
  width: 1px;
  min-height: 24px;
  background-color: var(--ma-color-navy-200);
}
@media (min-width: 925px) {
  .ma_flowStep_line {
    min-height: 40px;
  }
}
.ma_flowStep:last-child .ma_flowStep_line {
  display: none;
}

.ma_flowStep_content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--ma-number-01);
  padding-bottom: var(--ma-number-07);
}
@media (min-width: 925px) {
  .ma_flowStep_content {
    gap: var(--ma-number-02);
  }
}
.ma_flowStep:last-child .ma_flowStep_content {
  padding-bottom: 0;
}
.ma_flowStep_heading {
  font-weight: 700;
  font-size: var(--ma-font-size-18px);
  line-height: 1.5;
  color: var(--ma-color-navy-900);
}
@media (min-width: 925px) {
  .ma_flowStep_heading {
    font-size: var(--ma-font-size-24px);
  }
}
.ma_flowStep_text {
  font-size: var(--ma-font-size-14px);
  line-height: 1.5;
  color: var(--ma-color-gray-90);
}
@media (min-width: 925px) {
  .ma_flowStep_text {
    font-size: var(--ma-font-size-16px);
  }
}

/* ==========================================================================
   Stats（実績・体制）
   ========================================================================== */
.ma_statsGrid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--ma-number-03);
}
@media (min-width: 925px) {
  .ma_statsGrid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.ma_statCard {
  display: flex;
  flex-direction: column;
  background-color: var(--ma-color-white);
  border: 2px solid var(--ma-color-navy-900);
  overflow: hidden;
}
@media (min-width: 925px) {
  .ma_statCard {
    height: 100%;
  }
}
.ma_statCard_label {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--ma-number-02);
  padding: var(--ma-number-02) var(--ma-number-05);
  background-color: var(--ma-color-navy-900);
  color: var(--ma-color-white);
  font-weight: 700;
  font-size: var(--ma-font-size-16px);
  line-height: 1.5;
  text-align: center;
}
@media (min-width: 925px) {
  .ma_statCard_label {
    height: 72px;
    justify-content: center;
    font-size: var(--ma-font-size-18px);
  }
}
.ma_statCard_labelLine {
  display: block;
}
.ma_statCard_value {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4px var(--ma-number-03) var(--ma-number-02);
}
.ma_statCard_valueRow {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 2px;
  font-family: var(--ma-font-serif);
  font-weight: 700;
  color: var(--ma-color-gold-700);
  font-variant-numeric: tabular-nums;
}
.ma_statCard_valueNumber {
  font-size: var(--ma-font-size-36px);
  line-height: 1.3;
}
@media (min-width: 925px) {
  .ma_statCard_valueNumber {
    font-size: var(--ma-font-size-40px);
  }
}
.ma_statCard_unit {
  font-size: var(--ma-font-size-18px);
  line-height: 1.3;
}
@media (min-width: 925px) {
  .ma_statCard_unit {
    font-size: var(--ma-font-size-20px);
  }
}
.ma_statCard_note {
  font-size: 12px;
  color: var(--ma-color-gray-60);
}
@media (min-width: 925px) {
  .ma_statCard_note {
    font-size: var(--ma-font-size-14px);
  }
}
.ma_statCard_prime {
  font-family: var(--ma-font-serif);
  font-weight: 700;
  color: var(--ma-color-gold-700);
  font-size: var(--ma-font-size-32px);
  line-height: 1.3;
  text-align: center;
}
@media (min-width: 925px) {
  .ma_statCard_prime {
    font-size: var(--ma-font-size-36px);
  }
}
.ma_statCard_primeSub {
  display: block;
  font-family: var(--ma-font-serif);
  font-weight: 700;
  color: var(--ma-color-navy-900);
  font-size: var(--ma-font-size-18px);
  line-height: 1.3;
}
@media (min-width: 925px) {
  .ma_statCard_primeSub {
    font-size: var(--ma-font-size-20px);
  }
}

/* ==========================================================================
   FAQ
   ========================================================================== */
.ma_faqList {
  display: flex;
  flex-direction: column;
  max-width: 884px;
  margin-inline: auto;
  width: 100%;
}
.ma_faqItem {
  border-bottom: 1px solid var(--ma-color-navy-200);
  padding: var(--ma-number-06) 0;
}
.ma_faqItem:first-child {
  border-top: 1px solid var(--ma-color-navy-200);
}
.ma_faqItem_summary {
  display: flex;
  align-items: center;
  gap: var(--ma-number-06);
  cursor: pointer;
  list-style: none;
}
.ma_faqItem_qa {
  display: flex;
  flex: 1;
  align-items: center;
  gap: var(--ma-number-02);
}
.ma_faqItem_q {
  flex-shrink: 0;
  width: 32px;
  font-family: var(--ma-font-serif);
  font-weight: 700;
  font-size: var(--ma-font-size-24px);
  line-height: 1.2;
  color: var(--ma-color-gold-700);
}
@media (min-width: 925px) {
  .ma_faqItem_q {
    font-size: var(--ma-font-size-32px);
  }
}
.ma_faqItem_question {
  flex: 1;
  font-weight: 700;
  font-size: var(--ma-font-size-16px);
  color: var(--ma-color-gray-90);
}
@media (min-width: 925px) {
  .ma_faqItem_question {
    font-size: var(--ma-font-size-20px);
  }
}
.ma_faqItem_icon {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ma-color-navy-900);
}
.ma_faqItem_icon::before {
  font-family: "Material Symbols Rounded";
  font-variation-settings:
    "FILL" 0,
    "wght" 500,
    "GRAD" 0;
  content: "\e145";
  font-size: 24px;
}
.ma_faqItem[open] .ma_faqItem_icon::before {
  content: "\e15b";
}
.ma_faqItem_answer {
  padding: var(--ma-number-03) 0 0 40px;
}
@media (min-width: 925px) {
  .ma_faqItem_answer {
    padding-left: 56px;
  }
}
.ma_faqItem_answerText {
  font-size: var(--ma-font-size-14px);
  line-height: 1.85;
  color: var(--ma-color-gray-60);
}
@media (min-width: 925px) {
  .ma_faqItem_answerText {
    font-size: var(--ma-font-size-16px);
  }
}

/* ==========================================================================
   会社概要
   ========================================================================== */
.ma_companyTable {
  display: flex;
  flex-direction: column;
  max-width: 684px;
  margin-inline: auto;
  width: 100%;
}
.ma_companyRow {
  display: flex;
  align-items: center;
  gap: var(--ma-number-03);
  padding: var(--ma-number-03) var(--ma-number-02);
  border-top: 1px solid var(--ma-color-navy-200);
  border-bottom: 1px solid var(--ma-color-navy-200);
}
.ma_companyRow + .ma_companyRow {
  border-top: none;
}
@media (min-width: 925px) {
  .ma_companyRow {
    gap: var(--ma-number-07);
    padding: var(--ma-number-05);
  }
}
.ma_companyRow_label {
  flex-shrink: 0;
  width: 70px;
  font-weight: 700;
  font-size: var(--ma-font-size-14px);
  line-height: 1.5;
  color: var(--ma-color-gray-90);
}
@media (min-width: 925px) {
  .ma_companyRow_label {
    width: 120px;
    font-size: var(--ma-font-size-16px);
  }
}
.ma_companyRow_value {
  flex: 1;
  min-width: 0;
  font-size: var(--ma-font-size-14px);
  line-height: 1.5;
  color: var(--ma-color-gray-90);
}
@media (min-width: 925px) {
  .ma_companyRow_value {
    font-size: var(--ma-font-size-16px);
  }
}

/* ==========================================================================
   フォーム
   ========================================================================== */
.ma_formCard {
  max-width: 784px;
  margin-inline: auto;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--ma-number-06);
  padding: var(--ma-number-06) var(--ma-number-05);
  background-color: var(--ma-color-white);
  border-radius: var(--ma-radius);
  box-shadow: var(--ma-shadow);
}
@media (min-width: 925px) {
  .ma_formCard {
    padding: var(--ma-number-07);
  }
}

.ma_formRow {
  display: flex;
  flex-direction: column;
  gap: var(--ma-number-03);
}
@media (min-width: 925px) {
  .ma_formRow[data-cols="2"] {
    flex-direction: row;
  }
}

.ma_formItem {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--ma-number-02);
}
.ma_formItem_title {
  display: flex;
  align-items: center;
  gap: var(--ma-number-02);
}
.ma_formItem_required,
.ma_formItem_optional {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2px 6px;
  border-radius: 2px;
  font-weight: 700;
  font-size: 12px;
  line-height: 1.5;
}
.ma_formItem_required {
  color: var(--ma-color-white);
  background-color: var(--ma-color-red);
}
.ma_formItem_optional {
  color: var(--ma-color-gray-60);
  border: 1px solid var(--ma-color-gray-60);
}
.ma_formItem_label {
  font-weight: 700;
  font-size: var(--ma-font-size-16px);
  color: var(--ma-color-gray-90);
}
.ma_formItem_input,
.ma_formItem_textarea {
  width: 100%;
  padding: 12px;
  background-color: var(--ma-color-gray-10);
  border: 1px solid var(--ma-color-gray-10);
  border-radius: 4px;
  font-family: var(--ma-font-sans);
  font-size: var(--ma-font-size-16px);
  color: var(--ma-color-gray-90);
}
.ma_formItem_input::placeholder,
.ma_formItem_textarea::placeholder {
  color: var(--ma-color-gray-40);
}
.ma_formItem_input:focus,
.ma_formItem_textarea:focus {
  outline: none;
  border-color: var(--ma-color-navy-600);
  background-color: var(--ma-color-white);
}
.ma_formItem_textarea {
  min-height: 140px;
  resize: vertical;
}

.ma_formFooter {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--ma-number-05);
}
.ma_formFooter_consent {
  font-size: var(--ma-font-size-14px);
  color: var(--ma-color-gray-90);
  text-align: center;
}
@media (min-width: 925px) {
  .ma_formFooter_consent {
    font-size: var(--ma-font-size-16px);
  }
}
.ma_formFooter_consent a {
  color: var(--ma-color-link);
  text-decoration: underline;
}
.ma_formFooter_note {
  font-size: var(--ma-font-size-14px);
  color: var(--ma-color-gray-60);
  text-align: center;
}

/* ==========================================================================
   フッター（コピーライト）
   ========================================================================== */
.ma_copyright {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--ma-number-03);
  padding: var(--ma-number-06) 16px;
}
@media (min-width: 925px) {
  .ma_copyright {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
    padding: var(--ma-number-06) 32px;
  }
}
.ma_copyright_logo img {
  height: 26px;
}
@media (min-width: 925px) {
  .ma_copyright_logo img {
    height: 34px;
  }
}
.ma_copyright_text {
  font-size: var(--ma-font-size-14px);
  color: var(--ma-color-gray-60);
}
