@charset "UTF-8";
@-ms-viewport {
  width: device-width;
}
/*--------------------------------------------------------------------------
CSS　カスタム設定(style.css)ver.1 2022.10.05
--------------------------------------------------------------------------*/
/*■■■■■■ 基本設定 ■■■■■■■*/
/*FLAG 青緑　濃い*/
/*FLAG 青緑　薄い*/
/*FLAG 緑　*/
/*■■■■■■ HEADER ■■■■■■■*/
header {
  margin: 0;
}

.header-block {
  margin: 0 auto;
  padding: 0 25px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; /*上下のセンター*/
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; /*左右のセンター*/
  height: 80px;
  background-color: #FFF;
}

.head-logo-box a {
  width: 290px;
  height: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.head-logo-box a img.head-logo {
  width: 100%;
  height: auto;
}

.head-menu-block {
  margin: auto 0 auto auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.header-nav-block {
  margin: 0 auto;
  width: 100%;
  position: relative;
}

.pc-head-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 30px;
}
.pc-head-nav li a {
  font-size: 1.5rem;
  line-height: 1.2;
  font-weight: 400;
}
.pc-head-nav li.head-entry-btn-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}

/*SP ヘッダーロゴ PCでは隠す*/
.sp-head-logo-block {
  display: none;
}

/*ヘッダー　FLAG　エントリーボタン*/
a.head-btn-entry-flag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 240px;
  height: 56px;
  border-radius: 28px;
  overflow: hidden;
  position: relative;
  background-color: #8ec1cb;
  color: #FFF;
  border: 2px solid #006ea1;
}
a.head-btn-entry-flag::after {
  -webkit-animation: 2s 0s shine linear infinite;
          animation: 2s 0s shine linear infinite;
  background: -webkit-gradient(linear, left top, right top, color-stop(25%, rgba(166, 216, 193, 0)), color-stop(50%, rgba(166, 216, 193, 0.6)), color-stop(75%, rgba(166, 216, 193, 0)));
  background: linear-gradient(to right, rgba(166, 216, 193, 0) 25%, rgba(166, 216, 193, 0.6) 50%, rgba(166, 216, 193, 0) 75%);
  content: "";
  height: 100%;
  left: -100%;
  position: absolute;
  top: 0;
  -webkit-transform: skewX(-15deg);
          transform: skewX(-15deg);
  width: 100%;
}
a.head-btn-entry-flag:hover {
  background-color: #006ea1;
}

a.head-btn-entry-flag:link,
a.head-btn-entry-flag:visited,
a.head-btn-entry-flag:hover,
a.head-btn-entry-flag:active {
  color: #FFF;
}

/*ヘッダー　CUBE　エントリーボタン*/
a.head-btn-entry-cube {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 240px;
  height: 56px;
  border-radius: 28px;
  overflow: hidden;
  position: relative;
  background-color: #e4b7ae;
  color: #FFF;
  border: 2px solid #d9988c;
}
a.head-btn-entry-cube::after {
  -webkit-animation: 2s 0s shine linear infinite;
          animation: 2s 0s shine linear infinite;
  background: -webkit-gradient(linear, left top, right top, color-stop(25%, rgba(254, 236, 210, 0)), color-stop(50%, rgba(254, 236, 210, 0.6)), color-stop(75%, rgba(254, 236, 210, 0)));
  background: linear-gradient(to right, rgba(254, 236, 210, 0) 25%, rgba(254, 236, 210, 0.6) 50%, rgba(254, 236, 210, 0) 75%);
  content: "";
  height: 100%;
  left: -100%;
  position: absolute;
  top: 0;
  -webkit-transform: skewX(-15deg);
          transform: skewX(-15deg);
  width: 100%;
}
a.head-btn-entry-cube:hover {
  background-color: #d9988c;
}

a.head-btn-entry-cube:link,
a.head-btn-entry-cube:visited {
  color: #FFF;
}

a.head-btn-entry-cube:hover,
a.head-btn-entry-cube:active {
  color: #fff;
}

@-webkit-keyframes shine {
  20% {
    left: 100%;
  }
  100% {
    left: 100%;
  }
}

@keyframes shine {
  20% {
    left: 100%;
  }
  100% {
    left: 100%;
  }
}
/*■■■■■■ FOOTER ■■■■■■■*/
footer {
  margin: 0 auto;
  width: 100%;
  background-color: #FFF;
}

.footer-block {
  margin: 2em auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  text-align: center;
}

.footer-title {
  font-size: 1.3rem;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
}

.footer-tel-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
  font-size: 3.8rem;
  line-height: 1.2;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  color: #003663;
}
.footer-tel-box img {
  margin: 5px 0 0;
  width: 42px;
  height: auto;
}
.footer-tel-box a:link, .footer-tel-box a:visited, .footer-tel-box a:hover, .footer-tel-box a:active {
  color: #003663;
}

.footer-text-read {
  font-size: 1.1rem;
  line-height: 1.6;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
}
.footer-text-read small {
  font-size: 1rem;
}

.footer-brand-block {
  margin: 3em auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 100px;
  text-align: center;
}

.footer-brand-logo-keihan {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
}
.footer-brand-logo-keihan p {
  font-size: 1rem;
  line-height: 1.6;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
}
.footer-brand-logo-keihan img {
  width: 128px;
  height: auto;
}

.footer-brand-logo-hankyu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
}
.footer-brand-logo-hankyu p {
  font-size: 1rem;
  line-height: 1.6;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
}
.footer-brand-logo-hankyu img {
  width: 180px;
  height: auto;
}

.footer-brand-logo-sekisui {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
}
.footer-brand-logo-sekisui p {
  font-size: 1rem;
  line-height: 1.6;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
}
.footer-brand-logo-sekisui img {
  width: 232px;
  height: auto;
}

.footer-brand-logo-ai-flatz {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
}
.footer-brand-logo-ai-flatz p {
  font-size: 1rem;
  line-height: 1.6;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
}
.footer-brand-logo-ai-flatz img {
  width: 204px;
  height: auto;
}

.footer-menu-block {
  margin: 0 auto;
  padding: 2em 16px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background: linear-gradient(-20deg, #58799c -60%, #003663 100%);
  color: #FFF;
}

.footer-menu {
  margin: 10px 0;
  width: 100%;
  max-width: 290px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
}
.footer-menu li {
  width: 100%;
  text-align: left;
}
.footer-menu li a {
  font-size: 1.5rem;
  color: #FFF;
  -webkit-transition: color 0.35s ease, opacity 0.35s ease;
  transition: color 0.35s ease, opacity 0.35s ease;
}
.footer-menu li a:link, .footer-menu li a:visited {
  color: #FFF;
}
.footer-menu li a:hover, .footer-menu li a:active {
  color: #54b77f;
}

.footer-sub-menu {
  margin: 20px 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2px;
}
.footer-sub-menu li {
  background: rgba(255, 255, 255, 0);
}
.footer-sub-menu li a {
  display: block;
  padding: 8px 15px;
  font-size: 1.3rem;
}
.footer-sub-menu li:first-child {
  border-radius: 10px 10px 0 0;
}
.footer-sub-menu li:last-child {
  border-radius: 0 0 10px 10px;
}
.footer-sub-menu li.menu-no-link a {
  color: #FFF;
  opacity: 0.5;
}

.copyright-block {
  padding: 4em 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.text-copyright {
  font-size: 1.1rem;
  line-height: 1.2;
}

/*■■■■■■■■■■■■■*/
/*■■■■■■■ トップに戻るボタン ■■■■■■*/
.pagetop {
  cursor: pointer;
  position: fixed;
  right: 10px;
  bottom: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 20px;
  z-index: 120;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  background: rgba(0, 0, 0, 0.6);
  /*   デフォルトは非表示 */
  opacity: 0;
}

.pagetop:hover {
  -webkit-box-shadow: 0 0 10px #999;
          box-shadow: 0 0 10px #999;
}

.pagetop:before {
  content: "";
  display: block;
  width: 2px;
  height: 18px;
  background-color: #FFF;
  position: absolute;
  bottom: 11px;
}

.pagetop:after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  border-width: 2px 0 0 2px;
  border-color: #FFF;
  border-style: solid;
  position: absolute;
  bottom: 17px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

/*===============================
■■　スマホ用　■■
===============================*/
/*------------(XS)------------*/
@media (min-width: 320px) and (max-width: 767px) {
  /*header*/
  .header-block {
    display: none;
  }
  /*SP ヘッダーロゴ*/
  .sp-head-logo-block {
    display: block;
    padding: 25px 20px;
  }
  .head-logo {
    display: block;
    width: 155px;
    height: 18px;
    background: url("../images/common/logo-flag.svg") center center/contain no-repeat;
  }
  /*ナビゲーション*/
  .nav_list {
    margin: 0;
    padding: 0 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; /*上下のセンター*/
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; /**/
    width: 100%;
  }
  .nav_list > li {
    margin: 0 0 30px;
    width: 100%;
    position: relative;
  }
  .nav_list > li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5px;
    padding: 0;
    font-size: 1.6rem;
    font-weight: 500;
  }
  .nav_list > li a small {
    font-size: 0.9rem;
  }
  .nav_list > li a:link, .nav_list > li a:visited {
    color: #4e9bc0;
  }
  .nav_list > li a:hover, .nav_list > li a:active {
    color: #006ea1;
  }
  .nav_list > li a.nav-text-flag:link, .nav_list > li a.nav-text-flag:visited {
    color: #3084ab;
  }
  .nav_list > li a.nav-text-cube:link, .nav_list > li a.nav-text-cube:visited, .nav_list > li a.nav-text-cube:hover, .nav_list > li a.nav-text-cube:active {
    color: #d9988c;
  }
  .sub-nav_list {
    margin: 20px 0;
    padding: 10px 0 10px 10px;
    border-left: 1px solid #CCCCCC;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
    gap: 20px;
  }
  .sub-nav_list li {
    position: relative;
  }
  .sub-nav_list li a {
    font-size: 1.4rem;
  }
  .sub-nav_list li a:link, .sub-nav_list li a:visited, .sub-nav_list li a:hover, .sub-nav_list li a:active {
    color: #333;
  }
  .nav-list-flag li a small, .nav-list-cube li a small {
    font-size: 1.4rem;
  }
  .nav-list-main {
    border-top: 1px solid #CCCCCC;
    border-left: 1px solid #CCCCCC;
  }
  .nav-list-main li.menu-no-link:after {
    content: "Coming Soon";
    color: #3084ab;
    font-size: 1.2rem;
    position: absolute;
    right: 0;
    top: 0.2rem;
  }
  .nav-list-main li.menu-link:after {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-width: 2px 2px 0 0;
    border-color: #3084ab;
    border-style: solid;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    position: absolute;
    right: 0;
    top: 10px;
  }
  .nav-list-flag {
    border-top: 1px solid #3084ab;
    border-left: 1px solid #3084ab;
  }
  .nav-list-flag li.menu-no-link:after {
    content: "Coming Soon";
    color: #3084ab;
    font-size: 1.2rem;
    position: absolute;
    right: 0;
    top: 0.2rem;
  }
  .nav-list-flag li.menu-link:after {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-width: 2px 2px 0 0;
    border-color: #3084ab;
    border-style: solid;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    position: absolute;
    right: 0;
    top: 10px;
  }
  .nav-list-cube {
    border-top: 1px solid #d9988c;
    border-left: 1px solid #d9988c;
  }
  .nav-list-cube li.menu-no-link:after {
    content: "Coming Soon";
    color: #d9988c;
    font-size: 1.2rem;
    position: absolute;
    right: 0;
    top: 0.2rem;
  }
  .nav-list-cube li.menu-link:after {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-width: 2px 2px 0 0;
    border-color: #d9988c;
    border-style: solid;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    position: absolute;
    right: 0;
    top: 10px;
  }
  .nav-entry-block {
    margin: 30px 30px 60px;
    padding: 30px 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    border-top: 1px solid #4e9bc0;
    border-bottom: 1px solid #4e9bc0;
  }
  .nav-entry-block li {
    display: block;
    width: 100%;
  }
  .nav-entry-block li a.nav-entry-flag {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    background-color: #016fa1;
    width: 100%;
    height: 46px;
    border-radius: 23px;
    color: #FFF;
    font-size: 1.5rem;
    line-height: 1.2;
  }
  .nav-entry-block li a.nav-entry-flag small {
    font-size: 1rem;
  }
  .nav-entry-block li a.nav-entry-cube {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    background-color: #d9988c;
    width: 100%;
    height: 46px;
    border-radius: 23px;
    color: #FFF;
    font-size: 1.5rem;
    line-height: 1.2;
  }
  .nav-entry-block li a.nav-entry-cube small {
    font-size: 1rem;
  }
  /*ハンバーガーメニュー (XS)*/
  .nav {
    position: fixed;
    right: -100vw;
    top: 0;
    -webkit-transition: -webkit-transform 0.6s;
    transition: -webkit-transform 0.6s;
    transition: transform 0.6s;
    transition: transform 0.6s, -webkit-transform 0.6s;
    width: 100%;
    max-width: 100%;
    height: 100vh;
    padding-top: 60px;
    background-color: #fff;
    border-radius: 6px;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
    z-index: 200;
    overflow-y: auto; /* メニューが多くなったらスクロールできるように */
  }
  .hamburger {
    padding-top: 6px;
    margin-right: 0;
    position: fixed;
    right: 10px;
    top: 10px;
    width: 50px; /* クリックしやすい幅 */
    height: 50px; /* クリックしやすい高さ */
    border-radius: 5px;
    cursor: pointer;
    z-index: 9999;
    background: rgba(0, 0, 0, 0.5);
    color: #58799c;
    border: 0;
    font-size: 0.9rem;
    text-align: center;
  }
  .hamburger_border {
    position: absolute;
    left: 13px;
    width: 24px;
    height: 2px;
    background-color: #FFF;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
  }
  .hamburger_border_top {
    top: 16px;
  }
  .hamburger_border_center {
    top: 24px;
  }
  .hamburger_border_bottom {
    top: 32px;
  }
  .black_bg {
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    z-index: 100;
    background-color: #333;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
    cursor: pointer;
  }
  /* 表示された時用のCSS */
  .nav-open .nav {
    top: 0;
    right: 0;
  }
  .nav-open .black_bg {
    opacity: 0.8;
    visibility: visible;
  }
  .nav-open .hamburger {
    padding-top: 6px;
    margin-right: 0;
    position: fixed;
    right: 10px;
    top: 10px;
    width: 30px; /* クリックしやすい幅 */
    height: 30px; /* クリックしやすい高さ */
    border-radius: 15px;
    border: 1px solid #4e9bc0;
    cursor: pointer;
    z-index: 9999;
    background: rgb(255, 255, 255);
    font-size: 0.9rem;
    text-align: center;
  }
  .nav-open .hamburger_border {
    position: absolute;
    left: 6px;
    width: 16px;
    height: 2px;
    background-color: #4e9bc0;
    -webkit-transition: all 0;
    transition: all 0;
  }
  .nav-open .hamburger_border_top {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    top: 14px;
  }
  .nav-open .hamburger_border_center {
    width: 0;
    left: 50%;
  }
  .nav-open .hamburger_border_bottom {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    top: 14px;
  }
  /*■■■■■■ FOOTER (XS) ■■■■■■■*/
  footer {
    background-color: #FFF;
  }
  .footer-block {
    margin: 2em auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px;
    text-align: center;
  }
  .footer-title {
    font-size: 1.3rem;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
  }
  .footer-tel-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 10px;
    font-size: 3.8rem;
    line-height: 1.2;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    color: #003663;
  }
  .footer-tel-box img {
    margin: 5px 0 0;
    width: 42px;
    height: auto;
  }
  .footer-text-read {
    font-size: 1.1rem;
    line-height: 1.6;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
  }
  .footer-text-read small {
    font-size: 1rem;
  }
  .footer-brand-block {
    margin: 3em auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 35px;
    text-align: center;
  }
  .footer-brand-logo-keihan {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5px;
  }
  .footer-brand-logo-keihan p {
    font-size: 1rem;
    line-height: 1.6;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
  }
  .footer-brand-logo-keihan img {
    width: 128px;
    height: auto;
  }
  .footer-brand-logo-hankyu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5px;
  }
  .footer-brand-logo-hankyu p {
    font-size: 1rem;
    line-height: 1.6;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
  }
  .footer-brand-logo-hankyu img {
    width: 180px;
    height: auto;
  }
  .footer-brand-logo-sekisui {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5px;
  }
  .footer-brand-logo-sekisui p {
    font-size: 1rem;
    line-height: 1.6;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
  }
  .footer-brand-logo-sekisui img {
    width: 232px;
    height: auto;
  }
  .footer-brand-logo-ai-flatz {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5px;
  }
  .footer-brand-logo-ai-flatz p {
    font-size: 1rem;
    line-height: 1.6;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
  }
  .footer-brand-logo-ai-flatz img {
    width: 204px;
    height: auto;
  }
  .footer-menu-block {
    padding: 2em 16px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    background: linear-gradient(-20deg, #58799c -60%, #003663 100%);
    color: #FFF;
  }
  .footer-menu {
    margin: 10px 0;
    width: 100%;
    max-width: 290px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 15px;
  }
  .footer-menu li {
    width: 100%;
    text-align: left;
  }
  .footer-menu li a {
    font-size: 1.5rem;
    color: #FFF;
  }
  .footer-sub-menu {
    margin: 20px 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2px;
  }
  .footer-sub-menu li {
    background: rgba(255, 255, 255, 0);
  }
  .footer-sub-menu li a {
    display: block;
    padding: 8px 15px;
    font-size: 1.3rem;
  }
  .footer-sub-menu li:first-child {
    border-radius: 10px 10px 0 0;
  }
  .footer-sub-menu li:last-child {
    border-radius: 0 0 10px 10px;
  }
  .copyright-block {
    padding: 4em 0 6em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .text-copyright {
    font-size: 1.1rem;
    line-height: 1.2;
  }
  /* =========================
    スマホ版ロゴ
  ========================= */
  .header-logo-sp {
    position: absolute;
    top: 10px;
    left: 10px;
  }
  .header-logo-sp a {
    display: block;
    width: auto;
    height: 40px;
  }
  .header-logo-sp img {
    height: 40px;
    width: auto;
  }
  /*FLAG　＆　CUBE　ドロップダウン群(XS)*/
  /* =========================
    位置調節 スマホでは見せない
  ========================= */
  .dropdown-group {
    display: none;
  }
  /* =========================
    フッターフローティングエントリーボタン
    ラップ(XS)
  ========================= */
  /* =========================
    トグルボタン(XS)
  ========================= */
  .entry-toggle {
    position: fixed;
    bottom: 53px;
    right: 7px;
    z-index: 998;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    /* 通常 */
    background: #139cac;
    color: #fff;
    border: 2px solid #139cac;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
    font-size: 0.9rem;
    line-height: 1.3;
    font-weight: 500;
    border: 2px solid #FFF;
    cursor: pointer;
  }
  /* 開いた時 */
  .entry-toggle.open {
    background: #fff;
    color: #139cac;
  }
  /* =========================
    パネル(XS)
  ========================= */
  .entry-panel {
    position: fixed;
    bottom: 50px;
    right: 5px;
    left: 5px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 6px;
    background: #139cac;
    border-radius: 32px;
    padding: 6px 68px 6px 6px;
    /* ↑右に余白作る（ボタン分40px + α） */
    z-index: 997; /* ボタンより下 */
    opacity: 0;
    -webkit-transform: translateX(20px);
            transform: translateX(20px);
    pointer-events: none;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
  /* 開いた時 */
  .entry-panel.open {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
    pointer-events: auto;
  }
  /* =========================
    中のボタン(XS)
  ========================= */
  .entry-btn {
    background: #fff;
    border-radius: 26px;
    height: 52px;
    padding: 2px 12px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
  }
  .entry-btn small {
    font-size: 1.2rem;
    line-height: 1.2;
    font-weight: 600;
  }
  .entry-btn span {
    font-size: 1.5rem;
    line-height: 1.4;
    font-weight: 600;
  }
  .entry-btn.flag {
    border: 2px solid #4c99bd;
  }
  .entry-btn.cube {
    border: 2px solid #d9988c;
  }
  .entry-btn.flag small,
  .entry-btn.flag span {
    color: #4c99bd;
  }
  .entry-btn.cube small,
  .entry-btn.cube span {
    color: #d9988c;
  }
  /* =========================
    フッターボタン群（SP想定）
  ========================= */
  .footer-menu-sp-group {
    position: fixed;
    width: 100%;
    bottom: 5px;
    right: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 5px;
    padding: 0 50px 0 5px; /* 左10 / 右60 */
    z-index: 100;
  }
  /* ボタン */
  .footer-menu-sp-group a {
    height: 40px;
    padding: 0 14px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; /* ←これが本質（均等割り） */
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 3px;
    background: rgba(0, 0, 0, 0.6);
    color: #fff;
    border-radius: 6px;
    text-decoration: none;
    font-size: 1.3rem;
    white-space: nowrap;
  }
  .footer-menu-sp-group a:link, .footer-menu-sp-group a:visited, .footer-menu-sp-group a:hover, .footer-menu-sp-group a:active {
    color: #fff;
  }
  .footer-menu-sp-group a img {
    width: 13px;
    height: 13px;
  }
  /*■■■■■■■ トップに戻るボタン(XS) ■■■■■■*/
  .pagetop {
    right: 5px;
    bottom: 5px;
  }
} /*xs*/
/*------------(PC)------------*/
@media (min-width: 1024px) {
  /*ハンバーガーメニュー　PC*/
  .nav {
    right: -100%; /* 右から出てくる */
    top: 90px;
    width: auto;
    height: auto;
    padding: 20px 50px 50px;
    background-color: #fff;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
    z-index: 200;
    overflow-y: auto; /* メニューが多くなったらスクロールできるように */
    border-radius: 6px;
  }
  .hamburger {
    padding-top: 6px;
    margin-right: 0;
    position: fixed;
    right: 15px;
    top: 100px;
    width: 50px; /* クリックしやすい幅 */
    height: 50px; /* クリックしやすい高さ */
    cursor: pointer;
    z-index: 9999;
    background: rgba(0, 0, 0, 0);
    color: #58799c;
    border: 0;
    font-size: 0.9rem;
    text-align: center;
  }
  .hamburger_border {
    position: absolute;
    left: 5px;
    width: 40px;
    height: 3px;
    background-color: #04707d;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
  }
  .hamburger_border_top {
    top: 15px;
  }
  .hamburger_border_center {
    top: 23px;
  }
  .hamburger_border_bottom {
    top: 31px;
  }
  .black_bg {
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    z-index: 100;
    background-color: #333;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
    cursor: pointer;
  }
  /* 表示された時用のCSS */
  .nav-open .nav {
    right: 10px;
  }
  .nav-open .black_bg {
    opacity: 0;
    visibility: visible;
  }
  .nav-open .hamburger_border {
    left: 10px;
    width: 30px;
    height: 2px;
    background-color: #04707d;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
  }
  .nav-open .hamburger_border_top {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    top: 24px;
  }
  .nav-open .hamburger_border_center {
    width: 0;
    left: 50%;
  }
  .nav-open .hamburger_border_bottom {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    top: 24px;
  }
  /*ナビゲーション PC*/
  .nav_list {
    margin: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; /*上下のセンター*/
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; /**/
  }
  .nav_list > li {
    margin: 0;
    padding: 20px 10px;
    text-align: left;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 40px;
    width: 100%;
    border-bottom: 1px solid #04707d;
  }
  .nav_list > li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5px;
    padding: 0;
    font-size: 1.6rem;
    font-weight: 500;
  }
  .nav_list > li a small {
    font-size: 1.6rem;
  }
  .nav_list > li a:link, .nav_list > li a:visited {
    color: #04707d;
  }
  .nav_list > li a:hover, .nav_list > li a:active {
    color: #4e9bc0;
  }
  .nav_list > li a.nav-text-flag:link {
    color: #2181ad;
  }
  .nav_list > li a.nav-text-flag:hover, .nav_list > li a.nav-text-flag:active {
    color: #4e9bc0;
  }
  .nav_list > li a.nav-text-cube:link, .nav_list > li a.nav-text-cube:visited, .nav_list > li a.nav-text-cube:hover, .nav_list > li a.nav-text-cube:active {
    color: #d9988c;
  }
  .nav_list li.sp-view {
    display: none;
  }
  .list-top-box, .nav-text-flag, .nav-text-cube {
    width: 200px;
  }
  .sub-nav_list {
    margin: 0;
    padding: 0;
    border-left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 40px;
  }
  .sub-nav_list.nav-list-main {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 20px 1fr;
    grid-template-columns: repeat(2, 1fr); /* 2列 */
    gap: 20px; /* 余白はお好みで */
    padding: 0;
    margin: 0;
    list-style: none;
  }
  .sub-nav_list.nav-list-main li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 10px;
  }
  .sub-nav_list.nav-list-main li a:link, .sub-nav_list.nav-list-main li a:visited {
    color: #04707d;
  }
  .sub-nav_list.nav-list-main li a:link span, .sub-nav_list.nav-list-main li a:visited span {
    font-size: 1.6rem;
  }
  .sub-nav_list.nav-list-main li a:link small, .sub-nav_list.nav-list-main li a:visited small {
    color: #333;
    font-size: 1.2rem;
  }
  .sub-nav_list.nav-list-main li a:hover, .sub-nav_list.nav-list-main li a:active {
    color: #4e9bc0;
  }
  .sub-nav_list.nav-list-main li a:hover small, .sub-nav_list.nav-list-main li a:active small {
    color: #333;
  }
  .sub-nav_list.nav-list-main li.menu-no-link {
    position: relative;
  }
  .sub-nav_list.nav-list-main li.menu-no-link a {
    font-size: 1.6rem;
    color: #CCC;
  }
  .sub-nav_list.nav-list-main li.menu-no-link a:link, .sub-nav_list.nav-list-main li.menu-no-link a:visited, .sub-nav_list.nav-list-main li.menu-no-link a:hover, .sub-nav_list.nav-list-main li.menu-no-link a:active {
    color: #CCC;
  }
  .sub-nav_list.nav-list-flag {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: -webkit-max-content 20px -webkit-max-content 20px -webkit-max-content;
    -ms-grid-columns: max-content 20px max-content 20px max-content;
    grid-template-columns: -webkit-max-content -webkit-max-content -webkit-max-content;
    grid-template-columns: max-content max-content max-content;
    gap: 20px; /* 余白はお好みで */
    padding: 0;
    margin: 0;
    list-style: none;
  }
  .sub-nav_list.nav-list-flag li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 10px;
  }
  .sub-nav_list.nav-list-flag li a:link, .sub-nav_list.nav-list-flag li a:visited {
    color: #04707d;
  }
  .sub-nav_list.nav-list-flag li a:link span, .sub-nav_list.nav-list-flag li a:visited span {
    font-size: 1.6rem;
  }
  .sub-nav_list.nav-list-flag li a:link small, .sub-nav_list.nav-list-flag li a:visited small {
    color: #333;
    font-size: 1.2rem;
  }
  .sub-nav_list.nav-list-flag li a:hover, .sub-nav_list.nav-list-flag li a:active {
    color: #4e9bc0;
  }
  .sub-nav_list.nav-list-flag li a:hover small, .sub-nav_list.nav-list-flag li a:active small {
    color: #333;
  }
  .sub-nav_list.nav-list-flag li.menu-no-link {
    position: relative;
  }
  .sub-nav_list.nav-list-flag li.menu-no-link a {
    font-size: 1.6rem;
    color: #CCC;
  }
  .sub-nav_list.nav-list-flag li.menu-no-link a:link, .sub-nav_list.nav-list-flag li.menu-no-link a:visited, .sub-nav_list.nav-list-flag li.menu-no-link a:hover, .sub-nav_list.nav-list-flag li.menu-no-link a:active {
    color: #CCC;
  }
  .sub-nav_list.nav-list-cube {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: -webkit-max-content 20px -webkit-max-content 20px -webkit-max-content;
    -ms-grid-columns: max-content 20px max-content 20px max-content;
    grid-template-columns: -webkit-max-content -webkit-max-content -webkit-max-content;
    grid-template-columns: max-content max-content max-content;
    gap: 20px; /* 余白はお好みで */
    padding: 0;
    margin: 0;
    list-style: none;
  }
  .sub-nav_list.nav-list-cube li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 10px;
  }
  .sub-nav_list.nav-list-cube li a:link, .sub-nav_list.nav-list-cube li a:visited {
    color: #d9988c;
  }
  .sub-nav_list.nav-list-cube li a:link span, .sub-nav_list.nav-list-cube li a:visited span {
    font-size: 1.6rem;
  }
  .sub-nav_list.nav-list-cube li a:link small, .sub-nav_list.nav-list-cube li a:visited small {
    color: #333;
    font-size: 1.2rem;
  }
  .sub-nav_list.nav-list-cube li a:hover, .sub-nav_list.nav-list-cube li a:active {
    color: #e9a759;
  }
  .sub-nav_list.nav-list-cube li a:hover small, .sub-nav_list.nav-list-cube li a:active small {
    color: #333;
  }
  .sub-nav_list.nav-list-cube li.menu-no-link {
    position: relative;
  }
  .sub-nav_list.nav-list-cube li.menu-no-link a {
    font-size: 1.6rem;
    color: #CCC;
  }
  .sub-nav_list.nav-list-cube li.menu-no-link a:link, .sub-nav_list.nav-list-cube li.menu-no-link a:visited, .sub-nav_list.nav-list-cube li.menu-no-link a:hover, .sub-nav_list.nav-list-cube li.menu-no-link a:active {
    color: #CCC;
  }
  /*メニュー内リンクボタン隠す*/
  .nav-entry-block {
    display: none;
  }
  /* =========================
    フッターボタン群（PCでは隠す）
  ========================= */
  .footer-menu-sp-group {
    display: none;
  }
  /* =========================
    フッターフローティングエントリーボタン
  PCでは隠す
  ========================= */
  /* =========================
    トグルボタン
  ========================= */
  .entry-toggle, .entry-panel {
    display: none;
  }
  /*■■■■■■ FOOTER ■■■■■■■*/
  footer {
    background-color: #FFF;
  }
  .footer-block {
    margin: 2em auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px;
    text-align: center;
  }
  .footer-title {
    font-size: 1.3rem;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
  }
  .footer-tel-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 10px;
    font-size: 4.8rem;
    line-height: 1.2;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    color: #003663;
  }
  .footer-tel-box img {
    margin: 5px 0 0;
    width: 52px;
    height: auto;
  }
  .footer-text-read {
    font-size: 1.5rem;
    line-height: 1.6;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
  }
  .footer-text-read small {
    font-size: 1rem;
  }
  .footer-brand-block {
    margin: 3em auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 100px;
    text-align: center;
  }
  .footer-brand-logo-keihan {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5px;
  }
  .footer-brand-logo-keihan p {
    font-size: 1rem;
    line-height: 1.6;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
  }
  .footer-brand-logo-keihan img {
    width: 140px;
    height: auto;
  }
  .footer-brand-logo-hankyu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5px;
  }
  .footer-brand-logo-hankyu p {
    font-size: 1rem;
    line-height: 1.6;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
  }
  .footer-brand-logo-hankyu img {
    width: 198px;
    height: auto;
  }
  .footer-brand-logo-sekisui {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5px;
  }
  .footer-brand-logo-sekisui p {
    font-size: 1rem;
    line-height: 1.6;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
  }
  .footer-brand-logo-sekisui img {
    width: 255px;
    height: auto;
  }
  .footer-brand-logo-ai-flatz {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5px;
  }
  .footer-brand-logo-ai-flatz p {
    font-size: 1rem;
    line-height: 1.6;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
  }
  .footer-brand-logo-ai-flatz img {
    width: 224px;
    height: auto;
  }
  .footer-menu-block {
    padding: 2em 16px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 40px;
    background: linear-gradient(-20deg, #58799c -60%, #003663 100%);
    color: #FFF;
  }
  .footer-menu {
    width: 100%;
    max-width: 290px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 15px;
  }
  .footer-menu li {
    width: 100%;
    text-align: left;
  }
  .footer-menu li a {
    font-size: 1.5rem;
    color: #FFF;
  }
  .footer-sub-menu {
    margin: 20px 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2px;
  }
  .footer-sub-menu li {
    background: rgba(255, 255, 255, 0);
  }
  .footer-sub-menu li a {
    display: block;
    padding: 8px 15px;
    font-size: 1.3rem;
  }
  .footer-sub-menu li:first-child {
    border-radius: 10px 10px 0 0;
  }
  .footer-sub-menu li:last-child {
    border-radius: 0 0 10px 10px;
  }
  .copyright-block {
    padding: 4em 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .text-copyright {
    font-size: 1.1rem;
    line-height: 1.2;
  }
} /*(PC)*/
/*------------(SM)------------*/
@media (min-width: 768px) and (max-width: 1023px) {
  /* =========================
    スマホ版ロゴ
  ========================= */
  .header-logo-sp {
    position: aboslute;
    top: 10px;
    left: 10px;
  }
  .header-logo-sp a {
    display: block;
    width: auto;
    height: 40px;
  }
  .header-logo-sp img {
    height: 40px;
    width: auto;
  }
  /*header*/
  .header-block {
    display: none;
  }
  /*SP ヘッダーロゴ*/
  .sp-head-logo-block {
    display: block;
    padding: 13px 10px;
  }
  .head-logo {
    display: block;
    width: 271px;
    height: 40px;
    background: url("../images/common/logo-flag.svg") center center/contain no-repeat;
  }
  /*ナビゲーション*/
  .nav_list {
    margin: 0;
    padding: 0 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; /*上下のセンター*/
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; /**/
    width: 100%;
  }
  .nav_list > li {
    margin: 0 0 30px;
    width: 100%;
    position: relative;
  }
  .nav_list > li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5px;
    padding: 0;
    font-size: 1.6rem;
    font-weight: 500;
  }
  .nav_list > li a small {
    font-size: 0.9rem;
  }
  .nav_list > li a:link, .nav_list > li a:visited {
    color: #4e9bc0;
  }
  .nav_list > li a:hover, .nav_list > li a:active {
    color: #006ea1;
  }
  .nav_list > li a.nav-text-flag:link, .nav_list > li a.nav-text-flag:visited {
    color: #3084ab;
  }
  .nav_list > li a.nav-text-cube:link, .nav_list > li a.nav-text-cube:visited, .nav_list > li a.nav-text-cube:hover, .nav_list > li a.nav-text-cube:active {
    color: #d9988c;
  }
  .sub-nav_list {
    margin: 20px 0;
    padding: 10px 0 10px 10px;
    border-left: 1px solid #CCCCCC;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
    gap: 20px;
  }
  .sub-nav_list li {
    position: relative;
  }
  .sub-nav_list li a {
    font-size: 1.4rem;
  }
  .sub-nav_list li a:link, .sub-nav_list li a:visited, .sub-nav_list li a:hover, .sub-nav_list li a:active {
    color: #333;
  }
  .nav-list-flag li a small, .nav-list-cube li a small {
    font-size: 1.4rem;
  }
  .nav-list-main {
    border-top: 1px solid #CCCCCC;
    border-left: 1px solid #CCCCCC;
  }
  .nav-list-main li.menu-no-link:after {
    content: "Coming Soon";
    color: #3084ab;
    font-size: 1.2rem;
    position: absolute;
    right: 0;
    top: 0.2rem;
  }
  .nav-list-main li.menu-link:after {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-width: 2px 2px 0 0;
    border-color: #3084ab;
    border-style: solid;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    position: absolute;
    right: 0;
    top: 10px;
  }
  .nav-list-flag {
    border-top: 1px solid #3084ab;
    border-left: 1px solid #3084ab;
  }
  .nav-list-flag li.menu-no-link:after {
    content: "Coming Soon";
    color: #3084ab;
    font-size: 1.2rem;
    position: absolute;
    right: 0;
    top: 0.2rem;
  }
  .nav-list-flag li.menu-link:after {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-width: 2px 2px 0 0;
    border-color: #3084ab;
    border-style: solid;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    position: absolute;
    right: 0;
    top: 10px;
  }
  .nav-list-cube {
    border-top: 1px solid #d9988c;
    border-left: 1px solid #d9988c;
  }
  .nav-list-cube li.menu-no-link:after {
    content: "Coming Soon";
    color: #d9988c;
    font-size: 1.2rem;
    position: absolute;
    right: 0;
    top: 0.2rem;
  }
  .nav-list-cube li.menu-link:after {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-width: 2px 2px 0 0;
    border-color: #d9988c;
    border-style: solid;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    position: absolute;
    right: 0;
    top: 10px;
  }
  .nav-entry-block {
    margin: 30px 30px 60px;
    padding: 30px 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    border-top: 1px solid #4e9bc0;
    border-bottom: 1px solid #4e9bc0;
  }
  .nav-entry-block li {
    display: block;
    width: 100%;
  }
  .nav-entry-block li a.nav-entry-flag {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    background-color: #016fa1;
    width: 100%;
    height: 46px;
    border-radius: 23px;
    color: #FFF;
    font-size: 1.5rem;
    line-height: 1.2;
  }
  .nav-entry-block li a.nav-entry-flag small {
    font-size: 1rem;
  }
  .nav-entry-block li a.nav-entry-cube {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    background-color: #d9988c;
    width: 100%;
    height: 46px;
    border-radius: 23px;
    color: #FFF;
    font-size: 1.5rem;
    line-height: 1.2;
  }
  .nav-entry-block li a.nav-entry-cube small {
    font-size: 1rem;
  }
  /*ハンバーガーメニュー (SM)*/
  .nav {
    position: fixed;
    right: -100vw;
    top: 0;
    -webkit-transition: -webkit-transform 0.6s;
    transition: -webkit-transform 0.6s;
    transition: transform 0.6s;
    transition: transform 0.6s, -webkit-transform 0.6s;
    width: 100%;
    max-width: 390px;
    height: 100vh;
    padding-top: 60px;
    background-color: #fff;
    border-radius: 6px;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
    z-index: 200;
    overflow-y: auto; /* メニューが多くなったらスクロールできるように */
  }
  .hamburger {
    padding-top: 6px;
    margin-right: 0;
    position: fixed;
    right: 10px;
    top: 10px;
    width: 50px; /* クリックしやすい幅 */
    height: 50px; /* クリックしやすい高さ */
    border-radius: 5px;
    cursor: pointer;
    z-index: 9999;
    background: rgba(0, 0, 0, 0.5);
    color: #58799c;
    border: 0;
    font-size: 0.9rem;
    text-align: center;
  }
  .hamburger_border {
    position: absolute;
    left: 13px;
    width: 24px;
    height: 2px;
    background-color: #FFF;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
  }
  .hamburger_border_top {
    top: 16px;
  }
  .hamburger_border_center {
    top: 24px;
  }
  .hamburger_border_bottom {
    top: 32px;
  }
  .black_bg {
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    z-index: 100;
    background-color: #333;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
    cursor: pointer;
  }
  /* 表示された時用のCSS */
  .nav-open .nav {
    top: 0;
    right: 0;
  }
  .nav-open .black_bg {
    opacity: 0.8;
    visibility: visible;
  }
  .nav-open .hamburger {
    padding-top: 6px;
    margin-right: 0;
    position: fixed;
    right: 10px;
    top: 10px;
    width: 30px; /* クリックしやすい幅 */
    height: 30px; /* クリックしやすい高さ */
    border-radius: 15px;
    border: 1px solid #4e9bc0;
    cursor: pointer;
    z-index: 9999;
    background: rgb(255, 255, 255);
    font-size: 0.9rem;
    text-align: center;
  }
  .nav-open .hamburger_border {
    position: absolute;
    left: 6px;
    width: 16px;
    height: 2px;
    background-color: #4e9bc0;
    -webkit-transition: all 0;
    transition: all 0;
  }
  .nav-open .hamburger_border_top {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    top: 14px;
  }
  .nav-open .hamburger_border_center {
    width: 0;
    left: 50%;
  }
  .nav-open .hamburger_border_bottom {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    top: 14px;
  }
  /*■■■■■■ FOOTER (SM) ■■■■■■■*/
  footer {
    background-color: #FFF;
  }
  .footer-block {
    margin: 2em auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px;
    text-align: center;
  }
  .footer-title {
    font-size: 1.3rem;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
  }
  .footer-tel-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 10px;
    font-size: 3.8rem;
    line-height: 1.2;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    color: #003663;
  }
  .footer-tel-box img {
    margin: 5px 0 0;
    width: 42px;
    height: auto;
  }
  .footer-text-read {
    font-size: 1.1rem;
    line-height: 1.6;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
  }
  .footer-text-read small {
    font-size: 1rem;
  }
  .footer-brand-block {
    margin: 3em auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 35px;
    text-align: center;
  }
  .footer-brand-logo-keihan {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5px;
  }
  .footer-brand-logo-keihan p {
    font-size: 1rem;
    line-height: 1.6;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
  }
  .footer-brand-logo-keihan img {
    width: 128px;
    height: auto;
  }
  .footer-brand-logo-hankyu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5px;
  }
  .footer-brand-logo-hankyu p {
    font-size: 1rem;
    line-height: 1.6;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
  }
  .footer-brand-logo-hankyu img {
    width: 180px;
    height: auto;
  }
  .footer-brand-logo-sekisui {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5px;
  }
  .footer-brand-logo-sekisui p {
    font-size: 1rem;
    line-height: 1.6;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
  }
  .footer-brand-logo-sekisui img {
    width: 232px;
    height: auto;
  }
  .footer-menu-block {
    padding: 2em 16px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    background: linear-gradient(-20deg, #58799c -60%, #003663 100%);
    color: #FFF;
  }
  .footer-menu {
    margin: 10px 0;
    width: 100%;
    max-width: 260px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 15px;
  }
  .footer-menu li {
    width: 100%;
    text-align: left;
  }
  .footer-menu li a {
    font-size: 1.5rem;
    color: #FFF;
  }
  .footer-sub-menu {
    margin: 20px 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2px;
  }
  .footer-sub-menu li {
    background: rgba(255, 255, 255, 0);
  }
  .footer-sub-menu li a {
    display: block;
    padding: 8px 15px;
    font-size: 1.3rem;
  }
  .footer-sub-menu li:first-child {
    border-radius: 10px 10px 0 0;
  }
  .footer-sub-menu li:last-child {
    border-radius: 0 0 10px 10px;
  }
  .copyright-block {
    padding: 4em 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .text-copyright {
    font-size: 1.1rem;
    line-height: 1.2;
  }
  /* =========================
    スマホ版ロゴ
  ========================= */
  .header-logo-sp {
    position: absolute;
    top: 10px;
    left: 10px;
  }
  .header-logo-sp a {
    display: block;
    width: auto;
    height: 40px;
  }
  .header-logo-sp img {
    height: 40px;
    width: auto;
  }
  /*FLAG　＆　CUBE　ドロップダウン群(XS)*/
  /* =========================
    位置調節 スマホでは見せない
  ========================= */
  .dropdown-group {
    display: none;
  }
  /* =========================
    フッターフローティングエントリーボタン
    ラップ(XS)
  ========================= */
  /* =========================
    トグルボタン(SM)
  ========================= */
  .entry-toggle {
    position: fixed;
    bottom: 53px;
    right: 7px;
    z-index: 998;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    /* 通常 */
    background: #139cac;
    color: #fff;
    border: 2px solid #139cac;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
    font-size: 0.9rem;
    line-height: 1.3;
    font-weight: 500;
    border: 2px solid #FFF;
    cursor: pointer;
  }
  /* 開いた時 */
  .entry-toggle.open {
    background: #fff;
    color: #139cac;
  }
  /* =========================
    パネル(SM)
  ========================= */
  .entry-panel {
    position: fixed;
    bottom: 50px;
    right: 5px;
    left: 5px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 6px;
    background: #139cac;
    border-radius: 32px;
    padding: 6px 68px 6px 6px;
    /* ↑右に余白作る（ボタン分40px + α） */
    z-index: 997; /* ボタンより下 */
    opacity: 0;
    -webkit-transform: translateX(20px);
            transform: translateX(20px);
    pointer-events: none;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
  /* 開いた時 */
  .entry-panel.open {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
    pointer-events: auto;
  }
  /* =========================
    中のボタン(SM)
  ========================= */
  .entry-btn {
    background: #fff;
    border-radius: 26px;
    height: 52px;
    padding: 2px 12px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
  }
  .entry-btn small {
    font-size: 1.2rem;
    line-height: 1.2;
    font-weight: 600;
  }
  .entry-btn span {
    font-size: 1.5rem;
    line-height: 1.4;
    font-weight: 600;
  }
  .entry-btn.flag {
    border: 2px solid #4c99bd;
  }
  .entry-btn.cube {
    border: 2px solid #d9988c;
  }
  .entry-btn.flag small,
  .entry-btn.flag span {
    color: #4c99bd;
  }
  .entry-btn.cube small,
  .entry-btn.cube span {
    color: #d9988c;
  }
  /* =========================
    フッターボタン群（SP想定）
  ========================= */
  .footer-menu-sp-group {
    position: fixed;
    width: 100%;
    bottom: 5px;
    right: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 5px;
    padding: 0 50px 0 5px; /* 左10 / 右60 */
    z-index: 100;
  }
  /* ボタン */
  .footer-menu-sp-group a {
    height: 40px;
    padding: 0 14px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; /* ←これが本質（均等割り） */
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 3px;
    background: rgba(0, 0, 0, 0.6);
    color: #fff;
    border-radius: 6px;
    text-decoration: none;
    font-size: 1.3rem;
    white-space: nowrap;
  }
  .footer-menu-sp-group a:link, .footer-menu-sp-group a:visited, .footer-menu-sp-group a:hover, .footer-menu-sp-group a:active {
    color: #fff;
  }
  .footer-menu-sp-group a img {
    width: 13px;
    height: 13px;
  }
  /*■■■■■■■ トップに戻るボタン(SM) ■■■■■■*/
  .pagetop {
    right: 5px;
    bottom: 5px;
  }
} /*SM*/
/*------------(MD)------------*/
@media (min-width: 1024px) and (max-width: 1215px) {
  /*■■■■■■ HEADER(MD) ■■■■■■■*/
  .header-block {
    padding: 0 20px;
  }
  .head-logo-box a {
    width: 240px;
  }
  .pc-head-nav {
    gap: 20px;
  }
  /*ヘッダー　FLAG　エントリーボタン*/
  a.head-btn-entry-flag {
    width: 160px;
    font-size: 1.4rem;
  }
  a.head-btn-entry-flag span {
    font-size: 1.2rem;
  }
  /*ヘッダー　CUBE　エントリーボタン*/
  a.head-btn-entry-cube {
    width: 160px;
    font-size: 1.4rem;
  }
  a.head-btn-entry-cube span {
    font-size: 1.2rem;
  }
  /*ハンバーガーメニュー　PC*/
  .nav {
    position: absolute;
    right: -100%; /* 右から出てくる */
    top: 10px;
    width: auto;
    height: auto;
    padding: 20px 50px 50px;
    background-color: #fff;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
    z-index: 200;
    overflow-y: auto; /* メニューが多くなったらスクロールできるように */
    border-radius: 6px;
  }
  .hamburger {
    padding-top: 6px;
    margin-right: 0;
    position: absolute;
    top: 20px;
    right: 20px;
    width: 50px; /* クリックしやすい幅 */
    height: 50px; /* クリックしやすい高さ */
    cursor: pointer;
    z-index: 9999;
    background: rgba(0, 0, 0, 0);
    color: #58799c;
    border: 0;
    font-size: 0.9rem;
    text-align: center;
  }
  .hamburger_border {
    position: absolute;
    left: 5px;
    width: 40px;
    height: 3px;
    background-color: #04707d;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
  }
  .hamburger_border_top {
    top: 15px;
  }
  .hamburger_border_center {
    top: 23px;
  }
  .hamburger_border_bottom {
    top: 31px;
  }
  .black_bg {
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    z-index: 100;
    background-color: #333;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
    cursor: pointer;
  }
  /* 表示された時用のCSS */
  .nav-open .nav {
    right: 10px;
  }
  .nav-open .black_bg {
    opacity: 0;
    visibility: visible;
  }
  .nav-open .hamburger_border {
    left: 10px;
    width: 30px;
    height: 2px;
    background-color: #04707d;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
  }
  .nav-open .hamburger_border_top {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    top: 24px;
  }
  .nav-open .hamburger_border_center {
    width: 0;
    left: 50%;
  }
  .nav-open .hamburger_border_bottom {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    top: 24px;
  }
  /*ナビゲーション PC*/
  .nav_list {
    margin: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; /*上下のセンター*/
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; /**/
  }
  .nav_list > li {
    margin: 0;
    padding: 20px 10px;
    text-align: left;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 40px;
    width: 100%;
    border-bottom: 1px solid #04707d;
  }
  .nav_list > li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5px;
    padding: 0;
    font-size: 1.6rem;
    font-weight: 500;
  }
  .nav_list > li a small {
    font-size: 1.6rem;
  }
  .nav_list > li a:link, .nav_list > li a:visited {
    color: #04707d;
  }
  .nav_list > li a:hover, .nav_list > li a:active {
    color: #4e9bc0;
  }
  .nav_list > li a.nav-text-flag:link {
    color: #2181ad;
  }
  .nav_list > li a.nav-text-flag:hover, .nav_list > li a.nav-text-flag:active {
    color: #4e9bc0;
  }
  .nav_list > li a.nav-text-cube:link, .nav_list > li a.nav-text-cube:visited, .nav_list > li a.nav-text-cube:hover, .nav_list > li a.nav-text-cube:active {
    color: #d9988c;
  }
  .nav_list li.sp-view {
    display: none;
  }
  .list-top-box, .nav-text-flag, .nav-text-cube {
    width: 200px;
  }
  .sub-nav_list {
    margin: 0;
    padding: 0;
    border-left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 40px;
  }
  .sub-nav_list.nav-list-main {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 20px 1fr;
    grid-template-columns: repeat(2, 1fr); /* 2列 */
    gap: 20px; /* 余白はお好みで */
    padding: 0;
    margin: 0;
    list-style: none;
  }
  .sub-nav_list.nav-list-main li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 10px;
  }
  .sub-nav_list.nav-list-main li a:link, .sub-nav_list.nav-list-main li a:visited {
    color: #04707d;
  }
  .sub-nav_list.nav-list-main li a:link span, .sub-nav_list.nav-list-main li a:visited span {
    font-size: 1.6rem;
  }
  .sub-nav_list.nav-list-main li a:link small, .sub-nav_list.nav-list-main li a:visited small {
    color: #333;
    font-size: 1.2rem;
  }
  .sub-nav_list.nav-list-main li a:hover, .sub-nav_list.nav-list-main li a:active {
    color: #4e9bc0;
  }
  .sub-nav_list.nav-list-main li a:hover small, .sub-nav_list.nav-list-main li a:active small {
    color: #333;
  }
  .sub-nav_list.nav-list-flag {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: -webkit-max-content 20px -webkit-max-content 20px -webkit-max-content;
    -ms-grid-columns: max-content 20px max-content 20px max-content;
    grid-template-columns: -webkit-max-content -webkit-max-content -webkit-max-content;
    grid-template-columns: max-content max-content max-content;
    gap: 20px; /* 余白はお好みで */
    padding: 0;
    margin: 0;
    list-style: none;
  }
  .sub-nav_list.nav-list-flag li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 10px;
  }
  .sub-nav_list.nav-list-flag li a:link, .sub-nav_list.nav-list-flag li a:visited {
    color: #04707d;
  }
  .sub-nav_list.nav-list-flag li a:link span, .sub-nav_list.nav-list-flag li a:visited span {
    font-size: 1.6rem;
  }
  .sub-nav_list.nav-list-flag li a:link small, .sub-nav_list.nav-list-flag li a:visited small {
    color: #333;
    font-size: 1.2rem;
  }
  .sub-nav_list.nav-list-flag li a:hover, .sub-nav_list.nav-list-flag li a:active {
    color: #4e9bc0;
  }
  .sub-nav_list.nav-list-flag li a:hover small, .sub-nav_list.nav-list-flag li a:active small {
    color: #333;
  }
  .sub-nav_list.nav-list-cube {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: -webkit-max-content 20px -webkit-max-content 20px -webkit-max-content;
    -ms-grid-columns: max-content 20px max-content 20px max-content;
    grid-template-columns: -webkit-max-content -webkit-max-content -webkit-max-content;
    grid-template-columns: max-content max-content max-content;
    gap: 20px; /* 余白はお好みで */
    padding: 0;
    margin: 0;
    list-style: none;
  }
  .sub-nav_list.nav-list-cube li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 10px;
  }
  .sub-nav_list.nav-list-cube li a:link, .sub-nav_list.nav-list-cube li a:visited {
    color: #d9988c;
  }
  .sub-nav_list.nav-list-cube li a:link span, .sub-nav_list.nav-list-cube li a:visited span {
    font-size: 1.6rem;
  }
  .sub-nav_list.nav-list-cube li a:link small, .sub-nav_list.nav-list-cube li a:visited small {
    color: #333;
    font-size: 1.2rem;
  }
  .sub-nav_list.nav-list-cube li a:hover, .sub-nav_list.nav-list-cube li a:active {
    color: #e9a759;
  }
  .sub-nav_list.nav-list-cube li a:hover small, .sub-nav_list.nav-list-cube li a:active small {
    color: #333;
  }
  /*メニュー内リンクボタン隠す*/
  .nav-entry-block {
    display: none;
  }
  /* =========================
    スマホ版ロゴ(PCでは隠す)
  ========================= */
  .header-logo-sp {
    display: none;
  }
  /*FLAG　＆　CUBE　各ページヘッダーサブメニュ (LG)*/
  /* =========================
    位置調節
  ========================= */
  .dropdown-group {
    margin: 10px auto;
    padding: 0 90px 0 10px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 20px;
    z-index: 11;
  }
  /* =========================
     ベース
  ========================= */
  /* カラー切り替え */
  .dropdown-banner.is-flag {
    --main-color: #006ea1;
    padding: 0 20px;
    background-color: #006ea1;
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    border-radius: 6px;
  }
  .dropdown-banner.is-cube {
    --main-color: #d9988c;
  }
  /* =========================
     上の帯
  ========================= */
  a.dropdown-toggle {
    width: auto;
    height: 70px;
    color: #FFF;
    border: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-direction: column;
        flex-direction: column;
    gap: 0;
    padding: 0 16px;
    cursor: pointer;
  }
  a.dropdown-toggle:link, a.dropdown-toggle:visited {
    color: #FFF;
    opacity: 1;
  }
  a.dropdown-toggle:hover, a.dropdown-toggle:active {
    color: #FFF;
    opacity: 0.8;
  }
  /* 小テキスト */
  .dropdown-toggle .sub {
    font-size: 1.2rem;
    line-height: 1;
  }
  /* メインテキスト */
  .dropdown-toggle .main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .dropdown-toggle .main img {
    width: 100%;
    height: 15px;
  }
  /* =========================
     ドロップダウン
  ========================= */
  .dropdown-menu {
    width: auto;
    overflow: hidden;
    max-height: auto;
    opacity: 1;
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
  }
  .cercle-arrow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 15px;
    border: 1px solid #CCC;
  }
  .cercle-arrow img {
    width: 14px;
    height: auto;
  }
  /* 開いた状態 */
  .dropdown-banner.open .dropdown-menu {
    max-height: 300px;
    opacity: 1;
  }
  /* =========================
     メニュー中身
  ========================= */
  .dropdown-menu ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 20px;
    gap: 16px 24px;
  }
  .dropdown-menu li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
  }
  .dropdown-menu li a {
    font-size: 1.6rem;
    font-weight: 500;
    color: #FFF;
    -webkit-transition: color 0.35s ease, opacity 0.35s ease;
    transition: color 0.35s ease, opacity 0.35s ease;
  }
  .dropdown-menu li a:link, .dropdown-menu li a:visited {
    color: #FFF;
    opacity: 1;
  }
  .dropdown-menu li a:hover, .dropdown-menu li a:active {
    color: #FFF;
    opacity: 0.8;
  }
  .dropdown-menu li.menu-no-link a {
    font-size: 1.6rem;
    font-weight: 500;
    color: #FFF;
    opacity: 0.5;
  }
  .dropdown-menu li.menu-no-link a:link, .dropdown-menu li.menu-no-link a:visited, .dropdown-menu li.menu-no-link a:hover, .dropdown-menu li.menu-no-link a:active {
    color: #FFF;
    opacity: 0.5;
  }
  /* 英語 */
  .dropdown-menu .en {
    font-size: 1.8rem;
    color: var(--main-color);
    font-weight: bold;
  }
  /* 日本語 */
  .dropdown-menu .jp {
    font-size: 1.4rem;
    color: #333;
  }
  /*FLAG では隠す（CUBEのサブメニュー）*/
  .doropdown-cube {
    width: auto;
  }
  .doropdown-cube .sub {
    display: none;
  }
  .doropdown-cube .main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 5px;
    font-size: 1.5rem;
  }
  .doropdown-cube > a.dropdown-toggle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    color: #CCC;
    gap: 10px;
  }
  .doropdown-cube .dropdown-menu {
    display: none;
  }
}
/*------------(LG)------------*/
@media (min-width: 1216px) {
  /*■■■■■■ HEADER(LG) ■■■■■■■*/
  .header-block {
    padding: 0 20px;
  }
  .head-logo-box a {
    width: 260px;
  }
  .pc-head-nav {
    gap: 30px;
  }
  /*ヘッダー　FLAG　エントリーボタン*/
  a.head-btn-entry-flag {
    width: 220px;
  }
  /*ヘッダー　CUBE　エントリーボタン*/
  a.head-btn-entry-cube {
    width: 220px;
  }
  /*ハンバーガーメニュー　PC*/
  .nav {
    position: absolute;
    right: -100%; /* 右から出てくる */
    top: 10px;
    width: auto;
    height: auto;
    padding: 20px 50px 50px;
    background-color: #fff;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
    z-index: 200;
    overflow-y: auto; /* メニューが多くなったらスクロールできるように */
    border-radius: 6px;
  }
  .hamburger {
    padding-top: 6px;
    margin-right: 0;
    top: 20px;
    right: 20px;
    position: absolute;
    width: 50px; /* クリックしやすい幅 */
    height: 50px; /* クリックしやすい高さ */
    cursor: pointer;
    z-index: 9999;
    background: rgba(0, 0, 0, 0);
    color: #58799c;
    border: 0;
    font-size: 0.9rem;
    text-align: center;
  }
  .hamburger_border {
    position: absolute;
    left: 5px;
    width: 40px;
    height: 3px;
    background-color: #04707d;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
  }
  .hamburger_border_top {
    top: 15px;
  }
  .hamburger_border_center {
    top: 23px;
  }
  .hamburger_border_bottom {
    top: 31px;
  }
  .black_bg {
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    z-index: 100;
    background-color: #333;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
    cursor: pointer;
  }
  /* 表示された時用のCSS */
  .nav-open .nav {
    right: 10px;
  }
  .nav-open .black_bg {
    opacity: 0;
    visibility: visible;
  }
  .nav-open .hamburger_border {
    left: 10px;
    width: 30px;
    height: 2px;
    background-color: #04707d;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
  }
  .nav-open .hamburger_border_top {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    top: 24px;
  }
  .nav-open .hamburger_border_center {
    width: 0;
    left: 50%;
  }
  .nav-open .hamburger_border_bottom {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    top: 24px;
  }
  /*ナビゲーション PC*/
  .nav_list {
    margin: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; /*上下のセンター*/
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; /**/
  }
  .nav_list > li {
    margin: 0;
    padding: 20px 10px;
    text-align: left;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 40px;
    width: 100%;
    border-bottom: 1px solid #04707d;
  }
  .nav_list > li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5px;
    padding: 0;
    font-size: 1.6rem;
    font-weight: 500;
  }
  .nav_list > li a small {
    font-size: 1.6rem;
  }
  .nav_list > li a:link, .nav_list > li a:visited {
    color: #04707d;
  }
  .nav_list > li a:hover, .nav_list > li a:active {
    color: #4e9bc0;
  }
  .nav_list > li a.nav-text-flag:link {
    color: #2181ad;
  }
  .nav_list > li a.nav-text-flag:hover, .nav_list > li a.nav-text-flag:active {
    color: #4e9bc0;
  }
  .nav_list > li a.nav-text-cube:link, .nav_list > li a.nav-text-cube:visited, .nav_list > li a.nav-text-cube:hover, .nav_list > li a.nav-text-cube:active {
    color: #d9988c;
  }
  .nav_list li.sp-view {
    display: none;
  }
  .list-top-box, .nav-text-flag, .nav-text-cube {
    width: 200px;
  }
  .sub-nav_list {
    margin: 0;
    padding: 0;
    border-left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 40px;
  }
  .sub-nav_list.nav-list-main {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 20px 1fr;
    grid-template-columns: repeat(2, 1fr); /* 2列 */
    gap: 20px; /* 余白はお好みで */
    padding: 0;
    margin: 0;
    list-style: none;
  }
  .sub-nav_list.nav-list-main li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 10px;
  }
  .sub-nav_list.nav-list-main li a:link, .sub-nav_list.nav-list-main li a:visited {
    color: #04707d;
  }
  .sub-nav_list.nav-list-main li a:link span, .sub-nav_list.nav-list-main li a:visited span {
    font-size: 1.6rem;
  }
  .sub-nav_list.nav-list-main li a:link small, .sub-nav_list.nav-list-main li a:visited small {
    color: #333;
    font-size: 1.2rem;
  }
  .sub-nav_list.nav-list-main li a:hover, .sub-nav_list.nav-list-main li a:active {
    color: #4e9bc0;
  }
  .sub-nav_list.nav-list-main li a:hover small, .sub-nav_list.nav-list-main li a:active small {
    color: #333;
  }
  .sub-nav_list.nav-list-flag {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: -webkit-max-content 20px -webkit-max-content 20px -webkit-max-content;
    -ms-grid-columns: max-content 20px max-content 20px max-content;
    grid-template-columns: -webkit-max-content -webkit-max-content -webkit-max-content;
    grid-template-columns: max-content max-content max-content;
    gap: 20px; /* 余白はお好みで */
    padding: 0;
    margin: 0;
    list-style: none;
  }
  .sub-nav_list.nav-list-flag li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 10px;
  }
  .sub-nav_list.nav-list-flag li a:link, .sub-nav_list.nav-list-flag li a:visited {
    color: #04707d;
  }
  .sub-nav_list.nav-list-flag li a:link span, .sub-nav_list.nav-list-flag li a:visited span {
    font-size: 1.6rem;
  }
  .sub-nav_list.nav-list-flag li a:link small, .sub-nav_list.nav-list-flag li a:visited small {
    color: #333;
    font-size: 1.2rem;
  }
  .sub-nav_list.nav-list-flag li a:hover, .sub-nav_list.nav-list-flag li a:active {
    color: #4e9bc0;
  }
  .sub-nav_list.nav-list-flag li a:hover small, .sub-nav_list.nav-list-flag li a:active small {
    color: #333;
  }
  .sub-nav_list.nav-list-cube {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: -webkit-max-content 20px -webkit-max-content 20px -webkit-max-content;
    -ms-grid-columns: max-content 20px max-content 20px max-content;
    grid-template-columns: -webkit-max-content -webkit-max-content -webkit-max-content;
    grid-template-columns: max-content max-content max-content;
    gap: 20px; /* 余白はお好みで */
    padding: 0;
    margin: 0;
    list-style: none;
  }
  .sub-nav_list.nav-list-cube li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 10px;
  }
  .sub-nav_list.nav-list-cube li a:link, .sub-nav_list.nav-list-cube li a:visited {
    color: #d9988c;
  }
  .sub-nav_list.nav-list-cube li a:link span, .sub-nav_list.nav-list-cube li a:visited span {
    font-size: 1.6rem;
  }
  .sub-nav_list.nav-list-cube li a:link small, .sub-nav_list.nav-list-cube li a:visited small {
    color: #333;
    font-size: 1.2rem;
  }
  .sub-nav_list.nav-list-cube li a:hover, .sub-nav_list.nav-list-cube li a:active {
    color: #e9a759;
  }
  .sub-nav_list.nav-list-cube li a:hover small, .sub-nav_list.nav-list-cube li a:active small {
    color: #333;
  }
  /*メニュー内リンクボタン隠す*/
  .nav-entry-block {
    display: none;
  }
  /* =========================
    スマホ版ロゴ(PCでは隠す)
  ========================= */
  .header-logo-sp {
    display: none;
  }
  /*FLAG　＆　CUBE　各ページヘッダーサブメニュ (LG)*/
  /* =========================
    位置調節
  ========================= */
  .dropdown-group {
    margin: 10px auto;
    padding: 0 90px 0 10px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 20px;
    z-index: 11;
  }
  /* =========================
     ベース
  ========================= */
  /* カラー切り替え */
  .dropdown-banner.is-flag {
    --main-color: #006ea1;
    padding: 0 20px;
    background-color: #006ea1;
    width: 70%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    border-radius: 6px;
  }
  .dropdown-banner.is-cube {
    --main-color: #d9988c;
  }
  /* =========================
     上の帯
  ========================= */
  a.dropdown-toggle {
    width: auto;
    height: 70px;
    color: #FFF;
    border: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-direction: column;
        flex-direction: column;
    gap: 10px 3px;
    padding: 0 16px;
    cursor: pointer;
  }
  a.dropdown-toggle:link, a.dropdown-toggle:visited {
    color: #FFF;
    opacity: 1;
  }
  a.dropdown-toggle:hover, a.dropdown-toggle:active {
    color: #FFF;
    opacity: 0.8;
  }
  /* 小テキスト */
  .dropdown-toggle .sub {
    font-size: 1.4rem;
    line-height: 1;
  }
  /* メインテキスト */
  .dropdown-toggle .main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .dropdown-toggle .main img {
    width: 100%;
    max-width: 209px;
    height: 24px;
  }
  /* =========================
     ドロップダウン
  ========================= */
  .dropdown-menu {
    width: auto;
    overflow: hidden;
    max-height: auto;
    opacity: 1;
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
  }
  .cercle-arrow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 15px;
    border: 1px solid #CCC;
  }
  .cercle-arrow img {
    width: 14px;
    height: auto;
  }
  /* 開いた状態 */
  .dropdown-banner.open .dropdown-menu {
    max-height: 300px;
    opacity: 1;
  }
  /* =========================
     メニュー中身
  ========================= */
  .dropdown-menu ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 20px;
    gap: 16px 24px;
  }
  .dropdown-menu li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
  }
  .dropdown-menu li a {
    font-size: 1.6rem;
    font-weight: 500;
    color: #FFF;
    -webkit-transition: color 0.35s ease, opacity 0.35s ease;
    transition: color 0.35s ease, opacity 0.35s ease;
  }
  .dropdown-menu li a:link, .dropdown-menu li a:visited {
    color: #FFF;
    opacity: 1;
  }
  .dropdown-menu li a:hover, .dropdown-menu li a:active {
    color: #FFF;
    opacity: 0.8;
  }
  .dropdown-menu li.menu-no-link a {
    font-size: 1.6rem;
    font-weight: 500;
    color: #FFF;
    opacity: 0.5;
  }
  .dropdown-menu li.menu-no-link a:link, .dropdown-menu li.menu-no-link a:visited, .dropdown-menu li.menu-no-link a:hover, .dropdown-menu li.menu-no-link a:active {
    color: #FFF;
    opacity: 0.5;
  }
  /* 英語 */
  .dropdown-menu .en {
    font-size: 1.8rem;
    color: var(--main-color);
    font-weight: bold;
  }
  /* 日本語 */
  .dropdown-menu .jp {
    font-size: 1.4rem;
    color: #333;
  }
  /*FLAG では隠す（CUBEのサブメニュー）*/
  .doropdown-cube {
    width: auto;
  }
  .doropdown-cube .sub {
    display: none;
  }
  .doropdown-cube .main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 5px;
    font-size: 1.5rem;
  }
  .doropdown-cube > a.dropdown-toggle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    color: #CCC;
    gap: 10px;
  }
  .doropdown-cube .dropdown-menu {
    display: none;
  }
} /*(LG)以上は共通*/