@charset "utf-8";
:root {
	--c_bk:#4D4D4D;
	--c_wh:#ffffff;
	--c_gy:#f5f5f5;
	--c_rd:#DC0019;
	--tr_cb: cubic-bezier(.68,.03,.31,.94);
	--tri: polygon(100% 50%, 0% 0%, 0% 100%);
}
.clr-bk {color: var(--c_bk)!important;}
.clr-wh {color: var(--c_wh)!important;}
.clr-gy {color: var(--c_gy)!important;}
.clr-rd {color: var(--c_rd)!important;}
.bg-bk {background-color: var(--c_bk)!important;}
.bg-wh {background-color: var(--c_wh)!important;}
.bg-gy {background-color: var(--c_gy)!important;}
.bg-rd {background-color: var(--c_rd)!important;}

.fo-figtree,.eng,.num {
	font-family: "figtree", sans-serif;
	font-weight: 600;
	font-style: normal;
	line-height: 1;
}

body {
	padding-top: 6.8rem;
}
article > section:last-of-type {
	padding-bottom: 20rem;
}
.thumb {
	position: relative;
	aspect-ratio: 3/2;
	overflow: hidden;
}
.thumb img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transform: scale(1.01);
	opacity: 1!important;
	transition: .4s;
}
a:hover .thumb img,
.thumb a:hover img {
	transform: scale(1.08);
}
.btnWrap {
	margin-top: 5rem;
}
.btn {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: 1rem;
	color: var(--c_rd);
	border: 1px solid var(--c_rd);
	border-radius: 10rem;
	text-align: center;
	letter-spacing: .05em;
	line-height: 1.2;
	padding: 1rem 2rem;
	transition: .2s;
	min-width: 18rem;
}
.btn::after {
	content: "";
	display: block;
	background: url(../img/arrow_rd.svg) center center no-repeat;
	background-size: contain;
	width: 0.5rem;
	aspect-ratio: 5/8;
}
.btn._wh {
	border-color: #fff;
	color: #fff;
}
.btn._wh::after {
	background-image: url(../img/arrow_wh.svg);
}
.btn:hover {
	transform: translateY(-.7rem);
	box-shadow: 0 .7rem 0 rgba(0, 0, 0, 0.3);
}


/*lorder
---------------------------------------------------------*/
.loader-bg {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 99999;
	background-color: #fff;
}
.loadBox {
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	animation: blinking .6s infinite alternate;
}
.loadBox img {
	display: block;
}
@keyframes blinking {
	0% {opacity: .2;}
	100% {opacity: 1;}
}
.loader {
  width: 3.8rem;
  aspect-ratio: 1;
  display: grid;
}
.progress {
  width: 100%;
	max-width: 21.6rem;
  height: 2px;
  margin: 2rem auto 0;
  background: #D8D8D8;
  overflow: hidden;
}
.progress-bar {
  width: 0%;
  height: 100%;
  background: #A7AAA9;;
  transition: width .6s linear;
}


/*header
---------------------------------------------------------*/
#header {
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 9990;
	transition: .2s;
	box-shadow: 0 0 .5rem rgba(0, 0, 0, .05);
}
.hWrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	text-align: left;
	padding-left: 2rem;
}
.hLft {
	display: flex;
	align-items: center;
	gap: 0 2rem;
}
img[src*="/logo.png"] {
	max-height: 3.5rem;
}
img[src*="/logo.png"] + .sub {
	display: block;
	text-align: center;
	font-size: 1.3rem;
	font-weight: 500;
	color: var(--c_rd);
	line-height: 0.9;
	margin-top: -.2em;
}
.menuIconWrap,
.spLogo {
	display: none;
}
#nav {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 0 2rem;
	font-size: 1.5rem;
}
.nav {
	display: flex;
	align-items: center;
	gap: 0 2.5rem;
}
.hBtn {
	display: flex;
	flex-wrap: wrap;
}
.hBtn a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	width: 9.5rem;
	height: 6.5rem;
	color: #fff;
	text-align: center;
	background: var(--c_bk);
	line-height: 1.3;
}
.hBtn li._00 {
	width: 100%;
}
.hBtn li._00 a {
	height: auto;
	padding: 1rem;
	font-size: 100%;
}
.hBtn ._01 a {
	background: var(--c_rd);
}
.hBtn ._02 a {
	background: #9E2330;
}
.hBtn ._03 a {
	background: #4d4d4d;
}
.hBtn a:hover {
	background: #000;
}
.nav > li > a:hover {
	color: var(--c_rd);
}
.nav a {
	white-space: nowrap;
}
.nav ._02 a {
	display: block;
	border: 1px solid #808080;
	padding: .5rem 1.5rem;
}
.hScl {
	display: flex;
	align-items: center;
	gap: 1.5rem;
}
.hScl img {
	max-height: 2.8rem;
}

/*footer
---------------------------------------------------------*/
#footer {
	position: relative;
	background: #ddd;
	background: -webkit-gradient(linear,left top, left bottom,from(#ddd),color-stop(80%, #fff));
	background: -o-linear-gradient(top,#ddd 0%,#fff 80%);
	background: linear-gradient(180deg,#ddd 0%,#fff 80%);
	border-top: 1px solid #ddd;
}
.fLinkArea {
	margin-top: -12rem;
	position: relative;
	z-index: 10;
}
.fRatio {
	display: grid;
	grid-template-columns: 28rem 1fr;
	text-align: center;
	margin-bottom: 2rem;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	background: #fff;
}
.fRatio dt {
	background: var(--c_gy);
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 112.5%;
	font-weight: 600;
}
.fRatio dd {
	padding: 1rem 0;
}
.fRatio dd ul {
	display: grid;
	grid-template-columns: repeat(3,1fr);
}
.fRatio dd ul li {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 2rem;
	padding: 1rem;
}
.fRatio dd ul li:not(:first-of-type) {
	border-left: 1px solid #ccc;
}
.fRatio dd ul li b {
	font-size: 112.5%;
	font-weight: 700;
}
.fLink {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	grid-template-columns: repeat(3,1fr);
}
.entryBnr,
.fLinkBtn,
.fLink li {
	background: var(--c_rd);
	overflow: hidden;
	position: relative;
	z-index: 1;
}
.entryBnr,
.fLink li:nth-of-type(2) {	
	background: #9E2330;
}
.fLink li:nth-of-type(3) {	
	background: var(--c_bk);
}
.entryBnr a,
.fLinkBtn a,
.fLink a {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	position: relative;
	font-size: 2.4rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	color: #fff;
	height:16rem;
	/*padding: 8rem 1rem;*/
	padding: 0 1rem;
	transition: .4s;
	z-index: 1;
}
.entryBnr a{
	height: auto;
}
.fLinkBtn a {
	background: #ccc;
	color: #000;
}
.fLinkBtn a {
	height: 10rem;
}
.entryBnr::after,
.fLinkBtn::after,
.fLink li::after {
	content: "";
	display: block;
	width: 2.8rem;
	aspect-ratio: 1;
	border: 1px solid var(--c_wh);
	border-radius: 50%;
	background: url(../img/arrow_wh.svg) center center no-repeat;
	background-size: 25% auto;
	position: absolute;
	right: 2rem;
	bottom: 2rem;
	z-index: 5;
	transition: .2s;
}
.entryBnr:hover:after,
.fLinkBtn:hover:after,
.fLink li:hover:after {
	background-color: var(--c_rd);
	border-color: var(--c_rd);
}
.entryBnr a .eng,
.fLink a .eng {
	font-size: 4rem;
	font-size: 3rem;
	margin-bottom: 0.5rem;
}
.entryBnr a::before,
.entryBnr a::after,
.fLinkBtn a::before,
.fLinkBtn a::after,
.fLink a::before,
.fLink a::after {
	content: "";
	display: block;
  width: 18rem;
  aspect-ratio: 45/52;
  clip-path: var(--tri);
	backface-visibility: hidden;
	background: -webkit-gradient(linear,left top, right top,from(#EB3236),to(transparent));
  background: -o-linear-gradient(left,#EB3236 0%,transparent 100%);
  background: linear-gradient(90deg,#EB3236 0%,transparent 100%);
  opacity: 1;
	position: absolute;
	top: -7.5rem;
	left: 0;
	z-index: -1;
}
.entryBnr a::after,
.fLinkBtn a::after,
.fLink a::after {
	top: auto;
	bottom: -7.5rem;
	left: auto;
	right: 0;
	transform: rotate(180deg);
}
.entryBnr a::before,
.entryBnr a::after,
.fLink li:nth-of-type(2) a::before,
.fLink li:nth-of-type(2) a::after {
	background: -webkit-gradient(linear,left top, right top,from(#b53533),to(transparent));
  background: -o-linear-gradient(left,#b53533 0%,transparent 100%);
  background: linear-gradient(90deg,#b53533 0%,transparent 100%);
}

.fLink li:nth-of-type(3) a::before,
.fLink li:nth-of-type(3) a::after {
  background: #595959;
  background: -webkit-gradient(linear,left top, right top,from(#595959),to(#535353));
  background: -o-linear-gradient(left,#595959 0%,#535353 100%);
  background: linear-gradient(90deg,#595959 0%,#535353 100%);
}
.fLinkBtn a::before,
.fLinkBtn a::after {
	width: 40rem;
	background: #c5c5c5;
}


.entryBnr {
	margin-top: 5rem;
}
.entryBnr a {
	padding: 3.5rem 2rem;
}
.entryBnr .btn {
	font-size: 1.6rem;
	min-width: 25rem;
	margin-top: 1.5rem;
}
.sclTxtArea {
	overflow: hidden;
	margin-bottom: 9rem;
}
.sclTxt {
	display: flex;
	font-size: 8rem;
	font-weight: 500;
	letter-spacing: 0.07em;
	line-height: 1.2;
	white-space: nowrap;
	color: #fff;
	margin-top: 4rem;
}
.sclTxt li {
	animation: infinity-scroll-left 10s linear infinite;
	padding: 0 .3em;
}
@keyframes infinity-scroll-left {
	0%   { transform: translateX(0); }
	100% { transform: translateX(-100%); }
}
.fArea {
	padding-bottom: 8rem;
}
.fWrap {
	display: flex;
	justify-content: space-between;
	gap: 2rem;
}
.fLogo img[src*="/logo.png"] {
	max-height: 5.5rem;
}
.fLogo img[src*="/logo.png"] + .sub {
	font-size: 1.8rem;
}
.fNav {
	display: flex;
	gap: 0 6.6rem;
	text-align: left;
}
.fNav li {
	margin-bottom: 2.5rem;
}
.fNav a:hover {
	color: var(--c_rd);
}
.fNav02 {
	display: flex;
	justify-content: flex-end;
	gap: .8rem;
	font-size: 1.4rem;
	margin-top: 5rem;
}
.fNav02 a {
	display: block;
	padding: 1rem 1.3rem;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid #ccc;
}
.fNav02 a .fo-figtree {
	font-size: 112.5%;
	font-weight: 500;
}
.fNav02 a:hover {
	color: var(--c_rd);
}
.copyright {
	font-size: 1.2rem;
	font-weight: 400;
	text-align: left;
	width: fit-content;
	margin-top: -1em;
}


/*index
---------------------------------------------------------*/
.mainArea {
	position: relative;
	color: #fff;
	transition: .6s .2s;
	opacity: 0;
}
.mainArea.act {
	opacity: 1;
}
.mainArea::before {
	content: "";
	display: block;
	backface-visibility: hidden;
	clip-path: polygon(100% 0, 0 0, 0 100%);
	width: 26.2rem;
	aspect-ratio: 262/152;
	background: #ccc;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
.mainArea h1 {
	font-size: 10px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -99999;
}
.mainWrap {
	position: relative;
	height: 85rem!important;
	height: clamp(10rem,54.2857142vw,86rem)!important;
	overflow: hidden;
}
.mvImg {
	overflow: hidden;
	position: absolute;
	left: 0;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
}
.mvImg img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.mvSub {
	position: absolute;
	top: 0;
	bottom: 21%;
	right: 0;
	width: 70%;
	max-width: 116rem;
	z-index: 1;
	backface-visibility: hidden;
	-webkit-clip-path: polygon(100% 0, 0 0, 100% 100%);
	clip-path: polygon(100% 0, 0 0, 100% 100%);
	overflow: hidden;
}
.mvSub img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.mvTri {
	position: absolute;
	backface-visibility: hidden;
	-webkit-clip-path: polygon(100% 0, 0 100%, 100% 100%);
	clip-path: polygon(100% 0, 0 100%, 100% 100%);
	overflow: hidden;
	right: 0;
	top: 21%;
	bottom: 0;
	width: 70%;
	max-width: 116rem;
	backface-visibility: hidden;
	background: #C80419;
	background: linear-gradient(90deg,#C80419 0%,#E63A28 90%);
	z-index: 5;
}
.mvTri::after {
	content: "";
	display: block;
	position: absolute;
	width: 71.7%;
	top: 0;
	right: 0;
	bottom: 26%;
	backface-visibility: hidden;
	-webkit-clip-path: polygon(100% 0, 0 0, 100% 100%);
	clip-path: polygon(100% 0, 0 0, 100% 100%);
	background: #DC0019;
	z-index: 1;
}
.mvScl {
	display: block;
	position: absolute;
	right: 5%;
	bottom: 0;
	z-index: 50;
	font-size: 1.4rem;
	color: #fff;
	letter-spacing: 0.1em;
	font-weight: 500;
	padding-bottom: 10rem;
}
.mvScl::after {
	content: "";
	display: block;
	width: 1px;
	height: 9.5rem;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0 auto;
	background: #fff;
	animation: scl 1.5s var(--tr_cb) infinite;
}
@keyframes scl {
	0% {clip-path: inset(0 0 100% 0);}
	50% {clip-path: inset(0 0 0 0);}
	100% {clip-path: inset(100% 0 0 0);}
}
.mvTtl {
	position: absolute;
	bottom: 9rem;
	right: 15%;
	z-index: 10;
}
.mvTtl .en {
	position: absolute;
	max-width: 51.3rem;
	left: -21rem;
	top: -15rem;
}
.mvTtl .sub {
	background: #969A99;
	padding: 1.5rem 2.2rem;
	margin-bottom: 2rem;
}
.mvTtl .sub img {
	max-height: 5.4rem;
}
.mvTtl h2 img {
	max-height: 13rem;
}
.mvTtl .eng {
	font-size: 1.8rem;
	letter-spacing: 0.075em;
	font-weight: 500;
	margin-top: 3rem;
}
.mvSliderNav {
	width: 45rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	margin-top: 6rem;
}
.mvArrow {
	width: .8rem;
	aspect-ratio: 9/15;
	background: url(../img/arrow_wh.svg) center center no-repeat;
	background-size: contain;
	position: relative;
	transition: .4s;
	cursor: pointer;
}
.mvArrow.prev {
	transform: rotate(180deg);
}
.mvSliderDots {
	flex: 1;
}
.mvSliderDots ul {
	display: flex;
	border-bottom: 1px solid #fff;
	margin-bottom: -1px;
}
.mvSliderDots .slick-dots li {
	margin: 0;
	flex-grow: 1;
}
.mvSliderDots .slick-dots button::before {
	display: none;
}
.mvSliderDots .slick-dots button {
	display: block;
	width: 100%;
	height: 0.3rem;
	transition: .2s;
}
.mvSliderDots .slick-dots button:hover {
	background: rgba(255,255,255,.5);
}
.mvSliderDots .slick-active button {
	background: #fff!important;
}
#top_message {
	overflow: hidden;
	position: relative;
	padding: 12rem 0;
}
#top_message::before {
	content: "";
	display: block;
	backface-visibility: hidden;
	clip-path: polygon(100% 0, 0 0, 0 100%);
	width: 30%;
	aspect-ratio: 262/152;
	background: #f5f5f5;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
@media screen and (min-width: 1672px) {
	#top_message::before {
		width: calc(100% - 116rem);
	}
}
#top_message .bg {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -99;
	background: url(../img/top/message_bg.jpg) bottom center no-repeat;
	background-size: 100% auto;
	aspect-ratio: 1920/745;
}
#top_message .bg::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 60%;
	background: rgba(255,255,255,.5);
	background: -webkit-gradient(linear,left bottom, left top,from(transparent), to(#FFF));
	background: -o-linear-gradient(bottom,transparent 0%, #FFF 100%);
	background: linear-gradient(0deg,transparent 0%, #FFF 100%);
}
.top_message {
	display: flex;
	justify-content: space-between;
	text-align: left;
	margin-bottom: 15rem;
}
.top_message h2 {
	font-size: 3rem;
	margin-bottom: 4rem;
}
.top_message h3 {
	font-size: 3.6rem;
}
.top_message h3 span {
	font-size: 116%;
	display: inline-block;
	color: var(--c_rd);
	position: relative;
}
.top_message h3 span::after {
	content: "";
	display: block;
	height: 0.5rem;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(90deg,#EDB23D 0%,#E13B36 60%,#8B2B31 100%);
}
.top_message .en {
	max-width: 34rem;
	margin: 1rem -4.5rem 0 auto;
}
.top_message .txt-lh {
	margin-top: 5.5rem;
}
.galleryArea {
	display: flex;
}
.gallery {
	min-width: 192rem;
	display: flex;
	align-items: flex-start;
	animation: infinity-scroll-left 25s linear infinite;
}
.gallery li {
	margin: 0 2.5rem;
	box-shadow: 1rem 1rem 3rem 0 rgba(0, 0, 0, 0.10);
	animation: updown 4s linear alternate infinite;
}
.gallery li:nth-of-type(even) {
	animation-direction: alternate-reverse;
}
.gallery li:nth-of-type(2) {
	margin-top: auto;
	margin-left: -6rem;
	position: relative;
	z-index: 1;
}
.gallery li:nth-of-type(3) {
	margin-top: 5rem;
}
.gallery li:nth-of-type(4) {
	margin-top: 10rem;
}
.gallery li:nth-of-type(5) {
	margin-top: 3rem;
}
@keyframes updown {
	0% {transform: translateY(0);}
	100% {transform: translateY(-1rem);}
}
#topLink {
	overflow: hidden;
	position: relative;
	padding: 6rem 0;
}
#topLink .bg {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -99;
}
#topLink .bg img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.topLink .sub {
	display: inline-block;
	background: var(--c_rd);
	color: #fff;
	padding: .7rem 2rem;
	margin-bottom: 2rem;
}
.topLink h2 {
	display: flex;
	justify-content: center;
	gap: .5rem 1rem;
	margin-bottom: 4rem;
}
.topLink h2 img {
	max-height: 4.2rem;
}
.topLink .logo img {
	max-height: 5.8rem;
}
.topLink .btnWrap {
	margin-top: 3rem;
}
.pageContents {
	position: relative;
	background: url(../img/tri_bg_lft.png) top left,url(../img/tri_bg_rht.png) top right;
	background-repeat: repeat-y;
	background-size: 74rem auto;
	overflow: hidden;
}
.pageContents > * {
	position: relative;
	z-index: 3;
}
#page__recruit-environment.pageContents {
	background-repeat: no-repeat;
}



#page__recruit-index .pageContents::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 27rem;
	background: rgba(143, 143, 143, 0.30);
	background: linear-gradient(0deg,transparent 0%,rgba(143, 143, 143, 0.30) 100%);
	z-index: -1;
}
.ttlBox {
	text-align: left;
	margin-bottom: 4rem;
}
.ttlBox .eng {
	font-size: 6.4rem;
	color: var(--c_rd);
	line-height: 0.9;
	margin-bottom: .7rem;
}
.ttlBox h1,
.ttlBox h2 {
	display: flex;
	align-items: center;
	gap: .8rem;
	font-size: 3rem;
	font-weight: 600;
}
.ttlBox h1::before,
.ttlBox h2::before {
	content: "";
	display: block;
	height: 1px;
	width: 1.8rem;
	background: var(--c_rd);
}
.ttlBox h1 {
	font-size: 3.6rem;
	font-weight: 600;
}
.ttlArea {
	display: flex;
	align-items: center;
	text-align: left;
	gap: 2rem 10rem;
	margin-bottom: 7rem;
}
.ttlArea .ttlBox {
	margin-bottom: 0;
}
#top_interview .container {
	max-width: 140rem;
}
#top_interview .ttlArea {
	max-width: 110rem;
	margin-inline: auto;
}
.interviewIndex {
	display: flex;
	gap: 1rem;
	padding-right: 10.714%;
}
.interviewIndex:nth-of-type(even) {
	flex-direction: row-reverse;
	padding: 0 0 0 10.714%;
}
.interviewIndex + .interviewIndex {
	margin-top: 10rem;
}
.interviewIndex > dt {
	width: 44.8%;
	position: relative;
	background: #969A99;
	color: #fff;
	overflow: hidden;
	padding: 12rem 2rem 2rem 5rem;
	text-align: left;
	height: 50rem;
}
.interviewIndex > dt::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	background: url(../img/tri_half.svg) top left no-repeat;
	background-size: contain;
	width: 32.6rem;
	aspect-ratio: 652/376;
	z-index: 0;
}
.interviewIndex > dt figure {
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	background: url(../img/top/interview_ttl_img01.png) top left no-repeat;
	background-size: cover;
	width: 40rem;
	aspect-ratio: 720/634;
	z-index: 0;
}
.interviewIndex > dt .box {
	position: relative;
	z-index: 10;
	position: relative;
	padding-left: 8.5rem;
	font-size: 1.6rem;
	font-size: clamp(1.2rem,.8333333vw,1.6rem)
}
.interviewIndex > dt .num {
	width: 7rem;
	text-align: center;
	position: absolute;
	top: -2.8rem;
	left: 0;
}
.interviewIndex > dt .num img {
	max-height: 10.1rem;
}
.interviewIndex > dt .eng {
	font-size: 300%;
	letter-spacing: 0.07em;
}
.interviewIndex > dt h2 {
	font-size: 3rem;
	font-weight: 500;
	letter-spacing: 0.1em;
}
.interviewIndex > dt .btnWrap {
	margin-top: 3rem;
}
	.interviewIndex > dt .btn {
		background-color: var(--c_rd);
		border-color: var(--c_rd);
	}
.interviewIndex .interviewList {
	height: 100%;
}
.interviewBox {
	aspect-ratio: 336/500;
	position: relative;
	z-index: 1;
}
.interviewIndex .interviewBox {
	aspect-ratio: auto;
}
.interviewBox a {
	display: block;
	position: relative;
	color: #fff;
	height: 100%;
	background: rgba(0, 0, 0, 0.8);
	background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.8)),color-stop(45%, transparent));
	background: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.8) 0%,transparent 45%);
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.8) 0%,transparent 45%);
}
.interviewBox a .thumb {
	aspect-ratio: auto;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
}
.interviewBox .jobtype {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
	background: var(--c_rd);
	letter-spacing: 0.08em;
	padding: .7rem 2rem;
}
.interviewBox dl {
	position: absolute;
	left: 0;
	bottom: 0;
	right: 0;
	padding: 2rem;
	text-align: left;
	text-shadow: 0 0 .7rem rgba(0, 0, 0, 0.3);
}
.interviewBox dt {
	font-size: 2rem;
	font-weight: 600;
	margin-bottom: 2rem;
	overflow: hidden;
	display: -webkit-box;
	text-overflow: ellipsis;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
}
.interviewBox dt br{
		display: none;
	}
.interviewBox dd small {
	display: block;
	font-size: 87.5%;
	margin-top: 0.5rem;
}
.interviewIndex > dd {
	flex: 1;
}
.interviewList {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 1rem;
}
.interviewIndex .interviewList {
	grid-template-columns: repeat(2,1fr);
}
.viewall {
	max-width: 90rem;
	margin: 10rem auto 0;
}
.viewall a {
	display: block;
	background: url(../img/bnr_grad_bg.jpg) center center no-repeat;
	background-size: cover;
	padding: 5rem 2rem;
	color: #fff;
	position: relative;
}
.viewall a::after {
	content: "";
	display: block;
	width: 2.8rem;
	aspect-ratio: 1;
	border: 1px solid var(--c_wh);
	border-radius: 50%;
	background: url(../img/arrow_wh.svg) center center no-repeat;
	background-size: 25% auto;
	position: absolute;
	right: 2rem;
	bottom: 2rem;
	z-index: 5;
	transition: .2s;
}
.viewall a:hover {
	transform: translateY(-.7rem);
	box-shadow: 0 .7rem 0 rgba(0, 0, 0, 0.3);
}
.viewall a:hover::after {
	background-color: var(--c_rd);
	border-color: var(--c_rd);
}
.viewall a h2 {
	font-size: 3rem;
}
.viewall a .btn {
	width: 30rem;
}
.numTopImg {
	height: 51.5rem;
	overflow: hidden;
	margin: 0 calc(-50vw + 50%);
	position: relative;
	z-index: -1;
}
.numTopImg img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.topNumbers {
	margin-top: -12.5rem;
	position: relative;
	background: #fff;
	padding: 5rem 5rem 1rem;
}
.topNumbers h3 {
	position: absolute;
	left: 0;
	top: -8.5rem;
	z-index: 1;
	font-size: 3.2rem;
	text-align: left;
	line-height: 1.4;
	color: #fff;
}
.topNumbers h3 > * {
	display: inline-block;
	background: var(--c_bk);
	font-weight: 700;
	line-height: 1;
	padding: 1rem 2rem;
}
.topNumbers h3 strong {
	font-size: 125%;
	line-height: 1.2;
	margin-top: -.8rem;
}
.topNumbers .btnWrap{
	margin-top: 2rem;
}


.numbersList {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: .8rem
}
.numbersList li {
	background: #f5f5f5;
	padding: 2rem;
}
.top_env {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	gap: 2rem;
}
.top_env dl {
	text-align: left;
}
.top_env h3 {
	font-size: 3.2rem;
	text-align: left;
	line-height: 1.4;
	color: #fff;
	margin-bottom: 3rem;
}
.top_env h3 > * {
	display: inline-block;
	background: var(--c_bk);
	font-weight: 700;
	line-height: 1;
	padding: 1rem 2rem;
}
.top_env h3 strong {
	font-size: 125%;
	line-height: 1.2;
	margin-top: -.8rem;
}
.top_env .imgs {
	width: 65rem;
	display: flex;
	margin-left: -20rem;
}
.top_env .imgs li:nth-of-type(1) {
	margin-top: -6rem;
}
@media screen and (max-width: 1500px) {
	.top_env .imgs {
		width: 65rem;
		margin-left: -10rem;
	}
}
.ttl02Box {
	text-align: left;
	margin-bottom: 4rem;
}
.ttl02Box.d-flex {
	gap: .8rem 2rem;
	align-items: flex-end;
}
.ttl02Box h2 {
	font-size: 3rem;
}
.ttl02Box .eng {
	font-size: 4rem;
	font-weight: 600;
}
.postSliderArea {
	margin: 0 -2.5rem;
}
.postSlider .slick-list {
	padding-bottom: 2rem!important;
}
.sliderArrow {
	position: absolute;
	display: block;
	width: 3.2rem;
	aspect-ratio: 1;
	border: 1px solid var(--c_rd);
	border-radius: 50%;
	background: #fff url(../img/arrow_rd.svg) center center no-repeat;
	background-size: 25% auto;
	position: absolute;
	right: -6rem;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
	cursor: pointer;
	transition: .2s .6s;
}
.sliderArrow.prev {
	right: auto;
	left: -6rem;
	transform: translateY(-50%) rotate(180deg);
}
.postSliderArea .postBox {
	margin: 0 2.5rem;
	height: auto!important;
}
.postSliderArea .slick-track {
	display: flex!important;
}
.postBox {
	box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.15);
	background: #fff;
	overflow: hidden;
	border-radius: 1rem;
}
.postBox dl {
	padding: 2rem 2.5rem 3rem;
	text-align: left;
}
.postBox dt {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 1rem 1.5rem;
	border-bottom: 1px solid #D8D8D8;
	padding-bottom: 1rem;
	margin-bottom: 1rem;
}
.postBox dt .ttl {
	font-size: 2rem;
	font-weight: 700;
	width: 100%;
}
.date {
	font-size: 1.4rem;
	color: var(--c_rd);
}
.cate {
	min-width: 6rem;
	text-align: center;
	display: inline-block;
	border-radius: 10rem;
	background: var(--c_rd);
	color: #fff;
	font-size: 1.2rem;
	line-height: 1;
	padding: .5rem 1rem;
}
.postBox dt .ttl,
.postBox dd {
	overflow: hidden;
	display: -webkit-box;
	text-overflow: ellipsis;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
}
.postBox dd {
	-webkit-line-clamp: 3;
	line-clamp: 3;
}
#top_btm {
	background: url(../img/top/page_btm_img.jpg) right center no-repeat;
	background-size: cover;
	height: 64rem;
	height: clamp(50rem,35vw,64rem);
	position: relative;
	overflow: hidden;
	padding: 0 12rem;
	margin: 8rem 0 20rem;
}
.btmArea {
	position: relative;
	padding-top: 7rem;
	z-index: 5;
}
#top_btm::before {
	content: "";
	display: block;
	background: url(../img/tri.svg) top left no-repeat;
	background-size: contain;
	aspect-ratio: 791/913;
	width: 37.5%;
	max-width: 64rem;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 0;
}
.btmAreaTtl {
	position: relative;
	z-index: 10;
	color: #fff;
	max-width: 29rem;
}
.btmAreaTtl .en {
	max-width: 35.5rem;
	margin-left: -6rem;
	margin-bottom: 0.5rem;
}
.btmAreaTtl .sub {
	background: #969A99;
	padding: 1.5rem 2.2rem;
	margin-bottom: 2rem;
}
.btmAreaTtl .sub img {
	max-height: 5.4rem;
}
.btmAreaTtl h2 img {
	max-height: 13rem;
}
.btmAreaTtl .eng {
	font-size: 1.2rem;
	letter-spacing: 0.075em;
	font-weight: 500;
	margin-top: 3rem;
}

/*subPage
---------------------------------------------------------*/
#recruit__subPage .pageContents {
	background-position: top -40rem left,top 112rem right;
}
#recruit__subPage .pageContents.none-tri {
	background: none;
}
#recruit__subPage .pageContents::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 22rem;
	background: rgba(143, 143, 143, 0.05);
	background: linear-gradient(0deg, transparent 0%, rgba(143, 143, 143, 0.05) 100%);
	z-index: -1;
}
.pageTtlArea {
	height: 45rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
	z-index: 1;
}
.pageTtlArea._common {
	height: 5rem;
	margin-bottom: 13rem;
}
.pageTtlArea .ttlBox {
	margin-bottom: 0;
}
.pageTtlWrap {
	max-width: 120rem;
}
.pageTtlImg {
	width: 90rem;
	position: absolute;
	right: 0;
	bottom: -22rem;
	overflow: hidden;
	backface-visibility: hidden;
	clip-path: polygon(100% 0, 0 50%, 100% 100%);
	z-index: -1;
}
.pageTtlImg img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transform: scale(1.01);
	opacity: 1!important;
	transition: .4s;
}
.pageTtlImg::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 22rem;
	background: #f5f5f5;
	z-index: 1;
}
@media screen and (max-width: 1400px) {
	.pageTtlImg {
		width: 64.2vw;
		bottom: -15.7vw;
	}
	.pageTtlImg::after {
		height: 15.7vw;
	}
	.pageTtlArea .ttlBox h1 {
		font-size: 1.428vw;
	}
	.pageTtlArea .ttlBox .eng {
		font-size: 4.57vw;
	}
}
.pankz {
	position: absolute;
	top: 1rem;
	left: 2rem;
	font-size: 1.2rem;
	text-align: left;
	color: #969A99;
	z-index: 10;
}
.pankz ol {
	display: flex;
	flex-wrap: nowrap;
	white-space: nowrap;
	overflow: auto;
}
.pankz a {
	color: #969A99;
}
.pankz a::after {
	content: "";
	display: inline-block;
	background: url(../img/arrow_bk.svg) center center no-repeat;
	background-size: contain;
	width: 0.5rem;
	aspect-ratio: 5/8;
	margin: 0 .8rem;
	opacity: .5;
}
.pankz a:hover {
	color: var(--c_bk);
}
.pankz br{
	display: none;
}
.contSecArea {
	padding-top: 0;
	overflow: visible;
}
.contSec {
	display: grid;
	grid-template-columns: 35rem 1fr;
	gap: 10rem;
	max-width: 120rem;
}
.aside .ttlBox {
	margin-bottom: 10rem;
}
.sideNav {
	position: sticky;
	top: 8.8rem;
	text-align: left;
	max-width: 26rem;
}
.sideNav h2 {
	font-size: 2.4rem;
	margin-bottom: 2rem;
}
.sideNav h2.ja {
	font-size: 2rem;
}
.sideNav a {
	display: block;
	position: relative;
	padding: 2rem 0;
	border-bottom: 1px solid #d8d8d8;
}
.sideNav a::after {
	content: "";
	display: block;
	width: 1.1rem;
	aspect-ratio: 1;
	background: url(../img/arrow_bk.svg) center center no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 1rem;
	transition: .2s;
}
.sideNav a:hover {
	color: var(--c_rd);
}
.sideNav a:hover::after {
	right: .5rem;
}

/*interview
---------------------------------------------------------*/
#interviewNav .txt-lh {
	text-align: left;
	margin-bottom: 6rem;
}
.interviewNav {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 8rem;
}
.interviewNav a {
	display: block;
	border-left: .8rem solid var(--c_rd);
	padding: .5rem 0 .5rem 3rem;
	font-size: 2rem;
	text-align: left;
	font-weight: 500;
	position: relative;
	padding-right: 6rem;
}
.interviewNav a:hover {
	color: var(--c_rd);
}
.interviewNav a .eng {
	position: relative;
	font-size: 133%;
	font-size: 125%;
	margin-bottom: 0.5rem;
}
.interviewNav a::after {
	content: "";
	display: block;
	background: url(../img/arrow_rd.svg) right center no-repeat;
	background-size: contain;
	width: 0.9rem;
	aspect-ratio: 9/15;
	position: absolute;
	right: .5rem;
	top: 50%;
	transform: translateY(-50%) rotate(90deg);
}
.interviewArea:not(:first-of-type) {
	margin-top: 14rem;
}
.interviewTtl {
	font-size: 1.4rem;
	text-align: left;
}
.interviewTtl .job {
	display: inline-block;
	background: var(--c_rd);
	color: #fff;
	padding: .5rem 1rem;
	margin-bottom: 3rem;
}
.interviewTtl .ttl {
	font-size: 3.2rem;
	color: var(--c_rd);
	font-weight: 600;
	margin-bottom: 2rem;
}
.interviewTtl h1 {
	font-size: 2rem;
	font-weight: 500;
	margin-bottom: 0.5rem;
}
.interviewTop {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 3rem 10rem;
}
.interviewTop .img {
	width: 44rem;
}
.interviewTop dl {
	text-align: left;
	flex: 1;
}
.interviewTop dt {
	font-size: 3.2rem;
	font-weight: 600;
	margin-bottom: 3rem;
}
.interviewTop dt b {
	font-size: 112.5%;
	font-weight: 600;
	display: inline-block;
	color: var(--c_rd);
	position: relative;
}
.interviewTop dt b::after {
	content: "";
	display: block;
	height: 0.5rem;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(90deg,#EDB23D 0%,#E13B36 60%,#8B2B31 100%);
}
.interviewCont {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	gap: 3rem 10rem;
}
.interviewCont:not(:first-of-type) {
	margin-top: 14rem;
}
.interviewCont dl {
	width: 50%;
	text-align: left;
}
.interviewCont dt {
	display: inline-flex;
	align-items: center;
	gap: 2.5rem;
	border-bottom: 1px solid var(--c_rd);
	padding-bottom: 0.5rem;
	margin-bottom: 3rem;
}
.interviewCont dt .eng {
	font-size: 3.2rem;
}
.interviewCont dt h2 {
	font-size: 1.8rem;
	color: var(--c_rd);
	font-weight: 600;
}
.interviewCont h3 {
	font-size: 2.4rem;
	font-weight: 600;
	margin-bottom: 2rem;
}
.interviewCont .img {
	flex: 1;
	margin-right: -15rem;
}
.interviewCont:nth-of-type(even) {
	flex-direction: row;
}
.interviewCont:nth-of-type(even) .img {
	margin-right: 0;
	margin-left: -15rem;
}
.interviewBtm {
	min-height: 25rem;
	margin-top: 3.5rem;
	text-align: left;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 5rem;
}
.interviewBtmTtl {
	width: 32rem;
	position: relative;
	color: #fff;
	z-index: 1;
}
.interviewBtmTtl .eng {
	font-size: 4rem;
}
.interviewBtmTtl h2 {
	font-size: 3rem;
}
.interviewBtmTtl::before {
	content: "";
	display: block;
	background: url(../img/tri.svg) top left no-repeat;
	background-size: contain;
	aspect-ratio: 791 / 913;
	width: 38rem;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: -1;
}
.interviewBtm dl {
	flex: 1;
}
.interviewBtm dt {
	font-size: 2.4rem;
	font-weight: 600;
	margin-bottom: 2rem;
}
.otherSliderArea {
	margin-left: -0.5rem;
	margin-right: calc(-50vw + 50% - -0.5rem);
}
.otherSlider .interviewBox {
	margin: 0 .5rem;
}
.mvSliderNav._02 {
	width: 100%;
}
.mvSliderNav._02 .mvArrow {
	width: 1rem;
	background-image: url(../img/arrow_rd.svg);
}
.mvSliderNav._02 .mvSliderDots ul {
	border-bottom-color: var(--c_rd);
}
.mvSliderNav._02 .mvSliderDots .slick-dots button {
	height: 0.56rem;
}
.mvSliderNav._02 .mvSliderDots .slick-dots li:not(.slick-active) button:hover {
	background: rgba(0,0,0,.1)!important;
}
.mvSliderNav._02 .mvSliderDots .slick-active button {
	background: var(--c_rd)!important;
}

/*news
---------------------------------------------------------*/
.newsNav {
	display: flex;
	align-items: center;
	gap: 1.5rem 2.5rem;
	padding: 3.5rem 2.5rem;
	border-top: 1px solid #D8D8D8;
	border-bottom: 1px solid #D8D8D8;
	margin-bottom: 10rem;
}
.newsNav h2 {
	font-size: 2.4rem;
	font-weight: 600;
}
.newsNav ul {
	flex: 1;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 1.5rem;
}
.newsNav a {
	display: block;
	border: 1px solid #d8d8d8;
	border-radius: 10rem;
	line-height: 1.2;
	padding: 1rem 3.5rem;
}
.newsNav .current a {
	border-color: var(--c_rd);
	color: var(--c_rd);
}
.newsNav li:not(.current) a:hover {
	background: #f1f1f1;
}
.newsList {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 8rem 5rem;
}
.pager {
	margin-top: 8rem;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: .8rem 3rem;
}
.pager .next,
.pager .prev {
	display: block;
	display: block;
	width: 1.1rem;
	aspect-ratio: 1;
	background: url(../img/arrow_bk.svg) center center no-repeat;
	background-size: contain;
}
.pager .prev {
	transform: rotate(180deg);
}
.pager .current {
	color: var(--c_rd);
}
.pager a:hover {
	color: var(--c_rd);
	text-decoration: underline;
}

/*news
---------------------------------------------------------*/
.postArea .img {
	margin-bottom: 6rem;
}
.postHeader {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 1rem 1.5rem;
	border-bottom: 1px solid #D8D8D8;
	padding-bottom: 1rem;
	margin-bottom: 1rem;
	text-align: left;
	margin-bottom: 4rem;
}
.postHeader .ttl {
	width: 100%;
	font-size: 2.4rem;
	font-weight: 600;
	margin-top: 1rem;
}
.postCont {
	text-align: left;
	font-size: 1.6rem;
	line-height: 1.8;
}
.postCont h2,
.postCont h3,
.postCont h4,
.postCont h5,
.postCont h6 {
	margin: 2em 0 1em;
	line-height: 1.5;
	color: var(--c_rd);
}
.postCont h2 {
	font-size: 125%;
}
.postCont h3 {
	font-size: 112.5%;
}
.postCont h4 {
	font-size: 105%;
}
.postCont h5 {
	font-size: 100%;
}
.postCont h6 {
	font-size: 100%;
	color: #000;
}
.pagesetWrap {
	margin-top: 10rem;
}
.pageSetDmmy {
	width: 49%;
	visibility: hidden;
	opacity: 0;
}
.pageset a {
	display: block;
	width: 49%;
	box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.15);
	border-radius: 1rem;
	overflow: hidden;
	position: relative;
}
.pageset a::after {
	content: "";
	position: absolute;
	display: block;
	width: 2.2rem;
	aspect-ratio: 1;
	border-radius: 50%;
	background: #fff url(../img/arrow_rd.svg) center center no-repeat;
	background-size: 25% auto;
	position: absolute;
	right: 1rem;
	bottom: 1rem;
	z-index: 1;
	cursor: pointer;
	transition: .2s .6s;
}
.pageset #prev::after {
	right: auto;
	left: 1rem;
	transform: rotate(180deg);
}
.pageset dl {
	height: 100%;
	display:flex;
	justify-content: space-between;
	background: #fff;
	transition: .2s;
}
.pageset #next dl {
	flex-direction: row-reverse;
}
.pageset dt {
	width: 47%;
	overflow: hidden;
	text-align: center;
	position: relative;
	aspect-ratio: 4/3;
	padding: 0;
}
.pageset dt img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.pageset dd {
	width: 53%;
	font-size: 1.2rem;
	padding: 1.5rem;
	text-align: left;
}
.pageset dd .txt {
	margin-top: 0.5rem;
	min-height: 6.5rem;
	overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
	font-weight: 600;
	font-size: 125%;
}

/*entry
---------------------------------------------------------*/
.whBox {
	border-radius: 1.2rem;
	background: #fff;
	box-shadow: 0 0 3rem 0 rgba(0, 0, 0, 0.05);
	padding: 9rem 10rem;
}
.formTxt {
	font-size: 112.5%;
	font-weight: 600;
	text-align: center;
	margin-bottom: 4rem;
}
.formBox dt,.formBox dd {
	width: 30%;
	font-weight: 400;
	padding: 2rem 0;
	text-align: left;
}
.formBox dt::before {
	content: "任意";
	font-size: 85%;
	font-weight: 400;
	padding: .5rem 1rem;
	display: inline-block;
	background: #f5f5f5;
	border: 1px solid #f5f5f5;
	color: #000;
	line-height: 1;
	margin-right: 1rem;
}
.formBox dt.req::before {
	content: "必須";
	color: var(--c_rd);
	border-color: var(--c_rd);
	background: #fff;
}
.formBox dd {
	width: 70%;
	padding-left: 0;
}
.formName > .txt {
	width: 40%;
	display: flex;
	align-items: center;
}
.formName > .txt:first-of-type {
	margin-right: 2%;
}
.formName .txt span {
	display: block;
	white-space: nowrap;
	margin-right: 1rem;
}
.form-address p {
	text-align: left;
	padding: 5px 0;
}
.formBox input[type="text"],.formBox input[type="tel"],.formBox input[type="email"],.formBox select,.formBox textarea {
	width: 100%;
	padding: .7em;
	border: 1px solid #ccc;
	border-radius: 3px;
}
.formBox input[type="text"].size-s {
	max-width: 21rem;
}
.formBox label {
	margin: 0;
}
.radioWrap {
	display: flex;
	gap: 1rem 3rem;
}
.formBox select {
	width: auto;
	background: #fff;
	color: #000
}
.formBox option:first-of-type {
	background: #b3b3b3;
	color: #fff;
}
.formBox textarea {
	height: 19rem;
}
.formBox .disabled input {
	pointer-events: none;
	border: none;
}
.zipBtn {
	background: #666;
	color: #fff;
	margin-left: 1rem;
	border: none;
	padding: .8rem 2rem;
	cursor: pointer;
	line-height: 1.1;
}
.zipBtn:hover {
	background: #ccc
}
.policyBox {
	height: 25rem;
	margin: 3rem 2.5rem 0;
	overflow: auto;
	padding: 1.5em;
	border: 1px solid #ccc;
	text-align: left;
}
.policyBox b {
	display: block;
	font-size: 115%;
	margin-bottom: .5rem;
}
.policyTxt {
	text-align: left;
	margin-bottom: 4rem;
}
.policyTxt a {
	text-decoration: underline;
	display: inline-block;
	color: var(--c_rd);
}
.policyCheck {
	margin-top: 9rem;
	padding: 3rem 1rem;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}
.formBtn {
	margin-top: 3rem;
}
.mw_wp_form_confirm button.button._grey {
	display: block!important;
}
.formWrap input[type="submit"],.formWrap input[type="button"],.formWrap button.button._grey {
	font-family: 'Noto Sans JP', sans-serif ,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", Verdana;
	color: #fff;
	font-size: 115%;
	font-weight: 500;
	letter-spacing: .075em;
	text-indent: .075em;
	background: var(--c_rd) url(../img/arrow_wh.svg) right 2rem center no-repeat;
	background-size: .7rem auto;
	min-width: 33rem;
	display: block;
	border: none;
	padding: 2.5rem 2rem;
	border-radius: 10rem;
	margin: 1rem;
	transition: .2s;
	cursor: pointer;
}
.formWrap input[type="submit"].btn_back,
.formWrap button.button._grey {
	background: #ddd;
	color: #333;
}
.formWrap input[type="submit"]:hover,.formWrap input[type="button"]:hover,.formWrap button.button._grey:hover {
	opacity: .7;
}

.onlyconf,button.button._grey {
	display: none;
}
.mw_wp_form_confirm button.button._grey,
.mw_wp_form_confirm .onlyconf,
#confirm .onlyconf {
	display: block!important;
}
.mw_wp_form .horizontal-item + .horizontal-item {
	margin-left: 0!important;
}
.mw_wp_form_confirm .privacyBox,
.mw_wp_form_confirm .formBox dt::before,
.mw_wp_form_confirm .zipBtn,
.mw_wp_form_confirm .formName .txt span,
.mw_wp_form_confirm .policyTxt {
	display: none!important;
}
.mw_wp_form_confirm .formName > .txt {
	width: auto;
}
.mw_wp_form .error {
	font-size: 85%!important;
}
.formName .error {
	min-width: 50%;
}
.formName .error + .error {
	display: none;
}
.clear {
	margin-top: 4rem;
}
.clear button {
	text-decoration: underline;
}
.clear button:hover {
	text-decoration: none;
	color: var(--c_rd);
}

.mw_wp_form_confirm .confirmtxt{
    display: block;
}
.mw_wp_form_confirm .input-show {
  display: none;
}
.mw_wp_form_input .input-confirm {
  display: none;
}



/*job
---------------------------------------------------------*/
.jobContents {
	text-align: left;
}
.jobTxt {
	margin-bottom: 5rem;
}
.jobTbl {
	display: grid;
	grid-template-columns: 20rem 1fr;
}
.jobTbl dt,
.jobTbl dd {
	border-bottom: 1px solid #d8d8d8;
	padding: 2.5rem;
}
.jobTbl dt:first-of-type,
.jobTbl dd:first-of-type {
	border-top: 1px solid #d8d8d8;
}
.jobTbl dt {
	background: #f5f5f5;
	display: flex;
	justify-content: center;
	flex-direction: column;
}


/*job index
---------------------------------------------------------*/
.jobsearchwrap{
	background: rgba(255, 255, 255, 0.50);
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	padding: 2rem 10rem;
	margin: 0 0 5rem;
}
.jobsearchwrap dl{
	padding: .5rem 0;
}
.jobsearchwrap dt{
	flex-basis: 20%;
	text-align: left;
	font-weight: 500;
}
.jobsearchwrap dd{
	flex-basis: 80%;
	text-align: left;
}
.jobsearchwrap li{
	margin: 0 2rem 0 0;
}
.jobsearchwrap ._type{
  display:inline-block;
  padding:.5rem 2rem;
  border:1px solid #ccc;
  border-radius:20px;
  cursor:pointer;
}

/* radioを非表示 */
.jobsearchwrap ._type input{
  display:none;
}

/* 選択されたボタン */
.jobsearchwrap ._type:has(input:checked){
color: var(--c_rd);
  border-color:var(--c_rd);
}
.searchbtn{
	background: var(--c_rd);
	color: #fff;
	display: inline-block;
	padding: 1rem 3rem;
	border-radius: 99px;
	font-family: 'Noto Sans JP', sans-serif ,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", Verdana;
	font-size: 110%;
}
.joblistwrap{
	border-bottom: 1px solid #ccc;
	margin: 0 0 5rem;
}
.joblistwrap:last-child{
	border-bottom:none;
}


.jtitle01{
	text-align: left;
	font-size: 2.4rem;
	margin-bottom: 2rem;
}

.joblist{
border-radius: 8px;
background: var(--white, #FFF);
box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.05);
padding: 2rem 3rem;
margin: 0 0 4rem;
}

.joblist .postHeader{
	margin-bottom: 1rem;
}

.joblist .postHeader h2{
	width: auto;
	margin-top: 0;
	font-size: 1.8rem;
}
.joblist ._cont dl{
	flex-basis: 49%;
}
.joblist ._cont dt{
	font-size: 1.2rem;
	padding: .5rem 1rem;
	background: #F5F5F5;
	flex-shrink: 0;
	margin-right: 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
.joblist ._cont dd{
	text-align: left;
}
.flowSliderArea{
	margin-bottom: 10rem;
}
.flowbox{
	background: #F5F5F5;
	width: 96%!important;
	margin: 0 1rem;
	min-height: 21rem;
	padding: 3rem 0;
	position: relative;
}
.flowbox:after{
content: '';
  border-width: 2rem 0 2rem 4rem;
  border-style: solid;
  border-color: transparent transparent transparent var(--c_rd);
  display: block;
  position: absolute;
  right: -3rem;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}
.flowbox:last-child:after{
	display: none;
}


.flowbox h3{
	padding-bottom: 2rem;
}
.flowbox h3 big{
	display: block;
	font-size: 4.8rem;
}

.flowbox ._ebtn a{
	display: block;
		background: var(--c_rd);
	color: #fff;
	border-radius: 99px;
	padding: 1rem 2rem;
	max-width: 15rem;
	margin: 1rem auto 0;
	
}

.flowSlider .slick-track{
    display:flex;
}
.flowSlider .slick-slide{
    height:auto;
}

.jobcontactwrap{
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc; 
	padding: 3rem 0;
	margin-bottom: 5rem;
}
.jcontact{
	margin-right: 2rem;
}

.jcontact dt{
	font-size: 1.2rem;
	padding: .5rem 1rem;
	background: #F5F5F5;
	flex-shrink: 0;
	margin-right:1rem;
}
.jcontact dd{
	font-size: 2.4rem;
}



.jobcomback ._cont{
	flex-basis: 65%;
	text-align: left;
}

.jobcomback ._img{
	flex-basis: 28%;
}


/*environment
---------------------------------------------------------*/
.benefitstop {
	padding: 10rem 0 20rem;
}
.benefitstop ._cont{
	flex-basis: 45%;
}
.benefitstop ._img{
	flex-basis: 48%;
	position: relative;
}

.benefitstop ._img{
	flex-basis: 48%;
	position: relative;
}
.benefitstop ._img figure {
  position: absolute;
  top: 0rem;
  left: 0;
  width: 63rem;
}
.benefitstop.row-r ._img figure {
  top: 0rem;
  left: auto;
  right: 0;
}

.benefitstop ._img:before{
  content: "";
  display: block;
  background: url(../img/tri.svg) top left no-repeat;
  background-size: contain;
  aspect-ratio: 791 / 913;
  width: 22rem;
  position: absolute;
top: -10rem;
left: -2rem;
  z-index: -1;
  
}
.benefitstop.row-r ._img:before{
  right: -2rem;
  left: auto;
  transform: rotate(180deg);
  
  
}

.benefitstop ._img img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

.bktitle01 {
  font-size: 3.2rem;
  text-align: left;
  line-height: 1.4;
  color: #fff;
  margin-bottom: 3rem;
}

.bktitle01  > * {
  display: inline-block;
  background: var(--c_bk);
  font-weight: 700;
  line-height: 1;
  padding: 1rem 2rem;
 
}


.stitle01{
	display: flex;
  align-items: center;
  gap: .8rem;
  font-size: 2.4rem;
  font-weight: 600;
  margin-bottom: 2rem;
}
.stitle01::before {
  content: "";
  display: block;
  height: 1px;
  width: 1.8rem;
  background: var(--c_rd);
}

.benefitboxwrap{
	margin-bottom: 10rem;
}
.benefitbox{
	flex-basis: 31%;
	margin: 0 1% 3rem;
}
.benefitbox ._img{
	margin-bottom: 2rem;
}
.benefitbox ._cont{
	text-align: left;
}
.benefitbox ._cont h3{
	font-size: 1.8rem;
	margin-bottom: 1rem;
}

.beneotherbox{
	border-bottom: 1px solid #ccc;
	margin-bottom: 5rem;
	padding-bottom: 5rem;
	position: relative;
}
.beneotherbox:last-child{
	border: none;
	margin-bottom: 0rem;
	padding-bottom: 0rem;
}


.beneotherbox ._title{
	flex-basis: 30%;
}
.beneotherbox ._title ._num{
	color:  var(--c_rd);
	font-size: 1.6rem;
	text-align: left;
	line-height: 1;
	margin:0 2rem 0 0;
}
.beneotherbox ._title ._num big{
	font-size: 9.6rem;
	line-height: 1;
}
.beneotherbox ._title h3{
	font-size: 2.4rem;
}


.beneotherbox ._cont{
	flex-basis: 68%;
}
.otherlist li {
	flex-basis: 23%;
	margin: 0 1% 2rem;
}
.otherlist li figure{
	height: 16rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #F5F5F5;
	margin-bottom: 1rem;
}
.otherlist li p{
	text-align: left;
}

.beneotherimg01{
	position: absolute;
	top: 30%;
	left: 4%;
}
.beneotherimg02{
	position: absolute;
	top: 30%;
	left: 6%;
}

#workspace{
	background:url(../img/tri_bg_rht.png) top right no-repeat;
}
.workspacewrap {
	position: relative;
	margin-top: 8rem;
}
.workspacewrap ._title{
	position: absolute;
	text-align: left;
	color: #fff;
	padding-left: 2rem;
}
.workspacewrap._bis ._title{
	padding-left: 2rem;
}

.workspacewrap ._title:before {
  content: "";
  display: block;
  background: url(../img/tri.svg) top left no-repeat;
  background-size: contain;
  aspect-ratio: 791 / 913;
  width: 18rem;
  position: absolute;
  left: 0;
  z-index: 0;
	top: 50%;
	transform: translateY(-50%); 
}
.workspacewrap ._title h3{
	position: relative;
	z-index: 1;
	line-height: 1.2;
	font-size: 1.8rem;
}
.workspacewrap ._title p{
	position: relative;
	z-index: 1;
	font-size: 1.3rem;
	padding:0 0 0 1rem;
}

.workspacewrap ul{
	max-width: 101rem;
	margin: 0 0 0 auto;
}
.workspacewrap li{
	flex-basis: 46%;
	margin-bottom: 7rem;
	position: relative;
}
.workspacewrap li figcaption{
	position: absolute;
	bottom: 0;
	left: 0;
	background:  var(--c_rd);
	color: #fff;
	padding: 1rem;
}

.workspacewrap li h4{
	text-align: left;
	font-size: 2rem;
	margin: 2rem 0;
}
.workspacewrap li p{	
text-align: left;
}


.bg-tr-right01{
background: url("../img/tri_bg_rht.png") top right no-repeat;


}

.trainingtop {
	padding: 10rem 0 20rem;
}
.trainingtop ._cont{
	flex-basis: 45%;
}
.trainingtop ._img{
	flex-basis: 48%;
	position: relative;
}

.trainingtop ._img{
	flex-basis: 48%;
	position: relative;
}
.trainingtop ._img figure {
  position: absolute;
  top: 0rem;
  left: 0;
  width: 63rem;
}
.trainingtop ._img:before{
  content: "";
  display: block;
  background: url(../img/tri.svg) top left no-repeat;
  background-size: contain;
  aspect-ratio: 791 / 913;
  width: 22rem;
  position: absolute;
  left: -2rem;
  top: -10rem;
  z-index: -1;
}
.trainingtop ._img img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.trainingbox ._cont{
	flex-basis: 42%;
}
.trainingbox ._img{
	flex-basis: 50%;
}


.tlist01 li{
margin-left: 1em;
  text-indent: -1em;
  margin-bottom: 1rem;
  text-align: left;
}
.tlist01 li:before{
content: '';
  border-width: .7rem 0 .7rem 1rem;
  border-style: solid;
  border-color: transparent transparent transparent var(--c_rd);
  display: inline-block;
  margin: 0 .5rem 0 0;
}
.tlist01 li a {
	color: var(--c_rd);
	text-decoration: underline;
}
.tlist01 li a:hover {
	text-decoration: none;
	color: #000;
}
.bg-tr-left01{
	background: url(../img/tri_bg_lft2.png) top left no-repeat;
}

.ktable01{
width: 100%;
border-spacing: .5rem;
border-collapse: separate;

}
.ktable01 td{
	background: #fff;
	padding: 1rem;
	font-weight: 500;
}
.ktable01 th{
	background: #4D4D4D;
	color: #fff;
	padding: 1rem;
	position: relative;
	
}
.ktable01 th._arrow:after{
content: '';
  border-width: 1rem 0 1rem 2rem;
  border-style: solid;
  border-color: transparent transparent transparent var(--c_rd);
  display: block;
  position: absolute;
  right: -1em;
top: 50%;
  transform: translateY(-50%);

  z-index: 1;
}

.ktable01 ._nobg{
	background: none;
}

.bg-tr-lr01{
position: relative;
  background: url(../img/tri_bg_lft2.png) top left,url(../img/tri_bg_rht.png) top right;
  background-repeat: repeat-y;
  background-size: 74rem auto;
  background-position: 0 -50rem,right 10rem;
}

.bg-tr-lr02{
position: relative;
  background: url(../img/tri_bg_lft2.png) top left,url(../img/tri_bg_rht.png) top right;
  background-repeat: repeat-y;
  background-size: 74rem auto;
  background-position: 0 120rem,right 10rem;
}



.numberbnr{
	background: url("../img/environment/bg_number.png") no-repeat center center;
	background-size: cover;
	padding: 4rem 6rem;
	position: relative;
}
.numberbnr .ttlBox p{
	font-size:4rem;
}
.numberbnr:after{
content: "";
  display: block;
  width: 2.8rem;
  aspect-ratio: 1;
  border: 1px solid #000;
  border-radius: 50%;
  background: url(../img/arrow_bk.svg) center center no-repeat;
    background-size: auto;
  background-size: 25% auto;
  position: absolute;
  right: 2rem;
  bottom: 2rem;
  z-index: 5;
  transition: .2s;
}


/*business
---------------------------------------------------------*/
.bisnaviwrap{
	margin-bottom: 10rem;
	align-items: center;
}
.interviewNav._businessnavi{
	display: block;
}
.interviewNav._businessnavi li{
	margin:0 0 1rem;
}
.bisnaviwrap ._menu{
	flex-basis: 30%;
}
.bisnaviwrap ._img{
flex-basis: 62%;
}

.bisnaviimg{
	position: relative;
	
}
.bisnaviimg ._title{
	position: absolute;
}
.bisnaviimg figure img {
	width: 100%;
}

.bisnaviimg  ._title {
  width: 32rem;
  position: absolute;
  color: #fff;
  z-index: 1;
	top: 0;
	left: 0;
  text-align: left;
	font-size: 2.6rem;
	font-weight: 600;
	padding: 2rem 3rem 7rem 2rem;
}
.bisnaviimg  ._title:before {
  content: "";
  display: block;
  background: var(--c_rd);
  position: absolute;
  right: 0;
  top: 0;
	bottom: 0;
	left: 0;
  z-index: -1;
	backface-visibility: hidden;
	clip-path: polygon(100% 0, 0 0, 0 100%);
	opacity: .8;
}

.bisnaviimg  ._title h3{
	font-size: 2.4rem;
}
.bisnaviimg{
  display: none;
}
.bistag li{
	background: var(--c_rd);
	color: #fff;
	padding: .5rem 1rem;
	margin: .1rem;
}

.placementbox ._cont{
	flex-basis: 50%;
	text-align: left;
}
.placementbox ._img{
	flex-basis: 43%;
}
.btmbnr{
	background: url("../img/business/bg_bnr.jpg") no-repeat top center;
	background-size: cover;
	flex-basis: 48%;
	position: relative;
	height: 23rem;
	padding: 3rem;
}
.btmbnr:after {
  content: "";
  display: block;
  width: 2.8rem;
  aspect-ratio: 1;
  border: 1px solid #000;
  border-radius: 50%;
  background: url(../img/arrow_bk.svg) center center no-repeat;
    background-size: auto;
  background-size: auto;
  background-size: 25% auto;
  position: absolute;
  left: 2rem;
  bottom: 2rem;
  z-index: 5;
  transition: .2s;
}

.btmbnr figure img{
backface-visibility: hidden;
clip-path: polygon(70% 0, 100% 0, 100% 100%, 40% 100%, 0 70%);
position: absolute;
right: 0;
top: 0;
height: 100%;
}
.btmbnr h2 {
	font-size: 2.4rem;
}


/*number
---------------------------------------------------------*/

.pagebggy{
	background-color: #f9f9f9
}
.numbertop {
	margin: 0 0 5rem;
}

.numbertop ._cont{
	flex-basis: 60%;
	text-align: left;
}

 .numbernavi{
	margin: 0 0 5rem;
}
.numbernavi li{
	flex-basis: 32%;
	margin: 0 .5% 1rem;
	text-align: left;
}
.numbernavi li a{
	background: #fff;
	border-left: 6px solid var(--c_rd);
	display: block;
	padding: 1.5rem;
	position: relative;
	font-weight: 500;
}
.numbernavi li a:after{
content: "";
  display: block;
  background: url(../img/arrow_rd.svg) right center no-repeat;
    background-size: auto;
  background-size: contain;
  width: 0.9rem;
  aspect-ratio: 9/15;
  position: absolute;
  right: 2rem;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
}


.numwrap{
	margin-bottom: 5rem;
}

.numbox{
	background: #fff;
	flex-basis: 48%;
	margin-bottom: 2rem;
	padding: 2rem 4rem;
}

.numbox ._cont{
text-align: left;
}

.numbox h3{
	font-size: 2rem;
}
.numbox ._num {
  color: var(--c_rd);
  font-size: 2.4rem;
}

.chkNum {
  font-size: 8rem;
}

.chkNum._small,
.topNumbers .chkNum._small {
	font-size: 5rem;
}

.numbox ._trb0{
	margin: -2rem -4rem -2rem;
}

/*top***/
.topNumbers .numwrap{
	margin-bottom: 0rem;
}
.topNumbers .numbox{
	flex-basis: 33%;
	background: #f5f5f5;
	padding-left: 2rem;
	padding-right: 2rem;
}
.topNumbers .chkNum {
  font-size: 6rem;
}
.topNumbers .numbox ._img img{
	max-height: 10rem;
}




/*company
---------------------------------------------------------*/
.companytopwrap{
	background: url("../img/company/bg_companytopwrap.png") no-repeat center top;
	background-size: contain;
	padding: 8rem 0 0;
}

.companytop ._logo img[src*="/logo.png"]{
	max-height: 6rem;
	margin-bottom: 2rem;
}
.companytop h2{
	font-size: 5rem;
	margin-bottom: 1rem;
}
.companytop h3{
	font-size:1.8rem;
	margin-bottom: 7rem;
}
.companytop li{
	flex-basis: 31%;
	margin: 0 1% 2rem;
	display: flex;
	align-items: center;
}
.companytop li figcaption{
	padding: 1rem 0;
	font-size: 112.5%;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
}
.companytop li figcaption::after {
	content: "";
	display: inline-block;
	background: url("../img/blank_rd.svg") center center no-repeat;
	background-size: contain;
	width: .75em;
	aspect-ratio: 1;
}
.companytop li figcaption > div{
	padding: .5rem 0 0;
	font-weight: 400;
}
.companytop li a:hover {
	color: var(--c_rd);
}
.companysupporttitlewrap{
	text-align: left;
	padding-bottom: 5rem;
}
.companysupporttitle{
	position: relative;
	display: inline-block;
}
._s02 .companysupporttitle{
	margin-left: 58%;
}


.companysupporttitle h2{
	font-size: 3.2rem;
	text-align: left;
}
.companysupporttitle h2 span{
	display: inline-block;
	background: var(--c_rd);
	color: #fff;
	padding: 0 1rem;
	position: relative;
	z-index: 2;
}
.companysupporttitle h3{
	text-align: right;
	margin: -2rem -10rem 0 0;
	position: relative;
	z-index: -1;
}

.companysupportwrap{
	padding: 6rem 0;
}
.companysupport{
	margin-bottom: 6rem;
}

._s02 .companysupport{
	flex-direction: row-reverse;
}

.companysupport ._cont{
	flex-basis: 42%;
	text-align: left;
}
.companysupport ._img{
	flex-basis: 60%;
	margin:-20rem -10rem 0 0;
}
._s02 .companysupport ._img{
margin:-20rem 0 0 -10rem;
}

.companysol ._title{
	flex-basis: 25%;
	position: relative;
	padding:12rem 2rem 2rem;
	
}
.companysol ._title:after{
	background: url("../img/tri.svg") no-repeat left center;
	background-size: contain;
	height: 100%;
	width: 100%;
	display: block;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	
}
.companysol ._title h2{
	font-size: 2rem;
	text-align: left;
	color: #fff;
	z-index: 1;
	position: relative;
}

.companysol ._title h3{
	padding: 3rem 0 0 3rem;
	z-index: 1;
	position: relative;
}

.companysol ._cont{
	flex-basis: 75%;
}

.companysol ._cont li{
	flex-basis: 48%;
	position: relative;
}
.companysol ._cont li._before:after{
  content: '';
  border-width: 1rem 0 1rem 1.5rem;
  border-style: solid;
  border-color: transparent transparent transparent var(--c_rd);
  display: block;
  position: absolute;
  right: -1.5em;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}


.companysol ._cont li figcaption{
	background: #4D4D4D;
	color: #fff;
	padding: .5rem;
}
.companysol ._cont li._after figcaption{
	background: var(--c_rd);
}


.companyfeature{
	position: relative;
	margin: 0 0 15rem;
}
.companyfeature ._cont{
	flex-basis: 42%;
	text-align: left;
}
.companyfeature ._cont ._num{
	padding-left: 5rem;
	position: absolute;
	top: -7rem;
	color:  var(--c_rd);
	margin: auto;
	text-align: center;
	left: 0;
	right: 0;
}
.companyfeature ._cont ._num big{
	font-size: 10rem;
}
.companyfeature ._img{
	flex-basis: 50%;
}
.companystep{
	margin: -4rem 0 15rem;
}
.companystep ul{
  gap: 1rem 2.7rem;
}
.companystep li {
	background: #F5F5F5;
	flex-basis: 18%;
	margin: 0 0% 2rem;
	padding: 3rem;
	font-weight: 500;
	position: relative;
}
.companystep li::after {
  content: '';
  border-width: 1rem 0 1rem 1.5rem;
  border-style: solid;
  border-color: transparent transparent transparent var(--c_rd);
  display: block;
  position: absolute;
  right: -1.5em;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}
.companystep li:last-child::after {
	display: none;
}

.companystep li figure{
	height: 8rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.companystep ._title{
	border:2px solid var(--c_rd);
	border-top: none;
	padding-top: 1rem;
}
.companystep ._title h3{
	font-size: 1.6rem;
	color: var(--c_rd);
	margin-bottom: -2rem;
	line-height: 2;
	
}
.companystep ._title h3 span{
	display: inline-block;
	background: var(--c_rd);
	color: #fff;
	padding: .5rem 2rem;
	
}

.aboutphoto ul{
  display:grid;
  grid-template-columns: 2fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap:2rem;
  list-style:none;
  padding:0;
  margin:0;
}

/* 左の大きい画像 */
.aboutphoto li:nth-child(1){
  grid-row:1 / 3;
}

/* figure */
.aboutphoto figure{
  position:relative;
  margin:0;
  height:100%;
}

/* 画像 */
.aboutphoto img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* キャプション */
.aboutphoto figcaption{
  position:absolute;
  left:0;
  bottom:0;
  background:var(--c_rd);
  color:#fff;
  padding:.5rem 1rem;
}


.companyendwrap{
	background: url("../img/company/bg_town.jpg") no-repeat center center;
	background-size: cover;
}
.companyend01 {
	margin-bottom: 2rem;
}
.companyend01 h2{
	font-size: 2.4rem;
	margin-bottom: 2rem;
}
.companyend02 {
	margin-bottom: 5rem;
	position: relative;
}
.companyend02:before {
	height: 29rem;
	width: 25rem;
	display: block;
	content: "";
	background: url("../img/company/tra01.png") no-repeat top left;
	background-size: contain;
	position: absolute;
	z-index: 0;
	left: 0;
	top: -16rem;
}
.companyend02:after {
	height: 29rem;
	width: 25rem;
	display: block;
	content: "";
	background: url("../img/company/tra02.png") no-repeat top left;
	background-size: contain;
	position: absolute;
	z-index: 0;
	right: 0;
	bottom: -16rem;
}
.companyend02 dl{
	padding: 4rem;
	background: #fff;
	min-width: 40rem;
	position: relative;
	z-index: 3;
}
.companyend02 ._kakeru{
	padding: 2rem;
}
.companyend02 h3{
	font-size: 2rem;
	margin-bottom: 1rem;
}
.companyend02 dt p{
	font-size: 1.4rem;
	margin-bottom: 1rem;
}
.companyend02 dd{
	background: #4D4D4D;
	color: #fff;
	padding: .5rem;
}
.companyend03 h2{
	font-size: 5rem;
}
.companyend03 ._logo img[src*="/logo.png"] {
  max-height: 6rem;
  margin-bottom:5rem;
}


/*popup
---------------------------------------------------------*/
.swindow-wrapper {
  z-index: 99999;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 6rem 1rem;
  text-align: center
}

.swindow-wrapper {
  opacity: 0;
  visibility: hidden;
  transition: all .2s ease-in;
}
.swindow-wrapper.is-show {
  opacity: 1;
  visibility: visible;
}
.swindow-wrapper::after {
  display: inline-block;
  height: 100%;
  margin-left: -.05em;
  vertical-align: middle;
  content: ""
}

.swindow-window {
	margin: 0 auto;
  z-index: 20;
  position: relative;
  max-width: 110rem;
  padding: 5rem 0;
  vertical-align: middle;
  color: #fff;
}


.swindow-overlay {
  z-index: 10;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
 background: rgba(0, 0, 0, 0.70);
backdrop-filter: blur(30px);
}
.swindow-overlay:hover{
 opacity:1;
	filter: alpha(opacity=100);
}


.swindow-wrapper .swindow-close {
  z-index: 20;
  display: inline-block;
  width: 50px;
  color: #fff;
  font-size: 1rem;
  text-align: center;

}
.swindow-content ._title h3{
	font-size: 8rem;
	font-weight: 500;
	margin: -7rem 0 2rem;
}

.swindow-navibox{
	background: #fff;
	border-radius: 8px;
	padding: 3rem;
}
.swindow-navibox li{
	flex-basis: 48%;
}
.swindow-navibox li a{
	background: var(--c_rd);
	color: #fff;
	display: block;
	position: relative;
	padding: 4em 1rem;
}
.swindow-navibox li h4{
	font-size: 2.4rem;
	margin: 0 0 1rem;
}

.swindow-navibox li p{
	font-size: 1.2rem;
}


.swindow-navibox li a:after {
  content: "";
  display: block;
  width: 2.8rem;
  aspect-ratio: 1;
  border: 1px solid var(--c_wh);
  border-radius: 50%;
  background: url(../img/arrow_wh.svg) center center no-repeat;
  background-size: 25% auto;
  position: absolute;
  right: 2rem;
  bottom: 2rem;
  z-index: 5;
  transition: .2s;
}
.swindow-navibox li a[target="_blank"]:after {
  background: url("../img/blank_wh.svg") center center no-repeat;
  background-size: 45% auto;
}


ul, ol {
  list-style-type: none;
}
body {
  font-family: 'Noto Sans JP', sans-serif ,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", Verdana;
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: center;
  color: #1a1a1a;
  font-feature-settings: 'halt';
}
:root {
  --c_bk: #4D4D4D;
  --c_wh: #ffffff;
  --c_gy: #f5f5f5;
  --c_rd: #DC0019;
  --tr_cb: cubic-bezier(.68,.03,.31,.94);
  --tri: polygon(100% 50%, 0% 0%, 0% 100%);
}
html {
  font-size: 10px;
}
要素属性のスタイル {
  text-emphasis-position: over;
}




/*ieハック*/
@media screen\0  {
}

/*********************************/
/* タブレット用のスタイル記述 */
/*********************************/
@media screen and (max-width: 1430px) {
	#nav {
		align-items: flex-end;
    flex-direction: column-reverse;
		position: relative;
	}
	.nav {
		padding: 1.5rem 2rem;
	}
	.hBtn a {
		width: 13rem;
		height: 5rem;
	}
	.hBtn a br {
		display: none;
	}
}
@media screen and (max-width: 1150px) {
	html {
		font-size: .8vw;
	}
}

/*********************************/
/* スマートフォン用のスタイル記述 */
/*********************************/
@media screen and (max-width: 780px) {
/*全体レイアウト
---------------------------------------------------------*/
	html {
		font-size: 2.7777777vw;
	}
	body {
		padding-top: 5.4rem;
		font-size: 1.4rem;
		line-height: 1.5
	}
	body.active {
		overflow: hidden;
	}
	article > section {
		padding: 4rem 0;
	}
	article > section:last-of-type {
		padding-bottom: 10rem;
	}
	/*header
	-------------------------------------------------------*/
/*header
	-------------------------------------------------------*/
	.hWrap {
		height: 5.4rem;
		padding-left: 1rem;
		padding-right: 6.5rem;
	}
	.hLft {
		gap: 1.5rem
	}
	.hLogo {
		width: 20rem;
	}
	img[src*="/logo.png"] {
		max-height: 3.1rem;
	}
	.menuIconWrap {
		display: block;
		position: fixed;
		top: 0;
		right: 0;
		width: 5.4rem;
		height: 5.4rem;
		background: #1a1a1a;
		z-index: 90000
	}
	.menuIcon {
		position: absolute;
		top: 50%;
		right: 0;
		left: 0;
		transform: translateY(-50%);
		margin: 0 auto;
		width: 3rem;
		height: 2.2rem;
		z-index: 10;
		cursor: pointer;
		display: block;
	}
	.menuIcon span {
		position: absolute;
		left: 0;
		width: 100%;
		height: .2rem;
		background:#fff;
		z-index: 10;
		transition: .2s;
	}
	.menuIcon span:nth-of-type(1) {top: 0px;}
	.menuIcon span:nth-of-type(2) {top: 1rem;	}
	.menuIcon span:nth-of-type(3) {bottom: 0px;	}
	.menuIcon.active span {
		background: #fff!important
	}
	.menuIconWrap.active span:nth-of-type(1) {
		-webkit-transform: translateY(1rem) rotate(45deg);
		transform: translateY(1rem) rotate(45deg);
	}
	.menuIconWrap.active span:nth-of-type(2) {
		opacity: 0;
	}
	.menuIconWrap.active span:nth-of-type(3) {
		-webkit-transform: translateY(-1rem) rotate(-45deg);
		transform: translateY(-1rem) rotate(-45deg);
	}
	#nav {
		position: fixed;
		top: 5.4rem;
		bottom: 0;
		right: 0;
		z-index: 10;
		width: 100%;
		transition: all 0.3s ease-in-out;
		overflow-y: auto;
		overflow-x: hidden;
		-webkit-overflow-scrolling: touch;
		display: block;
		padding: 0;
		font-size: 1.4rem;
		background: #fff;
		visibility: hidden;
		opacity: 0;
	}
	#nav.active {
		right: 0;
		opacity: 1;
		-moz-transform: translateX(0);
		-webkit-transform: translateX(0);
		transform: translateX(0);
		visibility: visible;
		z-index: 9990;
	}
	.spLogo {
		display: flex;
		align-items: center;
		height: 5.4rem;
		text-align: left;
		padding-left: 1rem;
	}
	.spLogo img {
		display: block;
		margin: 0;
	}
	.nav {
		margin: auto;
		display: block;
		width: 100%;
		padding: 0;
	}
	.nav > li {
		margin-top: 0;
		border-top: 1px solid #f1f1f1;
	}
	.nav > li > a {
		display: block;
		width: 100%;
		position: relative;
		padding: 2rem 3rem 2rem 2rem;
	}
	.nav > li > a::after {
		content: "";
		display: block;
		background: url("../img/arrow_bk.svg") center center no-repeat;
		background-size: contain;
		width: .7rem;
		height: 1.1rem;
		position: absolute;
		right: 2rem;
		top: 50%;
		transform: translateY(-50%);
	}
	.nav > li._02 {
		padding: 0 1rem;
		margin-top: 1rem;
		border-top: none;
	}
	.nav ._02 a {
		padding: 1.5rem;
		text-align: center;
	}
	.nav ._02 a::after {
		display: none;
	}
	.hBtn {
		flex-direction: column;
		gap: 1rem;
		padding: 1rem;
	}
	.hBtn li {
		width: 100%;
	}
	.hBtn a {
		width: 100%;
		height: 5.5rem;
	}
	.nav > li > a:hover {
		color: #1a1a1a;
	}
	.hScl {
		gap: 1.2rem
	}
	.hScl img {
    max-height: 3.2rem;
	}

	/*footer
	-------------------------------------------------------*/
	.fArea {
		padding-bottom: 3rem;
	}
	.fLinkArea {
		margin-top: -3rem;
	}
	.fRatio {
		display: block;
		font-size: 1.2rem;
		line-height: 1.2;
	}
	.fRatio dt {
		padding: .8rem;
	}
	.fRatio dd ul li {
		flex-direction: column;
		gap: .2rem;
		padding: 0.2rem;
	}
	.fLink {
		grid-template-columns: repeat(1,1fr);
	}
	.fLinkBtn a,
	.entryBnr a,
	.fLink a {
		padding: 2.5rem;
		padding: 1rem;
		height: 7rem;
		font-size: 1.6rem;
	}
	.entryBnr a .eng,
	.fLink a .eng {
		font-size: 2.4rem;
	}
	.entryBnr a::before,
	.entryBnr a::after,
	.fLinkBtn a::before,
	.fLinkBtn a::after,
	.fLink a::before,
	.fLink a::after {
		width: 14rem;
	}
	.fLinkBtn::after,
	.fLink li::after {
		width: 2rem;
		right: 1rem;
		bottom: 1rem;
	}
	.entryBnr .btn {
		margin-top: 0.5rem;
		min-width: 18rem;
		font-size: 1.2rem;
	}
	.sclTxtArea {
		margin-bottom: 3rem;
	}
	.sclTxt {
		margin-top: 3rem;
		font-size: 3.2rem;
	}
	.fWrap {
		display: block;
	}
	.fLogo img[src*="/logo.png"] {
    max-height: 4.5rem;
	}
	.fLogo img[src*="/logo.png"] + .sub {
		font-size: 1.6rem;
	}
	.fNav {
		display: none;
	}
	.fNav02 {
		margin-top: 3rem;
		font-size: 1.2rem;
		gap: .3rem;
		flex-wrap: wrap;
		justify-content: center;
	}
	.fNav02 li {
		flex-grow: 1;
	}
	.fNav02 a {
		line-height: 1.2;
		width: auto;
	}
	.copyright {
		width: 100%;
		margin-top: 3rem;
		text-align: center;
	}






	/*toppage
	-------------------------------------------------------*/
	.mainArea::before {
		display: none;
	}
	.mainWrap {
		height: 50rem!important;
	}
	.mvImg img {
		object-position: -13rem center;
	}
	.mvSub {
		bottom: auto;
		top: 0;
		width: 100%;
		height: 12rem;
		right: -5rem;
	}
	.mvSub img {
		object-position: bottom center;
	}
	.mvTtl {
		width: 20rem;
		right: 2rem;
		bottom: 2rem;
	}
	.mvTtl .sub {
		padding: 0.8rem;
		margin-bottom: 1.5rem;
	}
	.mvTtl .sub img {
		display: block;
		margin: 0 auto;
		max-height: 2rem;
	}
	.mvTtl .en {
		max-width: 25rem;
		left: -9rem;
		top: -7rem;
	}
	.mvTtl .eng {
		font-size: 1.1rem;
		margin-top: 1.5rem;
	}
	.mvSliderNav {
		width: 100%;
		margin-top: 1.5rem;
	}
	.mvTri {
		width: 100%;
		left: 0;
		top: 45%;
	}
	.mvScl {
		-webkit-writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		-o-writing-mode: vertical-rl;
		writing-mode: vertical-rl;
		right: auto;
		left: 2rem;
		text-shadow: 0 0 .5rem rgba(0, 0, 0, 0.7);
		padding-bottom: 8rem;
	}
	.mvScl::after {
		height: 7.5rem;
	}
	#top_message {
		padding: 8rem 0;
	}
	#top_message::before {
		width: 70%;
	}
	#top_message .bg {
		aspect-ratio: 1;
		background-size: auto 100%;
	}
	.top_message {
		display: block;
		margin-bottom: 6rem;
	}
	.top_message h2 {
		font-size: 2rem;
		margin-bottom: 2rem;
	}
	.top_message h3 {
		font-size: 2rem;
		line-height: 1.7;
	}
	.top_message h3 span::after {
		height: 0.3rem;
	}
	.top_message .en {
		max-width: 17rem;
		margin-right: 2.5rem;
    margin-top: 1rem;
	}
	.top_message .txt-lh {
		margin-top: 2rem;
	}
	.gallery {
		min-width: 54rem;
	}
	.gallery li {
		margin: 0 .5rem;
	}
	.gallery li:nth-of-type(2) {
		margin-top: auto;
		margin-left: -6rem;
		position: relative;
		z-index: 1;
	}
	.gallery li:nth-of-type(3) {
		margin-top: 2rem;
	}
	.gallery li:nth-of-type(4) {
		margin-top: 4rem;
	}
	.gallery li:nth-of-type(5) {
		margin-top: 2rem;
	}
	.topLink .sub {
		display: block;
		padding: .7rem;
		font-size: 1.2rem;
	}
	.topLink h2 {
		margin-bottom: 2rem;
	}
	.topLink h2 img {
		max-height: 2.6rem;
	}
	#topLink .bg {
		grid-template-columns: repeat(2,1fr);
	}
	.topLink .logo img {
		max-height: 4.3rem;
	}
	.pageContents {
			background-size: 80% auto;
	}
	.ttlArea {
		flex-direction: column;
		align-items: flex-start;
		margin-bottom: 4rem;
	}
	.ttlBox .eng {
		font-size: 3rem;
	}
	.ttlBox h1,
	.ttlBox h2 {
		font-size: 2rem;
		gap: .5rem;
	}
	.ttlBox h1::before,
	.ttlBox h2::before {
		width: 1.2rem;
	}
	.interviewIndex {
		display: block;
		padding: 0!important;
	}
	.interviewIndex > dt {
		width: auto;
		height: auto;
		padding: 3rem 2rem 2rem 2rem;
		margin: 0 -2rem 3rem;
	}
	.interviewIndex .interviewBox {
		aspect-ratio: 336 / 500;
	}
	.interviewIndex > dt::before {
		z-index: 1;
		width: 26rem;
	}
	.interviewIndex > dt .num {
		width: 5rem;
		top: -1.5rem;
	}
	.interviewIndex > dt .num img {
		max-height: 5.5rem;
	}
	.interviewIndex > dt .box {
		padding-left: 5rem;
	}
	.interviewIndex > dt h2 {
		font-size: 2rem;
	}
	.interviewIndex > dt .btn {
		background-color: var(--c_rd);
		border-color: var(--c_rd);
	}
	.interviewIndex > dt figure {
		width: 26rem;
	}
	.interviewList {
		grid-template-columns: repeat(2,1fr);
	}
	.interviewBox dt {
		font-size: 1.2rem;
		margin-bottom: 1rem;
    -webkit-line-clamp: 2;
    line-clamp: 2;
	}
	
	.interviewIndex > dt .eng {
		font-size: 250%;
	}
	.interviewBox .jobtype {
		font-size: 1.2rem;
		padding: .5rem 1rem;
	}
	.interviewIndex > dt .btnWrap {
		margin-top: 2rem;
	}
	.interviewBox dl {
		font-size: 1.2rem;
		padding: 1rem;
	}
	.interviewBox .eng {
		font-size: 1rem;
		padding: .5rem .8rem;
	}
	.interviewIndex + .interviewIndex {
    margin-top: 6rem;
	}
	.viewall {
		margin-top: 6rem;
	}
	.viewall a h2 {
		font-size: 1.8rem;
	}
	.viewall a::after {
		right: 1rem;
		bottom: 1rem;
		width: 2.5rem;
	}
	.viewall a .btn {
			width: 24rem;
	}
	.viewall a {
		padding: 3rem 0;
	}
	.ttl02Box h2 {
		font-size: 2rem;
	}
	.numTopImg {
    height: 16rem;
	}
	.topNumbers h3 {
		top: -5rem;
		font-size: 1.6rem;
	}
	.topNumbers h3 > * {
		padding: .7rem 1.2rem;
	}
	.topNumbers h3 strong {
		margin-top: -0.5rem;
	}
	.topNumbers {
		margin-top: -2rem;
		padding: 4rem 2rem 2rem;
	}
	.btnWrap {
		margin-top: 3rem;
	}
	.top_env {
		display: block;
	}
	.top_env h3 {
		font-size: 1.6rem;
	}
	.top_env h3 > * {
		padding: .7rem 1.2rem;
	}
	.top_env h3 strong {
		margin-top: -0.5rem;
	}
	.top_env .imgs {
		width: 100%;
		margin-left: 0;
		margin-top: 10rem;
	}
	.ttl02Box {
		margin-bottom: 3rem;
	}
	.ttl02Box.d-flex {
		display: block;
	}
	.ttl02Box .eng {
		font-size: 3rem;
	}
	.postSliderArea .postBox {
		margin: 0 1rem;
	}
	.postBox dl {
		font-size: 1.2rem;
		padding: 1.5rem;
	}
	.postBox dt {
		gap: .5rem 1.5rem;
	}
	.postBox dt .ttl {
		font-size: 1.4rem;
	}
	.date {
		font-size: 1.2rem;
	}
	.cate {
		font-size: 1rem;
		min-width: 4.5rem;
	}
	.sliderArrow {
		right: 4rem;
	}
	.sliderArrow.prev {
		left: 4rem;
	}
	#top_btm {
		background-position: right -12rem bottom;
		padding: 2.5rem 2rem 1rem;
		height: auto;
		margin-top: 5rem;
		margin-bottom: 10rem;
		height: 20rem;
	}
	#top_btm::before {
		width: 62%;
	}
	.btmArea {
		padding: 0;
	}
	.btmAreaTtl .en {
    max-width: 14rem;
    margin-left: -1.2rem;
	}
	.btmAreaTtl h2 {
		width: 11rem;
	}
	.btmAreaTtl h2 img {
    max-height: 4rem;
	}
	.btmAreaTtl .sub {
		padding: 0.6rem;
		margin-bottom: 1rem;
	}
	.btmAreaTtl .sub img {
		display: block;
		margin: 0 auto;
		max-height: 1.2rem;
	}
	.btmAreaTtl .en {
		max-width: 11rem;
		left: -9rem;
		top: -7rem;
	}
	.btmAreaTtl .eng {
		text-align: left;
		font-size: 1rem;
		margin-top: 1rem;
		max-width: 15rem;
	}

	/*subPage
	-------------------------------------------------------*/
	#recruit__subPage .pageContents {
		background-position: top -5rem left, top -7rem right;
		background-size: 65% auto;
	}
	#recruit__subPage .pageContents::before {
		height: 15rem;
	}
	.pageTtlArea {
		height: 20rem;
		justify-content: center;
		padding-top: 7rem;
	}
	.pageTtlArea._common {
		height: 2.5rem;
		margin-bottom: 4rem;
	}
	.pankz {
		top: 0;
		left: 0;
		right: 0;
		padding: .7rem 2rem;
		background: #fafafa;
		font-size: 1rem;
	}
	.pankz a::after {
		margin: 0 .5rem;
	}
	.pageTtlArea .ttlBox {
    margin-bottom: 0;
    min-height: 8.5rem;
	}
	.pageTtlArea .ttlBox .eng {
		font-size:2.6rem;
	}
	.pageTtlArea .ttlBox h1 {
		font-size: 2.2rem;
	}
	.pageTtlImg {
		width: 65%;
		bottom: 0;
		top: -7rem;
	}
	.pageTtlImg::after {
		height: 5rem;
	}
	.contSec {
		display: block;
	}
	.aside {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-bottom: 4rem;
	}
	.aside .ttlBox {
		margin-bottom: 0;
	}
	.sideNav {
		position: relative;
		top: auto;
		max-width: 100%;
		background: #f5f5f5;
		z-index: 1;
	}
	.sideNav h2 {
		position: relative;
		font-size: 1.4rem;
		padding: 1.2rem 2.7rem 1.2rem 1.5rem;
		margin-bottom: 0;
		transition: .2s;
		z-index: 1;
	}
	.sideNav h2.ja {
		font-size: 1.4rem;
		line-height: 1.1;
	}
	.sideNav h2::after {
    content: "";
    display: block;
    width: 1rem;
    aspect-ratio: 1;
    background: url(../img/arrow_bk.svg) center center no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    right: .9rem;
    transition: .2s;
	}
	.sideNav h2.act {
		background: #e5e5e5;
	}
	.sideNav h2.act::after {
		transform: translateY(-50%) rotate(-90deg);
	}
	.sideNav ul {
		display: none;
		min-width: 20rem;
		position: absolute;
		top: 99.9%;
		right: 0;
		font-size: 1.2rem;
		background: #f1f1f1;
		box-shadow: -.23rem .5rem .5rem 0 rgba(0, 0, 0, 0.15);
	}
	.sideNav li:last-of-type a {
		border-bottom: none;
	}
	.sideNav a {
		padding: 1.2rem 1rem;
	}
	

	/*interview
	-------------------------------------------------------*/
	.interviewNav {
		gap: 1rem 2%;
	}
	.interviewNav li {
		width: 49%;
	}
	.interviewNav a {
		padding-right: 1rem;
		font-size: 1.4rem;
		white-space: nowrap;
		border-left-width: .5rem;
		padding-left: .8rem;
	}
	.interviewNav a .eng {
		padding-right: 1.5rem;
	}
	.interviewNav a::after {
		width: 0.6rem;
	}
	.interviewArea:not(:first-of-type) {
		margin-top: 6rem;
	}
	.interviewTtl {
		font-size: 1.2rem;
	}
	.interviewTtl .ttl {
		font-size: 1.6rem;
		margin-bottom: 1rem;
	}
	.interviewTtl h1 {
		font-size: 1.4rem;
	}
	.interviewTtl .job {
		font-size: 1rem;
		margin-bottom: .5rem;
	}
	.interviewTop {
		display: block;
	}
	.interviewTop .img {
		width: 60%;
		margin: 0 auto 2rem;
	}
	.interviewTop dt {
		font-size: 1.6rem;
		margin-bottom: 1rem;
	}
	.interviewTop dt b::after {
		height: 0.3rem;
	}
	.interviewCont:not(:first-of-type) {
		margin-top: 5rem;
	}
	.interviewCont {
		display: block;
	}
	.interviewCont .img {
		margin-right: -2rem;
		margin-bottom: 2rem;
	}
	.interviewCont:nth-of-type(even) .img {
		margin-left: -2rem;
	}
	.interviewCont dl {
		width: 100%;
	}
	.interviewCont dt {
		gap: 1rem;
		margin-bottom: 2rem;
	}
	.interviewCont dt .eng {
		font-size: 2.4rem;
	}
	.interviewCont dt h2 {
		font-size: 1.6rem;
	}
	.interviewCont h3 {
		font-size: 1.6rem;
	}
	#interviewBtm .container {
		position: relative;
		padding-top: 13rem;
	}
	#interviewBtm .img {
		margin-right: -2rem;
	}
	.interviewBtm {
		min-height: auto;
		display: block;
		margin-top: 2rem;
	}
	.interviewBtmTtl {
		position: absolute;
		top: 5.5rem;
		left: 0;
	}
	.interviewBtmTtl .eng {
		font-size: 2.4rem;
	}
	.interviewBtmTtl h2 {
		font-size: 2rem;
	}
	.interviewBtmTtl::before {
		width: 20rem;
		right: auto;
		left: -2rem;
	}
	.interviewBtm dt {
		font-size: 1.8rem;
	}
	.otherSliderArea {
		margin: 0 calc(-50vw + 50%);
	}

	/*news
	-------------------------------------------------------*/
	.newsNav {
		display: block;
		padding: 2rem 1rem;
		margin-bottom: 5rem;
	}
	.newsNav h2 {
		font-size: 2rem;
		margin-bottom: 1.5rem;
	}
	.newsNav ul {
		gap: 1rem 2%;
	}
	.newsNav li {
		width: 49%;
	}
	.newsNav a {
		padding: .8rem;
		font-size: 1.2rem;
	}
	.newsList {
		grid-template-columns: repeat(2,1fr);
		gap: 3rem 1rem;
	}
	.pager {
		margin-top: 5rem;
	}
	.postArea .img {
		margin-bottom: 3rem;
	}
	.postHeader .ttl {
		font-size: 1.6rem;
		margin-top: 0;
	}
	.postHeader {
		margin-bottom: 3rem;
	}
	.postCont {
		font-size: 1.4rem;
	}
	.postCont h2 {
		font-size: 112.5%;
	}
	.pagesetWrap {
		margin-top: 6rem;
	}
	.pageset a::after {
		bottom: auto;
		top: 9rem;
	}
	.pageset dl {
		display: block;
	}
	.pageset dt,
	.pageset dd {
		width: 100%;
	}
	.pageset dd {
		font-size: 1.2rem;
		padding: 1rem;
	}
	.pageset dd .txt {
		min-height: 5.4rem;
	}
	.pageset dd .date {
		font-size: 1rem;
	}
	.pageset dd .txt {
		font-size: 1.2rem;
	}

	/*entry
	-------------------------------------------------------*/
	.whBox {
		padding: 3rem 2rem;
	}
	.whBox {
		font-size: 1.2rem;
	}
	.radioWrap {
		gap: 1rem 2rem
	}
	.formTxt {
		margin-bottom: 2rem;
	}
	.formWrap {
		padding: 0
	}
	.formBox dt,.formBox dd  {
		width: 100%;
		padding: 1rem 0 0;
		border:none!important
	}
	.formBox dt {
		padding: 1rem;
		background: #f9f9f9;
	}
	.formBox dt::before {
		vertical-align: .2em;
		margin-right: 1rem;
	}
	.formBox dd {
		padding: 1rem 1rem 3rem;
	}
	.formName > .txt {
    width: 100%;
		margin: .5rem 0!important
	}
	.formName .txt span {
		text-align: right
	}
	.zipBtn {
		font-size: 1.2rem;
		padding: 7px;
		margin-left: 2px;
	}
	.formBox input[type="text"].size-s {
		max-width: 12rem;
	}
	.formBtn {
		margin-top: 1rem;
	}
	.formWrap input[type="submit"], .formWrap input[type="button"], .formWrap button.button._grey {
		min-width: 26rem;
		padding: 2rem 1rem;
	}

	/*job
	-------------------------------------------------------*/
	.jobTbl {
		grid-template-columns: repeat(1,1fr);
	}
	.jobTbl dt,
	.jobTbl dd {
		border: none!important;
		padding: 1.2rem 1rem;
	}
	.jobTbl dt {
		margin-bottom: 0.5rem;
	}
	.jobTbl dt:not(:first-of-type) {
		margin-top: 2rem;
	}
	
	/*job index
---------------------------------------------------------*/
.jobsearchwrap{
	padding: 2rem 0rem;
	margin: 0 0 3rem;
}
.jobsearchwrap dl{
	padding: .5rem 0;
	font-size: 80%;
}
.jobsearchwrap dt{
	flex-basis: 20%;
}
.jobsearchwrap dd{
	flex-basis: 80%;
}
.jobsearchwrap li{
	margin: 0 .5rem 0 0;
}
.jobsearchwrap ._type{
  padding:.5rem 1rem;
}

.searchbtn{
	padding: 1rem 3rem;
	font-size: 100%;
}
.joblistwrap{
	margin: 0 0 2rem;
}


.jtitle01{
	font-size:1.6rem;
	margin-bottom: 1rem;
}

.joblist{
padding: 1rem;
margin: 0 0 2rem;
}



.joblist .postHeader h2{
	font-size: 1.5rem;
}
.joblist ._cont {
	display: block;
}

.joblist ._cont dl{
	margin-bottom: 1rem;
}
.joblist ._cont dt{
	margin-right: 1rem;
	flex-basis: 35%;
}
.flowSliderArea{
	margin-bottom: 5rem;
}
.flowbox{
	margin: 0 .5rem;
	min-height: 16rem;
	padding: 2rem 0;
}
.flowbox:after{
content: '';
  border-width: 1rem 0 1rem 2rem;
  right: -1rem;
}


.flowbox h3{
	padding-bottom: 1rem;
}
.flowbox h3 big{
	font-size: 3rem;
}

.flowbox ._ebtn a{
	padding: 1rem 0rem;
	max-width: 80%;
}

.flowSlider   .sliderArrow.prev{
	left: -1rem;
}
.flowSlider   .sliderArrow.next{
	right: -1rem;
}

.jobcontactwrap{
	padding:2rem 0;
	margin-bottom: 3rem;
}
.jobcontact {
	display: block;
}
.jobcontact p{
	text-align: left;
	margin-bottom: 2rem;
}

.jcontact{
	margin:0 0 1rem;
}

.jcontact dt{
	flex-basis: 30%;
}
.jcontact dd{
	font-size: 1.8rem;
}

.jobcomback {
	display: block;
}

.jobcomback ._cont{
	margin-bottom: 2rem;
}

.jobcomback ._img{
	
}

	
	
	
	


/*environment
---------------------------------------------------------*/
.benefitstop {
	padding: 5rem 0 5rem;
	display: block;
}
.benefitstop ._cont{
	margin-bottom: 2rem;
}
.benefitstop ._img{
	margin-bottom: 2rem;
}

.benefitstop ._img figure {
  position: relative;
  top: auto;
  right: auto;
  width: 100%;
}
.benefitstop ._img:before{
  width: 11rem;
  left: -1rem;
  top: -5rem;
}
.benefitstop.row-r ._img::before{
	right: -1rem;
}


.bktitle01 {
  font-size: 1.8rem;
  margin-bottom: 1rem;
}

.bktitle01  > * {
  padding: .7rem 1.5rem;
}

.stitle01{
  font-size: 1.6rem;
  margin-bottom: 2rem;
}


.benefitboxwrap{
	margin-bottom: 5rem;
	display: block;
}
.benefitbox{
	margin: 0 1% 3rem;
}


.benefitbox ._cont h3{
	font-size: 1.6rem;
	margin-bottom: 1rem;
}

.beneotherbox{
	margin-bottom: 3rem;
	padding-bottom: 3rem;
	display: block;
}


.beneotherbox ._title{
	padding-bottom: 2rem;
	
}
.beneotherbox ._tbox{
	justify-content: center;
}

.beneotherbox ._title ._num{
	font-size: 1.6rem;
	margin:0 2rem 0 0;
	text-align: center;
}
.beneotherbox ._title ._num big{
	font-size: 5rem;

}
.beneotherbox ._title h3{
	font-size: 1.6rem;
}


.beneotherbox ._cont{
}
.otherlist li {
	flex-basis: 31%;
	margin: 0 1% 2rem;
}
.otherlist li figure{
	height: 10rem;
}
.otherlist li img{
	max-height: 60%;
}
.otherlist li p{
	font-size: 80%;
}

.beneotherimg01{
	position: relative;
	top: auto;
	left: auto;
	max-height: 15rem;
}
.beneotherimg02{
	position: relative;
	top: auto;
	left: auto;
	max-height: 15rem;
}

#workspace{
	background-size: 65% auto;
}
.workspacewrap {
	position: relative;
	margin-top: 12rem;
}
.workspacewrap ._title{
	top: -7rem;
	padding-left: 1rem;
	padding-top: 3rem;
}
.workspacewrap._bis ._title{
	padding:2rem 1rem 0;
}

.workspacewrap ._title:before {
  width: 15rem;
  left: 0;
  z-index: 0;
  top: -4rem;
 transform: none;
}
.workspacewrap ._title h3{
	position: relative;
	z-index: 1;
	line-height: 1.2;
	font-size: 1.6rem;
}
.workspacewrap ._title h3 br {
	display: none;
}
.workspacewrap ._title p{
	position: relative;
	z-index: 1;
	font-size: 1.2rem;
	padding:0rem 0 0;
}

.workspacewrap ul{
	
	display: block;
}
.workspacewrap li{
	margin-bottom: 2rem;
	position: relative;
}
.workspacewrap li figcaption{
	padding: .5rem;
}


.bg-tr-right01{
background-size: 65% auto;
}

.trainingtop {
	padding: 5rem 0 10rem;
	display: block;
}
.trainingtop ._cont{
	margin-bottom: 2rem;
}
.trainingtop ._img{
	
}

.trainingtop ._img{
	flex-basis: 48%;
	position: relative;
}
.trainingtop ._img figure {
  position: relative;
  top:auto;
  left: auto;
  width: 100%;
}
.trainingtop ._img:before{
  width: 11rem;
  left: -1rem;
  top: -2rem;
}
.trainingbox{
	display: block;
}
.trainingbox ._cont{
	margin-bottom: 2rem;
}
.trainingbox ._img{

}

.bg-tr-left01{
	background-size: 65% auto;
}

.ktable01{
border-spacing: .2rem;

}
.ktable01 td{
	padding: .5rem;
	font-size: 80%;
}
.ktable01 td img{
	max-height: 7rem;
}
.ktable01 th{
	padding: .5rem;
	font-size: 80%;
	
}
.ktable01 th._arrow:after{
  border-width: .5rem 0 .5rem 1rem;
  right: -.5em;

}

.bg-tr-lr01{
  background-position: 0 -50rem,right 15rem;
  
  background-size: 65% auto;
}


.bg-tr-lr02{
  background-position: 0 120rem,right 15rem;
  
  background-size: 40% auto;
}




.numberbnr{
	padding: 2rem 4rem 2rem 2rem;
	position: relative;
	display: block;
}
.numberbnr .ttlBox p{
	font-size:2rem;
}
.numberbnr .ttlBox {
	margin-bottom: 2rem;
}
.numberbnr ._cont{
	margin: 0 0 2rem;
}

.numberbnr:after{
width: 2rem;
    right: 1rem;
    bottom: 1rem;
}


/*business
---------------------------------------------------------*/
.bisnaviwrap{
	margin-bottom: 2rem;
	display: block;
}
.interviewNav._businessnavi{
	display: flex;
}
.interviewNav._businessnavi li{
	margin:0 ;
}
.bisnaviwrap ._menu{

}
.bisnaviwrap ._img{
display: none;
}

.benefitstop._bis{
	padding-bottom: 2rem;
}

.placementbox {
	display: block;
}

.placementbox ._cont{
	margin-bottom: 2rem;
}
.btmbnrwrap{
	display: block;

}
.btmbnr{
	height: 38vw;
	padding: 1rem;
	display: block;
	margin-bottom: 2rem;
}
.btmbnr h2 {
	font-size: 1.8rem;
}
.btmbnr:after {
width: 2rem;
    left: 1rem;
    bottom: 1rem;
}

/*number
---------------------------------------------------------*/

.numbertop {
	margin: 0 0 2rem;
	display: block;
}

.numbertop ._cont{
	margin-bottom: 2rem;
}
.numbertop ._img{
	margin: 0 16%;
}
 .numbernavi{
	margin: 0 0 5rem;
}
.numbernavi li{
	flex-basis: 49%;
	font-size: 1.2rem;
}
.numbernavi li a{
	padding: 1rem;
}
.numbernavi li a:after{
  width: 0.5rem;
 right: 1rem;
}


.numwrap{
	margin-bottom: 3rem;
	display: block;
}

.numbox{
	padding: 2rem;
}

.numbox ._cont{

}

.numbox h3{
	font-size: 1.6rem;
}
.numbox ._num {
  font-size: 1.5rem;
}

.numbox ._img img{
	max-height: 12rem;
}
.chkNum {
  font-size: 4rem;
}

.chkNum._small{
	font-size: 3rem;
}

.numbox ._trb0{
	margin: -2rem  -2rem;
}


/*top***/
.topNumbers .numbox{
	background: #f5f5f5;
	padding-left: 1rem;
	padding-right: 1rem;
	margin-bottom: 1rem;
}
.chkNum._small, .topNumbers .chkNum._small {
  font-size: 4rem;
}
.topNumbers .numbox ._img img{
	max-height: 8rem;
}





/*company
---------------------------------------------------------*/
.companytopwrap{
	background: url("../img/company/bg_companytopwrap.png") no-repeat center top;
	background-size: 275vw;;
	padding: 4rem 0 0;
}

.companytop ._logo img[src*="/logo.png"]{
	max-height: 3rem;
	margin-bottom: 1rem;
}
.companytop h2{
	font-size: 2.8rem;
	margin-bottom: 1rem;
}
.companytop h3{
	font-size:1.8rem;
	margin-bottom: 4rem;
}
.companytop li{
	flex-basis: 48%;
	margin: 0 1% 1rem;
}


.companysupporttitlewrap{
	text-align: center;
	padding-bottom: 2rem;
}
._s02 .companysupporttitle{
	margin-left: 0%;
}
.companytop li figcaption {
	font-size: 90%;
	white-space: nowrap;
}


.companysupporttitle h2{
	font-size: 1.8rem;
}

.companysupporttitle h3{
	text-align: right;
	margin: -1rem -15vw 0 0;
	position: relative;
	z-index: -1;
}
.companysupporttitle h3 img{
	max-height: 5rem;
}


.companysupportwrap{
	padding: 3rem 0 0;
}
.companysupport{
	margin-bottom: 3rem;
	display: block;
}

._s02 .companysupport{
	
}
.companysupport ._cont{
	margin-bottom: 2rem;
}
.companysupport ._img{
	margin:0rem 0rem 0 0;
}
._s02 .companysupport ._img{
margin:-0rem 0 0 -0rem;
}
.companysol {
	display: block;
}

.companysol ._title{
	position: relative;
	padding: 3rem 2rem 4rem;
}

.companysol ._title:after{
	height: 100%;
	width: 50%;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	transform: rotate(90deg);
	
}
.companysol ._title h2{
	font-size: 1.5rem;
	text-align: center;
	color: #fff;
	z-index: 1;
	position: relative;
}

.companysol ._title h3{
	padding: 1rem 0 0 0rem;
}

.companysol ._cont ul{
	display: block;
}

.companysol ._cont li{
		margin: 0 0 4rem;
}
.companysol ._cont li._before:after{
  content: '';
  border-width: 1rem 0 1rem 1.5rem;
  border-style: solid;
  border-color: transparent transparent transparent var(--c_rd);
  display: block;
  position: absolute;
  right:auto;
  left: 50%;
  top: 105%;
  transform:rotate(90deg);
  margin: 0 auto;
}
.companysol ._cont li figcaption{
	font-size: 90%;
}

.companyfeature{
	position: relative;
	margin: 0 0 5rem;
	display: block;
}
.companyfeature ._cont{
	margin-bottom: 2rem;
}
.companyfeature ._cont h3{
	text-align: center;
	font-size: 2rem;
}

.companyfeature ._cont ._num{
	padding: 0 0 1rem;
	position: relative;
	top:auto;
	left: auto;
	right: auto;
}
.companyfeature ._cont ._num big{
	font-size: 4rem;
}
.companyfeature ._img{
	
}
.companystep{
	margin: -2rem 0 5rem;
}
.companystep ul{
  gap: 1rem 2rem;
}
.companystep li {
	flex-basis: 29%;
	margin: 0 0% 0rem;
	padding: 1rem;
	font-weight: 500;
	position: relative;
}
.companystep li::after {
  border-width: 1rem 0 1rem 1rem;
  right: -1em;
}

.companystep li figure{
	height: 6rem;

}
.companystep li figure img{
	max-height: 12vw;
}

.companystep ._title{
	padding-top: 1rem;
}
.companystep ._title h3{
	font-size: 1.2rem;
	margin-bottom: -2rem;
	line-height: 2;
	
}
.companystep ._title h3 span{
	padding: .5rem 2rem;
	
}

.spcenter{
	text-align: center;
}


.aboutphoto ul{
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto;
	gap:1rem;
  }

  /* 大きい画像を上で横いっぱい */
  .aboutphoto li:nth-child(1){
    grid-column:1 / 3;
    grid-row:auto;
	
  }

/* キャプション */
.aboutphoto figcaption{
	font-size: 1rem;
  padding:.5rem 1rem;
}


.companyendwrap{
	background: url("../img/company/bg_town.jpg") no-repeat center center;
	background-size: cover;
}
.companyend01 {
	margin-bottom: 2rem;
}
.companyend01 h2{
	font-size: 1.6rem;
	margin-bottom: 2rem;
}
.companyend02 {
	margin-bottom: 3rem;
	position: relative;
	display: block;
}
.companyend02:before {
	height: 15rem;
	width: 12rem;
	left: -1rem;
    top: -5rem;
}
.companyend02:after {
	height: 15rem;
	width: 12rem;
	right: -1rem;
    bottom: -5rem;
}
.companyend02 dl{
	padding: 2rem;
	background: #fff;
	min-width: auto;
	position: relative;
	z-index: 3;
}
.companyend02 ._kakeru img{
	max-width: 3rem;
}
.companyend02 h3{
	font-size: 1.8rem;
}
.companyend02 dt p{
	font-size: 1.1rem;
	margin-bottom: 1rem;
}
.companyend02 dd{

}
.companyend03 h2{
	font-size: 2.4rem;
}
.companyend03 ._logo img[src*="/logo.png"] {
  max-height: 3rem;
  margin-bottom:2rem;
}


/*popup
---------------------------------------------------------*/



.swindow-content ._title h3{
	font-size: 4rem;
	font-weight: 500;
	margin: -4rem 0 2rem;
}

.swindow-navibox{
	padding: 2rem;
}
.swindow-navibox ul{
	display: block;
}
.swindow-navibox li{
	margin-bottom: 1rem;
}
.swindow-navibox li a{
	padding: 2em 1rem;
}
.swindow-navibox li h4{
	font-size: 1.8rem;


}


.swindow-navibox li a:after {
width: 2rem;
    right: 1rem;
    bottom: 1rem;
}









}

