#wrapper {
  overflow: hidden;
}

.keyVisual {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  width: 1600px;
}

.contentsInr img {
  /*vertical-align: bottom;*/
  margin: 0;
  padding: 0;
}

#tabArea {
  margin-top: -30px;
}

#tabArea ul {
  width: 950px;
  margin: auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

#tabArea ul li {
  width: 132px;
}

#tabArea ul li a {
  display: block;
  border: 2px solid;
  position: relative;
  padding: 6px;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  background: #ffffff;
  transition: 0.3s;
  box-sizing: border-box;
}

#tabArea ul li a:hover {
  color: #ffffff !important;
  text-decoration: none;
  transition: 0.3s;
}

#tabArea ul li.-active a {
  color: #ffffff !important;
  box-sizing: border-box;
}

#tabArea ul li.-active a:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 10px 0 10px;
  border-color: #dddddd transparent transparent transparent;
  position: absolute;
  bottom: -10px;
  left: 0;
  right: 0;
  margin: auto;
}

#tabArea ul li.sapporo a {
  border-color: #149614;
  color: #149614;
}

#tabArea ul li.sapporo a:hover {
  background: #149614;
}

#tabArea ul li.sapporo.-active a {
  background: #149614;
}

#tabArea ul li.sapporo.-active a:after {
  border-color: #149614 transparent transparent transparent;
}

#tabArea ul li.tokyo a {
  border-color: #8943b3;
  color: #8943b3;
}

#tabArea ul li.tokyo a:hover {
  background: #8943b3;
}

#tabArea ul li.tokyo.-active a {
  background: #8943b3;
}

#tabArea ul li.tokyo.-active a:after {
  border-color: #8943b3 transparent transparent transparent;
}

#tabArea ul li.nagoya a {
  border-color: #ec3070;
  color: #ec3070;
}

#tabArea ul li.nagoya a:hover {
  background: #ec3070;
}

#tabArea ul li.nagoya.-active a {
  background: #ec3070;
}

#tabArea ul li.nagoya.-active a:after {
  border-color: #ec3070 transparent transparent transparent;
}

#tabArea ul li.osaka a {
  border-color: #0db8bc;
  color: #0db8bc;
}

#tabArea ul li.osaka a:hover {
  background: #0db8bc;
}

#tabArea ul li.osaka.-active a {
  background: #0db8bc;
}

#tabArea ul li.osaka.-active a:after {
  border-color: #0db8bc transparent transparent transparent;
}

#tabArea ul li.hiroshima a {
  border-color: #f43939;
  color: #f43939;
}

#tabArea ul li.hiroshima a:hover {
  background: #f43939;
}

#tabArea ul li.hiroshima.-active a {
  background: #f43939;
}

#tabArea ul li.hiroshima.-active a:after {
  border-color: #f43939 transparent transparent transparent;
}

#tabArea ul li.fukuoka a {
  border-color: #ff8000;
  color: #ff8000;
}

#tabArea ul li.fukuoka a:hover {
  background: #ff8000;
}

#tabArea ul li.fukuoka.-active a {
  background: #ff8000;
}

#tabArea ul li.fukuoka.-active a:after {
  border-color: #ff8000 transparent transparent transparent;
}

#tabArea ul li.naha a {
  border-color: #0059ff;
  color: #0059ff;
}

#tabArea ul li.naha a:hover {
  background: #0059ff;
}

#tabArea ul li.naha.-active a {
  background: #0059ff;
}

#tabArea ul li.naha.-active a:after {
  border-color: #0059ff transparent transparent transparent;
}


.titleM {
  font-weight: bold;
  font-size: 24px;
  color: #F20000;
  margin-top: 30px;
  text-align: center;
}

.titleM+p {
  margin-top: 10px;
  text-align: center;
}

.mapArea {
  display: block;
  margin-top: 30px;
  position: relative;
}

.mapArea .stationList>li {
  position: absolute;
  background: #ffffff;
}

.mapArea .stationList>li>a {
  display: inline-block;
  border: 2px solid #040000;
  box-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 0.5);
  padding: 2px 8px 2px 18px;
  font-size: 14px;
  position: relative;
  line-height: 1.4;
  transition: 0.3s;
}

.mapArea .stationList>li>a:hover {
  cursor: pointer;
  text-decoration: none;
  opacity: 0.7;
  transition: 0.3s;
}

.mapArea .stationList>li>a::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 6px;
  border-color: transparent transparent transparent #040000;
  position: absolute;
  left: 5px;
  top: 50%;
  transform: translateY(-50%);
}

.mapArea .stationList>li.-aprt {
  border-radius: 100px;
}

.mapArea .stationList>li.-aprt>a {
  background: #ffffff;
  border-radius: 100px;
  padding: 7px 15px 7px 35px;
}

.mapArea .stationList>li.-aprt>a::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url(../img/icon_plane01.png) no-repeat 0 0;
  background-size: 100%;
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-54%);
  border: none;
}

.mapArea .stationList>li>a.-fsSml {
  font-size: 12px;
  line-height: 1.2;
}


.mapArea .stationList>li.-colBlue>a,
.mapArea .stationList>li.-colBlue .stName {
  background: #d4ebff;
}

.mapArea .stationList>li.-colPink>a,
.mapArea .stationList>li.-colPink .stName {
  background: #ffdce1;
}

.mapArea .stationList>li.-colGreen>a,
.mapArea .stationList>li.-colGreen .stName {
  background: #caf0dd;
}

.mapArea .stationList>li.-colOrange>a,
.mapArea .stationList>li.-colOrange .stName {
  background: #ffdeb6;
}

.mapArea .stationList>li.-colPurple>a,
.mapArea .stationList>li.-colPurple .stName {
  background: #efd5f5;
}

.mapArea .stationList>li.-colYellow>a,
.mapArea .stationList>li.-colYellow .stName {
  background: #f7f0a0;
}

.mapArea .stationList>li .infoBox {
  display: none;
  background: #ffffff;
  border: 1px solid #000000;
  box-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 0.5);
  position: absolute;
  left: 120%;
  top: 0;
  min-width: 364px;
  z-index: 99;
}

.mapArea .stationList>li .infoBox.-posLeft {
  left: auto;
  right: 120%;
}

.mapArea .stationList>li .infoBox .stName {
  border-bottom: 1px solid #000000;
  display: flex;
}

.mapArea .stationList>li .infoBox .stName p {
  padding: 5px;
  box-sizing: border-box;
  width: calc(100% - 30px);
  line-height: 1.4;
  text-align: center;
  font-weight: bold;
}

.mapArea .stationList>li .infoBox .stName .close {
  width: 30px;
  height: 30px;
  display: block;
  position: relative;
  background: #000000;
  transition: 0.3s;
}

.mapArea .stationList>li .infoBox .stName .close:hover {
  cursor: pointer;
  opacity: 0.7;
  transition: 0.3s;
}

.mapArea .stationList>li .infoBox .stName .close:before,
.mapArea .stationList>li .infoBox .stName .close:after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 60%;
  height: 2px;
  margin: -8% 0 0 -30%;
  background: #fff;
}

.mapArea .stationList>li .infoBox .stName .close:before {
  transform: rotate(-45deg);
}

.mapArea .stationList>li .infoBox .stName .close:after {
  transform: rotate(45deg);
}

.mapArea .stationList>li .infoBox .inner {
  padding: 12px;
}

.mapArea .stationList>li .infoBox .inner ul {
  display: flex;
}

.mapArea .stationList>li .infoBox .inner ul li {
  width: 48%;
  width: calc((100% - 5px) / 2);
  border: 1px solid #cb0000;
  padding: 8px 4px 4px;
  box-sizing: border-box;
}

.mapArea .stationList>li .infoBox .inner ul li:not(:nth-child(2n)) {
  margin-right: 5px;
}

.mapArea .stationList>li .infoBox .inner ul li .tits {
  font-size: 10px;
  text-align: center;
  line-height: 1.4;
  margin-bottom: 5px;
}

.mapArea .stationList>li .infoBox .inner ul li .tits span {
  font-size: 14px;
  font-weight: bold;
  color: #cb0000;
}

.mapArea .stationList>li .infoBox .inner ul li .mdlBtn a {
  display: block;
}


/* sapporo */
.mapArea.sapporo .stationList .pos_sapporoSt {
  top: 95px;
  left: 339px;
}

.mapArea.sapporo .stationList .pos_nishi11chomeSt {
  top: 209px;
  left: 200px;
}

.mapArea.sapporo .stationList .pos_odoriSt {
  top: 209px;
  left: 339px;
}

.mapArea.sapporo .stationList .pos_susukinoSt {
  top: 277px;
  left: 278px;
}

.mapArea.sapporo .stationList .pos_housuiSt {
  top: 277px;
  left: 368px;
}

.mapArea.sapporo .stationList .pos_nakajimaSt {
  top: 345px;
  left: 312px;
}

.mapArea.sapporo .stationList .pos_shinchitoseAprt {
  top: 50px;
  left: 810px;
}


/* tokyo */
.mapArea.tokyo .stationList .pos_akasakaSt {
  top: 257px;
  left: 302px;
}

.mapArea.tokyo .stationList .pos_akasakamitsukeSt {
  top: 225px;
  left: 325px;
}

.mapArea.tokyo .stationList .pos_akihabaraSt {
  top: 143px;
  left: 664px;
}

.mapArea.tokyo .stationList .pos_ikebukuroSt {
  top: 54px;
  left: 257px;
}

.mapArea.tokyo .stationList .pos_uenoSt {
  top: 54px;
  left: 622px;
}

.mapArea.tokyo .stationList .pos_kamataSt {
  top: 428px;
  left: 321px;
}

.mapArea.tokyo .stationList .pos_kawasakiSt {
  top: 488px;
  left: 183px;
}

.mapArea.tokyo .stationList .pos_kandaSt {
  top: 205px;
  left: 674px;
}

.mapArea.tokyo .stationList .pos_kokusaitenjijoSt {
  top: 369px;
  left: 765px;
}

.mapArea.tokyo .stationList .pos_gotandaSt {
  top: 348px;
  left: 183px;
}

.mapArea.tokyo .stationList .pos_shinagawaSt {
  top: 348px;
  left: 321px;
}

.mapArea.tokyo .stationList .pos_sinagawaSeasideSt {
  top: 388px;
  left: 377px;
}

.mapArea.tokyo .stationList .pos_shibuyaSt {
  top: 306px;
  left: 144px;
}

.mapArea.tokyo .stationList .pos_shinjukuSt {
  top: 205px;
  left: 144px;
}

.mapArea.tokyo .stationList .pos_shinbashiSt {
  top: 311px;
  left: 664px;
}

.mapArea.tokyo .stationList .pos_suidobashiSt {
  top: 205px;
  left: 490px;
}

.mapArea.tokyo .stationList .pos_tamachiSt {
  top: 348px;
  left: 500px;
}

.mapArea.tokyo .stationList .pos_tokyoSt {
  top: 268px;
  left: 674px;
}

.mapArea.tokyo .stationList .pos_tokyoBigsightSt {
  top: 307px;
  left: 740px;
}

.mapArea.tokyo .stationList .pos_naritakukoSt {
  top: 46px;
  left: 822px;
}

.mapArea.tokyo .stationList .pos_hanedakukoSt {
  top: 472px;
  left: 710px;
}

.mapArea.tokyo .stationList .pos_hamamatsuchoSt {
  top: 348px;
  left: 585px;
}

.mapArea.tokyo .stationList .pos_higashisinjukuSt {
  top: 188px;
  left: 213px;
}

.mapArea.tokyo .stationList .pos_roppongiSt {
  top: 307px;
  left: 302px;
}

.mapArea.tokyo .stationList .pos_yotuya3chomeSt {
  top: 225px;
  left: 213px;
}

/* nagoya */
.mapArea.nagoya .stationList .pos_sakaeSt {
  top: 154px;
  left: 550px;
}

.mapArea.nagoya .stationList .pos_nagoyaSt {
  top: 114px;
  left: 319px;
}

.mapArea.nagoya .stationList .pos_chubukokusaikukoSt {
  top: 344px;
  left: 520px;
}

/* okasa */
.mapArea.osaka .stationList .pos_umedaSt {
  top: 183px;
  left: 498px;
}

.mapArea.osaka .stationList .pos_esakaSt {
  top: 50px;
  left: 498px;
}

.mapArea.osaka .stationList .pos_osakaSt {
  top: 157px;
  left: 420px;
}

.mapArea.osaka .stationList .pos_osakakukoSt {
  top: 15px;
  left: 240px;
}

.mapArea.osaka .stationList .pos_kansaikukoSt {
  top: 488px;
  left: 186px;
}

.mapArea.osaka .stationList .pos_kyoubashiSt {
  top: 245px;
  left: 740px;
}

.mapArea.osaka .stationList .pos_shinosakaSt {
  top: 98px;
  left: 492px;
}

.mapArea.osaka .stationList .pos_tenmabashiSt {
  top: 245px;
  left: 656px;
}

.mapArea.osaka .stationList .pos_nambaSt {
  top: 357px;
  left: 492px;
}

.mapArea.osaka .stationList .pos_universalCitySt {
  top: 258px;
  left: 50px;
}

.mapArea.osaka .stationList .pos_yodoyabashiSt {
  top: 245px;
  left: 492px;
}

/* hiroshima */
.mapArea.hiroshima .stationList .pos_kenchomaeSt {
  top: 234px;
  left: 388px;
}

.mapArea.hiroshima .stationList .pos_hiroshimaSt {
  top: 88px;
  left: 603px;
}

.mapArea.hiroshima .stationList .pos_hondouriSt {
  top: 334px;
  left: 395px;
}

/* fukuoka */
.mapArea.fukuoka .stationList .pos_akasakaSt {
  top: 174px;
  left: 67px;
}

.mapArea.fukuoka .stationList .pos_gionSt {
  top: 174px;
  left: 511px;
}

.mapArea.fukuoka .stationList .pos_tenjinSt {
  top: 174px;
  left: 213px;
}

.mapArea.fukuoka .stationList .pos_tenjinminamiSt {
  top: 223px;
  left: 391px;
}

.mapArea.fukuoka .stationList .pos_nakasukawabataSt {
  top: 174px;
  left: 349px;
}

.mapArea.fukuoka .stationList .pos_hakataSt {
  top: 174px;
  left: 648px;
}

.mapArea.fukuoka .stationList .pos_fukuokakukoSt {
  top: 134px;
  left: 764px;
}

.mapArea.fukuoka .stationList .pos_yakuinSt {
  top: 280px;
  left: 245px;
}

.mapArea.fukuoka .stationList .pos_watanabadoriSt {
  top: 280px;
  left: 391px;
}

/* naha */
.mapArea.naha .stationList .pos_akamineSt {
  top: 374px;
  left: 198px;
}

.mapArea.naha .stationList .pos_asahibashiSt {
  top: 251px;
  left: 336px;
}

.mapArea.naha .stationList .pos_omoromachiSt {
  top: 162px;
  left: 537px;
}

.mapArea.naha .stationList .pos_kenchomaeSt {
  top: 216px;
  left: 367px;
}

.mapArea.naha .stationList .pos_tsubogawaSt {
  top: 285px;
  left: 392px;
}

.mapArea.naha .stationList .pos_makishiSt {
  top: 213px;
  left: 476px;
}

.mapArea.naha .stationList .pos_miebashiSt {
  top: 182px;
  left: 399px;
}