@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');
html {
  -webkit-text-size-adjust: 100%;
}
:root {
	--color-main: rgba(0, 35, 73, 1); /*#002349*/
	--color-white: #fff;
	--color-lblue: #385D81;
	--color-btn01:#7C95AB;
	--news-color01: #8E740B;
	--news-color02:#5A87BB;
	--news-color03:#002349;
	--news-color04:#999999;
  }

* {
	margin: 0px;
	padding: 0px;
}

a {
	overflow: hidden;
}

a:link {
	color: inherit;
	text-decoration: none;
}
a:visited {
	color: inherit;
	text-decoration: none;
}
a:hover {
	color: inherit;
	text-decoration: none;
}
a:active {
	color: inherit;
	text-decoration: none;
}

img{
	width:100%;
	height:auto;
}

ul li{
	  list-style: none;
}



body {
	color: #002349;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	line-height: 1.6;
}
body.scrollRock{
	overflow: hidden;
}

h1{
	font-size:70px;
	font-weight: 600;
}
h2{
	font-size:50px;
	font-weight: 600;
}
h3{
	font-size:38px;
	font-weight: 600;
}
h4{
	font-size:32px;
	font-weight: 600;
}
h5{
	font-size:30px;
	font-weight: 600;
}
h6{
	font-size:24px;
	font-weight: 600;
}
p{
	font-size:16px;
}
@media screen and (max-width: 769px){
	h4{
		font-size:24px;
	}
	h5{
		font-size:24px;
	}
	h6{
		font-size:22px;
	}
}
@media screen and (max-width: 471px){
	h4{
		font-size:20px;
	}
	h5{
		font-size:20px;
	}
	h6{
		font-size:18px;
	}
}


/*container*/
.container1400{
	max-width:1400px;
	margin:0 auto;
}
.container1200{
	max-width:1200px;
	margin:0 auto;
}
.container1080{
	max-width:1080px;
	margin:0 auto;
}
/*.container1040{
	width:1040px;
	margin:0 auto;
}*/
@media screen and (max-width: 1480px){
	.container1400{
		width:92.2%;
		margin:0 auto;
	}
}
@media screen and (max-width: 1280px){
	.container1200{
		width:92.2%;
		margin:0 auto;
	}
}
@media screen and (max-width: 1120px){
	.container1040{
		width:92.2%;
		margin:0 auto;
	}
}

/*box*/
.flexbox{
	display:flex;
}
.flexbox-center{
	display:flex;
	justify-content:space-between;
	align-items: center;
}
.gridbox{
	display:grid;
}


/*hover button*/
.btn_a {
	max-width:450px;
}
.btn_a a{
	width:100%;
	border:1px solid var(--color-main);
	color:var(--color-main);
	display:block;
	padding:29px 0;
	background-color:var(--color-white);
	text-align: center;
	font-weight:600;
	transition: all 0.3s ease-in-out;
	position:relative;
}
.btn_a a:after{
	position:absolute;
	display: block;
    content: "";
    width: 0;
    height: 4px;
    opacity: 0;
	bottom:0;
    background: var(--color-main);
    -webkit-transition:all 0.7s;
    transition:all 0.3s;
	transform-origin:left;
	transform: scale(0, 1);
	backface-visibility:hidden
}
.btn_a a div.innera{
	transition:all 0.3s;
	transform:translateY(0);
	font-size:20px;
	font-weight:600;
	padding: 0 5px;
    box-sizing: border-box;
}
.btn_a a div.innerb{
	transition:all 0.3s;
	transform:translateY(0);
	font-size:24px;
	font-weight:600;
}

@media(hover: hover) {
.btn_a a:hover{
    cursor: pointer;
}
.btn_a a:hover:after{
	width: 100%;
	transform: scale(1, 1);
	opacity: 1;
}
.btn_a a:hover div.innera{
	transform:translateY(-7px)
}
.btn_a a:hover div.innerb{
	transform:translateY(-7px)
}
}

.btn_contact{
	display: table;
	color:var(--color-white);
	background:-webkit-gradient(0deg, var(--color-lblue), var(--color-main));
	background:-webkit-linear-gradient(0deg, var(--color-lblue), var(--color-main));
	background:linear-gradient(0deg, var(--color-lblue), var(--color-main));
	height:100%;
}
.btn_contact a{
	width:100%;
	height:100%;
	display:table-cell;
	text-align: center;
	vertical-align: middle;
}

.btn_contact02{
	display: table;
	color:var(--color-white);
	background:-webkit-gradient(0deg, var(--color-main), var(--color-lblue));
	background:-webkit-linear-gradient(0deg, var(--color-main), var(--color-lblue));
	background:linear-gradient(0deg, var(--color-main), var(--color-lblue));
	height:100%;
}
.btn_contact02 a{
	width:100%;
	height:100%;
	display:table-cell;
	text-align: center;
	vertical-align: middle;
}

.btn_vector_box a{
	/*display:block;*/
	width:100%;
	height:100%;
	display:flex;
	justify-content: space-between;
	align-items: center;
	font-size:20px;
	font-weight:600;
}
.btn_vector_txt a{
	/*display:block;*/
	width:100%;
	height:100%;
	display:flex;
	justify-content: center;
	align-items: center;
}
.btn_txt{
	margin-right:13px;
	text-align:center;
	/*max-width:70%;*/
}
.btn_vector{
	transition: all 0.3s;
	display: inline-block; /*chrome hack*/
	-webkit-backface-visibility:hidden; /*chrome hack*/
	backface-visibility:hidden; /*chrome hack*/
	overflow:hidden; /*chrome hack*/
	filter: blur(0); /*chrome hack*/
	perspective: 1000; /*ios hack*/
	will-change: transform;
	position:relative;
}
.btn_box_right48{
	width:420px;
	height:120px;
	/*padding:0 50px;*/
	border:1px solid var(--color-main);
	font-size:20px;
	font-weight:600;
}
.btn_box_right48 a{
	padding:0 50px;
}
.btn_box_right48 .btn_txt{
	flex:220px;
}
.btn_box_left48{
	width:420px;
	height:120px;
	/*padding:0 50px;*/
	border:1px solid var(--color-main);
	font-size:20px;
	font-weight:600;
}
.btn_box_left48 a{
	padding:0 50px;
}
.btn_box_left48 .btn_txt{
	flex:220px;
}
.btn_box_bottom48{
	width:420px;
	height:120px;
	/*padding:0 50px;*/
	border:1px solid var(--color-main);
	font-size:20px;
	font-weight:600;
}
.btn_box_bottom48 a{
	padding:0 50px;
}
.btn_box_bottom48 .btn_txt{
	flex:220px;
}
.btn_blue{
	background:var(--color-main);
	color:var(--color-white);
}
.btn_vector48{
	aspect-ratio: 54 /54;
	background: url('../../assets/img/common/img_circle01.svg')  no-repeat center;
	background-size: 48px 48px;
	width:54px;
	height:54px;
}
.btn_box_right48.btn_blue .btn_vector48{
	background: url('../../assets/img/common/img_circle04.svg')  no-repeat center;
	background-size: 48px 48px;
}
.btn_vector48 .vector_right{
	position:absolute;
	left:23px;
	top:15px;
	width:12px;
	height:23px;
}
.btn_vector48 .vector_left{
	position:absolute;
	left:18px;
	top:15px;
	width:12px;
	height:23px;
}
.btn_vector48 .vector_bottom{
	position:absolute;
	left:15px;
	top:22px;
	width:23px;
	height:12px;
}
@media(hover: hover) {
.btn_box_right48:hover .btn_vector48{
	background: url('../../assets/img/common/img_circle02.svg')  no-repeat center;
	background-size: 54px 52px;
}
.btn_box_left48:hover .btn_vector48{
	background: url('../../assets/img/common/img_circle02.svg')  no-repeat center;
	background-size: 54px 52px;
}
.btn_box_right48.btn_blue:hover .btn_vector48{
	background: url('../../assets/img/common/img_circle03.svg')  no-repeat center;
	background-size: 54px 52px;
}
}
.btn_vector48{
	aspect-ratio: 54 /54;
	background: url('../../assets/img/common/img_circle01.svg')  no-repeat center;
	background-size: 48px 48px;
	width:54px;
	height:54px;
}
@media(hover: hover) {
.btn_box_bottom48:hover .btn_vector48{
	background: url('../../assets/img/common/img_circle02.svg')  no-repeat center;
	background-size: 54px 52px;
}
}
.btn_box_right30{
	width:210px;
	height:50px;
	/*padding:0 18px;*/
	border:1px solid var(--color-main);
	font-size:18px;
	font-weight:600;
}
.btn_box_right30 a{
	padding:0 18px;
}
.btn_txt_right30{
	font-size:20px;
	font-weight:600;
}
.btn_txt_bottom30{
	font-size:20px;
	font-weight:600;
}
.btn_vector30{
	aspect-ratio: 34 /34;
	background: url('../../assets/img/common/img_circle01.svg')  no-repeat center;
	background-size: 30px 30px;
	width:35px;
	height:35px;
}
.btn_vector30 .vector_right {
	position:absolute;
	left:14px;
	top:9px;
	width:9px;
	height:17px;
}
.btn_vector30 .vector_bottom {
	position:absolute;
	left:9px;
	top:14px;
	width:17px;
	height:9px;
}
@media(hover: hover) {
.btn_box_right30:hover .btn_vector30{
	background: url('../../assets/img/common/img_circle02.svg')  no-repeat center;
	background-size: 34px 34px;
}
.btn_txt_right30:hover .btn_vector30{
	background: url('../../assets/img/common/img_circle02.svg')  no-repeat center;
	background-size: 34px 34px;
}
.btn_txt_bottom30:hover .btn_vector30{
	background: url('../../assets/img/common/img_circle02.svg')  no-repeat center;
	background-size: 34px 34px;
}
}
@media screen and (max-width: 1480px){
	.btn_box_right48 a,
	.btn_box_left48 a,
	.btn_box_bottom48 a{
		padding:0 30px;
	}
}
@media screen and (max-width: 1300px){
	.btn_box_right48 a,
	.btn_box_left48 a,
	.btn_box_bottom48 a{
		padding:0 20px;
	}
	.btn_box_right48 .btn_txt,
	.btn_box_left48 .btn_txt,
	.btn_box_bottom48 .btn_txt {
		flex:170px;
	}
}
@media screen and (max-width: 960px){
	.btn_box_right48 a,
	.btn_box_left48 a,
	.btn_box_bottom48 a {
		padding:0 50px;
	}
	.btn_box_right48 .btn_txt,
	.btn_box_left48 .btn_txt,
	.btn_box_bottom48 .btn_txt {
		flex:220px;
	}
	.btn_txt_right30{
		font-size:16px;
	}
	.btn_vector30{
		background: url('../../assets/img/common/img_circle01.svg')  no-repeat center;
		background-size: 22px 23px;
	}
	.btn_vector30 .vector_right {
		left: 15px;
		top: 11px;
		width: 7px;
		height: 13px;
	}
	.btn_vector30 .vector_bottom {
		left: 12px;
		top: 15px;
		width: 12px;
		height: 7px;
	}
}
@media screen and (max-width: 769px){
	.btn_a {
		max-width:300px;
	}
	.btn_a a{
		padding: 16px 0;
	}
	.btn_a a:after{
		height:0;
	}
	.btn_a a div.innera{
		font-size:18px;
	}
	@media(hover: hover) {
		.btn_a a:hover div.innera{
			transform:translateY(0)
		}
		.btn_a a:hover div.innerb{
			transform:translateY(0)
		}
		.btn_box_right48:hover .btn_vector48{
			background: url('../../assets/img/common/img_circle02.svg')  no-repeat center;
			background-size: 54px 52px;
			pointer-events: none;
		}
		.btn_box_left48:hover .btn_vector48{
			background: url('../../assets/img/common/img_circle02.svg')  no-repeat center;
			background-size: 54px 52px;
			pointer-events: none;
		}
		.btn_box_right48.btn_blue:hover .btn_vector48{
			background: url('../../assets/img/common/img_circle03.svg')  no-repeat center;
			background-size: 54px 52px;
			pointer-events: none;
		}
		.btn_box_bottom48:hover .btn_vector48{
			background: url('../../assets/img/common/img_circle02.svg')  no-repeat center;
			background-size: 54px 52px;
			pointer-events: none;
		}
	}
}
@media screen and (max-width: 471px){
	.btn_a {
		max-width:280px;
	}
	.btn_a a{
		padding: 14px 0;
	}
	.btn_a a div.innera{
		font-size:16px;
	}
	.btn_box_right48 a, .btn_box_left48 a, .btn_box_bottom48 a{
		padding: 0 10% 0 0;
	}
}
@media screen and (max-width: 360px){
	.btn_box_right48 a, .btn_box_left48 a, .btn_box_bottom48 a {
		padding: 0 4% 0 0;
	}
}

/*header*/
header{
	width:100%;
	background-color:var(--color-white);
	height:70px;
	position:fixed;
	top:0;
	z-index:10;
	transition:all 0.8s;
}
header .logo{
	aspect-ratio: 257 / 90;
	width:auto;
	height: 70px;
    margin: 0 0 0 30px;
}
header .btns{
	height: 100%;
    width: 100%;
    justify-content: flex-end;
	align-items: center;
}
header .gnavi{
	display:flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto;
}
header .gnavi>li .gnavi_item>div>a{
	display: flex;
	align-items: center;
	justify-content: center;
	position:relative;
	padding: 8px 0;
	font-size:18px;
	font-weight: 400;
	cursor: pointer;
	padding: 0 18px;
	height: 43px;
	border-radius: 4px;
}

header .gnavi>li .gnavi_dd_btn{
	display:none;
}

header .gnavi_item{
	position: relative;
}


@media screen and (min-width: 1080px){
header .subnavi{
	position:absolute;
	cursor: default;
	top:45px;
	left:auto;
	transform: scaleY(0);
	transform-origin: center top;
	transition: .5s;
	justify-content: center;
	align-items: center;
	padding: 15px 0;
	border-radius: 4px;
	display: flex;
}
}

header .gnavi_item .subnavi.is-active{
	transform: scaleY(1);
	z-index: 100;
}

header .lang .subnavi ul{
	width: 73%;
}

header .lang .subnavi ul li a:after{
	content: '';
	background-image: url(../img/common/header_arrow.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	aspect-ratio: 7 / 14;
	width: 7px;
	position: absolute;
	right: 10px;
	top: 0;
	bottom: 0;
	margin: auto;
}

header .lang .subnavi ul li a:hover{	
	background-color: rgba(255,255,255,0.6);
}

header .subnavi .bgwhite{
	background-color: rgba(255,255,255,0.8);
	top:80px;
	color:#002349;
	opacity:1;
	margin-top:0;
	font-weight:300;
	transition:opacity 0.2s;
	border-radius: 4px;
}
header .subnavi .bgwhite>ul{
	justify-content: center;
	flex-direction: column;
}
header .subnavi .bgwhite .align-start{
	align-items: start;
	padding-top: 100px;
}
header .subnavi .bgwhite .align-start>li{
	padding:0 2px;
}
header .subnavi .bgwhite .align-start>li:nth-child(2){
	padding-right:107px;
	font-size:22px;
}
header .subnavi .subnavi_title{
	font-weight: bold;
	padding-right:70px;
	font-size:22px;
	padding:0 50px 0 0;
	box-sizing: border-box;
}
header .subnavi .thumb{
	aspect-ratio: 210 / 165;
	max-width:365px;
	display: flex;
    align-items: center;
	padding:0 70px 0 50px;
	position:relative;
	box-sizing: border-box;
}
header .subnavi .thumb:before{
	display: block;
    content: "";
    width: 1px;
    height: 165px;
	top:50%;
	left:0;
	transform:translateY(-50%);
    background: var(--color-white);
	position:absolute;
}
header .subnavi .subnavi_btn{
	font-size:18px;
	position:relative;
}
header .subnavi .subnavi_btn.subnavi_title{
	margin-right: 50px;
	font-size:22px;
}
header .subnavi .subnavi_btn a{
	display: block;
}
header .subnavi .corp-list{
	flex-wrap: wrap;
	padding: 15px;
}
header .subnavi .corp-list li{	
}

header .subnavi .corp-list li a{
	color:#002349;
	text-wrap-mode: nowrap;
	padding: 15px 44px 15px 15px;
	display: block;
	border-radius: 4px;
	position: relative;
}

header .subnavi .corp-list li a:after{
	content: '';
	position: absolute;
	right: 15px;
	top: 0;
	bottom: 0;
	margin: auto;
	background-image: url(../img/common/header_arrow.svg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	width: 7px;
	height: 14px;
}

header .subnavi .corp-list li a:hover{
	background-color: rgba(255,255,255,0.6);
}

header .subnavi .subnavi_btn{
	font-size: 16px;
	font-weight: 500;
}
header .subnavi .corp-list li:not(.subnavi_btn) a{
	padding-left: 30px;
}
header .gnavi .lang>ul>li{
	background:rgba(13, 58, 107, 1);
	color:var(--color-white);
	font-weight:normal;
	font-size:15px;
	position:relative;
	width:170px;
	padding: 0;
}
header .gnavi .lang>ul>li:first-child{
	padding:7px 15px;
}
header .gnavi .lang>ul>li:last-child{
	transition: all 0.5s ease;
	opacity:0;
	position: absolute;
	height:0;
}
header .gnavi .lang>ul>li:last-child ul li a{
	display:none;
}
header .gnavi .lang>ul>li:first-child:after{
	position:absolute;
	content:"";
	border-radius:50%;
	background:url(../../assets/img/common/icon_plus_blue_bk.svg) no-repeat top left;
	width:26px;
	height:26px;
	right:10px;
	top:50%;
	transform:translateY(-50%);
}
/*header .gnavi .lang>ul>li span{
	position:absolute;
	width:12px;
	height:1px;
	background-color: var(--color-white);
	right:16px;
	top:50%;
	transform:translateY(-50%);
	z-index: 2;
}*/
header .gnavi .lang>ul>li span:last-child{
	transform:rotate(90deg);
}
header .gnavi .lang>ul>li.active{
	background:rgba(13, 58, 107, 0.65);
}
header .gnavi .lang>ul>li ul li{
	background:rgba(13, 58, 107, 1);
	color:var(--color-white);
	font-weight:normal;
	font-size:15px;
	padding:0;
	position:absolute;
	width:170px;
	transition: opacity 0.3s ease-out;
	opacity: 0;
	height:0;
}

header .gnavi .lang>ul.is-open>li:last-child ul li a{
	display:block;
}

header .btn_contact{
	background: none;
	display: flex;
	justify-content: center;
	align-items: center;
}
header .btn_contact a{
	padding: 0 20px;
	height:42px;
	margin-right: 30px;
	transform: translateY(0px);
	font-size:16px;
	font-weight:400;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #002349;
	border-radius: 4px;
	transition: .5s;
	border: solid 1px #fff;
}

header .btn_contact a:hover{
	opacity: 0.7;
}

header #hamberger{
	position:fixed;
	right:36px;
	top:23px;
	display:flex;
	z-index:15;
	justify-content: end;
	display:none;
}
header #hamberger p{
	font-size:22px;
	padding-right:15px;
	font-weight:600;
}
header #hamberger .lines{
	width:27px;
}
header #hamberger .lines span{
	position:relative;
}
header #hamberger .lines span:after{
	position:absolute;
	display: block;
    content: "";
    width: 27px;
    height: 1px;
    background: var(--color-main);
    -webkit-transition: 0.7s;
    transition: 0.3s;
	transform: rotate(0);
}
header #hamberger .lines span:nth-child(1){
	top:3px;
}
header #hamberger .lines span:nth-child(2){
	top:13px;
}
header #hamberger .lines span:nth-child(3){
	top:23px;
}

header #hamberger.active p{
	color: var(--color-white);
}
header #hamberger.active .lines span{
	top:13px;
}
header #hamberger.active .lines span:nth-child(1):after{
	transform: rotate(45deg);
}
header #hamberger.active .lines span:nth-child(2){
	display:none;
}
header #hamberger.active .lines span:nth-child(3):after{
	transform: rotate(-45deg);
}

header .lang .gnavi_item_title{
	padding: 0 20px;
	height: 43px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: solid 1px #002349;
	border-radius: 4px;
	margin-right: 20px;
	cursor: pointer;
	position: relative;
}

header .gnavi_item_title::after{
	content: "";
	height: 0;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

header .gnavi_item:hover .gnavi_item_title a,header .gnavi_link_btn:hover a{
	background-color: #EDEDED;
}

@media screen and (max-width: 1230px){
	header .logo{
		margin-left: 0;
	}
	header .gnavi>li .gnavi_item>div>a{
		font-size: 15px;
		padding: 0 15px;
	}
	header .lang .gnavi_item_title{
		font-size: 14px;
		padding: 0 10px;
	}
	header .btn_contact a{
		font-size: 14px;
		padding: 0 10px;
	}
}



@media screen and (max-width: 1080px){
	header.flexbox-center:not(.request_header){
		display:block;
	}
	header:not(.request_header) .subnavi{
		display: none;
	}
	header:not(.request_header) .subnavi .corp-list{
		padding: 0;
	}
	header:not(.request_header) .subnavi .corp-list li:last-child{
		border-bottom: none;
	}
	header:not(.request_header) .subnavi .corp-list2 li{
		margin-bottom: 0;
	}
	header:not(.request_header) .subnavi .corp-list li a:after{
		display: none;
	}
	header:not(.request_header) .subnavi .corp-list li a{
		font-size: 15px;
		font-weight: 400;
		color: #6E6E6E;
		padding: 20px 0 20px 25px;
		text-wrap-mode:wrap;
	}
	header:not(.request_header) .btns{
		position:fixed;
		right:0;
		top:70px;
		width:100%;
		height:calc(100vh - 70px);
		background-color: #fff;
		flex-direction: column;
		align-items: start;
		justify-content: start;
		padding-top: 20px;
		overflow-y: auto;
		padding-bottom: 20px;
		transition: .5s;
		transform: translateX(100%);
	}
	header:not(.request_header) #sp_navi.active{
		transform: translateX(0);
	}
	header:not(.request_header) .gnavi_item_title{
		position: relative;
	}
	header:not(.request_header) .gnavi_item_title::after{
		content: '';
		position: absolute;
		right: 0;
		left: auto;
		top: 0;
		bottom: 0;
		margin: auto;
		transition: .5s;
		background-image: url(../img/common/header_arrow2.svg);
		background-position: center center;
		background-repeat: no-repeat;
		background-size: 100% 100%;
		width: 14px;
		height: 7px;
	}

	header:not(.request_header) .gnavi_item_title.is-active::after{
		transform: rotate(180deg);
	}

	header:not(.request_header) #hamberger{
		display:flex;
	}
	header:not(.request_header) .gnavi{
		flex-direction: column;
		width: 85.6%;
		align-items: start;
		margin-bottom: 20px;
	}
	header:not(.request_header) .gnavi li{
		width: 100%;
	}
	header:not(.request_header) .gnavi>li .gnavi_item>div>a{
		justify-content: start;
		font-size: 16px;
		padding: 20px 24px 20px 10px;
		height: auto;
	}
	header:not(.request_header) .gnavi_item:hover .gnavi_item_title a, header .gnavi_link_btn:hover a{
		background:none;
	}
	header:not(.request_header) .gnavi li{
		border-top: solid 0.5px #B8B8B8;
	}

	header:not(.request_header) .gnavi li:last-child{
		border-bottom: solid 0.5px #B8B8B8;
	}

	header:not(.request_header) .gnavi_item.lang{
		width: 85.6%;
		margin: 0 auto;
	}
	header:not(.request_header) .lang .gnavi_item_title{
		margin-right: 0;
		margin-bottom: 20px;
	}
	header:not(.request_header) .lang .gnavi_item_title:after{
		display: none;
	}
	header:not(.request_header) .lang .gnavi_item_title span{
		position: relative;
	}
	header:not(.request_header) .lang .gnavi_item_title span:after{
		content: '';
		position: absolute;
		right: -24px;
		left: auto;
		top: 0;
		bottom: 0;
		margin: auto;
		transition: .5s;
		background-image: url(../img/common/header_arrow.svg);
		background-position: center center;
		background-repeat: no-repeat;
		background-size: 100% 100%;
		width: 7px;
		height: 14px;
		transform: rotate(90deg);
		transition: .5s;
	}
	header:not(.request_header) .lang .gnavi_item_title.is-active span:after{
		transform: rotate(-90deg);
	}
	header:not(.request_header) .btn_contact{
		height: auto;
		width: 85.6%;
		margin: 0 auto;
	}
	header:not(.request_header) .btn_contact a{
		margin-right: 0;
	}
	header:not(.request_header) .lang .subnavi ul{
		width: 100%;
	}
	header:not(.request_header) .lang .subnavi ul li a{
		padding-left: 0;
		text-align: center;
	}
	header:not(.request_header) .lang .subnavi ul li:first-child a{
		padding-top: 0;
	}
	header:not(.request_header) .lang .subnavi ul li:not(:first-child){
		border-top: solid 0.5px #B8B8B8;
	}
}

#mainContent{
	margin-top:70px;
}
#wrap{
	width:100%;
	overflow:hidden;
}

/*keyvisual_sub*/
.keyvisual_sub .keyimg{
	aspect-ratio:1920 /460;
	width:100%;
	position:relative;
}
.keyvisual_sub .keytxt{
	position:absolute;
	top: 35%;
    left: 50%;
    transform: translateX(-50%);
	text-align:center;
	color:var(--color-white);
	white-space: nowrap;
}
.keyvisual_sub .keytxt h4{
	margin-bottom:20px;
}
.keyvisual_sub .keytxt p{
	font-size:20px;
}
@media screen and (max-width: 769px){
	header{
		height: 60px;
	}
	header .logo{
		height: 60px;
	}
	header #hamberger{
		top: 18px;
	}
	header:not(.request_header) .btns{
		top: 60px;
	}
	.keyvisual_sub .keyimg{
		aspect-ratio:768 /160;
	}
	.keyvisual_sub .keytxt {
		top: 20%;
	}
	.keyvisual_sub .keytxt h4{
		margin-bottom:6px;
	}
	.keyvisual_sub .keytxt p{
		font-size:16px;
	}
}
@media screen and (max-width: 471px){
	.keyvisual_sub .keyimg{
		aspect-ratio:470 /160;
	}
}

/*keyvisual_sub02*/
.keyvisual_sub02 .keyimg{
	width:100%;
	position:relative;
}
.keyvisual_sub02 .keyimg .keybg{
	display:flex;
	justify-content:end;
}
.keyvisual_sub02 .keyimg .keybg .bg_img{
	width: 100%;
	height:650px;
}
.keyvisual_sub02 .keyimg .keybg .bg_img img{
	object-fit:cover;
	object-position:center;
	height:100%;
	width:100%;
}
.keyvisual_sub02 .keytxt{
	width:825px;
	position:absolute;
	top: 240px;
    left: 6.25%;
	color:var(--color-white);
}
.keyvisual_sub02 .keytxt .keylogo{
	height: 84px;
	background-color: #002349;
	width: 100%;
}

.keyvisual_sub02 .keytxt .keylogo img{
	width: auto;
	height: 100%;
}
.keyvisual_sub02 .keytxt .keyname{
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	font-size: 20px;
	margin: 30px 0 50px 0;
}
.keyvisual_sub02 .keytxt .keydesc{
	font-size:18px;
	max-width:927px;
	word-wrap: break-word
}

.keyvisual_sub02 .keytxt .keydesc{
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 300;
	font-size: 16px;
	line-height: 200%;
}

@media screen and (max-width: 973px){
	.keyvisual_sub02 .keytxt{
		width: 100%;
	}
	.keyvisual_sub02 .keytxt{
		top:120px;
		width: 80%;
		left: 0;
		right: 0;
		margin: auto;
	}
	.keyvisual_sub02 .keyimg .keybg .bg_img{
		height: 62.41872561768531vw;
		min-height: 480px;
	}
	.keyvisual_sub02 .keytxt .keylogo{
		height: 64px;
	}
	.keyvisual_sub02 .keytxt .keyname{
		margin:30px 0 30px 0;
		font-size: 18px;
	}
	.keyvisual_sub02 .keytxt .keydesc{
		font-size: 15px;
	}
}

@media screen and (max-width: 650px){
	.keyvisual_sub02 .keytxt{
		top: 92px;
	}
	.keyvisual_sub02 .keytxt .keylogo{
		height: 50px;
	}
	.keyvisual_sub02 .keytxt .keyname{
		font-size: 16px;
	}
	.keyvisual_sub02 .keytxt .keydesc{
		font-size: 14px;
	}
	.keyvisual_sub02 .keyimg .keybg .bg_img{
		min-height: 502px;
	}
}
@media screen and (max-width: 471px){
	.keyvisual_sub02 .keyimg .keybg .bg_img {
        height: 160.53333333333333vw;
    }
}


/*section titles*/
.section_title{
	text-align:center;
}
.section_title h5{
	margin-bottom:20px;
}
.section_title .txt_jp{
	font-size:20px;
	font-weight:600;
}
@media screen and (max-width: 769px){
	.section_title h5{
		margin-bottom:5px;
	}
	.section_title .txt_jp{
		font-size:16px;
	}
}

/*group btns*/
.group_btns .group_btn_box{
    padding:0 50px;
    box-sizing: border-box;
    display:flex;
    justify-content:space-between;
    margin-bottom:120px;
}
.group_btns .group_btn_box .btn_vector_box{
	width:32%;
}
@media screen and (max-width: 1480px){
	.group_btns .group_btn_box {
		padding: 0px;
	}
}
@media screen and (max-width: 960px){
	.group_btns .group_btn_box {
		display:block;
		margin-bottom:100px;
	}
	.group_btns .group_btn_box .btn_vector_box{
		width:420px;
		height:120px;
		margin:0 auto 20px;
	}
}
@media screen and (max-width: 471px){
	.group_btns .group_btn_box {
		margin-bottom:40px;
	}
	.group_btns .group_btn_box .btn_vector_box{
		width:100%;
	}
}



/*punks*/
.punks{
	margin:0 0 120px;
}
.punks>div{
	display:flex;
	justify-content: start;
	align-items: center;
	flex-wrap:wrap;
}
.punks a{
	margin-right:10px;
	font-weight:600;
}
.punks img{
	width:12px;
	height:22px;
	margin:10px 10px 10px 0;
}
@media screen and (max-width: 1080px){
	.punks{
		margin:0 0 20px;
	}
}
@media screen and (max-width: 769px){
	/*.punks{
		margin:0 0 20px;
	}*/
	.punks img{
		height:15px;
	}
}

@media screen and (max-width: 471px){
	.punks{
		margin:0;
	}
}

/*Gray border table*/
table.list_table{
	width:100%;
	border-top:1px solid #CFCFCF;
	border-collapse:collapse;
}
.list_table th{
	text-align:center;
	border-bottom:1px solid #CFCFCF;
	vertical-align: middle;
	padding:30px 30px 30px 60px;
	min-width: 235px;
	width: 16.7%;
}
.list_table th div{
	font-size:18px;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 700;
	font-size: 18px;
	line-height: 170%;
	letter-spacing: 0%;
	text-align: left;
}
.list_table tr.merge_col th div{
	display:none;
}
.list_table td{
	padding:30px 30px 30px 60px;
	border-bottom:1px solid #CFCFCF;
	font-weight: 400;
}
.list_table td div{
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	font-size: 18px;
	line-height: 170%;
	letter-spacing: 0%;
}
.list_table tr.merge_col td div{
	border-left:none;
	width:100%;
	padding:20px 50px;
}
@media screen and (max-width: 769px){
	table.list_table{
		width:92%;
		margin:0 auto;
	}
	.list_table th{
		padding: 30px 30px 30px 10px;
		width: 110px;
		min-width:auto;
	}
	.list_table th div{
		font-size: 16px;
		line-height: 170%;
		letter-spacing: 0%;
	}
	.list_table td{
		padding: 30px 10px 30px 0;
	}
	.list_table td div{
		font-weight: 300;
		font-size: 16px;
		line-height: 170%;
		letter-spacing: 0%;
	}
	.list_table tr.merge_col td{
		padding:15px;
	}
	.list_table tr.merge_col td div{
		padding:20px 0;
	}
}


/*footer*/

.footer_inner{
	justify-content: space-between;
	border-bottom: 1px solid #B8B8B8;
	margin-bottom: 60px;
	padding-bottom: 60px;
}

footer .comp_info{
	padding-bottom:15px;
	margin-bottom:35px;
	flex-direction: column;
	max-width: 410px;
}

footer .footer_navi_02{
	min-width: 196px;
}

footer .comp_info .footer_logo{
	position:relative;
	aspect-ratio: 419 / 147;
    height: 147px;
}
footer .comp_info .footer_logo a{
	position: absolute;
    display: block;
    top: 0;
    height: 147px;
    width: 419px;
}
footer .comp_info .info_address{
	font-weight: bold;
	font-size:18px;
	margin-bottom:14px;
}
footer .comp_info .info_address .address_pc_none{
	display:none;
}
footer .comp_info .info_list{
	gap: 10px;
	align-items: center;
	margin-bottom: 30px;
}
footer .comp_info .info_tel{
	font-weight: 300;
	font-size: 18px;
}
footer .comp_info .info_hour{
	font-weight: 300;
	font-size: 14px;
}

footer .btn_contact03{
	width: 80%;
}

footer .btn_contact03 a{
	background-color: #002349;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 45px;
	color: #fff;
	font-weight: 300;
	font-size: 20px;
	line-height: 100%;
}
footer .footer_navi{
	justify-content: space-between;
	box-sizing: border-box;
	gap: 13%;
	width: 48%;
}
footer .footer_navi .title{
	font-weight:600;
	position:relative;
	width:-moz-fit-content;
  	width:fit-content;
}
footer .footer_navi li:not(.title) a{
	font-weight: 300;
}
footer .footer_navi .title:after{
	display: block;
    content: "";
    width: 100%;
    height: 2px;
    opacity: 0;
	bottom:0;
    background: var(--color-main);
    -webkit-transition:all 0.3s;
    transition:all 0.3s;
	transform-origin:center;
	transform: scale(0, 1);
	position:absolute;
}
@media(hover: hover) {
footer .footer_navi .title:hover:after{
	opacity:1;
	transform: scale(1, 1);
}
}
footer .footer_navi .title_nolink{
	font-weight:600;
	position:relative;
	width:-moz-fit-content;
  	width:fit-content;
}
footer .footer_navi li{
	font-size:17px;
	margin-bottom:20px;
}
footer .footer_navi li a{
	transition:all 0.1s;
}
@media(hover: hover) {
footer .footer_navi li a:hover{
	font-weight:600;
}
}
footer .footer_navi .foot_news_pc{
	display:block;
}
footer .footer_navi .foot_news_sp{
	display:none;
}

footer .footer_navi2{
	padding-bottom:50px;
}
footer .footer_navi2>div{
	color: #002349;
	font-size: 14px;
	font-weight: 300;
}
footer .footer_navi2>div:last-child{
	margin-left:auto;
	margin-right:0;
}

footer .footer_navi2>div a{
	font-weight: 300;
	font-size: 16px;
	color: #002349;
}

footer .footer_navi2_links{
	gap: 24px;
}

@media(hover: hover) {
footer .footer_navi2>div a:hover{
	color:var(--color-main);
}
}

@media screen and (max-width: 1280px){
	footer .comp_info{
		flex-wrap:wrap;
		max-width: 360px;
		margin-bottom: 0;
	}
	footer .comp_info .footer_logo {
		width:100%;
		margin-bottom:0;
	}
	footer .comp_info .footer_logo a {

	}
	footer .comp_info>div:nth-child(2) {
		flex-direction: column;
		align-items: start;
	}
	footer .footer_navi{
	}
	footer .footer_navi .foot_news_pc{
		display:none;
	}
	footer .footer_navi .foot_news_sp{
		display:block;
	}
	footer .footer_navi>ul{
		width:33%;
		margin-bottom:50px;
	}
	footer .footer_navi>ul:nth-child(2){
		width:67%;
	}
	footer .footer_navi>ul:nth-child(3){
		width:100%;
	}
	footer .footer_navi2>div{
		margin-right:70px;
	}
	footer .footer_navi2>div a{
		font-size: 15px;
	}
}
@media screen and (max-width: 1250px){
	footer .footer_navi2>div{
		margin-right:40px;
	}
}
@media screen and (max-width: 1080px){
	.footer_inner{
		flex-direction: column;
		gap: 80px;
		margin-top: 30px;
	}
	footer .footer_navi{
		width: 100%;
		justify-content: start;
		gap: 20px;
	}
	footer .footer_navi2{
		flex-direction: column;
		gap: 50px;
	}
	footer .footer_navi2>div:first-child{
		order: 2;
	}
	footer .footer_navi2>div:last-child{
		order: 1;
		margin-left: 0;
	}
	footer .comp_info>div:nth-child(2) {
		width: 100%;
		text-align: center;
		gap: 15px;
	}
	footer .comp_info .info_tel{
		font-size:22px;
	}

}
/*@media screen and (max-width: 960px){
	footer .comp_info {
    	margin: 60px auto 35px;
	}
}*/
@media screen and (max-width: 769px){
	footer .container1400{
		width: 85.6%;
	}
	.footer_inner{
		gap: 50px;
		padding-bottom: 10px;
	}
	footer .comp_info .footer_logo a{
		width: 100%;
		max-width: 330px;
	}
	footer .footer_navi{
		flex-direction: column;	
	}
	footer .comp_info{
		max-width: none;
	}
	footer .comp_info>div:nth-child(2){
		flex-direction: row;
		justify-content: center;
		align-items: center;
	}
	footer .footer_navi2>div:last-child{
		flex-direction: column;
	}
	footer .btn_contact03{
		width: 100%;
	}
	footer .comp_info .info_tel{
		font-size: 17px;
		-webkit-text-size-adjust: none;
  		text-decoration: none;
	}
	footer .comp_info .info_hour{
		font-size: 13px;
		-webkit-text-size-adjust: none;
  		text-decoration: none;
	}
	@supports (-webkit-touch-callout: none) {
		footer .comp_info .info_tel{
			font-size: 17px!important;
		}
		footer .comp_info .info_hour{
			font-size: 13px!important;
		}
	}
	footer .comp_info .footer_logo a img{
		transform: translateX(-30px);
	}
	footer .comp_info .footer_logo{
		height: auto;
		margin-bottom: 20px;
	}
	footer .comp_info .footer_logo a{
		height: auto;
	}
	footer .comp_info .info_list{
		margin-bottom: 20px;
	}
	footer .btn_contact03 a{
		font-size: 16px;
	}
	footer .footer_navi li:not(.blank_list):not(.title_nolink):not(.title){
		margin-left: 15px;
	}
	footer .footer_navi li.blank_list{
		margin-bottom: 0;
		height: 0;
	}
	footer .footer_navi ul{
		margin-bottom: 40px;
	}
	footer .footer_navi2_links{
		gap: 30px;
	}
	footer .footer_navi2>div{
		margin-right: 0;
	}
}
@media screen and (max-width: 375px){
	footer .comp_info>div:nth-child(2){
		flex-direction: column;
		align-items: start;
	}
	footer .comp_info .info_tel,footer .comp_info .info_hour{
		width: 100%;
		text-align: left;
	}
}


#pagetop{
	position: fixed;
	right: 30px;
	bottom: 80px;
	padding: 0;
	text-align: right;
	font-size: 10px;
	transform: translateY(30px);
	transition: all .5s ease;
	opacity: 0;
	z-index: 1;
	width:50px;
	height:50px;
}
@keyframes pagetopfade {
	100%{
	  opacity: 1;
	}
}
@media screen and (max-width: 769px) {
	#pagetop {
		right: 4.22%;
	}
	#pagetop.active{
		opacity: 1;
		animation: pagetopfade 1s ease-in-out forwards;
		transform: none;
	}
	#pagetop a{
		display: block;
		width:100%;
		height:100%;
		/*padding: 25px 0 0;
		background: url(../../assets/img/common/img_vector_top.svg) no-repeat center top;
		background-size: 30px;*/
		text-align: center;
		/*color: #585858;*/
		text-decoration: none;
	}
	/*.pageTop.absolute {
		position: absolute;
		bottom: initial;
		top: -50px;
	}*/
}

.target-blank {
    position: relative;
    width: 12px;
    height: 12px;
    display: inline-block;
	margin-left: 10px;
}

.target-blank::before, .target-blank::after {
    content: "";
    width: 12px;
    height: 12px;
    border: 1px solid #707070;
    background-color: #fff;
    position: absolute;
    top: 50%;
    left: 0;
}

.target-blank::before {
    z-index: 1;
    transform: translate(-4px, -6px);
}

header .target-blank::before, header .target-blank::after {
    border-color: #fff;
    background-color: rgba(18, 67, 120, 0.4);
    margin-left: 10px;
}

.target-blank::after {
    z-index: 2;
    transform: translate(0, -2px);
}

header .gnavi>li .gnavi_item>div>a.target-blank-cover{
	padding-right: 15px;
}

header .gnavi>li .gnavi_item>div>a.target-blank-cover .target-blank {
    margin-left: 5px;
}


.target-blank-sky-color::before, .target-blank-sky-color::after{
	background-color: #D3E3FF;
	margin-top: -5px;
}

.target-blank-yellow-color::before, .target-blank-yellow-color::after{
	background-color: #F5D601;
	margin-top: -5px;
}


header .target-blank-sky-color{
	margin-left: 0;
}

header .target-blank-yellow-color{
	margin-left: 0;
}


header .target-blank-sky-color::before, header .target-blank-sky-color::after{
	background-color: #D3E3FF;
	border: 1px solid #707070;
	margin-top: -5px;
}

header .target-blank-yellow-color::before, header .target-blank-yellow-color::after{
	background-color: #F5D601;
	border: 1px solid #707070;
	margin-top: -5px;
}


.target-blank-blue-color::before, .target-blank-blue-color::after{
	background-color: #00275e;
	border-color: #fff;
	margin-top: -3px;
}

@media screen and (max-width: 1439px) {
	header:not(.request_header) .target-blank-blue-color::before,header:not(.request_header) .target-blank-blue-color::after{
		background-color: #fff!important;
		border: 1px solid #707070!important;
	}
}

@media screen and (max-width: 768px) {
	header .target-blank-sky-color::before, header .target-blank-sky-color::after{
		margin-top: 0;
	}
	
	header .target-blank-yellow-color::before, header .target-blank-yellow-color::after{
		margin-top: 0;
	}
}

.footer_target-blank{
	display: inline-block;
	background-size: 100% 100%;
	width: 12px;
	height: 12px;
	background-repeat: no-repeat;
	background-image: url(../img/common/outlink.svg);
	margin-left: 12px;
}