@charset "Shift_JIS";

/* 共通スタイル */
.m-form__hdg-lv3 {
	margin-bottom: 20px!important;
}
.module-travel_parts.horizon .mod-content_cover {
	padding: 0 !important;
}
.module-travel_parts .mod-travel_select_cover {
	border: none;
	background: none;
}
.module-travel_parts.horizon .mod-content_wrap {
	padding: 0;
}
.mod-content_cover {
	display: block!important;
}
.mod-content_box {
	border: none!important;
	margin-bottom: 25px;
	padding: 0!important;
}
.mod-content_box:after{
	content: ".";
	display: block;
	height: 0;
	font-size:0;
	clear: both;
	visibility:hidden;
}
.d_moduleArea fieldset,
.modal-balloon fieldset {
	border: none!important;
}
.module-travel_parts.horizon .mod-input_box .mod-input_parts {
	max-width: 182px;
	height: 42px;
	float: left;
	margin-top: 0;
}
.module-travel_parts.horizon .mod-input_box .mod-input_parts.m_adult select {
	width: 150px;
}
.module-travel_parts.horizon .mod-input_box.rental-car_box .mod-input_parts {
	max-width: 192px;
}
fieldset .mod-input_parts input,
fieldset .mod-input_parts select {
	height: 100%;
	padding: 0 17px 0 10px!important;
	font-family: ヒラギノ角ゴ\ Pro\ W3, "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, ＭＳ\ Ｐゴシック, "MS PGothic", sans-serif;
	text-indent: 0.01px;
	text-overflow: '';
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	box-sizing: border-box;
	border-radius: 3px;
	border: none;
	background: #fff;
	border: none!important;
	box-shadow: none!important;
	border: 1px solid #ccc!important;
}
.mod-title {
	margin: 0 0 10px!important;
	clear: both;
	font-weight: normal!important;
}

/* バルーン */
.modal-balloon .mod-balloon_title,
.modal-balloon.mod-column .mod-select_submit .mod-submit_btn,
.module-travel_parts .module-calendar .calendar-nav li a:after {
	background: #000!important;
}
.modal-balloon .modal-balloon_contents {
	border-color: #000!important;
}
.modal-balloon .modal-balloon_arrow {
	border-color: transparent transparent #000 transparent!important;
}
.modal-balloon .mod-list-single li:before {
	border-color: transparent transparent transparent #000!important;
}
.modal-balloon.module-travel_parts .mod-select {
	width: 99.9%!important;
}
.module-travel_parts .module-calendar .tbl-calendar td.cursor {
	border: 1px solid #000!important;
	background: #fbf1a8;
}
.module-travel_parts .tbl-calendar td.select,
.module-travel_parts .tbl-calendar td.duration {
	border-color: #fbf1a8 !important;
}
.module-travel_parts .module-calendar .tbl-calendar td.select,
.module-travel_parts .module-calendar .tbl-calendar td.select a,
.module-travel_parts .module-calendar .tbl-calendar td.duration,
.module-travel_parts .module-calendar .tbl-calendar td.duration a {
	background-color: #fbf1a8 !important;
}
.module-calendar .calendar-box .month {
	font-family: 'Garamond', ヒラギノ角ゴ\ Pro\ W3, "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, ＭＳ\ Ｐゴシック, "MS PGothic", sans-serif;
	font-size: 16px!important;
	font-weight: normal!important;
}

.module-calendar .calendar-box .month em {
	font-size: 14px;
	font-weight: normal;
}
.module-travel_parts .module-calendar .monthly .month span {
	font-size: 30px;
	font-weight: normal;
}
.module-travel_parts .mod-input.mod-icon.is-balloon_open {
	background-color: #eee !important;
}

/* フライト条件の選択 */
.mod-dep_box {
	float: left;
	width: 40%;
	position: relative;
}
.mod-dep_box fieldset.mod-dep-apo,
.mod-arr_box fieldset.mod-dep-apo {
	margin-top: 15px;
}
.mod-content_cover {
	position: relative;
}
.mod-content_cover:after {
	width: 30px;
	height: 85px;
	margin: 0 0 0 -15px;
	position: absolute;
	top: 18%;
	left: 50%;
	background-position: -451px -12px;
	background-image: url(../../img/icn_sprite.svg);
	content: '';
}
.mod-arr_box {
	float: right;
	width: 40%;
}
.m-form__hdg-lv3 {
	clear: both;
}

/* 宿泊条件の選択 */
.mod-tabisaku-room,
.mod-tabisaku-num {
	float: left;
	margin-top: 0!important;
}
.mod-tabisaku-room {
	width: 240px;
}
.mod-tabisaku-num {
	width: 280px;
}
.place_box {
	float: left;
	width: 272px;
	margin-top: 0!important;
}
.rental-car_box {
	float: left;
	width: 300px;
	margin-top: 0!important;
}
.rental-car_box legend {
	width: 88px!important;
}
.rental-car_box .ico-checkbox {
	margin-top: 14px;
}
.module-travel_parts .ico_mod_help {
	display: none !important;
}
.checkIn_box {
	clear: both;
}
.checkIn_box,
.checkOut_box {
	float: left;
	width: 272px;
}
.checkIn_box legend,
.checkOut_box legend {
	padding: 3px 0 0 3px!important;
}

/* 検索ボタン */
.btn-search-area {
	background: #000!important;
	width: 282px!important;
	margin: 0 0 0 -141px!important;
	padding: 5px!important;
	border-radius: 5px!important;
	left: 50%!important;
	height: 65px!important;
	bottom: -10px!important;
}
.btn-search-area:hover {
	opacity: 0.7;
}
.btn-search-area .btn-search {
	background: #000!important;
	border: 1px solid #fff!important;
	border-radius: 0!important;
	position: relative!important;
	height: 100%!important;
	padding: 16px 0!important;
}
.placeWrap {
	margin-bottom: 20px;
}
.mod-btn_box {
	margin-bottom: 20px!important;
}
.btn-search-area .btn-search:after {
	width: 5px;
	height: 9px;
	margin-top: -5px;
	position: absolute;
	top: 50%;
	right: 16px;
	background-position: -30px -10px;
	background-image: url(../../img/icn_sprite.svg);
	content: '';
}

.m-list-btn[data-type="col"] {
	max-width: 282px!important;
	margin-top: 24px!important;
}

/* プレースホルダー */
.m_depFlightDepArrArea input::-webkit-input-placeholder,
.m_arrFlightDepApoArea input::-webkit-input-placeholder,
.m_placeOfStay input::-webkit-input-placeholder {
	padding-top: 0.2em;
}

/* アイコン */
.module-travel_parts .select-dep,
.module-travel_parts .select-arr,
.module-travel_parts .select-arr[disabled],
.module-travel_parts .mod-select,
.module-travel_parts .mod-select[disabled],
.module-travel_parts .ico_select {
	background-image: none;
}
.mod-input_parts {
	position: relative;
}
.mod-input_parts:before {
	content: "";
	width: 0;
	height: 0;
	margin-top: -2px;
	position: absolute;
	top: 50%;
	right: 13px;
	border-style: solid;
	border-width: 4px 3.5px 0 3.5px;
	border-color: #999 transparent transparent transparent;
	z-index: 1;
}
.mod-input_parts.m_depFlightDepDate:before,
.mod-input_parts.m_arrFlightDepDate:before,
.mod-input_parts.m_checkin:before,
.mod-input_parts.m_checkout:before,
.rental-car_box .mod-input_parts:before {
	display: none;
}
.module-travel_parts .ico_calendar {
	background-size: 23px auto;
}
.module-travel_parts .ico-checkbox input[type=checkbox] + label:before {
	background-image: url("../js/_shared/images/root/common/ico_checkbox.png");
	background-size: 15px auto;
	background-position: top left;
}
.module-travel_parts .ico-checkbox input[type=checkbox]:checked + label:before {
	background-position: left bottom;
}
.modal-balloon.mod-scroll_col2 .mod-balloon-set_parent .mod-list-single li:after,
.modal-balloon.mod-scroll_col3 .mod-balloon-set_parent .mod-list-single li:after,
.modal-balloon.mod-scroll_col3 .mod-balloon-set_child .mod-list-single li:after,
.modal-balloon .mod-back_btn:before {
	height: 14px;
	background-size: 8px auto!important;
}
.module-travel_parts .mod-shutter_btn span:after {
	background-size: 13px auto;
}

@media screen and (max-width: 900px) {
	.module-travel_parts.horizon .mod-input_box .mod-input_parts {
		max-width: 150px!important;
	}
	.place_box {
		width: 240px;
	}
	.module-travel_parts.horizon .rental-car_box .mod-input_parts {
		max-width: 180px!important;
	}
	.checkIn_box,
	.checkOut_box {
		width: 260px;
	}
	.module-travel_parts.horizon .mod-input_box.checkIn_box .mod-input_parts,
	.module-travel_parts.horizon .mod-input_box.checkOut_box .mod-input_parts {
		max-width: 170px!important;
	}
}


/* コンテンツモジュール */
#module002 {
	padding: 0 24px;
}
#module002 .module-travel_inner {
	padding-top: 0!important;
}
#module002 .m-form__hdg-lv3 {
	margin: 0 -10px 30px!important;
	font-weight: bold;
}
#module002 .mod-title {
	font-weight: bold!important;
}
#module002 .mod-content_cover:after {
	background-position: -451px -106px!important;
}
#module002 fieldset legend {
	width: auto!important;
	margin-bottom: 8px;
}
#module002 .mod-dep-apo {
	float: left;
	width: 46%;
	margin-top: 0;
}
#module002 .mod-arr-apo {
	float: right;
	width: 46%;
	margin-top: 0;
}
#module002 .mod-dep-day {
	clear: both;
}
#module002 .m_depFlightDepApoArea,
#module002 .m_arrFlightDepApoArea {
	position: relative;
}
#module002 .m_depFlightDepApoArea:after,
#module002 .m_arrFlightDepApoArea:after {
	width: 11px;
	height: 41px;
	position: absolute;
	top: 0;
	right: -13%;
	background-position: -195px -96px;
	background-image: url(../../img/icn_sprite.svg);
	content: '';
}
#module002 .mod-dep_box,
#module002 .mod-arr_box {
	width: 42%;
}
#module002 .mod-content_cover:after {
	top: 23%;
}
#module002 .module-travel_parts.horizon .mod-input_box .mod-input_parts {
	max-width: 220px!important;
}
#module002 #dom_tabisaku_member2 {
	width: 200px;
}
#module002 .checkIn_box, #module002 .checkOut_box {
	width: 240px;
}
#module002 .placeWrap {
	margin-bottom: 30px!important;
}
#module002 .rental-car_box {
	clear: both;
}
#module002 .ico-checkbox {
	margin-top: 0;
}
#module002 .mod-tabisaku-room {
	width: 220px;
}

@media screen and (max-width: 767px) {
	.m-box-dp {
		padding-left: 0;
		padding-right: 0;
	}
	.m-box-dp__hdg--lv2 {
		margin-left: 0;
		margin-right: 0;
		padding-left: 10px;
		padding-right: 10px;
	}
	.modal-balloon {
		z-index: 9999;
	}
	#module002 {
		margin-top: 0;
		padding: 0 10px;
	}
	#module002 .m-form__hdg-lv3 {
		margin: 0 0 22px!important;
		padding: 0 0 10px;
		border-bottom: 1px solid #d1d1d1;
		line-height: 1;
	}
	#module002 .module-travel_parts.horizon .mod-input_box .mod-input_parts {
		padding-left: 5.5em;
	}
	#module002 .module-travel_parts .mod-content_box .mod-title {
		font-size: 1.2rem;
	}
	#module002 .m_depFlightDepApoArea:after,
	#module002 .m_arrFlightDepApoArea:after,
	#module002 .mod-content_cover:after {
		display: none;
	}
	#module002 .mod-title {
		margin-bottom: 20px!important;
	}
	#module002 fieldset legend {
		font-size: 12px!important;
		padding: 6px 0 0!important;
	}
	#module002 .mod-dep-apo legend span {
		position: relative;
	}
	#module002 .mod-dep-apo span:after {
		content: "";
		width: 24px;
		height: 6px;
		top: auto;
		bottom: -20px;
		left: 5px;
		background-size: 500px;
		background-position: -96px -37px;
		position: absolute;
		background-image: url(../../img/icn_sprite.svg);
	}
	#module002 .mod-dep_box,
	#module002 .mod-arr_box,
	#module002 .mod-dep-apo,
	#module002 .mod-arr-apo,
	#module002 .module-travel_parts.horizon .mod-input_box .mod-input_parts {
		float: none;
		width: 100%;
		max-width: 100%!important;
	}
	#module002 .module-travel_parts.horizon .mod-input_box .mod-input_parts.m_adult {
		z-index: 1;
		position: relative;
	}
	#module002 .module-travel_parts.horizon .mod-input_box {
		margin-bottom: 20px!important;
	}
	#module002 .mod-tabisaku-room,
	#module002 #dom_tabisaku_member2,
	#module002 .mod-tabisaku-num,
	#module002 .place_box,
	#module002 .checkIn_box,
	#module002 .checkOut_box {
		width: 100%;
	}
	#module002 .module-travel_parts .mod-input_box {
		margin-top: 0!important;
	}
	#module002 .module-travel_parts.horizon .mod-btn_box .btn-search-area {
		position: absolute!important;
	}
	#module002 .mod-btn_box {
		padding-bottom: 65px!important;
	}
	#module002 .module-dom-tabisaku .rental-car_box .mod-input_parts {
		padding-top: 12px!important;
	}
	#module002 .ib,
	.module-travel_parts .isSPn {
		display: block!important;
	}
	#module002 .btn-search-area {
		width: 100%!important;
		margin-left: -50%!important;
	}
	#module002 .module-travel_parts .mod-shutter_btn {
		border-top: #000 1px solid!important;
		border-radius: 5px!important;
		background: #000;
		color: #fff;
	}
	#module002 .module-travel_parts .mod-shutter_btn span {
		padding-left: 30px!important;
	}
	.mod-balloon-set_box .mod-back_btn {
		margin-top: 0!important;
	}

	#module002 .ico-checkbox {
		margin-top: 1px!important;
	}
	.module-travel_parts .ico-checkbox.vtop label:before,
	.module-travel_parts .ico-checkbox.vtop label:after {
		top: -1px!important;
	}
	#module002 .place_box .m_placeOfStay .mod-input {
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
	}
}

/* サイドメニュー */
#snav2 .inner {
	background-position: left bottom !important;
}
/* バルーン */
.module-travel_parts .module-calendar .calendar-wrap,
.modal-balloon .mod-balloon_cont_cover {
	color: #000;
}
.module-travel_parts .module-calendar .tbl-calendar th {
	font-weight: normal;
}
.module-travel_parts .module-calendar .tbl-calendar th.sun {
	color: #da0303;
}
.module-travel_parts .module-calendar .tbl-calendar th.sat {
	color: #134490;
}
@media screen and (min-width: 767px) {
	.d_moduleArea fieldset legend,
	.modal-balloon fieldset legend {
		float: left;
		width: 66px!important;
		font-size: 14px!important;
		padding: 12px 0 0 3px!important;
	}
	.d_moduleArea .place_box {
		width: 500px!important;
	}
	.d_moduleArea .place_box .m_placeOfStay {
		width: 330px;
		max-width: 100%!important;
	}
	#module002 .module-travel_parts.horizon .place_box .mod-input_parts.m_placeOfStay {
		max-width: 100%!important;
	}
	#module001 .mod-tabisaku-num legend {
		width: 88px!important;
	}
	#module001 .checkIn_box legend,
	#module001 .checkOut_box legend {
		padding-top: 2px!important;
	}
	#module001 .rental-car_box legend {
		width: 90px!important;
	}
	.module-travel_parts .module-calendar .calendar-box {
		width: 30%;
		margin: 0 1.6%!important;
	}
	.module-travel_parts.select-calendar .modal-balloon_inner,
	.module-travel_parts.select-num .modal-balloon_inner,
	.modal-balloon.mod-scroll_col3 .modal-balloon_inner,
	.modal-balloon.mod-scroll_wide .modal-balloon_inner,
	.modal-balloon.mod-scroll_col2.select-apo_horizon .modal-balloon_inner {
		width: 96.6%!important;
	}
	.modal-balloon.balloon-set_left .modal-balloon_inner {
		margin-left: 12px!important;
	}
	.modal-balloon.mod-scroll_column.mod-scroll_col2 .modal-balloon_inner {
		right: -162px!important;
	}
	.modal-balloon.mod-single .modal-balloon_inner {
		right: -310px!important;
	}
	.module-travel_parts .module-calendar .tbl-calendar td {
		line-height: 25px!important;
		height: auto!important;
	}
	.module-travel_parts .module-calendar .tbl-calendar td a {
		line-height: 2!important;
		height: auto!important;
	}
	.module-travel_parts.num_dom_free_balloon.select-num .select-person_box .mod-input_parts,
	.module-travel_parts.num_dom_pkg_balloon.select-num .select-person_box .mod-input_parts,
	.module-travel_parts.num_dom_hotel_balloon.select-num .select-person_box .mod-input_parts {
		width: 40%!important;
	}
	.modal-balloon_contents fieldset {
		border-bottom: 1px dotted #ccc!important;
		padding-bottom: 7px!important;
	}
	.modal-balloon_contents fieldset:last-child {
		border: none!important;
	}
	.modal-balloon_contents fieldset legend {
		padding: 0!important;
	}
	.modal-balloon_contents fieldset:nth-child(2) .mod-input-parts:first-child span {
		padding-top: 0!important;
	}
	.modal-balloon_contents .mod-input_head {
		padding-top: 7px;
		display: inline-block;
	}
	.modal-balloon_contents .mod-input_head.line2 {
		padding-top: 0!important;
	}
	.module-travel_parts .isSPn {
		display: inline!important;
	}
	.modal-balloon_contents .mod-select_wrap {
		vertical-align: top;
	}
}
@media screen and (min-width: 767px) and (max-width: 900px) {
	.module-travel_parts.num_dom_free_balloon.select-num .select-person_box .mod-input_parts,
	.module-travel_parts.num_dom_pkg_balloon.select-num .select-person_box .mod-input_parts,
	.module-travel_parts.num_dom_hotel_balloon.select-num .select-person_box .mod-input_parts {
		width: 38%!important;
	}
}
@media screen and (min-width: 767px) and (max-width: 918px) {
	.module-travel_parts .module-calendar .calendar-wrap {
		padding: 10px 2% 40px!important
	}
	.module-travel_parts .module-calendar .calendar-nav {
		margin-left: 0!important;
		width: 100%!important
	}
	.modal-balloon.mod-scroll_column.mod-scroll_col2 .modal-balloon_inner {
		right: -112px!important;
	}
	.modal-balloon.mod-single .modal-balloon_inner {
		right: -260px!important;
	}
}

/* コンテンツ */
@media screen and (min-width: 767px) and (max-width: 881px) {
	#airport_balloon_parts_9 .modal-balloon_inner {
		left: 120px !important;
	}
}
@media screen and (min-width: 882px) and (max-width: 1029px) {
	#airport_balloon_parts_9 .modal-balloon_inner {
		left: 200px !important;
	}
}
@media screen and (min-width: 1030px) {
	#airport_balloon_parts_9 .modal-balloon_inner {
		left: 302px !important;
	}
}