@charset "utf-8";

/********** サイトの定義 **********

使用する文字サイズ：
10px
14px（基本）
16px
18px（中サイズ見出し）
20px（特例:TOPの検索するボタンなど）
24px（特例:TOPのエリア検索・駅検索など）
28px（大サイズ見出し）

空白の使用サイズ：
10px
20px
40px（基本）
60px
120px（大見出しの段落ごと）

*******************************/


main #main.PLAN {
	border-top-color: #ff66c4;
}




/************************************************************
　検索結果（上部枠）
************************************************************/

.PLAN .searchlist .Hit_Type .TypeLink ul.usuallyType li.active, /* 今いるページに下線を付ける */
.PLAN .searchlist .Hit_Type .TypeLink ul.usuallyType li:hover /* マウスを乗せた時に下線を付ける */ {
	border-bottom: 3px solid #ff66c4;
}




/************************************************************
　出発日＆返却日 絞り込み（上部枠）
************************************************************/

.PLAN .searchlist .search {
	margin-bottom: 20px;
}

.PLAN .searchlist .search div.reserve_calendar,
.PLAN .searchlist .search div.reserve_time {
	display: inline-block;
	vertical-align: bottom;

	/*
	height: 40px;
	line-height: 40px;
	*/
}

.PLAN .searchlist .search div select {
	margin: 0;
	border-radius: 6px;
}


/***** 出発日カレンダー・返却日カレンダー *****/

.PLAN .searchlist .search .reserve_calendar {
	width: 166px;
	height: 73px;
}
.PLAN .searchlist .search .reserve_calendar:after {
	position: relative;
	left: 137px;
	bottom: 32.5px;

	font-family: "Font Awesome 5 Free";
	content: '\f073';
	font-size: 16px;
	font-weight: 900;
	color: #999;

	width: 16px;
	cursor: pointer;
}

.PLAN .searchlist .search .reserve_calendar p {
	margin-bottom: 5px;
	font-weight: bold;
	color: #ff0080;
}

.PLAN .searchlist .search .reserve_calendar input.calendar_start,
.PLAN .searchlist .search .reserve_calendar input.calendar_end {
	width: calc(100% - 15px);
	height: 44px;
	padding: 0 0 0 15px;
	font-size: 16px;
	font-weight: bold;
	color: #333;
	cursor: pointer;

	border-top: 2px solid #333;
	border-right: 0;
	border-bottom: 2px solid #333;
	border-left: 2px solid #333;
}

.PLAN .searchlist .search .reserve_calendar input.calendar_start::placeholder,
.PLAN .searchlist .search .reserve_calendar input.calendar_end::placeholder {
	color: #333;
}


/***** 出発時間・返却時間 *****/

.PLAN .searchlist .search .reserve_time {
	width: 140px;
	height: 48px;
}

.PLAN .searchlist .search .reserve_time select.time_start,
.PLAN .searchlist .search .reserve_time select.time_end {
	width: 100%;
	height: 48px;
	margin: 0;
	padding: 0 0 0 15px;
	font-size: 16px;
	font-weight: bold;
	color: #333;
	cursor: pointer;
	border: 2px solid;
	border-color: #333;
	border-radius: 0px;
	appearance: none;
}


.PLAN .searchlist .search .reserve_time:after {	/* selectボックスの親要素にオリジナルの矢印を宣言 */
	content: "";
	position: relative;
	left: 113px;
	bottom: 27px;
	width: 7px;
	height: 7px;
	transform: translateY(-50%) rotate(-135deg);
	pointer-events: none;

    border-top: 2px solid #333;
    border-left: 2px solid #333;
}

.PLAN .searchlist .search .arrow_to {
	display: inline-block !important;
	vertical-align: middle;
	height: 48px;
	line-height: 48px;
	margin: 0 15px;
	font-size: 32px;
	color: #ff0080;
}


/*** ［検索する］ボタン ***/
.PLAN .searchlist .search button {
	font-family: "YakuHanJP","Roboto","Noto Sans JP",Meiryo,sans-serif;
	position: relative;
	vertical-align: bottom;
	width: 178px;
	height: 48px;
	line-height: 48px;
	margin-left: 20px;
	padding: 10px;
	border: 0;
	border-radius: 6px;

	background: #ff0080;

	/* ▼ ▼ ▼ 新ボタンデザインCSS （一部）　▼ ▼ ▼ */
	-webkit-border-radius: 6px;

	text-shadow: 1px 2px 2px rgba(0,0,0,0.2);
	-webkit-box-shadow: 0px 1px 1px #ffffff inset, 1px 1px 1px 0px rgba(0,0,0,0.1);
			box-shadow: 0px 1px 1px #ffffff inset, 1px 1px 1px 0px rgba(0,0,0,0.1);

	outline: none;
	cursor: pointer;

	border: 1px solid #ff0080;
	background-image: -webkit-linear-gradient(#FF7FC1 0%, #ff0080 100%);
	background-image: linear-gradient(#FF7FC1 0%, #ff0080 100%);
	/* ▲ ▲ ▲ 新ボタンデザインCSS （一部）　▲ ▲ ▲ */
}

.PLAN .searchlist .search button:hover {
	opacity: 0.8;
}

.PLAN .searchlist .search button a {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	height:100%;
	width: 100%;

	font-size: 16px;
	font-weight: bold;
	color: #fff;
	text-decoration: none;
}




/************************************************************
　検索結果（結果一覧）
************************************************************/

/* 各プランの表示デザイン枠 */

.search_plan ul li {
	z-index: 1;
	position: relative;

	display: block;
	width: 854px;
	height: 399px;
	margin-bottom: 40px;
	background: #fff;

	border: 3px solid;
	border-color: #ccc;
	border-radius: 6px;
}

.search_plan ul li:hover {
	border-color: #ff66c4;
}

.search_plan ul li a {
	display: unset;
	color: #333;
}


/* ↓ 内側に padding を持たせる際、inner 枠を作成しなければ各枠が中央に表示されずズレこむため ↓ */
.search_plan .inner {
	padding: 20px;
}
/* ↑ 内側に padding を持たせる際、inner 枠を作成しなければ各枠が中央に表示されずズレこむため ↑ */


.search_plan .inner .icon_plan {
	margin-bottom: 20px;
}

.search_plan .inner .icon_plan p {
	display: inline-block;
	width: calc(100% / 6 - 122px / 6);

	letter-spacing: -0.3px;

	margin: 0;
	margin-right: 10px;
	padding: 5px;
	font-size: 12px;
	text-align: center;
	background: #fff;
	border: 1px solid;

	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.search_plan .inner .icon_plan p:nth-child(1) { color:#ff9600; border-color:#ff9600; }
.search_plan .inner .icon_plan p:nth-child(2) { color:#ff66c4; border-color:#ff66c4; }
.search_plan .inner .icon_plan p:nth-child(3) { color:#00b900; border-color:#00b900; }
.search_plan .inner .icon_plan p:nth-child(4) { color:#a54cff; border-color:#a54cff; }
.search_plan .inner .icon_plan p:nth-child(5) { color:#38b6ff; border-color:#38b6ff; }
.search_plan .inner .icon_plan p:nth-child(6) { color:#ff9600; border-color:#ff9600; }

.search_plan .inner .icon_plan p.limited { color:#fff; font-weight:bold; background:#e50000; border-color:#e50000 !important; }

.search_plan .inner .icon_plan p:last-child {
	margin-right: 0;
}


.search_plan .inner .planLink {
	height: 27px;
	line-height: 27px;
	margin-bottom: 20px;
}

.search_plan .inner .planLink a {
	position: absolute;
	top: 0;
	left: 0;

	width: calc(100% - 40px);
	height: calc(100% - 40px);
	padding: 20px;
	text-decoration: none;

	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;

	z-index: 2; /* 必要であればリンク要素の重なりのベース順序指定 */
}

.search_plan .inner .planLink h3 {
	position: relative;
	top: 50px;

	margin: 0;
	font-size: 18px;
	font-weight: bold;

	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}


.search_plan .inner .left {
	float: left;
	width: 282px;
}

.search_plan .inner .left .image {
	margin-bottom: 10px;
}

.search_plan .inner .left .image img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: contain;
	background: #333;
}

.search_plan .inner .left .image img:hover { opacity:unset; }


.search_plan .inner .left .shopInfo {

}

.search_plan .inner .left .shopInfo p {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.search_plan .inner .left .shopInfo p.name {
	margin-bottom: 5px;
	font-weight: bold;
}

.search_plan .inner .left .shopInfo p.address {
	margin: 0;
	font-size: 12px;
}


.search_plan .inner .left .review {
	position: relative;
	height: 17px;
	margin-top: 5px;
	font-size: 12px;
}

.search_plan .inner .left .review a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;

	color: #ff9600;
	text-decoration: underline;

	z-index: 2;
}
.search_plan .inner .left .review a:hover {
	text-decoration: none;
}

.search_plan .inner .left .review.guest {

}

.search_plan .inner .left .review.member {

}

.search_plan .inner .left .review.member {

}

.search_plan .inner .left .review.member.nonReview {

}


.search_plan .inner .right {
	float: right;
	width: 512px;
}


.search_plan .inner .right .carInfo {
	font-size: 14px;
}

.search_plan .inner .right .carInfo table {
	width: 100%;
	margin-bottom: 1px;
	border-collapse: collapse;
}

.search_plan .inner .right .carInfo table:last-child {
	margin-bottom: 0;
}

.search_plan .inner .right .carInfo table tr {
	border-bottom: solid 2px white;
}

.search_plan .inner .right .carInfo table tr:last-child {
	border-bottom: none;
}


.search_plan .inner .right .carInfo table th {
	position: relative;
	width: 25%;
	line-height: 20px;
	padding: 5px 0;
	font-size: 12px;
	font-weight: normal;
	color: white;
	text-align: center;
}
.search_plan .inner .right .carInfo table th:after {
	display: block;
	position: absolute;
	top: calc(50% - 6px);
	right: -6px;
	content: "";

	width: 0px;
	height: 0px;

	border-left: 6px solid;
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
}

.search_plan .inner .right .carInfo table:nth-child(1) th { background-color:#ff9600; }
.search_plan .inner .right .carInfo table:nth-child(1) th:after { border-left-color: #ff9600; }

.search_plan .inner .right .carInfo table:nth-child(2) th { background-color:#ff66c4; }
.search_plan .inner .right .carInfo table:nth-child(2) th:after { border-left-color: #ff66c4; }

.search_plan .inner .right .carInfo table:nth-child(3) th { background-color:#00b900; }
.search_plan .inner .right .carInfo table:nth-child(3) th:after { border-left-color: #00b900; }

.search_plan .inner .right .carInfo table:nth-child(4) th { background-color:#a54cff; }
.search_plan .inner .right .carInfo table:nth-child(4) th:after { border-left-color: #a54cff; }

.search_plan .inner .right .carInfo table:nth-child(5) th { background-color:#38b6ff; }
.search_plan .inner .right .carInfo table:nth-child(5) th:after { border-left-color: #38b6ff; }


.search_plan .inner .right .carInfo table td {
	width: 75%;
	line-height: 20px;
	padding: 5px 10px 5px 20px;
	text-align: left;
}

.search_plan .inner .right .carInfo table:nth-child(1) td { background-color: #FFE9CC; }
.search_plan .inner .right .carInfo table:nth-child(2) td { background-color: #FFCCEB; }
.search_plan .inner .right .carInfo table:nth-child(3) td { background-color: #CCFFCC; }
.search_plan .inner .right .carInfo table:nth-child(4) td { background-color: #ECDBFF; }
.search_plan .inner .right .carInfo table:nth-child(5) td { background-color: #E0F3FF; }


.search_plan .inner .right .carInfo table td p {
	width: 100%;
	margin: 0;

	display: -webkit-box;
	    -webkit-box-orient: vertical;
	    -webkit-line-clamp: 1;
	    overflow: hidden;
}


.search_plan .inner .right .price {
	float: left;
	display: inline-block;
	vertical-align: middle;
	width: 272px;
	margin: 5px 0 10px 0;
	padding: 0 5px;
	font-size: 14px;
	text-align: center;

	background-image: linear-gradient(transparent 66.6%, #ffff00 0%)
}

.search_plan .inner .right .price span {
	vertical-align: -6px;

	margin: 0 10px 0 5px;

	font-family: Impact;
	font-style: italic; /* 斜体 */
	font-size: 48px;
	color: #e50000;
}


.search_plan .inner .right .reserve {
	float: right;
	display: inline-block;
	vertical-align: middle;

	position: relative;
	top: 15.5px;
	right: 15px;

	width: 182px;
	height: 42px;
	line-height: 22px;
	font-size: 14px;
	font-weight: bold;
}

/* ボタン 響きアニメーションCSS */
.reserve:before,
.reserve:after {
	content: "";
	position: absolute;
	z-index: -10;
	width: 182px;
	height: 42px;
	top: 0;
	left: 0;
	border-radius: 50px;
	background: #e50000;
	transform: translate3d(0,0,0);
}

.reserve:before	{ animation:resound 1s ease-out infinite; }
.reserve:after	{ animation:resound 1s ease-out 1s infinite; }

@keyframes resound{
	0%	{ transform:scale(.95); opacity:1 }
	90%	{ opacity:.1 } to { transform:scale(1.1,1.2); opacity:0 }
}


.search_plan .inner .right .reserve a {
	z-index: 3;
	position: absolute;
	top: 0;
	right: 0;

	width: calc(100% - 20px);
	height: calc(100% - 20px);
	margin: 0;
	padding: 10px;
	color: #fff;
	text-align: center;
	background: #e50000;
	border-radius: 21px;

	animation: pypy 2s ease-out infinite;
	opacity: 1;
}

/* ボタン 縮小＆拡大アニメーションCSS */
@keyframes pypy {
	0%, 40%, 60%, 80%	{ transform: scale(1.0); }
	50%, 70%			{ transform: scale(0.95); }
}


.search_plan .inner .right .reserve a:hover {
	color: #ffff00;
}

.search_plan .inner .right .reserve a i {
	margin-left: 5px;
}


.search_plan .inner .right .attention {
	width: unset !important;
	margin: 0 !important;
	padding: 10px !important;

	font-size: 10px;
	font-weight: bold;
	color: #e50000;

	letter-spacing: -0.3px;
}


.search_plan .inner a {
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 0;

	color: #333;
	text-decoration: none;
}

.search_plan .inner p.more {
	position: absolute;
	left: 0;
	bottom: 0;
	width: calc(100% - 32px);
	margin: 0 auto;
	padding: 15px;
	color: #fff;
	background-image: -webkit-linear-gradient(#ff0080 0%, #a54cff 100%);
	background-image: linear-gradient(#ff0080 0%, #a54cff 100%);
	text-align: center;
	border-left: 1px solid #a54cff;
	border-right: 1px solid #a54cff;
	border-radius: 0 0 4px 4px;
}

.search_plan .inner:hover p.more {
	color: #ffff00;
}

.search_plan .inner p.more i {
	margin-right: 5px;
}





/* 【PR】 VIPバナー広告枠（検索結果ページ内） */
.search_plan .vipBanner {
	width: 768px;
	margin: 40px auto;
}

.search_plan .vipBanner img {
	width: 100%;
}




/************************************************************
　ページネーション （ 検索結果ページ用の色設定 ）
************************************************************/

.pagination .page_number a {
	border: 1px solid #ff66c4;
	background-color: #ff66c4;
}

.pagination .page_number a:not(:hover) {
	color: #ff66c4;
}

.pagination .page_number::-webkit-scrollbar-thumb {
	background-color: #ff66c4;
}