@charset "utf-8";

/* link
------------------------------------*/
.map-contents a:link,
.map-contents a:visited{
	color: #fff;
	text-decoration: none;
}
.map-contents a:hover{
	color: #2e7ebd;
}
.map {
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .map {
    background: url(../img/map-image_smp.png) no-repeat center center/cover;
    margin-top: 0;
  }
}

.map-contents {
  background: url("../img/map-image.png") no-repeat center center/contain;
  height: 700px;
  position: relative;
	margin: 30px 0 50px;
}
@media screen and (max-width: 768px) {
  .map-contents {
    background: none;
    height: auto;
  }
}
.map-item {
  max-width: 100%;
}
@media screen and (max-width: 768px) {
  .map-item {
    margin: 0 auto;
  }
  .map-item:nth-child(n+2) {
    margin-top: 30px;
  }
}

.map-item-list-3column {
  width: 300px;
  display: flex;
  justify-content: start;
  flex-wrap: wrap;
  margin-top: 10px;
  -webkit-padding-start: 0;
          padding-inline-start: 0;
}
@media screen and (max-width: 768px) {
  .map-item-list-3column {
    margin: 10px auto;
  }
}
.map-item-list-3column li {
  list-style: none;
  width: calc((100% - 30px) / 3);
}
.map-item-list-3column li:nth-child(n+4) {
  margin-top: 10px;
}
.map-item-list-3column li:not(:nth-child(3n-2)) {
  margin-left: 15px;
}

.map-item-title {
  color: #fff;
  font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
}

.map-link {
	background-color:#2e7ebd;
	border: 1px solid #fff;
	font-size: 1.125rem;
	font-weight: 700;
	border-radius: 6px;
	width: 90px;
	height: 30px;
	display: inline-block;
	text-align: center;
	box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.3);
	padding:10px 0 0; 
}
.map-link:hover{
	background-color:#fff;
	color:#2e7ebd;
}
.map-link.is-disabled {
	border:none;
	background-color:darkgrey;
	color: #fff;
	pointer-events: none;
	padding: 5px 0;
}

.hokkaido {
  position: absolute;
  top: 60px;
  right: 30px;
}
@media (max-width: 1199px) {
  .hokkaido {
    right: 40px;
  }
}
@media (max-width: 991px) {
  .hokkaido {
    left: 370px;
  }
}

.tohoku {
  position: absolute;
  top: 170px;
  right: 120px;
}
@media (max-width: 1199px) {
  .tohoku {
    right: 105px;
  }
}
@media (max-width: 991px) {
  .tohoku {
    right: 5px;
  }
}

.chubu {
  position: absolute;
  top: 80px;
  left: 300px;
}
@media (max-width: 1199px) {
  .chubu {
    left: 275px;
  }
}
@media (max-width: 991px) {
  .chubu {
    left: 155px;
  }
}

.kanto {
  position: absolute;
  top: 320px;
  right: 170px;
}
@media (max-width: 1199px) {
  .kanto {
    right: 110px;
  }
}
@media (max-width: 991px) {
  .kanto {
    right: 5px;
  }
}

.kansai {
  position: absolute;
  top: 520px;
  left: 570px;
}
@media (max-width: 1199px) {
  .kansai {
    left: 790px;
  }
}
@media (max-width: 991px) {
  .kansai {
    top: 220px;
    left: 85px;
  }
}

.chugoku {
  position: absolute;
  bottom: 190px;
  left: 37px;
}
@media (max-width: 991px) {
  .chugoku {
    left: 0;
  }
}

.kyushu {
  position: absolute;
  bottom: -30px;
  left: 37px;
}
@media (max-width: 991px) {
  .kyushu {
    bottom: -75px;
  }
}

@media screen and (max-width: 768px) {
	.hokkaido,
	.tohoku,
	.chubu,
	.kanto,
	.kansai,
	.chugoku,
	.kyushu {
    position: static;
  }
}

@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
}
@media (min-width: 767px) {
  .smp {
    display: none;
  }
}
p.tit{
	text-align: center;
}
.logoimg{
	text-align: center;
	width: auto;
	margin-bottom: 20px;
}

/* tab
------------------------------------*/
.tab_pref {
    display: flex;
    flex-wrap: wrap;
	margin: 0 100px 0;
}
@media screen and (max-width: 768px) {
  .tab_pref {
    margin: 20px 0;
  }
}

.tab_pref > label {
    flex: 1 1;
    order: -1;
    min-width: 70px;
    padding: .7em 1em .5em;
    border-bottom: 1px solid #f0f0f0;
    border-radius: 0;
    background-color: #e9f0f6;
    color: #535353;
    text-align: center;
    cursor: pointer;
	font-weight: 700;
}

.tab_pref > label:hover {
    opacity: .8;
}

.tab_pref input {
    display: none;
}

.tab_pref > div {
    display: none;
    width: 100%;
    padding: 1.5em 1em;
    background-color: #fff;
}

.tab_pref label:has(:checked) {
    background-color: #fff;
    border-color: #2E7EC2 #f0f0f0 #fff;
    border-style: solid;
    border-width: 4px 1px 1px;
    color: #333;
}

.tab_pref label:has(:checked) + div {
    display: block;
}
.tab_pref .shopbox{
}
.tab_pref dl{
	display: flex;
	align-items: center;
	padding: 15px 0;
	border-bottom: solid 1px #6e6e6e;
}
.tab_pref dt{
	width: 20%;
}
.tab_pref dd{
	padding: 0 20px;
}
.tab_pref dd span{
	font-size: 1.125rem;
	font-weight: 700;
}
.tab_pref dd .time,
.tab_pref dd .wptime{
	border-radius: 20px;
	color: #fff;
	font-size: 0.75rem;
	padding: 5px 10px;
	line-height: 2rem;
	margin-right: 10px;
}
.tab_pref dd .time{
	background-color:coral;
}
.tab_pref dd .wptime{
	background-color:turquoise;
}
.tab_pref dd.add{
	width: 55%;
}
.tab_pref dd.shopbtn{
	width: 25%;
}
.tab_pref dd .btn{	
    display: block;
	justify-content: flex-end;
    padding: 16px 20px;
    width: 100%;
	background-color: #2E7EC2;
	color: #fff;
    font-weight: bold;
    text-align: center;
    border-radius: 60px;
    background-position: 95% center;
    background-repeat: no-repeat;
    box-shadow: 0px 3px 3px rgba(0,0,0,0.2);
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .0.3s;
    transition: all .0.3s;
}
.tab_pref dd .btn:hover{		
	color: #2E7EC2;
    text-decoration: none;
    background-color: #fff;
	border: solid 1px #2E7EC2;
	}
.tab_pref img {
    width: 100%;
    border: none;
    vertical-align: bottom;
}

@media screen and (max-width: 768px) {
  .tab_pref dl {
	  display:block;
  }
.tab_pref dt{
	width: 100%;
	margin-top: 20px;
}
.tab_pref dd.add{
	width: 100%;
	padding: 10px 0 0;
}
.tab_pref dd.shopbtn{
	width: 100%;
	padding: 10px 0 0;
	margin-bottom: 10px;
}
}