@charset "UTF-8";
/* CSS Document */
html {
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	background: #fff;
}
header, footer, main, nav, section, article, figure, figcaption {
	display: block;
}
html, body, header, footer, main, nav, section, article, figure, figcaption,
div, p, ul, ol, dl, li, dt, dd,
h1, h2, h3, h4, h5, h6 {
	margin: 0;
	padding: 0;
	font-weight: normal;
}
body {
	line-height: 1;
	color: #333333;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  background: #F9F9F9;
}
a{
	color: #000;
	text-decoration: none;
}
li{
	list-style-type: none;
}
i,em{
	font-style: normal;
}
strong{
	font-weight: normal;
}
img {
	vertical-align: bottom;
	border: none;
}
video {
	vertical-align: bottom;
}
.no-scroll{
	overflow: hidden;
}
a{
  color: #000;
  text-decoration: none;
}
img{
  max-width: 100%;
  vertical-align: top;
}
*,
::before,
::after{
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
}
::selection {
	color: #fff;
	background: #369FD5;
	opacity: 1;
}

.roboto-thin {
  font-family: "Roboto", sans-serif;
  font-weight: 100;
  font-style: normal;
}

.about-top-list .about-top-list_item h2,
.sec-header-top h2{
  font-family: "Roboto", sans-serif;
  font-weight: 300;
  font-style: normal;
}
.contents-header-title h1{
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.news-item dt{
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  font-style: normal;
}

#masklist {
      display:none;
   }
#canvas-container{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	z-index: 10;
	transition: opacity 600ms ease, visibility 600ms ease;
	visibility: visible;
	opacity: 1;
}

.is-bg-pause #canvas-container{
	visibility: hidden;
	opacity: 0;
}


.is-bg-pause .btn-bg a span.pause{
	visibility: hidden;
}
.btn-bg a span.play{
	visibility: hidden;
}
.is-bg-pause .btn-bg a span.play{
	visibility: visible;
}
.is-lower-page #canvas-container canvas{
	margin-top: -100px;
}


#canvas-container:before{
	content: "";
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-webkit-backdrop-filter: blur(14px) !important;
	backdrop-filter: blur(14px) !important;
	z-index: 10;
	opacity: 0;
	visibility: hidden;
	transition: all 600ms ease;

}
.is-filter #canvas-container:before{
	opacity: 1;
	visibility: visible;
}

.gnav ul .current-menu-item a{
	color: #0245A0;
}

sub{
	vertical-align: bottom;
}

#cookie-bnr{
	transform: translateY(120%);
	transition: transform 300ms ease,opacity 300ms ease,visibility 300ms ease;
}
#cookie-bnr.is-show{
	transform: translateY(0);
}
#cookie-bnr.is-hide{
	transform: translateY(200%);
	opacity: 0;
	visibility: hidden;
}



@media screen and (min-width: 768px) {

	body {
		font-size: 16px;
		width: 100%;
	}
	.ignore-pc{
		display: none;
	}
	.wrap{
		position: relative;
		width: 100%;
		padding: 100px 0 0;
		z-index: 50;
	}


/* ghedaer
====================================================================*/

	.gnav-btn-menu{
		display: none;
	}
	#gheader{
		position: fixed;
		top: 0;
		left: 0;
		padding: 0 30px;
		width: 100%;
		height: 100px;
		background: #fff;
		border-bottom: 1px solid #ccc;
		z-index: 1000;
	}
	.gheader-inner{
		position: relative;
		display: flex;
		justify-content: space-between;
		align-items: center;
		height: 100px;
	}
	.gheader-logo{
		width: 269px;
	}
	.logo-mgc{
		display: none;
	}

	.gnav{
		display: flex;
		flex-direction: column-reverse;
	}
	.gnav li{
		position: relative;
	}
	.gnav ul{
		position: relative;
		justify-content: flex-end;
		display: flex;
	}
	.gnav ul a{
		font-weight: 700;
		transition: color 600ms ease;
	}

	.gnav ul a:hover{
		color: #0245A0;
	}
	.gnav ul + ul{
		right: 2px;
		margin-bottom: 25px;
	}
	.nav-main li + li{
		margin-left: 30px;
	}
	.nav-sub li + li{
		margin-left: 30px;
	}
	.nav-mgc img{
		width: 122px;
	}
	.lang_en_US .nav-mgc img{
		width: 227px;
	}
	.nav-contact span{
		position: relative;
		padding: 0 0 0 35px;
	}
	.nav-contact span:before{
		position: absolute;
		margin: auto;
		top: 5px;
		left: 0;
		bottom: 0;
		content: "";
		display: block;
		width: 25px;
		height: 25px;
		background: url(../img/common/icon_contact.svg) 0 0 no-repeat;
		background-size: 100% 100%;
	}
	.nav-lang{
		display: flex;
		justify-content: center;
	}
	.bogo-language-switcher{
		position: relative;
		flex-direction: row-reverse;
		padding: 0 0 0 35px;
	}
	.bogo-language-switcher li + li{
		margin: 0;
	}
	.bogo-language-switcher li:nth-child(1):before{
		content: "/";
		padding: 0 2px;
	}
	.bogo-language-switcher:before{
		position: absolute;
		margin: auto;
		top: 2px;
		left: 0;
		bottom: 0;
		content: "";
		display: block;
		width: 22px;
		height: 22px;
		background: url(../img/common/icon_lang.svg) 0 0 no-repeat;
		background-size: 100% 100%;
	}

	.btn-bg{
		position: absolute;
		right: 10px;
		bottom: -45px;
		width: 150px;
		height: 36px;
	}
	.btn-bg a{
		position: relative;
		display: block;
		padding: 0 10px;
		width: 100%;
		height: 100%;
		line-height: 36px;
		background: #fff;
		color: #0245A0;
		font-weight: 500;
		border-radius: 5px;
		font-size: 14px;
		transition: opacity 600ms ease;
	}
	.btn-bg a:hover{
		opacity: 0.6;
	}
	.btn-bg a span.pause{
		position: absolute;
		margin: auto;
		top: 0;
		right: 10px;
		bottom: 0;
		display: inline-block;
		width: 14px;
		height: 16px;
	}
	.btn-bg a span.pause:before,
	.btn-bg a span.pause:after{
		position: absolute;
		content: "";
		display: block;
		width: 4px;
		height: 16px;
		background: #0245A0;
	}
	.btn-bg a span.pause:before{
		left: 0;
	}
	.btn-bg a span.pause:after{
		right: 3px;
	}

	.btn-bg a span.play{
		position: absolute;
		margin: auto;
		top: 0;
		right: 10px;
		bottom: 0;
		display: inline-block;
		width:0;
		height:0;
		border-style:solid;
		border-width: 7px 0 7px 14px;
		border-color: transparent transparent transparent #0245A0;
	}





/* gfooter
====================================================================*/

	#gfooter{
		margin: 160px 0 0;
		border-top: 1px solid #ccc;
		background: #fff;
	}
	.gfooter-inner{
		position: relative;
		display: flex;
		padding: 45px;
	}
	.gfooter-nav1{
		margin: 0 0 0 80px;
	}
	.gfooter-nav1 li a{
		font-weight: 600;
	}
	.gfooter-nav1 li + li{
		margin-top: 30px;
	}

	.gfooter-nav2{
		position: relative;
		margin: 0 0 0 60px;
		padding: 0 0 0 60px;
	}
	.gfooter-nav2:before{
		position: absolute;
		left: 0;
		content: "";
		display: block;
		width: 1px;
		height: 100%;
		background: #ddd;
	}
	.gfooter-nav2 li a{
		font-size: 14px;
	}
	.gfooter-nav2 li + li{
		margin-top: 30px;
	}
	.gfooter-nav1 li a:hover,
	.gfooter-nav2 li a:hover{
		text-decoration: underline;
	}
	.gfooter-cr{
		display: flex;
		align-items: center;
		justify-content: flex-end;
		padding: 0 30px;
		height: 60px;
		background: #222;
	}
	.gfooter-cr p{
		color: #fff;
	}
	.btn-pt{
		position: absolute;
		right: 10px;
		bottom: 10px;
		width: 70px;
		height: 70px;
	}
	.btn-pt a{
		position: relative;
		display: block;
		width: 100%;
		height: 100%;
		border-radius: 35px;
		background: #0245A0;
	}
	.btn-pt a .arrow{
		transform: rotate(-90deg);
	}
	.btn-pt a:hover .arrow:after{
		transform: translateX(5px);
	}


/* arrow
====================================================================*/
	.btn-pt .arrow{
		position: absolute;
		margin: auto;
		display: block;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		width: 18px;
		height: 18px;		
	}
	.btn-pt .arrow:after{
		position: absolute;
		margin: auto;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		content: "";
		display: block;
		width: 10px;
		height: 17px;
		background: url(../img/common/arrow_wh.svg) 0 0 no-repeat;
		background-size: 100% 100%;
		transition: transform 600ms ease;
	}



/* main
====================================================================*/

	.main-top{
		margin-top: 190px;
	}
	.main-top-inner-box{
		width: 100%;
   	padding: 70px min(8.3vw,100px);
		background: #fff;
		border-radius: 10px;		
	}
	.main-top section + section{
		margin-top: 130px;
	}
	.main-top .sec-header-top + *{
		margin-top: 60px;
	}

	.main{
		background: #fff;
	}
	.main-inner{
		margin: auto;
		padding: 45px 10px 90px;
		max-width: 1220px;
	}


/* contents
====================================================================*/
	
	.breadcrumb li{
		position: relative;
		display: inline;
		font-size: 16px;
		line-height: 1.5;
	}
	.breadcrumb li + li:before{
		position: relative;
		top: 2px;
		margin: 0 20px;
		content: "";
		display: inline-block;
		width: 8px;
		height: 14px;
		background: url(../img/common/arrow_bl.svg) 0 0 no-repeat;
		background-size: 100% 100%;
	}
	.breadcrumb li a{
		color: #073190;
	}


	.contents-header{
		height: 245px;
	}
	.contents-header-inner{
		display: flex;
		align-items: center;
		margin: auto;
		padding: 0 10px;
		max-width: 1220px;
		height: 100%;
	}
	.contents-header-title h1{
		font-size: 88px;
		color: #073190;
	}
	.contents-header-title span{
		margin: 15px 0 0;
		display: block;
		font-size: 20px;
	}



/* news
====================================================================*/

	.news-header-top h3{
		font-size: 20px;
		font-weight: 500;
	}
	.news-list-top{
		margin: 25px 0 0;
	}
	.news-top-detail{
		display: flex;
		justify-content: space-between;
	}
	.news-top-detail > div{
		width: calc(50% - 30px);
	}
	.news-top-detail + .btn-link-box{
		margin-top: 60px;
		display: flex;
		justify-content: flex-end;
	}
	.news-top-detail + .btn-link-box .btn-link{
		margin: 0;
	}
	.news-item-top:nth-child(1){
		border-top: 1px solid #ddd;
	}
	.news-item-top{
		border-bottom: 1px solid #ddd;
	}
	.news-item-top a{
		position: relative;
		padding: 15px 60px 15px 0;
		display: block;
		transition: opacity 600ms ease;
	}
	.news-item-top a:hover{
		opacity: 0.6;
	}

	.news-item-top dt{
		font-size: 20px;
		color: #999;
	}
	.news-item-top dl{
	  overflow: hidden;
	}
	.news-item-top dd{
		margin: 15px 0 0;
		font-weight: 500;
		line-height: calc(28/16);
		min-height: 3.5em;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
	}
	.news-item-top a:after{
		position: absolute;
		margin: auto;
		top: 0;
		right: 15px;
		bottom: 0;
		content: "";
		display: block;
		width: 10px;
		height: 17px;
		background: url(../img/common/arrow_bl.svg) 0 0 no-repeat;
		background-size: 100% 100%;
	}
	.news-item-top a[target="_blank"]:after{
		position: absolute;
		margin: auto;
		top: 0;
		right: 15px;
		bottom: 0;
		content: "";
		display: block;
		width: 17px;
		height: 14px;
		background: url(../img/common/icon_blank_bl.svg) 0 0 no-repeat;
		background-size: 100% 100%;
	}

	.news-item{
		border-bottom: 1px solid #ddd;
	}
	.news-item a{
		position: relative;
		padding: 30px 80px 30px 0;
		display: block;
		transition: opacity 600ms ease;
	}
	.news-item a:hover{
		opacity: 0.6;
	}

	.news-item dt{
		color: #999;
	}
	.news-item dl{
	  overflow: hidden;
		font-size: 20px;
	}
	.news-item dd{
		margin: 15px 0 0;
		font-weight: 500;
		line-height: calc(28/16);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
	}
	.news-item a:after{
		position: absolute;
		margin: auto;
		top: 0;
		right: 25px;
		bottom: 0;
		content: "";
		display: block;
		width: 10px;
		height: 17px;
		background: url(../img/common/arrow_bl.svg) 0 0 no-repeat;
		background-size: 100% 100%;
	}
	.news-item a[target="_blank"]:after{
		position: absolute;
		margin: auto;
		top: 0;
		right: 25px;
		bottom: 0;
		content: "";
		display: block;
		width: 17px;
		height: 14px;
		background: url(../img/common/icon_blank_bl.svg) 0 0 no-repeat;
		background-size: 100% 100%;
	}





/* page-contents
====================================================================*/

	.page-contents{
		margin: 40px 0 0;
		display: flex;
		flex-direction: row-reverse;
	}
	.page-main{
		width: calc(100% - 300px);
	}
	.page-nav{
		padding: 0 0 0 40px;
		width: 300px;
	}
	.page-main-header h2{
		font-size: 32px;
		font-weight: 500;
	}
	.page-main-header{
		padding: 0 0 20px;
		border-bottom: 1px solid #ddd;
	}
	.page-col + .page-col{
		margin-top: 60px;
	}
	.page-nav-box{
		position: sticky;
		top: 130px;
	}
	.page-nav li:nth-child(1){
		border-top: 1px solid #ddd;
	}
	.page-nav li{
		border-bottom: 1px solid #ddd;
	}
	.page-nav a{
		position: relative;
		display: flex;
		align-items: center;
		padding: 0 20px;
		height: 80px;
		line-height: 1.5;
		font-size: 14px;
		font-weight: 500;
		transition: opacity 600ms ease;
	}
	.page-nav a:hover{
		opacity: 0.6;
	}
	.page-nav a:after{
		position: absolute;
		margin: auto;
		top: 0;
		bottom: 0;
		right: 12px;
		content: "";
		display: inline-block;
		width: 10px;
		height: 17px;
		background: url(../img/common/arrow_bl.svg) 0 0 no-repeat;
		background-size: 100% 100%;
	}
	.page-nav a:before{
		position: absolute;
		top: 0;
		left: 0;
		content: "";
		display: block;
		width: 5px;
		height: 100%;
		background: #0245A0;
		visibility: hidden;
	}
	.page-nav a.active:before{
		visibility: visible;
	}
	.page-nav a.active{
		color: #0245A0;
	}


/* btm-nav
====================================================================*/

	.btm-nav{
		margin: 90px 0 0;
	}
	.btm-nav a{
		font-size: 18px;
		transition: opacity 600ms ease;
	}
	.btm-nav a:hover{
		opacity: 0.7;
	}
	.btm-nav a span{
		position: relative;
		display: inline-block;
		padding: 0 0 0 35px;
	}
	.btm-nav a span:before{
		position: absolute;
		margin: auto;
		top: 3px;
		bottom: 0;
		left: 0;
		content: "";
		display: inline-block;
		width: 10px;
		height: 17px;
		background: url(../img/common/arrow_bl.svg) 0 0 no-repeat;
		background-size: 100% 100%;
		transform: rotate(180deg);
	}


/* contact
====================================================================*/

	#contact{
		margin-top: 160px;
	}

	#contact .contact-inner{
		margin: auto;
		padding: 0 10px;
		max-width: 1220px;
	}
	.contact-box{
		width: 100%;
   	padding: 70px min(8.3vw,100px);
		background: #fff;
		border-radius: 10px;
	}
	.contact-box-inner{
		display: flex;
		justify-content: space-between;
	}
	.contact-info{
		position: relative;
		width: 590px;
		padding: 0 0 0 min(8.3vw,100px);
		margin: 0 0 0 min(8.3vw,100px);
	}
	.contact-info:after{
		position: absolute;
		top: 0;
		left: 0;
		content: "";
		display: block;
		height: 100%;
		width: 1px;
		background: #ddd;
	}
	.contact-info-lead p{
		font-size: 20px;
		font-weight: 500;
		line-height: 1.5;
	}
	.contact-info .btn-link{
		margin-top: 70px;
	}

/* pd-link
====================================================================*/


	.pd-link{
		position: relative;
		padding: 0 60px 0 0;
		transition: opacity 600ms ease;
	}
	.pd-link:hover{
		opacity: 0.6;
	}
	.pd-link .icon-pd{
		position: absolute;
		margin: auto;
		top: 0;
		right: 20px;
		bottom: 0;
		width: 14px;
		height: 14px;
	}
	.pd-link .icon-pd:before,
	.pd-link .icon-pd:after{
		position: absolute;
		content: "";
		margin: auto;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		display: block;
		width: 14px;
		height: 2px;
		background: #0245A0;
	}
	.pd-link .icon-pd:before{
		transform: rotate(90deg);
		transition: transform 600ms ease;
	}
	.pd-link.is-click .icon-pd:before{
		transform: rotate(0);
	}
	.pd-contents{
		display: none;
	}



/* btn-link
====================================================================*/

	.btn-link{
		margin: auto;
		width: 100%;
		max-width: 490px;
		height: 60px;
	}
	.btn-link-s{
		margin: auto;
		width: 100%;
		max-width: 490px;
		height: 46px;
	}

	.btn-link a{
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 100%;
		background: #0245A0;
		border-radius: 30px;
		transition: opacity 600ms ease;
	}
	.btn-link a:hover{
		opacity: 0.7;
	}
	.btn-link a:after{
		position: absolute;
		margin: auto;
		top: 0;
		right: 20px;
		bottom: 0;
		content: "";
		display: block;
		width: 10px;
		height: 17px;
		background: url(../img/common/arrow_wh.svg) 0 0 no-repeat;
		background-size: 100% 100%;
		transition: transform 600ms ease;
	}
	.btn-link a[target="_blank"]:after{
		position: absolute;
		margin: auto;
		top: 0;
		right: 15px;
		bottom: 0;
		content: "";
		display: block;
		width: 17px;
		height: 14px;
		background: url(../img/common/icon_blank_wh.svg) 0 0 no-repeat;
		background-size: 100% 100%;
	}


	.btn-link-bl a{
		color: #fff;
		font-weight: 500;
	}
	.btn-link-bl a{
		color: #fff;
		font-weight: 500;
	}


	.form-btn{
		margin: 60px 0 0;
	}
	.form-btn ul{
		display: flex;
		margin: 0 -10px;
		justify-content: center;
	}
	.form-btn ul li{
		padding: 0 10px;
		width: 50%;
		min-width: 490px;
	}
	.form-btn button{
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		margin: auto;
		width: 100%;
		max-width: 490px;
		height: 60px;
		background: #0245A0;
		border-radius: 30px;
		transition: opacity 600ms ease;
		border: none;
		color: #fff;
		font-weight: bold;
		font-size: 16px;

	}
	.form-btn button:hover{
		opacity: 0.7;
	}
	.form-btn button:after{
		position: absolute;
		margin: auto;
		top: 0;
		right: 20px;
		bottom: 0;
		content: "";
		display: block;
		width: 10px;
		height: 17px;
		background: url(../img/common/arrow_wh.svg) 0 0 no-repeat;
		background-size: 100% 100%;
	}
	.form-btn button.form-back:after{
		position: absolute;
		margin: auto;
		top: 0;
		right: inherit;
		left: 20px;
		bottom: 0;
		content: "";
		display: block;
		width: 10px;
		height: 17px;
		background: url(../img/common/arrow_wh.svg) 0 0 no-repeat;
		background-size: 100% 100%;
		transform: rotate(-180deg);
	}


	/* cookie-bnr
	===============================================================*/

	#cookie-bnr{
		position: fixed;
		margin: auto;
		left: 0;
		right: 0;
		bottom: 10px;
		padding: 0 10px;
		max-width: 1320px;
		width: 100%;
		z-index: 100;
		transform: translateY(120%);
	}
	#cookie-bnr .cookie-bnr-inner{
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 30px 50px;
		width: 100%;
		background: rgba(255,255,255,0.95);
		border-radius: 6px;
		border: 1px solid #DBDBDB;
	}
	#cookie-bnr .cookie-bnr-inner p{
		padding: 0 20px 0 0;
		max-width: 870px;
		font-size: 15px;
		line-height: 1.9;
		font-weight: 500;
	}
	#cookie-bnr .cookie-bnr-inner p a{
		color: #0245A0;
		text-decoration: underline;
	}
	#cookie-bnr .cookie-bnr-inner p a:hover{
		text-decoration: none;
	}
	#cookie-bnr .cookie-bnr-inner ul{
		display: flex;
	}
	#cookie-bnr .cookie-bnr-inner li + li{
		margin-left: 10px;
	}
	#cookie-bnr .cookie-bnr-inner li a{
		display: block;
		width: 126px;
		height: 52px;
		line-height: 48px;
		text-align: center;
		font-size: 14;
		font-weight: 700;
		border-radius: 26px;
		border: 2px solid #0245A0;
		transition: opacity 400ms ease;
	}
	#cookie-bnr .cookie-bnr-inner a.cookie-reject{
		color: #0245A0;
		background: #FDFDFD;
	}
	#cookie-bnr .cookie-bnr-inner a.cookie-agree{
		color: #fff;
		background: #0245A0;
	}
	#cookie-bnr .cookie-bnr-inner li a:hover{
		opacity: 0.7;
	}




}


@media screen and (min-width: 768px) and (max-width: 1000px) {

	.contact-box{
   	padding: 70px 25px;
	}
	.main-top-inner-box{
   	padding: 70px 25px;	
	}
	.gnav ul a{
		font-size: 13px;
	}
	.nav-main li + li {
		margin-left: 20px;
	}
	#gheader {
		padding: 0 16px;
	}
	.gheader-logo {
		width: 160px;
	}

}



@media screen and (max-width: 767px) {

	body {
		width: 100%;
		font-size: 12px;
	}
	.ignore-sp{
		display: none;
	}
	.wrap{
		position: relative;
		width: 100%;
		padding: 60px 0 0;
		z-index: 50;
	}



/* ghedaer
====================================================================*/

	#gheader{
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 60px;
		background: #fff;
		border-bottom: 1px solid #ccc;
		z-index: 1000;
	}
	.gheader-inner{
		position: relative;
		display: flex;
		justify-content: space-between;
		align-items: center;
		height: 60px;
	}
	.gheader-logo{
		position: relative;
		left: 10px;
		width: 148px;
	}
	.logo-mgc{
		position: absolute;
		top: 50%;
		right: 75px;
		width: 95px;
		transform: translateY(-50%);
	}
	.lang_en_US .logo-mgc{
		right: 65px;
		width: 130px;
	}

	.gnav{
		position: fixed;
		top: 60px;
		left: 0;
		width: 100%;
		height: 100%;
		background: #fff;
		opacity: 0;
		visibility: hidden;
		transition: opacity 600ms ease, visibility 600ms ease;
		z-index: 10;
	}
	.gnav li{
		position: relative;
	}
	.gnav ul a{
		font-size: 16px;
		line-height: 60px;
		font-weight: 700;
	}
	.gnav ul + ul{
		right: 2px;
		margin-bottom: 25px;
		border-top: 1px solid #ccc;
	}
	.nav-main a{
		position: relative;
		padding: 0 20px;
		display: block;
	}
	.nav-main a:after{
		position: absolute;
		margin: auto;
		top: 0;
		right: 15px;
		bottom: 0;
		content: "";
		display: block;
		width: 10px;
		height: 17px;
		background: url(../img/common/arrow_bl.svg) 0 0 no-repeat;
		background-size: 100% 100%;
	}
	.nav-main li + li{
		border-top: 1px solid #ccc;
	}
	.nav-sub{
		display: flex;
		border-bottom: 1px solid #ccc;
	}
	.nav-sub li{
		width: 50%;
	}
	.nav-sub li.nav-contact a{
		display: flex;
		justify-content: center;
	}
	.nav-sub li:nth-child(2){
		border-right: 1px solid #ccc;
	}
	.nav-mgc{
		display: none;
	}
	.nav-contact span{
		position: relative;
		padding: 0 0 0 35px;
	}
	.nav-contact span:before{
		position: absolute;
		margin: auto;
		top: 5px;
		left: 0;
		bottom: 0;
		content: "";
		display: block;
		width: 25px;
		height: 25px;
		background: url(../img/common/icon_contact.svg) 0 0 no-repeat;
		background-size: 100% 100%;
	}
	.nav-lang{
		display: flex;
		justify-content: center;
	}
	.bogo-language-switcher{
		position: relative;
		display: flex;
		flex-direction: row-reverse;
		padding: 0 0 0 35px;
	}
	.bogo-language-switcher li{
		width: auto;
	}
	.bogo-language-switcher li + li{
		margin: 0;
		border: none;
	}
	.bogo-language-switcher li:nth-child(1):before{
		content: "/";
		padding: 0 2px;
	}
	.bogo-language-switcher:before{
		position: absolute;
		margin: auto;
		top: 2px;
		left: 0;
		bottom: 0;
		content: "";
		display: block;
		width: 22px;
		height: 22px;
		background: url(../img/common/icon_lang.svg) 0 0 no-repeat;
		background-size: 100% 100%;
	}
	.gnav-btn-menu{
		position: absolute;
		top: 0;
		right: 0;
		width: 60px;
		height: 60px;
	}
	.gnav-btn-menu a{
		position: relative;
		display: block;
		width: 100%;
		height: 100%;
		transition: background 600ms ease;
	}

	.gnav-btn-menu a span{
		position: absolute;
		margin: auto;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		width: 20px;
		height: 21px;
	}
	.gnav-btn-menu a span i{
		position: absolute;
		display: block;
		margin: auto;
		width: 20px;
		height: 2px;
		background: #000;
		transition: all 600ms ease;
	}
	.gnav-btn-menu a span i:nth-child(1){
		top: 0;
		left: 0;
		right: 0;
	}
	.gnav-btn-menu a span i:nth-child(2){
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
	}
	.gnav-btn-menu a span i:nth-child(3){
		left: 0;
		right: 0;
		bottom: 0;
	}

	body.is-nav-open{
		overflow: hidden;
	}

	body.is-nav-open .gnav-btn-menu a{
		background: #0245A0;
	}
	body.is-nav-open .gnav-btn-menu a span i:nth-child(1){
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		transform: rotate(-45deg);
		background: #fff;
	}
	body.is-nav-open .gnav-btn-menu a span i:nth-child(2){
		opacity: 0;
	}
	body.is-nav-open .gnav-btn-menu a span i:nth-child(3){
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		transform: rotate(45deg);
		background: #fff;
	}
	body.is-nav-open .gnav{
		opacity: 1;
		visibility: visible;
	}

	
	.btn-bg{
		position: absolute;
		right: 10px;
		bottom: -40px;
		width: 110px;
		height: 30px;
	}
	.btn-bg a{
		position: relative;
		display: block;
		padding: 0 10px;
		width: 100%;
		height: 100%;
		line-height: 30px;
		background: #fff;
		color: #0245A0;
		font-weight: 500;
		border-radius: 5px;
		font-size: 10px;
		transition: opacity 600ms ease;
	}
	.btn-bg a span.pause{
		position: absolute;
		margin: auto;
		top: 0;
		right: 10px;
		bottom: 0;
		display: inline-block;
		width: 10px;
		height: 12px;
	}
	.btn-bg a span.pause:before,
	.btn-bg a span.pause:after{
		position: absolute;
		content: "";
		display: block;
		width: 3px;
		height: 12px;
		background: #0245A0;
	}
	.btn-bg a span.pause:before{
		left: 0;
	}
	.btn-bg a span.pause:after{
		right: 2px;
	}

	.btn-bg a span.play{
		position: absolute;
		margin: auto;
		top: 0;
		right: 10px;
		bottom: 0;
		display: inline-block;
		width:0;
		height:0;
		border-style:solid;
		border-width: 5px 0 5px 10px;
		border-color: transparent transparent transparent #0245A0;
	}


/* gfooter
====================================================================*/

	#gfooter{
		margin: 80px 0 0;
		border-top: 1px solid #ccc;
		background: #fff;
	}
	.gfooter-logo{
		width: 115px;
	}
	.gfooter-inner{
		position: relative;
		padding: 30px 18px 45px;
	}
	.gfooter-nav1{
		margin: 30px 0 0;
	}
	.gfooter-nav1 li a{
		font-weight: 600;
	}
	.gfooter-nav1 li + li{
		margin-top: 30px;
	}

	.gfooter-nav2{
		position: relative;
		margin: 40px 0 0;
		padding: 30px 0 0;
	}
	.gfooter-nav2:before{
		position: absolute;
		top: 0;
		left: 0;
		content: "";
		display: block;
		width: 82px;
		height: 1px;
		background: #ddd;
	}
	.gfooter-nav2 li a{
		font-size: 12px;
	}
	.gfooter-nav2 li + li{
		margin-top: 25px;
	}
	.gfooter-cr{
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0 15px;
		height: 45px;
		background: #222;
	}
	.gfooter-cr p{
		color: #fff;
		font-size: 10px;
		text-align: center;
	}
	.btn-pt{
		position: absolute;
		right: 10px;
		bottom: 10px;
		width: 46px;
		height: 46px;
	}
	.btn-pt a{
		position: relative;
		display: block;
		width: 100%;
		height: 100%;
		border-radius: 35px;
		background: #0245A0;
	}
	.btn-pt a .arrow{
		transform: rotate(-90deg);
	}


/* arrow
====================================================================*/
	.btn-pt .arrow{
		position: absolute;
		margin: auto;
		display: block;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		width: 18px;
		height: 18px;		
	}
	.btn-pt .arrow:after{
		position: absolute;
		margin: auto;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		content: "";
		display: block;
		width: 10px;
		height: 17px;
		background: url(../img/common/arrow_wh.svg) 0 0 no-repeat;
		background-size: 100% 100%;
		transition: transform 600ms ease;
	}




/* main
====================================================================*/

	.main-top{
		margin-top: 230px;
	}
	.main-top-inner-box{
		width: 100%;
   	padding: 40px 16px;
		background: #fff;
	}
	.main-top section + section{
		margin-top: 70px;
	}
	.main-top .sec-header-top + *{
		margin-top: 35px;
	}

	.main{
		background: #fff;
	}
	.main-inner{
		margin: auto;
		padding: 30px 16px 90px;
		max-width: 1220px;
	}

/* contents
====================================================================*/
	
	.breadcrumb li{
		position: relative;
		display: inline;
		font-size: 12px;
		line-height: 1.5;
	}
	.breadcrumb li + li:before{
		position: relative;
		top: 0;
		margin: 0 10px;
		content: "";
		display: inline-block;
		width: 4px;
		height: 7px;
		background: url(../img/common/arrow_bl.svg) 0 0 no-repeat;
		background-size: 100% 100%;
	}
	.breadcrumb li a{
		color: #073190;
	}


	.contents-header{
		height: 130px;
	}
	.contents-header-inner{
		display: flex;
		align-items: center;
		margin: auto;
		padding: 0 10px;
		max-width: 1220px;
		height: 100%;
	}
	.contents-header-title h1{
		font-size: 32px;
		color: #073190;
	}
	.contents-header-title span{
		margin: 15px 0 0;
		display: block;
		font-size: 12px;
	}




/* news
====================================================================*/

	.news-header-top h3{
		font-size: 16px;
		font-weight: 500;
	}
	.news-list-top{
		margin: 15px 0 0;
	}
	.news-top-detail + .btn-link-box{
		margin-top: 25px;
	}
	.news-topics{
		margin-top: 42px;
	}

	.news-item-top:nth-child(1){
		border-top: 1px solid #ddd;
	}
	.news-item-top{
		border-bottom: 1px solid #ddd;
	}
	.news-item-top a{
		position: relative;
		padding: 25px 50px 25px 0;
		display: block;
	}
	.news-item-top dt{
		font-size: 14px;
		color: #999;
	}
	.news-item-top dl{
	  overflow: hidden;
	}
	.news-item-top dd{
		margin: 15px 0 0;
		font-weight: 500;
		line-height: calc(28/16);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
	}
	.news-item-top a:after{
		position: absolute;
		margin: auto;
		top: 0;
		right: 12px;
		bottom: 0;
		content: "";
		display: block;
		width: 10px;
		height: 17px;
		background: url(../img/common/arrow_bl.svg) 0 0 no-repeat;
		background-size: 100% 100%;
	}
	.news-item-top a[target="_blank"]:after{
		position: absolute;
		margin: auto;
		top: 0;
		right: 12px;
		bottom: 0;
		content: "";
		display: block;
		width: 17px;
		height: 14px;
		background: url(../img/common/icon_blank_bl.svg) 0 0 no-repeat;
		background-size: 100% 100%;
	}

	.news-item{
		border-bottom: 1px solid #ddd;
	}
	.news-item a{
		position: relative;
		padding: 30px 80px 30px 0;
		display: block;
	}
	.news-item dt{
		color: #999;
	}
	.news-item dl{
	  overflow: hidden;
		font-size: 20px;
	}
	.news-item dd{
		margin: 15px 0 0;
		font-weight: 500;
		line-height: calc(28/16);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
	}
	.news-item a:after{
		position: absolute;
		margin: auto;
		top: 0;
		right: 25px;
		bottom: 0;
		content: "";
		display: block;
		width: 10px;
		height: 17px;
		background: url(../img/common/arrow_bl.svg) 0 0 no-repeat;
		background-size: 100% 100%;
	}
	.news-item a[target="_blank"]:after{
		position: absolute;
		margin: auto;
		top: 0;
		right: 25px;
		bottom: 0;
		content: "";
		display: block;
		width: 17px;
		height: 14px;
		background: url(../img/common/icon_blank_bl.svg) 0 0 no-repeat;
		background-size: 100% 100%;
	}





/* page-contents
====================================================================*/

	.page-contents{
		margin: 30px 0 0;
	}
	.page-main{
		margin: 45px 0 0;
	}
	.page-main-header h2{
		font-size: 18px;
		font-weight: 500;
	}
	.page-main-header{
		padding: 0 0 10px;
		border-bottom: 1px solid #ddd;
	}
	.page-col + .page-col{
		margin-top: 45px;
	}
	.page-nav-box{
		position: sticky;
		top: 130px;
	}
	.page-nav li:nth-child(1){
		border-top: 1px solid #ddd;
	}
	.page-nav li{
		border-bottom: 1px solid #ddd;
	}
	.page-nav a{
		position: relative;
		display: flex;
		align-items: center;
		height: 60px;
		line-height: 1.5;
		font-size: 14px;
		font-weight: 500;
	}
	.page-nav a:after{
		position: absolute;
		margin: auto;
		top: 0;
		bottom: 0;
		right: 10px;
		content: "";
		display: inline-block;
		width: 10px;
		height: 17px;
		background: url(../img/common/arrow_bl.svg) 0 0 no-repeat;
		background-size: 100% 100%;
		transform: rotate(90deg);
	}


/* btm-nav
====================================================================*/

	.btm-nav{
		margin: 40px 0 0;
	}
	.btm-nav a{
		font-size: 14px;
	}
	.btm-nav a span{
		position: relative;
		display: inline-block;
		padding: 0 0 0 20px;
	}
	.btm-nav a span:before{
		position: absolute;
		margin: auto;
		top: 3px;
		bottom: 0;
		left: 0;
		content: "";
		display: inline-block;
		width: 10px;
		height: 17px;
		background: url(../img/common/arrow_bl.svg) 0 0 no-repeat;
		background-size: 100% 100%;
		transform: rotate(180deg);
	}


/* contact
====================================================================*/

	#contact{
		margin-top: 80px;
	}

	#contact .contact-inner{
		margin: auto;
		padding: 0 16px;
	}
	.contact-box{
		width: 100%;
   	padding: 40px 16px;
		background: #fff;
		border-radius: 10px;
	}
	.contact-info{
		padding-top: 30px;
		margin-top: 30px;
		border-top: 1px solid #ddd;
	}
	.contact-info-lead p{
		font-size: 16px;
		font-weight: 500;
		line-height: 1.5;
	}
	.contact-info .btn-link{
		margin-top: 35px;
	}

/* pd-link
====================================================================*/


	.pd-link{
		position: relative;
		padding: 0 40px 0 0;
	}
	.pd-link .icon-pd{
		position: absolute;
		margin: auto;
		top: 0;
		right: 10px;
		bottom: 0;
		width: 14px;
		height: 14px;
	}
	.pd-link .icon-pd:before,
	.pd-link .icon-pd:after{
		position: absolute;
		content: "";
		margin: auto;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		display: block;
		width: 14px;
		height: 2px;
		background: #0245A0;
	}
	.pd-link .icon-pd:before{
		transform: rotate(90deg);
		transition: transform 600ms ease;
	}
	.pd-link.is-click .icon-pd:before{
		transform: rotate(0);
	}
	.pd-contents{
		display: none;
	}



/* btn-link
====================================================================*/

	.btn-link{
		margin: auto;
		width: 100%;
		max-width: 300px;
		height: 45px;
	}
	.btn-link-s{
		margin: auto;
		width: 100%;
		max-width: 300px;
		height: 40px;
	}

	.btn-link a{
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 100%;
		background: #0245A0;
		border-radius: 30px;
		transition: opacity 600ms ease;
	}
	.btn-link a:after{
		position: absolute;
		margin: auto;
		top: 0;
		right: 18px;
		bottom: 0;
		content: "";
		display: block;
		width: 10px;
		height: 17px;
		background: url(../img/common/arrow_wh.svg) 0 0 no-repeat;
		background-size: 100% 100%;
		transition: transform 600ms ease;
	}
	.btn-link a[target="_blank"]:after{
		position: absolute;
		margin: auto;
		top: 0;
		right: 15px;
		bottom: 0;
		content: "";
		display: block;
		width: 17px;
		height: 14px;
		background: url(../img/common/icon_blank_wh.svg) 0 0 no-repeat;
		background-size: 100% 100%;
	}


	.btn-link-bl a{
		color: #fff;
		font-weight: 500;
	}
	.btn-link-bl a{
		color: #fff;
		font-weight: 500;
	}


	.form-btn{
		margin: 60px 0 0;
	}
	.form-btn ul li{
		width: 100%;
	}
	.form-btn ul li + li{
		margin-top: 20px;
	}

	.form-btn button{
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		margin: auto;
		width: 100%;
		max-width: 490px;
		height: 60px;
		background: #0245A0;
		border-radius: 30px;
		transition: opacity 600ms ease;
		border: none;
		color: #fff;
		font-weight: bold;
		font-size: 16px;

	}
	.form-btn button:after{
		position: absolute;
		margin: auto;
		top: 0;
		right: 20px;
		bottom: 0;
		content: "";
		display: block;
		width: 10px;
		height: 17px;
		background: url(../img/common/arrow_wh.svg) 0 0 no-repeat;
		background-size: 100% 100%;
	}
	.form-btn button.form-back:after{
		position: absolute;
		margin: auto;
		top: 0;
		right: inherit;
		left: 20px;
		bottom: 0;
		content: "";
		display: block;
		width: 10px;
		height: 17px;
		background: url(../img/common/arrow_wh.svg) 0 0 no-repeat;
		background-size: 100% 100%;
		transform: rotate(-180deg);
	}


	/* cookie-bnr
	===============================================================*/

	#cookie-bnr{
		position: fixed;
		margin: auto;
		left: 0;
		right: 0;
		bottom: 10px;
		padding: 0 40px;
		max-width: 1320px;
		width: 100%;
		z-index: 100;
	}
	#cookie-bnr .cookie-bnr-inner{
		padding: 20px 25px;
		width: 100%;
		background: rgba(255,255,255,0.95);
		border-radius: 6px;
		border: 1px solid #DBDBDB;
	}
	#cookie-bnr .cookie-bnr-inner p{
		line-height: 1.8;
		font-weight: 500;
	}
	#cookie-bnr .cookie-bnr-inner p a{
		color: #0245A0;
		text-decoration: underline;
	}
	#cookie-bnr .cookie-bnr-inner ul{
		display: flex;
		margin: 15px -5px 0;
	}
	#cookie-bnr .cookie-bnr-inner li{
		padding: 0 5px;
		width: 50%;
	}
	#cookie-bnr .cookie-bnr-inner li a{
		display: block;
		width: 100%;
		height: 50px;
		line-height: 46px;
		text-align: center;
		font-size: 12px;
		font-weight: 700;
		border-radius: 26px;
		border: 2px solid #0245A0;
	}
	#cookie-bnr .cookie-bnr-inner a.cookie-reject{
		color: #0245A0;
		background: #FDFDFD;
	}
	#cookie-bnr .cookie-bnr-inner a.cookie-agree{
		color: #fff;
		background: #0245A0;
	}





}


@media screen  and (max-width: 374px){

	.logo-mgc{
		right: 55px;
		width: 80px;
	}
  .lang_en_US .logo-mgc {
      right: 60px;
      width: 120px;
  }
  .gheader-logo {
    position: relative;
    width: 100px;
  }



}




