@charset "UTF-8";
/* CSS Document */


html {
	background:#fff;
	color:#000;
}
html.lock{
	overflow: hidden;
	-ms-touch-action: none;
	touch-action: none;
}
body{
	font-size: 3.75vw;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	line-height:1.0;
	letter-spacing:0px;
	-webkit-text-size-adjust: 100%;/*スマホ文字拡大対策*/
}
/* --A-- */
a {
	cursor:pointer;
	text-decoration:none;
	-webkit-tap-highlight-color:rgba(0,0,0,0);/*リンクタップ時のハイライト表示無効*/
}
a:hover {
	text-decoration:underline;
}
/* --HEADLINE-- */
h1, h2, h3, h4, h5, h6 {
	font-size:100%;
	font-weight:400;
	margin:0;
	max-height: 100%;/*android chrome対策*/
}
/* --OTHER TAGS-- */
p {
	margin-bottom:0;
	text-align:left;
	width:auto;
	max-height: 100%;/*android chrome対策*/
}
em, strong {
	font-weight:bold;
}
/* --clearfix-- */
.clf:after{
	content: ".";
	display: block;
	height: 0;
	font-size:0;
	clear: both;
	visibility:hidden;
}
.clf{
	display: inline-block;
}
	/* Hides from IE Mac */
	* html .clf{
		height: 1%;
	}
	.clf{
		display:block;
	}
	
.center{text-align:center;}
.left{text-align:left;}
.right{text-align:right;}
.Fright {float:right;}
.Fleft {float:left;}
.imgRight {float:right; margin:0px 0px 20px 20px ;}
.imgLeft {float:left; margin:0px 20px 20px 0px ;}
.vm,
.vmTxt{
	display: inline-block;
	position: relative;
	top:50%;
	-moz-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
/*親に設定*/
.vmf_b{
	-js-display: flex;
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	align-items: center;
}
.vmf_ib{
	-js-display: inline-flex;
	display: -webkit-inline-flex;
	display: inline-flex;
	justify-content: center;
	align-items: center;
}
.opBtf a{
	opacity: 1;
	-webkit-transition: opacity 0.25s ease;
	transition: opacity 0.25s ease;
}
.opBtf a,
.opBtf a *{
	backface-visibility: hidden;/*chrome transition 1pxズレ対策*/
}
.opBtf a:not(.noLink):hover{
	opacity: 0.5;
	-webkit-transition: opacity 0.35s ease;
	transition: opacity 0.35s ease;
}
.opBtf a.noLink{
	opacity: 0.5;
	cursor: default;
}


#loaderOuter{
	position:fixed;
	width:100%;
	height:100%;
	z-index:499;
	background:#FFF;
}
#loader{
	position: fixed;
	top:50%;
	left:50%;
	z-index:90;
}
.fwb{font-weight: bold !important;}
.fwn{font-weight: normal !important;}
.txtInd{text-indent: -1em;padding-left: 1em;}
.bb1{border-bottom: 1px solid #000;}
.bt1{border-top: 1px solid #000;}
.posRe{position: relative;}
.posAb{position: absolute;}
.posFix{position: fixed;}
.lh2{line-height: 2.0;}
.pc{display: none !important;}
/*.pc{display: none !important;}*/

.noEvent{pointer-events:none}/*IE11以降（IE11ではaタグには利かない）*/
.wrapper{overflow: hidden;}
/*deSVG
=============================*/
/*
.svgImg path{
	fill: #FFF;
}*/
.bt_entry a{
	display: block;
	background: #10386b;
	position: relative;
	text-align: center;
	width: 100%;
}
/*=============================
  header
=============================*/
header{
	position: fixed;
	top:0;
	left:0;
	width: 100%;
	z-index: 500;
}
header .logo{
	position: absolute;
	top:10px;
	left:10px;
	z-index: 500;
}
header .logo img{
	height: 20px;
	width: auto;
}


/*gnavBt
=============================*/
header #gnavBt {
	position: fixed;
	top:0px;
	right:0px;
	z-index:500;
}
header #gnavBt a{
	display: block;
	width: 38px;
	height: 38px;
	position: relative;
}
/*▼gnavBtアニメ*/
header #gnavBtBorder{
	z-index: 1;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-left: -11px;
	margin-top: -1px;
	display: block;
	width: 22px;
	height: 2px;
	background-color: #000;
	-webkit-transition: -webkit-transform 0.3s ease, top 0.3s ease;
	transition: transform 0.3s ease, top 0.3s ease;
}
header #gnavBtBorder:before {
	top: -8px;
	content: "";
	display: block;
	width: 22px;
	height: 2px;
	background-color: #000;
	position: absolute;
	z-index: -1;
	-webkit-transition: -webkit-transform 0.3s ease, top 0.3s ease, margin 0.2s ease;
	transition: transform 0.3s ease, top 0.3s ease, margin 0.2s ease;
}
header #gnavBtBorder:after {
	top: 8px;
	content: "";
	display: block;
	width: 22px;
	height: 2px;
	background-color: #000;
	position: absolute;
	z-index: -1;
	-webkit-transition: -webkit-transform 0.3s ease, top 0.3s ease, margin 0.2s ease;
	transition: transform 0.3s ease, top 0.3s ease, margin 0.2s ease;
}
header #gnavBt a.open #gnavBtBorder {
	background: none;
}
header #gnavBt a.open #gnavBtBorder:before {
	top:0 !important;
	margin-top: 0 !important;
	-webkit-transform:rotate(45deg);
	-ms-transform:rotate(45deg);
	transform:rotate(45deg)
}
header #gnavBt a.open #gnavBtBorder:after {
	top:0 !important;
	margin-top: 0 !important;
	-webkit-transform:rotate(-45deg);
	-ms-transform:rotate(-45deg);
	transform:rotate(-45deg)
}


/*gnav ani
=============================*/
nav#gnav {
	position: fixed;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
	z-index: 200;
	background: rgba(255,255,255,1);
	display: none;
	/*SP メニュースクロール用*/
	overflow: auto; /*togglemodal使う場合*/
	/*-webkit-overflow-scrolling: touch;togglemodal使う場合は使用禁止*/
	font-size:0;/*SPグロナビ中央寄せ*/
}
/*SPグロナビ中央寄せ*/
nav#gnav::before{
	content: '';
	display:inline-block;
	width: 0;
	height: 100%;
	vertical-align: middle;
}
nav#gnav > .inner{
	display: inline-block;
	vertical-align: middle;
	width: 100%;
}

nav#gnav.opening {
	display: block;
	-webkit-animation: opening 0.8s ease 0s 1 normal both;
	animation: opening 0.8s ease 0s 1 normal both;
}
nav#gnav.opened{display: block;}

nav#gnav.closing {
	display: block;
	-webkit-animation: closing 0.25s ease 0s 1 normal both;
	animation: closing 0.25s ease 0s 1 normal both;
}
nav#gnav.closed{display: none;}


@-webkit-keyframes opening {
	0% {
		-moz-perspective:1300px;
		-webkit-perspective: 1300px;
				perspective: 1300px;
		-webkit-transform: scale(1.5);
		-ms-transform: scale(1.5);
			transform: scale(1.5);
		filter: alpha(opacity=000);
		opacity: 0.0;
	}
	100% {
		-webkit-transform: scale(1.0);
		-ms-transform: scale(1.0);
			transform: scale(1.0);
		filter: alpha(opacity=100);
		opacity: 1.0;
	}
}
@keyframes         opening {
	0% {
		-moz-perspective:1300px;
		-webkit-perspective: 1300px;
				perspective: 1300px;
		-webkit-transform: scale(1.5);
		-ms-transform: scale(1.5);
			transform: scale(1.5);
		filter: alpha(opacity=000);
		opacity: 0.0;
	}
	100% {
		-webkit-transform: scale(1.0);
		-ms-transform: scale(1.0);
			transform: scale(1.0);
		filter: alpha(opacity=100);
		opacity: 1.0;
	}
}

@-webkit-keyframes closing {
	0% {
		-webkit-transform: scale(1.0);
		-ms-transform: scale(1.0);
			transform: scale(1.0);
		filter: alpha(opacity=100);
		opacity: 1.0;
	}
	100% {
		-moz-perspective:1300px;
		-webkit-perspective: 1300px;
				perspective: 1300px;
		-webkit-transform: scale(1.5);
		-ms-transform: scale(1.5);
			transform: scale(1.5);
		filter: alpha(opacity=000);
		opacity: 0.0;
	}
}
@keyframes         closing {
	0% {
		-webkit-transform: scale(1.0);
		-ms-transform: scale(1.0);
			transform: scale(1.0);
		filter: alpha(opacity=100);
		opacity: 1.0;
	}
	100% {
		-moz-perspective:1300px;
		-webkit-perspective: 1300px;
				perspective: 1300px;
		-webkit-transform: scale(1.5);
		-ms-transform: scale(1.5);
			transform: scale(1.5);
		filter: alpha(opacity=000);
		opacity: 0.0;
	}
}

nav#gnav #gmenu{
	padding-left: 14vw;
}
nav#gnav #gmenu li:nth-child(n+2) {
	margin-top: 16vw;
}
nav#gnav #gmenu li a{
	display: flex;
	align-items: baseline;
	text-align: left;
	color: #000;
	text-decoration: none;
	white-space: nowrap;
}
nav#gnav #gmenu li a .jp{
	font-size: 5vw;
	margin-right: 0.55em;
	flex: 0 0 auto;
}
nav#gnav #gmenu li a .en{
	font-size: 3.7vw;
	white-space: nowrap;
	display: inline-block;
	flex: 0 0 auto;
}
nav#gnav .bt_entry{
	padding: 0 10vw;
	margin-top: 14vw;
}
nav#gnav .bt_entry a{
	height: 13vw;
}
nav#gnav .bt_entry a img{
	height: 5vw;
}
/*=============================
  footer
=============================*/
footer{
	background: #10386b;
	padding: 6.25vw 0px 5.47vw;
}
footer .logo{
	text-align: center;
}
footer .logo img{
	height: 8.59vw;
	width: auto;
}

.txt_2 {
	margin-top: 20px;
	margin-bottom:60px;
	text-align:center;
	width:auto;
	max-height: 100%;/*android chrome対策*/
	font-size: 16px;
	color: #ff0000;
}
