@charset "utf-8";

/* ---------------------------------------------------------------------------------------
	RESET
--------------------------------------------------------------------------------------- */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,cite,figure,figcaption,del,dfn,em,font,q,s,samp,strike,strong,address,ol,ul,li,dl,dt,dd,fieldset,form,label,legend,tbody,tfoot,thead,tr {
	border: 0;
	font-family: inherit;
	font-size: 100%;
	font-style: inherit;
	font-weight: inherit;
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: baseline;
}
html {
	overflow-y: scroll;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
	font-size: min(10px, calc(calc(10 / 750) * 100vw));
	line-height: 1.6;
}
article,aside,details,figcaption,figure,footer,header,nav,section {
	display: block;
}
ol,ul {
	list-style: none;
}
a {
	outline: none;
	outline-color: none;
	text-decoration: none;
	color: inherit;
}
img {
	vertical-align: top;
	width: 100%;
	height: auto;
}
*, ::after, ::before {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border-style: none;
}
.hover:hover {
	opacity: 0.8;
}
table {
	border-color: inherit; /* 1 */
	border-collapse: collapse;
}
	.w10 {
		width: 10% !important;
		max-width: 10% !important;
	}
	.w15 {
		width: 15% !important;
		max-width: 15% !important;
	}
	.w20 {
		width: 20% !important;
		max-width: 20% !important;
	}
	.w25 {
		width: 25% !important;
		max-width: 25% !important;
	}
	.w30 {
		width: 30% !important;
		max-width: 30% !important;
	}
	.w33 {
		width: 33% !important;
		max-width: 33% !important;
	}
	.w35 {
		width: 35% !important;
		max-width: 35% !important;
	}
	.w40 {
		width: 40% !important;
		max-width: 40% !important;
	}
	.w45 {
		width: 45% !important;
		max-width: 45% !important;
	}
	.w46 {
		width: 46% !important;
		max-width: 46% !important;
	}
	.w47 {
		width: 47% !important;
		max-width: 47% !important;
	}
	.w48 {
		width: 48% !important;
		max-width: 48% !important;
	}
	.w49 {
		width: 49% !important;
		max-width: 49% !important;
	}
	.w50 {
		width: 50% !important;
		max-width: 50% !important;
	}
	.w60 {
		width: 60% !important;
		max-width: 60% !important;
	}
	.w65 {
		width: 65% !important;
		max-width: 65% !important;
	}
	.w70 {
		width: 70% !important;
		max-width: 70% !important;
	}
	.w75 {
		width: 75% !important;
		max-width: 75% !important;
	}
	.w80 {
		width: 80% !important;
		max-width: 80% !important;
	}
	.w85 {
		width: 85% !important;
		max-width: 85% !important;
	}
	.w90 {
		width: 90% !important;
		max-width: 90% !important;
	}
	.w95 {
		width: 95% !important;
		max-width: 95% !important;
	}
	.w100 {
		width: 100% !important;
		max-width: 100% !important;
	}

	.mb0 {
		margin-bottom: 0px !important;
	}
	.mb05 {
		margin-bottom: 5px !important;
	}
	.mb10 {
		margin-bottom: 10px !important;
	}
	.mb15 {
		margin-bottom: 15px !important;
	}
	.mb20 {
		margin-bottom: 20px !important;
	}
	.mb25 {
		margin-bottom: 25px !important;
	}
	.mb30 {
		margin-bottom: 30px !important;
	}
	.mb35 {
		margin-bottom: 35px !important;
	}
	.mb40 {
		margin-bottom: 40px !important;
	}
	.mb45 {
		margin-bottom: 45px !important;
	}
	.mb50 {
		margin-bottom: 50px !important;
	}
	.mb60 {
		margin-bottom: 60px !important;
	}
	.mb70 {
		margin-bottom: 70px !important;
	}
	.mb80 {
		margin-bottom: 80px !important;
	}
	.mb90 {
		margin-bottom: 90px !important;
	}
	.mb100 {
		margin-bottom: 100px !important;
	}
	.mt0 {
		margin-top: 0px !important;
	}
	.mt05 {
		margin-top: 5px !important;
	}
	.mt10 {
		margin-top: 10px !important;
	}
	.mt15 {
		margin-top: 15px !important;
	}
	.mt20 {
		margin-top: 20px !important;
	}
	.mt25 {
		margin-top: 25px !important;
	}
	.mt30 {
		margin-top: 30px !important;
	}
	.mt35 {
		margin-top: 35px !important;
	}
	.mt40 {
		margin-top: 40px !important;
	}
	.mt45 {
		margin-top: 45px !important;
	}
	.mt50 {
		margin-top: 50px !important;
	}
	.mt60 {
		margin-top: 60px !important;
	}
	.mt70 {
		margin-top: 70px !important;
	}
	.mt80 {
		margin-top: 80px !important;
	}
	.mt90 {
		margin-top: 90px !important;
	}
	.mr0 {
		margin-right: 0 !important;
	}
	.mr10 {
		margin-right: 10px !important;
	}
	.mr20 {
		margin-right: 20px !important;
	}
	.mr30 {
		margin-right: 30px !important;
	}
	.ml0 {
		margin-left: 0 !important;
	}
	.ml10 {
		margin-left: 10px !important;
	}
	.ml20 {
		margin-left: 20px !important;
	}
	.ml30 {
		margin-left: 30px !important;
	}
	.pb0 {
		padding-bottom: 0px !important;
	}
	.pb05 {
		padding-bottom: 5px !important;
	}
	.pb10 {
		padding-bottom: 10px !important;
	}
	.pb15 {
		padding-bottom: 15px !important;
	}
	.pb20 {
		padding-bottom: 20px !important;
	}
	.pb25 {
		padding-bottom: 25px !important;
	}
	.pb30 {
		padding-bottom: 30px !important;
	}
	.pb40 {
		padding-bottom: 40px !important;
	}
	.pb50 {
		padding-bottom: 50px !important;
	}
	.pt0 {
		padding-top: 0px !important;
	}
	.pt05 {
		padding-top: 5px !important;
	}
	.pt10 {
		padding-top: 10px !important;
	}
	.pt15 {
		padding-top: 15px !important;
	}
	.pt20 {
		padding-top: 20px !important;
	}
	.pt25 {
		padding-top: 25px !important;
	}
	.pt30 {
		padding-top: 30px !important;
	}
	.ptl0 {
		padding-left: 0 !important;
	}
	.ptr0 {
		padding-right: 0 !important;
	}
	.pad0 {
		padding: 0px !important;
	}
	.pad5 {
		padding: 5px !important;
	}
	.pad10 {
		padding: 10px !important;
	}
	.pad15 {
		padding: 15px !important;
	}
	.pad20 {
		padding: 20px !important;
	}
	.pad25 {
		padding: 25px !important;
	}
	.pad30 {
		padding: 30px !important;
	}

	@media screen and (max-width: 640px) {
		.spw5 {
			width: 5% !important;
			max-width: 5% !important;
		}
		.spw10 {
			width: 10% !important;
			max-width: 10% !important;
		}
		.spw15 {
			width: 15% !important;
			max-width: 15% !important;
		}
		.spw20 {
			width: 20% !important;
			max-width: 20% !important;
		}
		.spw25 {
			width: 25% !important;
			max-width: 25% !important;
		}
		.spw30 {
			width: 30% !important;
			max-width: 30% !important;
		}
		.spw33 {
			width: 33% !important;
			max-width: 33% !important;
		}
		.spw35 {
			width: 35% !important;
			max-width: 35% !important;
		}
		.spw40 {
			width: 40% !important;
			max-width: 40% !important;
		}
		.spw45 {
			width: 45% !important;
			max-width: 45% !important;
		}
		.spw46 {
			width: 46% !important;
			max-width: 46% !important;
		}
		.spw47 {
			width: 47% !important;
			max-width: 47% !important;
		}
		.spw48 {
			width: 48% !important;
			max-width: 48% !important;
		}
		.spw49 {
			width: 49% !important;
			max-width: 49% !important;
		}
		.spw50 {
			width: 50% !important;
			max-width: 50% !important;
		}
		.spw60 {
			width: 60% !important;
			max-width: 60% !important;
		}
		.spw90 {
			width: 90% !important;
			max-width: 90% !important;
		}
		.spw100 {
			width: 100% !important;
			max-width: 100% !important;
		}

		.spmt0 {
			margin-top: 0px !important;
		}
		.spmt05 {
			margin-top: 5px !important;
		}
		.spmt10 {
			margin-top: 10px !important;
		}
		.spmt15 {
			margin-top: 15px !important;
		}
		.spmt20 {
			margin-top: 20px !important;
		}
		.spmt25 {
			margin-top: 25px !important;
		}
		.spmt30 {
			margin-top: 30px !important;
		}
		.spmt35 {
			margin-top: 35px !important;
		}
		.spmt40 {
			margin-top: 40px !important;
		}
		.spmt45 {
			margin-top: 45px !important;
		}
		.spmt50 {
			margin-top: 50px !important;
		}
		.spmt55 {
			margin-top: 55px !important;
		}
		.spmt60 {
			margin-top: 60px !important;
		}
		.spmt65 {
			margin-top: 65px !important;
		}
		.spmt70 {
			margin-top: 70px !important;
		}
		.spmt75 {
			margin-top: 75px !important;
		}
		.spmt80 {
			margin-top: 80px !important;
		}
		.spmt85 {
			margin-top: 85px !important;
		}
		.spmt90 {
			margin-top: 90px !important;
		}
		.spmt95 {
			margin-top: 95px !important;
		}
		.spmt100 {
			margin-top: 100px !important;
		}
		.spmb0 {
			margin-bottom: 0px !important;
		}
		.spmb05 {
			margin-bottom: 5px !important;
		}
		.spmb10 {
			margin-bottom: 10px !important;
		}
		.spmb15 {
			margin-bottom: 15px !important;
		}
		.spmb20 {
			margin-bottom: 20px !important;
		}
		.spmb25 {
			margin-bottom: 25px !important;
		}
		.spmb30 {
			margin-bottom: 30px !important;
		}
		.spmb35 {
			margin-bottom: 35px !important;
		}
		.spmb40 {
			margin-bottom: 40px !important;
		}
		.spmb45 {
			margin-bottom: 45px !important;
		}
		.spmb50 {
			margin-bottom: 50px !important;
		}
		.spmb55 {
			margin-bottom: 55px !important;
		}
		.spmb60 {
			margin-bottom: 60px !important;
		}
		.spmb65 {
			margin-bottom: 65px !important;
		}
		.spmb70 {
			margin-bottom: 70px !important;
		}
		.spmb75 {
			margin-bottom: 75px !important;
		}
		.spmb80 {
			margin-bottom: 80px !important;
		}
		.spmb85 {
			margin-bottom: 85px !important;
		}
		.spmb90 {
			margin-bottom: 90px !important;
		}
		.spmb95 {
			margin-bottom: 95px !important;
		}
		.spmb100 {
			margin-bottom: 100px !important;
		}
		.spmr0 {
			margin-right: 0 !important;
		}
		.spml0 {
			margin-left: 0 !important;
		}
		.sppt0 {
			padding-top: 0 !important;
		}
		.sppt05 {
			padding-top: 5px !important;
		}
		.sppt10 {
			padding-top: 10px !important;
		}
		.sppt15 {
			padding-top: 15px !important;
		}
		.sppt20 {
			padding-top: 20px !important;
		}
		.sppt25 {
			padding-top: 25px !important;
		}
		.sppt30 {
			padding-top: 30px !important;
		}
		.sppt40 {
			padding-top: 40px !important;
		}
		.sppt50 {
			padding-top: 50px !important;
		}
		.sppt60 {
			padding-top: 60px !important;
		}
		.sppt70 {
			padding-top: 70px !important;
		}
		.sppt80 {
			padding-top: 80px !important;
		}
		.sppt90 {
			padding-top: 90px !important;
		}
		.sppt100 {
			padding-top: 100px !important;
		}
		.sppb0 {
			padding-bottom: 0 !important;
		}
		.sppb05 {
			padding-bottom: 5px !important;
		}
		.sppb10 {
			padding-bottom: 10px !important;
		}
		.sppb15 {
			padding-bottom: 15px !important;
		}
		.sppb20 {
			padding-bottom: 20px !important;
		}
		.sppb25 {
			padding-bottom: 25px !important;
		}
		.sppb30 {
			padding-bottom: 30px !important;
		}
		.sppb40 {
			padding-bottom: 40px !important;
		}
		.sppb50 {
			padding-bottom: 50px !important;
		}
		.sppb60 {
			padding-bottom: 60px !important;
		}
		.sppb70 {
			padding-bottom: 70px !important;
		}
		.sppb80 {
			padding-bottom: 80px !important;
		}
		.sppb90 {
			padding-bottom: 90px !important;
		}
		.sppb100 {
			padding-bottom: 100px !important;
		}
}
/* ---------------------------------------------------------------------------------------
	Otherwise
--------------------------------------------------------------------------------------- */
@media screen and (min-width: 641px) {
	.pc_none {
		display: none !important;
	}
}
@media screen and (max-width: 640px) {
	.sp_none {
		display: none !important;
	}
}

/* ---------------------------------------------------------------------------------------
	body
--------------------------------------------------------------------------------------- */
body {
	background-color: #FFEFEF;
	font-size: 2.4rem;
}

/* ---------------------------------------------------------------------------------------
	wrapper
--------------------------------------------------------------------------------------- */
.l-wrapper {
	width: min(750px, 100%);
	margin: 0 auto;
	padding-top: 11.0rem;
	background-color: #ffffff;
}

/* ---------------------------------------------------------------------------------------
	header
--------------------------------------------------------------------------------------- */
.l-header {
	width: inherit;
	padding: 0 0 0 2.0rem;
	display: flex;
	gap: 1px;
	background: #ffffff;
	transform: translateX(-50%);
	align-items: center;
	line-height: 0;
	position: fixed;
	top: 0;
	left: 50%;
	z-index: 10;
}
.l-header__logo{
	margin-right: auto;
	width: 29.9rem;
}
.l-header__info,
.l-header__entry {
	width: 20.0rem;
}
.l-header__info:hover,
.l-header__entry:hover {
	opacity: .6;
}
/* ---------------------------------------------------------------------------------------
	footer
--------------------------------------------------------------------------------------- */
.l-footer {
	background-color: #272727;
	color: #ffffff;
	padding: 3.0rem 0;
	text-align: center;
}
.l-footer__logo {
	width: 34.1rem;
	margin: 0 auto 2.0rem;
}
.l-footer__address {
	margin: 0 auto 5.5rem;
}
.l-footer__menu {
	margin: 0 auto 2.0rem;
	gap: 0 auto 1.5rem;
}
.l-footer__menu-link {
	position: relative;
	padding-right: 2.5rem;
}
.l-footer__menu-link:hover {
	opacity: .6;
}
.l-footer__menu-link::after {
	content: '';
	position: absolute;
	top: .7rem;
	right: 0;
	background: url(../images/footer-link.png) no-repeat center / 100%;
	width: 1.5rem;
	height: 1.5rem;
}
.l-footer__copy {
	display: block;
	color: #AFAFAF;
	font-size: 1.4rem;
}
.l-pagetop {
	position: fixed;
	left: calc(50% + 400px);
	bottom: 88px;
	z-index: 10;
	width: 9.0rem;
	filter: drop-shadow(6px 6px 6px rgba(0, 0, 0, .29));
}
.l-pagetop:hover {
	opacity: 0.8;
}
@media screen and (max-width: 1100px) {
	.l-pagetop {
		left: auto;
		right: 20px;
	}
}
@media screen and (max-width: 640px) {
	.l-pagetop {
		bottom: 20px;
	}
}

/* ---------------------------------------------------------------------------------------
	page
--------------------------------------------------------------------------------------- */
/* 共通項目 */
.l-main {
}
.l-shadow {
	box-shadow:0 0 10px rgba(55,92,22,.5);
}
.c-gothic {
	font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
}
.c-mincho {
	font-family: '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif;
}
.c-more-btn {
	height: 6rem;
	cursor: pointer;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
.c-more-btn--white {
	background-image: url(../images/more_btn01.png);
}
.c-more-btn--white.is-show {
	background-image: url(../images/more_btn01-close.png);
}
.c-more-btn--red {
	background-image: url(../images/more_btn02.png);
}
.c-more-btn--red.is-show {
	background-image: url(../images/more_btn02-close.png);
}

.js-accordion-txt {
	position: relative;
	overflow: hidden;
}
.js-accordion-txt::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 20rem;
}
.js-accordion-txt.is-show {
	height: auto;
	overflow: auto;
}
.js-accordion-txt.is-show::after {
	background:none;
}
.c-entry-btn {
  color: #fff;
  font-size: 3.6rem;
  font-weight: 700;
  width: 59rem;
  height: 10rem;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  letter-spacing: 0.2rem;
  background: transparent linear-gradient(180deg, #F6B500 0%, #DB8B00 100%);
  border-radius: 1rem;
  box-shadow: 0px 0px 15px #00000040;
  position: relative;
}
.c-entry-btn::before {
  content: "";
  width: 6rem;
  height: 6rem;
  background: url(../images/arrow-right-white.png) no-repeat center center/cover;
  position: absolute;
  top: 50%;
  right: 3rem;
  transform: translateY(-50%);
  z-index: 1;
}
.c-entry-btn:hover {
	opacity: .6;
}
.c-entry-btn-icon {
  width: 2.5rem;
  margin-bottom: .5rem;
  margin-right: 1rem;
}
.c-outer-link {
	display: block;
	margin-top: -11rem;
    padding-top: 11rem;
	pointer-events: none;
}
[data-ga-cataegory] * {
    pointer-events: none;
}
.c-ttl01 {
  text-align: center;
}
.c-ttl01-jp {
  font-size: 2rem;
}
.c-ttl01-en {
  font-size: 6rem;
  font-weight: 700;
  line-height: 1.3;
  position: relative;
}
.c-ttl01-en::before {
  content: "";
  width: 7.3rem;
  height: 1px;
  background-color: #707070;
  position: absolute;
  bottom: -1.5rem;
  left: 50%;
  transform: translateX(-50%);

}
.c-ttl01.--white {
  color: #fff;
}
.c-ttl01.--white .c-ttl01-en::before {
  background-color: #fff;
}

.c-bnr {
  margin-inline: 2.5rem;
}
.c-bnr a {
  display: block;
}
.c-bnr a:hover {
  opacity: .6;
}
/* ---------------------------------------------------------------------------------------
	navi
--------------------------------------------------------------------------------------- */
.p-lnav ul {
	display: flex;
	flex-wrap: wrap;
	text-align: center;
	font-weight: bold;
}
.p-lnav li {
	width: 25rem;
	border-bottom: solid 1px #EFEFEF;
	border-right: solid 1px #EFEFEF;
	height: 10rem;
}
.p-lnav li:nth-child(3n) {
	border-right: none;
}

.p-lnav li a {
	display: block;
	height: 100%;
	padding: 2.3rem 0 4.6rem;
	position: relative;
}
.p-lnav li a::after {
	content: "";
	width: .8rem;
	height: .8rem;
	position: absolute;
	left: 50%;
	bottom: 1.6rem;
	border-bottom: solid 1px;
	border-right: solid 1px;
	transform: translateX(-50%) rotate(45deg);
}
.p-lnav li a:hover {
	color: #B71C2C;
}
.p-lnav li a:hover::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: .3rem;
	background-color: #B71C2C;
}
.p-lnav li a:hover::after {
	border-color: #B71C2C;
}
/* ---------------------------------------------------------------------------------------
	ブランドコンセプト
--------------------------------------------------------------------------------------- */
.p-concept {
	margin-top: 5rem;
	padding: 57rem 8rem 7rem;
	background: #B71C2C url(../images/concept-bg.jpg) no-repeat center top / 100% auto;
	color: #ffffff;
	font-size: 2.8rem;
  position: relative;
}
/* .p-concept::after {
  content: "";
  width: 1px;
  height: 5rem;
  background-color: #B71C2C;
  position: absolute;
  bottom: -5rem;
  left: 50%;
  transform: translateX(-50%);
} */
.p-concept .c-ttl01 {
	margin-bottom: 5rem;
}
.p-concept_lead-wrap {
  position: relative;
}
.p-concept_lead-wrap::before {
  content: "";
  width: 54.3rem;
  height: 7.1rem;
  background: url(../images/concept-txt01.png) no-repeat center center/cover;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.p-concept_lead {
  font-size: 3rem;
  text-align: center;
}
.p-concept_lead + .p-concept_lead {
  margin-top: 6rem;
}
.p-concept_txt {
	margin: 5rem 0;
	height: 40rem;
}
.p-concept_txt::after {
	background: linear-gradient(0deg, rgba(209,36,44,0.8) 0%, rgba(209,36,44,0) 100%);
}
.p-concept_txt p + p {
	margin-top: 4rem;
}
/* ---------------------------------------------------------------------------------------
	代表メッセージ
--------------------------------------------------------------------------------------- */
.p-message .c-ttl01 {
  margin-bottom: 6rem;
}
.p-message_wrap {
	padding: 10rem 8rem 10rem;
}
.p-message_person {
  position: relative;
}
.p-message_name {
  color: #fff;
  font-size: 3rem;
  width: 51rem;
  height: 8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #B71C2C;
  position: absolute;
  left: -8rem;
  bottom: -2rem;
}
.p-message_name span {
  margin-left: 4rem;
}
.p-message_cont {
  height: 66rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: url(../images/message_img02.jpg) no-repeat center center/cover;
}
.p-message_txt {
  color: #fff;
  font-size: 3rem;
  text-align: center;
  line-height: 2;
}

/* ---------------------------------------------------------------------------------------
	研修制度
--------------------------------------------------------------------------------------- */
.p-training {
  margin-top: 8rem;
}
.p-training .c-ttl01 {
  margin-bottom: 6rem;
}
.p-training_lead {
  font-size: 3rem;
  text-align: center;
}
.p-training_box {
  margin-top: 5rem;
  position: relative;
  z-index: 1;
}
.p-training_box::before {
  content: "";
  width: 52.6rem;
  height: 86rem;
  background-color: #FFEFEF;
  position: absolute;
  top: 8rem;
  left: 0;
  z-index: -1;
}
.p-training_box-img01 {
  width: 65rem;
  margin-left: auto;
  display: block;
}
.p-training_box-img02 {
  width: 65rem;
  margin-top: 2rem;
  display: block;
}
.p-training_box-txt {
  font-size: 2.8rem;
  margin: 6rem 8rem 0;
}
.p-training_list {
  margin-top: 15rem;
}
.p-training_item + .p-training_item {
  margin-top: 12rem;
}
.p-training_item-img {
  width: 65rem;
  position: relative;
}
.p-training_item-img-num {
  width: 26.4rem;
  position: absolute;
  top: -11rem;
}
.p-training_item-cont {
  color: #fff;
  background: transparent linear-gradient(121deg, #B71C2C 0%, #EE2D2D 100%);
}
.p-training_item-ttl {
  font-weight: 700;
}
.p-training_item-ttl-en {
  font-size: 2rem;
}
.p-training_item-ttl-jp {
  font-size: 4rem;
  line-height: 1;
}
.p-training_item-txt {
  font-size: 2.8rem;
  margin-top: 3.5rem;
  line-height: 1.4;
}
.p-training_item:nth-of-type(odd) .p-training_item-img {
  margin-left: auto;
}
.p-training_item:nth-of-type(odd) .p-training_item-img-num {
  left: -4rem;
}
.p-training_item:nth-of-type(odd) .p-training_item-cont {
  margin: -5rem 3rem 0 0;
  padding: 8rem 5rem 5rem 8rem;
}
.p-training_item:nth-of-type(even) .p-training_item-img {
  margin-right: auto;
}
.p-training_item:nth-of-type(even) .p-training_item-img-num {
  right: -4rem;
}
.p-training_item:nth-of-type(even) .p-training_item-cont {
  margin: -5rem 0 0 3rem;
  padding: 8rem 8rem 5rem 5rem;
}
/* ---------------------------------------------------------------------------------------
	労働環境
--------------------------------------------------------------------------------------- */
.p-environment_top {
	padding: 10rem 8rem 6rem;
}
.p-environment .c-ttl01 {
  margin-bottom: 6rem;
}
.p-environment_lead {
  font-size: 3rem;
  text-align: center;
}
.p-environment_desc {
  font-size: 2.8rem;
  margin-top: 4rem;
  position: relative;
}
.p-environment_desc::before {
  content: "";
  width: 62.4rem;
  height: 62.4rem;
  background: url(../images/decoration01.png) no-repeat center center/cover;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.p-environment_desc-note {
  font-size: 2rem;
  margin-top: 1rem;
  text-align: right;
}
.p-environment_detail {
  margin-top: 5rem;
}
.p-environment_more {
	padding: 0 3rem 3.75rem;
}
.p-environment_cont {
	margin-bottom: 5rem;
	height: 30rem;
}
.p-environment_list {
  display: flex;
  flex-wrap: wrap;
  border: 1px solid #D8D8D8;
}
.p-environment_item {
  width: 50%;
  padding: 3rem;
}
.p-environment_item:nth-of-type(n + 3) {
  border-top: 1px solid #D8D8D8;
}
.p-environment_item:nth-of-type(odd) {
  border-right: 1px solid #D8D8D8;
}
.p-environment_item-ttl {
  color: #B71C2C;
  font-weight: 700;
  text-align: center;
}
.p-environment_item-icon {
  width: 15rem;
  margin-inline: auto;
  display: block;
}
.p-environment_item-txt {
  font-size: 2rem;
}
.p-environment_bottom {
  display: flex;
  flex-wrap: wrap;
  padding-top: 3rem;
  border-left: 1px solid #D8D8D8;
  border-right: 1px solid #D8D8D8;
  border-bottom: 1px solid #D8D8D8;
}
.p-environment_bottom-item {
  width: 50%;
  padding: 0 3rem 3rem 3rem;
}
.p-environment_bottom-ttl {
  color: #B71C2C;
  font-weight: 700;
}
.p-environment_bottom-txt {
  font-size: 2rem;
}
.p-environment_cont::after {
	background: linear-gradient(0deg, #ffffff 0%, rgba(255,255,255,0) 100%);
}

/* -----------------------------------------------------------------------------------
	よくある質問
--------------------------------------------------------------------------------------- */
.p-faq .c-ttl01 {
	margin: 10rem 0 5rem;
}
.p-faq_main {
	padding-bottom: 5rem;
	background-color: #ffffff;
}
.p-faq_item {
	border-bottom: 1px solid #C5C5C5;
}
.p-faq_item dt {
	position: relative;
	padding: 3rem;
	cursor: pointer;
}
.p-faq_item dt::before,
.p-faq_item dt::after {
	content: '';
	position: absolute;
	right: 3rem;
	top: 50%;
	width: 2rem;
	height: 1px;
	background-color: #000000;
	transition: all .3s ease;
}
.p-faq_item dt::before {
	transform: translateY(-50%) rotate(90deg);
}
.p-faq_item dt.is-open::before {
	transform: translateY(-50%) rotate(0deg);
}

.p-faq_item dt::after {
	transform: translateY(-50%);
}
.p-faq_item dt p {
	display: flex;
	gap: 2rem;
	font-weight: 600;
	padding-right: 3rem;
}
.p-faq_item dd {
	padding: 0 3rem 3rem;
	display: none;
}
.p-faq_item dd p {
	display: flex;
	gap: 2rem;
	padding-right: 3rem;
}
.p-faq_item dt p::before,
.p-faq_item dd p::before {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 3.4rem;
	height: 3.4rem;
	border-radius: 50%;
	color: #ffffff;
	flex: none;
}
.p-faq_item dt p::before {
	content: 'Q';
	background-color: #B71C2C;
}

.p-faq_item dd p::before {
	content: 'A';
	background-color: #272727;
}
/* ---------------------------------------------------------------------------------------
	求める人物像
--------------------------------------------------------------------------------------- */
.p-person {
  margin-bottom: 14rem;
}
.p-person .c-ttl01 {
  margin-bottom: 6rem;
}
.p-person_top {
  padding: 7rem 8rem 11rem;
}
.p-person_txt {
  font-size: 2.8rem;
}
.p-person_txt + .p-person_txt {
  margin-top: 4rem;
}
.p-person_img {
  width: 68.9rem;
  margin-inline: 3rem;
}
/* ---------------------------------------------------------------------------------------
	採用フロー
--------------------------------------------------------------------------------------- */
.p-flow {
	padding: 10rem 8rem; 
	background: linear-gradient(0deg, #B71C2C 0%, #EE2D2D 100%);
}
.p-flow .c-ttl01 {
  margin-bottom: 11rem;
}
.p-flow_entry {
	margin-bottom: 5rem;
}
.p-flow ol li + li {
	margin-top: 12rem;
}
.p-flow ol li {
  color: #fff;
}
.p-flow_img {
  position: relative;
}
.p-flow_img-main {
  border-radius: 5rem 0 5rem 0;
}
.p-flow_img-num {
  width: 23rem;
  height: 27rem;
  position: absolute;
  bottom: -12.5rem;
  right: -5.5rem;
  z-index: 1;
}
.p-flow_ttl {
  font-size: 3rem;
  font-weight: 700;
  margin: 2.5rem 0 0 2.5rem;
  position: relative;
}
.p-flow_ttl::before {
  content: "■";
  font-size: 1.9rem;
  position: absolute;
  top: 50%;
  left: -2.5rem;
  transform: translateY(-50%);
}
.p-flow_txt {
  margin-top: 1rem;
}
/* ---------------------------------------------------------------------------------------
	募集要項
--------------------------------------------------------------------------------------- */
.p-requirements .c-ttl01 {
	margin: 10rem 0 6rem;
}
.p-requirements_ttl {
	background-color: #B71C2C;
	color: #ffffff;
	text-align: center;
	padding: 2rem 3rem;
	line-height: 1;
	font-weight: 600;
	font-size: 3.9rem;
}
.p-requirements_cont {
	padding: 3rem;
	display: flex;
	align-items: center;
}
.p-requirements_cont dt {
	color: #B71C2C;
	font-weight: 600;
	width: 19.5rem;
}
.p-requirements_cont dd {
	flex: 1;
}
.p-requirements_cont:nth-child(even) {
	background-color: #FCF9F1;
}
/* ---------------------------------------------------------------------------------------
	お問い合わせ
--------------------------------------------------------------------------------------- */
.p-contact {
	padding: 10rem 6rem;
}
.p-contact .c-ttl01 {
	margin-bottom: 6rem;
}
.p-contact p {
	text-align: center;
	margin-bottom: 2rem;
}


/* ---------------------------------------------------------------------------------------
	選ばれる理由
--------------------------------------------------------------------------------------- */
.p-reason {
	padding: 10rem 6rem;
	background: linear-gradient(to bottom right, #FFFBEF, #FFEDE6);
}
.p-reason .c-ttl01 {
	margin-bottom: 6rem;
}
.p-reason_cont {
	background-color: #ffffff;
	box-shadow: 0 0 3rem rgba( 217, 196, 152, .3);
}

.p-reason_cont + .p-reason_cont {
	margin-top: 5rem;
}
.p-reason_box {
	padding: 5rem;
	font-weight: 600;
}
.p-reason_stitle {
	margin-bottom: 4rem;
	font-size: 3.8rem;
	color: #B71C2C;
	text-align: center;
}
.p-reason_txt {
	font-size: 2.8rem;
	margin-bottom: 2rem;
}
.p-reason_link {
	text-align: center;
}
.p-reason_link a {
	display: inline-block;
	padding: .6rem 0 .6rem 8rem;
	background: url(../images/arrow-bottom.png) no-repeat left center / contain;
	font-size: 3rem;
	color: #B71C2C;
}
.p-reason_link a span {
	display: inline-block;
	border-bottom: solid 1px #B71C2C;
}

.p-ttl01-reason {
	font-size: 4rem;
}
/* ---------------------------------------------------------------------------------------
	給与・キャリアについて
--------------------------------------------------------------------------------------- */
.p-career {
	padding: 10rem 0 5rem;
	font-size: 2.4rem;
	text-align: center;
	position: relative;
	z-index: 0;
}
.p-career .c-ttl01 {
	margin-bottom: 5rem;
}
.p-career_stitle {
	width: 50rem;
	margin: 0 auto 5rem;
	padding: 2rem 0;
	background-color: #B71C2C;
	border-radius: 1.5rem;
	font-size: 2.6rem;
	font-weight: 600;
	color: #ffffff;
}
.p-career_cont {
	margin-top: 5rem;
	text-align: left;
	position: relative;
}
.p-career_cont::after {
	content: "";
	width: 54rem;
	background-color: #FFEFEF;
	position: absolute;
	left: 0;
	top: 24rem;
	bottom: -10rem;
	z-index: -1;
}
.p-career_cont figure {
	padding-left: 10rem;
	margin-bottom: 5rem;
}
.p-career_cont p {
	padding-inline: 8rem;
	margin-bottom: 5rem;
}
.p-career_staff {
	padding-inline: 6rem;
	margin-bottom: 7rem;
}
.p-career_staff li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  /* gap: 0 2rem; */
  padding: 3rem 1.5rem 3rem 3rem;
  border: 1px solid #B71C2C;
  border-radius: .5rem;
}
.p-career_staff li + li {
	margin-top: 3rem;
}
.p-career_staff-img {
  width: 18rem;
  margin-right: 2rem;
}
.p-career_staff-cont {
  width: calc(100% - 20rem);
}
.p-career_staff-ttl {
  font-size: 2.6rem;
  font-weight: 700;
  margin-bottom: 1rem;
  text-align-last: left;
}
.p-career_staff dl {
  display: flex;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.6;
}
.p-career_staff dt {
  color: #B71C2C;
}
/* ---------------------------------------------------------------------------------------
	一分で応募完了　ENTRY
--------------------------------------------------------------------------------------- */
.c-entry-txt {
	font-size: 2.6rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 1.5rem;
	position: relative;
}

.c-entry-txt::before {
	content: "";
	width: 4rem;
	border-bottom: solid 1px;
	position: absolute;
    top: 50%;
	left: 20rem;
	transform: rotate(45deg);
}

.c-entry-txt::after {
	content: "";
	width: 4rem;
	border-bottom: solid 1px;
	position: absolute;
    top: 50%;
	right: 20rem;
	transform: rotate(-45deg);
}
