.section_shindan {
  width: 100%;
  min-width: 960px;
  overflow: hidden;
}
.section_shindan *,
.section_shindan *::before,
.section_shindan *::after {
  box-sizing: border-box;
}
.shindan .section_shindan {
  padding-bottom: 200px;
}
.shindan .section_shindan .section__container {
  width: 960px;
  margin: 0 auto;
}

/* SP */
@media screen and (max-width: 768px) {
  .section_shindan {
    min-width: 0;
  }
  .shindan .section_shindan {
    padding-bottom: 100px;
  }
  .shindan .section_shindan .section__container {
    width: 100%;
  }
  .subpage_header_l .subpage_header_l__container .subpage_header_l__ttl {
    letter-spacing: -0.02em;
  }
}

/*------------------------------------------------------------------------------
  .s--map, .s--map .first_part
------------------------------------------------------------------------------*/
.s--map {
  width: 100%;
  margin: 0 auto;
  padding: 60px 0 0;
}
.s--map .first_part {
  position: relative;
  width: 100%;
}
.s--map .first_part .txt_lead {
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
  font-size: 16px;
  line-height: 1.875;
  margin: -0.4375em 0;
  padding: 0;
  text-align: left;
}

/* SP */
@media screen and (max-width: 768px) {
  .s--map {
    padding: 30px 5.333333333333334% 0;
  }
  .s--map .first_part .txt_lead {
    position: static;
    font-size: 14px;
    line-height: 1.6;
    margin: -0.3em 0;
    padding: 0 0 40px;
  }
}

/*------------------------------------------------------------------------------
  .s--map .map_part
------------------------------------------------------------------------------*/
.s--map .map_part {
  width: 100%;
  overflow-x: auto;
}
.s--map .map_part .prefs {
  position: relative;
  width: 960px;
  height: 462px;
}
.s--map .map_part .prefs .pbox {
  position: absolute;
  display: inline-block;
  width: 64px;
  overflow: hidden;
}
.s--map .map_part .prefs .is--hokkaido {
  width: 128px;
  right: 0;
  top: 0;
  border-radius: 10px 10px 10px 0;
}
.s--map .map_part .prefs .is--aomori {
  right: 64px;
  top: 84px;
}
.s--map .map_part .prefs .is--iwate {
  right: 0;
  top: 126px;
  border-radius: 0 10px 0 0;
}
.s--map .map_part .prefs .is--miyagi {
  right: 0;
  top: 168px;
}
.s--map .map_part .prefs .is--akita {
  right: 64px;
  top: 126px;
}
.s--map .map_part .prefs .is--yamagata {
  right: 64px;
  top: 168px;
}
.s--map .map_part .prefs .is--fukushima {
  right: 0;
  top: 210px;
}
.s--map .map_part .prefs .is--ibaraki {
  right: 0;
  top: 252px;
}
.s--map .map_part .prefs .is--tochigi {
  right: 64px;
  top: 210px;
}
.s--map .map_part .prefs .is--gunma {
  right: 128px;
  top: 252px;
}
.s--map .map_part .prefs .is--saitama {
  right: 64px;
  top: 252px;
}
.s--map .map_part .prefs .is--chiba {
  right: 0;
  top: 294px;
  border-radius: 0 0 10px 0;
}
.s--map .map_part .prefs .is--tokyo {
  right: 64px;
  top: 294px;
}
.s--map .map_part .prefs .is--kanagawa {
  right: 128px;
  top: 294px;
}
.s--map .map_part .prefs .is--niigata {
  right: 128px;
  top: 210px;
}
.s--map .map_part .prefs .is--yamanashi {
  right: 192px;
  top: 294px;
}
.s--map .map_part .prefs .is--nagano {
  right: 192px;
  top: 252px;
}
.s--map .map_part .prefs .is--gifu {
  right: 256px;
  top: 252px;
}
.s--map .map_part .prefs .is--shizuoka {
  right: 256px;
  top: 294px;
}
.s--map .map_part .prefs .is--toyama {
  right: 192px;
  top: 210px;
}
.s--map .map_part .prefs .is--ishikawa {
  right: 256px;
  top: 210px;
  border-radius: 10px 0 0 0;
}
.s--map .map_part .prefs .is--fukui {
  right: 320px;
  top: 252px;
}
.s--map .map_part .prefs .is--aichi {
  right: 320px;
  top: 294px;
}
.s--map .map_part .prefs .is--mie {
  right: 384px;
  top: 294px;
}
.s--map .map_part .prefs .is--shiga {
  right: 384px;
  top: 252px;
}
.s--map .map_part .prefs .is--kyoto {
  right: 448px;
  top: 252px;
}
.s--map .map_part .prefs .is--osaka {
  right: 512px;
  top: 294px;
}
.s--map .map_part .prefs .is--hyogo {
  right: 512px;
  top: 252px;
}
.s--map .map_part .prefs .is--nara {
  right: 448px;
  top: 294px;
}
.s--map .map_part .prefs .is--wakayama {
  right: 448px;
  top: 336px;
  border-radius: 0 0 10px 10px;
}
.s--map .map_part .prefs .is--tottori {
  right: 576px;
  top: 252px;
}
.s--map .map_part .prefs .is--shimane {
  right: 640px;
  top: 252px;
  border-radius: 10px 0 0 0;
}
.s--map .map_part .prefs .is--okayama {
  right: 576px;
  top: 294px;
}
.s--map .map_part .prefs .is--hiroshima {
  right: 640px;
  top: 294px;
}
.s--map .map_part .prefs .is--yamaguchi {
  right: 704px;
  top: 294px;
}
.s--map .map_part .prefs .is--tokushima {
  right: 576px;
  top: 378px;
  border-radius: 0 0 10px 0;
}
.s--map .map_part .prefs .is--kagawa {
  right: 576px;
  top: 336px;
}
.s--map .map_part .prefs .is--ehime {
  right: 640px;
  top: 336px;
}
.s--map .map_part .prefs .is--kochi {
  right: 640px;
  top: 378px;
  border-radius: 0 0 0 10px;
}
.s--map .map_part .prefs .is--fukuoka {
  right: 768px;
  top: 294px;
}
.s--map .map_part .prefs .is--saga {
  right: 832px;
  top: 294px;
}
.s--map .map_part .prefs .is--nagasaki {
  right: 896px;
  top: 294px;
  border-radius: 10px 0 0 10px;
}
.s--map .map_part .prefs .is--kumamoto {
  right: 832px;
  top: 336px;
}
.s--map .map_part .prefs .is--oita {
  right: 768px;
  top: 336px;
}
.s--map .map_part .prefs .is--miyazaki {
  right: 768px;
  top: 378px;
  border-radius: 0 0 10px 0;
}
.s--map .map_part .prefs .is--kagoshima {
  right: 832px;
  top: 378px;
  border-radius: 0 0 0 10px;
}
.s--map .map_part .prefs .is--okinawa {
  right: 896px;
  top: 420px;
  border-radius: 10px;
}
.s--map .map_part .prefs .pbox .half {
  float: right;
  display: block;
  position: relative;
  width: 50%;
  height: auto;
  overflow-x: hidden;
}
.s--map .map_part .prefs .pbox .txt {
  display: block;
  position: relative;
  width: 64px;
  font-size: 14px;
  line-height: 38px;
  text-align: center;
  border: 2px solid #fefffa;
  transition: color 150ms ease-in-out, font-weight 150ms ease-in-out;
  -webkit-transition: color 150ms ease-in-out, font-weight 150ms ease-in-out;
}
.s--map .map_part .prefs .pbox .half:nth-child(1) .txt {
  margin-left: -32px;
}
.s--map .map_part .prefs .is--hokkaido .txt {
  width: 128px;
  line-height: 80px;
  border-radius: 10px 10px 10px 0;
}
.s--map .map_part .prefs .is--iwate .txt {
  border-radius: 0 10px 0 0;
}
.s--map .map_part .prefs .is--chiba .txt {
  border-radius: 0 0 10px 0;
}
.s--map .map_part .prefs .is--ishikawa .txt {
  border-radius: 10px 0 0 0;
}
.s--map .map_part .prefs .is--wakayama .txt {
  border-radius: 0 0 10px 10px;
}
.s--map .map_part .prefs .is--shimane .txt {
  border-radius: 10px 0 0 0;
}
.s--map .map_part .prefs .is--tokushima .txt {
  border-radius: 0 0 10px 0;
}
.s--map .map_part .prefs .is--kochi .txt {
  border-radius: 0 0 0 10px;
}
.s--map .map_part .prefs .is--nagasaki .txt {
  border-radius: 10px 0 0 10px;
}
.s--map .map_part .prefs .is--miyazaki .txt {
  border-radius: 0 0 10px 0;
}
.s--map .map_part .prefs .is--kagoshima .txt {
  border-radius: 0 0 0 10px;
}
.s--map .map_part .prefs .is--okinawa .txt {
  border-radius: 10px;
}
.s--map .map_part .prefs .pbox .txt._hover {
  font-weight: bold;
  color: #fff;
}
.s--map .map_part .prefs .pbox .txt:hover {
  cursor: pointer;
}
.s--map .map_part .prefs .pbox .txt::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0.22;
  z-index: -1;
  transition: opacity 200ms ease-in-out;
  -webkit-transition: opacity 200ms ease-in-out;
}
/* .s--map .map_part .prefs .pbox .a--hokkaido::before {
  background: #2b9eeb;
}
.s--map .map_part .prefs .pbox .a--tohoku::before {
  background: #12c1ec;
}
.s--map .map_part .prefs .pbox .a--honbu::before {
  background: #00ab69;
}
.s--map .map_part .prefs .pbox .a--hokuriku::before {
  background: #76b731;
}
.s--map .map_part .prefs .pbox .a--tokai::before {
  background: #bc941b;
}
.s--map .map_part .prefs .pbox .a--kinki::before {
  background: #f0842d;
}
.s--map .map_part .prefs .pbox .a--chugoku::before {
  background: #ec4040;
}
.s--map .map_part .prefs .pbox .a--shikoku::before {
  background: #e459a7;
}
.s--map .map_part .prefs .pbox .a--kyushu::before {
  background: #c04fca;
}
.s--map .map_part .prefs .pbox .txt._hover::before {
  opacity: 1;
} */
.s--map .map_part .prefs .pref_dtl {
  position: absolute;
  z-index: 1;
}
.s--map .map_part .prefs .pref_dtl.is--niigata {
  right: 142px;
  top: 1px;
  width: 177.5px;
}
.s--map .map_part .prefs .pref_dtl.is--fukui {
  right: 263px;
  top: 104px;
  width: 177.5px;
}
.s--map .map_part .prefs .pref_dtl.is--shizuoka {
  right: 199px;
  top: 331px;
  width: 177px;
  margin-left: -88.5px;
}
.s--map .map_part .prefs .pref_dtl img {
  width: 100%;
  height: auto;
}

/* SP */
@media screen and (max-width: 768px) {
  .s--map .map_part {
    direction: rtl;
  }
  .s--map .map_part .prefs {
    direction: ltr;
  }
}

/*------------------------------------------------------------------------------
  .s--map .detail_part
------------------------------------------------------------------------------*/
.s--map .detail_part {
  width: 100%;
  margin: 40px auto 0;
}
.s--map .detail_part .area {
  float: left;
  width: 300px;
  margin: 30px 0 0 30px;
  text-align: center;
  border-radius: 20px;
  overflow: hidden;
}
.s--map .detail_part .area:nth-child(3n-2) {
  clear: both;
  margin-left: 0;
}
.s--map .detail_part .area .ttl {
  padding: 12px 0;
}
.s--map .detail_part .area .ttl .txt {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.875;
  margin: -0.4375em 0;
  color: #fff;
}
.s--map .detail_part .area .dtl {
  display: block;
  position: relative;
  padding: 20px;
}
.s--map .detail_part .area .dtl .bg {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0.1;
}
.s--map .detail_part .area .dtl .txt {
  display: block;
  position: relative;
  font-size: 14px;
  line-height: 1.6;
  margin: -0.3em 0;
}
.s--map .detail_part .area .dtl .txt .brBlock {
  display: inline-block;
}
.s--map .detail_part .area:nth-child(1) .bg,
.s--map .map_part .prefs .pbox .a--hokkaido::before {
  background: #027ed2;
}
.s--map .detail_part .area:nth-child(2) .bg,
.s--map .map_part .prefs .pbox .a--tohoku::before {
  background: #00b1dd;
}
.s--map .detail_part .area:nth-child(3) .bg,
.s--map .map_part .prefs .pbox .a--honbu::before {
  background: #018b56;
}
.s--map .detail_part .area:nth-child(4) .bg,
.s--map .map_part .prefs .pbox .a--hokuriku::before {
  background: #559b0a;
}
.s--map .detail_part .area:nth-child(5) .bg,
.s--map .map_part .prefs .pbox .a--tokai::before {
  background: #b68b0b;
}
.s--map .detail_part .area:nth-child(6) .bg,
.s--map .map_part .prefs .pbox .a--kinki::before {
  background: #f67005;
}
.s--map .detail_part .area:nth-child(7) .bg,
.s--map .map_part .prefs .pbox .a--chugoku::before {
  background: #e73535;
}
.s--map .detail_part .area:nth-child(8) .bg,
.s--map .map_part .prefs .pbox .a--shikoku::before {
  background: #e0449b;
}
.s--map .detail_part .area:nth-child(9) .bg,
.s--map .map_part .prefs .pbox .a--kyushu::before {
  background: #ba3ec5;
}
.s--map .map_part .prefs .pbox .txt._hover::before {
  opacity: 1;
}
/* SP */
@media screen and (max-width: 768px) {
  .s--map .detail_part .area {
    float: none;
    width: 100%;
    margin: 20px 0 0 0;
    border-radius: 10px;
  }
}
