@charset "utf-8";
/* CSS Document */


.bld{font-weight: bold;}
.ctr{text-align: center;}
.txt_red{color: #ff0000;}
/*PCでは改行しない*/
.br_sp{display: none;}


/*背景色*/
.bg_color01 {background: #f5f5f5;}

/*商品コンポーネント*/
.productcontainer2.base_prod.responsivegrid > .base_prod {margin-bottom: 0;}
.base_prod.bdr .base_prod li.swiper-slide {background: #fff;}
.swiper-slide .outside_txt .btn_renpaku_box .btn_renpaku {width: 100%; border-top: dashed 1px #ccc;}
.details_box{margin-bottom: 10px;}




/*タイトル*/
.ttl_renpaku h2 {
	position: relative;
    font-size: 3.2rem!important;
    padding: 10px 20px 0 20px;
    display: block!important;
    text-align: center;
    font-weight: normal;
}
.ttl_renpaku h2:before {
  position: absolute;
  bottom: -10px;
  left: calc(50% - 30px);
  width: 60px;
  height: 5px;
  content: '';
  border-radius: 3px;
  background: #c9e145;
}

/*タイトル下のリード文*/
.top_read{text-align: center; margin-bottom: 40px;}


/*ホテルor旅館ボタン*/
.navi_btn{
	display: -webkit-flex;
	display: flex;
	justify-content: center;
}
.navi_btn > li{
	position: relative;
	border: 2px solid #015a85;
}
.navi_btn > li::before{
	position: absolute;
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	top: 50%;
	right: 16px;
	margin-top: -5px;
	border-bottom: 2px solid;
	border-right: 2px solid;
	transform: rotate(45deg);
}
.navi_btn > li + li {margin-left: 15px;}
.navi_btn> li::before {border-color: #015a85;}
.navi_btn > li > a{
	font-weight: bold;
	display: block;
	padding: 8px 55px 8px 30px;
	color: #015a85;
}
.navi_btn > li > a:hover{
	text-decoration: none;
	opacity: 1;
	background: #ebf3f7;
}





/*プラン、県名ナビ*/
.navi_renpaku {
	display: -webkit-flex;
	display: flex;
	justify-content: center;
}
.navi_renpaku > li{position: relative; border-left: 1px solid #b3b3b3;}
.navi_renpaku > li::before{
	position: absolute;
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	top: 50%;
	right: 16px;
	margin-top: -5px;
	border-bottom: 2px solid;
	border-right: 2px solid;
	transform: rotate(45deg);
	border-color: #666;
}
.navi_renpaku > li > a {
	font-weight: bold;
	display: block;
	padding: 8px 55px 8px 30px;
	color: #222;
}
.navi_renpaku > li > a:hover {
	text-decoration: none;
	opacity: 1;
	background: #c5deeb;
}




/*食事アイコン*/
.food_icon1{
	display: inline-block;
    padding: 1px 15px;
    border: solid 1px #0170A7;
    border-radius: 5px;
    color: #0170A7;
}
.food_icon2{
	display: inline-block;
    padding: 1px 15px;
    border: solid 1px #F7703E;
    border-radius: 5px;
    color: #F7703E;
}

.food_icon3{
	display: inline-block;
    padding: 1px 15px;
    border: solid 1px #990096;
    border-radius: 5px;
    color: #990096;
}
.food_cap2{font-size: 1.2rem; color: #F7703E; margin-left: 5px;}

/*朝食付きリンク*/
.btn_renpaku_box{display: flex;}
.btn_renpaku {margin: 0;}
.btn_renpaku a {
    font-size: 1.1em;
    color: #222;
    width: 100%;
    position: relative;
    /*border: solid 1px #ccc;*/
	display: block;
	line-height: 1.6;
	padding: 5px 5px 5px 15px;
	text-decoration: underline;
}
.btn_renpaku a:hover {background-color: #EBF3F7;}
.btn_renpaku a::after {
    content: '';
    border-top: 2px solid #4d4d4d;
    border-right: 2px solid #4d4d4d;
    display: block;
    width: 8px;
    height: 8px;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: rotate(45deg) translate(-35%,-40%);
    transform: rotate(45deg) translate(-35%,-40%);
}
.base_prod .hotel li>a:hover {background-color: #EBF3F7; opacity:0.7;}


/*見出し　エリア（下点線）*/
.top .section h3 {
    font-size: 2.4rem;
    color: #06c;
    background-color: transparent;
    border-radius: 0px;
    padding: 6px 20px;
    margin: 15px auto;
    width: auto;
    display: table;
    border-bottom: 2px dotted;
}

/*見出し　県名（水色角丸）*/
.ttl_area02{
	margin: 5px auto 20px auto;
    width: 100%;
    text-align: center;
}
.ttl_area02 h4{
	font-size: 1.8rem!important;
    padding: 5px 30px;
    text-align: center;
    border-radius: 100px;
    color: #06c;
    width: 30%;
    display: inline;
    font-weight: normal;
    border: solid 1px #06c;
}

/*バナー*/
.tyo_otherarea_banner .textitem {
	padding-left: 18px;
	display: inline-block;
	position: relative;
}
.tyo_otherarea_banner .textitem::before,
.tyo_otherarea_banner .textitem::after {
	position: absolute;
	content: "";
}
.tyo_otherarea_banner .textitem::before {
	width: 15px;
	height: 15px;
	top: 4px;
	left: 0;
	background: #0170a7;
	border-radius: 50%;
}
.tyo_otherarea_banner .textitem::after {
	width: 7px;
	height: 7px;
	top: 8px;
	left: 3px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
}


/*------------------------スマホ------------------------*/
@media screen and (max-width: 767px) {
	.br_sp{display: block;}
	
	/*商品コンポーネント*/
	.productcontainer2.base_prod.responsivegrid > .base_prod {margin-bottom: 5%;}
	.hotel li {width: 70%!important;}
	.base_prod {padding: 0 10px;}
	.base_prod .swiper-slide li.plan {width: 100%!important;}
	
	/*1カラム時の商品情報コンポーネント*/
	.clm01_product { margin-bottom: 1rem !important; }
	.clm01_product .listitem5 { margin-bottom: 10px; }
	.clm01_product .listitem5 .clm01_side_img {	width: 100%; }
	.clm01_product .listitem5 .clm01_side_box .clm01_side_ttl {font-size: 1.4rem; margin: 0; padding-right: 0; }
	.clm01_product .listitem5 .clm01_side_box .clm01_side_ttl::after {	display: none; }
	
	/*タイトル*/
	.ttl_renpaku h2 {font-size: 2.8rem!important;}
	
	/*青帯タイトル下のリード文*/
	.top_read{text-align: left; padding: 0 10px; margin-bottom: 20px;}

	
	
	/*ホテルor旅館ボタン*/
	.navi_btn {padding: 0 5px; flex-wrap: wrap;}
	.navi_btn > li::before {right: 5px;}
	.navi_btn > li > a {
		padding: 5px 24px 5px 5px;
		text-align: center;
		line-height: 130%;
	}
	.navi_btn > li {flex: 1;}
	.navi_btn > li + li {margin-left: 5px;}
	.navi_btn > li a span{display: block; margin-top: 10px;}
	
	
	
	/*プラン、県名のナビ*/
	.navi_renpaku {padding: 0 5px; flex-wrap: wrap; justify-content: flex-start;}
	.navi_renpaku > li {width: 50%;}
	.navi_renpaku > li::before > li::before {right: 5px;}
	.navi_renpaku > li > a {padding: 8px 30px 8px 10px;}
	.navi_renpaku > li > a > li > a {
		padding: 5px 24px 5px 5px;
		text-align: center;
		line-height: 130%;
	}
	.navi_renpaku > a {padding: 15px 24px 15px 15px;}
	.navi_renpaku > li{border-right: 1px solid #b3b3b3;border-bottom: 1px solid #b3b3b3;}
	.navi_renpaku > li:nth-child(2n){border-left: none;}
	.navi_renpaku > li:nth-child(-n+2){border-top: 1px solid #b3b3b3;}
	.navi_renpaku > li::after {
		position: absolute;
		content: "";
		/*border: 1px dashed #b3b3b3;*/
		width: 90%;
		bottom: 0;
		right: 5%;
	}
	
	
	
	/*朝食付きリンク*/
	.btn_renpaku_box{display: block;}
	.btn_renpaku {
		width: auto;
		margin: 10px auto;
		text-align: center;
		display: block!important;
	}
	.btn_renpaku a {
		display: block;
		line-height: 1.6;
		padding: 12px 10px 12px 15px;
		font-size: 1.21rem;
		text-align: left;
	}
	.btn_renpaku a::after {top: 50%; right: 7%;}

	/*見出し　エリア（下点線）*/
	.top .section h3 {
		font-size: 2rem;
}
	
	
	
	/*バナー*/
	.tyo_otherarea_banner .textitem::before {top: 12%;}
	.tyo_otherarea_banner .textitem::after {top: calc(12% + 4px);}

}

