@charset "Shift_JIS";

/*==========================================
  Reset style
=============================================*/
/* A Modern CSS Reset */
*,
*::before,
*::after {
  box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

ul[role="list"],
ol[role="list"] {
  list-style: none;
}

html:focus-within {
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

a:not([class]) {
  text-decoration-skip-ink: auto;
}

img,
picture {
  max-width: 100%;
  display: block;
}

input,
button,
textarea,
select {
  font: inherit;
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/*==========================================
  CSS custom properties
=============================================*/
:root {
  --color-black: #000;
  --color-black-rgb: 0 0 0;
  --color-deep-red: #b50402;
  --color-mufg-red: #e60000;
  --color-light-red01: #dc5a5b;
  --color-light-red02: #ea9c9d;
  --color-light-red03: #feeff0;
  --color-link-blue: #2e6783;
  --color-mufg-gray: #5a5a5a;
  --color-mufg-gray-75per: #838383;
  --color-mufg-gray-50per: #acacac;
  --color-mufg-gray-50per-rgb: 172 172 172;
  --color-gray: #b5b6b6;
  --color-gray01: #bfbfbf;
  --color-gray02: #ccc;
  --color-gray03: #d6d6d6;
  --color-light-gray01: #f0f2f7;
  --color-light-gray02: #f2f2f2;
  --color-white: #fff;
  --color-white-rgb: 255 255 255;
  --color-cv-yellow: #fff0d0;
  --color-cyan-20per: #cceff9;
  --spacing-4: 4px;
  --spacing-8: 8px;
  --spacing-12: 12px;
  --spacing-16: 16px;
  --spacing-20: 20px;
  --spacing-24: 24px;
  --spacing-28: 28px;
  --spacing-32: 32px;
  --spacing-36: 36px;
  --spacing-40: 40px;
  --spacing-44: 44px;
  --spacing-48: 48px;
  --spacing-52: 52px;
  --spacing-56: 56px;
  --spacing-80: 80px;
  --spacing-120: 120px;
  --icon-size-small: 16px;
  --icon-size-medium: 20px;
  --icon-size-large: 24px;
  --icon-size-x-large: 56px;
  --icon-size-sns: 29px;
  --content-main-width: 1200px;
  --content-sub-1160w: 1160px;
  --content-sub-1050w: 1050px;
  --content-sub-1000w: 1000px;
  --content-sub-914w: 914px;
  --content-sub-800w: 800px;
  --modal-720w: 720px;
  --modal-1000w: 1000px;
  --content-print-min-width: 1130px;
  --content-main-inline-padding: 25px;
  --bg-ico-blank: url("../image/ico-blank.svg") no-repeat center / contain;
  --bg-ico-chevron-right: url("../image/ico-chevron-right.svg") no-repeat center / contain;
  --bg-ico-chevron-left: url("../image/ico-chevron-left.svg") no-repeat center / contain;
  --bg-ico-chevron-bottom: url("../image/ico-chevron-bottom.svg") no-repeat center / contain;
  --bg-ico-chevron-top: url("../image/ico-chevron-top.svg") no-repeat center / contain;
  --bg-ico-chevron-round-right: url("../image/ico-chevron-round-right.svg") no-repeat center / contain;
  --bg-ico-pdf: url("../image/ico-pdf.svg") no-repeat center / contain;
  --bg-ico-excel: url("../image/ico-excel.svg") no-repeat center / contain;
  --bg-ico-word: url("../image/ico-word.svg") no-repeat center / contain;
  --bg-ico-ppt: url("../image/ico-ppt.svg") no-repeat center / contain;
  --bg-ico-close: url("../image/ico-close.svg") no-repeat center / contain;
  --bg-ico-zoom: url("../image/ico-zoom.svg") no-repeat center / contain;
  --bg-ico-check-list: url("../image/ico-check-list.svg") no-repeat center / contain;
  --bg-ico-movie: url("../image/ico-movie.svg") no-repeat center / contain;
  --bg-ico-zip: url("../image/ico-zip.svg") no-repeat center / contain;
  --bg-ico-new: url("../image/ico-new.svg") no-repeat center / contain;
  --bg-ico-line: url("../image/ico-line.svg") no-repeat center / contain;
  --bg-ico-facebook: url("../image/ico-facebook.svg") no-repeat center / contain;
  --bg-ico-youtube: url("../image/ico-youtube.png") no-repeat center / contain;
  --bg-ico-instagram: url("../image/ico-instagram.png") no-repeat center / contain;
  --bg-ico-top: url("../image/ico-top.svg") no-repeat center / contain;
  --bg-ico-checkbox-check: url("../image/ico-checkbox-check.svg") no-repeat center / contain;
  --bg-ico-checkbox-check-gray: url("../image/ico-checkbox-check-gray.svg") no-repeat center / contain;
  --bg-scroll-hint: url("../image/ico-scroll-hint.svg");
  --bg-header-ico-account: url("../image/header/header-ico-account.svg") no-repeat center / contain;
  --bg-header-ico-document: url("../image/header/header-ico-document.svg") no-repeat center / contain;
  --bg-header-ico-item-service: url("../image/header/header-ico-item-service.svg") no-repeat center / contain;
  --bg-header-ico-menu: url("../image/header/header-ico-menu.svg") no-repeat center / contain;
  --bg-header-ico-procedure-consultation: url("../image/header/header-ico-procedure-consultation.svg") no-repeat center / contain;
  --bg-header-ico-question: url("../image/header/header-ico-question.svg") no-repeat center / contain;
  --bg-header-ico-search: url("../image/header/header-ico-search.svg") no-repeat center / contain;
  --bg-header-ico-store-atm: url("../image/header/header-ico-store-atm.svg") no-repeat center / contain;
  --bg-header-ico-transmission-service: url("../image/header/header-ico-transmission-service.svg") no-repeat center / contain;
  --bg-btn-ico-life-insurance: url("../image/button/button-ico-life-insurance.svg") no-repeat center / contain;
  --bg-btn-ico-operation: url("../image/button/button-ico-operation.svg") no-repeat center / contain;
  --bg-btn-ico-housing-loan: url("../image/button/button-ico-housing-loan.svg") no-repeat center / contain;
  --bg-btn-ico-member-service: url("../image/button/button-ico-member-service.svg") no-repeat center / contain;
  --bg-btn-ico-application-procedure: url("../image/button/button-ico-application-procedure.svg") no-repeat center / contain;
  --bg-btn-ico-application: url("../image/button/button-ico-application.svg") no-repeat center / contain;
  --bg-btn-ico-real-estate: url("../image/button/button-ico-real-estate.svg") no-repeat center / contain;
  --bg-btn-ico-personal-information: url("../image/button/button-ico-personal-information.svg") no-repeat center / contain;
  --bg-btn-ico-hr-solutions: url("../image/button/button-ico-hr-solutions.svg") no-repeat center / contain;
  --bg-btn-ico-transfer-agent: url("../image/button/button-ico-transfer-agent.svg") no-repeat center / contain;
  --bg-btn-ico-real-estate-business: url("../image/button/button-ico-real-estate-business.svg") no-repeat center / contain;
  --bg-btn-ico-accumulate: url("../image/button/button-ico-accumulate.svg") no-repeat center / contain;
  --bg-btn-ico-web-system-shares: url("../image/button/button-ico-web-system-shares.svg") no-repeat center / contain;
  --bg-img-dial: url("../image/img-dial.png") no-repeat center / contain;
  --mask-ico-chevron-right: url("../image/ico-chevron-right.svg") center center / contain no-repeat;
  --mask-ico-chevron-bottom: url("../image/ico-chevron-bottom.svg") center center / contain no-repeat;
  --mask-ico-account: url("../image/header/header-ico-account.svg") center center / contain no-repeat;
  --mask-ico-calendar: url("../image/ico-calendar.svg") center center / contain no-repeat;
  --mask-ico-document: url("../image/ico-document.svg") center center / contain no-repeat;
  --mask-ico-login: url("../image/header/header-ico-login.svg") center center / contain no-repeat;
  --mask-ico-blank: url("../image/ico-blank.svg") center center / contain no-repeat;
  --mask-ico-close: url("../image/ico-close.svg") center center / contain no-repeat;
  --mask-ico-store-atm: url("../image/ico-store-atm.svg") center center / contain no-repeat;
  --mask-ico-transmission-service: url("../image/header/header-ico-transmission-service.svg") center center / contain no-repeat;
  --overlay-type01: rgb(var(--color-black-rgb) / 0.7);
  --box-shadow-type01: 0 5px 10px 0 rgb(var(--color-black-rgb) / 0.1);
  --box-shadow-type02: 0 5px 10px 0 rgb(var(--color-black-rgb) / 0.16);
  --box-shadow-type03: 0 0 10px 0 rgb(var(--color-black-rgb) / 0.1);
  --box-shadow-type04: 0 10px 28px 0 rgb(var(--color-black-rgb) / 0.16);
  --box-shadow-type05: 0 -16px 28px 0 rgb(var(--color-black-rgb) / 0.1);
  --box-shadow-type06: 0 5px 10px 0 rgb(var(--color-black-rgb) / 0.08);
  --box-shadow-type07: 0 5px 10px 0 rgb(var(--color-black-rgb) / 0.12);
  --box-shadow-type08: 0 5px 8px 0 rgb(var(--color-black-rgb) / 0.05);
  --drop-shadow-type01: drop-shadow(0 5px 10px rgb(var(--color-black-rgb) / 0.12));
  --drop-shadow-type02: drop-shadow(0 0 5px rgb(var(--color-black-rgb) / 0.16));
  --drop-shadow-type03: drop-shadow(0 1px 10px rgb(var(--color-black-rgb) / 0.05));
  --opacity-hover-50per: 0.5;
  --z-layer-max: 100;
  --z-layer-30: 30;
  --z-layer-20: 20;
  --z-layer-10: 10;
  --line-height-large: 1.7;
  --line-height-medium: 1.5;
  --line-height-small: 1.4;
  --heading-lv1: 3.2rem;
  --heading-lv2: 2.8rem;
  --heading-lv3: 2.4rem;
  --heading-lv4: 2rem;
  --heading-lv5: 1.8rem;
  --text-x-large: 1.8rem;
  --text-large: 1.6rem;
  --text-medium: 1.4rem;
  --note-large: 1.2rem;
  --note-medium: 1rem;
  --header-sub-top-height: 54px;
  --header-sub-bottom-height: 56px;
  --header-main-menu-height: 68px;
  --header-simple-height: 54px;
  --footer-simple-height: 78px;
  --button-simple-height: 88px;
  /* Customize Focus Style */
  --outline-width: 3px;
}

@media all and (min-width: 768px), print {
  :root {
    --content-main-inline-padding: var(--spacing-24);
  }
}

@media all and (min-width: 768px), print {
  :root {
    --heading-lv1: 3.6rem;
    --heading-lv2: 3.2rem;
    --heading-lv3: 2.8rem;
    --heading-lv4: 2.4rem;
    --heading-lv5: 2rem;
    --text-x-large: 2rem;
    --text-large: 1.8rem;
    --text-medium: 1.6rem;
    --note-large: 1.4rem;
    --note-medium: 1.2rem;
  }
}

@media all and (min-width: 768px), print {
  :root {
    --header-sub-top-height: 75px;
    --header-sub-bottom-height: 60px;
    --header-main-menu-height: 65px;
    --header-simple-height: 75px;
    --footer-simple-height: 60px;
    --button-simple-height: 97px;
  }
}

/*==========================================
  Default style
=============================================*/
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 300;
  src: url("../font/NotoSansJP-Light.ttf") format("truetype");
  font-display: swap;
}

@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: url("../font/NotoSansJP-Regular.ttf") format("truetype");
  font-display: swap;
}

@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 500;
  src: url("../font/NotoSansJP-Medium.ttf") format("truetype");
  font-display: swap;
}

@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  src: url("../font/NotoSansJP-Bold.ttf") format("truetype");
  font-display: swap;
}

@page {
  margin: 1cm 5mm;
  size: A4 portrait;
}

html {
  font-size: 62.5%;
}

body {
  font-size: var(--text-medium);
  line-height: var(--line-height-medium);
  color: var(--color-black);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  overflow-wrap: anywhere;
  -webkit-text-size-adjust: 100%;
}

:where(html.is-modal, html.is-dropdown) body {
  overflow: hidden;
}

@media all and (min-width: 768px), print {
  body {
    /* 1248px */
    min-width: calc(var(--content-main-width) + var(--content-main-inline-padding) * 2);
  }
}

@media print {
  body {
    margin-inline: auto;
    min-width: var(--content-print-min-width);
    -webkit-print-color-adjust: exact;
    width: 210mm;
  }
}

button,
:where(input[type="text"]),
:where(input[type="submit"]) {
  background-color: transparent;
  border: none;
  border-radius: 0;
  color: var(--color-black);
  cursor: pointer;
  margin: 0;
  padding: 0;
  appearance: none;
}

ul,
ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

dialog {
  background-color: transparent;
  border: none;
  margin: 0;
  max-height: 100%;
  max-width: 100%;
  padding: 0;
}

:where(a):link {
  color: inherit;
}

:where(a):visited {
  text-decoration: none;
  color: inherit;
}

:where(a):link {
  text-decoration: none;
}

:where(a):hover,
:where(a):active {
  color: inherit;
  text-decoration: none;
}

@media all and (min-width: 768px), print {
  :where(a)[href^="tel:"] {
    pointer-events: none;
  }
}

h1,
h2,
h3,
h4,
h5 {
  margin: 0;
}

img {
  height: auto;
}

summary {
  display: block;
  list-style: none;
}

summary::-webkit-details-marker {
  display: none;
}

sup {
  line-height: 1;
}

/*------------------------------
  Customize Focus Style
--------------------------------*/
:where(.s-page) :focus-visible {
  outline: var(--color-light-red02) solid var(--outline-width);
}

:where(.s-page) :where(a:has(> img:only-child)):focus-visible {
  display: block;
}

/*==========================================
  Vender style
=============================================*/
/*------------------------------
  Scroll Hint
--------------------------------*/
.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
  animation: none;
}

.scroll-hint-icon {
  display: grid;
  height: 119px;
  left: calc(50% - 122px);
  padding: 15px 14px 16px;
  place-content: center;
  top: 14%;
  width: 244px;
}

.scroll-hint-icon::before {
  content: "";
  background: none;
  background-color: var(--color-mufg-gray-75per);
  height: 100%;
  mix-blend-mode: multiply;
  position: absolute;
  width: 100%;
}

.scroll-hint-icon:after {
  background-image: var(--bg-scroll-hint);
  background-size: contain;
  height: 60px;
  left: auto;
  margin-left: 0;
  margin-top: 9px;
  margin-inline: auto;
  opacity: 1;
  position: relative;
  top: auto;
  width: 216px;
}

@media all and (min-width: 768px), print {
  .scroll-hint-icon {
    height: 0;
  }
}

.scroll-hint-text {
  font-size: 1.4rem;
  font-weight: 700;
  margin-top: 0;
  position: relative;
}

/*==========================================
  Module-related style
=============================================*/
/*------------------------------
  Dropdown
--------------------------------*/
[data-module="dropdown"][aria-hidden="true"] {
  display: none;
}

/*------------------------------
  SmoothScroll
--------------------------------*/
[id][tabindex="-1"]:not(:where([aria-controls], [aria-selected])):focus-visible {
  /* The style has been removed because it sometimes came into focus when the developer tool was opened. */
  outline: none;
}

/*------------------------------
  Tablist
--------------------------------*/
[role="tabpanel"] {
  display: block;
}

[role="tabpanel"].is-hidden {
  display: none;
}

/*==========================================
  S-Button Simple Style
=============================================*/
[data-module="include"][data-type*="button_simple"] {
  min-height: var(--button-simple-height);
}

.s-container:has(.c-main-visual) [data-module="include"][data-type*="button_simple"] {
  position: absolute;
  right: 0;
  top: var(--header-simple-height);
  width: 100%;
  z-index: 1;
}

.s-button-simple-layout {
  display: flex;
  justify-content: flex-end;
  padding: 16px 25px 26px;
}

@media all and (min-width: 768px), print {
  .s-button-simple-layout {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

@media all and (min-width: 768px), print {
  .s-button-simple-layout {
    min-width: 1200px;
    padding: 20px 0 28px;
  }
}

.s-button-simple {
  width: fit-content;
}

.s-button-simple__button {
  transition: opacity 0.4s 0s ease;
  font-size: var(--text-large);
  line-height: var(--line-height-large);
  align-items: center;
  display: flex;
  opacity: 1;
  width: fit-content;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .s-button-simple__button:hover {
    opacity: var(--opacity-hover-50per);
  }
}

@media (hover: none) {
  .s-button-simple__button:active {
    opacity: var(--opacity-hover-50per);
  }
}

.s-button-simple__button:not(:first-child) {
  margin-top: var(--spacing-28);
}

.s-button-simple__button::before {
  background: var(--bg-ico-chevron-round-right);
  content: "";
  display: inline-block;
  flex-shrink: 0;
  height: var(--icon-size-medium);
  margin-right: 8px;
  width: var(--icon-size-medium);
}

.s-button-simple__button:active {
  font-weight: 700;
  opacity: 1 !important;
}

@media all and (min-width: 768px), print {
  .s-button-simple__button::before {
    height: var(--icon-size-large);
    width: var(--icon-size-large);
  }
}

.s-button-simple__blank {
  display: inline-block;
  padding-right: calc(var(--icon-size-small) + 8px);
}

.s-button-simple__blank::after {
  background: var(--bg-ico-blank);
  content: "";
  display: inline-block;
  height: var(--icon-size-small);
  margin-left: 8px;
  margin-right: calc((var(--icon-size-small) + 8px) * -1);
  width: var(--icon-size-small);
}

.s-button-simple__note {
  font-size: 1.2rem;
  text-align: center;
}

.s-page--small .s-button-simple__note {
  font-size: 12px;
}

/*==========================================
  S-Caution Style
=============================================*/
.s-caution01 {
  background-color: var(--color-white);
  border-top: 2px solid var(--color-mufg-gray-75per);
  margin-top: var(--spacing-80);
}

@media not print {
  @media not all and (min-width: 768px) {
    .s-caution01 {
      margin-inline: calc(var(--content-main-inline-padding) * -1);
      position: relative;
    }
  }
}

@media all and (min-width: 768px), print {
  .s-caution01 {
    margin-top: var(--spacing-120);
  }
}

.s-caution01--bg-gray01 {
  background-color: var(--color-light-gray02);
  border-top: none;
}

.s-caution01__inner {
  padding: 80px var(--content-main-inline-padding);
}

@media all and (min-width: 768px), print {
  .s-caution01__inner {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

@media all and (min-width: 768px), print {
  .s-caution01__inner {
    padding-left: 0;
    padding-right: 0;
  }
}

.s-caution01__title {
  margin-bottom: 20px;
  text-align: center;
}

@media all and (min-width: 768px), print {
  .s-caution01__title {
    margin-bottom: 24px;
  }
}

.s-caution01__heading {
  font-size: var(--heading-lv4);
  font-weight: 500;
  line-height: var(--line-height-medium);
}

.s-caution01__list {
  display: grid;
  row-gap: var(--spacing-12);
}

@media all and (min-width: 768px), print {
  .s-caution01__list {
    margin-inline: auto;
    max-width: var(--content-sub-914w);
    width: 100%;
  }
}

@media all and (min-width: 768px), print {
  .s-caution01__list {
    gap: var(--spacing-20) var(--spacing-24);
    grid-template-columns: repeat(2, 1fr);
  }

  .s-caution01__list .c-button-card {
    max-width: initial;
  }
}

/*==========================================
  S-Conversion Style
=============================================*/
.s-conversion-fixed {
  background-color: var(--color-cv-yellow);
  position: fixed;
  bottom: 0;
  box-shadow: var(--box-shadow-type05);
  display: none;
  left: 0;
  width: 100%;
  z-index: var(--z-layer-20);
}

.s-conversion-fixed[aria-hidden="false"] {
  display: block;
}

@media all and (min-width: 768px), print {
  .s-conversion-fixed {
    /* 1248px */
    min-width: calc(var(--content-main-width) + var(--content-main-inline-padding) * 2);
  }
}

.s-conversion-fixed__inner {
  padding: 28px var(--content-main-inline-padding) 14px;
}

@media all and (min-width: 768px), print {
  .s-conversion-fixed__inner {
    margin-inline: auto;
    max-width: var(--content-sub-1050w);
    width: 100%;
  }
}

@media all and (min-width: 768px), print {
  .s-conversion-fixed__inner {
    padding: 20px 0;
  }
}

.s-conversion-fixed__button {
  align-items: center;
  background-color: var(--color-white);
  box-shadow: var(--box-shadow-type04);
  border: 1px solid var(--color-gray02);
  border-radius: 50%;
  display: flex;
  height: 32px;
  justify-content: center;
  position: absolute;
  right: 10px;
  top: -16px;
  width: 32px;
  z-index: 1;
}

.s-conversion-fixed__button::before {
  background: var(--bg-ico-close);
  content: "";
  display: block;
  height: var(--icon-size-small);
  width: var(--icon-size-small);
}

@media all and (min-width: 768px), print {
  .s-conversion-fixed__button {
    right: 16px;
  }
}

.s-conversion-fixed__content {
  align-items: center;
  column-gap: var(--spacing-20);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  row-gap: var(--spacing-16);
}

@media all and (min-width: 768px), print {
  .s-conversion-fixed__content {
    column-gap: var(--spacing-40);
    grid-template-columns: 325px 325px 1fr;
    margin-inline: auto;
    width: fit-content;
  }
}

.s-conversion-fixed__content--column1 {
  grid-template-columns: repeat(1, minmax(0, 325px));
  margin-inline: auto;
  width: fit-content;
}

.s-conversion-fixed__content--tel-column1 {
  grid-template-columns: repeat(1, 1fr);
  margin-inline: auto;
}

@media all and (min-width: 768px), print {
  .s-conversion-fixed__content--tel-column1 {
    grid-template-columns: repeat(1, 1fr);
    width: fit-content;
  }
}

.s-conversion-fixed__content--column2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-inline: auto;
}

@media all and (min-width: 768px), print {
  .s-conversion-fixed__content--column2 {
    grid-template-columns: repeat(2, 325px);
    width: fit-content;
  }
}

@media all and (min-width: 768px), print {
  .s-conversion-fixed__content--button-sp-width-full {
    grid-template-columns: 325px 1fr;
    margin-inline: auto;
    width: fit-content;
  }
}

@media not print {
  @media not all and (min-width: 768px) {
    .s-conversion-fixed__contact {
      grid-column: 1/3;
    }
  }
}

.s-conversion-fixed__phone {
  display: flex;
  justify-content: center;
}

.s-conversion-fixed__phone:has(.s-conversion-fixed__text) {
  align-items: baseline;
}

.s-conversion-fixed__tel {
  font-size: 2.4rem;
  font-weight: 700;
  padding-left: 44px;
  position: relative;
}

@media not print {
  @media not all and (min-width: 768px) {
    .s-conversion-fixed__tel:has(.s-conversion-fixed__ruby) {
      padding-top: 0.5rem;
    }
  }
}

.s-conversion-fixed__tel::before {
  background: var(--bg-img-dial);
  content: "";
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 40px;
}

@media not print {
  @media not all and (min-width: 768px) {
    .s-conversion-fixed__tel {
      color: var(--color-link-blue);
      text-decoration: underline;
    }
  }
}

@media all and (min-width: 768px), print {
  .s-conversion-fixed__tel {
    font-size: 3.6rem;
    padding-left: 58px;
  }

  .s-conversion-fixed__tel::before {
    top: 4px;
    width: 50px;
  }
}

.s-conversion-fixed__note {
  /* To avoid generating line breaks at a screen size of 320px. */
  font-size: clamp(0.8rem, 2.666vw, 1rem);
}

@media not print {
  @media not all and (min-width: 768px) {
    .s-conversion-fixed__note {
      margin-inline: auto;
      width: fit-content;
    }
  }
}

@media all and (min-width: 768px), print {
  .s-conversion-fixed__note {
    font-size: 1.1rem;
    margin-top: 4px;
  }
}

.s-conversion-fixed__ruby {
  /* 1 / 12 iword count j */
  column-gap: 8.333%;
  display: grid;
  font-size: clamp(0.9rem, 3.2vw, 1.2rem);
  font-weight: 400;
  line-height: 1;
  position: absolute;
  right: 0;
  top: 0;
  /* 7 / 12 iword count j */
  width: calc((100% - 45px) * 0.58333);
}

.s-conversion-fixed__ruby>span {
  display: flex;
  justify-content: space-around;
}

@media all and (min-width: 768px), print {
  .s-conversion-fixed__ruby {
    font-size: 1.2rem;
    width: calc((100% - 58px) * 0.58333);
  }
}

.s-conversion-fixed__ruby--2-4 {
  grid-template-columns: 2fr 4fr;
}

.s-conversion-fixed__ruby--3-3 {
  grid-template-columns: 3fr 3fr;
}

.s-conversion-fixed__ruby--4-2 {
  grid-template-columns: 4fr 2fr;
}

.s-conversion-fixed__ruby--2-1-4 {
  column-gap: 0;
  grid-template-columns: 2fr 1fr 4fr;
}

.s-conversion-fixed__ruby--3-1-3 {
  column-gap: 0;
  grid-template-columns: 3fr 1fr 3fr;
}

.s-conversion-fixed__ruby--4-4 {
  column-gap: 0;
  grid-template-columns: 4fr 4fr;
}

@media not print {
  @media not all and (min-width: 768px) {
    .s-conversion-fixed__ruby--4-4 {
      width: calc((100% - 38px) * 0.58333);
    }
  }
}

.s-conversion-fixed__ruby--all-in-last01 {
  column-gap: 0;
  right: -1.5em;
  width: fit-content !important;
}

/*==========================================
  S-Footer Style
=============================================*/
[data-module="include"][data-type="footer_common"] {
  margin-top: var(--spacing-120);
}

.s-main:has([data-type="caution_01"])~[data-module="include"][data-type="footer_common"] {
  margin-top: 0;
}

[data-module="include"][data-type="footer_simple"] {
  height: var(--footer-simple-height);
  margin-top: var(--spacing-80);
}

@media all and (min-width: 768px), print {
  [data-module="include"][data-type="footer_simple"] {
    margin-top: var(--spacing-120);
  }
}

/*------------------------------
  Footer Common
--------------------------------*/
/* common parts
----------------*/
.s-footer-link {
  transition: opacity 0.4s 0s ease;
  align-items: center;
  display: flex;
  width: fit-content;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .s-footer-link:hover {
    opacity: var(--opacity-hover-50per);
  }
}

@media (hover: none) {
  .s-footer-link:active {
    opacity: var(--opacity-hover-50per);
  }
}

.s-footer-link[target="_blank"] .s-footer-link__inner::after {
  background: var(--bg-ico-blank);
  content: "";
  display: inline-block;
  height: var(--icon-size-small);
  margin-left: 8px;
  position: relative;
  top: calc((1em * var(--line-height-medium) - var(--icon-size-small)) / 2);
  vertical-align: text-top;
  width: var(--icon-size-small);
}

.s-footer-link[href*=".pdf"] .s-footer-link__inner::after {
  background: var(--bg-ico-pdf);
  content: "";
  display: inline-block;
  height: var(--icon-size-large);
  margin-inline: 4px;
  position: relative;
  top: calc((1em * var(--line-height-medium) - var(--icon-size-large)) / 2);
  vertical-align: text-top;
  width: var(--icon-size-large);
}

@media not print {
  @media not all and (min-width: 768px) {
    .s-footer-only-pc {
      display: none;
    }
  }
}

@media all and (min-width: 768px), print {
  .s-footer-only-sp {
    display: none;
  }
}

/* container area
----------------*/
.s-footer-container {
  background-color: var(--color-white);
}

/* top area
----------------*/
.s-footer-top {
  background-color: var(--color-mufg-gray-75per);
  display: grid;
  height: 52px;
  place-content: center;
}

.s-footer-top:focus-visible {
  outline-offset: calc(-1 * var(--outline-width));
}

@media all and (min-width: 768px), print {
  .s-footer-top {
    height: 64px;
  }
}

.s-footer-top__inner {
  align-items: center;
  color: var(--color-white);
  display: flex;
  font-size: 1.6rem;
  font-weight: 700;
}

.s-footer-top__inner::before {
  background: var(--bg-ico-top);
  content: "";
  display: inline-block;
  flex-shrink: 0;
  height: var(--icon-size-medium);
  margin-right: 12px;
  width: var(--icon-size-medium);
}

/* navigation area
----------------*/
@media all and (min-width: 768px), print {
  .s-footer-navigation {
    margin-inline: auto;
    max-width: 1204px;
    width: 100%;
  }
}

@media all and (min-width: 768px), print {
  .s-footer-navigation {
    position: relative;
  }

  .s-footer-navigation::before {
    content: "";
    display: block;
    /* If the number of elements changes, the 'height' may need to be adjusted to fit on the screen. i821px include padding j */
    padding-top: 68.25%;
  }
}

@media print {
  .s-footer-navigation::before {
    /* If the number of elements changes, the 'height' may need to be adjusted to fit on the screen. i820px include padding j */
    padding-top: 72.6%;
  }
}

@media all and (min-width: 768px), print {
  .s-footer-navigation__ancestor-list {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    inset: 0;
    padding: 56px 0;
    position: absolute;
  }
}

@media not print {
  @media not all and (min-width: 768px) {
    .s-footer-navigation__ancestor-item:not(:first-child) {
      border-top: 1px solid var(--color-gray02);
    }
  }
}

@media all and (min-width: 768px), print {
  .s-footer-navigation__ancestor-item {
    flex: 0 0 auto;
  }

  .s-footer-navigation__ancestor-item:not(:where(:first-child, :nth-child(2), :nth-child(4))) {
    padding-top: 32px;
  }

  .s-footer-navigation__ancestor-item:first-child {
    flex: 1 0 100%;
    width: 49%;
  }

  .s-footer-navigation__ancestor-item:nth-child(2),
  .s-footer-navigation__ancestor-item:nth-child(3) {
    margin-left: 24px;
    width: 268px;
  }

  .s-footer-navigation__ancestor-item:nth-child(2) {
    flex: 0 0 49%;
  }

  .s-footer-navigation__ancestor-item:nth-child(3) {
    flex: 0 0 37%;
  }

  .s-footer-navigation__ancestor-item:nth-child(n + 4) {
    margin-left: 40px;
    width: calc(100% - (49% + 24px + 268px + 40px));
  }
}

.s-footer-navigation__ancestor-link {
  font-size: 1.8rem;
  font-weight: 700;
}

@media not print {
  @media not all and (min-width: 768px) {
    .s-footer-navigation__ancestor-link {
      min-height: 74px;
      padding: 4px calc(20px + var(--icon-size-large)) 4px 20px;
      position: relative;
      width: 100%;
    }

    .s-footer-navigation__ancestor-link::after {
      background: var(--bg-ico-chevron-right);
      content: "";
      height: var(--icon-size-large);
      margin-top: calc(var(--icon-size-large) / 2 * -1);
      position: absolute;
      right: 20px;
      top: 50%;
      width: var(--icon-size-large);
    }

    .s-footer-navigation__ancestor-link[target="_blank"]::after {
      background: var(--bg-ico-blank);
      height: var(--icon-size-small);
      margin-top: calc(var(--icon-size-small) / 2 * -1);
      right: 24px;
      width: var(--icon-size-small);
    }

    .s-footer-navigation__ancestor-link[target="_blank"] .s-footer-link__inner::after {
      content: none;
    }
  }
}

@media all and (min-width: 768px), print {
  .s-footer-navigation__ancestor-link::before {
    background: var(--bg-ico-chevron-round-right);
    content: "";
    display: inline-block;
    flex-shrink: 0;
    height: var(--icon-size-large);
    margin-right: 8px;
    width: var(--icon-size-large);
  }
}

@media all and (min-width: 768px), print {
  .s-footer-navigation__parent-list {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    row-gap: var(--spacing-24);
  }
}

@media all and (min-width: 768px), print {
  .s-footer-navigation__parent-list--kojin {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: var(--spacing-24) 18%;
    inset: 0;
    position: absolute;
  }
}

@media not print {
  @media not all and (min-width: 768px) {
    .s-footer-navigation__parent-item {
      border-top: 1px solid var(--color-gray02);
    }
  }
}

@media all and (min-width: 768px), print {
  .s-footer-navigation__parent-list--kojin .s-footer-navigation__parent-item:nth-child(-n + 4) {
    width: 36%;
  }

  .s-footer-navigation__parent-list--kojin .s-footer-navigation__parent-item:nth-child(4) {
    /* To make the next element fall down a column */
    flex-grow: 1;
  }

  .s-footer-navigation__parent-list--kojin .s-footer-navigation__parent-item:nth-child(n + 5) {
    width: 46%;
  }
}

.s-footer-navigation__parent-item--has-child {
  border-top: none;
}

.s-footer-navigation__parent-link {
  font-size: 1.6rem;
  font-weight: 700;
}

@media not print {
  @media not all and (min-width: 768px) {
    .s-footer-navigation__parent-link {
      background-color: var(--color-light-gray02);
      padding: 16px calc(20px + var(--icon-size-large)) 16px 30px;
      position: relative;
      width: 100%;
    }

    .s-footer-navigation__parent-link::after {
      background: var(--bg-ico-chevron-right);
      content: "";
      height: var(--icon-size-large);
      margin-top: calc(var(--icon-size-large) / 2 * -1);
      position: absolute;
      right: 20px;
      top: 50%;
      width: var(--icon-size-large);
    }

    .s-footer-navigation__parent-link[target="_blank"]::after {
      background: var(--bg-ico-blank);
      height: var(--icon-size-small);
      margin-top: calc(var(--icon-size-small) / 2 * -1);
      right: 24px;
      width: var(--icon-size-small);
    }

    .s-footer-navigation__parent-link[target="_blank"] .s-footer-link__inner::after {
      content: none;
    }
  }
}

@media all and (min-width: 768px), print {
  .s-footer-navigation__parent-link::before {
    background: var(--bg-ico-chevron-right);
    content: "";
    display: inline-block;
    flex-shrink: 0;
    height: var(--icon-size-large);
    margin-right: 8px;
    width: var(--icon-size-large);
  }
}

@media all and (min-width: 768px), print {
  .s-footer-navigation__child-list {
    padding-left: 32px;
  }
}

@media not print {
  @media not all and (min-width: 768px) {
    .s-footer-navigation__child-item {
      border-top: 1px solid var(--color-gray02);
    }
  }
}

@media all and (min-width: 768px), print {
  .s-footer-navigation__child-item:not(:first-child) {
    margin-top: 10px;
  }
}

.s-footer-navigation__child-link {
  font-size: 1.4rem;
}

@media not print {
  @media not all and (min-width: 768px) {
    .s-footer-navigation__child-link {
      min-height: 60px;
      padding: 4px calc(24px + var(--icon-size-small)) 4px 40px;
      position: relative;
      width: 100%;
    }

    .s-footer-navigation__child-link::after {
      background: var(--bg-ico-chevron-right);
      content: "";
      height: var(--icon-size-small);
      margin-top: calc(var(--icon-size-small) / 2 * -1);
      position: absolute;
      right: 24px;
      top: 50%;
      width: var(--icon-size-small);
    }

    .s-footer-navigation__child-link[target="_blank"]::after {
      background: var(--bg-ico-blank);
    }

    .s-footer-navigation__child-link[target="_blank"] .s-footer-link__inner::after {
      content: none;
    }

    .s-footer-navigation__child-link[href*=".pdf"]::after {
      background: var(--bg-ico-pdf);
      height: var(--icon-size-large);
      margin-top: calc(var(--icon-size-large) / 2 * -1);
      right: 12px;
      width: var(--icon-size-large);
    }

    .s-footer-navigation__child-link[href*=".pdf"] .s-footer-link__inner::after {
      content: none;
    }
  }
}

/* SP Only */
.s-footer-navigation__sp-top-link {
  background-color: var(--color-white);
  font-size: 1.6rem;
  font-weight: 700;
  min-height: 60px;
  padding: 16px calc(20px + var(--icon-size-large)) 16px 20px;
  position: relative;
  width: 100%;
}

.s-footer-navigation__sp-top-link::before {
  background: var(--bg-ico-chevron-round-right);
  content: "";
  display: inline-block;
  flex-shrink: 0;
  height: var(--icon-size-medium);
  margin-right: 8px;
  width: var(--icon-size-medium);
}

.s-footer-navigation__sp-top-link[target="_blank"]::after {
  background: var(--bg-ico-blank);
  content: "";
  height: var(--icon-size-small);
  margin-top: calc(var(--icon-size-small) / 2 * -1);
  position: absolute;
  right: 24px;
  top: 50%;
  width: var(--icon-size-small);
}

.s-footer-navigation__sp-top-link[target="_blank"] .s-footer-link__inner::after {
  content: none;
}

@media all and (min-width: 768px), print {
  .s-footer-navigation__sp-top-link {
    display: none;
  }
}

/*PC Only */
@media not print {
  @media not all and (min-width: 768px) {
    .s-footer-navigation__detail01 {
      display: none;
    }
  }
}

.s-footer-navigation__detail01-description {
  margin-top: 32px;
}

@media all and (min-width: 768px), print {
  .s-footer-navigation__detail01-description--kojin {
    position: relative;
  }

  .s-footer-navigation__detail01-description--kojin::before {
    content: "";
    display: block;
    /* If the number of elements changes, if the maximum number of characters changes to more than two lines, or if the folded position changes, it may be necessary to adjust the ratio. iabout 412px j */
    padding-top: 69.83%;
  }
}

@media print {
  .s-footer-navigation__detail01-description--kojin::before {
    /* If the number of elements changes, if the maximum number of characters changes to more than two lines, or if the folded position changes, it may be necessary to adjust the ratio. iabout 404px j */
    padding-top: 73%;
  }
}

@media all and (min-width: 768px), print {
  .s-footer-navigation__detail01-description--company {
    margin-top: 12px;
  }
}

.s-footer-navigation__detail01-child-description {
  margin-top: 8px;
}

/* SP Only */
@media all and (min-width: 768px), print {
  .s-footer-navigation__accordion {
    display: none;
  }
}

.s-footer-navigation__accordion-summary {
  align-items: center;
  display: flex;
  font-size: 1.8rem;
  font-weight: 700;
  /* Same value as '.s-footer-navigation__ancestor-link' element. */
  min-height: 74px;
  padding: 4px calc(20px + var(--icon-size-large)) 4px 20px;
  position: relative;
}

.s-footer-navigation__accordion-summary::after {
  /* Match the value of the options in the `animate()` method of the accordion.*/
  transition: transform 0.4s 0s ease;
  background: var(--bg-ico-chevron-bottom);
  content: "";
  height: var(--icon-size-large);
  margin-top: calc(var(--icon-size-large) / 2 * -1);
  position: absolute;
  right: 20px;
  top: 50%;
  width: var(--icon-size-large);
}

.s-footer-navigation__accordion-summary.is-opened::after {
  transform: rotate(180deg);
}

.s-footer-navigation__accordion-summary--nesting {
  background-color: var(--color-light-gray02);
  /* Same value as '.s-footer-navigation__parent-link' element. */
  font-size: 1.6rem;
  /* Same value as '.s-footer-navigation__parent-link' element. */
  min-height: 56px;
  padding-left: 30px;
}

.s-footer-navigation__accordion-body {
  overflow: hidden;
  /* Do not style `padding` on this element for safari behaviour. */
}

/* group area
----------------*/
.s-footer-group {
  background-color: var(--color-light-gray02);
  border-top: 4px solid var(--color-mufg-red);
  padding: 40px 20px;
}

@media all and (min-width: 768px), print {
  .s-footer-group {
    padding: 56px 0;
  }
}

@media all and (min-width: 768px), print {
  .s-footer-group__detail {
    margin-inline: auto;
    max-width: 920px;
    width: 100%;
  }
}

.s-footer-group__title {
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
}

.s-footer-group__description {
  margin-top: 20px;
}

@media all and (min-width: 768px), print {
  .s-footer-group__description {
    margin-top: 32px;
  }
}

.s-footer-group__list {
  display: block;
}

@media all and (min-width: 768px), print {
  .s-footer-group__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: -24px;
  }
}

@media not print {
  @media not all and (min-width: 768px) {
    .s-footer-group__item:not(:first-child) {
      margin-top: 16px;
    }
  }
}

@media all and (min-width: 768px), print {
  .s-footer-group__item {
    margin-top: 24px;
  }

  .s-footer-group__item:not(:last-child) {
    padding-right: 30px;
    position: relative;
  }

  .s-footer-group__item:not(:last-child)::after {
    background-color: var(--color-gray02);
    content: "";
    height: 20px;
    margin-top: -10px;
    position: absolute;
    right: 15px;
    top: 50%;
    width: 1px;
  }
}

.s-footer-group__link {
  font-size: 1.4rem;
}

@media all and (min-width: 768px), print {
  .s-footer-group__link {
    font-size: 1.8rem;
  }
}

/* site area
----------------*/
.s-footer-site {
  padding: 24px 12px;
}

@media not print {
  @media not all and (min-width: 768px) {
    .s-footer-site {
      border-top: 1px solid var(--color-gray02);
    }
  }
}

@media all and (min-width: 768px), print {
  .s-footer-site {
    padding: 20px 0;
  }
}

@media all and (min-width: 768px), print {
  .s-footer-site__inner {
    margin-inline: auto;
    max-width: 1226px;
    width: 100%;
  }
}

.s-footer-site__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: -10px;
}

.s-footer-site__item {
  margin-top: 10px;
}

.s-footer-site__item:not(:last-child) {
  padding-right: 20px;
  position: relative;
}

.s-footer-site__item:not(:last-child)::after {
  background-color: var(--color-gray02);
  content: "";
  height: 15px;
  margin-top: -7px;
  position: absolute;
  right: 10px;
  top: 50%;
  width: 1px;
}

@media all and (min-width: 768px), print {
  .s-footer-site__item:not(:last-child) {
    padding-right: 30px;
  }

  .s-footer-site__item:not(:last-child)::after {
    height: 20px;
    margin-top: -10px;
    right: 15px;
  }
}

.s-footer-site__link {
  font-size: 1rem;
}

@media all and (min-width: 768px), print {
  .s-footer-site__link {
    font-size: 1.4rem;
    font-weight: 300;
  }
}

/* tradename area
----------------*/
.s-footer-tradename {
  border-top: 1px solid var(--color-gray02);
  padding: 16px 25px;
}

@media all and (min-width: 768px), print {
  .s-footer-tradename {
    padding: 20px 0;
  }
}

.s-footer-tradename__detail {
  font-size: 1rem;
}

@media all and (min-width: 768px), print {
  .s-footer-tradename__detail {
    display: flex;
    flex-wrap: wrap;
    font-size: 1.2rem;
    font-weight: 300;
    justify-content: center;
  }
}

.s-footer-tradename__detail-inner:nth-child(2) {
  margin: var(--spacing-12) 0;
}
.s-footer-tradename__detail-inner--inline {
  display: inline;
}

@media all and (min-width: 768px), print {
  .s-footer-tradename__detail-inner:not(.s-footer-tradename__detail-inner--inline) {
    display: flex;
    justify-content: center;
    width: 100%;
  }
  .s-footer-tradename__detail-inner:nth-child(2) {
    margin: var(--spacing-4) 0;
  }
  .s-footer-tradename__detail-inner--inline {
    display: inline-flex;
  }
}

.s-footer-tradename__detail-title::after {
  content: " F";
}

@media not print {
  @media not all and (min-width: 768px) {
    .s-footer-tradename__detail-title {
      display: inline;
    }
  }
}

@media all and (min-width: 768px), print {
  .s-footer-tradename__detail-title {
    flex-shrink: 0;
  }
}

@media not print {
  @media not all and (min-width: 768px) {
    .s-footer-tradename__detail-description {
      display: inline;
    }
  }
}

/* peterrabbit area
----------------*/
.s-footer-peterrabbit {
  /* Exceptionally, use color that is not custom properties. */
  background-color: #f7f4ed;
  height: 60px;
  padding: 2px 7px 2px 9px;
}

@media all and (min-width: 768px), print {
  .s-footer-peterrabbit {
    height: 86px;
    padding: 0;
  }
}

.s-footer-peterrabbit__inner {
  align-items: center;
  column-gap: 2px;
  display: grid;
  grid-template-columns: 76px 128px;
  height: 100%;
  position: relative;
}

@media all and (min-width: 768px), print {
  .s-footer-peterrabbit__inner {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.s-footer-peterrabbit__inner::after {
  background: url("../../../assets/new/img/layout/footer_peter_rabbit_bg.jpg") no-repeat right bottom/contain;
  bottom: 0;
  content: "";
  height: 37px;
  position: absolute;
  right: 0;
  width: 125px;
}

@media all and (min-width: 768px), print {
  .s-footer-peterrabbit__inner {
    column-gap: 26px;
    grid-template-columns: 150px 253px;
  }

  .s-footer-peterrabbit__inner::after {
    height: 81px;
    width: 275px;
  }
}

/* copyright area
----------------*/
.s-footer-copyright {
  display: grid;
  height: 30px;
  place-content: center;
}

@media all and (min-width: 768px), print {
  .s-footer-copyright {
    height: 60px;
  }
}

.s-footer-copyright__inner {
  font-size: var(--note-medium);
  line-height: var(--line-height-large);
}

/*------------------------------
  Footer Simple
--------------------------------*/
.s-footer-simple {
  align-items: center;
  background-color: var(--color-white);
  border-top: 2px solid var(--color-gray02);
  display: flex;
  height: 100%;
}

.s-footer-simple__inner {
  display: grid;
  flex-grow: 1;
  grid-template-columns: repeat(1, auto);
  justify-content: center;
  row-gap: var(--spacing-8);
}

@media all and (min-width: 768px), print {
  .s-footer-simple__inner {
    margin-inline: auto;
    max-width: 1178px;
    width: 100%;
  }
}

@media all and (min-width: 768px), print {
  .s-footer-simple__inner {
    grid-template-columns: repeat(2, auto);
    justify-content: space-between;
  }
}

.s-footer-simple__detail {
  font-size: var(--note-medium);
  font-weight: 300;
  line-height: var(--line-height-large);
  display: flex;
  justify-content: center;
}

.s-footer-simple__title::after {
  content: " F";
}

.s-footer-simple__copyright {
  font-size: var(--note-medium);
  line-height: var(--line-height-large);
}

/*==========================================
  S-Header Style
=============================================*/
[data-module="include"][data-type*="header_common"] {
  padding-top: calc(var(--header-sub-top-height) + var(--header-sub-bottom-height) + var(--header-main-menu-height));
}

@media all and (min-width: 768px), print {
  [data-module="include"][data-type*="header_common"] {
    min-height: calc(var(--header-sub-top-height) + var(--header-sub-bottom-height) + var(--header-main-menu-height));
    padding-top: 0;
  }
}

[data-module="include"][data-type="header_simple"] {
  height: var(--header-simple-height);
}

/*------------------------------
  Header Common
--------------------------------*/
/* common parts
----------------*/
.s-header-user {
  column-gap: var(--spacing-16);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media all and (min-width: 768px), print {
  .s-header-user {
    column-gap: var(--spacing-16);
  }
}

.s-header-user--houjin01 {
  display: block;
}

@media not print {
  @media not all and (min-width: 768px) {
    .s-header-user--sp-block {
      grid-template-columns: repeat(1, minmax(0, 1fr));
      grid-template-rows: auto;
      row-gap: var(--spacing-20);
    }
    .s-header-user--houjin01 {
      max-width: 220px;
      width: 100%;
    }
  }
}

.s-header-user--houjin02 {
  display: block;
}

@media not print {
  @media not all and (min-width: 768px) {
    .s-header-user--houjin02 {
      max-width: 254px;
      margin-inline: auto;
      width: 100%;
    }
  }
}

.s-header-user__button {
  transition: all 0.4s 0s ease;
  align-items: center;
  border: 2px solid transparent;
  border-radius: 9999px;
  box-shadow: var(--box-shadow-type01);
  display: flex;
  /* To avoid generating line breaks at a screen size of 320px. */
  font-size: clamp(1.1rem, 3.4vw, 1.4rem);
  font-weight: 500;
  justify-content: center;
  min-height: 38px;
  line-height: 1;
  position: relative;
  padding: 4px;
  text-align: center;
  text-decoration: none;
}

.s-header-user__button:active {
  box-shadow: none;
}

.s-header-user__button::before {
  transition: background-color 0.4s 0s ease;
  background-color: var(--color-black);
  flex-shrink: 0;
  margin-right: 4px;
  height: var(--icon-size-medium);
  width: var(--icon-size-medium);
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .s-header-user__button:hover {
    box-shadow: none;
    font-size: 1.7rem;
    letter-spacing: 0.1em;
  }

  .s-header-user__button:hover .s-header-user__button-text {
    padding-bottom: 2px;
  }
}

@media all and (min-width: 768px), print {
  .s-header-user__button {
    font-size: 1.5rem;
    font-weight: 700;
    min-height: 40px;
    max-width: 100%;
    width: 160px;
  }
}

@media all and (min-width: 768px), print {
  .s-header-user__button--houjin {
    width: auto;
  }
}

.s-header-user__button--lg {
  font-size: 1.5rem;
  font-weight: 700;
  min-height: 40px;
}

.s-header-user__button--account {
  background-color: var(--color-white);
  border-color: var(--color-mufg-red);
  color: var(--color-black);
}

.s-header-user__button--account::before {
  background-color: var(--color-mufg-red);
  content: "";
  -webkit-mask: var(--mask-ico-account);
  mask: var(--mask-ico-account);
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .s-header-user__button--account:hover {
    background-color: var(--color-mufg-red);
    color: var(--color-white);
  }

  .s-header-user__button--account:hover::before {
    background-color: var(--color-white);
  }
}

.s-header-user__button--login,
.s-header-user__button--transmission-service {
  background-color: var(--color-mufg-red);
  color: var(--color-white);
}

.s-header-user__button--login::before,
.s-header-user__button--transmission-service::before {
  background-color: var(--color-white);
  content: "";
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {

  .s-header-user__button--login:hover,
  .s-header-user__button--transmission-service:hover {
    background-color: var(--color-white);
    border-color: var(--color-mufg-red);
    color: var(--color-black);
  }

  .s-header-user__button--login:hover::before,
  .s-header-user__button--transmission-service:hover::before {
    background-color: var(--color-mufg-red);
  }
}

.s-header-user__button--login::before {
  -webkit-mask: var(--mask-ico-login);
  mask: var(--mask-ico-login);
}

.s-header-user__button--transmission-service::before {
  -webkit-mask: var(--mask-ico-transmission-service);
  mask: var(--mask-ico-transmission-service);
}

.s-header-card01 {
  overflow: hidden;
  position: relative;
  align-items: center;
  background-color: var(--color-white);
  border: 1px solid var(--color-gray02);
  border-radius: 8px;
  box-shadow: var(--box-shadow-type03);
  display: flex;
  font-size: 1.4rem;
  justify-content: flex-start;
  min-height: 52px;
  padding: 4px calc(8px + var(--icon-size-large) + 12px) 4px 12px;
  position: relative;
  text-align: left;
  width: 100%;
}

.s-header-card01::before {
  transition: opacity 0.4s 0s ease;
  background-color: var(--color-white);
  bottom: 0;
  content: "";
  left: 0;
  opacity: 0;
  position: absolute;
  pointer-events: none;
  right: 0;
  top: 0;
  z-index: 1;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .s-header-card01:hover::before {
    opacity: var(--opacity-hover-50per);
  }
}

@media (hover: none) {
  .s-header-card01:active::before {
    opacity: var(--opacity-hover-50per);
  }
}

.s-header-card01::after {
  transition: background-color 0.4s 0s ease;
  background-color: var(--color-black);
  content: "";
  height: var(--icon-size-large);
  margin-top: calc(var(--icon-size-large) / 2 * -1);
  -webkit-mask: var(--mask-ico-chevron-right);
  mask: var(--mask-ico-chevron-right);
  position: absolute;
  right: 12px;
  top: 50%;
  width: var(--icon-size-large);
}

.s-header-card01:active {
  box-shadow: none;
}

.s-header-card01[target="_blank"]::after {
  -webkit-mask: var(--mask-ico-blank);
  -webkit-mask-size: var(--icon-size-small) auto;
  mask: var(--mask-ico-blank);
  mask-size: var(--icon-size-small) auto;
}

.s-header-card01[href*=".pdf"]::after {
  background: var(--bg-ico-pdf);
  -webkit-mask: none;
  mask: none;
}

@media all and (min-width: 768px), print {
  .s-header-card01 {
    max-width: 384px;
    min-height: 70px;
    padding: 4px calc(8px + var(--icon-size-large) + 17px) 4px 16px;
  }

  .s-header-card01::after {
    right: 12px;
    height: var(--icon-size-small);
    margin-top: calc(var(--icon-size-small) / 2 * -1);
    right: 17px;
    width: var(--icon-size-small);
  }

  .s-header-card01[href*=".pdf"]::after {
    height: var(--icon-size-large);
    margin-top: calc(var(--icon-size-large) / 2 * -1);
    width: var(--icon-size-large);
  }
}

@media all and (min-width: 768px), print {
  .s-header-card01--pc-arrow-lg::after {
    height: var(--icon-size-large);
    margin-top: calc(var(--icon-size-large) / 2 * -1);
    width: var(--icon-size-large);
  }
}

.s-header-card01__ico-document {
  align-items: center;
  display: inline-flex;
  text-align: left;
}

.s-header-card01__ico-document::before {
  background: var(--bg-header-ico-document);
  content: "";
  display: inline-block;
  flex-shrink: 0;
  height: 32px;
  margin-right: 12px;
  width: 32px;
}

.s-header-card01__text-sm {
  font-size: 1.2rem;
}

.s-header-card02 {
  overflow: hidden;
  position: relative;
  background-color: var(--color-white);
  border: 1px solid var(--color-gray02);
  border-radius: 8px;
  box-shadow: var(--box-shadow-type07);
  display: block;
  padding: 20px calc(4px + var(--icon-size-large) + 12px) 20px 20px;
  position: relative;
}

.s-header-card02::before {
  transition: opacity 0.4s 0s ease;
  background-color: var(--color-white);
  bottom: 0;
  content: "";
  left: 0;
  opacity: 0;
  position: absolute;
  pointer-events: none;
  right: 0;
  top: 0;
  z-index: 1;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .s-header-card02:hover::before {
    opacity: var(--opacity-hover-50per);
  }
}

@media (hover: none) {
  .s-header-card02:active::before {
    opacity: var(--opacity-hover-50per);
  }
}

.s-header-card02::after {
  background: var(--bg-ico-chevron-right);
  content: "";
  height: var(--icon-size-large);
  margin-top: calc(var(--icon-size-large) / 2 * -1);
  position: absolute;
  right: 12px;
  top: 50%;
  width: var(--icon-size-large);
}

@media all and (min-width: 768px), print {
  .s-header-card02 {
    padding: 30px calc(4px + var(--icon-size-large) + 16px) 30px 40px;
  }

  .s-header-card02::after {
    right: 16px;
  }
}

.s-header-card02__detail {
  color: var(--color-black);
}

.s-header-card02__title {
  column-gap: var(--spacing-20);
  display: grid;
  grid-template-columns: 76px 1fr;
  place-content: center;
  place-items: center start;
}

@media all and (min-width: 768px), print {
  .s-header-card02__title {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    row-gap: var(--spacing-20);
    place-items: center;
  }
}

.s-header-card02__image {
  aspect-ratio: 1/1;
  display: grid;
  height: var(--icon-size-x-large);
  margin-left: auto;
  place-content: center;
  width: var(--icon-size-x-large);
}

.s-header-card02__image img {
  max-height: 100%;
  object-fit: contain;
}

@media all and (min-width: 768px), print {
  .s-header-card02__image {
    margin-inline: auto;
  }
}

.s-header-card02__heading {
  font-size: 1.6rem;
  font-weight: 700;
}

@media all and (min-width: 768px), print {
  .s-header-card02__heading {
    font-size: 1.4rem;
  }
}

.s-header-quaternary {
  transition: opacity 0.4s 0s ease;
  font-size: var(--note-large);
  line-height: var(--line-height-large);
  align-items: center;
  display: flex;
  opacity: 1;
  width: fit-content;
}
.s-header-quaternary--type01 {
  font-size: 1.6rem;
}
.s-header-quaternary--type02 {
  font-size: 1.8rem;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .s-header-quaternary:hover {
    opacity: var(--opacity-hover-50per);
  }
}

@media (hover: none) {
  .s-header-quaternary:active {
    opacity: var(--opacity-hover-50per);
  }
}

.s-header-quaternary:not(:first-child) {
  margin-top: var(--spacing-28);
}
.s-header-quaternary--type01:not(:first-child) {
  margin-top: var(--spacing-20);
}
.s-header-quaternary--type02:not(:first-child) {
  margin-top: var(--spacing-16);
}
.s-header-quaternary::before {
  background: var(--bg-ico-chevron-round-right);
  content: "";
  display: inline-block;
  flex-shrink: 0;
  height: var(--icon-size-medium);
  margin-right: 8px;
  width: var(--icon-size-medium);
}

.s-header-quaternary:active {
  font-weight: 700;
  opacity: 1 !important;
}

.s-header-quaternary__blank {
  display: inline-block;
  padding-right: calc(var(--icon-size-small) + 8px);
}

.s-header-quaternary__blank::after {
  background: var(--bg-ico-blank);
  content: "";
  display: inline-block;
  height: var(--icon-size-small);
  margin-left: 8px;
  margin-right: calc((var(--icon-size-small) + 8px) * -1);
  width: var(--icon-size-small);
}

.s-header-panel {
  overflow: hidden;
  position: relative;
  background-color: var(--color-white);
  border: 1px solid var(--color-gray02);
  border-radius: 8px;
  box-shadow: var(--box-shadow-type01);
  display: flex;
  overflow: hidden;
}

.s-header-panel::before {
  transition: opacity 0.4s 0s ease;
  background-color: var(--color-white);
  bottom: 0;
  content: "";
  left: 0;
  opacity: 0;
  position: absolute;
  pointer-events: none;
  right: 0;
  top: 0;
  z-index: 1;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .s-header-panel:hover::before {
    opacity: var(--opacity-hover-50per);
  }
}

@media (hover: none) {
  .s-header-panel:active::before {
    opacity: var(--opacity-hover-50per);
  }
}

@media all and (min-width: 768px), print {
  .s-header-grid--pc-has-panel .s-header-panel {
    display: inherit;
    grid-template-rows: inherit;
    grid-row: inherit;
  }
}

.s-header-panel__detail {
  width: 100%;
}

@media all and (min-width: 768px), print {
  .s-header-grid--pc-has-panel .s-header-panel__detail {
    display: inherit;
    grid-template-rows: inherit;
    grid-row: inherit;
  }
}

.s-header-panel__title {
  align-items: center;
  display: flex;
  min-height: 64px;
  padding: 8px calc(16px + var(--icon-size-large) + 24px) 8px 12px;
  position: relative;
}

.s-header-panel__title::after {
  background: var(--bg-ico-chevron-right);
  content: "";
  height: var(--icon-size-large);
  margin-top: calc(var(--icon-size-large) / 2 * -1);
  position: absolute;
  right: 18px;
  top: 50%;
  width: var(--icon-size-large);
}

.s-header-panel__title:only-child {
  height: 100%;
  padding-bottom: 16px;
  padding-top: 16px;
}

.s-header-panel[target="_blank"] .s-header-panel__title::after {
  background: var(--bg-ico-blank);
  height: var(--icon-size-small);
  margin-top: calc(var(--icon-size-small) / 2 * -1);
  width: var(--icon-size-small);
}

.s-header-panel__heading {
  display: inline-block;
  flex-grow: 1;
  font-size: 1.4rem;
  font-weight: 700;
}

.s-header-panel__description {
  border-top: 1px solid var(--color-gray02);
  font-size: 1.2rem;
  padding: 12px 16px;
  text-align: left;
}

.s-header-link {
  font-size: var(--text-large);
  line-height: var(--line-height-large);
  transition: opacity 0.4s 0s ease;
  text-decoration: underline;
  color: var(--color-link-blue);
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .s-header-link:hover {
    opacity: var(--opacity-hover-50per);
    text-decoration: none;
  }
}

@media (hover: none) {
  .s-header-link:active {
    opacity: var(--opacity-hover-50per);
    text-decoration: none;
  }
}

[class^="s-"]>.s-header-link {
  font-size: inherit;
}

.s-header-list {
  display: grid;
  row-gap: var(--spacing-16);
}

@media all and (min-width: 768px), print {
  .s-header-list {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.s-header-list:not(:first-child) {
  margin-top: var(--spacing-32);
}

.s-header-list__item .s-header-list {
  margin-top: var(--spacing-16);
  padding: 0;
}

@media all and (min-width: 768px), print {
  .s-header-list {
    row-gap: var(--spacing-12);
  }

  .s-header-list:not(:first-child) {
    margin-top: var(--spacing-40);
  }

  .s-header-list__item .s-header-list,
  .s-header-list__flex-item .s-header-list {
    margin-top: var(--spacing-20);
  }
}

.s-header-list--fz-ss:not(:first-child),
.s-header-list--fz-sm:not(:first-child),
.s-header-list--fz-sl:not(:first-child) {
  margin-top: var(--spacing-16);
}

@media all and (min-width: 768px), print {

  .s-header-list--fz-ss:not(:first-child),
  .s-header-list--fz-sm:not(:first-child),
  .s-header-list--fz-sl:not(:first-child) {
    margin-top: var(--spacing-12);
  }
}

.s-header-list__item {
  font-size: var(--text-medium);
  line-height: var(--line-height-medium);
  column-gap: var(--spacing-8);
  display: grid;
  grid-template-columns: 1em minmax(0, 1fr);
}

.s-header-list--fz-lg .s-header-list__item {
  font-size: var(--text-large);
  line-height: var(--line-height-large);
}

.s-header-list--fz-sl .s-header-list__item {
  font-size: var(--note-large);
  line-height: var(--line-height-large);
}

.s-header-list--fz-sm .s-header-list__item {
  font-size: var(--note-medium);
  line-height: var(--line-height-large);
}

.s-header-list--fz-ss .s-header-list__item {
  font-size: 1rem;
}

@media all and (min-width: 768px), print {
  .s-header-list__item {
    column-gap: var(--spacing-12);
  }
}

.s-header-list__marker {
  overflow-wrap: normal;
  /* To prevent line breaks depending on the device. */
  white-space: nowrap;
}

.s-header-text {
  font-size: var(--text-medium);
  line-height: var(--line-height-medium);
  font-weight: 700;
}

@media all and (min-width: 768px), print {
  .s-header-text {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.s-header-text:not(:first-child) {
  margin-top: var(--spacing-24);
}

@media not print {
  @media not all and (min-width: 768px) {
    .s-header-only-pc {
      display: none !important;
    }
  }
}

@media all and (min-width: 768px), print {
  .s-header-only-sp {
    display: none !important;
  }
}

/* container area
----------------*/
.s-header-container {
  left: 0;
  position: fixed;
  top: 0;
  transition: transform 600ms;
  width: 100%;
  z-index: var(--z-layer-30);
}

.s-header-container.is-hidden {
  transform: translateY(calc(-100% - 4px));
}

@media all and (min-width: 768px), print {
  .s-header-container {
    position: relative;
    z-index: var(--z-layer-10);
  }
}

/* sub area
----------------*/
.s-header-sub {
  background-color: var(--color-white);
  position: relative;
}

.s-header-sub::after {
  background-color: var(--color-gray02);
  bottom: 0;
  content: "";
  height: 1px;
  position: absolute;
  width: 100%;
}

.s-header-sub__top {
  border-bottom: 4px solid var(--color-mufg-red);
  height: var(--header-sub-top-height);
}

@media all and (min-width: 768px), print {
  .s-header-sub__top {
    border-bottom-width: 6px;
  }
}

.s-header-sub__top-inner {
  height: 100%;
}

@media all and (min-width: 768px), print {
  .s-header-sub__top-inner {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

@media not print {
  @media not all and (min-width: 768px) {
    .s-header-sub__top-inner {
      align-items: center;
      display: flex;
      justify-content: space-between;
      padding: 0 15px 0 5px;
    }
  }
}

.s-header-sub__bottom {
  height: var(--header-sub-bottom-height);
}

.s-header-sub__bottom-inner {
  align-items: center;
  column-gap: var(--spacing-4);
  display: flex;
  justify-content: space-between;
  height: 100%;
  padding: 0 13px;
}

@media all and (min-width: 768px), print {
  .s-header-sub__bottom-inner {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

@media all and (min-width: 768px), print {
  .s-header-sub__bottom-inner {
    padding: 0;
  }
}

.s-header-sub__bottom-category {
  flex-shrink: 0;
}

/* PC Only */
.s-header-sub__bottom-nav {
  margin-left: auto;
}

@media not print {
  @media not all and (min-width: 768px) {
    .s-header-sub__bottom-nav {
      display: none;
    }
  }
}

/* PC Only */
.s-header-sub__bottom-search {
  margin-left: 20px;
}

@media not print {
  @media not all and (min-width: 768px) {
    .s-header-sub__bottom-search {
      display: none;
    }
  }
}

/* logo parts
----------------*/
@media all and (min-width: 768px), print {
  .s-header-logo {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: space-between;
  }
}

/* PC Only */
@media not print {
  @media not all and (min-width: 768px) {

    .s-header-logo__groupid,
    .s-header-logo__siteid {
      display: none;
    }
  }
}

/* SP Only */
@media all and (min-width: 768px), print {
  .s-header-logo__sp-siteid {
    display: none;
  }
}

/* tool parts
----------------*/
/* SP Only */
.s-header-tool {
  align-items: center;
  column-gap: 18px;
  display: grid;
  grid-template-columns: repeat(2, auto);
}

@media all and (min-width: 768px), print {
  .s-header-tool {
    display: none;
  }
}

.s-header-tool__search,
.s-header-tool__menu {
  display: grid;
  font-size: 1rem;
  font-weight: 700;
  place-content: center;
  place-items: center;
}

.s-header-tool__search::before,
.s-header-tool__menu::before {
  content: "";
  display: inline-block;
  height: var(--icon-size-medium);
  width: var(--icon-size-medium);
}

.s-header-tool__search::before {
  background: var(--bg-header-ico-search);
}

.s-header-tool__menu {
  min-width: 3.5em;
}

.s-header-tool__menu::before {
  background: var(--bg-header-ico-menu);
}

.s-header-tool__menu>span:last-child {
  display: none;
}

.s-header-tool__menu[aria-expanded="true"] {
  row-gap: 4px;
}

.s-header-tool__menu[aria-expanded="true"]::before {
  background: var(--bg-ico-close);
  height: var(--icon-size-small);
  width: var(--icon-size-small);
}

.s-header-tool__menu[aria-expanded="true"]>span:first-child {
  display: none;
}

.s-header-tool__menu[aria-expanded="true"]>span:last-child {
  display: block;
}

/* menu dropdown parts
----------------*/
/* SP Only */
.s-header-menu-dropdown {
  display: none;
  height: calc(100dvh - var(--header-sub-top-height));
  left: 0;
  position: fixed;
  top: var(--header-sub-top-height);
  width: 100%;
  z-index: var(--z-layer-30);
}

.s-header-menu-dropdown[aria-hidden="false"] {
  display: block;
}

.s-header-menu-dropdown__body {
  background: var(--color-white);
  max-height: 100%;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.s-header-menu-dropdown__content {
  background-color: var(--color-light-red03);
  padding: 40px var(--content-main-inline-padding);
}

.s-header-menu-dropdown__content--bg-white {
  background-color: var(--color-white);
}

.s-header-menu-dropdown__close {
  background-color: var(--color-gray02);
  column-gap: 10px;
  display: grid;
  font-size: 1.4rem;
  grid-template-columns: repeat(2, auto);
  height: 60px;
  place-content: center;
  place-items: center;
  width: 100%;
}

.s-header-menu-dropdown__close>span {
  background-color: var(--color-white);
  border-radius: 50%;
  display: grid;
  height: 35px;
  place-content: center;
  width: 35px;
}

.s-header-menu-dropdown__close>span::before {
  background-color: var(--color-mufg-red);
  content: "";
  display: inline-block;
  height: var(--icon-size-small);
  -webkit-mask: var(--mask-ico-close);
  mask: var(--mask-ico-close);
  width: var(--icon-size-small);
}

.s-header-menu-dropdown__overlay {
  background-color: var(--overlay-type01);
  height: 100%;
  width: 100%;
}

/* search-sheet parts
----------------*/
/* SP Only */
.s-header-search-sheet {
  background: var(--color-white);
  display: none;
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
}

.s-header-search-sheet.is-active {
  display: block;
}

.s-header-search-sheet__head {
  align-items: center;
  background-color: var(--color-light-red03);
  column-gap: var(--spacing-20);
  display: grid;
  grid-template-columns: 1fr 34px;
  padding: 16px 13px 16px 20px;
}

.s-header-search-sheet__button {
  display: grid;
  font-size: 1rem;
  font-weight: 700;
  place-items: center;
}

.s-header-search-sheet__button::before {
  background: var(--bg-ico-close);
  content: "";
  height: var(--icon-size-small);
  width: var(--icon-size-small);
}

/* search parts
----------------*/
.s-header-search-wrapper {
  position: relative;
}

.s-header-search {
  background-color: var(--color-white);
  border: 1px solid var(--color-gray);
  border-radius: 25px;
  display: block;
  overflow: hidden;
  position: relative;
}

:where(.s-header-search:focus-within) {
  border-radius: 4px;
  outline: var(--color-light-red02) solid 3px;
  outline-offset: 0;
}

@media all and (min-width: 768px), print {
  .s-header-search {
    background-color: var(--color-light-gray01);
    border-radius: 4px;
    width: 150px;
  }
}

.s-header-search__text {
  background-color: transparent;
  border: none;
  display: block;
  font-size: 1.6rem;
  line-height: 1;
  outline: 0;
  padding: 16px 36px 16px 12px;
  width: 100%;
}

@media all and (min-width: 768px), print {
  .s-header-search__text {
    font-size: 1.4rem;
    padding: 8px 8px 8px 27px;
  }
}

.s-header-search__button {
  background: var(--bg-header-ico-search);
  border: none;
  cursor: pointer;
  display: block;
  height: var(--icon-size-small);
  margin-top: calc(var(--icon-size-small) / 2 * -1);
  position: absolute;
  right: 12px;
  text-indent: 100%;
  outline: 0;
  overflow: hidden;
  padding: 0;
  top: 50%;
  white-space: nowrap;
  width: var(--icon-size-small);
}

@media all and (min-width: 768px), print {
  .s-header-search__button {
    left: 8px;
    right: auto;
  }
}

.s-header-search-target {
  /* Dynamic elements generated by 'i-search' */
}

.s-header-search-target .sug_list {
  top: calc(100% + 2px) !important;
  left: 0 !important;
}

/* main area
----------------*/
.s-header-main {
  position: relative;
}

.s-header-main__menu {
  background-color: var(--color-white);
  box-shadow: var(--box-shadow-type08);
  height: var(--header-main-menu-height);
  position: relative;
  /* For box-shadow */
  z-index: 1;
}

@media all and (min-width: 768px), print {
  .s-header-main__menu {
    box-shadow: var(--box-shadow-type06);
  }
}

.s-header-main__menu-inner {
  height: 100%;
  position: relative;
}

.s-header-main__menu-popup {
  left: 0;
  position: absolute;
  top: calc(100% - 21px);
  width: 100%;
  z-index: var(--z-layer-30);
}

@media all and (min-width: 768px), print {
  .s-header-main__menu-inner {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

@media all and (min-width: 768px), print {
  .s-header-main__menu-inner {
    align-items: center;
    display: grid;
    grid-template-columns: max-content minmax(auto, 335px);
    justify-content: space-between;
  }
}

@media all and (min-width: 768px), print {
  .s-header-main__menu-inner--houjin {
    grid-template-columns: max-content minmax(auto, 300px);
  }
}

.s-header-main__dropdown {
  background-color: transparent;
  position: relative;
}

@media all and (min-width: 768px), print {
  .s-header-main__dropdown {
    background-color: var(--color-white);
    box-shadow: var(--box-shadow-type07);
    left: 0;
    position: absolute;
    top: auto;
    width: 100%;
    /* PC Only */
  }

  .s-header-main__dropdown::after {
    background-color: var(--color-gray02);
    bottom: 0;
    content: "";
    height: 1px;
    position: absolute;
    width: 100%;
  }
}

/* information-list01 parts
information-list01 iPC(in Header Sub) and SP are separate codes. j
----------------*/
@media all and (min-width: 768px), print {
  .s-header-information-list01 {
    column-gap: var(--spacing-24);
    display: grid;
    grid-template-columns: repeat(4, max-content);
  }
}

.s-header-information-list01__item:last-child {
  margin-top: 16px;
}

@media not print {
  @media not all and (min-width: 768px) {
    .s-header-information-list01__item:nth-child(2) {
      margin-top: 28px;
      padding-top: 28px;
      position: relative;
    }

    .s-header-information-list01__item:nth-child(2)::before {
      background-color: var(--color-mufg-gray-50per);
      content: "";
      height: 1px;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%;
    }

    .s-header-information-list01__item:nth-child(3) {
      margin-top: 20px;
    }
  }
}

@media all and (min-width: 768px), print {
  .s-header-information-list01__item:last-child {
    border-left: 1px solid var(--color-gray02);
    border-right: 1px solid var(--color-gray02);
    margin-top: 0;
    padding: 0 20px;
  }
}

.s-header-information-list01__link {
  transition: opacity 0.4s 0s ease;
  font-size: 1.4rem;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .s-header-information-list01__link:hover {
    opacity: var(--opacity-hover-50per);
  }
}

@media (hover: none) {
  .s-header-information-list01__link:active {
    opacity: var(--opacity-hover-50per);
  }
}

.s-header-information-list01__link[target="_blank"]::after {
  background: var(--bg-ico-blank);
  content: "";
  display: inline-block;
  height: var(--icon-size-small);
  margin-left: 8px;
  width: var(--icon-size-small);
}

/* SP Only */
.s-header-information-list02 {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  row-gap: var(--spacing-16);
}

.s-header-information-list02__card {
  overflow: hidden;
  position: relative;
  border: 1px solid var(--color-gray02);
  border-radius: 8px;
  box-shadow: var(--box-shadow-type07);
  column-gap: 10px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 20px 16px;
}

.s-header-information-list02__card::before {
  transition: opacity 0.4s 0s ease;
  background-color: var(--color-white);
  bottom: 0;
  content: "";
  left: 0;
  opacity: 0;
  position: absolute;
  pointer-events: none;
  right: 0;
  top: 0;
  z-index: 1;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .s-header-information-list02__card:hover::before {
    opacity: var(--opacity-hover-50per);
  }
}

@media (hover: none) {
  .s-header-information-list02__card:active::before {
    opacity: var(--opacity-hover-50per);
  }
}

.s-header-information-list02__card-text {
  align-items: center;
  display: flex;
  font-size: 1.2rem;
}

.s-header-information-list02__card-text::before {
  background: var(--bg-ico-chevron-round-right);
  content: "";
  display: inline-block;
  flex-shrink: 0;
  height: var(--icon-size-medium);
  margin-right: 8px;
  width: var(--icon-size-medium);
}

/* category area
----------------*/
.s-header-category {
  column-gap: var(--spacing-4);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media not print {
  @media not all and (min-width: 768px) {
    .s-header-category {
      background-color: var(--color-light-gray02);
      border: 1px solid var(--color-mufg-gray-50per);
      border-radius: 9999px;
      padding: 3px 4px;
      width: 120px;
    }
  }
}

@media all and (min-width: 768px), print {
  .s-header-category {
    align-self: flex-end;
    column-gap: var(--spacing-8);
    grid-template-columns: 142px 142px 122px;
  }
}

.s-header-category__link {
  align-items: center;
  background-color: var(--color-light-gray02);
  border-radius: 9999px;
  display: flex;
  font-size: 1.2rem;
  height: 100%;
  justify-content: center;
  min-height: 30px;
  text-align: center;
}

.s-header-category__link.is-current {
  background-color: var(--color-light-red02);
  border: 1px solid var(--color-light-red01);
  font-weight: 700;
}

.s-header-category__link:not(.is-current) {
  transition: opacity 0.4s 0s ease;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .s-header-category__link:not(.is-current):hover {
    opacity: var(--opacity-hover-50per);
  }
}

@media (hover: none) {
  .s-header-category__link:not(.is-current):active {
    opacity: var(--opacity-hover-50per);
  }
}

@media all and (min-width: 768px), print {
  .s-header-category__link {
    border: 1px solid var(--color-mufg-gray-50per);
    border-bottom: none;
    border-radius: 0;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    display: flex;
    font-size: 1.6rem;
    min-height: 50px;
    padding: 4px;
  }

  .s-header-category__link.is-active {
    border: none;
  }
}

.s-header-category__link--fz-small {
  font-size: 1.2rem;
}

/* navigation parts
----------------*/
.s-header-navigation {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media all and (min-width: 768px), print {
  .s-header-navigation {
    grid-template-columns: repeat(5, minmax(0, max-content));
    height: 100%;
  }
}

@media not print {
  @media not all and (min-width: 768px) {
    .s-header-navigation--houjin {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
}

@media not print {
  @media not all and (min-width: 768px) {
    .s-header-navigation--mycounter {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      height: 100%;
    }
  }
}

.s-header-navigation__item {
  position: relative;
}

.s-header-navigation__item+.s-header-navigation__item::before {
  content: "";
  background-color: var(--color-gray02);
  display: block;
  height: 56px;
  left: 0;
  position: absolute;
  top: 9px;
  width: 1px;
}

@media all and (min-width: 768px), print {
  .s-header-navigation__item+.s-header-navigation__item::before {
    height: 30px;
    margin-top: -15px;
    top: 50%;
  }
}

@media all and (min-width: 768px), print {
  .s-header-navigation__item--houjin:last-child::after {
    background-color: var(--color-gray02);
    content: "";
    display: block;
    height: 30px;
    margin-top: -15px;
    position: absolute;
    right: 0;
    top: 50%;
    width: 1px;
  }
}

.s-header-navigation__button {
  transition: opacity 0.4s 0s ease;
  border-bottom: 4px solid transparent;
  display: grid;
  /* To avoid generating line breaks at a screen size of 320px. */
  font-size: clamp(0.8rem, 2.933vw, 1.1rem);
  font-weight: 500;
  height: 100%;
  line-height: 1;
  padding: 7px 2px 5px;
  place-content: start center;
  place-items: start center;
  width: 100%;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .s-header-navigation__button:hover {
    opacity: var(--opacity-hover-50per);
  }
}

@media (hover: none) {
  .s-header-navigation__button:active {
    opacity: var(--opacity-hover-50per);
  }
}

.s-header-navigation__button::before {
  content: "";
  display: inline-block;
  height: var(--icon-size-medium);
  margin: 0 0 5px 0;
  width: var(--icon-size-medium);
}

.s-header-navigation__button[aria-expanded]::after {
  background: var(--bg-ico-chevron-bottom);
  content: "";
  display: inline-block;
  height: var(--icon-size-small);
  margin: 1px 0 0 0;
  /* Match the value of the options in the `animate()` method of the accordion.*/
  transition: transform 0.4s 0s ease;
  width: var(--icon-size-small);
}

.s-header-navigation__button[aria-expanded="true"] {
  border-bottom-color: var(--color-mufg-red);
}

.s-header-navigation__button[aria-expanded="true"]::after {
  transform: rotate(180deg);
}

@media all and (min-width: 768px), print {
  .s-header-navigation__button {
    align-items: center;
    display: flex;
    font-size: 1.5rem;
    font-weight: 400;
    justify-content: center;
    padding: 4px 20px;
    width: fit-content;
  }

  .s-header-navigation__button::before {
    margin: 0 8px 0 0;
  }

  .s-header-navigation__button[aria-expanded]::after {
    margin: 0 0 0 4px;
  }

  .s-header-navigation__item:first-child .s-header-navigation__button {
    padding-left: 0;
  }

  .s-header-navigation__item:not(.s-header-navigation__item--houjin):last-child .s-header-navigation__button {
    padding-right: 0;
  }
}

.s-header-navigation__button--ico-item-service::before {
  background: var(--bg-header-ico-item-service);
}

.s-header-navigation__button--ico-procedure-consultation::before {
  background: var(--bg-header-ico-procedure-consultation);
}

.s-header-navigation__button--ico-question::before {
  background: var(--bg-header-ico-question);
}

.s-header-navigation__button--ico-document::before {
  background: var(--bg-header-ico-document);
}

.s-header-navigation__button--ico-store-atm::before {
  background: var(--bg-header-ico-store-atm);
}

.s-header-navigation__button--ico-personal-information::before {
  background: var(--bg-btn-ico-personal-information);
}

.s-header-navigation__button--ico-mycounter01,
.s-header-navigation__button--ico-mycounter02 {
  padding: 0 2px;
  place-content: center;
}

.s-header-navigation__button--ico-mycounter01::before,
.s-header-navigation__button--ico-mycounter02::before {
  height: 40px;
  margin-bottom: 0;
  width: 40px;
}

.s-header-navigation__button--ico-mycounter01::before {
  background: url("../../../mufg_mycounter/img/ico_reservation.svg");
}

.s-header-navigation__button--ico-mycounter02::before {
  background: url("../../../mufg_mycounter/img/ico_interview.svg");
}

.s-header-navigation__button--ico-mycounter03 {
  padding: 0 2px;
  place-content: end center;
}

.s-header-navigation__button--ico-mycounter03::before {
  content: none;
}

.s-header-navigation__button--ico-mycounter03::after {
  margin-top: 0.6em !important;
}

.s-header-navigation__button--company {
  line-height: 1.5;
}

.s-header-navigation__button--company:before {
  content: none;
}

/* navigation dropdown parts
----------------*/
.s-header-navigation-dropdown {
  display: none;
  height: calc(100dvh - (var(--header-sub-top-height) + var(--header-sub-bottom-height) + var(--header-main-menu-height)));
  overflow: hidden;
}

@media all and (min-width: 768px), print {
  .s-header-navigation-dropdown {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.s-header-navigation-dropdown[aria-hidden="false"] {
  display: block;
}

@media all and (min-width: 768px), print {
  .s-header-navigation-dropdown {
    height: auto;
  }
}

@media not print {
  @media not all and (min-width: 768px) {
    .s-header-navigation-dropdown__container {
      background-color: var(--color-light-red03);
      max-height: 100%;
      overflow-y: auto;
      overscroll-behavior: contain;
    }
  }
}

.s-header-navigation-dropdown__content,
.s-header-tablist__content {
  background-color: var(--color-light-red03);
  padding: 40px var(--content-main-inline-padding);
}

@media all and (min-width: 768px), print {

  .s-header-navigation-dropdown__content,
  .s-header-tablist__content {
    padding: 40px 0;
  }
}

.s-header-navigation-dropdown__content--narrow {
  padding: 12px 15px 30px;
}

@media all and (min-width: 768px), print {
  .s-header-tablist__panel {
    margin-inline: auto;
    max-width: 853px;
  }
}

@media all and (min-width: 768px), print {
  .s-header-navigation-dropdown__box {
    margin-inline: auto;
    max-width: 984px;
  }
}

@media all and (min-width: 768px), print {
  .s-header-navigation-dropdown__box--wide {
    margin-inline: auto;
    max-width: 1120px;
  }
}

.s-header-navigation-dropdown__column01,
.s-header-navigation-dropdown__column02 {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  row-gap: var(--spacing-32);
}

@media all and (min-width: 768px), print {
  .s-header-navigation-dropdown__column01 {
    column-gap: var(--spacing-80);
    grid-template-columns: 352px 1fr;
  }
  .s-header-navigation-dropdown__column02 {
    column-gap: var(--spacing-80);
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.s-header-navigation-dropdown__button-wrap {
  display: block;
}

.s-header-navigation-dropdown__button-wrap:not(:first-child) {
  margin-top: 36px;
}

@media all and (min-width: 768px), print {
  .s-header-navigation-dropdown__button-wrap {
    display: flex;
    justify-content: flex-start;
  }

  .s-header-navigation-dropdown__button-wrap:has(> :nth-child(2)) {
    column-gap: var(--spacing-24);
  }

  .s-header-navigation-dropdown__button-wrap:not(:first-child) {
    margin-top: 32px;
  }
}

@media all and (min-width: 768px), print {
  .s-header-navigation-dropdown__button-wrap--pc-end {
    justify-content: flex-end;
  }
}

.s-header-navigation-dropdown__button-wrap--mt-narrow01:not(:first-child) {
  margin-top: 16px;
}

@media all and (min-width: 768px), print {
  .s-header-navigation-dropdown__button-wrap--mt-narrow01:not(:first-child) {
    margin-top: 12px;
  }
}

.s-header-navigation-dropdown__button01 {
  transition:
    background-color 0.4s 0s ease,
    border-color 0.4s 0s ease,
    color 0.4s 0s ease;
  overflow: hidden;
  position: relative;
  align-items: center;
  background-color: var(--color-white);
  border: 1px solid var(--color-gray02);
  border-radius: 9999px;
  box-shadow: var(--box-shadow-type01);
  color: var(--color-black);
  display: flex;
  font-size: 1.4rem;
  font-weight: 400;
  justify-content: center;
  min-height: 44px;
  position: relative;
  padding: 0 calc(20px + var(--icon-size-large));
  text-align: center;
  text-decoration: none;
  width: 100%;
}

.s-header-navigation-dropdown__button01::before {
  transition: opacity 0.4s 0s ease;
  background-color: var(--color-white);
  bottom: 0;
  content: "";
  left: 0;
  opacity: 0;
  position: absolute;
  pointer-events: none;
  right: 0;
  top: 0;
  z-index: 1;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .s-header-navigation-dropdown__button01:hover::before {
    opacity: var(--opacity-hover-50per);
  }
}

@media (hover: none) {
  .s-header-navigation-dropdown__button01:active::before {
    opacity: var(--opacity-hover-50per);
  }
}

.s-header-navigation-dropdown__button01::after {
  transition: background-color 0.4s 0s ease;
  background-color: var(--color-black);
  content: "";
  display: block;
  height: var(--icon-size-large);
  -webkit-mask: var(--mask-ico-chevron-right);
  mask: var(--mask-ico-chevron-right);
  margin-top: calc(var(--icon-size-large) / 2 * -1);
  position: absolute;
  right: 20px;
  top: 50%;
  width: var(--icon-size-large);
}

.s-header-navigation-dropdown__button01:active {
  box-shadow: none;
}

.s-header-navigation-dropdown__button01[target="_blank"]::after {
  height: var(--icon-size-small);
  -webkit-mask: var(--mask-ico-blank);
  mask: var(--mask-ico-blank);
  margin-top: calc(var(--icon-size-small) / 2 * -1);
  width: var(--icon-size-small);
}

@media not print {
  @media not all and (min-width: 768px) {
    .s-header-navigation-dropdown__button01+.s-header-navigation-dropdown__button01 {
      margin-top: 16px;
    }
  }
}

@media all and (min-width: 768px), print {
  .s-header-navigation-dropdown__button01 {
    max-width: 308px;
    min-height: 47px;
  }
}

/* SP Only */
.s-header-navigation-dropdown__overlay {
  background-color: var(--overlay-type01);
  height: 100%;
  width: 100%;
}

@media all and (min-width: 768px), print {
  .s-header-navigation-dropdown__overlay {
    display: none;
  }
}

.s-header-navigation-dropdown__panel {
  background-color: var(--color-light-red03);
  padding: 12px 15px 32px;
}

@media all and (min-width: 768px), print {
  .s-header-navigation-dropdown__panel {
    padding: 40px;
  }
}

.s-header-navigation-dropdown__close {
  transition: opacity 0.4s 0s ease;
  align-items: center;
  background-color: var(--color-gray02);
  display: flex;
  font-size: 1.4rem;
  height: 60px;
  justify-content: center;
  /* To display the style of "outline". */
  position: relative;
  width: 100%;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .s-header-navigation-dropdown__close:hover {
    opacity: var(--opacity-hover-50per);
  }
}

@media (hover: none) {
  .s-header-navigation-dropdown__close:active {
    opacity: var(--opacity-hover-50per);
  }
}

.s-header-navigation-dropdown__close:focus-visible {
  outline-offset: calc(-1 * var(--outline-width));
}

.s-header-navigation-dropdown__close>span {
  background-color: var(--color-white);
  border-radius: 50%;
  display: grid;
  height: 35px;
  margin-right: 10px;
  place-items: center;
  width: 35px;
}

.s-header-navigation-dropdown__close>span::before {
  background-color: var(--color-mufg-red);
  content: "";
  display: inline-block;
  height: var(--icon-size-small);
  -webkit-mask: var(--mask-ico-close);
  mask: var(--mask-ico-close);
  width: var(--icon-size-small);
}

/* popup parts
----------------*/
.s-header-popup {
  padding-top: 14px;
  position: relative;
}
.s-header-popup::before,
.s-header-popup::after {
  border: solid 0 transparent;
  content: "";
  display: inline-block;
  position: absolute;
  z-index: 1;
}
.s-header-popup::before {
  border-bottom-color: var(--color-light-red02);
  border-width: 0 12px 14px;
  right: 62px;
  top: 0;
}
.s-header-popup::after {
  border-bottom-color: var(--color-light-red03);
  border-width: 0 11px 14px;
  right: 63px;
  top: 1px;
}
.s-header-popup__content {
  background-color: var(--color-light-red03);
  border: solid 1px var(--color-light-red02);
  box-shadow: var(--box-shadow-type02);
  padding: 34px 55px 30px;
}
.s-header-popup__list {
  column-gap: var(--spacing-24);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
:is(.s-header-popup__box01, .s-header-popup__box02) {
  background-color: var(--color-white);
  border-radius: 10px;
  box-shadow: var(--box-shadow-type01);
  height: 232px;
  padding: 19px;
}
.s-header-popup__box01 {
  background-color: var(--color-white);
  display: grid;
  grid-template-rows: auto;
  place-content: center;
  place-items: center;
  row-gap: var(--spacing-16);
}
.s-header-popup__box01-txt {
  font-size: 2rem;
  font-weight: 700;
}
.s-header-popup__box01-btn {
  align-items: center;
  background-color: var(--color-mufg-red);
  border: 2px solid transparent;
  border-radius: 9999px;
  box-shadow: var(--box-shadow-type01);
  color: var(--color-white);
  display: flex;
  font-size: 2rem;
  font-weight: 700;
  height: 70px;
  justify-content: center;
  line-height: 1;
  position: relative;
  padding: 4px;
  text-align: center;
  text-decoration: none;
  transition: all 0.4s 0s ease;
  width: 400px;
}
.s-header-popup__box01-btn::before {
  background-color: var(--color-white);
  content: "";
  flex-shrink: 0;
  height: var(--icon-size-medium);
  margin-right: 4px;
  -webkit-mask: var(--mask-ico-login);
  mask: var(--mask-ico-login);
  transition: background-color 0.4s 0s ease;
  width: var(--icon-size-medium);
}
.s-header-popup__box01-btn:active {
  box-shadow: none;
}
.s-header-popup__box02 {
  background: url("../image/header/header-bg-01-p.png") no-repeat center / 100% auto;
  border: solid 1px var(--color-mufg-red);
}
.s-header-popup__box02-inner {
  background-color: rgb(255 255 255 / 0.9);
  border-radius: 10px;
  box-shadow: var(--box-shadow-type01);
  height: 100%;
  padding: 21px 14px 17px 20px;
  width: 357px;
}
.s-header-popup__box02-block {
  column-gap: 44px;
  display: grid;
  grid-template-columns: minmax(0, auto) 112px;
  place-content: center;
  place-items: center start;
}
.s-header-popup__box02-txt {
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
}
.s-header-popup__box02-txt > span {
  color: #ff0c0c;
  display: inline-block;
}
.s-header-popup__box02-btn {
  align-items: center;
  display: flex;
  font-size: 1.8rem;
  line-height: 1.333;
  margin-top: 16px;
  opacity: 1;
  transition: opacity 0.4s 0s ease;
  width: fit-content;
}
.s-header-popup__box02-btn:active {
  opacity: 1 !important;
}
.s-header-popup__box02-btn::before {
  background: var(--bg-ico-chevron-round-right);
  content: "";
  display: inline-block;
  flex-shrink: 0;
  height: var(--icon-size-large);
  margin-right: 8px;
  width: var(--icon-size-large);
}
.s-header-popup__block {
  column-gap: 8px;
  display: grid;
  grid-template-columns: minmax(0, auto) 325px;
  margin-top: 22px;
}
.s-header-popup__block-detail {
  padding-left: 23px;
}
.s-header-popup__block-ttl {
  font-size: 1.8rem;
  font-weight: 700;
  position: relative;
}
.s-header-popup__block-ttl::before {
  background: url("../image/header/header-ico-information.svg") no-repeat center / contain;
  content: "";
  height: 18px;
  margin-block: auto;
  inset: 0 auto 0 -23px;
  position: absolute;
  width: 18px;
}
.s-header-popup__block-desc {
  font-size: 1.6rem;
  margin-top: 4px;
}
.s-header-popup__block-btn {
  align-items: center;
  background-color: var(--color-white);
  border: solid 1px var(--color-black);
  border-radius: 9999px;
  box-shadow: var(--box-shadow-type01);
  color: var(--color-black);
  display: flex;
  font-size: 1.8rem;
  font-weight: 700;
  height: 60px;
  justify-content: center;
  max-width: 100%;
  overflow: hidden;
  position: relative;
  padding: 0 calc(20px + var(--icon-size-large));
  text-align: center;
  text-decoration: none;
  transition:
    background-color 0.4s 0s ease,
    border-color 0.4s 0s ease,
    color 0.4s 0s ease;
  width: 325px;
}
.s-header-popup__block-btn:active {
  box-shadow: none;
}
.s-header-popup__block-btn::before {
  background-color: var(--color-white);
  content: "";
  inset: 0;
  opacity: 0;
  position: absolute;
  pointer-events: none;
  transition: opacity 0.4s 0s ease;
  z-index: 1;
}
.s-header-popup__block-btn::after {
  transition: background-color 0.4s 0s ease;
  background-color: var(--color-black);
  content: "";
  display: block;
  height: var(--icon-size-large);
  -webkit-mask: var(--mask-ico-chevron-right);
  mask: var(--mask-ico-chevron-right);
  margin-top: calc(var(--icon-size-large) / 2 * -1);
  position: absolute;
  right: 20px;
  top: 50%;
  width: var(--icon-size-large);
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .s-header-popup__box01-btn:hover {
    background-color: var(--color-white);
    border-color: var(--color-mufg-red);
    color: var(--color-black);
  }
  .s-header-popup__box01-btn:hover::before {
    background-color: var(--color-mufg-red);
  }
  .s-header-popup__box02-btn:hover {
    opacity: var(--opacity-hover-50per);
  }
  .s-header-popup__block-btn:hover::before {
    opacity: var(--opacity-hover-50per);
  }
}

/* tablist parts
----------------*/
/* PC Only */
.s-header-tablist {
  display: grid;
  grid-template-columns: 283px 1fr;
}

@media not print {
  @media not all and (min-width: 768px) {
    .s-header-tablist {
      display: none;
    }
  }
}

.s-header-tablist__list {
  /* To display the style of "outline". */
  position: relative;
}

.s-header-tablist__tab {
  transition: opacity 0.4s 0s ease;
  align-items: center;
  background-color: var(--color-white);
  border-left: 10px solid transparent;
  display: flex;
  font-size: 1.6rem;
  font-weight: 700;
  min-height: 80px;
  padding: 20px 16px;
  transition:
    opacity 0.4s 0s ease,
    background-color 0.4s 0s ease,
    border-color 0.4s 0s ease;
  width: 100%;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .s-header-tablist__tab:hover {
    opacity: var(--opacity-hover-50per);
  }
}

@media (hover: none) {
  .s-header-tablist__tab:active {
    opacity: var(--opacity-hover-50per);
  }
}

.s-header-tablist__tab:focus-visible {
  outline-offset: calc(-1 * var(--outline-width));
}

.s-header-tablist__tab::before {
  content: "";
  display: inline-block;
  flex-shrink: 0;
  height: 40px;
  margin-right: 12px;
  width: 40px;
}

.s-header-tablist__tab:not(:first-child) {
  border-top: 1px solid var(--color-gray02);
}

.s-header-tablist__tab[aria-selected="true"] {
  background-color: var(--color-light-red02);
  border-left-color: var(--color-mufg-red);
}

.s-header-tablist__tab:nth-child(1)::before {
  background: var(--bg-btn-ico-operation);
}

.s-header-tablist__tab:nth-child(2)::before {
  background: var(--bg-btn-ico-life-insurance);
}

.s-header-tablist__tab:nth-child(3)::before {
  background: var(--bg-btn-ico-application-procedure);
}

.s-header-tablist__tab:nth-child(4)::before {
  background: var(--bg-btn-ico-real-estate);
}

.s-header-tablist__tab:nth-child(5)::before {
  background: var(--bg-btn-ico-housing-loan);
}

.s-header-tablist__tab:nth-child(6)::before {
  background: var(--bg-btn-ico-application);
}

.s-header-tablist__tab:nth-child(7)::before {
  background: var(--bg-btn-ico-member-service);
}

.s-header-tablist__tab--houjin:nth-child(2)::before {
  background: var(--bg-btn-ico-hr-solutions);
}

.s-header-tablist__tab--houjin:nth-child(3)::before {
  background: var(--bg-btn-ico-transfer-agent);
}

.s-header-tablist__tab--houjin:nth-child(4)::before {
  background: var(--bg-btn-ico-real-estate-business);
}

.s-header-tablist__tab--houjin:nth-child(5)::before {
  background: var(--bg-btn-ico-accumulate);
}

.s-header-tablist__tab--houjin:nth-child(6)::before {
  background: var(--bg-btn-ico-web-system-shares);
}

/* accordion parts
----------------*/
/* SP Only */
.s-header-accordion:not(:first-child) {
  border-top: 1px solid var(--color-gray02);
}

.s-header-accordion__summary {
  transition:
    background-color 0.4s 0s ease,
    border-color 0.4s 0s ease;
  align-items: center;
  display: flex;
  background-color: var(--color-white);
  border-left: 4px solid transparent;
  font-size: 1.5rem;
  font-weight: 700;
  min-height: 58px;
  padding: 8px 44px 8px 20px;
  position: relative;
}

.s-header-accordion__summary::before {
  content: "";
  display: inline-block;
  flex-shrink: 0;
  height: 40px;
  margin-right: 12px;
  width: 40px;
}

.s-header-accordion__summary::after {
  /* Match the value of the options in the `animate()` method of the accordion.*/
  transition: transform 0.4s 0s ease;
  background: var(--bg-ico-chevron-bottom);
  content: "";
  height: var(--icon-size-large);
  margin-top: calc(var(--icon-size-large) / 2 * -1);
  position: absolute;
  right: 16px;
  top: 50%;
  /* Match the value of the options in the `animate()` method of the accordion.*/
  transition: transform 0.4s 0s ease;
  width: var(--icon-size-large);
}

.s-header-accordion__summary.is-opened {
  background-color: var(--color-light-red02);
  border-left-color: var(--color-mufg-red);
}

.s-header-accordion__summary.is-opened::after {
  transform: rotate(180deg);
}

.s-header-accordion:nth-child(1) .s-header-accordion__summary::before {
  background: var(--bg-btn-ico-operation);
}

.s-header-accordion:nth-child(2) .s-header-accordion__summary::before {
  background: var(--bg-btn-ico-life-insurance);
}

.s-header-accordion--houjin:nth-child(2) .s-header-accordion__summary::before {
  background: var(--bg-btn-ico-hr-solutions);
}

.s-header-accordion:nth-child(3) .s-header-accordion__summary::before {
  background: var(--bg-btn-ico-application-procedure);
}

.s-header-accordion--houjin:nth-child(3) .s-header-accordion__summary::before {
  background: var(--bg-btn-ico-transfer-agent);
}

.s-header-accordion:nth-child(4) .s-header-accordion__summary::before {
  background: var(--bg-btn-ico-real-estate);
}

.s-header-accordion--houjin:nth-child(4) .s-header-accordion__summary::before {
  background: var(--bg-btn-ico-real-estate-business);
}

.s-header-accordion:nth-child(5) .s-header-accordion__summary::before {
  background: var(--bg-btn-ico-housing-loan);
}

.s-header-accordion--houjin:nth-child(5) .s-header-accordion__summary::before {
  background: var(--bg-btn-ico-accumulate);
}

.s-header-accordion:nth-child(6) .s-header-accordion__summary::before {
  background: var(--bg-btn-ico-application);
}

.s-header-accordion--houjin:nth-child(6) .s-header-accordion__summary::before {
  background: var(--bg-btn-ico-web-system-shares);
}

.s-header-accordion:nth-child(7) .s-header-accordion__summary::before {
  background: var(--bg-btn-ico-member-service);
}

.s-header-accordion__body {
  background-color: var(--color-white);
  overflow: hidden;
  /* Do not style `padding` on this element for safari behaviour. */
}

.s-header-accordion__content {
  padding: 32px 20px;
}

/* navigation detail parts
----------------*/
.s-header-navigation-detail {
  display: grid;
  row-gap: var(--spacing-32);
}

.s-header-navigation-detail:not(:first-child) {
  margin-top: 32px;
}

.s-header-navigation-detail--mt8:not(:first-child) {
  margin-top: 8px;
}

.s-header-navigation-detail__title {
  font-size: var(--text-x-large);
  font-weight: 700;
  line-height: var(--line-height-medium);
}

.s-header-navigation-detail__title--fz-medium {
  font-size: 1.6rem;
  font-weight: 500;
}

.s-header-navigation-detail__title-note {
  font-size: 1.6rem;
  font-weight: 400;
}

.s-header-navigation-detail__description:not(:first-child) {
  margin-top: 12px;
}

.s-header-navigation-detail__description--mt-large:not(:first-child) {
  margin-top: 24px;
}

/* grid parts
----------------*/
.s-header-grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  row-gap: var(--spacing-16);
}

.s-header-grid+.s-header-grid {
  margin-top: 12px;
}

@media all and (min-width: 768px), print {
  .s-header-grid {
    column-gap: var(--spacing-20);
    grid-template-columns: repeat(3, 1fr);
    row-gap: var(--spacing-12);
  }
}

@media all and (min-width: 768px), print {
  .s-header-grid--cols2 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media all and (min-width: 768px), print {
  .s-header-grid--cols4 {
    grid-template-columns: repeat(4, 1fr);
  }
}

.s-header-grid--mt-l {
  margin-top: 20px;
}

@media all and (min-width: 768px), print {
  .s-header-grid--mt-l:not(:first-child) {
    margin-top: 32px;
  }
}

.s-header-grid--category {
  row-gap: var(--spacing-28);
}

@media all and (min-width: 768px), print {
  .s-header-grid--category {
    row-gap: var(--spacing-24);
  }
}

@media all and (min-width: 768px), print {
  .s-header-grid--pc-has1child .s-header-grid__item {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 1;
    row-gap: 0;
  }

  .s-header-grid--category .s-header-grid__item {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 1;
    row-gap: 0;
  }

  .s-header-grid--category .s-header-grid__item:nth-child(-n + 3) {
    grid-row: span 3;
  }

  .s-header-grid--pc-has-panel .s-header-grid__item {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
    row-gap: 0;
  }

  @supports not (grid-template-columns: subgrid) {
    :is(.s-header-grid--pc-has1child, .s-header-grid--category, .s-header-grid--pc-has-panel) .s-header-grid__item {
      display: block;
      grid-row: unset;
    }
  }
}

.s-header-grid__link {
  font-size: var(--note-large);
  line-height: var(--line-height-large);
}

.s-header-grid__link:not(:first-child) {
  margin-top: 16px;
}

@media all and (min-width: 768px), print {
  .s-header-grid__link:not(:first-child) {
    margin-top: 12px;
  }
}

/*------------------------------
  Header Simple
--------------------------------*/
.s-header-simple {
  border-bottom: 6px solid var(--color-mufg-red);
  box-shadow: var(--box-shadow-type01);
  display: flex;
  height: 100%;
}

@media all and (min-width: 768px), print {
  .s-header-simple {
    border-bottom-width: 4px;
  }
}

.s-header-simple__inner {
  align-items: center;
  display: flex;
  justify-content: center;
  flex-grow: 1;
}

@media all and (min-width: 768px), print {
  .s-header-simple__inner {
    margin-inline: auto;
    max-width: 1213px;
    width: 100%;
  }
}

@media all and (min-width: 768px), print {
  .s-header-simple__inner {
    justify-content: space-between;
  }
}

@media not print {
  @media not all and (min-width: 768px) {
    .s-header-simple__groupid {
      display: none;
    }
  }
}

@media not print {
  @media not all and (min-width: 768px) {
    .s-header-simple__siteid {
      display: none;
    }
  }
}

@media all and (min-width: 768px), print {
  .s-header-simple__sp-siteid {
    display: none;
  }
}

/*==========================================
  S-Main Style
=============================================*/
.s-main {
  overflow: hidden;
  position: relative;
}

.s-main__inner {
  padding: 0 var(--content-main-inline-padding);
}

@media all and (min-width: 768px), print {
  .s-main__inner {
    padding: 0;
  }
}

/*==========================================
  S-Modal Style
=============================================*/
.s-modal-request {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  row-gap: var(--spacing-20);
}

@media all and (min-width: 768px), print {
  .s-modal-request {
    column-gap: var(--spacing-32);
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.s-modal-request__card {
  overflow: hidden;
  position: relative;
  background-color: var(--color-white);
  border: 1px solid var(--color-gray02);
  border-radius: 8px;
  box-shadow: var(--box-shadow-type06);
  column-gap: var(--spacing-32);
  display: flex;
  padding: 30px 8px 20px;
}

.s-modal-request__card::before {
  transition: opacity 0.4s 0s ease;
  background-color: var(--color-white);
  bottom: 0;
  content: "";
  left: 0;
  opacity: 0;
  position: absolute;
  pointer-events: none;
  right: 0;
  top: 0;
  z-index: 1;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .s-modal-request__card:hover::before {
    opacity: var(--opacity-hover-50per);
  }
}

@media (hover: none) {
  .s-modal-request__card:active::before {
    opacity: var(--opacity-hover-50per);
  }
}

.s-modal-request__card[target="_blank"] {
  position: relative;
}

.s-modal-request__card[target="_blank"]::after {
  background: var(--bg-ico-blank);
  content: "";
  display: block;
  height: var(--icon-size-small);
  margin-top: calc(var(--icon-size-small) / 2 * -1);
  position: absolute;
  right: 24px;
  top: 50%;
  width: var(--icon-size-small);
}

@media not print {
  @media not all and (min-width: 768px) {
    .s-modal-request__card {
      flex-wrap: wrap;
      justify-content: center;
    }

    .s-modal-request__card[target="_blank"]::after {
      right: 20px;
    }
  }
}

@media all and (min-width: 768px), print {
  .s-modal-request__card {
    display: grid;
    padding: 30px 8px;
    place-content: center;
    place-items: center;
  }
}

.s-modal-request__emphasis {
  font-size: 2.4rem;
  font-weight: 700;
}

.s-modal-request__emphasis span {
  font-size: 2rem;
}

@media not print {
  @media not all and (min-width: 768px) {
    .s-modal-request__emphasis {
      margin-right: 16px;
      order: 1;
    }

    .s-modal-request__card--pdf .s-modal-request__emphasis {
      align-self: center;
    }

    .s-modal-request__card--mail .s-modal-request__emphasis {
      align-self: center;
    }
  }
}

@media not print {
  @media not all and (min-width: 768px) {
    .s-modal-request__image img {
      flex-shrink: 0;
      order: 0;
    }
  }
}

@media all and (min-width: 768px), print {
  .s-modal-request__image {
    margin-top: 11px;
    padding: 0 calc(24px + var(--icon-size-small));
  }
}

.s-modal-request__text {
  font-size: var(--note-large);
  line-height: var(--line-height-large);
  text-align: center;
}

@media not print {
  @media not all and (min-width: 768px) {
    .s-modal-request__text {
      order: 2;
      width: 100%;
    }

    .s-modal-request__card--pdf .s-modal-request__text {
      margin-top: 8px;
    }

    .s-modal-request__card--mail .s-modal-request__text {
      margin-top: 21px;
    }
  }
}

@media all and (min-width: 768px), print {
  .s-modal-request__text {
    margin-top: 12px;
  }
}

/*==========================================
  Modules Style
=============================================*/
/*------------------------------
  Accordion
--------------------------------*/
/* Accordion Layout
----------------*/
@media all and (min-width: 768px), print {
  .c-accordion-layout {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-accordion-layout:not(:first-child) {
  margin-top: var(--spacing-48);
}

.c-accordion-layout:has(> .c-accordion-simple):not(:first-child) {
  margin-top: var(--spacing-40);
}

@media all and (min-width: 768px), print {
  .c-accordion-layout--w1000 {
    margin-inline: auto;
    max-width: var(--content-sub-1000w);
    width: 100%;
  }
}

/* Accordion
----------------*/
.c-accordion {
  background-color: var(--color-white);
  border: 1px solid var(--color-gray02);
  border-radius: 8px;
  box-shadow: var(--box-shadow-type03);
}

.c-accordion+.c-accordion {
  margin-top: var(--spacing-12);
}

.c-accordion__summary,
.c-accordion__content {
  padding: 20px 15px 20px 20px;
}

@media all and (min-width: 768px), print {

  .c-accordion__summary,
  .c-accordion__content {
    padding: 20px 30px;
  }
}

.c-accordion__content:has(.c-set-list01) {
  padding: 20px;
}

@media all and (min-width: 768px), print {
  .c-accordion__content:has(.c-set-list01) {
    padding: 20px 30px;
  }
}

.c-accordion__summary {
  align-items: center;
  display: flex;
  font-size: 1.4rem;
  padding-right: calc(20px + var(--icon-size-large) + 15px);
  position: relative;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-accordion__summary:hover {
    cursor: pointer;
    opacity: var(--opacity-hover-50per);
  }
}

.c-accordion__summary::after {
  /* Match the value of the options in the `animate()` method of the accordion.*/
  transition: transform 0.4s 0s ease;
  background: var(--bg-ico-chevron-bottom);
  content: "";
  height: var(--icon-size-large);
  margin-top: calc(var(--icon-size-large) / 2 * -1);
  position: absolute;
  right: 15px;
  top: 50%;
  width: var(--icon-size-large);
}

.c-accordion__summary.is-opened::after {
  transform: rotate(180deg);
}

@media all and (min-width: 768px), print {
  .c-accordion__summary {
    font-size: 1.8rem;
    padding-right: calc(40px + var(--icon-size-large) + 30px);
  }

  .c-accordion__summary::after {
    right: 30px;
  }
}

.c-accordion__body {
  border-top: 1px solid var(--color-gray02);
  overflow: hidden;
}

.c-accordion__prefix {
  flex-shrink: 0;
  font-size: 2.4rem;
  font-weight: 700;
  margin-right: 10px;
}

.c-accordion__summary .c-accordion__prefix {
  color: var(--color-mufg-red);
}

.c-accordion__content .c-accordion__prefix {
  align-self: flex-start;
}

.c-accordion__prefix+* {
  /* To make the outline style visible on the focus element of a child element. */
  margin-top: calc(-1 * var(--outline-width));
  padding-top: var(--outline-width);
  /* In case a child element has a minimum width like the `data-module="scroll-hint"` module. */
  overflow: hidden;
}

@media all and (min-width: 768px), print {
  .c-accordion__prefix {
    margin-right: var(--spacing-20);
  }
}

.c-accordion__button {
  font-size: var(--text-medium);
  line-height: var(--line-height-medium);
  align-items: center;
  background-color: var(--color-white);
  border: 1px solid var(--color-black);
  border-radius: 20px;
  display: flex;
  height: 40px;
  justify-content: center;
  margin: 16px auto 0;
  padding: 8px;
  width: 110px;
}

.c-accordion__button::before {
  background: var(--bg-ico-close);
  content: "";
  display: inline-block;
  height: var(--icon-size-small);
  margin-right: 8px;
  width: var(--icon-size-small);
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-accordion__button:hover {
    opacity: var(--opacity-hover-50per);
  }
}

@media all and (min-width: 768px), print {
  .c-accordion__button {
    width: 120px;
  }
}

/* Accordion Simple
----------------*/
.c-accordion-simple {
  background-color: var(--color-white);
}

.c-accordion-simple+.c-accordion-simple {
  margin-top: var(--spacing-12);
}

.c-accordion-simple__summary {
  align-items: center;
  display: flex;
  font-size: 1.4rem;
  padding: 20px 15px 20px 20px;
  position: relative;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-accordion-simple__summary:hover {
    cursor: pointer;
    opacity: var(--opacity-hover-50per);
  }
}

.c-accordion-simple__summary::before {
  /* Match the value of the options in the `animate()` method of the accordion.*/
  transition: transform 0.4s 0s ease;
  background: var(--bg-ico-chevron-bottom);
  content: "";
  height: var(--icon-size-large);
  margin-top: calc(var(--icon-size-large) / 2 * -1);
  position: absolute;
  left: 0;
  top: 50%;
  width: var(--icon-size-large);
}

.c-accordion-simple__summary.is-opened::before {
  transform: rotate(180deg);
}

@media all and (min-width: 768px), print {
  .c-accordion-simple__summary {
    font-size: 1.8rem;
    padding: 0 30px;
  }

  .c-accordion-simple__summary.is-opened {
    padding: 0 30px 20px;
  }

  .c-accordion-simple__summary.is-opened:before {
    top: calc(50% - 10px);
  }
}

.c-accordion-simple__body {
  overflow: hidden;
}

.c-accordion-simple__content {
  padding: 0 15px 0 20px;
}

@media all and (min-width: 768px), print {
  .c-accordion-simple__content {
    padding: 0 30px;
  }
}

/*------------------------------
  Anchor
--------------------------------*/
.c-anchor {
  display: flex;
  justify-content: center;
}

@media all and (min-width: 768px), print {
  .c-anchor {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-anchor:not(:first-child) {
  margin-top: var(--spacing-32);
}

@media all and (min-width: 768px), print {
  .c-anchor:not(:first-child) {
    margin-top: var(--spacing-40);
  }
}

:is(.c-anchor__list, .c-anchor__column-list) {
  display: grid;
  overflow: hidden;
  width: 100%;
}

.c-anchor__column-list--3col2col {
  grid-template-columns: repeat(2, 1fr);
}


@media not print {
  @media not all and (min-width: 768px) {
    .c-anchor__list {
      border: solid 1px var(--color-gray02);
      border-radius: 8px;
    }

    .c-anchor__list--sp-2col {
      border: none;
      border-radius: 0;
      grid-template-columns: repeat(2, 1fr);
    }
  }
}

@media all and (min-width: 768px), print {
  .c-anchor__list {
    grid-template-columns: repeat(4, 1fr);
  }

  :where(.c-anchor__list, .c-anchor__column-list):not(:first-child) {
    margin-top: var(--spacing-80);
  }

  .c-anchor__list:has(> :nth-child(1):last-child) {
    grid-template-columns: repeat(1, 1fr);
    max-width: 600px;
    width: 100%;
  }

  .c-anchor__list:has(> :nth-child(2):last-child) {
    grid-template-columns: repeat(2, 1fr);
  }

  .c-anchor__list:has(> :nth-child(3):last-child) {
    grid-template-columns: repeat(3, 1fr);
  }

  .c-anchor__column-list--3col2col {
    grid-template-columns: repeat(3, 1fr);
  }
}

.c-anchor__item {
  transition: background-color 0.4s 0s ease;
  position: relative;
}

.c-anchor__item:before,
.c-anchor__item:after {
  pointer-events: none;
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-anchor__item:not(:first-child):before {
      background-color: var(--color-gray02);
      content: "";
      display: block;
      height: 1px;
      margin-inline: auto;
      width: calc(100% - 40px);
    }

    :is(.c-anchor__column-list--3col2col, .c-anchor__list--sp-2col) .c-anchor__item:before {
      position: relative;
      top: -1px;
      width: calc(100% - 20px);
    }

    :is(.c-anchor__column-list--3col2col, .c-anchor__list--sp-2col) .c-anchor__item:nth-child(odd) {
      border-left: solid 1px var(--color-gray02);
    }

    :is(.c-anchor__column-list--3col2col, .c-anchor__list--sp-2col) .c-anchor__item:nth-child(odd):only-child {
      border-top-right-radius: 8px;
    }

    :is(.c-anchor__column-list--3col2col, .c-anchor__list--sp-2col) .c-anchor__item:nth-child(odd)::before {
      margin-right: 0;
    }

    :is(.c-anchor__column-list--3col2col, .c-anchor__list--sp-2col) .c-anchor__item:nth-child(odd):last-child {
      border-right: solid 1px var(--color-gray02);
      border-bottom-right-radius: 8px;
    }

    :is(.c-anchor__column-list--3col2col, .c-anchor__list--sp-2col) .c-anchor__item:nth-child(odd):nth-last-child(-n + 2) {
      border-bottom: solid 1px var(--color-gray02);
      border-bottom-left-radius: 8px;
    }

    :is(.c-anchor__column-list--3col2col, .c-anchor__list--sp-2col) .c-anchor__item:nth-child(even) {
      border-right: solid 1px var(--color-gray02);
    }

    :is(.c-anchor__column-list--3col2col, .c-anchor__list--sp-2col) .c-anchor__item:nth-child(even)::before {
      margin-left: 0;
    }

    :is(.c-anchor__column-list--3col2col, .c-anchor__list--sp-2col) .c-anchor__item:nth-child(even)::after {
      background-color: var(--color-gray02);
      content: "";
      display: block;
      height: 100%;
      inset: 0 auto 0 -1px;
      margin-block: auto;
      position: absolute;
      width: 1px;
    }

    :is(.c-anchor__column-list--3col2col, .c-anchor__list--sp-2col) .c-anchor__item:nth-child(even):nth-last-child(-n + 2) {
      border-bottom: solid 1px var(--color-gray02);
      border-bottom-right-radius: 8px;
    }

    :is(.c-anchor__column-list--3col2col, .c-anchor__list--sp-2col) .c-anchor__item:nth-child(-n + 2) {
      border-top: solid 1px var(--color-gray02);
    }

    :is(.c-anchor__column-list--3col2col, .c-anchor__list--sp-2col) .c-anchor__item:nth-child(-n + 2)::before {
      content: none;
    }

    :is(.c-anchor__column-list--3col2col, .c-anchor__list--sp-2col) .c-anchor__item:nth-child(-n + 2):first-child {
      border-top-left-radius: 8px;
    }

    :is(.c-anchor__column-list--3col2col, .c-anchor__list--sp-2col) .c-anchor__item:nth-child(-n + 2):nth-child(2) {
      border-top-right-radius: 8px;
    }

    :is(.c-anchor__column-list--3col2col, .c-anchor__list--sp-2col):has(> .c-anchor__item:nth-child(3)) .c-anchor__item::after {
      height: calc(100% - 20px);
    }

    :is(.c-anchor__column-list--3col2col, .c-anchor__list--sp-2col):has(> .c-anchor__item:nth-child(3)) .c-anchor__item:nth-child(-n + 2)::after {
      bottom: 0;
      top: auto;
    }

    :is(.c-anchor__column-list--3col2col, .c-anchor__list--sp-2col):has(> .c-anchor__item:nth-child(3)) .c-anchor__item:nth-child(n + 3)::after {
      bottom: auto;
      top: 0;
    }

    :is(.c-anchor__column-list--3col2col, .c-anchor__list--sp-2col):has(> .c-anchor__item:nth-child(3)) .c-anchor__item:nth-child(n + 3):not(:last-child)::after {
      height: 100%;
    }
  }
}

@media all and (min-width: 768px), print {
  .c-anchor__item {
    overflow: hidden;
  }

  .c-anchor__list:has(> :nth-child(1):last-child) .c-anchor__item {
    border: solid 1px var(--color-gray02);
    border-radius: 8px;
  }

  .c-anchor__list:has(> :nth-child(2):last-child) .c-anchor__item {
    border-bottom: solid 1px var(--color-gray02);
    border-top: solid 1px var(--color-gray02);
  }

  .c-anchor__list:has(> :nth-child(2):last-child) .c-anchor__item:first-child {
    border-left: solid 1px var(--color-gray02);
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
  }

  .c-anchor__list:has(> :nth-child(2):last-child) .c-anchor__item:first-child:before {
    border-right: solid 1px var(--color-gray02);
    content: "";
    display: block;
    height: calc(100% - 30px);
    position: absolute;
    top: 50%;
    translate: 0 -50%;
    right: 0;
    width: 100%;
  }

  .c-anchor__list:has(> :nth-child(2):last-child) .c-anchor__item:last-child {
    border-right: solid 1px var(--color-gray02);
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
  }

  .c-anchor__list:has(> :nth-child(3):last-child) .c-anchor__item,
  .c-anchor__list:has(> :nth-child(4):last-child) .c-anchor__item {
    border-bottom: solid 1px var(--color-gray02);
    border-top: solid 1px var(--color-gray02);
  }

  .c-anchor__list:has(> :nth-child(3):last-child) .c-anchor__item:first-child,
  .c-anchor__list:has(> :nth-child(4):last-child) .c-anchor__item:first-child {
    border-left: solid 1px var(--color-gray02);
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
  }

  .c-anchor__list:has(> :nth-child(3):last-child) .c-anchor__item:last-child,
  .c-anchor__list:has(> :nth-child(4):last-child) .c-anchor__item:last-child {
    border-right: solid 1px var(--color-gray02);
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
  }

  .c-anchor__list:has(> :nth-child(3):last-child) .c-anchor__item:before,
  .c-anchor__list:has(> :nth-child(4):last-child) .c-anchor__item:before {
    border-right: solid 1px var(--color-gray02);
    content: "";
    display: block;
    height: calc(100% - 30px);
    position: absolute;
    top: 50%;
    translate: 0 -50%;
    right: 0;
    width: 100%;
  }

  .c-anchor__list:has(> :nth-child(3):last-child) .c-anchor__item:last-child:before,
  .c-anchor__list:has(> :nth-child(4):last-child) .c-anchor__item:last-child:before {
    content: none;
  }

  .c-anchor__list:has(> :nth-child(5)):has(> :nth-child(-n + 8):last-child) .c-anchor__item:nth-child(-n + 4) {
    border-top: solid 1px var(--color-gray02);
  }

  .c-anchor__list:has(> :nth-child(5)):has(> :nth-child(-n + 8):last-child) .c-anchor__item:nth-child(n + 5) {
    border-bottom: solid 1px var(--color-gray02);
  }

  .c-anchor__list:has(> :nth-child(5)):has(> :nth-child(-n + 8):last-child) .c-anchor__item:nth-child(1) {
    border-left: solid 1px var(--color-gray02);
    border-top-left-radius: 8px;
  }

  .c-anchor__list:has(> :nth-child(5)):has(> :nth-child(-n + 8):last-child) .c-anchor__item:nth-child(4) {
    border-right: solid 1px var(--color-gray02);
    border-top-right-radius: 8px;
  }

  .c-anchor__list:has(> :nth-child(5)):has(> :nth-child(-n + 8):last-child) .c-anchor__item:nth-child(5) {
    border-left: solid 1px var(--color-gray02);
    border-bottom-left-radius: 8px;
  }

  .c-anchor__list:has(> :nth-child(5)):has(> :nth-child(-n + 8):last-child) .c-anchor__item:last-child,
  .c-anchor__list:has(> :nth-child(5)):has(> :nth-child(-n + 8):last-child) .c-anchor__item:nth-child(8) {
    border-right: solid 1px var(--color-gray02);
    border-bottom-right-radius: 8px;
  }

  .c-anchor__list:has(> :nth-child(5)):has(> :nth-child(-n + 8):last-child) .c-anchor__item:nth-child(n + 1):before {
    border-right: solid 1px var(--color-gray02);
    bottom: -1px;
    content: "";
    display: block;
    height: calc(100% - 16px);
    position: absolute;
    right: 0;
    width: 100%;
  }

  .c-anchor__list:has(> :nth-child(5)):has(> :nth-child(-n + 8):last-child) .c-anchor__item:nth-child(n + 5):before {
    border-right: solid 1px var(--color-gray02);
    content: "";
    display: block;
    height: calc(100% - 16px);
    position: absolute;
    top: -1px;
    right: 0;
    width: 100%;
  }

  .c-anchor__list:has(> :nth-child(5)):has(> :nth-child(-n + 8):last-child) .c-anchor__item:last-child:before,
  .c-anchor__list:has(> :nth-child(5)):has(> :nth-child(-n + 8):last-child) .c-anchor__item:nth-child(4n):before {
    content: none;
  }

  .c-anchor__list:has(> :nth-child(5)):has(> :nth-child(-n + 8):last-child) .c-anchor__item:nth-child(-n + 4):after {
    border-bottom: solid 1px var(--color-gray02);
    content: "";
    display: block;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
  }

  .c-anchor__list:has(> :nth-child(5)):has(> :nth-child(-n + 8):last-child) .c-anchor__item:nth-child(1):after {
    left: auto;
    right: 0;
    width: calc(100% - 15px);
  }

  .c-anchor__list:has(> :nth-child(5)):has(> :nth-child(-n + 8):last-child) .c-anchor__item:nth-child(4):after {
    width: calc(100% - 15px);
  }

  .c-anchor__list:has(> :nth-child(5)):has(> :nth-child(-n + 7):last-child) .c-anchor__item:nth-child(4):after {
    width: 100%;
  }

  .c-anchor__list:has(> :nth-child(9)):has(> :nth-child(-n + 12):last-child) .c-anchor__item:nth-child(-n + 4) {
    border-top: solid 1px var(--color-gray02);
  }

  .c-anchor__list:has(> :nth-child(9)):has(> :nth-child(-n + 12):last-child) .c-anchor__item:nth-child(n + 9) {
    border-bottom: solid 1px var(--color-gray02);
  }

  .c-anchor__list:has(> :nth-child(9)):has(> :nth-child(-n + 12):last-child) .c-anchor__item:nth-child(1) {
    border-left: solid 1px var(--color-gray02);
    border-top-left-radius: 8px;
  }

  .c-anchor__list:has(> :nth-child(9)):has(> :nth-child(-n + 12):last-child) .c-anchor__item:nth-child(4) {
    border-right: solid 1px var(--color-gray02);
    border-top-right-radius: 8px;
  }

  .c-anchor__list:has(> :nth-child(9)):has(> :nth-child(-n + 12):last-child) .c-anchor__item:nth-child(5) {
    border-left: solid 1px var(--color-gray02);
  }

  .c-anchor__list:has(> :nth-child(9)):has(> :nth-child(-n + 12):last-child) .c-anchor__item:nth-child(8) {
    border-right: solid 1px var(--color-gray02);
  }

  .c-anchor__list:has(> :nth-child(9)):has(> :nth-child(-n + 12):last-child) .c-anchor__item:nth-child(9) {
    border-left: solid 1px var(--color-gray02);
    border-bottom-left-radius: 8px;
  }

  .c-anchor__list:has(> :nth-child(9)):has(> :nth-child(-n + 12):last-child) .c-anchor__item:last-child,
  .c-anchor__list:has(> :nth-child(9)):has(> :nth-child(-n + 12):last-child) .c-anchor__item:nth-child(12) {
    border-right: solid 1px var(--color-gray02);
    border-bottom-right-radius: 8px;
  }

  .c-anchor__list:has(> :nth-child(9)):has(> :nth-child(-n + 12):last-child) .c-anchor__item:nth-child(n + 1):before {
    border-right: solid 1px var(--color-gray02);
    bottom: -1px;
    content: "";
    display: block;
    height: calc(100% - 16px);
    position: absolute;
    right: 0;
    width: 100%;
  }

  .c-anchor__list:has(> :nth-child(9)):has(> :nth-child(-n + 12):last-child) .c-anchor__item:nth-child(n + 5):nth-child(-n + 7):before {
    border-right: solid 1px var(--color-gray02);
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    top: -1px;
    right: 0;
    width: 100%;
  }

  .c-anchor__list:has(> :nth-child(9)):has(> :nth-child(-n + 12):last-child) .c-anchor__item:nth-child(n + 9):before {
    border-right: solid 1px var(--color-gray02);
    content: "";
    display: block;
    height: calc(100% - 16px);
    position: absolute;
    top: -1px;
    right: 0;
    width: 100%;
  }

  .c-anchor__list:has(> :nth-child(9)):has(> :nth-child(-n + 12):last-child) .c-anchor__item:last-child:before,
  .c-anchor__list:has(> :nth-child(9)):has(> :nth-child(-n + 12):last-child) .c-anchor__item:nth-child(4n):before {
    content: none;
  }

  .c-anchor__list:has(> :nth-child(9)):has(> :nth-child(-n + 12):last-child) .c-anchor__item:nth-child(-n + 8):after {
    border-bottom: solid 1px var(--color-gray02);
    bottom: 0;
    content: "";
    display: block;
    height: 1px;
    position: absolute;
    left: 0;
    width: 100%;
  }

  .c-anchor__list:has(> :nth-child(9)):has(> :nth-child(-n + 12):last-child) .c-anchor__item:nth-child(1):after,
  .c-anchor__list:has(> :nth-child(9)):has(> :nth-child(-n + 12):last-child) .c-anchor__item:nth-child(5):after {
    left: auto;
    right: 0;
    width: calc(100% - 15px);
  }

  .c-anchor__list:has(> :nth-child(9)):has(> :nth-child(-n + 12):last-child) .c-anchor__item:nth-child(4):after,
  .c-anchor__list:has(> :nth-child(9)):has(> :nth-child(-n + 12):last-child) .c-anchor__item:nth-child(8):after {
    width: calc(100% - 15px);
  }

  .c-anchor__list:has(> :nth-child(5)):has(> :nth-child(-n + 11):last-child) .c-anchor__item:nth-child(8):after {
    width: 100%;
  }

  .c-anchor__column-list--3col2col .c-anchor__item:first-child {
    border-top-left-radius: 8px;
  }

  .c-anchor__column-list--3col2col .c-anchor__item:last-child {
    border-right: solid 1px var(--color-gray02);
    border-bottom-right-radius: 8px;
  }

  .c-anchor__column-list--3col2col .c-anchor__item:nth-child(3n + 1) {
    border-left: solid 1px var(--color-gray02);
  }

  .c-anchor__column-list--3col2col .c-anchor__item:not(:last-child)::before {
    border-right: solid 1px var(--color-gray02);
    content: "";
    display: block;
    height: calc(100% - 30px);
    position: absolute;
    top: 50%;
    translate: 0 -50%;
    right: 0;
    width: 100%;
  }

  .c-anchor__column-list--3col2col:has(> :nth-child(-n + 3):last-child) .c-anchor__item {
    border-bottom: solid 1px var(--color-gray02);
    border-top: solid 1px var(--color-gray02);
  }

  .c-anchor__column-list--3col2col:has(> :nth-child(-n + 3):last-child) .c-anchor__item:first-child {
    border-bottom-left-radius: 8px;
  }

  .c-anchor__column-list--3col2col:has(> :nth-child(-n + 3):last-child) .c-anchor__item:last-child {
    border-top-right-radius: 8px;
  }

  .c-anchor__column-list--3col2col:has(> .c-anchor__item:nth-child(4)) .c-anchor__item::before {
    height: 100%;
    top: 0;
    translate: none;
  }

  .c-anchor__column-list--3col2col:has(> .c-anchor__item:nth-child(4)) .c-anchor__item:nth-child(-n + 3) {
    border-top: solid 1px var(--color-gray02);
  }

  .c-anchor__column-list--3col2col:has(> .c-anchor__item:nth-child(4)) .c-anchor__item:nth-child(-n + 3)::before {
    bottom: 0;
    height: calc(100% - 15px);
    top: auto;
  }

  .c-anchor__column-list--3col2col:has(> .c-anchor__item:nth-child(4)) .c-anchor__item:nth-child(3) {
    border-top-right-radius: 8px;
  }

  .c-anchor__column-list--3col2col:has(> .c-anchor__item:nth-child(4)) .c-anchor__item:nth-child(3n) {
    border-right: solid 1px var(--color-gray02);
  }

  .c-anchor__column-list--3col2col:has(> .c-anchor__item:nth-child(4)) .c-anchor__item:nth-child(3n)::before {
    content: none;
  }

  .c-anchor__column-list--3col2col:has(> .c-anchor__item:nth-child(4)) .c-anchor__item:nth-child(3n)::after {
    width: calc(100% - 15px);
  }

  .c-anchor__column-list--3col2col:has(> .c-anchor__item:nth-child(4)) .c-anchor__item:nth-child(n + 4) {
    position: relative;
    top: -1px;
  }

  .c-anchor__column-list--3col2col:has(> .c-anchor__item:nth-child(4)) .c-anchor__item:nth-child(n + 7) {
    top: -2px;
  }

  .c-anchor__column-list--3col2col:has(> .c-anchor__item:nth-child(4)) .c-anchor__item:nth-child(n + 4)::after {
    border-top: solid 1px var(--color-gray02);
    content: "";
    display: block;
    height: 1px;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
  }

  .c-anchor__column-list--3col2col:has(> .c-anchor__item:nth-child(4)) .c-anchor__item:nth-child(3n + 1)::after {
    left: auto;
    right: 0;
    width: calc(100% - 15px);
  }

  .c-anchor__column-list--3col2col:has(> .c-anchor__item:nth-child(4)) .c-anchor__item:nth-last-child(-n + 3) {
    border-bottom: solid 1px var(--color-gray02);
  }

  .c-anchor__column-list--3col2col:has(> .c-anchor__item:nth-child(4)) .c-anchor__item:nth-last-child(-n + 3):nth-child(3n + 1) {
    border-bottom-left-radius: 8px;
  }

  :is(.c-anchor__column-list--3col2col:has(> .c-anchor__item:nth-child(n + 4):nth-last-child(2)) .c-anchor__item:nth-last-child(-n + 2), .c-anchor__column-list--3col2col:has(> .c-anchor__item:nth-child(n + 4):nth-last-child(3)) .c-anchor__item:nth-last-child(-n + 3))::before {
    height: calc(100% - 15px);
    top: 0;
  }
}

.c-anchor__link {
  transition: background-color 0.4s 0s ease;
  font-size: var(--text-large);
  line-height: var(--line-height-large);
  align-items: center;
  column-gap: 15px;
  display: grid;
  font-weight: 500;
  grid-template-columns: minmax(0, 1fr) 24px;
  height: 100%;
  outline-offset: calc(-1 * var(--outline-width));
  padding: 20px 15px 20px 20px;
  text-align: center;
  width: 100%;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-anchor__link:hover {
    background-color: var(--color-light-gray02);
  }
}

@media (hover: none) {
  .c-anchor__link:active {
    background-color: var(--color-light-gray02);
  }
}

.c-anchor__link::after {
  background: var(--bg-ico-chevron-bottom);
  content: "";
  display: inline-block;
  flex-shrink: 0;
  height: var(--icon-size-large);
  width: var(--icon-size-large);
}

@media all and (min-width: 768px), print {
  .c-anchor__link {
    column-gap: 0;
    grid-template-columns: 1fr;
    padding: 20px 20px 10px 20px;
    row-gap: 5px;
  }

  .c-anchor__link::after {
    margin-inline: auto;
  }
}

@media not print {
  @media not all and (min-width: 768px) {
    :is(.c-anchor__column-list--3col2col, .c-anchor__list--sp-2col) .c-anchor__link {
      column-gap: 4px;
      padding: 16px 0;
      text-align: left;
    }

    :is(.c-anchor__column-list--3col2col, .c-anchor__list--sp-2col) .c-anchor__item:nth-child(odd) .c-anchor__link {
      padding-inline: 20px 14px;
    }

    :is(.c-anchor__column-list--3col2col, .c-anchor__list--sp-2col) .c-anchor__item:nth-child(even) .c-anchor__link {
      padding-inline: 14px 20px;
    }

    .c-anchor__column-list--3col2col:has(> .c-anchor__item:nth-child(3)) .c-anchor__item:nth-child(-n + 2) .c-anchor__link {
      padding-top: 36px;
    }

    .c-anchor__column-list--3col2col:has(> .c-anchor__item:nth-child(3)) :is(.c-anchor__item:last-child, .c-anchor__item:nth-child(odd):nth-last-child(2)) .c-anchor__link {
      padding-bottom: 36px;
    }
  }
}

@media all and (min-width: 768px), print {
  .c-anchor__text {
    display: grid;
    flex-grow: 1;
    place-content: center;
  }
}

/*------------------------------
  Border-block
--------------------------------*/
.c-border-block {
  margin-top: var(--spacing-56);
}

@media all and (min-width: 768px), print {
  .c-border-block {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-border-block:not(:first-child) {
  border-top: solid 1px var(--color-gray02);
  margin-top: var(--spacing-32);
  padding-top: 32px;
}

@media all and (min-width: 768px), print {
  .c-border-block {
    margin-top: var(--spacing-80);
  }

  .c-border-block:not(:first-child) {
    margin-top: var(--spacing-40);
    padding-top: 40px;
  }
}

/*------------------------------
  Box
--------------------------------*/
/* Box01
----------------*/
.c-box01 {
  border: 1px solid var(--color-gray02);
  border-radius: 8px;
  padding: 20px;
}

@media all and (min-width: 768px), print {
  .c-box01 {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-box01:not(:first-child) {
  margin-top: var(--spacing-32);
}

@media all and (min-width: 768px), print {
  .c-box-layout02 .c-box01 {
    height: 100%;
  }
}

@media all and (min-width: 768px), print {
  .c-box01 {
    padding: 40px 30px;
  }

  .c-box01:not(:first-child) {
    margin-top: var(--spacing-40);
  }
}

.c-box01--space-sm {
  padding: 18px 24px;
}

@media all and (min-width: 768px), print {
  .c-box01--space-sm {
    padding: 20px 16px;
  }
}

.c-box01--gray {
  background-color: var(--color-light-gray02);
  border: none;
}

.c-box01--light-red {
  background-color: var(--color-light-red03);
  border: none;
}

.c-box01__title {
  font-size: 1.8rem;
  font-weight: bold;
}

.c-box-layout02 .c-box01__title {
  text-align: center;
}

@media all and (min-width: 768px), print {
  .c-box01__title {
    font-size: 2rem;
  }
}

.c-box01--column-button .c-box01__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  row-gap: 20px;
}

.c-box01__body:not(:first-child) {
  margin-top: 14px;
}

@media all and (min-width: 768px), print {
  .c-box01__body:not(:first-child) {
    margin-top: var(--spacing-20);
  }
}

:not(.c-box-layout02__item)>.c-box01--column-button {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  row-gap: 20px;
}

@media all and (min-width: 768px), print {
  :not(.c-box-layout02__item)>.c-box01--column-button {
    align-items: center;
    column-gap: 40px;
    grid-template-columns: minmax(0, 1fr) 400px;
  }
}

/* Box02
----------------*/
.c-box02 {
  border: 1px solid var(--color-gray02);
  border-radius: 8px;
  padding: 20px;
}

@media all and (min-width: 768px), print {
  .c-box02 {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-box02:not(:first-child):not(.c-box-layout01 .c-box02) {
  margin-top: var(--spacing-32);
}

@media all and (min-width: 768px), print {
  .c-box02 {
    padding: 40px 30px;
  }

  .c-box02:not(:first-child):not(.c-box-layout01 .c-box02) {
    margin-top: var(--spacing-40);
  }
}

.c-box02--space-sm {
  padding: 18px 24px;
}

@media all and (min-width: 768px), print {
  .c-box02--space-sm {
    padding: 20px 16px;
  }
}

.c-box02__title {
  font-size: 2.4rem;
  font-weight: bold;
}

@media all and (min-width: 768px), print {
  .c-box02__title {
    font-size: 2.8rem;
  }
}

.c-box02__subtitle {
  display: block;
  font-size: 2rem;
  font-weight: 500;
}

@media all and (min-width: 768px), print {
  .c-box02__subtitle {
    font-size: 2.4rem;
  }
}

.c-box02__subtitle:not(:first-child) {
  margin-top: var(--spacing-28);
}

@media all and (min-width: 768px), print {
  .c-box02__subtitle:not(:first-child) {
    margin-top: var(--spacing-40);
  }
}

.c-box02__body:not(:first-child) {
  margin-top: var(--spacing-28);
}

@media all and (min-width: 768px), print {
  .c-box02__body:not(:first-child) {
    margin-top: var(--spacing-40);
  }
}

.c-box02__body .c-list:not(:first-child) {
  margin-top: var(--spacing-20);
}

@media all and (min-width: 768px), print {
  .c-box02__body .c-list:not(:first-child) {
    margin-top: var(--spacing-28);
  }
}

/* Box03
----------------*/
@media all and (min-width: 768px), print {
  .c-box03 {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-box03:not(:first-child):not(.c-box-layout01 .c-box03) {
  margin-top: var(--spacing-20);
}

@media all and (min-width: 768px), print {
  .c-box03:not(:first-child):not(.c-box-layout01 .c-box03) {
    margin-top: var(--spacing-28);
  }
}

.c-box03__body {
  background-color: var(--color-light-gray02);
  border-radius: 8px;
  padding: 20px;
}

.c-box03__body+.c-box03__body {
  margin-top: var(--spacing-12);
}

@media all and (min-width: 768px), print {
  .c-box03__body {
    align-items: center;
    display: grid;
    grid-template-columns: auto 1fr;
    padding: 40px 30px;
  }
}

.c-box03__title {
  font-size: var(--text-large);
}

.c-box03__text {
  font-size: var(--text-large);
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-box03__text {
      border-top: 1px solid var(--color-gray02);
      margin-top: var(--spacing-20);
      padding-top: 20px;
    }
  }
}

@media all and (min-width: 768px), print {
  .c-box03__text {
    border-left: 1px solid var(--color-gray02);
    margin-left: var(--spacing-32);
    padding-left: 32px;
  }
}

/* Box Layout01
----------------*/
.c-box-layout01 {
  display: flex;
  flex-direction: column;
  row-gap: 32px;
}

@media all and (min-width: 768px), print {
  .c-box-layout01 {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-box-layout01:not(:first-child) {
  margin-top: var(--spacing-20);
}

@media all and (min-width: 768px), print {
  .c-box-layout01 {
    column-gap: 24px;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    row-gap: 40px;
  }

  .c-box-layout01>* {
    margin-inline: 0;
    width: calc((100% - 24px) / 2);
  }
}

@media all and (min-width: 768px), print {
  .c-box-layout01--column3>* {
    width: calc((100% - 48px) / 3);
  }
}

@media all and (min-width: 768px), print {
  .c-box-layout01--column4>* {
    width: calc((100% - 72px) / 4);
  }
}

.c-box-layout01--align-right {
  justify-content: flex-end;
}

/* Box Layout02
----------------*/
.c-box-layout02 {
  display: flex;
  flex-direction: column;
  row-gap: 32px;
}

@media all and (min-width: 768px), print {
  .c-box-layout02 {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

@media all and (min-width: 768px), print {
  .c-box-layout02 {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 40px 24px;
  }
}

@media all and (min-width: 768px), print {
  .c-box-layout02__item--width-50per {
    width: calc((100% - 24px) / 2);
  }
}

@media all and (min-width: 768px), print {
  .c-box-layout02__item--width-33per {
    width: calc((100% - 48px) / 3);
  }
}

@media all and (min-width: 768px), print {
  .c-box-layout02__item--width-25per {
    width: calc((100% - 72px) / 4);
  }
}

/*------------------------------
  Box-panel
--------------------------------*/
/* Box-panel03
----------------*/
.c-box-panel03-layout {
  display: grid;
  row-gap: 24px;
}

@media all and (min-width: 768px), print {
  .c-box-panel03-layout {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-box-panel03-layout:not(:first-child) {
  margin-top: var(--spacing-32);
}

@media all and (min-width: 768px), print {
  .c-box-panel03-layout:not(:first-child) {
    margin-top: var(--spacing-40);
  }
}

.c-box-panel03-layout--column2 {
  gap: 24px;
}

@media all and (min-width: 768px), print {
  .c-box-panel03-layout--column2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.c-box-panel03-layout--column3 {
  gap: 24px;
}

@media all and (min-width: 768px), print {
  .c-box-panel03-layout--column3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.c-box-panel03 {
  border: solid 1px var(--color-gray02);
  border-radius: 8px;
  overflow: hidden;
  width: 100%;
}

@media all and (min-width: 768px), print {
  .c-box-panel03 {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
    row-gap: 0;
  }
}

.c-box-panel03__title {
  background-color: var(--color-light-gray02);
  display: grid;
  padding: 16px 20px;
  place-content: center;
}

@media all and (min-width: 768px), print {
  .c-box-panel03__title {
    padding: 16px 32px;
  }
}

.c-box-panel03__heading {
  font-size: var(--heading-lv5);
  line-height: var(--line-height-medium);
  font-weight: 700;
  text-align: center;
}

.c-box-panel03__image {
  margin-inline: auto;
  width: fit-content;
}

.c-box-panel03__image+.c-box-panel03__inner {
  margin-top: var(--spacing-16);
}

.c-box-panel03__body {
  padding: 20px;
}

@media all and (min-width: 768px), print {
  .c-box-panel03__body {
    padding: 20px 32px;
  }
}

/* Box-panel04
----------------*/
.c-box-panel04-layout {
  display: grid;
  row-gap: 32px;
}

@media all and (min-width: 768px), print {
  .c-box-panel04-layout {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-box-panel04-layout:not(:first-child) {
  margin-top: var(--spacing-32);
}

@media all and (min-width: 768px), print {
  .c-box-panel04-layout {
    row-gap: 40px;
  }

  .c-box-panel04-layout:not(:first-child) {
    margin-top: var(--spacing-40);
  }
}

.c-box-panel04-layout--column2 {
  gap: 24px;
}

@media all and (min-width: 768px), print {
  .c-box-panel04-layout--column2 {
    gap: 40px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.c-box-panel04-layout--column3 {
  gap: 32px;
}

@media all and (min-width: 768px), print {
  .c-box-panel04-layout--column3 {
    gap: 24px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.c-box-panel04-layout--column4 {
  gap: 32px;
}

@media all and (min-width: 768px), print {
  .c-box-panel04-layout--column4 {
    gap: 43px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.c-box-panel04 {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}

@media all and (min-width: 768px), print {
  .c-box-panel04 {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-box-panel04[href] {
  overflow: hidden;
  position: relative;
}

.c-box-panel04[href]::before {
  transition: opacity 0.4s 0s ease;
  background-color: var(--color-white);
  bottom: 0;
  content: "";
  left: 0;
  opacity: 0;
  position: absolute;
  pointer-events: none;
  right: 0;
  top: 0;
  z-index: 1;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-box-panel04[href]:hover::before {
    opacity: var(--opacity-hover-50per);
  }
}

@media (hover: none) {
  .c-box-panel04[href]:active::before {
    opacity: var(--opacity-hover-50per);
  }
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-box-panel04[href]:hover .c-box-panel05__title {
    text-decoration: none;
  }
}

@media (hover: none) {
  .c-box-panel04[href]:active .c-box-panel05__title {
    text-decoration: none;
  }
}

@media all and (min-width: 768px), print {
  .c-box-panel04 {
    align-items: flex-start;
    column-gap: 24px;
    flex-direction: row;
    row-gap: 0;
  }

  .c-box-panel04.c-box-panel04--vertical {
    align-items: center;
    flex-direction: column;
  }
}

.c-box-panel04__image {
  flex-shrink: 0;
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-box-panel04__image {
      margin-inline: auto;
      width: fit-content;
    }
  }
}

.c-box-panel04__detail {
  display: grid;
  row-gap: 8px;
}

@media all and (min-width: 768px), print {
  .c-box-panel04--vertical .c-box-panel04__detail {
    text-align: center;
  }
}

.c-box-panel04__title {
  font-size: var(--heading-lv5);
  font-weight: 700;
  line-height: var(--line-height-medium);
}

.c-box-panel04[href] .c-box-panel04__title {
  text-decoration: underline;
  color: var(--color-link-blue);
}

.c-box-panel04__description {
  row-gap: 20px;
  display: grid;
}

.c-box-panel04__lead {
  font-size: var(--text-large);
  font-weight: 700;
}

.c-box-panel04__text {
  font-size: var(--text-large);
}

/* Box-panel05
----------------*/
@media not print {
  @media not all and (min-width: 768px) {
    .c-box-panel05-layout--slider {
      /* 'is-initialized, is-active' is a class dynamically assigned by 'splide in vender' */
    }

    .c-slider:not(.is-active) .c-box-panel05-layout--slider,
    .c-slider.is-initialized:not(.is-active) .c-box-panel05-layout--slider {
      display: grid;
      grid-template-columns: repeat(1, minmax(0, 1fr));
      row-gap: var(--spacing-24);
    }
  }
}

@media all and (min-width: 768px), print {
  .c-box-panel05-layout--slider {
    gap: var(--spacing-40) !important;
    grid-template-columns: repeat(2, 1fr) !important;
    display: grid !important;
  }
}

.c-box-panel05 {
  transition: opacity 0.4s 0s ease;
  display: block;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-box-panel05:hover {
    opacity: var(--opacity-hover-50per);
  }
}

@media (hover: none) {
  .c-box-panel05:active {
    opacity: var(--opacity-hover-50per);
  }
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-box-panel05:hover .c-box-panel05__title {
    text-decoration: none;
  }
}

@media (hover: none) {
  .c-box-panel05:active .c-box-panel05__title {
    text-decoration: none;
  }
}

@media all and (min-width: 768px), print {
  .c-box-panel05 {
    align-items: flex-start;
    display: flex;
  }
}

.c-box-panel05__image {
  background-color: var(--color-white);
  border: 1px solid var(--color-gray02);
  border-radius: 8px;
  flex-shrink: 0;
  filter: var(--drop-shadow-type01);
  overflow: hidden;
}

.c-box-panel05__image img {
  width: 100%;
}

@media all and (min-width: 768px), print {
  .c-box-panel05__image {
    width: 225px;
  }
}

.c-box-panel05__detail {
  margin: 20px 0 0 0;
}

@media all and (min-width: 768px), print {
  .c-box-panel05__detail {
    margin: 0 0 0 12px;
    width: 100%;
  }
}

.c-box-panel05__title {
  color: var(--color-link-blue);
  font-size: 1.4rem;
  font-weight: 700;
  text-decoration: underline;
}

.c-box-panel05__description {
  font-size: var(--note-large);
  line-height: var(--line-height-large);
  margin-top: 12px;
}

.c-box-panel06__title {
  background-color: var(--color-light-red01);
  border-radius: 8px 8px 0 0;
  padding: 16px 40px;
}
.c-box-panel06__heading {
  color: var(--color-white);
  font-size: 2.0rem;
  font-weight: 700;
  text-align: center;
}
.c-box-panel06__body {
  background-color: var(--color-white);
  border: 1px solid var(--color-light-red01);
  padding: 20px 20px 30px;
}
.c-box-panel06__column {
  align-items: flex-start;
  gap: var(--spacing-28) 0;
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.c-box-panel06__content:not(:first-child) {
  margin-top: 28px;
}
@media all and (min-width: 768px), print {
  .c-box-panel06 {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
  .c-box-panel06__body {
    padding: 40px 40px 56px;
  }
  .c-box-panel06__column {
    gap: 0 var(--spacing-40);
    grid-template-columns: 1fr 340px;
  }
  .c-box-panel06__content:not(:first-child) {
    margin-top: 40px;
  }
}

/*------------------------------
  Breadcrumb
--------------------------------*/
.c-breadcrumb-layout01 {
  overflow-x: auto;
  padding: 20px var(--content-main-inline-padding);
  z-index: 1;
}

@media all and (min-width: 768px), print {
  .c-breadcrumb-layout01 {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-breadcrumb-layout01::-webkit-scrollbar {
  height: 2px;
}

.c-breadcrumb-layout01::-webkit-scrollbar-track {
  background-color: var(--color-white);
}

.c-breadcrumb-layout01::-webkit-scrollbar-thumb {
  background-color: var(--color-mufg-gray-75per);
  border-radius: 2px;
}

@media all and (min-width: 768px), print {
  .c-breadcrumb-layout01 {
    padding: 16px 0 0;
  }
}

.c-breadcrumb {
  display: inline-block;
}

.c-breadcrumb__list {
  display: table;
  overflow: hidden;
  padding-bottom: 2px;
}

@media all and (min-width: 768px), print {
  .c-breadcrumb__list {
    display: flex;
    flex-wrap: wrap;
    row-gap: var(--spacing-8);
  }
}

.c-breadcrumb__item {
  line-height: 1;
  position: relative;
}

.c-breadcrumb__item:not(:last-child) {
  padding-right: var(--spacing-32);
}

.c-breadcrumb__item:not(:last-child)::after {
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g transform="translate(-520 -275)"><rect width="24" height="24" transform="translate(520 275)" fill="none"></rect><g transform="translate(529 281.18)"><path d="M7.065,15.76,6,14.695,10.755,9.94,6,5.185,7.065,4.12,12.87,9.94Z" transform="translate(-6 -4.12)" fill="%23e60000"></path></g></g></svg>');
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: -2px;
  content: "";
  display: block;
  height: 16px;
  position: absolute;
  right: 8px;
  width: 16px;
}

.c-breadcrumb-layout02 .c-breadcrumb__item:after {
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g transform="translate(-520 -275)"><rect width="24" height="24" transform="translate(520 275)" fill="none"></rect><g transform="translate(529 281.18)"><path d="M7.065,15.76,6,14.695,10.755,9.94,6,5.185,7.065,4.12,12.87,9.94Z" transform="translate(-6 -4.12)" fill="%23000000"></path></g></g></svg>');
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-breadcrumb__item {
      display: table-cell;
      white-space: nowrap;
    }
  }
}

.c-breadcrumb__link {
  transition: opacity 0.4s 0s ease;
  text-decoration: underline;
  color: var(--color-mufg-gray);
  font-size: 1.2rem;
  font-weight: 500;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-breadcrumb__link:hover {
    opacity: var(--opacity-hover-50per);
    text-decoration: none;
  }
}

@media (hover: none) {
  .c-breadcrumb__link:active {
    opacity: var(--opacity-hover-50per);
    text-decoration: none;
  }
}

.c-breadcrumb__link:focus-visible {
  outline-offset: calc(-1 * var(--outline-width));
}

.c-breadcrumb__text[aria-current] {
  color: var(--color-black);
  font-size: 1.2rem;
  font-weight: 700;
}

/*------------------------------
  Button
--------------------------------*/
/* Button-layout
----------------*/
.c-button-layout {
  display: flex;
  justify-content: center;
}

@media all and (min-width: 768px), print {
  .c-button-layout {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-button-layout:not(:first-child) {
  margin-top: var(--spacing-32);
}

@media all and (min-width: 768px), print {
  .c-button-layout:not(:first-child) {
    margin-top: var(--spacing-40);
  }
}

.c-button-layout--quaternary:not(:first-child) {
  margin-top: var(--spacing-28);
}

@media all and (min-width: 768px), print {
  .c-button-layout--quaternary:not(:first-child) {
    margin-top: var(--spacing-40);
  }
}

/* Button
----------------*/
.c-button {
  transition:
    background-color 0.4s 0s ease,
    border-color 0.4s 0s ease,
    color 0.4s 0s ease;
  align-items: center;
  background-color: var(--color-white);
  border: 2px solid transparent;
  border-radius: 9999px;
  box-shadow: var(--box-shadow-type01);
  color: var(--color-black);
  display: flex;
  justify-content: center;
  min-height: 60px;
  position: relative;
  padding: 0 calc(20px + var(--icon-size-large));
  text-align: center;
}

.c-button::before,
.c-button::after {
  transition: background-color 0.4s 0s ease;
  background-color: var(--color-black);
}

.c-button::before {
  flex-shrink: 0;
  margin-right: 8px;
  height: var(--icon-size-medium);
  width: var(--icon-size-medium);
}

.c-button::after {
  content: "";
  display: block;
  height: var(--icon-size-large);
  -webkit-mask: var(--mask-ico-chevron-right);
  mask: var(--mask-ico-chevron-right);
  margin-top: calc(var(--icon-size-large) / 2 * -1);
  position: absolute;
  right: 20px;
  top: 50%;
  width: var(--icon-size-large);
}

.c-button:active {
  box-shadow: none;
}

.c-button[disabled],
.c-button[aria-disabled="true"] {
  color: var(--color-mufg-gray-50per);
  cursor: auto;
}

.c-button[disabled]::before,
.c-button[disabled]::after,
.c-button[aria-disabled="true"]::before,
.c-button[aria-disabled="true"]::after {
  background-color: var(--color-mufg-gray-50per);
}

.c-button[aria-disabled="true"] {
  pointer-events: none;
}

.c-button[target="_blank"]::after {
  height: var(--icon-size-small);
  -webkit-mask: var(--mask-ico-blank);
  mask: var(--mask-ico-blank);
  margin-top: calc(var(--icon-size-small) / 2 * -1);
  width: var(--icon-size-small);
}

a.c-button {
  text-decoration: none;
}

.s-conversion-fixed .c-button {
  transition: all 0.4s 0s ease;
  font-size: var(--text-medium);
  font-weight: 700;
  line-height: var(--line-height-medium);
  min-height: 40px;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .s-conversion-fixed .c-button:hover {
    box-shadow: none;
    font-size: 2rem;
  }

  .s-conversion-fixed .c-button:hover .c-button__text {
    padding-bottom: 2px;
  }
}

@media not print {
  @media not all and (min-width: 768px) {
    .s-conversion-fixed .c-button {
      /* To avoid being covered by icons at a screen size of 320px. */
      font-size: clamp(1rem, 3.733vw, 1.4rem);
      padding-left: 0;
      padding-right: 20px;
    }

    .s-conversion-fixed .c-button::after {
      right: 9px;
    }

    .s-conversion-fixed .c-button:nth-child(1) {
      grid-column: 1/2;
    }

    .s-conversion-fixed .c-button:nth-child(2) {
      grid-column: 2/3;
    }

    .s-conversion-fixed .s-conversion-fixed__content--button-sp-width-full .c-button:nth-child(1) {
      grid-column: 1/3;
    }
  }
}

@media all and (min-width: 768px), print {
  .c-button {
    min-height: 70px;
  }

  .s-conversion-fixed .c-button {
    min-height: 50px;
  }
}

.c-button--primary[disabled],
.c-button--primary[aria-disabled="true"],
.c-button--secondary[disabled],
.c-button--secondary[aria-disabled="true"],
.c-button--tertiary[disabled],
.c-button--tertiary[aria-disabled="true"] {
  background-color: var(--color-light-gray02);
  border-color: transparent;
}

.c-button--primary {
  background-color: var(--color-mufg-red);
  color: var(--color-white);
}

.c-button--primary::before,
.c-button--primary::after {
  background-color: var(--color-white);
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-button--primary:not([disabled]):not([aria-disabled="true"]):hover {
    background-color: var(--color-white);
    border-color: var(--color-mufg-red);
    color: var(--color-black);
  }

  .c-button--primary:not([disabled]):not([aria-disabled="true"]):hover::before,
  .c-button--primary:not([disabled]):not([aria-disabled="true"]):hover::after {
    background-color: var(--color-mufg-red);
  }
}

@media (hover: none) {
  .c-button--primary:not([disabled]):not([aria-disabled="true"]):active {
    background-color: var(--color-white);
    border-color: var(--color-mufg-red);
    color: var(--color-black);
  }

  .c-button--primary:not([disabled]):not([aria-disabled="true"]):active::before,
  .c-button--primary:not([disabled]):not([aria-disabled="true"]):active::after {
    background-color: var(--color-mufg-red);
  }
}

.c-conversion-layout .c-button--primary {
  transition: all 0.4s 0s ease;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-conversion-layout .c-button--primary:hover {
    box-shadow: none;
    font-size: 2.4rem;
  }

  .c-conversion-layout .c-button--primary:hover .c-button__text {
    padding-bottom: 4px;
  }
}

.c-button--secondary {
  background-color: var(--color-white);
  border-color: var(--color-mufg-red);
  color: var(--color-black);
}

.c-button--secondary::before,
.c-button--secondary::after {
  background-color: var(--color-mufg-red);
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-button--secondary:not([disabled]):not([aria-disabled="true"]):hover {
    background-color: var(--color-mufg-red);
    color: var(--color-white);
  }

  .c-button--secondary:not([disabled]):not([aria-disabled="true"]):hover::before,
  .c-button--secondary:not([disabled]):not([aria-disabled="true"]):hover::after {
    background-color: var(--color-white);
  }
}

@media (hover: none) {
  .c-button--secondary:not([disabled]):not([aria-disabled="true"]):active {
    background-color: var(--color-mufg-red);
    color: var(--color-white);
  }

  .c-button--secondary:not([disabled]):not([aria-disabled="true"]):active::before,
  .c-button--secondary:not([disabled]):not([aria-disabled="true"]):active::after {
    background-color: var(--color-white);
  }
}

.c-conversion-layout .c-button--secondary {
  transition: all 0.4s 0s ease;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-conversion-layout .c-button--secondary:hover {
    box-shadow: none;
    font-size: 2.4rem;
  }

  .c-conversion-layout .c-button--secondary:hover .c-button__text {
    padding-bottom: 4px;
  }
}

.c-button--tertiary {
  border-color: var(--color-mufg-gray);
  border-width: 1px;
}

.c-button--tertiary:not([disabled]):not([aria-disabled="true"]) {
  transition: background-color 0.4s 0s ease;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-button--tertiary:not([disabled]):not([aria-disabled="true"]):hover {
    background-color: var(--color-light-gray02);
  }
}

@media (hover: none) {
  .c-button--tertiary:not([disabled]):not([aria-disabled="true"]):active {
    background-color: var(--color-light-gray02);
  }
}

.c-button--ico-account::before {
  content: "";
  -webkit-mask: var(--mask-ico-account);
  mask: var(--mask-ico-account);
}

.c-button--ico-calendar::before {
  content: "";
  -webkit-mask: var(--mask-ico-calendar);
  mask: var(--mask-ico-calendar);
}

.c-button--ico-document::before {
  content: "";
  -webkit-mask: var(--mask-ico-document);
  mask: var(--mask-ico-document);
}

.c-button--ico-login::before {
  content: "";
  -webkit-mask: var(--mask-ico-login);
  mask: var(--mask-ico-login);
}

.c-button--ico-store-atm::before {
  content: "";
  -webkit-mask: var(--mask-ico-store-atm);
  mask: var(--mask-ico-store-atm);
}

.c-button--size-l {
  font-size: var(--text-x-large);
  font-weight: 700;
  line-height: var(--line-height-medium);
  padding: 0 calc(20px + var(--icon-size-large));
  width: 100%;
}

@media all and (min-width: 768px), print {
  .c-button--size-l {
    max-width: 400px;
  }
}

.c-button--size-m {
  font-size: var(--text-x-large);
  font-weight: 700;
  line-height: var(--line-height-medium);
  padding: 0 calc(20px + var(--icon-size-large));
  width: 100%;
}

@media all and (min-width: 768px), print {
  .c-button--size-m {
    max-width: 325px;
  }
}

.c-button--size-s {
  font-size: var(--text-x-large);
  font-weight: 700;
  line-height: var(--line-height-medium);
  padding: 0 calc(20px + var(--icon-size-large));
  width: 100%;
}

@media all and (min-width: 768px), print {
  .c-button--size-s {
    max-width: 250px;
    padding-left: 35px;
  }
}

.c-button--size-xs {
  font-size: var(--text-x-large);
  font-weight: 700;
  line-height: var(--line-height-medium);
  padding: 0 calc(20px + var(--icon-size-large));
  width: 100%;
}

@media all and (min-width: 768px), print {
  .c-button--size-xs {
    max-width: 200px;
    padding-left: 24px;
  }
}

.c-button--size-xxs {
  font-size: var(--text-x-large);
  font-weight: 700;
  line-height: var(--line-height-medium);
  padding: 0 calc(20px + var(--icon-size-large));
  width: 100%;
}

@media all and (min-width: 768px), print {
  .c-button--size-xxs {
    max-width: 160px;
    padding-left: 16px;
  }
}

.c-button--size-xxxs {
  font-size: 1.2rem;
  font-weight: 700;
  max-width: 62px;
  min-height: 25px;
  line-height: var(--line-height-medium);
  padding: 0 12px 0 0;
  width: 100%;
}

.c-button--size-xxxs::after {
  right: 0;
  width: 19px;
}

@media all and (min-width: 768px), print {
  .c-button--size-xxxs {
    padding-left: 0;
  }
}

/* Button-card-layout
----------------*/
.c-button-card-layout {
  display: flex;
  justify-content: center;
}

@media all and (min-width: 768px), print {
  .c-button-card-layout {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-button-card-layout:not(:first-child) {
  margin-top: var(--spacing-32);
}

@media all and (min-width: 768px), print {
  .c-button-card-layout:not(:first-child) {
    margin-top: var(--spacing-40);
  }
}

.c-button-card-layout--column1,
.c-button-card-layout--column2,
.c-button-card-layout--column3,
.c-button-card-layout--column4 {
  display: grid;
  gap: var(--spacing-12);
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media all and (min-width: 768px), print {
  .c-button-card-layout--column1 {
    gap: var(--spacing-16);
  }
}

@media all and (min-width: 768px), print {
  .c-button-card-layout--column2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .c-button-card-layout--column2>*:nth-child(odd) {
    place-self: end;
  }

  .c-button-card-layout--column2>*:nth-child(even) {
    place-self: start;
  }

  .c-button-card-layout--column2:has(.c-button-card02) {
    grid-template-columns: repeat(2, minmax(0, 344px));
  }
}

@media all and (min-width: 768px), print {
  .c-button-card-layout--column3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media all and (min-width: 768px), print {
  .c-button-card-layout--column4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media all and (min-width: 768px), print {
  .c-button-card-layout__item>*:only-child {
    height: 100%;
  }

  .c-button-card-layout--column1 .c-button-card-layout__item>* {
    max-width: initial;
  }
}

/* Button-card02
----------------*/
.c-button-card02 {
  overflow: hidden;
  position: relative;
  background-color: var(--color-white);
  border: 1px solid var(--color-gray02);
  border-radius: 8px;
  box-shadow: var(--box-shadow-type07);
  display: block;
  padding: 20px;
  position: relative;
}

.c-button-card02::before {
  transition: opacity 0.4s 0s ease;
  background-color: var(--color-white);
  bottom: 0;
  content: "";
  left: 0;
  opacity: 0;
  position: absolute;
  pointer-events: none;
  right: 0;
  top: 0;
  z-index: 1;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-button-card02:hover::before {
    opacity: var(--opacity-hover-50per);
  }
}

@media (hover: none) {
  .c-button-card02:active::before {
    opacity: var(--opacity-hover-50per);
  }
}

@media all and (min-width: 768px), print {
  .c-button-card02 {
    padding: 30px 40px 30px 40px;
  }

  .c-button-card02:first-child:only-child {
    height: 100%;
  }
}

.c-button-card-layout .c-button-card02 {
  height: 100%;
  width: 100%;
}

.c-button-card02__detail {
  color: var(--color-black);
}

.c-button-card02__title {
  column-gap: var(--spacing-20);
  display: grid;
  grid-template-columns: 76px 1fr;
  place-content: center;
  place-items: center start;
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-button-card02--sp-keep .c-button-card02__title {
      grid-template-columns: none;
    }
  }
}

@media all and (min-width: 768px), print {
  .c-button-card02__title {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    row-gap: var(--spacing-20);
    place-items: center;
  }
}

.c-button-card02__image {
  aspect-ratio: 1/1;
  display: grid;
  height: var(--icon-size-x-large);
  margin-left: auto;
  place-content: center;
  width: var(--icon-size-x-large);
}

.c-button-card02__image img {
  max-height: 100%;
  object-fit: contain;
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-button-card02--sp-keep .c-button-card02__image {
      margin-inline: auto;
    }
  }
}

@media all and (min-width: 768px), print {
  .c-button-card02__image {
    margin-inline: auto;
  }
}

.c-button-card02__heading {
  font-size: var(--text-large);
  font-weight: 700;
  line-height: var(--line-height-large);
  text-align: center;
}

.c-button-card02[target="_blank"] .c-button-card02__heading {
  position: relative;
}

.c-button-card02[target="_blank"] .c-button-card02__heading::after {
  background: var(--bg-ico-blank);
  content: "";
  display: inline-block;
  height: var(--icon-size-small);
  margin-inline: 4px;
  position: relative;
  top: calc((1em * var(--line-height-medium) - var(--icon-size-small)) / 2);
  vertical-align: text-top;
  width: var(--icon-size-small);
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-button-card02--sp-keep .c-button-card02__heading {
      margin-top: 10px;
    }
  }
}

.c-button-card02__description {
  font-size: 1.4rem;
  margin-top: 10px;
  min-height: calc(2em * var(--line-height-medium));
}

@media all and (min-width: 768px), print {
  .c-button-card02__description {
    margin-top: 20px;
  }
}

/* Button-quaternary
----------------*/
.c-button-quaternary-layout {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-button-quaternary-layout {
      margin-inline: calc(var(--content-main-inline-padding) * -1);
      position: relative;
    }
  }
}

@media all and (min-width: 768px), print {
  .c-button-quaternary-layout {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-button-quaternary-layout:not(:first-child) {
  margin-top: var(--spacing-40);
}

@media all and (min-width: 768px), print {
  .c-button-quaternary-layout {
    grid-template-columns: repeat(4, 1fr);
    row-gap: var(--spacing-16);
  }

  .c-button-quaternary-layout:not(:first-child) {
    margin-top: var(--spacing-80);
  }

  .c-button-quaternary-layout:has(> :nth-child(2):last-child) {
    grid-template-columns: repeat(2, 1fr);
  }

  .c-button-quaternary-layout:has(> :nth-child(3):last-child) {
    grid-template-columns: repeat(3, 1fr);
  }
}

.c-button-quaternary-layout__item {
  transition: background-color 0.4s 0s ease;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-button-quaternary-layout__item:hover {
    background-color: var(--color-light-red03);
  }
}

@media (hover: none) {
  .c-button-quaternary-layout__item:active {
    background-color: var(--color-light-red03);
  }
}

.c-button-quaternary-layout__item .c-button-quaternary {
  font-size: var(--text-medium);
  line-height: var(--line-height-medium);
  height: 100%;
  min-height: 74px;
  opacity: 1;
  padding-bottom: 12px;
  padding-top: 12px;
  text-decoration: none;
  width: 100%;
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-button-quaternary-layout__item {
      border-bottom: 1px solid var(--color-gray02);
    }

    .c-button-quaternary-layout__item:nth-child(-n + 2) {
      border-top: 1px solid var(--color-gray02);
    }

    .c-button-quaternary-layout__item:nth-child(odd) {
      border-right: 1px solid var(--color-gray02);
    }

    .c-button-quaternary-layout__item:nth-child(odd) .c-button-quaternary {
      padding: 12px 12px 12px 8px;
    }

    .c-button-quaternary-layout__item:nth-child(even) .c-button-quaternary {
      padding: 12px 8px 12px 12px;
    }
  }
}

@media all and (min-width: 768px), print {
  .c-button-quaternary-layout__item {
    border-right: 1px solid var(--color-gray02);
  }

  .c-button-quaternary-layout__item .c-button-quaternary {
    justify-content: center;
    min-height: 56px;
    padding: 4px 20px;
  }

  .c-button-quaternary-layout:has(> :nth-child(4)) .c-button-quaternary-layout__item .c-button-quaternary {
    justify-content: flex-start;
  }

  .c-button-quaternary-layout__item:nth-child(4n + 1) {
    border-left: 1px solid var(--color-gray02);
  }
}

.c-button-quaternary-layout__item--current {
  background-color: var(--color-light-red03);
}

.c-button-quaternary-layout__item--current .c-button-quaternary {
  font-weight: 700;
}

.c-button-quaternary-layout__item--current .c-button-quaternary:hover {
  opacity: 1;
}

/* Button-quaternary
----------------*/
.c-button-quaternary {
  transition: opacity 0.4s 0s ease;
  font-size: var(--text-large);
  line-height: var(--line-height-large);
  align-items: center;
  display: flex;
  opacity: 1;
  width: fit-content;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-button-quaternary:hover {
    opacity: var(--opacity-hover-50per);
  }
}

@media (hover: none) {
  .c-button-quaternary:active {
    opacity: var(--opacity-hover-50per);
  }
}

.c-button-quaternary:not(:first-child) {
  margin-top: var(--spacing-28);
}

.c-button-quaternary::before {
  background: var(--bg-ico-chevron-round-right);
  content: "";
  display: inline-block;
  flex-shrink: 0;
  height: var(--icon-size-medium);
  margin-right: 8px;
  width: var(--icon-size-medium);
}

.c-button-quaternary:active {
  font-weight: 700;
  opacity: 1 !important;
}

@media all and (min-width: 768px), print {
  .c-button-quaternary::before {
    height: var(--icon-size-large);
    width: var(--icon-size-large);
  }
}

.c-button-quaternary__blank {
  display: inline-block;
  padding-right: calc(var(--icon-size-small) + 8px);
}

.c-button-quaternary__blank::after {
  background: var(--bg-ico-blank);
  content: "";
  display: inline-block;
  height: var(--icon-size-small);
  margin-left: 8px;
  margin-right: calc((var(--icon-size-small) + 8px) * -1);
  width: var(--icon-size-small);
}

/* Copy Button
----------------*/
.c-copy-button-layout {
  align-items: center;
  column-gap: 4px;
  display: flex;
  justify-content: space-between;
  text-align: left;
}
.c-copy-button {
  background-color: var(--color-white);
  border: 1px solid var(--color-black);
  border-radius: 9999px;
  display: block;
  flex-shrink: 0;
  font-size: var(--note-large);
  font-weight: 400;
  padding: 3px 10px 4px;
  transition:
    background-color 0.4s 0s ease,
    border-color 0.4s 0s ease,
    color 0.2s 0s ease;
  width: 108px;
}
.c-copy-button[disabled] {
  background-color: var(--color-light-gray02);
}
.c-copy-button.is-copied {
  background-color: var(--color-gray01);
  border-color: var(--color-gray01);
  color: var(--color-white);
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-copy-button:not([disabled]):hover {
    background-color: var(--color-light-gray02);
  }
}
@media (hover: none) {
  .c-copy-button:not([disabled]):active {
    background-color: var(--color-light-gray02);
  }
}
@media all and (min-width: 768px), print {
  .c-copy-button-layout {
    padding-inline: 36px;
  }
  .c-copy-button {
    width: 122px;
  }
}

/*------------------------------
  Button-card
--------------------------------*/
.c-button-card {
  align-items: center;
  background-color: var(--color-white);
  border: 1px solid var(--color-gray02);
  border-radius: 8px;
  box-shadow: var(--box-shadow-type03);
  display: flex;
  justify-content: center;
  min-height: 60px;
  padding: 10px calc(24px + var(--icon-size-small));
  position: relative;
  text-align: center;
  width: 100%;
}

.c-button-card::after {
  transition: background-color 0.4s 0s ease;
  background-color: var(--color-black);
  content: "";
  height: var(--icon-size-large);
  margin-top: calc(var(--icon-size-large) / 2 * -1);
  -webkit-mask: var(--mask-ico-chevron-right);
  mask: var(--mask-ico-chevron-right);
  position: absolute;
  right: 20px;
  top: 50%;
  width: var(--icon-size-large);
}

.c-button-card:active {
  box-shadow: none;
}

.c-button-card[disabled],
.c-button-card[aria-disabled="true"] {
  background-color: var(--color-light-gray02);
  color: var(--color-mufg-gray-50per);
  cursor: auto;
}

.c-button-card[disabled]::after,
.c-button-card[aria-disabled="true"]::after {
  background-color: rgb(var(--color-mufg-gray-50per-rgb) / 0.5);
}

.c-button-card[target="_blank"]::after {
  -webkit-mask: var(--mask-ico-blank);
  -webkit-mask-size: var(--icon-size-small) auto;
  mask: var(--mask-ico-blank);
  mask-size: var(--icon-size-small) auto;
}

.c-button-card:not([disabled]):not([aria-disabled="true"]) {
  overflow: hidden;
  position: relative;
}

.c-button-card:not([disabled]):not([aria-disabled="true"])::before {
  transition: opacity 0.4s 0s ease;
  background-color: var(--color-white);
  bottom: 0;
  content: "";
  left: 0;
  opacity: 0;
  position: absolute;
  pointer-events: none;
  right: 0;
  top: 0;
  z-index: 1;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-button-card:not([disabled]):not([aria-disabled="true"]):hover::before {
    opacity: var(--opacity-hover-50per);
  }
}

@media (hover: none) {
  .c-button-card:not([disabled]):not([aria-disabled="true"]):active::before {
    opacity: var(--opacity-hover-50per);
  }
}

@media all and (min-width: 768px), print {
  .c-button-card {
    max-width: 384px;
    min-height: 70px;
    padding: 10px calc(30px + var(--icon-size-small));
  }

  .c-button-card::after {
    right: 15px;
  }
}

@media all and (min-width: 768px), print {
  .c-button-card--pc-pl-narrow01 {
    padding-left: 16px;
  }
}

/* Elements required for icons on the left-hand side. */
.c-button-card--ico-document .c-button-card__text {
  align-items: center;
  display: inline-flex;
  text-align: left;
}

.c-button-card--ico-document .c-button-card__text::before {
  background: var(--bg-header-ico-document);
  content: "";
  display: inline-block;
  flex-shrink: 0;
  height: 32px;
  margin-right: 12px;
  width: 32px;
}

/*------------------------------
  Category-navigation
--------------------------------*/
@media all and (min-width: 768px), print {
  .c-category-navigation {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-category-navigation:not(:first-child) {
  margin-top: var(--spacing-80);
}

.c-category-navigation .c-button-quaternary:not(:first-child) {
  margin-top: 0;
}

.c-category-navigation .c-button-quaternary__blank {
  padding-left: 0;
}

@media all and (min-width: 768px), print {
  .c-category-navigation:not(:first-child) {
    margin-top: var(--spacing-120);
  }
}

.c-category-navigation-menu {
  background-color: var(--color-light-gray02);
  border-radius: 8px;
  padding: 40px 32px;
}

@media all and (min-width: 768px), print {
  .c-category-navigation-menu {
    padding: 56px 40px;
  }
}

.c-category-navigation-menu__title {
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
}

@media all and (min-width: 768px), print {
  .c-category-navigation-menu__title {
    font-size: 2.8rem;
  }
}

.c-category-navigation-menu-list {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  margin-top: var(--spacing-20);
  row-gap: 12px;
}

@media all and (min-width: 768px), print {
  .c-category-navigation-menu-list {
    gap: 20px;
    grid-template-columns: repeat(4, 1fr);
    margin-top: var(--spacing-40);
  }
}

.c-category-navigation-button {
  align-items: center;
  background-color: var(--color-white);
  border: 1px solid var(--color-gray02);
  border-radius: 8px;
  box-shadow: var(--box-shadow-type03);
  display: flex;
  height: 100%;
  padding: 12px calc(32px + var(--icon-size-small)) 12px 16px;
  position: relative;
  width: 100%;
}

.c-category-navigation-button::after {
  transition: background-color 0.4s 0s ease;
  background-color: var(--color-black);
  content: "";
  height: var(--icon-size-large);
  margin-top: calc(var(--icon-size-large) / 2 * -1);
  -webkit-mask: var(--mask-ico-chevron-right);
  mask: var(--mask-ico-chevron-right);
  position: absolute;
  right: 16px;
  top: 50%;
  width: var(--icon-size-large);
}

.c-category-navigation-button:active {
  box-shadow: none;
}

.c-category-navigation-button[target="_blank"]::after {
  -webkit-mask: var(--mask-ico-blank);
  -webkit-mask-size: var(--icon-size-small) auto;
  mask: var(--mask-ico-blank);
  mask-size: var(--icon-size-small) auto;
}

.c-category-navigation-button:not([disabled]):not([aria-disabled="true"]) {
  overflow: hidden;
  position: relative;
}

.c-category-navigation-button:not([disabled]):not([aria-disabled="true"])::before {
  transition: opacity 0.4s 0s ease;
  background-color: var(--color-white);
  bottom: 0;
  content: "";
  left: 0;
  opacity: 0;
  position: absolute;
  pointer-events: none;
  right: 0;
  top: 0;
  z-index: 1;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-category-navigation-button:not([disabled]):not([aria-disabled="true"]):hover::before {
    opacity: var(--opacity-hover-50per);
  }
}

@media (hover: none) {
  .c-category-navigation-button:not([disabled]):not([aria-disabled="true"]):active::before {
    opacity: var(--opacity-hover-50per);
  }
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-category-navigation-button {
      min-height: 62px;
    }
  }
}

.c-category-navigation-button__body {
  display: grid;
  row-gap: 12px;
}

.c-category-navigation-button__title {
  font-size: var(--note-large);
  font-weight: 700;
}

.c-category-navigation-button__text {
  font-size: var(--note-medium);
}

.c-category-navigation-sub-menu {
  display: grid;
  margin-top: var(--spacing-20);
  row-gap: 20px;
}

@media all and (min-width: 768px), print {
  .c-category-navigation-sub-menu {
    gap: 20px;
    grid-template-columns: repeat(4, 1fr);
  }
}

/*------------------------------
  Checkbox
--------------------------------*/
.c-checkbox-layout01 {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  row-gap: var(--spacing-20);
}
.c-checkbox-layout01--row01 {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-12) var(--spacing-20);
}
.c-checkbox-layout01--row02 {
  gap: var(--spacing-20);
}
.c-checkbox-layout01--agree01 {
  font-weight: 700;
  justify-items: center;
  margin-top: var(--spacing-24);
}
.c-checkbox-layout01 .c-checkbox01:not(:first-child) {
  margin-top: 0;
}
@media all and (min-width: 768px), print {
  .c-checkbox-layout .c-checkbox01:not(:first-child) {
    margin-top: 0;
  }
  .c-checkbox-layout01 {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
  .c-checkbox-layout01--row02 {
    gap: var(--spacing-12) var(--spacing-20);
    display: flex;
    flex-wrap: wrap;
  }
  :is(.c-checkbox-layout, .c-checkbox-layout01) .c-checkbox01 {
    margin-top: 0;
    margin-inline: 0;
    width: fit-content;
  }
}

@media all and (min-width: 768px), print {
  .c-checkbox01 {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-checkbox01:not(:first-child) {
  margin-top: var(--spacing-24);
}

.c-checkbox01--pos-center {
  align-items: center;
  column-gap: 8px;
  display: flex;
  justify-content: center;
}

.c-checkbox01__label {
  transition: opacity 0.4s 0s ease;
  cursor: pointer;
  column-gap: 8px;
  display: grid;
  grid-template-columns: auto 1fr;
}

.c-checkbox-layout01 .c-checkbox01__label {
  width: fit-content;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-checkbox01__label:hover {
    opacity: var(--opacity-hover-50per);
  }
}

@media (hover: none) {
  .c-checkbox01__label:active {
    opacity: var(--opacity-hover-50per);
  }
}

.c-checkbox01__label input[type="checkbox"] {
  margin: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
}

.c-checkbox01__label:has(input[type="checkbox"]:disabled) {
  pointer-events: none;
}

@media all and (min-width: 768px), print {
  .c-checkbox01__label {
    column-gap: 12px;
    position: relative;
  }

  .c-checkbox01__label input[type="checkbox"] {
    appearance: none;
    height: 20px;
    outline-offset: -1px;
    opacity: 1;
    top: 2px;
    width: 20px;
  }
}

.c-checkbox01__check-icon {
  aspect-ratio: 1;
  background-color: var(--color-white);
  border: solid 1px var(--color-gray02);
  border-radius: 4px;
  display: inline-block;
  margin: calc((1lh - 20px) / 2) 0;
  width: 20px;
}

.c-checkbox01__check-icon.err_bg {
  background-color: var(--color-light-red03);
  border-color: var(--color-light-red02);
}

input[type="checkbox"]:checked+.c-checkbox01__check-icon {
  display: grid;
  place-content: center;
  position: relative;
}

input[type="checkbox"]:checked+.c-checkbox01__check-icon:before {
  aspect-ratio: 1;
  content: "";
  display: block;
  width: 16px;
  background: var(--bg-ico-checkbox-check);
}

input[type="checkbox"]:disabled+.c-checkbox01__check-icon {
  border: solid 1px var(--color-mufg-gray-50per);
  display: grid;
  place-content: center;
  position: relative;
}

input[type="checkbox"]:disabled:checked+.c-checkbox01__check-icon:before {
  aspect-ratio: 1;
  content: "";
  display: block;
  width: 16px;
  background: var(--bg-ico-checkbox-check-gray);
}

.c-checkbox01__text {
  font-size: var(--text-medium);
}

input[type="checkbox"]:disabled~.c-checkbox01__text {
  color: var(--color-mufg-gray-50per);
}

.c-checkbox01__type {
  background-color: var(--color-deep-red);
  border-radius: 16px;
  color: var(--color-white);
  font-size: var(--note-large);
  display: inline-block;
  padding: 3px 12px 4px 12px;
  line-height: 1.4;
}

/*------------------------------
  Conversion
--------------------------------*/
/* Conversion-layout
----------------*/
.c-conversion-layout {
  background-color: var(--color-cv-yellow);
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-conversion-layout {
      margin-inline: calc(var(--content-main-inline-padding) * -1);
      position: relative;
    }
  }
}

.c-conversion-layout:not(:first-child) {
  margin-top: var(--spacing-80);
}

@media all and (min-width: 768px), print {
  .c-conversion-layout:not(:first-child) {
    margin-top: var(--spacing-120);
  }
}

.c-conversion-layout__inner {
  margin-inline: auto;
  max-width: var(--content-main-width);
  padding: 40px var(--content-main-inline-padding);
}

@media all and (min-width: 768px), print {
  .c-conversion-layout__inner {
    padding-left: 0;
    padding-right: 0;
  }
}

.c-conversion-foot:not(:first-child) {
  margin-top: var(--spacing-40);
}

@media all and (min-width: 768px), print {
  .c-conversion-foot:not(:first-child) {
    margin-top: var(--spacing-16);
  }
}

.c-conversion-foot__text {
  font-size: 1.4rem;
  text-align: center;
}

/* Conversion
----------------*/
.c-conversion-type01 {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  row-gap: var(--spacing-40);
}

@media all and (min-width: 768px), print {
  .c-conversion-type01 {
    column-gap: var(--spacing-24);
    grid-template-columns: 400px 400px 1fr;
    margin-inline: auto;
    width: fit-content;
  }

  .c-conversion-type01.c-conversion-type01--column1 {
    grid-template-columns: repeat(1, 1fr);
  }
}

@media print {
  .c-conversion-type01 {
    column-gap: var(--spacing-12);
    grid-template-columns: 380px 380px 1fr;
  }
}

.c-conversion-type01__button {
  margin-top: 10px;
}

@media all and (min-width: 768px), print {
  .c-conversion-type01__button {
    margin-top: 16px;
  }
}

@media all and (min-width: 768px), print {
  .c-conversion-type01__contact {
    padding-left: 8px;
  }

  .c-conversion-type01__contact>p:first-child {
    margin-right: 32px;
  }
}

.c-conversion-type01__phone {
  align-items: baseline;
  display: flex;
  justify-content: center;
  margin-top: 12px;
}

.c-conversion-type01__phone:has(.c-conversion-type01__text) {
  display: block;
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-conversion-type01__phone {
      margin-inline: auto;
      width: fit-content;
    }
  }
}

@media all and (min-width: 768px), print {
  .c-conversion-type01__phone:has(.c-conversion-type01__text) {
    display: flex;
  }
}

.c-conversion-type01__text {
  font-size: 1.6rem;
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-conversion-type01__text {
      text-align: right;
    }
  }
}

.c-conversion-type01__tel {
  /* To avoid generating line breaks at a screen size of 320px. */
  font-size: clamp(3rem, 9.6vw, 3.6rem);
  font-weight: 700;
  margin-left: 8px;
  padding-left: 48px;
  position: relative;
}

.c-conversion-type01__tel::before {
  background: var(--bg-img-dial);
  content: "";
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 4px;
  width: 40px;
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-conversion-type01__tel {
      color: var(--color-link-blue);
      text-decoration: underline;
    }
  }
}

@media all and (min-width: 768px), print {
  .c-conversion-type01__tel {
    font-size: 3.6rem;
    padding-left: 58px;
  }

  .c-conversion-type01__tel::before {
    width: 50px;
  }
}

.c-conversion-type01__ruby {
  column-gap: 9px;
  display: flex;
  /* To adjust at a screen size of 320px. */
  font-size: clamp(0.9rem, 3.2vw, 1.2rem);
  font-weight: 400;
  line-height: 1;
  position: absolute;
  right: 3px;
  top: -0.5em;
}

@media all and (min-width: 768px), print {
  .c-conversion-type01__ruby {
    font-size: 1.2rem;
  }
}

.c-conversion-type01__ruby--space-sm {
  column-gap: 7px;
}

.c-conversion-type01__image {
  flex-shrink: 0;
  max-width: 50px;
  width: 100%;
}

.c-conversion-type01__note {
  font-size: 1.1rem;
  margin-top: 4px;
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-conversion-type01__note {
      margin-inline: auto;
      width: fit-content;
    }
  }
}

@media all and (min-width: 768px), print {
  .c-conversion-type01__note {
    font-size: 1.2rem;
  }
}

.c-conversion-type02 {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  row-gap: var(--spacing-40);
}

@media all and (min-width: 768px), print {
  .c-conversion-type02 {
    column-gap: var(--spacing-40);
    grid-template-columns: repeat(auto-fit, minmax(0, 400px));
    margin: 0 auto;
    place-content: center;
  }
}

.c-conversion-type02__button {
  margin-top: 10px;
}

@media all and (min-width: 768px), print {
  .c-conversion-type02__button {
    margin-top: 16px;
  }
}

.c-conversion-type02__note {
  font-size: 1.1rem;
  margin: 4px auto 0;
  width: fit-content;
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-conversion-type02__note {
      margin-inline: auto;
    }
  }
}

@media all and (min-width: 768px), print {
  .c-conversion-type02__note {
    font-size: 1.2rem;
  }
}

.c-conversion-type03 {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  row-gap: var(--spacing-40);
}

@media all and (min-width: 768px), print {
  .c-conversion-type03 {
    column-gap: var(--spacing-16);
    grid-template-columns: 1fr 1fr;
    margin: 0 auto;
    width: 960px;
  }

  .c-conversion-type03>div:nth-child(1) {
    max-width: 600px;
  }
}

.c-conversion-type03--col1 {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  row-gap: 0;
}

@media all and (min-width: 768px), print {
  .c-conversion-type03--col1 {
    grid-template-columns: repeat(1, 1fr);
    margin: 0 auto;
    width: fit-content;
  }
}

.c-conversion-type03__lead {
  font-size: var(--heading-lv4);
  font-weight: 500;
  line-height: var(--line-height-medium);
  text-align: center;
}

.c-conversion-type03__name {
  font-size: 1.6rem;
  margin-top: 20px;
  text-align: center;
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-conversion-type03--houjin .c-conversion-type03__contact {
      margin-inline: auto;
    }
  }
}

@media all and (min-width: 768px), print {
  .c-conversion-type03__contact {
    display: grid;
    place-content: center;
    place-items: center;
  }

  .c-conversion-type03--houjin .c-conversion-type03__contact {
    place-items: start;
  }
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-conversion-type03__phone {
      margin-inline: auto;
      width: fit-content;
    }

    .c-conversion-type03--houjin .c-conversion-type03__phone {
      margin-inline: 0;
    }
  }
}

.c-conversion-type03__tel {
  /* To avoid generating line breaks at a screen size of 320px. */
  font-size: clamp(3rem, 9.6vw, 3.6rem);
  font-weight: 700;
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-conversion-type03__tel {
      color: var(--color-link-blue);
      text-decoration: underline;
    }
  }
}

@media all and (min-width: 768px), print {
  .c-conversion-type03__tel {
    font-size: 3.6rem;
  }
}

.c-conversion-type03__text {
  font-size: 1.6rem;
}

.c-conversion-type03__note {
  font-size: 1.1rem;
  margin: 4px auto 0;
  width: fit-content;
}

@media all and (min-width: 768px), print {
  .c-conversion-type03__note {
    font-size: 1.2rem;
  }
}

.c-conversion-type04 {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  row-gap: var(--spacing-40);
}

@media all and (min-width: 768px), print {
  .c-conversion-type04 {
    align-items: center;
    column-gap: var(--spacing-40);
    grid-template-columns: 1fr 400px;
    margin-inline: auto;
    width: fit-content;
  }
}

.c-conversion-type04__title {
  font-size: 2rem;
  font-weight: 500;
  text-align: center;
}

@media all and (min-width: 768px), print {
  .c-conversion-type04__title {
    font-size: 2.4rem;
  }
}

.c-conversion-type04__text {
  font-size: 1.6rem;
  font-weight: 400;
  margin-top: var(--spacing-20);
  text-align: center;
}

/*------------------------------
  Details(description)
--------------------------------*/
.c-description-list {
  display: grid;
  row-gap: var(--spacing-12);
}

@media all and (min-width: 768px), print {
  .c-description-list {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-description-list__item {
  display: flex;
  flex-direction: column;
  row-gap: var(--spacing-8);
}

@media all and (min-width: 768px), print {
  .c-description-list__item {
    column-gap: var(--spacing-12);
    flex-direction: row;
  }
}

.c-description-list__title {
  font-size: var(--text-large);
  font-weight: 700;
  line-height: var(--line-height-large);
}

@media all and (min-width: 768px), print {
  .c-description-list__title {
    flex-shrink: 0;
  }
}

.c-description-list__description {
  font-size: var(--text-large);
  line-height: var(--line-height-large);
}

@media all and (min-width: 768px), print {
  .c-description-list__description {
    flex-grow: 1;
  }
}

/*------------------------------
  Expansion
--------------------------------*/
@media all and (min-width: 768px), print {
  .c-expansion01-layout {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-expansion01-layout:not(:first-child) {
  margin-top: var(--spacing-12);
}

@media all and (min-width: 768px), print {
  .c-expansion01-layout {
    display: none;
  }
}

.c-expansion01 {
  align-items: center;
  display: flex;
  font-size: 1.2rem;
  font-weight: 500;
}

.c-expansion01::before {
  background: var(--bg-ico-zoom);
  content: "";
  display: inline-block;
  height: var(--icon-size-medium);
  margin-right: 8px;
  width: var(--icon-size-medium);
}

.c-expansion01__text {
  font-size: 1.2rem;
  font-weight: 500;
}

/*------------------------------
  Features
--------------------------------*/
/* Features-layout
----------------*/
.c-features-layout:not(:first-child) {
  margin-top: var(--spacing-32);
}

@media all and (min-width: 768px), print {
  .c-features-layout:not(:first-child) {
    margin-top: var(--spacing-40);
  }
}

.c-features-layout:has(.c-features01) {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  row-gap: var(--spacing-24);
}

@media all and (min-width: 768px), print {
  .c-features-layout:has(.c-features01) {
    margin-inline: auto;
    max-width: var(--content-sub-1000w);
    width: 100%;
  }
}

@media all and (min-width: 768px), print {
  .c-features-layout:has(.c-features01) {
    row-gap: var(--spacing-40);
  }
}

.c-features-layout:has(.c-features02) {
  display: grid;
  row-gap: var(--spacing-24);
}

@media all and (min-width: 768px), print {
  .c-features-layout:has(.c-features02) {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

@media all and (min-width: 768px), print {
  .c-features-layout:has(.c-features02) {
    column-gap: var(--spacing-24);
  }

  .c-features-layout:has(.c-features02):has(> :nth-child(1):last-child) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 500px;
  }

  .c-features-layout:has(.c-features02):has(> :nth-child(2):last-child) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 1024px;
  }

  .c-features-layout:has(.c-features02):has(> :nth-child(3)) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.c-features-layout:has(.c-features03) {
  display: grid;
  row-gap: var(--spacing-40);
}

@media all and (min-width: 768px), print {
  .c-features-layout:has(.c-features03) {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-features-layout:has(.c-features04) {
  flex-direction: column;
  flex-wrap: wrap;
  display: flex;
  row-gap: var(--spacing-24);
}

@media all and (min-width: 768px), print {
  .c-features-layout:has(.c-features04) {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

@media all and (min-width: 768px), print {
  .c-features-layout:has(.c-features04) {
    column-gap: var(--spacing-20);
    flex-direction: row;
    justify-content: center;
    row-gap: var(--spacing-40);
  }
}

/* Features01
----------------*/
.c-features01 {
  flex-direction: column-reverse;
  display: flex;
  column-gap: 8px;
}

@media all and (min-width: 768px), print {
  .c-features01 {
    align-items: center;
    column-gap: 40px;
    flex-direction: row;
    row-gap: 0;
  }

  .c-features01:has(.c-features01__prefix) {
    align-items: start;
  }

  .c-features01:nth-child(2n) {
    flex-direction: row-reverse;
  }
}

.c-features01__detail {
  flex-grow: 1;
}

.c-features01__prefix {
  color: var(--color-gray);
  font-size: 1.6rem;
  font-weight: 700;
}

@media all and (min-width: 768px), print {
  .c-features01__prefix {
    font-size: 2rem;
  }
}

.c-features01__number {
  display: inline-block;
  font-size: 4rem;
  margin-left: var(--spacing-8);
}

@media all and (min-width: 768px), print {
  .c-features01__number {
    font-size: 5.7rem;
    margin-left: 10px;
  }
}

.c-features01__title {
  font-size: var(--heading-lv3);
  line-height: var(--line-height-medium);
  margin-top: var(--spacing-20);
}

.c-features01__prefix+.c-features01__title {
  margin-top: var(--spacing-4);
}

@media all and (min-width: 768px), print {
  .c-features01__title {
    margin-top: 0;
  }

  .c-features01__prefix+.c-features01__title {
    margin-top: var(--spacing-20);
  }
}

.c-features01__text {
  margin-top: var(--spacing-20);
}

.c-features01__image {
  flex-shrink: 0;
  margin-inline: auto;
  max-width: 250px;
}

@media all and (min-width: 768px), print {
  .c-features01__image {
    max-width: 360px;
  }
}

/* Features02
----------------*/
@media all and (min-width: 768px), print {
  .c-features02 {
    column-gap: var(--spacing-40);
    flex-direction: row;
    row-gap: 0;
  }

  .c-features02:nth-child(2n) {
    flex-direction: row-reverse;
  }
}

.c-features02__prefix {
  color: var(--color-gray);
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
}

@media all and (min-width: 768px), print {
  .c-features02__prefix {
    font-size: 2rem;
  }
}

.c-features02__number {
  display: inline-block;
  font-size: 4rem;
  margin-left: var(--spacing-8);
}

@media all and (min-width: 768px), print {
  .c-features02__number {
    font-size: 5.7rem;
    margin-left: 10px;
  }
}

.c-features02__image {
  margin-inline: auto;
  max-width: 250px;
}

.c-features02__image:not(:first-child) {
  margin-top: var(--spacing-8);
}

.c-features02__image img {
  margin-inline: auto;
}

.c-features02__title {
  display: grid;
  justify-content: center;
  margin-top: var(--spacing-20);
}

.c-features02__heading {
  font-size: var(--heading-lv4);
  line-height: var(--line-height-medium);
  text-align: center;
}

.c-features02__text {
  display: grid;
  justify-content: center;
  margin-top: var(--spacing-20);
}

/* Features03
----------------*/
.c-features03__prefix {
  color: var(--color-gray);
  font-size: 1.6rem;
  font-weight: 700;
}

@media all and (min-width: 768px), print {
  .c-features03__prefix {
    font-size: 2rem;
  }
}

.c-features03__number {
  display: inline-block;
  font-size: 4rem;
  margin-left: var(--spacing-8);
}

@media all and (min-width: 768px), print {
  .c-features03__number {
    font-size: 5.7rem;
    margin-left: 10px;
  }
}

.c-features03__title {
  margin-top: var(--spacing-8);
}

@media all and (min-width: 768px), print {
  .c-features03__title {
    margin-top: var(--spacing-20);
  }
}

.c-features03__heading {
  font-size: var(--heading-lv3);
  line-height: var(--line-height-medium);
}

.c-features03__text {
  margin-top: var(--spacing-20);
}

/* Features04
----------------*/
@media all and (min-width: 768px), print {
  .c-features04 {
    width: calc((100% - 20px) / 2);
  }
}

.c-features04__prefix {
  color: var(--color-gray);
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
}

@media all and (min-width: 768px), print {
  .c-features04__prefix {
    font-size: 2rem;
  }
}

.c-features04__number {
  display: inline-block;
  font-size: 4rem;
  margin-left: var(--spacing-8);
}

@media all and (min-width: 768px), print {
  .c-features04__number {
    font-size: 5.7rem;
    margin-left: 10px;
  }
}

.c-features04__image:not(:first-child) {
  margin-top: var(--spacing-8);
}

.c-features04__image img {
  margin-inline: auto;
}

@media all and (min-width: 768px), print {
  .c-features04__image:not(:first-child) {
    margin-top: var(--spacing-16);
  }
}

.c-features04__title {
  margin-top: var(--spacing-20);
}

@media all and (min-width: 768px), print {
  .c-features04__title {
    margin-top: var(--spacing-24);
  }
}

.c-features04__heading {
  font-size: var(--heading-lv5);
  line-height: var(--line-height-medium);
}

/*------------------------------
  Frame
--------------------------------*/
.c-frame {
  display: block;
  height: 82px;
  overflow-y: auto;
  width: 100%;
}

@media all and (min-width: 768px), print {
  .c-frame {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-frame--mfcs {
  height: 270px;
}

@media all and (min-width: 768px), print {
  .c-frame--mfcs {
    height: 198px;
  }
}

/*------------------------------
  Grid
--------------------------------*/
.c-grid {
  display: grid;
  row-gap: var(--spacing-24);
}

@media all and (min-width: 768px), print {
  .c-grid {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-grid:not(:first-child) {
  margin-top: var(--spacing-40);
}

@media all and (min-width: 768px), print {
  .c-grid {
    column-gap: var(--spacing-24);
  }
}

@media all and (min-width: 768px), print {
  .c-grid--column2 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media all and (min-width: 768px), print {
  .c-grid--column3 {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media all and (min-width: 768px), print {
  .c-grid--column4 {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media all and (min-width: 768px), print {
  .c-grid--column6 {
    grid-template-columns: repeat(6, 1fr);
  }
}

@media all and (min-width: 768px), print {
  .c-grid--column12 {
    grid-template-columns: repeat(12, 1fr);
  }
}

@media all and (min-width: 768px), print {
  .c-grid--size-sm.c-grid--align-left {
    grid-template-columns: 282px 1fr;
  }
}

@media all and (min-width: 768px), print {
  .c-grid--size-md.c-grid--align-left {
    grid-template-columns: 384px 1fr;
  }
}

@media all and (min-width: 768px), print {
  .c-grid--size-lg.c-grid--align-left {
    grid-template-columns: 486px 1fr;
  }
}

@media all and (min-width: 768px), print {
  .c-grid--size-sm.c-grid--align-right {
    grid-template-columns: 1fr 282px;
  }
}

@media all and (min-width: 768px), print {
  .c-grid--size-md.c-grid--align-right {
    grid-template-columns: 1fr 384px;
  }
}

@media all and (min-width: 768px), print {
  .c-grid--size-lg.c-grid--align-right {
    grid-template-columns: 1fr 486px;
  }
}

/*------------------------------
  Image-box
--------------------------------*/
/* Image-box01
----------------*/
@media all and (min-width: 768px), print {
  .c-image-box01 {
    margin-inline: auto;
    max-width: var(--content-sub-1000w);
    width: 100%;
  }
}

.c-image-box01:not(:first-child) {
  margin-top: var(--spacing-32);
}

.c-title4+.c-image-box01 {
  margin-top: var(--spacing-20);
}

@media all and (min-width: 768px), print {
  .c-image-box01:not(:first-child) {
    margin-top: var(--spacing-56);
  }

  .c-title4+.c-image-box01 {
    margin-top: var(--spacing-28);
  }
}

.c-image-box01__link {
  overflow: hidden;
  position: relative;
  display: block;
  margin-inline: auto;
  width: fit-content;
}

.c-image-box01__link::before {
  transition: opacity 0.4s 0s ease;
  background-color: var(--color-white);
  bottom: 0;
  content: "";
  left: 0;
  opacity: 0;
  position: absolute;
  pointer-events: none;
  right: 0;
  top: 0;
  z-index: 1;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-image-box01__link:hover::before {
    opacity: var(--opacity-hover-50per);
  }
}

@media (hover: none) {
  .c-image-box01__link:active::before {
    opacity: var(--opacity-hover-50per);
  }
}

.c-image-box01__link:focus-visible {
  outline-offset: calc(-1 * var(--outline-width));
  padding: 3px;
}

.c-image-box01__image {
  margin-inline: auto;
}

.c-image-box01__image--shadow {
  border: solid 1px var(--color-gray02);
  border-radius: 8px;
  box-shadow: var(--box-shadow-type01);
}

/* Image-box02
----------------*/
.c-image-box02 {
  display: grid;
  gap: var(--spacing-24);
  grid-template-columns: repeat(1, 1fr);
}

@media all and (min-width: 768px), print {
  .c-image-box02 {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-image-box02:not(:first-child) {
  margin-top: var(--spacing-32);
}

.c-title4+.c-image-box02 {
  margin-top: var(--spacing-20);
}

@media all and (min-width: 768px), print {
  .c-image-box02 {
    grid-template-columns: repeat(2, 1fr);
  }

  .c-image-box02:not(:first-child) {
    margin-top: var(--spacing-56);
  }

  .c-title4+.c-image-box02 {
    margin-top: var(--spacing-28);
  }
}

.c-image-box02__link {
  overflow: hidden;
  position: relative;
}

.c-image-box02__link::before {
  transition: opacity 0.4s 0s ease;
  background-color: var(--color-white);
  bottom: 0;
  content: "";
  left: 0;
  opacity: 0;
  position: absolute;
  pointer-events: none;
  right: 0;
  top: 0;
  z-index: 1;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-image-box02__link:hover::before {
    opacity: var(--opacity-hover-50per);
  }
}

@media (hover: none) {
  .c-image-box02__link:active::before {
    opacity: var(--opacity-hover-50per);
  }
}

.c-image-box02__link:focus-visible {
  display: block;
  outline-offset: calc(-1 * var(--outline-width));
  padding: 3px;
}

.c-image-box02__image {
  margin-inline: auto;
}

.c-image-box02__image--shadow {
  box-shadow: var(--box-shadow-type01);
}

/*------------------------------
  Information
--------------------------------*/
/* Information01
----------------*/
.c-information01 {
  background-color: var(--color-light-red03);
  display: none;
  padding: 20px 35px;
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-information01 {
      margin-inline: calc(var(--content-main-inline-padding) * -1);
      position: relative;
    }
  }
}

.c-information01.is-active {
  display: block;
}

@media all and (min-width: 768px), print {
  .c-information01 {
    padding-left: 0;
    padding-right: 0;
  }
}

.c-information01__detail {
  color: var(--color-deep-red);
}

@media all and (min-width: 768px), print {
  .c-information01__detail {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-information01__title {
  align-items: center;
  display: flex;
  font-size: 1.8rem;
  font-weight: 700;
}

.c-information01__title::before {
  background: url("../../image/ico-warning.svg") no-repeat center/contain;
  content: "";
  display: inline-block;
  flex-shrink: 0;
  height: 26px;
  margin-right: 4px;
  width: 30px;
}

.c-information01__description {
  margin-top: 20px;
}

.c-information01__list {
  display: grid;
  row-gap: var(--spacing-16);
}

@media all and (min-width: 768px), print {
  .c-information01__list {
    row-gap: var(--spacing-12);
  }
}

.c-information01__item {
  display: grid;
  font-size: 1.5rem;
  row-gap: var(--spacing-16);
}

.c-information01__item a {
  transition: opacity 0.4s 0s ease;
  text-decoration: underline;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-information01__item a:hover {
    opacity: var(--opacity-hover-50per);
    text-decoration: none;
  }
}

@media (hover: none) {
  .c-information01__item a:active {
    opacity: var(--opacity-hover-50per);
    text-decoration: none;
  }
}

.c-information01__item a:where([target="_blank"], [href*=".pdf"])::after {
  content: "";
  display: inline-block;
  margin-left: 8px;
  position: relative;
  /* Necessary if the componees are nested, e.g. if they are used in a list componee. */
  vertical-align: text-top;
}

.c-information01__item a[target="_blank"]::after {
  background: var(--bg-ico-blank);
  height: var(--icon-size-small);
  top: calc((1em * var(--line-height-medium) - var(--icon-size-small)) / 2);
  width: var(--icon-size-small);
}

.c-information01__item a[href*=".pdf"]::after {
  background: var(--bg-ico-pdf);
  height: var(--icon-size-large);
  top: calc((1em * var(--line-height-medium) - var(--icon-size-large)) / 2);
  width: var(--icon-size-large);
}

.c-information01__script,
.c-information01__template {
  display: none;
}

/* Information02
----------------*/
.c-information02 {
  display: none;
  margin-top: 30px;
  padding: 0 15px;
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-information02 {
      margin-inline: calc(var(--content-main-inline-padding) * -1);
      position: relative;
    }
  }
}

@media all and (min-width: 768px), print {
  .c-information02 {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-information02:not(:first-child) {
  margin-top: var(--spacing-28);
}

.c-information02.is-active {
  display: block;
}

@media all and (min-width: 768px), print {
  .c-information02 {
    padding: 0;
  }

  .c-information02:not(:first-child) {
    margin-top: var(--spacing-32);
  }
}

.c-information02__detail {
  /* Exceptionally, use colours that are not custom properties. */
  background-color: #fff0cf;
  border-radius: 4px;
  gap: var(--spacing-20) 0;
  display: grid;
  grid-template-columns: 1fr;
  padding: 20px;
  position: relative;
}

@media all and (min-width: 768px), print {
  .c-information02__detail {
    padding: 28px 40px 36px;
  }
}

.c-information02__title {
  align-items: center;
  display: flex;
  font-size: 1.6rem;
  font-weight: 500;
}

.c-information02__title::before {
  background: url("../../image/ico-information.svg") no-repeat center/contain;
  content: "";
  display: inline-block;
  flex-shrink: 0;
  height: 18px;
  margin-right: 5px;
  width: 18px;
}

.c-information02__description {
  overflow: hidden;
  opacity: 0;
  transition: opacity 0.4s 0s ease;
}

.c-information02__description:has(.c-information02__slider:where(.no-slider, .is-active)) {
  opacity: 1;
}

.c-information02__description:has(.c-information02__slider:not(.no-slider):not(.is-active)) {
  max-height: calc((1.5em * 3) + (16px * 2));
}

@media all and (min-width: 768px), print {
  .c-information02__description:has(.c-information02__slider:not(.no-slider):not(.is-active)) {
    max-height: calc((1.5em * 3) + (12px * 2));
  }
}

.c-information02__slider {
  font-size: var(--text-large);
  font-weight: 700;
  /* If the instance is not created, the 'is-initialized' class may not be added by 'splide' and displayed. */
  visibility: visible;
}

.c-information02__list {
  display: block;
}

.c-information02__slider:not(.is-active) .c-information02__list {
  display: grid;
  row-gap: var(--spacing-16);
}

@media not print {
  @media not all and (min-width: 375px) {
    .c-information02__slider {
      font-size: 1.3rem;
    }
  }
}

@media all and (min-width: 768px), print {
  .c-information02__slider:not(.is-active) .c-information02__list {
    row-gap: var(--spacing-12);
  }
}

.c-information02__slider.is-active .c-information02__item {
  min-height: calc(1em * var(--line-height-medium));
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.c-information02__item:has(a:focus-visible) {
  outline: var(--color-light-red02) solid var(--outline-width);
  outline-offset: calc(-1 * var(--outline-width));
}

.c-information02__item a {
  transition: opacity 0.4s 0s ease;
  text-decoration: underline;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-information02__item a:hover {
    opacity: var(--opacity-hover-50per);
    text-decoration: none;
  }
}

@media (hover: none) {
  .c-information02__item a:active {
    opacity: var(--opacity-hover-50per);
    text-decoration: none;
  }
}

.c-information02__item a:focus-visible {
  outline: none;
}

.c-information02__more {
  transition: opacity 0.4s 0s ease;
  font-size: var(--text-medium);
  line-height: var(--line-height-medium);
  align-items: center;
  display: flex;
  position: absolute;
  right: 20px;
  top: 22px;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-information02__more:hover {
    opacity: var(--opacity-hover-50per);
  }
}

@media (hover: none) {
  .c-information02__more:active {
    opacity: var(--opacity-hover-50per);
  }
}

.c-information02__more:focus-visible {
  outline-offset: calc(-1 * var(--outline-width));
}

.c-information02__more::after {
  background: var(--bg-ico-chevron-round-right);
  content: "";
  display: inline-block;
  flex-shrink: 0;
  height: 18px;
  margin-left: 5px;
  width: 18px;
}

@media all and (min-width: 768px), print {
  .c-information02__more::after {
    height: var(--icon-size-medium);
    margin-left: 10px;
    width: var(--icon-size-medium);
  }
}

@media print {
  .c-information02__more {
    /* For Edge */
    display: block;
  }
}

.c-information02__script,
.c-information02__template {
  display: none;
}

/* Information03
----------------*/
@media all and (min-width: 768px), print {
  .c-information03 {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-information03__list {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  row-gap: var(--spacing-40);
}

.c-information03__list[hidden] {
  display: none;
}

.c-information03__item:not(:first-child) {
  position: relative;
}

.c-information03__item:not(:first-child)::before {
  background-color: var(--color-gray);
  content: "";
  height: 1px;
  position: absolute;
  top: -20px;
  width: 100%;
  z-index: 1;
}

.c-information03__head {
  font-size: var(--text-medium);
  line-height: var(--line-height-medium);
}

.c-information03__body {
  font-size: var(--text-large);
  line-height: var(--line-height-large);
}

.c-information03__body:not(:first-child) {
  margin-top: 12px;
}

.c-information03__body a {
  transition: opacity 0.4s 0s ease;
  text-decoration: underline;
  color: var(--color-link-blue);
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-information03__body a:hover {
    opacity: var(--opacity-hover-50per);
    text-decoration: none;
  }
}

@media (hover: none) {
  .c-information03__body a:active {
    opacity: var(--opacity-hover-50per);
    text-decoration: none;
  }
}

.c-information03__body a:where([target="_blank"], [href*=".pdf"])::after {
  content: "";
  display: inline-block;
  margin-left: 8px;
  position: relative;
  /* Necessary if the componees are nested, e.g. if they are used in a list componee. */
  vertical-align: text-top;
}

.c-information03__body a[target="_blank"]::after {
  background: var(--bg-ico-blank);
  height: var(--icon-size-small);
  top: calc((1em * var(--line-height-medium) - var(--icon-size-small)) / 2);
  width: var(--icon-size-small);
}

.c-information03__body a[href*=".pdf"]::after {
  background: var(--bg-ico-pdf);
  height: var(--icon-size-large);
  top: calc((1em * var(--line-height-medium) - var(--icon-size-large)) / 2);
  width: var(--icon-size-large);
}

.c-information03__nodata {
  font-size: var(--text-large);
  line-height: var(--line-height-large);
}

.c-information03__nodata[hidden] {
  display: none;
}

.c-information03__script,
.c-information03__template {
  display: none;
}

/*------------------------------
  Introduction-panel
--------------------------------*/
.c-introduction-panel {
  background-color: var(--color-light-red03);
  overflow: hidden;
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-introduction-panel {
      margin-inline: calc(var(--content-main-inline-padding) * -1);
      position: relative;
    }
  }
}

.c-introduction-panel:not(:first-child) {
  margin-top: var(--spacing-80);
}

@media all and (min-width: 768px), print {
  .c-introduction-panel:not(:first-child) {
    margin-top: var(--spacing-120);
  }
}

.c-introduction-panel__inner {
  margin-inline: auto;
  min-height: 544px;
  padding: 56px 25px;
  overflow-x: hidden;
}

@media all and (min-width: 768px), print {
  .c-introduction-panel__inner {
    align-items: center;
    display: flex;
    overflow-x: visible;
    padding: 0 0 0 100px;
    position: relative;
    width: 1200px;
  }
}

.c-introduction-panel__detail {
  display: grid;
}

@media all and (min-width: 768px), print {
  .c-introduction-panel__detail {
    display: block;
    max-width: 500px;
  }
}

.c-introduction-panel__title {
  font-size: var(--heading-lv2);
  line-height: var(--line-height-medium);
  margin-bottom: 40px;
  order: 1;
  text-align: center;
}

.c-introduction-panel__text {
  font-size: var(--text-large);
  line-height: var(--line-height-large);
  text-align: center;
  margin-top: var(--spacing-24);
  order: 3;
}

@media all and (min-width: 768px), print {
  .c-introduction-panel__text {
    margin-top: var(--spacing-40);
  }
}

.c-introduction-panel__button {
  display: flex;
  justify-content: center;
  margin-top: 32px;
  order: 4;
}

@media all and (min-width: 768px), print {
  .c-introduction-panel__button {
    margin-top: var(--spacing-40);
  }
}

.c-introduction-panel__image {
  margin: 0 calc(50% - 50vw);
  order: 2;
  pointer-events: none;
  width: 100vw;
}

.c-introduction-panel__image img {
  margin-inline: 0;
}

@media all and (min-width: 768px), print {
  .c-introduction-panel__image {
    bottom: 0;
    left: 50%;
    margin: 0;
    position: absolute;
    translate: -50% 0;
    width: 1920px;
  }
}

/*------------------------------
  Label
--------------------------------*/
.c-label {
  font-size: var(--note-large);
  line-height: var(--line-height-large);
  display: inline-block;
  background-color: var(--color-mufg-gray);
  border-radius: 16px;
  color: var(--color-white);
  padding: 3px 12px 4px 12px;
}

.c-label--deep-red {
  background-color: var(--color-deep-red);
}

/*------------------------------
  Latest-information
--------------------------------*/
@media all and (min-width: 768px), print {
  .c-latest-information {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-latest-information table {
  font-size: var(--text-large) !important;
  display: block;
  margin: 0 !important;
  width: 100% !important;
}

.c-latest-information tbody {
  display: grid;
  row-gap: 24px;
}

@media all and (min-width: 768px), print {
  .c-latest-information tbody {
    row-gap: 20px;
  }
}

.c-latest-information tr {
  border-bottom: solid 1px var(--color-gray02);
  display: grid;
  padding-bottom: 24px;
  row-gap: 12px;
}

@media all and (min-width: 768px), print {
  .c-latest-information tr {
    padding-bottom: 20px;
  }
}

.c-latest-information td {
  display: block;
  padding: 0;
  width: 100% !important;
}

.c-latest-information td:nth-child(1) {
  font-size: var(--text-medium) !important;
}

.c-latest-information td:nth-child(2) {
  font-size: var(--text-large) !important;
}

.c-latest-information td a {
  font-size: var(--text-large);
  line-height: var(--line-height-large);
  transition: opacity 0.4s 0s ease;
  text-decoration: underline;
  color: var(--color-link-blue);
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-latest-information td a:hover {
    opacity: var(--opacity-hover-50per);
    text-decoration: none;
  }
}

@media (hover: none) {
  .c-latest-information td a:active {
    opacity: var(--opacity-hover-50per);
    text-decoration: none;
  }
}

.c-latest-information td a[target="_blank"]::after {
  background: var(--bg-ico-blank);
  content: "";
  display: inline-block;
  height: var(--icon-size-small);
  margin-inline: 4px;
  position: relative;
  top: calc((1em * var(--line-height-medium) - var(--icon-size-small)) / 2);
  /* Necessary if the componees are nested, e.g. if they are used in a list componee. */
  vertical-align: text-top;
  width: var(--icon-size-small);
}

/*------------------------------
  Link
--------------------------------*/
/* Link-layout
----------------*/
.c-link-layout {
  display: flex;
}

@media all and (min-width: 768px), print {
  .c-link-layout {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-link-layout:not(:first-child) {
  margin-top: var(--spacing-48);
}

@media all and (min-width: 768px), print {
  .c-link-layout:not(:first-child) {
    margin-top: var(--spacing-56);
  }
}

/* Link
----------------*/
.c-link {
  font-size: var(--text-large);
  line-height: var(--line-height-large);
  transition: opacity 0.4s 0s ease;
  text-decoration: underline;
  color: var(--color-link-blue);
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-link:hover {
    opacity: var(--opacity-hover-50per);
    text-decoration: none;
  }
}

@media (hover: none) {
  .c-link:active {
    opacity: var(--opacity-hover-50per);
    text-decoration: none;
  }
}

[class^="c-"]:not(.c-link-layout)>.c-link {
  font-size: inherit;
}

.c-link[href^="tel:"] {
  font-size: 3.6rem;
  font-weight: 700;
}

@media all and (min-width: 768px), print {
  .c-link[href^="tel:"] {
    color: var(--color-black);
    text-decoration: none;
  }
}

.c-link--new::before {
  content: "";
  background: var(--bg-ico-new);
  display: inline-block;
  height: var(--icon-size-large);
  margin-right: 8px;
  position: relative;
  top: calc((1em * var(--line-height-medium) - var(--icon-size-large)) / 2);
  /* Necessary if the componees are nested, e.g. if they are used in a list componee. */
  vertical-align: text-top;
  width: 40px;
}

.c-link--new::before:not(:first-child) {
  margin-left: 8px;
}

[class*="c-link--ico"]::after {
  content: "";
  display: inline-block;
  height: var(--icon-size-large);
  margin-inline: 4px;
  position: relative;
  top: calc((1em * var(--line-height-medium) - var(--icon-size-large)) / 2);
  /* Necessary if the componees are nested, e.g. if they are used in a list componee. */
  vertical-align: text-top;
  width: var(--icon-size-large);
}

.c-link--ico-blank::after {
  background: var(--bg-ico-blank);
  height: var(--icon-size-small);
  top: calc((1em * var(--line-height-medium) - var(--icon-size-small)) / 2);
  width: var(--icon-size-small);
}

.c-link--ico-pdf::after {
  background: var(--bg-ico-pdf);
}

.c-link--ico-excel::after {
  background: var(--bg-ico-excel);
}

.c-link--ico-word::after {
  background: var(--bg-ico-word);
}

.c-link--ico-ppt::after {
  background: var(--bg-ico-ppt);
}

.c-link--ico-movie::after {
  background: var(--bg-ico-movie);
}

.c-link--ico-zip::after {
  background: var(--bg-ico-zip);
}

.c-link--ico-anchor {
  padding-left: 0.4em;
}

.c-link--ico-anchor::after {
  background-color: var(--color-link-blue);
  -webkit-mask: var(--mask-ico-chevron-bottom);
  margin-right: 0px;
  mask: var(--mask-ico-chevron-bottom);
}

/* Link-detail
----------------*/
.c-link-detail {
  align-items: center;
  background-color: var(--color-light-gray02);
  display: grid;
  grid-template-columns: 1fr 1.783fr;
  padding: 20px;
  row-gap: 12px;
  width: 100%;
}

@media all and (min-width: 768px), print {
  .c-link-detail {
    grid-template-columns: auto 1fr;
  }
}

.c-link-detail__title {
  font-size: var(--text-large);
  font-weight: 700;
  line-height: var(--line-height-large);
  flex-shrink: 0;
  padding-right: 8px;
}

@media all and (min-width: 768px), print {
  .c-link-detail__title {
    padding-right: 12px;
  }
}

.c-link-detail__title--fz-sm {
  font-size: var(--text-medium);
  line-height: var(--line-height-medium);
  font-weight: 500;
}

.c-link-detail__description {
  font-size: var(--text-large);
  line-height: var(--line-height-large);
  padding-left: 8px;
  position: relative;
}

.c-link-detail__description::before {
  background-color: var(--color-mufg-gray-50per);
  content: "";
  height: 100%;
  left: -1px;
  position: absolute;
  top: 0;
  width: 1px;
}

@media all and (min-width: 768px), print {
  .c-link-detail__description {
    padding-left: 12px;
  }
}

/*------------------------------
  List
--------------------------------*/
.c-list {
  display: grid;
  row-gap: var(--spacing-16);
}

@media all and (min-width: 768px), print {
  .c-list {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-list:not(:first-child) {
  margin-top: var(--spacing-32);
}

.c-list__item .c-list {
  margin-top: var(--spacing-16);
  padding: 0;
}

@media all and (min-width: 768px), print {
  .c-list {
    row-gap: var(--spacing-12);
  }

  .c-list:not(:first-child) {
    margin-top: var(--spacing-40);
  }

  .c-list__item .c-list,
  .c-list__flex-item .c-list {
    margin-top: var(--spacing-20);
  }
}

.c-list--fz-sm:not(:first-child),
.c-list--fz-sl:not(:first-child) {
  margin-top: var(--spacing-16);
}

@media all and (min-width: 768px), print {

  .c-list--fz-sm:not(:first-child),
  .c-list--fz-sl:not(:first-child) {
    margin-top: var(--spacing-12);
  }
}

.c-list__item {
  font-size: var(--text-medium);
  line-height: var(--line-height-medium);
  column-gap: var(--spacing-8);
  display: grid;
  grid-template-columns: 1em minmax(0, 1fr);
}

.c-list--fz-lg .c-list__item {
  font-size: var(--text-large);
  line-height: var(--line-height-large);
}

.c-list--fz-sm .c-list__item {
  font-size: var(--note-medium);
  line-height: var(--line-height-large);
}

.c-list--fz-sl .c-list__item {
  font-size: var(--note-large);
  line-height: var(--line-height-large);
}

@media all and (min-width: 768px), print {
  .c-list__item {
    column-gap: var(--spacing-12);
  }
}

.c-list__item--size-md {
  grid-template-columns: 1.475em minmax(0, 1fr);
}

.c-list__item--size-lg {
  grid-template-columns: 1.9125em minmax(0, 1fr);
}

.c-list__item--size-xl {
  grid-template-columns: 2.225em minmax(0, 1fr);
}

.c-list__item--size-xxl {
  grid-template-columns: 4.225em minmax(0, 1fr);
}

.c-list__item--no-marker {
  grid-template-columns: 1fr;
}

.c-list__marker {
  overflow-wrap: normal;
  /* To prevent line breaks depending on the device. */
  white-space: nowrap;
}

.c-list__marker--color-red {
  color: var(--color-mufg-red);
}

.c-list__flex-item {
  font-size: var(--text-medium);
  line-height: var(--line-height-medium);
  column-gap: var(--spacing-8);
  display: flex;
}

.c-list--fz-lg .c-list__flex-item {
  font-size: var(--text-large);
  line-height: var(--line-height-large);
}

.c-list--fz-sm .c-list__flex-item {
  font-size: var(--note-medium);
  line-height: var(--line-height-large);
}

.c-list--fz-sl .c-list__flex-item {
  font-size: var(--note-large);
  line-height: var(--line-height-large);
}

@media all and (min-width: 768px), print {
  .c-list__flex-item {
    column-gap: var(--spacing-4);
  }
}

.c-list__flex-marker {
  flex-shrink: 0;
  width: 2em;
}

/*------------------------------
  MainVisual
--------------------------------*/
.c-main-visual {
  background-color: var(--color-light-red03);
  height: auto;
  margin-bottom: var(--spacing-48);
  position: relative;
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-main-visual {
      margin-inline: calc(var(--content-main-inline-padding) * -1);
      position: relative;
    }
  }
}

@media all and (min-width: 768px), print {
  .c-main-visual {
    margin-bottom: var(--spacing-80);
  }
}

@media all and (min-width: 768px), print {
  .c-main-visual--type-image {
    min-height: 364px;
    margin-bottom: 142px;
  }
}

.c-main-visual__inner {
  position: relative;
}

@media all and (min-width: 768px), print {
  .c-main-visual__inner {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-main-visual__body {
  padding: 40px 24px;
}

.s-container:has([data-module="include"][data-type="button_simple"]) .c-main-visual__body {
  padding: 90px 24px 40px;
}

@media all and (min-width: 768px), print {
  .c-main-visual__body {
    padding: 40px 0 80px;
  }

  .c-main-visual--type-image .c-main-visual__body {
    display: flex;
    padding: 40px 0 20px;
    max-width: 620px;
    min-height: 302px;
    width: 100%;
  }

  .s-container:has([data-module="include"][data-type="button_simple"]) .c-main-visual__body {
    padding: 90px 0 80px;
  }
}

@media print {
  .c-main-visual--type-image .c-main-visual__body {
    max-width: 580px;
  }
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-main-visual__image {
      width: fit-content;
      margin-inline: auto;
    }
  }
}

@media all and (min-width: 768px), print {
  .c-main-visual__image {
    bottom: -52px;
    max-width: 540px;
    position: absolute;
    right: 0;
  }

  .c-main-visual__image img {
    border-radius: 8px;
  }
}

.c-main-visual__catch {
  background-color: var(--color-white);
}

.c-main-visual__inner:has(.c-main-visual__hero) {
  padding-bottom: 56px;
  position: relative;
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-main-visual__inner:has(.c-main-visual__logo-area--pos-down) {
      padding-bottom: 96px;
    }
  }
}

.c-main-visual__hero {
  margin-left: auto;
  width: fit-content;
}

.c-main-visual__logo-area {
  align-items: center;
  background-color: var(--color-white);
  bottom: 0;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  left: 15px;
  max-width: 159px;
  min-height: 151px;
  padding: 16px 15px;
  position: absolute;
  width: 100%;
}

@media all and (min-width: 768px), print {
  .c-main-visual__logo-area {
    max-width: 486px;
    min-height: 399px;
    padding: 60px 44px 70px;
  }
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-main-visual__logo {
      padding: 0 15px 0 14px;
    }
  }
}

.c-main-visual__text {
  font-size: 1rem;
  font-weight: 700;
  line-height: var(--line-height-large);
  margin-top: var(--spacing-8);
  text-align: center;
}

@media all and (min-width: 768px), print {
  .c-main-visual__text {
    font-size: 2rem;
    line-height: var(--line-height-medium);
    margin-top: var(--spacing-40);
  }
}

/*------------------------------
  Modal
--------------------------------*/
.c-modal {
  display: none;
  height: 100%;
  left: 0;
  overflow: auto;
  overscroll-behavior-y: none;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: var(--z-layer-max);
}

.c-modal.is-active {
  display: grid;
}

.c-modal__inner {
  background-color: var(--overlay-type01);
  display: grid;
  padding: 56px var(--content-main-inline-padding);
  place-content: center;
}

.c-modal--type01 .c-modal__inner {
  height: 100dvh;
  padding: 80px var(--content-main-inline-padding);
}

@media all and (min-width: 768px), print {
  .c-modal--type01 .c-modal__inner {
    padding: 60px var(--content-main-inline-padding) 40px;
  }
}

.c-modal__body {
  background-color: var(--color-white);
  border-radius: 8px;
  box-shadow: var(--box-shadow-type03);
  padding: 36px 20px 20px;
  position: relative;
}

.c-modal--type01 .c-modal__body {
  height: calc(100dvh - 80px);
  padding: 40px 16px;
}

@media all and (min-width: 768px), print {
  .c-modal__body {
    margin-inline: auto;
    padding: 32px 32px 20px;
    width: var(--modal-720w);
  }

  .c-modal--type01 .c-modal__body {
    height: calc(100dvh - 112px);
    padding: 56px 12px 56px 80px;
    width: var(--modal-1000w);
  }
}

.c-modal__content {
  height: 100%;
  overflow-y: auto;
  width: 100%;
}

@media all and (min-width: 768px), print {
  .c-modal__content {
    padding-right: 68px;
  }
}

.c-modal__title {
  font-size: var(--heading-lv4);
  font-weight: 700;
  line-height: var(--line-height-medium);
  margin-bottom: 19px;
  text-align: center;
}

@media all and (min-width: 768px), print {
  .c-modal__title {
    margin-bottom: 32px;
  }
}

.c-modal__close {
  align-items: center;
  background-color: var(--color-white);
  box-shadow: var(--box-shadow-type04);
  border: 1px solid var(--color-gray02);
  border-radius: 50%;
  display: flex;
  height: 40px;
  justify-content: center;
  position: absolute;
  right: -20px;
  top: -20px;
  width: 40px;
  z-index: 1;
}

.c-modal__close::before {
  background: var(--bg-ico-close);
  content: "";
  display: block;
  height: var(--icon-size-small);
  width: var(--icon-size-small);
}

@media all and (min-width: 768px), print {
  .c-modal__close {
    height: 45px;
    right: -23px;
    top: -23px;
    width: 45px;
  }
}

.c-modal__button {
  align-items: center;
  background-color: var(--color-white);
  border: 1px solid var(--color-black);
  border-radius: 20px;
  display: flex;
  font-size: 1.6rem;
  height: 40px;
  justify-content: center;
  margin: 37px auto 0;
  width: 120px;
}

.c-modal__button:before {
  background: var(--bg-ico-close);
  content: "";
  display: inline-block;
  height: var(--icon-size-small);
  margin-right: 8px;
  width: var(--icon-size-small);
}

@media all and (min-width: 768px), print {
  .c-modal__button {
    margin-top: 24px;
  }
}

/*------------------------------
  Movie-box
--------------------------------*/
.c-movie-box01 {
  aspect-ratio: 16/9;
  display: grid;
  height: auto;
  max-width: 768px;
  place-content: center;
  position: relative;
}

.c-movie-box01:not(:first-child) {
  margin-top: var(--spacing-32);
}

.c-movie-box01 iframe {
  aspect-ratio: 16/9;
  height: auto;
  max-width: 100%;
}

@media all and (min-width: 768px), print {
  .c-movie-box01 {
    margin-inline: auto;
    width: 100%;
  }

  .c-movie-box01:not(:first-child) {
    margin-top: var(--spacing-40);
  }
}

/*------------------------------
  Page-top
--------------------------------*/
@media not print {
  @media not all and (min-width: 768px) {
    .c-page-top {
      margin-inline: calc(var(--content-main-inline-padding) * -1);
      position: relative;
    }
  }
}

.c-page-top__inner {
  background-color: var(--color-mufg-gray-75per);
  display: grid;
  padding: 12px 0;
  place-content: center;
}

.c-page-top__inner:focus-visible {
  outline-offset: calc(-1 * var(--outline-width));
}

@media all and (min-width: 768px), print {
  .c-page-top__inner {
    padding: 20px 0;
  }
}

.c-page-top__text {
  align-items: center;
  color: var(--color-white);
  display: flex;
  font-size: 1.6rem;
  font-weight: 700;
}

.c-page-top__text::before {
  background: var(--bg-ico-top);
  content: "";
  display: inline-block;
  flex-shrink: 0;
  height: var(--icon-size-medium);
  margin-right: 12px;
  width: var(--icon-size-medium);
}

/*------------------------------
  Panel-button
--------------------------------*/
/* Panel-button-layout
----------------*/
.c-panel-button-layout:where(:not(.c-panel-button-layout--slider)) {
  display: grid;
  gap: var(--spacing-24);
  grid-template-columns: repeat(1, 1fr);
}

@media all and (min-width: 768px), print {
  .c-panel-button-layout:where(:not(.c-panel-button-layout--slider)) {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-panel-button-layout:not(:first-child) {
  margin-top: var(--spacing-32);
}

@media all and (min-width: 768px), print {
  .c-panel-button-layout:not(:first-child) {
    margin-top: var(--spacing-40);
  }
}

@media all and (min-width: 768px), print {
  .c-panel-button-layout--column1 {
    grid-template-columns: repeat(1, 50%);
    justify-content: center;
  }
}

@media all and (min-width: 768px), print {
  .c-panel-button-layout--column2 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media all and (min-width: 768px), print {
  .c-panel-button-layout--column3 {
    grid-template-columns: repeat(3, 1fr);
  }
}

.c-panel-button-layout--column3:has(> :nth-child(2):last-child) {
  grid-template-columns: repeat(auto-fit, minmax(0, 384px));
  place-content: center;
}

@media all and (min-width: 768px), print {
  .c-panel-button-layout--column4 {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-panel-button-layout--slider .c-panel-button01:only-child {
      height: 100%;
    }
  }
}

.c-slider:not(.is-active) .c-panel-button-layout--slider,
.c-slider.is-initialized:not(.is-active) .c-panel-button-layout--slider {
  /* 'is-initialized, is-active' is a class dynamically assigned by 'splide in vender' */
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  row-gap: var(--spacing-24);
}

@media all and (min-width: 768px), print {

  .c-slider:not(.is-active) .c-panel-button-layout--slider,
  .c-slider.is-initialized:not(.is-active) .c-panel-button-layout--slider {
    /* 'is-initialized, is-active' is a class dynamically assigned by 'splide in vender' */
    grid-template-columns: repeat(auto-fit, minmax(0, 384px));
    column-gap: var(--spacing-24);
    place-content: center;
  }
}

@media print {

  .c-slider:not(.is-active) .c-panel-button-layout--slider,
  .c-slider.is-initialized:not(.is-active) .c-panel-button-layout--slider {
    grid-template-columns: repeat(auto-fit, minmax(0, calc((100% - 48px) / 3)));
  }
}

@media all and (min-width: 768px), print {
  .c-panel-button-layout__item :where(.c-panel-button01, .c-panel-button02, .c-panel-button03):only-child {
    height: 100%;
  }
}

/* Panel-button01
----------------*/
.c-panel-button01 {
  overflow: hidden;
  position: relative;
  background-color: var(--color-white);
  box-shadow: var(--box-shadow-type01);
  border: 1px solid var(--color-gray02);
  border-radius: 8px;
  break-inside: avoid;
  display: block;
}

.c-panel-button01::before {
  transition: opacity 0.4s 0s ease;
  background-color: var(--color-white);
  bottom: 0;
  content: "";
  left: 0;
  opacity: 0;
  position: absolute;
  pointer-events: none;
  right: 0;
  top: 0;
  z-index: 1;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-panel-button01:hover::before {
    opacity: var(--opacity-hover-50per);
  }
}

@media (hover: none) {
  .c-panel-button01:active::before {
    opacity: var(--opacity-hover-50per);
  }
}

.c-panel-button01__image {
  width: 100%;
}

@media all and (min-width: 768px), print {
  .c-panel-button01__image {
    flex-shrink: 0;
  }
}

.c-panel-button01__detail {
  flex-grow: 1;
  padding: 20px 32px 24px;
}

.c-panel-button01__detail--border-top {
  border-top: solid 1px var(--color-gray02);
}

.c-panel-button01__title {
  font-size: var(--text-medium);
  font-weight: 700;
  line-height: var(--line-height-medium);
  padding-right: 40px;
  position: relative;
}

.c-panel-button01__title::after {
  background: var(--bg-ico-chevron-right);
  content: "";
  display: block;
  height: var(--icon-size-small);
  margin-top: calc(var(--icon-size-small) / 2 * -1);
  position: absolute;
  right: 0;
  top: 50%;
  width: var(--icon-size-small);
}

.c-panel-button01[target="_blank"] .c-panel-button01__title::after {
  background: var(--bg-ico-blank);
}

.c-panel-button01--ico-anchor .c-panel-button01__title::after {
  background: var(--bg-ico-chevron-bottom);
}

.c-panel-button01__description {
  font-size: var(--text-medium);
  line-height: var(--line-height-medium);
}

.c-panel-button01__description:not(:first-child) {
  margin-top: 12px;
}

.c-panel-button01__description:only-child {
  padding-right: 40px;
  position: relative;
}

.c-panel-button01__description:only-child::after {
  background: var(--bg-ico-chevron-right);
  content: "";
  display: block;
  height: var(--icon-size-large);
  margin-top: calc(var(--icon-size-large) / 2 * -1);
  position: absolute;
  right: 0;
  top: 50%;
  width: var(--icon-size-large);
}

.c-panel-button01__text {
  font-size: var(--note-large);
  margin-bottom: var(--spacing-12);
}

/* Panel-button02
----------------*/
.c-panel-button02 {
  background-color: var(--color-white);
  border: 1px solid var(--color-gray02);
  border-radius: 8px;
  box-shadow: var(--box-shadow-type01);
  display: flex;
  overflow: hidden;
}

.c-panel-button02.c-panel-button02--no-shadow {
  box-shadow: none;
}

.c-panel-button02[href] {
  overflow: hidden;
  position: relative;
}

.c-panel-button02[href]::before {
  transition: opacity 0.4s 0s ease;
  background-color: var(--color-white);
  bottom: 0;
  content: "";
  left: 0;
  opacity: 0;
  position: absolute;
  pointer-events: none;
  right: 0;
  top: 0;
  z-index: 1;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-panel-button02[href]:hover::before {
    opacity: var(--opacity-hover-50per);
  }
}

@media (hover: none) {
  .c-panel-button02[href]:active::before {
    opacity: var(--opacity-hover-50per);
  }
}

.c-panel-button02__detail {
  width: 100%;
}

.c-panel-button02__title {
  align-items: center;
  display: flex;
  padding: 20px calc(16px + var(--icon-size-large) + 24px) 20px 24px;
  position: relative;
}

.c-panel-button02[href] .c-panel-button02__title::after {
  background: var(--bg-ico-chevron-right);
  content: "";
  height: var(--icon-size-large);
  margin-top: calc(var(--icon-size-large) / 2 * -1);
  position: absolute;
  right: 24px;
  top: 50%;
  width: var(--icon-size-large);
}

.c-panel-button02__title:only-child {
  height: 100%;
  padding-bottom: 16px;
  padding-top: 16px;
}

.c-panel-button02[target="_blank"] .c-panel-button02__title::after {
  background: var(--bg-ico-blank);
  height: var(--icon-size-small);
  margin-top: calc(var(--icon-size-small) / 2 * -1);
  width: var(--icon-size-small);
}

@media all and (min-width: 768px), print {
  .c-panel-button02__title--height-sm {
    min-height: 100px;
  }
}

@media all and (min-width: 768px), print {
  .c-panel-button02__title--height-lg {
    min-height: 130px;
  }
}

.c-panel-button02__image {
  flex-shrink: 0;
  margin-right: 12px;
  width: 48px;
}

@media all and (min-width: 768px), print {
  .c-panel-button02__image {
    margin-right: 20px;
  }
}

.c-panel-button02__heading {
  font-size: var(--heading-lv5);
  font-weight: 700;
  line-height: var(--line-height-medium);
  display: inline-block;
  flex-grow: 1;
}

.c-panel-button02.c-panel-button02--ico-pdf .c-panel-button02__heading::after {
  background: var(--bg-ico-pdf);
  content: "";
  display: inline-block;
  height: var(--icon-size-large);
  margin-inline: 4px;
  position: relative;
  top: calc((1em * var(--line-height-medium) - var(--icon-size-large)) / 2);
  /* Necessary if the componees are nested, e.g. if they are used in a list componee. */
  vertical-align: text-top;
  width: var(--icon-size-large);
}

.c-panel-button02__description {
  font-size: var(--text-medium);
  line-height: var(--line-height-medium);
  border-top: 1px solid var(--color-gray02);
  padding: 20px 24px 24px;
  text-align: left;
}

/* Panel-button03
----------------*/
.c-panel-button03 {
  background-color: var(--color-white);
  border: 1px solid var(--color-gray02);
  border-radius: 8px;
  box-shadow: var(--box-shadow-type01);
  display: flex;
  overflow: hidden;
}

.c-panel-button03__detail {
  width: 100%;
}

.c-panel-button03__title {
  overflow: hidden;
  position: relative;
  align-items: center;
  display: flex;
  padding: 20px calc(16px + var(--icon-size-large) + 24px) 20px 24px;
  position: relative;
}

.c-panel-button03__title::before {
  transition: opacity 0.4s 0s ease;
  background-color: var(--color-white);
  bottom: 0;
  content: "";
  left: 0;
  opacity: 0;
  position: absolute;
  pointer-events: none;
  right: 0;
  top: 0;
  z-index: 1;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-panel-button03__title:hover::before {
    opacity: var(--opacity-hover-50per);
  }
}

@media (hover: none) {
  .c-panel-button03__title:active::before {
    opacity: var(--opacity-hover-50per);
  }
}

.c-panel-button03__title:focus-visible {
  outline-offset: calc(-1 * var(--outline-width));
}

.c-panel-button03__title::after {
  background: var(--bg-ico-chevron-right);
  content: "";
  height: var(--icon-size-large);
  margin-top: calc(var(--icon-size-large) / 2 * -1);
  position: absolute;
  right: 24px;
  top: 50%;
  width: var(--icon-size-large);
}

.c-panel-button03__title:only-child {
  height: 100%;
  padding-bottom: 16px;
  padding-top: 16px;
}

.c-panel-button03:has(.c-panel-button03__title[target="_blank"]) .c-panel-button03__title::after {
  background: var(--bg-ico-blank);
  height: var(--icon-size-small);
  margin-top: calc(var(--icon-size-small) / 2 * -1);
  width: var(--icon-size-small);
}

@media all and (min-width: 768px), print {
  .c-panel-button03__title--height-lg {
    min-height: 100px;
  }
}

.c-panel-button03__image {
  flex-shrink: 0;
  margin-right: 12px;
  width: 48px;
}

@media all and (min-width: 768px), print {
  .c-panel-button03__image {
    margin-right: 20px;
  }
}

.c-panel-button03__heading {
  font-size: var(--heading-lv5);
  font-weight: 700;
  line-height: var(--line-height-medium);
  display: inline-block;
  flex-grow: 1;
}

.c-panel-button03__description {
  font-size: var(--text-medium);
  line-height: var(--line-height-medium);
  border-top: 1px solid var(--color-gray02);
  padding: 20px 24px 24px;
  text-align: left;
}

/* Panel-button04
----------------*/
.c-panel-button04 {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 20px 0;
}
.c-panel-button04__link {
  background-color: var(--color-white);
  border: 1px solid var(--color-gray02);
  border-radius: 8px;
  box-shadow: var(--box-shadow-type01);
  display: block;
  overflow: hidden;
  position: relative;
}
.c-panel-button04__link::before {
  transition: opacity 0.4s 0s ease;
  background-color: var(--color-white);
  bottom: 0;
  content: "";
  left: 0;
  opacity: 0;
  position: absolute;
  pointer-events: none;
  right: 0;
  top: 0;
  z-index: 1;
}
.c-panel-button04__title {
  align-items: center;
  display: flex;
  padding: 20px calc(8px + var(--icon-size-large) + 20px) 20px 24px;
  position: relative;
}
.c-panel-button04__link .c-panel-button04__title::after {
  background: var(--bg-ico-chevron-right);
  content: "";
  height: var(--icon-size-large);
  margin-top: calc(var(--icon-size-large) / 2 * -1);
  position: absolute;
  right: 20px;
  top: 50%;
  width: var(--icon-size-large);
}
.c-panel-button04__link[target="_blank"] .c-panel-button04__title::after {
  background: var(--bg-ico-blank);
  height: var(--icon-size-small);
  margin-top: calc(var(--icon-size-small) / 2 * -1);
  width: var(--icon-size-small);
}
.c-panel-button04__image {
  flex-shrink: 0;
  margin-right: 12px;
  width: 48px;
}
.c-panel-button04__heading {
  font-size: var(--heading-lv5);
  font-weight: 700;
  line-height: var(--line-height-medium);
  display: inline-block;
  flex-grow: 1;
}
.c-panel-button04.c-panel-button04--ico-pdf .c-panel-button04__heading::after {
  background: var(--bg-ico-pdf);
  content: "";
  display: inline-block;
  height: var(--icon-size-large);
  margin-inline: 4px;
  position: relative;
  top: calc((1em * var(--line-height-medium) - var(--icon-size-large)) / 2);
  /* Necessary if the componees are nested, e.g. if they are used in a list componee. */
  vertical-align: text-top;
  width: var(--icon-size-large);
}
.c-panel-button04__description {
  font-size: var(--text-medium);
  line-height: var(--line-height-medium);
  border-top: 1px solid var(--color-gray02);
  padding: 20px 24px 24px;
  text-align: left;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-panel-button04__link:hover::before {
    opacity: var(--opacity-hover-50per);
  }
}

@media (hover: none) {
  .c-panel-button04__link:active::before {
    opacity: var(--opacity-hover-50per);
  }
}
@media all and (min-width: 768px), print {
  .c-panel-button04 {
    gap: 20px;
    grid-template-columns: repeat(3, 1fr);
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
  .c-panel-button04__item {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
  }
  :is(.c-panel-button04__link, .c-panel-button04__detail) {
    display: inherit;
    gap: 0;
    grid-template-rows: inherit;
    grid-row: inherit;
  }
  .c-panel-button04__image {
    margin-right: 20px;
  }
}

/*------------------------------
  radio
--------------------------------*/
.c-radio-layout01 {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  row-gap: var(--spacing-20);
}
.c-radio-layout01--row01 {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-12) var(--spacing-20);
}
.c-radio-layout01--row02 {
  gap: var(--spacing-20);
}
.c-radio-layout01 .c-radio01:not(:first-child) {
  margin-top: 0;
}
@media all and (min-width: 768px), print {
  .c-radio-layout {
    gap: 20px;
    display: flex;
    flex-wrap: wrap;
  }
  .c-radio-layout .c-radio01:not(:first-child) {
    margin-top: 0;
  }
  .c-radio-layout01 {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
  .c-radio-layout01--row02 {
    gap: var(--spacing-12) var(--spacing-20);
    display: flex;
    flex-wrap: wrap;
  }
  :is(.c-radio-layout, .c-radio-layout01) .c-radio01 {
    margin-top: 0;
    margin-inline: 0;
    width: fit-content;
  }
}

.c-radio01:not(:first-child) {
  margin-top: var(--spacing-24);
}

.c-radio01--pos-center {
  display: grid;
  justify-content: center;
}

.c-radio01__label {
  transition: opacity 0.4s 0s ease;
  cursor: pointer;
  column-gap: 8px;
  display: grid;
  grid-template-columns: auto 1fr;
}

.c-radio-layout01 .c-radio01__label {
  width: fit-content;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-radio01__label:hover {
    opacity: var(--opacity-hover-50per);
  }
}

@media (hover: none) {
  .c-radio01__label:active {
    opacity: var(--opacity-hover-50per);
  }
}

.c-radio01__label input[type="radio"] {
  margin: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
}

.c-radio01__label:has(input[type="radio"]:disabled) {
  pointer-events: none;
}

@media all and (min-width: 768px), print {
  .c-radio01 {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
  .c-radio01__label {
    column-gap: 12px;
    position: relative;
  }

  .c-radio01__label input[type="radio"] {
    appearance: none;
    height: 20px;
    outline-offset: -1px;
    opacity: 1;
    top: 2px;
    width: 20px;
  }
}

.c-radio01__check-icon {
  aspect-ratio: 1;
  background-color: var(--color-white);
  border: solid 1px var(--color-gray02);
  border-radius: 50%;
  display: inline-block;
  margin: calc((1lh - 20px) / 2) 0;
  width: 20px;
}

.c-radio01__check-icon.err_bg {
  background-color: var(--color-light-red03);
  border-color: var(--color-light-red02);
}

input[type="radio"]:checked+.c-radio01__check-icon {
  display: grid;
  place-content: center;
  position: relative;
}

input[type="radio"]:checked+.c-radio01__check-icon:before {
  aspect-ratio: 1;
  background-color: var(--color-mufg-red);
  border-radius: 50%;
  content: "";
  display: block;
  width: 12px;
}

input[type="radio"]:disabled+.c-radio01__check-icon {
  border: solid 1px var(--color-mufg-gray-50per);
  display: grid;
  place-content: center;
  position: relative;
}

input[type="radio"]:disabled:checked+.c-radio01__check-icon:before {
  aspect-ratio: 1;
  background-color: var(--color-mufg-gray-50per);
  border-radius: 50%;
  content: "";
  display: block;
  width: 12px;
}

.c-radio01__text {
  font-size: var(--text-medium);
}

input[type="radio"]:disabled~.c-radio01__text {
  color: var(--color-mufg-gray-50per);
}

/*------------------------------
  Search
--------------------------------*/
.c-search {
  display: block;
  width: 100%;
}

.c-search__column {
  column-gap: 12px;
  display: grid;
  grid-template-columns: 1fr 84px;
}
.c-search__column--w-default {
  grid-template-columns: minmax(0, 480px) 84px;
}

.c-search__submit {
  position: relative;
  width: 100%;
}

.c-search__submit::before {
  --icon-size: 20px;

  content: "";
  background: var(--bg-header-ico-search);
  display: block;
  height: var(--icon-size);
  pointer-events: none;
  position: absolute;
  top: 50%;
  transition: opacity 0.4s 0s ease;
  translate: 0 -50%;
  left: 12px;
  width: var(--icon-size);
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-search__submit:hover::before {
    opacity: var(--opacity-hover-50per);
  }
}

.c-search-form__button {
  border: solid 1px var(--color-black);
  border-radius: 4px;
  display: block;
  font-size: 1.8rem;
  height: 40px;
  padding: 0 12px;
  text-align: right;
  width: 100%;
}

/*------------------------------
  Search-form
--------------------------------*/
@media all and (min-width: 768px), print {
  .c-search-form {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-search-form--center {
  display: grid;
  place-content: center;
}

.c-search-form__list {
  column-gap: 12px;
  display: grid;
  grid-template-columns: minmax(auto, 480px) 84px;
  max-width: 576px;
  width: 100%;
}

.c-search-form__text-box {
  appearance: none;
  background-color: var(--color-white) !important;
  border: solid 1px var(--color-gray02);
  border-radius: 4px;
  font-size: 1.6rem;
  height: 100%;
  outline: none !important;
  padding: 7px 10px;
  width: 100%;
}

.c-search-form__text-box:focus,
.c-search-form__text-box:focus-visible {
  border: solid 2px var(--color-light-red02);
  padding: 6px 10px;
}

.c-search-form__text-box:-webkit-autofill {
  box-shadow: 0 0 0 1000px rgb(var(--color-white-rgb)) inset !important;
}

.c-search-form__text-box.is-error {
  background-color: var(--color-light-red03);
  border: solid 2px var(--color-light-red02);
}

.c-search-form__button {
  transition: opacity 0.4s 0s ease;
  display: block;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-search-form__button:hover {
    opacity: var(--opacity-hover-50per);
  }
}

@media (hover: none) {
  .c-search-form__button:active {
    opacity: var(--opacity-hover-50per);
  }
}

/*------------------------------
  Set
--------------------------------*/
/* Set-box01
----------------*/
.c-set-box01 .c-text:not(:first-child) {
  margin-top: var(--spacing-12);
}

.c-set-box01 .c-button-layout {
  height: 100%;
}

/* Set-conversion01
----------------*/
.c-set-conversion01 {
  display: flex;
  flex-direction: column;
  row-gap: 32px;
}

@media all and (min-width: 768px), print {
  .c-set-conversion01 {
    align-items: flex-end;
    column-gap: 40px;
    flex-direction: row;
    margin-inline: auto;
    width: fit-content;
  }
}

.c-set-conversion01__button {
  width: 100%;
}

.c-set-conversion01__button .c-text+.c-button {
  margin-top: 10px;
}

@media all and (min-width: 768px), print {
  .c-set-conversion01__button {
    width: 400px;
  }

  .c-set-conversion01__button .c-text+.c-button {
    margin-top: 16px;
  }
}

.c-set-conversion01__banner {
  width: 100%;
}

@media all and (min-width: 768px), print {
  .c-set-conversion01__banner {
    width: fit-content;
  }
}

/* Set-faq01
----------------*/
@media not print {
  @media not all and (min-width: 768px) {
    .c-set-faq01 {
      margin-inline: calc(var(--content-main-inline-padding) * -1);
      position: relative;
    }
  }
}

@media all and (min-width: 768px), print {
  .c-set-faq01 {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-set-faq01:not(:first-child) {
  margin-top: var(--spacing-80);
}

@media all and (min-width: 768px), print {
  .c-set-faq01:not(:first-child) {
    margin-top: var(--spacing-120);
  }
}

.c-set-faq01__title {
  margin-bottom: 40px;
  padding-bottom: 20px;
  position: relative;
}

.c-set-faq01__title::before {
  background-color: var(--color-mufg-red);
  bottom: 0;
  content: "";
  display: block;
  height: 2px;
  left: 50%;
  position: absolute;
  translate: -50% 0;
  width: 60px;
}

.c-set-faq01__title-heading {
  font-size: var(--heading-lv2);
  font-weight: 700;
  line-height: var(--line-height-medium);
  text-align: center;
}

.c-set-faq01__inner {
  background-color: var(--color-light-red03);
  padding: 80px var(--content-main-inline-padding);
}

@media all and (min-width: 768px), print {
  .c-set-faq01__inner {
    padding-left: 0;
    padding-right: 0;
  }
}

.c-set-faq01__button {
  display: flex;
  justify-content: center;
  margin-top: 56px;
}

@media all and (min-width: 768px), print {
  .c-set-faq01__button {
    margin-top: 40px;
  }
}

/* Set-info01
----------------*/
.c-set-info01 {
  border: solid 1px var(--color-gray02);
  border-radius: 8px;
  padding: 20px;
}

@media all and (min-width: 768px), print {
  .c-set-info01 {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-set-info01:not(:first-child) {
  margin-top: var(--spacing-48);
}

@media all and (min-width: 768px), print {
  .c-set-info01 {
    padding: 40px 30px;
  }

  .c-set-info01:not(:first-child) {
    margin-top: var(--spacing-56);
  }
}

.c-set-info01__title {
  font-size: var(--text-large);
  font-weight: 700;
  line-height: var(--line-height-large);
}

.c-set-info01__title:not(:first-child) {
  margin-top: var(--spacing-40);
}

.c-set-info01__text {
  font-size: var(--text-medium);
  line-height: var(--line-height-medium);
}

.c-set-info01__text:not(:first-child) {
  margin-top: var(--spacing-8);
}

@media all and (min-width: 768px), print {
  .c-set-info01__text:not(:first-child) {
    margin-top: var(--spacing-12);
  }
}

.c-set-info01__phone-area {
  display: flex;
  flex-direction: column;
  row-gap: 12px;
}

.c-set-info01__phone-area:not(:first-child) {
  margin-top: var(--spacing-20);
}

@media all and (min-width: 768px), print {
  .c-set-info01__phone-area {
    align-items: flex-end;
    column-gap: 40px;
    flex-direction: row;
  }
}

.c-set-info01__phone {
  display: flex;
  flex-direction: column;
}

@media all and (min-width: 768px), print {
  .c-set-info01__phone {
    align-items: flex-end;
    flex-direction: row;
    flex-wrap: wrap;
    margin-top: 0;
  }
}

.c-set-info01__phone-text {
  font-size: 1.6rem;
  margin-bottom: var(--spacing-12);
}

@media all and (min-width: 768px), print {
  .c-set-info01__phone-text {
    width: 100%;
  }
}

.c-set-info01__phone-emphasis {
  font-size: 1.4rem;
  font-weight: 700;
}

@media all and (min-width: 768px), print {
  .c-set-info01__phone-emphasis {
    font-size: 2rem;
  }
}

.c-set-info01__phone-emphasis--region {
  padding-left: 0.18em;
}

@media all and (min-width: 768px), print {
  .c-set-info01__phone-emphasis--region {
    margin-bottom: var(--spacing-4);
    padding-left: 0.05em;
    width: calc(100% - 0.05em);
  }
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-set-info01__phone-emphasis--charge {
      margin-top: var(--spacing-4);
    }
  }
}

.c-set-info01__phone-number {
  display: block;
  font-size: clamp(2.7rem, 8.437vw, 3.4rem);
  font-weight: 700;
  line-height: 1;
  position: relative;
  width: fit-content;
}

.c-set-info01__phone-number:has(.c-set-info01__phone-ruby) {
  padding-top: clamp(0.9rem, 3.2vw, 1.2rem);
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-set-info01__phone-number {
      color: var(--color-link-blue);
      text-decoration: underline;
    }

    .c-accordion .c-set-info01__phone-number {
      font-size: clamp(2.1rem, 6.562vw, 2.8rem);
    }
  }
}

@media all and (min-width: 768px), print {
  .c-set-info01__phone-number {
    font-size: 3.6rem;
  }

  .c-set-info01__phone-number:has(.c-set-info01__phone-ruby) {
    padding-top: 1.2rem;
  }
}

.c-set-info01__phone-number--ico-dial {
  align-items: flex-end;
  column-gap: 5px;
  display: flex;
}

.c-set-info01__phone-number--ico-dial:before {
  background: var(--bg-img-dial);
  content: "";
  display: block;
  height: 22px;
  margin-bottom: 0.05em;
  width: 40px;
}

@media all and (min-width: 768px), print {
  .c-set-info01__phone-number--ico-dial {
    column-gap: 8px;
  }

  .c-set-info01__phone-number--ico-dial::before {
    height: 28px;
    margin-bottom: 0;
    width: 50px;
  }
}

.c-set-info01__phone-ruby {
  /* 1 / 12 iword count j */
  column-gap: 8.333%;
  display: grid;
  font-size: clamp(0.9rem, 3.2vw, 1.2rem);
  font-weight: 400;
  line-height: 1;
  position: absolute;
  right: 0;
  top: 0;
  /* 7 / 12 iword count j */
  width: 58.333%;
}

.c-set-info01__phone-number--ico-dial .c-set-info01__phone-ruby {
  width: calc((100% - 45px) * 0.58333);
}

.c-set-info01__phone-ruby>span {
  display: flex;
  justify-content: space-around;
}

@media all and (min-width: 768px), print {
  .c-set-info01__phone-ruby {
    font-size: 1.2rem;
  }

  .c-set-info01__phone-number--ico-dial .c-set-info01__phone-ruby {
    width: calc((100% - 58px) * 0.58333);
  }
}

.c-set-info01__phone-ruby--2-4 {
  grid-template-columns: 2fr 4fr;
}

.c-set-info01__phone-ruby--3-3 {
  grid-template-columns: 3fr 3fr;
}

.c-set-info01__phone-ruby--4-2 {
  grid-template-columns: 4fr 2fr;
}

.c-set-info01__phone-ruby--2-1-4 {
  column-gap: 0;
  grid-template-columns: 2fr 1fr 4fr;
}

.c-set-info01__phone-ruby--3-1-3 {
  column-gap: 0;
  grid-template-columns: 3fr 1fr 3fr;
}

.c-set-info01__phone-ruby--all-in-last01 {
  column-gap: 0;
  right: -1.5em;
  width: fit-content !important;
}

.c-set-info01__address:not(:first-child) {
  margin-top: var(--spacing-8);
}

@media all and (min-width: 768px), print {
  .c-set-info01__address {
    column-gap: 40px;
    display: flex;
  }

  .c-set-info01__address:not(:first-child) {
    margin-top: var(--spacing-12);
  }
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-set-info01__address-block+.c-set-info01__address-block {
      border-top: solid 1px var(--color-gray02);
      padding-top: 21px;
    }

    .c-set-info01__address-block:not(:first-child) {
      margin-top: var(--spacing-20);
    }
  }
}

@media all and (min-width: 768px), print {
  .c-set-info01__address-block+.c-set-info01__address-block {
    border-left: solid 1px var(--color-gray02);
    padding-left: 41px;
  }
}

.c-set-info01__address-title {
  font-size: var(--text-large);
  font-weight: 700;
  line-height: var(--line-height-large);
}

.c-set-info01__address-text {
  font-size: var(--text-large);
  line-height: var(--line-height-large);
}

.c-set-info01__address-text:not(:first-child) {
  margin-top: var(--spacing-4);
}

@media all and (min-width: 768px), print {
  .c-set-info01__address-title+.c-set-info01__address-text {
    margin-top: var(--spacing-8);
  }
}

/* Set-info01-layout
----------------*/
.c-set-info01-layout {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  row-gap: 24px;
}

@media all and (min-width: 768px), print {
  .c-set-info01-layout {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-set-info01-layout:not(:first-child) {
  margin-top: var(--spacing-80);
}

@media all and (min-width: 768px), print {
  .c-set-info01-layout {
    column-gap: 24px;
  }

  .c-set-info01-layout:has(> :nth-child(1):last-child) .c-set-info01 {
    margin-inline: auto;
    max-width: 384px;
  }

  .c-set-info01-layout:has(> :nth-child(2):last-child) {
    grid-template-columns: repeat(2, 384px);
    width: fit-content;
  }

  .c-set-info01-layout:has(> :nth-child(3):last-child) {
    grid-template-columns: repeat(3, 1fr);
  }

  .c-set-info01-layout:not(:first-child) {
    margin-top: var(--spacing-120);
  }
}

.c-set-info01-layout .c-set-info01 {
  margin-top: 0;
}

@media all and (min-width: 768px), print {
  .c-set-info01-layout .c-set-info01 {
    display: flex;
    flex-direction: column;
    height: 100%;
  }
}

.c-set-info01-layout .c-set-info01__title {
  font-size: var(--text-x-large);
  text-align: center;
}

@media all and (min-width: 768px), print {
  .c-set-info01-layout .c-set-info01__title {
    flex-grow: 1;
  }
}

.c-set-info01-layout .c-set-info01__text {
  font-size: 1.4rem;
  margin-top: var(--spacing-12);
}

/* Set-information01
----------------*/
.c-set-information01 {
  background-color: var(--color-light-red03);
  padding: 80px var(--content-main-inline-padding);
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-set-information01 {
      margin-inline: calc(var(--content-main-inline-padding) * -1);
      position: relative;
    }
  }
}

@media all and (min-width: 768px), print {
  .c-set-information01 {
    padding: 120px 0;
  }
}

.c-set-information01--bg-white01 {
  background-color: var(--color-white);
}

@media all and (min-width: 768px), print {
  .c-set-information01__inner {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-set-information01__title {
  margin-bottom: 40px;
  padding-bottom: 20px;
  position: relative;
}

.c-set-information01__title::before {
  background-color: var(--color-mufg-red);
  bottom: 0;
  content: "";
  display: block;
  height: 2px;
  left: 50%;
  position: absolute;
  translate: -50% 0;
  width: 60px;
}

.c-set-information01__title-heading {
  font-size: var(--heading-lv2);
  font-weight: 700;
  line-height: var(--line-height-medium);
  text-align: center;
}

.c-set-information01__tablist {
  column-gap: 7px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

@media all and (min-width: 768px), print {
  .c-set-information01__tablist {
    column-gap: 10px;
  }
}

.c-set-information01__tab {
  overflow: hidden;
  position: relative;
  background-color: var(--color-light-gray02);
  border: 1px solid var(--color-gray02);
  border-bottom: none;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  color: var(--color-mufg-gray-75per);
  display: grid;
  /* To avoid generating line breaks at a screen size of 320px. */
  font-size: clamp(1.2rem, 4.266vw, 1.6rem);
  height: 50px;
  place-items: center;
}

.c-set-information01__tab::before {
  transition: opacity 0.4s 0s ease;
  background-color: var(--color-white);
  bottom: 0;
  content: "";
  left: 0;
  opacity: 0;
  position: absolute;
  pointer-events: none;
  right: 0;
  top: 0;
  z-index: 1;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .c-set-information01__tab:hover::before {
    opacity: var(--opacity-hover-50per);
  }
}

@media (hover: none) {
  .c-set-information01__tab:active::before {
    opacity: var(--opacity-hover-50per);
  }
}

.c-set-information01__tab[aria-selected="true"] {
  background-color: var(--color-light-red02);
  border-color: var(--color-light-red01);
  color: var(--color-black);
  font-weight: 700;
}

@media all and (min-width: 768px), print {
  .c-set-information01__tab {
    font-size: 1.8rem;
    height: 54px;
  }
}

.c-set-information01__content {
  background-color: var(--color-white);
  border-top: 1px solid var(--color-light-red01);
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
  padding: 30px 20px 32px;
}

@media all and (min-width: 768px), print {
  .c-set-information01__content {
    padding: 40px;
  }
}

.c-set-information01__content--border {
  border: 1px solid var(--color-light-red01);
}

.c-set-information01__button {
  display: flex;
  justify-content: center;
  margin-top: 32px;
}

.c-set-information01__button:not(:first-child) {
  margin-top: 40px;
}

/* Set-information02
----------------*/
@media all and (min-width: 768px), print {
  .c-set-information02 {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-set-information02:not(:first-child) {
  margin-top: var(--spacing-80);
}

@media all and (min-width: 768px), print {
  .c-set-information02:not(:first-child) {
    margin-top: var(--spacing-120);
  }
}

.c-set-information02__title {
  margin-bottom: 40px;
  padding-bottom: 20px;
  position: relative;
}

.c-set-information02__title::before {
  background-color: var(--color-mufg-red);
  bottom: 0;
  content: "";
  display: block;
  height: 2px;
  left: 50%;
  position: absolute;
  translate: -50% 0;
  width: 60px;
}

.c-set-information02__title-heading {
  font-size: var(--heading-lv2);
  font-weight: 700;
  line-height: var(--line-height-medium);
  text-align: center;
}

.c-set-information02__button {
  display: flex;
  justify-content: center;
  margin-top: 32px;
}

.c-set-information02__button:not(:first-child) {
  margin-top: 40px;
}

/* Set-list01
----------------*/
@media all and (min-width: 768px), print {
  .c-set-list01 {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-set-list01:not(:first-child) {
  margin-top: var(--spacing-32);
}

.c-set-list01 .c-text:not(:first-child) {
  margin-top: var(--spacing-12);
}

.c-set-list01 .c-text.u-t-bold:not(:first-child) {
  margin-top: var(--spacing-24);
}

.c-set-list01 .c-list:not(:first-child) {
  margin-top: var(--spacing-12);
}

.c-set-list01 .c-list__item .c-list {
  margin-top: var(--spacing-16);
}

@media all and (min-width: 768px), print {
  .c-set-list01:not(:first-child) {
    margin-top: var(--spacing-40);
  }

  .c-set-list01 .c-list {
    row-gap: var(--spacing-20);
  }

  .c-set-list01 .c-list__item .c-list {
    margin-top: var(--spacing-20);
  }
}

/*------------------------------
  Slider
    Since the 'splide-core.min.css' file is loaded dynamically, some styles are required even if the styles overlap with the 'splide-core.min.css' file.
--------------------------------*/
.c-slider {
  position: relative;
  /* For cases where the number of slides does not meet the condition and no instance is created. */
  visibility: visible;
}

.c-slider:not([data-initialized="true"]) {
  /* To limit the height when initially displayed until JS processing is complete. */
  visibility: hidden;
}

.c-slider:not(:first-child) {
  margin-top: var(--spacing-32);
}

.c-slider:not(:first-child):has(.c-box-panel05-layout) {
  margin-top: var(--spacing-40);
}

.c-slider.is-active {
  /* 'is-active' is a class dynamically assigned by 'splide in vender' */
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-slider.is-active {
      margin-inline: calc(var(--content-main-inline-padding) * -1);
      position: relative;
    }
  }
}

@media all and (min-width: 768px), print {
  .c-slider {
    margin-inline: auto;
    max-width: 1260px;
    padding: 0 30px;
  }

  .c-slider:not(.is-active),
  .c-slider.is-initialized:not(.is-active) {
    max-width: var(--content-main-width);
    padding: 0;
    width: 100%;
  }
}

/* The width including `padding` should not exceed `var(--content-main-width)`. */
.c-slider__track {
  margin-bottom: -20px;
  margin-top: calc(-1 * var(--outline-width));
  /* Because the '.c-panel-button' element and so on has a shadow. */
  padding-bottom: 20px !important;
  /* To make the outline style visible on the focus element of a child element */
  padding-top: var(--outline-width);
}

@media all and (min-width: 768px), print {
  .c-slider__track {
    margin-inline: -15px;
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
}

.c-slider:not([data-initialized="true"]) .c-slider__list {
  /* To limit the height when initially displayed until JS processing is complete. */
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: unset !important;
  overflow: hidden !important;
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-slider:not([data-initialized="true"]) .c-slider__list:has(> :nth-child(2):last-child) {
      /* To limit the height when initially displayed until JS processing is complete. */
      display: grid !important;
    }
  }
}

.c-slider:not([data-initialized="true"]) .c-slider__item {
  /* To limit the height when initially displayed until JS processing is complete. */
  flex-shrink: unset !important;
  max-width: 100% !important;
  min-width: 100% !important;
}

@media all and (min-width: 768px), print {
  .c-slider:not([data-initialized="true"]) .c-slider__item {
    /* To limit the height when initially displayed until JS processing is complete. */
    max-width: 384px !important;
    min-width: 384px !important;
  }
}

.c-slider:not(.is-active) .c-slider__navigation {
  display: none;
}

.c-slider__navigation-prev,
.c-slider__navigation-next {
  background-color: var(--color-white);
  border-radius: 50%;
  box-shadow: var(--box-shadow-type03);
  height: 40px;
  margin-top: -20px;
  position: absolute;
  top: calc((100% - 38px) / 2);
  width: 40px;
}

.c-slider__navigation-prev[disabled],
.c-slider__navigation-next[disabled] {
  display: none;
}

.c-slider__navigation-prev::before,
.c-slider__navigation-next::before {
  content: "";
  height: var(--icon-size-large);
  left: 50%;
  margin: calc(var(--icon-size-large) / 2 * -1) 0 0 calc(var(--icon-size-large) / 2 * -1);
  position: absolute;
  top: 50%;
  width: var(--icon-size-large);
}

@media all and (min-width: 768px), print {

  .c-slider__navigation-prev,
  .c-slider__navigation-next {
    height: 60px;
    margin-top: -30px;
    width: 60px;
  }
}

.c-slider__navigation-prev {
  left: 1.3333333333%;
}

.c-slider__navigation-prev::before {
  background: var(--bg-ico-chevron-left);
}

@media all and (min-width: 768px), print {
  .c-slider__navigation-prev {
    left: 0;
  }
}

.c-slider__navigation-next {
  right: 1.3333333333%;
}

.c-slider__navigation-next::before {
  background: var(--bg-ico-chevron-right);
}

@media all and (min-width: 768px), print {
  .c-slider__navigation-next {
    right: 0;
  }
}

.c-slider__controls {
  align-items: center;
  display: flex;
  justify-content: center;
  margin: 24px auto 0;
  width: fit-content;
}

.c-slider__controls--lock {
  display: none;
}

.c-slider:not(.is-active) .c-slider__controls {
  display: none;
}

.c-slider__pagination {
  padding-right: 10px;
  position: relative;
}

.c-slider__pagination li:not(:first-child) {
  margin-left: 5px;
}

.c-slider__pagination::after {
  background-color: var(--color-gray02);
  content: "";
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  width: 1px;
}

.c-slider__pagination .splide__pagination__page {
  background-color: var(--color-gray02);
  border-radius: 50%;
  display: block;
  height: 10px;
  width: 10px;
}

.c-slider__pagination .splide__pagination__page.is-active {
  background-color: var(--color-mufg-red);
}

@media all and (min-width: 768px), print {
  .c-slider__pagination .splide__pagination__page {
    margin: 0 5px;
  }

  .c-slider__pagination .splide__pagination__page:hover {
    cursor: pointer;
  }
}

.c-slider__toggle {
  border-left: 4px solid var(--color-black);
  border-right: 4px solid var(--color-black);
  height: 14px;
  margin-left: 10px;
  margin-right: 3px;
  position: relative;
  width: 11px;
  z-index: 1;
}

.c-slider__toggle:not(.is-active) {
  border: none;
  margin-right: 0;
  position: relative;
  width: 14px;
}

.c-slider__toggle:not(.is-active)::before {
  border: 7px solid transparent;
  border-left: 11px solid var(--color-black);
  border-right: 0;
  content: "";
  height: 0;
  inset: 0;
  position: absolute;
  width: 0;
}

.c-slider__toggle span {
  border: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
}

@media all and (min-width: 768px), print {
  .c-slider__toggle {
    margin-left: 24px;
  }

  .c-slider__toggle:hover {
    cursor: pointer;
  }
}

.splide__toggle__pause {
  border-left: 4px solid var(--color-black);
  border-right: 4px solid var(--color-black);
  height: 14px;
  margin-left: 17px;
  position: relative;
  width: 11px;
  z-index: 1;
}

.splide__toggle__pause[aria-pressed="true"] {
  background-color: var(--color-black);
  border: none;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}

@media all and (min-width: 768px), print {
  .splide__toggle__pause {
    margin-left: 24px;
  }

  .splide__toggle__pause:hover {
    cursor: pointer;
  }
}

.splide__toggle__play {
  border: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
}

/*------------------------------
  Speech-balloon
--------------------------------*/
.c-speech-balloon {
  display: grid;
  row-gap: var(--spacing-40);
}

@media all and (min-width: 768px), print {
  .c-speech-balloon {
    margin-inline: auto;
    max-width: var(--content-sub-1160w);
    width: 100%;
  }
}

.c-speech-balloon:not(:first-child) {
  margin-top: var(--spacing-32);
}

@media all and (min-width: 768px), print {
  .c-speech-balloon {
    row-gap: var(--spacing-32);
  }

  .c-speech-balloon:not(:first-child) {
    margin-top: var(--spacing-40);
  }
}

.c-speech-balloon__card {
  display: flex;
  flex-direction: column;
  row-gap: var(--spacing-12);
}

@media all and (min-width: 768px), print {
  .c-speech-balloon__card {
    align-items: center;
    column-gap: var(--spacing-4);
    flex-direction: row;
    row-gap: 0;
  }

  .c-speech-balloon__card:nth-child(2n) {
    flex-direction: row-reverse;
  }

  .c-speech-balloon__card.c-speech-balloon__card--align-left {
    flex-direction: row;
  }

  .c-speech-balloon__card.c-speech-balloon__card--align-right {
    flex-direction: row-reverse;
  }
}

.c-speech-balloon__icon {
  display: grid;
  flex-shrink: 0;
  row-gap: var(--spacing-8);
}

@media all and (min-width: 768px), print {
  .c-speech-balloon__icon {
    row-gap: var(--spacing-12);
    width: 150px;
  }
}

.c-speech-balloon__image {
  height: 95px;
  margin-inline: auto;
  width: 95px;
}

.c-speech-balloon__name {
  font-size: var(--text-large);
  font-weight: 700;
  line-height: var(--line-height-large);
  line-height: 1.5;
  text-align: center;
}

.c-speech-balloon__body {
  background-color: #f5f5f5;
  border-radius: 16px;
  margin-top: var(--spacing-12);
  padding: var(--spacing-20);
  position: relative;
  width: 100%;
}

.c-speech-balloon__body::before {
  aspect-ratio: 2;
  background-color: #f5f5f5;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  content: "";
  height: 10px;
  left: 50%;
  position: absolute;
  top: 1px;
  translate: -50% -100%;
  width: 20px;
}

@media all and (min-width: 768px), print {
  .c-speech-balloon__body {
    display: grid;
    margin: 0 0 0 10px;
    padding: 24px;
    align-items: center;
  }

  .c-speech-balloon__body::before {
    aspect-ratio: 1/2;
    clip-path: polygon(100% 0, 0 50%, 100% 100%);
    height: 20px;
    left: 1px;
    top: 50%;
    translate: -100% -50%;
    width: 10px;
  }

  .c-speech-balloon__card:nth-child(2n) .c-speech-balloon__body::before {
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    left: auto;
    right: 1px;
    translate: 100% -50%;
  }

  .c-speech-balloon__card.c-speech-balloon__card--align-left .c-speech-balloon__body::before {
    clip-path: polygon(100% 0, 0 50%, 100% 100%);
    left: 1px;
    right: auto;
    translate: -100% -50%;
  }

  .c-speech-balloon__card.c-speech-balloon__card--align-right .c-speech-balloon__body::before {
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    left: auto;
    right: 1px;
    translate: 100% -50%;
  }
}

.c-speech-balloon__body--bg-yellow {
  background-color: #fff5eb;
}

.c-speech-balloon__body--bg-yellow::before {
  background-color: #fff5eb;
}

/*------------------------------
  Step
--------------------------------*/
.c-step:not(.c-step--sp-slider) {
  display: grid;
  gap: var(--spacing-40);
  grid-template-columns: repeat(1, 1fr);
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-slider:has(.c-step--sp-slider) {
      --step-navigation-position: 2.133%;
    }
    .c-slider:has(.c-step--sp-slider) :is(.c-slider__navigation-prev, .c-slider__navigation-next) {
      margin-top: 0;
      top: calc(172px / 2);
    }
    .c-slider:has(.c-step--sp-slider) .c-slider__navigation-prev {
      left: var(--step-navigation-position);
    }
    .c-slider:has(.c-step--sp-slider) .c-slider__navigation-next {
      right: var(--step-navigation-position);
    }
  }
}

@media all and (min-width: 768px), print {
  .c-step {
    align-items: flex-start;
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }

  .c-step--sp-slider {
    /* To override the style of '.splide.is-initialized:not(.is-active) .splide__list'. */
    display: grid !important;
    gap: var(--spacing-40);
    grid-template-columns: repeat(1, 1fr);
  }

  .c-step:has(> :nth-child(2):last-child) {
    grid-template-columns: 270px 270px;
    justify-content: center;
  }

  .c-step:has(> :nth-child(3):last-child) {
    grid-template-columns: repeat(3, 1fr);
  }

  .c-step:has(> :nth-child(4):last-child) {
    grid-template-columns: repeat(4, 1fr);
  }

  .c-step:not(:first-child) {
    margin-top: var(--spacing-40);
  }
}

@media all and (min-width: 768px), print {
  .c-step--pc-row:has(> :nth-child(n):last-child) {
    grid-template-columns: repeat(1, 1fr);
  }
}

.c-step__item {
  position: relative;
}

.c-step__item:not(:first-child)::before {
  background: var(--bg-ico-chevron-bottom);
  content: "";
  height: var(--icon-size-large);
  left: 50%;
  margin-left: calc(var(--icon-size-large) / 2 * -1);
  position: absolute;
  top: calc((var(--icon-size-large) + var(--spacing-8)) * -1);
  width: var(--icon-size-large);
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-step--sp-slider .c-step__item::before {
      content: none;
    }
  }
}

@media all and (min-width: 768px), print {
  .c-step__item:not(:first-child)::before {
    left: calc((var(--icon-size-large) + var(--spacing-8)) * -1);
    margin-left: 0;
    top: 94px;
    transform: rotate(-90deg);
  }

  :where(.c-step:has(> :nth-child(5)), .c-step--pc-row:has(> :nth-child(n):last-child)) .c-step__item:not(:first-child)::before {
    left: 124px;
    top: calc((var(--icon-size-large) + var(--spacing-8)) * -1);
    transform: rotate(0);
  }
}

@media all and (min-width: 768px), print {
  :where(.c-step:has(> :nth-child(5)), .c-step--pc-row:has(> :nth-child(n):last-child)) .c-step__container {
    align-items: flex-start;
    display: grid;
    gap: var(--spacing-24);
    grid-template-columns: 270px 1fr;
  }
}

.c-step__header {
  padding-bottom: 8px;
  position: relative;
}

.c-step__header::after {
  background-color: var(--color-light-gray02);
  border-radius: 15px;
  bottom: 0;
  content: "";
  display: block;
  height: calc(100% - 30px);
  left: 0;
  margin: 0 auto;
  position: absolute;
  right: 0;
  width: calc(100% - 56px);
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-step--sp-slider .c-step__header::after {
      width: 100%;
    }
  }
}

@media all and (min-width: 768px), print {
  .c-step__header {
    padding-bottom: 12px;
  }

  .c-step__header::after {
    width: 100%;
  }
}

.c-step__title {
  color: var(--color-mufg-gray-75per);
  font-size: 2rem;
  font-weight: 700;
  margin: 0 auto;
  position: relative;
  width: fit-content;
  z-index: 1;
}

.c-step__title>span {
  font-size: 3.2rem;
}

.c-step__image {
  aspect-ratio: 1/1;
  align-items: center;
  display: flex;
  height: 116px;
  justify-content: center;
  margin-inline: auto;
  position: relative;
  width: 116px;
  z-index: 1;
}

.c-step__image img {
  max-height: 100%;
  object-fit: contain;
}

.c-step__body {
  margin-top: var(--spacing-20);
}

@media all and (min-width: 768px), print {
  :where(.c-step:has(> :nth-child(5)), .c-step--pc-row:has(> :nth-child(n):last-child)) .c-step__body {
    margin-top: 30px;
  }
}

.c-step__lead {
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
}

@media all and (min-width: 768px), print {
  :where(.c-step:has(> :nth-child(5)), .c-step--pc-row:has(> :nth-child(n):last-child)) .c-step__lead {
    text-align: left;
  }
}

.c-step__text {
  margin-top: var(--spacing-20);
}

@media all and (min-width: 768px), print {
  :where(.c-step:has(> :nth-child(5)), .c-step--pc-row:has(> :nth-child(n):last-child)) .c-step__text {
    margin-top: var(--spacing-28);
  }
}

/*------------------------------
  Table
--------------------------------*/
/* Table-layout
----------------*/
@media all and (min-width: 768px), print {
  .c-table-layout {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-table-layout:not(:first-child) {
  margin-top: var(--spacing-32);
}

.c-title5+.c-table-layout {
  margin-top: var(--spacing-16);
}

.c-features-layout+.c-table-layout,
.c-list+.c-table-layout {
  margin-top: var(--spacing-40);
}

@media all and (min-width: 768px), print {
  .c-table-layout:not(:first-child) {
    margin-top: var(--spacing-40);
  }

  .c-title5+.c-table-layout {
    margin-top: var(--spacing-12);
  }
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-table-layout--sp-scroll {
      overflow-x: scroll;
      padding-bottom: 8px;
      /* Firefox */
      scrollbar-width: thin;
      scrollbar-color: var(--color-mufg-gray-75per) var(--color-white);
    }

    .c-table-layout--sp-scroll::-webkit-scrollbar {
      height: 8px;
    }

    .c-table-layout--sp-scroll::-webkit-scrollbar-track {
      background-color: var(--color-white);
      border: 1px solid var(--color-gray02);
      border-radius: 40px;
    }

    .c-table-layout--sp-scroll::-webkit-scrollbar-thumb {
      background-color: var(--color-mufg-gray-75per);
      border-radius: 40px;
      width: 62px;
    }
  }
}

.c-table-layout--pc-column2 {
  display: grid;
  row-gap: var(--spacing-12);
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media all and (min-width: 768px), print {
  .c-table-layout--pc-column2 {
    grid-template-columns: repeat(auto-fit, minmax(0, 588px));
    column-gap: var(--spacing-24);
  }
}

/* Table01
----------------*/
.c-table01 {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}
.c-table01--form01 {
  table-layout: fixed;
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-table-layout--sp-scroll .c-table01 {
      min-width: 1012px;
    }

    .c-table-layout--sp-scroll .c-table01__data .c-table01 {
      min-width: 100%;
    }
  }
}

@media all and (min-width: 768px), print {
  .c-table01 {
    border-bottom: 1px solid var(--color-gray02);
    border-top: 1px solid var(--color-gray02);
    table-layout: fixed;
  }
}

.c-table01--sp-keep {
  border-bottom: 1px solid var(--color-gray02);
  border-top: 1px solid var(--color-gray02);
  table-layout: fixed;
}

.c-table01__head {
  border-bottom: 1px solid var(--color-gray02);
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-table01.c-table01--sp-keep .c-table01__row {
      display: table-row;
    }

    .c-table01.c-table01--sp-keep .c-table01__row:not(:first-child) {
      border-top: 1px solid var(--color-gray02);
    }

    :where(.c-table01:not(.c-table01--sp-keep)) .c-table01__row {
      display: block;
    }

    :where(.c-table01:not(.c-table01--sp-keep)) .c-table01__row:not(:first-child) {
      border-top: 12px solid transparent;
    }
  }
}

.c-table01__header,
.c-table01__data {
  vertical-align: middle;
  padding: 20px;
  word-break: break-word;
}

.c-modal--type01 .c-table01__header,
.c-modal--type01 .c-table01__data {
  padding: 10px 12px;
}

@media not print {
  @media not all and (min-width: 768px) {

    .c-table01.c-table01--sp-keep .c-table01__header,
    .c-table01.c-table01--sp-keep .c-table01__data {
      display: table-cell;
    }

    :where(.c-table01:not(.c-table01--sp-keep)) .c-table01__header,
    :where(.c-table01:not(.c-table01--sp-keep)) .c-table01__data {
      display: block;
    }
  }
}

@media all and (min-width: 768px), print {

  .c-table01__header,
  .c-table01__data {
    padding: 24px;
  }

  .c-modal--type01 .c-table01__header,
  .c-modal--type01 .c-table01__data {
    padding: 10px 16px;
  }

  .c-table01__row:not(:first-child) .c-table01__header,
  .c-table01__row:not(:first-child) .c-table01__data {
    border-top: 1px solid var(--color-gray02);
  }

  .c-table01--form01 .c-table01__data {
    padding-left: 32px;
    padding-right: 32px;
  }
}

.c-table01__header {
  font-size: var(--text-large);
  font-weight: 700;
  line-height: var(--line-height-large);
  background-color: var(--color-light-gray02);
}

.c-table01__header[rowspan]:not(:first-child) {
  border-left: 1px solid var(--color-gray02);
}

.c-table01__head .c-table01__header {
  text-align: center;
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-table01.c-table01--sp-keep .c-table01__header:not(:last-child) {
      border-right: 1px solid var(--color-gray02);
    }

    :where(.c-table01:not(.c-table01--sp-keep)) .c-table01__header {
      border-bottom: 1px solid var(--color-gray02);
      border-left: none;
      border-right: none;
      border-top: 1px solid var(--color-gray02);
      text-align: left;
    }
  }
}

@media all and (min-width: 768px), print {
  .c-table01__header:not(:last-child) {
    border-right: 1px solid var(--color-gray02);
  }
}

.c-table01__header--bg-gray01 {
  background-color: var(--color-gray03);
}

.c-table01__row:not(:first-child) .c-table01__header--bg-gray01 {
  border-top: 1px solid var(--color-white);
}

.c-table01__head+.c-table01__body .c-table01__row:first-child .c-table01__header--bg-gray01 {
  border-top: 1px solid var(--color-white);
}

.c-table01__head .c-table01__header--bg-gray01.c-table01__header:not(:last-child) {
  border-right: 1px solid var(--color-white);
}

.c-table01__header--bg-red01 {
  background-color: var(--color-mufg-red);
  color: var(--color-white);
}

.c-table01__header--padding-narrow01 {
  padding: 10px 20px;
}

.c-table01__label {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.c-table01__label span {
  text-align: left;
}

.c-table01__label .c-label {
  flex-shrink: 0;
  font-weight: 400;
  margin-left: 8px;
}

.c-table01__ico {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.c-table01__ico img {
  flex-shrink: 0;
  width: 63px;
}

.c-table01__ico span {
  margin-left: 20px;
  width: 100%;
}

@media all and (min-width: 768px), print {
  .c-table01__ico img {
    width: 94px;
  }

  .c-table01__ico span {
    text-align: center;
  }
}

.c-table01__data {
  background-color: var(--color-white);
}

.c-table01__data:not(:last-child) {
  border-right: 1px solid var(--color-gray02);
}

.c-table01__data[rowspan]:not(:first-child) {
  border-left: 1px solid var(--color-gray02);
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-table01.c-table01--sp-keep .c-table01__data:not(:last-child) {
      border-right: 1px solid var(--color-gray02);
    }

    :where(.c-table01:not(.c-table01--sp-keep)) .c-table01__data {
      border-bottom: 1px solid var(--color-gray02);
      border-left: none;
      border-right: none;
    }
  }
}

.c-table01__data--bg-gray02 {
  background-color: var(--color-light-gray02);
}

.c-table01__data--bg-red03 {
  background-color: var(--color-light-red03);
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-table01__data--border-none-sp {
      border-right: none !important;
    }
  }
}

/* Table02
----------------*/
.c-table02 {
  border-collapse: collapse;
  border-spacing: 0;
  border-bottom: 1px solid var(--color-gray02);
  border-top: 1px solid var(--color-gray02);
  width: 100%;
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-table-layout:not(.c-table-layout--pc-column2) .c-table02.u-only-sp+.u-only-sp {
      margin-top: 12px;
    }
  }
}

@media all and (min-width: 768px), print {
  .c-table02 {
    table-layout: fixed;
  }
}

@media all and (min-width: 768px), print {
  .c-table02__head {
    border-bottom: 1px solid var(--color-gray02);
  }
}

.c-table02__row:not(:first-child) {
  border-top: 1px solid var(--color-gray02);
}

.c-table02__header,
.c-table02__data {
  padding: 20px;
  word-break: break-word;
}

@media all and (min-width: 768px), print {

  .c-table02__header,
  .c-table02__data {
    padding: 24px;
  }
}

.c-table02__header {
  font-size: var(--text-large);
  font-weight: 700;
  line-height: var(--line-height-large);
  background-color: var(--color-light-gray02);
  text-align: left;
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-table02__header {
      display: block;
    }
  }
}

@media all and (min-width: 768px), print {
  .c-table02__header:not(:first-child) {
    border-left: 1px solid var(--color-gray02);
  }
}

.c-table02__data {
  background-color: var(--color-white);
}

@media not print {
  @media not all and (min-width: 768px) {
    .c-table02__data {
      border-top: 1px solid var(--color-gray02);
      display: block;
    }
  }
}

@media all and (min-width: 768px), print {
  .c-table02__data:not(:first-child) {
    border-left: 1px solid var(--color-gray02);
  }
}

.c-table02__data--bg-gray02 {
  background-color: var(--color-light-gray02);
}

.c-table02__data--bg-red03 {
  background-color: var(--color-light-red03);
}

/*------------------------------
  Text
--------------------------------*/
/* Text
----------------*/
@media all and (min-width: 768px), print {
  .c-text {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-text:not(:first-child) {
  margin-top: var(--spacing-24);
}

.c-title2+.c-text,
.c-title3+.c-text {
  margin-top: var(--spacing-32);
}

.c-title4+.c-text {
  margin-top: var(--spacing-20);
}

.c-title5+.c-text {
  margin-top: var(--spacing-16);
}

[class^="c-table"] .c-text:not(:first-child),
[class^="unique-table"] .c-text:not(:first-child) {
  margin-top: var(--spacing-12);
}

.c-accordion__prefix+.c-text {
  margin-top: 0;
}

@media all and (min-width: 768px), print {

  .c-title2+.c-text,
  .c-title3+.c-text {
    margin-top: var(--spacing-40);
  }

  .c-title4+.c-text {
    margin-top: var(--spacing-28);
  }

  .c-title5+.c-text {
    margin-top: var(--spacing-12);
  }
}

.c-text.u-t-center {
  text-align: left !important;
}

@media all and (min-width: 768px), print {
  .c-text.u-t-center {
    margin-inline: auto;
    max-width: var(--content-sub-1000w);
    width: 100%;
  }
}

@media all and (min-width: 768px), print {
  .c-text.u-t-center {
    text-align: center !important;
  }
}

.c-set-conversion01__button .c-text.u-t-center,
.c-image-box01 .c-text.u-t-center,
.c-movie-box01 .c-text.u-t-center,
.c-grid .c-text.u-t-center,
.c-step .c-text.u-t-center,
.c-conversion-layout .c-text.u-t-center,
.c-set-info01 .c-text.u-t-center,
.c-accordion-layout .c-text.u-t-center,
.c-table-layout .c-text.u-t-center,
.c-features-layout .c-text.u-t-center {
  text-align: center !important;
}

.c-button-quaternary-layout+.c-text {
  margin-top: 80px;
}

.c-text--lg {
  font-size: var(--text-large);
  line-height: var(--line-height-large);
}

.c-text--md {
  font-size: var(--text-medium);
  line-height: var(--line-height-medium);
}

.c-text--xl {
  font-size: 1.8rem;
  font-weight: 400;
  line-height: var(--line-height-medium);
}

@media all and (min-width: 768px), print {
  .c-text--xl {
    font-size: 2rem;
  }
}

.c-text--xxl {
  font-size: 2.4rem;
  font-weight: 400;
  line-height: var(--line-height-medium);
}

@media all and (min-width: 768px), print {
  .c-text--xxl {
    font-size: 2.8rem;
  }
}

/* Note
----------------*/
@media all and (min-width: 768px), print {
  .c-note {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-note:not(:first-child) {
  margin-top: var(--spacing-24);
}

.c-note:not(:first-child).u-t-light {
  margin-top: 0;
}

.c-title2+.c-note,
.c-title3+.c-note {
  margin-top: var(--spacing-32);
}

.c-title4+.c-note {
  margin-top: var(--spacing-20);
}

.c-title5+.c-note {
  margin-top: var(--spacing-16);
}

[class^="c-table"] .c-note:not(:first-child),
[class^="unique-table"] .c-note:not(:first-child) {
  margin-top: var(--spacing-12);
}

@media all and (min-width: 768px), print {

  .c-title2+.c-note,
  .c-title3+.c-note {
    margin-top: var(--spacing-40);
  }

  .c-title4+.c-note {
    margin-top: var(--spacing-28);
  }

  .c-title5+.c-note {
    margin-top: var(--spacing-12);
  }
}

:not(.c-grid) .c-note.u-t-center,
:not(.c-step) .c-note.u-t-center,
:not(.c-conversion-layout) .c-note.u-t-center,
:not(.c-set-info01) .c-note.u-t-center,
:not(.c-accordion-layout) .c-note.u-t-center,
:not(.c-table-layout) .c-note.u-t-center,
:not(.c-features-layout) .c-note.u-t-center {
  text-align: left !important;
}

@media all and (min-width: 768px), print {

  :not(.c-grid) .c-note.u-t-center,
  :not(.c-step) .c-note.u-t-center,
  :not(.c-conversion-layout) .c-note.u-t-center,
  :not(.c-set-info01) .c-note.u-t-center,
  :not(.c-accordion-layout) .c-note.u-t-center,
  :not(.c-table-layout) .c-note.u-t-center,
  :not(.c-features-layout) .c-note.u-t-center {
    margin-inline: auto;
    max-width: var(--content-sub-1000w);
    width: 100%;
  }
}

@media all and (min-width: 768px), print {

  :not(.c-grid) .c-note.u-t-center,
  :not(.c-step) .c-note.u-t-center,
  :not(.c-conversion-layout) .c-note.u-t-center,
  :not(.c-set-info01) .c-note.u-t-center,
  :not(.c-accordion-layout) .c-note.u-t-center,
  :not(.c-table-layout) .c-note.u-t-center,
  :not(.c-features-layout) .c-note.u-t-center {
    text-align: center !important;
  }
}

.c-note--lg {
  font-size: var(--note-large);
  line-height: var(--line-height-large);
}

.c-note--md {
  font-size: var(--note-medium);
  line-height: var(--line-height-large);
}

/*------------------------------
  Title
--------------------------------*/
/* Title1
----------------*/
.c-title1 {
  width: 100%;
}

.c-main-visual--type-image .c-title1,
.unique-main-visual--type-image .c-title1 {
  margin-inline: auto;
  width: fit-content;
}

@media all and (min-width: 768px), print {

  .c-main-visual--type-image .c-title1,
  .unique-main-visual--type-image .c-title1 {
    margin-inline: initial;
  }
}

.c-title__wrapper {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: var(--spacing-20);
}

.c-title__wrapper--space-lg {
  row-gap: var(--spacing-24);
}

.c-title1__heading {
  font-size: var(--heading-lv1);
  line-height: var(--line-height-small);
  font-weight: 700;
  text-align: center;
}

.c-title1__heading:has(.c-title01__icon) {
  align-items: center;
  column-gap: 12px;
  display: flex;
  justify-content: center;
}

@media all and (min-width: 768px), print {

  .c-main-visual--type-image .c-title1__heading,
  .unique-main-visual--type-image .c-title1__heading {
    text-align: left;
  }

  .c-title1__heading:has(.c-title01__icon) {
    justify-content: flex-start;
  }
}

.c-title01__icon {
  flex-shrink: 0;
}

.c-title1__leed {
  font-size: var(--text-medium);
  line-height: var(--line-height-medium);
  margin-inline: auto;
  text-align: center;
  width: fit-content;
}

.c-main-visual--type-image .c-title1__leed,
.unique-main-visual--type-image .c-title1__leed {
  font-size: var(--text-large);
  line-height: var(--line-height-large);
}

@media all and (min-width: 768px), print {

  .c-main-visual--type-image .c-title1__leed,
  .unique-main-visual--type-image .c-title1__leed {
    text-align: left;
    width: 100%;
  }

  .unique-main-visual--type-image .c-title1__leed {
    margin-inline: initial;
    max-width: 620px;
  }
}

/* Title2
----------------*/
.c-title2 {
  margin: var(--spacing-80) 0 var(--spacing-32);
}

.c-modal--type01 .c-title2 {
  margin-top: 0;
}

@media all and (min-width: 768px), print {
  .c-title2 {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-main-visual+.s-section .c-title2 {
  margin-top: 0;
}

.c-title2:not(.c-title2--pos-left) {
  padding-bottom: 22px;
  position: relative;
}

.c-title2:not(.c-title2--pos-left)::before {
  background-color: var(--color-mufg-red);
  bottom: 0;
  content: "";
  display: block;
  height: 2px;
  left: 50%;
  position: absolute;
  translate: -50% 0;
  width: 60px;
}

@media all and (min-width: 768px), print {
  .c-title2 {
    margin: var(--spacing-120) auto var(--spacing-40);
  }

  .c-title2:not(.c-title2--pos-left) {
    padding-bottom: 24px;
  }

  .c-title2:not(.c-title2--pos-left)::before {
    height: 4px;
  }
}

.c-accordion__summary .c-title2 {
  margin: 0;
}

.c-title2__heading {
  font-size: var(--heading-lv2);
  line-height: var(--line-height-medium);
  font-weight: 700;
}

.c-modal--type01 .c-title2__heading {
  font-size: var(--heading-lv3);
}

.c-title2:not(.c-title2--pos-left) .c-title2__heading {
  text-align: center;
}

.c-title2:has(hgroup) .c-title2__heading {
  margin-top: var(--spacing-8);
}

.c-title2__lead {
  font-size: var(--text-x-large);
  font-weight: 500;
  text-align: center;
}

/* Title3
----------------*/
.c-title3 {
  margin: var(--spacing-56) 0 var(--spacing-28);
  position: relative;
  width: 100%;
  height: auto;
}

@media all and (min-width: 768px), print {
  .c-title3 {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

@media all and (min-width: 768px), print {
  .c-title3 {
    margin: var(--spacing-80) auto var(--spacing-28);
  }
}

.c-title3:has(.c-title3__icon) {
  display: flex;
  column-gap: 8px;
}

.c-title3--type01::before,
.c-title3--type02::before {
  content: "";
  background: var(--color-gray01);
  background: linear-gradient(90deg, var(--color-light-red01) 100px, var(--color-gray01) 101px);
  bottom: 0;
  height: 2px;
  left: 0;
  position: absolute;
  width: 100%;
}

@media all and (min-width: 768px), print {

  .c-title3--type01::before,
  .c-title3--type02::before {
    background: linear-gradient(90deg, var(--color-light-red01) 200px, var(--color-gray01) 201px);
  }
}

@media print {

  .c-title3--type01::before,
  .c-title3--type01::before,
  .c-title3--type02::before,
  .c-title3--type02::before {
    background: var(--color-gray01);
  }

  .c-title3--type01::after,
  .c-title3--type01::after,
  .c-title3--type02::after,
  .c-title3--type02::after {
    content: "";
    background: var(--color-light-red01);
    bottom: 0;
    height: 2px;
    left: 0;
    position: absolute;
    width: 200px;
  }
}

.c-title3--type01 {
  padding-bottom: 12px;
}

@media all and (min-width: 768px), print {
  .c-features-layout+.c-title3--type01 {
    margin-top: var(--spacing-40);
  }
}

.c-title3--type02 {
  padding-bottom: 12px;
}

@media all and (min-width: 768px), print {
  .c-title3--type02 {
    padding-bottom: 4px;
  }
}

.c-title3__icon {
  flex-shrink: 0;
}

.c-title3__heading {
  font-size: var(--heading-lv3);
  line-height: var(--line-height-medium);
  font-weight: 700;
}

.c-modal--type01 .c-title3__heading {
  font-size: var(--heading-lv4);
}

@media all and (min-width: 768px), print {
  .c-title3--type02 .c-title3__heading {
    align-items: center;
    display: flex;
  }
}

.c-title3__prefix {
  color: var(--color-gray);
  display: block;
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: var(--spacing-4);
}

@media all and (min-width: 768px), print {
  .c-title3__prefix {
    display: inline-block;
    font-size: 3.1rem;
    margin-right: var(--spacing-24);
    margin-top: 0;
  }

  .c-title3--type03 .c-title3__prefix {
    display: block;
    font-size: 2rem;
    margin-bottom: var(--spacing-20);
  }
}

.c-title3__number {
  display: inline-block;
  font-size: 3.2rem;
  margin-left: 0.2em;
}

@media all and (min-width: 768px), print {
  .c-title3__number {
    font-size: 4.1rem;
  }

  .c-title3--type03 .c-title3__number {
    font-size: 5.7rem;
  }
}

.c-title3__lead {
  font-size: 2rem;
  line-height: var(--line-height-medium);
  text-align: center;
}

@media all and (min-width: 768px), print {
  .c-title3__lead {
    font-size: 2.4rem;
  }
}

/* Title4
----------------*/
.c-title4 {
  margin: var(--spacing-28) 0 var(--spacing-20);
}

@media all and (min-width: 768px), print {
  .c-title4 {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.c-title4:not(:has(.u-t-center)):not(:has(.u-t-left)) {
  padding-left: 13px;
  position: relative;
}

.c-title4:not(:has(.u-t-center)):not(:has(.u-t-left))::before {
  background-color: var(--color-light-red01);
  content: "";
  display: block;
  flex-shrink: 0;
  height: calc(100% - 5px);
  left: 0;
  min-height: 16px;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  width: 2px;
}

@media all and (min-width: 768px), print {
  .c-title4 {
    margin: var(--spacing-40) auto var(--spacing-28);
  }

  .c-title4:not(:has(.u-t-center)):not(:has(.u-t-left))::before {
    min-height: 30px;
  }
}

.c-title4__heading {
  font-size: var(--heading-lv4);
  line-height: var(--line-height-medium);
  font-weight: 700;
}

.c-modal--type01 .c-title4__heading {
  font-size: var(--heading-lv5);
}

/* Title5
----------------*/
.c-title5 {
  height: auto;
  margin: var(--spacing-20) 0 var(--spacing-12);
  width: 100%;
}

@media all and (min-width: 768px), print {
  .c-title5 {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

@media all and (min-width: 768px), print {
  .c-title5 {
    margin-top: var(--spacing-28);
  }
}

.c-title5__heading {
  font-size: var(--heading-lv5);
  line-height: var(--line-height-medium);
  font-weight: 700;
}

.c-modal--type01 .c-title5__heading {
  font-size: 1.8rem;
}

/*------------------------------
  Stepper
--------------------------------*/
.c-stepper {
  --border-color: #b4b4b4;
  --number-size: 50px;

  display: flex;
}
@media all and (min-width: 768px), print {
  .c-stepper {
    margin-inline: auto;
    margin-top: var(--spacing-80);
    max-width: 677px;
    width: 100%;
  }
}
.c-stepper__item {
  flex: 1;
  display: flex;
  flex-direction: column;
  text-align: center;
}
.c-stepper__item:first-child {
  justify-content: flex-end;
}
.c-stepper__item:not(:first-child)::before {
  content: "";
  height: 2px;
}
.c-stepper__item:not(:first-child):before {
  content: "";
  position: relative;
  top: calc(var(--number-size) / 2);
  right: 50%;
  height: 5px;
  background-color: var(--border-color);
  order: -1;
}
.c-stepper__item--current:not(:first-child):before {
  background-color: var(--color-mufg-red);
}
.c-stepper__number {
  background-color: var(--color-white);
  border: solid 2px var(--border-color);
  border-radius: 999em;
  display: grid;
  font-size: 1.8rem;
  font-weight: 700;
  height: var(--number-size);
  place-content: center;
  position: relative;
  margin-inline: auto;
  width: var(--number-size);
  z-index: 1;
}
.c-stepper__item--current .c-stepper__number {
  border: solid 4px var(--color-mufg-red);
}
.c-stepper__title {
  margin-top: var(--spacing-8);
}
@media all and (min-width: 768px), print {
  .c-stepper__title {
    margin-top: var(--spacing-12);
  }
}
@media all and (min-width: 768px), print {
  .c-box01__title--fz-lg {
    font-size: 2.4rem;
  }
}
/*------------------------------
  Input Text
--------------------------------*/
/* c-input-text-layout */
.c-input-text-layout {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 40px;
  max-width: 590px;
  width: 100%;
}
.c-input-text-layout01 {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: var(--spacing-12) var(--spacing-24);
}
/* c-input-text01 */
.c-input-text01 {
  max-width: 590px;
  width: 100%;
}
.c-input-text01__unit {
  align-items: center;
  column-gap: 12px;
  display: grid;
  grid-template-columns: 2em 1fr;
}
.c-input-text01__input {
  border: solid 1px var(--color-gray02);
  border-radius: 4px;
  font-size: 1.6rem;
  padding: 8px 7px;
  width: 100%;
}
/* c-input-text02 */
.c-input-text02:has(.c-input-text02__unit):has(.c-input-text02__note) {
  display: grid;
  grid-template-columns: auto minmax(0, auto);
  grid-template-rows: auto auto;
  place-content: start;
}
.c-input-text02__unit {
  align-items: center;
  column-gap: var(--spacing-12);
  display: inline-grid;
  grid-template-columns: 2em minmax(0, auto);
}
.c-input-text02__unit:has(.c-input-text02__label[class*="u-em"]) {
  grid-template-columns: auto minmax(0, auto);
}
.c-input-text02:has(.c-input-text02__note) .c-input-text02__unit {
  grid-template-columns: subgrid;
  grid-column: 1/ -1;
}
.c-input-text02__note {
  margin-top: var(--spacing-12);
}
.c-input-text02__unit + .c-input-text02__note {
  display: grid;
  grid-column: 2 / -1;
  grid-template-columns: subgrid;
  margin-left: 6px;
}
.c-input-text02__label {
  width: 2em;
}
.c-input-text02__input {
  border: solid 1px var(--color-gray02);
  border-radius: 4px;
  font-size: 1.6rem;
  height: 40px;
  line-height: 1;
  padding: 8px 10px;
  width: 100%;
}
.c-input-text02__input.err_bg {
  background-color: var(--color-light-red03);
  border: 2px solid var(--color-light-red02);
}
.c-input-text02__input:disabled {
  background-color: var(--color-mufg-gray-50per);
}
.c-input-text02__input--w-smallest {
  max-width: 100%;
  width: 100px;
}
.c-input-text02__input--w-middle {
  max-width: 100%;
  width: 220px;
}
.c-input-text02__input--w-large {
  max-width: 100%;
  width: 370px;
}
.c-input-text02__input--w-largest {
  max-width: 100%;
  width: 590px;
}
@media all and (min-width: 768px), print {
  /* c-input-text-layout */
  .c-input-text-layout .c-input-text01 {
    width: calc((100% - 40px) / 2);
  }
  .c-input-text-layout01 {
    display: flex;
  }
  /* c-input-text02 */
  .c-input-text-layout01:has(.c-input-text02__unit):has(.c-input-text02__note):has(.c-input-text02__input--w-smallest) .c-input-text02 {
    grid-template-columns: auto minmax(0, 100px);
  }
  .c-input-text-layout01:has(.c-input-text02__unit):has(.c-input-text02__note):has(.c-input-text02__input--w-middle) .c-input-text02 {
    grid-template-columns: auto minmax(0, 220px);
  }
  .c-input-text-layout01:has(.c-input-text02__unit):has(.c-input-text02__note):has(.c-input-text02__input--w-large) .c-input-text02 {
    grid-template-columns: auto minmax(0, 370px);
  }
  .c-input-text-layout01:has(.c-input-text02__unit):has(.c-input-text02__note):has(.c-input-text02__input--w-largest) .c-input-text02 {
    grid-template-columns: auto minmax(0, 590px);
  }
  .c-input-text02__note {
    margin-top: var(--spacing-8);
  }
}
/*------------------------------
  Slect
--------------------------------*/
.c-select01 {
  width: 100%;
}
.c-select01--size-sm {
  width: 90px;
}
.c-select01--w-small {
  max-width: 100%;
  width: 80px;
}
.c-select01--w-middle {
  max-width: 100%;
  width: 220px;
}
.c-select01--w-large {
  max-width: 100%;
  width: 590px;
}
.c-select01--column {
  align-items: center;
  column-gap: 24px;
  display: grid;
  grid-template-columns: 400px 1fr;
  width: fit-content;
}
.c-select01--column.c-select01--size-sm {
  grid-template-columns: 90px 1fr;
}
.c-select01--has-unit {
  align-items: center;
  column-gap: var(--spacing-24);
  display: grid;
  grid-template-columns: 1fr auto;
  width: 100%;
}
.c-select01--has-unit.c-select01--w-small {
  grid-template-columns: minmax(0, 80px) auto;
}
.c-select01--has-unit.c-select01--w-middle {
  grid-template-columns: minmax(0, 220px) auto;
}
.c-select01--has-unit.c-select01--w-large {
  grid-template-columns: minmax(0, 590px) auto;
}
.c-select01__item {
  position: relative;
}
.c-select01__item::after {
  aspect-ratio: 1;
  background: url("../image/ico-chevron-bottom.svg") no-repeat right center / contain;
  content: "";
  display: block;
  position: absolute;
  pointer-events: none;
  top: 50%;
  translate: 0 -46%;
  right: 6px;
  width: 24px;
}
.c-select01__input {
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
  border: solid 1px var(--color-gray02);
  border-radius: 4px;
  color: var(--color-black);
  font-size: 1.6rem;
  padding: 8px 30px 8px 10px;
  width: 100%;
}
.c-select01__input.err_bg {
  background-color: var(--color-light-red03);
  border: 2px solid var(--color-light-red02);
}
.c-select01__input:disabled {
  background-color: var(--color-mufg-gray-50per);
}
.c-select01--size-sm .c-select01__input {
  width: 90px;
}
/*------------------------------
  Textarea
--------------------------------*/
.c-textarea__input {
  border: solid 1px var(--color-gray02);
  border-radius: 4px;
  font-size: 1.6rem;
  padding: 8px 10px;
  max-width: 590px;
  width: 100%;
}
.c-textarea__input.err_bg {
  background-color: var(--color-light-red03);
  border: 2px solid var(--color-light-red02);
}
/*------------------------------
  Form Error
--------------------------------*/
.c-error01 {
  color: var(--color-mufg-red);
}
.c-error01:not(:first-child) {
  margin-top: var(--spacing-12);
}
.c-error01:not(.err_bg) {
  display: none;
}
@media all and (min-width: 768px), print {
  .c-error01:not(:first-child) {
    margin-top: var(--spacing-8);
  }
  .c-error01--pc-center01 {
    margin-inline: auto;
    width: fit-content;
  }
}

/*------------------------------
  Unique-anchor
--------------------------------*/
.unique-anchor {
  display: flex;
  justify-content: center;
}

@media all and (min-width: 768px), print {
  .unique-anchor {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.unique-anchor:not(:first-child) {
  margin-top: var(--spacing-32);
}

@media all and (min-width: 768px), print {
  .unique-anchor:not(:first-child) {
    margin-top: var(--spacing-40);
  }
}

.unique-anchor__list {
  border: solid 1px var(--color-gray02);
  border-radius: 8px;
  display: grid;
  overflow: hidden;
  width: 100%;
}

@media all and (min-width: 768px), print {
  .unique-anchor__list:not(:first-child) {
    margin-top: var(--spacing-80);
  }

  .unique-anchor__list.unique-anchor__list--col3 {
    grid-template-columns: repeat(3, 1fr);
  }

  .unique-anchor__list:has(> :nth-child(5)) {
    border: none;
  }
}

.unique-anchor__item {
  transition: background-color 0.4s 0s ease;
  position: relative;
}

@media not print {
  @media not all and (min-width: 768px) {
    .unique-anchor__item:not(:first-child):before {
      background-color: var(--color-gray02);
      content: "";
      display: block;
      height: 1px;
      margin-inline: auto;
      width: calc(100% - 40px);
    }
  }
}

@media all and (min-width: 768px), print {
  .unique-anchor__item {
    overflow: hidden;
  }

  .unique-anchor__list--col3 .unique-anchor__item:not(:nth-child(3n)):before {
    background-color: var(--color-gray02);
    content: "";
    display: block;
    height: calc(100% - 30px);
    position: absolute;
    top: 50%;
    translate: 0 -50%;
    /* Specify '1px' instead of '0px' to prevent lines disappearing when printing */
    right: 1px;
    width: 1px;
  }

  .unique-anchor__list--col3:has(> :nth-child(3)) .unique-anchor__item:before {
    height: calc(100% - 15px);
  }

  .unique-anchor__list--col3:has(> :nth-child(3)) .unique-anchor__item:nth-child(-n + 3) {
    border-top: solid 1px var(--color-gray02);
  }

  .unique-anchor__list--col3:has(> :nth-child(3)) .unique-anchor__item:nth-child(-n + 3):before {
    top: auto;
    bottom: 0;
    translate: 0;
  }

  .unique-anchor__list--col3:has(> :nth-child(3)) .unique-anchor__item:nth-child(-n + 3):after {
    background-color: var(--color-gray02);
    content: "";
    height: 1px;
    position: absolute;
    translate: -50% 0;
    /* Specify '1px' instead of '0px' to prevent lines disappearing when printing */
    bottom: 1px;
    left: 50%;
    width: 100%;
  }

  .unique-anchor__list--col3:has(> :nth-child(3)) .unique-anchor__item:nth-child(n + 4) {
    border-bottom: solid 1px var(--color-gray02);
  }

  .unique-anchor__list--col3:has(> :nth-child(3)) .unique-anchor__item:nth-child(n + 4):before {
    top: 0;
    translate: 0;
  }

  .unique-anchor__list--col3:has(> :nth-child(3)) .unique-anchor__item:nth-child(3n + 1) {
    border-left: solid 1px var(--color-gray02);
  }

  .unique-anchor__list--col3:has(> :nth-child(3)) .unique-anchor__item:nth-child(3n) {
    border-right: solid 1px var(--color-gray02);
  }

  .unique-anchor__list--col3:has(> :nth-child(3)) .unique-anchor__item:nth-child(1) {
    border-top-left-radius: 8px;
  }

  .unique-anchor__list--col3:has(> :nth-child(3)) .unique-anchor__item:nth-child(1):after {
    background: linear-gradient(90deg, var(--color-white) 20px, var(--color-gray02) 21px);
  }

  .unique-anchor__list--col3:has(> :nth-child(3)) .unique-anchor__item:nth-child(3) {
    border-top-right-radius: 8px;
  }

  .unique-anchor__list--col3:has(> :nth-child(3)) .unique-anchor__item:nth-child(3):after {
    background: linear-gradient(-90deg, var(--color-white) 20px, var(--color-gray02) 21px);
  }

  .unique-anchor__list--col3:has(> :nth-child(3)) .unique-anchor__item:nth-child(4) {
    border-bottom-left-radius: 8px;
  }

  .unique-anchor__list--col3:has(> :nth-child(3)) .unique-anchor__item:nth-child(6) {
    border-bottom-right-radius: 8px;
  }

  .unique-anchor__list--col3:has(> :nth-child(3)) .unique-anchor__item:last-child {
    border-right: solid 1px var(--color-gray02);
  }

  .unique-anchor__list--col3:has(> :nth-child(3)) .unique-anchor__item:last-child:before {
    content: none;
  }
}

.unique-anchor__link {
  transition: background-color 0.4s 0s ease;
  font-size: var(--text-large);
  line-height: var(--line-height-large);
  align-items: center;
  column-gap: 15px;
  display: grid;
  font-weight: 500;
  grid-template-columns: minmax(0, 1fr) 24px;
  height: 100%;
  padding: 20px 15px 20px 20px;
  text-align: center;
  width: 100%;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .unique-anchor__link:hover {
    background-color: var(--color-light-gray02);
  }
}

@media (hover: none) {
  .unique-anchor__link:active {
    background-color: var(--color-light-gray02);
  }
}

.unique-anchor__link:focus-visible {
  outline-offset: calc(-1 * var(--outline-width));
}

.unique-anchor__link::after {
  background: var(--bg-ico-chevron-bottom);
  content: "";
  display: inline-block;
  flex-shrink: 0;
  height: var(--icon-size-large);
  width: var(--icon-size-large);
}

@media all and (min-width: 768px), print {
  .unique-anchor__link {
    column-gap: 0;
    grid-template-columns: 1fr;
    padding: 20px 20px 10px 20px;
    row-gap: 5px;
  }

  .unique-anchor__link::after {
    margin-inline: auto;
  }
}

@media all and (min-width: 768px), print {
  .unique-anchor__text {
    display: grid;
    flex-grow: 1;
    place-content: center;
  }
}

/*------------------------------
  Unique-box-panel
--------------------------------*/
.unique-box-panel01 {
  display: flex;
  flex-direction: column;
}

@media all and (min-width: 768px), print {
  .unique-box-panel01 {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

@media all and (min-width: 768px), print {
  .unique-box-panel01 {
    column-gap: 24px;
    flex-direction: row;
  }
}

.unique-box-panel01__image {
  flex-shrink: 0;
  margin-inline: auto;
  width: fit-content;
}

.unique-box-panel01__detail {
  margin-top: 20px;
}

@media all and (min-width: 768px), print {
  .unique-box-panel01__detail {
    margin-top: 0;
  }
}

.unique-box-panel01__description {
  font-size: var(--text-large);
}

.unique-box-panel01__link {
  margin-top: 24px;
}

/*------------------------------
  Unique-button
--------------------------------*/
.unique-button-layout {
  display: grid;
  grid-template-columns: 1fr;
  justify-content: center;
  row-gap: 20px;
}

@media all and (min-width: 768px), print {
  .unique-button-layout {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.unique-button-layout:not(:first-child) {
  margin-top: var(--spacing-32);
}

@media all and (min-width: 768px), print {
  .unique-button-layout {
    column-gap: 24px;
  }

  .unique-button-layout:not(:first-child) {
    margin-top: var(--spacing-40);
  }
}

@media all and (min-width: 768px), print {
  .unique-button-layout--col2 {
    grid-template-columns: repeat(2, 384px);
  }
}

@media all and (min-width: 768px), print {
  .unique-button-layout--col3 {
    grid-template-columns: repeat(3, 384px);
  }
}

@media print {
  .unique-button-layout--col3 {
    grid-template-columns: repeat(auto-fit, minmax(0, calc((100% - 48px) / 3)));
  }
}

/*------------------------------
  Unique-check-list
--------------------------------*/
.unique-check-list01 {
  display: grid;
  row-gap: 24px;
}

@media all and (min-width: 768px), print {
  .unique-check-list01 {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

@media all and (min-width: 768px), print {
  .unique-check-list01 {
    column-gap: 24px;
    grid-template-columns: repeat(2, 1fr);
  }
}

@media all and (min-width: 768px), print {
  .unique-check-list01--col03 {
    grid-template-columns: repeat(3, 1fr);
  }
}

.unique-check-list01__item {
  column-gap: 8px;
  display: grid;
  grid-template-columns: 34px 1fr;
}

@media all and (min-width: 768px), print {
  .unique-check-list01__item {
    grid-template-columns: 42px 1fr;
  }
}

.unique-check-list01__marker {
  aspect-ratio: 1;
  background: var(--bg-ico-check-list);
  width: 28px;
}

@media all and (min-width: 768px), print {
  .unique-check-list01__marker {
    width: 36px;
  }
}

.unique-check-list01__text {
  font-size: 2rem;
  font-weight: 500;
}

@media all and (min-width: 768px), print {
  .unique-check-list01__text {
    font-size: 2.4rem;
  }
}

/*------------------------------
  Unique-contact
--------------------------------*/
.unique-contact-layout {
  background-color: var(--color-cv-yellow);
}

@media not print {
  @media not all and (min-width: 768px) {
    .unique-contact-layout {
      margin-inline: calc(var(--content-main-inline-padding) * -1);
      position: relative;
    }
  }
}

.unique-contact-layout:not(:first-child) {
  margin-top: var(--spacing-80);
}

@media all and (min-width: 768px), print {
  .unique-contact-layout:not(:first-child) {
    margin-top: var(--spacing-120);
  }
}

.unique-contact-layout__inner {
  margin-inline: auto;
  max-width: var(--content-main-width);
  padding: 40px var(--content-main-inline-padding);
}

@media all and (min-width: 768px), print {
  .unique-contact-layout__inner {
    padding-left: 0;
    padding-right: 0;
  }
}

.unique-contact__inner+.unique-contact__inner {
  border-top: solid 1px var(--color-mufg-gray-50per);
  margin-top: var(--spacing-40);
  padding-top: 40px;
}

.unique-contact__title {
  font-size: 1.8rem;
  font-weight: 700;
}

@media all and (min-width: 768px), print {
  .unique-contact__title {
    font-size: 2.4rem;
  }
}

.unique-contact__text-wrapper {
  display: grid;
  row-gap: 8px;
}

.unique-contact__text-wrapper:not(:first-child) {
  margin-top: var(--spacing-20);
}

@media all and (min-width: 768px), print {
  .unique-contact__text-wrapper {
    column-gap: 24px;
    grid-template-columns: repeat(3, 1fr);
  }

  .unique-contact__text-wrapper:not(:first-child) {
    margin-top: var(--spacing-32);
  }
}

.unique-contact__text {
  font-size: var(--text-medium);
}

.unique-contact__text:not(:first-child) {
  margin-top: var(--spacing-20);
}

.unique-contact__text-wrapper .unique-contact__text:not(:first-child) {
  margin-top: 0;
}

@media all and (min-width: 768px), print {
  .unique-contact__text:not(:first-child) {
    margin-top: var(--spacing-24);
  }
}

.unique-contact__detail:not(:first-child) {
  margin-top: var(--spacing-12);
}

@media all and (min-width: 768px), print {
  .unique-contact__detail:not(:first-child) {
    margin-top: var(--spacing-32);
  }
}

.unique-contact__link {
  font-size: var(--text-medium);
  line-height: var(--line-height-medium);
  transition: opacity 0.4s 0s ease;
  text-decoration: underline;
  color: var(--color-link-blue);
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .unique-contact__link:hover {
    opacity: var(--opacity-hover-50per);
    text-decoration: none;
  }
}

@media (hover: none) {
  .unique-contact__link:active {
    opacity: var(--opacity-hover-50per);
    text-decoration: none;
  }
}

.unique-contact__link::after {
  background: var(--bg-ico-blank);
  content: "";
  display: inline-block;
  height: var(--icon-size-small);
  margin-left: 8px;
  position: relative;
  top: calc((1em * var(--line-height-medium) - var(--icon-size-small)) / 2);
  /* Necessary if the componees are nested, e.g. if they are used in a list componee. */
  vertical-align: text-top;
  width: var(--icon-size-small);
}

.unique-contact__inquiry-target {
  font-size: var(--text-medium);
  font-weight: 700;
}

.unique-contact__address {
  font-size: var(--text-medium);
}

.unique-contact__address:not(:first-child) {
  margin-top: var(--spacing-20);
}

.unique-contact__tel-wrapper {
  display: grid;
  row-gap: 20px;
}

.unique-contact__tel-wrapper:not(:first-child) {
  margin-top: var(--spacing-20);
}

@media all and (min-width: 768px), print {
  .unique-contact__tel-wrapper {
    column-gap: 24px;
    grid-template-columns: repeat(3, 1fr);
  }
}

.unique-contact__tel-name {
  font-size: 1.4rem;
  font-weight: 500;
}

.unique-contact__tel-name--fz-lg {
  font-size: 1.6rem;
}

.unique-contact__tel-number:not(:first-child) {
  margin-top: var(--spacing-8);
}

.unique-contact__tel-link {
  font-size: clamp(3rem, 9.6vw, 3.6rem);
  font-weight: 700;
  line-height: 1;
  position: relative;
}

@media not print {
  @media not all and (min-width: 768px) {
    .unique-contact__tel-link {
      color: var(--color-link-blue);
      text-decoration: underline;
    }
  }
}

@media all and (min-width: 768px), print {
  .unique-contact__tel-link {
    font-size: 3.6rem;
  }
}

/*------------------------------
  Unique-description-list
--------------------------------*/
.unique-description-list {
  display: grid;
  row-gap: 20px;
}

@media all and (min-width: 768px), print {
  .unique-description-list {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.unique-description-list:not(:first-child) {
  margin-top: var(--spacing-28);
}

@media all and (min-width: 768px), print {
  .unique-description-list {
    row-gap: 16px;
  }

  .unique-description-list:not(:first-child) {
    margin-top: var(--spacing-24);
  }
}

.unique-description-list__wrapper {
  display: grid;
  row-gap: 8px;
}

@media all and (min-width: 768px), print {
  .unique-description-list__wrapper {
    align-items: baseline;
    column-gap: 12px;
    grid-template-columns: 132px 1fr;
  }
}

.unique-description-list__title {
  background-color: var(--color-cyan-20per);
  border-radius: 4px;
  font-size: 1.4rem;
  font-weight: 700;
  padding: 11px 4px 12px;
  text-align: center;
  width: 132px;
}

.unique-description-list__text {
  font-size: var(--text-large);
}

/*------------------------------
  Unique-dk-contact
--------------------------------*/
/* Values outside the design definition are used to recreate the old design state */
.unique-dk-contact {
  background-color: #e6e9ee;
  padding: 22px 22px 20px 22px;
}

@media all and (min-width: 768px), print {
  .unique-dk-contact {
    padding: 34px 30px 34px 30px;
    margin-inline: auto;
    max-width: 714px;
    width: 100%;
  }
}

.unique-dk-contact__title {
  color: #333;
  font-size: 2rem;
  font-weight: bold;
}

.unique-dk-contact__title:not(:first-child) {
  margin-top: 26px;
}

@media all and (min-width: 768px), print {
  .unique-dk-contact__title:not(:first-child) {
    margin-top: 25px;
  }
}

.unique-dk-contact-box {
  background-color: #fff;
  margin-top: 8px;
  padding: 20px;
}

@media all and (min-width: 768px), print {
  .unique-dk-contact-box {
    margin-top: 9px;
  }
}

.unique-dk-contact-box--col2 {
  display: flex;
  column-gap: 26px;
  padding: 15px 14px;
}

@media all and (min-width: 768px), print {
  .unique-dk-contact-box--col2 {
    display: block;
    padding: 15px 20px;
  }
}

.unique-dk-contact-box__title {
  color: #333;
  display: block;
  font-size: 1.6rem;
  font-weight: bold;
}

.unique-dk-contact-box__title--lb {
  display: inline-block;
}

@media all and (min-width: 768px), print {
  .unique-dk-contact-box__title--lb {
    margin-left: 1em;
  }
}

.unique-dk-contact__column2 {
  display: grid;
  margin-top: 13px;
  row-gap: 29px;
}

.unique-dk-contact__title+.unique-dk-contact__column2 {
  font-size: 1.4rem;
  margin-top: 1px;
  row-gap: 12px;
}

@media all and (min-width: 768px), print {
  .unique-dk-contact__column2 {
    grid-template-columns: 1fr 1fr;
  }

  .unique-dk-contact__title+.unique-dk-contact__column2 {
    column-gap: 22px;
    margin-top: 0;
  }
}

.unique-dk-contact__column2--align-end {
  align-items: flex-end;
}

.unique-dk-contact-tel {
  display: grid;
  row-gap: 13px;
}

.unique-dk-contact-tel--not-available {
  row-gap: 0;
}

.unique-dk-contact-tel__item {
  padding-left: 25px;
}

.unique-dk-contact-tel--not-available .unique-dk-contact-tel__item {
  margin-top: 4px;
  padding-left: 13px;
}

.unique-dk-contact-tel__item--ico-freecall {
  background: url("../../../assets/img/parts/icon_freecall.png") left 0.2em no-repeat;
}

@media all and (min-width: 768px), print {
  .unique-dk-contact-tel__item--ico-freecall {
    background: url("../../../assets/img/parts/icon_freecall.png") left 0.6em no-repeat;
  }
}

.unique-dk-contact-tel__link {
  color: #0066aa;
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 2.6px;
  line-height: 1;
}

.unique-dk-contact-tel--not-available .unique-dk-contact-tel__link {
  font-size: 2rem;
  font-weight: normal;
  letter-spacing: 1.6px;
}

.unique-dk-contact-tel__text {
  display: block;
  font-size: 14px;
  font-weight: bold;
  margin-left: -11px;
  margin-top: 3px;
  line-height: 1;
}

.unique-dk-contact-tel--not-available .unique-dk-contact-tel__text {
  display: inline-block;
  font-weight: normal;
  margin-top: 0;
  margin-left: 2px;
}

@media all and (min-width: 768px), print {
  .unique-dk-contact-tel__text {
    display: inline-block;
    margin-left: 0;
  }
}

.unique-dk-contact__text {
  font-size: 14px;
  margin-top: 22px;
}

.unique-dk-contact-tel .unique-dk-contact__text {
  margin-top: 0;
}

@media all and (min-width: 768px), print {
  .unique-dk-contact__text {
    margin-top: 17px;
  }
}

.unique-dk-contact__note {
  column-gap: 7px;
  display: grid;
  font-size: 14px;
  grid-template-columns: 1em 1fr;
  margin-top: 11px;
}

@media all and (min-width: 768px), print {
  .unique-dk-contact__note {
    column-gap: 7px;
    margin-top: 9px;
  }
}

.unique-dk-contact-list {
  display: grid;
  row-gap: 11px;
}
.unique-dk-contact-list:not(:first-child) {
  margin-top: 11px;
}
.unique-dk-contact-list__item {
  column-gap: 7px;
  display: grid;
  font-size: 14px;
  grid-template-columns: 1em 1fr;
}
@media all and (min-width: 768px), print {
  .unique-dk-contact-list {
    row-gap: 9px;
  }
  .unique-dk-contact-list:not(:first-child) {
    margin-top: 9px;
  }
  .unique-dk-contact-list__item {
    column-gap: 7px;
  }
}
/*------------------------------
  Unique-information-list
--------------------------------*/
.unique-information-list {
  border-bottom: solid 1px var(--color-gray02);
  padding-bottom: 24px;
}

@media all and (min-width: 768px), print {
  .unique-information-list {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.unique-information-list:not(:first-child) {
  margin-top: var(--spacing-24);
}

@media all and (min-width: 768px), print {
  .unique-information-list {
    padding-bottom: 20px;
  }
}

.unique-information-list__block {
  display: grid;
  row-gap: 12px;
}

.unique-information-list__data {
  font-size: var(--text-medium);
}

.unique-information-list__text {
  font-size: var(--text-large);
}

/*------------------------------
  Unique-link-block
--------------------------------*/
.unique-link-block {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  row-gap: 12px;
}

@media all and (min-width: 768px), print {
  .unique-link-block {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

@media all and (min-width: 768px), print {
  .unique-link-block {
    column-gap: 24px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 24px;
  }
}

.unique-link-block>a {
  transition: opacity 0.4s 0s ease;
  font-size: var(--text-large);
  line-height: var(--line-height-large);
  align-items: center;
  display: flex;
  opacity: 1;
  width: fit-content;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .unique-link-block>a:hover {
    opacity: var(--opacity-hover-50per);
  }
}

@media (hover: none) {
  .unique-link-block>a:active {
    opacity: var(--opacity-hover-50per);
  }
}

.unique-link-block>a::before {
  background: var(--bg-ico-chevron-round-right);
  content: "";
  display: inline-block;
  flex-shrink: 0;
  height: var(--icon-size-medium);
  margin-right: 8px;
  width: var(--icon-size-medium);
}

.unique-link-block>a:active {
  font-weight: 700;
  opacity: 1 !important;
}

@media all and (min-width: 768px), print {
  .unique-link-block>a::before {
    height: var(--icon-size-large);
    width: var(--icon-size-large);
  }
}

.unique-link-block>a[target="_blank"] {
  display: inline-block;
  padding-right: calc(var(--icon-size-small) + 8px);
}

.unique-link-block>a[target="_blank"]::after {
  background: var(--bg-ico-blank);
  content: "";
  display: inline-block;
  height: var(--icon-size-small);
  margin-left: 8px;
  margin-right: calc((var(--icon-size-small) + 8px) * -1);
  width: var(--icon-size-small);
}

.unique-link-block>.no-btn {
  font-size: var(--note-large);
  line-height: var(--line-height-large);
}

/*------------------------------
  Unique-list
--------------------------------*/
.unique-list01 {
  display: grid;
  row-gap: var(--spacing-16);
}

@media all and (min-width: 768px), print {
  .unique-list01 {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.unique-list01:not(:first-child) {
  margin-top: var(--spacing-36);
}

.unique-list01__item {
  column-gap: var(--spacing-8);
  display: flex;
}

@media all and (min-width: 768px), print {
  .unique-list01__item {
    column-gap: var(--spacing-12);
  }
}

.unique-list01__prefix {
  color: var(--color-mufg-red);
  flex-shrink: 0;
  font-size: 2.4rem;
  font-weight: 700;
}

.unique-list01__link {
  font-size: var(--text-large);
  line-height: var(--line-height-large);
  transition: opacity 0.4s 0s ease;
  text-decoration: underline;
  color: var(--color-link-blue);
  margin-top: 0.25em;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .unique-list01__link:hover {
    opacity: var(--opacity-hover-50per);
    text-decoration: none;
  }
}

@media (hover: none) {
  .unique-list01__link:active {
    opacity: var(--opacity-hover-50per);
    text-decoration: none;
  }
}

.unique-list01__link--ico-blank::after {
  background: var(--bg-ico-blank);
  content: "";
  display: inline-block;
  height: var(--icon-size-small);
  margin: -8px 0 0 8px;
  width: var(--icon-size-small);
}

/*------------------------------
  Unique-list-box
--------------------------------*/
@media all and (min-width: 768px), print {
  .unique-list-box01 {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.unique-list-box01:not(:first-child) {
  margin-top: var(--spacing-32);
}

@media all and (min-width: 768px), print {
  .unique-list-box01:not(:first-child) {
    margin-top: var(--spacing-40);
  }
}

.unique-list-box01__list {
  display: flex;
  flex-direction: column;
  row-gap: 16px;
}

.unique-list-box01__list:not(:first-child) {
  margin-top: var(--spacing-24);
}

@media all and (min-width: 768px), print {
  .unique-list-box01__list {
    column-gap: 24px;
    flex-direction: row;
    flex-wrap: wrap;
    row-gap: 12px;
  }
}

.unique-list-box01__item {
  font-size: var(--text-large);
  line-height: var(--line-height-large);
  column-gap: 8px;
  display: grid;
  grid-template-columns: 1em minmax(0, 1fr);
}

@media all and (min-width: 768px), print {
  .unique-list-box01__item {
    column-gap: 12px;
    width: calc((100% - 72px) / 4);
  }
}

@media all and (min-width: 768px), print {
  .unique-list-box01__item--size-per50 {
    width: calc((100% - 24px) / 2);
  }
}

@media all and (min-width: 768px), print {
  .unique-list-box01__item--size-per75 {
    width: calc((100% - 8px) * 0.75);
  }
}

@media all and (min-width: 768px), print {
  .unique-list-box01__item--size-per100 {
    width: 100%;
  }
}

/*------------------------------
  Unique-main-visual
--------------------------------*/
.unique-main-visual {
  background-color: var(--color-light-red03);
  height: auto;
  margin-bottom: var(--spacing-48);
  position: relative;
}

@media not print {
  @media not all and (min-width: 768px) {
    .unique-main-visual {
      margin-inline: calc(var(--content-main-inline-padding) * -1);
      position: relative;
    }
  }
}

@media all and (min-width: 768px), print {
  .unique-main-visual {
    margin-bottom: var(--spacing-80);
  }
}

@media all and (min-width: 768px), print {
  .unique-main-visual--type-image {
    min-height: 364px;
    margin-bottom: 263px;
  }
}

.unique-main-visual__inner {
  position: relative;
}

@media all and (min-width: 768px), print {
  .unique-main-visual__inner {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.unique-main-visual__body {
  padding: 40px 24px;
}

@media all and (min-width: 768px), print {
  .unique-main-visual__body {
    padding: 40px 0 80px;
  }

  .unique-main-visual--type-image .unique-main-visual__body {
    display: flex;
    padding: 40px 0 20px;
    max-width: 100%;
    min-height: 322px;
    width: 100%;
  }
}

@media not print {
  @media not all and (min-width: 768px) {
    .unique-main-visual__image {
      width: fit-content;
      margin-inline: auto;
    }
  }
}

@media all and (min-width: 768px), print {
  .unique-main-visual__image {
    bottom: -30%;
    max-width: 540px;
    position: absolute;
    right: 0;
  }

  .unique-main-visual__image img {
    border: solid 1px var(--color-gray02);
    border-radius: 8px;
  }
}

/*------------------------------
  Unique-panel-button
--------------------------------*/
.unique-panel-button01-layout {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(1, 1fr);
}

@media all and (min-width: 768px), print {
  .unique-panel-button01-layout {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.unique-panel-button01-layout:not(:first-child) {
  margin-top: var(--spacing-20);
}

@media all and (min-width: 768px), print {
  .unique-panel-button01-layout {
    grid-template-columns: repeat(3, 1fr);
    row-gap: 40px;
  }

  .unique-panel-button01-layout:not(:first-child) {
    margin-top: var(--spacing-28);
  }
}

.unique-panel-button01 {
  overflow: hidden;
  position: relative;
  align-items: center;
  background-color: var(--color-white);
  box-shadow: var(--box-shadow-type01);
  border: 1px solid var(--color-gray02);
  border-radius: 8px;
  break-inside: avoid;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 400px;
  padding: 38px 24px 24px;
  row-gap: 20px;
}

.unique-panel-button01::before {
  transition: opacity 0.4s 0s ease;
  background-color: var(--color-white);
  bottom: 0;
  content: "";
  left: 0;
  opacity: 0;
  position: absolute;
  pointer-events: none;
  right: 0;
  top: 0;
  z-index: 1;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .unique-panel-button01:hover::before {
    opacity: var(--opacity-hover-50per);
  }
}

@media (hover: none) {
  .unique-panel-button01:active::before {
    opacity: var(--opacity-hover-50per);
  }
}

@media all and (min-width: 768px), print {
  .unique-panel-button01 {
    min-height: 362px;
    padding: 32px 30px 20px;
  }
}

.unique-panel-button01__title {
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
}

@media all and (min-width: 768px), print {
  .unique-panel-button01__title {
    font-size: 1.6rem;
  }
}

.unique-panel-button01__text {
  font-size: 1.4rem;
}

.unique-panel-button01__text::after {
  background: var(--bg-ico-blank);
  content: "";
  display: inline-block;
  height: var(--icon-size-small);
  margin-left: 8px;
  position: relative;
  top: calc((1em * var(--line-height-medium) - var(--icon-size-small)) / 2);
  /* Necessary if the componees are nested, e.g. if they are used in a list componee. */
  vertical-align: text-top;
  width: var(--icon-size-small);
}

/*------------------------------
  Unique-table
--------------------------------*/
/* table-layout
----------------*/
@media all and (min-width: 768px), print {
  .unique-table-layout {
    margin-inline: auto;
    max-width: var(--content-main-width);
    width: 100%;
  }
}

.unique-table-layout:not(:first-child) {
  margin-top: var(--spacing-32);
}

@media all and (min-width: 768px), print {
  .unique-table-layout:not(:first-child) {
    margin-top: var(--spacing-40);
  }
}

@media all and (min-width: 768px), print {
  .unique-table-layout--pc-1000w {
    margin-inline: auto;
    max-width: var(--content-sub-1000w);
    width: 100%;
  }
}

/* table01
----------------*/
.unique-table01 {
  border-bottom: 1px solid var(--color-gray02);
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: fixed;
  width: 100%;
}

@media not print {
  @media not all and (min-width: 768px) {
    .unique-table01 {
      height: 100%;
    }
  }
}

.unique-table01__head {
  border-bottom: 1px solid var(--color-gray02);
}

.unique-table01__row:not(:first-child) {
  border-top: 1px solid var(--color-gray02);
}

.unique-table01__header,
.unique-table01__data {
  padding: 20px 10px;
}

@media all and (min-width: 768px), print {

  .unique-table01__header,
  .unique-table01__data {
    padding: 24px;
  }
}

.unique-table01__header {
  font-size: var(--text-large);
  font-weight: 700;
  line-height: var(--line-height-large);
  background-color: var(--color-light-gray02);
}

.unique-table01__head .unique-table01__header {
  border-top: 1px solid var(--color-gray02);
}

.unique-table01__head .unique-table01__header:nth-child(n + 3) {
  border-left: 1px dashed var(--color-gray02);
}

.unique-table01__body .unique-table01__header {
  border-right: 1px solid var(--color-gray02);
  writing-mode: vertical-rl;
  padding: 10px;
}

td.unique-table01__header {
  background-color: transparent;
  border-right: 1px solid var(--color-gray02);
  border-top: none !important;
}

@media all and (min-width: 768px), print {
  .unique-table01__body .unique-table01__header {
    padding: 30px 24px;
  }
}

.unique-table01__data {
  background-color: var(--color-white);
  vertical-align: top;
  position: relative;
}

.unique-table01__data+.unique-table01__data {
  border-left: 1px dashed var(--color-gray02);
}

@media not print {
  @media not all and (min-width: 768px) {
    .unique-table01__data {
      height: 100%;
    }
  }
}

.unique-table01__card01 {
  background-color: var(--color-cyan-20per);
  border-radius: 4px;
  padding: 10px;
}

.unique-table01__card01 .c-list--fz-lg .c-list__item {
  font-size: 1.4rem;
}

@media all and (min-width: 768px), print {
  .unique-table01__card01 {
    border-radius: 8px;
    padding: 16px;
  }

  .unique-table01__card01 .c-list--fz-lg .c-list__item {
    font-size: 1.8rem;
  }
}

@media not print {
  @media not all and (min-width: 768px) {
    .unique-table01__card01--sp-h-100 {
      height: 100%;
    }
  }
}

.unique-table01__card01--bg-pink01 {
  background-color: var(--color-light-red03);
}

.unique-table01__card02 {
  align-items: center;
  background-color: var(--color-white);
  border: 1px solid var(--color-mufg-red);
  border-radius: 4px;
  color: var(--color-mufg-red);
  display: flex;
  font-size: 1.4rem;
  justify-content: center;
  padding: 8px 4px;
  text-align: center;
}

.unique-table01__card02:not(:first-child) {
  margin-top: 10px;
}

@media all and (min-width: 768px), print {
  .unique-table01__card02 {
    border-radius: 8px;
    font-size: 1.8rem;
    min-height: 46px;
    padding: 2px;
  }

  .unique-table01__card02:not(:first-child) {
    margin-top: var(--spacing-12);
  }
}

.unique-table01__arrow {
  background-color: var(--color-mufg-gray-75per);
  height: 2px;
  position: absolute;
  width: 41px;
  z-index: 1;
}

.unique-table01__arrow::after {
  border: 3px solid transparent;
  content: "";
  position: absolute;
}

@media all and (min-width: 768px), print {
  .unique-table01__arrow::after {
    border: 6px solid transparent;
  }
}

.unique-table01__arrow-step1 {
  height: 2px;
  top: 80px;
  right: -7px;
  width: 17px;
}

.unique-table01__arrow-step1::after {
  border-left: 4px solid var(--color-mufg-gray-75per);
  border-right-width: 0;
  margin-top: -3px;
  right: -4px;
  top: 50%;
}

@media all and (min-width: 768px), print {
  .unique-table01__arrow-step1 {
    top: 67px;
    right: -17px;
    width: 41px;
  }

  .unique-table01__arrow-step1::after {
    border-left: 8px solid var(--color-mufg-gray-75per);
    margin-top: -6px;
    right: -8px;
  }
}

.unique-table01__arrow-step2 {
  bottom: -18px;
  height: 38px;
  margin-left: -1px;
  left: 50%;
  width: 2px;
}

.unique-table01__arrow-step2::after {
  bottom: -4px;
  border-top: 4px solid var(--color-mufg-gray-75per);
  border-bottom-width: 0;
  left: 50%;
  margin-left: -3px;
}

@media all and (min-width: 768px), print {
  .unique-table01__arrow-step2 {
    bottom: -17px;
    height: 46px;
  }

  .unique-table01__arrow-step2::after {
    bottom: -8px;
    border-top: 8px solid var(--color-mufg-gray-75per);
    margin-left: -6px;
  }
}

/* table02
----------------*/
.unique-tabel02 {
  display: flex;
  column-gap: 20px;
}

.unique-tabel02__text {
  align-items: center;
  color: var(--color-light-red01);
  display: flex;
  flex-direction: column;
  font-size: var(--text-large);
  font-weight: 700;
  justify-content: center;
  row-gap: 10px;
  line-height: 1.2;
}

.unique-tabel02__text:before,
.unique-tabel02__text:after {
  content: "";
  display: block;
  width: 13px;
  height: 83px;
  background-color: var(--color-light-red01);
}

.unique-tabel02__text:before {
  clip-path: polygon(0 16.8%, 50% 0, 100% 16.8%, 69% 16.8%, 69% 100%, 31% 100%, 31% 16.8%);
}

.unique-tabel02__text:after {
  clip-path: polygon(0 83.2%, 31% 83.2%, 31% 0, 69% 0, 69% 83.2%, 100% 83.2%, 50% 100%);
}

/* table03
----------------*/
.unique-table03-layout {
  margin-inline: auto;
  overflow-x: scroll;
  padding-bottom: 8px;
  scrollbar-width: thin;
  scrollbar-color: var(--color-mufg-gray-75per) var(--color-white);
}

@media all and (min-width: 768px), print {
  .unique-table03-layout {
    width: fit-content;
  }
}

.unique-table03 {
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: fixed;
  width: 660px;
}

.unique-table03__row {
  display: table-row;
}

.unique-table03__header01,
.unique-table03__header02,
.unique-table03__header03,
.unique-table03__data {
  border: #999 1px solid;
  display: table-cell;
  padding: 5px;
}

.unique-table03__header01,
.unique-table03__header02,
.unique-table03__header03 {
  font-size: 1.2rem;
  line-height: 1.2;
}

.unique-table03__header01 {
  background-color: #dedede;
}

.unique-table03__header03 {
  background-color: #ededed;
  text-align: left;
}

.unique-table03__data {
  text-align: center;
}

.unique-table03__body .unique-table03__row:nth-child(2n) .unique-table03__data {
  background-color: #fafafa;
}

/*------------------------------
  Unique-text
--------------------------------*/
.unique-text01:not(:first-child) {
  margin-top: var(--spacing-32);
}

@media all and (min-width: 768px), print {
  .unique-text01:not(:first-child) {
    margin-top: var(--spacing-40);
  }
}

.unique-text01__text {
  font-size: 2rem;
  font-weight: 700;
}

@media all and (min-width: 768px), print {
  .unique-text01__text {
    font-size: 2.8rem;
  }
}

.unique-text01__decoration--color-red {
  color: var(--color-mufg-red);
}

.unique-text01__decoration--fz-lg {
  font-size: 5rem;
}

.unique-text01__decoration--underline-orange {
  padding: 0 4px;
  text-decoration: underline;
  text-decoration-thickness: 0.5em;
  text-decoration-color: var(--color-cv-yellow);
  text-underline-offset: -0.2em;
  text-decoration-skip-ink: none;
}

/*==========================================
  Utility
=============================================*/
/* A11y */
.u-visually-hidden {
  border: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
}

/* Flex */
.u-flex {
  display: flex !important;
}

.u-inline-flex {
  display: inline-flex !important;
}

.u-flex-row {
  flex-direction: row !important;
}

.u-flex-row-reverse {
  flex-direction: row-reverse !important;
}

.u-flex-col {
  flex-direction: column !important;
}

.u-flex-col-reverse {
  flex-direction: column-reverse !important;
}

.u-flex-nowrap {
  flex-wrap: nowrap !important;
}

.u-flex-wrap {
  flex-wrap: wrap !important;
}

.u-flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}

.u-flex1 {
  flex: 1 1 0% !important;
}

.u-flex-auto {
  flex: 1 1 auto !important;
}

.u-flex-initial {
  flex: 0 1 auto !important;
}

.u-flex-none {
  flex: none !important;
}

.u-grow {
  flex-grow: 1 !important;
}

.u-grow0 {
  flex-grow: 0 !important;
}

.u-shrink {
  flex-shrink: 1 !important;
}

.u-shrink0 {
  flex-shrink: 0 !important;
}

.u-order-first {
  order: -9999 !important;
}

.u-order-last {
  order: 9999 !important;
}

.u-order0 {
  order: 0 !important;
}

.u-order1 {
  order: 1 !important;
}

.u-order2 {
  order: 2 !important;
}

.u-order3 {
  order: 3 !important;
}

.u-order4 {
  order: 4 !important;
}

.u-order5 {
  order: 5 !important;
}

.u-order6 {
  order: 6 !important;
}

.u-order7 {
  order: 7 !important;
}

.u-order8 {
  order: 8 !important;
}

.u-order9 {
  order: 9 !important;
}

.u-order10 {
  order: 10 !important;
}

.u-justify-start {
  justify-content: flex-start !important;
}

.u-justify-center {
  justify-content: center !important;
}

.u-justify-end {
  justify-content: flex-end !important;
}

.u-justify-between {
  justify-content: space-between !important;
}

.u-justify-around {
  justify-content: space-around !important;
}

.u-justify-evenly {
  justify-content: space-evenly !important;
}

.u-items-stretch {
  align-items: stretch !important;
}

.u-items-start {
  align-items: flex-start !important;
}

.u-items-center {
  align-items: center !important;
}

.u-items-end {
  align-items: flex-end !important;
}

.u-items-baseline {
  align-items: baseline !important;
}

.u-place-content-start {
  place-content: start !important;
}

.u-place-content-center {
  place-content: center !important;
}

.u-place-content-end {
  place-content: end !important;
}

.u-place-content-between {
  place-content: space-between !important;
}

.u-place-content-around {
  place-content: space-around !important;
}

.u-place-content-evenly {
  place-content: space-evenly !important;
}

.u-place-content-stretch {
  place-content: stretch !important;
}

.u-place-items-stretch {
  place-items: stretch !important;
}

.u-place-items-start {
  place-items: start !important;
}

.u-place-items-center {
  place-items: center !important;
}

.u-place-items-end {
  place-items: end !important;
}

/* Font Size */
.u-fz10 {
  font-size: 1rem !important;
}

.u-fz12 {
  font-size: 1.2rem !important;
}

.u-fz14 {
  font-size: 1.4rem !important;
}

.u-fz16 {
  font-size: 1.6rem !important;
}

.u-fz18 {
  font-size: 1.8rem !important;
}

.u-fz20 {
  font-size: 2rem !important;
}

.u-fz30 {
  font-size: 3rem !important;
}

.u-fz36 {
  font-size: 3.6rem !important;
}

/* Font Weight */
.u-fw-regular {
  font-weight: 400 !important;
}

.u-fw-medium {
  font-weight: 500 !important;
}

.u-fw-bold {
  font-weight: 700 !important;
}

/* Gap */
.u-gap0 {
  gap: 0px !important;
}

.u-gap4 {
  gap: 4px !important;
}

.u-gap8 {
  gap: 8px !important;
}

.u-gap12 {
  gap: 12px !important;
}

.u-gap16 {
  gap: 16px !important;
}

.u-gap20 {
  gap: 20px !important;
}

.u-gap24 {
  gap: 24px !important;
}

.u-gap28 {
  gap: 28px !important;
}

.u-gap32 {
  gap: 32px !important;
}

.u-gap36 {
  gap: 36px !important;
}

.u-gap40 {
  gap: 40px !important;
}

.u-gap44 {
  gap: 44px !important;
}

.u-gap48 {
  gap: 48px !important;
}

.u-gap52 {
  gap: 52px !important;
}

.u-gap56 {
  gap: 56px !important;
}

.u-gap80 {
  gap: 80px !important;
}

.u-gap120 {
  gap: 120px !important;
}

.u-gap-x0 {
  column-gap: 0px !important;
}

.u-gap-x4 {
  column-gap: 4px !important;
}

.u-gap-x8 {
  column-gap: 8px !important;
}

.u-gap-x12 {
  column-gap: 12px !important;
}

.u-gap-x16 {
  column-gap: 16px !important;
}

.u-gap-x20 {
  column-gap: 20px !important;
}

.u-gap-x24 {
  column-gap: 24px !important;
}

.u-gap-x28 {
  column-gap: 28px !important;
}

.u-gap-x32 {
  column-gap: 32px !important;
}

.u-gap-x36 {
  column-gap: 36px !important;
}

.u-gap-x40 {
  column-gap: 40px !important;
}

.u-gap-x44 {
  column-gap: 44px !important;
}

.u-gap-x48 {
  column-gap: 48px !important;
}

.u-gap-x52 {
  column-gap: 52px !important;
}

.u-gap-x56 {
  column-gap: 56px !important;
}

.u-gap-x80 {
  column-gap: 80px !important;
}

.u-gap-x120 {
  column-gap: 120px !important;
}

.u-gap-y0 {
  row-gap: 0px !important;
}

.u-gap-y4 {
  row-gap: 4px !important;
}

.u-gap-y8 {
  row-gap: 8px !important;
}

.u-gap-y12 {
  row-gap: 12px !important;
}

.u-gap-y16 {
  row-gap: 16px !important;
}

.u-gap-y20 {
  row-gap: 20px !important;
}

.u-gap-y24 {
  row-gap: 24px !important;
}

.u-gap-y28 {
  row-gap: 28px !important;
}

.u-gap-y32 {
  row-gap: 32px !important;
}

.u-gap-y36 {
  row-gap: 36px !important;
}

.u-gap-y40 {
  row-gap: 40px !important;
}

.u-gap-y44 {
  row-gap: 44px !important;
}

.u-gap-y48 {
  row-gap: 48px !important;
}

.u-gap-y52 {
  row-gap: 52px !important;
}

.u-gap-y56 {
  row-gap: 56px !important;
}

.u-gap-y80 {
  row-gap: 80px !important;
}

.u-gap-y120 {
  row-gap: 120px !important;
}

/* Grid */
.u-grid {
  display: grid !important;
}

.u-inline-grid {
  display: inline-grid !important;
}

.u-grid-cols1 {
  grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
}

.u-grid-cols2 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.u-grid-cols3 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.u-grid-cols4 {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.u-grid-cols-none {
  grid-template-columns: none !important;
}

.u-grid-rows1 {
  grid-template-rows: repeat(1, minmax(0, 1fr)) !important;
}

.u-grid-rows2 {
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
}

.u-grid-rows3 {
  grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
}

.u-grid-rows4 {
  grid-template-rows: repeat(4, minmax(0, 1fr)) !important;
}

.u-grid-rows-none {
  grid-template-rows: none !important;
}

/* Height */
.u-h-auto {
  height: auto !important;
}

/* Margin */
.u-mx-auto {
  margin-inline: auto !important;
}

.u-ml-auto {
  margin-left: auto !important;
}

.u-mr-auto {
  margin-right: auto !important;
}

.u-mt0 {
  margin-top: 0 !important;
}

.u-mt4 {
  margin-top: var(--spacing-4) !important;
}

.u-mt8 {
  margin-top: var(--spacing-8) !important;
}

.u-mt12 {
  margin-top: var(--spacing-12) !important;
}

.u-mt16 {
  margin-top: var(--spacing-16) !important;
}

.u-mt20 {
  margin-top: var(--spacing-20) !important;
}

.u-mt24 {
  margin-top: var(--spacing-24) !important;
}

.u-mt28 {
  margin-top: var(--spacing-28) !important;
}

.u-mt32 {
  margin-top: var(--spacing-32) !important;
}

.u-mt36 {
  margin-top: var(--spacing-36) !important;
}

.u-mt40 {
  margin-top: var(--spacing-40) !important;
}

.u-mt44 {
  margin-top: var(--spacing-44) !important;
}

.u-mt48 {
  margin-top: var(--spacing-48) !important;
}

.u-mt52 {
  margin-top: var(--spacing-52) !important;
}

.u-mt56 {
  margin-top: var(--spacing-56) !important;
}

.u-mt80 {
  margin-top: var(--spacing-80) !important;
}

.u-mt120 {
  margin-top: var(--spacing-120) !important;
}

.u-mr0 {
  margin-right: 0 !important;
}

.u-mr4 {
  margin-right: var(--spacing-4) !important;
}

.u-mr8 {
  margin-right: var(--spacing-8) !important;
}

.u-mr12 {
  margin-right: var(--spacing-12) !important;
}

.u-mr16 {
  margin-right: var(--spacing-16) !important;
}

.u-mr20 {
  margin-right: var(--spacing-20) !important;
}

.u-mr24 {
  margin-right: var(--spacing-24) !important;
}

.u-mr28 {
  margin-right: var(--spacing-28) !important;
}

.u-mr32 {
  margin-right: var(--spacing-32) !important;
}

.u-mr36 {
  margin-right: var(--spacing-36) !important;
}

.u-mr40 {
  margin-right: var(--spacing-40) !important;
}

.u-mr44 {
  margin-right: var(--spacing-44) !important;
}

.u-mr48 {
  margin-right: var(--spacing-48) !important;
}

.u-mr52 {
  margin-right: var(--spacing-52) !important;
}

.u-mr56 {
  margin-right: var(--spacing-56) !important;
}

.u-mr80 {
  margin-right: var(--spacing-80) !important;
}

.u-mr120 {
  margin-right: var(--spacing-120) !important;
}

.u-mb0 {
  margin-bottom: 0 !important;
}

.u-mb4 {
  margin-bottom: var(--spacing-4) !important;
}

.u-mb8 {
  margin-bottom: var(--spacing-8) !important;
}

.u-mb12 {
  margin-bottom: var(--spacing-12) !important;
}

.u-mb16 {
  margin-bottom: var(--spacing-16) !important;
}

.u-mb20 {
  margin-bottom: var(--spacing-20) !important;
}

.u-mb24 {
  margin-bottom: var(--spacing-24) !important;
}

.u-mb28 {
  margin-bottom: var(--spacing-28) !important;
}

.u-mb32 {
  margin-bottom: var(--spacing-32) !important;
}

.u-mb36 {
  margin-bottom: var(--spacing-36) !important;
}

.u-mb40 {
  margin-bottom: var(--spacing-40) !important;
}

.u-mb44 {
  margin-bottom: var(--spacing-44) !important;
}

.u-mb48 {
  margin-bottom: var(--spacing-48) !important;
}

.u-mb52 {
  margin-bottom: var(--spacing-52) !important;
}

.u-mb56 {
  margin-bottom: var(--spacing-56) !important;
}

.u-mb80 {
  margin-bottom: var(--spacing-80) !important;
}

.u-mb120 {
  margin-bottom: var(--spacing-120) !important;
}

.u-ml0 {
  margin-left: 0 !important;
}

.u-ml4 {
  margin-left: var(--spacing-4) !important;
}

.u-ml8 {
  margin-left: var(--spacing-8) !important;
}

.u-ml12 {
  margin-left: var(--spacing-12) !important;
}

.u-ml16 {
  margin-left: var(--spacing-16) !important;
}

.u-ml20 {
  margin-left: var(--spacing-20) !important;
}

.u-ml24 {
  margin-left: var(--spacing-24) !important;
}

.u-ml28 {
  margin-left: var(--spacing-28) !important;
}

.u-ml32 {
  margin-left: var(--spacing-32) !important;
}

.u-ml36 {
  margin-left: var(--spacing-36) !important;
}

.u-ml40 {
  margin-left: var(--spacing-40) !important;
}

.u-ml44 {
  margin-left: var(--spacing-44) !important;
}

.u-ml48 {
  margin-left: var(--spacing-48) !important;
}

.u-ml52 {
  margin-left: var(--spacing-52) !important;
}

.u-ml56 {
  margin-left: var(--spacing-56) !important;
}

.u-ml80 {
  margin-left: var(--spacing-80) !important;
}

.u-ml120 {
  margin-left: var(--spacing-120) !important;
}

/* Text Align */
.u-t-center {
  text-align: center !important;
}

.u-t-left {
  text-align: left !important;
}

.u-t-right {
  text-align: right !important;
}

/* Vertical Align */
.u-v-top {
  vertical-align: top !important;
}

.u-v-middle {
  vertical-align: middle !important;
}

.u-v-bottom {
  vertical-align: bottom !important;
}

/* Font Weight */
.u-t-roboto {
  font-family: "Roboto" !important;
  font-weight: 400 !important;
  font-style: normal !important;
}

.u-t-roboto-light {
  font-family: "Roboto" !important;
  font-weight: 300 !important;
  font-style: normal !important;
}

.u-t-roboto-medium {
  font-family: "Roboto" !important;
  font-weight: 500 !important;
  font-style: normal !important;
}

.u-t-roboto-bold {
  font-family: "Roboto" !important;
  font-weight: 700 !important;
  font-style: normal !important;
}

.u-t-light {
  font-weight: 300 !important;
}

.u-t-regular {
  font-weight: 400 !important;
}

.u-t-medium {
  font-weight: 500 !important;
}

.u-t-bold {
  font-weight: 700 !important;
}

/* Color */
.u-c-black {
  color: var(--color-black) !important;
}

.u-c-red {
  color: var(--color-mufg-red) !important;
}

.u-c-light-gray {
  color: var(--color-gray) !important;
}

/* Background Color */
.u-bg-transparent {
  background-color: transparent !important;
}

/* Display */
.u-block {
  display: block !important;
}

.u-inline-block {
  display: inline-block !important;
}

.u-none {
  display: none !important;
}

/* Border */
.u-border-none {
  border: none !important;
}

.u-border-t-none {
  border-top: none !important;
}

.u-border-b-none {
  border-bottom: none !important;
}

.u-border-r-none {
  border-right: none !important;
}

.u-border-l-none {
  border-left: none !important;
}

.u-underline-red {
  border-bottom: solid 2px var(--color-mufg-red);
}

/* Padding */
.u-pt0 {
  padding-top: 0 !important;
}

.u-pt4 {
  padding-top: 4px !important;
}

.u-pt8 {
  padding-top: 8px !important;
}

.u-pt12 {
  padding-top: 12px !important;
}

.u-pt16 {
  padding-top: 16px !important;
}

.u-pt20 {
  padding-top: 20px !important;
}

.u-pt24 {
  padding-top: 24px !important;
}

.u-pt28 {
  padding-top: 28px !important;
}

.u-pt32 {
  padding-top: 32px !important;
}

.u-pt36 {
  padding-top: 36px !important;
}

.u-pt40 {
  padding-top: 40px !important;
}

.u-pt44 {
  padding-top: 44px !important;
}

.u-pt48 {
  padding-top: 48px !important;
}

.u-pt52 {
  padding-top: 52px !important;
}

.u-pt56 {
  padding-top: 56px !important;
}

.u-pt80 {
  padding-top: 80px !important;
}

.u-pt120 {
  padding-top: 120px !important;
}

.u-pr0 {
  padding-right: 0 !important;
}

.u-pr4 {
  padding-right: 4px !important;
}

.u-pr8 {
  padding-right: 8px !important;
}

.u-pr12 {
  padding-right: 12px !important;
}

.u-pr16 {
  padding-right: 16px !important;
}

.u-pr20 {
  padding-right: 20px !important;
}

.u-pr24 {
  padding-right: 24px !important;
}

.u-pr28 {
  padding-right: 28px !important;
}

.u-pr32 {
  padding-right: 32px !important;
}

.u-pr36 {
  padding-right: 36px !important;
}

.u-pr40 {
  padding-right: 40px !important;
}

.u-pr44 {
  padding-right: 44px !important;
}

.u-pr48 {
  padding-right: 48px !important;
}

.u-pr52 {
  padding-right: 52px !important;
}

.u-pr56 {
  padding-right: 56px !important;
}

.u-pr80 {
  padding-right: 80px !important;
}

.u-pr120 {
  padding-right: 120px !important;
}

.u-pb0 {
  padding-bottom: 0 !important;
}

.u-pb4 {
  padding-bottom: 4px !important;
}

.u-pb8 {
  padding-bottom: 8px !important;
}

.u-pb12 {
  padding-bottom: 12px !important;
}

.u-pb16 {
  padding-bottom: 16px !important;
}

.u-pb20 {
  padding-bottom: 20px !important;
}

.u-pb24 {
  padding-bottom: 24px !important;
}

.u-pb28 {
  padding-bottom: 28px !important;
}

.u-pb32 {
  padding-bottom: 32px !important;
}

.u-pb36 {
  padding-bottom: 36px !important;
}

.u-pb40 {
  padding-bottom: 40px !important;
}

.u-pb44 {
  padding-bottom: 44px !important;
}

.u-pb48 {
  padding-bottom: 48px !important;
}

.u-pb52 {
  padding-bottom: 52px !important;
}

.u-pb56 {
  padding-bottom: 56px !important;
}

.u-pb80 {
  padding-bottom: 80px !important;
}

.u-pb120 {
  padding-bottom: 120px !important;
}

.u-pl0 {
  padding-left: 0 !important;
}

.u-pl4 {
  padding-left: 4px !important;
}

.u-pl8 {
  padding-left: 8px !important;
}

.u-pl12 {
  padding-left: 12px !important;
}

.u-pl16 {
  padding-left: 16px !important;
}

.u-pl20 {
  padding-left: 20px !important;
}

.u-pl24 {
  padding-left: 24px !important;
}

.u-pl28 {
  padding-left: 28px !important;
}

.u-pl32 {
  padding-left: 32px !important;
}

.u-pl36 {
  padding-left: 36px !important;
}

.u-pl40 {
  padding-left: 40px !important;
}

.u-pl44 {
  padding-left: 44px !important;
}

.u-pl48 {
  padding-left: 48px !important;
}

.u-pl52 {
  padding-left: 52px !important;
}

.u-pl56 {
  padding-left: 56px !important;
}

.u-pl80 {
  padding-left: 80px !important;
}

.u-pl120 {
  padding-left: 120px !important;
}

/* Width */
@media all and (min-width: 768px), print {
  .u-content-width {
    margin-inline: auto !important;
    max-width: var(--content-main-width) !important;
    width: 100% !important;
  }
}

@media all and (min-width: 768px), print {
  .u-content-width--w1000 {
    margin-inline: auto !important;
    max-width: var(--content-sub-1000w) !important;
    width: 100% !important;
  }
}

@media all and (min-width: 768px), print {
  .u-content-width--w800 {
    margin-inline: auto !important;
    max-width: var(--content-sub-800w) !important;
    width: 100% !important;
  }
}

@media not print {
  @media not all and (min-width: 768px) {
    .u-content-width--sp-full {
      margin-inline: calc(var(--content-main-inline-padding) * -1) !important;
      position: relative !important;
    }
  }
}

@media all and (min-width: 768px), print {
  .u-content-width--sp-full {
    margin-inline: auto !important;
    max-width: var(--content-main-width) !important;
    width: 100% !important;
  }
}

.u-w-auto {
  width: auto !important;
}

.u-w-fit {
  width: fit-content !important;
}

.u-min-w-auto {
  min-width: auto !important;
}

.u-w01p {
  width: 1% !important;
}

.u-w02p {
  width: 2% !important;
}

.u-w03p {
  width: 3% !important;
}

.u-w04p {
  width: 4% !important;
}

.u-w05p {
  width: 5% !important;
}

.u-w06p {
  width: 6% !important;
}

.u-w07p {
  width: 7% !important;
}

.u-w08p {
  width: 8% !important;
}

.u-w09p {
  width: 9% !important;
}

.u-w10p {
  width: 10% !important;
}

.u-w11p {
  width: 11% !important;
}

.u-w12p {
  width: 12% !important;
}

.u-w13p {
  width: 13% !important;
}

.u-w14p {
  width: 14% !important;
}

.u-w15p {
  width: 15% !important;
}

.u-w16p {
  width: 16% !important;
}

.u-w17p {
  width: 17% !important;
}

.u-w18p {
  width: 18% !important;
}

.u-w19p {
  width: 19% !important;
}

.u-w20p {
  width: 20% !important;
}

.u-w21p {
  width: 21% !important;
}

.u-w22p {
  width: 22% !important;
}

.u-w23p {
  width: 23% !important;
}

.u-w24p {
  width: 24% !important;
}

.u-w25p {
  width: 25% !important;
}

.u-w26p {
  width: 26% !important;
}

.u-w27p {
  width: 27% !important;
}

.u-w28p {
  width: 28% !important;
}

.u-w29p {
  width: 29% !important;
}

.u-w30p {
  width: 30% !important;
}

.u-w31p {
  width: 31% !important;
}

.u-w32p {
  width: 32% !important;
}

.u-w33p {
  width: 33% !important;
}

.u-w34p {
  width: 34% !important;
}

.u-w35p {
  width: 35% !important;
}

.u-w36p {
  width: 36% !important;
}

.u-w37p {
  width: 37% !important;
}

.u-w38p {
  width: 38% !important;
}

.u-w39p {
  width: 39% !important;
}

.u-w40p {
  width: 40% !important;
}

.u-w41p {
  width: 41% !important;
}

.u-w42p {
  width: 42% !important;
}

.u-w43p {
  width: 43% !important;
}

.u-w44p {
  width: 44% !important;
}

.u-w45p {
  width: 45% !important;
}

.u-w46p {
  width: 46% !important;
}

.u-w47p {
  width: 47% !important;
}

.u-w48p {
  width: 48% !important;
}

.u-w49p {
  width: 49% !important;
}

.u-w50p {
  width: 50% !important;
}

.u-w51p {
  width: 51% !important;
}

.u-w52p {
  width: 52% !important;
}

.u-w53p {
  width: 53% !important;
}

.u-w54p {
  width: 54% !important;
}

.u-w55p {
  width: 55% !important;
}

.u-w56p {
  width: 56% !important;
}

.u-w57p {
  width: 57% !important;
}

.u-w58p {
  width: 58% !important;
}

.u-w59p {
  width: 59% !important;
}

.u-w60p {
  width: 60% !important;
}

.u-w61p {
  width: 61% !important;
}

.u-w62p {
  width: 62% !important;
}

.u-w63p {
  width: 63% !important;
}

.u-w64p {
  width: 64% !important;
}

.u-w65p {
  width: 65% !important;
}

.u-w66p {
  width: 66% !important;
}

.u-w67p {
  width: 67% !important;
}

.u-w68p {
  width: 68% !important;
}

.u-w69p {
  width: 69% !important;
}

.u-w70p {
  width: 70% !important;
}

.u-w71p {
  width: 71% !important;
}

.u-w72p {
  width: 72% !important;
}

.u-w73p {
  width: 73% !important;
}

.u-w74p {
  width: 74% !important;
}

.u-w75p {
  width: 75% !important;
}

.u-w76p {
  width: 76% !important;
}

.u-w77p {
  width: 77% !important;
}

.u-w78p {
  width: 78% !important;
}

.u-w79p {
  width: 79% !important;
}

.u-w80p {
  width: 80% !important;
}

.u-w81p {
  width: 81% !important;
}

.u-w82p {
  width: 82% !important;
}

.u-w83p {
  width: 83% !important;
}

.u-w84p {
  width: 84% !important;
}

.u-w85p {
  width: 85% !important;
}

.u-w86p {
  width: 86% !important;
}

.u-w87p {
  width: 87% !important;
}

.u-w88p {
  width: 88% !important;
}

.u-w89p {
  width: 89% !important;
}

.u-w90p {
  width: 90% !important;
}

.u-w91p {
  width: 91% !important;
}

.u-w92p {
  width: 92% !important;
}

.u-w93p {
  width: 93% !important;
}

.u-w94p {
  width: 94% !important;
}

.u-w95p {
  width: 95% !important;
}

.u-w96p {
  width: 96% !important;
}

.u-w97p {
  width: 97% !important;
}

.u-w98p {
  width: 98% !important;
}

.u-w99p {
  width: 99% !important;
}

.u-w100p {
  width: 100% !important;
}

.u-em01 {
  width: 1em !important;
  max-width: 100% !important;
}

.u-em02 {
  width: 2em !important;
  max-width: 100% !important;
}

.u-em03 {
  width: 3em !important;
  max-width: 100% !important;
}

.u-em04 {
  width: 4em !important;
  max-width: 100% !important;
}

.u-em05 {
  width: 5em !important;
  max-width: 100% !important;
}

.u-em06 {
  width: 6em !important;
  max-width: 100% !important;
}

.u-em07 {
  width: 7em !important;
  max-width: 100% !important;
}

.u-em08 {
  width: 8em !important;
  max-width: 100% !important;
}

.u-em09 {
  width: 9em !important;
  max-width: 100% !important;
}

.u-em10 {
  width: 10em !important;
  max-width: 100% !important;
}

.u-em11 {
  width: 11em !important;
  max-width: 100% !important;
}

.u-em12 {
  width: 12em !important;
  max-width: 100% !important;
}

.u-em13 {
  width: 13em !important;
  max-width: 100% !important;
}

.u-em14 {
  width: 14em !important;
  max-width: 100% !important;
}

.u-em15 {
  width: 15em !important;
  max-width: 100% !important;
}

.u-em16 {
  width: 16em !important;
  max-width: 100% !important;
}

.u-em17 {
  width: 17em !important;
  max-width: 100% !important;
}

.u-em18 {
  width: 18em !important;
  max-width: 100% !important;
}

.u-em19 {
  width: 19em !important;
  max-width: 100% !important;
}

.u-em20 {
  width: 20em !important;
  max-width: 100% !important;
}

.u-em21 {
  width: 21em !important;
  max-width: 100% !important;
}

.u-em22 {
  width: 22em !important;
  max-width: 100% !important;
}

.u-em23 {
  width: 23em !important;
  max-width: 100% !important;
}

.u-em24 {
  width: 24em !important;
  max-width: 100% !important;
}

.u-em25 {
  width: 25em !important;
  max-width: 100% !important;
}

.u-em26 {
  width: 26em !important;
  max-width: 100% !important;
}

.u-em27 {
  width: 27em !important;
  max-width: 100% !important;
}

.u-em28 {
  width: 28em !important;
  max-width: 100% !important;
}

.u-em29 {
  width: 29em !important;
  max-width: 100% !important;
}

.u-em30 {
  width: 30em !important;
  max-width: 100% !important;
}

.u-em31 {
  width: 31em !important;
  max-width: 100% !important;
}

.u-em32 {
  width: 32em !important;
  max-width: 100% !important;
}

.u-em33 {
  width: 33em !important;
  max-width: 100% !important;
}

.u-em34 {
  width: 34em !important;
  max-width: 100% !important;
}

.u-em35 {
  width: 35em !important;
  max-width: 100% !important;
}

.u-em36 {
  width: 36em !important;
  max-width: 100% !important;
}

.u-em37 {
  width: 37em !important;
  max-width: 100% !important;
}

.u-em38 {
  width: 38em !important;
  max-width: 100% !important;
}

.u-em39 {
  width: 39em !important;
  max-width: 100% !important;
}

.u-em40 {
  width: 40em !important;
  max-width: 100% !important;
}

/* PC Only */
@media all and (min-width: 768px), print {

  /* Flex */
  .u-flex--pc {
    display: flex !important;
  }

  .u-inline-flex--pc {
    display: inline-flex !important;
  }

  .u-flex-row--pc {
    flex-direction: row !important;
  }

  .u-flex-row-reverse--pc {
    flex-direction: row-reverse !important;
  }

  .u-flex-col--pc {
    flex-direction: column !important;
  }

  .u-flex-col-reverse--pc {
    flex-direction: column-reverse !important;
  }

  .u-flex-nowrap--pc {
    flex-wrap: nowrap !important;
  }

  .u-flex-wrap--pc {
    flex-wrap: wrap !important;
  }

  .u-flex-wrap-reverse--pc {
    flex-wrap: wrap-reverse !important;
  }

  .u-flex1--pc {
    flex: 1 1 0% !important;
  }

  .u-flex-auto--pc {
    flex: 1 1 auto !important;
  }

  .u-flex-initial--pc {
    flex: 0 1 auto !important;
  }

  .u-flex-none--pc {
    flex: none !important;
  }

  .u-grow--pc {
    flex-grow: 1 !important;
  }

  .u-grow0--pc {
    flex-grow: 0 !important;
  }

  .u-shrink--pc {
    flex-shrink: 1 !important;
  }

  .u-shrink0--pc {
    flex-shrink: 0 !important;
  }

  .u-order-first--pc {
    order: -9999 !important;
  }

  .u-order-last--pc {
    order: 9999 !important;
  }

  .u-order0--pc {
    order: 0 !important;
  }

  .u-order1--pc {
    order: 1 !important;
  }

  .u-order2--pc {
    order: 2 !important;
  }

  .u-order3--pc {
    order: 3 !important;
  }

  .u-order4--pc {
    order: 4 !important;
  }

  .u-order5--pc {
    order: 5 !important;
  }

  .u-order6--pc {
    order: 6 !important;
  }

  .u-order7--pc {
    order: 7 !important;
  }

  .u-order8--pc {
    order: 8 !important;
  }

  .u-order9--pc {
    order: 9 !important;
  }

  .u-order10--pc {
    order: 10 !important;
  }

  .u-justify-start--pc {
    justify-content: flex-start !important;
  }

  .u-justify-center--pc {
    justify-content: center !important;
  }

  .u-justify-end--pc {
    justify-content: flex-end !important;
  }

  .u-justify-between--pc {
    justify-content: space-between !important;
  }

  .u-justify-around--pc {
    justify-content: space-around !important;
  }

  .u-justify-evenly--pc {
    justify-content: space-evenly !important;
  }

  .u-items-stretch--pc {
    align-items: stretch !important;
  }

  .u-items-start--pc {
    align-items: flex-start !important;
  }

  .u-items-center--pc {
    align-items: center !important;
  }

  .u-items-end--pc {
    align-items: flex-end !important;
  }

  .u-items-baseline--pc {
    align-items: baseline !important;
  }

  .u-place-content-start--pc {
    place-content: start !important;
  }

  .u-place-content-center--pc {
    place-content: center !important;
  }

  .u-place-content-end--pc {
    place-content: end !important;
  }

  .u-place-content-between--pc {
    place-content: space-between !important;
  }

  .u-place-content-around--pc {
    place-content: space-around !important;
  }

  .u-place-content-evenly--pc {
    place-content: space-evenly !important;
  }

  .u-place-content-stretch--pc {
    place-content: stretch !important;
  }

  .u-place-items-stretch--pc {
    place-items: stretch !important;
  }

  .u-place-items-start--pc {
    place-items: start !important;
  }

  .u-place-items-center--pc {
    place-items: center !important;
  }

  .u-place-items-end--pc {
    place-items: end !important;
  }

  /* Font Size */
  .u-fz10--pc {
    font-size: 1rem !important;
  }

  .u-fz12--pc {
    font-size: 1.2rem !important;
  }

  .u-fz14--pc {
    font-size: 1.4rem !important;
  }

  .u-fz16--pc {
    font-size: 1.6rem !important;
  }

  .u-fz18--pc {
    font-size: 1.8rem !important;
  }

  .u-fz20--pc {
    font-size: 2rem !important;
  }

  .u-fz30--pc {
    font-size: 3rem !important;
  }

  .u-fz36--pc {
    font-size: 3.6rem !important;
  }

  /* Font Weight */
  .u-fw-regular--pc {
    font-weight: 400 !important;
  }

  .u-fw-medium--pc {
    font-weight: 500 !important;
  }

  .u-fw-bold--pc {
    font-weight: 700 !important;
  }

  /* Gap */
  .u-gap0--pc {
    gap: 0px !important;
  }

  .u-gap4--pc {
    gap: 4px !important;
  }

  .u-gap8--pc {
    gap: 8px !important;
  }

  .u-gap12--pc {
    gap: 12px !important;
  }

  .u-gap16--pc {
    gap: 16px !important;
  }

  .u-gap20--pc {
    gap: 20px !important;
  }

  .u-gap24--pc {
    gap: 24px !important;
  }

  .u-gap28--pc {
    gap: 28px !important;
  }

  .u-gap32--pc {
    gap: 32px !important;
  }

  .u-gap36--pc {
    gap: 36px !important;
  }

  .u-gap40--pc {
    gap: 40px !important;
  }

  .u-gap44--pc {
    gap: 44px !important;
  }

  .u-gap48--pc {
    gap: 48px !important;
  }

  .u-gap52--pc {
    gap: 52px !important;
  }

  .u-gap56--pc {
    gap: 56px !important;
  }

  .u-gap80--pc {
    gap: 80px !important;
  }

  .u-gap120--pc {
    gap: 120px !important;
  }

  .u-gap-x0--pc {
    column-gap: 0px !important;
  }

  .u-gap-x4--pc {
    column-gap: 4px !important;
  }

  .u-gap-x8--pc {
    column-gap: 8px !important;
  }

  .u-gap-x12--pc {
    column-gap: 12px !important;
  }

  .u-gap-x16--pc {
    column-gap: 16px !important;
  }

  .u-gap-x20--pc {
    column-gap: 20px !important;
  }

  .u-gap-x24--pc {
    column-gap: 24px !important;
  }

  .u-gap-x28--pc {
    column-gap: 28px !important;
  }

  .u-gap-x32--pc {
    column-gap: 32px !important;
  }

  .u-gap-x36--pc {
    column-gap: 36px !important;
  }

  .u-gap-x40--pc {
    column-gap: 40px !important;
  }

  .u-gap-x44--pc {
    column-gap: 44px !important;
  }

  .u-gap-x48--pc {
    column-gap: 48px !important;
  }

  .u-gap-x52--pc {
    column-gap: 52px !important;
  }

  .u-gap-x56--pc {
    column-gap: 56px !important;
  }

  .u-gap-x80--pc {
    column-gap: 80px !important;
  }

  .u-gap-x120--pc {
    column-gap: 120px !important;
  }

  .u-gap-y0--pc {
    row-gap: 0px !important;
  }

  .u-gap-y4--pc {
    row-gap: 4px !important;
  }

  .u-gap-y8--pc {
    row-gap: 8px !important;
  }

  .u-gap-y12--pc {
    row-gap: 12px !important;
  }

  .u-gap-y16--pc {
    row-gap: 16px !important;
  }

  .u-gap-y20--pc {
    row-gap: 20px !important;
  }

  .u-gap-y24--pc {
    row-gap: 24px !important;
  }

  .u-gap-y28--pc {
    row-gap: 28px !important;
  }

  .u-gap-y32--pc {
    row-gap: 32px !important;
  }

  .u-gap-y36--pc {
    row-gap: 36px !important;
  }

  .u-gap-y40--pc {
    row-gap: 40px !important;
  }

  .u-gap-y44--pc {
    row-gap: 44px !important;
  }

  .u-gap-y48--pc {
    row-gap: 48px !important;
  }

  .u-gap-y52--pc {
    row-gap: 52px !important;
  }

  .u-gap-y56--pc {
    row-gap: 56px !important;
  }

  .u-gap-y80--pc {
    row-gap: 80px !important;
  }

  .u-gap-y120--pc {
    row-gap: 120px !important;
  }

  /* Grid */
  .u-grid--pc {
    display: grid !important;
  }

  .u-inline-grid--pc {
    display: inline-grid !important;
  }

  .u-grid-cols1--pc {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }

  .u-grid-cols2--pc {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .u-grid-cols3--pc {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .u-grid-cols4--pc {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  .u-grid-cols-none--pc {
    grid-template-columns: none !important;
  }

  .u-grid-rows1--pc {
    grid-template-rows: repeat(1, minmax(0, 1fr)) !important;
  }

  .u-grid-rows2--pc {
    grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
  }

  .u-grid-rows3--pc {
    grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
  }

  .u-grid-rows4--pc {
    grid-template-rows: repeat(4, minmax(0, 1fr)) !important;
  }

  .u-grid-rows-none--pc {
    grid-template-rows: none !important;
  }

  /* Height */
  .u-h-auto--pc {
    height: auto !important;
  }

  /* Margin */
  .u-mx-auto--pc {
    margin-inline: auto !important;
  }

  .u-ml-auto--pc {
    margin-left: auto !important;
  }

  .u-mr-auto--pc {
    margin-right: auto !important;
  }

  .u-mt0--pc {
    margin-top: 0 !important;
  }

  .u-mt4--pc {
    margin-top: var(--spacing-4) !important;
  }

  .u-mt8--pc {
    margin-top: var(--spacing-8) !important;
  }

  .u-mt12--pc {
    margin-top: var(--spacing-12) !important;
  }

  .u-mt16--pc {
    margin-top: var(--spacing-16) !important;
  }

  .u-mt20--pc {
    margin-top: var(--spacing-20) !important;
  }

  .u-mt24--pc {
    margin-top: var(--spacing-24) !important;
  }

  .u-mt28--pc {
    margin-top: var(--spacing-28) !important;
  }

  .u-mt32--pc {
    margin-top: var(--spacing-32) !important;
  }

  .u-mt36--pc {
    margin-top: var(--spacing-36) !important;
  }

  .u-mt40--pc {
    margin-top: var(--spacing-40) !important;
  }

  .u-mt44--pc {
    margin-top: var(--spacing-44) !important;
  }

  .u-mt48--pc {
    margin-top: var(--spacing-48) !important;
  }

  .u-mt52--pc {
    margin-top: var(--spacing-52) !important;
  }

  .u-mt56--pc {
    margin-top: var(--spacing-56) !important;
  }

  .u-mt80--pc {
    margin-top: var(--spacing-80) !important;
  }

  .u-mt120--pc {
    margin-top: var(--spacing-120) !important;
  }

  .u-mr0--pc {
    margin-right: 0 !important;
  }

  .u-mr4--pc {
    margin-right: var(--spacing-4) !important;
  }

  .u-mr8--pc {
    margin-right: var(--spacing-8) !important;
  }

  .u-mr12--pc {
    margin-right: var(--spacing-12) !important;
  }

  .u-mr16--pc {
    margin-right: var(--spacing-16) !important;
  }

  .u-mr20--pc {
    margin-right: var(--spacing-20) !important;
  }

  .u-mr24--pc {
    margin-right: var(--spacing-24) !important;
  }

  .u-mr28--pc {
    margin-right: var(--spacing-28) !important;
  }

  .u-mr32--pc {
    margin-right: var(--spacing-32) !important;
  }

  .u-mr36--pc {
    margin-right: var(--spacing-36) !important;
  }

  .u-mr40--pc {
    margin-right: var(--spacing-40) !important;
  }

  .u-mr44--pc {
    margin-right: var(--spacing-44) !important;
  }

  .u-mr48--pc {
    margin-right: var(--spacing-48) !important;
  }

  .u-mr52--pc {
    margin-right: var(--spacing-52) !important;
  }

  .u-mr56--pc {
    margin-right: var(--spacing-56) !important;
  }

  .u-mr80--pc {
    margin-right: var(--spacing-80) !important;
  }

  .u-mr120--pc {
    margin-right: var(--spacing-120) !important;
  }

  .u-mb0--pc {
    margin-bottom: 0 !important;
  }

  .u-mb4--pc {
    margin-bottom: var(--spacing-4) !important;
  }

  .u-mb8--pc {
    margin-bottom: var(--spacing-8) !important;
  }

  .u-mb12--pc {
    margin-bottom: var(--spacing-12) !important;
  }

  .u-mb16--pc {
    margin-bottom: var(--spacing-16) !important;
  }

  .u-mb20--pc {
    margin-bottom: var(--spacing-20) !important;
  }

  .u-mb24--pc {
    margin-bottom: var(--spacing-24) !important;
  }

  .u-mb28--pc {
    margin-bottom: var(--spacing-28) !important;
  }

  .u-mb32--pc {
    margin-bottom: var(--spacing-32) !important;
  }

  .u-mb36--pc {
    margin-bottom: var(--spacing-36) !important;
  }

  .u-mb40--pc {
    margin-bottom: var(--spacing-40) !important;
  }

  .u-mb44--pc {
    margin-bottom: var(--spacing-44) !important;
  }

  .u-mb48--pc {
    margin-bottom: var(--spacing-48) !important;
  }

  .u-mb52--pc {
    margin-bottom: var(--spacing-52) !important;
  }

  .u-mb56--pc {
    margin-bottom: var(--spacing-56) !important;
  }

  .u-mb80--pc {
    margin-bottom: var(--spacing-80) !important;
  }

  .u-mb120--pc {
    margin-bottom: var(--spacing-120) !important;
  }

  .u-ml0--pc {
    margin-left: 0 !important;
  }

  .u-ml4--pc {
    margin-left: var(--spacing-4) !important;
  }

  .u-ml8--pc {
    margin-left: var(--spacing-8) !important;
  }

  .u-ml12--pc {
    margin-left: var(--spacing-12) !important;
  }

  .u-ml16--pc {
    margin-left: var(--spacing-16) !important;
  }

  .u-ml20--pc {
    margin-left: var(--spacing-20) !important;
  }

  .u-ml24--pc {
    margin-left: var(--spacing-24) !important;
  }

  .u-ml28--pc {
    margin-left: var(--spacing-28) !important;
  }

  .u-ml32--pc {
    margin-left: var(--spacing-32) !important;
  }

  .u-ml36--pc {
    margin-left: var(--spacing-36) !important;
  }

  .u-ml40--pc {
    margin-left: var(--spacing-40) !important;
  }

  .u-ml44--pc {
    margin-left: var(--spacing-44) !important;
  }

  .u-ml48--pc {
    margin-left: var(--spacing-48) !important;
  }

  .u-ml52--pc {
    margin-left: var(--spacing-52) !important;
  }

  .u-ml56--pc {
    margin-left: var(--spacing-56) !important;
  }

  .u-ml80--pc {
    margin-left: var(--spacing-80) !important;
  }

  .u-ml120--pc {
    margin-left: var(--spacing-120) !important;
  }

  /* Text Align */
  .u-t-center--pc {
    text-align: center !important;
  }

  .u-t-left--pc {
    text-align: left !important;
  }

  .u-t-right--pc {
    text-align: right !important;
  }

  /* Vertical Align */
  .u-v-top--pc {
    vertical-align: top !important;
  }

  .u-v-middle--pc {
    vertical-align: middle !important;
  }

  .u-v-bottom--pc {
    vertical-align: bottom !important;
  }

  /* Color */
  .u-c-black--pc {
    color: var(--color-black) !important;
  }

  .u-c-red--pc {
    color: var(--color-mufg-red) !important;
  }

  .u-c-light-gray--pc {
    color: var(--color-gray) !important;
  }

  /* Background Color */
  .u-bg-transparent--pc {
    background-color: transparent !important;
  }

  /* Display */
  .u-block--pc {
    display: block !important;
  }

  .u-inline-block--pc {
    display: inline-block !important;
  }

  .u-none--pc {
    display: none !important;
  }

  /* Device Change */
  .u-only-sp {
    display: none !important;
  }

  /* Border */
  .u-border-none--pc {
    border: none !important;
  }

  .u-border-t-none--pc {
    border-top: none !important;
  }

  .u-border-b-none--pc {
    border-bottom: none !important;
  }

  .u-border-r-none--pc {
    border-right: none !important;
  }

  .u-border-l-none--pc {
    border-left: none !important;
  }

  .u-underline-red--pc {
    border-bottom: solid 2px var(--color-mufg-red);
  }

  /* Padding */
  .u-pt0--pc {
    padding-top: 0 !important;
  }

  .u-pt4--pc {
    padding-top: 4px !important;
  }

  .u-pt8--pc {
    padding-top: 8px !important;
  }

  .u-pt12--pc {
    padding-top: 12px !important;
  }

  .u-pt16--pc {
    padding-top: 16px !important;
  }

  .u-pt20--pc {
    padding-top: 20px !important;
  }

  .u-pt24--pc {
    padding-top: 24px !important;
  }

  .u-pt28--pc {
    padding-top: 28px !important;
  }

  .u-pt32--pc {
    padding-top: 32px !important;
  }

  .u-pt36--pc {
    padding-top: 36px !important;
  }

  .u-pt40--pc {
    padding-top: 40px !important;
  }

  .u-pt44--pc {
    padding-top: 44px !important;
  }

  .u-pt48--pc {
    padding-top: 48px !important;
  }

  .u-pt52--pc {
    padding-top: 52px !important;
  }

  .u-pt56--pc {
    padding-top: 56px !important;
  }

  .u-pt80--pc {
    padding-top: 80px !important;
  }

  .u-pt120--pc {
    padding-top: 120px !important;
  }

  .u-pr0--pc {
    padding-right: 0 !important;
  }

  .u-pr4--pc {
    padding-right: 4px !important;
  }

  .u-pr8--pc {
    padding-right: 8px !important;
  }

  .u-pr12--pc {
    padding-right: 12px !important;
  }

  .u-pr16--pc {
    padding-right: 16px !important;
  }

  .u-pr20--pc {
    padding-right: 20px !important;
  }

  .u-pr24--pc {
    padding-right: 24px !important;
  }

  .u-pr28--pc {
    padding-right: 28px !important;
  }

  .u-pr32--pc {
    padding-right: 32px !important;
  }

  .u-pr36--pc {
    padding-right: 36px !important;
  }

  .u-pr40--pc {
    padding-right: 40px !important;
  }

  .u-pr44--pc {
    padding-right: 44px !important;
  }

  .u-pr48--pc {
    padding-right: 48px !important;
  }

  .u-pr52--pc {
    padding-right: 52px !important;
  }

  .u-pr56--pc {
    padding-right: 56px !important;
  }

  .u-pr80--pc {
    padding-right: 80px !important;
  }

  .u-pr120--pc {
    padding-right: 120px !important;
  }

  .u-pb0--pc {
    padding-bottom: 0 !important;
  }

  .u-pb4--pc {
    padding-bottom: 4px !important;
  }

  .u-pb8--pc {
    padding-bottom: 8px !important;
  }

  .u-pb12--pc {
    padding-bottom: 12px !important;
  }

  .u-pb16--pc {
    padding-bottom: 16px !important;
  }

  .u-pb20--pc {
    padding-bottom: 20px !important;
  }

  .u-pb24--pc {
    padding-bottom: 24px !important;
  }

  .u-pb28--pc {
    padding-bottom: 28px !important;
  }

  .u-pb32--pc {
    padding-bottom: 32px !important;
  }

  .u-pb36--pc {
    padding-bottom: 36px !important;
  }

  .u-pb40--pc {
    padding-bottom: 40px !important;
  }

  .u-pb44--pc {
    padding-bottom: 44px !important;
  }

  .u-pb48--pc {
    padding-bottom: 48px !important;
  }

  .u-pb52--pc {
    padding-bottom: 52px !important;
  }

  .u-pb56--pc {
    padding-bottom: 56px !important;
  }

  .u-pb80--pc {
    padding-bottom: 80px !important;
  }

  .u-pb120--pc {
    padding-bottom: 120px !important;
  }

  .u-pl0--pc {
    padding-left: 0 !important;
  }

  .u-pl4--pc {
    padding-left: 4px !important;
  }

  .u-pl8--pc {
    padding-left: 8px !important;
  }

  .u-pl12--pc {
    padding-left: 12px !important;
  }

  .u-pl16--pc {
    padding-left: 16px !important;
  }

  .u-pl20--pc {
    padding-left: 20px !important;
  }

  .u-pl24--pc {
    padding-left: 24px !important;
  }

  .u-pl28--pc {
    padding-left: 28px !important;
  }

  .u-pl32--pc {
    padding-left: 32px !important;
  }

  .u-pl36--pc {
    padding-left: 36px !important;
  }

  .u-pl40--pc {
    padding-left: 40px !important;
  }

  .u-pl44--pc {
    padding-left: 44px !important;
  }

  .u-pl48--pc {
    padding-left: 48px !important;
  }

  .u-pl52--pc {
    padding-left: 52px !important;
  }

  .u-pl56--pc {
    padding-left: 56px !important;
  }

  .u-pl80--pc {
    padding-left: 80px !important;
  }

  .u-pl120--pc {
    padding-left: 120px !important;
  }

  /* Width */
  .u-w-auto--pc {
    width: auto !important;
  }

  .u-w-fit--pc {
    width: fit-content !important;
  }

  .u-min-w-auto--pc {
    min-width: auto !important;
  }

  .u-em01--pc {
    width: 1em !important;
    max-width: 100% !important;
  }

  .u-em02--pc {
    width: 2em !important;
    max-width: 100% !important;
  }

  .u-em03--pc {
    width: 3em !important;
    max-width: 100% !important;
  }

  .u-em04--pc {
    width: 4em !important;
    max-width: 100% !important;
  }

  .u-em05--pc {
    width: 5em !important;
    max-width: 100% !important;
  }

  .u-em06--pc {
    width: 6em !important;
    max-width: 100% !important;
  }

  .u-em07--pc {
    width: 7em !important;
    max-width: 100% !important;
  }

  .u-em08--pc {
    width: 8em !important;
    max-width: 100% !important;
  }

  .u-em09--pc {
    width: 9em !important;
    max-width: 100% !important;
  }

  .u-em10--pc {
    width: 10em !important;
    max-width: 100% !important;
  }

  .u-em11--pc {
    width: 11em !important;
    max-width: 100% !important;
  }

  .u-em12--pc {
    width: 12em !important;
    max-width: 100% !important;
  }

  .u-em13--pc {
    width: 13em !important;
    max-width: 100% !important;
  }

  .u-em14--pc {
    width: 14em !important;
    max-width: 100% !important;
  }

  .u-em15--pc {
    width: 15em !important;
    max-width: 100% !important;
  }

  .u-em16--pc {
    width: 16em !important;
    max-width: 100% !important;
  }

  .u-em17--pc {
    width: 17em !important;
    max-width: 100% !important;
  }

  .u-em18--pc {
    width: 18em !important;
    max-width: 100% !important;
  }

  .u-em19--pc {
    width: 19em !important;
    max-width: 100% !important;
  }

  .u-em20--pc {
    width: 20em !important;
    max-width: 100% !important;
  }

  .u-em21--pc {
    width: 21em !important;
    max-width: 100% !important;
  }

  .u-em22--pc {
    width: 22em !important;
    max-width: 100% !important;
  }

  .u-em23--pc {
    width: 23em !important;
    max-width: 100% !important;
  }

  .u-em24--pc {
    width: 24em !important;
    max-width: 100% !important;
  }

  .u-em25--pc {
    width: 25em !important;
    max-width: 100% !important;
  }

  .u-em26--pc {
    width: 26em !important;
    max-width: 100% !important;
  }

  .u-em27--pc {
    width: 27em !important;
    max-width: 100% !important;
  }

  .u-em28--pc {
    width: 28em !important;
    max-width: 100% !important;
  }

  .u-em29--pc {
    width: 29em !important;
    max-width: 100% !important;
  }

  .u-em30--pc {
    width: 30em !important;
    max-width: 100% !important;
  }

  .u-em31--pc {
    width: 31em !important;
    max-width: 100% !important;
  }

  .u-em32--pc {
    width: 32em !important;
    max-width: 100% !important;
  }

  .u-em33--pc {
    width: 33em !important;
    max-width: 100% !important;
  }

  .u-em34--pc {
    width: 34em !important;
    max-width: 100% !important;
  }

  .u-em35--pc {
    width: 35em !important;
    max-width: 100% !important;
  }

  .u-em36--pc {
    width: 36em !important;
    max-width: 100% !important;
  }

  .u-em37--pc {
    width: 37em !important;
    max-width: 100% !important;
  }

  .u-em38--pc {
    width: 38em !important;
    max-width: 100% !important;
  }

  .u-em39--pc {
    width: 39em !important;
    max-width: 100% !important;
  }

  .u-em40--pc {
    width: 40em !important;
    max-width: 100% !important;
  }

  .u-w01p--pc {
    width: 1% !important;
  }

  .u-w02p--pc {
    width: 2% !important;
  }

  .u-w03p--pc {
    width: 3% !important;
  }

  .u-w04p--pc {
    width: 4% !important;
  }

  .u-w05p--pc {
    width: 5% !important;
  }

  .u-w06p--pc {
    width: 6% !important;
  }

  .u-w07p--pc {
    width: 7% !important;
  }

  .u-w08p--pc {
    width: 8% !important;
  }

  .u-w09p--pc {
    width: 9% !important;
  }

  .u-w10p--pc {
    width: 10% !important;
  }

  .u-w11p--pc {
    width: 11% !important;
  }

  .u-w12p--pc {
    width: 12% !important;
  }

  .u-w13p--pc {
    width: 13% !important;
  }

  .u-w14p--pc {
    width: 14% !important;
  }

  .u-w15p--pc {
    width: 15% !important;
  }

  .u-w16p--pc {
    width: 16% !important;
  }

  .u-w17p--pc {
    width: 17% !important;
  }

  .u-w18p--pc {
    width: 18% !important;
  }

  .u-w19p--pc {
    width: 19% !important;
  }

  .u-w20p--pc {
    width: 20% !important;
  }

  .u-w21p--pc {
    width: 21% !important;
  }

  .u-w22p--pc {
    width: 22% !important;
  }

  .u-w23p--pc {
    width: 23% !important;
  }

  .u-w24p--pc {
    width: 24% !important;
  }

  .u-w25p--pc {
    width: 25% !important;
  }

  .u-w26p--pc {
    width: 26% !important;
  }

  .u-w27p--pc {
    width: 27% !important;
  }

  .u-w28p--pc {
    width: 28% !important;
  }

  .u-w29p--pc {
    width: 29% !important;
  }

  .u-w30p--pc {
    width: 30% !important;
  }

  .u-w31p--pc {
    width: 31% !important;
  }

  .u-w32p--pc {
    width: 32% !important;
  }

  .u-w33p--pc {
    width: 33% !important;
  }

  .u-w34p--pc {
    width: 34% !important;
  }

  .u-w35p--pc {
    width: 35% !important;
  }

  .u-w36p--pc {
    width: 36% !important;
  }

  .u-w37p--pc {
    width: 37% !important;
  }

  .u-w38p--pc {
    width: 38% !important;
  }

  .u-w39p--pc {
    width: 39% !important;
  }

  .u-w40p--pc {
    width: 40% !important;
  }

  .u-w41p--pc {
    width: 41% !important;
  }

  .u-w42p--pc {
    width: 42% !important;
  }

  .u-w43p--pc {
    width: 43% !important;
  }

  .u-w44p--pc {
    width: 44% !important;
  }

  .u-w45p--pc {
    width: 45% !important;
  }

  .u-w46p--pc {
    width: 46% !important;
  }

  .u-w47p--pc {
    width: 47% !important;
  }

  .u-w48p--pc {
    width: 48% !important;
  }

  .u-w49p--pc {
    width: 49% !important;
  }

  .u-w50p--pc {
    width: 50% !important;
  }

  .u-w51p--pc {
    width: 51% !important;
  }

  .u-w52p--pc {
    width: 52% !important;
  }

  .u-w53p--pc {
    width: 53% !important;
  }

  .u-w54p--pc {
    width: 54% !important;
  }

  .u-w55p--pc {
    width: 55% !important;
  }

  .u-w56p--pc {
    width: 56% !important;
  }

  .u-w57p--pc {
    width: 57% !important;
  }

  .u-w58p--pc {
    width: 58% !important;
  }

  .u-w59p--pc {
    width: 59% !important;
  }

  .u-w60p--pc {
    width: 60% !important;
  }

  .u-w61p--pc {
    width: 61% !important;
  }

  .u-w62p--pc {
    width: 62% !important;
  }

  .u-w63p--pc {
    width: 63% !important;
  }

  .u-w64p--pc {
    width: 64% !important;
  }

  .u-w65p--pc {
    width: 65% !important;
  }

  .u-w66p--pc {
    width: 66% !important;
  }

  .u-w67p--pc {
    width: 67% !important;
  }

  .u-w68p--pc {
    width: 68% !important;
  }

  .u-w69p--pc {
    width: 69% !important;
  }

  .u-w70p--pc {
    width: 70% !important;
  }

  .u-w71p--pc {
    width: 71% !important;
  }

  .u-w72p--pc {
    width: 72% !important;
  }

  .u-w73p--pc {
    width: 73% !important;
  }

  .u-w74p--pc {
    width: 74% !important;
  }

  .u-w75p--pc {
    width: 75% !important;
  }

  .u-w76p--pc {
    width: 76% !important;
  }

  .u-w77p--pc {
    width: 77% !important;
  }

  .u-w78p--pc {
    width: 78% !important;
  }

  .u-w79p--pc {
    width: 79% !important;
  }

  .u-w80p--pc {
    width: 80% !important;
  }

  .u-w81p--pc {
    width: 81% !important;
  }

  .u-w82p--pc {
    width: 82% !important;
  }

  .u-w83p--pc {
    width: 83% !important;
  }

  .u-w84p--pc {
    width: 84% !important;
  }

  .u-w85p--pc {
    width: 85% !important;
  }

  .u-w86p--pc {
    width: 86% !important;
  }

  .u-w87p--pc {
    width: 87% !important;
  }

  .u-w88p--pc {
    width: 88% !important;
  }

  .u-w89p--pc {
    width: 89% !important;
  }

  .u-w90p--pc {
    width: 90% !important;
  }

  .u-w91p--pc {
    width: 91% !important;
  }

  .u-w92p--pc {
    width: 92% !important;
  }

  .u-w93p--pc {
    width: 93% !important;
  }

  .u-w94p--pc {
    width: 94% !important;
  }

  .u-w95p--pc {
    width: 95% !important;
  }

  .u-w96p--pc {
    width: 96% !important;
  }

  .u-w97p--pc {
    width: 97% !important;
  }

  .u-w98p--pc {
    width: 98% !important;
  }

  .u-w99p--pc {
    width: 99% !important;
  }

  .u-w100p--pc {
    width: 100% !important;
  }
}

@media not print {
  @media not all and (min-width: 768px) {

    /* Display */
    .u-only-pc {
      display: none !important;
    }

    /* Width */
    .u-w100p--sp {
      width: 100% !important;
    }

    .u-content-width--sp-w800 {
      width: var(--content-sub-800w) !important;
    }
  }
}

/*==========================================
  Amounts added in 2026 or later style
=============================================*/
.c-icon01 {
  align-items: center;
  display: flex;
}
.c-icon01 img {
  flex-shrink: 0;
}
.c-icon01--button-ico img {
  margin-right: 4px;
}
.c-icon01--text-ico img {
  margin-right: 8px;
}
