@charset "UTF-8";

@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 100;
}

@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 200;
}

@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 300;
}

@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 400;
}

@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Bold");
	font-weight: bold;
}

@font-face {
	font-family: "Helvetica Neue";
	src: local("Helvetica Neue Regular");
	font-weight: 100;
}

@font-face {
	font-family: "Helvetica Neue";
	src: local("Helvetica Neue Regular");
	font-weight: 200;
}

/* IE10以上 */

@media all and (-ms-high-contrast: none) {
	html, body, input, button, textarea, select {
		font-family: Verdana, Meiryo, sans-serif !important;
	}
	footer nav#footernav ul li#pushnate {
		display: none;
	}
}


/* for IE */
html {
  -ms-overflow-style: scrollbar;
}
/* for Chrome */
	header img,
	footer img {
		-webkit-backface-visibility: hidden;
	}


@media screen and (max-width: 1179px) {}

@media screen and (max-width: 1023px) {}

@media screen and (max-width: 979px) {}

@media screen and (max-width: 879px) {}

@media screen and (min-width: 768px) {/*pc*/
	/*-----------------------------------------------------------------------
	* common
	*-----------------------------------------------------------------------*/
	.pcCont {
		display: inline-block;
	}
	.spCont {
		display: none;
	}
	html, body, header, main, footer {
		min-width: 1140px;
	}
	html, body, input, button, textarea, select {
		font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
		font-size: 14px;
		line-height: 1.6;
		letter-spacing: 0.1em;
	}
	body {
		-webkit-text-size-adjust: 100%;
	}
	h1 {
		font-size: 12px;
		font-weight: normal;
		color: rgba(255, 255, 255, 0.6);
		padding: 13px 446px 0 276px;
		height: 40px;
		overflow: hidden;
		text-align: left;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	h2 {
		font-size: 28px;
		margin-bottom: 44px;
	}
	h3 {
		font-size: 22px;
		margin-bottom: 40px;
	}
	h4 {
		font-size: 20px;
		margin-bottom: 36px;
	}
	h5 {
		font-size: 18px;
		margin-bottom: 32px;
	}
	body.simpleheader main {
		/*キャンペーンバナーなし*/
		padding-top: 105px;
		
		/*キャンペーンバナーあり
		padding-top: 145px;
		*/
	}
	h1, article section, header nav ul, footer nav, main nav ul {
		max-width: 1280px;
		margin: 0 auto;
	}
	main>article {
		padding-top: 80px;
		padding-bottom: 60px;
	}
	main article#mv {
		padding-top: 125px;
		padding-bottom: 0;
		height: 480px;
		position: relative;
		z-index: 0;
		overflow: hidden;
	}
	body.simpleheader main article#mv {
		padding-top: 0;
		height: auto;
	}
	main article#mv:before {
		content: '';
		background: inherit;
		-webkit-animation: image_blur 2s ease-out;
		-moz-animation: image_blur 2s ease-out;
		-ms-animation: image_blur 2s ease-out;
		animation: image_blur 2s ease-out;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: -1;
	}
	article section {
		padding-left: 16px;
		padding-right: 16px;
	}
	main article#mv h2 {
		font-size: 36px;
		line-height: 1.2;
	}
	main article#mv section:first-child {
		padding: 124px 0 0 0;
		height: 300px;
	}
	main h2 {}
	main table {
		margin: 40px auto;
	}
	main th, main td {
		padding: 20px 24px 19px;
	}


/*-----------------------------------------------------------------------
* header
*----------------------------------------------------------------------- */
	header {
		position: absolute;
		top: 0;
		z-index: 100;
		width: 100%;
		-webkit-transition: background-color 0.4s linear;
		-moz-transition: background-color 0.4s linear;
		transition: background-color 0.4s linear;
	}
	header.fixed {
		position: fixed;
		-webkit-box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.3);
		-moz-box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.3);
		-ms-box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.3);
		box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.3);
	}
	header.fixed nav#mainnav {
		background: rgba(255, 255, 255, 0.95);
	}
	header.fixed h1 {
		color: rgba(255, 255, 255, 0.6);
	}
	header nav {
		-webkit-transition: background-color 0.4s linear;
		-moz-transition: background-color 0.4s linear;
		transition: background-color 0.4s linear;
	}
	header nav#exnav {
		margin-top: -40px;
		border-bottom: 1px solid rgba(0, 0, 0, 0);
	}
	header.fixed nav#exnav {
		border-bottom: 1px solid #0e0e0e;
		background: #0e0e0e;
	}
	header nav#head__banner{
		background-image: url(/img/common/header_banner_akitabi.jpg);
		background-repeat: repeat-x;
		background-position: center top;
		background-size: auto 100%;
		position: relative;
		height: 40px;
	}
	header nav#head__banner a{
		position: absolute;
		inset: 0;
	}
	header a {
		color: #fff;
		display: inline-block;
		text-align: left;
		text-decoration: none;
		font-weight: bold;
		-webkit-transition: background-color 0.4s linear;
		-moz-transition: background-color 0.4s linear;
		transition: background-color 0.4s linear;
	}
	header nav#mainnav ul li a {
		height: 64px;
		font-size: 13px;
		/*padding: 24px 16px 0;*/
		padding: 24px 10px 0;
	}
	header.fixed nav#mainnav ul li a {
		color: #0e0e0e;
	}
header nav#mainnav ul li a span {
  display: inline-block;
  height: 100%;
  padding: 0 4px;
	-webkit-transition: color 0.4s linear;
	-moz-transition: color 0.4s linear;
	transition: color 0.4s linear;
}
header nav#mainnav ul li.selected a span,
header nav#mainnav ul li a:hover span {
	color: #038de1;
	border-bottom: 3px solid #038de1;
	-webkit-opacity: 1;
	-moz-opacity: 1;
	opacity: 1;
}
header nav#mainnav ul li a:hover {
	-webkit-opacity: 1;
	-moz-opacity: 1;
	opacity: 1;
}
/*
header nav#mainnav ul li.selected a,
header nav#mainnav ul li a:hover{
	color: #038de1;
	border-bottom: 3px solid #038de1;
	-webkit-opacity: 1;
	-moz-opacity: 1;
	opacity: 1;
}
*/
	header nav#exnav ul li a {
		height: 40px;
		padding: 12px 20px 0 36px;
		font-size: 12px;
		background-color: #333;
		background-position: 16px center;
	}
	header nav#exnav ul li:nth-child(2) {
		float: left;
		display: none;
	}
	header.fixed nav#exnav ul li:nth-child(2) {
		display: inline-block;
	}
	header nav#exnav ul li:nth-child(2) a {
		position: relative;
		margin-left: 16px;
	}
	header nav#exnav ul li:nth-child(2) a::before {
		position: absolute;
		top: 6px;
		bottom: 0;
		margin: auto;
		content: "";
		vertical-align: middle;
		left: 16px;
		width: 6px;
		height: 6px;
		border-top-width: 2px;
		border-top-style: solid;
		border-top-color: #fff;
		border-right-width: 2px;
		border-right-style: solid;
		border-right-color: #fff;
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	header nav#exnav ul li#mlogout {
		/*display: none;*/
	}
	header nav#exnav ul li:nth-child(3) a {
		height: 40px;
		padding: 12px 20px 0 36px;
		font-size: 12px;
		background-color: #333;
		background-image: url(/img/common/icon-logout-wh.png);
		background-position: 16px center;
		background-size: 14px;
	}
	header nav#exnav ul li:nth-child(4) a {
		height: 40px;
		padding: 12px 20px 0 38px;
		font-size: 12px;
		background-color: #333;
		background-image: url(/img/common/icon-new-wh.png);
		background-position: 16px center;
		background-size: 14px;
	}
	header nav#exnav ul li:nth-child(5) a {
		background-color: #0e0e0e;
		background-image: url(/img/common/icon-member-wh.png);
		background-size: 14px;
	}
	header nav#exnav ul li:last-child a {
		color: #0e0e0e;
		background-color: #fcff00;
		background-image: url(/img/common/icon-wifi-bk.png);
		background-size: 18px;
	}
	header nav#exnav ul li:nth-child(2) a:hover, header nav#exnav ul li:nth-child(3) a:hover, header nav#exnav ul li:nth-child(4) a:hover, header nav#exnav ul li:nth-child(5) a:hover, header nav#exnav ul li:last-child a:hover {
		-webkit-opacity: 1;
		-moz-opacity: 1;
		opacity: 1;
	}
	header nav#exnav ul li a:hover, header nav#exnav ul li:nth-child(5) a:hover {
		background-color: #444;
	}
	header nav#exnav ul li:last-child a:hover {
		background-color: #d6d900;
	}
	header nav ul {
		text-align: right;
	}
	header nav ul li {
		display: inline-block;
		margin: 0;
		text-indent: 0;
	}
	header nav#exnav ul li:first-child, header nav#mainnav ul li:first-child {
		float: left;
		position: relative;
	}
	
	header nav#exnav ul li:first-child a, header nav#mainnav ul li:first-child a {
		padding: 0;
		background-color: transparent;
		-webkit-transition: -webkit-opacity 0.4s linear;
		-moz-transition: -moz-opacity 0.4s linear;
		transition: opacity 0.4s linear;
		vertical-align: middle;
	}
	header nav#exnav ul li:first-child a:hover, header nav#mainnav ul li:first-child a:hover {
		vertical-align: middle;
		background-color: transparent;
		-webkit-opacity: 0.6;
		-moz-opacity: 0.6;
		opacity: 0.6;
	}
	header nav#exnav ul li:first-child a {
		position: absolute;
		z-index: 101;
		left: -62px;
		top: -137px;
		width: 318px;
		height: 137px;
	}
	header nav#mainnav ul li:first-child a {
		width: 250px;
		height: 64px;
		display: none;
		border: none;
	}
	header nav#mainnav ul li:first-child a img {
		padding: 17px 0 17px;
	}
	header nav#mainnav ul li {
		background-image: url(/img/common/nav-divline-w.png);
		background-position: right center;
	}
	header.fixed nav#mainnav ul li {
		background-image: url(/img/common/nav-divline-g.png);
	}
	header nav#mainnav ul li:first-child, header nav#mainnav ul li:last-child, header.fixed nav#mainnav ul li:first-child, header.fixed nav#mainnav ul li:last-child {
		background-image: none;
	}


	header nav#mainnav ul li.mainnav-about a {
		padding-left: 34px;
		background-image: url(/img/common/badge-newbie.png);
		background-size: 18px auto;
		background-position: top 20px left 12px;
	}

	header nav#mainnav ul li.mainnav-business {
		position: relative;
	}



/*-----------------------------------------------------------------------
* navi
*----------------------------------------------------------------------- */
	main nav#breadcrumb{
		height: 50px;
		margin: 0 0 -50px;
		padding: 4px 0 0;
		position: relative;
		z-index: 1;
	}
	main nav#directrylink {
		padding-top: 16px;
		padding-bottom: 16px;
		background: #232323;
	}
	main nav ul {
		text-align: left;
	}
	main nav#directrylink ul {
		background: url(/img/common/link.png) 8px center no-repeat;
		padding-left: 64px;
	}
	main nav ul li {
		font-size: 12px;
	}
	main nav#breadcrumb ul {
		height: 100%;
		overflow: hidden;
	}
	main nav#breadcrumb ul li{
		padding-left: 24px;
		position: relative;
	}
	main nav#breadcrumb.white ul li{
		color:#fff;
	}
	nav#breadcrumb ul li::before{
		position: absolute;
		top: 0;
		left: 6px;
		bottom: 0;
		margin: auto;
		content: "";
		vertical-align: middle;
		width: 6px;
		height: 6px;
		border-top-width: 1px;
		border-top-style: solid;
		border-top-color: #0e0e0e;
		border-right-width: 1px;
		border-right-style: solid;
		border-right-color: #0e0e0e;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	nav#breadcrumb.white ul li::before{
		border-top-color: #fff;
		border-right-color: #fff;
	}
	main nav#breadcrumb ul li:first-child{
		margin-left: 20px;
		padding-left: 0;
	}
	nav#breadcrumb ul li:first-child::before{
		content:none;
	}
	main nav#breadcrumb ul li a{
		color: #0e0e0e;
		padding: 10px 4px;
		text-decoration: underline;
	}
	main nav#breadcrumb.white ul li a{
		color: #fff;
	}
	main nav#breadcrumb ul li:first-child a{
		padding-left: 0;
		display: inline-block;
	}
	main nav#breadcrumb ul li:first-child a img {
		position: relative;
		top: -1px;
		width: 14px;
	}


/*-----------------------------------------------------------------------
* footer
*----------------------------------------------------------------------- */
	footer {
		text-align: center;
		background: #2b94e4;
		color: #fff;
	}
	footer .foot-nav-logo{
		margin: 0;
		display: inline-block;
	}
	footer .foot-nav-logo a{
		display: inline-block;
		width:200px;
	}
	footer #foot-nav{
		padding-top: 48px;
		border-right: 16px solid #fff;
		border-left: 16px solid #fff;
	}
	footer #foot-nav .appealBox {
		width: 320px;
		vertical-align: middle;
		letter-spacing: -.4em;
		margin: 30px auto 0;
	}
	footer #foot-nav .appealBox .appealIcon {
		display: inline-block;
		width: 30%;
		margin: 0 4px;
		letter-spacing: normal;
	}
	footer nav {
		padding-left: 16px;
		padding-right: 16px;
	}
	footer nav#footersns {}
	footer nav#footernav {}
	footer nav#footernav div {
		border-top: 1px solid #6bb4ec;
		display: inline-block;
		text-align: left;
	}
	
	
	footer nav#footernav ul li:nth-of-type(1) a,
	footer nav#footernav ul:last-of-type li a {
		font-size: 13px;
		font-weight: bold;
		padding: 7px 0;
		display: inline-block;
		line-height: 1.9;
	}
	footer nav a {
		font-size: 12px;
		color: #fff;
		text-decoration: none;
	}
	footer nav a:hover {
		text-decoration: underline;
	}
	footer nav#footernav ul li a:hover .is-adjust_position {
    text-decoration: underline;
	}
	footer nav#footersns ul {
		margin-bottom: 0;
		padding: 20px 0 32px;
	}
	footer nav#footernav ul {
		display: inline-block;
		vertical-align: top;
		margin: 24px 48px 36px 0;
	}
	footer nav#footernav ul:last-of-type {
		margin-right: 0;
	}
	footer nav#footernav ul li {
		display: block;
		text-align: left;
	}
	footer nav#footernav ul li a {
		padding: 2px 0;
		display: inline-block;
	}
	footer nav#footersns li {
		margin: 4px;
	}
	footer nav#footersns li a {
		-webkit-opacity: 0.6;
		-moz-opacity: 0.6;
		opacity: 0.6;
	}
	footer nav#footersns li a:hover {
		-webkit-opacity: 1;
		-moz-opacity: 1;
		opacity: 1;
	}
	footer nav#footersns li a img {
		width: 40px;
		padding: 2px;
	}


/* 20191008 contact fix */
footer address .is-sp_br {
  display: none;
}
footer address{
	background: #eaf5fc;
	font-style: normal;
	display: inline-block;
	margin-bottom: 48px;
	padding: 30px 50px 30px 49px;
}
footer address h3,
footer address> p,
footer address a {
	display: inline-block;
	text-align: left;
  vertical-align: middle;
}
footer address h3 {
  margin: 0 32px 0 0;
  position: relative;
  top: -2px;
  width: 140px;
}
footer address> p {
  margin: 0 30px 0 0;
  color: #0e0e0e;
  font-size: 13px;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.5;
  text-shadow: 0 0 0 #0e0e0e;
}
footer address a {
  margin: 0;
  text-decoration: none;
}
footer address a p{
	margin-bottom: 0;
  font-size: 14px;
	line-height: 1;
	font-weight: bold;
	background-color: #2b94e4;
	background-size: 14px;
	text-indent: 0;
	height: auto;
	color: #fff;
	text-decoration: none;
	padding: 20px 83px 19px 84px;
  position: relative;
}
footer address a p::after {
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  content: '';
  display: block;
  height: 12px;
  margin: -6px 22px 0 0;
  position: absolute;
  right: 0;
  transform: rotate(-45deg);
  top: 50%;
  width: 12px;
}


	footer #footercorp {
		background: #fff;
		color: #0e0e0e;
		text-align: left;
		padding: 30px 16px;
		overflow: hidden;
	}
	footer #footercorp img {
		margin: 4px;
	}
	footer #footercorp small {
		font-family: "Helvetica Neue", Helvetica, Verdana, Arial, sans-serif;
		font-size: 11px;
		font-style: italic;
		letter-spacing: 0;
	}
	footer #footercorp p {
		display: inline-block;
		margin-bottom: 0;
	}
	footer #footercorp p:nth-of-type(1) {
		float: left;
	}
	footer #footercorp p:nth-of-type(2) {
		float: right;
	}


/*-----------------------------------------------------------------------
* modal
*----------------------------------------------------------------------- */
	.modal {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, 0.8);
		z-index: 999;
	}
	.modal .wrapper {
		background: #f0f5f9;
		max-width: 720px;
		font-weight: normal;
		font-size: 16px;
		-webkit-box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.3);
		-moz-box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.3);
		-ms-box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.3);
		box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.3);
		max-height: 90%;
		overflow: auto;
		text-align: right;
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}
	.modal .wrapper .content {
		background: #fff;
		padding: 32px;
		text-align: center;
		font-size: 14px;
		line-height: 1.8;
	}
	.modal .wrapper h4 {
		text-align: center;
		font-size: 22px;
		margin: 24px 0 36px;
	}
	.modal .wrapper h5 {
		font-size: 16px;
		margin-bottom: 12px;
		color: #038de1;
	}
	.modal .wrapper p {
		margin: 0 0 2em;
	}
	.modalclose {
		display: inline-block;
		border-left: 3px solid #fff;
		padding: 20px 80px;
		font-size: 14px;
		font-weight: bold;
		color: #0e0e0e;
		text-decoration: none;
		position: relative;
		-webkit-transition: background-color 0.4s linear;
		-moz-transition: background-color 0.4s linear;
		transition: background-color 0.4s linear;
	}
	.modalclose:hover {
		background: #038de1;
		color: #fff;
		-webkit-opacity: 1;
		-moz-opacity: 1;
		opacity: 1;
	}
	.modalclose::before, .modalclose::after {
		position: absolute;
		top: 0;
		left: 24px;
		bottom: 0;
		margin: auto;
		content: "";
		vertical-align: middle;
		background: #666;
	}
	.modalclose::before {
		width: 14px;
		height: 2px;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.modalclose::after {
		width: 14px;
		height: 2px;
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	.modalclose:hover::before, .modalclose:hover::after {
		background: #fff;
	}
	


	label, select, option {
		cursor: pointer;
	}


/*-----------------------------------------------------------------------
* qa
*----------------------------------------------------------------------- */
	main article#qa {
		text-align: center;
		padding-top: 80px;
		padding-bottom: 80px;
		background: #f0f5f9;
	}
	main article#qa h2 {}
	main article#qa dl {
		max-width: 1000px;
		margin: 0 auto 40px;
		font-weight: bold;
		text-align: left;
	}
	main article#qa dt {
		margin-top: 2px;
		font-size: 16px;
		color: #fff;
		background-color: #71baf6;
		padding: 22px 72px 21px;
		background-image: url(/img/common/icon-qa-q.png);
		background-repeat: no-repeat;
		background-position: 40px 25px;
		position: relative;
		cursor: pointer;
		-webkit-transition: -webkit-opacity 0.4s linear;
		-moz-transition: -moz-opacity 0.4s linear;
		transition: opacity 0.4s linear;
	}
	main article#qa dt:hover {
		-webkit-opacity: 0.6;
		-moz-opacity: 0.6;
		opacity: 0.6;
	}
	main article#qa dt:nth-of-type(1) {
		background-color: #2b94e4;
	}
	main article#qa dt:nth-of-type(2) {
		background-color: #3d9de8;
	}
	main article#qa dt:nth-of-type(3) {
		background-color: #4ea8ef;
	}
	main article#qa dt:nth-of-type(4) {
		background-color: #5caff2;
	}
	main article#qa dd {
		font-size: 14px;
		background-color: #fff;
		padding: 20px 72px;
		background-image: url(/img/common/icon-qa-a.png);
		background-repeat: no-repeat;
		background-position: 40px 22px;
		display: none;
	}
	main article#qa dt::after {
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		content: "";
		vertical-align: middle;
	}
	main article#qa dt::after {
		right: 20px;
		width: 16px;
		height: 16px;
		background: url(/img/common/icon-qa-plus.png);
	}
	main article#qa dt.open::after {
		background: url(/img/common/icon-qa-minus.png);
	}


/*-----------------------------------------------------------------------
* airportmap
*----------------------------------------------------------------------- */
	main .airportmap {
		width: 800px;
		margin: 0 auto;
		padding-bottom: 50px;
	}
	main .airportmap ul.mapul {
		background-image: url(/img/delivery/airportmap-bg.png);
		background-position: left top;
		background-repeat: no-repeat;
		position: relative;
		width: 754px;
		height: 458px;
		margin: 0 auto;
	}
	main .airportmap ul.mapul li {
		text-align: left;
		display: block;
		position: absolute;
		background-repeat: no-repeat;
		background-position: left bottom;
		z-index: 1;
	}
	main .airportmap ul.mapul li a {
		text-align: left;
		font-size: 11px;
		line-height: 1;
		display: block;
		padding: 12px 6px;
		box-sizing: content-box;
		position: absolute;
		background-repeat: no-repeat;
		background-position: center center;
		z-index: 10;
	}
	main .airportmap ul.mapul li.cts {
		background-image: url(/img/delivery/airportmap-cts-line.png);
		width: 134px;
		height: 82px;
		left: 596px;
		top: 100px;
	}
	main .airportmap ul.mapul li.nrt {
		background-image: url(/img/delivery/airportmap-nrt-line.png);
		width: 216px;
		height: 42px;
		left: 494px;
		top: 324px;
	}
	main .airportmap ul.mapul li.hnd {
		background-image: url(/img/delivery/airportmap-hnd-line.png);
		width: 208px;
		height: 86px;
		left: 470px;
		top: 361px;
	}
	main .airportmap ul.mapul li.ngo {
		background-image: url(/img/delivery/airportmap-ngo-line.png);
		width: 157px;
		height: 86px;
		left: 359px;
		top: 363px;
	}
	main .airportmap ul.mapul li.kix {
		background-image: url(/img/delivery/airportmap-kix-line.png);
		width: 147px;
		height: 176px;
		left: 264px;
		top: 198px;
	}
	main .airportmap ul.mapul li.fuk {
		background-image: url(/img/delivery/airportmap-fuk-line.png);
		width: 160px;
		height: 71px;
		left: 0px;
		top: 291px;
	}


/*-----------------------------------------------------------------------
* planmap
*----------------------------------------------------------------------- */
	main nav.tab.planmap {
		border-bottom: none;
		margin: 40px auto;
		width: 1000px;
		height: 414px;
		padding-left: 760px;
		background: url(/img/plan/map-bg.png) left top no-repeat;
		position: relative;
	}
	main nav.tab.planmap ul li {
		display: block;
		text-align: left;
		margin: 0;
		width: auto;
		vertical-align: middle;
	}
	main nav.tab.planmap ul li a {
		color: #0e0e0e;
		text-decoration: none;
		font-size: 13px;
		line-height: 1;
		position: relative;
		padding: 17px 16px 16px 36px;
		background-color: transparent;
		display: block;
		font-weight: bold;
		text-align: left;
	}
	main nav.tab.planmap ul li a.selected, main nav.tab.planmap ul li a:hover {
		padding: 17px 16px 16px 36px;
		color: #fff;
		background-color: #038de1;
	}
	main nav.tab.planmap ul li a::before, main nav.tab.planmap ul li a::after {
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		content: "";
		vertical-align: middle;
	}
	main nav.tab.planmap ul li a::before {
		left: 14px;
		width: 9px;
		height: 2px;
		background: #0e0e0e;
	}
	main nav.tab.planmap ul li a::after {
		left: 14px;
		width: 6px;
		height: 6px;
		border-top-width: 2px;
		border-top-style: solid;
		border-top-color: #0e0e0e;
		border-right-width: 2px;
		border-right-style: solid;
		border-right-color: #0e0e0e;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	main nav.tab.planmap ul li a.selected::before, main nav.tab.planmap ul li a:hover::before {
		background: #fff;
	}
	main nav.tab.planmap ul li a.selected::after, main nav.tab.planmap ul li a:hover::after {
		border-top-color: #fff;
		border-right-color: #fff;
	}
	main nav.tab.planmap ul.overray {
		position: absolute;
		width: 760px;
		top: 0;
		left: 0;
	}
	.pchide {
		display: none;
	}
	main{
		/*キャンペーンバナーなし*/
		padding-top: 105px;
		
		/*キャンペーンバナーあり
		padding-top: 145px;
		*/
	}
	header nav#spgmenu, header nav#spnav, header nav#spmpnav {
		display: none;
	}
}


/*-----------------------------------------------------------------------
* smartphone @767
*----------------------------------------------------------------------- */
@media screen and (max-width: 767px) {/*smartphone*/
	.pcCont {
		display: none;
	}
	.spCont {
		display: block;
	}
	html, body, input, button, textarea, select, ul li {
		font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
		font-size: 13px;
		line-height: 1.6;
		letter-spacing: 0.1em;
	}
	body {
		-webkit-text-size-adjust: 100%;
	}
	* {
		max-width: 767px;
	}
	main .modal {
		max-width: 100%;
	}
	html, body, header, footer, #sim-sp nav, #sim-sp form {
		margin-right: auto;
		margin-left: auto;
	}
	h1 {
		font-size: 10px;
		line-height: 1;
		font-weight: normal;
		background-color: #0e0e0e;
		color: rgba(255, 255, 255, 0.6);
		padding: 9px 8px 0;
		margin: 0;
		height: 28px;
		overflow: hidden;
		text-align: left;
		text-overflow: ellipsis;
		white-space: nowrap;
		position: absolute;
		width: 100%;
		top: -28px;
		z-index: 100;
	}
	h2 {
		font-size: 20px;
		margin-bottom: 20px;
	}
	h3 {
		font-size: 18px;
		margin-bottom: 18px;
	}
	h4 {
		font-size: 16px;
		margin-bottom: 16px;
	}
	h5 {
		font-size: 14px;
		margin-bottom: 14px;
	}
	input, select, button, textarea {
		font-size: 16px;
		padding: 8px;
		border: 1px solid #808080;
		line-height: 1.4;
	}
	select {
		height: 42px;
	}
	main {
		/*キャンペーンバナーなし*/
		padding-top: 78px;
		
		/*キャンペーンバナーあり
		padding-top: 114px;
		*/
		background-color: #fff;
	}
  main.none_proper {
    padding-top: 78px;
  }
	main>article {
		padding-top: 40px;
		padding-bottom: 30px;
	}
	main article#mv {
		padding-top: 0;
		padding-bottom: 0;
	}
	article section {
		padding-left: 12px;
		padding-right: 12px;
	}
	article section section {
		padding-left: 0;
		padding-right: 0;
	}
	main article#mv section:first-child {
		padding: 35px 0 0;
		position: relative;
		max-width: 425px;
		height: 110px;
		margin: 0 auto;
	}
	main h2 {}
	main table {
		margin: 20px auto;
	}
	main th, main td {
		padding: 8px;
	}
	.swiper-button-next {
		right: 8px;
	}
	.swiper-button-prev {
		left: 8px;
	}
	input[type="button"], input[type="text"], input[type="password"], input[type="date"], input[type="email"], input[type="number"], textarea, input[type="submit"] {
		-webkit-appearance: none;
		border-radius: 0;
	}


/*-----------------------------------------------------------------------
* style @767
*----------------------------------------------------------------------- */
	main nav#breadcrumb{
		height: 32px;
		margin: 0 0 -32px;
		padding: 2px 0 0;
		position: relative;
		z-index: 1;
	}
	main nav#breadcrumb ul {
		height: 100%;
		overflow: hidden;
		overflow-x: scroll;
		padding: 0 10px 0 0;
		text-align: left;
		/* text-overflow: ellipsis; */
		white-space: nowrap;
	}
	main nav#breadcrumb ul li{
		display: inline;
		font-size: 10px;
		padding-left: 16px;
		position: relative;
	}
	main nav#breadcrumb.white ul li{
		color:#fff;
	}
	nav#breadcrumb ul li::before{
		position: absolute;
		top: 0;
		left: 3px;
		bottom: 0;
		margin: auto;
		content: "";
		vertical-align: middle;
		width: 5px;
		height: 5px;
		border-top-width: 1px;
		border-top-style: solid;
		border-top-color: #0e0e0e;
		border-right-width: 1px;
		border-right-style: solid;
		border-right-color: #0e0e0e;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	nav#breadcrumb.white ul li::before{
		border-top-color: #fff;
		border-right-color: #fff;
	}
	main nav#breadcrumb ul li:first-child{
		margin-left: 8px;
		padding-left: 0;
	}
	nav#breadcrumb ul li:first-child::before{
		content:none;
	}
	main nav#breadcrumb ul li a{
		color: #0e0e0e;
		display: inline-block;
		padding: 8px 4px;
		text-decoration: underline;
	}
	main nav#breadcrumb.white ul li a{
		color: #fff;
	}
	main nav#breadcrumb ul li:first-child a{
		padding-left: 0;
		display: inline-block;
	}
	main nav#breadcrumb ul li:first-child a img {
		position: relative;
		top: -1px;
		width: 14px;
	}
	
	main nav.tab ul li a {
		font-size: 11px;
		padding: 16px 12px 15px;
		line-height: 1.4;
	}
	main nav.tab ul li a.selected {
		padding: 18px 12px 17px;
	}
	.underline {
		padding-bottom: 12px !important;
	}


/*-----------------------------------------------------------------------
* header @767
*----------------------------------------------------------------------- */
	header {
		position: absolute;
		width: 100%;
		max-height: 100%;
		top: 28px;
		z-index: 99;
	}
	header.abs {
		top: 28px !important;
	}
	header nav#spnav {
		display: block;
		height: 50px;
		background-color: #fff;
		border-bottom: 1px solid #e9e9e9;
		-webkit-transition: background-color 0.4s linear;
		-moz-transition: background-color 0.4s linear;
		transition: background-color 0.4s linear;
		position: absolute;
		z-index: 98;
		width: 100%;
		top: 0;
	}
header nav#spnav.fixed {
  position: fixed;
  top: 0;
	border-bottom: none;
	background: rgba(255,255,255,0.95);
	-webkit-box-shadow: 0px 0px 6px rgba(0,0,0,0.3);
	-moz-box-shadow: 0px 0px 6px rgba(0,0,0,0.3);
	-ms-box-shadow: 0px 0px 6px rgba(0,0,0,0.3);
	box-shadow: 0px 0px 6px rgba(0,0,0,0.3);
}


header nav#spmpnav{
	padding-top: 50px;
	width: 100%;
	z-index: 96;
	display: block;
}
header nav#spmpnav ul{
	background-color: #fff;
}
header nav#spmpnav ul li{
	padding: 6px 0 4px;
	color: #000;
}
header nav#spmpnav ul li:nth-of-type(1){
  width: calc(100% - 138px);
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding-right: 14px;
  padding-left: 20px;
  min-width: 182px; /* 320px-138px */
  overflow: hidden;
}
header nav#spmpnav ul li:nth-of-type(1) span{
  position: relative;
  top: -1px;
	font-size: 10px;
	color: #B8860B;
}
header nav#spmpnav ul li:nth-of-type(2){
	padding: 0;
}
header nav#spmpnav ul li:nth-of-type(2) a{
	color: #fff;
	padding-left: 18px;
	text-decoration: none;
	background-image: url(/img/common/icon-member-wh.png);
	background-size: 15px;
	background-position: 22px center;
	background-color: #2b94e4;
	width: 138px;
	line-height: 36px;
    display: inline-block;
}
header nav#shadow{
	padding-top: 78px;
	margin-top: -28px;
	position: absolute;
	width: 100%;
	z-index: 95;
	display: block;
}
header nav#spnav.fixed {
  position: fixed;
  top: 0;
	border-bottom: none;
	background: rgba(255,255,255,0.95);
	-webkit-box-shadow: 0px 0px 6px rgba(0,0,0,0.3);
	-moz-box-shadow: 0px 0px 6px rgba(0,0,0,0.3);
	-ms-box-shadow: 0px 0px 6px rgba(0,0,0,0.3);
	box-shadow: 0px 0px 6px rgba(0,0,0,0.3);
}
/*
header.fixed nav#spmpnav{
	border-bottom: none;
	background: rgba(255,255,255,0.95);
	-webkit-box-shadow: 0px 0px 6px rgba(0,0,0,0.3);
	-moz-box-shadow: 0px 0px 6px rgba(0,0,0,0.3);
	-ms-box-shadow: 0px 0px 6px rgba(0,0,0,0.3);
	box-shadow: 0px 0px 6px rgba(0,0,0,0.3);
}
header.fixed nav#shadow{
	border-bottom: none;
	background: rgba(255,255,255,0.95);
	-webkit-box-shadow: 0px 0px 6px rgba(0,0,0,0.3);
	-moz-box-shadow: 0px 0px 6px rgba(0,0,0,0.3);
	-ms-box-shadow: 0px 0px 6px rgba(0,0,0,0.3);
	box-shadow: 0px 0px 6px rgba(0,0,0,0.3);
}
*/
header nav#spnav.fixed+ nav+ nav#spgmenu {
  position: fixed;
}
header.spgmenu nav#spnav{
	border-bottom: none;
}
header.fixed.spgmenu nav#spnav{
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	-ms-box-shadow: none;
	box-shadow: none;
}
header.spgmenu{
	height: 100%;
}
header nav#spgmenu{
	padding-bottom: 50px;
	position: absolute;
	width: 100%;
	height: 100%;
	overflow: scroll;
  top: 50px;
	z-index: 97;
	visibility: hidden;
	background-color: rgba(0,0,0,0.7);
}
header nav#spgmenu{
	z-index: 96;
}
header.spgmenu nav#spgmenu{
	visibility: visible;
}
header nav#spgmenu::before,
header nav#spgmenu>ul {
  right: -100%;
  width: 84.5%;
  margin-left: auto;
	background-color: #0082dd;
}
header nav#spgmenu::before {
  position: absolute;
  z-index: 1;
  content: '';
  display: block;
  height: 110vh;
}
header nav#spgmenu>ul{
  position: relative;
  z-index: 2;
  margin-bottom: 0;
}
header nav#spgmenu.open::before,
header nav#spgmenu>ul.open {
	right: 0;
		transition: 0.2s linear;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	-ms-transition: 0.2s linear;
}
header nav#spgmenu>ul>li>ul{
	background-color: #005b9b;
	padding: 0 12px;
	display: none;
	border-top: 2px solid rgba(0,0,0,0.3);
}
header nav#spgmenu ul li{
	display: list-item;
}
header nav#spgmenu>ul>li{
  border-bottom: 1px solid rgba(255,255,255,0.5);
}
header nav#spgmenu>ul>li>ul>li{
  border-bottom: 1px solid rgba(255,255,255,0.4);
}
header nav#spgmenu ul li:last-of-type{
	border-bottom: none;
}
header nav#spgmenu ul li a{
	display: block;
	position: relative;
	color: #fff;
	text-decoration: none;
	font-weight: bold;
	text-align: left;
}
header nav#spgmenu ul li a:hover {
  opacity: 1.0;
}
header nav#spgmenu>ul>li>ul>li>a{
	padding: 16px 4px 16px 32px;
	font-size: 12px;
}
header nav#spgmenu>ul>li>a{
	padding: 16px 12px 14px 44px;
	font-size: 13px;
	background-position: 14px center;
	background-size: 21px;
  background-color: #038de1;
}
header nav#spgmenu>ul>.spgmenu-about> a{
	background-image: url(/img/common/nav-sp-about.png);
}
header nav#spgmenu>ul>li.spgmenu-usage> a{
	background-image: url(/img/common/badge-newbie.png);
  background-size: 18px;
  background-position: 15px center;
}
header nav#spgmenu>ul>li.spgmenu-plan> a{
	background-image: url(/img/common/nav-sp-plan.png);
}
header nav#spgmenu>ul>li.spgmenu-casestudy> a{
	background-image: url(/img/common/nav-sp-casestudy.png);
}
header nav#spgmenu>ul>li.spgmenu-delivery> a{
	background-image: url(/img/common/nav-sp-delivery.png);
}
header nav#spgmenu>ul>li.spgmenu-busines> a{
	background-image: url(/img/common/nav-sp-bag.png);
}
header nav#spgmenu>ul>li.spgmenu-faq> a,
header nav#spgmenu.spgmenu-none_proper>ul>li.spgmenu-faq>a{
	background-image: url(/img/common/nav-sp-faq.png);
}
header nav#spgmenu>ul>li.spgmenu-mypage> a{
	background-image: url(/img/common/icon-member-wh.png);
  background-size: 17px;
  background-position: 17px center;
}
header nav#spgmenu>ul>li.spgmenu-mypage> a span{
  display:block;
  padding-right: 30px;
	font-size: 10px;
}
header nav#spgmenu>ul>li.spgmenu-contactus> a{
	background-image: url(/img/common/icon-mail-wh.png);
  background-size: 15px;
  background-position: 17px center;
}
header nav#spgmenu>ul>li.spgmenu-form> a,
header nav#spgmenu.spgmenu-none_proper>ul>li.spgmenu-form> a{
	background-image: url(/img/common/icon-wifi-bk.png);
	background-size: 18px;
	background-color: #fcff00;
  background-position: 17px center;
	color: #0e0e0e;
}
header nav#spgmenu>ul:first-of-type>li.spgmenu-busines {
	position: relative;
}
header nav#spgmenu>ul:first-of-type>li.spgmenu-busines::after{
	position: absolute;
	content: " ";
	display: inline-block;
  top: 6px;
  left: 134px;
	width: 22px;
	height: 23px;
	vertical-align: middle;
	pointer-events: none;
	background: url(/img/common/badge-new.png) center center no-repeat;
}
header nav#spgmenu ul li a::before,
header nav#spgmenu ul li a::after {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 8px;
	margin: auto;
	content: "";
	vertical-align: middle;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
header nav#spgmenu ul li a::before {
	height: 2px;
	background: #fff;
	width: 9px;
}
header nav#spgmenu ul li a::after {
	border-top-width: 2px;
	border-top-style: solid;
	border-top-color: #fff;
	border-right-width: 2px;
	border-right-style: solid;
	border-right-color: #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	width: 6px;
	height: 6px;
}
header nav#spgmenu>ul>li.spgmenu-form> a::before {
	background: #0e0e0e;
}
header nav#spgmenu>ul>li.spgmenu-form> a::after {
	border-top-color: #0e0e0e;
	border-right-color: #0e0e0e;
}

header nav#spgmenu>ul>li>a::before,
header nav#spgmenu>ul>li>a::after {
	right: 19px;
}
header nav#spgmenu>ul>li>a::before {
	width: 11px;
}
header nav#spgmenu>ul>li>a::after {
	width: 8px;
	height: 8px;
}

header nav#spgmenu>ul>li>a.plus::before,
header nav#spgmenu>ul>li>a.plus::after,
header nav#spgmenu>ul>li>a.minos::before,
header nav#spgmenu>ul>li>a.minos::after {
	right: 18px;
	height: 2px;
	background: #fff;
	width: 12px;
	border: none;
}
header nav#spgmenu>ul>li>a.plus::after {
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}

  header nav#spgmenu ul.sns {
    padding-bottom: 150px;
  }
header nav#spgmenu ul.sns li a::before,
header nav#spgmenu ul.sns li a::after,
header nav#spgmenu>ul>li>a.minos::after {
	content:none;
}
header nav#spgmenu ul.sns li{
	text-align: left;
	vertical-align: top;
	width: 33.3%;
	display: inline-block;
	background-color: #1b93e7;
	border-right: 1px solid #0082dd;
	border-bottom: none;
	border-top: 1px solid #0073c3;
}
header nav#spgmenu ul.sns li:nth-of-type(3),
header nav#spgmenu ul.sns li:nth-of-type(6),
header nav#spgmenu ul.sns li:nth-of-type(9){
	border-right: none;
}
header nav#spgmenu ul.sns li a {
	padding: 15px 0;
	display: block;
	height:50px;
	text-align: center;
  opacity: 0.6;
	background-image: none;
}
header nav#spgmenu ul.sns li a:hover {
  opacity: 1.0;
}
header nav#spgmenu ul.sns li a img {
	width: auto;
	height: 16px;
}

/* Google＋削除 20190403_matsuyama */
header nav#spgmenu ul.sns li:nth-last-child(1),
header nav#spgmenu ul.sns li:nth-last-child(2) {
	width: 50%;
}


	header nav#spnav ul {
		font-size: 0;
		text-align: right;
	}
	header nav#spnav ul li {
		text-align: left;
		display: inline-block;
	}
	header nav#spnav ul li a {
		vertical-align: middle;
		display: inline-block;
		font-size: 12px;
		text-align: left;
		height: 50px;
		width: 50px;
		background-position: center center;
		background-repeat: no-repeat;
		background-size: 50%;
		-webkit-transition: background-color 0.4s linear;
		-moz-transition: background-color 0.4s linear;
		transition: background-color 0.4s linear;
	}
	header nav#spnav ul li a:hover {
		-webkit-opacity: 1;
		-moz-opacity: 1;
		opacity: 1;
	}
	header nav#spnav ul li:nth-of-type(1){
		float: left;
	}
	header nav#spnav ul li:nth-child(3) a {
		background-color: #0e0e0e;
	}
	header.spgmenu nav#spnav ul li:nth-child(3) a {
		background-color: #0082dd;
	}
	header nav#spnav ul li a img.open {
		display: block;
	}
	header nav#spnav ul li a img.close {
		display: none;
		opacity: 1.0;
	}
	header.spgmenu nav#spnav ul li:nth-child(3) a img.open {
		display: none;
	}
	header.spgmenu nav#spnav ul li:nth-child(3) a img.close {
		display: block;
	}
	header nav#spnav ul li:nth-of-type(1) a {
		width: 156px;
		padding: 10px 0 10px 13px;
	}
	header nav#spnav ul li:nth-of-type(1) a:hover {
		color: #fff;
	}
		header nav#spnav ul li:nth-of-type(1) a img {
    width: auto;
    height: 30px;
	}
	header nav#spnav ul li:nth-of-type(2) a{
		text-indent: 0;
		color: #0e0e0e;
		background-color: #fcff00;
		font-weight: bold;
		text-decoration: none;
		line-height: 50px;
		text-align: center;
		width: 88px;
		background-image: url(/img/common/icon-wifi-bk.png);
		background-size: 18px;
		background-position: 10px center;
		padding: 0 10px 0 25px;
		border-left: 1px solid rgba(51, 51, 51, 0.25);
		margin-left: -1px;
	}

	main nav#directrylink {
		/* margin-top: 9px; */
		padding-top: 7px;
		padding-bottom: 7px;
		background: #232323;
		overflow: scroll;
	}
	main nav#directrylink>ul {
		background: url(/img/common/link.png) 12px center no-repeat;
		white-space: nowrap;
		padding: 0 8px 0 62px;
	}
	main nav#directrylink>ul>li:last-of-type>a {
		margin-right: 8px;
	}


	/*-----------------------------------------------------------------------
* footer @767
*----------------------------------------------------------------------- */
	#foot-banner {
		padding: 20px 0;
	}
	#foot-banner .swiper-slide {
		width: 220px;
	}
	footer {
		text-align: center;
		background: #2b94e4;
		color: #fff;
	}
	footer .foot-nav-logo{
		margin: 0 auto 20px;
		display: inline-block;
	}
	footer .foot-nav-logo a{
		display: inline-block;
	}
	footer #foot-nav {
		padding: 20px 8px 8px;
	}
  
	footer #footercorp {
		background: #fff;
		color: #0e0e0e;
		padding: 20px 8px 70px;
		overflow: hidden;
		text-align: center;
	}
	footer #footercorp img {
		margin: 4px;
	}
	footer #footercorp small {
		font-family: "Helvetica Neue", Helvetica, Verdana, Arial, sans-serif;
		font-size: 10px;
		font-style: italic;
		letter-spacing: 0;
	}
	footer #footercorp p {
		margin-bottom: 0;
	}


	/*-----------------------------------------------------------------------
* modal @767
*----------------------------------------------------------------------- */
	.modal {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, 0.8);
		z-index: 999;
	}
	.modal .wrapper {
		background: #f0f5f9;
		width: 90%;
		font-weight: normal;
		font-size: 16px;
		-webkit-box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.3);
		-moz-box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.3);
		-ms-box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.3);
		box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.3);
		max-height: 90%;
		overflow: auto;
		text-align: right;
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}
	.modal .wrapper .content {
		background: #fff;
		text-align: center;
		font-size: 13px;
		line-height: 1.8;
		padding: 16px;
	}
	.modal .wrapper h4 {
		text-align: center;
		font-size: 20px;
		margin: 16px 0 24px;
	}
	.modal .wrapper h5 {
		font-size: 16px;
		margin-bottom: 12px;
		color: #038de1;
	}
	.modal .wrapper p {
		margin: 0 0 2em;
	}
	.modal .wrapper .content a.btn {
		display: block;
	}
	.modalclose {
		display: inline-block;
		border-left: 3px solid #fff;
		padding: 20px 80px;
		font-size: 12px;
		font-weight: bold;
		color: #0e0e0e;
		text-decoration: none;
		position: relative;
		-webkit-transition: background-color 0.4s linear;
		-moz-transition: background-color 0.4s linear;
		transition: background-color 0.4s linear;
	}
	.modalclose:hover {
		background: #038de1;
		color: #fff;
		-webkit-opacity: 1;
		-moz-opacity: 1;
		opacity: 1;
	}
	.modalclose::before, .modalclose::after {
		position: absolute;
		top: 0;
		left: 24px;
		bottom: 0;
		margin: auto;
		content: "";
		vertical-align: middle;
		background: #666;
	}
	.modalclose::before {
		width: 14px;
		height: 2px;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.modalclose::after {
		width: 14px;
		height: 2px;
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	.modalclose:hover::before, .modalclose:hover::after {
		background: #fff;
	}


	/*-----------------------------------------------------------------------
* simulation @767
*----------------------------------------------------------------------- */
	.ui-datepicker .ui-datepicker-header {
		padding: 15px 0 14px !important;
	}
	.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next {
		width: 40px !important;
		height: 40px !important;
	}
	.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span {
		width: 40px !important;
		height: 40px !important;
		background-size: 28px !important;
	}
	.ui-datepicker td span, .ui-datepicker td a {
		padding: 14px 0 13px !important;
		width: 40px !important;
		text-align: center !important;
	}
	#sim-sp nav {
		position: fixed;
		display: block;
		bottom: 0;
		width: 100%;
		z-index: 110;
		background-color: #0e0e0e;
		height: 50px;
		-webkit-box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3);
		-moz-box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3);
		-ms-box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3);
		box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3);
	}
	#sim-sp.spsimplan nav, #sim-sp.spsimdate nav {
		-webkit-box-shadow: none;
		-moz-box-shadow: none;
		-ms-box-shadow: none;
		box-shadow: none;
	}
	#sim-sp nav ul {
		font-size: 0;
	}
	#sim-sp nav ul li {
		width: 33.3%;
	}
	#sim-sp nav ul li a {
		color: #fff;
		text-decoration: none;
		font-weight: bold;
		display: block;
		height: 50px;
		text-align: center;
		padding: 17px 0 0 20px;
		font-size: 12px;
		background-position: 12px center;
	}
	#sim-sp nav ul li a:hover {
		-webkit-opacity: 1;
		-moz-opacity: 1;
		opacity: 1;
	}
	#sim-sp nav ul li:nth-of-type(3) {
		float: right;
	}
	#sim-sp nav ul li:nth-of-type(1) a {
		background-color: #333;
		background-image: url(/img/common/icon-yen-wh.png);
		background-size: 16px;
	}
	#sim-sp.spsimplan nav ul li:nth-of-type(1) a {
		background-color: #0384d3;
		background-image: url(/img/common/sp-nav-close.png);
		background-size: 50px;
		background-position: -5px center;
	}
	#sim-sp nav ul li:nth-of-type(2) a {
		background-color: #0e0e0e;
		background-image: url(/img/common/icon-clock-wh.png);
		background-size: 16px;
	}
	#sim-sp.spsimdate nav ul li:nth-of-type(2) a {
		background-color: #e6b000;
		color: #0e0e0e;
		background-image: url(/img/common/sp-nav-close-bk.png);
		background-size: 50px;
		background-position: -5px center;
	}
	#sim-sp nav ul li:nth-of-type(3) a {
		color: #0e0e0e;
		background-color: #fcff00;
		background-image: url(/img/common/icon-wifi-bk.png);
		background-size: 18px;
	}


/*-----------------------------------------------------------------------
* qa @767
*----------------------------------------------------------------------- */
	main article#qa {
		text-align: center;
		padding-top: 40px;
		padding-bottom: 30px;
		background: #f0f5f9;
	}
	main article#qa section {
		padding-left: 8px;
		padding-right: 8px;
	}
	main article#qa h2 {}
	main article#qa dl {
		max-width: 1000px;
		margin: 0 auto 20px;
		text-align: left;
	}
	main article#qa dt {
		margin-top: 2px;
		font-size: 13px;
		font-weight: bold;
		color: #fff;
		background-color: #71baf6;
		padding: 14px 36px 13px 34px;
		background-image: url(/img/common/icon-qa-q-sp.png);
		background-repeat: no-repeat;
		background-position: 12px 16px;
		background-size: 15px;
		position: relative;
		cursor: pointer;
		-webkit-transition: -webkit-opacity 0.4s linear;
		-moz-transition: -moz-opacity 0.4s linear;
		transition: opacity 0.4s linear;
	}
	main article#qa dt:hover {
		-webkit-opacity: 0.6;
		-moz-opacity: 0.6;
		opacity: 0.6;
	}
	main article#qa dt:nth-of-type(1) {
		background-color: #2b94e4;
	}
	main article#qa dt:nth-of-type(2) {
		background-color: #3d9de8;
	}
	main article#qa dt:nth-of-type(3) {
		background-color: #4ea8ef;
	}
	main article#qa dt:nth-of-type(4) {
		background-color: #5caff2;
	}
	main article#qa dd {
		font-size: 13px;
		background-color: #fff;
		padding: 14px 12px 13px 34px;
		background-image: url(/img/common/icon-qa-a-sp.png);
		background-repeat: no-repeat;
		background-position: 12px 16px;
		background-size: 15px;
		display: none;
	}
	main article#qa dt::after {
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		content: "";
		vertical-align: middle;
	}
	main article#qa dt::after {
		right: 12px;
		width: 12px;
		height: 12px;
		background: url(/img/common/icon-qa-plus-sp.png);
		background-size: 12px;
	}
	main article#qa dt.open::after {
		background: url(/img/common/icon-qa-minus-sp.png);
		background-size: 12px;
	}


	/*-----------------------------------------------------------------------
* airportmap @767
*----------------------------------------------------------------------- */
	main .airportmap {}
	main .airportmap ul.mapul {
		margin-bottom: 20px;
	}
	main .airportmap ul.mapul>img {
		margin: 0 auto 20px;
		width: 300px;
		display: block;
	}
	main .airportmap ul.mapul li {
		width: 50%;
	}
	main .airportmap ul.mapul li a {
		display: block;
		margin: 0 2px 4px;
		background-color: #038de1;
		color: #fff;
		text-decoration: none;
		padding: 12px 0 12px 8px;
		font-weight: bold;
		text-align: left;
	}
	main .airportmap ul.mapul li a span {
		color: rgba(255, 255, 255, 0.7);
		font-size: 10px;
		margin-left: 4px;
	}


	/*-----------------------------------------------------------------------
* planmap @767
*----------------------------------------------------------------------- */
	main section.planmap {
		border-bottom: none;
		margin: 20px auto 40px;
		width: 304px;
		height: 168px;
		padding: 0;
		background: url(/img/plan/map-bg.png) left top no-repeat;
		position: relative;
		background-size: 304px;
	}
	main section.planmap ul li {
		display: block;
		text-align: left;
		margin: 0;
		width: auto;
		vertical-align: middle;
	}
	main section.planmap ul li a {
		color: #0e0e0e;
		text-decoration: none;
		font-size: 13px;
		line-height: 1;
		position: relative;
		padding: 17px 16px 16px 36px;
		background-color: transparent;
		display: block;
		font-weight: bold;
		text-align: left;
	}
	main section.planmap ul li a.selected, main section.planmap ul li a:hover {
		padding: 17px 16px 16px 36px;
		color: #fff;
		background-color: #038de1;
	}
	main section.planmap ul li a::before, main section.planmap ul li a::after {
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		content: "";
		vertical-align: middle;
	}
	main section.planmap ul li a::before {
		left: 14px;
		width: 9px;
		height: 2px;
		background: #0e0e0e;
	}
	main section.planmap ul li a::after {
		left: 14px;
		width: 6px;
		height: 6px;
		border-top-width: 2px;
		border-top-style: solid;
		border-top-color: #0e0e0e;
		border-right-width: 2px;
		border-right-style: solid;
		border-right-color: #0e0e0e;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	main section.planmap ul li a.selected::before, main section.planmap ul li a:hover::before {
		background: #fff;
	}
	main section.planmap ul li a.selected::after, main section.planmap ul li a:hover::after {
		border-top-color: #fff;
		border-right-color: #fff;
	}
	main section.planmap ul.overray {
		position: absolute;
		top: 0;
		left: 0;
	}
	.sphide {
		display: none;
	}
	header nav#exnav, header nav#mainnav {
		display: none;
	}
	header nav#spmpnav .head__banner-sp{
		background-image: url(/img/common/header_banner_akitabi.jpg);
		background-repeat: no-repeat;
		background-position: center top;
		background-size: cover;
		position: relative;
		height: 36px;
	}
	header nav#spmpnav .head__banner-sp a{
		position: absolute;
		inset: 0;
	}
	footer nav#footernav {
		display: none;
	}
	footer #foot-nav {
		padding: 20px 8px 10px;
		border:none;
	}

	footer #foot-nav .appealBox {
		width: 80%;
		vertical-align: middle;
		letter-spacing: -.4em;
		margin: 0 auto 30px;
	}
	footer #foot-nav .appealBox .appealIcon {
		display: inline-block;
		width: 30%;
		margin: 0 4px;
		letter-spacing: normal;
	}
	footer .foot-nav-logo a {
		display: inline-block;
	width: 140px;
	margin: 0;
	}
footer nav#footersns ul {
		margin-bottom: 22px;
		padding: 0;
}
footer nav#footersns li:not(:last-of-type) {
  margin-right: 6px;
}
footer nav#footersns li a {
	width: 40px;
	display: inline-block;
	-webkit-opacity: 0.6;
	-moz-opacity: 0.6;
	opacity: 0.6;
}
footer nav#footersns li a:hover {
    -webkit-opacity: 1;
    -moz-opacity: 1;
    opacity: 1;
}
footer nav#footersns li a {
    background-image: none;
}
footer nav#footersns li a img {
	width: 72.4%;
}


footer address .is-pc_br {
  display: none;
}
footer address .is-sp_br {
  display: block;
}
footer address {
	background: #eaf5fc;
	color:#0e0e0e;
	font-style: normal;
	display: block;
	margin-top: 16px;
	padding: 25px 22px 22px;
	font-weight: bold;
}
footer address h3 {
	width: 110px;
	margin: 0 auto 18px;
	text-align: center;
	line-height: 0;
}
footer address> p {
  margin: 0 0 18px;
  color: #0e0e0e;
  font-size: 13px;
  font-weight: bold;
  letter-spacing: 0.05em;
}
footer address a {
  margin: 0;
	display: block;
	text-align: center;
	text-decoration: none;
	font-weight: bold;
}
footer address a p{
	margin-bottom: 0;
  font-size: 13px;
	line-height: 1;
	font-weight: bold;
	background-color: #2b94e4;
	background-size: 14px;
	text-indent: 0;
	height: auto;
	color: #fff;
	text-decoration: none;
	padding: 18px 0 16px;
  position: relative;
  width: 100%;
}
footer address a p::after {
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  content: '';
  display: block;
  height: 12px;
  margin: -6px 22px 0 0;
  position: absolute;
  right: 0;
  transform: rotate(-45deg);
  top: 50%;
  width: 12px;
}
/*
	footer address {
		font-size: 12px;
		color: #0e0e0e;
		font-style: normal;
		display: block;
		margin-top: 16px;
		margin-bottom: 0;
		padding: 20px;
		font-weight: bold;
	}
	footer address h3 {
		width: 89px;
		height: 31px;
		margin-bottom: 13px;
		text-align: center;
		line-height: 0;
	}
	footer address a,
	footer address p,
	footer address p span {
		display: block;
	}
	footer address a {
		text-align: center;
		text-decoration: none;
		color: #0e0e0e;
	}
	footer address p {
		text-align: center;
	}
	footer address p img {
		margin-right: auto;
		margin-left: auto;
	}
	footer address div.footercontact p span {
		font-size: 12px;
	}
	footer address p:first-of-type span {
		font-size: 11px;
	}
	footer address span.spCont {
	}
	footer address a:nth-of-type(1) {
		padding-bottom: 17px;
		margin-bottom: 17px;
		border-bottom: 1px solid #2b94e4;
	}
	footer address a:nth-of-type(1) p {
		margin-bottom: 0;
	}
	footer address a:nth-of-type(1) p img {
		margin: 8px auto 9px;
	}
	footer address a:nth-of-type(2) p img:nth-of-type(2) {
		width: 165px;
		margin: 9px 0;
	}
	
	footer address a:nth-of-type(1) p img:nth-of-type(1) {
		width: 201px;
	}
	footer address a:nth-of-type(1) span.spCont {
		font-size: 11px;
	}
		footer address a:nth-of-type(2) {
			margin-bottom: 19px;
		}
	footer address a:nth-of-type(3) {
		margin-bottom: 4px;
	}
	footer address a:nth-of-type(3) p {
		display: inline-block;
		font-size: 12px;
		line-height: 1;
		font-weight: bold;
		background-image: url(/img/common/icon-mail-wh.png);
		background-position: 20px center;
		background-color: #2b94e4;
		background-size: 14px;
		text-indent: 0;
		height: auto;
		color: #fff;
		text-decoration: none;
		margin-bottom: 0;
		padding: 20px 20px 19px 40px;
	}
	footer address div.footercontact p{
    margin: 0px 0 13px;
  }
	footer address> p:nth-of-type(1) {
		padding:0 0 17px;
		margin:0 0 17px;
		border-right: none;
		border-bottom: 1px solid #2b94e4;
	}
	footer address p:nth-of-type(1) a {
		background: url(/img/common/foot-freedial-sp.png) no-repeat center 8px;
		width: 100%;
		padding-top: 20px;
		margin: 8px 0 0;
		background-size: 201px;
		text-align: center;
		font-size: 11px;
		text-decoration: none;
		color: #0e0e0e;
		font-weight: bold;
		height: auto;
	}
	footer address p:nth-of-type(2) {
		margin:0 0 28px;
	}
	footer address p:nth-of-type(2) a {
		background: url(/img/common/foot-tel-sp.png) no-repeat center bottom;
		width: 100%;
		padding-bottom: 24px;
		margin: 0;
		background-size: 165px;
		text-align: center;
		text-indent: 0;
		font-size: 11px;
		text-decoration: none;
		color: #0e0e0e;
		font-weight: bold;
		height: auto;
	}
  footer address p:nth-of-type(2) a span {
    display: none;
  }
	footer address p:nth-of-type(3) {
		margin-left: 0;
	}
  footer address p:nth-of-type(3) a {
    display: inline-block;
  }
*/

	footer #footercorp {
		padding: 20px 8px 22px;
		text-align: center;
	}
	footer #footercorp p {
		margin-bottom: 0;
		display: block;
	}
	footer #footercorp p:nth-of-type(1){
		float: none;
	}
	footer #footercorp small {
		font-size: 10px;
	}
}
/* end 767px */

@media screen and (max-width: 719px) {
}

@media screen and (max-width: 479px) {
  /* 20191008 contact fix */
  footer address .is-sp_br {
    display: none;
  }
  footer address {
    padding: 25px 16px 18px;
  }
  footer address h3 {
    margin: 0 auto 18px;
  }
  footer address> p {
    font-size: 12px;
    margin: 0 0 16px;
  }
}
@media screen and (max-width: 320px) {
}


/*-----------------------------------------------------------------------
* printer fix
*-----------------------------------------------------------------------*/
@media print {
	header,
	footer {
		display: none !important;
	}
	body.simpleheader main {
		padding-top: 0 !important;
	}
}




/* header_login_name_20190618_matsuyama */
	header nav#exnav ul li#mlogout{
		padding: 8px 10px;
		text-align: center;
		line-height: 13px;
		background-color: #444;
		height: 40px;
	}
	header nav#exnav ul li#mlogout span{
		font-size: 10px;
	}
