#container.region .region-ttl {
  font-size: 44px;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  color: #000;
  margin: 48px auto 70px;
}

@media (max-width: 640px) {
  #container.region .region-ttl {
    font-size: 22px;
    margin: 26px auto 25px;
  }
}

#container.region .map {
  max-width: 1440px;
  margin: 0 auto;
  border-bottom: solid 1px #ddd;
}

@media (max-width: 950px) {
  #container.region .map {
    overflow: hidden;
  }
}

@media (max-width: 640px) {
  #container.region .map {
    margin: 0 10px;
  }
}

@media (max-width: 950px) {
  #container.region .map .map-scaller {
    width: 620px;
    margin: 0 auto;
  }
}

@media (max-width: 640px) {
  #container.region .map .map-scaller {
    width: auto;
  }
}

#container.region .map-imgs {
  position: relative;
  width: 855px;
  height: 472px;
  margin: 0 auto;
}

@media (max-width: 950px) {
  #container.region .map-imgs {
    -webkit-transform: scale(0.7) translate3d(20px, 0, 0);
            transform: scale(0.7) translate3d(20px, 0, 0);
    -webkit-transform-origin: left center;
            transform-origin: left center;
  }
}

@media (max-width: 640px) {
  #container.region .map-imgs {
    -webkit-transform: scale(1) translate3d(0, 0, 0);
            transform: scale(1) translate3d(0, 0, 0);
    width: 87.5%;
    height: auto;
    padding: 50.625% 0 0;
  }
}

#container.region .map-imgs__item {
  position: absolute;
}

#container.region .map-imgs__item::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 100%;
  opacity: 0;
  -webkit-transition: opacity 0.25s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: opacity 0.25s cubic-bezier(0.39, 0.575, 0.565, 1);
}

#container.region .map-imgs__item__btn {
  display: inline-block;
  border: solid 3px #90c31f;
  border-radius: 18px;
  background: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  height: 36px;
  line-height: 30px;
  font-size: 11px;
  font-weight: 500;
  color: #90c31f;
  padding: 0 20px;
  text-align: center;
  position: absolute;
  z-index: 1;
  -webkit-box-shadow: 0 2px 2px rgba(204, 204, 204, 0.35);
          box-shadow: 0 2px 2px rgba(204, 204, 204, 0.35);
  -webkit-transition: background-color 0.25s cubic-bezier(0.39, 0.575, 0.565, 1), border-color 0.25s cubic-bezier(0.39, 0.575, 0.565, 1), color 0.25s cubic-bezier(0.39, 0.575, 0.565, 1), -webkit-box-shadow 0.25s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: background-color 0.25s cubic-bezier(0.39, 0.575, 0.565, 1), border-color 0.25s cubic-bezier(0.39, 0.575, 0.565, 1), color 0.25s cubic-bezier(0.39, 0.575, 0.565, 1), -webkit-box-shadow 0.25s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: box-shadow 0.25s cubic-bezier(0.39, 0.575, 0.565, 1), background-color 0.25s cubic-bezier(0.39, 0.575, 0.565, 1), border-color 0.25s cubic-bezier(0.39, 0.575, 0.565, 1), color 0.25s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: box-shadow 0.25s cubic-bezier(0.39, 0.575, 0.565, 1), background-color 0.25s cubic-bezier(0.39, 0.575, 0.565, 1), border-color 0.25s cubic-bezier(0.39, 0.575, 0.565, 1), color 0.25s cubic-bezier(0.39, 0.575, 0.565, 1), -webkit-box-shadow 0.25s cubic-bezier(0.39, 0.575, 0.565, 1);
  cursor: pointer;
}

@media (max-width: 640px) {
  #container.region .map-imgs__item__btn {
    border-width: 2px;
    border-radius: 8px;
    height: 16px;
    line-height: 12px;
    font-size: 10px;
    padding: 0 3px;
    -webkit-box-shadow: 0 1px 1px rgba(204, 204, 204, 0.35);
            box-shadow: 0 1px 1px rgba(204, 204, 204, 0.35);
    white-space: nowrap;
  }
}

#container.region .map-imgs__item__btn:hover {
  -webkit-box-shadow: 0 3px 3px rgba(187, 187, 187, 0.6), 0 5px 5px rgba(204, 204, 204, 0.5);
          box-shadow: 0 3px 3px rgba(187, 187, 187, 0.6), 0 5px 5px rgba(204, 204, 204, 0.5);
}

@media (max-width: 640px) {
  #container.region .map-imgs__item__btn:hover {
    -webkit-box-shadow: 0 1px 1px rgba(204, 204, 204, 0.35);
            box-shadow: 0 1px 1px rgba(204, 204, 204, 0.35);
  }
}

#container.region .map-imgs__item__img {
  display: block;
  -webkit-transition: opacity 0.25s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: opacity 0.25s cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media (max-width: 640px) {
  #container.region .map-imgs__item__img {
    width: 100%;
    height: auto;
  }
}

#container.region .map-imgs__item--canada {
  top: 0px;
  left: 57px;
}

@media (max-width: 640px) {
  #container.region .map-imgs__item--canada {
    top: 0;
    left: 0;
    width: 34.46429%;
    margin: 0.17857% 0 0 10%;
  }
}

#container.region .map-imgs__item--canada::before {
  background-image: url(../img/region/canada_on.png);
}

@media (max-width: 640px) {
  #container.region .map-imgs__item--canada::before {
    background-image: url(../img/region/canada_sp_on.png);
  }
}

#container.region .map-imgs__item--canada__btn {
  top: 15px;
  left: 50px;
}

@media (max-width: 640px) {
  #container.region .map-imgs__item--canada__btn {
    top: 0;
    left: 0;
    margin: 0 0 0 36.63793%;
  }
}

#container.region .map-imgs__item--north_america {
  top: 32px;
  left: -1px;
}

@media (max-width: 640px) {
  #container.region .map-imgs__item--north_america {
    top: 0;
    left: 0;
    width: 23.21429%;
    margin: 3.92857% 0 0 3.21429%;
  }
}

#container.region .map-imgs__item--north_america::before {
  background-image: url(../img/region/north_america_on.png);
}

@media (max-width: 640px) {
  #container.region .map-imgs__item--north_america::before {
    background-image: url(../img/region/north_america_sp_on.png);
  }
}

#container.region .map-imgs__item--north_america__btn {
  top: 60px;
  left: 30px;
}

@media (max-width: 640px) {
  #container.region .map-imgs__item--north_america__btn {
    top: 0;
    left: 10px;
    margin: 25.86207% 0 0 -7.75862%;
  }
}

#container.region .map-imgs__item--south_america {
  top: 155px;
  left: 51px;
}

@media (max-width: 640px) {
  #container.region .map-imgs__item--south_america {
    width: 26.42857%;
    top: 0;
    left: 0;
    margin: 19.28571% 0 0 9.46429%;
  }
}

#container.region .map-imgs__item--south_america::before {
  background-image: url(../img/region/central_south_america_on.png);
}

@media (max-width: 640px) {
  #container.region .map-imgs__item--south_america::before {
    background-image: url(../img/region/central_south_america_sp_on.png);
  }
}

#container.region .map-imgs__item--south_america__btn {
  top: 111px;
  left: 11px;
}

@media (max-width: 640px) {
  #container.region .map-imgs__item--south_america__btn {
    top: 0;
    left: 0;
    margin: 58.10811% 0 0 -35.81081%;
  }
}

#container.region .map-imgs__item--europe {
  top: 6px;
  left: 358px;
}

@media (max-width: 640px) {
  #container.region .map-imgs__item--europe {
    width: 53.57143%;
    top: 0;
    left: 0;
    margin: 0.71429% 0 0 41.96429%;
  }
}

#container.region .map-imgs__item--europe::before {
  background-image: url(../img/region/europe_on.png);
}

@media (max-width: 640px) {
  #container.region .map-imgs__item--europe::before {
    background-image: url(../img/region/europe_sp_on.png);
  }
}

#container.region .map-imgs__item--europe__btn {
  top: 53px;
  left: -22px;
}

@media (max-width: 640px) {
  #container.region .map-imgs__item--europe__btn {
    top: 0;
    left: 0;
    margin: 10.33333% 0 0 0.66667%;
  }
}

#container.region .map-imgs__item--middle_east {
  top: 116px;
  left: 461px;
}

@media (max-width: 640px) {
  #container.region .map-imgs__item--middle_east {
    width: 14.10714%;
    top: 0;
    left: 0;
    margin: 13.75% 0 0 53.75%;
  }
}

#container.region .map-imgs__item--middle_east::before {
  background-image: url(../img/region/middle_east_on.png);
}

@media (max-width: 640px) {
  #container.region .map-imgs__item--middle_east::before {
    background-image: url(../img/region/middle_east_sp_on.png);
  }
}

#container.region .map-imgs__item--middle_east__btn {
  top: 17px;
  left: -11px;
}

@media (max-width: 640px) {
  #container.region .map-imgs__item--middle_east__btn {
    top: 0;
    left: 0;
    margin: 24.05063% 0 0 -48.10127%;
  }
}

#container.region .map-imgs__item--africa {
  top: 136px;
  left: 330px;
}

@media (max-width: 640px) {
  #container.region .map-imgs__item--africa {
    width: 24.28571%;
    top: 0;
    left: 0;
    margin: 16.07143% 0 0 38.92857%;
  }
}

#container.region .map-imgs__item--africa::before {
  background-image: url(../img/region/africa_on.png);
}

@media (max-width: 640px) {
  #container.region .map-imgs__item--africa::before {
    background-image: url(../img/region/africa_sp_on.png);
  }
}

#container.region .map-imgs__item--africa__btn {
  top: 96px;
  left: 61px;
}

@media (max-width: 640px) {
  #container.region .map-imgs__item--africa__btn {
    top: 0;
    left: 0;
    margin: 47.05882% 0 0 25.73529%;
  }
}

#container.region .map-imgs__item--asia {
  top: 65px;
  left: 501px;
}

@media (max-width: 640px) {
  #container.region .map-imgs__item--asia {
    width: 31.42857%;
    top: 0;
    left: 0;
    margin: 7.67857% 0 0 58.75%;
  }
}

#container.region .map-imgs__item--asia::before {
  background-image: url(../img/region/asia_on.png);
}

@media (max-width: 640px) {
  #container.region .map-imgs__item--asia::before {
    background-image: url(../img/region/asia_sp_on.png);
  }
}

#container.region .map-imgs__item--asia__btn {
  top: 24px;
  left: 70px;
}

@media (max-width: 640px) {
  #container.region .map-imgs__item--asia__btn {
    top: 0;
    left: 0;
    margin: 8.52273% 0 0 34.65909%;
  }
}

#container.region .map-imgs__item--japan {
  top: 109px;
  left: 758px;
}

@media (max-width: 640px) {
  #container.region .map-imgs__item--japan {
    width: 2.14286%;
    top: 0;
    left: 0;
    margin: 12.85714% 0 0 88.75%;
  }
}

#container.region .map-imgs__item--japan::before {
  background-image: url(../img/region/japan_on.png);
}

@media (max-width: 640px) {
  #container.region .map-imgs__item--japan::before {
    background-image: url(../img/region/japan_sp_on.png);
  }
}

#container.region .map-imgs__item--japan__btn {
  top: 26px;
  left: 26px;
}

@media (max-width: 640px) {
  #container.region .map-imgs__item--japan__btn {
    top: 0;
    left: 0;
    margin: 216.66667% 0 0 -125%;
  }
}

#container.region .map-imgs__item--oceania {
  top: 259px;
  left: 712px;
}

@media (max-width: 640px) {
  #container.region .map-imgs__item--oceania {
    width: 16.78571%;
    top: 0;
    left: 0;
    margin: 30.35714% 0 0 83.39286%;
  }
}

#container.region .map-imgs__item--oceania::before {
  background-image: url(../img/region/oceania_on.png);
}

@media (max-width: 640px) {
  #container.region .map-imgs__item--oceania::before {
    background-image: url(../img/region/oceania_sp_on.png);
  }
}

#container.region .map-imgs__item--oceania__btn {
  top: 53px;
  left: -21px;
}

@media (max-width: 640px) {
  #container.region .map-imgs__item--oceania__btn {
    top: 0;
    left: 0;
    margin: 37.23404% 0 0 -19.14894%;
  }
}

#container.region .map-imgs__item--selected::before {
  opacity: 1;
}

#container.region .map-imgs__item--selected .map-imgs__item__btn {
  -webkit-box-shadow: 0 0 0 transparent;
          box-shadow: 0 0 0 transparent;
  background: #ccc;
  border-color: #ccc;
  color: #fff;
}

#container.region .map-imgs__item--selected .map-imgs__item__img {
  opacity: 0;
}

#container.region .lang {
  display: none;
  text-align: center;
  margin: 0 10px;
}

#container.region .lang-ttl {
  font-size: 24px;
  font-weight: 500;
  color: #90c31f;
  line-height: 1;
  padding: 20px 0 17px;
}

@media (max-width: 640px) {
  #container.region .lang-ttl {
    font-size: 12px;
    padding: 15px 0 13px;
  }
}

#container.region .lang-btns {
  display: inline-block;
  background: #fff;
  border-radius: 60px;
  padding: 30px 35px 15px;
  font-size: 0;
}

@media (max-width: 640px) {
  #container.region .lang-btns {
    border-radius: 22.5px;
    padding: 10px 5px 0;
  }
}

#container.region .lang-btns__item {
  display: inline-block;
  margin: 0 10px 15px 0;
}

@media (max-width: 640px) {
  #container.region .lang-btns__item {
    margin: 0 5px 10px;
  }
}

#container.region .lang-btns__item__link {
  display: block;
  border-radius: 30px;
  background: #90c31f;
  width: 160px;
  height: 60px;
  line-height: 60px;
  font-size: 20px;
  font-weight: 500;
  color: #fff;
  -webkit-box-shadow: 0 2px 2px rgba(204, 204, 204, 0.35);
          box-shadow: 0 2px 2px rgba(204, 204, 204, 0.35);
  -webkit-transition: background 0.25s cubic-bezier(0.39, 0.575, 0.565, 1), -webkit-box-shadow 0.25s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: background 0.25s cubic-bezier(0.39, 0.575, 0.565, 1), -webkit-box-shadow 0.25s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: box-shadow 0.25s cubic-bezier(0.39, 0.575, 0.565, 1), background 0.25s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: box-shadow 0.25s cubic-bezier(0.39, 0.575, 0.565, 1), background 0.25s cubic-bezier(0.39, 0.575, 0.565, 1), -webkit-box-shadow 0.25s cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media (max-width: 640px) {
  #container.region .lang-btns__item__link {
    border-radius: 15px;
    width: 86px;
    height: 30px;
    line-height: 30px;
    font-size: 10px;
    -webkit-box-shadow: 0 1px 1px rgba(204, 204, 204, 0.35);
            box-shadow: 0 1px 1px rgba(204, 204, 204, 0.35);
  }
}

#container.region .lang-btns__item__link:hover {
  -webkit-box-shadow: 0 3px 3px rgba(187, 187, 187, 0.6), 0 5px 5px rgba(204, 204, 204, 0.5);
          box-shadow: 0 3px 3px rgba(187, 187, 187, 0.6), 0 5px 5px rgba(204, 204, 204, 0.5);
  background: #aadf36;
}

@media (max-width: 640px) {
  #container.region .lang-btns__item__link:hover {
    -webkit-box-shadow: 0 1px 1px rgba(204, 204, 204, 0.35);
            box-shadow: 0 1px 1px rgba(204, 204, 204, 0.35);
    background: #90c31f;
  }
}

#container.region .lang-btns__item--cs {
  font-size: 20px;
  font-weight: 500;
  color: #666;
  line-height: 1;
}

#container.region .lang-btns__item:nth-last-child(1) {
  margin-right: 0;
}

@media (max-width: 640px) {
  #container.region .lang-btns__item:nth-last-child(1) {
    margin-right: 5px;
  }
}

#container.region .lang--show {
  display: block;
}
