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

Variables

-----------------------------------------------------
Colors
---------------------------------------------------*/
/*---------------------------------------------------
Font
---------------------------------------------------*/
/*---------------------------------------------------
Layout
---------------------------------------------------*/
/*---------------------------------------------------
Transitions
---------------------------------------------------*/
/*---------------------------------------------------
Image path
---------------------------------------------------*/
/*---------------------------------------------------
Border Radius
---------------------------------------------------*/
/*---------------------------
BASES
---------------------------*/
/*---------------------------
BASES
---------------------------*/
/*---------------------------------------------------

Reset | ブラウザリセット

-----------------------------------------------------
Base style none
---------------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

/*---------------------------------------------------
Other
---------------------------------------------------*/
ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote::before, blockquote::after,
q::before, q::after {
  content: "";
}

/*---------------------------------------------------
Form Reset | フォーム要素のリセット
---------------------------------------------------*/
input,
textarea,
select,
button {
  font: inherit;
  color: inherit;
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0;
}

/* ボタン要素 */
button {
  cursor: pointer;
  background: none;
}

button:disabled {
  cursor: default;
  opacity: 0.6;
}

/* テキスト入力系 */
input[type=text],
input[type=email],
input[type=url],
input[type=tel],
input[type=password],
input[type=number],
input[type=search],
textarea {
  width: 100%;
  background: transparent;
  border: none;
  resize: vertical;
}

/* 数値入力の上下矢印を消す (Chrome/Safari) */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* サーチ入力の×アイコンを消す (Safari/Chrome) */
input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

/* セレクトの矢印を消す */
select::-ms-expand {
  display: none;
}

select {
  background: none;
  border: none;
}

/* チェックボックス・ラジオをリセット */
input[type=checkbox],
input[type=radio] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
}

/*---------------------------
BASES
---------------------------*/
/*---------------------------------------------------

Base | 全体初期設定

-----------------------------------------------------
Html
---------------------------------------------------*/
html {
  box-sizing: border-box;
  font-size: 100%;
}

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

/*---------------------------------------------------
Body
---------------------------------------------------*/
body {
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  color: #222222;
  background: #fff;
  text-size-adjust: 100%; /* 標準プロパティ：Chrome/Edge/Android 等 */
  -webkit-text-size-adjust: 100%; /* iOS Safari 向けの後方互換 */
}

/*---------------------------------------------------
HTML5要素のデフォルトをブロックに
---------------------------------------------------*/
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

/*---------------------------------------------------
Table
---------------------------------------------------*/
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/*---------------------------------------------------
Image / Video / Ifreme
---------------------------------------------------*/
img {
  max-width: 100%;
  height: auto;
  display: block;
}

/*---------------------------------------------------
Link
---------------------------------------------------*/
a {
  color: inherit;
  text-decoration: none;
  /*---------------------------
  HOVER
  ---------------------------*/
  /*---------------------------
  FOCUS
  ---------------------------*/
}
a:hover {
  color: inherit;
}
a:focus {
  color: inherit;
}

/*---------------------------
BASES
---------------------------*/
/*---------------------------------------------------

Accessibility
スクリーンリーダー / キーボード操作対応

-----------------------------------------------------
U SKIP
---------------------------------------------------*/
/* キーボードフォーカス時の視認性 */
:focus {
  outline: 2px solid #de3000;
  outline-offset: 0px;
}

/* スクリーンリーダー専用テキスト */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* スキップリンク */
.skip-link {
  position: absolute;
  top: -40px;
  left: 0;
  background: #1E569B;
  color: #fff;
  padding: 8px 16px;
  transition: top 0.2s ease-in-out;
}
.skip-link:focus {
  top: 0;
}

/*---------------------------
LAYOUT
---------------------------*/
/*---------------------------
BASES
---------------------------*/
/*---------------------------------------------------

Container

---------------------------------------------------*/
/*---------------------------------------------------
SECTION
---------------------------------------------------*/
@media (min-width: 960px), print {
  .l-contents {
    max-width: 1680px;
    margin: 30px auto;
  }
}

/*---------------------------------------------------
SECTION
---------------------------------------------------*/
.section {
  padding: 0 20px;
  margin-bottom: 30px;
}
@media (min-width: 960px), print {
  .section {
    padding: 0;
  }
}
@media screen and (min-width: 960px) {
  .section {
    margin-bottom: 80px;
  }
}
.section__titleBlock, .section__titleBlock--topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
  /*----------------------------
  Top line
  ----------------------------*/
}
@media (min-width: 960px), print {
  .section__titleBlock, .section__titleBlock--topline {
    max-width: 1680px;
    margin: 0 auto 40px;
  }
}
.section__titleBlock .title, .section__titleBlock--topline .title {
  font-size: 1.5rem;
  font-weight: 600;
}
@media (min-width: 960px), print {
  .section__titleBlock .title, .section__titleBlock--topline .title {
    font-size: 2rem;
  }
}
.section__titleBlock .title span, .section__titleBlock--topline .title span {
  display: block;
  font-size: 1rem;
  line-height: 1;
}
.section__titleBlock--topline {
  padding-top: 20px;
  border-top: 1px solid #dedede;
}
@media (min-width: 960px), print {
  .section__titleBlock--topline {
    padding-top: 40px;
  }
}

/*---------------------------------------------------

Flexbox

---------------------------------------------------*/
.l-flex {
  display: flex;
}

/*---------------------------------------------------

Flexbox | Two column

---------------------------------------------------*/
.l-twoColumn {
  display: block;
  gap: 30px;
}
@media (min-width: 960px), print {
  .l-twoColumn {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    gap: 40px;
  }
  .l-twoColumn__item {
    flex: 1 1 50%; /* 幅50%を基本 */
    max-width: calc(50% - 16px); /* gapの分を補正（任意） */
  }
}

/*---------------------------------------------------

Flexbox | Three column

---------------------------------------------------*/
.l-threeColumn {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  gap: 10px;
  /*----------------------------
  Item
  ----------------------------*/
}
@media (min-width: 960px), print {
  .l-threeColumn {
    gap: 28px;
  }
}
.l-threeColumn__item {
  flex: 1 1 100%;
  min-width: 0;
  display: flex;
}
@media (min-width: 768px) {
  .l-threeColumn__item {
    flex: 1 1 calc((100% - 56px) / 3);
    max-width: calc((100% - 56px) / 3);
    min-width: calc((100% - 56px) / 3);
  }
}
@media (min-width: 960px), print {
  .l-threeColumn__item {
    flex: 1 1 calc((100% - 56px) / 3);
    max-width: calc((100% - 56px) / 3);
    min-width: calc((100% - 56px) / 3);
  }
}
.l-threeColumn__item .btn--block {
  flex: 1;
}

/*---------------------------
ELEMENTS
---------------------------*/
/*---------------------------------------------------

List

---------------------------------------------------*/
.e-list {
  /*----------------------------
  TEXT
  ----------------------------*/
  /*----------------------------
  IMAGE LINK
  ----------------------------*/
}
.e-list__text a {
  display: inline-block;
  padding-left: 12px;
  color: #1E569B;
  background: url(../../assets/img/icon/arrow-right-sml.svg) no-repeat left 9px;
  transition: 0.3s ease-in-out;
}
.e-list__text a:hover {
  text-decoration: underline;
}
.e-list__img li {
  margin-bottom: 20px;
}
.e-list__img li a {
  position: relative;
  transition: 0.3s ease-in-out;
}
.e-list__img li a:hover {
  transform: scale(1.02);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}
.e-list__img li a::before {
  content: "";
  width: 22px;
  height: 22px;
  background: url(../../assets/img/icon/arrow-circle.svg) no-repeat center;
  background-size: cover;
  position: absolute;
  bottom: 10px;
  right: 10px;
}

/*---------------------------------------------------

List Slide

---------------------------------------------------*/
.e-listSlide {
  /*----------------------------
  Ul
  ----------------------------*/
  /*----------------------------
  Ii
  ----------------------------*/
  /*----------------------------
  Image
  ----------------------------*/
  /*----------------------------
  Body
  ----------------------------*/
  /*----------------------------
  Category
  ----------------------------*/
  /*----------------------------
  Title
  ----------------------------*/
}
@media (min-width: 960px), print {
  .e-listSlide {
    max-width: 1680px;
    margin: 0 auto;
  }
}
@media (min-width: 960px), print {
  .e-listSlide ul {
    display: flex;
    gap: 20px;
  }
}
.e-listSlide li {
  border: 1px solid #dedede;
  border-radius: 10px;
  margin-bottom: 10px;
  position: relative;
  overflow: hidden;
}
.e-listSlide li::before {
  content: "";
  width: 16px;
  height: 16px;
  background: url(../../assets/img/icon/arrow-circle.svg) no-repeat center;
  background-size: cover;
  position: absolute;
  top: 5px;
  right: 5px;
}
@media (min-width: 960px), print {
  .e-listSlide li::before {
    width: 22px;
    height: 22px;
    top: 10px;
    right: 10px;
  }
}
@media (min-width: 960px), print {
  .e-listSlide li {
    flex: 1;
    min-width: 0;
    transition: 0.3s ease-in-out;
  }
  .e-listSlide li:hover {
    transform: scale(1.03);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
  }
}
.e-listSlide li a {
  display: flex;
  width: 100%;
  height: 100%;
  overflow: hidden;
  color: #1E569B;
  outline-offset: -2px;
}
@media (min-width: 960px), print {
  .e-listSlide li a {
    display: block;
  }
}
.e-listSlide__image {
  width: 35%;
}
@media (min-width: 960px), print {
  .e-listSlide__image {
    width: 100%;
    border-bottom: 1px solid #dedede;
  }
}
.e-listSlide__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.e-listSlide__body {
  width: 65%;
  padding: 10px;
  font-weight: 600;
  border-left: 1px solid #dedede;
}
@media (min-width: 960px), print {
  .e-listSlide__body {
    border-left: none;
    width: 100%;
    margin-top: 15px;
    border-left: none;
  }
}
.e-listSlide__cat {
  display: inline-block;
  padding: 0 5px;
  margin-bottom: 5px;
  font-size: 0.75rem;
  background: #F3F6FA;
}
@media (min-width: 960px), print {
  .e-listSlide__cat {
    padding: 0 20px 0 20px;
    margin-bottom: 15px;
    line-height: 30px;
    font-size: 0.875rem;
  }
}
.e-listSlide__title {
  padding: 0 10px 0 10px;
  margin-bottom: 10px;
  line-height: 1.4;
}
@media (min-width: 960px), print {
  .e-listSlide__title {
    padding: 0 20px 0 20px;
    margin-bottom: 20px;
    font-size: 1.125rem;
    text-align: center;
    line-height: 1.6;
  }
}

/*---------------------------------------------------

List Block

---------------------------------------------------*/
.e-listBlock {
  /*----------------------------
  Ul
  ----------------------------*/
  /*----------------------------
  Ii
  ----------------------------*/
  /*----------------------------
  Image
  ----------------------------*/
  /*----------------------------
  Body
  ----------------------------*/
  /*----------------------------
  Title
  ----------------------------*/
}
@media (min-width: 960px), print {
  .e-listBlock {
    max-width: 1680px;
    margin: 0 auto;
  }
}
@media (min-width: 960px), print {
  .e-listBlock ul {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
  }
}
.e-listBlock li {
  border: 1px solid #dedede;
  border-radius: 10px;
  margin-bottom: 15px;
  position: relative;
  overflow: hidden;
}
.e-listBlock li::before {
  content: "";
  width: 16px;
  height: 16px;
  background: url(../../assets/img/icon/arrow-circle.svg) no-repeat center;
  background-size: cover;
  position: absolute;
  top: 10px;
  right: 10px;
}
@media (min-width: 960px), print {
  .e-listBlock li::before {
    width: 22px;
    height: 22px;
    top: 10px;
    right: 10px;
  }
}
@media (min-width: 960px), print {
  .e-listBlock li {
    flex: 0 1 calc((100% - 120px) / 4);
    margin-bottom: 0;
    min-width: 0;
    transition: 0.3s ease-in-out;
  }
  .e-listBlock li:hover {
    transform: scale(1.03);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
  }
}
.e-listBlock li a {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  font-weight: 600;
  color: #1E569B;
  border-radius: 10px;
  outline-offset: -2px;
}
.e-listBlock__image img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: contain;
}
.e-listBlock__body {
  padding: 20px;
  border-top: 1px solid #dedede;
}
@media (min-width: 960px), print {
  .e-listBlock__body {
    padding: 30px;
    text-align: center;
  }
}
.e-listBlock__title {
  line-height: 1.4;
}
@media (min-width: 960px), print {
  .e-listBlock__title {
    font-size: 1.125rem;
  }
}

/*---------------------------------------------------

List Other

---------------------------------------------------*/
.e-listOther li {
  display: inline-block;
  margin-bottom: 10px;
}
@media (min-width: 960px), print {
  .e-listOther li {
    margin-right: 10px;
    margin-bottom: 0;
  }
}
@media (min-width: 960px), print {
  .e-listOther li a {
    padding: 0 50px 0 20px;
    font-size: 1.125rem;
    line-height: 60px;
  }
}

/*---------------------------------------------------
Button
---------------------------------------------------*/
.btn, .btn--squareInline, .btn--close, .btn--block, .btn--square, .btn--sml {
  /*----------------------------
  Base
  ----------------------------*/
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 46px;
  height: auto;
  padding: 0 40px 0 20px;
  line-height: 1.3;
  color: #1E569B;
  font-weight: 600;
  border: 1px solid #1E569B;
  border-radius: 50px;
  background: #fff url(../../assets/img/icon/arrow-left-short.svg) no-repeat right 15px center;
  transition: 0.3s ease-in-out;
  /*----------------------------
  Hover
  ----------------------------*/
  /*----------------------------
  Focus-visible（必要ならここでoutlineなど）
  ----------------------------*/
  /*----------------------------
  Small
  ----------------------------*/
  /*----------------------------
  Square
  ----------------------------*/
  /*----------------------------
  Block（テキスト量多め想定）
  ----------------------------*/
  /*----------------------------
  Close
  ----------------------------*/
  /*----------------------------
  Square inline（テキスト多め＋改行前提）
  ----------------------------*/
}
.btn:hover, .btn--squareInline:hover, .btn--close:hover, .btn--block:hover, .btn--square:hover, .btn--sml:hover {
  color: #1E569B;
  transform: scale(1.02);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}
.btn--sml {
  padding: 0.15em 25px 0.15em 15px;
  min-height: 2em;
  background-size: 10px;
  background-position: right 10px center;
  font-size: 0.875rem;
}
.btn--square {
  padding-top: 12px;
  padding-bottom: 12px;
  border-radius: 10px;
}
.btn--block {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0.8em 40px 0.8em 20px;
  min-height: 0;
  line-height: 1.3;
  border-radius: 10px;
  background: #fff url(../../assets/img/icon/arrow-circle.svg) no-repeat right 15px center;
}
@media (min-width: 960px), print {
  .btn--block {
    font-size: 1.125rem;
  }
}
.btn--close {
  width: 100%;
  color: #6C6C6C;
  border: 1px solid #dedede;
  border-radius: 10px;
  background: #fff url(../../assets/img/icon/x-circle.svg) no-repeat right 15px center;
}
@media (min-width: 960px), print {
  .btn--close {
    font-size: 1.125rem;
  }
}
.btn--squareInline {
  line-height: 1.3;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  border: 1px solid #dedede;
  border-radius: 10px;
}

/*---------------------------------------------------
Links
---------------------------------------------------*/
.links li .btn, .links li .btn--sml, .links li .btn--square, .links li .btn--block, .links li .btn--close, .links li .btn--squareInline {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  min-height: 3em;
  line-height: 1.3;
  border: 1px solid #dedede;
}
.links li:first-child .btn, .links li:first-child .btn--sml, .links li:first-child .btn--square, .links li:first-child .btn--block, .links li:first-child .btn--close, .links li:first-child .btn--squareInline {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom: 0;
}
.links li:not(:first-child):not(:last-child) .btn, .links li:not(:first-child):not(:last-child) .btn--sml, .links li:not(:first-child):not(:last-child) .btn--square, .links li:not(:first-child):not(:last-child) .btn--block, .links li:not(:first-child):not(:last-child) .btn--close, .links li:not(:first-child):not(:last-child) .btn--squareInline {
  border-radius: 0;
  border-bottom: 0;
}
.links li:last-child .btn, .links li:last-child .btn--sml, .links li:last-child .btn--square, .links li:last-child .btn--block, .links li:last-child .btn--close, .links li:last-child .btn--squareInline {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

/*---------------------------------------------------

Form

-----------------------------------------------------
INPUT | TEXT | EMAIL | SEARCH | TEXTAREA
---------------------------------------------------*/
input[type=text],
input[type=email],
input[type=search],
textarea {
  padding: 0 15px;
  line-height: 46px;
  border: 1px solid #707070;
  border-radius: 6px;
  background: #fff;
  transition: 0.3s ease-in-out;
  /*----------------------------
  Focus
  ----------------------------*/
}
input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=search]::placeholder,
textarea::placeholder {
  color: #707070;
}
input[type=text]:focus,
input[type=email]:focus,
input[type=search]:focus,
textarea:focus {
  border: 1px solid #1E569B;
}

/*---------------------------------------------------
INPUT SET | SEARCH
---------------------------------------------------*/
.serchSet {
  display: flex;
  height: 46px;
}
.serchSet .inputTxt {
  width: 75%;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.serchSet .submit, .serchSet .submit--search {
  width: 25%;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.serchSet .submit:hover, .serchSet .submit--search:hover {
  transform: scale(1.02);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}

/*---------------------------------------------------
INPUT | RADIO
---------------------------------------------------*/
.c-radioTabs {
  display: flex;
  flex-wrap: nowrap;
  gap: 0;
  border-radius: 6px;
  background: #fff;
  position: relative;
  /*----------------------
  INPUT（視覚的に隠す）
  ----------------------*/
  /*----------------------
  LABEL（見えているタブ本体）
  ----------------------*/
  /*----------------------
  FOCUS（キーボードフォーカス）
  ----------------------*/
  /*----------------------
  CHECKED（選択状態）
  ----------------------*/
  /*----------------------
  DISABLED
  ----------------------*/
  /*----------------------
  GROUP にフォーカスが入ったとき（任意）
  ----------------------*/
  /*----------------------
  HACK: ボタン（見えているタブ本体）LABELをもとに作成
  ----------------------*/
}
.c-radioTabs__input {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
.c-radioTabs__label {
  flex: 1 1 auto;
  display: grid;
  place-items: center;
  min-height: 46px;
  padding-inline: 12px;
  line-height: 1.4;
  text-align: center;
  color: #111;
  background: #fff;
  border: 1px solid #707070;
  cursor: pointer;
  position: relative;
  outline: none;
  /* セグメント境界の二重線を解消（input を挟む並び前提） */
}
.c-radioTabs__label:first-of-type {
  border-radius: 6px 0 0 6px;
}
.c-radioTabs__label:last-of-type {
  border-radius: 0 6px 6px 0;
}
.c-radioTabs__label + .c-radioTabs__input + .c-radioTabs__label {
  border-left-width: 0;
}
.c-radioTabs__label:hover {
  background: rgb(237, 241.48, 247);
}
.c-radioTabs .c-radioTabs__input:focus + .c-radioTabs__label,
.c-radioTabs .c-radioTabs__input:focus-visible + .c-radioTabs__label {
  box-shadow: 0 0 0 2px #de3000;
}
.c-radioTabs .c-radioTabs__input:checked + .c-radioTabs__label {
  background: #1E569B;
  color: #fff;
  border-color: #1E569B;
  z-index: 3;
}
.c-radioTabs .c-radioTabs__input:checked + .c-radioTabs__label + .c-radioTabs__input + .c-radioTabs__label {
  border-left-color: #1E569B;
}
.c-radioTabs .c-radioTabs__input:disabled + .c-radioTabs__label {
  opacity: 0.5;
  cursor: not-allowed;
}
.c-radioTabs:focus-within {
  box-shadow: 0 0 0 2px rgba(30, 86, 155, 0.12) inset;
}
.c-radioTabs__button {
  flex: 1 1 auto;
  display: grid;
  place-items: center;
  min-height: 46px;
  padding-inline: 12px;
  line-height: 1.4;
  text-align: center;
  color: #111;
  background: #fff;
  border: 1px solid #707070;
  cursor: pointer;
  position: relative;
  outline: none;
  /* セグメント境界の二重線を解消（input を挟む並び前提） */
}
.c-radioTabs__button:first-of-type {
  border-radius: 6px 0 0 0;
}
.c-radioTabs__button:last-of-type {
  border-radius: 0 6px 0 0;
}
.c-radioTabs__button + .c-radioTabs__button {
  border-left-width: 0;
}
.c-radioTabs__button:hover {
  background: rgb(237, 241.48, 247);
}
.c-radioTabs__button[aria-selected=true] {
  background: #1E569B;
  color: #fff;
  border-color: #1E569B;
  z-index: 3;
}
.c-radioTabs__button:focus {
  box-shadow: 0 0 0 2px #de3000;
}

/*---------------------------------------------------
SELECT
---------------------------------------------------*/
select {
  padding: 0 30px 0 15px;
  line-height: 46px;
  border: 1px solid #707070;
  border-radius: 6px;
  background: #fff url(../../assets/img/icon/arrow-nl-bottom.svg) no-repeat right 10px center;
}

/*---------------------------------------------------
入力補助パレット
---------------------------------------------------*/
.c-auxiliary {
  display: flex;
  justify-content: flex-end;
}
.c-auxiliary__title {
  display: none;
}
@media (min-width: 960px), print {
  .c-auxiliary__title {
    display: block;
    margin-right: 10px;
  }
}
.c-auxiliary__body {
  display: flex;
  gap: 5px;
}

/*---------------------------------------------------
BUTTON | SUBMIT
---------------------------------------------------*/
.submit, .submit--search {
  display: block;
  width: 100%;
  margin: 0 auto;
  line-height: 60px;
  color: #fff;
  font-size: 1.5rem;
  border-radius: 100px;
  background: #1E569B;
  transition: 0.3s ease-in-out;
}
.submit:hover, .submit--search:hover {
  transform: scale(1.02);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}
.submit--search {
  width: 80%;
  background: #1E569B url(../../assets/img/icon/search-wht.svg) no-repeat right 15px center;
  background-size: 20px;
}
@media (min-width: 960px), print {
  .submit--search {
    width: 55%;
  }
}
@media (min-width: 960px), print {
  .submit--search:hover {
    transform: scale(1.02);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
  }
}

/*---------------------------------------------------
TEXT | Label付き
---------------------------------------------------*/
.c-textset {
  display: flex;
  flex-wrap: nowrap;
  min-height: 50px;
  /*----------------------------
  Label
  ----------------------------*/
  /*----------------------------
  Input
  ----------------------------*/
}
.c-textset__label {
  flex-basis: 100px;
  font-weight: 600;
  font-size: 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.2;
  border-right: 0 !important;
  border: 1px solid #707070;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
  background: #fff;
}
.c-textset__input {
  height: 100%;
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}

/*---------------------------------------------------
Button
---------------------------------------------------*/
.btnForm, .btnForm--modal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 15px;
  min-height: 46px;
  line-height: 1.2;
  text-align: center;
  color: #fff;
  border-radius: 6px;
  background: #1E569B;
  transition: 0.3s ease-in-out;
}
.btnForm:hover, .btnForm--modal:hover {
  transform: scale(1.02);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}
@media (min-width: 960px), print {
  .btnForm, .btnForm--modal {
    min-height: 32px;
  }
}
.btnForm--modal {
  padding: 0 37px 0 15px;
  background-image: url(../../assets/img/icon/modal.svg);
  background-repeat: no-repeat;
  background-position: center right 10px;
}
.btnForm--modal:hover {
  transform: scale(1.02);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}
@media (min-width: 960px), print {
  .btnForm--modal {
    padding: 0 32px 0 15px;
    background-size: 14px;
  }
}

/*---------------------------------------------------
Field block
---------------------------------------------------*/
.c-field {
  margin-bottom: 15px;
  /*----------------------------
  Title
  ----------------------------*/
}
.c-field__title {
  margin-bottom: 5px;
}

/*---------------------------------------------------
ERROR
---------------------------------------------------*/
.is-error input[type=text] {
  border-color: #dc2626;
  box-shadow: 0 0 0 1px #dc2626 inset;
  background: #fff3f3;
}
.is-error__text {
  color: #dc2626;
}

/*---------------------------------------------------
SEITCH
---------------------------------------------------*/
.js-switch {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}
.js-switch .js-switch-body {
  position: relative;
  display: inline-block;
  width: 60px;
  height: 28px;
}
.js-switch .js-switch-body input {
  opacity: 0;
  width: 0;
  height: 0;
}
.js-switch .js-switch-body .js-switch-slider {
  position: absolute;
  inset: 0;
  background: #aaa;
  border-radius: 999px;
  transition: background 0.2s;
}
.js-switch .js-switch-body .js-switch-slider::before {
  content: "";
  position: absolute;
  width: 22px;
  height: 22px;
  left: 3px;
  top: 3px;
  background: white;
  border-radius: 50%;
  transition: transform 0.2s;
}
.js-switch .js-switch-body input:checked + .js-switch-slider {
  background: #1e569b;
}
.js-switch .js-switch-body input:checked + .js-switch-slider::before {
  transform: translateX(32px);
}
.js-switch .js-switch-body input:focus + .js-switch-slider {
  outline: 2px solid #de3000;
}
.js-switch:hover {
  opacity: 0.9;
}

/*---------------------------
COMPONENTS
---------------------------*/
/*---------------------------------------------------
Header
---------------------------------------------------*/
.c-header {
  background: #fff;
  position: relative;
  /* Top */
  /* Logo */
  /* Sub navi */
  /* Global navi */
  /* Action */
  /* Language */
  /* Search */
  /* Mega root */
  /* アクティブ装飾 */
  /* タブレット以下はメガを無効化（※運行情報例外は下で上書き） */
  /* Quick navigation (SP固定ボトム) — 既存そのまま */
  /* Operation bar（PCのみ表示） */
}
@media screen and (min-width: 960px) {
  .c-header {
    position: sticky;
    top: 0;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  }
}
.c-header__top {
  height: 60px;
  border-bottom: 1px solid #dedede;
}
.c-header__topInner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 60px;
}
@media (min-width: 960px), print {
  .c-header__topInner {
    max-width: 1680px;
    margin: 0 auto;
  }
}
.c-header__logo {
  width: 130px;
  margin-left: 20px;
}
@media (min-width: 1280px) {
  .c-header__logo {
    width: 200px;
  }
}
.c-header__subNavi {
  display: none;
}
@media (min-width: 960px), print {
  .c-header__subNavi {
    display: block;
    margin-left: auto;
  }
}
@media (min-width: 960px), print {
  .c-header__subNavi ul {
    display: flex;
    align-items: center;
    margin-left: 20px;
    margin-right: 0px;
  }
}
@media (min-width: 1280px) {
  .c-header__subNavi ul {
    display: flex;
    align-items: center;
    margin-left: 20px;
    margin-right: 10px;
  }
}
@media (min-width: 960px), print {
  .c-header__subNavi ul li {
    margin-right: 12px;
    font-size: 0.875rem;
  }
}
@media (min-width: 1280px) {
  .c-header__subNavi ul li {
    margin-right: 12px;
    font-size: 1rem;
  }
}
.c-header__subNavi ul li a {
  line-height: 1.2;
  background-position: left calc(50% + 1px);
}
.c-header__globalNavi {
  display: none;
}
@media (min-width: 960px), print {
  .c-header__globalNavi {
    display: block;
    position: relative;
  }
}
@media (min-width: 960px), print {
  .c-header__globalNavi ul {
    display: flex;
    max-width: 1680px;
    margin: 0 auto;
    padding: 0;
  }
  .c-header__globalNavi ul li {
    min-height: 60px;
    align-content: center;
    flex: 1;
    font-size: 1.125rem;
    font-weight: 600;
    border-right: none;
    border-left: 1px solid #dedede;
  }
  .c-header__globalNavi ul li:first-of-type {
    border-left: none;
  }
  .c-header__globalNavi ul li.header-fix {
    display: none;
  }
  .c-header__globalNavi ul li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    line-height: 1.2;
    text-align: center;
    color: #1E569B;
    background: #fff url(../../assets/img/icon/arrow-nl-bottom.svg) no-repeat right 20px center;
    transition: 0.3s ease-in-out;
  }
  .c-header__globalNavi ul li a:hover {
    background-position-y: 30px;
  }
  .c-header__globalNavi ul li a:focus-visible {
    outline-offset: -2px;
  }
}
.c-header__action {
  display: flex;
  padding-right: 10px;
}
@media (min-width: 960px), print {
  .c-header__language {
    margin-right: 10px;
  }
}
.c-header__language .shortBtn {
  height: 45px;
  padding-top: 26px;
  font-size: 11px;
  border-radius: 4px;
  border: 1px solid #dedede;
  width: 70px;
  margin-right: 5px;
  background: #fff url(../../assets/img/icon/ico-earth.svg) no-repeat center 4px;
}
@media (min-width: 960px), print {
  .c-header__language .shortBtn {
    display: none;
  }
}
.c-header__language .wide {
  display: none;
}
@media (min-width: 960px), print {
  .c-header__language .wide {
    display: block;
  }
  .c-header__language .wide select {
    min-width: 120px;
  }
}
.c-header__search .shortBtn {
  width: 80px;
  height: 45px;
  padding-top: 26px;
  font-size: 11px;
  border-radius: 4px;
  border: 1px solid #dedede;
  background: #fff url(../../assets/img/icon/ico-search.svg) no-repeat center 4px;
}
@media (min-width: 960px), print {
  .c-header__search .shortBtn {
    display: none;
  }
}
.c-header__search .wide {
  display: none;
}
@media (min-width: 960px), print {
  .c-header__search .wide {
    display: block;
    position: relative;
  }
  .c-header__search .wide input {
    width: 150px;
  }
}
@media (min-width: 1280px) {
  .c-header__search .wide input {
    width: 170px;
  }
}
.c-header__search .wide .wideBtn {
  display: none;
}
@media (min-width: 960px), print {
  .c-header__search .wide .wideBtn {
    display: flex;
    width: 40px;
    height: 43px;
    align-items: center;
    justify-content: center;
    border-radius: 0 6px 6px 0;
    position: absolute;
    top: 1px;
    right: 0;
  }
  .c-header__search .wide .wideBtn img {
    width: 18px;
    height: 18px;
    display: block;
    transition: 0.3s ease-in-out;
  }
  .c-header__search .wide .wideBtn img:hover {
    transform: scale(1.3);
  }
}
.c-header__mega {
  display: none;
  pointer-events: none;
}
@media (min-width: 960px), print {
  .c-header__mega {
    display: block;
    position: fixed;
    left: 0;
    right: 0;
    top: var(--mega-top, 120px);
    pointer-events: none;
    z-index: 300;
  }
}
.c-header__mega[hidden] {
  display: none !important;
}
.c-header .mega__panel {
  display: none;
  width: 100%;
  background: #fff;
  border-top: 1px solid #1E569B;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
  pointer-events: auto;
  box-sizing: border-box;
  overflow: hidden;
  opacity: 0;
  transform: translateY(-6px);
  transition: opacity 0.18s ease, transform 0.18s ease;
  /* 個別レイアウト（元コードのまま・省略可） */
}
.c-header .mega__panel[hidden] {
  display: none;
}
.c-header .mega__panel.is-open {
  display: block;
  transform: none;
  opacity: 1;
}
.c-header .mega__panel#mega-bus .col-1 {
  flex-basis: 44%;
}
.c-header .mega__panel#mega-bus .col-1 .category {
  margin-bottom: 10px;
}
.c-header .mega__panel#mega-bus .col-2 {
  flex-basis: 30%;
}
.c-header .mega__panel#mega-bus .col-2 .e-list__text li {
  margin-bottom: 0;
}
.c-header .mega__panel#mega-bus .col-2 .body {
  padding: 10px 15px;
}
.c-header .mega__panel#mega-bus .col-3 {
  flex-basis: 26%;
}
.c-header .mega__panel#mega-subway .col-1 {
  flex-basis: 41%;
}
.c-header .mega__panel#mega-subway .col-1 .category {
  margin-bottom: 10px;
}
.c-header .mega__panel#mega-subway .col-2 {
  flex-basis: 33%;
}
.c-header .mega__panel#mega-subway .col-3 {
  flex-basis: 26%;
}
.c-header .mega__panel#mega-ticket .col-1 {
  flex-basis: 20%;
}
.c-header .mega__panel#mega-ticket .col-1 .body {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}
.c-header .mega__panel#mega-ticket .col-1 .body img {
  max-width: 100%;
  height: auto;
}
.c-header .mega__panel#mega-ticket .col-2 {
  flex-basis: 32%;
}
.c-header .mega__panel#mega-ticket .col-2 .e-list__text li {
  margin-bottom: 0;
}
.c-header .mega__panel#mega-ticket .col-2 .body {
  padding: 10px 15px;
}
.c-header .mega__panel#mega-ticket .col-3 {
  flex-basis: 28%;
}
.c-header .mega__panel#mega-ticket .col-3 .e-list__text li {
  margin-bottom: 0;
}
.c-header .mega__panel#mega-ticket .col-3 .body {
  padding: 10px 15px;
}
.c-header .mega__panel#mega-ticket .col-4 {
  flex-basis: 19%;
}
.c-header .mega__panel#mega-ticket .col-4 .e-list__text li {
  margin-bottom: 10px;
}
.c-header .mega__panel#mega-outing .col-1 {
  flex-basis: 40%;
}
.c-header .mega__panel#mega-outing .col-1 .body {
  display: flex;
  justify-content: space-between;
}
.c-header .mega__panel#mega-outing .col-2 {
  flex-basis: 28%;
}
.c-header .mega__panel#mega-outing .col-2 .e-list__text li {
  margin-bottom: 0;
}
.c-header .mega__panel#mega-outing .col-2 .body {
  padding: 10px 15px;
}
.c-header .mega__panel#mega-outing .col-3 {
  flex-basis: 32%;
}
.c-header .mega__panel#mega-outing .col-3 .e-list__text li {
  margin-bottom: 0;
}
.c-header .mega__panel#mega-outing .col-3 .body {
  padding: 10px 15px;
}
.c-header .mega__panel#mega-about .col-1 {
  flex-basis: 28%;
}
.c-header .mega__panel#mega-about .col-1 .e-list__text li {
  margin-bottom: 0;
}
.c-header .mega__panel#mega-about .col-1 .body {
  padding: 10px 15px;
}
.c-header .mega__panel#mega-about .col-2 {
  flex-basis: 28%;
}
.c-header .mega__panel#mega-about .col-2 .e-list__text li {
  margin-bottom: 0;
}
.c-header .mega__panel#mega-about .col-2 .body {
  padding: 10px 15px;
}
.c-header .mega__panel#mega-about .col-3 {
  flex-basis: 44%;
}
.c-header .mega__panel#mega-about .col-3 .e-list__text li {
  margin-bottom: 0;
}
.c-header .mega__panel#mega-about .col-3 .body {
  padding: 10px 15px;
}
.c-header .mega__panel#mega-about .col-4 {
  flex-basis: 20%;
}
.c-header .mega__panel#mega-about .col-4 .e-list__text li {
  margin-bottom: 10px;
}
.c-header .mega__panel#mega-about .col-4 .body {
  padding: 10px 0 0 20px;
}
@media (min-width: 960px), print {
  .c-header .mega__inner {
    max-width: 1680px;
    margin: 0 auto;
  }
}
.c-header .mega__titleBlock {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 10px 0;
}
.c-header .mega__titleBlock .title {
  font-size: 1.5rem;
  font-weight: 600;
}
.c-header .mega__titleBlock a {
  text-decoration: underline;
  color: #1E569B;
  margin-left: auto;
}
.c-header .mega__row {
  display: flex;
  gap: 20px;
  margin-bottom: 20px;
}
.c-header .mega__col {
  display: flex;
  flex-direction: column;
}
.c-header .mega__col :has(> .body) {
  display: flex;
  flex-direction: column;
}
.c-header .mega__col > *:last-child {
  flex-grow: 1;
}
.c-header .mega__col .category {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
  height: 35px;
  color: #fff;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
  background: #1E569B;
}
.c-header .mega__col .category.single {
  border-radius: 6px;
}
.c-header .mega__col .category .titleLink {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  line-height: 1;
  padding: 0 40px 0 15px;
  font-weight: 600;
  border-radius: 6px;
  background: url(../../assets/img/icon/arrow-circle.svg) no-repeat right 15px center;
  background-size: 20px;
  transition: 0.3s ease-in-out;
  display: flex;
}
.c-header .mega__col .category .titleLink:hover {
  opacity: 0.6;
}
.c-header .mega__col .category .title {
  padding: 0 15px;
  font-weight: 600;
}
.c-header .mega__col .body {
  height: 100%;
  padding: 20px;
  flex-grow: 1;
  border: 1px solid #dedede;
  border-top: none;
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;
}
.c-header .mega__col .body figure {
  height: 100%;
  border-radius: 10px;
  transition: 0.3s ease-in-out;
}
.c-header .mega__col .body figure:hover {
  transform: scale(1.02);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}
.c-header .mega__col .body figure a {
  display: block;
  width: 100%;
  height: 100%;
}
.c-header .mega__col .body figure.manaca {
  height: auto;
}
.c-header .mega__col .body figure.onedayTicket {
  width: 100%;
  height: 60px;
  overflow: hidden;
  position: relative;
}
.c-header .mega__col .body figure.onedayTicket img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.c-header .mega__col .body figure.tokunavi {
  background: url(../../assets/img/ticket/tokunavi-bg.png) no-repeat right bottom/cover;
}
.c-header .mega__col .body figure.recruit_site {
  background: url(../../assets/img/recruit/recruit_site_bg.jpg) no-repeat center bottom/cover;
}
.c-header .mega__col .body figure.recruit_site img {
  width: 80%;
  margin: 0 auto;
}
.c-header .mega__col .body .img-outing {
  max-height: 194px;
  margin-left: 10px;
}
.c-header .mega__col .body .advertisement {
  height: 100%;
}
.c-header .mega__col .body .advertisement a {
  position: relative;
  display: block;
  height: 100%;
  padding-top: 55px;
  color: #fff;
  font-size: 1.125rem;
  font-weight: 600;
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
  line-height: 1.4;
  letter-spacing: 2px;
  text-align: center;
  border-radius: 10px;
  background: url(../../assets/img/about/add_us_bg.jpg) no-repeat center/cover;
  transition: 0.3s ease-in-out;
}
@media (min-width: 1280px) {
  .c-header .mega__col .body .advertisement a {
    font-size: 1.5rem;
  }
}
.c-header .mega__col .body .advertisement a:hover {
  transform: scale(1.02);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}
.c-header .mega__col .body .advertisement a p {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  color: #1E569B;
  background-color: #ffffff;
  text-shadow: none;
}
.c-header .mega__col .body .e-list__text li {
  margin-bottom: 8px;
}
.c-header .mega__col .btnList {
  padding: 10px 5px 0;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 10px;
  flex-wrap: wrap;
  flex-grow: 0;
}
.c-header .mega__col .btnList li {
  transition: 0.3s ease-in-out;
}
.c-header .mega__col .btnList li:hover {
  transform: scale(1.02);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}
.c-header .mega__col .btnList li a {
  display: block;
  height: 100%;
  padding: 58px 0 0;
  text-align: center;
  font-weight: 600;
  color: #1E569B;
  border: 1px solid #1E569B;
  border-radius: 6px;
}
.c-header .mega__col .btnList.bus li.timetable a {
  background: url(../../assets/img/icon/bus-timetable.svg) no-repeat center 15px;
}
.c-header .mega__col .btnList.bus li.price a {
  background: url(../../assets/img/icon/price.svg) no-repeat center 15px;
}
.c-header .mega__col .btnList.bus li.map a {
  background: url(../../assets/img/icon/bus-routemap.svg) no-repeat center 15px;
}
.c-header .mega__col .btnList.bus li.stop a {
  background: url(../../assets/img/icon/bus-stop.svg) no-repeat center 12px;
}
.c-header .mega__col .btnList.bus li.approach a {
  background: url(../../assets/img/icon/bus_network.svg) no-repeat center 12px;
}
.c-header .mega__col .btnList.bus li.transfer a {
  background: url(../../assets/img/logo/nagoya_navi.svg) no-repeat center 20px;
  background-size: 110px;
}
.c-header .mega__col .btnList.bus li:nth-child(1) {
  grid-column: 1/5;
}
.c-header .mega__col .btnList.bus li:nth-child(2) {
  grid-column: 5/9;
}
.c-header .mega__col .btnList.bus li:nth-child(3) {
  grid-column: 9/13;
}
.c-header .mega__col .btnList.bus li:nth-child(4) {
  grid-column: 1/5;
}
.c-header .mega__col .btnList.bus li:nth-child(5) {
  grid-column: 5/9;
}
.c-header .mega__col .btnList.bus li:nth-child(6) {
  grid-column: 9/13;
}
.c-header .mega__col .btnList.subway li.timetable a {
  background: url(../../assets/img/icon/subway-timetable.svg) no-repeat center 15px/40px;
}
.c-header .mega__col .btnList.subway li.price a {
  background: url(../../assets/img/icon/price.svg) no-repeat center 15px;
}
.c-header .mega__col .btnList.subway li.map a {
  background: url(../../assets/img/icon/subway-routemap.svg) no-repeat center 15px;
}
.c-header .mega__col .btnList.subway li.stop a {
  background: url(../../assets/img/icon/subway-station.svg) no-repeat center 12px;
}
.c-header .mega__col .btnList.subway li.transfer a {
  background: url(../../assets/img/logo/nagoya_navi.svg) no-repeat center 20px/110px;
}
.c-header .mega__col .btnList.subway li:nth-child(1) {
  grid-column: 1/5;
}
.c-header .mega__col .btnList.subway li:nth-child(2) {
  grid-column: 5/9;
}
.c-header .mega__col .btnList.subway li:nth-child(3) {
  grid-column: 9/13;
}
.c-header .mega__col .btnList.subway li:nth-child(4) {
  grid-column: 1/7;
}
.c-header .mega__col .btnList.subway li:nth-child(5) {
  grid-column: 7/13;
}
.c-header .c-header__globalNavi ul li a.is-active,
.c-header .c-header__globalNavi ul li button.is-active {
  background: #fff url(../../assets/img/icon/arrow-nl-bottom.svg) no-repeat right 20px center;
  border-bottom: 3px solid #1E569B;
}
@media (min-width: 768px) and (max-width: 959px) {
  .c-header .c-header__mega {
    display: none !important;
  }
}
.c-header__quickNaviSp { /* …必要なら従来コード… */ }
.c-header__operation {
  display: none;
}
@media (min-width: 960px), print {
  .c-header__operation {
    display: block;
    background: #F3F6FA;
  }
}
@media (min-width: 960px), print {
  .c-header__operation .inner {
    display: flex;
    height: 60px;
    max-width: 1680px;
    margin: 0 auto;
  }
}
.c-header__operation .operation {
  display: flex;
  align-items: center;
  line-height: 1.2;
  min-width: 265px;
}
.c-header__operation .operation .title {
  height: 46px;
  display: flex;
  align-items: center;
  color: #fff;
  padding: 0 15px;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
  background: #1E569B;
}
.c-header__operation .operation .result {
  padding: 0 30px 0 15px;
  font-weight: 600;
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
  background: #fff url(../../assets/img/icon/arrow-nl-bottom.svg) no-repeat right 10px center;
  transition: 0.3s ease-in-out;
}
.c-header__operation .operation .result:hover {
  transform: scale(1.02);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}
.c-header__operation .operation .result span {
  height: 46px;
  display: flex;
  align-items: center;
}
.c-header__operation .operation .result span.ontime {
  padding-left: 30px;
  background: #fff url(../../assets/img/icon/ope-ontime.svg) no-repeat left center/24px;
}
.c-header__operation .operation .result span.delay {
  padding-left: 30px;
  background: #fff url(../../assets/img/operation/icon-delay.svg) no-repeat left center/24px;
}
.c-header__operation .operation .result span.caution {
  padding-left: 30px;
  background: #fff url(../../assets/img/operation/icon-caution.svg) no-repeat left center/24px;
}
.c-header__operation .operation .result span.suspended {
  padding-left: 30px;
  background: #fff url(../../assets/img/operation/icon-suspended.svg) no-repeat left center/24px;
}
@media (min-width: 960px), print {
  .c-header__operation .navigation {
    display: flex;
    align-items: center;
    margin-left: auto;
  }
}
.c-header__operation .navigation li {
  margin-left: 10px;
}
.c-header__operation .navigation li a {
  display: flex;
  align-items: center;
  padding: 0 20px 0 50px;
  height: 46px;
  line-height: 1.2;
  font-size: 0.875rem;
  font-weight: 600;
  color: #1E569B;
  border: 1px solid #1E569B;
  border-radius: 50px;
  background: #fff;
  transition: 0.3s ease-in-out;
}
.c-header__operation .navigation li a:hover {
  transform: scale(1.02);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}
@media (min-width: 1280px) {
  .c-header__operation .navigation li a {
    font-size: 1rem;
  }
}
.c-header__operation .navigation li.delay a {
  background: #fff url(../../assets/img/icon/document.svg) no-repeat 15px center/18px;
}
.c-header__operation .navigation li.approach a {
  background: #fff url(../../assets/img/icon/bus_network.svg) no-repeat 15px center/26px;
}
.c-header__operation .navigation li.transfer a {
  padding: 0 120px 0 20px;
  background: #fff url(../../assets/img/logo/nagoya_navi.svg) no-repeat right 15px center/100px;
}
.c-header__operation .navigation li.transfer a span {
  display: none;
}
@media (min-width: 1280px) {
  .c-header__operation .navigation li.transfer a span {
    display: block;
  }
}

/* ===== 運行情報メガ（PCのみ通常高さ、SPは別制御） ===== */
.c-header .mega__panel#mega-operation {
  height: auto;
}
.c-header .mega__panel#mega-operation .mega__row.operation {
  display: grid;
  grid-template-columns: 48% 52%;
  gap: 20px;
  height: calc(100% - 114px);
}
.c-header .mega__panel#mega-operation .col-list .body {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.c-header .mega__panel#mega-operation .o-lines { /* …（省略：元のまま）…*/ }

/* hidden補助 */
.c-header__mega[hidden] {
  display: none !important;
}

/* ===== PCのメガ内で .c-operation を強制表示 ===== */
.c-header .mega__panel#mega-operation .c-operation {
  display: block !important;
}

/* ===== SPの「運行情報のみ」例外全画面表示 ===== */
@media (max-width: 959px) {
  html.operation-open, body.operation-open {
    overflow: hidden;
  }
  /* 通常は非表示のメガを、運行情報オープン時のみ可視化 */
  html.operation-open .c-header__mega {
    display: block !important;
    position: fixed;
    inset: 0;
    background: #fff;
    z-index: 999;
    pointer-events: auto;
  }
  html.operation-open .c-header__mega .mega__panel#mega-operation {
    display: block !important;
    height: 100%;
    overflow: auto;
    opacity: 1;
    transform: none;
  }
  html.operation-open .c-header__mega .mega__panel#mega-operation .c-operation {
    display: block !important;
    padding: 12px;
  }
}
/*---------------------------------------------------

Footer

---------------------------------------------------*/
.c-footer {
  background: #F5F5F5;
  /*----------------------------
  Inner
  ----------------------------*/
  /*----------------------------
  Logo
  ----------------------------*/
  /*----------------------------
  Footer Navigation
  ----------------------------*/
  /*----------------------------
  Sublink
  ----------------------------*/
  /*----------------------------
  SNS
  ----------------------------*/
  /*----------------------------
  Disclaimer
  ----------------------------*/
  /*----------------------------
  Copy
  ----------------------------*/
  /*----------------------------
  Pagetop
  ----------------------------*/
}
.c-footer__inner {
  padding: 40px 20px;
  position: relative;
}
@media (min-width: 960px), print {
  .c-footer__inner {
    max-width: 1680px;
    margin: 0 auto;
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
.c-footer__logo {
  display: block;
  width: 160px;
  margin: 0 auto 20px;
}
@media (min-width: 960px), print {
  .c-footer__logo {
    width: 210px;
    position: absolute;
    top: 80px;
    right: 40px;
    transition: 0.3s ease-in-out;
  }
  .c-footer__logo:hover {
    transform: scale(1.02);
  }
}
.c-footer__footerNavi {
  margin-bottom: 20px;
}
@media (min-width: 960px), print {
  .c-footer__footerNavi {
    display: none;
  }
}
.c-footer__subLink {
  margin-bottom: 20px;
}
.c-footer__subLink li {
  margin-bottom: 10px;
}
@media (min-width: 960px), print {
  .c-footer__subLink ul {
    display: grid;
    grid-template-columns: repeat(3, 270px);
    justify-content: start;
  }
}
.c-footer__sns {
  display: flex;
  margin-bottom: 30px;
}
.c-footer__sns a {
  display: block;
  text-align: center;
  transition: 0.3s ease-in-out;
}
.c-footer__sns a img {
  margin: 0 auto;
  margin-bottom: -15px;
}
.c-footer__sns a span {
  font-size: 12px;
}
.c-footer__sns a:hover {
  transform: scale(1.05);
}
.c-footer__disclaimer {
  font-size: 12px;
}
.c-footer__copy {
  font-size: 12px;
}
.c-footer__pagetop {
  display: flex;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.8) url(../../assets/img/icon/pagetop.svg) no-repeat center;
  position: fixed;
  bottom: 90px;
  right: 10px;
}
@media (min-width: 960px), print {
  .c-footer__pagetop {
    line-height: 60px;
    padding-left: 20px;
    background-position: right 20px center;
    bottom: 30px;
    right: 10px;
    transition: 0.3s ease-in-out;
    /*----------------------------
    Hover
    ----------------------------*/
  }
  .c-footer__pagetop:hover {
    color: #1E569B;
    transform: scale(1.02);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
  }
}
.c-footer__pagetop img {
  width: 20px;
  height: auto;
}
.c-footer__pagetop span {
  display: none;
}
@media (min-width: 960px), print {
  .c-footer__pagetop span {
    display: block;
    color: white;
  }
}

/*---------------------------------------------------

Global navigation - SP

-----------------------------------------------------
変数
---------------------------------------------------*/
:root {
  --tabbar-h: 80px;
  --safe-bottom: env(safe-area-inset-bottom, 0px);
}

/*---------------------------------------------------
Global navi（ポップアップメニュー）
---------------------------------------------------*/
.globalNavi {
  display: none;
  width: 100%;
  height: 100dvh;
  padding: 0 10px;
  padding-top: 20px;
  padding-bottom: calc(10px + var(--tabbar-h) + var(--safe-bottom));
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  overflow: auto;
  transform: translateY(100%);
  opacity: 1;
  visibility: hidden;
  pointer-events: none;
  /* ◎ 終盤がゆっくりになるイージング */
  transition: transform 800ms cubic-bezier(0.18, 0.88, 0.22, 1), visibility 0s linear 800ms;
  /*----------------------------
  Btn search
  ----------------------------*/
  /*----------------------------
  OPEN
  ----------------------------*/
  /*----------------------------
  Accessibility
  ----------------------------*/
  /*----------------------------
  Site search
  ----------------------------*/
  /*----------------------------
  Main
  ----------------------------*/
  /*----------------------------
  Sub
  ----------------------------*/
}
@media (min-width: 960px), print {
  .globalNavi {
    display: none !important;
  }
}
@media (max-width: 375px) {
  .globalNavi .btn--square {
    font-size: 0.875rem;
  }
}
.globalNavi .submit--search {
  font-size: 1rem;
  line-height: 46px;
  padding-right: 30px;
  background-size: 16px;
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}
.globalNavi.is-open {
  display: block;
  transform: translateY(0);
  visibility: visible;
  pointer-events: auto;
  transition: transform 500ms cubic-bezier(0.18, 0.88, 0.22, 1), visibility 0s;
}
.globalNavi__accessibility, .globalNavi__search, .globalNavi__main, .globalNavi__sub {
  opacity: 1;
}
.globalNavi__accessibility {
  margin-bottom: 20px;
}
.globalNavi__accessibility a {
  display: block;
  border: 1px solid #dedede;
}
.globalNavi__search {
  margin-bottom: 20px;
}
.globalNavi__main {
  margin-bottom: 20px;
}
.globalNavi__sub ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.globalNavi__sub ul li {
  flex: 1 1 calc(50% - 20px);
}
.globalNavi__sub ul li a {
  display: block;
  border: 1px solid #dedede;
}

/*---------------------------------------------------
Quick navi（フローティングメニュー）
---------------------------------------------------*/
/* コンテンツ隠れ防止（全ページ下に余白を足す） */
body {
  padding-bottom: calc(var(--tabbar-h) + var(--safe-bottom));
}

@media (min-width: 960px), print {
  body {
    padding-bottom: 0;
  }
}
.quickNavi {
  width: 100%;
  min-height: 4.5rem;
  height: auto;
  position: fixed;
  left: 0;
  bottom: 0;
  background: #fff;
  box-shadow: 0 -8px 20px rgba(0, 0, 0, 0.08);
  transition: transform 0.2s ease;
  /*----------------------------
  OPEN
  ----------------------------*/
  /*----------------------------
  ul
  ----------------------------*/
  /*----------------------------
  label
  ----------------------------*/
  /* 背景アイコンの下に文字 */
}
@media (min-width: 960px), print {
  .quickNavi {
    display: none;
  }
}
.quickNavi.is-open {
  box-shadow: none;
}
.quickNavi.is-open .quickNavi__list li {
  border-top: 1px solid #1E569B;
}
.quickNavi__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  min-height: calc(var(--tabbar-h) + var(--safe-bottom));
  padding-bottom: var(--safe-bottom); /* iPhoneホームインジケータ逃がし */
  /*----------------------------
  li
  ----------------------------*/
  /*----------------------------
  a
  ----------------------------*/
}
.quickNavi__list > li {
  border-right: 1px solid #dedede;
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: center 14px;
  transition: 0.3s ease-in-out;
}
.quickNavi__list > li.bus {
  background-image: url(../../assets/img/icon/ico-bus.svg);
}
.quickNavi__list > li.subway {
  background-image: url(../../assets/img/icon/ico-subway.svg);
}
.quickNavi__list > li.ticket {
  background-image: url(../../assets/img/icon/ico-ticket.svg);
  background-position-y: 10px;
}
.quickNavi__list > li.outing {
  background-image: url(../../assets/img/icon/ico-castle.svg);
}
.quickNavi__list > li.menu {
  background-image: url(../../assets/img/icon/ico-menu.svg);
  background-position-y: 23px;
}
.quickNavi__list > li.close {
  background-image: url(../../assets/img/icon/ico-cross.svg);
  background-position-y: 23px;
}
.quickNavi__list > li:last-child {
  border-right: 0;
}
.quickNavi__list a {
  display: grid;
  grid-template-rows: 1fr auto;
  place-items: center;
  text-decoration: none;
  color: #222;
  min-height: 44px;
  padding: 6px 0;
  font-weight: 600;
  font-size: 14px;
  outline-offset: -2px;
  border-radius: 0;
}
.quickNavi__list a:focus-visible {
  box-shadow: inset 0 0 0 3px #99c2ff;
  border-radius: 12px;
}
.quickNavi__label {
  text-align: center;
  margin-top: 50px;
  line-height: 1;
}

.quickNavi.is-open .close {
  border-top: 0 !important;
  border-left: 1px solid #1E569B;
}

/* 現在地表示（任意で付与） */
.c-quickNavi__list a[aria-current=page],
.c-quickNavi__list a.is-active {
  color: #0b57d0;
}

/*---------------------------------------------------

Slider

---------------------------------------------------*/
.slider {
  margin: 20px 0 0;
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  isolation: isolate;
  background: linear-gradient(0deg, rgba(140, 195, 244, 0.2) 0%, rgb(255, 255, 255) 100%);
  /*----------------------------
  中央寄せ＋左右チラ見え
  ----------------------------*/
  /* スライド：SP=幅88vw / PC=幅固定。高さは aspect-ratioで自動 */
  /* ドット */
  /* 再生/停止（PCで少し小さく、右端に） */
  /* ===== 前後ボタン：SVGアイコン背景 ===== */
}
@media (min-width: 960px), print {
  .slider {
    margin: 30px 0;
  }
}
.slider__viewport {
  display: flex;
  align-items: center;
  gap: 20px;
  height: 45vw;
  padding: 2px 40px;
  transition: transform 0.5s ease;
  will-change: transform;
  position: relative; /* ← スタッキング基準 */
  z-index: 1; /* ← ボタンより下に */
  touch-action: pan-y; /* ← 横スクロールはスライダーで処理、縦スクロールはブラウザに任せる */
}
@media (min-width: 960px), print {
  .slider__viewport {
    gap: 30px;
    height: 384px;
  }
}
.slider .slide {
  flex: 0 0 88vw;
  aspect-ratio: 2/1; /* ←画像と同じ比率（例：2:1） */
  /* 高さ=380px相当 */
}
@media (min-width: 960px), print {
  .slider .slide {
    flex-basis: 760px;
  }
}
.slider .slide a {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 16px;
  -webkit-user-drag: none;
}
.slider .slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain; /* 切らない・比率維持 */
  object-position: center;
  background: transparent; /* レターボックス色なし */
  border-radius: 16px;
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
  -webkit-user-drag: none;
}
.slider__bar {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 5px 0;
  gap: 12px;
  margin: 10px 0 2px;
}
.slider__dots {
  position: static;
  transform: none;
  display: flex;
  align-items: center;
  gap: 4px;
}
.slider__dots button {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 0;
  cursor: pointer;
  background: #546375;
  font-size: 0;
  line-height: 0;
  padding: 0;
}
.slider__dots button[aria-selected=true] {
  width: 32px;
  height: 32px;
  background: #2563eb;
}
.slider__toggle {
  background: #1E569B;
  color: #fff;
  border: 0;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  line-height: 1;
  font-size: 18px;
  opacity: 0.9;
  display: inline-grid;
  place-items: center;
  font-variant-emoji: text;
  -webkit-font-variant-emoji: text;
  font-family: "Roboto", "Helvetica Neue", Arial, sans-serif;
  color: transparent !important;
  text-shadow: 0 0 0 #ffffff !important;
  font-family: sans-serif;
}
@media (min-width: 960px), print {
  .slider__toggle {
    width: 32px;
    height: 32px;
    font-size: 16px;
    opacity: 0.85;
  }
}
.slider__prev, .slider__next {
  position: absolute;
  margin-top: 13px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 0;
  cursor: pointer;
  background-color: #1E569B;
  border: 2px solid #fff;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 22px 22px;
  transition: background-color 0.2s ease, transform 0.2s ease;
  z-index: 5;
  pointer-events: auto;
}
@media (min-width: 960px), print {
  .slider__prev, .slider__next {
    margin-top: 2px;
    width: 48px;
    height: 48px;
    background-size: 24px 24px;
  }
}
.slider__prev {
  left: 8px;
  background-image: url(../../assets/img/icon/chevron-left.svg);
}
.slider__next {
  right: 8px;
  background-image: url(../../assets/img/icon/chevron-right.svg);
}
.slider__prev:hover, .slider__next:hover {
  background-color: #1E569B;
}
.slider__prev:active, .slider__next:active {
  transform: scale(0.97);
}

@media (prefers-reduced-motion: reduce) {
  .slider__viewport {
    transition: none;
  }
}
/* 視覚的に隠す（ボタン内テキストを残す場合に使用任意） */
.visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/*---------------------------------------------------
Slider | EVENT
---------------------------------------------------*/
.slider--event {
  margin-bottom: 20px;
  /*----------------------------
  Thumbs
  ----------------------------*/
  /*----------------------------
  Thumbs | Item
  ----------------------------*/
  /*----------------------------
  Arrows | Position (EVENT only)
  ----------------------------*/
  /*----------------------------
  Thumbs | Button
  ----------------------------*/
  /*----------------------------
  Thumbs | Image
  ----------------------------*/
  /*----------------------------
  Thumbs | Button | Active
  ----------------------------*/
  /*----------------------------
  Slide | Image
  ----------------------------*/
}
@media (min-width: 960px), print {
  .slider--event {
    margin: 0;
  }
}
.slider--event .slider__thumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center; /* ← 中央寄せ */
  margin-top: 12px;
}
.slider--event .slider__thumbItem {
  list-style: none;
  width: clamp(30%, 12vw, 140px); /* 端末で自動調整 */
}
@media (min-width: 960px), print {
  .slider--event .slider__thumbItem {
    width: clamp(32%, 12vw, 140px);
  }
}
.slider--event .slider__prev,
.slider--event .slider__next {
  margin-top: 13px;
}
@media (min-width: 960px), print {
  .slider--event .slider__prev,
  .slider--event .slider__next {
    margin-top: 8px;
  }
}
.slider--event .slider__thumbBtn {
  display: block;
  width: 100%;
  aspect-ratio: 2/1;
  border: 2px solid transparent;
  padding: 0;
  background: none;
  cursor: pointer;
  border-radius: 10px;
}
.slider--event .slider__thumbBtn img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 8px;
  display: block;
}
.slider--event .slider__thumbBtn.is-active {
  border-color: #1E569B;
}
.slider--event .slide img {
  object-fit: cover; /* ← 余白なしで全面表示 */
  background: transparent;
  border-radius: 8px !important;
}
.slider--event .slide a {
  border-radius: 8px !important;
}

/*---------------------------------------------------

SNS

---------------------------------------------------*/
@media (min-width: 960px), print {
  .c-sns {
    max-width: 1680px;
    margin: 0 auto 60px;
  }
}
.c-sns__list {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  /*----------------------------
  Title Block
  ----------------------------*/
}
@media (min-width: 960px), print {
  .c-sns__list {
    gap: 30px;
  }
}
.c-sns__list li {
  flex: 0 1 calc(50% - 8px);
  border: 1px solid #dedede;
  border-radius: 6px;
}
@media (min-width: 960px), print {
  .c-sns__list li {
    flex: 1;
    border-radius: 10px;
    transition: 0.3s ease-in-out;
  }
  .c-sns__list li:hover {
    transform: scale(1.03);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
  }
}
.c-sns__list li a {
  display: block;
  height: 100px;
  padding: 70px 0 0;
  font-size: 0.875rem;
  font-weight: 600;
  text-align: center;
}
@media (min-width: 960px), print {
  .c-sns__list li a {
    height: 200px;
    padding: 150px 0 0;
    font-size: 1rem;
  }
}
.c-sns__list li.xOpe a {
  background: url(../../assets/img/icon/sns-color-x.svg) no-repeat center 20px;
  background-size: 42px;
}
@media (min-width: 960px), print {
  .c-sns__list li.xOpe a {
    background-position: center 60px;
    background-size: 57px;
  }
}
.c-sns__list li.xAll a {
  background: url(../../assets/img/icon/sns-color-x.svg) no-repeat center 20px;
  background-size: 42px;
}
@media (min-width: 960px), print {
  .c-sns__list li.xAll a {
    background-position: center 60px;
    background-size: 57px;
  }
}
.c-sns__list li.instagram a {
  background: url(../../assets/img/icon/sns-color-instagram.svg) no-repeat center 20px;
  background-size: 42px;
}
@media (min-width: 960px), print {
  .c-sns__list li.instagram a {
    background-position: center 60px;
    background-size: 57px;
  }
}
.c-sns__list li.facebook a {
  background: url(../../assets/img/icon/sns-color-facebook.svg) no-repeat center 15px;
  background-size: 55px;
}
@media (min-width: 960px), print {
  .c-sns__list li.facebook a {
    background-position: center 53px;
    background-size: 76px;
  }
}
.c-sns__list li.youtube a {
  background: url(../../assets/img/icon/sns-color-youtube.svg) no-repeat center 30px;
  background-size: 42px;
}
@media (min-width: 960px), print {
  .c-sns__list li.youtube a {
    background-position: center 70px;
    background-size: 65px;
  }
}

/*---------------------------------------------------

HELP Index

---------------------------------------------------*/
.c-help {
  padding: 40px 20px;
  background: url(../../assets/img/help/bg.jpg) no-repeat bottom center;
  background-size: cover;
  /*----------------------------
  Inner
  ----------------------------*/
  /*----------------------------
  Title Block
  ----------------------------*/
  /*----------------------------
  Description
  ----------------------------*/
  /*----------------------------
  Tel
  ----------------------------*/
}
@media (min-width: 960px), print {
  .c-help__inner {
    display: flex;
    max-width: 1680px;
    height: 500px;
    margin: 0 auto;
    padding: 60px 0;
    position: relative;
  }
}
.c-help__titleBlock {
  margin-bottom: 20px;
}
@media (min-width: 960px), print {
  .c-help__titleBlock {
    width: 370px;
    padding-top: 20px;
  }
}
.c-help__titleBlock .title {
  margin-bottom: 10px;
  font-size: 1.5rem;
  font-weight: 600;
}
@media (min-width: 960px), print {
  .c-help__list {
    width: calc(100% - 370px);
    padding-left: 30px;
    display: flex;
    flex-wrap: wrap;
  }
}
@media (min-width: 1280px) {
  .c-help__list {
    padding-left: 80px;
  }
}
.c-help__list li {
  margin-bottom: 10px;
}
@media (min-width: 960px), print {
  .c-help__list li {
    flex: 1 1 50%;
    padding: 0 10px 10px;
    transition: 0.3s ease-in-out;
  }
  .c-help__list li:hover {
    transform: scale(1.03);
  }
}
.c-help__list li a {
  display: block;
  line-height: 1;
  border: none;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}
@media (min-width: 960px), print {
  .c-help__list li a {
    padding: 0;
  }
}
.c-help__list li a .lost {
  background-image: url(../../assets/img/help/handbag.svg);
  background-size: 32px;
  background-position-x: 2px;
}
@media (min-width: 960px), print {
  .c-help__list li a .lost {
    background-size: 80px;
    background-position: center 25px;
  }
}
.c-help__list li a .faq {
  background-image: url(../../assets/img/help/qa.svg);
  background-size: 36px;
}
@media (min-width: 960px), print {
  .c-help__list li a .faq {
    background-size: 90px;
    background-position: center 40px;
  }
}
.c-help__list li a .contact {
  background-image: url(../../assets/img/help/send.svg);
  background-size: 34px;
}
@media (min-width: 960px), print {
  .c-help__list li a .contact {
    background-size: 70px;
    background-position: center 45px;
  }
}
.c-help__list li a .telephone {
  background-image: url(../../assets/img/help/operator.svg);
  background-size: 36px;
}
@media (min-width: 960px), print {
  .c-help__list li a .telephone {
    background-size: 85px;
    background-position: center 40px;
    padding-left: 30px;
    padding-right: 30px;
  }
}
.c-help__list li a span {
  display: flex;
  align-items: center;
  height: 60px;
  padding-left: 80px;
  background-repeat: no-repeat;
  background-position: left center;
}
@media (min-width: 960px), print {
  .c-help__list li a span {
    height: 180px;
    padding-left: 0;
    padding-bottom: 20px;
    justify-content: center;
    align-items: flex-end;
    background-position: center;
    font-size: 1.125rem;
  }
}
@media (min-width: 960px), print {
  .c-help__list li a {
    background-position: right 20px bottom 20px;
  }
}
.c-help__tel {
  padding: 40px 0 20px;
  text-align: center;
  border: 1px solid #dedede;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}
@media (min-width: 960px), print {
  .c-help__tel {
    width: 370px;
    position: absolute;
    top: 230px;
    left: 0;
  }
}
.c-help__tel .sub {
  font-size: 0.875rem;
}
.c-help__tel .title {
  font-size: 1.5rem;
  font-weight: 600;
}
.c-help__tel .time {
  font-size: 1rem;
}
.c-help__tel .time span {
  padding-left: 10px;
}
.c-help__tel .number {
  display: inline-block;
  padding-left: 45px;
  font-size: 40px;
  font-family: "Oswald", sans-serif;
  font-weight: 600;
  background: url(../../assets/img/icon/tel_blk.svg) no-repeat left center;
}

/*---------------------------------------------------

Accordion

---------------------------------------------------*/
.c-accordion {
  border: 1px solid #dedede;
  border-radius: 0.75rem;
  background: #fff;
}
.c-accordion summary {
  list-style: none;
  cursor: pointer;
  padding: 0.875rem 1rem;
  font-weight: 600;
}
.c-accordion summary::-webkit-details-marker {
  display: none;
}
.c-accordion__panel {
  padding: 0 1rem 1rem;
}
.c-accordion[open] .c-accordion__panel {
  animation: acc-fade 0.2s ease both;
}

@keyframes acc-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/*---------------------------------------------------

Modal

---------------------------------------------------*/
/* dialog の既定センターを復活させる */
dialog.c-modal {
  margin: auto; /* ← Resetで消えたら必ず付け直す */
  max-width: 720px;
  width: min(92vw, 720px);
  max-height: 90dvh;
  border: none;
  border-radius: 1rem;
  padding: 0;
  background: #fff;
  /* アニメ（初期値は軽めに） */
  opacity: 0;
  transform: translateY(8px) scale(0.98);
}

dialog.c-modal[open] {
  animation: modalIn 0.2s ease-out both;
}

dialog.c-modal.is-closing {
  animation: modalOut 0.16s ease-in both;
}

/* オーバーレイ */
dialog.c-modal::backdrop {
  background: rgba(0, 0, 0, 0.55);
}

/* keyframes */
@keyframes modalIn {
  from {
    opacity: 0;
    transform: translateY(8px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes modalOut {
  from {
    opacity: 1;
    transform: none;
  }
  to {
    opacity: 0;
    transform: translateY(8px) scale(0.98);
  }
}
dialog::backdrop {
  background: rgba(0, 0, 0, 0.6); /* 黒半透明 */
}

/*---------------------------------------------------

Information

---------------------------------------------------*/
.c-information, .c-information--static {
  padding: 20px;
  background: #F3F6FA;
  /*----------------------------
  Inner
  ----------------------------*/
  /*----------------------------
  Title block
  ----------------------------*/
  /*----------------------------
  TAB
  ----------------------------*/
  /*----------------------------
  List
  ----------------------------*/
  /*----------------------------
  Static
  ----------------------------*/
}
@media (min-width: 960px), print {
  .c-information__inner {
    max-width: 1680px;
    width: 100%;
    margin: 0 auto 60px;
  }
}
.c-information .section__titleBlock, .c-information--static .section__titleBlock {
  margin-bottom: 10px;
}
.c-information .section__titleBlock .btn, .c-information--static .section__titleBlock .btn {
  display: inline-flex;
}
@media (min-width: 960px), print {
  .c-information .section__titleBlock, .c-information--static .section__titleBlock {
    align-items: flex-start;
    margin-left: 20px;
    margin-bottom: 0;
  }
  .c-information .section__titleBlock .title, .c-information--static .section__titleBlock .title {
    width: 20%;
  }
  .c-information .section__titleBlock .btn, .c-information--static .section__titleBlock .btn {
    display: none;
  }
}
.c-information__tab {
  display: table;
  width: 100%;
}
.c-information__tab li {
  display: table-cell;
  float: left;
  margin: 0 3px 6px;
}
.c-information__tab li button {
  line-height: 2.5rem;
  background: #1E569B;
  color: #fff;
  width: 100%;
  border: 1px solid #dedede;
  border-radius: 5px;
}
.c-information__tab li button.is-active {
  background: #fff;
  color: #222;
  pointer-events: none;
  cursor: default;
}
.c-information__tab[data-cols="2"] li {
  width: calc(50% - 6px);
}
.c-information__tab[data-cols="3"] li {
  width: calc(33.3333333333% - 6px);
}
.c-information__tab[data-cols="4"] li {
  width: calc(25% - 6px);
}
@media (min-width: 960px), print {
  .c-information__tab {
    display: flex;
    margin-right: 20px;
    padding: 2px 2px 0;
    width: calc(100% - 200px);
    overflow: hidden;
  }
  .c-information__tab li {
    flex: 1;
    margin: 0 10px 0 0;
  }
  .c-information__tab li button {
    display: block;
    width: 100%;
    line-height: 60px;
    color: #fff;
    font-size: 20px;
    border-radius: 10px 10px 0 0;
    border: 1px solid #dedede;
    border-bottom: none;
    background: #1E569B;
    transition: 0.3s ease-in-out;
  }
  .c-information__tab li button:hover {
    transform: translateY(3px);
  }
  .c-information__tab li button.is-active {
    color: #222222;
    background: #fff;
    pointer-events: none;
    cursor: default;
  }
  .c-information__tab li button :focus-visible {
    outline: 2px solid #2a64b7;
    outline-offset: 2px;
  }
}
.c-information__list, .c-information__list--block {
  border-radius: 10px;
  background: #fff;
}
@media (min-width: 960px), print {
  .c-information__list ul, .c-information__list--block ul {
    padding: 20px 40px;
  }
}
.c-information__list ul li, .c-information__list--block ul li {
  padding: 15px 20px;
  border-bottom: 1px solid #dedede;
}
.c-information__list ul li:first-child, .c-information__list--block ul li:first-child {
  border-radius: 10px 10px 0 0;
}
.c-information__list ul li:last-child, .c-information__list--block ul li:last-child {
  border-radius: 0 0 10px 10px;
}
@media (min-width: 960px), print {
  .c-information__list ul li, .c-information__list--block ul li {
    display: flex;
    border-radius: 0 !important;
  }
}
.c-information__list ul li p, .c-information__list--block ul li p {
  font-size: 0.875rem;
}
@media (min-width: 960px), print {
  .c-information__list ul li p, .c-information__list--block ul li p {
    width: 180px;
    font-size: 1rem;
  }
}
.c-information__list ul li a, .c-information__list--block ul li a {
  color: #1E569B;
  text-decoration: underline;
}
.c-information__list ul li a:hover, .c-information__list--block ul li a:hover {
  text-decoration: none;
}
.c-information__list ul:not(:last-child) li:last-child, .c-information__list--block ul:not(:last-child) li:last-child {
  border-radius: 0 !important;
}
.c-information__list--block li {
  display: block !important;
}
.c-information__link {
  padding: 20px 0;
  text-align: center;
}
@media (min-width: 960px), print {
  .c-information__link {
    padding-top: 0;
  }
}
.c-information--static { /* 内包をそのまま流す（モダン環境） */ }
@media (min-width: 960px), print {
  .c-information--static {
    padding: 30px 30px;
    border-radius: 10px;
  }
}
@media (min-width: 960px), print {
  .c-information--static .section__titleBlock {
    align-items: flex-start;
    margin-left: 20px;
    margin-bottom: 10px;
  }
  .c-information--static .section__titleBlock .title {
    width: 70%;
    font-size: 1.5rem;
  }
  .c-information--static .section__titleBlock .btn {
    display: inline-flex;
  }
}
@media (min-width: 960px), print {
  .c-information--static .c-information__inner {
    width: 100%;
    margin: 0;
  }
}
.c-information--static .c-information__list li:last-of-type, .c-information--static .c-information__list--block li:last-of-type {
  border: none;
}
.c-information--static .c-information__tab {
  display: none !important;
}
.c-information--static .c-information__panel {
  display: contents;
}

/*---------------------------------------------------
SECTION
---------------------------------------------------*/
/*---------------------------------------------------

About Index

---------------------------------------------------*/
.c-aboutIndex {
  /*----------------------------
  Title Block
  ----------------------------*/
  /*----------------------------
  Description
  ----------------------------*/
  /*----------------------------
  Image
  ----------------------------*/
}
@media (min-width: 960px), print {
  .c-aboutIndex {
    display: flex;
    gap: 30px;
    max-width: 1680px;
    margin: 0 auto 60px;
  }
}
.c-aboutIndex li {
  padding: 20px;
  margin-bottom: 20px;
  border: 1px solid #dedede;
  border-radius: 10px;
}
@media (min-width: 960px), print {
  .c-aboutIndex li {
    flex: 1;
    padding: 30px;
  }
}
.c-aboutIndex__titleBlock {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
}
.c-aboutIndex__titleBlock .title {
  font-size: 1.5rem;
  font-weight: 600;
}
.c-aboutIndex__desc {
  display: block;
  padding-bottom: 30px;
  margin-bottom: 30px;
  border-bottom: 1px solid #dedede;
  /* PC/SP共通にする
      @include mq(pc) {
        display: block;
        padding-bottom: 30px;
        margin-bottom: 30px;
        border-bottom: 1px solid $color-border;
      }
  */
}
.c-aboutIndex__image {
  display: block;
  position: relative;
  border-radius: 16px;
  transition: 0.3s ease-in-out;
}
.c-aboutIndex__image::before {
  content: "";
  width: 22px;
  height: 22px;
  background: url(../../assets/img/icon/arrow-circle.svg) no-repeat center;
  background-size: cover;
  position: absolute;
  bottom: 10px;
  right: 10px;
}
.c-aboutIndex__image:hover {
  transform: scale(1.03);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}
.c-aboutIndex__image a {
  position: relative;
}
.c-aboutIndex__image .title {
  position: absolute;
  bottom: 20px;
  left: 0;
  margin-right: 42px;
  padding: 0 10px;
  font-size: 1.125rem;
  font-weight: bold;
  color: #1E569B;
  background: #ffffff;
}
.c-aboutIndex__image img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  border-radius: 16px;
}
@media (min-width: 960px), print {
  .c-aboutIndex__image img {
    height: auto;
  }
}

/*---------------------------------------------------

Category title

---------------------------------------------------*/
.c-categorytitle {
  height: 100px;
  color: #fff;
  background: #1E569B;
}
@media (min-width: 960px), print {
  .c-categorytitle {
    height: 140px;
  }
}
.c-categorytitle.bus {
  background-image: url(../../assets/img/bus/mv.jpg);
}
.c-categorytitle.subway {
  background-image: url(../../assets/img/subway/mv.jpg);
}
.c-categorytitle.ticket {
  background-image: url(../../assets/img/ticket/mv.jpg);
}
.c-categorytitle.odekake {
  background-image: url(../../assets/img/odekake/mv.jpg);
}
.c-categorytitle.about {
  background-image: url(../../assets/img/about/mv.jpg);
}
.c-categorytitle .title {
  padding-top: 30px;
  font-size: 1.5rem;
  font-weight: 600;
  text-align: center;
}
@media (min-width: 960px), print {
  .c-categorytitle .title {
    padding-top: 10px;
    font-size: 2rem;
  }
}

/*---------------------------------------------------

Breadcrumb

---------------------------------------------------*/
.c-breadcrumb__list {
  display: none;
}
@media (min-width: 960px), print {
  .c-breadcrumb__list {
    display: block;
    max-width: 1680px;
    margin: 0 auto;
    padding: 10px 0 0;
  }
}
.c-breadcrumb__item {
  display: inline-block;
  padding-left: 20px;
  margin-right: 10px;
  background: url(../../assets/img/icon/arrow-nl-right-short.svg) no-repeat left center;
}
.c-breadcrumb__item:first-of-type {
  padding-left: 0;
  background: none;
}
.c-breadcrumb__item a {
  text-decoration: underline;
}

/*---------------------------------------------------

Local navi

---------------------------------------------------*/
.c-localnavi, .c-localnavi--subway, .c-localnavi--bus {
  padding: 10px;
  margin-bottom: 30px;
  /*---------------------------
  LIST
  ---------------------------*/
  /*---------------------------
  ITEM
  ---------------------------*/
  /*---------------------------
  BUS
  ---------------------------*/
  /*---------------------------
  SUBWAY
  ---------------------------*/
}
@media (min-width: 960px), print {
  .c-localnavi, .c-localnavi--subway, .c-localnavi--bus {
    padding: 0;
  }
}
.c-localnavi__list {
  display: flex;
  flex-wrap: wrap;
  border-left: 1px solid #1E569B;
  border-top: 1px solid #1E569B;
  border-radius: 10px;
}
@media (min-width: 960px), print {
  .c-localnavi__list {
    flex-wrap: nowrap;
  }
}
.c-localnavi__item {
  flex-basis: 50%;
  border-right: 1px solid #1E569B;
  border-bottom: 1px solid #1E569B;
}
@media (min-width: 960px), print {
  .c-localnavi__item:first-of-type {
    border-bottom-left-radius: 10px;
  }
}
.c-localnavi__item:nth-child(2) {
  border-top-right-radius: 10px;
}
@media (min-width: 960px), print {
  .c-localnavi__item:nth-child(2) {
    border-top-right-radius: 0;
  }
}
.c-localnavi__item:nth-child(5) {
  border-bottom-left-radius: 10px;
}
@media (min-width: 960px), print {
  .c-localnavi__item:nth-child(5) {
    border-bottom-left-radius: 0;
  }
}
.c-localnavi__item:last-of-type {
  border-bottom-right-radius: 10px;
}
@media (min-width: 960px), print {
  .c-localnavi__item:last-of-type {
    border-top-right-radius: 10px;
  }
}
.c-localnavi__item a {
  display: block;
  padding: 60px 0 5px;
  text-align: center;
  line-height: 1;
  font-weight: 600;
  color: #1E569B;
  outline-offset: -5px;
  transition: 0.3s ease-in-out;
}
@media (min-width: 960px), print {
  .c-localnavi__item a {
    height: 150px;
    padding: 110px 0 5px;
    font-size: 1.125rem;
  }
}
.c-localnavi__item a:hover {
  transform: scale(1.06);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}
.c-localnavi--bus .c-localnavi__item.timetable a {
  background: url(../../assets/img/icon/bus-timetable.svg) no-repeat center 15px;
}
.c-localnavi--bus .c-localnavi__item.price a {
  background: url(../../assets/img/icon/price.svg) no-repeat center 15px;
}
.c-localnavi--bus .c-localnavi__item.map a {
  background: url(../../assets/img/icon/bus-routemap.svg) no-repeat center 15px;
}
.c-localnavi--bus .c-localnavi__item.stop a {
  background: url(../../assets/img/icon/bus-stop.svg) no-repeat center 12px;
}
.c-localnavi--bus .c-localnavi__item.approach a {
  background: url(../../assets/img/icon/bus_network.svg) no-repeat center 12px;
}
.c-localnavi--bus .c-localnavi__item.transfer a {
  background: url(../../assets/img/logo/nagoya_navi.svg) no-repeat center 20px;
  background-size: 110px;
}
@media (min-width: 960px) and (min-width: 960px), print and (min-width: 960px), print and (min-width: 960px), print {
  .c-localnavi--bus .c-localnavi__item.timetable a {
    background-size: 60px;
    background-position-y: 35px;
  }
}
@media (min-width: 960px) and (min-width: 960px), print and (min-width: 960px), print and (min-width: 960px), print {
  .c-localnavi--bus .c-localnavi__item.price a {
    background-size: 53px;
    background-position-y: 36px;
  }
}
@media (min-width: 960px) and (min-width: 960px), print and (min-width: 960px), print and (min-width: 960px), print {
  .c-localnavi--bus .c-localnavi__item.map a {
    background-size: 53px;
    background-position-y: 37px;
  }
}
@media (min-width: 960px) and (min-width: 960px), print and (min-width: 960px), print and (min-width: 960px), print {
  .c-localnavi--bus .c-localnavi__item.stop a {
    background-size: 32px;
    background-position-y: 35px;
  }
}
@media (min-width: 960px) and (min-width: 960px), print and (min-width: 960px), print and (min-width: 960px), print {
  .c-localnavi--bus .c-localnavi__item.approach a {
    background-size: 60px;
    background-position-y: 32px;
  }
}
@media (min-width: 960px) and (min-width: 960px), print and (min-width: 960px), print and (min-width: 960px), print {
  .c-localnavi--bus .c-localnavi__item.transfer a {
    background-size: 150px;
    background-position-y: 47px;
  }
}
.c-localnavi--subway .c-localnavi__item.timetable a {
  background: url(../../assets/img/icon/subway-timetable.svg) no-repeat center 15px;
  background-size: 43px;
}
.c-localnavi--subway .c-localnavi__item.price a {
  background: url(../../assets/img/icon/price.svg) no-repeat center 15px;
}
.c-localnavi--subway .c-localnavi__item.map a {
  background: url(../../assets/img/icon/subway-routemap.svg) no-repeat center 15px;
}
.c-localnavi--subway .c-localnavi__item.stop a {
  background: url(../../assets/img/icon/subway-station.svg) no-repeat center 12px;
}
.c-localnavi--subway .c-localnavi__item.transfer a {
  background: url(../../assets/img/logo/nagoya_navi.svg) no-repeat center 20px;
  background-size: 110px;
}
.c-localnavi--subway .c-localnavi__item.transfer {
  flex-basis: 100%;
}
@media (min-width: 960px) and (min-width: 960px), print and (min-width: 960px), print and (min-width: 960px), print {
  .c-localnavi--subway .c-localnavi__item.timetable a {
    background-size: 60px;
    background-position-y: 35px;
  }
}
@media (min-width: 960px) and (min-width: 960px), print and (min-width: 960px), print and (min-width: 960px), print {
  .c-localnavi--subway .c-localnavi__item.price a {
    background-size: 53px;
    background-position-y: 36px;
  }
}
@media (min-width: 960px) and (min-width: 960px), print and (min-width: 960px), print and (min-width: 960px), print {
  .c-localnavi--subway .c-localnavi__item.map a {
    background-size: 53px;
    background-position-y: 37px;
  }
}
@media (min-width: 960px) and (min-width: 960px), print and (min-width: 960px), print and (min-width: 960px), print {
  .c-localnavi--subway .c-localnavi__item.stop a {
    background-size: 58px;
    background-position-y: 37px;
  }
}
@media (min-width: 960px) and (min-width: 960px), print and (min-width: 960px), print and (min-width: 960px), print {
  .c-localnavi--subway .c-localnavi__item.transfer a {
    background-size: 150px;
    background-position-y: 47px;
  }
}
@media (min-width: 960px), print {
  .c-localnavi--subway .c-localnavi__item.transfer {
    flex-basis: 50%;
  }
}

/*---------------------------------------------------

Quick search

---------------------------------------------------*/
.c-quicksearch {
  margin: 10px 10px 30px;
  padding: 20px 10px 10px;
  border-radius: 10px;
  background: #F5F5F5;
  /*---------------------------
  Title
  ---------------------------*/
  /*---------------------------
  Body
  ---------------------------*/
  /*---------------------------
  Action
  ---------------------------*/
  /*---------------------------
  Field
  ---------------------------*/
  /*---------------------------
  Ticket
  ---------------------------*/
}
@media (min-width: 960px), print {
  .c-quicksearch {
    margin: 0;
    padding: 30px 40px;
  }
}
.c-quicksearch__title {
  padding: 0 10px 10px;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.3;
  border-bottom: 1px solid #707070;
}
.c-quicksearch__title span {
  display: block;
  font-size: 0.875rem;
}
@media (min-width: 960px), print {
  .c-quicksearch__title span {
    font-size: 1rem;
  }
}
.c-quicksearch__body {
  padding: 10px;
}
@media (min-width: 960px), print {
  .c-quicksearch__body {
    padding: 20px 10px 0;
  }
}
.c-quicksearch__body:has(.c-radioTabs__button) {
  margin: 0 -10px;
}
@media (min-width: 960px), print {
  .c-quicksearch__body:has(.c-radioTabs__button) {
    margin: 0;
  }
}
.c-quicksearch__action {
  margin-top: 15px;
  padding-top: 15px;
  border-top: 1px solid #dedede;
}
@media (min-width: 960px), print {
  .c-quicksearch__action {
    margin-top: 30px;
    padding-top: 30px;
  }
}
.c-quicksearch .c-field {
  margin-bottom: 20px;
}
.c-quicksearch .c-field__panelgroup {
  background-color: #fafafa;
}
.c-quicksearch .c-field__panel {
  padding: 20px 10px;
  border: 1px solid #707070;
  border-top-width: 0;
  border-radius: 0 0 6px 6px;
}
@media (min-width: 960px), print {
  .c-quicksearch .c-field__panel {
    padding: 20px;
  }
}
.c-quicksearch__ticket .field-1 .c-auxiliary {
  flex-wrap: wrap;
  flex-direction: row-reverse;
  justify-content: space-between;
}
.c-quicksearch__ticket .field-1 .c-auxiliary__icon {
  padding: 0 10px;
  margin-right: auto;
}
.c-quicksearch__ticket .field-1 .c-auxiliary__title, .c-quicksearch__ticket .field-1 .c-auxiliary__body, .c-quicksearch__ticket .field-1 .c-auxiliary__icon {
  margin-bottom: 15px;
}

/*---------------------------------------------------

Line map

---------------------------------------------------*/
.c-linemap {
  margin: 0 10px 30px;
  /*----------------------------
  Tab
  ----------------------------*/
  /*----------------------------
  Tab
  ----------------------------*/
  /*----------------------------
  Badge Image
  ----------------------------*/
  /*----------------------------
  Panel
  ----------------------------*/
  /*----------------------------
  Head
  ----------------------------*/
  /*----------------------------
  Stations（横スクロール対応）
  ----------------------------*/
  /*----------------------------
  名城線・名港線のみ 2行表示対応
  ----------------------------*/
  /* 改行ポイント（HTMLで <li class="c-linemap__break"> を挿入） */
  /*----------------------------
  Station
  ----------------------------*/
  /*----------------------------
  Station Link（バッジ＋駅名を包む <a>）
  ----------------------------*/
  /*----------------------------
  駅コード（H01など）
  ----------------------------*/
  /*----------------------------
  駅名（縦書き中央配置）
  ----------------------------*/
  /*----------------------------
  スクロールバー装飾
  ----------------------------*/
}
@media (min-width: 960px), print {
  .c-linemap {
    margin: 0 0 30px;
  }
}
.c-linemap__tabs {
  display: flex;
  justify-content: flex-start;
}
@media (min-width: 960px), print {
  .c-linemap__tabs {
    margin-left: 0;
  }
}
.c-linemap__tab {
  width: 20%;
  padding: 10px 0 20px;
  text-align: center;
  font-size: 0.875rem;
  border-top: 1px solid #dedede;
  border-right: 1px solid #dedede;
  border-bottom: 1px solid #dedede;
  background: url(../../assets/img/icon/arrow-nl-bottom.svg) no-repeat center bottom 7px;
}
@media (min-width: 960px), print {
  .c-linemap__tab {
    width: 20%;
  }
  .c-linemap__tab:last-of-type {
    border-top-right-radius: 10px;
  }
}
.c-linemap__tab:first-of-type {
  border-left: 1px solid #dedede;
  border-top-left-radius: 10px;
}
.c-linemap__tab.meigroup {
  display: flex;
  justify-content: center;
  gap: 10px;
  width: 40%;
}
@media (min-width: 960px), print {
  .c-linemap__tab.meigroup {
    width: 20%;
  }
}
.c-linemap__tab.is-active {
  border-bottom: none;
}
.c-linemap__image {
  width: 46px;
  margin: 0 auto;
}
.c-linemap__panel {
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  border-left: 1px solid #dedede;
  border-right: 1px solid #dedede;
  border-bottom: 1px solid #dedede;
}
@media (min-width: 960px), print {
  .c-linemap__panel {
    margin-left: 0;
    margin-bottom: 60px;
  }
}
.c-linemap__head {
  display: flex;
  padding: 10px;
  font-size: 1.125rem;
  font-weight: 600;
}
@media (min-width: 960px), print {
  .c-linemap__head {
    padding: 20px 30px;
  }
}
.c-linemap__title {
  padding-right: 10px;
  margin-right: 10px;
  border-right: 1px solid #dedede;
}
.c-linemap__count {
  font-weight: normal;
}
.c-linemap__status {
  font-weight: 600;
}
.c-linemap__status span {
  display: inline-block;
  padding-left: 26px;
  line-height: 1.8;
}
.c-linemap__status .ontime {
  background: url(../../assets/img/icon/ope-ontime.svg) no-repeat left center;
  background-size: 22px;
}
.c-linemap__status .delay {
  background: url(../../assets/img/operation/icon-delay.svg) no-repeat left center;
  background-size: 22px;
}
.c-linemap__status .caution {
  background: url(../../assets/img/operation/icon-caution.svg) no-repeat left center;
  background-size: 22px;
}
.c-linemap__status .suspended {
  background: url(../../assets/img/operation/icon-suspended.svg) no-repeat left center;
  background-size: 22px;
}
.c-linemap__stations {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 16px;
  padding: 4px 10px 20px;
  margin: 0;
  list-style: none;
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
}
@media (min-width: 960px), print {
  .c-linemap__stations {
    padding: 4px 13px 20px 30px;
    gap: 20px;
  }
}
.c-linemap__stations.is-split {
  flex-wrap: wrap;
  row-gap: 10px; /* 上下の行間 */
  overflow-x: visible; /* 横スクロールを無効化（2行表示用） */
}
.c-linemap__stations.is-split .c-linemap__station {
  min-height: 14em;
}
.c-linemap__stations.is-split .c-linemap__station:last-child {
  margin-right: 60px; /* 右端の余白調整 */
}
.c-linemap .c-linemap__break ~ .c-linemap__station {
  margin-left: auto; /* 2行目の先頭駅を右端へ押し出す */
}
.c-linemap__break {
  flex-basis: 100%;
  height: 0;
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
}
.c-linemap__break::after {
  display: block;
  content: "";
  width: 4px;
  height: 250px;
  background: #A67DB5;
  position: absolute;
  top: -214px;
  left: 1080px;
}
.c-linemap__spacer {
  flex: 1 1 auto;
  height: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  background: #000;
}
.c-linemap__station {
  flex: 0 0 auto;
  align-self: flex-start;
  width: 36px;
  position: relative;
  scroll-snap-align: start;
}
.c-linemap__station:last-child .c-linemap__code::before, .c-linemap__station:last-child .c-linemap__code--k::before, .c-linemap__station:last-child .c-linemap__code--s::before, .c-linemap__station:last-child .c-linemap__code--t::before, .c-linemap__station:last-child .c-linemap__code--m::before, .c-linemap__station:last-child .c-linemap__code--h::before {
  display: none;
}
.c-linemap__station.kanayama {
  position: relative;
  margin-right: -18px;
}
.c-linemap__station.kanayama .c-linemap__station-link {
  position: relative;
  z-index: 1;
  border: none;
  padding: 0;
}
.c-linemap__station.kanayama .c-linemap__station-link:focus {
  outline: none;
}
.c-linemap__station.kanayama::before {
  display: block;
  content: "";
  width: 4px;
  height: 245px;
  background: #A67DB5;
  position: absolute;
  top: 20px;
  right: -3px;
}
.c-linemap__station.kanayama::after {
  display: block;
  content: "";
  width: 50px;
  height: 4px;
  background: #A67DB5;
  position: absolute;
  top: 265px;
  left: 35px;
}
.c-linemap__station.kanayama + .c-linemap__station > .c-linemap__station-link {
  position: relative;
  border: none;
}
.c-linemap__station.kanayama + .c-linemap__station > .c-linemap__station-link::before {
  content: "";
  position: absolute;
  top: -6px;
  right: -6px;
  bottom: -6px;
  left: -44px;
  border: 2px solid transparent;
  border-radius: 6px;
  pointer-events: none;
  z-index: 2;
}
.c-linemap__station.kanayama + .c-linemap__station > .c-linemap__station-link:focus {
  outline: none;
}
.c-linemap__station.kanayama + .c-linemap__station > .c-linemap__station-link:focus::before {
  border-color: #de3000;
}
.c-linemap__station.kanayama:has(:focus) + .c-linemap__station > .c-linemap__station-link::before {
  border-color: #de3000;
}
.c-linemap__station.kanayama + .c-linemap__station .c-linemap__code--m {
  position: relative;
  z-index: 2;
}
.c-linemap__station-link {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  text-decoration: none;
  color: inherit;
  border: 2px solid transparent;
  border-radius: 4px;
}
.c-linemap__station-link:focus {
  outline: none;
  border-color: #de3000;
}
.c-linemap__code, .c-linemap__code--k, .c-linemap__code--s, .c-linemap__code--t, .c-linemap__code--m, .c-linemap__code--h {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-width: 4px;
  border-style: solid;
  border-radius: 50%;
  font-weight: bold;
  margin-bottom: 6px;
  background: #fff;
  position: relative;
  /* 路線別色 */
}
.c-linemap__code::before, .c-linemap__code--k::before, .c-linemap__code--s::before, .c-linemap__code--t::before, .c-linemap__code--m::before, .c-linemap__code--h::before {
  content: "";
  position: absolute;
  top: 50%;
  right: -26px;
  transform: translateY(-50%);
  width: 24px;
  height: 4px;
  background: #F0B54A;
}
.c-linemap__code--h {
  border-color: #F0B54A;
}
.c-linemap__code--h::before {
  background: #F0B54A;
}
.c-linemap__code--m {
  border-color: #A67DB5;
}
.c-linemap__code--m::before {
  background: #A67DB5;
}
.c-linemap__code--t {
  border-color: #00A1E8;
}
.c-linemap__code--t::before {
  background: #00A1E8;
}
.c-linemap__code--s {
  border-color: #D9283A;
}
.c-linemap__code--s::before {
  background: #D9283A;
}
.c-linemap__code--k {
  border-color: #EE82B0;
}
.c-linemap__code--k::before {
  background: #EE82B0;
}
.c-linemap__code .alphabet, .c-linemap__code--h .alphabet, .c-linemap__code--m .alphabet, .c-linemap__code--t .alphabet, .c-linemap__code--s .alphabet, .c-linemap__code--k .alphabet {
  font-size: 10px;
  line-height: 1;
  margin-bottom: -1px;
}
.c-linemap__code .number, .c-linemap__code--h .number, .c-linemap__code--m .number, .c-linemap__code--t .number, .c-linemap__code--s .number, .c-linemap__code--k .number {
  font-size: 0.875rem;
  line-height: 1;
}
.c-linemap__name {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  text-align: left;
  line-height: 1.4;
  font-size: 1rem;
  color: #003f8e;
  margin-inline: auto;
  max-height: 10em;
  overflow: hidden;
  margin-inline: auto;
}
.c-linemap__stations {
  scrollbar-width: thin;
}
.c-linemap__stations::-webkit-scrollbar {
  height: 8px;
}
.c-linemap__stations::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.25);
  border-radius: 4px;
}

/*---------------------------------------------------
Operation (メガ内/PC、例外SPでも流用)
---------------------------------------------------*/
.c-operation {
  display: none; /* デフォルトは隠す。PCメガ内/例外SPで上書き */
  padding: 10px;
  /* line badges */
  /* status badges */
  /* MAP */
  /* Legend */
  /* Links */
  /* Buttons */
}
@media (min-width: 960px), print {
  .c-operation {
    padding: 10px 0;
    border-bottom: 1px solid #000;
  }
}
@media (min-width: 1280px) {
  .c-operation {
    padding: 20px 0;
  }
}
.c-operation.is-floating {
  padding: 0;
  border-bottom: 0;
}
@media (min-width: 960px), print {
  .c-operation__inner {
    display: flex;
    max-width: 1680px;
    margin: 0 auto;
    position: relative;
  }
}
@media (min-width: 960px), print {
  .c-operation__left {
    flex: 1 1 0;
    min-width: 0;
  }
}
@media (min-width: 1280px) {
  .c-operation__left {
    flex: 0 0 36%;
  }
}
@media (min-width: 960px), print {
  .c-operation__right {
    flex: 0 0 650px;
    margin-top: 33px;
  }
}
@media (min-width: 1280px) {
  .c-operation__right {
    flex: 0 0 64%;
    margin-top: 38px;
  }
}
.c-operation__title {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
  line-height: 1.4;
  gap: 10px;
}
@media (min-width: 960px), print {
  .c-operation__title {
    margin: 20px 0 10px;
    padding-left: 15px;
  }
}
@media (min-width: 1080px) {
  .c-operation__title {
    margin: 20px 0 10px;
    padding-left: 10px;
  }
}
@media (min-width: 1280px) {
  .c-operation__title {
    margin-top: 10px;
    padding-left: 0;
  }
}
.c-operation__heading {
  display: inline-block;
  font-size: 1.125rem;
  font-weight: 600;
}
@media (min-width: 960px), print {
  .c-operation__heading {
    font-size: 1.5rem;
    margin-top: -10px;
  }
}
.c-operation__updated {
  display: inline-block;
  font-size: 0.875rem;
  flex-grow: 1;
}
.c-operation__updated span {
  display: inline-block;
  margin-left: 10px;
}
@media (min-width: 960px), print {
  .c-operation__updated {
    margin-top: -10px;
  }
}
.c-operation__items {
  border-top: 1px solid #dedede;
}
@media (min-width: 960px), print {
  .c-operation__items {
    display: flex;
    flex-wrap: wrap;
  }
}
.c-operation__item {
  display: flex;
  align-items: center;
  flex: 0 0 50%;
  border-bottom: 1px solid #dedede;
}
@media (min-width: 960px), print {
  .c-operation__item {
    padding: 8px 0;
    justify-content: flex-start;
  }
  .c-operation__item--higashiyama {
    order: 1;
  }
  .c-operation__item--meijomeiko {
    order: 3;
  }
  .c-operation__item--tsurumai {
    order: 5;
    border-bottom: none;
  }
  .c-operation__item--sakuradori {
    order: 2;
  }
  .c-operation__item--kamiiida {
    order: 4;
  }
  .c-operation__item--citybus {
    order: 6;
    border-bottom: none;
  }
}
.c-operation__lines {
  flex: 0 0 50%;
  padding: 5px 0;
}
@media (min-width: 960px), print {
  .c-operation__lines {
    padding: 5px 0 0;
    flex-basis: 65px;
  }
}
@media (min-width: 1080px) {
  .c-operation__lines {
    padding: 10px 0 0;
    flex-basis: 85px;
  }
}
@media (min-width: 1280px) {
  .c-operation__lines {
    flex-basis: 95px;
  }
}
.c-operation__status {
  flex: 0 0 50%;
  padding: 10px 0;
  font-weight: 600;
}
@media (min-width: 960px), print {
  .c-operation__status {
    flex-grow: 1;
    font-size: 0.875rem;
  }
}
@media (min-width: 1080px) {
  .c-operation__status {
    font-size: 1rem;
  }
}
.c-operation__line, .c-operation__line--citybus, .c-operation__line--kamiiida, .c-operation__line--sakuradori, .c-operation__line--tsurumai, .c-operation__line--meiko, .c-operation__line--meijo, .c-operation__line--higashiyama {
  display: block;
  padding: 3px 0 3px 40px;
  background-size: 30px;
  background-repeat: no-repeat;
  background-position: center left;
}
@media (min-width: 960px), print {
  .c-operation__line, .c-operation__line--citybus, .c-operation__line--kamiiida, .c-operation__line--sakuradori, .c-operation__line--tsurumai, .c-operation__line--meiko, .c-operation__line--meijo, .c-operation__line--higashiyama {
    max-width: 60px;
    background-size: 38px;
    background-position: center top;
    text-align: center;
    padding: 33px 0 0;
    font-size: 0.875rem;
  }
}
@media (min-width: 1280px) {
  .c-operation__line, .c-operation__line--citybus, .c-operation__line--kamiiida, .c-operation__line--sakuradori, .c-operation__line--tsurumai, .c-operation__line--meiko, .c-operation__line--meijo, .c-operation__line--higashiyama {
    max-width: 70px;
    background-size: 56px;
    padding: 50px 0 0;
    font-size: 1rem;
  }
}
.c-operation__line--higashiyama {
  background-image: url(../../assets/img/subway/ico_line_hig.svg);
}
.c-operation__line--meijo {
  background-image: url(../../assets/img/subway/ico_line_meijo.svg);
}
.c-operation__line--meiko {
  background-image: url(../../assets/img/subway/ico_line_meiko.svg);
}
.c-operation__line--tsurumai {
  background-image: url(../../assets/img/subway/ico_line_tsu.svg);
}
.c-operation__line--sakuradori {
  background-image: url(../../assets/img/subway/ico_line_sak.svg);
}
.c-operation__line--kamiiida {
  background-image: url(../../assets/img/subway/ico_line_kam.svg);
}
.c-operation__line--citybus {
  background-image: url(../../assets/img/operation/icon-citybus.svg);
}
@media (min-width: 960px), print {
  .c-operation__line--citybus {
    padding: 35px 0 0;
    background-position: center 0;
    background-size: 52px;
  }
}
@media (min-width: 1280px) {
  .c-operation__line--citybus {
    padding: 50px 0 0;
    background-position: center 3px;
    background-size: 70px;
  }
}
.c-operation__badge, .c-operation__badge--suspended, .c-operation__badge--caution, .c-operation__badge--delay, .c-operation__badge--normal {
  display: flex;
  flex-direction: column;
  padding-left: 28px;
  background-size: 23px;
  background-repeat: no-repeat;
  background-position: center left;
}
@media (min-width: 960px), print {
  .c-operation__badge, .c-operation__badge--suspended, .c-operation__badge--caution, .c-operation__badge--delay, .c-operation__badge--normal {
    flex-direction: row;
    gap: 8px;
    padding: 5px 0 5px 28px;
  }
}
.c-operation__badge--normal {
  background-image: url(../../assets/img/operation/icon-ontime.svg);
}
.c-operation__badge--delay {
  background-image: url(../../assets/img/operation/icon-delay.svg);
}
.c-operation__badge--caution {
  background-image: url(../../assets/img/operation/icon-caution.svg);
}
.c-operation__badge--suspended {
  background-image: url(../../assets/img/operation/icon-suspended.svg);
}
.c-operation__map {
  padding: 10px 0 5px;
  position: relative;
}
@media (min-width: 960px), print {
  .c-operation__map {
    padding: 15px 0 0 30px;
    margin-bottom: 20px;
  }
}
@media (min-width: 1280px) {
  .c-operation__map {
    padding: 10px 0 0 40px;
    margin-bottom: 30px;
  }
}
@media (min-width: 768px) {
  .c-operation__map::after {
    display: none;
  }
}
@media (min-width: 960px), print {
  .c-operation__map::after {
    display: none;
  }
}
.c-operation__map-legend {
  width: 65px;
  padding: 6px 0;
  font-size: 0.875rem;
  border-radius: 10px;
  text-align: center;
  line-height: 1;
  border: 2px solid #FF4922;
  background: #fff;
  position: absolute;
  top: 5%;
  right: 10%;
}
@media (min-width: 768px) {
  .c-operation__map-legend {
    top: 5%;
    right: 20%;
  }
}
@media (min-width: 960px), print {
  .c-operation__map-legend {
    top: 40%;
    right: 18%;
  }
}
.c-operation__map-legend img {
  display: inline-block;
  width: 40px;
  margin-bottom: 2px;
}
.c-operation__map-image img {
  width: 100%;
  height: 50vw;
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
  object-fit: contain;
}
@media (min-width: 960px), print {
  .c-operation__map-image img {
    height: 540px;
  }
}
.c-operation__legend {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 10px;
  margin-bottom: 20px;
  border-bottom: 1px solid #dedede;
}
@media (min-width: 960px), print {
  .c-operation__legend {
    transform: scale(0.8);
    display: block;
    padding: 20px 0;
    margin-bottom: 0;
    background: #fff;
    border: none;
    position: absolute;
    top: -5px;
    right: -15px;
  }
}
@media (min-width: 1280px) {
  .c-operation__legend {
    transform: scale(1);
    top: 0;
    right: -10px;
  }
}
.c-operation__legend-item, .c-operation__legend-item--delay, .c-operation__legend-item--suspended {
  padding-left: 68px;
  line-height: 1.2;
  font-size: 1.125rem;
  font-weight: 900;
  background-repeat: no-repeat;
  background-size: 60px;
}
@media (min-width: 960px), print {
  .c-operation__legend-item, .c-operation__legend-item--delay, .c-operation__legend-item--suspended {
    margin-bottom: 10px;
  }
}
.c-operation__legend-item--suspended {
  margin-right: 10px;
  color: #FF4922;
  background-image: url(../../assets/img/operation/ico-legend-suspended.svg);
}
.c-operation__legend-item--suspended span {
  display: block;
  color: #000;
  font-size: 0.625rem;
  font-weight: normal;
}
.c-operation__legend-item--delay {
  color: #F4A63D;
  background-image: url(../../assets/img/operation/ico-legend-delay.svg);
}
.c-operation__legend-item--delay span {
  display: block;
  color: #000;
  font-size: 0.625rem;
  font-weight: normal;
}
.c-operation__link {
  margin-bottom: 15px;
}
.c-operation__link ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
@media (min-width: 960px), print {
  .c-operation__link ul {
    justify-content: center;
  }
}
.c-operation__link ul li {
  flex: 0 0 calc(50% - 5px);
}
@media (min-width: 768px) {
  .c-operation__link ul li {
    flex-basis: calc(33.3333333333% - 10px);
  }
}
@media (min-width: 960px), print {
  .c-operation__link ul li {
    flex-basis: auto;
  }
}
@media (min-width: 960px), print {
  .c-operation__link ul li .btnDetail {
    display: none;
  }
}
@media (min-width: 960px), print {
  .c-operation .btn--close {
    width: 100px;
    line-height: 36px;
    padding: 0 0 0 30px;
    font-size: 1rem;
    border: none;
    background-position: 5px center;
    background-size: 18px;
    position: absolute;
    right: 5px;
    top: 0;
  }
}
.c-operation .btn--square {
  display: flex;
  align-items: center;
  line-height: 1.2;
  height: 60px;
  padding-left: 15px;
}
@media (min-width: 960px), print {
  .c-operation .btn--square {
    display: inline-block;
    height: auto;
    border-radius: 50px;
    padding-right: 36px;
  }
  .c-operation .btn--square br {
    display: none;
  }
}
.c-operation .btnDetailWide {
  display: none;
  margin-left: auto;
}
@media (min-width: 960px), print {
  .c-operation .btnDetailWide {
    display: block;
  }
}

/*---------------------------------------------------
OPERATION | SP Overlay (Force)
---------------------------------------------------*/
@media (max-width: 959px) {
  .c-operation {
    display: none;
  } /* 既存があっても明示 */
  .c-operation.is-spOpen {
    display: block !important; /* 競合殺し */
    position: fixed;
    inset: 0;
    z-index: 1000; /* 最前面に */
    background: #fff;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
  .c-operation.is-spOpen .btn--close {
    margin-bottom: 10px;
  }
}
/* SP表示中スクロールロック */
html.no-scroll, body.no-scroll {
  overflow: hidden !important;
  height: 100%;
}

/*---------------------------------------------------

Index blocks

-----------------------------------------------------
Global navi（ポップアップメニュー）
---------------------------------------------------*/
.c-index {
  padding: 10px;
  /*----------------------------
  Item
  ----------------------------*/
  /*----------------------------
  Head
  ----------------------------*/
  /*----------------------------
  Body
  ----------------------------*/
}
@media (min-width: 960px), print {
  .c-index {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 40px;
    padding: 0;
    margin: 60px 0;
  }
}
.c-index__item {
  padding: 20px;
  margin-bottom: 15px;
  border-radius: 10px;
  border: 1px solid #dedede;
}
@media (min-width: 960px), print {
  .c-index__item {
    flex: 1 1 50%;
    max-width: calc(50% - 20px);
    margin-bottom: 0;
    padding: 30px 40px;
  }
}
.c-index__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 15px;
  border-bottom: 1px solid #dedede;
}
.c-index__head .title {
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.3;
}
.c-index__head .title span {
  display: block;
  font-size: 0.875rem;
}
.c-index__body {
  padding: 20px 0 0;
}
@media (min-width: 960px), print {
  .c-index__body {
    padding: 10px 0 0;
  }
}
.c-index__body .e-list__text li {
  margin-bottom: 10px;
}

/*---------------------------
PAGES
---------------------------*/
/*---------------------------
BASES
---------------------------*/
/*---------------------------------------------------

HOME | Page Only

-----------------------------------------------------
SP Home navi
---------------------------------------------------*/
.homeSpNavi {
  padding: 20px;
  /*----------------------------
  Operation
  ----------------------------*/
  /*----------------------------
  Navigation
  ----------------------------*/
}
@media (min-width: 960px), print {
  .homeSpNavi {
    display: none;
  }
}
.homeSpNavi__operation {
  display: flex;
  margin-bottom: 15px;
}
.homeSpNavi__operation .title {
  padding: 10px;
  color: #fff;
  background: #1E569B;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
  border: 1px solid #dedede;
  border-right: none;
}
.homeSpNavi__operation .result {
  display: flex;
  align-items: center;
  width: calc(100% - 90px);
  background: #fff url(../../assets/img/icon/arrow-nl-bottom.svg) no-repeat right 10px center;
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
  border: 1px solid #dedede;
  text-align: left;
}
.homeSpNavi__operation .result .ontime {
  display: block;
  width: 100%;
  padding: 10px 30px 10px 45px;
  font-weight: 600;
  background: url(../../assets/img/icon/ope-ontime.svg) no-repeat 10px center;
}
.homeSpNavi__operation .result .delay {
  display: block;
  width: 100%;
  padding: 10px 30px 10px 45px;
  font-weight: 600;
  background: url(../../assets/img/operation/icon-delay.svg) no-repeat 10px center;
}
.homeSpNavi__operation .result .caution {
  display: block;
  width: 100%;
  padding: 10px 30px 10px 45px;
  font-weight: 600;
  background: url(../../assets/img/operation/icon-caution.svg) no-repeat 10px center;
}
.homeSpNavi__operation .result .suspended {
  display: block;
  width: 100%;
  padding: 10px 30px 10px 45px;
  font-weight: 600;
  background: url(../../assets/img/operation/icon-suspended.svg) no-repeat 10px center;
}
.homeSpNavi__navigation {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  align-items: stretch;
}
.homeSpNavi__navigation li {
  flex: 1 1 calc(50% - 16px);
  display: flex;
  /* 地下鉄ウェブ延着証明書 */
  /* 市バス接近情報 */
  /* マップでルート検索！なごや乗換ナビ */
}
.homeSpNavi__navigation li a {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 10px 60px 10px 10px;
  color: #1E569B;
  font-weight: 600;
  line-height: 1.3;
  border: 1px solid #1E569B;
  border-radius: 10px;
  text-align: left;
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 32px auto;
  text-align: center;
}
.homeSpNavi__navigation li.delay a {
  background-image: url(../../assets/img/icon/document.svg);
  padding-right: 40px;
  background-size: 24px auto;
  height: 60px;
}
.homeSpNavi__navigation li.approach a {
  background-image: url(../../assets/img/icon/bus_network.svg);
  background-size: 40px auto;
  height: 60px;
}
.homeSpNavi__navigation li.transfer a {
  background-image: url(../../assets/img/logo/nagoya_navi.svg);
  padding-right: 132px;
  background-position: right 10px center;
  background-size: 120px auto;
  height: 60px;
}

/*---------------------------------------------------
お出かけ情報
---------------------------------------------------*/
@media (min-width: 960px), print {
  .outing {
    max-width: 1680px;
    margin: 0 auto 60px;
  }
}
.outing__list {
  /*----------------------------
  PC Layout
  ----------------------------*/
  /*----------------------------
  ボタン共通
  ----------------------------*/
  /*----------------------------
  Event
  ----------------------------*/
  /*----------------------------
  得ナビ
  ----------------------------*/
  /*----------------------------
  SNS
  ----------------------------*/
  /*----------------------------
  スポット
  ----------------------------*/
  /*----------------------------
  便利情報
  ----------------------------*/
}
@media (min-width: 960px), print {
  .outing__list {
    display: flex;
    flex-wrap: wrap;
  }
}
@media (min-width: 960px), print {
  .outing__list li:nth-child(-n+2) {
    flex: 1 1 calc(50% - 30px);
    margin-bottom: 30px;
  }
}
@media (min-width: 960px), print {
  .outing__list li:nth-child(n+3) {
    flex: 1 1 calc(33.333% - 30px);
  }
}
@media (min-width: 960px), print {
  .outing__list li:nth-child(1),
  .outing__list li:nth-child(3),
  .outing__list li:nth-child(4) {
    margin-right: 30px;
  }
}
.outing__list a {
  display: block;
  width: 100%;
  height: 120px;
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: 1px;
  border-radius: 10px;
  background-position: right center;
}
@media (min-width: 960px), print {
  .outing__list a {
    height: 200px;
  }
}
.outing__list .event a {
  padding: 40px 0 0 20px;
  color: #fff;
  background: url(../../assets/img/odekake/odekake_event.jpg) no-repeat right bottom/cover;
}
@media (min-width: 960px), print {
  .outing__list .event a {
    padding: 80px 0 0;
    font-size: 2rem;
  }
}
.outing__list .event a span {
  padding: 0 10px 3px;
  background: #cf1919;
  border-radius: 6px;
}
@media (min-width: 960px), print {
  .outing__list .event a span {
    margin-left: 40px;
  }
}
.outing__list .tokunavi a {
  padding: 40px 0 0 20px;
  color: #1E569B;
  line-height: 1.4;
  font-size: 20px;
  background: #E7F3FD url(../../assets/img/odekake/odekake_tokunavi.png) no-repeat;
  background-position: right calc(50% + 55px);
  background-size: 50%;
  box-shadow: inset 0 0 0 3px #E7F3FD;
}
@media (min-width: 960px), print {
  .outing__list .tokunavi a {
    padding: 70px 0 0 60px;
    font-size: 2rem;
  }
}
.outing__list .tokunavi a span {
  display: block;
  font-size: 0.875rem;
}
@media (min-width: 960px), print {
  .outing__list .tokunavi a span {
    font-size: 1.125rem;
  }
}
.outing__list .sns a {
  padding: 18px 0 0 20px;
  color: #fff;
  line-height: 1.2;
  background: url(../../assets/img/odekake/odekake_sns.jpg) no-repeat right center/cover;
}
@media (min-width: 960px), print {
  .outing__list .sns a {
    padding: 50px 0 0 40px;
  }
}
.outing__list .sns a span {
  display: inline-block;
  padding: 2px 10px;
  font-size: 20px;
  background: #d82374;
  border-radius: 6px;
}
@media (min-width: 960px), print {
  .outing__list .sns a span {
    font-size: 1.5rem;
  }
}
.outing__list .sns a .icon {
  display: flex;
  margin-top: 5px;
}
@media (min-width: 960px), print {
  .outing__list .sns a .icon {
    margin-top: 20px;
  }
}
.outing__list .sns a .icon img {
  width: 26px;
  margin-right: 7px;
}
@media (min-width: 960px), print {
  .outing__list .sns a .icon img {
    width: 36px;
  }
}
.outing__list .spot a {
  padding: 28px 0 0 20px;
  line-height: 1.2;
  color: #fff;
  background: url(../../assets/img/odekake/odekake_info.jpg) no-repeat right bottom/cover;
}
@media (min-width: 960px), print {
  .outing__list .spot a {
    padding: 60px 0 0 40px;
    font-size: 2rem;
    background-position-x: -120px;
  }
}
.outing__list .spot a span {
  display: inline-block;
  padding: 0 8px 3px;
  margin-bottom: 5px;
  background: #785417;
  font-size: 1.125rem;
  border-radius: 6px;
}
@media (min-width: 960px), print {
  .outing__list .spot a span {
    font-size: 1.5rem;
  }
}
.outing__list .spot a span.main {
  font-size: 1.5rem;
  letter-spacing: 4px;
}
@media (min-width: 960px), print {
  .outing__list .spot a span.main {
    font-size: 2rem;
  }
}
.outing__list .benri a {
  padding: 28px 0 0 20px;
  color: #1E569B;
  background: #d1ecf8 url(../../assets/img/odekake/odekake_benri.jpg) no-repeat bottom/cover;
}
@media (min-width: 960px), print {
  .outing__list .benri a {
    text-align: center;
    padding: 30px 0 0 0;
    font-size: 2rem;
  }
}
.outing__list .benri a span {
  display: inline-block;
  padding: 0 10px;
  margin-left: 3px;
  line-height: 1.4;
  color: #fff;
  background: #1E569B;
  border-radius: 6px;
}

/*---------------------------------------------------
バリアフリー
---------------------------------------------------*/
@media (min-width: 960px), print {
  .barrierFree__list {
    display: flex;
    gap: 20px;
    max-width: 1680px;
    margin: 0 auto 60px;
  }
}
.barrierFree__list li {
  margin-bottom: 20px;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
}
@media (min-width: 960px), print {
  .barrierFree__list li {
    flex: 1;
    transition: 0.3s ease-in-out;
  }
  .barrierFree__list li:hover {
    transform: scale(1.02);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
  }
}
.barrierFree__list li::before {
  content: "";
  width: 22px;
  height: 22px;
  background: url(../../assets/img/icon/arrow-circle.svg) no-repeat center;
  background-size: cover;
  position: absolute;
  bottom: 10px;
  right: 10px;
}
@media (min-width: 960px), print {
  .barrierFree__list li::before {
    width: 32px;
    height: 32px;
  }
}
.barrierFree__list li a {
  display: block;
  width: 100%;
  height: 140px;
  padding-left: 15%;
  border-radius: 10px;
  color: #fff;
  font-size: 1.125rem;
  font-weight: 600;
  background: #b3b3b3;
  outline-offset: -2px;
}
@media (min-width: 960px), print {
  .barrierFree__list li a {
    padding: 40px;
    height: 260px;
    font-size: 1.5rem;
    padding-left: 20px;
  }
}
.barrierFree__list li a span {
  padding-inline: 5px;
}
.barrierFree__list li.barrier a {
  display: flex;
  align-items: center;
  background: #8CC3F4 url(../../assets/img/Barrier-free/wheelchair.png) no-repeat right bottom;
  background-size: 120px;
}
@media (min-width: 960px), print {
  .barrierFree__list li.barrier a {
    align-items: flex-start;
    background-size: 215px;
  }
}
.barrierFree__list li.barrier a span {
  background: #2a79be;
  border-radius: 6px;
}
.barrierFree__list li.barrier.kids a {
  background-image: url(../../assets/img/odekake/kids_site.png);
}
.barrierFree__list li.child a {
  display: flex;
  align-items: center;
  background: #F89797 url(../../assets/img/Barrier-free/baby.png) no-repeat right bottom;
  background-size: 120px;
}
@media (min-width: 960px), print {
  .barrierFree__list li.child a {
    align-items: flex-start;
    background-size: 215px;
  }
}
.barrierFree__list li.child a span {
  background: #bd3e3e;
  border-radius: 6px;
}

/*---------------------------
UTILITIES
---------------------------*/
/*---------------------------------------------------

Z-INDEX

/*---------------------------------------------------
Header
---------------------------------------------------*/
.c-header {
  position: relative;
  z-index: 100;
} /* 積層コンテキスト */
.c-header__globalNavi {
  position: relative;
  z-index: 101;
}

.c-header__operation {
  position: relative;
  z-index: 102;
} /* バー */
.c-header__mega {
  position: absolute;
  z-index: 110;
} /* ★メガはバーより上 */
/*---------------------------------------------------
SP Navi
---------------------------------------------------*/
.globalNavi {
  z-index: 200;
} /* SPグローバルメニュー */
.quickNavi {
  z-index: 210;
} /* SPクイックナビ */
/*---------------------------------------------------
Operation Map
---------------------------------------------------*/
.c-operation__map-legend {
  z-index: 11;
}

.c-operation__legend::after {
  z-index: 10;
}

/*---------------------------------------------------

Helpers

-----------------------------------------------------
BR
---------------------------------------------------*/
@media (min-width: 960px), print {
  .brSp {
    display: none;
  }
}

.brPc {
  display: none;
}
@media (min-width: 1280px) {
  .brPc {
    display: block;
  }
}

/*---------------------------------------------------
SECTION
---------------------------------------------------*/
.u-mb-10 {
  margin-bottom: 10px;
}

.u-mb-15 {
  margin-bottom: 15px;
}

.u-mb-20 {
  margin-bottom: 20px;
}

.u-mb-30 {
  margin-bottom: 30px;
}

.u-mb-40 {
  margin-bottom: 40px;
}

.u-mb-50 {
  margin-bottom: 50px;
}

.u-mb-60 {
  margin-bottom: 60px;
}

/*---------------------------------------------------
DISPLAY
---------------------------------------------------*/
.no-sp {
  display: none;
}

@media (min-width: 960px), print {
  .no-pc {
    display: none;
  }
  .no-sp {
    display: block;
  }
}
/* ------------------------------------------
 blue line
-------------------------------------------*/
.c-categorytitle {
  display: block;
  height: auto;
}
.c-categorytitle .title {
  padding: 0 0 20px;
}
@media (min-width: 960px), print {
  .c-categorytitle .title {
    padding: 0 0 40px;
  }
}

.c-breadcrumb__list {
  display: block;
  padding: 5px 12px 8px;
  font-size: 87.5%;
  line-height: 1.5;
}
@media (min-width: 960px), print {
  .c-breadcrumb__list {
    padding: 10px 20px;
    font-size: 100%;
    line-height: inherit;
  }
}

/* ------------------------------------------
 footer nav
-------------------------------------------*/
[data-jsite-sidebar_contents] {
  padding: 40px 20px;
  background: #F3F6FA;
}
[data-jsite-sidebar_contents] h2.title {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 10px;
}
[data-jsite-sidebar_contents] .inner {
  display: table;
  width: 100%;
  max-width: 700px;
  margin: 0 auto 0 auto;
}
[data-jsite-sidebar_contents] #sideLnav,
[data-jsite-sidebar_contents] #sideAnav {
  width: 100%;
}
[data-jsite-sidebar_contents] #sideLnav {
  width: 100%;
}
[data-jsite-sidebar_contents] #sideAnav {
  margin-top: 40px;
}
@media (min-width: 960px), print {
  [data-jsite-sidebar_contents] #sideLnav,
  [data-jsite-sidebar_contents] #sideAnav {
    display: table-cell;
    padding: 10px;
  }
  [data-jsite-sidebar_contents] #sideLnav {
    width: 50%;
  }
}

.c-footer__pagetop[data-footer-lang] {
  bottom: 30px;
  right: 10px;
}

/* ------------------------------------------
detail container
-------------------------------------------*/
.l-contents #container {
  padding: 10px;
}
@media (min-width: 960px), print {
  .l-contents #container {
    padding: 0 40px;
  }
}
.l-contents #container img:not(.alpha) {
  width: auto;
  margin: 0 auto;
}
.l-contents #container .pNav-left div a {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  align-items: center;
}
.l-contents #container p {
  padding: 0 0 1rem;
}
.l-contents #container .contactPartsEx {
  padding: 0;
  margin: 0 auto;
  max-width: 960px;
}
.l-contents #container .contactPartsEx dt, .l-contents #container .contactPartsEx dd, .l-contents #container .contactPartsEx p {
  font-size: 16px !important;
}
.l-contents #container .pNav-top-3 ul {
  margin: 0 0 10px 0;
  display: flex;
  flex-wrap: wrap;
}
.l-contents #container .pList-top-3_Ex ul li p, .l-contents #container .pList-top-3_Ex ol li p, .l-contents #container .pList-top-3_Ex dl dd p {
  text-align: center;
}

.l-contents .tStyle-Base caption {
  caption-side: top;
}

.l-contents #container a,
a.link,
.c-faq a {
  /*
  	outline:none;
  */
}
.l-contents #container a:link,
a.link:link,
.c-faq a:link {
  color: #1E569B;
  text-decoration: underline;
}
.l-contents #container a:visited,
a.link:visited,
.c-faq a:visited {
  color: #1E569B;
  text-decoration: underline;
}
.l-contents #container a:hover,
a.link:hover,
.c-faq a:hover {
  color: #2945ff;
  text-decoration: none;
}
.l-contents #container a:active,
a.link:active,
.c-faq a:active {
  color: #2945ff;
  text-decoration: none;
}

[data-jsite-alink] a:has(img):focus {
  display: grid;
  outline-offset: -2px;
}

/*---------------------------------------------------

Flexbox | Two column << BUG FIX >>

---------------------------------------------------*/
@media (min-width: 960px), print {
  .l-twoColumn {
    flex-wrap: wrap;
  }
  .l-twoColumn__item {
    max-width: calc(50% - 20px);
  }
}

/*---------------------------------------------------

Contents

---------------------------------------------------*/
#contents {
  width: 100%;
  margin: 30px auto;
}
@media (min-width: 960px), print {
  #contents {
    max-width: 1260px;
  }
}
@media print {
  #contents {
    margin: 15px auto 0;
  }
}

.d-none {
  display: none;
}

.d-block {
  display: block;
}

.d-inline {
  display: inline;
}

.d-inline-block {
  display: inline-block;
}

.w-100 {
  width: 100%;
}

.px-0 {
  padding-left: 0;
  padding-right: 0;
}

.px-5 {
  padding-left: 20px;
  padding-right: 20px;
}

.mx-0 {
  margin-left: 0;
  margin-right: 0;
}

.text-center {
  text-align: center;
}

@media (min-width: 960px), print {
  .d-pc-none {
    display: none;
  }
  .d-pc-block {
    display: block;
  }
  .d-pc-inline {
    display: inline;
  }
  .d-pc-inline-block {
    display: inline-block;
  }
  .w-pc-100 {
    width: 100%;
  }
  .px-pc-0 {
    padding-left: 0;
    padding-right: 0;
  }
  .mx-pc-0 {
    margin-left: 0;
    margin-right: 0;
  }
  .text-pc-center {
    text-align: center;
  }
}
/* ------------------------------
info
------------------------------*/
.l-twoColumn__item #homeTopicsList p.topicsDateCate, .l-twoColumn__item #homeTopicsList a.topicsLink {
  display: table-row;
}

.fs-sm {
  font-size: 0.875rem;
}

@media (min-width: 960px), print {
  .section.bussubway-two-section {
    margin-bottom: 0;
  }
}
html {
  scroll-padding-top: 60px;
  scroll-padding-bottom: 80px;
}
@media (min-width: 960px), print {
  html {
    scroll-padding-top: 60px;
    scroll-padding-bottom: 0;
  }
}

/*------------------------------
  wide header
------------------------------*/
@media (min-width: 960px), print {
  .c-header.wide, .c-header.fixed, .c-header.globalNaviFixed {
    width: 100%;
  }
  .c-header.wide .c-header__globalNavi li, .c-header.fixed .c-header__globalNavi li, .c-header.globalNaviFixed .c-header__globalNavi li {
    flex: auto;
  }
  .c-header.wide .c-header__globalNavi li.header-fix, .c-header.fixed .c-header__globalNavi li.header-fix, .c-header.globalNaviFixed .c-header__globalNavi li.header-fix {
    flex-grow: 0;
    flex-shrink: 0;
    display: list-item;
    height: 60px;
    min-width: unset;
    padding: 0;
  }
  .c-header.wide .c-header__globalNavi li.header-fix a, .c-header.fixed .c-header__globalNavi li.header-fix a, .c-header.globalNaviFixed .c-header__globalNavi li.header-fix a {
    padding: 0;
    background: none;
    border-bottom: none;
  }
  .c-header.wide .c-header__globalNavi li.header-fix a :hover, .c-header.fixed .c-header__globalNavi li.header-fix a :hover, .c-header.globalNaviFixed .c-header__globalNavi li.header-fix a :hover {
    border: none;
  }
  .c-header.wide .c-header__globalNavi li.header-fix a img, .c-header.fixed .c-header__globalNavi li.header-fix a img, .c-header.globalNaviFixed .c-header__globalNavi li.header-fix a img {
    height: 100%;
    padding: 12px;
  }
  .c-header.wide .c-header__globalNavi li.header-fix a.c-header__logo, .c-header.fixed .c-header__globalNavi li.header-fix a.c-header__logo, .c-header.globalNaviFixed .c-header__globalNavi li.header-fix a.c-header__logo {
    width: auto;
    padding: 0 20px;
    margin: 0;
  }
}

/*------------------------------
  sticky header
------------------------------*/
@media screen {
  .c-header {
    position: sticky;
    top: 0;
  }
  .c-header.globalNaviFixed .c-header__top, .c-header.globalNaviFixed .c-header__operation {
    display: none;
  }
}
@media screen and (min-width: 960px) {
  .c-header .c-header__top,
  .c-header .c-header__operation {
    transition: height 0.3s;
    overflow: hidden;
  }
  .c-header .c-header__globalNavi {
    position: sticky;
    top: 0;
    z-index: 103;
    background-color: #fff;
    border-bottom: 1px solid #dedede;
  }
  .c-header:not(.fixed) {
    position: relative;
  }
  .c-header.fixed .c-header__top, .c-header.fixed .c-header__operation, .c-header.globalNaviFixed .c-header__top, .c-header.globalNaviFixed .c-header__operation {
    height: 0;
    transition: none;
    border: none;
    transform: translateY(-1000vh);
  }
  .c-header.fixed .c-header__mega, .c-header.globalNaviFixed .c-header__mega {
    top: var(--mega-top, 60px) !important;
  }
}
.c-header .c-header__globalNavi ul li a {
  border-bottom: 3px solid #fff;
}
.c-header .c-header__globalNavi ul li a:hover {
  border-bottom: 3px solid #1E569B;
}
.c-header .mega__col .category .titleLink:hover {
  opacity: inherit;
  text-decoration: underline;
}
.c-header .c-header__subNavi .e-list__text {
  margin-left: 0px;
}
.c-header .c-header__subNavi .e-list__text:first-child a {
  background: none;
}
.c-header .c-header__subNavi .e-list__text :not(:first-child) a {
  background: url(../../assets/img/icon/line-tate.svg) no-repeat left 2px;
}
.c-header .c-header__subNavi .e-list__text a {
  font-size: 0.8rem;
}
.c-header .c-header__subNavi .e-list__text li {
  margin-right: 12px;
}
@media (min-width: 1280px) {
  .c-header .c-header__subNavi .e-list__text a {
    font-size: 1rem;
  }
}

/*------------------------------
language
------------------------------*/
.msta_menu[data-show=true] {
  display: grid;
  position: absolute;
  right: 0;
  z-index: 120;
  margin-top: 7px;
  background-color: #fff;
  width: 14em;
  height: calc(100dvh - 60px - 80px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  overflow-y: auto;
  overflow-x: hidden;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}
.msta_menu[data-show=true] li {
  display: inline;
  cursor: pointer;
}
.msta_menu[data-show=true] li a {
  background: #fff url(../../jassets/img/common/ico_pdf.jpg) no-repeat right 8px center;
  background-size: 25px;
  text-decoration: underline;
  border-top: none;
}
.msta_menu[data-show=true] li button, .msta_menu[data-show=true] li a {
  height: 100%;
  outline-offset: -2px;
  min-height: unset;
  border-radius: 0;
}
@media (min-width: 960px), print {
  .msta_menu[data-show=true] {
    right: unset;
    height: 80vh;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
  }
  .msta_menu[data-show=true]:last-child button {
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
  }
}

.msta_menu[data-show=false] {
  display: none !important;
}

html:not(:lang(ja)) [data-lang-ja] {
  display: none !important;
}

html:lang(ja) [data-lang-not-ja] {
  display: none !important;
}

/*------------------------------
// max-width: 1280 -> 1680
------------------------------*/
.c-linemap__stations.is-split {
  width: 1180px;
}

[aria-labelledby=tab-m] {
  overflow-x: scroll;
  scrollbar-width: thin;
}

@media (min-width: 960px), print {
  .c-header__operation,
  main > section,
  main > #contents,
  .l-contents > section,
  .l-contents > .section,
  .mega__panel,
  main.top > section.section {
    padding-left: 20px;
    padding-right: 20px;
  }
  .l-twoColumn {
    margin-left: 20px !important;
    margin-right: 20px !important;
  }
  .c-linemap__stations.is-split {
    width: 1280px;
  }
  .c-linemap__break::after {
    left: 1160px;
  }
}
.c-linemap__name {
  overflow: visible;
}

[data-jsite-emergency] .c-information__list {
  padding: 20px;
}

.c-header__language .shortBtn {
  display: inline-block;
}

.section_border {
  position: relative;
  padding-bottom: 8px;
}
.section_border::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: calc(100% + 40px);
  height: 3px;
  background: linear-gradient(to right, #FFF 0%, #FFF 10px, #1E569B 10px, #1E569B 90%, #FFF 100%);
  transform: translateX(-50%);
}
@media (min-width: 1680px) {
  .section_border::after {
    width: calc(100vw - 20px);
    background: linear-gradient(to right, #FFF 0%, #1E569B min(10%, (100vw - 1660px) / 2), #1E569B 90%, #FFF 100%);
  }
}
@media print {
  .section_border::after {
    height: 0;
    border-bottom: 3px solid #1e569b;
  }
}
.section_border .btn {
  padding-top: 5px;
  padding-bottom: 5px;
  min-height: unset;
}

.t-table {
  display: table;
}

.t-cell {
  display: table-cell;
}

input[type=text][name=keyword] {
  line-height: 43px;
}

.c-header__globalNavi ul li a::before {
  content: "";
  display: inline-block;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  margin-right: 5px;
}
.c-header__globalNavi ul li a[data-mega=bus]::before {
  background-image: url(../../assets/img/icon/ico-bus.svg);
  width: 28px;
  height: 28px;
}
.c-header__globalNavi ul li a[data-mega=subway]::before {
  background-image: url(../../assets/img/icon/ico-subway.svg);
  width: 30px;
  height: 30px;
}
.c-header__globalNavi ul li a[data-mega=ticket]::before {
  background-image: url(../../assets/img/icon/ico-ticket.svg);
  width: 40px;
  height: 40px;
  background-position: center 4px;
}
.c-header__globalNavi ul li a[data-mega=outing]::before {
  background-image: url(../../assets/img/icon/ico-castle.svg);
  width: 30px;
  height: 30px;
}
.c-header__globalNavi ul li a[data-mega=about]::before {
  background-image: url(../../assets/img/operation/icon-citybus.svg);
  width: 35px;
  height: 35px;
  background-position: center 6px;
}

.c-header__globalNavi ul li a.is-active {
  background-image: url(../../assets/img/icon/arrow-nl-bottom-active.svg);
}

.c-header__globalNavi ul li a.is-active {
  background-color: #1E569B !important;
  color: #fff !important;
}

.c-header__globalNavi ul li a.is-active[data-mega=bus]::before {
  background-image: url(../../assets/img/icon/ico-bus-active.svg);
}

.c-header__globalNavi ul li a.is-active[data-mega=subway]::before {
  background-image: url(../../assets/img/icon/ico-subway-active.svg);
}

.c-header__globalNavi ul li a.is-active[data-mega=ticket]::before {
  background-image: url(../../assets/img/icon/ico-ticket-active.svg);
}

.c-header__globalNavi ul li a.is-active[data-mega=outing]::before {
  background-image: url(../../assets/img/icon/ico-castle-active.svg);
}

.c-header__globalNavi ul li a.is-active[data-mega=about]::before {
  background-image: url(../../assets/img/operation/icon-citybus-active.svg);
}

.spnav_help {
  margin-top: 20px;
}

/* ------------------------------------------
  印刷用
-------------------------------------------*/
@media print {
  header .c-header__operation,
  header .c-header__mega,
  header .c-header__action,
  nav,
  button:not([data-jsite-spot]),
  .btn,
  footer,
  .navIconContainer,
  #categoryNav,
  [data-jsite-sidebar_contents],
  .c-help,
  [data-media=screen] {
    display: none !important;
  }
  body {
    width: 960px;
  }
}
.slider__viewport {
  touch-action: pan-y;
}

.grecaptcha-badge {
  bottom: 180px !important;
  z-index: 1;
}