@charset "utf-8";
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* 81-JYJ */
/* clearfix */	
.clearfix:after {content: "";display: block;clear: both;}
/* flex */	
.flex,.flexA,.flexB,.flexC {display: flex;flex-wrap: wrap;}
.flexA {justify-content: space-around;}
.flexB {justify-content: space-between;}
.flexC {justify-content: center;}
/*------------------------------------------------------------
	リンク・インプットをタップ時のクラス
------------------------------------------------------------*/
a.tapCtrl, input.tapCtrl,.tapCtrl a, .tapCtrl input {
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}
/*------------------------------------------------------------
	common
------------------------------------------------------------*/
.pulse-btn::before,
.pulse-btn::after {
	width: 100%;
	height: 100%;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	border: 2px solid #fb7203;
	border-radius: 1.2rem;
	box-sizing: border-box;
	pointer-events: none;
	animation: pulsate 2s linear infinite;
}
.pulse-btn::after {
	animation-delay: 1s;
}
@keyframes pulsate {
	0% {
		transform: scale(1);
		opacity: 1;
	}
	100% {
		transform: scale(1.2);
		opacity: 0;
	}
}
.comLineBox .image {
	margin-bottom: 3.5rem;
}
.comLineBox {
	margin-bottom: 3.2rem;
}
.comLineBox a {
	margin: 0 auto;
	width: 31.5rem;
	display: block;
	position: relative;
}
.comLineBox .lineTtl {
	width: 22rem;
	display: block;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: -2.6rem;
	z-index: 1;
}
/* headLine01 */
.headLine01 {
	margin: 0 auto;
	padding: 0.1rem 0.5rem;
	width: fit-content;
	min-width: 27.6rem;
	text-align: center;
	font-size: 1.7rem;
	font-weight: 800;
	line-height: 1.75;
	border: 0.3rem solid #3a8262;
	border-radius: 2rem;
	background-color: #fff;
	position: relative;
	color: #005647;
}
.headLine01::after {
	content: "";
	width: 2.3rem;
	height: 0.3rem;
	position: absolute;
	left: 50%;
	bottom: -0.6rem;
	border-radius: 0.5rem;
	transform: translateX(-86%) rotate(-48deg);
	background-color: #3a8262;
}
.headLine01 .posIcon {
	width: 6rem;
	position: absolute;
	right: -1.3rem;
	top: -1.3rem;
}


.comBg {
	margin-bottom: 2.8rem;
	padding: 1.5rem 0 4.1rem;
	position: relative;
	z-index: 1;
}
.comBg::after {
	height: 100%;
	content: "";
	position: absolute;
	left: -1rem;
	right: -1rem;
	top: 0;
	border-radius: 1.7rem;
	background-color: #efefef;
	z-index: -1;
}
.comBg::before {
	width: 5rem;
	aspect-ratio: 58/23;
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-40%);
	top: 100%;
	background: #efefef;
	clip-path: polygon(100% 0, 0 0, 50% 100%);
}