@charset "utf-8";

/* ===========================================
	common
============================================== */
.article_area {
	padding-top: 6.9334rem;
	padding-bottom: 8.334rem;
	background-color: var(--white_color);
}

/* ============
	responsive
================ */
@media screen and (max-width: 1024px) {
	.article_area {
		padding-bottom: 6.1334rem;
	}
}

/* ===========================================
	company
============================================== */
.company .article_area {
	padding-bottom: 0;
}

.strengths_intro_inner {
	position: relative;
	margin-bottom: 6.5334rem;
}

.strengths_intro_inner::before,
.strengths_intro_txt_wrap::before {
	content: 'OUR STRENGTHS';
	position: absolute;
	top: -1.8667rem;
	left: 0;
	font-family: 'DotGothic16', sans-serif;
	font-weight: 400;
	font-size: 5.7334rem;
	color: #d9d9d9;
	letter-spacing: 0.05em;
	z-index: 1;
}

.strengths_intro_txt_wrap::before {
	content: none;
}

.strengths_intro_inner {
	column-gap: 5.0667rem;
	align-items: flex-end;
}

.strengths_intro_txt_wrap,
.strengths_intro_img_wrap {
	position: relative;
	z-index: 2;
}

.strengths_intro_txt_wrap {
	padding-bottom: 15px;
	width: calc(100% - 5.0667rem - 46.334rem);
}

.strengths_intro_sub_ttl {
	display: inline-block;
	margin-bottom: 2.1334rem;
	padding: 4px 10px 6px;
	font-family: 'DotGothic16', sans-serif;
	font-weight: 400;
	font-size: 1.1334rem;
	letter-spacing: 0.05em;
	background-color: var(--green_color);
	border-radius: 2px;
}

.strengths_intro_ttl_h3 {
	margin-bottom: 1.6rem;
	font-weight: 500;
	font-size: 2.2rem;
	letter-spacing: 0.05em;
	line-height: 1.5;
}

.strengths_intro_txt {
	font-weight: 400;
	font-size: 1.0667rem;
	line-height: 2;
}

.strengths_intro_img_wrap {
	width: 46.334rem;
}

.business_list_area {
	margin-bottom: -7.7334rem;
}

.business_list > li {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	row-gap: 1.0667rem;
	width: 18.4667rem;
	height: 18.4667rem;
	background-color: #d9d9d9;
	border: solid 2px var(--black_color);
	border-radius: 9999px;
}

.business_list > li:not(:first-child) {
	margin-left: -1.4667rem;
}

.business_list > li:nth-child(odd) {
	color: var(--white_color);
	background-color: #008933;
}

.business_list_item_ttl {
	font-family: 'DotGothic16', sans-serif;
	font-weight: 400;
	font-size: 1.9334rem;
	letter-spacing: 0.05em;
	text-align: center;
}

.business_list > li > p {
	max-width: 11.667rem;
	width: 100%;
	font-weight: 400;
	font-size: 1rem;
	line-height: 1.5;
}

.business_area {
	padding-top: 15.7334rem;
	padding-bottom: 7.2rem;
	background-size: 128rem;
	background-position: center top;
	background-repeat: repeat;
	background-image: url(../images/common/blue_bg.png);
	border-top: solid 2px var(--black_color);
}

.business_ttl_h2 {
	display: flex;
	justify-content: center;
	align-items: center;
	column-gap: 1.0667rem;
	margin-bottom: 4.2667rem;
	font-family: 'DotGothic16', sans-serif;
	font-weight: 400;
	font-size: 1.9334rem;
	letter-spacing: 0.05em;
}

.business_cont {
	grid-template-columns: repeat(2, 1fr);
	gap: 2.8rem;
	margin-bottom: 5.8rem;
	padding-bottom: 4.9334rem;
	background-position: bottom right 3.9334rem;
	background-size: 22rem;
	background-image: url(../images/page/business_cont_img_pc.png);
}

.business_cont_item {
	border: solid 2px var(--black_color);
	border-radius: 10px;
	background-color: var(--white_color);
	overflow: hidden;
}

.business_cont_item_photo {
	aspect-ratio: 500 / 309;
}

.business_cont_item_wrap {
	padding: 2.1334rem 2.667rem;
}

.business_cont_item_ttl {
	display: inline-block;
	margin-bottom: 1.0667rem;
	padding: 8px;
	font-family: 'DotGothic16', sans-serif;
	font-weight: 400;
	font-size: 1.667rem;
	color: var(--white_color);
	letter-spacing: 0.05em;
	background-color: var(--black_color);
}

.business_cont_item_wrap > p {
	font-weight: 400;
	line-height: 1.8;
}

.business_cont_item_wrap > p + p {
	margin-top: 1.0667rem;
	padding-top: 1.0667rem;
	border-top: solid 1px var(--black_color);
}

.work_list {
	grid-template-columns: repeat(3, 21.7334rem);
	gap: 2.0667rem;
	margin-bottom: 5.8667rem;
}

.work_list_item_photo {
	margin-bottom: 2.1334rem;
	aspect-ratio: 163 / 100;
}

.work_list_item_photo > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.work_list_item_ttl {
	margin-bottom: 1.0667rem;
	font-weight: 500;
	font-size: 1.4rem;
}

.work_list_item > p {
	font-weight: 400;
	font-size: 1rem;
	line-height: 1.8;
}

.work_cont_img_wrap {
	display: flex;
	justify-content: center;
	margin-bottom: 2.8rem;
}

.business_area .more_btn {
	margin-right: auto;
	margin-left: auto;
}

.philosophy_area {
	position: relative;
	padding-top: 20.1334rem;
	padding-bottom: 17.9334rem;
	background-color: #baddfb;
}

.philosophy_area::before,
.philosophy_area::after {
	content: '';
	position: absolute;
	left: 0;
	width: 100%;
	background-size: 128rem;
}

.philosophy_area::before {
	top: 8rem;
	height: 9.6rem;
	background-position: center;
	background-image: url(../images/common/cloud.png);
}

.philosophy_area::after {
	bottom: 0;
	height: 17.0667rem;
	background-position: center bottom;
	background-image: url(../images/common/town.png);
}

.philosophy_ttl_h2 {
	display: flex;
	justify-content: center;
	align-items: center;
	column-gap: 1.0667rem;
	margin-bottom: 4rem;
	font-family: 'DotGothic16', sans-serif;
	font-weight: 400;
	font-size: 1.9334rem;
	letter-spacing: 0.05em;
}

.philosophy_cont {
	justify-content: space-between;
}

.philosophy_cont_item {
	width: 32.7334rem;
}

.philosophy_ttl_h3 {
	display: flex;
	align-items: center;
	column-gap: 8px;
	margin-bottom: 1.0667rem;
	padding: 4px 12px;
	width: 8rem;
	font-family: 'DotGothic16', sans-serif;
	font-weight: 400;
	font-size: 1.1334rem;
	color: var(--white_color);
	background-color: var(--black_color);
	border-radius: 5px;
}

.philosophy_cont_item > p {
	font-size: 1.5334rem;
	line-height: 1.7;
	letter-spacing: 0.05em;
}

.message_area {
	padding-top: 4.2rem;
	padding-bottom: 8rem;
	background-color: var(--green_color);
}

.message_area .philosophy_ttl_h2 {
	justify-content: flex-start;
	font-size: 1.667rem;
}

.message_cont {
	flex-direction: row-reverse;
	justify-content: space-between;
	margin-bottom: 10.667rem;
}

.message_photo {
	width: 22.667rem;
}

.message_cont_txt_wrap {
	width: calc(100% - 26.6rem);
}

.message_cont_ttl {
	margin-bottom: 1.6rem;
	font-family: 'DotGothic16', sans-serif;
	font-weight: 400;
	font-size: 1.9334rem;
	line-height: 1.5;
	letter-spacing: 0.05em;
}

.message_cont_txt {
	margin-bottom: 1.6rem;
	font-weight: 400;
	font-size: 1rem;
	line-height: 2;
	letter-spacing: 0.05em;
}

.message_name {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	column-gap: 1.0667rem;
	font-family: 'DotGothic16', sans-serif;
	font-weight: 400;
	font-size: 1.5334rem;
	letter-spacing: 0.05em;
}

.message_name > span {
	font-size: 1.0667rem;
}

.overview_cont_wrap {
	grid-template-columns: 24.4rem 42.667rem;
	grid-template-rows: 2.9334rem auto;
	column-gap: 2.1334rem;
	margin-bottom: 8rem;
}

.overview_cont_wrap .philosophy_ttl_h2 {
	grid-column: 1 / 2;
	grid-row: 1 / 2;
	margin-bottom: 0;
	font-size: 1.7334rem;
}

.overview_table {
	grid-column: 2 / 3;
	grid-row: 1 / 3;
}

.overview_table tr {
	border-bottom: solid 1px var(--black_color);
}

.overview_table th,
.overview_table td {
	font-weight: 400;
	line-height: 1.5;
	text-align: left;
}

.overview_table th {
	padding: 1.334rem;
	font-size: 0.9334rem;
}

.overview_table td {
	font-size: 1.0667rem;
}

.overview_img_wrap {
	grid-column: 1 / 2;
	grid-row: 2 / 3;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-top: 3.6rem;
}

.partner_wrap {
	justify-content: space-between;
	align-items: center;
}

.partner_img_wrap {
	width: 24.4667rem;
}

.partner_txt_wrap {
	width: calc(100% - 24.4667rem - 5.0667rem);
}

.partner_wrap + .partner_wrap {
	margin-top: 5.6rem;
}

.partner_ttl_h3 {
	margin-bottom: 1.0667rem;
	font-weight: 500;
	font-size: 1.4rem;
}

.partner_txt_wrap > p {
	font-weight: 400;
	line-height: 1.8;
}

.partner_wrap + .holding_wrap {
	margin-top: 8rem;
}

.holding_wrap {
	padding: 4.2667rem 4.6rem;
	background-color: var(--white_color);
	border: solid 3px var(--black_color);
	border-radius: 10px;
}

.holding_wrap + .holding_wrap {
	margin-top: 2.667rem;
}

.holding_ttl_h2 {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-right: auto;
	margin-bottom: 2.1334rem;
	margin-left: auto;
	padding-top: 4px;
	padding-bottom: 6px;
	width: 6.8667rem;
	font-family: 'DotGothic16', sans-serif;
	font-weight: 400;
	font-size: 1.2667rem;
	color: var(--white_color);
	letter-spacing: 0.05em;
	text-align: center;
	background-color: var(--black_color);
	border-radius: 5px;
}

.holding_list {
	display: flex;
	flex-wrap: wrap;
	row-gap: 2.1334rem;
}

.holding_list > li {
	width: 33.3%;
	font-weight: 400;
	font-size: 1.1rem;
	line-height: 1;
	letter-spacing: 0.05em;
}

.holding_list > li::before {
	content: '●';
}

/* ============
	responsive
================ */
@media screen and (max-width: 1440px) {
	.strengths_intro_inner::before,
	.strengths_intro_txt_wrap::before {
		font-size: min(
			max(48px, calc(3rem + ((1vw - 10.24px) * 9.1346))),
			86px
		);
	}

	.strengths_intro_ttl_h3 {
		font-size: min(
			max(25px, calc(1.5625rem + ((1vw - 10.24px) * 1.9231))),
			33px
		);
	}
}

@media screen and (max-width: 1280px) {
	.strengths_intro_inner {
		column-gap: 2%;
	}

	.strengths_intro_txt_wrap {
		width: 43%;
	}

	.strengths_intro_img_wrap {
		width: 55%;
	}

	.business_cont_item_photo > img {
		width: 100%;
	}

	.work_list {
		grid-template-columns: repeat(3, 1fr);
	}

	.overview_cont_wrap {
		grid-template-columns: 24.4rem auto;
	}
}

@media screen and (max-width: 1024px) {
	.company .article_area {
		padding-top: 4.2667rem;
	}

	.strengths_intro_sub_ttl {
		margin-bottom: 1.0667rem;
		font-size: 1rem;
	}

	.strengths_intro_ttl_h3 {
		margin-bottom: 1.6rem;
	}

	.strengths_intro_txt {
		font-size: 1rem;
		line-height: 1.9;
	}

	.business_list_item_ttl {
		font-size: 1.5334rem;
	}

	.business_list > li {
		width: 25vw;
		height: 25vw;
	}

	.business_list > li > p {
		font-size: 0.8667rem;
		max-width: 8.667rem;
	}

	.business_area {
		padding-bottom: 6.8667rem;
	}

	.business_ttl_h2 {
		margin-bottom: 2.667rem;
	}

	.business_cont {
		gap: 2.1334rem;
	}

	.business_cont_item_wrap {
		padding: 1.4334rem 1.334rem 1.7334rem;
	}

	.business_cont_item_ttl {
		margin-bottom: 8px;
		padding: 6px 8px;
		font-size: 1.4rem;
		line-height: 1.2;
	}

	.business_cont_item_wrap > p + p {
		margin-top: 1.0667rem;
		padding-top: 1.0667rem;
	}

	.work_list {
		gap: 2.667rem 2.0667rem;
	}

	.work_list_item_photo {
		margin-bottom: 1.6rem;
	}

	.work_list_item_ttl {
		margin-bottom: 10px;
		font-size: 1.2667rem;
	}

	.philosophy_area {
		padding-top: 12.334rem;
		padding-bottom: 11.8667rem;
	}

	.philosophy_area::before,
	.philosophy_area::after {
		background-size: contain;
	}

	.philosophy_area::before {
		top: 0;
	}

	.philosophy_ttl_h2 {
		column-gap: 1.1334rem;
		font-size: 1.4667rem;
	}

	.philosophy_cont_item > p {
		font-size: 1.4rem;
		line-height: 1.6;
	}

	.philosophy_cont {
		gap: 3.2rem;
	}

	.philosophy_cont_item {
		width: calc(50% - 1.6rem);
	}

	.philosophy_cont_item > p > br {
		display: none;
	}

	.message_area {
		padding-top: 7.9334rem;
		padding-bottom: 5.2667rem;
	}

	.message_area .philosophy_ttl_h2 {
		margin-bottom: 2.667rem;
		font-size: 1.4667rem;
	}

	.message_cont_ttl {
		font-size: 1.5334rem;
	}

	.message_cont_txt {
		line-height: 1.9;
	}

	.message_cont {
		column-gap: 4.5vw;
	}

	.message_photo {
		width: 33vw;
	}

	.message_cont_txt_wrap {
		width: 62.5vw;
	}

	.overview_cont_wrap .philosophy_ttl_h2 {
		margin-bottom: 0;
	}

	.overview_cont_wrap {
		grid-template-columns: 1fr;
		grid-template-rows: repeat(3, auto);
		column-gap: 5vw;
	}

	.overview_cont_wrap .philosophy_ttl_h2 {
		grid-row: 1 / 2;
		margin-bottom: 2.667rem;
	}

	.overview_table {
		grid-column: 1 / 2;
		grid-row: 2 / 3;
		margin-bottom: 7.0667rem;
	}

	.overview_img_wrap {
		grid-row: 3 / 4;
		padding-top: 0;
	}

	.overview_img_wrap > img {
		width: 3.667rem;
		height: 2.667rem;
	}

	.partner_ttl_h3 {
		line-height: 1.6;
	}

	.partner_wrap + .partner_wrap {
		margin-top: 3.7334rem;
	}

	.partner_wrap {
		column-gap: 2.1334rem;
	}

	.partner_img_wrap {
		width: 40%;
	}

	.partner_txt_wrap {
		width: calc(100% - 40% - 2.1334rem);
	}

	.holding_wrap + .holding_wrap {
		margin-top: 3.2rem;
	}

	.holding_wrap {
		padding: 3.2rem 1.334rem 3.7334rem;
	}

	.holding_ttl_h2 {
		margin-bottom: 1.6rem;
		width: 6.0667rem;
		font-size: 1.0667rem;
	}

	.holding_list {
		row-gap: 1.0667rem;
	}
}

@media screen and (max-width: 910px) {
	.strengths_intro_inner {
		flex-direction: column-reverse;
		row-gap: 4.1334rem;
		margin-bottom: 2.9334rem;
	}

	.strengths_intro_inner::before {
		content: none;
	}

	.strengths_intro_txt_wrap {
		position: relative;
		width: 100%;
		padding-bottom: 0;
	}

	.strengths_intro_txt_wrap::before {
		content: 'OUR STRENGTHS';
		top: -4.8rem;
		left: 50%;
		white-space: nowrap;
		transform: translateX(-50%);
		z-index: -1;
	}

	.strengths_intro_img_wrap {
		margin-right: -4rem;
		margin-left: -4rem;
		width: 100vw;
	}
}

@media screen and (max-width: 768px) {
	.strengths_intro_img_wrap {
		margin-right: -2rem;
		margin-left: -2rem;
	}

	.work_list {
		grid-template-columns: repeat(2, 1fr);
		margin-bottom: 4.2667rem;
	}

	.work_cont_img_wrap {
		margin-bottom: 2.1334rem;
	}

	.philosophy_area::before,
	.philosophy_area::after {
		background-size: 67.2rem;
	}

	.holding_list > li {
		width: 50%;
	}
}

@media screen and (max-width: 700px) {
	.business_list_area {
		margin-bottom: -39.334rem;
	}

	.business_list {
		flex-direction: column;
		align-items: center;
		margin-right: auto;
		margin-left: auto;
		max-width: 21.1334rem;
		width: 100%;
	}

	.business_list > li {
		width: 13.334rem;
		height: 13.334rem;
	}

	.business_list > li:nth-child(even) {
		position: relative;
		margin-left: auto;
	}

	.business_list > li:not(:first-child) {
		margin-top: -4.3rem;
	}

	.business_list > li:nth-child(odd) {
		margin-right: auto;
		margin-left: 0;
	}

	.business_area {
		padding-top: 42.9334rem;
	}

	.business_ttl_h2 {
		margin-bottom: 2.667rem;
		font-size: 1.4667rem;
	}
}

@media screen and (max-width: 640px) {
	.business_cont {
		grid-template-columns: 1fr;
		margin-bottom: 4.8rem;
		padding-bottom: 10.5334rem;
		background-position: center bottom;
		background-size: 17.667rem;
		background-image: url(../images/page/business_cont_img_sp.png);
	}

	.philosophy_cont {
		flex-direction: column;
	}

	.philosophy_cont_item {
		width: 100%;
	}

	.message_area .philosophy_ttl_h2,
	.message_name {
		justify-content: center;
	}

	.message_cont {
		flex-direction: column;
		align-items: center;
		row-gap: 2.667rem;
		margin-bottom: 8rem;
	}

	.message_photo {
		max-width: 16.667rem;
		width: 100%;
	}

	.message_cont_txt_wrap {
		width: 100%;
	}

	.message_cont_txt {
		margin-bottom: 2.1334rem;
	}

	.overview_table th,
	.overview_table td {
		display: block;
	}

	.overview_table th {
		padding: 1.334rem 0 0.9334rem;
		font-size: 0.9334rem;
	}

	.overview_table td {
		padding-bottom: 1.334rem;
		font-size: 1.0667rem;
	}

	.partner_wrap {
		flex-direction: column;
		row-gap: 2.1334rem;
	}

	.partner_img_wrap {
		max-width: 21rem;
		width: 100%;
	}

	.partner_txt_wrap {
		width: 100%;
	}

	.partner_wrap + .partner_wrap {
		margin-top: 3.7334rem;
	}

	.partner_wrap + .holding_wrap {
		margin-top: 3.2rem;
	}

	.holding_list > li {
		width: 100%;
	}
}

@media screen and (max-width: 480px) {
	.strengths_intro_ttl_h3 .pc_br {
		display: none;
	}

	.strengths_intro_img_wrap {
		margin-right: -1.334rem;
		margin-left: -1.334rem;
	}
}

/* ===========================================
	job
============================================== */
.job .article_area {
	background-color: rgba(255, 255, 255, 0);
}

.job_ttl_h2 {
	margin-bottom: 1.0667rem;
	font-family: 'DotGothic16', sans-serif;
	font-weight: 400;
	font-size: 1.0667rem;
	letter-spacing: 0.05em;
}

.btn_list_wrap {
	margin-bottom: 7.0667rem;
	overflow: scroll;
}

.btn_list {
	column-gap: 1.0667rem;
	white-space: nowrap;
}

.btn_list > li > a {
	position: relative;
	padding: 10px 3.334rem 10px 1.334rem;
	font-family: 'DotGothic16', sans-serif;
	font-weight: 400;
	font-size: 1.5334rem;
	letter-spacing: 0.05em;
	background-color: var(--white_color);
	border: solid 2px var(--black_color);
	border-radius: 5px;
}

.btn_list > li > a:hover {
	color: #2dae5d;
	border: solid 2px #2dae5d;
}

.btn_list > li > a::before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 1.334rem;
	margin: auto;
	width: 1.334rem;
	height: 0.9334rem;
	background-image: url(../images/common/triangle_black_icon.svg);
}

.job_item + .job_item {
	margin-top: 9.6rem;
}

.job_ttl_h3 {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	column-gap: 1.6rem;
	margin-bottom: 4.8rem;
	font-family: 'DotGothic16', sans-serif;
	font-weight: 400;
	font-size: 2.4rem;
}

.job_item_img {
	margin-bottom: 3.334rem;
}

.job_cont {
	column-gap: 5.1334rem;
	margin-bottom: 5.1334rem;
}

.job_cont_item {
	width: calc(50% - 2.566rem);
}

.job_cont_ttl_h4 {
	display: inline-block;
	margin-bottom: 1.0667rem;
	padding: 4px 10px 6px;
	font-family: 'DotGothic16', sans-serif;
	font-weight: 400;
	font-size: 1.334rem;
	color: var(--white_color);
	background-color: var(--black_color);
	border-radius: 2px;
}

.job_cont_item > p {
	font-weight: 400;
	font-size: 1rem;
	line-height: 1.8;
}

.job_cont_list {
	margin-bottom: 0.7rem;
}

.job_cont_list > li {
	position: relative;
	padding-left: 1.2667rem;
	font-family: 'DotGothic16', sans-serif;
	font-weight: 400;
	font-size: 1.4rem;
	letter-spacing: 0.05em;
	line-height: 1.4;
}

.job_cont_list > li::before {
	content: '●';
	position: absolute;
	top: 7px;
	left: 0;
	font-size: 0.7334rem;
}

.job_cont_list > li + li {
	margin-top: 0.9rem;
}

.job_cont_list > li.underline{
	padding-bottom: 0.9rem;
	border-bottom: solid 1px var(--black_color);
}

.beginner_wrap {
	padding: 8px 1.3667rem;
	background-color: var(--green_color);
	border-radius: 10px;
}

.beginner_wrap:has(> img) {
	display: flex;
	justify-content: center;
	align-items: center;
	column-gap: 2.1334rem;
	padding: 1.334rem 4.6rem;
}

.job_cont_ttl_h6 {
	margin-bottom: 0.8rem;
	font-family: 'DotGothic16', sans-serif;
	font-weight: 400;
	font-size: 1.4rem;
	letter-spacing: 0.05em;
}

.beginner_wrap > .beginner_inner > p {
	font-family: 'DotGothic16', sans-serif;
	font-weight: 400;
	font-size: 1rem;
	letter-spacing: 0.05em;
	line-height: 1.5;
}

.beginner_wrap > p {
	font-family: 'DotGothic16', sans-serif;
	font-weight: 400;
	font-size: 1rem;
	line-height: 1.5;
}

.license_point {
	position: relative;
	display: inline-block;
	margin-bottom: 3.8rem;
	padding: 9px 1.0667rem;
	font-family: 'DotGothic16', sans-serif;
	font-weight: 400;
	font-size: 1.1334rem;
	background-color: #fbffda;
	border: solid 2px #b28918;
}

.license_point::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 1.4667rem;
	border-style: solid;
	border-width: 16px 8px 0 8px;
	border-color: #b28918 rgba(255, 255, 255, 0) rgba(255, 255, 255, 0);
	translate: -50% 100%;
}

.license_point::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 1.4667rem;
	border-style: solid;
	border-width: 11.5px 5.8px 0 5.8px;
	border-color: #fbffda rgba(255, 255, 255, 0) rgba(255, 255, 255, 0);
	translate: -50% 100%;
}

.license_cont_wrap {
	position: relative;
	margin-bottom: 3.2667rem;
	padding: 2.8rem 4rem 3.1334rem;
	font-weight: 400;
	background-color: #222222;
	border-radius: 0 10px 10px 10px;
}

.license_ttl_h3 {
	position: absolute;
	bottom: 100%;
	left: 0;
	display: inline-block;
	padding: 4px 10px 6px;
	font-family: 'DotGothic16', sans-serif;
	font-weight: 400;
	font-size: 1.1334rem;
	letter-spacing: 0.05em;
	background-color: #f4afab;
	border-radius: 2px;
}

.license_item {
	align-items: center;
	column-gap: 3.4667rem;
}

.license_item + .license_item,
.license_item + .license_item_other {
	margin-top: 2.1334rem;
	padding-top: 2.1334rem;
	border-top: solid 1px var(--white_color);
}

.license_ttl_h4 {
	width: 15.4rem;
	font-family: 'DotGothic16', sans-serif;
	font-weight: 400;
	font-size: 1.5334rem;
	color: var(--white_color);
	text-align: center;
	letter-spacing: 0.05em;
	line-height: 1.5;
}

.license_item > p {
	width: calc(100% - 15.4rem - 3.4667rem);
	color: var(--white_color);
	line-height: 1.8;
}

.license_item_other span + span::before {
	content: '／';
	margin-left: -0.5em;
}

.license_item_other {
	column-gap: 2.667rem;
}

.license_item_other > h5,
.license_item_other > p {
	font-family: 'DotGothic16', sans-serif;
	font-weight: 400;
	font-size: 1.2667rem;
	color: var(--white_color);
	letter-spacing: 0.05em;
	line-height: 1.5;
}

.recruitment_item {
	padding: 3.6rem 5.8667rem 0;
	border: solid 2px var(--black_color);
	border-radius: 5px;
	background-color: var(--white_color);
	box-shadow: 5px 5px 0 var(--black_color);
}

.recruitment_item:hover {
	cursor: pointer;
}

.recruitment_ttl_wrap {
	position: relative;
	justify-content: space-between;
	align-items: center;
	padding-right: 5.334rem;
	padding-bottom: 3.6rem;
	font-family: 'DotGothic16', sans-serif;
	font-weight: 400;
}

.recruitment_ttl_inner {
	align-items: center;
	column-gap: 2.1334rem;
}

.recruitment_ttl_inner > span {
	padding: 4px 10px 6px;
	font-size: 1.1334rem;
	letter-spacing: 0.05em;
	background-color: var(--green_color);
}

.recruitment_ttl_h3 {
	font-weight: 400;
	font-size: 1.9334rem;
	letter-spacing: 0.05em;
	transition: all 0.4s;
}

.recruitment_item:hover .recruitment_ttl_h3 {
	color: #2dae5d;
	transition: all 0.4s;
}

.recruitment_ttl_h4 {
	font-weight: 400;
	font-size: 1.5334rem;
	color: #008933;
	letter-spacing: 0.05em;
}

.recruitment_ttl_btn {
	position: relative;
	position: absolute;
	top: -3px;
	right: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 2.667rem;
	height: 2.667rem;
	background-color: #d6dee1;
	border-radius: 9999px;
	transition: 0.4s;
}

.recruitment_item.open .recruitment_ttl_btn {
	transform: rotate(45deg);
}

.recruitment_ttl_btn::before,
.recruitment_ttl_btn::after {
	content: '';
	position: absolute;
	width: 1.2667rem;
	height: 4px;
	background-color: #008933;
}

.recruitment_ttl_btn::after {
	transform: rotate(90deg);
}

.recruitment_item_cont {
	display: none;
	padding-top: 9px;
	padding-bottom: 3.6rem;
}

.recruitment_item_cont table {
	margin-bottom: 2.667rem;
}

.recruitment_item_cont tr {
	border-bottom: solid 1px #bababa;
}

.recruitment_item_cont th {
	padding: 1.334rem;
	width: 13.334rem;
	font-weight: 500;
	font-size: 0.9334rem;
	color: #6a6a6a;
	text-align: left;
	line-height: 1.5;
	vertical-align: top;
}

.recruitment_item_cont td {
	padding-top: 1.334rem;
	padding-bottom: 1.334rem;
	line-height: 1.5;
}

.recruitment_item_cont td > ul > li {
	font-size: 0.9334rem;
	line-height: 1.5;
}

.recruitment_item_cont td > ul > li::before {
	content: '●';
}

.recruitment_item_cont .black_btn {
	margin-right: auto;
	margin-left: auto;
	width: 26.4rem;
	height: 5.667rem;
	font-size: 1.5334rem;
	border: solid 2px #c3c3c3;
	border-radius: 5px;
	box-shadow: 4px 4px 0 #c3c3c3;
}

.recruitment_item_cont .black_btn::before {
	left: 6.7334rem;
	width: 1.1334rem;
	height: 1.667rem;
}

/* ============
	responsive
================ */
@media screen and (max-width: 1280px) {
	.btn_list > li > a {
		padding: 0.9rem 3.334rem 0.9rem 0.8rem;
		font-size: 1.0667rem;
	}
}

@media screen and (max-width: 1024px) {
	.job .article_area {
		padding-top: 0;
	}

	.job_ttl_h2 {
		margin-bottom: 0.667rem;
		font-size: 0.9334rem;
	}

	.btn_list_wrap {
		margin-right: calc(50% - 50vw);
		margin-bottom: 4.2667rem;
		margin-left: calc(50% - 50vw);
		padding: 1.6rem calc(50vw - 50%) 1.2667rem;
		background-color: rgba(251, 251, 251, 0.5);
		border-bottom: solid 2px var(--black_color);
	}

	.job_item + .job_item {
		margin-top: 8rem;
	}

	.job_ttl_h3 {
		flex-direction: column;
		align-items: center;
		row-gap: 1.9334rem;
		margin-bottom: 3.8rem;
		font-size: 1.7334rem;
	}

	#worker .job_ttl_h3 > img,
	#technician .job_ttl_h3 > img {
		width: 2.1334rem;
	}

	#excavator .job_ttl_h3 > img,
	#crane .job_ttl_h3 > img {
		width: 4.667rem;
	}

	.job_item_img {
		margin-bottom: 3.7334rem;
	}

	.job_cont {
		column-gap: 2.667rem;
	}

	.job_cont_item {
		width: calc(50% - 1.334rem);
	}

	.job_cont_ttl_h4 {
		margin-bottom: 0.8rem;
		font-size: 1rem;
	}

	.job_cont_list {
		margin-bottom: 0.8rem;
	}

	.job_cont_list > li {
		font-size: 1.2667rem;
	}

	.job_cont_list > li::before {
		top: 5px;
	}

	.beginner_wrap:has(> img) {
		row-gap: 8px;
		padding: 1.334rem 2.5rem;
	}

	.beginner_wrap > img {
		width: 2.1334rem;
	}

	.job_cont_ttl_h6 {
		font-size: 1.2667rem;
	}

	.license_ttl_h3 {
		font-size: 1rem;
	}

	.license_cont_wrap {
		padding: 3.2rem 1.667rem 2rem;
	}

	.license_ttl_h4 {
		width: 12.8rem;
		font-size: 1.2667rem;
		text-align: left;
	}

	.license_item > p {
		width: calc(100% - 12.8rem - 3.4667rem);
	}

	.license_item + .license_item,
	.license_item + .license_item_other {
		margin-top: 2.1334rem;
		padding-top: 2.1334rem;
	}

	.license_item_other > h5 {
		font-size: 0.8667rem;
	}

	.license_item_other > p {
		font-size: 1.0667rem;
		line-height: 1.5;
	}

	.recruitment_item {
		padding: 2rem 1.667rem 0;
		border-radius: 10px;
		box-shadow: 3px 3px 0 var(--black_color);
	}

	.recruitment_ttl_wrap {
		padding-bottom: 1.6rem;
	}

	.recruitment_ttl_inner > span {
		font-size: 0.8667rem;
	}

	.recruitment_ttl_h3 {
		font-size: 1.5334rem;
	}

	.recruitment_ttl_h4 {
		font-size: 1.0667rem;
	}

	.recruitment_ttl_btn {
		top: -10px;
	}

	.recruitment_item_cont .black_btn {
		max-width: 17.334rem;
		width: 100%;
		height: 5.1334rem;
		font-size: 1.2667rem;
		box-shadow: 2px 2px 0 #c3c3c3;
	}

	.recruitment_item_cont .black_btn::before {
		left: 3.0667rem;
	}

	.recruitment_item_cont {
		padding-top: 1.7334rem;
	}
}

@media screen and (max-width: 768px) {
	.recruitment_item_cont th,
	.recruitment_item_cont td {
		display: block;
	}

	.recruitment_item_cont th {
		padding: 1.334rem 0 0.9334rem;
	}

	.recruitment_item_cont td {
		padding-top: 0;
	}
}

@media screen and (max-width: 640px) {
	.btn_list > li > a {
		font-size: 3.5vw;
	}

	.job_item_img {
		margin-right: -2rem;
		margin-left: -2rem;
		width: 100vw;
	}

	.job_cont {
		flex-direction: column;
		row-gap: 2.667rem;
	}

	.job_cont_item {
		width: 100%;
	}

	.beginner_wrap {
		padding: 1.334rem 2.5rem;
		border-radius: 5px;
	}

	.license_item {
		flex-direction: column;
		align-items: flex-start;
		row-gap: 1.6rem;
	}

	.license_ttl_h4,
	.license_item > p {
		width: 100%;
	}

	.license_item_other {
		flex-direction: column;
		row-gap: 1.0667rem;
	}

	.recruitment_ttl_wrap,
	.recruitment_ttl_inner {
		flex-direction: column;
		align-items: flex-start;
		row-gap: 0.8rem;
	}

	.recruitment_ttl_wrap {
		padding-right: 0;
	}

	.recruitment_ttl_btn {
		top: -0.9334rem;
		right: -9px;
		bottom: auto;
	}
}

@media screen and (max-width: 480px) {
	.beginner_wrap {
		flex-direction: column;
		row-gap: 1.0667rem;
	}

	.job_item_img {
		margin-right: -1.334rem;
		margin-left: -1.334rem;
	}

	.job_cont_ttl_h6 {
		text-align: center;
	}
}

/* ===========================================
	entry
============================================== */
.entry_txt {
	padding: 2.4667rem 1rem 1.7334rem;
	border: solid 2px var(--black_color);
	border-radius: 10px;
}

.entry_txt_inner {
	margin-right: auto;
	margin-left: auto;
	max-width: 46.667rem;
}

.txt_large + .txt_small {
	margin-top: 1.0667rem;
}

.txt_large {
	font-weight: 500;
	font-size: 1.2667rem;
	line-height: 1.6;
}

.txt_small {
	font-weight: 400;
	font-size: 1rem;
	line-height: 1.7;
}

/* ============
	form
================ */
.form_area {
	padding-top: 7.7334rem;
}

.smf-progress-tracker {
	max-width: 45.334rem;
	width: 100%;
	margin: 0 auto 7.1rem;
	counter-reset: number;
}

.smf-progress-tracker__item {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	column-gap: 10px;
	position: relative;
	height: 4.8rem;
	font-weight: 400;
	font-family: 'DotGothic16', sans-serif;
	font-style: normal;
	font-size: 1.5334rem;
	letter-spacing: 0.2em;
	background-color: #c7c7c7;
}

.smf-progress-tracker__item:first-child {
	border-radius: 4px 0 0 4px;
}

.smf-progress-tracker__item:last-child {
	border-radius: 0 4px 4px 0;
}

[data-screen='input']
	.smf-progress-tracker__item.smf-progress-tracker__item--input,
[data-screen='invalid']
	.smf-progress-tracker__item.smf-progress-tracker__item--input,
[data-screen='back']
	.smf-progress-tracker__item.smf-progress-tracker__item--input,
[data-screen='confirm']
	.smf-progress-tracker__item.smf-progress-tracker__item--confirm,
[data-screen='complete'] .smf-progress-tracker__item--complete {
	background-color: var(--black_color) !important;
}

.smf-progress-tracker__item:not(:last-child)::after {
	position: absolute;
	top: 0;
	left: 100%;
	z-index: 1;
	width: 1.0667rem;
	height: 4.8rem;
	background-color: transparent;
	background-image: url(../images/common/progress_gray.svg);
	background-position: center;
	background-size: contain;
	content: '';
}

[data-screen='input']
	.smf-progress-tracker__item.smf-progress-tracker__item--input:not(
		:last-child
	):after,
[data-screen='invalid']
	.smf-progress-tracker__item.smf-progress-tracker__item--input:not(
		:last-child
	):after,
[data-screen='back']
	.smf-progress-tracker__item.smf-progress-tracker__item--input:not(
		:last-child
	):after,
[data-screen='confirm']
	.smf-progress-tracker__item.smf-progress-tracker__item--confirm:not(
		:last-child
	):after {
	background-image: url(../images/common/progress_black.svg);
}

.smf-progress-tracker__item:last-child,
[data-screen='complete']
	.smf-progress-tracker__item.smf-progress-tracker__item--input {
	background-color: #e1e1e1;
}

[data-screen='complete']
	.smf-progress-tracker__item.smf-progress-tracker__item--input::after {
	background-image: url(../images/common/progress_darkgray.svg);
}

.smf-progress-tracker__item__number {
	position: relative;
	height: 0;
	color: transparent;
	border-radius: 0;
	background-color: transparent;
}

.smf-progress-tracker__item__number,
.smf-progress-tracker__item__number::before {
	height: 1rem;
}

.smf-progress-tracker__item__number::before {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 1rem;
	margin: auto;
	color: #777;
	font-family: 'DotGothic16', sans-serif;
	font-weight: 400;
	font-size: 1rem;
	font-style: normal;
	letter-spacing: 0.05em;
	counter-increment: number;
	content: counter(number, decimal-leading-zero);
}

[data-screen='input']
	.smf-progress-tracker__item--input
	.smf-progress-tracker__item__number,
[data-screen='invalid']
	.smf-progress-tracker__item--input
	.smf-progress-tracker__item__number,
[data-screen='back']
	.smf-progress-tracker__item--input
	.smf-progress-tracker__item__number,
[data-screen='confirm']
	.smf-progress-tracker__item--confirm
	.smf-progress-tracker__item__number,
[data-screen='complete']
	.smf-progress-tracker__item--complete
	.smf-progress-tracker__item__number {
	background-color: transparent;
}

[data-screen='input']
	.smf-progress-tracker__item--input
	.smf-progress-tracker__item__number::before,
[data-screen='invalid']
	.smf-progress-tracker__item--input
	.smf-progress-tracker__item__number::before,
[data-screen='back']
	.smf-progress-tracker__item--input
	.smf-progress-tracker__item__number::before,
[data-screen='confirm']
	.smf-progress-tracker__item--confirm
	.smf-progress-tracker__item__number::before,
[data-screen='complete']
	.smf-progress-tracker__item--complete
	.smf-progress-tracker__item__number::before {
	color: var(--green_color);
}

.smf-progress-tracker__item__text {
	margin-top: 0;
	width: 3.8rem;
	color: #777;
	font-size: 0;
}

[data-screen='input']
	.smf-progress-tracker__item--input
	.smf-progress-tracker__item__text,
[data-screen='invalid']
	.smf-progress-tracker__item--input
	.smf-progress-tracker__item__text,
[data-screen='back']
	.smf-progress-tracker__item--input
	.smf-progress-tracker__item__text,
[data-screen='confirm']
	.smf-progress-tracker__item--confirm
	.smf-progress-tracker__item__text,
[data-screen='complete']
	.smf-progress-tracker__item--complete
	.smf-progress-tracker__item__text {
	color: #fff;
}

.smf-progress-tracker__item__text::before {
	font-size: 1.5rem;
}

.smf-progress-tracker__item:first-child
	.smf-progress-tracker__item__text::before {
	content: '入力';
}

.smf-progress-tracker__item:nth-child(2)
	.smf-progress-tracker__item__text::before {
	content: '確認';
}

.smf-progress-tracker__item:last-child
	.smf-progress-tracker__item__text::before {
	content: '送信';
}

.smf-progress-tracker__item::before,
.smf-progress-tracker__item::after {
	content: none;
}

.contact_table,
.contact_table p {
	font-size: 1.0667rem;
}

.contact_table .smf-item {
	display: flex;
	align-items: center;
	column-gap: 4rem;
	padding-top: 0;
	padding-bottom: 0;
}

.contact_table .smf-item + .smf-item {
	margin-top: 2rem;
	padding-top: 2.667rem;
	border-top: solid 1px #d5d5d5;
}

.contact_table .smf-item__col--label {
	min-width: 15.334rem;
	padding-right: 0;
	font-weight: 700;
	text-align: left;
}

.contact_table .smf-item__label {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	column-gap: 10px;
	position: relative;
	font-weight: 500;
}

.txt_small > span,
.contact_table .smf-item__label__text mark {
	padding: 2px 5px;
	font-family: 'DotGothic16', sans-serif;
	font-weight: 400;
	font-size: 0.9334rem;
	white-space: nowrap;
	border-radius: 2px;
	background-color: var(--green_color);
}

.txt_small > span {
	margin-right: 0.3rem;
}

.contact_table .smf-item__label__text mark {
	margin-left: 0.4rem;
}

.contact_table .smf-item__col--controls {
	width: calc(100% - 4rem);
}

.smf-select-control {
	width: 100%;
}

.smf-form .smf-item .smf-select-control__control,
.smf-form .smf-item .smf-text-control__control,
.smf-form .smf-item .smf-textarea-control__control {
	width: 100%;
	height: 100%;
	padding: 1.334rem;
	border-radius: 2px;
	border: none;
}

.smf-form .smf-item .smf-select-control__toggle {
	background-color: #f2f2f2;
}

.smf-form .smf-item .smf-select-control__toggle::before {
	position: absolute;
	top: 0;
	right: 1.95rem;
	bottom: 0;
	z-index: 1;
	transform: none;
	width: 1.136rem;
	height: 1.49rem;
	margin: auto;
	border: none;
	background-image: url(../images/common/icon_down_arrow_red.svg);
	background-position: center;
	background-size: contain;
	content: '';
}

.smf-form .smf-item .smf-text-control__control,
.smf-form .smf-item .smf-textarea-control__control {
	box-shadow: none;
	background-color: #f4f4f4;
}

.smf-form
	.smf-radio-buttons-control--horizontal
	.smf-radio-buttons-control__control
	> .smf-label {
	margin-right: 1.334rem;
}

.smf-radio-control {
	display: flex;
	gap: 1.334rem;
}

.smf-form .smf-radio-button-control {
	align-items: center;
}

.smf-form .smf-radio-button-control__control {
	display: none;
}

.smf-radio-button-control__label {
	position: relative;
	padding-left: 1.9rem;
}

.smf-radio-button-control__label::before {
	content: '';
	display: inline-block;
	position: absolute;
	top: -0.1rem;
	left: 0;
	width: 1em;
	height: 1em;
	background-color: var(--white_color);
	border-radius: 100%;
	border: 1px solid var(--black_color);
	vertical-align: top;
	cursor: pointer;
	text-align: center;
	transition: all 250ms ease;
}

.smf-form
	.smf-radio-button-control__control:checked
	+ .smf-radio-button-control__label::before {
	background-color: var(--black_color);
	box-shadow: inset 0 0 0 2px #fff;
}

::placeholder {
	font-weight: 400;
	color: #a6a6a6;
}

/*div[data-name='郵便番号'] {
	display: flex;
	align-items: center;
}

div[data-name='郵便番号']::before {
	content: '〒';
	margin-right: 1rem;
	color: #0b0000;
}

div[data-name='郵便番号'] .smf-text-control__control {
	width: 15.6rem !important;
}*/

.smf-form .smf-item .smf-textarea-control__control {
	line-height: 1.5;
}

.pp_txt_area {
	margin-top: 0 !important;
	margin-bottom: 3rem;
	padding: 3rem 2.1rem 2.8rem;
	height: 26.6rem;
	background-color: #f4f4f4;
	overflow: scroll;
}

.pp_txt_area .smf-item__col--controls {
	width: 100%;
	height: 100%;
}

.smf-form--simple-table .smf-item--divider .smf-item__col {
	height: 100%;
	padding-top: 3rem;
}

.pp_txt_area h2,
.pp_txt_area h3 {
	font-weight: 500;
	font-size: 1.0667rem;
	line-height: 1.5;
}

.pp_txt_area h2 {
	display: inline-block;
	margin-bottom: 0.8rem;
}

.pp_txt_area h3 {
	margin-bottom: 8px;
}

.pp_txt_area p {
	font-weight: 400;
	font-size: 1rem;
	line-height: 1.8;
}

.pp_txt_area p + h2 {
	margin-top: 1.6rem;
}

.pp_txt_area p + h3,
.pp_txt_area ul + h3 {
	margin-top: 1rem;
}

.pp_txt_area p + ul {
	margin-top: 8px;
}

.pp_txt_area ul > li {
	padding-left: 1rem;
	font-weight: 400;
	font-size: 1rem;
	line-height: 1.8;
	text-indent: -1rem;
}

.pp_txt_area ul > li::before {
	content: '●';
}

.smf-form .smf-item .smf-checkboxes-control__control > .smf-label {
	display: flex;
	align-items: center;
}

.pp_checkbox .smf-item__col {
	padding-top: 0 !important;
}

.smf-form .smf-item .smf-checkbox-control {
	position: relative;
	display: flex;
	align-items: center;
	padding-left: 2.4667rem;
}

.smf-form .smf-item .smf-checkbox-control__control {
	display: none;
}

.smf-checkbox-control__label::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin-top: auto;
	margin-bottom: auto;
	width: 1.1334rem;
	height: 1.143rem;
	background: #fff;
	border: 2px solid #222;
	border-radius: 3px;
}

.smf-checkbox-control__label::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	bottom: 2px;
	left: 5.5px;
	margin: auto 0;
	width: 5px;
	height: 9px;
	border-right: 2px solid var(--black_color);
	border-bottom: 2px solid var(--black_color);
	transform: rotate(45deg);
	opacity: 0;
	z-index: 4;
}

.smf-form
	.smf-item
	.smf-checkbox-control__control:checked
	+ .smf-checkbox-control__label::after {
	opacity: 1;
}

.smf-placeholder[data-name='プライバシーポリシー'] {
	text-align: center;
}

.smf-action {
	display: flex;
	flex-direction: column-reverse;
	justify-content: center;
	align-items: center;
}

.smf-form--simple-table + .smf-action {
	margin-top: 3.6rem;
}

.submit_btn.more_btn {
	margin-right: auto;
	margin-left: auto;
}

button[data-action='confirm'],
button[data-action='complete'] {
	position: relative;
	display: block;
	padding-left: 3.2rem !important;
	width: 27.0667rem;
	height: 5.667rem;
	font-family: 'DotGothic16', sans-serif;
	font-weight: 400;
	font-size: 1.667rem;
	color: #fff !important;
	letter-spacing: 0.05em;
	text-align: center;
	background-color: var(--black_color) !important;
	border: solid 2px #c3c3c3 !important;
	border-radius: 5px !important;
	background-image: none !important;
	box-shadow: 6px 6px 0px #c3c3c3;
	transition: 0.4s !important;
}

button[data-action='confirm']:hover,
button[data-action='complete']:hover {
	background-color: #2dae5d !important;
	transform: translate(4px, 4px) !important;
	box-shadow: none;
	transition: 0.4s;
}

button[data-action='confirm']::before,
button[data-action='complete']::before {
	content: '';
	position: absolute;
	top: 3px;
	left: 6.2667rem;
	bottom: 0;
	margin: auto;
	width: 1.1334rem;
	height: 1.667rem;
	background-image: url(../images/common/triangle_luminous.svg);
	background-position: center;
	background-size: contain;
	transition: 0.4s;
}

button[data-action='back'] {
	margin-top: 1.8rem;
	padding-right: 0 !important;
	padding-bottom: 4px !important;
	padding-left: 0 !important;
	border-top: solid 1px transparent !important;
	border-right: solid 1px transparent !important;
	border-bottom: solid 2px var(--black_color) !important;
	border-left: solid 1px transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	color: var(--black_color) !important;
	font-size: 1.1334rem;
	text-align: center;
	transition: 0.4s;
}

button[data-action='back']:hover {
	opacity: 0.7;
}

.entry .entry_area {
	height: 32rem;
}

/* ============
	responsive
================ */
@media screen and (max-width: 1140px) {
	.smf-radio-buttons-control__control {
		display: flex;
		flex-wrap: wrap;
		row-gap: 1.334rem;
	}
}

@media screen and (max-width: 1024px) {
	.entry_txt {
		padding: 2.2rem 1.4667rem 1.8rem;
	}

	.form_area {
		padding-top: 4.8rem;
	}

	.smf-progress-tracker {
		margin-bottom: 4.2667rem;
	}

	.smf-progress-tracker__item {
		height: 3.334rem;
	}

	.smf-progress-tracker__item:not(:last-child):after {
		width: 7px;
		height: 3.334rem;
	}

	.smf-progress-tracker__item:not(:last-child):after {
		background-image: url(../images/common/progress_gray_sp.svg);
	}

	[data-screen='input']
		.smf-progress-tracker__item.smf-progress-tracker__item--input:not(
			:last-child
		):after,
	[data-screen='invalid']
		.smf-progress-tracker__item.smf-progress-tracker__item--input:not(
			:last-child
		):after,
	[data-screen='back']
		.smf-progress-tracker__item.smf-progress-tracker__item--input:not(
			:last-child
		):after,
	[data-screen='confirm']
		.smf-progress-tracker__item.smf-progress-tracker__item--confirm:not(
			:last-child
		):after {
		background-image: url(../images/common/progress_black_sp.svg);
	}

	[data-screen='complete']
		.smf-progress-tracker__item.smf-progress-tracker__item--input::after {
		background-image: url(../images/common/progress_sp_darkgray.svg);
	}

	.smf-progress-tracker__item__number::before {
		font-size: 0.667rem;
	}

	.smf-progress-tracker__item__number,
	.smf-progress-tracker__item__number::before {
		top: 1px;
		width: 0.7334rem;
		height: 0.7334rem;
	}

	.smf-progress-tracker__item__text {
		width: 2.8rem;
	}

	.smf-progress-tracker__item__text::before {
		font-size: 1rem;
	}

	.contact_table .smf-item + .smf-item {
		margin-top: 2.5334rem;
		padding-top: 2.1334rem;
	}

	.smf-form--simple-table + .smf-action {
		margin-top: 4rem;
	}
}

@media screen and (max-width: 840px) {
	.form_cont {
		flex-direction: column;
		row-gap: 6rem;
	}

	.form_ttl_wrap,
	.contact_table {
		width: 100%;
	}
}

@media screen and (max-width: 768px) {
	.contact_table .smf-item__col--label {
		min-width: 15rem;
		padding-right: 0;
	}

	.contact_table .smf-item {
		gap: 1.0667rem;
	}

	.smf-form .smf-item .smf-text-control__control,
	.smf-form .smf-item .smf-textarea-control__control {
		width: 100%;
	}

	.pp_txt_area {
		margin-bottom: 1.6rem !important;
	}

	.pp_txt_area .smf-item__col--controls {
		padding: 1.25rem !important;
	}

	.pp_txt_area p {
		padding-bottom: 1rem;
		padding-left: 0;
		padding-right: 0;
	}

	.pp_checkbox {
		margin-bottom: 3.077rem;
	}

	button[data-action='confirm'],
	button[data-action='complete'] {
		padding-left: 2.1334rem;
		width: 20.8rem;
		height: 5.1334rem;
		font-size: 1.2667rem;
		box-shadow: 2px 2px 0px #c3c3c3;
	}

	button[data-action='confirm']::before,
	button[data-action='complete']::before {
		left: 4.8667rem;
	}

	.entry .entry_area {
		height: 20rem;
	}
}

@media screen and (max-width: 639px) {
	.contact_table .smf-item {
		flex-direction: column;
		align-items: flex-start;
	}

	.contact_table .smf-item__col--label {
		position: static;
		max-width: none;
	}

	.smf-item__label__text {
		position: relative;
	}

	.contact_table .smf-item__label__text mark {
		right: auto;
		left: calc(100% + 2rem);
	}

	.contact_table .smf-item__col--label,
	.contact_table .smf-item__col--controls {
		width: 100%;
	}

	.smf-radio-buttons-control__control {
		flex-direction: column;
	}

	.smf-form--simple-table .smf-item__col--label {
		padding-bottom: 0;
	}
}

@media screen and (max-width: 480px) {
	.smf-form .smf-item .smf-checkbox-control__control {
		margin-right: 1.5rem;
	}

	.pp_checkbox .smf-checkbox-control__label {
		font-size: 1.4rem;
	}

	.smf-button-control {
		width: 100%;
	}

	button[data-action='confirm'],
	button[data-action='complete'] {
		display: block;
		width: 100%;
	}
}

/* ===========================================
	thanks
============================================== */
.thanks_ttl,
.thanks_txt {
	margin-left: auto;
	margin-right: auto;
	max-width: 51rem;
	width: 100%;
}

.thanks_ttl {
	margin-top: 3.2rem;
	margin-bottom: 2.665rem;
	font-weight: 600;
	font-size: 2.2rem;
	color: var(--red_color);
	line-height: 1.5;
	letter-spacing: 0.05em;
}

.thanks_txt {
	margin-bottom: 3.2rem;
	font-weight: 400;
	font-size: 1.0667rem;
	line-height: 2;
}

.thanks_txt .cont_txt {
	margin-bottom: 0;
}

.thanks_txt .cont_txt + .cont_txt {
	margin-top: 1.5rem;
}

.submit_btn.more_btn {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 27.0667rem;
	height: 5.667rem;
	margin-left: auto;
	margin-right: auto;
	padding-right: 1rem;
	background-color: var(--red_color);
	color: var(--black_color);
	font-weight: 500;
	font-size: 1.2667rem;
	transition: 0.4s;
}

.submit_btn.more_btn:hover {
	background-color: #2dae5d !important;
	transform: translate(4px, 4px) !important;
	box-shadow: none;
	transition: 0.4s;
}

/* ============
	responsive
================ */
@media screen and (max-width: 1024px) {
	.thanks_ttl {
		margin-top: 2.1334rem;
		margin-bottom: 1.6rem;
		font-size: 1.5334rem;
	}

	.thanks_txt {
		margin-bottom: 3.2rem;
		line-height: 1.9;
	}
}
