@charset "utf-8";

/*********************
	.container
*********************/
.container{
	width:100%;
	margin:0 auto;
}

/*********************
	h2
*********************/
h2{
	width:100%;
	height:180px;
	background:url("/assets/img/bg_search_result_ttl.jpg");
	background-repeat:no-repeat;
	background-size:cover;
	background-position:50% 50%;
	position:relative;
	margin:0 auto 45px;
	font-size:40px;
	font-weight:bold;
	color:#fff;
	text-align:center;
}
h2 span{
	display:block;
	width:100%;
	position: absolute;
	top:50%;
	left:50%;
	transform:translateY(-50%) translateX(-50%);
	-webkit- transform:translateY(-50%) translateX(-50%);
}
@media only screen and (max-width:767px) {
	h2{
		width:100%;
		height:90px;
		line-height:90px;
		background:url("/assets/img/bg_sp_search_result_ttl.jpg");
		background-repeat:no-repeat;
		background-size:cover;
		background-position:50% 50%;
		position:relative;
		margin:0 auto 25px;
		font-size:20px;
		font-weight:bold;
		color:#fff;
		text-align:center;
	}
}
/*********************
	.search_menu_btn
*********************/
.search_menu_btn{
	width:100%;
	max-width:780px;
	height:50px;
	line-height:50px;
	background:#000;
	text-align:center;
	margin:0 auto;
	position:relative;
}
.search_menu_btn:after{
	display:block;
	content:"";
	width:10px;
	height:10px;
	border-left:2px solid #fff;
	border-bottom:2px solid #fff;
	transform:rotate(-45deg);
	position:absolute;
	top:0;
	bottom:0;
	right:20px;
	margin:auto 0;
}
.search_menu_btn.active:after{
	display:none;
}
.search_menu_btn:hover{
	cursor:pointer;
	opacity:0.7;
	transition:.3s;
}
.search_menu_btn span{
	display:inline-block;
	color:#fff;
	font-size:18px;
	font-weight:bold;
	padding-left:60px;
	background-image:url("/assets/img/ico_search_ttl.png");
	background-repeat:no-repeat;
	background-size:50px;
	background-position:0 50%;
}


@media only screen and (max-width:767px) {
	.search_menu_btn{
		height:40px;
		line-height:40px;
	}
	.search_menu_btn:after{
		width:8px;
		height:8px;
	}
	.search_menu_btn span{
		font-size:13px;
		padding-left:40px;
		background-size:30px;
	}

}
/*********************
	.search_box
*********************/
.search_box{
	width:100%;
	background:#333;
	padding:50px 0;
	display:none;
}

.search_box input[type=radio],
.search_box .datepicker {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	display:inline;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border:0;
}
.search_box input[type=radio]{
	display:none;
}
.radio + .circle{
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width:14px;
	height:14px;
	border: 1px solid #fff;
	background:#fff;
	border-radius: 50%;
}
.radio:checked + .circle:before{
	display: block;
	content:"";
	position: absolute;
	top: 3px;
	left: 3px;
	width:8px;
	height:8px;
	border-radius: 50%;
	background:#333;
}

.search_wrap{
	width:500px;
	margin:0 auto;
	position:relative;
}
.search_wrap .search_close_btn{
	width:40px;
	position:absolute;
	top:-50px;
	right:-80px;
}
.search_wrap .search_close_btn:hover{
	cursor:pointer;
	opacity:0.7;
}
.search_wrap .cat{
	width:90px;
	height:30px;
	line-height:30px;
	padding-left:10px;
	box-sizing:border-box;
	background:#595959;
	color:#fff;
	font-size:14px;
	font-weight:bold;
}
.search_wrap .category_box_area{
	width:100%;
	margin:0 auto 30px;
	display:table;
}
.search_wrap .category_box_area .cat{
	display:table-cell;
	margin-right:20px;
	vertical-align:middle;
}
.search_wrap .category_box_area ul{
	display:table-cell;
	padding-left:20px;
	vertical-align:middle;
}
.search_wrap .category_box_area ul li{
	display:inline-block;
	margin-right:30px;
	padding-left:20px;
	color:#fff;
	font-size:12px;
	position:relative;
}
.search_wrap .date_box_area{
	width:100%;
	margin:0 auto 30px;
	display:table;
}
.search_wrap .date_box_area .cat{
	display:table-cell;
	margin-right:20px;
	vertical-align:middle;
}

.search_wrap .date_box{
	display:table-cell;
	padding-left:20px;
	vertical-align:middle;
	height:30px;
	line-height:30px;
	box-sizing:border-box;
	color:#fff;
	font-size:14px;
	vertical-align:middle;
}
.search_wrap .date_box img{
	width:28px;
	vertical-align:middle;
}
.search_wrap .date_box input{
	width:150px;
	height:30px;
	line-height:30px;
	background:#fff;
	box-sizing:border-box;
	vertical-align:middle;
	text-align: center;
	margin-right:10px;
}
.search_wrap .num_box_area{
	width:100%;
	margin:0 auto 30px;
	display:table;
}
.search_wrap .num_box_area .cat{
	display:table-cell;
	vertical-align:middle;
}
.search_wrap .num_box{
	display:inline-block;
	height:30px;
	line-height:30px;
	box-sizing:border-box;
	vertical-align:middle;
}
.search_wrap .num_box_area dt{
	display:inline-block;
	height:30px;
	padding-left:20px;
	font-size:12px;
	color:#fff;
}
.search_wrap .num_box_area dd{
	display:inline-block;
	height:30px;
}
.search_wrap .num_box_area dd select{
	width:70px;
	height:30px;
}

.search_wrap .search_box_area .cat{
	width:150px;
	height:30px;
	line-height:30px;
	padding-left:10px;
	box-sizing:border-box;
	background:#595959;
	color:#fff;
	font-size:14px;
	font-weight:bold;
	margin-bottom:10px;
}
.search_wrap .search_box_area .cat-l{
	width:auto;
}

.search_wrap .search_box_area input{
	width:100%;
	height:30px;
	padding:0 5px;
	box-sizing:border-box;
}
.search_box_area .btn_box{
	width:270px;
	height:50px;
	margin:40px auto 0;
}
.search_box_area .search_box_btn{
	width:270px;
	height:50px;
	line-height:50px;
	background:#cb000c;
	border-radius:8px;
	color:#fff;
	font-size:20px;
	font-weight:bold;
	text-align:center;
	border:0;
	position:relative;
}

.search_box_area .search_box_btn:before{
	display:block;
	content:"検 索";
	position:absolute;
	top:0;
	left:0;
	right:0;
	margin:auto;
}
.search_box_area .search_box_btn-en:before{
	content:"Search";
}
.search_box_area .search_box_btn-tw:before{
	content:"搜尋";
}
.search_box_area .search_box_btn:after{
	display:block;
	content:"";
	width:21px;
	height:21px;
	background-image:url("/assets/img/ico_search_off.png");
	background-repeat:no-repeat;
	background-size:21px;
	position:absolute;
	top:0;
	bottom:0;
	right:20px;
	margin:auto 0;
}
.search_box_area .search_box_btn:hover{
	cursor:pointer;
	color:#cb000c;
	background:#fff;
	transition:.3s;
}
.search_box_area .search_box_btn:hover:after{
	background-image:url("/assets/img/ico_search_on.png");
	position:absolute;
	transition:.3s;
}
@media only screen and (max-width:767px) {
	.search_box{
		padding:40px 0;
	}
	.search_wrap{
		width:100%;
		padding:0 5%;
		box-sizing:border-box;
	}
	.search_wrap .search_close_btn{
		top:-40px;
		right:0;
	}
	.search_wrap .cat{
		font-size:13px;
	}
	.search_wrap .category_box_area,
	.search_wrap .date_box_area,
	.search_wrap .num_box_area{
		display:block;
	}
	.search_wrap .category_box_area .cat,
	.search_wrap .date_box_area .cat,
	.search_wrap .num_box_area .cat{
		display:block;
		margin-bottom:10px;
		margin-right: 0;
		width: 100%;
	}
	.search_wrap .search_box_area .cat {
		width: 100%;
	}
	.search_wrap .category_box_area ul{
		display:block;
	}
	.search_wrap .category_box_area ul li{
		margin-bottom:10px;
	}
	.search_wrap .date_box{
		display:block;
		padding-left:0;
	}
	.search_wrap .date_box input{
		width:70%;
	}
	.search_wrap .num_box{
		margin-bottom:10px;
	}
	.search_box_area .search_box_btn{
		font-size:18px;
	}

}

/*********************
	.result_area
*********************/
.box_ttl{
	width:100%;
	max-width:1120px;
	padding-left:40px;
	box-sizing:border-box;
	font-size:32px;
	font-weight:bold;
	margin:0 auto 40px;
	position:relative;
}
.box_ttl:before{
	display:block;
	content:"";
	width:20px;
	height:4px;
	background:#cb000c;
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	margin:auto 0;
}
.notfound_txt{
	width:96%;
	text-align:center;
	font-size:28px;
	line-height:1.8;
	margin:0 auto 500px;
}
.result_area{
	width:100%;
	padding:60px 0;
}
.result_area .result_wrap{
	width:100%;
	max-width:1140px;
	margin:0 auto;
	
}
.result_wrap .plan_list{
	width:100%;
	display: flex;
	flex-wrap: wrap;
	
}
.result_wrap .plan_list .plan_box{
	width:25%;
	display: flex;
	justify-content: space-between;
	position:relative;
	margin-bottom:80px;
}
.result_wrap .plan_list .plan_box a{
	display:block;
	max-width:250px;
	width:calc(100% - 20px);
	background:#fff;
	box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
	margin:0 auto;
	display: flex;
	justify-content: space-between;
}
.result_wrap dl{
	width:100%;
	padding-bottom:40px;
	position:relative;
	
}
.result_wrap .plan_box dt .img_box{
	width:100%;
	height:100%;
	padding-top:76%;
	position:relative;
	background:#fff;
	line-height:0;
	border:1px solid #afafaf;
	box-sizing:border-box;
	margin:0 auto 20px;
}
.result_wrap .plan_box dt dt .img_box .img_inner{
	display:block;
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
}
.result_wrap .plan_box dt .img_box .img_inner img {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	max-width: 100%;
	max-height: 100%;
	height: auto;
	width: auto;
}
.result_wrap .plan_box dt .img_box .caption{
	display:block;
	width:96%;
	text-align:right;
	font-size:10px;
	line-height:1.4;
	color:#fff;
	text-shadow:1px 0px 0px #000, 0px 1px 0px #000, -1px 0px 0px #000, 0px -1px 0px #000;
	position:absolute;
	bottom:5px;
	right:2%;
}
.result_wrap .plan_box dt .area{
	width:100%;
	padding:0 20px;
	box-sizing:border-box;
	margin:0 auto 10px;
	font-size:12px;
	color:#cb000c;
}
.result_wrap .plan_box dt .name{
	width:100%;
	padding:0 20px;
	box-sizing:border-box;
	margin:0 auto 20px;
	font-size:16px;
	font-weight:bold;
	line-height:1.4;
}
.result_wrap .plan_box dt .price{
	width:100%;
	padding:0 20px;
	box-sizing:border-box;
	margin:0 auto 20px;
	font-size:12px;
	color:#333;
}
.result_wrap .plan_box a dd{
	width:100%;
	height:24px;
	line-height:24px;
	background:#333;
	text-align:center;
	color:#fff;
	font-size:12px;
	position:absolute;
	bottom:0;
	left:0;
}
.result_wrap .plan_box a:hover dd{
	background:#cb000c;
	transition:.3s;
}
@media only screen and (max-width:767px) {
	.notfound_txt{
		font-size:16px;
		margin:0 auto 150px;
	}
	.box_ttl{
		width:96%;
		font-size:20px;
		margin:0 auto 20px;
	}
	.result_area{
		width:100%;
		padding:40px 0 0;
	}
	.result_wrap .plan_list{
		display:block;
		width:100%;
		margin:0 auto;
		border-top:1px solid #999;
	}
	.result_wrap .plan_list .plan_box{
		width:100%;
		display:block;
		margin:0 auto;
		border-bottom:1px solid #999;
	}
	.result_wrap .plan_list .plan_box a{
		display:block;
		max-width:100%;
		width:100%;
		box-shadow:none;
		padding:10px;
		box-sizing:border-box;
	}
	.result_wrap dl{
		padding-bottom:0;
	}
	.result_wrap .plan_box dt .img_box{
		width:48%;
		float:left;
		padding-top:37%;
		margin:0;
	}
	.result_wrap .plan_box dt .img_box .caption{
		width:98%;
		right:1%;
	}
	.result_wrap .plan_box dt ul{
		width:48%;
		float:right;
	}
	.result_wrap .plan_box dt .area{
		font-size:12px;
		margin:5px auto 10px;
		padding:0;
	}
	.result_wrap .plan_box dt .name{
		font-size:15px;
		padding:0;
		margin:0 auto 15px;
	}
	.result_wrap .plan_box dt .price{
		font-size:13px;
		padding:0;
		margin:0 auto;
	}
	.result_wrap .plan_box dd{
		display:none;
	}

}

/*********************
	.pager_area
*********************/
.pager_area{
	width:100%;
	margin:50px auto 100px;
}
.pager_area .pager{
	width:100%;
	text-align:center;
	margin:0 auto 15px;
}
.pager_area .pager li{
	display:inline-block;
	font-size:20px;
	width:35px;
	height:35px;
	line-height:35px;
	text-align:center;
	background:#efefef;
	margin-right: 5px;
}
.pager_area .pager li.active{
	background:#000;
	color:#fff;
}
.pager_area .pager a{
	display: block;
	width: 100%;
	height: 100%;
}
.pager_area .pager a:hover{
	background:#000;
	color:#fff;
	cursor:pointer;
}
@media only screen and (max-width:767px) {
	.pager_area{
		width:98%;
		margin:50px auto;
	}
	.pager_area .pager{
		width:100%;
		text-align:center;
		margin:0 auto 6px;
	}
	.pager_area .pager li{
		font-size:12px;
		width:22px;
		height:22px;
		line-height:22px;
	}
}


