@charset "utf-8";
/*固定ページ共通指定*/
.page .inner{
	max-width: 900px;
}
.fvPage{
	padding: 180px 0 0;
}
.fvPage h1{
	font-size: 42px;
	font-weight: normal;
	text-align: center;
}
.fvPage h1 + p{
	font-family: "Noto Serif JP", serif;
	font-size: 15px;
	letter-spacing: 0.5em;
	line-height: 1.6;
	text-align: center;
	margin-bottom: 60px;
}
.fvPage img{
	width: 100%;
	height: 278px;
}
.page .title{
	font-size: 39px;
	text-align: center;
	margin-bottom: 40px;
}
.page .title span{
	font-size: 13px;
}
@media screen and (max-width: 768px) {
	.fvPage{
		padding: 80px 0 20px;
	}
	.fvPage h1{
		font-size: 30px;
	}
	.fvPage h1 + p{
		margin-bottom: 40px;
	}
	.fvPage img{
		height: 160px;
	}
	.page .title{
		font-size: 26px;
		margin-bottom: 0;
	}
}
/*==================================================================================================*/
/*-*/
#aboutus .wrap01{
	padding-top: 20px;
}
#aboutus .wrap01 ul:nth-child(1) li{
	margin-bottom: 40px;
}
#aboutus .wrap01 .title{
	width: fit-content;
	font-size: 25px;
}
#aboutus .wrap01 .title span{
	font-size: 13px;
}
#aboutus .wrap01 p{
	max-width: 700px;
	font-size: 16px;
}
#aboutus .wrap01 ul:nth-child(2) li{
	width: 48%;
}
#aboutus .wrap01 ul:nth-child(2) li:nth-child(2){
	width: 52%;
	border-left: solid 1px #777777;
	padding-left: 4%;
}
#aboutus .wrap01 ul:nth-child(2) h3{
	font-size: 20px;
}
#aboutus .wrap01 ul:nth-child(2) p{
	font-size: 13px;
}
@media screen and (max-width: 768px) {
	#aboutus .wrap01{
		padding-bottom: 0;
	}
	#aboutus .wrap01 ul:nth-child(1) li{
		justify-content: center;
	}
	#aboutus .wrap01 ul:nth-child(2) li{
		width: 100%;
	}
	#aboutus .wrap01 ul:nth-child(2) li:nth-child(2){
		width: 100%;
		border-left: none;
		padding-left: 0;
		margin-top: 20px;
	}
	#aboutus .wrap01 .title{
		font-size: 22px;
	}
}
/**/
.dataList dl{
	display: flex;
	flex-wrap: wrap;
	padding: 20px 25px;
}
#aboutus .wrap02 dl{
	background:rgba(195,195,195,0.10);
}
#aboutus .wrap02 dl:nth-child(even){
	background:rgba(195,195,195,0.20);
}
.dataList dl dt{
	width: 200px;
	font-size: 16px;
}
.dataList dl dd{
	width: calc( 100% - 200px );
	font-size: 16px;
}
@media screen and (max-width: 768px) {
	.dataList dl dt{
		width: 100%;	
	}
	.dataList dl dd{
		width: 100%;
	}
}
/**/
#aboutus .wrap03 ul li{
	background: rgba(195,195,195,0.10);
	margin: 0 0 40px;
}
#aboutus .wrap03 ul li h3{
	width: 200px;
	font-size: 16px;
	font-weight: normal;
	padding: 20px 25px;
}
#aboutus .wrap03 ul li div{
	width: calc( 100% - 200px );
	padding: 20px 25px;
}
#aboutus .wrap03 ul li div p{
	font-size: 16px;
	letter-spacing: 0;
}
#aboutus .wrap03 iframe{
	height: 186px;
	margin-bottom: 0;
}
@media screen and (max-width: 768px) {
	#aboutus .wrap03 ul li h3{
		width: 100%;
		font-size: 16px;
		text-align: center;
		font-weight: normal;
		padding: 20px 25px 0;
	}
	#aboutus .wrap03 ul li div{
		width: 100%;
		padding: 0 25px 20px;
	}
	#aboutus .wrap03 iframe{
		height: 120px;
	}
}
/**/
#aboutus .wrap04{
	color: #FFF;
	background: linear-gradient(to right, #0071BD, #1D257A);
}
#aboutus .wrap04 .inner{
	max-width: 564px;
}
#aboutus .wrap04 .title{
	font-size: 29px;
	margin-bottom: 20px;
}
#aboutus .wrap04 .title span{
	color: #FFF;
}
#aboutus .wrap04 p{
	font-size: 16px;
	margin-bottom: 20px;
}
.btnA{
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 88px;
	padding: 36px;
	background: #FFF;
	transition: .5s;
}
.btnA:hover{
	opacity: 1;
}
.btnA p{
	width: fit-content;
	font-size: 12px !important;
	color: var(--text-color);
	margin-bottom: 0 !important;
	transition: .5s;
}
.btnA:hover p{
	color: var(--main-color);
}
.btnA .more{
	width: 110px;
}
.btnA .more:hover{
	left: 0;
}
.btnA:hover .more{
	color: var(--main-color);
	left: 5px;
}
.btnA:hover .more::before{
	background: var(--main-color);
}
#aboutus + iframe{
	display: none;
}
@media screen and (max-width: 768px) {
	#aboutus .wrap04 .title{
		font-size: 24px;
	}
}
/*==================================================================================================*/
/*works-*/
#works .wrap01 .inner:nth-child(2){
	flex-direction: row-reverse;
}
#works .wrap01 ul{
	width: 41%;
	max-width: 367px;
}
#works .wrap01 ul + div{
	width: 56%;
	max-width: 496px;
}
#works .wrap01 ul li{
	margin-bottom: 20px;
}
#works .wrap01 ul li h4{
	font-family: "Bebas Neue", sans-serif;
	font-size: 30px;
	line-height: 1;
	color: var(--main-color);
	margin-bottom: 10px;
}
#works .wrap01 ul li p{
	font-size: 12px;
	line-height: 1.8;
}
#works .wrap01 ul + div img{
	margin-bottom: 10px;
}
#works .wrap01 ul + div p{
	font-size: 12px;
	margin-bottom: 60px;
}
#works .wrap01 .inner:nth-child(2) li:nth-child(1),
#works .wrap01 .inner:nth-child(2) li:nth-child(2),
#works .wrap01 .inner:nth-child(2) li:nth-child(3){
	display: none;
}
#works .wrap01 .inner:nth-child(1) ul + div img,
#works .wrap01 .inner:nth-child(1) ul + div p{
	display: none;
}
#works .wrap01 .inner:nth-child(1) ul + div img:nth-child(1),
#works .wrap01 .inner:nth-child(1) ul + div p:nth-child(2){
	display: block;
}
#works .wrap01 .inner:nth-child(2) ul + div img:nth-child(1),
#works .wrap01 .inner:nth-child(2) ul + div p:nth-child(2){
	display: none;
}
@media screen and (max-width: 768px) {
	#works .wrap01 ul{
		width: 100%;
		max-width: 100%;
	}
	#works .wrap01 ul + div{
		width: 100%;
		max-width: 100%;
	}
}
/*==================================================================================================*/
/*services-*/
#services h2.title{
	text-align: center;
}
#services .wrap01 li{
	width: 48%;
	margin: 0 0 40px;
}
#services .wrap01 li .img{
	margin: 0 0 10px;
}
#services .wrap01 li .title{
	font-size: 30px;
	text-align: left;
	margin-bottom: 5px;
}
#services .wrap01 li .title span{
	font-size: 14px;
}
#services .wrap01 li .title + p{
	font-size: 14px !important;
	margin: 0 0 10px !important;
}
#services .wrap01 li div:last-child{
	padding: 50px 20px 20px 20px;
	background:rgba(195,195,195,0.20);
	position: relative;
}
#services .wrap01 li div:last-child h4{
	width: fit-content;
	font-size: 11px;
	color: #FFF;
	padding: 2px 23px 3px;
	background: var(--main-color);
	position: absolute;
	top: 15px;
	left: 0;
}
#services .wrap01 li div p{
	font-size: 12px;
}
/**/
aside{
	padding: 30px;
	background: #333333;
}
aside img{
	width: 243px;
}
aside div{
	width: calc( 100% - 243px);
	max-width: 565px;
}
aside div h3{
	font-size: 19px;
	color: #FFF;
}
aside div p{
	font-size: 14px;
	color: #FFF;
}
@media screen and (max-width: 768px) {
	#services .wrap01 li{
		width: 100%;
	}
	#services .wrap01 li .title {
    	font-size: 22px;
	}
	aside{
		padding: 4%;
	}
	aside img{
		width: 100%;
		margin-bottom: 20px;
	}
	aside div{
		width: 100%;
	}
}
/*==================================================================================================*/
/*news-*/
#news .inner{
	max-width: 770px;
}
#news .newsList li a{
	justify-content: space-between;
}
#news .newsList .img{
	width: 130px;
	padding-top: 10%;
}
#news .newsList .img + div{
	width: calc( 100% - 150px );
	max-width: 623px;
}
@media screen and (max-width: 768px) {
	#news .newsList li{
		margin-bottom: 40px;
	}
	#news .newsList .img{
		width: 100%;
		padding-top: 60%;
		margin-bottom: 20px;
	}
	#news .newsList .img + div{
		width: 100%;
	}
}
/*==================================================================================================*/
/*-*/
#contact .fvPage img{
	margin-bottom: 20px;
}
.sidecta{
	width: 262px;
	background: #F9F9F9;
	padding: 10px 25px;
}
.sidecta h3{
	font-size: 16px;
}
.sidecta p{
	font-size: 15px;
	letter-spacing: 0;
}
.sidecta span{
	font-size: 11px;
}
.sidecta h3:nth-child(3){
	margin-top: 20px;
}
.sidecta a{
	display: block;
	width: 100%;
	font-size: 15px;
	font-weight: bold;
	text-align: center;
	color: #FFF;
	background: #007CC5;
	padding: 3px 0;
}
.form{
	width: calc( 100% - 262px );
	max-width: 590px;
}
.form .title{
	font-size: 25px;
	text-align: left;
}
@media screen and (max-width: 768px) {
	.sidecta{
		width: 100%;
		margin-bottom: 60px;
	}
	.form{
		width: 100%;
		max-width: 590px;
	}
}
/*==================================================================================================*/
/*投稿ページ共通指定*/
.single .inner{
	max-width: 770px;
}
.single .fvPage{
	padding: 180px 0 140px;
}
.single .fvPage img{
	height: auto;
	margin-bottom: 20px;
}
.single .newsList{
	margin-bottom: 10px;
}
.singleContent h2{
    font-size: 20px;
    font-weight: bold;
    padding: .5em .7em;
    border-bottom: solid 1px var(--main-color);
    background: rgba(50,50,50,.07);
    margin: 30px 0 0;
}
.singleContent h3{
    font-size: 20px;
    background: var(--main-color);
    padding: .3em .7em;
    color: #FFF;
    margin: 30px 0 0;
}
.singleContent h4{
    font-size: 18px;
    font-weight: bold;
    border-left: 5px solid var(--main-color);
    padding: .1em .7em;
    color: var(--main-color);
    margin: 30px 0 0;
}
.singleContent h5{
    font-size: 16px;
    font-weight: bold;
    color: var(--main-color);
    margin: 30px 0 0;
}
.singleContent p{
    margin: 10px 0 0;
}
.singleContent a{
    color: #5fd0d6;
}
.wp-block-columns,
.wp-block-gallery{
    margin: 30px 0 0 !important;
    margin-bottom: 0;
}
.wp-block-image{
    margin: 30px 0 0 !important;
}
.wp-block-column h2:nth-child(1),
.wp-block-column h3:nth-child(1),
.wp-block-column h4:nth-child(1),
.wp-block-column h5:nth-child(1),
.wp-block-column p:nth-child(1),
.wp-block-image:nth-child(1){
    margin: 0;
}
@media screen and (max-width: 768px) {
}
/*==================================================================================================*/
/*-*/
.re{
	background: linear-gradient(#0071BD, #1D257A);
}
.re header h1 a span,
.re header div a span{
	font-size: 22px;
	font-weight: bold;
	letter-spacing: 0;
	color: #FFF;
}
.re header h1 a span::before,
.re header div a span::before{
	display: inline-block;
	content: "";
	width: 2px;
	height: 16px;
	background: #FFF;
	margin: 0 10px;
}
.re header .sns{
	display: block;
	width: 34px;
}
.re header .sns img{
	display: block;
}
/**/
.fvRe{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100vh;
	max-height: 768px;
	padding-bottom: 20px;
}
.fvRe::before{
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	background: center / cover no-repeat url("../img/services-reason.jpg");
	position: absolute;
	top: 0;
	left: 0;
	opacity: .3;
}
.fvRe h2{
	width: fit-content;
	font-family: "Noto Serif JP", serif;
	font-size: 35px;
	letter-spacing: 0.7em;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	color: #FFF;
	z-index: 1;
}
.fvRe p{
	font-size: 13px;
	letter-spacing: 0.2em;
	color: #FFF;
	position: absolute;
	left: 20px;
	bottom: 20px;
}
@media screen and (max-width: 768px) {
	.fvRe h2{
		font-size: 30px;
	}
}
/**/
.rePostList{
	padding: 40px 0 30px;
	background: #333333;
}
.rePostList .inner{
	max-width: 793px;
}
.rePostList h2{
	width: fit-content;
	font-size: 30px;
	color: #FFF;
}
.rePostList ul{
	width: fit-content;
	justify-content: center;
}
.rePostList ul li{
	width: 206px;
}
.rePostList ul li:not(:last-child){
	margin-right: 10px;
}
.rePostList ul li h3{
	font-size: 14px;
	color: #FFF;
	margin-top: 5px;
}
@media screen and (max-width: 768px) {
	.rePostList .inner{
		width: 80%;
	}
	.rePostList h2{
		width: 100%;
		text-align: center;
		margin-bottom: 10px;
	}
	.rePostList ul{
		width: 100%;
	}
	.rePostList ul li{
		width: 100%;
		margin-bottom: 20px;
	}
	.rePostList ul li:not(:last-child) {
		margin-right: 0;
	}
}
.rewrap01 .inner,
.rewrap02 .inner{
	max-width: 887px;
}
.rewrap01 h2,
.rewrap01 h3,
.rewrap01 p,
.rewrap02 h2,
.rewrap02 p{
	width: fit-content;
	color: #FFF;
}
.rewrap01 h2{
	font-size: 40px;
	line-height: 1.5;
	letter-spacing: 0;
}
.rewrap01 h3{
	font-size: 29px;
	line-height: 1.5;
	margin-bottom: 10px;
}
.rewrap01 p{
	font-size: 14px;
	line-height: 2.6;
}
.rewrap01 p + p{
	font-weight: bold;
}
.rewrap01 h2 + p{
	max-width: 490px;
}
.rewrap01 h2 + p + img{
	margin-top: 38px;
}
.rewrap01 ul{
	margin-top: 60px;
}
.rewrap01 ul li:nth-child(2){
	flex-direction: row-reverse;
	margin-top: 60px;
}
.rewrap01 ul li img{
	max-width: 353px;
}
.rewrap01 ul li img + div{
	max-width: 487px;
}
.rewrap01 ul li .retopic{
	margin-top: 20px;
}
@media screen and (max-width: 768px) {
	.rewrap01 img{
		margin-bottom: 20px;
	}
	.rewrap01 h2{
		font-size: 30px;
		margin-bottom: 20px;
	}
	.rewrap01 ul li img{
		max-width: 100%;
	}
}
/**/
.retopic{
	padding: 30px 25px 30px 60px;
	background: #FFF;
	position: relative;
}
.retopic .inner{
	width: 100%;
}
.retopic span.tag{
	font-family: "Bebas Neue", sans-serif;
	font-size: 11px;
	color: #FFF;
	background: #172A88;
	transform: rotate(90deg);
	position: absolute;
	top: 35px;
    left: -22px;
    padding: 2px 10px;
}
.retopic h2,
.retopic h4{
	font-size: 16px;
	line-height: 1.7;
	color: #036EB8;
	margin-bottom: 10px;
}
.retopic p{
	font-size: 12px;
	line-height: 1.7;
	color: var(--text-color);
}
.retopic .btn{
	margin-top: 10px;
}
.retopic .inner div{
	width: 400px;
}
.retopic .inner div + img{
	max-width: 424px;
}
@media screen and (max-width: 768px) {
	.retopic .inner div{
		margin-bottom: 20px;
	}
}
.rewrap02{
	padding: 40px 0;
	background:rgba(82,124,169,0.70);
}
.rewrap02 img{
	max-width: 348px;
}
.rewrap02 img + div{
	max-width: 518px;
}
.rewrap02 h2{
	font-size: 29px;
	letter-spacing: 0.2em;
}
.rewrap02 p{
	font-size: 14px;
}
.rewrap02 p span{
	font-size: 17px;
	font-weight: bold;
}
.rePostList + .retopic{
	width: 90%;
	max-width: 924px;
	margin: 70px auto 0;
}
.rePostList + .retopic p{
	letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
	.rewrap02 h2{
		font-size: 24px;
	}
	.rewrap02 img{
		max-width: 100%;
	}
}
.voice, .feature, .step{
	padding-bottom: 0;
}
.voice .inner,
.feature .inner{
	max-width: 924px;
}
.voice h2,
.feature h2,
.step h2,
.request h2{
	font-size: 29px;
	text-align: center;
	color: #FFF;
	margin-bottom: 20px;
}
.voice h2{
	margin-bottom: 100px;
}
.voice ul,
.feature ul{
	align-items: normal;
	padding-bottom: 5px;
}
.voice li,
.feature li{
	justify-content: flex-start;
	width: 49%;
	max-width: 441px;
	padding: 130px 25px 18px;
	position: relative;
	background: #003987;
	box-shadow: 0 4px 4px 0 rgba(0,0,0,0.25);
	border-radius: 16px;
}
.voice li img{
	width: 194px;
	height: 194px;
	position: absolute;
    top: -80px;
    left: 50%;
    transform: translateX(-50%);
}
.voice li p{
	color: #FFF;
}
.voice li p:nth-child(2){
	width: fit-content;
	font-size: 20px;
}
.voice li p:nth-child(2) span{
	font-size: 14px;
}
.voice li p:nth-child(3){
	width: fit-content;
	font-size: 11px;
	color: #007CC5;
	background: #FFF;
	padding: 2px 10px;
	margin-left: 10px;
}
.voice li p:nth-child(4){
	font-size: 14px;
}
@media screen and (max-width: 768px) {
	.voice li{
		width: 100%;
	}
	.voice li:nth-child(1){
		margin-bottom: 120px;
	}
}
.feature li{
	width: 33%;
	max-width: 300px;
	padding: 14px 20px;
}
.feature h3{
	font-size: 18px;
	color: #FFF;
}
.feature p{
	font-size: 13px;
	letter-spacing: 0.05em;
	color: #FFF;
}
@media screen and (max-width: 768px) {
	.feature li{
		width: 100%;
		max-width: 100%;
		margin-bottom: 20px;
	}
}
.step h2{
	width: 100%;
	text-align: center;
	padding: 20px 0;
	position: relative;
}
.step h2::before{
	width: 100%;
	display: block;
	content: "CAREER ROADMAP";
	font-family: "Bebas Neue", sans-serif;
	font-size: 90px;
	font-weight: normal;
	letter-spacing: 0;
	color: #FFF;
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
	opacity: .2;
}
.step dl{
	max-width: 722px;
	margin: 0 auto;
}
.step dl dt,
.step dl dd{
	font-size: 14px;
	color: #FFF;
}
.step dl dt{
	width: fit-content;
}
.step dl dd{
	width: calc( 100% - 120px );
}
@media screen and (max-width: 768px) {
	.step h2::before{
		width: 700px;
	}
	.step dl dt{
		width: 100%;
	}
	.step dl dd{
		width: 100%;
		margin-bottom: 20px;
	}
}
.request .inner{
	max-width: 924px;
}
.request li{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: 49%;
	max-width: 452px;
	font-size: 22px;
	color: #FFF;
	border: solid 1px #FFF;
	padding: 10px 30px 15px;
	margin-bottom: 10px;
}
.request li::before{
	display: inline-block;
	content: "01";
	font-family: "Bebas Neue", sans-serif;
	font-size: 72px;
	letter-spacing: 0;
	line-height: 1;
	color: #FFF;
	margin-right: 60px;
}
.request li:nth-child(2)::before{
	content: "02";
}
.request li:nth-child(3)::before{
	content: "03";
}
.request li:nth-child(4)::before{
	content: "04";
}
.request ul + p{
	font-size: 22px;
	color: #FFF;
	text-align: center
}
.re main + iframe{
	display: none;
}
@media screen and (max-width: 768px) {
	.request li{
		width: 100%;
		max-width: 100%;
	}
}


/*==================================================================================================*/
/*-*/

.reSingle .bg{
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	max-height: 558px;
	position: absolute;
	top: 0;
	left: 0;
	opacity: .3;
}
.reSingle .inner{
	max-width: 887px;
}
.fvReSingle{
	padding-top: 180px;
	padding-bottom: 0;
}
.fvReSingle .inner{
	padding-bottom: 60px;
	border-bottom: solid 1px #FFF;
}
.fvReSingle h1{
	font-size: 40px;
	color: #FFF;
}
.fvReSingle h1 + img{
	margin-bottom: 10px;
}
.fvReSingle h1 + img + p{
	font-size: 16px;
	color: #FFF;
	margin-bottom: 30px;
}
.fvReSingle .inner div{
	padding: 20px 40px;
	border-radius: 10px;
	background:rgba(231,231,231,0.20);
	margin-bottom: 30px;
}
.fvReSingle .inner div h3{
	width: fit-content;
	font-size: 27px;
	color: #FFF;
}
.fvReSingle .inner div p{
	width: calc( 100% - 200px );
	font-size: 16px;
	color: #FFF;
}
.fvReSingle .inner div + p{
	font-size: 19px;
	color: #FFF;
}
.requirements h2{
	font-size: 27px;
	text-align: center;
	color: #FFF;
	margin-bottom: 10px;
}
.requirements dl dt,
.requirements dl dd{
	color: #FFF;
}
.requirements dl{
	background:rgba(231,231,231,0.10);
}
.requirements dl:nth-child(even){
	background:rgba(231,231,231,0.15);
}
@media screen and (max-width: 768px) {
	.reSingle .bg{
		max-height: 320px;
	}
	.fvReSingle h1{
		font-size: 34px;
	}
	.fvReSingle .inner div h3{
		width: 100%;
		font-size: 20px;
		text-align: center;
		margin-bottom: 5px;
	}
	.fvReSingle .inner div p{
		width: 100%;
	}
}
.entry{
	background: #FFF;
}
.entry .inner{
	max-width: 900px;
}
.entry .inner h2{
	width: 180px;
}
.entry .inner h2 + div{
	width: calc( 100% - 200px );
}
@media screen and (max-width: 768px) {
}