@charset "UTF-8";
/* ------------------------------------------------------------ common */
body {
	position: relative;
	min-width: 1160px;
	height: 100%;
	font-family: 'Noto-Sans-JP-Regular';
/* 	opacity: 0; */
	transition: 1s;
}

#wrapper {
	transition: 0s;
}

#wrapper.fixed {
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
}

a:link {
	color: #111;
	text-decoration: none;
}

a:visited {
	color: #111;
	text-decoration: none;
}

a:hover,
a:hover img,
input[type="submit"]:hover {
	color: #111;
	text-decoration: none;
	filter:alpha(opacity=80);
	-moz-opacity: 0.8;
	opacity: 0.8;
}

input[type="text"],
select,
textaera {
	border: 1px solid #b5b5b5;
	border-radius: inherit;
	outline: inherit;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
	padding: 0;
	border: none;
}

.inner {
	width: 1100px;
	margin: 0 auto;
}

.SP {
	display: none;
}

.text {
	margin: auto;
	text-align: center;
}

p {
	color: #3e3a39;
}

.text p {
	font-size: 20px;
	line-height: 230%;
	color: #000;
}

.airplane.left {
	background: url(../images/wavy-left.png) center center no-repeat;
	padding: 50px 0;
	margin: 0 0 100px;
}

.airplane.right {
	background: url(../images/wavy-right.png) center center no-repeat;
	padding: 50px 0;
	margin: 0 0 100px;
}

.pagetop {
	position: fixed;
	right: 30px;
	bottom: 30px;
	z-index: 1;
}

/* ------------------------------------------------------------ fonts */
@font-face {
   font-family: 'Noto-Sans-JP-Light';
   src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.woff2) format('woff2'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.woff) format('woff'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.otf) format('opentype');
 }
 @font-face {
    font-family: 'Noto-Sans-JP-DemiLight';
    src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.woff2) format('woff2'),
         url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.woff) format('woff'),
         url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.otf) format('opentype');
 }
 @font-face {
    font-family: 'Noto-Sans-JP-Regular';
    src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff2) format('woff2'),
         url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff) format('woff'),
         url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.otf) format('opentype');
  }
 @font-face {
    font-family: 'Noto-Sans-JP-Medium';
    src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff2) format('woff2'),
         url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff) format('woff'),
         url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.otf) format('opentype');
 }
 
 @font-face {
    font-family: 'Noto-Sans-JP-Bold';
    src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff2) format('woff2'),
         url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff) format('woff'),
         url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.otf) format('opentype');
 
 }

/* ------------------------------------------------------------ nav */
#nav {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index: 1;
	background: #fff;
	padding: 50px 0;
}

.sticky:before,
.sticky:after {
    content: '';
    display: table;
}

#nav .nav-icon {
	width: 100%;
	display: table;
}

#nav .nav-icon a {
	width: calc(100% / 5);
	display: table-cell;
	border-left: dotted 4px #3e3a39;
}

#nav .nav-icon a:last-of-type {
	border-right: dotted 4px #3e3a39;
}

#nav .nav-icon a img {
	margin: auto;
	display: block;
}

#nav .nav-icon a img.SP {
	display: none;
}

#sp_menu_btn {
	display: none;
}

#sp_menu {
	display: none;
}

/* ------------------------------------------------------------ footer */
footer {
	text-align: center;
}

footer .footer-logo {
	padding: 70px 0 0;
}

footer small {
	display: block;
	padding: 40px 0;
}

footer .banner_list {
	padding: 40px 0 0;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

footer .banner_list li {
	margin: 0 0 15px 15px;
}

footer .banner_list li:first-child {
	width: 100%;
}

footer .banner_list li {
	
}

/* ------------------------------------------------------------ mobile ------------------------------------------------------------ */
@media only screen and (max-width:640px){

/* ------------------------------------------------------------ common */
	body {
		min-width: 100%;
		font-size: 15px;
	}

	body.isHidden {
		overflow: hidden;
	}

	.PC {
		display: none;
	}
	
	.SP {
		display: block;
	}
	
	.inner {
		width: 93%;
	}
	
	.text p {
		font-size: 15px;
		line-height: 180%;
	}
	
	.airplane.left {
		background-size: contain;
		padding: 30px 0;
		margin: 0;
	}
	
	.airplane.right {
		background-size: contain;
		padding: 30px 0;
		margin: 0;
	}
	
	img {
		width: 100%;
		height: auto;
	}
	
	.pagetop {
		right: 15px;
		bottom: 10px;
	}
	
	.pagetop img {
		width: 50px;
		height: auto;
	}

/* ------------------------------------------------------------ nav */
	#nav {
		display: none;
	}
	
	#sp_menu_btn {
		display: block;
		position: fixed;
		right: 15px;
		top: 15px;
		background: #00a2e9;
		padding: 12px 10px;
	}
	
	#sp_menu_btn span {
		 display: block;
		 width: 24px;
		 height: 2px;
		 background: #fff;
		 margin: 0 0 7px;
	}
	
	#sp_menu_btn span:last-of-type {
		 margin: 0;
	}
	
	#sp_menu {
		display: block;
		position: fixed;
		left: 0;
		top: -100vh;
		background: #fff;
		width: 100vw;
		height: 100vh;
		height: calc(var(--vh, 1vh) * 100);
		transition: 0.4s;
	}
	
	#sp_menu.isOpen {
		top: 0;
		transition: 0.4s;
	}
	
	#sp_menu .inner {
		width: 74%;
	}
	
	#sp_menu .close_menu {
		position: absolute;
		right: 20px;
		top: 20px;
		width: 25px;
		height: auto;
	}
	
	#sp_menu .logo {
		text-align: center;
		padding: 30px 0 40px;
	}
	
	#sp_menu .logo a img {
		width: 100px;
		height: auto;
	}
	
	#sp_menu ul li {
		margin: 0 0 30px;
	}
	
	#sp_menu ul li a img {
		width: 100%;
		height: auto;
	}
	
	#sp_menu .lang {
		margin-top: 60px;
		text-align: center;
	}
	
	#sp_menu .lang a {
		display: inline-block;
		font-size: 16px;
		color: #000;
	}
	
	#sp_menu .lang a:after {
		display: inline-block;
		content: "";
		background-color: #000;
		border-radius: 5px;
		width: 2px;
		height: 16px;
		margin: 0 10px;
		vertical-align: -2px;	
	}
	
	#sp_menu .lang a:last-child:after {
		display: none;
	}

/* ------------------------------------------------------------ footer */
	footer {
		width: 93%;
		margin: auto;
	}

	
	footer .banner_list li {
		width: 48%;
		margin: 0 1% 2%;
	}

	footer .banner_list li img {
		width: 100%;
		height: auto;
	}
	
	footer .banner {
		padding: 50px 0 0;
	}
	
	footer .banner img {
		width: 100%; height: auto;
	}
	
	footer .footer-logo {
		padding: 30px 0 0;
		width: 30%;
		margin: auto;
	}
	
	footer small {
		display: block;
		padding: 30px 0;
		font-size: 11px;
	}

}