@charset "utf-8";

/*=====================================================
 * Style Name: Module Style
 * Style URL: /module/air-booking/css/common/d_common.css
 * Description:
 * Version: 0.1.1
 * Last Up Date: 2019/11/18
=====================================================*/



/*-----  contents -------

	 1: common
	 2: module size
		d_moduleLarge
		d_moduleMedium
		d_moduleSmall
	 3: Media Queries
	 4: module modal
	 5: externalModule
	 6: suggest

----------------------*/


/*1:common
=================================*/
/*clearfix*/
.d_formBox:after,
.d_numberOfPassenger:after,
.d_classFare ul:after,
.d_searchMethod ul:after,
.d_changeForm:after,
.d_moduleModalContents:after,
.d_calendar:after,
.d_calendarNav:after,
.d_airportList:after,
.d_airportSection:after,
.d_airportSection div.d_indexBlock:after,
.d_airportSection ul:after,
.d_majorAirport dd:after,
.d_airportAncer:after {
	content : '';
	display : block;
	clear : both;
}

.d_hiddenField { display: none; }

.modal-content{
	width:85%;
	margin:0;
	padding:10px 20px;
	border:2px solid #012f64;
	background:#fff;
	position:absolute; 
	display:none;
	z-index:99995;
}

#modal-overlay{
	display:block;
	width:100%;
	height:100%;
	position:fixed;
	top:0;
	left:0;
	background-color:#000000;
	filter:alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
	z-index:99994;
}
.button-link{
	color:#00f;
	text-decoration:underline;
}
.button-link:hover{
	cursor:pointer;
}

.d_moduleDom {}
.d_moduleInt {}

.d_moduleArea {}
.d_moduleArea h2 {
	margin: 0;
	padding: 10px 0 5px 34px;
	background: url(../../image/common/d_icon_title_large.png) no-repeat left center;
	border-top: #012f64 6px solid;
	color: #05346c;
	font-size: 1.25em;
	font-weight: bold;
}
.d_moduleArea ul,
.d_moduleArea li,
.d_moduleArea dl,
.d_moduleArea dt,
.d_moduleArea dd,
.d_moduleArea input,
.d_moduleArea select {
	margin: 0;
	padding: 0;
}
.d_moduleArea li { list-style: none; }
.d_moduleArea a {
	text-decoration: none;
}
.d_moduleArea .d_moduleInner a:hover {
	text-decoration: underline;
}

.d_tabList {
	display: table;
	width: 100%;
	border-bottom: 3px solid #012f64;
}
.d_tabList li {
	display: table-cell;
	width: 50%;
	background: #e2e8f7;
	border: #c6cfe4 1px solid;
}
.d_tabList li:first-child {
	-webkit-border-radius: 3px 0 0 0;
	-moz-border-radius: 3px 0 0 0;
	-ms-border-radius: 3px 0 0 0;
	border-radius: 3px 0 0 0;
}
.d_tabList li:last-child {
	-webkit-border-radius: 0 3px 0 0;
	-moz-border-radius: 0 3px 0 0;
	-ms-border-radius: 0 3px 0 0;
	border-radius: 0 3px 0 0;
}
.d_tabList li a {
	display: block;
	padding: 10px;
	color: #05346c;
	font-size: 1.0625em;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	line-height: 1;
}
.d_tabList li.d_selected {
	background: #012f64;
	border: #012f64 1px solid;
}
.d_tabList li.d_selected a { color: #ffffff; }
.d_moduleSmall .d_tabList li a { font-size: 0.8125em; }
.d_moduleContents {
	font-size: 0.875em;
}
.d_moduleInner {
	padding: 10px;
	background-color: #eeeeee;
}

.d_notice {
	margin: 0 0 15px;
	font-size: 1em;
	text-align: right;
}
.d_notice a {
	color: #00146e;
}
.d_notice a .ico-blank-img{
	display: inline-block;
	margin-left: .5em;
	vertical-align: middle;
}
.d_bookingLink {
	display: none;
	margin: 0 auto;
}
.d_bookingLink a {
	display: block;
	width: 200px;
	margin: 0 auto;
	padding: 12px 20px;
	background-color: #d74100;
	border: 1px solid #cb730e;
	font-size: 1.285714em;
	color: #ffffff;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	white-space: pre-wrap;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	-ms-border-radius: 4px;
	border-radius: 4px;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	-ms-box-shadow: none;
	box-shadow: none;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	outline: none;
}

.d_awardReservationLink {
	margin: 10px 10px 0 0;
	text-align: right;
}
.d_awardReservationLink a {
	display: inline-block;
	width: 200px;
	margin: 0;
	padding: 10px 25px 8px;
	background: url(../../image/common/d_btn_arrow.png) no-repeat right center;
	background-color: #012f64;
	font-size: 1.142857em;
	color: #ffffff;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	white-space: pre-wrap;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	-ms-border-radius: 4px;
	border-radius: 4px;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	-ms-box-shadow: none;
	box-shadow: none;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	outline: none;
}

.d_formBox + .d_formBox { margin-top: 15px; }
.d_formBox img {
	border: none;
	vertical-align: top;
}
.d_formBox input,
.d_formBox select {
	font-size: 1em;
}
.d_formBox input[type="text"] {
	width: 100%;
	min-height: 32px;
	min-height: 23px\9 !important;/* IE8 hack */
	padding: 4px 8px;
	padding: 8px 8px 0\9 !important;/* IE8 hack */
	line-height: 15px\9 !important;/* IE8 hack */
	border: 1px solid #bbbbbb;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	-ms-border-radius: 3px;
	border-radius: 3px;
	-webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.3) inset;
	-moz-box-shadow: 0 1px 2px rgba(0,0,0,0.3) inset;
	-ms-box-shadow: 0 1px 2px rgba(0,0,0,0.3) inset;
	box-shadow: 0 1px 2px rgba(0,0,0,0.3) inset;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	outline: none;
}
:root .d_formBox input[type="text"] {/* IE9 10 hack */
 	min-height: 32px\0/IE9;
	padding: 4px 8px\0/IE9;
	line-height: 15px\0/IE9;
}


.d_formBox input[type="radio"] {
	margin-right: 5px;
	vertical-align: middle;
}
.d_formBox input[type="checkbox"] {
	margin-right: 5px;
	vertical-align: middle;
}
.d_formBox select {
	min-height: 32px;
	min-height: 20px\9 !important;/* IE8 hack */
	padding: 6px 4px;
	background-color: #ffffff;
	border: 1px solid #bbbbbb;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	-ms-border-radius: 3px;
	border-radius: 3px;
	-webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.3) inset;
	-moz-box-shadow: 0 1px 2px rgba(0,0,0,0.3) inset;
	-ms-box-shadow: 0 1px 2px rgba(0,0,0,0.3) inset;
	box-shadow: 0 1px 2px rgba(0,0,0,0.3) inset;
	outline: none;
}

.d_formBox label {
	font-size: 1em;
	vertical-align: middle;
}

.d_formBox a.d_iconInfo {
	display: inline-block;
	margin-left: 5px;
}
.d_formBox a.d_iconInfo img {
	vertical-align: -3px;
	width: auto;
}

.d_formBox dl {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
.d_formBox dl dt { font-size: 0.92857em; white-space: nowrap;}
.d_formBox dl dd { margin-top: 5px; }
.d_formBox .d_numberOfPassenger {
	float: left;
	width: 50%;
	padding-right: 5px;
}
.d_formBox .d_numberOfPassenger select {
	min-width: 50px;
	width: 100%;
}
.d_formBox dl.d_classFare { padding: 0 0 0 5px;}
div.d_moduleInt .d_formBox dl.d_classFare { padding-top: 1.35em;}
.d_formBox li {
	float: left;
	margin-right: 15px;
}

.d_formBox > dl {
	float: left;
	/float: none; /* IE7 hack */
	width: 50%;
	padding: 0 5px 0 0;
}
.d_formBox > dl + dl { padding: 0 0 0 5px; }
.d_formBox > dl dt { font-weight: bold; }
.d_formBox > dl dt label { font-weight: bold; }
.d_formBox > dl dd { position: relative; }
.d_formBox > dl dd select { width: 100%; }

.d_formBox .d_locationIcon {
	position: absolute;
	top: 1px;
	right: 3px;
	height: 26px;
	z-index: 50;
	cursor: pointer;
	bottom: 0px;
	margin: auto 0;
	line-height: 1 !important;
}
.d_formBox .d_locationIcon img {
	width: auto;
}
.d_formBox .d_dateIcon {
	position: absolute;
	top: 0;
	right: 9px;
	bottom: 0;
	margin: auto 0;
	height: 15px;
}
.d_formBox .d_dateIcon img {
	width: auto;
}

.d_formBox .d_numberOfPassenger {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
.d_formBox .d_numberOfPassenger .d_passengerInner {
	display: table;
	width: 100%;
}
.d_formBox .d_numberOfPassenger dl {
	display: table-cell;
	width: 20%;
	padding-left: 10px;
	vertical-align: bottom;
	/display: block !important; /* IE7 hack */
}
.d_formBox .d_numberOfPassenger dl:first-child { padding-left: 0; }
.d_formBox .d_numberOfPassenger dl dt { word-break: break-all; }
.d_formBox .d_numberOfPassenger dl.d_adult dt { font-weight: bold;}
.d_formBox .d_numberOfPassenger dl.d_adult dt span:first-child{ font-weight: bold;position: absolute;}

.d_formBox .d_numberOfPassenger dl.d_adult { display: table-cell; }

div.d_moduleDom .d_formBox .d_numberOfPassenger .d_addChild + dl.d_child,
div.d_moduleDom .d_formBox .d_numberOfPassenger .d_addChild + dl.d_child + dl.d_infant,
div.d_moduleInt .d_formBox .d_numberOfPassenger .d_addChild + dl.d_youngAdult,
div.d_moduleInt .d_formBox .d_numberOfPassenger .d_addChild + dl.d_youngAdult + dl.d_child,
div.d_moduleInt .d_formBox .d_numberOfPassenger .d_addChild + dl.d_youngAdult + dl.d_child + dl.d_infant { display: none; }

.d_formBox .d_numberOfPassenger{
	position:relative;
}
.d_formBox .d_numberOfPassenger dd label{
	word-break: break-all;
	font-size: 0.92857em;
	display: block;
	line-height: 1;
}
.d_formBox .d_numberOfPassenger dd label:first-line{
	line-height: 1.6;
}
.d_formBox .d_numberOfPassenger>dl>dd{
	display: table-cell;
	width: 25%;
	min-width: 25%;
    max-width: 33%;
	padding-left: 10px;
	vertical-align: bottom;
	padding-top: 1.7142857em;
}
.d_formBox .d_numberOfPassenger>dl>dd.d_hidden{
	visibility: hidden;
	display: table-cell !important;
}
.d_formBox .d_numberOfPassenger dd label+select{
	margin-top: 3px;
}
.d_formBox .d_numberOfPassenger>dl>dt {
	font-weight: bold;
	position: absolute;
}
.d_formBox .d_numberOfPassenger>dl>dt + dd{
	padding-left: 0;
}

.d_formBox .d_numberOfPassenger>.d_addChild{
	bottom: 0;
	left: 25%;
	position: absolute;
}
.d_formBox .d_changeForm { float: left; }
.d_formBox .d_multipleCities {
	float: right;
	margin: 0;
	font-size: 1em;
}
.d_formBox .d_multipleCities a {
	padding-left: 10px;
	background: url(../../image/common/d_icon_arrow.png) no-repeat left center;
	color: #00146e;
}
.d_formBox .d_showAsCalendar {
	clear: both;
	margin: 0;
	padding: 5px 0 0px 0;
	text-align: right;
	margin-bottom: -15px;
}
.d_formBox .d_addChild {
	display: table-cell;
	padding-left: 10px;
	font-size: 1em;
	vertical-align: bottom;
}
.d_formBox .d_addChild a {
	display: block;
	padding: 7px 0 7px 27px;
	background: url(../../image/common/d_icon_add_child.png) no-repeat left center;
	color: #00146e;
}

.d_btnSearch {
	float: right;
	width: 50%;
	margin: 0;
	text-align: right;
}
.d_btnSearch button[type="submit"] {
	width: 200px;
	padding: 12px 25px;
	background-color: #d74100;
	border: 1px solid #cb730e;
	font-size: 1.285714em;
	color: #ffffff;
	font-weight: bold;
	white-space: pre-wrap;
	cursor: pointer;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	-ms-border-radius: 4px;
	border-radius: 4px;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	-ms-box-shadow: none;
	box-shadow: none;
	outline: none;
	-webkit-appearance: none;
}
.d_btnSearch button[type="submit"]:hover {
	background-color: #b92f07;
	border: 1px solid #9a630e;
	color: #c2dbf3;
}

.d_resultListWrapper {
    overflow: hidden;
    height: 400px;
}

/*2:module size
=================================*/

/* d_moduleMain */
.d_moduleMain {
	margin-top: 25px;
	padding: 0px 10px 0px 10px;
}

/* d_moduleSide */
.d_moduleSide {
	margin-top: 20px;
}

/* d_moduleLarge */
.d_moduleLarge {}

/* d_moduleMedium */
.d_moduleMedium {}




/* d_moduleSmall */
.d_moduleSmall {font-size: medium;}

/*.d_moduleArea.d_moduleSmall { max-width: 257px; }*/
.d_moduleArea.d_moduleSmall h2 {
	padding: 10px 0 8px 31px;
	background: url(../../image/common/d_icon_title_small.png) no-repeat left center;
	font-size: 0.9375em;
}
.d_moduleSmall .d_formBox li {
	float: none;
	margin: 5px 0 0;
}
.d_moduleSmall .d_formBox li:first-child {margin-top: 0; }
.d_moduleSmall .d_formBox > dl {
	float: none;
	width: 100%;
	padding: 0;
}
.d_moduleSmall .d_formBox > dl + dl { margin-top: 15px; }
.d_moduleSmall .d_formBox .d_numberOfPassenger {
	float: none;
	width: 100%;
	padding: 15px 0 0 0;
	border-top: 1px solid #d2d2d2;
	display: flex;
	flex-direction: column;
}
.d_moduleSmall .d_formBox .d_numberOfPassenger .d_passengerInner { display: block; }
.d_moduleSmall .d_formBox .d_numberOfPassenger dl {
	display: block;
	width: 100%;
	padding: 0;
}
.d_moduleSmall .d_formBox .d_numberOfPassenger .d_addChild {
	display: block;
	/display: none; /* IE7 hack */
	margin: 15px 0 0;
	padding: 0;
	margin-top: -35px;
	position: relative;
}
.d_moduleSmall .d_formBox .d_numberOfPassenger .d_addChild + dl,
.d_moduleSmall .d_formBox .d_numberOfPassenger dl + dl { margin-top: 15px; 	}
.d_moduleSmall .d_formBox .d_numberOfPassenger select {
	width: 100%;
	max-width: none;
}
.d_moduleSmall .d_formBox .d_numberOfPassenger>dl>dd{
	width: 100%;
	display: block;
	min-width: 100%;
	max-width: 100%;
	padding-left: 0px;
	padding-top: 10px;
}
.d_moduleSmall .d_formBox .d_numberOfPassenger>dl>dt + dd{
	padding-top: 1.357142em;
	margin-top: 0px;
}
.d_moduleSmall .d_formBox .d_numberOfPassenger>dl>dd.d_hidden{
	display:block ! important;
	height: 0;
}
.d_moduleSmall .d_formBox .d_numberOfPassenger>.d_addChild{
	left: 0;
}
.d_moduleSmall .d_formBox dl.d_classFare,
.d_moduleSmall .d_formBox dl.d_searchMethod {
	margin-top: 15px;
	padding: 15px 0 0 0;
	border-top: 1px solid #d2d2d2;
}
.d_moduleSmall .d_formBox dl.d_classFare dd { /position: static; } /* IE7 hack */
.d_moduleSmall .d_formBox dl.d_promotionCode {
	margin-top: 15px;
}
.d_moduleSmall .d_formBox .d_changeForm { float: none; }
.d_moduleSmall .d_formBox .d_changeForm li {
	float: left;
	margin: 0 15px 0 0;
}
.d_moduleSmall .d_formBox .d_multipleCities {
	float: none;
	margin: 15px 0 0;
}
.d_moduleSmall .d_formBox .d_showAsCalendar {
	padding: 10px 0 0;
	text-align: left;
	margin-bottom: 0px !important;
}
.d_moduleSmall .d_btnSearch {
	float: none;
	width: 100%;
	margin-top: 20px;
	text-align: center;
}
.d_moduleSmall .d_btnSearch button[type="submit"] { width: 100%; }
.d_moduleSmall .d_awardReservationLink {
	margin: 10px 10px 0;
	text-align: center;
}
.d_moduleSmall .d_awardReservationLink a { width: 100%; }


/*3:Media Queries
=================================*/
/*===== n-moduleLarge =====*/
.d_moduleLarge {font-size: medium;}

/*幅827px 以下の場合ここに記述*/
@media screen and (max-width: 827px) {
	.d_moduleLarge .d_formBox > dl {
		float: none;
		width: 100%;
		padding: 0;
	}
	.d_moduleLarge .d_formBox > dl + dl { margin-top: 15px; }
	.d_moduleLarge .d_formBox .d_numberOfPassenger {
		float: none;
		width: 100%;
		padding-right: 0;
	}
	.d_moduleLarge .d_formBox dl.d_classFare { margin-top: 15px; }
	.d_moduleLarge .d_btnSearch {
		float: none;
		clear: both;
		width: 100%;
		margin-top: 15px;
		text-align: center;
	}
	.d_moduleLarge .d_awardReservationLink {
			margin: 10px 0 0;
			text-align: center;
	}
}

/*===== n-moduleMedium =====*/
/*幅827px 以下の場合ここに記述*/
.d_moduleMedium {font-size: medium;}

@media screen and (max-width: 827px) {
	.d_moduleMedium .d_formBox > dl {
		float: none;
		width: 100%;
		padding: 0;
	}
	.d_moduleMedium .d_formBox > dl + dl { margin-top: 15px; }
	.d_moduleMedium .d_formBox .d_numberOfPassenger {
		float: none;
		width: 100%;
		padding-right: 0;
	}
	.d_moduleMedium .d_formBox dl.d_classFare { margin-top: 15px; }
	.d_moduleMedium .d_btnSearch {
		float: none;
		clear: both;
		width: 100%;
		margin-top: 15px;
		text-align: center;
	}
	.d_moduleMedium .d_awardReservationLink {
			margin: 10px 0 0;
			text-align: center;
	}
}


/*幅570px 以下の場合ここに記述*/
@media screen and (max-width: 570px) {
	.d_moduleSmall.d_moduleArea h2 {
		padding: 10px 0 10px 34px;
		background: url(../../image/common/d_icon_title_large.png) no-repeat left center;
		font-size: 2rem;
	}
	.d_moduleLarge .d_tabList,
	.d_moduleMedium .d_tabList,
	.d_moduleSmall .d_tabList { display: none; }
	.d_moduleLarge .d_moduleContents,
	.d_moduleMedium .d_moduleContents,
	.d_moduleSmall .d_moduleContents { display: block !important; }
	.d_moduleLarge .d_moduleContents + .d_moduleContents,
	.d_moduleMedium .d_moduleContents + .d_moduleContents,
	.d_moduleSmall .d_moduleContents + .d_moduleContents { margin-top: 20px; }
	.d_moduleLarge .d_moduleInner,
	.d_moduleMedium .d_moduleInner,
	.d_moduleSmall .d_moduleInner { display: none !important; }
	.d_moduleLarge .d_bookingLink,
	.d_moduleMedium .d_bookingLink,
	.d_moduleSmall .d_bookingLink {
		display: block;
		padding: 5px 0 5px 0;
	}
	.d_moduleLarge .d_bookingLink a,
	.d_moduleMedium .d_bookingLink a,
	.d_moduleSmall .d_bookingLink a { width: 80%; }
	.d_moduleLarge .d_awardReservationLink,
	.d_moduleMedium .d_awardReservationLink,
	.d_moduleSmall .d_awardReservationLink {
		margin: 0 0 5px 0;
		text-align: center;
	}
	.d_moduleLarge .d_awardReservationLink a,
	.d_moduleMedium .d_awardReservationLink a,
	.d_moduleSmall .d_awardReservationLink a { width: 80%; }
	.d_moduleDom + .d_moduleInt .d_awardReservationLink { display: none; }
}

/*4:module modal
=================================*/
.d_moduleModalMask {
	display: block;
	width: 100%;
	height: 100%;
}
/*pattern pc*/
.d_moduleModalMask.d_patternPC {
	position: fixed;
	top: 0;
	left: 0;
	background-color: #000000;
	filter:alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
	z-index: 99997;
}
.d_moduleModal.d_patternPC {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 944px;
	margin: -25% 0 0 -472px;
	border: #012f64 3px solid;
	background: #ffffff;
	-webkit-box-shadow: 0 2px 3px rgba(0,0,0,0.3);
	-moz-box-shadow: 0 2px 3px rgba(0,0,0,0.3);
	-ms-box-shadow: 0 2px 3px rgba(0,0,0,0.3);
	box-shadow: 0 2px 3px rgba(0,0,0,0.3);
	z-index: 99998;
}
.d_moduleModal.d_patternPC.d_calendarPosition {
	margin-top: -164px;
}
.d_moduleModal.d_patternPC.d_airportListPosition {
	margin-top: -262px;
}

/*pattern tablet*/
.d_moduleModalMask.d_patternTablet {
	position: fixed;
	top: 0;
	left: 0;
	background-color: #000000;
	opacity: 0.5;
	z-index: 99997;
}
.d_moduleModal.d_patternTablet {
	top: 0 !important;
	left: 0;
	width: 100%;
	background: #ffffff;
	position: fixed;
	z-index: 99998;
}
.d_patternTablet .d_moduleModalContents{
	height: calc( 100vh - 64px );
	overflow-y: scroll;
}
.d_moduleModalInner {
	position: relative;
	z-index: 99996;
}
.d_patternTablet .d_moduleHead {
	position: fixed;
	width: 100%;
	background: #ffffff;
	z-index: 99999;
}
.d_modalTitle {
	margin: 0;
	padding: 14px 12px 12px;
	color: #012f64;
	font-size: 1.142857em;
	font-weight: bold;
}
.d_patternTablet .d_modalTitle {
	margin: 0 10px;
	padding: 14px 0 12px;
	border-bottom: #cccccc 1px solid;
}
.d_patternTablet .d_modalTitle {
	border-bottom: none;
    height: 64px;
}
.d_modalClose {
	position: absolute;
	top: 10px;
	right: 10px;
	margin: 0;
	padding: 0;
}
.d_modalClose img {
	width: auto;
}

.d_btnModalClose {
	clear: both;
	margin: 0 auto;
	margin-top: 10px;
}
.d_btnModalClose :hover{
	cursor:pointer;
}

.d_btnModalClose a {
	display: block;
	width: 200px;
	margin: 0 auto;
	padding: 10px;
	border: #cccccc 1px solid;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	-ms-border-radius: 3px;
	border-radius: 3px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	color: #002e64;
	font-size: 1em;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
}
.d_moduleModalContents {
	overflow: hidden;
	position: relative;
}
.d_moduleModalContents ul {
	margin: 0 10px 0 10px;
	padding: 0 0 15px;
}
.d_patternPC .d_moduleModalContents { width: 938px; }


/* calendar */
.d_calendarNav {
	min-height: 25px;
	margin: 0 10px 0 10px;
	padding: 0 0 15px;
	border-bottom: #cccccc 1px solid;
}
.d_calendarNav li {
	margin: 0;
	padding: 0;
	list-style: none;
}
.d_calendarNav li a {
	display: table-cell;
	height: 25px;
	font-size: 0.9285714em;
	color: #252525;
	text-decoration: none;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	vertical-align: middle;
	text-align: right;
}
.d_calendarNav .d_prev {
	float: left;
	display: table;
}
.d_calendarNav .d_prev a {
	padding-left: 34px;
	background: url(../../image/common/d_btn_prev.png) left top no-repeat;
	overflow: hidden;
}
.d_calendarNav .d_next {
	float: right;
	display: table;
}
.d_calendarNav .d_next a {
	padding-right: 34px;
	background: url(../../image/common/d_btn_next.png) right top no-repeat;
	overflow: hidden;
}

.d_calendarNav li.d_disable { display: none; }

.d_patternPC .d_calendar { padding: 15px 0; }
.d_patternTablet .d_calendar { padding: 63px 0; }

.d_patternPC .d_calendar .d_month {
	float: left;
	margin-left: 40px;
	width: 260px;
}
.d_patternTablet .d_calendar .d_month {
	width: 481px;
	margin: 0 auto 30px;
}
.d_calendar caption{
	margin: 0;
	font-size: 1.2142857em;
	font-weight: bold;
	text-align: center;
}
.d_calendar caption span {
	margin-left: 5px;
	font-size: 1.647058em;
}
.d_holiday { color: #e80000; }
.d_sunday { color: #e80000; }
.d_calendar table {
	width: 100%;
}
.d_calendar caption{
	margin-bottom: 10px;
}
.d_patternPC .d_calendar table {
	border-collapse: separate;
	border-spacing: 3px;
}
.d_patternTablet .d_calendar table {
	border: #dddddd 1px solid;
	border-collapse: collapse;
}
.d_calendar table th {
	width: 14%;
	font-size: 0.9285714em;
	font-weight: bold;
	text-align: center;
	white-space: nowrap;
}
.d_patternPC .d_calendar table th {
	padding: 3px 0;
	background: none;
	border: none;
}
.d_patternTablet .d_calendar table th {
	padding: 7px 0;
	background: #f6f6f6;
	border: #dddddd 1px solid;
}
.d_calendar table td {
	width: 14%;
	text-align: center;
	cursor: pointer;
}
.d_patternPC .d_calendar table td {
	padding: 3px 0;
	border: #ffffff 1px solid;
	font-size: 0.9285714em;
	white-space: nowrap;
}
.d_patternTablet .d_calendar table td {
	padding: 20px 0;
	border: #dddddd 1px solid;
	border-bottom: none;
	border-right: none;
	font-size: 1.2142857em;
}
.d_calendar table td:hover { background: #e2e8f7; }
.d_calendar table td.d_selectDateDeparture {
	border: #012f64 1px solid;
	color: #012f64;
}
.d_calendar table td.d_selectDateReturn {
	background: #012f64;
	border: #012f64 1px solid;
	color: #ffffff;
}
.d_calendar table .d_selectDateReturn:hover {
	background: #012454;
	border: #012454 1px solid;
	color: #e1effe;
}
.d_calendar table .d_calDisable {
	color: #bfbfbf;
	cursor: default;
}
.d_calendar table .d_calDisable:hover { background: none; }
.d_calendar table .d_calEmpty { cursor: default; }
.d_calendar table .d_calEmpty:hover { background: none; }

/*airport list*/
.d_airportList { margin: 0 auto; }
.d_patternTablet .d_airportList {
	width: 768px;
	padding-bottom: 25px;
}
@media print, screen and (max-width: 1024px){
	.d_patternTablet .d_airportList {
		width: 100% !important;
	}
	.d_patternTablet .d_airport{
		width: calc( 100vw - 200px ) !important;
	}
	.m_airportListTable .d_moduleModalContents{
		overflow-y: hidden;
	}
	.d_patternTablet .d_airportSection{
		height: calc( 100vh - 64px ) !important;
		padding-bottom: 3.57143em;
	}
	.is-moduleModal-sp,
	.is-moduleModal-sp body{
		overflow-y:hidden;
	}
}
.d_country {
	float: left;
	padding-bottom: 15px;
	width: 181px;
	min-height: 460px;
}
.d_airport {
	float: left;
	padding: 0 0 15px 15px;
	border-left: #cccccc 1px solid;
}
.d_patternPC .d_airport {
	width: 737px;
	height: 460px;
}
.d_patternTablet .d_airport {
	margin-bottom: 15px;
	padding: 0 0 0 15px;
}
.d_patternTablet .d_airport { width: 561px; }

.d_country li a,
.d_airport li a {
	color: #393939;
	text-decoration: none;
}
.d_country li a:hover,
.d_airport li a:hover { background: #e2e8f7; }
.d_disable a { color: #c2c2c2; }

.d_country ul,
.d_airport ul,
.d_country li,
.d_airport li {
	margin: 0;
	padding: 0;
}
.d_country li,
.d_airport li {
	font-size: small;
	list-style: none;
	line-height: 1;
}

.d_country ul { margin: 0 9px; }
.d_country li a {
	display: block;
	padding: 4px 8px;
}
.d_country li a.d_selected {
	background: #012f64;
	color: #ffffff;
	font-weight: bold;
}

.d_airportSection {
	padding-right: 14px;
	overflow-y: scroll;
}
.d_patternPC .d_airportSection { height: 460px; }
.d_patternTablet .d_airportSection { height: 500px; }
.d_country:not([class*="is-hidden"]) + .d_airport .d_airportSection::-webkit-scrollbar {
	width: 4px;
}
.d_country:not([class*="is-hidden"]) + .d_airport .d_airportSection::-webkit-scrollbar-track {
	background: #e1e1e1;
}
.d_country:not([class*="is-hidden"]) + .d_airport .d_airportSection::-webkit-scrollbar-thumb {
	background: #012f64;
}
.d_airportSection p.d_airportIndex,
.d_airportSection h4.d_airportIndex {
	clear: both;
	margin: 0 10px 12px;
	padding: 8px;
	background: #eaeaea;
	font-size: 1em;
	font-weight: bold;
}
.d_airportSection p.d_airportIndex span,
.d_airportSection h4.d_airportIndex span {
	display: inline-block;
	float: right;
}
.d_airportSection p.firstChild { margin-top: 3px; }
.d_airportSection ul { padding-bottom: 15px; }
.d_airportSection li {
	float: left;
	width: 33%;
}
.d_airportSection li a {
	display: block;
	margin: 0 10px;
	padding: 4px 8px;
}
.d_airportSection a.d_selected {
	background: #012f64;
	color: #ffffff;
}

.d_majorAirport {
	margin: 0 0 15px;
	border-bottom: 1px solid #cccccc;
}
.d_majorAirport dt {
	margin: 0 18px 5px;
	font-size: 1em;
	font-weight: bold;
}
.d_majorAirport dd {
	margin: 0;
	padding: 0;
}

ul.d_airportAncer a {
	color: #1372df;
	text-decoration: underline;
}
ul.d_tableIndex li { width: auto; }
ul.d_tableIndex li a { padding: 0; }
/* 767px以下になったら空港リストを2行表示 */
@media screen and (max-width: 767px) {
	.d_patternTablet .d_airport { width: 364px; }
	.d_patternTablet ul.d_airportAncer { width: 100%; }
	.d_patternTablet ul.d_airportAncer li { width: 50%; }
	.d_patternTablet .d_airportSection li { width: 50%; }
	.d_patternTablet ul.d_tableIndex li { width: auto; }
}

/*5:externalModule
=================================*/
.d_externalModule { width: 659px; }

/*6:suggest
=================================*/
.d_clearButton {
	display: block;
	position: absolute;
	top: 0px;
	right: 28px;
	width: 26px;
	height: 26px;
	z-index: 50;
	cursor: pointer;
	bottom: 0px;
	margin: auto 0;
}
.d_textoverlay {
	position: absolute;
	top: 5px;
	right: 8px;
	left: 8px;
	padding: 2px 50px 2px 0;
	background: #ffffff;
	font-size: 1em;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}
.d_autocomplete {
	position: absolute;
	width: 100%;
	background: #ffffff;
	border: #5973b3 1px solid;
	z-index: 60;
}
.d_autocomplete .d_resultList:empty{display: none;}
.d_resultData {
	display: block;
	padding: 4px;
	border-bottom: #101010 1px dotted;
	color: #2b7aba;
	font-size: 1em;
	font-weight: bold;
}
.d_listItem {
	font-size: 1em;
	width: 100%;
	cursor: pointer;
}
.d_listItem a {
	display: block;
	padding: 4px;
	word-break: break-all;
}
.d_listItem.d_active {
	background: #e8e8e8;
}

.int .d_moduleModal{
  font-family : "メイリオ",Meiryo,Droid Sans,HiraKakuProN-W3,HiraKakuPro-W3,"ヒラギノ角ゴ ProN W3","ヒラギノ角ゴ Pro W3","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic ProN","Lucida Grande","Lucida Sans","Lucida Sans Unicode","Trebuchet MS","Droid Sans","ＭＳ Ｐゴシック","MS PGothic",sans-serif ;
  line-height : 1;
}
.int .d_moduleModal.d_patternPC.d_calendarPosition {
  margin-top : -300px;
}

.d_moduleArea input:focus,.d_moduleArea select:focus,.d_moduleArea button:focus,.d_moduleArea .d_awardReservationLink a:focus,.d_bookingLink a:focus {
	outline: 0.1px dotted #000;
}

.d_moduleArea .d_sr-only{
  border: 0;
  clip: rect(0,0,0,0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

/* 20190918旧css用対応 */
.d_formBox a.d_iconInfo img.ico-blank-img {
    margin-left: .5em;
}

/* 20191118修正 */
@media screen and (min-width: 828px){
  div.d_moduleDom .d_formBox .d_numberOfPassenger + dl.d_classFare.classFare{
    padding-top: 1.8em;
  }
}

/* 20200515修正 */
td:not(:first-child).d_holiday{
    text-decoration: underline;
}
.explanation-hodiday {
    text-align: right;
    margin: 10px 15px 0;
}
@media screen and (max-width: 1024px){
  .explanation-hodiday {
    margin-bottom: -85px;
  }
  .explanation-hodiday:after {
    content: "\A\A";
    white-space: pre;
  }
}
.d_moduleArea > a,
.d_modalClose > a{
  display:block;
}
html.is-moduleModal-sp::-webkit-scrollbar {
    display: none;
    -webkit-appearance: none;
}

/* 20200925修正 */
.d_formBox .d_numberOfPassenger .d_passengerInner {
	display: flex;
	align-content: stretch;
}
.d_formBox .d_numberOfPassenger>dl>dd {
	width: auto;
	flex-grow: 1;
	display: block !important;
	max-width: none;
}
.d_formBox .d_numberOfPassenger>dl>dd.d_hidden{
	display: block !important;
}

/* 20220203修正 */
.d_patternTablet [tabindex]:focus{
    outline: 2px solid #b2b2b2!important;
}
.d_patternTablet .d_calendar table td:focus {
    position: relative;
}

@media screen and (min-width: 1025px) {
	.d_country li a {
		word-break: break-word;
	}
	.d_calendar table th {
		line-height: 1;
		white-space: normal;
	}
}
.d_moduleSmall .d_tabList li{
	vertical-align: middle;
	text-align: center;
}
.d_moduleSmall .d_tabList li a{
	word-break: break-word;
	display: inline-block;
}
.d_moduleContents select{
	color:#000000;
}

/* 2022/2/21 */
.d_patternPC .d_calendar{
	display: flex;
	justify-content: center;
}
.d_patternPC .d_calendar .d_month:not(:last-child){
	margin-right: 40px;
}
.d_patternPC .d_calendar .d_month{
	margin-left: 0px;
	float: none;
	display: flex;
	justify-content: center;
	min-width: 260px;
	width: auto;
	max-width: 270px;
}
.d_patternPC .d_calendar .d_month:last-child{
	width:260px
}