@charset "UTF-8";
:root {
	--scrollbar: 0rem;
	--c_white: #ffffff;
	--c_primary: #0f7a3d;
	--c_primary_dark: #0F4E3E;
	--c_accent: #cc4141;
	--bg_gray: #707070;
	--bg_primary: #0f7a3d;
	--bg_accent: #cc4141;
	--c_txt: #333333;
	--c_txt_pale: #666666;
	--bdr_gray: #bdbdbd;
	--bdr_head_btm: #e0e0e0;
	--bg_base: #f5f5f5;
	--bg_primary_pale: #E0F8EF;
	--bg_before: #068478;
	--bg_after: #12614e;
	--f_notoSans: Noto Sans JP, sans-serif;
	--f_rubik: Rubik, sans-serif;
}

* {
	max-width: 100%;
	height: auto;
	font-family: var(--f_notoSans);
	line-height: 1.5;
	letter-spacing: 0;
	font-weight: 400;
	word-break: break-all;
	color: var(--c_txt);
	margin: 0;
	padding: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
*::before, *::after {
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	letter-spacing: inherit;
	font-weight: inherit;
	color: inherit;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
* > a, * > span, * > label, * > mark, * > em, * > strong, * > var, * > sup {
	font-family: inherit;
	font-style: inherit;
	font-size: inherit;
	line-height: inherit;
	letter-spacing: inherit;
	font-weight: inherit;
	text-align: inherit;
	color: inherit;
}
*:focus {
	outline: auto;
	outline-color: var(--c_txt);
}

html, body {
	min-width: calc(136.6rem - var(--scrollbar));
	scrollbar-gutter: stable;
}
@media only screen and (max-width: 1023px) {
	html, body {
		min-width: auto;
	}
}

html {
	height: 100%;
	font-size: 62.5%;
}
@media only screen and (max-width: 1365px) {
	html {
		font-size: .7vw;
	}
}
@media only screen and (max-width: 1023px) {
	html {
		font-size: 62.5%;
	}
}
@media only screen and (max-width: 374px) {
	html {
		font-size: 2.6vw;
	}
}

body {
	font-size: 1.6rem;
	position: relative;
}
@media only screen and (max-width: 1023px) {
	body {
		font-size: 1.4rem;
	}
}

p {
	text-align: justify;
}

li {
	list-style-type: none;
}

img {
	width: auto;
	border: none;
	display: block;
}

a {
	text-decoration: none;
	display: block;
	outline: none;
}
.cfix:after {
	content: "";
	display: block;
	clear: both;
}

.hidden {
	overflow-y: hidden !important;
}

var {
	font-size: 1em;
}
var sup {
	font-size: .75em;
}

picture {
	display: block;
}

/* base style**************************************************************************************/
.section-ttl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding-bottom: 3rem;
	position: relative;
}
@media only screen and (max-width: 1023px) {
	.section-ttl {
		padding-bottom: 1em;
	}
}
.section-ttl::before {
	content: "";
	width: 4rem;
	height: .6rem;
	background: var(--bg_accent);
	border-radius: .2rem;
	position: absolute;
	bottom: 0;
	left: 50%;
	translate: -50% 0;
}
.section-ttl .ttl {
	font-size: 3.6rem;
	font-weight: 700;
	line-height: 1.6;
	color: var(--c_primary_dark);
	text-align: center;
}
@media only screen and (max-width: 1023px) {
	.section-ttl .ttl {
		font-size: 2rem;
	}
}
.section-ttl .ttl .sml {
	font-size: 2.2rem;
	display: block;
}
@media only screen and (max-width: 1023px) {
	.section-ttl .ttl .sml {
		font-size: 1.6rem;
	}
}
.bg-primary-dark .section-ttl .ttl {
	color: var(--c_white);
}
.section-ttl .reception-obj {
	width: 16.4rem;
	height: 16rem;
	position: absolute;
}
@media only screen and (max-width: 1023px) {
	.section-ttl .reception-obj {
		display: none;
	}
}
.section-ttl .reception-obj.top {
	top: 0;
}
.section-ttl .reception-obj.right {
	right: 0;
}
.section-ttl .reception-obj.bottom {
	bottom: 0;
}
.section-ttl .reception-obj.left {
	left: 0;
}
.section-ttl .reception-obj.center {
	left: auto;
	right: auto;
}

.lead-grad-line-ttl {
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.375;
	color: var(--c_primary_dark);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	gap: 1.6rem;
}
@media only screen and (max-width: 1023px) {
	.lead-grad-line-ttl {
		font-size: 1.6rem;
	}
}
.bg-primary-dark .lead-grad-line-ttl {
	color: var(--c_white);
}
.lead-grad-line-ttl::before {
	content: "";
	width: .4rem;
	background-image: -webkit-gradient(linear, left bottom, left top, from(rgb(255, 255, 255)),  rgb(78, 147, 162)));
	background-image: linear-gradient(0deg, rgb(255, 255, 255), rgb(78, 147, 162));
	border-radius: .4rem;
	display: block;
}
.lead-grad-line-ttl.line-dark::before {
	width: .6rem;
	background-image: -webkit-gradient(linear, left bottom, left top, from( rgb(37, 158, 134), rgb(78, 147, 162)));
	background-image: linear-gradient(0deg, rgb(37, 158, 134), rgb(78, 147, 162));
}
.lead-grad-line-ttl span {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
}

.description-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-flow: column;
	flex-flow: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-top: 4rem;
}
.description-wrap p {
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 2;
	text-align: center;
}
@media only screen and (max-width: 1023px) {
	.description-wrap p {
		font-size: 1.6rem;
	}
}

.txt-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-flow: column;
	flex-flow: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.txt-wrap p {
	font-size: 1.6rem;
}
@media only screen and (max-width: 1023px) {
	.txt-wrap p {
		font-size: 1.4rem;
	}
}
.bg-primary-dark .txt-wrap p {
	color: var(--c_white);
}

.txt-center {
	text-align: center;
}

.flex-box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
.flex-box .col {
	width: 100%;
}

.list-lead-square li {
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .05em;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: baseline;
	-ms-flex-align: baseline;
	align-items: baseline;
	gap: .4rem;
}
@media only screen and (max-width: 1023px) {
	.list-lead-square li {
		font-size: 1.4rem;
	}
}
.list-lead-square li::before {
	content: "■";
	font-weight: 500;
	color: var(--c_primary_dark);
}

.case-studies-wrap {
	padding: 8rem 1rem 10rem;
}
@media only screen and (max-width: 1023px) {
	.case-studies-wrap {
		padding: 4rem 1rem 5rem;
	}
}
.case-studies-wrap > .wrapper {
	max-width: 116rem;
	margin: auto;
}
.case-studies-wrap > .wrapper .flex-box {
	-ms-flex-flow: wrap;
	flex-flow: wrap;
	gap: 2rem 4rem;
	margin-top: 4rem;
}
@media only screen and (max-width: 1023px) {
	.case-studies-wrap > .wrapper .flex-box {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		gap: 3rem;
	}
}
.case-studies-wrap > .wrapper .flex-box .col {
	max-width: 36rem;
	background: var(--c_white);
	border-radius: 1.2rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-flow: column;
	flex-flow: column;
	-webkit-box-pack: stretch;
	-ms-flex-pack: stretch;
	justify-content: stretch;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	overflow: hidden;
}
.case-studies-wrap > .wrapper .flex-box .col .content-wrap {
	padding: 2rem;
}
.case-studies-wrap > .wrapper .flex-box .col .content-wrap .col-ttl {
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.5;
}
@media only screen and (max-width: 1023px) {
	.case-studies-wrap > .wrapper .flex-box .col .content-wrap .col-ttl {
		font-size: 1.6rem;
	}
}
.case-studies-wrap > .wrapper .flex-box .col .content-wrap .category-wrap {
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-flow: wrap;
	flex-flow: wrap;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	gap: .25em;
	margin-top: 1rem;
}
@media only screen and (max-width: 1023px) {
	.case-studies-wrap > .wrapper .flex-box .col .content-wrap .category-wrap {
		font-size: 1.2rem;
	}
}
.case-studies-wrap > .wrapper .flex-box .col .content-wrap .category-wrap .category {
	color: var(--c_primary_dark);
	background: var(--c_white);
	border: .1rem solid var(--c_primary_dark);
	border-radius: .3rem;
	padding: .25em 1rem .3em;
}
.case-studies-wrap > .wrapper .flex-box .col .content-wrap .txt-wrap {
	margin-top: 2rem;
}
.case-studies-wrap > .wrapper .flex-box .col .content-wrap .txt-wrap p {
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 2;
}
@media only screen and (max-width: 1023px) {
	.case-studies-wrap > .wrapper .flex-box .col .content-wrap .txt-wrap p {
		font-size: 1.4rem;
	}
}
.case-studies-wrap > .wrapper .flex-box .col .img-wrap {
	text-align: center;
}
.case-studies-wrap > .wrapper .flex-box .col .img-wrap img {
	margin: auto;
}

.faq-list {
	max-width: 96rem;
	margin: 4rem auto 0;
	counter-reset: number 0;
}
@media only screen and (max-width: 1023px) {
	.faq-list {
		margin: 2rem auto 0;
	}
}
.faq-list .faq-item {
	background: var(--c_white);
	border-radius: 1.2rem;
	counter-increment: number 1;
}
.faq-list .faq-item + .faq-item {
	margin-top: 1rem;
}
.faq-list .faq-item .question {
	display: block;
	padding: 1rem 5.8rem 1.6rem 2rem;
	position: relative;
}
.faq-list .faq-item .question::after {
	content: "";
	width: 2.8rem;
	height: 2.8rem;
	background: var(--c_accent);
	border-radius: 100vw;
	position: absolute;
	top: calc(50% - .3rem);
	right: 2rem;
	translate: 0 -50%;
	aspect-ratio: 1/1;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.faq-list .faq-item .question .q-ttl {
	font-weight: 700;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: baseline;
	-ms-flex-align: baseline;
	align-items: baseline;
	gap: 1.8rem;
	position: relative;
}
.faq-list .faq-item .question .q-ttl .ttl {
	font-size: 1.8rem;
	line-height: 1.8;
	color: var(--c_primary_dark);
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
}
@media only screen and (max-width: 1023px) {
	.faq-list .faq-item .question .q-ttl .ttl {
		font-size: 1.6rem;
	}
}
.faq-list .faq-item .question .q-ttl::before, .faq-list .faq-item .question .q-ttl::after {
	content: "";
	background: var(--c_white);
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	translate: 0 -50%;
	z-index: 1;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.faq-list .faq-item .question .q-ttl::before {
	width: 1.2rem;
	height: .2rem;
	right: -3rem;
}
.faq-list .faq-item .question .q-ttl::after {
	width: .2rem;
	height: 1.2rem;
	right: -2.5rem;
}
.faq-list .faq-item .question.open::after {
	background: var(--c_txt_pale);
}
.faq-list .faq-item .question.open .q-ttl::after {
	rotate: 90deg;
	opacity: 0;
}
.faq-list .faq-item .answer {
	display: none;
	overflow: hidden;
}
.faq-list .faq-item .answer .inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: baseline;
	-ms-flex-align: baseline;
	align-items: baseline;
	gap: 1.8rem;
	padding: 1em 2rem 1.6rem;
	position: relative;
}
.faq-list .faq-item .answer .inner::before {
	content: "";
	width: calc(100% - 4rem);
	height: 0;
	border-top: .1rem solid var(--bdr_gray);
	position: absolute;
	top: 0;
	left: 50%;
	translate: -50% 0;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.faq-list .faq-item .answer .inner .detail {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
}
.faq-list .faq-item .answer .inner .detail p {
	font-size: 1.6rem;
	line-height: 2;
	letter-spacing: .05em;
}
@media only screen and (max-width: 1023px) {
	.faq-list .faq-item .answer .inner .detail p {
		font-size: 1.4rem;
	}
}
.faq-list .faq-item .answer .inner .detail p .ttl {
	font-size: 1.6rem;
	line-height: 1.8;
	font-weight: 700;
}
@media only screen and (max-width: 1023px) {
	.faq-list .faq-item .answer .inner .detail p .ttl {
		font-size: 1.4rem;
	}
}
.faq-list .faq-item .icon {
	font-size: 2.4rem;
	line-height: 1;
	font-weight: 700;
	letter-spacing: .05em;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
@media only screen and (max-width: 1023px) {
	.faq-list .faq-item .icon {
		font-size: 1.6rem;
	}
}
.faq-list .faq-item .icon.q {
	color: var(--c_accent);
}
.faq-list .faq-item .icon.a {
	color: var(--c_txt_pale);
}

.toggle-list {
	margin: 4rem auto 0;
}
@media only screen and (max-width: 1023px) {
	.toggle-list {
		margin: 2rem auto 0;
	}
}
.toggle-list .toggle-item {
	background: var(--c_white);
	border: .1rem solid var(--c_primary_dark);
	border-radius: 1.2rem;
}
.toggle-list .toggle-item + .toggle-item {
	margin-top: 2rem;
}
.toggle-list .toggle-item .subject {
	display: block;
	padding: 3rem 5.8rem 2.5rem 3rem;
	position: relative;
}
@media only screen and (max-width: 1023px) {
	.toggle-list .toggle-item .subject {
		padding: 2rem 4.8rem 2rem 1rem;
	}
}
.toggle-list .toggle-item .subject::after {
	content: "";
	width: 2.8rem;
	height: 2.8rem;
	background: var(--c_accent);
	border-radius: 100vw;
	position: absolute;
	top: calc(50% + .2rem);
	right: 2rem;
	translate: 0 -50%;
	aspect-ratio: 1/1;
	-webkit-transition: all .3s;
	transition: all .3s;
}
@media only screen and (max-width: 1023px) {
	.toggle-list .toggle-item .subject::after {
		top: 50%;
		right: 1rem;
	}
}
.toggle-list .toggle-item .subject .subject-flex {
	font-weight: 700;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-flow: row-reverse;
	flex-flow: row-reverse;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 1rem 2.5rem;
	position: relative;
}
@media only screen and (max-width: 1023px) {
	.toggle-list .toggle-item .subject .subject-flex {
		gap: 1rem 1rem;
	}
}
.toggle-list .toggle-item .subject .subject-flex .subject-ttl-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: reverse;
	-ms-flex-flow: column-reverse;
	flex-flow: column-reverse;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	-webkit-box-align: baseline;
	-ms-flex-align: baseline;
	align-items: baseline;
	gap: .6rem;
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
}
.toggle-list .toggle-item .subject .subject-flex .subject-ttl-wrap .ttl {
	font-size: 2.6rem;
	line-height: 1.2;
	font-weight: 700;
	color: var(--c_primary_dark);
}
@media only screen and (max-width: 1023px) {
	.toggle-list .toggle-item .subject .subject-flex .subject-ttl-wrap .ttl {
		font-size: 1.6rem;
	}
}
.toggle-list .toggle-item .subject .subject-flex .subject-ttl-wrap .category-info {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: baseline;
	-ms-flex-align: baseline;
	align-items: baseline;
	gap: .25em .8rem;
}
.toggle-list .toggle-item .subject .subject-flex .subject-ttl-wrap .category-info .category-wrap {
	font-size: 1.6rem;
	font-weight: 700;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: baseline;
	-ms-flex-align: baseline;
	align-items: baseline;
	gap: .25em .5em;
}
@media only screen and (max-width: 1023px) {
	.toggle-list .toggle-item .subject .subject-flex .subject-ttl-wrap .category-info .category-wrap {
		font-size: 1.4rem;
	}
}
.toggle-list .toggle-item .subject .subject-flex .subject-ttl-wrap .category-info .label-wrap {
	font-size: 1.3rem;
	font-weight: 700;
	line-height: 1;
	color: var(--c_white);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: baseline;
	-ms-flex-align: baseline;
	align-items: baseline;
	gap: .25em .5em;
}
@media only screen and (max-width: 1023px) {
	.toggle-list .toggle-item .subject .subject-flex .subject-ttl-wrap .category-info .label-wrap {
		font-size: 1.2rem;
	}
}
.toggle-list .toggle-item .subject .subject-flex .subject-ttl-wrap .category-info .label-wrap .label {
	border-radius: .4rem;
	padding: .45em .5em .55em;
}
.toggle-list .toggle-item .subject .subject-flex .subject-ttl-wrap .category-info .label-wrap .label.before {
	background: var(--bg_before);
}
.toggle-list .toggle-item .subject .subject-flex .subject-ttl-wrap .category-info .label-wrap .label.after {
	background: var(--bg_after);
}
.toggle-list .toggle-item .subject .subject-flex .icon-subject {
	width: 6.4rem;
	height: 6.4rem;
}
@media only screen and (max-width: 1023px) {
	.toggle-list .toggle-item .subject .subject-flex .icon-subject {
		width: 4rem;
		height: 4rem;
	}
}
.toggle-list .toggle-item .subject .subject-flex::before, .toggle-list .toggle-item .subject .subject-flex::after {
	content: "";
	background: var(--c_white);
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	translate: 0 -50%;
	z-index: 1;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.toggle-list .toggle-item .subject .subject-flex::before {
	width: 1.2rem;
	height: .2rem;
	right: -3rem;
}
@media only screen and (max-width: 1023px) {
	.toggle-list .toggle-item .subject .subject-flex::before {
		right: -3rem;
	}
}
.toggle-list .toggle-item .subject .subject-flex::after {
	width: .2rem;
	height: 1.2rem;
	right: -2.5rem;
}
@media only screen and (max-width: 1023px) {
	.toggle-list .toggle-item .subject .subject-flex::after {
		right: -2.5rem;
	}
}
.toggle-list .toggle-item .subject.open::after {
	background: var(--c_txt_pale);
}
.toggle-list .toggle-item .subject.open .subject-flex::after {
	rotate: 90deg;
	opacity: 0;
}
.toggle-list .toggle-item .detail-content {
	display: none;
	overflow: hidden;
}
.toggle-list .toggle-item .detail-content .inner {
	background: var(--bg_primary_pale);
	border-radius: 0 0 1.2rem 1.2rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	gap: 1rem 2rem;
	padding: 2.5rem 3rem 3rem;
}
@media only screen and (max-width: 1023px) {
	.toggle-list .toggle-item .detail-content .inner {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-flow: column;
		flex-flow: column;
		-webkit-box-align: stretch;
		-ms-flex-align: stretch;
		align-items: stretch;
		padding: 2rem 1rem;
	}
}
.toggle-list .toggle-item .detail-content .inner .detail {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
}
.toggle-list .toggle-item .detail-content .inner .detail p {
	font-size: 1.6rem;
	line-height: 2;
	letter-spacing: .05em;
}
@media only screen and (max-width: 1023px) {
	.toggle-list .toggle-item .detail-content .inner .detail p {
		font-size: 1.4rem;
	}
}
.toggle-list .toggle-item .detail-content .inner .detail p .ttl {
	font-size: 1.6rem;
	line-height: 1.8;
	font-weight: 700;
}
@media only screen and (max-width: 1023px) {
	.toggle-list .toggle-item .detail-content .inner .detail p .ttl {
		font-size: 1.4rem;
	}
}
.toggle-list .toggle-item .detail-content .inner .detail .list-lead-square li {
	font-size: 1.6rem;
	font-weight: 400;
}
@media only screen and (max-width: 1023px) {
	.toggle-list .toggle-item .detail-content .inner .detail .list-lead-square li {
		font-size: 1.4rem;
	}
}
@media only screen and (max-width: 1023px) {
	.toggle-list .toggle-item .detail-content .inner .btn-wrap {
		-webkit-box-pack: end;
		-ms-flex-pack: end;
		justify-content: flex-end;
	}
}
.toggle-list .toggle-item .icon {
	font-size: 2.4rem;
	line-height: 1;
	font-weight: 700;
	letter-spacing: .05em;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
@media only screen and (max-width: 1023px) {
	.toggle-list .toggle-item .icon {
		font-size: 1.6rem;
	}
}
.toggle-list .toggle-item .icon.q {
	color: var(--c_accent);
}
.toggle-list .toggle-item .icon.a {
	color: var(--c_txt_pale);
}

.btn-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.btn-wrap.cta-btn-wrap {
	-ms-flex-flow: wrap;
	flex-flow: wrap;
	gap: 1rem 3.5rem;
}
.btn-wrap.cta-btn-wrap .btn {
	width: 100%;
	max-width: 38rem;
	font-size: 1.8rem;
	padding: 1.195em 1em;
}
@media only screen and (max-width: 1023px) {
	.btn-wrap.cta-btn-wrap .btn {
		font-size: 1.6rem;
		padding: .688em 1em;
	}
}

.btn {
	min-width: 18rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.btn.btn-arrow {
	font-weight: 700;
	border-radius: 100vw;
	padding: .25em calc(2em + 1rem);
	position: relative;
	overflow: hidden;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.btn.btn-arrow span {
	position: relative;
	z-index: 1;
}
.btn.btn-arrow::before {
	content: "";
	width: 2em;
	height: 2em;
	background: var(--bg_accent);
	border-radius: 100vw;
	display: block;
	position: absolute;
	top: 50%;
	translate: 0 -50%;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.btn.btn-arrow .icon-arrow {
	width: 2em;
	height: 2em;
	text-indent: 100%;
	position: absolute;
	top: 50%;
	translate: 0 -50%;
	overflow: hidden;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.btn.btn-arrow .icon-arrow::before {
	content: "";
	width: 1rem;
	height: 1rem;
	border-right: .2rem solid var(--c_white);
	border-bottom: .2rem solid var(--c_white);
	display: block;
	position: absolute;
	top: 50%;
	translate: -50% -50%;
	rotate: -45deg;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.btn.btn-arrow .icon-arrow::after {
	content: "";
	width: 0;
	height: 0;
	border-top: .2rem solid var(--c_white);
	position: absolute;
	top: 50%;
	translate: 0 -50%;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.btn.btn-arrow.arrow-right .icon-arrow::before {
	rotate: -45deg;
	left: calc(50% - .25rem);
}
.btn.btn-arrow.arrow-right.icon-right .icon-arrow::after {
	left: .5rem;
}
.btn.btn-arrow.arrow-right.icon-left .icon-arrow::after {
	left: 1rem;
}
.btn.btn-arrow.arrow-left .icon-arrow::before {
	rotate: 135deg;
	left: calc(50% + .25rem);
}
.btn.btn-arrow.arrow-left.icon-right .icon-arrow::after {
	right: 1rem;
}
.btn.btn-arrow.arrow-left.icon-left .icon-arrow::after {
	right: .5rem;
}
.btn.btn-arrow.icon-right .icon-arrow {
	right: 0;
}
.btn.btn-arrow.icon-right::before {
	right: 0;
}
.btn.btn-arrow.icon-left .icon-arrow {
	left: 0;
}
.btn.btn-arrow.icon-left::before {
	left: 0;
}
@media only screen and (min-width: 1024px) {
	.btn.btn-arrow.hov-action:hover, .btn.btn-arrow.hov-action:focus-within {
		color: var(--c_white);
	}
	.btn.btn-arrow.hov-action:hover::before, .btn.btn-arrow.hov-action:focus-within::before {
		width: 100%;
	}
	.btn.btn-arrow.hov-action:hover .icon-arrow::after, .btn.btn-arrow.hov-action:focus-within .icon-arrow::after {
		width: 1.5rem;
	}
	.btn.btn-arrow.hov-action:hover.arrow-left.icon-right .icon-arrow::before, .btn.btn-arrow.hov-action:focus-within.arrow-left.icon-right .icon-arrow::before {
		left: 1.25rem;
	}
	.btn.btn-arrow.hov-action:hover.arrow-left.icon-left .icon-arrow::before, .btn.btn-arrow.hov-action:focus-within.arrow-left.icon-left .icon-arrow::before {
		left: 1.75rem;
	}
	.btn.btn-arrow.hov-action:hover.arrow-right.icon-right .icon-arrow::before, .btn.btn-arrow.hov-action:focus-within.arrow-right.icon-right .icon-arrow::before {
		left: 1.5rem;
	}
	.btn.btn-arrow.hov-action:hover.arrow-right.icon-left .icon-arrow::before, .btn.btn-arrow.hov-action:focus-within.arrow-right.icon-left .icon-arrow::before {
		left: 2rem;
	}
}
.btn.btn-def, .btn.btn-contact, .btn.btn-request, .btn.btn-form {
	font-weight: 700;
	border-radius: 100vw;
	padding: .5em 1em;
}

.btn-primary, .btn-contact {
	color: var(--c_white);
	background: var(--bg_primary);
	border: .1rem solid var(--bg_primary);
	-webkit-transition: all .3s;
	transition: all .3s;
}
@media only screen and (min-width: 1024px) {
	.btn-primary:hover, .btn-primary:focus-within, .btn-contact:hover, .btn-contact:focus-within {
		color: var(--bg_primary);
		background: var(--c_white);
	}
}

.btn-accent, .btn-request {
	color: var(--c_white);
	background: var(--bg_accent);
	border: .1rem solid var(--bg_accent);
	-webkit-transition: all .3s;
	transition: all .3s;
}
@media only screen and (min-width: 1024px) {
	.btn-accent:hover, .btn-accent:focus-within, .btn-request:hover, .btn-request:focus-within {
		color: var(--bg_accent);
		background: var(--c_white);
	}
}

.img-blank-set:empty {
	height: 100%;
	position: relative;
}
.img-blank-set:empty::before {
	content: "";
	width: 100%;
	height: 100%;
	background: url(../img/header_logo@2x.png) no-repeat center/50%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	scale: 1;
	opacity: .7;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.hov-box {
	-webkit-box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
	box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
	-webkit-transition: all .3s;
	transition: all .3s;
}
.hov-box .hov-scale {
	scale: 1;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.hov-box .hov-hidden {
	overflow: hidden;
}
@media only screen and (min-width: 1024px) {
	.hov-box:hover, .hov-box:focus-within {
		-webkit-box-shadow: 0 0 2rem 0 rgba(0, 0, 0, .15);
		box-shadow: 0 0 2rem 0 rgba(0, 0, 0, .15);
	}
	.hov-box:hover .hov-scale, .hov-box:focus-within .hov-scale {
		scale: 1.1;
	}
	.hov-box:hover .img-blank-set::before, .hov-box:focus-within .img-blank-set::before {
		scale: 1.1;
	}
	.hov-box:hover .btn.hov-parent.btn-arrow, .hov-box:focus-within .btn.hov-parent.btn-arrow {
		color: var(--c_white);
	}
	.hov-box:hover .btn.hov-parent.btn-arrow::before, .hov-box:focus-within .btn.hov-parent.btn-arrow::before {
		width: 100%;
	}
	.hov-box:hover .btn.hov-parent.btn-arrow.arrow-right .icon-arrow::before, .hov-box:focus-within .btn.hov-parent.btn-arrow.arrow-right .icon-arrow::before {
		left: 50%;
	}
	.hov-box:hover .btn.hov-parent.btn-arrow.arrow-right .icon-arrow::after, .hov-box:focus-within .btn.hov-parent.btn-arrow.arrow-right .icon-arrow::after {
		width: .75em;
		left: .5em;
	}
}

.bg-primary, .bg-contact {
	background: var(--bg_primary);
}

.bg-accent, .bg-request {
	background: var(--bg_accent);
}

.bg-primary-dark {
	background: var(--c_primary_dark);
}

.bg-primary-pale {
	background: var(--bg_primary_pale);
}

.bg-base {
	background: var(--bg_base);
}

.bg-white {
	background: var(--c_white);
}

.bdr-gray {
	border: .1rem solid var(--bdr_gray);
}

@media only screen and (min-width: 1024px) {
	.pc-hide {
		display: none;
	}
}

@media only screen and (max-width: 1023px) {
	.sp-hide {
		display: none;
	}
}

.word-break span {
	display: inline-block;
}

/**/
aside.cta-request {
	padding: 4rem 1rem;
	background-image: -webkit-gradient(linear, left top, right top, from( rgb(37, 158, 134)), to( rgb(78, 147, 162)));
	background-image: linear-gradient(90deg,  rgb(37, 158, 134), rgb(78, 147, 162));
}
aside.cta-request > .wrapper {
	max-width: 96rem;
	margin: auto;
}
aside.cta-request > .wrapper > .flex-box {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 2rem 10rem;
}
@media only screen and (max-width: 1023px) {
	aside.cta-request > .wrapper > .flex-box {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-flow: column;
		flex-flow: column;
	}
}
aside.cta-request > .wrapper > .flex-box .cta-ttl-wrap .cta-ttl {
	font-size: 3.6rem;
	font-weight: 700;
	line-height: 1.5;
	color: var(--c_white);
}
@media only screen and (max-width: 1023px) {
	aside.cta-request > .wrapper > .flex-box .cta-ttl-wrap .cta-ttl {
		font-size: 2rem;
	}
}
aside.cta-request > .wrapper > .flex-box .flex-box {
	background: var(--c_white);
	border-radius: 2rem;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-flow: row-reverse;
	flex-flow: row-reverse;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 2rem 4rem;
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	padding: 3rem 4rem;
	position: relative;
}
@media only screen and (max-width: 1023px) {
	aside.cta-request > .wrapper > .flex-box .flex-box {
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		-ms-flex-flow: column-reverse;
		flex-flow: column-reverse;
		padding: 2rem 1rem;
	}
}
aside.cta-request > .wrapper > .flex-box .flex-box .content-wrap {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	position: relative;
}
aside.cta-request > .wrapper > .flex-box .flex-box .content-wrap .txt-wrap p {
	font-size: 1.6rem;
	line-height: 1.6;
}
@media only screen and (max-width: 1023px) {
	aside.cta-request > .wrapper > .flex-box .flex-box .content-wrap .txt-wrap p {
		font-size: 1.4rem;
	}
}
aside.cta-request > .wrapper > .flex-box .flex-box .content-wrap .btn-wrap {
	margin-top: 3rem;
}
@media only screen and (max-width: 1023px) {
	aside.cta-request > .wrapper > .flex-box .flex-box .content-wrap .btn-wrap {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
}
aside.cta-request > .wrapper > .flex-box .flex-box .content-wrap .btn-wrap .btn {
	min-width: 32rem;
	font-size: 1.8rem;
	padding: 1.195em 1em;
}
@media only screen and (max-width: 1023px) {
	aside.cta-request > .wrapper > .flex-box .flex-box .content-wrap .btn-wrap .btn {
		font-size: 1.6rem;
	}
}
aside.cta-request > .wrapper > .flex-box .flex-box .img-wrap {
	max-width: 13.2rem;
	position: relative;
}
aside.cta-contact {
	background: var(--c_white);
	padding: 6rem 1rem;
}
aside.cta-contact > .wrapper {
	max-width: 116rem;
	margin: auto;
}
aside.cta-contact > .wrapper > .flex-box {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 2rem 4rem;
}
@media only screen and (max-width: 1023px) {
	aside.cta-contact > .wrapper > .flex-box {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-flow: column;
		flex-flow: column;
	}
}
aside.cta-contact > .wrapper > .flex-box .cta-ttl-wrap .cta-ttl {
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.5;
}
@media only screen and (max-width: 1023px) {
	aside.cta-contact > .wrapper > .flex-box .cta-ttl-wrap .cta-ttl {
		font-size: 1.6rem;
	}
}
aside.cta-contact > .wrapper > .flex-box .btn-wrap .btn {
	min-width: 32rem;
	font-size: 1.8rem;
	padding: 1.195em 1em;
}
@media only screen and (max-width: 1023px) {
	aside.cta-contact > .wrapper > .flex-box .btn-wrap .btn {
		font-size: 1.6rem;
	}
}
aside.cta-fixed {
	position: fixed;
	top: 50%;
	right: 0;
	z-index: 1;
	translate: 0 -50%;
	display: none;
}
@media only screen and (max-width: 1023px) {
	aside.cta-fixed {
		display: none;
	}
}
aside.cta-fixed > .wrapper + .wrapper {
	margin-top: 1rem;
}
aside.cta-fixed > .wrapper.request {
	width: 18.4rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: reverse;
	-ms-flex-flow: column-reverse;
	flex-flow: column-reverse;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
}
aside.cta-fixed > .wrapper.request .content-wrap {
	background: var(--bg_accent);
	border: .1rem solid var(--bg_accent);
	border-radius: 1rem 0 0 1rem;
	-webkit-box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
	box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
	padding: 4rem 1rem 1rem;
	-webkit-transition: all .3s;
	transition: all .3s;
}
aside.cta-fixed > .wrapper.request .content-wrap .cta-ttl {
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	color: var(--c_white);
	-webkit-transition: all .3s;
	transition: all .3s;
}
aside.cta-fixed > .wrapper.request > .img-wrap {
	max-width: 12.8rem;
	margin: auto auto -3.5rem;
	position: relative;
	overflow: hidden;
}
aside.cta-fixed > .wrapper.request > .img-wrap img {
	scale: 1;
	-webkit-transition: all .3s;
	transition: all .3s;
}
@media only screen and (min-width: 1024px) {
	aside.cta-fixed > .wrapper.request:hover .content-wrap {
		background: var(--c_white);
		-webkit-box-shadow: 0 0 2rem 0 rgba(0, 0, 0, .15);
		box-shadow: 0 0 2rem 0 rgba(0, 0, 0, .15);
	}
	aside.cta-fixed > .wrapper.request:hover .content-wrap .cta-ttl {
		color: var(--c_accent);
	}
	aside.cta-fixed > .wrapper.request:hover > .img-wrap img {
		scale: 1.1;
	}
}

/**/
.js-modal {
	position: relative;
}
@media only screen and (min-width: 1024px) {
	.js-modal {
		-webkit-transition: all .3s;
		transition: all .3s;
	}
	.js-modal:hover::after {
		scale: 1.1;
	}
}
.js-modal::after {
	content: "";
	width: 5.6rem;
	height: 5.6rem;
	background: var(--c_primary_dark) url(../img/modal_icon.svg) no-repeat center/58% 58%;
	border-radius: .4rem;
	position: absolute;
	bottom: 1rem;
	right: 1rem;
	scale: 1;
	-webkit-transition: all .3s;
	transition: all .3s;
}
@media only screen and (max-width: 1023px) {
	.js-modal::after {
		width: 3.3rem;
		height: 3.3rem;
	}
}

.js-modal-wrap {
	width: 100%;
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	padding: 6rem;
}
@media only screen and (max-width: 1023px) {
	.js-modal-wrap {
		padding: 1rem;
	}
}
.js-modal-wrap::before {
	content: "";
	width: 100%;
	height: 100%;
	background: var(--bg_gray);
	position: absolute;
	top: 0;
	left: 0;
	opacity: .9;
}
.js-modal-wrap .js-img-wrap {
	width: 100%;
	max-width: 100%;
	height: 100%;
	max-height: 100%;
	position: relative;
}
.js-modal-wrap .js-img-wrap img {
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	object-fit: contain;
}
.js-modal-wrap .js-close {
	width: 4.6rem;
	height: 4.6rem;
	font-size: 1.4em;
	font-weight: 700;
	line-height: 4.6rem;
	color: var(--c_white);
	background: var(--c_primary_dark);
	border: .1rem solid var(--c_primary_dark);
	border-radius: 100vw;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	position: absolute;
	top: 1rem;
	right: 1rem;
	overflow: hidden;
}
@media only screen and (min-width: 1024px) {
	.js-modal-wrap .js-close {
		-webkit-transition: all .3s;
		transition: all .3s;
	}
	.js-modal-wrap .js-close:hover {
		color: var(--c_primary_dark);
		background: var(--c_white);
	}
}

/* base style end */
.js-anime-parent .js-anime-obj {
	-webkit-transform-origin: 50% 100%;
	transform-origin: 50% 100%;
	translate: 0 100%;
	scale: 0;
	opacity: 0;
	-webkit-transition: all .4s ease-out;
	transition: all .4s ease-out;
}
.js-anime-parent .js-anime-obj.action {
	translate: 0 0;
	scale: 1;
	opacity: 1;
}
