@charset "UTF-8";

:root {
	--font-base: 'Noto Sans JP', 'Inter', "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
	--font-Noto_Sans: 'Noto Sans JP', 'Inter', sans-serif;
	--font-Noto_Serif: 'Noto Serif JP', serif;
	--font-Roboto: 'Roboto', sans-serif;

	--color-black: rgb(57, 54, 54);
	--color-gray: rgb(217, 217, 217);
	--color-red01: rgb(237, 63, 84);
	--color-blue01: rgb(37, 206, 237);
}

*, *::before, *::after {
	box-sizing: border-box;
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
}

html {
	font-size: clamp(6.2px, 0.82vw, 10px);
	overflow: inherit !important;
}

body {
	position: relative;
	width: 100%;
	height: auto;
	background: #f1f5f5;
	color: var(--color-black);
	font-family: var(--font-base);
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 2;
	letter-spacing: 0;
	overflow: auto;
}

h2 {
	font-size: 6rem;
	font-weight: 700;
	line-height: 1.3;
}

h3 {
	font-size: 3rem;
	font-weight: 700;
	line-height: 1.44;
}

p {
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 2;
}

ul, ol, li {
	list-style: none;
}

button {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

a, button {
	text-decoration: none;
	transition: opacity .4s ease, color .4s ease, background-color .4s ease;
	color: inherit;
}

a:hover, button:hover {
	opacity: 0.5;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

caption, th, td {
	text-align: left;
	font-weight: normal;
	vertical-align: middle;
}

strong {
	font-weight: 700;
}



/*****************

   common   

******************/
#body_inner {
	width: 100%;
	height: auto;
}

.contents_wrapper {
	position: relative;
	max-width: 120rem;
	width: 96%;
	padding: 0;
	margin-right: auto;
	margin-left: auto;
	z-index: 10;
}


.flex_base {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

.flex_base.flex_wrap {
	flex-wrap: wrap;
	align-items: stretch;
}


.attention_text {
	display: inline-block;
	font-size: 1.6rem;
	line-height: 1.7;
}

.color-red {
	color: var(--color-red01);
}



@media screen and (min-width:769px) {
	.sp_only {
		display: none !important;
	}
}

@media screen and (max-width:769px) {
	.pc_only {
		display: none !important;
	}

	html {
		font-size: 7px;
		font-size: clamp(7px, 2.6vw, 24px);
	}

	body {
		font-size: 1.5rem;
		line-height: 1.86;
	}

	#body_inner {
		width: 100%;
		min-width: 0px;
		margin-bottom: 11rem;
	}

	p {
		font-size: 1.5rem;
		line-height: 1.86;
	}

	img {
		width: 100%;
	}


	.contents_wrapper {
		width: 91.7%;
	}

	.flex_base.sp_column {
		flex-direction: column;
	}

	.flex_base.sp_column>div,
	.flex_base.sp_column>p,
	.flex_base.sp_column>img {
		width: 100%;
	}

	.attention_text {
		text-align: left;
		font-size: 1.18rem;
		line-height: 1.8;
	}
}



/*****************
   parts
******************/
/*****   heading_block   *****/
.heading_block {
	position: relative;
	padding-top: 2.8rem;
	margin: 0.2rem auto 8.9rem;
	text-align: center;
	font-weight: 700;
}

.heading_block::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 6.5rem;
	height: 1rem;
	border-radius: 0.1rem;
	background: var(--color-red01);
}

.heading_block__sub {
	color: var(--color-gray);
	font-size: 4rem;
	line-height: 1.2;
}

.heading_block__heading {
	margin-top: 3.28rem;
	font-size: 6rem;
	line-height: 1.3;
}


@media screen and (max-width:769px) {
	.heading_block {
		padding-top: 1.25rem;
		margin-bottom: 3.8rem;
	}

	.heading_block::before {
		width: 3.7rem;
		height: 0.44rem;
	}

	.heading_block__sub {
		font-size: 1.96rem;
	}

	.heading_block__heading {
		margin-top: 0.96rem;
		font-size: 2.87rem;
		line-height: 1.25;
	}
}



/*****   bg_visual   *****/
.bg_visual,
.bg_visual img {
	width: 100%;
	height: auto;
}

.bg_visual {
	border-bottom: 1.18rem solid #43CEED;
	-o-border-image: linear-gradient(90deg, #3C67FF 0%, #43CEED 100%) 1;
	border-image: linear-gradient(90deg, #3C67FF 0%, #43CEED 100%) 1;
}

@media screen and (max-width:769px) {
	.bg_visual {
		border-bottom-width: 0.6rem;
	}
}






/******   btn   *****/

/*****************

   header

******************/
#header {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 0;
	z-index: 9995;
}


.hamburger_nav {
	display: block;
	width: 105rem;
	max-width: 100%;
	height: 45rem;
	background-image: url(../img/deco/hamburger_nav_bg.png);
	background-repeat: no-repeat;
	background-size: 100% 100%;
	margin-left: auto;
	margin-right: 0;
	transform: translateY(-56%);
	transition: transform 0.69s 0s ease;
	pointer-events: none;
}

.hamburger-active .hamburger_nav {
	transform: translateY(0);
	pointer-events: auto;
}

.hamburger_link_list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	-moz-column-gap: 3.2rem;
	column-gap: 3.2rem;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	padding-top: 7rem;
	margin-left: auto;
	margin-right: 13rem;
	opacity: 0;
	transition: opacity 0.39s 0s ease-in-out;
}

.hamburger-active .hamburger_link_list {
	transition: opacity 0.62s 0.37s ease;
	opacity: 1;
}

.hamburger_link_list__item a {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	-moz-column-gap: 1.8rem;
	column-gap: 1.8rem;
	padding: 1.1rem 1.5rem;
	color: #fff;
	font-size: 1.6rem;
}

.hamburger_link_list__en {
	min-width: 11.8rem;
}

.hamburger_link_list__text {
	font-size: 1.2rem;
}


#header .hamburger_btn {
	--hamburger-size: 11rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--hamburger-size);
	height: var(--hamburger-size);
	background: transparent;
	z-index: 9992;
}

#header .hamburger_btn {
	position: absolute;
	top: 0;
	right: 0;
	cursor: pointer;
}

#header .hamburger_btn span,
#header .hamburger_btn::before,
#header .hamburger_btn::after {
	--color: #fff;
	--position: 0;
	content: "";
	position: absolute;
	top: var(--position);
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	display: block;
	width: 56%;
	height: 0.69rem;
	background: var(--color);
	margin-top: 50%;
	transition: top 0.28s 0.28s, transform 0.28s, opacity 0.62s;
}

#header .hamburger_btn span {
	--position: 0;
}

#header .hamburger_btn::before {
	--position: -2rem;
}

#header .hamburger_btn::after {
	--position: 2rem;
}

#header.hamburger-active .hamburger_btn span {
	opacity: 0;
	transition: opacity 0s;
}

#header.hamburger-active .hamburger_btn::before,
#header.hamburger-active .hamburger_btn::after {
	--position: 0;
	transition: top 0.28s, transform 0.28s 0.28s, opacity 0s;
}

#header.hamburger-active .hamburger_btn::before {
	transform: translateY(-50%) translateX(-50%) rotate(45deg);
}

#header.hamburger-active .hamburger_btn::after {
	transform: translateY(-50%) translateX(-50%) rotate(-45deg);
}



@media screen and (min-width: 768.02px) {
	.hamburger_link_list__item:nth-of-type(n+3) a {
		border-top: 0.15rem solid #fff;
	}
}


@media screen and (max-width:769px) {
	.hamburger_nav {
		background-image: url(../img/deco/hamburger_nav_bg-sp.png);
		height: auto;
		transform: translateY(-77.7%);
	}

	.hamburger_link_list {
		grid-template-columns: 1fr;
		margin: 0 auto;
		padding: 6.2rem 0 14rem;
	}

	.hamburger_link_list__item a {
		border-bottom: 0.15rem solid #fff;
	}

	#header .hamburger_btn {
		--hamburger-size: 7.3rem;
	}

	#header .hamburger_btn span,
	#header .hamburger_btn::before,
	#header .hamburger_btn::after {
		width: 56%;
		height: 0.4rem;
	}

	#header .hamburger_btn span {
		--position: 0;
	}

	#header .hamburger_btn::before {
		--position: -1.3rem;
	}

	#header .hamburger_btn::after {
		--position: 1.3rem;
	}

}





/*****************

   .fixed_side

******************/
.fixed_side {
	position: fixed;
	width: auto;
	height: auto;
	padding: 1.6rem 0 1.7rem;
	z-index: 9990;
}

.fixed_side .fixed_side__inner a {
	position: relative;
	display: block;
	margin: 0 auto;
	background: var(--color-red01);
	color: #fff;
	font-size: 2.28rem;
	font-weight: 700;
}

.fixed_side .fixed_side__inner a::before {
	content: "";
	position: absolute;
	top: 0;
	transform: translateY(-1.1rem);
	left: 0;
	width: 100%;
	height: calc(100% + 1.1rem);
	background: var(--color-blue01);
	z-index: -1;
	transition: transform 0.2s;
}

.fixed_side .fixed_side__inner a:hover {
	opacity: 1;
}

@media screen and (min-width:769.02px) {
	.fixed_side {
		position: fixed;
		top: 50%;
		transform: translateY(-50%);
		right: 0;
	}

	.fixed_side .fixed_side__inner a {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 6.9rem;
		height: 38rem;
		padding-bottom: 0.22rem;
		-webkit-writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
	}

	.fixed_side .fixed_side__inner a:hover::before {
		transform: translateY(0);
	}
}

@media screen and (max-width:769px) {
	.fixed_side {
		top: auto;
		bottom: 0;
		left: 0;
		transform: translateZ(0);
		width: 100%;
		padding: 0;
		height: auto;
	}

	.fixed_side .fixed_side__inner a {
		padding: 0.5rem;
		padding-left: 1.3rem;
		font-size: 2rem;
		text-align: center;
	}

	.fixed_side .fixed_side__inner a::before {
		width: 1.44rem;
		height: 100%;
		transform: translateZ(0);
		z-index: 10;
	}

	.fixed_side .fixed_side__inner a:hover:before {
		transform: scaleX(0);
	}
}



/*****************

   footer

******************/
#footer {
	background: #F1F5F5;
	padding-top: 7rem;
	padding-bottom: 13rem;
}

#footer .copyright {
	width: 100%;
	text-align: center;
}

@media screen and (max-width:769px) {
	#footer {
		padding-top: 4rem;
		padding-bottom: 7.7rem;
	}
}



/*******************

   animation  

********************/
/***** fade_anime *****/
.js-fade_anime,
.js-fade_anime_list .js-fade_anime_list__item {
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.77s ease-in-out, transform 0.77s ease-in-out;

	opacity: 1 !important;
	transform: translateZ(0) !important;
}

.js-fade_anime.fade_in,
.js-fade_anime_list.fade_in .js-fade_anime_list__item {
	opacity: 1;
	pointer-events: all;
}


.js-fade_anime_list {
	--fade-delay: 0.56s;
}

.js-fade_anime_list.fade_in .js-fade_anime_list__item[data-fade_item="01"] {
	transition-delay: 0.1s;
}

.js-fade_anime_list.fade_in .js-fade_anime_list__item[data-fade_item="02"] {
	transition-delay: calc(var(--fade-delay) * 1 + 0.2s);
}

.js-fade_anime_list.fade_in .js-fade_anime_list__item[data-fade_item="03"] {
	transition-delay: calc(var(--fade-delay) * 2 + 0.2s);
}

.js-fade_anime_list.fade_in .js-fade_anime_list__item[data-fade_item="04"] {
	transition-delay: calc(var(--fade-delay) * 3 + 0.2s);
}

.js-fade_anime_list.fade_in .js-fade_anime_list__item[data-fade_item="05"] {
	transition-delay: calc(var(--fade-delay) * 4 + 0.2s);
}

.js-fade_anime_list.fade_in .js-fade_anime_list__item[data-fade_item="06"] {
	transition-delay: calc(var(--fade-delay) * 5 + 0.2s);
}

.js-fade_anime_list.fade_in .js-fade_anime_list__item[data-fade_item="07"] {
	transition-delay: calc(var(--fade-delay) * 6 + 0.1s);
}

.js-fade_anime_list.fade_in .js-fade_anime_list__item[data-fade_item="08"] {
	transition-delay: calc(var(--fade-delay) * 7 + 0.1s);
}

.js-fade_anime_list.fade_in .js-fade_anime_list__item[data-fade_item="09"] {
	transition-delay: calc(var(--fade-delay) * 8 + 0.1s);
}

.js-fade_anime_list.fade_in .js-fade_anime_list__item[data-fade_item="10"] {
	transition-delay: calc(var(--fade-delay) * 9 + 0.1s);
}


.js-fade_anime[data-fade_type="up"],
.js-fade_anime_list .js-fade_anime_list__item[data-fade_type="up"] {
	transform: translate3d(0, 23px, 0);
}

.js-fade_anime[data-fade_type="down"],
.js-fade_anime_list .js-fade_anime_list__item[data-fade_type="down"] {
	transform: translate3d(0, -23px, 0);
}

.js-fade_anime[data-fade_type="rtl"],
.js-fade_anime_list .js-fade_anime_list__item[data-fade_type="rtl"] {
	transform: translate3d(28px, 0, 0);
}

.js-fade_anime[data-fade_type="ltr"],
.js-fade_anime_list .js-fade_anime_list__item[data-fade_type="ltr"] {
	transform: translate3d(-28px, 0, 0);
}

.js-fade_anime[data-fade_type="zoom_in"],
.js-fade_anime_list .js-fade_anime_list__item[data-fade_type="zoom_in"] {
	transform: scale(0.92);
}

.js-fade_anime.fade_in[data-fade_type="up"],
.js-fade_anime.fade_in[data-fade_type="down"],
.js-fade_anime.fade_in[data-fade_type="rtl"],
.js-fade_anime.fade_in[data-fade_type="ltr"],
.js-fade_anime.fade_in[data-fade_type="zoom_in"],
.js-fade_anime_list.fade_in .js-fade_anime_list__item[data-fade_type="up"],
.js-fade_anime_list.fade_in .js-fade_anime_list__item[data-fade_type="down"],
.js-fade_anime_list.fade_in .js-fade_anime_list__item[data-fade_type="rtl"],
.js-fade_anime_list.fade_in .js-fade_anime_list__item[data-fade_type="ltr"],
.js-fade_anime_list.fade_in .js-fade_anime_list__item[data-fade_type="zoom_in"] {
	transform: translate3d(0, 0, 0);
}




/*****   slick   *****/
.slider {
	line-height: 0;
	opacity: 0;
	transition: 0.56s opacity ease-in-out;
}

.slider.slick-initialized {
	opacity: 1;
}


.slick-track {
	display: flex !important;
}

.slick-slide {
	height: auto !important;
	-webkit-backface-visibility: hidden;
	-webkit-transform-style: preserve-3d;
}

/*** dots ***/
.slick-dots {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 5rem auto 2rem;
	width: 75rem;
	max-width: 87.7%;
}

.slick-dots li {
	flex: 1;
	height: 1.1rem;
	background: #fff;
	cursor: pointer;
}

.slick-dots li.slick-active {
	background: var(--color-red01);
}

.slick-dots li button {
	font-size: 0px;
	display: none;
}

@media screen and (max-width:769px) {

	.slider_sp {
		opacity: 0;
		transition: 0.4s opacity ease-in-out;
	}

	.slider_sp.slick-initialized {
		opacity: 1;
	}

	.slick-dots {
		margin-top: 4rem;
	}
}




/*****   アコーディオン   *****/
.js-acc_switch {
	position: relative;
	cursor: pointer;
}

.js-acc_switch::after {
	--size: 2.8rem;
	content: "";
	position: absolute;
	top: 50%;
	right: 3.7rem;
	transform: translateY(-55%) rotate(0deg);
	transform-origin: center center;
	width: var(--size);
	height: calc(var(--size) * (24/28));
	background: #fff;
	-webkit-clip-path: polygon(0 100%, 50% 0, 100% 100%);
	clip-path: polygon(0 100%, 50% 0, 100% 100%);
	pointer-events: none;
	transition: transform 0.5s ease-in-out;
}

.js-acc_block {
	display: none;
}

.js-acc_wrapper.active .js-acc_switch::after {
	transform: translateY(-45%) rotate(-540deg);
}

@media screen and (max-width:769px) {
	.acc_switch::after {
		right: 1.4rem;
	}

	.js-acc_switch::after {
		--size: 1.7rem;
	}
}




/***************

   main

****************/
.main_section {
	position: relative;
	overflow-x: hidden;
}





/*****************

   .fv

******************/
.fv {
	position: relative;
	background: transparent;
	z-index: 1000;
	padding: 0;
}

.fv_slider {
	border-bottom: #43C9ED 1.25rem solid;
}

.fv__block {
	position: relative;
	width: 100%;
}

.fv__bg img {
	width: 100%;
}

.fv__inner {
	position: absolute;
	top: 44%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	width: 92%;
	max-width: 1250px;
	height: auto;
}

.fv .page_tit {
	position: relative;
	top: 0;
	right: 0;
	width: 55%;
}

.fv .page_tit img {
	width: 100%;
}


.fv__block[data-slider="01"] .fv__left_text {
	position: absolute;
	bottom: 3.2rem;
	left: 0;
	padding-left: 11.5rem;
	padding-right: 2.2rem;
	padding-bottom: 0.44rem;
	background: linear-gradient(90deg, #FFD872 -14.47%, #43CEED 100%);
	color: #fff;
	font-size: 2.44rem;
	font-weight: 700;
	line-height: 2.2;
}


.fv__block[data-slider="02"] .fv__inner {
	top: 56%;
}

.fv__block[data-slider="02"] .page_tit {
	margin-left: auto;
	margin-right: auto;
}

.fv__block[data-slider="02"] .fv_list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	width: 73%;
	max-width: 70rem;
	margin: 1em auto 0;
	font-size: clamp(1.7rem, 1.92vw, 2.5rem);
	column-gap: 1.5rem;
}

.fv__block[data-slider="02"] .fv_list__item {
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 100rem;
	width: 100%;
	height: auto;
	aspect-ratio: 1/1;
	padding: 5% 1% 5.4%;
	color: #fff;
	text-align: center;
	font-size: 1.02em;
	font-weight: 700;
	line-height: 1.32;
	white-space: nowrap;
}

.fv__block[data-slider="02"] .fv_list__item .larger {
	font-size: 1.62em;
	line-height: 1.1;
}

.fv__block[data-slider="02"] .fv_list__item:nth-of-type(1) {
	background: #F45B51;
}

.fv__block[data-slider="02"] .fv_list__item:nth-of-type(2) {
	background: #A4DD47;
	letter-spacing: -0.04em;
}

.fv__block[data-slider="02"] .fv_list__item:nth-of-type(3) {
	background: #43CEED;
}

.fv__block[data-slider="02"] .fv_list__item:nth-of-type(4) {
	background: #964BF6;
}

@media screen and (min-width:769.02px) {
	.fv {
		font-size: clamp(16px, 1.25vw, 32px);
		padding-bottom: 3em;
	}

	.fv .page_tit {
		margin-left: auto;
		margin-right: 0;
	}


}



@media screen and (max-width:769px) {
	.fv .fv__inner {
		top: 73%;
	}

	.fv .page_tit {
		width: 97.1%;
		margin-left: auto;
		margin-right: auto;
	}

	.fv .slick-slide>div {
		height: 100%;
	}

	.fv__block {
		height: 100%;
	}

	.fv__bg,
	.fv__bg img {
		height: 100%;
		-o-object-fit: cover;
		object-fit: cover;
	}

	.fv__block[data-slider="01"] .fv__left_text {
		width: 100%;
		padding: 0 0 0.21rem;
		font-size: 1.6rem;
		text-align: center;
	}

	.fv__block[data-slider="02"] .page_tit {
		margin-top: -8.7rem;
	}

	.fv__block[data-slider="02"] .fv_list {
		width: 100%;
		font-size: 1.3rem;
		margin-top: 0.18em;
	}
}





/*****************

   .company

******************/
.company {
	padding: 11.9rem 0 13.2rem;
	overflow: hidden;
}

.comany_point__block {
	position: relative;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
}

.comany_point__img_block {
	-webkit-filter: drop-shadow(0 0.4rem 0.4rem rgba(0, 0, 0, 0.25));
	filter: drop-shadow(0 0.4rem 0.4rem rgba(0, 0, 0, 0.25));
}

.comany_point__img_block img {
	display: block;
	--img_url: url("../img/deco/company_point01__clip_path.svg");
	mask-image: var(--img_url);
	mask-repeat: no-repeat;
	mask-position: 0 0;
	-webkit-mask-size: 50%;
	mask-size: 50%;
	-webkit-mask-image: var(--img_url);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: 0 0;
	-webkit-mask-size: 100% 100%;
}

.comany_point__block:nth-of-type(1) .comany_point__img_block img {
	width: 69rem;
	--img_url: url("../img/deco/company_point01__clip_path.svg");
}

.comany_point__block:nth-of-type(2) .comany_point__img_block img {
	width: 69rem;
	--img_url: url("../img/deco/company_point02__clip_path.svg");
}

.comany_point__block:nth-of-type(3) .comany_point__img_block img {
	width: 70rem;
	--img_url: url("../img/deco/company_point03__clip_path.svg");
}

.comany_point__block:nth-of-type(4) .comany_point__img_block img {
	width: 64.4rem;
	--img_url: url("../img/deco/company_point04__clip_path.svg");
}


.comany_point .num_box {
	display: block;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-bottom: 2.2rem;
	color: var(--color-red01);
	font-size: 2.9rem;
	font-weight: 700;
	line-height: 1;
	text-align: center;
}

.comany_point .num_box__num {
	display: block;
	padding-left: 0.1em;
	font-size: 2.55em;
	font-family: var(--font-Roboto);
	line-height: 1;
}

.comany_point__tit {
	margin-bottom: 1.1rem;
	font-size: 3rem;
	line-height: 1.39;
}

.comany_point__text,
.comany_point__graph {
	width: 46.2rem;
	text-align: left;
}

.comany_point__graph {
	margin-top: 2.9rem;
}



.comany_point__block::before,
.comany_point__block::after {
	--size: 0;
	--aspect: 1;
	content: "";
	position: absolute;
	background-size: contain;
	background-repeat: no-repeat;
	width: var(--size);
	height: calc(var(--size) * var(--aspect));
	z-index: -1;
}

.comany_point__block:nth-of-type(1)::before {
	background-image: url(../img/deco/company_point01__deco01.svg);
	--size: 66rem;
	--aspect: 487/665;
}

.comany_point__block:nth-of-type(1)::after {
	background-image: url(../img/deco/company_point01__deco02.svg);
	--size: 13rem;
	--aspect: 126/131;
}

.comany_point__block:nth-of-type(2)::before {
	background-image: url(../img/deco/company_point01__deco03.svg);
	--size: 70rem;
	--aspect: 410/707;
}

.comany_point__block:nth-of-type(2)::after {
	background-image: url(../img/deco/company_point01__deco04.svg);
	--size: 70rem;
	--aspect: 573/705;
}

.comany_point__block:nth-of-type(3)::before {
	background-image: url(../img/deco/company_point01__deco05.svg);
	--size: 47.6rem;
	--aspect: 473/480;
}

.comany_point__block:nth-of-type(3)::after {
	background-image: url(../img/deco/company_point01__deco06.svg);
	--size: 39rem;
	--aspect: 391/388;
}

.comany_point__block:nth-of-type(4)::before {
	background-image: url(../img/deco/company_point01__deco07.svg);
	--size: 73.9rem;
	--aspect: 359/739;
}

.comany_point__block:nth-of-type(4)::after {
	background-image: url(../img/deco/company_point01__deco08.svg);
	--size: 15.5rem;
	--aspect: 286/154;
}


@media screen and (min-width:769.02px) {
	.company .contents_wrapper {
		width: 100%;
		max-width: 160rem;
	}

	.comany_point__block:nth-of-type(2n+1) {
		flex-direction: row-reverse;
	}

	.comany_point__block:nth-of-type(1) {
		-moz-column-gap: 6.2rem;
		column-gap: 6.2rem;
	}

	.comany_point__block:nth-of-type(2) {
		-moz-column-gap: 5.5rem;
		column-gap: 5.5rem;
		margin-top: 17rem;
	}

	.comany_point__block:nth-of-type(3) {
		-moz-column-gap: 1.9rem;
		column-gap: 1.9rem;
		margin-top: 2rem;
	}

	.comany_point__block:nth-of-type(4) {
		-moz-column-gap: 5.6rem;
		column-gap: 5.6rem;
		margin-top: 22.8rem;
	}

	.comany_point__block:nth-of-type(1) .comany_point__img_block {
		margin-right: -4.7rem;
	}

	.comany_point__block:nth-of-type(2) .comany_point__img_block {
		margin-left: -5.5rem;
	}

	.comany_point__block:nth-of-type(3) .comany_point__img_block {
		margin-right: -1rem;
	}

	.comany_point__block:nth-of-type(4) .comany_point__img_block {
		margin-left: -1.9rem;
	}

	.comany_point__block:nth-of-type(1) .comany_point__text_block {
		margin-top: 2rem;
	}

	.comany_point__block:nth-of-type(2) .comany_point__text_block {
		margin-top: 7.3rem;
	}

	.comany_point__block:nth-of-type(2) .num_box {
		color: #fff;
	}

	.comany_point__block:nth-of-type(3) .comany_point__text_block {
		margin-top: 10.2rem;
	}

	.comany_point__block:nth-of-type(4) .comany_point__text_block {
		margin-top: 0.5rem;
	}

	.comany_point__block:nth-of-type(4) .num_box {
		color: #fff;
	}

	.comany_point__block:nth-of-type(1)::before {
		top: 27.3rem;
		right: 39rem;
	}

	.comany_point__block:nth-of-type(1)::after {
		bottom: -22.8rem;
		right: 10rem;
	}

	.comany_point__block:nth-of-type(2)::before {
		top: -5.6rem;
		left: 28rem;
	}

	.comany_point__block:nth-of-type(2)::after {
		bottom: -11rem;
		left: -25rem;
	}

	.comany_point__block:nth-of-type(3)::before {
		top: -9.2rem;
		right: -5rem;
	}

	.comany_point__block:nth-of-type(3)::after {
		bottom: -32.9rem;
		right: 11rem;
	}

	.comany_point__block:nth-of-type(4)::before {
		top: -17rem;
		left: 44.7rem;
	}

	.comany_point__block:nth-of-type(4)::after {
		top: -11rem;
		left: 44rem;
	}
}

@media screen and (max-width:769px) {
	.company {
		padding: 6.9rem 0 7rem;
	}

	.comany_point__block {
		flex-direction: column;
	}

	.comany_point__block:nth-of-type(n+2) {
		margin-top: 5.4rem;
	}

	.comany_point__img_block {
		width: 92%;
		margin: 0 auto 1.8rem;
	}

	.comany_point__text_block {
		display: grid;
		grid-template-columns: 6rem 1fr;
		grid-template-rows: auto;
		align-items: center;
		-moz-column-gap: 1rem;
		column-gap: 1rem;
		width: 100%;
	}

	.comany_point .num_box {
		position: relative;
		margin-left: -0.77rem;
		margin-bottom: 0.5rem;
		font-size: 1.9rem;
	}

	.comany_point__tit {
		font-size: 2.2rem;
	}

	.comany_point__inner {}

	.comany_point__text,
	.comany_point__graph {
		grid-column: 1 / 3;
		width: 100%;
		font-size: 1.47rem;
		letter-spacing: -0.02em;
	}

	.comany_point__graph {
		margin-top: 1.3rem;
	}


	.comany_point__block:nth-of-type(3) .comany_point__img_block {
		width: 37rem;
	}

	.comany_point__block:nth-of-type(4) .comany_point__img_block {
		width: 40rem;
		margin-left: -0rem;
		margin-bottom: 3.7rem;
	}


	.comany_point__block:nth-of-type(1)::before {
		--size: 35rem;
		top: 20rem;
		right: -0.77rem;
	}

	.comany_point__block:nth-of-type(1)::after {
		--size: 13.7rem;
		bottom: -15rem;
		left: -1rem;
	}

	.comany_point__block:nth-of-type(2)::before {
		--size: 29rem;
		transform: rotate(173deg);
		top: 17.7rem;
		right: -1.9rem;
	}

	.comany_point__block:nth-of-type(2)::after {
		display: none;
	}

	.comany_point__block:nth-of-type(3)::before {
		--size: 22rem;
		top: -5rem;
		right: -2.7rem;
	}

	.comany_point__block:nth-of-type(3)::after {
		--size: 25rem;
		bottom: -21.8rem;
		right: 5.4rem;
	}

	.comany_point__block:nth-of-type(4)::before {
		--size: 29rem;
		top: 20rem;
		right: 3.2rem;
		transform: rotateY(180deg) rotateZ(32deg);
	}

	.comany_point__block:nth-of-type(4)::after {
		--size: 9.6rem;
		top: -4rem;
		right: -2.6rem;
	}
}



/*****************

   .about

******************/
.about {
	padding: 4.4rem 0 17.7rem;
	background: linear-gradient(180deg, #43CEED 0%, #3746D0 100%);
}

.about__heading {
	text-align: center;
	color: #fff;
	font-size: 5rem;
	margin-top: 11rem;
	margin-bottom: 4.17rem;
	line-height: 1.1;
}

.about_number_list {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	-moz-column-gap: 1.4rem;
	column-gap: 1.4rem;
}

.about_number_list__item {
	flex: 1;
	background: #fff;
}

.about_number_list__tit {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem 0;
	margin-bottom: 5.5rem;
	font-size: 3.2rem;
	background: var(--color-red01);
	color: #fff;
}

.about_number_list__tit::after {
	content: "";
	position: absolute;
	background: var(--color-red01);
}

.about_number_list__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	padding-bottom: 1.1rem;
}

.about_number_list__text {
	text-align: center;
	font-size: 9.17rem;
	font-weight: 700;
	font-family: var(--font-Noto_Serif);
	line-height: 0.5;
}

.about_number_list__text .smaller {
	position: relative;
	top: -0.1em;
	font-size: 4.5rem;
}

.about_number_list__text .smaller02 {
	font-size: 3rem;
	line-height: 1;
}

.about_number_list__text .comma {
	position: relative;
	margin-left: -0.15em;
	margin-right: -0.1em;
}


.about_number_list__attention_text {
	font-size: 1.5rem;
	margin-top: 2.8rem;
}

.about_number_list__item:nth-of-type(2) .about_number_list__text .smaller02 {
	display: block;
}


.about_recommned_list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto;
	-moz-column-gap: 1.7rem;
	column-gap: 1.7rem;
	row-gap: 1.9rem;
}

.about_recommned_list__item {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	-moz-column-gap: 1.7rem;
	column-gap: 1.7rem;
	padding: 1.6rem 2.5rem;
	background: #fff;
	font-size: 2.1rem;
	color: #000;
}

.about_recommned_list__item::before {
	--size: 4.7rem;
	content: "";
	position: relative;
	display: block;
	margin-top: 0.25rem;
	background-image: url(../img/deco/icon_checkmark02.svg);
	background-size: contain;
	background-repeat: no-repeat;
	min-width: var(--size);
	width: var(--size);
	height: calc(var(--size) * (45/47));
}


@media screen and (min-width:769.02px) {
	.about_number_list__tit::after {
		top: calc(100% - 0.1rem);
		left: 0;
		width: 100%;
		height: 2rem;
		-webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
		clip-path: polygon(0 0, 100% 0, 50% 100%);
	}


	.about_number_list__item:nth-of-type(1) .about_number_list__text {
		font-size: 9.6rem;
	}

	.about_number_list__item:nth-of-type(1) .about_number_list__text .smaller {
		font-size: 5rem;
	}

	.about_number_list__item:nth-of-type(1) .about_number_list__attention_text {
		margin-top: 1.7rem;
	}

	.about_number_list__item:nth-of-type(2) .about_number_list__text .smaller02 {
		display: block;
		line-height: 2.5;
	}

}

@media screen and (max-width:769px) {
	.about {
		padding: 1.7rem 0 6.9rem;
	}

	.about__heading {
		font-size: 2.7rem;
		margin-top: 3.9rem;
		margin-bottom: 2.2rem;
		white-space: nowrap;
	}

	.about_number_list {
		flex-direction: column;
		-moz-column-gap: 1.4rem;
		column-gap: 1.4rem;
		row-gap: 1.1rem;
	}

	.about_number_list__item {
		display: flex;
		align-items: stretch;
		justify-content: space-between;
	}

	.about_number_list__tit {
		width: 10.6rem;
		padding: 0;
		padding-left: 1.55rem;
		margin-bottom: 0;
		margin-right: 4rem;
		font-size: 2rem;
		line-height: 1.25;
	}

	.about_number_list__tit::after {
		top: 0;
		left: calc(100% - 0.1rem);
		width: 2.9rem;
		height: 100%;
		-webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
		clip-path: polygon(0 0, 100% 50%, 0 100%);
	}

	.about_number_list__inner {
		flex: 1;
		justify-content: flex-start;
		padding: 0.37rem 0 0.7rem;
	}

	.about_number_list__text {
		width: 100%;
		text-align: left;
		font-size: 5.6rem;
		line-height: 1;
	}

	.about_number_list__text .smaller {
		font-size: 3.1rem;
	}

	.about_number_list__text .smaller02 {
		font-size: 1.25rem;
	}

	.about_number_list__attention_text {
		width: 100%;
		margin-top: -0.28rem;
		font-size: 1.25rem;
	}

	.about_number_list__text .comma {
		position: relative;
		top: -0.1em;
		margin-left: -0.1em;
		margin-right: -0.05em;
	}

	.about_number_list__item:nth-of-type(1) .about_number_list__text {
		font-size: 5.6rem;
	}

	.about_number_list__item:nth-of-type(1) .about_number_list__text .smaller {
		font-size: 3.1rem;
	}

	.about_number_list__item:nth-of-type(3) .about_number_list__attention_text {
		margin-top: 0.1rem;
	}

	.about_number_list__item:nth-of-type(2) .about_number_list__text .smaller02 {
		margin-bottom: 0.87rem;
	}


	.about_recommned_list {
		grid-template-columns: 1fr;
		row-gap: 0.92rem;
	}

	.about_recommned_list__item {
		padding: 1rem 1.5rem;
		-moz-column-gap: 0.89rem;
		column-gap: 0.89rem;
		font-size: 1.37rem;
	}

	.about_recommned_list__item::before {
		--size: 2.5rem;
	}
}



/*****************

   .support

******************/
.support {
	padding: 18rem 0 11rem;
	overflow: hidden;
}

.support__heading {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 7.7rem;
	font-size: 5.4rem;
}

.support__heading::before {
	--size: 8.5rem;
	content: "";
	position: relative;
	top: -0.1rem;
	display: block;
	width: var(--size);
	height: calc(var(--size) * (69/85));
	background-image: url(../img/deco/icon_checkmark01.svg);
	background-size: contain;
	background-repeat: no-repeat;
}

.support_list {
	display: flex;
	align-items: stretch;
	justify-content: center;
	flex-wrap: wrap;
	-moz-column-gap: 7rem;
	column-gap: 7rem;
	row-gap: 7rem;
}

.support_list__item {
	position: relative;
}

.support_list__item::before {
	--width: 0;
	--aspect: 0;
	content: "";
	position: absolute;
	top: 14rem;
	left: 50%;
	transform: translateX(-50%);
	background-size: contain;
	background-repeat: no-repeat;
	width: var(--width);
	height: calc(var(--width) * var(--aspect));
	z-index: -1;
}

.support_list__item:nth-of-type(1):before {
	background-image: url(../img/deco/support__deco01.svg);
	top: 14rem;
	--width: 47rem;
	--aspect: 303/465;
}

.support_list__item:nth-of-type(2):before {
	background-image: url(../img/deco/support__deco02.svg);
	top: 17rem;
	--width: 25rem;
	--aspect: 416/245;
}

.support_list__item:nth-of-type(3):before {
	background-image: url(../img/deco/support__deco03.svg);
	top: 20rem;
	--width: 27rem;
	--aspect: 419/267;
}

.support_list__item:nth-of-type(4):before {
	background-image: url(../img/deco/support__deco04.svg);
	top: 23rem;
	--width: 44rem;
	--aspect: 322/434;
}

.support_list__item:nth-of-type(5):before {
	background-image: url(../img/deco/support__deco05.svg);
	top: 24rem;
	--width: 26rem;
	--aspect: 333/261;
}

.support_list__img_block {
	position: relative;
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1/1;
	margin-bottom: 4rem;
	border-radius: 100%;
	overflow: hidden;
}

.support_list__img_block img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.support_list__tit {
	margin-bottom: 1.6rem;
	font-size: 2.2rem;
	text-align: center;
}

.support_list__text {
	text-align: left;
}


@media screen and (min-width:769.02px) {
	.support_list__item {
		width: calc((100% - 14.1rem)/3);
	}
}

@media screen and (max-width:769px) {
	.support {
		padding: 6.2rem 0 7rem;
	}

	.support__heading {
		flex-direction: column;
		row-gap: 1.19rem;
		margin-bottom: 2.7rem;
		font-size: 2.8rem;
	}

	.support__heading::before {
		--size: 4.7rem;
	}

	.support_list {
		flex-direction: column;
		row-gap: 5rem;
	}

	.support_list__item {
		width: 100%;
	}


	.support_list__img_block {
		width: 92%;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 2.8rem;
	}

	.support_list__tit {
		margin-bottom: 1.44rem;
	}


	.support_list__item:nth-of-type(2):before {
		top: 11rem;
	}

	.support_list__item:nth-of-type(3):before {
		top: 13.7rem;
	}

	.support_list__item:nth-of-type(4):before {
		top: 18.7rem;
	}

	.support_list__item:nth-of-type(5):before {
		top: 19.7rem;
		left: 64.4%;
	}
}



/*****************

   .welfare

******************/
.welfare {
	padding: 10rem 0 14rem;
}

.welfare .contents_wrapper {
	width: 100%;
	max-width: 100%;
}

.welfare_list__wrapper {
	--left: 8.7vw;
	padding-right: calc(var(--left) * 2);
	padding-left: var(--left);
	padding-bottom: 7rem;
	width: 100%;
	overflow-x: auto;
}

.welfare_list__wrapper.js-fade_anime {
	transform: translate3d(50px, 0, 0);
}

.welfare_list__wrapper::-webkit-scrollbar {
	height: 1.37rem;
}

.welfare_list__wrapper::-webkit-scrollbar-track {
	background-color: #fff;
	margin-left: var(--left);
}

.welfare_list__wrapper::-webkit-scrollbar-thumb {
	background: var(--color-red01);
}

.welfare_list {
	display: flex;
	justify-content: stretch;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}

.welfare_list .slick-track {
	display: flex;
	align-items: stretch;
}

.welfare_list__item {
	width: 31rem;
	border-radius: 2rem;
	overflow: hidden;
	background: #fff;
	box-shadow: 0px 0.7rem 0.7rem 0px rgba(0, 0, 0, 0.28);
}

.welfare_list__item:nth-of-type(n+2) {
	margin-left: 2.5rem;
}

.welfare_list__illust_box {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 16.44rem;
	background: var(--color-blue01);
}

.welfare_list__illust_box img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.welfare_list__tit {
	margin-top: 3.2rem;
	padding: 0 1rem 0;
	text-align: center;
	font-size: 2.4rem;
	line-height: 1.25;
	min-height: 6rem;
}

.welfare_list__text {
	padding: 2rem 2.7rem 2.5rem;
	font-size: 1.5rem;
}



@media screen and (min-width:769.02px) {}

@media screen and (max-width:769px) {
	.welfare {
		padding: 1.8rem 0 8.2rem;
	}


	.welfare_list__wrapper {
		--left: 1.8rem;
		padding-bottom: 2.8rem;
	}

	.welfare_list__wrapper::-webkit-scrollbar {
		height: 0.77rem;
	}


	.welfare_list__item {
		width: 28.7rem;
	}

	.welfare_list__illust_box {
		height: 14.4rem;
	}

	.welfare_list__tit {
		margin-top: 2.82rem;
	}

	.welfare_list__text {
		padding: 1.55rem 2.2rem 2.5rem;
	}

	.welfare_list__item:nth-of-type(n+2) {
		margin-left: 2.2rem;
	}
}



/*****************

   .schedule

******************/
.schedule {
	background: #fff;
	padding: 17rem 0 14.4rem;
}

.schedule_block {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	-moz-column-gap: 3.8rem;
	column-gap: 3.8rem;
}

.schedule_block__inner {
	width: 100%;
}

.schedule_block__text {
	text-align: center;
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1.54;
	margin-top: 1.4rem;
}


@media screen and (max-width:769px) {
	.schedule {
		padding: 6.9rem 0 7rem;
	}

	.schedule_block {
		flex-direction: column;
	}

	.schedule_block__inner:nth-of-type(n+2) .schedule_block__figure {
		margin-top: 3.9rem;
	}

	.schedule_block__text {
		font-size: 1.8rem;
		line-height: 1.47;
		margin-top: 1.1rem;
	}
}



/*****************

   .worker_voice

******************/
.worker_voice {
	position: relative;
	padding: 11rem 0 16rem;
}

.worker_voice__heading {
	position: relative;
	margin-bottom: 5rem;
	text-align: center;
	font-size: 4rem;
}

.worker_voice .contents_wrapper {
	width: 100%;
	max-width: 100%;
}

.worker_voice_block__wrapper {
	--left: 8.7vw;
	padding-right: calc(var(--left) * 2);
	padding-left: var(--left);
	padding-bottom: 7rem;
	width: 100%;
	overflow-x: auto;
}

.worker_voice_block__wrapper::-webkit-scrollbar {
	height: 1.37rem;
}

.worker_voice_block__wrapper::-webkit-scrollbar-track {
	background-color: #fff;
	margin-left: var(--left);
}

.worker_voice_block__wrapper::-webkit-scrollbar-thumb {
	background: var(--color-red01);
}


.worker_voice_block {
	display: flex;
	align-items: stretch;
	justify-content: flex-start;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}

.worker_voice_block__box {
	position: relative;
	width: 56rem;
	padding: 0 3.7rem 1.6rem;
	background: #fff;
}

.worker_voice_block__box:nth-of-type(n+2) {
	margin-left: 3.4rem;
}

.worker_voice_block__box .num_box {
	position: absolute;
	top: 0;
	left: 3.7rem;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	width: 11rem;
	height: 12.5rem;
	padding-bottom: 1rem;
	-webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 87%, 0 100%, 0 0);
	clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 87%, 0 100%, 0 0);
	background: var(--color-red01);
	color: #fff;
	font-size: 1.7rem;
	font-weight: 700;
	text-align: center;
	line-height: 1;
}

.worker_voice_block__box .num_box__num {
	font-size: 5rem;
}

.worker_voice_block__profile {
	position: relative;
	width: 100%;
	min-height: 15.4rem;
	margin: 0;
	padding: 3.7rem 0.1rem 2.2rem;
	padding-left: 13.4rem;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.5;
}

.worker_voice_block__profile>span {
	position: relative;
	display: block;
}

.worker_voice_block__profile .name {
	font-size: 1.7rem;
	margin-bottom: 0.69rem;
}

.worker_voice_block__profile .type {
	margin-bottom: 0.25rem;
}

.worker_voice_block__profile .sub {
	font-size: 1.7rem;
}


.worker_voice_block__profile .illust {
	position: absolute;
	bottom: -0.1rem;
	right: 1rem;
	width: auto;
	height: 11.7rem;
}


.worker_voice_block__question {
	--indent: 1.7rem;
	position: relative;
	padding: 0.77rem var(--indent) 0.96rem;
	margin-bottom: 0.92rem;
	background: var(--color-blue01);
	color: #fff;
	font-weight: 700;
	line-height: 1.5;
	padding-left: calc(var(--indent) + 1em);
	text-indent: -1em;
}

.worker_voice_block__answer {
	margin-bottom: 2.2rem;
}



@media screen and (min-width:769.02px) {}

@media screen and (max-width:769px) {
	.worker_voice {
		padding: 6.2rem 0 7rem;
	}

	.worker_voice__heading {
		margin-bottom: 2.9rem;
		font-size: 2.2rem;
	}


	.worker_voice_block__wrapper {
		--left: 1.8rem;
		padding-bottom: 2.8rem;
	}

	.worker_voice_block__wrapper::-webkit-scrollbar {
		height: 0.77rem;
	}


	.worker_voice_block__box {
		width: 32rem;
		padding: 0 2rem 0.4rem;
	}

	.worker_voice_block__box:nth-of-type(n+2) {
		margin-left: 2rem;
	}

	.worker_voice_block__box .num_box {
		left: 2.2rem;
		width: 6.2rem;
		height: 7.3rem;
		font-size: 1.25rem;
		line-height: 1;
	}

	.worker_voice_block__box .num_box>span:first-of-type {
		transform: scale(0.77);
		transform-origin: center bottom;
	}

	.worker_voice_block__box .num_box__num {
		font-size: 2.87rem;
	}

	.worker_voice_block__profile .illust {
		width: auto;
		height: 6.9rem;
		right: 0.44rem;
	}

	.worker_voice_block__profile {
		min-height: 8.9rem;
		padding: 1.9rem 2rem 1.6rem;
		padding-left: 7.6rem;
		font-size: 1.5rem;
	}

	.worker_voice_block__profile .name {
		font-size: 1.25rem;
		margin-bottom: 0.11rem;
	}

	.worker_voice_block__profile .type {
		margin-bottom: 0.15rem;
	}

	.worker_voice_block__profile .sub {
		font-size: 1.2rem;
		line-height: 1.2;
	}


	.worker_voice_block__question {
		--indent: 1.1rem;
		padding: 0.29rem var(--indent) 0.55rem;
		margin-bottom: 0.34rem;
		font-size: 1.56rem;
		padding-left: calc(var(--indent) + 1em);
		text-indent: -1em;
	}

	.worker_voice_block__answer {
		margin-bottom: 2rem;
	}
}




/*****************

   .job_description

******************/
.job_description {
	background: #fff;
	padding: 18rem 0 22rem;
}


.job_description__block {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto;
	-moz-column-gap: 5.6rem;
	column-gap: 5.6rem;
	row-gap: 6.2rem;
}

.job_description__area {
	margin-bottom: 0.15rem;
	font-size: 3.2rem;
}

.job_description__office {
	text-align: left;
}

.job_description_points {
	display: grid;
	grid-template-columns: 1fr 1fr;
	-moz-column-gap: 1rem;
	column-gap: 1rem;
	margin-bottom: 2.1rem;
}

.job_description_points__item {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.5rem 0.1rem 0.82rem;
	border: 0.14rem solid var(--color-black);
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.1;
	white-space: nowrap;
}

.job_description_points__item span {
	vertical-align: text-bottom;
}

.job_description_points__item .larger {
	font-size: 1.5em;
	line-height: 1.1;
	letter-spacing: 0.02em;
}

.job_description__attention_text {
	text-align: right;
	font-size: 1.25rem;
	margin-top: -1rem;
}

.job_description__btn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 6rem;
	border-radius: 10rem;
	border: 0.2rem solid var(--color-blue01);
	background: var(--color-blue01);
	color: #fff;
	font-size: 2rem;
	font-weight: 700;
	transition: 0.18s background-color ease-out, 0.18s color ease-out;
}

.job_description__btn::after {
	content: "＞";
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%) translateX(-2.5rem);
	font-size: 1.1em;
	transition: transform 0.17s ease;
}

.job_description__btn:hover {
	opacity: 0.92;
	color: var(--color-blue01);
	background: #fff;
}

.job_description__btn:hover::after {
	transform: translateY(-50%) translateX(-1.5rem);
}



.job_description__detail_wrapper {
	margin-bottom: 1.1rem;
}

.job_description__detail_heading {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	padding: 1rem 7.0rem 1.2rem 2.8rem;
	min-height: 6.2rem;
	border-radius: 0.54rem;
	background: #43CEED;
	color: #fff;
	font-size: 2.0rem;
	font-weight: 700;
	line-height: 1.44;
}

.job_description .job_description__detail_heading::before,
.job_description .job_description__detail_heading::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 3.5rem;
	transform: translateY(-50%);
	width: 2.5rem;
	height: 0.32rem;
	background: #fff;
	clip-path: none;
	transition: 0.47s ease;
}
.job_description .job_description__detail_heading::after {
	transform: translateY(-50%) rotate(90deg);
}
.job_description .js-acc_wrapper.active .job_description__detail_heading::before {
	transform: translateY(-50%) rotate(180deg);
}
.job_description .js-acc_wrapper.active .job_description__detail_heading::after {
transform: translateY(-50%) rotate(0deg);
}

.job_description__detail {
	width: 96.9%;
	margin: 0 auto;
	padding-bottom: 3.2rem;
}

.job_description__detail_item {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	column-gap: 2.0rem;
}

.job_description__detail_item:first-of-type {
	padding-top: 2rem;
}

.job_description__detail_item_tit,
.job_description__detail_item_contents {
	padding: 0.86rem 0.4rem 1.25rem 1.4rem;
	border-top: 1px solid #43CEED;
	line-height: 1.6;
	font-size: 1.6rem;
}

.job_description__detail_item_tit {
	width: 11rem;
	color: #BABABA;
	font-weight: 500;
}

.job_description__detail_item_contents {
	flex: 1;
}

.job_description__detail_item_contents>img {
	display: block;
	width: 100%;
	margin: 1.0rem 0 1.1rem;
}

.job_description__detail_item_contents .attention_text {
	font-size: 1.2rem;
	line-height: 1.6;
}



/*** gmap ***/
.gmap {
	width: 100%;
	height: 38rem;
	margin-bottom: 1.9rem;
}

.gmap_label {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	flex-direction: column;
	min-width: 11rem;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	height: auto;
	transform: translateY(-100%) translateX(-50%);
	background: #000;
}

.gmap_label::before {
	content: "";
	position: absolute;
	top: calc(100% - 0.1rem);
	left: 50%;
	transform: translateX(-50%);
	width: 1.7rem;
	height: 1rem;
	-webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	background: #000;
}

.gmap_label__img_box {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 4rem;
}

.gmap_label__img_box img {
	width: auto;
	height: 150%;
}

.gmap_label__name {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 0.5rem 0 0.44rem;
	color: #fff;
	border-top: 0.2rem solid #fff;
}


@media screen and (min-width:769.02px) {}

@media screen and (max-width:769px) {
	.job_description {
		padding: 7rem 0 7.7rem;
	}

	.job_description__block {
		grid-template-columns: 1fr;
		column-gap: 4.0rem;
	}

	.job_description__area {
		font-size: 2rem;
	}

	.job_description__office {
		font-size: 1.3rem;
	}

	.job_description__attention_text {
		font-size: 0.87rem;
		line-height: 2.2;
		margin-top: -0.37rem;
	}

	.job_description_points {
		-moz-column-gap: 0.77rem;
		column-gap: 0.77rem;
	}

	.job_description_points__item {
		font-size: 1.4rem;
	}

	.job_description_points__item .larger {
		font-size: 1.4em;
	}

	.job_description__btn {
		height: 5rem;
		font-size: 1.8rem;
	}



	.job_description__detail_wrapper {
		margin-bottom: 1.1rem;
	}

	.job_description__detail_heading {
		padding: 1rem 7.0rem 1.2rem 2.6rem;
		font-size: 1.8rem;
	}

	.job_description .job_description__detail_heading::before,
	.job_description .job_description__detail_heading::after {
		width: 2.2rem;
		height: 0.30rem;
	}

	.job_description__detail {
		width: 100%;
		margin: 0 auto;
		padding-bottom: 2.0rem;
	}

	.job_description__detail_item {
		flex-direction: column;
	}

	.job_description__detail_item:first-of-type {
		padding-top: 1.4rem;
	}

	.job_description__detail_item_tit,
	.job_description__detail_item_contents {
		padding: 1.0rem 0.2rem 1.4rem 0.4rem;
		line-height: 1.4;
		font-size: 1.5rem;
	}

	.job_description__detail_item_tit {
		width: 100%;
		padding-bottom: 0.4rem;
	}

	.job_description__detail_item_contents {
		padding-top: 0;
		border: 0;
		width: 100%;
	}

	.job_description__detail_item_contents>img {
		display: block;
		width: 100%;
		margin: 0.76rem 0 0.82rem;
	}




	.gmap {
		height: 29rem;
	}
}



/*****************

   .introduction

******************/
.introduction {
	padding: 22rem 0 22.8rem;
	overflow: hidden;
}

.introduction .contents_wrapper {
	max-width: 115rem;
}

.introduction__block {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	-moz-column-gap: 6.2rem;
	column-gap: 6.2rem;
	margin-bottom: 11rem;
}

.introduction__img_block {
	position: relative;
	flex: 1;
}

.introduction__img_block .deco {
	position: absolute;
	z-index: -1;
}

.introduction__img_block .deco:nth-of-type(1) {
	top: -11.5rem;
	left: -5.5rem;
	width: 62rem;
}

.introduction__img_block .deco:nth-of-type(2) {
	bottom: -8.7rem;
	right: -8.7rem;
	width: 64.4rem;
}

.introduction__img_block .deco:nth-of-type(3) {
	top: -11rem;
	right: -11.8rem;
	width: 40rem;
}


.introduction__img_box {
	border-radius: 2rem;
	overflow: hidden;
}


.introduction__heading {
	margin-bottom: 2.2rem;
	font-size: 4.17rem;
	line-height: 1.37;
}

.introduction__text {
	line-height: 2.5;
}



.event_service {}

.event_service__tit {
	margin-bottom: 2rem;
	font-size: 3rem;
	line-height: 1.8;
}

.event_service_list {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
}


@media screen and (min-width:769.02px) {
	.introduction__text_block {
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: fit-content;
	}

	.event_service_list__item {
		width: 17.3rem;
	}
}

@media screen and (max-width:769px) {
	.introduction {
		padding: 6.2rem 0 8.2rem;
	}

	.introduction__block {
		flex-direction: column;
		margin-bottom: 7.7rem;
	}

	.introduction__text_block {
		width: 100%;
	}

	.introduction__heading {
		margin-bottom: 1.4rem;
		font-size: 2.77rem;
		text-align: center;
	}

	.introduction__text {
		margin-bottom: 5rem;
		font-size: 1.5rem;
		line-height: 2.28;
		text-align: center;
	}


	.introduction__img_block .deco:nth-of-type(1) {
		top: -5.1rem;
		left: -2rem;
		width: 28.7rem;
	}

	.introduction__img_block .deco:nth-of-type(2) {
		bottom: -5rem;
		right: -2.5rem;
		width: 26.9rem;
	}

	.introduction__img_block .deco:nth-of-type(3) {
		top: -5.0rem;
		right: -1.8rem;
		width: 16.2rem;
	}



	.event_service__tit {
		text-align: center;
		margin-bottom: 1rem;
		font-size: 2.28rem;
	}

	.event_service__wrapper {
		position: relative;
		left: 50%;
		transform: translateX(-50%);
		width: 100vw;
		overflow-x: auto;
	}

	.event_service_list {
		display: flex;
		align-items: stretch;
		justify-content: flex-start;
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: fit-content;
	}


	.event_service__wrapper {
		padding-right: 3.2rem;
		padding-left: 2.2rem;
		padding-bottom: 3.28rem;
		overflow-x: auto;
	}

	.event_service__wrapper::-webkit-scrollbar {
		width: 100%;
		height: 0.87rem;
	}

	.event_service__wrapper::-webkit-scrollbar-track {
		background-color: #fff;
		margin-left: 2.1rem;
	}

	.event_service__wrapper::-webkit-scrollbar-thumb {
		background: var(--color-red01);
	}


	.event_service_list__item {
		width: 10rem;
	}

	.event_service_list__item:nth-of-type(n+2) {
		margin-left: 1.37rem;
	}
}


/*****************

   .step

******************/
.step {
	position: relative;
	padding: 18rem 0 22rem;
	background: #fff;
	z-index: 1;
	overflow: inherit;
}

.step .contents_wrapper {
	position: static;
}

.step__wrapper {
	counter-reset: step_num 0;
	display: flex;
	align-items: flex-start;
}

.step__wrapper::before {
	content: "";
	position: absolute;
	top: 47rem;
	left: 0;
	background-image: url(../img/deco/step__side_deco@2x.png);
	width: min(calc((100vw - 76rem) / 2), 40rem);
	height: auto;
	aspect-ratio: 309/911;
	background-size: 100% 100%;
	background-repeat: no-repeat;
}

.step__illust {
	position: -webkit-sticky;
	position: sticky;
	margin-top: 1.1rem;
	top: 20rem;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40rem;
}

.step_list__wrapper {
	flex: 1;
}

.step_list {}

.step_list__item {
	position: relative;
	display: grid;
	grid-template-columns: 7rem 1fr;
	-moz-column-gap: 2.7rem;
	column-gap: 2.7rem;
	margin-bottom: 5.4rem;
}

.step_list__item::before {
	counter-increment: step_num 1;
	content: counter(step_num, decimal-leading-zero);
	font-size: 6rem;
	font-weight: 700;
	font-family: 'Roboto', sans-serif;
	color: var(--color-red01);
	line-height: 1;
}

.step_list__tit {
	margin-top: 0.5rem;
	font-size: 2.9rem;
}

.step_list__tit .smaller {
	font-size: 2rem;
}

.step_list__contents {
	grid-column: 2 / 3;
}

.step_list__contents dl {
	display: block;
	width: 100%;
	background: #F1F5F5;
	padding: 2.9rem 3.7rem 2.96rem;
	margin-top: 1.5rem;
}

.step_list__contents dt {
	margin-bottom: 0.77rem;
	line-height: 1.1;
	font-size: 2.2rem;
	font-weight: 700;
}

.step_list__contents dt::before {
	content: "●";
	display: inline;
	font-size: 0.86em;
	margin-right: 0.28rem;
}

.step_list__contents dd {}


.step__wrapper .acc_switch {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 9.6rem;
	margin-bottom: 5.6rem;
	background: var(--color-blue01);
	color: #fff;
	font-size: 3.1rem;
	font-weight: 700;
	line-height: 1.77;
}


@media screen and (min-width:769.02px) {}

@media screen and (max-width:769px) {
	.step {
		padding: 7.7rem 0 5rem;
	}

	.step__wrapper {
		flex-direction: column;
	}

	.step__illust {
		top: 0.5rem;
		margin-left: auto;
		margin-right: auto;
		width: 8.7rem;
	}

	.step__wrapper::before {
		display: none;
	}

	.step_list__item {
		grid-template-columns: 5.4rem 1fr;
		-moz-column-gap: 1rem;
		column-gap: 1rem;
		margin-bottom: 3.1rem;
	}

	.step_list__item::before {
		font-size: 4.44rem;
	}

	.step_list__tit {
		margin-top: 0.25rem;
		font-size: 2.3rem;
		line-height: 1.37;
	}

	.step_list__tit .smaller {
		position: relative;
		top: -0.1em;
		font-size: 1.55rem;
		line-height: 2;
	}

	.step_list__contents {
		grid-column: 1 / 3;
		margin-top: 0.51rem;
	}

	.step_list__contents p {
		font-size: 1.47rem;
	}

	.step_list__contents dl {
		display: block;
		width: 100%;
		background: transparent;
		padding: 0;
		margin-top: 1.8rem;
	}

	.step_list__contents dt {
		margin-bottom: 0.81rem;
		font-size: 1.9rem;
	}


	.step__wrapper .acc_switch {
		height: 5rem;
		font-size: 1.8rem;
	}
}




/*****************

   .sns_section

******************/
.sns_section {
	background: #f1f5f5;
	padding: 10rem 0 11.8rem;
	z-index: 10;
}

.sns_section .contents_wrapper {
	max-width: 125rem;
}

.sns_section__heading {
	text-align: center;
	font-size: 5rem;
	margin-bottom: 4.4rem;
}

.sns_section_list {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

.sns_section_list__item {
	--size: 15rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--size);
	height: var(--size);
}



@media screen and (min-width:769.02px) {}

@media screen and (max-width:769px) {
	.sns_section {
		padding: 5.5rem 0 6.2rem;
	}

	.sns_section .contents_wrapper {
		width: 96.9%;
	}

	.sns_section__heading {
		margin-bottom: 2.5rem;
		font-size: 2.44rem;
	}

	.sns_section_list {
		flex-wrap: wrap;
		row-gap: 0.18rem;
	}

	.sns_section_list__item {
		width: 24.4%;
		height: auto;
	}
}



/*****************

   .contact

******************/
.contact {
	padding: 15rem 0 17rem;
	background: #fff;
}

.contact .contents_wrapper {
	max-width: 110rem;
}

@media screen and (min-width:769.02px) {}

@media screen and (max-width:769px) {
	.contact {
		padding: 7rem 0 7.7rem;
	}
}



/**********
   contactForm
***********/
#contactForm {
	--border: 0.11rem solid #BABABA;
	width: 100%;
	font-size: 1.4rem;
}

#contactForm .sub {
	font-size: 1.3rem;
	margin-top: 0.44rem;
}

#contactForm input[type="text"], #contactForm select, #contactForm textarea {
	width: 100%;
	padding-left: 0.82rem;
	outline: none;
	border: var(--border);
	border-radius: 0.5rem;
	background: #fff;
	color: #000;
}

#contactForm input,
#contactForm select,
#contactForm textarea {
	font-size: 1.45rem;
	font-weight: 500;
	font-family: var(--font-Noto_Sans);
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

#contactForm select {
	cursor: pointer;
}

#contactForm .select_wrapper {
	position: relative;
	cursor: pointer;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}

#contactForm .select_wrapper::after {
	--size: 0.89rem;
	--border: 0.18rem solid #252525;
	content: "";
	position: absolute;
	top: 50%;
	right: 1.9rem;
	width: var(--size);
	height: var(--size);
	border-bottom: var(--border);
	border-right: var(--border);
	transform: translateY(-69%) rotate(45deg);
	pointer-events: none;
}

#contactForm textarea {
	height: 16rem;
	padding-top: 0.82rem;
	line-height: 1.8;
}


#contactForm .form_item {
	border-bottom: var(--border);
}

#contactForm .form_item:first-child {
	border-top: var(--border);
}

#contactForm .form_item dd {
	flex: 1;
}

#contactForm .form_item__inner {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}

#contactForm .form_item[data-form="message"] .form_item__inner {
	width: 100%;
}

#contactForm .form_item__inner--flex {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	max-width: 100%;
	-moz-column-gap: 1rem;
	column-gap: 1rem;
}

#contactForm .form_item__inner--flex input {}

#contactForm .form_item__tit {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-direction: column;
	width: 100%;
	margin-top: 0.1em;
	font-size: 1.8rem;
	font-weight: 700;
	cursor: pointer;
}

#contactForm .required .form_item__tit>span::after {
	content: "*";
	position: relative;
	display: inline-block;
	color: var(--color-red01);
	font-size: 1.19em;
	margin-left: 0.062em;
}




/* contact btn */
#contactForm .form__btn_block {
	margin: 6.9rem auto 1rem;
}

#contactForm .form__btn {
	position: relative;
	width: 100%;
	height: 7.3rem;
	margin: 0 auto;
	border: none !important;
	border-radius: 0px !important;
}

#contactForm .form__btn::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #fff;
	z-index: -1;
}

#contactForm .form__btn {
	margin: 0 auto;
}

#contactForm .form__btn .form__btn_inner,
#contactForm .form__btn a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 37rem;
	height: 100%;
	padding-bottom: 0.18rem;
	margin: 0 auto;
	border: none !important;
	border-radius: 100rem !important;
	-webkit-appearance: none;
	font-weight: 700;
	font-size: 2rem;
	font-family: var(--font-Noto_Sans);
	background: var(--color-red01);
	color: #fff;
	cursor: pointer;
	transition: opacity .4s ease, color .4s ease, background-color .4s ease;
}

#contactForm .form__btn a.return {
	background: #BABABA;
}

#contactForm .form__btn .form__btn_inner:hover,
#contactForm .form__btn a:hover {
	opacity: 0.55 !important;
}

#contactForm .form__submit_btn {
	width: 100%;
}

#contactForm .form__submit_btn:hover::after {
	right: 2rem;
}

#contactForm .form__btn:hover {
	opacity: 1;
}

#contactForm .return_btn input,
#contactForm .return_btn a {
	background: #787878;
	transition: 0s;
}

#contactForm .return_btn input:hover,
#contactForm .return_btn a:hover {
	opacity: 0.86;
}

#contactForm .form__btn_block--flex {
	display: grid;
	grid-template-columns: 1fr 1fr;
	-moz-column-gap: 3.1rem;
	column-gap: 3.1rem;
	max-width: 73rem;
}


#contactForm .formError {
	position: static !important;
	margin: 0 !important;
	pointer-events: none;
	opacity: 1 !important;
}

#contactForm .formErrorContent {
	font-size: 1.7rem;
	font-weight: 700;
	margin: 0.82rem auto 0.62rem;
	padding-left: 0.5rem;
	color: #fff;
	background: #ff1133;
	border-radius: 0.5rem;
}

#contactForm .formError .formErrorContent:after {
	transform: translate(0);
	top: calc(100% - 0.1rem);
	left: 3.6rem;
	transform: translateX(50%);
	border-top-color: #ff1133;
}

#contactForm .form-mail .formErrorContent span {
	display: none;
}

#contactForm .form-mail .formErrorContent span:last-of-type {
	display: inherit;
}


#contactForm .attention_text {
	width: 100%;
	text-align: center;
	font-size: 1.37rem;
	line-height: 1.86;
	margin-top: 3.2rem;
}

#contactForm .attention_text span {
	color: var(--color-red01);
	font-weight: 700;
}


@media screen and (min-width:769.02px) {
	#contactForm .form_item {
		display: flex;
		align-items: flex-start;
		justify-content: flex-start;
		padding: 2.9rem 2.5rem 2.8rem;
		font-size: 1.7rem;
	}

	#contactForm .form_item__tit {
		width: 19.6rem;
		margin-right: 2rem;
	}

	#contactForm input[type="text"], #contactForm select {
		min-width: 22rem;
		height: 4.7rem;
	}

	#contactForm select option {
		font-size: 1.6rem;
	}

	#contactForm select[name="business_office"] {
		width: 22rem;
	}

	#contactForm input[name="tel"] {
		width: 41.7rem;
	}

	#contactForm input[name="mail_name"] {
		width: 32rem;
	}

	#contactForm input[name="mail_domain"] {
		width: 26rem;
	}

	#contactForm .form_item label {
		padding-right: 4rem;
	}
}

@media screen and (max-width:769px) {

	#contactForm input,
	#contactForm textarea {
		font-size: 1.4rem;
	}

	#contactForm select {}

	#contactForm textarea {
		height: 15rem;
	}

	#contactForm .form_item {
		display: block;
		padding: 1.4rem 0 2.2rem;
	}

	#contactForm .form_item__tit {
		align-items: flex-start;
		width: 100%;
		line-height: 1.5;
		margin-bottom: 0.8rem;
	}

	#contactForm input[type="text"], #contactForm select {
		height: auto;
		padding-top: 1.16rem;
		padding-bottom: 1.2rem;
	}

	#contactForm input[name="mail_name"] {
		width: 17.7rem;
	}

	#contactForm select[name="business_office"] {
		width: 23rem;
	}

	#contactForm .attention_text {
		margin-top: 1.7rem;
	}

	/* contact btn */
	#contactForm .form__btn_block {
		margin-top: 3.7rem;
	}

	#contactForm .form__btn_block .form__btn {
		max-width: 50rem;
		height: 4.7rem;
	}

	#contactForm .form__btn_block .form__btn input,
	#contactForm .form__btn_block .form__btn a {
		font-size: 1.4rem;
	}

	#contactForm .form__btn_block--flex {
		-moz-column-gap: 2rem;
		column-gap: 2rem;
	}


	#contactForm .formErrorContent {
		font-size: 1.15rem;
		letter-spacing: -0.028em;
	}
}


/********************

   cotntact page

*********************/
body.p-confirm {
	position: relative;
}

body.p-confirm::before,
body.p-confirm #loading {
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	opacity: 0;
	pointer-events: none;
}

body.p-confirm.sending_mail::before,
body.p-confirm.sending_mail #loading {
	opacity: 1;
	pointer-events: all;
}

body.p-confirm::before {
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.47);
}

body.p-confirm #loading__text {
	color: #f5f5f5;
	text-align: center;
	padding-bottom: 0.77rem;
	font-size: 2.5rem;
	font-weight: 700;
	font-family: var(--font-Noto_Serif);
}

body.p-confirm #loading .car {
	transform: scale(1.17);
	transform-origin: center top;
}

body.p-confirm #loading .car__body {
	-webkit-animation: shake 0.2s ease-in-out infinite alternate;
	animation: shake 0.2s ease-in-out infinite alternate;
}

body.p-confirm #loading .car__line {
	transform-origin: center right;
	stroke-dasharray: 22;
	-webkit-animation: line 0.92s ease-in-out infinite;
	animation: line 0.92s ease-in-out infinite;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}

body.p-confirm #loading .car__line--top {
	-webkit-animation-delay: 0s;
	animation-delay: 0s;
}

body.p-confirm #loading .car__line--middle {
	-webkit-animation-delay: 0.2s;
	animation-delay: 0.2s;
}

body.p-confirm #loading .car__line--bottom {
	-webkit-animation-delay: 0.4s;
	animation-delay: 0.4s;
}

@-webkit-keyframes shake {
	0% {
		transform: translateY(-1%);
	}

	100% {
		transform: translateY(2.9%);
	}
}

@keyframes shake {
	0% {
		transform: translateY(-1%);
	}

	100% {
		transform: translateY(2.9%);
	}
}

@-webkit-keyframes line {
	0% {
		stroke-dashoffset: 22;
	}

	25% {
		stroke-dashoffset: 22;
	}

	50% {
		stroke-dashoffset: 0;
	}

	51% {
		stroke-dashoffset: 0;
	}

	80% {
		stroke-dashoffset: -22;
	}

	100% {
		stroke-dashoffset: -22;
	}
}

@keyframes line {
	0% {
		stroke-dashoffset: 22;
	}

	25% {
		stroke-dashoffset: 22;
	}

	50% {
		stroke-dashoffset: 0;
	}

	51% {
		stroke-dashoffset: 0;
	}

	80% {
		stroke-dashoffset: -22;
	}

	100% {
		stroke-dashoffset: -22;
	}
}



.contact_group {
	background: #fff;
	color: #000;
	overflow-x: hidden;
}

.contact_group .main_contents {
	padding-top: 17.7vh;
	padding-bottom: 10rem;
	min-height: calc(100vh);
}

.contact_group .contents_wrapper {
	max-width: 110rem;
}

.contact_group .page_tit {
	font-size: 2.8rem;
	font-weight: 500;
	margin-bottom: 3.4rem;
}


@media screen and (max-width:769px) {
	.contact_group #body_inner {
		margin-bottom: 0;
	}

	.contact_group .main_contents {
		padding-top: 17vh;
	}
}


/**************
   confirm page
***************/
.p-confirm #contactForm .form_item__inner {
	background: transparent;
	color: #fff;
	visibility: hidden;
	position: absolute;
}

.p-confirm label {
	pointer-events: none;
	margin: 0 !important;
}

.p-confirm #contactForm .required .form_item__tit>span::after {
	display: none;
}



.p-confirm #contactForm .form_item {
	padding: 0;
	border: var(--border);
	align-items: stretch;
}

.p-confirm #contactForm .form_item:nth-of-type(n+2) {
	border-top: 0;
}

.p-confirm #contactForm .form_item dt,
.p-confirm #contactForm .form_item dd {
	padding: 4.4rem 2.6rem 5rem;
}

.p-confirm #contactForm .form_item dt {
	background: #D9D9D9;
}

.p-confirm #contactForm .form_item dd {
	padding-left: 5rem;
}

.p-confirm #contactForm .form_item[data-form="message"] dd {
	min-height: 25rem;
}

.p-confirm #contactForm .confirm_input_content {
	display: block;
	min-height: 1.5em;
	font-size: 1.8rem;
}

.p-confirm #contactForm .form__btn_block {
	margin-top: 9.6rem;
}

@media screen and (max-width:769px) {
	#contactForm .confirm_input_content {
		font-size: 1.6rem;
	}

	.p-confirm #contactForm .form_item dt,
	.p-confirm #contactForm .form_item dd {
		padding: 1.18rem 2.28rem 1.5rem;
	}

	.p-confirm #contactForm .form_item[data-form="message"] dd {
		min-height: 16.9rem;
	}
}


/**************
   thanks page
***************/
.p-thanks #contactForm .text {
	text-align: center;
}

.p-thanks #contactForm .form__btn_block {
	margin-top: 13rem;
}


@media screen and (min-width:769.02px) {
	.p-thanks #contactForm .text {
		font-size: 1.82rem;
		margin-top: 8.9rem;
	}
}

@media screen and (max-width:769px) {
	.p-thanks #contactForm .form__btn_block {
		margin-top: 7.7rem;
	}
}