* {
	box-sizing: border-box;
}

html {
	overflow-x: hidden;
	font-size: 62.5%;
}

body {
	background-color: #fff;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.8rem;
	font-weight: 400;
	color: #333;
	line-height: 1.875;
}

@media screen and (max-width: 768px) {
	
	body {
		font-size: 1.6rem;
	}
	
}


img {
	max-width: 100%;
	height: auto;
}

p { margin-bottom: 2rem;}

ul { margin-top: 0; margin-bottom: 2rem;}
ol { margin-top: 0; margin-bottom: 2rem;}

.radius { border-radius: 1.6rem;}

.section {
	padding-top: 8rem;
	padding-bottom: 8rem;
}

@media screen and (max-width: 768px) {
	
	.section {
		padding-top: 4rem;
		padding-bottom: 4rem;
	}
	
}


.inner {
	max-width: 1320px;
	width: 100%;
	margin: 0 auto;
	padding: 0 2rem;
}

.inner--small {
	max-width: 1120px;
}


.mb-0 { margin-bottom: 0;}


/* --------------------------------------------------

	display

-------------------------------------------------- */

.d-none { display: none;}
.d-block { display: block;}

@media screen and (max-width: 768px) {
	
	.d-sm-none { display: none;}
	.d-sm-block { display: block;}
	
}


/* --------------------------------------------------

	text-align

-------------------------------------------------- */

.text-left { text-align: left;}
.text-center { text-align: center;}
.text-right { text-align: right;}


/* --------------------------------------------------

	color

-------------------------------------------------- */

a { color: #0ABAB5; word-break: break-all; transition: .2s;}
a:hover { color: #f1931B;}

.text-primary { color: #0ABAB5;}
.text-secondary { color: #2E3636;}
.text-info { color: #2674DE;}
.text-warning { color: #E2FF00;}
.text-white { color: #FFF;}

.bg-primary { background-color: #0ABAB5; color: #fff;}
.bg-secondary { background-color: #2E3636; color: #fff;}
.bg-light { background-color: #F1F3F7;}

.fill-primary { fill: #0ABAB5;}
.fill-secondary { fill: #2E3636;}
.fill-white { fill: #FFF;}


/* --------------------------------------------------

	badge

-------------------------------------------------- */

.badge {
	display: inline-block;
	padding: 1rem;
	background-color: #0ABAB5;
	border: 2px solid #0ABAB5;
	color: #fff;
	font-weight: 900;
	line-height: 1;
}

.badge-white {
	background-color: #fff;
	border-color: #0ABAB5;
	color: #0ABAB5;
}


/* --------------------------------------------------

	btn

-------------------------------------------------- */

.btn {
	display: flex;
	align-items: center;
	justify-content: center;
	column-gap: 1rem;
	width: 200px;
	padding: 1rem;
	border: 2px solid #0ABAB5;
	background-color: #fff;
	font-weight: 900;
	color: #0ABAB5;
}

.btn svg {
	width: auto;
	height: 2rem;
	fill: #0ABAB5;
	transition: .2s;
}

.btn:hover {
	background-color: #0ABAB5;
	color: #fff;
}

.btn:hover svg {
	fill: #fff;
}

.btn-mail {
	background-color: #0ABAB5;
	color: #fff;
}

.btn-mail svg {
	fill: #fff;
}

.btn-mail:hover {
	background-color: #fff;
	color: #0ABAB5;
}

.btn-mail:hover svg {
	fill: #0ABAB5;
}

@media screen and (max-width: 768px) {
	
	.btn {
		width: 52px;
	}
	
	.btn__text {
		display: none;
	}
	
}



/* --------------------------------------------------

	badge

-------------------------------------------------- */

.badge {
}

.badge-block {
}


/* --------------------------------------------------

	Heading

-------------------------------------------------- */

.h3 {
	margin: 0 0 2rem;
	font-size: 2.4rem;
	font-weight: 900;
	line-height: 1.4;
}

.h4 {
	margin: 0 0 1.6rem;
	font-size: 2rem;
	font-weight: 900;
	line-height: 1.6;
}

@media screen and (max-width: 768px) {
	
	.h3 {
		font-weight: 700;
	}

	.h4 {
		font-weight: 700;
	}
	
}


.head-parts {
	margin: 0 0 3.2rem;
}

.head-parts__sup {
	margin: 0 0 .4rem;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 2px;
}

.head-parts__title {
	font-size: 4rem;
	font-weight: 900;
	line-height: 1.4;
	letter-spacing: 2px;
}

@media screen and (max-width: 768px) {
	
	.head-parts {
		margin: 0 0 3.2rem;
	}

	.head-parts__sup {
		font-weight: 700;
	}

	.head-parts__title {
		font-size: 3.2rem;
		font-weight: 700;
	}
	
}


/* --------------------------------------------------

	header

-------------------------------------------------- */

.top-head {
	position: relative;
}

.top-head::before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	z-index: 2;
	display: block;
	background-image: url("../images/top-key-bg.png");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
}

.top-key-photo {
	position: relative;
	z-index: 1;
}

.top-key-photo img {
	display: block;
	max-width: none;
	width: 100vw;
	height: 100vh;
	object-fit: cover;
}


.header {
	position: fixed;
	top: 0;
	z-index: 10000;
	width: 100vw;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 2rem 4rem;
	transition: .2s;
}

body:not(.home) .header,
.header.is-fixed,
.header.is-active {
	background-color: rgba(46, 54, 54, 0.95); 
}

.header-logo {
	margin: 0;
	padding: 0;
	color: #fff;
	font-weight: 700;
	line-height: 1;
}

.header-logo__sup {
	margin: 0 0 1rem;
	padding: 0;
	font-size: 1.2rem;
}

.header-logo__logo {
	font-size: 2.6rem;
}

.header-logo__company {
	display: inline-block;
	padding-left: 1rem;
	font-size: 1.6rem;
}

.header-nav {
	display: flex;
	margin: 0 -1rem;
	padding: 0;
	list-style: none;
}

.header-nav li {
	padding: 0 1rem;
}

.header-nav a {
}

@media screen and (max-width: 1024px) {

	.header {
		padding: 2rem;
	}
	
	.header-logo__sup {
		font-size: 1.2rem;
	}

	.header-logo__logo {
		font-size: 2rem;
	}

	.header-logo__company {
		display: block;
		margin-top: 1rem;
		padding-left: 0;
		font-size: 1.4rem;
	}
	
	.header.is-fixed,
	.header.is-active {
		padding: 1rem;
	}
	
	.header.is-fixed .header-logo__logo,
	.header.is-active .header-logo__logo {
		font-size: 1.6rem;
	}
	
	.header.is-fixed .header-logo__company,
	.header.is-active .header-logo__company {
		display: none;
	}

}


/* --------------------------------------------------

	key

-------------------------------------------------- */

.top-key {
	position: absolute;
	top: 0;
	z-index: 10;
	width: 100vw;
	height: 100vh;
}

.top-key__text {
	position: absolute;
	top: 50%;
	left: 8rem;
	transform: translateY(-50%);
	color: #fff;
}

.top-key__title {
	margin: 0 0 1.2rem;
	font-size: 6rem;
	font-weight: 900;
	line-height: 1.2;
}

.top-key__sup {
	margin: 0 0 4.8rem;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.6;
}

.top-key-info {
	display: flex;
	align-items: center;
	margin: 0 -1.5rem;
}

.top-key-info__col {
	padding: 0 1.5rem;
}

.top-key-info__col01 img { width: 269px;}
.top-key-info__col02 img { width: 315px;}
.top-key-info__col03 img { width: 278px;}

@media screen and (max-width: 768px) {
	
	.top-key__text {
		left: 0;
	}

	.top-key__title {
		font-size: 3.2rem;
		line-height: 1.4;
		text-align: center;
	}

	.top-key__sup {
		font-size: 1.6rem;
		text-align: center;
	}

	.top-key-info {
		flex-wrap: wrap;
		justify-content: center;
		margin: 0 0 -2rem;
	}
	
	.top-key-info__col01,
	.top-key-info__col02,
	.top-key-info__col03 {
		width: 50%;
		margin-bottom: 2rem;
		padding: 0;
		text-align: center;
	}

	.top-key-info__col01 img { width: auto; height: 56px;}
	.top-key-info__col02 img { width: auto; height: 56px;}
	.top-key-info__col03 img { width: auto; height: 50px;}
	
}


/* --------------------------------------------------

	lead

-------------------------------------------------- */

.section-lead {
	position: relative;
	z-index: 10;
}

.lead {
	margin: 0 8rem 9.2rem;
}

.lead__title {
	margin: 0 0 2.4rem;
	font-size: 3.2rem;
	font-weight: 900;
	line-height: 1.4;
}

.lead__body {
	margin: 0;
	padding: 4rem 5.2rem;
	background-color: rgba(52, 88, 87, 0.75); 
}

.lead__list {
	margin: 0 0 2.4rem;
	padding: 0;
	list-style: none;
}

.lead__list li {
	display: flex;
	justify-content: space-between;
	background-color: #fff;
	color: #333;
	font-size: 2rem;
	line-height: 1.6;
	font-weight: 900;
}

.lead__list li::before {
	content: '';
	display: flex;
	width: 6rem;
	background: #E2FF00 url("../images/icon-exclamation.svg") no-repeat center center;
	background-size: 6rem;
}

.lead__list-text {
	width: calc(100% - 8rem);
	padding: 1.6rem .8rem 1.6rem 0;
}

.lead__list li + li {
	margin-top: 1.4rem;
}

.lead__footer {
	margin: 0;
	font-size: 2rem;
	font-weight: 900;
	line-height: 1.6;
}

.lead__footer-text {
	display: inline-block;
	padding-top: 1rem;
	font-size: 4rem;
	line-height: 1.4;
}

@media screen and (max-width: 768px) {
	
	.lead {
		margin: 0 0 4rem;
	}

	.lead__title {
		font-size: 2.4rem;
		font-weight: 700;
	}

	.lead__body {
		padding: 2rem;
	}

	.lead__list li {
		font-size: 1.6rem;
		font-weight: 700;
	}

	.lead__footer {
		font-weight: 1.6rem;
	}

	.lead__footer-text {
		font-size: 2.4rem;
		line-height: 1.4;
	}
	
}


/* --------------------------------------------------

	features

-------------------------------------------------- */

.features-title-wrap {
	position: relative;
	margin-bottom: 2rem;
}

.features-title-wrap::before {
	content: 'FEATURES';
	position: absolute;
	left: 50%;
	bottom: 0;
	z-index: 1;
	display: block;
	font-size: 120px;
	font-weight: 900;
	line-height: 1;
	color: #fff;
	opacity: .3;
	transform: translateX(-50%);
}

.features-title {
	position: relative;
	z-index: 2;
	font-size: 3.6rem;
	font-weight: 900;
	text-align: center;
}

.features-box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 auto;
}

.features-box--reverse {
	flex-direction: row-reverse;
}

.features-box + .features-box {
	margin-top: 4rem;
}

.features-box__photo {
	width: 40%;
}

.features-box__text {
	width: 56.666667%;
}

.features-box__text > :last-child {
	margin-bottom: 0;
}

@media screen and (max-width: 768px) {
	
	.features-title-wrap::before {
		font-size: 60px;
	}

	.features-title {
		font-size: 2.4rem;
		font-weight: 700;
		line-height: 1.4;
	}

	.features-box,
	.features-box--reverse {
		flex-direction: column;
	}

	.features-box__photo {
		width: 100%;
		margin-bottom: 2rem;
	}

	.features-box__text {
		width: 100%;
	}

}


/* --------------------------------------------------

	service

-------------------------------------------------- */

.service-row {
	display: flex;
	margin: 0 -2rem 8rem;
	
}

.service-col {
	display: flex;
	width: 33.33333333%;
	margin: 0 0 2rem;
	padding: 0 2rem;
}

.service-box {
	box-shadow: 0px 0 6px 0px rgba(0, 0, 0, 0.15);
}

.service-box__photo img {
	display: block;
	max-width: none;
	width: 100%;
}

.service-box__text {
	padding: 2rem 1rem;
	font-size: 1.8rem;
	font-weight: 900;
}

.service-box__text > :last-child {
	margin-bottom: 0;
}
@media screen and (max-width: 768px) {
	
	.service-row {
		flex-direction: column;
		margin-bottom: 2rem;
	}

	.service-col {
		width: 100%;
	}

	.service-box__text {
		font-weight: 700;
	}

}


.subject-section {
	max-width: 980px;
	margin: 0 auto;
}

.subject-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 0 2.4rem;
}

.subject-title {
	height: 6rem;
	padding: 0 2rem;
	border-radius: 3rem;
	font-size: 2.4rem;
	font-weight: 900;
	line-height: 6rem;
	text-align: center;
}

.subject-head__sup {
	margin: 0;
	font-weight: 900;
}

.subject-info {
	margin-bottom: 3.2rem;
}

.subject-info > :last-child {
	margin-bottom: 0;
}

.subject-list {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -1rem;
	padding: 0;
	list-style: none;
}

.subject-list li {
	width: 50%;
	margin: 0 0 2rem;
	padding: 0 1rem;
}

.subject-box {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0;
	border: 1px solid #ccc;
	font-weight: 900;
}

.subject-box dt {
	width: calc(100% - 11rem);
	margin: 0;
	padding: 2.4rem 1rem 2.4rem 2rem;
}

.subject-box dd {
	width: 11rem;
	margin: 0;
	padding: 0;
	text-align: center;
	line-height: 1;
}

.subject-box img {
	line-height: 1;
}

.subject-box__sup {
	margin-top: .6rem;
}

@media screen and (max-width: 768px) {
	
	.subject-head {
		flex-direction: column;
		align-items: flex-start;
		margin-bottom: 2rem;
	}

	.subject-title {
		height: 4rem;
		margin-bottom: 2rem;
		font-size: 2rem;
		font-weight: 700;
		line-height: 4rem;
	}

	.subject-head__sup {
		width: 100%;
		font-weight: 700;
	}

	.subject-info {
		margin-bottom: 2rem;
	}

	.subject-list {
		flex-direction: column;
	}

	.subject-list li {
		width: 100%;
	}
	
}


/* --------------------------------------------------

	reason

-------------------------------------------------- */

.reason-row {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -2rem -4rem;
}

.reason-col {
	display: flex;
	width: 50%;
	margin: 0 0 4rem;
	padding: 0 2rem;
}

.reason-box {
	width: 100%;
	padding: 4rem;
	font-weight: 900;
	box-shadow: 0px 0 6px 0px rgba(0, 0, 0, 0.15);
}

.reason-box > :last-child {
	margin-bottom: 0;
}

.reason-box__title {
	margin: 0 0 .8rem;
	font-weight: 2rem;
	font-weight: 900;
	line-height: 1.4;
	text-align: center;
}

.reason-box__body {
	margin: 0 0 .4rem;
	font-size: 2rem;
	line-height: 1;
}

.reason-box__num {
	font-size: 4.8rem;
}

@media screen and (max-width: 768px) {
	
	.reason-row {
		margin-bottom: -2rem;
	}

	.reason-col {
		width: 100%;
		margin-bottom: 2rem;
	}
	
	.reason-box {
		font-weight: 700;
	}

	.reason-box__title {
		font-weight: 700;
	}

}


.reason-box-row {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 -1rem;
}

.reason-box-col {
	padding: 0 1rem;
}

@media screen and (max-width: 768px) {
	
	.reason-box-row {
		flex-direction: column;
	}
	
}


.banner-iso9001 {
	width: 200px;
}


/* --------------------------------------------------

	works

-------------------------------------------------- */

.section-work {
	background-image: url("../images/light-bg.png");
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
}

.work-box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 1040px;
	margin: 0 auto;
}

.work-box--reverse {
	flex-direction: row-reverse;
}

.work-box + .work-box {
	margin-top: 4rem;
}

.work-box__photo {
	width: 38.461538%;
}

.work-box__photo > :last-child {
	margin-bottom: 0;
}

.work-box__text {
	width: 55.769231%;
}

.work-box__text > :last-child {
	margin-bottom: 0;
}

.work-box__text h4 {
	margin-bottom: 1rem;
}

@media screen and (max-width: 768px) {
	
	.work-box,
	.work-box--reverse {
		flex-direction: column;
	}
	
	.work-box + .work-box {
		margin-top: 4rem;
	}

	.work-box__photo {
		width: 100%;
		margin-bottom: 2rem;
	}

	.work-box__text {
		width: 100%;
	}

}


/* --------------------------------------------------

	flow

-------------------------------------------------- */

.flow-box {
	display: flex;
	justify-content: space-between;
}

.flow-box + .flow-box {
	margin-top: 3.2rem;
}

.flow-box__head {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 320px;
	min-height: 20rem;
	padding: 1rem;
}

.flow-box__head::after {
	content: '';
	position: absolute;
	top: 100%;
	left: 50%;
	display: block;
	width: 24px;
	height: 10px;
	background-color: #0ABAB5;
	transform: translateX(-50%);
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.flow-box--last .flow-box__head::after {
	display: none;
}

.flow-box__en {
	margin: 0 0 .8rem;
	font-size: 1.6rem;
	font-weight: 900;
}

.flow-box__title {
	font-size: 2.4rem;
	font-weight: 900;
	line-height: 1.4;
}

.flow-box__text {
	display: flex;
	align-items: center;
	width: calc(100% - 360px);
}

@media screen and (max-width: 768px) {
	
	.flow-box {
		flex-direction: column;
	}

	.flow-box + .flow-box {
		margin-top: 2rem;
	}

	.flow-box__head {
		width: 100%;
		min-height: auto;
		margin-bottom: 2rem;
		padding-top: 2rem;
		padding-bottom: 2rem;
	}

	.flow-box__en {
		font-weight: 700;
	}

	.flow-box__title {
		font-weight: 700;
	}

	.flow-box__text {
		width: 100%;
	}
	
}


/* --------------------------------------------------

	FAQ

-------------------------------------------------- */

.faq-row {
	display: flex;
}

.faq-head {
	width: 360px;
}

.faq-text {
	width: calc(100% - 360px);
}

.faq-box {
	border-bottom: 1px solid #Cccc;
}

.faq-box__title {
	display: flex;
	align-items: center;
	padding: 1.6rem 0;
	cursor: pointer;
}

.faq-box__title::before {
	content: 'Q.';
	display: block;
	width: 5.2rem;
	font-size: 3.2rem;
	font-weight: 900;
	line-height: 1;
	text-align: center;
	color: #0ABAB5;
}

.faq-box__title-text {
	width: calc(100% - 10.2rem);
	font-weight: 900;
}

.faq-box__title-arrow {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 5rem;
	border: 2px solid #0ABAB5;
	border-radius: 50%;
	aspect-ratio: 1 / 1;
	transition: .2s;
}

.faq-box__title-arrow svg {
	width: 2rem;
	vertical-align: top;
	line-height: 1;
	transition: .2s;
}

.faq-box__title.is-active .faq-box__title-arrow svg {
	transform: scale(1, -1);
}

.faq-box__title:hover .faq-box__title-arrow {
	background-color: #fff;
}

.faq-box__title:hover .faq-box__title-arrow svg {
	fill: #0ABAB5;
}

.faq-box__text {
	display: none;
}

.faq-box__text-body {
	display: flex;
	align-items: center;
}

.faq-box__text-body::before {
	content: 'A.';
	display: block;
	width: 5.2rem;
	font-size: 3.2rem;
	font-weight: 900;
	line-height: 1;
	text-align: center;
	color: #0ABAB5;
}

.faq-box__text-body__text {
	width: calc(100% - 5.2rem);
}

@media screen and (max-width: 768px) {
	
	.faq-row {
		flex-direction: column;
	}

	.faq-head {
		width: 100%;
	}

	.faq-text {
		width: 100%;
	}
	
	.faq-box__title::before {
		font-weight: 700;
	}

	.faq-box__title-text {
	width: calc(100% - 9.2rem);
		font-weight: 700;
	}

	.faq-box__title-arrow {
		width: 4rem;
	}

	.faq-box__title-arrow svg {
		width: 1.6rem;
	}

	.faq-box__text-body::before {
		font-weight: 700;
	}

	
}


/* --------------------------------------------------

	footer

-------------------------------------------------- */

.footer {
	padding-top: 8rem;
	padding-bottom: 8rem;
	background-color: #2E3636;
	color: #fff;
}

.footer-row {
	display: flex;
	justify-content: space-between;
	margin: 0 0 4rem;
}

.footer__company {
	width: 37.5%;
	margin-bottom: 4rem;
}

.table-company tr {
	border-bottom: 1px solid #fff;
}

.table-company th {
	width: 132px;
	padding: 1.6rem 0;
}

.table-company td {
	width: calc(100% - 132px);
	padding: 1.6rem 0;
}

.footer__access {
	width: 53.125%;
	margin-bottom: 4rem;
}

.footer__access iframe {
	width: 100%;
}

.copyright {
	margin: 0;
	font-size: 1.4rem;
	line-height: 1;
}

@media screen and (max-width: 768px) {
	
	.footer {
		padding-top: 4rem;
		padding-bottom: 4rem;
	}

	.footer-row {
		flex-direction: column;
	}

	.footer__company {
		width: 100%;
	}

	.footer__access {
		width: 100%;
	}

	.copyright {
		font-size: 1.2rem;
	}
	
}


/* --------------------------------------------------

	contact

-------------------------------------------------- */

.section-contact {
	position: relative;
	padding-top: 8rem;
	padding-bottom: 8rem;
	background: #2E3636 url("../images/contact-bg.jpg") no-repeat center center;
	background-size: cover;
	color: #fff;
}

.section-contact::before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 1;
	display: block;
	background-color: rgba(46, 54, 54, 0.75); 
}

.section-contact .inner {
	position: relative;
	z-index: 2;
}

.section-contact__head {
	display: flex;
	justify-content: center;
}

.section-contact__title {
	position: relative;
	margin: 0 auto 4rem;
	display: inline-block;
	font-size: 2rem;
	font-weight: 900;
	line-height: 1.6;
	text-align: center;
}

@media screen and (max-width: 768px) {
	
	.section-contact {
		padding-top: 4rem;
		padding-bottom: 4rem;
	}
	
	.section-contact__title {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	
}


.contact-drawing {
	position: absolute;
	top: calc(50% - 2rem);
	left: calc(100% + 2rem);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 160px;
	height: 160px;
	border-radius: 50%;
	border: 4px solid #0ABAB5;
	font-weight: 700;
	color: #fff;
	transform: translateY(-50%);
}

.contact-row {
	display: flex;
	align-items: center;
	margin: 0 -3rem -2rem;
}

.contact-col {
	width: 33.33333333%;
	margin-bottom: 2rem;
	padding: 0 3rem;
}

@media screen and (max-width: 768px) {
	
	.contact-drawing {
		position: static;
		display: block;
		width: auto;
		height: auto;
		margin: 0 auto 1rem;
		padding: 1rem 2rem;
		border-width: 2px;
		border-radius: 4px;
		transform: translateY(0);
	}
	
	.contact-row {
		flex-direction: column;
		margin: 0 -2rem;
	}

	.contact-col {
		width: 100%;
		padding: 0 2rem;
	}
	
}


.btn-cta {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 2rem 0;
	background-color: #fff;
	border: 2px solid #0ABAB5;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.6;
	color: #0ABAB5;
}

.btn-cta svg {
	fill: #0ABAB5;
	line-height: 1;
	vertical-align: top;
	transition: .2s;
}

.btn-cta__text {
	margin-top: 1rem;
}

.btn-cta:hover {
	background-color: #0ABAB5;
	color: #fff;
}

.btn-cta:hover svg {
	fill: #fff;
}

.btn-cta--mail {
	background-color: #0ABAB5;
	border: 2px solid #0ABAB5;
	color: #fff;
}

.btn-cta--mail svg {
	fill: #fff;
}

.btn-cta--mail:hover {
	background-color: #fff;
	color: #0ABAB5;
}

.btn-cta--mail:hover svg {
	fill: #0ABAB5;
}

@media screen and (max-width: 768px) {
	
	.btn-cta {
		flex-direction: row;
		justify-content: center;
		align-items: center;
		column-gap: 1rem;
		padding: 2rem;
	}

	.btn-cta svg {
		width: auto;
		height: 24px;
	}
	
	.btn-cta__text {
		margin-top: 0;
	}
	
}


/* --------------------------------------------------

	お問い合わせ

-------------------------------------------------- */

.contact-tel {
	margin-top: 4rem;
	margin-bottom: 12rem;
	padding: 8rem 2rem;
}

.contact-tel-row {
	display: flex;
	align-items: center;
	margin: 0 -2rem;
}

.contact-tel__col {
	width: 50%;
	padding: 0 2rem;
}

.contact-tel__col > :last-child {
	margin-bottom: 0;
}

.contact-tel__col dl {
	margin: 0;
	padding: 0;
	text-align: right;
}

.contact-tel__col dt {
}
.contact-tel__col dd {}

.contact-tel-num {
	font-size: 4rem;
	font-weight: 700;
}

.contact-tel-num-head {
	display: inline-block;
	padding-right: 0.4rem;
	font-size: 2rem;
}

@media screen and (max-width: 768px) {
	
	.contact-tel {
		margin: 4rem -2rem;
		padding: 2rem;
	}

	.contact-tel-row {
		flex-direction: column;
	}

	.contact-tel__col {
		width: 100%;
	}

	.contact-tel__col dl {
		text-align: center;
	}

	.contact-tel-num {
		font-size: 3.2rem;
		text-align: center;
	}

	.contact-tel-num-head {
		font-size: 1.6rem;
	}
	
}


.snow-monkey-form {
	padding: 0 8rem;
}

.smf-action {
	padding: 2rem 0 0;
}

@media screen and (max-width: 768px) {
	
	.snow-monkey-form {
		padding: 2rem 2rem 4rem;
	}
	
}


.smf-item {
	margin: 0 0 3.2rem;
}


.form-day .smf-checkboxes-control {
	display: grid;
	align-items: center;
    grid-template-columns: 6rem 1fr;
}

.form-day .smf-control-fieldset {
	display: contents;
}



.smf-item__label {
	margin: 0 0 1rem;
	font-weight: 700;
}

.is-required {
	display: inline-block;
	margin: 0 0 0 1rem;
	padding: .4rem;
	background-color: #ce5252;
	border: 2px solid #ce5252;
	border-radius: 0;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1;
	text-align: center;
	vertical-align: baseline;
}

.smf-item__description {
	font-size: 1.4rem;
}



.smf-form .smf-text-control__control {
	width: 100%;
	padding: 1.6rem;
	background-color: #F1F3F7;
	border: 1px solid #F1F3F7;
	border-radius: 0;
	font-size: 1.6rem;
	line-height: 1.5;
	box-shadow: none;
}

.smf-form .smf-textarea-control__control {
	width: 100%;
	padding: 1.6rem;
	background-color: #F1F3F7;
	border: 1px solid #F1F3F7;
	border-radius: 0;
	font-size: 1.6rem;
	line-height: 1.5;
	box-shadow: none;
}

.smf-form .smf-file-control label {
	display: block;
	width: 100%;
	padding: 1.6rem;
	background-color: #F1F3F7;
	border: 1px solid #F1F3F7;
	border-radius: 0;
	font-size: 1.6rem;
	line-height: 1.5;
	box-shadow: none;
}

.smf-placeholder {
	margin-top: 1rem;
}

.form-consent {
	text-align: center;
}

.form-consent .smf-item__controls p {
	margin-bottom: 0;
}

[data-screen="confirm"] .form-consent {
	display: none;
}

.smf-action {
	display: flex;
	align-items: center;
	justify-content: center;
	column-gap: 2rem;
}

.smf-action .smf-button-control__control {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 360px;
	max-width: 100%;
	padding: 2rem;
	background: #0ABAB5 none;
	border: 2px solid #0ABAB5;
	border-radius: 0;
	color: #fff;
	font-weight: 700;
	line-height: 1.4;
	cursor: pointer;
	user-select: none;
	transition: .2s;
	overflow: hidden;
}

.smf-action .smf-button-control__control:hover {

}

.smf-action .smf-button-control__control[data-action="back"] {

}

@media screen and (max-width: 768px) {
}


.smf-sending {
	display: none !important;
}