@charset "utf-8";
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
html{font-family:'Zen Old Mincho',serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{margin:0;padding:0;border:0;outline:0;vertical-align:baseline;background:transparent}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{color:#000;background-color:transparent;text-decoration:none}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0;-ms-interpolation-mode:bicubic;vertical-align:bottom;max-width:100%;height:auto}svg:not(:root){overflow:hidden}figure{margin:0}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace;font-size:1em}li{list-style:none}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}img {backface-visibility: hidden;}



/*  template style
--------------------------------------------------*/
body {
	overflow-x: hidden;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	margin: auto;
	padding: 0;
}
h1,h2,h3,h4,h5,h6,th { font-weight: normal; }
picture,figure { display: block; position: relative; }
#wrap { position:relative; }
.sp-bl,.sp-il,.sp-fl,.sp-ib,.tablet-bl { display:none !important; }
.opa { transition: .3s ease-in-out; }
.opa:hover { opacity: 0.7; }
.opa1 { opacity: 1 !important; }
.w100 { width: 100% !important; }
.h100 { height: 100% !important; }
.none { display: none !important }
.tc { text-align: center !important; }
.tl { text-align: left !important; }
.tr { text-align: right !important; }
.cf:before,.cf:after { content: ""; display: table; }
.cf:after { clear: both; }
.cf { zoom: 1; }
.inner {
	width:95%;
	max-width:1400px;
	margin-right:auto;
	margin-left:auto;
	position:relative;
}
.flex{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
.flex.nowrap{ flex-wrap: nowrap; }
.flex.reverse{ flex-direction: row-reverse; }
.flex.reverse > *{ min-height: 0; }
.flex.jc-c{ justify-content: center; }
.flex.jc-s{ justify-content: flex-start; }
.flex.jc-e{ justify-content: flex-end; }
.flex.ai-c{ align-items: center; }
.flex.ai-e{ align-items: flex-end; }
.flex.ai-st{ align-items: stretch; }
#header img,#main img,#footer img{ width: 100%; }

figcaption {
	position: absolute;
	right: 0;
	bottom: 0;
	font-size: 0.75rem;
	line-height: 1.2;
	color: #666;
	background: rgba(226, 229, 233, .8);
	padding: 3px 5px;
	box-sizing: border-box;
	letter-spacing: .05em;
}

@media screen and (max-width:768px) {
.pc { display:none !important; }
.sp-bl { display:block !important; }
.sp-il { display:inline !important; }
.sp-ib { display:inline-block !important; }
.sp-fl { display:flex !important; }
.inner { width:85%; max-width:560px; }
.opa:hover { opacity: 1; }
figcaption { font-size: 0.6875rem; }
}



/*  font
--------------------------------------------------*/
html {
	font-size: 16px;
}
#header,
#main,
#footer{
	color: #002f4f;
	font-family: 'Zen Old Mincho',serif;
	font-feature-settings: "palt";
	letter-spacing: .08em;
	line-height: 1.4;
}
.en{
	font-family: 'Bellefair',serif;
}

.supportTo {
	font-style: normal;
	margin-left: -0.2em;
}


@media screen and (max-width: 768px){
	html {
		font-size: 14px;
	}
}

/*  color
--------------------------------------------------*/
.white{
	color: #fff;
}
.blue{
	color: #348fd0;
}
.blue2{
	color: #01558c;
}



/*  #header
--------------------------------------------------*/
body {
}
#header{
}
#header #gn{
	position: relative;
	width: 100%;
	max-width: 1920px;
	margin: 0 auto;
	height: 180px;
	background: #fff;
}

#header #gn .gnLogo{
	margin-left: 30px;
	width: 115px;
	height: 100%;
}
#header #gn .gnLogo a{
	display: block;
}

#header #gn .gnMenuWrap{
	width: calc(100% - 165px);
	margin-right: 20px;
}

#header #gn .gnContact {
	flex-direction: row-reverse;
	align-items: stretch;
	padding-top: 20px;
	box-sizing: border-box;
}
#header #gn .gnContact > * {
	margin-left: 30px;
}

#header #gn .gnContact .btnContact a {
	display: block;
	width: 250px;
	line-height: 80px;
	text-align: center;
	color: #fff;
	font-size: 1.5rem;
	letter-spacing: .2em;
}
#header #gn .gnContact .btnContact a.request {
	background: #00a199;
}
#header #gn .gnContact .btnContact a.application {
	background: #be9a57;
	margin-left: 20px;
}

#header #gn .gnContact .gnPlusMenu {
	width: 120px;
	flex-direction: column;
	justify-content: center;
}
#header #gn .gnContact .gnPlusMenu li {
}
#header #gn .gnContact .gnPlusMenu li + li {
	padding-top: 10px;
	margin-top: 10px;
	border-top: solid 1px #8097a7;
}
#header #gn .gnContact .gnPlusMenu li a {
	padding-left: 20px;
	display: block;
	position: relative;
	font-size: 1rem;
	color: #002f4f;
}
#header #gn .gnContact .gnPlusMenu li a:before {
	content: '';
	position: absolute;
	top: 50%;
	left: 5px;
	transform: translateY(-50%);
	width: 5px;
	height: 5px;
	border-radius: 50vh;
	background: #002f4f;
}

#header #gn .gnContact .BtnFontSizeChange {
	flex-direction: column;
}
#header #gn .gnContact .BtnFontSizeChange p {
	font-size: 16px;
	text-align: center;
	margin: 0 auto;
}
#header #gn .gnContact .BtnFontSizeChange .flex {
	width: 120px;
}
#header #gn .gnContact .BtnFontSizeChange button {
	width: 50%;
	height: 50px;
	border: none;
	font-size: 18px;
	background: #e5eaed;
	color: #002f4f;
}
#header #gn .gnContact .BtnFontSizeChange button.fontActive {
	background: #002f4f;
	color: #fff;
}

#header #gn .gnMenu {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	max-width: 1920px;
	padding: 0 165px;
	box-sizing: border-box;
}
#header #gn .gnMenu .gnMenuLis
t{
	padding: 0 165px;
}
#header #gn .gnMenu .gnMenuList > li{
	height: 100%;
	position: relative;
}
#header #gn .gnMenu .gnMenuList > li + li:before{
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
	height: 17px;
	background: #8097a7;
}
#header #gn .gnMenu .gnMenuList > li.comingsoon a{
	pointer-events: none;
	opacity: .2;
}
#header #gn .gnMenu .gnMenuList > li .gnMenuListTtl{
	font-size: 1.125rem;
	letter-spacing: .1em;
	line-height: 1;
	padding: 31px 20px;
	position: relative;
	color: #002f4f;
	transition: .3s;
}
#header #gn .gnMenu .gnMenuList > li .gnMenuListTtl:hover{
	position: relative;
	color: #fff;
	background: #002f4f;
}
#header #gn .gnMenu .gnMenuList > li .gnMenuListTtl1:before{
	content: "";
	position: absolute;
	z-index: 1;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background: #002f4f;
	transform: scaleX(0);
	transform-origin: center;
	transition: transform .3s;
}
#header #gn .gnMenu .gnMenuList > li.current .gnMenuListTtl1:before{
	transform: scaleX(1);
}

#header #gn .gnMenu .gnMenuContact,
#header #gn .gnMenu .gnPlusMenu,
#header #gn .gnBtn{
	display: none;
}

@media screen and (max-width: 1815px){
	#header #gn .gnMenu .gnMenuList > li .gnMenuListTtl{
		font-size: 1rem;
	}
}
@media screen and (max-width: 1683px){
	#header #gn .gnMenu {
		padding-right: 0;
		box-sizing: border-box;
	}
}
@media screen and (max-width: 1520px){
	#header #gn .gnMenu .gnMenuList > li .gnMenuListTtl{
		font-size: .875rem;
	}
}
@media screen and (max-width: 1403px){
	body {
	}
	#header #gn{
		height: 120px;
	}
	#header #gn .gnLogo{
		width: 96px;
		margin-left: 2.5%;
	}
	#header #gn .gnMenuWrap {
		width: 180px;
		margin-right: 2.5%;
	}
	#header #gn .gnContact {
		display: block;
		padding-top: 10px;
		width: 100%;
	}
	#header #gn .gnContact > * {
		margin-left: 0;
	}

	#header #gn .gnContact .btnContact {
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		z-index: 998;
	}
	#header #gn .gnContact .btnContact a {
		display: block;
		width: 100%; /* ボタン2つの場合 width: 50%; */
		line-height: 60px;
		font-size: 1.125rem;
	}
	#header #gn .gnContact .btnContact a.request {
		background: #00a199;
	}
	#header #gn .gnContact .btnContact a.application {
		background: #be9a57;
		margin-left: 20px;
	}

	#header #gn .gnContact .BtnFontSizeChange {
		width: 100px;
		height: 60px;
	}
	#header #gn .gnContact .BtnFontSizeChange p {
		font-size: 14px;
	}
	#header #gn .gnContact .BtnFontSizeChange .flex {
		width: 100px;
	}
	#header #gn .gnContact .BtnFontSizeChange button {
		height: 36px;
		font-size: 16px;
	}

	#header #gn .gnContact .gnPlusMenu {
		margin-top: 10px;
		width: 100%;
		flex-direction: row;
		justify-content: center;
	}
	#header #gn .gnContact .gnPlusMenu li {
		width: 46.111111111%;
	}
	#header #gn .gnContact .gnPlusMenu li + li {
		padding-top: 0;
		margin-top: 0;
		border-top: none;
		width: 53.888888889%;
	}
	#header #gn .gnContact .gnPlusMenu li a {
		display: block;
		position: relative;
		font-size: 14px;
		line-height: 30px;
		text-align: center;
		padding: 0;
		box-sizing: border-box;
		border: solid .5px #cccccc;
	}
	#header #gn .gnContact .gnPlusMenu li + li a {
		display: block;
		position: relative;
		font-size: 14px;
		line-height: 30px;
		text-align: center;
		padding: 0;
		box-sizing: border-box;
		border-left: none;
		letter-spacing: 0;
	}
	#header #gn .gnContact .gnPlusMenu li a:before {
		display: none;
	}

	#header #gn .gnMenu{
		z-index: 1;
		top: 0px;
		width: 100%;
		height: 0;
		transition: height .4s;
		background: rgba(0, 47, 79, .95);
		overflow: scroll;
		overscroll-behavior-y: contain;
		-webkit-overflow-scrolling: touch;
		z-index: 999;
		padding: 0;
	}
	#header #gn .gnMenu.active{
		height: 100vh;
	}

	#header #gn .gnBtn{
		display: block;
		position: absolute;
		z-index: 1000;
		top: 10px;
		right: 2.5%;
		width: 60px;
		height: 60px;
		background: #002f4f;
		cursor: pointer;
	}
	#header #gn .gnBtn:after {
		content: 'MENU';
		position: absolute;
		bottom: 12px;
		left: 50%;
		transform: translateX(-50%);
		font-size: 11px;
		line-height: 1;
		color: #fff;
	}
	#header #gn .gnBtn.active:after {
		content: 'CLOSE';
	}
	#header #gn .gnBtn span{
		position: absolute;
		z-index: 1;
		left: 13px;
		width: 34px;
		height: 1px;
		background: #fff;
	}
	#header #gn .gnBtn span:nth-of-type(1){
		top: 12px;
		animation: gnBtn1 .75s forwards;
	}
	#header #gn .gnBtn span:nth-of-type(2){
		top: 21px;
		transition: opacity .25s .25s;
	}
	#header #gn .gnBtn span:nth-of-type(3){
		top: 30px;
		animation: gnBtn2 .75s forwards;
	}
	#header #gn .gnBtn.active span:nth-of-type(1){
		animation: gnBtn1_active .75s forwards;
	}
	#header #gn .gnBtn.active span:nth-of-type(2){
		opacity: 0;
	}
	#header #gn .gnBtn.active span:nth-of-type(3){
		animation: gnBtn2_active .75s forwards;
	}

	#header #gn .gnMenu .gnMenuInner{
		flex-wrap: wrap;
		justify-content: flex-start;
		position: relative;
		z-index: 1;
		padding-top: 60px;
		padding-bottom: 60px;
		overflow: hidden;
		height: 100%;
	}
	#header #gn .gnMenu .gnMenuList{
		flex-wrap: wrap;
		width: 90%;
		margin: 20px auto 0;
		padding: 0;
	}
	#header #gn .gnMenu .gnMenuList > li{
		justify-content: flex-start;
		align-items: flex-start;
		width: 100%;
		height: auto;
		padding: 0;
	}
	#header #gn .gnMenu .gnMenuList > li + li{
		border-top: .5px solid #8097a7;
	}
	#header #gn .gnMenu .gnMenuList > li + li:before{
		display: none;
	}
	#header #gn .gnMenu .gnMenuList > li a{
		color: #fff;
	}
	#header #gn .gnMenu .gnMenuList > li.comingsoon a{
		opacity: .3;
	}
	#header #gn .gnMenu .gnMenuList > li .gnMenuListTtl{
		display: block;
		width: 100%;
		padding: 20px 10px;
		color: #fff;
	}
	#header #gn .gnMenu .gnMenuList > li .gnMenuListTtl1:before{
		content: none;
	}
	#header #gn .gnMenu .gnMenuContact{
		display: block;
		margin: 20px auto 0;
		width: 90%;
	}
	#header #gn .gnMenu .gnMenuContact a{
		display: block;
		line-height: 60px;
		text-align: center;
		color: #fff;
		font-size: 1.125rem;
		position: relative;
	}
	#header #gn .gnMenu .gnMenuContact a + a{
		margin-top: 20px;
	}
	#header #gn .gnMenu .gnMenuContact a.request{
		background: #00a199;
	}
	#header #gn .gnMenu .gnMenuContact a.application{
		background: #be9a57;
	}
	#header #gn .gnMenu .gnMenuContact a:before{
		content: '';
		display: block;
		position: absolute;
		top: 50%;
		left: 30px;
		transform: translateY(-50%);
		width: 6px;
		height: 10px;
		background: url(../img/icon_arrow_contact.svg)no-repeat center center / contain;
	}

	#header #gn .gnMenu .gnPlusMenu {
		display: block;
		margin: 20px auto 0;
		width: 90%;
	}
	#header #gn .gnMenu .gnPlusMenu li {
		width: 50%;
		border: solid .5px #8097a7;
		box-sizing: border-box;
	}
	#header #gn .gnMenu .gnPlusMenu li + li {
		border-left: none;
	}
	#header #gn .gnMenu .gnPlusMenu li a {
		display: block;
		line-height: 50px;
		text-align: center;
		color: #fff;
		font-size: 16px;
	}
}
@keyframes gnBtn1{
	0%{ transform: translateY(9px) rotate(45deg); }
	50%{ transform: translateY(9px) rotate(0); }
	100%{ transform: translateY(0) rotate(0); }
}
@keyframes gnBtn1_active{
	0%{ transform: translateY(0) rotate(0); }
	50%{ transform: translateY(9px) rotate(0); }
	100%{ transform: translateY(9px) rotate(45deg); }
}
@keyframes gnBtn2{
	0%{ transform: translateY(-9px) rotate(-45deg); }
	50%{ transform: translateY(-9px) rotate(0); }
	100%{ transform: translateY(0) rotate(0); }
}
@keyframes gnBtn2_active{
	0%{ transform: translateY(0) rotate(0); }
	50%{ transform: translateY(-9px) rotate(0); }
	100%{ transform: translateY(-9px) rotate(-45deg); }
}




/*  #main
--------------------------------------------------*/
#main {
	overflow:hidden;
}

.secTtl{
	text-align: center;
	font-size: 2.5rem;
	margin-bottom: 80px;
	letter-spacing: .2em;
	color: #002f4f;
}
.secTxt{
	font-size: 1rem;
	line-height: 2.125;
	text-align: justify;
	text-justify: inter-ideograph;
	letter-spacing: .1em;
	color: #002f4f;
}
@media screen and (max-width: 768px){
	.secTtl{
		font-size: 1.5rem;
		margin-bottom: 40px;
		letter-spacing: .1em;
	}
	.secTxt{
		font-size: .875rem;
		line-height: 1.6;
	}

	.pinchInTxt {
		color: #002f4f;
		font-size: 14px;
		text-align: center;
		position: relative;
		line-height: 42px;
		margin-top: 10px;
	}
	.pinchInTxt:before {
		content: '';
		display: inline-block;
		vertical-align: middle;
		margin-right: 10px;
		width: 35px;
		height: 42px;
		background: url(../img/icon_pinch-in.svg) no-repeat center center / contain;
	}
}


/* #mainVisual
--------------------------------------------------*/
#mainVisual {
}
#mainVisual h2 {
	font-size: 3.125rem;
	padding: 90px;
	text-align: center;
	background: #e2e5e9;
	letter-spacing: .2em;
	color: #002f4f;
}
#mainVisual .mv {
	width: 100%;
}
@media screen and (max-width: 768px){
	#mainVisual h2 {
		font-size: 1.625rem;
		padding: 40px 0;
	}
}

/* #cvArea
--------------------------------------------------*/
#cvArea{
	text-align: center;
	padding-top: 150px;
	background: #fff;
}
#cvArea .secTtl{
	font-size: 2.625rem;
	margin-bottom: 60px;
	letter-spacing: .2em;
}
#cvArea .contact {
	margin-bottom: 60px;
}
#cvArea .contact a {
	max-width: 480px;
	width: 48.214285714%;
	display: block;
	line-height: 100px;
	text-align: center;
	color: #fff;
	font-size: 2rem;
	padding-left: 10px;
	box-sizing: border-box;
	letter-spacing: .2em;
	position: relative;
}
#cvArea .contact a + a{
	margin-left: 50px;
}
#cvArea .contact a.request{
	background: #00a199;
}
#cvArea .contact a.application{
	background: #be9a57;
}
#cvArea .contact a:before{
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 60px;
	transform: translateY(-50%);
	width: 12px;
	height: 20px;
	background: url(../img/icon_arrow_contact.svg)no-repeat center center / contain;
}
#cvArea .tel p {
	font-size: 1.5rem;
	color: #002f4f;
}
#cvArea .tel a {
	display: inline-block;
	position: relative;
	font-size: 4.5rem;
	padding-left: 105px;
	line-height: 1;
	margin-top: 30px;
	margin-bottom: 20px;
	color: #002f4f;
}
#cvArea .tel a:after {
	content: '';
	position: absolute;
	top: calc(50% - 3px);
	transform: translateY(-50%);
	left: 0;
	width: 92px;
	height: 50px;
	background: url(../img/icon_tel.svg)no-repeat center center / contain;
}
#cvArea .tel p.time {
	font-size: 1.125rem;
}

@media screen and (max-width: 768px){
	#cvArea{
		padding-top: 60px;
	}
	#cvArea .secTtl{
		font-size: 1.875rem;
		margin-bottom: 40px;
	}
	#cvArea .contact {
		margin-bottom: 40px;
	}
	#cvArea .contact a {
		max-width: none;
		width: 100%;
		line-height: 70px;
		font-size: 1.375rem;
	}
	#cvArea .contact a + a{
		margin-left: 0;
		margin-top: 20px;
	}
	#cvArea .contact a:before{
		left: 30px;
		width: 7px;
		height: 12px;
	}
	#cvArea .tel p {
		font-size: 1rem;
	}
	#cvArea .tel a {
		font-size: 2.5rem;
		padding-left: 65px;
		margin-top: 20px;
		margin-bottom: 10px;
	}
	#cvArea .tel a:after {
		width: 55px;
		height: 31px;
	}
	#cvArea .tel p.time {
		font-size: 0.875rem;
	}
}

/* #caption
--------------------------------------------------*/
#caption{
	background: #fff;
	padding: 100px 0;
}
#caption p{
	color: #666;
	font-size: 0.75rem;
	line-height: 2.33333333333;
	text-align: justify;
}

@media screen and (max-width: 768px){
	#caption{
		padding: 50px 0;
	}
	#caption p{
		line-height: 2;
	}
}

/* footer
--------------------------------------------------*/
footer {
}
.footerTop {
	padding: 100px 0;
	background: #e2e5e9;
}

.footerTop .leftConts {
	justify-content: flex-start;
	align-items: center;
	width: 66.28571428%;
	padding-right: 40px;
	box-sizing: border-box;
}
.footerLogo {
	width: 135px;
	margin-right: 60px;
}
.footerInfo {

}
.footerInfo li + li {
	margin-top: 25px;
}
.footerInfo li p {
	font-size: 1rem;
	color: #002f4f;
}
.footerInfo li p + p {
	margin-top: 10px;
}
.footerInfo li .tel {
}
.footerInfo li .tel:before {
	display: inline-block;
	content: '';
	width: 22px;
	height: 12px;
	background: url(../img/icon_tel.svg)no-repeat center center / contain;
	padding-right: 10px;
}

.footerNav {
	width: 33.571428571%;
}
.footerNav .en {
	font-size: 1.125rem;
	padding-bottom: 20px;
	border-bottom: solid 1px #b2c1ca;
	margin-bottom: 25px;
	color: #002f4f;
}
.footerNav .fotterNavConts:nth-child(1) {
	margin-right: 10px;
}
.footerNav .fotterNavConts li {
	position: relative;
	padding-left: 20px;
	margin-bottom: 20px;
}
.footerNav .fotterNavConts li:after {
	content: '';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #002f4f;
}
.footerNav .fotterNavConts li.comingsoon:after {
	background: #b2c1ca;
}
.footerNav .fotterNavConts li a {
	font-size: 1rem;
	color: #002f4f;
	display: block;
}
.footerNav .fotterNavConts li.comingsoon a {
	pointer-events: none;
	color: #b2c1ca;
}


.footerBottom {
	background: #fff;
	padding: 40px 0;
}
.footerBottom .inner .flex {
	justify-content: flex-start;
}
.footerBottom .inner .flex li {
}
.footerBottom .inner .flex li + li {
	margin-left: 30px;
}
.footerBottom .inner .flex li a {
	padding-right: 22px;
	font-size: 0.875rem;
	color: #000;
	display: block;
	position: relative;
}
.footerBottom .inner .flex li a:after {
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 12px;
	height: 12px;
	background: url(../img/icon_external.svg) no-repeat center center / contain;
}
.footerBottom .copy {
	font-size: 0.875rem;
	color: #000;
}

@media screen and (max-width: 1386px){
	footer{
		margin-bottom: 60px;
	}
	.footerTop .leftConts {
		display: block;
		width: 66.28571428%;
	}
	.footerTop .leftConts .footerLogo {
		margin-bottom: 30px;
	}
}
@media screen and (max-width: 768px){
	footer .inner {
		width: 75%;
	}
	.footerTop {
		padding: 0;
		background: #fff;
	}

	.footerTop .leftConts {
		display: block;
		width: 100%;
		padding-right: 0;
	}
	.footerLogo {
		margin: 0 auto 30px;
	}
	.footerInfo {
		width: 100%;
		margin: 0 auto 50px;
	}
	.footerInfo li + li {
		margin-top: 25px;
	}
	.footerInfo li p {
		font-size: 1rem;
		color: #002f4f;
	}
	.footerInfo li p + p {
		margin-top: 10px;
	}

	.footerNav {
		background: #e2e5e9;
		margin: 0 calc(50% - 50vw);
		width: 100vw;
		padding: 50px 0 30px;
	}
	.footerNavInner {
		width: 75%;
		margin: 0 auto;
	}
	.footerNav .en {
		text-align: center;
	}
	.footerNav .fotterNavConts:nth-child(1) {
		margin-right: 10px;
	}
	.footerNav .fotterNavConts li {
		position: relative;
		padding-left: 20px;
		margin-bottom: 20px;
	}
	.footerNav .fotterNavConts li:after {
		content: '';
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		left: 0;
		width: 5px;
		height: 5px;
		border-radius: 50%;
		background: #002f4f;
	}
	.footerNav .fotterNavConts li.comingsoon:after {
		background: #b2c1ca;
	}
	.footerNav .fotterNavConts li a {
		font-size: 1rem;
		color: #002f4f;
		display: block;
	}
	.footerNav .fotterNavConts li.comingsoon a {
		pointer-events: none;
		color: #b2c1ca;
	}


	.footerBottom {
		background: #fff;
		padding: 50px 0;
	}
	.footerBottom .inner {
		display: block;
	}
	.footerBottom .inner .flex {
		margin-bottom: 20px;
	}
	.footerBottom .inner .flex li {
		margin-bottom: 20px;
		margin-right: 30px;
	}
	.footerBottom .inner .flex li + li {
		margin-left: 0;
	}
	.footerBottom .copy {
		text-align: center;
		font-size: 0.75rem;
	}
}




/*  Universal animation
--------------------------------------------------*/
.animated {
	animation-duration: .5s;
	animation-fill-mode: both;
}
/* fade in */
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
.fadeIn { animation-name: fadeIn; animation-fill-mode:both; animation-duration:1s; visibility: visible !important; opacity: 0;}

/* fade in up */
@keyframes fadeInUp { from { opacity: 0; transform: translate3d(0, 20px, 0); } to { opacity: 1; transform: none; }}
.fadeInUp { animation-name: fadeInUp; animation-fill-mode:both; animation-duration:1.5s; visibility: visible !important; opacity: 0;}

/* fade in down */
@keyframes fadeInDown { from { opacity: 0; transform: translate3d(0, -20px, 0); } to { opacity: 1; transform: none; }}
.fadeInDown { animation-name: fadeInDown; animation-fill-mode:both; animation-duration:1.5s; visibility: visible !important; opacity: 0;}

/* fade in right */
@keyframes fadeInRight { from { opacity: 0; transform: translate(30px,0); } to { opacity: 1; transform: none; } }
.fadeInRight { animation-name: fadeInRight; animation-fill-mode:both; animation-duration:1.5s; visibility: visible !important; opacity: 0;}

/* fade in left */
@keyframes fadeInLeft {
from { opacity: 0; transform: translate(-30px,0); }to { opacity: 1; transform: none; }}
.fadeInLeft { animation-name: fadeInLeft; animation-fill-mode:both; animation-duration:1.5s; visibility: visible !important; opacity: 0;}

/* fade out */
@keyframes fadeOut { from { opacity: 1; }  to { opacity: 0; }}
.fadeOut { animation-name: fadeOut; }

/* mv fade in */
@keyframes mvFadeIn { from { filter: blur(20px); opacity: 0; } to { filter: blur(0); opacity: 1; } }
.mvFadeIn { animation-name: mvFadeIn; animation-fill-mode:both; animation-duration:1s; visibility: visible !important; opacity: 0;}

/* mv fade in up */
@keyframes mvFadeInUp { from { opacity: 0; transform: translate3d(0, 20px, 0); } to { opacity: 1; transform: none; }}
.mvFadeInUp { animation-name: mvFadeInUp; animation-fill-mode:both; animation-duration:1.5s; visibility: visible !important; opacity: 0;}


