/**
 * 共通CSS
 */
 
/*フォント系*/
@font-face {
	font-family: 'Noto Sans JP';
	font-weight: 300;
	src: url("/common/fonts/NotoSansJP-Light.woff2") format("woff2");
	font-display: swap;
}

@font-face {
	font-family: 'Noto Sans JP';
	font-weight: 400;
	src: url("/common/fonts/NotoSansJP-Regular.woff2") format("woff2");
	font-display: swap;
}

@font-face {
	font-family: 'Noto Sans JP';
	font-weight: 700;
	src: url("/common/fonts/NotoSansJP-Bold.woff2") format("woff2");
	font-display: swap;
}

@font-face {
	font-family: 'Inter';
	font-weight: 300;
	src: url("/common/fonts/Inter_28pt-Light.woff2") format("woff2");
	font-display: swap;
}

@font-face {
	font-family: 'Inter';
	font-weight: 400;
	src: url("/common/fonts/Inter_28pt-Regular.woff2") format("woff2");
	font-display: swap;
}

@font-face {
	font-family: 'Inter';
	font-weight: 700;
	src: url("/common/fonts/Inter_28pt-Bold.woff2") format("woff2");
	font-display: swap;
}

@font-face {
	font-family: 'Fustat';
	font-weight: 100 900;
	src: url("/common/fonts/Fustat-VariableFont_wght.ttf") format("truetype");
	font-display: swap;
}

@font-face {
	font-family: 'CalSans';
	font-weight: 400;
	src: url("/common/fonts/CalSans-Regular.ttf") format("truetype");
	font-display: swap;
}

.font-noto-sans {
	font-family: 'Noto Sans JP';
}

.font-fustat {
	font-family: 'Fustat';
}

.font-calsans {
	font-family: 'CalSans';
}

.font-inter {
	font-family: 'Inter', sans-serif;
}

.font-inter-light {
	font-family: 'Inter', sans-serif;
	font-weight: 300;
}

.fs-0p9rem{
	font-size: 0.9rem;
}
.fs-1p1rem {
	font-size: 1.1rem;
}
.fs-1p2rem {
	font-size: 1.2rem;
}
.fs-1p5rem{
	font-size: 1.5rem;
}

.lh-1p5rem {
	line-height: 1.5rem;
}
.lh-1p8rem {
	line-height: 1.8rem;
}

.breadcrumb-connection {
	position: relative;
	margin-right: 1.5rem;
}

.breadcrumb-connection::after{
	position: absolute;
	color: var(--txt-breadcrumb-separate);
	font-size: 1.5rem;
	margin-left: 1.5rem;
	content: "/";
	top: -7px;
	left: 78px;
	height: 1px;
}

/* サブページ */
.h-top {
	height: 400px;
}

.h1-position {
	position: absolute;
	top: 35%;
	left: 10%;
	font-size: 1.6rem;
}
.service-red {
	color: #d84a4a;
	margin-bottom: 10px;
	font-weight: normal;
}
.bg-light-green {
	background-color: #5BBA6A !important;
}

/* サブページ背景色 */
.bg-body {
	background-color: #F6F8F6 !important;
}
/* sp */
.sp-menu{
	min-height:100vh;
	background:#198a43;
	color:#fff;
	padding:20px;
	overflow:hidden;
	position: fixed;
	inset: 0;
	z-index: 9999;
}
.sp-menu-header{
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin-bottom:40px;
}
.sp-logo{
	font-size:1.4rem;
	font-weight:700;
	font-style:italic;
}
.sp-close{
	width:50px;
	height:50px;
	border:none;
	background:#fff;
	border-radius:8px;
	font-size:2rem;
}
.sp-nav a{
	display:block;
	color:#fff;
	text-decoration:none;
	font-weight:700;
	font-size:1.4rem;
	margin-bottom:24px;
}
.sp-submenu{
	margin-top:-12px;
	margin-bottom:28px;
}
.sp-submenu a{
	font-size:1rem;
	font-weight:400;
	margin-bottom:10px;
}
.sp-contact{
	display:flex;
	justify-content:center;
	align-items:center;
	background:#fff;
	color:#222;
	height:64px;
	border-radius:6px;
	font-weight:700;
	text-decoration:none;
	margin-top: 4rem;
	margin-bottom: 2rem;
}
.navbar-toggler {
	border: none !important;
}
.navbar .nav-link:hover {
	color: #008C28!important;
}
.collapsing {
    transition: none !important;
}
a img {
	position: relative;
	top: -2px;
}
.sp-contact-icon{
	position: relative;
	top: 2px;
	padding-right: 7px;
}

/* 実績カード TOP、導入実績・支援事例ページ */
.result-card {
	background: #57ab68;
	color: #fff;
	border-radius: 3rem;
	text-align: center;
	padding: 2rem 1rem;
	height: 100%;
}
.result-card .result-icon {
	line-height: 1;
}
.result-card.main .result-icon {
	margin-bottom: 1rem;
}
.result-card.main .result-icon img {
	max-width: 60px;
}
.result-card.sub .result-icon img {
	max-width: 50px;
}
.result-card .result-label {
	margin-bottom: .5rem;
}
.result-card.main .result-label {
	font-size: 1.1rem;
}
.result-card .result-value {
	font-weight: 700;
	line-height: 1;
}
.result-card.main .result-value {
	font-size: 2.5rem;
}
.result-card.main .result-value span {
	font-size: 1.8rem;
}
.result-card.sub .result-value {
	font-size: 1.5rem;
}
@media (max-width: 767px){
	/* SP時 文字サイズ等調整*/
	.result-card.sub {
		padding: 1rem;
	}
	.result-card .result-icon {
		margin-bottom: .25rem;
	}
	.result-card.main .result-label {
		font-size: 1rem;
	}
	.result-card.main .result-value {
		font-size: 1.75rem;
	}
	.result-card.main .result-value span {
		font-size: 1rem;
	}
	.result-card.sub .result-label {
		font-size: .9rem;
	}
	.result-card.sub .result-value {
		font-size: 1.5rem;
	}
	.result-card.sub .result-value span {
		font-size: .9rem;
	}
}

/* Contact */
.contact-box {
	background:
	linear-gradient(90deg, #47b66c, #9ac151);
	border-radius: 35px;
	padding: 60px 50px;
}
.contact-title {
	color: #fff;
	font-size: 700;
}
.contact-item span {
	display: block;
	color: #fff;
	margin-bottom: 10px;
}
.contact-item a {
	color: #fff;
	text-decoration: none;
	font-size: 1.75rem;
	font-weight: 600;
}
.contact-item small {
	display: block;
	color: #fff;
	margin-top: 10px;
}
.contact-btn {
	background: #fff!important;
	color: #222;
	font-weight: 700;
	padding: 16px 24px;
	border-radius: 10px;
	display: inline-block;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.contact-btn:hover {
    transform: scale(1.05);
}

.checkbox-lg {
	transform: scale(1.5);
}

.rounded-8 {
	border-radius: 8rem;
}

.btn-gray{
	border: none;
	background: #999 !important;
}
.btn-contact {
	border: 1px solid var(--bs-success);
	transition: all 0.3s ease;
}
.btn-contact:hover {
	background-color: #fff;
	color: var(--bs-success);
	border-color: var(--bs-success);
	font-weight: bold;
}
.btn-contact:hover .contact-icon {
	content: url("/common/img/contact_2.png");
	width: 31px;
	height: 20px;
}

.btn-image {
	display: inline-block;
	transition: .3s;
	border: none!important;
}
.btn-image:hover {
	filter: drop-shadow(0 8px 16px rgba(0,0,0,.2));
}
.btn-reverse {
	border: 1px solid #212529;
	transition: all 0.3s ease;
}
.btn-reverse:hover {
	background-color: #fff;
	color: #212529;
	border-color: #212529;
}
.btn-reverse-black {
	border: 1px solid #212529;
	transition: all 0.3s ease;
}
.btn-reverse-black:hover {
	background-color: #212529;
	color: #fff;
	border-color: #212529;
}

.link-hover:hover {
	color: #008C28!important;
}

.btn-reverse:hover .arrow-icon {
	content: url("/common/img/right_arrow_black.png");
}

.btn-outline-dark:hover .arrow-icon-right {
	content: url("/common/img/right_arrow_white.png");
}
.btn-outline-dark:hover .arrow-icon-left {
	content: url("/common/img/left_arrow_white.png");
}

.grecaptcha-badge {
	z-index: 2;	
}

@media (min-width: 1200px){
	.p-xl-7{
		padding: 7rem !important;
	}
	.px-xl-7{
		padding: 0 7rem !important;
	}
	.pt-lg-7{
		padding-top: 7rem !important;
	}
	.ps-lg-7{
		padding-left: 7rem !important;
	}
	.pe-lg-7{
		padding-right: 7rem !important;
	}
	.pb-lg-7{
		padding-bottom: 7rem !important;
	}
	.px-lg-7{
		padding: 0 11rem !important;
	}
}

@media (max-width: 991.98px){
	.h-top {
		height: 300px;
	}
	.h1-position {
		left: 4%;
	}
	.logo{
		width: 17rem;
	}
}