@charset "UTF-8";
/* //////////////////////////////////////////////////

　サイト全般のスタイル

////////////////////////////////////////////////// */
/*
  Typography
-------------------------------------------------- */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Zen+Maru+Gothic:wght@500;700&display=swap");
/*
  FONT
-------------------------------------------------- */
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 100; }
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 200; }
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 300; }
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: normal; }
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
  font-weight: bold; }
body {
  color: #000;
  font-family: "Zen Maru Gothic", sans-serif, "Yu Gothic", YuGothic, "游ゴシック", "游ゴシック体", "YuGothic", "Noto Sans JP", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, Meiryo, sans-serif;
  font-size: 1rem;
  font-weight: normal; }
  @media (max-width: 767px) {
    body {
      font-size: 14px;
      font-size: 0.875rem; } }

p {
  line-height: 1.75;
  font-feature-settings: "palt";
  letter-spacing: .05em; }
  @media (max-width: 767px) {
    p {
      line-height: 1.6; } }

li, dt, dd, th, td, address {
  line-height: 1.6;
  font-feature-settings: "palt";
  letter-spacing: .05em; }

a {
  color: #333;
  text-decoration: none;
  transition: .4s all; }
  a:hover {
    text-decoration: none;
    opacity: .8; }

a.btn, a.btn-second, a.btn-line,
.next-nav a,
.rel-nav a,
.lnav a,
.pnav a {
  text-decoration: none; }

i, em {
  font-style: normal;
  font-feature-settings: "palt";
  letter-spacing: .05em; }

.fnt-yu {
  font-family: "Yu Gothic", YuGothic, "游ゴシック", "游ゴシック体", "YuGothic", "Noto Sans JP"; }

body {
  position: relative; }
  @media (max-width: 767px) {
    body {
      margin-bottom: 90px; } }

img, svg {
  max-width: 100%;
  width: 100%;
  height: auto; }

/*
	LAYOUT
-------------------------------------------------- */
#wrapper {
  position: relative;
  overflow: hidden; }

#contents {
  padding-top: 80px; }
  @media (max-width: 1149px) {
    #contents {
      padding-top: 60px; } }

.wrap {
  max-width: 1150px;
  margin: auto;
  padding: 0 15px; }
  .wrap-inner {
    max-width: 1030px;
    margin: auto;
    padding: 0 15px; }
  .wrap-wide {
    width: 100%;
    margin: auto; }

/* 
  common
-------------------------------------------------- */
@media (max-width: 767px) {
  .blk-sp {
    display: block; } }
@media (min-width: 768px) {
  .blk-tb {
    display: block; } }
@media (min-width: 1150px) {
  .blk-pc {
    display: block; } }

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

.auto-mw {
  max-width: none !important; }
.auto-mh {
  max-height: none !important; }

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important; }

/*
header
-------------------------------------------------- */
.header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  background: #FFF;
  height: 80px;
  padding-right: 324px;
  padding-left: 40px;
  z-index: 100; }
  @media (min-width: 768px) and (max-width: 1149px) {
    .header {
      height: 60px;
      padding-right: 189px; } }
  @media (max-width: 767px) {
    .header {
      height: 60px;
      padding-right: 0;
      padding-left: 15px; } }
  .header-inner {
    display: flex;
    align-items: center; }
  .header-wrap {
    height: 80px;
    display: flex;
    align-items: center;
    margin-left: auto; }
    @media (max-width: 1149px) {
      .header-wrap {
        height: 60px; } }

.logo {
  width: 266px;
  height: 47px; }
  @media (min-width: 768px) and (max-width: 1149px) {
    .logo {
      width: 180px;
      height: 31px; } }
  @media (max-width: 767px) {
    .logo {
      width: 150px;
      height: 27px; } }

@media (max-width: 767px) {
  .cta-info {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    height: 80px;
    background-color: #FFF;
    z-index: 20; } }
@media (min-width: 768px) {
  .cta-tel {
    position: fixed;
    top: 0;
    right: 0;
    height: 80px;
    z-index: 200; } }
@media (min-width: 768px) and (max-width: 1149px) {
  .cta-tel {
    height: 60px; } }
@media (max-width: 767px) {
  .cta-tel {
    display: flex;
    align-items: center; } }
.cta-tel > a, .cta-tel > span {
  display: flex;
  height: 100%;
  justify-content: center;
  align-items: center;
  padding: 5px 40px;
  background-color: #39938A;
  color: #FFF;
  font-size: 38px;
  font-size: 2.375rem; }
  @media (min-width: 768px) and (max-width: 1149px) {
    .cta-tel > a, .cta-tel > span {
      font-size: 26px;
      font-size: 1.625rem;
      padding: 5px 10px; } }
  @media (max-width: 767px) {
    .cta-tel > a, .cta-tel > span {
      width: 160px;
      height: 55px;
      padding: 10px;
      font-size: 18px;
      font-size: 1.125rem;
      border-radius: 10px;
      background: #39a06f;
      box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16); } }
.cta-tel-ic {
  height: 41px;
  padding-left: 34px;
  background: url("../img/ic_tel_white.webp") 0 calc(50% + 4px) no-repeat; }
  @media (min-width: 768px) and (max-width: 1149px) {
    .cta-tel-ic {
      height: 27px;
      padding-left: 24px;
      background-size: 20px auto; } }
  @media (max-width: 767px) {
    .cta-tel-ic {
      display: flex;
      align-items: center;
      height: 30px;
      padding-left: 30px;
      background-size: 22px auto;
      background-position: 0 50%; } }
@media (min-width: 768px) {
  .cta-time {
    position: absolute;
    top: 640px;
    right: 0;
    display: flex;
    width: 664px;
    height: 290px;
    background: #FFF;
    border-radius: 24px 0 0 24px;
    box-shadow: -3px 3px 6px rgba(0, 0, 0, 0.16);
    z-index: 300;
    transition: right .8s; } }
@media (max-width: 767px) {
  .cta-time {
    display: block;
    width: 160px;
    height: 55px; } }
@media (min-width: 768px) {
  .cta-time.cta-fixed {
    position: fixed;
    top: 100px;
    right: -594px; } }
@media (min-width: 768px) {
  .cta-time.cta-fixed:hover {
    right: 0; } }
@media (min-width: 768px) {
  .cta-time-button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 70px;
    flex: 0 0 70px;
    height: 100%;
    border-radius: 20px 0px 0px 20px;
    background: #349566;
    font-size: 18px;
    font-size: 1.125rem;
    color: #FFF;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    line-height: 1.65;
    letter-spacing: .45em; } }
.cta-time-ic {
  color: #FFF; }
  @media (min-width: 768px) {
    .cta-time-ic {
      pointer-events: none;
      cursor: text; } }
  @media (max-width: 767px) {
    .cta-time-ic {
      width: 160px;
      height: 55px;
      padding: 10px;
      font-size: 18px;
      font-size: 1.125rem;
      border-radius: 10px;
      background: #EB6C30 url("../img/ic_clock.webp") 25px 50% no-repeat;
      box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
      display: flex;
      justify-content: center;
      align-items: center;
      padding-left: 30px;
      background-size: 20px auto; } }
@media (min-width: 768px) {
  .cta-time-wrap {
    width: 100%;
    height: 100%;
    padding: 0 60px 0 20px; } }
@media (max-width: 767px) {
  .cta-time-wrap {
    display: none; } }

.reception-timeschedule {
  width: 100%;
  height: 100%; }
  .reception-timeschedule thead th {
    position: relative;
    height: 60px;
    text-align: center;
    vertical-align: middle;
    font-size: 18px;
    font-size: 1.125rem; }
    .reception-timeschedule thead th::after {
      position: absolute;
      bottom: 0;
      right: -35px;
      left: 0;
      width: calc(100% + 35px);
      height: 1px;
      content: '';
      background-color: #CECECE;
      content: ''; }
  .reception-timeschedule tbody tr {
    height: 60px; }
  .reception-timeschedule tbody th {
    position: relative;
    vertical-align: middle;
    font-size: 18px;
    font-size: 1.125rem; }
    .reception-timeschedule tbody th::after {
      position: absolute;
      bottom: 0;
      left: 0;
      display: block;
      width: calc(100% + 35px);
      height: 1px;
      content: '';
      background-color: #CECECE;
      content: ''; }
  .reception-timeschedule tbody td {
    position: relative;
    text-align: center;
    vertical-align: middle;
    font-size: 28px;
    font-size: 1.75rem;
    color: #349566; }
    .reception-timeschedule tbody td::after {
      position: absolute;
      bottom: 0;
      left: 0;
      display: block;
      width: calc(100% + 35px);
      height: 1px;
      content: '';
      background-color: #CECECE;
      content: ''; }
  .reception-timeschedule tfoot th {
    height: 60px;
    text-align: center;
    vertical-align: middle;
    font-size: 18px;
    font-size: 1.125rem; }
  .reception-timeschedule tfoot td {
    text-align: center;
    vertical-align: middle;
    font-size: 18px;
    font-size: 1.125rem; }

@media (min-width: 768px) {
  .subpage .cta-time {
    display: none; }
  .subpage .footer-outer {
    margin-top: 30px;
    margin-bottom: 30px; } }
@media (min-width: 1150px) {
  .nav {
    margin-right: 25px; } }
@media (min-width: 768px) and (max-width: 1149px) {
  .nav {
    margin-right: 14px; } }
.nav-toggle {
  position: relative;
  display: block;
  width: 60px;
  height: 60px;
  cursor: pointer;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2233%22%20height%3D%2219%22%20viewBox%3D%220%200%2033%2019%22%3E%20%3Cpath%20d%3D%22M30%2C1.5H0A1.5%2C1.5%2C0%2C0%2C1-1.5%2C0%2C1.5%2C1.5%2C0%2C0%2C1%2C0-1.5H30A1.5%2C1.5%2C0%2C0%2C1%2C31.5%2C0%2C1.5%2C1.5%2C0%2C0%2C1%2C30%2C1.5Z%22%20transform%3D%22translate(1.5%201.5)%22%20fill%3D%22%23579d73%22%2F%3E%20%3Cpath%20d%3D%22M30%2C1.5H0A1.5%2C1.5%2C0%2C0%2C1-1.5%2C0%2C1.5%2C1.5%2C0%2C0%2C1%2C0-1.5H30A1.5%2C1.5%2C0%2C0%2C1%2C31.5%2C0%2C1.5%2C1.5%2C0%2C0%2C1%2C30%2C1.5Z%22%20transform%3D%22translate(1.5%2017.5)%22%20fill%3D%22%23579d73%22%2F%3E%20%3Cpath%20d%3D%22M30%2C1.5H0A1.5%2C1.5%2C0%2C0%2C1-1.5%2C0%2C1.5%2C1.5%2C0%2C0%2C1%2C0-1.5H30A1.5%2C1.5%2C0%2C0%2C1%2C31.5%2C0%2C1.5%2C1.5%2C0%2C0%2C1%2C30%2C1.5Z%22%20transform%3D%22translate(1.5%209.5)%22%20fill%3D%22%23579d73%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% 50%;
  background-size: 33px auto;
  z-index: 900; }
  @media (min-width: 768px) {
    .nav-toggle {
      display: none; } }
  .nav-toggle > span {
    visibility: hidden; }
@media (max-width: 767px) {
  .nav-active .nav-toggle {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2227%22%20height%3D%2227%22%20viewBox%3D%220%200%2027%2027%22%3E%20%3Cpath%20d%3D%22M-2281.56%2C26.561-2292.5%2C15.621l-10.94%2C10.939a1.5%2C1.5%2C0%2C0%2C1-1.06.439%2C1.5%2C1.5%2C0%2C0%2C1-1.061-.439%2C1.5%2C1.5%2C0%2C0%2C1%2C0-2.121l10.939-10.94-10.939-10.939a1.5%2C1.5%2C0%2C0%2C1%2C0-2.121%2C1.5%2C1.5%2C0%2C0%2C1%2C2.121%2C0l10.94%2C10.94L-2281.56.439a1.5%2C1.5%2C0%2C0%2C1%2C2.121%2C0%2C1.5%2C1.5%2C0%2C0%2C1%2C0%2C2.121l-10.94%2C10.939%2C10.94%2C10.94a1.5%2C1.5%2C0%2C0%2C1%2C0%2C2.121A1.5%2C1.5%2C0%2C0%2C1-2280.5%2C27%2C1.5%2C1.5%2C0%2C0%2C1-2281.56%2C26.561Z%22%20transform%3D%22translate(2306%200)%22%20fill%3D%22%2339a06e%22%2F%3E%3C%2Fsvg%3E");
    background-size: 30px auto; } }
@media (min-width: 768px) {
  .nav-board {
    display: block !important; } }
@media (max-width: 767px) {
  .nav-board {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: none;
    width: 100%;
    height: 100%;
    padding-top: 150px;
    padding-bottom: 150px;
    z-index: 300;
    background: #F9FCE1;
    overflow-y: auto; } }
.nav-list {
  display: flex;
  align-items: center;
  gap: 30px; }
  @media (min-width: 768px) and (max-width: 1149px) {
    .nav-list {
      gap: 14px; } }
  @media (max-width: 767px) {
    .nav-list {
      position: relative;
      display: block;
      width: 150px;
      margin: auto; } }
  @media (max-width: 767px) {
    .nav-list::before, .nav-list::after {
      position: absolute;
      display: block;
      content: '';
      background: 50% 50% no-repeat;
      background-size: contain; } }
  @media (max-width: 767px) {
    .nav-list::before {
      top: -70px;
      left: calc(50% - 75px);
      width: 150px;
      height: 31px;
      background-image: url("../img/logo.svg"); } }
  @media (max-width: 767px) {
    .nav-list::after {
      bottom: -95px;
      right: -75px;
      width: 81px;
      height: 61px;
      background-image: url("../img/home-img/home_news_bg_02.webp"); } }
.nav-link {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 36px;
  padding: 0;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 700; }
  @media (min-width: 768px) and (max-width: 1149px) {
    .nav-link {
      padding: 0;
      font-size: 14px;
      font-size: 0.875rem; } }
  @media (max-width: 767px) {
    .nav-link {
      width: 150px;
      height: 50px;
      padding: 14px 0;
      border-bottom: #39A06E 1px dashed; } }
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .nav-link:hover::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 3px;
    border-radius: 3px;
    background-color: #39938A;
    content: ''; } }

/*
	footer
-------------------------------------------------- */
.footer-wap {
  width: 100%; }
.footer-outer {
  position: relative;
  width: 100%;
  margin-top: -75px;
  padding: 80px;
  border-radius: 75px;
  background-color: #C4E381;
  z-index: 2; }
  @media (max-width: 767px) {
    .footer-outer {
      margin-top: -45px;
      padding: 15px;
      border-radius: 35px; } }
.footer-inner {
  padding: 40px 60px 100px;
  border-radius: 75px;
  background-color: #FFF; }
  @media (max-width: 767px) {
    .footer-inner {
      padding: 65px 10px;
      border-radius: 35px; } }
.footer-ttl {
  width: 412px;
  height: auto;
  margin: auto;
  margin-bottom: 100px; }
  @media (max-width: 767px) {
    .footer-ttl {
      width: 200px;
      margin-bottom: 45px; } }
.footer-contents {
  display: grid;
  grid-auto-columns: 1fr;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, auto);
  gap: 0px 0px;
  grid-template-areas: "info map" "consultation access";
  max-width: 1000px;
  margin: auto; }
  @media (max-width: 1149px) {
    .footer-contents {
      grid-template-columns: 1fr;
      grid-template-rows: repeat(4, auto);
      gap: 55px 0px;
      grid-template-areas: "consultation" "access" "map" "info"; } }
.footer-info {
  grid-area: info;
  justify-self: center;
  margin: 0 25px; }
  @media (max-width: 1149px) {
    .footer-info {
      justify-self: auto;
      margin: 0; } }
  .footer-info-outview {
    max-width: 450px;
    margin: auto;
    margin-bottom: 30px; }
    @media (max-width: 767px) {
      .footer-info-outview {
        margin-bottom: 15px; } }
  @media (max-width: 1149px) {
    .footer-info-data {
      text-align: center; } }
  .footer-info-address {
    font-size: 20px;
    font-size: 1.25rem; }
    @media (max-width: 767px) {
      .footer-info-address {
        font-size: 16px;
        font-size: 1rem; } }
  .footer-info-tel {
    padding-top: 8px;
    padding-left: 45px;
    color: #34887F;
    font-size: 46px;
    font-size: 2.875rem;
    font-weight: 700;
    line-height: 1;
    background: url(../img/ic_tel_green.webp) no-repeat 0 bottom;
    background-size: auto 45px; }
    @media (max-width: 1149px) {
      .footer-info-tel {
        display: inline-block;
        padding-top: 5px;
        padding-left: 34px;
        font-size: 32px;
        font-size: 2rem;
        background-size: auto 32px; } }
    .footer-info-tel > a {
      color: #34887F; }
.footer-map {
  grid-area: map;
  justify-self: center;
  margin: 0 25px; }
  @media (max-width: 1149px) {
    .footer-map {
      justify-self: auto;
      margin: 0; } }
  @media (max-width: 1149px) {
    .footer-map iframe {
      width: 100% !important; } }
  .footer-map-include {
    margin-bottom: 30px; }
    @media (max-width: 767px) {
      .footer-map-include {
        margin-bottom: 35px; } }
.footer-consultation {
  grid-area: consultation;
  align-self: center;
  margin-top: 25px; }
  @media (max-width: 1149px) {
    .footer-consultation {
      margin-top: 0;
      align-self: auto;
      text-align: center; } }
  .footer-consultation-table {
    width: 100%;
    background: #fff;
    border-radius: 20px;
    box-shadow: -3px 3px 6px rgba(0, 0, 0, 0.16);
    overflow: hidden; }
    @media (min-width: 768px) and (max-width: 1149px) {
      .footer-consultation-table {
        width: 450px;
        margin: auto; } }
    @media (max-width: 767px) {
      .footer-consultation-table {
        width: 330px;
        margin: auto; } }
    @media (max-width: 374px) {
      .footer-consultation-table {
        width: 100%; } }
    .footer-consultation-table > thead tr {
      border-radius: 20px 20px 0;
      background-color: #349566; }
    .footer-consultation-table > thead th {
      height: 54px;
      font-size: 13px;
      font-size: 0.8125rem;
      color: #FFF;
      line-height: 1;
      text-align: center;
      vertical-align: middle; }
      @media (max-width: 767px) {
        .footer-consultation-table > thead th {
          font-size: 12px;
          font-size: 0.75rem; } }
      .footer-consultation-table > thead th:not(:first-child):not(:last-child) {
        width: 40px; }
      .footer-consultation-table > thead th:first-child {
        padding-left: 25px;
        letter-spacing: .21em; }
        @media (max-width: 1280px) {
          .footer-consultation-table > thead th:first-child {
            padding-left: calc(100 / 1280 * 25px); } }
        @media (max-width: 767px) {
          .footer-consultation-table > thead th:first-child {
            padding-left: 10px; } }
      .footer-consultation-table > thead th:last-child {
        width: 105px;
        padding-right: 65px; }
        @media (max-width: 767px) {
          .footer-consultation-table > thead th:last-child {
            width: 50px;
            padding-right: 20px; } }
    .footer-consultation-table > tbody tr {
      height: 45px; }
    .footer-consultation-table > tbody th {
      position: relative;
      font-size: 13px;
      font-size: 0.8125rem;
      padding-left: 25px;
      vertical-align: middle; }
      @media (max-width: 767px) {
        .footer-consultation-table > tbody th {
          padding-left: 20px;
          white-space: nowrap; } }
      .footer-consultation-table > tbody th::after {
        position: absolute;
        bottom: 0;
        right: 110px;
        left: 10px;
        width: 475px;
        height: 1px;
        background-color: #CECECE;
        content: ''; }
        @media (max-width: 1300px) {
          .footer-consultation-table > tbody th::after {
            width: calc(100 / 1300 * 475vw); } }
        @media (min-width: 768px) and (max-width: 1149px) {
          .footer-consultation-table > tbody th::after {
            width: 425px; } }
        @media (max-width: 767px) {
          .footer-consultation-table > tbody th::after {
            width: 305px; } }
    .footer-consultation-table > tbody td {
      text-align: center;
      vertical-align: middle;
      color: #349566;
      font-size: 21px;
      font-size: 1.3125rem; }
      @media (max-width: 767px) {
        .footer-consultation-table > tbody td {
          width: 30px; } }
      .footer-consultation-table > tbody td:last-child {
        padding-right: 65px; }
        @media (max-width: 767px) {
          .footer-consultation-table > tbody td:last-child {
            width: 50px;
            padding-right: 20px; } }
    .footer-consultation-table > tfoot th {
      padding-left: 25px;
      text-align: center;
      vertical-align: middle;
      font-size: 13px;
      font-size: 0.8125rem;
      height: 54px; }
    .footer-consultation-table > tfoot td {
      text-align: center;
      vertical-align: middle;
      font-size: 13px;
      font-size: 0.8125rem;
      padding-right: 65px; }
.footer-access {
  grid-area: access;
  justify-self: center;
  width: 100%;
  max-width: 450px;
  padding-left: 15px; }
  @media (max-width: 1149px) {
    .footer-access {
      padding-left: 0; } }
  .footer-access > .home-ttl-sub {
    margin-bottom: 10px; }
  .footer-access-how {
    display: flex;
    margin-top: 20px;
    gap: 30px;
    justify-content: space-between; }
    @media (max-width: 767px) {
      .footer-access-how {
        display: block;
        margin-top: 5px; } }
    .footer-access-how > div {
      flex: 0 0 auto; }
      @media (max-width: 767px) {
        .footer-access-how > div {
          padding: 0 20px; } }
      @media (max-width: 767px) {
        .footer-access-how > div:last-child {
          margin-top: 25px; } }
    .footer-access-how dt {
      margin-bottom: 5px;
      padding-left: 38px;
      color: #34887F;
      font-size: 20px;
      font-size: 1.25rem;
      font-weight: 700; }
      @media (max-width: 767px) {
        .footer-access-how dt {
          font-size: 16px;
          font-size: 1rem; } }
      .footer-access-how dt.ic-train, .footer-access-how dt.ic-bus {
        background: no-repeat 0 50%; }
      .footer-access-how dt.ic-train {
        background-image: url("../img/ic_train.webp"); }
      .footer-access-how dt.ic-bus {
        background-image: url("../img/ic_bus.webp"); }
.footer-bnr {
  max-width: 930px;
  margin: 95px auto;
  padding: 0 15px; }
  @media (max-width: 767px) {
    .footer-bnr {
      margin: 80px auto 65px; } }
  .footer-bnr > .home-ttl-sub {
    font-size: 20px;
    font-size: 1.25rem; }
    @media (max-width: 767px) {
      .footer-bnr > .home-ttl-sub {
        text-align: center; } }
  .footer-bnr-list {
    display: flex;
    flex-wrap: wrap;
    gap: 15px 50px; }
    @media (max-width: 767px) {
      .footer-bnr-list {
        flex-direction: column;
        gap: 15px;
        flex-wrap: nowrap; } }
    .footer-bnr-list > li {
      flex: 0 0 auto;
      width: calc((100% - 100px) / 3); }
      @media (max-width: 767px) {
        .footer-bnr-list > li {
          text-align: center;
          flex: 1 1 auto;
          width: auto; } }
      .footer-bnr-list > li > a {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 60px;
        border: 1px solid #D5F0DA;
        background-color: #FFF;
        border-radius: 5px; }
        @media (max-width: 767px) {
          .footer-bnr-list > li > a {
            display: inline-flex;
            width: auto;
            margin: auto;
            border: none; } }
        .footer-bnr-list > li > a > img {
          max-width: none;
          width: auto; }
.footer-copyright {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 80px;
  background: #349566;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1;
  color: #FFF; }
  @media (max-width: 767px) {
    .footer-copyright {
      height: 60px; } }

.page-totop {
  position: fixed;
  right: 45px;
  bottom: 40px;
  width: 80px;
  height: 80px;
  border-radius: 100%;
  opacity: 0;
  visibility: hidden;
  transition: .4s all;
  z-index: 120; }
  @media (max-width: 767px) {
    .page-totop {
      right: 15px;
      bottom: 70px;
      width: 40px;
      height: 40px; } }

.js-fixed .page-totop {
  visibility: visible;
  opacity: 1; }

/* btn
-------------------------------------------*/
.btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 275px;
  height: 50px;
  border-radius: 50px;
  color: #FFF;
  line-height: 1.6;
  font-size: 18px;
  font-size: 1.125rem;
  background-color: #EB6C30;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16); }
  @media (max-width: 767px) {
    .btn {
      max-width: 240px;
      font-size: 16px;
      font-size: 1rem; } }
  @media (min-width: 1150px) {
    .btn:hover {
      background-color: #39A06F; } }

/*
 js pulgin css
-------------------------------------------------- */
/** VARIABLES
===================================*/
/** RESET AND LAYOUT
===================================*/
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0; }

.slick-list:focus {
  outline: none; }

.slick-list.dragging {
  cursor: pointer;
  cursor: hand; }

.slick-slider .slick-track, .slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block; }

.slick-track:before, .slick-track:after {
  display: table;
  content: ''; }

.slick-track:after {
  clear: both; }

.slick-loading .slick-track {
  visibility: hidden; }

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px; }

[dir='rtl'] .slick-slide {
  float: right; }

.slick-slide.slick-loading img {
  display: none; }

.slick-slide.dragging img {
  pointer-events: none; }

.slick-initialized .slick-slide {
  display: block; }

.slick-loading .slick-slide {
  visibility: hidden; }

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 0 solid transparent; }

.slick-slide:focus {
  outline: 0;
  border: none; }

.slick-arrow.slick-hidden {
  display: none; }

.slick-dots {
  position: absolute;
  bottom: -50px;
  left: 0;
  right: 0;
  text-align: center; }

.slick-dots li {
  display: inline-block; }

.slick-dots li button {
  margin: 0 10px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #b5b5b5;
  text-indent: -9999px; }

.slick-dots li.slick-active button {
  background: #df1120; }

.slick-arrow {
  position: absolute;
  z-index: 40;
  top: 50%;
  transform: translateY(-50%);
  text-indent: -9999px; }

.slick-prev {
  left: 0px; }

.slick-next {
  right: 0px; }

@media screen and (max-width: 960px) {
  .slick-dots {
    bottom: -25px; } }
.js-scroll .page-totop {
  opacity: 1;
  visibility: visible; }
