@charset "UTF-8";
/*----------------------------------------
  Foundation
----------------------------------------*/
/* Reset 
----------------------------------------*/
html {
  -webkit-text-size-adjust: 100%;
  box-sizing: border-box;
  -moz-tab-size: 4;
  tab-size: 4;
  word-break: normal;
}

*,
:after,
:before {
  background-repeat: no-repeat;
  box-sizing: inherit;
}

:after,
:before {
  text-decoration: inherit;
  vertical-align: inherit;
}

* {
  margin: 0;
  padding: 0;
}

hr {
  color: inherit;
  height: 0;
  overflow: visible;
}

details,
main {
  display: block;
}

summary {
  display: list-item;
}

small {
  font-size: 80%;
}

[hidden] {
  display: none;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

a {
  background-color: transparent;
}

a:active,
a:hover {
  outline-width: 0;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
}

pre {
  font-size: 1em;
}

b,
strong {
  font-weight: bolder;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

table {
  border-color: inherit;
  text-indent: 0;
}

iframe {
  border-style: none;
}

input {
  border-radius: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

textarea {
  overflow: auto;
  resize: vertical;
}

button,
input,
optgroup,
select,
textarea {
  font: inherit;
}

optgroup {
  font-weight: 700;
}

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

[role=button],
[type=button],
[type=reset],
[type=submit],
button {
  cursor: pointer;
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

[type=reset],
[type=submit],
button,
html [type=button] {
  -webkit-appearance: button;
}

button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
  outline-width: 0;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
}

select::-ms-expand {
  display: none;
}

select::-ms-value {
  color: currentColor;
}

legend {
  border: 0;
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  color: inherit;
  font: inherit;
}

[disabled] {
  cursor: default;
}

img {
  border-style: none;
}

progress {
  vertical-align: baseline;
}

[aria-busy=true] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled=true] {
  cursor: default;
}

/* Base
----------------------------------------*/
:root {
  --font-ja: "Zen Kaku Gothic New", sans-serif;
  --font-en: "Poppins", sans-serif;
  --color-text: #232323;
  --color-main: #133B7D;
  --color-aso: #C4634B;
  --color-minami-aso: #3B8B40;
  --color-oguni: #2971A6;
  --color-sub: #74B5D8;
  --color-border: #DDEFFB;
}

body {
  margin: 0;
  font-family: var(--font-ja);
  font-style: normal;
  font-size: min(1.1111111111vw, 16px);
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-text);
}
@media (max-width: 767px) {
  body {
    font-size: 3.5897435897vw;
  }
}
body.is-fixed {
  overflow: hidden;
}

ul, ol {
  margin: 0;
  list-style: none;
}

img {
  max-width: 100%;
  display: block;
}

a {
  text-decoration: none;
  color: currentColor;
}

/*----------------------------------------
  Layout
----------------------------------------*/
.l-main-contents {
  overflow-x: hidden;
  padding-top: min(5.5555555556vw, 80px);
}
@media (max-width: 767px) {
  .l-main-contents {
    padding-top: 15.3846153846vw;
  }
}

.l-container {
  max-width: min(97.2222222222vw, 1400px);
  margin-inline: auto;
}
@media (max-width: 767px) {
  .l-container {
    max-width: none;
  }
}
.l-container .full-width {
  margin-inline: calc(50% - 50vw);
  padding-left: calc(50vw - 50%);
  padding-right: calc(50vw - 50%);
}

.l-inner {
  max-width: min(83.3333333333vw, 1200px);
  margin-inline: auto;
}
@media (max-width: 767px) {
  .l-inner {
    max-width: calc(100% - 10.2564102564vw);
  }
}

.l-overlay {
  position: fixed;
  z-index: 998;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s;
}
.l-overlay.is-visible {
  opacity: 1;
  visibility: visible;
}

/* ヘッダー
----------------------------------------*/
.l-header {
  position: fixed;
  z-index: 99;
  top: 0;
  left: 0;
  right: 0;
  padding: min(1.3888888889vw, 20px) 0;
  background: #fff;
}
@media (max-width: 767px) {
  .l-header {
    padding: 2.5641025641vw 0;
  }
}

.l-header__inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 0 min(1.3888888889vw, 20px);
}
@media (max-width: 767px) {
  .l-header__inner {
    padding: 0 5.1282051282vw;
  }
}

.l-header__logo {
  width: min(8.6111111111vw, 124px);
  margin-bottom: max(-3.4027777778vw, -49px);
}
@media (max-width: 767px) {
  .l-header__logo {
    width: 25.641025641vw;
    margin-bottom: -12.8205128205vw;
  }
}

.l-header-menuButton {
  display: none;
}
@media (max-width: 767px) {
  .l-header-menuButton {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2.0512820513vw;
    width: 10.2564102564vw;
    height: 10.2564102564vw;
  }
  .l-header-menuButton span {
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
  }
  .l-header-menuButton span, .l-header-menuButton::before, .l-header-menuButton::after {
    content: "";
    display: inline-block;
    width: 8.2051282051vw;
    height: 0.5128205128vw;
    background: #4A71AE;
    border-radius: 100vmax;
  }
  .no-js .l-header-menuButton {
    display: none !important;
  }
}

/*  ナビゲーション */
@media (max-width: 767px) {
  .l-header-nav {
    display: none;
  }
}

.l-header-nav__list {
  display: flex;
}

.l-header-nav__item:not(:first-child) {
  position: relative;
}
.l-header-nav__item:not(:first-child)::before {
  position: absolute;
  top: min(0.5555555556vw, 8px);
  left: 0;
  content: "";
  width: 1px;
  height: calc(100% - min(1.1111111111vw, 16px));
  background: var(--color-sub);
}

.l-header-nav__link {
  display: block;
  padding: min(0.5555555556vw, 8px) min(2.0833333333vw, 30px);
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  color: currentColor;
}

/* スマホ用メニュー
----------------------------------------*/
.l-sp-menu {
  display: none;
}

@media (max-width: 767px) {
  .l-sp-menu {
    display: block;
    position: fixed;
    z-index: 999;
    top: 0;
    bottom: 0;
    right: 0;
    width: 80%;
    padding: 15.3846153846vw 5.1282051282vw 5.1282051282vw;
    background: #fff;
    visibility: hidden;
    transform: translateX(100%);
    transition: transform 0.3s, visibility 0s 0.3s;
  }
  .l-sp-menu.is-open {
    visibility: visible;
    transform: translateX(0);
    transition: transform 0.3s;
  }
  .l-sp-menu__close {
    position: absolute;
    top: 2.5641025641vw;
    right: 5.1282051282vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 10.2564102564vw;
    height: 10.2564102564vw;
  }
  .l-sp-menu__close::before, .l-sp-menu__close::after {
    content: "";
    display: inline-block;
    width: 8.2051282051vw;
    height: 0.5128205128vw;
    background: #4A71AE;
    border-radius: 100vmax;
    transform-origin: center;
  }
  .l-sp-menu__close::before {
    rotate: -45deg;
    margin-bottom: -0.2564102564vw;
  }
  .l-sp-menu__close::after {
    rotate: 45deg;
    margin-top: -0.2564102564vw;
  }
  .l-sp-menu__inner {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 5.1282051282vw;
    height: 100%;
  }
  .l-sp-menu__logo {
    width: 33.3333333333vw;
    margin: 0 auto;
  }
  .l-sp-menu__list {
    display: flex;
    flex-direction: column;
  }
  .l-sp-menu__item {
    border-bottom: 1px solid var(--color-sub);
  }
  .l-sp-menu__link {
    display: block;
    padding: 4.1025641026vw;
    font-size: 3.5897435897vw;
    font-weight: bold;
    line-height: 2;
  }
  .l-sp-menu__img {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 25.641025641vw;
  }
}
/* フッター
----------------------------------------*/
.l-footer {
  padding: min(4.1666666667vw, 60px) 0 0;
  color: #fff;
  background: var(--color-main);
}
@media (max-width: 767px) {
  .l-footer {
    padding: 15.3846153846vw 0 0;
  }
}

.l-footer__inner {
  padding: 0 min(4.1666666667vw, 60px);
}
@media (max-width: 767px) {
  .l-footer__inner {
    padding: 0 5.1282051282vw;
  }
}

.l-footer__content {
  display: flex;
  justify-content: space-between;
  align-items: start;
}
@media (max-width: 767px) {
  .l-footer__content {
    flex-direction: column;
    align-items: center;
    gap: 5.1282051282vw;
  }
}

.l-footer__logo {
  width: min(13.4027777778vw, 193px);
}
@media (max-width: 767px) {
  .l-footer__logo {
    width: 33.3333333333vw;
  }
}

.l-footer__info {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: min(2.7777777778vw, 40px);
}
@media (max-width: 767px) {
  .l-footer__info {
    align-items: stretch;
    gap: 10.2564102564vw;
  }
}

/*  ナビゲーション */
.l-footer-nav__list {
  display: flex;
  justify-content: flex-end;
  gap: min(3.4722222222vw, 50px);
}
@media (max-width: 767px) {
  .l-footer-nav__list {
    flex-direction: column;
    gap: 0;
  }
}

@media (max-width: 767px) {
  .l-footer-nav__item {
    border-bottom: 1px solid var(--color-sub);
  }
}

.l-footer-nav__link {
  font-size: 1.25em;
  line-height: 1.5;
  transition: opacity 0.3s;
}
@media (max-width: 767px) {
  .l-footer-nav__link {
    display: block;
    padding: 4.1025641026vw;
    font-size: 3.5897435897vw;
    font-weight: bold;
    line-height: 2;
    text-align: center;
  }
}
.l-footer-nav__link:hover {
  opacity: 0.6;
}

/* バナー */
.l-footer-banner__img {
  display: block;
  width: min(33.3333333333vw, 480px);
  transition: opacity 0.3s;
}
@media (max-width: 767px) {
  .l-footer-banner__img {
    width: auto;
  }
}
.l-footer-banner__img:hover {
  opacity: 0.6;
}

.l-footer__copyright {
  margin-top: min(5.5555555556vw, 80px);
  padding: min(1.3888888889vw, 20px) min(4.1666666667vw, 60px);
  font-family: var(--font-en);
  font-size: 0.75em;
  letter-spacing: 0.01em;
  line-height: 1.5;
  text-align: center;
}
@media (max-width: 767px) {
  .l-footer__copyright {
    margin-top: 10.2564102564vw;
    padding: 5.1282051282vw 0;
  }
}

/*----------------------------------------
  Component
----------------------------------------*/
/* h2見出し
----------------------------------------*/
.c-inline-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: min(1.5277777778vw, 22px);
  color: var(--color-main);
}
@media (max-width: 767px) {
  .c-inline-heading {
    flex-direction: column;
    text-align: center;
  }
}
.c-inline-heading__en {
  font-family: var(--font-en);
  font-size: min(5.2777777778vw, 76px);
  font-weight: 600;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .c-inline-heading__en {
    font-size: 9.2307692308vw;
    line-height: 1.25;
  }
}
.c-inline-heading__ja {
  display: flex;
  align-items: center;
  gap: min(1.0416666667vw, 15px);
  font-size: min(2.0833333333vw, 30px);
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-inline-heading__ja {
    gap: 2.5641025641vw;
    font-size: 5.1282051282vw;
  }
}
.c-inline-heading__ja::before, .c-inline-heading__ja::after {
  content: "";
  width: min(1.3888888889vw, 20px);
  height: min(0.2083333333vw, 3px);
  border-radius: 100vmax;
  background: currentColor;
}
@media (max-width: 767px) {
  .c-inline-heading__ja::before, .c-inline-heading__ja::after {
    width: 3.0769230769vw;
    height: 0.5128205128vw;
  }
}

/* 吹き出し
----------------------------------------*/
.c-fukidashi {
  width: fit-content;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: min(1.3888888889vw, 20px);
  font-size: min(1.8055555556vw, 26px);
  font-weight: bold;
  line-height: 2;
  text-align: center;
}
@media (max-width: 767px) {
  .c-fukidashi {
    gap: 5.1282051282vw;
    font-size: 4.6153846154vw;
  }
}
.c-fukidashi::before, .c-fukidashi::after {
  display: inline-block;
  content: "";
  width: min(2.2916666667vw, 33px);
  aspect-ratio: 33/37;
  mask: url("/kumamoto-maas/assets/images/parts_slash.svg") no-repeat center/contain;
  background: currentColor;
}
@media (max-width: 767px) {
  .c-fukidashi::before, .c-fukidashi::after {
    width: 6.4102564103vw;
  }
}
.c-fukidashi::after {
  scale: -1 1;
}

/* ボタン
----------------------------------------*/
.c-button {
  width: fit-content;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.625em;
  border-radius: 100vmax;
  line-height: 1;
  font-weight: bold;
}
.c-button[href=""] {
  color: #fff;
  background: #B3B3B3;
  border: #B3B3B3;
  pointer-events: none;
}

/*  詳しく見るボタン */
.c-button--more {
  min-width: min(16.6666666667vw, 240px);
  padding: min(1.25vw, 18px) min(1.6666666667vw, 24px);
  font-size: min(1.25vw, 18px);
  color: #fff;
  background: var(--color-main);
  transition: opacity 0.3s;
}
@media (max-width: 767px) {
  .c-button--more {
    padding: 3.3333333333vw 5.1282051282vw;
    min-width: 61.5384615385vw;
    font-size: 4.1025641026vw;
  }
}
.c-button--more::after {
  flex-shrink: 0;
  display: inline-block;
  content: "";
  width: min(1.3888888889vw, 20px);
  aspect-ratio: 1/1;
  mask: url("/kumamoto-maas/assets/images/icon_new_tab.svg") no-repeat center/contain;
  background: currentColor;
}
@media (max-width: 767px) {
  .c-button--more::after {
    width: 4.6153846154vw;
  }
}
.c-button--more:hover {
  opacity: 0.6;
}

/*  ダウンロードボタン */
.c-button--dl {
  padding: min(0.625vw, 9px) min(1.3194444444vw, 19px);
  color: var(--color-main);
  background: #fff;
  border: 1px solid var(--color-main);
  transition: color 0.3s, background-color 0.3s;
}
@media (max-width: 767px) {
  .c-button--dl {
    padding: 2.3076923077vw 3.0769230769vw;
  }
}
.c-button--dl::after {
  flex-shrink: 0;
  display: inline-block;
  content: "";
  width: min(1.1805555556vw, 17px);
  aspect-ratio: 17/16;
  mask: url("/kumamoto-maas/assets/images/icon_download.svg") no-repeat center/contain;
  background: currentColor;
  transition: inherit;
}
@media (max-width: 767px) {
  .c-button--dl::after {
    width: 3.8461538462vw;
  }
}
.c-button--dl:hover {
  color: #fff;
  background: var(--color-main);
}

/*----------------------------------------
  Project
----------------------------------------*/
/* メインビジュアル
----------------------------------------*/
.p-mv {
  position: relative;
  z-index: 0;
  height: min(55.5555555556vw, 800px);
  color: #fff;
  background: #78C0E6;
}
@media (max-width: 767px) {
  .p-mv {
    height: 161.5384615385vw;
  }
}

.p-mv__inner {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  height: 100%;
}

.p-mv__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(5.9722222222vw, 86px);
  margin-bottom: min(4.1666666667vw, 60px);
}
@media (max-width: 767px) {
  .p-mv__content {
    gap: 12.8205128205vw;
    margin-bottom: 32.3076923077vw;
  }
}

.p-mv__title {
  top: 0;
  width: min(40.8333333333vw, 588px);
}
@media (max-width: 767px) {
  .p-mv__title {
    width: 65.8974358974vw;
  }
}

.p-mv__text {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: min(2.5vw, 36px);
  font-weight: 900;
  text-align: center;
  text-shadow: min(0.1388888889vw, 2px) min(0.2777777778vw, 4px) 0 rgba(76, 149, 188, 0.8);
}
@media (max-width: 767px) {
  .p-mv__text {
    font-size: 5.1282051282vw;
    line-height: 1.7;
    text-shadow: 0.5128205128vw 1.0256410256vw 0 rgba(76, 149, 188, 0.8);
  }
}
.p-mv__text[data-scroll-anima] {
  transition-delay: 0.5s !important;
}

.p-mv__bg {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 50%;
  bottom: 0;
  translate: -50% 0;
  width: min(166.6666666667vw, 2400px);
  user-select: none;
}
@media (max-width: 767px) {
  .p-mv__bg {
    width: 100%;
  }
}

.p-mv__img {
  position: absolute;
}
.p-mv__img:nth-of-type(1) {
  bottom: max(-5.5555555556vw, -80px);
  left: max(-1.7361111111vw, -25px);
  width: min(14.375vw, 207px);
  aspect-ratio: 207/205;
  background: url("/kumamoto-maas/assets/images/parts_mv_bg1.png") no-repeat center/contain;
}
@media (max-width: 767px) {
  .p-mv__img:nth-of-type(1) {
    bottom: -10.2564102564vw;
    left: 4.1025641026vw;
    width: 31.7948717949vw;
  }
}
.p-mv__img:nth-of-type(2) {
  bottom: max(-18.4722222222vw, -266px);
  right: max(-3.1944444444vw, -46px);
  width: min(23.4027777778vw, 337px);
  aspect-ratio: 337/324;
  background: url("/kumamoto-maas/assets/images/parts_mv_bg2.png") no-repeat center/contain;
}
@media (max-width: 767px) {
  .p-mv__img:nth-of-type(2) {
    bottom: -24.8717948718vw;
    right: 3.8461538462vw;
    width: 37.1794871795vw;
  }
}

/* 冒頭
----------------------------------------*/
.p-intro {
  padding: min(8.6805555556vw, 125px) 0 min(20.1388888889vw, 290px);
  background: #E9F7FF;
}
@media (max-width: 767px) {
  .p-intro {
    padding: 30.7692307692vw 0 43.5897435897vw;
  }
}

.p-intro__inner {
  position: relative;
  z-index: 0;
}

.p-intro__text {
  font-size: min(1.3888888889vw, 20px);
  line-height: 2.8;
  text-align: center;
}
@media (max-width: 767px) {
  .p-intro__text {
    font-size: 3.8461538462vw;
    line-height: 2.2;
  }
}
.p-intro__text > * + * {
  margin-top: 0.5em;
}
@media (max-width: 767px) {
  .p-intro__text > * + * {
    margin-top: 5.641025641vw;
  }
}
.p-intro__text span {
  font-size: 1.2em;
  font-weight: bold;
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-intro__text span {
    font-size: 5.1282051282vw;
  }
}

.p-intro__img {
  position: absolute;
  width: min(8.0555555556vw, 116px);
  bottom: max(-5.5555555556vw, -80px);
  right: min(8.6805555556vw, 125px);
}
@media (max-width: 767px) {
  .p-intro__img {
    display: none;
  }
}

.p-intro__bg {
  position: absolute;
  z-index: -1;
}
.p-intro__bg:nth-of-type(1) {
  top: min(0.6944444444vw, 10px);
  left: max(-2.5vw, -36px);
  width: min(15.8333333333vw, 228px);
  aspect-ratio: 228/122;
  background: url("/kumamoto-maas/assets/images/parts_intro_bg1.png") no-repeat center/contain;
}
@media (max-width: 767px) {
  .p-intro__bg:nth-of-type(1) {
    top: -16.4102564103vw;
    left: -13.3333333333vw;
    width: 36.9230769231vw;
  }
}
.p-intro__bg:nth-of-type(2) {
  top: min(14.3055555556vw, 206px);
  right: max(-16.1805555556vw, -233px);
  width: min(24.2361111111vw, 349px);
  aspect-ratio: 349/205;
  background: url("/kumamoto-maas/assets/images/parts_intro_bg2.png") no-repeat center/contain;
}
@media (max-width: 767px) {
  .p-intro__bg:nth-of-type(2) {
    top: initial;
    bottom: -15.3846153846vw;
    right: -21.2820512821vw;
    width: 40.5128205128vw;
  }
}

/* カルーセル
----------------------------------------*/
.p-carousel {
  padding: 0 !important;
  margin-top: max(-11.5277777778vw, -166px);
}
@media (max-width: 767px) {
  .p-carousel {
    margin-top: -23.0769230769vw;
  }
}
.p-carousel .swiper-wrapper {
  transition-timing-function: linear !important;
}
.p-carousel .swiper-slide {
  overflow: hidden;
  width: min(36.1111111111vw, 520px);
  border-radius: min(1.3888888889vw, 20px);
}
@media (max-width: 767px) {
  .p-carousel .swiper-slide {
    width: 71.7948717949vw;
    border-radius: 3.8461538462vw;
  }
}

/* 全体マップ
----------------------------------------*/
.p-overview {
  padding: min(11.1111111111vw, 160px) 0 min(19.4444444444vw, 280px);
}
@media (max-width: 767px) {
  .p-overview {
    padding: 23.0769230769vw 0 30.7692307692vw;
  }
}

.p-overview__content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: min(4.8611111111vw, 70px);
}
@media (max-width: 767px) {
  .p-overview__content {
    flex-direction: column;
    justify-content: normal;
    align-items: stretch;
    margin-top: 10.2564102564vw;
  }
}

/* マップ描画エリア */
.p-overview__mapWrap {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: min(1.5277777778vw, 22px);
  margin-left: max(-13.8888888889vw, -200px);
}
@media (max-width: 767px) {
  .p-overview__mapWrap {
    flex-direction: column-reverse;
    align-items: center;
    gap: 12.8205128205vw;
    margin-left: 0;
  }
}

.p-overview-map {
  position: relative;
  width: min(57.9166666667vw, 834px);
  pointer-events: none;
}
@media (max-width: 767px) {
  .p-overview-map {
    width: auto;
    margin-left: -23.0769230769vw;
    margin-right: -2.5641025641vw;
  }
}

.p-overview-map__line {
  position: absolute;
  inset: 0;
}

.p-overview-map__bg svg {
  width: 100%;
  height: 100%;
}

.p-overview-map__link {
  pointer-events: all;
  transition: opacity 0.3s;
}
.p-overview-map.is-active .p-overview-map__link, .p-overview-map:hover .p-overview-map__link {
  opacity: 0.2;
}
.p-overview-map__link.is-hover {
  opacity: 1 !important;
}
@media (max-width: 767px) {
  .p-overview-map__link {
    pointer-events: none;
  }
}

/* エリア説明ボックス */
.p-overview-nav {
  display: flex;
  flex-direction: column;
  gap: min(1.6666666667vw, 24px);
  margin-top: min(1.3888888889vw, 20px);
  margin-right: max(-2.7777777778vw, -40px);
}
@media (max-width: 767px) {
  .p-overview-nav {
    gap: 5.1282051282vw;
    margin-top: 4.1025641026vw;
    margin-right: 0;
  }
}

.p-overview-box {
  position: relative;
  z-index: 0;
  display: block;
  width: min(36.1111111111vw, 520px);
  padding: min(1.8055555556vw, 26px) min(6.5277777778vw, 94px) min(1.8055555556vw, 26px) min(2.2222222222vw, 32px);
  border-radius: min(2.0833333333vw, 30px);
  background: #fff;
  border: min(0.2777777778vw, 4px) solid;
  transition: border-color 0.3s;
}
@media (max-width: 767px) {
  .p-overview-box {
    width: auto;
    padding: 4.358974359vw 13.8461538462vw 4.358974359vw 4.358974359vw;
    border-radius: 5.1282051282vw;
    border-width: 0.7692307692vw;
  }
}
.p-overview-box::before {
  position: absolute;
  z-index: -1;
  left: 0;
  translate: -100% 0;
  content: "";
  background: var(--area-color);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s;
}
@media (max-width: 767px) {
  .p-overview-box::before {
    display: none;
  }
}
.p-overview-box[href*=oguni] {
  --area-color: var(--color-oguni);
  border-color: rgba(41, 113, 166, 0.2);
}
@media (max-width: 767px) {
  .p-overview-box[href*=oguni] {
    border-color: var(--color-oguni);
  }
}
.p-overview-box[href*=oguni]::before {
  top: min(6.9444444444vw, 100px);
  width: min(12.6388888889vw, 182px);
  height: min(3.6111111111vw, 52px);
  clip-path: polygon(100% 0, 0 100%, 100% 100%);
}
.p-overview-box[href*=aso] {
  --area-color: var(--color-aso);
  border-color: rgba(196, 99, 75, 0.2);
}
@media (max-width: 767px) {
  .p-overview-box[href*=aso] {
    border-color: var(--color-aso);
  }
}
.p-overview-box[href*=aso]::before {
  top: min(4.5138888889vw, 65px);
  width: min(9.2361111111vw, 133px);
  height: min(6.0416666667vw, 87px);
  clip-path: polygon(100% 41%, 0 0, 100% 100%);
}
.p-overview-box[href*=minami-aso] {
  --area-color: var(--color-minami-aso);
  border-color: rgba(59, 139, 64, 0.2);
}
@media (max-width: 767px) {
  .p-overview-box[href*=minami-aso] {
    border-color: var(--color-minami-aso);
  }
}
.p-overview-box[href*=minami-aso]::before {
  top: max(-3.125vw, -45px);
  width: min(9.4444444444vw, 136px);
  height: min(13.6111111111vw, 196px);
  clip-path: polygon(100% 67%, 0 0, 100% 100%);
}
.p-overview-box::after {
  position: absolute;
  top: 50%;
  right: min(1.8055555556vw, 26px);
  translate: 0 -50%;
  content: "";
  width: min(3.3333333333vw, 48px);
  aspect-ratio: 1/1;
  background: var(--area-color);
  mask: url("/kumamoto-maas/assets/images/icon_arrow_circle.svg") no-repeat center/contain;
}
@media (max-width: 767px) {
  .p-overview-box::after {
    right: 3.3333333333vw;
    width: 8.2051282051vw;
  }
}
.p-overview-box.is-hover {
  border-color: var(--area-color);
}
.p-overview-box.is-hover::before {
  opacity: 1;
}
@media (any-hover: hover) {
  .p-overview-box:hover {
    border-color: var(--area-color);
  }
  .p-overview-box:hover::before {
    opacity: 1;
  }
}

.p-overview-box__head {
  display: flex;
  flex-direction: column;
  gap: min(0.3472222222vw, 5px);
}
@media (max-width: 767px) {
  .p-overview-box__head {
    gap: 2.5641025641vw;
  }
}

.p-overview-box__lead {
  font-size: min(1.3888888889vw, 20px);
  font-weight: bold;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .p-overview-box__lead {
    font-size: 3.5897435897vw;
  }
}

.p-overview-box__title {
  display: flex;
  align-items: center;
  gap: min(0.5555555556vw, 8px);
  font-size: min(2.2222222222vw, 32px);
  font-weight: bold;
  line-height: 1.6;
}
@media (max-width: 767px) {
  .p-overview-box__title {
    gap: 2.0512820513vw;
    font-size: 6.1538461538vw;
  }
}
.p-overview-box__title::before {
  content: "";
  width: min(2.3611111111vw, 34px);
  aspect-ratio: 46/56;
  mask: url("/kumamoto-maas/assets/images/icon_pin.svg") no-repeat center/contain;
  background: var(--area-color);
}
@media (max-width: 767px) {
  .p-overview-box__title::before {
    width: 5.1282051282vw;
  }
}

.p-overview-box__body {
  margin-top: min(0.6944444444vw, 10px);
  display: flex;
  flex-direction: column;
  gap: min(0.3472222222vw, 5px);
}
@media (max-width: 767px) {
  .p-overview-box__body {
    margin-top: 2.0512820513vw;
    gap: 1.2820512821vw;
    font-size: 3.3333333333vw;
  }
}

.p-overview-box__subhead {
  display: flex;
  align-items: center;
  gap: 1em;
  font-size: min(1.25vw, 18px);
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: var(--area-color);
}
@media (max-width: 767px) {
  .p-overview-box__subhead {
    gap: 2.5641025641vw;
    font-size: 3.5897435897vw;
  }
}
.p-overview-box__subhead::after {
  content: "";
  width: block;
  flex-grow: 1;
  height: 1px;
  background: rgba(35, 35, 35, 0.7);
}

/* エリア
----------------------------------------*/
.p-area {
  position: relative;
  padding: min(8.3333333333vw, 120px) 0 min(9.0277777778vw, 130px);
  scroll-margin-top: min(13.8888888889vw, 200px);
}
@media (max-width: 767px) {
  .p-area {
    padding: 12.8205128205vw 0 15.3846153846vw;
    scroll-margin-top: 30.7692307692vw;
  }
}
.p-area + .p-area {
  margin-top: min(12.5vw, 180px);
}
@media (max-width: 767px) {
  .p-area + .p-area {
    margin-top: 30.7692307692vw;
  }
}
.p-area#aso {
  --area-color: var(--color-aso);
  --area-background: #F8F0EF;
  background: var(--area-background);
}
.p-area#minami-aso {
  --area-color: var(--color-minami-aso);
  --area-background: #E6F4E8;
  background: var(--area-background);
}
.p-area#oguni {
  --area-color: var(--color-oguni);
  --area-background: #E8F7FF;
  background: var(--area-background);
}

.p-area__label {
  position: absolute;
  top: 0;
  left: 0;
  translate: 0 -50%;
  content: attr(data-area-label);
  font-family: var(--font-en);
  font-size: min(13.8888888889vw, 200px);
  line-height: 1.5;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .p-area__label {
    font-size: 16.6666666667vw;
  }
}
#aso .p-area__label {
  color: #F5E0DE;
}
#minami-aso .p-area__label {
  color: #CEE6D9;
}
#oguni .p-area__label {
  color: #D7EDF9;
}

.p-area__title {
  position: relative;
  display: flex;
  align-items: center;
  gap: min(1.3888888889vw, 20px);
  font-size: min(3.8888888889vw, 56px);
  font-weight: bold;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .p-area__title {
    gap: 5.1282051282vw;
    font-size: 8.2051282051vw;
  }
}
.p-area__title::before {
  display: inline-block;
  content: "";
  width: min(3.1944444444vw, 46px);
  aspect-ratio: 46/56;
  mask: url("/kumamoto-maas/assets/images/icon_pin.svg") no-repeat center/contain;
  background: var(--area-color);
}
@media (max-width: 767px) {
  .p-area__title::before {
    width: 8.2051282051vw;
  }
}

.p-area__lead {
  margin-top: 2.5em;
  line-height: 2.2;
}
@media (max-width: 767px) {
  .p-area__lead {
    margin-top: 4.1025641026vw;
    line-height: 2;
  }
}

/*  導入部分 */
.p-area-intro {
  position: relative;
}
@media (max-width: 767px) {
  .p-area-intro {
    display: flex;
    flex-direction: column;
    gap: 1.2820512821vw;
  }
}

.p-area-intro__inner {
  max-width: min(42.7083333333vw, 615px);
}
@media (max-width: 767px) {
  .p-area-intro__inner {
    max-width: none;
  }
}

@media (max-width: 767px) {
  .p-area-intro__imgWrap {
    position: relative;
    height: 66.6666666667vw;
  }
}

.p-area-intro__img {
  position: absolute;
}
.p-area-intro__img:nth-of-type(1) {
  top: max(-6.4583333333vw, -93px);
  left: min(46.7361111111vw, 673px);
  width: min(29.4444444444vw, 424px);
}
@media (max-width: 767px) {
  .p-area-intro__img:nth-of-type(1) {
    top: 8.4615384615vw;
    left: 0;
    width: 52.8205128205vw;
  }
}
.p-area-intro__img:nth-of-type(2) {
  top: max(-12.0138888889vw, -173px);
  left: min(75.9027777778vw, 1093px);
  width: min(17.8472222222vw, 257px);
}
@media (max-width: 767px) {
  .p-area-intro__img:nth-of-type(2) {
    top: 0;
    left: 63.5897435897vw;
    width: 35.8974358974vw;
  }
}
.p-area-intro__img:nth-of-type(3) {
  top: min(16.4583333333vw, 237px);
  left: min(78.2638888889vw, 1127px);
  width: min(11.7361111111vw, 169px);
}
@media (max-width: 767px) {
  .p-area-intro__img:nth-of-type(3) {
    top: 41.0256410256vw;
    left: 58.9743589744vw;
    width: 26.4102564103vw;
  }
}

/*  エリアマップ */
.p-area-map {
  margin-top: min(9.7222222222vw, 140px);
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: min(1.3888888889vw, 20px);
}
@media (max-width: 767px) {
  .p-area-map {
    margin-top: 10.2564102564vw;
    gap: 5.1282051282vw;
  }
}

.p-area-map__viewer {
  overflow: hidden;
  position: relative;
  border: min(0.6944444444vw, 10px) solid #fff;
}
@media (max-width: 767px) {
  .p-area-map__viewer {
    border-width: 1.0256410256vw;
  }
}

.p-area-map__link {
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transition: background-image 0.3s;
}
.p-area-map__link[href*=A] {
  top: 21.6885007278%;
  left: 22%;
  width: 21.171875%;
  aspect-ratio: 271/294;
  background-image: url("/kumamoto-maas/assets/images/parts_a.png");
}
.p-area-map__link[href*=A]:hover {
  background-image: url("/kumamoto-maas/assets/images/parts_a_on.png");
}
.p-area-map__link[href*=B] {
  top: 66.0844250364%;
  left: 23.3333333333%;
  width: min(29.0277777778vw, 418px);
  aspect-ratio: 418/206;
  background-image: url("/kumamoto-maas/assets/images/parts_b.png");
}
.p-area-map__link[href*=B]:hover {
  background-image: url("/kumamoto-maas/assets/images/parts_b_on.png");
}
.p-area-map__link[href*=C] {
  top: 33.1877729258%;
  left: 44.8333333333%;
  width: min(17.9166666667vw, 258px);
  aspect-ratio: 258/244;
  background-image: url("/kumamoto-maas/assets/images/parts_c.png");
}
.p-area-map__link[href*=C]:hover {
  background-image: url("/kumamoto-maas/assets/images/parts_c_on.png");
}
.p-area-map__link[href*=D] {
  top: 14.7016011645%;
  left: 5.6666666667%;
  width: min(18.8194444444vw, 271px);
  aspect-ratio: 271/294;
  background-image: url("/kumamoto-maas/assets/images/parts_d.png");
}
.p-area-map__link[href*=D]:hover {
  background-image: url("/kumamoto-maas/assets/images/parts_d_on.png");
}
.p-area-map__link[href*=E] {
  top: 57.4963609898%;
  left: 17.6666666667%;
  width: min(27.0833333333vw, 390px);
  aspect-ratio: 390/224;
  background-image: url("/kumamoto-maas/assets/images/parts_e.png");
}
.p-area-map__link[href*=E]:hover {
  background-image: url("/kumamoto-maas/assets/images/parts_e_on.png");
}
.p-area-map__link[href*=F] {
  top: 48.6171761281%;
  left: 53.5833333333%;
  width: min(17.9166666667vw, 258px);
  aspect-ratio: 258/306;
  background-image: url("/kumamoto-maas/assets/images/parts_f.png");
}
.p-area-map__link[href*=F]:hover {
  background-image: url("/kumamoto-maas/assets/images/parts_f_on.png");
}
.p-area-map__link[href*=G] {
  top: 18.4861717613%;
  left: 30.9166666667%;
  width: min(24.5138888889vw, 353px);
  aspect-ratio: 353/285;
  background-image: url("/kumamoto-maas/assets/images/parts_g.png?20260319");
}
.p-area-map__link[href*=G]:hover {
  background-image: url("/kumamoto-maas/assets/images/parts_g_on.png?20260319");
}
.p-area-map__link[href*=H] {
  top: -1.8922852984%;
  left: 54.3333333333%;
  width: min(15.6944444444vw, 226px);
  aspect-ratio: 226/240;
  background-image: url("/kumamoto-maas/assets/images/parts_h.png?20260319");
}
.p-area-map__link[href*=H]:hover {
  background-image: url("/kumamoto-maas/assets/images/parts_h_on.png?20260319");
}
.p-area-map__link[href*=I] {
  top: 46.4337700146%;
  left: 58.6666666667%;
  width: min(17.7777777778vw, 256px);
  aspect-ratio: 256/348;
  background-image: url("/kumamoto-maas/assets/images/parts_i.png?20260319");
}
.p-area-map__link[href*=I]:hover {
  background-image: url("/kumamoto-maas/assets/images/parts_i_on.png?20260319");
}

@media (max-width: 767px) {
  .p-area-map__scale {
    margin: 5.1282051282vw 0;
    scale: 1.25;
  }
  #aso .p-area-map__scale {
    transform-origin: 30% 75%;
  }
  #minami-aso .p-area-map__scale {
    transform-origin: 17% 57%;
  }
  #oguni .p-area-map__scale {
    transform-origin: 86% 36%;
  }
}

/*  エリア詳細 */
.p-area-content {
  margin-top: min(6.9444444444vw, 100px);
  scroll-margin-top: min(5.5555555556vw, 80px);
  padding: min(3.4722222222vw, 50px) min(4.1666666667vw, 60px) min(5.5555555556vw, 80px);
  border-radius: min(2.0833333333vw, 30px);
  background: #fff;
}
@media (max-width: 767px) {
  .p-area-content {
    margin-top: 12.8205128205vw;
    scroll-margin-top: 15.3846153846vw;
    padding: 7.6923076923vw 5.1282051282vw 12.8205128205vw;
    border-radius: 5.1282051282vw;
  }
}
.p-area-content + .p-area-content {
  margin-top: min(4.1666666667vw, 60px);
}
@media (max-width: 767px) {
  .p-area-content + .p-area-content {
    margin-top: 10.2564102564vw;
  }
}
.p-area-content > *:not(.p-area-content__head) + * {
  margin-top: min(7.6388888889vw, 110px);
}
@media (max-width: 767px) {
  .p-area-content > *:not(.p-area-content__head) + * {
    margin-top: 12.8205128205vw;
  }
}

.p-area-content__head {
  display: flex;
  align-items: center;
  gap: min(1.9444444444vw, 28px);
  padding-bottom: min(2.5694444444vw, 37px);
  border-bottom: 1px solid #B3B3B3;
}
@media (max-width: 767px) {
  .p-area-content__head {
    gap: 3.8461538462vw;
    padding-bottom: 5.1282051282vw;
  }
}

.p-area-content__location {
  flex-shrink: 0;
  display: grid;
  place-content: center;
  width: 2em;
  aspect-ratio: 1/1;
  border-radius: 50%;
  font-family: var(--font-en);
  font-size: min(2.7777777778vw, 40px);
  font-weight: 600;
  line-height: 1;
  color: #fff;
  background: var(--area-color);
}
@media (max-width: 767px) {
  .p-area-content__location {
    font-size: 6.1538461538vw;
  }
}

.p-area-content__title p {
  font-size: min(1.6666666667vw, 24px);
  letter-spacing: 0.01em;
  line-height: 1.2;
}
@media (max-width: 767px) {
  .p-area-content__title p {
    font-size: 3.5897435897vw;
  }
}
.p-area-content__title h3 {
  font-size: min(2.9166666667vw, 42px);
  font-weight: bold;
  line-height: 1.4;
  color: var(--area-color);
}
@media (max-width: 767px) {
  .p-area-content__title h3 {
    font-size: 6.1538461538vw;
  }
}

.p-area-content__body {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  gap: min(4.8611111111vw, 70px);
  margin-top: min(3.4722222222vw, 50px);
}
@media (max-width: 767px) {
  .p-area-content__body {
    flex-direction: column;
    align-items: stretch;
    gap: 7.6923076923vw;
    margin-top: 7.6923076923vw;
  }
}

.p-area-content__img {
  flex-shrink: 0;
  width: min(39.5833333333vw, 570px);
  margin-right: max(-4.1666666667vw, -60px);
}
@media (max-width: 767px) {
  .p-area-content__img {
    width: auto;
    margin-right: 0;
  }
}
.p-area-content__img img {
  border-top-left-radius: min(2.0833333333vw, 30px);
  border-bottom-left-radius: min(2.0833333333vw, 30px);
}
@media (max-width: 767px) {
  .p-area-content__img img {
    border-radius: 5.1282051282vw;
  }
}

.p-area-content__info dt {
  color: var(--area-color);
  font-weight: bold;
}
.p-area-content__info dt span {
  padding: 0 0.625em;
  font-size: 1.125em;
  background: var(--area-background);
}
.p-area-content__info dt:not(:first-child) {
  margin-top: 1.5em;
}
.p-area-content__info dt a {
  margin-left: 0.625em;
  text-decoration: underline;
  transition: opacity 0.3s;
}
.p-area-content__info dt a:hover {
  opacity: 0.6;
}
.p-area-content__info dd {
  margin-top: 0.625em;
  color: #000;
}

.p-area-content__map {
  aspect-ratio: 1080/647;
}
@media (max-width: 767px) {
  .p-area-content__map {
    aspect-ratio: 4/3;
  }
}
.p-area-content__map iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/*  ピックアップエリア */
.p-area-content__pickup {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(2.7083333333vw, 39px);
}
@media (max-width: 767px) {
  .p-area-content__pickup {
    grid-template-columns: auto;
    gap: 7.6923076923vw;
  }
}

.p-area-card {
  display: flex;
  flex-direction: column;
  gap: 1em;
}

.p-area-card__thumb {
  overflow: hidden;
  border-radius: min(1.3888888889vw, 20px);
}
@media (max-width: 767px) {
  .p-area-card__thumb {
    border-radius: 3.8461538462vw;
  }
}
.p-area-card__thumb img {
  transition: scale 0.3s;
}

.p-area-card__text {
  display: flex;
  justify-content: center;
  gap: min(0.6944444444vw, 10px);
  font-size: 1.125em;
  font-weight: bold;
  transition: color 0.3s;
}
@media (max-width: 767px) {
  .p-area-card__text {
    gap: 2.5641025641vw;
  }
}
.p-area-card__text::after {
  display: inline-block;
  content: "";
  width: 1.25em;
  aspect-ratio: 1/1;
  mask: url("/kumamoto-maas/assets/images/icon_arrow_circle.svg") no-repeat center/contain;
  background: var(--area-color);
}

@media (any-hover: hover) {
  .p-area-card:hover .p-area-card__thumb img {
    scale: 1.1;
  }
  .p-area-card:hover .p-area-card__text {
    color: var(--area-color);
  }
}
/* 移動手段
----------------------------------------*/
.p-mobility {
  padding: min(5.5555555556vw, 80px) 0 min(9.7222222222vw, 140px);
  background: var(--color-sub);
}
@media (max-width: 767px) {
  .p-mobility {
    padding: 23.0769230769vw 0;
  }
}
.p-mobility .c-inline-heading {
  color: #fff;
}

.p-mobility__inner {
  position: relative;
}

.p-mobility__img {
  position: absolute;
  top: max(-6.9444444444vw, -100px);
  right: min(8.5416666667vw, 123px);
  width: min(7.7777777778vw, 112px);
}
@media (max-width: 767px) {
  .p-mobility__img {
    top: -30.7692307692vw;
    right: initial;
    left: 0;
    width: 15.3846153846vw;
  }
}

.p-mobility__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: min(4.1666666667vw, 60px);
  margin-top: min(3.4722222222vw, 50px);
}
@media (max-width: 767px) {
  .p-mobility__grid {
    grid-template-columns: auto;
    gap: 10.2564102564vw;
    margin-top: 12.8205128205vw;
  }
}

/* 移動手段詳細 */
.p-mobility-content {
  display: flex;
  flex-direction: column;
  padding: min(2.7777777778vw, 40px) min(4.1666666667vw, 60px) min(2.0833333333vw, 30px);
  border-radius: min(2.0833333333vw, 30px);
  background: #fff;
}
@media (max-width: 767px) {
  .p-mobility-content {
    padding: 7.6923076923vw 5.1282051282vw !important;
    border-radius: 5.1282051282vw;
  }
}
.p-mobility-content.--full {
  grid-column: span 2;
  padding: min(3.4722222222vw, 50px) min(4.1666666667vw, 60px);
}
@media (max-width: 767px) {
  .p-mobility-content.--full {
    grid-column: auto;
  }
}

.p-mobility-content__head {
  display: grid;
  grid-template-areas: "title img" "text img";
  grid-template-columns: 1fr min(34.7222222222vw, 500px);
  grid-template-rows: auto 1fr;
  align-items: start;
  column-gap: min(4.1666666667vw, 60px);
}
@media (max-width: 767px) {
  .p-mobility-content__head {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
}

.p-mobility-content__title {
  grid-area: title;
  font-weight: bold;
  padding-bottom: min(0.3472222222vw, 5px);
  border-bottom: min(0.3472222222vw, 5px) solid var(--color-border);
}
@media (max-width: 767px) {
  .p-mobility-content__title {
    padding-bottom: 1.2820512821vw;
    border-width: 0.7692307692vw;
  }
}
.p-mobility-content__title p {
  margin-bottom: min(1.0416666667vw, 15px);
  font-size: min(1.5277777778vw, 22px);
}
@media (max-width: 767px) {
  .p-mobility-content__title p {
    margin-bottom: 2.5641025641vw;
    font-size: 3.8461538462vw;
  }
}
.p-mobility-content__title h3 {
  font-size: min(1.9444444444vw, 28px);
  line-height: 1.6;
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-mobility-content__title h3 {
    font-size: 5.1282051282vw !important;
  }
}
.p-mobility-content.--full .p-mobility-content__title h3 {
  font-size: min(2.5vw, 36px);
}

.p-mobility-content__img {
  grid-area: img;
  overflow: hidden;
  border-radius: min(1.3888888889vw, 20px);
  margin-top: min(4.1666666667vw, 60px);
}
@media (max-width: 767px) {
  .p-mobility-content__img {
    border-radius: 3.8461538462vw;
    margin-top: 5.1282051282vw !important;
  }
}
.p-mobility-content__head .p-mobility-content__img {
  margin-top: 0;
}

.p-mobility-content__text {
  flex-grow: 1;
  margin-top: 1.25em;
  line-height: 2.2;
  color: #000;
}
@media (max-width: 767px) {
  .p-mobility-content__text {
    margin-top: 5.1282051282vw !important;
    line-height: 2;
  }
}
.p-mobility-content.--full .p-mobility-content__text {
  margin-top: 2.5em;
}

.p-mobility-content__subhead {
  display: block;
  width: fit-content;
  margin-bottom: min(0.6944444444vw, 10px);
  padding: 0 min(0.8333333333vw, 12px);
  font-size: 1.125em;
  font-weight: bold;
  line-height: 2;
  color: var(--color-main);
  border: 1px solid;
}
@media (max-width: 767px) {
  .p-mobility-content__subhead {
    margin-bottom: 1.2820512821vw;
    padding: 0 2.5641025641vw;
    font-size: 3.8461538462vw;
  }
}

.p-mobility-content__map {
  overflow: hidden;
  margin-top: min(4.1666666667vw, 60px);
  aspect-ratio: 1080/476;
}
@media (max-width: 767px) {
  .p-mobility-content__map {
    margin-top: 7.6923076923vw;
    aspect-ratio: 4/3;
  }
}
.p-mobility-content__map iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-mobility-content__button {
  display: flex;
  justify-content: center;
  gap: min(1.3888888889vw, 20px);
  margin-top: min(1.3888888889vw, 20px);
}
@media (max-width: 767px) {
  .p-mobility-content__button {
    flex-direction: column;
    align-items: center;
    gap: 5.1282051282vw;
    margin-top: 7.6923076923vw !important;
  }
}
.p-mobility-content.--full .p-mobility-content__button {
  margin-top: min(3.4722222222vw, 50px);
}

/* その他のMaaS関連情報
----------------------------------------*/
.p-information {
  padding: min(6.9444444444vw, 100px) 0 min(15.9722222222vw, 230px);
}
@media (max-width: 767px) {
  .p-information {
    padding: 23.0769230769vw 0;
  }
}

.p-information__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: min(4.1666666667vw, 60px) min(2.7777777778vw, 40px);
  margin-top: min(3.4722222222vw, 50px);
}
@media (max-width: 767px) {
  .p-information__grid {
    grid-template-columns: auto;
    gap: 10.2564102564vw;
    margin-top: 12.8205128205vw;
  }
}

/*  MaaS詳細 */
.p-information-content {
  padding: min(3.4722222222vw, 50px) min(4.1666666667vw, 60px);
  border-radius: min(1.3888888889vw, 20px);
  background: #F0F3F5;
}
@media (max-width: 767px) {
  .p-information-content {
    padding: 7.6923076923vw 5.1282051282vw;
    border-radius: 3.8461538462vw;
  }
}
.p-information-content.--full {
  display: grid;
  grid-template-columns: min(34.7222222222vw, 500px) 1fr;
  align-items: start;
  gap: min(4.1666666667vw, 60px);
  grid-column: span 2;
}
@media (max-width: 767px) {
  .p-information-content.--full {
    grid-template-columns: auto;
    grid-column: auto;
    align-items: stretch;
    gap: 10.2564102564vw;
  }
}

.p-information-content__img {
  overflow: hidden;
  border-radius: min(1.3888888889vw, 20px);
}
@media (max-width: 767px) {
  .p-information-content__img {
    border-radius: 3.8461538462vw;
  }
}

.p-information-content__body {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: #000;
}

.p-information-content__title {
  font-size: min(2.7777777778vw, 40px);
  font-weight: bold;
}
@media (max-width: 767px) {
  .p-information-content__title {
    font-size: 7.1794871795vw;
  }
}

.p-information-content__text {
  flex-grow: 1;
  margin-top: min(0.6944444444vw, 10px);
  line-height: 2.2;
}
@media (max-width: 767px) {
  .p-information-content__text {
    margin-top: 2.5641025641vw;
    line-height: 2;
  }
}

.p-information-content__button {
  display: flex;
  justify-content: center;
  gap: min(1.3888888889vw, 20px);
  margin-top: min(2.0833333333vw, 30px);
}
@media (max-width: 767px) {
  .p-information-content__button {
    gap: 5.1282051282vw;
    margin-top: 7.6923076923vw;
  }
}

/*   お知らせ */
.p-information-news {
  position: relative;
  z-index: 0;
  display: grid;
  align-items: start;
  grid-template-columns: 1fr min(45.1388888889vw, 650px);
  max-width: calc(100% - min(8.3333333333vw, 120px));
  margin: min(9.7222222222vw, 140px) auto 0;
}
@media (max-width: 767px) {
  .p-information-news {
    align-items: stretch;
    grid-template-columns: auto;
    max-width: calc(100% - 10.2564102564vw);
    margin: 15.3846153846vw auto 0;
  }
}

.p-information-news__title {
  display: grid;
  place-content: center;
  font-size: min(2.7777777778vw, 40px);
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.6;
  text-align: center;
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-information-news__title {
    font-size: 7.1794871795vw;
  }
}

.p-news {
  margin-top: max(-2.4305555556vw, -35px);
}
@media (max-width: 767px) {
  .p-news {
    margin-top: 7.6923076923vw;
  }
}

.p-news__item {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  padding: min(2.4305555556vw, 35px) 0;
  border-bottom: 1px solid #CECECE;
}
@media (max-width: 767px) {
  .p-news__item {
    padding: 3.8461538462vw 0;
    grid-template-columns: auto;
    gap: 2.5641025641vw;
  }
}

.p-news__date {
  width: 8em;
  font-size: min(1.5277777778vw, 22px);
  font-weight: bold;
  line-height: 1;
  color: var(--color-main);
}
@media (max-width: 767px) {
  .p-news__date {
    width: auto;
    font-size: 3.8461538462vw;
  }
}

.p-news__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.p-news__meta p {
  display: flex;
  align-items: center;
  gap: 0.5em;
  font-size: min(1.3888888889vw, 20px);
  line-height: 1;
  color: #000;
}
@media (max-width: 767px) {
  .p-news__meta p {
    font-size: 3.8461538462vw;
  }
}
.p-news__meta p span {
  font-family: var(--font-en);
}

.p-news__bg {
  position: absolute;
  z-index: -1;
}
.p-news__bg:nth-of-type(1) {
  top: min(6.0416666667vw, 87px);
  left: max(-14.7916666667vw, -213px);
  width: min(22.6388888889vw, 326px);
  aspect-ratio: 326/181;
  background: url("/kumamoto-maas/assets/images/parts_news_bg1.png") no-repeat center/contain;
}
@media (max-width: 767px) {
  .p-news__bg:nth-of-type(1) {
    top: 5.1282051282vw;
    left: -25.641025641vw;
    width: 37.6923076923vw;
  }
}
.p-news__bg:nth-of-type(2) {
  top: max(-5.9722222222vw, -86px);
  right: max(-14.0277777778vw, -202px);
  width: min(9.8611111111vw, 142px);
  aspect-ratio: 142/61;
  background: url("/kumamoto-maas/assets/images/parts_news_bg2.png") no-repeat center/contain;
}
@media (max-width: 767px) {
  .p-news__bg:nth-of-type(2) {
    top: -5.1282051282vw;
    right: -12.8205128205vw;
    width: 21.7948717949vw;
  }
}

/*----------------------------------------
  Utility
----------------------------------------*/
/*  ホバーアニメーション */
.u-hoverY {
  overflow: hidden;
  position: relative;
}
.u-hoverY__main, .u-hoverY__sub {
  display: block;
  transition: transform 0.2s, opacity 0.2s;
}
.u-hoverY__main {
  position: relative;
  transform: translateY(0);
  opacity: 1;
}
.u-hoverY__sub {
  position: absolute;
  inset: 0;
  transform: translateY(100%);
  opacity: 0;
  padding: inherit;
}

.u-hoverY:hover .u-hoverY__main {
  transform: translateY(-100%);
  opacity: 0;
}
.u-hoverY:hover .u-hoverY__sub {
  transform: translateY(0);
  opacity: 1;
}

/* スクロールアニメーション */
.is-js .js-bounceIn {
  transform-origin: center;
  transform: scale(0);
  opacity: 0;
  transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.is-js .js-bounceIn[data-scroll-anima=true] {
  transform: scale(1);
  opacity: 1;
}
.is-js .js-fadeInUp {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.6s, transform 0.6s;
}
.is-js .js-fadeInUp[data-scroll-anima=true] {
  opacity: 1;
  transform: translateY(0);
}
.is-js .js-split {
  overflow: hidden;
}
.is-js .js-split span {
  display: inline-block;
  transform: translateY(120%);
  will-change: transform;
}
.is-js .js-split span:nth-of-type(1) {
  animation-delay: 0.05s !important;
}
.is-js .js-split span:nth-of-type(2) {
  animation-delay: 0.1s !important;
}
.is-js .js-split span:nth-of-type(3) {
  animation-delay: 0.15s !important;
}
.is-js .js-split span:nth-of-type(4) {
  animation-delay: 0.2s !important;
}
.is-js .js-split span:nth-of-type(5) {
  animation-delay: 0.25s !important;
}
.is-js .js-split span:nth-of-type(6) {
  animation-delay: 0.3s !important;
}
.is-js .js-split span:nth-of-type(7) {
  animation-delay: 0.35s !important;
}
.is-js .js-split span:nth-of-type(8) {
  animation-delay: 0.4s !important;
}
.is-js .js-split span:nth-of-type(9) {
  animation-delay: 0.45s !important;
}
.is-js .js-split span:nth-of-type(10) {
  animation-delay: 0.5s !important;
}
.is-js .js-split span:nth-of-type(11) {
  animation-delay: 0.55s !important;
}
.is-js .js-split span:nth-of-type(12) {
  animation-delay: 0.6s !important;
}
.is-js .js-split span:nth-of-type(13) {
  animation-delay: 0.65s !important;
}
.is-js .js-split span:nth-of-type(14) {
  animation-delay: 0.7s !important;
}
.is-js .js-split span:nth-of-type(15) {
  animation-delay: 0.75s !important;
}
.is-js .js-split span:nth-of-type(16) {
  animation-delay: 0.8s !important;
}
.is-js .js-split span:nth-of-type(17) {
  animation-delay: 0.85s !important;
}
.is-js .js-split span:nth-of-type(18) {
  animation-delay: 0.9s !important;
}
.is-js .js-split span:nth-of-type(19) {
  animation-delay: 0.95s !important;
}
.is-js .js-split span:nth-of-type(20) {
  animation-delay: 1s !important;
}
.is-js .js-split span:nth-of-type(21) {
  animation-delay: 1.05s !important;
}
.is-js .js-split span:nth-of-type(22) {
  animation-delay: 1.1s !important;
}
.is-js .js-split span:nth-of-type(23) {
  animation-delay: 1.15s !important;
}
.is-js .js-split span:nth-of-type(24) {
  animation-delay: 1.2s !important;
}
.is-js .js-split[data-scroll-anima=true] span {
  animation: 0.9s textSlideUp cubic-bezier(0.23, 1, 0.32, 1) 0.2s forwards;
}
@keyframes textSlideUp {
  0% {
    transform: translateY(120%);
  }
  60% {
    transform: translateY(-10%);
  }
  100% {
    transform: translateY(0%);
  }
}
@media (max-width: 767px) {
  .is-js .js-split:has(br.u-pc-none) {
    clip-path: polygon(0 0, 100% 0, 100% 50%, 0 50%);
  }
  .is-js .js-split:has(br.u-pc-none)[data-word-break="1"] {
    transition-delay: 0.05s;
  }
  .is-js .js-split:has(br.u-pc-none)[data-word-break="2"] {
    transition-delay: 0.1s;
  }
  .is-js .js-split:has(br.u-pc-none)[data-word-break="3"] {
    transition-delay: 0.15s;
  }
  .is-js .js-split:has(br.u-pc-none)[data-word-break="4"] {
    transition-delay: 0.2s;
  }
  .is-js .js-split:has(br.u-pc-none)[data-word-break="5"] {
    transition-delay: 0.25s;
  }
  .is-js .js-split:has(br.u-pc-none)[data-word-break="6"] {
    transition-delay: 0.3s;
  }
  .is-js .js-split:has(br.u-pc-none)[data-word-break="7"] {
    transition-delay: 0.35s;
  }
  .is-js .js-split:has(br.u-pc-none)[data-word-break="8"] {
    transition-delay: 0.4s;
  }
  .is-js .js-split:has(br.u-pc-none)[data-word-break="9"] {
    transition-delay: 0.45s;
  }
  .is-js .js-split:has(br.u-pc-none)[data-word-break="10"] {
    transition-delay: 0.5s;
  }
  .is-js .js-split:has(br.u-pc-none)[data-word-break="11"] {
    transition-delay: 0.55s;
  }
  .is-js .js-split:has(br.u-pc-none)[data-word-break="12"] {
    transition-delay: 0.6s;
  }
  .is-js .js-split:has(br.u-pc-none)[data-scroll-anima=true] {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
}

/* 表示切り替え */
.u-pc-none {
  display: none;
}
@media (max-width: 767px) {
  .u-pc-none {
    display: block;
  }
}

@media (max-width: 767px) {
  .u-sp-none {
    display: none;
  }
}

/* スクリーンリーダーから隠す */
.u-visually-hidden {
  position: absolute;
  white-space: nowrap;
  width: 0px;
  height: 0px;
  overflow: hidden;
  border: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  margin: -1px;
}/*# sourceMappingURL=style.css.map */