@charset "UTF-8";
/* CSS Document */
html,
body{
	position: relative;
	height: 100%;
	background: #FFF;
}
body {
	width:100%;
	margin:0;
	padding:0;
	color: #4A4A4A;
	font-family: Avenir , "Open Sans" , "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
	word-break: break-all;
 }

 /* 汎用スタイル */
 a{
	 text-decoration: none;
 }

 a img {
		border-style:none;
}

em{
		color: #004195;
		font-style: normal;
}

.clear{
	clear: both;
}

.fs10{
	font-size: 10px;
}

.smaller{
	font-size: smaller;
}

.larger{
	font-size: larger;
}

.caution,
.today{
	color: #B81E33;
}

.strong{
	font-weight: bold;
}

.non-strong{
	font-weight: normal !important;
}

.right{
	text-align: right;
}

.center{
	text-align: center;
}

.mb0{
	margin-bottom: 0;
}

.mb15{
	margin-bottom: 15px;
}

.mb30{
	margin-bottom: 30px;
}

.ml12{
	margin-left: 12% !important;
}

.pt10{
	padding-top: 10px;
}

.pt20{
	padding-top: 20px;
}

.pb50{
	padding-bottom: 50px;
}

.border-dotted{
	margin-bottom: 10px;
	padding-bottom: 15px;
	border-bottom:  dotted 1px #ACC0DA;
}

/* nav */
.sb-slidebar{
    color: #FFF;
    padding: 0;
		background: rgba(63, 61, 69, 0.9) !important;
}

header{
	position:relative;
	width: 100%;
	height:50px;
	background: url(../images/bg_header.png) center / cover no-repeat;
}

header h1{
	margin: 0;
	padding-left: 95px;
	font-size: 13px;
	color: #004195;
	text-align: left;
	line-height: 40px;
}

.sb-toggle-right{
	position:absolute;
	top:0;
	right:0;
}

.navi{
	list-style: none;
}

.navi a{
	position: absolute;
	top: 10px;
	right: 10px;
	display:block;
	width:30px;
	height:30px;
	color:#FFF;
	line-height:30px;
	text-align:center;
	text-decoration: none;
	font-weight: bolder;
	border-radius: 2px;
	background: #004195 url(../images/nav_icon.png) center center / 16px 14px no-repeat !important;
}

.navi a:after{
}


.menu{
	position: relative;
	margin: 50px 0 0;
	padding: 0;
	list-style:none;
}

.menu li{
	border-bottom:#CCC dotted 1px;
	padding:10px;
}

.menu li a{
	font-size: 14px;
	color: #FFF;
	text-decoration: none;
}

.sb-close{
	position: absolute;
	top: 10px;
	right: 10px;
	width:30px;
	height:30px;
	color:#FFF;
	line-height:30px;
	text-align:center;
	text-decoration:none;
	font-weight:bolder;
	border-radius: 2px;
	background: #323239 url(../images/sb_close_btn.png) center center / 14px 14px no-repeat;
}

/*トップへ戻るロゴ*/
.header-logo{
	display: block;
	position:absolute;
	top:0;
	left:6px;
	width: 78px;
	height: 40px;
	text-align: center;
	background: #FFF;
}

.header-logo img{
	padding-top: 5px;
	height: 25px;
}

.site-name{
	height: 10px;
}

/* contents */
#contents{
}

section{
 width: 100%;
}

article{
 margin: 0 auto;
 font-size: 14px;
}

h2{
	margin: 0;
	padding: 10px 10px 8px;
	width: 100%;
	background: #004195;
	color: #FFF;
	font-size: 14px;
	font-weight: bold;
	line-height: 100%;
}

h3{
	padding: 5px 10px 5px 10px;
	margin-bottom: 0;
	width: 100%;
	font-size: 16px;
	font-weight: bold;
	border-top: solid 1px #CCC;
	border-bottom: solid 1px #CCC;
	background:#F1F1F1
}

.general-area{
margin: 10px auto;
width: 94%;
overflow: hidden;
}


/* copyright */
.copyright{
	padding:10px 0 50px;
	font-size: 10px;
	text-align: center;
	background: #F1F1F1;
}
.copyright-normal{
	position: fixed;
	bottom: 0;
	width: 100%;
	padding:15px 0;
	font-size: 10px;
	text-align: center;
	background: #F1F1F1;
}

/* フォームスタイル */
input,
textarea{
	border: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
 }

select{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

form p{
 	width: 100%;
	height: 38px;
	display: table;
  }

.general-label{
	padding: 0;
	margin: 0;
	width: 12%;
	font-size: 10px;
	font-weight: bold;
	line-height: 110%;
	display: table-cell;
	vertical-align: middle;
 }

.long-label{
	width: 30% !important;
}

.form-input{
	padding: 0 8px;
	margin: 0;
	width: 93%;
	height: 40px;
	font-size: 16px;
	background: #EAF4F9;
	border: #ACC0DA 1px solid;
	border-radius: 4px;
	display: table-cell;
}

.short-form{
	width: 30% !important;
}

.form-select {
	padding: 0 8px;
  margin: 0 10px 0 0;
	width: 30%;
	height: 40px;
  outline: none;
  background: #EAF4F9 url(../images/select_arrow.png) 95% center / 8px 14px no-repeat !important;
	border: #ACC0DA 1px solid;
  border-radius: 4px;
}

.error,
.error-select{
	background: #F2DEDE;
	border: 1px solid #EED3D7 !important;
	color: #B81E33 !important;
}

.error-select{
	background: #F2DEDE url(../images/select_arrow.png) 95% center / 8px 14px no-repeat !important;
}

.error-text{
	color: #B81E33;
	font-size: 10px;
}

.error-text span{
	display: block;
	padding: 0 0 5px 15px;
	background: url(../images/error_text_icon.png) 2px top / 10px 10px no-repeat;
	line-height: 100%;
}
/* 子供・幼児年齢入力エラー */
.child-old .error-text{
	float: right;
	margin-top: 1em;
}
.child-old .error-text span{
	display: inline;
	padding: 0 0 5px 15px;
	background: url(../images/error_text_icon.png) 2px top / 10px 10px no-repeat;
	line-height: 100%;
}

::-webkit-input-placeholder {
    color: #A4C6D6;
		font-size: 14px;
	}

/* ログインフォーム */
.password-email,
.password-password{
	padding: 0 8px 0 12%;
	margin: 0;
	width: 84%;
	height: 36px;
	font-size: 16px;
	border: #ACC0DA 1px solid;
	border-radius: 4px;
}

.password-email{
	background: #EAF4F9 url(../images/form_email_icon.png) 10px center / 16px 13px no-repeat;
}

.password-password{
	background: #EAF4F9 url(../images/form_password_icon.png) 10px center / 16px 16px no-repeat;
}

.email-error{
	color: #B81E33;
	background: #F2DEDE url(../images/form_email_icon_er.png) 10px center / 16px 13px no-repeat;
	border: 1px solid #EED3D7;
}

.pass-error{
	color: #B81E33;
	background: #F2DEDE url(../images/form_password_icon_er.png) 10px center / 16px 16px no-repeat;
	border: 1px solid #EED3D7;
}

/* 汎用ボタン */
.input-btn-area{
	margin: 15px auto;
	text-align: center;
}

.general-btn{;
	padding: 0;
	margin: 10px 0;
	width: 180px;
	height: 36px;
	color: #004195;
	font-size: 14px;
	font-weight: bold;
	text-align: center;
	background: #EAF4F9;
	border: #57759D 1px solid !important;
	border-radius: 4px;
}

.next-btn{
	position: absolute;
	top:4px;
	right: 5px;
	padding: 0 0 0 24px;
	width: 80px;
	height: 32px;
	color: #FFF;
	font-size: 12px;
	font-weight: bold;
	text-align: left;
	background: url(../images/next_icon.png) 12% center no-repeat,linear-gradient(-180deg, #0085CC 0%, #0045CC 100%);
	background-size: 12px,100%;
	border-radius: 4px;
}

.next-btn-ticket{
	width: 110px;
}

.next-btn-hotel{
	width: 100px;
}

.next-btn-cal{
	width: 70px;
}

.next-btn2{
	padding: 0;
	margin: 10px 0;
	width: 180px;
	height: 36px;
	color: #FFF;
	font-size: 14px;
	font-weight: bold;
	text-align: center;
	background: linear-gradient(-180deg, #0085CC 0%, #0045CC 100%);
	border-radius: 4px;
}

.next-btn3{
	padding: 0 0 0 10px;
	margin: 10px 0;
	width: 150px;
	height: 36px;
	color: #FFF;
	font-size: 14px;
	font-weight: bold;
	text-align: center;
	background: url(../images/next_icon.png) 25% center no-repeat ,linear-gradient(-180deg, #0085CC 0%, #0045CC 100%);
	background-size: 12px,100%;
	border-radius: 4px;
}

.next-btn4{
	position: absolute;
	top:4px;
	right: 5px;
	padding: 6px 0 0 30px;
	width: 42px;
	height: 26px;
	color: #FFF;
	font-size: 12px;
	font-weight: bold;
	text-align: left;
	background: url(../images/next_icon.png) 15% center no-repeat ,linear-gradient(-180deg, #0085CC 0%, #0045CC 100%);
	background-size: 12px,100%;
	border-radius: 4px;
}

.next-btn5{
	padding: 0 0 0 10px;
	margin: 10px 0;
	width: 150px;
	height: 36px;
	color: #FFF;
	font-size: 14px;
	font-weight: bold;
	text-align: center;
	background: url(../images/next_icon.png) 15% center no-repeat ,linear-gradient(-180deg, #0085CC 0%, #0045CC 100%);
	background-size: 12px,100%;
	border-radius: 4px;
}

.search-btn{
	position: absolute;
	top:4px;
	left: 5px;
	display: block;
	padding: 11px 0 0 20px;
	width: 57px;
	height: 21px;
	color: #4A4A4A;
	font-size: 12px;
	font-weight: bold;
	text-align: left;
	line-height: 100%;
	background: url(../images/search_icon.png) 10% center no-repeat ,linear-gradient(-180deg, #FFC724 0%, #FFA11D 100%);
	background-size: 12px,100%;
	border-radius: 4px;
}

.search-btn2{
	margin: 10px 0;
	padding: 0 0 0 10px;
	width: 150px;
	height: 36px;
	color: #4A4A4A;
	font-size: 14px;
	font-weight: bold;
	text-align: center;
	background: url(../images/search_icon.png) 35% center no-repeat ,linear-gradient(-180deg, #FFC724 0%, #FFA11D 100%);
	background-size: 12px,100%;
	border-radius: 4px;
}

.search-btn3{
	margin: 10px auto;
	padding: 11px 0 0 20px;
	width: 130px;
	height: 21px;
	color: #4A4A4A;
	font-size: 14px;
	font-weight: bold;
	line-height: 100%;
	background: url(../images/search_icon.png) 12% center no-repeat ,linear-gradient(-180deg, #FFC724 0%, #FFA11D 100%);
	background-size: 12px,100%;
	border-radius: 4px;
}

.search-btn4{
	position: absolute;
	top:4px;
	left: 90px;
	display: block;
	padding: 11px 0 0 25px;
	width: 90px;
	height: 21px;
	color: #4A4A4A;
	font-size: 12px;
	font-weight: bold;
	text-align: left;
	line-height: 100%;
	background: url(../images/search_icon.png) 10% center no-repeat ,linear-gradient(-180deg, #FFC724 0%, #FFA11D 100%);
	background-size: 12px,100%;
	border-radius: 4px;
}

.search-sheet-btn{
	position: absolute;
	top:4px;
	right: 5px;
	display: block;
	padding: 0 0 0 20px;
	width: 80px;
	height: 32px;
	color: #4A4A4A;
	font-size: 12px;
	font-weight: bold;
	text-align: left;
	background: url(../images/search_icon.png) 10% center no-repeat ,linear-gradient(-180deg, #FFC724 0%, #FFA11D 100%);
	background-size: 12px,100%;
	border-radius: 4px;
}

.search-cal-btn{
	position: absolute;
	top:4px;
	left: 90px;
	display: block;
	padding: 5px 0 0 25px;
	width: 70px;
	height: 27px;
	color: #4A4A4A;
	font-size: 12px;
	font-weight: bold;
	text-align: left;
	line-height: 100%;
	background: url(../images/cal_icon.png) 10% center no-repeat ,linear-gradient(-180deg, #FFC724 0%, #FFA11D 100%);
	background-size: 11px 12px,100%;
	border-radius: 4px;
}

.back-btn{
	padding: 0 0 0 10px;
	width: 150px;
	height: 36px;
	color: #4A4A4A;
	font-size: 14px;
	font-weight: bold;
	text-align: center;
	background: #C4C4C4 url(../images/back_icon.png) 35% center / 12px 12px no-repeat;
	border-radius: 4px;
}

.back-btn-fix{
	position: absolute;
	top:4px;
	left: 5px;
	display: block;
	padding: 11px 0 0 10px;
	width: 62px;
	height: 21px;
	color: #4A4A4A;
	font-size: 12px;
	font-weight: bold;
	text-align: center;
	line-height: 100%;
	background: #C4C4C4 url(../images/back_icon.png) 15% center / 12px 12px no-repeat;
	border-radius: 4px;
}

/* ご連絡先 表示 */
.input-table{
	margin: 10px auto;
	width: 96%;
	line-height: 120%;
}

.input-table th{
	width: 20%;
	font-size: 10px;
	font-weight: bold;
	text-align: right;
	vertical-align: top;
}

.input-table td{
	padding:0 0 5px 10px;
}

/* 2択バー　ラジオボタン */
.input-radio-btn{
	margin: 10px auto;
}

.radio-bar label{
	display: block;
	position: relative;
	margin: 10px auto;
	padding: 6px 10px 10px 20px;
	width: 240px;
	height: 25px;
	font-size: 14px;
	font-weight: normal;
	background: #F1F1F1;
	border-radius: 4px;
}

.radio-bar label span{
	display: block;
	position: absolute;
	top: 11px;
	left: 45px;
}

.radio-bar-btn{
	margin: 5px 10px 0 0;
	width: 18px;
	height: 18px;
	background: url(../images/radio_bg.png) left center / 18px 18px no-repeat;
}

.r_on{
	background: #D9F2C0 !important;
}

.r_on .radio-bar-btn{
	background: #D9F2C0 url(../images/radio_bg_on.png) left center / 18px 18px no-repeat;
}

.rows2{
	height: 40px !important;
}

/* ローディングアニメ */
#loading {
	width: 100%; /* gif画像の幅 */
	height: 100%; /* gif画像の高さ */
	padding-top: 50%;
	text-align: center;
	background: url(../images/bg_alpha.png) left top / 18px 18px repeat;
	position: fixed; /* gif画像をスクロールさせない */
	top: 0;
	left: 0;
	z-index: 120;
}

#loading　img{
	width: 150px;
	height: 150px;
}

/* モーダルウィンドウ */
#modal {
	position: relative;
  padding: 10px;
	width: 70%;
	font-size: 14px;
	text-align: center;
  background-color: #fff;
  display: none;
	z-index: 300;
}
.xbtn{
	position: absolute;
	top: -6px;
	right: -6px;
	width: 30px;
	height: 30px;
	background: url(../images/xbtn_icon.png) center center / 30px 30px no-repeat;
}

.modal-back-btn{
	color: #4A4A4A;
	background: #C4C4C4;
}

.modal-back-btn,
.modal-next-btn{
	display: inline-block;
	padding: 8px 0 0 0;
	margin: 0 10px;
	width: 90px;
	height: 28px;
	font-size: 14px;
	font-weight: bold;
	text-align: center;
	border-radius: 4px;
}

.modal-next-btn{
	color: #FFF;
	background: linear-gradient(-180deg, #0085CC 0%, #0045CC 100%);
}

/* 各社ヘッダースタイル */
/* シンガポール航空 */
.sq .site-name{
	background: #00297B url(../images/site_name.png) center center / 58px 7px no-repeat !important;
}
.sq .navi a{
	background: #00297B url(../images/nav_icon.png) center center / 16px 14px no-repeat !important;
}

/* マレーシア航空 */
.mh .site-name{
	background: #00447C url(../images/site_name.png) center center / 58px 7px no-repeat !important;
}
.mh .navi a{
	background: #00447C url(../images/nav_icon.png) center center / 16px 14px no-repeat !important;
}
/* エミレーツ航空 */
.ek .site-name{
	background: #B21112 url(../images/site_name.png) center center / 58px 7px no-repeat !important;
}
.ek .navi a{
	background: #B21112 url(../images/nav_icon.png) center center / 16px 14px no-repeat !important;
}
/* カタール航空 */
.qr .site-name{
	background: #84315F url(../images/site_name.png) center center / 58px 7px no-repeat !important;
}
.qr .navi a{
	background: #84315F url(../images/nav_icon.png) center center / 16px 14px no-repeat !important;
}
/* エティハド航空 */
.ey .site-name{
	background: #2B000C url(../images/site_name.png) center center / 58px 7px no-repeat !important;
}
.ey .navi a{
	background: #2B000C url(../images/nav_icon.png) center center / 16px 14px no-repeat !important;
}
/* ハワイアン航空 */
.ha .site-name{
	background: #C04C9C url(../images/site_name.png) center center / 58px 7px no-repeat !important;
}
.ha .navi a{
	background: #C04C9C url(../images/nav_icon.png) center center / 16px 14px no-repeat !important;
}
/* マカオ航空 */
.nx .site-name{
	background: #010B4C url(../images/site_name.png) center center / 58px 7px no-repeat !important;
}
.nx .navi a{
	background: #010B4C url(../images/nav_icon.png) center center / 16px 14px no-repeat !important;
}
/* エバー航空 */
.br .site-name{
	background: #008F3E url(../images/site_name.png) center center / 58px 7px no-repeat !important;
}
.br .navi a{
	background: #008F3E url(../images/nav_icon.png) center center / 16px 14px no-repeat !important;
}
/* アメリカン航空 */
.aa .site-name{
	background: #0072C3 url(../images/site_name.png) center center / 58px 7px no-repeat !important;
}
.aa .navi a{
	background: #0072C3 url(../images/nav_icon.png) center center / 16px 14px no-repeat !important;
}
/* エアカナダ航空 */
.ac .site-name{
	background: #3C80AC url(../images/site_name.png) center center / 58px 7px no-repeat !important;
}
.ac .navi a{
	background: #3C80AC url(../images/nav_icon.png) center center / 16px 14px no-repeat !important;
}
/* チャイナエアライン */
.ci .site-name{
	background: #C5345E url(../images/site_name.png) center center / 58px 7px no-repeat !important;
}
.ci .navi a{
	background: #C5345E url(../images/nav_icon.png) center center / 16px 14px no-repeat !important;
}
/* ターキッシュエアラインズ */
.tk .site-name{
	background: #C83636 url(../images/site_name.png) center center / 58px 7px no-repeat !important;
}
.tk .navi a{
	background: #C83636 url(../images/nav_icon.png) center center / 16px 14px no-repeat !important;
}
/* デルタ航空 */
.dl .site-name{
	background: #246193 url(../images/site_name.png) center center / 58px 7px no-repeat !important;
}
.dl .navi a{
	background: #246193 url(../images/nav_icon.png) center center / 16px 14px no-repeat !important;
}
/* エチオピア航空 */
.et .site-name{
	background: #57903D url(../images/site_name.png) center center / 58px 7px no-repeat !important;
}
.et .navi a{
	background: #57903D url(../images/nav_icon.png) center center / 16px 14px no-repeat !important;
}

/* ホテルの星取り */
.starlevel5 {
  background-image: url("../images/starlevels.gif");
  background-repeat: no-repeat;
  width: 75px;
  height: 15px;
}
.star50 { background-position: left top; }
.star40 { background-position: -15px top; }
.star30 { background-position: -30px top; }
.star20 { background-position: -45px top; }
.star10 { background-position: -60px top; }
.star00 { background-position: -75px top; }

.star45 { background-position: -150px top; }
.star35 { background-position: -165px top; }
.star25 { background-position: -180px top; }
.star15 { background-position: -195px top; }
.star05 { background-position: -210px top; }
