/* CSS Document */

a:focus {outline: none;}

#wrap-container {max-width:none;width:auto;padding-left:0;padding-right:0;}
#breadcrumbs > * {
	max-width: 1240px;
	margin: 0 auto;
	padding-right: 20px;
	padding-left: 20px;
}

#hotelSearchWrapper {
	letter-spacing:0.02em;
	}
#hotelSearchWrapper * {
	box-sizing:border-box;
	}
	
/*font*/
#hotelSearchWrapper .mincho {
	font-family:"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "メイリオ", "Meiryo", "ＭＳ Ｐ明朝", "MS PMincho", serif,Helvetica;
	}

/*clearfix*/
#hotelSearchWrapper .clearfix:after {
	content:" ";
	display:block;
	clear:both;
}

/*align*/
#hotelSearchWrapper .alignL { text-align:left; }
#hotelSearchWrapper .alignR { text-align:right; }
#hotelSearchWrapper .alignC { text-align:center; }

/*カラム*/
.col > * {float:left;}

/*カラム2*/
.col2 > * {width:48%;margin-bottom:20px;}
.col2 > *:nth-of-type(2n) {margin-left:4%;}

/*カラム3*/
.col3 > * {width:32%;margin-right:2%;margin-bottom:20px;}
.col3 > *:nth-of-type(3n) {margin-right:0;}

/*テーブル*/
#hotelSearchWrapper .tl {
	display:table;
	border-collapse:collapse;
	width:100%;
	table-layout:fixed;
	}
#hotelSearchWrapper .tl > * {
	display:table-cell;
	vertical-align:top;
	}

@media(max-width:560px) {
	#hotelSearchWrapper .tl.spReset {display:block;}
	#hotelSearchWrapper .tl.spReset > * {display:block;width:auto !important;padding:0 !important;}
	#hotelSearchWrapper .tl.spReset > *:nth-of-type(n+2) {margin-top:30px;}
	}
	
/*ボックス*/
#hotelSearchWrapper .constBox {
	max-width:1024px;
	margin-left:auto;
	margin-right:auto;
	}
	
#hotelSearchWrapper .sec {
	padding:30px 20px 40px;
	}
#hotelSearchWrapper .sec .constBox > .block:nth-of-type(n+2) {margin-top:50px;}

@media(max-width:768px) {
	#hotelSearchWrapper .sec {padding:30px 4% 40px;}
	#hotelSearchWrapper .constBox {padding-left:4%;padding-right:4%;}
	#hotelSearchWrapper .sec .constBox {padding-left:0;padding-right:0;}
	}

/*リンク*/
#hotelSearchWrapper .icon-blank img {display:none;}

/*ボタン*/
#hotelSearchWrapper  .btnArea .boxButton:nth-of-type(2n) {
	margin-left:1em;
	}

#hotelSearchWrapper .boxButton {
	display:inline-block;
	width:380px;
	height:3em;
	text-align:center;
	color:#fff;
	background:#999;
	border:1px solid #999;
	line-height:1em;
	font-size:18px;
	font-weight:bold;
	border-radius:5px;
	position:relative;
	transition:background-color 0.2s linear;
	}
	
#hotelSearchWrapper .boxButton span {
	display:block;
	width:100%;
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	}

#hotelSearchWrapper .boxButton span::before {
	content:"";
	display:block;
	border:0.3em solid #fff;
	border-left-color:transparent !important;
	border-bottom-color:transparent !important;
	margin-top:-0.1em;
	transform:scaleY(0.7) rotate(45deg) translateY(-50%);
	position:absolute;
	top:50%;
	transition:all 0.2s ease-in-out;
	}
#hotelSearchWrapper .boxButton.arrowL span::before {left:1%;}
#hotelSearchWrapper .boxButton.arrowR span::before {right:5%;}

@media(min-width:769px) and (max-width:840px) {
	#hotelSearchWrapper .boxButton {
		font-size:16px;
	}
}
@media(max-width:768px) {
	#hotelSearchWrapper .boxButton {
		max-width:380px;
		width:90%;
		font-size:14px;
		}
	}



/*ボックスボタン背景*/
#hotelSearchWrapper .boxButton.bgRed {background:#fe6f6f;border-color:#fe6f6f;}
#hotelSearchWrapper .boxButton.bgBlue {background:#00a0e9;border-color:#00a0e9;}
#hotelSearchWrapper .boxButton.bgGreen {background:#13b5b1;border-color:#13b5b1;}
#hotelSearchWrapper .boxButton.bgOrange {background:#ff6633;border-color:#ff6633;}

/*背景反転*/
#hotelSearchWrapper .boxButton.bgGreen.invert {background:#fff;color:#13b5b1;}
#hotelSearchWrapper .boxButton.bgGreen.invert span::before {border-color:#13b5b1;}
#hotelSearchWrapper .boxButton.bgBlue.invert {background:#fff;color:#00a0e9;}
#hotelSearchWrapper .boxButton.bgBlue.invert span::before {border-color:#00a0e9;}

/*ホバー*/
#hotelSearchWrapper .boxButton:hover {background-color:transparent !important;}
#hotelSearchWrapper .boxButton:hover.arrowL span::before {left:2%;}
#hotelSearchWrapper .boxButton:hover.arrowR span::before {right:4%;}
	
/*ホバー背景*/
#hotelSearchWrapper .boxButton.bgRed:hover {color:#fe6f6f;}
#hotelSearchWrapper .boxButton.bgRed:hover span::before {border-color:#fe6f6f;}

#hotelSearchWrapper .boxButton.bgBlue:hover {color:#00a0e9;}
#hotelSearchWrapper .boxButton.bgBlue:hover span::before {border-color:#00a0e9;}

#hotelSearchWrapper .boxButton.bgGreen:hover {color:#13b5b1;}
#hotelSearchWrapper .boxButton.bgGreen:hover span::before {border-color:#13b5b1;}

#hotelSearchWrapper .boxButton.bgOrange:hover {color:#ff6633;}
#hotelSearchWrapper .boxButton.bgOrange:hover span::before {border-color:#ff6633;}

/*ホバー背景反転*/
#hotelSearchWrapper .boxButton.bgGreen.invert:hover {background:#13b5b1 !important;color:#fff;}
#hotelSearchWrapper .boxButton.bgGreen.invert:hover span::before {border-color:#fff;}
#hotelSearchWrapper .boxButton.bgBlue.invert:hover {background:#00a0e9 !important;color:#fff;}
#hotelSearchWrapper .boxButton.bgBlue.invert:hover span::before {border-color:#fff;}

/*ページトップボタン*/
.global-pagetop-box .pagetop {
	background:url(../img/btn_pagetop.png) no-repeat;
	background-size:100% auto;
	border:none;
	}
.global-pagetop-box .pagetop::after {display:none;}

@media(min-width:769px) {
	.global-pagetop-box .pagetop {
		width:90px;
		height:90px;
		}
	.global-pagetop-box.is-bottom .pagetop {top:-108px;}
	.global-pagetop-box.is-show .global-pagetop-inner {margin-top:-108px;}
	}
@media(max-width:768px) {
	.global-pagetop-box.is-show .global-pagetop-inner {margin-top:-58px;}
}

/*フォーム*/
#hotelSearchWrapper label {
	display:inline-block;
	margin-right:1em;
	}
#hotelSearchWrapper input[type] {display:none;}
#hotelSearchWrapper input[type]+i {
	display:inline-block;
	width:1em;
	height:1em;
	border:1px solid #000;
	vertical-align:middle;
	margin-top:-0.2em;
	}
#hotelSearchWrapper input[type]:checked+i {
	background:url(../img/icon_check.png) no-repeat center center;
	background-size:100% auto;
	}
	
/*リスト アイコン*/
#hotelSearchWrapper .listIcon > * {
	padding-left:1.5em;
	position:relative;
	}
#hotelSearchWrapper .listIcon > *::before {
	content:"・";
	position:absolute;
	left:0;
	}

/*リスト アイコン caution*/
#hotelSearchWrapper .listIcon.caution > *::before {
	content:"※";
	}



/*======================
コンテンツ トップ
======================*/
#hotelSearchWrapper .sec.top {
	text-align:center;
	background:url(../img/mvis.jpg) no-repeat center center;
	background-size:cover;
	}
#hotelSearchWrapper .sec.top h1 {
	text-indent:-9999em;
	font-size:1px;
	overflow:hidden;
	max-width:856px;
	margin:0 auto;
	}
#hotelSearchWrapper .sec.top h1 img {
	display:block;
	}
#hotelSearchWrapper .sec.top .ctch {
	margin:20px 0;
	}
#hotelSearchWrapper .sec.top nav.main li {
	display:inline-block;
	margin:10px 1% 0;
	width:16%;
	}
	
#hotelSearchWrapper nav.sub {
	background:#cdedf8;
	padding:30px 20px;
	}
#hotelSearchWrapper nav.sub li {
	margin-bottom:0;
	}
#hotelSearchWrapper nav.sub li a {
	background:#fff;
	border-radius:5px;
	display:block;
	text-align:center;
	padding:20px 0;
	}
#hotelSearchWrapper nav.sub li a:hover {
	text-decoration:none;
	}
#hotelSearchWrapper nav.sub li a::after {
	content:"";
	display:block;
	border-top:1px solid #005fc0;
	border-right:1px solid #005fc0;
	transform:rotate(135deg);
	width:10px;
	height:10px;
	margin:5px auto 0;
	}
#hotelSearchWrapper nav.sub li a span {
	display:block;
	font-weight:bold;
	}
#hotelSearchWrapper nav.sub li a span.pt {
	font-size:16px;
	}
#hotelSearchWrapper nav.sub li a span.mincho {
	color:#005fc0;
	font-size:26px;
	}
	
#hotelSearchWrapper h2.subTit {
	color:#005fc0;
	font-size:46px;
	text-align:center;
	font-weight:bold;
	padding:50px 20px;
	}
#hotelSearchWrapper h2.subTit span {
	font-size:74px;
	font-style:italic;
	}
	
@media(max-width:768px) {
	#hotelSearchWrapper .sec.top nav.main li {
		width:29%;
		}
	#hotelSearchWrapper nav.sub li a span.pt {
		font-size:9px;
		}
	#hotelSearchWrapper nav.sub li a span.mincho {
		font-size:12px;
		}
	
	#hotelSearchWrapper h2.subTit {font-size:25px;}
	#hotelSearchWrapper h2.subTit span {font-size:30px;}
	}
	
/*======================
ポイント
======================*/
#pointArea > ul > li {
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center center;
	padding:150px 0;
	}
#pointArea li#pt1 {background-image:url(../img/vis01.jpg);}
#pointArea li#pt2 {background-image:url(../img/vis02.jpg);}
#pointArea li.pt_other {background-image:url(../img/vis03.jpg);}
	
#pointArea li .panel {
	background-color:rgba(255, 255, 255, 0.96);
	padding:120px 75px 80px;
	position:relative;
	}
#pointArea li .panel h3.tit {
	position:absolute;
	left:50%;
	top:0;
	transform:translate(-50%, -50%);
	}
#pointArea li .panel h4.mincho {
	font-size:38px;
	color:#005fc0;
	margin-bottom:35px;
	text-align:center;
	line-height:1.3em;
	}

#pointArea li.pt_other .panel {
	padding:120px 50px 45px;
	}
#pointArea li.pt_other .panel h4.mincho {font-size:30px;}
#pointArea li.pt_other .panel .txt {margin-bottom:30px;}
#pointArea li.pt_other .pt3-4.col {margin-bottom:100px;}
/*#pointArea li.pt_other .pt3-4.col .panel .txt {height:130px;}*/

@media(max-width:768px) {
	#pointArea > ul > li {
		padding:70px 0;
		}
	#pointArea li .panel {
		padding:70px 4% 30px !important;
		}
	#pointArea li .panel h3.tit {
		width:75px;
		}
	#pointArea li .panel h4.mincho {
		font-size:22px !important;
		margin-bottom:20px;
		}
		
	#pointArea li.pt_other .col > * {
		float:none !important;
		width:auto !important;
		margin:0 !important;
		}
	#pointArea li.pt_other .pt3-4.col > *:last-child {margin-top:100px !important;}
	/*#pointArea li.pt_other .pt3-4.col .panel .txt {height:auto;}*/
	}

#pointArea li.pt_other #pt5 .col > div {
	background:#cdedf8;
	width:49%;
	}
#pointArea li.pt_other #pt5 .col > div:nth-of-type(2n) {margin-left:2%;}
#pointArea li.pt_other #pt5 .col > div div.inner {
	padding:20px;
	/*height:370px;*/
	}
#pointArea li.pt_other #pt5 .col > div div.inner h5 {
	font-size:18px;
	font-weight:bold;
	color:#005fc0;
	text-align:center;
	margin-bottom:15px;
	}
#pointArea li.pt_other #pt5 .col > div div.inner .add {
	margin-top:15px;
	color:#ff6666;
	}
#pointArea li.pt_other #pt5 .col > div div.inner dd.add {
	/*margin-top:15px;*/
	color:#ff6666;
	margin-top: 0;
	margin-bottom: 15px;
}
#pointArea li.pt_other #pt5 .col > div div.inner a:not(.boxButton) {
	color:#005fc0;
	text-decoration:underline;
	}
#pointArea li.pt_other #pt5 .col > div div.inner .alignR a {
	font-size:14px;
	}
#pointArea li.pt_other #pt5 .col > div div.inner .alignR a::before {
	content:"";
	display:inline-block;
	border:0.3em solid #005fc0;
	border-bottom-color:transparent;
	border-left-color:transparent;
	margin-top:-0.1em;
	margin-right:0.5em;
	transform:scaleY(0.7) rotate(45deg) translateY(-50%);
	}
#pointArea li.pt_other #pt5 .col > div div.inner .info {
	font-size:12px;
	margin-top:10px;
	}

#pointArea li.pt_other #pt5 .col > div figure img {max-width:none;width:100%;}
	
@media(max-width:768px) {
	#pointArea li.pt_other #pt5 .col > div figure {text-align:center;}
	/*#pointArea li.pt_other #pt5 .col > div div.inner {height:auto;}*/
	#pointArea li.pt_other #pt5 .col > div:last-child {margin-top:30px !important;}
	}
	
#hotelSearchWrapper h2.subTit {
	background-image:url(../img/illst01_l.png) , url(../img/illst01_r.png);
	background-repeat:no-repeat;
	background-position:left center, right center;
	}
#pointArea li .panel {
	background-repeat:no-repeat;
	}

#pointArea li .panel .boxButton {
	max-width:100%;
}

#pointArea li#pt1 .panel {
	background-image:url(../img/illst02.png);
	background-position:right 10%;
	}
#pointArea li#pt2 .panel {
	background-image:url(../img/illst03.png);
	background-position:right 5%;
	}
#pointArea li.pt_other .pt3-4.col .panel:first-child {
	background-image:url(../img/illst04.png);
	background-position:right 5%;
	}
#pointArea li.pt_other .pt3-4.col .panel:last-child {
	background-image:url(../img/illst05.png);
	background-position:left bottom;
	}
#pointArea li.pt_other #pt5 {
	background-image:url(../img/illst06.png);
	background-position:center 6%;
	}

@media(max-width:768px) {
	#hotelSearchWrapper h2.subTit {
		background-size:auto 80%;
		padding:30px 4%;
		}
		
	#pointArea li#pt1 .panel,
	#pointArea li#pt2 .panel {background-size:50% auto;}
	#pointArea li.pt_other .pt3-4.col .panel {background-size:35% auto;}
	#pointArea li.pt_other #pt5 {background-position:center 3%;background-size:100% auto;}
	}

/*======================
ホテル検索
======================*/
#searchArea {
	background:#fffab9;
	}
	
#searchArea .head {
	text-align:center;
	}
#searchArea .head .tip {
	background:#005fc0;
	color:#fff;
	font-size:15px;
	padding:0.5em 2em;
	display:inline-block;
	position:relative;
	letter-spacing:0.1em;
	}
#searchArea .head .tip::after {
	content:"";
	background:#005fc0;
	display:block;
	width:10px;
	height:10px;
	position:absolute;
	bottom:-5px;
	left:calc(50% - 5px);
	transform:rotate(45deg);
	}
	
#searchArea .head h2 {
	font-size:40px;
	font-weight:bold;
	color:#005fc0;
	margin-top:20px;
	}
#searchArea .head .period {
	font-size:22px;
	margin-top:40px;
	}
#searchArea .head .info {
	font-size:14px;
	margin-top:5px;
	margin-bottom:35px;
	}
	
#searchArea .stepTit {
	font-size:22px;
	color:#005fc0;
	text-align:center;
	font-weight:bold;
	margin-bottom:20px;
	}
#searchArea .stepTit span {font-weight:bold;font-style:italic;}

@media(max-width:768px) {
	/*#searchArea .stepTit span,
	#searchArea .stepTit span+br {display:none;}*/
	#searchArea .head .tip {font-size:11px;}
	#searchArea .head h2 {font-size:25px;margin-top:20px;}
	#searchArea .head .period {font-size:16px;margin-top:20px;}
	#searchArea .stepTit {font-size:18px;}
	}

/*step ボタン領域*/
#searchArea .btnArea {margin-top:40px;}

@media(max-width:768px) {
	#searchArea .btnArea {margin-top:20px;}
	}

/*step テーブル*/
#searchArea .saTbl {
	background:#fff;
	width:100%;
	}
#searchArea .saTbl th,
#searchArea .saTbl td {
	border:1px solid #dcdcdc;
	text-align:center;
	vertical-align:middle;
	padding:1em 0;
	transition:background-color 0.3s linear;
	}
#searchArea .saTbl thead th {
	font-size:18px;
	font-weight:bold;
	background:#005fc0;
	color:#fff;
	}
	
#searchArea .saTbl td.on {
	background:#ffefea !important;
	}

#searchArea .step1 .saTbl td {padding:0;}
#searchArea .step1 .saTbl td label {
	display: block;
	width:100%;
	padding:1em 0;
}

@media(max-width:768px) {
	#searchArea .saTbl th,
	#searchArea .saTbl td {
		padding:0.5em 0;
		}
	#searchArea .saTbl thead th {
		font-size:15px;
		}
	}

/*======================
ホテル一覧から選ぶメニュー
======================*/
#hotelListMenu {
	position: fixed;
	padding:50px 20px 20px;
	top:0;
	right:0;
	background:#005fc0;
	color:#fff;
	z-index:10000000000;
	font-size:14px;
	height:100%;
	width:270px;
	transform:translateX(100%);
	transition:transform 0.3s ease-in-out;
}
.listOpen #hotelListMenu {
	transform:translateX(0);
}

#hotelListMenu a.closeButton {
	position: absolute;
	top:20px;
	right:20px;
	display:block;
	width:1.5em;
	height:1.5em;
	padding:0.5em;
}
#hotelListMenu a.closeButton::before,
#hotelListMenu a.closeButton::after {
	content:"";
	position: absolute;
	top:50%;
	left:0;
	display:block;
	width:100%;
	height:2px;
	background:#fff;
}
#hotelListMenu a.closeButton::before {
	transform:rotate(45deg);
}
#hotelListMenu a.closeButton::after {
	transform:rotate(-45deg);
}
	
#hotelListMenu > ul {height:100%;overflow: auto;}
#hotelListMenu li:nth-of-type(n+2) {
	margin-top:0.5em;
}
#hotelListMenu li a {
	color:#fff;
	display:block;
	position: relative;
	padding-left:1.3em;
}
#hotelListMenu li a::before {
	content:"";
	width:0.3em;
	height:0.3em;
	border-top:1px solid #fff;
	border-right:1px solid #fff;
	display:inline-block;
	margin-right:0.5em;
	position: absolute;
	top:0.7em;
	left:0.2em;
	transform: translateY(-50%) rotate(45deg);
}
#hotelListMenu li a span {font-size:11px;display:block;}
#hotelListMenu a.trigger {font-size:120%;}
#hotelListMenu a.trigger::before {transform: translateY(-50%) rotate(135deg);}
#hotelListMenu a.trigger.on::before {transform: translateY(-50%) rotate(-45deg);}
#hotelListMenu a.trigger+ul {
	overflow:hidden;
	display:none;
	padding-left:1em;
	padding-top:0.5em;
}

#searchArea #hotelListButton {
	position:fixed;
	right:0;
	top:20%;
	z-index:1;
	display: none;
	}

@media(max-width:768px) {
	#searchArea #hotelListButton {
		width:40px;
		}
	
	#hotelListMenu,
	#hotelListButton {
		display:none !important;
	}
}



#searchArea  .step2 {margin-top:40px;}

@media(max-width:768px) {
	#modalContainer .step2 {
		margin-top:0;
		}
	}

/*スマホメニュー*/
#spModalMenu {
	display:none;
	position: fixed;
	left:10px;
	bottom:13px;
	width:calc(100% - 100px);
	text-align:center;
	z-index:998;
	}
#spModalMenu a {
	display:block;
	border-radius:5px;
	padding: 1.2em 0 1.2em;
	background: #0B318F;
	color:#fff;
	line-height: 1em;
	font-size: 13px;
	font-weight:bold;
	text-decoration:none;
	}
	
@media(max-width:768px) {
	#hotelSearchWrapper.modalOpen #modalContainer,
	#hotelSearchWrapper.modalOpen .menuCloseButon  {
		display:block !important;
		}
	
	#spModalMenu {
		display:none;
		}
	#modalContainer {
		display:none;
		font-size:14px;
		position: fixed;
		top: 5%;
		left: 0;
		margin: 0 4% !important;
		background:#fff;
		height: 90%;
		overflow: auto;
		border: 3px solid #0f2e5d;
		z-index:1000;
		padding:10px;
		}
		
	#hotelSearchWrapper .menuCloseButon {
		display: none;
		position: fixed;
		left: 90%;
		top: 5%;
		width: 40px;
		height: 40px;
		margin: -15px 0 0 -5px;
		border: 2px solid #fff;
		border-radius: 100px;
		background: #0b318f;
		z-index: 1001;
		}
	#hotelSearchWrapper .menuCloseButon::after,
	#hotelSearchWrapper .menuCloseButon::before {
		content: "";
		display: block;
		width: 20px;
		height: 2px;
		background: #fff;
		position: absolute;
		top: 50%;
		left: 50%;
		margin-top: -1px;
		margin-left: -10px;
		}
	#hotelSearchWrapper .menuCloseButon::after {
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
		}
	#hotelSearchWrapper .menuCloseButon::before {
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		}
	}

@media(max-width:560px) {
	#spModalMenu {width:calc(100% - 80px);}
}

#hotelSearchWrapper #veil {
	display:none;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: rgba(255, 255, 255, 0.6);
	z-index: 999;
	}
#hotelSearchWrapper.modalOpen #veil,
#hotelSearchWrapper.listOpen #veil {
	display:block;
}


/*step1*/
#searchArea .step1 .tl .forward {padding-right:10px;}
#searchArea .step1 .tl .backword {padding-left:10px;}
#searchArea .step1 .tl table tbody tr.bg th,
#searchArea .step1 .tl table tbody tr.bg td {background:#ebf3f6;}

/*step2*/
#searchArea .step2 .saTbl > tbody > tr td {
	padding-left:40px;
	padding-right:40px;
	}
#searchArea .step2 .saTbl table {
	width:100%;
	}
#searchArea .step2 .saTbl table th,
#searchArea .step2 .saTbl table td {
	border:none;
	text-align:left;
	padding-top:0;
	}
#searchArea .step2 .saTbl table th {
	font-weight:bold;
	width:7em;
	vertical-align:top;
	}

#searchArea .step2 .boxButton:hover {
	background:#13b5b1 !important;
	color:#fff;
}
#searchArea .step2 .boxButton:hover span::before {
	right:5%;
	border-top-color:#fff;
	border-right-color:#fff;
}
#searchArea .step2 .boxButton.on {color:#13b5b1 !important;background:#fff !important;}
#searchArea .step2 .boxButton.on span::before {
	border-top-color:#13b5b1;
	border-right-color:#13b5b1;
}
	
@media(max-width:768px) {
	#searchArea .step2 .saTbl > tbody > tr td {
		padding-left:0;
		padding-right:0;
		}
	#searchArea .step2 .saTbl > tbody > tr > td {
		display:block;
		padding:0 4%;
		}
	#searchArea .step2 .saTbl table,
	#searchArea .step2 .saTbl table thead,
	#searchArea .step2 .saTbl table tbody,
	#searchArea .step2 .saTbl table tr,
	#searchArea .step2 .saTbl table td,
	#searchArea .step2 .saTbl table th {
		display:block;
		padding:0;
		}
	#searchArea .step2 .saTbl > tbody > tr > td {
		padding:15px;
		}
	#searchArea .step2 .saTbl table tr:nth-of-type(n+2) th {
		margin-top:20px;
		}
	#searchArea .step2 .saTbl .btnArea a {
		margin:10px auto 0 !important;
		display:block;
		}
	}
	
/*エラー表示*/
#searchArea .error {
	display:none;
	text-align:center;
	margin-bottom:20px;
	}
.error #searchArea .error {display:block;}
#searchArea .error a {
	color:#fe6f6f;
	font-weight:bold;
	}
#searchArea .error a span {text-decoration:underline;}

/*検索結果エラー表示*/
#resultError {
	border:1px solid #fe6f6f;
	padding:1em 1em;
	color:#fe6f6f;
	text-align: center;
	max-width:350px;
	margin-left:auto;
	margin-right:auto;
	margin-top:40px;
}

/*ホテル一覧*/
#searchArea ul.hotelList li {background:#fff;margin-top:30px;display:none;}
#searchArea ul.hotelList li.show {display:block;}
#searchArea ul.hotelList li .listHead {
	color:#fff;
	background:#005fc0;
	}
#searchArea ul.hotelList li .listHead.tl > * {
	padding-top:10px;
	padding-bottom:10px;
	}
#searchArea ul.hotelList li .listHead.tl > *:first-child {padding-left:20px;}
#searchArea ul.hotelList li .listHead.tl > *:last-child {padding-right:20px;}
#searchArea ul.hotelList li .listHead.tl h4 {
	font-size:22px;
	font-weight:bold;
	}
#searchArea ul.hotelList li .listHead.tl h4 span.class {
	font-size:16px;
	font-weight:bold;
	color:#00a0e9;
	background:#fff;
	display:inline-block;
	line-height:1em;
	padding:0.3em 1em;
	border-radius:100px;
	margin-left:1em;
	}
	
#searchArea ul.hotelList li .listHead.tl > span {
	text-align:right;
	vertical-align:middle;
	color:#fff;
	line-height:1em;
	font-size:15px;
	width:200px;
	}
#searchArea ul.hotelList li .listHead.tl > span a {
	color:#fff;
	text-decoration:underline;
	}

@media(max-width:768px) {
	#searchArea ul.hotelList li .listHead.tl h4 {font-size:16px;padding:0 !important;margin-bottom:5px;}
	#searchArea ul.hotelList li .listHead.tl h4 span.class {font-size:12px;}
	#searchArea ul.hotelList li .listHead.tl > span {font-size:12px;padding:0 !important;}
	#searchArea ul.hotelList li .listHead.tl {
		display:block;
		padding:0.5em 3%;
		}
	#searchArea ul.hotelList li .listHead.tl > * {
		display:block;
		width: auto !important;
		padding:0;
		}
	}

#searchArea ul.hotelList li .inner {
	padding:20px;
	font-size:14px;
	}
#searchArea ul.hotelList li .roomType {font-size:20px;font-weight:bold;margin-bottom:0.5em;}

#searchArea ul.hotelList li .inner .tl > figure {
	width:41%;
	}
#searchArea ul.hotelList li .inner .tl > div {
	padding-left:20px;
	}
#searchArea ul.hotelList li .inner .price {font-size:30px;font-weight:bold;color:#ff6666;}
#searchArea ul.hotelList li .inner .mintxt {font-size:12px;}
#searchArea ul.hotelList li .inner .det {
	border-top:1px solid #d7d1ca;
	border-bottom:1px solid #d7d1ca;
	padding:10px 0;
	margin:10px 0;
	}
#searchArea ul.hotelList li .inner .det p {
	padding-left:2em;
	background-repeat:no-repeat;
	background-position:left 0.3em;
	background-size:1.6em auto;
	margin-top:0.3em;
	}
#searchArea ul.hotelList li .inner .det p:first-child {margin-top:0;}
#searchArea ul.hotelList li .inner .det p.time {background-image:url(../img/icon_clock.png);}
#searchArea ul.hotelList li .inner .det p.size {background-image:url(../img/icon_bed.png);}
#searchArea ul.hotelList li .inner .det p.meal {background-image:url(../img/icon_silver.png);}
#searchArea ul.hotelList li .inner p.info strong {color:#ff6666;}

#searchArea ul.hotelList li li {
	margin:0;
	border-top:1px solid #eee;
	}
	
@media(max-width:768px) {
	#searchArea ul.hotelList li .inner .tl,
	#searchArea ul.hotelList li .inner .tl > * {
		display:block;
		width:auto !important;
		padding:0 !important;
		}
	#searchArea ul.hotelList li .inner .tl figure {text-align:center;}
	#searchArea ul.hotelList li .inner .price {font-size:20px;}
	#searchArea ul.hotelList li .roomType {font-size:16px;}
	}

/*子供料金設定*/
#childrenFee {
	background:#fff;
	padding:20px;
	}
#childrenFee h3.tl {
	width:74%;
	margin-left:auto;
	margin-right:auto;
	}
#childrenFee h3.tl > * {vertical-align:middle;}
#childrenFee h3.tl > figure {width:89px;}
#childrenFee h3.tl > span {
	padding-left:1em;
	font-size:22px;
	color:#005fc0;
	font-weight:bold;
	}
	
@media(max-width:768px) {
	#childrenFee h3.tl {
		width:auto;
		}
	#childrenFee h3.tl figure {
		width:40px;
		}
	#childrenFee h3.tl > span {font-size:18px;}
	}

#childrenFee .col li dl {
	border:1px solid #005fc0;
	text-align:center;
	margin-top:5px;
	}
#childrenFee .col li dl > * {
	padding:0.7em 1em;
	}
#childrenFee .col li dl dt {
	background:#005fc0;
	font-size:18px;
	color:#fff;
	font-weight:bold;
	}
#childrenFee .col li dl dd {
	font-size:24px;
	color:#005fc0;
	font-weight:bold;
	}
#childrenFee .col li .det {
	font-size:14px;
	margin-top:0.7em;
	}
#childrenFee .info {
	font-size:12px;
	margin-top:30px;
	padding-top:30px;
	border-top:1px solid #d7d1ca;
	}
#childrenFee .info .listIcon li:before {color:#fe6f6f;}

@media(max-width:768px) {
	#childrenFee .col > * {
		width:auto;
		margin:0;
		float:none;
		}
	#childrenFee .col li dl dt {
		font-size:16px;
		}
	#childrenFee .col li dl dd {
		font-size:14px;
		}
	#childrenFee .col > *:nth-of-type(n+2) {
		margin-top:20px;
		}
	}

/*======================
「ホテル＆送迎 らくらくプラン」に関するご注意
======================*/
#rakurakuCaution .constBox {
	max-width:900px;
	font-size:14px;
	}
#rakurakuCaution a {
	text-decoration:underline;
	color:#4ea0d8;
	}
#rakurakuCaution h2 {
	font-size:32px;
	font-weight:bold;
	text-align:center;
	line-height:1.2em;
	}
#rakurakuCaution h2 figure {margin-bottom:0.3em;}

#rakurakuCaution .mustRead {
	background:#fffab9;
	padding:30px;
	margin-top:40px;
	}
#rakurakuCaution .mustRead h3 {
	color:#ff6633;
	text-align:center;
	font-size:24px;
	font-weight:bold;
	margin-bottom:20px;
	}
#rakurakuCaution .mustRead li:nth-of-type(n+2) {margin-top:1em;}
#rakurakuCaution .base {margin-top:30px;}
#rakurakuCaution .base li:nth-of-type(n+2) {margin-top:1em;}
#rakurakuCaution .stit {
	font-size:22px;
	font-weight:bold;
	margin-bottom:30px;
	}

@media(max-width:768px) {
	#rakurakuCaution .mustRead {
		padding:20px 3%;
		}
	#rakurakuCaution h2 {
		font-size:20px;
		}
	#rakurakuCaution h2 figure {
		width:30px;
		margin-left:auto;
		margin-right:auto;
		}
	#rakurakuCaution .mustRead h3 {font-size:16px;}
	
	#hotelSearchWrapper .sec .constBox > .block:nth-of-type(n+2) {margin-top:30px;}
	#rakurakuCaution .stit {
		margin-bottom:20px;
		font-size:16px;
		}
	}


.sec.bnrArea {
	padding-top:0 !important;
	padding-bottom:0 !important;
	}



/*======================
	追加
======================*/

.mgtp1em {
	margin-top: 1em;
}

#searchArea ul.hotelList li .inner .price span {
	display: block;
	font-size: 14px;
	color: #000;
	font-weight: normal;
}

.str {
	overflow: hidden;
}

.str p {
	position: relative;
	left: 100px;
	opacity: 0;
	font-weight: bold;
	font-size: 110%;
}



span.marker {
	font-weight: bold;
	color: #ff6666;
	/*background-color: #fffb9b;*/
	background: linear-gradient(transparent 60%, #fffb9b 60%);
}

#pt5 > h5 > strong {
	font-weight: bold;
	/*background-image: url(/inttour/hawaii/hotel/landpackage/img/marker_bg.png);
	background-repeat: repeat-x;
	background-position: 0 0;*/
}

#pt5 p.txt strong {
	font-weight: bold;
	color: #ff6666;
}

#pt5 strong span {
}


#pt5 strong span.point-marker {
	background-image: url(/inttour/hawaii/hotel/landpackage/img/marker_bg.png);
	background-repeat: repeat-x;
	background-position: left bottom;
	animation-name: marker;
	animation-duration: 10s;
}

@keyframes marker {
	0% {
		background-size: 0%;
		/*background-color: #cdedf8;*/
	}

	100% {
		background-size: 100%;
		/*background-color: #fffb9b;*/
	}
}

.sub .bnr {
	margin: 0 auto 30px auto;
	text-align: center;
	max-width: 1024px;
}

.sub .bnr img {
	border: 1px solid #aaa;
}

.sub .bnr img.pc {
	display: inline;
}

.sub .bnr img.sp {
	display: none;
}

.sub .bnr a:hover {
	opacity: 0.8;
}

.plus-mile {
	margin-bottom: 10px;
}

.plus-mile span {
	font-size: 16px;
	font-weight: bold;
	background: linear-gradient(transparent 60%, #fffb9b 60%);
}


@media(max-width:768px) {
	.sub .bnr img.pc {
		display: none;
	}

	.sub .bnr img.sp {
		display: inline;
	}
}



/*======================
	ガイド
======================*/

.cp-005-landpackage-guide {
	max-width: 950px;
	margin: 30px auto 0 auto;
}

.cp-005-landpackage-guide h1 {
	color:#fff;
	font-size:22px !important;
	padding:0 1%;
	border-radius:30px;
	text-align: center;
	background-color: #1a52d3;
	margin-bottom: 15px;
}

.cp-005-landpackage-guide p {
	text-align: center;
	margin-bottom: 30px;
}

.cp-005-landpackage-guide .pc-manual {
	display: block;
}

.cp-005-landpackage-guide .sp-manual {
	display: none;
}

.cp-005-landpackage-guide .next {
	text-align: center;
	margin: 30px auto;
}

.cp-005-landpackage-guide h2.secTit {
	font-size:24px;
	padding:5px 20px;
	border-left:5px solid #062D91;
	line-height:1.2em;
	margin-bottom:30px;
}

@media(max-width:768px) {
.cp-005-landpackage-guide h1 {
	font-size: 20px;
	padding:1% 3%;
	line-height: 1.5;
}

	.cp-005-landpackage-guide .secTit {
		font-size:18px;
		padding:10px;
	}

	.cp-005-landpackage-guide .pc-manual {
		display: none;
	}

	.cp-005-landpackage-guide .sp-manual {
		display: block;
	}
}



