@charset "UTF-8";
/* Color */
/* Radius */
/* Device - Desktop */
/* Device - Mobile */
/*
Google Fonts CSS is fetched by node-scripts/fetch-google-fonts/fetch-google-fonts.js.
The generated file will overwrite src/sass/vendor/google-fonts/__original.scss, then copied to src/sass/vendor/google-fonts/_index.scss.
If size-adjust is needed, apply it to src/sass/vendor/google-fonts/_index.scss after running the script.
*/
/* 最終的にはcomponentごとにinlineでスタイルを当ててもよいが、新旧併存期間があり、baseのスタイルを指定しつつも確実にスコープを切る必要があること（idからのネストで調整）、および、ごく一部のデザインしかなく、先がよめないことから、一旦全スタイルをまとめたcssファイルを生成する方針でいく。 */
[id$=v2] {
  /*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.min.css */
}
[id$=v2] *, [id$=v2] ::before, [id$=v2] ::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
  min-width: 0;
}
[id$=v2] html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}
[id$=v2] body {
  margin: 0;
}
[id$=v2] main {
  display: block;
}
[id$=v2] p, [id$=v2] table, [id$=v2] blockquote, [id$=v2] address, [id$=v2] pre, [id$=v2] iframe, [id$=v2] form, [id$=v2] figure, [id$=v2] dl {
  margin: 0;
}
[id$=v2] h1, [id$=v2] h2, [id$=v2] h3, [id$=v2] h4, [id$=v2] h5, [id$=v2] h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}
[id$=v2] ul, [id$=v2] ol {
  margin: 0;
  padding: 0;
  list-style: none;
}
[id$=v2] dt {
  font-weight: 700;
}
[id$=v2] dd {
  margin-left: 0;
}
[id$=v2] hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}
[id$=v2] pre {
  font-family: monospace, monospace;
  font-size: inherit;
}
[id$=v2] address {
  font-style: inherit;
}
[id$=v2] a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}
[id$=v2] abbr[title] {
  text-decoration: underline dotted;
}
[id$=v2] b, [id$=v2] strong {
  font-weight: bolder;
}
[id$=v2] code, [id$=v2] kbd, [id$=v2] samp {
  font-family: monospace, monospace;
  font-size: inherit;
}
[id$=v2] small {
  font-size: 80%;
}
[id$=v2] sub, [id$=v2] sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
[id$=v2] sub {
  bottom: -0.25em;
}
[id$=v2] sup {
  top: -0.5em;
}
[id$=v2] svg, [id$=v2] img, [id$=v2] embed, [id$=v2] object, [id$=v2] iframe {
  vertical-align: bottom;
}
[id$=v2] button, [id$=v2] input, [id$=v2] optgroup, [id$=v2] select, [id$=v2] textarea {
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit;
}
[id$=v2] button, [id$=v2] [type=button], [id$=v2] [type=reset], [id$=v2] [type=submit] {
  cursor: pointer;
}
[id$=v2] button:disabled, [id$=v2] [type=button]:disabled, [id$=v2] [type=reset]:disabled, [id$=v2] [type=submit]:disabled {
  cursor: default;
}
[id$=v2] :-moz-focusring {
  outline: auto;
}
[id$=v2] select:disabled {
  opacity: inherit;
}
[id$=v2] option {
  padding: 0;
}
[id$=v2] fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}
[id$=v2] legend {
  padding: 0;
}
[id$=v2] progress {
  vertical-align: baseline;
}
[id$=v2] textarea {
  overflow: auto;
}
[id$=v2] [type=number]::-webkit-inner-spin-button, [id$=v2] [type=number]::-webkit-outer-spin-button {
  height: auto;
}
[id$=v2] [type=search] {
  outline-offset: -2px;
}
[id$=v2] [type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}
[id$=v2] ::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}
[id$=v2] [type=number] {
  -moz-appearance: textfield;
}
[id$=v2] label[for] {
  cursor: pointer;
}
[id$=v2] details {
  display: block;
}
[id$=v2] summary {
  display: list-item;
}
[id$=v2] [contenteditable]:focus {
  outline: auto;
}
[id$=v2] table {
  border-color: inherit;
  border-collapse: collapse;
}
[id$=v2] caption {
  text-align: left;
}
[id$=v2] td, [id$=v2] th {
  vertical-align: top;
  padding: 0;
}
[id$=v2] th {
  text-align: left;
  font-weight: 700;
}

.splide__container {
  box-sizing: border-box;
  position: relative;
}

.splide__list {
  backface-visibility: hidden;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0;
  pointer-events: none;
}

.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
  display: none;
}

.splide__progress__bar {
  width: 0;
}

.splide {
  position: relative;
  visibility: hidden;
}

.splide.is-initialized, .splide.is-rendered {
  visibility: visible;
}

.splide__slide {
  backface-visibility: hidden;
  box-sizing: border-box;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  animation: splide-loading 1s linear infinite;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}

.splide__sr {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.splide__toggle.is-active .splide__toggle__play, .splide__toggle__pause {
  display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

@keyframes splide-loading {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(1turn);
  }
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.splide__track--fade > .splide__list > .splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0;
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide__track--ttb > .splide__list {
  display: block;
}

.splide__arrow {
  -ms-flex-align: center;
  align-items: center;
  background: #ccc;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  display: -ms-flexbox;
  display: flex;
  height: 2em;
  -ms-flex-pack: center;
  justify-content: center;
  opacity: 0.7;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2em;
  z-index: 1;
}

.splide__arrow svg {
  fill: #000;
  height: 1.2em;
  width: 1.2em;
}

.splide__arrow:hover:not(:disabled) {
  opacity: 0.9;
}

.splide__arrow:disabled {
  opacity: 0.3;
}

.splide__arrow:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__arrow--prev {
  left: 1em;
}

.splide__arrow--prev svg {
  transform: scaleX(-1);
}

.splide__arrow--next {
  right: 1em;
}

.splide.is-focus-in .splide__arrow:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__pagination {
  bottom: 0.5em;
  left: 0;
  padding: 0 1em;
  position: absolute;
  right: 0;
  z-index: 1;
}

.splide__pagination__page {
  background: #ccc;
  border: 0;
  border-radius: 50%;
  display: inline-block;
  height: 8px;
  margin: 3px;
  opacity: 0.7;
  padding: 0;
  position: relative;
  transition: transform 0.2s linear;
  width: 8px;
}

.splide__pagination__page.is-active {
  background: #fff;
  transform: scale(1.4);
  z-index: 1;
}

.splide__pagination__page:hover {
  cursor: pointer;
  opacity: 0.9;
}

.splide__pagination__page:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide.is-focus-in .splide__pagination__page:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__progress__bar {
  background: #ccc;
  height: 3px;
}

.splide__slide {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.splide__slide:focus {
  outline: 0;
}

@supports (outline-offset: -3px) {
  .splide__slide:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}
@media screen and (-ms-high-contrast: none) {
  .splide__slide:focus-visible {
    border: 3px solid #0bf;
  }
}
@supports (outline-offset: -3px) {
  .splide.is-focus-in .splide__slide:focus {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}
@media screen and (-ms-high-contrast: none) {
  .splide.is-focus-in .splide__slide:focus {
    border: 3px solid #0bf;
  }
  .splide.is-focus-in .splide__track > .splide__list > .splide__slide:focus {
    border-color: #0bf;
  }
}
.splide__toggle {
  cursor: pointer;
}

.splide__toggle:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide.is-focus-in .splide__toggle:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__track--nav > .splide__list > .splide__slide {
  border: 3px solid transparent;
  cursor: pointer;
}

.splide__track--nav > .splide__list > .splide__slide.is-active {
  border: 3px solid #000;
}

.splide__arrows--rtl .splide__arrow--prev {
  left: auto;
  right: 1em;
}

.splide__arrows--rtl .splide__arrow--prev svg {
  transform: scaleX(1);
}

.splide__arrows--rtl .splide__arrow--next {
  left: 1em;
  right: auto;
}

.splide__arrows--rtl .splide__arrow--next svg {
  transform: scaleX(-1);
}

.splide__arrows--ttb .splide__arrow {
  left: 50%;
  transform: translate(-50%);
}

.splide__arrows--ttb .splide__arrow--prev {
  top: 1em;
}

.splide__arrows--ttb .splide__arrow--prev svg {
  transform: rotate(-90deg);
}

.splide__arrows--ttb .splide__arrow--next {
  bottom: 1em;
  top: auto;
}

.splide__arrows--ttb .splide__arrow--next svg {
  transform: rotate(90deg);
}

.splide__pagination--ttb {
  bottom: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  left: auto;
  padding: 1em 0;
  right: 0.5em;
  top: 0;
}

html:has(#v2) {
  font-size: 10px;
}

html:has(#v2),
body#v2 {
  margin: 0;
  padding: 0;
  overflow-x: clip;
}

body#v2 {
  font-size: var(--font-size-14);
}

[id$=v2] {
  /* v2リリース後はvariables.scssに移動 */
  /* Spacing - Mode 1 */
  /* Color */
  --white: white;
  --light-gray: #f6f6f6;
  --black: black;
  --blue-50: #eef1f6;
  --blue-100: #ccd6e4;
  --blue-200: #99adca;
  --blue-300: #6683af;
  --light-blue: #17bce2;
  --pale-blue: #6683af;
  --blue: #0080ff;
  --dark-blue: #00317a;
  --orange: #f78f20;
  --green: #14c496;
  --yellow: #ffba5f;
  --magenta: #e561d2;
  --red: #ff1515;
  --solid-gray-200: #cccccc;
  --solid-gray-400: #999999;
  --solid-gray-800: #333333;
  --base-text-color: #333333;
  --column-width-pc: 4.6666666667%;
  --column-gap-pc: 4%;
  --space-4: 0.4rem;
  --space-8: 0.8rem;
  --space-16: 1.6rem;
  --space-24: 2.4rem;
  --space-32: 3.2rem;
  --space-48: 4.8rem;
  --space-64: 6.4rem;
  --space-96: 9.6rem;
  --space-128: 12.8rem;
  --font-size-12: 1.2rem;
  --font-size-14: 1.4rem;
  --font-size-16: 1.6rem;
  --font-size-18: 1.8rem;
  --font-size-20: 2rem;
  --font-size-24: 2.4rem;
  --font-size-28: 2.8rem;
  --font-size-32: 3.2rem;
  --font-size-36: 3.6rem;
  --font-size-40: 4rem;
  --font-size-48: 4.8rem;
  --font-size-64: 6.4rem;
  --rd-sm: 4px;
  --font-family-ja: Noto Sans JP, sans-serif;
  --font-family-en: Barlow, sans-serif;
  --font-family-en-ja: Barlow Adjusted, Noto Sans JP, sans-serif;
  /* v2リリース後は htmlセレクタ に移動 */
  line-height: 1.4;
  color: var(--base-text-color);
  background-color: var(--white);
  -moz-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-smooth: auto;
  font-family: var(--font-family-ja);
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 500;
}
[id$=v2] * {
  box-sizing: border-box;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  overflow-wrap: anywhere;
  word-break: normal;
}
[id$=v2] img {
  margin: 0 auto;
  display: block;
  max-width: 100%;
  height: auto;
}
[id$=v2] main {
  position: relative;
  z-index: 0;
}
[id$=v2] a {
  text-underline-offset: 2px;
}
[id$=v2] p + p {
  margin-top: 1lh;
}

[id$=v2] .gen-h2,
[id$=v2] .gen-h3,
[id$=v2] .gen-h4,
[id$=v2] .gen-h5,
[id$=v2] .gen-h6,
[id$=v2] .gen-article :where(h2, h3, h4, h5, h6) {
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: var(--dark-blue);
  font-family: var(--font-family-ja);
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 700;
}
[id$=v2] .gen-h2:first-child,
[id$=v2] .gen-h3:first-child,
[id$=v2] .gen-h4:first-child,
[id$=v2] .gen-h5:first-child,
[id$=v2] .gen-h6:first-child,
[id$=v2] .gen-article :where(h2, h3, h4, h5, h6):first-child {
  margin-top: 0;
}
[id$=v2] .gen-h2,
[id$=v2] .gen-article :where(h2) {
  margin-block: var(--space-32);
  font-size: var(--font-size-28);
  font-family: var(--font-family-ja);
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  [id$=v2] .gen-h2,
  [id$=v2] .gen-article :where(h2) {
    margin-block: var(--space-48);
    font-size: var(--font-size-32);
  }
}
[id$=v2] .gen-h3,
[id$=v2] .gen-article :where(h3) {
  margin-block: var(--space-32);
  font-size: var(--font-size-24);
  font-family: var(--font-family-ja);
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  [id$=v2] .gen-h3,
  [id$=v2] .gen-article :where(h3) {
    margin-block: var(--space-48);
  }
}
[id$=v2] .gen-h4,
[id$=v2] .gen-article :where(h4) {
  margin-block: var(--space-32);
  font-size: var(--font-size-20);
}
@media screen and (min-width: 768px) {
  [id$=v2] .gen-h4,
  [id$=v2] .gen-article :where(h4) {
    margin-block: var(--space-48);
  }
}
[id$=v2] .gen-h5,
[id$=v2] .gen-article :where(h5) {
  margin-block: var(--space-32);
  font-size: var(--font-size-18);
}
[id$=v2] .gen-h6,
[id$=v2] .gen-article :where(h6) {
  margin-block: var(--space-32);
  font-size: var(--font-size-16);
}

[id$=v2] .gen-link,
[id$=v2] .gen-article :where(a) {
  position: relative;
  display: inline-block;
  width: fit-content;
  text-decoration: underline;
  color: var(--solid-gray-800);
  position: relative;
}
[id$=v2] .gen-link::before, [id$=v2] .gen-link::after,
[id$=v2] .gen-article :where(a)::before,
[id$=v2] .gen-article :where(a)::after {
  box-sizing: border-box;
  transform-origin: center center;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
[id$=v2] .gen-link::before,
[id$=v2] .gen-article :where(a)::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0.5lh;
  width: 8.4852813742px;
  height: 8.4852813742px;
  border-width: 2px;
  border-style: solid solid none none;
  border-color: currentColor;
  translate: calc((1em - 8.4852813742px) / 2 * 1 - (12px - 2px) / 4 + 0px) -50%;
  rotate: 45deg;
}
[id$=v2] .gen-link::after,
[id$=v2] .gen-article :where(a)::after {
  content: none;
}
[id$=v2] .gen-link,
[id$=v2] .gen-article :where(a) {
  padding-left: calc(1em + var(--space-8) + 0px);
}
[id$=v2] .gen-link::before, [id$=v2] .gen-link::after,
[id$=v2] .gen-article :where(a)::before,
[id$=v2] .gen-article :where(a)::after {
  left: 0px;
}
[id$=v2] .gen-link:hover,
[id$=v2] .gen-article :where(a):hover {
  color: var(--dark-blue);
}

[id$=v2] .gen-paragraph,
[id$=v2] .gen-article :where(p) {
  font-size: var(--font-size-16);
  line-height: 1.8;
  letter-spacing: 0.0625em;
  overflow-wrap: anywhere;
  font-family: var(--font-family-ja);
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
}
[id$=v2] .gen-paragraph + .gen-paragraph,
[id$=v2] .gen-article :where(p + p) {
  margin-top: 1lh;
}
[id$=v2] .gen-paragraph a:not([class]),
[id$=v2] .gen-article :where(p a:not([class])) {
  color: var(--solid-gray-800);
  text-decoration: underline;
  text-underline-offset: 3px;
}
[id$=v2] .gen-article :where(p a:not([class])) {
  padding-left: 0;
}
[id$=v2] .gen-article :where(p a:not([class]))::before {
  content: none;
}
[id$=v2] .gen-paragraph strong,
[id$=v2] .gen-article :where(p strong) {
  color: var(--solid-gray-800);
  font-weight: 700;
  text-decoration: none;
}
[id$=v2] .gen-paragraph em,
[id$=v2] .gen-article :where(em) {
  color: var(--orange);
  font-weight: 700;
  font-style: normal;
}

[id$=v2] .gen-list,
[id$=v2] .gen-article :where(ol, ul) {
  margin-top: var(--space-32);
  padding-left: 0;
  list-style: none;
  line-height: 1.8;
  letter-spacing: 0.01em;
  font-size: var(--font-size-16);
  color: var(--solid-gray-800);
  font-family: var(--font-family-ja);
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  [id$=v2] .gen-list,
  [id$=v2] .gen-article :where(ol, ul) {
    margin-block: var(--space-48);
  }
}
[id$=v2] .gen-list li,
[id$=v2] .gen-article :where(ol, ul) li {
  position: relative;
  margin-block: var(--space-32);
  padding-left: var(--space-24);
}
@media screen and (min-width: 768px) {
  [id$=v2] .gen-list li,
  [id$=v2] .gen-article :where(ol, ul) li {
    margin-block: var(--space-48);
  }
}
[id$=v2] .gen-list ol,
[id$=v2] .gen-list ul,
[id$=v2] .gen-article :where(ol, ul) ol,
[id$=v2] .gen-article :where(ol, ul) ul {
  margin-block: var(--space-32);
  padding-left: var(--space-8);
  list-style: none;
}
@media screen and (min-width: 768px) {
  [id$=v2] .gen-list ol,
  [id$=v2] .gen-list ul,
  [id$=v2] .gen-article :where(ol, ul) ol,
  [id$=v2] .gen-article :where(ol, ul) ul {
    margin-block: var(--space-24);
  }
}
[id$=v2] .gen-list ol > li,
[id$=v2] .gen-list ul > li,
[id$=v2] .gen-article :where(ol, ul) ol > li,
[id$=v2] .gen-article :where(ol, ul) ul > li {
  margin-block: var(--space-16);
}
@media screen and (min-width: 768px) {
  [id$=v2] .gen-list ol > li,
  [id$=v2] .gen-list ul > li,
  [id$=v2] .gen-article :where(ol, ul) ol > li,
  [id$=v2] .gen-article :where(ol, ul) ul > li {
    margin-block: var(--space-4);
  }
}
[id$=v2] .gen-list ol ol,
[id$=v2] .gen-list ul ul,
[id$=v2] .gen-article :where(ol, ul) ol ol,
[id$=v2] .gen-article :where(ol, ul) ul ul {
  margin-block: var(--space-32);
}
@media screen and (min-width: 768px) {
  [id$=v2] .gen-list ol ol,
  [id$=v2] .gen-list ul ul,
  [id$=v2] .gen-article :where(ol, ul) ol ol,
  [id$=v2] .gen-article :where(ol, ul) ul ul {
    margin-block: var(--space-24);
  }
}
[id$=v2] .gen-list ol ol > li,
[id$=v2] .gen-list ul ul > li,
[id$=v2] .gen-article :where(ol, ul) ol ol > li,
[id$=v2] .gen-article :where(ol, ul) ul ul > li {
  margin-block: var(--space-16);
}
@media screen and (min-width: 768px) {
  [id$=v2] .gen-list ol ol > li,
  [id$=v2] .gen-list ul ul > li,
  [id$=v2] .gen-article :where(ol, ul) ol ol > li,
  [id$=v2] .gen-article :where(ol, ul) ul ul > li {
    margin-block: var(--space-4);
  }
}
[id$=v2] .gen-list a,
[id$=v2] .gen-article :where(ol, ul) a {
  color: inherit;
}
[id$=v2] .gen-list:not(.gen-list--unordered),
[id$=v2] .gen-article :where(ol) {
  counter-reset: gen-list-l1;
}
[id$=v2] .gen-list:not(.gen-list--unordered) > li,
[id$=v2] .gen-article :where(ol) > li {
  counter-increment: gen-list-l1;
}
[id$=v2] .gen-list:not(.gen-list--unordered) > li::before,
[id$=v2] .gen-article :where(ol) > li::before {
  content: counter(gen-list-l1) ".";
  position: absolute;
  left: 0;
  top: 0;
}
[id$=v2] .gen-list:not(.gen-list--unordered) > li > ol,
[id$=v2] .gen-article :where(ol) > li > ol {
  counter-reset: gen-list-l2;
}
[id$=v2] .gen-list:not(.gen-list--unordered) > li > ol > li,
[id$=v2] .gen-article :where(ol) > li > ol > li {
  counter-increment: gen-list-l2;
}
[id$=v2] .gen-list:not(.gen-list--unordered) > li > ol > li::before,
[id$=v2] .gen-article :where(ol) > li > ol > li::before {
  content: counter(gen-list-l2, lower-alpha) ".";
  position: absolute;
  left: 0;
  top: 0;
}
[id$=v2] .gen-list:not(.gen-list--unordered) > li > ol > li > ol,
[id$=v2] .gen-article :where(ol) > li > ol > li > ol {
  counter-reset: gen-list-l3;
}
[id$=v2] .gen-list:not(.gen-list--unordered) > li > ol > li > ol > li,
[id$=v2] .gen-article :where(ol) > li > ol > li > ol > li {
  counter-increment: gen-list-l3;
}
[id$=v2] .gen-list:not(.gen-list--unordered) > li > ol > li > ol > li::before,
[id$=v2] .gen-article :where(ol) > li > ol > li > ol > li::before {
  content: counter(gen-list-l3, lower-roman) ".";
  position: absolute;
  left: 0;
  top: 0;
}
[id$=v2] .gen-list--unordered > li::before,
[id$=v2] .gen-article :where(ul) > li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}
[id$=v2] .gen-list--unordered > li > ul > li::before,
[id$=v2] .gen-article :where(ul) > li > ul > li::before {
  content: "-";
  position: absolute;
  left: 0;
  top: 0;
}
[id$=v2] .gen-list--unordered > li > ul > li > ul > li::before,
[id$=v2] .gen-article :where(ul) > li > ul > li > ul > li::before {
  content: "◦";
  position: absolute;
  left: 0;
  top: 0;
}
[id$=v2] .gen-list--unordered > li > ol,
[id$=v2] .gen-article :where(ul) > li > ol {
  counter-reset: gen-list-unordered-l2;
}
[id$=v2] .gen-list--unordered > li > ol > li,
[id$=v2] .gen-article :where(ul) > li > ol > li {
  counter-increment: gen-list-unordered-l2;
}
[id$=v2] .gen-list--unordered > li > ol > li::before,
[id$=v2] .gen-article :where(ul) > li > ol > li::before {
  content: counter(gen-list-unordered-l2, lower-alpha) ".";
  position: absolute;
  left: 0;
  top: 0;
}
[id$=v2] {
  /* ol:
    level1: 1.,2.,3.
    level2: 未定（a, b, cを下層で使う）
    level3: (イ),(ロ),(ハ)
    level4: a., b., c.
  */
}
[id$=v2] .gen-definition-table,
[id$=v2] .gen-article :where(dl:not([class])) {
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  width: 100%;
  border-inline: 1px solid var(--solid-gray-200);
  padding: 0;
}
@media screen and (min-width: 768px) {
  [id$=v2] .gen-definition-table,
  [id$=v2] .gen-article :where(dl:not([class])) {
    margin-inline: auto;
    max-width: calc(1000px + var(--space-32) * 2);
    width: 100%;
    padding-inline: 0;
    grid-template-columns: 210px 1fr;
  }
}
[id$=v2] .gen-definition-table__label,
[id$=v2] .gen-article :where(dl:not([class])) dt {
  background-color: var(--light-gray);
  font-weight: 700;
}
[id$=v2] .gen-definition-table__label:first-of-type,
[id$=v2] .gen-article :where(dl:not([class])) dt:first-of-type {
  border-top: 1px solid var(--solid-gray-200);
}
@media screen and (min-width: 768px) {
  [id$=v2] .gen-definition-table__label,
  [id$=v2] .gen-article :where(dl:not([class])) dt {
    border-bottom: 1px solid var(--solid-gray-200);
    padding-top: var(--space-24);
    padding-bottom: var(--space-8);
  }
}
[id$=v2] .gen-definition-table__value,
[id$=v2] .gen-article :where(dl:not([class])) dd {
  border-bottom: 1px solid var(--solid-gray-200);
  margin: 0;
}
@media screen and (min-width: 768px) {
  [id$=v2] .gen-definition-table__value,
  [id$=v2] .gen-article :where(dl:not([class])) dd {
    padding-top: var(--space-8);
    padding-bottom: var(--space-24);
  }
  [id$=v2] .gen-definition-table__value:first-of-type,
  [id$=v2] .gen-article :where(dl:not([class])) dd:first-of-type {
    border-top: 1px solid var(--solid-gray-200);
  }
}
[id$=v2] .gen-definition-table__label,
[id$=v2] .gen-definition-table__value,
[id$=v2] .gen-article :where(dl:not([class])) dt,
[id$=v2] .gen-article :where(dl:not([class])) dd {
  margin: 0;
  padding-block: var(--space-16);
  padding-inline: var(--space-24);
  line-height: 1.6;
  letter-spacing: 0.01em;
  font-size: var(--font-size-16);
  color: var(--solid-gray-800);
  font-family: var(--font-family-ja);
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  [id$=v2] .gen-definition-table__label,
  [id$=v2] .gen-definition-table__value,
  [id$=v2] .gen-article :where(dl:not([class])) dt,
  [id$=v2] .gen-article :where(dl:not([class])) dd {
    padding-block: var(--space-32);
  }
}
[id$=v2] .gen-definition-table + .gen-definition-table,
[id$=v2] .gen-article dl + dl {
  margin-top: var(--space-96);
}

[id$=v2] .gen-info-list__title {
  color: var(--dark-blue);
  font-family: var(--font-family-ja);
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 500;
  font-size: var(--font-size-24);
  line-height: 1.4;
  letter-spacing: 0.08em;
  margin-bottom: var(--space-16);
}
[id$=v2] .gen-info-list-panel {
  display: grid;
  gap: var(--space-24);
  background-color: var(--blue-50);
  padding: var(--space-48) 27px;
}
[id$=v2] .gen-info-list {
  display: grid;
  gap: var(--space-8);
}
[id$=v2] .gen-info-list--meta {
  gap: var(--space-4);
  padding-top: var(--space-16);
  border-top: 1px solid var(--solid-gray-200);
}
[id$=v2] .gen-info-list--meta .gen-info-list__row {
  font-size: var(--font-size-12);
  line-height: 1.8;
  letter-spacing: 0.0833333333em;
}
[id$=v2] .gen-info-list__row {
  margin: 0;
  font-size: var(--font-size-16);
  line-height: 1.8;
  letter-spacing: 0.0625em;
  color: var(--solid-gray-800);
}
[id$=v2] .gen-info-list__label {
  color: var(--dark-blue);
  font-family: var(--font-family-ja);
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 700;
}

[id$=v2] .gen-article {
  display: block;
}

[id$=v2] .form {
  display: flex;
  flex-direction: column;
  gap: 0;
}
[id$=v2] .form button[type=submit] {
  margin-top: var(--space-32);
  margin-inline: auto;
}

[id$=v2] .link {
  position: relative;
  display: inline-block;
  text-decoration: underline;
}
[id$=v2] .link:hover {
  color: var(--dark-blue);
}
[id$=v2] .link span {
  word-break: normal;
  overflow-wrap: anywhere;
}
[id$=v2] .link--coming {
  position: relative;
  display: inline-block;
  width: fit-content;
  position: relative;
}
[id$=v2] .link--coming::before, [id$=v2] .link--coming::after {
  box-sizing: border-box;
  transform-origin: center center;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
[id$=v2] .link--coming::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0.5lh;
  width: 8.4852813742px;
  height: 8.4852813742px;
  border-width: 2px;
  border-style: solid solid none none;
  border-color: currentColor;
  translate: calc((1em - 8.4852813742px) / 2 * 1 - (12px - 2px) / 4 + 0px) -50%;
  rotate: 45deg;
}
[id$=v2] .link--coming::after {
  content: none;
}
[id$=v2] .link--coming {
  padding-left: calc(1em + var(--space-8) + 0px);
}
[id$=v2] .link--coming::before, [id$=v2] .link--coming::after {
  left: 0px;
}
[id$=v2] .link--next {
  position: relative;
}
[id$=v2] .link--next span {
  position: relative;
}
[id$=v2] .link--next span::before, [id$=v2] .link--next span::after {
  box-sizing: border-box;
  transform-origin: center center;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
[id$=v2] .link--next span::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0.5lh;
  width: 8.4852813742px;
  height: 8.4852813742px;
  border-width: 2px;
  border-style: solid solid none none;
  border-color: currentColor;
  translate: calc((1em - 8.4852813742px) / 2 * -1 - (12px - 2px) / 4 + 0px) -50%;
  rotate: 45deg;
}
[id$=v2] .link--next span::after {
  content: none;
}
[id$=v2] .link--next span {
  padding-right: calc(1em + var(--space-8) + 0px);
}
[id$=v2] .link--next span::before, [id$=v2] .link--next span::after {
  right: 0px;
}
[id$=v2] .link--inline {
  padding-inline: 0;
}
[id$=v2] .link--inline::before, [id$=v2] .link--inline::after {
  content: none;
}
[id$=v2] .link--globe,
[id$=v2] .link--search {
  position: relative;
  padding-left: calc(var(--space-8) + 1.0833333333em);
  text-decoration: none;
}
[id$=v2] .link--globe::before,
[id$=v2] .link--search::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  display: inline-block;
  vertical-align: middle;
  width: 1.0833333333em;
  height: auto;
  aspect-ratio: 1/1;
  background-position: 50% 50%;
  background-size: contain;
  background-repeat: no-repeat;
}
[id$=v2] .link--globe::before {
  /* ignore image-set validation */
  background-image: image-set(url("../images/icon-globe.svg") type('image/svg+xml'), url("../images/icon-globe.avif") type('image/avif'), url("../images/icon-globe.webp") type('image/webp'), url("../images/icon-globe.png") type('image/png'));
}
[id$=v2] .link--search::before {
  /* ignore image-set validation */
  background-image: image-set(url("../images/icon-search.svg") type('image/svg+xml'), url("../images/icon-search.avif") type('image/avif'), url("../images/icon-search.webp") type('image/webp'), url("../images/icon-search.png") type('image/png'));
}
[id$=v2] .link--pdf {
  position: relative;
  padding-left: calc(var(--space-8) + 1lh);
  line-height: 2;
  text-decoration: underline;
}
[id$=v2] .link--pdf::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 1lh;
  height: auto;
  aspect-ratio: 1/1;
  background-image: image-set(url("../images/icon-pdf.avif") type('image/avif'), url("../images/icon-pdf.webp") type('image/webp'), url("../images/icon-pdf.png") type('image/png'));
  background-position: 50% 50%;
  background-size: contain;
  background-repeat: no-repeat;
  transform: translateY(-50%);
}

[id$=v2] .paragraph {
  font-family: var(--font-family-ja);
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.01em;
  font-size: var(--font-size-16);
}
[id$=v2] .paragraph--lead {
  font-family: var(--font-family-en);
  font-style: normal;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
  letter-spacing: 0.08em;
  font-size: var(--font-size-28);
}
@media screen and (min-width: 768px) {
  [id$=v2] .paragraph--lead {
    text-align: left;
  }
}
[id$=v2] .paragraph--generous {
  line-height: 2.4;
}
[id$=v2] .paragraph--disclaimer {
  position: relative;
  line-height: 1.8;
  letter-spacing: 0.01em;
  padding-left: calc(var(--space-8) + 1em);
  font-size: var(--font-size-12);
  font-family: var(--font-family-ja);
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
}
[id$=v2] .paragraph--disclaimer::before {
  content: "※";
  position: absolute;
  top: 0.5lh;
  left: 0;
  width: 1em;
  height: auto;
  aspect-ratio: 1/1;
  transform: translateY(-50%);
}
[id$=v2] .paragraph + .paragraph {
  margin-top: 1lh;
}

[id$=v2] .button, [id$=v2] .button--primary {
  --button-theme-color: var(--dark-blue);
  --button-theme-color-versa: var(--white);
  --button-icon-theme-color: var(--dark-blue);
  --button-icon-theme-color-versa: var(--white);
  position: relative;
  display: inline-flex;
  min-width: 152px;
  max-width: 520px;
  width: fit-content;
  justify-content: center;
  align-items: center;
  height: 5.2rem;
  border-radius: 2.6rem;
  padding-block: 0;
  padding-inline: var(--space-16);
  border: 2px solid var(--button-theme-color);
  background-color: transparent;
  color: var(--button-theme-color);
  text-align: center;
  line-height: 1;
  letter-spacing: 0.08em;
  font-size: var(--font-size-14);
  transition: all 0.4s ease 0s;
  font-family: var(--font-family-ja);
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 500;
}
[id$=v2] .button span, [id$=v2] .button--primary span {
  width: 100%;
  position: relative;
}
[id$=v2] .button span::before, [id$=v2] .button span::after, [id$=v2] .button--primary span::before, [id$=v2] .button--primary span::after {
  box-sizing: border-box;
  transform-origin: center center;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
[id$=v2] .button span::before, [id$=v2] .button--primary span::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0.5lh;
  width: 6.3639610307px;
  height: 6.3639610307px;
  border-width: 2px;
  border-style: solid solid none none;
  border-color: var(--dark-blue);
  translate: calc((20px - 6.3639610307px) / 2 * -1 - (9px - 2px) / 4 + 1px) -50%;
  rotate: 45deg;
}
[id$=v2] .button span::after, [id$=v2] .button--primary span::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0.5lh;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 1px solid var(--dark-blue);
  translate: 0 -50%;
}
[id$=v2] .button span, [id$=v2] .button--primary span {
  padding-right: calc(20px + var(--space-8) + 0px);
}
[id$=v2] .button span::before, [id$=v2] .button span::after, [id$=v2] .button--primary span::before, [id$=v2] .button--primary span::after {
  right: 0px;
}
[id$=v2] .button span::before, [id$=v2] .button span::after, [id$=v2] .button--primary span::before, [id$=v2] .button--primary span::after {
  border-color: var(--button-icon-theme-color);
  transition: all 0.25s ease-out 0s;
}
[id$=v2] .button:hover, [id$=v2] .button--primary:hover {
  background-color: var(--button-theme-color);
  color: var(--button-theme-color-versa);
}
[id$=v2] .button:hover span::before, [id$=v2] .button--primary:hover span::before {
  border-color: var(--button-icon-theme-color);
}
[id$=v2] .button:hover span::after, [id$=v2] .button--primary:hover span::after {
  border-color: var(--button-icon-theme-color);
  background-color: var(--button-icon-theme-color-versa);
}
[id$=v2] {
  /* type */
}
[id$=v2] .button--slim {
  min-width: 90px;
  width: auto;
  height: 2.4rem;
  border-radius: 1.7rem;
  border-color: var(--button-theme-color);
  padding-inline: 12px;
  background-color: var(--button-theme-color);
  text-align: center;
  font-size: var(--font-size-12);
  font-weight: 700;
  line-height: 1.4;
  color: var(--button-theme-color-versa);
  letter-spacing: 0.08em;
}
@media screen and (min-width: 768px) {
  [id$=v2] .button--slim {
    width: 140px;
    height: 3.4rem;
    font-size: var(--font-size-14);
  }
}
[id$=v2] .button--slim span {
  position: relative;
}
[id$=v2] .button--slim span::before, [id$=v2] .button--slim span::after {
  box-sizing: border-box;
  transform-origin: center center;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
[id$=v2] .button--slim span::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0.5lh;
  width: 7.7781745931px;
  height: 7.7781745931px;
  border-width: 2px;
  border-style: solid solid none none;
  border-color: var(--button-icon-theme-color-versa);
  translate: calc((11px - 7.7781745931px) / 2 * -1 - (11px - 2px) / 4 + 0px) -50%;
  rotate: 45deg;
}
[id$=v2] .button--slim span::after {
  content: none;
}
[id$=v2] .button--slim span {
  padding-right: calc(11px + var(--space-8) + -3px);
}
[id$=v2] .button--slim span::before, [id$=v2] .button--slim span::after {
  right: -3px;
}
[id$=v2] .button--slim:hover {
  background-color: var(--button-theme-color-versa);
  color: var(--button-theme-color);
}
[id$=v2] .button--slim:hover span::before, [id$=v2] .button--slim:hover span::after {
  border-color: var(--button-theme-color);
}
[id$=v2] {
  /* color */
}
[id$=v2] .button--secondary {
  --button-theme-color: var(--white);
  --button-theme-color-versa: var(--dark-blue);
  --button-icon-theme-color: var(--white);
  --button-icon-theme-color-versa: var(--dark-blue);
}
[id$=v2] .button--magenta {
  --button-theme-color: var(--magenta);
  --button-theme-color-versa: var(--white);
  --button-icon-theme-color: var(--magenta);
  --button-icon-theme-color-versa: var(--white);
}
[id$=v2] .button--light-blue {
  border-color: var(--light-blue);
  color: var(--light-blue);
}
[id$=v2] .button--light-blue span::before, [id$=v2] .button--light-blue span::after {
  border-color: var(--light-blue);
}
[id$=v2] .button--light-blue:hover {
  background-color: var(--light-blue);
  color: var(--white);
}
[id$=v2] .button--light-blue:hover span::before {
  border-color: var(--light-blue);
}
[id$=v2] .button--light-blue:hover span::after {
  border-color: var(--white);
  background-color: var(--white);
}
[id$=v2] {
  /* size */
}
[id$=v2] .button--stretch {
  max-width: 100%;
  width: 100%;
}
@media screen and (min-width: 768px) {
  [id$=v2] .button--stretch {
    width: fit-content;
  }
}
[id$=v2] {
  /* state */
}
[id$=v2] .button[disabled] {
  --button-theme-color: var(--solid-gray-200);
  --button-theme-color-versa: var(--solid-gray-200);
  --button-icon-theme-color: var(--solid-gray-200);
  --button-icon-theme-color-versa: var(--white);
  background-color: var(--solid-gray-200);
  color: var(--white);
  pointer-events: none;
  cursor: not-allowed;
}
[id$=v2] .button[disabled] span::after {
  background-color: var(--white);
}

[id$=header-v2].header {
  color: var(--base-text-color);
}
[id$=header-v2].header .header__inner {
  display: flex;
  margin-inline: auto;
  max-width: calc(1200px + var(--space-32) * 2);
  width: 100%;
  padding-inline: var(--space-24);
}
@media screen and (min-width: 768px) {
  [id$=header-v2].header .header__inner {
    padding-inline: var(--space-32);
  }
}
[id$=header-v2].header .header__inner {
  align-items: center;
  justify-content: space-between;
}

#upper-header-v2.header--upper {
  display: none;
}
@media screen and (min-width: 768px) {
  #upper-header-v2.header--upper {
    position: relative;
    z-index: 1;
    margin: 0 auto;
    display: block;
  }
  #upper-header-v2.header--upper .header__inner {
    flex-direction: row;
    justify-content: flex-end;
    gap: 24px;
    width: 100%;
    padding-top: 1lh;
    padding-bottom: 0.5lh;
    line-height: 1.6rem;
    font-size: var(--font-size-12);
    color: var(--base-text-color);
    font-weight: 500;
  }
  #upper-header-v2.header--upper .header__support-nav {
    width: fit-content;
  }
  #upper-header-v2.header--upper .header__support-nav-list {
    margin: 0;
    display: flex;
    justify-content: space-between;
    gap: 0;
    list-style: none;
    padding: 0;
  }
  #upper-header-v2.header--upper .header__support-nav-list .header__support-nav-item {
    position: relative;
    padding-inline: var(--space-16);
  }
  #upper-header-v2.header--upper .header__support-nav-list .header__support-nav-item .link {
    text-decoration: none;
  }
  #upper-header-v2.header--upper .header__support-nav-list .header__support-nav-item > .search-input .search-input__field {
    width: 6em;
    min-width: 0;
  }
  #upper-header-v2.header--upper .header__support-nav-list .header__support-nav-item::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    margin-right: 1em;
    display: inline-block;
    width: 1px;
    height: 1rem;
    vertical-align: middle;
    pointer-events: none;
    background-color: var(--solid-gray-200);
    cursor: default;
  }
  #upper-header-v2.header--upper .header__support-nav-list .header__support-nav-item:first-child::after {
    content: none;
    margin-right: 0;
  }
  #upper-header-v2.header--upper .header__support-nav-list .header__support-nav-item:last-child {
    padding-right: 0;
  }
  #upper-header-v2.header--upper .header__support-nav-list .header__support-nav-item:last-child::after {
    height: 3rem;
  }
}

#header-v2.header--lower {
  position: sticky;
  top: 0;
  z-index: 2;
  width: 100%;
  background: var(--white);
  border-bottom: 1px solid var(--light-gray);
}
@media screen and (min-width: 768px) {
  #header-v2.header--lower {
    --desktop-nav-underline-offset: -3.5rem;
    anchor-name: --header-lower;
    border-bottom: 1px solid transparent;
    padding-bottom: var(--space-24);
    transition: border-bottom-color 0.4s ease, padding-bottom 0.4s ease;
  }
}
#header-v2.header--lower .header__inner {
  min-height: 6.4rem;
  padding-top: var(--space-8);
  padding-bottom: var(--space-8);
}
@media screen and (min-width: 768px) {
  #header-v2.header--lower .header__inner {
    min-height: auto;
    align-items: center;
  }
}
#header-v2.header--lower .header__logo {
  max-width: 11.7rem;
  width: 30vw;
  margin: 0;
  font-size: var(--font-size-24);
  font-weight: 700;
  text-decoration: none;
}
#header-v2.header--lower .header__logo a {
  display: block;
  width: 100%;
}
#header-v2.header--lower .header__logo img {
  margin-left: 0;
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 89/23;
}
@media screen and (min-width: 768px) {
  #header-v2.header--lower .header__logo {
    margin-bottom: 1.4rem;
    max-width: initial;
    width: 20.8rem;
    transition: margin-top 0.4s ease;
  }
  #header-v2.header--lower .header__logo img {
    transition: width 0.4s ease;
  }
}
#header-v2.header--lower .header__header-controls {
  display: flex;
  align-items: center;
  gap: 12px;
}
@media screen and (min-width: 768px) {
  #header-v2.header--lower .header__header-controls {
    gap: 0;
  }
}
@media screen and (min-width: 768px) {
  #header-v2.header--lower .header__actions {
    margin-top: var(--space-32);
    transition: margin-top 0.4s ease;
  }
}
#header-v2.header--lower .header__menu-toggle {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 3.3rem;
  height: 3.3rem;
  border: 0;
  background: transparent;
  color: var(--solid-gray-800);
  gap: var(--space-4);
  padding: 0;
}
@media screen and (min-width: 768px) {
  #header-v2.header--lower .header__menu-toggle {
    display: none;
  }
}
#header-v2.header--lower .header__menu-toggle-icon-wrapper {
  --menu-toggle-icon-size: 1.8rem;
  --menu-toggle-line-thickness: 0.3rem;
  --menu-toggle-line-offset: calc((var(--menu-toggle-icon-size) - var(--menu-toggle-line-thickness)) / 2);
  position: relative;
  display: block;
  width: var(--menu-toggle-icon-size);
  height: var(--menu-toggle-icon-size);
}
#header-v2.header--lower .header__menu-toggle-icon-wrapper::before, #header-v2.header--lower .header__menu-toggle-icon-wrapper::after {
  --menu-toggle-line-shift: 0px;
  --menu-toggle-line-rotate: 0deg;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: var(--menu-toggle-line-thickness);
  background-color: currentColor;
  transform-origin: center center;
  transform: translateY(calc(-50% + var(--menu-toggle-line-shift))) rotate(var(--menu-toggle-line-rotate));
  transition: transform 0.3s ease, opacity 0.3s ease, background-color 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}
#header-v2.header--lower .header__menu-toggle-icon-wrapper::before {
  --menu-toggle-line-shift: calc(-1 * var(--menu-toggle-line-offset));
}
#header-v2.header--lower .header__menu-toggle-icon-wrapper .header__menu-toggle-icon {
  position: absolute;
  top: calc(50% - var(--menu-toggle-line-thickness) / 2);
  left: 0;
  display: block;
  width: 100%;
  height: var(--menu-toggle-line-thickness);
  background-color: currentColor;
  transition: background-color 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}
#header-v2.header--lower .header__menu-toggle-icon-wrapper::after {
  --menu-toggle-line-shift: var(--menu-toggle-line-offset);
}
#header-v2.header--lower .header__menu-toggle-label {
  display: block;
  line-height: 1;
  font-size: 1.1rem;
  font-family: var(--font-family-en);
  font-style: normal;
  font-weight: 600;
}
#header-v2.header--lower .header__nav-panel {
  display: block;
  position: fixed;
  top: 6.4rem;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  border-top: 1px solid var(--blue-100);
  background-color: var(--white);
  overflow: auto;
  overscroll-behavior: none;
  padding-bottom: var(--space-32);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-0.8rem);
  transition: opacity 0.32s ease, transform 0.32s ease, visibility 0s linear 0.32s;
}
@media screen and (min-width: 768px) {
  #header-v2.header--lower .header__nav-panel {
    display: none;
    padding-bottom: 0;
  }
}
#header-v2.header--lower .header__mobile-nav-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
#header-v2.header--lower .header__mobile-nav-item {
  border-bottom: 1px solid var(--blue-100);
  background-color: var(--white);
}
#header-v2.header--lower .header__mobile-nav-item + .header__mobile-nav-item {
  margin-top: 0;
}
#header-v2.header--lower .header__mobile-nav-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.2rem;
  min-height: 6.8rem;
  padding: 2.4rem;
  background-color: var(--white);
}
#header-v2.header--lower .header__mobile-nav-link {
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: var(--base-text-color);
  text-decoration: none;
  line-height: 1.4;
}
#header-v2.header--lower .header__mobile-submenu-toggle {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border: 0;
  background-color: transparent;
  color: var(--dark-blue);
  flex-shrink: 0;
  padding: 0;
}
@media screen and (min-width: 768px) {
  #header-v2.header--lower .header__mobile-submenu-toggle {
    display: none;
  }
}
#header-v2.header--lower .header__mobile-submenu-toggle::before, #header-v2.header--lower .header__mobile-submenu-toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.2rem;
  height: 0.2rem;
  background-color: currentColor;
  transform: translate(-50%, -50%);
  transition: transform 0.3s ease, opacity 0.3s ease;
}
#header-v2.header--lower .header__mobile-submenu-toggle::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
#header-v2.header--lower .header__mobile-submenu {
  display: grid;
  grid-template-rows: minmax(0, 0fr);
  overflow: hidden;
  padding: 0;
  background-color: var(--white);
  opacity: 0;
  pointer-events: none;
  transition: grid-template-rows 0.4s ease, opacity 0.24s linear;
}
#header-v2.header--lower .header__mobile-submenu-inner {
  min-height: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  padding: 0 2.4rem 2rem 2.4rem;
  margin-bottom: 0;
  overflow: hidden;
  background-color: transparent;
}
#header-v2.header--lower .header__mobile-submenu-column {
  margin: 0;
  padding: 0;
  list-style: none;
  border: 0;
  background-color: transparent;
}
#header-v2.header--lower .header__mobile-submenu-column:not(.header__mobile-submenu-column--branches):not(.header__mobile-submenu-column--nested) {
  background-color: var(--light-gray);
}
#header-v2.header--lower .header__mobile-submenu-column:not(.header__mobile-submenu-column--branches):not(.header__mobile-submenu-column--nested) > .header__mobile-submenu-item {
  box-sizing: border-box;
  height: 5.3rem;
  border-top: 0;
  background-color: var(--light-gray);
}
#header-v2.header--lower .header__mobile-submenu-column:not(.header__mobile-submenu-column--branches):not(.header__mobile-submenu-column--nested) > .header__mobile-submenu-item > .header__mobile-submenu-link {
  box-sizing: border-box;
  height: 100%;
}
#header-v2.header--lower .header__mobile-submenu-column:not(.header__mobile-submenu-column--branches):not(.header__mobile-submenu-column--nested) > .header__mobile-submenu-item:first-child {
  border-bottom: 1px dotted var(--solid-gray-400);
}
#header-v2.header--lower .header__mobile-submenu-column:not(.header__mobile-submenu-column--branches):not(.header__mobile-submenu-column--nested) > .header__mobile-submenu-item:first-child > .header__mobile-submenu-link {
  padding-right: 1.6rem;
  padding-left: 1.6rem;
}
#header-v2.header--lower .header__mobile-submenu-column:not(.header__mobile-submenu-column--branches):not(.header__mobile-submenu-column--nested) > .header__mobile-submenu-item:not(:first-child) {
  padding-right: 1.6rem;
  padding-left: 1.6rem;
}
#header-v2.header--lower .header__mobile-submenu-column:not(.header__mobile-submenu-column--branches):not(.header__mobile-submenu-column--nested) > .header__mobile-submenu-item:nth-child(n+3) > .header__mobile-submenu-link {
  border-top: 1px dotted var(--solid-gray-400);
}
#header-v2.header--lower .header__mobile-submenu-column--branches {
  display: grid;
  gap: 0.8rem;
}
#header-v2.header--lower .header__mobile-submenu-column--branches > .header__mobile-submenu-item {
  border-top: 0;
  background-color: var(--light-gray);
}
#header-v2.header--lower .header__mobile-submenu-head {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  width: 100%;
  height: 5.3rem;
  min-height: 5.3rem;
  padding: 0 1.6rem;
  border: 0;
  background-color: var(--light-gray);
}
#header-v2.header--lower .header__mobile-submenu-item.is-open > .header__mobile-submenu-head {
  border-bottom: 1px dotted var(--solid-gray-400);
}
#header-v2.header--lower .header__mobile-submenu-link {
  display: flex;
  align-items: center;
  padding: 1.6rem 0;
  min-height: 5.3rem;
  font-size: 1.4rem;
  font-weight: 400;
  color: var(--base-text-color);
  background-color: transparent;
  border: 0;
  text-decoration: none;
  line-height: 1.5;
}
#header-v2.header--lower .header__mobile-submenu-link--branch {
  box-sizing: border-box;
  height: 100%;
  min-height: auto;
  font-weight: 500;
  color: var(--dark-blue);
  flex: 1;
}
#header-v2.header--lower .header__mobile-submenu-link--branch-leaf {
  padding: 1.6rem;
  color: var(--dark-blue);
  font-weight: 500;
}
#header-v2.header--lower .header__mobile-submenu-link--branch-leaf span {
  position: relative;
}
#header-v2.header--lower .header__mobile-submenu-link--branch-leaf span::before, #header-v2.header--lower .header__mobile-submenu-link--branch-leaf span::after {
  box-sizing: border-box;
  transform-origin: center center;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
#header-v2.header--lower .header__mobile-submenu-link--branch-leaf span::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0.5lh;
  width: 0.5656854249rem;
  height: 0.5656854249rem;
  border-width: 0.2rem;
  border-style: solid solid none none;
  border-color: var(--white);
  translate: calc((2rem - 0.5656854249rem) / 2 * -1 - (0.8rem - 0.2rem) / 4 + 0px) -50%;
  rotate: 45deg;
}
#header-v2.header--lower .header__mobile-submenu-link--branch-leaf span::after {
  content: none;
}
#header-v2.header--lower .header__mobile-submenu-link--branch-leaf span {
  padding-right: calc(2rem + var(--space-8) + 0px);
}
#header-v2.header--lower .header__mobile-submenu-link--branch-leaf span::before, #header-v2.header--lower .header__mobile-submenu-link--branch-leaf span::after {
  right: 0px;
}
#header-v2.header--lower .header__mobile-submenu-link--branch-leaf span::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0.5lh;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background-color: var(--dark-blue);
  translate: 0 -50%;
}
#header-v2.header--lower .header__mobile-submenu-link--leaf {
  color: var(--base-text-color);
}
#header-v2.header--lower .header__mobile-submenu-link--leaf span {
  position: relative;
}
#header-v2.header--lower .header__mobile-submenu-link--leaf span::before, #header-v2.header--lower .header__mobile-submenu-link--leaf span::after {
  box-sizing: border-box;
  transform-origin: center center;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
#header-v2.header--lower .header__mobile-submenu-link--leaf span::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0.5lh;
  width: 0.8485281374rem;
  height: 0.8485281374rem;
  border-width: 0.2rem;
  border-style: solid solid none none;
  border-color: var(--dark-blue);
  translate: calc((2rem - 0.8485281374rem) / 2 * -1 - (1.2rem - 0.2rem) / 4 + 0px) -50%;
  rotate: 45deg;
}
#header-v2.header--lower .header__mobile-submenu-link--leaf span::after {
  content: none;
}
#header-v2.header--lower .header__mobile-submenu-link--leaf span {
  padding-right: calc(2rem + var(--space-8) + 0px);
}
#header-v2.header--lower .header__mobile-submenu-link--leaf span::before, #header-v2.header--lower .header__mobile-submenu-link--leaf span::after {
  right: 0px;
}
#header-v2.header--lower .header__mobile-submenu-link--leaf span::before, #header-v2.header--lower .header__mobile-submenu-link--leaf span::after {
  transition: all 0.25s ease-out 0s;
}
#header-v2.header--lower .header__mobile-submenu-link--leaf:hover, #header-v2.header--lower .header__mobile-submenu-link--leaf:focus-visible {
  text-decoration: underline;
}
#header-v2.header--lower .header__mobile-submenu-link span {
  display: block;
  width: 100%;
}
#header-v2.header--lower .header__mobile-submenu-column:not(:has(.header__mobile-submenu-link--branch)) > .header__mobile-submenu-item:first-child .header__mobile-submenu-link--leaf span {
  position: relative;
}
#header-v2.header--lower .header__mobile-submenu-column:not(:has(.header__mobile-submenu-link--branch)) > .header__mobile-submenu-item:first-child .header__mobile-submenu-link--leaf span::before, #header-v2.header--lower .header__mobile-submenu-column:not(:has(.header__mobile-submenu-link--branch)) > .header__mobile-submenu-item:first-child .header__mobile-submenu-link--leaf span::after {
  box-sizing: border-box;
  transform-origin: center center;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
#header-v2.header--lower .header__mobile-submenu-column:not(:has(.header__mobile-submenu-link--branch)) > .header__mobile-submenu-item:first-child .header__mobile-submenu-link--leaf span::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0.5lh;
  width: 0.5656854249rem;
  height: 0.5656854249rem;
  border-width: 0.2rem;
  border-style: solid solid none none;
  border-color: var(--white);
  translate: calc((2rem - 0.5656854249rem) / 2 * -1 - (0.8rem - 0.2rem) / 4 + 0px) -50%;
  rotate: 45deg;
}
#header-v2.header--lower .header__mobile-submenu-column:not(:has(.header__mobile-submenu-link--branch)) > .header__mobile-submenu-item:first-child .header__mobile-submenu-link--leaf span::after {
  content: none;
}
#header-v2.header--lower .header__mobile-submenu-column:not(:has(.header__mobile-submenu-link--branch)) > .header__mobile-submenu-item:first-child .header__mobile-submenu-link--leaf span {
  padding-right: calc(2rem + var(--space-8) + 0px);
}
#header-v2.header--lower .header__mobile-submenu-column:not(:has(.header__mobile-submenu-link--branch)) > .header__mobile-submenu-item:first-child .header__mobile-submenu-link--leaf span::before, #header-v2.header--lower .header__mobile-submenu-column:not(:has(.header__mobile-submenu-link--branch)) > .header__mobile-submenu-item:first-child .header__mobile-submenu-link--leaf span::after {
  right: 0px;
}
#header-v2.header--lower .header__mobile-submenu-column:not(:has(.header__mobile-submenu-link--branch)) > .header__mobile-submenu-item:first-child .header__mobile-submenu-link--leaf span {
  color: var(--dark-blue);
}
#header-v2.header--lower .header__mobile-submenu-column:not(:has(.header__mobile-submenu-link--branch)) > .header__mobile-submenu-item:first-child .header__mobile-submenu-link--leaf span::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0.5lh;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background-color: var(--dark-blue);
  translate: 0 -50%;
}
#header-v2.header--lower .header__mobile-submenu-toggle--nested {
  width: 2rem;
  height: 2rem;
  margin-right: 0;
  margin-left: 0.8rem;
  border-radius: 999px;
  color: var(--white);
  background-color: var(--dark-blue);
  background-image: none;
}
#header-v2.header--lower .header__mobile-submenu-toggle--nested::before, #header-v2.header--lower .header__mobile-submenu-toggle--nested::after {
  width: 1rem;
}
#header-v2.header--lower .header__mobile-submenu--nested {
  padding: 0;
  background-color: transparent;
}
#header-v2.header--lower .header__mobile-submenu-inner--nested {
  padding: 0 1.6rem;
  background-color: var(--light-gray);
}
#header-v2.header--lower .header__mobile-submenu-column--nested {
  background-color: var(--light-gray);
}
#header-v2.header--lower .header__mobile-submenu-nested-item {
  margin: 0;
}
#header-v2.header--lower .header__mobile-submenu-nested-item + .header__mobile-submenu-nested-item {
  border-top: 1px dotted var(--solid-gray-400);
}
#header-v2.header--lower .header__mobile-submenu-nested-link {
  display: block;
  padding: 1.2rem 0;
  min-height: auto;
  font-size: 1.4rem;
  font-weight: 400;
  color: var(--base-text-color);
  text-decoration: none;
  background-color: var(--light-gray);
  line-height: 1.5;
}
#header-v2.header--lower .header__mobile-submenu-nested-link span {
  display: block;
  width: 100%;
  position: relative;
}
#header-v2.header--lower .header__mobile-submenu-nested-link span::before, #header-v2.header--lower .header__mobile-submenu-nested-link span::after {
  box-sizing: border-box;
  transform-origin: center center;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
#header-v2.header--lower .header__mobile-submenu-nested-link span::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0.5lh;
  width: 0.8485281374rem;
  height: 0.8485281374rem;
  border-width: 0.2rem;
  border-style: solid solid none none;
  border-color: var(--dark-blue);
  translate: calc((2rem - 0.8485281374rem) / 2 * -1 - (1.2rem - 0.2rem) / 4 + 0px) -50%;
  rotate: 45deg;
}
#header-v2.header--lower .header__mobile-submenu-nested-link span::after {
  content: none;
}
#header-v2.header--lower .header__mobile-submenu-nested-link span {
  padding-right: calc(2rem + var(--space-8) + 0px);
}
#header-v2.header--lower .header__mobile-submenu-nested-link span::before, #header-v2.header--lower .header__mobile-submenu-nested-link span::after {
  right: 0px;
}
#header-v2.header--lower .header__mobile-submenu-nested-link:hover, #header-v2.header--lower .header__mobile-submenu-nested-link:focus-visible {
  text-decoration: underline;
}
#header-v2.header--lower .header__support-nav--mobile {
  margin: 0;
  padding: 2rem 2.4rem 0;
}
@media screen and (min-width: 768px) {
  #header-v2.header--lower .header__support-nav--mobile {
    display: none;
  }
}
#header-v2.header--lower .header__support-nav--mobile .header__support-nav-list {
  margin: 0;
  padding: 0;
  display: block;
  list-style: none;
  background-color: transparent;
}
#header-v2.header--lower .header__support-nav--mobile .header__support-nav-item {
  padding: 0;
  border-bottom: 0;
  font-size: 1.4rem;
  line-height: 1.5;
}
#header-v2.header--lower .header__support-nav--mobile .header__support-nav-item + .header__support-nav-item {
  margin-top: 3.2rem;
}
#header-v2.header--lower .header__support-nav--mobile .header__support-nav-item:has(> .search-input) {
  margin-top: 2rem;
}
#header-v2.header--lower .header__support-nav--mobile .header__support-nav-item > .link {
  display: inline-flex;
  align-items: center;
  color: var(--base-text-color);
  text-decoration: none;
}
#header-v2.header--lower .header__support-nav--mobile .header__support-nav-item > .link:not(.link--globe) {
  position: relative;
}
#header-v2.header--lower .header__support-nav--mobile .header__support-nav-item > .link:not(.link--globe)::before, #header-v2.header--lower .header__support-nav--mobile .header__support-nav-item > .link:not(.link--globe)::after {
  box-sizing: border-box;
  transform-origin: center center;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
#header-v2.header--lower .header__support-nav--mobile .header__support-nav-item > .link:not(.link--globe)::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0.5lh;
  width: 0.5656854249rem;
  height: 0.5656854249rem;
  border-width: 0.2rem;
  border-style: solid solid none none;
  border-color: var(--dark-blue);
  translate: calc((0.4rem - 0.5656854249rem) / 2 * 1 - (0.8rem - 0.2rem) / 4 + 0px) -50%;
  rotate: 45deg;
}
#header-v2.header--lower .header__support-nav--mobile .header__support-nav-item > .link:not(.link--globe)::after {
  content: none;
}
#header-v2.header--lower .header__support-nav--mobile .header__support-nav-item > .link:not(.link--globe) {
  padding-left: calc(0.4rem + 0.8rem + 0px);
}
#header-v2.header--lower .header__support-nav--mobile .header__support-nav-item > .link:not(.link--globe)::before, #header-v2.header--lower .header__support-nav--mobile .header__support-nav-item > .link:not(.link--globe)::after {
  left: 0px;
}
#header-v2.header--lower .header__support-nav--mobile .header__support-nav-item > .link--globe {
  font-size: 1.2rem;
  line-height: 1.4;
}
#header-v2.header--lower .header__support-nav--mobile .header__support-nav-item > .search-input {
  display: flex;
  width: 100%;
  min-height: 5rem;
  align-items: center;
  padding-block: 1.6rem;
  padding-right: 1.2rem;
  border: 1px solid var(--solid-gray-200);
  background-color: var(--white);
  color: var(--solid-gray-400);
  font-size: 1.2rem;
  line-height: 1.5;
  text-decoration: none;
}
#header-v2.header--lower .header__support-nav--mobile .header__support-nav-item > .search-input::before {
  left: 1.2rem;
}
#header-v2.header--lower .header__support-nav--mobile .header__support-nav-item > .search-input .search-input__field {
  width: 100%;
  margin: 0;
  border: 0;
  border-radius: 0;
  padding: 0 0 0 0.8rem;
  background: transparent;
  appearance: none;
  -webkit-appearance: none;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}
#header-v2.header--lower .header__support-nav--mobile .header__support-nav-item > .search-input .search-input__field::placeholder {
  color: inherit;
  opacity: 1;
}
#header-v2.header--lower .header__support-nav--mobile .header__support-nav-item > .search-input .search-input__field:focus {
  outline: 0;
}
#header-v2.header--lower .header__support-nav--mobile .header__support-nav-item:last-child {
  border-bottom: 0;
}
#header-v2.header--lower.is-menu-open .header__nav-panel {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
  transition-delay: 0s;
}
#header-v2.header--lower.is-menu-open .header__menu-toggle-icon {
  background-color: transparent;
}
#header-v2.header--lower.is-menu-open .header__menu-toggle-icon-wrapper::before {
  --menu-toggle-line-shift: 0px;
  --menu-toggle-line-rotate: 45deg;
}
#header-v2.header--lower.is-menu-open .header__menu-toggle-icon-wrapper::after {
  --menu-toggle-line-shift: 0px;
  --menu-toggle-line-rotate: -45deg;
}
#header-v2.header--lower .header__mobile-submenu-node.is-open > .header__mobile-submenu {
  grid-template-rows: minmax(0, 1fr);
  opacity: 1;
  pointer-events: auto;
}
#header-v2.header--lower .header__mobile-submenu-node.is-open > .header__mobile-nav-head .header__mobile-submenu-toggle::after,
#header-v2.header--lower .header__mobile-submenu-node.is-open > .header__mobile-submenu-head .header__mobile-submenu-toggle::after {
  opacity: 0;
}
#header-v2.header--lower .header__desktop-nav {
  display: none;
}
@media screen and (min-width: 768px) {
  #header-v2.header--lower .header__desktop-nav {
    display: block;
    width: 100%;
    max-width: 30.3571428571em;
    padding: 0 var(--space-16);
  }
}
@media screen and (min-width: 768px) {
  #header-v2.header--lower .header__desktop-nav-list {
    margin-top: var(--space-24);
    display: flex;
    justify-content: space-between;
    width: 100%;
    list-style: none;
    padding: 0;
    font-size: var(--font-size-14);
    font-weight: 700;
    letter-spacing: 0.08em;
    transition: margin-top 0.4s ease;
  }
  #header-v2.header--lower .header__desktop-nav-item {
    position: static;
    border-bottom: 0;
    background-color: transparent;
    cursor: pointer;
  }
  #header-v2.header--lower .header__desktop-nav-head {
    position: relative;
    display: block;
    padding: 0 0.8rem;
    background-color: transparent;
  }
  @supports (anchor-scope: --desktop-nav-link) {
    #header-v2.header--lower .header__desktop-nav-head {
      anchor-scope: --desktop-nav-link;
    }
  }
  #header-v2.header--lower .header__desktop-nav-link {
    anchor-name: --desktop-nav-link;
    display: block;
    padding: 1rem 0;
    white-space: nowrap;
    font-size: inherit;
    text-decoration: none;
    transition: color 0.2s ease;
    cursor: pointer;
  }
  #header-v2.header--lower .header__desktop-nav-underline {
    position: absolute;
    right: 0;
    bottom: var(--desktop-nav-underline-offset);
    left: 0;
    border-bottom: 4px solid var(--dark-blue);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
  }
  @supports (anchor-name: --header-lower) and (top: anchor(--header-lower bottom)) {
    #header-v2.header--lower .header__desktop-nav-underline {
      position: fixed;
      position-anchor: --header-lower;
      bottom: auto;
      top: anchor(--header-lower bottom);
      left: anchor(--desktop-nav-link left);
      right: anchor(--desktop-nav-link right);
      transform: translateY(-100%);
    }
  }
  #header-v2.header--lower .header__desktop-nav-item:hover > .header__desktop-nav-head > .header__desktop-nav-underline,
  #header-v2.header--lower .header__desktop-nav-item:focus-within > .header__desktop-nav-head > .header__desktop-nav-underline,
  #header-v2.header--lower .header__desktop-nav-item.has-children.is-open > .header__desktop-nav-head > .header__desktop-nav-underline {
    opacity: 1;
  }
  #header-v2.header--lower .header__desktop-submenu {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    display: grid;
    grid-template-rows: auto 1fr;
    width: 100%;
    padding: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.4s ease 0.1s, visibility 0s linear 0.4s;
    z-index: 3;
    border-top: 1px solid var(--blue-100);
    border-bottom: 1px solid var(--blue-100);
    background-color: var(--white);
    box-shadow: 0 24px 56px color-mix(in srgb, var(--dark-blue) 14%, transparent);
  }
  #header-v2.header--lower .header__desktop-submenu-title-row {
    background-color: var(--light-gray);
  }
  #header-v2.header--lower .header__desktop-submenu-title-inner {
    margin-inline: auto;
    max-width: calc(1200px + var(--space-32) * 2);
    width: 100%;
    padding-inline: var(--space-24);
    min-height: 8.2rem;
    display: flex;
    align-items: center;
    padding: 0;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #header-v2.header--lower .header__desktop-submenu-title-inner {
    padding-inline: var(--space-32);
  }
}
@media screen and (min-width: 768px) {
  #header-v2.header--lower .header__desktop-submenu-title {
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0.08em;
    color: var(--base-text-color);
  }
  #header-v2.header--lower .header__desktop-submenu-inner {
    margin-inline: auto;
    max-width: calc(1200px + var(--space-32) * 2);
    width: 100%;
    padding-inline: var(--space-24);
    display: flex;
    gap: 2.4rem;
    align-items: flex-start;
    padding-top: 0;
    padding-bottom: 2.2rem;
    overflow-x: auto;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #header-v2.header--lower .header__desktop-submenu-inner {
    padding-inline: var(--space-32);
  }
}
@media screen and (min-width: 768px) {
  #header-v2.header--lower .header__desktop-submenu-inner:has(> .header__desktop-submenu-column-group:nth-child(2)) {
    flex-wrap: wrap;
    overflow-x: visible;
  }
  #header-v2.header--lower .header__desktop-submenu-inner:has(> .header__desktop-submenu-column-group:nth-child(2)) > .header__desktop-submenu-column-group {
    flex: 0 0 calc((100% - 2.4rem * 3) / 4);
    min-width: 0;
  }
  #header-v2.header--lower .header__desktop-submenu-column-group {
    display: flex;
    flex-direction: column;
    flex: 0 0 28.2rem;
    min-width: 28.2rem;
  }
  #header-v2.header--lower .header__desktop-submenu-column-group > .header__desktop-submenu-group + .header__desktop-submenu-group {
    margin-top: 3.2rem;
  }
  #header-v2.header--lower .header__desktop-submenu-group {
    width: 100%;
  }
  #header-v2.header--lower .header__desktop-submenu-column {
    margin: 0;
    padding: 0;
    list-style: none;
    border: 0;
    background-color: transparent;
  }
  #header-v2.header--lower .header__desktop-submenu-item {
    border-block: 1px solid transparent;
    transition: border-color 0.2s ease;
  }
  #header-v2.header--lower .header__desktop-submenu-item:first-of-type {
    border-top: 1px dotted var(--solid-gray-400);
  }
  #header-v2.header--lower .header__desktop-submenu-item:hover {
    border-block: 1px solid var(--dark-blue);
  }
  #header-v2.header--lower .header__desktop-submenu-item:hover + .header__desktop-submenu-item {
    border-top: 1px solid var(--dark-blue);
  }
  #header-v2.header--lower .header__desktop-submenu-item + .header__desktop-submenu-item {
    border-top: 1px dotted var(--solid-gray-400);
  }
  #header-v2.header--lower .header__desktop-submenu-item + .header__desktop-submenu-item:hover {
    border-block: 1px solid var(--dark-blue);
  }
  #header-v2.header--lower .header__desktop-submenu-item + .header__desktop-submenu-item:hover + .header__desktop-submenu-item {
    border-top: 1px solid var(--dark-blue);
  }
  #header-v2.header--lower .header__desktop-submenu-column > .header__desktop-submenu-item:last-child {
    border-bottom: 1px dotted var(--solid-gray-400);
  }
  #header-v2.header--lower .header__desktop-submenu-column > .header__desktop-submenu-item:last-child:hover {
    border-block: 1px solid var(--dark-blue);
  }
  #header-v2.header--lower .header__desktop-submenu-link--primary:hover + .header__desktop-submenu-column .header__desktop-submenu-item:first-of-type {
    border-top: 1px solid var(--dark-blue);
  }
  #header-v2.header--lower .header__desktop-submenu-link {
    display: flex;
    align-items: center;
    min-height: 5.3rem;
    width: 100%;
    padding: 1.2rem 0.8rem;
    font-size: var(--font-size-14);
    font-weight: 400;
    line-height: 1.4;
    color: var(--base-text-color);
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
    cursor: pointer;
  }
  #header-v2.header--lower .header__desktop-submenu-link > span {
    display: block;
    width: 100%;
    position: relative;
  }
  #header-v2.header--lower .header__desktop-submenu-link > span::before, #header-v2.header--lower .header__desktop-submenu-link > span::after {
    box-sizing: border-box;
    transform-origin: center center;
    transition: background-color 0.2s ease, border-color 0.2s ease;
  }
  #header-v2.header--lower .header__desktop-submenu-link > span::before {
    content: "";
    position: absolute;
    z-index: 2;
    top: 0.5lh;
    width: 0.8485281374rem;
    height: 0.8485281374rem;
    border-width: 0.2rem;
    border-style: solid solid none none;
    border-color: var(--dark-blue);
    translate: calc((2rem - 0.8485281374rem) / 2 * -1 - (1.2rem - 0.2rem) / 4 + 0px) -50%;
    rotate: 45deg;
  }
  #header-v2.header--lower .header__desktop-submenu-link > span::after {
    content: none;
  }
  #header-v2.header--lower .header__desktop-submenu-link > span {
    padding-right: calc(2rem + 1rem + 0px);
  }
  #header-v2.header--lower .header__desktop-submenu-link > span::before, #header-v2.header--lower .header__desktop-submenu-link > span::after {
    right: 0px;
  }
  #header-v2.header--lower .header__desktop-submenu-link:hover, #header-v2.header--lower .header__desktop-submenu-link:focus-visible {
    background-color: var(--dark-blue);
    color: var(--white);
    text-decoration: none;
  }
  #header-v2.header--lower .header__desktop-submenu-link:hover > span, #header-v2.header--lower .header__desktop-submenu-link:focus-visible > span {
    position: relative;
  }
  #header-v2.header--lower .header__desktop-submenu-link:hover > span::before, #header-v2.header--lower .header__desktop-submenu-link:hover > span::after, #header-v2.header--lower .header__desktop-submenu-link:focus-visible > span::before, #header-v2.header--lower .header__desktop-submenu-link:focus-visible > span::after {
    box-sizing: border-box;
    transform-origin: center center;
    transition: background-color 0.2s ease, border-color 0.2s ease;
  }
  #header-v2.header--lower .header__desktop-submenu-link:hover > span::before, #header-v2.header--lower .header__desktop-submenu-link:focus-visible > span::before {
    content: "";
    position: absolute;
    z-index: 2;
    top: 0.5lh;
    width: 0.8485281374rem;
    height: 0.8485281374rem;
    border-width: 0.2rem;
    border-style: solid solid none none;
    border-color: var(--white);
    translate: calc((2rem - 0.8485281374rem) / 2 * -1 - (1.2rem - 0.2rem) / 4 + 0px) -50%;
    rotate: 45deg;
  }
  #header-v2.header--lower .header__desktop-submenu-link:hover > span::after, #header-v2.header--lower .header__desktop-submenu-link:focus-visible > span::after {
    content: none;
  }
  #header-v2.header--lower .header__desktop-submenu-link:hover > span, #header-v2.header--lower .header__desktop-submenu-link:focus-visible > span {
    padding-right: calc(2rem + 1rem + 0px);
  }
  #header-v2.header--lower .header__desktop-submenu-link:hover > span::before, #header-v2.header--lower .header__desktop-submenu-link:hover > span::after, #header-v2.header--lower .header__desktop-submenu-link:focus-visible > span::before, #header-v2.header--lower .header__desktop-submenu-link:focus-visible > span::after {
    right: 0px;
  }
  #header-v2.header--lower .header__desktop-submenu-link--primary {
    min-height: 6.9rem;
    padding: 1.4rem 0.8rem;
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--dark-blue);
  }
  #header-v2.header--lower .header__desktop-submenu-link--primary > span {
    position: relative;
  }
  #header-v2.header--lower .header__desktop-submenu-link--primary > span::before, #header-v2.header--lower .header__desktop-submenu-link--primary > span::after {
    box-sizing: border-box;
    transform-origin: center center;
    transition: background-color 0.2s ease, border-color 0.2s ease;
  }
  #header-v2.header--lower .header__desktop-submenu-link--primary > span::before {
    content: "";
    position: absolute;
    z-index: 2;
    top: 0.5lh;
    width: 0.5656854249rem;
    height: 0.5656854249rem;
    border-width: 0.2rem;
    border-style: solid solid none none;
    border-color: var(--white);
    translate: calc((2rem - 0.5656854249rem) / 2 * -1 - (0.8rem - 0.2rem) / 4 + 0px) -50%;
    rotate: 45deg;
  }
  #header-v2.header--lower .header__desktop-submenu-link--primary > span::after {
    content: none;
  }
  #header-v2.header--lower .header__desktop-submenu-link--primary > span {
    padding-right: calc(2rem + 1rem + 0px);
  }
  #header-v2.header--lower .header__desktop-submenu-link--primary > span::before, #header-v2.header--lower .header__desktop-submenu-link--primary > span::after {
    right: 0px;
  }
  #header-v2.header--lower .header__desktop-submenu-link--primary > span::after {
    content: "";
    position: absolute;
    z-index: 1;
    top: 0.5lh;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background-color: var(--dark-blue);
    translate: 0 -50%;
  }
  #header-v2.header--lower .header__desktop-submenu-link--primary:hover > span::before, #header-v2.header--lower .header__desktop-submenu-link--primary:focus-visible > span::before {
    border-color: var(--dark-blue);
  }
  #header-v2.header--lower .header__desktop-submenu-link--primary:hover > span::after, #header-v2.header--lower .header__desktop-submenu-link--primary:focus-visible > span::after {
    content: "";
    background-color: var(--white);
  }
  #header-v2.header--lower .header__desktop-nav-item.has-children.is-open .header__desktop-submenu,
  #header-v2.header--lower .header__desktop-nav-item.has-children:focus-within .header__desktop-submenu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: opacity 0.2s ease, visibility 0s linear 0s;
  }
}

body:has(#header-v2) {
  overflow-anchor: none;
}

body.is-header-menu-open {
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  #header-v2.header--lower.is-shrunk {
    --desktop-nav-underline-offset: calc(-2.3rem - .5px);
    border-bottom: 1px solid var(--light-gray);
    padding-bottom: 0;
  }
  #header-v2.header--lower.is-shrunk .header__logo {
    margin-top: 1.4rem;
  }
  #header-v2.header--lower.is-shrunk .header__logo img {
    width: 14.3rem;
  }
  #header-v2.header--lower.is-shrunk .header__desktop-nav-list {
    margin-top: 0;
  }
  #header-v2.header--lower.is-shrunk .header__actions {
    margin-top: 0;
  }
}

[id$=v2] .page-header {
  background-color: var(--dark-blue);
  color: var(--white);
  padding-block: var(--space-24);
}
@media screen and (min-width: 768px) {
  [id$=v2] .page-header {
    padding-block: var(--space-32);
  }
}
[id$=v2] .page-header__inner {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
@media screen and (min-width: 768px) {
  [id$=v2] .page-header__inner {
    flex-direction: row;
  }
}
[id$=v2] .page-header__panel {
  background-color: var(--dark-blue);
  display: flex;
  align-items: center;
  flex: 0 0 calc(max(0px, (100vw - 1200px - var(--space-32) * 2) / 2) + var(--space-32) + 29.5rem + 7.3rem);
  padding-left: calc(max(0px, (100vw - 1200px - var(--space-32) * 2) / 2) + var(--space-32));
  padding-right: 7.3rem;
  padding-block: var(--space-32);
}
@media screen and (max-width: 767px) {
  [id$=v2] .page-header__panel {
    flex-basis: auto;
    height: 13.6rem;
    order: 2;
    padding-inline: var(--space-24);
    padding-block: var(--space-64);
  }
}
[id$=v2] .page-header__heading {
  display: grid;
  gap: var(--space-8);
  width: 100%;
  max-width: 29.5rem;
  line-height: 1.4;
}
[id$=v2] .page-header__eyebrow {
  font-family: var(--font-family-en);
  font-style: normal;
  font-weight: 500;
  font-size: var(--font-size-18);
  line-height: 1.4;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--white);
}
[id$=v2] .page-header__title {
  font-family: var(--font-family-ja);
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 500;
  min-width: 0;
  line-height: 1.4;
  font-size: var(--font-size-28);
  letter-spacing: 0.04em;
  color: var(--blue-100);
}
@media screen and (min-width: 768px) {
  [id$=v2] .page-header__title {
    font-size: var(--font-size-40);
  }
}
[id$=v2] .page-header--with-image {
  padding-block: 0;
  background-color: var(--white);
  color: var(--solid-gray-800);
}
@media screen and (min-width: 768px) {
  [id$=v2] .page-header--with-image .page-header__inner {
    height: 30rem;
  }
}
[id$=v2] .page-header--with-image .page-header__media {
  position: relative;
  order: 1;
}
@media screen and (min-width: 768px) {
  [id$=v2] .page-header--with-image .page-header__media {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 300px;
  }
}
[id$=v2] .page-header--with-image .page-header__image,
[id$=v2] .page-header--with-image .page-header__media .picture,
[id$=v2] .page-header--with-image .page-header__media .picture__image {
  margin: 0 auto;
  display: block;
  width: 100%;
  height: 100%;
}
[id$=v2] .page-header--with-image .page-header__media .picture__image {
  object-fit: cover;
  object-position: center;
}
[id$=v2] .page-header--without-image .page-header__panel {
  flex: 1 1 auto;
}
[id$=v2] .page-header--without-image .page-header__heading {
  max-width: none;
}

#v2 .breadcrumbs {
  width: 100%;
  min-height: 40px;
  display: flex;
  align-items: center;
  background-color: #f6f6f6;
  padding-block: 11px;
}
@media screen and (min-width: 768px) {
  #v2 .breadcrumbs {
    min-height: 42px;
    padding-block: 13px;
  }
}
#v2 .breadcrumbs .inner {
  margin-inline: auto;
  max-width: calc(1200px + var(--space-32) * 2);
  width: 100%;
  padding-inline: var(--space-24);
}
@media screen and (min-width: 768px) {
  #v2 .breadcrumbs .inner {
    padding-inline: var(--space-32);
  }
}
#v2 .breadcrumbs .inner {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 8px;
  row-gap: 10px;
}
#v2 .breadcrumbs .inner > a,
#v2 .breadcrumbs .inner > strong,
#v2 .breadcrumbs .inner > span:not(.breadcrumbs__separator) {
  font-family: var(--font-family-ja);
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
  color: #333;
  font-size: 12px;
  letter-spacing: 0.04em;
  line-height: 1.5;
  white-space: nowrap;
}
#v2 .breadcrumbs .inner > a {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}
#v2 .breadcrumbs .inner > a:hover {
  color: var(--dark-blue);
}
#v2 .breadcrumbs .inner > strong {
  font-weight: 400;
  text-decoration: none;
}
#v2 .breadcrumbs__separator {
  width: 6px;
  height: 10px;
  flex: 0 0 auto;
  fill: none;
  stroke: #999;
  stroke-width: 1px;
  stroke-linecap: square;
  stroke-linejoin: miter;
  overflow: visible;
}

#footer-v2.footer {
  position: relative;
  margin: 0 auto;
  display: block;
  border-top: 4px solid var(--dark-blue);
  color: var(--base-text-color);
  letter-spacing: 0.01em;
  font-family: var(--font-family-ja);
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
}
#footer-v2.footer a {
  transition: all 0.2s ease-in-out;
}
#footer-v2.footer .footer__inner {
  margin: 0 auto;
}
#footer-v2.footer .footer__external-links {
  width: 100%;
  padding-block: var(--space-48);
  margin-inline: auto;
  max-width: calc(1000px + var(--space-32) * 2);
  width: 100%;
  padding-inline: var(--space-24);
}
@media screen and (min-width: 768px) {
  #footer-v2.footer .footer__external-links {
    padding-inline: var(--space-32);
  }
}
#footer-v2.footer .footer__external-links-list {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-between;
  align-items: stretch;
  row-gap: var(--space-24);
  column-gap: normal;
  list-style: none;
  padding: 0;
  margin: 0;
}
#footer-v2.footer .footer__external-links-item {
  width: calc((100% - var(--space-24) * (2 - 1)) / 2);
}
@media screen and (min-width: 768px) {
  #footer-v2.footer .footer__external-links-item {
    width: calc((100% - var(--space-24) * (4 - 1)) / 4);
  }
}
#footer-v2.footer .footer__external-links-item a {
  display: block;
  width: 100%;
  height: 100%;
}
#footer-v2.footer .footer__external-links-item a:hover {
  opacity: 0.5;
}
#footer-v2.footer .footer__info {
  border-block: 1px solid var(--solid-gray-200);
  padding-block: var(--space-48);
  line-height: 2;
  font-size: var(--font-size-12);
}
#footer-v2.footer .footer__info-inner {
  margin-inline: auto;
  max-width: calc(1000px + var(--space-32) * 2);
  width: 100%;
  padding-inline: var(--space-24);
}
@media screen and (min-width: 768px) {
  #footer-v2.footer .footer__info-inner {
    padding-inline: var(--space-32);
  }
}
#footer-v2.footer .footer__info-heading {
  font-weight: 700;
  font-size: var(--font-size-14);
  line-height: 1;
}
#footer-v2.footer .footer__registrations-numbers {
  margin-top: var(--space-8);
}
#footer-v2.footer .footer__registrations-item,
#footer-v2.footer .footer__association-memberships,
#footer-v2.footer .footer__affiliated-exchanges {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  #footer-v2.footer .footer__registrations-item,
  #footer-v2.footer .footer__association-memberships,
  #footer-v2.footer .footer__affiliated-exchanges {
    display: block;
  }
}
#footer-v2.footer .footer__registrations-item dt,
#footer-v2.footer .footer__association-memberships dt,
#footer-v2.footer .footer__affiliated-exchanges dt {
  display: inline;
  font-weight: 700;
  white-space: nowrap;
}
#footer-v2.footer .footer__registrations-item dt::after,
#footer-v2.footer .footer__association-memberships dt::after,
#footer-v2.footer .footer__affiliated-exchanges dt::after {
  content: "/";
  font-weight: 400;
  margin-inline: 0.25em;
}
#footer-v2.footer .footer__registrations-item dd,
#footer-v2.footer .footer__association-memberships dd,
#footer-v2.footer .footer__affiliated-exchanges dd {
  margin-right: 1em;
  display: inline;
  font-weight: 400;
}
#footer-v2.footer .footer__registrations-item dd:last-of-type,
#footer-v2.footer .footer__association-memberships dd:last-of-type,
#footer-v2.footer .footer__affiliated-exchanges dd:last-of-type {
  margin-right: 0;
}
#footer-v2.footer .footer__registrations-item a,
#footer-v2.footer .footer__association-memberships a,
#footer-v2.footer .footer__affiliated-exchanges a {
  text-decoration: underline;
}
#footer-v2.footer .footer__registrations-item a:hover,
#footer-v2.footer .footer__association-memberships a:hover,
#footer-v2.footer .footer__affiliated-exchanges a:hover {
  color: var(--dark-blue);
}
#footer-v2.footer .footer__leaflet {
  margin-top: var(--space-24);
}
#footer-v2.footer .footer__leaflet-heading {
  margin-top: var(--space-8);
  line-height: 2;
  font-weight: 700;
}
#footer-v2.footer .footer__leaflet-description {
  font-weight: 400;
}
#footer-v2.footer .footer__leaflet-item {
  margin-top: var(--space-4);
}
#footer-v2.footer .footer__nav {
  padding-top: var(--space-48);
  padding-bottom: var(--space-48);
  background-color: var(--light-gray);
  line-height: 2.2;
  font-size: var(--font-size-14);
}
#footer-v2.footer .footer__nav-inner {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  gap: var(--space-24);
  margin-inline: auto;
  max-width: calc(1000px + var(--space-32) * 2);
  width: 100%;
  padding-inline: var(--space-24);
}
@media screen and (min-width: 768px) {
  #footer-v2.footer .footer__nav-inner {
    padding-inline: var(--space-32);
  }
}
#footer-v2.footer .footer__nav-group {
  display: block;
  width: fit-content;
  min-width: 120px;
}
#footer-v2.footer .footer__nav-group a {
  display: block;
  width: 100%;
}
#footer-v2.footer .footer__nav-link {
  line-height: 2.2;
  font-weight: 500;
  font-size: var(--font-size-14);
}
#footer-v2.footer .footer__nav-link:hover {
  text-decoration: underline;
}
#footer-v2.footer .footer__nav-link--title-page {
  margin-bottom: var(--space-16);
  line-height: 3;
  font-weight: 700;
  font-size: var(--font-size-16);
  color: var(--dark-blue);
}
#footer-v2.footer .footer__nav-sns {
  margin-top: var(--space-48);
  margin-inline: auto;
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 16px;
  margin-inline: auto;
  max-width: calc(1000px + var(--space-32) * 2);
  width: 100%;
  padding-inline: var(--space-24);
}
@media screen and (min-width: 768px) {
  #footer-v2.footer .footer__nav-sns {
    padding-inline: var(--space-32);
  }
}
#footer-v2.footer .footer__nav-sns a:hover {
  opacity: 0.5;
}
#footer-v2.footer .footer__bottom-line {
  display: block;
  background-color: var(--dark-blue);
  color: var(--white);
  font-size: var(--font-size-12);
}
#footer-v2.footer .footer__bottom-line-inner {
  display: block;
  margin-inline: auto;
  max-width: calc(1000px + var(--space-32) * 2);
  width: 100%;
  padding-inline: var(--space-24);
}
@media screen and (min-width: 768px) {
  #footer-v2.footer .footer__bottom-line-inner {
    padding-inline: var(--space-32);
  }
}
#footer-v2.footer .footer__bottom-line-inner {
  padding-block: var(--space-32);
}
#footer-v2.footer .footer__bottom-links {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
  width: 100%;
  line-height: 1.6;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  #footer-v2.footer .footer__bottom-links {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0;
  }
}
@media screen and (max-width: 767px) {
  #footer-v2.footer .footer__bottom-link-item a {
    display: block;
    position: relative;
  }
  #footer-v2.footer .footer__bottom-link-item a::before, #footer-v2.footer .footer__bottom-link-item a::after {
    box-sizing: border-box;
    transform-origin: center center;
    transition: background-color 0.2s ease, border-color 0.2s ease;
  }
  #footer-v2.footer .footer__bottom-link-item a::before {
    content: "";
    position: absolute;
    z-index: 2;
    top: 0.5lh;
    width: 8.4852813742px;
    height: 8.4852813742px;
    border-width: 2px;
    border-style: solid solid none none;
    border-color: currentColor;
    translate: calc((1em - 8.4852813742px) / 2 * 1 - (12px - 2px) / 4 + 0px) -50%;
    rotate: 45deg;
  }
  #footer-v2.footer .footer__bottom-link-item a::after {
    content: none;
  }
  #footer-v2.footer .footer__bottom-link-item a {
    padding-left: calc(1em + var(--space-8) + 0px);
  }
  #footer-v2.footer .footer__bottom-link-item a::before, #footer-v2.footer .footer__bottom-link-item a::after {
    left: 0px;
  }
}
@media screen and (min-width: 768px) {
  #footer-v2.footer .footer__bottom-link-item a {
    position: relative;
    display: block;
    padding-inline: 1.2em;
  }
  #footer-v2.footer .footer__bottom-link-item a:hover {
    text-decoration: underline;
  }
  #footer-v2.footer .footer__bottom-link-item a::after {
    content: "|";
    position: absolute;
    left: 0;
    top: 50%;
    translate: 0 -50%;
    display: inline-block;
    pointer-events: none;
    cursor: default;
  }
  #footer-v2.footer .footer__bottom-link-item:first-child a {
    padding-left: 0;
  }
  #footer-v2.footer .footer__bottom-link-item:first-child a::after {
    content: none;
  }
  #footer-v2.footer .footer__bottom-link-item:last-child a {
    padding-right: 0;
  }
}
#footer-v2.footer .footer__copyright {
  margin-top: var(--space-32);
  width: 100%;
  line-height: 1;
  text-align: left;
  font-size: var(--font-size-14);
}

[id$=v2] .scroll-to-top-wrapper {
  width: 100%;
}
[id$=v2] .scroll-to-top {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 4rem;
  background-color: var(--dark-blue);
  color: var(--white);
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
  cursor: pointer;
}
[id$=v2] .scroll-to-top.scroll-to-top--hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
[id$=v2] .scroll-to-top svg {
  display: none;
  width: 1.2rem;
  height: 1.2rem;
  fill: var(--white);
}
[id$=v2] .scroll-to-top {
  position: relative;
}
[id$=v2] .scroll-to-top::before {
  content: "";
  box-sizing: border-box;
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  width: 0.8485281374rem;
  height: 0.8485281374rem;
  border-width: 2px;
  border-style: solid solid none none;
  border-color: var(--white);
  transform-origin: center center;
  translate: -50% -50%;
  rotate: -45deg;
}
@media screen and (min-width: 768px) {
  [id$=v2] .scroll-to-top-wrapper {
    position: fixed;
    right: 10px;
    bottom: 10px;
    z-index: 3;
    width: 4rem;
    height: 4rem;
    pointer-events: none;
  }
  [id$=v2] .scroll-to-top {
    width: 100%;
    height: 100%;
    border-top: 0;
    border-radius: 50%;
    border: solid 1px var(--white);
    background-color: var(--dark-blue);
    color: var(--white);
    opacity: 0.7;
    pointer-events: auto;
  }
  [id$=v2] .scroll-to-top:hover {
    opacity: 1;
  }
  [id$=v2] .scroll-to-top svg {
    display: block;
  }
}

[id$=v2] .section {
  padding-block: var(--space-64);
  margin-inline: auto;
  max-width: calc(1200px + var(--space-32) * 2);
  width: 100%;
  padding-inline: var(--space-24);
}
@media screen and (min-width: 768px) {
  [id$=v2] .section {
    padding-inline: var(--space-32);
  }
}
@media screen and (min-width: 768px) {
  [id$=v2] .section {
    padding-block: var(--space-96);
  }
}
[id$=v2] .section--abrupt {
  padding-block: 0;
}
@media screen and (min-width: 768px) {
  [id$=v2] .section--abrupt {
    padding-block: 0;
  }
}
[id$=v2] .section__inner {
  position: relative;
  margin: 0 auto;
}
[id$=v2] {
  /*
   * 同種のセクションが複数続く場合、前のセクションのpadding-bottomを0にする。
   * なお、色付きの背景がある都合上、セクション間の余白をmarginで持たせることはできない。
   */
}
[id$=v2] .section:has(+ .section:not(.section--abrupt)) {
  padding-bottom: 0;
}
@media screen and (min-width: 768px) {
  [id$=v2] .section:has(+ .section:not(.section--abrupt)) {
    padding-bottom: 0;
  }
}

[id$=v2] .matrix,
[id$=v2] .matrix.u-grid-cols-1-2 {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  column-gap: 18px;
  row-gap: var(--space-32);
  align-items: stretch;
  align-content: stretch;
}
@media screen and (min-width: 768px) {
  [id$=v2] .matrix,
  [id$=v2] .matrix.u-grid-cols-1-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--space-48);
    row-gap: var(--space-24);
  }
}
[id$=v2] .matrix > * {
  width: 100%;
  min-width: 0;
}
[id$=v2] .matrix.matrix--autofit {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min((1200px - var(--space-48) * 2) / 3, 100%), 1fr));
  gap: var(--space-48);
}
[id$=v2] .matrix.matrix--autofit > * {
  min-width: min((1200px - var(--space-48) * 2) / 3, 100%);
}

[id$=v2] .grid-card {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  color: inherit;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  border-radius: var(--rd-sm);
  overflow: hidden;
}
[id$=v2] .grid-card:hover {
  cursor: pointer;
}
[id$=v2] .grid-card:hover .grid-card__title {
  color: var(--dark-blue);
  text-decoration: underline;
}
[id$=v2] .grid-card:hover .grid-card__title::before {
  border-color: var(--white);
}
[id$=v2] .grid-card:hover .grid-card__title::after {
  background-color: var(--dark-blue);
}
[id$=v2] .grid-card--no-link, [id$=v2] .grid-card--no-link:hover {
  cursor: default;
}
[id$=v2] .grid-card--no-link .grid-card__title, [id$=v2] .grid-card--no-link:hover .grid-card__title {
  color: inherit;
  text-decoration: none;
}
[id$=v2] .grid-card__image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  object-fit: cover;
}
[id$=v2] .grid-card__placeholder {
  width: 100%;
  aspect-ratio: 16/9;
  background-color: var(--light-gray);
}
[id$=v2] .grid-card__inner {
  padding-top: var(--space-8);
  padding-bottom: var(--space-16);
  background-color: var(--white);
  flex: 1;
}
@media screen and (min-width: 768px) {
  [id$=v2] .grid-card__inner {
    padding-block: var(--space-24);
  }
}
[id$=v2] .grid-card__title {
  position: relative;
  margin-bottom: 0;
  font-size: var(--font-size-16);
  line-height: 1.6;
  font-family: var(--font-family-ja);
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 700;
}
[id$=v2] .grid-card:not(.grid-card--no-link) :where(.grid-card__title) {
  position: relative;
}
[id$=v2] .grid-card:not(.grid-card--no-link) :where(.grid-card__title)::before, [id$=v2] .grid-card:not(.grid-card--no-link) :where(.grid-card__title)::after {
  box-sizing: border-box;
  transform-origin: center center;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
[id$=v2] .grid-card:not(.grid-card--no-link) :where(.grid-card__title)::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0.5lh;
  width: 0.3535533906em;
  height: 0.3535533906em;
  border-width: 1.5px;
  border-style: solid solid none none;
  border-color: var(--dark-blue);
  translate: calc((1.5em - 0.3535533906em) / 2 * 1 - (0.5em - 1.5px) / 4 + 0px) -50%;
  rotate: 45deg;
}
[id$=v2] .grid-card:not(.grid-card--no-link) :where(.grid-card__title)::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0.5lh;
  width: 1.5em;
  height: 1.5em;
  border-radius: 50%;
  border: 1px solid var(--dark-blue);
  translate: 0 -50%;
}
[id$=v2] .grid-card:not(.grid-card--no-link) :where(.grid-card__title) {
  padding-left: calc(1.5em + 12px + 0px);
}
[id$=v2] .grid-card:not(.grid-card--no-link) :where(.grid-card__title)::before, [id$=v2] .grid-card:not(.grid-card--no-link) :where(.grid-card__title)::after {
  left: 0px;
}
[id$=v2] .grid-card__summary {
  margin-top: var(--space-8);
  margin-bottom: 0;
  font-size: var(--font-size-14);
  line-height: 1.8;
  letter-spacing: 0.0714285714em;
  color: var(--solid-gray-800);
  font-weight: 400;
}

[id$=v2] .media-block + .media-block {
  margin-top: var(--space-48);
}
@media screen and (min-width: 768px) {
  [id$=v2] .media-block + .media-block {
    margin-top: var(--space-64);
  }
}
[id$=v2] .media-block__media {
  margin-bottom: var(--space-24);
}
[id$=v2] .media-block__image {
  width: 100%;
  height: auto;
}
[id$=v2] .media-block__placeholder {
  width: 100%;
  aspect-ratio: 4/3;
  background-color: var(--light-gray);
  border-radius: 0.4rem;
}
[id$=v2] .media-block__caption {
  margin-top: var(--space-24);
  color: var(--solid-gray-800);
  font-size: var(--font-size-12);
  line-height: 1.6;
  letter-spacing: 0.0833333333em;
}
@media screen and (min-width: 768px) {
  [id$=v2] .media-block__caption {
    margin-top: var(--space-16);
  }
}
[id$=v2] .media-block__text {
  font-size: var(--font-size-16);
  line-height: 1.8;
  letter-spacing: 0.0625em;
  overflow-wrap: anywhere;
}
[id$=v2] .media-block__text p + p {
  margin-top: var(--space-16);
}
@media screen and (max-width: 767px) {
  [id$=v2] .media-block--reverse-sp .media-block__row {
    display: flex;
    flex-direction: column;
  }
  [id$=v2] .media-block--reverse-sp .media-block__media {
    order: 2;
    margin-top: var(--space-24);
    margin-bottom: 0;
  }
}
@media screen and (min-width: 768px) {
  [id$=v2] .media-block:not(.media-block--float) .media-block__row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
  }
  [id$=v2] .media-block:not(.media-block--float) .media-block__media {
    margin: 0;
    width: calc(50% - var(--space-24));
  }
  [id$=v2] .media-block:not(.media-block--float) .media-block__body {
    margin: 0;
    width: calc(50% - var(--space-24));
  }
  [id$=v2] .media-block--reverse-pc .media-block__media {
    order: 2;
  }
  [id$=v2] .media-block--float .media-block__row::after {
    content: "";
    display: table;
    clear: both;
  }
  [id$=v2] .media-block--float .media-block__media {
    float: left;
    width: calc(50% - var(--space-24));
    margin: 0 var(--space-48) var(--space-24) 0;
  }
  [id$=v2] .media-block--float.media-block--reverse-pc .media-block__media {
    float: right;
    margin: 0 0 var(--space-24) var(--space-48);
  }
}

[id$=v2] .search-input {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding-left: calc(var(--space-8) + 1.0833333333em);
}
[id$=v2] .search-input::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  display: inline-block;
  vertical-align: middle;
  width: 1.0833333333em;
  height: auto;
  aspect-ratio: 1/1;
  background-position: 50% 50%;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: image-set(url("../images/icon-search.svg") type('image/svg+xml'), url("../images/icon-search.avif") type('image/avif'), url("../images/icon-search.webp") type('image/webp'), url("../images/icon-search.png") type('image/png'));
}
[id$=v2] .search-input__field {
  width: 100%;
  min-width: 12rem;
  margin: 0;
  border: 0;
  border-radius: 0;
  padding: 0;
  background: transparent;
  appearance: none;
  -webkit-appearance: none;
  color: currentColor;
  font: inherit;
  line-height: inherit;
}
[id$=v2] .search-input__field::placeholder {
  color: currentColor;
  opacity: 1;
}
[id$=v2] .search-input__field:focus {
  outline: 0;
}

[id$=v2] .hero {
  position: relative;
  width: 100%;
  height: auto;
  border-bottom: 2px solid var(--light-gray);
}
[id$=v2] .hero.splide {
  border-bottom: none;
}
[id$=v2] .hero:not(.splide) {
  margin-bottom: var(--space-48);
  aspect-ratio: 390/470;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  [id$=v2] .hero:not(.splide) {
    aspect-ratio: initial;
    height: 58rem;
  }
}
[id$=v2] .hero:not(.splide) picture,
[id$=v2] .hero:not(.splide) img,
[id$=v2] .hero:not(.splide) video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
[id$=v2] .hero .splide__track {
  width: 100%;
  aspect-ratio: 390/470;
  border-bottom: 2px solid var(--light-gray);
}
[id$=v2] .hero .splide__list {
  display: flex;
  width: 100%;
  height: 100%;
  flex-direction: row;
  justify-content: stretch;
}
[id$=v2] .hero .hero__slide {
  height: auto;
}
[id$=v2] .hero .hero__slide-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}
[id$=v2] .hero .hero__slide-inner picture, [id$=v2] .hero .hero__slide-inner img, [id$=v2] .hero .hero__slide-inner video, [id$=v2] .hero .hero__slide-inner > a {
  margin: 0 auto;
  height: 100%;
  width: 100%;
  object-fit: cover;
}
[id$=v2] .hero .hero__pagination-wrapper {
  position: relative;
  display: flex;
  justify-content: center;
  gap: var(--space-24);
  align-items: center;
  align-content: center;
  padding-block: var(--space-24);
}
[id$=v2] .hero .hero__pagination {
  --hero-pagination-max-width: 24.8rem;
  --hero-pagination-item-width: 5rem;
  --hero-pagination-gap: 1.6rem;
  position: relative;
  display: flex;
  gap: var(--hero-pagination-gap);
  max-width: var(--hero-pagination-max-width);
  width: 100%;
  height: 4px;
  top: 0;
  bottom: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
[id$=v2] .hero .hero__pagination li {
  flex: 1;
  min-width: 0;
  height: 100%;
}
[id$=v2] .hero .hero__pagination:has(> li:last-child:nth-child(-n+4)) {
  width: auto;
}
[id$=v2] .hero .hero__pagination:has(> li:last-child:nth-child(-n+4)) li {
  flex: 0 0 var(--hero-pagination-item-width);
  width: var(--hero-pagination-item-width);
}
[id$=v2] .hero .splide__pagination__page {
  --progress: 0;
  position: relative;
  display: block;
  width: 100%;
  height: 4px;
  border-radius: 0;
  background-color: var(--solid-gray-200);
  overflow: hidden;
  opacity: 1;
}
[id$=v2] .hero .splide__pagination__page:hover {
  opacity: 0.7;
}
[id$=v2] .hero .splide__pagination__page::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--dark-blue);
  transform: scaleX(var(--progress));
  transform-origin: left center;
}
[id$=v2] .hero .splide__pagination__page.is-active {
  transform: scale(1);
}
[id$=v2] .hero .hero__play-toggle {
  border: none;
  width: 2.2rem;
  height: 2.2rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 22 22' fill='none'%3E%3Ccircle cx='11' cy='11' r='10.5' fill='white' stroke='%23999999'/%3E%3Cpath d='M16 11L8.5 15.3301L8.5 6.66987L16 11Z' fill='%23999999'/%3E%3C/svg%3E");
  cursor: pointer;
}
[id$=v2] .hero .hero__play-toggle[data-play=pause] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 22 22' fill='none'%3E%3Ccircle cx='11' cy='11' r='10.5' fill='white' stroke='%23999999'/%3E%3Crect x='7' y='6.24658' width='2' height='10' fill='%23999999'/%3E%3Crect x='13' y='6.24658' width='2' height='10' fill='%23999999'/%3E%3C/svg%3E");
}
@media screen and (min-width: 768px) {
  [id$=v2] .hero {
    aspect-ratio: initial;
    border-bottom: none;
  }
  [id$=v2] .hero .splide__track {
    border-bottom: none;
    aspect-ratio: initial;
  }
  [id$=v2] .hero .hero__slide {
    height: 58rem;
  }
  [id$=v2] .hero .hero__slide--contain .hero__slide-inner picture, [id$=v2] .hero .hero__slide--contain .hero__slide-inner img, [id$=v2] .hero .hero__slide--contain .hero__slide-inner video, [id$=v2] .hero .hero__slide--contain .hero__slide-inner > a {
    object-fit: contain;
  }
  [id$=v2] .hero .hero__slide picture,
  [id$=v2] .hero .hero__slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  [id$=v2] .hero .hero__slide video {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  [id$=v2] .hero .hero__pagination-wrapper {
    padding-block: var(--space-48);
  }
}

[id$=v2] .home-section {
  padding-block: var(--space-64);
  margin-inline: auto;
  max-width: calc(1200px + var(--space-32) * 2);
  width: 100%;
  padding-inline: var(--space-24);
}
@media screen and (min-width: 768px) {
  [id$=v2] .home-section {
    padding-inline: var(--space-32);
  }
}
@media screen and (min-width: 768px) {
  [id$=v2] .home-section {
    padding-block: var(--space-128);
  }
}
[id$=v2] .home-section--colored {
  background-color: var(--blue-100);
  max-width: none;
  width: 100%;
}
@media screen and (min-width: 768px) {
  [id$=v2] .home-section--colored {
    padding-block: var(--space-64);
  }
  [id$=v2] .home-section--colored .home-section__inner {
    margin-inline: auto;
    max-width: calc(1200px + var(--space-32) * 2);
    width: 100%;
    padding-inline: var(--space-24);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  [id$=v2] .home-section--colored .home-section__inner {
    padding-inline: var(--space-32);
  }
}
[id$=v2] .home-section--abrupt {
  padding-block: 0;
}
@media screen and (min-width: 768px) {
  [id$=v2] .home-section--abrupt {
    padding-block: 0;
  }
}
[id$=v2] .home-section__inner {
  position: relative;
  margin: 0 auto;
}
[id$=v2] .home-section__eyebrow {
  color: var(--pale-blue);
  text-align: center;
  font-size: var(--font-size-18);
  line-height: 1.4;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-family: var(--font-family-en);
  font-style: normal;
  font-weight: 500;
}
[id$=v2] .home-section__eyebrow + .home-section__heading {
  margin-top: var(--space-8);
}
[id$=v2] .home-section__heading {
  margin-bottom: var(--space-48);
  color: var(--dark-blue);
  text-align: center;
  font-size: var(--font-size-28);
  line-height: 1.4;
  letter-spacing: 0.04em;
  font-family: var(--font-family-en-ja);
  font-style: normal;
  font-weight: 500;
}
[id$=v2] .home-section__heading--light {
  color: var(--white);
}
@media screen and (min-width: 768px) {
  [id$=v2] .home-section__heading {
    margin-bottom: var(--space-64);
    font-size: var(--font-size-40);
  }
}
[id$=v2] .home-section--breakout {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: stretch;
  align-content: stretch;
  gap: var(--space-32);
  padding-top: var(--space-64);
  padding-bottom: 0;
  color: var(--white);
  overflow: hidden;
}
@media screen and (min-width: 1260px) {
  [id$=v2] .home-section--breakout {
    flex-direction: row;
    gap: calc(var(--column-gap-pc) + var(--column-width-pc));
    padding-block: var(--space-96);
    overflow: visible;
  }
  [id$=v2] .home-section--breakout .button {
    margin-left: 0;
  }
}
[id$=v2] .home-section--breakout::before {
  content: "";
  position: absolute;
  z-index: 1;
  bottom: 0;
  margin-bottom: 29.7435897436%;
  right: 0;
  display: block;
  width: 100vw;
  height: 100%;
  background-color: var(--dark-blue);
}
@media screen and (min-width: 1260px) {
  [id$=v2] .home-section--breakout::before {
    margin-bottom: 0;
    top: 0;
    right: calc((var(--column-gap-pc) + var(--column-width-pc)) * 2);
  }
}
[id$=v2] .home-section--breakout .home-section__inner {
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  [id$=v2] .home-section--breakout .home-section__inner {
    flex-basis: calc(4.6666666667% * 5 + 4% * (5 - 1));
  }
}
@media screen and (min-width: 768px) {
  [id$=v2] .home-section--breakout .home-section__eyebrow,
  [id$=v2] .home-section--breakout .home-section__heading {
    text-align: left;
  }
}
[id$=v2] .home-section--breakout .home-section__eyebrow {
  color: var(--white);
}
[id$=v2] .home-section--breakout .home-section__heading {
  color: var(--blue-100);
}
[id$=v2] .home-section--breakout .paragraph {
  margin-top: var(--space-32);
}
[id$=v2] .home-section--breakout .button, [id$=v2] .home-section--breakout .link {
  margin-top: var(--space-32);
}
[id$=v2] .home-section--breakout .home-section__breakout-layer {
  position: relative;
  z-index: 2;
  margin: 0 auto;
  width: 100%;
}
@media screen and (min-width: 768px) {
  [id$=v2] .home-section--breakout .home-section__breakout-layer {
    margin-left: auto;
    flex-basis: calc(4.6666666667% * 7 + 4% * (7 - 1));
  }
}
[id$=v2] .home-section--breakout .home-section__breakout-layer img {
  display: block;
  max-width: 682px;
  width: 100%;
  height: auto;
  border-radius: 4px;
  box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.06);
}
[id$=v2] {
  /*
   * 同種のセクションが複数続く場合、前のセクションのpadding-bottomを0にする。
   * なお、色付きの背景がある都合上、セクション間の余白をmarginで持たせることはできない。
   */
}
[id$=v2] .home-section:not(.home-section--colored):not(.home-section--breakout):has(+ .home-section:not(.home-section--colored):not(.home-section--breakout)),
[id$=v2] .home-section--colored:has(+ .home-section--colored) {
  padding-bottom: 0;
}

[id$=v2] .notice {
  font-size: var(--font-size-16);
  line-height: 1.6;
  letter-spacing: 0.01em;
}
[id$=v2] .notice__item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-8);
  padding: 0;
  background-color: var(--light-gray);
  border-radius: 0.4rem;
  font-size: var(--font-size-16);
  line-height: 1.6;
  letter-spacing: 0.01em;
}
@media screen and (min-width: 768px) {
  [id$=v2] .notice__item {
    flex-direction: row;
    align-items: center;
    gap: var(--space-8);
    border-radius: 0;
    font-size: var(--font-size-16);
  }
}
[id$=v2] .notice__link {
  display: inline;
  text-decoration: underline;
  font-weight: 400;
  font-style: normal;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: 8%;
  text-underline-offset: auto;
  text-underline-position: from-font;
  position: relative;
}
[id$=v2] .notice__link::before, [id$=v2] .notice__link::after {
  box-sizing: border-box;
  transform-origin: center center;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
[id$=v2] .notice__link::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0.5lh;
  width: 7.7781745931px;
  height: 7.7781745931px;
  border-width: 2px;
  border-style: solid solid none none;
  border-color: currentColor;
  translate: calc((1em - 7.7781745931px) / 2 * 1 - (11px - 2px) / 4 + 0px) -50%;
  rotate: 45deg;
}
[id$=v2] .notice__link::after {
  content: none;
}
[id$=v2] .notice__link {
  padding-left: calc(1em + var(--space-8) + 0px);
}
[id$=v2] .notice__link::before, [id$=v2] .notice__link::after {
  left: 0px;
}
[id$=v2] .notice__summary {
  display: inline;
}

[id$=v2] .d-shape-card-wrapper {
  position: relative;
}
[id$=v2] .d-shape-card {
  position: relative;
  width: 100%;
  height: 100%;
  background-color: var(--blue-50);
}
@media screen and (min-width: 768px) {
  [id$=v2] .d-shape-card {
    background-color: transparent;
  }
}
[id$=v2] .d-shape-card .button {
  width: 100%;
  margin-inline: auto;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  [id$=v2] .d-shape-card .button {
    width: auto;
    margin-inline: 0;
  }
}
[id$=v2] .d-shape-card__bg {
  position: relative;
  z-index: 0;
  width: 100%;
  height: 42.5531914894%;
  overflow: hidden;
}
[id$=v2] .d-shape-card__bg img {
  width: auto;
  height: 100%;
  object-fit: cover;
}
@media screen and (min-width: 768px) {
  [id$=v2] .d-shape-card__bg {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
  }
  [id$=v2] .d-shape-card__bg img {
    width: auto;
    height: 100%;
    object-fit: cover;
  }
}
[id$=v2] .d-shape-card__content {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 57.4468085106%;
  padding: 0;
}
@media screen and (min-width: 768px) {
  [id$=v2] .d-shape-card__content {
    margin-top: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    height: 100%;
    margin-inline: auto;
    max-width: calc(1200px + var(--space-32) * 2);
    width: 100%;
    padding-inline: var(--space-24);
    border-bottom: none;
    padding: 0 var(--space-32);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  [id$=v2] .d-shape-card__content {
    padding-inline: var(--space-32);
  }
}
[id$=v2] .d-shape-card__inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--space-8);
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.85);
  padding: var(--space-32) var(--space-24);
}
@media screen and (min-width: 768px) {
  [id$=v2] .d-shape-card__inner {
    gap: var(--space-24);
    width: 100%;
    max-width: 570px;
    height: 100%;
    max-height: 428px;
    background-color: rgba(255, 255, 255, 0.85);
    padding: var(--space-64);
    border-top-right-radius: 9rem;
    border-bottom-right-radius: 9rem;
    opacity: 0.85;
  }
}
[id$=v2] .d-shape-card__heading {
  color: var(--dark-blue);
  font-size: 2.8rem;
  line-height: 1.2;
  letter-spacing: 0.01em;
  font-family: var(--font-family-en-ja);
  font-style: normal;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  [id$=v2] .d-shape-card__heading {
    font-size: var(--font-size-40);
  }
}
[id$=v2] .d-shape-card__text {
  font-size: var(--font-size-14);
  line-height: 1.5;
  color: var(--dark-blue);
  letter-spacing: 0.01em;
  font-family: var(--font-family-ja);
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  [id$=v2] .d-shape-card__text {
    line-height: 1.8;
    font-size: var(--font-size-16);
  }
}

/**
 * CMSから出力していると思われるHTMLの現状の構造に合わせて強引に調整。
 * そのため、他のファイルと規約が異なる。
 * 将来的には、cusion/news_all.htmlの出力を直接PHPで扱えるようにすることを検討。
 */
[id$=v2] .tag-label, [id$=v2] .news .label,
[id$=v2] .news .news__label,
[id$=v2] .news .tag-label,
[id$=v2] .news .news_others,
[id$=v2] .news .news__label--others,
[id$=v2] .news .news_all,
[id$=v2] .news .news__label--all,
[id$=v2] .news .news_info,
[id$=v2] .news .news__label--info,
[id$=v2] .news .news_campaign,
[id$=v2] .news .news__label--campaign,
[id$=v2] .news .news_invoice,
[id$=v2] .news .news__label--invoice {
  color: var(--blue-300);
}

[id$=v2] .tag-label--stock-domestic, [id$=v2] .news .news_stock_d,
[id$=v2] .news .news__label--stock-domestic {
  color: var(--blue);
}

[id$=v2] .tag-label--stock-foreign, [id$=v2] .news .news_stock_f,
[id$=v2] .news .news__label--stock-foreign {
  color: var(--solid-gray-400);
}

[id$=v2] .tag-label--fx, [id$=v2] .news .news_fx,
[id$=v2] .news .news__label--fx {
  color: var(--light-blue);
}

[id$=v2] .tag-label--cfd, [id$=v2] .news .news_cfd,
[id$=v2] .news .news__label--cfd {
  color: var(--red);
}

[id$=v2] .tag-label--futures, [id$=v2] .news .news_futures,
[id$=v2] .news .news__label--futures {
  color: var(--yellow);
}

[id$=v2] .tag-label--nikkei-225, [id$=v2] .news .news_225,
[id$=v2] .news .news__label--nikkei-225 {
  color: var(--magenta);
}

[id$=v2] .tag-label--seminar,
[id$=v2] .tag-label--web-seminar, [id$=v2] .news .news_seminar,
[id$=v2] .news .news__label--seminar,
[id$=v2] .news .news_webseminar,
[id$=v2] .news .news__label--web-seminar {
  color: var(--dark-blue);
}

[id$=v2] .tag-label--news-release,
[id$=v2] .tag-label--tpm-pr,
[id$=v2] .tag-label--contribution,
[id$=v2] .tag-label--corporate-finance, [id$=v2] .news .news_news,
[id$=v2] .news .news__label--news-release,
[id$=v2] .news .news_tpm_pr,
[id$=v2] .news .news__label--tpm-pr,
[id$=v2] .news .news_contribution,
[id$=v2] .news .news__label--contribution,
[id$=v2] .news .news_corpfin,
[id$=v2] .news .news__label--corporate-finance {
  color: var(--green);
}

[id$=v2] .tag-label--system, [id$=v2] .news .news_sys,
[id$=v2] .news .news__label--system {
  color: var(--solid-gray-800);
}

[id$=v2] .news li,
[id$=v2] .news .news__item {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100%, 1fr));
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  [id$=v2] .news li,
  [id$=v2] .news .news__item {
    grid-template-columns: auto 1fr;
    gap: var(--space-8);
  }
}
[id$=v2] .news li + li,
[id$=v2] .news .news__item + .news__item {
  margin-top: var(--space-48);
}
[id$=v2] .news .ymd,
[id$=v2] .news .news__date {
  display: block;
  order: 1;
  width: 100%;
  font-size: var(--font-size-16);
  color: var(--solid-gray-400);
  font-family: var(--font-family-ja);
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  [id$=v2] .news .ymd,
  [id$=v2] .news .news__date {
    display: inline-block;
    width: auto;
  }
}
[id$=v2] .news .label,
[id$=v2] .news .news__label {
  display: inline-block;
  line-height: 1;
  font-size: var(--font-size-12);
  border: 1px solid currentColor;
  padding: var(--space-4) var(--space-8);
  font-family: var(--font-family-ja);
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 700;
}
[id$=v2] .news a,
[id$=v2] .news .news__link {
  margin-top: var(--space-16);
  display: block;
  width: 100%;
  order: 3;
  grid-column: 1/-1;
  line-height: 1.6;
  font-size: var(--font-size-16);
  font-family: var(--font-family-ja);
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
}
[id$=v2] .news__labels {
  margin-top: var(--space-16);
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  align-content: flex-start;
  gap: var(--space-8) var(--space-16);
  order: 2;
  width: 100%;
  padding: 0;
}
@media screen and (min-width: 768px) {
  [id$=v2] .news__labels {
    margin-top: 0;
    width: auto;
  }
}
[id$=v2] .news__categories {
  margin-top: var(--space-48);
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  align-content: flex-start;
  gap: var(--space-8) var(--space-24);
  order: 2;
  width: 100%;
  padding: 0;
}
[id$=v2] .news__all-news-button {
  margin-top: var(--space-48);
}
[id$=v2] .tag-label {
  display: inline-block;
  line-height: 1;
  font-size: var(--font-size-12);
  border: 1px solid currentColor;
  padding: var(--space-4) var(--space-8);
  font-family: var(--font-family-ja);
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 700;
}
[id$=v2] .branch-information {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  column-gap: 18px;
  row-gap: var(--space-32);
  align-items: stretch;
  align-content: stretch;
}
@media screen and (min-width: 768px) {
  [id$=v2] .branch-information {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--space-24);
    row-gap: var(--space-24);
  }
}
[id$=v2] .branch-information {
  align-items: start;
  color: var(--solid-gray-800);
  font-family: var(--font-family-ja);
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
}
[id$=v2] .branch-information + .branch-information {
  margin-top: var(--space-48);
}
[id$=v2] .branch-information__map iframe {
  max-width: 100%;
}
[id$=v2] .branch-information__map-image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0.4rem;
}
[id$=v2] .branch-information__map-placeholder {
  width: 100%;
  aspect-ratio: 16/9;
  background-color: var(--light-gray);
  border-radius: 0.4rem;
}
[id$=v2] .branch-information__data {
  display: grid;
  gap: var(--space-8);
}
[id$=v2] .branch-information__name {
  position: relative;
  margin-bottom: var(--space-24);
  padding-left: 1.4em;
  font-size: var(--font-size-18);
  line-height: 1.4;
  font-family: var(--font-family-ja);
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 700;
}
[id$=v2] .branch-information__name::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5lh;
  transform: translateY(-50%);
  width: 0.85em;
  aspect-ratio: 16/22.415;
  background-image: url("../images/icon-map-pin.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
@media screen and (min-width: 768px) {
  [id$=v2] .branch-information__name {
    margin-bottom: var(--space-16);
  }
}
[id$=v2] .branch-information__row {
  display: flex;
  gap: var(--space-24);
  line-height: 1.8;
  letter-spacing: 0.01em;
  font-size: var(--font-size-16);
}
[id$=v2] .branch-information__row-label {
  min-width: 4em;
  flex-shrink: 0;
}
[id$=v2] .branch-information__row-value {
  flex: 1;
}

[id$=v2] .banded-panel {
  --banded-panel-theme-color: var(--pale-blue);
  border: 2px solid var(--banded-panel-theme-color);
  border-radius: var(--rd-sm);
  background-color: var(--white);
  padding: 0;
  line-height: 1.8;
  text-align: left;
  letter-spacing: 0.01em;
  font-size: var(--font-size-16);
  overflow: hidden;
  font-family: var(--font-family-ja);
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
}
[id$=v2] .banded-panel--magenta {
  --banded-panel-theme-color: var(--magenta);
  border-color: var(--banded-panel-theme-color);
}
[id$=v2] .banded-panel--light-blue {
  --banded-panel-theme-color: var(--light-blue);
  border-color: var(--banded-panel-theme-color);
}
[id$=v2] .banded-panel--blue {
  --banded-panel-theme-color: var(--pale-blue);
  border-color: var(--banded-panel-theme-color);
}
[id$=v2] .banded-panel__inner {
  padding: var(--space-32) var(--space-24);
}
@media screen and (min-width: 768px) {
  [id$=v2] .banded-panel__inner {
    padding: var(--space-48) var(--space-32);
  }
}
[id$=v2] .banded-panel__heading {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  align-content: center;
  column-gap: var(--space-8);
  background-color: var(--banded-panel-theme-color);
  padding: var(--space-24);
  text-align: center;
  letter-spacing: 0.04em;
  color: var(--white);
  font-size: var(--font-size-20);
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  [id$=v2] .banded-panel__heading {
    padding: var(--space-32);
  }
}

[id$=v2] .information-block {
  margin-top: var(--space-32);
  position: relative;
  display: block;
  padding: var(--space-48) var(--space-24);
  background-color: var(--blue-50);
  line-height: 1.8;
}
[id$=v2] .information-block:first-child {
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  [id$=v2] .information-block {
    padding-inline: var(--space-48);
  }
}

[id$=v2] .definition-table--attributes,
[id$=v2] .definition-table--small {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  font-size: var(--font-size-16);
}
[id$=v2] .definition-table--attributes .definition-table__label,
[id$=v2] .definition-table--small .definition-table__label {
  font-weight: 700;
  margin-right: 0.2em;
}
[id$=v2] .definition-table--attributes .definition-table__label::after,
[id$=v2] .definition-table--small .definition-table__label::after {
  content: " ：";
  display: inline;
}
[id$=v2] .definition-table--attributes .definition-table__value,
[id$=v2] .definition-table--small .definition-table__value {
  font-weight: 400;
}
[id$=v2] .definition-table--attributes .definition-table__label,
[id$=v2] .definition-table--attributes .definition-table__value,
[id$=v2] .definition-table--small .definition-table__label,
[id$=v2] .definition-table--small .definition-table__value {
  display: inline;
}
[id$=v2] .definition-table--small {
  gap: 0;
  font-size: var(--font-size-12);
}
[id$=v2] .definition-table--small .definition-table__label,
[id$=v2] .definition-table--small .definition-table__value {
  margin-top: var(--space-4);
}
@media screen and (min-width: 768px) {
  [id$=v2] .definition-table--small {
    font-size: var(--font-size-14);
  }
}

[id$=v2] .link-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
[id$=v2] .link-list__item {
  margin-top: var(--space-32);
}
@media screen and (min-width: 768px) {
  [id$=v2] .link-list__item {
    margin-top: var(--space-16);
  }
}
[id$=v2] .link-list__note {
  margin-left: var(--space-8);
  color: var(--solid-gray-400);
}

[id$=v2] .notice-block {
  font-size: var(--font-size-16);
  line-height: 1.6;
  letter-spacing: 0.01em;
  font-family: var(--font-family-ja);
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
}
[id$=v2] .notice-block__inner {
  width: 100%;
  border-radius: 0.4rem;
  padding: var(--space-32) var(--space-24);
  background-color: var(--light-gray);
}
@media screen and (min-width: 768px) {
  [id$=v2] .notice-block__inner {
    border-radius: 0;
    padding: var(--space-24) var(--space-32);
    font-size: var(--font-size-16);
  }
}
[id$=v2] .notice-block__inner:has(.notice-block__heading) {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-8);
}
@media screen and (min-width: 768px) {
  [id$=v2] .notice-block__inner:has(.notice-block__heading) {
    flex-direction: row;
    justify-content: left;
    align-items: flex-start;
    gap: var(--space-8);
  }
}
[id$=v2] .notice-block__heading {
  position: relative;
  display: inline-block;
  color: var(--dark-blue);
  font-family: var(--font-family-ja);
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 700;
}
[id$=v2] .notice-block--warning .notice-block__heading {
  padding-left: calc(var(--space-8) + 2em);
}
[id$=v2] .notice-block--warning .notice-block__heading::before {
  content: "";
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0.5lh;
  transform: translateY(-50%);
  width: 2em;
  height: 2em;
  background-image: url("../images/icon-warning.svg");
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (min-width: 768px) {
  [id$=v2] .notice-block--warning .notice-block__heading::before {
    margin-top: 0;
  }
}
[id$=v2] .notice-block ul:where(:not([class])) {
  margin: var(--space-32) 0;
  padding-left: 1em;
  list-style-type: disc;
}
[id$=v2] .notice-block li {
  margin-block: var(--space-16);
}

[id$=v2] .greeting .greeting__autograph {
  margin-top: var(--space-16);
  text-align: right;
}
[id$=v2] .greeting .greeting__autograph img {
  margin-top: var(--space-16);
  margin-right: 0;
  max-width: 200px;
  height: auto;
}

[id$=v2] .phone-number-label {
  margin-inline: auto;
  display: block;
  line-height: 1.8;
  letter-spacing: 0.01em;
  text-align: center;
  font-size: var(--font-size-36);
  font-family: var(--font-family-ja);
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 700;
}
[id$=v2] .phone-number-label::before {
  content: "\260E";
  margin-right: var(--space-8);
  display: inline-block;
  width: 1em;
  height: 1em;
  font-weight: 400;
}
[id$=v2] .phone-number-label--magenta {
  color: var(--magenta);
}
[id$=v2] .phone-number-label--light-blue {
  color: var(--light-blue);
}

[id$=v2] .legal-list,
[id$=v2] .legal-list :where(ol, ul) {
  margin-top: var(--space-32);
  padding-left: 0;
  list-style: none;
  line-height: 1.8;
  letter-spacing: 0.01em;
  font-size: var(--font-size-16);
  color: var(--solid-gray-800);
  font-family: var(--font-family-ja);
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  [id$=v2] .legal-list,
  [id$=v2] .legal-list :where(ol, ul) {
    margin-block: var(--space-48);
  }
}
[id$=v2] .legal-list li,
[id$=v2] .legal-list :where(ol, ul) li {
  position: relative;
  margin-block: var(--space-32);
  padding-left: max(var(--space-24), var(--legal-list-marker-width, 1ch) + var(--space-8));
}
@media screen and (min-width: 768px) {
  [id$=v2] .legal-list li,
  [id$=v2] .legal-list :where(ol, ul) li {
    margin-block: var(--space-48);
  }
}
[id$=v2] .legal-list ol,
[id$=v2] .legal-list ul,
[id$=v2] .legal-list :where(ol, ul) ol,
[id$=v2] .legal-list :where(ol, ul) ul {
  margin-block: var(--space-32);
  padding-left: var(--space-8);
  list-style: none;
}
@media screen and (min-width: 768px) {
  [id$=v2] .legal-list ol,
  [id$=v2] .legal-list ul,
  [id$=v2] .legal-list :where(ol, ul) ol,
  [id$=v2] .legal-list :where(ol, ul) ul {
    margin-block: var(--space-24);
  }
}
[id$=v2] .legal-list ol > li,
[id$=v2] .legal-list ul > li,
[id$=v2] .legal-list :where(ol, ul) ol > li,
[id$=v2] .legal-list :where(ol, ul) ul > li {
  margin-block: var(--space-16);
}
@media screen and (min-width: 768px) {
  [id$=v2] .legal-list ol > li,
  [id$=v2] .legal-list ul > li,
  [id$=v2] .legal-list :where(ol, ul) ol > li,
  [id$=v2] .legal-list :where(ol, ul) ul > li {
    margin-block: var(--space-4);
  }
}
[id$=v2] .legal-list ol ol,
[id$=v2] .legal-list ul ul,
[id$=v2] .legal-list :where(ol, ul) ol ol,
[id$=v2] .legal-list :where(ol, ul) ul ul {
  margin-block: var(--space-32);
}
@media screen and (min-width: 768px) {
  [id$=v2] .legal-list ol ol,
  [id$=v2] .legal-list ul ul,
  [id$=v2] .legal-list :where(ol, ul) ol ol,
  [id$=v2] .legal-list :where(ol, ul) ul ul {
    margin-block: var(--space-24);
  }
}
[id$=v2] .legal-list ol ol > li,
[id$=v2] .legal-list ul ul > li,
[id$=v2] .legal-list :where(ol, ul) ol ol > li,
[id$=v2] .legal-list :where(ol, ul) ul ul > li {
  margin-block: var(--space-16);
}
@media screen and (min-width: 768px) {
  [id$=v2] .legal-list ol ol > li,
  [id$=v2] .legal-list ul ul > li,
  [id$=v2] .legal-list :where(ol, ul) ol ol > li,
  [id$=v2] .legal-list :where(ol, ul) ul ul > li {
    margin-block: var(--space-4);
  }
}
[id$=v2] .legal-list a,
[id$=v2] .legal-list :where(ol, ul) a {
  display: inline-block;
  text-decoration: underline;
  color: inherit;
}
[id$=v2] .legal-list__item::before {
  content: attr(data-marker);
  position: absolute;
  left: 0;
  top: 0;
  white-space: nowrap;
}
[id$=v2] .legal-list--unordered > .legal-list__item::before {
  content: "・";
}
[id$=v2] .legal-list--unordered > .legal-list__item > .legal-list--unordered > .legal-list__item::before {
  content: "-";
}
[id$=v2] .legal-list--unordered > .legal-list__item > .legal-list--unordered > .legal-list__item > .legal-list--unordered > .legal-list__item::before {
  content: "◦";
}

[id$=v2] .media-combination {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  align-content: center;
  gap: var(--font-size-24);
}
[id$=v2] .media-combination__image {
  flex: 1 1 auto;
}
[id$=v2] .media-combination__glue {
  position: relative;
  display: block;
  width: var(--font-size-48);
  height: auto;
  aspect-ratio: 1/1;
}
[id$=v2] .media-combination__glue::before, [id$=v2] .media-combination__glue::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 48/8;
  background-color: var(--dark-blue);
  transform-origin: center;
  translate: -50% -50%;
}
[id$=v2] .media-combination__glue::after {
  transform: rotate(90deg);
}
@media screen and (min-width: 768px) {
  [id$=v2] .media-combination {
    flex-direction: row;
    gap: var(--font-size-32);
  }
}

[id$=v2] .group-map {
  position: relative;
  width: 100%;
  overflow: visible;
}
[id$=v2] .group-map__canvas {
  position: relative;
  width: 100%;
  overflow: visible;
  container-type: inline-size;
}
[id$=v2] .group-map__image {
  display: block;
  width: 100%;
  height: auto;
}
[id$=v2] .group-map__location {
  position: absolute;
  top: var(--group-map-y);
  left: var(--group-map-x);
  width: 0;
  height: 0;
  pointer-events: none;
  z-index: 1;
}
[id$=v2] .group-map__location.is-active {
  z-index: 2;
}
[id$=v2] .group-map__location.is-active .group-map__label {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}
[id$=v2] .group-map__location.is-active .group-map__leader-line polyline {
  stroke-dashoffset: 0;
}
[id$=v2] .group-map__pin-trigger {
  position: absolute;
  top: auto;
  bottom: 0;
  left: 0;
  display: block;
  padding: 0;
  border: 0;
  background: transparent;
  transform: translateX(-50%);
  cursor: pointer;
  pointer-events: auto;
}
[id$=v2] .group-map__pin-trigger:focus-visible {
  outline: 2px solid var(--pale-blue);
  outline-offset: 2px;
}
[id$=v2] .group-map__pin {
  position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  width: 1cqw;
  height: auto;
  aspect-ratio: 13.16/20.49;
  transform: translateX(-50%);
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.08));
}
[id$=v2] .group-map__pin:hover {
  opacity: 0.8;
}
[id$=v2] .group-map__pin--no-link {
  filter: grayscale(1);
  opacity: 0.7;
}
[id$=v2] .group-map__leader-line {
  position: absolute;
  bottom: 0;
  overflow: visible;
  pointer-events: none;
}
[id$=v2] .group-map__leader-line polyline {
  fill: none;
  stroke: var(--dark-blue);
  stroke-width: 1;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: var(--group-map-line-length, 200);
  stroke-dashoffset: var(--group-map-line-length, 200);
  transition: none;
}
[id$=v2] .group-map.is-ready .group-map__leader-line polyline {
  transition: stroke-dashoffset 0.4s ease-out;
}
[id$=v2] .group-map__label {
  position: absolute;
  bottom: calc(var(--group-map-line-height) + 2px);
  display: block;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transform: translateY(3px);
  transition: opacity 0.2s ease-out 0.2s, transform 0.2s ease-out 0.2s;
  pointer-events: none;
}
[id$=v2] .group-map__label-link, [id$=v2] .group-map__label-text {
  display: block;
  padding: 0 8px 3px 6px;
  color: var(--dark-blue);
  font-size: clamp(var(--font-size-12), 1.5vw, var(--font-size-14));
  font-weight: 700;
  line-height: 1.4;
  text-shadow: 1px 0 3px var(--white), 0 1px 3px var(--white), -1px 0 3px var(--white), 0 -1px 3px var(--white);
}
[id$=v2] .group-map__label-link {
  text-decoration: none;
}
[id$=v2] .group-map__label-link:hover {
  color: var(--pale-blue);
}

.contact__freedial {
  position: relative;
  padding-left: calc(30px + var(--space-8));
}
.contact__freedial::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  display: inline-block;
  width: 30px;
  height: auto;
  aspect-ratio: 1/1;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  background-image: image-set(url("../images/icon-freedial.avif") type('image/avif'), url("../images/icon-freedial.webp") type('image/webp'), url("../images/icon-freedial.png") type('image/png'));
}
@media screen and (max-width: 767px) {
  .contact__block-line {
    display: block;
  }
}

[id$=v2] .legal-doc-metadata {
  margin-top: var(--space-24);
  line-height: 1.5;
  font-size: var(--font-size-12);
  letter-spacing: 0.01em;
  font-family: var(--font-family-ja);
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  [id$=v2] .legal-doc-metadata {
    margin-top: var(--space-32);
  }
}

.input-unit {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-inline: auto;
  max-width: calc(1000px + var(--space-32) * 2);
  width: 100%;
  padding-block: var(--space-24);
  border-top: 1px solid var(--solid-gray-200);
}
.input-unit:last-child {
  border-bottom: 1px solid var(--solid-gray-200);
}
@media screen and (max-width: 767px) {
  .input-unit {
    gap: var(--space-16);
    flex-direction: column;
  }
}
@media screen and (min-width: 768px) {
  .input-unit {
    flex-direction: row;
    align-items: center;
    align-content: center;
  }
}
.input-unit__label {
  display: block;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .input-unit__label {
    width: 41.935483871%;
    flex-basis: 41.935483871%;
  }
}
.input-unit__field {
  display: block;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .input-unit__field {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    align-content: center;
    gap: var(--space-16);
    width: 58.064516129%;
    flex-basis: 58.064516129%;
  }
}
.input-unit__control {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .input-unit__control {
    flex: 1;
    min-width: 0;
  }
}
.input-unit__field:has(:is(:required))::before {
  display: inline-flex;
  width: 4.9rem;
  height: 2rem;
  align-items: center;
  justify-content: center;
  margin-right: var(--space-8);
  background-color: var(--orange);
  color: var(--white);
  content: "必須";
  font-family: var(--font-family-ja);
  font-size: var(--font-size-12);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.12px;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .input-unit__field:has(:is(:required))::before {
    position: absolute;
    top: var(--space-24);
    right: 0;
  }
}
.input-unit .input-text, .input-unit .input-email, .input-unit .input-textarea, .input-unit .input-select {
  display: block;
  width: 100%;
  height: 3.8rem;
  padding: var(--space-8);
  border: 2px solid transparent;
  border-radius: var(--rd-sm);
  background-color: var(--light-gray);
  color: var(--solid-gray-800);
  font-family: var(--font-family-ja);
  font-size: var(--font-size-16);
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.16px;
}
.input-unit :is(.input-text, .input-email, .input-textarea, .input-select)::placeholder {
  color: var(--solid-gray-400);
  opacity: 1;
}
.input-unit :is(.input-text, .input-email, .input-textarea, .input-select):focus {
  border-color: var(--dark-blue);
  outline: none;
}
.input-unit :is(.input-text, .input-email, .input-textarea, .input-select):has(+ .input-unit__error:not(:empty)) {
  border-color: var(--red);
}
.input-unit .input-textarea {
  height: 16rem;
  resize: vertical;
}
.input-unit .input-select {
  line-height: 1;
}
.input-unit .input-checkbox {
  display: block;
  position: relative;
  border: none;
  width: var(--font-size-14);
  height: var(--font-size-14);
}
.input-unit .input-checkbox::before {
  content: "";
  display: block;
  width: var(--font-size-14);
  height: var(--font-size-14);
  border: 1px solid var(--solid-gray-400);
}
.input-unit .input-checkbox:checked::before {
  border-color: var(--dark-blue);
  background-color: var(--dark-blue);
}
.input-unit .input-checkbox:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 10px;
  height: 7px;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='10'%20height='7'%20viewBox='0%200%2010%207'%20fill='none'%3E%3Cpath%20d='M0.568359%203.41258L3.86248%205.6853L8.56836%200.685303'%20stroke='white'%20stroke-width='2'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 10px 7px;
}
.input-unit .input-checkbox__wrapper-label {
  display: flex;
  align-items: center;
  gap: var(--space-8);
  cursor: pointer;
}
.input-unit__error {
  display: none;
  margin: var(--space-4) 0 0;
  color: var(--red);
  font-family: var(--font-family-ja);
  font-size: var(--font-size-12);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.12px;
}
.input-unit__error:not(:empty) {
  display: block;
}

[id$=v2] .video {
  max-width: 100%;
  width: 100%;
  height: auto;
}

[id$=v2] .youtube-wrapper {
  position: relative;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 16/9;
  aspect-ratio: var(--youtube-wrapper-aspect-ratio);
  background-color: var(--light-gray);
  overflow: hidden;
}
[id$=v2] .youtube-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  border: 0;
}

[id$=v2] .u-my-4 {
  margin-block: var(--space-4);
}
[id$=v2] .u-mt-4 {
  margin-top: var(--space-4);
}
[id$=v2] .u-mb-4 {
  margin-bottom: var(--space-4);
}
[id$=v2] .u-pt-4 {
  padding-top: var(--space-4);
}
[id$=v2] .u-pb-4 {
  padding-bottom: var(--space-4);
}
[id$=v2] .u-my-8 {
  margin-block: var(--space-8);
}
[id$=v2] .u-mt-8 {
  margin-top: var(--space-8);
}
[id$=v2] .u-mb-8 {
  margin-bottom: var(--space-8);
}
[id$=v2] .u-pt-8 {
  padding-top: var(--space-8);
}
[id$=v2] .u-pb-8 {
  padding-bottom: var(--space-8);
}
[id$=v2] .u-my-16 {
  margin-block: var(--space-16);
}
[id$=v2] .u-mt-16 {
  margin-top: var(--space-16);
}
[id$=v2] .u-mb-16 {
  margin-bottom: var(--space-16);
}
[id$=v2] .u-pt-16 {
  padding-top: var(--space-16);
}
[id$=v2] .u-pb-16 {
  padding-bottom: var(--space-16);
}
[id$=v2] .u-my-24 {
  margin-block: var(--space-24);
}
[id$=v2] .u-mt-24 {
  margin-top: var(--space-24);
}
[id$=v2] .u-mb-24 {
  margin-bottom: var(--space-24);
}
[id$=v2] .u-pt-24 {
  padding-top: var(--space-24);
}
[id$=v2] .u-pb-24 {
  padding-bottom: var(--space-24);
}
[id$=v2] .u-my-32 {
  margin-block: var(--space-32);
}
[id$=v2] .u-mt-32 {
  margin-top: var(--space-32);
}
[id$=v2] .u-mb-32 {
  margin-bottom: var(--space-32);
}
[id$=v2] .u-pt-32 {
  padding-top: var(--space-32);
}
[id$=v2] .u-pb-32 {
  padding-bottom: var(--space-32);
}
[id$=v2] .u-my-48 {
  margin-block: var(--space-48);
}
[id$=v2] .u-mt-48 {
  margin-top: var(--space-48);
}
[id$=v2] .u-mb-48 {
  margin-bottom: var(--space-48);
}
[id$=v2] .u-pt-48 {
  padding-top: var(--space-48);
}
[id$=v2] .u-pb-48 {
  padding-bottom: var(--space-48);
}
[id$=v2] .u-my-64 {
  margin-block: var(--space-64);
}
[id$=v2] .u-mt-64 {
  margin-top: var(--space-64);
}
[id$=v2] .u-mb-64 {
  margin-bottom: var(--space-64);
}
[id$=v2] .u-pt-64 {
  padding-top: var(--space-64);
}
[id$=v2] .u-pb-64 {
  padding-bottom: var(--space-64);
}
[id$=v2] .u-my-96 {
  margin-block: var(--space-96);
}
[id$=v2] .u-mt-96 {
  margin-top: var(--space-96);
}
[id$=v2] .u-mb-96 {
  margin-bottom: var(--space-96);
}
[id$=v2] .u-pt-96 {
  padding-top: var(--space-96);
}
[id$=v2] .u-pb-96 {
  padding-bottom: var(--space-96);
}
[id$=v2] .u-my-128 {
  margin-block: var(--space-128);
}
[id$=v2] .u-mt-128 {
  margin-top: var(--space-128);
}
[id$=v2] .u-mb-128 {
  margin-bottom: var(--space-128);
}
[id$=v2] .u-pt-128 {
  padding-top: var(--space-128);
}
[id$=v2] .u-pb-128 {
  padding-bottom: var(--space-128);
}
[id$=v2] .u-mt-section {
  margin-top: var(--space-64);
}
@media screen and (min-width: 768px) {
  [id$=v2] .u-mt-section {
    margin-top: var(--space-96);
  }
}
[id$=v2] .u-mt-1lh {
  margin-top: 1lh;
}
[id$=v2] .u-mb-1lh {
  margin-bottom: 1lh;
}
@media screen and (min-width: 768px) {
  [id$=v2] .u-sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  [id$=v2] .u-pc {
    display: none;
  }
}
[id$=v2] .u-grid-cols-1-1 {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  column-gap: 18px;
  row-gap: var(--space-32);
  align-items: stretch;
  align-content: stretch;
}
@media screen and (min-width: 768px) {
  [id$=v2] .u-grid-cols-1-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    column-gap: var(--space-24);
    row-gap: var(--space-24);
  }
}
[id$=v2] .u-grid-cols-1-2 {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  column-gap: 18px;
  row-gap: var(--space-32);
  align-items: stretch;
  align-content: stretch;
}
@media screen and (min-width: 768px) {
  [id$=v2] .u-grid-cols-1-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--space-24);
    row-gap: var(--space-24);
  }
}
[id$=v2] .u-grid-cols-1-3 {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  column-gap: 18px;
  row-gap: var(--space-32);
  align-items: stretch;
  align-content: stretch;
}
@media screen and (min-width: 768px) {
  [id$=v2] .u-grid-cols-1-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: var(--space-24);
    row-gap: var(--space-24);
  }
}
[id$=v2] .u-grid-cols-2-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 18px;
  row-gap: var(--space-32);
  align-items: stretch;
  align-content: stretch;
}
@media screen and (min-width: 768px) {
  [id$=v2] .u-grid-cols-2-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--space-24);
    row-gap: var(--space-24);
  }
}
[id$=v2] .u-grid-cols-2-3 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 18px;
  row-gap: var(--space-32);
  align-items: stretch;
  align-content: stretch;
}
@media screen and (min-width: 768px) {
  [id$=v2] .u-grid-cols-2-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: var(--space-24);
    row-gap: var(--space-24);
  }
}
[id$=v2] .u-grid-cols-2-4 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 18px;
  row-gap: var(--space-32);
  align-items: stretch;
  align-content: stretch;
}
@media screen and (min-width: 768px) {
  [id$=v2] .u-grid-cols-2-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: var(--space-24);
    row-gap: var(--space-24);
  }
}
[id$=v2] .u-palt {
  font-feature-settings: "palt" 1;
}
[id$=v2] .u-tar {
  text-align: right;
}
[id$=v2] .u-center-content {
  display: flex;
  justify-content: center;
  align-items: center;
}
[id$=v2] .u-order-last {
  order: -1;
}
[id$=v2] .u-bt-1 {
  border-top: 1px solid var(--solid-gray-200);
}
[id$=v2] .u-bb-1 {
  border-bottom: 1px solid var(--solid-gray-200);
}