@charset "utf-8";

/* ========================================================
	template.css => テンプレート用CSS
======================================================== */
html {
	font-size: 62.5%;
}
body {
	background-color: #fff;
	font-size: 10px;
	font-size: 1rem;
	line-height: 1.8;
	color: #050514;
	word-wrap: break-word;
	overflow-wrap: break-word;

	font-family: "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", Verdana, Arial, Helvetica, sans-serif;

	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}
html[lang=en] body {
	font-family: "Helvetica Neue","Helvetica","Arial","游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo",sans-serif;
}

*,
*::before,
*::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
	line-height: 1.8;
}
a[href] {
	color: #007E99;
	text-decoration: underline;
}
a[href]:hover {
	text-decoration: none;
}
a[href].a_reverse,
.a_reverse a[href] {
	text-decoration: none;
}
@media screen and (min-width: 769px) {
	a[href].a_reverse:hover,
	.a_reverse a[href]:hover {
		text-decoration: underline;
	}
}

a[href^="http"],
a[href^="mailto:"] {
	/*display: inline-block;*/
	word-break: break-all;
	word-wrap : break-word;
	overflow-wrap : break-word;
}

label {
	cursor: pointer;
}
input, select, textarea, button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	max-width: 100%;
	margin: 0;
	border-radius: 0;
	vertical-align: middle;
	font-family: inherit;
	font-size: 100%;
}
button {
	cursor: pointer;
}
iframe {
	max-width: 100%;
	vertical-align: middle;
}

.hidden {
	display: none;
}
.slick-slider * {
	outline: none;
}
@media screen and (min-width: 769px), print {
}
@media screen and (max-width: 768px) {
	body {
		font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", Verdana, Arial, Helvetica, sans-serif;
	}
	img {
		max-width: 100%;
		height: auto;
	}
}


/* pc / sp
============================================================================================================ */
.sp,
.sps {
	display: none !important;
}
@media screen and (min-width: 769px), print {
	.pc_break {
		position: relative;
		display: block;
		height: 0;
		overflow: hidden;
	}
	.pc_hidden {
		position: relative;
		overflow: hidden;
		display: block;
		height: 0;
	}
}
@media screen and (max-width: 768px) {
	.pc {
		display: none !important;
	}
	.sp {
		display: block !important;
	}
	img.sp, span.sp, br.sp, em.sp, strong.sp {
		display: inline !important;
	}
	td.sp, th.sp {
		display: table-cell !important;
	}
	.sp_break {
		position: relative;
		display: block;
		height: 0;
		overflow: hidden;
	}
}
@media screen and (max-width: 370px) {
	.sps {
		display: block !important;
	}
	img.sps, spsan.sps, br.sps, em.sps, strong.sps {
		display: inline !important;
	}
	.sps_non {
		display: none !important;
	}
}

/* transition
============================================================================================================ */
@media screen and (min-width: 769px) {
	body.init a[href],
	body.init a[href]::before,
	body.init a[href]::after,
	body.init button,
	body.init .basic_trs,
	body.init .basic_trs::before,
	body.init .basic_trs::after,
	body.init .basic_trs *,
	body.init .basic_trs *::before,
	body.init .basic_trs *::after {
		-webkit-transition: color 0.2s ease-in-out, background 0.2s ease-in-out, border 0.2s ease-in-out, opacity 0.2s ease-in-out;
		-o-transition: color 0.2s ease-in-out, background 0.2s ease-in-out, border 0.2s ease-in-out, opacity 0.2s ease-in-out;
		transition: color 0.2s ease-in-out, background 0.2s ease-in-out, border 0.2s ease-in-out, opacity 0.2s ease-in-out;
	}
}


/* font family
============================================================================================================ */
.ff_roboto {
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	font-style: normal;
}
.ff_roboto.b {
	font-weight: 500;
}
.line2 {    
    line-height: 1.1;
    margin-top: -15px;
}
@media screen and (max-width: 768px) {
	.ff_roboto.b.line2 {    
		margin-top: 0;
		font-size: 5vw;
	}
}

/* color
============================================================================================================ */
.c_theme {
	color: #0098b8 !important;
}
.bg_theme {
	background-color: #0098b8 !important;
}

/* font
============================================================================================================ */
.fwb {
	font-weight: bold;
}
.fwn {
	font-weight: normal;
}


/* display
============================================================================================================ */
.db {
	display: block;
}
.dib {
	display: inline-block;
}

/* position
============================================================================================================ */
.pos-r {
	position: relative;
}

/* hover
============================================================================================================ */
@media screen and (min-width: 769px), print {
	a.hv_wh,
	button.hv_wh,
	a .hv_wh,
	.hv_wh a {
		position: relative;
		display: inline-block;
		vertical-align: middle;
		overflow: hidden;
	}
	a.hv_wh::after,
	button.hv_wh::after,
	a .hv_wh::after,
	.hv_wh a::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		background-color: rgba(255,255,255,0);
		z-index: 3;
	}
	body.init a.hv_wh::after,
	body.init button.hv_wh::after,
	body.init a .hv_wh::after,
	body.init .hv_wh a::after {
		-webkit-transition: background 0.2s;
		-o-transition: background 0.2s;
		transition: background 0.2s;
	}
	a[href].hv_wh:hover::after,
	button.hv_wh:hover::after,
	a[href]:hover .hv_wh::after,
	.hv_wh a[href]:hover::after {
		background-color: rgba(255,255,255,0.3);
	}
	a[href].hv_wh.a20:hover::after,
	button.hv_wh.a20:hover::after,
	a[href]:hover .hv_wh.a20::after,
	.hv_wh.a20 a[href]:hover::after {
		background-color: rgba(255,255,255,0.2);
	}
	a[href].hv_wh.a10:hover::after,
	button.hv_wh.a10:hover::after,
	a[href]:hover .hv_wh.a10::after,
	.hv_wh.a10 a[href]:hover::after {
		background-color: rgba(255,255,255,0.1);
	}

	body.init a[href] .hv_op {
		-webkit-transition: opacity 0.2s;
		-o-transition: opacity 0.2s;
		transition: opacity 0.2s;
	}
	a[href].hv_op:hover,
	a[href]:hover .hv_op,
	button.hv_op:hover,
	.hv_op a[href]:hover {
		opacity: 0.7;
	}
	a[href].hv_op.a20:hover,
	a[href]:hover .hv_op.a20,
	.hv_op.a20 a[href]:hover {
		opacity: 0.8;
	}
	a[href].hv_op.a10:hover,
	a[href]:hover .hv_op.a10,
	.hv_op.a10 a[href]:hover {
		opacity: 0.9;
	}
	a[href].hv_op.a50:hover,
	a[href]:hover .hv_op.a50,
	.hv_op.a50 a[href]:hover {
		opacity: 0.5;
	}

	body.init a[href].hv_zoom > *,
	body.init a[href] .hv_zoom > * {
		-webkit-transition: -webkit-transform 0.6s, opacity .3s;
		-o-transition: -o-transform 0.6s, opacity .3s;
		transition: transform 0.6s, opacity .3s;
	}
	a[href]:hover.hv_zoom > *,
	a[href]:hover .hv_zoom > * {
		-webkit-transform: scale(1.05);
		-ms-transform: scale(1.05);
		-o-transform: scale(1.05);
		transform: scale(1.05);
	}
	a[href]:hover .hv_zoom.s > * {
		-webkit-transform: scale(1.03);
		-ms-transform: scale(1.03);
		-o-transform: scale(1.03);
		transform: scale(1.03);
	}
}


/* target
============================================================================================================ */
.target {
	display: block;
	position: relative;
	width: 1px;
	top: -76px;
}
.target.pt {
	top: -100px;
}
@media screen and (max-width: 768px) {
	.target {
		top: 50px;
	}
	.target.pt {
		top: -70px;
	}
}



/* w
============================================================================================================ */
.w {
	position: relative;
}
@media screen and (min-width: 769px), print {
	.w {
		max-width: 1180px;
		margin: 0 auto;
		padding: 0 40px;
	}
	.mw {
		min-width: 1140px;
	}
}
@media screen and (max-width: 768px) {
}


/* spパディング
============================================================================================================ */
@media screen and (max-width: 768px) {
	.sp_pd {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
	.sp_full {
		margin-left: -20px !important;
		margin-right: -20px !important;
	}
	.sp_full_r {
		margin-right: -20px !important;
	}
}
@media screen and (max-width: 370px) {
	.sp_pd {
		padding-left: 10px !important;
		padding-right: 10px !important;
	}
	.sp_full {
		margin-left: -10px !important;
		margin-right: -10px !important;
	}
	.sp_full_r {
		padding-right: 10px !important;
	}
}


/* script-notes
============================================================================================================ */
#script-notes {
	background-color: #d60000;
	text-align: center;
	padding: 10px;
	font-size: 1.4rem;
	color: #fff;
}
@media screen and (max-width: 768px) {
	#script-notes {
		font-size: 1.1rem;
	}
}


/* blockskip
============================================================================================================ */
@media screen and (min-width: 769px) {
	#blockskip a {
		position: fixed;
		top: 0;
		right: 0;
		left: 0;
		margin: auto;
		display: block;
		overflow: hidden;
		width: 15em;
		height: 0;
		background-color: #000;
		font-size: 1.2rem;
		text-align: center;
		color: #fff;
		z-index: 1001;
	}
	#blockskip a:focus {
		padding: 5px;
		height: auto;
	}
}
@media screen and (max-width: 768px), print {
	#blockskip {
		display: none;
	}
}



/* top
============================================================================================================ */
a#top {
	position: absolute;
	top: 0;
}


/* header
============================================================================================================ */
#header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	background-color: #fff;
	z-index: 1000;
}
@media print {
	#header {
		position: absolute;
	}
}
@media screen and (min-width: 769px), print {
	#header {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: space-between;
		-ms-align-items: center;
		align-items: center;
		height: 100px;
		padding: 0 30px 0 40px;
		-webkit-transform: translate3d(0, 0, 0);
		-ms-transform: translate3d(0, 0, 0);
		-o-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
	#header .logo {
		padding-bottom: 5px;
	}
	#header .nav_btn {
		display: none;
	}
	#header nav {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-ms-align-items: center;
		align-items: center;
		font-size: 1.6rem;
		line-height: 1.3;
	}
	#header nav ul {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-ms-align-items: center;
		align-items: center;
	}
	#header nav ul a {
		position: relative;
		display: inline-block;
		padding: 15px 0;
		text-decoration: none;
		color: #000;
	}
	#header nav ul a:hover,
	#header nav ul a.current {
		color: #007E99;
	}
	#header nav .gnav > li {
		position: relative;
	}
	#header nav .gnav > li > a {
		overflow: hidden;
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-ms-align-items: center;
		align-items: center;
		height: 100px;
		padding-right: 1em;
		padding-left: 1em;
		font-weight: bold;
		white-space: nowrap;
	}
	#header nav .gnav > li > a::after {
		/*content: "";*/
		position: absolute;
		right: 30px;
		left: 30px;
		bottom: 0;
		border-top: 3px solid #0098b8;
		-webkit-transform: translateY(3px);
		-ms-transform: translateY(3px);
		-o-transform: translateY(3px);
		transform: translateY(3px);
		opacity: 0;
	}
	body.init #header nav .gnav > li > a::after {
		-webkit-transition: -webkit-transform .2s ease-in-out, opacity .2s ease-in-out;
		-o-transition: -o-transform .2s ease-in-out, opacity .2s ease-in-out;
		transition: transform .2s ease-in-out, opacity .2s ease-in-out;
	}
	#header nav .gnav > li > a:hover::after,
	#header nav .gnav > li > a.current::after {
		-webkit-transform: translateY(0);
		-ms-transform: translateY(0);
		-o-transform: translateY(0);
		transform: translateY(0);
		opacity: 1;
	}
	#header nav .gnav > li.has_dd > a::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		margin-top: 20px;
		margin-left: -4px;
		border-style: solid;
		border-width: 8px 6px 0 6px;
		border-color: #323C46 transparent transparent transparent;
		-webkit-transform: translateY(3px);
		-ms-transform: translateY(3px);
		-o-transform: translateY(3px);
		transform: translateY(3px);
		opacity: 0;
	}
	body.init #header nav .gnav > li.has_dd > a::before {
		-webkit-transition: -webkit-transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
		-o-transition: -o-transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
		transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
	}
	#header nav .gnav .dd {
		position: absolute;
		left: 50%;
		top: 100%;
		overflow: hidden;
    transform: translateX(-50%);
	}
	#header nav .gnav .dd ul {
		display: block;
    width: 400px;
	}
	#header nav .gnav .dd ul li.nav_t{
		position: relative;
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-ms-align-items: center;
		align-items: center;
		height: 60px;
		padding: 0 100px 0 30px;
		background-color: rgba(53,63,72,1.00);
		color: #fff;
		font-weight: bold;
		text-decoration: none;
		white-space: nowrap;
		font-size: 1.6rem;
		line-height: 1.5;
	}
	#header nav .gnav .dd li + li {
		border-top: 1px solid #fff;
	}
	#header nav .gnav .dd a {
		position: relative;
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-ms-align-items: center;
		align-items: center;
		min-height: 60px;
		padding: 10px 80px 10px 40px;
		background-color: rgba(30,36,48,.98);
		color: #fff;
		font-weight: bold;
		text-decoration: none;
		font-size: 1.6rem;
		line-height: 1.5;
	}
	#header nav .gnav .dd a::before {
		content: "";
		position: absolute;
		bottom: 50%;
		right: 35px;
		width: 12px;
		border-top: 1px solid #0098b8;
	}
	#header nav .gnav .dd a::after {
		content: "";
		position: absolute;
		bottom: 50%;
		right: 25px;
		border-style: solid;
		border-width: 10px 0 0 10px;
		border-color: transparent transparent transparent #0098b8;
		-webkit-transform-origin: 0 100%;
		-moz-transform-origin: 0 100%;
		-ms-transform-origin: 0 100%;
		-o-transform-origin: 0 100%;
		transform-origin: 0 100%;
		-webkit-transform: scaleY(.5);
		-ms-transform: scaleY(.5);
		-o-transform: scaleY(.5);
		transform: scaleY(.5);
	}
	body.init #header nav .gnav .dd a::before,
	body.init #header nav .gnav .dd a::after {
		-webkit-transition: right 0.2s ease-in-out;
		-o-transition: right 0.2s ease-in-out;
		transition: right 0.2s ease-in-out;
	}
	#header nav .gnav .dd a:hover,
	#header nav .gnav .dd a.current {
		background-color: rgba(53,58,69,.98);
	}
	#header nav .gnav .dd a:hover::before,
	#header nav .gnav .dd a.current::before {
		right: 30px;
	}
	#header nav .gnav .dd a:hover::after,
	#header nav .gnav .dd a.current::after {
		right: 20px;
	}

	body.init #header nav .gnav .dd {
		-webkit-transition: opacity 0.3s ease-in-out, height 0.3s ease-in-out;
		-o-transition: opacity 0.3s ease-in-out, height 0.3s ease-in-out;
		transition: opacity 0.3s ease-in-out, height 0.3s ease-in-out;
	}
	body.init #header nav .gnav .dd ul {
		-webkit-transition: -webkit-transform 0.3s;
		-o-transition: -o-transform 0.3s;
		transition: transform 0.3s;
	}
	#header nav .gnav li .dd {
		height: 0;
		opacity: 0;
	}
	#header nav .gnav li .dd ul {
		-webkit-transform: translateY(-10px);
		-ms-transform: translateY(-10px);
		-o-transform: translateY(-10px);
		transform: translateY(-10px);
	}
	#header nav .gnav li.hover .dd {
		opacity: 1;
	}
	#header nav .gnav li.hover .dd ul {
		-webkit-transform: translateY(0);
		-ms-transform: translateY(0);
		-o-transform: translateY(0);
		transform: translateY(0);
	}
	#header nav .gnav > li.has_dd.hover > a::before {
		-webkit-transform: translateY(0);
		-ms-transform: translateY(0);
		-o-transform: translateY(0);
		transform: translateY(0);
		opacity: 0.9;
	}

	/*202404追加*/
	#header nav .gnav li.recruit_header {
		background-color: #0098b8;
	}
	#header nav .gnav li.recruit_header a {color: #FFF;}
	#header nav .gnav li.airports_header {
		background-color: #293a45;text-align: center;
	}
	#header nav .gnav li.airports_header a {color: #FFF;}
	
}
@media screen and (min-width: 1360px) {
	#header nav .gnav > li > a {
		padding-right: 30px;
		padding-left: 30px;
	}
}
@media screen and (min-width: 769px) {
	body.init #header {
		-webkit-transition: height 0.3s, -webkit-box-shadow 0.3s;
		-o-transition: height 0.3s, box-shadow 0.3s;
		transition: height 0.3s, box-shadow 0.3s;
	}
	body.init.head-min #header {
		-webkit-transition: height 0.5s ease-in-out, -webkit-box-shadow 0.5s ease-in-out;
		-o-transition: height 0.5s ease-in-out, box-shadow 0.5s ease-in-out;
		transition: height 0.5s ease-in-out, box-shadow 0.5s ease-in-out;
	}
	body.init #header nav .gnav > li > a {
		-webkit-transition: height 0.3s, color 0.2s ease-in-out;
		-o-transition: height 0.3s, color 0.2s ease-in-out;
		transition: height 0.3s, color 0.2s ease-in-out;
	}
	body.init.head-min #header nav .gnav > li > a {
		-webkit-transition: height 0.5s ease-in-out, color 0.2s ease-in-out;
		-o-transition: height 0.5s ease-in-out, color 0.2s ease-in-out;
		transition: height 0.5s ease-in-out, color 0.2s ease-in-out;
	}
	#header {
		-webkit-box-shadow: 0 0 5px rgba(0,0,0,0);
		box-shadow: 0 0 5px rgba(0,0,0,0);
	}
	.head-min #header {
		height: 70px;
		-webkit-box-shadow: 0 0 5px rgba(0,0,0,.1);
		box-shadow: 0 0 5px rgba(0,0,0,.1);
	}
	.head-min #header nav .gnav > li > a {
		height: 70px;
	}
}

@media screen and (max-width: 768px) {
	#header {
		height: 60px;
	}
	#header .logo a {
		display: block;
		width: 210px;
		height: 60px;
		padding: 13px 15px 0;
	}

	/* nav_btn */
	#header .nav_btn {
		position: absolute;
		right: 0;
		top: 0;
		width: 60px;
		height: 60px;
		z-index: 15;
	}
	#header .nav_btn a {
		position: relative;
		display: block;
		height: 60px;
	}
	#header .nav_btn:before,
	#header .nav_btn a::before,
	#header .nav_btn a::after {
		content: "";
		position: absolute;
		right: 16px;
		left: 16px;
		top: 50%;
		margin-top: -1px;
		border-top: 2px solid #1e2430;
	}
	body.init #header .nav_btn:before,
	body.init #header .nav_btn a::before,
	body.init #header .nav_btn a::after {
		-webkit-transition: all 0.3s ease-in-out;
		-o-transition: all 0.3s ease-in-out;
		transition: all 0.3s ease-in-out;
	}
	#header .nav_btn:before {
		right: 26px;
	}
	#header .nav_btn a::before {
		-webkit-transform: translateY(-10px);
		-ms-transform: translateY(-10px);
		-o-transform: translateY(-10px);
		transform: translateY(-10px);
	}
	#header .nav_btn a::after {
		-webkit-transform: translateY(10px);
		-ms-transform: translateY(10px);
		-o-transform: translateY(10px);
		transform: translateY(10px);
	}

	/* nav_btn open */
	#header.open .nav_btn::before {
		opacity: 0;
	}
	#header.open .nav_btn a::before {
		-webkit-transform: translateY(0) rotate(45deg);
		-ms-transform: translateY(0) rotate(45deg);
		transform: translateY(0) rotate(45deg);
	}
	#header.open .nav_btn a::after {
		-webkit-transform: translateY(0) rotate(-45deg);
		-ms-transform: translateY(0) rotate(-45deg);
		transform: translateY(0) rotate(-45deg);
	}

	/* nav */
	#header nav .gnav {
		position: fixed;
		top: 60px;
		right: 0;
		width: 92vw;
		min-width: 220px;
		max-height: calc(100vh - 60px);
		overflow-y: auto;
		overflow-x: hidden;
		-webkit-overflow-scrolling: touch;
		pointer-events: none;
		z-index: 5;
	}
	#header nav .gnav > li {
		opacity: 0;
		-webkit-transform: translateX(100%);
		-ms-transform: translateX(100%);
		-o-transform: translateX(100%);
		transform: translateX(100%);
	}
	/* open */
	body.init #header nav .gnav > li {
/*
		-webkit-transition: -webkit-transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.3s ease-in-out;
		-o-transition: -o-transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.3s ease-in-out;
		transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.3s ease-in-out;
*/
		-webkit-transition: -webkit-transform 0.4s, opacity 0.4s ease-in-out;
		-o-transition: -o-transform 0.4s, opacity 0.4s ease-in-out;
		transition: transform 0.4s, opacity 0.4s ease-in-out;
	}
	body.init #header nav .gnav > li:nth-child(2) {
		-webkit-transition-delay: 0.03s;
		-o-transition-delay: 0.03s;
		transition-delay: 0.03s;
	}
	body.init #header nav .gnav > li:nth-child(3) {
		-webkit-transition-delay: 0.06s;
		-o-transition-delay: 0.06s;
		transition-delay: 0.06s;
	}
	body.init #header nav .gnav > li:nth-child(4) {
		-webkit-transition-delay: 0.09s;
		-o-transition-delay: 0.09s;
		transition-delay: 0.09s;
	}
	#header.open nav .gnav {
		pointer-events: auto;
	}
	#header.open nav .gnav > li {
		opacity: 1;
		-webkit-transform: translateX(0);
		-ms-transform: translateX(0);
		-o-transform: translateX(0);
		transform: translateX(0);
	}

	#header nav .gnav li + li {
		border-top: 1px solid #fff;
	}
	#header nav .gnav a {
		position: relative;
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-ms-align-items: center;
		align-items: center;
		height: 60px;
		padding: 0 20px;
		background-color: rgba(30,36,48,.98);
		color: #fff;
		font-weight: bold;
		text-decoration: none;
		font-size: 1.4rem;
		line-height: 1.5;
	}
	#header nav .gnav a::before {
		content: "";
		position: absolute;
		bottom: 50%;
		right: 28px;
		width: 9px;
		border-top: 1px solid #0098b8;
	}
	#header nav .gnav a::after {
		content: "";
		position: absolute;
		bottom: 50%;
		right: 20px;
		border-style: solid;
		border-width: 8px 0 0 8px;
		border-color: transparent transparent transparent #0098b8;
		-webkit-transform-origin: 0 100%;
		-moz-transform-origin: 0 100%;
		-ms-transform-origin: 0 100%;
		-o-transform-origin: 0 100%;
		transform-origin: 0 100%;
		-webkit-transform: scaleY(.5);
		-ms-transform: scaleY(.5);
		-o-transform: scaleY(.5);
		transform: scaleY(.5);
	}

	#header nav .gnav .has_dd > a::before,
	#header nav .gnav .has_dd > a::after {
		content: "";
		position: absolute;
		right: 22px;
		top: 50%;
		width: 15px;
		margin-top: -1px;
		border: none;
		border-top: 1px solid #fff;
	}
	#header nav .gnav .has_dd > a::after {
		-webkit-transform-origin: 50%;
		-moz-transform-origin: 50%;
		-ms-transform-origin: 50%;
		-o-transform-origin: 50%;
		transform-origin: 50%;
		-webkit-transform: rotate(90deg);
		-ms-transform: rotate(90deg);
		-o-transform: rotate(90deg);
		transform: rotate(90deg);
	}
	body.init #header nav .gnav .has_dd > a::after {
		-webkit-transition: -webkit-transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
		-o-transition: -o-transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
		transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
	}
	#header nav .gnav .has_dd > a.open::after {
		-webkit-transform: rotate(0);
		-ms-transform: rotate(0);
		-o-transform: rotate(0);
		transform: rotate(0);
		opacity: 0;
	}

	body.init #header nav .gnav .dd {
		-webkit-transition: opacity 0.3s ease-in-out, height 0.3s ease-in-out;
		-o-transition: opacity 0.3s ease-in-out, height 0.3s ease-in-out;
		transition: opacity 0.3s ease-in-out, height 0.3s ease-in-out;
	}
	#header nav .gnav li .dd {
		overflow: hidden;
		height: 0;
	}
	#header nav .gnav li .dd ul {
		border-top: 1px solid #fff;
		padding-left: 0;/*20px*/
	}
	#header nav .gnav li .dd ul li.nav_t {
		position: relative;
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-ms-align-items: center;
		align-items: center;
		height: 55px;
		padding: 0 20px 0 40px;
		background-color: rgba(30,36,48,.98);
		color: #fff;
		font-weight: bold;
		text-decoration: none;
		font-size: 1.4rem;
		line-height: 1.5;
	}
	#header nav .gnav li .dd ul a {
		height: 55px;
		padding-left: 60px;
	}
}
@media screen and (max-width: 370px) {
	#header {
		height: 50px;
	}
	#header .logo a {
		width: 190px;
		height: 50px;
		padding: 9px 10px 0;
	}
	#header .nav_btn {
		right: -5px;
		height: 50px;
	}
	#header .nav_btn a {
		height: 50px;
	}
	#header nav .gnav {
		top: 50px;
		max-height: calc(100vh - 50px);
	}
}

/* lang
============================================================================================================ */

html[lang="ja"] #header nav .lang [data-value="ja"] {color: #007E99;pointer-events: none;}
html[lang="en"] #header nav .lang [data-value="en"] {color: #007E99;pointer-events: none;}

#header nav .lang {
  position: relative;
}
#header nav .lang_list {
  display: flex;
  align-items: center;
  gap: 12px;
  border: none;
  background: none;
  font-weight: 400;
  border: solid 1px #d1d8e0;
  border-radius: .5rem;
  padding: 8px 16px 8px 12px;
  font-size: 1.4rem;
  white-space: nowrap;
  color: #000;
}
#header nav .lang_list::after {
  content: "";
  display: inline-block;
  transform: rotate(45deg);
  width: 7px;
  height: 7px;
  border-right: 2px solid #007E99;
  border-bottom: 2px solid #007E99;
  position: relative;
  top: -2px;
}
#header nav .lang_list svg {
  width: 1.4em;
  height: 1.4em;
  fill: #007E99;
}
#header nav .lang_content {
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  padding-block: 4px;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 transparent), var(--tw-ring-shadow, 0 0 transparent), var(--tw-shadow);
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s, opacity 0.3s ease-in-out;
  border-radius: .5rem;
}
#header nav .lang_content ul {
  display: flex;
  flex-direction: column;
}
#header nav .lang_content ul li {
  display: block;
  min-width: 120px;
  padding: 8px 16px;
  text-decoration: none;
  font-weight: 400;
  font-size: 1.4rem;
  color: #000;
  cursor: pointer;
}
#header nav .lang_content ul li:hover {
  color: #007E99;
}
#header nav .lang_content.open {
  visibility: visible;
  opacity: 1;
}
@media screen and (max-width: 768px) {
  #header nav .lang {
    display: flex;
    position: absolute;
    top: 10px;
    right: 60px;
    -ms-align-items: center;
    align-items: center;
    height: 40px;
  }
  #header nav .lang_list {
    gap: 8px;
    padding: 6px 8px 6px 6px;
  }
}
@media screen and (min-width: 769px) {
  #header nav .lang {
    margin-left: 30px;
  }
}

/* footer
============================================================================================================ */
#footer {
	position: relative;
	padding: 25px 0 5px;
	background-color: #fff;
	border-top: 1px solid #e6e6e6;
}
@media screen and (min-width: 769px), print {
	#footer .w {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		justify-content: space-between;
		width: 1380px;
		max-width: 100%;
	}
}
@media screen and (max-width: 768px) {
	#footer {
		padding: 30px 0 0;
	}
}


/* ページトップ
------------------------------------------------------------- */
#pagetop {
	position: fixed;
	overflow: hidden;
	bottom: 0;
	right: 0;
	width: 80px;
	height: 80px;
	pointer-events: none;
	z-index: 500;
}
#pagetop a {
	overflow: hidden;
	position: absolute;
	width: 80px;
	height: 80px;
	padding-top: 48px;
	background-color: #007E99;
	color: #fff;
	text-decoration: none;
	text-align: center;
	font-size: 1.4rem;
	line-height: 1.3;
	pointer-events: auto;
	-webkit-transform: translateX(100%);
	-ms-transform: translateX(100%);
	-o-transform: translateX(100%);
	transform: translateX(100%);
}
#pagetop a::before {
	content: "";
	position: absolute;
	top: 12px;
	right: 0;
	left: 0;
	height: 30px;
	background: url(../images/foot/pagetop.svg) no-repeat 50%;
	-webkit-background-size: 30px;
	background-size: 30px;
}
body.init #pagetop a {
	-webkit-transition: -webkit-transform 0.5s ease-in-out;
	-o-transition: -o-transform 0.5s ease-in-out;
	transition: transform 0.5s ease-in-out;
}
#pagetop.show a {
	-webkit-transform: translateX(0);
	-ms-transform: translateX(0);
	-o-transform: translateX(0);
	transform: translateX(0);
}
@media print {
	#pagetop {
		display: none;
	}
}
@media screen and (min-width: 769px), print {
	body.init #pagetop a::before {
		-webkit-transition: -webkit-transform 0.5s ease-in-out;
		-o-transition: -o-transform 0.5s ease-in-out;
		transition: transform 0.2s ease-in-out;
	}
	#pagetop a:hover::before {
		-webkit-transform: translateY(-5px);
		-ms-transform: translateY(-5px);
		-o-transform: translateY(-5px);
		transform: translateY(-5px);
	}
}
@media screen and (max-width: 768px) {
	#pagetop {
		width: 50px;
		height: 50px;
	}
	#pagetop a {
		width: 50px;
		height: 50px;
		padding-top: 30px;
		font-size: 1.1rem;
	}
	#pagetop a::before {
		top: 8px;
		height: 20px;
		-webkit-background-size: 20px;
		background-size: 20px;
	}
}

/* logo
------------------------------------------------------------- */
#footer .logo {
	width: 340px;
}
#footer .logo a {
	display: inline-block;
	color: #000;
	font-size: 1.8rem;
	line-height: 1.3;
	font-weight: bold;
	text-decoration: none;
}
#footer .logo a span {
	display: block;
	margin-top: 10px;
}
#footer .logo .banner-skytrax {
	padding: 1em 0 0;
	display: inline-block;
	width: 306px;
}
@media screen and (max-width: 768px) {
	#footer .logo a {
		font-size: 1.5rem;
	}
	#footer .logo a img {
		width: 260px;
	}
	#footer .logo .banner-skytrax {
		padding: 1em 0 0;
		display: inline-block;
		width: 100%;
	}
	#footer .logo .banner-skytrax img {width: 100%}
}

/* nav
------------------------------------------------------------- */
@media screen and (min-width: 769px), print {
	#footer nav {
		padding-top: 25px;
	}
	#footer nav ul {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
	}
	#footer nav li {
		position: relative;
	}
	#footer nav li + li::before {
		content: "";
		position: absolute;
		left: 0;
		top: 4px;
		bottom: 4px;
		border-left: 1px solid #999;
	}
	#footer nav a {
		display: block;
		padding: 0 12px;
		color: #000;
		font-weight: bold;
		line-height: 1.5;
	}
	#footer nav .gnav a {
		font-size: 1.6rem;
	}
	#footer nav .hnav {
		position: absolute;
		right: 80px;
		bottom: 30px;
	}
	#footer nav .hnav a {
		font-size: 1.4rem;
		font-feature-settings: "palt";
	}
	/*2024.04.12追記*/
	#footer nav .gnav {align-items: center;;}
	#footer nav .gnav li.f_recruit a {padding: 0 23px;background-color: #0098b8;color: #FFF;height: 50px;line-height: 50px; display: flex;justify-content: center;align-items: center;}
	#footer nav .gnav li.f_airport a {padding: 0 23px;background-color: #293a45;color: #FFF;height: 50px;line-height: 50px;display: flex;justify-content: center;align-items: center;}
	#footer nav .gnav li.f_recruit:before {content: none;}
	#footer nav .gnav li.f_airport:before {content: none;}
}
@media screen and (max-width: 768px) {
	/*2024.04.12追記*/
	#footer nav .gnav {align-items: center;justify-content: space-between;}
	#footer nav .gnav li:nth-child(3) {width: 100%}
	#footer nav .gnav li.f_recruit {width: 49%;min-width: 49%;}
	#footer nav .gnav li.f_recruit a {padding: 0 5%;background-color: #0098b8;color: #FFF;height: 50px;line-height: 1.6; display: flex;justify-content: flex-start;align-items: center;}
	#footer nav .gnav li.f_airport {width: 49%;min-width: 49%;}
	#footer nav .gnav li.f_airport a {padding: 0 5%;background-color: #293a45;color: #FFF;height: 50px;line-height: 1.6;display: flex;justify-content: flex-start;align-items: center;}
	#footer nav .gnav li.f_recruit:before {content: none;}
	#footer nav .gnav li.f_airport:before {content: none;}

@media screen and (min-width: 769px) and (max-width: 1300px) {
	#footer nav .hnav {
		right: calc(100px + (100% - 100vw) / 2);
		bottom: 24px;
	}
}
@media screen and (max-width: 768px) {
	#footer nav {
		margin: 30px 0 10px;
	}
	#footer nav ul {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	#footer nav li {
		min-width: 50%;
	}
	#footer nav a {
		position: relative;
		display: block;
		padding: 8px 14px;
		color: #000;
		font-weight: bold;
		line-height: 1.5;
	}
	#footer nav a::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		margin-top: -4px;
		border-style: solid;
		border-width: 4px 0 4px 5px;
		border-color: transparent transparent transparent #0098b8;
	}
	#footer nav .gnav a {
		font-size: 1.4rem;
	}
	#footer nav .hnav {
		margin-top: 25px;
	}
	#footer nav .hnav a {
		font-size: 1.2rem;
	}
	#footer nav .gnav li.f_recruit a::before {position: absolute;top: 0;bottom: 0;left: inherit;margin: auto;content: "";vertical-align: middle;right: 3%;width: 6px;height: 6px;border-top: 2px solid #FFF;border-right: 2px solid #FFF;border-bottom:none;border-left:none;transform: rotate(45deg);}
	#footer nav .gnav li.f_airport a::before {position: absolute;top: 0;bottom: 0;left: inherit;margin: auto;content: "";vertical-align: middle;right: 3%;width: 6px;height: 6px;border-top: 2px solid #FFF;border-right: 2px solid #FFF;border-bottom:none;border-left:none;-webkit-transform: rotate(45deg);transform: rotate(45deg);}
}
}
footer.mw .w {padding: 0 80px 0 40px;}

/* copyright
------------------------------------------------------------- */
#footer small {
	display: block;
	width: 100%;
	margin-top: 56px;
	font-size: 1.4rem;
	line-height: 1.5;
}
@media screen and (min-width: 769px), print {
}
@media screen and (max-width: 768px) {
	#footer small {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-ms-align-items: center;
		align-items: center;
		height: 60px;
		margin-top: 0;
		font-size: 1rem;
	}
}


/* container
============================================================================================================ */
body {
	padding-top: 100px;
}
#container {
	position: relative;
	font-size: 1.8rem;
	line-height: 2;
}
#container::before,
#container::after {
	content: "";
	display: table;
	clear: both;
}
@media screen and (max-width: 768px) {
	body {
		padding-top: 60px;
	}
	#container {
		font-size: 1.5rem;
	}
}
@media screen and (max-width: 370px) {
	body {
		padding-top: 50px;
	}
}


/* ===================================================================================================================

	パーツ

=================================================================================================================== */

/* bg_img
============================================================================================================ */
.bg_img {
	position: relative;
	overflow: hidden;
	opacity: 0;
	z-index: -1;
}
.bg_img.cover {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
}
.bg_img.show {
	-webkit-transition: opacity 1s;
	-o-transition: opacity 1s;
	transition: opacity 1s;
	opacity: 1;
}
.bg_img > * {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	background-repeat: no-repeat;
	background-position: 50%;
	-webkit-background-size: cover;
	background-size: cover;
}
.bg_img.contain > * {
	-webkit-background-size: contain;
	background-size: contain;
}
.bg_img_gloup {
	opacity: 0;
}
.bg_img_gloup.show {
	-webkit-transition: opacity 1s;
	-o-transition: opacity 1s;
	transition: opacity 1s;
	opacity: 1;
}
.bg_img_gloup .bg_img {
	opacity: 1;
}
.bg_img ~ * {
	position: relative;
	z-index: 2;
}

.lz_img {
	opacity: 0;
}
.lz_img.show {
	-webkit-transition: opacity 1s;
	-o-transition: opacity 1s;
	transition: opacity 1s;
	opacity: 1;
}
.lz_img img {
	position: relative;
	max-width: 100%;
}
@media screen and (min-width: 769px) {
	.ua_pc .bg_img.fixed > * {
		background-attachment: fixed;
	}
	.ua_pc.ua_ie .bg_img.fixed > * {
		background-attachment: scroll;
	}
}

/* bg_gray
============================================================================================================ */
.bg_gray {
	background-color: #f2f2f2;
}

/* pd_block
============================================================================================================ */
.pd_block {
	padding: 80px 0;
}
@media screen and (max-width: 768px) {
	.pd_block {
		padding: 40px 0;
	}
}


/* page_title
============================================================================================================ */
.page_title {
	overflow: hidden;
	position: relative;
	background-color: #0098b8;
	text-align: center;
	color: #fff;
	line-height: 1.5;
}
.page_title::before {
	content: "";
	position: absolute;
	top: -22px;
	right: 0;
	width: 244px;
	height: 244px;
	background: url(../images/parts/logo_mark.svg) no-repeat 50%;
	-webkit-background-size: 100%;
	background-size: 100%;
	opacity: .1;
}
.page_title > * {
	position: relative;
	z-index: 2;
}
.page_title .ff_roboto {
	margin-bottom: 5px;
	font-size: 5.6rem;
	letter-spacing: .03em;
}
.page_title h1 {
	font-size: 2.2rem;
	letter-spacing: .05em;
}
@media screen and (min-width: 769px), print {
	.page_title {
		height: 200px;
		padding-top: 35px;
	}
	html[lang=en] .page_title {
		padding-top: 55px;
	}
}
@media screen and (max-width: 768px) {
	.page_title {
		padding: 10px 0 12px;
	}
	html[lang=en] .page_title {
		padding: 20px 0 22px;
	}
	.page_title::before {
		top: -5px;
		right: -15px;
		width: 100px;
		height: 100px;
	}
	.page_title .ff_roboto {
		margin-bottom: 0;
		font-size: 2.3rem;
	}
	.page_title h1 {
		font-size: 1.5rem;
	}
}


/* page_container
============================================================================================================ */
.page_container {
	position: relative;
	padding: 360px 40px 100px;
}
.page_container::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 440px;
	background-repeat: no-repeat;
	background-position: 50%;
	-webkit-background-size: cover;
	background-size: cover;
}
.page_container > * {
	position: relative;
	max-width: 1300px;
	margin: auto;
	background-color: #fff;
	z-index: 2;
}
.page-vision .page_container::before {
	background-position: 50% 100%;
}
/*.page-airports .page_container {
	padding-top: 920px;
}
.page-airports .page_container::before {
	height: 1000px;
	background-color: #f2f2f2;
}*/
@media screen and (min-width: 769px), print {
	.page-company .page_container::before {
		background-image: url(../../images/title_company.jpg);
	}
	.page-vision .page_container::before {
		background-image: url(../../images/title_vision.jpg);
	}
	html[lang=en] .page-vision .page_container::before {
		background-image: url(../../images/title_vision_en.jpg);
	}
	.page-organization .page_container::before {
		background-image: url(../../images/title_organization.jpg);
	}
	.page-logo .page_container::before {
		background-image: url(../../images/title_logo.jpg);
	}
	.page-masterplan .page_container::before {
		background-image: url(../../images/title_masterplan.jpg);
	}
	.page-airports .page_container::before {
		background-image: url(../../images/title_airports.jpg);
		background-size: cover;
		background-position: center center;
	}
	.page-recruit .page_container::before {
		background-image: url(../../images/title_recruit.jpg);
	}
	.page-management .page_container::before {
		background-image: url(../../images/title_management.jpg);
	}
	.page-public_notice .page_container::before,
	.page-financial_information .page_container::before {
		background-image: url(../../images/title_financial_information.jpg);
	}
	.page-monitoring .page_container::before {
		background-image: url(../../images/title_monitoring.jpg);
	}
	.page-investigation_report .page_container::before {
		background-image: url(../../images/title_investigation_report.jpg);
	}
	.page-airport_operation .page_container::before {
		background-image: url(../../images/title_airport_operation.jpg);
	}
	.page-accessibility_efforts .page_container::before {
		background-image: url(../../images/title_accessibility_efforts.jpg);
	}
	.page-safety .page_container::before {
		background-image: url(../../images/title_safety.jpg);
	}
	.page-environment .page_container::before {
		background-image: url(../../images/title_environment.jpg);
	}
	.page-kyousei_kankyo .page_container::before {
		background-image: url(../../images/title_kyousei_kankyo.jpg);
	}
	.page-news .page_container::before {
		background-image: url(../../images/title_news.jpg);
	}
	.page-press .page_container::before {
		background-image: url(../../images/title_press.jpg);
	}
	.page-business_continuity_plan .page_container::before {
		background-image: url(../../images/title_business_continuity_plan.jpg);
	}
	.page-local_community .page_container::before {
		background-image: url(../../images/title_local_community.jpg);
	}
}
@media screen and (max-width: 768px) {
	.page_container {
		padding: 134px 0 70px;
	}
	.page_container::before {
		height: 200px;
	}
	.page_container > * {
	}
	.page-company .page_container::before {
		background-image: url(../../images/title_company_sp.jpg);
	}
	.page-vision .page_container::before {
		background-image: url(../../images/title_vision_sp.jpg);
	}
	html[lang=en] .page-vision .page_container::before {
		background-image: url(../../images/title_vision_sp_en.jpg);
	}
	.page-organization .page_container::before {
		background-image: url(../../images/title_organization_sp.jpg);
	}
	.page-logo .page_container::before {
		background-image: url(../../images/title_logo_sp.jpg);
	}
	.page-masterplan .page_container::before {
		background-image: url(../../images/title_masterplan_sp.jpg);
	}
	.page-airports .page_container::before {
		background-image: url(../../images/title_airports_sp.jpg);
	}
	.page-recruit .page_container::before {
		background-image: url(../../images/title_recruit_sp.jpg);
	}
	.page-management .page_container::before {
		background-image: url(../../images/title_management_sp.jpg);
	}
	.page-public_notice .page_container::before,
	.page-financial_information .page_container::before {
		background-image: url(../../images/title_financial_information_sp.jpg);
	}
	.page-monitoring .page_container::before {
		background-image: url(../../images/title_monitoring_sp.jpg);
	}
	.page-investigation_report .page_container::before {
		background-image: url(../../images/title_investigation_report_sp.jpg);
	}
	.page-airport_operation .page_container::before {
		background-image: url(../../images/title_airport_operation_sp.jpg);
	}
	.page-accessibility_efforts .page_container::before {
		background-image: url(../../images/title_accessibility_efforts_sp.jpg);
	}
	.page-safety .page_container::before {
		background-image: url(../../images/title_safety_sp.jpg);
	}
	.page-environment .page_container::before {
		background-image: url(../../images/title_environment_sp.jpg);
	}
	.page-kyousei_kankyo .page_container::before {
		background-image: url(../../images/title_kyousei_kankyo_sp.jpg);
	}
	.page-news .page_container::before {
		background-image: url(../../images/title_news_sp.jpg);
	}
	.page-press .page_container::before {
		background-image: url(../../images/title_press_sp.jpg);
	}
	.page-business_continuity_plan .page_container::before {
		background-image: url(../../images/title_business_continuity_plan_sp.jpg);
	}
	.page-local_community .page_container::before {
		background-image: url(../../images/title_local_community_sp.jpg);
	}
}

/* page_container_simple
============================================================================================================ */
.page_container_simple {
	padding-bottom: 100px;
}
@media screen and (max-width: 768px) {
	.page_container_simple {
		padding-bottom: 70px;
	}
}


/* breadcrumbs
============================================================================================================ */
.breadcrumbs {
	padding: 30px 0;
	font-size: 1.6rem;
	line-height: 1.3;
}
.breadcrumbs ol {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.breadcrumbs li {
	position: relative;
	display: inline;
	padding-right: 24px;
}
.breadcrumbs ol li::after {
	content: "";
	position: absolute;
	right: 12px;
	top: 50%;
	width: 8px;
	height: 8px;
	margin-top: -5px;
	border-top: 1px solid #050514;
	border-right: 1px solid #050514;
	-webkit-transform: scaleX(.8) rotate(45deg);
	-ms-transform: scaleX(.8) rotate(45deg);
	-o-transform: scaleX(.8) rotate(45deg);
	transform: scaleX(.8) rotate(45deg);
}
.breadcrumbs ol li:last-child {
	padding-right: 0;
}
.breadcrumbs ol li:last-child::after {
	content: none;
}
.breadcrumbs ol li:last-child a {
	color: #050514;
	text-decoration: none;
}

.page_container_simple .breadcrumbs {
	margin-bottom: 90px;
	padding: 15px 0;
}

@media screen and (min-width: 769px), print {
}
@media screen and (max-width: 768px) {
	.breadcrumbs {
		padding: 12px 15px;
		font-size: 1.1rem;
	}
	.breadcrumbs li {
		padding-right: 18px;
	}
	.breadcrumbs ol li::after {
		right: 7px;
		margin-top: -4px;
	}
	.page_container_simple .breadcrumbs {
		margin-bottom: 30px;
		padding: 10px 0;
	}
}


/* title
============================================================================================================ */
/* en_title */
.en_title {
	margin-bottom: 110px;
	font-size: 1.8rem;
	line-height: 1.5;
	text-align: center;
}
.en_title .ff_roboto {
	font-size: 4.6rem;
	color: #000;
}
@media screen and (max-width: 768px) {
	.en_title {
		margin-bottom: 55px;
		font-size: 1.2rem;
	}
	.en_title .ff_roboto {
		font-size: 2.4rem;
	}
	.page-airports .en_title {
		margin-bottom: 3rem;
	}
}

/* line_title */
.line_title {
	margin-bottom: 40px;
	padding-bottom: 10px;
	border-bottom: 1px solid #0098b8;
	font-size: 3rem;
	line-height: 1.5;
}
@media screen and (max-width: 768px) {
	.line_title {
		margin-bottom: 20px;
		font-size: 2rem;
	}
}

/* copy_text */
.copy_text {
	margin-bottom: 80px;
	font-size: 4rem;
	line-height: 1.4;
	text-align: center;
	font-weight: bold;
	color: #000;
}
.copy_text span {
	display: block;
}
.copy_text .c_theme {
	font-size: 6.1rem;
}
@media screen and (max-width: 768px) {
	.copy_text {
		margin-bottom: 40px;
		font-size: 2.4rem;
	}
	.copy_text .c_theme {
		font-size: 2.8rem;
	}
	.en_title + .copy_text {
		margin-top: -15px;
	}
}

/* lead_text */
.lead_text {
	margin-bottom: 110px;
	font-size: 2.2rem;
	line-height: 2.36;
	text-align: center;
	font-weight: bold;
	color: #000;
}
@media screen and (max-width: 768px) {
	.lead_text {
		margin-bottom: 55px;
		font-size: 1.5rem;
		line-height: 1.9;
	}
	.lead_text.sp_tal {
		text-align: left;
	}
}


/* column_block
============================================================================================================ */
.column_block {
}
@media screen and (min-width: 769px), print {
	.column_block .column_main {
		float: left;
		width: 835px;
	}
	.column_block .column_side {
		float: right;
		width: 180px;
	}
}
@media screen and (max-width: 768px) {
	.column_block .column_side {
		margin-top: 50px;
	}
}


/* basic_table
============================================================================================================ */
.basic_table {
	width: 100%;
	line-height: 1.6;
}
.basic_table th,
.basic_table td {
	padding: 1.5em 0;
	border-top: 1px solid #0098b8;
	vertical-align: top;
}
.basic_table td .txt_s {font-size: 1.8rem;}
.basic_table tr:first-child th,
.basic_table tr:first-child td {
	padding-top: 0;
	border-top: 0;
}
.basic_table tr:last-child th,
.basic_table tr:last-child td {
	padding-bottom: 0;
}
.basic_table th {
	width: 7em;
	width: 10em;
}
.basic_table tr.one_col {
	display: block;
	width: 100%;
}
@media screen and (min-width: 769px), print {
	.basic_table {
		font-size: 2rem;
	}
	html[lang=en] .basic_table th {
		width: 11em;
	}
}
@media screen and (max-width: 768px) {
	.basic_table {
		font-size: 1.5rem;
	}
	.basic_table th {
		width: 9em;
	}
	html[lang=en] .basic_table th {
		width: 7em;
	}
	.basic_table td .txt_s {font-size: 1.4rem;}
}



/* basic_section
============================================================================================================ */
.basic_section {
	margin-bottom: 70px;
}
.basic_section > * + * {
	margin-bottom: 1.6em;
}
@media screen and (max-width: 768px) {
	.basic_section {
		margin-bottom: 40px;
	}
}


/* box_btn
============================================================================================================ */
button.box_btn,
a.box_btn,
a .box_btn {
	position: relative;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-ms-align-items: center;
	align-items: center;
	justify-content: center;
	max-width: 100%;
	width: 260px;
	height: 50px;
	margin: auto;
	background-color: #007E99;
	border-radius: 100px;
	text-decoration: none;
	text-align: center;
	color: #fff;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.5;
}
button.box_btn {
	display: inline-block;
}
.box_btn.black {
	background-color: #323c46;
}
.box_btn .arrow {
	position: absolute;
	bottom: 50%;
	right: 20px;
}
.box_btn .arrow::before {
	content: "";
	position: absolute;
	bottom: 50%;
	right: 10px;
	width: 12px;
	border-top: 1px solid #fff;
}
.box_btn .arrow::after {
	content: "";
	position: absolute;
	bottom: 50%;
	right: 0;
	border-style: solid;
	border-width: 10px 0 0 10px;
	border-color: transparent transparent transparent #fff;
	-webkit-transform-origin: 0 100%;
	-moz-transform-origin: 0 100%;
	-ms-transform-origin: 0 100%;
	-o-transform-origin: 0 100%;
	transform-origin: 0 100%;
	-webkit-transform: scaleY(.5);
	-ms-transform: scaleY(.5);
	-o-transform: scaleY(.5);
	transform: scaleY(.5);
}
@media screen and (min-width: 769px), print {
	body.init .box_btn .arrow {
		-webkit-transition: -webkit-transform 0.2s ease-in-out;
		-o-transition: -o-transform 0.2s ease-in-out;
		transition: transform 0.2s ease-in-out;
	}
	.box_btn[href]:hover .arrow {
		-webkit-transform: translateX(5px);
		-ms-transform: translateX(5px);
		-o-transform: translateX(5px);
		transform: translateX(5px);
	}
}
@media screen and (max-width: 768px) {
	button.box_btn,
	a.box_btn,
	a .box_btn {
		height: 45px;
		font-size: 1.4rem;
	}
}

/* ul / ol
============================================================================================================ */
.dot_li > li {
	position: relative;
	padding-left: 1em;
}
.dot_li > li::before {
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
}

.circle_li > li {
	position: relative;
	padding-left: 1.2em;
}
.circle_li > li::before {
	content: "";
	position: absolute;
	top: 0.6em;
	left: 0;
	width: 8px;
	height: 8px;
	border-radius: 100%;
	background-color: #000;
}

.parentheses_li > li {
	position: relative;
	padding-left: 2.8em;
}
.parentheses_li > li > span:first-child {
	position: absolute;
	top: 0;
	left: 0;
}

.parentheses_li_h > li {
	position: relative;
	padding-left: 1.6em;
}
.parentheses_li_h > li > span:first-child {
	position: absolute;
	top: 0;
	left: 0;
}
.parentheses_li_hh > li {
	position: relative;
	padding-left: 2.2em;
}
.parentheses_li_hh > li > span:first-child {
	position: absolute;
	top: 0;
	left: 0;
}

.point_li > li {
	position: relative;
	padding-left: 1.2em;
}
.point_li > li > span:first-child {
	position: absolute;
	top: 0;
	left: 0;
}

.square_li > li {
	position: relative;
	padding-left: 0.8em;
}
.square_li > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .8em;
	width: 5px;
	height: 5px;
	background-color: #14143c;
}
@media screen and (max-width: 768px) {
	.square_li > li::before {
		top: 0.6em;
	}
}

.num_li {
	margin-left: 1.2em;
	list-style: decimal;
}
.alphabet_li {
	margin-left: 1.8em;
	list-style: lower-latin;
}

.mt_li > li + li {
	margin-top: 1.6em;
}
@media screen and (max-width: 768px) {
	.sp_mt_li > li + li {
		margin-top: 0.8em;
	}
}
.mt_ul {
	margin-top: 1.6em;
}
@media screen and (max-width: 768px) {
	.mt_ul {
		margin-top: 0.8em;
	}
}

.inline_li > li {
	display: inline-block;
	margin-right: 0.3em;
}

.info_dl dt {
	float: left;
}
.info_dl dd {
	margin-left: 3.5em;
}


/* .wp-pagenavi
============================================================================================================ */
.wp-pagenavi {
	position: relative;
	margin-top: 60px;
	font-size: 1.6rem;
	text-align: center;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
  flex-wrap: wrap;
	justify-content: center;
	color: #595757;
	font-weight: bold;
	font-family:  Helvetica, Arial, "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", sans-serif;
}
.wp-pagenavi > *,
.wp-pagenavi > a[href] {
	position: relative;
	display: block;
	min-width: 34px;
	height: 34px;
	color: #595757;
	text-decoration: none;
  white-space: nowrap;
  padding-inline: 0.5em;
}
.wp-pagenavi a.first,.wp-pagenavi a.last {
	width: auto;
}
.wp-pagenavi .current {
	color: #007E99;
}
.wp-pagenavi .previouspostslink {
	margin-right: 1em;
}
.wp-pagenavi .nextpostslink {
	margin-left: 1em;
}
@media screen and (min-width: 769px), print {
	.wp-pagenavi a:hover {
		color: #007E99;
	}
}
@media screen and (max-width: 768px) {
	.wp-pagenavi {
		margin-top: 40px;
		font-size: 1.2rem;
	}
	.wp-pagenavi > *,
	.wp-pagenavi > a[href] {
		min-width: 24px;
		height: 30px;
	}
	.wp-pagenavi a.first,.wp-pagenavi a.last {
		width: auto;padding: 3px 3px;
	}
	.wp-pagenavi .previouspostslink {
		margin-right: 0.2em;
	}
	.wp-pagenavi .nextpostslink {
		margin-left: 0.2em;
	}
}



/* .comingsoon
============================================================================================================ */
.comingsoon {
	margin: 230px 0 170px;
	text-align: center;
	font-size: 2.2rem;
}
@media screen and (max-width: 768px) {
	.comingsoon {
		margin: 90px 0 70px;
		font-size: 1.5rem;
	}
}



/* ===================================================================================================================

	企業情報

=================================================================================================================== */
.officer_list {
	display: table;
}
.officer_list > * {
	display: table-row;
}
.officer_list > * > * {
	display: table-cell;
	vertical-align: top;
}
.officer_list dt {
	white-space: nowrap;
	padding-right: 3em;
}
.access_map {margin: 40px 0 0;
    display: inline-block;
    position: relative;}
.access_map img {width: 64%;height: auto;display: block;margin: 0 auto;}
.access_map figcaption {font-size: 1.6rem;padding: 40px 0 0 0;text-align: center;}
.company_tb {width: 700px;margin-top: 1.5em;}
.company_tb tr {}
.company_tb tr th{}
.company_tb tr td{padding: 0.5em 1.0em!important;text-align: center;vertical-align: middle;border: solid 1px #231815;line-height: 1.6;}
.company_tb tr td:first-child {text-align: left;}
.company_tb tr:first-child td {border-top: solid 1px #231815;}
.company_tb_rem {font-size: 1.6rem;text-align: right;width: 700px;}

@media screen and (max-width: 768px) {
	.officer_list dt {
		padding-right: 1em;
	}
	html[lang=en] .officer_list,
	html[lang=en] .officer_list > *,
	html[lang=en] .officer_list > * > * {
		display: block;
	}
	html[lang=en] .officer_list dl + dl {
		margin-top: .5em;
	}
	html[lang=en] .officer_list dt {
		white-space: normal;
		padding-right: 0;
	}
	html[lang=en] .officer_list dd {
		padding-left: 1em;
	}
	.access_map {margin: 2rem 0 0 -6em;margin-left: 0%;transform: translate(0%, 0px);}
	.access_map img {margin-left: 0px;width: 100%;height: auto;}
	.access_map figcaption {font-size: 1.3rem;padding: 2rem 0 0 0px;text-align: left;}
	.rem {font-size: 1.3rem;display: block;}
	
	.company_tb {width: 100%;margin-top: 1.5em;font-size: 1.5rem;}
	.company_tb tbody {width: 100%;}
	.company_tb tr {}
	.company_tb tr:first-child td {border-top: solid 1px #231815;}
	.company_tb tr th{}
	.company_tb tr td{padding: 0.5em 1.0em!important;text-align: center;vertical-align: middle;border: solid 1px #231815;line-height: 1.6;}
	.company_tb tr td:first-child {text-align: center;}
	.company_tb_rem {font-size: 1.3rem;text-align: right;width: 100%;}
}


/* ===================================================================================================================

	ビジョン

=================================================================================================================== */
.vision_section section {
	position: relative;
	margin-top: 150px;
}
.vision_section section .num {
	position: absolute;
	top: -0.6em;
	font-size: 5.8rem;
	line-height: 1.2;
	border-bottom: 2px solid #000;
}
.vision_section section h1 {
	position: relative;
	padding: 35px 40px;
	color: #fff;
	font-size: 3.4rem;
	line-height: 1.4;
	z-index: 2;
}
.vision_section section > div {
	background-color: #f2f2f2;
}
.vision_section section dt {
	position: relative;
	display: inline-block;
	margin-bottom: 20px;
	padding-left: 65px;
	font-size: 3rem;
	line-height: 1.5;
	font-weight: bold;
}
.vision_section section dt::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 50px;
	height: 50px;
	margin-top: -25px;
	background-color: #fff;
	background-position: 50%;
	background-repeat: no-repeat;
	-webkit-background-size: 100%;
	background-size: 100%;
	border-radius: 100%;
}
.vision_section section dt .c {
	margin-right: .1em;
	font-size: 4rem;
	letter-spacing: 0.1em;
}
.vision_section .vision01 h1 {
	background-color: #0098b8;
}
.vision_section .vision01 dt::before {
	background-image: url(../../images/vision/ico01.png);
}
.vision_section .vision01 dt .c {
	color: #0098b8;
}
.vision_section .vision02 h1 {
	background-color: #0098d5;
}
.vision_section .vision02 dt::before {
	background-image: url(../../images/vision/ico02.png);
}
.vision_section .vision02 dt .c {
	color: #028cc3;
}
.vision_section .vision03 h1 {
	background-color: #03a0a6;
}
.vision_section .vision03 dt::before {
	background-image: url(../../images/vision/ico03.png);
}
.vision_section .vision03 dt .c {
	color: #02989e;
}

@media screen and (min-width: 769px), print {
	.vision_section {
		margin-bottom: 80px;
	}
	.vision_section section h1 {
		position: absolute;
		top: -20px;
		width: 360px;
		height: 100%;
	}
	.vision_section section > div {
		min-height: 300px;
		padding: 40px 40px 30px;
	}
	.vision_section section:nth-child(2n+1) .num {
		right: 40px;
	}
	.vision_section section:nth-child(2n+1) h1 {
		left: 0;
	}
	.vision_section section:nth-child(2n+1) > div {
		margin-left: 280px;
		padding-left: 140px;
	}
	.vision_section section:nth-child(2n) .num {
		left: 40px;
	}
	.vision_section section:nth-child(2n) h1 {
		right: 0;
	}
	.vision_section section:nth-child(2n) > div {
		margin-right: 280px;
		padding-right: 140px;
		text-align: right;
	}
	html[lang=en] .vision_section section:nth-child(2n) > div {
		text-align: left;
	}
	.page-vision .col2 {display: flex;justify-content: space-between;max-width: 1100px;margin: 0 auto 0;}
	.page-vision .col2 .col {width: 49.36%;}
	.page-vision .col2 .col .t {width: 100%;height: 50px;line-height: 50px;text-align: center;background-color: #42bbf6;color: #FFF;font-size: 3.0rem;font-weight: 700;margin-bottom: 1.0rem;}
	.page-vision .col2 .col .cont {padding-left: 1.25em;display: inline-block;position: relative;font-size: 2.2rem;font-weight: 500;margin-left: 50%;transform: translate(-50%,0);white-space: nowrap;}
	html[lang=en] .page-vision .col2 .col .cont {width: 80%; padding-left: 1.25em;display: inline-block;position: relative;font-size: 2.2rem;font-weight: 500;margin-left: 50%;transform: translate(-50%,0);white-space: normal;}
	.page-vision .col2 .col .cont:before {content: '▶';color:#3fa9f5;font-size: 2.2rem;position: absolute;left: 0;top:0; }
	.page-vision .vision2030_img {margin-bottom: 2.4rem;}
	.page-vision .vision2030_img img {}
	.page-vision .slogan {margin-bottom: 20rem;}
	.page-vision .slogan h2.ff_roboto {font-size: 4.2rem;font-weight: 700;color: #0098b8;line-height: 1;height: 3.5rem;vertical-align: bottom;}
	.page-vision .slogan figure {}
	.page-vision .slogan figure img {}
	.page-vision .aim {padding: 0 0 15.6rem;}
	.page-vision .aim h2 {width: 100%;box-sizing: border-box;padding: 0 0 5px;margin-bottom: 4.8rem;display: flex;justify-content: space-between;border-bottom: solid 1px #0098b8;line-height: 1.0;font-size: 2.6rem;font-weight: 700;}
	.page-vision .aim .col2 {display: flex;justify-content: space-between;}
	.page-vision .aim .col2 .ph {width: 400px;}
	.page-vision .aim .col2 .ph figure {}
	.page-vision .aim .col2 .ph figure img {width: 500px;height: auto;margin-left: -100px;}
	.page-vision .aim .col2 .txt_box {width: 630px;}
	.page-vision .aim .col2 .txt_box h3 {font-size: 2.4rem;font-weight: 700;margin-bottom: 4rem;}
	.page-vision .aim .col2 .txt_box .txt {}
	.page-vision .aim .col2 .txt_box .txt p {ont-size: 1.8rem;font-weight: 500;margin: 0;padding: 0;}
	.page-vision .vision_sec {background-color: #f2f2f2;padding: 0 0 14.4rem;}
	.page-vision .vision_sec h3 {font-size: 4.0rem;font-weight: 700;color: #0098b8;text-align: center; margin: 0 auto 4.4rem;padding: 0;line-height: 1.0;height: 40px; position: relative;}
	.page-vision .vision_sec h3 span {position: absolute;top:-20px;left: 50%;transform: translate(-50%,0);}
	.page-vision .vision_sec .tit {font-size: 2.4rem;font-weight: 700;text-align: center;margin: 0 auto 6.4rem}
	.page-vision .vision_sec p {font-size: 1.8rem;font-weight: 700;text-align: center;margin: 0 auto 11.2rem}
	.page-vision .vision_sec .vision_img {max-width: 1100px;}
	.page-vision .vision_sec .vision_img figure {}
	.page-vision .vision_sec .vision_img figure img {}
	.target_sec {padding:16rem 0 22.4rem }
	.target_sec .link_box {margin-bottom: 10rem;}
	.target_sec ul.bnr {padding: 0 1.6em;margin-bottom: 2em;display: flex;flex-wrap: wrap; justify-content: space-between;}
	.target_sec ul.bnr li {max-width: 500px;width: 48.5%; height: 54px;background-color:#293a45;margin-bottom: 0.8em;}
	.target_sec ul.report.bnr li:before {content: none;}
	.target_sec ul.report.bnr li a {width: 100%;height: 100%;box-sizing: border-box;padding: 0 1em; color: #FFF;display: flex;justify-content: center;align-items: center;text-decoration: none;}
	.target_sec ul.report.bnr li a.pdf_w {position: relative;width: 100%;height: 100%;}
	.target_sec ul.report.bnr li a.pdf_w:after {content: '';display: block;position: absolute;right: 2rem;bottom: calc(50% - 1.25rem);width: 2.2rem;height: 2.5rem;background-image: url(../../images/ico_pdf_w.png);background-position: center center;background-size: auto 100%;background-repeat: no-repeat;}
}
@media screen and (max-width: 768px) {
	.vision_section section {
		margin-top: 50px;
	}
	.vision_section section .num {
		font-size: 3.8rem;
	}
	.vision_section section h1 {
		margin-bottom: -30px;
		padding: 15px 20px;
		font-size: 2.4rem;
	}
	.vision_section section > div {
		position: relative;
		padding: 54px 20px 40px;
	}
	.vision_section section dt {
		margin-bottom: 10px;
		padding-left: 35px;
		font-size: 1.5rem;
	}
	.vision_section section dt::before {
		width: 30px;
		height: 30px;
		margin-top: -15px;
	}
	.vision_section section dt .c {
		font-size: 2.5rem;
	}
	.vision_section section:nth-child(2n+1) .num {
		right: 20px;
	}
	.vision_section section:nth-child(2n+1) h1 {
		margin-right: 85px;
	}
	.vision_section section:nth-child(2n+1) > div {
		margin-left: 10px;
	}
	.vision_section section:nth-child(2n) .num {
		left: 20px;
	}
	.vision_section section:nth-child(2n) h1 {
		margin-left: 85px;
	}
	.vision_section section:nth-child(2n) > div {
		margin-right: 10px;
	}
	.page-vision .col2 {display: flex;justify-content: space-between;max-width: 100%;margin: 0 auto 0;}
	.page-vision .col2 .col {width: 49.00%;}
	.page-vision .col2 .col .t {width: 100%;height: 40px;line-height: 40px;text-align: center;background-color: #42bbf6;color: #FFF;font-size: 1.5rem;font-weight: 700;margin-bottom: 1.0rem;}
	.page-vision .col2 .col .cont {padding-left: 1.25em;display: inline-block;position: relative;font-size: 1.4rem;font-weight: 500;margin-left: 0;transform: translate(0,0);margin-bottom: 2rem;}
	.page-vision .col2 .col .cont:before {content: '▶';color:#3fa9f5;font-size: 1.4rem;position: absolute;left: 0;top:0; }
	.page-vision .vision2030_img {margin-bottom: 2.4rem;}
	.page-vision .vision2030_img img {}
	.page-vision .slogan {margin-bottom: 10rem;}
	.page-vision .slogan h2.ff_roboto {font-size: 2.2rem;font-weight: 700;color: #0098b8;line-height: 1;height: 1.8rem;vertical-align: bottom;}
	.page-vision .aim {padding: 0 0 5rem;}
	.page-vision .aim h2 {width: 100%;box-sizing: border-box;padding: 0 0 5px;margin-bottom: 3.2rem;display: flex;justify-content: space-between;border-bottom: solid 1px #0098b8;line-height: 1.0;font-size: 1.9rem;font-weight: 700;}
	.page-vision .aim .col2 {display: block;}
	.page-vision .aim .col2 .ph {width: 100%;}
	.page-vision .aim .col2 .ph figure {}
	.page-vision .aim .col2 .ph figure img {width: 100%;height: auto;margin: 0 auto 2rem;}
	.page-vision .aim .col2 .txt_box {width: 100%;}
	.page-vision .aim .col2 .txt_box h3 {font-size: 1.8rem;font-weight: 700;margin-bottom: 2rem;text-align: center;}
	.page-vision .aim .col2 .txt_box .txt {}
	.page-vision .aim .col2 .txt_box .txt p {font-size: 1.5rem;font-weight: 500;margin: 0;padding: 0;}
	.page-vision .vision_sec {background-color: #f2f2f2;padding: 0 0 7.2rem;}
	.page-vision .vision_sec h3 {font-size: 2.6rem;font-weight: 700;color: #0098b8;text-align: center; margin: 0 auto 2rem;padding: 0;line-height: 1.0;height: 40px; position: relative;}
	.page-vision .vision_sec h3 span {position: absolute;top:-1.3rem;left: 50%;transform: translate(-50%,0);white-space: nowrap;}
	.page-vision .vision_sec .tit {font-size: 1.6rem;font-weight: 700;text-align: center;margin: 0 auto 3.2rem}
	.page-vision .vision_sec p {font-size: 1.6rem;font-weight: 500;text-align: center;margin: 0 auto 4.8rem}
	.page-vision .vision_sec .vision_img {max-width: 100%;}
	.page-vision .vision_sec .vision_img figure {}
	.page-vision .vision_sec .vision_img figure img {}
	.page-vision .vision_sec .vision_txt {width: 84%;margin: 2rem auto 0;border-top: solid 1px #0098b8;}
	.page-vision .vision_sec .vision_txt .col {padding: 2.0rem 0 2.7rem;border-bottom: solid 1px #0098b8;text-align: center;}
	.page-vision .vision_sec .vision_txt .col .num {width: auto;height: 2.5rem;margin-bottom: 1.6rem;}
	.page-vision .vision_sec .vision_txt .col .num img {width: auto;height: 100%;}
	.page-vision .vision_sec .vision_txt .col .tit {font-size: 1.5rem;font-weight: 700;text-align: center;margin: 0 auto 1.6rem}
	.page-vision .vision_sec .vision_txt .col .com {font-size: 1.5rem;font-weight: 700;text-align: center;color:#0098b8;}
	.target_sec {padding:6rem 2.0rem 10rem }	
	.target_sec .link_box {margin-bottom: 5rem;width: 100%;height: 40px;}
	.target_sec ul.bnr {padding: 0 0;margin-bottom: 4em;display:block;}
	.target_sec ul.bnr li {max-width: 500px;width: 100%; height: 40px;background-color:#293a45;margin-bottom: 0.8em;}
	.target_sec ul.report.bnr li:before {content: none;}
	.target_sec ul.report.bnr li a {width: 100%;height: 100%;box-sizing: border-box;padding: 0 1em; color: #FFF;display: flex;justify-content: flex-start;align-items: center;text-decoration: none;}
	.target_sec ul.report.bnr li a.pdf_w {position: relative;width: 100%;height: 100%;}
	.target_sec ul.report.bnr li a.pdf_w:after {content: '';display: block;position: absolute;right: 2rem;bottom: calc(50% - 1.25rem);width: 2.2rem;height: 2.5rem;background-image: url(../../images/ico_pdf_w.png);background-position: center center;background-size: auto 100%;background-repeat: no-repeat;}
}


/* ===================================================================================================================

	組織図

=================================================================================================================== */
.organization_img {
	text-align: center;
}
@media screen and (min-width: 769px), print {
	.organization_img {
		margin: 0 -80px 100px;
	}
}


/* ===================================================================================================================

	目指すもの

=================================================================================================================== */

.masterplan_youtube_box {
	margin-top:0px;
}
.masterplan_youtube {
	position: relative;
	padding-top: 27.5%;
	height: 0;
}
.masterplan_youtube iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
@media screen and (min-width: 769px), print {
	.masterplan_youtube_box {
		display: flex;
		justify-content:space-between;
	}
	.masterplan_youtube {
		width:49%;
	}
}
@media screen and (max-width: 768px) {
	.masterplan_youtube_box {
		margin-top:-20px;
	}
	.masterplan_youtube {
		padding-top: 56.25%;
	}
	.masterplan_youtube + .masterplan_youtube {
		margin-top: 20px;
	}
}

.masterplan_btn {
	margin: 60px 0;
	text-align: center;
}
.masterplan_btn dt {
	margin-bottom: 10px;
	font-size: 1.6rem;
}
@media screen and (min-width: 769px), print {
}
@media screen and (max-width: 768px) {
	.masterplan_btn {
		margin: 40px 0 30px;
	}
	.masterplan_btn dt {
		font-size: 1.4rem;
	}
}


/* ===================================================================================================================

	コーポレートロゴ

=================================================================================================================== */
.logo_section {
}
.logo_section figure {
	margin: 140px 0 170px;
	text-align: center;
}
.logo_section figure figcaption {
	margin-top: 10px;
	font-size: 1.4rem;
}
.logo_section dl {
	border-top: 1px solid #e6e6e6;
}
.logo_section dt {
	text-align: center;
	font-size: 1.4rem;
}
.logo_section dt span {
	display: block;
	margin-top: 25px;
}
.logo_section dt .blue {
	width: 80px;
	height: 80px;
	margin: auto;
}
.logo_section dd {
	font-weight: bold;
	font-size: 2.2rem;
	line-height: 2.3;
}
@media screen and (min-width: 769px), print {
	.logo_section {
		padding-bottom: 100px;
	}
	.logo_section dl {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-ms-align-items: center;
		align-items: center;
		justify-content: space-between;
		padding: 40px 0;
	}
	.logo_section dl:last-child {
		border-bottom: 1px solid #e6e6e6;
	}
	.logo_section dt {
		width: 18%;
	}
	.logo_section dd {
		width: 82%;
		padding: 10px 0 10px 50px;
		border-left: 1px solid #e6e6e6;
	}
}
@media screen and (min-width: 1220px) {
	.logo_section dt {
		width: 22%;
	}
	.logo_section dd {
		width: 78%;
		padding-left: 60px;
	}
}
@media screen and (max-width: 768px) {
	.logo_section figure {
		margin: 60px 0;
	}
	.logo_section figure figcaption {
		font-size: 1.1rem;
	}
	.logo_section dl {
		padding: 35px 0;
	}
	.logo_section dt {
		font-size: 1.1rem;
		line-height: 1.6;
	}
	.logo_section dt span {
		margin-top: 15px;
	}
	.logo_section dt img {
		width: 50px;
	}
	.logo_section dt .blue {
		width: 40px;
		height: 40px;
	}
	.logo_section dd {
		margin-top: 30px;
		font-size: 1.5rem;
		line-height: 1.7;
	}
}


/* ===================================================================================================================

	運営空港

=================================================================================================================== */
.page-airports .page_container {overflow: hidden;}
.airport_map {width: 100%;height: 700px; padding: 96px 0 56px;background-color: #f2f2f2;position: relative;margin: 0 auto 128px;}
.airport_map:before {content: '';width: 200%;height: 100%;position: absolute;left: -50%;top:0;background-color: #f2f2f2;z-index: -1;}
.airport_map .in {max-width: 1180px;margin: 0 auto;padding: 0 40px;position: relative;background-image:url("../../images/company/airport_map_bk.png");background-size: 792.4177px auto;background-repeat: no-repeat;background-position: right 40px top 0;overflow: visible;}
.airport_map .in .r_box {width: 793px;height:533px;margin: 0 0 0 auto;position:relative;}
.airport_map .in:before {content: '';width: 256px;height: 250px;background-image:url("../../images/company/map_side_ico.png");background-repeat: no-repeat;background-size:256px auto;background-position: center;position: absolute;left: 0;top:-40px;}

.airports_nav {position: absolute;left: 50%;}
.airports_nav a {position: absolute;color: #000;font-size: 1.8rem;line-height: 1.4;white-space: nowrap;font-weight: 700;}
.airports_nav a span {font-size: 1.7rem;font-weight: 500; line-height: 1.4;letter-spacing: 0.05em; display: block;width: 100px;box-sizing: border-box;padding: 0 8px;background-color: #323c46;color: #FFF;position: relative;}
.airports_nav a span::before{position: absolute;top: 0;bottom: 0;right: 8px;margin: auto;content: "";vertical-align: middle;width: 6px;height: 6px;border-top: 2px solid #FFF;border-right: 2px solid #FFF;-webkit-transform: rotate(135deg);transform: rotate(135deg);}
@media screen and (min-width: 769px), print {
	.airports_nav {
		top: -8px;
	}
	.airports_nav .chitose a {
		top: 258px;
		right: 350px;
	}
	.airports_nav .wakkanai a {
		top: 0px;
		left: -70px;
	}
	.airports_nav .kushiro a {
		top: 357px;
		left: 90px;
	}
	.airports_nav .hakodate a {
		top: 373px;
		right: 375px;
	}
	.airports_nav .asahikawa a {
		top: 155px;
		right: 280px;
	}
	.airports_nav .obihiro a {
		top: 442px;
		left: 90px;
	}
	.airports_nav .memanbetsu a {
		top: 173px;
		left: 90px;
	}
}


.airports_section {
}
.airports_section section header {
}
.airports_section section header {
	position: relative;
	overflow: hidden;
	border-radius: 4px;
	height: 150px;
}
.airports_section section header .in {
	position: relative;
	display: block;
	color: #fff;
	text-decoration: none;
	z-index: 2;
}
.airports_section section header .in {
	position: absolute;
	right: 0;
	left: 0;
	bottom: 15px;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
	-ms-align-items: center;
	align-items: center;
	padding: 2px 50px 2px 15px;
	background-color: #323c46;
	z-index: 2;
}
.airports_section section header a {width: 100%;height: 100%; display: block; text-decoration: none;color: #FFF;}
.airports_section section header a > div {position: absolute;
    right: 0;
    left: 0;
    bottom: 15px;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
    -ms-align-items: center;
    align-items: center;
    padding: 2px 50px 2px 15px;
    background-color: #323c46;
    z-index: 2;}
.airports_section section header .ff_roboto {
	font-size: 3.3rem;
	line-height: 1.3;
}
.airports_section section header .ff_roboto span {
	font-weight: 300;
}
.airports_section section header h1 {
	position: relative;
	font-size: 1.8rem;
}
.airports_section section .info {
	padding: 20px 0 20px 25px;
	font-size: 1.6rem;
}
.airports_section section .info .info_head {display: flex;justify-content: space-between;position: relative;}
.airports_section section .info .info_head p {display: inline-block;white-space: nowrap;}
.airports_section section .info .info_head .link_b {display: inline-block;white-space: nowrap;}
.airports_section section .info .info_head .link_b a {background-color:#0098B8;padding: 5px 5px 5px 10px;margin-left: 5px;text-decoration: none;}
.airports_section section .info .info_head .link_b a span {color: #FFF;font-size:1.6rem;font-weight: 700;padding: 0 40px 0 0;position: relative; }
.airports_section section .info .info_head .link_b a span::before {
	content: "";
	position: absolute;
	bottom: 48%;
	right: 15px;
	width: 12px;
	border-top: 1px solid #fff;
}
.airports_section section .info .info_head .link_b a span::after {
	content: "";
	position: absolute;
	bottom: 48%;
	right: 5px;
	border-style: solid;
	border-width: 10px 0 0 10px;
	border-color: transparent transparent transparent #fff;
	-webkit-transform-origin: 0 100%;
	-moz-transform-origin: 0 100%;
	-ms-transform-origin: 0 100%;
	-o-transform-origin: 0 100%;
	transform-origin: 0 100%;
	-webkit-transform: scaleY(.5);
	-ms-transform: scaleY(.5);
	-o-transform: scaleY(.5);
	transform: scaleY(.5);
}
.link_b.one_col {position: absolute;right: 0px;bottom: -33px;}
.link_b.one_col a {width: 100%;}
.airports_section section .info p {
	margin-bottom: 3px;
}
.airports_section section .info dl {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
}
.airports_section section .info dt {
	min-width: 3.5em;
}
.airports_section section .info dt.l2 {
	letter-spacing: 2em;
	margin-right: -2em;
}
.airports_section section .info dt.l3 {
	letter-spacing: .5em;
	margin-right: -.5em;
}
.airports_section section .info dd {
	position: relative;
	margin-left: 0.8em;
	padding-left: 0.8em;
}
.airports_section section .info dd::before {
	content: "/";
	position: absolute;
	top: 0;
	left: 0;
}
@media screen and (min-width: 769px), print {
	.airports_section {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.airports_section section {
		width: calc(50% - 10px);
		margin-bottom: 50px;
	}
	.airports_section section header a:hover {
		background-color: rgba(255,255,255,.3);
	}
}
@media screen and (min-width: 1200px) {
	.airports_section section header h1 {
		font-size: 2rem;
	}
}
@media screen and (max-width: 768px) {
	.airports_section {
		margin-top: -10px;
	}
	.airports_section section {
		padding: 30px 0;
		border-top: 1px solid #e6e6e6;
	}
	.airports_section section:last-child {
		padding-bottom: 0;
	}
	.airports_section section header a {
		height: 100px;
	}
	.airports_section section header a > div {
		bottom: 8px;
		padding: 5px 35px 5px 12px;
	}
	.airports_section section header a > div::before {
		right: 18px;
		width: 9px;
	}
	.airports_section section header a > div::after {
		right: 10px;
		border-width: 8px 0 0 8px;
	}
	.airports_section section header .ff_roboto {
		font-size: 1.9rem;
	}
	.airports_section section header h1 {
		font-size: 1.2rem;
	}
	.airports_section section .info {
		padding: 15px 0 0;
		font-size: 1.3rem;
	}
.airports_section section .info .info_head .link_b a {background-color:#0098B8;padding: 3px 3px 3px 6px;margin-left: 3px;text-decoration: none;}
.airports_section section .info .info_head .link_b a span {color: #FFF;font-size:1.2rem;font-weight: 700;padding: 0 20px 0 0;position: relative; }
.airports_section section .info .info_head .link_b a span::before {
	content: "";
	position: absolute;
	bottom: 48%;
	right: 10px;
	width: 6px;
	border-top: 1px solid #fff;
}
.airports_section section .info .info_head .link_b a span::after {
	content: "";
	position: absolute;
	bottom: 48%;
	right: 0px;
	border-style: solid;
	border-width: 10px 0 0 10px;
	border-color: transparent transparent transparent #fff;
	-webkit-transform-origin: 0 100%;
	-moz-transform-origin: 0 100%;
	-ms-transform-origin: 0 100%;
	-o-transform-origin: 0 100%;
	transform-origin: 0 100%;
	-webkit-transform: scaleY(.5);
	-ms-transform: scaleY(.5);
	-o-transform: scaleY(.5);
	transform: scaleY(.5);
}
	.airports_section section .info dl {
		line-height: 1.8;
	}
}

.airports_section.one_col {display: block;}
.airports_section.one_col .chitose {}
.airports_section.one_col section {width: 100%;margin: 0 auto 14.0rem;}
.airports_section.one_col section .tit {width: 100%;box-sizing: border-box;padding: 0 55px 5px;margin-bottom: 2.4rem; display: flex;justify-content: space-between;border-bottom: solid 1px #0098b8;line-height: 1.0;}
.airports_section.one_col section .tit h1 {font-size: 2.4rem;color: #000;margin: 0;padding: 0;}
.airports_section.one_col section .tit p.ff_roboto {font-size: 3.0rem;font-weight: 500;color: #323c46;margin: 0;padding: 0;}
.airports_section.one_col section .tit p.ff_roboto span {font-weight: 300;}
.airports_section.one_col section .tit .tit_inner {display: flex;justify-content: space-between;width: 100%;}
html[lang=en] .airports_section.one_col section .tit h1.ff_roboto {font-size: 3.0rem;font-weight: 500;color: #323c46;margin: 0;padding: 0;}
html[lang=en] .airports_section.one_col section .tit h1.ff_roboto span {font-weight: 300;}
.airports_section.one_col section header {width: 100%;height: 200px; padding: 0 56px;margin-bottom: 3.0rem; box-sizing: border-box; display: flex;justify-content: space-between;}
.airports_section.one_col section header .bg_img {width: 650px;height: 200px;position: relative;}
.airports_section.one_col section header .airport_nav {width: 250px;height: auto;padding: 2.0rem 0 0;}
.airports_section.one_col section header .airport_nav a {width: 100%;height: 30px;margin-bottom: 3.0rem;background-color: #0098B8;}
.airports_section.one_col section header .airport_nav a span {color: #FFF;font-size: 1.6rem;font-weight: 700;width: 100%;height: 100%; box-sizing: border-box; padding: 0 40px 0 8px;position: relative;display: block;}
.airports_section.one_col section header .airport_nav a span::before {content: "";position: absolute;bottom: 48%;right: 15px;width: 12px;border-top: 1px solid #fff;}
.airports_section.one_col section header .airport_nav a span::after {content: "";position: absolute;bottom: 48%;right: 5px;border-style: solid;border-width: 10px 0 0 10px;border-color: transparent transparent transparent #fff;-webkit-transform-origin: 0 100%;-moz-transform-origin: 0 100%;-ms-transform-origin: 0 100%;-o-transform-origin: 0 100%;transform-origin: 0 100%;-webkit-transform: scaleY(.5);-ms-transform: scaleY(.5);-o-transform: scaleY(.5);transform: scaleY(.5);}
.airports_section.one_col section #acc_box {padding: 0 55px;}
.airports_section.one_col section #acc_box .btn_acc {width: 100%;height: 50px;line-height: 50px;font-size: 2.0rem;background-color: #323c46;color: #FFF;font-weight: 700;box-sizing: border-box;padding-left: 74px;position: relative;cursor: pointer;}
.airports_section.one_col section #acc_box .btn_acc:before {content: '';width: 50px;height: 50px;background-image:url("../../images/company/ico_airplain.png");background-size: 30px auto;background-repeat: no-repeat;background-position: center center;position: absolute;left: 0;top:0;}
.airports_section.one_col section #acc_box .btn_acc span {content: '';position: absolute;width: 30px;height: 30px;top: 50%;right: 2.0rem;transform: translate(0, -50%);}
.airports_section.one_col section #acc_box .btn_acc span:before {display: block;content: "";position: absolute;top: 0;right: 0;bottom: 0;left: 0;margin: auto;width: 30px;height: 4px;background-color: #FFF;transition: .2s;transform: rotate(90deg);-webkit-transform: rotate(90deg);}
.airports_section.one_col section #acc_box .btn_acc span:after {display: block;content: "";position: absolute;top: 0;right: 0;bottom: 0;left: 0;margin: auto;width: 30px;height: 4px;background-color: #FFF;transition: .3s;}
.airports_section.one_col section #acc_box .btn_acc.ttl--open span:before {transform: rotate(0deg);-webkit-transform: rotate(0deg);}
.airports_section.one_col section #acc_box .btn_acc.ttl--open span:after {background-color: transparent;}
.airports_section.one_col section #acc_box .content_acc {padding: 2.8rem 0 0 7.2rem;display: none;}
.airports_section.one_col section #acc_box .content_acc dl {display: flex;}
.airports_section.one_col section #acc_box .content_acc dl dt {min-width: 3.5em;}
.airports_section.one_col section #acc_box .content_acc dl dt.l2 {letter-spacing: 2em;margin-right: -2em;}
.airports_section.one_col section #acc_box .content_acc dl dt.l3 {letter-spacing: 0.5em;margin-right: -0.5em;}
.airports_section.one_col section #acc_box .content_acc dl dd {position: relative;margin-left: 0.8em;padding-left: 0.8em;}
.airports_section.one_col section #acc_box .content_acc dl dd::before {content: "/";position: absolute;top: 0;left: 0;}

html[lang=en] .airports_section.one_col section #acc_box .content_acc dl dt {min-width: auto;}
html[lang=en] .airports_section.one_col section #acc_box .content_acc dl dt.l2 {letter-spacing: 0.05em;margin-right: -0.05em;}
html[lang=en] .airports_section.one_col section #acc_box .content_acc dl dt.l3 {letter-spacing: 0.05em;margin-right: -0.05em;}

.airports_section.one_col .chitose #acc_box .btn_acc:before {background-color: #d43e17;}
.airports_section.one_col .wakkanai #acc_box .btn_acc:before {background-color: #d0933a;}
.airports_section.one_col .kushiro #acc_box .btn_acc:before {background-color: #edc11a;}
.airports_section.one_col .hakodate #acc_box .btn_acc:before {background-color: #356b3b;}
.airports_section.one_col .asahikawa #acc_box .btn_acc:before {background-color: #508d8a;}
.airports_section.one_col .obihiro #acc_box .btn_acc:before {background-color: #45618c;}
.airports_section.one_col .memanbetsu #acc_box .btn_acc:before {background-color: #f19a86;}

@media screen and (max-width: 768px) {
	
	.airport_map {padding: 0;height: auto;margin: 0 auto 7rem;}
	.airport_map .in {max-width: 110%;width: 110%;margin: 0 auto;padding: 0;position: relative;background-image: url(../../images/company/airport_map_bk_sp.png);background-size: 110% auto;background-repeat: no-repeat;background-position: right -5% top 0;overflow: visible;}
	.airport_map .in .r_box {width: 100%;height: auto;	aspect-ratio: 75 / 82;margin: 0 0 0 auto;position: relative;}
	.airport_map .in:before {content:none;}
	.airports_nav a {font-size: 3.6vw;font-weight: 500; line-height: 1.4;}
	.airports_nav a span {font-size: 3.4vw;width:7rem;}
	.airports_nav {top: 0;left: 0;width: 100%;height: 100%;}
	.airports_nav .chitose a {top: 51%;left: -1%;}
	.airports_nav .wakkanai a {top: 7.5%;left: 47%;}
	.airports_nav .kushiro a {top: 60%;left: 73%;}
	.airports_nav .hakodate a {top: 88.5%;left: 34%;}
	.airports_nav .asahikawa a {top: 32%;left: 5%;}
	.airports_nav .obihiro a {top: 76%;left: 72%;}
	.airports_nav .memanbetsu a {top: 32%;left: 73%;}
	
	.airports_section.one_col section {padding: 0;border-top: none;}
	.airports_section.one_col section {width: 100%;margin: 0 auto 7.0rem;}
	.airports_section.one_col section .tit {width: 100%;box-sizing: border-box;padding: 0 5% 5px;margin-bottom: 2.4rem; display: flex;justify-content: space-between;border-bottom: solid 1px #0098b8;line-height: 1.0;}
	.airports_section.one_col section .tit h1 {font-size: 1.5rem;color: #000;margin: 0;padding: 0;}
	.airports_section.one_col section .tit p.ff_roboto {font-size: 1.7rem;font-weight: 500;color: #323c46;margin: 0;padding: 0;}
	.airports_section.one_col section header {width: 100%;height:auto; padding: 0;margin-bottom:0; box-sizing: border-box; display:block;}
	.airports_section.one_col section header .bg_img {width: 100%;height: auto;aspect-ratio: 670 / 206;position: relative;}
	.airports_section.one_col section header .airport_nav {width: 65%;height: auto;padding: 2.0rem 0 0;margin: 0 auto;}
	.airports_section.one_col section header .airport_nav a {width: 100%;height: 30px;margin-bottom: 3.0rem;background-color: #0098B8;}
	.airports_section.one_col section header .airport_nav a span {color: #FFF;font-size: 1.5rem;font-weight: 700;width: 100%;height: 100%; box-sizing: border-box; padding: 0 40px 0 8px;position: relative;display: block;}
	.airports_section.one_col section header .airport_nav a span::before {content: "";position: absolute;bottom: 48%;right: 15px;width: 12px;border-top: 1px solid #fff;}
	.airports_section.one_col section header .airport_nav a span::after {content: "";position: absolute;bottom: 48%;right: 5px;border-style: solid;border-width: 10px 0 0 10px;border-color: transparent transparent transparent #fff;-webkit-transform-origin: 0 100%;-moz-transform-origin: 0 100%;-ms-transform-origin: 0 100%;-o-transform-origin: 0 100%;transform-origin: 0 100%;-webkit-transform: scaleY(.5);-ms-transform: scaleY(.5);-o-transform: scaleY(.5);transform: scaleY(.5);}
	.airports_section.one_col section #acc_box {padding: 0;}
	.airports_section.one_col section #acc_box .btn_acc {width: 100%;height: 32px;line-height: 32px;font-size: 1.5rem;background-color: #323c46;color: #FFF;font-weight: 700;box-sizing: border-box;padding-left: 48px;position: relative;cursor: pointer;}
	.airports_section.one_col section #acc_box .btn_acc:before {content: '';width: 32px;height: 32px;background-image:url("../../images/company/ico_airplain.png");background-size: 24px auto;background-repeat: no-repeat;background-position: center center;position: absolute;left: 0;top:0;}
	.airports_section.one_col section #acc_box .btn_acc span {content: '';position: absolute;width: 16px;height: 16px;top: 50%;right: 1.0rem;transform: translate(0, -50%);}
	.airports_section.one_col section #acc_box .btn_acc span:before {display: block;content: "";position: absolute;top: 0;right: 0;bottom: 0;left: 0;margin: auto;width: 16px;height: 2px;background-color: #FFF;transition: .2s;transform: rotate(90deg);-webkit-transform: rotate(90deg);}
	.airports_section.one_col section #acc_box .btn_acc span:after {display: block;content: "";position: absolute;top: 0;right: 0;bottom: 0;left: 0;margin: auto;width: 16px;height: 2px;background-color: #FFF;transition: .3s;}
	.airports_section.one_col section #acc_box .btn_acc.ttl--open span:before {transform: rotate(0deg);-webkit-transform: rotate(0deg);}
	.airports_section.one_col section #acc_box .btn_acc.ttl--open span:after {background-color: transparent;}
	.airports_section.one_col section #acc_box .content_acc {padding: 1.6rem 0 0 1.6rem;display: none;}
	.airports_section.one_col section #acc_box .content_acc dl {display: flex;font-size: 1.5rem;}
	.airports_section.one_col section #acc_box .content_acc dl dt {min-width: 4.5em;}
	.airports_section.one_col section #acc_box .content_acc dl dt.l2 {letter-spacing: 2em;margin-right: -2em;}
	.airports_section.one_col section #acc_box .content_acc dl dt.l3 {letter-spacing: 0.5em;margin-right: -0.5em;}
	.airports_section.one_col section #acc_box .content_acc dl dd {position: relative;margin-left: 0.8em;padding-left: 0.8em;}
	.airports_section.one_col section #acc_box .content_acc dl dd::before {content: "/";position: absolute;top: 0;left: 0;}
	
}


/* ===================================================================================================================

	お知らせ

=================================================================================================================== */

/* news_list
============================================================================================================ */
.linkno,
.news_list ul a {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
	padding: 20px;
	text-decoration: none;
	font-size: 1.6rem;
	line-height: 1.7;
	color: #050514;
}
.news_list ul li:nth-child(2n+1) {
	background-color: #f0f0f0;
}
.news_list ul a > span {
	/*display: block;*/
}
@media screen and (min-width: 769px), print {
	.linkno .date,
	.news_list ul a .date {
		width: 12%;
		margin-right: 1.0rem;
	}
	.linkno .cat,
	.news_list ul a .cat {
		width: 12rem;
		margin-right: 1.5rem;
		padding: 0 1rem;
		color: #FFF;
		font-size: 1.4rem;
		text-align: center;
		word-break: normal;
	}
	.linkno .cat.news,
	.linkno .cat.news_en,
	.news_list ul a .cat.news,
	.news_list ul a .cat.news_en{
		background-color: #323c46;
	}
	.linkno .cat.pressrelease,
	.linkno .cat.pressrelease_en,
	.news_list ul a .cat.pressrelease,
	.news_list ul a .cat.pressrelease_en{
		background-color: #0098b8;
	}
	.linkno .title,
	.news_list ul a .title {
		max-width: calc(88% - 14.5rem);
	}
	.page-press .linkno .title,
	.page-press .news_list ul a .title {
		max-width: calc(88% - 29rem);
	}
	.linkno .title span,
	.news_list ul a .title span {
		position: relative;
		padding-right: 2rem;
	}
  .news_list ul a .title span.show-only_en {
		padding: 0 0 0 0.5rem;
	}
	/*.news_list ul a.pdf_link .title span:after {		
		content: '';
		display: block;
		position: absolute;
		right: -1rem;
		bottom: 0;
		width: 2rem;
		height: 2rem;
		background-image: url(../../images/ico_pdf.png);
		background-position: center center;
		background-size: auto 100%;
		background-repeat: no-repeat;
	}*/
	a[href$=".xls"], a[href$=".xlsx"] {}
	.news_list ul a[href$=".pdf"] .title span:not([class]):after {		
		content: '';
		display: block;
		position: absolute;
		right: -1rem;
		bottom: 0;
		width: 2rem;
		height: 2rem;
		background-image: url(../../images/ico_pdf.png);
		background-position: center center;
		background-size: auto 100%;
		background-repeat: no-repeat;
	}
	.news_list ul a[href$=".zip"] .title span:not([class]):after {		
		content: '';
		display: block;
		position: absolute;
		right: -1rem;
		bottom: 0;
		width: 2rem;
		height: 2rem;
		background-image: url(../../images/ico_zip.png);
		background-position: center center;
		background-size: auto 100%;
		background-repeat: no-repeat;
	}
	.news_list ul a .title span.icono:after {
		background-image: none;
	}
	.news_list ul a[href]:hover .title {
		text-decoration: underline;
	}
	.news_list ul p.comingsoon {text-align: center;font-size: 16px;padding: 50px 0 50px 255px;margin: 0;}
}
@media screen and (max-width: 768px) {
	.linkno ,
	.news_list ul a {
		padding: 14px 15px;
		font-size: 1.4rem;
	}
	.linkno .date,
	.news_list ul a .date {
		margin-bottom: 3px;
		font-size: 1.2rem;
		margin-right: 1.0rem;
	}
	.linkno .cat,
	.news_list ul a .cat {
		margin-right: 1.0rem;
		background-color: #0098b8;
		padding: 0 1rem;
		color: #FFF;
		font-size: 1.0rem;
		text-align: center;margin-bottom: 5px;
	}
	.linkno .title,
	.news_list ul a .title {
		display: block;
		width: 100%;
	}
	.linkno .title span,
	.news_list ul a .title span {
		padding-right: 2rem;
		position: relative;
	}
	.news_list ul a .title span:not([class]):after {		
		content: '';
		display: block;
		position: absolute;
		right: -1rem;
		bottom: 0;
		width: 2rem;
		height: 2rem;
		background-image: url(../../images/ico_pdf.png);
		background-position: center center;
		background-size: auto 100%;
		background-repeat: no-repeat;
	}
  .news_list ul a .title span.show-only_en {
		padding: 0 0 0 0.5rem;
	}
	.news_list ul a .title span.icono:after {
		background-image: none;
	}
}

/* news_side
============================================================================================================ */
.news_side {
}
.news_side dl + dl {
	margin-top: 60px;
}
.news_side li a {
	display: block;
	padding: 10px 5px;
	color: #050514;
	font-size: 1.6rem;
	line-height: 1.5;
}
@media screen and (min-width: 769px), print {
	.news_side dt {
		margin-bottom: 15px;
		padding: 10px 0 10px .15em;
		background-color: #0098b8;
		color: #fff;
		text-align: center;
		font-size: 2.2rem;
		letter-spacing: .15em;
		line-height: 1.5;
	}
	.news_side .archives a {
		text-align: left;
		padding-left: 5px;
	}
	.news_side .category a {
		text-align: left;
	}
}
@media screen and (max-width: 768px) {
	.news_side dl + dl {
		margin-top: 25px;
	}
	.news_side dt {
		position: relative;
		padding: 12px 0;
		background-color: #007E99;
		color: #fff;
		text-align: center;
		font-size: 1.4rem;
		line-height: 1.5;
	}
	.news_side .category dt {
		background-color: #0098b8;
	}
	.news_side dt::before,
	.news_side dt::after {
		content: "";
		position: absolute;
		right: 15px;
		top: 50%;
		width: 14px;
		margin-top: -1px;
		border-top: 2px solid #fff;
	}
	.news_side dt::after {
		-webkit-transform: rotate(90deg);
		-ms-transform: rotate(90deg);
		-o-transform: rotate(90deg);
		transform: rotate(90deg);
	}
	body.init .news_side dt::after {
		-webkit-transition: -webkit-transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
		-o-transition: -o-transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
		transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
	}
	.news_side dt.open::after {
		-webkit-transform: rotate(0);
		-ms-transform: rotate(0);
		-o-transform: rotate(0);
		transform: rotate(0);
		opacity: 0;
	}
	.news_side dd {
		position: relative;
		height: 0;
		overflow: hidden;
	}
	body.init .news_side dd {
		-webkit-transition: height 0.3s ease-in-out;
		-o-transition: height 0.3s ease-in-out;
		transition: height 0.3s ease-in-out;
	}
	.news_side ul {
		padding-top: 10px;
	}
	.news_side li a {
		font-size: 1.4rem;
		text-align: center;
	}
}

/* news_detail
============================================================================================================ */
.news_detail > header {
	margin-bottom: 40px;
}
.news_detail > header time {
	display: block;
	margin-bottom: 15px;
	font-size: 1.6rem;
}
.news_detail > header h1 {
	font-size: 2.2rem;
	line-height: 1.8;
}
@media screen and (max-width: 768px) {
	.news_detail > header {
		margin-bottom: 30px;
	}
	.news_detail > header time {
		margin-bottom: 8px;
		font-size: 1.2rem;
	}
	.news_detail > header h1 {
		font-size: 1.8rem;
		line-height: 1.7;
	}
}

.news_detail .pager {
	position: relative;
	margin-top: 80px;
}
.news_detail .pager .next a,
.news_detail .pager .prev a {
	font-weight: bold;
	color: #333;
}
.news_detail .pager .next a::after {
	content: " →";
}
.news_detail .pager .prev a::before {
	content: "← ";
}
@media screen and (min-width: 769px), print {
	.news_detail .pager .next,
	.news_detail .pager .prev {
		position: absolute;
		top: 50%;
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		-o-transform: translateY(-50%);
		transform: translateY(-50%);
	}
	.news_detail .pager .next {
		left: 50%;
		margin-left: 180px;
	}
	.news_detail .pager .prev {
		right: 50%;
		margin-right: 180px;
	}
}
@media screen and (max-width: 768px) {
	.news_detail .pager {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		justify-content: center;
		margin-top: 50px;
		padding-bottom: 30px;
	}
	.news_detail .pager .next,
	.news_detail .pager .prev {
		position: relative;
		padding: 0 20px;
	}
	.news_detail .pager .prev + .next::before {
		content: "";
		position: absolute;
		left: 0;
		top: 5px;
		bottom: 5px;
		border-left: 1px solid #ccc;
	}
	.news_detail .pager .back {
		width: 100%;
		margin-top: 20px;
	}
}

/* mynavi_tenshoku_bnr_area
============================================================================================================ */

.mynavi_tenshoku_bnr_area {
	width: 100%;
	text-align: center;
	margin: 90px auto 80px;
}

.mynavi_tenshoku_bnr_area a {
	display: inline-block;
	max-width: 240px;
}

.mynavi_tenshoku_bnr_area a img {
	width: 100%;
	height: auto;
}

@media screen and (max-width: 768px) {
	.mynavi_tenshoku_bnr_area {
		width: 100%;
		max-width: none;
		margin: 40px auto;
	}
}
.recruit_inq_txt {
}
.recruit_inq_txt:after {
	content: "";
	display: block;
	clear: both;
}
.recruit_inq_txt dt {
	float: left;
}
.recruit_last.basic_table tr:first-child th,
.recruit_last.basic_table tr:first-child td {
	padding: 1.5em 0;
	border-top: 1px solid #0098b8;
}
.mb_recruit_add {
	margin-top:200px;
}
.recruit_end {
	margin-bottom: 100px;
}

@media screen and (max-width: 768px) {
	.recruit_last.basic_table td span {
		white-space: nowrap;
	}
	.recruit_last.basic_table td img {
		max-width:calc(100% - 56px);
	}
	.mb_recruit_add {
		margin-top: 100px;
	}
	.recruit_end {
		margin-bottom: 100px;
	}
}


/* ===================================================================================================================

	サイトマップ

=================================================================================================================== */
.sitemap_block {
	margin-bottom: 100px;
}
.sitemap_block > ul > li {
	margin-bottom: 50px;
}
.sitemap_block > ul > li .sub {
	margin-bottom: 30px;
	padding-left: 30px;
	padding-top: 20px;
}
.sitemap_block > ul > li .l3 {
	padding-left: 60px;
	margin-bottom: 40px;
}
.sitemap_block a {
	position: relative;
	display: block;
	padding: 3px 0 3px 20px;
	border-bottom: 1px dashed #d4dde1;
	font-weight: bold;
	font-size: 2.2rem;
	line-height: 1.7;
	color: #000;
}
.sitemap_block a::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 10px;
	height: 10px;
	margin-top: -5px;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	-webkit-transform: scaleX(.8) rotate(45deg);
	-ms-transform: scaleX(.8) rotate(45deg);
	-o-transform: scaleX(.8) rotate(45deg);
	transform: scaleX(.8) rotate(45deg);
}
.sitemap_block > ul ul {
	margin-top: 20px;
}
.sitemap_block > ul ul a {
	border-bottom: 0;
	font-size: 2rem;
}
@media screen and (min-width: 769px), print {
	.sitemap_block > ul ul {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.sitemap_block > ul ul li {
		width: 33.33%;
		padding-left: 30px;
	}
}
@media screen and (max-width: 768px) {
	.sitemap_block {
		margin-bottom: 0;
	}
	.sitemap_block > ul > li {
		margin-bottom: 30px;
	}
	.sitemap_block a {
		padding-left: 16px;
		font-size: 1.5rem;
	}
	.sitemap_block a::before {
		width: 8px;
		height: 8px;
		margin-top: -4px;
	}
	.sitemap_block > ul ul {
		margin: 15px 0 0 15px;
	}
	.sitemap_block > ul ul a {
		margin-bottom: 8px;
		font-size: 1.5rem;
	}
}



/* ===================================================================================================================

	経営について

=================================================================================================================== */
.message_box {display: flex;justify-content: space-between;flex-wrap: wrap;flex-flow: row-reverse;}
.message_box figure {width:360px; }
.message_box figure img {width: 100%;height: auto;}
.message_box .txt {width: 670px;}
.message_box .txt p {font-size: 1.6rem;text-indent: 1.5rem;margin-bottom: 1.5rem;}
.message_box .txt .auth {padding-top: 3rem;text-align: right; font-size: 1.6rem;}
.message_box .txt .auth span {font-size:2.0rem;}
h2.report_tit {font-size:2.2rem;font-weight: 700;padding-bottom: 1.0rem;margin-bottom: 3.0rem;border-bottom: solid 1px #0098b8;}
h2.report_tit span {font-size:1.6rem;font-weight: 500;}
ul.report {margin-bottom: 10rem;}
ul.report li {padding-left: 1.5rem;position: relative;margin-bottom: 1rem;}
	html[lang=en] ul.report li {padding-left: 1.5rem;position: relative;margin-bottom: 1rem;}
ul.report li:before {content:'・';display: block;position: absolute;left: 0;top:0;width: 1rem;}
ul.report li a {font-size:1.8rem;color: #050514;position: relative;line-height: 1.1;}
/*ul.report li a:after {content: '';display: block;position: absolute;right: -3rem;top: 0;width: 2rem;height: 2rem;background-image: url(../../images/ico_pdf.png);background-position: center center;background-size: auto 100%;background-repeat: no-repeat;}
ul.report li a.xlsx:after {content: '';display: block;position: absolute;right: -3rem;top: 0;width: 2rem;height: 2rem;background-image: url(../../images/ico_excel.png);background-position: center center;background-size: auto 100%;background-repeat: no-repeat;}*/
ul.report li a[href$=".pdf"]:after {content: '';display: block;position: absolute;right: -3rem;bottom: 0;width: 2rem;height: 2rem;background-image: url(../../images/ico_pdf.png);background-position: center center;background-size: auto 100%;background-repeat: no-repeat;}
ul.report li a[href$=".xls"]:after, a[href$=".xlsx"]:after {content: '';display: block;position: absolute;right: -3rem;bottom: 0;width: 2rem;height: 2rem;background-image: url(../../images/ico_excel.png);background-position: center center;background-size: auto 100%;background-repeat: no-repeat;}
ul.report li a[href$=".zip"]:after {content: '';display: block;position: absolute;right: -3rem;bottom: 0;width: 2rem;height: 2rem;background-image: url(../../images/ico_zip.png);background-position: center center;background-size: auto 100%;background-repeat: no-repeat;}
ul.report .rep_t {padding: 0 1.5rem;border:solid 1px #CCC;font-size: 2.16rem;font-weight: 700; margin-bottom: 0.8rem;display: inline-block;}
.financial_table {margin-bottom: 0.5rem;}
.financial_table th {font-size: 1.6rem;padding-right: 2rem;border-bottom:solid 1px #dcdcdc;}
.financial_table td {padding: 1rem 5rem 1rem 3rem;font-size: 2.16rem;}
.financial_table td a {color: #050514; position: relative;}
.financial_table td a[href$=".pdf"]:after {content: '';display: block;position: absolute;right: -3rem;bottom: 0;width: 2rem;height: 2rem;background-image: url(../../images/ico_pdf.png);background-position: center center;background-size: auto 100%;background-repeat: no-repeat;}
.rem {font-size: 1.6rem;}
.red {color: rgba(228,6,9,1.00);}
.mb10rem {margin-bottom: 10rem;}

@media screen and (max-width: 768px) {
.message_box {display:block;}
.message_box figure {width:100%; }
.message_box figure .auth {padding: 1rem 0 3rem;text-align: right; font-size: 1.6rem;}
.message_box figure .auth span {font-size:2.0rem;display: block}
.message_box .txt {width: 100%;}
.message_box .txt p {font-size: 1.5rem;text-indent: 0rem;margin-bottom: 1.5rem;}
h2.report_tit {font-size:1.5rem;}
ul.report li a {font-size:1.4rem;line-height: 1.1;}
.financial_table {width: 100%;}
.financial_table tr {}
.financial_table th {width: 100%;font-size: 1.6rem;padding-right: 2rem;border-bottom:solid 1px #dcdcdc;display: block;}
.financial_table td {width: 100%;padding: 1rem 5rem 1rem 3rem;font-size: 1.8rem;display: block;}
}



/* ===================================================================================================================

	空港運営について

=================================================================================================================== */
.safety_tit {font-size: 2.2rem;font-weight: 700;padding-bottom: 1.0rem;margin-bottom: 3.0rem;border-bottom: solid 1px #0098b8;}
.col2 {display: flex;flex-wrap: wrap;justify-content: space-between;margin-bottom: 10rem;}
.col2 .col {width: 70%;}
.safety_rem {font-size: 1.6rem;font-weight: 500;margin-bottom: 3rem;}
ul.safety_list {
  counter-reset: item;}
ul.safety_list li {font-size: 2.2rem;font-weight: 700;margin-bottom: 1rem;padding-left: 2rem;position: relative;}
ul.safety_list li:before {
  counter-increment: item;
  content: counter(item)'.';
  /* 以下は自由に装飾... */
	position: absolute;
	left: 0;
	top: 0;
}
.col2 .safety_img01 {width: 30%;}
.col2 .safety_img01 img {width:100%;height: auto;}
.safety_img02 {width: 100%;padding: 5rem 0 5rem;}
.safety_img02 figcaption {font-size: 1.6rem;font-weight: 500;padding-top: 5rem;;text-align: right;}
.safety_img02 img {width:100%;height: auto;}
h3.tit_b {color: #0097b7;font-size: 1.8rem;font-weight: 700;}
.cont {font-size: 1.6rem;font-weight: 500;margin-bottom: 5rem;}

@media screen and (max-width: 768px) {
.safety_tit {font-size: 1.6rem;font-weight: 700;padding-bottom: 1.0rem;margin-bottom: 3.0rem;border-bottom: solid 1px #0098b8;}
.col2 {display:block;margin-bottom: 10rem;}
.col2 .col {width: 100%;}
.safety_rem {font-size: 1.4rem;font-weight: 500;margin-bottom: 3rem;}
ul.safety_list {}
ul.safety_list li {font-size: 1.6rem;font-weight: 700;margin-bottom: 1rem;}
.col2 .safety_img01 {width: 100%;}
.col2 .safety_img01 img {width:100%;height: auto;}
.safety_img02 {
width: calc(100% + 40px);
padding: 5rem 0 5rem 20px;
background-color: #f2f2f2;
margin: 0 -20px 3rem;}
.safety_img02 figcaption {
font-size: 1.3rem;
font-weight: 500;
padding-top: 5rem;
text-align: left;
padding-right: 20px;}
.safety_img02 img {width:100%;height: auto;}
.tit_b {color: #0097b7;font-size: 1.6rem;font-weight: 700;}
.cont {font-size: 1.6rem;font-weight: 500;margin-bottom: 5rem;}
}



/* ===================================================================================================================

	空港運営について

=================================================================================================================== */
#acMenu dt {width: 100%;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;color: #FFF;background-color: #0098b8;font-size: 2.0rem;font-weight: 700;padding: 1.5rem 3rem;position: relative;cursor: pointer;margin-bottom: 1rem;}
#acMenu dt:after {content: '';position: absolute;right: 3rem;top: 50%;-webkit-transition: all .3s;transition: all .3s;width: 10px;height: 10px;border-top: 2px solid #FFFFFF;border-right: 2px solid #FFFFFF;-webkit-transform: translate(0,-8px)  rotate(135deg);transform: translate(0,-8px)  rotate(135deg);}
#acMenu dt.ttl--open:after {-webkit-transform: translate(0,-3px) rotate(315deg);-ms-transform: translate(0,-3px) rotate(315deg);transform: translate(0,-3px) rotate(315deg);}
#acMenu dd {display: none;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;padding: 1.5rem 3rem;background-color: #EEEEEE;color: #000000;font-size: 1.6rem;margin-bottom: 32px;}

#TabMenu {}
#TabMenu dt {width: 100%;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;position: relative;/*cursor: pointer;*/font-size: 2.2rem;font-weight: 700;padding-bottom: 1.0rem;margin-bottom: 3.0rem;border-bottom: solid 1px #0098b8;}
#TabMenu dt .read_o {display: inline-block;float: right;padding-right: 40px;padding-top: 11px;}
#TabMenu dt .read_o .readmore {font-size: 18px;color:#0098b8;}
#TabMenu dt span {content: ''; position: absolute;width: 30px;height: 30px;top:50%;right: 0;transform: translate(0,-50%);}
#TabMenu dt span:before{display: block;content: "";position: absolute;top:0; right:0;bottom:0;left:0;margin:auto;width: 30px;height: 2px;background-color: #0098b8;transition: .2s;transform: rotate(90deg);-webkit-transform: rotate(90deg);}
#TabMenu dt span:after{display: block;content: "";position: absolute;top: 0; right: 0;bottom: 0;left: 0;margin: auto;width: 30px;height: 2px; background-color: #0098b8;transition: .3s;}
#TabMenu dt.ttl--open span:before{transform: rotate(0deg);-webkit-transform: rotate(0deg);}
#TabMenu dt.ttl--open span:after{background-color: transparent;}
#TabMenu dd {/*display: none;*/-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;padding: 1.5rem 1.5rem;color: #000000;font-size: 1.8rem;margin-bottom: 32px;}
#TabMenu dd p {text-indent: 1em;margin-bottom: 1em;}
#TabMenu dd .auth {padding-top: 3rem;text-align: right;font-size: 1.6rem;}
#TabMenu dd .auth span {font-size: 2.0rem;}
.headline {padding-left: 1em;margin-bottom: 2em;}
.headline a {color: #050514;}
ul.envir {padding-left: 1em;margin-bottom: 2em;}
ul.envir li {padding-left: 1em;position: relative;}
ul.envir li a {color: #050514;}
ul.envir li:before {content: '・';position: absolute;left: 0;top:0;}
ul.envir.c li:before {content: '';position: absolute;left: 0;top:0;}
a.pdf {position: relative;padding-right: 4rem;}
a.pdf:after {content: '';display: block;position: absolute;right: 1rem;bottom: 0;width: 2rem;height: 2rem;background-image: url(../../images/ico_pdf.png);background-position: center center;background-size: auto 100%;background-repeat: no-repeat;}
ul.envir span {padding-left: 1em;display: inline-block;}
ul.envir span a {color: #050514;}
ul.envir span.airport_name {width: 100%;display: inline-block;padding-left: 0;border-bottom: solid 1px #999;}
a.blank {position: relative;padding-right: 4rem;display: inline-block;}
a.blank:after {content: '';display: block;position: absolute;right: 1rem;top: 0;width: 2rem;height: 1.5rem;background-image: url("../../images/ico_blank.png");background-position: center center;background-size: auto 100%;background-repeat: no-repeat;}
.rem_box {padding-left: 2em;margin-bottom: 2em;}
.rem_box .tr {display: flex;justify-content: flex-start;width: 100%;font-weight: 700;}
.rem_box .tr .th {width: 2.0em;}
.rem_box .tr .td {width: calc(100% - 2.0em);}
.announcement {}
.acc_box {}
.acc_box.cat_measu_hakodate {}
.acc_box .btn_acc {width: 100%;height: 54px;line-height: 54px;font-size: 2.0rem;font-weight: 700;box-sizing: border-box;position: relative;cursor: pointer;padding-bottom: 0.5em;margin-bottom: 1.5em;border-bottom: solid 1px #000;}
.acc_box .contact_tit.btn_acc {font-size: 2.2rem; padding-bottom: 1.0rem;margin-bottom: 3.0rem;border-bottom: solid 1px #0098b8;}
.acc_box .btn_acc span {content: '';position: absolute;width: 30px;height: 30px;top: 50%;right: 2.0rem;transform: translate(0, -50%);}
.acc_box .btn_acc span:before {display: block;content: "";position: absolute;top: 0;right: 0;bottom: 0;left: 0;margin: auto;width: 30px;height: 4px;background-color: #293a45;transition: .2s;transform: rotate(90deg);-webkit-transform: rotate(90deg);}
.acc_box .btn_acc span:after {display: block;content: "";position: absolute;top: 0;right: 0;bottom: 0;left: 0;margin: auto;width: 30px;height: 4px;background-color: #293a45;transition: .3s;}
.acc_box .btn_acc.ttl--open span:before {transform: rotate(0deg);-webkit-transform: rotate(0deg);}
.acc_box .btn_acc.ttl--open span:after {background-color: transparent;}
.acc_box .content_acc {display: none;width: 100%;}
.acc_box.cat_measu_hakodate .note {margin-left: 1.6em;}
.announcement .acc_box .content_acc ul {padding: 0 1.6em;margin-bottom: 2em;display: flex;flex-wrap: wrap; justify-content: space-between;}
.announcement .acc_box .content_acc ul li {max-width: 500px;width: 48.5%; min-height: 54px;margin-bottom: 0.8em;}
.announcement .acc_box .content_acc ul li a {width: 100%;height: 100%;box-sizing: border-box;padding: 0.5em 1em; color: #FFF;display: flex;justify-content: flex-start;align-items: center;text-decoration: none;}
.announcement .acc_box .content_acc ul li a.shortterm {background-color:#293a45;}
.announcement .acc_box .content_acc ul li a.allyearround {background-color:#007E99;}
a.pdf_w {position: relative;width: 100%;height: 100%;}
a.pdf_w:after {content: '';display: block;position: absolute;right: 1rem;bottom: calc(50% - 1.25rem);width: 2.2rem;height: 2.5rem;background-image: url(../../images/ico_pdf_w.png);background-position: center center;background-size: auto 100%;background-repeat: no-repeat;}
a.pdf_w .pdf_inner {padding-right: 2em;display: inline-block;text-align: center;}
.reference {padding: 4em 0;}
.link_box {width: 80%;height: 54px;margin: 0 auto 0;background-color:#e6e6e6; }
.link_box a.pdf_b {width: 100%;height: 100%;display:block;text-align: center;line-height: 54px;color: #293a45;text-decoration: none;}
.link_box a.pdf_b span {position: relative;}
.link_box a.pdf_b span:after {content: '';display: block;position: absolute;right: -4rem;bottom: calc(50% - 1.25rem);width: 2.2rem;height: 2.5rem;background-image: url(../../images/ico_pdf_b.png);background-position: center center;background-size: auto 100%;background-repeat: no-repeat;}
.link_box a.blank {width: 100%;height: 100%;display:block;text-align: center;line-height: 54px;color: #293a45;text-decoration: none;}
.link_box a.blank span {position: relative;}
.link_box a.blank span:after {content: '';display: block;position: absolute;right: -4rem;bottom: calc(50% - 1.25rem);width: 2.2rem;height: 2.5rem;background-image: url(../../images/ico_blank.png);background-position: center center;background-size: 100% auto;background-repeat: no-repeat;}
.link_box a.blank:after {content: none;}

@media(max-width:768px) {
	#acMenu dt {font-size: 1.6rem;padding: 1.0rem 1.5rem;}
	#acMenu dt:after {right: 2rem;}
	#acMenu dd {font-size: 1.4rem;padding: 1.0rem 1.5rem;}
	
	#TabMenu {}
	#TabMenu dt {font-size: 1.5rem;}
	#TabMenu dd {font-size: 1.5rem;}
	#TabMenu dd p {}
	#TabMenu dd .auth {padding-top: 3rem;text-align: right;font-size: 1.5rem;}
	#TabMenu dd .auth span {font-size: 1.8rem;display: block;}
	#TabMenu dt .read_o .readmore {display: none;}
	ul.envir.c li {margin-top: 1em;}
	a.blank:after {content: '';display: block;position: absolute;right: 1rem;top: 0.3em;width: 2rem;height: 1.5rem;background-image: url("../../images/ico_blank.png");background-position: center center;background-size: auto 100%;background-repeat: no-repeat;}.announcement {}
	.acc_box {}
	.acc_box .btn_acc {width: 100%;height: 45px;line-height: 45px;font-size: 1.5rem;font-weight: 700;box-sizing: border-box;position: relative;cursor: pointer;padding-bottom: 0.5em;margin-bottom: 1.5em;border-bottom: solid 1px #000;}
	.acc_box .contact_tit.btn_acc {height: auto;line-height:2;font-size: 1.5rem; padding-bottom: 0.5rem;padding-right: 2.5rem; margin-bottom: 1.5rem;border-bottom: solid 1px #0098b8;}
	.acc_box .btn_acc span {content: '';position: absolute;width: 16px;height: 16px;top: 50%;right: 0.3rem;transform: translate(0, -50%);}
	.acc_box .btn_acc span:before {display: block;content: "";position: absolute;top: 0;right: 0;bottom: 0;left: 0;margin: auto;width: 16px;height: 2px;background-color: #293a45;transition: .2s;transform: rotate(90deg);-webkit-transform: rotate(90deg);}
	.acc_box .btn_acc span:after {display: block;content: "";position: absolute;top: 0;right: 0;bottom: 0;left: 0;margin: auto;width: 16px;height: 2px;background-color: #293a45;transition: .3s;}
	.acc_box .btn_acc.ttl--open span:before {transform: rotate(0deg);-webkit-transform: rotate(0deg);}
	.acc_box .btn_acc.ttl--open span:after {background-color: transparent;}
	.acc_box .content_acc {display: none;width: 100%;}
  .acc_box.cat_measu_hakodate .note {margin-left: 0;}
	.announcement .acc_box .content_acc ul {padding: 0;margin-bottom: 2em;display: block;}
	.announcement .acc_box .content_acc ul li {max-width: 500px;width: 100%; min-height: 45px;margin-bottom: 0.8em;}
	.announcement .acc_box .content_acc ul li a {width: 100%;height: 100%;box-sizing: border-box;padding: 0.6em 1em; color: #FFF;display: flex;justify-content: flex-start;align-items: center;text-decoration: none;font-size: 1.4rem;}
.announcement .acc_box .content_acc ul li a.shortterm {background-color:#293a45;}
.announcement .acc_box .content_acc ul li a.allyearround {background-color:#007E99;}
	a.pdf_w {position: relative;width: 100%;height: 100%;}
	a.pdf_w:after {content: '';display: block;position: absolute;right: 1rem;bottom: calc(50% - 1.25rem);width: 2.2rem;height: 2.5rem;background-image: url(../../images/ico_pdf_w.png);background-position: center center;background-size: auto 100%;background-repeat: no-repeat;}
	.reference {padding: 2em 0;}
	.link_box {width: 100%;height: auto;margin: 0 auto 0;padding: 0.5em 0.8em; background-color:#e6e6e6; }
	.link_box a.pdf_b {width: 100%;height: 100%;display:block;text-align: center;line-height: 1.8;color: #293a45;text-decoration: none;font-size: 1.5rem;}
	.link_box a.pdf_b span {position: relative;}
	.link_box a.pdf_b span:after {content: '';display: block;position: absolute;right: -4rem;bottom: calc(50% - 1.25rem);width: 2.2rem;height: 2.5rem;background-image: url(../../images/ico_pdf_b.png);background-position: center center;background-size: auto 100%;background-repeat: no-repeat;}
.link_box a.blank {width: 100%;height: 100%;display:block;text-align: center;line-height: 1.6;color: #293a45;text-decoration: none;}
}



/* ===================================================================================================================

	お問い合わせ

=================================================================================================================== */
.contact_rem {font-size:2.2rem;font-weight: 700;margin-bottom: 3.0rem;}
.contact_tit {font-size:2.2rem;font-weight: 700;padding-bottom: 1.0rem;margin-bottom: 3.0rem;border-bottom: solid 1px #0098b8;}
ul.contact {margin-bottom: 10rem;}
ul.contact li {padding-left: 1.5rem;position: relative;margin-bottom: 1rem;}
ul.contact li:before {content:'・';display: block;position: absolute;left: 0;top:0;width: 1rem;}
ul.contact li.list_no:before {content:'';display: block;position: absolute;left: 0;top:0;width: 1rem;}
ul.contact li a {font-size:1.8rem;color: #050514;text-decoration: none;position: relative;}
ul.contact li a span {text-decoration: underline;}
ul.contact li a:after {content: '';display: inline-block;width: 2rem;height: 1.5rem;margin-left: 0.5rem;background-image: url("../../images/ico_blank.png");background-position: center center;background-size: auto 100%;background-repeat: no-repeat;}
ul.contact li ul.num_round {padding: 0.5rem 0 0.5rem 11.0rem;paposition: relative;margin-bottom: 1rem;counter-reset: item;list-style-type: none;}
ul.contact li ul.num_round li {padding-left: 0rem;position: relative;margin-bottom: 0rem;}
ul.contact li ul.num_round li:before {content:'';display: block;position: absolute;left: 0;top:0;width: 0rem;}
ul.contact li ul.no_list {padding: 0.5rem 0 0.5rem 11.0rem;paposition: relative;margin-bottom: 1rem;counter-reset: item;list-style-type: none;}
ul.contact li ul.no_list li {padding-left: 0rem;position: relative;margin-bottom: 0rem;}
ul.contact li ul.no_list li:before {content:'';display: block;position: absolute;left: 0;top:0;width: 0rem;}
ul.contact li ul.no_list li.new {position: relative;}
ul.contact li ul.no_list li.new:before {content:'NEW';display: inline-block;position: absolute;left: -3.2em;top:50%;transform: translate(0,-50%);vertical-align: middle; width: 3em;height: 2.0em; background-color: rgba(239,0,3,1.00);color: #FFF;text-align: center;font-size: 1.4rem;line-height: 2.0em;}

@media(max-width:768px) {
	.contact_rem {font-size:1.5rem;font-weight: 700;margin-bottom: 3.0rem;}
	.contact_tit {font-size:1.5rem;font-weight: 700;padding-bottom: 1.0rem;margin-bottom: 3.0rem;border-bottom: solid 1px #0098b8;}
	ul.contact {margin-bottom: 10rem;}
	ul.contact li {padding-left: 1.5rem;position: relative;margin-bottom: 1rem;}
	ul.contact li:before {content:'・';display: block;position: absolute;left: 0;top:0;width: 1rem;}
	ul.contact li a {font-size:1.5rem;color: #050514;text-decoration: none;position: relative;}
	ul.contact li a span {text-decoration: underline;}
	ul.contact li a:after {content: '';display: block;position: absolute;right: -3rem;top:auto;bottom: 0;width: 2rem;height: 1.5rem;background-image: url("../../images/ico_blank.png");background-position: center center;background-size: auto 100%;background-repeat: no-repeat;}
ul.contact li ul.num_round {padding: 0.5rem 0 0.5rem 4.5rem;paposition: relative;margin-bottom: 1rem;list-style-type: none;}
ul.contact li ul.num_round li {padding-left: 0rem;position: relative;margin-bottom: 0rem;}
ul.contact li ul.num_round li:before {content:'';display: block;position: absolute;left: 0;top:0;width: 0rem;}
ul.contact li ul.no_list {padding: 0.5rem 0 0.5rem 4.5rem;paposition: relative;margin-bottom: 1rem;list-style-type: none;}
ul.contact li ul.no_list li {padding-left: 0rem;position: relative;margin-bottom: 0rem;}
ul.contact li ul.no_list li:before {content:'';display: block;position: absolute;left: 0;top:0;width: 0rem;}
}



/* ===================================================================================================================

	サイトポリシー

=================================================================================================================== */
.site_policy {}
.site_policy li {}
.site_policy li .li_tit {font-weight: 700;font-size: 22px;}
.site_policy li .li_tit span {display: inline-block;margin-right: 0.5em;}
.site_policy li .txt {padding-left: 1em;}
/*.site_policy li .txt p {text-indent: 1em;}*/
.site_policy li dl {padding-left: 1em;padding-top: 1em;}
.site_policy li dl dt {}
.site_policy li dl dt span {display: inline-block;margin-right: 0.5em;}
.site_policy li dl dd {padding-left: 0.75em;}
/*.site_policy li dl dd p {text-indent: 1em;}*/
.site_policy li dl dd ul.num {padding-top: 0.75em;}
.site_policy li dl dd ul.num li {padding-left: 1.5em;position: relative;}
.site_policy li dl dd ul.num li span {display: inline-block;position: absolute;left: 0;top:0;}
p.add {padding-top: 1em;/*padding-left: 1em;*/}
p.add span {display: inline-block;margin-left: -0.6em;}

@media(max-width:768px) {
.site_policy li .li_tit {font-weight: 700;font-size: 1.8rem;}
}



/* ===================================================================================================================

	代表挨拶

=================================================================================================================== */

.page-message .page_container {position: relative;padding: 0 40px 40px;}
.message_col {}
.message_col.col_01 {width: 100%;height: 442px; background-color: #f7f7f5;background-image: url("../../images/company/message/message_col_01bk.png");background-repeat: no-repeat;background-position: top center;background-size: 1641px 442px; }
.message_col .w {}
.col_01 .col_l {padding: 5.4rem 0;height:44.2rem; box-sizing: border-box;position: relative;}
.col_01 .col_l h2 {font-size: 4.0rem;color:#0098b8;letter-spacing: 0.2em; line-height: 2.0; }
html[lang=en] .col_01 .col_l h2 {letter-spacing: 0.01em; line-height: 1.4; }
.col_01 .col_l p.author {font-size: 1.8rem;color: #050514;position: absolute;left: 0;bottom: 5.4rem;font-weight: 700;}
html[lang=en] .col_01 .col_l p.author {font-size: 1.6rem;color: #050514;position: absolute;left: 0;bottom: 2.4rem;line-height: 1.6;font-weight: 500;}
.col_01 .col_l p.author span {font-size: 2.3rem}
html[lang=en] .col_01 .col_l p.author span {display: block;}
.message_col.col_02 {padding: 160px 0 0;width: 100%;background-image: url("../../images/company/message/message_col_02_01bk.png");background-repeat: no-repeat;background-position: top 60px center;background-size: 1641px 442px;}
.message_col.col_02 .col_02_01 {max-width: 1180px;margin: 0 auto 0;padding: 0 40px 5.6rem;}
.page-message .col2 {display: flex;justify-content: space-between;}
.page-message .col2 .txt_box {width: 640px;}
.page-message .col2 .txt_box h3 {font-size: 2.6rem;font-weight: 700;margin-bottom: 1.0rem;}
.page-message .col2 .txt_box .txt {}
.page-message .col2 .txt_box .txt p {font-size: 1.8rem;font-weight: 500;text-indent: 1em;margin: 0;}
.message_col.col_02 .col_02_01 .col2 {margin-bottom: 0;padding-bottom: 5.6rem;border-bottom: solid 1px #0098b8;}
.message_col.col_02 .col_02_01 .col2 .ph {width: 400px;}
.message_col.col_02 .col_02_01 .col2 .ph figure {}
.message_col.col_02 .col_02_01 .col2 .ph figure img {margin-right: -140px;}

.message_col.col_03 {padding: 0;width: 100%;background-image: url("../../images/company/message/message_col_02_02bk.png");background-repeat: no-repeat;background-position:center bottom -104px;background-size: 2000px 400px;}
.message_col.col_03 .col_03_01 {max-width: 1180px;margin: 0 auto 0;padding: 0 40px 2rem;}
.message_col.col_03 .col_03_01 .col2 {flex-flow: row-reverse;margin-bottom: 0;padding-bottom: 6rem;border-bottom: solid 1px #0098b8;}
.message_col.col_03 .col_03_01 .col2 .txt_box {}
.message_col.col_03 .col_03_01 .col2 .txt_box h3 {}
.message_col.col_03 .col_03_01 .col2 .txt_box .txt {}
.message_col.col_03 .col_03_01 .col2 .txt_box .txt p {}
.message_col.col_03 .col_03_01 .col2 .ph {width: 400px;}
.message_col.col_03 .col_03_01 .col2 .ph figure {}
.message_col.col_03 .col_03_01 .col2 .ph figure img {margin-left: -140px;}
.message_col.col_02.col_04 {padding: 4rem 0 47rem;
background-image: url("../../images/company/message/message_col_02_03bk.png"),url("../../images/company/message/ico.png");
background-repeat: no-repeat,no-repeat;
background-position:center top,bottom 20px center;
background-size: 2260px 879px,1720px 412px;
}
.message_col.col_02.col_04 .col_02_01 {padding-bottom: 0;}
.message_col.col_02.col_04 .col_02_01 .col2 {margin-bottom: 0;padding-bottom:0;border-bottom: none;}

@media screen and (max-width: 768px) {
	.page-message .page_container {position: relative;padding: 0 20px 20px;}
	.message_col {}
	.message_col.col_01 {width:calc(100% - 40px);margin: 0 auto 0;height:auto;aspect-ratio:630 / 952;background-color: inherit;background-image: url("../../images/company/message/message_col_01bk_sp.png");background-repeat: no-repeat;background-position: top center;background-size: 100% auto; }
	.col_01 .col_l {padding: 2.4rem 2rem;width: 100%;height: auto; aspect-ratio:630 / 952;; box-sizing: border-box;position: relative;}
	.col_01 .col_l h2 {font-size: 2.4rem;color:#FFF;letter-spacing: 0.2em; line-height: 2.0; }
	.col_01 .col_l p.author {width: 100%; font-size: 1.2rem;color: #050514;position: absolute;left: 0;bottom: 0.4rem;text-align: right;}
	html[lang=en] .col_01 .col_l p.author {width: 100%; font-size: 1.2rem;color: #050514;position: absolute;left: 0;bottom: 0;text-align: right;}
	.col_01 .col_l p.author span {font-size: 1.6rem;display: block;}
	.message_col.col_02 {padding: 10rem 0 0;width: 100%;background-image: url("../../images/company/message/message_col_02_01bk_sp.png");background-repeat: no-repeat;background-position: top center;background-size: 100% auto;}
	.message_col.col_02 .col_02_01 {max-width: 1180px;margin: 0 auto 0;padding: 0 20px 5rem;}
	.page-message .col2 {display: block;}
	.page-message .col2 .txt_box {width: 100%; margin-bottom: 4rem;}
	.page-message .col2 .txt_box h3 {font-size: 1.8rem;font-weight: 700;margin-bottom: 0.5rem;}
	.page-message .col2 .txt_box .txt {}
	.page-message .col2 .txt_box .txt p {font-size: 1.6rem;font-weight: 500;text-indent: 1em;margin: 0;}
	.message_col.col_02 .col_02_01 .col2 {margin-bottom: 0;padding-bottom: 5rem;border-bottom: solid 1px #0098b8;}
	.message_col.col_02 .col_02_01 .col2 .ph {width: 100%;}
	.message_col.col_02 .col_02_01 .col2 .ph figure {}
	.message_col.col_02 .col_02_01 .col2 .ph figure img {margin-right: 0;}

	.message_col.col_03 {padding: 0;width: 100%;background-image: url("../../images/company/message/message_col_02_02bk_sp.png");background-repeat: no-repeat;background-position:center bottom 33rem;background-size: 100% auto;}
	.message_col.col_03 .col_03_01 {max-width: 1180px;margin: 0 auto 0;padding: 0 20px 4rem;}
	.message_col.col_03 .col_03_01 .col2 {flex-flow:row;margin-bottom: 0;padding-bottom: 5rem;border-bottom: solid 1px #0098b8;}
	.message_col.col_03 .col_03_01 .col2 .txt_box {margin-bottom: 6rem;}
	.message_col.col_03 .col_03_01 .col2 .txt_box h3 {font-size: 1.8rem;font-weight: 700;margin-bottom: 0.5rem;}
	.message_col.col_03 .col_03_01 .col2 .txt_box .txt {}
	.message_col.col_03 .col_03_01 .col2 .txt_box .txt p {font-size: 1.6rem;font-weight: 500;text-indent: 1em;margin: 0;}
	.message_col.col_03 .col_03_01 .col2 .ph {width: 100%;}
	.message_col.col_03 .col_03_01 .col2 .ph figure {}
	.message_col.col_03 .col_03_01 .col2 .ph figure img {margin-left: 0;}
		.message_col.col_02.col_04 .col_02_01 .col2 .ph {padding: 6rem 0 0;}
	.message_col.col_02.col_04 {padding: 0rem 0 5rem;
	background-image: url("../../images/company/message/message_col_02_03bk_sp.png"),url("../../images/company/message/ico.png");
	background-repeat: no-repeat,no-repeat;
	background-position:center bottom 2rem,bottom 20px center;
	background-size: 100% auto,0 0;
	}
}

.page-404 .sec_content {padding: 3em 0;text-align: center;}
.page-404 .sec_content .in .cont_tit .sub span {font-size: 3.2rem;}
.page-404 .sec_content .in .cont_tit .title {font-size: 3.2rem;}
@media screen and (max-width: 768px) {
	.page-404 .sec_content .in .cont_tit .sub span {font-size: 6.4vw;}
	.page-404 .sec_content .in .cont_tit .title {font-size: 6.4vw;}
}


html:not([lang="ja"]) .show-only_ja,
html:not([lang="en"]) .show-only_en {
  display: none !important;
}
