* {
	margin: 0;
	padding: 0;
	-webkit-text-size-adjust: 100%;
	word-wrap: break-word;
}

html,
body {
	color: #000000;
	/*font-family: "メイリオ", "Meiryo", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
	font-weight: 500;*/
	/*line-height: 1.5;*/
	font-family: "微软雅黑","Microsoft YaHei",arial,"黑体","宋体","PingFang SC","Hiragino Sans GB","Hiragino Sans GB W3",sans-serif;
}
html {
	overflow-y: scroll;
	/* =16px */
	/*font-size: 100%;*/ 
	/* =10px */
	font-size: 62.5%;
}

body {
	font-size: 1.4rem;/* =14px */
	position: relative;
	overflow: hidden;
}

li {
	list-style: none;
}

a {
	text-decoration: none;
}

img {
	max-width: 100%;
	border: 0;
}

a img {
	border: 0;
}


/*ScrollTrigger*/


.invisible {
	transition: transform 1.2s ease, opacity 1.2s ease;
	transform: translateY(30px);
	opacity: 0.0;
}

.visible {
	transition: transform 1.2s ease, opacity 1.2s ease;
	transform: translateY(0);
	opacity: 1.0;
}

.fade {
	-webkit-transition: .3s ease-in-out;
	-moz-transition: .3s ease-in-out;
	-o-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
.fade2 {
	-webkit-transition: .2s ease-in-out;
	-moz-transition: .2s ease-in-out;
	-o-transition: .2s ease-in-out;
	transition: .2s ease-in-out;
}

.main {
	width: 1440px;
	max-width: 95%;
	margin: 0 auto;
}
.main1000 {
	width: 1000px;
	max-width: 95%;
	margin: 0 auto;
}

.pc_none {
	display: none;
}

.d-menu {
	display: none;
}

.panel {
	display: none;
}

.sp_br {
	display: none;
}
.color_871bab{
	color: #871bab;
}
.pc_br{
	display: none;
}

/*header*/

header {
	width: 100%;
	background: #FFFFFF;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99;
	border-bottom: 2px solid #4091d9;
}

header img,
header a {
	display: block;
}
.header_pdl{
	padding-left: 20px;
	padding-right: 30px;
	position: relative;
	padding-top: 38px;
}
.header_box{
	width: 100%;
	background: #FFFFFF;
	/*position: fixed;
	top: 0;
	left: 0;
	z-index: 99;*/
}
.header_main {
	width: 100%;
	display: table;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.logo {
	width: 389px;
	display: table-cell;
	vertical-align: top;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	/* padding: 15px 0 ; */
	/* padding-bottom: 10px; */
}

.logo a {
	display: block;
}
.logo a img{
	display: block;
	width: 100%;
	max-width: 389px;
}
.logo a:hover {
	opacity: 0.8;
}





/*nav*/
.nav_box{
	display: table-cell;
	vertical-align: middle;
}
nav {
	display: block;
}

.fixed {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99;
}
.nav_pdl{
	padding-left: 10px;
	padding-top: 26px;
}
.nav_list {
	display: table;
	/* padding: 0 20px; */
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0 0 0 auto;
}

.nav_list > li {
	width: auto;
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	position: relative;
}

.nav_list > li > a {
	/* font-size: 1.6rem; */
	 
	/* font-weight: bold; */
	display: block;
	overflow: hidden;
	padding: 0px 0 15px;
	
}
.nav_name{
	font-size: 2.0rem;
	color: #222222;
	padding-bottom: 2px;
}
.nav_nameEM{
	font-size: 1.6rem;
	color: #848484;
	font-family: arial,"Microsoft YaHei","微软雅黑","黑体","宋体","PingFang SC","Hiragino Sans GB","Hiragino Sans GB W3",sans-serif;
}
.nav_inner{
	/* min-width: 130px; */
	padding: 0px 21px;
	border-right: 1px solid #848484;
	box-sizing: border-box;
}
.nav_inner02{
	padding: 0px 10px;
}
.nav_list>li:last-child>a .nav_inner {
	padding-right: 0;
	border-right: none;
	
}
.nav_list>li a:hover .nav_name,.nav_list>li a:hover .nav_nameEM {
	/* color: #01458c; */
}
/*.nav_list li a:after{
	content: "";
    position: absolute;
    bottom: 0;
    right: 100%;
    display: block;
    width: 100%;
    height: 2px;
    background: #0650cb;
    -webkit-transition: .3s ease-in-out;
	-moz-transition: .3s ease-in-out;
	-o-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}*/

.nav_list>li:hover>a .nav_name,.nav_list>li.nav_select>a .nav_name,.nav_list>li:hover>a .nav_nameEM,.nav_list>li.nav_select>a .nav_nameEM {
	color: #01458c;
}
/*.nav_list li:hover a:after,.nav_list li.nav_select a:after {
	right: 0;
}*/
.sp_btn{
	display: none;
}
.font12{
	font-size: 1.2rem;
}

.nav_list .nav_sub {
	width: 100%;
	position: absolute;
	top: calc(100% - 0px);
	left: 0;
	background-color: #f2f0f0;
	padding-bottom: 3px;
	display: none;
}
.nav_list li:nth-of-type(3) .nav_sub {
	/* display: block; */
}
.nav_list .nav_sub > li {
	border-bottom: 1px solid #d2d0d0;
}
.nav_list .nav_sub > li > a {
	display: block;
	padding: 8px 5px;
	font-size: 1.8rem;
	color: #000000;
}
.nav_list .nav_sub > li > a:hover, .nav_sub .on > a {
	color: #FFFFFF !important;
	background-color: #00448b;
}

.nav_list > li:hover > .nav_sub {
	display: block;
}

.nav_sub li {
	position: relative;
}

.nav_sub li > ul {
	position: absolute;
	left: 100% !important;
	top: 0 !important;
	display: none;
	width: auto !important;
	min-width: 100%;
	white-space: nowrap;
}

.nav_sub li:hover > ul {
	display: block;
}

.header_language{
	position: absolute;
	right: 25px;
	top: 20px;
}
.header_language li{
	display: inline-block;
	padding: 0 7px;
}
.header_language li a{
	display: inline-block;
	background-color: #004e90;
	font-size: 1.3rem;
	color: #FFFFFF;
	padding: 3px 12px 4px;
	box-shadow: -1px 1px 1px #888888;
}
.header_language li a:hover{
	-webkit-transform: translate(-1px,1px);
	-moz-transform: translate(-1px,1px);
	-ms-transform: translate(-1px,1px);
	-o-transform: translate(-1px,1px);
	transform: translate(-1px,1px);
	box-shadow: 0px 0px 0px #888888;
}







/* ----------- footer ----------- */

footer {
	
}
.footer_middle{
	background: #004e90;
	padding: 50px 0 0px;
}
.footer_box{
	padding-bottom: 15px;
}
.footer_content{
	width: 100%;
	display: table;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.footer_link{
	width: 470px;
	display: table-cell;
	vertical-align: top;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.footer_link ul{
	
}
.footer_link ul li{
	padding-bottom: 15px;
}
.footer_link ul li:last-child{
	padding-bottom: 0px;
}
.footer_link ul li a{
	display: inline-block;
	font-size: 2.4rem;
	color: #FFFFFF;
}
.footer_link ul li a:hover{
	text-decoration: underline;
	-webkit-transform: translateY(-2px);
	-moz-transform: translateY(-2px);
	-ms-transform: translateY(-2px);
	-o-transform: translateY(-2px);
	transform: translateY(-2px);
}

.footer_cL{
	width: auto;
	display: table-cell;
	vertical-align: top;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.footer_cL ul{
	
}
.footer_cL ul li{
	padding-bottom: 15px;
	font-size: 2.4rem;
	color: #FFFFFF;
	display: table;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.footer_cL ul li:last-child{
	padding-bottom: 0px;
}
.footer_cL ul li div:nth-child(1){
	width: auto;
	display: table-cell;
	vertical-align: top;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	white-space:nowrap;
	
}
.footer_cL ul li div:nth-child(2){
	width: auto;
	display: table-cell;
	vertical-align: top;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	word-break:break-all;
}

.footer_cL ul li a{
	display: inline-block;
	color: #FFFFFF;
}
.footer_cL ul li a:hover{
	text-decoration: underline;
}

.footer_cQR{
	width: 145px;
	display: table-cell;
	vertical-align: top;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.footer_cQR img{
	display: block;
	margin: 0 auto;
}
.footer_cQR p{
	font-size: 1.8rem;
	color: #FFFFFF;
	text-align: center;
	padding-top: 3px;
}

.footer_copy{
	background-color: #2f2f2f;
	padding: 14px 10px;
	text-align: center;
	font-size: 1.8rem;
	color: #c5c3c3;
}
.footer_copy a{
	color: #c5c3c3;
}
.footer_copy ul{
	
}
.footer_copy ul li{
	display: inline-block;
}
.footer_copyBorder{
	margin: 0 -2px;
}















/*pagt top*/
.pagetop {
	display: none;
	width: 50px;
	height: 50px;
	position: fixed;
	right: 100px;
	bottom: 150px;
	z-index: 999;
}

.pagetop img {
	display: block;
    -webkit-transition: .2s ease-in-out;
	-moz-transition: .2s ease-in-out;
	-o-transition: .2s ease-in-out;
	transition: .2s ease-in-out;
	opacity: 0.8;
}
.pagetop:hover img{
	opacity: 1;
}



@media only screen and (max-width: 1360px) {
	/*header*/
	.header_pdl {
	    padding-left: 10px;
	    padding-right: 10px;
	    padding-top: 35px;
	}
	.logo {
	    width: 260px;
		vertical-align: bottom;
		padding-bottom: 15px;
	}
	.nav_name {
	    font-size: 1.8rem;
	    padding-bottom: 1px;
	}
	.nav_nameEM {
	    font-size: 1.2rem;
	}
	.nav_list .nav_sub li a {
	    font-size: 1.4rem;
	}
	.nav_inner {
	    padding: 0px 10px;
	}
	.header_language {
	    right: 5px;
	    top: 15px;
	}
	
	.footer_link {
	    width: 300px;
	}
	
}

@media only screen and (max-width: 1024px) {
	.main {
		width: 95%;
	}
	.sp_none {
		display: none;
	}
	.pc_none {
		display: block;
	}
	/*header*/
	header .main1000{;
		max-width: 100%;
	}
	
	header {
		padding: 10px 10px;
		position: fixed;
		top: 0;
		z-index: 999;
		border-bottom: 2px solid #01458b;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		height: auto !important;
	}
	.header_box {
		width: 100%;
	    box-sizing: border-box;
	    position: relative !important;
	}
	.header_main {
		display: table;
	}
	.logo {
		width: auto;
		padding-right: 70px;
		padding-left: 0;
		padding-top: 0;
		padding-bottom: 0;
	}
	.logo a {
		width: auto;
		max-width: 275px;
		/*height: 50px;*/
	}
	.logo a img{
		width: auto;
		max-width: 100%;
		height: 50px;
	}
	.header_pdl {
	    padding-left: 0px;
		padding-top: 0;
		padding-right: 0;
	}
	
	.d-menu {
		display: table-cell;
		vertical-align: middle;
		width: 70px;
		height: 50px;
		cursor: pointer;
		position: relative;
	}
	.panel-btn {
		display: block;
		position: absolute;
		top: 0;
		/*bottom: 0;*/
		right: 0;
		margin: auto;
		width: 50px;
		height: 50px;
		background: #01458b;
		border-radius: 5px;
		-webkit-border-radius: 5px;
		-moz-border-radius: 5px;
	}
	.panel-btn-icon {
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		width: 26px;
		height: 4px;
		margin: -2px 0 0 -13px;
		background: #FFF;
		transition: .2s;
	}
	.panel-btn-icon:before,
	.panel-btn-icon:after {
		display: block;
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		width: 26px;
		height: 4px;
		background: #FFF;
		transition: .3s;
	}
	.panel-btn-icon:before {
		margin-top: -11px;
	}
	.panel-btn-icon:after {
		margin-top: 7px;
	}
	.panel-btn .close {
		background: transparent;
	}
	.panel-btn .close:before,
	.panel-btn .close:after {
		margin-top: 0;
	}
	.panel-btn .close:before {
		-ms-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	.panel-btn .close:after {
		-ms-transform: rotate(-135deg);
		-moz-transform: rotate(-135deg);
		-webkit-transform: rotate(-135deg);
		transform: rotate(-135deg);
	}
	/*nav*/
	nav {
		display: none;
		width: 100%;
		padding: 0;
		position: fixed;
		z-index: 999;
		bottom: 0;
		left: 0;
		
		background: #01458b;
	    background: -moz-linear-gradient(top, #01458b 0%, #004e90 100%);
	    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#01458b), color-stop(100%,#004e90));
	    background: -webkit-linear-gradient(top, #01458b 0%,#004e90 100%);
	    background: -o-linear-gradient(top, #01458b 0%,#004e90 100%);
	    background: -ms-linear-gradient(top, #01458b 0%,#004e90 100%);
	    background: linear-gradient(to bottom, #01458b 0%,#004e90 100%);
	    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#01458b', endColorstr='#004e90',GradientType=0 );
		
		overflow-y: auto;
	}
	:root nav{filter:none;}
	.fixed {
		top: auto;
		left: auto;
	}
	.nav_pdl {
	    padding-left: 0px;
		padding-top: 0;
		overflow: hidden;
	}
	.nav_list {
		width: 100%;
		display: block;
		padding: 0 0px;
	}
	.nav_list>li {
		width: 100%;
		display: block;
		text-align: left;
		background: none;
		border-bottom: 1px solid #FFFFFF;
		box-sizing: border-box;
	}
	
	.nav_list>li:last-of-type {
		background: none;
	}
	.nav_list>li>a {
		width: 100%;
		display: block;
		font-size: 18px;
		color: #FFFFFF;
		font-weight: normal;
		position: relative;
		box-sizing: border-box;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		-o-box-sizing: border-box;
		-ms-box-sizing: border-box;
		padding: 20px 0;
	}
	.nav_list>li>a:hover{
		color: #FFFFFF;
	}
	.nav_list>li>a:after {
	    display: none;
	}
	
	.sp_btn li:nth-child(1) {
		background-color: #01458b;
	}
	.sp_btn li:nth-child(2) {
		
	}
	
	
	
	.nav_inner {
	    border-right: none;
	}
	
	.nav_name,.nav_nameEM {
		display: inline-block;
		color: #FFFFFF;
	}
	.nav_name{
		margin-right: 5px;
		padding-bottom: 0;
	}
	.nav_list>li:hover>a .nav_name, .nav_list>li.nav_select>a .nav_name, .nav_list>li:hover>a .nav_nameEM, .nav_list>li.nav_select>a .nav_nameEM {
	    color: #FFFFFF;
	}
	.nav_list .nav_sub {
	    width: auto;
	    position: relative;
	    top: 0;
	    background-color: transparent;
	    padding-bottom: 0px;
	    display: block;
	}
	.nav_list .nav_sub {
	    border-top: 1px solid #FFFFFF;
	}
	.nav_list .nav_sub li {
	    border-bottom: 1px solid #FFFFFF;
	}
	.nav_list .nav_sub li:last-child {
	    border-bottom: none;
	}
	.nav_list .nav_sub li a {
	    font-size: 1.4rem;
		padding: 15px 10px 15px 25px;
		color: #FFFFFF;
	}
	.header_language {
		display: block;
		width: 50px;
		height: 50px;
		top: 0;
		bottom: 0;
		right: 70px;
		margin: auto;
		background-color: #004e90;
		overflow: hidden;
	}
	.header_language li {
	    display: block;
	    padding: 0 0px;
	}
	.header_language li a {
	    display: block;
	    font-size: 1.2rem;
	    color: #FFFFFF;
	    padding: 4px 5px 4px;
	    box-shadow: 0px 0px 0px transparent;
		border-bottom: 1px solid #FFFFFF;
		height: 25px;
		text-align: center;
		box-sizing: border-box;
	}
	.header_language li:last-child a{
		border-bottom: none;
	}
	.header_language li a:hover {
	    -webkit-transform: translate(0,0);
	    -moz-transform: translate(0,0);
	    -ms-transform: translate(0,0);
	    -o-transform: translate(0,0);
	    transform: translate(0,0);
	    box-shadow: 0px 0px 0px transparent;
	}
	/* ----------- footer ----------- */
	footer {
		
	}
	.footer_link {
	    width: 180px;
	}
	.footer_link ul li {
	    padding-bottom: 10px;
	}
	.footer_link ul li a {
	    font-size: 1.8rem;
	}
	.footer_cL ul li {
	    padding-bottom: 10px;
	    font-size: 1.8rem;
	}
	.footer_cL {
	    
	}
	.footer_cQR {
	    width: 120px;
	}
	.footer_cQR p {
	    font-size: 1.4rem;
	    padding-top: 1px;
	}
	
	
	
	/*pagt top*/
	.pagetop {
		right: 10px;
	}
	
	.nav_sub li > ul {
		left: auto !important;
		top: auto !important;
	}
	
	.nav_sub > li > .nav_sub > li > a {
		padding-left: 50px;
	}
	
	.nav_sub > li > .nav_sub > li > .nav_sub > li > a {
		padding-left: 75px;
	}
	
}

@media only screen and (max-width: 768px) {
	/* ----------- common ----------- */
	
	/* ----------- footer ----------- */
	.footer_middle {
	    
	}
	.footer_link {
		display: block;
	    width: auto;
		padding-bottom: 25px;
	}
	.footer_link ul{
		text-align: center;
	}
	.footer_link ul li {
	    padding-bottom: 0px;
		display: inline-block;
		margin: 0 10px;
	}
	.footer_cL {
		display: block;
		width: auto;
		padding-bottom: 25px;
	}
	.footer_cL ul li {
	    margin: 0 auto;
	}
	.footer_cQR {
	    display: block;
	    width: auto;
		max-width: 60%;
		margin: auto;
	}
	.footer_cQR p {
	    font-size: 1.4rem;
	    padding-top: 5px;
	}
	.footer_box {
	    padding-bottom: 30px;
	}
	.footer_copy {
	    font-size: 1.6rem;
		line-height: 2.6rem;
	}
	.footer_copy ul li {
	    display: block;
	}
	.footer_copyBorder{
		display: none !important;
	}
	
	/*pagt top*/
	.pagetop {
		bottom: 100px;
		width: 46px;
	}
	
	
}

@media only screen and (max-width: 480px) {
	/*header*/
	.logo {
	    padding-right: 50px;
	}
	.logo a img {
	    height: 40px;
	}
	.d-menu {
		width: 50px;
		height: 40px;
	}
	.panel-btn {
		width: 40px;
		height: 40px;
	}
	.panel-btn-icon {
		width: 22px;
		height: 2px;
		margin: -1px 0 0 -11px;
	}
	.panel-btn-icon:before,
	.panel-btn-icon:after {
		width: 22px;
		height: 2px;
	}
	.panel-btn-icon:before {
		margin-top: -9px;
	}
	.panel-btn-icon:after {
		margin-top: 7px;
	}
	.pc_br{
		display: block;
	}
	/*nav*/
	.nav_list>li {
		
	}
	.nav_list>li>a {
		font-size: 16px;
		padding: 15px 0;
	}
	
	.nav_name {
	    font-size: 1.6rem;
	}
	.nav_list .nav_sub li a {
	    font-size: 1.3rem;
	}
	.header_language {
	    width: 40px;
	    height: 40px;
	    right: 50px;
	}
	.header_language li a {
	    display: block;
	    font-size: 1.2rem;
	    color: #FFFFFF;
	    padding: 1px 5px;
	    box-shadow: 0px 0px 0px transparent;
	    border-bottom: 1px solid #FFFFFF;
	    height: 20px;
	}
	
	/*footer*/
	.footer_middle {
	    padding: 40px 0 0px;
	}
	.footer_link ul li a {
	    font-size: 1.6rem;
		line-height: 3.0rem;
	}
	.footer_link ul li {
	    padding-bottom: 0px;
	    display: inline-block;
	    margin: 0 0px;
		width: 48%;
	}
	.footer_cL ul li {
	    padding-bottom: 10px;
	    font-size: 1.6rem;
	}
	.footer_copy {
	    font-size: 1.4rem;
	    line-height: 2.4rem;
	}
	
}

/*page common*/
/* ----------- common ----------- */
.part_title h2{
	font-size: 7.2rem;
	color: #004e90;
	font-weight: normal;
	text-align: left;
	position: relative;
	padding-bottom: 5px;
	padding-left: 25px;
}
.part_title h2::after{
	content: "";
	width: 434px;
	border-bottom: 1px solid #004e90;
	position: absolute;
	left: 0;
	bottom: 0;
}

@media only screen and (max-width: 1360px) {
	/* ----------- common ----------- */
	.part_title h2 {
	    font-size: 5.0rem;
	    padding-left: 15px;
	}
	
	
}

@media only screen and (max-width: 1024px) {
	/* ----------- common ----------- */
	.part_title h2 {
	    font-size: 3.5rem;
	    padding-left: 10px;
	}
	.part_title h2::after {
	    max-width: 100%;
	}
	
}

@media only screen and (max-width: 768px) {
	/* ----------- common ----------- */
	.module_pd{
		padding: 60px 0 !important;
	}
	.part_title h2 {
	    font-size: 2.6rem;
	}
	
	
}

@media only screen and (max-width: 480px) {
	/* ----------- common ----------- */
	.module_pd {
	    padding: 40px 0 !important;
	}
	.part_title h2 {
	    font-size: 2.2rem;
	}
	
	
	
}
