@charset "utf-8";
/*-------------------------------------------------------------------------------------------------------
*********************************************************************************************************
*********************************************************************************************************
******
****** PCスタイル
******
*********************************************************************************************************
*********************************************************************************************************
-------------------------------------------------------------------------------------------------------*/

// breakpointの設定
$xl: 1552px;
$inct: 1254px;
$lg: 1280px;
$md: 1024px;
$sm: 980px;

@mixin xl {
  @media screen and (max-width: ($xl)) {
    @content;
  }
}
@mixin inct {
  @media screen and (max-width: ($inct)) {
    @content;
  }
}
@mixin lg {
  @media screen and (max-width: ($lg)) {
    @content;
  }
}
@mixin md {
  @media screen and (max-width: ($md)) {
    @content;
  }
}
@mixin sm {
  @media screen and (max-width: ($sm)) {
    @content;
  }
}

// 基本カラー、フォントの設定	
$mainColor:#0eafa0;
$mainColor02:#ea6188;
$textColor:#222;
$en01:'Roboto', sans-serif;


html {
	margin: 0;
	padding: 0;
	list-style-type: none;
	font-size: 16px;
	color: $textColor;
	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: none;
}
.pc {
	display: block;
}
.post_none{
	text-align: center;
	margin: 0 auto;
}
.slick-track {
  display: flex;
}
.slick-slide {
  height: auto !important;
}
.common_container {
	overflow: hidden;
}
.common_en_01{
	font-family: $en01;
}
.common_pcnolink{
	pointer-events: none;
}
.common_inner{
	max-width: 1200px;
	width: 88%;
}
.common_wideinner{
	max-width: 1600px;
	width: 88%;
}
.common_wideinner02{
	max-width: 1400px;
	width: 88%;
}
.ank{
	padding-top: 90px;
	margin-top: -90px;
}
.common_txt01{
	line-height: 2.0;
	letter-spacing: 0.05em;
}
.common_lead{
	line-height: 2.0;
	letter-spacing: 0.05em;
	text-align: center;
}
.common_h2_ttl{
	margin-bottom: 30px;
	.h2_ttl{
		font-size: 40px;
		font-weight: 700;
		/*margin-right: 20px;*/
		line-height: 1.2;
		letter-spacing: 0.1em;
	}	
	.common_en_01{
		font-size: 16px;
		font-weight: 700;
		line-height: 1.0;
		letter-spacing: 0.05em;
	}
}
.common_btn01{
	width: 330px;
	height: 62px;
	margin-top: 40px;
	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: 60px;
		-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: 30px;
			content: "";
			width: 36px;
			height: 1px;
			transition: 0.3s;
		}
		&::after {
			border-top: 1px solid #222;
			position: absolute;
			top: 50%;
			right: 30px;
			content: "";
			width: 8px;
			height: 1px;
			transform: rotate(30deg);
			margin-top: -2px;
			transition: 0.3s;
		}		
		.btn_txt{
			color:#222;
			font-size: 18px;
			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: 25px;
			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
******************************************************************************
----------------------------------------------------------------------------*/

/*========= ナビゲーションのための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: 600px;
    height: 100vh;
    overflow: auto;
	background-color: #fff;
    -webkit-overflow-scrolling: touch;
	padding: 90px 60px 60px 60px;
	-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: 40px;
	li{	
		border-bottom: 1px solid #ddd;
		a{
			padding: 25px 90px 25px 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: 46px;
				height: 1px;
				transition: 0.3s; }
			&::after {
				border-top: 1px solid #222;
				position: absolute;
				top: 50%;
				right: 0;
				content: "";
				width: 8px;
				height: 1px;
				transform: rotate(30deg);
				margin-top: -2px;
				transition: 0.3s;
			}
			.menu_ttl{
				font-weight: 700;
				color:#222;
				font-size: 22px;
				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: 12px;
				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: 70px;
			display: -webkit-flex;
			display: -moz-flex;
			display: -ms-flex;
			display: -o-flex;
			display: flex;
			justify-content: center;
			align-items: center;
			font-size: 18px;
			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: 18px;
		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: 60px;
			width: 100%;
			background-color: #0eafa0;
			color:#FFF;
			font-weight: 700;
			font-size: 16px;
			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;
			padding-right: 35px;
			-webkit-box-sizing: border-box;
			-moz-box-sizing: border-box;
			box-sizing: border-box;
			&::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;
			}
		}
		&: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: 150px;
	height: 90px;
	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: 46px;
		}
		&:nth-child(1){
			margin-bottom: 9px;
		}
		&:nth-child(2){
			margin-bottom: 9px;
		}
		&:nth-child(3){
			width: 26px;
			margin-bottom: 9px;
		}
		&.menu_txt{
			font-size: 16px;
			letter-spacing: 0.05em;
			font-weight: 700;
			color:#222;
		}
	}
	&.active span{			
		&:nth-child(1){
			transform: rotate(-45deg);
			width: 36px;
			position: relative;
			top:5px;
			right:-5px;
		}
		&:nth-child(2){
			display: none;
		}
		&:nth-child(3){
			transform: rotate(45deg);
			width: 36px;
			position: relative;
			top: -5px;
			left: 5px;
		}
		&.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: 9;
	width: 100%;
	height: 90px;
	position: fixed;
	background-color: #fff;
	box-sizing: border-box;
	left:0;
	top:0;
	> .flex{
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-wrap: wrap;
		position: relative;
		z-index: 99;
		height: 90px;
	}
	.hd_logo {
		padding-left: 25px;
		a{
			position: relative;
			z-index: 1;
		}
	}
	.hd_nav01 {
		margin-right: 150px;
		@include sm {
			display: none;
		}
		ul{
			display: flex;
			li{
				
				&:not(:last-child){
					margin-right: 20px;			
				a{
					color:#FFF;
					background-color: #111111;	
					transition: 0.3s;
				}
				a:hover{
					transition: 0.3s;
					opacity: 0.7;
				}	
			}
				&:last-child a{
					background-color: #eeeeee;
					color:$textColor;
				}
		}
			a{
				text-decoration: none;
				width: 220px;
				height: 50px;
				font-weight: 700;
				display: -webkit-flex;
				display: -moz-flex;
				display: -ms-flex;
				display: -o-flex;
				display: flex;
				justify-content: center;
				align-items: center;
				letter-spacing: 0.05em;
				@include lg {
					width: 150px;
				}				
			}			
		}
	}	
}
/*----------------------------------------------------------------------------
******************************************************************************
** footer
******************************************************************************
----------------------------------------------------------------------------*/
.pagetop{
		position: fixed;
		right: 50px;
		z-index: 9;
		/*はじめは非表示*/
		opacity: 0;
		transform: translateY(100px);
	a{
		width: 60px;
		height: 60px;
		display: block;
		position: relative;
		background: $mainColor02;
		border-radius: 50%;
		transition: 0.3s;
		span{
			position: absolute;
			top: 50%;
			left: 50%;
			content: "";
			width: 16px;
			height: 16px;
			border: 2px solid;
			border-color: #fff #fff transparent transparent;
			transform: rotate(-45deg);
			margin: -4px 0 0 -8px;
		}
	}
	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;
	padding-bottom: 51px;
	width: 100%;
	display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: center;
	.ft_01{
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: space-between;
		padding: 85px 0 70px 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;
			margin-bottom: 10px;
		}
		&_btn01{
			margin-right: 10px;
		}
		&_btn01,&_btn02{
			width: 230px;
			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: 50px;
				line-height: 50px; 
				background-color: #111;
				transition: 0.3s;
				color:#FFF;
				font-weight: 700;
				&:hover{
					opacity: 0.7;
					transition: 0.3s;
				}
			}			
		}
		&_btn03{
			width: 470px;
			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: 50px;
				line-height: 50px; 
				background-color: #eeeeee;
				transition: 0.3s;
				color:#222;
				font-weight: 700;
				&:hover{
					opacity: 0.7;
					transition: 0.3s;
				}
			}			
		}
		&_right_link{
			text-align: center;
			padding: 20px 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: 250px;
			padding-right: 20px;
			margin-bottom: 20px;
			img{
				width: 100%;
				height: auto;
			}
		}
		&_left{
			width: calc(100% - 470px);
			.ft_01_link{
				display: -webkit-flex;
				display: -moz-flex;
				display: -ms-flex;
				display: -o-flex;
				display: flex;
				flex-wrap: wrap;
				ul{
					margin-right: 2vw;
					li{
						margin-top: 30px;
						a{
							color:#222;
							transition: 0.3s;
							&:hover{
								opacity: 0.7;
								transition: 0.3s;
							}
						}						
					}
				}
			}			
		}
		&_right{
			width: 470px;
		}
	}
	address{
		text-align: center;
		padding: 50px 0;
		font-size: 12px;
	}
}
.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: 100px 0;
	overflow: hidden;
	.common_wideinner{
		position: relative;
		z-index: 2;
	}
	&_en{
    z-index: 1;
    position: absolute;
    left: -12.5vw;
    top: 10.5vw;    
		span {
			font-size: 180px;
			font-size: 9.375vw;
			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: 90px 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: 100px;
			text-align: center;
			margin-bottom: 40px;
			line-height: 1.0;
		}
		.ft_entry_txt{
			font-size: 18px;
			line-height: 1.8;
			letter-spacing: 0.05em;
			text-align: center;
		}
	}
	.ft_entry_btnwrap{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin-top: 40px;		
	}
}
.ft_entry_btn{
	width: calc((100% - 60px) / 3);
	height: 70px;
	@include sm{
		width: 100%;
	}
	a{
		text-decoration: none;
		background-color: #0eafa0;
		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: 30px;
			content: "";
			width: 36px;
			height: 1px;
			transition: 0.3s;
		}
		&::after {
			border-top: 1px solid #fff;
			position: absolute;
			top: 50%;
			right: 30px;
			content: "";
			width: 8px;
			height: 1px;
			transform: rotate(30deg);
			margin-top: -2px;
			transition: 0.3s;
		}		
		.btn_txt{
			color:#fff;
			font-size: 20px;
			letter-spacing: 0.05em;
			font-weight: bold;
			position: relative;
			z-index: 2;
			text-align: center;
			line-height: 1.3;
		}
		&:hover::before, &:hover::after {
			transition: 0.3s;
			right: 25px;
			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){
		@include sm{
			margin: 30px 0 0 0;
		}
		a{
			background-color: #ea6188;
		}
	}
	&:nth-child(3){
		@include sm{
			margin: 30px 0 0 0;
		}
		a{
			background-color: #0eafa0;
		}
	}
}
.ft_bnr{
	padding: 100px 0;
	display: flex;
	justify-content: center;
	&_entry{
		width: 100%;
		min-height: 275px;
		padding: 40px;
		box-sizing: border-box;
		display: flex;
		justify-content: center;
		align-items: center;
		background-color: #f5f5f5;
		border: 1px solid #000;
		margin-bottom: 50px;
		&_ttl{
			text-align: center;
			margin-bottom: 10px;
			.ttl_txt{
				font-size: 36px;
				font-weight: 700;
				letter-spacing: 0.1em;	
				position: relative;
				z-index: 2;
			}		
			.ft_bnr_entry_txt{
				position: relative;
				z-index: 2;
				font-size: 18px;
				letter-spacing: 0.05em;
			}
		}
		.common_en_01{
			font-size: 90px;
			@include lg{
				font-size: 7vw;
			}
			/*font-size: 4.69vw;*/
			font-weight: 700;
			letter-spacing: 0.03em;
			color:rgba(221,221,221,0.5);
			line-height: 1.0;
			display: block;
			margin-top: -0.75em;
		}
		.ft_entry_btn{
			width: 380px;
			height: 60px;
			margin-left: auto;
			margin-right: auto;
		}
	}
	&_box{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		&_in{
			width: calc((100% - 50px) / 2);	
			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: 220px;
				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.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: 35px;
		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: 90px;
				height: 2px;
			}
			&::after{
				border-bottom: 2px solid #222;
				position: absolute;
				top: 19px;
				left: -19px;
				content: "";
				width: 40px;
				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: 90px;
				height: 2px;
			}
			&::after{
				border-bottom: 2px solid #222;
				position: absolute;
				bottom: 20px;
				right: -20px;
				content: "";
				width: 40px;
				height: 2px;
				transform: rotate(90deg);
			}
		}
		.ttl_txt{
			font-size: 24px;
			@include inct{
				font-size: 20px;
			}
			letter-spacing: 0.05em;
			font-weight: 700;
			color:$textColor;
			line-height: 1.4;
		}
		.common_en_01{
			color:#c4c4c4;
			font-size: 14px;
			font-weight: 700;
			letter-spacing: 0.05em;
		}
	}
	}
}
.ft_bnr02{
	&_box{
		display: flex;
		flex-wrap: wrap;
		&_in{
			width: 25%;	
			@include sm{
				width: 50%;
			}
			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: 200px;
				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: 30px;
		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: 90px;
				height: 2px;
			}
			&::after{
				border-bottom: 2px solid #222;
				position: absolute;
				top: 19px;
				left: -19px;
				content: "";
				width: 40px;
				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: 90px;
				height: 2px;
			}
			&::after{
				border-bottom: 2px solid #222;
				position: absolute;
				bottom: 20px;
				right: -20px;
				content: "";
				width: 40px;
				height: 2px;
				transform: rotate(90deg);
			}
		}
		.ttl_txt{
			font-size: 22px;
			@include inct{
				font-size: 18px;
			}
			letter-spacing: 0.05em;
			font-weight: 700;
			color:$textColor;
			line-height: 1.4;
		}
		.common_en_01{
			color:#c4c4c4;
			font-size: 12px;
			font-weight: 700;
			letter-spacing: 0.05em;
		}
	}
	}
}
/*----------------------------------------------------------------------------
******************************************************************************
** 固定ボタン
******************************************************************************
----------------------------------------------------------------------------*/
.rt_btn{
	position: fixed;
	right:0;
	bottom: 70px;
	width: 70px;
	height: 250px;
	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: 22px;
		line-height: 1.0;
		letter-spacing: 0.1em;
		transform: rotate(90deg);
		display: block;
		position: absolute;
		left:-5px;
		top:60px;
	}
}
.rt_btn .scroolbox{
	position: absolute;
	left:50%;
	bottom:-70px;
}
.rt_btn .scroolbox .btn-scroll-deco .scroll-line01 {
	transform-origin: left top;
	transform: rotate(90deg);
	background: #fff;
	width: 1px;
	height: 140px;
	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: 70px;
	transform-origin: left top;
	transform: rotate(90deg);
	background: #0eafa0;
	width: 1px;
	height: 70px;
	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: 90px;
	height: 796px;
	height:50vw;
	width: 100%;
	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;
		margin-bottom: 50px;
		.top_catch_01{
			font-size: 52px;
			font-size: 2.7vw;
			letter-spacing: 0.1em;
			font-weight: 700;
			line-height: 1.2;
			margin: 90px 0 25px 0;
			span{
				display: block;
				&:last-child{
					margin-left: -1em;
				}
			}
		}
		.common_en_01{
			font-size: 18px;
			font-size: 1vw;
			color:#c4c4c4;
			letter-spacing: 0.1em;
			font-weight: 700;
			display: block;
		}
	}
	.top_main_img01{
		position: absolute;
		top: 17%;
    	left: 3%;
		width: 14.58vw;
		&::before{
			position: absolute;
			top: -2vw;
			right: -2vw;
			content: "";
			width: 14.58vw;
			height: 14.58vw;
			background-color: $mainColor02;
			z-index: -1;
		}
	}
	.top_main_img02{
		position: absolute;
		top:5%;
		left:40%;
		width: 14.58vw;
	}
	.top_main_img03{
		position: absolute;
		top:5%;
		right:3%;
		width: 14.58vw;
		&::before{
			position: absolute;
			top: 2vw;
			right: -2vw;
			content: "";
			width: 14.58vw;
			height: 14.58vw;
			background-color: $mainColor02;
			z-index: -1;
		}
	}
	.top_main_img04{
		position: absolute;
		bottom:40px;
		left:25%;
		width: 14.58vw;
	}
	.top_main_img05{
		position: absolute;
		bottom: 9%;
    	right: 26%;
		width: 14.58vw;
		&::before{
			position: absolute;
			top: -2vw;
			right: -2vw;
			content: "";
			width: 14.58vw;
			height: 14.58vw;
			background-color: #f39800;
			z-index: -1;
		}
	}
	.bk01_01{
		background-color: #f4d21f;
		width: 7.29vw;
		height: 7.29vw;	
		position: absolute;
		left:5%;
		bottom: 21%;
	}
	.bk01_02{
		background-color: #f4d21f;
		width: 5.7vw;
		height: 5.7vw;
		position: absolute;
		left: 45%;
		bottom: 18%;
	}
	.bk01_03{
		background-color: #f4d21f;
		width: 3.64vw;
		height: 3.64vw;
		position: absolute;
		top: 23%;
    	right: 35%;
	}
	.bk02_01{
		border: 1px solid $mainColor02;
		width: 3.64vw;
		height: 3.64vw;
		position: absolute;
		bottom: 17%;
		left: 11%;
	}
	.bk02_02{
		border: 1px solid #f39800;
		width: 5.7vw;
		height: 5.7vw;
		position: absolute;
		top: 20%;
    	left: 28%;
	}
	.bk02_03{
		border: 1px solid $mainColor02;
		width: 7.29vw;
		height: 7.29vw;
		position: absolute;		
    	top: 12%;
    	right: 29%;
	}
	.bk02_04{
		border: 1px solid #f4d21f;
		width: 5.7vw;
		height: 5.7vw;
		position: absolute;
		bottom: 30%;
    	right: 8%;
	}
}
.top_content01_bg{
	padding: 140px 0 0 0;
	position: relative;
	.common_wideinner{
		margin-left: auto;
		margin-right: auto;
	}
	.common_h2_ttl{
		max-width: 1600px;
		width: 88%;
		margin-left: auto;
		margin-right: auto;
		margin-top: -6vw;
	}
	&::before{
		background-color: #fef2f0;
		position: absolute;
		bottom: 45px;
		left: 0;
		content: "";
		width: 96%;
		height: 53%;
		z-index: -1;
	}
	.top_content01_en{
		font-size: 180px;
		font-size: 9.375vw;
		font-weight: 700;
		color: #f3f3f3;
		letter-spacing: 0.05em;
		line-height: 1.0;
		z-index: -1;
		margin-left: -0.1em;
	}
	.top_content01_box{
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.top_content01_box_in{
		width: 47.5%;
		position: relative;
	}
	.top_content01_box_in:first-child{
		margin-top: 80px;
	}
	.top_content01_box_in:last-child{
		margin-bottom: 80px;
	}
	.top_content01_img{
		margin-bottom: 55px;
	}
	.top_content01_ttl{
		position: absolute;
		left:0;
		bottom: 0;
		width: 90%;
		max-width: 450px;
		.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: 28px;
			font-weight: 700;
			letter-spacing: 0.1em;
			color:$textColor;
			margin-right: 20px;
			line-height: 1.4;
		}
		.common_en_01{
			color:#c4c4c4;
			font-size: 14px;
			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: 35px 80px 35px 30px;
			-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: 30px;
				content: "";
				width: 46px;
				height: 1px;
				transition: 0.3s;
			}
			&::after{
				border-top: 1px solid #222;
				position: absolute;
				top: 50%;
				right: 30px;
				content: "";
				width: 8px;
				height: 1px;
				transform: rotate(30deg);
				margin-top: -2px;
				transition: 0.3s;
			}
			&:hover::before,&:hover::after{
				transition: 0.3s;
				right: 25px;
				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: 60px;
		width: 640px;
		margin-left: auto;
		margin-right: auto;
		 a{
			border: 1px solid #222;
			text-decoration: none;
			display: block;
			 height: 140px;
			 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: 138px;
				 width: 29.5%;
				 position: relative;
				 z-index: 2;
			 }
			 .top_content01_ttl02{
				 position: relative;
				 z-index: 2;
				 width: 70.5%;
				 padding-left: 45px;
				 -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;
				 height: 38px;
				 .h3_ttl{
					font-size: 28px;
					font-weight: 700;
					letter-spacing: 0.1em;					
					margin-right: 20px;
					line-height: 1.4;
					 margin-bottom: 5px;
				}
				.sub_txt{
					font-size: 18px;
					font-weight: 700;
					letter-spacing: 0.1em;
					line-height: 1.4;
				}
			 }
			 &::before{
				border-top: 1px solid #222;
				position: absolute;
				top: 50%;
				right: 30px;
				content: "";
				width: 46px;
				height: 1px;
				transition: 0.3s;
			}
			&::after{
				border-top: 1px solid #222;
				position: absolute;
				top: 50%;
				right: 30px;
				content: "";
				width: 8px;
				height: 1px;
				transform: rotate(30deg);
				margin-top: -2px;
				transition: 0.3s;
			}
			&:hover::before,&:hover::after{
				transition: 0.3s;
				right: 25px;
				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: 140px 0 0 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: 180px;
		font-size: 9.375vw;
		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: 64px;
		font-size: 3.33vw;
		font-weight: 700;
		font-family: $en01;
		position: relative;
		z-index: 2;
		white-space: nowrap;
		line-height: 1.0;
		margin-bottom: 75px;
		display: block;
		width: 100%;
		text-align: center;
		margin-top: -1vw;
		line-height: 1.4;
		margin-left: 5vw;
	}
	.top_content02_box{
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		position: relative;
		top: -15.5vw;
		margin-bottom: -7vw;
	}
	.top_content02_img{
		width: 50%;
	}
	.top_content02_img img{
		width: 100%;
	}		
	.top_content02_disc{
		width: 43%;
		padding-top: 15.5vw;		
	}
	.top_content02_ttl02{
		font-size: 26px;
		font-weight: 700;
		letter-spacing: 0.1em;	
		margin-bottom: 30px;
		padding-right: 130px;
		position: relative;
		display: inline-block;
		line-height: 1.4;
		@include sm{
			padding-right: 50px;
		}
		&::after{
			border-top: 1px solid #222;
			position: absolute;
			top: 50%;
			right: 0;
			content: "";
			width: 110px;
			height: 1px;
		@include sm{
			width: 40px;
		}
		}
	}
	.top_content02_txt{
		font-size: 18px;
		line-height: 1.8;
		letter-spacing: 0.05em;
	}
	.top_content02_txt:not(:last-child){
		margin-bottom: 30px;
	}
}
.top_content03_bg{
	padding: 140px 0 340px 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: -12.5vw;
    	top: 10vw;
		span{
			font-size: 180px;
			font-size: 9.375vw;
			font-weight: 700;
			color: #fff;
			letter-spacing: 0.05em;
			line-height: 1.0;
			display: block;
			transform: rotate(90deg);
		}
	}
	.top_content03_txt01{
		font-size: 18px;
		letter-spacing: 0.05em;
		text-align: center;
		margin-bottom: 30px;
	}
	.top_content03_txt02{
		font-size: 18px;
		letter-spacing: 0.05em;
	}
	.top_content03_box{
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: space-between;
	}
	.top_content03_box_in{
		width: calc((100% - 7.8vw) / 4);	
		a{
			display: block;
			text-decoration: none;	
			transition: 0.3s;
			&:hover{
				opacity: 0.7;
				transition: 0.3s;
			}
		}
	}
	.top_content03_ttl{
		background-color: #fff;
		padding: 35px 0;
		margin-bottom: 20px;
		text-align: center;
		position: relative;
		padding-top: 135px;
		.h3_ttl{
			font-size: 26px;
			letter-spacing: 0.1em;
			font-weight: bold;
			line-height: 1.0;
			margin-bottom: 10px;
			color:#222;
			@include lg{
				font-size: 20px;
			}
		}
		.common_en_01{
			font-size: 14px;
			color:#c4c4c4;
			letter-spacing: 0.1em;
			font-weight: bold;
			line-height: 1.2;
			display: block;
		}		
	}
	.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;
		width: 93px;
		height: 75px;
		margin-left: -47px;
		margin-top: calc(-38px - 35px);
	}
	.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;
		width: 74px;
		height: 77px;
		margin-left: -37px;
		margin-top: calc(-39px - 35px);
	}
	.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;
		width: 117px;
		height: 46px;
		margin-left: -59px;
		margin-top: calc(-23px - 35px);
	}
	.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;
		width: 71px;
		height: 76px;
		margin-left: -36px;
		margin-top: calc(-38px - 35px);
	}
}
.top_content04{
	&_bg{
		margin-top: -200px;
		position: relative;
		z-index: 2;
		padding: 140px 0;
		.common_wideinner{
			margin-left: auto;
			margin-right: auto;
		}
		.common_h2_ttl{
			position: relative;
			z-index: 2;
			margin-bottom: 90px;
			margin-top: -6.3vw;
		}
		&::before{
			background-color: #fff;
			width: 96%;
			height: 100%;
			position: absolute;
			top: 0;
			left: 0;
			content: "";
			z-index: -1;
		}
	}
	&_box{
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-wrap: wrap;
	}
	&_disc{
		width: 43.125%
	}
	&_img{
		width: 50%;
	}
	&_txt01{
		font-size: 18px;
		line-height: 2.0;
	}
	&_en {
		font-size: 180px;
		font-size: 9.375vw;
		font-weight: 700;
		color: #f3f3f3;
		letter-spacing: 0.05em;
		line-height: 1.0;
		z-index: -1;
		/*margin-left: -0.65em;*/
		margin-left: -1em;
	}
}
.top_content05{
	&_box{
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		flex-wrap: wrap;
	}
	&_box_in{
		width: 50%;		
			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: 500px;
				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: 45px;
		width: 60%;
		max-width: 460px;
		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: 100px;
				height: 2px;
			}
			&::after{
				border-bottom: 2px solid #222;
				position: absolute;
				top: 23px;
				left: -23px;
				content: "";
				width: 50px;
				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: 100px;
				height: 2px;
			}
			&::after{
				border-bottom: 2px solid #222;
				position: absolute;
				bottom: 23px;
				right: -25px;
				content: "";
				width: 50px;
				height: 2px;
				transform: rotate(90deg);
			}
		}
		.h2_ttl{
			font-size: 32px;
			letter-spacing: 0.1em;
			font-weight: 700;
			color:#222;
			line-height: 1.4;
			@include lg{
				font-size: 26px;
			}
		}
		.common_en_01{
			color:#c4c4c4;
			font-size: 16px;
			font-weight: 700;
		}
	}
}

/*----------------------------------------------------------------------------
******************************************************************************
** sub
******************************************************************************
----------------------------------------------------------------------------*/
.common_sub_ttl01{
	font-size: 36px;
	text-align: center;
	position: relative;
	font-weight: 700;
	letter-spacing: 0.1em;
	padding-bottom: 20px;
	margin-bottom: 50px;
	&::after{
		border-bottom: 2px solid $mainColor02;
		position: absolute;
		bottom: 0;
		left:50%;
		margin-left: -20px;
		width: 40px;
		height: 2px;
		content: "";
	}
}
.common_sub_ttl02{
	font-size: 30px;
	position: relative;
	font-weight: 700;
	letter-spacing: 0.1em;
	margin-bottom: 20px;
	padding-left: 1em;
	line-height: 1.4;
	&::before{
		color: $mainColor02;
		position: absolute;
		top: 0;
		left: 0;
		content: "・";
	}
}
.common_sub_ttl03{
	font-size: 24px;
	position: relative;
	font-weight: 700;
	letter-spacing: 0.1em;
	margin-bottom: 10px;
	padding-left: 20px;
	line-height: 1.4;
	&::before{
		border-top: 2px solid $mainColor02;
		position: absolute;
		top: 18px;
		left: 0;
		content: "";
		width: 12px;
		height: 2px;
	}
}
.common_sub_ttl04{
	font-size: 18px;
	position: relative;
	font-weight: 700;
	letter-spacing: 0.1em;
	margin-bottom: 5px;
	padding-left: 20px;
	line-height: 1.4;
	&::before{
		color: $mainColor02;
		position: absolute;
		top: 0;
		left: 0;
		content: "・";
		font-size: 20px;
	}
}
.common_submain{
	&_bg{
		margin-top: 90px;
		width: 100%;
		height: 880px;
		position: relative;
		&::before{
			background-color: #f5f5f5;
			position: absolute;
			bottom: 0;
			left:0;		
			content: "";
			width: calc(100% - 220px);
			height: 730px;
		}
	}
	&_cover{
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
		z-index: 2;
		height: 100%;
	}
	&_img{
		width: 73%;
		height: 770px;
		position: absolute;
		top: 0;
		right:0;	
		max-width: 1400px;
	}
	&_deco{
		margin-left: -30px;
		color:rgba(255,255,255,0.3);
		font-size: 180px;
		font-weight: 700;
		font-family: $en01;
		line-height: 0.8;
		span{
			color:#fff;
			line-height: 1.0;
		}
	}
	&_ttl{
		margin-top: -30px;
		.h1_ttl{
			font-size: 40px;
			letter-spacing: 0.1em;
			font-weight: 700;
			line-height: 1.4;
		}
		.common_en_01{
			font-size: 16px;
			letter-spacing: 0.05em;
			font-weight: 700;
			line-height: 1.0;
			margin-bottom: 10px;
			display: block;
		}
	}
}
.common_bread {
	padding: 35px 0;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
}
.common_bread ul {
	display: flex;
	flex-wrap: wrap;
}
.common_bread li {
	font-size: 14px;
	letter-spacing: 0.05em;
	position: relative;
}
.common_bread li:not(:first-child) {
	padding-left: 22px;
}
.common_bread li:not(:last-child) {
	margin-right: 10px;
}
.common_bread li:not(:first-child)::before {
	position: absolute;
	top: 11px;
	left: 0;
	content: "";
	width: 15px;
	height: 1px;
	border-bottom: 1px solid $mainColor02;
}
.common_bread a {
	color: $mainColor02;
	text-decoration: none;
	font-size: 14px;
	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: 80px 0 110px 0;
		display: flex;
		justify-content: center;
	}
	&_box{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	&_img{
		width: 40%;
		img{
			width: 100%;
		}
	}
	&_disc{
		width: calc(60% - 35px);
	}
	&_ttl{
		font-size: 26px;
		font-weight: 700;
		margin-bottom: 20px;
	}
	&_txt{
		font-size: 18px;
		letter-spacing: 0.05em;
		line-height: 2.0;
		&:not(:last-child){
			margin-bottom: 20px;
		}
	}
}
.common_sub_flow{
	&_bg{
		padding: 100px 0 110px 0;
		background-color: #fef2f0;
		display: flex;
		justify-content: center;
	}
	&_lead{
		font-size: 18px;
		letter-spacing: 0.05em;
		margin-bottom: 50px;
		line-height: 2.0;
		width: 55%;
	}
	&_lead_box{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	&_lead_img{
		width: 41.6%;
	}
	&_box{
		background-color: #fff;
		padding: 60px 70px;
	}
	&_list{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		position: relative;
		padding-bottom: 50px;
		&::after{
			border-left: 2px dotted $mainColor02;
			width: 2px;
			height: 100%;
			content: "";
			position: absolute;
			left: 76px;
			top:76px;
			@include sm{
				left: 51px;
			}
		}
		&:last-child::after{
			content: inherit;
		}
		&:last-child{
			padding-bottom: 0;
		}
	}
	&_ttl{
		width: 41.5%;
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		.h3_ttl{
			width: calc(100% - 180px);
			font-size: 28px;
			/*font-size: 1.46vw;*/
			font-weight: 700;
			letter-spacing: 0.1em;
			line-height: 1.3;
			position: relative;
			padding-left: 93px;
			@include lg{
				font-size: 24px;
			}
			@include inct{
				font-size: 24px;
				padding-left: 10px;
			}
			@include sm{
				font-size: 20px;
				width: calc(100% - 110px);
			}
			&::before{
				background: url(../images/sub/common_sub_flow_bf.png) no-repeat left top;
				position: absolute;
				left:0;
				top:50%;
				content: "";
				width: 78px;
				height: 15px;
				margin-top: -7px;
				@include inct{
					content: inherit;
				}
			}
		}
	}
	&_img{
		width: 150px;
		margin-right: 15px;
		padding: 10px 0;
		background-color: #fff;
		z-index: 2;
		@include sm{
			width: 100px;
			margin-right: 10px;
		}
		img{
			width: 100%;
		}
		.common_en_01{
			color:#c4c4c4;
			font-size: 34px;
			text-align: center;
			font-weight: 500;
			letter-spacing: 0.03em;
			display: block;
			line-height: 1.0;
			@include sm{
				font-size: 24px;
			}
		}
	}
	&_sp{
		width: 58.5%;
		background-color: #f5f5f5;
		min-height: 150px;
		padding: 25px;
		display: flex;
		align-items: center;
	}
	&_txt{
		width: 100%;
		font-size: 18px;
		line-height: 2.0;
	}
	&_box02{
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-top: 50px;
		&_img{
			width: 47.5%;
		}
		&_disc{
			width: 47.5%;
		}
		&_txt{
			font-size: 18px;
			line-height: 2.0;
		}
	}
}
.common_sub_training{
	&_bg{
		padding: 100px 0 110px 0;
		display: flex;
		justify-content: center;
	}
	&_lead{
		font-size: 18px;
		letter-spacing: 0.05em;
		margin-bottom: 50px;
		text-align: center;
		line-height: 2.0;
	}
	&_box:not(:last-child){
		margin-bottom: 70px;
	}
	&_flex{
		margin-top: 20px;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	&_img{
		width: calc(50% - 40px);
	}	
	&_checkbox{
		width: 50%;
	}
	&_cover{
		width: 100%;
	}
	&_check{
		background-color: #f5f5f5;
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 50px;		
		box-sizing: border-box;		
		@include md{
			padding: 20px;
		}
	}
	&_left{
		width: 50%;
		.common_sub_training_check{
			width: 100%;
			margin-top: 20px;
		}
		.common_sub_training_check{
			padding: 35px 40px;
		}
	}
	&_list{
		display: flex;
		ul{
			&:first-child{
				margin-right: 30px;
			}
			li{
				background: url(../images/common/icon_check.png) no-repeat left 8px;
				padding-left: 26px;
				font-size: 18px;
				font-weight: 700;
				line-height: 1.4;
				&:not(:last-child){
					margin-bottom: 25px;
				}
			}
		}
	}
	&_etc{
		font-size: 18px;
		font-weight: 700;
		letter-spacing: 0.05em;
		text-align: right;
		display: block;
	}
	&_txt{
		font-size: 18px;
		letter-spacing: 0.05em;
		line-height: 2.0;
	}
}
.other .common_sub_training_bg .common_sub_training_check{
	min-height: 213px;
	margin-top: 20px;	
}
.other .common_sub_recomend_bg .common_sub_training_check{
	width: 50%;
}
.newgraduate .common_sub_training_check{
	margin-top: 20px;
}
.midcareer .common_sub_training_check{
	min-height: 295px;
	width: 50%;
	padding: 30px 40px;
}
.common_sub_voice{
	&_bg{
		padding: 100px 0 110px 0;
		background-color: #fef2f0;
		display: flex;
		justify-content: center;
	}
	&_inner{
		width: 87.5%;
		max-width: 1680px;
	}
	&_slider{
		margin: 0 -15px;
		&_sn{
			margin: 0 15px;
			background-color: #fff;
			padding: 25px 50px;
			.common_sub_ttl04{
				margin-top: 25px;
				padding-bottom: 10px;
				margin-bottom: 5px;
				border-bottom: 1px solid $mainColor02;
			}
			&_main{
				display: flex;
				justify-content: space-between;
				align-items: center;
			}
			&_img{
				width: 45%;
				img{
					width: 100%;
				}
			}
			&_disc{
				width: calc(55% - 30px);
				padding-top: 10px;
			}
			&_name{
				font-size: 20px;
				letter-spacing: 0.05em;
				font-weight: 700;
				margin-bottom: 10px;
			}
			&_year{
				background-color: #f5f5f5;
				display: inline-block;
				font-size: 16px;
				font-weight: 700;
				letter-spacing: 0.05em;
				padding: 5px 10px;
			}
		}
		.slide-arrow{
			position: absolute;
			top:50%;
			margin-top: -25px;
			cursor: pointer;
			z-index: 2;
		}
		.prev-arrow{
			left:-60px;
			@include inct{
				left:-30px;
			}
		}
		.next-arrow{
			right:-60px;
			@include inct{
				right:-30px;
			}
		}
	}
}
.newgraduate .common_sub_voice{
	&_slider{
		&_sn{
			padding: 30px 50px 40px 50px;
			&_img{
				width: 34.5%;
				max-width: 250px;
			}
			&_disc{
				width: calc(65.5% - 30px);
			}
		}	
	}
}
.common_sub_recruitment{
	&_bg{
		background: url(../images/sub/common_sub_recruitment_bk.jpg) no-repeat center top;
		background-size: cover;
		padding: 110px 0 120px 0;
		display: flex;
		justify-content: center;
	}
	&_slider{
		margin: 0 -15px;
		&_sn{
			a{
				text-decoration: none;
				color:#000;
				transition: 0.3s;
				display: block;
				background: #FFF;
				height: 100%;
				padding-bottom: 30px;
				box-sizing: border-box;
				&: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: -25px;
			cursor: pointer;
		}
		.prev-arrow{
			left:-60px;
			@include inct{
				left:-30px;
			}
		}
		.next-arrow{
			right:-60px;
			@include inct{
				right:-30px;
			}
		}
	}
	&_in{
			padding: 25px 30px 0 30px;
		}
	&_ttl{
		background-color: #000;
		color: #fff;
		font-size: 22px;
		letter-spacing: 0.05em;
		text-align: center;
		padding: 20px 0;
	}
	&_txt{
		margin-bottom: 10px;
	}
	&_btn{
		width: 380px;
		height: 60px;
		margin: 50px auto 0 auto;
		a{
			text-decoration: none;
			background-color: #0eafa0;
			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: 30px;
				content: "";
				width: 36px;
				height: 1px;
				transition: 0.3s;
			}
			&::after {
				border-top: 1px solid #fff;
				position: absolute;
				top: 50%;
				right: 30px;
				content: "";
				width: 8px;
				height: 1px;
				transform: rotate(30deg);
				margin-top: -2px;
				transition: 0.3s;
			}		
			.btn_txt{
				color:#fff;
				font-size: 20px;
				letter-spacing: 0.05em;
				font-weight: bold;
				position: relative;
				z-index: 2;
				text-align: center;
				line-height: 1.3;
			}
			&:hover::before, &:hover::after {
				transition: 0.3s;
				right: 25px;
				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: 110px 0;
		display: flex;
		justify-content: center;		
		.common_sub_training_list ul li:not(:last-child) {
    		margin-bottom: 15px;
		}
	}
	&_ttl{
		text-align: center;
		position: relative;
		margin-bottom: 40px;
		.h2_ttl{
			font-size: 36px;
			letter-spacing: 0.1em;
			line-height: 1.2;
			display: inline-block;
			padding: 10px 50px 0 50px;
			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;
				top: 50%;
				-webkit-transform: translate(0, -50%);
 				transform: translate(0, -50%);
				left: 0;
				content: "";
				width: 40px;
				height: 2px;
				transform: rotate(55deg);
			}
			&::after{
				border-top: 2px solid #000;
				position: absolute;
				top: 50%;
				-webkit-transform: translate(0, -50%);
 				transform: translate(0, -50%);
				right: 0;
				content: "";
				width: 40px;
				height: 2px;
				transform: rotate(-55deg);
			}
		}
		.common_en_01{
			color:#f3f3f3;
			font-size: 140px;
			font-weight: 700;
			letter-spacing: 0.05em;
			position: relative;
			top:0;
			left:-10%;
			line-height: 1.0;
			display: block;
			text-align: center;
			width: 120%;
		}
	}
	&_lead{
		text-align: center;
		font-size: 18px;
		letter-spacing: 0.05em;
		line-height: 2.0;
		margin-bottom: 60px;
	}
}

/************ 背景固定 ************/
.common_fixed_bg {
	min-height: 100vh;
	background-attachment: fixed;
	background-size: cover;
	background-position: center;
	width: 100%;
}

.common_sub_works{
	&_bg{
		background-color: #fef2f0;
		padding: 110px 0 120px 0;
		display: flex;
		justify-content: center;
	}
	&_lead{
		font-size: 18px;
		text-align: center;
		letter-spacing: 0.05em;
		line-height: 2.0;
		margin-bottom: 40px;
	}
	&_box{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	&_box_sn{
		width: calc((100% - 150px) / 4);
		img{
			width: 100%;
		}
	}
	&_txt{
		font-size: 18px;
		letter-spacing: 0.05em;
		line-height: 2.0;
		margin-top: 15px;
	}
}

/*----------------------------------------------------------------------------
******************************************************************************
** newgraduate
******************************************************************************
----------------------------------------------------------------------------*/
.newgraduate .common_submain_img{
	background: url(../images/newgraduate/newgraduate_mainimg.jpg) no-repeat center center;
	background-size: cover;
}

/*----------------------------------------------------------------------------
******************************************************************************
** midcareer
******************************************************************************
----------------------------------------------------------------------------*/
.midcareer .common_submain_img{
	background: url(../images/midcareer/midcarrer_mainimg.jpg) no-repeat center center;
	background-size: cover;
}
.midcareer .common_submain_ttl{
	margin-top: -60px;
}
.midcareer_content01{
	&_bg{
		background-image:  url(../images/midcareer/midcarrer_img01.jpg);
    	background-repeat: no-repeat;
    	background-position: center center;
    	min-height: 550px;
	}
}

/*----------------------------------------------------------------------------
******************************************************************************
** other
******************************************************************************
----------------------------------------------------------------------------*/
.other .common_submain_img{
	background: url(../images/other/other_mainimg.jpg) no-repeat center center;
	background-size: cover;
}
.other .common_submain_ttl{
	margin-top: -60px;
}
.other_content01{
	&_bg{
		background-image:  url(../images/other/other_img05.jpg);
    	background-repeat: no-repeat;
    	background-position: center center;
    	min-height: 550px;
	}
}

/*----------------------------------------------------------------------------
******************************************************************************
** overview
******************************************************************************
----------------------------------------------------------------------------*/
.overview .common_submain_img{
	background: url(../images/overview/overview_mainimg.jpg) no-repeat center center;
	background-size: cover;
}
.overview_content01{
	&_bg{
		padding: 80px 0 120px 0;
		display: flex;
		justify-content: center;
	}
	&_box{
		flex-wrap: wrap;
		display: flex;
		justify-content: space-between;
		margin-bottom: 60px;
	}
	&_img{
		width: 47.5%;
	}
	&_tbl{
		width: 49.16%;
		table{
			width: 100%;
			border: 1px solid #dddddd;
			th{
				border: 1px solid #dddddd;
				background-color: #f5f5f5;
				font-size: 18px;
				letter-spacing: 0.05em;
				padding: 20px;
				width: 160px;
				box-sizing: border-box;
				vertical-align: top;
			}
			td{
				border: 1px solid #dddddd;
				font-size: 18px;
				letter-spacing: 0.05em;
				padding: 20px;
				width: calc(100% - 160px);
				box-sizing: border-box;
				vertical-align: top;
				word-break: break-all;
				a{
					color: #000;
				}
			}
		}
	}
	&_ttl{
		font-size: 28px;
		letter-spacing: 0.05em;
		margin-bottom: 50px;
		padding-bottom: 20px;
		border-bottom: 1px solid #000;
	}
	&_ttl02{
		font-size: 22px;
		position: relative;
		font-weight: 700;
		letter-spacing: 0.05em;
		margin-bottom:15px;
		padding-left: 1.3em;
		line-height: 1.4;
		&::before{
			color: $mainColor02;
			position: absolute;
			top: 0;
			left: 0;
			content: "・";
			font-size: 22px;
		}
	}
	&_txt{
		font-size: 18px;
		letter-spacing: 0.05em;
		line-height: 2.0;
	}
}
.overview_content02{
	&_bg{
		padding: 110px 0 120px 0;
		background-color: #fef2f0;
		display: flex;
		justify-content: center;
	}
	&_box{
		background-color: #fff;
		padding: 50px 100px 90px 100px;
	}
	&_btn{
		margin: 60px auto 0 auto;
		width: 330px;
		height: 60px;
		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: 18px;
				letter-spacing: 0.05em;
				font-weight: 700;
				background: url(../images/common/icon_mark01.png) no-repeat left center;
				padding-left: 25px;
				color:$textColor;
			}
			&:hover{
				opacity: 0.7;
				transition: 0.6s;
			}
		}
	}
	&_tbl{
		table{
			width: 100%;
			th{
				font-size: 18px;
				letter-spacing: 0.05em;
				width: 250px;
				border-bottom: 1px solid #dddddd;
				padding: 30px 20px;
				box-sizing: border-box;
				vertical-align: top;
			}
			td{
				font-size: 18px;
				letter-spacing: 0.05em;
				width: calc(100% - 250px);
				border-bottom: 1px solid #dddddd;
				padding: 30px 20px;
				box-sizing: border-box;
				line-height: 2.0;
				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: 80px 0 100px 0;
		display: flex;
		justify-content: center;
	}
	&_lead{
		font-size: 18px;
		text-align: center;
		letter-spacing: 0.05em;
		margin-bottom: 60px;
	}
	&_que{
		position: relative;
		padding-left: 50px;
		font-size: 22px;
		letter-spacing: 0.1em;
		font-weight: 700;
		line-height: 1.2;
		cursor: pointer;
		&::before{
			position: absolute;
			margin-top: -5px;
			top: 0;
			left: 0;
			content: "Q.";
			font-family: $en01;
			font-size: 30px;
			letter-spacing: 0.03em;
			font-weight: 700;
		}
		span{
			background: url(../images/faq/aco_open.png) no-repeat left top;
			position: absolute;
			margin-top: -5px;
			top: 50%;
			right: 0;
			content: "";
			width: 29px;
			height: 27px;
			margin-top: -14px;
		}	
	}
	&_ans{
		margin-top: 30px;
		padding: 20px 30px 0 50px;
		position: relative;
		border-top: 1px solid #ddd;
		&::before{
			position: absolute;
			margin-top: -5px;
			top: 20px;
			left: 0;
			content: "A.";
			font-family: $en01;
			font-size: 30px;
			letter-spacing: 0.03em;
			color:$mainColor02;
			font-weight: 700;
		}
		&_txt{
			font-size: 18px;
			line-height: 2.0;
			word-break: break-all;
		}
	}	
	&_box{
		border: 1px solid #ddd;		
		box-sizing: border-box;
		padding: 30px;
		margin-bottom: 20px;
		.accct{
			display: none;
		}		
		&.open{ 
			background-color: #f5f5f5;
			.acctit span{
				background: url(../images/faq/aco_close.png) no-repeat left top;
				width: 29px;
				height: 2px;
				margin-top: -1px;
			}
		}
	}	
}

/*----------------------------------------------------------------------------
******************************************************************************
** welfare
******************************************************************************
----------------------------------------------------------------------------*/
.welfare .common_submain_img{
	background: url(../images/welfare/welfare_mainimg.jpg) no-repeat center center;
	background-size: cover;
}
.welfare_content01{
	&_bg{
		padding: 80px 0 0 0;
		display: flex;
		justify-content: center;
	}
	&_sec{
		padding-bottom: 100px;
	}
	&_lead{
		text-align: center;
		font-size: 18px;
		letter-spacing: 0.05em;
		margin-bottom: 80px;
		line-height: 2.0;
	}
	&_lead02{
		text-align: center;
		font-size: 18px;
		letter-spacing: 0.05em;
		line-height: 2.0;
		margin-bottom: 60px;
		margin-top: -20px;
	}
	&_box01{		
		&_img01{
			margin-bottom: 20px;
		}
		&_list01{
			padding: 25px 20px 10px 20px;
			background-color: #f5f5f5;
			&_txt{
				font-size: 22px;
				font-weight: 700;
				margin-bottom: 30px;
				text-align: center;
			}
			&_in{
				display: flex;
				flex-wrap: wrap;
				justify-content: center;
			}
			ul{		
				display: flex;
				flex-wrap: wrap;
				li{					
					margin-bottom: 30px;
					font-size: 18px;
					font-weight: 700;
					letter-spacing: 0.05em;
					background: url(../images/common/icon_check.png) no-repeat left 8px;
					padding-left: 26px;
					&:nth-child(1),&:nth-child(2),&:nth-child(3),&:nth-child(4){
						width: 25%;
					}
					&:nth-child(5),&:nth-child(6){
						width: 50%;
					}
				}
			}
		}
	}
	&_box02{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		margin-bottom: 70px;
		&_disc{
			width: 47.5%;
		}
		&_img{
			width: 47.5%;
			img{
				width: 100%;
			}
		}
		&_txt{
			font-size: 18px;
			line-height: 2.0;
		}
	}
	&_box03{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin-bottom: 70px;
		&_list{
			width: calc((100% - 40px) / 3);
			background-color: #f5f5f5;
			padding: 30px 35px;
			ul{
				li{
					background: url(../images/common/icon_check.png) no-repeat left 8px;
					padding-left: 26px;
					font-size: 17px;
					&:not(:last-child){
						margin-bottom: 10px;
					}
				}
			}
		}
		&_etc{
			font-size: 18px;
			letter-spacing: 0.05em;
			text-align: right;
			display: block;
		}
		&_ttl{
			font-size: 22px;
			letter-spacing: 0.05em;
			font-weight: 700;
			line-height: 1.2;
			margin-bottom: 30px;
			text-align: center;
		}
		&_txt{
			font-size: 17px;
			line-height: 2.0;
		}
	}
}

/*----------------------------------------------------------------------------
******************************************************************************
** 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: 80px 0;
	}
}
.common_form_lead{
	text-align: center;
	margin-bottom: 40px;
}
.common_form_step{
	text-align: center;
	margin-bottom: 40px;
}
.common_form_tbl{
	table{
		width: 100%;
		tbody{
			tr{
				th{
					border-bottom: 1px solid #c91211;
					padding: 25px 0;
					-webkit-box-sizing: border-box;
					-moz-box-sizing: border-box;
					box-sizing: border-box;
					letter-spacing: 0.05em;
					width: 230px;
					vertical-align: top;
					line-height: 50px;
					position: relative;
					.must {
						color: #FFF;
						font-size: 13px;
						font-weight: 600;
						height: 24px;
						line-height: 24px;
						width: 45px;
						background-color: #e71a19;
						position: absolute;
						right: 10px;
						top: 39px;
						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: 10px;
						top: 39px;
						text-align: center;
						border-radius: 2px;
					}
				}
				th.th01{
					line-height: 1.6;
				}				
				th.th03{
					line-height: 1.6;
					padding-right: 65px;
				}
				td{
					border-bottom: 1px solid #ddd;
					padding: 25px 10px;
					-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 20px;
						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: 20px 20px;
						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 20px;
						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{
						display: flex;
						flex-wrap: wrap;
					}
					.bithday .bithday_parts01{
						display: flex;
						align-items: center;	
					}
					.bithday.box .bithday_parts01{
						min-height: 48px;
						line-height: 48px;
					}
					.bithday.box .bithday_parts02{
						margin-left: 10px;
						margin-right: 15px;
					}
				}			
			}
		}
	}	
}
.privacy_agree {
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 60px 0 40px 0;
	padding: 25px 15px;
	background-color: #f3f3f3;
	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;
	}
	.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: 20px;
	}
}
.privacy_agree label{
	cursor: pointer;
}
.privacy_agree_error{
	text-align: center;
}
.send_btn{
	display: flex;
	justify-content: center;
	margin-top: 40px;
}
.send_btn .btn_submit {
	color: $mainColor02;
	height: 64px;
	display: block;
	line-height: 66px;	
	position: relative;
	text-align: center;
	width: 360px;
	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: 30px;
	top: 50%;
	content: "";
	width: 10px;
	height: 1px;
	transform: rotate(30deg);
	margin-top: -2px;
	transition: 0.3s;
}
.send_btn .btn_submit:hover::before{
	right: 20px;
	transition: 0.3s;
}
.send_btn .btn_submit::after{
	border-bottom: 1px solid $mainColor02;
	position: absolute;
	right: 30px;
	top: 50%;
	content: "";
	width: 36px;
	height: 1px;
	transition: 0.3s;
}
.send_btn .btn_submit:hover::after{
	right: 20px;
	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: 18px;
	font-weight: 500;
	letter-spacing: 0.1em;
	width: 100%;
    display: block;
    height: 60px;
}
.mw_wp_form.mw_wp_form_confirm .send_btn .btn_back {
	height: 64px;
	display: block;
	line-height: 60px;	
	position: relative;
	text-align: center;
	width: 200px;
	cursor: pointer;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	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;
}
.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: 15px;
	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{
	left: 10px;
	transition: 0.3s;
}
.mw_wp_form.mw_wp_form_confirm .send_btn .btn_back::after{
	border-bottom: 1px solid #999;
	position: absolute;
	left: 15px;
	top: 50%;
	content: "";
	width: 34px;
	height: 1px;
	transition: 0.3s;
}
.mw_wp_form.mw_wp_form_confirm .send_btn .btn_back:hover::after{
	left: 10px;
	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:#FFF;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.1em;
	width: 100%;
    display: block;
    height: 60px;
	padding-left: 25px;
	color:#999;
}
.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: 16px;
	letter-spacing: 0.05em;
}
:-ms-input-placeholder {
	color: #999;
	font-size: 16px;
	letter-spacing: 0.05em;
}
::placeholder {
	 color: #999;
	font-size: 16px;
	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;
}
.confirm_txt{
	text-align: center;
	p{
		margin-bottom: 10px;
	}
}
.thanks_txt{
	margin-top: 60px;
	text-align: center;
	p{
		margin-bottom: 10px;
	}
}
.privacy_agree_before{
	margin-top: 60px;
	&_ttl{
		color:$mainColor02;
		font-weight: 700;
		margin-bottom: 15px;
		text-align: center;
		letter-spacing: 0.05em;
		font-size: 18px;
	}
	&_txt{
		margin-bottom: 20px;
		text-align: center;
	}
	a{
		color:$mainColor02;
		margin: 0 5px;
	}
}
.privacy_agree_box{
	border: 1px solid #ddd;
	overflow-y: scroll;
	padding: 30px;
	height: 300px;
	margin: 10px 0 20px 0;
	box-sizing: border-box;
	&_ttl{
		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: 80px 0;
		text-align: center;
		.common_btn01{
			margin-left: auto;
			margin-right: auto;
		}
	}
}

/*----------------------------------------------------------------------------
******************************************************************************
** category
******************************************************************************
----------------------------------------------------------------------------*/
.category .common_submain_img{
	background: url(../images/overview/overview_mainimg.jpg) no-repeat center center;
	background-size: cover;
}
.category_recruitment{
	&_bg{
		padding: 80px 0 120px 0;
		display: flex;
		justify-content: center;
		.common_sub_recruitment_box{
			margin: 0 -15px;
			display: flex;
			flex-wrap:wrap;
		}
		.common_sub_recruitment_slider_sn{
			border: 1px solid #ddd;
			box-sizing: border-box;				
			width: calc((100% - 90px) / 3);
			margin-bottom: 30px;
		}
	}	
}
.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;
}
.blog_pagenavi {
	padding: 60px 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: 260px;
	height: 52px;
	color: #FFF;
	font-size: 16px;
	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;
}



