@charset "utf-8";
/*****************************************
toppage.css
トップページのみで使うスタイル
******************************************/
*,
*::before,
*::after {
  box-sizing: border-box;
}
img {
  width: auto;
  max-width: 100%;
  height: auto;
}
*:focus:not(:focus-visible):not(a[href]):not(area[href]):not(button):not(input):not(select):not(textarea):not(summary):not(iframe):not(audio[controls]):not(video[controls]) {
  outline: none;
}
[tabindex="-1"]:focus,
div[tabindex]:focus,
:is(section, article, div)[id][tabindex]:focus,
:is(h1, h2, h3, h4, h5, h6)[tabindex]:focus {
  outline: none;
}
body {
  font-size: 16px;
  font-family: "Lato", sans-serif;
  line-height: 1.5;
  color: var(--color-base);
}
@font-face{
	font-family:"recop-iconfonts";
	src:url("/jobfind-pc/original/css/option/font/recop-iconfont.eot");
	src:
	url("/jobfind-pc/original/css/option/font/recop-iconfont.ttf") format("truetype"),
	url("/jobfind-pc/original/css/option/font/recop-iconfont.woff") format("woff");
}

:root {
	--color-primary: #0C7E15;
	--color-secondary: #F2F1F0;
	--color-bg: #ffffff;
	--color-base: #333;
}

#main .content {
	max-width: 100%;
}

.cnt {
	max-width: 1020px;
	padding: 0 10px;
	margin: 0 auto;
}

ul li {
	list-style: none;
}

a:visited,
a:link,
a:active {
	color: inherit;
}

#contents a:hover,
#contents button:hover {
	text-decoration: none;
	transition: 0.3s ease 0s;
	cursor: pointer;
}

.l-section {
	padding-top: 50px;
	padding-bottom: 50px;
	overflow: hidden;
}

.c-h2_wrapper {
	text-align: center;
}

.c-h2_wrapper .h2 {
	font-family: "Lato", sans-serif;
	font-size: 65px;
	font-weight: normal;
	letter-spacing: 0.12em;
	line-height: 1.3;
}

.c-h2_wrapper .h2-sub {
	color: var(--color-primary);
	font-weight: bold;
	font-size: 20px;
}

.c-lead {
	margin-top: 28px;
	line-height: 1.6;
	text-align: center;
}

.c-bg-gray,
.c-bg-green {
	position: relative;
}

.c-bg-gray::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: max(2000px, 100vw);
	transform: translateX(-50%);
	border-radius: 970px / 300px;
	background-color: var(--color-secondary);
}

.c-bg-green::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: max(2000px, 100vw);
	transform: translateX(-50%);
	border-radius: 970px / 300px;
	background-color: #CEE5C5;
}

.pc-show {
	display: block;
}

.sp-show {
	display: none;
}

.p-kv-copy-text,
.c-h2_wrapper .h2-sub,
.works-card-title,
.works-copy,
.works-recommend-title,
.works-flow-title,
.int-lead-line,
.int-profile,
.int-question,
.strengths-title,
.process-balloon,
.process-course-title,
.process-entry .title,
.flow-box .title,
.process-debut .title,
.faq-inner dt,
.ctn-txt {
	font-family: "Zen Kaku Gothic New", sans-serif;
}

@media screen and (max-width: 900px) {
	.main-wrapper {
		margin-top: 50px;
	}
}

@media screen and (max-width: 767px) {
	.c-h2_wrapper {
		padding-top: 0;
	}

	.c-h2_wrapper .h2 {
		font-size: 45px;
		letter-spacing: 0.1em;
	}

	.c-h2_wrapper .h2-sub {
		font-size: 16px;
	}

	.l-section {
		padding-top: 30px;
		padding-bottom: 30px;
	}

	.cnt {
		padding-right: 20px;
		padding-left: 20px;
	}

	.c-lead {
		margin-top: 20px;
		text-align: left;
	}

	.c-bg-gray::before {
		width: 160vw;
		border-radius: 120vw / 50vw;
	}

	.c-bg-green::before {
		width: 160vw;
		border-radius: 120vw / 50vw;
	}

	.pc-show {
		display: none;
	}

	.sp-show {
		display: block;
	}
}

/***********************
header
***********************/
.l-header {
	max-width: 1020px;
	margin-inline: auto;
	padding: 10px 8px;
}

.l-header a {
	color: #fff;
	text-decoration: none;
}

.l-header img {
	display: block;
	max-width: 100%;
	height: auto;
}

.l-header button {
	font: inherit;
}

.header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

header #h_wrapper {
	min-height: 40px;
}

.l-header .logo-link {
	display: inline-flex;
	align-items: center;
	position: relative;
	z-index: 999;
	padding-top: 0;
	padding-bottom: 0;
}

header img.logo {
	max-width: 130px;
	height: auto;
	padding: 0;
}

header img.logo:nth-of-type(n+2) {
	margin-left: 10px;
}

.header-inner h1 {
	width: calc(100% - 400px - 20px);
	padding-right: 0;
}

.header-btn_search,
.p-menu-trigger {
	display: none;
}

html.is-fixed {
	overflow: hidden;
	width: 100%;
	height: 100%;
}
html.is-fixed #container {
	overflow: scroll;
	scrollbar-gutter: stable;
}
html.is-fixed .gnav {
	overflow: auto;
	scrollbar-gutter: stable;
}
.header-inner[data-header-state="fixed"] {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
	padding: 8px 0px 8px 0px;
	background-color: var(--color-bg);
}
.l-header[data-header-state="fixed"] {
	height: var(--header-height);
}
html.is-fixed .l-header .header-btn_search {
	opacity: 0;
}

@media (any-hover: hover) {
	.l-header .logo-link:hover .logo {
		opacity: 0.6;
		transition: 0.3s ease 0s;
	}
}

@media screen and (max-width: 900px) {
	.l-header {
		padding: 8px 0 8px 0;
	}

	.header-btn-wrapper {
		display: flex;
		gap: 16px;
		align-items: center;
		position: absolute;
		top: 10px;
		right: 16px;
		padding-top: 0;
		padding-bottom: 0;
	}

	.header-inner {
		display: block;
	}

	.header-inner h1 {
		text-align: center;
		width: 100%;
		padding-bottom: 0;
		margin-top: 12px;
		position: absolute;
		bottom: -58%;
		left: 50%;
		transform: translateX(-50%);
	}

	header h1 span {
		display: block;
	}

	.header-inner[data-header-state="fixed"] h1 {
		display: none;
	}

	header #h_wrapper {
		display: block;
	} 

	header img.logo {
		flex: 1 1 auto;
		min-width: 0;
		width: auto;
		height: auto;
		object-fit: contain;
	}
	
	.l-header .logo-link {
		display: inline-flex;
		max-width: calc(100% - 160px);
		height: 50px;
		padding: 0;
	}

	header img.logo:nth-of-type(n+2) {
		margin-left: 5px;
	}

	.header-btn_search {
		display: block;
		padding: 12px;
		border-radius: 4px;
		background: var(--color-primary);
		color: #fff;
		white-space: nowrap;
		box-shadow: 0 2px 0 #0C5312;
		font-size: 14px;
		font-weight: bold;
	}
}

/* hamburger */
html.is-menu-open {
	overflow: hidden;
}
.p-menu-trigger {
	position: relative;
	z-index: 30;
	width: 30px;
	height: 26px;
	border: 0;
	background: transparent;
}

.p-menu-trigger-line,
.p-menu-trigger::before,
.p-menu-trigger::after {
	position: absolute;
	left: 0;
	width: 30px;
	height: 2px;
	background: var(--color-primary);
	content: "";
	transition: transform 0.3s, opacity 0.3s, top 0.3s;
}

.p-menu-trigger::before {
	top: 4px;
}

.p-menu-trigger-line {
	top: 12px;
}

.p-menu-trigger::after {
	top: 20px;
}

.p-menu-trigger.is-open::before {
	top: 12px;
	transform: rotate(45deg);
}

.p-menu-trigger.is-open .p-menu-trigger-line {
	opacity: 0;
}

.p-menu-trigger.is-open::after {
	top: 12px;
	transform: rotate(-45deg);
}

body:has(.p-menu-trigger.is-open) #float_wrap {
		display: none !important;
	}

@media screen and (max-width: 900px) {
	.p-menu-trigger {
		display: block;
		flex: 0 0 30px;
	}
}



/* =========================
   kv
========================= */
.p-kv {
	background: url(/jobfind-pc/original/images/kv_pc_bg.png) no-repeat center -140px;
	background-size: cover;
}
.p-kv-inner {
	position: relative;
	padding-left: 10px;
	max-width: 1000px;
  margin: 0 auto;
}

.p-kv-slider-wrap {
	position: relative;
	padding-left: 64px;
}

.p-kv-slide-picture img {
	object-fit: cover;
	border-radius: 0 0 0 20px;
}

.p-kv-copy {
	position: absolute;
	top: 16%;
	left: 49%;
	z-index: 2;
}

.p-kv-copy-text {
	width: max-content;
	margin: 0 0 10px;
	padding: 6px 12px;
	background: rgba(255, 255, 255, 0.8);
	font-size: clamp(20px, 2.4vw, 28px);
	font-weight: bold;
	border-radius: 4px;
	line-height: 1.4;
}

.p-kv-point-list {
	position: absolute;
	top: 56%;
	left: 47.5%;
	right: 4.3%;
	z-index: 2;
	display: flex;
	justify-content: space-between;
}

.p-kv-point-list li {
	flex: 0 0 32%;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
	max-width: 140px;
	padding: 12px;
	color: var(--color-primary);
	font-weight: bold;
	text-align: center;
	border-radius: 50%;
	border: 2px solid transparent;
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(135deg, #299A32 50%, #C8CE36 57%) border-box;
	font-size: clamp(10px, 1.6vw, 16px);
}

@media screen and (max-width: 767px) {
	.p-kv {
		background: url(/jobfind-pc/original/images/kv_sp_bg.png) no-repeat center 0px;
		overflow-x: hidden;
	}

	.p-kv-inner {
		padding: 0;
	}

	.p-kv-slider-wrap {
		padding-left: 40px;
		padding-bottom: 40px;
	}

	.slick-list {
		overflow: visible;
	}

	.p-kv-slide-picture img {
		width: 100%;
	}

	.p-kv-copy {
		top: 41%;
		right: auto;
		left: 40px;
	}

	.p-kv-copy-text {
		margin-bottom: 4px;
		padding: 4px 10px;
		font-size: clamp(16px, 5.1vw, 40px);
	}

	.p-kv-point-list {
		top: 66%;
		right: auto;
		left: 20px;
		gap: 8px;
	}

	.p-kv-point-list li {
		width: calc((100vw - 56px) / 3);
		height: calc((100vw - 56px) / 3);
		padding: 8px;
		max-width: none;
		font-size: clamp(14px, 3.5vw, 25px);
	}
}

/* controller */
.p-kv-controller {
	position: absolute;
	left: 10px;
	bottom: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	width: 32px;
	z-index: 2;
}

.p-kv-controller-bars {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.p-kv-controller-bars button {
	width: 3px;
	height: 32px;
	border: 0;
	background: #CBE3C2;
	cursor: pointer;
}

.p-kv-controller-bars button.is-active {
	background: var(--color-primary);
}

.p-kv-controller-bars li {
	height: 30px;
}

.p-kv-toggle {
	position: relative;
	width: 30px;
	height: 30px;
	border: 0;
	border-radius: 50%;
	background: var(--color-primary);
	flex-shrink: 0;
}

.p-kv-toggle::before {
	position: absolute;
	top: 50%;
	left: 51%;
	width: 0;
	height: 0;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 8px solid #fff;
	content: "";
	transform: translate(-42%, -50%);
}

.p-kv-toggle.is-pause::before,
.p-kv-toggle.is-pause::after {
	top: 50%;
	width: 3px;
	height: 10px;
	border: 0;
	background: #fff;
	transform: translateY(-50%);
}

.p-kv-toggle.is-pause::before {
	left: 11px;
}

.p-kv-toggle.is-pause::after {
	position: absolute;
	left: 17px;
	content: "";
}

.p-kv-description {
	width: 80%;
	margin: 30px auto 50px;
	text-align: center;
}

.p-kv-slider:not(.slick-initialized) > li:not(:first-child) {
	display: none;
}

@media (any-hover: hover) {
	.p-kv-toggle:hover {
		opacity: 0.6;
	}
}

@media screen and (max-width: 767px) {
	.p-kv-controller {
		flex-direction: row;
		justify-content: center;
		gap: 10px;
		width: auto;
		margin-top: 12px;
		left: 50%;
		transform: translateX(-50%);
	}

	.p-kv-controller-bars {
		flex-direction: row;
		gap: 10px;
	}

	.p-kv-controller-bars button {
		width: 30px;
		height: 3px;
	}

	.p-kv-description {
		width: 100%;
		padding: 0 20px;
		margin-top: 12px;
		margin-bottom: 10px;
		text-align: left;
	}
}

/* slickの存在しないローディング画像を無効化 */
.slick-loading .slick-list {
	background-image: none;
}

/* =========================
   global nav
========================= */
.p-global-nav {
	max-width: 1000px;
	margin: auto;
	padding-top: 5px;
	padding-bottom: 10px;
}

.p-global-nav-list {
	display: grid;
	grid-template-columns: repeat(5, 1fr) 180px;
	align-items: center;
}

.p-global-nav-list li {
	text-align: center;
}

.p-global-nav-list li:not(:first-child):not(:last-child) {
	border-left: dashed 1px #A0BAA2;
}

.p-global-nav-list a {
	position: relative;
	display: block;
	padding: 13px 10px;
	font-weight: bold;
}

.p-global-nav-list li:not(:last-child) a::before {
	display: inline-block;
	width: 6px;
	height: 6px;
	margin-right: 10px;
	border-radius: 50%;
	background: var(--color-primary);
	content: "";
	vertical-align: middle;
}

.nav-search_btn a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 40px 0 18px;
	border-radius: 8px;
	box-shadow: 0 4px 0 #08640f;
	text-align: center;
	text-decoration: none;
	border: 1px solid var(--color-primary);
	background: var(--color-primary);
	color: #fff !important;
}

.nav-search_btn a::after {
	font-family: "recop-iconfonts";
	content: "\E838";
	position: absolute;
	top: 50%;
	right: 19px;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	font-size: 17px;
	font-weight: normal;
	line-height: 1;
	transform: translateY(-50%);
	padding-top: 3px;
	background: var(--color-bg);
	color: var(--color-primary);
}

.global-nav-float[data-float-state="fixed"] {
	position: fixed;
	top: 0;
	left: 50%;
	z-index: 100;
	width: 100%;
	background-color: var(--color-bg);
	transform: translateX(-50%);
}

.global-nav-float[data-float-state="fixed"] .p-global-nav {
	margin-top: 0;
}

@media screen and (max-width: 900px) {
	.p-global-nav {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 20;
		display: flex;
		flex-direction: column;
		width: 100%;
		height: 100dvh;
		padding: 72px 20px 14px;
		overflow: hidden;
		background: var(--color-bg);
		visibility: hidden;
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.3s, visibility 0.3s;
	}

	.js-gnav.is-open .p-global-nav {
		visibility: visible;
		opacity: 1;
		pointer-events: auto;
	}

	.p-global-nav-list {
		display: flex;
		flex: 1 1 auto;
		flex-direction: column;
		align-items: stretch;
		min-height: 0;
		padding-bottom: 50px;
		overflow-y: auto;
		overscroll-behavior: contain;
	}

	.p-global-nav-list li {
		border-bottom: 2px dotted #A0BAA2;
	}

	.p-global-nav-list li:not(:first-child):not(:last-child) {
		border-left: none;
	}

	.p-global-nav-list li::after,
	.p-global-nav-list li:not(:last-child) a::before {
		display: none;
	}

	.p-global-nav-list a {
		padding: 24px 36px 20px;
		font-size: 20px;
		font-weight: bold;
	}

	.p-global-nav-list li:not(:last-child) a::after {
		position: absolute;
		top: 50%;
		right: 26px;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 19px;
		height: 19px;
		border-radius: 50%;
		background: var(--color-primary);
		color: #fff;
		font-family: "recop-iconfonts";
		font-size: 18px;
		font-weight: normal;
		content: "\E842";
		transform: translateY(-50%);
	}

	.p-global-nav-list li:last-child {
		margin-top: 40px;
		border-bottom: 0;
	}

	.p-global-nav-list li:last-child a {
		padding: 18px 20px;
		border-radius: 8px;
		font-size: 16px;
	}

	.p-global-nav-list li:last-child a::after {
		right: 26px;
	}

	.p-global-nav-list li:not(:last-child) {
		font-family: "Zen Kaku Gothic New", sans-serif;
	}
	
}

@media (any-hover: hover) {
	.header-btn_search:hover,
	.p-global-nav-list li:last-child a:hover {
		opacity: 0.8;
	}
	
	.p-global-nav-list a:hover {
		color: var(--color-primary);
		text-decoration: underline !important;
		text-underline-offset: 8px;
	}

	.nav-search_btn a:hover {
		background-color: var(--color-bg);
		color: var(--color-primary) !important;
		transition: 0.3s ease 0s;
		text-decoration: none !important;
	}

	.nav-search_btn a:hover::after {
		color: var(--color-bg);
		background: var(--color-primary);
	}
}

/* =========================
   search
========================= */
.search-inner {
	position: relative;
}

.search-inner::before {
	display: block;
	content: "";
	width: 130px;
	height: 130px;
	background: url(/jobfind-pc/original/images/bg_dec01.png) no-repeat;
	background-size: contain;
	position: absolute;
	right: 70px;
	top: -14px;
	z-index: 10;
}

.search-inner::after {
	display: block;
	content: "";
	width: 66px;
	height: 66px;
	background: url(/jobfind-pc/original/images/bg_dec02.png) no-repeat;
	background-size: contain;
	position: absolute;
	right: 0px;
	top: 90px;
	z-index: 10;
}

.search-content {
	margin-top: 60px;
	padding: 60px 64px;
	border-radius: 40px;
	background: #f4f3f1;
}

.search-block {
	margin-top: 48px;
}

.search-title {
	display: flex;
	align-items: center;
	gap: 28px;
	font-size: 26px;
	line-height: 1.4;
	white-space: nowrap;
	font-weight: bold;
	margin-bottom: 30px;
}

.search-title::before,
.search-title::after {
	content: "";
	width: 100%;
	height: 2px;
	background-image: radial-gradient(circle, #A0BAA2 1px, transparent 1.5px);
	background-size: 7px 2px;
	background-repeat: repeat-x;
}

/* ボタン */
.search-button-list,
.search-area-list,
.search-brand-list,
.search-employment-list {
	display: flex;
	gap: 24px;
	justify-content: center;
	flex-wrap: wrap;
}

.search-button-list li,
.search-area-list li,
.search-brand-list li,
.search-employment-list li {
	width: 100%;
}

.search-button-list li,
.search-area-list li,
.search-employment-list li {
	max-width: 200px;
}

.search-brand-list li {
	max-width: 280px;
}

.search-button,
.search-area-button,
.search-employment-button,
.search-overseas-button {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 61px;
	padding: 10px 20px;
	border-radius: 8px;
	box-shadow: 0 4px 0 #08640f;
	text-align: center;
	text-decoration: none;
	border: 1px solid var(--color-primary);
	font-weight: bold;
}

.search-button.long {
	justify-content: left;
}

.search-button,
.search-employment-button {
	background: var(--color-primary);
	color: #fff !important;
}

.search-area-button {
	background: #fff;
	color: var(--color-text) !important;
}

.search-overseas-button {
	max-width: 320px;
	min-height: 60px;
	margin: 30px auto 0;
	background: #333;
	box-shadow: none;
	line-height: 1.35;
	color: #fff !important;
	border: 1px solid #333;
}

.search-button::after,
.search-area-button::after,
.search-employment-button::after,
.search-overseas-button::after {
	font-family:"recop-iconfonts";
	content: "\E841";
	position: absolute;
	top: 50%;
	right: 19px;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	font-size: 20px;
	font-weight: normal;
	line-height: 1;
	transform: translateY(-50%);
	padding-left: 1px;
}

.search-button::after,
.search-employment-button::after {
	background: #fff;
	color: var(--color-primary);
}

.search-area-button::after {
	background: var(--color-primary);
	color: #fff;
}

.search-overseas-button::after {
	background-color: #fff;
	color: #333;
}

.search-prefecture {
	text-align: center;
}

.search-prefecture:nth-of-type(n+2) {
	margin-top: 30px;
}

.search-prefecture-name {
	color: var(--color-primary);
	font-size: 24px;
	font-weight: bold;
}

.search-area-list {
	margin-top: 20px;
}

.search-brand-link {
	display: flex;
	border: 1px solid var(--color-primary);
	border-radius: 8px;
	box-shadow: 0 4px 0 #08640f;
	background: #fff;
	padding: 20px;
	height: 100px;
	justify-content: center;
	align-items: center;
}

.search-brand-link img {
	max-height: 100%;
}

.search-banner-list {
	max-width: 425px;
	margin: 50px auto 0;
}

.search-banner-list li:nth-of-type(n+2) {
	margin-top: 30px;
}

.search-banner a {
	display: block;
}

.search-banner.sennin a {
	position: relative;
}

.search-banner.sennin .search-banner-inner {
	position: absolute;
	top: 50%;
	right: 12%;
	transform: translateY(-50%);
}

.search-banner.sennin .search-banner-inner .inner-text {
	font-size: 22px;
	color: #0C5312;
	font-weight: bold;
}

.search-banner.sennin .search-banner-inner .inner-text span {
	font-size: 17px;
}

.search-banner.sennin .search-banner-inner .inner-btn {
	font-size: 15px;
	color: #fff;
	padding: 5px 26px 5px 10px;
	background-color: var(--color-primary);
	text-align: center;
	border-radius: 4px;
	margin-top: 10px;
	position: relative;
	font-weight: bold;
}

.search-banner.sennin .search-banner-inner .inner-btn::after {
	font-family:"recop-iconfonts";
	content: "\E841";
	position: absolute;
	top: 50%;
	right: 8px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	font-size: 20px;
	font-weight: normal;
	line-height: 1;
	transform: translateY(-50%);
	padding-left: 1px;
	background-color: #fff;
	color: var(--color-primary);
}

.search-banner.mainavi {
	width: 84%;
	margin: 0 auto;
}

/* hover */
@media (any-hover: hover) {
	.search-button:hover,
	.search-area-button:hover,
	.search-employment-button:hover,
	.search-brand-link:hover,
	.search-banner a:hover,
	.search-overseas-button:hover {
		opacity: 0.6;
		text-decoration: none;
	}
}

.search-button:hover,
.search-employment-button:hover {
	opacity: 1;
	background-color: #fff;
	color: var(--color-primary) !important;
}

.search-button:hover::after,
.search-employment-button:hover::after {
	color: #fff;
	background-color: var(--color-primary);
}

.search-area-button:hover {
	opacity: 1;
	background-color: #DFEDD9;
}

.search-overseas-button:hover {
	opacity: 1;
	background-color: #E3E3E3;
	color: #333 !important;
}

@media (max-width: 767px) {
	.l-section.sec-search {
		padding-top: 60px;
		padding-bottom: 16px;
	}

	.search-inner::before {
		width: 66px;
		height: 66px;
		right: 0;
		top: -56px;
	}

	.search-inner::after {
		width: 35px;
		height: 35px;
		top: 7px;
	}

	.search-content {
		margin-top: 30px;
		padding: 0;
		border-radius: 0;
		background: #fff;
	}

	.search-block {
		margin-top: 40px;
	}

	.search-title {
		font-family: "Zen Kaku Gothic New", sans-serif;
		gap: 25px;
		margin-bottom: 20px;
		font-size: 24px;
		font-weight: bold;
	}

	.search-prefecture-wrap {
		padding: 30px 20px;
		border-radius: 12px;
		background: var(--color-secondary);
	}

	.search-prefecture:nth-of-type(n+2) {
		margin-top: 20px;
	}

	.search-prefecture-name {
		font-size: 20px;
	}

	/* ボタン */
	.search-button.long {
		justify-content: center;
	} 
	.search-button-list,
	.search-area-list,
	.search-brand-list,
	.search-employment-list {
		gap: 15px;
		flex-direction: column;
	}

	.search-button-list li,
	.search-area-list li,
	.search-brand-list li,
	.search-employment-list li {
		max-width: 100%;
	}

	.search-brand-link {
		height: 80px;
		padding: 10px;
	}

	.search-banner-list {
		max-width: 500px;
		margin: 40px auto 0;
	}

	.search-banner.mainavi {
		width: 100%;
	}

	.search-banner.sennin .search-banner-inner {
		right: 5%;
		left: 44%;
	}

	.search-banner.sennin .search-banner-inner .inner-btn {
		margin-top: 5px;
		width: 92%;
	}

	.search-banner.sennin .search-banner-inner .inner-text {
		font-size: clamp(20px, 5vw, 33px);
	}

	.search-banner-list li:nth-of-type(n+2) {
		margin-top: 20px;
	}

	.search-overseas-button {
		max-width: none;
		margin-top: 20px;
	}
}

/* =========================
   works
========================= */
.sec-works {
	position: relative;
}

.works-inner {
	position: relative;
	z-index: 1;
	padding-top: 160px;
	padding-bottom: 200px;
}

.works-inner::before {
	display: block;
	content: "";
	width: 160px;
	height: 160px;
	background: url(/jobfind-pc/original/images/bg_dec01.png) no-repeat;
	background-size: contain;
	position: absolute;
	left: 0;
	top: -15px;
	z-index: 10;
}

.works-inner::after {
	display: block;
	content: "";
	width: 160px;
	height: 160px;
	background: url(/jobfind-pc/original/images/bg_dec03.png) no-repeat;
	background-size: contain;
	position: absolute;
	right: 0;
	bottom: -20px;
	z-index: 10;
} 

.works-nav {
	display: none;
}

.works-card {
	margin-top: 60px;
	padding: 48px 64px 63px;
	background-color: var(--color-bg);
	border-radius: 20px;
}

.works-card:nth-of-type(n+2) {
	margin-top: 40px;
}

.works-card-title {
	font-size: 28px;
	text-align: center;
}

.works-card-title::after {
	content: "";
	display: block;
	width: 60px;
	height: 4px;
	margin: 9px auto 0;
	height: 4px;
	background-image: radial-gradient(circle, var(--color-primary) 2px, transparent 2px);
	background-size: 12px 4px;
	background-repeat: repeat-x;
}

.works-card-main {
	display: grid;
	grid-template-columns: 44.5% 1fr;
	gap: 48px;
	margin-top: 40px;
}

.works-image img {
	border-radius: 16px;
}

.works-copy {
	color: var(--color-primary);
	font-size: 22px;
	font-weight: bold;
}

.works-text {
	margin-top: 16px;
	line-height: 1.75;
}

.works-recommend {
	margin-top: 27px;
	padding: 24px 30px;
	border: 1px solid #299A32;
	border-radius: 12px;
	background-color: var(--color-secondary);
}

.works-recommend-title {
	color: var(--color-primary);
	font-weight: bold;
	text-align: center;
	font-size: 18px;
}

.works-recommend-title span {
	position: relative;
	padding-left: 6px;
}

.works-recommend-title span::before {
	content: "";
	width: 7px;
	height: 7px;
	position: absolute;
	background-color: var(--color-primary);
	top: 50%;
	left: -10px;
	transform: translateY(-50%);
	border-radius: 50%;
}

.works-recommend-list {
	margin-top: 12px;
}

.works-recommend-list li {
	position: relative;
	padding-left: 26px;
}

.works-recommend-list li + li {
	margin-top: 6px;
}

.works-recommend-list li::before {
	position: absolute;
	top: 0.25em;
	left: 0;
	color: var(--color-primary);
	content: url(/jobfind-pc/original/images/icon_03.png);
}

.works-flow {
	display: flex;
	margin-top: 30px;
}


.works-flow li {
	position: relative;
	width: 25%;
}

.works-flow li + li {
	margin-left: 50px;
}

.works-flow li::before {
	position: absolute;
	top: 18px;
	right: -50%;
	width: 100%;
	height: 2px;
	background-color: #CBE3C2;
	content: "";
	z-index: 0;
}

.works-flow li:last-child::before {
	display: none;
}

.works-flow li+li::after {
	content: "";
	border-left: 2px dotted #cfcfcf;
	position: absolute;
	left: -25px;
	top: 60px;
	width: 2px;
	height: 80%;
}

.works-flow-time {
	position: relative;
	z-index: 1;
	padding: 7px 10px;
	color: #fff;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
	background-color: var(--color-primary);
	border-radius: 23px;
	min-height: 40px;
	margin: 0 2px;
	font-size: 18px;
}

.works-flow-title {
	min-height: 52px;
	margin-top: 15px;
	color: var(--color-primary);
	font-weight: bold;
	line-height: 1.45;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 17px;
}

.works-flow-text {
	margin-top: 10px;
}

#group .works-flow-time {
	font-size: 16px;
}

#group .works-flow li + li {
	margin-left: 34px;
}

#group .works-flow li+li::after {
	left: -20px;
}

@media screen and (max-width: 900px) {
	.sec-works {
		padding-bottom: 50px;
		padding-top: 50px;
	}
	.works-inner {
		padding-top: 70px;
		padding-bottom: 70px;
	}

	.works-inner::before {
		width: 110px;
		height: 110px;
		top: -50px;
		left: 20px;
	}

	.works-inner::after {
		width: 98px;
		height: 98px;
		bottom: -50px;
		right: 20px;
	}

	.works-nav {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
		margin-top: 30px;
	}

	.works-nav a {
		display: flex;
		align-items: center;
    justify-content: center;
		padding: 16px 12px;
		font-size: 18px;
		color: #fff !important;
		text-decoration: none;
		background-color: var(--color-primary);
		border-radius: 8px;
		position: relative;
		box-shadow: 0 4px 0 #0C5312;
		border: 1px solid var(--color-primary);
		font-weight: bold;
	}

	.works-nav a::after {
		font-family: "recop-iconfonts";
		content: "\E838";
		position: absolute;
		right: 15px;
	}

	.works-card {
		margin-top: 30px;
		padding: 30px 20px;
		border-radius: 12px;
	}

	.works-card:nth-of-type(n+2) {
		margin-top: 20px;
	}

	.works-card-title {
		font-size: 26px;
	}

	.works-card-title::after {
		margin-top: 10px;
	}

	.works-card-main {
		display: block;
		margin-top: 24px;
	}

	.works-image img {
		max-width: 470px;
		width: 100%;
		margin: 0 auto;
	}

	.works-container {
		margin-top: 24px;
	}

	.works-text {
		margin-top: 20px;
	}

	.works-recommend {
		margin-top: 24px;
		padding: 24px 20px;
	}

	.works-recommend-title {
		text-align: left;
		margin-left: 16px;
	}

	.works-flow {
		flex-direction: column;
		margin-top: 24px;
	}

	.works-flow li {
		padding: 0 0 20px;
		width: 100%;
	}

	.works-flow li + li:last-of-type {
		padding-bottom: 0;
	}

	#group .works-flow li + li,
	#individual .works-flow li + li {
		border-left: 0;
		margin-left: 0;
	}

	.works-flow li::before {
		top: 0;
		left: 43px;
		width: 2px;
		height: 100%;
		background-color: #CBE3C2;
	}

	.works-flow li+li::after {
		display: none;
	}

	.works-flow-time {
		display: inline-block;
		margin: 0;
		padding: 5px 16px 5px 16px;
		line-height: 1.6;
		min-height: auto;
	}

	#group .works-flow-time {
		font-size: 18px;
	}
	
	.works-flow-title {
		min-height: auto;
		margin-top: 10px;
		text-align: left;
		display: block;
		padding-left: 68px;
		margin-top: 9px;
	}

	.works-flow-text {
		margin-top: 10px;
		padding-left: 68px;
	}
}

@media (any-hover: hover) {
	.works-nav a:hover {
		opacity: 0.7;
	}
}


/* =========================
   int
========================= */
.sec-int {
	overflow: hidden;
	background-color: var(--color-bg);
}

.int-inner {
	margin-top: 60px;
}

article:nth-of-type(n+2) .int-kv-wrap {
	margin-top: 80px;
}
.int-kv-wrap {
	position: relative;
}

.int-kv-wrap::before {
	content: "";
	width: 71.2%;
	height: 89%;
	max-height: 356px;
	position: absolute;
	right: 0;
	bottom: 0;
	border-radius: 0 356px 0 0;
	background-color: #CEE5C5;
}

.int-kv {
	position: relative;
	z-index: 1;
}

.int-kv-image {
	width: 60%;
	display: block;
}

.int-kv-image img {
	border-radius: 20px;
}

.int-lead {
	position: absolute;
	left: 39%;
	bottom: 36%;
	z-index: 2;
}

.int-lead-line span {
	display: block;
	width: max-content;
	max-width: 100%;
	padding: 12px 20px;
	border: 1px solid var(--color-primary);
	border-radius: 8px;
	background-color: var(--color-bg);
	font-size: clamp(18px, 2.5vw, 26px);
	font-weight: bold;
	line-height: 1.45;
}

.int-lead-line span.sp-block {
	display: inline;
	padding: 0;
	border: none;
	border-radius: 0;
}

.int-lead-line span:nth-of-type(n+2) {
	margin-top: 8px;
}

.int-profile {
	position: absolute;
	right: 5%;
	max-width: 350px;
	font-size: 18px;
	font-weight: bold;
	left: 62%;
	top: 76%;
	bottom: 18%;
}

.int-profile span {
	position: relative;
	padding-top: 20px;
}

.int-profile span::before {
	content: "";
	display: block;
	width: 60px;
	height: 4px;
	background-image: radial-gradient(circle, var(--color-primary) 2px, transparent 2px);
	background-size: 12px 4px;
	background-repeat: repeat-x;
	position: absolute;
	top: 0;
	left: 0;
}

/* accordion */
[data-accordion-dual-button] {
	--accordion-dual-button-default-height: 0px;
	--accordion-dual-button-gradation-display: none;
	position: relative;
}

[data-accordion-dual-button-detail] {
	height: var(--accordion-dual-button-default-height);
	overflow: hidden;
	position: relative;
	transition: height 0.6s ease;
}

[data-accordion-dual-button-trigger][aria-expanded="false"] {
	display: flex;
}

.is-open [data-accordion-dual-button-trigger][aria-expanded="false"] {
	display: none;
}

[data-accordion-dual-button-trigger][aria-expanded="true"] {
	display: none;
}

.is-open [data-accordion-dual-button-trigger][aria-expanded="true"] {
	display: flex;
}
/* /accordion */

.int-open-wrap {
	padding: 30px 20px 0;
}

.int-open,
.int-job-link,
.int-close {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	border-radius: 8px;
	font-size: 16px;
	text-align: center;
	text-decoration: none;
	font-family: "recop-iconfonts";
	padding-right: 10px;
	font-weight: bold;
}

.int-job-link {
	background-color: var(--color-primary);
	color: var(--color-bg) !important;
	box-shadow: 0 4px 0 #0C5312;
	max-width: 300px;
	margin: 60px auto 0;
	border: 1px solid var(--color-primary);
	min-height: 60px;
}

.int-job-link::after {
	position: absolute;
	right: 30px;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background-color: var(--color-bg);
	color: var(--color-primary);
	content: "\E841";
	font-size: 20px;
	line-height: 1;
	padding-left: 3px;
}

.int-open,
.int-close {
	min-height: 52px;
}

.int-close {
	border: 1px solid #b8b8b8;
	background-color: var(--color-bg);
	color: var(--color-text);
	box-shadow: 0 4px 0 var(--color-primary);
	cursor: pointer;
	max-width: 220px;
	margin: 34px auto 10px;
}

.int-close::after {
	position: absolute;
	right: 20px;
	content: "\E822";
	font-size: 20px;
	font-weight: bold;
}

.int-open {
	background-color: var(--color-primary);
	border: 1px solid var(--color-primary);
	color: var(--color-bg) !important;
	box-shadow: 0 4px 0 #0C5312;
	max-width: 220px;
	margin: 30px auto 0;
	cursor: pointer;
}

.int-open::after {
	position: absolute;
	right: 20px;
	content: "\E813";
	font-size: 20px;
}

.int-detail {
	padding-top: 30px;
}

.int-content:first-of-type {
	margin-top: 30px;
}

.int-content:nth-of-type(n+2) {
	margin-top: 60px;
}

.int-content-row {
	display: flex;
	gap: 60px;
}

.int-content-row .int-content-box {
	width: 44%;
}

.int-image {
	width: calc(56% - 60px);
}

.int-question {
	color: var(--color-primary);
	font-size: 22px;
	font-weight: bold;
	position: relative;
	display: flex;
	gap: 12px;
	justify-content: flex-start;
	align-items: baseline;
}

.int-question span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background-color: var(--color-primary);
	color: var(--color-bg);
	font-size: 18px;
	line-height: 1;
	flex: 0 0 44px;
	font-family: "Lato", sans-serif;
}

.int-text {
	margin-top: 20px;
	line-height: 1.8;
}

.int-image img {
	border-radius: 20px;
}

@media (any-hover: hover) {
	.int-job-link:hover {
    background-color: #fff;
    color: var(--color-primary) !important;
	}

	.int-job-link:hover::after {
		color: #fff;
    background-color: var(--color-primary);
	}

	.int-close:hover {
		background-color: #DFEDD9;
	}

	.int-open:hover {
		background-color: #fff;
    color: var(--color-primary) !important;
	}
}

@media (max-width: 767px) {
	.sec-int {
		padding-top: 10px;
		padding-bottom: 0;
	}
	.int-inner {
		margin-top: 30px;
	}

	.int-kv-wrap {
		padding-bottom: 150px;
	}

	article:nth-of-type(n+2) .int-kv-wrap {
		margin-top: 30px;
	}

	.int-heading {
		padding: 2px 20px 28px;
	}

	.int-heading-main {
		font-size: 40px;
		letter-spacing: 0.05em;
	}

	.int-heading-sub {
		font-size: 17px;
	}

	.int-kv-wrap::before {
		width: 150%;
		height: 284px;
		right: 50%;
		transform: translateX(50%);
		border-radius: 284px 284px 0 0;
		bottom: 0;
	}

	.int-kv {
		max-width: 100%;
	}

	.int-kv-image {
		width: 100%;
		margin: auto;
	}

	.int-lead {
		left: 0;
		bottom: -27%;
		top: 89%;
	}

	.line-three {
		bottom: -28%;
		top: 62%;
	}

	.int-lead-line span {
		padding: 8px 12px;
		font-size: clamp(18px, 4.2vw, 30px);
		border-radius: 4px;
		white-space: nowrap;
	}

	.int-lead-line span:nth-of-type(n+2) {
		margin-top: 6px;
	}

	.int-lead-line span.sp-block {
		display: block;
    width: max-content;
    max-width: 100%;
    padding: 8px 12px;
    border: 1px solid var(--color-primary);
    border-radius: 4px;
    background-color: var(--color-bg);
    font-size: clamp(18px, 4.2vw, 30px);
    font-weight: bold;
    letter-spacing: 0.06em;
    line-height: 1.45;
	}

	.int-lead-line span.pc-block {
		padding: 0;
    border: none;
    border-radius: 0;
		background-color: transparent;
	}

	.int-profile {
		right: auto;
		left: 0;
		font-size: 16px;
		top: auto;
		bottom: 24px;
	}

	.int-profile span {
		padding-top: 12px;
	}

	.int-lead-name {
		margin-left: 0;
		font-size: 16px;
	}

	.int-detail {
		padding-top: 30px;
	}

	.int-content:nth-of-type(n+2) {
		margin-top: 40px;
	}

	.int-content-row {
		display: flex;
		flex-direction: column-reverse;
		gap: 40px;
	}

	.int-content-row .int-content-box {
		width: 100%;
	}

	.int-question {
		font-size: 20px;
		align-items: flex-start;
	}

	.int-text {
		margin-top: 13px;
		line-height: 1.75;
	}

	.int-image {
		width: 100%;
	}

	.int-actions {
		padding: 45px 0 4px;
	}

	.int-actions-list {
		max-width: 336px;
		gap: 20px;
	}

	.int-job-link {
		margin-top: 40px;
		max-width: 100%;
	}

	.int-close {
		margin-top: 20px;
	}
}

/* =========================
   strengths
========================= */
.sec-strengths {
	position: relative;
}

.strengths-inner {
	position: relative;
	z-index: 1;
	padding-top: 160px;
	padding-bottom:  200px;
}

.strengths-inner::before {
	display: block;
	content: "";
	width: 160px;
	height: 160px;
	background: url(/jobfind-pc/original/images/bg_dec01.png) no-repeat;
	background-size: contain;
	position: absolute;
	left: 0;
	top: -35px;
	z-index: 10;
}

.strengths-inner::after {
	display: block;
	content: "";
	width: 160px;
	height: 160px;
	background: url(/jobfind-pc/original/images/bg_dec03.png) no-repeat;
	background-size: contain;
	position: absolute;
	right: 0;
	bottom: -20px;
	z-index: 10;
}

.strengths-list {
	margin-top: 58px;
}

.strengths-item {
	display: flex;
	align-items: center;
}

.strengths-item:nth-of-type(n+2) {
	margin-top: 38px;
}

.strengths-item-reverse {
	flex-direction: row-reverse;
}

.strengths-image {
	width: 50%;
	flex: 0 1 500px;
}

.strengths-image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 20px;
}

.strengths-card {
	z-index: 2;
	width: 54%;
	margin-left: -42px;
	padding: 40px;
	border-radius: 20px;
	background-color: var(--color-bg);
}

.strengths-item-reverse .strengths-card {
	margin-right: -42px;
	margin-left: 0;
}

.strengths-card-head {
	display: flex;
	align-items: center;
	gap: 16px;
}

.strengths-num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 59px;
	height: 59px;
	flex: 0 0 59px;
	border-radius: 50%;
	color: var(--color-bg);
	background-color: var(--color-primary);
	font-family: 'Lato';
	font-size: 29px;
	font-weight: bold;
	line-height: 1;
}

.strengths-title {
	font-size: 24px;
	font-weight: bold;
}

.strengths-text {
	margin-top: 28px;
	line-height: 1.8;
}

@media screen and (max-width: 767px) {
	.sec-strengths {
		padding-top: 50px;
		padding-bottom: 50px;
	}
	.strengths-inner {
		padding-top: 70px;
		padding-bottom: 70px;
	}

	.strengths-inner::before {
		top: -50px;
		width: 98px;
		height: 98px;
		left: 20px;
	}

	.strengths-inner::after {
		bottom: -50px;
		right: 20px;
		width: 98px;
		height: 98px;
	}

	.strengths-list {
		margin-top: 30px;
	}

	.strengths-item,
	.strengths-item-reverse {
		flex-direction: column;
		min-height: auto;
	}

	.strengths-item:nth-of-type(n+2) {
		margin-top: 30px;
	}

	.strengths-image {
		width: 100%;
		flex: auto;
	}

	.strengths-image img {
		width: auto;
		margin: auto;
	}

	.strengths-card,
	.strengths-item-reverse .strengths-card {
		width: 96%;
		margin: -14px auto 0;
		padding: 20px 20px;
		border-radius: 20px;
	}

	.strengths-card-head {
		align-items: flex-start;
		gap: 11px;
	}

	.strengths-num {
		width: 43px;
		height: 43px;
		flex-basis: 43px;
		font-size: 20px;
	}

	.strengths-title {
		font-size: 20px;
	}

	.strengths-text {
		margin-top: 12px;
		line-height: 1.75;
	}
}

/* =========================
	process
========================= */
.process-balloon {
	display: inline-block;
	position: relative;
	padding: 8px 20px 10px;
	border-radius: 8px;
	background-color: var(--color-primary);
	color: var(--color-bg);
	font-weight: bold;
	z-index: 1;
}

.process-balloon::after {
	content: "";
	position: absolute;
	left: 40%;
	bottom: -9px;
	width: 40px;
	height: 24px;
	background-color: var(--color-primary);
	clip-path: path("M 17 7 C 28 14, 25 22, 22 25 C 36 22, 33 12, 37 0 Z");
	z-index: -1;
}

.process-balloon + h2 {
	margin-top: 15px;
}

/* process-entry
  process-debut */
.process-entry,
.process-debut {
	display: flex;
	align-items: center;
	gap: 48px;
	border-radius: 12px;
	padding: 30px 23px 30px 48px;
}

.process-entry {
	border: 1px solid #CDD3CB;
	background-color: var(--color-bg);
	margin-top: 60px;
}

.process-debut {
	border: 3px solid var(--color-primary);
	background-color: #FFF8E2;
	margin-top: 76px;
}

.process-entry .icon img,
.process-debut .icon img{
	width: 120px;
	height: 120px;
}

.process-entry .inner,
.process-debut .inner {
	flex: 1;
}

.process-entry .title,
.process-debut .title,
.process-course .flow-box .title {
	color: var(--color-primary);
	font-weight: bold;
	display: flex;
	align-items: center;
}

.process-entry .title::before,
.process-debut .title::before,
.process-course .flow-box .title::before {
	content: "";
	display: inline-block;
	margin-right: 14px;
	width: 10px;
	height: 10px;
	background-color: var(--color-primary);
	border-radius: 50%;
	padding-bottom: 2px;
}

.process-entry .title {
	font-size: 24px;
}

.process-debut .title,
.process-course .flow-box .title {
	font-size: 22px;
}

.process-entry .text,
.process-debut .text  {
	margin-top: 16px;
	line-height: 1.8;
}

/* process-course */
.process-course-wrap {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 40px;
	margin-top: 76px;
}

.process-course {
	padding: 40px 30px;
	border-radius: 12px;
	position: relative;
}

.process-course::before {
	content: "";
	border-left: 15px solid transparent;
	border-right: 15px solid transparent;
	border-top: 16px solid #a9c5ad;
	position: absolute;
	top: -46px;
	left: 50%;
	transform: translateX(-50%);
}

.process-course::after {
	content: "";
	border-left: 15px solid transparent;
	border-right: 15px solid transparent;
	border-top: 16px solid #a9c5ad;
	position: absolute;
	bottom: -46px;
	left: 50%;
	transform: translateX(-50%);
}

.process-course.personal {
	background-color: #D5E8DE;
}

.process-course.group {
	background-color: #DCE8D5;
}

.process-course-title {
	text-align: center;
	font-size: 28px;
	font-weight: bold;
}

.process-course-flow {
	margin-top: 30px;
}

.process-course-flow .flow-box {
	padding: 30px 28px;
	border-radius: 12px;
	background-color: var(--color-bg);
	position: relative;
}

.process-course-flow .flow-box:nth-of-type(n+2) {
	margin-top: 38px;
}

.process-course-flow .flow-box:nth-of-type(n+2)::before {
	content: "";
	border-left: 15px solid transparent;
	border-right: 15px solid transparent;
	border-top: 16px solid #a9c5ad;
	position: absolute;
	top: -27px;
	left: 50%;
	transform: translateX(-50%);
}

.flow-box .text {
	margin-top: 12px;
}

/* process-debut */
@media screen and (max-width: 767px) {
	.sec-process {
		padding-top: 10px;
	}
	.process-balloon {
		padding: 8px 20px;
		border-radius: 6px;
	}

	.process-balloon + h2 {
		margin-top: 10px;
	}

	.process-entry {
		margin-top: 30px;
		flex-direction: column;
		gap: 10px;
		padding: 30px 20px;
	}

	.process-entry .icon img,
	.process-debut .icon img {
		width: 100px;
		height: 100px;
	}

	.process-entry .title,
	.process-debut .title {
		font-size: 24px;
	}

	.process-course .flow-box .title {
		font-size: 20px;
	}

	/* process-course */
	.process-course-wrap {
		grid-template-columns: 1fr;
		margin-top: 36px;
		gap: 20px;
	}

	.process-course {
		padding: 20px;
	}

	.process-course::before {
		top: -24px;
	}

	.process-course:first-of-type::after {
		display: none;
	}

	.process-course:not(:first-of-type)::before {
		display: none;
	}

	.process-course::after {
		bottom: -26px;
	}

	.process-course-title {
		font-size: 24px;
	}

	.process-course-flow {
		margin-top: 20px;
	}

	.process-course-flow .flow-box {
		padding: 20px;
	}

	.process-debut {
		margin-top: 36px;
		flex-direction: column;
		gap: 10px;
		padding: 30px 20px;
	}
}

/* =========================
	faq
========================= */
.sec-faq {
	position: relative;
	padding-bottom: 0;
}

.sec-faq .c-bg-gray::before {
	border-radius: 970px 970px 0 0 / 300px;
}

.faq-inner {
	position: relative;
	z-index: 1;
	max-width: 970px;
	margin: auto;
	padding-top: 160px;
	padding-bottom: 80px;
}

.faq-inner dl.qa {
	width: 100%;
	position: relative;
	background-color: var(--color-bg);
	border-radius: 20px;
	margin-top: 30px;
}
.faq-inner dl.qa:first-of-type {
	margin-top: 60px;
}
.faq-inner dt {
	font-size: 18px;
	font-weight: bold;
	color: var(--color-primary);
	position: relative;
	padding: 20px 30px 20px 80px;
	border-radius: 20px;
}
.faq-inner dt::before {
	content: "Q";
	color: var(--color-bg);
	font-size: 18px;
	width: 37px;
	height: 37px;
	border-radius: 50%;
	background-color: var(--color-primary);
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 50%;
	left: 30px;
	transform: translateY(-50%);
	font-family: "Lato", sans-serif;
	font-weight: bold;
}
.faq-inner dd {
	font-size: 16px;
	padding: 0 30px 30px;
}
.faq-inner dd::before {
	content: "";
	border-top: dotted #CDD3CB 3px;
	display: block;
	padding-bottom: 20px;
}
.faq-inner dd p {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 13px;
	line-height: 1.8;
}
.faq-inner dd p::before {
	content: "A";
	color: var(--color-primary);
	border: solid 1px var(--color-primary);
	font-size: 18px;
	width: 37px;
	height: 37px;
	border-radius: 50%;
	background-color: var(--color-bg);
	display: flex;
	justify-content: center;
	align-items: center;
	flex: 0 0 37px;
	font-family: "Lato", sans-serif;
	font-weight: bold;
}
button.accordionBtn {
		background-color: transparent;
		border: none;
		padding: 0;
		appearance: none;
}
/*accordion button*/
.accordionBtn {
	position: absolute;
	right:30px;
	top: 50%;
	transform: translateY(-50%);
}
.accordionBtn::before {
	font-family: recop-iconfonts;
	content: "\E813";
	color: var(--color-primary);
	font-size: 30px;
	cursor: pointer;
}
.faq-inner dt.show .accordionBtn::before{
	content: "\E822";
}

@media (any-hover: hover) {
	.faq-inner .qa dt:hover {
		cursor: pointer;
		background-color: #DFEDD9;
    transition: 0.3s ease 0s;
	}
}
@media only screen and (max-width: 767px) {
	.faq-inner{
		padding-top: 70px;
	}
	.sec-faq .c-bg-gray::before {
		border-radius: 120vw 120vw 0 0 / 50vw;
	}
	.faq-inner dl.qa:first-of-type {
		margin-top: 30px;
	}
	.faq-inner dt {
		padding: 20px 36px 20px 74px;
	}
	.faq-inner dt::before {
		right: 20px;
		transform: translateY(0);
		top: 20px;
		left: 20px;
	}
	.accordionBtn {
		right: 16px;
		transform: translateY(0);
		top: 20px;
	}
	.faq-inner dd {
		padding: 0  16px 20px 20px;
	}
}
/* 共通部分終わり */

	/*-------------------------------------------*/
	/*
	◆必須◆アクセシビリティ対応として以下を書き足す
	*/
	/*-------------------------------------------*/
	.accordionBtn::after {
		content: "クリック・タップで開きます";
		position: absolute;
		width: 1px;
		height: 1px;
		left: 0;
		top: 0;
		clip: rect(1px, 1px, 1px, 1px);
	}

	.show .accordionBtn::after {
		content: "クリック・タップで閉じます";
	}

/* =========================
	ctn
========================= */
.sec-ctn {
	padding: 80px 10px;
	text-align: center;
	background-color: var(--color-primary);
	position: relative;
	z-index: 1;
	overflow: hidden;
}

.sec-ctn::after {
	width: 100%;
	content: "JOIN US";
	font-family: 'Lato';
	font-size: 160px;
	position: absolute;
	bottom: 0px;
	left: 51%;
	transform: translateX(-50%);
	z-index: -1;
	color: #007409;
	line-height: 0.8;
	letter-spacing: 9%;
}

.ctn-txt {
	color: #fff;
	font-size: 28px;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 60px;
}

.ctn-txt::before {
	content: "";
	width: 1px;
	height: 60px;
	border-left: dotted 5px #fff;
	transform: rotate(-36deg) translateY(15px);
	display: block;
}

.ctn-txt::after {
	content: "";
	width: 1px;
	height: 60px;
	border-left: dotted 5px #fff;
	transform: rotate(36deg) translateY(15px);
	display: block;
}

.ctn-btn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 500px;
	margin: 30px auto 0;
	padding: 27px 60px;
	background-color: var(--color-bg);
	box-shadow: 0 4px 0 #0C5312;
	border: 1px solid var(--color-primary);
	border-radius: 8px;
	color: var(--color-primary) !important;
	font-size: 18px;
	font-weight: bold;
}

.ctn-btn::after {
	font-family: "recop-iconfonts";
	content: "\E841";
	position: absolute;
	top: 50%;
	right: 40px;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	font-size: 20px;
	font-weight: normal;
	line-height: 1;
	transform: translateY(-50%);
	padding-left: 1px;
	background: var(--color-primary);
	color: #fff;
}

.ctn-btn:hover {
	opacity: 1;
	background-color: #FFF8E2;
}

@media only screen and (max-width: 767px)  {
	.sec-ctn {
		padding: 48px 30px;
	}
	.ctn-txt {
		font-size: 22px;
		gap: 40px;
	}
	.ctn-txt::before {
		transform: rotate(-36deg) translateY(15px);
	}
	.ctn-txt::after {
		transform: rotate(36deg) translateY(15px);
	}
	.ctn-btn {
		padding: 18px 50px;
	}
	.ctn-btn::after {
		right: 30px;
	}
	.sec-ctn::after {
		font-size: 90px;
		white-space: nowrap;
		letter-spacing: normal;
	}

}