@charset "utf-8";
html,body{
	background-color:#EBF9F0; 
}
/*** fv ***/
.fv-wrap{
	background-color: #ffffff;
}
.fv-inner{
	display:flex;
	align-items: center;
	justify-content: center; 
}
.text-area{
	display: flex;
	width: 430px;
	padding: 80px 50px 80px 0;
	flex-direction: column;
	align-items: flex-start;
}
.category-label{
	width: 112px;
	height: 32px;
	text-align:center;
	color:#ffffff;
	background-color: #EA8730;
	border-radius: 3px;
	font-size: 16px;
	margin-bottom: 15px;
}
.head-title{
	font-size: 45px;
	line-height: 1.5;
	margin-bottom: 15px;
}
.pc-only{
	display: block;
}
.tb-only{
	display: none;
}
.sp-only{
		display: none;
	}
.description{
	font-size: 18px;
	line-height: 1.5;
}
.description span{
	text-decoration-line: underline;
	text-decoration-color: #EA8730;
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}
.fv-inner img{
	height: 280px;
	width: 360px;
}
@media screen and (max-width: 940px) {
	.text-area{
		width: 263px;
	}
	.category-label{
		font-size: 14px;
		width: 83px;
		height: 24px;
	}
	.head-title{
		font-size: 36px;
	}
	.pc-only{
		display: none;
	}
	.tb-only{
		display: block;
	}
	.sp-only{
		display: none;
	}
	.description{
		font-size: 14px;
	}
	.fv-inner img{
		height: 214px;
		width: 275px;
	}
}
@media screen and (max-width: 670px){
	.fv-wrap{
		padding: 40px 0;
	}
	.fv-inner{
		display: block;
	}
	.category-label{
		margin: 0 auto 14px;
		font-size: 12px;
		width: 76px;
		height: 21px;
	}
	.text-area{
		width: 360px;
		padding-top: 0;
		padding-bottom: 24px;
		padding-right: 0;
		margin: 0 auto;
	}
	.head-title{
		text-align: center;
		font-size: 28px;
		margin: 0 auto 14px;
	}
	.pc-only{
		display: none;
	}
	.tb-only{
		display: none;
	}
	.sp-only{
		display: block;
	}
	.description{
		text-align: center;
		font-size: 14px;
		margin: 0 auto;
	}
	.fv-inner img{
		display: block;
		margin: 0 auto;
		height: 170px;
		width: 218px;
	}
}
/*** お悩み ***/
.point-wrap-inner{
	padding-top: 100px;
}
@media screen and (max-width: 940px) {
	.point-wrap-inner{
		padding-top: 80px;
	}
}
@media screen and (max-width: 670px) {
	.point-wrap-inner{
		padding-top: 40px;
	}
}
.point-wrap-inner p{
	text-align: center;
	font-size: 32px;
	letter-spacing: 1.5px;
	margin-bottom: 50px;
}
.task-before {
	width: 100%;
	max-width: 1050px;
	margin: 0 auto;
	position: relative;
	line-height: 1.4;
	height: 300px;
}
.task-before li {
	font-size: 16px;
	text-align: left;
	background-color: #fff;
	padding:30px 15px;
	border-radius: 23px;
	position: absolute;
	width: 320px;
	height: 42px;
	filter: drop-shadow( 0 0 4px #d5e5da);
	border-radius: 23px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.task-before li:before {
	content: '';
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	left: 40px;
	top: 80px;
	border-right: 30px solid #fff;
	border-top: 20px solid transparent;
	border-bottom: 20px solid transparent;
	transform: rotate(55deg);
}
.task-before li:nth-child(1) { top: 0; left: 150px;}
.task-before li:nth-child(2) { top: 0; right: 150px;}
.task-before li:nth-child(3) { top: 85px; left: 50px;}
.task-before li:nth-child(4) { top: 85px; right: 50px;}
.task-before li:nth-child(1):before {left:inherit; left: 260px; transform: rotate(0deg); top: 80px;}
.task-before li:nth-child(3):before{left:inherit; left:260px; transform: rotate(0deg); top: 80px;}
.task-before:after {
	content: "";
	background: url(/img/contents/usecase/concern.svg) center center no-repeat;
	position: absolute;
	left: calc(50% - 130px);
	bottom: -30px;
	width: 260px;
	height: 190px;
}
.after-allow {
	position: relative;
	margin: 50px 0;
	height: 100px;
}
.after-allow:before,
.after-allow span:before {
	content: "";
	position: absolute;
	left: calc(50% - 19px);
	top: 0;
	border-right: 1px solid #000000;
	transform:  rotate(55deg);
	width: 50px;
	height: 50px;
}
.after-allow:after,
.after-allow span:after {
	content: "";
	position: absolute;
	left: calc(50% - 30px);
	top: 0;
	border-bottom: 1px solid #000000;
	transform: rotate(35deg);
	width: 50px;
	height: 50px;
}
.after-allow span:before,
.after-allow span:after {
	display: block;
	top: 16px;
}
@media screen and (max-width: 940px) {
	.task-before{
		max-width: 600px;
	}
	.task-before li:nth-child(1) { top: 0; left: 50px;}
	.task-before li:nth-child(2) { top: 85px; right: 50px;}
	.task-before li:nth-child(3) { top: 170px; left: 50px;}
	.task-before li:nth-child(4) { top: 255px; right: 50px;}
	.task-before li:nth-child(1):before {left:inherit; left: 225px; transform: rotate(0deg); top: 80px;}
	.task-before li:nth-child(3):before{left:inherit; left:225px; transform: rotate(0deg); top: 80px;}
	.task-before:after{
		bottom: -250px;
	}
	.after-allow {
		margin: 250px 0 0;
	}
}
@media screen and (max-width: 670px) {
	.point-wrap-inner p{
		font-size: 21px;
		margin-bottom: 30px;
		letter-spacing: 0px;
	}
	.task-before{
		max-width: 300px;
	}
	.task-before li {
		padding:25px 15px;
		width: 215px;
		font-size: 13px;
	}
	.task-before .sp-none{
		display: none;
	}
	.task-before li:nth-child(1) { top: 0; left: 55px;}
	.task-before li:nth-child(2) { top: 85px; right: 55px;}
	.task-before li:nth-child(3) { top: 170px; left: 55px;}
	.task-before li:nth-child(4) { top: 255px; right: 55px;}
	.task-before li:nth-child(1):before {left:inherit; left: 190px; transform: rotate(0deg); top: 70px;}
	.task-before li:nth-child(2):before {left:inherit; left: 20px;top: 70px;}
	.task-before li:nth-child(3):before{left:inherit; left:190px; transform: rotate(0deg); top: 70px;}
	.task-before li:nth-child(4):before {left:inherit; left: 20px;top: 70px;}
	.task-before:after {
		content: "";
		background: url(/img/contents/usecase/concern.svg) center center no-repeat;
		position: absolute;
		left: calc(50% - 100px);
		bottom: -200px;
		width: 180px;
		height: 140px;
}
	.after-allow {
		margin: 200px 0 0;
	}
	.after-allow {
		height: 80px;
	}
	.after-allow:before,
	.after-allow span:before {
		left: calc(50% - 21px);
		width: 30px;
		height: 30px;
	}
.after-allow:after,
.after-allow span:after {
	left: calc(50% - 29px);
	width: 30px;
	height: 30px;
}
}
/** ポイント ***/
.point-content{
	position: relative;
}
.sticky-bg {
	position: absolute;
	width: 100%;
	height: 100vh;
	background-size: cover;
	background-position: center;
	z-index: -1;
	top: -300px;
}
.sticky-bg::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 50vw;
	height: 100vh;
	background-image: url(/img/contents/usecase/bg-left.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: left center;
	z-index: -3;
}
.sticky-bg::after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 50vw;
	height:100vh;
	background-image: url(/img/contents/usecase/bg-right.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: right center;
	z-index: -3;
}
#stickyBg.is-fixed {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
}
.sticky-bg.is-fixed {
	position: fixed;
	z-index: -3;
}
.point-section {
	position: relative;
	z-index: 1;
}
@media screen and (max-width: 940px) {
	.sticky-bg::before {
		background-image: url(/img/contents/usecase/bg-left-940px.svg);
	}
	.sticky-bg::after {
		background-image: url(/img/contents/usecase/bg-right-940px.svg);
	}
}
@media screen and (max-width: 670px) {
	.sticky-bg{
		top: -200px;
	}
	.sticky-bg::before {
		background-image: url(/img/contents/usecase/bg-left-670px.svg);
	}
	.sticky-bg::after {
		background-image: url(/img/contents/usecase/bg-right-670px.svg);
	}
}
.point-title{
	font-size: 30px;
	text-align: center;
	margin-bottom: 50px;
}
.point-title span{
	color: #3AAE7B;
	font-weight: bold;
}
.point-title .large{
	font-size: 48px;
}
.points-flex{
	display: flex;
	justify-content: center;
	gap: 25px;
}
@media screen and (max-width: 940px) {
	.points-flex{
		display: none;
	}
}
.point-box-wrap{
	width: 260px;
	height: auto;
	background-color: #ffffff;
	border: #3AAE7B 1.5px solid;
	border-radius:10px;
	z-index: 1;
}
.point-box-wrap:hover{
	transition: opacity .2s;
	opacity: 0.7;
	text-decoration: none;
}
.point-box{
	padding: 12px;
}
.point-number{
	font-size: 36px;
	text-align: center;
	color: #3AAE7B;
}
.point-ttl{
	font-size: 18px;
	color: #3AAE7B;
	text-align: center;
	justify-content: center;
	line-height: 1.5; /* 27px */
	letter-spacing: 0.9px;
	margin-bottom: 10px;
}
.point-img{
	width: 150px;
	height: 150px;
	display: block;
	margin: 0 auto;
}
.point-allow{
	position: relative;
	background-color: #3AAE7B;
	height:27px;
	border-radius: 0 0 8.5px 8.5px;
}
.point-allow span {	
	position: absolute;
	left: 50%;
	top: 25%;
  	transform: translateX(-50%) rotate(135deg); /* 中央配置 + 下向き回転 */
	width: 9px;
	height: 9px;
	border-top: 1px solid #ffffff; /* 白色に変更 */
	border-right: 1px solid #ffffff; 
}
.point-section{
	margin-bottom: 100px;
}
.point-section-wrap{
	width: 760px;
	background: #ffffff;
	border-radius: 15px;
	border: 1.5px solid #3AAE7B;
	margin: 0 auto;
	padding: 60px;
	margin-top: 50px;
	z-index: 1;
}
.point-section-wrap:first-child{
	margin-top: 75px;
}
.point-section-wrap-inner{
	display: flex;
	justify-content: center;
	align-items: center;	
	gap: 80px;
}
.point-section-wrap .img-area{
	width: 280px;
	height: 280px;
}
.point-section-wrap .sp-only-img{
	display: none;
}
.point-section-wrap .pc-only-img{
	display: block;
}
.point-section-wrap .text-area{
	padding: 0;
	width: 400px;
}
.point-section-wrap .label{
	color: #3AAE7B;
	text-align: center;
	font-family: Roboto;
	font-size: 24px;
	line-height: 1.25;
	letter-spacing: 1.2px;
	text-decoration-line: underline;
	text-decoration-color: #3AAE7B;
	text-decoration-thickness: 1.5px;
	text-underline-offset: 4px;
	margin-bottom: 14px;
}
.point-section-wrap .label span{
	color: #3AAE7B;
	font-size: 36px;
}
.point-section-wrap .head-title{
	font-size: 32px;
	line-height: 1.5; 
	letter-spacing: 1.6px;
	margin-bottom: 20px;
}
.point-section-wrap .head-title span{
	color: #3AAE7B;
}
.point-section-wrap .description{
	font-size: 16px;
	letter-spacing: 0.8px;
}
.point-section-wrap .more-link-wrap{
	display: flex;
	gap: 20px;
}
.point-section-wrap .more-link-wrap a {
	display: block;
	text-align: right;
	color: #000000;
	font-size: 14px;
	margin-top: 20px;
	letter-spacing: 0.7px;
	text-decoration: underline;
	text-underline-offset: 4px;
}
.point-section-wrap .more-link-wrap a:hover {
	text-decoration:#3AAE7B underline;
	color: #3AAE7B;
}
.point-section-wrap .more-link-wrap a:after {
	content: "";
	display: inline-block;
	width: 0.45em;
	height: 0.45em;
	border-style: solid;
	border-width: 2px 2px 0 0;
	transform: rotate(45deg);
	vertical-align: 2px;
	margin-left: 9px;
	margin-right: 4px;
}
@media screen and (max-width: 940px) {
	.point-section{
		margin: 80px 0;
	}
	.point-section-wrap:first-child{
		margin-top: 50px;
	}
	.point-section-wrap-inner{
		display: block;
	}
	.point-section-wrap{
		width: 600px;
		padding: 30px 0;
		border-radius: 10px;
	}
	.point-section-wrap .img-area{
		width: 170px;
		height: 170px;
		margin: 0 auto;
	}
	.point-section-wrap .text-area{
		width: 500px;
		margin: 0 auto;
	}
	.point-section-wrap .text-area .label{
		text-align: center;
		margin: 20px auto 10px;
	}
	.point-section-wrap .head-title{
		text-align: center;
		margin: 0 auto 20px;
		font-size: 26px;
	}
	.point-section-wrap .description{
		text-align: center;
	}
	.point-section-wrap .more-link-wrap{
		justify-content: center;
	}
	.point-section-wrap .sp-only-img{
		display: block;
	}
	.point-section-wrap .pc-only-img{
		display: none;
	}
}
@media screen and (max-width: 670px) {
	.point-section-wrap{
		width: 336px;
		padding: 30px 0;
		margin-top:25px;
	}
	.point-section{
		margin-top: 0px;
		margin-bottom: 40px;
	}
	.point-title{
		font-size: 21px;
		text-align: center;
		margin-bottom: 0px;
	}
	.point-title .large{
		font-size: 32px;
	}
    .point-section-wrap:first-child{
		margin-top: 40px;
	}
	.point-section-wrap .img-area{
		width: 146px;
		height: 146px;
	}
    .point-section-wrap .text-area{
		width: 290px;
	}
	.point-section-wrap .label{
		font-size: 16px;
		margin-bottom: 10px;
	}
	.point-section-wrap .label span{
		font-size: 24px;
	}
	.point-section-wrap .head-title {
		font-size: 21px;
		margin-bottom: 10px;
	}
	.point-section-wrap .description {
		font-size: 14px;
	}
	.point-section-wrap .head-title .pc-only{
		display: none;
	}
	.point-section-wrap .more-link-wrap a {
		font-size: 12px;
	}
}
/** 導入事例 ***/
.instance-wrap{
	background-color: #ffffff;
	position: relative;
	z-index: 1;
	padding: 100px 0;
}
.instance-wrap .instance-title{
	text-align: center;
	font-size: 32px;
	letter-spacing: 1.6px;
	margin-bottom: 50px;
}
.instance-wrap .instance-title::before{
	content: "";
    position: relative;
    display: inline-block;
    content: "";
    background: #000000;
    width: 1.5px;
    height: 40px;
    margin: 0 30px;
    margin-top: -5px;
    vertical-align: middle;
	transform: rotate(-35deg);
}
.instance-wrap .instance-title::after{
	content: "";
	position: relative;
    display: inline-block;
    content: "";
    background: #000000;
    width: 1.5px;
    height: 40px;
    margin: 0 30px;
    margin-top: -5px;
    vertical-align: middle;
	transform: rotate(35deg);
}
.instance-wrap .content-box{
	display: flex;
	text-align: center;
	justify-content: center;
	gap: 30px;
}
.instance-wrap .instance-list-box{
	width: 280px;
    display: block;
    border: 1px #cccccc solid;
	border-radius: 10px;
}
.instance-wrap .instance-list-box:hover{
	transition: opacity .2s;
	opacity: 0.7;
	text-decoration: none;
}
.instance-wrap .img-area img{
	max-width: 280px;
    height: auto;
    display: block;
}
.instance-wrap .instance-post-info{
	background-color: #ffffff;
	padding: 24px 30px;
}
.instance-wrap .list-title{
	text-align: center;
    font-size: 16px;
    color: #000000;
    margin-bottom: 24px;
    line-height: 1.5;
	letter-spacing: 0.8px;
	min-height: 72px;
	display: flex;
    flex-direction: column;
    justify-content: center;
}
.instance-wrap .ex-txt{
	color: #000000;
    text-align: center;
    font-size: 12px;
	text-decoration-line: underline;
	text-underline-offset: 4px;
    position: relative;
}
.instance-wrap .ex-txt::after{
	content: "";
	display: inline-block;
	width: 0.45em;
	height: 0.45em;
	border-style: solid;
	border-width: 2px 2px 0 0;
	transform: rotate(45deg);
	vertical-align: 2px;
	margin-left: 9px;
	margin-right: 4px;
}
@media screen and (max-width: 940px) {
	.instance-wrap{
		padding: 80px 0;
	}
	.instance-wrap .instance-title{
		font-size: 24px;
	}
	.instance-wrap .content-box{
		display: block;
		gap: 0px;
	}
	.instance-wrap .instance-list-box{
		width: 600px;
		height: 157px;
		border-radius: 6px;
		display: flex;
		margin: 0 auto 25px;
	}
	.instance-wrap .instance-list-box:last-child{
		margin-bottom: 0;
	}
	.instance-wrap .img-area img{
		max-width: 250px;
		height: 100%;
	}
	.instance-wrap .instance-post-info{
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
	.instance-wrap .list-title{
		text-align: left;
		margin-bottom: 20px;
	}
	.instance-wrap .ex-txt{
		text-align: left;
	}
}
@media screen and (max-width: 670px) {
	.instance-wrap{
		padding: 40px 0;
	}
	.instance-wrap .instance-title{
		font-size: 21px;
	}
	.instance-wrap .instance-title::before,
	.instance-wrap .instance-title::after{
		display: none;
	}
	.instance-wrap .instance-list-box{
		width: 280px;
		height: auto;
		display: block;
		border: 1px #cccccc solid;
		border-radius: 10px;
	}
	.instance-wrap .instance-list-box:hover{
		transition: opacity .2s;
		opacity: 0.7;
		text-decoration: none;
	}
	.instance-wrap .img-area img{
		max-width: 280px;
		height: auto;
		display: block;
	}
	.instance-wrap .instance-post-info{
		background-color: #ffffff;
		padding: 15px 20px;
	}
	.instance-wrap .list-title{
		text-align: center;
		font-size: 16px;
		color: #000000;
		margin-bottom: 15px;
		line-height: 1.5;
		letter-spacing: 0.8px;
	}
	.instance-wrap .ex-txt{
		color: #000000;
		text-align: center;
		font-size: 12px;
		text-decoration-line: underline;
		text-underline-offset: 4px;
		position: relative;
	}
	.instance-wrap .ex-txt::after{
		content: "";
		display: inline-block;
		width: 0.45em;
		height: 0.45em;
		border-style: solid;
		border-width: 2px 2px 0 0;
		transform: rotate(45deg);
		vertical-align: 2px;
		margin-left: 9px;
		margin-right: 4px;
	}
}
.other-case-wrap {
	padding: 100px 0;
	background: #F8F8F8;
	position: relative;
	z-index: 1;
}
.other-case-wrap .other-case-title {
	text-align: center;
	font-size: 24px;
	letter-spacing: 1.2px;
}
.other-case-wrap .other-case-inner {
	max-width: 934px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
}
.other-case-wrap .content-box {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 30px;
	margin-top: 50px;
}
.other-case-wrap .other-case-list-box {
	width: 450px;
	height: 75px;
	background: #ffffff;
	border: 1px solid #3AAE7B;
	border-radius: 6px;
	display: flex;
	position: relative;
}
.other-case-wrap .other-case-list-box:hover {
	transition: opacity .2s;
	opacity: 0.7;
	text-decoration: none;
}
.other-case-wrap .other-case-list-box .img-area {
	width: 74px;
	height: 75px;
	display: flex;
	justify-content: center;
	align-items: center;
	background-image: url(/img/contents/usecase/pattern.svg);
	border-radius: 6px 6px 0 0;
}
.other-case-wrap .other-case-list-box img {
	width:57px;
	height: auto;
}
.other-case-wrap .other-case-list-box .other-case-text-area {
	display: flex;
	align-items: center;
	padding-left: 20px;
}
.other-case-wrap .other-case-list-box p {
	font-size: 16px;
	letter-spacing: 0.8px;
	color: #3AAE7B;
}
.other-case-wrap .other-case-list-box .other-case-allow{
	content: "";
	display: inline-block;
	width: 0.45em;
	height: 0.45em;
	border: #3AAE7B solid;
	border-width: 2px 2px 0 0;
	position: absolute; 
	right: 20px; 
	top: 50%; 
	transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 940px) {
	.other-case-wrap{
		padding: 80px 0;
	}
	.other-case-wrap .content-box{
		gap: 20px;
	}
	.other-case-wrap .other-case-list-box{
		margin: 0 auto;
		width: 600px;
	}
	.other-case-wrap .other-case-list-box p{
		font-size: 18px;
	}
}
@media screen and (max-width: 670px) {
	.other-case-wrap{
		padding: 40px 0;
	}
	.other-case-wrap .other-case-title {
		font-size: 21px;
	}
	.other-case-wrap .content-box {
		gap: 20px;
		margin-top: 40px;
	}
	.other-case-wrap .other-case-list-box {
		width: 335px;
		height: 70px;
	}
	.other-case-wrap .other-case-list-box .img-area{
		width: 78px;
		height: 70px;
	}
	.other-case-wrap .other-case-list-box .other-case-text-area{
		width: 212px;
		padding-left: 8px;
	}
	.other-case-wrap .other-case-list-box .other-case-allow{
		right: 15px;
	}
}