:root {
	--yellow: #fff2a8;
	--yellow-light: #fffbe5;
	--orange: #ff6743;
	--orange-light: #ff8b44;
	--white: #ffffff;
	--gray: #cccccc;
	--gray-light: #eeeeee;
	--black: #444444;
	--shadow: rgb(0 0 0 / 0.1);
	--shadow-orange: rgb(179 112 0 / 0.4);
	--font-jp: "Noto Sans", sans-serif;
	--font-en: "Poppins", sans-serif;
	--font-copy: "Zen Maru Gothic", sans-serif;
}

abbr, address, article, aside, audio, b, blockquote, body, canvas, caption, cite, code, dd, del, details, dfn, div, dl, dt, em, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, p, pre, q, samp, section, small, span, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, ul, var, video {
	margin: 0;
	padding: 0;
	outline: inherit;
	font-size: inherit;
	line-height: inherit;
}

html {
	font-size: 16px;
	font-family: var(--font-jp);
	color: var(---black);
	scroll-behavior: smooth;
}

body {
	font-family: var(--font-sansserif);
	-webkit-font-smoothing: antialiased;
	line-height: 1.75;
	min-width: auto !important;
}
ol, ul {
	list-style: none;
}

em {
	font-style: normal;
}
strong {
	font-weight: normal;
}

img {
	width: 100%;
	display: block;
}

.only_pc_inline {
	display: none;
}

.icon-frower {
	display: inline-block;
	width: 28px;
	height: 28px;
	margin-right: 4px;
}
.icon-next_circle {
	display: inline-block;
	width: 24px;
	height: 24px;
}
.icon-external {
	display: inline-block;
	width: 14px;
	height: 14px;
}
.icon-phone {
	display: inline-block;
	width: 36px;
	height: 36px;
}

.header {
	background-image: url("../img/header-image_sp.jpg");
	background-size: 100%;
	background-position: bottom;
	background-repeat: no-repeat;
	height: calc(100vw / 375 * 441);
	.header-extra {
		position: absolute;
		z-index: 2;
		display: grid;
		gap: 16px;
		height: 76px;
		width: 100%;
		box-sizing: border-box;
		padding: 12px;
		background-color: var(--white);
		box-shadow: 0 4px 4px 0 var(--shadow);
		p {
			text-align: center;
			font-size: 12px;
		}
	}
	.header-title {
		display: flex;
		gap: 8px;
		align-items: center;
		justify-content: center;
	}
	.header-title1 {
		width: 72px;
	}
	.header-title2 {
		width: 96px;
	}
	.header-title3 {
		width: 132px;
	}
	.header-main {
		z-index: 1;
		height: calc(100vw / 375 * 441);
	}
	.header-text {
		overflow: hidden;
		position: relative;
		height: calc(100vw / 375 * 441);
		&::after {
			content: "";
			position: absolute;
			bottom: calc(100vw / 375 * 206);
			right: -50%;
			left: -50%;
			margin: auto;
			background-color: var(--white);
			width: calc(100vw / 375 * 475);
			height: calc(100vw / 375 * 475);
			border-radius: 51%;
		}
	}
	.header-maintitle {
		position: relative;
		z-index: 2;
		top: 76px;
		width: calc(100vw / 375 * 240);
		display: block;
		margin: auto;
	}
}
.intro {
	position: relative;
	padding: 40px 0 146px;
	background-color: var(--yellow);
	font-family: var(--font-copy);
	&::before {
		position: absolute;
		bottom: -40px;
		right: 0;
		left: 0;
		margin: auto;
		display: block;
		content: "";
		width: 0;
		height: 0;
		border-width: 20px 45px;
		border-color: var(--yellow) transparent transparent transparent;
		border-style: solid;
	}

	.intro-title {
		font-size: 12px;
		text-align: center;
		strong {
			font-size: 20px;
			display: block;
			margin-top: 4px;
		}
		em {
			color: var(--orange);
			position: relative;
			z-index: 1;
			&::after {
				content: "";
				position: absolute;
				z-index: -1;
				bottom: 0;
				left: 0;
				right: 0;
				margin: auto;
				display: block;
				height: 8px;
				background-color: var(--white);
			}
		}
	}
	.intro-list {
		position: relative;
		background-image: url("../img/intro-list-bg.svg");
		background-size: 100%;
		background-repeat: no-repeat;
		width: 375px;
		margin: 24px auto 0;
		padding: 50px 0;
		box-sizing: border-box;
		font-size: 16px;
		display: grid;
		gap: 12px;
		place-items: center;
		&::after {
			position: absolute;
			bottom: -107px;
			left: 130px;
			margin: auto;
			display: block;
			content: "";
			width: 140px;
			height: 145px;
			background-image: url("../img/intro-image.svg");
			background-size: 100%;
			background-position: center;
			background-repeat: no-repeat;
		}
		li {
			width: calc(100% - 40px);
			font-size: 15px;
			display: flex;
			align-items: center;
			&::before {
				display: inline-block;
				content: "";
				width: 20px;
				height: 20px;
				margin-right: 4px;
				background-image: url("../img/icon-check.svg");
				background-size: 18px;
				background-position: center;
				background-repeat: no-repeat;
			}
		}
	}
}
.solution {
	padding: 60px 22px 40px;
	display: grid;
	gap: 36px;
	.solution-title {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 12px;
		text-align: center;
		font-size: 14px;
		font-family: var(--font-copy);
		em {
			color: var(--orange);
		}
	}
	.solution-title1 {
		width: 88px;
	}
	.solution-title2 {
		width: 210px;
	}
	.solution-title3 {
		width: 320px;
	}
	.solution-about {
		margin: 0 auto;
	}
	.solution-abouttext {
		display: grid;
		gap: 16px;
		p {
			font-size: 14px;
			line-height: 1.6;
		}
		strong {
			font-size: 16px;
			font-weight: bold;
			strong {
				font-size: 32px;
				line-height: 1.5;
			}
		}
		em {
			color: var(--orange);
		}
	}
	.solution-abouttitle {
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 20px;
	}
	.solution-aboutlink {
		margin: 8px auto 0;
		padding: 16px 20px;
		display: grid;
		grid-template-columns: 1fr 24px;
		text-align: center;
		justify-content: space-between;
		width: 213px;
		font-size: 16px;
		border-radius: 30px;
		text-decoration: none;
		box-sizing: border-box;
		color: var(--white);
		background-color: var(--orange-light);
	}
}
.service {
	.service-intro {
		background-color: var(--orange);
		padding: 32px 20px;
		border-radius: 20px 20px 0 0;
		display: grid;
		gap: 24px;
		
	}
	.service-title {
		font-size: 32px;
		font-family: var(--font-copy);
		color: var(--yellow);
		text-align: center;
	}
	.service-navlist {
		display: flex;
		flex-direction: column;
		gap: 16px;
		max-width: 640px;
		margin: 0 auto;
		width: 100%;
	}
	.service-navlink {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 12px 24px;
		border-radius: 16px;
		background-color: var(--white);
		font-size: 20px;
		font-family: var(--font-copy);
		color: var(--black);
		text-align: center;
		text-decoration: none;
		&::after {
			content: "";
			width: 32px;
			height: 32px;
			background-image: url("../img/icon-under.svg");
			background-position: center;
			background-size: 32px;
		}
	}
	.service-number {
		width: 80px;
	}
	.service-main {
		display: grid;
		gap: 40px;
		padding: 40px 20px;
		background-image: url("../img/service-background.svg");
		background-size: 24px;
		background-position: center;
	}
	.service01 {
		display: grid;
		gap: 40px;
		place-items: center;
		.service-mainimage {
			width: 229px;
		}
	}
	.service-maintitle {
		display: flex;
		flex-direction: column;
		font-family: var(--font-copy);
		align-items: center;
		text-align: center;
		em {
			color: var(--orange);
			position: relative;
			z-index: 1;
			font-size: 24px;
			&::after {
				content: "";
				position: absolute;
				z-index: -1;
				bottom: 0;
				left: 0;
				right: 0;
				margin: auto;
				display: block;
				height: 8px;
				background-color: var(--yellow);
			}
		}
	}
	.service-mainnumber {
		display: inline-block;
		width: 108px;
		margin-bottom: 24px;
	}
	.service01-merit {
		display: grid;
		gap: 24px;
	}
	.service01-childtitle {
		display: flex;
		flex-direction: column;
		align-items: center;
		text-align: center;
		font-size: 24px;
		gap: 16px;
		font-family: var(--font-copy);
		span {
			font-size: 14px;
			text-transform: uppercase;
			font-family: var(--font-en);
			color: var(--orange);
		}
	}
	.service01-meritlist {
		display: grid;
		gap: 24px;
		max-width: 640px;
	}
	.service01-meritlistitem {
		border-radius: 16px;
		border: 1px solid var(--orange);
		overflow: hidden;
	}
	.service01-meritlabel {
		background-color: var(--orange);
		color: var(--white);
		text-align: center;
		font-size: 20px;
		font-family: var(--font-copy);
		padding: 16px;
	}
	.service01-meritdesc {
		padding: 24px;
		background-color: var(--white);
		font-size: 14px;
	}
	.service01-flowlist {
		margin-top: 56px;
		display: grid;
		row-gap: 32px;
		counter-reset: flowlist;
		max-width: 640px;
	}
	.service01-flowlistitem {
		display: flex;
		flex-wrap: wrap;
		gap: 24px;
		padding: 32px 24px;
		border-radius: 10px;
		border: 1px solid var(--gray);
		background-color: var(--white);
		counter-increment: flowlist;
		position: relative;
		&::before {
			position: absolute;
			margin: auto;
			right: 0;
			left: 0;
			top: -18px;
			content: counter(flowlist);
			color: var(--white);
			background-color: var(--orange);
			width: 40px;
			height: 40px;
			display: grid;
			place-items: center;
			border-radius: 21px;
		}
	}
	.service01-flowlistcontents {
		display: grid;
		grid-template-columns: 100px 1fr;
		gap: 24px;
	}
	.service01-flowlistimage {
		width: 100px;
	}
	.service01-flowmlabel {
		font-family: var(--font-copy);
		margin-bottom: 8px;
	}
	.service01-flowdesc {
		font-size: 14px;
	}
	.service01-flowlink {
		margin: 8px auto 0;
		padding: 16px 20px;
		display: grid;
		grid-template-columns: 1fr 24px;
		text-align: center;
		justify-content: space-between;
		width: 100%;
		font-size: 14px;
		border-radius: 30px;
		text-decoration: none;
		box-sizing: border-box;
		color: var(--white);
		background-color: var(--orange-light);
	}
	.service02 {
		display: grid;
		gap: 40px;
		place-items: center;
		.service-mainimage {
			width: 152px;
		}
	}
	.service02-desc {
		text-align: center;
		font-size: 20px;
	}
	.service02-navlist {
		display: flex;
		flex-direction: column;
		gap: 24px;
		max-width: 640px;
		margin: auto;
		width: 100%;
	}
	.service02-navlink {
		display: grid;
		align-items: center;
		grid-template-columns: 1fr 32px;
		padding: 24px;
		border-radius: 16px;
		box-sizing: border-box;
		background-color: var(--white);
		box-shadow: 0 0 10px 0 var(--shadow-orange);
		font-size: 20px;
		font-family: var(--font-copy);
		color: var(--black);
		text-align: center;
		text-decoration: none;
		height: 80px;
		&::after {
			content: "";
			width: 32px;
			height: 32px;
			background-image: url("../img/icon-under.svg");
			background-position: center;
			background-size: 32px;
		}
	}
	.service02-child {
		max-width: 640px;
	}
	.service02-childintro {
		display: grid;
		gap: 12px;
		border-radius: 16px 16px 0 0;
		background-color: var(--orange);
		padding: 20px;
	}
	.service02-childtitle {
		color: var(--white);
		font-family: var(--font-copy);
		text-align: center;
		font-size: 14px;
		strong{
			margin-top: 4px;
			display: block;
			font-size: 24px;
			color: var(--yellow);
		}
	}
	.service02-childdesc {
		background-color: var(--white);
		padding: 10px 16px;
	}
	.service02-childtext {
		display: grid;
		gap: 8px;
		p {
			font-size: 12px;
		}
		strong {
			font-weight: bold;
		}
	}
	.service02-childlabel {
		display: grid;
		grid-template-columns: 72px 1fr;
		gap: 8px;
		align-items: center;
		justify-content: space-between;
		span {
			display: block;
			background-color: var(--yellow);
			padding: 4px 6px;
			color: var(--orange);
			width: 72px;
			box-sizing: border-box;
			font-weight: bold;
			text-align: center;
		}
	}
	.service02-childimage {
		display: none;
	}
	.service02-decendant {
		display: grid;
		gap: 24px;
		background-color: var(--yellow);
		border-radius: 0 0 16px 16px;
		padding: 24px;
	}
	.service02-decendanttitle {
		display: flex;
		flex-direction: column;
		align-items: center;
		text-align: center;
		font-size: 24px;
		gap: 16px;
		font-family: var(--font-copy);
		span {
			font-size: 14px;
			text-transform: uppercase;
			font-family: var(--font-en);
			color: var(--orange);
		}
	}
	.service02-decendantlist {
		display: grid;
		gap: 12px;
		grid-template-columns: 1fr 1fr;
	}
	.service02-decendantlistitem {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 8px;
		background-color: var(--yellow-light);
		border-radius: 10px;
		padding: 16px 12px;
		font-size: 14px;
		font-weight: bold;
		line-height: 1.66;
		text-align: left;
		p {
			font-size: 12px;
			font-weight: normal;
			display: flex;
			flex-direction: column;
			gap: 8px;
			align-items: center;
			span {
				padding: 4px 12px;
				background-color: var(--orange);
				border-radius: 4px;
				color: var(--white);
			}
		}
		em {
			color: var(--orange);
		}
		small {
			font-size: 10px;
			font-weight: normal;
		}
		.icon-down {
			width: 18px;
		}
	}
	#service02-01  {
		.service02-decendantlistitem {
			justify-content: center;
		}
	}
	#service02-02  {
		.service02-decendantlistitem {
			justify-content: flex-start;
		}
	}
	.service02-decendantlistlink {
		text-decoration: none;
		display: inline-flex;
		align-items: center;
		gap: 8px;
		padding-bottom: 8px;
		border-bottom: 1px solid var(--black);
		color: var(--black);
		font-size: 14px;
		
	}
	.service02-decendantsectionlist {
		display: grid;
		gap: 24px;
		background-color: var(--white);
		padding: 24px;
		border-radius: 16px;
	}
	.service02-decendantsectionlistitem {
		display: grid;
		gap: 24px;
		&:not(:last-child) {
			padding-bottom: 24px;
			border-bottom: 1px dashed var(--gray);
		}
	}
	.service02-decendantlisttext {
		display: grid;
		gap: 16px;
		h6 {
			font-weight: bold;
			font-size: 20px;
		}
		p {
			font-size: 14px;
		}
		small {
			font-size: 12px;
			display: flex;
			gap: 8px;
			&::before {
				content: "※";
			}
		}
		dl {
			border: 1px solid var(--gray-light);
		}
		dt {
			background-color: var(--gray-light);
			font-size: 14px;
			text-align: center;
			padding: 6px;
			font-weight: bold;
		}
		dd {
			padding: 8px 16px;
			font-size: 14px;
		}
		ol {
			list-style: decimal;
			padding-left: 16px;
		}
	}
}
.aside-contentslink {
	display: grid;
	align-items: center;
	grid-template-columns: 1fr 32px;
	padding: 0 24px;
	border-radius: 16px;
	box-sizing: border-box;
	background-color: var(--white);
	font-size: 24px;
	font-weight: bold;
	color: var(--black);
	text-align: center;
	text-decoration: none;
	height: 84px;
	&::after {
		content: "";
		width: 28px;
		height: 28px;
		background-image: url("../img/icon-under.svg");
		background-position: center;
		background-size: 28px;
	}
}
.aside-contentslink-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
}
.aside-contentslink-sub {
	font-size: 13px;
	font-weight: normal;
	color: var(--black);
}
.aside {
	background-color: var(--orange);
	padding: 24px 20px;
	.aside-contents {
		display: grid;
		gap: 8px;
	}
	.aside-contentstext {
		display: grid;
		grid-template-columns: 80px 1fr;
		gap: 15px;
		align-items: center;
		font-size: 20px;
		font-weight: bold;
		color: var(--white);
		text-align: center;
	}
}
.userdata {
	padding: 40px 24px;
	display: flex;
	flex-direction: column;
	gap: 24px;
	align-items: center; 
	.userdata-text {
		display: flex;
		flex-direction: column;
		gap: 24px;
	}
	.userdata-title {
		display: flex;
		flex-direction: column;
		font-family: var(--font-copy);
		align-items: center;
		text-align: center;
		font-size: 24px;
		line-height: 1.5;
		em {
			color: var(--orange);
			position: relative;
			z-index: 1;
			&::after {
				content: "";
				position: absolute;
				z-index: -1;
				bottom: 0;
				left: 0;
				right: 0;
				margin: auto;
				display: block;
				height: 8px;
				background-color: var(--yellow);
			}
		}
	}
	.userdata-desc {
		text-align: center;
	}
	.userdata-contents {
		display: flex;
		flex-direction: column;
		row-gap: 40px;
	}
	.userdata-content {
		display: flex;
		flex-direction: column;
		row-gap: 24px;
		align-items: center;
	}
	.userdata-contentimage {
		width: 240px;
	}
	.userdata-list {
		display: flex;
		flex-direction: column;
		gap: 16px;
	}
	.userdata-legenditem {
		font-size: 14px;
		&::before {
			content: "";
			width: 12px;
			height: 12px;
			border-radius: 7px;
			display: inline-block;
			margin-right: 6px;
		}
		&:nth-child(1)::before{ background-color: #4C8BC9 }
		&:nth-child(2)::before{ background-color: #75CBCB }
		&:nth-child(3)::before{ background-color: #21AE6E }
		&:nth-child(4)::before{ background-color: #86CC40 }
		&:nth-child(5)::before{ background-color: #F5AF3A }
		&:nth-child(6)::before{ background-color: #FF8B44 }
		&:nth-child(7)::before{ background-color: #DD6565 }
		&:nth-child(8)::before{ background-color: #A475AE }
		&:last-child::before{ background-color: #cccccc}
	}
	.userdata-small {
		font-size: 12px;
		width: 100%;
		display: flex;
		gap: 6px;
		&::before {
			content: "※";
		}
	}
	.userdata-image {
		width: 272px;
	}
}
.voice {
	background-color: var(--yellow);
	padding: 40px 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	.voice-text {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 16px;
	}
	.voice-title {
		display: flex;
		flex-direction: column;
		align-items: center;
		text-align: center;
		font-size: 24px;
		gap: 16px;
		span {
			font-size: 14px;
			font-weight: normal;
			font-family: var(--font-en);
			color: var(--orange);
		}
	}
	.voice-desc {
		text-align: center;
	}
	.voice-list {
		display: grid;
		gap: 20px;
		max-width: 640px;
	}
	.voice-listitem {
		border-radius: 16px;
		border: 1px solid var(--orange);
		overflow: hidden;
	}
	.voice-listlabel {
		background-color: var(--orange);
		color: var(--white);
		text-align: center;
		font-size: 20px;
		font-family: var(--font-copy);
		padding: 16px;
		line-height: 1.5;
	}
	.voice-listdesc {
		padding: 24px;
		background-color: var(--white);
		font-size: 14px;
	}
}
.faq {
	padding: 40px 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	.faq-text {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 24px;
	}
	.faq-title {
		display: flex;
		flex-direction: column;
		align-items: center;
		text-align: center;
		font-size: 24px;
		gap: 16px;
		span {
			font-size: 14px;
			font-weight: normal;
			font-family: var(--font-en);
			color: var(--orange);
		}
	}
	.faq-desc {
		text-align: center;
	}
	.faq-list {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 16px;
		max-width: 640px;
		width: 100%;
	}
	.faq-listitem {
		width: 100%;
		box-sizing: border-box;
	}
	.faq-listtitle {
		width: 100%;
		button {
			font-weight: bold;
			font-size: 14px;
			display: flex;
			align-items: center;
			justify-content: space-between;
			border: 2px solid var(--gray);
			border-radius: 10px;
			width: 100%;
			padding: 16px;
			text-align: left;
			line-height: 1.7;
			background-color: var(--white);
			color: var(--black);
			span {
				width: 100%;
			}
			&::before {
				content: "Q";
				font-size: 20px;
				font-family: var(--font-copy);
				color: var(--orange);
				display: grid;
				place-items: center;
				margin-right: 8px;
			}
		}
	}
	.faq-listdesc {
		font-size: 14px;
		border-radius: 4px;
		background-color: var(--white);
		padding: 24px;
		margin-top: 16px;
	}
	.faq-listdesccontents {
		display: flex;
		&::before {
			content: "A";
			font-size: 20px;
			font-family: var(--font-copy);
			color: var(--orange);
			display: grid;
			place-items: center;
			margin-right: 16px;
		}
	}

	.disclosure {
		border-radius: 10px;
		transition: background-color .3s ease;
	}
	.disclosure dt button {
		cursor: pointer;
		transition: color .3s ease, background-color .3s ease, border-color .3s ease;
	}
	.disclosure dt button::after {
		display: block;
		flex-shrink: 0;
		margin-left: 24px;
		content: "";
		width: 24px;
		height: 24px;
		background-image: url("../img/icon-open_circle.svg");
		background-size: cover;
	}
	.disclosure:has(button[aria-expanded="true"]) {
		background-color: var(--orange);
		button[aria-expanded="true"] {
			color: var(--white);
			background-color: transparent;
			border-color: transparent;
			&::before {
				color: var(--white);
			}
		}
		.faq-listdesc {
			margin: 0 16px 16px;
		}
	}
	.disclosure dt button[aria-expanded="true"]::after {
		background-image: url("../img/icon-close_circle.svg");
	}
	.disclosure dd {
		overflow: hidden;
		max-height: 0;
		transition: max-height .3s ease;
	}

	/* 開いているとき */
	.disclosure dd.is-open {
		max-height: 500px; /* 中身より十分大きければOK */
	}

}
.contact {
	padding: 40px 20px 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0;
	background-color: var(--orange);
	.contact-text {
		margin-bottom: 24px;
	}
	.contact-cta {
		margin-bottom: 24px;
	}
	.aside-contents {
		max-width: 640px;
		width: 100%;
	}
	.contact-title {
		display: flex;
		flex-direction: column;
		align-items: center;
		text-align: center;
		font-size: 24px;
		color: var(--white);
		span {
			font-size: 14px;
			font-weight: normal;
			text-transform: uppercase;
			font-family: var(--font-en);
		}
	}
	.contact-cta {
		display: grid;
		border-radius: 16px;
		background-color: var(--white);
		width: 100%;
		max-width: 640px;
		padding: 24px 16px;
		box-sizing: border-box;
	}
	.contact-ctacopy {
		font-weight: bold;
		font-size: 20px;
		text-align: center;
	}
	.contact-call {
		font-size: 35px;
		font-weight: bold;
		font-family: var(--font-en);
		display: flex;
		align-items: center;
		margin: auto;
		.icon-phone {
			margin-right: 4px;
		}
	}
	.contact-link {
		margin: 16px auto 0;
		padding: 8px 20px;
		display: grid;
		grid-template-columns: 1fr 15px;
		text-align: center;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		font-size: 15px;
		font-weight: bold;
		border-radius: 6px;
		text-decoration: none;
		box-sizing: border-box;
		color: var(--orange-light);
		background-color: var(--white);
		.icon-next_circle {
			width: 15px;
			height: 15px;
		}
	}
}
/* ===== Contact Form ===== */
.contact-precaution {
	background-color: var(--white);
	width: calc(100% + 40px);
	margin-left: -20px;
	margin-right: -20px;
	padding: 24px 20px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
}
.contact-precaution > * {
	width: 100%;
	max-width: 640px;
}
.contact-precaution-title {
	font-weight: bold;
	font-size: 16px;
	text-align: center;
	margin-bottom: 12px;
}
.contact-precaution-desc {
	font-size: 12px;
	margin-bottom: 16px;
	line-height: 1.7;
	color: #666;
	text-align: center;
}
.contact-precaution-list {
	display: grid;
	gap: 12px;
	li {
		list-style: none;
	}
}
.precaution-label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	cursor: pointer;
	span {
		font-size: 13px;
		font-weight: bold;
		line-height: 1.6;
		small {
			font-weight: normal;
			font-size: 11px;
			display: block;
			color: #666;
			margin-top: 4px;
		}
	}
}
.precaution-check {
	appearance: none;
	-webkit-appearance: none;
	width: 18px;
	height: 18px;
	border: 2px solid #ccc;
	border-radius: 3px;
	background-color: var(--white);
	flex-shrink: 0;
	cursor: pointer;
}
.precaution-check:checked {
	background-color: var(--orange);
	border-color: var(--orange);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6l3 3 5-5' stroke='white' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-size: 12px;
	background-position: center;
	background-repeat: no-repeat;
}

/* フォームのロック状態（確認チェック未完了時） */
.contact-form.is-locked {
	opacity: 0.4;
	pointer-events: none;
	user-select: none;
}

.contact-form-area {
	background-color: #fff2a8;
	width: calc(100% + 40px);
	margin-left: -20px;
	margin-right: -20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 40px 20px;
	gap: 24px;
	box-sizing: border-box;
}

.contact-form {
	background-color: var(--white);
	border-radius: 8px;
	overflow: hidden;
	max-width: 640px;
	width: 100%;
	box-sizing: border-box;
}


.cf-section-title {
	background-color: #f5f5f5;
	color: var(--black);
	font-weight: bold;
	font-size: 14px;
	padding: 10px 16px;
	border-left: 4px solid var(--orange);
	border-bottom: 1px solid #e0e0e0;
}

.cf-group {
	border-bottom: 1px solid #e8e8e8;
}

.cf-label {
	background-color: transparent;
	padding: 12px 16px;
	font-size: 13px;
	font-weight: bold;
	display: flex;
	align-items: center;
	gap: 8px;
	border-bottom: none;
}

.cf-badge {
	display: inline-block;
	font-size: 10px;
	font-weight: bold;
	padding: 2px 6px;
	border-radius: 3px;
	flex-shrink: 0;
}
.cf-badge--req {
	background-color: var(--orange);
	color: var(--white);
}
.cf-badge--opt {
	background-color: #bbb;
	color: var(--white);
}

.cf-field {
	padding: 8px 16px 14px;
	display: grid;
	gap: 6px;
}

.cf-input,
.cf-select,
.cf-textarea {
	width: 100%;
	box-sizing: border-box;
	border: none;
	border-radius: 4px;
	padding: 10px 12px;
	font-size: 14px;
	font-family: var(--font-jp);
	background-color: #f0f0f0;
	color: var(--black);
	line-height: 1.5;
}
.cf-input:focus,
.cf-select:focus,
.cf-textarea:focus {
	outline: 2px solid var(--orange-light);
	background-color: #fff5f0;
}
.cf-input.is-error,
.cf-select.is-error,
.cf-textarea.is-error {
	outline: 2px solid #d32f2f;
	background-color: #fff8f8;
}

.cf-select {
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	padding-right: 34px;
	cursor: pointer;
}

.cf-textarea {
	resize: vertical;
	min-height: 110px;
}

.cf-input--mb {
	margin-bottom: 4px;
}

.cf-sublabel {
	font-size: 12px;
	color: var(--black);
	margin-top: 4px;
}

.cf-hint {
	font-size: 11px;
	color: #888;
	line-height: 1.6;
	a {
		color: var(--orange);
	}
}

.cf-error {
	font-size: 12px;
	color: #d32f2f;
	font-weight: bold;
}

#err-privacyAgree {
	text-align: center;
}

.cf-radios {
	display: grid;
	gap: 10px;
}
.cf-radio {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	cursor: pointer;
	input[type="radio"] {
		accent-color: var(--orange);
		width: 17px;
		height: 17px;
		cursor: pointer;
		flex-shrink: 0;
	}
}

.cf-checkboxes {
	display: grid;
	gap: 10px;
}
.cf-checkbox {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	cursor: pointer;
	input[type="checkbox"] {
		appearance: none;
		-webkit-appearance: none;
		width: 18px;
		height: 18px;
		border: 2px solid #ccc;
		border-radius: 3px;
		background-color: var(--white);
		flex-shrink: 0;
		cursor: pointer;
		&:checked {
			background-color: var(--orange);
			border-color: var(--orange);
			background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6l3 3 5-5' stroke='white' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
			background-size: 12px;
			background-position: center;
			background-repeat: no-repeat;
		}
	}
}

/* 求人情報セクション */
.cf-job-section {
	border-top: 3px solid var(--orange);
	background-color: #fff9f5;
}
.cf-job-section.is-locked {
	opacity: 0.4;
	pointer-events: none;
	user-select: none;
}
.cf-job-note {
	font-size: 12px;
	color: var(--orange);
	font-weight: bold;
	padding: 8px 16px 0;
}

/* 求人概要セクション */
.cf-kyujin-section {
	background-color: #fff9f5;
}
.cf-kyujin-section.is-locked {
	opacity: 0.4;
	pointer-events: none;
	user-select: none;
}
.cf-kyujin-note {
	font-size: 11px;
	color: #555;
	line-height: 1.6;
	margin-top: 4px;
}
.cf-kyujin-schedule {
	padding: 16px 16px 8px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.cf-kyujin-schedule-note--orange {
	font-size: 13px;
	font-weight: bold;
	color: var(--orange);
}
.cf-kyujin-schedule-note--black {
	font-size: 13px;
	color: var(--black);
}
.cf-kyujin-schedule-note--red {
	font-size: 12px;
	color: #d32f2f;
}

/* 希望日 分割入力 */
.cf-date-input {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
}
.cf-date-year {
	width: 80px;
}
.cf-date-md {
	width: 56px;
}
.cf-date-sep {
	font-size: 14px;
	color: var(--black);
	flex-shrink: 0;
}
/* number型のスピナーを非表示 */
.cf-date-year::-webkit-inner-spin-button,
.cf-date-year::-webkit-outer-spin-button,
.cf-date-md::-webkit-inner-spin-button,
.cf-date-md::-webkit-outer-spin-button {
	appearance: none;
}
.cf-date-year,
.cf-date-md {
	-moz-appearance: textfield;
}

/* 個人情報 */
.cf-privacy {
	background-color: var(--white);
	padding: 20px 16px;
	display: grid;
	gap: 14px;
	margin-top: 0;
	border-top: 1px solid #e8e8e8;
}
.cf-privacy-title {
	font-size: 14px;
	font-weight: bold;
	text-align: center;
	color: var(--orange);
}
.cf-privacy-content {
	font-size: 12px;
	line-height: 1.7;
	max-height: 140px;
	overflow-y: auto;
	background-color: var(--white);
	padding: 12px;
	border-radius: 4px;
	border: 1px solid #ddd;
	display: grid;
	gap: 8px;
}
.cf-privacy-agree {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: bold;
	cursor: pointer;
	justify-content: center;
	background-color: rgba(255, 242, 168, 0.5);
	padding: 16px;
	border-radius: 4px;
	width: fit-content;
	margin: 0 auto;
	input[type="checkbox"] {
		appearance: none;
		-webkit-appearance: none;
		width: 18px;
		height: 18px;
		border: 2px solid #ccc;
		border-radius: 3px;
		background-color: var(--white);
		flex-shrink: 0;
		cursor: pointer;
		&:checked {
			background-color: var(--orange);
			border-color: var(--orange);
			background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6l3 3 5-5' stroke='white' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
			background-size: 12px;
			background-position: center;
			background-repeat: no-repeat;
		}
	}
}

/* 送信ボタン */
.cf-actions {
	padding: 24px 16px 24px;
	display: grid;
	place-items: center;
}
.cf-submit {
	background-color: var(--orange);
	color: var(--white);
	border: none;
	border-radius: 40px;
	padding: 16px 40px;
	font-size: 17px;
	font-weight: bold;
	font-family: var(--font-jp);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	max-width: 380px;
	transition: opacity 0.2s;
}
.cf-submit::after {
	content: "";
	display: inline-block;
	width: 22px;
	height: 22px;
	background-color: rgba(255,255,255,0.3);
	border-radius: 50%;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M3 2l4 3-4 3' stroke='white' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	flex-shrink: 0;
}
.cf-submit:hover {
	opacity: 0.85;
}
.cf-submit:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

/* 送信完了メッセージ */
.contact-success {
	padding: 32px 24px;
	text-align: center;
	gap: 16px;
	background-color: #f5f5f5;
	border-radius: 12px;
	margin: 20px 16px;
}
.contact-success:not([hidden]) {
	display: grid;
}
.contact-success-title {
	font-size: 20px;
	font-weight: bold;
	font-family: var(--font-jp);
	color: var(--orange);
}
.contact-success-body {
	font-size: 14px;
	line-height: 1.9;
}

.contact-tel-note {
	text-align: center;
	font-size: 12px;
	color: #888;
	line-height: 1.8;
}
.contact-tel-note-number {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-weight: bold;
}

/* ===== End Contact Form ===== */
.footer {
	background-color: var(--black);
	padding: 24px;
	.footer-link {
		text-decoration: none;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 12px;
		color: var(--white);
		text-align: center;
		.icon-external {
			margin-left: 8px;
		}
	}
}

@media (min-width:768px) {
	.header {
		background-image: url("../img/header-image_pc.jpg");
		height: calc(100vw / 1440 * 545);
		.header-main {
			height: calc(100vw / 1440 * 545);
		}
		.header-text {
			height: calc(100vw / 1440 * 545);
			padding: 0;
			&::after {
				top: 0;
				bottom: 0;
				right: -50%;
				left: -50%;
				width: calc(100vw / 1440 * 669);
				height: calc(100vw / 1440 * 669);
			}
		}
		.header-maintitle {
			top: 72px;
			width: calc(100vw / 1440 * 428);
		}
	}
	.userdata {
		.userdata-content {
			width: 600px;
			flex-direction: row;
			align-items: flex-start;
			justify-content: space-between;
		}
	}
}
@media (min-width:1080px) {
	.aside {
		padding: 40px;
		.aside-contents {
			position: relative;
			display: flex;
			flex-direction: column;
			justify-content: center;
			align-items: end;
			gap: 40px;
			max-width: 1045px;
			height: 277px;
			margin: auto;
		}
		.aside-contentstext {
			display: block;
			font-size: 32px;
			text-align: center;
			width: 820px;
		}
		.aside-contentsimage {
			width: 201px;
			display: block;
			position: absolute;
			margin: auto;
			top: 0;
			bottom: 0;
			left: 0;
		}
		.aside-contentslink {
			display: grid;
			align-items: center;
			grid-template-columns: 1fr 32px;
			padding: 0 48px;
			font-size: 40px;
			height: 120px;
			width: 820px;
			&::after {
				content: "";
				width: 40px;
				height: 40px;
				background-size: 40px;
			}
		}
	}
}
@media (min-width:1180px) {
	.only_sp_inline {
		display: none;
	}
	.only_pc_inline {
		display: inline;
	}
	.header {
		.header-extra {
			display: flex;
			gap: 16px;
			align-items: center;
			height: 72px;
			padding: 12px 30px;
			border-radius: 0 0 30px 30px;
			p {
				margin-left: auto;
				font-size: 16px;
			}
		}
		.header-title {
			display: flex;
			gap: 20px;
			align-items: center;
			justify-content: center;
			width: 440px;
		}
		.header-title1 {
			width: 94px;
		}
		.header-title2 {
			width: 126px;
		}
		.header-title3 {
			width: 178px;
		}
	}
	.intro {
		padding: 64px 0 173px;
		&::before {
			bottom: -112px;
			border-width: 56px 125px;
		}
		.intro-title {
			font-size: 24px;
			strong {
				font-size: 40px;
			}
			em {
				&::after {
					height: 16px;
				}
			}
		}
		.intro-list {
			width: 560px;
			margin: 40px auto 0;
			padding: 80px 0 110px;
			font-size: 20px;
			gap: 16px;
			&::after {
				bottom: -107px;
				left: 207px;
				width: 180px;
				height: 186px;
			}
			li {
				width: 440px;
				font-size: 20px;
				&::before {
					width: 28px;
					height: 28px;
					background-size: 24px;
				}
			}

		}
	}
	.solution {
		padding: 120px calc((1440px - 1200px) / 2);
		display: grid;
		gap: 64px;
		.solution-title {
			display: flex;
			flex-direction: row;
			flex-wrap: wrap;
			width: 800px;
			margin: 0 auto;
			justify-content: center;
			gap: 0 24px;
		}
		.solution-title0 {
			margin-bottom: 24px;
			font-size: 32px;
		}
		.solution-title1 {
			width: 184px;
		}
		.solution-title2 {
			width: 440px;
		}
		.solution-title3 {
			width: 800px;
		}
		.solution-about {
			margin: 0 auto;
		}
		.solution-abouttext {
			gap: 24px;
			text-align: center;
			p {
				font-size: 16px;
			}
			strong {
				font-size: 24px;
				strong {
					font-size: 32px;
				}
			}
		}
		.solution-abouttitle {
			justify-content: center;
			font-size: 24px;
		}
		.solution-aboutlink {
			margin-top: 16px;
			margin-left: 0;
		}
	}
	.service {
		.service-intro {
			padding: 40px 20px;
			border-radius: 40px 40px 0 0;
			gap: 40px;
		}
		.service-title {
			font-size: 56px;
		}
		.service-navlist {
			display: grid;
			grid-template-columns: 1fr 1fr;
			gap: 24px;
			max-width: 1200px;
		}
		.service-navlink {
			height: 104px;
			box-sizing: border-box;
			font-size: 24px;
		}
		.service-number {
			width: 80px;
		}
		.service-main {
			gap: 120px;
			padding: 120px 20px;
			background-size: 24px;
		}
		.service01 {
			gap: 64px;
		}
		.service01-flow {
			width: 100%;
		}
		.service01-flowlist {
			display: flex;
			justify-content: space-between;
			width: 100%;
			min-width: 1040px;
			max-width: 1200px;
			margin: 56px auto 0;
		}
		.service01-flowlistitem {
			flex-direction: column;
			align-items: center;
			width: 250px;
			box-sizing: border-box;
			gap: 24px;
			padding: 64px 24px;
			position: relative;
			&::before {
				font-size: 24px;
				top: -20px;
				width: 56px;
				height: 56px;
				border-radius: 30px;
			}
			&:not(:last-child)::after {
				position: absolute;
				top: 0;
				bottom: 0;
				right: -44px;
				margin: auto;
				display: block;
				content: "";
				width: 20px;
				height: 36px;
				background-image: url("../img/icon-step.svg");
			}
		}
		.service01-flowlistcontents {
			grid-template-columns: auto;
			align-items: center;
		}
		.service01-flowlistimage {
			width: 160px;
			margin: auto;
		}
		.service01-flowmlabel {
			text-align: center;
			margin-bottom: 16px;
			font-size: 20px;
		}
		.service01-flowdesc {
			font-size: 16px;
		}
		.service-maintitle {
			font-size: 32px;
			em {
				font-size: 48px;
				&::after {
					height: 16px;
				}
			}
		}
		.service-mainnumber {
			width: 140px;
			margin-bottom: 24px;
		}
		.service01-merit {
			gap: 40px;
		}
		.service01-childtitle {
			font-size: 32px;
			gap: 16px;
			span {
				font-size: 16px;
			}
		}
		.service01-meritlist {
			display: grid;
			grid-template-columns: 1fr 1fr;
			gap: 40px;
			max-width: 1200px;
		}
		.service01-meritlistitem {
			border-radius: 16px;
			border: 1px solid var(--orange);
			background-color: var(--white);
			overflow: hidden;
		}
		.service01-meritlabel {
			font-size: 28px;
		}
		.service01-meritdesc {
			font-size: 16px;
		}
		.service01 {
			gap: 64px;
			.service-mainimage {
				width: 458px;
			}
		}
		.service02 {
			gap: 64px;
			.service-mainimage {
				width: 304px;
			}
		}
		.service02-desc {
			font-size: 24px;
		}
		.service02-navlist {
			display: grid;
			grid-template-columns: 1fr 1fr;
			gap: 40px;
			max-width: 1200px;
		}
		.service02-navlink {
			font-size: 24px;
			height: 84px;
		}
		.service02-child {
			max-width: 1200px;
		}
		.service02-childintro {
			padding: 40px;
			gap: 24px;
		}
		.service02-childtitle {
			font-size: 20px;
			strong{
				font-size: 64px;
			}
		}
		.service02-childdesc {
			background-color: var(--white);
			padding: 0;
			display: grid;
			grid-template-columns: 1fr 160px;
			width: 900px;
			margin: 0 auto;
		}
		.service02-childimage {
			width: 160px;
		}
		.service02-childtext {
			gap: 16px;
			padding: 24px 32px;
			p {
				font-size: 16px;
			}
		}
		.service02-childlabel {
			justify-content: flex-start;
			gap: 16px;
			grid-template-columns: 168px 1fr;
			span {
				padding: 6px 8px;
				width: auto;
			}

		}
		.service02-childimage {
			display: block;
		}
		.service02-decendant {
			gap: 40px;
			border-radius: 0 0 16px 16px;
			padding: 40px;
		}
		.service02-decendanttitle {
			font-size: 32px;
			span {
				font-size: 16px;
			}
		}
		.service02-decendantlist {
			gap: 40px;
			max-width: 1200px;
			width: 100%;
			margin: 0 auto;
		}
		.service02-decendantlistitem {
			gap: 20px;
			padding: 32px 24px;
			font-size: 24px;
			text-align: center;
			p {
				font-size: 16px;
				display: flex;
				flex-direction: row;
				gap: 8px;
			}
			small {
				font-size: 16px;
			}
			.icon-down {
				width: 36px;
			}
		}
		.service02-decendantsectionlist {
			display: grid;
			gap: 40px;
			padding: 40px;
			max-width: 1200px;
			box-sizing: border-box;
			width: 100%;
			margin: 0 auto;
		}
		.service02-decendantsectionlistitem {
			display: grid;
			gap: 40px;
			align-items: center;
			grid-template-columns: 300px 1fr;
			&:not(:last-child) {
				padding-bottom: 40px;
			}
		}
		.service02-decendantlisttext {
			h6 {
				font-size: 20px;
			}
			p {
				font-size: 16px;
			}
			small {
				font-size: 14px;
			}
			dl {
				display: flex;
			}
			dt {
				background-color: var(--gray-light);
				font-size: 14px;
				text-align: center;
				padding: 16px 20px;
				font-weight: bold;
				display: grid;
				place-items: center;
			}
			dd {
				padding: 16px 20px;
			}
		}
	}
	.userdata {
		padding: 120px 24px;
		gap: 64px;
		.userdata-title {
			font-size: 48px;
			em {
				&::after {
					height: 16px;
				}
			}
		}
		.userdata-desc {
			font-size: 24px;
		}
		.userdata-contents {
			display: flex;
			flex-direction: row;
			justify-content: space-between;
			width: 100%;
			max-width: 1200px;
			margin: auto;
		}
		.userdata-content {
			column-gap: 40px;
			justify-content: center;
		}
		.userdata-contentimage {
			width: 300px;
		}
		.userdata-legenditem {
			font-size: 14px;
			line-height: 2.5;
		}
		.userdata-small {
			font-size: 12px;
		}
		.userdata-image {
			width: 408px;
		}
	}
	.voice {
		padding: 120px 20px;
		gap: 57px;
		.voice-text {
			gap: 24px;
		}
		.voice-title {
			font-size: 40px;
			span {
				font-size: 20px;
			}
		}
		.voice-list {
			display: grid;
			grid-template-columns: 1fr 1fr 1fr;
			gap: 40px;
			max-width: 1200px;
		}
		.voice-listlabel {
			font-size: 28px;
			height: 80px;
			box-sizing: border-box;
			display: grid;
			place-items: center;
		}
		.voice-listitem:nth-child(2) {
			.voice-listlabel {
				font-size: 24px;
			}
		}
		.voice-lsitdesc {
			font-size: 16px;
		}
	}
	.faq {
		padding: 120px 20px;
		gap: 57px;
		.faq-text {
			gap: 24px;
		}
		.faq-title {
			font-size: 40px;
			span {
				font-size: 20px;
			}
		}
		.faq-list {
			gap: 16px;
			width: 100%;
			max-width: 1000px;
		}
		.faq-listitem {
			width: 100%;
			box-sizing: border-box;
		}
		.faq-listtitle {
			button {
				font-size: 16px;
				span {
					width: 100%;
				}
			}
		}
		.faq-listdesc {
			font-size: 16px;
		}
		.disclosure dt button::after {
			width: 34px;
			height: 34px;
		}
	}
	.contact {
		padding: 64px 20px 0;
		gap: 0;
		.contact-text {
			margin-bottom: 40px;
		}
		.contact-cta {
			max-width: 900px;
			padding: 40px;
			margin-bottom: 40px;
		}
		.contact-title {
			font-size: 40px;
			span {
				font-size: 20px;
			}
		}
		.contact-ctacopy {
			font-weight: bold;
			font-size: 24px;
			text-align: center;
		}
		.contact-call {
			font-size: 80px;
			justify-content: center;
			.icon-phone {
				width: 82px;
				height: 82px;
				margin-right: 8px;
			}
		}
		.contact-link {
			margin: 16px auto 0;
			padding: 24px 48px;
			grid-template-columns: 1fr 40px;
			height: 120px;
			font-size: 40px;
			border-radius: 16px;
			.icon-next_circle {
				width: 40px;
				height: 40px;
			}
		}
	}
	.contact-form-area {
		padding: 64px 20px;
		gap: 32px;
	}
	.contact-precaution {
		padding: 32px 40px;
		width: calc(100% + 40px);
	}
	.contact-precaution > * {
		max-width: 900px;
	}
	.contact-form {
		max-width: 900px;
	}
	.contact-precaution-title {
		font-size: 18px;
	}
	.contact-precaution-list li {
		font-size: 14px;
	}
	.cf-group {
		display: grid;
		grid-template-columns: 220px 1fr;
		border-bottom: 1px solid var(--gray-light);
	}
	.cf-label {
		border-bottom: none;
		padding: 14px 16px;
		font-size: 13px;
		align-items: center;
		align-self: center;
	}
	.cf-field {
		padding: 14px 20px;
	}
	.cf-section-title {
		font-size: 16px;
		padding: 12px 20px;
	}
	.cf-job-note {
		padding: 10px 20px 0;
	}
	.cf-privacy {
		padding: 28px 40px;
	}
	.cf-actions {
		padding: 28px 40px 16px;
	}
	.cf-submit {
		font-size: 20px;
		padding: 16px 32px;
		max-width: 440px;
	}
	.contact-success {
		padding: 40px;
	}
	.contact-success-title {
		font-size: 24px;
	}
	.contact-success-body {
		font-size: 16px;
	}

}