@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&family=Readex+Pro:wght@160..700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap");
body,
input,
select,
textarea,
button {
  font-family: "Noto Sans JP", Helvetica, Arial, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Hiragino Sans", "メイリオ", "Meiryo", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}

.roboto {
  font-family: "Roboto", sans-serif;
  font-style: normal;
}

.readex {
  font-family: "Readex Pro", sans-serif;
  font-style: normal;
  font-variation-settings: "HEXP" 0;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  min-inline-size: 0;
}

html,
body,
h1,
h2,
h3,
h4,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
}

article,
header,
footer,
main,
aside,
figure,
figcaption,
nav,
section {
  display: block;
}

@media screen and (max-width: 767px) {
  html {
    overflow-x: hidden;
  }
}

body {
  color: #31413E;
  margin: 0;
  padding: 0;
  line-height: 1;
  scroll-behavior: smooth;
  text-rendering: optimizeSpeed;
  word-break: break-all;
  overflow-wrap: break-word;
  line-break: strict;
  -webkit-font-smoothing: antialiased;
  text-size-adjust: 100%;
  background-color: #F5F6F6;
}
@media screen and (max-width: 767px) {
  body {
    overflow-x: hidden;
  }
}
body.is-open {
  position: fixed;
  width: 100vw;
  height: 100vh;
}
body.is-modal-open {
  overflow: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
}

p {
  margin: 0;
}

strong {
  font-weight: bold;
}

hr {
  border: solid 1px #E6E6E6;
  margin: 0 0 20px;
}

img {
  max-width: 100%;
  vertical-align: bottom;
  border: 0;
  outline: 0;
  transition: all 0.3s ease;
}

figure {
  padding: 0;
  margin: 0;
}

ol,
ul {
  margin: 0;
  padding: 0;
}

ul {
  list-style-type: "";
}

input,
textarea,
button {
  margin: 0;
  padding: 0;
  border-radius: 0;
  outline: 0;
  background: none;
}

button:focus-visible,
a:focus-visible {
  outline: 2px solid #31413E;
}

button {
  border: 0;
  transition: all 0.3s ease;
}
@media (any-hover: hover) {
  button:hover {
    opacity: 0.7;
  }
}

table {
  border-collapse: collapse;
}

@media screen and (max-width: 767px) {
  main {
    overflow: hidden;
  }
}

a {
  color: #31413E;
  text-decoration: none;
  transition: all 0.3s ease;
}
a img {
  backface-visibility: hidden;
  overflow: hidden;
}
@media (any-hover: hover) {
  a:hover {
    opacity: 0.7;
  }
}
a[href^="tel:"] {
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  a[href^="tel:"] {
    pointer-events: auto;
  }
}

@media (scripting: none) {
  .loading {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
::before,
::after {
    transition-duration: 1ms !important;
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
  }
}
@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes cloud_pc {
  0% {
    left: 320px;
  }
  25% {
    left: 300px;
  }
  50% {
    left: 320px;
  }
  75% {
    left: 340px;
  }
  100% {
    left: 320px;
  }
}
@keyframes cloud_middle {
  0% {
    left: 300px;
  }
  25% {
    left: 290px;
  }
  50% {
    left: 300px;
  }
  75% {
    left: 310px;
  }
  100% {
    left: 300px;
  }
}
@keyframes cloud_sp {
  0% {
    right: -30px;
  }
  25% {
    right: 0;
  }
  50% {
    right: 10px;
  }
  75% {
    right: 0;
  }
  100% {
    right: -30px;
  }
}
@keyframes tower {
  0% {
    transform: rotate(0);
  }
  35% {
    transform: rotate(0);
  }
  50% {
    transform: rotate(10deg);
  }
  80% {
    transform: rotate(10deg);
  }
  86% {
    transform: rotate(-4deg);
  }
  90% {
    transform: rotate(4deg);
  }
  94% {
    transform: rotate(2deg);
  }
  96% {
    transform: rotate(-2deg);
  }
  100% {
    transform: rotate(0);
  }
}
.search-menu {
  z-index: 9999;
  transition: 300ms ease;
  transition-property: opacity, visibility;
  pointer-events: none;
  height: 100%;
}
.search-menu button {
  color: #31413E !important;
}
.search-menu__head-batsu.js-search-close, .search-menu__head-batsu.js-search-return2 {
  color: #fff !important;
}
.search-menu.is-open {
  pointer-events: initial;
  z-index: 9999;
}
.search-menu__content {
  margin-top: 8px;
  display: none;
}
.search-menu__content.js-searchActive {
  display: block;
}
.search-menu__boxList {
  padding: 20px 40px;
  display: none;
}
.search-menu__boxList.js-searchActive {
  display: block;
}
.search-menu__noResult {
  font-size: 14px;
  font-weight: 500;
}
.search-menu__boxListItem, .search-menu__noResult {
  height: 30px !important;
  display: none;
}
.search-menu__boxListItem.js-active, .search-menu__noResult.js-active {
  display: block;
}
.search-menu__boxListBtn {
  width: 100%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.search-menu__boxListBtn::after {
  background-repeat: no-repeat;
  background-size: contain;
  background-position-x: 0;
  background-position-y: 0;
  content: "";
  background-image: url(../img/common/arrow_down-black.svg);
  width: 7px;
  height: 4px;
  display: block;
  transform: rotate(-90deg);
}
.search-menu .search-menu__wrap {
  position: fixed;
  top: 10%;
  transition: none;
  height: 80% !important;
}
@media screen and (max-width: 767px) {
  .search-menu .search-menu__wrap {
    height: 100dvh !important;
    top: 0;
  }
}

.search-box__input-item input {
  font-size: 16px !important;
  cursor: pointer;
  caret-color: transparent;
}

.suggestion--station .suggestion__select button::after {
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
  margin-left: auto;
}

@media screen and (max-width: 767px) {
  .p-page-prcommon .search-box__button-submit button {
    width: 200px !important;
  }
}
.p-page-search .main-body .search-timetable__col .search-timetable__detail::before {
  content: "";
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 3px solid #31413E;
  background: #fff;
  left: -57px;
}
@media screen and (max-width: 767px) {
  .p-page-search .main-body .search-timetable__col .search-timetable__detail::before {
    width: 24px;
    height: 24px;
    left: -43px;
  }
}
.p-page-search .main-body .search-timetable__col .search-timetable__detail.is-line::before {
  content: none;
}
.p-page-search .main-body .search-timetable__col:last-of-type.search-timetable__detail.is-black::before {
  background: #31413E;
}
.p-page-search .main-body .search-timetable__col.search-timetable__col--bus .search-timetable__detail::before {
  border-color: #578ed0;
}
.p-page-search .main-body .search-timetable__col.search-timetable__col--bus:first-of-type .search-timetable__detail::before {
  background: #578ed0;
  border-color: #578ed0;
}
.p-page-search .main-body .search-timetable__col.search-timetable__col--bus:last-of-type .search-timetable__detail::before {
  background: #578ed0;
  border-color: #578ed0;
}
.p-page-search .main-body .search-timetable__col.search-timetable__col--subway .search-timetable__detail::before {
  border-color: #009a78;
}
.p-page-search .main-body .search-timetable__col.search-timetable__col--subway:first-of-type .search-timetable__detail::before {
  background: #009a78;
  border-color: #009a78;
}
.p-page-search .main-body .search-timetable__col.search-timetable__col--subway:last-of-type .search-timetable__detail::before {
  background: #009a78;
  border-color: #009a78;
}

.p-page-search .main-body .search-timetable__col.is-line:last-of-type .search-timetable__detail::before {
  background-color: #31413E;
  border-color: #31413E;
}

.p-page-search .main-body .search-timetable__col.is-bus:last-of-type .search-timetable__detail::before {
  background-color: #578ed0;
  border-color: #578ed0;
}

.p-page-search .main-body .search-timetable__col.is-subway:last-of-type .search-timetable__detail::before {
  background-color: #009a78;
  border-color: #009a78;
}

.accordion__detail .search-box__button-submit {
  width: fit-content;
  margin: 20px auto 0;
}
.accordion__detail .search-box__button-submit button {
  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;
  font-weight: 700;
  height: 48px;
  border-radius: 50px;
  background-color: #31413E;
  color: #fff;
  letter-spacing: 0.1em;
}
.accordion__detail .search-box__button-submit button {
  font-size: 16px;
  font-size: 1rem;
  width: 180px;
}
@media screen and (max-width: 767px) {
  .accordion__detail .search-box__button-submit button {
    max-width: 56.4vw;
  }
}

.subway-container .news-details .news-item,
.bus-container .news-details .news-item {
  background-color: #fbece7;
  margin: 32px 0;
  border-radius: 8px;
  padding: 22px 28px;
}
@media screen and (max-width: 767px) {
  .subway-container .news-details .news-item,
.bus-container .news-details .news-item {
    margin: 28px 0;
    padding: 18px 20px;
  }
}
.subway-container .news-details .news-item > h3,
.bus-container .news-details .news-item > h3 {
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  column-gap: 9px;
  color: #f56d43;
}
@media screen and (max-width: 767px) {
  .subway-container .news-details .news-item > h3,
.bus-container .news-details .news-item > h3 {
    column-gap: 8px;
  }
}
.subway-container .news-details .news-item > h3::before,
.bus-container .news-details .news-item > h3::before {
  background-repeat: no-repeat;
  background-size: contain;
  background-position-x: 0;
  background-position-y: 0;
  content: "";
  width: 22px;
  height: 22px;
  background-image: url(../img/common/exclamation_orange.svg);
  position: relative;
  top: 4px;
  left: 0;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .subway-container .news-details .news-item > h3::before,
.bus-container .news-details .news-item > h3::before {
    width: 20px;
    height: 20px;
  }
}
.subway-container .news-details .news-item > h2,
.bus-container .news-details .news-item > h2 {
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  column-gap: 9px;
  color: #f56d43;
  margin: 18px 0 0;
  border-bottom: 0;
  font-size: 1.275rem;
}
@media screen and (max-width: 767px) {
  .subway-container .news-details .news-item > h2,
.bus-container .news-details .news-item > h2 {
    column-gap: 8px;
  }
}
.subway-container .news-details .news-item > h2::before,
.bus-container .news-details .news-item > h2::before {
  background-repeat: no-repeat;
  background-size: contain;
  background-position-x: 0;
  background-position-y: 0;
  content: "";
  width: 22px;
  height: 22px;
  background-image: url(../img/common/exclamation_orange.svg);
  position: relative;
  top: 4px;
  left: 0;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .subway-container .news-details .news-item > h2::before,
.bus-container .news-details .news-item > h2::before {
    width: 20px;
    height: 20px;
  }
}

.breadcrumb__item > span {
  cursor: default;
}

.mysubway .tab-box,
.mybus .tab-box {
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}
.mysubway .tab-box .empty-state,
.mybus .tab-box .empty-state {
  margin: 0 !important;
  text-align: inherit;
  padding: 0;
  padding-top: 20px;
}
.mysubway .tab-box .btn_area .approach::after,
.mybus .tab-box .btn_area .approach::after {
  display: none !important;
}
.mysubway input[type=text],
.mybus input[type=text] {
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .mysubway input[type=text],
.mybus input[type=text] {
    margin-bottom: 10px;
  }
}
.mysubway .accordion h4 span,
.mybus .accordion h4 span {
  color: #009A78;
}
.mysubway .accordion img,
.mybus .accordion img {
  margin: 18px auto 24px !important;
}
@media screen and (max-width: 767px) {
  .mysubway .panel_area > div a,
.mybus .panel_area > div a {
    flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .mysubway .panel_area > div img,
.mybus .panel_area > div img {
    margin: 0;
  }
}

.p-page-opstatus .main-head p {
  margin: 0;
  margin-bottom: 24px !important;
}
@media screen and (max-width: 767px) {
  .p-page-opstatus .main-head p {
    margin-bottom: 18px !important;
  }
}
.p-page-opstatus .bus-container {
  padding-top: 5px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-page-opstatus .bus-container {
    padding-top: 15px;
  }
}
.p-page-opstatus .select-wrap {
  position: absolute;
  right: 0;
  top: 10px;
  flex: 0 0 auto;
  width: 162px;
  max-width: 100%;
}
.p-page-opstatus .select-wrap::before {
  content: "";
  display: block;
  width: 19px;
  height: 19px;
  background-image: url(../img/common/icon_earth.svg);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  left: 13px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.p-page-opstatus .select-wrap select {
  width: 100%;
  height: 40px;
  border: 1px solid #dfe3e0;
  background-image: url(../img/common/arrow_down-black.svg);
  background-position: center right 14px;
  background-size: 10px 8px;
  padding: 0 15px 0 38px;
  font-size: 0.875rem;
}
.p-page-opstatus .subway-time {
  margin: 10px 0 0;
}
@media screen and (max-width: 767px) {
  .p-page-opstatus .subway-time {
    margin: 5px 0 0;
    padding-right: 170px;
  }
}
.p-page-opstatus .opbox__item {
  margin: 32px 0;
}
@media screen and (max-width: 767px) {
  .p-page-opstatus .opbox__item {
    margin: 28px 0;
  }
}

.opbox__item--red .tel-link {
  color: #da4b4c;
}

.officeAccordion {
  padding-top: 60px;
}
.officeAccordion .accordion-simple__trigger {
  border-bottom: 2px solid #F5F6F6;
}
.officeAccordion .accordion-simple__item {
  border-bottom: none;
}
.officeAccordion__dl {
  padding-left: 1.5em;
  line-height: 1.8;
  margin: 10px 0;
}
.officeAccordion__dt {
  font-weight: 900;
  list-style: decimal;
  position: relative;
}
.officeAccordion__dt::before {
  content: "";
  width: 0.6em;
  height: 0.6em;
  display: block;
  border-radius: 50%;
  background: #009A78;
  position: absolute;
  left: -1.2em;
  top: 0.65em;
}
.officeAccordion__dt a {
  font-weight: 600;
}
.officeAccordion__dd {
  font-weight: 400;
}
.officeAccordion .caution {
  padding-left: 1.5em;
  position: relative;
}
.officeAccordion .caution::before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}

.kaisei-information {
  display: block;
  border: 2px solid #F56D43;
  border-radius: 8px;
  color: #F56D43 !important;
  text-decoration: none !important;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .kaisei-information {
    margin-bottom: 32px;
    font-size: 1rem !important;
  }
}
.kaisei-information__text {
  display: flex;
  align-items: center;
  padding: 18px 24px;
  margin: 0 !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
}
@media screen and (max-width: 767px) {
  .kaisei-information__text {
    padding: 16px 16px 16px 19px;
  }
}
.kaisei-information__text::before {
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  background-position-x: 0;
  background-position-y: 0;
  content: "";
  min-width: 30px;
  min-height: 30px;
  background-image: url(../img/common/exclamation_white-orange.svg);
  position: relative;
  margin-right: 16px;
}
@media screen and (max-width: 767px) {
  .kaisei-information__text::before {
    width: 22px;
    height: 22px;
  }
}
.kaisei-information__text::after {
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  background-position-x: 0;
  background-position-y: 0;
  content: "";
  min-width: 22px;
  min-height: 22px;
  background-image: url(../img/common/arrow_circle_orange.svg);
  position: relative;
  margin-left: 16px;
}
@media screen and (max-width: 767px) {
  .kaisei-information__text::after {
    width: 18px;
    height: 18px;
  }
}

.use-element .stationName {
  text-decoration: underline !important;
  text-underline-offset: 5px;
  color: #31413E !important;
}

.p-page-bus .list-txt_title {
  border-bottom: initial !important;
}

.search-box__input-item button {
  font-size: 15px;
  font-size: 0.9375rem;
  background-color: #F0F1F1;
  width: 320px;
  height: 48px;
  border-radius: 8px;
  font-weight: 400;
  letter-spacing: 0.05em;
  padding: 0 10px 0 42px;
  border: none;
  text-align: left;
  -webkit-text-fill-color: #31413E;
  opacity: 1 !important;
}

@media screen and (max-width: 767px) {
  .search-box__input-item button {
    width: 100%;
    border-radius: 12px;
    padding: 0 18px;
  }
}
.top-main .slider__list {
  opacity: 0;
}
.top-main .slider__list.slick-slider {
  opacity: 1;
}
.top-main .slider__list li {
  aspect-ratio: 550/220;
  height: 100%;
}
.top-main .slider__list li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.top-main .recommend__list {
  display: flex;
  opacity: 0;
}
.top-main .recommend__list.slick-slider {
  opacity: 1;
}
.top-main .recommend__list .slick-item {
  aspect-ratio: 166/278;
}

/* mv slider
-------------------------------------------------------*/
@media screen and (min-width: 768px) {
  .header-container--top::before {
    height: 636px !important;
  }

  .top-main .slider {
    margin: 0 calc((100vw - 1160px - 18px) / 2 * -1) 0 0 !important;
    width: 880px !important;
  }
  .top-main .slick-list {
    padding: 0 calc((100vw - 1160px - 18px) / 2 * -1) 0 0 !important;
  }
  .top-main .slider__list {
    margin-left: 0 !important;
  }
  .top-main .slider__list .slick-track > li {
    width: 732px !important;
    height: 292px !important;
  }
}
.top-main .recommend__list .slick-item {
  aspect-ratio: 1/1;
  width: 200px;
  height: 200px;
}

.recommend__sns-item {
  width: 85% !important;
  margin: 0 auto !important;
}

.recommend__sns-catch {
  margin-bottom: 12px !important;
}

.recommend .slick-prev,
.recommend .slick-next {
  top: -25% !important;
}
@media screen and (max-width: 767px) {
  .recommend .slick-prev,
.recommend .slick-next {
    top: -19% !important;
  }
}

.top-main .menu__list {
  width: 100%;
}

@media screen and (max-width: 1190px) {
  .top-main .container {
    padding: 0px !important;
  }
}
@media screen and (min-width: 768px) {
  body {
    min-width: 1160px;
  }

  html,
body {
    scroll-behavior: auto !important;
  }
}
body {
  overflow-x: hidden;
}

/* 検索窓
-------------------------------------------------------*/
.top-main .tab-box__list li button {
  opacity: 0.8;
}
.top-main .tab-box__list li button:hover {
  opacity: 0.5;
}

/* 新着情報
-------------------------------------------------------*/
.news__tab li button {
  width: 100%;
  font-size: 15px;
  font-size: 0.9375rem;
  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;
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
  height: 42px;
  font-weight: 700;
  letter-spacing: 0.05em;
  border-bottom: solid 1px rgba(49, 65, 62, 0.5);
  color: rgba(49, 65, 62, 0.5);
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .news__tab li button {
    font-size: 14px;
    font-size: 0.875rem;
    height: 40px;
  }
}
.news__tab li.is-active button {
  background-color: rgba(34, 179, 147, 0.1);
  border-radius: 8px 8px 0 0;
  border-bottom: solid 3px #009A78;
  color: #009A78;
  opacity: 1;
}

.sidebar-box-submenu a::after {
  display: none !important;
}
.sidebar-box-submenu__title {
  color: #31413E !important;
}

.sidebar-box-submenu__list {
  z-index: 60;
  overflow-y: scroll;
  height: 310px;
}

.philosophy {
  /* 共通
  -------------------------------------------------------------------*/
}
.philosophy .c-wrap {
  padding: 0 40px;
}
@media (max-width: 767px) {
  .philosophy .c-wrap {
    padding: 0 20px;
  }
}
.philosophy .p-basic {
  width: 100%;
  margin: 0;
  margin-bottom: 54px;
}
@media screen and (max-width: 767px) {
  .philosophy .p-basic {
    margin-bottom: 45px;
  }
}
.philosophy h2,
.philosophy h3,
.philosophy h4,
.philosophy h5,
.philosophy h6 {
  margin: 38px 0 30px;
}
@media screen and (max-width: 767px) {
  .philosophy h2,
.philosophy h3,
.philosophy h4,
.philosophy h5,
.philosophy h6 {
    margin: 30px 0 24px;
  }
}
.philosophy h2 {
  text-align: center;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 60%;
  letter-spacing: 0.7px;
}
@media screen and (max-width: 767px) {
  .philosophy h2 {
    font-size: 12px;
    letter-spacing: 0.6px;
  }
}
.philosophy h2 span {
  color: #009A78;
  font-family: "Lato", serif;
  font-size: 56px;
  font-weight: 900;
  line-height: 160%;
  letter-spacing: 1.12px;
}
@media screen and (max-width: 767px) {
  .philosophy h2 span {
    font: 40px;
  }
}
.philosophy .box {
  background-color: #F5F6F6;
  border-radius: 8px;
  padding: 38px 28px 54px;
  margin: 28px 0;
}
@media screen and (max-width: 767px) {
  .philosophy .box {
    margin: 20px 0;
    padding: 24px 20px 28px;
  }
}
.philosophy .full-wrap {
  margin: 0 -40px;
}
@media screen and (max-width: 767px) {
  .philosophy .full-wrap {
    margin: 0 calc(50% - 50vw);
  }
}
.philosophy .full-wrap .inner {
  padding: 0 40px;
}
@media screen and (max-width: 767px) {
  .philosophy .full-wrap .inner {
    padding: 0 5%;
  }
}
.philosophy .txt-center {
  color: #31413E;
  text-align: center;
  font-style: normal;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.0225em;
}
@media screen and (max-width: 767px) {
  .philosophy .txt-center {
    max-width: calc(100vw - 40px);
    margin: 0 auto;
    position: relative;
    z-index: 10;
  }
}

/* intro 
    -------------------------------------------------------------------*/
.intro {
  position: relative;
}
@media screen and (max-width: 767px) {
  .intro {
    margin-bottom: 100px;
  }
}
.intro .deco {
  position: absolute;
  z-index: 1;
}
.intro .deco1 {
  width: 154px;
  top: 240px;
  left: 0;
}
.intro .deco2 {
  width: 184px;
  top: 20px;
  right: 0;
}
.intro .deco3 {
  width: 107px;
  top: 550px;
  left: 138px;
}
.intro .deco4 {
  width: 122px;
  top: 380px;
  right: 128px;
}
.intro h1 {
  margin-top: 80px;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .intro h1 {
    margin-top: 54px;
  }
}
.intro h1 img {
  width: 394px;
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .intro h1 img {
    width: 80%;
  }
}
.intro_txt {
  color: #31413E;
  text-align: center;
  font-size: 1rem;
  font-style: normal;
  font-weight: 500;
  line-height: 240%;
  letter-spacing: 0.1em;
  margin-top: 60px;
  position: relative;
  z-index: 10;
}
.intro_txt span {
  color: #009A78;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .intro_txt {
    max-width: 80vw;
    margin: 0 auto;
    margin-top: 40px;
    line-height: 200%;
  }
}
.intro .bg {
  width: 100%;
  position: relative;
  top: -40px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .intro .bg {
    top: 30px;
  }
}

/* purpose 
    -------------------------------------------------------------------*/
.purpose .box h3 {
  margin: 10px 0 24px;
}
@media screen and (max-width: 767px) {
  .purpose .box h3 {
    margin: 8 0 12px;
  }
}
.purpose .box img {
  width: 362px;
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .purpose .box img {
    width: 80%;
  }
}

/* mission
    -------------------------------------------------------------------*/
.mission .txt-center {
  font-size: 1.125rem;
}
@media screen and (max-width: 767px) {
  .mission .txt-center {
    font-size: inherit;
  }
}

/* value
    -------------------------------------------------------------------*/
.value ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}
@media screen and (max-width: 767px) {
  .value ul {
    gap: initial;
    row-gap: 12px;
    justify-content: space-around;
  }
}
.value ul li {
  width: 32%;
  background-color: #F5F6F6;
  border-radius: 8px;
  padding: 20px 28px 30px 28px;
}
@media screen and (max-width: 767px) {
  .value ul li {
    width: 47%;
    padding: 14px 18px 20px 18px;
  }
}
.value ul li img {
  height: 51px;
  display: block;
  margin: 0 auto;
  margin-bottom: 7px;
}
.value ul li h3 {
  text-align: center;
  margin: 0;
  margin-bottom: 12px;
}
.value ul li p {
  color: #31413E;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 170%;
  letter-spacing: 0.32px;
}

/* rule
    -------------------------------------------------------------------*/
.rule > ul {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .rule > ul {
    flex-direction: column;
    row-gap: 16px;
  }
}
.rule > ul > li {
  width: 49%;
  background-color: #F5F6F6;
  border-radius: 8px;
  padding: 28px 25px;
}
@media screen and (max-width: 767px) {
  .rule > ul > li {
    width: 100%;
  }
}
.rule > ul > li h3 {
  color: #31413E;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 160%;
  letter-spacing: 1px;
  margin: 0;
  padding-bottom: 8px;
  border-bottom: 1px solid #DFE3E0;
  margin-bottom: 20px;
}
.rule > ul > li > ul > li {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.7;
  padding-left: 17px;
  position: relative;
}
.rule > ul > li > ul > li::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  background-color: #009A78;
  border-radius: 100%;
  position: absolute;
  top: 9px;
  left: 0;
}

/* end 
    -------------------------------------------------------------------*/
.end {
  position: relative;
  padding-top: 70px;
  padding-bottom: 90px;
}
@media screen and (max-width: 767px) {
  .end {
    padding-top: 0px;
    padding-bottom: 160px;
  }
}
.end p position {
  position: relative;
  z-index: 10;
}
.end .deco {
  position: absolute;
  z-index: 1;
}
.end .end-l {
  width: 261px;
  top: 10px;
  left: 0;
}
@media screen and (max-width: 767px) {
  .end .end-l {
    width: 48vw;
    max-width: 210px;
    top: inherit;
    bottom: -11px;
    left: 0;
  }
}
.end .end-r {
  width: 239px;
  top: 0;
  right: 0;
}
@media screen and (max-width: 767px) {
  .end .end-r {
    width: 48vw;
    max-width: 205px;
    top: inherit;
    right: 0;
    bottom: 0px;
  }
}

.page-top {
  z-index: 100;
}

.main-body .news {
  padding: 0 40px;
}
.main-body .news__title {
  font-size: 22px;
  font-size: 1.375rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 0;
}
.main-body .news__more {
  color: #31413E;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .main-body .news__more {
    font-size: 13px;
    font-size: 0.8125rem;
  }
}
@media screen and (max-width: 767px) {
  .main-body .news__more::after {
    position: relative;
    top: 1px;
  }
}
.main-body .news__list {
  width: 100%;
  margin: 0;
}
.main-body .news__list li {
  padding: 15px 0;
}
.main-body .news__list li + li {
  border-top: 1px solid #DFE3E0E5;
  margin-top: 0;
}
.main-body .news__list li::before {
  display: none;
}
.main-body .news__list a {
  display: block;
  color: #31413E;
  text-decoration: none;
}
.main-body .news__list a[target=_blank]::after {
  display: none;
}
.main-body .news__list a[target=_blank] .news__list-title::after {
  background-repeat: no-repeat;
  background-size: contain;
  background-position-x: 0;
  background-position-y: 0;
  content: "";
  width: 12px;
  height: 12px;
  display: inline-block;
  background-image: url(../img/common/icon_external-green.svg);
  margin-left: 4px;
  margin-right: 2px;
  position: relative;
  bottom: 3px;
}
@media screen and (max-width: 767px) {
  .main-body .news__list a[target=_blank] .news__list-title::after {
    bottom: 2px;
  }
}
.main-body .news__list-date {
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .main-body .news__list-date {
    font-size: 13px;
    font-size: 0.8125rem;
  }
}
.main-body .news__list-category {
  font-size: 13px;
  font-size: 0.8125rem;
  font-weight: 700;
  padding: 1.6px 12.5px 2px;
  border-radius: 30px;
  margin-left: 8px;
}
.main-body .news__list-category--subway {
  background-color: #BEE8D6;
}
.main-body .news__list-category--bus {
  background-color: #CBEBFC;
}
@media screen and (max-width: 767px) {
  .main-body .news__list-category {
    font-size: 12px;
    font-size: 0.75rem;
    padding: 1px 14px 1.5px;
  }
}
.main-body .news__list-title {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-top: 14px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
}
.main-body .news__list-title::before, .main-body .news__list-title::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.main-body .news__list-title::before {
  margin-top: calc((1 - 1.5) * 0.5em);
}
.main-body .news__list-title::after {
  margin-bottom: calc((1 - 1.5) * 0.5em);
}
@media screen and (max-width: 767px) {
  .main-body .news__list-title {
    font-size: 14px;
    font-size: 0.875rem;
  }
}
.main-body .news__list-title::after {
  display: none;
}

.p-page-ensen-navi .main-body {
  padding: 35px 40px 130px !important;
}
@media screen and (max-width: 767px) {
  .p-page-ensen-navi .main-body {
    padding: 0 20px 55px !important;
  }
}
.p-page-ensen-navi .main-body .ensen-list .first-item {
  padding-bottom: 36px !important;
}
@media screen and (max-width: 767px) {
  .p-page-ensen-navi .main-body .ensen-list .first-item {
    border-top: none !important;
  }
}
.p-page-ensen-navi .main-body .ensen-list .first-item a {
  align-items: center !important;
}
.p-page-ensen-navi .main-body .ensen-list .first-item_txt {
  position: inherit !important;
}
.p-page-ensen-navi .main-body .ensen-list .ensen-list_item-search {
  width: 100%;
  height: 70px;
  padding: 0;
}
.p-page-ensen-navi .main-body .ensen-list .ensen-list_item-search > a {
  padding: 20px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  text-align: center;
  font-weight: 900;
}
.p-page-ensen-navi .main-body .ensen-list .ensen-list_item-search > a p {
  font-weight: 700;
  padding-right: 10px;
  margin: 0;
}
.p-page-ensen-navi h2.ensen-list_item_txt_title {
  padding-bottom: 0;
  border: 0;
}

body.kids {
  background-color: #D3EDE3 !important;
}

.p-page-kids-archive .main-wrap {
  padding-top: 140px !important;
}
@media screen and (max-width: 767px) {
  .p-page-kids-archive .main-wrap {
    padding-top: 100px !important;
  }
}

.p-page-kids-archive .main-wrap .kids-heading_text::after,
.p-page-kids-archive .main-wrap .kids-heading::before,
.p-page-kids-archive .main-wrap .kids-heading::after {
  content: none !important;
}

.p-page-kids-archive .main-wrap .kids-heading {
  width: 1146px !important;
  margin: 0 0 0 auto !important;
}
@media screen and (max-width: 767px) {
  .p-page-kids-archive .main-wrap .kids-heading {
    width: 100% !important;
    padding: 0 20px !important;
  }
}

.p-page-kids-archive .main-wrap .kids-heading_inner {
  display: flex !important;
  align-items: flex-end !important;
  margin-bottom: 30px !important;
  padding: 0 !important;
  gap: 28px !important;
}
@media screen and (max-width: 767px) {
  .p-page-kids-archive .main-wrap .kids-heading_inner {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 20px !important;
    gap: 6px !important;
  }
}

.p-page-kids-archive .main-wrap .kids-heading_title {
  margin: 0 !important;
}
@media screen and (max-width: 767px) {
  .p-page-kids-archive .main-wrap .kids-heading_title {
    width: 70vw !important;
  }
}

.p-page-kids-archive .main-wrap .kids-heading_vehicle {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  gap: 12px !important;
}
@media screen and (max-width: 767px) {
  .p-page-kids-archive .main-wrap .kids-heading_vehicle {
    margin: 0 !important;
    margin-top: 10px !important;
    justify-content: space-between !important;
    gap: inherit !important;
  }
}
.p-page-kids-archive .main-wrap .kids-heading_vehicle > img {
  width: 168px;
}
@media screen and (max-width: 767px) {
  .p-page-kids-archive .main-wrap .kids-heading_vehicle > img {
    width: 32%;
  }
}

.p-page-kids-archive .main-wrap .kids-heading_text {
  text-align: inherit !important;
  width: auto !important;
  margin-bottom: 30px !important;
  margin-top: 20px !important;
}
@media screen and (max-width: 767px) {
  .p-page-kids-archive .main-wrap .kids-heading_text {
    text-align: center !important;
    font-size: 15px !important;
    margin: 0 !important;
  }
}

.p-page-price .main-body .p-bus .bnr-list li:nth-child(3) .icon,
.p-page-price .main-body .p-subway .bnr-list li:nth-child(3) .icon {
  width: 60px !important;
}
@media screen and (max-width: 767px) {
  .p-page-price .main-body .p-bus .bnr-list li:nth-child(3) .icon,
.p-page-price .main-body .p-subway .bnr-list li:nth-child(3) .icon {
    width: 40% !important;
    margin-bottom: 0px !important;
  }
}

.p-page-company .main-body .p-basic .flxbx {
  flex-wrap: wrap !important;
  row-gap: 10px !important;
}

.p-page-company .main-body .p-basic .flxbx_item {
  width: 259px !important;
  height: 60px !important;
}
@media screen and (max-width: 767px) {
  .p-page-company .main-body .p-basic .flxbx_item {
    width: 100% !important;
    flex-basis: auto !important;
  }
}

.p-page-company .main-body .p-basic .flxbx_item a {
  flex-direction: row !important;
  text-align: inherit !important;
}

.p-page-company .main-body .p-basic .flxbx_item a figure {
  margin: 0 !important;
  width: 70px !important;
}
.p-page-company .main-body .p-basic .flxbx_item a figure > img {
  margin: 0 auto !important;
  display: block !important;
}

.p-page-company .main-body img.slide-arrow {
  position: absolute !important;
  bottom: -32px !important;
  width: 64px;
  height: 64px;
  z-index: 10;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-page-company .main-body img.slide-arrow {
    width: 52px;
    height: 52px;
    bottom: -25px !important;
  }
}
.p-page-company .main-body img.slide-arrow:hover {
  cursor: pointer;
  opacity: 0.7;
}

.p-page-company .main-body img.next-arrow {
  right: 36px !important;
}
@media screen and (max-width: 767px) {
  .p-page-company .main-body img.next-arrow {
    right: 6px !important;
  }
}

.p-page-company .main-body img.prev-arrow {
  right: 90px !important;
}
@media screen and (max-width: 767px) {
  .p-page-company .main-body img.prev-arrow {
    right: 52px !important;
  }
}

summary {
  display: block;
  list-style: none;
}

summary::-webkit-details-marker {
  display: none;
}

.header-main__language-button::before {
  width: 15px !important;
  height: 15px !important;
}

.header-main.is-scroll {
  z-index: 9999;
}

.drawer.sp {
  z-index: 9999;
}

.drawer-language a {
  text-align: center;
}

/* animation2 */
.footer-illust__mountain2 {
  width: 420px;
  top: -180px;
  right: min(-20px, (100vw - 1160px) / 2 * -1);
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .footer-illust__mountain2 {
    top: -52px;
    right: -80px;
    width: 220px;
  }
}

@keyframes subway-move {
  0% {
    transform: translateX(calc(-110px - 50vw));
  }
  100% {
    transform: translateX(calc(100vw + 110px));
  }
}
.footer-illust__subway {
  position: absolute;
  top: -93px;
  z-index: -2;
  width: 555px;
  left: 0;
  animation: subway-move 40s linear infinite;
}
@media screen and (max-width: 767px) {
  .footer-illust__subway {
    top: -23px;
    width: 331px;
    left: 0;
    animation: subway-move 20s linear infinite;
  }
}

.footer-illust__building {
  width: 242px;
  top: -130px;
  left: 0;
  z-index: -3;
}
@media screen and (max-width: 767px) {
  .footer-illust__building {
    top: -34px;
    left: 22px;
    width: 110px;
  }
}

/* animation3 */
.footer-illust__mountain3 {
  width: 420px;
  top: -267px;
  left: 0;
  z-index: -3;
}
@media screen and (max-width: 767px) {
  .footer-illust__mountain3 {
    top: -102px;
    right: -80px;
    width: 220px;
  }
}

@keyframes bus-move {
  0% {
    transform: translateX(calc(-110px - 50vw));
  }
  40% {
    transform: translateX(500px);
  }
  50% {
    transform: translateX(500px);
  }
  100% {
    transform: translateX(calc(100vw + 110px));
  }
}
@media screen and (max-width: 767px) {
  @keyframes bus-move-sp {
    0% {
      transform: translateX(calc(-110px - 50vw));
    }
    40% {
      transform: translateX(calc(100vw - 320px));
    }
    50% {
      transform: translateX(calc(100vw - 320px));
    }
    100% {
      transform: translateX(calc(100vw + 110px));
    }
  }
}
.footer-illust__bus {
  position: absolute;
  top: -97px;
  z-index: -1;
  width: 110px;
  left: 0;
  animation: bus-move 40s ease-in-out infinite;
}
@media screen and (max-width: 767px) {
  .footer-illust__bus {
    animation: bus-move-sp 30s ease-in-out infinite;
    top: -30px;
    z-index: -1;
    width: 80px;
    left: 0;
  }
}

.footer-illust__bekobe2 {
  width: 162px;
  top: -190px;
  right: 0;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .footer-illust__bekobe2 {
    top: -117px;
    right: 26px;
    width: 140px;
  }
}

.footer-illust__busstop {
  width: 22px;
  top: -126px;
  right: 240px;
  z-index: -2;
}
@media screen and (max-width: 767px) {
  .footer-illust__busstop {
    top: -56px;
    right: 212px;
    width: 18px;
  }
}

@media screen and (max-width: 767px) {
  footer {
    border-radius: 0;
  }
}

.use-element .news-list {
  margin: 64px 0;
}

.news-list h2 {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 0;
  border: none;
  margin: 0 0 22px;
}
@media screen and (max-width: 767px) {
  .news-list h2 {
    font-size: 18px;
    font-size: 1.125rem;
    margin: 0 0 18px;
  }
}
.news-list__list {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  column-gap: 20px;
}
@media screen and (max-width: 767px) {
  .news-list__list {
    flex-direction: column;
    background-color: #fff;
    border-radius: 12px;
    box-shadow: 0px 0px 10px 0px #B0BDB60D;
    padding: 20px;
  }
}
.news-list__list li {
  flex-basis: calc(100% - 10px);
  padding-left: 0 !important;
  max-width: 160px !important;
}
@media screen and (max-width: 767px) {
  .news-list__list li {
    flex-basis: 100%;
    max-width: inherit !important;
  }
}
.news-list__list li + li {
  margin-top: 0 !important;
}
@media screen and (max-width: 767px) {
  .news-list__list li + li {
    border-top: solid 1px #DFE3E0E5;
  }
}
.news-list__list li::before {
  content: none !important;
}
.news-list__list li:first-child a {
  padding-top: 0;
}
.news-list__list li:last-child a {
  padding-bottom: 0;
}
.news-list__list a {
  color: #31413E;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .news-list__list a {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    column-gap: 14px;
    padding: 16px 0;
  }
}
@media screen and (max-width: 767px) {
  .news-list__img {
    flex-shrink: 0;
    flex-basis: 94px;
  }
}
.news-list__img img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  object-fit: cover;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .news-list__img img {
    border-radius: 4px;
  }
}
.news-list__detail {
  margin-top: 10px;
  display: block;
  height: 144px;
}
@media screen and (max-width: 767px) {
  .news-list__detail {
    margin-top: 0;
    height: inherit;
  }
}
.news-list__detail .news-list__tax {
  font-size: 12px;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #8C928F;
  width: fit-content;
  border: 1px solid #8C928F;
  border-radius: 4px;
  padding: 0 4px;
}
@media screen and (max-width: 767px) {
  .news-list__detail .news-list__tax {
    font-size: 12px;
    font-size: 0.75rem;
  }
}
.news-list__detail .news-list__title {
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  margin: 0;
  margin-top: 8px;
  max-height: 65px;
}
@media screen and (max-width: 767px) {
  .news-list__detail .news-list__title {
    font-size: 14px;
    font-size: 0.875rem;
    -webkit-line-clamp: 2;
    max-height: 38px;
  }
}
.news-list__meta {
  position: absolute;
  bottom: 0;
}
@media screen and (max-width: 767px) {
  .news-list__meta {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    column-gap: 12px;
    position: initial;
  }
}
.news-list__category, .news-list__date {
  font-size: 13px;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #8C928F;
}
@media screen and (max-width: 767px) {
  .news-list__category, .news-list__date {
    font-size: 12px;
    font-size: 0.75rem;
  }
}
.news-list__date {
  display: block;
}

.timetableModal {
  z-index: 9999;
  transition: 300ms ease;
  transition-property: opacity, visibility;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(49, 65, 62, 0.6);
}
.timetableModal button {
  color: #31413E !important;
}
.timetableModal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: initial;
}
.timetableModal .search-menu__boxList {
  display: none;
}
.timetableModal .timetableModal__accordion {
  display: none;
}
.timetableModal .search-menu__boxListItem {
  font-size: 13.3333px;
  font-weight: 500;
}
.timetableModal .js-searchActive {
  display: block;
}
.timetableModal .search-menu__wrap {
  position: fixed;
  top: 10%;
  transition: none;
  height: 80% !important;
}
@media screen and (max-width: 767px) {
  .timetableModal .search-menu__wrap {
    height: 100dvh !important;
    top: 0;
  }
}
.timetableModal__accordion {
  margin: 20px 28px 0;
  display: block;
}
.timetableModal .suggestion__label-icon--big, .timetableModal .suggestion__label-icon {
  width: 30px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.timetableModal__accordionStation--lv1 {
  border-bottom: 1px solid #EBEFF5;
  padding: 5px 0;
  width: 100%;
  position: relative;
  font-size: 14px;
  font-size: 0.875rem;
}
.timetableModal__accordionStation--lv1::after {
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  right: 10px;
  background-position-x: 0;
  background-position-y: 0;
  content: "";
  background-image: url(../img/common/arrow_down-black.svg);
  width: 7px;
  height: 4px;
  top: calc(50% - 4px);
}
.timetableModal__accordionStation--lv2 {
  padding: 5px 0;
  width: 100%;
  display: block;
  padding-left: 1em;
  position: relative;
  font-size: 14px;
  font-size: 0.875rem;
}
.timetableModal__accordionStation--lv2::after {
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  right: 10px;
  background-position-x: 0;
  background-position-y: 0;
  content: "";
  background-image: url(../img/common/arrow_right-black.svg);
  width: 7px;
  height: 8px;
  top: calc(50% - 4px);
}
.timetableModal__accordionButton {
  font-size: 14px;
}
.timetableModal__accordionButton--lv1 {
  border-bottom: 1px solid #EBEFF5;
  font-size: 14px;
  font-size: 0.875rem;
  display: block;
  font-size: 16px;
  width: 100%;
  text-align: left;
  padding: 10px 0;
  position: relative;
}
.timetableModal__accordionButton--lv1::after {
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  right: 10px;
  background-position-x: 0;
  background-position-y: 0;
  content: "";
  background-image: url(../img/common/arrow_down-black.svg);
  width: 7px;
  height: 4px;
  top: calc(50% - 4px);
}
.timetableModal__accordionButton--lv2 {
  display: block;
  width: 100%;
  text-align: left;
  margin: 10px 0;
  font-size: 14px;
  font-size: 0.875rem;
  position: relative;
  font-weight: 700;
}
.timetableModal__accordionButton--lv2::after {
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  right: 10px;
  background-position-x: 0;
  background-position-y: 0;
  content: "";
  background-image: url(../img/common/arrow_down-black.svg);
  width: 7px;
  height: 4px;
  top: calc(50% - 4px);
}
.timetableModal__accordionButton--lv3 {
  display: block;
  width: 100%;
  text-align: left;
  margin: 10px 0;
  font-size: 14px;
  font-size: 0.875rem;
  position: relative;
  font-weight: 700;
  padding-left: 1em;
}
.timetableModal__accordionButton--lv3::after {
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  right: 10px;
  background-position-x: 0;
  background-position-y: 0;
  content: "";
  background-image: url(../img/common/arrow_down-black.svg);
  width: 7px;
  height: 4px;
  top: calc(50% - 4px);
}
.timetableModal__accordionListItem a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.timetableModal__accordionItem--lv1 {
  font-size: 14px;
  font-size: 0.875rem;
}
.timetableModal__accordionItem--lv2 {
  font-size: 14px;
  font-size: 0.875rem;
}
.timetableModal__accordionItem--lv3 {
  padding-left: 2em;
  display: flex;
  flex-direction: column;
  gap: 15px;
}

/* アコーディオン本体の初期状態 */
.timetableModal__accordionItem--lv1,
.timetableModal__accordionItem--lv2,
.timetableModal__accordionItem--lv3 {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

/* 開いている状態 (open クラスが付与されたら) */
.timetableModal__accordionItem--lv1.open,
.timetableModal__accordionItem--lv2.open,
.timetableModal__accordionItem--lv3.open {
  max-height: 1000px;
}

#busType.open {
  max-height: initial;
}

.use-element .main-body {
  border-radius: 10px;
}
.use-element .wp-block-button {
  margin: 0 auto;
  margin-bottom: 1rem;
  width: 392px;
}
.use-element .wp-block-buttons {
  justify-content: center;
}
.use-element .wp-block-buttons .wp-block-button {
  margin: 0;
  margin-bottom: 1rem;
}
.use-element .wp-block-buttons.is-content-justification-left {
  justify-content: start;
}
.use-element .wp-block-buttons.is-content-justification-right {
  justify-content: end;
}
.use-element .wp-block-columns {
  margin-bottom: 0;
}
.use-element :where(.wp-block-columns.is-layout-flex) {
  gap: 1em;
}
.use-element .has-text-align-left {
  justify-content: start !important;
}
.use-element .has-text-align-center {
  justify-content: center !important;
}
.use-element .has-text-align-right {
  justify-content: end !important;
}
.use-element .wp-block-image {
  margin-bottom: 1rem;
}
.use-element ol {
  margin: 22px 0;
}
@media screen and (max-width: 767px) {
  .use-element ol {
    margin: 20px 0;
  }
}
.use-element .is-style-note {
  margin-bottom: 1rem;
  /* デフォルト */
}
.use-element .is-style-note + .is-style-note {
  margin-top: -1rem;
}

/* common
-------------------------------------------------------*/
input:focus,
select:focus,
textarea:focus {
  outline: 0;
}

/* footer
-------------------------------------------------------*/
footer:focus-within {
  /* すべての要素のアウトラインの色を変更 */
}
footer:focus-within *:focus {
  outline: 2px solid #fff !important;
}

.js-smooth:focus-visible img {
  outline: 2px solid #fff !important;
}

/* top
-------------------------------------------------------*/
.slick-prev:focus-visible,
.slick-next:focus-visible {
  color: transparent;
  outline: 2px solid #31413E !important;
  background: transparent;
}

.top-link-list__attempt a:focus-visible img {
  outline: 2px solid #31413E !important;
}

.slick-list:focus {
  outline: 2px solid #31413E !important;
}

.slick-item a:focus figure {
  outline: 2px solid #31413E !important;
}

/* subway
-------------------------------------------------------*/
.p-page-subway .p-routemap__tab-item__list__col a:focus-within {
  outline: 2px solid #31413E !important;
  display: block;
}

/* 言語切り替えボタン
-------------------------------------------------------*/
#language-select:focus-visible {
  outline: 2px solid #31413E !important;
}

/* シンプルアコーディオン
-------------------------------------------------------*/
summary.accordion-simple__trigger:focus-visible {
  outline: 2px solid #31413E !important;
}

/* バス
-------------------------------------------------------*/
.p-page-bus-route .tab-box .btn_area .tab_btn:focus-within {
  outline: 2px solid #31413E !important;
}

.p-page-bus-route .tab-box .btn_area .tab_btn button:focus-within {
  outline: none;
}

.p-page-bus-route .current-list_item a:focus-visible:focus-visible {
  outline: 2px solid #fff !important;
}

.p-page-bus-route .current-list_item button:focus-visible:focus-visible {
  outline: 2px solid #fff !important;
}

/* 地下鉄
-------------------------------------------------------*/
.p-page-subway-route .tab-box .btn_area .tab_btn:focus-within {
  outline: 2px solid #31413E !important;
}

.p-page-subway-route .tab-box .btn_area .tab_btn button:focus-within {
  outline: none;
}

.p-page-subway-route .current-list_item a:focus-visible:focus-visible {
  outline: 2px solid #fff !important;
}

.p-page-subway-route .current-list_item button:focus-visible:focus-visible {
  outline: 2px solid #fff !important;
}

/* 周辺スポット
-------------------------------------------------------*/
.news-list .news-list__list li:focus-within {
  outline: 2px solid #31413E !important;
}

.p-page-subway .p-routemap__tab li button {
  width: 100%;
  font-size: 16px;
  font-size: 1rem;
  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;
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
  height: 60px;
  font-weight: 700;
  letter-spacing: 0.05em;
  border-top: solid 3px #AFB6B2;
  color: #31413E;
  opacity: 0.8;
  cursor: pointer;
  padding: 0;
  margin: 0;
  background-color: #F5F6F6;
}
.p-page-subway .p-routemap__tab li button:hover {
  opacity: 0.5;
}
@media screen and (max-width: 767px) {
  .p-page-subway .p-routemap__tab li button {
    font-size: 14px;
    font-size: 0.875rem;
    height: 40px;
  }
}
.p-page-subway .p-routemap__tab li.is-active button {
  background-color: #fff;
  opacity: 1;
}
.p-page-subway li.is-active.green {
  border-top: none;
}
.p-page-subway li.is-active.green button {
  border-top: solid 3px #009A78;
  color: #009A78;
}
.p-page-subway li.is-active.blue {
  border-top: none;
}
.p-page-subway li.is-active.blue button {
  border-top: solid 3px #0191D7;
  color: #0191D7;
}
.p-page-subway .p-page-subway .p-info_main_title {
  font-weight: 700;
  font-size: 17px;
  font-size: 1.0625rem;
  width: 100%;
  background-color: #1E7F6A;
  color: #fff;
  border-radius: 8px 8px 0 0;
  padding: 4.5px 25px;
  margin: 0;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-page-subway .p-page-subway .p-info_main_title {
    font-size: 0.875rem;
    padding: 3px 17px;
    letter-spacing: 0.03em;
  }
}
.p-page-subway .list-txt_title {
  border-bottom: initial !important;
}

.p-page-news .main-body .news-content__item a h2 {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  margin: 0;
  margin-top: 17px;
  line-height: 1.5;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  border: 0;
  padding-bottom: 0;
}
@media screen and (max-width: 767px) {
  .p-page-news .main-body .news-content__item a h2 {
    font-size: 15px;
    font-size: 0.9375rem;
    white-space: normal;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    margin-top: 6px;
  }
}

.use-element details.accordion-simple__item {
  display: block;
}
.use-element details.accordion-simple__item summary.accordion-simple__trigger {
  margin: 0;
  position: relative;
}
.use-element details.accordion-simple__item summary.accordion-simple__trigger h3 {
  padding: 22px 20px 22px 0;
  margin: 0 !important;
}
.use-element details.accordion-simple__item .accordion-simple__content {
  display: block;
}
.use-element details.accordion-simple__item[open] .accordion-simple__trigger::after {
  width: 16px;
  height: 4px;
  background-image: url(../img/common/minus_gray.svg);
}
@media screen and (max-width: 767px) {
  .use-element details.accordion-simple__item[open] .use-element .accordion-simple__trigger::after {
    width: 14px;
    height: 3px;
  }
}

.use-element .accordion-simple--full details.accordion-simple__item {
  padding: 0 40px;
}
.use-element .accordion-simple--full details.accordion-simple__item summary.accordion-simple__trigger h2 {
  padding: 21px 20px 21px 0;
  margin: 0 !important;
  border-bottom: 0;
}

.route-timetable__col table tbody tr td:nth-child(even) {
  flex-wrap: wrap;
  word-break: keep-all;
}

.current-list .current-list_item > h1 {
  display: contents;
  cursor: default;
}
.current-list .current-list_item > h1::before {
  display: none;
}
.current-list li.current-list_item:nth-child(2) {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-right: 40px !important;
}
@media screen and (max-width: 767px) {
  .current-list li.current-list_item:nth-child(2) {
    padding-right: 0 !important;
  }
}
.current-list li.current-list_item:nth-child(2) .current-list_item_title {
  margin: 0;
}
.current-list li.current-list_item:nth-child(2) .current-list_item_kana {
  font-size: 0.85rem;
  color: #fff;
}

.p-page-bus-route .tab-box .btn_area .tab_btn button {
  cursor: pointer;
  font-size: 17px;
  font-size: 1.0625rem;
  color: #31413E;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-page-bus-route .tab-box .btn_area .tab_btn button {
    font-size: 15px;
    font-size: 0.9375rem;
  }
}

.p-page-bus-route .tab-box .btn_area .tab_btn.active button {
  background-color: #fff;
  color: #009A78;
  opacity: 1;
}

.p-page-bus-route .panel_area .tab-time .route-destination__btn {
  display: contents !important;
}
.p-page-bus-route .panel_area .tab-time .route-destination__btn button {
  text-align: center;
  border-radius: 8px;
  margin: 0;
  width: 100%;
  font-size: 16px;
  padding: 14px 20px;
  font-weight: 700;
  background: #f5f6f6;
  letter-spacing: 0.05em;
  color: #b9bcbb;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .p-page-bus-route .panel_area .tab-time .route-destination__btn button {
    font-size: 14px;
    font-size: 0.875rem;
  }
}

.p-page-bus-route .panel_area .tab-time .route-destination__btn.is-active button {
  color: #fff;
  background: linear-gradient(179.52deg, #009a78 -0.03%, #0caa87 100.02%);
}

.p-page-bus-route .panel_area .tab_panel.active {
  z-index: initial !important;
}

.p-spot iframe {
  margin-bottom: 24px;
}
.p-spot a[target=_blank]::after {
  background-image: url(../img/common/icon_external-white.svg);
  margin-left: 8px;
}

.p-page-ensen-single .single-content .wp-mv-content {
  margin-bottom: 24px;
}
.p-page-ensen-single .single-content .wp-mv-content_head_txt_title {
  display: block !important;
  overflow: auto !important;
}

.page-contact p {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .page-contact p {
    font-size: 16px;
    font-size: 1rem;
    letter-spacing: 0.03em;
  }
}

.p-page-subway-route .route-destination__btn {
  display: contents !important;
}
.p-page-subway-route .route-destination__btn button {
  text-align: center;
  border-radius: 8px;
  margin: 0;
  width: 100%;
  font-size: 16px;
  padding: 14px 20px;
  font-weight: 700;
  background: #f5f6f6;
  letter-spacing: 0.05em;
  color: #b9bcbb;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .p-page-subway-route .route-destination__btn button {
    font-size: 14px;
    font-size: 0.875rem;
  }
}

.p-page-subway-route .panel_area .tab-time .route-destination__btn.is-active button {
  color: #fff;
  background: linear-gradient(179.52deg, #009a78 -0.03%, #0caa87 100.02%);
}

.p-page-subway-route .tab-box .btn_area .tab_btn button {
  cursor: pointer;
  font-size: 17px;
  font-size: 1.0625rem;
  color: #31413E;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-page-subway-route .tab-box .btn_area .tab_btn button {
    font-size: 15px;
    font-size: 0.9375rem;
  }
}

.p-page-subway-route .tab-box .btn_area .tab_btn.active button {
  background-color: #fff;
  color: #009A78;
  opacity: 1;
}

.use-element .wp-block-button a.web-teiki__yoyaku {
  position: relative;
}
.use-element .wp-block-button a.web-teiki__yoyaku::before {
  position: absolute;
  left: 32px;
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  background-image: url(../../assets/img/common/icon-webteiki-yoyaku.png);
}
.use-element .wp-block-button a.web-teiki__yoyaku-kakunin {
  position: relative;
}
.use-element .wp-block-button a.web-teiki__yoyaku-kakunin::before {
  position: absolute;
  left: 32px;
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  background-image: url(../../assets/img/common/icon-webteiki-yoyakukakunin.png);
}

.use-element figure figcaption {
  display: block;
}

/*# sourceMappingURL=add.css.map */
