@charset "utf-8";

body {
	font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
	letter-spacing: .05em;
}

b,
strong,
.bold {
	font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
}

.YuGothic {
	font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
}

.Poppins {
	font-family: "Poppins", sans-serif;
}

/* Font
============================================================================= */
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6,
.secondary-font-family,
.gfort-btn,
.gfort-badge,
.gfort-block-meta,
.gfort-block-pager,
.gfort-block-pagination,
.gfort-isotope-filter,
.gfort-slider-title {
	font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
}

/* Colors
============================================================================= */
.accent-color {
	color: #00b050;
}

.accent-bg-color {
	background-color: #00b050;
}

.accent-border {
	border: 10px solid #00b050;
}

/* $rfs-factor: 3
============================================================================= */
h1,
.h1 {
	font-size: calc(1.66667rem + 1.34409vw);
}

@media (min-width: 992px) {
	h1,
	.h1 {
		font-size: 2.5rem;
	}
}

h2,
.h2 {
	font-size: calc(1.52083rem + .87366vw);
}

@media (min-width: 992px) {
	h2,
	.h2 {
		font-size: 2.0625rem;
	}
}

h3,
.h3 {
	font-size: calc(1.41667rem + .53763vw);
}

@media (min-width: 992px) {
	h3,
	.h3 {
		font-size: 1.75rem;
	}
}

h4,
.h4 {
	font-size: calc(1.3125rem + .20161vw);
}

@media (min-width: 992px) {
	h4,
	.h4 {
		font-size: 1.4375rem;
	}
}

h5,
.h5 {
	font-size: 1.1875rem;
}

h6,
.h6 {
	font-size: 1rem;
}

.gfort-section {
	padding: calc(2.33333rem + 3.49462vw) 0 calc(1.58333rem + 1.07527vw);
}

@media (min-width: 992px) {
	.gfort-section {
		padding: 4.5rem 0 2.25rem;
	}
}

/* LOGO
============================================================================= */
.logo-wrapper {
	padding: 10px 0;
}

.logo-svg {
	height: 52px;
}

/* CONTAINER
============================================================================= */
.container {
	padding-right: 18px;
	padding-left: 18px;
}

@media (min-width: 576px) {
	.container {
		padding-right: 36px;
		padding-left: 36px;
	}
}

/* FV
============================================================================= */
.fv-section {
	height: 40vh;
	padding: 0;
	background-image: url(../images/fv-bg-sp.jpg);
	background-position: center center;
}

@media (min-width: 992px) {
	.fv-section {
		height: 65vh;
		padding: 0;
		background-image: url(../images/fv-bg-pc.jpg);
		background-position: center top;
	}
}

.fv-section > div[class*="-sep"] {
	height: 50%;
	color: #ffffff;
}

/* FOOTER
============================================================================= */
.footer-section .widget p,
.footer-section .widget a {
	color: rgba(255, 255, 255, .75);
}

.footer-section .widget a:hover {
	color: #ffffff;
	text-decoration: none;
}

/* SERVICE
============================================================================= */
.service-block-wrapper {
	background-color: #ffffff;
	border: 10px solid #00b050;
}

.service-block-wrapper .gfort-block {
	z-index: 1;
	padding: 0 9% 24px;
}

@media (min-width: 576px) {
	.service-block-wrapper .gfort-block {
		z-index: 1;
		padding: 0 14.52% 24px;
	}
}

.service-block-wrapper .gfort-block:first-child {
	z-index: 1;
	padding: 14.52% 9% 0;
}

@media (min-width: 576px) {
	.service-block-wrapper .gfort-block:first-child {
		z-index: 1;
		padding: 14.52% 14.52% 0;
	}
}

.service-block-wrapper .gfort-block:last-child {
	z-index: 1;
	padding: 0 9% 14.52%;
}

@media (min-width: 576px) {
	.service-block-wrapper .gfort-block:last-child {
		z-index: 1;
		padding: 0 14.52% 14.52%;
	}
}

/* CONTACT
============================================================================= */
.contactForm .form-group {
	margin-bottom: 18px;
}

.section-title-details {
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
}

.section-title-details + .section-title-details {
	margin: 18px 0 0;
}

.section-title-details a {
	color: #00b050;
}

.section-title-details a:hover {
	color: #00ea6b;
}

.contact-step {
	margin: 0 -4.5px 36px;
}

@media (min-width: 992px) {
	.contact-step {
		margin: 0 -18px 36px;
	}
}

.contact-step div[class*="col-"] {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 0 4.5px;
}

@media (min-width: 992px) {
	.contact-step div[class*="col-"] {
		padding: 0 18px;
	}
}

.contact-step-item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	width: 100%;
	padding: .75rem;
	font-size: 13px;
	background-color: #ffffff;
	border: 1px solid rgba(0, 0, 0, .125);
	border-radius: .25rem;
}

@media (min-width: 768px) {
	.contact-step-item {
		-webkit-box-orient: inherit;
		-webkit-box-direction: inherit;
		-ms-flex-direction: inherit;
		flex-direction: inherit;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		font-size: 15px;
	}
}

@media (min-width: 992px) {
	.contact-step-item {
		-webkit-box-orient: inherit;
		-webkit-box-direction: inherit;
		-ms-flex-direction: inherit;
		flex-direction: inherit;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		font-size: 15px;
	}
}

.contact-step-heading {
	font-weight: 700;
}

@media (min-width: 768px) {
	.contact-step-heading {
		margin-right: .75rem;
	}
}

@media (min-width: 992px) {
	.contact-step-heading {
		margin-right: .75rem;
	}
}

.contact-step-current {
	color: #00b050;
	border: 2px solid #00b050;
}

.btn-wrapper {
	margin: 1.5rem 0 0;
}

.btn-wrapper + .btn-wrapper {
	margin: 1.5rem 0 0 .75rem;
}

.badge-accent-color {
	color: #ffffff;
	background-color: #00b050;
}

.gfort-btn-primary {
	background-color: #00b050;
	border-color: #00b050;
}

.gfort-btn-primary.gfort-btn-outline-reverse:hover {
	color: #00b050;
}

.form-check a {
	color: #00b050;
}

.form-check a:hover {
	color: #00ea6b;
}

.contact-confirm-item {
	display: block;
	width: 100%;
	height: auto;
	padding: .375rem .75rem;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	color: #495057;
	background-color: #eff1f3;
	background-clip: padding-box;
	border: 1px solid #eff1f3;
	border-radius: .25rem;
}

/* PRIVACY POLICY
============================================================================= */
.other-content h3 {
	margin: 36px 0 24px;
	color: #00b050;
}

.other-content p:last-child {
	margin-bottom: 18px;
}
