@charset "UTF-8";
@import url(./reset.css);
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

* {
	box-sizing: border-box;
}

html {
	overflow: auto;
}
body {
	font-family: "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	font-weight: normal;
	font-size: 15px;
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
	line-height: 1;
	color: #222;
	background-color: #f8f6f0;
	letter-spacing: 0.05em;
}

img {
	border: none;
	vertical-align: bottom;
	height: auto;
}

.clearfix:after {
	content: ""; 
	display: block; 
	height: 0; 
	font-size:0;	
	clear: both; 
	visibility:hidden;
}

.mb0 { margin-bottom: 0px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb50 { margin-bottom: 50px !important; }
.mb60 { margin-bottom: 60px !important; }
.mb1em { margin-bottom: 1em !important; }
.mb2em { margin-bottom: 2em !important; }
.mb3em { margin-bottom: 3em !important; }
.mb4em { margin-bottom: 4em !important; }
.mb5em { margin-bottom: 5em !important; }
.mb6em { margin-bottom: 6em !important; }
.pt0 { padding-top: 0px !important; }
.pb0 { padding-bottom: 0px !important; }
.pt60 { padding-top: 60px !important; }
.pb60 { padding-bottom: 60px !important; }
.center { text-align: center; }
.alignright { float: right; margin: 0 0 40px 40px;}
.aligncenter { text-align: center; }
.bold { font-weight: 900; }
.nowrap { white-space: nowrap; }


.en {
	font-family: 'Montserrat', sans-serif;
	font-weight: 800;
	font-style: italic;
	letter-spacing: 0em;

}

@media screen and (max-width: 999px){
	.pcOnly{
		display: none !important;
	}
	
	.alignright { float: none; margin: 0 0 20px 0;}
}

@media screen and (min-width: 768px){
	.spOnly{
		display: none !important;
	}
}

#wrapper {
	width: 100%;
	position: relative;
	margin: 0 auto;
}

@media screen and (max-width: 999px){
	#wrapper {
		min-width: 100%;
	}
}

#js-menuBk {
	display: none;
	position: fixed;
	z-index: 10;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.6);
}

/*------ヘッダーメニュー-----*/


header {
	display: flex;
	justify-content: space-between;
	width: 110px;
	height: 100%;
	position: fixed;
	right: 0;
	top: 0;
	background-color: #fff;
	border-left: 1px solid #e2e2e2;
	z-index: 999;
}

.btn_spmenu {
	position: fixed;
	right: 0px;
	top: 0px;
	display: block;
	width: 110px;
	height: 90px;
	text-align: center;
	cursor: pointer;
	z-index: 999;
}

.menubtn {
	position: fixed;
	right: 0;
	top: 0;
}

.btn_close {
	position: absolute;
	right: 0px;
	top: 0px;
	display: block;
	width: 110px;
	height: 90px;
	color: #ffffff;
	text-align: center;
	cursor: pointer;
	z-index: 999;
}
.btn_spmenu span,
.btn_spmenu::before,
.btn_spmenu::after {
	content: '';
	width: 46px;
	height: 1px;
	position: absolute;
	top: 35px;
	left: 50%;
	margin-left: -23px;
	background: #222;
	transition: all 0.3s ease;
}
.btn_spmenu::before {
	transform: translateY(-10px);
}
.btn_spmenu::after {
	transform: translateY(10px);
	width: 30px;
}
.btn_spmenu p, .btn_close p {
	position: absolute;
	left: 50%;
	bottom: 15px;
	font-size: 14px;
	color: #222;
	font-style: normal;
	font-weight: 500;
	letter-spacing: 0.05em;
	transform: translateX(-50%);
}
.btn_close span,
.btn_close::before,
.btn_close::after {
	content: '';
	width: 50px;
	height: 1px;
	position: absolute;
	top: 35px;
	left: 50%;
	margin-left: -25px;
	background: #222;
	transition: all 0.3s ease;
}
.btn_close span {
	opacity: 0;
}
.btn_close::before {
	transform: translateY(0) rotate(30deg);
}
.btn_close::after {
	transform: translateY(0) rotate(-30deg);
}

header .hd {
	font-size: 16px;
	color: #d0cfcf;
	text-align: center;
	letter-spacing: 0.05em;
	writing-mode: vertical-rl;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	text-decoration: none !important;
}
header .hd .jp {
	display: none;
}
header .fixedmenu {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
}
header .fixedmenu .btn_outline a {
	width: 100%;
	background-color: #f5f5f5;
	height: 90px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 14px;
	font-weight: 500;
	color: #222;
	text-decoration: none;
	transition: opacity 0.3s ease;
}
header .fixedmenu .btn_outline a:hover {
	opacity: 0.6;
}
header .fixedmenu .btn_entry a {
	width: 100%;
	background-color: #a60030;
	height: 90px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 18px;
	color: #fff;
	text-decoration: none;
	letter-spacing: 0.075em;
	transition: opacity 0.3s ease;
}
header .fixedmenu .btn_entry a:hover {
	opacity: 0.6;
}

@media screen and (max-width: 1199px){
	
	header {
		width: 90px;
	}
	.btn_spmenu {
		width: 90px;
		height: 90px;
	}
	.btn_close {
		width: 90px;
		height: 90px;
	}
	.btn_spmenu span,
	.btn_spmenu::before,
	.btn_spmenu::after {
		width: 46px;
		top: 35px;
		margin-left: -23px;
	}
	.btn_spmenu p, .btn_close p {
		bottom: 15px;
		font-size: 14px;
	}
	.btn_close span,
	.btn_close::before,
	.btn_close::after {
		width: 50px;
		top: 35px;
		margin-left: -25px;
	}
	header .hd {
		font-size: 16px;
	}
	header .fixedmenu .btn_outline a {
		height: 70px;
		font-size: 14px;
	}
	header .fixedmenu .btn_entry a {
		height: 70px;
		font-size: 16px;
	}
	
}

@media screen and (max-width: 999px){

	header {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		height: 60px;
		right: 0;
		border: none;
		border-bottom: 1px solid #e2e2e2;
	}
	.btn_spmenu {
		width: 60px;
		height: 60px;
	}
	.btn_close {
		width: 60px;
		height: 60px;
	}
	.btn_spmenu span,
	.btn_spmenu::before,
	.btn_spmenu::after {
		width: 36px;
		top: 20px;
		margin-left: -18px;
	}
	.btn_spmenu::before {
		transform: translateY(-8px);
	}
	.btn_spmenu::after {
		transform: translateY(8px);
		width: 20px;
	}
	.btn_spmenu p, .btn_close p {
		bottom: 10px;
		font-size: 11px;
	}
	.btn_close span,
	.btn_close::before,
	.btn_close::after {
		width: 40px;
		top: 20px;
		margin-left: -20px;
	}
	header .hd {
		font-size: 18px;
		color: #a60030;
		text-align: left;
		writing-mode: horizontal-tb;
		position: relative;
		left: auto;
		margin-left: 15px;
		top: auto;
		transform: translate(0,0);
		display: block;
	}
	header .hd .en {
		display: block;
	}
	header .hd .jp {
		color: #222;
		font-size: 11px;
		display: block;
		margin: 5px 0 0 0;
	}
	header .fixedmenu {
		position: fixed;
		bottom: -46px;
		left: 0;
		width: 100%;
		transition: all 0.3s ease;
	}
	header .fixedmenu.showIn {
		bottom: 0;
	}
	header .fixedmenu ul {
		display: flex;
	}
	header .fixedmenu li {
		width: 50%;
	}
	header .fixedmenu .btn_outline a {
		width: 100%;
		height: 46px;
		font-size: 13px;
	}
	header .fixedmenu .btn_entry a {
		width: 100%;
		height: 46px;
		font-size: 15px;
	}

}


@media screen and (max-width: 767px){

	header .hd {
		font-size: 15px;
	}

}


/*------メニューOPEN------*/


.g_navi {
	position: fixed;
	z-index: -9999;
	top: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
	border: none;
	background: #fff;
	transition: all .3s;
	display: flex;
	justify-content: space-between;
	align-items: center;
	opacity: 0;
	visibility: hidden;
	overflow: auto; /*追加*/
	-webkit-overflow-scrolling: touch; /*追加*/
}
.g_navi.is-active {
	z-index: 9999;
	opacity: 1;
	visibility: visible;
}
.g_navi .left {
	width: 50%;
	background-color: #a60030;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.g_navi .left img {
	width: 100%;
}
.g_navi .right {
	width: 50%;
	height: 100%;
	padding: 0 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
.g_navi .right .in {
	width: 95%;
	max-width: 450px;
}
.g_navi {
	display: flex;
	justify-content: space-between;
}
.g_navi_sp {
	margin-bottom: 30px;
}
.g_navi_sp ul {
	margin-bottom: 50px;
}
.g_navi_sp li {
	margin-bottom: 30px;
	font-size: 28px;
	line-height: 1.3;
	font-weight: 800;
}
.g_navi_sp li a::before {
	content: '';
	display: inline-block;
	width: 30px;
	height: 1px;
	background-color: #a60030;
	margin-right: 30px;
}
.g_navi_sp li a {
	color: #222;
	text-decoration: none;
	display: flex;
	align-items: center;
	padding: 10px 0;
	transition: opacity 0.3s ease;
}
.g_navi_sp li a:hover {
	opacity: 0.6;
}
.g_navi_sp .btn_entry a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100px;
	background-color: #a60030;
	color: #fff;
	text-decoration: none;
	margin-bottom: 10px;
	transition: opacity 0.3s ease;
}
.g_navi_sp .btn_entry a:hover {
	opacity: 0.6;
}
.g_navi_sp .btn_entry .en {
	font-size: 36px;
	margin-right: 25px;
}
.g_navi_sp .btn_entry .jp {
	font-size: 16px;
	margin-right: 25px;
}
.g_navi_sp .btn_entry a::after {
	content: '';
	display: inline-block;
	width: 39px;
	height: 16px;
	background: url("../img/recruit/arrow_entry.png") no-repeat left top;
	background-size: cover;
}
.g_navi_sp .btn_entry .att {
	font-size: 12px;
	line-height: 1.5;
}
.g_navi .cp {
	position: absolute;
	right: 0;
	bottom: 0;
	padding: 0 40px 40px;
	display: flex;
	justify-content: space-between;
}
.g_navi .cp small {
	order: -1;
	font-size: 11px;
}
.g_navi .cp li {
	display: inline-block;
	font-size: 13px;
	margin-left: 30px;
}
.g_navi .cp a {
	color: #222;
	text-decoration: none;
}
.g_navi .cp a:hover {
	text-decoration: underline;
}
.g_navi .cp li a::after {
	content: '';
	display: inline-block;
	width: 17px;
	height: 13px;
	background: url("../img/recruit/icon_blank.png") no-repeat left top;
	background-size: cover;
	margin-left: 15px;
}


@media screen and (max-width: 999px){
	
	.g_navi .left {
		display: none;
	}
	.g_navi .right {
		width: 100%;
		padding: 60px 20px 40px;
		align-items: flex-start;
	}
	.g_navi .right .in {
		width: 100%;
		max-width: 480px;
	}
	.g_navi {
		display: block;
	}
	.g_navi_sp {
		margin-bottom: 30px;
	}
	.g_navi_sp ul {
		margin-bottom: 50px;
	}
	.g_navi_sp li {
		margin-bottom: 30px;
		font-size: 24px;
	}
	.g_navi_sp li a::before {
		width: 20px;
		margin-right: 20px;
	}
	.g_navi_sp li a {
		padding: 5px 0;
	}
	.g_navi_sp .btn_entry a {
		flex-direction: column;
		height: 100px;
		text-align: center;
		position: relative;
	}
	.g_navi_sp .btn_entry .en {
		font-size: 30px;
		margin: 0 0 10px;
	}
	.g_navi_sp .btn_entry .jp {
		font-size: 14px;
		margin: 0;
	}
	.g_navi_sp .btn_entry a::after {
		position: absolute;
		right: 10px;
		top: 50%;
		width: 20px;
		height: 8px;
		transform: translateY(-50%);
	}
	.g_navi_sp .btn_entry .att {
		font-size: 11px;
		text-align: center;
	}
	.g_navi .cp {
		position: relative;
		right: auto;
		bottom: auto;
		padding: 20px 0;
		display: flex;
		justify-content: center;
	}
	.g_navi .cp li {
		font-size: 12px;
		margin-left: 30px;
	}
	.g_navi .cp li:first-child {
		margin-left: 0;
	}
	.g_navi .cp li a::after {
		margin-left: 10px;
	}



}


@media screen and (max-width: 767px){
	
	.g_navi_sp ul {
		margin-bottom: 40px;
	}
	.g_navi_sp li {
		margin-bottom: 20px;
	
	}
	.g_navi_sp li a::before {
		margin-right: 10px;
	}
	.g_navi_sp .btn_entry a {
		height: 80px;
	}
	.g_navi_sp .btn_entry .en {
		font-size: 24px;
	}

}

/*------トップページ------*/


.scroll {
	font-size: 12px;
	position: fixed;
	right: 160px;
	bottom: 0;
	transform: translateX(50%);
	z-index: 9;
	color: #a60030;
	writing-mode: vertical-rl;
	letter-spacing: 0.2em;
	font-family: 'Montserrat', sans-serif;
	font-weight: 500;
	font-style: normal;
	height: 140px;
	padding-left: 15px;
}
.scroll span {
	position: absolute;
	content: '';
	display: inline-block;
	bottom: 0;
	left: 0;
	width: 1px;
	height: 140px;
	background-color: #a60030;
	animation: sdl 2s cubic-bezier(1, 0, 0, 1) infinite;
}
@keyframes sdl {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}

.kv {
	width: calc( ( 100% - 110px ) * 0.45 );
	height: 100%;
	position: fixed;
	left: 0;
	top: 0;
	color: #fff;
}
.kv .ttl {
	width: calc( ( 100% - 110px ) * 0.45 );
	padding: 20px;
	position: fixed;
	left: 0;
	bottom: 0;
	z-index: 99;
}
.kv img {
	width: 100%;
	margin-bottom: 40px;
}
.kv .jp {
	font-size: 1.6vw;
	font-weight: 600;
	margin-bottom: 50px;
	opacity: 1;
}

.swiper-container {
	width: 100%;
	height: 100%;
	position: relative;
}
.swiper-container .swiper-wrapper, .swiper-container .swiper-slide {
	width: 100%;
	height: 100%;
}	
.kv .slide01 {
	background: url("../img/recruit/person_2_01.jpg") no-repeat 50% 50%;
	background-size: cover;
}
.kv .slide02 {
	background: url("../img/recruit/mv_welfare.jpg") no-repeat 50% 50%;
	background-size: cover;
}
.kv .slide03 {
	background: url("../img/recruit/mv.jpg") no-repeat 50% 50%;
	background-size: cover;
}
.kv .slide04 {
	background: url("../img/recruit/mv_recruitment.jpg") no-repeat 50% 50%;
	background-size: cover;
}

@media screen and (max-width: 1199px){
	
	.kv {
		width: calc( ( 100% - 110px ) * 0.4 );
	}
	.kv .ttl {
		width: calc( ( 100% - 110px ) * 0.4 );
	}
	.scroll {
		font-size: 10px;
		right: 150px;
		height: 120px;
		padding-left: 15px;
	}
	.scroll span {
		height: 120px;
	}
	
}

@media screen and (max-width: 999px){
	
	.scroll {
		font-size: 10px;
		right: 30px;
		bottom: 0px;
		color: #fff;
		height: 100px;
		padding-left: 10px;
	}
	.scroll span {
		height: 100px;
		background-color: #fff;
	}
	.kv {
		margin-top: 60px;
		width: 100%;
		height: calc( 100vh - 60px );
		position: relative;
		left: auto;
		top: auto;
	}
	.kv .slide01 {
		background: url("../img/recruit/person_2_01.jpg") no-repeat 50% 30%;
		background-size: cover;
	}
	.kv .slide02 {
		background: url("../img/recruit/mv_welfare.jpg") no-repeat 50% 30%;
		background-size: cover;
	}
	.kv .slide03 {
		background: url("../img/recruit/mv.jpg") no-repeat 50% 50%;
		background-size: cover;
	}
	.kv .slide04 {
		background: url("../img/recruit/mv_recruitment.jpg") no-repeat 50% 50%;
		background-size: cover;
	}
	.kv .ttl {
		width: 100%;
		padding: 20px;
		position: absolute;
		left: 0;
		bottom: 5%;
		top: auto;
		transform: translateY(0%);
	}
	.kv img {
		width: 65vw;
		margin-bottom: 5vw;
	}
	.kv .jp {
		font-size: 2.6vw;
		margin-bottom: 0px;
	}

}

@media screen and (max-width: 599px){
	
	.kv {

	}
	.kv .ttl {
		padding: 5.3vw;
	}
	.kv img {
		width: 85vw;
		margin-bottom: 8vw;
	}
	.kv .jp {
		font-size: 5.3vw;
	}

}


/*------右側コンテンツ------*/

.container {
	margin-left: calc( ( 100% - 110px ) * 0.45 );
	margin-right: 110px;
	position: relative;
}

@media screen and (max-width: 1199px){
	
	.container {
		margin-left: calc( ( 100% - 110px ) * 0.4 );
		margin-right: 90px;
	}
	
}

@media screen and (max-width: 999px){

	.container {
		margin: 0;
	}
	
}

@media screen and (max-width: 599px){
	
}

/*------トップページ導入------*/

section.home_intro {
	padding: 4vw 5vw;
	position: relative;
	display: flex;
	justify-content: center;
}

section.home_intro p.en {
	color: #a60030;
	font-size: 1.4vw;
	margin-bottom: 2.1vw;
	letter-spacing: 0.075em;
}
section.home_intro p.lead {
	position: relative;
	font-size: 3.9vw;
	font-weight: 900;
	line-height: 1.5;
	margin-bottom: 2.1vw;;
	letter-spacing: 0.075em;
}
section.home_intro p.lead::after {
	content: '';
	display: inline-block;
	position: absolute;
	right: -1.5vw;
	top: -7vw;
	width: 13.5vw;
	height: 9.2vw;
	background: url("../img/recruit/txt_joinus.png") no-repeat left top;
	background-size: cover;
}
section.home_intro p.honbun {
	font-size: 1.14vw;
	font-weight: 500;
	line-height: 2;
	margin-bottom: -6.4vw;
	letter-spacing: 0.1em;
}
section.home_intro .img {
	position: relative;
	z-index: -1;
}
section.home_intro .img img {
	width: 100%;
}

@media screen and (max-width: 1199px){

	section.home_intro {
		padding: 4.5vw 4.5vw;
	}

	section.home_intro p.en {
		font-size: 1.68vw;
		margin-bottom: 2.1vw;
	}
	section.home_intro p.lead {
		font-size: 4.68vw;
		margin-bottom: 2.1vw;;
	}
	section.home_intro p.lead::after {
		right: -1.5vw;
		top: -7vw;
		width: 13.5vw;
		height: 9.2vw;
	}
	section.home_intro p.honbun {
		font-size: 1.37vw;
		margin-bottom: -6.4vw;
	}

}
	
@media screen and (max-width: 999px){

	section.home_intro {
		padding: 8vw 10vw;
	}

	section.home_intro p.en {
		font-size: 2.8vw;
		margin-bottom: 4.2vw;
	}
	section.home_intro p.lead {
		font-size: 7.8vw;
		margin-bottom: 4.2vw;
	}
	section.home_intro p.lead::after {
		right: -3vw;
		top: -14vw;
		width: 27vw;
		height: 18.4vw;
	}
	section.home_intro p.honbun {
		font-size: 2.28vw;
		margin-bottom: -12.8vw;
	}

	
}

@media screen and (max-width: 599px){
	
	section.home_intro {
		padding: 10vw 6vw;
	}

	section.home_intro p.en {
		font-size: 3.5vw;
		margin-bottom: 5vw;
	}
	section.home_intro p.lead {
		font-size: 8.6vw;
		margin-bottom: 5vw;
	}
	section.home_intro p.lead::after {
		top: -16vw;
	}
	section.home_intro p.honbun {
		font-size: 3.2vw;
		margin-bottom: -9vw;
	}

}

/*------h2------*/

.hdg {
	margin-bottom: 35px;
}
.hdg .en {
	color: #a60030;
	font-size: 58px;
	margin-bottom: 25px;
	letter-spacing: 0.05em;
}
.hdg .jp {
	font-size: 18px;
	font-weight: bold;
}

@media screen and (max-width: 1199px){
	
	.hdg .en {
		font-size: 52px;
		margin-bottom: 20px;
	}
	.hdg .jp {
		font-size: 17px;
	}
	
}

@media screen and (max-width: 999px){
	
	.hdg {
		text-align: center;
	}
	
}

@media screen and (max-width: 599px){

	.hdg {
		margin-bottom: 30px;
	}
	.hdg .en {
		font-size: 28px;
		margin-bottom: 15px;
	}
	.hdg .jp {
		font-size: 14px;
	}
	
}

/*------トップページ私たちの仕事------*/

section.home_about {
	background-color: #fff;
	padding: 60px 70px;
}
section.home_about .inner {
	margin: 0 auto;
	width: 100%;
	max-width: 640px;
}
section.home_about .hdg {
	text-align: center;
}
section.home_about .lead {
	font-size: 24px;
	line-height: 1.8;
	font-weight: bold;
	text-align: center;
	margin-bottom: 40px;
}
section.home_about .honbun {
	font-size: 15px;
	line-height: 2;
}
section.home_about img {
	width: 40%;
	max-width: 250px;
	float: right;
	margin: 0 0 20px 25px;
}
.btn_more {
	display: flex;
	justify-content: center;
	padding: 30px 0;
}

@media screen and (max-width: 599px){

	section.home_about {
		padding: 40px 20px;
	}
	section.home_about .inner {
		max-width: 480px;
	}
	section.home_about .lead {
		font-size: 18px;
		margin-bottom: 30px;
	}
	section.home_about .honbun {
		font-size: 13px;
		line-height: 1.8;
	}
	section.home_about img {
		width: 100%;
		max-width: 300px;
		float: none;
		display: block;
		margin: 0 auto 20px;
	}
	
}

/*------戻るボタン------*/

.btn_more {
	display: flex;
	justify-content: center;
	padding: 30px 0 0;
}

.btn_more a {
	max-width: 300px;
	width: 100%;
	height: 50px;
	color: #a60030;
	text-decoration: none;
	border: 1px solid #a60030;
	border-radius: 5px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 15px;
	position: relative;
	font-weight: bold;
	transition: opacity 0.3s ease;
}
.btn_more a:hover {
	opacity: 0.6;
}
.btn_more a::after {
	content: '';
	display: inline-block;
	width: 22px;
	height: 15px;
	background: url("../img/recruit/arrow_recruit_back.png") no-repeat 50% 50%;
	background-size: cover;	
	position: absolute;
	right: 10px;
	top: 50%;
	margin-top: -7px;
}
.btn_blank a::after {
	content: '';
	display: inline-block;
	width: 17px;
	height: 13px;
	background: url("../img/recruit/icon_blank.png") no-repeat 50% 50%;
	background-size: cover;	
	position: absolute;
	right: 10px;
	top: 50%;
	margin-top: -7px;
}
@media screen and (max-width: 599px){
	
	.btn_more {
		padding: 20px 0 0;
	}
	.btn_more a {
		max-width: 300px;
		height: 46px;
		font-size: 13px;
	}
	
}

/*------トップぺージインタビュー------*/

section.home_person {
	padding: 60px 70px;
	overflow: hidden;
}
section.home_person .inner {
	margin: 0 auto;
	width: 100%;
	position: relative;
	max-width: 640px;
}

.swiper-container2 .swiper-wrapper, .swiper-container2 .swiper-slide {
	width: 100%;
	height: 100%;
	position: relative;
}
.swiper-container2 .swiper-slide {
	margin-top: 30px !important;
	margin-bottom: 30px !important;
}
.swiper-container2 .swiper-slide a {
	text-decoration: none;
	transition: opacity 0.3s ease;
}
.swiper-container2 .swiper-slide a:hover {
	opacity: 0.6;
}
.home_person .img {
	width: 100%;
	height: 100%;
	position: relative;
	margin-bottom: 50px;
}
.home_person .img .no {
	mix-blend-mode: multiply;
	position: absolute;
	top: -30px;
	left: 15px;
}
_::-webkit-full-page-media, _:future, :root .home_person .img .no {
	left: -25px;
}
.home_person .img .no img {
	height: 50px;
}
.home_person .txt {
	position: absolute;
	right: -10px;
	bottom: -40px;
	background-color: #fff;
	padding: 20px;
	min-width: 100px;
	color: #222;
}
.home_person img {
	width: 100%;
}
.home_person .txt .name {
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 1em;
}
.home_person .txt .more {
	font-size: 12px;
	line-height: 1.5;
}
.ppl_pagenation {
	position: absolute;
	top: 40px;
	right: 0;
	z-index: 99;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.ppl_pagenation div {
	transition: opacity 0.3s ease;
}

.ppl_pagenation div:hover {
	opacity: 0.6;
}

.ppl_pagenation .btn_prev {
	width: 54px;
	height: 54px;
	border-radius: 50%;
	background: url("../img/recruit/arrow_prev.png") no-repeat center center;
	background-size: 12px;
	cursor: pointer;
	margin-right: 15px;
	border: 1px solid #a60030;
}
.ppl_pagenation .btn_next {
	width: 54px;
	height: 54px;
	border-radius: 50%;
	background: url("../img/recruit/arrow_next.png") no-repeat center center;
	background-size: 12px;
	cursor: pointer;
	border: 1px solid #a60030;
}
.swiper-scrollbar {
	background-color: #e7e7e7 !important;
	height: 3px !important;
	left: 0%; !important;
	bottom: auto !important;
	width: 100% !important;
}
.swiper-scrollbar-drag {
	background-color: #a60030 !important;
	height: 3px !important;
}
.home_person .btn_more {
	padding-top: 40px;
}

@media screen and (max-width: 999px){

	section.home_person .hdg {
		text-align: left;
		
	}
	.ppl_pagenation {
		top: 20px;
	}
}

@media screen and (max-width: 599px){

	section.home_person {
		padding: 40px 20px;
	}
	section.home_person .inner {
		max-width: 480px;
	}
	.swiper-container2 .swiper-slide {
		margin-top: 30px !important;
		margin-bottom: 30px !important;
	}
	.home_person .img {
		margin-bottom: 30px;
	}
	.home_person .img .no {
		top: -24px;
		left: 10px;
	}
	.home_person .img .no img {
		height: 40px;
	}
	.home_person .txt {
		bottom: -30px;
		padding: 15px;
		min-width: 130px;
	}
	.home_person .txt .name {
		font-size: 14px;
	}
	.home_person .txt .more {
		font-size: 11px;
	}
	.ppl_pagenation {
		top: 10px;
	}
	.ppl_pagenation .btn_prev {
		width: 40px;
		height: 40px;
		margin-right: 10px;
	}
	.ppl_pagenation .btn_next {
		width: 40px;
		height: 40px;
	}
	
}

/*------トップぺージFAQ------*/

section.home_faq {
	padding: 60px 70px;
	overflow: hidden;
	background-color: #fff;
}
section.home_faq .inner {
	margin: 0 auto;
	width: 100%;
	position: relative;
	max-width: 640px;
}
section.home_faq .hdg {
	text-align: center;
}
.ul_faq li {
	border-left: 3px solid #a60030;
	background-color: #f8f6f0;
	margin-bottom: 20px;
}
body.page-faq .ul_faq li {
	background-color: #fff;
}
.ul_faq li > div {
	display: flex;
	justify-content: space-between;
	padding: 20px 20px 20px 0;
	line-height: 1.8;
	font-size: 15px;
}
.ul_faq li > div .en {
	width: 60px;
	font-size: 24px;
	text-align: center;
	color: #a60030;
}
.ul_faq li .answer .en {
	color: #222;
}
.ul_faq li > div .txt {
	width: calc( 100% - 70px );
}
.ul_faq .question {
	font-size: 14px;
	font-weight: bold;
	align-items: center;
	padding: 20px 70px 20px 0;
	position: relative;
	cursor: pointer;
}
.ul_faq .question::after {
	content: '';
	display: inline-block;
	position: absolute;
	right: 30px;
	top: 50%;
	transform: translateY(-50%);
	width: 28px;
	height: 28px;
	background: url("../img/recruit/plus.png") no-repeat left top;
	background-size: cover;
}
.ul_faq .question.active::after {
	background: url("../img/recruit/minus.png") no-repeat left top;
	background-size: cover;
}
.ul_faq .answer {
	padding-top: 0;
}
.sec_faq .btn {
	margin: 0 auto;
}
.ul_faq li > div .txt a {
	color: #a60030;
	text-decoration: underline;
}
.ul_faq li > div .txt a:hover {
	text-decoration: none;
}


@media screen and (max-width: 599px){
	
	section.home_faq {
		padding: 40px 20px;
	}
	section.home_faq .inner {
		max-width: 480px;
	}
	.ul_faq {
		margin-bottom: -20px;
	}
	.ul_faq li {
		border-left: 3px solid #a60030;
		margin-bottom: 20px;
	}
	.ul_faq li > div {
		padding: 15px 15px 15px 0;
		font-size: 13px;
	}
	.ul_faq li > div .en {
		width: 50px;
		font-size: 18px;
	}
	.ul_faq li > div .txt {
		width: calc( 100% - 50px );
	}
	.ul_faq .question {
		font-size: 13px;
		padding: 15px 50px 15px 0;
	}
	.ul_faq .question::after {
		right: 15px;
		width: 20px;
		height: 20px;
	}

}

/*------トップぺージその他------*/

section.home_other {
	padding: 40px 70px;
}
section.home_other .inner {
	margin: 0 auto;
	width: 100%;
	position: relative;
	max-width: 640px;
}
section.home_other ul {
	display: flex;
	justify-content: space-between;
}
section.home_other li {
	width: calc( ( 100% - 30px ) / 2 );
	background-color: #fff;
}
section.home_other li a {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	color: #222;
	font-size: 18px;
	font-weight: bold;
	text-decoration: none;
	height: 210px;
	transition: opacity 0.3s ease;
}
section.home_other li a:hover {
	opacity: 0.6;
}
section.home_other li img {
	width: 100px;
	margin-bottom: 20px;
}

@media screen and (max-width: 599px){
	
	section.home_other {
		padding: 30px 20px;
	}
	section.home_other .inner {
		max-width: 480px;
	}
	section.home_other li {
		width: calc( ( 100% - 20px ) / 2 );
	}
	section.home_other li a {
		font-size: 13px;
		height: 120px;
	}
	section.home_other li img {
		width: 60px;
		margin-bottom: 10px;
	}
	
}

/*------フッターエントリー-----*/

body.page-entry section.entry, body.page-thanksentry section.entry {
	display: none;
}
section.entry {
	background-color: #a60030;
	padding: 40px 70px;
}
section.entry a {
	width: 100%;
	border: 1px solid #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	text-decoration: none;
	padding: 25px;
	height: 150px;
	max-width: 640px;
	margin: 0 auto;
}
section.entry a > div {
	text-align: center;
	width: 100%;
	position: relative;
}
section.entry a > div::after {
	content: '';
	display: inline-block;
	position: absolute;
	right: 0px;
	top: 50%;
	transform: translateY(-50%);
	width: 39px;
	height: 16px;
	background: url("../img/recruit/arrow_entry.png") no-repeat 50% 50%;
	background-size: cover;
	transition: all 0.3s ease;
}
section.entry a:hover > div::after {
	transform: translate(10px,-50%);
}
section.entry .en {
	font-size: 46px;
	margin-bottom: 20px;
}
section.entry .jp {
	font-size: 18px;
	font-weight: bold;
}
section.entry .recnavi {
	width: 100%;
	max-width: 270px;
	margin: 0 auto 15px;
	display: block;
}
section.entry .att {
	font-size: 12px;
}

@media screen and (max-width: 599px){

	section.entry {
		padding: 20px 20px 20px;
	}
	section.entry a {
		padding: 20px 15px;
		height: auto;
	}
	section.entry a > div::after {
		width: 30px;
		height: 12px;
	}
	section.entry .en {
		font-size: 36px;
		margin-bottom: 15px;
	}
	section.entry .jp {
		font-size: 15px;
	}
	section.entry .recnavi {
		max-width: 200px;
		margin: 0 auto 15px;
	}
	section.entry .att {
		font-size: 11px;
	}

}

/*------フッター-----*/

footer {
	background-color: #fff;
	text-align: center;
	font-size: 11px;
	padding: 0 70px;
	height: 90px;
	display: flex;
	justify-content: center;
	align-items: center;
}
body.page-thanksentry footer {
	display: none;
}
@media screen and (max-width: 1199px){
	
	footer {
		height: 70px;
	}
	
}

@media screen and (max-width: 999px){
	
	footer {
		height: auto;
		padding: 30px 40px 76px;
	}
	
}


/*--------------下層--------------*/

/*------KV-----*/

.kv_second {
	width: calc( ( 100% - 110px ) * 0.45 );
	height: 100%;
	position: fixed;
	left: 0;
	top: 0;
	color: #fff;
	display: flex;
	align-items: flex-end;
}
body.page-recruitment .kv_second {
	background: url("../img/recruit/mv_recruitment.jpg") no-repeat 50% 30%;
	background-size: cover;
}
body.page-welfare .kv_second {
	background: url("../img/recruit/mv_welfare.jpg") no-repeat 50% 35%;
	background-size: cover;
}
body.page-about .kv_second {
	background: url("../img/recruit/mv_about.jpg") no-repeat 50% 50%;
	background-size: cover;
}
body.page-person .kv_second {
	background: url("../img/recruit/mv_person.jpg") no-repeat left 50% bottom 20%;
	background-size: cover;
}
body.page-faq .kv_second {
	background: url("../img/recruit/mv_faq.jpg") no-repeat 50% 50%;
	background-size: cover;
}
body.page-entry .kv_second, body.page-thanksentry .kv_second {
	background: url("../img/recruit/mv_entry.jpg") no-repeat left 50% bottom 0%;
	background-size: cover;
}
body.page-interview01 .kv_second {
	background: url("../img/recruit/person_1_01.jpg") no-repeat 50% top;
	background-size: cover;
}
body.page-interview02 .kv_second {
	background: url("../img/recruit/person_2_01.jpg") no-repeat 50% top;
	background-size: cover;
}
body.page-interview03 .kv_second {
	background: url("../img/recruit/person_3_01.jpg") no-repeat 50% top;
	background-size: cover;
}
.kv_second .ttlbox {
	width: 35vw;
	max-width: 550px;
	padding: 0 36px;
	background: rgba(166,0,48,0.85);
	margin-bottom: 60px;
	height: 230px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.kv_second .ttlbox .en {
	font-size: 52px;
	margin-bottom: 25px;
}
.kv_second .ttlbox .jp {
	font-size: 22px;
	font-weight: bold;
}

@media screen and (max-width: 1365px){
	
	.kv_second .ttlbox {
		width: 35vw;
		padding: 0 2.6vw;
		margin-bottom: 60px;
		height: 16.8vw;
	}
	.kv_second .ttlbox .en {
		font-size: 3.8vw;
		margin-bottom: 1.8vw;
	}
	.kv_second .ttlbox .jp {
		font-size: 1.6vw;
	}
	
}

@media screen and (max-width: 1199px){
	
	.kv_second {
		width: calc( ( 100% - 110px ) * 0.4 );
	}
	
	.kv_second .ttlbox {
		width: 32vw;
		padding: 0 2.2vw;
		margin-bottom: 40px;
		height: 16.8vw;
	}
	.kv_second .ttlbox .en {
		font-size: 3.6vw;
		margin-bottom: 1.6vw;
	}
	.kv_second .ttlbox .jp {
		font-size: 1.4vw;
	}
	
}

@media screen and (max-width: 999px){
	
	.kv_second {
		margin-top: 60px;
		width: 100%;
		height: 75vw;
		max-height: 600px;
		position: relative;
		left: auto;
		top: auto;
		display: flex;
		align-items: center;
		margin-bottom: 20px;
	}
	body.page-interview01 .kv_second {
		background: url("../img/recruit/person_1_01_sp.jpg") no-repeat 50% 0%;
		background-size: cover;
	}
	body.page-interview02 .kv_second {
		background: url("../img/recruit/person_2_01_sp.jpg") no-repeat 50% 0%;
		background-size: cover;
	}
	body.page-interview03 .kv_second {
		background: url("../img/recruit/person_3_01_sp.jpg") no-repeat 50% 0%;
		background-size: cover;
	}
	.kv_second .ttlbox {
		width: 450px;
		padding: 0 35px;
		margin-bottom: -30px;
		height: 180px;
	}
	.kv_second .ttlbox .en {
		font-size: 50px;
		margin-bottom: 20px;
	}
	.kv_second .ttlbox .jp {
		font-size: 24px;
	}
	
}

@media screen and (max-width: 599px){
	
	.kv_second {
		height: 75vw;
	}
	.kv_second .ttlbox {
		width: 85vw;
		padding: 0 5.8vw;
		height: 29.3vw;
	}
	.kv_second .ttlbox .en {
		font-size: 8.3vw;
		margin-bottom: 4vw;
	}
	.kv_second .ttlbox .jp {
		font-size: 4vw;
	}
	
}

/*------募集要項-----*/

section.sec_recruitment {
	padding: 60px 70px;
}
section.sec_recruitment .inner {
	margin: 0 auto;
	width: 100%;
	position: relative;
	max-width: 640px;
}

@media screen and (max-width: 599px){
	
	section.sec_recruitment {
		padding: 40px 20px;
	}
	section.sec_recruitment .inner {
		max-width: 480px;
	}

}

.table {
	margin-bottom: 70px;
	font-size: 15px;
	line-height: 1.8;
	width: 100%;
}
.table .tr {
	display: flex;
	width: 100%;
}
.table .th {
	border-top: 1px solid #a60030;
	width: 150px;
	padding: 20px 20px;
}
.table .td {
	border-top: 1px solid #ccc;
	width: calc( 100% - 150px );
	padding: 20px 20px;
}

@media screen and (max-width: 599px){

	.table {
		margin: 0 auto 40px;
		font-size: 13px;
		max-width: 480px;
	}
	.table .tr {
		display: block;
	}
	.table .th {
		width: 100%;
		padding: 10px 10px 10px;
		font-weight: bold;
	}
	.table .td {
		width: 100%;
		padding: 10px 10px 20px;
	}
	
}

/*------採用フロー-----*/

section.sec_flow {
	padding: 60px 70px;
	background-color: #fff;
}
section.sec_flow .inner {
	margin: 0 auto;
	width: 100%;
	position: relative;
	max-width: 640px;
}

@media screen and (max-width: 599px){
	
	section.sec_flow {
		padding: 40px 20px;
	}
	section.sec_flow .inner {
		max-width: 480px;
	}

}

.ul_flow {
	position: relative;
	z-index: 1;
}
.ul_flow li {
	margin-bottom: 30px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.ul_flow li:last-child {
	margin-bottom: 0;
}
.ul_flow::after {
	content: '';
	display: inline-block;
	width: 2px;
	z-index: -1;
	height: calc( 100% - 50px );
	background-color: #a60030;
	position: absolute;
	left: 29px;
	top: 30px;
}
.ul_flow .step {
	width: 70px;
}
.ul_flow .step span {
	background-color: #a60030;
	font-size: 26px;
	border-radius: 30px;
	width: 60px;
	height: 60px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
}
.ul_flow .txt {
	width: calc( 100% - 90px );
	position: relative;
}
.ul_flow .txt::after {
	content: '';
	display: inline-block;
	border-top: 15px solid transparent;
	border-bottom: 15px solid transparent;
	border-right: 20px solid #f8f6f0;
	position: absolute;
	left: -20px;
	top: 50%;
	transform: translateY(-50%);
}
.ul_flow .txt div {
	background-color: #f8f6f0;
	padding: 25px;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.8;
}

@media screen and (max-width: 599px){

.ul_flow li {
	margin-bottom: 20px;
}
.ul_flow::after {
	height: calc( 100% - 50px );
	left: 18px;
	top: 30px;
}
	.ul_flow .step {
		width: 60px;
	}
	.ul_flow .step span {
		font-size: 18px;
		border-radius: 18px;
		width: 36px;
		height: 36px;
	}
.ul_flow .txt {
	width: calc( 100% - 60px );
}
	.ul_flow .txt::after {
		border-top: 10px solid transparent;
		border-bottom: 10px solid transparent;
		border-right: 15px solid #f8f6f0;
		left: -15px;
	}
	.ul_flow .txt div {
		padding: 15px;
		font-size: 13px;
	}
	
	
}

/*------福利厚生-----*/

section.sec_welfare {
	padding: 60px 70px;
}
section.sec_welfare .inner {
	margin: 0 auto;
	width: 100%;
	position: relative;
	max-width: 640px;
}

@media screen and (max-width: 599px){
	
	section.sec_welfare {
		padding: 40px 20px;
	}
	section.sec_welfare .inner {
		max-width: 480px;
	}
	
}

section.sec_welfare .honbun {
	font-size: 15px;
	line-height: 1.8;
	margin-bottom: 30px;
}
.ul_welfare {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	max-width: 560px;
	margin: 0 auto;
}
/* .ul_welfare.second {
	justify-content: center;
	margin-bottom: -20px;
} */
/* .ul_welfare.second li:first-child {
	margin-right: 6%;
} */
.ul_welfare li {
	width: 170px;
	height: 170px;
	background-color: #fff;
	border-radius: 50%;
	border: 1px solid #e6e6e6;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 20px;
	position: relative;
}
.ul_welfare li div {
	position: absolute;
	text-align: center;
	left: 50%;
	top: 50%;
	width: 100%;
	transform: translate(-50%,-55%);
}
.ul_welfare img {
	width: 100%;
	max-width: 68px;
	margin-bottom: 10px;
}
.ul_welfare p {
	font-size: 14px;
	font-weight: bold;
	line-height: 1.3;
}
.ul_welfare li.link {
    border: 1px solid #a60030;
}
.ul_welfare li a {
	color: #222;
    text-decoration: none;
}
.ul_welfare li a:hover img, .ul_welfare li a:hover p {
    opacity: 0.6;
	transition: opacity 0.3s ease;
}
.ul_welfare li a::after {
  content: '';
  position: absolute;
  bottom: -40px; 
  left: 50%;
  transform: translateX(-50%);
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #a60030 url('../img/common/arrow.png') no-repeat 50% 50%;
  background-size: 12px;
}

@media screen and (max-width: 1365px){
	
	.ul_welfare {
		max-width: 450px;
	}
	.ul_welfare li {
		width: 130px;
		height: 130px;
	}
	.ul_welfare img {
		max-width: 46px;
		margin-bottom: 5px;
	}
	.ul_welfare p {
		font-size: 11px;
	}
	
}

@media screen and (max-width: 599px){
	
	section.sec_welfare .honbun {
		font-size: 13px;
		margin-bottom: 20px;
	}
	.ul_welfare {
		max-width: 360px;
	}
	.ul_welfare.second {
		margin-bottom: -10px;
	}
	.ul_welfare li {
		width: 100px;
		height: 100px;
		margin-bottom: 10px;
	}
	.ul_welfare img {
		max-width: 35px;
		margin-bottom: 5px;
	}
	.ul_welfare p {
		font-size: 9px;
	}
	.ul_welfare li a::after {
		bottom: -27px;
	}
	
}

/*------研修制度-----*/

section.sec_trainning {
	padding: 60px 70px;
	background-color: #fff;
}
section.sec_trainning .inner {
	margin: 0 auto;
	width: 100%;
	position: relative;
	max-width: 640px;
}

@media screen and (max-width: 599px){
	
	section.sec_trainning {
		padding: 40px 20px;
	}
	section.sec_trainning .inner {
		max-width: 480px;
	}
	
}

section.sec_trainning .ttl {
	font-size: 30px;
	font-weight: 900;
	line-height: 1.5;
	margin-bottom: 30px;
}
section.sec_trainning img {
	width: 100%;
	margin-bottom: 30px;
}

section.sec_trainning h3 {
	font-size: 16px;
	font-weight: bold;
	color: #a60030;
	margin-bottom: 20px;
}
section.sec_trainning h3::before {
	margin-right: 10px;
	width: 30px;
	height: 1px;
	background-color: #a60030;
	display: inline-block;
	content: '';
	vertical-align: middle;
}
section.sec_trainning .lead {
	font-size: 22px;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 20px;
}
section.sec_trainning .honbun {
	font-size: 15px;
	line-height: 1.8;
}
section.sec_trainning .box {
	margin-bottom: 50px;
}

@media screen and (max-width: 999px){
	
	section.sec_trainning .ttl {
		text-align: center;
	}
	
}

@media screen and (max-width: 599px){
	
	section.sec_trainning .ttl {
		font-size: 18px;
		margin-bottom: 20px;
	}
	section.sec_trainning img {
		margin-bottom: 20px;
	}

	section.sec_trainning h3 {
		font-size: 13px;
		margin-bottom: 15px;
	}
	section.sec_trainning h3::before {
		margin-right: 10px;
		width: 20px;
	}
	section.sec_trainning .lead {
		font-size: 16px;
		margin-bottom: 20px;
	}
	section.sec_trainning .honbun {
		font-size: 13px;
	}
	section.sec_trainning .box {
		margin-bottom: 30px;
	}
	
}

/*------仕事内容-----*/

section.sec_works {
	padding: 60px 70px;
}
section.sec_works .inner {
	margin: 0 auto;
	width: 100%;
	position: relative;
	max-width: 640px;
}

@media screen and (max-width: 599px){
	
	section.sec_works {
		padding: 40px 20px;
	}
	section.sec_works .inner {
		max-width: 480px;
	}
	
}


section.sec_works .lead {
	font-size: 30px;
	font-weight: 900;
	line-height: 1.8;
	margin-bottom: 30px;
}
section.sec_works .honbun {
	font-size: 15px;
	line-height: 1.8;
	margin-bottom: 35px;
}
section.sec_works .img {
	width: 100%;
	margin-bottom: 20px;
}
.ul_works li {
	margin-bottom: 60px;
}
.ul_works li:last-child {
	margin-bottom: 0 !important;
}
.ul_works .ttl_wrap {
	display: flex;
	justify-content: space-between;
	margin-bottom: 20px;
	align-items: center;
}
.ul_works .ttl_wrap .en {
	width: 130px;
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.ul_works .ttl_wrap .en p {
	font-size: 14px;
	margin-bottom: 15px;
	color: #a60030;
	font-weight: 900;
	letter-spacing: 0.05em;
}
.ul_works .ttl_wrap .en span {
	mix-blend-mode: multiply;
}
.ul_works .ttl_wrap .en span img {
	height: 70px;
}
.ul_works .ttl_wrap .jp {
	width: calc( 100% - 160px );
	font-size: 21px;
	font-weight: 900;
	line-height: 1.6;
}
.ul_works .txt {
	font-size: 15px;
	line-height: 1.8;
}

@media screen and (max-width: 999px){
	
	section.sec_works .lead {
		text-align: center;
	}
	
}

@media screen and (max-width: 599px){

	section.sec_works .lead {
		font-size: 18px;
		margin-bottom: 20px;
		text-align: center;
	}
	section.sec_works .honbun {
		font-size: 13px;
		margin-bottom: 35px;
	}
	section.sec_works .img {
		margin-bottom: 20px;
	}
	.ul_works li {
		margin-bottom: 45px;
	}
	.ul_works .ttl_wrap {
		margin-bottom: 15px;
	}
	.ul_works .ttl_wrap .en {
		width: 90px;
	}
	.ul_works .ttl_wrap .en p {
		font-size: 9px;
		margin-bottom: 10px;
	}
	.ul_works .ttl_wrap .en span img {
		height: 50px;
	}
	.ul_works .ttl_wrap .jp {
		width: calc( 100% - 110px );
		font-size: 16px;
	}
	.ul_works .txt {
		font-size: 13px;
	}
	
	
}

/*------FAQ-----*/

section.sec_faq {
	padding: 60px 70px;
}
section.sec_faq .inner {
	margin: 0 auto;
	width: 100%;
	position: relative;
	max-width: 640px;
}

@media screen and (max-width: 599px){
	
	section.sec_faq {
		padding: 40px 20px;
	}
	section.sec_faq .inner {
		max-width: 480px;
	}
}


/*------インタビュー一覧-----*/

section.sec_person {
	padding: 60px 70px;
}
section.sec_person .inner {
	margin: 0 auto;
	width: 100%;
	position: relative;
	max-width: 640px;
}

@media screen and (max-width: 599px){
	
	section.sec_person {
		padding: 40px 20px;
	}
	section.sec_person .inner {
		max-width: 480px;
	}
}

section.sec_person .honbun {
	font-size: 15px;
	font-weight: bold;
	line-height: 1.8;
	margin-bottom: 60px;
}
.ul_person {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: -60px;
}
.ul_person li {
	width: calc( ( 100% - 40px ) / 2 );
	margin-bottom: 60px;
}
.ul_person li a {
	text-decoration: none;
	transition: opacity 0.3s ease;
}
.ul_person li a:hover {
	opacity: 0.6;
}
.ul_person li .img {
	width: 100%;
	height: 100%;
	position: relative;
}
.ul_person li .img span {
	mix-blend-mode: multiply;
	position: absolute;
	top: -30px;
	left: 15px;
}
_::-webkit-full-page-media, _:future, :root .ul_person li .img span {
	left: -25px;
}
.ul_person li .img span img {
	height: 50px;
}
.ul_person li .txt {
	position: absolute;
	right: -10px;
	bottom: -10px;
	background-color: #fff;
	padding: 20px;
	min-width: 60px;
	color: #222;
}
.ul_person li img {
	width: 100%;
}
.ul_person li .txt .name {
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 1em;
}
.ul_person li .txt .more {
	font-size: 12px;
	line-height: 1.5;
	
}


@media screen and (max-width: 599px){

	section.sec_person .honbun {
		font-size: 13px;
		margin-bottom: 50px;
	}
	.ul_person {
		margin-bottom: -60px;
	}
	.ul_person li {
		width: calc( ( 100% - 30px ) / 2 );
		margin-bottom: 90px;
	}
	.ul_person li .img span {
		top: -24px;
		left: 10px;
	}
	.ul_person li .img span img {
		height: 40px;
	}
	.ul_person li .txt {
		bottom: -50px;
		padding: 12px;
		min-width: 120px;
	}
	.ul_person li .txt .name {
		font-size: 14px;
	}
	.ul_person li .txt .more {
		font-size: 11px;
	}

	
}

/*------インタビュー詳細-----*/

section.sec_interview {
	padding: 60px 70px;
}
section.sec_interview .inner {
	margin: 0 auto;
	width: 100%;
	position: relative;
	max-width: 640px;
}


@media screen and (max-width: 599px){
	
	section.sec_interview {
		padding: 160px 20px 40px;
	}
	section.sec_interview .inner {
		max-width: 480px;
	}
	
}

.box_profile {
	border: 1px dashed #a60030;
	padding: 30px;
	margin-bottom: 50px;
}
.box_profile .en {
	font-size: 26px;
	color: #a60030;
	margin-bottom: 20px;
}
.box_profile p {
	font-size: 15px;
	line-height: 1.8;
}
.box_profile ul {
	list-style: disc;
	margin-left: 1em;
}
.box_profile li {
	line-height: 1.5;
	font-size: 15px;
	margin-bottom: 10px;
}
.box_profile li:last-child {
	margin-bottom: 0;
}
section.sec_interview section {
	margin-bottom: 50px;
}

section.sec_interview img {
	width: 100%;
	margin-bottom: 50px;
}
section.sec_interview .lead {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 30px;
}
section.sec_interview .lead p {
	font-size: 18px;
	font-weight: bold;
	line-height: 1.6;
	width: calc( 100% - 45px );
}
section.sec_interview .lead::before {
	margin-right: 15px;
	width: 30px;
	height: 1px;
	background-color: #a60030;
	display: inline-block;
	content: '';
	vertical-align: middle;
}
section.sec_interview .honbun {
	font-size: 15px;
	line-height: 1.8;
	margin-bottom: 20px;
}

@media screen and (max-width: 599px){
	
	.box_profile {
		padding: 20px;
		margin-bottom: 40px;
	}
	.box_profile .en {
		font-size: 20px;
		margin-bottom: 10px;
	}
	.box_profile p {
		font-size: 13px;
	}
	.box_profile ul {
	}
	.box_profile li {
		font-size: 13px;
		margin-bottom: 8px;
	}
	section.sec_interview section {
		margin-bottom: 30px;
	}
	section.sec_interview img {
		margin-bottom: 30px;
	}
	section.sec_interview .lead {
		margin-bottom: 20px;
	}
	section.sec_interview .lead p {
		width: calc( 100% - 35px );
		font-size: 16px;
	}
	section.sec_interview .lead::before {
		margin-right: 10px;
		width: 20px;
	}
	section.sec_interview .honbun {
		font-size: 13px;
		margin-bottom: 20px;
	}
	
}

section.special {
	padding: 70px;
	background-color: #fff;
}
section.special .inner {
	margin: 0 auto;
	width: 100%;
	position: relative;
	max-width: 640px;
}

@media screen and (max-width: 599px){
	
	section.special {
		padding: 40px 20px;
	}
	section.special .inner {
		max-width: 480px;
	}
	
}

section.special .ttl_wrap {
	display: flex;
	align-items: center;
	position: relative;
	top: -90px;
	margin-bottom: -40px;
}
section.special .ttl_wrap .en {
	font-size: 48px;
	color: #a60030;
	margin-right: 25px;
}
section.special .ttl_wrap .jp {
	font-size: 18px;
}


.ul_sche {
	position: relative;
	z-index: 1;
}
.ul_sche li {
	display: flex;
	justify-content: space-between;
	position: relative;
}
.ul_sche li::after {
	content: '';
	display: inline-block;
	width: 1px;
	z-index: -1;
	height: 100%;
	border-left: 2px dashed #a60030;
	position: absolute;
	left: 19px;
	top: 10px;
}
.ul_sche li:last-child::after {
	display: none;
}
.ul_sche .step {
	width: 40px;
}
.ul_sche .step img {
	width: 100%;
}
.ul_sche .txt {
	width: calc( 100% - 70px );
	position: relative;
	margin-bottom: 50px;
}
.ul_sche li:last-child .txt {
	margin-bottom: 20px;
}
.ul_sche .ttl {
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	line-height: 1.5;
}
.ul_sche .ttl span {
	font-size: 16px;
	font-weight: bold;
	color: #a60030;
	margin-right: 25px;
}
.ul_sche .ttl p {
	font-size: 18px;
	font-weight: bold;
}
.ul_sche .honbun {
	font-size: 14px;
	line-height: 1.8;
}

.mes_lead {
	font-size: 22px;
	font-weight: 900;
	line-height: 1.6;
	margin-bottom: 30px;
}
.mes_honbun {
	font-size: 15px;
	line-height: 1.8;
	margin-bottom: 1em;
}
.mes_img {
	width: 15vw;
	max-width: 180px;
	float: right;
	margin: 0 0 20px 20px;
}

@media screen and (max-width: 1199px){
	
	section.special .ttl_wrap .en {
		font-size: 40px;
		margin-right: 20px;
	}
	section.special .ttl_wrap .jp {
		font-size: 16px;
	}
	
}

@media screen and (max-width: 999px){

	.mes_img {
		width: 25vw;	
	}
}

@media screen and (max-width: 599px){
	
	section.special .ttl_wrap {
		display: block;
		top: -55px;
		margin-bottom: -20px;
		text-align: center;
	}
	section.special .ttl_wrap .en {
		font-size: 30px;
		margin: 0 0 15px 0;
	}
	section.special .ttl_wrap .jp {
		font-size: 14px;
	}


	.ul_sche li::after {
		left: 14px;
		top: 10px;
		border-left: 1px dashed #a60030;
	}
	.ul_sche .step {
		width: 30px;
	}
	.ul_sche .step img {
		width: 100%;
	}
	.ul_sche .txt {
		width: calc( 100% - 50px );
		margin-bottom: 30px;
	}
	.ul_sche .ttl {
		margin-bottom: 10px;
	}
	.ul_sche .ttl span {
		font-size: 13px;
		margin-right: 15px;
	}
	.ul_sche .ttl p {
		font-size: 15px;
	}
	.ul_sche .honbun {
		font-size: 13px;
	}

	.mes_lead {
		font-size: 18px;
		margin-bottom: 20px;
		text-align: center;
	}
	.mes_honbun {
		font-size: 13px;
	}
	.mes_img {
		width: 100%;
		float: none;
		display: block;
		margin: 0 auto 20px;
		max-width: 250px;
	}
	
}

/*------インタビューKV-----*/

.kv_second .namebox {
	width: 30vw;
	max-width: 550px;
	padding: 30px 36px 44px;
	color: #fff;
	background: rgba(166,0,48,0.85);
	margin-bottom: 40px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
}
.kv_second .namebox span.en {
	mix-blend-mode: screen;
	position: absolute;
	top: -40px;
	left: 36px;
}
.kv_second .namebox span.en img {
	height: 88px;
}
.kv_second .namebox p.en {
	font-size: 18px;
	margin-left: 160px;
	margin-bottom: 30px;
	letter-spacing: 0.1em;
}
.kv_second .namebox h1 {
	font-size: 34px;
	font-weight: 900;
	line-height: 1.5;
	margin-bottom: 30px;
}
.kv_second .namebox .name {
	font-size: 14px;
}
.kv_second .namebox .name span {
	font-weight: bold;
	font-size: 16px;
	margin-right: 1em;
}

@media screen and (max-width: 1365px){
	
	.kv_second .namebox {
		width: 90%;
	}
	.kv_second .namebox span.en {
		top: -25px;
	}
	.kv_second .namebox span.en img {
		height: 70px;
	}
	.kv_second .namebox p.en {
		font-size: 16px;
		margin-left: 120px;
	}
	.kv_second .namebox .name {
		font-size: 13px;
	}
	.kv_second .namebox .name span {
		font-size: 15px;
	}
	
}

@media screen and (max-width: 1199px){

	.kv_second .namebox {
		margin-bottom: 30px;
		padding: 25px 30px 30px;
	}
	.kv_second .namebox span.en {
		top: -20px;
	}
	.kv_second .namebox span.en img {
		height: 60px;
	}
	.kv_second .namebox p.en {
		font-size: 14px;
		margin-left: 110px;
		margin-bottom: 20px;
	}
	.kv_second .namebox h1 {
		font-size: 26px;
		margin-bottom: 20px;
	}
	.kv_second .namebox .name {
		font-size: 12px;
	}
	.kv_second .namebox .name span {
		font-size: 14px;
	}
	
}

@media screen and (max-width: 999px){
	.kv_second {
		align-items: flex-end;
	}
	.kv_second .namebox {
		width: 63vw;
		max-width: 440px;
		padding: 20px 30px 30px 40px;
		margin-bottom: 0px;
		position: relative;
		bottom: -40px;
	}
	.kv_second .namebox span.en {
		top: -25px;
		left: 40px;
	}
	.kv_second .namebox span.en img {
		height: 60px;
	}
	.kv_second .namebox p.en {
		font-size: 16px;
		margin-left: 120px;
		margin-bottom: 20px;
	}
	.kv_second .namebox h1 {
		font-size: 30px;
		margin-bottom: 20px;
	}
	.kv_second .namebox .name {
		font-size: 12px;
	}
	.kv_second .namebox .name span {
		font-size: 14px;
	}
	
}

@media screen and (max-width: 599px){

	.kv_second .namebox {
		background-color: #a60030;
		width: calc( 100% - 20px );
		max-width: 385px;
		padding: 20px 30px 30px 30px;
		bottom: -150px;
	}
	.kv_second .namebox span.en {
		top: -25px;
		left: 30px;
	}
	.kv_second .namebox span.en img {
		height: 60px;
	}
	.kv_second .namebox p.en {
		font-size: 13px;
		margin-left: 110px;
		margin-bottom: 15px;
	}
	.kv_second .namebox h1 {
		font-size: 24px;
		margin-bottom: 20px;
	}
	.kv_second .namebox .name {
		font-size: 12px;
	}
	.kv_second .namebox .name span {
		font-size: 13px;
	}
	
}

/*エントリー*/

section.sec_entry {
	padding: 60px 70px;
}
section.sec_entryform {
	background-color: #fff;
}
section.sec_entry .inner {
	margin: 0 auto;
	width: 100%;
	position: relative;
	max-width: 640px;
}
.h2_entry {
	font-size: 18px;
	font-weight: 900;
	line-height: 1.5;
	padding-bottom: 15px;
	border-bottom: 1px solid #a60030;
	margin-bottom: 30px;
}
.sec_recnavi img {
	transition: opacity 0.3s ease;
	width: 100%;
	max-width: 273px !important;
}
.sec_recnavi img:hover {
	opacity: 0.6;
}
.sec_recnavi p {
	font-size: 14px;
	line-height: 1.5;
	margin-top: 1em;
}
.sec_thanks .lead {
	text-align: center;
	font-size: 24px;
	font-weight: 900;
	line-height: 1.5;
	margin-bottom: 2em;
}
.sec_thanks .honbun {
	text-align: center;
	font-size: 15px;
	line-height: 1.8;
	margin-bottom: 2em;
}
@media screen and (max-width: 599px){
	
	section.sec_entry {
		padding: 40px 20px;
	}
	section.sec_entry .inner {
		max-width: 480px;
	}
	.h2_entry {
		font-size: 14px;
		padding-bottom: 10px;
		margin-bottom: 20px;
	}
	.sec_recnavi p {
		font-size: 13px;
	}
	.sec_thanks .lead {
		font-size: 16px;
	}
	.sec_thanks .honbun {
		text-align: left;
		font-size: 13px;
	}
}


.sec_entry .att {
	font-size: 15px;
	line-height: 1.8;
	margin-bottom: 2em;
}
.sec_entry .att a {
	text-decoration: underline !important;
	color: #a60030;
}
.sec_entry .att a:hover {
	text-decoration: none !important;
}

.form {
	margin: 0 auto;
}
.f_table {
	border-top: 1px solid #ddd;
	font-size: 15px;
	line-height: 1.5;
	margin-bottom: 30px;
}
.f_table .tr {
	border-bottom: 1px solid #ddd;
}
.f_table .th, .f_table .td {
	padding: 30px 0px 20px;
}
.f_table .th {
	width: auto;
	display: flex;
	align-items: center;
	font-weight: 500;
}
.f_table .th span, .privacy_check .need {
	background-color: #a60030;
	color: #fff;
	font-size: 11px;
	display: inline-block;
	width: 36px;
	height: 22px;
	text-align: center;
	line-height: 22px;
	margin-right: 15px;
}
.f_table .th span.opt {
	background-color: #dddddd;
	color: #222;
}
.f_table .td {
	width: auto;
	padding: 0 0px 30px;
}
.f_table input[type='text'], .f_table input[type='email'] {
	height: 40px;
	background-color: #f8f8f8;
	border: 1px solid #d5d5d5;
	width: 100%;
	padding: 5px;
	font-size: 15px;
	line-height: 1.5;
	font-family: inherit;
}
.f_table input[type='text'].middle {
	width: 100px;
}
.f_table input[type='text'].short {
	width: 60px;
}
.f_table select {
	height: 40px;
	padding: 5px;
	font-size: 15px;
	font-family: inherit;
	background-color: #f8f8f8;
	border: 1px solid #d5d5d5;
}
.f_table textarea {
	height: 140px;
	background-color: #f8f8f8;
	border: 1px solid #d5d5d5;
	width: 100%;
	padding: 7px;
	font-size: 16px;
	line-height: 1.5;
	font-family: inherit;
}
::placeholder {
  color: #666;
}
.privacy_check {
	background: #f5f5f5;
	padding: 35px;
	font-size: 15px;
	line-height: 1.5;
	text-align: center;
	margin: 0 auto 30px;
	max-width: 700px;
}
.privacy_check > div {
	font-weight: bold;
	margin-bottom: 25px;
}
.privacy_check > div span {
	font-weight: bold;
}
.privacy_check .need {
	margin-left: 0.5em;
}
.privacy_check p {
	font-size: 13px;
	line-height: 1.5;
}
.privacy_check p a {
	color: #a60030;
	text-decoration: underline !important;
}
.privacy_check p a:hover {
	text-decoration: none !important;
}
.form input[type='submit'] {
	letter-spacing: 0.1em;
	width: 100%;
	max-width: 480px;
	height: 66px;
	color: #fff;
	background: #a60030;
	font-size: 20px;
	font-family: inherit;
	border: none;
	margin: 0 auto;
	font-weight: bold;
	cursor: pointer;
	transition: opacity 0.3s ease;
	-webkit-appearance : none;
	border-radius: none !important;
	display: block;
}

.form input[type='submit']:hover {
	opacity: 0.6;
}
.form input[type='submit'].pageback {
	background-color: #999;
	color: #fff;
	margin-bottom: 30px;
}

@media screen and (max-width: 999px){
	
	.f_table {
		font-size: 13px;
		margin-bottom: 30px;
	}
	.f_table .tr {
		display: block;
	}
	.f_table .th {
		padding: 20px 10px 15px;
	}
	.f_table .td {
		padding: 0 10px 20px 10px;
	}

	.f_table .th span, .privacy_check .need {
		font-size: 10px;
		width: 36px;
		height: 18px;
		line-height: 16px;
		margin-right: 15px;
	}


	.f_table input[type='text'], .f_table input[type='email'] {
		height: 40px;
		padding: 5px;
		font-size: 14px;
	}
	.f_table select {
		font-size: 14px;
	}
	.f_table textarea {
		height: 180px;
		padding: 5px;
		font-size: 14px;
	}
	.privacy_check {
		padding: 20px;
		font-size: 13px;
		margin: 0 auto 30px;
	}
	.privacy_check > div {
		margin-bottom: 20px;
	}
	.privacy_check .need {

	}
	.privacy_check p {
		font-size: 12px;
		text-align: left;
	}
	.form input[type='submit'] {
		max-width: 300px;
		height: 46px;
		font-size: 16px;
	}
	
}

@media screen and (max-width: 599px){

	.sec_entry .att {
		font-size: 13px;
		margin-bottom: 2em;
	}

	.f_table input[type='text'], .f_table input[type='email'] {
		font-size: 13px;
	}
	.f_table input[type='text'].middle {
		width: 60px;
	}
	.f_table input[type='text'].short {
		width: 40px;
	}
	.f_table textarea {
		font-size: 13px;
	}
	.privacy_check {
		padding: 20px 15px;
		font-size: 12px;
		margin: 0 auto 30px;
	}
	.privacy_check > div {
		margin-bottom: 20px;
	}
	.privacy_check p {
		font-size: 12px;
	}
	.form input[type='submit'] {
		font-size: 14px;
	}
	
}



/*確認画面・完了画面*/

.mw_wp_form_confirm .privacy_check {
	display: none;
}



.recaptcha_att {
	margin-top: 50px;
	font-size: 11px;
	line-height: 1.8;
	text-align: center;
}
.recaptcha_att a {
	text-decoration: underline !important;
	color: #666;
}
.grecaptcha-badge {
	visibility: hidden !important;
}
@media screen and (max-width: 599px){
	
	.recaptcha_att {
		margin-top: 30px;
		font-size: 11px;
	}
	
}


/*--------------pageTop--------------*/

#pageTop{
	position: fixed;
	right: -60px;
	bottom: 20px;
	width: 40px;
	height: 40px;
	background: rgba(0, 0, 0, 0.5) url(../img/common/pagetop.png) no-repeat 50% 50%;
	background-size: 14px;
	z-index: 9998;
	transition: all 0.3s ease;
	text-indent: -9999px;
	display: block;
}

#pageTop.showIn{
	right: 0;
}

@media screen and (min-width: 768px), print{
	#pageTop{
		right: 35px;
		bottom: -60px;
		width: 60px;
		height: 60px;
		background: rgba(0, 0, 0, 0.5) url(../img/common/pagetop.png) no-repeat 50% 50%;
		background-size: 27px;
		display: none;
	}
	
	#pageTop.showIn{
		right: 35px;
		bottom: 30px;
	}
}



