@charset "UTF-8";
/* Media Query
───────────────────────────────── */
/* Link
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* Grid
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* Font
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* Pseudo
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* icon-arrow
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* icon-circle-arrow
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* icon-triangle
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* contents
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* PC item & SP item
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* 電話番号リンク */
/* 画像を幅100%にする */
/* object fit image */
/* object fit image */
/* sticky */
/* clearfix */
/* hover
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* full */
/* icon-set
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* layout
============================================================= */
/* z-index
───────────────────────────────── */
/* VW
───────────────────────────────── */
/* 数値から単位を除外
───────────────────────────────── */
/* `px` から `rem` に変換
───────────────────────────────── */
/* `px` から `em` に変換
───────────────────────────────── */
/* Size
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* Color
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* Font
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* Duration
  −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* Easing
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* keyframes
========================================================================== */
@keyframes infinity-loop {
  from {
    transform: translateX(0); }
  to {
    transform: translateX(-100%); } }

@keyframes infinity-ripple {
  0% {
    opacity: 0;
    transform: scale(1.2); }
  70% {
    opacity: 1; }
  100% {
    transform: scale(1.5);
    opacity: 0; } }

@keyframes infinity-zoom {
  0% {
    transform: scale(0.9); }
  50% {
    transform: scale(1); }
  100% {
    transform: scale(0.9); } }

@keyframes infinity-zoom2 {
  0% {
    transform: scale(1); }
  50% {
    transform: scale(1.2); }
  100% {
    transform: scale(1); } }

@keyframes fadeout {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

/************************
*
* 共通
*
*************************/
@media screen and (min-width: 768px), print {
  .heroCattop__ttl.-lg {
    top: 33% !important; } }

@media screen and (min-width: 768px), print {
  .heroLinkButton {
    padding-top: 1.8rem;
    text-align: center; } }

@media screen and (max-width: 767px) {
  .heroLinkButton {
    display: none; } }

@media screen and (min-width: 768px), print {
  .route__guide .button {
    max-width: 100% !important; } }

/* ICカード・バスカードのご案内、定期券のご案内、割引について
========================================================================== */
.bar_area {
  text-align: center; }
  @media screen and (min-width: 768px), print {
    .bar_area {
      margin-top: 0.48rem;
      margin-left: auto;
      margin-right: auto; } }
  @media screen and (max-width: 767px) {
    .bar_area {
      margin-top: 6.4vw; } }
.table__general {
  width: 100%; }
  @media screen and (max-width: 767px) {
    .table__general:not(.-spScroll) {
      margin-top: -2.67vw !important; } }
  @media screen and (max-width: 767px) {
    .table__general:not(.-spScroll) thead {
      display: none; } }
  @media screen and (max-width: 767px) {
    .table__general:not(.-spScroll) th,
    .table__general:not(.-spScroll) td {
      display: block; } }
  @media screen and (max-width: 767px) {
    .table__general.-spScroll tr {
      display: table-row; } }
  @media screen and (max-width: 767px) {
    .table__general.-spScroll th {
      display: table-cell !important; } }
  @media screen and (max-width: 767px) {
    .table__general.-spScroll td {
      display: table-cell !important; } }
  @media screen and (max-width: 767px) {
    .table__general.-spScroll .u-spItem {
      display: none !important; } }
  .table__general thead th {
    background: #F8F8F8; }
  .table__general th,
  .table__general td {
    text-align: left;
    letter-spacing: 0.05em;
    vertical-align: middle; }
    @media screen and (min-width: 768px), print {
      .table__general th,
      .table__general td {
        border: 1px solid #ccc;
        font-size: 0.16rem; } }
    @media screen and (max-width: 767px) {
      .table__general th,
      .table__general td {
        border-bottom: 1px solid #ccc;
        border-right: 1px solid #ccc;
        border-left: 1px solid #ccc;
        font-size: 3.73vw; } }
  .table__general th {
    background: #e0edfa;
    text-align: center;
    font-weight: bold;
    line-height: 1.45; }
    @media screen and (min-width: 768px), print {
      .table__general th {
        padding: 0.12rem; } }
    @media screen and (max-width: 767px) {
      .table__general th {
        border-top: 1px solid #ccc;
        margin-top: 8vw;
        padding: 3.2vw; } }
  @media screen and (min-width: 768px), print {
    .table__general td {
      padding: 0.12rem; } }
  @media screen and (max-width: 767px) {
    .table__general td {
      padding: 3.2vw; } }
.s-img-col {
  display: flex;
  justify-content: space-between;
  align-items: flex-start; }
  @media screen and (min-width: 768px), print {
    .s-img-col .txt {
      width: 78%; }
    .s-img-col img {
      width: 20%; } }
  @media screen and (max-width: 767px) {
    .s-img-col {
      flex-wrap: wrap; }
      .s-img-col .txt {
        width: 100%; }
      .s-img-col img {
        width: 60%;
        margin: 20px 20%; } }
