@charset "UTF-8";
/* common */
.font_red {
  color: #ff0000;
}
.font_bold {
  font-weight: 600;
}
a.txt_link {
  text-decoration: underline;
  color: #006666;
}
.toplink {
  margin: 2em auto;
  text-align: center;
}
.toplink a {
  text-align: center;
  background-color: #007b62;
  padding: 0.5em 3em;
  font-size: 1.2em;
  color: #ffffff;
}
.toplink a:hover {
  background-color: #18b393;
}
/* contents */
.map_area {
  position: relative;
  width: calc(710 * (100vw / 750));
  height: calc(1130 * (100vw / 750));
  margin: calc(60 * (100vw / 750)) auto 0;
  color: #333333;
  background: url(../../../img/usr/freepage/fs_list/sp_map_bg.png) no-repeat;
  background-size: cover;
}
.pin_area {
  width: calc(626 * (100vw / 750));
  text-align: center;
  margin: auto;
  padding: calc(35 * (100vw / 750)) 0 0;
}
.modal_btn {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  width: calc(200 * (100vw / 750));
  height: calc(80 * (100vw / 750));
  padding: 0 0 calc(6 * (100vw / 750));
  background: url(../../../img/usr/freepage/fs_list/sp_btn_area.png) no-repeat;
  background-size: cover;
}
.modal_btn.hokkaido {
  top: calc(280 * (100vw / 750));
  left: calc(480 * (100vw / 750));
}
.modal_btn.tohoku {
  top: calc(700 * (100vw / 750));
  left: calc(480 * (100vw / 750));
}
.modal_btn.kanto {
  top: calc(800 * (100vw / 750));
  left: calc(480 * (100vw / 750));
}
.modal_btn.koushinetsu_hokuriku {
  top: calc(280 * (100vw / 750));
  left: calc(258 * (100vw / 750));
}
.modal_btn.tokai {
  top: calc(900 * (100vw / 750));
  left: calc(480 * (100vw / 750));
}
.modal_btn.kansai {
  top: calc(390 * (100vw / 750));
  left: calc(258 * (100vw / 750));
}
.modal_btn.chugoku {
  top: calc(390 * (100vw / 750));
  left: calc(30 * (100vw / 750));
}
.modal_btn.shikoku {
  top: calc(900 * (100vw / 750));
  left: calc(258 * (100vw / 750));
}
.modal_btn.kyushu {
  top: calc(1000 * (100vw / 750));
  left: calc(30 * (100vw / 750));
}
.modal_btn.okinawa {
  top: calc(530 * (100vw / 750));
  left: calc(30 * (100vw / 750));
}
/* modal_window */
.acc_box {
  margin: calc(20 * (100vw / 750));
  border: #dcdcdc solid 1px;
  background: #fff;
}
p.acc_btn {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  height: calc(68 * (100vw / 750));
  margin: calc(-1 * (100vw / 750)) 0 0;
  padding: 0 0 0 calc(20 * (100vw / 750));
  font-size: calc(24 * (100vw / 750));
  border-top: #dcdcdc solid 1px;
  border-bottom: #dcdcdc solid 1px;
  background: #fff url(../../../img/usr/freepage/fs_list/sp_icon_acc_o.png) no-repeat 97% 50%;
  background-size: calc(30 * (100vw / 750));
  cursor: pointer;
}
p.acc_btn:last-of-type {
  height: calc(69 * (100vw / 750));
  border-bottom: none;
}
p.acc_btn.def_open {
  border-bottom: #dcdcdc solid 1px;
  background: #fffcd6 url(../../../img/usr/freepage/fs_list/sp_icon_acc_c.png) no-repeat 97% 50%;
  background-size: calc(30 * (100vw / 750));
}
p.acc_btn.is-active {
  border-bottom: #dcdcdc solid 1px;
  background: #fffcd6 url(../../../img/usr/freepage/fs_list/sp_icon_acc_c.png) no-repeat 97% 50%;
  background-size: calc(30 * (100vw / 750));
}
p.acc_btn.def_open.is-active {
  border-bottom: none;
  background: #fff url(../../../img/usr/freepage/fs_list/sp_icon_acc_o.png) no-repeat 97% 50%;
  background-size: calc(30 * (100vw / 750));
}
.acc_detailBox {
  /*display: none;*/
  padding: calc(10 * (100vw / 750)) calc(23 * (100vw / 750));
}
.acc_detailBox dt {
  padding: 0 calc(10 * (100vw / 750));
}
.acc_detailBox dt p {
  font-size: calc(24 * (100vw / 750));
  line-height: 2.5;
  padding: 0 0 calc(5 * (100vw / 750));
  display: inline;
  border-bottom: #adadad solid 1px;
}
.acc_detailBox dt p a {
  text-decoration: none;
}
.acc_detailBox dt p > a:hover {
  font-size: calc(24 * (100vw / 750));
  line-height: 2.5;
  padding: 0 0 calc(5 * (100vw / 750));
  display: inline;
  border-bottom: #007b69 solid 1px;
}
.acc_detailBox dd {
  font-size: calc(24 * (100vw / 750));
  line-height: 1.5;
  margin: 0 0 calc(10 * (100vw / 750));
  padding: calc(10 * (100vw / 750)) calc(10 * (100vw / 750)) calc(25 * (100vw / 750));
  /*border-bottom: #dcdcdc dotted 1px;*/
}
.acc_detailBox dl:last-child dd {
  padding: calc(10 * (100vw / 750)) calc(10 * (100vw / 750)) calc(5 * (100vw / 750));
  /*border-bottom: none;*/
}
/* modal_config */
.modal_trigger li {
  cursor: pointer;
  text-align: center;
  position: absolute;
  overflow: hidden;
  font-size: calc(28 * (100vw / 750));
  font-weight: bold;
}
.modal_trigger li span {
  font-size: calc(28 * (100vw / 750));
  font-weight: bold;
}
.modal_box {
  display: none;
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 9999;
}
.modal_bg {
  background-color: rgba(30, 30, 30, 0.9);
  height: 100%;
  width: 100%;
}
.modal_inner {
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 95%;
  height: auto;
}
.modal_block {
  overflow-y: scroll;
  max-height: 70vh;
  background: #fffef1;
}
.modal_block h3 {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  height: calc(80 * (100vw / 750));
  font-size: calc(36 * (100vw / 750));
  font-weight: 600;
  text-align: center;
  color: #fff;
  background: #70d577;
}
.modal_block h3 span {
  position: relative;
  font-size: calc(36 * (100vw / 750));
  font-weight: 600;
}
.modal_block h3 span::before {
  position: absolute;
  top: calc(5 * (100vw / 750));
  left: calc(-40 * (100vw / 750));
  content: '';
  width: calc(31 * (100vw / 750));
  height: calc(41 * (100vw / 750));
  background: url(../../../img/usr/freepage/fs_list/sp_icon_pin.png) no-repeat left center;
  background-size: cover;
}
.modal_close {
  cursor: pointer;
  position: absolute;
  right: calc(40 * (100vw / 750));
  top: calc(-65 * (100vw / 750));
}
.modal_close::before {
  position: absolute;
  content: '';
  width: calc(39 * (100vw / 750));
  height: calc(38 * (100vw / 750));
  background: url(../../../img/usr/freepage/fs_list/sp_btn_close.png) no-repeat;
  background-size: cover;
}
.modal_close_txt {
  display: table;
  font-size: calc(20 * (100vw / 750));
  text-align: center;
  margin: calc(35 * (100vw / 750)) auto calc(40 * (100vw / 750));
}
/* campaign */
.cp-area {
  width: calc(710 * (100vw / 750));
  margin: calc(40 * (100vw / 750)) auto 0;
}
.cp-area_inner {
  width: calc(710 * (100vw / 750));
  margin: auto;
  color: #333333;
  background: #abd685;
  border-radius: 0 0 30px 30px;
}
.cp-area_inner p {
  margin: 0 calc(30 * (100vw / 750)) calc(30 * (100vw / 750));
}
.cp-area_inner h3 {
  font-size: calc(30 * (100vw / 750));
  font-weight: 600;
  text-align: center;
  color: #fff;
  line-height: 1;
  font-feature-settings: "palt";
  margin: 0 calc(30 * (100vw / 750)) calc(30 * (100vw / 750));
  padding: calc(25 * (100vw / 750));
  background: #11affd;
  border-radius: 40px;
}
.cp-area_inner ul {
  margin: 0 calc(30 * (100vw / 750));
  padding: 0 0 calc(40 * (100vw / 750));
}
.cp-area_inner ul li {
  font-size: calc(22 * (100vw / 750));
  line-height: 1.5;
  text-indent: -1em;
  padding-left: 1.5em;
  margin: 0 0 calc(3 * (100vw / 750));
}
.cp-area_inner ul li span {
  font-size: calc(22 * (100vw / 750));
}
.cp-ov_area {
  font-size: calc(24 * (100vw / 750));
  margin: calc(55 * (100vw / 750)) calc(30 * (100vw / 750));
}
.cp-ov_area h3 {
  font-size: calc(30 * (100vw / 750));
  font-weight: 600;
  margin: 0 0 calc(30 * (100vw / 750));
}
.cp-ov_area ul li {
  margin: 0 0 calc(30 * (100vw / 750));
}
.cp-ov_area ul li a {
  text-decoration: underline;
  color: #006666;
}
.cp-ov_area ul li span {
  font-weight: 600;
  display: block;
}
.cp-ov_area ul li ul li {
  text-indent: -1em;
  padding-left: 0.9em;
  margin: 0;
}