﻿/* CSS Document */
@charset "UTF-8";
/*-------------------------------*/
.color01 {
  color: #ffffff;
  transition: color 0.2s ease-out;
}
a.color01:hover {
  color: rgba(255, 255, 255, 0.6);
}
/*-------------------------------*/
.layTyp01 {
  width: 1100px;
  margin: 0 auto;
}
@media screen and (max-width:991px) {
  .layTyp01 {
    width: 100%;
    padding: 0 20px;
  }
}
.layCenter {
  text-align: center;
}
.borderRadiusTyp1, .borderRadiusTyp1 img {
  border-radius: 6px;
}
/*-------------------------------*/
/*大カテゴリトップ　静的メインビジュアル*/
.wrapHeadline {
  position: relative;
  margin: 0 0 60px;
  height: 250px;
  background: no-repeat 50% 50% / cover;
}
body#train.index .wrapHeadline {
  background-image: url("/img/train_headline_01.jpg");
}
body#search.index .wrapHeadline {
  background-image: url("/img/search_headline_01.jpg");
}
body#railroad.index .wrapHeadline {
  background-image: url("/img/recommend_hiking_railroad_headline_01.jpg");
}
body#pilgrimage.index .wrapHeadline {
  background-image: url("/img/recommend_hiking_pilgrimage_headline_01.jpg");
}
body#library.index .wrapHeadline {
  background-image: url("/img/library_headline_01.jpg");
}
body#train.index .wrapHeadline:after, body#search.index .wrapHeadline:after, body#library.index .wrapHeadline:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: rgba(0, 0, 0, 0.2);
}
.wrapHeadline .layTyp01 {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  position: relative;
  height: 100%;
}
.wrapHeadline h1 {
  width: 1100px;
  font-size: 1.9rem;
  color: #ffffff;
  font-weight: 500;
}
.wrapHeadline + .wrapSpecialNews {
  margin-top: -60px;
}
@media screen and (max-width:991px) {
  .wrapHeadline {
    margin-bottom: 50px;
    height: auto;
  }
  .wrapHeadline .layTyp01 {
    padding: 0;
  }
  .wrapHeadline h1 {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    position: relative;
    width: 100%;
    height: 200px;
    padding: 0 20px;
    background: 50% 50% / cover;
    text-shadow: 1px 1px 10px rgba(0, 0, 0, 0.05), -1px 1px 10px rgba(0, 0, 0, 0.05), 1px -1px 10px rgba(0, 0, 0, 0.05), -1px -1px 10px rgba(0, 0, 0, 0.05);
  }
  body#train.index .wrapHeadline {
    background: none;
  }
  body#train.index .wrapHeadline h1 {
    background-image: url("/img/train_headline_02.jpg");
  }
  body#search.index .wrapHeadline {
    background-image: url("/img/search_headline_02.jpg");
  }
  body#railroad.index .wrapHeadline {
    background-image: url("/img/recommend_hiking_railroad_headline_02.jpg");
  }
  body#pilgrimage.index .wrapHeadline {
    background-image: url("/img/recommend_hiking_pilgrimage_headline_02.jpg");
  }
  body#library.index .wrapHeadline {
    background-image: url("/img/library_headline_02.jpg");
  }
}
/*中カテゴリトップ　静的メインビジュアル*/
.layWidTyp01 .wrapHeadline {
  margin: 50px 0 70px;
  height: 315px;
  background: no-repeat 50% 50% / cover;
}
body#plan.densha-tabi .wrapHeadline {
  background-image: url("/img/plan_densha-tabi_headline_01.jpg")
}
body#plan.event .wrapHeadline {
  background-image: url("/img/plan_event_headline_01.jpg")
}
body#plan.campaign .wrapHeadline {
  background-image: url("/img/plan_campaign_headline_01.jpg")
}
body#plan.gourmet .wrapHeadline {
  background-image: url("/img/plan_gourmet_headline_01.jpg")
}
body#plan.group .wrapHeadline {
  background-image: url("/img/plan_group_headline_01.jpg")
}
.layWidTyp01 .wrapHeadline h1 {
  padding: 0 50px;
  text-shadow: 1px 1px 10px rgba(0, 0, 0, 0.05), -1px 1px 10px rgba(0, 0, 0, 0.05), 1px -1px 10px rgba(0, 0, 0, 0.05), -1px -1px 10px rgba(0, 0, 0, 0.05);
}
@media screen and (max-width:991px) {
  .layWidTyp01 .wrapHeadline {
    margin: 35px 0;
    height: auto;
    padding: 50px 20px;
  }
  .layWidTyp01.spLay100pct .wrapHeadline {
    margin-top: 0;
  }
  body#plan .layWidTyp01 .wrapHeadline {
    margin-bottom: 0;
  }
  .layWidTyp01 .wrapHeadline h1 {
    height: auto;
    padding: 0;
  }
  .layWidTyp01 .wrapHeadline h1 .layTxt {
    word-break: keep-all;
  }
}
/*-------------------------------*/
/*H1の標準*/
.headTyp01 {
  margin: 50px 0 70px;
  font-size: 2rem;
  color: #676767;
}
.headTyp01sub01 {
  margin: 50px 0;
  font-size: 1.9rem;
  color: #676767;
}
.wrapSnsBtn + .layWidTyp01 .headTyp01:first-of-type {
  /*直上にSNSシェアボタンがあるとき*/
  margin-top: 15px;
}
.headTyp01 .shoulder {
  display: block;
  font-size: 50%;
  color: #ABABAB;
  font-weight: 500;
}
.headTyp01 img {
  display: block;
}
@media screen and (max-width:991px) {
  /*H1の標準*/
  .headTyp01, .headTyp01sub01 {
    margin: 35px 0;
    font-size: 1.8rem;
  }
  .layWidTyp01.spLay100pct .headTyp01 {
    margin-top: 0;
  }
  .wrapSnsBtn + .layWidTyp01 .headTyp01:first-of-type {
    /*直上にSNSシェアボタンがあるとき*/
    margin-top: 5px;
  }
  .headTyp01 .shoulder {
    font-size: 60%;
  }
  body#plan:not(.detail) .headTyp01 {
    margin-bottom: 0;
  }
  .headTyp01 .layTxt {
    white-space: nowrap;
  }
}
/*H2の標準*/
.headTyp02 {
  display: flex;
  align-items: center;
  position: relative;
  margin: 80px 0 50px;
  padding: 0 0 15px;
  font-size: 1.6rem;
  color: #676767;
  border-bottom: 1px solid #d4d4d4;
}
.headTyp02:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 130px;
  height: 2px;
  background: #00a496; /* Old browsers */
  background: -moz-linear-gradient(left, #00a496 0%, #00a496 35%, #e9194b 35%, #e9194b 65%, #e9194b 65%, #254f8e 65%, #254f8e 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(left, #00a496 0%, #00a496 35%, #e9194b 35%, #e9194b 65%, #e9194b 65%, #254f8e 65%, #254f8e 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, #00a496 0%, #00a496 35%, #e9194b 35%, #e9194b 65%, #e9194b 65%, #254f8e 65%, #254f8e 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
h1 + .headTyp02 {
  margin-top: 70px;
}
body#manaca .headTyp02:after {
  background: #ffe100;
}
@media screen and (max-width:991px) {
  .headTyp02 {
    margin: 40px 0 30px;
    font-size: 1.6rem;
  }
  h1 + .headTyp02 {
    margin-top: 40px;
  }
}
@media screen and (max-width:374px) {
  /*「その他エリア　商業施設」が改行しないサイズ*/
  .headTyp02 {
    font-size: 1.5rem;
  }
}
/*H2の標準の色違い（manaca向け）*/
.headTyp02.clMnc:after {
  background: #ffe100;
}
/*H2　小さめ　緑ライン*/
.headTyp02Sub01 {
  margin: 60px 0 25px;
  padding: 0 0 15px;
  font-size: 1.25rem;
  font-weight: normal;
  border-bottom: 2px solid #00a496;
}
/*H2　グレー*/
.headTyp02Sub02 {
  margin: 60px 0 25px;
  font-size: 1.6rem;
  font-weight: 500;
  color: #676767;
}
.layWidTyp02Outer .layWidTyp02 .headTyp02Sub02:first-child, .layWidTyp03 .headTyp02Sub02:first-child {
  margin-top: 0;
}
.layWidTyp03 .headTyp02Sub02:last-child {
  margin-bottom: 0;
}
.layWidTyp04 + .layWidTyp01 .headTyp02Sub02 {
  margin-top: 40px;
}
/*H2　グレー　中央ぞろえ*/
/*多言語使用*/
.headTyp02Sub03 {
  margin: 70px 0 50px;
  font-size: 1.9rem;
  color: #676767;
  text-align: center;
}
.layWidTyp02 > .headTyp02Sub03:first-child {
  margin-top: 0;
}
@media screen and (max-width:991px) {
  .headTyp02Sub03 {
    margin: 40px 0 30px;
  }
}
/*H2　中央ぞろえ　白*/
.headTyp02Sub04 {
  font-size: 1.6rem;
  font-weight: 500;
  color: #ffffff;
  text-align: center;
}
/*H2　中央ぞろえ*/
.headTyp02Sub05 {
  font-size: 1.6rem;
  font-weight: 500;
  color: #676767;
  text-align: center;
}
/*H2　下線*/
.headTyp02Sub06 {
  margin: 60px 0 30px;
  padding: 0 0 10px;
  font-size: 1.6rem;
  font-weight: 500;
  color: #676767;
  border-bottom: 1px solid #d4d4d4;
}
.headTyp02Sub06.off {
  color: rgba(103, 103, 103, 0.6);
  border-bottom: 1px dotted #d4d4d4;
}
@media screen and (max-width:991px) {
  .headTyp02Sub01 {
    margin: 40px 0 20px;
    padding-bottom: 10px;
  }
  .headTyp02Sub02 {
    margin: 40px 0 20px;
  }
  .headTyp02Sub02, .headTyp02Sub04, .headTyp02Sub05 {
    font-size: 1.3rem;
  }
  .headTyp02Sub06 {
    margin: 40px 0 20px;
  }
}
/*H3の標準*/
.headTyp03 {
  position: relative;
  margin: 60px 0 40px;
  padding: 0 0 15px 20px;
  font-size: 1.4rem;
  color: #555555;
  border-bottom: 1px solid #d4d4d4;
}
.headTyp03:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 15px;
  left: 0;
  height: calc(100% - 15px);
  width: 5px;
  background: #004ea2;
}
@media screen and (max-width:991px) {
  .headTyp03 {
    margin: 40px 0 30px;
    margin: 2.5rem 0 1rem;
    margin: 2.5rem 0 1.5rem;
    padding: 0 0 10px 15px;
    font-size: 1.3rem;
  }
  .headTyp03:after {
    bottom: 10px;
    height: calc(100% - 10px);
  }
}
/*H4の標準*/
.headTyp04 {
  margin: 50px 0 25px;
  font-size: 1.4rem;
  color: #00a496;
  font-weight: 500;
}
/*H5の標準*/
.headTyp05 {
  margin: 50px 0 25px;
  padding: 0 0 10px;
  font-size: 1.15rem;
  color: #00a496;
  font-weight: 700;
  border-bottom: 1px solid #d4d4d4;
}
/*本文*/
#wrapContents {
  line-height: 1.7;
}
@media screen and (max-width:991px) {
  #wrapContents {
    line-height: 1.5;
  }
  #wrapContents h1, #wrapContents h2, #wrapContents h3 {
    line-height: 1.3;
  }
  #wrapContents h4 {
    line-height: 1.4;
  }
}
#wrapContents p {
  font-size: 1rem;
}
#wrapContents p + p {
  /*margin-top: 20px;*/
}
#wrapContents .sectionTyp01 p + p {
  margin-top: 15px;
}
#wrapContents p.typ02 {
  font-size: 1.4rem;
}
/*～～現在*/
#wrapContents p.dateTyp01 {
  margin-top: 20px;
  font-size: 0.9rem;
}
#wrapContents p.dateTyp02 {
  text-align: right;
  font-size: 0.9rem;
}
#wrapContents p.dateTyp03 {
  margin: 40px 0;
  text-align: right;
  font-size: 0.9rem;
}
#wrapContents p.dateTyp04 {
  margin: 0 0 20px 0;
  font-size: 0.9rem;
}
@media screen and (max-width:991px) {
  #wrapContents p.dateTyp03 {
    margin: 20px 0;
  }
}
@media screen and (max-width:991px) {}
/*社名・人名表示*/
#wrapContents p.nameTyp01 {
  margin: 40px 0;
  text-align: right;
  font-size: 0.9rem;
}
@media screen and (max-width:991px) {
  #wrapContents p.nameTyp01 {
    margin: 20px 0;
  }
}
/*インデント風*/
.indentTyp1 {
  margin-left: 1rem;
}
.indentTyp1 p {
  text-indent: -1rem;
}
.indentTyp2 {
  margin-left: 1.5rem;
}
.indentTyp2 p {
  text-indent: -1.5rem;
}
.indentTyp3 {
  margin-left: 2rem;
}
.indentTyp3 p {
  text-indent: -2rem;
}
.indentTyp4 {
  margin-left: 2.5rem;
}
.indentTyp4 p {
  text-indent: -2.5rem;
}
/*汎用margin*/
.typMt0 {
  margin-top: 0 !important;
}
.typMt10 {
  margin-top: 10px !important;
}
.typMt15 {
  margin-top: 15px !important;
}
.typMt20 {
  margin-top: 20px !important;
}
.typMt30 {
  margin-top: 30px !important;
}
.typMt40 {
  margin-top: 40px !important;
}
.typMt50 {
  margin-top: 50px !important;
}
.typMt60 {
  margin-top: 60px !important;
}
.typMt70 {
  margin-top: 70px !important;
}
.typMt80 {
  margin-top: 80px !important;
}
.typMb0 {
  margin-bottom: 0 !important;
}
.typMb10 {
  margin-bottom: 10px !important;
}
.typMb20 {
  margin-bottom: 20px !important;
}
.typMb40 {
  margin-bottom: 40px !important;
}
.typMb60 {
  margin-bottom: 60px !important;
}
.typMb80 {
  margin-bottom: 80px !important;
}
.typMb130 {
  margin-bottom: 130px !important;
}
.typMtMb0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.typMtMb20 {
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}
.typMtMb40 {
  margin-top: 40px !important;
  margin-bottom: 40px !important;
}
.typMtMb50 {
  margin-top: 50px !important;
  margin-bottom: 50px !important;
}
.typMtMb80 {
  margin-top: 80px !important;
  margin-bottom: 80px !important;
}
.typPt40 {
  padding-top: 40px !important;
}
.layInnerTyp1 {
  margin: 0 15px !important;
}
.layInnerTyp2 {
  margin: 10px 1.5rem !important;
}
@media screen and (max-width:991px) {
  .typMt40 {
    margin-top: 20px !important;
  }
  .typMt50 {
    margin-top: 30px !important;
  }
  .typMt60 {
    margin-top: 40px !important;
  }
  .typMt70 {
    margin-top: 50px !important;
  }
  .typMt80 {
    margin-top: 60px !important;
  }
  .typMb40 {
    margin-bottom: 20px !important;
  }
  .typMb60 {
    margin-bottom: 40px !important;
  }
  .typMb80 {
    margin-bottom: 60px !important;
  }
  .typMb130 {
    margin-bottom: 60px !important;
  }
  .typPt40 {
    padding-top: 20px !important;
  }
  .typMtMb80 {
    margin-top: 60px !important;
    margin-bottom: 60px !important;
  }
}
/*画像*/
.width100pct {
  width: 100%;
  height: auto;
}
.width70pct {
  width: 70%;
  height: auto;
}
/*スマホで画像幅100%表示*/
@media screen and (max-width:991px) {
  .spWidth100pct {
    width: 100%;
    max-width: 100%;
    height: auto;
  }
}
/*-------------------------------*/
/*汎用注意書き block_element.css内の.blockDecoTyp1と類似*/
.blockTyp01 {
  margin: 40px 0 0;
  padding: 35px;
  background: #fffafa;
  border-radius: 6px;
  border: 3px solid #fbc6c6;
}
.blockTyp01 h2 {
  margin: 0 0 20px;
  font-size: 1.3rem;
  font-weight: 500;
  color: #da1818;
  text-align: center;
}
@media screen and (max-width:991px) {
  .blockTyp01 {
    margin: 30px 0 0;
    padding: 20px;
  }
  .blockTyp01 h2 {
    margin: 0 0 10px;
    font-size: 1.25rem;
    text-align: left;
  }
}
/*汎用注意書き block_element.css内の.blockDecoTyp2と類似*/
.blockTyp02 {
  margin: 30px 0;
  padding: 35px;
  background: #e5eff2;
  border-radius: 6px;
  border: 3px solid #cfdee3;
}
@media screen and (max-width:991px) {
  .blockTyp02 {
    margin: 30px 0 0;
    padding: 20px;
  }
}
/*汎用注意書き block_element.css内の.blockDecoTyp3と類似*/
.blockTyp03 {
  margin: 30px 0;
  padding: 35px;
  background: #f6f6f6;
  border-radius: 6px;
  border: 3px solid #e5e5e5;
}
@media screen and (max-width:991px) {
  .blockTyp03 {
    margin: 30px 0 0;
    padding: 20px;
  }
}
/*-------------------------------*/
/*汎用リスト*/
.wrapListIdx {
  margin: 40px 0 0;
}
.listIdxItem + .listIdxItem {
  margin-top: 30px;
}
.wrapListIdx .linkIconTyp01 .layTxt {
  margin-left: 1em;
}
@media screen and (max-width:991px) {
  .wrapListIdx {
    margin: 30px 0 0;
  }
  .listIdxItem + .listIdxItem {
    margin-top: 20px;
  }
  /*ラッピングトレイン詳細 最適化*/
  .dateTyp04 + .wrapListIdx {
    margin-top: 10px;
  }
  .layIntroTyp01 .layTxt .wrapListIdx:last-child {
    margin-bottom: 10px;
  }
  .wrapListIdx .linkIconTyp01 .layTxt {
    display: block;
    margin-left: 0;
  }
}
/*-------------------------------*/
/*リストの標準*/
.ulTyp01 {
  margin: 30px 0 30px 20px;
}
.blockTyp01 > .ulTyp01, .blockTyp02 > .ulTyp01, .blockTyp03 > .ulTyp01 {
  margin: 0 0 0 20px;
}
.ulTyp01 > li {
  list-style: outside square;
}
.ulTyp01 > li + li {
  /*margin-top: 20px; 不可*/
  margin-top: 0.5rem;
}
.ulTyp01 li .ulTyp01 {
  margin: 15px 0 15px 20px;
}
.ulTyp01 li .ulTyp01 li {
  list-style: outside circle;
}
@media screen and (max-width:991px) {
  .ulTyp01 {
    margin: 25px 0 0 20px;
  }
}
/*リスト：小文字のアルファベット*/
.ulTyp02 {
  margin: 30px 0 0 30px;
}
.ulTyp02 > li {
  padding: 0 0 0 10px;
  list-style: outside lower-alpha;
}
.ulTyp02 > li + li {
  margin-top: 20px;
}
/*リストを使用したリンクの標準*/
.ulTypLink {
  margin: 30px 0;
}
.ulTypLink li {
  position: relative;
  padding-left: 15px;
}
.ulTypLink li + li {
  margin-top: 0.5rem;
}
.ulTypLink a {
  /*position: relative; 不可*/
  /*padding-left: 15px; 不可*/
}
.ulTypLink a:after {
  content: "";
  display: block;
  position: absolute;
  top: 0.6rem;
  left: 0;
  width: 4px;
  height: 4px;
  border-top: 2px solid #004ea2;
  border-right: 2px solid #004ea2;
  transform: rotate(45deg);
}
@media screen and (max-width:991px) {
  .ulTypLink {
    margin: 25px 0 0 0;
  }
}
/*リストを使用したページ内リンクの標準*/
/*.blockTemplateArea .internal-list02.typ2と同じレイアウト*/
.ulTypLinkAnchor {
  display: flex;
  justify-content: center;
  margin: 60px 0;
  padding: 0;
  background: none;
}
.ulTypLinkAnchor + .ulTypLinkAnchor {
  margin-top: -60px;
}
.ulTypLinkAnchor:first-child {
  margin-top: -15px;
}
.ulTypLinkAnchor li {
  margin: 15px 5px;
  padding: 0 10px;
  text-align: center;
  border: none;
}
.ulTypLinkAnchor li.first-child {
  border: none;
}
.ulTypLinkAnchor li a {
  position: relative;
  padding: 0 10px 10px;
}
.ulTypLinkAnchor li a:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -4px;
  width: 4px;
  height: 4px;
  border-bottom: 2px solid #004ea2;
  border-right: 2px solid #004ea2;
  transform: rotate(45deg);
}
@media screen and (max-width:991px) {
  .ulTypLinkAnchor {
    padding: 0;
    margin: 45px 0;
    border-top: 1px solid #dddddd;
    border-bottom: 1px solid #dddddd;
  }
  .ulTypLinkAnchor + .ulTypLinkAnchor {
    margin-top: -45px;
    border-top: none;
  }
  .ulTypLinkAnchor {
    display: block;
  }
  .ulTypLinkAnchor li {
    margin: 0;
    padding: 5px;
    text-align: left;
    border-right: none;
  }
  .ulTypLinkAnchor li.first-child {
    border-left: none;
  }
  .ulTypLinkAnchor li + li {
    border-top: 1px solid #dddddd;
  }
  .ulTypLinkAnchor li a {
    display: block;
    padding: 10px 10px 10px 25px;
  }
  .ulTypLinkAnchor li a:after {
    top: 50%;
    bottom: inherit;
    left: 10px;
    margin-top: -4px;
  }
  a.layLinkAnchor {
    display: block;
    margin-top: -40px;
    padding-top: 40px;
  }
  a.layLinkAnchorTyp2 {
    display: block;
    margin: -40px 0 -20px;
    padding-top: 40px;
  }
  a.layLinkAnchorTyp3 {
    display: block;
    margin-top: 0;
    padding-top: 0;
  }
}
/*リストを使用したページ内リンクタブ型の標準*/
/*.blockTemplateArea .internal-list02.typ5と同じレイアウト*/
.ulTypLinkAnchorTab {
  display: flex;
  justify-content: center;
  margin: 80px 0 60px;
  border-bottom: 4px solid #f0f0f0;
}
.ulTypLinkAnchorTab li {
  display: flex;
  justify-content: center;
  margin: 0;
  padding: 0;
  border: none;
}
.ulTypLinkAnchorTab li {
  border-left: 1px solid #f0f0f0;
}
.ulTypLinkAnchorTab li:last-child {
  border-right: 1px solid #f0f0f0;
}
.ulTypLinkAnchorTab li a, .ulTypLinkAnchorTab li.act {
  position: relative;
  display: block;
  padding: 20px 30px;
  text-align: center;
  text-decoration: none;
}
.ulTypLinkAnchorTab li a:hover {
  background: rgba(240, 240, 240, 0.4);
}
.ulTypLinkAnchorTab li a:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 15px;
  left: 50%;
  margin-left: -4px;
  width: 4px;
  height: 4px;
  border-bottom: 2px solid #004ea2;
  border-right: 2px solid #004ea2;
  transform: rotate(45deg);
  transition: bottom 0.2s ease-out, top 0.2s ease-out;
}
.ulTypLinkAnchorTab li a:hover:after {
  bottom: 10px;
}
.ulTypLinkAnchorTab li.LinkAnchorUp a:after {
  top: 15px;
  bottom: inherit;
  transform: rotate(-135deg);
}
.ulTypLinkAnchorTab li.LinkAnchorUp a:hover:after {
  top: 10px;
}
.ulTypLinkAnchorTab li.act {
  color: #555555;
  background: #f0f0f0;
}
.ulTypLinkAnchorTab li.act > a {
  padding: 0;
  pointer-events: none;
}
.ulTypLinkAnchorTab li.act > a:after {
  display: none;
}
@media screen and (max-width:991px) {
  .ulTypLinkAnchorTab {
    margin: 40px -20px 30px;
    padding: 0 20px;
  }
  .ulTypLinkAnchorTab li {
    font-size: 0.9rem;
  }
  .ulTypLinkAnchorTab li a, .ulTypLinkAnchorTab li.act {
    padding: 20px 5px;
  }
  .ulTypLinkAnchorTab.typClm3 li {
    width: 33.33333333%;
  }
  .ulTypLinkAnchorTab.typClm4 li {
    width: 25%;
  }
  /*5列の場合は縦積み*/
  .ulTypLinkAnchorTab.typClm5:not(.pcOnly) {
    display: block;
    padding: 0;
    border-bottom: 1px solid #dddddd;
  }
  /*電車沿線ハイキング冒頭*/
  body#railroad .ulTypLinkAnchorTab.typClm5 {
    margin: 40px -20px 20px;
  }
  .ulTypLinkAnchorTab.typClm5 li {
    width: 100%;
    padding: 5px;
    font-size: 1rem;
    border-left: none;
    border-top: 1px solid #dddddd;
  }
  .ulTypLinkAnchorTab.typClm5 li.act {
    padding: 5px;
    background: none;
  }
  .ulTypLinkAnchorTab.typClm5 li a, .ulTypLinkAnchorTab.typClm5 li.act a {
    width: 100%;
    padding: 10px 10px 10px 25px;
    text-align: left;
    text-decoration: underline;
  }
  .ulTypLinkAnchorTab.typClm5 li a span {
    text-decoration: underline;
  }
  .ulTypLinkAnchorTab.typClm5 li.act a {
    pointer-events: all;
  }
  .ulTypLinkAnchorTab.typClm5 li > a:after, .ulTypLinkAnchorTab.typClm5 li.act > a:after {
    display: block;
    top: 50%;
    left: 10px;
    margin-top: -4px;
  }
  .ulTypLinkAnchorTab.typClm5 li .layTxt {
    display: inline-block;
  }
}
@media screen and (max-width:520px) {
  .ulTypLinkAnchorTab li .layTxt {
    display: block;
    text-align: center;
  }
}
@media screen and (max-width:374px) {
  .ulTypLinkAnchorTab li {
    font-size: 4vw;
  }
  /*4列の場合は縦積み*/
  .ulTypLinkAnchorTab.typClm4 {
    display: block;
    padding: 0;
    border-bottom: 1px solid #dddddd;
  }
  .ulTypLinkAnchorTab.typClm4 li {
    width: 100%;
    padding: 5px;
    font-size: 1rem;
    border-left: none;
    border-top: 1px solid #dddddd;
  }
  .ulTypLinkAnchorTab.typClm4 li.act {
    padding: 10px 10px 10px 25px;
    text-align: left;
  }
  .ulTypLinkAnchorTab.typClm4 li a, .ulTypLinkAnchorTab.typClm4 li.act a {
    width: 100%;
    padding: 10px 10px 10px 25px;
    text-align: left;
    text-decoration: underline;
  }
  .ulTypLinkAnchorTab.typClm4 li a span {
    text-decoration: underline;
  }
  .ulTypLinkAnchorTab.typClm4 li.act a {
    pointer-events: all;
  }
  .ulTypLinkAnchorTab.typClm4 li > a:after, .ulTypLinkAnchorTab.typClm4 li.act > a:after {
    display: block;
    top: 50%;
    left: 10px;
    margin-top: -4px;
  }
  .ulTypLinkAnchorTab.typClm4 li .layTxt {
    display: inline-block;
  }
}
.blockTemplateArea .link-list.flexTypClm4 ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -10px;
}
.blockTemplateArea .link-list.flexTypClm4 li {
  margin: 10px 0;
  width: 25%;
  padding: 0 10px;
}
.blockTemplateArea .link-list.flexTypClm4 li a {
  display: block;
  padding: 10px 10px 10px 35px;
  color: #555555;
  text-decoration: none;
  border-radius: 6px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15);
  transition: box-shadow 0.5s ease-out;
}
.blockTemplateArea .link-list.flexTypClm4 li.arrow:after {
  top: 50%;
  left: 25px;
  margin-top: -2px;
}
.blockTemplateArea .link-list.flexTypClm4 li a:hover {
  color: #004ea2;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.4);
}
@media screen and (max-width:991px) {
  .blockTemplateArea .link-list.flexTypClm4 ul {
    display: block;
  }
  .blockTemplateArea .link-list.flexTypClm4 li {
    width: 100%;
  }
}
/*リストを使用したページ内リンクセット*/
.wrapUlTypLinkSet {
  margin: 60px 0;
  padding: 20px;
  background: #f0f0f0;
}
.ulTypLinkSet {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.ulTypLinkSet li {
  width: 200px;
  margin: 0 10px;
  padding: 0;
  font-size: 0.9rem;
}
.ulTypLinkSet li a {
  position: relative;
  display: block;
  padding: 8px 20px;
  text-align: center;
  color: #555555;
  background: #ffffff;
  text-decoration: none;
  border: 1px solid #e6e6e6;
  border-radius: 6px;
  box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.2s ease-out;
}
.ulTypLinkSet a:hover {
  color: #004ea2;
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.2);
}
.ulTypLinkSet a:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 10px;
  margin-top: -2px;
  width: 4px;
  height: 4px;
  border-top: 2px solid #004ea2;
  border-right: 2px solid #004ea2;
  transform: rotate(45deg);
}
@media screen and (max-width:991px) {
  .wrapUlTypLinkSet {
    margin: 30px 0;
    padding: 20px 10px;
  }
  .ulTypLinkSet li {
    width: 100%;
  }
  .ulTypLinkSet li + li {
    margin-top: 20px;
  }
}
/*OLの標準*/
.olTyp01 {
  margin: 30px 0;
}
.blockTyp01 > .olTyp01 {
  margin: 0;
}
.olTyp01 > li {
  margin-left: 20px;
  padding-left: 10px;
  list-style: outside decimal;
}
.olTyp01 > li + li {
  margin-top: 0.5rem;
}
/*リンクリスト　駅詳細で使用*/
.listItemTyp01 {
  display: block;
  margin-right: 15px;
}
.typFlow .listItemTyp01 {
  display: inline-block;
}
ul:not(.typFlow) .listItemTyp01 + .listItemTyp01 {
  margin-top: 5px;
}
.listItemTyp01 a:hover span {
  text-decoration: underline;
}
@media screen and (max-width:991px) {
  .typFlow .listItemTyp01 {
    display: block;
  }
  .typFlow .listItemTyp01 + .listItemTyp01 {
    margin-top: 5px;
  }
}
/*定義リスト（dl）の標準*/
.dlTyp01 {
  margin-top: 30px;
}
.dlTyp01 dt {
  font-size: 1.1rem;
  color: #00a496;
}
.dlTyp01 dd {
  font-size: 0.9rem;
}
.dlTyp01 dt + dd {
  margin-top: 0.5rem;
}
.dlTyp01 dd + dt {
  margin-top: 1rem;
}
@media screen and (max-width:991px) {
  .dlTyp01 {
    margin-top: 25px;
  }
}
/*表組の標準*/
.tableTyp01 {
  margin: 40px 0;
  border-collapse: collapse;
  border: 1px solid #9a9a9a;
  width: 100%;
}
.tableTyp01 th {
  border-bottom: 1px solid #ffffff;
  padding: 10px 15px;
  vertical-align: middle;
  text-align: center;
  background: #4c7aab;
  color: #ffffff;
  font-weight: normal;
}
.tableTyp01 th + th {
  border-left: 1px solid #ffffff;
}
.tableTyp01 td {
  border-left: 1px solid #9a9a9a;
  border-bottom: 1px solid #9a9a9a;
  vertical-align: middle;
  text-align: center;
  padding: 10px 15px;
  background: #f8f8f8;
}
.tableTyp01 tr:nth-child(2n) td {
  background: #ffffff;
}
.tableTyp01 tr:last-child th, .tableTyp01 tr:last-child td {
  border-bottom: none;
}
.tableTyp01.celEvenlyClm3 td {
  width: 33.33333333%;
}
@media screen and (max-width:991px) {
  .tableTyp01 {
    margin: 20px 0;
  }
  .tableTyp01 th, .tableTyp01 td {
    padding: 5px;
    font-size: 0.95rem;
  }
}
@media screen and (max-width:424px) {
  .tableTyp01 th, .tableTyp01 td {
    padding: 5px 2px;
    font-size: 3.5vw;
  }
}
/*表組の横幅Auto*/
.tableTypAuto {
  margin: 40px 0;
  border-collapse: collapse;
  border: 1px solid #9a9a9a;
}
.tableTypAuto th {
  border-bottom: 1px solid #ffffff;
  padding: 10px 20px;
  vertical-align: middle;
  background: #4c7aab;
  color: #ffffff;
  font-weight: normal;
}
.tableTypAuto th + th {
  border-left: 1px solid #ffffff;
}
.tableTypAuto td {
  border-left: 1px solid #9a9a9a;
  border-bottom: 1px solid #9a9a9a;
  vertical-align: middle;
  padding: 10px 20px;
  background: #f8f8f8;
}
.tableTypAuto tr:nth-child(2n) td {
  background: #ffffff;
}
.tableTypAuto tr:last-child th, .tableTypAuto tr:last-child td {
  border-bottom: none;
}
@media screen and (max-width:991px) {
  .tableTypAuto.spBlock, .tableTypAuto.spBlock tbody, .tableTypAuto.spBlock tr, .tableTypAuto.spBlock th, .tableTypAuto.spBlock td {
    display: block;
    border: none;
  }
  .tableTypAuto {
    margin: 20px 0;
  }
  .tableTypAuto.spBlock th, .tableTypAuto.spBlock td {
    padding: 10px;
  }
  .spTableScroll .tableTypAuto {
    margin: 0;
  }
}
@media screen and (max-width:991px) {
  .spTable {
    width: 100%;
    overflow-x: scroll;
  }
  .spTable table {
    display: table;
    width: auto;
    border: 1px solid #9a9a9a;
  }
}
/*文頭に※*/
.note {
  position: relative;
  padding: 0 0 0 20px;
  color: #7e7e7e;
}
.note:before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
  width: 2em;
  height: 1em;
}
/*-------------------------------*/
/*中央ぞろえ*/
.ctr, #wrapContents .ctr {
  text-align: center;
}
.right, #wrapContents .right {
  text-align: right;
}
/*-------------------------------*/
/*スマホのみ表示*/
.spOnly {
  display: none;
}
@media screen and (max-width:991px) {
  .spOnly {
    display: block;
  }
}
/*-------------------------------*/
/*PCのみ表示*/
@media screen and (max-width:991px) {
  .pcOnly {
    display: none;
  }
}
/*-------------------------------*/
/*カテゴリトップ コンテンツリンク 乗車券・運賃の案内で使用　企業IRサイトで類似あり .wrapIdxProf*/
.idxBscNav {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 60px 0;
}
.idxBscItem {
  width: 45.5%;
}
.idxBscItemLay + .idxBscItemLay {
  margin-top: 60px;
}
.idxBscItem li .bgImg {
  display: flex;
  align-items: center;
  height: 165px;
  padding: 0 30px;
  font-size: 1.4rem;
  color: #ffffff;
  text-decoration: none;
  background: no-repeat 50% 50% / 100% auto;
}
.idxBscItem .bgImg span {
  display: block;
  padding: 0 0 0 10px;
  border-left: 5px solid #ffffff;
}
.idxBscItem li.idxTicketFare01 .bgImg {
  background-image: url("/img/train_ticket_fare_bg_01.jpg");
}
.idxBscItem li.idxTicketFare02 .bgImg {
  background-image: url("/img/train_ticket_fare_bg_02.jpg");
}
.idxBscItemChild {
  margin: 25px 25px 0 25px;
}
.idxBscItemChild li + li {
  margin-top: 10px;
}
.idxBscItemChild a {
  position: relative;
  padding-left: 15px;
  text-decoration: none;
}
.idxBscItemChild a:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -2px;
  width: 4px;
  height: 4px;
  border-top: 2px solid #004ea2;
  border-right: 2px solid #004ea2;
  transform: rotate(45deg);
}
.idxBscItemChild a:hover {
  text-decoration: underline;
}
@media screen and (max-width:991px) {
  .idxBscNav {
    display: block;
    margin: 40px 0;
  }
  .idxBscItem {
    margin-top: 40px;
    width: 100%;
  }
  .idxBscItemLay {
    padding: 0;
    width: 100%;
  }
  .idxBscItemLay + .idxBscItemLay {
    margin-top: 40px;
  }
  .idxBscItem li .bgImg {
    height: auto;
    min-height: 110px;
    padding: 30px;
    background-size: cover;
  }
  .idxBscItemChild {
    margin: 10px 0 0;
  }
  .idxBscItemChild li {
    border-bottom: 1px solid #dfdfdf;
  }
  .idxBscItemChild li + li {
    margin-top: 0;
  }
  .idxBscItemChild li a {
    display: block;
    padding-top: 10px;
    padding-bottom: 10px;
  }
}
/*-------------------------------*/
/*リストを使用した画像の3列表示*/
ul.width100pctClm3 {
  display: flex;
  justify-content: center;
  margin: 40px 0 20px;
  width: 100%;
}
ul.width100pctClm3 li {
  width: 33.33333333%;
  padding: 0 25px;
}
ul.width100pctClm3 li img {
  width: 100%;
  height: auto;
}
@media screen and (max-width:991px) {
  ul.width100pctClm3 {
    display: block;
    margin: 30px 0 20px;
  }
  ul.width100pctClm3 li {
    width: 100%;
    padding: 0;
  }
  ul.width100pctClm3 li + li {
    margin-top: 20px;
  }
}
/*-------------------------------*/
/*カード型レイアウト*/
.layCard + .layCard {
  margin-top: 40px;
}
.layCard ul {
  display: flex;
  flex-wrap: wrap;
}
.layCard ul.center {
  justify-content: center;
}
.layCard li {
  background: #ffffff;
  border-radius: 10px;
  border: 1px solid #e3e3e3;
  box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.5s ease-out;
}
.layCard.group li {
  background: #004ea2;
}
.layCard li:hover {
  box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.3);
}
.layCard li a {
  position: relative;
  text-decoration: none;
}
.layCard li span.layImg {
  display: block;
  position: relative;
  overflow: hidden;
  /*height: 180px; 不可*/
  border-radius: 6px 6px 0 0;
}
.layCard li span.layImg img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.5s ease-out;
}
.layCard li a:hover .layImg img {
  transform: scale(1.05);
  -webkit-transform: scale(1.05);
  -moz-transform: scale(1.05);
  -ms-transform: scale(1.05);
  -o-transform: scale(1.05);
  filter: alpha(opacity=90);
  -moz-opacity: .9;
  opacity: .9;
}
.layCard li span.layImg span.layTxt {
  display: inline;
  text-align: center;
  position: absolute;
  bottom: 10px;
  left: 0;
  width: 100%;
  padding: 0 20px;
  font-size: 1.2rem;
  font-weight: 500;
  color: #ffffff;
  text-shadow: 1px 1px 10px rgb(0 0 0 / 30%), -1px 1px 10px rgb(0 0 0 / 30%), 1px -1px 10px rgb(0 0 0 / 30%), -1px -1px 10px rgb(0 0 0 / 30%);
}
.layCard li span.layImg span.layTxt.adjBig {
  font-size: 1.7rem;
}
.layCard .layClm3 li span.layImg span.layTxt.adjBig {
  font-size: 1.5rem;
}
.layCard li a[target="_blank"] span.layImg span.layTxt span.linkIconTypBlankSubTyp2 {
  display: inline;
  margin: 0;
}
.layCard li dl {
  padding: 20px 30px;
}
.layCard li dt {
  font-size: 1rem;
  font-weight: 500;
  text-align: center;
}
.layCard li dt .layTxt {
  white-space: nowrap;
}
#siteMultilang .layCard li dt {
  font-size: 1.3rem;
}
.layCard li dd {
  font-size: 0.9rem;
  color: #555555;
}
.layCard li dt + dd {
  margin-top: 15px;
}
.layCard.group li dd {
  color: #ffffff;
}
#siteMultilang .layCard li dd {
  font-size: 1rem;
}
@media screen and (max-width:991px) {
  .layCard li dl {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px 25px;
  }
  .layCard li span.layImg span.layTxt.adjBig {
    font-size: 1.4rem;
  }
  .layCard .layClm3 li span.layImg span.layTxt.adjBig {
    font-size: 1.3rem;
  }
}
/*2列*/
.layCard .layClm2 {
  justify-content: space-between;
}
.layCard .layClm2 + .layClm2 {
  margin-top: 4%;
}
.layCard .layClm2 li {
  width: 48%;
}
.layCard .layClm2 li span.layImg {
  /*height: 315px; 不可*/
}
.layCard .layClm2.noImg dt {
  text-align: left;
}
.layCard .layClm2.noTxt li span.layImg {
  border-radius: 6px;
}
/*3列*/
.layCard .layClm3 {
  margin: -45px -1.5% 0;
}
.layCard .layClm3 li {
  position: relative;
  width: 30%;
  margin: 45px 1.5% 0;
}
.layCard li p.shoulder {
  position: absolute;
  top: -35px;
  left: 0;
  font-weight: 700;
}
.layCard li p.shoulder.day1 {
  color: #389f33;
}
.layCard li p.shoulder.day2 {
  color: #f0591d;
}
.layCard.addShoulder {
  padding-top: 35px;
}
.layCard .layClm3.noTxt li span.layImg {
  border-radius: 6px;
}
/*4列*/
.layCard .layClm4 {
  margin: -45px -1.5% 0;
}
.layCard .layClm4 li {
  position: relative;
  width: 22%;
  margin: 45px 1.5% 0;
}
.layCard .layClm4.noTxt li span.layImg {
  border-radius: 6px;
}
@media screen and (max-width:991px) {
  .layCard ul {
    display: block;
  }
  .layCard .layClm2 li, .layCard .layClm3 li {
    width: auto;
  }
  .layCard + .layCard, .layCard .layClm2 + .layClm2, .layCard .layClm2 li + li {
    margin-top: 30px;
  }
  .layCard .layClm3 {
    margin: -10px 0 0;
  }
  .headTyp02Sub02 + .layCard .layClm3 {
    margin: 0;
  }
  .layCard .layClm3 li {
    margin: 0;
  }
  .layCard .layClm3 li + li {
    margin-top: 30px;
  }
  .layCard.addShoulder .layClm3 li + li {
    margin-top: 75px;
  }
}
/*-------------------------------*/
/*カルーセルバナー*/
.wrapCarousel {
  position: relative;
  margin: 0 0 40px;
  padding: 50px 0;
  background: #f8f8f8;
  overflow: hidden;
  opacity: 0;
  transition: 200ms opacity;
}
.wrapCarousel.ready {
  opacity: 1;
}
.wrapCarousel.typ2 {
  padding: 0;
  background: #ffffff;
}
.wrapCarousel.typ3 {
  margin: 70px 0 0;
}
.wrapCarousel.typ4 {
  padding: 0;
  background: #ffffff;
}
.bnrCarousel {
  display: flex;
  width: 495px; /* 項目のサイズ (間隔) を指定する */
  width: 448px; /* 項目のサイズ (間隔) を指定する */
  height: 270px;
  margin: 0 auto; /* 0番目の項目は初期状態で中央に表示する */
  position: relative;
  transition: 700ms transform;
  will-change: transform;
}
.wrapCarousel.typ2 .bnrCarousel {
  width: 770px; /* 項目のサイズ (間隔) を指定する */
  height: 450px;
}
.bnrCarousel li {
  padding: 0 20px;
  width: 100%;
  position: absolute;
  transition: 700ms opacity;
  will-change: opacity;
}
.bnrCarousel li.hide {
  opacity: 0;
}
.bnrCarousel li img {
  display: block;
  width: 408px;
  height: 200px;
  border-radius: 6px;
  transition: opacity 0.3s ease-out;
}
.bnrCarousel li a:hover img {
  filter: alpha(opacity=70);
  -moz-opacity: .70;
  opacity: .70;
}
.wrapCarousel.typ2 .bnrCarousel li img {
  width: 750px;
  height: 365px;
}
.bnrCarousel a {
  display: block;
  color: #555555;
  text-decoration: none;
}
.bnrCarousel span {
  display: block;
}
.bnrCarouselLay1 {
  margin: 15px 0 0;
  font-size: 0.95rem;
}
.bnrCarouselLay2 {
  margin: 5px 0 0;
  font-size: 0.8rem;
}
.bnrCarouselLay1.ellipsis {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
@media screen and (max-width:991px) {
  .wrapCarousel {
    margin-bottom: 40px;
    padding: 30px 0;
  }
  .wrapCarousel.typ3 {
    margin: 40px 0 0;
  }
  .wrapCarousel .bnrCarousel {
    width: 100% !important;
    height: 75px !important; /* カルーセルの高さのうち、固定幅の部分 */
    padding-bottom: 48.5%; /* imgの高さ (width: 100%, アスペクト比固定) */
    box-sizing: content-box !important;
  }
  .wrapCarousel.typ4 .bnrCarousel {
    margin-bottom: -80px;; /* でんしゃ旅・おとくなきっぷのみサイズ変更 */
  }
  .bnrCarousel li {
    padding: 0 20px;
  }
  .bnrCarousel li img {
    width: 100% !important;
    height: auto !important;
  }
  .bnrCarouselLay1.ellipsis {
    overflow: auto;
    white-space: inherit;
    text-overflow: inherit;
  }
}
/*カルーセルバナー下のテキストが全2行以内の場合*/
@media screen and (max-width:991px) {
  body#estate .wrapCarousel.typ2 .bnrCarousel {
    height: 35px !important; /* カルーセルの高さのうち、固定幅の部分 */
  }
}
/*カルーセル左右ナビゲーション*/
.controlCarousel {
  position: absolute;
  top: 100px;
  width: 100%;
}
.wrapCarousel.typ2 .controlCarousel {
  top: 135px;
}
.wrapCarousel.typ4 .controlCarousel {
  top: 50px;
}
.controlCarousel li.prev, .controlCarousel li.next {
  position: absolute;
  height: 100px;
}
.controlCarousel li.prev button, .controlCarousel li.next button {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
  width: 40px;
  height: 100%;
  background: #676767;
  transition: width 300ms;
  border: none;
  cursor: pointer;
  outline: none;
}
.controlCarousel li.prev button:hover, .controlCarousel li.next button:hover {
  width: 50px;
}
.controlCarousel li.prev {
  left: 0;
}
.controlCarousel li.prev button {
  border-radius: 0 10px 10px 0;
}
.controlCarousel li.next {
  right: 0;
}
.controlCarousel li.next button {
  border-radius: 10px 0 0 10px;
}
.controlCarousel li.prev button:after, .controlCarousel li.next button:after {
  content: "";
  position: absolute;
  top: 40px;
  left: 15px;
  display: block;
  width: 10px;
  height: 10px;
  border-top: 4px solid #ffffff;
  border-left: 4px solid #ffffff;
  transform: rotate(-45deg);
  transition: left 300ms;
}
.controlCarousel li.prev button:hover:after {
  left: 20px;
}
.controlCarousel li.next button:after {
  left: 15px;
  transform: rotate(135deg);
}
.controlCarousel li.next button:hover:after {
  left: 15px;
}
.controlCarousel li.indicator {
  display: none;
  width: 10px;
  height: 10px;
}
.controlCarousel li.indicator > button {
  display: block;
  width: 10px;
  height: 10px;
  border: none;
  margin: 0;
  padding: 0;
  cursor: pointer;
  border-radius: 100%;
  background: #d2d2d2;
  outline: none;
}
.controlCarousel li.indicator.active > button {
  background: #00a496;
}
@media screen and (max-width:991px) {
  .controlCarousel {
    position: relative;
    top: inherit !important;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 20px 0 0;
  }
  .controlCarousel li.prev, .controlCarousel li.next {
    position: relative;
    height: 40px;
  }
  .controlCarousel li.prev {
    margin-right: 10%;
  }
  .controlCarousel li.next {
    margin-left: 10%;
  }
  .controlCarousel li.prev button, .controlCarousel li.next button {
    width: 40px !important; /* :hover効果を無効化 */
  }
  .controlCarousel li.prev button:after, .controlCarousel li.next button:after {
    left: 15px !important; /* :hover効果を無効化 */
    top: 15px;
    width: 6px;
    height: 6px;
  }
  .controlCarousel li.indicator {
    display: block;
  }
}
/*カルーセルをPC表示時にスマホと同じデザインで表示する*/
@media screen and (min-width:992px) {
  .wrapCarousel.miniCarousel .controlCarousel {
    position: relative;
    top: inherit !important;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 20px 0 0;
  }
  .wrapCarousel.miniCarousel .controlCarousel li.prev, .wrapCarousel.miniCarousel .controlCarousel li.next {
    position: relative;
    height: 40px;
  }
  .wrapCarousel.miniCarousel .controlCarousel li.prev {
    margin-right: 10%;
  }
  .wrapCarousel.miniCarousel .controlCarousel li.next {
    margin-left: 10%;
  }
  .wrapCarousel.miniCarousel .controlCarousel li.prev button, .wrapCarousel.miniCarousel .controlCarousel li.next button {
    width: 40px !important; /* :hover効果を無効化 */
  }
  .wrapCarousel.miniCarousel .controlCarousel li.prev button:after, .wrapCarousel.miniCarousel .controlCarousel li.next button:after {
    left: 15px !important; /* :hover効果を無効化 */
    top: 15px;
    width: 6px;
    height: 6px;
  }
  .wrapCarousel.miniCarousel .controlCarousel li.indicator {
    display: block;
  }
}
@media screen and (max-width:991px) {
  .wrapCarousel.miniCarousel {
    width: 100%;
  }
}
/*カルーセルをPC表示時にスマホと同じデザインからさらにコンパクトに表示する*/
/*左テキストエリア、右カルーセル*/
.layIntroTyp01 {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.layIntroTyp01 .layTxt {
  width: 540px;
}
.layIntroTyp01 .layImg {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 500px;
}
.layIntroTyp01 .layImg img {
  display: block;
}
.layIntroTyp01 + .blockTemplateArea {
  margin-top: 70px;
}
@media screen and (max-width:991px) {
  .layIntroTyp01 {
    flex-direction: column;
  }
  .layIntroTyp01 .layTxt, .layIntroTyp01 .layImg {
    width: 100%;
  }
  .layIntroTyp01 .layImg {
    margin-top: 20px;
  }
  .layIntroTyp01 .layImg img {
    width: 48%;
    height: auto;
  }
  .layIntroTyp01 + .blockTemplateArea {
    margin-top: 60px;
  }
}
/*カルーセルをPC表示時にスマホと同じデザインからさらにコンパクトに表示する*/
/*カルーセルのみ中央配置 電車のご利用案内 駅詳細画面下部*/
.layWidTyp02Outer .layIntroTyp02 {}
.layIntroTyp02 {
  display: flex;
  justify-content: center;
  padding: 50px 0;
}
.layIntroTyp02 .layImg {
  display: flex;
  justify-content: space-between;
  width: 500px;
}
.layIntroTyp02 .layImg img {
  display: block;
}
@media screen and (max-width:991px) {
  .layIntroTyp02 {
    padding: 20px;
  }
  .layIntroTyp02 .layImg {
    width: 100%;
  }
  .layIntroTyp02 .layImg {
    margin-top: 20px;
  }
  .layIntroTyp02 .layImg img {
    width: 48%;
    height: auto;
  }
}
/**/
.wrapCarousel.miniCarousel.adjCompact {
  margin: 0;
  padding: 0;
  background: none;
}
.wrapCarousel.miniCarousel.adjCompact .controlCarousel {
  position: absolute;
  left: 0;
  bottom: 0 !important;
  justify-content: center;
  margin: 0;
}
.wrapCarousel.miniCarousel.adjCompact .controlCarousel li.prev, .wrapCarousel.miniCarousel.adjCompact .controlCarousel li.next {
  position: absolute;
  top: 0;
  margin: -30% 0 0;
}
.wrapCarousel.miniCarousel.adjCompact .controlCarousel li.prev button, .wrapCarousel.miniCarousel.adjCompact .controlCarousel li.next button {
  border-radius: 100%;
}
.wrapCarousel.miniCarousel.adjCompact .controlCarousel li.indicator {
  margin: 0 10px;
}
.wrapCarousel.miniCarousel.adjCompact .bnrCarouselLay1, .wrapCarousel.miniCarousel.adjCompact .bnrCarouselLay2 {
  display: none;
}
@media screen and (min-width:992px) {
  .wrapCarousel.miniCarousel.adjCompact {
    width: 500px;
  }
  .wrapCarousel.miniCarousel.adjCompact .bnrCarousel {
    width: 500px;
    height: 245px;
  }
  .wrapCarousel.miniCarousel.adjCompact .bnrCarousel li img {
    width: 460px;
    height: auto;
  }
  .wrapCarousel.miniCarousel.adjCompact .controlCarousel li.prev button:after {
    left: 16px !important;
    transition: left 300ms;
  }
  .wrapCarousel.miniCarousel.adjCompact .controlCarousel li.next button:after {
    left: 14px !important;
    transition: left 300ms;
  }
  .wrapCarousel.miniCarousel.adjCompact .controlCarousel li.prev button:hover:after {
    left: 14px !important;
  }
  .wrapCarousel.miniCarousel.adjCompact .controlCarousel li.next button:hover:after {
    left: 16px !important;
  }
}
@media screen and (max-width:991px) {
  .wrapCarousel.miniCarousel.adjCompact {
    width: 100%;
  }
  .wrapCarousel.miniCarousel.adjCompact .bnrCarousel {
    height: 0 !important; /*カルーセルの高さのうち、固定幅の部分 */
  }
}
/*カルーセル画像が1点のみの場合カルーセル機能オフ*/
.wrapCarousel.singularCarousel .controlCarousel {
  display: none;
}
@media screen and (max-width:991px) {
  .wrapCarousel.miniCarousel.adjCompact.singularCarousel {
    overflow: visible;
  }
  .wrapCarousel.miniCarousel.adjCompact.singularCarousel .bnrCarousel li {
    padding: 0;
  }
}
@media screen and (min-width:992px) {
  .wrapCarousel.miniCarousel.adjCompact.singularCarousel .bnrCarousel li {
    padding: 0;
  }
  .wrapCarousel.miniCarousel.adjCompact.singularCarousel .bnrCarousel li img {
    width: 100%;
  }
}
/*-------------------------------*/
/*バナーエリア タイプ1*/
.wrapBnrTyp01 {
  display: flex;
  justify-content: center;
  margin: 60px 0 0;
  padding: 50px 0;
  background: #f8f8f8;
}
.bnrTyp01 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 1100px;
}
.bnrTyp01 img {
  display: block;
  border-radius: 6px;
  transition: opacity 0.2s ease-out;
}
.bnrTyp01 a:hover img {
  filter: alpha(opacity=60);
  -moz-opacity: .60;
  opacity: .60;
}
@media screen and (max-width:991px) {
  .wrapBnrTyp01 {
    display: block;
    padding: 10px;
  }
  .bnrTyp01 {
    width: 100%;
  }
  .bnrTyp01 li {
    width: 50%;
    padding: 10px;
  }
  .bnrTyp01 li img {
    width: 100%;
    height: auto;
  }
}
/**/
/*ハイキング・巡拝で使用*/
.wrapBnrTyp01Sub01 {
  display: flex;
  justify-content: center;
  margin: 60px 0 0;
  padding: 50px 20px;
  background: #f8f8f8;
}
.bnrTyp01Sub01 {
  display: flex;
  flex-wrap: wrap;
}
.bnrTyp01Sub01 .bnrItem {
  margin: 0 20px;
  width: 245px;
}
.bnrTyp01Sub01 .bnrItem img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 6px;
  transition: opacity 0.2s ease-out;
}
.bnrTyp01Sub01 .bnrItem a:hover img {
  filter: alpha(opacity=60);
  -moz-opacity: .60;
  opacity: .60;
}
@media screen and (max-width:991px) {
  .wrapBnrTyp01Sub01 {
    margin: 40px 0 0;
    padding: 15px;
  }
  .bnrTyp01Sub01 .bnrItem {
    margin: 0;
    width: 50%;
    padding: 5px;
  }
}
/*-------------------------------*/
/*バナーエリア タイプ2*/
.wrapBnrTyp02 {
  display: flex;
  justify-content: center;
  margin: 80px 0 0;
  padding: 30px 0;
  background: #f0f0f0;
}
.wrapCarousel + .wrapBnrTyp02 {
  margin-top: 0;
}
.bnrTyp02 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 1100px;
}
@media screen and (max-width:991px) {
  .wrapBnrTyp02 {
    margin: 40px 0 0;
    padding: 30px 20px;
  }
  .bnrTyp02 {
    width: 100%;
  }
}
/*-------------------------------*/
/*バナーエリア タイプ3　未使用*/
/*-------------------------------*/
/*バナーエリア タイプ4*/
/*愛知県の観光施設等のバリアフリー情報*/
.wrapBnrTyp04 {
  margin: 40px 0;
  padding: 30px;
  background: #f8f8f8;
  border-radius: 6px;
}
.wrapBnrTyp04 .bnrItem dt {
  margin: 0 0 10px;
  font-size: 1.15rem;
  color: #00a496;
}
.wrapBnrTyp04 .bnrItem .layLink {
  display: flex;
  align-items: center;
  text-decoration: none;
}
.wrapBnrTyp04 .bnrItem .layLink .layTxt {
  margin-left: 20px;
}
.wrapBnrTyp04 .bnrItem .layLink:hover .layTxt1 {
  text-decoration: underline;
}
.wrapBnrTyp04 .bnrItem .layTxt2 {
  display: block;
  margin-top: 5px;
  color: #555555;
}
@media screen and (max-width:991px) {
  .wrapBnrTyp04 {
    margin: 30px 0;
    padding: 20px;
  }
  .wrapBnrTyp04 .bnrItem .layLink {
    display: block;
  }
  .wrapBnrTyp04 .bnrItem .layLink .layTxt {
    margin: 10px 0 0;
  }
}
/*-------------------------------*/
/*インデックス　タイプ1*/
/*でんしゃ旅・おトクなきっぷカテゴリトップ*/
.wrapIdxTyp01 {
  width: 1100px;
  margin: 70px auto;
}
main .wrapIdxTyp01:last-child {
  margin-bottom: 0;
}
.idxTyp01 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.idxTyp01Lay {
  margin: 70px 0 0;
  width: 510px;
}
.idxTyp01 .idxTyp01Lay:nth-child(1), .idxTyp01 .idxTyp01Lay:nth-child(2) {
  margin-top: 0;
}
.idxTyp01Lay .lay1 {
  display: flex;
  justify-content: space-between;
}
.idxTyp01Lay a.layLink {
  text-decoration: none;
}
.idxTyp01Lay a.layLink[target="_blank"] .overviewTitle .layIcon {
  display: inline;
  margin: 0 5px 0 0;
  padding-right: 20px;
  background: url(/img/ico_blank_01.png) no-repeat 100% 0.5rem / 12px auto;
}
.idxTyp01Lay a.layLink:hover .overviewTitle .layIcon {
  text-decoration: underline;
}
.idxTyp01Lay .layImg {
  width: 200px;
}
.idxTyp01Lay .layImg img {
  width: 100%;
  height: auto;
  border-radius: 6px;
  transition: opacity 0.2s ease-out;
}
.idxTyp01Lay a.layLink:hover .layImg img {
  filter: alpha(opacity=70);
  -moz-opacity: .70;
  opacity: .70;
}
.idxTyp01Lay .layTxt {
  width: 280px;
}
.idxTyp01Lay a.layLink .overviewTitle {
  margin: 0 0 15px;
  font-size: 1.1rem;
  font-weight: 700;
}
.idxTyp01Lay a.layLink:hover .overviewTitle {
  text-decoration: underline;
}
.idxTyp01Lay a.layLink .overviewTitle span.yoyaku {
  display: inline-block;
  margin-right: 5px;
  padding: 2px 4px;
  font-size: 0.85rem;
  font-weight: 400;
  color: #ffffff;
  background: #d84848;
  border-radius: 6px;
}
.idxTyp01Lay a.layLink dd.typ1 {
  margin: 15px 0;
  font-size: 0.9rem;
  color: #555555;
}
.idxTyp01Lay a.layLink dl dd.typ1:first-child {
  margin-top: 0;
}
.idxTyp01Lay a.layLink dd.typ2 {
  margin: 15px 0 10px;
}
.idxTyp01Lay a.layLink dd.typ2 span.lay {
  display: inline-block;
  padding: 2px 5px;
  font-size: 0.85rem;
  color: #555555;
  background: #efefef;
}
.idxTyp01Lay a.layLink dd.typ3 .keyword {
  display: flex;
  flex-wrap: wrap;
  margin: 5px -5px 0;
}
.idxTyp01Lay a.layLink dd.typ3 .keywordItem {
  margin: 5px;
  padding: 2px 5px;
  font-size: 0.8rem;
  color: #ffffff;
  background: #00a496;
  border-radius: 6px;
}
.idxTyp01Lay a.layLink dd.typ4 {
  margin: 15px 0 10px;
}
.idxTyp01Lay a.layLink dd.typ5 {
  margin: 15px 0 0;
}
/* 「もっと見る」動作が適用されたwrapIdxTyp01では、
 * 表示するようにJSから明示的に指示された要素だけを表示する */
.wrapIdxTyp01.clientSidePagination .idxTyp01Lay.extra {
  display: none;
}
.wrapIdxTyp01.clientSidePagination .idxTyp01Lay.extra.show {
  display: block;
  animation: 300ms fade-in both;
}
/* 「もっと見る」 */
.wrapIdxTyp01.clientSidePagination #wrapShowMoreSearchResults {
  display: none;
  margin-top: 70px;
  text-align: center;
}
.wrapIdxTyp01.clientSidePagination.hasMoreItems #wrapShowMoreSearchResults {
  /* 非表示の項目がある場合のみ表示する */
  display: block;
}
@media screen and (max-width:991px) {
  .wrapIdxTyp01 {
    width: auto;
    margin: 0;
  }
  .idxTyp01Lay {
    margin: 0;
    padding: 30px 20px;
    width: 100%;
  }
  .idxTyp01Lay:nth-child(2n) {
    background: #f8f8f8;
  }
  .idxTyp01Lay .layImg {
    width: 40%;
  }
  .idxTyp01Lay .layTxt {
    width: 50%;
  }
  .overviewTitle.pcOnly {
    display: none;
  }
  .idxTyp01Lay a.layLink dd.typ1 {
    margin-top: 0;
  }
  #wrapShowMoreSearchResults {
    margin-top: 40px;
  }
  .wrapIdxTyp01 #wrapShowMoreSearchResults {
    padding: 0 20px;
  }
  body#railroad .idxTyp01Lay .lay1, body#pilgrimage .idxTyp01Lay .lay1 {
    display: block;
  }
  body#railroad .idxTyp01Lay .layImg, body#pilgrimage .idxTyp01Lay .layImg {
    width: 100%;
  }
  body#railroad .idxTyp01Lay .layTxt, body#pilgrimage .idxTyp01Lay .layTxt {
    margin-top: 20px;
    width: 100%;
  }
}
/*-------------------------------*/
/*インデックス　タイプ2*/
/*商業施設カテゴリトップ*/
.wrapIdxTyp02 {
  margin-top: -50px;
}
.idxTyp02 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 10px;
}
.idxTyp02Lay {
  margin: 70px 0 0;
  width: 510px;
}
.idxTyp02Lay a.layLink {
  display: flex;
  justify-content: space-between;
  text-decoration: none;
}
.idxTyp02Lay img {
  width: 100%;
  height: auto;
  border-radius: 6px;
  transition: opacity 0.2s ease-out;
}
.idxTyp02Lay a.layLink:hover img {
  filter: alpha(opacity=70);
  -moz-opacity: .70;
  opacity: .70;
}
.idxTyp02Lay .lay1 {
  width: 220px;
}
.idxTyp02Lay .lay2 {
  width: 260px;
}
.idxTyp02Lay a.layLink:hover .overviewTitle > span {
  text-decoration: underline;
}
.idxTyp02Lay .lay2 dd.typ1 {
  margin: 10px 0 0;
  font-size: 0.9rem;
  color: #555555;
}
.idxTyp02Lay .lay2 dd.typ2 {
  display: flex;
  align-items: flex-start;
  margin: 5px 0 0;
  font-size: 0.9rem;
  color: #555555;
}
.idxTyp02Lay .lay2 dd.typ2 span.layTxt {
  display: inline-block;
  margin-right: 8px;
  padding: 1px 8px;
  font-size: 0.85rem;
  color: #ffffff;
  background: #00a395;
  border-radius: 6px;
  white-space: nowrap;
}
@media screen and (max-width:991px) {
  .wrapIdxTyp02 {
    margin-top: 0;
  }
  .idxTyp02Lay {
    display: block;
    margin: 50px 0 0;
    width: 100%;
  }
  .idxTyp02 .idxTyp02Lay:first-child {
    margin-top: 10px;
  }
  .idxTyp02Lay .lay1 {
    width: 30%;
  }
  .idxTyp02Lay .lay2 {
    width: 65%;
  }
}
/*-------------------------------*/
/*インデックス　タイプ3*/
/*Wind一覧*/
.wrapIdxTyp03 {
  width: 1100px;
  margin: 0 auto;
}
.wrapIdxTyp03 .layImg img {
  width: 100%;
  height: auto;
  border-radius: 6px;
}
.idxTyp03 {
  display: flex;
  flex-wrap: wrap;
}
.idxTyp03Lay {
  margin: 70px 4% 0 0;
  width: 22%;
}
.idxTyp03Lay:nth-child(4n) {
  margin-right: 0;
}
.idxTyp03Lay a.layLink {
  display: block;
  text-decoration: none;
}
.idxTyp03Lay .layImg img {
  width: 100%;
  height: auto;
  border-radius: 6px;
}
.idxTyp03Lay a.layLink img {
  transition: opacity 0.3s ease-out;
}
.idxTyp03Lay a.layLink img:hover {
  filter: alpha(opacity=70);
  -moz-opacity: .70;
  opacity: .70;
}
@media screen and (max-width:991px) {
  .wrapIdxTyp03 {
    width: 100%;
  }
  .idxTyp03 {
    justify-content: space-between;
  }
  .idxTyp03Lay {
    margin: 40px 0 0;
    width: 47%;
  }
}
/*-------------------------------*/
/*お知らせ・ニュースリリース　タイトル*/
#wrapNewsClm1 .headTypNews {
  margin: 0 auto 20px;
  width: 1100px;
}
#wrapNewsClm2 {
  max-width: 1500px;
}
#wrapNewsClm2 .headTypNews {
  margin-bottom: 10px;
  padding-bottom: 15px;
  border-bottom: 1px solid #e5e5e5;
}
.headTypNews .layIcon {
  display: inline-block;
  position: relative;
  min-height: 30px;
  padding: 0 0 0 40px;
}
.headTypNews .layIcon:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -15px;
  width: 30px;
  height: 30px;
  background: no-repeat 0 0 / 30px auto;
}
/*お知らせ　タイトル*/
.headTypNews .iconNewsInfo:after {
  background-image: url("/img/ico_newsinfo.svg")
}
/*ニュースリリース　タイトル*/
.headTypNews .iconNewsRelease:after {
  background-image: url("/img/ico_newsrelease.svg");
}
@media screen and (max-width:991px) {
  #wrapNewsClm1 .headTypNews, #wrapNewsClm2 .headTypNews {
    margin: 0 0 10px;
    width: 100%;
    padding: 0 20px 10px;
    border-bottom: 1px solid #e5e5e5;
  }
}
/*お知らせ　本体*/
#wrapNewsClm1, #wrapNewsClm2 {
  margin: 70px auto;
}
main #wrapNewsClm1:last-child, main #wrapNewsClm2:last-child {
  margin-bottom: 0;
}
#wrapNewsClm1 .newsList {
  border-bottom: 1px solid #e5e5e5;
}
#wrapNewsClm1 .newsItem {
  border-top: 1px solid #e5e5e5;
  transition: background 0.2s ease-out;
}
.newsList .newsItem:hover {
  background: rgba(239, 239, 239, 0.6);
}
#wrapNewsClm2 .newsItem {
  padding: 10px;
}
.newsItemLay {
  font-size: 0.9rem;
}
#wrapNewsClm1 .newsItemLay {
  display: flex;
  margin: 0 auto;
  width: 1100px;
}
@media screen and (max-width:991px) {
  #wrapNewsClm1, #wrapNewsClm2 {
    margin: 40px 0;
  }
  #wrapNewsClm1 .newsList {
    border-bottom: none;
  }
  #wrapNewsClm1 .newsItem, #wrapNewsClm2 .newsItem {
    padding: 15px 20px;
    border: none;
  }
  #wrapNewsClm1 .newsItemLay {
    width: 100%;
  }
}
.newsItemLay a {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  color: #555555;
  text-decoration: none;
  transition: color 0.2s ease-out;
}
#wrapNewsClm1 .newsItemLay a {
  padding: 15px 0;
}
.newsItemLay a:hover {
  color: #004ea2;
}
@media screen and (max-width:991px) {
  #wrapNewsClm1 .newsItemLay a {
    padding: 0;
  }
}
/*お知らせ　日付*/
.newsItemLay .day {
  display: block;
  padding: 0 20px 0 0;
}
#wrapNewsClm1 .newsItemLay .day {
  width: 10%;
}
#wrapNewsClm2 .newsItemLay .day {
  width: auto;
}
@media screen and (max-width:991px) {
  #wrapNewsClm1 .newsItemLay .day {
    display: inline-block;
    width: auto;
  }
}
/*お知らせ　カテゴリ表示アイコン*/
.newsItemLay .category {
  display: block;
  padding: 3px;
  font-size: 0.8rem;
  color: #ffffff;
  text-align: center;
  border-radius: 6px;
}
#wrapNewsClm1 .newsItemLay .category {
  width: 14%;
}
#wrapNewsClm2 .newsItemLay .category {
  width: 25%;
}
@media screen and (max-width:991px) {
  #wrapNewsClm1 .newsItemLay .category, #wrapNewsClm2 .newsItemLay .category {
    display: inline-block;
    width: auto;
    min-width: 100px;
    padding: 2px 10px;
    white-space: nowrap;
  }
}
.newsItemLay .category.em {
  background: #00a496;
}
.newsItemLay .category.odekake {
  background: #f6931f;
}
.newsItemLay .category.info {
  background: #004ea2;
}
.newsItemLay .category.estate {
  background: #61a23e;
}
.newsItemLay .category.manaca {
  color: #004ea2;
  background: #ffeb52;
}
.newsItemLay .category.muscard {
  color: #004ea2;
  background: #eaeaea;
}
.newsItemLay .category.mustar {
  color: #004ea2;
  background: #ffd800;
}
.newsItemLay .category.other {
  background: #ac66af;
}
.newsItemLay .category.newsRelease {
  background: #3976b9;
}
/*お知らせ　本文*/
.newsItemLay .layTxt {
  display: block;
}
#wrapNewsClm1 .newsItemLay .layTxt {
  width: 76%;
  padding: 0 0 0 20px;
}
#wrapNewsClm2 .newsItemLay .layTxt {
  margin-top: 5px;
  width: 100%;
}
@media screen and (max-width:991px) {
  #wrapNewsClm1 .newsItemLay .layTxt {
    width: 100%;
    padding: 10px 0 0;
  }
}
/*お知らせ　2カラム*/
#wrapNewsClm2 {
  display: flex;
  justify-content: space-between;
  padding: 0 30px;
}
#wrapNewsClm2 .newsLayInClm2 {
  position: relative;
  width: 48%;
  padding-bottom: 80px;
}
@media screen and (max-width:991px) {
  #wrapNewsClm2 {
    display: block;
    padding: 0;
  }
  #wrapNewsClm2 .newsLayInClm2 {
    width: 100%;
    padding-bottom: 0;
  }
  .newsLayInClm2 + .newsLayInClm2 {
    margin-top: 50px;
  }
}
/*お知らせ一覧へのリンク*/
.newsMoreLink {
  margin: 40px auto 0;
  text-align: center;
}
.newsMoreLink a {
  display: inline-block;
  width: 300px;
  padding: 10px;
  border: 1px solid #e6e6e6;
  border-radius: 50px;
  color: #555555;
  text-decoration: none;
  transition: color 0.2s ease-out;
  transition: background 0.2s ease-out;
}
.newsMoreLink a:hover {
  color: #ffffff;
  background: #004ea2;
}
#wrapNewsClm2 .newsLayInClm2 .newsMoreLink {
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -150px;
}
@media screen and (max-width:991px) {
  .newsMoreLink, #wrapNewsClm2 .newsLayInClm2 .newsMoreLink {
    position: relative;
    bottom: inherit;
    left: inherit;
    margin: 20px 20px 0;
  }
  .newsMoreLink a {
    display: block;
    width: auto;
    padding: 10px;
  }
}
/*-------------------------------*/
.iconPdf {
  margin: 0 0 0 8px;
  width: 15px !important;
  height: auto;
  vertical-align: middle;
}
/*ダイヤ・運賃検索*/
.iconTransfer {
  display: flex;
  min-height: 30px;
  padding: 0 0 0 40px;
  background: no-repeat 0 70% / 30px auto;
  background-image: url("/img/ico_transfer_01.svg");
}
/*ダイヤ・運賃検索*/
.iconMuTicket {
  display: flex;
  min-height: 30px;
  padding: 0 0 0 40px;
  background: no-repeat 0 70% / 30px auto;
  background-image: url("/img/ico_muticket_01.svg");
}
/*-------------------------------*/
/*テキストリンク 大1*/
.linkTxtTyp01 {
  margin: 60px auto;
  text-align: center;
}
.linkTxtTyp01.left {
  text-align: left;
}
main .linkTxtTyp01:last-child {
  margin-bottom: 0;
}
.linkTxtTyp01 a {
  display: inline-block;
  border: 1px solid #e6e6e6;
  padding: 15px 40px;
  border-radius: 50px;
  color: #555555;
  background-color: #ffffff;
  text-decoration: none;
  box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.2s ease-out;
}
.linkTxtTyp01 a:hover {
  color: #004ea2;
  text-decoration: none;
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.2);
}
.linkTxtTyp01 a > span {
  display: flex;
  align-items: center;
  height: 100%;
  /*text-align: center; 不可*/
}
@media screen and (max-width:991px) {
  .linkTxtTyp01 {
    margin: 30px 20px 0;
  }
  .layWidTyp01 + .linkTxtTyp01, .blockTemplateArea + .linkTxtTyp01 {
    margin-top: 40px;
  }
  .linkTxtTyp01 a {
    /*display: block; 不可*/
    /*width: 100%; 不可*/
    padding: 15px 20px;
  }
  .layWidTyp01 .linkTxtTyp01 {
    margin-left: 0;
    margin-right: 0;
  }
}
@media screen and (max-width:424px) {
  .layWidTyp01 .linkTxtTyp01 {
    font-size: 0.9rem;
  }
  .linkTxtTyp01 a {
    text-align: left;
  }
}
/*テキストリンク　大2*/
.linkTxtTyp01b {
  margin: 100px auto 70px;
  text-align: center;
}
.linkTxtTyp01bItem {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.linkTxtTyp01bItemLay {
  display: flex;
  justify-content: center;
  width: 50%;
}
.linkTxtTyp01bItemLay + .linkTxtTyp01bItemLay {
  margin-top: 20px;
}
.linkTxtTyp01bItem a {
  width: 100%;
  border: 1px solid #e6e6e6;
  padding: 15px;
  border-radius: 50px;
  color: #555555;
  text-decoration: none;
  background: #ffffff;
  box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.2s ease-out;
}
.linkTxtTyp01b a:hover {
  color: #004ea2;
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.2);
}
.linkTxtTyp01bItemLay .layTxt {
  white-space: nowrap;
}
@media screen and (max-width:991px) {
  .linkTxtTyp01b {
    margin: 40px auto;
  }
  .linkTxtTyp01bItemLay {
    width: 100%;
  }
  .linkTxtTyp01b a {
    display: block;
    margin: 0 20px;
    padding: 15px;
  }
}
/*テキストリンク　大3*/
.linkTxtTyp01c {
  background: #ffffff;
  border-radius: 6px;
  border: 1px solid #e3e3e3;
  box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.2s ease-out;
}
.linkTxtTyp01c:not(.off):hover {
  color: #004ea2;
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.2);
  z-index: 5 /*駅詳細用調整*/ ;
}
.linkTxtTyp01c a {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 12px;
  color: #555555;
  text-decoration: none;
}
.linkTxtTyp01c a:hover {
  color: #004ea2;
}
.linkTxtTyp01c a span {
  /*display: flex; 不可*/
  /*align-items: center; 不可*/
  /*height: 100%; 不可*/
}
.linkTxtTyp01c.off {
  display: flex;
  align-items: center;
  padding: 12px 12px 12px 24px /*駅詳細用調整*/ ;
  font-size: 0.9rem;
  color: rgba(85, 85, 85, 0.4);
  background: rgba(255, 255, 255, 0.5);
  box-shadow: none;
}
/*テキストリンク　大4*/
.linkTxtTyp01d {
  background: #676767;
  border-radius: 6px;
  transition: background 0.2s ease-out;
}
.linkTxtTyp01d:hover {
  background: rgba(103, 103, 103, 0.8);
}
.linkTxtTyp01d a {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 8px 10px;
  color: #ffffff;
  text-decoration: none;
}
/*テキストリンク　大5*/
.linkTxtTyp01e {
  background: #ffffff;
  border: 1px solid #e6e6e6;
  border-radius: 6px;
  box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.2s ease-out;
}
.linkTxtTyp01e:hover {
  color: #004ea2;
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.2);
}
.linkTxtTyp01e a {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 12px 15px;
  color: #555555;
  text-decoration: none;
}
.linkTxtTyp01e a:hover {
  color: #004ea2;
}
/*テキストリンク　大6*/
.linkTxtTyp01f {
  margin: 60px auto;
  text-align: center;
}
main .linkTxtTyp01f:last-child {
  margin-bottom: 0;
}
.linkTxtTyp01f a {
  justify-content: center;
  display: inline-block;
  padding: 15px 40px;
  text-align: center;
  border-radius: 50px;
  color: #ffffff;
  background: #004ea2;
  text-decoration: none;
  transition: background 0.2s ease-out;
}
.linkTxtTyp01f a:hover {
  background: #0073ef;
  text-decoration: none;
}
.linkTxtTyp01f a span {
  display: flex;
  align-items: center;
  height: 100%;
}
.linkTxtTyp01f.arrow a {
  position: relative;
}
.linkTxtTyp01f.arrow a:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 25px;
  margin-top: -2px;
  width: 4px;
  height: 4px;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  transform: rotate(45deg);
}
.linkTxtTyp01f.typClm2 ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: -10px;
}
.linkTxtTyp01f.typClm2 li {
  justify-content: space-between;
  margin: 10px;
  width: 40%;
}
.linkTxtTyp01f.typClm2 li a {
  width: 100%;
}
@media screen and (max-width:991px) {
  .linkTxtTyp01f {
    margin: 30px 20px 0;
  }
  .linkTxtTyp01f a {
    padding: 15px 20px;
    text-align: left;
  }
  .linkTxtTyp01f.arrow a {
    padding-left: 40px;
  }
  .layWidTyp01 .linkTxtTyp01f {
    margin-left: 0;
    margin-right: 0;
  }
  .linkTxtTyp01f.typClm2 ul {
    display: block;
    margin: 0;
  }
  .linkTxtTyp01f.typClm2 li {
    margin: 0;
    width: 100%;
  }
  .linkTxtTyp01f.typClm2 li + li {
    margin-top: 10px;
  }
}
/*テキストリンク　小*/
.linkTxtTyp02 {
  margin: 10px auto 0;
}
/*リンクアイコン　右向き*/
a .linkIconTyp01 {
  position: relative;
  display: inline-block;
  padding-left: 12px;
}
a .linkIconTyp01:after {
  content: "";
  display: block;
  position: absolute;
  top: 0.6rem;
  left: 0;
  width: 4px;
  height: 4px;
  border-top: 2px solid #004ea2;
  border-right: 2px solid #004ea2;
  transform: rotate(45deg);
}
header a .linkIconTyp01:after {
  top: 0.4rem;
}
#wrapContents p a .linkIconTyp01 {
  text-decoration: none;
}
#wrapContents p a:hover .linkIconTyp01 {
  text-decoration: underline;
}
a .linkIconTyp02 {
  position: relative;
  display: inline-block;
  padding-right: 25px;
  background: url("/img/ico_link_01.svg") no-repeat 100% 50% / auto 4px;
}
#wrapContents a .linkIconTyp02 {
  text-decoration: none;
}
#wrapContents a:hover .linkIconTyp02 {
  text-decoration: underline;
}
/*リンクアイコン　下向き*/
a .linkIconTypDown01 {
  position: relative;
  display: inline-block;
  padding-left: 12px;
}
a .linkIconTypDown01:after {
  content: "";
  display: block;
  position: absolute;
  top: 0.55rem;
  left: 0;
  width: 4px;
  height: 4px;
  border-bottom: 2px solid #004ea2;
  border-right: 2px solid #004ea2;
  transform: rotate(45deg);
}
/*別ウィンドウリンクアイコン　文頭*/
a[target="_blank"] span.linkIconTypBlank {
  display: inline-block;
  padding-left: 18px;
  /*background: url(/img/ico_blank_01.png) no-repeat 0 0.6rem / 12px auto; 不可*/
  background: url(/img/ico_blank_01.png) no-repeat 0 0.5rem / 12px auto;
}
header a[target="_blank"] span.linkIconTypBlank {
  background-position: 0 50%;
}
/*別ウィンドウリンクアイコン 文末*/
a[target="_blank"] span.linkIconTypBlankSub {
  padding-right: 20px;
  /*background: url(/img/ico_blank_01.png) no-repeat 100% 0.6rem / 12px auto; 不可*/
  /*background: url(/img/ico_blank_01.png) no-repeat 100% 0.5rem / 12px auto; 不可*/
  background: url(/img/ico_blank_01.png) no-repeat 100% 50% / 12px auto;
}
main p a[target="_blank"] span.linkIconTypBlankSub {
  display: inline-block;
  margin: 0 5px 0 0;
}
header a[target="_blank"] span.linkIconTypBlankSub {
  display: inline-block;
  background-position: 100% 50%;
}
/*別ウィンドウリンクアイコン　文頭　白*/
a[target="_blank"] span.linkIconTypBlankTyp2 {
  display: inline-block;
  padding-left: 18px;
  background: url(/img/ico_blank_02.png) no-repeat 0 0.6rem / 12px auto;
}
/*別ウィンドウリンクアイコン　文末　白*/
a[target="_blank"] span.linkIconTypBlankSubTyp2 {
  display: inline-block;
  margin: 0 5px 0 0;
  padding-right: 20px;
  background: url(/img/ico_blank_02.png) no-repeat 100% 0.6rem / 12px auto;
}
header a[target="_blank"] span.linkIconTypBlankSubTyp2 {
  background-position: 0 50%;
}
/*はてなリンクアイコン　文末*/
a span.linkIconTypHatena {
  display: inline-block;
  margin: 0 5px 0 0;
  min-height: 16px;
  padding-right: 20px;
  background: url(/img/ico_hatena.svg) no-repeat 100% 0.6rem / 16px auto;
}
a:hover span.linkIconTypHatena {
  text-decoration: underline;
}
/*文中の場合はアンダーライン表示*/
p a[target="_blank"] span.linkIconTypBlank, .ulTyp01 li a[target="_blank"] span.linkIconTypBlank, p a[target="_blank"] span.linkIconTypBlankSub, .ulTyp01 li a[target="_blank"] span.linkIconTypBlankSub, p a span.linkIconTypHatena, .ulTyp01 li a span.linkIconTypHatena {
  text-decoration: underline;
}
p a[target="_blank"]:hover span.linkIconTypBlank, .ulTyp01 li a[target="_blank"]:hover span.linkIconTypBlank, p a[target="_blank"]:hover span.linkIconTypBlankSub, .ulTyp01 li a[target="_blank"]:hover span.linkIconTypBlankSub, p a:hover span.linkIconTypHatena, .ulTyp01 li a:hover span.linkIconTypHatena {
  text-decoration: none;
}
/*外部ロゴリンク　コンテンツ下　中央配置*/
.linkLogoTyp01 {
  margin: 35px 0 0;
  text-align: center;
}
/*-------------------------------*/
/*小さい文字*/
.subTxtTyp01 {
  display: block;
  margin: 5px 0 0;
  font-size: 80%;
}
.subTxtTyp02 {
  display: inline-block;
  margin: 0 5px 0 0;
  font-size: 50%;
}
/*-------------------------------*/
/*ズームアイコン*/
span.iconTypZoom {
  position: relative;
  display: inline-block;
  min-height: 20px;
  padding-right: 25px;
}
span.iconTypZoom:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -10px;
  width: 20px;
  height: 20px;
  background: url(/img/ico_zoom.svg) no-repeat 100% 50% / 19px auto;
}
a:hover span.iconTypZoom {
  text-decoration: underline;
}
a:not([href]) span.iconTypZoom:after {
  display: none;
}
/*-------------------------------*/
/*アイコン：共通*/
.iconTemporaryTrainInfo01, .iconPlus01, .iconTransfer01, .iconTransfer02, .iconTimetable01, .iconTimetable02, .iconLinenetwork01, .iconLinenetwork02, .iconLinenetwork03, .iconLinenetwork04, .iconLine01, .iconLine02, .iconMap01, .iconMap02, .iconAiueo01, .iconAiueo02, .iconStationInfo01, .iconStationInfo02, .iconMuTicket01, .iconMuTicket02, .iconMuTicket03, .iconTrain01, .iconTrain02, .iconTrain03, .iconTrain04, .iconBus01, .iconBusStop01, .iconTaxi01, .iconParking01, .iconMy01, .iconAirport01, .iconBarrierFree01, .iconManaca01, .iconPlan01, .iconPlanDenshaTabi, .iconPlanEvent, .iconPlanCampaign, .iconPlanGourmet, .iconPlanGroup, .iconHiking01, .iconHiking02, .iconHiking03, .iconDigitalbook01, .iconMusic01, .iconNews01, .iconSearch01, .iconEstate01 {
  position: relative;
  /*display: inline-block; 不可*/
  display: flex;
  align-items: center;
  padding: 0 0 0 40px;
  min-height: 30px;
}
.iconTrain05, .iconGallery01, .iconHistory120y01, .iconHistory130y01 {
  position: relative;
  display: flex;
  align-items: center;
  padding: 0 0 0 50px;
  min-height: 40px;
}
.iconTemporaryTrainInfo01::after, .iconPlus01:after, .iconTransfer01:after, .iconTransfer02:after, .iconTimetable01:after, .iconTimetable02:after, .iconLinenetwork01:after, .iconLinenetwork02:after, .iconLinenetwork03:after, .iconLinenetwork04:after, .iconLine01:after, .iconLine02:after, .iconMap01:after, .iconMap02:after, .iconAiueo01:after, .iconAiueo02:after, .iconStationInfo01:after, .iconStationInfo02:after, .iconMuTicket01:after, .iconMuTicket02:after, .iconMuTicket03:after, .iconTrain01:after, .iconTrain02:after, .iconTrain03:after, .iconTrain04:after, .iconBus01:after, .iconBusStop01:after, .iconTaxi01:after, .iconParking01:after, .iconMy01:after, .iconAirport01:after, .iconBarrierFree01:after, .iconManaca01:after, .iconPlan01:after, .iconPlanDenshaTabi:after, .iconPlanEvent:after, .iconPlanCampaign:after, .iconPlanGourmet:after, .iconPlanGroup:after, .iconHiking01:after, .iconHiking02:after, .iconHiking03:after, .iconDigitalbook01:after, .iconMusic01:after, .iconNews01:after, .iconSearch01:after, .iconEstate01:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -15px;
  width: 35px;
  height: 30px;
  background: no-repeat 0 50% / auto 30px;
}
.iconTrain05:after, .iconGallery01:after, .iconHistory120y01:after, .iconHistory130y01:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -20px;
  width: 60px;
  height: 36px;
  background: no-repeat 0 50% / auto 36px;
}
/* アイコン：臨時列車情報 */
.iconTemporaryTrainInfo01:after {
  background-image: url("/img/ico_temporarytraininfo_01.jpg");
}
/*アイコン：ダイヤ・運賃検索*/
.iconTransfer01:after {
  background-image: url("/img/ico_transfer_01.svg");
}
.iconTransfer02:after {
  background-image: url("/img/ico_transfer_02.svg");
}
/*アイコン：時刻表*/
.iconTimetable01:after {
  background-image: url("/img/ico_timetable_01.svg");
}
.iconTimetable02:after {
  background-image: url("/img/ico_timetable_02.svg");
}
/*アイコン：路線・駅情報*/
.iconLinenetwork01:after {
  background-image: url("/img/ico_linenetwork_01.svg");
}
.iconLinenetwork02:after {
  background-image: url("/img/ico_linenetwork_02.svg");
}
.iconLinenetwork03:after {
  background-image: url("/img/ico_linenetwork_03.svg");
}
.iconLinenetwork04:after {
  background-image: url("/img/ico_linenetwork_04.svg");
}
/*アイコン：路線名*/
.iconLine01:after {
  /*色付きアイコンヌケ
    background-image: url("/img/ico_line_01.svg");*/
}
.iconLine02:after {
  background-image: url("/img/ico_line_02.svg");
}
/*アイコン：地図*/
.iconMap01:after {
  /*background-image: url("/img/ico_map_01.svg");*/
}
.iconMap02:after {
  background-image: url("/img/ico_map_02.svg");
}
/*アイコン：50音「あ」　ヌケ*/
.iconAiueo01:after {
  /*background-image: url("/img/ico_aiueo_01.svg");*/
}
.iconAiueo02:after {
  background-image: url("/img/ico_aiueo_02.svg");
}
/*アイコン：駅情報　ヌケ*/
.iconStationInfo01:after {
  /*background-image: url("/img/ico_stationinfo_01.svg");*/
}
.iconStationInfo02:after {
  background-image: url("/img/ico_stationinfo_02.svg");
}
/*アイコン：特別車*/
.iconMuTicket01:after {
  background-image: url("/img/ico_muticket_01.svg");
}
.iconMuTicket02:after {
  background-image: url("/img/ico_muticket_02.svg");
}
.iconMuTicket03:after {
  background-image: url("/img/ico_muticket_03.svg");
}
/*アイコン：電車*/
.iconTrain01:after {
  background-image: url("/img/ico_train_01.svg");
}
/*アイコン：停車する電車*/
.iconTrain02:after {
  background-image: url("/img/ico_train_02.svg");
}
/*アイコン：電車乗換案内*/
.iconTrain03:after {
  background-image: url("/img/ico_train_03.svg");
}
/*アイコン：ラッピングトレイン*/
.iconTrain04:after {
  background-image: url("/img/ico_train_04.svg");
}
/*アイコン：車両博物館*/
.iconTrain05:after {
  background-image: url("/img/ico_train_05.svg");
}
/*アイコン：バス*/
.iconBus01:after {
  background-image: url("/img/ico_bus.svg");
}
/*アイコン：バス乗り場*/
.iconBusStop01:after {
  background-image: url("/img/ico_busstop.svg");
}
/*アイコン：タクシー案内*/
.iconTaxi01:after {
  background-image: url("/img/ico_taxi.svg");
}
/*アイコン：駐車場*/
.iconParking01:after {
  background-image: url("/img/ico_parking.svg");
}
/*アイコン：わたしの名鉄駅*/
.iconMy01:after {
  background-image: url("/img/ico_my.svg");
}
.headTyp02Sub02 .iconMy01 {
  min-height: 40px;
  padding: 0 0 0 55px;
}
.headTyp02Sub02 .iconMy01:after {
  width: 40px;
  height: 40px;
  margin-top: -25px;
  background-size: 40px auto;
}
/*アイコン：飛行機*/
.iconAirport01:after {
  background-image: url("/img/ico_airport_01.svg");
}
/*バリアフリーアイコン*/
.iconBarrierFree01 {
  /*position: relative; 不可*/
  /*display: inline-block; 不可*/
  padding: 0 0 0 45px;
}
.iconBarrierFree01:after {
  width: 40px;
  background-image: url("/img/ico_barrier_free_01.svg");
}
/*manacaアイコン*/
.iconManaca01:after {
  background: url("/img/ico_manaca_01.png") no-repeat 0 45% / 31px auto;
}
/*おトクなプランアイコン*/
.iconPlan01:after {
  background-image: url("/img/ico_plan_01.svg");
}
.iconPlanDenshaTabi {
  padding-left: 62px;
}
.iconPlanDenshaTabi:after {
  width: 55px;
  background-image: url("/img/plan_ico_01_on.svg");
}
.iconPlanEvent {
  padding-left: 62px;
}
.iconPlanEvent:after {
  width: 55px;
  background-image: url("/img/plan_ico_02_on.svg");
}
.iconPlanCampaign {
  padding-left: 62px;
}
.iconPlanCampaign:after {
  width: 55px;
  background-image: url("/img/plan_ico_03_on.svg");
}
.iconPlanGourmet {
  padding-left: 62px;
}
.iconPlanGourmet:after {
  width: 55px;
  background-image: url("/img/plan_ico_04_on.svg");
}
.iconPlanGroup {
  padding-left: 77px;
}
.iconPlanGroup:after {
  width: 70px;
  background-image: url("/img/plan_ico_05_on.svg");
}
/*ハイキング・巡拝アイコン*/
.iconHiking01 {
  padding-left: 70px;
}
.iconHiking01:after {
  width: 65px;
  background-image: url("/img/ico_hiking_01.svg");
}
.iconHiking02:after {
  background-image: url("/img/ico_hiking_02.svg");
}
.iconHiking03 {
  padding-left: 55px;
}
.iconHiking03:after {
  width: 45px;
  background-image: url("/img/ico_hiking_03.svg");
}
/*沿線情報*/
.iconSearch01 {
  padding-left: 40px !important;
}
.iconSearch01:after {
  width: 65px;
  background-image: url("/img/gnavi_ico_04.svg");
}
/*お買物＆フード*/
.iconEstate01 {
  padding-left: 40px !important;
}
.iconEstate01:after {
  width: 65px;
  background-image: url("/img/gnavi_ico_05.svg");
}
/*アイコン：ギャラリー*/
.iconGallery01:after {
  background-image: url("/img/ico_gallery_01.svg");
}
/*アイコン：120周年*/
.iconHistory120y01 {
  padding: 0 0 0 60px;
}
.iconHistory120y01:after {
  height: 38px;
  background-size: auto 38px;
  background-image: url("/img/ico_history120y_01.svg");
}
/*アイコン：130周年*/
.iconHistory130y01 {
  padding: 0 0 0 60px;
}
.iconHistory130y01:after {
  height: 38px;
  background-size: auto 38px;
  background-image: url("/img/ico_history130y_01.jpg");
}
/*アイコン：デジタルブック*/
.iconDigitalbook01:after {
  background-size: auto 25px;
  background-image: url("/img/ico_digitalbook.svg");
}
/*アイコン：音符*/
.iconMusic01:after {
  background-size: auto 25px;
  background-image: url("/img/ico_music_01.svg");
}
/*アイコン：お知らせ*/
.iconNews01:after {
  background-image: url("/img/ico_newsinfo.svg");
}
/*アイコン：追加*/
.iconPlus01 {
  padding: 0 0 0 40px;
  min-height: 20px;
}
.iconPlus01:after {
  margin-top: -10px;
  width: 20px;
  height: 20px;
  background: url("/img/ico_plus_02.svg") no-repeat 0 50% / auto 20px;
}
/*-------------------------------*/
/*アイコン：路線*/
.iconLineNH, .iconLineTK, .iconLineGN, .iconLineMY, .iconLineTT, .iconLineTA, .iconLineCH, .iconLineKC, .iconLineST, .iconLineTB, .iconLineBS, .iconLineIY, .iconLineKG, .iconLineHM, .iconLineKM, .iconLineTH, .iconLineGuide01, .iconLineGuide02, .iconLineGuide03, .iconLineGuide04, .iconLineGuide05, .iconLineGuide06, .iconLineGuide07, .layIconLineTyp01 {
  position: relative;
  display: flex;
  align-items: center;
  padding: 0 0 0 25px;
  min-height: 10px;
}
/*#line01_01 span.layIconLineTyp01 = .iconLineNH ～ #line15_01 span.layIconLineTyp01 = .iconLineTH*/
.iconLineGuide01, .iconLineGuide02, .iconLineGuide03, .iconLineGuide04, .iconLineGuide05, .iconLineGuide06, .iconLineGuide07 {
  padding: 0 0 0 40px;
  min-height: 20px;
}
.iconLineNH:after, .iconLineTK:after, .iconLineGN:after, .iconLineMY:after, .iconLineTT:after, .iconLineTA:after, .iconLineCH:after, .iconLineKC:after, .iconLineST:after, .iconLineTB:after, .iconLineBS:after, .iconLineIY:after, .iconLineKG:after, .iconLineHM:after, .iconLineKM:after, .iconLineTH:after, .iconLineGuide01:after, .iconLineGuide02:after, .iconLineGuide03:after, .iconLineGuide04:after, .iconLineGuide05:after, .iconLineGuide06:after, .iconLineGuide07:after, .layIconLineTyp01:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -4px;
  width: 15px;
  height: 8px;
  background: no-repeat 50% 50% / 15px 8px;
}
.iconLineGuide01:after, .iconLineGuide02:after, .iconLineGuide03:after, .iconLineGuide04:after, .iconLineGuide05:after, .iconLineGuide06:after, .iconLineGuide07:after {
  margin-top: -15px;
  width: 30px;
  height: 30px;
  background-size: 30px auto;
}
.iconLineNH:after, .iconLineTK:after, #line01_01 .layIconLineTyp01:after, #line02_01 .layIconLineTyp01:after {
  background-image: url("/img/ico_line_nh.svg");
}
.iconLineGN:after, #line03_01 .layIconLineTyp01:after {
  background-image: url("/img/ico_line_gn.svg");
}
.iconLineMY:after, .iconLineTT:after, #line04_01 .layIconLineTyp01:after, #line04_02 .layIconLineTyp01:after, #line05_01 .layIconLineTyp01:after {
  background-image: url("/img/ico_line_my.svg");
}
.iconLineTA:after, #line06_01 .layIconLineTyp01:after, #line06_02 .layIconLineTyp01:after {
  background-image: url("/img/ico_line_ta.svg");
}
.iconLineCH:after {
  background-image: url("/img/ico_line_ch.svg");
}
.iconLineKC:after, #line07_01 .layIconLineTyp01:after, #line07_02 .layIconLineTyp01:after {
  background-image: url("/img/ico_line_kc.svg");
}
.iconLineST:after, #line08_01 .layIconLineTyp01:after {
  background-image: url("/img/ico_line_st.svg");
}
.iconLineTB:after, .iconLineBS:after, #line09_01 .layIconLineTyp01:after, #line10_01 .layIconLineTyp01:after, #line10_02 .layIconLineTyp01:after, #line10_03 .layIconLineTyp01:after {
  background-image: url("/img/ico_line_tb.svg");
}
.iconLineIY:after, .iconLineKG:after, .iconLineHM:after, #line11_01 .layIconLineTyp01:after, #line12_01 .layIconLineTyp01:after, #line13_01 .layIconLineTyp01:after, #line13_02 .layIconLineTyp01:after {
  background-image: url("/img/ico_line_iy.svg");
}
.iconLineKM:after, #line14_01 .layIconLineTyp01:after {
  background-image: url("/img/ico_line_km.svg");
}
.iconLineTH:after, #line15_01 .layIconLineTyp01:after {
  background-image: url("/img/ico_line_th.svg");
}
.iconLineGuide01:after {
  background-image: url("/img/ico_line_guide_01.svg");
}
.iconLineGuide02:after {
  background-image: url("/img/ico_line_guide_02.svg");
}
.iconLineGuide03:after {
  background-image: url("/img/ico_line_guide_03.svg");
}
.iconLineGuide04:after {
  background-image: url("/img/ico_line_guide_04.svg");
}
.iconLineGuide05:after {
  background-image: url("/img/ico_line_guide_05.svg");
}
.iconLineGuide06:after {
  background-image: url("/img/ico_line_guide_06.svg");
}
.iconLineGuide07:after {
  background-image: url("/img/ico_line_guide_07.svg");
}
/*-------------------------------*/
/*電車のご利用：検索ツール*/
.layTabTypTrainUseOuter {
  position: relative;
  height: 50px;
  display: flex;
  /*align-items: center; 不可*/
  background: #004ea2;
}
.layTabTypTrainUse {
  position: relative;
  margin: 0 auto;
  /*width: 1100px; 不可*/
  /*background: #004ea2; 不可*/
}
.layTabTrainUseSec {
  /*margin: 0 auto; 不可*/
  width: 1100px;
}
.layTabTrainUseItem {
  display: none;
  position: absolute;
  /*top: -190px; 不可*/
  bottom: 60px;
  /*height: 180px; 不可*/
  min-height: 180px;
  width: 100%;
  background: rgba(248, 248, 248, 0.85);
  border-radius: 10px 10px 10px 0;
}
.layTabTrainUseItem.typ1 {
  display: block;
  position: relative;
  bottom: inherit;
  min-height: inherit;
  width: auto;
  padding: 30px;
  border-radius: 6px;
  background: #f8f8f8;
}
.layTabTrainUseItem.typ2 {
  display: block;
  position: relative;
  bottom: inherit;
  min-height: inherit;
  width: auto;
  background: #ffffff;
}
.layTabTrainUseItem.typ3 {
  display: block;
  position: relative;
  bottom: inherit;
  min-height: inherit;
  width: auto;
  padding: 30px;
  border-radius: 6px;
  background: #ffffff;
}
p + .layTabTrainUseItem.typ3 {
  margin-top: 25px;
}
@media screen and (max-width:991px) {
  .layWidTyp02Outer .layTabTrainUseItem.typ3 {
    margin-top: 20px;
    padding: 0;
    background: none;
  }
}
@media screen and (max-width:991px) {
  .layTabTypTrainUseOuter {
    height: auto;
  }
  body#home.index .layTabTypTrainUseOuter {
    min-height: 60px;
  }
  .layTabTypTrainUse {
    width: 100%;
  }
  .layTabTrainUseSec {
    width: 100%;
  }
  .layTabTrainUseItem {
    position: relative;
    top: 0;
    height: auto;
    margin-top: 60px;
    background: #ffffff;
    border-radius: 0;
  }
  .layTabTrainUseItem.typ1 {
    padding: 0;
    border-radius: 0;
    background: none;
  }
  .headTyp02Sub02 + .layTabTrainUseItem.typ1 {
    margin-top: 0;
  }
}
/*見出しのタブ化*/
.headTabTypTrainUse {
  position: absolute;
  top: -10px;
  height: 60px;
  width: 25%;
  font-size: 0.9rem;
  font-weight: 400;
  pointer-events: none;
}
.layTabTypTrainUse .layTabTrainUseSec:not(.ht-act) .headTabTypTrainUse:hover {
  top: 0;
  height: 50px;
  background: #0D5FB8;
  border-radius: 0;
  transition: background 0.2s ease-out;
}
.layTabTrainUseSec .headTabTypTrainUse a {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 57px;
  pointer-events: auto;
  text-decoration: none;
  border-radius: 0 0 10px 10px;
  z-index: 2;
}
.layTabTrainUseSec .headTabTypTrainUse a span {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  height: 100%;
  padding: 10px 0 0 40px;
  color: #ffffff;
  text-decoration: none;
}
.layTabTrainUseSec .headTabTypTrainUse a span:after {
  content: "";
  display: block;
  position: absolute;
  top: 20px;
  left: 0;
  width: 30px;
  height: 30px;
  background: no-repeat 0 70% / 30px auto;
}
.layTabTypTrainUse .layTabTrainUseSec:not(.ht-act) .headTabTypTrainUse:hover a span {
  margin-top: -20px;
}
.headTabTypTrainUse.transfer a span:after {
  background-image: url("/img/ico_transfer_02.svg");
}
.headTabTypTrainUse.timetable {
  margin: 0 0 0 25%;
}
.headTabTypTrainUse.timetable a span:after {
  background-image: url("/img/ico_timetable_02.svg");
}
.headTabTypTrainUse.lineNetwork {
  margin: 0 0 0 50%;
}
.headTabTypTrainUse.lineNetwork a span:after {
  background-image: url("/img/ico_linenetwork_02.svg");
}
.headTabTypTrainUse.muTicket {
  margin: 0 0 0 75%;
}
.headTabTypTrainUse.muTicket a span:after {
  background-image: url("/img/ico_muticket_02.svg");
}
/*タブの区切り線*/
.layTabTypTrainUse .layTabTrainUseSec .headTabTypTrainUse:before {
  content: "";
  display: block;
  position: absolute;
  top: 10px;
  left: 0;
  width: 1px;
  height: 50px;
  background: rgba(0, 63, 132, 0.8);
}
.layTabTypTrainUse .layTabTrainUseSec:last-of-type .headTabTypTrainUse:after {
  content: "";
  display: block;
  position: absolute;
  top: 10px;
  right: 0;
  width: 1px;
  height: 50px;
  background: rgba(0, 63, 132, 0.8);
}
.layTabTypTrainUse .layTabTrainUseSec:not(.ht-act) .headTabTypTrainUse:hover:before, .layTabTypTrainUse .layTabTrainUseSec:not(.ht-act) .headTabTypTrainUse:hover:after {
  top: 0;
}
@media screen and (max-width:991px) {
  .layTabTypTrainUse .layTabTrainUseSec:not(.ht-act) .headTabTypTrainUse:hover, .layTabTypTrainUse .layTabTrainUseSec .headTabTypTrainUse:before {
    top: 0;
    height: 60px;
  }
  .layTabTypTrainUse .layTabTrainUseSec:last-of-type .headTabTypTrainUse:after {
    display: none;
  }
}
/*タブ2つ　多言語での表示*/
.layTabTypTrainUseOuter.typ2 .headTabTypTrainUse.transfer {
  margin: 0 0 0 25%;
}
.layTabTypTrainUseOuter.typ2 .headTabTypTrainUse.muTicket {
  margin: 0 0 0 50%;
}
/*選択されているタブ*/
.layTabTrainUseSec.ht-act .headTabTypTrainUse a {
  background: rgba(248, 248, 248, 0.85);
}
.layTabTrainUseSec.ht-act .headTabTypTrainUse a span {
  color: #555555;
  pointer-events: none;
}
.layTabTrainUseSec.ht-act .headTabTypTrainUse.transfer a span:after {
  background-image: url("/img/ico_transfer_01.svg");
}
.layTabTrainUseSec.ht-act .headTabTypTrainUse.timetable a span:after {
  background-image: url("/img/ico_timetable_01.svg");
}
.layTabTrainUseSec.ht-act .headTabTypTrainUse.lineNetwork a span:after {
  background-image: url("/img/ico_linenetwork_01.svg");
}
.layTabTrainUseSec.ht-act .headTabTypTrainUse.muTicket a span:after {
  background-image: url("/img/ico_muticket_01.svg");
}
.layTabTrainUseSec.ht-act > .layTabTrainUseItem {
  display: flex;
  align-items: center;
  padding: 30px;
  opacity: 0;
}
.layTabTrainUseSec.ht-act.ht-act-in > .layTabTrainUseItem {
  opacity: 1;
}
.ht-dyn .layTabTrainUseSec > .layTabTrainUseItem {
  /*タブを表示する際にフェードインして表示する。ただし、初回表示 (body.ht-dynがないとき) は
	 * これを行わない。*/
  transition: 300ms opacity;
}
.layTabTrainUseSec.ht-act .timetable + .layTabTrainUseItem, .layTabTrainUseSec.ht-act .lineNetwork + .layTabTrainUseItem {
  border-radius: 10px;
}
.layTabTrainUseSec.ht-act .muTicket + .layTabTrainUseItem {
  border-radius: 10px 10px 0 10px;
}
.layTabTypTrainUseOuter.typ2 .layTabTrainUseItem, .layTabTypTrainUseOuter.typ2 .layTabTrainUseSec.ht-act .muTicket + .layTabTrainUseItem {
  /*タブ2つ　多言語での表示*/
  border-radius: 10px;
}
@media screen and (max-width:991px) {
  .headTabTypTrainUse {
    top: 0;
  }
  .layTabTrainUseSec .headTabTypTrainUse a {
    height: 100%;
    padding: 10px 0;
    border-radius: 0;
    z-index: 0;
  }
  .layTabTrainUseSec .headTabTypTrainUse a span {
    align-items: flex-end;
    height: 100%;
    padding: 40px 0 0;
    font-size: 0.8rem;
    color: #ffffff;
    text-decoration: none;
    /*background: no-repeat 50% 0 / 30px auto; 不可*/
  }
  .layTabTypTrainUse .layTabTrainUseSec:not(.ht-act) .headTabTypTrainUse:hover a span {
    margin-top: 0;
  }
  .layTabTrainUseSec .headTabTypTrainUse a span:after {
    top: 0;
    left: 50%;
    margin-left: -15px;
    background-position: 50% 0;
    background-size: auto 20px;
  }
  .layTabTrainUseSec.ht-act > .layTabTrainUseItem {
    /*padding-bottom: 70px; 不可*/
  }
  /*選択されているタブ*/
  .layTabTrainUseSec.ht-act .headTabTypTrainUse a {
    background: #ffffff;
  }
  .layTabTrainUseSec.ht-act .timetable + .layTabTrainUseItem, .layTabTrainUseSec.ht-act .lineNetwork + .layTabTrainUseItem, .layTabTrainUseSec.ht-act .muTicket + .layTabTrainUseItem {
    border-radius: 0;
  }
}
@media screen and (max-width:374px) {
  .layTabTrainUseSec .headTabTypTrainUse a span {
    font-size: 3.5vw;
  }
}
/*閉じるボタン*/
.layTabTrainUseItem .btnClose {
  position: absolute;
  top: -15px;
  right: 10px;
  display: inline-block;
}
.layTabTrainUseItem .btnClose button {
  position: relative;
  width: 25px;
  height: 25px;
  border: none;
  background: rgba(255, 255, 255, 1);
  box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.1);
  text-indent: -999999px;
  outline: none;
  border-radius: 4px;
  transition: background 0.2s ease-out;
}
.layTabTrainUseItem .btnClose button:hover {
  cursor: pointer;
  background: #004ea2;
}
.layTabTrainUseItem .btnClose button:before, .layTabTrainUseItem .btnClose button:after {
  content: "";
  display: block;
  position: absolute;
  top: 11px;
  left: 6px;
  width: 12px;
  height: 0;
  border-top: 2px solid #004ea2;
  transform: rotate(45deg);
  transition: border-top 0.2s ease-out;
}
.layTabTrainUseItem .btnClose button:after {
  transform: rotate(-45deg);
}
.layTabTrainUseItem .btnClose button:hover:before, .layTabTrainUseItem .btnClose button:hover:after {
  border-top: 2px solid #ffffff;
}
@media screen and (max-width:991px) {
  .layTabTrainUseSec:not(.ht-act) .btnClose {
    display: none;
  }
  .layTabTrainUseItem .btnClose {
    top: -60px;
    right: 0;
    width: 25%;
  }
  .layTabTypTrainUse .layTabTrainUseSec:nth-child(1) .btnClose {
    left: 0;
  }
  .layTabTypTrainUse .layTabTrainUseSec:nth-child(2) .btnClose {
    left: 25%;
  }
  .layTabTypTrainUse .layTabTrainUseSec:nth-child(3) .btnClose {
    left: 50%;
  }
  .layTabTypTrainUse .layTabTrainUseSec:nth-child(4) .btnClose {
    left: 75%;
  }
  .layTabTrainUseItem .btnClose button, .layTabTrainUseItem .btnClose button:hover {
    width: 100%;
    height: 60px;
    background: none;
    border: none;
    border-radius: 0;
    box-shadow: none;
  }
  .layTabTrainUseItem .btnClose button:before, .layTabTrainUseItem .btnClose button:after {
    display: none;
  }
}
/*-------------------------------*/
/*SNSシェアボタン*/
.wrapSnsBtn {
  display: flex;
  justify-content: flex-end;
  margin: 20px auto 0;
  width: 1100px;
}
.snsBtn {
  display: flex;
  justify-content: flex-start;
}
.snsBtnItem + .snsBtnItem {
  margin-left: 10px;
}
.snsBtnItem img {
  display: block;
}
.snsBtnItem a:hover img {
  filter: alpha(opacity=70);
  -moz-opacity: .70;
  opacity: .70;
}
@media screen and (max-width:991px) {
  .wrapSnsBtn {
    width: auto;
    margin: 10px 10px 0;
  }
}
/*-------------------------------*/
/*検索ツール内*/
/*ダイヤ・運賃*/
.searchTransfer {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
@media screen and (max-width:991px) {
  .searchTransfer {
    display: block;
  }
}
.searchTransferLay1 {
  position: relative;
}
.likeInput {
  display: flex;
  align-items: center;
  border: 1px solid #e6e6e6;
  border-radius: 6px;
  /*height: 60px; 不可*/
  padding: 0 20px;
  background: #ffffff;
}
.searchTransfer .likeInput {
  width: 335px;
}
.likeInput input {
  flex-grow: 1;
  height: 60px;
  border: none;
  outline: none;
  font-size: 1rem;
}
.searchTransfer .likeInput input {
  width: 260px;
}
.likeInput.st {
  position: absolute;
  top: 0;
  right: 0;
}
/*出発・到着*/
.likeInput label {
  margin: 0 15px 0 0;
  font-size: 0.9rem;
  white-space: nowrap;
}
/*出発*/
.likeInput.sf label.sf {
  color: #5fa200;
}
/*到着*/
.likeInput.st label.st {
  color: #ff4800;
}
@media screen and (max-width:991px) {
  .searchTransferLay1 {
    display: flex;
    flex-direction: column;
    padding-right: 50px;
  }
  .likeInput, .likeInput input, .searchTransfer .likeInput, .searchTransfer .likeInput input {
    width: 100%;
    height: auto;
    padding: 5px 10px;
  }
  .likeInput.sf {
    order: 1;
  }
  .likeInput.st {
    order: 3;
    position: relative;
    margin-top: 10px;
  }
}
/*駅の入れ替えと経由駅の追加*/
.toolChangeVia {
  display: flex;
  flex-direction: column;
  flex-grow: 2;
}
.toolChangeVia label.btnVia, .toolChangeVia button.btnChange {
  display: flex;
  justify-content: center;
  height: 25px;
  border: none;
  font-size: 0.8rem;
  outline: none;
  text-decoration: none;
  cursor: pointer;
  align-items: center;
  position: absolute;
  left: 50%;
  margin-left: -30px;
  width: 60px;
  border-radius: 6px;
  color: #ffffff;
  background: #676767;
  text-align: center;
  transition: background 0.2s ease-out;
}
.toolChangeVia label.btnVia:hover, .toolChangeVia button.btnChange:hover {
  background: rgba(103, 103, 103, 0.8);
}
.toolChangeVia button.btnChange {
  top: 0;
  border: none;
}
.toolChangeVia label.btnVia {
  top: 35px;
}
.toolChangeVia label.btnVia img {
  margin-right: 5px;
}
.toolVia {
  display: none;
  justify-content: center;
  margin: 15px 0 0;
}
.toolVia .likeInput {
  margin: 0 10px;
}
input[name=useVia] {
  display: none;
}
/*「＋経由」ボタンがアクティブな状態のとき */
input[name=useVia]:checked + * .toolVia {
  display: flex;
}
@media screen and (max-width:991px) {
  .toolChangeVia {
    order: 2;
  }
  .toolChangeVia button.btnChange {
    top: 0;
    left: inherit;
    right: 0;
    height: 100%;
    width: 40px;
  }
  .toolChangeVia button.btnChange img {
    transform: rotate(90deg);
  }
  .toolChangeVia label.btnVia {
    position: relative;
    top: inherit;
    left: inherit;
    margin: 10px 0 0;
  }
  .toolVia {
    flex-direction: column;
    margin-top: 0;
  }
  .toolVia .likeInput {
    margin: 0;
  }
  .toolVia .likeInput {
    margin-top: 10px;
  }
}
.searchTransferLay2 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 20px;
  height: 45px;
}
@media screen and (max-width:991px) {
  .searchTransferLay2 {
    display: block;
    height: auto;
    margin-top: 15px;
  }
}
.toolTimeSelect {
  display: flex;
  justify-content: space-between;
  flex-grow: 1;
  align-items: center;
  height: 100%;
}
.selectDecoTyp01 {
  position: relative;
}
.layCenter .selectDecoTyp01 {
  display: inline-block;
}
.selectDecoTyp01 select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  position: relative;
  min-width: 65px;
  height: 3rem;
  padding: 0 30px 0 10px;
  font-size: 1rem;
  text-align: center;
  background: #ffffff;
  border: 1px solid #e6e6e6;
  border-radius: 6px;
}
.selectDecoTyp01 select::-ms-expand {
  display: none;
}
.selectDecoTyp01:after {
  content: "";
  display: block;
  position: absolute;
  right: 15px;
  top: 50%;
  margin-top: -5px;
  width: 5px;
  height: 11px;
  background: url("/img/ico_select.png") no-repeat 50% 50% / 5px auto;
}
.toolTimeSelect .selectDecoTyp01 {
  flex-grow: 1;
  height: 100%;
}
.toolTimeSelect .selectDecoTyp01 select {
  height: 100%;
}
.toolTimeSelect span {
  margin: 0 10px;
}
@media screen and (max-width:991px) {
  .toolTimeSelect {
    display: block;
  }
  .selectDecoTyp01 {
    display: inline-block;
    padding: 0;
  }
  .selectDecoTyp01 select {
    padding: 10px 30px 10px 10px;
  }
  .toolTimeSelect span {
    margin: 0 10px 0 5px;
  }
}
/*出発・到着・始発・終電*/
.toolChangeTimeSelect {
  display: flex;
  justify-content: space-between;
  margin-left: 40px;
  width: 320px;
  height: 100%;
}
.toolChangeTimeSelect input[type=radio] {
  display: none;
}
.toolChangeTimeSelect input[type=radio] + label {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 25%;
  border: 1px solid #e6e6e6;
  border-right: none;
  background: #ffffff;
  text-align: center;
  cursor: pointer;
  transition: background 0.2s ease-out;
}
.toolChangeTimeSelect input[type=radio] + label:hover {
  color: #000000;
  background: rgba(184, 184, 184, 0.20);
}
.toolChangeTimeSelect input[type=radio] + label.hatsu {
  border-radius: 5px 0 0 5px;
}
.toolChangeTimeSelect input[type=radio] + label.shuden {
  border-radius: 0 5px 5px 0;
  border-right: 1px solid #e6e6e6;
}
.toolChangeTimeSelect input[type=radio]:checked + label {
  color: #ffffff;
  border: 1px solid #004ea2;
  border-right: none;
  background: #004ea2;
}
.toolChangeTimeSelect input[type=radio]:checked + label.shuden {
  border-right: 1px solid #004ea2;
}
.selectMonthDay, .selectHourMin {
  display: flex;
  align-items: center;
  height: 100%;
}
@media screen and (max-width:991px) {
  .toolChangeTimeSelect {
    width: 100%;
    margin: 15px 0;
  }
  .toolChangeTimeSelect input[type=radio] + label {
    padding: 8px 0;
  }
  .selectMonthDay, .selectHourMin {
    display: block;
  }
  .selectHourMin {
    margin: 15px 0;
  }
}
.searchTransferLay3 {
  flex-grow: 1;
}
@media screen and (max-width:991px) {
  .searchTransferLay3 {}
}
/*右側*/
.searchTransferLay4 {
  display: flex;
  flex-direction: column;
  margin: 0 0 0 20px;
  border-left: 1px solid #c9c9c9;
  width: 260px;
  padding: 0 0 0 20px;
}
/*検索する*/
.searchBtnTyp01 {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font: inherit;
  outline: none;
  cursor: pointer;
  display: block;
  color: #ffffff;
  background: #68c14c;
  padding: 5px 10px;
  border: none;
  border-radius: 6px;
  font-size: 1.2rem;
  font-weight: 400;
  text-align: center;
  text-decoration: none;
  transition: background 0.2s ease-out;
}
.searchBtnTyp01:hover {
  background: #004ea2;
}
.searchTransferLay4 .searchBtnTyp01 {
  flex-grow: 1;
}
.searchTransferLay4 a.searchTransferMore {
  margin: 10px 0 0;
  padding: 5px 10px;
  color: #ffffff;
  background: #676767;
  border-radius: 6px;
  font-size: 0.9rem;
  text-align: center;
  text-decoration: none;
  transition: background 0.2s ease-out;
}
.searchTransferLay4 a.searchTransferMore:hover {
  background: rgba(103, 103, 103, 0.8);
}
@media screen and (max-width:991px) {
  .searchBtnTyp01 {
    padding: 8px;
    font-size: 1.1rem;
  }
  .searchTransferLay4 {
    flex-direction: row;
    justify-content: space-between;
    margin: 0;
    border-left: none;
    width: 100%;
    padding: 0;
  }
  .searchTransferLay4 a.searchTransferMore {
    margin: 0 0 0 20px;
  }
}
@media screen and (max-width:374px) {
  .searchTransferLay4 a.searchTransferMore {
    font-size: 3vw;
  }
}
/*-------------------------------*/
/*検索ツール内*/
/*時刻表*/
.searchTimetable {
  display: flex;
  justify-content: space-between;
}
.searchTimetableLay1 {
  display: flex;
  justify-content: space-between;
}
.searchTimetableLay1 .likeInput {
  width: 200px;
  flex-grow: 1;
}
.searchTimetableLay1 .searchBtnTyp01 {
  margin-left: 20px;
  width: 100px;
}
.searchTimetableLay2 {
  width: 385px;
}
.searchTimetableLay2 h3 {
  margin-bottom: 10px;
}
.searchTimetableLay3 {
  margin: 0 0 0 20px;
  border-left: 1px solid #c9c9c9;
  width: 415px;
  padding: 0 0 0 20px;
}
.searchTimetableLay4 {
  display: flex;
  flex-direction: column;
  margin: 0 0 0 20px;
  border-left: 1px solid #c9c9c9;
  width: 200px;
  padding: 0 0 0 20px;
}
.searchTimetable h3 {
  font-size: 1.05rem;
  font-weight: 400;
}
.searchTimetable .toolSearchStation {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  /*width: 395px; 不可*/
  width: 100%;
}
.searchTimetable .toolSearchStation .iconLinenetwork04 {
  flex-direction: column;
  align-items: flex-start;
}
.searchTimetable .toolSearchStation .iconLinenetwork04 .layTxt {
  white-space: nowrap;
}
.searchTimetable .toolSearchStation .linkTxtTyp01d {
  margin-top: 10px;
  width: 190px;
  font-size: 0.85rem;
}
.searchTimetable .iconLinenetwork02, .searchTimetable .iconLinenetwork04, .searchTimetable .iconMap02, .searchTimetable .iconAiueo02, .searchTimetable .iconLine02 {
  padding-left: 30px;
  min-height: 20px;
}
.searchTimetable .iconLinenetwork02:after, .searchTimetable .iconLinenetwork04:after, .searchTimetable .iconMap02:after, .searchTimetable .iconAiueo02:after, .searchTimetable .iconLine02:after {
  margin-top: -10px;
  width: 20px;
  height: 20px;
  background-size: 20px 20px;
}
@media screen and (max-width:991px) {
  .searchTimetable {
    display: block;
  }
  .searchTimetableLay1 {
    display: block;
  }
  .searchTimetableLay1 .likeInput {
    width: 100%;
  }
  .searchTimetableLay1 .searchBtnTyp01 {
    margin: 15px auto 0;
    width: 70%;
  }
  .searchTimetableLay2 {
    width: 100%;
  }
  .searchTimetableLay2 h3 {
    margin-bottom: 10px;
  }
  .searchTimetableLay3, .searchTimetableLay4 {
    margin: 20px 0 0;
    padding: 20px 0 0;
    border-left: none;
    border-top: 1px solid #c9c9c9;
    width: 100%;
  }
  .searchTimetable .toolSearchStation {
    width: 100%;
  }
  .searchTimetable .toolSearchStation .linkTxtTyp01d {
    width: 48%;
  }
  .searchTimetable .toolSearchStation .iconLinenetwork04 {
    flex-direction: row;
  }
  .searchTimetable .searchTimetableLay4 .toolSearchStation .linkTxtTyp01d {
    /*width: 100%; 不可*/
  }
}
@media screen and (max-width:424px) {
  .searchTimetable .toolSearchStation .linkTxtTyp01d {
    width: 100%;
  }
}
/*-------------------------------*/
/*検索ツール内*/
/*路線・駅情報*/
.layTabTrainUseItem .searchLine {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.searchLineLay1 {
  flex-grow: 1;
  width: 340px;
}
.searchLineLay1 .searchBtnTyp01 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 125px;
  padding: 0;
  overflow: hidden;
}
.searchLineLay1 .searchBtnTyp01 .layImg {
  display: block;
  width: 150px;
  height: auto;
}
.searchLineLay1 .searchBtnTyp01 .layTxt {
  display: block;
  margin: 0 auto;
  padding: 0 30px;
  text-align: left;
  font-size: 1.1rem;
  white-space: nowrap;
}
.searchLineLay2 {
  margin-left: 30px;
  border-left: 1px solid #c9c9c9;
  width: 320px;
  padding-left: 30px;
}
.searchLineLay2 .selectDecoTyp01 select {
  width: 100%;
  height: 60px;
}
.searchLineLay3 {
  flex-grow: 1;
  margin-left: 30px;
  border-left: 1px solid #c9c9c9;
  width: auto;
  padding-left: 30px;
}
.searchLineLay2 .searchBtnTyp01, .searchLineLay3 .searchBtnTyp01 {
  margin: 20px auto 0;
  width: 70%;
  padding: 10px;
}
@media screen and (max-width:991px) {
  .layTabTrainUseItem .searchLine {
    display: block;
    width: 100%;
  }
  .searchLineLay1 {
    width: 100%;
  }
  .searchLineLay1 .searchBtnTyp01 {
    height: auto;
  }
  .searchLineLay1 .searchBtnTyp01 .layTxt {
    padding: 0;
  }
  .searchLineLay1 .searchBtnTyp01 .layTxt br:last-of-type {
    display: none;
  }
  .searchLineLay1 .searchBtnTyp01 .layImg {
    width: 80px;
  }
  .searchLineLay2 {
    margin: 20px 0 0;
    padding: 20px 0 0;
    border-left: none;
    border-top: 1px solid #c9c9c9;
    width: 100%;
  }
  .searchLineLay2 .selectDecoTyp01 {
    width: 100%;
  }
  .searchLineLay2 .selectDecoTyp01 select {
    width: 100%;
    height: 40px;
  }
  .searchLineLay3 {
    margin: 20px 0 0;
    padding: 20px 0 0;
    border-left: none;
    border-top: 1px solid #c9c9c9;
    width: 100%;
  }
  .searchLineLay2 .searchBtnTyp01, .searchLineLay3 .searchBtnTyp01 {
    margin-top: 15px;
  }
}
@media screen and (max-width:374px) {
  .searchLineLay1 .searchBtnTyp01 .layTxt {
    font-size: 4.5vw;
  }
}
/*-------------------------------*/
/*検索ツール内*/
/*ミューチケット*/
.searchMuTicket {
  width: 100%;
}
.searchMuTicket .layTxt {
  font-size: 1.4rem;
  font-weight: 700;
}
.searchMuTicket .layTxt .subTxtTyp02 {
  font-size: 70%;
  font-weight: 500;
}
.selectMuTicketPurchase {
  display: flex;
  justify-content: space-between;
}
.searchMuTicket .layTxt + .selectMuTicketPurchase {
  margin-top: 15px;
}
.selectMuTicketPurchase li {
  width: 48.5%;
}
.selectMuTicketPurchase li .searchBtnTyp01 {
  padding: 15px;
}
.selectMuTicketPurchase a[target="_blank"] span.linkIconTypBlankSubTyp2 {
  background-position: 100% 50%;
}
@media screen and (max-width:991px) {
  .searchMuTicket .layTxt {
    font-size: 1.3rem;
    color: #676767;
    font-weight: 500;
  }
  .searchMuTicket .layTxt .subTxtTyp02 {
    font-size: 50%;
  }
  .selectMuTicketPurchase {
    display: block;
  }
  .selectMuTicketPurchase li {
    width: 100%;
  }
  .selectMuTicketPurchase li + li {
    margin-top: 15px;
  }
}
/*-------------------------------*/
/*検索エリア*/
/*沿線検索他*/
.layDropdown {
  border: 1px solid #e6e6e6;
  border-radius: 6px;
  /*margin: 4px; 不可*/
  box-shadow: 0 1.5px 2px #eee;
}
.layDropdown > button {
  display: block;
  position: relative;
  margin: 0;
  width: 100%;
  padding: 15px 30px;
  border: none;
  font: inherit;
  background: none;
  text-align: center;
  cursor: pointer;
  color: inherit;
  outline: none;
}
@media screen and (max-width:374px) {
  .layDropdown > button {
    padding: 15px 25px 15px 15px;
    text-align: left;
  }
}
/* ± */
.layDropdown > button:before, .layDropdown > button:after {
  position: absolute;
  content: "";
  display: block;
  background: #004ea2;
}
.layDropdown > button:before {
  width: 15px;
  height: 3px;
  right: 15px;
  top: calc(50% - 2px);
}
.layDropdown > button:after {
  width: 3px;
  height: 15px;
  right: 21px;
  top: calc(50% - 8px);
}
.layDropdown.open > button:after {
  visibility: hidden;
}
/*アコーディオン内のコンテンツ*/
main .dropdownContent {
  padding: 0 0 39px;
  margin: 0 19px;
}
main .dropdownContent:before {
  content: "";
  display: block;
  height: 1px;
  border-top: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6;
}
@media screen and (max-width:991px) {
  main .dropdownContent {
    padding: 0 0 19px;
  }
}
.dropdownContent h1 {
  font-size: 100%;
  color: #808080;
  text-align: center;
  margin: 17px 0 10px;
}
.dropdownContent h2 {
  font-size: 90%;
  background: #f0f0f0;
  color: #555;
  text-align: center;
  margin: 10px 0;
  line-height: 2;
}
.dropdownContent [type="text"] {
  border: 1px solid #e6e6e6;
  box-sizing: border-box;
  width: 100%;
  border-radius: 6px;
  padding: 8px 10px;
  font: inherit;
}
/* Accordion behavior */
.layDropdown > .dropdown {
  overflow: hidden;
  transition: 300ms height;
  height: 0;
}
.layDropdown:not(.open) > .dropdown {
  height: 0 !important;
}
/* Tabs */
.layTabGroup {
  border: 1px solid #e6e6e6;
  border-radius: 6px;
  /*overflow: hidden; 不可*/
  background: #ffffff;
  margin: 20px 0 50px;
  box-shadow: 0 2px 3px #eee;
}
.layTabGroup > ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -1px -1px 0;
  padding: 0;
}
.layTabGroup.typ2 > ul {
  flex-wrap: nowrap;
  justify-content: space-between;
}
.layTabGroup.typ3 > ul {
  justify-content: space-between;
}
.layTabGroup > ul > li {
  flex-grow: 1;
  position: relative;
  width: 33.33333333%;
}
.layTabGroup.typ2 > ul > li {
  width: auto;
}
.layTabGroup.typ3 > ul > li {
  width: 50%;
}
.layTabGroup.typ4 > ul > li {
  width: 25%;
}
.layTabGroup > ul > li > a, .layTabGroup > ul > li > span.act {
  display: flex;
  align-items: center;
  justify-content: center;
  border-right: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6;
  padding: 20px;
  font-size: 1rem;
  font-weight: 500;
  text-align: center;
  /*color: #555; 不可*/
  /*text-decoration: inherit; 不可*/
  /*font-weight: bold; 不可*/
  color: #555555;
  text-decoration: inherit;
  transition: background 0.2s ease-out;
}
.layTabGroup.typ2 > ul > li > a, .layTabGroup.typ2 > ul > li > span.act {
  /*padding: 15px; 不可*/
  padding: 15px 5px;
}
.layTabGroup > ul > li > a:hover {
  background: #004ea2;
  color: #ffffff;
}
.layTabGroup > ul > li.ht-act > a, .layTabGroup > ul > li > span.act {
  background: #00a496;
  color: #ffffff;
}
.layTabGroup > ul > li.ht-act:after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -5px;
  width: 20px;
  height: 20px;
  margin-left: -10px;
  background: #00a496;
  transform: rotate(45deg);
}
.searchTabContent:not(.ht-act) {
  display: none;
}
.layTabGroup.typ2 > ul > li.ht-act:after {
  display: none;
}
.layTabGroup > ul > li:first-child a, .layTabGroup > ul > li:first-child span.act {
  border-radius: 6px 0 0 6px;
}
.layTabGroup > ul > li:last-child a, .layTabGroup > ul > li:last-child span.act {
  border-radius: 0 6px 6px 0;
}
@media screen and (max-width:991px) {
  .layTabGroup {
    margin-bottom: 30px;
  }
  .layTabGroup.typ2 > ul {
    flex-wrap: wrap;
  }
  .layTabGroup > ul > li {
    display: flex;
  }
  .layTabGroup.typ2 > ul > li {
    width: 20%;
  }
  .layTabGroup.typ2 > ul > li:nth-child(5n) a, .layTabGroup.typ2 > ul > li:nth-child(5n) span.act {
    border-right: none;
  }
  .layTabGroup.typ2.adj > ul > li {
    width: 25%;
  }
  .layTabGroup.typ2.adj > ul > li:nth-child(5n) a, .layTabGroup.typ2.adj > ul > li:nth-child(5n) span.act {
    border-right: 1px solid #e6e6e6;
  }
  .layTabGroup > ul > li > a, .layTabGroup > ul > li > span.act {
    /*display: block; 不可*/
    flex-direction: column;
    width: 100%;
    padding: 10px 5px;
  }
  .layTabGroup.typ2 > ul > li > a, .layTabGroup.typ2 > ul > li > span.act {
    font-size: 1rem;
  }
  .layTabGroup.typ2.adj > ul > li > a, .layTabGroup.typ2.adj > ul > li > span.act, .layTabGroup.typ4 > ul > li > a, .layTabGroup.typ4 > ul > li > span.act {
    font-size: 0.8rem;
  }
  .layTabGroup > ul > li .layTxt {
    white-space: nowrap;
  }
  .layTabGroup > ul > li.ht-act:after {
    display: none;
  }
  .layTabGroup.typ2 > ul > li:first-child a, .layTabGroup.typ2 > ul > li:first-child span.act {
    border-radius: 6px 0 0 0;
  }
  .layTabGroup.typ2 > ul > li:last-child a, .layTabGroup.typ2 > ul > li:last-child span.act {
    border-radius: 0 0 6px 0;
  }
}
@media screen and (max-width:500px) {
  .layTabGroup.typ4 > ul > li > a, .layTabGroup.typ4 > ul > li > span.act {
    padding: 10px 2px;
    font-size: 0.7rem;
  }
}
@media screen and (max-width:424px) {
  .layTabGroup.typ2.adj > ul > li > a, .layTabGroup.typ2.adj > ul > li > span.act {
    padding: 10px 2px;
    font-size: 0.7rem;
  }
}
@media screen and (max-width:374px) {
  .layTabGroup > ul > li > a, .layTabGroup > ul > li > span.act {
    font-size: 3.7vw;
  }
  .layTabGroup.typ2.adj > ul > li > a, .layTabGroup.typ2.adj > ul > li > span.act {
    padding: 10px 0;
  }
  .layTabGroup.typ4 > ul > li > a, .layTabGroup.typ4 > ul > li > span.act {
    font-size: 3vw;
    letter-spacing: -0.05rem;
    padding: 10px 0;
  }
}
/*-------------------------------*/
/*動画の表示*/
.wrapVideo {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  /*動画の縦横比が16：9*/
  padding-bottom: 56.25%;
}
.wrapVideo iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.wrapVideo + p {
  margin-top: 30px;
}
/*-------------------------------*/
/*欄外要素*/
/*/delay-train/delay_log.html*/
.anotherTyp01 {
  margin-top: 60px;
  border-top: 1px solid #dfdfdf;
  padding-top: 60px;
}
.anotherTyp01 > .ulTypLink {
  margin: 0;
}
@media screen and (max-width:991px) {
  .anotherTyp01 {
    margin-top: 30px;
    padding-top: 30px;
  }
}
/*-------------------------------*/
/*Nano Lightbox*/
.nanoLightbox {
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.8);
  pointer-events: none;
  z-index: 1500;
  display: flex;
  justify-content: center;
  align-items: center;
  animation: 300ms fade-out both;
}
.nanoLightbox.show {
  pointer-events: auto;
  animation: 300ms fade-in both;
}
@keyframes fade-out {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
/*枠*/
.nanoLightbox .dialog {
  background: white;
  transition: 300ms width, 300ms height;
  will-change: width, height;
  box-sizing: content-box;
  padding: 5px;
  position: relative;
}
.nanoLightbox.readySettle .dialog {
  transition: none;
}
.nanoLightbox:not(.ready) .dialog {
  width: 190px !important;
  height: 60px !important;
}
/*コンテンツ*/
.nanoLightbox .content {
  opacity: 0;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.nanoLightbox.ready .content {
  animation: 300ms fade-in 300ms both;
}
.nanoLightbox img {
  image-rendering: optimizeQuality;
}
/*閉じる*/
.nanoLightbox .close {
  position: absolute;
  right: -20px;
  top: -20px;
  width: 40px;
  height: 40px;
  border: none;
  margin: 0;
  padding: 0;
  background: white;
  border-radius: 3px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  cursor: pointer;
  transition: 300ms opacity;
  outline: none;
}
.nanoLightbox .close:before, .nanoLightbox .close:after {
  content: "";
  display: block;
  position: absolute;
  top: 19px;
  left: 9px;
  width: 22px;
  height: 2px;
  background: #004ea2;
  transform: rotate(45deg);
}
.nanoLightbox .close:after {
  transform: rotate(-45deg);
}
.nanoLightbox:not(.ready) .close {
  opacity: 0;
}
/*読み込み中アニメーション*/
.nanoLightbox .progress {
  transition: 300ms opacity;
  position: absolute;
  left: calc(50% - 75px);
  top: calc(50% - 1px);
  width: 150px;
  height: 2px;
  overflow: hidden;
}
.nanoLightbox.ready .progress {
  opacity: 0;
}
.nanoLightbox.readySettle .progress {
  display: none;
}
.nanoLightbox .progress:before {
  position: absolute;
  content: "";
  width: 100px;
  height: 2px;
  background: #ccc;
  animation: 600ms 0s cubic-bezier(0.5, 0.0, 0.5, 1.0) infinite alternate bounce;
}
@keyframes bounce {
  0% {
    transform: translateX(-96px);
  }
  100% {
    transform: translateX(146px);
  }
}
/*-------------------------------*/
/*電話番号リンクの無効化*/
@media screen and (min-width:992px) {
  a[href^="tel:"] {
    display: inline-block;
    color: inherit;
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
/*-------------------------------*/
/*スマホ表示時のオリジナルコード用のtable横スクロール表示*/
@media screen and (max-width:991px) {
  .spTableScroll {
    border: 1px solid rgba(0, 164, 150, 0.5);
    overflow-x: auto;
    scrollbar-color: #00a496;
  }
  .spTableScroll::-webkit-scrollbar {
    height: 10px;
  }
  .spTableScroll::-webkit-scrollbar-thumb {
    background-color: #00a496;
    border-radius: 6px;
  }
  .spTableScroll::-webkit-scrollbar-track-piece, .spTableScroll::-webkit-scrollbar-track {
    background-color: #efefef;
    border-radius: 6px;
  }
}
/*-------------------------------*/
/*end*/