@charset "utf-8";

/* page-recruit.css */

.title-area.width-base > * {
	width: min(calc(100% - 60px),820px);
}

.title-area .wp-block-buttons {
	margin-top: 2.0rem;
	gap: 2.0rem;
}

.title-area .wp-block-buttons .wp-block-button {
	width: min(100%,220px);
}

.title-area a.wp-block-button__link {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 0.6rem 2.0rem;
	border: 1px solid var(--cp-color-r);
	border-radius: 99em;
	background-color: #FFFFFF;
	line-height: 2.0;
	font-size: var(--ft-size-s);
	color: var(--cp-color-r);
	gap: 1.0rem;
}

.title-area a.wp-block-button__link::after {
	content: "";
	width: 20px;
	height: 20px;
	background: url("../images/icon_arw_cd.svg") 50% 50% no-repeat;
	background-size: contain;
	flex-shrink: 0;
}

.works-area h2,
.entry-area h2 {
	width: min(100%,220px);
	margin-bottom: 3.0rem;
	padding: 0.2rem 2.2rem 0.3rem;
	background-color: var(--cp-color-r);
	border-radius: 99em;
	text-align: center;
	line-height: var(--ft-lh-m);
	font-weight: 500;
	font-size: var(--ft-size-m);
	color: #FFFFFF;
}

.message-area {
	background: var(--cp-color-r) url("../images/recruit_msg_bg.webp") 50% 100% no-repeat;
	padding: var(--space-l) 0;
	color: #FFFFFF;
}

.message-area > * {
	width: min(calc(100% - 60px),540px);
	margin: 0 auto;
}

.message-area p {
	font-weight: 700;
}

.message-area p.lead-text {
	margin-bottom: 3.5rem;
	line-height: 1.66;
	font-size: var(--ft-size-xl30);
}

/*
.message-area p.lead-text + p {
	margin-bottom: var(--space-s);
}
*/

.message-area .movie-box {
	margin: 1.5rem 0 0;
}

.message-area .movie-box video {
	max-width: 100%;
}

.slider-area {
	background: var(--cp-color-r);
	padding: 1.0rem 0;
	color: #FFFFFF;
}

.works-area {
	padding: var(--space-l) 0;
	background-color: #FFFFFF;
}

.works-area.width-base > * {
	width: min(calc(100% - 60px),730px);
}

.works-area h3 {
	display: flex;
	align-items: center;
	margin-bottom: 2.6rem;
	line-height: var(--ft-lh-xl30);
	font-size: var(--ft-size-xl30);
}

.works-area h3:not(:first-of-type) {
	margin-top: var(--space-l);
}

.works-area h3::before {
	content: "";
	height: 50px;
	margin-right: 0.7rem;
	flex-shrink: 0;
}

.works-area h3.rm::before {
	width: 50px;
	background: url("../images/icon_stl_rm.svg") 50% 50% no-repeat;
	background-size: contain;
}

.works-area h3.rs::before {
	width: 50px;
	background: url("../images/icon_stl_rs.svg") 50% 50% no-repeat;
	background-size: contain;
}

.works-area h3.ow::before {
	width: 50px;
	background: url("../images/icon_stl_ow.svg") 50% 50% no-repeat;
	background-size: contain;
}

h4.job-description-ttl {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	margin: 0 0 1.8rem;
	line-height: var(--ft-lh-xl25);
	font-weight: 700;
	font-size: var(--ft-size-xl25);
	color: var(--cp-color-r);
	gap: 1.2rem;
}

h4.job-description-ttl::before {
	content: "";
	width: 20px;
	height: 23px;
	margin-top: 0.3rem;
	background-color: var(--cp-color-r);
	clip-path: polygon(0 0, 0 100%, 100% 50%);
	flex-shrink: 0;
}

.wp-block-columns.job-description-box {
	margin: 3.0rem 0;
	justify-content: space-between;
}

.wp-block-columns.job-description-box .wp-block-column {
	flex-basis: auto !important;
	flex-grow: 0 !important;
}

.job-description-box .wp-block-column:nth-of-type(1) {
	width: 340px;
}

.job-description-box .wp-block-column:nth-of-type(1) figure + figure {
	margin-top: 2.0rem;
}

.job-description-box .wp-block-column:nth-of-type(2) {
	width: 335px;
}

.job-description-box .wp-block-column:nth-of-type(2) > p {
	display: inline-block;
	padding: 0.4rem 2.8rem;
	border-radius: 0 16px 0 0;
	background-color: var(--cp-color-r);
	font-size: var(--ft-size-s);
	color: #FFFFFF;
}

.job-description-box .wp-block-column:nth-of-type(2) .wp-block-group {
	padding: 2.4rem;
	border: 1px solid var(--cp-color-r);
	border-radius: 0 16px 16px 16px;
}

.job-description-box .wp-block-column:nth-of-type(2) .wp-block-group p {
	padding-left: calc(16px + 0.5rem);
	line-height: var(--ft-lh-s);
	font-size: var(--ft-size-s);
}

.job-description-box .wp-block-column:nth-of-type(2) .wp-block-group p + p {
	margin-top: 1.0rem;
}

.job-description-box .wp-block-column:nth-of-type(2) .wp-block-group p strong {
	display: flex;
	align-items: center;
	margin-left: calc(-16px + -0.5rem);
	line-height: var(--ft-lh-m);
	font-weight: 700;
	font-size: var(--ft-size-m);
	color: var(--cp-color-r);
}

.job-description-box .wp-block-column:nth-of-type(2) .wp-block-group p strong::before {
	content: "";
	width: 16px;
	height: 16px;
	margin-right: 0.5rem;
	background: url("../images/icon_checkmark.svg") 50% 50% no-repeat;
	background-size: contain;
	flex-shrink: 0;
}

.entry-area {
	padding: var(--space-l) 0;
}

.entry-area.width-base > * {
	width: min(calc(100% - 60px),730px);
}

.entry-area p {
	line-height: var(--ft-lh-s);
	font-size: var(--ft-size-s);	
}

.entry-area p.link-entry a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: min(100%,400px);
	height: 100%;
	margin: 0 auto 2.4rem;
	background: url("../images/bg_text_frame.svg") 50% 50% no-repeat;
	background-size: contain;
	aspect-ratio: 400 / 257;
}

.entry-area p.link-entry a strong {
	position: relative;
	padding: 0 2.2rem 0 0;
	line-height: 1.8;
	font-weight: 500;
	font-size: 2.0rem;
}

.entry-area p.link-entry a strong::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 8px;
	width: 16px;
	height: 16px;
	background: url("../images/icon_blank.svg") 50% 50% no-repeat;
	background-size: contain;	
}

/* スライダー */
.recruit-slider .swiper-wrapper {
	transition-timing-function: linear;
}

.recruit-slider .swiper-slide {
	width: 480px;
}

/* ================================================ */
@media (max-width: 1000px) {
}

/* ================================================ */
@media (max-width: 840px) {

.job-description-box .wp-block-column:nth-of-type(1) {
	width: min(calc(50% - 1em),340px);
}

.job-description-box .wp-block-column:nth-of-type(2) {
	width: min(calc(50% - 1em),335px);
}

}

/* ================================================ */
@media (max-width: 480px) {

.title-area.width-base > * {
	width: min(calc(100% - 40px),820px);
}

.message-area > * {
	width: min(calc(100% - 40px),540px);
	margin: 0 auto;
}

.works-area.width-base > * {
	width: min(calc(100% - 40px),730px);
}

.entry-area.width-base > * {
	width: min(calc(100% - 40px),730px);
}

.job-description-box .wp-block-column:nth-of-type(1) {
	width: 100%;
}

.job-description-box .wp-block-column:nth-of-type(2) {
	width: 100%;
}

}