@charset "UTF-8";@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+JP:wght@300;400;500;600;700&family=Roboto:ital,wght@0,100..900;1,100..900&family=Source+Sans+3:ital,wght@0,200..900;1,200..900&family=Zen+Old+Mincho:wght@400;500;600;700&display=swap");

/*幅調整用-----------------------------------------------------*/
:root {
  --vw: 1vw;
  --header-height: 98px;
  --header-height-1120: 84px;
  --header-height-tab: 70px;
  --header-height-sp: 62px;
}

/*---------------------------------------------
function
---------------------------------------------*/
/*JP*/
/*EN*/
/*---------------------------------------------
mixin
---------------------------------------------*/
/*レスポンシブ-----------------------------------------------------*/
/* フォントサイズ変数 --------------------------------------------- */
/* 基本フォントサイズ設定 mixin（必ず先頭で定義） */
/* レスポンシブ対応 mixin ----------------------------------------- */
/* フォントサイズ mixin ---------------------------------------------- */
/*装飾関連-----------------------------------------------------*/
/*見出し関連-----------------------------------------------------*/
/*テキストグラデーション-----------------------------------------------------*/
/*背景処理-----------------------------------------------------*/
/*余白関連-----------------------------------------------------*/
@keyframes underline01 {
  0% {
    background-size: 100% 1px;
    background-position: 100% 100%;
  }
  50% {
    background-size: 0 1px;
    background-position: 100% 100%;
  }
  51% {
    background-position: 0 100%;
  }
  100% {
    background-size: 100% 1px;
    background-position: 0 100%;
  }
}
@keyframes underline02 {
  0% {
    background-size: 300% 100%, 300% 1px;
    background-position: 0 0, 100% 100%;
  }
  50% {
    background-size: 300% 100%, 0 1px;
    background-position: 0 0, 100% 100%;
  }
  50.01% {
    background-position: 0 0, 0 100%;
  }
  100% {
    background-size: 300% 100%, 300% 1px;
    background-position: 100% 0, 100% 100%;
  }
}
@keyframes underline02-reset {
  from {
    background-size: 300% 100%, 300% 1px;
    background-position: 100% 0, 100% 100%;
  }
  to {
    background-size: 300% 100%, 300% 1px;
    background-position: 0 0, 0 100%;
  }
}
:root {
  color-scheme: light;
  --leading-trim: calc((1em - 1lh) / 2);
}

:lang(en) {
  --leading-trim: calc((1cap - 1lh) / 2);
  font-family: "Roboto", sans-serif;
}

:lang(ja) {
  font-family: "IBM Plex Sans JP", sans-serif;
}

@supports not (top: 1lh) {
  :root {
    --leading-trim: 0px;
  }
}
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:where(html) {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  font-size: 62.5%;
  box-sizing: border-box;
  overflow-x: clip;
}

:where(body) {
  min-block-size: 100%;
  min-block-size: 100dvb;
  width: calc(100vw - (100vw - 100%));
  line-height: 1.5;
  font-family: "IBM Plex Sans JP", sans-serif;
  -webkit-font-smoothing: antialiased;
  font-size: 1.6rem;
  font-feature-settings: "palt", "pnum", "kern";
  font-variant-ligatures: no-common-ligatures;
  font-kerning: normal;
  font-variant-numeric: proportional-nums;
  color: #2b2d67;
  overflow-x: clip;
  position: relative;
}
:where(body).active {
  overflow: hidden;
}

:where(body:has(.page-main--plain)) {
  background-color: #fff;
}

:where(h1, h2, h3, h4, h5, h6, div, p, th, td, li, dt, dd, a, span, input, select) {
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #2b2d67;
  margin: 0;
}

:where(article,
aside,
footer,
header,
div,
dt,
figcaption,
form,
hgroup,
html,
nav,
section,
main,
img,
svg,
video,
canvas,
audio,
iframe,
embed,
object) {
  display: block;
}

:where(button, label, select, summary, [role=button], [role=option]) {
  cursor: pointer;
  background-color: inherit;
  border: none;
  touch-action: manipulation;
}

:where(a, a > span, a:hover, a:active, a:visited, a:focus-visible) {
  color: #2b2d67;
  text-decoration: none;
  overflow-wrap: anywhere;
}

:where(:focus-visible) {
  outline-color: #000;
  outline-offset: 2px;
  outline-style: solid;
  outline-width: 2px;
  box-shadow: 0 0 0 5px #ffffff;
}

:where(button, [type=button], [type=reset], [type=submit]) {
  touch-action: manipulation;
}

:where(:disabled) {
  cursor: not-allowed;
}

:where(ul, ol) {
  list-style-type: "";
}

:where(address) {
  font-style: normal;
}

:where(table) {
  border-collapse: collapse;
  border-spacing: 0;
}

:where(img, picture, svg) {
  max-inline-size: 100%;
  block-size: auto;
  transform: translate(0, 0);
  -webkit-backface-visibility: hidden;
  vertical-align: top;
  image-rendering: -webkit-optimize-contrast;
  object-fit: cover;
}

:where(p img, li img) {
  display: inline-block;
  vertical-align: baseline;
}

:where(form) {
  width: 100%;
  max-width: 100%;
  height: fit-content;
}

:where(fieldset) {
  border: none;
  margin: 0;
  padding: 0;
}

:where(input, button, textarea, select) {
  font: inherit;
  color: inherit;
  border: none;
  background-color: inherit;
  font-size: 1.6rem;
}
:where(input, button, textarea, select)::placeholder {
  color: rgb(62.5546602203%, 63.1385979049%, 80.0727907601%);
}
:where(input, button, textarea, select):disabled {
  background-color: rgb(55.0655922643%, 55.7663174859%, 76.0873489122%);
}

:where(input, textarea, select) {
  color: #2b2d67;
}

:where(input)::-webkit-inner-spin-button {
  cursor: pointer;
}
:where(input)[type=date]::-webkit-calendar-picker-indicator, :where(input)[type=datetime-local]::-webkit-calendar-picker-indicator {
  cursor: pointer;
}

:where(select) {
  -webkit-appearance: none; /* ベンダープレフィックス(Google Chrome、Safari用) */
  -moz-appearance: none; /* ベンダープレフィックス(Firefox用) */
  appearance: none; /* 標準のスタイルを無効にする */
}

:where([hidden]:not([hidden=until-found])) {
  display: none !important;
}

:where(body) ::-webkit-scrollbar {
  width: 8px;
}
@media (max-width: 480px) {
  :where(body) ::-webkit-scrollbar {
    width: 6px;
  }
}
:where(body) ::-webkit-scrollbar-track {
  background-color: #fff;
  margin-block-start: 2px;
  margin-block-end: 2px;
}
:where(body) ::-webkit-scrollbar-thumb {
  background-color: #1b1d40;
  border-radius: calc(infinity * 1px);
  border-right: 1px solid transparent;
  border-left: 1px solid transparent;
  background-clip: padding-box;
}
@-moz-document url-prefix() {
  :where(body) {
    scrollbar-color: #1b1d40 #fff;
    scrollbar-width: thin;
  }
}

:where(dialog) {
  margin: auto;
  background-color: #fff;
  border: none;
  width: auto;
  max-inline-size: 1040px;
  max-block-size: calc(100% - 80px);
  max-block-size: calc(100dvb - 80px);
  inline-size: calc(100% - 40px);
}
@media (max-width: 480px) {
  :where(dialog) {
    max-block-size: calc(100% - 80px);
    max-block-size: calc(100dvb - 80px);
  }
}
:where(dialog):not([open]) {
  min-block-size: 0;
  min-inline-size: 0;
}
:where(dialog)::backdrop {
  background: rgba(0, 0, 0, 0.3);
  cursor: pointer;
}

:where(details) {
  display: block;
}

:where(summary) {
  position: relative;
  display: block;
  list-style: none;
  cursor: pointer;
}
:where(summary)::-webkit-details-marker {
  display: none;
}

:where(sup) {
  font-size: 1.1rem;
}

:where(sup:lang(en)) {
  vertical-align: top;
  position: relative;
  top: -0.2em;
  font-family: "IBM Plex Sans JP", sans-serif;
}

:where(figcaption) {
  font-size: 1.4rem;
  margin-top: 4px;
}

.clearfix {
  display: block;
}
.clearfix::before {
  content: "";
  display: block;
  clear: both;
}
.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

/*--------------------------------------------------
  HEADER
--------------------------------------------------*/
/*--------------------------------------------------
  MIXIN
--------------------------------------------------*/
/*--------------------------------------------------
  HEADER
--------------------------------------------------*/
.header {
  /*----------------------------------------------
    MEGA MENU
  ----------------------------------------------*/
  --mega-padding-inline: 24px;
  --mega-padding-block-top: 24px;
  --mega-padding-block-bottom: 40px;
  /*----------------------------------------------
    PADDING

    通常時
    PC   : 8px
    TAB  : 8px

    .top では下記を上書き
    PC   : 20px
    TAB  : 20px
    SP   : 16px
  ----------------------------------------------*/
  --header-padding-block: 8px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9001;
  width: 100%;
  padding-block: var(--header-padding-block);
  background: linear-gradient(#fff, #fff);
  box-shadow: 0 4px 4px rgba(71, 74, 166, 0.2);
  transition: background-color 0.5s ease, background-image 0.5s ease, color 0.5s ease;
}
@media (max-width: 768px) {
  .header {
    --header-padding-block: 8px;
  }
}
.header {
  /*----------------------------------------------
    HEADER INNER
  ----------------------------------------------*/
}
.header-inner {
  max-width: calc(100 * var(--vw) - 144px);
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}
@media (max-width: 1856px) {
  .header-inner {
    max-width: 100%;
    padding: 0 40px;
  }
}
@media (max-width: 1000px) {
  .header-inner {
    padding: 0 20px;
  }
}
.header-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}
.header-inner > .logo {
  --logo-height: 44px;
  --logo-height-1280: 40px;
  --logo-height-tab: 36px;
  display: grid;
  align-items: center;
  height: var(--logo-height);
  margin-right: auto;
  border: 2px solid transparent;
}
@media (max-width: 1280px) {
  .header-inner > .logo {
    height: var(--logo-height-1280);
  }
}
@media (max-width: 768px) {
  .header-inner > .logo {
    height: var(--logo-height-tab);
  }
}
.header-inner > .logo img {
  display: block;
  height: calc(var(--logo-height) - 8px);
  aspect-ratio: 400/76;
  object-fit: contain;
  object-position: left top;
}
@media (max-width: 1280px) {
  .header-inner > .logo img {
    height: calc(var(--logo-height-1280) - 8px);
  }
}
@media (max-width: 768px) {
  .header-inner > .logo img {
    height: calc(var(--logo-height-tab) - 8px);
  }
}
.header {
  /*----------------------------------------------
    HEADER NAV
  ----------------------------------------------*/
}
.header-nav {
  display: flex;
  align-items: center;
  gap: 0 1.6rem;
}
@media (max-width: 1440px) {
  .header-nav {
    gap: 0 clamp(0.8rem, -1.01818rem + 1.8182vw, 1.6rem);
  }
}
@media (max-width: 1120px) {
  .header-nav {
    gap: 0;
  }
}
.header-nav .list {
  display: flex;
  gap: 0 30px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 1440px) {
  .header-nav .list {
    gap: 0 clamp(0.8rem, -1.01818rem + 1.8182vw, 1.6rem);
  }
}
.header-nav .item > a {
  position: relative;
  z-index: 2;
  display: block;
  padding: 1rem 0;
  color: #474aa6;
  text-decoration: none;
  letter-spacing: 0.1rem;
  cursor: pointer;
}
@media (max-width: 1280px) {
  .header-nav .item > a {
    font-size: 1.4rem;
  }
}
@media (max-width: 1120px) {
  .header-nav .item > a {
    box-sizing: border-box;
    padding: 25px;
    color: #fff;
    font-size: 1.8rem;
  }
}
.header-nav .item > a::after {
  content: "";
  position: absolute;
  bottom: 1px;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  background-color: rgb(19.4549516009%, 20.2769918094%, 45.4862248697%);
  transform: scale(0, 1);
  transition: 0.3s;
}
@media (max-width: 1120px) {
  .header-nav .item > a::after {
    display: none;
  }
}
.header-nav .item > a span {
  color: #474aa6;
}
@media (any-hover: hover) {
  .header-nav .item > a:hover {
    color: rgb(19.4549516009%, 20.2769918094%, 45.4862248697%);
  }
}
@media (any-hover: hover) and (max-width: 1120px) {
  .header-nav .item > a:hover {
    color: #fff;
  }
}
@media (any-hover: hover) {
  .header-nav .item > a:hover span {
    color: rgb(19.4549516009%, 20.2769918094%, 45.4862248697%);
  }
}
@media (any-hover: hover) and (max-width: 1120px) {
  .header-nav .item > a:hover span {
    color: #fff;
  }
}
@media (any-hover: hover) {
  .header-nav .item > a:hover::after {
    transform: scale(1, 1);
  }
}
.header-nav .item > a:focus-visible {
  color: rgb(19.4549516009%, 20.2769918094%, 45.4862248697%);
}
@media (max-width: 1120px) {
  .header-nav .item > a:focus-visible {
    color: #fff;
  }
}
.header-nav .item > a:focus-visible span {
  color: rgb(19.4549516009%, 20.2769918094%, 45.4862248697%);
}
@media (max-width: 1120px) {
  .header-nav .item > a:focus-visible span {
    color: #fff;
  }
}
.header-nav .item > a:focus-visible::after {
  transform: scale(1, 1);
}
@media (hover: none) {
  .header-nav .item > a:active {
    color: rgb(19.4549516009%, 20.2769918094%, 45.4862248697%);
  }
}
@media (hover: none) and (max-width: 1120px) {
  .header-nav .item > a:active {
    color: #fff;
  }
}
@media (hover: none) {
  .header-nav .item > a:active span {
    color: rgb(19.4549516009%, 20.2769918094%, 45.4862248697%);
  }
}
@media (hover: none) and (max-width: 1120px) {
  .header-nav .item > a:active span {
    color: #fff;
  }
}
@media (hover: none) {
  .header-nav .item > a:active::after {
    transform: scale(1, 1);
  }
}
.header-nav .item {
  /*--------------------------------------------
    MEGA MENU
  --------------------------------------------*/
}
.header-nav .item.has-mega > .mega {
  position: absolute;
  top: calc(100% - var(--header-padding-block));
  left: 0;
  z-index: 1;
  display: block;
  visibility: hidden;
  width: 100%;
  height: auto;
  padding: var(--mega-padding-block-top) var(--mega-padding-inline) var(--mega-padding-block-bottom);
  background-color: #fff;
  opacity: 0;
  transition: all 0.3s;
  box-shadow: 2px 3px 4px 0px rgba(0, 0, 0, 0.1);
}
@media (max-width: 1120px) {
  .header-nav .item.has-mega > .mega {
    top: inherit;
  }
}
.header-nav .item.has-mega > .mega .mega-inner {
  --mega-inner-lead-width: 360px;
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 40px;
  box-sizing: border-box;
}
@media (max-width: 1000px) {
  .header-nav .item.has-mega > .mega .mega-inner {
    padding: 0 20px;
  }
}
.header-nav .item.has-mega > .mega .mega-inner {
  display: grid;
  grid-template-columns: var(--mega-inner-lead-width) minmax(0, 1fr);
  align-items: start;
  gap: 0px 56px;
}
@media (max-width: 768px) {
  .header-nav .item.has-mega > .mega .mega-inner {
    gap: 0px 46.66648px;
  }
}
@media (max-width: 480px) {
  .header-nav .item.has-mega > .mega .mega-inner {
    gap: 0vw 7vw;
  }
}
.header-nav .item.has-mega > .mega .mega-inner {
  max-width: 1000px;
  max-width: calc(var(--mega-inner-lead-width) + 1000px + 56px);
  padding: 0;
}
.header-nav .item.has-mega > .mega .mega-inner .lead .title {
  font-weight: 300;
  font-size: 4rem;
}
@media (max-width: 768px) {
  .header-nav .item.has-mega > .mega .mega-inner .lead .title {
    font-size: 3.6rem;
  }
}
@media (max-width: 480px) {
  .header-nav .item.has-mega > .mega .mega-inner .lead .title {
    font-size: 3.2rem;
  }
}
.header-nav .item.has-mega > .mega .mega-inner .lead .title {
  width: fit-content;
  background-image: linear-gradient(135deg, #474aa6 18%, #f24649 48%, #f4b700 97%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  margin-top: 0.4em;
}
@media (max-width: 1440px) {
  .header-nav .item.has-mega > .mega .mega-inner .lead .title {
    margin-top: 0;
  }
}
@media (min-width: 1121px) {
  .header-nav .item.has-mega > .mega .mega-inner .lead .btn--header {
    margin-top: 32px;
  }
}
.header-nav .item.has-mega > .mega .mega-inner .grid-column--four {
  margin-top: 0px;
}
@media (max-width: 768px) {
  .header-nav .item.has-mega > .mega .mega-inner .grid-column--four {
    margin-top: 0px;
  }
}
@media (max-width: 480px) {
  .header-nav .item.has-mega > .mega .mega-inner .grid-column--four {
    margin-top: 0vw;
  }
}
.header-nav .item.has-mega {
  /*------------------------------------------
    FOCUS
  ------------------------------------------*/
}
.header-nav .item.has-mega:focus-within > .mega {
  visibility: visible;
  opacity: 1;
}
.header-nav .item.has-mega {
  /*------------------------------------------
    HOVER
  ------------------------------------------*/
}
@media (any-hover: hover) {
  .header-nav .item.has-mega:hover > .mega {
    visibility: visible;
    opacity: 1;
  }
}
.header-nav .item {
  /*--------------------------------------------
    MEGA TOGGLE
  --------------------------------------------*/
}
.header-nav .item .mega-toggle {
  position: relative;
  z-index: 2;
  display: block;
  padding: 1rem 0;
  color: #474aa6;
  text-decoration: none;
  letter-spacing: 0.1rem;
  cursor: pointer;
}
@media (max-width: 1280px) {
  .header-nav .item .mega-toggle {
    font-size: 1.4rem;
  }
}
@media (max-width: 1120px) {
  .header-nav .item .mega-toggle {
    box-sizing: border-box;
    padding: 25px;
    color: #fff;
    font-size: 1.8rem;
  }
}
.header-nav .item .mega-toggle::after {
  content: "";
  position: absolute;
  bottom: 1px;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  background-color: rgb(19.4549516009%, 20.2769918094%, 45.4862248697%);
  transform: scale(0, 1);
  transition: 0.3s;
}
@media (max-width: 1120px) {
  .header-nav .item .mega-toggle::after {
    display: none;
  }
}
.header-nav .item .mega-toggle span {
  color: #474aa6;
}
@media (any-hover: hover) {
  .header-nav .item .mega-toggle:hover {
    color: rgb(19.4549516009%, 20.2769918094%, 45.4862248697%);
  }
}
@media (any-hover: hover) and (max-width: 1120px) {
  .header-nav .item .mega-toggle:hover {
    color: #fff;
  }
}
@media (any-hover: hover) {
  .header-nav .item .mega-toggle:hover span {
    color: rgb(19.4549516009%, 20.2769918094%, 45.4862248697%);
  }
}
@media (any-hover: hover) and (max-width: 1120px) {
  .header-nav .item .mega-toggle:hover span {
    color: #fff;
  }
}
@media (any-hover: hover) {
  .header-nav .item .mega-toggle:hover::after {
    transform: scale(1, 1);
  }
}
.header-nav .item .mega-toggle:focus-visible {
  color: rgb(19.4549516009%, 20.2769918094%, 45.4862248697%);
}
@media (max-width: 1120px) {
  .header-nav .item .mega-toggle:focus-visible {
    color: #fff;
  }
}
.header-nav .item .mega-toggle:focus-visible span {
  color: rgb(19.4549516009%, 20.2769918094%, 45.4862248697%);
}
@media (max-width: 1120px) {
  .header-nav .item .mega-toggle:focus-visible span {
    color: #fff;
  }
}
.header-nav .item .mega-toggle:focus-visible::after {
  transform: scale(1, 1);
}
@media (hover: none) {
  .header-nav .item .mega-toggle:active {
    color: rgb(19.4549516009%, 20.2769918094%, 45.4862248697%);
  }
}
@media (hover: none) and (max-width: 1120px) {
  .header-nav .item .mega-toggle:active {
    color: #fff;
  }
}
@media (hover: none) {
  .header-nav .item .mega-toggle:active span {
    color: rgb(19.4549516009%, 20.2769918094%, 45.4862248697%);
  }
}
@media (hover: none) and (max-width: 1120px) {
  .header-nav .item .mega-toggle:active span {
    color: #fff;
  }
}
@media (hover: none) {
  .header-nav .item .mega-toggle:active::after {
    transform: scale(1, 1);
  }
}
.header-nav .item .mega-toggle {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
}
.header-nav .item .mega-toggle .icon {
  position: relative;
  bottom: 2px;
  display: none;
  align-items: center;
  justify-content: center;
  width: 10px;
}

/*--------------------------------------------------
  HEADER TOP
--------------------------------------------------*/
.header.top {
  /*
   * .top のときだけ通常時のpaddingを上書き
   */
  --header-padding-block: 20px;
  --glass-background: linear-gradient(135deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.5) 100%);
  --glass-background02: linear-gradient(45deg, rgba(255, 255, 255, 0.75) 0%, rgba(255, 255, 255, 0.45) 100%);
  --glass-blur: blur(25px);
  background: transparent;
}
.header.top::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--glass-background);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
}
@media (max-width: 768px) {
  .header.top {
    --header-padding-block: 20px;
  }
}
@media (max-width: 480px) {
  .header.top {
    --header-padding-block: 16px;
  }
}
@media (max-width: 768px) {
  .header.top + * {
    margin-top: 0;
  }
}
.header.top .header-inner {
  color: #474aa6;
}
@media (max-width: 768px) {
  .header.top .header-inner {
    background-color: rgba(71, 74, 166, 0);
  }
}
.header.top .item > a,
.header.top .item.has-mega .mega-toggle {
  color: #474aa6;
}
@media (max-width: 1120px) {
  .header.top .item > a,
  .header.top .item.has-mega .mega-toggle {
    color: #fff;
  }
}
@media (any-hover: hover) {
  .header.top .item > a:hover,
  .header.top .item.has-mega .mega-toggle:hover {
    color: rgb(19.4549516009%, 20.2769918094%, 45.4862248697%);
  }
}
@media (any-hover: hover) and (max-width: 1120px) {
  .header.top .item > a:hover,
  .header.top .item.has-mega .mega-toggle:hover {
    color: #fff;
  }
}
@media (any-hover: hover) {
  .header.top .item > a:hover::after,
  .header.top .item.has-mega .mega-toggle:hover::after {
    transform: scale(1, 1);
  }
}
.header.top .item > a:focus-visible,
.header.top .item.has-mega .mega-toggle:focus-visible {
  color: rgb(19.4549516009%, 20.2769918094%, 45.4862248697%);
}
@media (max-width: 1120px) {
  .header.top .item > a:focus-visible,
  .header.top .item.has-mega .mega-toggle:focus-visible {
    color: #fff;
  }
}
.header.top .item > a:focus-visible::after,
.header.top .item.has-mega .mega-toggle:focus-visible::after {
  transform: scale(1, 1);
}
@media (hover: none) {
  .header.top .item > a:active,
  .header.top .item.has-mega .mega-toggle:active {
    color: rgb(19.4549516009%, 20.2769918094%, 45.4862248697%);
  }
}
@media (hover: none) and (max-width: 1120px) {
  .header.top .item > a:active,
  .header.top .item.has-mega .mega-toggle:active {
    color: #fff;
  }
}
@media (hover: none) {
  .header.top .item > a:active::after,
  .header.top .item.has-mega .mega-toggle:active::after {
    transform: scale(1, 1);
  }
}
.header.top .header-nav .item.has-mega > .mega {
  background-color: transparent;
  background: var(--glass-background02);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
}
@media (max-width: 1120px) {
  .header.top .header-nav .item.has-mega > .mega {
    background: #fff;
    backdrop-filter: inherit;
    -webkit-backdrop-filter: inherit;
  }
}

/*--------------------------------------------------
  HAMBURGER MENU BUTTON
--------------------------------------------------*/
.nav-toggle-button {
  display: none;
}
@media (max-width: 1120px) {
  .nav-toggle-button {
    position: relative;
    z-index: 98;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 30px;
    border: 1px solid transparent;
    border-radius: 4px;
    cursor: pointer;
  }
}
.nav-toggle-button .text {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  overflow: hidden;
  opacity: 0;
}
.nav-toggle-button .bar,
.nav-toggle-button .bar::before,
.nav-toggle-button .bar::after {
  content: "";
  position: absolute;
  display: block;
  width: 22px;
  height: 3px;
  border-radius: 4px;
  background: #474aa6;
  transition: 0.5s;
}
.nav-toggle-button .bar::before {
  bottom: 7px;
}
.nav-toggle-button .bar::after {
  top: 7px;
}
.nav-toggle-button.open .bar {
  background: rgba(255, 255, 255, 0);
}
.nav-toggle-button.open .bar::before {
  bottom: 0;
  transform: rotate(45deg);
}
.nav-toggle-button.open .bar::after {
  top: 0;
  transform: rotate(-45deg);
}

/*--------------------------------------------------
  NAV OVERLAY
--------------------------------------------------*/
.nav-toggle-overlay {
  display: none;
}
@media (max-width: 1120px) {
  .nav-toggle-overlay {
    position: fixed;
    top: 0;
    right: 100%;
    z-index: 99;
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);
    transition: 0.5s;
    cursor: pointer;
  }
}

/*--------------------------------------------------
  MOBILE HEADER NAV
--------------------------------------------------*/
@media (max-width: 1120px) {
  .header-nav {
    position: fixed;
    top: 0;
    left: -100%;
    z-index: 100;
    display: flex;
    flex-direction: column;
    width: 85%;
    height: 100%;
    background: rgba(71, 74, 166, 0.9);
    visibility: hidden;
    overflow-y: auto;
    transition: left 0.3s ease;
  }
}
.header-nav {
  /*----------------------------------------------
    LIST
  ----------------------------------------------*/
}
@media (max-width: 1120px) {
  .header-nav .list {
    display: flex;
    flex-direction: column;
    width: 100%;
  }
}
.header-nav {
  /*----------------------------------------------
    ITEM
  ----------------------------------------------*/
}
@media (max-width: 1120px) {
  .header-nav .item {
    margin: 0;
    padding: 0;
    border-bottom: 1px dotted #fff;
  }
}
.header-nav .item {
  /*--------------------------------------------
    NORMAL LINK ICON
  --------------------------------------------*/
}
.header-nav .item > a .icon {
  display: none;
  position: absolute;
}
@media (max-width: 1120px) {
  .header-nav .item > a .icon {
    inset: 0;
    right: 32px;
    display: block;
    width: 10px;
    height: 10px;
    margin: auto 0 auto auto;
    cursor: pointer;
  }
}
@media (max-width: 1120px) {
  .header-nav .item > a .icon::after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    background-color: transparent;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
  }
}
.header-nav .item {
  /*--------------------------------------------
    MEGA TOGGLE ICON
  --------------------------------------------*/
}
.header-nav .item .mega-toggle .icon {
  display: none;
  position: absolute;
}
@media (max-width: 1120px) {
  .header-nav .item .mega-toggle .icon {
    top: 9px;
    right: 1px;
    z-index: 3;
    display: block;
    padding: 38px;
    cursor: pointer;
  }
}
@media (max-width: 1120px) {
  .header-nav .item .mega-toggle .icon::before, .header-nav .item .mega-toggle .icon::after {
    content: "";
    position: absolute;
    top: 48%;
    left: 32px;
    width: 15px;
    height: 2px;
    background-color: #fff;
    transition: 0.5s;
  }
}
@media (max-width: 1120px) {
  .header-nav .item .mega-toggle .icon::before {
    transform: rotate(0deg);
  }
}
@media (max-width: 1120px) {
  .header-nav .item .mega-toggle .icon::after {
    transform: rotate(90deg);
  }
}
.header-nav .item {
  /*--------------------------------------------
    MEGA ITEM OPEN
  --------------------------------------------*/
}
@media (max-width: 1120px) {
  .header-nav .item.open .mega-toggle .icon::before {
    transform: rotate(45deg);
  }
}
@media (max-width: 1120px) {
  .header-nav .item.open .mega-toggle .icon::after {
    transform: rotate(-45deg);
  }
}
.header-nav .item {
  /*--------------------------------------------
    MEGA MENU
  --------------------------------------------*/
}
.header-nav .item.has-mega .mega {
  z-index: 1;
}
@media (max-width: 1120px) {
  .header-nav .item.has-mega .mega {
    position: relative;
    display: block;
    box-sizing: border-box;
    max-height: 0;
    padding: 0;
    overflow: hidden;
    background: #fff;
    visibility: hidden;
    opacity: 0;
    transition: max-height 0.3s ease;
  }
}
@media (max-width: 1120px) {
  .header-nav .item.has-mega .mega *[class*=grid-column]:has(.card--media) {
    display: block;
    margin: 0;
  }
}
@media (max-width: 1120px) {
  .header-nav .item.has-mega .mega .mega-inner {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 1120px) {
  .header-nav .item.has-mega .mega .mega-inner .lead {
    display: none;
    padding: 0;
  }
}
@media (max-width: 1120px) {
  .header-nav .item.has-mega .mega .card--media {
    padding: 16px 24px;
    box-sizing: border-box;
    font-size: 1.8rem;
    display: block;
    visibility: hidden;
  }
}
@media (max-width: 1120px) {
  .header-nav .item.has-mega .mega .card--media figure {
    display: none;
  }
}
@media (max-width: 1120px) {
  .header-nav .item.has-mega .mega .card--media .text {
    color: #474aa6;
  }
}
.header-nav .item.has-mega {
  /*------------------------------------------
    MEGA TOGGLE
  ------------------------------------------*/
}
.header-nav .item.has-mega .mega-toggle {
  position: relative;
}
@media (max-width: 1120px) {
  .header-nav .item.has-mega .mega-toggle {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 76px;
    padding: 0;
  }
}
@media (max-width: 1120px) {
  .header-nav .item.has-mega .mega-toggle span {
    color: #fff;
    padding: 25px;
    text-align: left;
  }
}
@media (max-width: 1120px) {
  .header-nav .item.has-mega .mega-toggle .icon {
    position: relative;
    inset: 0;
  }
}
.header-nav .item.has-mega {
  /*------------------------------------------
    MEGA OPEN
  ------------------------------------------*/
}
@media (max-width: 1120px) {
  .header-nav .item.has-mega.open .mega-toggle + .mega {
    max-height: 1000px;
    visibility: visible;
    opacity: 0.9;
  }
}
@media (max-width: 1120px) {
  .header-nav .item.has-mega.open .mega .card--media {
    visibility: visible;
  }
}
.header-nav .btn--header-contact {
  margin-left: 1.6rem;
}
@media (max-width: 1440px) {
  .header-nav .btn--header-contact {
    margin-left: clamp(0.8rem, -1.01818rem + 1.8182vw, 1.6rem);
  }
}
@media (max-width: 1120px) {
  .header-nav .btn--header-contact {
    margin-top: 24px;
    margin-bottom: 24px;
    margin-left: auto;
    margin-right: auto;
    width: calc(100% - 32px);
  }
}
@media (max-width: 1120px) {
  .header-nav > * {
    opacity: 0;
  }
}

/*--------------------------------------------------
  HEADER MENU OPEN
--------------------------------------------------*/
@media (max-width: 1120px) {
  .header.menu-open .nav-toggle-overlay {
    left: 0;
  }
}
@media (max-width: 1120px) {
  .header.menu-open .header-nav {
    left: 0;
    visibility: visible;
  }
}
@media (max-width: 1120px) {
  .header.menu-open .header-nav .item {
    margin-left: 0;
  }
}
@media (max-width: 1120px) {
  .header.menu-open .header-nav > * {
    opacity: 1;
  }
}

/*--------------------------------------------------
VISUAL
--------------------------------------------------*/
main:has(.page-main--plain) .page-hero--simple h1.title--plain span {
  background: none;
  -webkit-text-fill-color: initial;
  color: #474aa6;
  backdrop-filter: none;
}
main:has(.page-main--plain) .page-hero--simple h1.title--plain span span.text-size--lg {
  display: block;
  margin-top: 16px;
}
@media (max-width: 768px) {
  main:has(.page-main--plain) .page-hero--simple h1.title--plain span span.text-size--lg {
    margin-top: 13.33328px;
  }
}
@media (max-width: 480px) {
  main:has(.page-main--plain) .page-hero--simple h1.title--plain span span.text-size--lg {
    margin-top: 2vw;
  }
}

.page-hero--simple {
  --inner-width: min(1280px, 100vw);
  --page-hero-padding-bottom: 64px;
  --page-hero-padding-bottom-tab: 56px;
  --page-hero-padding-bottom-sp: 32px;
  position: relative;
  z-index: 1;
  padding-top: var(--header-height);
  padding-bottom: var(--page-hero-padding-bottom);
}
@media (max-width: 1120px) {
  .page-hero--simple {
    padding-top: var(--header-height-1120);
  }
}
@media (max-width: 768px) {
  .page-hero--simple {
    padding-top: var(--header-height-tab);
    padding-bottom: var(--page-hero-padding-bottom-tab);
  }
}
@media (max-width: 480px) {
  .page-hero--simple {
    padding-top: calc(var(--header-height-sp) + var(--page-hero-padding-bottom-sp) / 2);
    padding-bottom: var(--page-hero-padding-bottom-sp);
  }
}
.page-hero--simple .breadcrumb + .title:not(:first-child),
.page-hero--simple .breadcrumb + * {
  margin-top: 48px;
}
@media (max-width: 768px) {
  .page-hero--simple .breadcrumb + .title:not(:first-child),
  .page-hero--simple .breadcrumb + * {
    margin-top: 39.99984px;
  }
}
@media (max-width: 480px) {
  .page-hero--simple .breadcrumb + .title:not(:first-child),
  .page-hero--simple .breadcrumb + * {
    margin-top: 6vw;
  }
}
.page-hero--simple .inner:has(.page-image) {
  max-width: 1360px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 40px;
  box-sizing: border-box;
}
@media (max-width: 1000px) {
  .page-hero--simple .inner:has(.page-image) {
    padding: 0 20px;
  }
}
.page-hero--simple .page-image {
  display: block;
}
.page-hero--simple .page-image .image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 6px;
}
.page-hero--simple h1.title--plain,
.page-hero--simple h1.title {
  position: relative;
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-content: start;
  gap: 4px;
}
.page-hero--simple h1.title--plain span,
.page-hero--simple h1.title span {
  font-size: 4rem;
}
@media (max-width: 768px) {
  .page-hero--simple h1.title--plain span,
  .page-hero--simple h1.title span {
    font-size: 3.6rem;
  }
}
@media (max-width: 480px) {
  .page-hero--simple h1.title--plain span,
  .page-hero--simple h1.title span {
    font-size: 3.2rem;
  }
}
.page-hero--simple h1.title--plain span,
.page-hero--simple h1.title span {
  line-height: 1.2;
  letter-spacing: 0.2rem;
  font-weight: 700;
  width: fit-content;
  background-image: linear-gradient(135deg, #474aa6 18%, #f24649 48%, #f4b700 97%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  font-family: "IBM Plex Sans JP", sans-serif;
  order: 1;
}
.page-hero--simple h1.title--plain:not(:first-child),
.page-hero--simple h1.title:not(:first-child) {
  margin-top: 24px;
}
@media (max-width: 768px) {
  .page-hero--simple h1.title--plain:not(:first-child),
  .page-hero--simple h1.title:not(:first-child) {
    margin-top: 19.99992px;
  }
}
@media (max-width: 480px) {
  .page-hero--simple h1.title--plain:not(:first-child),
  .page-hero--simple h1.title:not(:first-child) {
    margin-top: 3vw;
  }
}
.page-hero--simple .inner .content > .label {
  position: relative;
  isolation: isolate;
  color: #fff;
  padding: 8px 0;
}
.page-hero--simple .inner .content > .label::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset-block: 0;
  left: -1.5em;
  right: calc(100% - 280px);
  background: linear-gradient(90deg, #f46f00 18%, #f24649 48%, #f4b700 97%);
  clip-path: polygon(0 0, 100% 0, calc(100% - 24px) 100%, 0 100%);
}
@media (max-width: 1360px) {
  .page-hero--simple .inner .content > .label::before {
    left: -40px;
    right: 0;
    width: calc(40px + 28rem);
  }
}
@media (max-width: 1000px) {
  .page-hero--simple .inner .content > .label::before {
    left: -20px;
    width: calc(20px + 28rem);
  }
}
@media (max-width: 768px) {
  .page-hero--simple .inner .content > .label::before {
    width: calc(20px + 25.2rem);
  }
}
@media (max-width: 480px) {
  .page-hero--simple .inner .content > .label::before {
    width: calc(20px + 22.4rem);
  }
}
.page-hero--simple .tags {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.5em;
  flex-wrap: wrap;
}
.page-hero--simple .tags:not(:first-child) {
  margin-top: 24px;
}
@media (max-width: 768px) {
  .page-hero--simple .tags:not(:first-child) {
    margin-top: 19.99992px;
  }
}
@media (max-width: 480px) {
  .page-hero--simple .tags:not(:first-child) {
    margin-top: 3vw;
  }
}
.page-hero--simple .tag {
  width: fit-content;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  justify-content: center;
  align-items: center;
  gap: 0.5em;
  padding: 2px 16px 0 10px;
  border-radius: 4px;
  background-color: #474aa6;
  border: 1px solid #474aa6;
}
.page-hero--simple .tag .label {
  color: #fff;
}
.page-hero--simple .tag .image {
  filter: brightness(0) invert(1);
  max-height: 20px;
  width: auto;
}
.page-hero--simple {
  background-image: linear-gradient(180deg, #e4e4ff 18%, rgba(228, 228, 255, 0) 100%);
  min-height: 260px;
}
@media (max-width: 480px) {
  .page-hero--simple {
    min-height: 180px;
  }
}
.page-hero--simple:not(:has(.page-image)) {
  border-bottom: 1px solid transparent;
  background-image: linear-gradient(180deg, #e4e4ff 18%, rgba(228, 228, 255, 0) 100%), linear-gradient(220deg, #e4e4ff 18%, #f7f7ff 97%);
  background-size: 100% 1px, 100% 100%;
  background-position: bottom, top;
  background-repeat: no-repeat;
}
.page-hero--simple > *:not(.page-image) {
  position: relative;
  z-index: 1;
}
.page-hero--simple .title--plain,
.page-hero--simple .title {
  max-width: 1360px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 40px;
  box-sizing: border-box;
}
@media (max-width: 1000px) {
  .page-hero--simple .title--plain,
  .page-hero--simple .title {
    padding: 0 20px;
  }
}
.page-hero--simple .title--plain span,
.page-hero--simple .title span {
  background-color: rgba(228, 228, 255, 0.05);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  width: fit-content;
}
.page-hero--simple .page-image .image {
  aspect-ratio: 3/2;
  object-fit: cover;
}
@media (max-width: 768px) {
  .page-hero--simple .page-image .image {
    border-radius: 6px 0 0 6px;
  }
}
.page-hero--simple .page-image {
  position: absolute;
  z-index: 0;
  inset: 0;
  top: calc(var(--header-height) + 16px);
  display: block;
  max-width: 420px;
  width: 50%;
  height: fit-content;
  margin-left: auto;
  margin-right: calc((100% - 1360px) / 2);
}
@media (max-width: 1440px) {
  .page-hero--simple .page-image {
    margin-right: 40px;
  }
}
@media (max-width: 1120px) {
  .page-hero--simple .page-image {
    top: calc(var(--header-height-1120) + 16px);
  }
}
@media (max-width: 1000px) {
  .page-hero--simple .page-image {
    margin-right: 20px;
  }
}
@media (max-width: 768px) {
  .page-hero--simple .page-image {
    top: calc(var(--header-height-tab) + 14px + 12px + 1.4rem + 12px + 39.99984px);
    margin-right: 0;
  }
}
@media (max-width: 480px) {
  .page-hero--simple .page-image {
    top: calc(var(--header-height-sp) + 12px + 12px + 1.2rem + 12px + 6vw);
  }
}

.page-hero--detail {
  --inner-width: min(1280px, 100vw);
  --page-hero-padding-bottom: 64px;
  --page-hero-padding-bottom-tab: 56px;
  --page-hero-padding-bottom-sp: 32px;
  position: relative;
  z-index: 1;
  padding-top: var(--header-height);
  padding-bottom: var(--page-hero-padding-bottom);
}
@media (max-width: 1120px) {
  .page-hero--detail {
    padding-top: var(--header-height-1120);
  }
}
@media (max-width: 768px) {
  .page-hero--detail {
    padding-top: var(--header-height-tab);
    padding-bottom: var(--page-hero-padding-bottom-tab);
  }
}
@media (max-width: 480px) {
  .page-hero--detail {
    padding-top: calc(var(--header-height-sp) + var(--page-hero-padding-bottom-sp) / 2);
    padding-bottom: var(--page-hero-padding-bottom-sp);
  }
}
.page-hero--detail .breadcrumb + .title:not(:first-child),
.page-hero--detail .breadcrumb + * {
  margin-top: 48px;
}
@media (max-width: 768px) {
  .page-hero--detail .breadcrumb + .title:not(:first-child),
  .page-hero--detail .breadcrumb + * {
    margin-top: 39.99984px;
  }
}
@media (max-width: 480px) {
  .page-hero--detail .breadcrumb + .title:not(:first-child),
  .page-hero--detail .breadcrumb + * {
    margin-top: 6vw;
  }
}
.page-hero--detail .inner:has(.page-image) {
  max-width: 1360px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 40px;
  box-sizing: border-box;
}
@media (max-width: 1000px) {
  .page-hero--detail .inner:has(.page-image) {
    padding: 0 20px;
  }
}
.page-hero--detail .page-image {
  display: block;
}
.page-hero--detail .page-image .image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 6px;
}
.page-hero--detail h1.title--plain,
.page-hero--detail h1.title {
  position: relative;
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-content: start;
  gap: 4px;
}
.page-hero--detail h1.title--plain span,
.page-hero--detail h1.title span {
  font-size: 4rem;
}
@media (max-width: 768px) {
  .page-hero--detail h1.title--plain span,
  .page-hero--detail h1.title span {
    font-size: 3.6rem;
  }
}
@media (max-width: 480px) {
  .page-hero--detail h1.title--plain span,
  .page-hero--detail h1.title span {
    font-size: 3.2rem;
  }
}
.page-hero--detail h1.title--plain span,
.page-hero--detail h1.title span {
  line-height: 1.2;
  letter-spacing: 0.2rem;
  font-weight: 700;
  width: fit-content;
  background-image: linear-gradient(135deg, #474aa6 18%, #f24649 48%, #f4b700 97%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  font-family: "IBM Plex Sans JP", sans-serif;
  order: 1;
}
.page-hero--detail h1.title--plain:not(:first-child),
.page-hero--detail h1.title:not(:first-child) {
  margin-top: 24px;
}
@media (max-width: 768px) {
  .page-hero--detail h1.title--plain:not(:first-child),
  .page-hero--detail h1.title:not(:first-child) {
    margin-top: 19.99992px;
  }
}
@media (max-width: 480px) {
  .page-hero--detail h1.title--plain:not(:first-child),
  .page-hero--detail h1.title:not(:first-child) {
    margin-top: 3vw;
  }
}
.page-hero--detail .inner .content > .label {
  position: relative;
  isolation: isolate;
  color: #fff;
  padding: 8px 0;
}
.page-hero--detail .inner .content > .label::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset-block: 0;
  left: -1.5em;
  right: calc(100% - 280px);
  background: linear-gradient(90deg, #f46f00 18%, #f24649 48%, #f4b700 97%);
  clip-path: polygon(0 0, 100% 0, calc(100% - 24px) 100%, 0 100%);
}
@media (max-width: 1360px) {
  .page-hero--detail .inner .content > .label::before {
    left: -40px;
    right: 0;
    width: calc(40px + 28rem);
  }
}
@media (max-width: 1000px) {
  .page-hero--detail .inner .content > .label::before {
    left: -20px;
    width: calc(20px + 28rem);
  }
}
@media (max-width: 768px) {
  .page-hero--detail .inner .content > .label::before {
    width: calc(20px + 25.2rem);
  }
}
@media (max-width: 480px) {
  .page-hero--detail .inner .content > .label::before {
    width: calc(20px + 22.4rem);
  }
}
.page-hero--detail .tags {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.5em;
  flex-wrap: wrap;
}
.page-hero--detail .tags:not(:first-child) {
  margin-top: 24px;
}
@media (max-width: 768px) {
  .page-hero--detail .tags:not(:first-child) {
    margin-top: 19.99992px;
  }
}
@media (max-width: 480px) {
  .page-hero--detail .tags:not(:first-child) {
    margin-top: 3vw;
  }
}
.page-hero--detail .tag {
  width: fit-content;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  justify-content: center;
  align-items: center;
  gap: 0.5em;
  padding: 2px 16px 0 10px;
  border-radius: 4px;
  background-color: #474aa6;
  border: 1px solid #474aa6;
}
.page-hero--detail .tag .label {
  color: #fff;
}
.page-hero--detail .tag .image {
  filter: brightness(0) invert(1);
  max-height: 20px;
  width: auto;
}
@media (max-width: 480px) {
  .page-hero--detail {
    padding-top: var(--header-height-sp);
  }
}
.page-hero--detail .inner {
  max-width: 1360px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 40px;
  box-sizing: border-box;
}
@media (max-width: 1000px) {
  .page-hero--detail .inner {
    padding: 0 20px;
  }
}
.page-hero--detail .inner:has(.page-image) {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
  gap: 40px clamp(40px, -43.027px + 10.8108vw, 104px);
  align-items: center;
}
@media (max-width: 1000px) {
  .page-hero--detail .inner:has(.page-image) {
    gap: 40px 40px;
  }
}
@media (max-width: 1000px) and (max-width: 768px) {
  .page-hero--detail .inner:has(.page-image) {
    gap: 33.3332px 33.3332px;
  }
}
@media (max-width: 1000px) and (max-width: 480px) {
  .page-hero--detail .inner:has(.page-image) {
    gap: 5vw 5vw;
  }
}
@media (max-width: 768px) {
  .page-hero--detail .inner:has(.page-image) {
    grid-template-columns: minmax(0, 1fr);
  }
}
.page-hero--detail .card {
  border-radius: 6px;
  margin-top: 32px;
}
@media (max-width: 768px) {
  .page-hero--detail .card {
    margin-top: 26.66656px;
  }
}
@media (max-width: 480px) {
  .page-hero--detail .card {
    margin-top: 4vw;
  }
}
.page-hero--detail .card {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.25) 0%, rgba(255, 255, 255, 0.1) 100%);
  backdrop-filter: blur(25px);
  -webkit-backdrop-filter: blur(25px);
  box-shadow: rgba(71, 74, 166, 0.25) 0px 4px 8px -1px, rgba(71, 74, 166, 0.3) 0px 2px 6px -2px;
  padding: 32px;
}
.page-hero--detail .card .title {
  font-size: 2.4rem;
}
@media (max-width: 480px) {
  .page-hero--detail .card .title {
    font-size: 2rem;
  }
}
.page-hero--detail .card .title {
  background-image: linear-gradient(315deg, #474aa6 0%, #1b1d40 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
.page-hero--detail .card p {
  background-image: linear-gradient(315deg, #474aa6 0%, #1b1d40 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  line-height: 1.8;
}
.page-hero--detail .card p:not(:first-child) {
  margin-top: 24px;
}
@media (max-width: 768px) {
  .page-hero--detail .card p:not(:first-child) {
    margin-top: 19.99992px;
  }
}
@media (max-width: 480px) {
  .page-hero--detail .card p:not(:first-child) {
    margin-top: 3vw;
  }
}
@media (max-width: 768px) {
  .page-hero--detail .content {
    order: 2;
  }
}
@media (max-width: 768px) {
  .page-hero--detail .page-image {
    order: 1;
  }
}
.page-hero--detail .image {
  max-width: 600px;
}
@media (max-width: 768px) {
  .page-hero--detail .image {
    max-width: 100%;
  }
}

.page-hero--intro {
  --inner-width: min(1280px, 100vw);
  --page-hero-padding-bottom: 64px;
  --page-hero-padding-bottom-tab: 56px;
  --page-hero-padding-bottom-sp: 32px;
  position: relative;
  z-index: 1;
  padding-top: var(--header-height);
  padding-bottom: var(--page-hero-padding-bottom);
}
@media (max-width: 1120px) {
  .page-hero--intro {
    padding-top: var(--header-height-1120);
  }
}
@media (max-width: 768px) {
  .page-hero--intro {
    padding-top: var(--header-height-tab);
    padding-bottom: var(--page-hero-padding-bottom-tab);
  }
}
@media (max-width: 480px) {
  .page-hero--intro {
    padding-top: calc(var(--header-height-sp) + var(--page-hero-padding-bottom-sp) / 2);
    padding-bottom: var(--page-hero-padding-bottom-sp);
  }
}
.page-hero--intro .breadcrumb + .title:not(:first-child),
.page-hero--intro .breadcrumb + * {
  margin-top: 48px;
}
@media (max-width: 768px) {
  .page-hero--intro .breadcrumb + .title:not(:first-child),
  .page-hero--intro .breadcrumb + * {
    margin-top: 39.99984px;
  }
}
@media (max-width: 480px) {
  .page-hero--intro .breadcrumb + .title:not(:first-child),
  .page-hero--intro .breadcrumb + * {
    margin-top: 6vw;
  }
}
.page-hero--intro .inner:has(.page-image) {
  max-width: 1360px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 40px;
  box-sizing: border-box;
}
@media (max-width: 1000px) {
  .page-hero--intro .inner:has(.page-image) {
    padding: 0 20px;
  }
}
.page-hero--intro .page-image {
  display: block;
}
.page-hero--intro .page-image .image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 6px;
}
.page-hero--intro h1.title--plain,
.page-hero--intro h1.title {
  position: relative;
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-content: start;
  gap: 4px;
}
.page-hero--intro h1.title--plain span,
.page-hero--intro h1.title span {
  font-size: 4rem;
}
@media (max-width: 768px) {
  .page-hero--intro h1.title--plain span,
  .page-hero--intro h1.title span {
    font-size: 3.6rem;
  }
}
@media (max-width: 480px) {
  .page-hero--intro h1.title--plain span,
  .page-hero--intro h1.title span {
    font-size: 3.2rem;
  }
}
.page-hero--intro h1.title--plain span,
.page-hero--intro h1.title span {
  line-height: 1.2;
  letter-spacing: 0.2rem;
  font-weight: 700;
  width: fit-content;
  background-image: linear-gradient(135deg, #474aa6 18%, #f24649 48%, #f4b700 97%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  font-family: "IBM Plex Sans JP", sans-serif;
  order: 1;
}
.page-hero--intro h1.title--plain:not(:first-child),
.page-hero--intro h1.title:not(:first-child) {
  margin-top: 24px;
}
@media (max-width: 768px) {
  .page-hero--intro h1.title--plain:not(:first-child),
  .page-hero--intro h1.title:not(:first-child) {
    margin-top: 19.99992px;
  }
}
@media (max-width: 480px) {
  .page-hero--intro h1.title--plain:not(:first-child),
  .page-hero--intro h1.title:not(:first-child) {
    margin-top: 3vw;
  }
}
.page-hero--intro .inner .content > .label {
  position: relative;
  isolation: isolate;
  color: #fff;
  padding: 8px 0;
}
.page-hero--intro .inner .content > .label::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset-block: 0;
  left: -1.5em;
  right: calc(100% - 280px);
  background: linear-gradient(90deg, #f46f00 18%, #f24649 48%, #f4b700 97%);
  clip-path: polygon(0 0, 100% 0, calc(100% - 24px) 100%, 0 100%);
}
@media (max-width: 1360px) {
  .page-hero--intro .inner .content > .label::before {
    left: -40px;
    right: 0;
    width: calc(40px + 28rem);
  }
}
@media (max-width: 1000px) {
  .page-hero--intro .inner .content > .label::before {
    left: -20px;
    width: calc(20px + 28rem);
  }
}
@media (max-width: 768px) {
  .page-hero--intro .inner .content > .label::before {
    width: calc(20px + 25.2rem);
  }
}
@media (max-width: 480px) {
  .page-hero--intro .inner .content > .label::before {
    width: calc(20px + 22.4rem);
  }
}
.page-hero--intro .tags {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.5em;
  flex-wrap: wrap;
}
.page-hero--intro .tags:not(:first-child) {
  margin-top: 24px;
}
@media (max-width: 768px) {
  .page-hero--intro .tags:not(:first-child) {
    margin-top: 19.99992px;
  }
}
@media (max-width: 480px) {
  .page-hero--intro .tags:not(:first-child) {
    margin-top: 3vw;
  }
}
.page-hero--intro .tag {
  width: fit-content;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  justify-content: center;
  align-items: center;
  gap: 0.5em;
  padding: 2px 16px 0 10px;
  border-radius: 4px;
  background-color: #474aa6;
  border: 1px solid #474aa6;
}
.page-hero--intro .tag .label {
  color: #fff;
}
.page-hero--intro .tag .image {
  filter: brightness(0) invert(1);
  max-height: 20px;
  width: auto;
}
@media (max-width: 480px) {
  .page-hero--intro {
    padding-top: var(--header-height-sp);
  }
}
.page-hero--intro .inner {
  max-width: 1360px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 40px;
  box-sizing: border-box;
}
@media (max-width: 1000px) {
  .page-hero--intro .inner {
    padding: 0 20px;
  }
}
.page-hero--intro .inner:has(.page-image) {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
  gap: 40px clamp(40px, -43.027px + 10.8108vw, 104px);
  align-items: center;
}
@media (max-width: 1000px) {
  .page-hero--intro .inner:has(.page-image) {
    gap: 40px 40px;
  }
}
@media (max-width: 1000px) and (max-width: 768px) {
  .page-hero--intro .inner:has(.page-image) {
    gap: 33.3332px 33.3332px;
  }
}
@media (max-width: 1000px) and (max-width: 480px) {
  .page-hero--intro .inner:has(.page-image) {
    gap: 5vw 5vw;
  }
}
@media (max-width: 768px) {
  .page-hero--intro .inner:has(.page-image) {
    grid-template-columns: minmax(0, 1fr);
  }
}
.page-hero--intro .title {
  filter: drop-shadow(1px 0 0 rgba(255, 255, 255, 0.8)) drop-shadow(-1px 0 0 rgba(255, 255, 255, 0.8)) drop-shadow(0 1px 0 rgba(255, 255, 255, 0.8)) drop-shadow(0 -1px 0 rgba(255, 255, 255, 0.8)) drop-shadow(0 0 6px rgba(255, 255, 255, 0.4)) drop-shadow(0 0 10px rgba(255, 255, 255, 0.4));
}
.page-hero--intro .title + .subtitle {
  margin-top: 24px;
}
@media (max-width: 768px) {
  .page-hero--intro .title + .subtitle {
    margin-top: 19.99992px;
  }
}
@media (max-width: 480px) {
  .page-hero--intro .title + .subtitle {
    margin-top: 3vw;
  }
}
.page-hero--intro .subtitle {
  font-size: 2.4rem;
}
@media (max-width: 480px) {
  .page-hero--intro .subtitle {
    font-size: 2rem;
  }
}
.page-hero--intro .subtitle {
  color: #474aa6;
  font-weight: 500;
  filter: drop-shadow(1px 0 0 rgba(255, 255, 255, 0.8)) drop-shadow(-1px 0 0 rgba(255, 255, 255, 0.8)) drop-shadow(0 1px 0 rgba(255, 255, 255, 0.8)) drop-shadow(0 -1px 0 rgba(255, 255, 255, 0.8)) drop-shadow(0 0 6px rgba(255, 255, 255, 0.4)) drop-shadow(0 0 10px rgba(255, 255, 255, 0.4));
}
.page-hero--intro .subtitle + .description p {
  margin-top: 24px;
}
@media (max-width: 768px) {
  .page-hero--intro .subtitle + .description p {
    margin-top: 19.99992px;
  }
}
@media (max-width: 480px) {
  .page-hero--intro .subtitle + .description p {
    margin-top: 3vw;
  }
}
.page-hero--intro .description p {
  color: #474aa6;
  line-height: 1.8;
  margin-top: 16px;
}
@media (max-width: 768px) {
  .page-hero--intro .description p {
    margin-top: 13.33328px;
  }
}
@media (max-width: 480px) {
  .page-hero--intro .description p {
    margin-top: 2vw;
  }
}
.page-hero--intro .description p {
  filter: drop-shadow(1px 0 0 rgba(255, 255, 255, 0.8)) drop-shadow(-1px 0 0 rgba(255, 255, 255, 0.8)) drop-shadow(0 1px 0 rgba(255, 255, 255, 0.8)) drop-shadow(0 -1px 0 rgba(255, 255, 255, 0.8)) drop-shadow(0 0 6px rgba(255, 255, 255, 0.4)) drop-shadow(0 0 10px rgba(255, 255, 255, 0.4));
}
@media (max-width: 768px) {
  .page-hero--intro .content {
    order: 2;
  }
}
@media (max-width: 768px) {
  .page-hero--intro .page-image {
    order: 1;
  }
}
.page-hero--intro .image {
  max-width: 600px;
}
@media (max-width: 768px) {
  .page-hero--intro .image {
    max-width: 100%;
  }
}

:root {
  --containerWidthLg: 1200px;
  --containerWidth: 1000px;
}

/*--------------------------------------------------
ＢＬＯＣＫ
--------------------------------------------------*/
:where(main a:not(*[class*=btn--], *[class*=card], .news--ticker .slide, .news--list .link, .contact-cta .link, :has(img))) {
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 100% 1px;
}
@media (any-hover: hover) {
  :where(main a:not(*[class*=btn--], *[class*=card], .news--ticker .slide, .news--list .link, .contact-cta .link, :has(img))):hover {
    animation: underline01 0.5s ease forwards;
  }
}
:where(main a:not(*[class*=btn--], *[class*=card], .news--ticker .slide, .news--list .link, .contact-cta .link, :has(img))):focus-visible {
  animation: underline01 0.5s ease forwards;
}
@media (hover: none) {
  :where(main a:not(*[class*=btn--], *[class*=card], .news--ticker .slide, .news--list .link, .contact-cta .link, :has(img))):active {
    animation: underline01 0.5s ease forwards;
  }
}
:where(main a:not(*[class*=btn--], *[class*=card], .news--ticker .slide, .news--list .link, .contact-cta .link, :has(img))) {
  background-size: 100% 1px;
  position: relative;
}
:where(main a:not(*[class*=btn--], *[class*=card], .news--ticker .slide, .news--list .link, .contact-cta .link, :has(img))) + .pdf {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  vertical-align: middle;
  margin-right: 0.25em;
}
:where(main a:not(*[class*=btn--], *[class*=card], .news--ticker .slide, .news--list .link, .contact-cta .link, :has(img))) + .pdf:not(:first-child) {
  margin-top: 0;
}
:where(main a:not(*[class*=btn--], *[class*=card], .news--ticker .slide, .news--list .link, .contact-cta .link, :has(img))) + .pdf {
  filter: brightness(0) saturate(100%) invert(31%) sepia(29%) saturate(5951%) hue-rotate(338deg) brightness(102%) contrast(89%);
}
:where(main a:not(*[class*=btn--], *[class*=card], .news--ticker .slide, .news--list .link, .contact-cta .link, :has(img))) + .xlsx {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  vertical-align: middle;
  margin-right: 0.25em;
}
:where(main a:not(*[class*=btn--], *[class*=card], .news--ticker .slide, .news--list .link, .contact-cta .link, :has(img))) + .xlsx:not(:first-child) {
  margin-top: 0;
}
:where(main a:not(*[class*=btn--], *[class*=card], .news--ticker .slide, .news--list .link, .contact-cta .link, :has(img))) + .xlsx {
  filter: brightness(0) saturate(100%) invert(32%) sepia(30%) saturate(1100%) hue-rotate(105deg) brightness(82%) contrast(95%);
}
:where(main a:not(*[class*=btn--], *[class*=card], .news--ticker .slide, .news--list .link, .contact-cta .link, :has(img))) + .word {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  vertical-align: middle;
  margin-right: 0.25em;
}
:where(main a:not(*[class*=btn--], *[class*=card], .news--ticker .slide, .news--list .link, .contact-cta .link, :has(img))) + .word:not(:first-child) {
  margin-top: 0;
}
:where(main a:not(*[class*=btn--], *[class*=card], .news--ticker .slide, .news--list .link, .contact-cta .link, :has(img))) + .word {
  filter: brightness(0) saturate(100%) invert(24%) sepia(100%) saturate(3800%) hue-rotate(220deg) brightness(95%) contrast(105%);
}
:where(main a:not(*[class*=btn--], *[class*=card], .news--ticker .slide, .news--list .link, .contact-cta .link, :has(img))) + .zip {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  vertical-align: middle;
  margin-right: 0.25em;
}
:where(main a:not(*[class*=btn--], *[class*=card], .news--ticker .slide, .news--list .link, .contact-cta .link, :has(img))) + .zip:not(:first-child) {
  margin-top: 0;
}
:where(main a:not(*[class*=btn--], *[class*=card], .news--ticker .slide, .news--list .link, .contact-cta .link, :has(img))) + .zip {
  filter: brightness(0) saturate(100%) invert(47%) sepia(55%) saturate(3000%) hue-rotate(355deg) brightness(85%) contrast(105%);
}
:where(main a:not(*[class*=btn--], *[class*=card], .news--ticker .slide, .news--list .link, .contact-cta .link, :has(img))) + .external {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  vertical-align: middle;
  margin-right: 0.25em;
}
:where(main a:not(*[class*=btn--], *[class*=card], .news--ticker .slide, .news--list .link, .contact-cta .link, :has(img))) + .external:not(:first-child) {
  margin-top: 0;
}
:where(main a:not(*[class*=btn--], *[class*=card], .news--ticker .slide, .news--list .link, .contact-cta .link, :has(img))) + .external {
  filter: brightness(0) saturate(100%) invert(26%) sepia(62%) saturate(1541%) hue-rotate(217deg) brightness(88%) contrast(85%);
}

:where(main:not(:has(.contact-cta))) {
  padding-bottom: 120px;
}
@media (max-width: 768px) {
  :where(main:not(:has(.contact-cta))) {
    padding-bottom: 99.9996px;
  }
}
@media (max-width: 480px) {
  :where(main:not(:has(.contact-cta))) {
    padding-bottom: 15vw;
  }
}

:where(.page-main + *:not(.contact-cta)) {
  margin-top: 80px;
}
@media (max-width: 768px) {
  :where(.page-main + *:not(.contact-cta)) {
    margin-top: 66.6664px;
  }
}
@media (max-width: 480px) {
  :where(.page-main + *:not(.contact-cta)) {
    margin-top: 10vw;
  }
}

:where(.page-main > *:not(:first-child)) {
  margin-top: 16px;
}
@media (max-width: 768px) {
  :where(.page-main > *:not(:first-child)) {
    margin-top: 13.33328px;
  }
}
@media (max-width: 480px) {
  :where(.page-main > *:not(:first-child)) {
    margin-top: 2vw;
  }
}

:where(.section > *:not(:first-child), .aside > *:not(:first-child)) {
  margin-top: 16px;
}
@media (max-width: 768px) {
  :where(.section > *:not(:first-child), .aside > *:not(:first-child)) {
    margin-top: 13.33328px;
  }
}
@media (max-width: 480px) {
  :where(.section > *:not(:first-child), .aside > *:not(:first-child)) {
    margin-top: 2vw;
  }
}

.btn-list--center:has(.btn--prev),
.section + .btn-list--center,
:where(.section:not(:first-child), .aside:not(:first-child), .section + *) {
  margin-top: 96px;
}
@media (max-width: 768px) {
  .btn-list--center:has(.btn--prev),
  .section + .btn-list--center,
  :where(.section:not(:first-child), .aside:not(:first-child), .section + *) {
    margin-top: 79.99968px;
  }
}
@media (max-width: 480px) {
  .btn-list--center:has(.btn--prev),
  .section + .btn-list--center,
  :where(.section:not(:first-child), .aside:not(:first-child), .section + *) {
    margin-top: 12vw;
  }
}

.page-main--plain:has(.progressbar) .section + .btn-list--center,
:where(.page-main--plain:has(.progressbar) .section:not(:first-child),
.page-main--plain:has(.progressbar) .aside:not(:first-child),
.page-main--plain:has(.progressbar) .section + *) {
  margin-top: 72px;
}
@media (max-width: 768px) {
  .page-main--plain:has(.progressbar) .section + .btn-list--center,
  :where(.page-main--plain:has(.progressbar) .section:not(:first-child),
  .page-main--plain:has(.progressbar) .aside:not(:first-child),
  .page-main--plain:has(.progressbar) .section + *) {
    margin-top: 59.99976px;
  }
}
@media (max-width: 480px) {
  .page-main--plain:has(.progressbar) .section + .btn-list--center,
  :where(.page-main--plain:has(.progressbar) .section:not(:first-child),
  .page-main--plain:has(.progressbar) .aside:not(:first-child),
  .page-main--plain:has(.progressbar) .section + *) {
    margin-top: 9vw;
  }
}

.page-main--plain,
.page-main {
  position: relative;
  z-index: 2;
  letter-spacing: 0.1rem;
}
.page-main--plain h2:not(.title, .title--lead),
.page-main h2:not(.title, .title--lead) {
  background-image: linear-gradient(135deg, #474aa6 18%, #f24649 48%, #f4b700 97%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  width: fit-content;
  font-weight: 300;
  font-size: 3.6rem;
}
@media (max-width: 768px) {
  .page-main--plain h2:not(.title, .title--lead),
  .page-main h2:not(.title, .title--lead) {
    font-size: 3.2rem;
  }
}
@media (max-width: 480px) {
  .page-main--plain h2:not(.title, .title--lead),
  .page-main h2:not(.title, .title--lead) {
    font-size: 2.8rem;
  }
}
.page-main--plain h2:not(.title, .title--lead) + *,
.page-main h2:not(.title, .title--lead) + * {
  margin-top: 28px;
}
@media (max-width: 768px) {
  .page-main--plain h2:not(.title, .title--lead) + *,
  .page-main h2:not(.title, .title--lead) + * {
    margin-top: 23.33324px;
  }
}
@media (max-width: 480px) {
  .page-main--plain h2:not(.title, .title--lead) + *,
  .page-main h2:not(.title, .title--lead) + * {
    margin-top: 3.5vw;
  }
}
.page-main--plain h2:not(.title, .title--lead) .icon--new,
.page-main h2:not(.title, .title--lead) .icon--new {
  display: inline-block;
  margin-left: 1em;
  margin-right: 1em;
  vertical-align: middle;
}
.page-main--plain h2:not(.title, .title--lead):not(:first-child),
.page-main h2:not(.title, .title--lead):not(:first-child) {
  margin-top: 96px;
}
@media (max-width: 768px) {
  .page-main--plain h2:not(.title, .title--lead):not(:first-child),
  .page-main h2:not(.title, .title--lead):not(:first-child) {
    margin-top: 79.99968px;
  }
}
@media (max-width: 480px) {
  .page-main--plain h2:not(.title, .title--lead):not(:first-child),
  .page-main h2:not(.title, .title--lead):not(:first-child) {
    margin-top: 12vw;
  }
}
.page-main--plain h2:not(.title, .title--lead):not(.title--number) + *:not(.resources,
.grid-column--three:has(.card--reason),
.block--message,
.flex,
.organization,
*[class*=grid-column]:has(*[class*=icon--], img[src*="president-sign.webp"]),
table),
.page-main--plain h2:not(.title, .title--lead) + h3:not(.title, .title--center),
.page-main h2:not(.title, .title--lead):not(.title--number) + *:not(.resources,
.grid-column--three:has(.card--reason),
.block--message,
.flex,
.organization,
*[class*=grid-column]:has(*[class*=icon--], img[src*="president-sign.webp"]),
table),
.page-main h2:not(.title, .title--lead) + h3:not(.title, .title--center) {
  margin-top: 0.5em;
}
.page-main--plain h2:not(.title, .title--lead) + .btn-list--left,
.page-main h2:not(.title, .title--lead) + .btn-list--left {
  margin-top: 16px;
}
@media (max-width: 768px) {
  .page-main--plain h2:not(.title, .title--lead) + .btn-list--left,
  .page-main h2:not(.title, .title--lead) + .btn-list--left {
    margin-top: 13.33328px;
  }
}
@media (max-width: 480px) {
  .page-main--plain h2:not(.title, .title--lead) + .btn-list--left,
  .page-main h2:not(.title, .title--lead) + .btn-list--left {
    margin-top: 2vw;
  }
}
.page-main--plain h2:not(.title, .title--lead) + .resources,
.page-main h2:not(.title, .title--lead) + .resources {
  margin-top: 80px;
}
@media (max-width: 768px) {
  .page-main--plain h2:not(.title, .title--lead) + .resources,
  .page-main h2:not(.title, .title--lead) + .resources {
    margin-top: 66.6664px;
  }
}
@media (max-width: 480px) {
  .page-main--plain h2:not(.title, .title--lead) + .resources,
  .page-main h2:not(.title, .title--lead) + .resources {
    margin-top: 10vw;
  }
}
.page-main--plain h2.title--label span,
.page-main h2.title--label span {
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
}
.page-main--plain h2.title--plain,
.page-main h2.title--plain {
  background: none;
  -webkit-text-fill-color: initial;
  color: #474aa6;
}
.page-main--plain .section:has(h2.title--lead) > .title--lead,
.page-main .section:has(h2.title--lead) > .title--lead {
  text-align: center;
}
.page-main--plain .section:has(h2.title--lead) > .block--lead,
.page-main .section:has(h2.title--lead) > .block--lead {
  text-align: center;
}
.page-main--plain .section:has(h2.title--lead) > .block--lead > *:not(:first-child),
.page-main .section:has(h2.title--lead) > .block--lead > *:not(:first-child) {
  margin-top: 16px;
}
@media (max-width: 768px) {
  .page-main--plain .section:has(h2.title--lead) > .block--lead > *:not(:first-child),
  .page-main .section:has(h2.title--lead) > .block--lead > *:not(:first-child) {
    margin-top: 13.33328px;
  }
}
@media (max-width: 480px) {
  .page-main--plain .section:has(h2.title--lead) > .block--lead > *:not(:first-child),
  .page-main .section:has(h2.title--lead) > .block--lead > *:not(:first-child) {
    margin-top: 2vw;
  }
}
.page-main--plain .section:has(h2.title--lead) .text--slogan,
.page-main .section:has(h2.title--lead) .text--slogan {
  display: block;
  color: inherit;
  font-weight: 700;
  margin: 0.2em 0;
  font-size: 1.8rem;
}
@media (max-width: 768px) {
  .page-main--plain .section:has(h2.title--lead) .text--slogan,
  .page-main .section:has(h2.title--lead) .text--slogan {
    font-size: 1.6rem;
  }
}
.page-main--plain.privacy .section:has(h2.title--plain .number) > .title--plain,
.page-main.privacy .section:has(h2.title--plain .number) > .title--plain {
  position: relative;
  letter-spacing: 0.01em;
}
.page-main--plain.privacy .section:has(h2.title--plain .number) > .title--plain .number,
.page-main.privacy .section:has(h2.title--plain .number) > .title--plain .number {
  display: inline-block;
  width: 4.5rem;
  color: inherit;
  font-weight: inherit;
}
@media (max-width: 768px) {
  .page-main--plain.privacy .section:has(h2.title--plain .number) > .title--plain .number,
  .page-main.privacy .section:has(h2.title--plain .number) > .title--plain .number {
    width: 4rem;
  }
}
@media (max-width: 480px) {
  .page-main--plain.privacy .section:has(h2.title--plain .number) > .title--plain .number,
  .page-main.privacy .section:has(h2.title--plain .number) > .title--plain .number {
    width: 3.5rem;
  }
}
.page-main--plain h2.title--lead,
.page-main h2.title--lead {
  text-shadow: 0 2px 4px rgba(71, 74, 166, 0.25);
  color: #474aa6;
  font-weight: 500;
  font-size: 2.4rem;
}
@media (max-width: 480px) {
  .page-main--plain h2.title--lead,
  .page-main h2.title--lead {
    font-size: 2rem;
  }
}
.page-main--plain h3:not(.title, .year),
.page-main h3:not(.title, .year) {
  font-size: 2.4rem;
}
@media (max-width: 480px) {
  .page-main--plain h3:not(.title, .year),
  .page-main h3:not(.title, .year) {
    font-size: 2rem;
  }
}
.page-main--plain h3:not(.title, .year),
.page-main h3:not(.title, .year) {
  background-image: linear-gradient(180deg, #f46f00 18%, #f24649 48%, #f4b700 97%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
.page-main--plain h3:not(.title, .year) .icon--new,
.page-main h3:not(.title, .year) .icon--new {
  display: inline-block;
  margin-left: 1em;
  margin-right: 1em;
  vertical-align: middle;
}
.page-main--plain h3:not(.title, .year),
.page-main h3:not(.title, .year) {
  width: fit-content;
  padding: 0 0 0 0.5em;
  border-left: 2px solid #f46f00;
}
.page-main--plain h3:not(.title, .year):not(:first-child),
.page-main h3:not(.title, .year):not(:first-child) {
  margin-top: 56px;
}
@media (max-width: 768px) {
  .page-main--plain h3:not(.title, .year):not(:first-child),
  .page-main h3:not(.title, .year):not(:first-child) {
    margin-top: 46.66648px;
  }
}
@media (max-width: 480px) {
  .page-main--plain h3:not(.title, .year):not(:first-child),
  .page-main h3:not(.title, .year):not(:first-child) {
    margin-top: 7vw;
  }
}
.page-main--plain h3:not(.title, .year) + *:not(.resources),
.page-main--plain h3:not(.title, .year) + h4:not(.title, .title--center),
.page-main h3:not(.title, .year) + *:not(.resources),
.page-main h3:not(.title, .year) + h4:not(.title, .title--center) {
  margin-top: 16px;
}
@media (max-width: 768px) {
  .page-main--plain h3:not(.title, .year) + *:not(.resources),
  .page-main--plain h3:not(.title, .year) + h4:not(.title, .title--center),
  .page-main h3:not(.title, .year) + *:not(.resources),
  .page-main h3:not(.title, .year) + h4:not(.title, .title--center) {
    margin-top: 13.33328px;
  }
}
@media (max-width: 480px) {
  .page-main--plain h3:not(.title, .year) + *:not(.resources),
  .page-main--plain h3:not(.title, .year) + h4:not(.title, .title--center),
  .page-main h3:not(.title, .year) + *:not(.resources),
  .page-main h3:not(.title, .year) + h4:not(.title, .title--center) {
    margin-top: 2vw;
  }
}
.page-main--plain h3:not(.title, .year) + .resources,
.page-main h3:not(.title, .year) + .resources {
  margin-top: 80px;
}
@media (max-width: 768px) {
  .page-main--plain h3:not(.title, .year) + .resources,
  .page-main h3:not(.title, .year) + .resources {
    margin-top: 66.6664px;
  }
}
@media (max-width: 480px) {
  .page-main--plain h3:not(.title, .year) + .resources,
  .page-main h3:not(.title, .year) + .resources {
    margin-top: 10vw;
  }
}
.page-main--plain h4:not(.title, .year) .icon--new,
.page-main h4:not(.title, .year) .icon--new {
  display: inline-block;
  margin-left: 1em;
  margin-right: 1em;
  vertical-align: middle;
}
.page-main--plain h4:not(.title, .year),
.page-main h4:not(.title, .year) {
  font-weight: 400;
  font-size: 2rem;
  color: #474aa6;
}
@media (max-width: 768px) {
  .page-main--plain h4:not(.title, .year),
  .page-main h4:not(.title, .year) {
    font-size: 1.6rem;
  }
}
.page-main--plain h4:not(.title, .year)::before,
.page-main h4:not(.title, .year)::before {
  content: "";
  content: "";
  display: inline-block;
  width: 0.75em;
  height: 0.75em;
  margin: 0 0.5em 0.25em 0;
  position: relative;
  top: 0.25em;
  background: linear-gradient(180deg, #474aa6 18%, #474aa6 97%);
  background-image: radial-gradient(circle, transparent 0%, transparent 50%, rgba(71, 74, 166, 0.5) 52%, #474aa6 60%, #474aa6 100%);
  border-radius: calc(infinity * 1px);
}
.page-main--plain h4:not(.title, .year):not(:first-child),
.page-main h4:not(.title, .year):not(:first-child) {
  margin-top: 32px;
}
@media (max-width: 768px) {
  .page-main--plain h4:not(.title, .year):not(:first-child),
  .page-main h4:not(.title, .year):not(:first-child) {
    margin-top: 26.66656px;
  }
}
@media (max-width: 480px) {
  .page-main--plain h4:not(.title, .year):not(:first-child),
  .page-main h4:not(.title, .year):not(:first-child) {
    margin-top: 4vw;
  }
}
.page-main--plain h4:not(.title, .year) + *:not(.location-block),
.page-main h4:not(.title, .year) + *:not(.location-block) {
  margin-top: 10px;
}
@media (max-width: 768px) {
  .page-main--plain h4:not(.title, .year) + *:not(.location-block),
  .page-main h4:not(.title, .year) + *:not(.location-block) {
    margin-top: 8.3333px;
  }
}
@media (max-width: 480px) {
  .page-main--plain h4:not(.title, .year) + *:not(.location-block),
  .page-main h4:not(.title, .year) + *:not(.location-block) {
    margin-top: 1.25vw;
  }
}
.page-main--plain h5:not(.title, .title--center) .icon--new,
.page-main h5:not(.title, .title--center) .icon--new {
  display: inline-block;
  margin-left: 1em;
  margin-right: 1em;
  vertical-align: middle;
}
.page-main--plain h5:not(.title, .title--center),
.page-main h5:not(.title, .title--center) {
  color: #474aa6;
  font-size: 1.8rem;
  font-weight: 700;
}
@media (max-width: 768px) {
  .page-main--plain h5:not(.title, .title--center),
  .page-main h5:not(.title, .title--center) {
    font-size: 1.6rem;
  }
}
.page-main--plain h5:not(.title, .title--center):not(:first-child),
.page-main h5:not(.title, .title--center):not(:first-child) {
  margin-top: 32px;
}
@media (max-width: 768px) {
  .page-main--plain h5:not(.title, .title--center):not(:first-child),
  .page-main h5:not(.title, .title--center):not(:first-child) {
    margin-top: 26.66656px;
  }
}
@media (max-width: 480px) {
  .page-main--plain h5:not(.title, .title--center):not(:first-child),
  .page-main h5:not(.title, .title--center):not(:first-child) {
    margin-top: 4vw;
  }
}
.page-main--plain h5:not(.title, .title--center) + *,
.page-main h5:not(.title, .title--center) + * {
  margin-top: 10px;
}
@media (max-width: 768px) {
  .page-main--plain h5:not(.title, .title--center) + *,
  .page-main h5:not(.title, .title--center) + * {
    margin-top: 8.3333px;
  }
}
@media (max-width: 480px) {
  .page-main--plain h5:not(.title, .title--center) + *,
  .page-main h5:not(.title, .title--center) + * {
    margin-top: 1.25vw;
  }
}
.page-main--plain h6:not(.title, .title--center) .icon--new,
.page-main h6:not(.title, .title--center) .icon--new {
  display: inline-block;
  margin-left: 1em;
  margin-right: 1em;
  vertical-align: middle;
}
.page-main--plain h6:not(.title, .title--center),
.page-main h6:not(.title, .title--center) {
  color: #474aa6;
  font-size: 1.6rem;
  font-weight: 700;
}
.page-main--plain h6:not(.title, .title--center):not(:first-child),
.page-main h6:not(.title, .title--center):not(:first-child) {
  margin-top: 32px;
}
@media (max-width: 768px) {
  .page-main--plain h6:not(.title, .title--center):not(:first-child),
  .page-main h6:not(.title, .title--center):not(:first-child) {
    margin-top: 26.66656px;
  }
}
@media (max-width: 480px) {
  .page-main--plain h6:not(.title, .title--center):not(:first-child),
  .page-main h6:not(.title, .title--center):not(:first-child) {
    margin-top: 4vw;
  }
}
.page-main--plain h6:not(.title, .title--center) + *,
.page-main h6:not(.title, .title--center) + * {
  margin-top: 10px;
}
@media (max-width: 768px) {
  .page-main--plain h6:not(.title, .title--center) + *,
  .page-main h6:not(.title, .title--center) + * {
    margin-top: 8.3333px;
  }
}
@media (max-width: 480px) {
  .page-main--plain h6:not(.title, .title--center) + *,
  .page-main h6:not(.title, .title--center) + * {
    margin-top: 1.25vw;
  }
}
.page-main--plain p,
.page-main p {
  font-size: 1.6rem;
}
.page-main--plain p.lead,
.page-main p.lead {
  text-shadow: 0 2px 4px rgba(71, 74, 166, 0.25);
  color: #474aa6;
  font-weight: 500;
  line-height: 1.8;
}
.page-main--plain p.lead a,
.page-main p.lead a {
  color: inherit;
  font-weight: inherit;
}
.page-main--plain p.lead--plain,
.page-main p.lead--plain {
  font-size: 1.8rem;
}
@media (max-width: 480px) {
  .page-main--plain p.lead--plain,
  .page-main p.lead--plain {
    font-size: 1.6rem;
  }
}
.page-main--plain .date:first-child,
.page-main .date:first-child {
  text-align: right;
  display: block;
}
.page-main--plain .date:first-child + section:not(:first-child),
.page-main--plain .date:first-child + h2:not(.title, .title--center),
.page-main .date:first-child + section:not(:first-child),
.page-main .date:first-child + h2:not(.title, .title--center) {
  margin-top: 0px;
}
@media (max-width: 768px) {
  .page-main--plain .date:first-child + section:not(:first-child),
  .page-main--plain .date:first-child + h2:not(.title, .title--center),
  .page-main .date:first-child + section:not(:first-child),
  .page-main .date:first-child + h2:not(.title, .title--center) {
    margin-top: 0px;
  }
}
@media (max-width: 480px) {
  .page-main--plain .date:first-child + section:not(:first-child),
  .page-main--plain .date:first-child + h2:not(.title, .title--center),
  .page-main .date:first-child + section:not(:first-child),
  .page-main .date:first-child + h2:not(.title, .title--center) {
    margin-top: 0vw;
  }
}
.page-main--plain,
.page-main {
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 40px;
  box-sizing: border-box;
}
@media (max-width: 1000px) {
  .page-main--plain,
  .page-main {
    padding: 0 20px;
  }
}
.page-main--plain,
.page-main {
  margin-top: 56px;
}
@media (max-width: 768px) {
  .page-main--plain,
  .page-main {
    margin-top: 46.66648px;
  }
}
@media (max-width: 480px) {
  .page-main--plain,
  .page-main {
    margin-top: 7vw;
  }
}
.page-main--plain:has(> .block--full:last-child, > .block--full-bg:last-child) > .block--full:last-child,
.page-main--plain:has(> .block--full:last-child, > .block--full-bg:last-child) > .block--full-bg:last-child,
.page-main:has(> .block--full:last-child, > .block--full-bg:last-child) > .block--full:last-child,
.page-main:has(> .block--full:last-child, > .block--full-bg:last-child) > .block--full-bg:last-child {
  padding-bottom: 120px;
}
@media (max-width: 768px) {
  .page-main--plain:has(> .block--full:last-child, > .block--full-bg:last-child) > .block--full:last-child,
  .page-main--plain:has(> .block--full:last-child, > .block--full-bg:last-child) > .block--full-bg:last-child,
  .page-main:has(> .block--full:last-child, > .block--full-bg:last-child) > .block--full:last-child,
  .page-main:has(> .block--full:last-child, > .block--full-bg:last-child) > .block--full-bg:last-child {
    padding-bottom: 99.9996px;
  }
}
@media (max-width: 480px) {
  .page-main--plain:has(> .block--full:last-child, > .block--full-bg:last-child) > .block--full:last-child,
  .page-main--plain:has(> .block--full:last-child, > .block--full-bg:last-child) > .block--full-bg:last-child,
  .page-main:has(> .block--full:last-child, > .block--full-bg:last-child) > .block--full:last-child,
  .page-main:has(> .block--full:last-child, > .block--full-bg:last-child) > .block--full-bg:last-child {
    padding-bottom: 15vw;
  }
}
.page-main--plain:has(> .block--full:last-child, > .block--full-bg:last-child) + .contact-cta,
.page-main:has(> .block--full:last-child, > .block--full-bg:last-child) + .contact-cta {
  margin-top: 0px;
}
@media (max-width: 768px) {
  .page-main--plain:has(> .block--full:last-child, > .block--full-bg:last-child) + .contact-cta,
  .page-main:has(> .block--full:last-child, > .block--full-bg:last-child) + .contact-cta {
    margin-top: 0px;
  }
}
@media (max-width: 480px) {
  .page-main--plain:has(> .block--full:last-child, > .block--full-bg:last-child) + .contact-cta,
  .page-main:has(> .block--full:last-child, > .block--full-bg:last-child) + .contact-cta {
    margin-top: 0vw;
  }
}

.page-main > .block--slogan > *,
.page-main > .section > *:not(iframe,
.news--list,
.progressbar,
.confirmation,
*[class*=bg--],
*[class*=grid-column--],
*[class*=table--],
*[class*=btn-list--],
.organization,
.media--full,
.accordion-list,
.accordion),
.page-main > .list--anchor li,
.page-main--plain > .block--slogan > *,
.page-main--plain > .section > *:not(iframe,
.news--list,
.progressbar,
.confirmation,
*[class*=bg--],
*[class*=grid-column--],
*[class*=table--],
*[class*=btn-list--],
.organization,
.media--full,
.accordion-list,
.accordion),
.page-main--plain > .list--anchor li {
  filter: drop-shadow(1px 0 0 rgba(255, 255, 255, 0.8)) drop-shadow(-1px 0 0 rgba(255, 255, 255, 0.8)) drop-shadow(0 1px 0 rgba(255, 255, 255, 0.8)) drop-shadow(0 -1px 0 rgba(255, 255, 255, 0.8)) drop-shadow(0 0 6px rgba(255, 255, 255, 0.4)) drop-shadow(0 0 10px rgba(255, 255, 255, 0.4));
}

.top-main {
  letter-spacing: 0.1rem;
}
.top-main h2:not(.title, .title--lead) {
  background-image: linear-gradient(135deg, #474aa6 18%, #f24649 48%, #f4b700 97%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  width: fit-content;
  font-weight: 300;
  font-size: 3.6rem;
}
@media (max-width: 768px) {
  .top-main h2:not(.title, .title--lead) {
    font-size: 3.2rem;
  }
}
@media (max-width: 480px) {
  .top-main h2:not(.title, .title--lead) {
    font-size: 2.8rem;
  }
}
.top-main h2:not(.title, .title--lead) + * {
  margin-top: 28px;
}
@media (max-width: 768px) {
  .top-main h2:not(.title, .title--lead) + * {
    margin-top: 23.33324px;
  }
}
@media (max-width: 480px) {
  .top-main h2:not(.title, .title--lead) + * {
    margin-top: 3.5vw;
  }
}
.top-main h2:not(.title, .title--lead) .icon--new {
  display: inline-block;
  margin-left: 1em;
  margin-right: 1em;
  vertical-align: middle;
}
.top-main h2:not(.title, .title--lead):not(:first-child) {
  margin-top: 96px;
}
@media (max-width: 768px) {
  .top-main h2:not(.title, .title--lead):not(:first-child) {
    margin-top: 79.99968px;
  }
}
@media (max-width: 480px) {
  .top-main h2:not(.title, .title--lead):not(:first-child) {
    margin-top: 12vw;
  }
}
.top-main h2:not(.title, .title--lead):not(.title--number) + *:not(.resources,
.grid-column--three:has(.card--reason),
.block--message,
.flex,
.organization,
*[class*=grid-column]:has(*[class*=icon--], img[src*="president-sign.webp"]),
table),
.top-main h2:not(.title, .title--lead) + h3:not(.title, .title--center) {
  margin-top: 0.5em;
}
.top-main h2:not(.title, .title--lead) + .btn-list--left {
  margin-top: 16px;
}
@media (max-width: 768px) {
  .top-main h2:not(.title, .title--lead) + .btn-list--left {
    margin-top: 13.33328px;
  }
}
@media (max-width: 480px) {
  .top-main h2:not(.title, .title--lead) + .btn-list--left {
    margin-top: 2vw;
  }
}
.top-main h2:not(.title, .title--lead) + .resources {
  margin-top: 80px;
}
@media (max-width: 768px) {
  .top-main h2:not(.title, .title--lead) + .resources {
    margin-top: 66.6664px;
  }
}
@media (max-width: 480px) {
  .top-main h2:not(.title, .title--lead) + .resources {
    margin-top: 10vw;
  }
}
.top-main h2.title--label span {
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
}
.top-main h2.title--plain {
  background: none;
  -webkit-text-fill-color: initial;
  color: #474aa6;
}
.top-main .section:has(h2.title--lead) > .title--lead {
  text-align: center;
}
.top-main .section:has(h2.title--lead) > .block--lead {
  text-align: center;
}
.top-main .section:has(h2.title--lead) > .block--lead > *:not(:first-child) {
  margin-top: 16px;
}
@media (max-width: 768px) {
  .top-main .section:has(h2.title--lead) > .block--lead > *:not(:first-child) {
    margin-top: 13.33328px;
  }
}
@media (max-width: 480px) {
  .top-main .section:has(h2.title--lead) > .block--lead > *:not(:first-child) {
    margin-top: 2vw;
  }
}
.top-main .section:has(h2.title--lead) .text--slogan {
  display: block;
  color: inherit;
  font-weight: 700;
  margin: 0.2em 0;
  font-size: 1.8rem;
}
@media (max-width: 768px) {
  .top-main .section:has(h2.title--lead) .text--slogan {
    font-size: 1.6rem;
  }
}
.top-main.privacy .section:has(h2.title--plain .number) > .title--plain {
  position: relative;
  letter-spacing: 0.01em;
}
.top-main.privacy .section:has(h2.title--plain .number) > .title--plain .number {
  display: inline-block;
  width: 4.5rem;
  color: inherit;
  font-weight: inherit;
}
@media (max-width: 768px) {
  .top-main.privacy .section:has(h2.title--plain .number) > .title--plain .number {
    width: 4rem;
  }
}
@media (max-width: 480px) {
  .top-main.privacy .section:has(h2.title--plain .number) > .title--plain .number {
    width: 3.5rem;
  }
}
.top-main h2.title--lead {
  text-shadow: 0 2px 4px rgba(71, 74, 166, 0.25);
  color: #474aa6;
  font-weight: 500;
  font-size: 2.4rem;
}
@media (max-width: 480px) {
  .top-main h2.title--lead {
    font-size: 2rem;
  }
}
.top-main h3:not(.title, .year) {
  font-size: 2.4rem;
}
@media (max-width: 480px) {
  .top-main h3:not(.title, .year) {
    font-size: 2rem;
  }
}
.top-main h3:not(.title, .year) {
  background-image: linear-gradient(180deg, #f46f00 18%, #f24649 48%, #f4b700 97%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
.top-main h3:not(.title, .year) .icon--new {
  display: inline-block;
  margin-left: 1em;
  margin-right: 1em;
  vertical-align: middle;
}
.top-main h3:not(.title, .year) {
  width: fit-content;
  padding: 0 0 0 0.5em;
  border-left: 2px solid #f46f00;
}
.top-main h3:not(.title, .year):not(:first-child) {
  margin-top: 56px;
}
@media (max-width: 768px) {
  .top-main h3:not(.title, .year):not(:first-child) {
    margin-top: 46.66648px;
  }
}
@media (max-width: 480px) {
  .top-main h3:not(.title, .year):not(:first-child) {
    margin-top: 7vw;
  }
}
.top-main h3:not(.title, .year) + *:not(.resources),
.top-main h3:not(.title, .year) + h4:not(.title, .title--center) {
  margin-top: 16px;
}
@media (max-width: 768px) {
  .top-main h3:not(.title, .year) + *:not(.resources),
  .top-main h3:not(.title, .year) + h4:not(.title, .title--center) {
    margin-top: 13.33328px;
  }
}
@media (max-width: 480px) {
  .top-main h3:not(.title, .year) + *:not(.resources),
  .top-main h3:not(.title, .year) + h4:not(.title, .title--center) {
    margin-top: 2vw;
  }
}
.top-main h3:not(.title, .year) + .resources {
  margin-top: 80px;
}
@media (max-width: 768px) {
  .top-main h3:not(.title, .year) + .resources {
    margin-top: 66.6664px;
  }
}
@media (max-width: 480px) {
  .top-main h3:not(.title, .year) + .resources {
    margin-top: 10vw;
  }
}
.top-main h4:not(.title, .year) .icon--new {
  display: inline-block;
  margin-left: 1em;
  margin-right: 1em;
  vertical-align: middle;
}
.top-main h4:not(.title, .year) {
  font-weight: 400;
  font-size: 2rem;
  color: #474aa6;
}
@media (max-width: 768px) {
  .top-main h4:not(.title, .year) {
    font-size: 1.6rem;
  }
}
.top-main h4:not(.title, .year)::before {
  content: "";
  content: "";
  display: inline-block;
  width: 0.75em;
  height: 0.75em;
  margin: 0 0.5em 0.25em 0;
  position: relative;
  top: 0.25em;
  background: linear-gradient(180deg, #474aa6 18%, #474aa6 97%);
  background-image: radial-gradient(circle, transparent 0%, transparent 50%, rgba(71, 74, 166, 0.5) 52%, #474aa6 60%, #474aa6 100%);
  border-radius: calc(infinity * 1px);
}
.top-main h4:not(.title, .year):not(:first-child) {
  margin-top: 32px;
}
@media (max-width: 768px) {
  .top-main h4:not(.title, .year):not(:first-child) {
    margin-top: 26.66656px;
  }
}
@media (max-width: 480px) {
  .top-main h4:not(.title, .year):not(:first-child) {
    margin-top: 4vw;
  }
}
.top-main h4:not(.title, .year) + *:not(.location-block) {
  margin-top: 10px;
}
@media (max-width: 768px) {
  .top-main h4:not(.title, .year) + *:not(.location-block) {
    margin-top: 8.3333px;
  }
}
@media (max-width: 480px) {
  .top-main h4:not(.title, .year) + *:not(.location-block) {
    margin-top: 1.25vw;
  }
}
.top-main h5:not(.title, .title--center) .icon--new {
  display: inline-block;
  margin-left: 1em;
  margin-right: 1em;
  vertical-align: middle;
}
.top-main h5:not(.title, .title--center) {
  color: #474aa6;
  font-size: 1.8rem;
  font-weight: 700;
}
@media (max-width: 768px) {
  .top-main h5:not(.title, .title--center) {
    font-size: 1.6rem;
  }
}
.top-main h5:not(.title, .title--center):not(:first-child) {
  margin-top: 32px;
}
@media (max-width: 768px) {
  .top-main h5:not(.title, .title--center):not(:first-child) {
    margin-top: 26.66656px;
  }
}
@media (max-width: 480px) {
  .top-main h5:not(.title, .title--center):not(:first-child) {
    margin-top: 4vw;
  }
}
.top-main h5:not(.title, .title--center) + * {
  margin-top: 10px;
}
@media (max-width: 768px) {
  .top-main h5:not(.title, .title--center) + * {
    margin-top: 8.3333px;
  }
}
@media (max-width: 480px) {
  .top-main h5:not(.title, .title--center) + * {
    margin-top: 1.25vw;
  }
}
.top-main h6:not(.title, .title--center) .icon--new {
  display: inline-block;
  margin-left: 1em;
  margin-right: 1em;
  vertical-align: middle;
}
.top-main h6:not(.title, .title--center) {
  color: #474aa6;
  font-size: 1.6rem;
  font-weight: 700;
}
.top-main h6:not(.title, .title--center):not(:first-child) {
  margin-top: 32px;
}
@media (max-width: 768px) {
  .top-main h6:not(.title, .title--center):not(:first-child) {
    margin-top: 26.66656px;
  }
}
@media (max-width: 480px) {
  .top-main h6:not(.title, .title--center):not(:first-child) {
    margin-top: 4vw;
  }
}
.top-main h6:not(.title, .title--center) + * {
  margin-top: 10px;
}
@media (max-width: 768px) {
  .top-main h6:not(.title, .title--center) + * {
    margin-top: 8.3333px;
  }
}
@media (max-width: 480px) {
  .top-main h6:not(.title, .title--center) + * {
    margin-top: 1.25vw;
  }
}
.top-main p {
  font-size: 1.6rem;
}
.top-main p.lead {
  text-shadow: 0 2px 4px rgba(71, 74, 166, 0.25);
  color: #474aa6;
  font-weight: 500;
  line-height: 1.8;
}
.top-main p.lead a {
  color: inherit;
  font-weight: inherit;
}
.top-main p.lead--plain {
  font-size: 1.8rem;
}
@media (max-width: 480px) {
  .top-main p.lead--plain {
    font-size: 1.6rem;
  }
}
.top-main .date:first-child {
  text-align: right;
  display: block;
}
.top-main .date:first-child + section:not(:first-child),
.top-main .date:first-child + h2:not(.title, .title--center) {
  margin-top: 0px;
}
@media (max-width: 768px) {
  .top-main .date:first-child + section:not(:first-child),
  .top-main .date:first-child + h2:not(.title, .title--center) {
    margin-top: 0px;
  }
}
@media (max-width: 480px) {
  .top-main .date:first-child + section:not(:first-child),
  .top-main .date:first-child + h2:not(.title, .title--center) {
    margin-top: 0vw;
  }
}
.top-main {
  max-width: 1360px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 40px;
  box-sizing: border-box;
}
@media (max-width: 1000px) {
  .top-main {
    padding: 0 20px;
  }
}
.top-main {
  margin-top: 80px;
}
@media (max-width: 768px) {
  .top-main {
    margin-top: 66.6664px;
  }
}
@media (max-width: 480px) {
  .top-main {
    margin-top: 10vw;
  }
}
.top-main {
  padding: 0 40px;
  box-sizing: border-box;
}
@media (max-width: 1000px) {
  .top-main {
    padding: 0 20px;
  }
}

.block--full {
  --padding-block: 96;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding-top: calc(var(--padding-block) * 1px);
  padding-bottom: calc(var(--padding-block) * 1px);
}
@media (max-width: 768px) {
  .block--full {
    padding-top: calc(var(--padding-block) * 0.83333px);
    padding-bottom: calc(var(--padding-block) * 0.83333px);
  }
}
@media (max-width: 480px) {
  .block--full {
    padding-top: calc(var(--padding-block) * 0.125vw);
    padding-bottom: calc(var(--padding-block) * 0.125vw);
  }
}
.block--full > * {
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 40px;
  box-sizing: border-box;
}
@media (max-width: 1000px) {
  .block--full > * {
    padding: 0 20px;
  }
}
.block--full > * {
  width: 100%;
}
.block--full > *.bg--message-statement {
  margin-left: auto;
  margin-right: auto;
  max-width: 1000px;
}
@media (max-width: 1080px) {
  .block--full > *.bg--message-statement {
    width: calc(100% - 80px);
  }
}
@media (max-width: 1000px) {
  .block--full > *.bg--message-statement {
    width: calc(100% - 40px);
  }
}
.block--full {
  background-color: #fff;
}

.block--full-bg {
  --padding-block: 96;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding-top: calc(var(--padding-block) * 1px);
  padding-bottom: calc(var(--padding-block) * 1px);
}
@media (max-width: 768px) {
  .block--full-bg {
    padding-top: calc(var(--padding-block) * 0.83333px);
    padding-bottom: calc(var(--padding-block) * 0.83333px);
  }
}
@media (max-width: 480px) {
  .block--full-bg {
    padding-top: calc(var(--padding-block) * 0.125vw);
    padding-bottom: calc(var(--padding-block) * 0.125vw);
  }
}
.block--full-bg > * {
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 40px;
  box-sizing: border-box;
}
@media (max-width: 1000px) {
  .block--full-bg > * {
    padding: 0 20px;
  }
}
.block--full-bg > * {
  width: 100%;
}
.block--full-bg > *.bg--message-statement {
  margin-left: auto;
  margin-right: auto;
  max-width: 1000px;
}
@media (max-width: 1080px) {
  .block--full-bg > *.bg--message-statement {
    width: calc(100% - 80px);
  }
}
@media (max-width: 1000px) {
  .block--full-bg > *.bg--message-statement {
    width: calc(100% - 40px);
  }
}
.block--full-bg {
  background-image: linear-gradient(135deg, #f7f7ff 18%, rgba(247, 247, 255, 0) 97%);
}

.block--media {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 32px 32px;
}
@media (max-width: 768px) {
  .block--media {
    gap: 26.66656px 26.66656px;
  }
}
@media (max-width: 480px) {
  .block--media {
    gap: 4vw 4vw;
  }
}
@media (max-width: 768px) {
  .block--media {
    flex-direction: column;
  }
}
.block--media:not(:first-child) {
  margin-top: 48px;
}
@media (max-width: 768px) {
  .block--media:not(:first-child) {
    margin-top: 39.99984px;
  }
}
@media (max-width: 480px) {
  .block--media:not(:first-child) {
    margin-top: 6vw;
  }
}
.block--media > img,
.block--media > figure {
  width: 33.3333%;
  min-width: 330px;
  height: auto;
  border-radius: 4px;
}
@media (max-width: 768px) {
  .block--media > img,
  .block--media > figure {
    width: 100%;
    height: auto;
    aspect-ratio: 410/120;
  }
}
.block--media > img .image,
.block--media > img img,
.block--media > figure .image,
.block--media > figure img {
  width: auto;
  height: auto;
}
@media (max-width: 480px) {
  .block--media > img .image,
  .block--media > img img,
  .block--media > figure .image,
  .block--media > figure img {
    width: 100%;
  }
}
.block--media + .btn-list--center {
  margin-top: 40px;
}
@media (max-width: 768px) {
  .block--media + .btn-list--center {
    margin-top: 33.3332px;
  }
}
@media (max-width: 480px) {
  .block--media + .btn-list--center {
    margin-top: 5vw;
  }
}

/*--------------------------------------------------
TOPページ
--------------------------------------------------*/
.top-main h2:not(.title, .title--lead) {
  font-size: 4.6rem;
}
@media (max-width: 768px) {
  .top-main h2:not(.title, .title--lead) {
    font-size: 4rem;
  }
}
@media (max-width: 480px) {
  .top-main h2:not(.title, .title--lead) {
    font-size: 3.2rem;
  }
}
.top-main .btn-list--center {
  margin-top: 64px;
}
@media (max-width: 768px) {
  .top-main .btn-list--center {
    margin-top: 53.33312px;
  }
}
@media (max-width: 480px) {
  .top-main .btn-list--center {
    margin-top: 8vw;
  }
}
.top-main .section {
  position: relative;
}
.top-main .section .bg {
  position: absolute;
  inset: 0;
  width: auto;
  object-fit: contain;
  z-index: -1;
  opacity: 0.1;
  height: 160%;
  bottom: -8%;
  margin: auto auto 0 0;
  transform: translateX(-32%);
}
@media (max-width: 1440px) {
  .top-main .section .bg {
    height: 140%;
    bottom: 4%;
    transform: translateX(-24%);
  }
}
.top-main .top-feature--right {
  position: relative;
}
.top-main .top-feature--right .bg {
  position: absolute;
  inset: 0;
  width: auto;
  object-fit: contain;
  z-index: -1;
  opacity: 0.1;
  height: 120%;
  margin: auto 0 0 auto;
  transform: translateX(48%);
}
@media (max-width: 1440px) {
  .top-main .top-feature--right .bg {
    transform: translateX(24%);
  }
}
.top-main .top-feature--left {
  position: relative;
}
.top-main .top-feature--left .bg {
  position: absolute;
  inset: 0;
  width: auto;
  object-fit: contain;
  z-index: -1;
  opacity: 0.1;
  height: 120%;
  margin: auto 0 auto auto;
  transform: translateX(48%);
}
@media (max-width: 1440px) {
  .top-main .top-feature--left .bg {
    transform: translateX(32%);
  }
}
.top-main .grid-column--three .card--media .text {
  text-align: center;
  font-weight: 400;
  font-size: 2rem;
  line-height: 1.3;
  margin-top: 20px;
}
@media (max-width: 768px) {
  .top-main .grid-column--three .card--media .text {
    margin-top: 16.6666px;
  }
}
@media (max-width: 480px) {
  .top-main .grid-column--three .card--media .text {
    margin-top: 2.5vw;
  }
}
@media (max-width: 768px) {
  .top-main .grid-column--three .card--media .text {
    font-size: 1.8rem;
  }
}
@media (max-width: 480px) {
  .top-main .grid-column--three .card--media .text {
    font-size: 1.6rem;
  }
}

/*--------------------------------------------------
  TOP MV
--------------------------------------------------*/
.top-hero {
  --news-ticker-height: 58px;
  /*
   * 2140px幅で160pxになるようにした
   * padding-top の線形補間
   *
   * 2140px: 160px
   * 1920px: 約108px
   * 1360px: 約106px
   */
  --mv-padding-top-max: 62px;
  --mv-padding-top-vw: 2.897196261682243vw;
  /*
   * padding-bottom
   *
   * (110px - ticker高さ) × viewport / 2140px
   * - ticker高さ
   *
   * ticker高さ58pxの場合
   * → 2.429906vw - 58px
   */
  --mv-padding-bottom-vw: 2.429906vw;
}
.top-hero > .inner {
  position: relative;
  /*
   * 900 × 800 のビジュアルを基準にした高さ
   * 800 × 0.9 × 50vw / 900 = 40vw
   * 800 × 0.95 × 50vw / 900 = 42.2222vw
   */
  height: calc(40vw + var(--header-height) - var(--news-ticker-height));
}
@media (max-width: 1920px) {
  .top-hero > .inner {
    height: calc(42.2222vw + var(--header-height) - var(--news-ticker-height));
  }
}
@media (max-width: 1360px) {
  .top-hero > .inner {
    height: auto;
  }
}
@media (max-width: 768px) {
  .top-hero > .inner {
    min-height: 0;
    height: auto;
  }
}
@media (max-width: 768px) {
  .top-hero > .inner {
    display: flex;
    flex-direction: column;
  }
}
.top-hero > .inner .content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  max-width: calc(100 * var(--vw) - 144px);
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}
@media (max-width: 1856px) {
  .top-hero > .inner .content {
    max-width: 100%;
    padding: 0 40px;
  }
}
@media (max-width: 1000px) {
  .top-hero > .inner .content {
    padding: 0 20px;
  }
}
.top-hero > .inner .content {
  /*
   * 900 × 800 のビジュアルを基準にした高さ
   * 800 × 0.9 × 50vw / 900 = 40vw
   * 800 × 0.95 × 50vw / 900 = 42.2222vw
   */
  height: calc(40vw + var(--header-height) - var(--news-ticker-height));
}
@media (max-width: 1920px) {
  .top-hero > .inner .content {
    height: calc(42.2222vw + var(--header-height) - var(--news-ticker-height));
  }
}
@media (max-width: 1360px) {
  .top-hero > .inner .content {
    height: auto;
  }
}
@media (max-width: 768px) {
  .top-hero > .inner .content {
    min-height: 0;
    height: auto;
  }
}
.top-hero > .inner .content {
  padding: min(var(--header-height) + var(--mv-padding-top-vw), var(--header-height) + var(--mv-padding-top-max)) clamp(3rem, 5vw, 7rem) calc(var(--mv-padding-bottom-vw) - var(--news-ticker-height));
}
@media (max-width: 1360px) {
  .top-hero > .inner .content {
    padding: calc(var(--header-height) + var(--mv-padding-top-vw)) 4rem calc(var(--mv-padding-bottom-vw) - var(--news-ticker-height));
  }
}
@media (max-width: 1120px) {
  .top-hero > .inner .content {
    /*
     * (97 - 58) / 1120 × 100vw
     * = 3.482143vw
     */
    --mv-padding-bottom-vw: 3.482143vw;
    padding: calc(var(--header-height-1120) + var(--mv-padding-top-vw)) 4rem calc(var(--mv-padding-bottom-vw) - var(--news-ticker-height));
  }
}
@media (max-width: 768px) {
  .top-hero > .inner .content {
    order: 2;
    display: block;
    padding: 0 1.5rem 0;
  }
}
.top-hero > .inner .content .heading {
  width: fit-content;
  max-width: 100%;
}
.top-hero > .inner .content .heading > * {
  width: 100%;
}
.top-hero > .inner .content .heading .title {
  margin: 0;
  font-size: max(5.2rem, 5.4205607477vw);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: 0.03em;
}
@media (max-width: 1440px) {
  .top-hero > .inner .content .heading .title {
    font-size: max(5.2rem, 5vw);
  }
}
@media (max-width: 768px) {
  .top-hero > .inner .content .heading .title {
    line-height: 1.15;
    letter-spacing: 0.03em;
    font-size: clamp(4.4rem, 0.83019rem + 10.3774vw, 8.8rem);
  }
}
.top-hero > .inner .content > div:has(.text):not(.heading) {
  position: relative;
  width: fit-content;
}
.top-hero > .inner .content > div:has(.text):not(.heading) > .text {
  margin: 3.6rem 0;
  font-size: max(1.6rem, 0.7476635514vw);
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.04em;
  background-image: linear-gradient(135deg, #474aa6 18%, #f24649 48%, #f4b700 97%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 1800px) {
  .top-hero > .inner .content > div:has(.text):not(.heading) > .text {
    font-size: max(1.4rem, 0.8888888889vw);
    margin: max(2.1rem, 1.3333333333vw) 0;
  }
}
@media (max-width: 1536px) {
  .top-hero > .inner .content > div:has(.text):not(.heading) > .text {
    line-height: 1.5;
  }
}
@media (max-width: 1000px) {
  .top-hero > .inner .content > div:has(.text):not(.heading) > .text {
    position: relative;
    margin: 1.5rem 0;
    font-size: 1.6rem;
    filter: drop-shadow(1px 0 0 rgba(255, 255, 255, 0.8)) drop-shadow(-1px 0 0 rgba(255, 255, 255, 0.8)) drop-shadow(0 1px 0 rgba(255, 255, 255, 0.8)) drop-shadow(0 -1px 0 rgba(255, 255, 255, 0.8)) drop-shadow(0 0 6px rgba(255, 255, 255, 0.4)) drop-shadow(0 0 10px rgba(255, 255, 255, 0.4));
    line-height: 1.5;
    z-index: 1;
  }
}
@media (max-width: 768px) {
  .top-hero > .inner .content > div:has(.text):not(.heading) {
    margin-top: 1.5rem;
    line-height: 1.8;
  }
}
.top-hero .heading div:has(.label) {
  --label-skew: 1.625em;
  width: calc(100% + var(--label-skew));
}
@media (max-width: 1440px) {
  .top-hero .heading div:has(.label) {
    --label-skew: 26px;
  }
}
@media (max-width: 768px) {
  .top-hero .heading div:has(.label) {
    --label-skew: 14px;
  }
}
.top-hero .heading div div:has(.label) {
  margin: clamp(0.8rem, 0.38974rem + 0.4103vw, 1.44rem) 0 0;
}
.top-hero .heading div div:has(.label) .label {
  position: relative;
  width: 100%;
  left: calc(-1 * var(--label-skew));
  overflow: hidden;
  clip-path: polygon(var(--label-skew) 0, 100% 0, calc(100% - var(--label-skew)) 100%, 0 100%);
}
.top-hero .heading div div:has(.label) .label .text {
  display: flex;
  align-items: baseline;
  min-height: 36px;
  margin: 0;
  padding: 0.5em 2em 0.4em;
  color: #fff;
  font-size: max(1.6rem, 1.0280373832vw);
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.04em;
  vertical-align: text-bottom;
}
@media (max-width: 1000px) {
  .top-hero .heading div div:has(.label) .label .text {
    padding: 0.5em 32px 0;
    font-size: 1.6rem;
  }
}
@media (max-width: 768px) {
  .top-hero .heading div div:has(.label) .label .text {
    padding: 8px 20px 0;
  }
}
.top-hero .visual {
  position: absolute;
  z-index: 0;
  top: calc(var(--header-height) / 2);
  right: 0;
  bottom: 0;
  width: 50%;
  min-width: 0;
  height: calc(1040px + var(--header-height) / 2);
}
@media (max-width: 1920px) {
  .top-hero .visual {
    height: calc(1040px + var(--header-height) / 3);
  }
}
@media (max-width: 1856px) {
  .top-hero .visual {
    height: calc(864px + var(--header-height) / 3);
  }
}
@media (max-width: 1536px) {
  .top-hero .visual {
    height: calc(768px + var(--header-height) / 3);
  }
}
@media (max-width: 1360px) {
  .top-hero .visual {
    height: auto;
  }
}
@media (max-width: 768px) {
  .top-hero .visual {
    height: auto;
  }
}
.top-hero .visual {
  aspect-ratio: 900/800;
  overflow: hidden;
}
@media (max-width: 1920px) {
  .top-hero .visual {
    top: calc(var(--header-height) / 3 * 2);
  }
}
@media (max-width: 1120px) {
  .top-hero .visual {
    top: calc(var(--header-height-1120) / 3 * 2);
    top: var(--header-height-1120);
  }
}
@media (max-width: 1000px) {
  .top-hero .visual {
    top: var(--header-height-1120);
    max-width: calc(100% - 36.4rem - 4rem);
    width: calc(100% - 39.2523364486vw - 4rem);
  }
}
@media (max-width: 768px) {
  .top-hero .visual {
    position: relative;
    inset: auto;
    right: 0;
    margin-top: var(--header-height-tab);
    order: 1;
    width: 100%;
    max-width: 100%;
    aspect-ratio: inherit;
    overflow: hidden;
    aspect-ratio: 800/800;
  }
}
.top-hero .visual picture,
.top-hero .visual img {
  display: block;
  width: 100%;
  height: 100%;
}
.top-hero .visual picture {
  mask-image: linear-gradient(to bottom, #000 75%, transparent 100%);
  mask-composite: intersect;
}
@media (max-width: 1856px) {
  .top-hero .visual picture {
    mask-image: linear-gradient(to bottom, #000 75%, transparent 100%);
  }
}
.top-hero .visual img {
  object-fit: contain;
  object-position: top right;
}
@media (max-width: 1280px) {
  .top-hero .visual img {
    object-position: center right;
  }
}
@media (max-width: 1000px) {
  .top-hero .visual img {
    object-position: top right;
  }
}
@media (max-width: 768px) {
  .top-hero .visual img {
    object-fit: cover;
    object-position: top right;
  }
}

.ticker-section .news--ticker {
  width: 100%;
  padding-left: calc(50% - 50 * var(--vw) + 72px + clamp(3rem, 5vw, 7rem));
  max-width: clamp(864px + 50% - 50 * var(--vw) + 72px, 468px + 20.625vw + 50% - 50 * var(--vw) + 72px, 996px + 50% - 50 * var(--vw) + 72px);
}
@media (max-width: 1856px) {
  .ticker-section .news--ticker {
    padding-left: clamp(3rem, 5vw, 7rem);
    max-width: 808px;
  }
}
@media (max-width: 1360px) {
  .ticker-section .news--ticker {
    padding-left: 40px;
    max-width: 808px;
  }
}
@media (max-width: 1000px) {
  .ticker-section .news--ticker {
    max-width: calc(100% - 40px);
  }
}
@media (max-width: 768px) {
  .ticker-section .news--ticker {
    width: calc(100% - 20px);
    max-width: 722px;
    padding-left: 20px;
  }
}
@media (max-width: 480px) {
  .ticker-section .news--ticker {
    padding-left: 1.5rem;
  }
}
@media (max-width: 768px) {
  .ticker-section .news--ticker .content {
    width: clamp(30.8rem + 20px, (0.83019rem + 10.3774vw) * 7 + 20px, 61.6rem + 20px);
    margin-left: auto;
  }
}
@media (max-width: 480px) {
  .ticker-section .news--ticker .content {
    width: 100%;
  }
}

/*--------------------------------------------------
セクション
--------------------------------------------------*/
.top-feature--right {
  --inner-width: min(1280px, 100vw);
  position: relative;
  padding-block: clamp(80px, 10vw, 140px);
  margin-top: 96px;
}
@media (max-width: 768px) {
  .top-feature--right {
    margin-top: 79.99968px;
  }
}
@media (max-width: 480px) {
  .top-feature--right {
    margin-top: 12vw;
  }
}
.top-feature--right::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset-block: 0;
  background: linear-gradient(315deg, rgba(71, 74, 166, 0.9) 0%, #1b1d40 100%);
  width: calc(50% + 50vw + 160px);
}
@media (max-width: 1680px) {
  .top-feature--right::before {
    width: calc(50% + 50vw + 80px);
  }
}
@media (max-width: 1536px) {
  .top-feature--right::before {
    width: calc(50% + 50vw + 40px);
  }
}
@media (max-width: 1000px) {
  .top-feature--right::before {
    width: calc(100% + 20px);
  }
}
.top-feature--right .inner {
  width: min(100% - 40px, var(--inner-width));
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, min(40%, 520px));
  align-items: center;
  gap: clamp(48px, 6vw, 100px);
}
@media (max-width: 1000px) {
  .top-feature--right .inner {
    width: 100%;
  }
}
@media (max-width: 768px) {
  .top-feature--right .inner {
    grid-template-columns: 1fr;
    gap: 48px;
  }
}
.top-feature--right .content {
  max-width: 560px;
}
@media (max-width: 768px) {
  .top-feature--right .content {
    order: 2;
  }
}
.top-feature--right .title {
  margin-bottom: 32px;
}
.top-feature--right .text p {
  color: #fff;
  margin-top: 16px;
}
@media (max-width: 768px) {
  .top-feature--right .text p {
    margin-top: 13.33328px;
  }
}
@media (max-width: 480px) {
  .top-feature--right .text p {
    margin-top: 2vw;
  }
}
.top-feature--right .feature-image {
  position: relative;
  aspect-ratio: 464/424;
}
@media (max-width: 768px) {
  .top-feature--right .feature-image {
    order: 1;
    min-height: auto;
  }
}
.top-feature--right .media {
  position: absolute;
  overflow: hidden;
  border-radius: 4px;
}
@media (max-width: 1000px) {
  .top-feature--right .media {
    width: 82%;
    margin-inline: auto;
  }
}
.top-feature--right .media img {
  display: block;
  width: 100%;
  height: auto;
}
.top-feature--right .media--01 {
  width: 56%;
  top: 0;
  left: 6%;
}
.top-feature--right .media--02 {
  width: 60%;
  top: 24%;
  right: 0;
}
.top-feature--right .media--03 {
  width: 58%;
  bottom: 0;
  left: 0;
}
.top-feature--right .feature-image--single {
  aspect-ratio: auto;
}
.top-feature--right .feature-image--single .media {
  position: relative;
}
@media (max-width: 1000px) {
  .top-feature--right .btn--primary {
    min-width: 100%;
  }
}
.top-feature--right .btn-list--left {
  margin-top: 56px;
}
@media (max-width: 768px) {
  .top-feature--right .btn-list--left {
    margin-top: 46.66648px;
  }
}
@media (max-width: 480px) {
  .top-feature--right .btn-list--left {
    margin-top: 7vw;
  }
}
.top-feature--right::before {
  left: -160px;
  right: calc((100vw - var(--inner-width)) / -2);
  border-radius: 6px 0 0 6px;
}
@media (max-width: 1680px) {
  .top-feature--right::before {
    left: -80px;
  }
}
@media (max-width: 1536px) {
  .top-feature--right::before {
    left: 0;
  }
}
@media (max-width: 1360px) {
  .top-feature--right::before {
    left: 0;
    right: -40px;
  }
}
@media (max-width: 1000px) {
  .top-feature--right::before {
    right: -20px;
  }
}
@media (max-width: 1536px) {
  .top-feature--right .inner {
    padding-left: 80px;
    padding-right: 0;
  }
}
@media (max-width: 1000px) {
  .top-feature--right .inner {
    padding-left: 32px;
    padding-right: 12px;
  }
}

.top-feature--left {
  --inner-width: min(1280px, 100vw);
  position: relative;
  padding-block: clamp(80px, 10vw, 140px);
  margin-top: 96px;
}
@media (max-width: 768px) {
  .top-feature--left {
    margin-top: 79.99968px;
  }
}
@media (max-width: 480px) {
  .top-feature--left {
    margin-top: 12vw;
  }
}
.top-feature--left::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset-block: 0;
  background: linear-gradient(315deg, rgba(71, 74, 166, 0.9) 0%, #1b1d40 100%);
  width: calc(50% + 50vw + 160px);
}
@media (max-width: 1680px) {
  .top-feature--left::before {
    width: calc(50% + 50vw + 80px);
  }
}
@media (max-width: 1536px) {
  .top-feature--left::before {
    width: calc(50% + 50vw + 40px);
  }
}
@media (max-width: 1000px) {
  .top-feature--left::before {
    width: calc(100% + 20px);
  }
}
.top-feature--left .inner {
  width: min(100% - 40px, var(--inner-width));
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, min(40%, 520px));
  align-items: center;
  gap: clamp(48px, 6vw, 100px);
}
@media (max-width: 1000px) {
  .top-feature--left .inner {
    width: 100%;
  }
}
@media (max-width: 768px) {
  .top-feature--left .inner {
    grid-template-columns: 1fr;
    gap: 48px;
  }
}
.top-feature--left .content {
  max-width: 560px;
}
@media (max-width: 768px) {
  .top-feature--left .content {
    order: 2;
  }
}
.top-feature--left .title {
  margin-bottom: 32px;
}
.top-feature--left .text p {
  color: #fff;
  margin-top: 16px;
}
@media (max-width: 768px) {
  .top-feature--left .text p {
    margin-top: 13.33328px;
  }
}
@media (max-width: 480px) {
  .top-feature--left .text p {
    margin-top: 2vw;
  }
}
.top-feature--left .feature-image {
  position: relative;
  aspect-ratio: 464/424;
}
@media (max-width: 768px) {
  .top-feature--left .feature-image {
    order: 1;
    min-height: auto;
  }
}
.top-feature--left .media {
  position: absolute;
  overflow: hidden;
  border-radius: 4px;
}
@media (max-width: 1000px) {
  .top-feature--left .media {
    width: 82%;
    margin-inline: auto;
  }
}
.top-feature--left .media img {
  display: block;
  width: 100%;
  height: auto;
}
.top-feature--left .media--01 {
  width: 56%;
  top: 0;
  left: 6%;
}
.top-feature--left .media--02 {
  width: 60%;
  top: 24%;
  right: 0;
}
.top-feature--left .media--03 {
  width: 58%;
  bottom: 0;
  left: 0;
}
.top-feature--left .feature-image--single {
  aspect-ratio: auto;
}
.top-feature--left .feature-image--single .media {
  position: relative;
}
@media (max-width: 1000px) {
  .top-feature--left .btn--primary {
    min-width: 100%;
  }
}
.top-feature--left .btn-list--left {
  margin-top: 56px;
}
@media (max-width: 768px) {
  .top-feature--left .btn-list--left {
    margin-top: 46.66648px;
  }
}
@media (max-width: 480px) {
  .top-feature--left .btn-list--left {
    margin-top: 7vw;
  }
}
.top-feature--left::before {
  left: calc((100vw - var(--inner-width)) / -2);
  right: -160px;
  border-radius: 0 6px 6px 0;
}
@media (max-width: 1680px) {
  .top-feature--left::before {
    right: -80px;
  }
}
@media (max-width: 1536px) {
  .top-feature--left::before {
    right: 0;
  }
}
@media (max-width: 1360px) {
  .top-feature--left::before {
    left: -40px;
  }
}
@media (max-width: 1000px) {
  .top-feature--left::before {
    left: -20px;
  }
}
@media (max-width: 1536px) {
  .top-feature--left .inner {
    padding-left: 0;
    padding-right: 40px;
  }
}
@media (max-width: 1000px) {
  .top-feature--left .inner {
    padding-left: 12px;
    padding-right: 32px;
  }
}

/*--------------------------------------------------
3つの理由
--------------------------------------------------*/
.block--stagger-right {
  --inner-width: min(1000px, 100vw);
  --padding-block: 48;
  position: relative;
  margin-top: 120px;
}
@media (max-width: 768px) {
  .block--stagger-right {
    margin-top: 99.9996px;
  }
}
@media (max-width: 480px) {
  .block--stagger-right {
    margin-top: 15vw;
  }
}
.block--stagger-right {
  padding-top: calc(var(--padding-block) * 1px);
  padding-bottom: calc(var(--padding-block) * 1px);
}
@media (max-width: 768px) {
  .block--stagger-right {
    padding-top: calc(var(--padding-block) * 0.83333px);
    padding-bottom: calc(var(--padding-block) * 0.83333px);
  }
}
.block--stagger-right::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset-block: 0;
  background-image: linear-gradient(90deg, #f7f7ff 18%, rgba(247, 247, 255, 0.4) 97%);
  width: calc(50% + 50vw + 160px);
}
@media (max-width: 1680px) {
  .block--stagger-right::before {
    width: calc(50% + 50vw + 80px);
  }
}
@media (max-width: 1536px) {
  .block--stagger-right::before {
    width: calc(50% + 50vw + 40px);
  }
}
@media (max-width: 1000px) {
  .block--stagger-right::before {
    width: calc(100% + 20px);
  }
}
.block--stagger-right .inner {
  width: min(100% - 40px, var(--inner-width));
}
@media (max-width: 1000px) {
  .block--stagger-right .inner {
    width: 100%;
  }
}
@media (max-width: 768px) {
  .block--stagger-right .inner {
    gap: 48px;
  }
}
.block--stagger-right .title--number {
  display: flex;
  align-items: center;
  gap: 0.5em;
}
.block--stagger-right .title--number span.number {
  background-image: linear-gradient(135deg, #474aa6 18%, #f24649 48%, #f4b700 97%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  text-align: center;
  text-indent: 0;
  font-size: 7.2rem;
  line-height: 1;
  font-family: "Source Sans 3", sans-serif;
  font-weight: 300;
  font-style: italic;
  transform: rotate(1deg);
  z-index: 1;
}
@media (max-width: 768px) {
  .block--stagger-right .title--number span.number {
    font-size: 6.4rem;
    position: absolute;
    width: 1.5em;
    height: 1em;
    inset: 0;
    top: calc(var(--padding-block) * 0.83333px / 1.25 * -1);
  }
}
.block--stagger-right .title--number span:not(.number) {
  line-height: 1.4;
  padding-top: calc((7.2rem - 1.4em) / 2);
}
@media (max-width: 768px) {
  .block--stagger-right .title--number span:not(.number) {
    padding-top: 0;
  }
}
.block--stagger-right h3.title {
  font-size: 2.4rem;
}
@media (max-width: 480px) {
  .block--stagger-right h3.title {
    font-size: 2rem;
  }
}
.block--stagger-right h3.title {
  background-image: linear-gradient(180deg, #f46f00 18%, #f24649 48%, #f4b700 97%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  width: fit-content;
}
.block--stagger-right h3.title:not(:first-child) {
  margin-top: 0.5em;
}
.block--stagger-right h3.title + *:not(.resources),
.block--stagger-right h3.title + h4:not(.title, .title--center) {
  margin-top: 16px;
}
@media (max-width: 768px) {
  .block--stagger-right h3.title + *:not(.resources),
  .block--stagger-right h3.title + h4:not(.title, .title--center) {
    margin-top: 13.33328px;
  }
}
@media (max-width: 480px) {
  .block--stagger-right h3.title + *:not(.resources),
  .block--stagger-right h3.title + h4:not(.title, .title--center) {
    margin-top: 2vw;
  }
}
.block--stagger-right h3.title + .resources {
  margin-top: 80px;
}
@media (max-width: 768px) {
  .block--stagger-right h3.title + .resources {
    margin-top: 66.6664px;
  }
}
@media (max-width: 480px) {
  .block--stagger-right h3.title + .resources {
    margin-top: 10vw;
  }
}
.block--stagger-right p {
  margin-top: 32px;
}
@media (max-width: 768px) {
  .block--stagger-right p {
    margin-top: 26.66656px;
  }
}
@media (max-width: 480px) {
  .block--stagger-right p {
    margin-top: 4vw;
  }
}
.block--stagger-right p {
  line-height: 1.75;
}
.block--stagger-right + .block--stagger-left,
.block--stagger-right + .block--stagger-right {
  margin-top: calc(var(--padding-block) * 1.5 * 1px);
}
@media (max-width: 768px) {
  .block--stagger-right + .block--stagger-left,
  .block--stagger-right + .block--stagger-right {
    margin-top: calc(var(--padding-block) * 1.5 * 0.83333px);
  }
}
.block--stagger-right + .block--stagger-left + .btn-list--center,
.block--stagger-right + .block--stagger-right + .btn-list--center {
  margin-top: 64px;
}
@media (max-width: 768px) {
  .block--stagger-right + .block--stagger-left + .btn-list--center,
  .block--stagger-right + .block--stagger-right + .btn-list--center {
    margin-top: 53.33312px;
  }
}
@media (max-width: 480px) {
  .block--stagger-right + .block--stagger-left + .btn-list--center,
  .block--stagger-right + .block--stagger-right + .btn-list--center {
    margin-top: 8vw;
  }
}
.block--stagger-right + .block--stagger-left + .btn-list--center + .section,
.block--stagger-right + .block--stagger-right + .btn-list--center + .section {
  margin-top: 120px;
}
@media (max-width: 768px) {
  .block--stagger-right + .block--stagger-left + .btn-list--center + .section,
  .block--stagger-right + .block--stagger-right + .btn-list--center + .section {
    margin-top: 99.9996px;
  }
}
@media (max-width: 480px) {
  .block--stagger-right + .block--stagger-left + .btn-list--center + .section,
  .block--stagger-right + .block--stagger-right + .btn-list--center + .section {
    margin-top: 15vw;
  }
}
.block--stagger-right .bg {
  position: absolute;
  inset: 0;
  width: auto;
  object-fit: contain;
  z-index: -1;
  opacity: 0.1;
  margin: auto auto 0 0;
  left: calc((100vw - var(--inner-width)) / -2);
}
@media (max-width: 1080px) {
  .block--stagger-right .bg {
    left: -40px;
  }
}
@media (max-width: 1000px) {
  .block--stagger-right .bg {
    left: -20px;
  }
}
.block--stagger-right#a-01 .bg {
  height: 180%;
}
@media (max-width: 1536px) {
  .block--stagger-right#a-01 .bg {
    height: 180%;
  }
}
@media (max-width: 768px) {
  .block--stagger-right#a-01 .bg {
    transform: translateX(-16%);
    bottom: -16%;
  }
}
.block--stagger-right#a-03 .bg {
  height: 210%;
  height: 160%;
  transform: translateX(-32%);
  bottom: -12%;
}
@media (max-width: 1536px) {
  .block--stagger-right#a-03 .bg {
    height: 140%;
  }
}
@media (max-width: 768px) {
  .block--stagger-right#a-03 .bg {
    bottom: 0;
  }
}
.block--stagger-right::before {
  left: -160px;
  right: calc((100vw - var(--inner-width)) / -2);
  border-radius: 6px 0 0 6px;
}
@media (max-width: 1680px) {
  .block--stagger-right::before {
    left: -80px;
  }
}
@media (max-width: 1536px) {
  .block--stagger-right::before {
    left: 0;
  }
}
@media (max-width: 1080px) {
  .block--stagger-right::before {
    left: 0;
    right: -40px;
  }
}
@media (max-width: 1000px) {
  .block--stagger-right::before {
    right: -20px;
  }
}
@media (max-width: 1536px) {
  .block--stagger-right .inner {
    padding-left: 80px;
    padding-right: 0;
  }
}
@media (max-width: 1000px) {
  .block--stagger-right .inner {
    padding-left: 32px;
    padding-right: 12px;
  }
}
@media (max-width: 1000px) {
  .block--stagger-right .title--number span.number {
    left: calc(32px - 0.15em);
  }
}

.block--stagger-left {
  --inner-width: min(1000px, 100vw);
  --padding-block: 48;
  position: relative;
  margin-top: 120px;
}
@media (max-width: 768px) {
  .block--stagger-left {
    margin-top: 99.9996px;
  }
}
@media (max-width: 480px) {
  .block--stagger-left {
    margin-top: 15vw;
  }
}
.block--stagger-left {
  padding-top: calc(var(--padding-block) * 1px);
  padding-bottom: calc(var(--padding-block) * 1px);
}
@media (max-width: 768px) {
  .block--stagger-left {
    padding-top: calc(var(--padding-block) * 0.83333px);
    padding-bottom: calc(var(--padding-block) * 0.83333px);
  }
}
.block--stagger-left::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset-block: 0;
  background-image: linear-gradient(90deg, #f7f7ff 18%, rgba(247, 247, 255, 0.4) 97%);
  width: calc(50% + 50vw + 160px);
}
@media (max-width: 1680px) {
  .block--stagger-left::before {
    width: calc(50% + 50vw + 80px);
  }
}
@media (max-width: 1536px) {
  .block--stagger-left::before {
    width: calc(50% + 50vw + 40px);
  }
}
@media (max-width: 1000px) {
  .block--stagger-left::before {
    width: calc(100% + 20px);
  }
}
.block--stagger-left .inner {
  width: min(100% - 40px, var(--inner-width));
}
@media (max-width: 1000px) {
  .block--stagger-left .inner {
    width: 100%;
  }
}
@media (max-width: 768px) {
  .block--stagger-left .inner {
    gap: 48px;
  }
}
.block--stagger-left .title--number {
  display: flex;
  align-items: center;
  gap: 0.5em;
}
.block--stagger-left .title--number span.number {
  background-image: linear-gradient(135deg, #474aa6 18%, #f24649 48%, #f4b700 97%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  text-align: center;
  text-indent: 0;
  font-size: 7.2rem;
  line-height: 1;
  font-family: "Source Sans 3", sans-serif;
  font-weight: 300;
  font-style: italic;
  transform: rotate(1deg);
  z-index: 1;
}
@media (max-width: 768px) {
  .block--stagger-left .title--number span.number {
    font-size: 6.4rem;
    position: absolute;
    width: 1.5em;
    height: 1em;
    inset: 0;
    top: calc(var(--padding-block) * 0.83333px / 1.25 * -1);
  }
}
.block--stagger-left .title--number span:not(.number) {
  line-height: 1.4;
  padding-top: calc((7.2rem - 1.4em) / 2);
}
@media (max-width: 768px) {
  .block--stagger-left .title--number span:not(.number) {
    padding-top: 0;
  }
}
.block--stagger-left h3.title {
  font-size: 2.4rem;
}
@media (max-width: 480px) {
  .block--stagger-left h3.title {
    font-size: 2rem;
  }
}
.block--stagger-left h3.title {
  background-image: linear-gradient(180deg, #f46f00 18%, #f24649 48%, #f4b700 97%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  width: fit-content;
}
.block--stagger-left h3.title:not(:first-child) {
  margin-top: 0.5em;
}
.block--stagger-left h3.title + *:not(.resources),
.block--stagger-left h3.title + h4:not(.title, .title--center) {
  margin-top: 16px;
}
@media (max-width: 768px) {
  .block--stagger-left h3.title + *:not(.resources),
  .block--stagger-left h3.title + h4:not(.title, .title--center) {
    margin-top: 13.33328px;
  }
}
@media (max-width: 480px) {
  .block--stagger-left h3.title + *:not(.resources),
  .block--stagger-left h3.title + h4:not(.title, .title--center) {
    margin-top: 2vw;
  }
}
.block--stagger-left h3.title + .resources {
  margin-top: 80px;
}
@media (max-width: 768px) {
  .block--stagger-left h3.title + .resources {
    margin-top: 66.6664px;
  }
}
@media (max-width: 480px) {
  .block--stagger-left h3.title + .resources {
    margin-top: 10vw;
  }
}
.block--stagger-left p {
  margin-top: 32px;
}
@media (max-width: 768px) {
  .block--stagger-left p {
    margin-top: 26.66656px;
  }
}
@media (max-width: 480px) {
  .block--stagger-left p {
    margin-top: 4vw;
  }
}
.block--stagger-left p {
  line-height: 1.75;
}
.block--stagger-left + .block--stagger-left,
.block--stagger-left + .block--stagger-right {
  margin-top: calc(var(--padding-block) * 1.5 * 1px);
}
@media (max-width: 768px) {
  .block--stagger-left + .block--stagger-left,
  .block--stagger-left + .block--stagger-right {
    margin-top: calc(var(--padding-block) * 1.5 * 0.83333px);
  }
}
.block--stagger-left + .block--stagger-left + .btn-list--center,
.block--stagger-left + .block--stagger-right + .btn-list--center {
  margin-top: 64px;
}
@media (max-width: 768px) {
  .block--stagger-left + .block--stagger-left + .btn-list--center,
  .block--stagger-left + .block--stagger-right + .btn-list--center {
    margin-top: 53.33312px;
  }
}
@media (max-width: 480px) {
  .block--stagger-left + .block--stagger-left + .btn-list--center,
  .block--stagger-left + .block--stagger-right + .btn-list--center {
    margin-top: 8vw;
  }
}
.block--stagger-left + .block--stagger-left + .btn-list--center + .section,
.block--stagger-left + .block--stagger-right + .btn-list--center + .section {
  margin-top: 120px;
}
@media (max-width: 768px) {
  .block--stagger-left + .block--stagger-left + .btn-list--center + .section,
  .block--stagger-left + .block--stagger-right + .btn-list--center + .section {
    margin-top: 99.9996px;
  }
}
@media (max-width: 480px) {
  .block--stagger-left + .block--stagger-left + .btn-list--center + .section,
  .block--stagger-left + .block--stagger-right + .btn-list--center + .section {
    margin-top: 15vw;
  }
}
.block--stagger-left .bg {
  position: absolute;
  inset: 0;
  width: auto;
  object-fit: contain;
  z-index: -1;
  opacity: 0.1;
  height: 160%;
  margin: auto 0 auto auto;
  right: calc((100vw - var(--inner-width)) / -2);
  bottom: 44%;
}
@media (max-width: 1536px) {
  .block--stagger-left .bg {
    height: 140%;
  }
}
@media (max-width: 1080px) {
  .block--stagger-left .bg {
    right: -40px;
  }
}
@media (max-width: 1000px) {
  .block--stagger-left .bg {
    right: -20px;
  }
}
@media (max-width: 768px) {
  .block--stagger-left .bg {
    bottom: 0;
  }
}
.block--stagger-left::before {
  left: calc((100vw - var(--inner-width)) / -2);
  right: -160px;
  border-radius: 0 6px 6px 0;
}
@media (max-width: 1680px) {
  .block--stagger-left::before {
    right: -80px;
  }
}
@media (max-width: 1536px) {
  .block--stagger-left::before {
    right: 0;
  }
}
@media (max-width: 1080px) {
  .block--stagger-left::before {
    left: -40px;
  }
}
@media (max-width: 1000px) {
  .block--stagger-left::before {
    left: -20px;
  }
}
@media (max-width: 1536px) {
  .block--stagger-left .inner {
    padding-left: 0;
    padding-right: 40px;
  }
}
@media (max-width: 1000px) {
  .block--stagger-left .inner {
    padding-left: 12px;
    padding-right: 32px;
  }
}
@media (max-width: 1000px) {
  .block--stagger-left .title--number span.number {
    left: calc(12px - 0.05em);
  }
}

/*--------------------------------------------------
スローガン
--------------------------------------------------*/
.block--slogan {
  margin-top: 88px;
}
@media (max-width: 768px) {
  .block--slogan {
    margin-top: 73.33304px;
  }
}
@media (max-width: 480px) {
  .block--slogan {
    margin-top: 11vw;
  }
}
.block--slogan h2.title {
  text-align: center;
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
  background-image: linear-gradient(135deg, #474aa6 18%, #f24649 48%, #f4b700 97%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  font-size: 5.2rem;
}
@media (max-width: 768px) {
  .block--slogan h2.title {
    font-size: 4.8rem;
  }
}
@media (max-width: 480px) {
  .block--slogan h2.title {
    font-size: 4.4rem;
  }
}
.block--slogan p.lead {
  text-align: center;
  font-size: 2rem;
  text-shadow: none;
  line-height: 2;
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 480px) {
  .block--slogan p.lead {
    font-size: 1.8rem;
  }
}
.block--slogan p.lead:not(:first-child) {
  margin-top: 24px;
}
@media (max-width: 768px) {
  .block--slogan p.lead:not(:first-child) {
    margin-top: 19.99992px;
  }
}
@media (max-width: 480px) {
  .block--slogan p.lead:not(:first-child) {
    margin-top: 3vw;
  }
}
.block--slogan + .section:not(:first-child) {
  margin-top: 144px;
}
@media (max-width: 768px) {
  .block--slogan + .section:not(:first-child) {
    margin-top: 119.99952px;
  }
}
@media (max-width: 480px) {
  .block--slogan + .section:not(:first-child) {
    margin-top: 18vw;
  }
}

/*--------------------------------------------------
企業理念
--------------------------------------------------*/
.block--philosophy {
  margin-top: 64px;
}
@media (max-width: 768px) {
  .block--philosophy {
    margin-top: 53.33312px;
  }
}
@media (max-width: 480px) {
  .block--philosophy {
    margin-top: 8vw;
  }
}
.block--philosophy {
  width: 100%;
  background-color: #f6f6ff;
  border: 1px solid rgb(92.3529411765%, 92.4235294118%, 97.9058823529%);
  padding: 48px 32px;
  border-radius: 6px;
}
@media (max-width: 768px) {
  .block--philosophy {
    padding: 32px 16px;
  }
}
.block--philosophy h2.title {
  text-align: center;
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
  background-image: linear-gradient(135deg, #474aa6 18%, #f24649 48%, #f4b700 97%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  font-size: 3.2rem;
}
.block--philosophy h2.title + * {
  margin-top: 20px;
}
@media (max-width: 768px) {
  .block--philosophy h2.title + * {
    margin-top: 16.6666px;
  }
}
@media (max-width: 480px) {
  .block--philosophy h2.title + * {
    margin-top: 2.5vw;
  }
}
@media (max-width: 480px) {
  .block--philosophy h2.title {
    font-size: 2.4rem;
  }
}
.block--philosophy p.lead {
  text-align: center;
  font-size: 2rem;
  text-shadow: none;
  line-height: 2;
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
}
@media (max-width: 480px) {
  .block--philosophy p.lead {
    font-size: 1.8rem;
  }
}
.block--philosophy .list--philosophy {
  --maximum-word-count: 41;
  --list-font-size: 1.8rem;
}
@media (max-width: 480px) {
  .block--philosophy .list--philosophy {
    --list-font-size: 1.6rem;
  }
}
.block--philosophy .list--philosophy {
  margin-top: 24px;
}
@media (max-width: 768px) {
  .block--philosophy .list--philosophy {
    margin-top: 19.99992px;
  }
}
@media (max-width: 480px) {
  .block--philosophy .list--philosophy {
    margin-top: 3vw;
  }
}
.block--philosophy .list--philosophy {
  display: block;
  font-size: var(--list-font-size);
  width: calc(var(--maximum-word-count) * 1.05 * 1em + 1em);
  margin-left: auto;
  margin-right: auto;
}
.block--philosophy .list--philosophy li {
  display: inline-block;
  padding-left: 1em;
  text-indent: -1em;
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  width: calc(var(--maximum-word-count) * 1.05 * 1em + 1em);
  color: #474aa6;
  font-size: var(--list-font-size);
}
.block--philosophy .list--philosophy li:not(:first-child) {
  margin-top: 0.75em;
}
.block--philosophy .list--philosophy li:last-child {
  margin-bottom: 0.75em;
}
.block--philosophy .list--philosophy li::before {
  content: "";
  display: inline-block;
  width: 0.45em;
  height: 1em;
  margin: 0 0.5em 0.1em 0;
  position: relative;
  top: 0.25em;
  background: linear-gradient(180deg, #474aa6 18%, rgba(71, 74, 166, 0.6784313725) 97%);
  border-radius: 2px;
}
.block--philosophy + .block--full-bg:not(:first-child) {
  margin-top: 96px;
}
@media (max-width: 768px) {
  .block--philosophy + .block--full-bg:not(:first-child) {
    margin-top: 79.99968px;
  }
}
@media (max-width: 480px) {
  .block--philosophy + .block--full-bg:not(:first-child) {
    margin-top: 12vw;
  }
}
.block--philosophy + .section:not(:first-child) {
  margin-top: 120px;
}
@media (max-width: 768px) {
  .block--philosophy + .section:not(:first-child) {
    margin-top: 99.9996px;
  }
}
@media (max-width: 480px) {
  .block--philosophy + .section:not(:first-child) {
    margin-top: 15vw;
  }
}

/*--------------------------------------------------
ごあいさつ
--------------------------------------------------*/
.block--message {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 56px 56px;
}
@media (max-width: 768px) {
  .block--message {
    gap: 46.66648px 46.66648px;
  }
}
@media (max-width: 480px) {
  .block--message {
    gap: 7vw 7vw;
  }
}
@media (max-width: 768px) {
  .block--message {
    grid-template-columns: minmax(0, 1fr);
  }
}
.block--message .image {
  width: 320px;
}
@media (max-width: 768px) {
  .block--message .image {
    margin-left: auto;
    margin-right: auto;
  }
}
.block--message .content p:not(:first-child) {
  margin-top: 16px;
}
@media (max-width: 768px) {
  .block--message .content p:not(:first-child) {
    margin-top: 13.33328px;
  }
}
@media (max-width: 480px) {
  .block--message .content p:not(:first-child) {
    margin-top: 2vw;
  }
}
.block--message .content .text--slogan {
  display: block;
  text-align: center;
  color: inherit;
  font-weight: 500;
  font-size: 2.4rem;
  font-family: "Zen Old Mincho", serif;
}
.block--message .content .text--slogan:not(:first-child) {
  margin-top: 32px;
}
@media (max-width: 768px) {
  .block--message .content .text--slogan:not(:first-child) {
    margin-top: 26.66656px;
  }
}
@media (max-width: 480px) {
  .block--message .content .text--slogan:not(:first-child) {
    margin-top: 4vw;
  }
}
.block--message .content .text--slogan + *:not(:first-child) {
  margin-top: 32px;
}
@media (max-width: 768px) {
  .block--message .content .text--slogan + *:not(:first-child) {
    margin-top: 26.66656px;
  }
}
@media (max-width: 480px) {
  .block--message .content .text--slogan + *:not(:first-child) {
    margin-top: 4vw;
  }
}

.signature {
  display: block;
  width: 180px;
  margin-top: 16px;
  margin-left: auto;
}

/*--------------------------------------------------
組織図
--------------------------------------------------*/
.organization {
  --organization-item-width: 12rem;
  --organization-item-height: 4.5rem;
  --organization-department-left: 4.5rem;
  width: 100%;
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}
.organization ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.organization > ul {
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 24px 24px;
}
@media (max-width: 768px) {
  .organization > ul {
    gap: 19.99992px 19.99992px;
  }
}
@media (max-width: 480px) {
  .organization > ul {
    gap: 3vw 3vw;
  }
}
.organization li {
  position: relative;
}
.organization span {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  box-sizing: border-box;
  min-width: var(--organization-item-width);
  min-height: var(--organization-item-height);
  width: 100%;
  padding: 1rem var(--organization-department-left);
  border: 1px solid #474aa6;
  background: #fff;
  font-weight: 700;
  text-align: left;
  font-size: 1.8rem;
  border-radius: 2px;
}
@media (max-width: 768px) {
  .organization span {
    font-size: 1.6rem;
    padding: 1rem calc(var(--organization-department-left) / 2);
  }
}
.organization .division > span {
  position: relative;
  background-color: #2b2d67;
  color: #fff;
}
.organization .division > .department {
  position: relative;
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 16px 16px;
}
@media (max-width: 768px) {
  .organization .division > .department {
    gap: 13.33328px 13.33328px;
  }
}
@media (max-width: 480px) {
  .organization .division > .department {
    gap: 2vw 2vw;
  }
}
.organization .division > .department {
  margin-top: 16px;
}
@media (max-width: 768px) {
  .organization .division > .department {
    margin-top: 13.33328px;
  }
}
@media (max-width: 480px) {
  .organization .division > .department {
    margin-top: 2vw;
  }
}
.organization .division > .department {
  margin-left: var(--organization-department-left);
}
.organization .division > .department::before {
  content: "";
  position: absolute;
  bottom: calc(var(--organization-item-height) / 2);
  left: calc(var(--organization-department-left) * -0.5);
  width: 1px;
  height: calc(100% - var(--organization-item-height) / 2 + 16px);
  background: #474aa6;
}
@media (max-width: 768px) {
  .organization .division > .department::before {
    height: calc(100% - var(--organization-item-height) / 2 + 13.33328px);
  }
}
@media (max-width: 480px) {
  .organization .division > .department::before {
    height: calc(100% - var(--organization-item-height) / 2 + 2vw);
  }
}
.organization .division > .department > li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(var(--organization-department-left) * -0.5);
  width: calc(var(--organization-department-left) * 0.5);
  height: 1px;
  background: #474aa6;
}
.organization .division > .department span {
  background-color: rgb(92.3529411765%, 92.4235294118%, 97.9058823529%);
  color: #474aa6;
}

/*--------------------------------------------------
会社概要
--------------------------------------------------*/
.dlist--officer {
  --dt-width: 200px;
  --table-padding-block: 12px;
  --table-padding-inline: 20px;
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 480px) {
  .dlist--officer {
    --dt-width: 160px;
    --table-padding-inline: 16px;
  }
}
.dlist--officer > dt {
  width: var(--dt-width);
}
.dlist--officer > dd {
  width: calc(100% - var(--dt-width));
}

.dlist--license-number {
  --dt-width: 200px;
  --table-padding-block: 12px;
  --table-padding-inline: 20px;
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 480px) {
  .dlist--license-number {
    --dt-width: 160px;
    --table-padding-inline: 16px;
  }
}
.dlist--license-number > dt {
  width: var(--dt-width);
}
.dlist--license-number > dd {
  width: calc(100% - var(--dt-width));
}
.dlist--license-number > dt {
  position: relative;
  display: flex;
  align-items: center;
}
@media (max-width: 768px) {
  .dlist--license-number > dt {
    width: 100%;
  }
}
.dlist--license-number > dt:not(:first-child) {
  padding-top: var(--table-padding-block);
}
.dlist--license-number > dt:not(:first-child)::before {
  display: block;
  position: absolute;
  inset: 0;
  left: calc(var(--table-padding-inline) * -1);
  content: "";
  width: calc(100% + var(--table-padding-inline));
  height: 1px;
  border-top: 1px solid #474aa6;
}
@media (max-width: 768px) {
  .dlist--license-number > dt:not(:first-child)::before {
    display: none;
  }
}
.dlist--license-number > dt:not(:nth-last-child(2)) {
  padding-bottom: var(--table-padding-block);
}
.dlist--license-number > dd {
  position: relative;
}
@media (max-width: 768px) {
  .dlist--license-number > dd {
    width: 100%;
  }
}
.dlist--license-number > dd:not(:nth-child(2)) {
  padding-top: var(--table-padding-block);
}
.dlist--license-number > dd:not(:nth-child(2))::before {
  display: block;
  position: absolute;
  inset: 0;
  content: "";
  width: calc(100% + var(--table-padding-inline));
  height: 1px;
  border-top: 1px solid #474aa6;
}
@media (max-width: 768px) {
  .dlist--license-number > dd:not(:nth-child(2))::before {
    display: none;
  }
}
.dlist--license-number > dd:not(:last-child) {
  padding-bottom: var(--table-padding-block);
}

.dlist--license-detail {
  --dt-width: 200px;
  --table-padding-block: 12px;
  --table-padding-inline: 20px;
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 480px) {
  .dlist--license-detail {
    --dt-width: 160px;
    --table-padding-inline: 16px;
  }
}
.dlist--license-detail > dt {
  width: var(--dt-width);
}
.dlist--license-detail > dd {
  width: calc(100% - var(--dt-width));
}
.dlist--license-detail {
  --dt-width: 96px;
}
@media (max-width: 480px) {
  .dlist--license-detail {
    --dt-width: 96px;
  }
}

/*--------------------------------------------------
ＢＲＥＡＤ ＣＲＵＭＢ
--------------------------------------------------*/
.breadcrumb {
  padding-top: 12px;
  padding-bottom: 12px;
}
@media (max-width: 480px) {
  .breadcrumb {
    display: none;
  }
}
.breadcrumb ol {
  max-width: 1360px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 40px;
  box-sizing: border-box;
}
@media (max-width: 1000px) {
  .breadcrumb ol {
    padding: 0 20px;
  }
}
.breadcrumb ol {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px 0;
  color: #474aa6;
}
@media (max-width: 768px) {
  .breadcrumb ol {
    width: 100%;
  }
}
.breadcrumb ol li {
  font-size: 1.4rem;
  display: flex;
  color: #474aa6;
}
.breadcrumb ol li a {
  color: #474aa6;
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 100% 1px;
}
@media (any-hover: hover) {
  .breadcrumb ol li a:hover {
    animation: underline01 0.5s ease forwards;
  }
}
.breadcrumb ol li a:focus-visible {
  animation: underline01 0.5s ease forwards;
}
@media (hover: none) {
  .breadcrumb ol li a:active {
    animation: underline01 0.5s ease forwards;
  }
}
.breadcrumb ol li a {
  transition: text-decoration-color 600ms;
}
@media (any-hover: hover) {
  .breadcrumb ol li a:hover {
    opacity: 0.8;
    text-decoration-color: rgba(71, 74, 166, 0.8);
  }
}
.breadcrumb ol li a:focus-visible {
  opacity: 0.8;
  text-decoration-color: rgba(71, 74, 166, 0.8);
}
@media (hover: none) {
  .breadcrumb ol li a:active {
    opacity: 0.8;
    text-decoration-color: rgba(71, 74, 166, 0.8);
  }
}
.breadcrumb ol li::after {
  display: block;
  margin: 0 1rem;
  content: ">";
}
.breadcrumb ol li:last-child::after {
  display: none;
}

/*--------------------------------------------------
BUTTON
--------------------------------------------------*/
.btn--primary {
  position: relative;
  border: 1px solid transparent;
  padding: 18px 16px;
  margin: 0;
  width: fit-content;
  text-align: center;
  border-radius: 4px;
  font-weight: 700;
  box-sizing: border-box;
  text-decoration: none;
  display: block;
  background-image: linear-gradient(#fff, #fff), linear-gradient(90deg, #474aa6 0%, #f24649 16%, #f4b700 32%, #f24649 48%, #474aa6 64%, #474aa6 100%);
  background-clip: padding-box, border-box;
  background-size: 100% 100%, 300% 100%;
  background-position: 0 0, 0 0;
  transition: background-position 0.4s ease, background-color 0.6s, background-image 0.6s, color 0.6s, box-shadow 0.6s;
  box-shadow: 2px 3px 4px 0px rgba(0, 0, 0, 0.1);
}
.btn--primary > span {
  font-weight: 700;
  transition: background-position 0.4s ease;
}
@media (max-width: 768px) {
  .btn--primary {
    width: 100%;
    max-width: 100%;
  }
}
@media (any-hover: hover) {
  .btn--primary:hover {
    box-shadow: 0px 0px 6px -3px rgba(0, 0, 0, 0.6);
    background-position: 0 0, 100% 0;
  }
  .btn--primary:hover > span {
    background-position: 100% 0;
  }
}
.btn--primary:focus-visible {
  box-shadow: 0px 0px 6px -3px rgba(0, 0, 0, 0.6);
  background-position: 0 0, 100% 0;
}
.btn--primary:focus-visible > span {
  background-position: 100% 0;
}
@media (hover: none) {
  .btn--primary:active {
    box-shadow: 0px 0px 6px -3px rgba(0, 0, 0, 0.6);
    background-position: 0 0, 100% 0;
  }
  .btn--primary:active > span {
    background-position: 100% 0;
  }
}
.btn--primary:not(:first-child, .btn--header-contact, .btn--header-partner) {
  margin-top: 12px;
}
@media (max-width: 768px) {
  .btn--primary:not(:first-child, .btn--header-contact, .btn--header-partner) {
    margin-top: 9.99996px;
  }
}
@media (max-width: 480px) {
  .btn--primary:not(:first-child, .btn--header-contact, .btn--header-partner) {
    margin-top: 1.5vw;
  }
}
.btn--primary:has(img) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1em;
  align-items: center;
}
.btn--primary:has(img) > span {
  text-align: left;
  width: fit-content;
}
.btn--primary:has(img) > img {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  vertical-align: middle;
  margin-right: 0.25em;
}
.btn--primary:has(img) > img:not(:first-child) {
  margin-top: 0;
}
.btn--primary:has(img) > img {
  font-size: 2.4rem;
}
.btn--primary:has(img) > .pdf {
  filter: brightness(0) saturate(100%) invert(31%) sepia(29%) saturate(5951%) hue-rotate(338deg) brightness(102%) contrast(89%);
}
.btn--primary:has(img) > .xlsx {
  filter: brightness(0) saturate(100%) invert(32%) sepia(30%) saturate(1100%) hue-rotate(105deg) brightness(82%) contrast(95%);
}
.btn--primary:has(img) > .word {
  filter: brightness(0) saturate(100%) invert(24%) sepia(100%) saturate(3800%) hue-rotate(220deg) brightness(95%) contrast(105%);
}
.btn--primary:has(img) > .zip {
  filter: brightness(0) saturate(100%) invert(47%) sepia(55%) saturate(3000%) hue-rotate(355deg) brightness(85%) contrast(105%);
}
.btn--primary:has(img) > .external {
  filter: brightness(0) saturate(100%) invert(26%) sepia(62%) saturate(1541%) hue-rotate(217deg) brightness(88%) contrast(85%);
}
.btn--primary {
  min-width: 420px;
}
@media (max-width: 768px) {
  .btn--primary {
    min-width: 100%;
  }
}
.btn--primary > span {
  color: transparent;
  background: linear-gradient(90deg, #474aa6 0%, #f24649 16%, #f4b700 32%, #f24649 48%, #474aa6 64%, #474aa6 100%);
  background-size: 300% 100%;
  background-position: 0 0;
  background-clip: text;
  -webkit-background-clip: text;
}
.btn--primary-plain {
  position: relative;
  border: 1px solid transparent;
  padding: 18px 16px;
  margin: 0;
  width: fit-content;
  text-align: center;
  border-radius: 4px;
  font-weight: 700;
  box-sizing: border-box;
  text-decoration: none;
  display: block;
  background-image: linear-gradient(#fff, #fff), linear-gradient(90deg, #474aa6 0%, #f24649 16%, #f4b700 32%, #f24649 48%, #474aa6 64%, #474aa6 100%);
  background-clip: padding-box, border-box;
  background-size: 100% 100%, 300% 100%;
  background-position: 0 0, 0 0;
  transition: background-position 0.4s ease, background-color 0.6s, background-image 0.6s, color 0.6s, box-shadow 0.6s;
  box-shadow: 2px 3px 4px 0px rgba(0, 0, 0, 0.1);
}
.btn--primary-plain > span {
  font-weight: 700;
  transition: background-position 0.4s ease;
}
@media (max-width: 768px) {
  .btn--primary-plain {
    width: 100%;
    max-width: 100%;
  }
}
@media (any-hover: hover) {
  .btn--primary-plain:hover {
    box-shadow: 0px 0px 6px -3px rgba(0, 0, 0, 0.6);
    background-position: 0 0, 100% 0;
  }
  .btn--primary-plain:hover > span {
    background-position: 100% 0;
  }
}
.btn--primary-plain:focus-visible {
  box-shadow: 0px 0px 6px -3px rgba(0, 0, 0, 0.6);
  background-position: 0 0, 100% 0;
}
.btn--primary-plain:focus-visible > span {
  background-position: 100% 0;
}
@media (hover: none) {
  .btn--primary-plain:active {
    box-shadow: 0px 0px 6px -3px rgba(0, 0, 0, 0.6);
    background-position: 0 0, 100% 0;
  }
  .btn--primary-plain:active > span {
    background-position: 100% 0;
  }
}
.btn--primary-plain:not(:first-child, .btn--header-contact, .btn--header-partner) {
  margin-top: 12px;
}
@media (max-width: 768px) {
  .btn--primary-plain:not(:first-child, .btn--header-contact, .btn--header-partner) {
    margin-top: 9.99996px;
  }
}
@media (max-width: 480px) {
  .btn--primary-plain:not(:first-child, .btn--header-contact, .btn--header-partner) {
    margin-top: 1.5vw;
  }
}
.btn--primary-plain:has(img) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1em;
  align-items: center;
}
.btn--primary-plain:has(img) > span {
  text-align: left;
  width: fit-content;
}
.btn--primary-plain:has(img) > img {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  vertical-align: middle;
  margin-right: 0.25em;
}
.btn--primary-plain:has(img) > img:not(:first-child) {
  margin-top: 0;
}
.btn--primary-plain:has(img) > img {
  font-size: 2.4rem;
}
.btn--primary-plain:has(img) > .pdf {
  filter: brightness(0) saturate(100%) invert(31%) sepia(29%) saturate(5951%) hue-rotate(338deg) brightness(102%) contrast(89%);
}
.btn--primary-plain:has(img) > .xlsx {
  filter: brightness(0) saturate(100%) invert(32%) sepia(30%) saturate(1100%) hue-rotate(105deg) brightness(82%) contrast(95%);
}
.btn--primary-plain:has(img) > .word {
  filter: brightness(0) saturate(100%) invert(24%) sepia(100%) saturate(3800%) hue-rotate(220deg) brightness(95%) contrast(105%);
}
.btn--primary-plain:has(img) > .zip {
  filter: brightness(0) saturate(100%) invert(47%) sepia(55%) saturate(3000%) hue-rotate(355deg) brightness(85%) contrast(105%);
}
.btn--primary-plain:has(img) > .external {
  filter: brightness(0) saturate(100%) invert(26%) sepia(62%) saturate(1541%) hue-rotate(217deg) brightness(88%) contrast(85%);
}
.btn--primary-plain {
  background-image: linear-gradient(90deg, #fff 0%, #fff 44%, rgb(81.9607843137%, 82.2549019608%, 91.2745098039%) 46%, rgb(63.9215686275%, 64.5098039216%, 82.5490196078%) 50%, rgb(45.8823529412%, 46.7647058824%, 73.8235294118%) 54%, #474aa6 64%, #474aa6 100%), linear-gradient(90deg, #1b1d40 0%, #474aa6 100%);
  min-width: 420px;
  background-size: 300% 100%, 300% 100%;
}
@media (max-width: 768px) {
  .btn--primary-plain {
    min-width: 100%;
  }
}
.btn--primary-plain > span {
  color: transparent;
  background: linear-gradient(90deg, #474aa6 0%, #474aa6 48%, #fff 52%, #fff 100%);
  background-size: 300% 100%;
  background-position: 0 0;
  background-clip: text;
  -webkit-background-clip: text;
}
.btn--primary-plain > .arrow {
  filter: brightness(0) saturate(100%) invert(26%) sepia(62%) saturate(1541%) hue-rotate(217deg) brightness(88%) contrast(85%);
  transition: filter 0.3s ease;
}
@media (any-hover: hover) {
  .btn--primary-plain:hover {
    background-position: 100% 0, 100% 0;
  }
  .btn--primary-plain:hover > .arrow {
    filter: brightness(0) invert(1);
  }
}
.btn--primary-plain:focus-visible {
  background-position: 100% 0, 100% 0;
}
.btn--primary-plain:focus-visible > .arrow {
  filter: brightness(0) invert(1);
}
@media (hover: none) {
  .btn--primary-plain:active {
    background-position: 100% 0, 100% 0;
  }
  .btn--primary-plain:active > .arrow {
    filter: brightness(0) invert(1);
  }
}
.btn--primary-invert {
  position: relative;
  border: 1px solid transparent;
  padding: 18px 16px;
  margin: 0;
  width: fit-content;
  text-align: center;
  border-radius: 4px;
  font-weight: 700;
  box-sizing: border-box;
  text-decoration: none;
  display: block;
  background-image: linear-gradient(#fff, #fff), linear-gradient(90deg, #474aa6 0%, #f24649 16%, #f4b700 32%, #f24649 48%, #474aa6 64%, #474aa6 100%);
  background-clip: padding-box, border-box;
  background-size: 100% 100%, 300% 100%;
  background-position: 0 0, 0 0;
  transition: background-position 0.4s ease, background-color 0.6s, background-image 0.6s, color 0.6s, box-shadow 0.6s;
  box-shadow: 2px 3px 4px 0px rgba(0, 0, 0, 0.1);
}
.btn--primary-invert > span {
  font-weight: 700;
  transition: background-position 0.4s ease;
}
@media (max-width: 768px) {
  .btn--primary-invert {
    width: 100%;
    max-width: 100%;
  }
}
@media (any-hover: hover) {
  .btn--primary-invert:hover {
    box-shadow: 0px 0px 6px -3px rgba(0, 0, 0, 0.6);
    background-position: 0 0, 100% 0;
  }
  .btn--primary-invert:hover > span {
    background-position: 100% 0;
  }
}
.btn--primary-invert:focus-visible {
  box-shadow: 0px 0px 6px -3px rgba(0, 0, 0, 0.6);
  background-position: 0 0, 100% 0;
}
.btn--primary-invert:focus-visible > span {
  background-position: 100% 0;
}
@media (hover: none) {
  .btn--primary-invert:active {
    box-shadow: 0px 0px 6px -3px rgba(0, 0, 0, 0.6);
    background-position: 0 0, 100% 0;
  }
  .btn--primary-invert:active > span {
    background-position: 100% 0;
  }
}
.btn--primary-invert:not(:first-child, .btn--header-contact, .btn--header-partner) {
  margin-top: 12px;
}
@media (max-width: 768px) {
  .btn--primary-invert:not(:first-child, .btn--header-contact, .btn--header-partner) {
    margin-top: 9.99996px;
  }
}
@media (max-width: 480px) {
  .btn--primary-invert:not(:first-child, .btn--header-contact, .btn--header-partner) {
    margin-top: 1.5vw;
  }
}
.btn--primary-invert:has(img) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1em;
  align-items: center;
}
.btn--primary-invert:has(img) > span {
  text-align: left;
  width: fit-content;
}
.btn--primary-invert:has(img) > img {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  vertical-align: middle;
  margin-right: 0.25em;
}
.btn--primary-invert:has(img) > img:not(:first-child) {
  margin-top: 0;
}
.btn--primary-invert:has(img) > img {
  font-size: 2.4rem;
}
.btn--primary-invert:has(img) > .pdf {
  filter: brightness(0) saturate(100%) invert(31%) sepia(29%) saturate(5951%) hue-rotate(338deg) brightness(102%) contrast(89%);
}
.btn--primary-invert:has(img) > .xlsx {
  filter: brightness(0) saturate(100%) invert(32%) sepia(30%) saturate(1100%) hue-rotate(105deg) brightness(82%) contrast(95%);
}
.btn--primary-invert:has(img) > .word {
  filter: brightness(0) saturate(100%) invert(24%) sepia(100%) saturate(3800%) hue-rotate(220deg) brightness(95%) contrast(105%);
}
.btn--primary-invert:has(img) > .zip {
  filter: brightness(0) saturate(100%) invert(47%) sepia(55%) saturate(3000%) hue-rotate(355deg) brightness(85%) contrast(105%);
}
.btn--primary-invert:has(img) > .external {
  filter: brightness(0) saturate(100%) invert(26%) sepia(62%) saturate(1541%) hue-rotate(217deg) brightness(88%) contrast(85%);
}
.btn--primary-invert {
  min-width: 420px;
  border: 1px solid transparent;
  background: linear-gradient(rgba(27, 29, 64, 0.6), rgba(27, 29, 64, 0.6)) padding-box;
  border-radius: 2px;
}
@media (max-width: 768px) {
  .btn--primary-invert {
    min-width: 100%;
  }
}
.btn--primary-invert::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 1px;
  border: 1px solid transparent;
  background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.9)) padding-box, linear-gradient(90deg, #474aa6 0%, #f24649 16%, #f4b700 32%, #f24649 52%, #474aa6 68%, #f24649 84%, #f4b700 100%) border-box;
  mask: linear-gradient(#000 0 0) padding-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  background-size: 300% 100%, 300% 100%;
  background-position: 0 0, 0 0;
  transition: background-position 0.4s ease, background-color 0.6s, color 0.6s, box-shadow 0.6s;
  z-index: 1;
}
.btn--primary-invert > span {
  color: #fff;
}
@media (any-hover: hover) {
  .btn--primary-invert:hover {
    background: linear-gradient(rgba(27, 29, 64, 0.9), rgba(27, 29, 64, 0.9)) padding-box;
  }
  .btn--primary-invert:hover::before {
    background-position: 100% 0, 100% 0;
  }
}
.btn--primary-invert:focus-visible {
  background: linear-gradient(rgba(27, 29, 64, 0.9), rgba(27, 29, 64, 0.9)) padding-box;
}
.btn--primary-invert:focus-visible::before {
  background-position: 100% 0, 100% 0;
}
@media (hover: none) {
  .btn--primary-invert:active {
    background: linear-gradient(rgba(27, 29, 64, 0.9), rgba(27, 29, 64, 0.9)) padding-box;
  }
  .btn--primary-invert:active::before {
    background-position: 100% 0, 100% 0;
  }
}
.btn--contact {
  position: relative;
  border: 1px solid transparent;
  padding: 18px 16px;
  margin: 0;
  width: fit-content;
  text-align: center;
  border-radius: 4px;
  font-weight: 700;
  box-sizing: border-box;
  text-decoration: none;
  display: block;
  background-image: linear-gradient(#fff, #fff), linear-gradient(90deg, #474aa6 0%, #f24649 16%, #f4b700 32%, #f24649 48%, #474aa6 64%, #474aa6 100%);
  background-clip: padding-box, border-box;
  background-size: 100% 100%, 300% 100%;
  background-position: 0 0, 0 0;
  transition: background-position 0.4s ease, background-color 0.6s, background-image 0.6s, color 0.6s, box-shadow 0.6s;
  box-shadow: 2px 3px 4px 0px rgba(0, 0, 0, 0.1);
}
.btn--contact > span {
  font-weight: 700;
  transition: background-position 0.4s ease;
}
@media (max-width: 768px) {
  .btn--contact {
    width: 100%;
    max-width: 100%;
  }
}
@media (any-hover: hover) {
  .btn--contact:hover {
    box-shadow: 0px 0px 6px -3px rgba(0, 0, 0, 0.6);
    background-position: 0 0, 100% 0;
  }
  .btn--contact:hover > span {
    background-position: 100% 0;
  }
}
.btn--contact:focus-visible {
  box-shadow: 0px 0px 6px -3px rgba(0, 0, 0, 0.6);
  background-position: 0 0, 100% 0;
}
.btn--contact:focus-visible > span {
  background-position: 100% 0;
}
@media (hover: none) {
  .btn--contact:active {
    box-shadow: 0px 0px 6px -3px rgba(0, 0, 0, 0.6);
    background-position: 0 0, 100% 0;
  }
  .btn--contact:active > span {
    background-position: 100% 0;
  }
}
.btn--contact:not(:first-child, .btn--header-contact, .btn--header-partner) {
  margin-top: 12px;
}
@media (max-width: 768px) {
  .btn--contact:not(:first-child, .btn--header-contact, .btn--header-partner) {
    margin-top: 9.99996px;
  }
}
@media (max-width: 480px) {
  .btn--contact:not(:first-child, .btn--header-contact, .btn--header-partner) {
    margin-top: 1.5vw;
  }
}
.btn--contact:has(img) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1em;
  align-items: center;
}
.btn--contact:has(img) > span {
  text-align: left;
  width: fit-content;
}
.btn--contact:has(img) > img {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  vertical-align: middle;
  margin-right: 0.25em;
}
.btn--contact:has(img) > img:not(:first-child) {
  margin-top: 0;
}
.btn--contact:has(img) > img {
  font-size: 2.4rem;
}
.btn--contact:has(img) > .pdf {
  filter: brightness(0) saturate(100%) invert(31%) sepia(29%) saturate(5951%) hue-rotate(338deg) brightness(102%) contrast(89%);
}
.btn--contact:has(img) > .xlsx {
  filter: brightness(0) saturate(100%) invert(32%) sepia(30%) saturate(1100%) hue-rotate(105deg) brightness(82%) contrast(95%);
}
.btn--contact:has(img) > .word {
  filter: brightness(0) saturate(100%) invert(24%) sepia(100%) saturate(3800%) hue-rotate(220deg) brightness(95%) contrast(105%);
}
.btn--contact:has(img) > .zip {
  filter: brightness(0) saturate(100%) invert(47%) sepia(55%) saturate(3000%) hue-rotate(355deg) brightness(85%) contrast(105%);
}
.btn--contact:has(img) > .external {
  filter: brightness(0) saturate(100%) invert(26%) sepia(62%) saturate(1541%) hue-rotate(217deg) brightness(88%) contrast(85%);
}
.btn--contact {
  min-width: 320px;
}
.btn--contact > span {
  color: transparent;
  background: linear-gradient(90deg, #474aa6 0%, #f24649 16%, #f4b700 32%, #f24649 48%, #474aa6 64%, #474aa6 100%);
  background-size: 300% 100%;
  background-position: 0 0;
  background-clip: text;
  -webkit-background-clip: text;
}
.btn--contact {
  background: linear-gradient(#fff, #fff) padding-box, linear-gradient(#fff, #fff) padding-box;
}
@media (any-hover: hover) {
  .btn--contact:hover {
    background: linear-gradient(#fff, #fff) padding-box, linear-gradient(#fff, #fff) padding-box;
  }
}
.btn--contact:focus-visible {
  background: linear-gradient(#fff, #fff) padding-box, linear-gradient(#fff, #fff) padding-box;
}
@media (hover: none) {
  .btn--contact:active {
    background: linear-gradient(#fff, #fff) padding-box, linear-gradient(#fff, #fff) padding-box;
  }
}
.btn--secondary {
  position: relative;
  border: 1px solid transparent;
  padding: 18px 16px;
  margin: 0;
  width: fit-content;
  text-align: center;
  border-radius: 4px;
  font-weight: 700;
  box-sizing: border-box;
  text-decoration: none;
  display: block;
  background-image: linear-gradient(#fff, #fff), linear-gradient(90deg, #474aa6 0%, #f24649 16%, #f4b700 32%, #f24649 48%, #474aa6 64%, #474aa6 100%);
  background-clip: padding-box, border-box;
  background-size: 100% 100%, 300% 100%;
  background-position: 0 0, 0 0;
  transition: background-position 0.4s ease, background-color 0.6s, background-image 0.6s, color 0.6s, box-shadow 0.6s;
  box-shadow: 2px 3px 4px 0px rgba(0, 0, 0, 0.1);
}
.btn--secondary > span {
  font-weight: 700;
  transition: background-position 0.4s ease;
}
@media (max-width: 768px) {
  .btn--secondary {
    width: 100%;
    max-width: 100%;
  }
}
@media (any-hover: hover) {
  .btn--secondary:hover {
    box-shadow: 0px 0px 6px -3px rgba(0, 0, 0, 0.6);
    background-position: 0 0, 100% 0;
  }
  .btn--secondary:hover > span {
    background-position: 100% 0;
  }
}
.btn--secondary:focus-visible {
  box-shadow: 0px 0px 6px -3px rgba(0, 0, 0, 0.6);
  background-position: 0 0, 100% 0;
}
.btn--secondary:focus-visible > span {
  background-position: 100% 0;
}
@media (hover: none) {
  .btn--secondary:active {
    box-shadow: 0px 0px 6px -3px rgba(0, 0, 0, 0.6);
    background-position: 0 0, 100% 0;
  }
  .btn--secondary:active > span {
    background-position: 100% 0;
  }
}
.btn--secondary:not(:first-child, .btn--header-contact, .btn--header-partner) {
  margin-top: 12px;
}
@media (max-width: 768px) {
  .btn--secondary:not(:first-child, .btn--header-contact, .btn--header-partner) {
    margin-top: 9.99996px;
  }
}
@media (max-width: 480px) {
  .btn--secondary:not(:first-child, .btn--header-contact, .btn--header-partner) {
    margin-top: 1.5vw;
  }
}
.btn--secondary:has(img) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1em;
  align-items: center;
}
.btn--secondary:has(img) > span {
  text-align: left;
  width: fit-content;
}
.btn--secondary:has(img) > img {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  vertical-align: middle;
  margin-right: 0.25em;
}
.btn--secondary:has(img) > img:not(:first-child) {
  margin-top: 0;
}
.btn--secondary:has(img) > img {
  font-size: 2.4rem;
}
.btn--secondary:has(img) > .pdf {
  filter: brightness(0) saturate(100%) invert(31%) sepia(29%) saturate(5951%) hue-rotate(338deg) brightness(102%) contrast(89%);
}
.btn--secondary:has(img) > .xlsx {
  filter: brightness(0) saturate(100%) invert(32%) sepia(30%) saturate(1100%) hue-rotate(105deg) brightness(82%) contrast(95%);
}
.btn--secondary:has(img) > .word {
  filter: brightness(0) saturate(100%) invert(24%) sepia(100%) saturate(3800%) hue-rotate(220deg) brightness(95%) contrast(105%);
}
.btn--secondary:has(img) > .zip {
  filter: brightness(0) saturate(100%) invert(47%) sepia(55%) saturate(3000%) hue-rotate(355deg) brightness(85%) contrast(105%);
}
.btn--secondary:has(img) > .external {
  filter: brightness(0) saturate(100%) invert(26%) sepia(62%) saturate(1541%) hue-rotate(217deg) brightness(88%) contrast(85%);
}
.btn--secondary {
  background-color: #f46f00;
  border-color: #f46f00;
}
.btn--secondary::before {
  border-color: #fff;
}
@media (any-hover: hover) {
  .btn--secondary:hover {
    color: rgb(79.6862745098%, 36.2507232401%, 0%);
    background-color: #fff;
    border-color: #f46f00;
  }
  .btn--secondary:hover::before {
    border-color: #f46f00;
  }
}
.btn--secondary:focus-visible {
  color: rgb(79.6862745098%, 36.2507232401%, 0%);
  background-color: #fff;
  border-color: #f46f00;
}
.btn--secondary:focus-visible::before {
  border-color: #f46f00;
}
@media (hover: none) {
  .btn--secondary:active {
    color: rgb(79.6862745098%, 36.2507232401%, 0%);
    background-color: #fff;
    border-color: #f46f00;
  }
  .btn--secondary:active::before {
    border-color: #f46f00;
  }
}
.btn--prev {
  position: relative;
  border: 1px solid transparent;
  padding: 18px 16px;
  margin: 0;
  width: fit-content;
  text-align: center;
  border-radius: 4px;
  font-weight: 700;
  box-sizing: border-box;
  text-decoration: none;
  display: block;
  background-image: linear-gradient(#fff, #fff), linear-gradient(90deg, #474aa6 0%, #f24649 16%, #f4b700 32%, #f24649 48%, #474aa6 64%, #474aa6 100%);
  background-clip: padding-box, border-box;
  background-size: 100% 100%, 300% 100%;
  background-position: 0 0, 0 0;
  transition: background-position 0.4s ease, background-color 0.6s, background-image 0.6s, color 0.6s, box-shadow 0.6s;
  box-shadow: 2px 3px 4px 0px rgba(0, 0, 0, 0.1);
}
.btn--prev > span {
  font-weight: 700;
  transition: background-position 0.4s ease;
}
@media (max-width: 768px) {
  .btn--prev {
    width: 100%;
    max-width: 100%;
  }
}
@media (any-hover: hover) {
  .btn--prev:hover {
    box-shadow: 0px 0px 6px -3px rgba(0, 0, 0, 0.6);
    background-position: 0 0, 100% 0;
  }
  .btn--prev:hover > span {
    background-position: 100% 0;
  }
}
.btn--prev:focus-visible {
  box-shadow: 0px 0px 6px -3px rgba(0, 0, 0, 0.6);
  background-position: 0 0, 100% 0;
}
.btn--prev:focus-visible > span {
  background-position: 100% 0;
}
@media (hover: none) {
  .btn--prev:active {
    box-shadow: 0px 0px 6px -3px rgba(0, 0, 0, 0.6);
    background-position: 0 0, 100% 0;
  }
  .btn--prev:active > span {
    background-position: 100% 0;
  }
}
.btn--prev:not(:first-child, .btn--header-contact, .btn--header-partner) {
  margin-top: 12px;
}
@media (max-width: 768px) {
  .btn--prev:not(:first-child, .btn--header-contact, .btn--header-partner) {
    margin-top: 9.99996px;
  }
}
@media (max-width: 480px) {
  .btn--prev:not(:first-child, .btn--header-contact, .btn--header-partner) {
    margin-top: 1.5vw;
  }
}
.btn--prev:has(img) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1em;
  align-items: center;
}
.btn--prev:has(img) > span {
  text-align: left;
  width: fit-content;
}
.btn--prev:has(img) > img {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  vertical-align: middle;
  margin-right: 0.25em;
}
.btn--prev:has(img) > img:not(:first-child) {
  margin-top: 0;
}
.btn--prev:has(img) > img {
  font-size: 2.4rem;
}
.btn--prev:has(img) > .pdf {
  filter: brightness(0) saturate(100%) invert(31%) sepia(29%) saturate(5951%) hue-rotate(338deg) brightness(102%) contrast(89%);
}
.btn--prev:has(img) > .xlsx {
  filter: brightness(0) saturate(100%) invert(32%) sepia(30%) saturate(1100%) hue-rotate(105deg) brightness(82%) contrast(95%);
}
.btn--prev:has(img) > .word {
  filter: brightness(0) saturate(100%) invert(24%) sepia(100%) saturate(3800%) hue-rotate(220deg) brightness(95%) contrast(105%);
}
.btn--prev:has(img) > .zip {
  filter: brightness(0) saturate(100%) invert(47%) sepia(55%) saturate(3000%) hue-rotate(355deg) brightness(85%) contrast(105%);
}
.btn--prev:has(img) > .external {
  filter: brightness(0) saturate(100%) invert(26%) sepia(62%) saturate(1541%) hue-rotate(217deg) brightness(88%) contrast(85%);
}
.btn--prev {
  display: inline-block;
  min-width: 180px;
  border-radius: calc(infinity * 1px);
  padding: 12px 24px;
  background: #fff;
  border: 1px solid rgb(55.9733333333%, 55.9733333333%, 55.9733333333%);
}
.btn--prev > span {
  color: rgb(51.5247058824%, 51.5247058824%, 51.5247058824%);
  background: none;
}
@media (any-hover: hover) {
  .btn--prev:hover {
    background-color: rgb(92.6745098039%, 92.6745098039%, 92.6745098039%);
  }
  .btn--prev:hover > span {
    background: none;
  }
}
.btn--prev:focus-visible {
  background-color: rgb(92.6745098039%, 92.6745098039%, 92.6745098039%);
}
.btn--prev:focus-visible > span {
  background: none;
}
@media (hover: none) {
  .btn--prev:active {
    background-color: rgb(92.6745098039%, 92.6745098039%, 92.6745098039%);
  }
  .btn--prev:active > span {
    background: none;
  }
}
@media (min-width: 1121px) {
  .btn--header {
    position: relative;
    border: 1px solid transparent;
    padding: 18px 16px;
    margin: 0;
    width: fit-content;
    text-align: center;
    border-radius: 4px;
    font-weight: 700;
    box-sizing: border-box;
    text-decoration: none;
    display: block;
    background-image: linear-gradient(#fff, #fff), linear-gradient(90deg, #474aa6 0%, #f24649 16%, #f4b700 32%, #f24649 48%, #474aa6 64%, #474aa6 100%);
    background-clip: padding-box, border-box;
    background-size: 100% 100%, 300% 100%;
    background-position: 0 0, 0 0;
    transition: background-position 0.4s ease, background-color 0.6s, background-image 0.6s, color 0.6s, box-shadow 0.6s;
    box-shadow: 2px 3px 4px 0px rgba(0, 0, 0, 0.1);
  }
  .btn--header > span {
    font-weight: 700;
    transition: background-position 0.4s ease;
  }
  .btn--header {
    min-width: 320px;
  }
}
@media (min-width: 1121px) and (max-width: 768px) {
  .btn--header {
    width: 100%;
    max-width: 100%;
  }
}
@media (min-width: 1121px) and (any-hover: hover) {
  .btn--header:hover {
    box-shadow: 0px 0px 6px -3px rgba(0, 0, 0, 0.6);
    background-position: 0 0, 100% 0;
  }
  .btn--header:hover > span {
    background-position: 100% 0;
  }
}
@media (min-width: 1121px) {
  .btn--header:focus-visible {
    box-shadow: 0px 0px 6px -3px rgba(0, 0, 0, 0.6);
    background-position: 0 0, 100% 0;
  }
  .btn--header:focus-visible > span {
    background-position: 100% 0;
  }
}
@media (min-width: 1121px) and (hover: none) {
  .btn--header:active {
    box-shadow: 0px 0px 6px -3px rgba(0, 0, 0, 0.6);
    background-position: 0 0, 100% 0;
  }
  .btn--header:active > span {
    background-position: 100% 0;
  }
}
@media (min-width: 1121px) {
  .btn--header:not(:first-child, .btn--header-contact, .btn--header-partner) {
    margin-top: 12px;
  }
}
@media (min-width: 1121px) and (max-width: 768px) {
  .btn--header:not(:first-child, .btn--header-contact, .btn--header-partner) {
    margin-top: 9.99996px;
  }
}
@media (min-width: 1121px) and (max-width: 480px) {
  .btn--header:not(:first-child, .btn--header-contact, .btn--header-partner) {
    margin-top: 1.5vw;
  }
}
@media (min-width: 1121px) {
  .btn--header:has(img) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1em;
    align-items: center;
  }
  .btn--header:has(img) > span {
    text-align: left;
    width: fit-content;
  }
  .btn--header:has(img) > img {
    display: inline-block;
    width: 1em;
    height: 1em;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    vertical-align: middle;
    margin-right: 0.25em;
  }
  .btn--header:has(img) > img:not(:first-child) {
    margin-top: 0;
  }
  .btn--header:has(img) > img {
    font-size: 2.4rem;
  }
  .btn--header:has(img) > .pdf {
    filter: brightness(0) saturate(100%) invert(31%) sepia(29%) saturate(5951%) hue-rotate(338deg) brightness(102%) contrast(89%);
  }
  .btn--header:has(img) > .xlsx {
    filter: brightness(0) saturate(100%) invert(32%) sepia(30%) saturate(1100%) hue-rotate(105deg) brightness(82%) contrast(95%);
  }
  .btn--header:has(img) > .word {
    filter: brightness(0) saturate(100%) invert(24%) sepia(100%) saturate(3800%) hue-rotate(220deg) brightness(95%) contrast(105%);
  }
  .btn--header:has(img) > .zip {
    filter: brightness(0) saturate(100%) invert(47%) sepia(55%) saturate(3000%) hue-rotate(355deg) brightness(85%) contrast(105%);
  }
  .btn--header:has(img) > .external {
    filter: brightness(0) saturate(100%) invert(26%) sepia(62%) saturate(1541%) hue-rotate(217deg) brightness(88%) contrast(85%);
  }
}
@media (min-width: 1121px) {
  .btn--header > span {
    color: transparent;
    background: linear-gradient(90deg, #474aa6 0%, #f24649 16%, #f4b700 32%, #f24649 48%, #474aa6 64%, #474aa6 100%);
    background-size: 300% 100%;
    background-position: 0 0;
    background-clip: text;
    -webkit-background-clip: text;
  }
}
@media (max-width: 1120px) {
  .btn--header > span {
    font-size: 1.8rem;
    color: #474aa6;
  }
}
.btn--header-contact {
  position: relative;
  border: 1px solid transparent;
  padding: 18px 16px;
  margin: 0;
  width: fit-content;
  text-align: center;
  border-radius: 4px;
  font-weight: 700;
  box-sizing: border-box;
  text-decoration: none;
  display: block;
  background-image: linear-gradient(#fff, #fff), linear-gradient(90deg, #474aa6 0%, #f24649 16%, #f4b700 32%, #f24649 48%, #474aa6 64%, #474aa6 100%);
  background-clip: padding-box, border-box;
  background-size: 100% 100%, 300% 100%;
  background-position: 0 0, 0 0;
  transition: background-position 0.4s ease, background-color 0.6s, background-image 0.6s, color 0.6s, box-shadow 0.6s;
  box-shadow: 2px 3px 4px 0px rgba(0, 0, 0, 0.1);
}
.btn--header-contact > span {
  font-weight: 700;
  transition: background-position 0.4s ease;
}
@media (max-width: 768px) {
  .btn--header-contact {
    width: 100%;
    max-width: 100%;
  }
}
@media (any-hover: hover) {
  .btn--header-contact:hover {
    box-shadow: 0px 0px 6px -3px rgba(0, 0, 0, 0.6);
    background-position: 0 0, 100% 0;
  }
  .btn--header-contact:hover > span {
    background-position: 100% 0;
  }
}
.btn--header-contact:focus-visible {
  box-shadow: 0px 0px 6px -3px rgba(0, 0, 0, 0.6);
  background-position: 0 0, 100% 0;
}
.btn--header-contact:focus-visible > span {
  background-position: 100% 0;
}
@media (hover: none) {
  .btn--header-contact:active {
    box-shadow: 0px 0px 6px -3px rgba(0, 0, 0, 0.6);
    background-position: 0 0, 100% 0;
  }
  .btn--header-contact:active > span {
    background-position: 100% 0;
  }
}
.btn--header-contact:not(:first-child, .btn--header-contact, .btn--header-partner) {
  margin-top: 12px;
}
@media (max-width: 768px) {
  .btn--header-contact:not(:first-child, .btn--header-contact, .btn--header-partner) {
    margin-top: 9.99996px;
  }
}
@media (max-width: 480px) {
  .btn--header-contact:not(:first-child, .btn--header-contact, .btn--header-partner) {
    margin-top: 1.5vw;
  }
}
.btn--header-contact:has(img) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1em;
  align-items: center;
}
.btn--header-contact:has(img) > span {
  text-align: left;
  width: fit-content;
}
.btn--header-contact:has(img) > img {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  vertical-align: middle;
  margin-right: 0.25em;
}
.btn--header-contact:has(img) > img:not(:first-child) {
  margin-top: 0;
}
.btn--header-contact:has(img) > img {
  font-size: 2.4rem;
}
.btn--header-contact:has(img) > .pdf {
  filter: brightness(0) saturate(100%) invert(31%) sepia(29%) saturate(5951%) hue-rotate(338deg) brightness(102%) contrast(89%);
}
.btn--header-contact:has(img) > .xlsx {
  filter: brightness(0) saturate(100%) invert(32%) sepia(30%) saturate(1100%) hue-rotate(105deg) brightness(82%) contrast(95%);
}
.btn--header-contact:has(img) > .word {
  filter: brightness(0) saturate(100%) invert(24%) sepia(100%) saturate(3800%) hue-rotate(220deg) brightness(95%) contrast(105%);
}
.btn--header-contact:has(img) > .zip {
  filter: brightness(0) saturate(100%) invert(47%) sepia(55%) saturate(3000%) hue-rotate(355deg) brightness(85%) contrast(105%);
}
.btn--header-contact:has(img) > .external {
  filter: brightness(0) saturate(100%) invert(26%) sepia(62%) saturate(1541%) hue-rotate(217deg) brightness(88%) contrast(85%);
}
.btn--header-contact {
  display: grid;
  place-items: center;
  min-width: 0;
  min-height: 28px;
  padding: 2px 0.75em 0;
  font-weight: 400;
  border: 1px solid transparent;
  background-clip: padding-box, border-box;
  background-size: 300% 100%, 300% 100%;
  background-position: 0 0, 0 0;
  transition: background-position 0.4s ease, background-color 0.6s, color 0.6s, box-shadow 0.6s;
}
@media (max-width: 1280px) {
  .btn--header-contact {
    font-size: 1.4rem;
  }
}
@media (max-width: 1120px) {
  .btn--header-contact {
    font-size: 1.8rem;
    min-height: 64px;
  }
}
.btn--header-contact > span {
  color: #fff;
  font-weight: 400;
}
@media (max-width: 1280px) {
  .btn--header-contact > span {
    font-size: 1.4rem;
  }
}
@media (max-width: 1120px) {
  .btn--header-contact > span {
    font-size: 1.8rem;
  }
}
@media (any-hover: hover) {
  .btn--header-contact:hover {
    background-position: 100% 0, 100% 0;
  }
}
.btn--header-contact:focus-visible {
  background-position: 100% 0, 100% 0;
}
@media (hover: none) {
  .btn--header-contact:active {
    background-position: 100% 0, 100% 0;
  }
}
.btn--header-contact {
  background-image: linear-gradient(90deg, #f46f00 0%, #f24649 16%, #f4b700 32%, #f24649 52%, #f46f00 68%, #f24649 84%, #f4b700 100%), linear-gradient(90deg, #f46f00 0%, #f24649 16%, #f4b700 32%, #f24649 52%, #f46f00 68%, #f24649 84%, #f4b700 100%);
}
.btn--back, .btn--clear {
  position: relative;
  border: 1px solid transparent;
  padding: 18px 16px;
  margin: 0;
  width: fit-content;
  text-align: center;
  border-radius: 4px;
  font-weight: 700;
  box-sizing: border-box;
  text-decoration: none;
  display: block;
  background-image: linear-gradient(#fff, #fff), linear-gradient(90deg, #474aa6 0%, #f24649 16%, #f4b700 32%, #f24649 48%, #474aa6 64%, #474aa6 100%);
  background-clip: padding-box, border-box;
  background-size: 100% 100%, 300% 100%;
  background-position: 0 0, 0 0;
  transition: background-position 0.4s ease, background-color 0.6s, background-image 0.6s, color 0.6s, box-shadow 0.6s;
  box-shadow: 2px 3px 4px 0px rgba(0, 0, 0, 0.1);
}
.btn--back > span, .btn--clear > span {
  font-weight: 700;
  transition: background-position 0.4s ease;
}
@media (max-width: 768px) {
  .btn--back, .btn--clear {
    width: 100%;
    max-width: 100%;
  }
}
@media (any-hover: hover) {
  .btn--back:hover, .btn--clear:hover {
    box-shadow: 0px 0px 6px -3px rgba(0, 0, 0, 0.6);
    background-position: 0 0, 100% 0;
  }
  .btn--back:hover > span, .btn--clear:hover > span {
    background-position: 100% 0;
  }
}
.btn--back:focus-visible, .btn--clear:focus-visible {
  box-shadow: 0px 0px 6px -3px rgba(0, 0, 0, 0.6);
  background-position: 0 0, 100% 0;
}
.btn--back:focus-visible > span, .btn--clear:focus-visible > span {
  background-position: 100% 0;
}
@media (hover: none) {
  .btn--back:active, .btn--clear:active {
    box-shadow: 0px 0px 6px -3px rgba(0, 0, 0, 0.6);
    background-position: 0 0, 100% 0;
  }
  .btn--back:active > span, .btn--clear:active > span {
    background-position: 100% 0;
  }
}
.btn--back:not(:first-child, .btn--header-contact, .btn--header-partner), .btn--clear:not(:first-child, .btn--header-contact, .btn--header-partner) {
  margin-top: 12px;
}
@media (max-width: 768px) {
  .btn--back:not(:first-child, .btn--header-contact, .btn--header-partner), .btn--clear:not(:first-child, .btn--header-contact, .btn--header-partner) {
    margin-top: 9.99996px;
  }
}
@media (max-width: 480px) {
  .btn--back:not(:first-child, .btn--header-contact, .btn--header-partner), .btn--clear:not(:first-child, .btn--header-contact, .btn--header-partner) {
    margin-top: 1.5vw;
  }
}
.btn--back:has(img), .btn--clear:has(img) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1em;
  align-items: center;
}
.btn--back:has(img) > span, .btn--clear:has(img) > span {
  text-align: left;
  width: fit-content;
}
.btn--back:has(img) > img, .btn--clear:has(img) > img {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  vertical-align: middle;
  margin-right: 0.25em;
}
.btn--back:has(img) > img:not(:first-child), .btn--clear:has(img) > img:not(:first-child) {
  margin-top: 0;
}
.btn--back:has(img) > img, .btn--clear:has(img) > img {
  font-size: 2.4rem;
}
.btn--back:has(img) > .pdf, .btn--clear:has(img) > .pdf {
  filter: brightness(0) saturate(100%) invert(31%) sepia(29%) saturate(5951%) hue-rotate(338deg) brightness(102%) contrast(89%);
}
.btn--back:has(img) > .xlsx, .btn--clear:has(img) > .xlsx {
  filter: brightness(0) saturate(100%) invert(32%) sepia(30%) saturate(1100%) hue-rotate(105deg) brightness(82%) contrast(95%);
}
.btn--back:has(img) > .word, .btn--clear:has(img) > .word {
  filter: brightness(0) saturate(100%) invert(24%) sepia(100%) saturate(3800%) hue-rotate(220deg) brightness(95%) contrast(105%);
}
.btn--back:has(img) > .zip, .btn--clear:has(img) > .zip {
  filter: brightness(0) saturate(100%) invert(47%) sepia(55%) saturate(3000%) hue-rotate(355deg) brightness(85%) contrast(105%);
}
.btn--back:has(img) > .external, .btn--clear:has(img) > .external {
  filter: brightness(0) saturate(100%) invert(26%) sepia(62%) saturate(1541%) hue-rotate(217deg) brightness(88%) contrast(85%);
}
.btn--back, .btn--clear {
  min-width: 240px;
  background: none;
  background-color: #fff;
  border: 1px solid rgb(55.9733333333%, 55.9733333333%, 55.9733333333%);
}
@media (max-width: 768px) {
  .btn--back, .btn--clear {
    min-width: 100%;
  }
}
.btn--back:has(.arrow), .btn--clear:has(.arrow) {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  padding: 18px 32px 18px 16px;
}
.btn--back .arrow, .btn--clear .arrow {
  width: 1em;
  height: 1em;
  object-fit: contain;
  filter: brightness(0) saturate(100%) invert(31%) sepia(15%) saturate(3200%) hue-rotate(215deg) brightness(82%) contrast(90%);
  filter: brightness(0) saturate(100%) invert(27%);
}
.btn--back > span, .btn--clear > span {
  color: rgb(51.5247058824%, 51.5247058824%, 51.5247058824%);
  background: none;
}
@media (any-hover: hover) {
  .btn--back:hover, .btn--clear:hover {
    background-color: rgb(92.6745098039%, 92.6745098039%, 92.6745098039%);
  }
  .btn--back:hover > span, .btn--clear:hover > span {
    background: none;
  }
}
.btn--back:focus-visible, .btn--clear:focus-visible {
  background-color: rgb(92.6745098039%, 92.6745098039%, 92.6745098039%);
}
.btn--back:focus-visible > span, .btn--clear:focus-visible > span {
  background: none;
}
@media (hover: none) {
  .btn--back:active, .btn--clear:active {
    background-color: rgb(92.6745098039%, 92.6745098039%, 92.6745098039%);
  }
  .btn--back:active > span, .btn--clear:active > span {
    background: none;
  }
}
.btn--next {
  position: relative;
  border: 1px solid transparent;
  padding: 18px 16px;
  margin: 0;
  width: fit-content;
  text-align: center;
  border-radius: 4px;
  font-weight: 700;
  box-sizing: border-box;
  text-decoration: none;
  display: block;
  background-image: linear-gradient(#fff, #fff), linear-gradient(90deg, #474aa6 0%, #f24649 16%, #f4b700 32%, #f24649 48%, #474aa6 64%, #474aa6 100%);
  background-clip: padding-box, border-box;
  background-size: 100% 100%, 300% 100%;
  background-position: 0 0, 0 0;
  transition: background-position 0.4s ease, background-color 0.6s, background-image 0.6s, color 0.6s, box-shadow 0.6s;
  box-shadow: 2px 3px 4px 0px rgba(0, 0, 0, 0.1);
}
.btn--next > span {
  font-weight: 700;
  transition: background-position 0.4s ease;
}
@media (max-width: 768px) {
  .btn--next {
    width: 100%;
    max-width: 100%;
  }
}
@media (any-hover: hover) {
  .btn--next:hover {
    box-shadow: 0px 0px 6px -3px rgba(0, 0, 0, 0.6);
    background-position: 0 0, 100% 0;
  }
  .btn--next:hover > span {
    background-position: 100% 0;
  }
}
.btn--next:focus-visible {
  box-shadow: 0px 0px 6px -3px rgba(0, 0, 0, 0.6);
  background-position: 0 0, 100% 0;
}
.btn--next:focus-visible > span {
  background-position: 100% 0;
}
@media (hover: none) {
  .btn--next:active {
    box-shadow: 0px 0px 6px -3px rgba(0, 0, 0, 0.6);
    background-position: 0 0, 100% 0;
  }
  .btn--next:active > span {
    background-position: 100% 0;
  }
}
.btn--next:not(:first-child, .btn--header-contact, .btn--header-partner) {
  margin-top: 12px;
}
@media (max-width: 768px) {
  .btn--next:not(:first-child, .btn--header-contact, .btn--header-partner) {
    margin-top: 9.99996px;
  }
}
@media (max-width: 480px) {
  .btn--next:not(:first-child, .btn--header-contact, .btn--header-partner) {
    margin-top: 1.5vw;
  }
}
.btn--next:has(img) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1em;
  align-items: center;
}
.btn--next:has(img) > span {
  text-align: left;
  width: fit-content;
}
.btn--next:has(img) > img {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  vertical-align: middle;
  margin-right: 0.25em;
}
.btn--next:has(img) > img:not(:first-child) {
  margin-top: 0;
}
.btn--next:has(img) > img {
  font-size: 2.4rem;
}
.btn--next:has(img) > .pdf {
  filter: brightness(0) saturate(100%) invert(31%) sepia(29%) saturate(5951%) hue-rotate(338deg) brightness(102%) contrast(89%);
}
.btn--next:has(img) > .xlsx {
  filter: brightness(0) saturate(100%) invert(32%) sepia(30%) saturate(1100%) hue-rotate(105deg) brightness(82%) contrast(95%);
}
.btn--next:has(img) > .word {
  filter: brightness(0) saturate(100%) invert(24%) sepia(100%) saturate(3800%) hue-rotate(220deg) brightness(95%) contrast(105%);
}
.btn--next:has(img) > .zip {
  filter: brightness(0) saturate(100%) invert(47%) sepia(55%) saturate(3000%) hue-rotate(355deg) brightness(85%) contrast(105%);
}
.btn--next:has(img) > .external {
  filter: brightness(0) saturate(100%) invert(26%) sepia(62%) saturate(1541%) hue-rotate(217deg) brightness(88%) contrast(85%);
}
.btn--next {
  min-width: 240px;
  background: none;
  background-color: #474aa6;
  border-color: #474aa6;
}
@media (max-width: 768px) {
  .btn--next {
    min-width: 100%;
  }
}
.btn--next:has(.arrow) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding: 18px 16px 18px 32px;
}
.btn--next .arrow {
  width: 1em;
  height: 1em;
  object-fit: contain;
  filter: brightness(0) saturate(100%) invert(31%) sepia(15%) saturate(3200%) hue-rotate(215deg) brightness(82%) contrast(90%);
  filter: brightness(0) invert(1);
}
.btn--next > span {
  color: #fff;
  background: none;
}
@media (any-hover: hover) {
  .btn--next:hover {
    background-color: #fff;
  }
  .btn--next:hover > span {
    color: #474aa6;
    background: none;
  }
  .btn--next:hover .arrow {
    filter: brightness(0) saturate(100%) invert(31%) sepia(27%) saturate(2223%) hue-rotate(211deg) brightness(91%) contrast(92%);
  }
}
.btn--next:focus-visible {
  background-color: #fff;
}
.btn--next:focus-visible > span {
  color: #474aa6;
  background: none;
}
.btn--next:focus-visible .arrow {
  filter: brightness(0) saturate(100%) invert(31%) sepia(27%) saturate(2223%) hue-rotate(211deg) brightness(91%) contrast(92%);
}
@media (hover: none) {
  .btn--next:active {
    background-color: #fff;
  }
  .btn--next:active > span {
    color: #474aa6;
    background: none;
  }
  .btn--next:active .arrow {
    filter: brightness(0) saturate(100%) invert(31%) sepia(27%) saturate(2223%) hue-rotate(211deg) brightness(91%) contrast(92%);
  }
}

*[class*=grid-column--] > .btn--primary,
*[class*=grid-column--] > .btn--primary-invert,
*[class*=grid-column--] > .btn--primary-plain {
  min-width: auto;
  width: 100%;
}

.btn-list--center {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 24px;
}
@media (max-width: 768px) {
  .btn-list--center {
    gap: 9.99996px 19.99992px;
  }
}
@media (max-width: 480px) {
  .btn-list--center {
    gap: 1.5vw 3vw;
  }
}
.btn-list--center > *:not(:first-child, .modal, .modal--company-notice) {
  margin-top: 0px;
}
@media (max-width: 768px) {
  .btn-list--center > *:not(:first-child, .modal, .modal--company-notice) {
    margin-top: 0px;
  }
}
@media (max-width: 480px) {
  .btn-list--center > *:not(:first-child, .modal, .modal--company-notice) {
    margin-top: 0vw;
  }
}
.btn-list--center {
  justify-content: center;
  margin-top: 56px;
}
@media (max-width: 768px) {
  .btn-list--center {
    margin-top: 46.66648px;
  }
}
@media (max-width: 480px) {
  .btn-list--center {
    margin-top: 7vw;
  }
}
.btn-list--center {
  margin-left: auto;
  margin-right: auto;
}
.btn-list--center:has(> .btn--return) {
  margin-top: 160px;
}
@media (max-width: 768px) {
  .btn-list--center:has(> .btn--return) {
    margin-top: 133.3328px;
  }
}
@media (max-width: 480px) {
  .btn-list--center:has(> .btn--return) {
    margin-top: 20vw;
  }
}
.btn-list--center:has(> .btn--return) {
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 40px;
  box-sizing: border-box;
}
@media (max-width: 1000px) {
  .btn-list--center:has(> .btn--return) {
    padding: 0 20px;
  }
}
.btn-list--left {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 24px;
}
@media (max-width: 768px) {
  .btn-list--left {
    gap: 9.99996px 19.99992px;
  }
}
@media (max-width: 480px) {
  .btn-list--left {
    gap: 1.5vw 3vw;
  }
}
.btn-list--left > *:not(:first-child, .modal, .modal--company-notice) {
  margin-top: 0px;
}
@media (max-width: 768px) {
  .btn-list--left > *:not(:first-child, .modal, .modal--company-notice) {
    margin-top: 0px;
  }
}
@media (max-width: 480px) {
  .btn-list--left > *:not(:first-child, .modal, .modal--company-notice) {
    margin-top: 0vw;
  }
}
.btn-list--left {
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  margin-top: 32px;
}
@media (max-width: 768px) {
  .btn-list--left {
    margin-top: 26.66656px;
  }
}
@media (max-width: 480px) {
  .btn-list--left {
    margin-top: 4vw;
  }
}
.btn-list--right {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 24px;
}
@media (max-width: 768px) {
  .btn-list--right {
    gap: 9.99996px 19.99992px;
  }
}
@media (max-width: 480px) {
  .btn-list--right {
    gap: 1.5vw 3vw;
  }
}
.btn-list--right > *:not(:first-child, .modal, .modal--company-notice) {
  margin-top: 0px;
}
@media (max-width: 768px) {
  .btn-list--right > *:not(:first-child, .modal, .modal--company-notice) {
    margin-top: 0px;
  }
}
@media (max-width: 480px) {
  .btn-list--right > *:not(:first-child, .modal, .modal--company-notice) {
    margin-top: 0vw;
  }
}
.btn-list--right {
  justify-content: flex-end;
  align-items: flex-end;
  flex-direction: column;
  margin-top: 32px;
}
@media (max-width: 768px) {
  .btn-list--right {
    margin-top: 26.66656px;
  }
}
@media (max-width: 480px) {
  .btn-list--right {
    margin-top: 4vw;
  }
}

.btn-wrap {
  width: fit-content;
  text-align: center;
}

/*--------------------------------------------------
ＬＩＳＴ
--------------------------------------------------*/
.list--square, .list--square-plain {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px 16px;
}
@media (max-width: 768px) {
  .list--square, .list--square-plain {
    gap: 8.3333px 13.33328px;
  }
}
@media (max-width: 480px) {
  .list--square, .list--square-plain {
    gap: 1.25vw 2vw;
  }
}
.list--square > li, .list--square-plain > li {
  display: inline-block;
  padding-left: 1.5em;
  text-indent: -1.5em;
}
@media (max-width: 768px) {
  .list--square > li, .list--square-plain > li {
    line-height: 2em;
  }
}
.list--square > li::before, .list--square-plain > li::before {
  display: inline-block;
  content: "";
  position: relative;
}
.list--square > li .arrow, .list--square-plain > li .arrow {
  width: 1em;
  height: 1em;
  object-fit: contain;
  filter: brightness(0) saturate(100%) invert(31%) sepia(15%) saturate(3200%) hue-rotate(215deg) brightness(82%) contrast(90%);
  transform: translateY(0.1em);
}
.list--square > li:has(.arrow) a, .list--square-plain > li:has(.arrow) a {
  margin-right: 4px;
}
.list--square:not([class*=-plain]) > li a, .list--square-plain:not([class*=-plain]) > li a {
  color: transparent;
  background-image: linear-gradient(90deg, #474aa6 0%, #f24649 16%, #f4b700 32%, #f24649 48%, #474aa6 64%, #474aa6 100%), linear-gradient(90deg, #474aa6 0%, #f24649 16%, #f4b700 32%, #f24649 48%, #474aa6 64%, #474aa6 100%);
  background-repeat: no-repeat;
  background-size: 300% 100%, 300% 1px;
  background-position: 0 0, 0 100%;
  background-clip: text, border-box;
  animation: underline02-reset 0.3s ease forwards;
}
@media (any-hover: hover) {
  .list--square:not([class*=-plain]) > li a:hover, .list--square-plain:not([class*=-plain]) > li a:hover {
    animation: underline02 0.5s ease forwards;
  }
}
.list--square:not([class*=-plain]) > li a:focus-visible, .list--square-plain:not([class*=-plain]) > li a:focus-visible {
  animation: underline02 0.5s ease forwards;
}
@media (hover: none) {
  .list--square:not([class*=-plain]) > li a:active, .list--square-plain:not([class*=-plain]) > li a:active {
    animation: underline02 0.5s ease forwards;
  }
}
.list--square:not(:first-child), .list--square-plain:not(:first-child) {
  margin-top: 24px;
}
@media (max-width: 768px) {
  .list--square:not(:first-child), .list--square-plain:not(:first-child) {
    margin-top: 19.99992px;
  }
}
@media (max-width: 480px) {
  .list--square:not(:first-child), .list--square-plain:not(:first-child) {
    margin-top: 3vw;
  }
}
.list--square > li::before, .list--square-plain > li::before {
  content: "";
  display: inline-block;
  width: 0.45em;
  height: 1em;
  margin: 0 0.5em 0.1em 0;
  position: relative;
  top: 0.25em;
  background: linear-gradient(180deg, #474aa6 18%, rgba(71, 74, 166, 0.6784313725) 97%);
  border-radius: 2px;
}
.list--square-plain > li a {
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 100% 1px;
}
@media (any-hover: hover) {
  .list--square-plain > li a:hover {
    animation: underline01 0.5s ease forwards;
  }
}
.list--square-plain > li a:focus-visible {
  animation: underline01 0.5s ease forwards;
}
@media (hover: none) {
  .list--square-plain > li a:active {
    animation: underline01 0.5s ease forwards;
  }
}
.list--dot, .list--dot-plain {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px 16px;
}
@media (max-width: 768px) {
  .list--dot, .list--dot-plain {
    gap: 8.3333px 13.33328px;
  }
}
@media (max-width: 480px) {
  .list--dot, .list--dot-plain {
    gap: 1.25vw 2vw;
  }
}
.list--dot > li, .list--dot-plain > li {
  display: inline-block;
  padding-left: 1.5em;
  text-indent: -1.5em;
}
@media (max-width: 768px) {
  .list--dot > li, .list--dot-plain > li {
    line-height: 2em;
  }
}
.list--dot > li::before, .list--dot-plain > li::before {
  display: inline-block;
  content: "";
  position: relative;
}
.list--dot > li .arrow, .list--dot-plain > li .arrow {
  width: 1em;
  height: 1em;
  object-fit: contain;
  filter: brightness(0) saturate(100%) invert(31%) sepia(15%) saturate(3200%) hue-rotate(215deg) brightness(82%) contrast(90%);
  transform: translateY(0.1em);
}
.list--dot > li:has(.arrow) a, .list--dot-plain > li:has(.arrow) a {
  margin-right: 4px;
}
.list--dot:not([class*=-plain]) > li a, .list--dot-plain:not([class*=-plain]) > li a {
  color: transparent;
  background-image: linear-gradient(90deg, #474aa6 0%, #f24649 16%, #f4b700 32%, #f24649 48%, #474aa6 64%, #474aa6 100%), linear-gradient(90deg, #474aa6 0%, #f24649 16%, #f4b700 32%, #f24649 48%, #474aa6 64%, #474aa6 100%);
  background-repeat: no-repeat;
  background-size: 300% 100%, 300% 1px;
  background-position: 0 0, 0 100%;
  background-clip: text, border-box;
  animation: underline02-reset 0.3s ease forwards;
}
@media (any-hover: hover) {
  .list--dot:not([class*=-plain]) > li a:hover, .list--dot-plain:not([class*=-plain]) > li a:hover {
    animation: underline02 0.5s ease forwards;
  }
}
.list--dot:not([class*=-plain]) > li a:focus-visible, .list--dot-plain:not([class*=-plain]) > li a:focus-visible {
  animation: underline02 0.5s ease forwards;
}
@media (hover: none) {
  .list--dot:not([class*=-plain]) > li a:active, .list--dot-plain:not([class*=-plain]) > li a:active {
    animation: underline02 0.5s ease forwards;
  }
}
.list--dot:not(:first-child), .list--dot-plain:not(:first-child) {
  margin-top: 24px;
}
@media (max-width: 768px) {
  .list--dot:not(:first-child), .list--dot-plain:not(:first-child) {
    margin-top: 19.99992px;
  }
}
@media (max-width: 480px) {
  .list--dot:not(:first-child), .list--dot-plain:not(:first-child) {
    margin-top: 3vw;
  }
}
.list--dot > li::before, .list--dot-plain > li::before {
  width: 8px;
  aspect-ratio: 1;
  border-radius: calc(infinity * 1px);
  margin: 0 0.75em 0.1em 0.25em;
  top: -0.1em;
  background: linear-gradient(270deg, rgba(71, 74, 166, 0.1) 0%, rgba(27, 29, 64, 0.9) 100%);
}
.list--dot-plain > li a {
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 100% 1px;
}
@media (any-hover: hover) {
  .list--dot-plain > li a:hover {
    animation: underline01 0.5s ease forwards;
  }
}
.list--dot-plain > li a:focus-visible {
  animation: underline01 0.5s ease forwards;
}
@media (hover: none) {
  .list--dot-plain > li a:active {
    animation: underline01 0.5s ease forwards;
  }
}
.list--horizontal, .list--horizontal-plain {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px 16px;
}
@media (max-width: 768px) {
  .list--horizontal, .list--horizontal-plain {
    gap: 8.3333px 13.33328px;
  }
}
@media (max-width: 480px) {
  .list--horizontal, .list--horizontal-plain {
    gap: 1.25vw 2vw;
  }
}
.list--horizontal > li, .list--horizontal-plain > li {
  display: inline-block;
  padding-left: 1.5em;
  text-indent: -1.5em;
}
@media (max-width: 768px) {
  .list--horizontal > li, .list--horizontal-plain > li {
    line-height: 2em;
  }
}
.list--horizontal > li::before, .list--horizontal-plain > li::before {
  display: inline-block;
  content: "";
  position: relative;
}
.list--horizontal > li .arrow, .list--horizontal-plain > li .arrow {
  width: 1em;
  height: 1em;
  object-fit: contain;
  filter: brightness(0) saturate(100%) invert(31%) sepia(15%) saturate(3200%) hue-rotate(215deg) brightness(82%) contrast(90%);
  transform: translateY(0.1em);
}
.list--horizontal > li:has(.arrow) a, .list--horizontal-plain > li:has(.arrow) a {
  margin-right: 4px;
}
.list--horizontal:not([class*=-plain]) > li a, .list--horizontal-plain:not([class*=-plain]) > li a {
  color: transparent;
  background-image: linear-gradient(90deg, #474aa6 0%, #f24649 16%, #f4b700 32%, #f24649 48%, #474aa6 64%, #474aa6 100%), linear-gradient(90deg, #474aa6 0%, #f24649 16%, #f4b700 32%, #f24649 48%, #474aa6 64%, #474aa6 100%);
  background-repeat: no-repeat;
  background-size: 300% 100%, 300% 1px;
  background-position: 0 0, 0 100%;
  background-clip: text, border-box;
  animation: underline02-reset 0.3s ease forwards;
}
@media (any-hover: hover) {
  .list--horizontal:not([class*=-plain]) > li a:hover, .list--horizontal-plain:not([class*=-plain]) > li a:hover {
    animation: underline02 0.5s ease forwards;
  }
}
.list--horizontal:not([class*=-plain]) > li a:focus-visible, .list--horizontal-plain:not([class*=-plain]) > li a:focus-visible {
  animation: underline02 0.5s ease forwards;
}
@media (hover: none) {
  .list--horizontal:not([class*=-plain]) > li a:active, .list--horizontal-plain:not([class*=-plain]) > li a:active {
    animation: underline02 0.5s ease forwards;
  }
}
.list--horizontal:not(:first-child), .list--horizontal-plain:not(:first-child) {
  margin-top: 24px;
}
@media (max-width: 768px) {
  .list--horizontal:not(:first-child), .list--horizontal-plain:not(:first-child) {
    margin-top: 19.99992px;
  }
}
@media (max-width: 480px) {
  .list--horizontal:not(:first-child), .list--horizontal-plain:not(:first-child) {
    margin-top: 3vw;
  }
}
.list--horizontal, .list--horizontal-plain {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em 2.4em;
}
.list--horizontal > li, .list--horizontal-plain > li {
  padding-left: 0;
  text-indent: 0;
}
.list--horizontal > li::before, .list--horizontal-plain > li::before {
  content: none;
}
.list--horizontal-plain > li a {
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 100% 1px;
}
@media (any-hover: hover) {
  .list--horizontal-plain > li a:hover {
    animation: underline01 0.5s ease forwards;
  }
}
.list--horizontal-plain > li a:focus-visible {
  animation: underline01 0.5s ease forwards;
}
@media (hover: none) {
  .list--horizontal-plain > li a:active {
    animation: underline01 0.5s ease forwards;
  }
}
.list--note, .list--note-plain {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px 16px;
}
@media (max-width: 768px) {
  .list--note, .list--note-plain {
    gap: 8.3333px 13.33328px;
  }
}
@media (max-width: 480px) {
  .list--note, .list--note-plain {
    gap: 1.25vw 2vw;
  }
}
.list--note > li, .list--note-plain > li {
  display: inline-block;
  padding-left: 1.5em;
  text-indent: -1.5em;
}
@media (max-width: 768px) {
  .list--note > li, .list--note-plain > li {
    line-height: 2em;
  }
}
.list--note > li::before, .list--note-plain > li::before {
  display: inline-block;
  content: "";
  position: relative;
}
.list--note > li .arrow, .list--note-plain > li .arrow {
  width: 1em;
  height: 1em;
  object-fit: contain;
  filter: brightness(0) saturate(100%) invert(31%) sepia(15%) saturate(3200%) hue-rotate(215deg) brightness(82%) contrast(90%);
  transform: translateY(0.1em);
}
.list--note > li:has(.arrow) a, .list--note-plain > li:has(.arrow) a {
  margin-right: 4px;
}
.list--note:not([class*=-plain]) > li a, .list--note-plain:not([class*=-plain]) > li a {
  color: transparent;
  background-image: linear-gradient(90deg, #474aa6 0%, #f24649 16%, #f4b700 32%, #f24649 48%, #474aa6 64%, #474aa6 100%), linear-gradient(90deg, #474aa6 0%, #f24649 16%, #f4b700 32%, #f24649 48%, #474aa6 64%, #474aa6 100%);
  background-repeat: no-repeat;
  background-size: 300% 100%, 300% 1px;
  background-position: 0 0, 0 100%;
  background-clip: text, border-box;
  animation: underline02-reset 0.3s ease forwards;
}
@media (any-hover: hover) {
  .list--note:not([class*=-plain]) > li a:hover, .list--note-plain:not([class*=-plain]) > li a:hover {
    animation: underline02 0.5s ease forwards;
  }
}
.list--note:not([class*=-plain]) > li a:focus-visible, .list--note-plain:not([class*=-plain]) > li a:focus-visible {
  animation: underline02 0.5s ease forwards;
}
@media (hover: none) {
  .list--note:not([class*=-plain]) > li a:active, .list--note-plain:not([class*=-plain]) > li a:active {
    animation: underline02 0.5s ease forwards;
  }
}
.list--note:not(:first-child), .list--note-plain:not(:first-child) {
  margin-top: 24px;
}
@media (max-width: 768px) {
  .list--note:not(:first-child), .list--note-plain:not(:first-child) {
    margin-top: 19.99992px;
  }
}
@media (max-width: 480px) {
  .list--note:not(:first-child), .list--note-plain:not(:first-child) {
    margin-top: 3vw;
  }
}
.list--note > li, .list--note-plain > li {
  font-size: 1.2rem;
  width: 100%;
  padding-left: 0;
  text-indent: 0;
}
.list--note-plain > li a {
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 100% 1px;
}
@media (any-hover: hover) {
  .list--note-plain > li a:hover {
    animation: underline01 0.5s ease forwards;
  }
}
.list--note-plain > li a:focus-visible {
  animation: underline01 0.5s ease forwards;
}
@media (hover: none) {
  .list--note-plain > li a:active {
    animation: underline01 0.5s ease forwards;
  }
}

.dlist--primary dt, .dlist--text dt {
  position: relative;
  color: #474aa6;
  display: inline-block;
  font-weight: 700;
}
.dlist--primary dt span, .dlist--text dt span {
  font-weight: 700;
}
.dlist--primary dt:not(:first-child), .dlist--text dt:not(:first-child) {
  margin-top: 16px;
}
@media (max-width: 768px) {
  .dlist--primary dt:not(:first-child), .dlist--text dt:not(:first-child) {
    margin-top: 13.33328px;
  }
}
@media (max-width: 480px) {
  .dlist--primary dt:not(:first-child), .dlist--text dt:not(:first-child) {
    margin-top: 2vw;
  }
}
.dlist--primary:not(:first-child), .dlist--text:not(:first-child) {
  margin-top: 24px;
}
@media (max-width: 768px) {
  .dlist--primary:not(:first-child), .dlist--text:not(:first-child) {
    margin-top: 19.99992px;
  }
}
@media (max-width: 480px) {
  .dlist--primary:not(:first-child), .dlist--text:not(:first-child) {
    margin-top: 3vw;
  }
}
.dlist--primary dt .number, .dlist--text dt .number {
  color: #474aa6;
  display: inline-block;
  width: 2.4rem;
  text-align: center;
  text-indent: 0;
}
.dlist--text dt,
.dlist--text dt .number {
  color: #2b2d67;
}

/*--------------------------------------------------
アンカーリンク
--------------------------------------------------*/
.list--anchor, .list--anchor-plain {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px 16px;
}
@media (max-width: 768px) {
  .list--anchor, .list--anchor-plain {
    gap: 8.3333px 13.33328px;
  }
}
@media (max-width: 480px) {
  .list--anchor, .list--anchor-plain {
    gap: 1.25vw 2vw;
  }
}
.list--anchor > li, .list--anchor-plain > li {
  display: inline-block;
  padding-left: 1.5em;
  text-indent: -1.5em;
}
@media (max-width: 768px) {
  .list--anchor > li, .list--anchor-plain > li {
    line-height: 2em;
  }
}
.list--anchor > li::before, .list--anchor-plain > li::before {
  display: inline-block;
  content: "";
  position: relative;
}
.list--anchor > li .arrow, .list--anchor-plain > li .arrow {
  width: 1em;
  height: 1em;
  object-fit: contain;
  filter: brightness(0) saturate(100%) invert(31%) sepia(15%) saturate(3200%) hue-rotate(215deg) brightness(82%) contrast(90%);
  transform: translateY(0.1em);
}
.list--anchor > li:has(.arrow) a, .list--anchor-plain > li:has(.arrow) a {
  margin-right: 4px;
}
.list--anchor:not([class*=-plain]) > li a, .list--anchor-plain:not([class*=-plain]) > li a {
  color: transparent;
  background-image: linear-gradient(90deg, #474aa6 0%, #f24649 16%, #f4b700 32%, #f24649 48%, #474aa6 64%, #474aa6 100%), linear-gradient(90deg, #474aa6 0%, #f24649 16%, #f4b700 32%, #f24649 48%, #474aa6 64%, #474aa6 100%);
  background-repeat: no-repeat;
  background-size: 300% 100%, 300% 1px;
  background-position: 0 0, 0 100%;
  background-clip: text, border-box;
  animation: underline02-reset 0.3s ease forwards;
}
@media (any-hover: hover) {
  .list--anchor:not([class*=-plain]) > li a:hover, .list--anchor-plain:not([class*=-plain]) > li a:hover {
    animation: underline02 0.5s ease forwards;
  }
}
.list--anchor:not([class*=-plain]) > li a:focus-visible, .list--anchor-plain:not([class*=-plain]) > li a:focus-visible {
  animation: underline02 0.5s ease forwards;
}
@media (hover: none) {
  .list--anchor:not([class*=-plain]) > li a:active, .list--anchor-plain:not([class*=-plain]) > li a:active {
    animation: underline02 0.5s ease forwards;
  }
}
.list--anchor:not(:first-child), .list--anchor-plain:not(:first-child) {
  margin-top: 24px;
}
@media (max-width: 768px) {
  .list--anchor:not(:first-child), .list--anchor-plain:not(:first-child) {
    margin-top: 19.99992px;
  }
}
@media (max-width: 480px) {
  .list--anchor:not(:first-child), .list--anchor-plain:not(:first-child) {
    margin-top: 3vw;
  }
}
.list--anchor, .list--anchor-plain {
  display: flex;
  flex-wrap: wrap;
  gap: 24px 24px;
}
@media (max-width: 768px) {
  .list--anchor, .list--anchor-plain {
    gap: 19.99992px 19.99992px;
  }
}
@media (max-width: 480px) {
  .list--anchor, .list--anchor-plain {
    gap: 3vw 3vw;
  }
}
.list--anchor > li, .list--anchor-plain > li {
  padding-left: 0;
  text-indent: 0;
}
.list--anchor > li::before, .list--anchor-plain > li::before {
  content: none;
}
.list--anchor-plain > li a {
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 100% 1px;
}
@media (any-hover: hover) {
  .list--anchor-plain > li a:hover {
    animation: underline01 0.5s ease forwards;
  }
}
.list--anchor-plain > li a:focus-visible {
  animation: underline01 0.5s ease forwards;
}
@media (hover: none) {
  .list--anchor-plain > li a:active {
    animation: underline01 0.5s ease forwards;
  }
}

/*--------------------------------------------------
BG
--------------------------------------------------*/
:where(.bg--secondary > *:not(:first-child)) {
  margin-top: 24px;
}
@media (max-width: 768px) {
  :where(.bg--secondary > *:not(:first-child)) {
    margin-top: 19.99992px;
  }
}
@media (max-width: 480px) {
  :where(.bg--secondary > *:not(:first-child)) {
    margin-top: 3vw;
  }
}

:where(.bg--secondary:not(:first-child)) {
  margin-top: 68px;
}
@media (max-width: 768px) {
  :where(.bg--secondary:not(:first-child)) {
    margin-top: 59.99984px;
  }
}
@media (max-width: 480px) {
  :where(.bg--secondary:not(:first-child)) {
    margin-top: calc(6vw + 20px);
  }
}

.bg--primary {
  position: relative;
  padding: 32px;
  border-radius: 6px;
}
@media (max-width: 768px) {
  .bg--primary {
    padding: 24px 16px;
  }
}
.bg--primary > *:not(:first-child) {
  margin-top: 16px;
}
@media (max-width: 768px) {
  .bg--primary > *:not(:first-child) {
    margin-top: 13.33328px;
  }
}
@media (max-width: 480px) {
  .bg--primary > *:not(:first-child) {
    margin-top: 2vw;
  }
}
.bg--primary .title {
  position: absolute;
  inset: 0;
  margin: -20px auto auto 1em;
  width: fit-content;
  height: 40px;
  display: grid;
  place-items: center;
  grid-area: title;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.4;
  padding: 0 16px;
  border-radius: 4px;
}
.bg--primary {
  background-color: #f6f6ff;
  border: 1px solid rgb(92.3529411765%, 92.4235294118%, 97.9058823529%);
}
.bg--primary .title {
  color: #474aa6;
}
.bg--primary > .list--square:not(:first-child) {
  margin-top: 40px;
}
@media (max-width: 768px) {
  .bg--primary > .list--square:not(:first-child) {
    margin-top: 33.3332px;
  }
}
@media (max-width: 480px) {
  .bg--primary > .list--square:not(:first-child) {
    margin-top: 5vw;
  }
}
.bg--primary > .list--square + .list--dot {
  margin-top: 40px;
}
@media (max-width: 768px) {
  .bg--primary > .list--square + .list--dot {
    margin-top: 33.3332px;
  }
}
@media (max-width: 480px) {
  .bg--primary > .list--square + .list--dot {
    margin-top: 5vw;
  }
}
.bg--secondary {
  position: relative;
  padding: 32px;
  border-radius: 6px;
}
@media (max-width: 768px) {
  .bg--secondary {
    padding: 24px 16px;
  }
}
.bg--secondary > *:not(:first-child) {
  margin-top: 16px;
}
@media (max-width: 768px) {
  .bg--secondary > *:not(:first-child) {
    margin-top: 13.33328px;
  }
}
@media (max-width: 480px) {
  .bg--secondary > *:not(:first-child) {
    margin-top: 2vw;
  }
}
.bg--secondary .title {
  position: absolute;
  inset: 0;
  margin: -20px auto auto 1em;
  width: fit-content;
  height: 40px;
  display: grid;
  place-items: center;
  grid-area: title;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.4;
  padding: 0 16px;
  border-radius: 4px;
}
.bg--secondary {
  background-color: none;
  border: 2px solid transparent;
  background-image: linear-gradient(#fff, #fff), linear-gradient(180deg, #f46f00 18%, #f24649 48%, #f4b700 97%);
  background-clip: padding-box, border-box;
  background-size: 100% 100%, 100% 100%;
  background-position: 0 0, 0 0;
}
.bg--secondary .title {
  color: #fff;
  background-image: linear-gradient(180deg, #f46f00 18%, #f24649 48%, #f4b700 97%);
}
.bg--secondary .list--horizontal a {
  background-image: linear-gradient(180deg, #f46f00 18%, #f24649 48%, #f4b700 97%), linear-gradient(180deg, #f46f00 18%, #f24649 48%, #f4b700 97%);
}
.bg--secondary .list--horizontal .arrow {
  filter: brightness(0) saturate(100%) invert(45%) sepia(90%) saturate(2113%) hue-rotate(5deg) brightness(99%) contrast(104%);
}
.bg--secondary > .list--square {
  margin-top: 40px;
}
@media (max-width: 768px) {
  .bg--secondary > .list--square {
    margin-top: 33.3332px;
  }
}
@media (max-width: 480px) {
  .bg--secondary > .list--square {
    margin-top: 5vw;
  }
}
.bg--secondary > .list--square + .list--dot {
  margin-top: 40px;
}
@media (max-width: 768px) {
  .bg--secondary > .list--square + .list--dot {
    margin-top: 33.3332px;
  }
}
@media (max-width: 480px) {
  .bg--secondary > .list--square + .list--dot {
    margin-top: 5vw;
  }
}
.bg--text-color {
  position: relative;
  padding: 32px;
  border-radius: 6px;
}
@media (max-width: 768px) {
  .bg--text-color {
    padding: 24px 16px;
  }
}
.bg--text-color > *:not(:first-child) {
  margin-top: 16px;
}
@media (max-width: 768px) {
  .bg--text-color > *:not(:first-child) {
    margin-top: 13.33328px;
  }
}
@media (max-width: 480px) {
  .bg--text-color > *:not(:first-child) {
    margin-top: 2vw;
  }
}
.bg--text-color .title {
  position: absolute;
  inset: 0;
  margin: -20px auto auto 1em;
  width: fit-content;
  height: 40px;
  display: grid;
  place-items: center;
  grid-area: title;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.4;
  padding: 0 16px;
  border-radius: 4px;
}
.bg--text-color {
  background-color: #2b2d67;
  border-color: #2b2d67;
}
.bg--text-color > *,
.bg--text-color > *[class*=text-size] {
  color: #fff;
}
.bg--message-statement {
  position: relative;
  border-radius: 6px;
  background: linear-gradient(90deg, #f46f00 18%, #f24649 48%, #f4b700 97%);
  padding: 2px;
}
.bg--message-statement:has(img[src*="/assets/images/common/bg-message-statement.webp"]) {
  margin-top: 124px;
}
@media (max-width: 1078px) {
  .bg--message-statement:has(img[src*="/assets/images/common/bg-message-statement.webp"]) {
    margin-top: calc(124px - 1.5em);
  }
}
@media (max-width: 768px) {
  .bg--message-statement:has(img[src*="/assets/images/common/bg-message-statement.webp"]) {
    margin-top: 26.66656px;
  }
}
@media (max-width: 480px) {
  .bg--message-statement:has(img[src*="/assets/images/common/bg-message-statement.webp"]) {
    margin-top: 4vw;
  }
}
.bg--message-statement .inner {
  position: relative;
  padding: 32px;
  border-radius: 6px;
}
@media (max-width: 768px) {
  .bg--message-statement .inner {
    padding: 24px 16px;
  }
}
.bg--message-statement .inner > *:not(:first-child) {
  margin-top: 16px;
}
@media (max-width: 768px) {
  .bg--message-statement .inner > *:not(:first-child) {
    margin-top: 13.33328px;
  }
}
@media (max-width: 480px) {
  .bg--message-statement .inner > *:not(:first-child) {
    margin-top: 2vw;
  }
}
.bg--message-statement .inner .title {
  position: absolute;
  inset: 0;
  margin: -20px auto auto 1em;
  width: fit-content;
  height: 40px;
  display: grid;
  place-items: center;
  grid-area: title;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.4;
  padding: 0 16px;
  border-radius: 4px;
}
.bg--message-statement .inner {
  background-color: #fff;
  padding-right: 260px;
}
@media (max-width: 768px) {
  .bg--message-statement .inner {
    padding-right: 16px;
    padding-bottom: 240px;
  }
}
.bg--message-statement .text {
  position: relative;
  z-index: 1;
  margin: 0;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.6;
  background-image: linear-gradient(135deg, #474aa6 18%, #f24649 48%, #f4b700 97%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 768px) {
  .bg--message-statement .text {
    font-size: 1.6rem;
  }
}
.bg--message-statement .image {
  position: absolute;
  z-index: 0;
  right: 0;
  bottom: 0;
  display: block;
  width: 240px;
  aspect-ratio: 620/550;
  object-fit: contain;
  pointer-events: none;
}
.bg--message-statement .image:not(:first-child) {
  margin-top: 0;
}
.bg--line {
  position: relative;
  padding: 32px;
  border-radius: 6px;
}
@media (max-width: 768px) {
  .bg--line {
    padding: 24px 16px;
  }
}
.bg--line > *:not(:first-child) {
  margin-top: 16px;
}
@media (max-width: 768px) {
  .bg--line > *:not(:first-child) {
    margin-top: 13.33328px;
  }
}
@media (max-width: 480px) {
  .bg--line > *:not(:first-child) {
    margin-top: 2vw;
  }
}
.bg--line .title {
  position: absolute;
  inset: 0;
  margin: -20px auto auto 1em;
  width: fit-content;
  height: 40px;
  display: grid;
  place-items: center;
  grid-area: title;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.4;
  padding: 0 16px;
  border-radius: 4px;
}
.bg--line {
  border: 1px solid #474aa6;
  background-color: #fff;
  color: #474aa6;
}
.bg--error {
  border: 1px solid #f24649;
  padding: 10px 10px 10px 36px;
  color: #f24649;
  text-indent: -0.5em;
}
.bg--error::before {
  content: "※";
  display: inline-block;
}
.bg--error + * {
  margin-top: 16px;
}
@media (max-width: 768px) {
  .bg--error + * {
    margin-top: 13.33328px;
  }
}
@media (max-width: 480px) {
  .bg--error + * {
    margin-top: 2vw;
  }
}

/*--------------------------------------------------
CARD
--------------------------------------------------*/
.grid-column--two:has(.card--value) {
  grid-template-rows: auto auto;
  align-items: stretch;
}

.card--value {
  --icon-height: clamp(120px, 70.7692px + 6.4103vw, 140px);
  --icon-height-tab: 94px;
  --icon-height-sp: 80px;
  --number-font-size: 8;
  --number-font-size-1080: clamp(5.6rem, -0.30769rem + 7.6923vw, 8rem);
  max-width: 520px;
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 16px 16px;
}
@media (max-width: 768px) {
  .card--value {
    gap: 13.33328px 13.33328px;
  }
}
@media (max-width: 480px) {
  .card--value {
    gap: 2vw 2vw;
  }
}
.card--value {
  margin-left: auto;
  margin-right: auto;
}
.card--value:has(.text) .inner {
  grid-template-rows: auto minmax(0, 1fr);
}
.card--value .inner {
  border-radius: 6px;
  box-shadow: 2px 3px 4px 0px rgba(0, 0, 0, 0.1);
  display: flex;
  justify-content: space-between;
  transition: background-color 0.4s, color 0.4s, box-shadow 0.4s;
  box-sizing: border-box;
  text-decoration: none;
}
@media (any-hover: hover) {
  .card--value .inner[href]:hover {
    box-shadow: none;
    border: 1px solid #474aa6;
    background-color: rgba(71, 74, 166, 0.05);
  }
}
.card--value .inner[href]:focus-visible {
  box-shadow: none;
  border: 1px solid #474aa6;
  background-color: rgba(71, 74, 166, 0.05);
}
@media (hover: none) {
  .card--value .inner[href]:active {
    box-shadow: none;
    border: 1px solid #474aa6;
    background-color: rgba(71, 74, 166, 0.05);
  }
}
.card--value .inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  justify-content: start;
  gap: 16px 0;
  width: 100%;
  height: 100%;
  padding: 24px 16px;
  border: 1px solid #e4e4ff;
  background-color: #fff;
}
.card--value .inner:has(*[class*=icon--]) {
  grid-template-columns: clamp(131px, -63.4615px + 25.3205vw, 210px) minmax(clamp(180px, -7.0769px + 24.359vw, 256px), max-content);
  grid-template-areas: "icon title" "icon value";
  padding: 24px 16px 8px 0;
}
@media (max-width: 768px) {
  .card--value .inner:has(*[class*=icon--]) {
    grid-template-columns: clamp(130px, 72.8571px + 17.8571vw, 210px) minmax(clamp(130px, 94.2857px + 11.1607vw, 180px), max-content);
    padding: 20px 14px 0 0;
    gap: 8px 0;
  }
}
@media (max-width: 480px) {
  .card--value .inner:has(*[class*=icon--]) {
    padding: 14px 14px 8px 0;
  }
}
.card--value .value {
  background-image: linear-gradient(135deg, #474aa6 18%, #f24649 48%, #f4b700 97%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  width: fit-content;
  font-weight: 300;
  font-family: "Zen Old Mincho", serif;
  grid-area: value;
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
  line-height: 8rem;
}
@media (max-width: 1080px) {
  .card--value .value {
    line-height: var(--number-font-size-1080);
  }
}
@media (max-width: 768px) {
  .card--value .value {
    line-height: 6.66664rem;
  }
}
@media (max-width: 480px) {
  .card--value .value {
    line-height: 10vw;
  }
}
.card--value .value:has(.number-sm) {
  width: 100%;
}
.card--value .value span {
  display: flex;
  align-items: baseline;
  color: inherit;
  font-weight: inherit;
  font-family: inherit;
}
.card--value .value .number {
  font-size: calc(var(--number-font-size) * 1rem);
  letter-spacing: 0.01em;
}
@media (max-width: 1080px) {
  .card--value .value .number {
    font-size: var(--number-font-size-1080);
  }
}
@media (max-width: 768px) {
  .card--value .value .number {
    font-size: calc(var(--number-font-size) * 0.83333rem);
  }
}
@media (max-width: 480px) {
  .card--value .value .number {
    font-size: calc(var(--number-font-size) * 0.625rem);
  }
}
.card--value .value .number-tight {
  font-size: calc(var(--number-font-size) * 1rem);
  letter-spacing: -0.035em;
}
@media (max-width: 1080px) {
  .card--value .value .number-tight {
    font-size: var(--number-font-size-1080);
  }
}
@media (max-width: 768px) {
  .card--value .value .number-tight {
    font-size: calc(var(--number-font-size) * 0.83333rem);
  }
}
@media (max-width: 480px) {
  .card--value .value .number-tight {
    font-size: calc(var(--number-font-size) * 0.625rem);
  }
}
.card--value .value .number-sm {
  font-size: 6.4rem;
  letter-spacing: -0.035em;
}
@media (max-width: 1080px) {
  .card--value .value .number-sm {
    font-size: clamp(4.8rem, -1.10769rem + 7.6923vw, 7.2rem);
  }
}
@media (max-width: 768px) {
  .card--value .value .number-sm {
    font-size: 5.333312rem;
  }
}
@media (max-width: 480px) {
  .card--value .value .number-sm {
    font-size: 4rem;
  }
}
.card--value .value .unit {
  font-size: 2.2rem !important;
}
@media (min-width: 769px) and (max-width: 1080px) {
  .card--value .value .unit {
    font-size: clamp(1.8rem, 0.81538rem + 1.2821vw, 2.2rem) !important;
  }
}
@media (max-width: 768px) {
  .card--value .value .unit {
    font-size: 1.8rem !important;
  }
}
@media (max-width: 480px) {
  .card--value .value .unit {
    font-size: 1.4rem !important;
  }
}
.card--value:has(*[class=icon--paid-vacation]) .inner {
  padding: 24px 16px 24px 0;
}
@media (max-width: 768px) {
  .card--value:has(*[class=icon--paid-vacation]) .inner {
    padding: 14px 14px 14px 0;
  }
}
@media (max-width: 480px) {
  .card--value:has(*[class=icon--paid-vacation]) .inner {
    padding: 14px 14px 14px 0;
  }
}
.card--value:has(*[class=icon--paid-vacation]) .value {
  width: 100%;
  line-height: 1;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0;
  grid-template-areas: "first first" "number last";
}
.card--value:has(*[class=icon--paid-vacation]) .value span {
  line-height: 1;
}
.card--value:has(*[class=icon--paid-vacation]) .value .unit:first-child {
  grid-area: first;
}
.card--value:has(*[class=icon--paid-vacation]) .value .number-sm,
.card--value:has(*[class=icon--paid-vacation]) .value .number {
  grid-area: number;
  text-align: right;
  justify-content: flex-end;
}
.card--value:has(*[class=icon--paid-vacation]) .value .unit:last-child {
  grid-area: last;
}
.card--value:has(*[class=icon--employee-benefits]) .inner {
  padding: 24px 16px 24px 0;
}
@media (max-width: 768px) {
  .card--value:has(*[class=icon--employee-benefits]) .inner {
    padding: 14px 14px 14px 0;
  }
}
@media (max-width: 480px) {
  .card--value:has(*[class=icon--employee-benefits]) .inner {
    padding: 14px 14px 14px 0;
  }
}
.card--value:has(*[class=icon--employee-benefits]) .value {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}
.card--value:has(*[class=icon--employee-benefits]) .value span {
  line-height: 1;
}
.card--value:has(*[class=icon--employee-benefits]) .value .unit:last-child {
  justify-content: flex-end;
  text-align: right;
  letter-spacing: -0.035em;
}
.card--value:has(*[class=icon--dormitory]) .value {
  display: grid;
  place-items: center;
}
.card--value:has(*[class=icon--house]) .inner {
  padding: 24px 16px 24px 0;
}
@media (max-width: 768px) {
  .card--value:has(*[class=icon--house]) .inner {
    padding: 14px 14px 14px 0;
  }
}
@media (max-width: 480px) {
  .card--value:has(*[class=icon--house]) .inner {
    padding: 14px 14px 14px 0;
  }
}
.card--value:has(*[class=icon--house]) .value {
  line-height: 1;
  display: grid;
  grid-template-columns: repeat(3, auto);
  gap: 0;
  grid-template-areas: "first first first" "number penultimate last";
}
.card--value:has(*[class=icon--house]) .value span {
  line-height: 1;
}
.card--value:has(*[class=icon--house]) .value .unit:first-child {
  grid-area: first;
}
.card--value:has(*[class=icon--house]) .value .number-sm,
.card--value:has(*[class=icon--house]) .value .number {
  grid-area: number;
}
.card--value:has(*[class=icon--house]) .value .unit:nth-last-child(2) {
  grid-area: penultimate;
  letter-spacing: -0.035em;
}
.card--value:has(*[class=icon--house]) .value .unit:last-child {
  grid-area: last;
  justify-content: flex-end;
  text-align: right;
  letter-spacing: -0.035em;
}
.card--value:has(*[class=icon--car]) .inner {
  padding: 24px 16px 24px 0;
}
@media (max-width: 768px) {
  .card--value:has(*[class=icon--car]) .inner {
    padding: 14px 14px 14px 0;
  }
}
@media (max-width: 480px) {
  .card--value:has(*[class=icon--car]) .inner {
    padding: 14px 14px 14px 0;
  }
}
.card--value:has(*[class=icon--car]) .value {
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: 0;
  grid-template-areas: "first first" "number last";
}
.card--value:has(*[class=icon--car]) .value span {
  line-height: 1;
}
.card--value:has(*[class=icon--car]) .value .unit:first-child {
  grid-area: first;
}
.card--value:has(*[class=icon--car]) .value .number-sm,
.card--value:has(*[class=icon--car]) .value .number {
  grid-area: number;
}
.card--value:has(*[class=icon--car]) .value .unit:last-child {
  grid-area: last;
}
.card--value .title {
  width: fit-content;
  height: fit-content;
  display: grid;
  grid-template-rows: max-content;
  place-content: center;
  place-items: center;
  grid-area: title;
  color: #fff;
  font-weight: 500;
  text-align: center;
  font-size: 1.5rem;
  padding: 0.1em 0.5em 0;
  border-radius: 2px;
  background-color: #2b2d67;
}
@media (max-width: 768px) {
  .card--value .title {
    font-size: 1.249995rem;
  }
}
@media (max-width: 480px) {
  .card--value .title {
    font-size: 1.2rem;
  }
}
.card--value .title span {
  color: inherit;
  font-weight: inherit;
}
.card--value .title img {
  display: block;
  width: 140px;
  height: 30px;
  margin: 0 auto;
  object-fit: contain;
}
.card--value .text {
  line-height: 1.75;
  height: auto;
}
.card--value *[class*=icon--] {
  grid-area: icon;
  display: grid;
  place-items: center;
  margin-left: auto;
  margin-right: auto;
  object-fit: contain;
  background-image: linear-gradient(90deg, #474aa6 0%, #f24649 32%, #f4b700 48%, #f24649 64%, #474aa6 82%, #f4b700 100%);
  background-repeat: no-repeat;
  background-size: 200% 200%;
  background-position: 0% 0%;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  transition: background-position 0.4s ease, transform 0.4s ease;
  opacity: 0.5;
  width: 100%;
  height: var(--icon-height);
  mask-position: top center;
}
@media (max-width: 768px) {
  .card--value *[class*=icon--] {
    height: var(--icon-height-tab);
  }
}
@media (max-width: 480px) {
  .card--value *[class*=icon--] {
    height: var(--icon-height-sp);
  }
}
.card--value .icon--found {
  mask-image: url("/assets/images/common/icon-found.svg");
  aspect-ratio: 358/300;
  mask-size: clamp(120px, 51.0769px + 8.9744vw, 148px) clamp(100px, 40.9231px + 7.6923vw, 124px);
}
@media (max-width: 768px) {
  .card--value .icon--found {
    mask-size: 144px 94px;
  }
}
@media (max-width: 480px) {
  .card--value .icon--found {
    mask-size: 86px 72px;
  }
}
.card--value .icon--years {
  mask-image: url("/assets/images/common/icon-years.svg");
  aspect-ratio: 316/300;
  mask-size: clamp(106px, 42px + 8.3333vw, 132px) clamp(100px, 40.9231px + 7.6923vw, 124px);
  mask-position: 35% top;
}
@media (max-width: 768px) {
  .card--value .icon--years {
    mask-size: 144px 94px;
  }
}
@media (max-width: 480px) {
  .card--value .icon--years {
    mask-size: 86px 72px;
  }
}
.card--value .icon--capital {
  mask-image: url("/assets/images/common/icon-capital.svg");
  aspect-ratio: 1;
  mask-size: clamp(100px, 1.5385px + 12.8205vw, 140px) clamp(100px, 1.5385px + 12.8205vw, 140px);
}
@media (max-width: 768px) {
  .card--value .icon--capital {
    mask-size: 144px 94px;
  }
}
@media (max-width: 480px) {
  .card--value .icon--capital {
    mask-size: 86px 72px;
  }
}
.card--value .icon--employees {
  mask-image: url("/assets/images/common/icon-employees.svg");
  aspect-ratio: 510/300;
  mask-size: clamp(100px, 1.5385px + 12.8205vw, 140px) clamp(60px, 5.8462px + 7.0513vw, 82px);
  mask-position: center;
}
@media (max-width: 768px) {
  .card--value .icon--employees {
    mask-size: 144px 94px;
  }
}
@media (max-width: 480px) {
  .card--value .icon--employees {
    mask-size: 86px 72px;
  }
}
.card--value .icon--sales {
  mask-image: url("/assets/images/common/icon-sales.svg");
  aspect-ratio: 358/300;
  mask-size: clamp(120px, 51.0769px + 8.9744vw, 148px) clamp(100px, 40.9231px + 7.6923vw, 124px);
}
@media (max-width: 768px) {
  .card--value .icon--sales {
    mask-size: 144px 94px;
  }
}
@media (max-width: 480px) {
  .card--value .icon--sales {
    mask-size: 86px 72px;
  }
}
.card--value .icon--engineer-1 {
  mask-image: url("/assets/images/common/icon-engineer-1.svg");
  aspect-ratio: 332/300;
  mask-size: 148px 132px;
  mask-size: clamp(118px, 44.1538px + 9.6154vw, 148px) clamp(106px, 42px + 8.3333vw, 132px);
}
@media (max-width: 768px) {
  .card--value .icon--engineer-1 {
    mask-size: 144px 94px;
  }
}
@media (max-width: 480px) {
  .card--value .icon--engineer-1 {
    mask-size: 86px 72px;
  }
}
.card--value .icon--electrician {
  mask-image: url("/assets/images/common/icon-electrician.svg");
  aspect-ratio: 345/300;
  mask-size: clamp(118px, 44.1538px + 9.6154vw, 148px) clamp(102px, 38px + 8.3333vw, 128px);
}
@media (max-width: 768px) {
  .card--value .icon--electrician {
    mask-size: 144px 94px;
  }
}
@media (max-width: 480px) {
  .card--value .icon--electrician {
    mask-size: 86px 72px;
  }
}
.card--value .icon--supervising-engineer {
  mask-image: url("/assets/images/common/icon-supervising-engineer.svg");
  aspect-ratio: 360/300;
  mask-size: clamp(124px, 50.1538px + 9.6154vw, 154px) clamp(102px, 38px + 8.3333vw, 128px);
}
@media (max-width: 768px) {
  .card--value .icon--supervising-engineer {
    mask-size: 144px 94px;
  }
}
@media (max-width: 480px) {
  .card--value .icon--supervising-engineer {
    mask-size: 86px 72px;
  }
}
.card--value .icon--engineer-2 {
  mask-image: url("/assets/images/common/icon-engineer-2.svg");
  aspect-ratio: 292/300;
  mask-size: clamp(104px, 40px + 8.3333vw, 130px) clamp(106px, 42px + 8.3333vw, 132px);
}
@media (max-width: 768px) {
  .card--value .icon--engineer-2 {
    mask-size: 144px 94px;
  }
}
@media (max-width: 480px) {
  .card--value .icon--engineer-2 {
    mask-size: 86px 72px;
  }
}
.card--value .icon--equipmentofficer-a4 {
  mask-image: url("/assets/images/common/icon-equipmentofficer-a4.svg");
  aspect-ratio: 366/300;
  mask-size: 152px clamp(80px, -28.3077px + 14.1026vw, 124px);
}
@media (max-width: 1080px) {
  .card--value .icon--equipmentofficer-a4 {
    mask-position: center;
  }
}
@media (max-width: 768px) {
  .card--value .icon--equipmentofficer-a4 {
    mask-size: 144px 94px;
  }
}
@media (max-width: 480px) {
  .card--value .icon--equipmentofficer-a4 {
    mask-size: 86px 72px;
  }
}
.card--value .icon--equipmentofficer-b7 {
  mask-image: url("/assets/images/common/icon-equipmentofficer-b7.svg");
  aspect-ratio: 212/300;
  mask-size: 88px clamp(100px, 40.9231px + 7.6923vw, 124px);
  mask-position: 40% top;
}
@media (max-width: 768px) {
  .card--value .icon--equipmentofficer-b7 {
    mask-size: 144px 94px;
  }
}
@media (max-width: 480px) {
  .card--value .icon--equipmentofficer-b7 {
    mask-size: 86px 72px;
  }
}
.card--value .icon--construction-accountant {
  mask-image: url("/assets/images/common/icon-construction-accountant.svg");
  aspect-ratio: 405/300;
  mask-size: 162px clamp(80px, -18.4615px + 12.8205vw, 120px);
}
@media (max-width: 1080px) {
  .card--value .icon--construction-accountant {
    mask-position: center;
  }
}
@media (max-width: 768px) {
  .card--value .icon--construction-accountant {
    mask-size: 144px 94px;
  }
}
@media (max-width: 480px) {
  .card--value .icon--construction-accountant {
    mask-size: 86px 72px;
  }
}
.card--value .icon--paid-vacation {
  mask-image: url("/assets/images/common/icon-paid-vacation.svg");
  aspect-ratio: 222/300;
  mask-size: 98px 132px;
  mask-size: clamp(104px, 40px + 8.3333vw, 130px) clamp(106px, 42px + 8.3333vw, 132px);
  mask-position: center;
}
@media (max-width: 768px) {
  .card--value .icon--paid-vacation {
    mask-size: 144px 94px;
    height: 112px;
  }
}
@media (max-width: 480px) {
  .card--value .icon--paid-vacation {
    mask-size: 86px 72px;
    height: 90px;
  }
}
.card--value .icon--employee-benefits {
  mask-image: url("/assets/images/common/icon-employee-benefits.svg");
  aspect-ratio: 360/300;
  mask-size: 160px 132px;
  mask-size: clamp(104px, 40px + 8.3333vw, 130px) clamp(106px, 42px + 8.3333vw, 132px);
  mask-position: 45% top;
}
@media (max-width: 1080px) {
  .card--value .icon--employee-benefits {
    mask-position: center;
  }
}
@media (max-width: 768px) {
  .card--value .icon--employee-benefits {
    mask-size: 144px 94px;
    height: 112px;
    mask-position: center;
  }
}
@media (max-width: 480px) {
  .card--value .icon--employee-benefits {
    mask-size: 86px 72px;
    height: 90px;
  }
}
.card--value .icon--dormitory {
  mask-image: url("/assets/images/common/icon-dormitory.svg");
  aspect-ratio: 304/300;
  mask-size: clamp(106px, 37.0769px + 8.9744vw, 134px) clamp(106px, 42px + 8.3333vw, 132px);
}
@media (max-width: 768px) {
  .card--value .icon--dormitory {
    mask-size: 144px 94px;
  }
}
@media (max-width: 480px) {
  .card--value .icon--dormitory {
    mask-size: 86px 72px;
  }
}
.card--value .icon--house {
  mask-image: url("/assets/images/common/icon-house.svg");
  aspect-ratio: 422/300;
  mask-size: 140px clamp(80px, 30.7692px + 6.4103vw, 100px);
  mask-position: center;
}
@media (max-width: 768px) {
  .card--value .icon--house {
    mask-size: 144px 94px;
    height: 112px;
  }
}
@media (max-width: 480px) {
  .card--value .icon--house {
    mask-size: 86px 72px;
    height: 90px;
  }
}
.card--value .icon--car {
  mask-image: url("/assets/images/common/icon-car.svg");
  aspect-ratio: 520/300;
  mask-size: clamp(110px, 36.1538px + 9.6154vw, 140px) 82px;
  mask-position: center;
}
@media (max-width: 768px) {
  .card--value .icon--car {
    mask-size: 144px 94px;
    height: 112px;
  }
}
@media (max-width: 480px) {
  .card--value .icon--car {
    mask-size: 86px 72px;
    height: 90px;
  }
}

.card--media {
  display: block;
  position: relative;
  letter-spacing: 0.1rem;
  text-decoration: none;
  border-radius: 6px;
}
.card--media figure {
  border-radius: 6px;
  box-shadow: 2px 3px 4px 0px rgba(0, 0, 0, 0.1);
  display: flex;
  justify-content: space-between;
  transition: background-color 0.4s, color 0.4s, box-shadow 0.4s;
  box-sizing: border-box;
  text-decoration: none;
}
@media (any-hover: hover) {
  .card--media figure[href]:hover {
    box-shadow: none;
    border: 1px solid #474aa6;
    background-color: rgba(71, 74, 166, 0.05);
  }
}
.card--media figure[href]:focus-visible {
  box-shadow: none;
  border: 1px solid #474aa6;
  background-color: rgba(71, 74, 166, 0.05);
}
@media (hover: none) {
  .card--media figure[href]:active {
    box-shadow: none;
    border: 1px solid #474aa6;
    background-color: rgba(71, 74, 166, 0.05);
  }
}
.card--media figure {
  padding: 0;
  display: flex;
  flex-flow: column;
  justify-content: center;
  aspect-ratio: 4/3;
  width: 100%;
  overflow: hidden;
}
.card--media figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  overflow: hidden;
  transition: transform 0.3s ease;
  will-change: transform;
  transform: translateZ(0);
}
.card--media figure .logo {
  display: block;
  width: 160px;
  height: 40px;
  margin: 0 auto;
  object-fit: contain;
}
.card--media .text {
  display: block;
  margin-top: 8px;
}
@media (any-hover: hover) {
  .card--media[href]:hover figure {
    box-shadow: none;
    background-color: rgba(71, 74, 166, 0.05);
  }
  .card--media[href]:hover figure img {
    transform: scale(1.15);
  }
}
.card--media[href]:focus-visible figure {
  box-shadow: none;
  background-color: rgba(71, 74, 166, 0.05);
}
.card--media[href]:focus-visible figure img {
  transform: scale(1.15);
}
@media (hover: none) {
  .card--media[href]:active figure {
    box-shadow: none;
    background-color: rgba(71, 74, 166, 0.05);
  }
  .card--media[href]:active figure img {
    transform: scale(1.15);
  }
}

.grid-column--three:has(.card--media) {
  gap: 24px 72px;
}
@media (max-width: 768px) {
  .grid-column--three:has(.card--media) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 24px;
  }
}
@media (max-width: 768px) and (max-width: 768px) {
  .grid-column--three:has(.card--media) {
    gap: 19.99992px 19.99992px;
  }
}
@media (max-width: 768px) and (max-width: 480px) {
  .grid-column--three:has(.card--media) {
    gap: 3vw 3vw;
  }
}

@media (max-width: 768px) {
  .grid-column--three:has(.card--reason, .card--reason-anchor) {
    gap: 44px 16px;
  }
}
@media (max-width: 480px) {
  .grid-column--three:has(.card--reason, .card--reason-anchor) {
    gap: 48px 16px;
  }
}

.grid-column--three:has(.card--reason):not(:first-child) {
  margin-top: 40px;
}

.grid-column--three:has(.card--reason-anchor) {
  gap: 16px 24px;
}
@media (max-width: 768px) {
  .grid-column--three:has(.card--reason-anchor) {
    gap: 13.33328px 19.99992px;
  }
}
@media (max-width: 480px) {
  .grid-column--three:has(.card--reason-anchor) {
    gap: 2vw 3vw;
  }
}
.grid-column--three:has(.card--reason-anchor):not(:first-child) {
  margin-top: 96px;
}
@media (max-width: 768px) {
  .grid-column--three:has(.card--reason-anchor):not(:first-child) {
    margin-top: 79.99968px;
  }
}
@media (max-width: 480px) {
  .grid-column--three:has(.card--reason-anchor):not(:first-child) {
    margin-top: 12vw;
  }
}

.card--reason {
  --number-height: 80px;
  --number-height-tab: 72px;
  --number-height-sp: 64px;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px 44px;
}
@media (max-width: 768px) {
  .card--reason {
    gap: 6.66664px 36.66652px;
  }
}
@media (max-width: 480px) {
  .card--reason {
    gap: 1vw 5.5vw;
  }
}
.card--reason {
  background-image: linear-gradient(135deg, #fff 0%, rgba(96.8235294118%, 96.8235294118%, 100%, 0.975) 100%), linear-gradient(135deg, rgb(89.3344614558%, 89.4512489927%, 96.014558152%) 0%, rgba(89.3344614558%, 89.4512489927%, 96.014558152%, 0.975) 100%);
  backdrop-filter: blur(25px);
  -webkit-backdrop-filter: blur(25px);
  background-clip: padding-box, border-box;
  border: 1px solid transparent;
  border-radius: 6px;
}
.card--reason .title {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  justify-items: start;
  font-size: 2.2rem;
  letter-spacing: 0;
  font-weight: 500;
}
@media (max-width: 480px) {
  .card--reason .title {
    font-size: 1.8rem;
  }
}
.card--reason .number {
  display: block;
  position: absolute;
  inset: 0;
  top: calc(var(--number-height) / 2 * -1);
  margin: 0 auto auto 1.4rem;
  width: var(--number-height);
  height: var(--number-height);
  aspect-ratio: 1;
}
@media (max-width: 768px) {
  .card--reason .number {
    width: var(--number-height-tab);
    height: var(--number-height-tab);
  }
}
@media (max-width: 480px) {
  .card--reason .number {
    width: var(--number-height-sp);
    height: var(--number-height-sp);
    top: calc(var(--number-height) / 2.5 * -1);
  }
}
.card--reason .number span {
  position: relative;
  background-image: linear-gradient(135deg, #474aa6 18%, #f24649 48%, #f4b700 97%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  vertical-align: middle;
  text-align: center;
  text-indent: 0;
  font-size: 5.6rem;
  line-height: 1;
  font-family: "Source Sans 3", sans-serif;
  font-weight: 300;
  font-style: italic;
  z-index: 1;
}
@media (max-width: 768px) {
  .card--reason .number span {
    font-size: 5.2rem;
  }
}
@media (max-width: 480px) {
  .card--reason .number span {
    font-size: 4.8rem;
  }
}
.card--reason {
  padding: calc(var(--number-height) / 1.75) 16px calc(var(--number-height) / 1.75);
}
@media (max-width: 768px) {
  .card--reason {
    padding: calc(var(--number-height-tab) / 1.75) 16px calc(var(--number-height-tab) / 1.75);
  }
}
@media (max-width: 480px) {
  .card--reason {
    padding: calc(var(--number-height-sp) / 1.5) 16px calc(var(--number-height-sp) / 1.5);
  }
}
.card--reason .title {
  background-image: linear-gradient(180deg, #f46f00 18%, #f24649 48%, #f4b700 97%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
.card--reason .content .text {
  font-size: 1.6rem;
}

.card--reason-anchor {
  --number-height: 80px;
  --number-height-tab: 72px;
  --number-height-sp: 64px;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px 44px;
}
@media (max-width: 768px) {
  .card--reason-anchor {
    gap: 6.66664px 36.66652px;
  }
}
@media (max-width: 480px) {
  .card--reason-anchor {
    gap: 1vw 5.5vw;
  }
}
.card--reason-anchor {
  background-image: linear-gradient(135deg, #fff 0%, rgba(96.8235294118%, 96.8235294118%, 100%, 0.975) 100%), linear-gradient(135deg, rgb(89.3344614558%, 89.4512489927%, 96.014558152%) 0%, rgba(89.3344614558%, 89.4512489927%, 96.014558152%, 0.975) 100%);
  backdrop-filter: blur(25px);
  -webkit-backdrop-filter: blur(25px);
  background-clip: padding-box, border-box;
  border: 1px solid transparent;
  border-radius: 6px;
}
.card--reason-anchor .title {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  justify-items: start;
  font-size: 2.2rem;
  letter-spacing: 0;
  font-weight: 500;
}
@media (max-width: 480px) {
  .card--reason-anchor .title {
    font-size: 1.8rem;
  }
}
.card--reason-anchor .number {
  display: block;
  position: absolute;
  inset: 0;
  top: calc(var(--number-height) / 2 * -1);
  margin: 0 auto auto 1.4rem;
  width: var(--number-height);
  height: var(--number-height);
  aspect-ratio: 1;
}
@media (max-width: 768px) {
  .card--reason-anchor .number {
    width: var(--number-height-tab);
    height: var(--number-height-tab);
  }
}
@media (max-width: 480px) {
  .card--reason-anchor .number {
    width: var(--number-height-sp);
    height: var(--number-height-sp);
    top: calc(var(--number-height) / 2.5 * -1);
  }
}
.card--reason-anchor .number span {
  position: relative;
  background-image: linear-gradient(135deg, #474aa6 18%, #f24649 48%, #f4b700 97%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  vertical-align: middle;
  text-align: center;
  text-indent: 0;
  font-size: 5.6rem;
  line-height: 1;
  font-family: "Source Sans 3", sans-serif;
  font-weight: 300;
  font-style: italic;
  z-index: 1;
}
@media (max-width: 768px) {
  .card--reason-anchor .number span {
    font-size: 5.2rem;
  }
}
@media (max-width: 480px) {
  .card--reason-anchor .number span {
    font-size: 4.8rem;
  }
}
.card--reason-anchor {
  background-image: linear-gradient(135deg, #fff 0%, rgba(96.8235294118%, 96.8235294118%, 100%, 0.975) 100%), linear-gradient(135deg, rgb(89.3344614558%, 89.4512489927%, 96.014558152%) 0%, rgba(89.3344614558%, 89.4512489927%, 96.014558152%, 0.975) 100%);
  padding: calc(var(--number-height) / 1.75) 16px calc(var(--number-height) / 1.75);
  box-shadow: 2px 3px 4px 0px rgba(0, 0, 0, 0.1);
}
@media (max-width: 768px) {
  .card--reason-anchor {
    grid-template-columns: minmax(0, 1fr) 24px;
    align-items: center;
    padding: 16px;
  }
}
@media (max-width: 480px) {
  .card--reason-anchor {
    grid-template-columns: minmax(0, 1fr) 24px;
  }
}
@media (max-width: 768px) {
  .card--reason-anchor:has(.number) {
    grid-template-columns: var(--number-height-tab) minmax(0, 1fr) 24px;
  }
}
@media (max-width: 480px) {
  .card--reason-anchor:has(.number) {
    grid-template-columns: var(--number-height-sp) minmax(0, 1fr) 24px;
  }
}
.card--reason-anchor .title {
  justify-items: center;
  align-items: center;
  text-align: center;
}
@media (max-width: 768px) {
  .card--reason-anchor .title {
    text-align: left;
    align-items: start;
  }
}
.card--reason-anchor .number {
  margin: 0 auto auto;
}
@media (max-width: 768px) {
  .card--reason-anchor .number {
    position: relative;
    inset: initial;
    margin: 0;
  }
}
.card--reason-anchor .number span,
.card--reason-anchor .title {
  color: transparent;
  background: linear-gradient(90deg, #474aa6 0%, #f24649 16%, #f4b700 32%, #f24649 48%, #474aa6 64%, #474aa6 100%);
  background-size: 300% 100%;
  background-position: 0 0;
  background-clip: text;
  -webkit-background-clip: text;
  transition: background-position 0.4s ease;
}
.card--reason-anchor .arrow {
  position: absolute;
  inset: 0;
  bottom: calc(var(--number-height) / 1.75 / 2 / 1.5);
  margin: auto auto 0;
  display: block;
  width: 24px;
  height: 24px;
  background-image: linear-gradient(135deg, #474aa6 18%, #f24649 48%, #f4b700 97%);
  background-repeat: no-repeat;
  background-size: 200% 200%;
  background-position: 0% 0%;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  mask-image: url("/assets/images/common/icon-arrow-bottom.svg");
}
@media (max-width: 768px) {
  .card--reason-anchor .arrow {
    position: relative;
    inset: initial;
    margin: 0;
  }
}
@media (any-hover: hover) {
  .card--reason-anchor:hover {
    box-shadow: 0px 0px 6px -3px rgba(0, 0, 0, 0.6);
  }
  .card--reason-anchor:hover .number span,
  .card--reason-anchor:hover .title {
    background-position: 100% 0;
  }
}
.card--reason-anchor:focus-visible {
  box-shadow: 0px 0px 6px -3px rgba(0, 0, 0, 0.6);
}
.card--reason-anchor:focus-visible .number span,
.card--reason-anchor:focus-visible .title {
  background-position: 100% 0;
}
@media (hover: none) {
  .card--reason-anchor:active {
    box-shadow: 0px 0px 6px -3px rgba(0, 0, 0, 0.6);
  }
  .card--reason-anchor:active .number span,
  .card--reason-anchor:active .title {
    background-position: 100% 0;
  }
}

.card--anchor {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  padding: 16px 24px;
  background-image: linear-gradient(135deg, #fff 0%, rgba(96.8235294118%, 96.8235294118%, 100%, 0.975) 100%), linear-gradient(135deg, rgb(89.3344614558%, 89.4512489927%, 96.014558152%) 0%, rgba(89.3344614558%, 89.4512489927%, 96.014558152%, 0.975) 100%);
  background-clip: padding-box, border-box;
  backdrop-filter: blur(25px);
  -webkit-backdrop-filter: blur(25px);
  border: 1px solid transparent;
  border-radius: 6px;
  box-shadow: 2px 3px 4px 0px rgba(0, 0, 0, 0.1);
  gap: 8px 44px;
}
@media (max-width: 768px) {
  .card--anchor {
    gap: 6.66664px 36.66652px;
  }
}
@media (max-width: 480px) {
  .card--anchor {
    gap: 1vw 5.5vw;
  }
}
@media (max-width: 768px) {
  .card--anchor {
    grid-template-columns: minmax(0, 1fr) 24px;
    align-items: center;
    padding: 16px;
  }
}
@media (max-width: 480px) {
  .card--anchor {
    grid-template-columns: minmax(0, 1fr) 24px;
  }
}
.card--anchor .text {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-items: start;
  align-items: center;
  font-weight: 500;
  letter-spacing: 0;
  text-align: left;
}
@media (max-width: 768px) {
  .card--anchor .text {
    justify-items: start;
    align-items: start;
    text-align: left;
  }
}
.card--anchor > .text {
  color: transparent;
  background: linear-gradient(90deg, #474aa6 0%, #f24649 16%, #f4b700 32%, #f24649 48%, #474aa6 64%, #474aa6 100%);
  background-size: 300% 100%;
  background-position: 0 0;
  background-clip: text;
  -webkit-background-clip: text;
  transition: background-position 0.4s ease;
}
.card--anchor .content .text {
  font-size: 1.6rem;
}
.card--anchor .arrow {
  position: absolute;
  inset: 0;
  right: 16px;
  bottom: 8px;
  margin: auto 0 auto auto;
  display: block;
  width: 24px;
  height: 24px;
  background-image: linear-gradient(135deg, #474aa6 18%, #f24649 48%, #f4b700 97%);
  background-repeat: no-repeat;
  background-position: 0% 0%;
  background-size: 200% 200%;
  mask-image: url("/assets/images/common/icon-arrow-bottom.svg");
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
}
@media (max-width: 768px) {
  .card--anchor .arrow {
    position: relative;
    inset: initial;
    margin: 0;
  }
}
@media (any-hover: hover) {
  .card--anchor:hover {
    box-shadow: 0px 0px 6px -3px rgba(0, 0, 0, 0.6);
  }
  .card--anchor:hover > .text {
    background-position: 100% 0;
  }
}
.card--anchor:focus-visible {
  box-shadow: 0px 0px 6px -3px rgba(0, 0, 0, 0.6);
}
.card--anchor:focus-visible > .text {
  background-position: 100% 0;
}
@media (hover: none) {
  .card--anchor:active {
    box-shadow: 0px 0px 6px -3px rgba(0, 0, 0, 0.6);
  }
  .card--anchor:active > .text {
    background-position: 100% 0;
  }
}

/*--------------------------------------------------
IMG
--------------------------------------------------*/
:where(.section > iframe:not(:first-child),
.aside > iframe:not(:first-child),
.section > video:not(:first-child),
.aside > video:not(:first-child),
.section > .image:not(:first-child),
.aside > .image:not(:first-child)) {
  margin-top: 28px;
}
@media (max-width: 768px) {
  :where(.section > iframe:not(:first-child),
  .aside > iframe:not(:first-child),
  .section > video:not(:first-child),
  .aside > video:not(:first-child),
  .section > .image:not(:first-child),
  .aside > .image:not(:first-child)) {
    margin-top: 23.33324px;
  }
}
@media (max-width: 480px) {
  :where(.section > iframe:not(:first-child),
  .aside > iframe:not(:first-child),
  .section > video:not(:first-child),
  .aside > video:not(:first-child),
  .section > .image:not(:first-child),
  .aside > .image:not(:first-child)) {
    margin-top: 3.5vw;
  }
}

iframe,
video,
.image {
  max-width: 100%;
  display: block;
  border-radius: 4px;
}

.image {
  height: auto;
}

@media (max-width: 768px) {
  iframe {
    max-height: 50vh;
  }
}

.media--left {
  display: block;
  float: left;
  margin-right: 16px;
  margin-bottom: 16px;
}

.media--right {
  display: block;
  float: right;
  margin-left: 16px;
  margin-bottom: 16px;
}

.media--center {
  display: block;
  margin-right: auto;
  margin-left: auto;
  margin-top: 56px;
}
@media (max-width: 768px) {
  .media--center {
    margin-top: 46.66648px;
  }
}
@media (max-width: 480px) {
  .media--center {
    margin-top: 7vw;
  }
}
.media--center {
  text-align: center;
}
.media--center iframe,
.media--center video,
.media--center img {
  margin: 0 auto;
}

.media--full {
  display: block;
  width: 100%;
  margin-top: 56px;
}
@media (max-width: 768px) {
  .media--full {
    margin-top: 46.66648px;
  }
}
@media (max-width: 480px) {
  .media--full {
    margin-top: 7vw;
  }
}
.media--full iframe,
.media--full video,
.media--full img {
  width: 100%;
}

:where(*[class*=grid-column] > .image, .media--full > .image) {
  width: 100%;
}
@media (max-width: 768px) {
  :where(*[class*=grid-column] > .image, .media--full > .image) {
    aspect-ratio: 410/120;
  }
}

/*-----------------------------------------------------
Modal
------------------------------------------------------*/
.modal {
  position: relative;
  z-index: 1;
  max-height: 80vh;
  width: 100%;
  background-color: rgba(71, 74, 166, 0.5);
  padding: 32px;
  border-radius: 6px;
  overflow: visible;
}
@media (max-width: 480px) {
  .modal {
    padding: 16px;
  }
}
.modal .modal-close {
  --modal-close-width: min(5vw, 40px);
  position: absolute;
  display: block;
  right: max(-0.3125vw, -4px);
  top: max(-6.25vw, -50px);
  width: var(--modal-close-width);
  height: var(--modal-close-width);
  background-color: transparent;
}
.modal .modal-close .icon {
  position: relative;
  display: block;
  width: var(--modal-close-width);
  height: var(--modal-close-width);
}
.modal .modal-close .icon::before, .modal .modal-close .icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: var(--modal-close-width);
  height: 1px;
  background-color: #fff;
  transition: 0.5s;
}
.modal .modal-close .icon::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.modal .modal-close .icon::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.modal .inner > *:not(:first-child) {
  margin-top: 20px;
}
@media (max-width: 768px) {
  .modal .inner > *:not(:first-child) {
    margin-top: 16.6666px;
  }
}
@media (max-width: 480px) {
  .modal .inner > *:not(:first-child) {
    margin-top: 2.5vw;
  }
}

.modal--company-notice {
  position: relative;
  z-index: 1;
  max-height: 80vh;
  width: 100%;
  background-color: rgba(71, 74, 166, 0.5);
  padding: 32px;
  border-radius: 6px;
  overflow: visible;
}
@media (max-width: 480px) {
  .modal--company-notice {
    padding: 16px;
  }
}
.modal--company-notice .modal-close {
  --modal-close-width: min(5vw, 40px);
  position: absolute;
  display: block;
  right: max(-0.3125vw, -4px);
  top: max(-6.25vw, -50px);
  width: var(--modal-close-width);
  height: var(--modal-close-width);
  background-color: transparent;
}
.modal--company-notice .modal-close .icon {
  position: relative;
  display: block;
  width: var(--modal-close-width);
  height: var(--modal-close-width);
}
.modal--company-notice .modal-close .icon::before, .modal--company-notice .modal-close .icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: var(--modal-close-width);
  height: 1px;
  background-color: #fff;
  transition: 0.5s;
}
.modal--company-notice .modal-close .icon::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.modal--company-notice .modal-close .icon::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.modal--company-notice .inner > *:not(:first-child) {
  margin-top: 20px;
}
@media (max-width: 768px) {
  .modal--company-notice .inner > *:not(:first-child) {
    margin-top: 16.6666px;
  }
}
@media (max-width: 480px) {
  .modal--company-notice .inner > *:not(:first-child) {
    margin-top: 2.5vw;
  }
}
.modal--company-notice {
  background-color: transparent;
  background-image: linear-gradient(0deg, #474aa6 0%, #474aa6 35%, #f24649 82%, rgb(95.2941176471%, 49.6078431373%, 14.3137254902%) 100%);
  max-inline-size: min(88vw, 710px);
  padding: 48px 16px;
}
@media (max-width: 480px) {
  .modal--company-notice {
    padding: 32px 8px;
  }
}
.modal--company-notice .inner p {
  text-align: center;
  font-weight: 500;
  font-size: 1.8rem;
  color: #fff;
  line-height: 1.5;
  font-family: "Zen Old Mincho", serif;
}
@media (max-width: 768px) {
  .modal--company-notice .inner p {
    font-size: min(2.608vw, 1.8rem);
  }
}
@media (max-width: 600px) {
  .modal--company-notice .inner p {
    font-size: 1.8rem;
  }
}
@media (max-width: 480px) {
  .modal--company-notice .inner p {
    font-size: 1.4rem;
  }
}
.modal--company-notice .inner .lead {
  font-size: 2.2rem;
}
@media (max-width: 768px) {
  .modal--company-notice .inner .lead {
    font-size: min(3.183vw, 2.2rem);
  }
}
@media (max-width: 600px) {
  .modal--company-notice .inner .lead {
    font-size: 2.2rem;
  }
}
@media (max-width: 480px) {
  .modal--company-notice .inner .lead {
    font-size: 1.8rem;
  }
}
@media (max-width: 600px) {
  .modal--company-notice .inner .visible-sp {
    display: block;
  }
}
.modal--company-notice::backdrop {
  background-image: linear-gradient(0deg, rgba(71, 74, 166, 0.25) 0%, rgba(71, 74, 166, 0.25) 35%, rgba(242, 70, 73, 0.25) 82%, rgba(95.2941176471%, 49.6078431373%, 14.3137254902%, 0.25) 100%);
}

/*--------------------------------------------------
ICON
--------------------------------------------------*/
.icon--required {
  border-radius: 4px;
  font-size: 1.2rem;
  width: fit-content;
  height: fit-content;
  display: grid;
  place-items: center;
  font-weight: normal;
  letter-spacing: 0.2rem;
  color: #f24649;
  padding: 2px 6px;
  border: 1px solid #f24649;
}
.icon--new {
  border-radius: 4px;
  font-size: 1.2rem;
  width: fit-content;
  height: fit-content;
  display: grid;
  place-items: center;
  display: inline-block;
  background-color: #f24649;
  color: #fff;
  border-radius: 4px;
  font-weight: 700;
  font-family: "Source Sans 3", sans-serif;
  padding: 0.2rem 0.4rem 0;
}
.icon--category {
  border-radius: 4px;
  font-size: 1.2rem;
  width: fit-content;
  height: fit-content;
  display: grid;
  place-items: center;
  display: inline-block;
  font-weight: 700;
  letter-spacing: 0.2rem;
  color: #474aa6;
  padding: 2px 6px;
  border: 1px solid #474aa6;
  background-color: #fff;
}
.icon--facility {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.icon--facility span:has(img) {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 96px;
  height: 96px;
  border-radius: calc(infinity * 1px);
  background-color: rgb(55.2941176471%, 56%, 79.0588235294%);
}
.icon--facility span:has(img) img {
  width: 64px;
  height: 64px;
  filter: brightness(0) invert(1);
}
.icon--facility .text {
  margin-top: 16px;
  text-align: center;
}

/*--------------------------------------------------
TAB
--------------------------------------------------*/
.tabs .tablist {
  margin-top: 24px;
}
@media (max-width: 768px) {
  .tabs .tablist {
    margin-top: 19.99992px;
  }
}
@media (max-width: 480px) {
  .tabs .tablist {
    margin-top: 3vw;
  }
}
.tabs .tablist {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 4px;
}
.tabs .tablist:has(> :nth-child(4):last-child) {
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 1000px) {
  .tabs .tablist:has(> :nth-child(4):last-child) {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (max-width: 768px) {
  .tabs .tablist:has(> :nth-child(4):last-child) {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }
}
@media (max-width: 1000px) {
  .tabs .tablist {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (max-width: 768px) {
  .tabs .tablist {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }
}
.tabs .panel {
  margin-top: 48px;
}
@media (max-width: 768px) {
  .tabs .panel {
    margin-top: 39.99984px;
  }
}
@media (max-width: 480px) {
  .tabs .panel {
    margin-top: 6vw;
  }
}
.tabs .tabpanel {
  display: none;
  margin-top: 20px;
}
.tabs .tabpanel.active {
  display: block;
}

/*--------------------------------------------------
accordion
--------------------------------------------------*/
.accordion {
  border: 1px solid #474aa6;
  border-radius: 6px;
  background-color: #fff;
}
.accordion summary {
  position: relative;
  cursor: pointer;
  padding-top: 16px;
  padding-bottom: 16px;
  padding-left: 24px;
  padding-right: 52px;
  color: #474aa6;
}
.accordion summary:has(.label) {
  padding-left: calc(24px + 1.5em + 0.5em);
  text-indent: -2em;
}
.accordion .content {
  overflow: hidden;
  padding-left: 24px;
  padding-right: 52px;
}
.accordion .content:has(.label) {
  padding-left: calc(24px + 1.5em + 0.5em);
  text-indent: -2em;
}
.accordion .content .inner {
  padding-top: 4px;
  padding-bottom: 16px;
}
.accordion summary .label,
.accordion .content .label {
  display: inline;
  color: #474aa6;
  margin-right: 8px;
}
.accordion .icon {
  position: absolute;
  inset: 0;
  margin: auto 20px auto auto;
  width: 24px;
  height: 24px;
  border: 1px solid #474aa6;
  border-radius: calc(infinity * 1px);
  background-color: #474aa6;
  flex-shrink: 0;
  transition: transform 0.3s ease;
}
.accordion .icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  transform: translate(-50%, -65%) rotate(45deg);
  transition: transform 0.3s ease;
}
.accordion[open] .icon {
  background: linear-gradient(180deg, #ffffff 0%, #ffffff 100%);
}
.accordion[open] .icon::before {
  transform: translate(-50%, -35%) rotate(-135deg);
  border-color: #474aa6;
}

.accordion-list {
  display: grid;
  gap: 16px 16px;
}
@media (max-width: 768px) {
  .accordion-list {
    gap: 13.33328px 13.33328px;
  }
}
@media (max-width: 480px) {
  .accordion-list {
    gap: 2vw 2vw;
  }
}
.accordion-list:not(:first-child) {
  margin-top: 24px;
}
@media (max-width: 768px) {
  .accordion-list:not(:first-child) {
    margin-top: 19.99992px;
  }
}
@media (max-width: 480px) {
  .accordion-list:not(:first-child) {
    margin-top: 3vw;
  }
}

/*--------------------------------------------------
TABLE
--------------------------------------------------*/
.table--fluid {
  width: 100%;
  border-collapse: collapse;
}
.table--fluid th,
.table--fluid td {
  padding: 12px 20px;
  color: #474aa6;
}
@media (max-width: 480px) {
  .table--fluid th,
  .table--fluid td {
    padding: 12px 16px;
  }
}
.table--fluid th div,
.table--fluid th p,
.table--fluid th th,
.table--fluid th td,
.table--fluid th li,
.table--fluid th dt,
.table--fluid th dd,
.table--fluid th a,
.table--fluid th span,
.table--fluid td div,
.table--fluid td p,
.table--fluid td th,
.table--fluid td td,
.table--fluid td li,
.table--fluid td dt,
.table--fluid td dd,
.table--fluid td a,
.table--fluid td span {
  color: #474aa6;
}
.table--fluid th,
.table--fluid td {
  border-color: #474aa6;
  border-top: 1px solid;
  border-bottom: 1px solid;
}
.table--fluid thead th, .table--fluid:not(:has(thead)) th {
  background-color: rgb(92.3529411765%, 92.4235294118%, 97.9058823529%);
  color: #474aa6;
  font-weight: 500;
}
.table--fluid thead th span, .table--fluid:not(:has(thead)) th span {
  font-weight: 500;
}
.table--fluid.color--text th,
.table--fluid.color--text td {
  border-color: #2b2d67;
}
.table--fluid.color--text th {
  background-color: var(--timelineProductBgColor);
  color: #2b2d67;
}
.table--fluid th,
.table--fluid td {
  white-space: nowrap;
}
.table--lined {
  width: 100%;
  border-collapse: collapse;
}
.table--lined th,
.table--lined td {
  padding: 12px 20px;
  color: #474aa6;
}
@media (max-width: 480px) {
  .table--lined th,
  .table--lined td {
    padding: 12px 16px;
  }
}
.table--lined th div,
.table--lined th p,
.table--lined th th,
.table--lined th td,
.table--lined th li,
.table--lined th dt,
.table--lined th dd,
.table--lined th a,
.table--lined th span,
.table--lined td div,
.table--lined td p,
.table--lined td th,
.table--lined td td,
.table--lined td li,
.table--lined td dt,
.table--lined td dd,
.table--lined td a,
.table--lined td span {
  color: #474aa6;
}
.table--lined {
  border-top: 1px solid #474aa6;
}
@media (max-width: 768px) {
  .table--lined thead {
    display: none;
  }
}
.table--lined tr {
  border-bottom: 1px solid #474aa6;
}
.table--lined tr th {
  padding: 30px 0;
  font-weight: normal;
  text-align: left;
}
@media (max-width: 768px) {
  .table--lined tr th {
    background-color: rgba(71, 74, 166, 0.3);
  }
}
.table--lined tr th,
.table--lined tr td {
  padding: 30px 0;
}
@media (max-width: 768px) {
  .table--lined tr th,
  .table--lined tr td {
    display: block;
    padding: 1rem;
  }
}
.table--lined span.width,
.table--lined .width {
  display: inline-block;
}
.table--lined span.width--8,
.table--lined .width--8 {
  width: 8px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--8,
  .table--lined .width--8 {
    width: 100% !important;
  }
}
.table--lined span.width--16,
.table--lined .width--16 {
  width: 16px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--16,
  .table--lined .width--16 {
    width: 100% !important;
  }
}
.table--lined span.width--24,
.table--lined .width--24 {
  width: 24px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--24,
  .table--lined .width--24 {
    width: 100% !important;
  }
}
.table--lined span.width--32,
.table--lined .width--32 {
  width: 32px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--32,
  .table--lined .width--32 {
    width: 100% !important;
  }
}
.table--lined span.width--40,
.table--lined .width--40 {
  width: 40px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--40,
  .table--lined .width--40 {
    width: 100% !important;
  }
}
.table--lined span.width--48,
.table--lined .width--48 {
  width: 48px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--48,
  .table--lined .width--48 {
    width: 100% !important;
  }
}
.table--lined span.width--56,
.table--lined .width--56 {
  width: 56px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--56,
  .table--lined .width--56 {
    width: 100% !important;
  }
}
.table--lined span.width--64,
.table--lined .width--64 {
  width: 64px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--64,
  .table--lined .width--64 {
    width: 100% !important;
  }
}
.table--lined span.width--72,
.table--lined .width--72 {
  width: 72px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--72,
  .table--lined .width--72 {
    width: 100% !important;
  }
}
.table--lined span.width--80,
.table--lined .width--80 {
  width: 80px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--80,
  .table--lined .width--80 {
    width: 100% !important;
  }
}
.table--lined span.width--88,
.table--lined .width--88 {
  width: 88px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--88,
  .table--lined .width--88 {
    width: 100% !important;
  }
}
.table--lined span.width--96,
.table--lined .width--96 {
  width: 96px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--96,
  .table--lined .width--96 {
    width: 100% !important;
  }
}
.table--lined span.width--104,
.table--lined .width--104 {
  width: 104px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--104,
  .table--lined .width--104 {
    width: 100% !important;
  }
}
.table--lined span.width--112,
.table--lined .width--112 {
  width: 112px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--112,
  .table--lined .width--112 {
    width: 100% !important;
  }
}
.table--lined span.width--120,
.table--lined .width--120 {
  width: 120px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--120,
  .table--lined .width--120 {
    width: 100% !important;
  }
}
.table--lined span.width--128,
.table--lined .width--128 {
  width: 128px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--128,
  .table--lined .width--128 {
    width: 100% !important;
  }
}
.table--lined span.width--136,
.table--lined .width--136 {
  width: 136px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--136,
  .table--lined .width--136 {
    width: 100% !important;
  }
}
.table--lined span.width--144,
.table--lined .width--144 {
  width: 144px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--144,
  .table--lined .width--144 {
    width: 100% !important;
  }
}
.table--lined span.width--152,
.table--lined .width--152 {
  width: 152px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--152,
  .table--lined .width--152 {
    width: 100% !important;
  }
}
.table--lined span.width--160,
.table--lined .width--160 {
  width: 160px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--160,
  .table--lined .width--160 {
    width: 100% !important;
  }
}
.table--lined span.width--160,
.table--lined .width--160 {
  width: 160px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--160,
  .table--lined .width--160 {
    width: 100% !important;
  }
}
.table--lined span.width--240,
.table--lined .width--240 {
  width: 240px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--240,
  .table--lined .width--240 {
    width: 100% !important;
  }
}
.table--lined span.width--320,
.table--lined .width--320 {
  width: 320px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--320,
  .table--lined .width--320 {
    width: 100% !important;
  }
}
.table--lined span.width--400,
.table--lined .width--400 {
  width: 400px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--400,
  .table--lined .width--400 {
    width: 100% !important;
  }
}
.table--lined span.width--480,
.table--lined .width--480 {
  width: 480px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--480,
  .table--lined .width--480 {
    width: 100% !important;
  }
}
.table--lined span.width--560,
.table--lined .width--560 {
  width: 560px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--560,
  .table--lined .width--560 {
    width: 100% !important;
  }
}
.table--lined span.width--640,
.table--lined .width--640 {
  width: 640px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--640,
  .table--lined .width--640 {
    width: 100% !important;
  }
}
.table--lined span.width--720,
.table--lined .width--720 {
  width: 720px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--720,
  .table--lined .width--720 {
    width: 100% !important;
  }
}
.table--lined span.width--800,
.table--lined .width--800 {
  width: 800px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--800,
  .table--lined .width--800 {
    width: 100% !important;
  }
}
.table--lined span.width--880,
.table--lined .width--880 {
  width: 880px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--880,
  .table--lined .width--880 {
    width: 100% !important;
  }
}
.table--lined span.width--960,
.table--lined .width--960 {
  width: 960px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--960,
  .table--lined .width--960 {
    width: 100% !important;
  }
}
.table--lined span.width--1040,
.table--lined .width--1040 {
  width: 1040px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--1040,
  .table--lined .width--1040 {
    width: 100% !important;
  }
}
.table--lined span.width--1120,
.table--lined .width--1120 {
  width: 1120px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--1120,
  .table--lined .width--1120 {
    width: 100% !important;
  }
}
.table--lined span.width--1200,
.table--lined .width--1200 {
  width: 1200px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--1200,
  .table--lined .width--1200 {
    width: 100% !important;
  }
}
.table--lined span.width--1280,
.table--lined .width--1280 {
  width: 1280px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--1280,
  .table--lined .width--1280 {
    width: 100% !important;
  }
}
.table--lined span.width--5per,
.table--lined .width--5per {
  width: 5% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--5per,
  .table--lined .width--5per {
    width: 100% !important;
  }
}
.table--lined span.width--10per,
.table--lined .width--10per {
  width: 10% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--10per,
  .table--lined .width--10per {
    width: 100% !important;
  }
}
.table--lined span.width--15per,
.table--lined .width--15per {
  width: 15% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--15per,
  .table--lined .width--15per {
    width: 100% !important;
  }
}
.table--lined span.width--20per,
.table--lined .width--20per {
  width: 20% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--20per,
  .table--lined .width--20per {
    width: 100% !important;
  }
}
.table--lined span.width--25per,
.table--lined .width--25per {
  width: 25% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--25per,
  .table--lined .width--25per {
    width: 100% !important;
  }
}
.table--lined span.width--30per,
.table--lined .width--30per {
  width: 30% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--30per,
  .table--lined .width--30per {
    width: 100% !important;
  }
}
.table--lined span.width--35per,
.table--lined .width--35per {
  width: 35% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--35per,
  .table--lined .width--35per {
    width: 100% !important;
  }
}
.table--lined span.width--40per,
.table--lined .width--40per {
  width: 40% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--40per,
  .table--lined .width--40per {
    width: 100% !important;
  }
}
.table--lined span.width--45per,
.table--lined .width--45per {
  width: 45% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--45per,
  .table--lined .width--45per {
    width: 100% !important;
  }
}
.table--lined span.width--50per,
.table--lined .width--50per {
  width: 50% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--50per,
  .table--lined .width--50per {
    width: 100% !important;
  }
}
.table--lined span.width--55per,
.table--lined .width--55per {
  width: 55% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--55per,
  .table--lined .width--55per {
    width: 100% !important;
  }
}
.table--lined span.width--60per,
.table--lined .width--60per {
  width: 60% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--60per,
  .table--lined .width--60per {
    width: 100% !important;
  }
}
.table--lined span.width--65per,
.table--lined .width--65per {
  width: 65% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--65per,
  .table--lined .width--65per {
    width: 100% !important;
  }
}
.table--lined span.width--70per,
.table--lined .width--70per {
  width: 70% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--70per,
  .table--lined .width--70per {
    width: 100% !important;
  }
}
.table--lined span.width--75per,
.table--lined .width--75per {
  width: 75% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--75per,
  .table--lined .width--75per {
    width: 100% !important;
  }
}
.table--lined span.width--80per,
.table--lined .width--80per {
  width: 80% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--80per,
  .table--lined .width--80per {
    width: 100% !important;
  }
}
.table--lined span.width--85per,
.table--lined .width--85per {
  width: 85% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--85per,
  .table--lined .width--85per {
    width: 100% !important;
  }
}
.table--lined span.width--90per,
.table--lined .width--90per {
  width: 90% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--90per,
  .table--lined .width--90per {
    width: 100% !important;
  }
}
.table--lined span.width--95per,
.table--lined .width--95per {
  width: 95% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--95per,
  .table--lined .width--95per {
    width: 100% !important;
  }
}
.table--lined span.width--100per,
.table--lined .width--100per {
  width: 100% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--100per,
  .table--lined .width--100per {
    width: 100% !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--8,
  .table--lined .width-tab--8 {
    width: 8px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--16,
  .table--lined .width-tab--16 {
    width: 16px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--24,
  .table--lined .width-tab--24 {
    width: 24px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--32,
  .table--lined .width-tab--32 {
    width: 32px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--40,
  .table--lined .width-tab--40 {
    width: 40px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--48,
  .table--lined .width-tab--48 {
    width: 48px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--56,
  .table--lined .width-tab--56 {
    width: 56px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--64,
  .table--lined .width-tab--64 {
    width: 64px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--72,
  .table--lined .width-tab--72 {
    width: 72px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--80,
  .table--lined .width-tab--80 {
    width: 80px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--88,
  .table--lined .width-tab--88 {
    width: 88px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--96,
  .table--lined .width-tab--96 {
    width: 96px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--104,
  .table--lined .width-tab--104 {
    width: 104px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--112,
  .table--lined .width-tab--112 {
    width: 112px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--120,
  .table--lined .width-tab--120 {
    width: 120px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--128,
  .table--lined .width-tab--128 {
    width: 128px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--136,
  .table--lined .width-tab--136 {
    width: 136px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--144,
  .table--lined .width-tab--144 {
    width: 144px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--152,
  .table--lined .width-tab--152 {
    width: 152px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--160,
  .table--lined .width-tab--160 {
    width: 160px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--160,
  .table--lined .width-tab--160 {
    width: 160px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--240,
  .table--lined .width-tab--240 {
    width: 240px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--320,
  .table--lined .width-tab--320 {
    width: 320px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--400,
  .table--lined .width-tab--400 {
    width: 400px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--480,
  .table--lined .width-tab--480 {
    width: 480px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--560,
  .table--lined .width-tab--560 {
    width: 560px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--640,
  .table--lined .width-tab--640 {
    width: 640px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--720,
  .table--lined .width-tab--720 {
    width: 720px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--800,
  .table--lined .width-tab--800 {
    width: 800px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--5per,
  .table--lined .width-tab--5per {
    width: 5% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--10per,
  .table--lined .width-tab--10per {
    width: 10% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--15per,
  .table--lined .width-tab--15per {
    width: 15% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--20per,
  .table--lined .width-tab--20per {
    width: 20% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--25per,
  .table--lined .width-tab--25per {
    width: 25% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--30per,
  .table--lined .width-tab--30per {
    width: 30% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--35per,
  .table--lined .width-tab--35per {
    width: 35% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--40per,
  .table--lined .width-tab--40per {
    width: 40% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--45per,
  .table--lined .width-tab--45per {
    width: 45% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--50per,
  .table--lined .width-tab--50per {
    width: 50% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--55per,
  .table--lined .width-tab--55per {
    width: 55% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--60per,
  .table--lined .width-tab--60per {
    width: 60% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--65per,
  .table--lined .width-tab--65per {
    width: 65% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--70per,
  .table--lined .width-tab--70per {
    width: 70% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--75per,
  .table--lined .width-tab--75per {
    width: 75% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--80per,
  .table--lined .width-tab--80per {
    width: 80% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--85per,
  .table--lined .width-tab--85per {
    width: 85% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--90per,
  .table--lined .width-tab--90per {
    width: 90% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--95per,
  .table--lined .width-tab--95per {
    width: 95% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--lined span.width-tab--100per,
  .table--lined .width-tab--100per {
    width: 100% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--8,
  .table--lined .width-sp--8 {
    width: 8px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--16,
  .table--lined .width-sp--16 {
    width: 16px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--24,
  .table--lined .width-sp--24 {
    width: 24px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--32,
  .table--lined .width-sp--32 {
    width: 32px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--40,
  .table--lined .width-sp--40 {
    width: 40px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--48,
  .table--lined .width-sp--48 {
    width: 48px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--56,
  .table--lined .width-sp--56 {
    width: 56px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--64,
  .table--lined .width-sp--64 {
    width: 64px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--72,
  .table--lined .width-sp--72 {
    width: 72px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--80,
  .table--lined .width-sp--80 {
    width: 80px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--88,
  .table--lined .width-sp--88 {
    width: 88px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--96,
  .table--lined .width-sp--96 {
    width: 96px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--104,
  .table--lined .width-sp--104 {
    width: 104px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--112,
  .table--lined .width-sp--112 {
    width: 112px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--120,
  .table--lined .width-sp--120 {
    width: 120px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--128,
  .table--lined .width-sp--128 {
    width: 128px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--136,
  .table--lined .width-sp--136 {
    width: 136px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--144,
  .table--lined .width-sp--144 {
    width: 144px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--152,
  .table--lined .width-sp--152 {
    width: 152px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--160,
  .table--lined .width-sp--160 {
    width: 160px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--160,
  .table--lined .width-sp--160 {
    width: 160px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--240,
  .table--lined .width-sp--240 {
    width: 240px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--320,
  .table--lined .width-sp--320 {
    width: 320px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--400,
  .table--lined .width-sp--400 {
    width: 400px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--480,
  .table--lined .width-sp--480 {
    width: 480px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--5per,
  .table--lined .width-sp--5per {
    width: 5% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--10per,
  .table--lined .width-sp--10per {
    width: 10% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--15per,
  .table--lined .width-sp--15per {
    width: 15% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--20per,
  .table--lined .width-sp--20per {
    width: 20% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--25per,
  .table--lined .width-sp--25per {
    width: 25% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--30per,
  .table--lined .width-sp--30per {
    width: 30% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--35per,
  .table--lined .width-sp--35per {
    width: 35% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--40per,
  .table--lined .width-sp--40per {
    width: 40% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--45per,
  .table--lined .width-sp--45per {
    width: 45% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--50per,
  .table--lined .width-sp--50per {
    width: 50% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--55per,
  .table--lined .width-sp--55per {
    width: 55% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--60per,
  .table--lined .width-sp--60per {
    width: 60% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--65per,
  .table--lined .width-sp--65per {
    width: 65% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--70per,
  .table--lined .width-sp--70per {
    width: 70% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--75per,
  .table--lined .width-sp--75per {
    width: 75% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--80per,
  .table--lined .width-sp--80per {
    width: 80% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--85per,
  .table--lined .width-sp--85per {
    width: 85% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--90per,
  .table--lined .width-sp--90per {
    width: 90% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--95per,
  .table--lined .width-sp--95per {
    width: 95% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--lined span.width-sp--100per,
  .table--lined .width-sp--100per {
    width: 100% !important;
    min-width: 0 !important;
  }
}
.table--lined span.width--fit,
.table--lined .width--fit {
  width: fit-content !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined span.width--fit,
  .table--lined .width--fit {
    width: 100% !important;
  }
}
.table--lined.width--8 {
  width: 8px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--8 {
    width: 100% !important;
  }
}
.table--lined.width--16 {
  width: 16px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--16 {
    width: 100% !important;
  }
}
.table--lined.width--24 {
  width: 24px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--24 {
    width: 100% !important;
  }
}
.table--lined.width--32 {
  width: 32px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--32 {
    width: 100% !important;
  }
}
.table--lined.width--40 {
  width: 40px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--40 {
    width: 100% !important;
  }
}
.table--lined.width--48 {
  width: 48px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--48 {
    width: 100% !important;
  }
}
.table--lined.width--56 {
  width: 56px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--56 {
    width: 100% !important;
  }
}
.table--lined.width--64 {
  width: 64px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--64 {
    width: 100% !important;
  }
}
.table--lined.width--72 {
  width: 72px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--72 {
    width: 100% !important;
  }
}
.table--lined.width--80 {
  width: 80px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--80 {
    width: 100% !important;
  }
}
.table--lined.width--88 {
  width: 88px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--88 {
    width: 100% !important;
  }
}
.table--lined.width--96 {
  width: 96px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--96 {
    width: 100% !important;
  }
}
.table--lined.width--104 {
  width: 104px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--104 {
    width: 100% !important;
  }
}
.table--lined.width--112 {
  width: 112px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--112 {
    width: 100% !important;
  }
}
.table--lined.width--120 {
  width: 120px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--120 {
    width: 100% !important;
  }
}
.table--lined.width--128 {
  width: 128px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--128 {
    width: 100% !important;
  }
}
.table--lined.width--136 {
  width: 136px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--136 {
    width: 100% !important;
  }
}
.table--lined.width--144 {
  width: 144px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--144 {
    width: 100% !important;
  }
}
.table--lined.width--152 {
  width: 152px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--152 {
    width: 100% !important;
  }
}
.table--lined.width--160 {
  width: 160px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--160 {
    width: 100% !important;
  }
}
.table--lined.width--160 {
  width: 160px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--160 {
    width: 100% !important;
  }
}
.table--lined.width--240 {
  width: 240px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--240 {
    width: 100% !important;
  }
}
.table--lined.width--320 {
  width: 320px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--320 {
    width: 100% !important;
  }
}
.table--lined.width--400 {
  width: 400px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--400 {
    width: 100% !important;
  }
}
.table--lined.width--480 {
  width: 480px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--480 {
    width: 100% !important;
  }
}
.table--lined.width--560 {
  width: 560px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--560 {
    width: 100% !important;
  }
}
.table--lined.width--640 {
  width: 640px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--640 {
    width: 100% !important;
  }
}
.table--lined.width--720 {
  width: 720px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--720 {
    width: 100% !important;
  }
}
.table--lined.width--800 {
  width: 800px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--800 {
    width: 100% !important;
  }
}
.table--lined.width--880 {
  width: 880px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--880 {
    width: 100% !important;
  }
}
.table--lined.width--960 {
  width: 960px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--960 {
    width: 100% !important;
  }
}
.table--lined.width--1040 {
  width: 1040px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--1040 {
    width: 100% !important;
  }
}
.table--lined.width--1120 {
  width: 1120px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--1120 {
    width: 100% !important;
  }
}
.table--lined.width--1200 {
  width: 1200px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--1200 {
    width: 100% !important;
  }
}
.table--lined.width--1280 {
  width: 1280px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--1280 {
    width: 100% !important;
  }
}
.table--lined.width--5per {
  width: 5% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--5per {
    width: 100% !important;
  }
}
.table--lined.width--10per {
  width: 10% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--10per {
    width: 100% !important;
  }
}
.table--lined.width--15per {
  width: 15% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--15per {
    width: 100% !important;
  }
}
.table--lined.width--20per {
  width: 20% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--20per {
    width: 100% !important;
  }
}
.table--lined.width--25per {
  width: 25% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--25per {
    width: 100% !important;
  }
}
.table--lined.width--30per {
  width: 30% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--30per {
    width: 100% !important;
  }
}
.table--lined.width--35per {
  width: 35% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--35per {
    width: 100% !important;
  }
}
.table--lined.width--40per {
  width: 40% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--40per {
    width: 100% !important;
  }
}
.table--lined.width--45per {
  width: 45% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--45per {
    width: 100% !important;
  }
}
.table--lined.width--50per {
  width: 50% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--50per {
    width: 100% !important;
  }
}
.table--lined.width--55per {
  width: 55% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--55per {
    width: 100% !important;
  }
}
.table--lined.width--60per {
  width: 60% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--60per {
    width: 100% !important;
  }
}
.table--lined.width--65per {
  width: 65% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--65per {
    width: 100% !important;
  }
}
.table--lined.width--70per {
  width: 70% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--70per {
    width: 100% !important;
  }
}
.table--lined.width--75per {
  width: 75% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--75per {
    width: 100% !important;
  }
}
.table--lined.width--80per {
  width: 80% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--80per {
    width: 100% !important;
  }
}
.table--lined.width--85per {
  width: 85% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--85per {
    width: 100% !important;
  }
}
.table--lined.width--90per {
  width: 90% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--90per {
    width: 100% !important;
  }
}
.table--lined.width--95per {
  width: 95% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--95per {
    width: 100% !important;
  }
}
.table--lined.width--100per {
  width: 100% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--100per {
    width: 100% !important;
  }
}
.table--lined.width--fit {
  width: fit-content !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--lined.width--fit {
    width: 100% !important;
  }
}
.table--responsive {
  width: 100%;
  border-collapse: collapse;
}
.table--responsive th,
.table--responsive td {
  padding: 12px 20px;
  color: #474aa6;
}
@media (max-width: 480px) {
  .table--responsive th,
  .table--responsive td {
    padding: 12px 16px;
  }
}
.table--responsive th div,
.table--responsive th p,
.table--responsive th th,
.table--responsive th td,
.table--responsive th li,
.table--responsive th dt,
.table--responsive th dd,
.table--responsive th a,
.table--responsive th span,
.table--responsive td div,
.table--responsive td p,
.table--responsive td th,
.table--responsive td td,
.table--responsive td li,
.table--responsive td dt,
.table--responsive td dd,
.table--responsive td a,
.table--responsive td span {
  color: #474aa6;
}
.table--responsive th,
.table--responsive td {
  border-color: #474aa6;
  border-top: 1px solid;
  border-bottom: 1px solid;
}
.table--responsive thead th, .table--responsive:not(:has(thead)) th {
  background-color: rgb(92.3529411765%, 92.4235294118%, 97.9058823529%);
  color: #474aa6;
  font-weight: 500;
}
.table--responsive thead th span, .table--responsive:not(:has(thead)) th span {
  font-weight: 500;
}
.table--responsive.color--text th,
.table--responsive.color--text td {
  border-color: #2b2d67;
}
.table--responsive.color--text th {
  background-color: var(--timelineProductBgColor);
  color: #2b2d67;
}
.table--responsive th,
.table--responsive td {
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .table--responsive th,
  .table--responsive td {
    display: block;
    border: none;
  }
}
@media (max-width: 768px) {
  .table--responsive tr:first-child th:first-child,
  .table--responsive tr:first-child td:first-child {
    border-top: 1px solid #474aa6;
  }
}
.table--responsive tr:last-child th:last-child,
.table--responsive tr:last-child td:last-child {
  border-bottom: 1px solid #474aa6;
}
.table--responsive th {
  text-align: left;
  vertical-align: baseline;
}
@media (max-width: 768px) {
  .table--responsive th {
    width: 100%;
    background-color: rgb(92.3529411765%, 92.4235294118%, 97.9058823529%);
    color: #474aa6;
    font-weight: 500;
  }
  .table--responsive th span {
    font-weight: 500;
  }
}
@media (max-width: 768px) {
  .table--responsive tr:not(:first-child) th {
    border-top: 1px solid #474aa6;
  }
}
.table--responsive th {
  position: relative;
}
.table--responsive th > * {
  width: fit-content;
  display: inline-block;
}
.table--responsive th .text {
  color: #474aa6;
  font-weight: 700;
  margin-right: auto;
}
@media (max-width: 1000px) {
  .table--responsive th .text {
    width: 100%;
  }
}
@media (max-width: 768px) {
  .table--responsive th .text {
    width: fit-content;
  }
}
.table--responsive td p {
  color: #2b2d67;
}
@media (max-width: 768px) {
  .table--responsive td + td:not(:first-child) {
    padding-top: 0;
  }
}
.table--responsive span.width,
.table--responsive .width {
  display: inline-block;
}
.table--responsive span.width--8,
.table--responsive .width--8 {
  width: 8px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--8,
  .table--responsive .width--8 {
    width: 100% !important;
  }
}
.table--responsive span.width--16,
.table--responsive .width--16 {
  width: 16px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--16,
  .table--responsive .width--16 {
    width: 100% !important;
  }
}
.table--responsive span.width--24,
.table--responsive .width--24 {
  width: 24px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--24,
  .table--responsive .width--24 {
    width: 100% !important;
  }
}
.table--responsive span.width--32,
.table--responsive .width--32 {
  width: 32px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--32,
  .table--responsive .width--32 {
    width: 100% !important;
  }
}
.table--responsive span.width--40,
.table--responsive .width--40 {
  width: 40px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--40,
  .table--responsive .width--40 {
    width: 100% !important;
  }
}
.table--responsive span.width--48,
.table--responsive .width--48 {
  width: 48px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--48,
  .table--responsive .width--48 {
    width: 100% !important;
  }
}
.table--responsive span.width--56,
.table--responsive .width--56 {
  width: 56px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--56,
  .table--responsive .width--56 {
    width: 100% !important;
  }
}
.table--responsive span.width--64,
.table--responsive .width--64 {
  width: 64px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--64,
  .table--responsive .width--64 {
    width: 100% !important;
  }
}
.table--responsive span.width--72,
.table--responsive .width--72 {
  width: 72px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--72,
  .table--responsive .width--72 {
    width: 100% !important;
  }
}
.table--responsive span.width--80,
.table--responsive .width--80 {
  width: 80px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--80,
  .table--responsive .width--80 {
    width: 100% !important;
  }
}
.table--responsive span.width--88,
.table--responsive .width--88 {
  width: 88px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--88,
  .table--responsive .width--88 {
    width: 100% !important;
  }
}
.table--responsive span.width--96,
.table--responsive .width--96 {
  width: 96px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--96,
  .table--responsive .width--96 {
    width: 100% !important;
  }
}
.table--responsive span.width--104,
.table--responsive .width--104 {
  width: 104px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--104,
  .table--responsive .width--104 {
    width: 100% !important;
  }
}
.table--responsive span.width--112,
.table--responsive .width--112 {
  width: 112px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--112,
  .table--responsive .width--112 {
    width: 100% !important;
  }
}
.table--responsive span.width--120,
.table--responsive .width--120 {
  width: 120px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--120,
  .table--responsive .width--120 {
    width: 100% !important;
  }
}
.table--responsive span.width--128,
.table--responsive .width--128 {
  width: 128px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--128,
  .table--responsive .width--128 {
    width: 100% !important;
  }
}
.table--responsive span.width--136,
.table--responsive .width--136 {
  width: 136px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--136,
  .table--responsive .width--136 {
    width: 100% !important;
  }
}
.table--responsive span.width--144,
.table--responsive .width--144 {
  width: 144px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--144,
  .table--responsive .width--144 {
    width: 100% !important;
  }
}
.table--responsive span.width--152,
.table--responsive .width--152 {
  width: 152px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--152,
  .table--responsive .width--152 {
    width: 100% !important;
  }
}
.table--responsive span.width--160,
.table--responsive .width--160 {
  width: 160px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--160,
  .table--responsive .width--160 {
    width: 100% !important;
  }
}
.table--responsive span.width--160,
.table--responsive .width--160 {
  width: 160px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--160,
  .table--responsive .width--160 {
    width: 100% !important;
  }
}
.table--responsive span.width--240,
.table--responsive .width--240 {
  width: 240px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--240,
  .table--responsive .width--240 {
    width: 100% !important;
  }
}
.table--responsive span.width--320,
.table--responsive .width--320 {
  width: 320px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--320,
  .table--responsive .width--320 {
    width: 100% !important;
  }
}
.table--responsive span.width--400,
.table--responsive .width--400 {
  width: 400px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--400,
  .table--responsive .width--400 {
    width: 100% !important;
  }
}
.table--responsive span.width--480,
.table--responsive .width--480 {
  width: 480px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--480,
  .table--responsive .width--480 {
    width: 100% !important;
  }
}
.table--responsive span.width--560,
.table--responsive .width--560 {
  width: 560px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--560,
  .table--responsive .width--560 {
    width: 100% !important;
  }
}
.table--responsive span.width--640,
.table--responsive .width--640 {
  width: 640px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--640,
  .table--responsive .width--640 {
    width: 100% !important;
  }
}
.table--responsive span.width--720,
.table--responsive .width--720 {
  width: 720px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--720,
  .table--responsive .width--720 {
    width: 100% !important;
  }
}
.table--responsive span.width--800,
.table--responsive .width--800 {
  width: 800px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--800,
  .table--responsive .width--800 {
    width: 100% !important;
  }
}
.table--responsive span.width--880,
.table--responsive .width--880 {
  width: 880px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--880,
  .table--responsive .width--880 {
    width: 100% !important;
  }
}
.table--responsive span.width--960,
.table--responsive .width--960 {
  width: 960px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--960,
  .table--responsive .width--960 {
    width: 100% !important;
  }
}
.table--responsive span.width--1040,
.table--responsive .width--1040 {
  width: 1040px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--1040,
  .table--responsive .width--1040 {
    width: 100% !important;
  }
}
.table--responsive span.width--1120,
.table--responsive .width--1120 {
  width: 1120px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--1120,
  .table--responsive .width--1120 {
    width: 100% !important;
  }
}
.table--responsive span.width--1200,
.table--responsive .width--1200 {
  width: 1200px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--1200,
  .table--responsive .width--1200 {
    width: 100% !important;
  }
}
.table--responsive span.width--1280,
.table--responsive .width--1280 {
  width: 1280px !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--1280,
  .table--responsive .width--1280 {
    width: 100% !important;
  }
}
.table--responsive span.width--5per,
.table--responsive .width--5per {
  width: 5% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--5per,
  .table--responsive .width--5per {
    width: 100% !important;
  }
}
.table--responsive span.width--10per,
.table--responsive .width--10per {
  width: 10% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--10per,
  .table--responsive .width--10per {
    width: 100% !important;
  }
}
.table--responsive span.width--15per,
.table--responsive .width--15per {
  width: 15% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--15per,
  .table--responsive .width--15per {
    width: 100% !important;
  }
}
.table--responsive span.width--20per,
.table--responsive .width--20per {
  width: 20% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--20per,
  .table--responsive .width--20per {
    width: 100% !important;
  }
}
.table--responsive span.width--25per,
.table--responsive .width--25per {
  width: 25% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--25per,
  .table--responsive .width--25per {
    width: 100% !important;
  }
}
.table--responsive span.width--30per,
.table--responsive .width--30per {
  width: 30% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--30per,
  .table--responsive .width--30per {
    width: 100% !important;
  }
}
.table--responsive span.width--35per,
.table--responsive .width--35per {
  width: 35% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--35per,
  .table--responsive .width--35per {
    width: 100% !important;
  }
}
.table--responsive span.width--40per,
.table--responsive .width--40per {
  width: 40% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--40per,
  .table--responsive .width--40per {
    width: 100% !important;
  }
}
.table--responsive span.width--45per,
.table--responsive .width--45per {
  width: 45% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--45per,
  .table--responsive .width--45per {
    width: 100% !important;
  }
}
.table--responsive span.width--50per,
.table--responsive .width--50per {
  width: 50% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--50per,
  .table--responsive .width--50per {
    width: 100% !important;
  }
}
.table--responsive span.width--55per,
.table--responsive .width--55per {
  width: 55% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--55per,
  .table--responsive .width--55per {
    width: 100% !important;
  }
}
.table--responsive span.width--60per,
.table--responsive .width--60per {
  width: 60% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--60per,
  .table--responsive .width--60per {
    width: 100% !important;
  }
}
.table--responsive span.width--65per,
.table--responsive .width--65per {
  width: 65% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--65per,
  .table--responsive .width--65per {
    width: 100% !important;
  }
}
.table--responsive span.width--70per,
.table--responsive .width--70per {
  width: 70% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--70per,
  .table--responsive .width--70per {
    width: 100% !important;
  }
}
.table--responsive span.width--75per,
.table--responsive .width--75per {
  width: 75% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--75per,
  .table--responsive .width--75per {
    width: 100% !important;
  }
}
.table--responsive span.width--80per,
.table--responsive .width--80per {
  width: 80% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--80per,
  .table--responsive .width--80per {
    width: 100% !important;
  }
}
.table--responsive span.width--85per,
.table--responsive .width--85per {
  width: 85% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--85per,
  .table--responsive .width--85per {
    width: 100% !important;
  }
}
.table--responsive span.width--90per,
.table--responsive .width--90per {
  width: 90% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--90per,
  .table--responsive .width--90per {
    width: 100% !important;
  }
}
.table--responsive span.width--95per,
.table--responsive .width--95per {
  width: 95% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--95per,
  .table--responsive .width--95per {
    width: 100% !important;
  }
}
.table--responsive span.width--100per,
.table--responsive .width--100per {
  width: 100% !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--100per,
  .table--responsive .width--100per {
    width: 100% !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--8,
  .table--responsive .width-tab--8 {
    width: 8px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--16,
  .table--responsive .width-tab--16 {
    width: 16px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--24,
  .table--responsive .width-tab--24 {
    width: 24px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--32,
  .table--responsive .width-tab--32 {
    width: 32px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--40,
  .table--responsive .width-tab--40 {
    width: 40px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--48,
  .table--responsive .width-tab--48 {
    width: 48px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--56,
  .table--responsive .width-tab--56 {
    width: 56px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--64,
  .table--responsive .width-tab--64 {
    width: 64px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--72,
  .table--responsive .width-tab--72 {
    width: 72px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--80,
  .table--responsive .width-tab--80 {
    width: 80px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--88,
  .table--responsive .width-tab--88 {
    width: 88px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--96,
  .table--responsive .width-tab--96 {
    width: 96px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--104,
  .table--responsive .width-tab--104 {
    width: 104px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--112,
  .table--responsive .width-tab--112 {
    width: 112px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--120,
  .table--responsive .width-tab--120 {
    width: 120px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--128,
  .table--responsive .width-tab--128 {
    width: 128px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--136,
  .table--responsive .width-tab--136 {
    width: 136px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--144,
  .table--responsive .width-tab--144 {
    width: 144px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--152,
  .table--responsive .width-tab--152 {
    width: 152px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--160,
  .table--responsive .width-tab--160 {
    width: 160px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--160,
  .table--responsive .width-tab--160 {
    width: 160px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--240,
  .table--responsive .width-tab--240 {
    width: 240px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--320,
  .table--responsive .width-tab--320 {
    width: 320px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--400,
  .table--responsive .width-tab--400 {
    width: 400px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--480,
  .table--responsive .width-tab--480 {
    width: 480px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--560,
  .table--responsive .width-tab--560 {
    width: 560px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--640,
  .table--responsive .width-tab--640 {
    width: 640px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--720,
  .table--responsive .width-tab--720 {
    width: 720px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--800,
  .table--responsive .width-tab--800 {
    width: 800px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--5per,
  .table--responsive .width-tab--5per {
    width: 5% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--10per,
  .table--responsive .width-tab--10per {
    width: 10% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--15per,
  .table--responsive .width-tab--15per {
    width: 15% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--20per,
  .table--responsive .width-tab--20per {
    width: 20% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--25per,
  .table--responsive .width-tab--25per {
    width: 25% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--30per,
  .table--responsive .width-tab--30per {
    width: 30% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--35per,
  .table--responsive .width-tab--35per {
    width: 35% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--40per,
  .table--responsive .width-tab--40per {
    width: 40% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--45per,
  .table--responsive .width-tab--45per {
    width: 45% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--50per,
  .table--responsive .width-tab--50per {
    width: 50% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--55per,
  .table--responsive .width-tab--55per {
    width: 55% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--60per,
  .table--responsive .width-tab--60per {
    width: 60% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--65per,
  .table--responsive .width-tab--65per {
    width: 65% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--70per,
  .table--responsive .width-tab--70per {
    width: 70% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--75per,
  .table--responsive .width-tab--75per {
    width: 75% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--80per,
  .table--responsive .width-tab--80per {
    width: 80% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--85per,
  .table--responsive .width-tab--85per {
    width: 85% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--90per,
  .table--responsive .width-tab--90per {
    width: 90% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--95per,
  .table--responsive .width-tab--95per {
    width: 95% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .table--responsive span.width-tab--100per,
  .table--responsive .width-tab--100per {
    width: 100% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--8,
  .table--responsive .width-sp--8 {
    width: 8px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--16,
  .table--responsive .width-sp--16 {
    width: 16px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--24,
  .table--responsive .width-sp--24 {
    width: 24px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--32,
  .table--responsive .width-sp--32 {
    width: 32px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--40,
  .table--responsive .width-sp--40 {
    width: 40px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--48,
  .table--responsive .width-sp--48 {
    width: 48px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--56,
  .table--responsive .width-sp--56 {
    width: 56px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--64,
  .table--responsive .width-sp--64 {
    width: 64px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--72,
  .table--responsive .width-sp--72 {
    width: 72px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--80,
  .table--responsive .width-sp--80 {
    width: 80px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--88,
  .table--responsive .width-sp--88 {
    width: 88px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--96,
  .table--responsive .width-sp--96 {
    width: 96px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--104,
  .table--responsive .width-sp--104 {
    width: 104px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--112,
  .table--responsive .width-sp--112 {
    width: 112px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--120,
  .table--responsive .width-sp--120 {
    width: 120px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--128,
  .table--responsive .width-sp--128 {
    width: 128px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--136,
  .table--responsive .width-sp--136 {
    width: 136px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--144,
  .table--responsive .width-sp--144 {
    width: 144px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--152,
  .table--responsive .width-sp--152 {
    width: 152px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--160,
  .table--responsive .width-sp--160 {
    width: 160px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--160,
  .table--responsive .width-sp--160 {
    width: 160px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--240,
  .table--responsive .width-sp--240 {
    width: 240px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--320,
  .table--responsive .width-sp--320 {
    width: 320px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--400,
  .table--responsive .width-sp--400 {
    width: 400px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--480,
  .table--responsive .width-sp--480 {
    width: 480px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--5per,
  .table--responsive .width-sp--5per {
    width: 5% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--10per,
  .table--responsive .width-sp--10per {
    width: 10% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--15per,
  .table--responsive .width-sp--15per {
    width: 15% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--20per,
  .table--responsive .width-sp--20per {
    width: 20% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--25per,
  .table--responsive .width-sp--25per {
    width: 25% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--30per,
  .table--responsive .width-sp--30per {
    width: 30% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--35per,
  .table--responsive .width-sp--35per {
    width: 35% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--40per,
  .table--responsive .width-sp--40per {
    width: 40% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--45per,
  .table--responsive .width-sp--45per {
    width: 45% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--50per,
  .table--responsive .width-sp--50per {
    width: 50% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--55per,
  .table--responsive .width-sp--55per {
    width: 55% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--60per,
  .table--responsive .width-sp--60per {
    width: 60% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--65per,
  .table--responsive .width-sp--65per {
    width: 65% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--70per,
  .table--responsive .width-sp--70per {
    width: 70% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--75per,
  .table--responsive .width-sp--75per {
    width: 75% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--80per,
  .table--responsive .width-sp--80per {
    width: 80% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--85per,
  .table--responsive .width-sp--85per {
    width: 85% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--90per,
  .table--responsive .width-sp--90per {
    width: 90% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--95per,
  .table--responsive .width-sp--95per {
    width: 95% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .table--responsive span.width-sp--100per,
  .table--responsive .width-sp--100per {
    width: 100% !important;
    min-width: 0 !important;
  }
}
.table--responsive span.width--fit,
.table--responsive .width--fit {
  width: fit-content !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .table--responsive span.width--fit,
  .table--responsive .width--fit {
    width: 100% !important;
  }
}
@media (max-width: 768px) {
  .table--responsive thead {
    display: none;
  }
}

:where(.table--fluid, .table--lined, .table--responsive) {
  margin-top: 32px;
}
@media (max-width: 768px) {
  :where(.table--fluid, .table--lined, .table--responsive) {
    margin-top: 26.66656px;
  }
}
@media (max-width: 480px) {
  :where(.table--fluid, .table--lined, .table--responsive) {
    margin-top: 4vw;
  }
}

:where(.table--fluid + *:not(:first-child),
.table--lined + *:not(:first-child),
.table--responsive + *:not(:first-child)) {
  margin-top: 32px;
}
@media (max-width: 768px) {
  :where(.table--fluid + *:not(:first-child),
  .table--lined + *:not(:first-child),
  .table--responsive + *:not(:first-child)) {
    margin-top: 26.66656px;
  }
}
@media (max-width: 480px) {
  :where(.table--fluid + *:not(:first-child),
  .table--lined + *:not(:first-child),
  .table--responsive + *:not(:first-child)) {
    margin-top: 4vw;
  }
}

:where(.table--fluid + *[class*=grid-column]:not(:first-child),
.table--lined + *[class*=grid-column]:not(:first-child),
.table--responsive + *[class*=grid-column]:not(:first-child)) {
  margin-top: 56px;
}
@media (max-width: 768px) {
  :where(.table--fluid + *[class*=grid-column]:not(:first-child),
  .table--lined + *[class*=grid-column]:not(:first-child),
  .table--responsive + *[class*=grid-column]:not(:first-child)) {
    margin-top: 46.66648px;
  }
}
@media (max-width: 480px) {
  :where(.table--fluid + *[class*=grid-column]:not(:first-child),
  .table--lined + *[class*=grid-column]:not(:first-child),
  .table--responsive + *[class*=grid-column]:not(:first-child)) {
    margin-top: 7vw;
  }
}

/*--------------------------------------------------
ＴＥＸＴ
--------------------------------------------------*/
.text-color--accent {
  color: #f24649 !important;
}
.text-color--main {
  color: #474aa6 !important;
}
.text-color--sub {
  color: #f46f00 !important;
}
.text-color--error {
  color: #f24649 !important;
}
.text-color--font {
  color: #2b2d67 !important;
}

.text--error {
  display: inline-block;
  color: #f24649;
  padding-left: 1em;
}
.text--error::before {
  content: "※";
  display: inline-block;
  text-indent: -1em;
}

.text--note {
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
  text-indent: -1em;
  margin-left: 1em;
}
.text--note::before {
  content: "※";
  display: inline-block;
  margin-left: 0.5em;
  text-indent: -0.5em;
}

:lang(en) .text--note::before {
  content: "*";
  display: inline-block;
}

.marker--blue {
  background: linear-gradient(transparent 45%, #474aa6 45%, #474aa6 80%, transparent 80%);
  display: inline;
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
}

.marker--yellow {
  background: linear-gradient(transparent 45%, #f4b700 45%, #f4b700 80%, transparent 80%);
  display: inline;
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
}

.text--left {
  text-align: left !important;
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
}
.text--center {
  text-align: center !important;
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
}
.text--right {
  text-align: right !important;
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
}

.text-vertical--baseline {
  vertical-align: baseline !important;
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
}
.text-vertical--middle {
  vertical-align: middle !important;
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
}
.text-vertical--bottom {
  vertical-align: bottom !important;
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
}

.text--bold {
  font-weight: 700 !important;
  color: inherit;
  font-family: inherit;
}
.text--medium {
  font-weight: 500 !important;
  color: inherit;
  font-family: inherit;
}
.text--normal {
  font-weight: 400 !important;
  color: inherit;
  font-family: inherit;
}
.text--light {
  font-weight: 300 !important;
  color: inherit;
  font-family: inherit;
}

.text-size--xxl-top {
  font-size: 6.4rem;
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
}
@media (max-width: 768px) {
  .text-size--xxl-top {
    font-size: 5.6rem;
  }
}
@media (max-width: 480px) {
  .text-size--xxl-top {
    font-size: 4.4rem;
  }
}
.text-size--xxl {
  font-size: 4rem;
  font-size: 4rem !important;
}
@media (max-width: 768px) {
  .text-size--xxl {
    font-size: 3.6rem;
    font-size: 3.6rem !important;
  }
}
@media (max-width: 480px) {
  .text-size--xxl {
    font-size: 3.2rem;
    font-size: 3.2rem !important;
  }
}
.text-size--xxl {
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
}
.text-size--xl {
  font-size: 3.6rem;
  font-size: 3.6rem !important;
}
@media (max-width: 768px) {
  .text-size--xl {
    font-size: 3.2rem;
    font-size: 3.2rem !important;
  }
}
@media (max-width: 480px) {
  .text-size--xl {
    font-size: 2.8rem;
    font-size: 2.8rem !important;
  }
}
.text-size--xl {
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
}
.text-size--lg {
  font-size: 2.4rem;
  font-size: 2.4rem !important;
}
@media (max-width: 480px) {
  .text-size--lg {
    font-size: 2rem;
    font-size: 2rem !important;
  }
}
.text-size--lg {
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
}
.text-size--md {
  font-size: 1.6rem;
  font-size: 1.6rem !important;
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
}
.text-size--sm {
  font-size: 1.4rem;
  font-size: 1.4rem !important;
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
}
.text-size--sm-top {
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
  font-size: max(1.4rem, 0.9345794393vw);
}
@media (max-width: 1000px) {
  .text-size--sm-top {
    font-size: 1.4rem;
    font-size: 1.4rem !important;
  }
}
.text-size--xs {
  font-size: 1.2rem !important;
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
}
.text-size--xxs {
  font-size: 1rem !important;
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
}

.text--serif {
  font-family: "Zen Old Mincho", serif;
  color: inherit;
  font-weight: inherit;
}

.text--italic {
  font-style: italic;
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
}

.text--en {
  font-family: "Roboto", sans-serif;
  color: inherit;
  font-weight: inherit;
}

.speech-bubble {
  position: relative;
  padding: 0.25em 0.25em 0.25em 0.5em;
  border-radius: 4px;
  border: 2px solid #474aa6;
  box-shadow: -2px 2px 0 0 #474aa6;
  font-weight: 700;
  width: fit-content;
  height: fit-content;
}
.speech-bubble::before, .speech-bubble::after {
  position: absolute;
  left: 30px;
  height: 0;
  width: 0;
  border: solid transparent;
  content: "";
}
.speech-bubble::before {
  top: 100%;
  margin-left: -12px;
  border-color: transparent;
  border-top-color: #474aa6;
  border-right-color: #474aa6;
  border-width: 10px;
}
.speech-bubble::after {
  top: 99%;
  margin-left: -7px;
  border-color: transparent;
  border-top-color: white;
  border-right-color: white;
  border-width: 6.5px;
}

/*--------------------------------------------------
ASIDE
--------------------------------------------------*/
.featured-point {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "body image" "body  image";
  align-items: stretch;
  gap: 16px 24px;
  background: rgb(92.3529411765%, 92.4235294118%, 97.9058823529%);
  border-radius: 6px;
  margin-top: 96px;
}
@media (max-width: 768px) {
  .featured-point {
    margin-top: 79.99968px;
  }
}
@media (max-width: 480px) {
  .featured-point {
    margin-top: 12vw;
  }
}
@media (max-width: 768px) {
  .featured-point {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "body" "image";
  }
}
.featured-point .title {
  position: absolute;
  inset: 0;
  margin: -20px auto auto 36px;
  width: fit-content;
  height: 40px;
  display: grid;
  place-items: center;
  grid-area: title;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.4;
  color: #fff;
  padding: 0 16px;
  border-radius: 4px;
  background-color: #474aa6;
}
@media (max-width: 768px) {
  .featured-point .title {
    margin: -20px auto auto 16px;
  }
}
.featured-point .inner {
  grid-area: body;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 58px 32px 32px;
}
@media (max-width: 768px) {
  .featured-point .inner {
    padding: 40px 16px 32px;
  }
}
.featured-point .inner p {
  color: #474aa6;
  line-height: 2.25;
}
.featured-point .image {
  grid-area: image;
  width: 342px;
  height: 100%;
  object-fit: contain;
  object-position: bottom center;
  align-self: end;
  padding: 0 14px;
}
@media (max-width: 768px) {
  .featured-point .image {
    width: 100%;
    height: auto;
    align-self: stretch;
    padding: 0 24px;
  }
}
.featured-point + * {
  margin-top: 56px;
}
@media (max-width: 768px) {
  .featured-point + * {
    margin-top: 46.66648px;
  }
}
@media (max-width: 480px) {
  .featured-point + * {
    margin-top: 7vw;
  }
}

.contact-cta {
  margin-top: 120px;
}
@media (max-width: 768px) {
  .contact-cta {
    margin-top: 99.9996px;
  }
}
@media (max-width: 480px) {
  .contact-cta {
    margin-top: 15vw;
  }
}
.contact-cta {
  background-color: #474aa6;
}
.contact-cta .links {
  position: relative;
}
.contact-cta .links ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 1000px) {
  .contact-cta .links ul {
    grid-template-columns: 1fr;
  }
}
.contact-cta .links ul li {
  position: relative;
  padding: 56px 40px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto minmax(0, 1fr) auto;
  justify-items: center;
  text-align: center;
  overflow: hidden;
}
@media (max-width: 1000px) {
  .contact-cta .links ul li {
    padding: 56px 20px;
  }
}
.contact-cta .links ul li:first-child {
  background: linear-gradient(45deg, rgba(71, 74, 166, 0.1) 0%, rgba(27, 29, 64, 0.9) 100%);
}
@media (max-width: 1000px) {
  .contact-cta .links ul li:first-child {
    background: linear-gradient(180deg, rgba(27, 29, 64, 0.4) 0%, rgba(71, 74, 166, 0.24) 50%, rgba(27, 29, 64, 0.64) 100%);
  }
}
.contact-cta .links ul li:first-child .bg {
  height: 180%;
  margin: auto auto auto 0;
  transform: translateX(-16%);
}
.contact-cta .links ul li:last-child {
  background: linear-gradient(315deg, rgba(71, 74, 166, 0.1) 0%, rgba(27, 29, 64, 0.9) 100%);
}
@media (max-width: 1000px) {
  .contact-cta .links ul li:last-child {
    background: linear-gradient(0, rgba(27, 29, 64, 0.4) 0%, rgba(71, 74, 166, 0.24) 50%, rgba(27, 29, 64, 0.64) 100%);
  }
}
.contact-cta .links ul li:last-child .bg {
  height: 120%;
  margin: auto 0 0 auto;
}
.contact-cta .links ul li h2 {
  color: #fff;
  font-size: 3.6rem;
}
@media (max-width: 768px) {
  .contact-cta .links ul li h2 {
    font-size: 3.2rem;
  }
}
@media (max-width: 480px) {
  .contact-cta .links ul li h2 {
    font-size: 2.8rem;
  }
}
.contact-cta .links ul li h2 + * {
  margin-top: 28px;
}
@media (max-width: 768px) {
  .contact-cta .links ul li h2 + * {
    margin-top: 23.33324px;
  }
}
@media (max-width: 480px) {
  .contact-cta .links ul li h2 + * {
    margin-top: 3.5vw;
  }
}
.contact-cta .links ul li h2 {
  background-image: linear-gradient(180deg, #f46f00 18%, #f24649 48%, #f4b700 97%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
.contact-cta .links ul li .bg {
  position: absolute;
  inset: 0;
  width: auto;
  object-fit: contain;
  z-index: 0;
  opacity: 0.1;
}
.contact-cta .links::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1px;
  height: 100%;
  background: linear-gradient(45deg, #1b1d40 0, #7f83ff 50%, #1b1d40 100%);
  transform: translate(-50%, -50%) rotate(32deg);
  z-index: 1;
}
@media (max-width: 1440px) {
  .contact-cta .links::after {
    height: 80%;
    transform: translate(-50%, -50%) rotate(16deg);
  }
}
@media (max-width: 1280px) {
  .contact-cta .links::after {
    transform: translate(-50%, -50%) rotate(4deg);
  }
}
@media (max-width: 1000px) {
  .contact-cta .links::after {
    width: 80%;
    height: 1px;
    transform: translate(-50%, -50%) rotate(-2deg);
    background: linear-gradient(88deg, #1b1d40 0, #7f83ff 50%, #1b1d40 100%);
  }
}
.contact-cta .contact {
  position: relative;
  padding: 56px 40px 72px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  border-top: 1px solid transparent;
  background-image: linear-gradient(90deg, #1b1d40 0%, #7f83ff 50%, #1b1d40 100%), linear-gradient(90deg, rgba(27, 29, 64, 0.9) 0%, rgba(71, 74, 166, 0.1) 50%, rgba(27, 29, 64, 0.9) 100%);
  background-size: 100% 1px, 100% 100%;
  background-position: top, top;
  background-repeat: no-repeat;
}
@media (max-width: 1000px) {
  .contact-cta .contact {
    padding: 56px 20px;
  }
}
.contact-cta .contact h2 {
  position: relative;
  color: #fff;
  font-size: 3.6rem;
}
@media (max-width: 768px) {
  .contact-cta .contact h2 {
    font-size: 3.2rem;
  }
}
@media (max-width: 480px) {
  .contact-cta .contact h2 {
    font-size: 2.8rem;
  }
}
.contact-cta .contact h2 + * {
  margin-top: 28px;
}
@media (max-width: 768px) {
  .contact-cta .contact h2 + * {
    margin-top: 23.33324px;
  }
}
@media (max-width: 480px) {
  .contact-cta .contact h2 + * {
    margin-top: 3.5vw;
  }
}
.contact-cta .contact h2 {
  z-index: 1;
}
.contact-cta .link span,
.contact-cta p {
  color: #fff;
}
.contact-cta .link,
.contact-cta p {
  position: relative;
  margin-top: 16px;
}
@media (max-width: 768px) {
  .contact-cta .link,
  .contact-cta p {
    margin-top: 13.33328px;
  }
}
@media (max-width: 480px) {
  .contact-cta .link,
  .contact-cta p {
    margin-top: 2vw;
  }
}
.contact-cta .link,
.contact-cta p {
  z-index: 1;
}
.contact-cta .link {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
}
.contact-cta .link span {
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 100% 1px;
}
@media (any-hover: hover) {
  .contact-cta .link span:hover {
    animation: underline01 0.5s ease forwards;
  }
}
.contact-cta .link span:focus-visible {
  animation: underline01 0.5s ease forwards;
}
@media (hover: none) {
  .contact-cta .link span:active {
    animation: underline01 0.5s ease forwards;
  }
}
.contact-cta .link img {
  filter: brightness(0) invert(1);
}
.contact-cta .btn--contact,
.contact-cta .btn--primary-invert {
  margin-top: 32px;
}
@media (max-width: 768px) {
  .contact-cta .btn--contact,
  .contact-cta .btn--primary-invert {
    margin-top: 26.66656px;
  }
}
@media (max-width: 480px) {
  .contact-cta .btn--contact,
  .contact-cta .btn--primary-invert {
    margin-top: 4vw;
  }
}

/*--------------------------------------------------
form
--------------------------------------------------*/
.input-text {
  border: 1px solid #474aa6;
  background-color: #fff;
  border-radius: 4px;
  padding: 10px;
  width: 100%;
  height: 40px;
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .input-text {
    padding: 4px 10px;
    height: 36px;
  }
}
.input-text + p {
  font-size: 1.2rem !important;
}
.input-text.error {
  background-color: rgb(99.3882352941%, 91.2941176471%, 91.4352941176%);
  border-color: #f24649;
}
.input-text.error:has(*:valid), .input-text.error:valid {
  border-color: initial;
  background-color: initial;
}
.input-text--small {
  border: 1px solid #474aa6;
  background-color: #fff;
  border-radius: 4px;
  padding: 10px;
  width: 100%;
  height: 40px;
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .input-text--small {
    padding: 4px 10px;
    height: 36px;
  }
}
.input-text--small + p {
  font-size: 1.2rem !important;
}
.input-text--small.error {
  background-color: rgb(99.3882352941%, 91.2941176471%, 91.4352941176%);
  border-color: #f24649;
}
.input-text--small.error:has(*:valid), .input-text--small.error:valid {
  border-color: initial;
  background-color: initial;
}
.input-text--small {
  width: 20%;
}
@media (max-width: 768px) {
  .input-text--small {
    width: 40%;
    padding: 4px 10px;
  }
}

.select {
  position: relative;
  display: inline-block;
  width: 100%;
}
.select.error select {
  background-color: rgb(99.3882352941%, 91.2941176471%, 91.4352941176%);
  border-color: #f24649;
}
.select.error select:has(*:valid), .select.error select:valid {
  border-color: initial;
  background-color: initial;
}
.select select {
  border: 1px solid #474aa6;
  background-color: #fff;
  border-radius: 4px;
  padding: 10px;
  width: 100%;
  height: 40px;
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .select select {
    padding: 4px 10px;
    height: 36px;
  }
}
.select select + p {
  font-size: 1.2rem !important;
}
.select select.error {
  background-color: rgb(99.3882352941%, 91.2941176471%, 91.4352941176%);
  border-color: #f24649;
}
.select select.error:has(*:valid), .select select.error:valid {
  border-color: initial;
  background-color: initial;
}
.select select {
  position: relative;
  padding: 2px 24px 2px 10px;
}
.select::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.75rem;
  width: 0;
  height: 0;
  pointer-events: none;
  transform: translateY(-50%);
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid #333;
}

.radio {
  position: relative;
  display: inline-block;
}
.radio:not(:last-child) {
  margin-right: 10px;
}
.radio input {
  appearance: none;
  position: absolute;
}
.radio input:focus-visible {
  outline: none;
}
.radio input:focus-visible + .text::before {
  outline-color: #000;
  outline-offset: 2px;
  outline-style: solid;
  outline-width: 2px;
  box-shadow: 0 0 0 5px #ffffff;
}
.radio .text {
  position: relative;
  display: inline-block;
  padding-left: 24px;
  cursor: pointer;
}
.radio input:checked + .text::after {
  opacity: 1;
}
.radio .text::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 16px;
  aspect-ratio: 1;
  border: 1px solid #474aa6;
  background-color: #fff;
  border-radius: 50%;
  transform: translateY(-50%);
  transition: all 0.2s;
}
.radio .text::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 8px;
  width: 10px;
  height: 10px;
  background-color: #474aa6;
  border-radius: calc(infinity * 1px);
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: all 0.2s;
}

.checkbox {
  position: relative;
  display: inline-block;
}
.checkbox:not(:last-child) {
  margin-right: 10px;
}
.checkbox input {
  appearance: none;
  position: absolute;
}
.checkbox input:focus-visible {
  outline: none;
}
.checkbox input:focus-visible + .text::before {
  outline-color: #000;
  outline-offset: 2px;
  outline-style: solid;
  outline-width: 2px;
  box-shadow: 0 0 0 5px #ffffff;
}
.checkbox .text {
  position: relative;
  display: inline-block;
  padding-left: 24px;
  cursor: pointer;
}
.checkbox input:checked + .text::after {
  opacity: 1;
}
.checkbox .text::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 16px;
  aspect-ratio: 1;
  border: 1px solid #474aa6;
  background-color: #fff;
  border-radius: 4px;
  transform: translateY(-50%);
  transition: all 0.2s;
}
.checkbox .text::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 4px;
  width: 8px;
  height: 4px;
  border-left: 2px solid #474aa6;
  border-bottom: 2px solid #474aa6;
  transform: translateY(-60%) rotate(-45deg);
  opacity: 0;
  transition: all 0.2s;
}

.textarea {
  border: 1px solid #474aa6;
  background-color: #fff;
  border-radius: 4px;
  padding: 10px;
  width: 100%;
  height: 40px;
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .textarea {
    padding: 4px 10px;
    height: 36px;
  }
}
.textarea + p {
  font-size: 1.2rem !important;
}
.textarea.error {
  background-color: rgb(99.3882352941%, 91.2941176471%, 91.4352941176%);
  border-color: #f24649;
}
.textarea.error:has(*:valid), .textarea.error:valid {
  border-color: initial;
  background-color: initial;
}
.textarea {
  min-width: 100%;
  max-width: 100%;
  height: calc(6em + 24px);
}

.zip-list {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 16px;
}

:where(.input-list > *:not(:first-child)) {
  margin-top: 16px;
}
@media (max-width: 768px) {
  :where(.input-list > *:not(:first-child)) {
    margin-top: 13.33328px;
  }
}
@media (max-width: 480px) {
  :where(.input-list > *:not(:first-child)) {
    margin-top: 2vw;
  }
}

.input-list > .form-group legend + *:not(:first-child),
.input-list > label + *:not(:first-child) {
  margin-top: 8px;
}
.input-list label:not(.radio, .checkbox) {
  font-weight: 400;
  font-size: 2rem;
  color: #2b2d67;
}
@media (max-width: 768px) {
  .input-list label:not(.radio, .checkbox) {
    font-size: 1.6rem;
  }
}
.input-list label:not(.radio, .checkbox):not(:first-child) {
  margin-top: 32px;
}
@media (max-width: 768px) {
  .input-list label:not(.radio, .checkbox):not(:first-child) {
    margin-top: 26.66656px;
  }
}
@media (max-width: 480px) {
  .input-list label:not(.radio, .checkbox):not(:first-child) {
    margin-top: 4vw;
  }
}
.input-list label:not(.radio, .checkbox) {
  margin-top: 16px;
}
@media (max-width: 768px) {
  .input-list label:not(.radio, .checkbox) {
    margin-top: 13.33328px;
  }
}
@media (max-width: 480px) {
  .input-list label:not(.radio, .checkbox) {
    margin-top: 2vw;
  }
}
.input-list label:not(.radio, .checkbox) {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 8px;
}
.input-list .form-group:not(:first-child) {
  margin-top: 32px;
}
@media (max-width: 768px) {
  .input-list .form-group:not(:first-child) {
    margin-top: 26.66656px;
  }
}
@media (max-width: 480px) {
  .input-list .form-group:not(:first-child) {
    margin-top: 4vw;
  }
}
.input-list .text--error {
  display: block;
  margin-top: 8px;
}

.form-group {
  padding: 0;
  margin: 0;
  border: 0;
}
.form-group legend {
  font-weight: 400;
  font-size: 2rem;
  color: #2b2d67;
}
@media (max-width: 768px) {
  .form-group legend {
    font-size: 1.6rem;
  }
}
.form-group legend:not(:first-child) {
  margin-top: 32px;
}
@media (max-width: 768px) {
  .form-group legend:not(:first-child) {
    margin-top: 26.66656px;
  }
}
@media (max-width: 480px) {
  .form-group legend:not(:first-child) {
    margin-top: 4vw;
  }
}
.form-group legend {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0;
}
.form-group.error .radio .text::before,
.form-group.error .checkbox .text::before {
  background-color: rgb(99.3882352941%, 91.2941176471%, 91.4352941176%);
  border-color: #f24649;
}
.form-group.error .radio .text::before:has(*:valid), .form-group.error .radio .text::before:valid,
.form-group.error .checkbox .text::before:has(*:valid),
.form-group.error .checkbox .text::before:valid {
  border-color: initial;
  background-color: initial;
}
.form-group.error:has(input:checked) .radio .text::before,
.form-group.error:has(input:checked) .checkbox .text::before {
  border-color: initial;
  background-color: initial;
}

.caution {
  height: 200px;
  padding: 20px 20px 64px;
  border: 1px solid rgb(78.2164705882%, 78.2164705882%, 78.2164705882%);
  background-color: #fff;
  overflow-y: auto;
  border-radius: 6px;
}
.caution .notes > *:not(:first-child) {
  margin-top: 16px;
}
@media (max-width: 768px) {
  .caution .notes > *:not(:first-child) {
    margin-top: 13.33328px;
  }
}
@media (max-width: 480px) {
  .caution .notes > *:not(:first-child) {
    margin-top: 2vw;
  }
}

.caution-agree {
  position: relative;
  display: inline-block;
}
.caution-agree:not(:last-child) {
  margin-right: 10px;
}
.caution-agree input {
  appearance: none;
  position: absolute;
}
.caution-agree input:focus-visible {
  outline: none;
}
.caution-agree input:focus-visible + .text::before {
  outline-color: #000;
  outline-offset: 2px;
  outline-style: solid;
  outline-width: 2px;
  box-shadow: 0 0 0 5px #ffffff;
}
.caution-agree .text {
  position: relative;
  display: inline-block;
  padding-left: 24px;
  cursor: pointer;
}
.caution-agree input:checked + .text::after {
  opacity: 1;
}
.caution-agree {
  display: grid;
  place-items: center;
  width: 100%;
  height: 80px;
  background-color: #474aa6;
  border-radius: 6px;
  cursor: pointer;
  position: relative;
  transition: background-color 0.6s, color 0.6s, box-shadow 0.6s;
}
@media (max-width: 768px) {
  .caution-agree {
    height: 64px;
  }
}
.caution-agree input {
  appearance: none;
  position: absolute;
}
.caution-agree input:focus-visible {
  outline: none;
  box-shadow: none;
}
.caution-agree input {
  position: absolute;
  appearance: none;
}
.caution-agree input:checked::after::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 4px;
  width: 8px;
  height: 4px;
  border-left: 2px solid #474aa6;
  border-bottom: 2px solid #474aa6;
  transform: translateY(-60%) rotate(-45deg);
  opacity: 0;
  transition: all 0.2s;
}
.caution-agree input + .text::after {
  background-color: #474aa6;
}
.caution-agree .text::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 16px;
  aspect-ratio: 1;
  border: 1px solid #474aa6;
  background-color: #fff;
  border-radius: 4px;
  transform: translateY(-50%);
  transition: all 0.2s;
}
.caution-agree .text::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 4px;
  width: 8px;
  height: 4px;
  border-left: 2px solid #474aa6;
  border-bottom: 2px solid #474aa6;
  transform: translateY(-60%) rotate(-45deg);
  opacity: 0;
  transition: all 0.2s;
}
.caution-agree .text {
  cursor: inherit;
  color: #fff;
}
.caution-agree input:checked + .text::after {
  background-color: #fff;
}
.caution-agree:focus-visible {
  background-color: #474aa6;
}
@media (any-hover: hover) {
  .caution-agree:hover {
    background-color: #474aa6;
  }
}
@media (hover: none) {
  .caution-agree:active {
    background-color: #474aa6;
  }
}
.caution-agree:has(input:checked) {
  background-color: #474aa6;
}
.caution-agree:has(input:disabled) {
  cursor: not-allowed;
  background-color: rgb(87.1137254902%, 87.1137254902%, 87.1137254902%);
}
.caution-agree:has(input:disabled).error {
  border-color: transparent;
}
.caution-agree:has(input:disabled) .text {
  color: #494949;
}
.caution-agree.error:has(input:checked), .caution-agree.error {
  border-width: 1px;
  border-style: solid;
}

.section:has(.caution-agree.error input:disabled) .caution {
  background-color: rgb(99.3882352941%, 91.2941176471%, 91.4352941176%);
  border-color: #f24649;
}
.section:has(.caution-agree.error input:disabled) .caution:has(*:valid), .section:has(.caution-agree.error input:disabled) .caution:valid {
  border-color: initial;
  background-color: initial;
}

/*--------------------------------------------------
confirmation
--------------------------------------------------*/
.confirmation {
  border-top: 1px solid rgb(78.2164705882%, 78.2164705882%, 78.2164705882%);
}
.confirmation .title {
  font-weight: 400;
  font-size: 2rem;
  color: #2b2d67;
}
@media (max-width: 768px) {
  .confirmation .title {
    font-size: 1.6rem;
  }
}
.confirmation .title:not(:first-child) {
  margin-top: 32px;
}
@media (max-width: 768px) {
  .confirmation .title:not(:first-child) {
    margin-top: 26.66656px;
  }
}
@media (max-width: 480px) {
  .confirmation .title:not(:first-child) {
    margin-top: 4vw;
  }
}
.confirmation .title {
  padding-top: 16px;
}
@media (max-width: 480px) {
  .confirmation .title {
    padding-top: 10px;
  }
}
.confirmation .title:not(:first-child) {
  margin-top: 0px;
}
@media (max-width: 768px) {
  .confirmation .title:not(:first-child) {
    margin-top: 0px;
  }
}
@media (max-width: 480px) {
  .confirmation .title:not(:first-child) {
    margin-top: 0vw;
  }
}
.confirmation .text {
  margin-top: 6px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgb(78.2164705882%, 78.2164705882%, 78.2164705882%);
}
@media (max-width: 480px) {
  .confirmation .text {
    margin-top: 4px;
    padding-bottom: 8px;
  }
}

/*--------------------------------------------------
progressbar
--------------------------------------------------*/
.progressbar {
  --progressbar-height: 56px;
  --progressbar-height-sp: 48px;
  --progressbar-chevron-position-width: 24px;
  --progressbar-chevron-margin-width: 3px;
  --progressbar-chevron-border-width: 1px;
  display: flex;
  margin: 0 auto;
  padding: 0;
  background-image: linear-gradient(135deg, #fff 0%, #fff 100%), linear-gradient(90deg, #474aa6 0%, #474aa6 100%);
  background-clip: padding-box, border-box;
  background-size: 100% 100%, calc(100% + 2px) 100%;
  background-position: 0 0, -1px 0;
  border: 1px solid transparent;
  border-radius: 6px;
  height: var(--progressbar-height);
  box-shadow: 0px 2px 16px 0px rgba(71, 74, 166, 0.05);
}
@media (max-width: 480px) {
  .progressbar {
    height: var(--progressbar-height-sp);
  }
}
.progressbar:has(.active:first-child) {
  background-image: linear-gradient(90deg, #f6f6ff 0%, rgb(96.8235294118%, 96.8235294118%, 100%) calc(33.33333% - var(--progressbar-chevron-position-width) / 2), rgb(99.1529411765%, 99.1529411765%, 100%) calc(33.33333% + var(--progressbar-chevron-position-width) / 2), #fff 66.666666%, #fff 100%), linear-gradient(90deg, #474aa6 0%, #474aa6 calc(33.33333% - var(--progressbar-chevron-position-width) / 2), rgb(78.2164705882%, 78.2164705882%, 78.2164705882%) calc(33.33333% - var(--progressbar-chevron-position-width) / 2), rgb(78.2164705882%, 78.2164705882%, 78.2164705882%) 100%);
}
.progressbar:has(.active:nth-child(2)) {
  background-image: linear-gradient(90deg, #f6f6ff 0%, rgb(96.8235294118%, 96.8235294118%, 100%) calc(66.66666% - var(--progressbar-chevron-position-width)), rgb(99.1529411765%, 99.1529411765%, 100%) calc(66.66666% + var(--progressbar-chevron-position-width)), #fff 100%), linear-gradient(90deg, #474aa6 0%, #474aa6 calc(66.66666% - var(--progressbar-chevron-position-width)), rgb(78.2164705882%, 78.2164705882%, 78.2164705882%) calc(66.66666% - var(--progressbar-chevron-position-width) / 2), rgb(78.2164705882%, 78.2164705882%, 78.2164705882%) 100%);
}
.progressbar:has(.active:last-child) {
  background-image: linear-gradient(90deg, #f6f6ff 0%, rgb(96.8235294118%, 96.8235294118%, 100%) 100%), linear-gradient(90deg, #474aa6 0%, #474aa6 100%);
}
.progressbar li {
  position: relative;
  flex: 1;
}
.progressbar li:not(:last-child)::before {
  position: absolute;
  content: "";
  inset: 0;
  right: calc((var(--progressbar-chevron-position-width) + var(--progressbar-chevron-border-width) * 2 + var(--progressbar-chevron-margin-width)) / 2 * -1);
  margin: auto 0 auto auto;
  display: block;
  width: calc(var(--progressbar-chevron-position-width) + var(--progressbar-chevron-border-width) * 2 + var(--progressbar-chevron-margin-width));
  height: calc(var(--progressbar-height) + 0.5px);
  clip-path: polygon(0 0, calc(100% - var(--progressbar-chevron-position-width)) 0, 100% 50%, calc(100% - var(--progressbar-chevron-position-width)) 100%, 0 100%, calc(var(--progressbar-chevron-position-width)) 50%);
  background-image: linear-gradient(90deg, #fff 0%, #fff 100%);
  background-size: 100% 100%;
  background-position: 0 0;
}
@media (max-width: 480px) {
  .progressbar li:not(:last-child)::before {
    height: calc(var(--progressbar-height-sp) + 0.5px);
  }
}
.progressbar li:not(:last-child)::after {
  position: absolute;
  content: "";
  inset: 0;
  right: calc((var(--progressbar-chevron-position-width) + var(--progressbar-chevron-border-width) * 2 + var(--progressbar-chevron-margin-width)) / 2 * -1);
  margin: auto calc(var(--progressbar-chevron-margin-width) + var(--progressbar-chevron-border-width)) auto auto;
  display: block;
  width: calc(var(--progressbar-chevron-position-width) + var(--progressbar-chevron-border-width));
  height: var(--progressbar-height);
  clip-path: polygon(0 0, calc(100% - var(--progressbar-chevron-position-width)) 0, 100% 50%, calc(100% - var(--progressbar-chevron-position-width)) 100%, 0 100%, calc(var(--progressbar-chevron-position-width)) 50%);
  background-image: linear-gradient(90deg, rgb(78.2164705882%, 78.2164705882%, 78.2164705882%) 0%, rgb(78.2164705882%, 78.2164705882%, 78.2164705882%) 100%);
  background-size: 100% 100%;
  background-position: 0 0;
}
@media (max-width: 480px) {
  .progressbar li:not(:last-child)::after {
    height: var(--progressbar-height-sp);
  }
}
.progressbar li:not(:first-child) .inner::before {
  position: absolute;
  content: "";
  inset: 0;
  left: calc((var(--progressbar-chevron-position-width) + var(--progressbar-chevron-border-width) * 2 + var(--progressbar-chevron-margin-width)) / 2 * -1 + var(--progressbar-chevron-margin-width) + var(--progressbar-chevron-border-width));
  margin: auto auto auto 0;
  display: block;
  width: calc(var(--progressbar-chevron-position-width) + var(--progressbar-chevron-border-width));
  height: var(--progressbar-height);
  clip-path: polygon(0 0, calc(100% - var(--progressbar-chevron-position-width)) 0, 100% 50%, calc(100% - var(--progressbar-chevron-position-width)) 100%, 0 100%, calc(var(--progressbar-chevron-position-width)) 50%);
  background-image: linear-gradient(90deg, rgb(78.2164705882%, 78.2164705882%, 78.2164705882%) 0%, rgb(78.2164705882%, 78.2164705882%, 78.2164705882%) 100%);
  background-size: 100% 100%;
  background-position: 0 0;
}
@media (max-width: 480px) {
  .progressbar li:not(:first-child) .inner::before {
    height: var(--progressbar-height-sp);
  }
}
.progressbar li .inner {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
@media (max-width: 480px) {
  .progressbar li .inner {
    gap: 4px;
  }
}
.progressbar li .number,
.progressbar li .text {
  position: relative;
  z-index: 1;
}
.progressbar li .number {
  color: rgb(55.9733333333%, 55.9733333333%, 55.9733333333%);
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1;
}
.progressbar li .text {
  color: rgb(55.9733333333%, 55.9733333333%, 55.9733333333%);
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
}
.progressbar li.active::after {
  background-image: linear-gradient(90deg, #474aa6 0%, #474aa6 100%);
}
.progressbar li.active .inner::before {
  background-image: linear-gradient(90deg, #474aa6 0%, #474aa6 100%);
}
.progressbar li.active .number,
.progressbar li.active .text {
  color: #474aa6;
}
.progressbar li.done::after {
  background-image: linear-gradient(90deg, #474aa6 0%, #474aa6 100%);
}
.progressbar li.done .inner::before {
  background-image: linear-gradient(90deg, #474aa6 0%, #474aa6 100%);
}
.progressbar li.done .number,
.progressbar li.done .text {
  color: #474aa6;
}
.progressbar + p {
  margin-top: 56px;
}
@media (max-width: 768px) {
  .progressbar + p {
    margin-top: 46.66648px;
  }
}
@media (max-width: 480px) {
  .progressbar + p {
    margin-top: 7vw;
  }
}

/*--------------------------------------------------
news--list
--------------------------------------------------*/
.news--list {
  margin-top: 32px;
}
@media (max-width: 768px) {
  .news--list {
    margin-top: 26.66656px;
  }
}
@media (max-width: 480px) {
  .news--list {
    margin-top: 4vw;
  }
}
.news--list {
  padding: 0;
  list-style: none;
  border-top: 1px solid rgb(74.5098039216%, 74.8862745098%, 88.831372549%);
  background-color: #fff;
}
.news--list .title {
  margin: 0;
}
.news--list .item {
  border-bottom: 1px solid rgb(74.5098039216%, 74.8862745098%, 88.831372549%);
}
.news--list .link {
  position: relative;
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr) 16px;
  gap: 16px 32px;
}
@media (max-width: 768px) {
  .news--list .link {
    gap: 13.33328px 26.66656px;
  }
}
@media (max-width: 480px) {
  .news--list .link {
    gap: 2vw 4vw;
  }
}
.news--list .link {
  align-items: center;
  padding: 18px 20px;
  text-decoration: none;
  transition: background-position 0.4s ease, background-color 0.6s, background-image 0.6s, transform 0.4s ease, color 0.6s, box-shadow 0.6s;
}
@media (max-width: 1000px) {
  .news--list .link {
    grid-template-columns: 220px minmax(0, 1fr) 16px;
  }
}
@media (max-width: 768px) {
  .news--list .link {
    grid-template-columns: minmax(0, 1fr) 16px;
  }
}
@media (max-width: 480px) {
  .news--list .link {
    min-height: 0;
    padding: 12px 16px;
  }
}
.news--list .meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
}
@media (max-width: 768px) {
  .news--list .meta {
    gap: 6.66664px 13.33328px;
  }
}
@media (max-width: 480px) {
  .news--list .meta {
    gap: 1vw 2vw;
  }
}
.news--list .meta {
  min-width: 0;
}
@media (max-width: 768px) {
  .news--list .meta {
    grid-column: 1;
    grid-row: 1;
  }
}
.news--list .date {
  font-size: 1.4rem;
  line-height: 1.5;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  color: #474aa6;
  font-weight: 500;
}
.news--list .title {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: 1.6rem;
  line-height: 1.6;
  background-image: linear-gradient(90deg, #474aa6 0%, #474aa6 40%, #f24649 48%, #f4b700 54%, #f24649 60%, #474aa6 64%, #f24649 84%, #f4b700 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  background-repeat: no-repeat;
  background-size: 300% 100%;
  background-position: 0 0;
  width: fit-content;
  transition: background-position 0.4s ease, background-color 0.6s, background-image 0.6s, color 0.6s, box-shadow 0.6s;
}
@media (max-width: 768px) {
  .news--list .title {
    grid-column: 1;
    grid-row: 2;
  }
}
.news--list .arrow {
  width: 1em;
  height: 1em;
  object-fit: contain;
  filter: brightness(0) saturate(100%) invert(31%) sepia(15%) saturate(3200%) hue-rotate(215deg) brightness(82%) contrast(90%);
}
@media (max-width: 768px) {
  .news--list .icon,
  .news--list .arrow {
    grid-column: 2;
    grid-row: 1/3;
  }
}
.news--list .icon[src*="/assets/images/common/icon-pdf.svg"] {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  vertical-align: middle;
  margin-right: 0.25em;
}
.news--list .icon[src*="/assets/images/common/icon-pdf.svg"]:not(:first-child) {
  margin-top: 0;
}
.news--list .icon[src*="/assets/images/common/icon-pdf.svg"] {
  filter: brightness(0) saturate(100%) invert(31%) sepia(29%) saturate(5951%) hue-rotate(338deg) brightness(102%) contrast(89%);
}
.news--list .icon[src*="/assets/images/common/icon-xlsx.svg"] {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  vertical-align: middle;
  margin-right: 0.25em;
}
.news--list .icon[src*="/assets/images/common/icon-xlsx.svg"]:not(:first-child) {
  margin-top: 0;
}
.news--list .icon[src*="/assets/images/common/icon-xlsx.svg"] {
  filter: brightness(0) saturate(100%) invert(32%) sepia(30%) saturate(1100%) hue-rotate(105deg) brightness(82%) contrast(95%);
}
.news--list .icon[src*="/assets/images/common/icon-word.svg"] {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  vertical-align: middle;
  margin-right: 0.25em;
}
.news--list .icon[src*="/assets/images/common/icon-word.svg"]:not(:first-child) {
  margin-top: 0;
}
.news--list .icon[src*="/assets/images/common/icon-word.svg"] {
  filter: brightness(0) saturate(100%) invert(24%) sepia(100%) saturate(3800%) hue-rotate(220deg) brightness(95%) contrast(105%);
}
.news--list .icon[src*="/assets/images/common/icon-zip.svg"] {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  vertical-align: middle;
  margin-right: 0.25em;
}
.news--list .icon[src*="/assets/images/common/icon-zip.svg"]:not(:first-child) {
  margin-top: 0;
}
.news--list .icon[src*="/assets/images/common/icon-zip.svg"] {
  filter: brightness(0) saturate(100%) invert(47%) sepia(55%) saturate(3000%) hue-rotate(355deg) brightness(85%) contrast(105%);
}
.news--list .icon[src*="/assets/images/common/icon-external.svg"] {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  vertical-align: middle;
  margin-right: 0.25em;
}
.news--list .icon[src*="/assets/images/common/icon-external.svg"]:not(:first-child) {
  margin-top: 0;
}
.news--list .icon[src*="/assets/images/common/icon-external.svg"] {
  filter: brightness(0) saturate(100%) invert(26%) sepia(62%) saturate(1541%) hue-rotate(217deg) brightness(88%) contrast(85%);
}
@media (any-hover: hover) {
  .news--list a.link:hover .title {
    background-position: 100% 0;
  }
  .news--list a.link:hover .arrow {
    transform: translateX(3px);
  }
}
.news--list a.link:focus-visible .title {
  background-position: 100% 0;
}
.news--list a.link:focus-visible .arrow {
  transform: translateX(3px);
}
@media (hover: none) {
  .news--list a.link:active .title {
    background-position: 100% 0;
  }
  .news--list a.link:active .arrow {
    transform: translateX(3px);
  }
}

/*--------------------------------------------------
news--ticker
--------------------------------------------------*/
.news--ticker {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px 32px;
}
@media (max-width: 768px) {
  .news--ticker {
    gap: 11.66662px 26.66656px;
  }
}
@media (max-width: 480px) {
  .news--ticker {
    gap: 1.75vw 4vw;
  }
}
.news--ticker {
  align-items: center;
  padding: 10px 20px;
  border: 1px solid transparent;
  border-radius: 0 6px 6px 0;
  border-left: none;
  background-image: linear-gradient(135deg, #f6f6ff 0%, rgba(96.8235294118%, 96.8235294118%, 100%, 0.975) 100%), linear-gradient(90deg, #474aa6 0%, #f24649 32%, #f4b700 48%, #f24649 64%, #474aa6 82%, #f4b700 100%);
  background-clip: padding-box, border-box;
  background-size: 100% 100%, 300% 100%;
  background-position: 0 0, 0 0;
  backdrop-filter: blur(25px);
  -webkit-backdrop-filter: blur(25px);
  box-shadow: 0px 2px 16px 0px rgba(71, 74, 166, 0.1);
}
@media (max-width: 768px) {
  .news--ticker {
    grid-template-columns: 1fr;
    padding: 14px 20px;
  }
}
@media (max-width: 480px) {
  .news--ticker {
    padding: 12px 16px;
  }
}
.news--ticker .content {
  min-width: 0;
}
.news--ticker .controls {
  display: flex;
  align-items: center;
  gap: 8px;
}
@media (max-width: 768px) {
  .news--ticker .controls {
    margin-left: auto;
  }
}
.news--ticker .button--prev {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 999px;
  background: linear-gradient(#f6f6ff, #f6f6ff) padding-box, linear-gradient(135deg, #474aa6, #f46f00) border-box;
  text-decoration: none;
  transition: background 0.4s ease, box-shadow 0.4s ease;
  width: 36px;
  height: 36px;
  padding: 0;
  cursor: pointer;
}
.news--ticker .button--prev .arrow {
  display: block;
  width: 16px;
  height: 16px;
  background-image: linear-gradient(90deg, #474aa6 0%, #f24649 32%, #f4b700 48%, #f24649 64%, #474aa6 82%, #f4b700 100%);
  background-repeat: no-repeat;
  background-size: 200% 200%;
  background-position: 0% 0%;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  transition: background-position 0.4s ease, transform 0.4s ease;
  mask-image: url("/assets/images/common/icon-arrow-left.svg");
}
@media (any-hover: hover) {
  .news--ticker .button--prev:hover .arrow {
    background-position: 100% 100%;
    transform: translateX(-3px);
  }
}
.news--ticker .button--prev:focus-visible .arrow {
  background-position: 100% 100%;
  transform: translateX(-3px);
}
@media (hover: none) {
  .news--ticker .button--prev:active .arrow {
    background-position: 100% 100%;
    transform: translateX(-3px);
  }
}
.news--ticker .button--next {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 999px;
  background: linear-gradient(#f6f6ff, #f6f6ff) padding-box, linear-gradient(135deg, #474aa6, #f46f00) border-box;
  text-decoration: none;
  transition: background 0.4s ease, box-shadow 0.4s ease;
  width: 36px;
  height: 36px;
  padding: 0;
  cursor: pointer;
}
.news--ticker .button--next .arrow {
  display: block;
  width: 16px;
  height: 16px;
  background-image: linear-gradient(90deg, #474aa6 0%, #f24649 32%, #f4b700 48%, #f24649 64%, #474aa6 82%, #f4b700 100%);
  background-repeat: no-repeat;
  background-size: 200% 200%;
  background-position: 0% 0%;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  transition: background-position 0.4s ease, transform 0.4s ease;
  mask-image: url("/assets/images/common/icon-arrow-right.svg");
  -webkit-mask-image: url("/assets/images/common/icon-arrow-right.svg");
}
@media (any-hover: hover) {
  .news--ticker .button--next:hover .arrow {
    background-position: 100% 100%;
    transform: translateX(3px);
  }
}
.news--ticker .button--next:focus-visible .arrow {
  background-position: 100% 100%;
  transform: translateX(3px);
}
@media (hover: none) {
  .news--ticker .button--next:active .arrow {
    background-position: 100% 100%;
    transform: translateX(3px);
  }
}
.news--ticker .button--play {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 999px;
  background: linear-gradient(#f6f6ff, #f6f6ff) padding-box, linear-gradient(135deg, #474aa6, #f46f00) border-box;
  text-decoration: none;
  transition: background 0.4s ease, box-shadow 0.4s ease;
  width: 36px;
  height: 36px;
  padding: 0;
  cursor: pointer;
}
.news--ticker .button--play .pause,
.news--ticker .button--play .play {
  display: block;
  width: 16px;
  height: 16px;
  background-image: linear-gradient(90deg, #474aa6 0%, #f24649 32%, #f4b700 48%, #f24649 64%, #474aa6 82%, #f4b700 100%);
  background-repeat: no-repeat;
  background-size: 200% 200%;
  background-position: 0% 0%;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  transition: background-position 0.4s ease, transform 0.4s ease;
  width: 20px;
  height: 20px;
}
.news--ticker .button--play .pause {
  display: block;
  mask-image: url("/assets/images/common/icon-pause.svg");
  -webkit-mask-image: url("/assets/images/common/icon-pause.svg");
}
.news--ticker .button--play .play {
  display: none;
  mask-image: url("/assets/images/common/icon-replay.svg");
  -webkit-mask-image: url("/assets/images/common/icon-replay.svg");
}
.news--ticker .button--play[aria-pressed=true] .pause {
  display: none;
}
.news--ticker .button--play[aria-pressed=true] .play {
  display: block;
}
@media (any-hover: hover) {
  .news--ticker .button--play:hover .pause,
  .news--ticker .button--play:hover .play {
    background-position: 100% 100%;
  }
}
.news--ticker .button--play:focus-visible .pause,
.news--ticker .button--play:focus-visible .play {
  background-position: 100% 100%;
}
@media (hover: none) {
  .news--ticker .button--play:active .pause,
  .news--ticker .button--play:active .play {
    background-position: 100% 100%;
  }
}
.news--ticker .link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 999px;
  background: linear-gradient(#f6f6ff, #f6f6ff) padding-box, linear-gradient(135deg, #474aa6, #f46f00) border-box;
  text-decoration: none;
  transition: background 0.4s ease, box-shadow 0.4s ease;
  min-height: 36px;
  padding: 0 16px;
  margin-left: 12px;
  gap: 8px;
}
.news--ticker .link .text {
  font-size: 1.4rem;
  background-image: linear-gradient(90deg, #474aa6 0%, #f24649 16%, #f4b700 32%, #f24649 48%, #474aa6 64%, #f4b700 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  background-image: linear-gradient(90deg, #474aa6 0%, #f24649 32%, #f4b700 48%, #f24649 64%, #474aa6 82%, #f24649 100%);
  background-repeat: no-repeat;
  background-size: 300% 100%;
  background-position: 0 0;
  width: fit-content;
  transition: background-position 0.4s ease, background-color 0.6s, background-image 0.6s, color 0.6s, box-shadow 0.6s;
}
@media (any-hover: hover) {
  .news--ticker .link:hover .text {
    background-position: 100% 0;
  }
}
.news--ticker .link:focus-visible .text {
  background-position: 100% 0;
}
@media (hover: none) {
  .news--ticker .link:active .text {
    background-position: 100% 0;
  }
}
.news--ticker .slide {
  display: grid;
  grid-template-columns: auto auto 12px;
  gap: 0px 16px;
}
@media (max-width: 768px) {
  .news--ticker .slide {
    gap: 0px 13.33328px;
  }
}
@media (max-width: 480px) {
  .news--ticker .slide {
    gap: 0vw 2vw;
  }
}
.news--ticker .slide {
  justify-content: start;
  align-items: center;
  text-decoration: none;
}
.news--ticker .slide .date {
  font-size: 1.4rem;
  line-height: 1.5;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  color: #474aa6;
  font-weight: 500;
}
.news--ticker .slide .title {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 1.6rem;
  line-height: 1.6;
  background-image: linear-gradient(90deg, #474aa6 0%, #474aa6 40%, #f24649 48%, #f4b700 54%, #f24649 60%, #474aa6 64%, #f24649 84%, #f4b700 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  background-repeat: no-repeat;
  background-size: 300% 100%;
  background-position: 0 0;
  width: fit-content;
  transition: background-position 0.4s ease, background-color 0.6s, background-image 0.6s, color 0.6s, box-shadow 0.6s;
}
.news--ticker .slide .arrow {
  transform: translateY(-0.05em);
}
.news--ticker .slide .icon {
  transform: translateY(-0.05em);
}
.news--ticker .slide .arrow {
  width: 1em;
  height: 1em;
  object-fit: contain;
  filter: brightness(0) saturate(100%) invert(31%) sepia(15%) saturate(3200%) hue-rotate(215deg) brightness(82%) contrast(90%);
}
.news--ticker .slide .icon[src*="/assets/images/common/icon-pdf.svg"] {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  vertical-align: middle;
  margin-right: 0.25em;
}
.news--ticker .slide .icon[src*="/assets/images/common/icon-pdf.svg"]:not(:first-child) {
  margin-top: 0;
}
.news--ticker .slide .icon[src*="/assets/images/common/icon-pdf.svg"] {
  filter: brightness(0) saturate(100%) invert(31%) sepia(29%) saturate(5951%) hue-rotate(338deg) brightness(102%) contrast(89%);
}
.news--ticker .slide .icon[src*="/assets/images/common/icon-xlsx.svg"] {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  vertical-align: middle;
  margin-right: 0.25em;
}
.news--ticker .slide .icon[src*="/assets/images/common/icon-xlsx.svg"]:not(:first-child) {
  margin-top: 0;
}
.news--ticker .slide .icon[src*="/assets/images/common/icon-xlsx.svg"] {
  filter: brightness(0) saturate(100%) invert(32%) sepia(30%) saturate(1100%) hue-rotate(105deg) brightness(82%) contrast(95%);
}
.news--ticker .slide .icon[src*="/assets/images/common/icon-word.svg"] {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  vertical-align: middle;
  margin-right: 0.25em;
}
.news--ticker .slide .icon[src*="/assets/images/common/icon-word.svg"]:not(:first-child) {
  margin-top: 0;
}
.news--ticker .slide .icon[src*="/assets/images/common/icon-word.svg"] {
  filter: brightness(0) saturate(100%) invert(24%) sepia(100%) saturate(3800%) hue-rotate(220deg) brightness(95%) contrast(105%);
}
.news--ticker .slide .icon[src*="/assets/images/common/icon-zip.svg"] {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  vertical-align: middle;
  margin-right: 0.25em;
}
.news--ticker .slide .icon[src*="/assets/images/common/icon-zip.svg"]:not(:first-child) {
  margin-top: 0;
}
.news--ticker .slide .icon[src*="/assets/images/common/icon-zip.svg"] {
  filter: brightness(0) saturate(100%) invert(47%) sepia(55%) saturate(3000%) hue-rotate(355deg) brightness(85%) contrast(105%);
}
.news--ticker .slide .icon[src*="/assets/images/common/icon-external.svg"] {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  vertical-align: middle;
  margin-right: 0.25em;
}
.news--ticker .slide .icon[src*="/assets/images/common/icon-external.svg"]:not(:first-child) {
  margin-top: 0;
}
.news--ticker .slide .icon[src*="/assets/images/common/icon-external.svg"] {
  filter: brightness(0) saturate(100%) invert(26%) sepia(62%) saturate(1541%) hue-rotate(217deg) brightness(88%) contrast(85%);
}
@media (max-width: 768px) {
  .news--ticker .slide {
    grid-template-columns: auto 12px;
  }
  .news--ticker .slide .date {
    grid-column: 1;
    grid-row: 1;
  }
  .news--ticker .slide .title {
    grid-column: 1;
    grid-row: 2;
  }
  .news--ticker .slide .arrow,
  .news--ticker .slide .icon {
    grid-column: 2;
    grid-row: 2/3;
  }
}
@media (any-hover: hover) {
  .news--ticker a.slide:hover .title {
    background-position: 100% 0;
  }
}
.news--ticker a.slide:focus-visible .title {
  background-position: 100% 0;
}
@media (hover: none) {
  .news--ticker a.slide:active .title {
    background-position: 100% 0;
  }
}
.news--ticker .viewport {
  overflow: hidden;
}
.news--ticker .list {
  display: flex;
}
.news--ticker .slide {
  flex: 0 0 100%;
  min-width: 0;
  width: fit-content;
}

/*--------------------------------------------------
記事ページ
--------------------------------------------------*/
.news-time {
  display: block;
  text-align: right;
  margin-left: auto;
}
.news-time + .section {
  margin-top: 72px;
}
@media (max-width: 768px) {
  .news-time + .section {
    margin-top: 59.99976px;
  }
}
@media (max-width: 480px) {
  .news-time + .section {
    margin-top: 9vw;
  }
}

/*--------------------------------------------------
ＦＯＯＴＥＲ
--------------------------------------------------*/
:root {
  --footer-inner-padding-block: 64px;
  --footer-inner-padding-block-tabL: 48px;
}

main:not(:has(.contact-cta)) + .footer {
  border-top: 1px solid transparent;
  background-image: linear-gradient(90deg, #1b1d40 0%, #7f83ff 50%, #1b1d40 100%), linear-gradient(90deg, #fff 0%, #fff 100%);
  background-size: 100% 1px, 100% 100%;
  background-position: top, top;
  background-repeat: no-repeat;
}

.footer {
  background-color: #fff;
}
.footer .inner {
  max-width: 1360px;
  margin: 0 auto;
  padding: var(--footer-inner-padding-block) 20px;
  display: grid;
  grid-template-columns: 360px minmax(0, 1fr);
  justify-content: space-between;
  gap: 0px 80px;
}
@media (max-width: 768px) {
  .footer .inner {
    gap: 0px 66.6664px;
  }
}
@media (max-width: 480px) {
  .footer .inner {
    gap: 0vw 10vw;
  }
}
@media (min-width: 1001px) and (max-width: 1080px) {
  .footer .inner {
    grid-template-columns: 320px minmax(0, 1fr);
  }
}
@media (max-width: 1000px) {
  .footer .inner {
    grid-template-columns: minmax(0, 1fr);
    padding: var(--footer-inner-padding-block-tabL) 20px;
  }
}
.footer .company {
  width: 100%;
  flex-shrink: 0;
}
@media (max-width: 1000px) {
  .footer .company {
    width: auto;
  }
}
.footer .logo {
  display: inline-block;
}
.footer .logo img {
  width: 96px;
  display: block;
}
.footer .address {
  font-style: normal;
  line-height: 1.8;
  margin-top: 14px;
}
.footer .sns {
  display: flex;
  gap: 12px;
  list-style: none;
  padding: 0;
  margin-top: 40px;
}
@media (max-width: 768px) {
  .footer .sns {
    margin-top: 33.3332px;
  }
}
@media (max-width: 480px) {
  .footer .sns {
    margin-top: 5vw;
  }
}
.footer .sns a {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: opacity 0.3s;
  overflow: hidden;
}
@media (any-hover: hover) {
  .footer .sns a:hover {
    opacity: 0.7;
  }
}
.footer .sns a:focus-visible {
  opacity: 0.7;
}
@media (hover: none) {
  .footer .sns a:active {
    opacity: 0.7;
  }
}
.footer .sns a[aria-label=YouTube] img {
  width: 50px;
  height: 50px;
}
.footer .nav {
  display: grid;
  grid-template-columns: repeat(4, max-content);
  gap: 16px 48px;
}
@media (max-width: 768px) {
  .footer .nav {
    gap: 13.33328px 39.99984px;
  }
}
@media (max-width: 480px) {
  .footer .nav {
    gap: 2vw 6vw;
  }
}
@media (max-width: 1440px) {
  .footer .nav {
    grid-template-columns: repeat(auto-fit, 168px);
  }
}
@media (max-width: 1000px) {
  .footer .nav {
    margin-top: 48px;
  }
}
@media (max-width: 1000px) and (max-width: 768px) {
  .footer .nav {
    margin-top: 39.99984px;
  }
}
@media (max-width: 1000px) and (max-width: 480px) {
  .footer .nav {
    margin-top: 6vw;
  }
}
@media (max-width: 768px) {
  .footer .nav {
    grid-template-columns: repeat(2, 1fr);
  }
}
.footer .nav .column:not(:has(*[href="/terms/"])) {
  max-width: 168px;
}
.footer .nav .column:not(:has(.title)) .list:first-child {
  margin-top: 40px;
}
@media (max-width: 768px) {
  .footer .nav .column:not(:has(.title)) .list:first-child {
    margin-top: 33.3332px;
  }
}
@media (max-width: 480px) {
  .footer .nav .column:not(:has(.title)) .list:first-child {
    margin-top: 5vw;
  }
}
@media (min-width: 769px) and (max-width: 1000px) {
  .footer .nav .column:has(*[href="/terms/"]) {
    grid-column: 1/-1;
  }
}
@media (min-width: 1001px) {
  .footer .nav .column:has(*[href="/terms/"]) {
    grid-column: 1/-1;
  }
}
@media (min-width: 1081px) {
  .footer .nav .column:has(*[href="/terms/"]) {
    grid-column: 2/-1;
  }
}
@media (min-width: 1301px) {
  .footer .nav .column:has(*[href="/terms/"]) {
    grid-column: 1/-1;
  }
}
@media (max-width: 768px) {
  .footer .nav .column:has(*[href="/terms/"]) {
    grid-column: 1/-1;
  }
}
@media (min-width: 1301px) {
  .footer .nav .column:has(*[href="/terms/"]) .list {
    display: flex;
    gap: 16px 48px;
    width: fit-content;
    flex-wrap: wrap;
  }
}
@media (min-width: 1301px) and (max-width: 768px) {
  .footer .nav .column:has(*[href="/terms/"]) .list {
    gap: 13.33328px 39.99984px;
  }
}
@media (min-width: 1301px) and (max-width: 480px) {
  .footer .nav .column:has(*[href="/terms/"]) .list {
    gap: 2vw 6vw;
  }
}
@media (min-width: 769px) and (max-width: 1080px) {
  .footer .nav .column:has(*[href="/terms/"]) .list {
    display: flex;
    gap: 16px 48px;
    width: fit-content;
    flex-wrap: wrap;
  }
}
@media (min-width: 769px) and (max-width: 1080px) and (max-width: 768px) {
  .footer .nav .column:has(*[href="/terms/"]) .list {
    gap: 13.33328px 39.99984px;
  }
}
@media (min-width: 769px) and (max-width: 1080px) and (max-width: 480px) {
  .footer .nav .column:has(*[href="/terms/"]) .list {
    gap: 2vw 6vw;
  }
}
@media (min-width: 1301px) {
  .footer .nav .column:has(*[href="/terms/"]) .list .item + .item {
    margin-top: 0px;
  }
}
@media (min-width: 1301px) and (max-width: 768px) {
  .footer .nav .column:has(*[href="/terms/"]) .list .item + .item {
    margin-top: 0px;
  }
}
@media (min-width: 1301px) and (max-width: 480px) {
  .footer .nav .column:has(*[href="/terms/"]) .list .item + .item {
    margin-top: 0vw;
  }
}
@media (min-width: 769px) and (max-width: 1080px) {
  .footer .nav .column:has(*[href="/terms/"]) .list .item + .item {
    margin-top: 0px;
  }
}
@media (min-width: 769px) and (max-width: 1080px) and (max-width: 768px) {
  .footer .nav .column:has(*[href="/terms/"]) .list .item + .item {
    margin-top: 0px;
  }
}
@media (min-width: 769px) and (max-width: 1080px) and (max-width: 480px) {
  .footer .nav .column:has(*[href="/terms/"]) .list .item + .item {
    margin-top: 0vw;
  }
}
.footer .title {
  font-size: 18px;
  font-weight: 700;
}
@media (max-width: 1000px) {
  .footer .title {
    font-size: 16px;
  }
}
.footer .list {
  list-style: none;
  padding: 0;
  margin-top: 16px;
}
@media (max-width: 768px) {
  .footer .list {
    margin-top: 13.33328px;
  }
}
@media (max-width: 480px) {
  .footer .list {
    margin-top: 2vw;
  }
}
.footer .item {
  width: fit-content;
}
.footer .item + .item {
  margin-top: 8px;
}
@media (max-width: 1000px) {
  .footer .item + .item {
    margin-top: 4px;
  }
}
.footer .link {
  text-decoration: none;
  color: inherit;
}
@media (max-width: 1000px) {
  .footer .link {
    display: inline-block;
    padding: 4px 0;
  }
}
@media (any-hover: hover) {
  .footer .link:hover {
    text-decoration: none;
    background-image: linear-gradient(currentColor, currentColor);
    background-repeat: no-repeat;
    background-position: 0 100%;
    background-size: 100% 1px;
  }
}
@media (any-hover: hover) and (any-hover: hover) {
  .footer .link:hover:hover {
    animation: underline01 0.5s ease forwards;
  }
}
@media (any-hover: hover) {
  .footer .link:hover:focus-visible {
    animation: underline01 0.5s ease forwards;
  }
}
@media (any-hover: hover) and (hover: none) {
  .footer .link:hover:active {
    animation: underline01 0.5s ease forwards;
  }
}
.footer .link:focus-visible {
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 100% 1px;
}
@media (any-hover: hover) {
  .footer .link:focus-visible:hover {
    animation: underline01 0.5s ease forwards;
  }
}
.footer .link:focus-visible:focus-visible {
  animation: underline01 0.5s ease forwards;
}
@media (hover: none) {
  .footer .link:focus-visible:active {
    animation: underline01 0.5s ease forwards;
  }
}
@media (hover: none) {
  .footer .link:active {
    text-decoration: none;
    background-image: linear-gradient(currentColor, currentColor);
    background-repeat: no-repeat;
    background-position: 0 100%;
    background-size: 100% 1px;
  }
}
@media (hover: none) and (any-hover: hover) {
  .footer .link:active:hover {
    animation: underline01 0.5s ease forwards;
  }
}
@media (hover: none) {
  .footer .link:active:focus-visible {
    animation: underline01 0.5s ease forwards;
  }
}
@media (hover: none) and (hover: none) {
  .footer .link:active:active {
    animation: underline01 0.5s ease forwards;
  }
}
.footer .copyright {
  background: #2d2d6f;
  color: #fff;
  text-align: center;
  padding: 18px 20px;
  font-size: 14px;
}
@media (max-width: 1000px) {
  .footer .copyright {
    font-size: 12px;
    padding: 16px;
  }
}

/*--------------------------------------------------
TOPに戻るボタン
--------------------------------------------------*/
.btn--back-to-top {
  --back-to-top-width: 40px;
  --fix-btn-bottom: 20px;
  --fix-btn-right: 72px;
  --fix-btn-right-1856: 20px;
  --fix-btn-bottom-sp: 1rem;
  --fix-btn-bottom-page-bottom: 8px;
  --fix-btn-bottom-page-bottom-tabL: 4px;
  --fix-btn-bottom-current: var(--fix-btn-bottom);
  --fix-btn-right-sp: 6px;
  position: fixed;
  bottom: var(--fix-btn-bottom-current);
  right: 0;
  z-index: 9000;
  margin: 0 var(--fix-btn-right) 0 0;
  width: var(--back-to-top-width);
  aspect-ratio: 1;
  display: grid;
  place-content: center;
  background-color: rgba(71, 74, 166, 0.1);
  background-color: rgb(92.7843137255%, 92.9019607843%, 96.5098039216%);
  border: 1px solid rgba(71, 74, 166, 0.8);
  border-radius: 4px;
  transition: background-color 0.6s, border 0.6s, color 0.6s, box-shadow 0.6s;
}
@media (max-width: 1856px) {
  .btn--back-to-top {
    margin-right: var(--fix-btn-right-1856);
  }
}
@media (max-width: 480px) {
  .btn--back-to-top {
    margin-right: var(--fix-btn-right-sp);
  }
}
.btn--back-to-top::before {
  content: "";
  position: relative;
  display: block;
  top: 2px;
  width: 10px;
  aspect-ratio: 1;
  border-top: 2px solid #474aa6;
  border-right: 2px solid #474aa6;
  transform: rotate(-45deg);
}
@media (any-hover: hover) {
  .btn--back-to-top:hover {
    background-color: #474aa6;
  }
  .btn--back-to-top:hover::before {
    border-color: #fff;
  }
}
.btn--back-to-top:focus-visible {
  background-color: #474aa6;
}
.btn--back-to-top:focus-visible::before {
  border-color: #fff;
}
@media (hover: none) {
  .btn--back-to-top:active {
    background-color: #474aa6;
  }
  .btn--back-to-top:active::before {
    border-color: #fff;
  }
}

/*--------------------------------------------------
ＡＮＩＭＡＴＩＯＮ
--------------------------------------------------*/
.fade {
  animation-name: fadeAnime;
  animation-duration: 2s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeAnime {
  from {
    opacity: 0;
    transform: translateY(0);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.slide-quick {
  animation: slide-quick 1.6s;
  flex: none;
}

@keyframes slide-quick {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fade-quick {
  animation: fade-quick 2s;
  flex: none;
}

@keyframes fade-quick {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.fade-in,
.scroll-up,
.scroll-left,
.scroll-right {
  opacity: 0;
}
.fade-in.on,
.scroll-up.on,
.scroll-left.on,
.scroll-right.on {
  opacity: 1;
}

/*----------------------------
fade-in ｜フェードイン
----------------------------*/
.fade-in {
  opacity: 0;
  transition: 0.8s ease-in-out;
}

.fade-in.on {
  opacity: 1;
}

/*----------------------------
scroll-up ｜下から上へ出現
----------------------------*/
.scroll-up {
  transition: 0.6s ease-in-out;
  transform: translateY(20px);
  opacity: 0;
}

.scroll-up.on {
  transform: translateY(0);
  opacity: 1;
}

/*----------------------------
scroll-left ｜左から出現
----------------------------*/
.scroll-left.on,
.left-quick {
  animation: left-quick 0.8s ease-in-out;
  flex: none;
}

@keyframes left-quick {
  0% {
    opacity: 0;
    filter: alpha(opacity=0);
    transform: translateX(-30px);
  }
  100% {
    opacity: 1;
    filter: alpha(opacity=100);
    transform: translateX(0);
  }
}
/*----------------------------
scroll-right ｜右から出現
----------------------------*/
.scroll-right.on,
.right-quick {
  animation: right-quick 0.8s ease-in-out;
  flex: none;
}

@keyframes right-quick {
  0% {
    opacity: 0;
    filter: alpha(opacity=0);
    transform: translateX(30px);
  }
  100% {
    opacity: 1;
    filter: alpha(opacity=100);
    transform: translateX(0);
  }
}
/*----------------------------
animation delay
----------------------------*/
.delay-1 {
  transition-delay: 0.1s;
}

.delay-2 {
  transition-delay: 0.2s;
}

.delay-3 {
  transition-delay: 0.3s;
}

.delay-4 {
  transition-delay: 0.4s;
}

.delay-5 {
  transition-delay: 0.5s;
}

.delay-6 {
  transition-delay: 0.6s;
}

/*----------------------------
gradient ｜文字グラデーション
----------------------------*/
.gradient-right-quick,
.gradient-right {
  background-image: linear-gradient(90deg, #474aa6 0%, #f24649 16%, #f4b700 32%, #f24649 48%, #474aa6 64%, #474aa6 100%) !important;
  background-size: 300% 100%;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

.gradient-right-quick,
.gradient-right.on {
  animation: gradient-flow 2s ease forwards;
  flex: none;
}

/*----------------------------
gradient-bg-right ｜背景グラデーション
----------------------------*/
.gradient-bg-right-quick,
.gradient-bg-right {
  background-image: linear-gradient(90deg, #474aa6 0%, #f24649 16%, #f4b700 32%, #f24649 48%, #474aa6 64%, #f4b700 100%) !important;
  background-size: 300% 100%;
  background-position: 0 0;
  background-repeat: no-repeat;
}

.gradient-bg-right-quick,
.gradient-bg-right.on {
  animation: gradient-flow 2s ease forwards;
  flex: none;
}

@keyframes gradient-flow {
  from {
    background-position: 100% 0;
  }
  to {
    background-position: 0 0;
  }
}
.margin-top--00 {
  margin-top: 0 !important;
}
.margin-top--04 {
  margin-top: 4px !important;
}
.margin-top--08 {
  margin-top: 8px !important;
}
.margin-top--10 {
  margin-top: 10px !important;
}
.margin-top--16 {
  margin-top: 16px !important;
}
@media (max-width: 768px) {
  .margin-top--16 {
    margin-top: 13.33332px !important;
  }
}
@media (max-width: 480px) {
  .margin-top--16 {
    margin-top: 2vw !important;
  }
}
.margin-top--24 {
  margin-top: 24px !important;
}
@media (max-width: 768px) {
  .margin-top--24 {
    margin-top: 19.99998px !important;
  }
}
@media (max-width: 480px) {
  .margin-top--24 {
    margin-top: 3vw !important;
  }
}
.margin-top--32 {
  margin-top: 32px !important;
}
@media (max-width: 768px) {
  .margin-top--32 {
    margin-top: 26.66664px !important;
  }
}
@media (max-width: 480px) {
  .margin-top--32 {
    margin-top: 4vw !important;
  }
}
.margin-top--40 {
  margin-top: 40px !important;
}
@media (max-width: 768px) {
  .margin-top--40 {
    margin-top: 33.3333px !important;
  }
}
@media (max-width: 480px) {
  .margin-top--40 {
    margin-top: 5vw !important;
  }
}
.margin-top--48 {
  margin-top: 48px !important;
}
@media (max-width: 768px) {
  .margin-top--48 {
    margin-top: 39.99996px !important;
  }
}
@media (max-width: 480px) {
  .margin-top--48 {
    margin-top: 6vw !important;
  }
}
.margin-top--56 {
  margin-top: 56px !important;
}
@media (max-width: 768px) {
  .margin-top--56 {
    margin-top: 46.66662px !important;
  }
}
@media (max-width: 480px) {
  .margin-top--56 {
    margin-top: 7vw !important;
  }
}
.margin-top--64 {
  margin-top: 64px !important;
}
@media (max-width: 768px) {
  .margin-top--64 {
    margin-top: 53.33328px !important;
  }
}
@media (max-width: 480px) {
  .margin-top--64 {
    margin-top: 8vw !important;
  }
}
.margin-top--72 {
  margin-top: 72px !important;
}
@media (max-width: 768px) {
  .margin-top--72 {
    margin-top: 59.99994px !important;
  }
}
@media (max-width: 480px) {
  .margin-top--72 {
    margin-top: 9vw !important;
  }
}
.margin-top--80 {
  margin-top: 80px !important;
}
@media (max-width: 768px) {
  .margin-top--80 {
    margin-top: 66.6666px !important;
  }
}
@media (max-width: 480px) {
  .margin-top--80 {
    margin-top: 10vw !important;
  }
}
.margin-top--88 {
  margin-top: 88px !important;
}
@media (max-width: 768px) {
  .margin-top--88 {
    margin-top: 73.33326px !important;
  }
}
@media (max-width: 480px) {
  .margin-top--88 {
    margin-top: 11vw !important;
  }
}
.margin-top--96 {
  margin-top: 96px !important;
}
@media (max-width: 768px) {
  .margin-top--96 {
    margin-top: 79.99992px !important;
  }
}
@media (max-width: 480px) {
  .margin-top--96 {
    margin-top: 12vw !important;
  }
}
.margin-top--104 {
  margin-top: 104px !important;
}
@media (max-width: 768px) {
  .margin-top--104 {
    margin-top: 86.66658px !important;
  }
}
@media (max-width: 480px) {
  .margin-top--104 {
    margin-top: 13vw !important;
  }
}
.margin-top--112 {
  margin-top: 112px !important;
}
@media (max-width: 768px) {
  .margin-top--112 {
    margin-top: 93.33324px !important;
  }
}
@media (max-width: 480px) {
  .margin-top--112 {
    margin-top: 14vw !important;
  }
}
.margin-top--120 {
  margin-top: 120px !important;
}
@media (max-width: 768px) {
  .margin-top--120 {
    margin-top: 99.9999px !important;
  }
}
@media (max-width: 480px) {
  .margin-top--120 {
    margin-top: 15vw !important;
  }
}
.margin-top--128 {
  margin-top: 128px !important;
}
@media (max-width: 768px) {
  .margin-top--128 {
    margin-top: 106.66656px !important;
  }
}
@media (max-width: 480px) {
  .margin-top--128 {
    margin-top: 16vw !important;
  }
}
.margin-top--136 {
  margin-top: 136px !important;
}
@media (max-width: 768px) {
  .margin-top--136 {
    margin-top: 113.33322px !important;
  }
}
@media (max-width: 480px) {
  .margin-top--136 {
    margin-top: 17vw !important;
  }
}
.margin-top--144 {
  margin-top: 144px !important;
}
@media (max-width: 768px) {
  .margin-top--144 {
    margin-top: 119.99988px !important;
  }
}
@media (max-width: 480px) {
  .margin-top--144 {
    margin-top: 18vw !important;
  }
}
.margin-top--152 {
  margin-top: 152px !important;
}
@media (max-width: 768px) {
  .margin-top--152 {
    margin-top: 126.66654px !important;
  }
}
@media (max-width: 480px) {
  .margin-top--152 {
    margin-top: 19vw !important;
  }
}
.margin-top--160 {
  margin-top: 160px !important;
}
@media (max-width: 768px) {
  .margin-top--160 {
    margin-top: 133.3332px !important;
  }
}
@media (max-width: 480px) {
  .margin-top--160 {
    margin-top: 20vw !important;
  }
}
.margin-top--168 {
  margin-top: 168px !important;
}
@media (max-width: 768px) {
  .margin-top--168 {
    margin-top: 139.99986px !important;
  }
}
@media (max-width: 480px) {
  .margin-top--168 {
    margin-top: 21vw !important;
  }
}
.margin-top--176 {
  margin-top: 176px !important;
}
@media (max-width: 768px) {
  .margin-top--176 {
    margin-top: 146.66652px !important;
  }
}
@media (max-width: 480px) {
  .margin-top--176 {
    margin-top: 22vw !important;
  }
}
.margin-top--184 {
  margin-top: 184px !important;
}
@media (max-width: 768px) {
  .margin-top--184 {
    margin-top: 153.33318px !important;
  }
}
@media (max-width: 480px) {
  .margin-top--184 {
    margin-top: 23vw !important;
  }
}
.margin-top--192 {
  margin-top: 192px !important;
}
@media (max-width: 768px) {
  .margin-top--192 {
    margin-top: 159.99984px !important;
  }
}
@media (max-width: 480px) {
  .margin-top--192 {
    margin-top: 24vw !important;
  }
}
.margin-top--200 {
  margin-top: 200px !important;
}
@media (max-width: 768px) {
  .margin-top--200 {
    margin-top: 166.6665px !important;
  }
}
@media (max-width: 480px) {
  .margin-top--200 {
    margin-top: 25vw !important;
  }
}
.margin-right--00 {
  margin-right: 0 !important;
}
.margin-right--04 {
  margin-right: 4px !important;
}
.margin-right--08 {
  margin-right: 8px !important;
}
.margin-right--10 {
  margin-right: 10px !important;
}
.margin-right--12 {
  margin-right: 12px !important;
}
@media (max-width: 768px) {
  .margin-right--12 {
    margin-right: 10px !important;
  }
}
@media (max-width: 480px) {
  .margin-right--12 {
    margin-right: 1.5vw !important;
  }
}
.margin-right--16 {
  margin-right: 16px !important;
}
@media (max-width: 768px) {
  .margin-right--16 {
    margin-right: 14px !important;
  }
}
@media (max-width: 480px) {
  .margin-right--16 {
    margin-right: 2vw !important;
  }
}
.margin-right--24 {
  margin-right: 24px !important;
}
@media (max-width: 768px) {
  .margin-right--24 {
    margin-right: 20px !important;
  }
}
@media (max-width: 480px) {
  .margin-right--24 {
    margin-right: 3vw !important;
  }
}
.margin-right--32 {
  margin-right: 32px !important;
}
@media (max-width: 768px) {
  .margin-right--32 {
    margin-right: 27px !important;
  }
}
@media (max-width: 480px) {
  .margin-right--32 {
    margin-right: 4vw !important;
  }
}
.margin-right--40 {
  margin-right: 40px !important;
}
@media (max-width: 768px) {
  .margin-right--40 {
    margin-right: 34px !important;
  }
}
@media (max-width: 480px) {
  .margin-right--40 {
    margin-right: 5vw !important;
  }
}
.margin-right--48 {
  margin-right: 48px !important;
}
@media (max-width: 768px) {
  .margin-right--48 {
    margin-right: 40px !important;
  }
}
@media (max-width: 480px) {
  .margin-right--48 {
    margin-right: 6vw !important;
  }
}
.margin-right--56 {
  margin-right: 56px !important;
}
@media (max-width: 768px) {
  .margin-right--56 {
    margin-right: 47px !important;
  }
}
@media (max-width: 480px) {
  .margin-right--56 {
    margin-right: 7vw !important;
  }
}
.margin-right--64 {
  margin-right: 64px !important;
}
@media (max-width: 768px) {
  .margin-right--64 {
    margin-right: 54px !important;
  }
}
@media (max-width: 480px) {
  .margin-right--64 {
    margin-right: 8vw !important;
  }
}
.margin-right--72 {
  margin-right: 72px !important;
}
@media (max-width: 768px) {
  .margin-right--72 {
    margin-right: 60px !important;
  }
}
@media (max-width: 480px) {
  .margin-right--72 {
    margin-right: 9vw !important;
  }
}
.margin-right--80 {
  margin-right: 80px !important;
}
@media (max-width: 768px) {
  .margin-right--80 {
    margin-right: 67px !important;
  }
}
@media (max-width: 480px) {
  .margin-right--80 {
    margin-right: 10vw !important;
  }
}

.paddingX--00 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.paddingX--04 {
  padding-left: 4px !important;
  padding-right: 4px !important;
}
.paddingX--08 {
  padding-left: 8px !important;
  padding-right: 8px !important;
}
.paddingX--10 {
  padding-left: 10px !important;
  padding-right: 10px !important;
}
.paddingX--12 {
  padding-left: 12px !important;
  padding-right: 12px !important;
}
@media (max-width: 768px) {
  .paddingX--12 {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}
@media (max-width: 480px) {
  .paddingX--12 {
    padding-left: 1.5vw !important;
    padding-right: 1.5vw !important;
  }
}
.paddingX--16 {
  padding-left: 16px !important;
  padding-right: 16px !important;
}
@media (max-width: 768px) {
  .paddingX--16 {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
}
@media (max-width: 480px) {
  .paddingX--16 {
    padding-left: 2vw !important;
    padding-right: 2vw !important;
  }
}
.paddingX--24 {
  padding-left: 24px !important;
  padding-right: 24px !important;
}
@media (max-width: 768px) {
  .paddingX--24 {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}
@media (max-width: 480px) {
  .paddingX--24 {
    padding-left: 3vw !important;
    padding-right: 3vw !important;
  }
}
.paddingX--32 {
  padding-left: 32px !important;
  padding-right: 32px !important;
}
@media (max-width: 768px) {
  .paddingX--32 {
    padding-left: 27px !important;
    padding-right: 27px !important;
  }
}
@media (max-width: 480px) {
  .paddingX--32 {
    padding-left: 4vw !important;
    padding-right: 4vw !important;
  }
}
.paddingX--40 {
  padding-left: 40px !important;
  padding-right: 40px !important;
}
@media (max-width: 768px) {
  .paddingX--40 {
    padding-left: 34px !important;
    padding-right: 34px !important;
  }
}
@media (max-width: 480px) {
  .paddingX--40 {
    padding-left: 5vw !important;
    padding-right: 5vw !important;
  }
}
.paddingX--48 {
  padding-left: 48px !important;
  padding-right: 48px !important;
}
@media (max-width: 768px) {
  .paddingX--48 {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
}
@media (max-width: 480px) {
  .paddingX--48 {
    padding-left: 6vw !important;
    padding-right: 6vw !important;
  }
}
.paddingX--56 {
  padding-left: 56px !important;
  padding-right: 56px !important;
}
@media (max-width: 768px) {
  .paddingX--56 {
    padding-left: 47px !important;
    padding-right: 47px !important;
  }
}
@media (max-width: 480px) {
  .paddingX--56 {
    padding-left: 7vw !important;
    padding-right: 7vw !important;
  }
}
.paddingX--64 {
  padding-left: 64px !important;
  padding-right: 64px !important;
}
@media (max-width: 768px) {
  .paddingX--64 {
    padding-left: 54px !important;
    padding-right: 54px !important;
  }
}
@media (max-width: 480px) {
  .paddingX--64 {
    padding-left: 8vw !important;
    padding-right: 8vw !important;
  }
}
.paddingX--72 {
  padding-left: 72px !important;
  padding-right: 72px !important;
}
@media (max-width: 768px) {
  .paddingX--72 {
    padding-left: 60px !important;
    padding-right: 60px !important;
  }
}
@media (max-width: 480px) {
  .paddingX--72 {
    padding-left: 9vw !important;
    padding-right: 9vw !important;
  }
}
.paddingX--80 {
  padding-left: 80px !important;
  padding-right: 80px !important;
}
@media (max-width: 768px) {
  .paddingX--80 {
    padding-left: 67px !important;
    padding-right: 67px !important;
  }
}
@media (max-width: 480px) {
  .paddingX--80 {
    padding-left: 10vw !important;
    padding-right: 10vw !important;
  }
}
.paddingY--00 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.paddingY--04 {
  padding-top: 4px !important;
  padding-bottom: 4px !important;
}
.paddingY--08 {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}
.paddingY--10 {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}
.paddingY--16 {
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}
@media (max-width: 768px) {
  .paddingY--16 {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
  }
}
@media (max-width: 480px) {
  .paddingY--16 {
    padding-top: 2vw !important;
    padding-bottom: 2vw !important;
  }
}
.paddingY--24 {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}
@media (max-width: 768px) {
  .paddingY--24 {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
}
@media (max-width: 480px) {
  .paddingY--24 {
    padding-top: 3vw !important;
    padding-bottom: 3vw !important;
  }
}
.paddingY--32 {
  padding-top: 32px !important;
  padding-bottom: 32px !important;
}
@media (max-width: 768px) {
  .paddingY--32 {
    padding-top: 27px !important;
    padding-bottom: 27px !important;
  }
}
@media (max-width: 480px) {
  .paddingY--32 {
    padding-top: 4vw !important;
    padding-bottom: 4vw !important;
  }
}
.paddingY--40 {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}
@media (max-width: 768px) {
  .paddingY--40 {
    padding-top: 34px !important;
    padding-bottom: 34px !important;
  }
}
@media (max-width: 480px) {
  .paddingY--40 {
    padding-top: 5vw !important;
    padding-bottom: 5vw !important;
  }
}
.paddingY--48 {
  padding-top: 48px !important;
  padding-bottom: 48px !important;
}
@media (max-width: 768px) {
  .paddingY--48 {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
}
@media (max-width: 480px) {
  .paddingY--48 {
    padding-top: 6vw !important;
    padding-bottom: 6vw !important;
  }
}
.paddingY--56 {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
}
@media (max-width: 768px) {
  .paddingY--56 {
    padding-top: 47px !important;
    padding-bottom: 47px !important;
  }
}
@media (max-width: 480px) {
  .paddingY--56 {
    padding-top: 7vw !important;
    padding-bottom: 7vw !important;
  }
}
.paddingY--64 {
  padding-top: 64px !important;
  padding-bottom: 64px !important;
}
@media (max-width: 768px) {
  .paddingY--64 {
    padding-top: 54px !important;
    padding-bottom: 54px !important;
  }
}
@media (max-width: 480px) {
  .paddingY--64 {
    padding-top: 8vw !important;
    padding-bottom: 8vw !important;
  }
}
.paddingY--72 {
  padding-top: 72px !important;
  padding-bottom: 72px !important;
}
@media (max-width: 768px) {
  .paddingY--72 {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
}
@media (max-width: 480px) {
  .paddingY--72 {
    padding-top: 9vw !important;
    padding-bottom: 9vw !important;
  }
}
.paddingY--80 {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}
@media (max-width: 768px) {
  .paddingY--80 {
    padding-top: 67px !important;
    padding-bottom: 67px !important;
  }
}
@media (max-width: 480px) {
  .paddingY--80 {
    padding-top: 10vw !important;
    padding-bottom: 10vw !important;
  }
}
.paddingY--88 {
  padding-top: 88px !important;
  padding-bottom: 88px !important;
}
@media (max-width: 768px) {
  .paddingY--88 {
    padding-top: 74px !important;
    padding-bottom: 74px !important;
  }
}
@media (max-width: 480px) {
  .paddingY--88 {
    padding-top: 11vw !important;
    padding-bottom: 11vw !important;
  }
}
.paddingY--96 {
  padding-top: 96px !important;
  padding-bottom: 96px !important;
}
@media (max-width: 768px) {
  .paddingY--96 {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
  }
}
@media (max-width: 480px) {
  .paddingY--96 {
    padding-top: 12vw !important;
    padding-bottom: 12vw !important;
  }
}
.paddingY--104 {
  padding-top: 104px !important;
  padding-bottom: 104px !important;
}
@media (max-width: 768px) {
  .paddingY--104 {
    padding-top: 87px !important;
    padding-bottom: 87px !important;
  }
}
@media (max-width: 480px) {
  .paddingY--104 {
    padding-top: 13vw !important;
    padding-bottom: 13vw !important;
  }
}
.paddingY--112 {
  padding-top: 112px !important;
  padding-bottom: 112px !important;
}
@media (max-width: 768px) {
  .paddingY--112 {
    padding-top: 94px !important;
    padding-bottom: 94px !important;
  }
}
@media (max-width: 480px) {
  .paddingY--112 {
    padding-top: 14vw !important;
    padding-bottom: 14vw !important;
  }
}
.paddingY--120 {
  padding-top: 120px !important;
  padding-bottom: 120px !important;
}
@media (max-width: 768px) {
  .paddingY--120 {
    padding-top: 100px !important;
    padding-bottom: 100px !important;
  }
}
@media (max-width: 480px) {
  .paddingY--120 {
    padding-top: 15vw !important;
    padding-bottom: 15vw !important;
  }
}
.paddingY--128 {
  padding-top: 128px !important;
  padding-bottom: 128px !important;
}
@media (max-width: 768px) {
  .paddingY--128 {
    padding-top: 107px !important;
    padding-bottom: 107px !important;
  }
}
@media (max-width: 480px) {
  .paddingY--128 {
    padding-top: 16vw !important;
    padding-bottom: 16vw !important;
  }
}
.paddingY--136 {
  padding-top: 136px !important;
  padding-bottom: 136px !important;
}
@media (max-width: 768px) {
  .paddingY--136 {
    padding-top: 114px !important;
    padding-bottom: 114px !important;
  }
}
@media (max-width: 480px) {
  .paddingY--136 {
    padding-top: 17vw !important;
    padding-bottom: 17vw !important;
  }
}
.paddingY--144 {
  padding-top: 144px !important;
  padding-bottom: 144px !important;
}
@media (max-width: 768px) {
  .paddingY--144 {
    padding-top: 120px !important;
    padding-bottom: 120px !important;
  }
}
@media (max-width: 480px) {
  .paddingY--144 {
    padding-top: 18vw !important;
    padding-bottom: 18vw !important;
  }
}
.paddingY--152 {
  padding-top: 152px !important;
  padding-bottom: 152px !important;
}
@media (max-width: 768px) {
  .paddingY--152 {
    padding-top: 127px !important;
    padding-bottom: 127px !important;
  }
}
@media (max-width: 480px) {
  .paddingY--152 {
    padding-top: 19vw !important;
    padding-bottom: 19vw !important;
  }
}
.paddingY--160 {
  padding-top: 160px !important;
  padding-bottom: 160px !important;
}
@media (max-width: 768px) {
  .paddingY--160 {
    padding-top: 134px !important;
    padding-bottom: 134px !important;
  }
}
@media (max-width: 480px) {
  .paddingY--160 {
    padding-top: 20vw !important;
    padding-bottom: 20vw !important;
  }
}

.width--8 {
  width: 8px !important;
  min-width: 0 !important;
}
.width--16 {
  width: 16px !important;
  min-width: 0 !important;
}
.width--24 {
  width: 24px !important;
  min-width: 0 !important;
}
.width--32 {
  width: 32px !important;
  min-width: 0 !important;
}
.width--40 {
  width: 40px !important;
  min-width: 0 !important;
}
.width--48 {
  width: 48px !important;
  min-width: 0 !important;
}
.width--56 {
  width: 56px !important;
  min-width: 0 !important;
}
.width--64 {
  width: 64px !important;
  min-width: 0 !important;
}
.width--72 {
  width: 72px !important;
  min-width: 0 !important;
}
.width--80 {
  width: 80px !important;
  min-width: 0 !important;
}
.width--88 {
  width: 88px !important;
  min-width: 0 !important;
}
.width--96 {
  width: 96px !important;
  min-width: 0 !important;
}
.width--104 {
  width: 104px !important;
  min-width: 0 !important;
}
.width--112 {
  width: 112px !important;
  min-width: 0 !important;
}
.width--120 {
  width: 120px !important;
  min-width: 0 !important;
}
.width--128 {
  width: 128px !important;
  min-width: 0 !important;
}
.width--136 {
  width: 136px !important;
  min-width: 0 !important;
}
.width--144 {
  width: 144px !important;
  min-width: 0 !important;
}
.width--152 {
  width: 152px !important;
  min-width: 0 !important;
}
.width--160 {
  width: 160px !important;
  min-width: 0 !important;
}
.width--160 {
  width: 160px !important;
  min-width: 0 !important;
}
.width--240 {
  width: 240px !important;
  min-width: 0 !important;
}
.width--320 {
  width: 320px !important;
  min-width: 0 !important;
}
.width--400 {
  width: 400px !important;
  min-width: 0 !important;
}
.width--480 {
  width: 480px !important;
  min-width: 0 !important;
}
.width--560 {
  width: 560px !important;
  min-width: 0 !important;
}
.width--640 {
  width: 640px !important;
  min-width: 0 !important;
}
.width--720 {
  width: 720px !important;
  min-width: 0 !important;
}
.width--800 {
  width: 800px !important;
  min-width: 0 !important;
}
.width--880 {
  width: 880px !important;
  min-width: 0 !important;
}
.width--960 {
  width: 960px !important;
  min-width: 0 !important;
}
.width--1040 {
  width: 1040px !important;
  min-width: 0 !important;
}
.width--1120 {
  width: 1120px !important;
  min-width: 0 !important;
}
.width--1200 {
  width: 1200px !important;
  min-width: 0 !important;
}
.width--1280 {
  width: 1280px !important;
  min-width: 0 !important;
}
.width--5per {
  width: 5% !important;
  min-width: 0 !important;
}
.width--10per {
  width: 10% !important;
  min-width: 0 !important;
}
.width--15per {
  width: 15% !important;
  min-width: 0 !important;
}
.width--20per {
  width: 20% !important;
  min-width: 0 !important;
}
.width--25per {
  width: 25% !important;
  min-width: 0 !important;
}
.width--30per {
  width: 30% !important;
  min-width: 0 !important;
}
.width--35per {
  width: 35% !important;
  min-width: 0 !important;
}
.width--40per {
  width: 40% !important;
  min-width: 0 !important;
}
.width--45per {
  width: 45% !important;
  min-width: 0 !important;
}
.width--50per {
  width: 50% !important;
  min-width: 0 !important;
}
.width--55per {
  width: 55% !important;
  min-width: 0 !important;
}
.width--60per {
  width: 60% !important;
  min-width: 0 !important;
}
.width--65per {
  width: 65% !important;
  min-width: 0 !important;
}
.width--70per {
  width: 70% !important;
  min-width: 0 !important;
}
.width--75per {
  width: 75% !important;
  min-width: 0 !important;
}
.width--80per {
  width: 80% !important;
  min-width: 0 !important;
}
.width--85per {
  width: 85% !important;
  min-width: 0 !important;
}
.width--90per {
  width: 90% !important;
  min-width: 0 !important;
}
.width--95per {
  width: 95% !important;
  min-width: 0 !important;
}
.width--100per {
  width: 100% !important;
  min-width: 0 !important;
}
.width--fit {
  width: fit-content !important;
  min-width: 0 !important;
}
@media (max-width: 768px) {
  .width-tab--8 {
    width: 8px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--16 {
    width: 16px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--24 {
    width: 24px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--32 {
    width: 32px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--40 {
    width: 40px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--48 {
    width: 48px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--56 {
    width: 56px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--64 {
    width: 64px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--72 {
    width: 72px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--80 {
    width: 80px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--88 {
    width: 88px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--96 {
    width: 96px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--104 {
    width: 104px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--112 {
    width: 112px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--120 {
    width: 120px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--128 {
    width: 128px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--136 {
    width: 136px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--144 {
    width: 144px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--152 {
    width: 152px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--160 {
    width: 160px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--160 {
    width: 160px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--240 {
    width: 240px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--320 {
    width: 320px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--400 {
    width: 400px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--480 {
    width: 480px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--560 {
    width: 560px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--640 {
    width: 640px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--720 {
    width: 720px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--800 {
    width: 800px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--5per {
    width: 5% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--10per {
    width: 10% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--15per {
    width: 15% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--20per {
    width: 20% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--25per {
    width: 25% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--30per {
    width: 30% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--35per {
    width: 35% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--40per {
    width: 40% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--45per {
    width: 45% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--50per {
    width: 50% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--55per {
    width: 55% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--60per {
    width: 60% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--65per {
    width: 65% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--70per {
    width: 70% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--75per {
    width: 75% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--80per {
    width: 80% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--85per {
    width: 85% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--90per {
    width: 90% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--95per {
    width: 95% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 768px) {
  .width-tab--100per {
    width: 100% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--8 {
    width: 8px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--16 {
    width: 16px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--24 {
    width: 24px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--32 {
    width: 32px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--40 {
    width: 40px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--48 {
    width: 48px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--56 {
    width: 56px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--64 {
    width: 64px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--72 {
    width: 72px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--80 {
    width: 80px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--88 {
    width: 88px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--96 {
    width: 96px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--104 {
    width: 104px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--112 {
    width: 112px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--120 {
    width: 120px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--128 {
    width: 128px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--136 {
    width: 136px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--144 {
    width: 144px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--152 {
    width: 152px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--160 {
    width: 160px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--160 {
    width: 160px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--240 {
    width: 240px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--320 {
    width: 320px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--400 {
    width: 400px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--480 {
    width: 480px !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--5per {
    width: 5% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--10per {
    width: 10% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--15per {
    width: 15% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--20per {
    width: 20% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--25per {
    width: 25% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--30per {
    width: 30% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--35per {
    width: 35% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--40per {
    width: 40% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--45per {
    width: 45% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--50per {
    width: 50% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--55per {
    width: 55% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--60per {
    width: 60% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--65per {
    width: 65% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--70per {
    width: 70% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--75per {
    width: 75% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--80per {
    width: 80% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--85per {
    width: 85% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--90per {
    width: 90% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--95per {
    width: 95% !important;
    min-width: 0 !important;
  }
}
@media (max-width: 480px) {
  .width-sp--100per {
    width: 100% !important;
    min-width: 0 !important;
  }
}

span.width--8 {
  display: inline-block !important;
}
span.width--16 {
  display: inline-block !important;
}
span.width--24 {
  display: inline-block !important;
}
span.width--32 {
  display: inline-block !important;
}
span.width--40 {
  display: inline-block !important;
}
span.width--48 {
  display: inline-block !important;
}
span.width--56 {
  display: inline-block !important;
}
span.width--64 {
  display: inline-block !important;
}
span.width--72 {
  display: inline-block !important;
}
span.width--80 {
  display: inline-block !important;
}
span.width--88 {
  display: inline-block !important;
}
span.width--96 {
  display: inline-block !important;
}
span.width--104 {
  display: inline-block !important;
}
span.width--112 {
  display: inline-block !important;
}
span.width--120 {
  display: inline-block !important;
}
span.width--128 {
  display: inline-block !important;
}
span.width--136 {
  display: inline-block !important;
}
span.width--144 {
  display: inline-block !important;
}
span.width--152 {
  display: inline-block !important;
}
span.width--160 {
  display: inline-block !important;
}
span.width--160 {
  display: inline-block !important;
}
span.width--240 {
  display: inline-block !important;
}
span.width--320 {
  display: inline-block !important;
}
span.width--400 {
  display: inline-block !important;
}
span.width--480 {
  display: inline-block !important;
}
span.width--560 {
  display: inline-block !important;
}
span.width--640 {
  display: inline-block !important;
}
span.width--720 {
  display: inline-block !important;
}
span.width--800 {
  display: inline-block !important;
}
span.width--880 {
  display: inline-block !important;
}
span.width--960 {
  display: inline-block !important;
}
span.width--1040 {
  display: inline-block !important;
}
span.width--1120 {
  display: inline-block !important;
}
span.width--1200 {
  display: inline-block !important;
}
span.width--1280 {
  display: inline-block !important;
}
span.width--5per {
  display: inline-block !important;
}
span.width--10per {
  display: inline-block !important;
}
span.width--15per {
  display: inline-block !important;
}
span.width--20per {
  display: inline-block !important;
}
span.width--25per {
  display: inline-block !important;
}
span.width--30per {
  display: inline-block !important;
}
span.width--35per {
  display: inline-block !important;
}
span.width--40per {
  display: inline-block !important;
}
span.width--45per {
  display: inline-block !important;
}
span.width--50per {
  display: inline-block !important;
}
span.width--55per {
  display: inline-block !important;
}
span.width--60per {
  display: inline-block !important;
}
span.width--65per {
  display: inline-block !important;
}
span.width--70per {
  display: inline-block !important;
}
span.width--75per {
  display: inline-block !important;
}
span.width--80per {
  display: inline-block !important;
}
span.width--85per {
  display: inline-block !important;
}
span.width--90per {
  display: inline-block !important;
}
span.width--95per {
  display: inline-block !important;
}
span.width--100per {
  display: inline-block !important;
}
span.width--fit {
  display: inline-block !important;
}
@media (max-width: 768px) {
  span.width-tab--8 {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--16 {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--24 {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--32 {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--40 {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--48 {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--56 {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--64 {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--72 {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--80 {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--88 {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--96 {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--104 {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--112 {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--120 {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--128 {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--136 {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--144 {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--152 {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--160 {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--160 {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--240 {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--320 {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--400 {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--480 {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--560 {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--640 {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--720 {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--800 {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--5per {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--10per {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--15per {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--20per {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--25per {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--30per {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--35per {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--40per {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--45per {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--50per {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--55per {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--60per {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--65per {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--70per {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--75per {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--80per {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--85per {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--90per {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--95per {
    display: inline-block !important;
  }
}
@media (max-width: 768px) {
  span.width-tab--100per {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--8 {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--16 {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--24 {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--32 {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--40 {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--48 {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--56 {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--64 {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--72 {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--80 {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--88 {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--96 {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--104 {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--112 {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--120 {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--128 {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--136 {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--144 {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--152 {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--160 {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--160 {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--240 {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--320 {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--400 {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--480 {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--5per {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--10per {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--15per {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--20per {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--25per {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--30per {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--35per {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--40per {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--45per {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--50per {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--55per {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--60per {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--65per {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--70per {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--75per {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--80per {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--85per {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--90per {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--95per {
    display: inline-block !important;
  }
}
@media (max-width: 480px) {
  span.width-sp--100per {
    display: inline-block !important;
  }
}

/*----------------------------------------------------
grid
------------------------------------------------------*/
.grid-column--one {
  display: grid;
}
.grid-column--one > * {
  margin-top: 0 !important;
}
.grid-column--one:not(:first-child) {
  margin-top: 32px;
}
@media (max-width: 768px) {
  .grid-column--one:not(:first-child) {
    margin-top: 26.66656px;
  }
}
@media (max-width: 480px) {
  .grid-column--one:not(:first-child) {
    margin-top: 4vw;
  }
}
.grid-column--one {
  grid-template-columns: minmax(0, 1fr);
  gap: 16px 16px;
}
@media (max-width: 768px) {
  .grid-column--one {
    gap: 13.33328px 13.33328px;
  }
}
@media (max-width: 480px) {
  .grid-column--one {
    gap: 2vw 2vw;
  }
}
.grid-column--two {
  display: grid;
}
.grid-column--two > * {
  margin-top: 0 !important;
}
.grid-column--two:not(:first-child) {
  margin-top: 32px;
}
@media (max-width: 768px) {
  .grid-column--two:not(:first-child) {
    margin-top: 26.66656px;
  }
}
@media (max-width: 480px) {
  .grid-column--two:not(:first-child) {
    margin-top: 4vw;
  }
}
.grid-column--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px 24px;
}
@media (max-width: 768px) {
  .grid-column--two {
    gap: 19.99992px 19.99992px;
  }
}
@media (max-width: 480px) {
  .grid-column--two {
    gap: 3vw 3vw;
  }
}
@media (max-width: 768px) {
  .grid-column--two {
    grid-template-columns: minmax(0, 1fr);
  }
}
.grid-column--three {
  display: grid;
}
.grid-column--three > * {
  margin-top: 0 !important;
}
.grid-column--three:not(:first-child) {
  margin-top: 32px;
}
@media (max-width: 768px) {
  .grid-column--three:not(:first-child) {
    margin-top: 26.66656px;
  }
}
@media (max-width: 480px) {
  .grid-column--three:not(:first-child) {
    margin-top: 4vw;
  }
}
.grid-column--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px 24px;
}
@media (max-width: 768px) {
  .grid-column--three {
    gap: 19.99992px 19.99992px;
  }
}
@media (max-width: 480px) {
  .grid-column--three {
    gap: 3vw 3vw;
  }
}
@media (max-width: 768px) {
  .grid-column--three {
    grid-template-columns: minmax(0, 1fr);
  }
}
.grid-column--four {
  display: grid;
}
.grid-column--four > * {
  margin-top: 0 !important;
}
.grid-column--four:not(:first-child) {
  margin-top: 32px;
}
@media (max-width: 768px) {
  .grid-column--four:not(:first-child) {
    margin-top: 26.66656px;
  }
}
@media (max-width: 480px) {
  .grid-column--four:not(:first-child) {
    margin-top: 4vw;
  }
}
.grid-column--four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 32px 32px;
}
@media (max-width: 768px) {
  .grid-column--four {
    gap: 26.66656px 26.66656px;
  }
}
@media (max-width: 480px) {
  .grid-column--four {
    gap: 4vw 4vw;
  }
}
@media (max-width: 768px) {
  .grid-column--four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 480px) {
  .grid-column--four {
    grid-template-columns: minmax(0, 1fr);
  }
}
.grid-column--five {
  display: grid;
}
.grid-column--five > * {
  margin-top: 0 !important;
}
.grid-column--five:not(:first-child) {
  margin-top: 32px;
}
@media (max-width: 768px) {
  .grid-column--five:not(:first-child) {
    margin-top: 26.66656px;
  }
}
@media (max-width: 480px) {
  .grid-column--five:not(:first-child) {
    margin-top: 4vw;
  }
}
.grid-column--five {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 24px 16px;
}
@media (max-width: 768px) {
  .grid-column--five {
    gap: 19.99992px 13.33328px;
  }
}
@media (max-width: 480px) {
  .grid-column--five {
    gap: 3vw 2vw;
  }
}
@media (max-width: 1000px) {
  .grid-column--five {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (max-width: 768px) {
  .grid-column--five {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 480px) {
  .grid-column--five {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.grid-column--six {
  display: grid;
}
.grid-column--six > * {
  margin-top: 0 !important;
}
.grid-column--six:not(:first-child) {
  margin-top: 32px;
}
@media (max-width: 768px) {
  .grid-column--six:not(:first-child) {
    margin-top: 26.66656px;
  }
}
@media (max-width: 480px) {
  .grid-column--six:not(:first-child) {
    margin-top: 4vw;
  }
}
.grid-column--six {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 16px 16px;
}
@media (max-width: 768px) {
  .grid-column--six {
    gap: 13.33328px 13.33328px;
  }
}
@media (max-width: 480px) {
  .grid-column--six {
    gap: 2vw 2vw;
  }
}
@media (max-width: 768px) {
  .grid-column--six {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 480px) {
  .grid-column--six {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.grid-column--seven {
  display: grid;
}
.grid-column--seven > * {
  margin-top: 0 !important;
}
.grid-column--seven:not(:first-child) {
  margin-top: 32px;
}
@media (max-width: 768px) {
  .grid-column--seven:not(:first-child) {
    margin-top: 26.66656px;
  }
}
@media (max-width: 480px) {
  .grid-column--seven:not(:first-child) {
    margin-top: 4vw;
  }
}
.grid-column--seven {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 16px 8px;
}
@media (max-width: 768px) {
  .grid-column--seven {
    gap: 13.33328px 6.66664px;
  }
}
@media (max-width: 480px) {
  .grid-column--seven {
    gap: 2vw 1vw;
  }
}
@media (max-width: 768px) {
  .grid-column--seven {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px 16px;
  }
}
@media (max-width: 768px) and (max-width: 768px) {
  .grid-column--seven {
    gap: 13.33328px 13.33328px;
  }
}
@media (max-width: 768px) and (max-width: 480px) {
  .grid-column--seven {
    gap: 2vw 2vw;
  }
}
@media (max-width: 480px) {
  .grid-column--seven {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/*----------------------------------------------------
flex
------------------------------------------------------*/
.flex {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.flex > * {
  margin-block: 0 !important;
}

.justify--start {
  justify-content: flex-start;
}
.justify--end {
  justify-content: flex-end;
}
.justify--end-safe {
  justify-content: safe flex-end;
}
.justify--center {
  justify-content: center;
}
.justify--center-safe {
  justify-content: safe center;
}
.justify--between {
  justify-content: space-between;
}
.justify--around {
  justify-content: space-around;
}
.justify--evenly {
  justify-content: space-evenly;
}
.justify--stretch {
  justify-content: stretch;
}
.justify--baseline {
  justify-content: baseline;
}
.justify--normal {
  justify-content: normal;
}

.align--start {
  align-items: flex-start;
}
.align--end {
  align-items: flex-end;
}
.align--center {
  align-items: center;
}
.align--baseline {
  align-items: baseline;
}
.align--stretch {
  align-items: stretch;
}
.align--normal {
  align-items: normal;
}

/*----------------------------------------------------
line
------------------------------------------------------*/
.line--before {
  position: relative;
}
.line--before::before {
  display: block;
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  border-top: 1px solid #b9cce3;
  inset: 0;
  margin: 0 auto auto;
}

/*----------------------------------------------------
Gap
------------------------------------------------------*/
.gapX--00 {
  column-gap: 0 !important;
}
.gapX--04 {
  column-gap: 4px !important;
}
.gapX--08 {
  column-gap: 8px !important;
}
.gapX--10 {
  column-gap: 10px !important;
}
.gapX--16 {
  column-gap: 16px !important;
}
@media (max-width: 768px) {
  .gapX--16 {
    column-gap: 14px !important;
  }
}
@media (max-width: 480px) {
  .gapX--16 {
    column-gap: 2vw !important;
  }
}
.gapX--24 {
  column-gap: 24px !important;
}
@media (max-width: 768px) {
  .gapX--24 {
    column-gap: 20px !important;
  }
}
@media (max-width: 480px) {
  .gapX--24 {
    column-gap: 3vw !important;
  }
}
.gapX--32 {
  column-gap: 32px !important;
}
@media (max-width: 768px) {
  .gapX--32 {
    column-gap: 27px !important;
  }
}
@media (max-width: 480px) {
  .gapX--32 {
    column-gap: 4vw !important;
  }
}
.gapX--40 {
  column-gap: 40px !important;
}
@media (max-width: 768px) {
  .gapX--40 {
    column-gap: 34px !important;
  }
}
@media (max-width: 480px) {
  .gapX--40 {
    column-gap: 5vw !important;
  }
}
.gapX--48 {
  column-gap: 48px !important;
}
@media (max-width: 768px) {
  .gapX--48 {
    column-gap: 40px !important;
  }
}
@media (max-width: 480px) {
  .gapX--48 {
    column-gap: 6vw !important;
  }
}
.gapX--56 {
  column-gap: 56px !important;
}
@media (max-width: 768px) {
  .gapX--56 {
    column-gap: 47px !important;
  }
}
@media (max-width: 480px) {
  .gapX--56 {
    column-gap: 7vw !important;
  }
}
.gapX--64 {
  column-gap: 64px !important;
}
@media (max-width: 768px) {
  .gapX--64 {
    column-gap: 54px !important;
  }
}
@media (max-width: 480px) {
  .gapX--64 {
    column-gap: 8vw !important;
  }
}
.gapX--72 {
  column-gap: 72px !important;
}
@media (max-width: 768px) {
  .gapX--72 {
    column-gap: 60px !important;
  }
}
@media (max-width: 480px) {
  .gapX--72 {
    column-gap: 9vw !important;
  }
}
.gapX--80 {
  column-gap: 80px !important;
}
@media (max-width: 768px) {
  .gapX--80 {
    column-gap: 67px !important;
  }
}
@media (max-width: 480px) {
  .gapX--80 {
    column-gap: 10vw !important;
  }
}
.gapY--00 {
  row-gap: 0 !important;
}
.gapY--04 {
  row-gap: 4px !important;
}
.gapY--08 {
  row-gap: 8px !important;
}
.gapY--10 {
  row-gap: 10px !important;
}
.gapY--16 {
  row-gap: 16px !important;
}
@media (max-width: 768px) {
  .gapY--16 {
    row-gap: 14px !important;
  }
}
@media (max-width: 480px) {
  .gapY--16 {
    row-gap: 2vw !important;
  }
}
.gapY--24 {
  row-gap: 24px !important;
}
@media (max-width: 768px) {
  .gapY--24 {
    row-gap: 20px !important;
  }
}
@media (max-width: 480px) {
  .gapY--24 {
    row-gap: 3vw !important;
  }
}
.gapY--32 {
  row-gap: 32px !important;
}
@media (max-width: 768px) {
  .gapY--32 {
    row-gap: 27px !important;
  }
}
@media (max-width: 480px) {
  .gapY--32 {
    row-gap: 4vw !important;
  }
}
.gapY--40 {
  row-gap: 40px !important;
}
@media (max-width: 768px) {
  .gapY--40 {
    row-gap: 34px !important;
  }
}
@media (max-width: 480px) {
  .gapY--40 {
    row-gap: 5vw !important;
  }
}
.gapY--48 {
  row-gap: 48px !important;
}
@media (max-width: 768px) {
  .gapY--48 {
    row-gap: 40px !important;
  }
}
@media (max-width: 480px) {
  .gapY--48 {
    row-gap: 6vw !important;
  }
}
.gapY--56 {
  row-gap: 56px !important;
}
@media (max-width: 768px) {
  .gapY--56 {
    row-gap: 47px !important;
  }
}
@media (max-width: 480px) {
  .gapY--56 {
    row-gap: 7vw !important;
  }
}
.gapY--64 {
  row-gap: 64px !important;
}
@media (max-width: 768px) {
  .gapY--64 {
    row-gap: 54px !important;
  }
}
@media (max-width: 480px) {
  .gapY--64 {
    row-gap: 8vw !important;
  }
}
.gapY--72 {
  row-gap: 72px !important;
}
@media (max-width: 768px) {
  .gapY--72 {
    row-gap: 60px !important;
  }
}
@media (max-width: 480px) {
  .gapY--72 {
    row-gap: 9vw !important;
  }
}
.gapY--80 {
  row-gap: 80px !important;
}
@media (max-width: 768px) {
  .gapY--80 {
    row-gap: 67px !important;
  }
}
@media (max-width: 480px) {
  .gapY--80 {
    row-gap: 10vw !important;
  }
}

.object-position-center {
  object-position: center;
}

.object-position-top {
  object-position: top;
}

.object-position-bottom {
  object-position: bottom;
}

.object-position-left {
  object-position: left;
}

.object-position-right {
  object-position: right;
}

/*----------------------------------------------------
背景色
------------------------------------------------------*/
.bg-color--white {
  background-color: #fff !important;
}

/*----------------------------------------------------
border系
------------------------------------------------------*/
.border-width--01 {
  border-width: 1px !important;
}
.border-width--02 {
  border-width: 2px !important;
}
.border-width--03 {
  border-width: 3px !important;
}
.border-width--04 {
  border-width: 4px !important;
}
.border-width--05 {
  border-width: 5px !important;
}
.border-width--06 {
  border-width: 6px !important;
}
.border-width--07 {
  border-width: 7px !important;
}
.border-width--08 {
  border-width: 8px !important;
}
.border-width--09 {
  border-width: 9px !important;
}
.border-width--10 {
  border-width: 10px !important;
}

/*----------------------------------------------------
表示
------------------------------------------------------*/
.visible-pc,
.visible-tab,
.visible-sp {
  display: none;
}

@media screen and (min-width: 769px) {
  .visible-pc {
    display: block;
  }
}
@media screen and (min-width: 481px) and (max-width: 768px) {
  .visible-tab {
    display: block;
  }
}
@media screen and (max-width: 480px) {
  .visible-sp {
    display: block;
  }
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}