@charset "utf-8";

@-ms-viewport {
  width: device-width;
}

@viewport {
  width: device-width;
}

* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.pc{display:block!important;}
.sp{display:none!important;}

img{
	width: 100%;
	height: auto;
	margin: 0 auto;
	display:block;
}

p{
	margin-bottom:2.5rem;
}

.mb{
	margin-bottom: 50px!important;
}


/*header
----------------------------------------------------*/
header{
	position: fixed;
	width:100%;
	height:120px;
    background: #FFF;
    z-index: 9999;
    transition: all .4s;
}

header.fixnavi{
	height:90px;
	background: rgba(255, 255, 255, .8);
}

header h1{
    margin: 0;
    padding: 30px 0 0 30px;
    font-size: 20px;
    
}

header h1 img{
    width: 120px;
    height: auto;
    margin: 0 1em 0 0;
    display: inline-block;
}

/*navigation
----------------------------------------------------*/
#headIn{
	position:absolute;
	top:0;
	right:0;
}

#headIn nav ul{
    display: flex;
    align-items: center;
    justify-content: right;
    
}

#headIn nav ul.tab li{
    width: 150px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .4s;
}

.fixnavi #headIn nav ul.tab li{
    height: 40px;
}

#headIn nav ul.tab li:nth-of-type(1){background: #2587D8;}
#headIn nav ul.tab li:nth-of-type(2){background: #BF9000;}

#headIn nav ul.tab li a{
    width: 100%;
    height: 50px;
    line-height: 1.0;
    color: #FFF;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .4s;
}

.fixnavi #headIn nav ul.tab li a{
    height: 40px;
}
	
#headIn nav ul.gnavi{
    height: 70px;
    padding-right: 10px;
}

.fixnavi #headIn nav ul.gnavi{
    height: 50px;
    padding-right: 10px;
}

#headIn nav ul.gnavi li a{
    padding: 18px 20px;
	border-bottom: 4px solid rgba(255, 255, 255, 0);
	display: block;
}

.fixnavi #headIn nav ul.gnavi li a{
	padding: 8px 20px;
}

#headIn nav ul.gnavi.home li:nth-of-type(1) a{border-bottom: 4px solid #BF9000;}
#headIn nav ul.gnavi.tour li:nth-of-type(2) a{border-bottom: 4px solid #BF9000;}
#headIn nav ul.gnavi.export li:nth-of-type(3) a{border-bottom: 4px solid #BF9000;}
#headIn nav ul.gnavi.employment li:nth-of-type(4) a{border-bottom: 4px solid #BF9000;}
#headIn nav ul.gnavi.company li:nth-of-type(5) a{border-bottom: 4px solid #BF9000;}

header a:link {color:#000;text-decoration:none;}
header a:visited {color:#000;text-decoration:none;}
header a:hover {color:#000;text-decoration:none;}
header a:focus{outline:none;}


/*mv
----------------------------------------------------*/
.mv_top{
    position: relative;
    width: calc(100% - 100px);
    height: 90vh;
    margin: 0 0 80px 100px;
    background: url("../img/mv_top.jpg") no-repeat center top / cover;
}

.mv_top h2,
.mv h2{
    position: absolute;
    bottom:0;
    left:-50px;
	line-height: 1.0;
    font-size: 80px;
}

.mv_top h2 em,
.mv h2 em{
    font-style: normal;
    font-size: 40px;
    display: block;
}

.mv_top h2 span,
.mv h2 span{
	position: relative;
    padding: 30px 30px 30px 0;
    background: #FFF;
	display: inline-block;
}

.mv_top h2 br + span,
.mv h2 br + span{
	min-width: 580px;
	margin-top: 0;
}

.mv_top h2 i,
.mv h2 i{
	background: linear-gradient(90deg, #002060 0%, #1B34D7 70%, #C6AEFF 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;	
	font-style: normal;
}

/*mv page
------------------------*/
.mv{
    position: relative;
    width: calc(100% - 100px);
    height: 70vh;
    margin: 0 0 80px 100px;
    background: url("../img/mv_top.jpg") no-repeat center top / cover;	
}

.tour .mv{background: url("../img/mv_tour.jpg") no-repeat center center / cover;}
.export .mv{background: url("../img/mv_export.jpg") no-repeat center bottom / cover;}
.employment .mv{background: url("../img/mv_employment.jpg") no-repeat center top / cover;}

.mv h2{
    font-size: 70px;
}

.mv h2 em{
    font-size: 20px;
	font-weight: 500;
}


/*Contents layout
----------------------------------------------------*/
section{
	position:relative;
	width:100%;
	display:block;
	clear:both;
}

section:after,
.contents:after,
ul:after,
dl:after{
	visibility: hidden;
	display: block;
	font-size: 0px;
	content: " ";
	clear: both;
	height: 0;
}

.contents{
	position:relative;
	width:1200px;
	margin:0 auto!important;
}

@media screen and (max-width:1200px){
.contents{
	width:90%;
}
}

.btn{
    position: relative;
	width: 300px;
	margin: 0 auto;
	padding: 20px;
	border: 1px solid #002060;
	background: url("../img/icon_link01.png") no-repeat right 20px center / 1.5em;
	line-height: 1.0;
	font-size: 16px;
	font-weight: 500;
    display: inline-block;
    transition: all .2s;
    transition-delay: .3s;
}

@media (any-hover: hover) {

	.btn:hover{
		background: #002060 url("../img/icon_link05.png") no-repeat right 20px center / 1.5em;
		color: #fff;
	}

	/*線の設定*/
	.btn span{
		display: block;
	}

	/*横線の設定*/
	.btn::before,
	.btn::after{
		content:""; 
		position: absolute;
		width: 0;
		height: 1px;
		background: #002060;
		transition: all 0.2s linear;
	}

	/*縦線の設定*/
	.btn span::before,
	.btn span::after{
		content:"";
		position: absolute;
		width:1px;
		height:0;
		background: #002060;
		transition: all 0.2s linear;
	}

	/*hoverした際、線が縦横100%伸びる*/
	.btn:hover::before,
	.btn:hover::after{
		width: 100%;
	}
	.btn:hover span::before,
	.btn:hover span::after{
		height: 100%;
	}

	/*== 左上と右下から枠線が伸びて塗りに */
	.bordercircle3::after{
		right:0;
		bottom: 0;
		transition-duration: 0.2s;
	}

	.bordercircle3 span::after{
		right:0;
		bottom: 0;
		transition-duration: 0.2s;
	}

	/*左上から右上へ伸びる横線*/
	.bordercircle3::before{
		left: 0;
		top: 0;
		transition-duration: 0.2s;
	}

	/*左上から左下へ伸びる横線*/
	.bordercircle3 span::before{
		left: 0;
		top: 0;
		transition-duration: 0.2s;
	}

}

.kugiri{
	margin-bottom: 50px;
	padding: 50px 50px 20px 50px;
	border-bottom: 3px double #D3070A;
	color: #D3070A;
}


/*top lead
----------------------------------------------------*/
.sec_top_lead{
	position: relative;
	padding: 200px 0 110px 0;
	font-size: 20px;
	text-align: center;
	overflow: hidden;
}

.sec_top_lead .img_left{
	position: absolute;
	top:100px;
	left:-20vw;
	width: 45vw;
}

.sec_top_lead .img_right{
	position: absolute;
	top:100px;
	right:-20vw;
	width: 45vw;
}

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

.sec_top_lead .img_left{
	position: absolute;
	top:100px;
	left:-10vw;
	width: 35vw;
}

.sec_top_lead .img_right{
	position: absolute;
	top:100px;
	right:-10vw;
	width: 35vw;
}

}


.sec_top_lead h2{
	font-size: 50px;
	font-weight: 500;
}

.sec_top_lead h2 img{
	width: 250px;
	height: auto;
	margin: 30px auto 60px auto;
	display: block;
}

.sec_top_lead p{
	margin-bottom: 50px;
}


/*top tour
----------------------------------------------------*/
.sec_top_tour{
	margin-top: -20px;
	background: linear-gradient(to bottom, #D6E4F3, #FFF);
}

.ttl_tour{
	padding: 110px 50px;
	background: url(../img/bg_top_tour.jpg) no-repeat center top / cover;
	box-shadow: 0 -16px 11px -11px rgba(0,0,0,0.1);
}

.ttl_tour h2{
	font-family: "Lato", serif;
	font-size: 70px;
	line-height: 1.4;
	color: #FFF;
}

@media screen and (max-width:1200px){
.ttl_tour h2{
	font-size: 6vw;
}

.ttl_tour .btn{
	width: 30vw;
}
}

.ttl_tour h2 span{
	font-family: "Noto Sans JP";
	font-size: 20px;
	display: block;
}

.ttl_tour a{
	position: absolute;
	top:135px;
	right:50px;
	background: rgba(255, 255, 255, .8) url("../img/icon_link01.png") no-repeat right 20px center / 1.5em;
	color: #000;
}

.sec_top_tour .contents{
	width: 100%;
	padding: 80px 50px 100px 50px;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	grid-gap:0 40px;
}

@media screen and (max-width:1200px){
.sec_top_tour .contents{
	width: 100%;
	padding: 80px 50px 100px 50px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap:40px;
}
}

.sec_top_tour .contents dl{
	background: #FFF;
	box-shadow: 0 0 12px 2px rgba(0,0,0,0.1);
}

.sec_top_tour .contents dl dt{
	/*height: 220px;*/
	overflow: hidden;
}

.sec_top_tour .contents dl dt img{
	max-width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transform: scale(1.0);
	object-position: left center;
	transition: 0.2s ease-out;
}

/*.sec_top_tour .contents dl:hover dt img{
  transform: scale(1.2);
  object-position: right center;
}*/

.sec_top_tour .contents dl dd{
	padding: 20px;
}

.sec_top_tour .contents dl dd h3{
	margin-bottom: 20px;
	font-size: 20px;
	text-align: center;
}

.sec_top_tour .contents dl dd p{
	margin-bottom: 10px;
}

.sec_top_tour .contents dl dd a{
	padding: 0 20px 10px 0;
	background: url("../img/icon_link03.png") no-repeat left bottom / 90%;
	font-family: "Jost", serif;
	font-size: 14px;
}

.sec_top_tour .contents dl dd a:hover{
	background: url("../img/icon_link03.png") no-repeat left bottom / 100%;
}


/*top news
----------------------------------------------------*/
.sec_top_news h2{
	padding: 0 50px;
	font-family: "Lato", serif;
	font-size: 70px;
	line-height: 1.4;
}

.sec_top_news h2 span{
	padding-left: 1.5em;
	font-family: "Noto Sans JP";
	font-size: 20px;
	display: inline-block;
}

.sec_top_news .contents{
	width: 100%;
	padding: 80px 0 180px 0;
}

.box_cate{
	margin-bottom: 100px;
	display: grid;
	grid-template-columns: 1fr 575px;
}
.box_cate span{
	border-bottom: 1px solid #BBB;
}

.box_cate div{
	padding: 20px 50px 0 20px;
	border-top: 1px solid #BBB;
	border-left: 1px solid #BBB;
}

.box_cate ul li{
	float: left;
	width: 120px;
	margin-left: 5px;
	display: inline-block;
}

.box_cate ul li a{
	padding: 10px 0;
	line-height: 1.0;
	font-size: 14px;
	text-align: center;
	color: #FFF;
	display: block;
}

.box_cate ul li:nth-last-of-type(1) a{background: #002060;}
.box_cate ul li:nth-last-of-type(2) a{background: #2587D8;}
.box_cate ul li:nth-last-of-type(3) a{background: #7354BA;}
.box_cate ul li:nth-last-of-type(4) a{background: #BF9000;}

.box_news_list{
	margin-bottom: 100px;
	padding: 0 50px;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	grid-gap:40px;
	clear: both;
}


@media screen and (max-width:1200px){
.box_news_list{
	grid-template-columns: 1fr 1fr 1fr;
}
}

.box_news_list dl dt{
	overflow: hidden;
}

.box_news_list dl dt img{
	max-width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transform: scale(1.0);
	object-position: left center;
	transition: 0.2s ease-out;
}

.box_news_list dl:hover dt img{
  transform: scale(1.1);
  object-position: right center;
}

.box_news_list dd{
	position: relative;
	padding: 20px 0 0 0;
}

.box_news_list dd ul{
	position: absolute;
	top:-30px;
}

.box_news_list dd ul li{
	float: left;
	width: 100px;
	height: 30px;
	padding: 8px 0;
	background: #FFF;
	line-height: 1.0;
	font-size: 14px;
	text-align: center;
}

.box_news_list dd ul li.info{
	background: #BF9000;
	color: #FFF;
}

.box_news_list dd ul li.tour-diary{
	background: #7354BA;
	color: #FFF;
}

.box_news_list dd ul li.seminar{
	background: #2587D8;
	color: #FFF;
}


/*top voice
----------------------------------------------------*/
.sec_top_voice{
	margin-bottom: 200px;
	padding: 100px 0 50px 0;
	background: url("../img/bg_top_voice.jpg") no-repeat center / cover;
}

.sec_top_voice h2{
	padding: 0 50px;
	font-family: "Lato", serif;
	font-size: 70px;
	line-height: 1.4;
}

.sec_top_voice h2 span{
	padding-left: 1.5em;
	font-family: "Noto Sans JP";
	font-size: 20px;
	display: inline-block;
}

#slider {
    overflow:hidden;
    position:relative;
    width:100%;
}

#slider:after{
	position:absolute;
	width:100rem;
	height:23rem;
	top:25rem;
	left:0;
	right:0;
	margin:0 auto;
	content:"";
	display:block;
}

#sliderInner {
    position:relative;
    left:50%;
    width:300rem;
    margin-left:-147rem;
	z-index:1;
}

.bx-wrapper{
	border: none!important;
	background: none!important;
	box-shadow: none!important;
}

#slider ul{
	padding:2rem 0;
}

#slider ul li{
    width:100rem;
	margin: 0 10px;
	padding:30px;
	background: #FFF;
}

#slider ul li .cf{
	margin:0 2rem;
	padding:3rem;
	box-shadow: 0 0 6px rgba(0, 0, 0, .15);
}

#slider ul li a{
	text-decoration: none;
}

#slider ul li dl{
	display: grid;
	grid-template-columns: 130px 1fr;
	grid-gap: 0 20px;
}

#slider ul li dl dt{
	text-align: center;
}

#slider ul li dl dt .avatar-voice{
	width: 130px;
	height: 130px;
	border-radius: 70px;
	overflow: hidden;
}

#slider ul li dl dt .avatar-voice img{
	max-width: 100%;
	height: 130px;
	object-fit: cover;
	object-position: center center;
	transform: scale(1.0);
	object-position: left center;
	transition: 0.2s ease-out;
}

#slider ul li dl:hover dt .avatar-voice img{
  transform: scale(1.1);
  object-position: right center;
}


#slider ul li dl dd .date{
	width: 90px;
	margin-bottom: 10px;
	padding: 5px 0 6px 0;
	background: #2587D8;
	line-height: 1.0;
	font-size: 14px;
	color: #FFF;
	text-align: center;
}

#slider ul li dl dd h2{
	margin: 0 0 20px 0;
	padding: 0;
	font-family: "Noto Sans JP";
	font-size: 20px;
	font-weight: 500;
	color: #2587D8;
}

#slider ul li dl dd p{
	margin-bottom: 0;
}

.bx-wrapper .bx-pager.bx-default-pager{
	padding-left: 5rem;
}

.bx-wrapper .bx-pager.bx-default-pager a{
	background: #FFF!important;
	border-radius: 0!important;
}

.bx-wrapper .bx-pager.bx-default-pager a.active{
	background: #BF9000!important;
}

.sec_top_voice .center a{
	background: rgba(255, 255, 255, .9) url("../img/icon_link01.png") no-repeat right 20px center / 1.5em;
	color: #000;
}


/*top point
----------------------------------------------------*/
.sec_top_voice{
	overflow: hidden;
}

.box_right_img,
.box_left_img{
	margin-bottom: 200px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap:100px;
}

.box_right_img .box_txt{padding-left: 50px;}
.box_left_img .box_txt{padding-right: 50px;}

.box_left_img .box_txt{
	order: 2;	
}

.sec_top_point .box_txt{
	display: flex;
	align-items: center;
}

.sec_top_point h2{
	position: relative;
	margin-bottom: 50px;
	padding-bottom: 30px;
	font-family: "Noto Sans JP";
	font-size: 40px;
}

.sec_top_point h2 span{
	font-size: 16px;
	display: block;
}

.sec_top_point h2:before{
	position: absolute;
	bottom:0;
	left:0;
	width: 40px;
	height: 3px;
	background: #BF9000;
	content: "";
	display: block;
}

.sec_top_point ul li{
	padding: 20px 0 20px 50px;
	border-bottom: 1px solid #BBB;
	background: url("../img/icon_check01.png") no-repeat left center / 1.5em;
	font-size: 20px;
}


/*top coordinator
----------------------------------------------------*/
.sec_top_coordinator{
	margin-bottom: 180px;
}

.sec_top_coordinator .contents{
	position: relative;
	background: linear-gradient(130deg, #0042C6 0%, #002060 60%, #002060 100%);
	display: grid;
	grid-template-columns: 450px 1fr;
}

.sec_top_coordinator .contents div{
	padding: 50px 80px;
}

.sec_top_coordinator h2{
	background: url("../img/bg_katagaki.png") no-repeat left center / 320px;
	font-size: 30px;
	text-align: right;
	color: #A0CEF3;
}

.sec_top_coordinator h3{
	margin-bottom: 20px;
	font-family: "Noto Sans JP";
	font-size: 50px;
	color: #FFF;
}

.sec_top_coordinator h3 span{
	font-size: 16px;
	font-weight: 400;
	display: block;
}

.sec_top_coordinator h3 span:nth-of-type(2){
	padding-right: 1.5em;
	display: inline-block;
}

.sec_top_coordinator p{
	color: #FFF;
}

.sec_top_coordinator .ttl_en{
	position: absolute;
	bottom:-40px;
	right: 0;
	font-family: "Lato", serif;
	line-height: 1.0;
	font-size: 120px;
	font-weight: 700;
	color: rgba(160, 206, 243, .3);
}


/*top about
----------------------------------------------------*/
.sec_top_about h2{
	margin-bottom: 40px;
	background: linear-gradient(90deg, #002060 0%, #1B34D7 70%, #C6AEFF 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;	
	font-size: 40px;
	text-align: center;
}

.sec_top_about div{
	padding: 50px;
	background: url("../img/bg_top_about.jpg") no-repeat center / cover;
}

.sec_top_about ul li{
	width: 30em;
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #FFF;
    transition: all .2s;
}

.sec_top_about ul li:hover{
	width: 34em;
}

.sec_top_about ul li a{
	padding: 20px 80px 20px 0;
	background: url("../img/icon_link04.png") no-repeat right center / 60px;
	font-size: 40px;
	font-weight: 400;
	color: #FFF;
	display: block;
}

.sec_top_about ul li:hover a{
	background: url("../img/icon_link04.png") no-repeat right center / 70px;
}


/*voice list
----------------------------------------------------*/
.sec_voice_list{
	margin-bottom: 100px;
	padding: 0 50px;
}

.sec_voice_list ul{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-gap: 50px;
}

.sec_voice_list ul li{
    /*width:100rem;*/
	margin: 0 auto;
	background: #FFF;
}

.sec_voice_list ul li .cf{
	margin:0 2rem;
	padding:3rem;
	box-shadow: 0 0 6px rgba(0, 0, 0, .15);
}

.sec_voice_list ul li a{
	text-decoration: none;
}

.sec_voice_list ul li dl{
	/*display: grid;
	grid-template-columns: 130px 1fr;
	grid-gap: 0 20px;*/
}

.sec_voice_list ul li dl dt{
	text-align: center;
}

.sec_voice_list ul li dl dt .avatar-voice{
	width: 180px;
	height: 180px;
	margin: 0 auto 30px auto;
	border-radius: 90px;
	overflow: hidden;
}

.sec_voice_list ul li dl dt .avatar-voice img{
	max-width: 100%;
	height: 180px;
	object-fit: cover;
	object-position: center center;
	transform: scale(1.0);
	object-position: left center;
	transition: 0.2s ease-out;
}

.sec_voice_list ul li dl:hover dt .avatar-voice img{
  transform: scale(1.1);
  object-position: right center;
}


.sec_voice_list ul li dl dd .date{
	width: 90px;
	margin-bottom: 10px;
	padding: 5px 0 6px 0;
	background: #2587D8;
	line-height: 1.0;
	font-size: 14px;
	color: #FFF;
	text-align: center;
}

.sec_voice_list ul li dl dd h2{
	margin: 0 0 20px 0;
	padding: 0;
	font-family: "Noto Sans JP";
	font-size: 20px;
	font-weight: 500;
	color: #2587D8;
}

.sec_voice_list ul li dl dd p{
	margin-bottom: 0;
}


/*news detail
----------------------------------------------------*/
.sec_news_detail{
	width: 1200px;
	margin: 0 auto;
}

.ttl_entry{
	margin-bottom: 80px;
	padding-bottom: 50px;
	border-bottom: 1px solid #BBB;
}

.ttl_entry h2{
	margin-bottom: 20px;
	font-size: 40px;
	line-height: 1.6;
}
.ttl_entry ul li{
	display: inline-block;
}

.ttl_entry ul li.date{
	padding-right: 1em;
	color: #999;
}

.ttl_entry ul li.cate a{
	width: 100px;
	height: 30px;
	padding: 8px 0;
	background: #FFF;
	line-height: 1.0;
	font-size: 14px;
	text-align: center;
	display: block;
}

.ttl_entry ul li.cate.news a{
	background: #BF9000;
	color: #FFF;
}

.ttl_entry ul li.cate.tour-diary a{
	background: #7354BA;
	color: #FFF;
}

.ttl_entry ul li.cate.seminar a{
	background: #2587D8;
	color: #FFF;
}

.sec_news_detail .contents{
	width: 1200px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 260px;
	grid-gap:80px;
}

.box_thumb{
	margin-bottom: 50px;
}

.box_side h2{
	margin-bottom: 30px;
	font-family: "Lato", serif;
	font-size: 30px;
	line-height: 1.4;
}

.box_side a{
	margin-bottom: 40px;
}

.box_side dl dt{
	overflow: hidden;
}

.box_side dl dt img{
	max-width: 100%;
	height: 160px;
	object-fit: cover;
	transform: scale(1.0);
	object-position: left center;
	transition: 0.2s ease-out;
}

.box_side dl:hover dt img{
  transform: scale(1.1);
  object-position: right center;
}

.box_side dd{
	position: relative;
	padding: 10px 0 0 0;
	line-height: 1.6;
	font-size: 14px;
}

.box_side dd ul{
	position: absolute;
	top:-30px;
}

.box_side dd ul li{
	float: left;
	width: 90px;
	height: 30px;
	padding: 8px 0;
	background: #FFF;
	line-height: 1.0;
	text-align: center;
}

.box_side dd ul li.info{
	background: #BF9000;
	color: #FFF;
}

.box_side dd ul li.tour-diary{
	background: #7354BA;
	color: #FFF;
}

.box_side dd ul li.seminar{
	background: #2587D8;
	color: #FFF;
}


/*FAQ
----------------------------------------------------*/
.sec_faq{
	padding: 80px 0;
}

.sec_faq h2 {
	margin-bottom: 50px!important;
	font-family: "Lato", serif;
	font-size: 70px;
	line-height: 1.4;
}

.sec_faq h2 span {
	padding-left: 1.5em;
	font-family: "Noto Sans JP";
	font-size: 20px;
	display: inline-block;
}

.sec_faq .block {
	margin-bottom: 20px;
	border: 1px solid #002060;
	overflow: hidden;
	transition: height 500ms;
}

.sec_faq .block__title {
	position: relative;
	cursor: pointer;
	user-select: none;
	padding: 25px 25px 25px 80px;
	line-height: 1.4;
	font-weight: 500;
	text-decoration: none;
	display: block;
}

.sec_faq .block__title:hover {
	opacity: .8;
}

.sec_faq .block__title:before{
	position: absolute;
	top:5px;
	left:25px;
	content: "Q.";
	font-family: "Lato", serif;
	font-size: 40px;
	color: #BF9000;
	display: block;
}

.sec_faq .block__title::after {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 23px;
	right: 25px;
	width: 26px;
	height: 26px;
	z-index: 1;
}

.sec_faq .block.is-collapsed .block__title::after {
	content: "";
	background: url("../img/icon_faq_open.png");
	background-size: contain;
}

.sec_faq .block.is-expanded .block__title::after {
	content: "";
	background: url("../img/icon_faq_close.png");
	background-size: contain;
}

.sec_faq .block__content{
	padding: 25px 25px 25px 50px;
	border: 0;
	line-height: 1.4;
	font-weight: 400;
}

.sec_faq .block__title:focus {
  border: 0;
  outline: 0;
}


/*Contact
----------------------------------------------------*/
.wpcf7{
	width: 1000px;
	margin: 0 auto;
	padding: 50px;
	background: #EFEFEF;
}

.wpcf7 dl{
	margin-bottom: 1.5em;
	padding-bottom: 1.5em;
	border-bottom: 1px solid #DDD;
	display: grid;
	grid-template-columns: 250px 1fr;
}

.wpcf7 dl dt span{
	margin-left: 1em;
	padding: 2px 8px 3px 8px;
	background: #BF9000;
	line-height: 1.2;
	font-size: 13px;
	color: #FFF;
	display: inline-block;
}

.wpcf7 p{
	margin-bottom: 0!important;
}

.wpcf7 dl dd input[type="text"],
.wpcf7 dl dd textarea,
.wpcf7 dl dd input[type="email"]{
	width: 100%;
	padding: 8px;
	border: 1px solid #AAA;
}

.wpcf7 dl dd input[type="checkbox"]{
	width: 16px;
	height: 16px;
	margin-right: 0.5em;
}

.wpcf7 dl dd label{
	display: block;
}

.privacy .wpcf7-list-item-label{
	display: none;
}

.wpcf7 dl dd a{
	text-decoration: underline;
}

.wpcf7 input[type="submit"]{
	width: 300px;
	margin: 40px auto 0 auto;
	padding: 10px 0;
	background: #2587D8;
	border: 0;
	font-family: "Noto Sans JP";
	font-size: 20px;
	color: #FFF;
	display: block;
}

.screen-reader-response,
.wpcf7-not-valid-tip{
	color: #D92629!important;
}

.screen-reader-response{
	display: none;
}

.screen-reader-response ul{
	display: none;
}

.wpcf7-response-output{
	margin: 2em auto;
	padding: 20px;
	border: 1px solid #00881C;
	background: #E2F4E0;
}

.screen-reader-response:empty,
.wpcf7-response-output:empty {
  display: none;
}



/*block
----------------------------------------------------*/
.wp-block-columns h2{
	position: relative;
	padding-bottom: 40px;
	font-family: "Noto Sans JP";
	font-size: 40px;
}

.wp-block-columns h2:before {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 40px;
	height: 3px;
	background: #BF9000;
	content: "";
	display: block;
}

.page .is-layout-grid h3{
	margin-bottom: 30px;
	font-size: 30px;
}

.sec_1col,
.sec_2col{
	padding: 80px 0;
	display: block!important;
}

.sec_2col_bg{
	padding: 80px 0;
	background: linear-gradient(90deg, #E3F4FF 0%, #F5F8FA 100%);
}

.sec_1col .contents{
	width: 1200px;
	margin: 0 auto;
}

.sec_1col .contents h2{
	margin-bottom: 50px;
}

.sec_1col .contents h3{
  margin-bottom: 20px;
  font-size: 30px;
}

.sec_2col .contents,
.sec_2col_bg .contents{
	width: 1200px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 360px 1fr;
}

.sec_2col .contents ol,
.sec_2col_bg .contents ol{
	list-style: none;
	counter-reset: number;
}

.sec_2col .contents ol li,
.sec_2col_bg .contents ol li{
	position: relative;
	padding-left: 6em;
	margin-bottom: 2.5em;
	font-size: 18px;
	font-weight: 500;
}

.sec_2col .contents ol li:before,
.sec_2col_bg .contents ol li:before {
	counter-increment: number;
	content: counter(number,decimal-leading-zero);
	position: absolute;
	top: -0.35em;
	left: 0;
	font-family: "Jost", serif;
	font-size: 70px;
	color: #D8DAEA;
	line-height: 1.0;
}

.sec_2col .contents ol li:last-of-type,
.sec_2col_bg .contents ol li:last-of-type{
	margin-bottom: 0;
	padding-bottom: 0;
}

.sec_2col .contents ul li,
.sec_2col_bg .contents ul li{
	position: relative;
	padding: 0 0 1.5em 2.5em;
	margin-bottom: 1.5em;
	border-bottom: 1px solid #BBB;
	background: url("../img/icon_check01.png") no-repeat left 0.4em / 1.5em;
	font-size: 18px;
	font-weight: 500;
}

.sec_1col_bg{
	padding: 20px 0 20px;
	background: linear-gradient(90deg, #4D6390 0%, #5D6FDA 70%, #D7C6FF 100%);	
}

.sec_1col_bg h2{
	margin-bottom: 50px;
	padding-bottom: 40px;
	color: #FFF;
	text-align: center;
}

.sec_1col_bg h2:before {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	background: #A0CEF3;
}

.sec_1col_bg .contents{
	width: 1200px;
	margin: 0 auto 50px auto!important;
	padding: 50px;
	background: #FFF;
	display: block;
}

.sec_1col_bg h3{
	margin-bottom: 50px;
	font-size: 30px;
}

.plan_detail{
	display: grid!important;
	grid-template-columns: 120px 1fr!important;
	grid-gap: 20px;
}

.plan_detail .ttl p{
	margin-bottom: 0;
	padding: 5px 0;
	background: #012060;
	line-height: 1.4;
	color: #FFF;
	text-align: center;
}

.plan_detail ul{
	margin-left: 20px;
	list-style: disc;
}

.sec_2col_flow{
	padding: 80px 0;
}

.sec_2col_flow h2{
	position: relative;
	padding-bottom: 40px;
	font-family: "Noto Sans JP";
	font-size: 40px;
	text-align: left;
}

.sec_2col_flow h2:before {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 40px;
	height: 3px;
	background: #BF9000;
	content: "";
	display: block;
}

.sec_2col_flow .contents{
	width: 1200px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 360px 1fr;
}

.sec_2col_flow dl{
	display: grid;
	grid-template-columns: 180px 1fr;
	grid-gap:0 50px;
}

.sec_2col_flow dl dt{
	position: relative;
}

.sec_2col_flow dl dt:before{
	position: absolute;
	top:0;
	left:0;
	right:0;
	width: 2px;
	height: 100%;
	margin: 0 auto;
	background: #012060;
	content: "";
	display: block;
	z-index: 0;
}

.sec_2col_flow dl:last-of-type dt:before {
	display: none;
 }
 
.sec_2col_flow dl dt span{
	position: relative;
	width: 160px;
	height: 160px;
	margin: 0 auto;
	background: #012060;
	border-radius: 90px;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 1;
}

.sec_2col_flow dl:last-of-type dt span{
	margin-bottom: 0;
}

.sec_2col_flow dl dt span em{
	font-family: "Jost", serif;
	font-style: normal;
	font-weight: bold;
	font-size: 70px;
	line-height: 1.0;
	color: #D8DAEA;
}

.sec_2col_flow dl dt span em small{
	font-family: "Jost", serif;
	font-size: 20px;
	font-weight: normal;
	color: #D8DAEA;
	text-align: center;
	display: block;
}

.sec_2col_flow dl dd{
	margin-bottom: 5em;
}

.sec_2col_flow dl dd h3{
	font-size: 40px;
}

.contents table td{
	padding: 1.5em 1em;
	border: 0;
	border-bottom: 1px solid #BBB;
}

.contents table tr td:nth-of-type(1){
	width: 14em;
	font-weight: 500;
}

.box_special{
	padding-left: 0!important;
}

.box_special h3{
	position: relative;
	margin-bottom: 30px;
	padding: 20px 0 20px 80px;
	border-bottom: 1px solid #BBB;
	font-size: 26px;
	color: #012060;
}

.box_special h3 span{
	position: absolute;
	top:20px;
	left:0;
	width: 60px;
	height: 60px;
	padding: 12px 0 0 0;
	background: #012060;
	border-radius: 50px;
	font-family: "Jost", serif;
	line-height: 1.0;
	font-size: 12px;
	text-align: center;
	color: #FFF;
}

.box_special h3 span em{
	font-style: normal;
	font-size: 26px;
	display: block;
}

.box_special p{
	margin-bottom: 0.5em;
	font-size: 20px;
}

.kakomi{
	padding: 30px;
	border: 1px solid #2587D8;
}

.large{
	font-size: 1.5em;
}



/*request
----------------------------------------------------*/
.box_request{
	position: fixed;
	top:40%;
	right:0;
	background: #BF9000;
	z-index: 9999;
}

.box_request a{
	width: 60px;
	height: 200px;
	padding-bottom: 30px;
	background: url("../img/icon_file.png") no-repeat center bottom 35px / 1em;
	font-size: 20px;
	font-weight: bold;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	line-height: 1.0;
	text-align: center;
	letter-spacing: 0.2em;
	text-decoration:none;
	color: #FFF;
	display: flex;
	align-items: center;
	justify-content: center;
}


/*footer
----------------------------------------------------*/
footer{
	position: relative;
	padding: 60px 50px 20px 50px;
	display: grid;
	grid-template-columns: 1fr 1fr;	
}

footer h2 {
	float: left;
	margin: 0 0 40px 0;
	padding: 0;
	font-size: 20px;
}

footer h2 img {
	width: 120px;
	height: auto;
	margin: 0 1em 0 0;
	display: inline-block;
}

footer ul{
	float: right;
	text-align: right;
}

footer ul li{
	padding: 0 20px;
	display: inline-block;
}

footer p{
	float: left;
	font-size: 12px;
}

footer a:link {color:#000;text-decoration:none;}
footer a:visited {color:#000;text-decoration:none;}
footer a:hover {color:#000;text-decoration:none;}
footer a:focus{outline:none;}


/*page top
----------------------------------------------------*/
#page-top{
	position: fixed;
	right: 2%;
	z-index:999;
}

#page-top a{
	width:80px;
	height:80px;
	display:block;
}

#page-top a:hover{
	opacity:0.70;
	filter: alpha(opacity=70);
}