/*------------------------------
 * 全ページ共通
------------------------------*/
section {
	position: relative;
}
.page-mv-wrap {
	position: relative;
	top: -16px;
	right: -270px;
	margin-bottom: -16px;
	max-width: 1013px;
}
h1.page-title {
	font-size: clamp(1.313rem, 1.075rem + 1.27vw, 1.875rem);
	letter-spacing: 0.05em;
	margin-top: 119px;
	margin-bottom: 100px;
	padding-bottom: 51px;
	position: relative;
	text-align: center;
}
h1.page-title:after {
	content: "";
	display: block;
	width: 31px;
	height: 30px;
	background-image: url('../img/page/cherry.svg');
	background-repeat: no-repeat;
	background-size: 31px 30px;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
h1.page-title.no-cherry:after {
	content: none;
}
span.page-title-en {
	display: block;
	font-size: 14px;
	font-weight: 500;
	margin-top: 20px;
	color: #f9a1be;
	font-family: "Quicksand";
}
span.page-title-en.gray {
	color: #888888;
}
p + p {
	margin-top: 62px;
}
.mw850 {
	max-width: 850px;
	margin: auto;
}
.mw770 {
	max-width: 770px;
	margin: auto;
}
table {
	border-collapse: collapse;
}
tr {
	border-bottom: 2px solid #fef2f6;
}
th, td {
	font-size: clamp(1rem, 0.913rem + 0.43vw, 1.125rem);
	letter-spacing: 0.05em;
	padding: 28px 0 25px;
	text-align: left;
	line-height: 2;
}
th:before, td:before {
	content: "";
	display: block;
	margin-top: -0.5em;
}
th:after, td:after {
	content: "";
	display: block;
	margin-bottom: -0.5em;
}
@media only screen and (max-width:990px) {
	.page-mv-wrap {
		right: -200px;
		top: -100px;
		margin-bottom: -100px;
	}
}
@media only screen and (max-width:560px) {
	.page-mv-wrap {
		top: 0;
		right: 0;
		left: 0;
		margin: auto;
	}
}
/*------------------------------
 * ABOUT
------------------------------*/
body.about section.full-width-bg:before {
	content: "";
	display: block;
	width: 100%;
	height: 139vw;
	background-image: url('../img/page/about-bg.png');
	background-repeat: no-repeat;
	background-position: top right;
	z-index: -1;
	position: absolute;
	top: -307px;
	right: -12px;
}
.philosophy {
	margin: 100px auto;
	width: fit-content;
	max-width: 100%;
}
body.about .ttl01 {
	font-family: "YuGothB", "Noto Sans JP", sans-serif;
	font-size: 22px;
	letter-spacing: 0.05em;
	margin: 98px auto 80px;
	padding: 0 41px 19px;
	width: fit-content;
	position: relative;
	color: #252525;
}
body.about .ttl01:after {
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	background: linear-gradient(to right, #fbd5e2 2px, transparent 2px);
	background-repeat: repeat;
	background-size: 4px;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
}
body.about h2.ttl02 {
	margin-top: 149px;
	margin-bottom: 59px;
	font-size: 22px;
	letter-spacing: 0.05em;
	color: #ef4d82;
	width: fit-content;
	position: relative;
	padding-bottom: 17px;
	font-feature-settings: "palt";
}
body.about h2.ttl02:after {
	content: "";
	display: block;
	height: 6px;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: #fac9d9;
}
body.about th {
	min-width: 164px;
	font-weight: normal;
}
@media only screen and (max-width:1670px) {
	body.about section.full-width-bg:before {
		background-position: top left;
		left: 45vw;
		right: unset;
	}
}
@media only screen and (max-width:1200px) {
	body.about section.full-width-bg:before {
		background-position: top right;
		left: unset;
		right: 0;
	}
}
@media only screen and (max-width:960px) {
	body.about section.full-width-bg:before {
		background-position: center top;
	}
}
@media only screen and (max-width:850px) {
	body.about section.full-width-bg:before {
		background-position: center top -100px;
		height: 100%;
	}
}
@media only screen and (max-width:640px) {
	body.about th {
		min-width: unset;
		white-space: nowrap;
		padding-right: 2em;
	}
}
@media only screen and (max-width:560px) {
	body.about section.full-width-bg:before {
		background-size: contain;
		background-position: center top 18%;
	}
	.philosophy {
		margin: 50px auto;
	}
}
@media only screen and (max-width:550px) {
	body.about th, body.about td {
		display: block;
		width: 100%;
	}
	body.about td {
		padding-top: 0;
	}
}
@media only screen and (max-width:440px) {
	body.about section.full-width-bg:before {
		background-position: center top 15%;
	}
}
/*------------------------------
 * ENVIRONMENT
------------------------------*/
body.environment h1.page-title {
	margin-top: 100px;
	margin-bottom: 80px;
}
.environment-block {
	position: relative;
	display: flex;
	padding: 60px 0;
}
.environment-block:first-child {
	padding: 0 0 40px;
}
.environment-block:nth-child(1) {
	gap: 85px;
}
.environment-block:nth-child(1) .environment-box-text {
	width: calc(100% - 341px - 85px);
}
.environment-block:nth-child(1) .environment-box-img {
	width: 341px;
}
.environment-block:nth-child(2) {
	gap: 60px;
}
.environment-block:nth-child(2) .environment-box-text {
	width: calc(100% - 354px - 60px);
}
.environment-block:nth-child(2) .environment-box-img {
	width: 354px;
}
.environment-block:nth-child(2) .environment-box-img img {
	position: absolute;
	top: -12px;
}
.environment-block:nth-child(3) {
	gap: 89px;
}
.environment-block:nth-child(3) .environment-box-text {
	width: calc(100% - 334px - 89px);
}
.environment-block:nth-child(3) .environment-box-img {
	width: 334px;
}
.environment-block:nth-child(3) .environment-box-img img {
	position: absolute;
	top: -29px;
}
.environment-block:nth-child(4) {
	gap: 60px;
}
.environment-block:nth-child(4) .environment-box-text {
	width: calc(100% - 336px - 60px);
}
.environment-block:nth-child(4) .environment-box-img {
	width: 336px;
}
.environment-block:nth-child(4) .environment-box-img img {
	position: absolute;
	top: -25px;
}
.environment-block:nth-child(5) {
	gap: 74px;
}
.environment-block:nth-child(5) .environment-box-text {
	width: calc(100% - 341px - 74px);
}
.environment-block:nth-child(5) .environment-box-img {
	width: 341px;
}
.environment-block:nth-child(5) .environment-box-img img {
	position: absolute;
	top: -15px;
}

.environment-block:nth-child(2n) {
	flex-flow: row-reverse;
}
.environment-block:after {
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	background: linear-gradient(to right, #fbd5e2 2px, transparent 2px);
	background-repeat: repeat;
	background-size: 4px;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
}
.environment-block:last-child {
	margin-bottom: 80px;
}
.environment-block:last-child:after {
	content: none;
}
@media only screen and (max-width:920px) {
	.environment-block:nth-child(1), .environment-block:nth-child(2), .environment-block:nth-child(3), .environment-block:nth-child(4), .environment-block:nth-child(5) {
		gap: 40px;
	}
	.environment-block:nth-child(1) .environment-box-text {
		width: calc(100% - 341px - 40px);
	}
	.environment-block:nth-child(2) .environment-box-text {
		width: calc(100% - 354px - 40px);
	}
	.environment-block:nth-child(3) .environment-box-text {
		width: calc(100% - 334px - 40px);
	}
	.environment-block:nth-child(4) .environment-box-text {
		width: calc(100% - 336px - 40px);
	}
	.environment-block:nth-child(5) .environment-box-text {
		width: calc(100% - 341px - 40px);
	}
}
@media only screen and (max-width:800px) {
	.environment-block:nth-child(1), .environment-block:nth-child(2), .environment-block:nth-child(3), .environment-block:nth-child(4), .environment-block:nth-child(5) {
		gap: 15px;
	}
	.environment-block:nth-child(1) .environment-box-text {
		width: calc(100% - 341px - 15px);
	}
	.environment-block:nth-child(2) .environment-box-text {
		width: calc(100% - 354px - 15px);
	}
	.environment-block:nth-child(3) .environment-box-text {
		width: calc(100% - 334px - 15px);
	}
	.environment-block:nth-child(4) .environment-box-text {
		width: calc(100% - 336px - 15px);
	}
	.environment-block:nth-child(5) .environment-box-text {
		width: calc(100% - 341px - 15px);
	}
}
@media only screen and (max-width:720px) {
	.environment-block:nth-child(1) .environment-box-img, .environment-block:nth-child(2) .environment-box-img, .environment-block:nth-child(3) .environment-box-img, .environment-block:nth-child(4) .environment-box-img, .environment-block:nth-child(5) .environment-box-img {
		width: 45%;
	}
	.environment-block:nth-child(1) .environment-box-img img, .environment-block:nth-child(2) .environment-box-img img, .environment-block:nth-child(3) .environment-box-img img, .environment-block:nth-child(4) .environment-box-img img, .environment-block:nth-child(5) .environment-box-img img {
		position: relative;
	}
	.environment-block:nth-child(2) .environment-box-img img {
		top: -82px
	}
	.environment-block:nth-child(3) .environment-box-img img {
		top: -79px;
	}
	.environment-block:nth-child(4) .environment-box-img img {
		top: -75px;
	}
	.environment-block:nth-child(5) .environment-box-img img {
		top: -75px;
	}
	.environment-block:nth-child(1) .environment-box-text, .environment-block:nth-child(2) .environment-box-text, .environment-block:nth-child(3) .environment-box-text, .environment-block:nth-child(4) .environment-box-text, .environment-block:nth-child(5) .environment-box-text {
		width: calc(55% - 15px);
	}
}
@media only screen and (max-width:580px) {
	.environment-block:nth-child(1), .environment-block:nth-child(2), .environment-block:nth-child(3), .environment-block:nth-child(4), .environment-block:nth-child(5) {
		flex-wrap: wrap;
	}
	.environment-block:nth-child(1) .environment-box-img, .environment-block:nth-child(2) .environment-box-img, .environment-block:nth-child(3) .environment-box-img, .environment-block:nth-child(4) .environment-box-img, .environment-block:nth-child(5) .environment-box-img {
		width: 100%;
		text-align: center;
	}
	.environment-block:nth-child(1) .environment-box-img img, .environment-block:nth-child(2) .environment-box-img img, .environment-block:nth-child(3) .environment-box-img img, .environment-block:nth-child(4) .environment-box-img img, .environment-block:nth-child(5) .environment-box-img img {
		top: 0;
	}
	.environment-block:nth-child(1) .environment-box-text, .environment-block:nth-child(2) .environment-box-text, .environment-block:nth-child(3) .environment-box-text, .environment-block:nth-child(4) .environment-box-text, .environment-block:nth-child(5) .environment-box-text {
		width: 100%;
	}
}
body.environment h2.ttl01 {
	font-size: 22px;
	color: #ef4d82;
	position: relative;
	padding-bottom: 17px;
	width: fit-content;
	margin-top: 0;
	margin-bottom: 60px;
}
body.environment h2.ttl01:after {
	content: "";
	display: block;
	width: 100%;
	height: 6px;
	background-color: #fac9d9;
	position: absolute;
	bottom: 0;
	left: 0;
}
body.environment h3.ttl02 {
	font-family: "YuGothB", "Noto Sans JP", sans-serif;
	font-size: 22px;
	padding-left: 37px;
	margin-bottom: 39px;
	position: relative;
	color: #252525;
}
body.environment h3.ttl02:before {
	content: "";
	display: block;
	width: 25px;
	height: 24px;
	background-image: url('../img/page/headding-cherry.png');
	background-repeat: no-repeat;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 3px;
	margin: auto;
}
.environment-box-text p {
	font-size: 18px;
}

@media only screen and (max-width:865px) {
	body.environment h3.ttl02 {
		line-height: 1.75;
	}
	body.environment h3.ttl02:first-line {
		line-height: 1;
	}
}
@media only screen and (max-width:520px) {
	body.environment h2.ttl01, body.environment h3.ttl02 {
		font-size: clamp(1.125rem, 0.784rem + 1.82vw, 1.375rem);
	}
}
@media only screen and (max-width:420px) {
	.environment-box-text p {
		font-size: clamp(1rem, 0.688rem + 1.67vw, 1.125rem);
	}
}
@media only screen and (max-width:330px) {
	body.environment h2.ttl01 {
		line-height: 1.75;
	}
	body.environment h2.ttl01:first-line {
		line-height: 1;
	}
}

.staff-voice {
	position: relative;
	background: #fef2f6;
	border-radius: 30px;
	padding: 87px 63px 60px 60px;
	margin-bottom: 31px;
}
.staff-voice-obi {
	width: fit-content;
	padding: 19px 39px 20px 38px;
	background: #ef4d82;
	color: #FFF;
	font-size: 22px;
	letter-spacing: 0.05em;
	position: absolute;
	top: -34px;
	left: 40px;
}
.staff-voice-obi:after {
	content: "";
	display: block;
	width: 19px;
	height: 33px;
	background: linear-gradient(60deg, #b0375f 50%, transparent 50%);
	position: absolute;
	top: 0;
	right: -19px;
}
.staff-img {
	position: absolute;
	top: -49px;
	right: 76px;
}
body.environment h2.ttl03 {
	font-family: "YuGothB", "Noto Sans JP", sans-serif;
	font-size: 24px;
	letter-spacing: 0.05em;
	margin-top: 0;
	margin-bottom: 47px;
	color: #252525;
}
.staff-voice p {
	font-size: 18px;
}
@media only screen and (max-width:840px) {
	.staff-img {
		top: -75px;
	}
}
@media only screen and (max-width:700px) {
	body.environment h2.ttl03 {
		line-height: 1.75;
	}
	body.environment h2.ttl03:first-line {
		line-height: 1;
	}
}
@media only screen and (max-width:630px) {
	.staff-voice {
		padding: 87px 30px 60px;
	}
	.staff-img {
		right: 50px;
	}
}
@media only screen and (max-width:550px) {
	.staff-img {
		position: relative;
		right: 0;
		top: -35px;
		text-align: center;
	}
}
@media only screen and (max-width:430px) {
	.staff-voice-obi {
		font-size: clamp(1.125rem, 0.548rem + 3.08vw, 1.375rem);
	}
	body.environment h2.ttl03 {
		font-size: clamp(1.313rem, 0.88rem + 2.31vw, 1.5rem);
	}
	.staff-voice p {
		font-size: clamp(1rem, 0.688rem + 1.67vw, 1.125rem);
	}
}
@media only screen and (max-width:420px) {
	.staff-voice {
		padding: 87px 15px 60px;
	}
}
/*------------------------------
 * CONTACT
------------------------------*/
body.contact h1.page-title.no-cherry {
	margin-bottom: 80px;
	padding-bottom: 0;
}
.contact-info {
	text-align: center;
	margin-top: 80px;
	margin-bottom: 80px;
}
.contact-info p {
	font-size: clamp(1rem, 0.688rem + 1.67vw, 1.125rem);
}
/*--- Form ---*/
.form_item, .confirm_item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
	padding: 30px 0;
	max-width: 662px;
	margin: auto;
}
.form_item:nth-child(2), .confirm_item:nth-child(2) {
	padding-top: 0;
}
.confirm_item {
	padding: 15px 0;
}
.form_title, .confirm_title {
	width: 100%;
	font-family: "YuGothB", "Noto Sans JP", sans-serif;
	color: #252525;
}
.form_content, .confirm_content {
	width: 100%;
}
span.required {
	font-weight: normal;
	margin-left: 12px;
	color: #ef4d82;
	font-family: "YuGothM", "Noto Sans JP", sans-serif;
	font-size: 16px;
}
.form_content input[type="text"], .form_content input[type="email"], .form_content select, .form_content textarea {
	width: 100%;
	padding: 11px 32px;
	border: 1px solid #cccccc;
	border-radius: 5px;
	font-size: 18px;
	letter-spacing: 0.05em;
	color: #454545;
	line-height: 2;
}
.form_content textarea {
	height: 280px;
}
span.wpcf7-form-control.wpcf7-acceptance span.wpcf7-list-item {
	margin-left: 0;
}
span.wpcf7-form-control.wpcf7-acceptance span.wpcf7-list-item label {
	position: relative;
	display: block;
}
span.wpcf7-form-control.wpcf7-acceptance span.wpcf7-list-item label input {
	position: absolute;
	left: 0;
}
.acceptance_wrap {
	text-align: center;
	margin-top: 5px;
}
.acceptance_wrap span.wpcf7-form-control.wpcf7-acceptance span.wpcf7-list-item label span.wpcf7-list-item-label {
	display: inline-block;
	padding-left: 42px;
	line-height: 2;
}
.acceptance_wrap span.wpcf7-list-item-label a {
	text-decoration: none;
	color: inherit;
	position: relative;
}
.acceptance_wrap span.wpcf7-list-item-label a:after {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: #454545;
	position: absolute;
	bottom: 0;
	left: 0;
}
.acceptance_wrap input[type="checkbox"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 28px;
	height: 28px;
	border: 2px solid #cccccc;
	border-radius: 5px;
	background: #FFF;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}
.acceptance_wrap input[type="checkbox"]:checked:before {
	content: '';
	position: absolute;
	top: -6px;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	transform: rotate(50deg);
	width: 9px;
	height: 21px;
	border-right: 4px solid #454545;
	border-bottom: 4px solid #454545;
}
.form_btn_wrap {
	display: flex;
	justify-content: center;
	gap: 15px;
	margin-top: 84px;
}
input.form_btn_confirm, input.form_btn_submit {
	background: #f5ed80;
	color: #252525;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	padding: 21px;
	width: 80vw;
	max-width: 316px;
	margin: auto;
	border-radius: 12px;
	font-size: clamp(1.125rem, 0.996rem + 0.65vw, 1.25rem);
	font-family: "YuGothB", "Noto Sans JP", sans-serif;
	color: #252525;
	letter-spacing: 0.05em;
	cursor: pointer;
}
input.form_btn_mod {
	background: #cccccc;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	padding: 21px;
	width: 80vw;
	max-width: 316px;
	margin: auto;
	border-radius: 12px;
	font-size: clamp(1.125rem, 0.996rem + 0.65vw, 1.25rem);
	font-family: "YuGothM", "Noto Sans JP", sans-serif;
	letter-spacing: 0.05em;
	cursor: pointer;
}
span.wpcf7-spinner {
	display: none;
}
input#form_submit {
	display: none;
}
.form_content .error_message {
	margin-top: .5em;
	margin-bottom: 0;
}
.form_item.has_error .wpcf7-validates-as-required {
	background: #ffeaea;
}
@media only screen and (max-width:630px) {
	.acceptance_wrap {
		text-align: left;
	}
	.acceptance_wrap span.required {
		margin-left: 42px;
	}
	.form_btn_wrap{
		flex-wrap:wrap;
	}
	span.form_btn_mod_span,span.form_btn_submit_span{
		display:block;
		width:80%;
		text-align: center;
	}
	input.form_btn_mod,input.form_btn_submit{
		max-width:100%;
	}
}
/*--- Form 確認モーダル用 ---*/
.modal_comfirm {
	width: 90%;
	max-width: 680px;
	max-height:85vh;
	margin: 0;
	border: 2px solid #aaa;
	background: #fff;
	position: fixed;
	display: none;
	z-index: 10002;
}

.modal_box {
	margin: 0 auto;
	padding: 10px 20px;
	width: 100%;
	max-height: 100%;
	overflow: auto;
}
.modal_box p {
	text-align: center;
	margin: 0;
}
.modal_box p.confirm_midashi {
	font-size: 18px;
	font-weight: bold;
	margin-top: 1em;
	margin-bottom: .5em;
	color: #080D4E;
	text-align: center;
}
#modal-overlay {
	z-index: 99;
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 120%;
	background-color: rgba(0, 0, 0, 0.75);
}
input.form_btn_submit {
	color: #FFF;
	background-color: #ff8c00;
}
input.form_btn_submit:hover {
	background-color: #ffa500;
}

/*------------------------------
 * FORM
------------------------------*/
.form-precautions {
	width: fit-content;
	margin: 59px auto;
}
.form-precautions p {
	font-size: 13px;
}
.file-btn {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 18px;
	letter-spacing: 0.05em;
	width: 300px;
	height: 60px;
	background: #6c6c6c;
	border: 1px solid #252525;
	border-radius: 16px;
	color: #FFF;
	cursor: pointer;
}
.file-btn + span.wpcf7-form-control-wrap input {
	display: none;
}

/*------------------------------
 * POLICY
------------------------------*/
body.policy h1.page-title {
	padding-bottom: 21px;
}
body.policy p.ttl01 {
	font-family: "YuGothB", "Noto Sans JP", sans-serif;
	margin-top: 55px;
	color: #252525;
}
body.policy p.ttl01 + p {
	margin-top: 19px;
}
.policy-content p {
	font-size: 18px;
}
.policy-content p + p {
	margin-top: 54px;
}
.policy-content p:last-child {
	margin-top: 91px;
}
.policy-content ol {
	list-style: none;
	padding-left: 0;
	font-size: 18px;
	overflow: hidden;
}
.policy-content ol:before, .policy-content ol:after {
	content: "";
	display: block;
}
.policy-content ol:before {
	margin-top: -0.5em;
}
.policy-content ol:after {
	margin-bottom: -0.5em;
}
.policy-content ol li {
	line-height: 2;
}
body.policy h2.ttl02 {
	font-size: 24px;
	margin-top: 134px;
	margin-bottom: 90px;
	text-align: center;
}

/*------------------------------
 * RECRUIT
------------------------------*/
body.recruit .container {
	max-width: 850px;
}
body.recruit .mv .container, body.recruit footer .container {
	max-width: 1010px;
}
body.recruit h1.page-title {
	margin-top: 100px;
	margin-bottom: 79px;
}
.recruit-info p {
	font-size: 18px;
	text-align: center;
	margin-bottom: 78px;
}
body.recruit h2.ttl01 {
	color: #ef4d82;
	letter-spacing: 0.05em;
	text-align: center;
	padding-bottom: 44px;
	margin-bottom: 20px;
	position: relative;
	font-size: clamp(1.125rem, 0.951rem + 0.87vw, 1.375rem);
}
body.recruit h2.ttl01:after {
	content: "";
	display: block;
	width: 192px;
	height: 38px;
	background-image: url('../img/page/kazari.svg');
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center bottom;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.recruit-box {
	width: 100%;
	max-width: 850px;
	margin: auto;
	margin-bottom: 20px;
	padding: 60px 63px 60px 60px;
	background: #fef2f6;
	border-radius: 60px;
}
body.recruit h3.ttl02 {
	margin-top: 0;
	margin-bottom: 30px;
	padding-bottom: 30px;
	text-align: center;
	font-size: clamp(1.125rem, 0.864rem + 1.3vw, 1.5rem);
	letter-spacing: 0.05em;
	position: relative;
}
body.recruit h3.ttl02:after {
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	background: linear-gradient(to right, #fbd5e2 2px, transparent 2px);
	background-repeat: repeat;
	background-size: 4px;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
}
.recruit-box p, .conditions-info p, .recruit-flow p {
	font-size: 18px;
}
.recruit-box p span.under_line {
	font-size: 18px;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	background-image: linear-gradient(0, #f8f6b1 45%, transparent 45%);
}
body.recruit h2.ttl03 {
	font-size: clamp(1.125rem, 0.951rem + 0.87vw, 1.375rem);
	letter-spacing: 0.05em;
	margin-top: 100px;
	margin-bottom: 38px;
	padding-bottom: 17px;
	position: relative;
	width: fit-content;
}
body.recruit h2.ttl03:after {
	content: "";
	display: block;
	width: 100%;
	height: 6px;
	background: #fac9d9;
	position: absolute;
	bottom: 0;
}
table.recruit-tbl {
	width: 100%;
	max-width: 849px;
	margin: auto;
	margin-top: 59px;
}
table.recruit-tbl tr {
	border-bottom: 1px solid #cccccc;
}
table.recruit-tbl tr:first-child {
	border-top: 1px solid #cccccc;
}
table.recruit-tbl th {
	background: #fffede;
	width: 18.8%;
	max-width: 160px;
	text-align: center;
}
table.recruit-tbl td {
	padding-left: 40px;
}
table.recruit-tbl td .kyuyo-item, table.recruit-tbl td .teate-item {
	display: flex;
	align-items: baseline;
	gap: 55px;
}
table.recruit-tbl td .kyuyo-item:first-child, table.recruit-tbl td .teate-item:first-child {
	margin-top: 0;
}
table.recruit-tbl td .kyuyo-item div, table.recruit-tbl td .teate-item div {
	min-width: 190px;
}
.kyuyo-item div, .teate-item div {
	line-height: 2;
}
.kyuyo-item div span {
	display: block;
	font-family: "YuGothB", "Noto Sans JP", sans-serif;
	color: #252525;
	margin-top: 55px;
	line-height: 2;
}
.kyuyo-item:first-child div span {
	margin-top: 0;
}
.recruit-flow-block {
	max-width: 840px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 50px;
	display: flex;
	align-items: center;
	gap: 39px;
}
.recruit-flow-title {
	background: #fcdbe6;
	padding: 14px 33px 16px 32px;
	border-radius: 25px;
	width: 209px;
	text-align: center;
	font-family: "YuGothB", "Noto Sans JP", sans-serif;
	color: #252525;
	font-size: clamp(1.125rem, 1.038rem + 0.43vw, 1.25rem);
	letter-spacing: 0.05em;
	white-space: nowrap;
	position: relative;
}
.recruit-flow-title:after {
	content: "";
	display: block;
	width: 27px;
	height: 19px;
	background-image: url('../img/page/recruit-flow-block-arrow.png');
	background-size: cover;
	background-repeat: no-repeat;
	position: absolute;
	bottom: -46px;
	left: 0;
	right: 0;
	margin: auto;
}
.recruit-flow-block:nth-child(5) .recruit-flow-title:after {
	content: none;
}
.recruit-flow-content {
	line-height: 2;
	font-size: clamp(1rem, 0.913rem + 0.43vw, 1.125rem);
	width: calc(100% - 209px - 39px);
	max-width: 560px;
}
.link-form-btn a {
	display: block;
	background: #f5ed80;
	color: #252525;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	padding: 39px 143px 38px 142px;
	width: 80vw;
	max-width: 516px;
	margin: 98px auto 59px;
	border-radius: 12px;
	font-size: clamp(1.125rem, 0.996rem + 0.65vw, 1.25rem);
	font-family: "YuGothB", "Noto Sans JP", sans-serif;
	letter-spacing: 0.05em;
	cursor: pointer;
	text-decoration: none;
	text-align: center;
}
@media only screen and (max-width:755px) {
	body.recruit h3.ttl02 {
		line-height: 1.75;
	}
}
@media only screen and (max-width:690px) {
	table.recruit-tbl td .kyuyo-item, table.recruit-tbl td .teate-item {
		flex-wrap: wrap;
		gap: 0;
	}
	.kyuyo-item div:first-child {
		width: 100%;
	}
	.kyuyo-item div span {
		margin-top: 30px;
	}
}
@media only screen and (max-width:620px) {
	.link-form-btn a {
		padding: 39px 50px 38px;
	}
}
@media only screen and (max-width:560px) {
	.recruit-flow-block {
		flex-wrap: wrap;
		gap: 15px;
	}
	.recruit-flow-title, .recruit-flow-content {
		width: 100%;
	}
	.recruit-flow-title:after {
		content: none;
	}
	.recruit-flow-content {
		position: relative;
	}
	.recruit-flow-content:after {
		content: "";
		display: block;
		width: 27px;
		height: 19px;
		background-image: url('../img/page/recruit-flow-block-arrow.png');
		background-size: cover;
		background-repeat: no-repeat;
		position: absolute;
		bottom: -30px;
		left: 0;
		right: 0;
		margin: auto;
	}
}
@media only screen and (max-width:520px) {
	.recruit-box {
		padding: 60px 30px;
		border-radius: 30px;
	}
}
@media only screen and (max-width:460px) {
	table.recruit-tbl td {
		padding-left: 20px;
	}
}
@media only screen and (max-width:400px) {
	table.recruit-tbl th, table.recruit-tbl td {
		display: block;
		width: 100%;
		max-width: unset;
	}
}
@media only screen and (max-width:365px) {
	.link-form-btn a {
		padding: 30px 15px;
	}
}
@media only screen and (max-width:275px) {
	.link-form-btn a {
		width: 100%;
		padding: 30px 0;
	}
}


/*------------------------------
 * SERVICES
------------------------------*/
body.services h2.ttl01 {
	font-size: 22px;
	font-family: "YuGothB", "Noto Sans JP", sans-serif;
	padding-left: 32px;
	position: relative;
	color: #252525;
}
body.services h2.ttl01:after {
	content: "";
	display: block;
	width: 24px;
	height: 23px;
	background-image: url('../img/page/midashi-maru.png');
	background-repeat: no-repeat;
	background-position: center;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 2px;
	margin: auto;
}
.service-box {
	display: flex;
	justify-content: space-between;
	max-width: 1000px;
	margin: 39px auto 59px;
}
.service-box-img {
	padding-left: 40px;
}
.service-box-txt {
	max-width: 643px;
}
.service-box-txt p {
	font-size: 18px;
	line-height: 2;
	letter-spacing: 0.05em;
}
.insurance-case-block {
	display: flex;
	flex-wrap: wrap;
	gap: 57px;
	margin-top: 133px;
	margin-bottom: 81px;
}
.insurance-case-box {
	width: calc(50% - (57px / 2 * 1));
	position: relative;
	padding-top: 80px;
	padding-bottom: 32px;
	border: 10px solid;
	border-radius: 30px;
}
.medical.insurance-case-box {
	border-color: #fcdbe6;
}
.nursing.insurance-case-box {
	border-color: #f8f6b1;
}
body.services h2.ttl02 {
	width: fit-content;
	font-family: "YuGothB", "Noto Sans JP", sans-serif;
	font-size: 22px;
	letter-spacing: 0.05em;
	position: absolute;
	top: -31px;
	left: 0;
	right: 0;
	margin: auto;
	padding: 18px 41px 20px 40px;
	color: #252525;
}
body.services h2.ttl02:after {
	content: "";
	display: block;
	width: 12px;
	height: 21px;
	position: absolute;
	top: 0;
	right: -12px;
}
body.services .medical h2.ttl02 {
	background: #ef4d82;
	color: #FFF;
}
body.services .medical h2.ttl02:after {
	background: linear-gradient(60deg, #b0375f 50%, transparent 50%);
}
body.services .nursing h2.ttl02 {
	background: #f9eb39;
}
body.services .nursing h2.ttl02:after {
	background: linear-gradient(60deg, #a49b24 50%, transparent 50%);
}

body.services h2.ttl04 {
	position: relative;
	width: fit-content;
	padding-bottom: 26px;
	margin: 80px auto 60px;
}
body.services h2.ttl04:after {
	content: "";
	display: block;
	width: 100%;
	height: 9px;
	background-image: url('../img/page/midashi-line.png');
	background-repeat: repeat-x;
	background-size: contain;
	background-position: bottom center;
	position: absolute;
	bottom: 0;
}
.insurance-case-box-content {
	padding-left: 28px;
	padding-right: 30px;
}
body.services h3.ttl03 {
	margin-top: 41px;
	margin-bottom: 40px;
	text-align: center;
	padding: 15px 0 16px;
	border-radius: 25px;
	font-family: "YuGothB", "Noto Sans JP", sans-serif;
	font-size: 20px;
	color: #252525;
}
body.services h3.ttl03:first-child {
	margin-top: 0;
}
.medical.insurance-case-box h3.ttl03 {
	background: #fcdbe6;
}
.nursing.insurance-case-box h3.ttl03 {
	background: #f8f6b1;
}
.insurance-case-box-content p {
	font-size: 18px;
	letter-spacing: 0.05em;
}
body.services section.sec03 {
	background: #fff8fa;
	padding: 80px 0;
}
body.services h2.ttl04:first-child {
	margin-top: 0;
}
.slick-list {
	margin: 0 -21px;
}
.slick-track {
	display: flex;
}
[class*="voices-box"] {
	margin: 0 21px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
.voices-box01 {
	background-image: url('../img/page/voices01.png');
	padding: 61px 3px 43px 22px;
}
.voices-box02 {
	background-image: url('../img/page/voices02.png');
	padding: 59px 11px 77px 21px;
}
.voices-box03 {
	background-image: url('../img/page/voices03.png');
	padding: 58px 7px 40px 21px;
}
.voices-box04 {
	background-image: url('../img/page/voices04.png');
	padding: 55px 1px 78px 33px;
}
[class*="voices-box"] p {
	font-size: 18px;
	letter-spacing: normal;
}
.introduction-block {
	display: flex;
	flex-wrap: wrap;
	gap: 19px;
}
.introduction-box {
	width: calc(25% - (19px / 4 * 3));
}
.introduction-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.lb-nav a.lb-next, .lb-nav a.lb-prev {
	opacity: 1;
}
@media only screen and (max-width:990px) {
	.service-box-txt {
		max-width: 65%;
	}
}
@media only screen and (max-width:920px) {
	.insurance-case-block {
		gap: 30px;
	}
	.insurance-case-box {
		width: calc(50% - (30px / 2 * 1));
	}
}
@media only screen and (max-width:870px) {
	.service-box-txt {
		max-width: 60%;
	}
}
@media only screen and (max-width:680px) {
	.introduction-box {
		width: calc(33.3% - (19px / 3 * 2));
	}
}
@media only screen and (max-width:640px) {
	.service-box {
		flex-wrap: wrap;
		justify-content: center;
		gap: 20px;
	}
	.service-box-img {
		padding-left: 0;
	}
	.service-box-txt {
		max-width: unset;
	}
	.insurance-case-block {
		gap: 80px;
	}
	.insurance-case-box {
		width: 100%;
	}
}
@media only screen and (max-width:520px) {
	.introduction-box {
		width: calc(50% - (19px / 2 * 1));
	}
}

.slide-arrow {
	display: block;
	width: 30px;
	height: 30px;
	background: #fac9d9;
	border-radius: 50%;
	transition: all .3s ease;
	cursor: pointer;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	z-index: 9;
}
.prev-arrow {
	left: -50px;
}
.next-arrow {
	right: -50px;
}
.prev-arrow::before,
.next-arrow::before {
	position: absolute;
	content: "";
	width: 10px;
	height: 10px;
	top: 0;
	bottom: 0;
	margin: auto;
	transform: rotate(45deg);
}
.prev-arrow::before {
	left: 0;
	right: -5px;
	border-left: 2px solid #FFF;
	border-bottom: 2px solid #FFF;
}
.next-arrow::before {
	left: -5px;
	right: 0;
	border-right: 2px solid #FFF;
	border-top: 2px solid #FFF;
}
@media only screen and (max-width:600px) {
	.prev-arrow {
		left: -20px;
	}
	.next-arrow {
		right: -20px;
	}
}
/*------------------------------
 * SITEMAP
------------------------------*/
.sitemap-content {
	display: flex;
	flex-wrap: wrap;
	gap: 80px;
}
.sitemap-box {
	width: calc(50% - (80px / 2 * 1));
}
p.sitemap-section {
	position: relative;
	padding-bottom: 21px;
	border-bottom: 2px solid #ef4d82;
	line-height: normal;
	font-family: "YuGothB";
	font-size: clamp(1.125rem, 0.825rem + 1.5vw, 1.5rem);
	color: #252525;
}
p.sitemap-section:before, p.sitemap-section:after {
	content: "";
	display: block;
}
p.sitemap-section:before {
	width: 22px;
	height: 22px;
	background: #ef4d82;
	border-radius: 30px;
	position: absolute;
	top: 0;
	bottom: 21px;
	margin: auto;
	right: 7px;
}
p.sitemap-section:after {
	width: 7px;
	height: 7px;
	border-top: 2px solid #FFF;
	border-right: 2px solid #FFF;
	position: absolute;
	top: 0;
	bottom: 22px;
	right: 15px;
	margin: auto;
	transform: rotate(45deg);
}
p.sitemap-section a {
	color: #ef4d82;
	text-decoration: none;
	display: block;
	line-height: 1.5;
}
.sitemap-box p:not(.sitemap-section) {
	margin-top: 31px;
	font-size: clamp(1rem, 0.9rem + 0.5vw, 1.125rem);
}
.sitemap-box p:not(.sitemap-section) a {
	text-decoration: none;
	color: inherit;
	display: inline-block;
	width: 100%;
	line-height: 1.5;
}
@media only screen and (max-width:720px) {
	.sitemap-content {
		gap: 50px;
	}
	.sitemap-box {
		width: calc(50% - (50px / 2 * 1));
	}
}
@media only screen and (max-width:685px) {
	.sitemap-box {
		width: 100%;
	}
}

/*------------------------------
 * FORM
------------------------------*/
.wpcf7-not-valid-tip {
	margin-top: 1em;
}
span.file_name {
	margin-top: 1em;
	display: block;
}