@charset "UTF-8";
:where(*, *::before, *::after) {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; /* 直感的なbox-sizingに設定 */
  padding: 0; /* すべての要素のデフォルトパディングをリセット */
  margin: 0; /* すべての要素のデフォルトマージンをリセット */
}

:where([hidden]:not([hidden=until-found])) {
  display: none !important; /* hiddenは非表示を意味します */
  margin: 0; /* すべての要素のデフォルトマージンをリセット */
}

:where(html) {
  -webkit-text-size-adjust: none;
     -moz-text-size-adjust: none;
      -ms-text-size-adjust: none;
          text-size-adjust: none; /* iOSのランドスケープでテキストが調整されないようにする */
  color-scheme: dark light; /* ユーザーがダークテーマを好む場合、自動的にダークテーマになる */
}

@supports not (min-block-size: 100dvb) {
  :where(html) {
    block-size: 100%;
  }
}
:where(body) { /* サファリ以外のブラウザのフォールバック */
  block-size: 100dvb; /* 1dvbは動的ビューポートの長さの1%、100dvbで高さいっぱいに */
  font-family: system-ui, sans-serif; /* timeの代わりにシステムフォントを使用 */
  line-height: 1.5; /* アクセシブルな行の高さ */
  -webkit-font-smoothing: antialiased; /* テキストのレンダリングを改善 */
}

:where(input, button, textarea, select) {
  font: inherit; /* フォーム コントロールは親フォントを継承 */
  color: inherit; /* カラーも継承 */
}

:where(textarea) { /* テキストエリアの水平リサイズを無効に */
  resize: block;
}

:where(button, label, select, summary, [role=button], [role=option]) {
  cursor: pointer; /* インタラクティブなものにカーソルを合わせる */
}

:where(:disabled) {
  cursor: not-allowed; /* フォームコントロール無効時のカーソルを許可しない */
}

:where(label:has(> input:disabled), label:has(+ input:disabled)) {
  cursor: not-allowed; /* ラベルにもカーソルを許可しない */
}

:where(button) {
  border-style: solid; /* ボタンのボーダーのスタイルを設定しやすくする */
}

:where(a) {
  text-underline-offset: 0.2em; /* 下線の上にスペースを追加する */
}

:where(ul, ol) {
  list-style: none; /* ビュレットを削除、必要に応じて手動で追加する */
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block; /* 置換された要素をより予測可能にする */
}

:where(p, h1, h2, h3, h4, h5, h6) {
  font-size: 1em;
  overflow-wrap: break-word; /* 長い単語は改行 */
}

:where(:focus-visible) { /* より一貫性のある、カスタマイズ可能なフォーカスのアウトライン */
  outline: 2px solid #FF8A8A;
  outline-offset: 0;
}

@-webkit-keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeout {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeout {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes up-motion {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2rem);
            transform: translateY(2rem);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes up-motion {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2rem);
            transform: translateY(2rem);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes image {
  0% {
    -webkit-filter: blur(5px);
            filter: blur(5px);
    opacity: 0;
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  100% {
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes image {
  0% {
    -webkit-filter: blur(5px);
            filter: blur(5px);
    opacity: 0;
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  100% {
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
* {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; /* animation時のにじみ防止 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-font-smoothing: antialiased; /* animation時の文字にじみ防止 */
  -moz-osx-font-smoothing: grayscale; /* animation時の文字にじみ防止 */
}

:root {
  --fz-base: clamp(0.84rem, 0.815rem + 0.255vw, 0.9375rem);
  --color-base-bg: #fff;
  --color-base-text: #000;
  --color-primary: #FFEAEA;
  --color-secondary: #223055;
  --color-tertiary: #D4E2DB;
  --color-red: #BF4747;
  --color-link: #000;
  --color-link-hover: #38508E;
  --font-jp:Noto Sans JP, sans-serif;
  --font-en:poppins, sans-serif;
  --line-margin:global.$line-margin;
  --line-margin-s:global.$line-margin-s;
  --line-margin-l:global.$line-margin-l;
  -webkit-font-variant-ligatures: none;
          font-variant-ligatures: none; /* CJK言語（中国語、日本語、韓国語）での句読点の間隔を変更。 */
}

html {
  height: -webkit-fill-available;
  height: -moz-available;
  height: fill-available;
  font-size: 100%;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  scroll-padding-top: 0;
  background: #fff;
  scroll-behavior: smooth;
  -webkit-tap-highlight-color: rgba(12, 106, 238, 0.2);
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
}

html,
body {
  width: 100%;
  min-height: -webkit-fill-available;
  min-height: -moz-available;
  min-height: fill-available;
  padding: 0;
  margin: 0;
  -ms-scroll-chaining: none;
      overscroll-behavior: none;
  -webkit-font-smoothing: antialiased;
}

body {
  position: relative;
  height: 100%;
  font-family: "Noto Sans JP", sans-serif;
  font-size: var(--fz-base);
  font-weight: 500;
  font-optical-sizing: auto;
  line-height: 1;
  color: var(--color-base-text);
  overflow-wrap: anywhere;
  background: #fff;
  -webkit-animation: fadein ease-out 0.3s both 0.1s;
          animation: fadein ease-out 0.3s both 0.1s;
}
body.is-gnav-open {
  height: 100%;
  overflow: hidden;
}

body:has(#js-globalnav-sp.is-open) .l-container {
  overflow: auto;
  scrollbar-gutter: stable;
}

:where(section),
:where(article) {
  position: relative;
  text-align: left;
  letter-spacing: 0.08em;
}

:where(p, dl, dt, dd, ol, ul, li) {
  padding: 0;
  margin: 0;
}

:where(img) {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

:where(strong) {
  font-weight: 700;
}

:where(sup) {
  font-size: 55%;
  vertical-align: super;
}

:where(sub) {
  font-size: 55%;
  vertical-align: sub;
}

.l-main a[href^="tel:"] {
  font-weight: 700;
}
:where(.l-main a:not([class])) {
  color: #38508E;
  text-decoration: underline;
  text-underline-offset: 0.3em;
}

picture:has([loading=lazy]) {
  overflow: hidden;
}

:where(hr) {
  position: relative;
  width: 100%;
  height: 100px;
  clear: both;
  border: none;
  outline: none;
}
:where(hr)::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background: #D4E2DB;
}

.sr-only {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.l-container {
  position: relative;
  z-index: 1;
  width: 100%;
  min-height: 100dvh;
  padding: 0;
  text-align: center;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

:where(.l-main) {
  line-height: 1.857;
}

.l-main {
  z-index: 3;
  padding-top: 5rem;
  text-align: center;
  letter-spacing: clamp(0.02em, 0.1vw, 0.04em);
}
.l-main__inner {
  position: relative;
  z-index: 2;
  width: 90%;
  padding: min(13.33vw, 5rem) 0 0;
  margin: 0 auto;
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 888888;
  width: 100%;
  background-color: #fff;
  -webkit-transition: background-color 0.2s ease, height 0.25s ease 0.05s;
  transition: background-color 0.2s ease, height 0.25s ease 0.05s;
}
.l-header__inner {
  position: relative;
  width: 90%;
  height: 4.375rem;
  margin: 0 auto;
  -webkit-transition: height 0.1s ease;
  transition: height 0.1s ease;
}
.l-header__logo {
  position: absolute;
  top: 50%;
  left: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: auto;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.l-header__logo svg {
  width: 11.4375rem;
  height: auto;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.l-header__logo-fill {
  fill: #000;
}
.l-header.is-scroll .l-header__logo {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.l-footer {
  position: relative;
  z-index: 4;
  padding-top: 3.125rem;
  overflow: hidden;
  text-align: center;
  background-color: #223055;
}
.l-footer__inner {
  position: relative;
  width: 90%;
  margin: 0 auto;
}
.l-footer-block01 {
  display: -ms-grid;
  display: grid;
      grid-template-areas: "menu" "logo";
  -ms-grid-rows: auto 4.375rem auto;
  grid-template-rows: auto auto;
  gap: 4.375rem;
}
.l-footer-block01__logo {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  grid-area: logo;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  text-align: left;
}
.l-footer-block01__logo img {
  width: 13.125rem;
  height: auto;
  margin-bottom: 0.75rem;
}
.l-footer-block01__logo span {
  display: block;
  margin-top: 0.75rem;
  line-height: 1.25;
  color: #85929A;
  text-align: center;
  letter-spacing: 0.05em;
  font-size: 0.6875rem;
}
.l-footer-block01__menu {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: menu;
  text-align: left;
  border-top: #B7C3CC 2px solid;
  border-bottom: #B7C3CC 1px solid;
}
.l-footer-block01__menu button {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 5rem;
  font-weight: 700;
  line-height: 1.25;
  color: #fff;
  text-decoration: none;
  letter-spacing: 0.08em;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  background: none;
  border: none;
  border-top: #B7C3CC 1px solid;
  -webkit-tap-highlight-color: transparent;
  font-size: 1.125rem;
}
.l-footer-block01__menu button i {
  position: absolute;
  top: 50%;
  right: 0;
  width: 1em;
  height: 1em;
  margin-left: 0.5em;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.l-footer-block01__menu button:active {
  color: inherit;
  background-color: transparent;
}
.l-footer-block01__menu button.is-open i {
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
}
.l-footer-block01__menu-sublinks {
  display: block;
  max-height: 0;
  padding-top: 0;
  padding-bottom: 1em;
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: max-height 0.4s ease, opacity 0.3s ease, visibility 0.4s;
  transition: max-height 0.4s ease, opacity 0.3s ease, visibility 0.4s;
}
.l-footer-block01__menu-sublinks[hidden] {
  display: none;
}
.l-footer-block01__menu-sublinks li {
  padding-top: 0.2em;
  padding-bottom: 0.2em;
}
.l-footer-block01__menu-sublinks li:first-child {
  margin-top: 0;
}
.l-footer-block01__menu-sublinks a {
  position: relative;
  display: inline-block;
  padding: 0.6em 0;
  font-weight: 700;
  line-height: 1.25;
  color: #B0B7C0;
  text-decoration: none;
  letter-spacing: 0.05em;
  font-size: 0.9375rem;
}
.l-footer-block01__menu-sublinks.is-open {
  max-height: 35rem;
  visibility: visible;
  opacity: 1;
}
.l-footer-block01__menu-links li {
  border-top: #B7C3CC 1px solid;
}
.l-footer-block01__menu-links a {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 5rem;
  font-weight: 700;
  line-height: 1.25;
  color: #fff;
  text-decoration: none;
  letter-spacing: 0.08em;
  cursor: pointer;
  background: none;
  border: none;
  font-size: 1.125rem;
}
.l-footer-block01__menu-links .u-ic-blank-w {
  width: 0.9em;
  margin-left: 0.25em;
  vertical-align: -0.2em;
}
.l-footer-block02 {
  padding-top: 1.25rem;
  padding-bottom: 4.375rem;
  margin-top: 3.125rem;
  border-top: rgba(255, 255, 255, 0.1) solid 1px;
}
.l-footer-block02__links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1em clamp(2rem, 3vw, 4rem);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 1.25rem;
}
.l-footer-block02__links a {
  position: relative;
  display: inline-block;
  line-height: 1.25;
  color: #B0B7C0;
  letter-spacing: 0.05em;
  white-space: nowrap;
  font-size: 0.75rem;
}
.l-footer-block02__texts {
  margin-top: 2.5625rem;
  text-align: left;
}
.l-footer__copyright {
  position: relative;
  display: block;
  line-height: 1.25;
  color: #B0B7C0;
  letter-spacing: 0.05em;
  font-size: 0.625rem;
}
.l-footer__note {
  position: relative;
  display: block;
  margin-top: 0.5rem;
  line-height: 2;
  color: #B0B7C0;
  letter-spacing: 0.05em;
  font-size: 0.625rem;
}

.p-globalnav-sp-trigger {
  position: fixed;
  top: 0.625rem;
  right: 3.5%;
  z-index: 888889;
  display: block;
  width: 3.125rem;
  height: 3.125rem;
  padding: 0;
  color: #fff;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  background: transparent;
  border: none;
  outline: none;
}
.p-globalnav-sp-trigger:focus-visible {
  outline: 2px solid #000;
  outline-offset: -2px;
}
.p-globalnav-sp-trigger__ic {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
}
.p-globalnav-sp-trigger__ic i {
  position: absolute;
  top: 40%;
  left: 50%;
  width: 2.25rem;
  height: 2px;
  background: transparent;
  -webkit-transition: ease-out 0.1s;
  transition: ease-out 0.1s;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}
.p-globalnav-sp-trigger__ic i::before, .p-globalnav-sp-trigger__ic i::after {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  height: 2px;
  content: "";
  background: #000;
  border-radius: 0.15rem;
}
.p-globalnav-sp-trigger__ic i::before {
  width: 2.25rem;
  margin-top: -0.7rem;
  -webkit-transition: ease-out 0.3s 0.1s;
  transition: ease-out 0.3s 0.1s;
}
.p-globalnav-sp-trigger__ic i::after {
  width: 1.25rem;
  -webkit-transition: ease-out 0.3s 0.1s;
  transition: ease-out 0.3s 0.1s;
}
.p-globalnav-sp-trigger__ic span {
  position: absolute;
  bottom: 0.5em;
  left: 0;
  display: block;
  width: 100%;
  font-family: poppins, sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  color: #000;
  text-align: center;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
.p-globalnav-sp-trigger.is-open i {
  top: 35%;
}
.p-globalnav-sp-trigger.is-open i::before {
  margin-top: 0;
  background: #fff;
  -webkit-transform: rotate(160deg);
          transform: rotate(160deg);
}
.p-globalnav-sp-trigger.is-open i::after {
  width: 2.25rem;
  margin-top: 0;
  background: #fff;
  -webkit-transform: rotate(-160deg);
          transform: rotate(-160deg);
}
.p-globalnav-sp-trigger.is-open span {
  color: #fff;
  letter-spacing: 0;
}

.p-globalnav-sp {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100vw;
  height: 100dvh;
  pointer-events: none;
  visibility: hidden;
  background: #223055;
  opacity: 0;
  -webkit-transition: 0.5s ease 0.1s;
  transition: 0.5s ease 0.1s;
  -webkit-transform: translateY(-5em);
          transform: translateY(-5em);
}
.p-globalnav-sp.is-open {
  pointer-events: all;
  visibility: visible;
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
.p-globalnav-sp__inner {
  position: relative;
  display: none;
  height: 100dvh;
  padding: 0 5.3vw 5rem;
  overflow-y: scroll;
  text-align: center;
}
.is-open .p-globalnav-sp__inner {
  display: block;
}
.p-globalnav-sp__logo {
  position: relative;
  display: block;
  height: 4.375rem;
}
.p-globalnav-sp__logo svg {
  position: absolute;
  top: 50%;
  left: 0;
  width: 11.4375rem;
  height: auto;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.p-globalnav-sp__menu {
  margin-top: 2.1875rem;
  text-align: left;
  border-top: #B7C3CC 3px solid;
}
.p-globalnav-sp__menu button {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 5rem;
  font-weight: 700;
  line-height: 1.25;
  color: #fff;
  text-decoration: none;
  letter-spacing: 0.08em;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  background: none;
  border: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 1.125rem;
}
.p-globalnav-sp__menu button i {
  position: absolute;
  top: 50%;
  right: 0.25em;
  width: 1em;
  height: 1em;
  margin-left: 0.5em;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.p-globalnav-sp__menu button:active {
  color: inherit;
  background-color: transparent;
}
.p-globalnav-sp__menu button.is-open i {
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
}
.p-globalnav-sp__menu-sublinks {
  display: block;
  max-height: 0;
  padding-top: 0;
  padding-bottom: 1em;
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: max-height 0.4s ease, opacity 0.3s ease, visibility 0.4s;
  transition: max-height 0.4s ease, opacity 0.3s ease, visibility 0.4s;
}
.p-globalnav-sp__menu-sublinks[hidden] {
  display: none;
}
.p-globalnav-sp__menu-sublinks li {
  padding-top: 0.2em;
  padding-bottom: 0.2em;
}
.p-globalnav-sp__menu-sublinks li:first-child {
  margin-top: 0;
}
.p-globalnav-sp__menu-sublinks a {
  position: relative;
  display: inline-block;
  padding: 0.6em 0;
  font-weight: 700;
  line-height: 1.25;
  color: #B0B7C0;
  text-decoration: none;
  letter-spacing: 0.05em;
  font-size: 0.9375rem;
}
.p-globalnav-sp__menu-sublinks.is-open {
  max-height: 35rem;
  visibility: visible;
  opacity: 1;
}
.p-globalnav-sp__menu > li {
  border-bottom: #B7C3CC 1px solid;
}
.p-globalnav-sp__menu > li > a {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 5rem;
  font-weight: 700;
  line-height: 1.25;
  color: #fff;
  text-decoration: none;
  letter-spacing: 0.08em;
  cursor: pointer;
  background: none;
  border: none;
  font-size: 1.125rem;
}
.p-globalnav-sp .u-ic-blank-w {
  width: 0.9em;
  margin-left: 0.25em;
  vertical-align: -0.2em;
}

.p-globalnav-pc {
  display: none;
}
.p-globalnav-pc__trigger-wrap {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
}
.p-globalnav-pc__menu01 {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  gap: 0 min(1.5vw, 1.25rem);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: auto;
  height: 100%;
  margin: 0;
  -webkit-animation: headeritem 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.4s both;
          animation: headeritem 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.4s both;
}
.p-globalnav-pc__menu01 > li {
  position: relative;
  padding: 0;
  font-size: min(1.3vw, 0.9375rem);
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  letter-spacing: 0.08em;
}
.p-globalnav-pc__menu01 > li > button,
.p-globalnav-pc__menu01 > li > a {
  position: relative;
  display: block;
  padding: 0.3em 0.75em;
  color: #000;
  text-decoration: none !important;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  background: transparent;
  border: none;
  border-radius: 2em;
  outline: none;
}
.p-globalnav-pc__menu01 > li > button span,
.p-globalnav-pc__menu01 > li > a span {
  position: relative;
  z-index: 3;
  display: inline-block;
}
.p-globalnav-pc__menu01 > li > button:focus-visible,
.p-globalnav-pc__menu01 > li > a:focus-visible {
  background-color: #FFEAEA;
  outline: 1px solid #FF8A8A !important;
  outline-offset: 0;
}
.p-globalnav-pc__menu01 > li > button.is-open,
.p-globalnav-pc__menu01 > li > a.is-open {
  color: #000;
  background-color: #FFEAEA;
}
.p-globalnav-pc__menu01 > li > button.is-open::after,
.p-globalnav-pc__menu01 > li > a.is-open::after {
  -webkit-transform: translateX(0%);
          transform: translateX(0%);
}
.p-globalnav-pc__menu01 > li > button {
  cursor: default;
}
.p-globalnav-pc__menu01 .js-megadrop-trigger.is-open {
  background-color: #FFEAEA;
}
.p-globalnav-pc__menu01 .u-ic-blank-b {
  width: 0.75em;
  height: 0.75em;
  margin-left: 0.2em;
  vertical-align: -0.2em;
}
.p-globalnav-pc__lang-trigger {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  gap: 1.5625rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-globalnav-pc__lang-trigger span, .p-globalnav-pc__lang-trigger a {
  position: relative;
  display: block;
  padding: 0.15em 0.5em;
  font-size: 0.8125rem;
  color: #000;
  text-decoration: none !important;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  background: transparent;
  border: none;
  border-radius: 2em;
  outline: none;
}
.p-globalnav-pc__lang-trigger span:first-child::after,
.p-globalnav-pc__lang-trigger a:first-child::after {
  position: absolute;
  top: 50%;
  right: -0.8em;
  display: inline-block;
  width: 1px;
  height: 1.125rem;
  content: "";
  background-color: rgba(0, 0, 0, 0.5);
  -webkit-transform: translate(-50%, -50%) rotate(40deg);
          transform: translate(-50%, -50%) rotate(40deg);
}
.p-globalnav-pc__lang-trigger span {
  pointer-events: none;
  outline: #000 1px solid;
}
.p-globalnav-pc__lang-trigger a:focus-visible {
  background-color: #FFEAEA;
  outline: 1px solid #FF8A8A !important;
  outline-offset: 0;
}

.p-company .js-megadrop-trigger[aria-controls=megamenu-company] {
  outline: #000 1px solid;
}

.p-business .js-megadrop-trigger[aria-controls=megamenu-business] {
  outline: #000 1px solid;
}

.p-ir .js-megadrop-trigger[aria-controls=megamenu-ir] {
  outline: #000 1px solid;
}

.p-contact .p-globalnav-pc__contact {
  outline: #000 1px solid;
}

.p-globalnav-megadrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  display: none;
  width: 100%;
  padding-top: 7.4375rem;
  overflow: hidden;
  font-size: min(1.4vw, 1.5rem);
  font-weight: 700;
  background-color: #fff;
  opacity: 0;
  -webkit-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
.p-globalnav-megadrop.is-visible {
  display: block;
  opacity: 1;
  -webkit-animation: fadein 0.5s ease 0.1s both;
          animation: fadein 0.5s ease 0.1s both;
}
.p-globalnav-megadrop__inner {
  position: relative;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 0 64%;
  grid-template-columns: auto 64%;
  gap: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: min(90%, 62.5rem);
  padding-top: 3.125rem;
  padding-bottom: 3.75rem;
  margin: 0 auto;
}
.p-globalnav-megadrop__title {
  font-weight: 400;
  text-align: left;
}
.p-globalnav-megadrop__title > span:nth-child(1) {
  display: block;
  font-family: poppins, sans-serif;
  font-size: min(4vw, 2.5rem);
  font-weight: 300;
  line-height: 1.25;
  letter-spacing: 0.05em;
}
.p-globalnav-megadrop__title > span:nth-child(2) {
  display: block;
  margin-top: 0.9375rem;
  font-size: min(2vw, 1.0625rem);
  line-height: 1.25;
}
.p-globalnav-megadrop__title > span:nth-child(2) i {
  margin-right: 0.5em;
}
.p-globalnav-megadrop__title > a {
  position: relative;
  display: inline-block;
  padding-right: 2.5rem;
  margin-top: 3.125rem;
  font-size: 1rem;
  font-weight: 700;
  color: #000;
  text-decoration: none;
  letter-spacing: 0.1em;
}
.p-globalnav-megadrop__title > a .u-ic-arrow-b {
  position: absolute;
  top: 50%;
  right: 0;
  width: 1.875rem;
  height: 1.875rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.p-globalnav-megadrop__title > a:focus-visible {
  outline: 2px solid #FF8A8A !important;
  outline-offset: 3px;
}
.p-globalnav-megadrop__menu {
  padding: min(5vw, 1.9375rem) 0 min(5vw, 1.9375rem) min(3vw, 0.9375rem);
  border-top: #B7C3CC 3px solid;
  border-bottom: #B7C3CC 1px solid;
}
.p-globalnav-megadrop__menu ul {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 33% 1.5rem 33% 1.5rem 33%;
  grid-template-columns: repeat(3, 33%);
  grid-auto-flow: column; /* 縦方向に並べて右に折り返す */
  gap: 1.5rem; /* 余白調整 */
  padding: 0;
  margin: 0;
  list-style: none;
}
.p-globalnav-megadrop__menu-company {
  -ms-grid-rows: (auto)[2];
  grid-template-rows: repeat(2, auto); /* 行数を固定（例：2行） */
}
.p-globalnav-megadrop__menu-business {
  -ms-grid-rows: (auto)[3];
  grid-template-rows: repeat(3, auto); /* 行数を固定（例：3行） */
}
.p-globalnav-megadrop__menu-ir {
  -ms-grid-rows: (auto)[3];
  grid-template-rows: repeat(3, auto); /* 行数を固定（例：3行） */
}
.p-globalnav-megadrop__menu li {
  position: relative;
  font-size: min(1.2vw, 0.9375rem);
  line-height: 1.25;
  text-align: left;
  letter-spacing: 0.08em;
}
.p-globalnav-megadrop__menu a {
  position: relative;
  display: inline-block;
  color: #000;
  text-decoration: none;
}
.p-globalnav-megadrop__menu a:focus-visible {
  outline: 2px solid #FF8A8A !important;
  outline-offset: 2px;
}

.l-header.is-scroll .p-globalnav-megadrop {
  padding-top: 6.125rem;
}

.p-globalnav-megadrop.is-visible li:nth-child(1) {
  opacity: 0;
  -webkit-animation: menulist 0.6s ease 0.2s both;
          animation: menulist 0.6s ease 0.2s both;
}

.p-globalnav-megadrop.is-visible li:nth-child(2) {
  opacity: 0;
  -webkit-animation: menulist 0.6s ease 0.3s both;
          animation: menulist 0.6s ease 0.3s both;
}

.p-globalnav-megadrop.is-visible li:nth-child(3) {
  opacity: 0;
  -webkit-animation: menulist 0.6s ease 0.4s both;
          animation: menulist 0.6s ease 0.4s both;
}

.p-globalnav-megadrop.is-visible li:nth-child(4) {
  opacity: 0;
  -webkit-animation: menulist 0.6s ease 0.5s both;
          animation: menulist 0.6s ease 0.5s both;
}

.p-globalnav-megadrop.is-visible li:nth-child(5) {
  opacity: 0;
  -webkit-animation: menulist 0.6s ease 0.6s both;
          animation: menulist 0.6s ease 0.6s both;
}

.p-globalnav-megadrop.is-visible li:nth-child(6) {
  opacity: 0;
  -webkit-animation: menulist 0.6s ease 0.7s both;
          animation: menulist 0.6s ease 0.7s both;
}

.p-globalnav-megadrop.is-visible li:nth-child(7) {
  opacity: 0;
  -webkit-animation: menulist 0.6s ease 0.8s both;
          animation: menulist 0.6s ease 0.8s both;
}

.p-globalnav-megadrop.is-visible li:nth-child(8) {
  opacity: 0;
  -webkit-animation: menulist 0.6s ease 0.9s both;
          animation: menulist 0.6s ease 0.9s both;
}

.p-globalnav-megadrop.is-visible li:nth-child(9) {
  opacity: 0;
  -webkit-animation: menulist 0.6s ease 1s both;
          animation: menulist 0.6s ease 1s both;
}

.p-globalnav-megadrop.is-visible li:nth-child(10) {
  opacity: 0;
  -webkit-animation: menulist 0.6s ease 1.1s both;
          animation: menulist 0.6s ease 1.1s both;
}

@-webkit-keyframes menulist {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes menulist {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
:where(.c-button01) {
  font-size: clamp(1.0625rem, 15.2394366197px + 0.4694835681vw, 1.375rem);
  font-weight: 700;
}

.c-button01 {
  position: relative;
  z-index: 1;
  display: inline-block;
  padding-right: 2.5em;
  line-height: 1.5;
  color: #000;
  text-decoration: none !important;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  background: transparent;
  border: none;
  outline: none;
}
.c-button01.is-disabled, .c-button01:disabled {
  pointer-events: none;
  opacity: 0.5;
}
.c-button01 > i {
  position: absolute;
  top: 55%;
  right: 0;
  z-index: 2;
  width: 2.5rem;
  height: 2.5rem;
  font-size: 1em;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.c-button01--prev {
  padding-right: 0;
  padding-left: 2.5em;
}
.c-button01--prev .u-ic-arrow-b {
  right: auto;
  left: 0;
  -webkit-transform: scale(-1, 1) translateY(-50%);
          transform: scale(-1, 1) translateY(-50%);
  -webkit-transform-origin: center;
          transform-origin: center;
}
.c-button01--size-s {
  font-size: clamp(0.875rem, 13.2957746479px + 0.1877934272vw, 1rem);
}
.c-button01--size-s > i {
  width: 1.875rem;
  height: 1.875rem;
}
.c-button01:focus-visible {
  outline: 2px solid #FF8A8A;
  outline-offset: 0;
}

:where(.c-button02) {
  min-height: 2.5rem;
}

.c-button02 {
  position: relative;
  z-index: 1;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-right: 0.5em;
  padding-left: 0.5em;
  overflow: hidden;
  color: #000;
  text-decoration: none !important;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  background-color: #fff;
  border: none;
  border-radius: 3em;
  outline: #000 solid 1px;
}
.c-button02.is-disabled, .c-button02:disabled {
  pointer-events: none;
  opacity: 0.5;
}
.c-button02--size-s {
  min-height: auto;
}
.c-button02 > span {
  position: relative;
  z-index: 2;
  padding: 0.2em 0.5em;
  font-weight: 700;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 1.25;
  text-align: center;
  text-indent: 0;
  letter-spacing: 0.08em;
}
.c-button02 > span:has(i + *) {
  padding-right: 1.25em;
}
.c-button02 > span:has(:not(i + *)) {
  padding-left: 1.25em;
}
.c-button02 > span i:first-of-type {
  left: 0;
}
.c-button02 > span i:last-of-type {
  right: 0;
}
.c-button02 i {
  position: absolute;
  top: 50%;
  z-index: 2;
  font-size: 1em;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.c-button02 > i:first-child {
  left: 1em;
}
.c-button02 > i:last-child {
  right: 1em;
}
.c-button02 .u-ic-map {
  width: 1em;
  height: 1em;
}
.c-button02:focus-visible {
  outline: 2px solid #FF8A8A;
  outline-offset: 0;
}

.c-button03 {
  position: relative;
  z-index: 1;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: clamp(2.8125rem, 37.9577464789px + 1.8779342723vw, 4.0625rem);
  padding-right: 1em;
  padding-left: 1em;
  overflow: hidden;
  color: #000;
  text-decoration: none !important;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  background-color: #fff;
  border: none;
  border-radius: 3em;
  outline: #000 solid 1px;
}
.c-button03.is-disabled, .c-button03:disabled {
  pointer-events: none;
  opacity: 0.5;
}
.c-button03 > span {
  position: relative;
  z-index: 2;
  padding: 0.2em 0.5em;
  font-weight: 700;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 1.25;
  text-align: center;
  text-indent: 0;
  letter-spacing: 0.08em;
}
.c-button03 > span:has(i + *) {
  padding-right: 1.25em;
}
.c-button03 > span:has(:not(i + *)) {
  padding-right: 1em;
  padding-left: 0;
}
.c-button03__text-s {
  display: block;
  font-size: clamp(0.625rem, 9.6478873239px + 0.0938967136vw, 0.6875rem);
}
.c-button03 i {
  position: absolute;
  top: 50%;
  z-index: 2;
  font-size: 1em;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.c-button03 > i:first-child {
  left: 0.75em;
}
.c-button03 > i:last-child {
  right: 0.75em;
}
.c-button03:focus-visible {
  outline: 2px solid #FF8A8A;
  outline-offset: 0;
}

.c-button-lists {
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: clamp(0.625rem, 6.4788732394px + 0.9389671362vw, 1.25rem);
  width: 100%;
  margin: 0 auto;
  margin-top: clamp(1.875rem, 22.9577464789px + 1.8779342723vw, 3.125rem);
}
.c-button-lists .c-button03 {
  width: 100%;
}

:where(.c-list-disc:not(:first-child), .c-list-number:not(:first-child), .c-list-square:not(:first-child), .c-list-paren:not(:first-child)),
:where(.c-list-disc + p, .c-list-number + p, .c-list-square + p, .c-list-paren + p) {
  margin-top: clamp(1rem, 15.6363636364px + 1.1363636364vw, 2rem);
}

.c-list-disc {
  text-align: left;
  counter-reset: li;
}
.c-list-disc > li {
  position: relative;
  padding-left: 1.5em;
  line-height: inherit;
}
.c-list-disc > li::before {
  position: absolute;
  top: 0.75em;
  left: 0.35em;
  display: inline-block;
  width: 0.4em;
  height: 0.4em;
  content: "";
  background-color: #BF4747;
  border-radius: 50%;
}
.c-list-disc > li:first-child {
  margin-top: 0;
}

.c-list-disc--gap li + li {
  margin-top: 1.5em;
}

.c-list-number {
  text-align: left;
  counter-reset: li;
}
.c-list-number > li {
  position: relative;
  padding-left: 1.6em;
  line-height: inherit;
}
.c-list-number > li::before {
  position: absolute;
  top: 0;
  left: 0.3em;
  display: inline-block;
  width: 2em;
  font-weight: 700;
  content: counter(li) ".";
  counter-increment: li;
}
.c-list-number > li:nth-child(n+10)::before {
  left: -0.3em;
  letter-spacing: -0.05em;
}

.c-list-number--gap > li + li {
  margin-top: 1.5em;
}

.c-list-paren {
  text-align: left;
  counter-reset: li;
}
.c-list-paren > li {
  position: relative;
  padding-left: 2.2em;
  line-height: inherit;
}
.c-list-paren > li::before {
  position: absolute;
  top: 0;
  left: 0.3em;
  display: inline-block;
  width: 2em;
  font-weight: 500;
  content: "(" counter(li) ")";
  counter-increment: li;
}
.c-list-paren > li:nth-child(n+10)::before {
  left: 0;
  letter-spacing: -0.05em;
}

.c-list-paren--gap > li + li {
  margin-top: 1.5em;
}

.c-title01 {
  position: relative;
  z-index: 1;
  line-height: 1.1;
  text-align: left;
}
.c-title01__text-l {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: clamp(1.875rem, 14.1549295775px + 4.2253521127vw, 4.6875rem);
  font-weight: 400;
  letter-spacing: 0.05em;
  background: -webkit-gradient(linear, right top, left top, from(#2f4087), color-stop(33.75%, #303b5e), color-stop(64.43%, #223055), to(#070a11));
  background: linear-gradient(-90deg, #2f4087 0%, #303b5e 33.75%, #223055 64.43%, #070a11 100%); /* テキスト部分に背景をクリップ */
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent; /* テキストの塗りつぶしを透明に */
}
.c-title01__text-l:lang(en) {
  font-family: poppins, sans-serif;
  font-size: clamp(2rem, 15.0985915493px + 4.5070422535vw, 5rem);
}
.c-title01__text-s {
  position: relative;
  display: block;
  padding-left: 1.5em;
  margin-top: 0.5em;
  font-size: clamp(0.9375rem, 13.2394366197px + 0.4694835681vw, 1.25rem);
  font-weight: 400;
  letter-spacing: 0.1em;
}
.c-title01__text-s:lang(en) {
  font-family: poppins, sans-serif;
  font-size: clamp(0.875rem, 12.5915492958px + 0.3755868545vw, 1.125rem);
}
.c-title01__text-s i {
  position: absolute;
  top: 0.05em;
  left: 0;
  width: 1em;
  height: 1em;
}
.c-title01--size-s .c-title01__text-l {
  font-size: clamp(2rem, 23.9014084507px + 2.1596244131vw, 3.4375rem);
}
.c-title01--size-s .c-title01__text-s {
  font-size: clamp(0.9375rem, 13.9436619718px + 0.2816901408vw, 1.125rem);
}

:where(.c-title02:not(:first-child)) {
  margin-top: 3em;
}

:where(.c-title03:not(:first-child), .c-title04:not(:first-child), .c-title05:not(:first-child)) {
  margin-top: 2.5em;
}

:where(.c-title02 + *) {
  margin-top: 2.5em;
}

:where(.c-title03 + *, .c-title04 + *, .c-title05 + *) {
  margin-top: 1.5em;
}

.c-title02 {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: clamp(1.625rem, 22.8309859155px + 0.8450704225vw, 2.1875rem);
  font-weight: 500;
  line-height: 1.2;
  text-align: left;
  letter-spacing: 0.15em;
  background: -webkit-gradient(linear, right top, left top, from(#2f4087), color-stop(33.75%, #303b5e), color-stop(64.43%, #223055), to(#070a11));
  background: linear-gradient(-90deg, #2f4087 0%, #303b5e 33.75%, #223055 64.43%, #070a11 100%); /* テキスト部分に背景をクリップ */
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent; /* テキストの塗りつぶしを透明に */
}
:lang(en) .c-title02 {
  font-family: poppins, sans-serif;
  line-height: 1.5;
  letter-spacing: 0.025em;
}

.c-title03 {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: clamp(1.375rem, 19.1830985915px + 0.7511737089vw, 1.875rem);
  font-weight: 500;
  line-height: 1.5;
  text-align: left;
  background: -webkit-gradient(linear, right top, left top, from(#2f4087), color-stop(33.75%, #303b5e), color-stop(64.43%, #223055), to(#070a11));
  background: linear-gradient(-90deg, #2f4087 0%, #303b5e 33.75%, #223055 64.43%, #070a11 100%); /* テキスト部分に背景をクリップ */
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent; /* テキストの塗りつぶしを透明に */
}

.c-title04 {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: clamp(1.125rem, 16.5915492958px + 0.3755868545vw, 1.375rem);
  font-weight: 500;
  line-height: 1.7;
  text-align: left;
  background: -webkit-gradient(linear, right top, left top, from(#2f4087), color-stop(33.75%, #303b5e), color-stop(64.43%, #223055), to(#070a11));
  background: linear-gradient(-90deg, #2f4087 0%, #303b5e 33.75%, #223055 64.43%, #070a11 100%); /* テキスト部分に背景をクリップ */
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent; /* テキストの塗りつぶしを透明に */
}

.c-title05 {
  position: relative;
  width: 100%;
  padding-bottom: 0.3em;
  font-size: clamp(1.125rem, 15.8873239437px + 0.5633802817vw, 1.5rem);
  font-weight: 500;
  text-align: left;
  letter-spacing: 0.05em;
}
.c-title05::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background: -webkit-gradient(linear, left top, right top, from(#2f4087), color-stop(10%, #303b5e), color-stop(10%, #B7C3CC), to(#B7C3CC));
  background: linear-gradient(90deg, #2f4087 0%, #303b5e 10%, #B7C3CC 10%, #B7C3CC 100%);
}

:where(.c-section) {
  z-index: 3;
  width: 90%;
  padding: clamp(2.5rem, 18.8732394366px + 5.6338028169vw, 6.25rem) clamp(1.25rem, -15.2112676056px + 9.3896713615vw, 7.5rem);
  margin-right: auto;
  margin-left: auto;
  text-align: center;
  text-align: left;
  background-color: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(3px);
  border-radius: 0.625rem;
}
:where(.c-section) + .c-section {
  margin-top: clamp(0.625rem, 0.4580152672px + 2.5445292621vw, 1.25rem);
}

.c-section--bg01 {
  background-color: rgba(255, 223, 223, 0.9);
}

.c-section--bg02 {
  background-color: rgba(245, 245, 245, 0.9);
}

.c-section--bg03 {
  background-color: rgba(250, 250, 250, 0.9);
}

:where(.c-section02) {
  z-index: 3;
  width: 90%;
  padding-top: clamp(2.8125rem, 36.1971830986px + 2.3474178404vw, 4.375rem);
  margin-right: auto;
  margin-left: auto;
  text-align: left;
}

:where(.c-section-wrapper) {
  z-index: 3;
  padding-top: clamp(3.75rem, 45.9154929577px + 3.7558685446vw, 6.25rem);
  padding-bottom: clamp(4.375rem, 52.3943661972px + 4.6948356808vw, 7.5rem);
  text-align: center;
  background-color: #FAFAFA;
}

:where(.c-section-wrapper02) {
  z-index: 3;
  width: 90%;
  padding: clamp(2.5rem, 18.8732394366px + 5.6338028169vw, 6.25rem) clamp(1.25rem, -15.2112676056px + 9.3896713615vw, 7.5rem);
  margin-right: auto;
  margin-left: auto;
  text-align: center;
  text-align: left;
  background-color: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(3px);
  border-radius: 0.625rem;
}

:where(.c-section-wrapper02 section:not(:first-child)) {
  padding-top: clamp(2.8125rem, 30.9154929577px + 3.7558685446vw, 5.3125rem);
}

.c-block01 {
  padding-top: clamp(1.5625rem, 12.676056338px + 3.2863849765vw, 3.75rem);
  padding-bottom: clamp(1.25rem, 5.9154929577px + 3.7558685446vw, 3.75rem);
  text-align: left;
  border-top: #B7C3CC 3px solid;
  border-bottom: #B7C3CC 1px solid;
}
.c-block01__text-area {
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
.c-block01__button-area {
  margin-top: clamp(0.9375rem, 11.8309859155px + 0.8450704225vw, 1.5rem);
  text-align: right;
}
.c-block01__button-area a {
  margin-right: auto;
}

:where(.l-main > .c-text-lead) {
  width: min(90%, 77.5rem);
  margin-top: clamp(2.5rem, 29.4366197183px + 2.8169014085vw, 4.375rem);
  margin-right: auto;
  margin-left: auto;
}

.c-text-lead {
  font-size: clamp(0.875rem, 12.9436619718px + 0.2816901408vw, 1.0625rem);
  font-weight: 500;
  color: #000;
  text-align: left;
}
.c-text-lead + .c-title02 {
  margin-top: clamp(2.5rem, 29.4366197183px + 2.8169014085vw, 4.375rem);
}

/* u-font */
.u-font-wn {
  font-weight: 400;
}
.u-font-wm {
  font-weight: 500;
}
.u-font-wb {
  font-weight: 700;
}
.u-font-size-xs {
  font-size: 80%;
}
.u-font-size-s {
  font-size: 90%;
}
.u-font-size-l {
  font-size: 110%;
}
.u-font-size-xl {
  font-size: 120%;
}
.u-font-size-xxl {
  font-size: 130%;
}

.u-visible-sp {
  display: inline-block;
}

.u-visible-pc {
  display: none;
}

.u-visible-s,
.u-visible-sm,
.u-visible-md,
.u-visible-lg,
.u-visible-xl,
.u-visible-xxl {
  display: none;
}

[class^=u-ic-] {
  display: inline-block;
  width: 1.5em;
  height: 1em;
  line-height: 1.25;
  vertical-align: -0.15em;
}

.u-ic-arrow-w {
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%220%200%2040%2040%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%2220%22%20fill%3D%22none%22%20r%3D%2219%22%20stroke%3D%22%23fff%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.975%22%2F%3E%3Cpath%20d%3D%22m20%2010-1.151%201.151%208.035%208.035h-16.884v1.628h16.884l-8.035%208.034%201.151%201.152%2010-10z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E") no-repeat center center/contain;
}

.u-ic-arrow-b {
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%220%200%2040%2040%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%2220%22%20fill%3D%22none%22%20r%3D%2219%22%20stroke%3D%22%23000%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.975%22%2F%3E%3Cpath%20d%3D%22m20%2010-1.151%201.151%208.035%208.035h-16.884v1.628h16.884l-8.035%208.034%201.151%201.152%2010-10z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E") no-repeat center center/contain;
}

.u-ic-arrow-down {
  width: 1em;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20height%3D%2211.121%22%20viewBox%3D%220%200%2019.414%2011.121%22%20width%3D%2219.414%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22m16%2021.914-9.707-9.707%201.414-1.414%208.293%208.293%208.293-8.293%201.414%201.414z%22%20fill%3D%22%23fff%22%20transform%3D%22translate(-6.293%20-10.793)%22%2F%3E%3C%2Fsvg%3E") no-repeat center center/contain;
}

.u-ic-blank-b {
  width: 1.2em;
  height: 0.9em;
  vertical-align: -0.3em;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20height%3D%2212%22%20viewBox%3D%220%200%2012%2012%22%20width%3D%2212%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20%3E%3CclipPath%20id%3D%22a%22%3E%3Cpath%20d%3D%22m0%200h12v12h-12z%22%2F%3E%3C%2FclipPath%3E%3Cg%20clip-path%3D%22url(%23a)%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%3E%3Cpath%20d%3D%22m.907%201h9.921v9.629%22%20transform%3D%22translate(.218%20.203)%22%2F%3E%3Cpath%20d%3D%22m9.921%200-9.921%209.629%22%20transform%3D%22translate(.877%201.805)%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center/contain;
}

.u-ic-blank-w {
  width: 1em;
  height: 0.9em;
  vertical-align: -0.3em;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20height%3D%2212%22%20viewBox%3D%220%200%2012%2012%22%20width%3D%2212%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20%3E%3CclipPath%20id%3D%22a%22%3E%3Cpath%20d%3D%22m0%200h12v12h-12z%22%2F%3E%3C%2FclipPath%3E%3Cg%20clip-path%3D%22url(%23a)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222%22%3E%3Cpath%20d%3D%22m.907%201h9.921v9.629%22%20transform%3D%22translate(.218%20.203)%22%2F%3E%3Cpath%20d%3D%22m9.921%200-9.921%209.629%22%20transform%3D%22translate(.877%201.805)%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center/contain;
}

.u-ic-blank-secondary {
  width: 1em;
  height: 0.9em;
  vertical-align: -0.3em;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20height%3D%2212%22%20viewBox%3D%220%200%2012%2012%22%20width%3D%2212%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20%3E%3CclipPath%20id%3D%22a%22%3E%3Cpath%20d%3D%22m0%200h12v12h-12z%22%2F%3E%3C%2FclipPath%3E%3Cg%20clip-path%3D%22url(%23a)%22%20fill%3D%22none%22%20stroke%3D%22%23223055%22%20stroke-width%3D%222%22%3E%3Cpath%20d%3D%22m.907%201h9.921v9.629%22%20transform%3D%22translate(.218%20.203)%22%2F%3E%3Cpath%20d%3D%22m9.921%200-9.921%209.629%22%20transform%3D%22translate(.877%201.805)%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center/contain;
}

.u-ic-blank2-b {
  width: 1em;
  height: 0.9em;
  vertical-align: -0.3em;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20height%3D%2223%22%20viewBox%3D%220%200%2023%2023%22%20width%3D%2223%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20%3E%3CclipPath%20id%3D%22a%22%3E%3Cpath%20d%3D%22m0%200h23v23h-23z%22%2F%3E%3C%2FclipPath%3E%3Cg%20clip-path%3D%22url(%23a)%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%3E%3Cpath%20d%3D%22m.907%201h19.015v18.456%22%20transform%3D%22translate(1.249%201.307)%22%2F%3E%3Cpath%20d%3D%22m19.015%200-19.015%2018.456%22%20transform%3D%22translate(1.681%203.46)%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center/contain;
}

.u-ic-blank2-w {
  width: 1em;
  height: 0.9em;
  vertical-align: -0.3em;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20height%3D%2223%22%20viewBox%3D%220%200%2023%2023%22%20width%3D%2223%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20%3E%3CclipPath%20id%3D%22a%22%3E%3Cpath%20d%3D%22m0%200h23v23h-23z%22%2F%3E%3C%2FclipPath%3E%3Cg%20clip-path%3D%22url(%23a)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222%22%3E%3Cpath%20d%3D%22m.907%201h19.015v18.456%22%20transform%3D%22translate(1.249%201.307)%22%2F%3E%3Cpath%20d%3D%22m19.015%200-19.015%2018.456%22%20transform%3D%22translate(1.681%203.46)%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center/contain;
}

.u-ic-blank2-secondary {
  width: 1em;
  height: 0.9em;
  vertical-align: -0.3em;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20height%3D%2223%22%20viewBox%3D%220%200%2023%2023%22%20width%3D%2223%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20%3E%3CclipPath%20id%3D%22a%22%3E%3Cpath%20d%3D%22m0%200h23v23h-23z%22%2F%3E%3C%2FclipPath%3E%3Cg%20clip-path%3D%22url(%23a)%22%20fill%3D%22none%22%20stroke%3D%22%23223055%22%20stroke-width%3D%222%22%3E%3Cpath%20d%3D%22m.907%201h19.015v18.456%22%20transform%3D%22translate(1.249%201.307)%22%2F%3E%3Cpath%20d%3D%22m19.015%200-19.015%2018.456%22%20transform%3D%22translate(1.681%203.46)%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center/contain;
}

.u-ic-acc-open {
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22m2%2010h20c1.105%200%202%20.895%202%202%200%201.105-.895%202-2%202h-20c-1.105%200-2-.895-2-2%200-1.105.895-2%202-2z%22%20fill%3D%22%233f735e%22%2F%3E%3C%2Fsvg%3E") no-repeat center center/contain;
}

.u-ic-acc-close {
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22%233f735e%22%3E%3Crect%20height%3D%224%22%20rx%3D%222%22%20width%3D%2224%22%20y%3D%2210%22%2F%3E%3Crect%20height%3D%2224%22%20rx%3D%222%22%20width%3D%224%22%20x%3D%2210%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center/contain;
}

.u-ic-pdf {
  vertical-align: -0.25em;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20height%3D%2250%22%20viewBox%3D%220%200%2039%2050%22%20width%3D%2239%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20%3E%3CclipPath%20id%3D%22a%22%3E%3Cpath%20d%3D%22m0%200h39v50h-39z%22%2F%3E%3C%2FclipPath%3E%3Cg%20clip-path%3D%22url(%23a)%22%3E%3Cpath%20d%3D%22m26.025%200h-24.305a1.722%201.722%200%200%200%20-1.72%201.724v46.551a1.723%201.723%200%200%200%201.72%201.725h35.56a1.723%201.723%200%200%200%201.72-1.725v-36.955z%22%20fill%3D%22%23f2f2f2%22%2F%3E%3Cpath%20d%3D%22m150.252%2011.32h11.255l-12.975-11.32v9.6a1.723%201.723%200%200%200%201.72%201.724%22%20fill%3D%22%23cbcbcb%22%20transform%3D%22translate(-122.507)%22%2F%3E%3Cpath%20d%3D%22m0%20179.21v16.81a1.723%201.723%200%200%200%201.72%201.725h35.56a1.723%201.723%200%200%200%201.72-1.725v-16.81z%22%20fill%3D%22%23dc0000%22%20transform%3D%22translate(0%20-147.744)%22%2F%3E%3Cpath%20d%3D%22m77.927%2057.12-3.037-2.382a1.29%201.29%200%200%200%20-1.848.262%201.884%201.884%200%200%200%20-.264.794%201.2%201.2%200%200%200%20.528%201.058l5.149%203.969h.132l.132.132a.129.129%200%200%201%20.132.132h.66a.485.485%200%200%200%20.4-.132h.264l5.281-3.969a1.322%201.322%200%200%200%20-1.584-2.117l-3.172%202.385v-12.5a1.32%201.32%200%201%200%20-2.64%200v12.368z%22%20fill%3D%22%23dc0000%22%20transform%3D%22translate(-60.026%20-35.806)%22%2F%3E%3Cg%20fill%3D%22%23fff%22%3E%3Cpath%20d%3D%22m36.2%20212.024v-10.724h3.629a6.774%206.774%200%200%201%202.139.318%203.077%203.077%200%200%201%201.527%201.068%203.319%203.319%200%200%201%20.569%202.049%203.443%203.443%200%200%201%20-.569%202.042%203.352%203.352%200%200%201%20-1.519%201.183%205.541%205.541%200%200%201%20-2.088.383h-1.34v3.68zm2.348-5.542h1.21a2.22%202.22%200%200%200%201.512-.447%201.646%201.646%200%200%200%20.5-1.3%201.335%201.335%200%200%200%20-.533-1.212%202.867%202.867%200%200%200%20-1.556-.346h-1.134z%22%20transform%3D%22translate(-29.856%20-165.957)%22%2F%3E%3Cpath%20d%3D%22m91.846%20212.025v-10.725h3a6.537%206.537%200%200%201%202.837.57%204.1%204.1%200%200%201%201.851%201.739%206.1%206.1%200%200%201%20.655%203%206.367%206.367%200%200%201%20-.648%203.038%204.122%204.122%200%200%201%20-1.822%201.79%206.085%206.085%200%200%201%20-2.744.584zm2.348-1.905h.5a3.665%203.665%200%200%200%201.62-.339%202.335%202.335%200%200%200%201.08-1.111%204.679%204.679%200%200%200%20.382-2.057%204.527%204.527%200%200%200%20-.382-2.042%202.245%202.245%200%200%200%20-1.08-1.061%203.883%203.883%200%200%200%20-1.62-.318h-.5z%22%20transform%3D%22translate(-75.753%20-165.958)%22%2F%3E%3Cpath%20d%3D%22m151.19%20212.024v-10.724h6.7v1.963h-4.35v2.583h3.73v1.963h-3.73v4.214z%22%20transform%3D%22translate(-124.699%20-165.957)%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center/contain;
}

.u-ic-circle {
  width: 1em;
  vertical-align: -0.15em;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20width%3D%2216%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20%3E%3CclipPath%20id%3D%22a%22%3E%3Cpath%20d%3D%22m0%200h8v16h-8z%22%2F%3E%3C%2FclipPath%3E%3CclipPath%20id%3D%22b%22%3E%3Cpath%20d%3D%22m0%200h8v16h-8z%22%2F%3E%3C%2FclipPath%3E%3Cg%20clip-path%3D%22url(%23a)%22%20transform%3D%22matrix(0%201%20-1%200%2016%200)%22%3E%3Cpath%20d%3D%22m7.976%2012a4%204%200%200%201%200-8h.024v-4h-.024a8%208%200%200%200%200%2016h.024v-4z%22%20fill%3D%22%2386dde9%22%20transform%3D%22translate(0%20-.001)%22%2F%3E%3C%2Fg%3E%3Cg%20clip-path%3D%22url(%23b)%22%20transform%3D%22matrix(0%20-1%201%200%200%2016)%22%3E%3Cpath%20d%3D%22m7.976%204a4%204%200%200%200%200%208h.024v4h-.024a8%208%200%200%201%200-16h.024v4z%22%20fill%3D%22%237ceed4%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center/contain;
}

.u-ic-map {
  width: 0.7em;
  vertical-align: -0.15em;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20height%3D%2218%22%20viewBox%3D%220%200%2013%2018%22%20width%3D%2213%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20%3E%3CclipPath%20id%3D%22a%22%3E%3Cpath%20d%3D%22m-.294%200h13v18h-13z%22%2F%3E%3C%2FclipPath%3E%3Cg%20clip-path%3D%22url(%23a)%22%20transform%3D%22translate(.294)%22%3E%3Cpath%20d%3D%22m12.857%206.288a6.359%206.359%200%200%200%20-6.428-6.288%206.359%206.359%200%200%200%20-6.429%206.288%206.146%206.146%200%200%200%20.868%203.145h-.008l4.7%207.96a.925.925%200%200%200%201.738%200l4.702-7.96h-.01a6.15%206.15%200%200%200%20.867-3.145m-6.428%202.447a2.38%202.38%200%201%201%202.432-2.379%202.407%202.407%200%200%201%20-2.432%202.379%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center/contain;
}

/* text */
.u-text-al {
  text-align: left;
}
.u-text-ac {
  text-align: center;
}
.u-text-ar {
  text-align: right;
}
.u-text-aj {
  text-align: justify;
}
.u-text-du {
  text-decoration: underline;
  text-underline-offset: 0.3em;
}
.u-text-dl {
  text-decoration: line-through;
}
.u-text-grd {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background: -webkit-gradient(linear, right top, left top, from(#2f4087), color-stop(33.75%, #303b5e), color-stop(64.43%, #223055), to(#070a11));
  background: linear-gradient(-90deg, #2f4087 0%, #303b5e 33.75%, #223055 64.43%, #070a11 100%);
  -webkit-background-clip: text;
          background-clip: text; /* テキスト部分に背景をクリップ */
  -webkit-text-fill-color: transparent; /* テキストの塗りつぶしを透明に */
}
.u-text-en {
  font-family: poppins, sans-serif;
}

.u-pt0 {
  padding-top: 0rem;
}

.u-pt5 {
  padding-top: 0.3125rem;
}

.u-pt10 {
  padding-top: 0.625rem;
}

.u-pt15 {
  padding-top: 0.9375rem;
}

.u-pt20 {
  padding-top: 1.25rem;
}

.u-pt25 {
  padding-top: 1.5625rem;
}

.u-pt30 {
  padding-top: 1.875rem;
}

.u-pt35 {
  padding-top: 2.1875rem;
}

.u-pt40 {
  padding-top: 2.5rem;
}

.u-pt45 {
  padding-top: 2.8125rem;
}

.u-pt50 {
  padding-top: 3.125rem;
}

.u-pt55 {
  padding-top: 3.4375rem;
}

.u-pt60 {
  padding-top: 3.75rem;
}

.u-pt65 {
  padding-top: 4.0625rem;
}

.u-pt70 {
  padding-top: 4.375rem;
}

.u-pt75 {
  padding-top: 4.6875rem;
}

.u-pt80 {
  padding-top: 5rem;
}

.u-pt85 {
  padding-top: 5.3125rem;
}

.u-pt90 {
  padding-top: 5.625rem;
}

.u-pt95 {
  padding-top: 5.9375rem;
}

.u-pt100 {
  padding-top: 6.25rem;
}

.u-pb0 {
  padding-bottom: 0rem;
}

.u-pb5 {
  padding-bottom: 0.3125rem;
}

.u-pb10 {
  padding-bottom: 0.625rem;
}

.u-pb15 {
  padding-bottom: 0.9375rem;
}

.u-pb20 {
  padding-bottom: 1.25rem;
}

.u-pb25 {
  padding-bottom: 1.5625rem;
}

.u-pb30 {
  padding-bottom: 1.875rem;
}

.u-pb35 {
  padding-bottom: 2.1875rem;
}

.u-pb40 {
  padding-bottom: 2.5rem;
}

.u-pb45 {
  padding-bottom: 2.8125rem;
}

.u-pb50 {
  padding-bottom: 3.125rem;
}

.u-pb55 {
  padding-bottom: 3.4375rem;
}

.u-pb60 {
  padding-bottom: 3.75rem;
}

.u-pb65 {
  padding-bottom: 4.0625rem;
}

.u-pb70 {
  padding-bottom: 4.375rem;
}

.u-pb75 {
  padding-bottom: 4.6875rem;
}

.u-pb80 {
  padding-bottom: 5rem;
}

.u-pb85 {
  padding-bottom: 5.3125rem;
}

.u-pb90 {
  padding-bottom: 5.625rem;
}

.u-pb95 {
  padding-bottom: 5.9375rem;
}

.u-pb100 {
  padding-bottom: 6.25rem;
}

.u-pl0 {
  padding-left: 0rem;
}

.u-pl5 {
  padding-left: 0.3125rem;
}

.u-pl10 {
  padding-left: 0.625rem;
}

.u-pl15 {
  padding-left: 0.9375rem;
}

.u-pl20 {
  padding-left: 1.25rem;
}

.u-pl25 {
  padding-left: 1.5625rem;
}

.u-pl30 {
  padding-left: 1.875rem;
}

.u-pl35 {
  padding-left: 2.1875rem;
}

.u-pl40 {
  padding-left: 2.5rem;
}

.u-pl45 {
  padding-left: 2.8125rem;
}

.u-pl50 {
  padding-left: 3.125rem;
}

.u-pl55 {
  padding-left: 3.4375rem;
}

.u-pl60 {
  padding-left: 3.75rem;
}

.u-pl65 {
  padding-left: 4.0625rem;
}

.u-pl70 {
  padding-left: 4.375rem;
}

.u-pl75 {
  padding-left: 4.6875rem;
}

.u-pl80 {
  padding-left: 5rem;
}

.u-pl85 {
  padding-left: 5.3125rem;
}

.u-pl90 {
  padding-left: 5.625rem;
}

.u-pl95 {
  padding-left: 5.9375rem;
}

.u-pl100 {
  padding-left: 6.25rem;
}

.u-pr0 {
  padding-right: 0rem;
}

.u-pr5 {
  padding-right: 0.3125rem;
}

.u-pr10 {
  padding-right: 0.625rem;
}

.u-pr15 {
  padding-right: 0.9375rem;
}

.u-pr20 {
  padding-right: 1.25rem;
}

.u-pr25 {
  padding-right: 1.5625rem;
}

.u-pr30 {
  padding-right: 1.875rem;
}

.u-pr35 {
  padding-right: 2.1875rem;
}

.u-pr40 {
  padding-right: 2.5rem;
}

.u-pr45 {
  padding-right: 2.8125rem;
}

.u-pr50 {
  padding-right: 3.125rem;
}

.u-pr55 {
  padding-right: 3.4375rem;
}

.u-pr60 {
  padding-right: 3.75rem;
}

.u-pr65 {
  padding-right: 4.0625rem;
}

.u-pr70 {
  padding-right: 4.375rem;
}

.u-pr75 {
  padding-right: 4.6875rem;
}

.u-pr80 {
  padding-right: 5rem;
}

.u-pr85 {
  padding-right: 5.3125rem;
}

.u-pr90 {
  padding-right: 5.625rem;
}

.u-pr95 {
  padding-right: 5.9375rem;
}

.u-pr100 {
  padding-right: 6.25rem;
}

.u-mt0 {
  margin-top: 0rem;
}

.u-mt5 {
  margin-top: 0.3125rem;
}

.u-mt10 {
  margin-top: 0.625rem;
}

.u-mt15 {
  margin-top: 0.9375rem;
}

.u-mt20 {
  margin-top: 1.25rem;
}

.u-mt25 {
  margin-top: 1.5625rem;
}

.u-mt30 {
  margin-top: 1.875rem;
}

.u-mt35 {
  margin-top: 2.1875rem;
}

.u-mt40 {
  margin-top: 2.5rem;
}

.u-mt45 {
  margin-top: 2.8125rem;
}

.u-mt50 {
  margin-top: 3.125rem;
}

.u-mt55 {
  margin-top: 3.4375rem;
}

.u-mt60 {
  margin-top: 3.75rem;
}

.u-mt65 {
  margin-top: 4.0625rem;
}

.u-mt70 {
  margin-top: 4.375rem;
}

.u-mt75 {
  margin-top: 4.6875rem;
}

.u-mt80 {
  margin-top: 5rem;
}

.u-mt85 {
  margin-top: 5.3125rem;
}

.u-mt90 {
  margin-top: 5.625rem;
}

.u-mt95 {
  margin-top: 5.9375rem;
}

.u-mt100 {
  margin-top: 6.25rem;
}

.u-mb0 {
  margin-bottom: 0rem;
}

.u-mb5 {
  margin-bottom: 0.3125rem;
}

.u-mb10 {
  margin-bottom: 0.625rem;
}

.u-mb15 {
  margin-bottom: 0.9375rem;
}

.u-mb20 {
  margin-bottom: 1.25rem;
}

.u-mb25 {
  margin-bottom: 1.5625rem;
}

.u-mb30 {
  margin-bottom: 1.875rem;
}

.u-mb35 {
  margin-bottom: 2.1875rem;
}

.u-mb40 {
  margin-bottom: 2.5rem;
}

.u-mb45 {
  margin-bottom: 2.8125rem;
}

.u-mb50 {
  margin-bottom: 3.125rem;
}

.u-mb55 {
  margin-bottom: 3.4375rem;
}

.u-mb60 {
  margin-bottom: 3.75rem;
}

.u-mb65 {
  margin-bottom: 4.0625rem;
}

.u-mb70 {
  margin-bottom: 4.375rem;
}

.u-mb75 {
  margin-bottom: 4.6875rem;
}

.u-mb80 {
  margin-bottom: 5rem;
}

.u-mb85 {
  margin-bottom: 5.3125rem;
}

.u-mb90 {
  margin-bottom: 5.625rem;
}

.u-mb95 {
  margin-bottom: 5.9375rem;
}

.u-mb100 {
  margin-bottom: 6.25rem;
}

.u-ml0 {
  margin-left: 0rem;
}

.u-ml5 {
  margin-left: 0.3125rem;
}

.u-ml10 {
  margin-left: 0.625rem;
}

.u-ml15 {
  margin-left: 0.9375rem;
}

.u-ml20 {
  margin-left: 1.25rem;
}

.u-ml25 {
  margin-left: 1.5625rem;
}

.u-ml30 {
  margin-left: 1.875rem;
}

.u-ml35 {
  margin-left: 2.1875rem;
}

.u-ml40 {
  margin-left: 2.5rem;
}

.u-ml45 {
  margin-left: 2.8125rem;
}

.u-ml50 {
  margin-left: 3.125rem;
}

.u-ml55 {
  margin-left: 3.4375rem;
}

.u-ml60 {
  margin-left: 3.75rem;
}

.u-ml65 {
  margin-left: 4.0625rem;
}

.u-ml70 {
  margin-left: 4.375rem;
}

.u-ml75 {
  margin-left: 4.6875rem;
}

.u-ml80 {
  margin-left: 5rem;
}

.u-ml85 {
  margin-left: 5.3125rem;
}

.u-ml90 {
  margin-left: 5.625rem;
}

.u-ml95 {
  margin-left: 5.9375rem;
}

.u-ml100 {
  margin-left: 6.25rem;
}

.u-mr0 {
  margin-right: 0rem;
}

.u-mr5 {
  margin-right: 0.3125rem;
}

.u-mr10 {
  margin-right: 0.625rem;
}

.u-mr15 {
  margin-right: 0.9375rem;
}

.u-mr20 {
  margin-right: 1.25rem;
}

.u-mr25 {
  margin-right: 1.5625rem;
}

.u-mr30 {
  margin-right: 1.875rem;
}

.u-mr35 {
  margin-right: 2.1875rem;
}

.u-mr40 {
  margin-right: 2.5rem;
}

.u-mr45 {
  margin-right: 2.8125rem;
}

.u-mr50 {
  margin-right: 3.125rem;
}

.u-mr55 {
  margin-right: 3.4375rem;
}

.u-mr60 {
  margin-right: 3.75rem;
}

.u-mr65 {
  margin-right: 4.0625rem;
}

.u-mr70 {
  margin-right: 4.375rem;
}

.u-mr75 {
  margin-right: 4.6875rem;
}

.u-mr80 {
  margin-right: 5rem;
}

.u-mr85 {
  margin-right: 5.3125rem;
}

.u-mr90 {
  margin-right: 5.625rem;
}

.u-mr95 {
  margin-right: 5.9375rem;
}

.u-mr100 {
  margin-right: 6.25rem;
}

.u-mt-line {
  margin-top: 2em;
}

.u-mt-line2 {
  margin-top: 2.5em;
}

.u-mt-line3 {
  margin-top: 3em;
}

@media (width <= 360px){
  html {
    font-size: 93.75%; /* = 15px */
  }
}

@media (hover: hover) and (pointer: fine){
  :where(.l-main a:not([class])) {
    -webkit-transition: color 0.3s ease;
    transition: color 0.3s ease;
  }
  :where(.l-main a:not([class])):hover {
    color: #000;
    text-decoration: none !important;
  }
  .l-footer-block01__menu button {
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  .l-footer-block01__menu button:hover {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 0.2em;
  }
  .l-footer-block01__menu-sublinks a {
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  .l-footer-block01__menu-sublinks a:hover {
    color: #fff;
    text-decoration: underline;
  }
  .l-footer-block01__menu-links a {
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  .l-footer-block01__menu-links a:hover {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 0.2em;
  }
  .l-footer-block02__links a {
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  .l-footer-block02__links a:hover {
    color: #fff;
  }
  .p-globalnav-sp__menu button {
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  .p-globalnav-sp__menu button:hover {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 0.2em;
  }
  .p-globalnav-sp__menu-sublinks a {
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  .p-globalnav-sp__menu-sublinks a:hover {
    color: #fff;
    text-decoration: underline;
  }
  .p-globalnav-sp__menu > li > a {
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  .p-globalnav-sp__menu > li > a:hover {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 0.2em;
  }
  .p-globalnav-pc__menu01 > li > button,
  .p-globalnav-pc__menu01 > li > a {
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }
  .p-globalnav-pc__menu01 > li > button:hover,
  .p-globalnav-pc__menu01 > li > a:hover {
    background-color: #FFEAEA;
  }
  .p-globalnav-pc__lang-trigger a {
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }
  .p-globalnav-pc__lang-trigger a:hover {
    background-color: #FFEAEA;
  }
  .p-globalnav-megadrop__title > a {
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }
  .p-globalnav-megadrop__title > a:hover {
    opacity: 0.85;
    -webkit-transform: translateX(5%);
            transform: translateX(5%);
  }
  .p-globalnav-megadrop__menu a {
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }
  .p-globalnav-megadrop__menu a:hover {
    opacity: 0.85;
    -webkit-transform: translateX(5%);
            transform: translateX(5%);
  }
  .c-button01 {
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
  }
  .c-button01:hover {
    opacity: 0.8;
    -webkit-transform: translateX(2%);
            transform: translateX(2%);
  }
  .c-button01--prev {
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
  }
  .c-button01--prev:hover {
    -webkit-transform: translateX(-2%);
            transform: translateX(-2%);
  }
  .c-button02 {
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
  }
  .c-button02:hover {
    background-color: #FFEAEA;
    opacity: 0.8;
  }
  .c-button03 {
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
  }
  .c-button03:hover {
    background-color: #FFEAEA;
    opacity: 0.8;
  }
}

@media (pointer: fine), (hover: hover){
  .l-main a[href^="tel:"] {
    color: #000;
    text-decoration: none;
    pointer-events: none;
  }
}

@media (prefers-reduced-motion: no-preference){
  :where(html:focus-within) {
    scroll-behavior: smooth; /* 何かにフォーカスがある場合のみスムーズスクロール */
  }
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none){
  :where(.l-main a:not([class])) {
    -webkit-transition: color 0.3s ease;
    transition: color 0.3s ease;
  }
  :where(.l-main a:not([class])):hover {
    color: #000;
    text-decoration: none !important;
  }
  .l-footer-block01__menu button {
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  .l-footer-block01__menu button:hover {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 0.2em;
  }
  .l-footer-block01__menu-sublinks a {
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  .l-footer-block01__menu-sublinks a:hover {
    color: #fff;
    text-decoration: underline;
  }
  .l-footer-block01__menu-links a {
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  .l-footer-block01__menu-links a:hover {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 0.2em;
  }
  .l-footer-block02__links a {
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  .l-footer-block02__links a:hover {
    color: #fff;
  }
  .p-globalnav-sp__menu button {
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  .p-globalnav-sp__menu button:hover {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 0.2em;
  }
  .p-globalnav-sp__menu-sublinks a {
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  .p-globalnav-sp__menu-sublinks a:hover {
    color: #fff;
    text-decoration: underline;
  }
  .p-globalnav-sp__menu > li > a {
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  .p-globalnav-sp__menu > li > a:hover {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 0.2em;
  }
  .p-globalnav-pc__menu01 > li > button,
  .p-globalnav-pc__menu01 > li > a {
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }
  .p-globalnav-pc__menu01 > li > button:hover,
  .p-globalnav-pc__menu01 > li > a:hover {
    background-color: #FFEAEA;
  }
  .p-globalnav-pc__lang-trigger a {
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }
  .p-globalnav-pc__lang-trigger a:hover {
    background-color: #FFEAEA;
  }
  .p-globalnav-megadrop__title > a {
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }
  .p-globalnav-megadrop__title > a:hover {
    opacity: 0.85;
    -webkit-transform: translateX(5%);
            transform: translateX(5%);
  }
  .p-globalnav-megadrop__menu a {
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }
  .p-globalnav-megadrop__menu a:hover {
    opacity: 0.85;
    -webkit-transform: translateX(5%);
            transform: translateX(5%);
  }
  .c-button01 {
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
  }
  .c-button01:hover {
    opacity: 0.8;
    -webkit-transform: translateX(2%);
            transform: translateX(2%);
  }
  .c-button01--prev {
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
  }
  .c-button01--prev:hover {
    -webkit-transform: translateX(-2%);
            transform: translateX(-2%);
  }
  .c-button02 {
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
  }
  .c-button02:hover {
    background-color: #FFEAEA;
    opacity: 0.8;
  }
  .c-button03 {
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
  }
  .c-button03:hover {
    background-color: #FFEAEA;
    opacity: 0.8;
  }
}

@media print, screen and (min-width: 1200px){
  .l-main {
    padding-top: clamp(12rem, 30vh, 14rem);
  }
}

@media print, screen and (min-width: 768px){
  html {
    scroll-padding-top: 98px;
  }
  html,
  body {
    min-width: 768px;
  }
  :where(.l-main) {
    line-height: 2;
  }
  .l-main {
    padding-top: clamp(11rem, 27vh, 13rem);
  }
  .l-main__inner {
    padding: min(5.83vw, 8rem) 0 0;
  }
  :where(.c-button02) {
    min-height: 2.1875rem;
  }
  .u-visible-sp {
    display: none;
  }
  .u-visible-pc {
    display: inline-block;
  }
}

@media print, screen and (min-width: 992px){
  body.is-gnav-open {
    height: auto;
    overflow: visible;
  }
  .l-header__inner {
    width: 92%;
    height: 7.5rem;
  }
  .l-header__logo svg {
    width: min(20vw, 16rem);
  }
  .l-header.is-scroll .l-header__inner {
    height: 6.125rem;
  }
  .l-header.is-scroll .l-header__logo svg {
    width: min(16.875vw, 13.5rem);
  }
  .l-footer__inner {
    width: 92%;
  }
  .l-footer-block01 {
    -ms-grid-columns: auto min(6rem, 5vw) 1fr;
        grid-template: auto/auto 1fr;
        grid-template-areas: "logo menu";
    gap: min(6rem, 5vw);
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
  .l-footer-block01__logo img {
    width: 12.5rem;
    margin-top: 1.125rem;
    margin-bottom: 1rem;
  }
  .l-footer-block01__logo span {
    font-size: 0.8125rem;
    text-align: left;
  }
  .l-footer-block01__logo {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .l-footer-block01__menu {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .l-footer-block01__menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-grid-columns: 1fr min(5.75rem, 5vw) 1fr min(5.75rem, 5vw) 1fr min(5.75rem, 5vw) 1fr;
    grid-template-columns: repeat(4, 1fr);
    gap: min(5.75rem, 5vw);
    -ms-grid-column-align: end;
        justify-self: end;
    border-top: none;
    border-bottom: none;
  }
  .l-footer-block01__menu button {
    display: none;
    height: auto;
    pointer-events: none; /* ボタン無効化 */
    cursor: default;
    border-bottom: none;
    font-size: 0.9375rem;
  }
  .l-footer-block01__menu button i {
    display: none;
  }
  .l-footer-block01__menu-sublinks {
    display: block;
    max-height: none;
    padding: 0;
    overflow: visible;
    visibility: visible;
    border-bottom: none;
    opacity: 1;
    -webkit-transition: none;
    transition: none;
  }
  .l-footer-block01__menu-sublinks a {
    padding: 1em 0;
    font-size: 0.8125rem;
  }
  .l-footer-block01__menu-col01 .l-footer-block01__menu-sublinks li:first-child a, .l-footer-block01__menu-col02 .l-footer-block01__menu-sublinks li:first-child a, .l-footer-block01__menu-col03 .l-footer-block01__menu-sublinks li:first-child a {
    font-size: 0.9375rem;
    font-weight: 700;
    color: #fff;
  }
  .l-footer-block01__menu-col01 .l-footer-block01__menu-sublinks li:first-child span, .l-footer-block01__menu-col02 .l-footer-block01__menu-sublinks li:first-child span, .l-footer-block01__menu-col03 .l-footer-block01__menu-sublinks li:first-child span {
    display: none;
  }
  .l-footer-block01__menu-links:not(:first-child) {
    margin-top: 1.5rem;
  }
  .l-footer-block01__menu-links li {
    border-top: none;
  }
  .l-footer-block01__menu-links li + li {
    margin-top: 1.25rem;
  }
  .l-footer-block01__menu-links a {
    font-size: 0.9375rem;
    height: auto;
    padding: 1em 0;
  }
  .l-footer-block02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1em;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-top: 1.5rem;
    padding-right: min(2rem, 1vw);
    padding-left: min(2rem, 1vw);
    margin-top: 4.375rem;
  }
  .l-footer-block02__links {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin: 0;
  }
  .l-footer-block02__links a {
    -ms-flex-item-align: start;
        -ms-grid-row-align: start;
        align-self: start;
    font-size: 0.8125rem;
  }
  .l-footer-block02__texts {
    margin-top: 0;
    margin-right: 0;
    text-align: right;
  }
  .l-footer__copyright {
    padding-right: 1em;
    font-size: 0.6875rem;
  }
  .l-footer__note {
    margin-top: 0.625rem;
    font-size: 0.6875rem;
  }
  .p-globalnav-sp-trigger {
    display: none;
  }
  .p-globalnav-sp {
    display: none !important;
  }
  .p-globalnav-sp__logo svg {
    width: min(20vw, 16rem);
  }
  .p-globalnav-sp__menu button i {
    display: none;
  }
  .p-globalnav-sp__menu > li > a {
    font-size: 0.9375rem;
    height: auto;
    padding: 1em 0;
  }
  .p-globalnav-pc {
    position: absolute;
    top: 0;
    right: 0;
    display: -ms-grid;
    display: grid;
    place-items: center;
    width: auto;
    height: 100%;
    pointer-events: all;
    visibility: visible;
    -webkit-transition: 0.5s ease 0.1s;
    transition: 0.5s ease 0.1s;
  }
  .c-button-lists {
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
  }
  :where(.c-section) {
    width: min(90%, 77.5rem);
  }
  :where(.c-section02) {
    width: min(90%, 77.5rem);
  }
  :where(.c-section-wrapper02) {
    width: min(90%, 77.5rem);
  }
  .c-block01 {
    padding-right: clamp(1.25rem, 10.1408450704px + 2.6291079812vw, 3rem);
    padding-left: clamp(1.25rem, 10.1408450704px + 2.6291079812vw, 3rem);
  }
  .c-block01__text-area {
    line-height: 2;
  }
}

@media print, screen and (width <= 575px){
  .u-visible-s {
    display: inline-block;
  }
}

@media print, screen and (width >= 1200px) and (width <= 1365px){
  .u-visible-xl {
    display: inline-block;
  }
}

@media print, screen and (width >= 1366px){
  .u-visible-xxl {
    display: inline-block;
  }
}

@media print, screen and (width >= 576px) and (width <= 767.98px){
  .u-visible-sm {
    display: inline-block;
  }
}

@media print, screen and (width >= 768px) and (width <= 991px){
  .u-visible-md {
    display: inline-block;
  }
}

@media print, screen and (width >= 992px) and (width <= 1199px){
  .u-visible-lg {
    display: inline-block;
  }
}