@charset "utf-8";
/*-------------------------------------------------------------------------------------------------------
*********************************************************************************************************
*********************************************************************************************************
******
****** SPスタイル
******
*********************************************************************************************************
*********************************************************************************************************
-------------------------------------------------------------------------------------------------------*/

// breakpointの設定

$xs: 320px;

@mixin xs {
  @media screen and (max-width: ($xs)) {
    @content;
  }
}

// 基本カラー、フォントの設定	
$mainColor:#0eafa0;
$mainColor02:#ea6188;
$textColor:#222;
$en01:'Roboto', sans-serif;

html {
	margin: 0;
	padding: 0;
	list-style-type: none;
	font-size: 14px;
	color: #222;
	line-height: 1.6;
}
body, input, button, textarea, select {
	font-family: "Noto Sans CJK JP","Noto Sans Japanese","Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-weight: 400;
}
img {
	max-width: 100%;
	height: auto;
}
.sp {
	display: block;
}
.pc {
	display: none;
}
.post_none{
	text-align: center;
	margin: 0 auto;
}
.slick-track {
  display: flex;
}
.slick-slide {
  height: auto !important;
}
.common_container {
	overflow: hidden;
}
.tab.sp{
	display: block;
}
.common_container {
	overflow: hidden;
}
.common_en_01{
	font-family: $en01;
}
.common_pcnolink{
	pointer-events: visible;
}
.common_inner {
    width: 82%;
}
.common_wideinner{
	width: 82%;
}
.common_wideinner02{
	width: 94%;
}
.ank{
	padding-top: 55px;
	margin-top: -55px;
}
.common_txt01{
	line-height: 2.0;
	letter-spacing: 0.05em;
}
.common_lead{
	line-height: 1.8;
	letter-spacing: 0.05em;
	text-align: center;
}
.common_h2_ttl{
	margin-bottom: 30px;
	.h2_ttl{
		font-size: 26px;
		font-weight: 700;
		/*margin-right: 20px;*/
		line-height: 1.2;
		letter-spacing: 0.1em;
	}	
	.common_en_01{
		font-size: 14px;
		font-weight: 700;
		line-height: 1.0;
		letter-spacing: 0.05em;
	}
}
.common_btn01{
	width: 100%;
	height: 50px;
	margin-top: 25px;
	a{
		text-decoration: none;
		background-color: #fff;
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 48px;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		border: 1px solid #222;		
		position: relative;
		transition: 0.3s;
		&::before {
			border-top: 1px solid #222;
			position: absolute;
			top: 50%;
			right: 15px;
			content: "";
			width: 26px;
			height: 1px;
			transition: 0.3s;
		}
		&::after {
			border-top: 1px solid #222;
			position: absolute;
			top: 50%;
			right: 15px;
			content: "";
			width: 6px;
			height: 1px;
			transform: rotate(30deg);
			margin-top: -2px;
			transition: 0.3s;
		}		
		.btn_txt{
			color:#222;
			font-size: 16px;
			letter-spacing: 0.05em;
			font-weight: bold;
				position: relative;
			z-index: 2;
		}
		&:hover .btn_txt{
			color:#FFF;
		}
		&:hover::before, &:hover::after {
			transition: 0.3s;
			right: 5px;
			border-top: 1px solid #fff;
			z-index: 2;
		}
		.line::before{
			position: absolute;
			top: 0;
			left: 0;
			content: '';
			width: 100%;
			height: 100%;
			background: #222;
			transform: scale(0, 1);
			transform-origin: left top;
			transition: transform .3s;
		} 
		&:hover .line::before{
			transform: scale(1, 1);
		}
	}
}

/*----------------------------------------------------------------------------
******************************************************************************
** header
******************************************************************************
----------------------------------------------------------------------------*/
.hd_nav01{
	display: none;
}
/*========= ナビゲーションのためのCSS ===============*/
.g-nav{
	position:fixed;
	z-index: 999;
	top:0;
	right: -120%;
	width:100%;
	height: 100vh;
	background:rgba(17,17,17,0.6);
	transition: all 0.6s;
}
.g-nav.panelactive{
	right: 0;
}
.g-nav{    
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: flex-end;
}
.g-nav .g-nav-list{
    position: fixed;
    z-index: 999; 
	width: 100%;
    height: 100vh;
    overflow: auto;
	background-color: #fff;
    -webkit-overflow-scrolling: touch;
	padding: 55px 30px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.g-nav .g-nav-list a{
	text-decoration: none;
	transition: 0.3s;
}
.g-nav .g-nav-list a:hover{
	transition: 0.3s;
	opacity: 0.7;
}
.g-nav .g-nav-list .menu_list01{
	margin-bottom: 30px;
	li{	
		border-bottom: 1px solid #ddd;
		a{
			padding: 15px 50px 15px 0;
			display: -webkit-flex;
			display: -moz-flex;
			display: -ms-flex;
			display: -o-flex;
			display: flex;
			align-items: center;
			justify-content: space-between;
			position: relative;
			&::before {
				border-top: 1px solid #222;
				position: absolute;
				top: 50%;
				right: 0;
				content: "";
				width: 26px;
				height: 1px;
				transition: 0.3s; }
			&::after {
				border-top: 1px solid #222;
				position: absolute;
				top: 50%;
				right: 0;
				content: "";
				width: 6px;
				height: 1px;
				transform: rotate(30deg);
				margin-top: -2px;
				transition: 0.3s;
			}
			.menu_ttl{
				font-weight: 700;
				color:#222;
				font-size: 14px;
				letter-spacing: 0.1em;
				&.out_link{
					background: url(../images/common/icon_link.png) no-repeat right center;
					padding-right: 22px;
				}
			}
			.common_en_01{
				font-size: 10px;
				color:#c4c4c4;
				font-weight: 700;
			}
		}
	}	
}
.g-nav .g-nav-list .menu_list02{
	margin-bottom: 25px;
	ul{
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	li{
		margin-bottom: 10px;		
		a{
			background-color: #000;
			color:#FFF;
			height: 40px;
			display: -webkit-flex;
			display: -moz-flex;
			display: -ms-flex;
			display: -o-flex;
			display: flex;
			justify-content: center;
			align-items: center;
			font-size: 15px;
			font-weight: 700;
			letter-spacing: 0.05em;
			width: 100%;
		}
		&:last-child{
			width: 100%;
			a{
				background-color: #eeeeee;
				color:#222;
			}			
		}
		&:not(:last-child){
			width: calc(50% - 5px); 
		}
	}
}
.g-nav .g-nav-list .menu_list03{
	li{
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: center;
	}
	a{
		color:#222;
		letter-spacing: 0.05em;
		font-size: 14px;
		text-align: center;
		padding-right: 22px;
		background: url(../images/common/icon_link.png) no-repeat right center;
		display: inline-block;
	}
}
.g-nav .g-nav-list .menu_btn{
	margin-bottom: 20px;
	ul{
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: space-between;
	}
	li{
		width: calc((100% - 20px) / 3); 
		a{
			height: 45px;
			width: 100%;
			background-color: #0eafa0;
			color:#FFF;
			font-weight: 700;
			display: -webkit-flex;
			display: -moz-flex;
			display: -ms-flex;
			display: -o-flex;
			display: flex;
			justify-content: center;
			align-items: center;
			line-height: 1.3;
			text-align: center;
			position: relative;
			-webkit-box-sizing: border-box;
			-moz-box-sizing: border-box;
			box-sizing: border-box;
		}
		&:nth-child(1){
			a{
				background-color: #2ea1c2;
			}
		}
		&:nth-child(2){
			a{
				background-color: #ea6188;
			}
		}
		&:nth-child(3){
			a{
				background-color: #0eafa0;
			}
		}
	}
}

/*========= ボタンのためのCSS ===============*/
button {
		margin: 0;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: transparent;
		color: inherit;
		vertical-align: middle;
		text-align: inherit;
		font: inherit;
		-webkit-appearance: none;
		appearance: none;
}
.openbtn1{		
	cursor: pointer;
	width: 55px;
	height: 55px;
	z-index: 9999;
	position: fixed;
	top:0;
	right:0;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
	align-items: center;
	span{
		transition: 0.3s;	
		display: block;
		&.btn-line{
			border-top: 2px solid #222;
			width: 40px;
		}
		&:nth-child(1){
			margin-bottom: 6px;
		}
		&:nth-child(2){
			margin-bottom: 6px;
		}
		&:nth-child(3){
			width: 18px;
			margin-bottom: 6px;
		}
		&.menu_txt{
			font-size: 11px;
			letter-spacing: 0.05em;
			font-weight: 700;
			color:#222;
		}
	}
	&.active span{			
		&:nth-child(1){
			transform: rotate(-45deg);
			width: 30px;
			position: relative;
			top:3px;
			right:0;
		}
		&:nth-child(2){
			display: none;
		}
		&:nth-child(3){
			transform: rotate(45deg);
			width: 30px;
			position: relative;
			top: -5px;
			left: 0;
		}
		&.menu_txt{
			display: none;
		}
	}
	.menu_txt{
		color:#FFF;
		border: none;
		top:30px;
		font-family: $en01;
		letter-spacing: 0.05em;
		text-align: center;
		line-height: 1.0;
		font-size: 10px;
		left: 0;
		display: block;
		width: 100%;
	}
}
header {
	z-index: 999;
	width: 100%;
	height: 55px;
	position: fixed;
	left:0;
	top:0;
	background: #FFF;
	.hd_logo {
		position: absolute;
		left:10px;
		width: 150px;
		height: 45px;
		display: flex;
		align-items: center;
		a{
			position: relative;
			z-index: 1;
		}
	}
}	

/*----------------------------------------------------------------------------
******************************************************************************
** footer
******************************************************************************
----------------------------------------------------------------------------*/
.pagetop{
		position: fixed;
		right: 2px;
		z-index: 9;
		opacity: 0;
		transform: translateY(100px);
		bottom: 35px !important;
	a{
		width: 30px;
		height: 30px;
		display: block;
		position: relative;
		background: $mainColor02;
		border-radius: 50%;
		transition: 0.3s;
		span{
			position: absolute;
			top: 50%;
			left: 50%;
			content: "";
			width: 8px;
			height: 8px;
			border: 2px solid;
			border-color: #fff #fff transparent transparent;
			transform: rotate(-45deg);
			margin: -2px 0 0 -4px;
		}
	}
	a:hover{
		transition: 0.3s;
		opacity: 0.7;
	}
}
.pagetop.UpMove{
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 0;
	transform: translateY(100px);
  }
  to {
    opacity: 1;
	transform: translateY(0);
  }
}

/*　下に下がる動き　*/
.pagetop.DownMove{
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 1;
	transform: translateY(0);
  }
  to {
  	opacity: 1;
	transform: translateY(100px);
  }
}
footer {
	background: url(../images/common/ft_bf_bk.png) repeat-x left bottom;
    background-size: 103px 26px;
    padding-bottom: 26px;
	display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: center;
	.ft_01{
		padding: 30px 0 30px 0;
		border-bottom: 1px solid #ddd;
		a{
			text-decoration: none;
		}
		&_right_box{
			display: -webkit-flex;
			display: -moz-flex;
			display: -ms-flex;
			display: -o-flex;
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			margin-bottom: 10px;
		}
		&_btn01{
			margin-right: 10px;
		}
		&_btn01,&_btn02{
			width: calc(50% - 5px);
			a{
				position: relative;
				display: -webkit-flex;
				display: -moz-flex;
				display: -ms-flex;
				display: -o-flex;
				display: flex;
				justify-content: center;
				align-items: center;
				width:100%;
				height: 35px;
				line-height: 35px; 
				background-color: #111;
				transition: 0.3s;
				color:#FFF;
				font-weight: 700;
				&:hover{
					opacity: 0.7;
					transition: 0.3s;
				}
			}			
		}
		&_btn03{
			width: 100%;
			a{
				position: relative;
				display: -webkit-flex;
				display: -moz-flex;
				display: -ms-flex;
				display: -o-flex;
				display: flex;
				justify-content: center;
				align-items: center;
				width:100%;
				height: 35px;
				line-height: 35px; 
				background-color: #eeeeee;
				transition: 0.3s;
				color:#222;
				font-weight: 700;
				&:hover{
					opacity: 0.7;
					transition: 0.3s;
				}
			}			
		}
		&_right_link{
			text-align: center;
			padding: 10px 0 0 0;
			a{
				color:#222;
				background: url(../images/common/icon_link.png) no-repeat right center;
				padding-right: 22px;
				display: inline-block;
				transition: 0.3s;
				&:hover{
					opacity: 0.7;
					transition: 0.3s;
				}
			}
		}
		.ft_logo{
			width: 100%;
			max-width: 150px;
			margin-bottom: 15px;
			img{
				width: 100%;
				height: auto;
			}
		}
		&_left{
			margin-bottom: 20px;
			.ft_01_link{
				display: -webkit-flex;
				display: -moz-flex;
				display: -ms-flex;
				display: -o-flex;
				display: flex;
				flex-wrap: wrap;
				ul{
					width: 50%;
					li{
						margin-top: 5px;
						a{
							color:#222;
							transition: 0.3s;
							&:hover{
								opacity: 0.7;
								transition: 0.3s;
							}
						}						
					}
				}
			}			
		}
	}
	address{
		text-align: center;
		padding: 20px 0;
		font-size: 10px;
	}
}
.ft_entry{
	display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: center;
    background-color: #fef2f0;
    position: relative;
	padding: 50px 0;
	overflow: hidden;
	.common_wideinner{
		position: relative;
		z-index: 2;
	}
	&_en{
    z-index: 1;
    position: absolute;
    left: -66px;
    top: 58px;   
		span {
			font-size: 50px;
			font-weight: 700;
			color: #fff;
			letter-spacing: 0.05em;
			line-height: 1.0;
			display: block;
			transform: rotate(90deg);
		}
	} 
	.ft_entry_box{
		background-color: #fff;
		padding: 30px 0;
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		align-items: center;
		justify-content: center;
		.h2_ttl{
			font-family: $en01;
			font-weight: 700;
			font-size: 40px;
			text-align: center;
			margin-bottom: 15px;
			line-height: 1.0;
		}
		.ft_entry_txt{
			font-size: 14px;
			line-height: 1.8;
			letter-spacing: 0.05em;
			text-align: center;
		}
		.ft_entry_btnwrap{
			padding: 0 20px;
		}
	}
}
.ft_entry_btn{
	width: 100%;
	height: 50px;
	margin-top: 20px;
	margin-left: auto;
	margin-right: auto;
	a{
		text-decoration: none;
		background-color: #0eafa0;
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 100%;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		position: relative;
		transition: 0.3s;
		&::before {
			border-top: 1px solid #fff;
			position: absolute;
			top: 50%;
			right: 15px;
			content: "";
			width: 26px;
			height: 1px;
			transition: 0.3s;
		}
		&::after {
			border-top: 1px solid #fff;
			position: absolute;
			top: 50%;
			right: 15px;
			content: "";
			width: 6px;
			height: 1px;
			transform: rotate(30deg);
			margin-top: -2px;
			transition: 0.3s;
		}		
		.btn_txt{
			color: #fff;
			font-size: 16px;
			letter-spacing: 0.05em;
			font-weight: bold;
			position: relative;
			z-index: 2;
			line-height: 1.2;
			text-align: center;
			padding-right: 35px;
		}
		&:hover::before, &:hover::after {
			transition: 0.3s;
			right: 5px;
			border-top: 1px solid #fff;
			z-index: 2;
		}
		.line::before{
			position: absolute;
			top: 0;
			left: 0;
			content: '';
			width: 100%;
			height: 100%;
			background: #222;
			transform: scale(0, 1);
			transform-origin: left top;
			transition: transform .3s;
		} 
		&:hover .line::before{
			transform: scale(1, 1);
		}
	}
	&:nth-child(1){
		a{
			background-color: #2ea1c2;
		}
	}
	&:nth-child(2){
		a{
			background-color: #ea6188;
		}
	}
	&:nth-child(3){
		a{
			background-color: #0eafa0;
		}
	}
}
.ft_bnr{
	padding: 35px 0;
	display: flex;
	justify-content: center;
	.common_inner{
		width: 90%;
	}
	&_entry{
		width: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		background-color: #f5f5f5;
		border: 1px solid #000;
		margin-bottom: 45px;
		padding: 25px 0;
		position: relative;
		&_in{
			width: 100%;
		}
		&_ttl{
			text-align: center;	
			margin-bottom: 15px;
			.ttl_txt{
				font-size: 22px;
				font-weight: 700;
				letter-spacing: 0.1em;	
				position: relative;
				z-index: 2;
			}		
			.ft_bnr_entry_txt{
				position: relative;
				z-index: 2;
				letter-spacing: 0.05em;
			}
		}
		.common_en_01{
			font-size: 44px;
			font-weight: 700;
			letter-spacing: 0.03em;
			color:rgba(221,221,221,0.5);
			line-height: 1.0;
			display: block;
			position: absolute;
			left:0;
			top:40px;
			width: 100%;
		}
		.ft_entry_btn{
			max-width: 270px;
			margin-top: 0;
		}
	}
	&_box{
		&_in{
			a{
				text-decoration: none;
				display: -webkit-flex;
				display: -moz-flex;
				display: -ms-flex;
				display: -o-flex;
				display: flex;
				align-items: center;
				justify-content: center;
				position: relative;
				height: 140px;
				transition: 0.3s;
				overflow: hidden;
				&::before{
					position: absolute;
					top: 0;
					left: 0;
					content: "";
					width: 100%;
					height: 100%;
				}
				&:hover:before{
					transform: scale(1.1);
					transition: 0.3s;
				}
			}	
			&:last-child{
				margin-top: 30px;
			}
		}
	&_in.welfare_block{
		a::before{
			background: url(../images/sub/common_sub_bnr01.jpg) no-repeat center center;
			background-size: cover;
		}
	}
	&_in.faq_block{
		a::before{
			background: url(../images/sub/common_sub_bnr02.jpg) no-repeat center center;
			background-size: cover;
		}
	}
	&_ttl{
		background-color: rgba(255,255,255,0.8);
		text-align: center;
		padding: 15px;
		width: 69%;
		max-width: 400px;
		position: relative;
		z-index: 2;
		.tp_line{
			position: absolute;
			left:0;
			top:0;
			&::before{
				border-top: 2px solid #222;
				position: absolute;
				top: 0;
				left: 0;
				content: "";
				width: 45px;
				height: 2px;
			}
			&::after{
				border-bottom: 2px solid #222;
				position: absolute;
				top: 6px;
				left: -6px;
				content: "";
				width: 15px;
				height: 2px;
				transform: rotate(90deg);
			}
		}
		.bm_line{
			position: absolute;
			right:0;
			bottom:0;
			&::before{
				border-top: 2px solid #222;
				position: absolute;
				bottom: -2px;
				right: 0;
				content: "";
				width: 45px;
				height: 2px;
			}
			&::after{
				border-bottom: 2px solid #222;
				position: absolute;
				bottom: 7px;
				right: -7px;
				content: "";
				width: 15px;
				height: 2px;
				transform: rotate(90deg);
			}
		}
		.ttl_txt{
			font-size: 18px;
			letter-spacing: 0.05em;
			font-weight: 700;
			color:$textColor;
			line-height: 1.4;
		}
		.common_en_01{
			color:#c4c4c4;
			font-size: 10px;
			font-weight: 700;
			letter-spacing: 0.05em;
		}
	}
	}
}
.ft_bnr02{
	width: 100%;
	padding: 50px 5% 35px 5%;
	box-sizing: border-box;
	&_box{
		&_in{
			margin-bottom: 15px;
			a{
				text-decoration: none;
				display: -webkit-flex;
				display: -moz-flex;
				display: -ms-flex;
				display: -o-flex;
				display: flex;
				align-items: center;
				justify-content: center;
				position: relative;
				height: 132px;
				transition: 0.3s;
				overflow: hidden;
				&::before{
					position: absolute;
					top: 0;
					left: 0;
					content: "";
					width: 100%;
					height: 100%;
				}
				&:hover:before{
					transform: scale(1.1);
					transition: 0.3s;
				}
			}		
		}
	&_in.newgraduate_block{
		a::before{
			background: url(../images/common/ft_bnr01_bk.png) no-repeat center center;
			background-size: cover;
		}
	}
	&_in.midcareer_block{
		a::before{
			background: url(../images/common/ft_bnr02_bk.png) no-repeat center center;
			background-size: cover;
		}
	}
	&_in.other_block{
		a::before{
			background: url(../images/common/ft_bnr03_bk.png) no-repeat center center;
			background-size: cover;
		}
	}
	&_in.welfare_block{
		a::before{
			background: url(../images/common/ft_bnr05_bk.png) no-repeat center center;
			background-size: cover;
		}
	}
	&_in.faq_block{
		a::before{
			background: url(../images/common/ft_bnr04_bk.png) no-repeat center center;
			background-size: cover;
		}
	}
	&_ttl{
		background-color: rgba(255,255,255,0.8);
		text-align: center;
		padding: 20px;
		width: 69%;
		position: relative;
		z-index: 2;
		.tp_line{
			position: absolute;
			left:0;
			top:0;
			&::before{
				border-top: 2px solid #222;
				position: absolute;
				top: 0;
				left: 0;
				content: "";
				width: 45px;
				height: 2px;
			}
			&::after{
				border-bottom: 2px solid #222;
				position: absolute;
				top: 6px;
				left: -6px;
				content: "";
				width: 15px;
				height: 2px;
				transform: rotate(90deg);
			}
		}
		.bm_line{
			position: absolute;
			right:0;
			bottom:0;
			&::before{
				border-top: 2px solid #222;
				position: absolute;
				bottom: -2px;
				right: 0;
				content: "";
				width: 45px;
				height: 2px;
			}
			&::after{
				border-bottom: 2px solid #222;
				position: absolute;
				bottom: 7px;
				right: -7px;
				content: "";
				width: 15px;
				height: 2px;
				transform: rotate(90deg);
			}
		}
		.ttl_txt{
			font-size: 18px;
			letter-spacing: 0.05em;
			font-weight: 700;
			color:$textColor;
			line-height: 1.4;
		}
		.common_en_01{
			color:#c4c4c4;
			font-size: 10px;
			font-weight: 700;
			letter-spacing: 0.05em;
			display: block;
		}
	}
	}
}
/*----------------------------------------------------------------------------
******************************************************************************
** 固定ボタン
******************************************************************************
----------------------------------------------------------------------------*/
.rt_btn{
	position: fixed;
	right:0;
	bottom: 70px;
	width: 35px;
	height: 100px;
	z-index: 9;
	a{
		display: block;
		background-color: #0eafa0;
		width: 100%;
		height: 100%;		
		.line{
			&::before{
				background-color: #000;
				position: absolute;
				top: 0;
				left: 0;
				content: "";
				width: 100%;
				height: 0;
				display: block;
				transition:.3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
			}
		}		
		&:hover .line::before{
			height: 100%;
			background-color: #000;
		}
	}
	.common_en_01{
		color:#FFF;
		font-size: 14px;
		line-height: 1.0;
		letter-spacing: 0.1em;
		transform: rotate(90deg);
		display: block;
		position: absolute;
		left: -7px;
		top: 28px;
	}
}
.rt_btn .scroolbox{
	position: absolute;
	left:50%;
	bottom:-35px;
}
.rt_btn .scroolbox .btn-scroll-deco .scroll-line01 {
	transform-origin: left top;
	transform: rotate(90deg);
	background: #fff;
	width: 1px;
	height: 70px;
	display: block;
	animation-name: topscroll;/*名前*/
	animation-duration: 1.8s;/*秒*/
	animation-timing-function: linear;/*動き方*/
	animation-delay: 0;/*遅延（秒）*/
	animation-iteration-count: infinite;/*繰り返し回数（無限はinfinite）*/
	animation-direction: normal;
}
@keyframes topscroll {
 0% {
 transform: scaleY(0);
 transform-origin: top;
}
 49% {
 transform: scaleY(1);
 transform-origin: top;
}
 50% {
 transform: scaleY(1);
 transform-origin: top;
}
 50% {
 transform: scaleY(1);
 transform-origin: bottom;
}
 100% {
 transform: scaleY(0);
 transform-origin: bottom;
}
}
.rt_btn .scroolbox .btn-scroll-deco .scroll-line02 {
	position: absolute;
	left: 0;
	top: 35px;
	transform-origin: left top;
	transform: rotate(90deg);
	background: #0eafa0;
	width: 1px;
	height: 35px;
	display: block;
	animation-name: topscroll02;/*名前*/
	animation-duration: 1.8s;/*秒*/
	animation-timing-function: linear;/*動き方*/
	animation-delay: 0;/*遅延（秒）*/
	animation-iteration-count: infinite;/*繰り返し回数（無限はinfinite）*/
	animation-direction: normal;
	z-index: 1;
}
@keyframes topscroll02 {
 0% {
 transform: scaleY(0);
 transform-origin: top;
}
 49% {
 transform: scaleY(0);
 transform-origin: top;
}
 50% {
 transform: scaleY(0);
 transform-origin: top;
}
 50% {
 transform: scaleY(0);
 transform-origin: top;
}
 100% {
 transform: scaleY(1);
 transform-origin: top;
}
}
/*----------------------------------------------------------------------------
******************************************************************************
** top
******************************************************************************
----------------------------------------------------------------------------*/
.top_main_bg{
	margin-top: 55px;
	height:400px;
	height: 80vw;
	background-color: #f5f5f5;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	padding-top: 20px;
	.top_catch{
		text-align: center;
		.top_catch_01{
			font-size:18px;
			letter-spacing: 0.1em;
			font-weight: 700;
			line-height: 1.4;
			margin-bottom: 5px;
			span{
				display: block;
				&:last-child{
					margin-left: -1em;
				}
			}
		}
		.top_catch_logo{
			width: 50px;
			margin: 0 auto;
			img{
				width: 100%;
			}
		}
		.common_en_01{
			font-size: 12px;
			color:#c4c4c4;
			letter-spacing: 0.1em;
			font-weight: 700;
			display: block;
		}
	}
	.top_main_img01{
		position: absolute;
		top: 13%;
    	left: 5%;
		width: 20vw;
		z-index: 2;
		&::before{
			position: absolute;
			top: -2vw;
			right: -2vw;
			content: "";
			width: 20vw;
			height: 20vw;
			background-color: $mainColor02;
			z-index: -1;
		}
	}
	.top_main_img02{
		position: absolute;
		top:5%;
		left:40%;
		width: 20vw;
		z-index: 2;
	}
	.top_main_img03{
		position: absolute;
		top:5%;
		right:5%;
		width: 20vw;
		z-index: 2;
		&::before{
			position: absolute;
			top: 2vw;
			right: -2vw;
			content: "";
			width: 20vw;
			height: 20vw;
			background-color: $mainColor02;
			z-index: -1;
		}
	}
	.top_main_img04{
		position: absolute;
		bottom:5%;
		left:25%;
		width: 20vw;
		z-index: 2;
	}
	.top_main_img05{
		position: absolute;
		bottom: 3%;
    	right: 26%;
		width: 20vw;
		z-index: 2;
		&::before{
			position: absolute;
			top: -2vw;
			right: -2vw;
			content: "";
			width: 20vw;
			height: 20vw;
			background-color: #f39800;
			z-index: -1;
		}
	}
	.bk01_01{
		background-color: #f4d21f;
		width: 10vw;
		height: 10vw;	
		position: absolute;
		left:5%;
		bottom: 21%;
	}
	.bk01_02{
		background-color: #f4d21f;
		width: 7vw;
		height: 7vw;
		position: absolute;
		left: 47%;
		bottom: 18%;
	}
	.bk01_03{
		background-color: #f4d21f;
		width: 5vw;
		height: 5vw;
		position: absolute;
		top: 23%;
    	right: 33%;
		z-index: 2;
	}
	.bk02_01{
		border: 1px solid $mainColor02;
		width: 5vw;
		height: 5vw;
		position: absolute;
		bottom: 19%;
    	left: 12%;
	}
	.bk02_02{
		border: 1px solid #f39800;
		width: 7vw;
		height: 7vw;
		position: absolute;
		top: 20%;
    	left: 31%;
	}
	.bk02_03{
		border: 1px solid $mainColor02;
		width: 10vw;
		height: 10vw;
		position: absolute;		
		top: 13%;
		right: 27%;
	}
	.bk02_04{
		border: 1px solid #f4d21f;
		width: 7vw;
		height: 7vw;
		position: absolute;
		bottom: 30%;
    	right: 8%;
	}
}
.top_content01_bg{
	padding: 50px 0 0 0;
	position: relative;
	.common_wideinner{
		margin-left: auto;
		margin-right: auto;
	}
	.common_h2_ttl{
		width: 88%;
		margin-left: auto;
		margin-right: auto;
		margin-top: -33px;
	}
	&::before{
		    background-color: #fef2f0;
			position: absolute;
			bottom: 40px;
			left: 0;
			content: "";
			width: 93%;
			height: 70%;
			z-index: -1;
	}
	.top_content01_en{
		font-size: 50px;
		font-weight: 700;
		color: #f3f3f3;
		letter-spacing: 0.05em;
		line-height: 1.0;
		z-index: -1;
		margin-left: -0.1em;
	}
	.top_content01_box_in{
		position: relative;
	}
	.top_content01_box_in:first-child{
		margin-bottom: 60px;
		margin-right: 30px;
	}
	.top_content01_box_in:last-child{
		margin-left: 30px;
	}
	.top_content01_ttl{
		position: absolute;
		left:0;
		bottom: -30px;
		width: 90%;
		.top_content01_ttl_in{
			display: -webkit-flex;
			display: -moz-flex;
			display: -ms-flex;
			display: -o-flex;
			display: flex;
			align-items: center;	
			flex-wrap: wrap;
			position: relative;
			z-index: 2;
		}
		.h3_ttl{
			font-size: 20px;
			font-weight: 700;
			letter-spacing: 0.1em;
			color:$textColor;
			margin-right: 10px;
			line-height: 1.4;
		}
		.common_en_01{
			color:#c4c4c4;
			font-size: 12px;
			font-weight: 700;
			letter-spacing: 0.1em;
			line-height: 1.4;
		}
		a{
			text-decoration: none;
			background-color: #fff;
			display: -webkit-flex;
			display: -moz-flex;
			display: -ms-flex;
			display: -o-flex;
			display: flex;
			align-items: center;
			width: 100%;
			padding: 15px 40px 15px 15px;
			-webkit-box-sizing: border-box;
			-moz-box-sizing: border-box;
			box-sizing: border-box;
			border-left: 4px solid #222;
			position: relative;
			.line{
				&::before{
					position: absolute;
					top: 0;
					left: 0;
					content: '';
					width: 100%;
					height: 100%;
					background: #222;
					transform: scale(0, 1);
					transform-origin: left top;
					transition: transform .3s;
				}
			}
			&::before{
				border-top: 1px solid #222;
				position: absolute;
				top: 50%;
				right: 15px;
				content: "";
				width: 26px;
				height: 1px;
				transition: 0.3s;
			}
			&::after{
				border-top: 1px solid #222;
				position: absolute;
				top: 50%;
				right: 15px;
				content: "";
				width: 6px;
				height: 1px;
				transform: rotate(30deg);
				margin-top: -2px;
				transition: 0.3s;
			}
			&:hover::before,&:hover::after{
				transition: 0.3s;
				right: 10px;
				border-top: 1px solid #fff;
				z-index: 2;
			}
			&:hover .line::before{
				transform: scale(1, 1);
			}
			&:hover .h3_ttl{
				color:#FFF;
			}
		}
	}
	.top_content01_bnr{
		margin-top: 80px;
		width: 100%;
		 a{
			border: 1px solid #222;
			text-decoration: none;
			display: block;
			 height: 80px;
			 background-color: #fff;
			 display: -webkit-flex;
			 display: -moz-flex;
			 display: -ms-flex;
			 display: -o-flex;
			 display: flex;
			 align-items: center;
			 flex-wrap: wrap;
			 position: relative;
			 color:$textColor;
			 .top_content01_img02{
				 background: url(../images/top/top_recruit_img03.jpg) no-repeat center center;
				 background-size: cover;
				 height: 78px;
				 width: 29.5%;
				 position: relative;
				 z-index: 2;
			 }
			 .top_content01_ttl02{
				 position: relative;
				 z-index: 2;
				 width: 70.5%;
				 padding-left: 15px;
				 -webkit-box-sizing: border-box;
				 -moz-box-sizing: border-box;
				 box-sizing: border-box;
				 display: -webkit-flex;
				 display: -moz-flex;
				 display: -ms-flex;
				 display: -o-flex;
				 display: flex;
				 align-items: center;
				 .h3_ttl{
					font-size: 20px;
					font-weight: 700;
					letter-spacing: 0.1em;	
					line-height: 1.4;
				}
				.sub_txt{
					font-size: 13px;
					font-weight: 700;
					letter-spacing: 0.1em;
					line-height: 1.4;
				}
			 }
			 &::before{
				border-top: 1px solid #222;
				position: absolute;
				top: 50%;
				right: 15px;
				content: "";
				width: 26px;
				height: 1px;
				transition: 0.3s;
			}
			&::after{
				border-top: 1px solid #222;
				position: absolute;
				top: 50%;
				right: 15px;
				content: "";
				width: 6px;
				height: 1px;
				transform: rotate(30deg);
				margin-top: -2px;
				transition: 0.3s;
			}
			&:hover::before,&:hover::after{
				transition: 0.3s;
				right: 5px;
				border-top: 1px solid #fff;
				z-index: 2;
			}
			 .line{
				&::before{
					position: absolute;
					top: 0;
					left: 0;
					content: '';
					width: 100%;
					height: 100%;
					background: #222;
					transform: scale(0, 1);
					transform-origin: left top;
					transition: transform .3s;
				}
			}
			 &:hover .line::before{
				transform: scale(1, 1);				 
			}
			 &:hover .h3_ttl,&:hover .sub_txt{
				 color: #FFF;
			 }
		}
	}
}
.top_content02_bg{
	padding: 70px 0;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
	.common_h2_ttl{
		text-align: center;
		margin-bottom: 0;
	}
	.top_content02_en{
		font-size: 50px;
		font-weight: 700;
		color: #f3f3f3;
		letter-spacing: 0.05em;
		line-height: 1.0;
		z-index: -1;
		text-align: center;
		position: relative;
		top: -0.45em;
	}
	.top_content02_ttl01{
		font-size: 20px;
		font-weight: 700;
		font-family: $en01;
		position: relative;
		z-index: 2;
		white-space: nowrap;
		line-height: 1.0;
		margin-bottom: 20px;
		display: block;
		width: 100%;
		text-align: center;
		margin-top: -1vw;
	}
	.top_content02_box{
		position: relative;
		top: -27px;
		margin-bottom: -27px;
	}
	.top_content02_img{
		margin-bottom: 20px;
	}
	.top_content02_img img{
		width: 100%;
	}	
	.top_content02_ttl02{
		font-size: 18px;
		font-weight: 700;
		letter-spacing: 0.1em;	
		line-height: 1.4;
		margin-bottom: 15px;
		padding-right: 50px;
		position: relative;
		display: inline-block;
		&::after{
			border-top: 1px solid #222;
			position: absolute;
			top: 50%;
			right: 0;
			content: "";
			width: 40px;
			height: 1px;
		}
	}
	.top_content02_txt{
		font-size: 14px;
		line-height: 1.8;
		letter-spacing: 0.05em;
	}
	.top_content02_txt:not(:last-child){
		margin-bottom: 10px;
	}
}
.top_content03_bg{
	padding: 70px 0 40px 0;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
	background-color: #fef2f0;
	position: relative;
	overflow: hidden;
	.common_wideinner{
		position: relative;
		z-index: 2;
	}
	.common_h2_ttl{
		text-align: center;
	}
	.top_content03_en{	
		z-index: 1;
		position: absolute;
		right: -64px;
    	top: 54px;
		span{
			font-size: 50px;
			font-weight: 700;
			color: #fff;
			letter-spacing: 0.05em;
			line-height: 1.0;
			display: block;
			transform: rotate(90deg);
		}
	}
	.top_content03_txt01{
		font-size: 16px;
		letter-spacing: 0.05em;
		/*text-align: center;*/
		margin-bottom: 20px;
	}
	.top_content03_txt02{
		font-size: 14px;
		letter-spacing: 0.05em;
	}
	.top_content03_box_in{
		margin-bottom: 30px;
		a{
			display: block;
			text-decoration: none;	
			transition: 0.3s;
			&:hover{
				opacity: 0.7;
				transition: 0.3s;
			}
		}
	}
	.top_content03_ttl{
		background-color: #fff;
		padding: 95px 0 20px 0;
		margin-bottom: 10px;
		text-align: center;
		position: relative;
		.h3_ttl{
			font-size: 22px;
			letter-spacing: 0.1em;
			font-weight: bold;
			line-height: 1.0;
			color:#222;
			margin-bottom: 5px;
		}
		.common_en_01{
			font-size: 12px;
			color:#c4c4c4;
			letter-spacing: 0.1em;
			font-weight: bold;
			line-height: 1.0;
		}		
	}
	.top_content03_box .top_content03_ttl:before{
		position: absolute;
		top: 50%;
		left: 50%;
		content: "";
	}
	.top_content03_box .top_content03_box_in:nth-child(1) .top_content03_ttl:before{
		background: url(../images/common/icon_work01.png) no-repeat center top;
		background-size: 72px 60px;
		width: 72px;
		height: 60px;
		margin-left: -36px;
		margin-top: calc(-30px - 25px);
	}
	.top_content03_box .top_content03_box_in:nth-child(2) .top_content03_ttl:before{
		background: url(../images/common/icon_work02.png) no-repeat center top;
		background-size: 57px 60px;
		width: 57px;
		height: 60px;
		margin-left: -22px;
		margin-top: calc(-29px - 25px);
	}
	.top_content03_box .top_content03_box_in:nth-child(3) .top_content03_ttl:before{
		background: url(../images/common/icon_work03.png) no-repeat center top;
		background-size: 91px 36px;
		width: 91px;
		height: 36px;
		margin-left: -46px;
		margin-top: calc(-18px - 25px);
	}
	.top_content03_box .top_content03_box_in:nth-child(4) .top_content03_ttl:before{
		background: url(../images/common/icon_work04.png) no-repeat center top;
		background-size: 56px 60px;
		width: 56px;
		height: 60px;
		margin-left: -28px;
		margin-top: calc(-30px - 25px);
	}
}
.top_content04{
	&_bg{
		position: relative;
		z-index: 2;
		padding: 70px 0;
		.common_wideinner{
			margin-left: auto;
			margin-right: auto;
		}
		.common_h2_ttl{
			position: relative;
			z-index: 2;
			margin-bottom: 25px;
			margin-top: -35px;
		}
		&::before{
			background-color: #fff;
			width: 96%;
			height: 100%;
			position: absolute;
			top: 0;
			left: 0;
			content: "";
			z-index: -1;
		}
	}
	&_disc{
		margin-bottom: 20px;
	}
	&_img{
		margin-bottom: 30px;
	}
	&_txt01{
		font-size: 16px;
		line-height: 2.0;
	}
	&_en {
		font-size: 50px;
		font-weight: 700;
		color: #f3f3f3;
		letter-spacing: 0.05em;
		line-height: 1.0;
		z-index: -1;
		/*margin-left: -0.65em;*/
		margin-left: -0.7em;
	}
}
.top_content05{
	&_box_in{
			a{
				text-decoration: none;
				display: -webkit-flex;
				display: -moz-flex;
				display: -ms-flex;
				display: -o-flex;
				display: flex;
				align-items: center;
				justify-content: center;
				position: relative;
				height: 250px;
				transition: 0.3s;
				overflow: hidden;
				&::before{
					position: absolute;
					top: 0;
					left: 0;
					content: "";
					width: 100%;
					height: 100%;
				}
				&:hover:before{
					transform: scale(1.1);
					transition: 0.3s;
				}
			}		
		}
	&_box_in.faq_block{
		a::before{
			background: url(../images/top/top_faq_img01.jpg) no-repeat center center;
			background-size: cover;
		}
	}
	&_box_in.company_block{
		a::before{
			background: url(../images/top/top_company_img01.jpg) no-repeat center center;
			background-size: cover;
		}
	}
	&_ttl{
		background-color: rgba(255,255,255,0.8);
		text-align: center;
		padding: 20px;
		width: 70%;
		position: relative;
		z-index: 2;
		.tp_line{
			position: absolute;
			left:0;
			top:0;
			&::before{
				border-top: 2px solid #222;
				position: absolute;
				top: 0;
				left: 0;
				content: "";
				width: 50px;
				height: 2px;
			}
			&::after{
				border-bottom: 2px solid #222;
				position: absolute;
				top: 11px;
				left: -11px;
				content: "";
				width: 25px;
				height: 2px;
				transform: rotate(90deg);
			}
		}
		.bm_line{
			position: absolute;
			right:0;
			bottom:0;
			&::before{
				border-top: 2px solid #222;
				position: absolute;
				bottom: -2px;
				right: 0;
				content: "";
				width: 50px;
				height: 2px;
			}
			&::after{
				border-bottom: 2px solid #222;
				position: absolute;
				bottom: 11px;
				right: -13px;
				content: "";
				width: 25px;
				height: 2px;
				transform: rotate(90deg);
			}
		}
		.h2_ttl{
			font-size: 24px;
			letter-spacing: 0.1em;
			font-weight: 700;
			color:#222;
			line-height: 1.4;
		}
		.common_en_01{
			color:#c4c4c4;
			font-size: 14px;
			font-weight: 700;
		}
	}
}

/*----------------------------------------------------------------------------
******************************************************************************
** sub
******************************************************************************
----------------------------------------------------------------------------*/
.common_sub_ttl01{
	font-size: 24px;
	text-align: center;
	position: relative;
	font-weight: 700;
	letter-spacing: 0.1em;
	padding-bottom: 15px;
	margin-bottom: 25px;
	line-height: 1.3;
	&::after{
		border-bottom: 2px solid $mainColor02;
		position: absolute;
		bottom: 0;
		left:50%;
		margin-left: -13px;
		width: 26px;
		height: 2px;
		content: "";
	}
}
.common_sub_ttl02{
	font-size: 18px;
	position: relative;
	font-weight: 700;
	letter-spacing: 0.1em;
	margin-bottom: 5px;
	padding-left: 1em;
	line-height: 1.4;
	&::before{
		color: $mainColor02;
		position: absolute;
		top: 0;
		left: 0;
		content: "・";
	}
}
.common_sub_ttl03{
	font-size: 15px;
	position: relative;
	font-weight: 700;
	letter-spacing: 0.1em;
	margin-bottom: 5px;
	padding-left: 15px;
	line-height: 1.4;
	&::before{
		border-top: 2px solid $mainColor02;
		position: absolute;
		top: 10px;
		left: 0;
		content: "";
		width: 7px;
		height: 2px;
	}
}
.common_sub_ttl04{
	font-size: 15px;
	position: relative;
	font-weight: 700;
	letter-spacing: 0.1em;
	margin-bottom: 5px;
	padding-left: 18px;
	line-height: 1.4;
	&::before{
		color: $mainColor02;
		position: absolute;
		top: 0;
		left: 0;
		content: "・";
		font-size: 18px;
	}
}
.common_submain{
	&_bg{
		margin-top: 55px;
		width: 100%;
		height: 290px;
		position: relative;
		&::before{
			background-color: #f5f5f5;
			position: absolute;
			bottom: 0;
			left:0;		
			content: "";
			width: 92%;
			height: 205px;
		}
		.common_wideinner{
			width: 90%;
		}
	}
	&_cover{
		display: flex;
		justify-content: center;
		align-items: flex-end;
		position: relative;
		z-index: 2;
		height: 100%;
	}
	&_img{
		width: 92%;
    	height: 200px;
		position: absolute;
		top: 0;
		right:0;	
	}
	&_deco{
		margin-left: -15px;
		color:rgba(255,255,255,0.3);
		font-size: 66px;
		font-weight: 700;
		font-family: $en01;
		line-height: 0.8;
	}
	&_ttl{
		margin-bottom: 25px;
		.h1_ttl{			
			font-size: 24px;
			letter-spacing: 0.1em;
			font-weight: 700;
			line-height: 1.2;
		}
		.common_en_01{
			font-size: 10px;
			letter-spacing: 0.05em;
			font-weight: 700;
			line-height: 1.0;
			margin-bottom: 5px;
			display: block;
		}
	}
}
.common_bread {
	padding: 20px 0;
	display: flex;
	justify-content: center;
}
.common_bread .common_inner{
	width: 90%;
}
.common_bread ul {
	display: flex;
	flex-wrap: wrap;
}
.common_bread li {
	font-size: 12px;
	letter-spacing: 0.05em;
	position: relative;
}
.common_bread li:not(:first-child) {
	padding-left: 14px;
}
.common_bread li:not(:last-child) {
	margin-right: 4px;
}
.common_bread li:not(:first-child)::before {
	position: absolute;
	top: 8px;
	left: 0;
	content: "";
	width: 10px;
	height: 1px;
	border-bottom: 1px solid $mainColor02;
}
.common_bread a {
	color: $mainColor02;
	text-decoration: none;
	font-size: 12px;
	letter-spacing: 0.05em;
	transition: 0.3s;
}
.common_bread a:hover {
	transition: 0.3s;
	opacity: 0.7;
}

/*----------------------------------------------------------------------------
******************************************************************************
** newgraduate / midcareer / other / 共通
******************************************************************************
----------------------------------------------------------------------------*/
.common_sub_message{
	&_bg{
		padding: 35px 0 50px 0;
		display: flex;
		justify-content: center;
		.common_inner{
			width: 90%;
		}
	}
	&_img{
		margin-bottom: 20px;
		img{
			width: 100%;
		}
	}
	&_ttl{
		font-size: 16px;
		font-weight: 700;
		margin-bottom: 15px;
	}
	&_txt{
		line-height: 1.8;
		font-size: 13px;
		&:not(:last-child){
			margin-bottom: 15px;
		}
	}
}
.common_sub_flow{
	&_bg{
		padding: 45px 0 50px 0;
		background-color: #fef2f0;
		display: flex;
		justify-content: center;
		.common_inner{
			width: 90%;
		}
	}
	&_lead{
		line-height: 1.8;
		font-size: 13px;
		margin-bottom: 25px;
	}
	&_lead_img{
		margin-bottom: 40px;
	}
	&_box{
		background-color: #fff;
		padding: 20px;		
	}
	&_list{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		padding-bottom: 30px;		
		position: relative;
		&::after{
			border-left: 2px dotted $mainColor02;
			width: 2px;
			height: 100%;
			content: "";
			position: absolute;
			left: 46px;
			top:0;
		}
		&:last-child{
			padding-bottom: 0;
		}
		&:last-child::after{
			content: inherit;
		}
	}
	&_sp{
		width: calc(100% - 105px);
		.h3_ttl{			
			font-size: 18px;
			font-weight: 700;
			letter-spacing: 0.1em;
			line-height: 1.3;
			margin-bottom: 10px;
		}
	}
	&_img{
		width: 90px;
		margin-right: 15px;
		padding: 5px 0;
		box-sizing: border-box;
		background: #fff;
		position: relative;
		z-index: 2;
		img{
			width: 100%;
		}
		.common_en_01{
			color:#c4c4c4;
			font-size: 22px;
			text-align: center;
			font-weight: 500;
			letter-spacing: 0.03em;
			display: block;
			line-height: 1.0;
		}
	}
	&_disc{
		background-color: #f5f5f5;
		padding: 10px 15px;
		display: flex;
		align-items: center;
	}
	&_txt{
		width: 100%;
		font-size: 12px;
		line-height: 1.8;
	}
	&_box02{
		margin-top: 40px;
		display: flex;
		flex-wrap: wrap;
		&_img{
			margin-top: 20px;
			order: 1;
			width: 100%;
		}
		&_disc{
			order: 0;
			width: 100%;
		}
	}
}
.common_sub_training{
	&_bg{
		padding: 45px 0 50px 0;
		display: flex;
		justify-content: center;
		.common_inner{
			width: 90%;
		}
	}
	&_lead{
		font-size: 13px;
		margin-bottom: 25px;
		line-height: 1.8;
	}
	&_box:not(:last-child){
		margin-bottom: 35px;
	}
	&_flex{
		margin-top: 10px;
	}
	&_img{
		margin-top: 20px;
		text-align: center;
	}
	&_check{
		background-color: #f5f5f5;
		padding: 20px;
		box-sizing: border-box;
		margin-top: 10px;
	}
	&_list{
		ul{
			li{				
				padding-left: 22px;
				font-size: 14px;
				font-weight: 700;
				line-height: 1.4;
				margin-bottom: 10px;
				position: relative;
				&::after{
					background: url(../images/common/icon_check.png) no-repeat left top;
					background-size: 15px 9px;
					position: absolute;
					left:0;
					top:6px;
					content: "";
					width: 15px;
					height: 9px;
				}
			}
		}
	}
	&_etc{
		font-size: 14px;
		font-weight: 700;
		text-align: right;
		display: block;
		margin-top: -20px;
	}
	&_txt{
		font-size: 13px;
		left: 1.8em;
	}
}
.common_sub_voice{
	&_bg{
		padding: 45px 0 50px 0;
		background-color: #fef2f0;
		display: flex;
		justify-content: center;
	}
	&_inner{
		width: 90%;
	}
	&_slider{
		&_sn{
			background-color: #fff;
			padding: 20px;
			.common_sub_ttl04{
				margin-top: 20px;
				padding-bottom: 5px;
				border-bottom: 1px solid $mainColor02;
			}
			&_main{
				display: flex;
				justify-content: space-between;
				align-content: center;
			}
			&_img{
				width: 40%;
				img{
					width: 100%;
				}
			}
			&_disc{
				width: calc(60% - 15px);
				padding-top: 5px;
			}
			&_name{
				font-size: 14px;
				font-weight: 700;
				margin-bottom: 5px;
			}
			&_year{
				background-color: #f5f5f5;
				display: inline-block;
				font-size: 11px;
				font-weight: 700;
				letter-spacing: 0.05em;
				padding: 5px 10px;
				line-height: 1.4;
			}
			.common_txt01{
				font-size: 12px;
				line-height: 1.8;
				letter-spacing: 0;
			}
		}
		.slide-arrow{
			position: absolute;
			bottom:-55px;
			margin-top: -25px;
			cursor: pointer;
			width: 35px;
			img{
				width: 100%;
			}
		}
		.prev-arrow{
			left:30px;
		}
		.next-arrow{
			right:30px;
		}
		.slick-dots {
  			bottom: -55px;
			width: 50%;
			left: 50%;
  			transform: translateY(0) translateX(-50%);
		}
		.slick-dots li {
		 	width: 18px;
		}
		.slick-dots li button {
			font-size: 0;
			line-height: 0;
			display: block;
			width: 10px;
			height: 10px;
			border-radius: 50%;
			cursor: pointer;
			color: transparent;
			border: 0;
			outline: none;
			background: #f8c6d1;
			padding: 0;
		}
		.slick-dots li button:before {
			content: "";
		}
		.slick-dots li.slick-active button {
			background-color: #ea6188;
		}
		.slick-dots li button:hover, .slick-dots li button:focus {
			outline: none;
		}
		.slick-dots li button:hover:before, .slick-dots li button:focus:before {
			opacity: 1;
		}
	}
}
.common_sub_recruitment{
	&_bg{
		background: url(../images/sub/common_sub_recruitment_bk.jpg) no-repeat center top;
		background-size: cover;
		padding: 50px 0 55px 0;
		display: flex;
		justify-content: center;
		.common_inner{
			width: 70%;
		}
	}
	&_slider{
		margin: 0 -15px;
		&_sn{
			a{
				text-decoration: none;
				color:#000;
				transition: 0.3s;
				&:hover{
					opacity: 0.7;
					transition: 0.3s;
				}
			}
			background-color: #fff;
			margin: 0 15px;			
			box-sizing: border-box;
		}	
		.slide-arrow{
			position: absolute;
			top:50%;
			margin-top: -18px;
			cursor: pointer;
			width: 35px;
		}
		.prev-arrow{
			left:-30px;
		}
		.next-arrow{
			right:-30px;
		}
	}
	&_in{
			padding: 15px 15px 10px 15px;
		}
	&_ttl{
		background-color: #000;
		color: #fff;
		font-size: 16px;
		letter-spacing: 0.05em;
		text-align: center;
		padding: 10px 0;		
	}
	&_txt{
		margin-bottom: 10px;
	}
	&_btn{
		width: 100%;
		height: 50px;
		margin: 30px auto 0 auto;
		a{
			text-decoration: none;
			background-color: #0eafa0;
			display: -webkit-flex;
			display: -moz-flex;
			display: -ms-flex;
			display: -o-flex;
			display: flex;
			align-items: center;
			justify-content: center;
			width: 100%;
			height: 100%;
			-webkit-box-sizing: border-box;
			-moz-box-sizing: border-box;
			box-sizing: border-box;
			position: relative;
			transition: 0.3s;
			&::before {
				border-top: 1px solid #fff;
				position: absolute;
				top: 50%;
				right: 15px;
				content: "";
				width: 26px;
				height: 1px;
				transition: 0.3s;
			}
			&::after {
				border-top: 1px solid #fff;
				position: absolute;
				top: 50%;
				right: 15px;
				content: "";
				width: 6px;
				height: 1px;
				transform: rotate(30deg);
				margin-top: -2px;
				transition: 0.3s;
			}		
			.btn_txt{
				color: #fff;
				font-size: 16px;
				letter-spacing: 0.05em;
				font-weight: bold;
				position: relative;
				z-index: 2;
				line-height: 1.2;
				text-align: center;
				padding-right: 35px;
			}
			&:hover::before, &:hover::after {
				transition: 0.3s;
				right: 5px;
				border-top: 1px solid #fff;
				z-index: 2;
			}
			.line::before{
				position: absolute;
				top: 0;
				left: 0;
				content: '';
				width: 100%;
				height: 100%;
				background: #222;
				transform: scale(0, 1);
				transform-origin: left top;
				transition: transform .3s;
			} 
			&:hover .line::before{
				transform: scale(1, 1);
			}
		}			
	}	
}
.common_sub_recomend{
	&_bg{
		padding: 45px 0 50px 0;
		display: flex;
		justify-content: center;
		.common_sub_training_img{
			margin-bottom: 20px;
		}
		.common_inner{
			width: 90%;
		}
	}
	&_ttl{
		text-align: center;
		position: relative;
		margin-bottom: 40px;
		.h2_ttl{			
			font-size: 24px;
			letter-spacing: 0.1em;
			line-height: 1.4;
			display: inline-block;
			padding: 0 30px;
			z-index: 2;
			position: absolute;
			top:50%;
			left:50%;
			-webkit-transform: translate(-50%, -50%);
 			transform: translate(-50%, -50%);
			white-space: nowrap;			
			&::before{
				border-top: 2px solid #000;
				position: absolute;
				bottom:10px;
				left: 0;
				content: "";
				width: 30px;
				height: 2px;
				transform: rotate(55deg);
			}
			&::after{
				border-top: 2px solid #000;
				position: absolute;
				bottom:10px;
				right: 0;
				content: "";
				width: 30px;
				height: 2px;
				transform: rotate(-55deg);
			}
		}
		.common_en_01{
			color:#f3f3f3;
			font-size: 54px;
			/*font-size: 14.6vw;*/
			font-weight: 700;
			letter-spacing: 0.05em;
			position: relative;
			top:15px;
			left:-5%;
			line-height: 1.0;
			display: block;
			text-align: center;
			width: 110%;
		}
	}
	&_lead{
		font-size: 13px;
		line-height: 1.8;
		margin-bottom: 20px;
	}
}

.common_sub_works{
	&_bg{
		background-color: #fef2f0;
		padding: 45px 0 20px 0;
		display: flex;
		justify-content: center;
		.common_inner{
			width: 90%;
		}
	}
	&_lead{
		font-size: 13px;
		line-height: 1.8;
		margin-bottom: 20px;
	}
	&_box_sn{
		margin-bottom: 30px;
		text-align: center;
	}
	&_txt{
		line-height: 1.8;
		margin-top: 10px;
		text-align: left;
	}
}

/*----------------------------------------------------------------------------
******************************************************************************
** newgraduate
******************************************************************************
----------------------------------------------------------------------------*/
.newgraduate .common_submain_img{
	background: url(../images/newgraduate/newgraduate_mainimg.jpg) no-repeat left top;
	background-size: cover;
}

/*----------------------------------------------------------------------------
******************************************************************************
** midcareer
******************************************************************************
----------------------------------------------------------------------------*/
.midcareer .common_submain_img{
	background: url(../images/midcareer/midcarrer_mainimg.jpg) no-repeat center center;
	background-size: cover;
}
.midcareer_content01{
	&_bg{
		background-image:  url(../images/midcareer/midcarrer_img01.jpg);
    	background-repeat: no-repeat;
    	background-position: center center;
    	min-height: 200px;
	}
}

/*----------------------------------------------------------------------------
******************************************************************************
** other
******************************************************************************
----------------------------------------------------------------------------*/
.other .common_submain_img{
	background: url(../images/other/other_mainimg.jpg) no-repeat center center;
	background-size: cover;
}
.other_content01{
	&_bg{
		background-image:  url(../images/other/other_img05.jpg);
    	background-repeat: no-repeat;
    	background-position: center center;
    	min-height: 200px;
	}
}

/*----------------------------------------------------------------------------
******************************************************************************
** overview
******************************************************************************
----------------------------------------------------------------------------*/
.overview .common_submain_img{
	background: url(../images/overview/overview_mainimg.jpg) no-repeat center center;
	background-size: cover;
}
.overview_content01{
	&_bg{
		padding: 35px 0 50px 0;
		display: flex;
		justify-content: center;
	}
	&_box{
		margin-bottom: 30px;
	}
	&_img{
		margin-bottom: 20px;
	}
	&_tbl{
		table{
			width: 100%;
			border: 1px solid #dddddd;
			th{
				border: 1px solid #dddddd;
				background-color: #f5f5f5;
				padding: 10px;
				width: 90px;
				box-sizing: border-box;
				vertical-align: top;
			}
			td{
				border: 1px solid #dddddd;
				padding: 10px;
				width: calc(100% - 90px);
				box-sizing: border-box;
				vertical-align: top;
				word-break: break-all;
				a{
					color: #000;
				}
			}
		}
	}
	&_ttl{
		font-size: 15px;
		letter-spacing: 0.05em;
		margin-bottom: 30px;
		padding-bottom: 15px;
		border-bottom: 1px solid #000;
	}
	&_ttl02{
		font-size: 16px;
		position: relative;
		font-weight: 700;
		letter-spacing: 0.05em;
		margin-bottom:5px;
		padding-left: 1.3em;
		line-height: 1.4;
		&::before{
			color: $mainColor02;
			position: absolute;
			top: 0;
			left: 0;
			content: "・";
		}
	}
	&_txt{
		line-height: 1.8;
		font-size: 13px;
	}
}
.overview_content02{
	&_bg{
		padding: 45px 0 50px 0;
		background-color: #fef2f0;
		display: flex;
		justify-content: center;
	}
	&_box{
		background-color: #fff;
		padding: 10px 20px 35px 20px;
	}
	&_btn{
		margin: 40px auto 0 auto;
		width: 100%;
		height: 50px;
		a{
			display: flex;
			justify-content: center;
			align-items: center;
			border: 1px solid #000;
			text-decoration: none;
			height: 100%;
			width: 100%;
			box-sizing: border-box;
			transition: 0.6s;
			span{
				font-size: 16px;
				letter-spacing: 0.05em;
				font-weight: 700;
				background: url(../images/common/icon_mark01.png) no-repeat left center;
				background-size: 13px 13px;
				padding-left: 20px;
				color:$textColor;
			}
			&:hover{
				opacity: 0.7;
				transition: 0.6s;
			}
		}
	}
	&_tbl{
		table{
			tbody,thead,tfoot,tr,th,td {
				display: block;
				width: 100%;
				box-sizing: border-box;
			}
			th{
				padding: 15px 10px 0 10px;
				vertical-align: top;
				text-align: center;
			}
			td{
				border-bottom: 1px solid #dddddd;
				padding: 10px 10px 15px 10px;
				line-height: 1.8;
				vertical-align: top;
			}
		}
	}
}

/*----------------------------------------------------------------------------
******************************************************************************
** faq
******************************************************************************
----------------------------------------------------------------------------*/
.faq .common_submain_img{
	background: url(../images/faq/faq_mainimg.jpg) no-repeat center center;
	background-size: cover;
}
.faq_content01{
	&_bg{
		padding: 45px 0 0 0;
		display: flex;
		justify-content: center;
	}
	&_lead{
		letter-spacing: 0.05em;
		margin-bottom: 30px;
	}
	&_que{
		position: relative;
		padding-left: 35px;
		padding-right: 20px;
		font-weight: 700;
		font-size: 15px;
		line-height: 1.4;
		cursor: pointer;
		&::before{
			position: absolute;
			top: 0;
			left: 0;
			content: "Q.";
			font-family: $en01;
			font-size: 22px;
			letter-spacing: 0.03em;
			font-weight: 700;
		}
		span{
			background: url(../images/faq/aco_open.png) no-repeat left top;
			background-size: 15px 14px;
			position: absolute;
			margin-top: -5px;
			top: 50%;
			right: 0;
			content: "";
			width: 15px;
			height: 14px;
			margin-top: -7px;
		}	
	}
	&_ans{
		margin-top: 15px;
		padding: 15px 0 0 35px;
		position: relative;
		border-top: 1px solid #ddd;
		&::before{
			position: absolute;
			margin-top: -5px;
			top: 20px;
			left: 0;
			content: "A.";
			font-family: $en01;
			font-size: 22px;
			letter-spacing: 0.03em;
			color:$mainColor02;
			font-weight: 700;
		}
		&_txt{
			line-height: 1.8;
			word-break: break-all;
		}
	}	
	&_box{
		border: 1px solid #ddd;		
		box-sizing: border-box;
		padding: 15px;
		margin-bottom: 20px;
		.accct{
			display: none;
		}		
		&.open{ 
			background-color: #f5f5f5;
			.acctit span{
				background: url(../images/faq/aco_close.png) no-repeat left top;
				width: 15px;
				height: 1px;
			}
		}
	}	
}

/*----------------------------------------------------------------------------
******************************************************************************
** welfare
******************************************************************************
----------------------------------------------------------------------------*/
.welfare .common_submain_img{
	background: url(../images/welfare/welfare_mainimg.jpg) no-repeat center center;
	background-size: cover;
}
.welfare_content01{
	&_bg{
		padding: 30px 0 0 0;
		display: flex;
		justify-content: center;
		.common_inner{
			width: 90%;
		}
	}
	&_sec:not(:last-child){
		padding-bottom: 50px;
	}
	&_lead{
		text-align: center;
		letter-spacing: 0.05em;
		margin-bottom: 50px;
		line-height: 1.8;
	}
	&_lead02{
		letter-spacing: 0.05em;
		margin-bottom: 20px;
	}
	&_box01{		
		&_img01{
			margin-bottom: 10px;
		}
		&_list01{
			padding: 15px 20px 10px 20px;
			background-color: #f5f5f5;
			&_txt{
				font-size: 16px;
				font-weight: 700;
				margin-bottom: 15px;
				text-align: center;
			}
			&_in{
			}
			ul{	
				display: flex;
				flex-wrap: wrap;			
				li{		
					line-height: 1.4;
					width: 50%;
					box-sizing: border-box;
					padding-left: 22px;
					font-weight: 700;
					letter-spacing: 0.05em;
					position: relative;
					margin-bottom: 10px;
					&::after{
						background: url(../images/common/icon_check.png) no-repeat left top;
						background-size: 15px 9px;
						position: absolute;
						left: 0;
						top: 6px;
						content: "";
						width: 15px;
						height: 9px;
					}
					&:nth-child(1),&:nth-child(2),&:nth-child(3),&:nth-child(4){
						width: 50%;
					}
					&:nth-child(5),&:nth-child(6){
						width: 100%;
					}
				}
			}
		}
	}
	&_box02{
		margin-bottom: 40px;
		display: flex;
		flex-wrap: wrap;
		&_disc{
			order: 1;
			width: 100%;
		}
		&_img{
			order: 0;
			margin-bottom: 15px;
			width: 100%;
			img{
				width: 100%;
			}
		}
		&_txt{
			line-height: 1.8;
		}
	}
	&_box03{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin-bottom: 20px;
		&_list{
			background-color: #f5f5f5;
			padding: 20px 30px;
			box-sizing: border-box;
			width: 100%;
			margin-bottom: 15px;
			ul{
				li{
					padding-left: 22px;
					position: relative;
					&::after{
						background: url(../images/common/icon_check.png) no-repeat left top;
						background-size: 15px 9px;
						position: absolute;
						left: 0;
						top: 6px;
						content: "";
						width: 15px;
						height: 9px;
					}
					&:not(:last-child){
						margin-bottom: 10px;
					}
				}
			}
		}
		&_etc{
			letter-spacing: 0.05em;
			text-align: right;
			display: block;
		}
		&_ttl{
			font-size: 16px;
			letter-spacing: 0.05em;
			font-weight: 700;
			line-height: 1.2;
			margin-bottom: 15px;
			text-align: center;
		}
		&_txt{
			line-height: 1.8;
		}
	}
}

/*----------------------------------------------------------------------------
******************************************************************************
** entry
******************************************************************************
----------------------------------------------------------------------------*/
.entry .common_submain_img,.confirm .common_submain_img,.thanks .common_submain_img{
	background: url(../images/entry/entry_mainimg.jpg) no-repeat center center;
	background-size: cover;
}
.entry_content01{
	&_bg{
		display: flex;
		justify-content: center;
		padding: 45px 0 50px 0;
	}
}
.common_form_lead{
	margin-bottom: 20px;
}
.common_form_step{
	text-align: center;
	margin-bottom: 20px;
}
.common_form_tbl table, .common_form_tbl tbody, .common_form_tbl thead, .common_form_tbl tfoot, .common_form_tbl tr, .common_form_tbl th, .common_form_tbl td {
display: block;
width: 100%;
-o-box-sizing: border-box;
-ms-box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.common_form_tbl{
	table{
		width: 100%;
		tbody{
			tr{
				th{
					border-bottom: 1px solid #c91211;
					padding: 10px 0;
					-webkit-box-sizing: border-box;
					-moz-box-sizing: border-box;
					box-sizing: border-box;
					letter-spacing: 0.05em;
					vertical-align: top;
					line-height: 26px;
					position: relative;
					.must {
						color: #FFF;
						font-size: 13px;
						font-weight: 600;
						height: 24px;
						line-height: 24px;
						width: 45px;
						background-color: #e71a19;
						position: absolute;
						right: 0;
						top: 15px;
						text-align: center;
						border-radius: 2px;
					}
					.any {
						color: #FFF;
						font-size: 13px;
						font-weight: 600;
						height: 24px;
						line-height: 24px;
						width: 45px;
						background-color: #999;
						position: absolute;
						right: 0;
						top: 15px;
						text-align: center;
						border-radius: 2px;
					}
				}
				th.th01{
					line-height: 1.4;
				}
				td{
					border-bottom: 1px solid #ddd;
					padding: 10px 0;
					-webkit-box-sizing: border-box;
					-moz-box-sizing: border-box;
					box-sizing: border-box;
					letter-spacing: 0.05em;
					input[type="text"],input[type="email"] {
						-webkit-box-sizing: border-box;
						-moz-box-sizing: border-box;
						box-sizing: border-box;
						border: 1px solid #ccc;
						background-color: #f5f5f5;
						padding: 10px;
						font-size: 16px;
						height: 48px;
						line-height: 48px;
						border-radius: 5px;
						letter-spacing: 0.05em;
					}
					input[type="radio"],input[type="checkbox"] {
						-webkit-transform: scale(1.5);
						transform: scale(1.5);
						border: 1px solid #cccccc;
						vertical-align: top;
						margin-top: 7px;
						margin-right: 10px;
					}
					textarea {
						width: 100%;
						-webkit-box-sizing: border-box;
						-moz-box-sizing: border-box;
						box-sizing: border-box;
						border: 1px solid #ccc;
						background-color: #f5f5f5;
						padding: 10px;
						line-height: 1.6;
						height: 250px;
						font-size: 16px;
						letter-spacing: 0.05em;
						border-radius: 5px;
					}
					.wid100 {
						width: 100%;
					}
					select {
						-webkit-box-sizing: border-box;
						-moz-box-sizing: border-box;
						box-sizing: border-box;
						border: 1px solid #ccc;
						background-color: #f5f5f5;
						padding: 10px;
						font-size: 16px;
						height: 48px;
						line-height: 48px;
						cursor: pointer;
						letter-spacing: 0.05em;
						border-radius: 5px;
					}
					&.seibetsu{
						.mwform-radio-field:not(:last-child){
							margin-left: 20px;
						}
					}
					.bithday .bithday_parts01{
						display: flex;
						align-items: center;
					}
					.bithday.box .bithday_parts01{
						min-height: 48px;
						line-height: 48px;
					}
					.bithday .bithday_parts01 select{
						width: 200px;
					}
					.bithday .bithday_parts01:not(:last-child){
						margin-bottom: 10px;
					}
					.bithday .bithday_parts02{
						margin-left: 10px;
					}
				}			
			}
		}
	}
	
}
.privacy_agree {
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 30px 0 20px 0;
	padding: 10px;
	background-color: #f3f3f3;
	input[type="checkbox"] {
		-webkit-transform: scale(1.5);
		transform: scale(1.5);
		border: 1px solid #cccccc;
		vertical-align: top;
		margin-top: 4px;
		margin-right: 5px;
	}
	.must {
		color: #FFF;
		font-size: 13px;
		font-weight: 600;
		height: 24px;
		line-height: 24px;
		width: 45px;
		background-color: #e71a19;
		text-align: center;
		border-radius: 2px;
		margin-right: 10px;
	}
}
.privacy_agree label{
	cursor: pointer;
}
.privacy_agree_error{
	text-align: center;
}
.send_btn{
	display: flex;
	justify-content: center;
	margin-top: 20px;
}
.send_btn .btn_submit {
	color: $mainColor02;
	height: 50px;
	display: block;
	line-height: 50px;	
	position: relative;
	text-align: center;
	width: 90%;
	cursor: pointer;
	box-sizing: border-box;
	transition: 0.3s;
	background-color: #fff;
	border:2px solid $mainColor02;
	filter: drop-shadow(0 5px 10px rgba(0, 0, 0, 0.1));
	border-radius: 40px;
}
.send_btn .btn_submit:hover{
	filter: none;
}
.send_btn .btn_submit::before{
	border-bottom: 1px solid $mainColor02;
	position: absolute;
	right: 6%;
	top: 50%;
	content: "";
	width: 6px;
	height: 1px;
	transform: rotate(30deg);
	margin-top: -2px;
	transition: 0.3s;
}
.send_btn .btn_submit:hover::before{
	right: 4%;
	transition: 0.3s;
}
.send_btn .btn_submit::after{
	border-bottom: 1px solid $mainColor02;
	position: absolute;
	right: 6%;
	top: 50%;
	content: "";
	width: 30px;
	height: 1px;
	transition: 0.3s;
}
.send_btn .btn_submit:hover::after{
	right: 4%;
	transition: 0.3s;
}
.send_btn .btn_submit input{
	position: relative;
	z-index: 1;
	background: rgba(255,255,255,0);
	border: none;
	color:$mainColor02;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.1em;
	width: 100%;
    display: block;
    height: 46px;
}
.mw_wp_form.mw_wp_form_confirm .send_btn .btn_back {
	height: 50px;
	display: block;
	position: relative;
	text-align: center;
	width: 40%;
	cursor: pointer;
	box-sizing: border-box;
	transition: 0.3s;
	border: 2px solid #999;
	margin-right: 30px;
	filter: drop-shadow(0 5px 10px rgba(0, 0, 0, 0.1));
	border-radius: 40px;
	background: #FFF;
	margin-right: 10px;
}
.mw_wp_form.mw_wp_form_confirm .send_btn .btn_back:hover{
	filter: none;
}
.mw_wp_form.mw_wp_form_confirm .send_btn .btn_back::before{
	border-bottom: 1px solid #999;
	position: absolute;
	left: 6%;
	top: 50%;
	content: "";
	width: 6px;
	height: 1px;
	transform: rotate(-30deg);
	margin-top: -2px;
	transition: 0.3s;
}
.mw_wp_form.mw_wp_form_confirm .send_btn .btn_back:hover::before{
	border-bottom: 1px solid #999;
	left: 4%;
	transition: 0.3s;
}
.mw_wp_form.mw_wp_form_confirm .send_btn .btn_back::after{
	border-bottom: 1px solid #999;
	position: absolute;
	left: 6%;
	top: 50%;
	content: "";
	width: 30px;
	height: 1px;
	transition: 0.3s;
}
.mw_wp_form.mw_wp_form_confirm .send_btn .btn_back:hover::after{
	border-bottom: 1px solid #999;
	left: 4%;
	transition: 0.3s;
}
.mw_wp_form.mw_wp_form_confirm .send_btn .btn_back input{
	position: relative;
	z-index: 1;
	background: rgba(255,255,255,0);
	border: none;
	color:#999;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.1em;
	width: 100%;
    display: block;
    height: 46px;
	padding-left: 25px;
}
.mw_wp_form.mw_wp_form_confirm .send_btn .btn_back:hover input{
	color:#999;
}
.mw_wp_form .error {
	font-size: 14px;
	margin-top: 5px;
	color: #c91211;
	display: block;
}
::-webkit-input-placeholder {
 	color: #999;
	font-size: 14px;
	letter-spacing: 0.05em;
}
:-ms-input-placeholder {
	color: #999;
	font-size: 14px;
	letter-spacing: 0.05em;
}
::placeholder {
	 color: #999;
	font-size: 14px;
	letter-spacing: 0.05em;
}
.mw_wp_form.mw_wp_form_confirm .must,.mw_wp_form.mw_wp_form_confirm .privacy_agree,.mw_wp_form.mw_wp_form_confirm .privacy_agree_before,.mw_wp_form.mw_wp_form_confirm .any,.mw_wp_form.mw_wp_form_confirm .td01 .hosoku{
	display: none;
}
.mw_wp_form.mw_wp_form_confirm .bithday.box{
	display: flex;
}
.common_form_tbl .mw_wp_form.mw_wp_form_confirm table tbody tr td .bithday .bithday_parts01:not(:last-child) {
    margin-bottom: 0;
	margin-right: 10px;
}
.confirm_txt{
	text-align: center;
	p{
		margin-bottom: 10px;
	}
}
.thanks_txt{
	margin-top: 30px;
	text-align: center;
	p{
		margin-bottom: 10px;
	}
}
.privacy_agree_before{
	margin-top: 30px;
	&_ttl{
		color:$mainColor02;
		font-weight: 700;
		margin-bottom: 10px;
		text-align: center;
		letter-spacing: 0.05em;
		font-size: 15px;
	}
	&_txt{
		margin-bottom: 10px;
	}
	a{
		color:$mainColor02;
		margin: 0 5px;
	}
}
.privacy_agree_box{
	border: 1px solid #ddd;
	overflow-y: scroll;
	padding: 15px 20px;
	height: 200px;
	box-sizing: border-box;
	margin-bottom: 10px;
	&_ttl{
		font-size: 16px;
		margin-bottom: 15px;
	}
	&_ttl02{
		margin-top: 20px;
	}
	&_link{
		margin-top: 10px;
	}
	a{
		color:$mainColor02;
	}
}

/*----------------------------------------------------------------------------
******************************************************************************
** notfound
******************************************************************************
----------------------------------------------------------------------------*/
.notfound .common_submain_img{
	background: url(../images/faq/faq_mainimg.jpg) no-repeat center center;
	background-size: cover;
}
.notfound_content01{
	&_bg{
		display: flex;
		justify-content: center;
		padding: 45px 0 50px 0;
	}
}

/*----------------------------------------------------------------------------
******************************************************************************
** category
******************************************************************************
----------------------------------------------------------------------------*/
.category .common_submain_img{
	background: url(../images/overview/overview_mainimg.jpg) no-repeat center center;
	background-size: cover;
}
.category_recruitment{
	&_bg{
		padding: 45px 0 50px 0;
		display: flex;
		justify-content: center;
		.common_sub_recruitment_slider_sn{
			border: 1px solid #ddd;
			box-sizing: border-box;	
			margin: 0 0 30px 0;
		}
	}	
}
.wp-pagenavi {
	clear: both;
	text-align: center;
	margin-top: 80px;
}
.wp-pagenavi a, .wp-pagenavi span {
	font-family: 'Oswald', sans-serif;
    font-size: 16px;
    text-decoration: none !important;
    border: 1px solid $mainColor02!important;
    color: $mainColor02!important;
    padding-top: 5px !important;
    padding-right: 13px !important;
    padding-bottom: 5px !important;
    padding-left: 13px !important;
    margin-top: 5px !important;
    margin-right: 5px !important;
    margin-bottom: 5px !important;
    margin-left: 5px !important;
}
.wp-pagenavi a:hover, .wp-pagenavi span.current {
	color: #FFF!important;
	background-color: $mainColor02!important;
	border-top-color: $mainColor02!important;
	border-right-color: $mainColor02!important;
	border-bottom-color: $mainColor02!important;
	border-left-color: $mainColor02!important;
	text-decoration: none !important;
}
.wp-pagenavi span.current {
	color: $mainColor02;
}
.wp-pagenavi .page.larger {
	display: none;
}
.wp-pagenavi .extend {
	display: none;
}
.wp-pagenavi .page.smaller {
	display: none;
}
.wp-pagenavi span.pages {
	display: block;
	margin: 0 auto 20px auto !important;
	width: 60%;
}
.blog_pagenavi {
	padding: 30px 0 0 0;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
}
.pager_btn span a {
	background: $mainColor02;
	width: 200px;
	height: 45px;
	color: #FFF;
	font-size: 15px;
	letter-spacing: 0.05em;
	font-weight: 500;
	text-decoration: none;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}