@charset "utf-8";
/*////////////////////////////////////////////////
File Name : index.css
Created   : 2015.11.09
Up Date   : 2019.01.04
////////////////////////////////////////////////*/

/* index style sheets
------------------------------------------------*/

/* theme */
.theme-index-bg {
	background: #93c5f6 url(/img/index/index_bg01.jpg) no-repeat 50% 0 fixed;
}

@media screen and (min-width: 1600px) {
/* 1600px以上 */
.theme-index-bg {
	background-size: 100% auto;
}
}

/* レイアウト
-----------------------------------*/
#container {
	padding-top: 96px;
}

.l-indexcolumn-bc {
	width: 1280px;
	margin: 0 auto;
}

.l-indexcolumn-bc::after,
.naviicon ul::after,
.banner ul::after {
	content: "";
	clear: both;
	display: block;
}

/* ヘッダ
---------------------------------- */
.skip-txt p {
	margin: 0;
	padding: 0;
	height: 0;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}

.l-header {
	position: fixed;
	width: 100%;
	height: 104px;
	padding: 0 0 4px;
	background: transparent;
	z-index: 9900;
}

.l-header-tab,
.l-header-cts {
	position: relative;
	width: 100%;
	z-index: 0;
}

.l-header-tab {
	height: 44px;
}

.l-header-tab::before {
	content: "";
	position: absolute;
	top: 0;
	right: 50%;
	width: 100%;
	height: 44px;
	background: url(/img/index/header_bg01.png) repeat-x right 50% top;
}

.l-header-tab a {
	display: block;
}

.l-header-cts {
	background: #000;
	height: 96px;
}

.header-tabbtn {
	text-align: right;
}

.header-tabbtn a {
	margin-left: 577px;
}

.l-header-logo {
	top: -20px;
}

.l-header-logo2 {
	position: absolute;
	top: -28px;
	left: 0;
}

.l-header-logo2 a {
	display: block;
}

.l-header-txt {
	position: absolute;
	top: 0;
	left: 311px;
}

.l-header-txt a {
	display: block;
}

.l-header-nav {
	bottom: 12px;
}

.header-btn .header-lang a {
	width: 94px;
	height: 30px;
	background: #e4e4e4 url(/img/common/header_bt01.png) no-repeat 0 0;
	background-size: 188px auto;
	text-indent: -9999px;
}

.header-btn .header-lang a:hover {
	background: #000 url(/img/common/header_bt01.png) no-repeat -94px 0;
	background-size: 188px auto;
}

.header-btn .header-search a {
	width: 36px;
	height: 30px;
	background: #e4e4e4 url(/img/common/header_bt02.png) no-repeat 0 0;
	background-size: 72px auto;
	text-indent: -9999px;
}

.header-btn .header-search a:hover {
	background: #000 url(/img/common/header_bt02.png) no-repeat -36px 0;
	background-size: 72px auto;
}

/* プルダウン */
#js-header-lang-box {
	width: 94px;
	top: 32px;
	right: 46px;
}

#js-header-lang-box ul::before {
	right: 41px;
}

#js-header-lang-box a {
	display: block;
	width: 94px;
	height: 30px;
	background-image: url(/img/common/header_bt01.png);
	background-repeat: no-repeat;
	background-color: #e4e4e4;
	background-size: 188px auto;
	border-bottom: solid 1px #fff;
	text-indent: -9999px;
}

#js-header-lang-box a:hover {
	background-color: #000;
}

#js-header-lang-box .lang-en a {
	background-position: 0 -30px;
}

#js-header-lang-box .lang-en a:hover {
	background-position: -94px -30px;
}

#js-header-lang-box .lang-cn1 a {
	background-position: 0 -60px;
}

#js-header-lang-box .lang-cn1 a:hover {
	background-position: -94px -60px;
}

#js-header-lang-box .lang-cn2 a {
	background-position: 0 -90px;
}

#js-header-lang-box .lang-cn2 a:hover {
	background-position: -94px -90px;
}

#js-header-lang-box .lang-ko a {
	background-position: 0 -120px;
}

#js-header-lang-box .lang-ko a:hover {
	background-position: -94px -120px;
}

#js-header-search-box {
	display: none;
	position: absolute;
	width: 291px;
	top: 32px;
	right: 0;
	padding: 7px;
	background: rgba(255,255,255,.8);
	text-align: left;
	z-index: 9800;
}

#js-header-search-box ul {
	position: relative;
	width: 100%;
}

#js-header-search-box ul::before {
	right: 6px;
}

#js-header-search-box ul::after {
	content: "";
	clear: both;
	display: block;
}

#js-header-search-box li {
	float: left;
}

#js-header-search-box input[type="text"],
#js-header-search-box input[type="submit"] {
	border-radius: 0;
	-webkit-appearance: none;
	-moz-appearance:none;
	appearance:none;
}

#js-header-search-box input[type="text"] {
	box-sizing: border-box;
	width: 240px;
	height: 32px;
	padding: 0 5px !important;
	border: solid 1px #000 !important;
	font: inherit;
}

#js-header-search-box input[type="submit"] {
	width: 50px;
	height: 32px;
	border: solid 1px #000;
	border-left: none;
	background: #e4e4e4 url(/img/common/header_bt03.png) no-repeat 0 0;
	cursor: pointer;
}

#js-header-search-box input[type="submit"]:hover {
	background: #000 url(/img/common/header_bt03_on.png) no-repeat 0 0;
}

.header-btn .header-lang .js-on {
	background: #000 url(/img/common/header_bt01.png) no-repeat -94px 0;
	background-size: 188px auto;
}

.header-btn .header-search .js-on {
	background: #000 url(/img/common/header_bt02.png) no-repeat -36px 0;
	background-size: 72px auto;
}

/* 天気
---------------------------------- */
.l-weather-bc {
	padding: 0 0 16px;
}


/* 謹賀新年用に一時的追加 */
/*
.l-weather-bc {
	position: relative;
	padding: 16px 0;
}

.newyear {
	position: absolute;
	top: 0;
	left: 50%;
	margin-left: -166.5px;
}
*/

.weather {
	display: table;
	margin: 0 0 0 auto;
	width: auto;
}

.weather-ic,
.weather-txt {
	display: table-cell;
	vertical-align: middle;
}

.weather-ic {
	padding-right: 8px;
}

.weather-txt {
	color: #fff;
	font-size: 13px;
}

.weather-txt span {
	margin: 0 16px 0 8px;
	font-size: 24px;
	vertical-align: middle;
}

.weather-txt a {
	color: #fff;
}

/* 訴求イメージ
---------------------------------- */
.l-visual-bc {
	position: relative;
	float: left;
	width: 566px;
	height: 281px;
	margin-right: 10px;
	padding-bottom: 24px;
}

.visual {
	position: absolute;
	bottom: 24px;
	left: 0;
	padding: 0 4px;
}

.visual dl {
	box-sizing: border-box;
	display: table;
	width: 100%;
	table-layout: fixed;
	border: solid 4px #f00;
	box-shadow: 0 2px 3px rgba(0,0,0,.65);
}

.visual dt,
.visual dd {
	display: table-cell;
	vertical-align: middle;
}

.visual dt {
	width: 20%;
	background: #f00;
	color: #fff;
	font-weight: bold;
}

.visual dd {
	background: #fff;
	padding: 8px;
	font-size: 14px;
	text-align: left;
	line-height: 1.6;
}

/* フライト情報
---------------------------------- */
.l-flight-bc {
	float: left;
	width: 500px;
	margin-right: 10px;
	padding-bottom: 24px;
}

.flight-box {
	padding: 8px;
}

.l-flight-header {
	position: relative;
}

.flight-search {
	width: 175px;
	margin: 0 auto;
}

.flight-search legend {
	display: none;
}

.flight-search ul {
	overflow: hidden;
}

.flight-search li {
	float: left;
}

.flight-search input[type="text"],
.flight-search input[type="image"] {
	border-radius: 0;
	-webkit-appearance: none;
}

.flight-search input[type="text"] {
	box-sizing: border-box;
	width: 144px;
	height: 28px;
	padding-left: 5px;
	padding-right: 5px;
	border: solid 1px #000;
	background: #fff;
	font: inherit;
}

.flight-search input[type="image"] {
	width: 30px;
	border: solid 1px #000;
	border-left: none;
	background: #545454;
}

.flight-search input[type="image"]:hover {
	background: #000;
}

.flight-bt {
	width: 120px;
}

.flight-bt a {
	position: relative;
	display: block;
	padding-left: 12px;
	text-decoration: none;
	background: #000;
}
.flight-departure {
	position: absolute;
	top: 0;
	left: 0;
}

.flight-departure a {
	content: "";
	width: 100%;
	height: 28px;
	background: url(/img/index/index_departure_bt01.png) center 0 no-repeat;
	text-indent: -9999px;
}

.flight-departure a:hover {
	background: url(/img/index/index_departure_bt01.png) center -28px no-repeat;
}

.flight-departure a::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 5px;
	width: 22px;
	height: 17px;
	margin-top: -8.5px;
	background: url(/img/index/flight_bt01.png) no-repeat 0 0;
}

.flight-arrival {
	position: absolute;
	top: 0;
	right: 12px;
}

.flight-arrival a {
	content: "";
	width: 100%;
	height: 28px;
	background: url(/img/index/index_arrival_bt01.png) center 0 no-repeat;
	text-indent: -9999px;
}

.flight-arrival a:hover {
	background: url(/img/index/index_arrival_bt01.png) center -28px no-repeat;
}

.flight-arrival a::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 5px;
	width: 22px;
	height: 17px;
	margin-top: -8.5px;
	background: url(/img/index/flight_bt02.png) no-repeat -22px 0;
}

.l-flight-body {
	min-height: 201px;
	margin: 4px 0;
	padding: 2px;
	background: rgba(0,0,0,.5);
}

.flight-data table {
	border-collapse: separate;
	border-spacing: 1px;
	width: 100%;
}

.flight-data th {
	height: 24px;
	background: #000;
	color: #fff;
	font-weight: normal;
	text-align: center;
	vertical-align: middle;
}

.flight-data td {
	height: 24px;
	padding: 0 3px;
	background: url(/img/index/flight_bg01.png) repeat-x 0 50%;
	color: #fff;
	font-size: 14px;
	vertical-align: middle;
}

.flight-data .flight-airline {
	background: #fff;
}

.flight-data .flight-number,
.flight-data .flight-airport,
.flight-data .flight-status {
	text-align: left;
	text-overflow: ellipsis;
}

.flight-data .flight-t1 {
	background: #e2041b;
}

.flight-data .flight-t2 {
	background: #3f6aaf;
}

.flight-departure-data .w1,
.flight-arrival-data .w1 {
	width: 10%;
}

.flight-departure-data .w2,
.flight-arrival-data .w2 {
	width: 18.25%;
}

.flight-departure-data .w3,
.flight-arrival-data .w3 {
	width: 22.5%;
}

.flight-departure-data .w4,
.flight-arrival-data .w4 {
	width: 13%;
}

.flight-departure-data .w5,
.flight-arrival-data .w5 {
	width: 6%;
}

.flight-departure-data .w6 {
	width: 8.5%;
}

.flight-departure-data .w7 {
	width: 20.25%;
}

.flight-arrival-data .w6 {
	width: 28.75%;
}

.l-flight-fooer {
	width: 100%;
	height: 24px;
	position: relative;
}
.flight-box .more a {
	content: "";
	width: 100%;
	height: 24px;
	position: absolute;
	top: 0;
	left: 0;
	background: url(/img/index/index_all_bt01.png) center -24px no-repeat;
	text-indent: -9999px;
}

.flight-box .more a:hover {
	background: url(/img/index/index_all_bt01.png) center 0 no-repeat;
}

/* ターミナル
---------------------------------- */
.l-terminal-bc {
	float: left;
	width: 190px;
	padding-bottom: 24px;
}

.terminal-box:first-child {
	margin-bottom: 13px;
}

.terminal-box a {
	display: block;
	padding: 8px;
}

.terminal-box a:hover img {
	opacity: 0.7;
	filter: alpha(opacity=70);
}

.terminal-box a p {
	margin-bottom: 20px;
}

.terminal-box ul {
	overflow: hidden;
}

.terminal-box li {
	float: left;
	margin-right: 8px;
}

.terminal-box li:nth-last-child(-n+2) {
	margin-right: 0;
}

.terminal-box li:last-child {
	margin-top: 21px;
}

/* ナビアイコン
---------------------------------- */
.l-naviicon-bc {
	padding: 0 4px 80px 3px;
}

.naviicon li {
	float: left;
	margin: 16px 63px 0 0;
	box-shadow: 0 3px 4px rgba(0,0,0,.65);
}

.naviicon li:nth-child(-n+8) {
	margin-top: 0;
}

.naviicon li:nth-child(8n) {
	margin-right: 0;
}

/* インフォメーション
---------------------------------- */
.l-airportinfo-bc {
	float: left;
	width: 402px;
	padding: 0 4px 80px;
}

.l-hndinfo-bc {
	float: right;
	width: 837px;
	padding: 0 4px 80px;
}

.airportinfo,
.hndinfo {
	text-align: left;
}

.airportinfo-box,
.hndinfo-box {
	padding: 8px;
}

.airportinfo h2,
.hndinfo h2 {
	margin-bottom: 16px;
}

.airportinfo li,
.hndinfo li {
	border-bottom: solid 1px #ccc;
	font-size: 13px;
	line-height: 1.3;
}

.airportinfo img {
	margin-right: 5px;
	vertical-align: -2px;
}

.airportinfo a,
.hndinfo a {
	display: block;
	color: #333;
}

.airportinfo li a {
	padding: 24px 0;
}

.hndinfo li a {
	padding: 16px 0;
}

.hndinfo .date {
	display: inline-block;
	color: #43a3d5;
	font-size: 16px;
	font-weight: bold;
}

.hndinfo .label {
	display: inline-block;
	width: 128px;
	margin-left: 16px;
	color: #fff;
	font-size: 12px;
	text-align: center;
	vertical-align: 3px;
	line-height: 20px;
}

/* ラベル：ショップ＆レストラン（ピンク） */
.hndinfo .label-shop {
	background: #f66;
}

/* ラベル：イベント（オレンジ） */
.hndinfo .label-event {
	background: #f90;
}

/* ラベル：企業情報（緑） */
.hndinfo .label-corporate {
	background: #9C0;
}

/* ラベル：施設・サービス（青） */
.hndinfo .label-service {
	background: #06c;
}

/* ラベル：お知らせ（水色） */
.hndinfo .label-information {
	background: #39f;
}

.hndinfo .heading {
	display: block;
	margin-top: 8px;
}

.hndinfo .heading img {
	margin-left: 4px;
	vertical-align: middle;
}

.airportinfo .more,
.hndinfo .more {
	margin-top: 16px;
	text-align: center;
}

.airportinfo .more a,
.hndinfo .more a {
	padding: 8px 0;
	border: solid 1px #000;
	background: #e4e4e4;
	text-decoration: none;
}

.airportinfo .more a:hover,
.hndinfo .more a:hover {
	background: #000;
	color: #fff;
}

/* 広告
---------------------------------- */
.l-ad-bc {
	padding-bottom: 80px;
}

.ad ul {
	overflow: hidden;
}

.ad li {
	position: relative;
	float: left;
	overflow: hidden;
}

.ad a {
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
}

.ad .cover {
	box-sizing: border-box;
	display: block;
	position: absolute;
	bottom: -48px;
	left: 0;
	width: 100%;
	height: 96px;
	padding: 16px;
	background: rgba(0,0,0,.7);
	color: #fff;
	font-weight: bold;
	text-align: left;
}

/* 2行のとき */
/*.ad .ad-item01 .cover {
	bottom: -72px;
	height: 120px;
}*/

/* 3行のとき */
/*.ad .ad-item01 .cover {
	bottom: -92px;
	height: 140px;
}*/

.ad .ad-item04 .cover {
	bottom: -72px;
	height: 120px;
}

.ad .ad-item01,
.ad .ad-item02 {
	width: 435px;
	height: 384px;
	margin-right: 24px;
}

.ad .ad-item04 {
	margin-top: 24px;
}

.ad .ad-item03 {
	width: 360px;
	height: 224px;
}

.ad .ad-item04 {
	width: 360px;
	height: 136px;
}

.ad .cover-text {
	display: block;
	margin-top: 24px;
	font-size: 14px;
	font-weight: normal;
	line-height: 1.6;
}


.ad a img,
.ad a .cover {
	-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
	transition: opacity 0.35s, transform 0.35s;
}

.ad a:hover img {
	-webkit-transform: scale3d(1.05,1.05,1);
	transform: scale3d(1.05,1.05,1);
}

.ad a:hover .cover {
	-webkit-transform: translateY(-48px);
	transform: translateY(-48px);
}

/* 2行のとき */
/*.ad .ad-item01 a:hover .cover {
	-webkit-transform: translateY(-72px);
	transform: translateY(-72px);
}*/

/* 3行のとき */
/*.ad .ad-item01 a:hover .cover {
	-webkit-transform: translateY(-92px);
	transform: translateY(-92px);
}*/

.ad .ad-item04 a:hover .cover {
	-webkit-transform: translateY(-72px);
	transform: translateY(-72px);
}


/* バナー
---------------------------------- */
.l-banner-bc {
	padding: 0 4px 40px 5px;
}

.banner li {
	float: left;
	width: 235px;
	height: 145px;
	margin: 24px 24px 0 0;
	box-shadow: 0 3px 4px rgba(0,0,0,.65);
	background: #fff;
}

.banner li:nth-child(-n+5) {
	margin-top: 0;
}

.banner li:nth-child(5n) {
	margin-right: 0;
}

.banner li a:hover img {
	opacity: 0.7;
	filter: alpha(opacity=70);
}