/******************************************
common / parts
******************************************/

h1.LGreen{
	font-size:2.25rem;
}
h2.LGreen{
	font-size:1.5rem;
}
h3.LGreen{
	color:#0099AB;
}
p.LGreen{
	margin:0;
	font-size:1.2em;
	font-weight: bold;
	text-align: center;
	line-height: 1.5;
	color:#1AA8B7;
}
.LGreen mark,
.darkGreen mark {
	background: linear-gradient(transparent 50%, #fff799 50%);
	font-weight: bold;
	color:#1AA8B7;
	border-radius: 6px;

	background-image:-webkit-linear-gradient(left,transparent 50%,#fff799 50%);
	background-repeat:repeat-x;
	background-position:0 1em;
	background-size:200% .8em;
	transition:background-position 1s ease;
	font-weight:bold;
  }
 .LGreen mark.marker-animation,
 .darkGreen mark.marker-animation{
	background-position:-100% .8em;
  }

.darkGreen{
	color:#3B6780 !important;
}
.darkGreen mark{
	color:#3B6780;
}
.width90{
	width:90% !important;
}
.paddingLeft_s {
	padding-left: 1.3em !important;
}
.marginBottom_m{
	margin-bottom: 4em !important;
}
.marginBottom_ms{
	margin-bottom: 2.5em !important;
}
.marginBottom_ss {
	margin-bottom: 0.2em !important;
}
.marginRight_s{
	margin-right: 1.3em !important;
}

.fontsizeMS{
	font-size: 1.2rem;
}
.fontsizeL{
	font-size: 1.875rem !important;
}
.fontsizeXL{
	font-size: 2.25rem !important;
}
.fontbold{
	font-weight: bold;
}
.fontWeightNormal{
	font-weight: normal !important;
}

@media screen and (min-width: 1025px) {
	h1.LGreen{
		font-size:2.3rem;
	}
}
@media screen and (max-width: 1024px) {
	.marginBottom_ms{
		margin-bottom: 1.5em !important;
	}
}
@media screen and (max-width: 768px) {
	h1.LGreen{
		font-size:1.8rem;
	}
	h2.LGreen{
		font-size:1.6rem !important;
	}
}

/******************************************
main visual
******************************************/
#main{
	padding-bottom:0;
}
.copy .text{
	color:#008FA2;
}

.textCp2{
	width:100%;
	font-size:4.5rem;
	font-weight: bold;
	line-height: 1.4;
}
.textCp1{
	width:100%;
	font-size:2.9rem;
	font-weight: bold;
	line-height: 1.2;
}

@media screen and (max-width: 1024px) {
	.textCp2{
		font-size:4em;
	}
}
@media screen and (min-width: 1025px) {
	#main .mainCont .copy{
		justify-content: center;
	}
	#main .mainCont .copy img{
		max-height: 340px;
	}
}

@media screen and (max-width: 768px) {
	.textCp1{
		padding-top:1.5rem;
		font-size:2rem;
	}
	.textCp2{
		margin-bottom:2rem;
		font-size:2.5rem;
	}
}

/******************************************
contents
******************************************/
#contents .bg-gray{
	background-color: #EFF5F5;
	padding-bottom:4em;
}
#contents .bg-white{
	background-color: #ffffff;
}

.roundframe{
	position: relative;
	margin:0 auto 2em auto;
	padding:0.2rem 1.5rem 1.2rem 1.5rem;
	width:90%;
	background-color: #FFFFFF;
	border:1px solid #B4B4B4;
	border-radius: 15px;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, .16);
}

.roundframe h3{
	margin-bottom:1em;
	font-size: 1.5rem;
	color:#408287;
}
.roundframe h3.squareNum{
	font-size: 1.7rem;
}
.squareNum::before{
	content: "";
	display: inline-block;
	width:1.5em;
	padding:0.4rem;
	margin-right: 0.3em;
	font-size: 1.9375rem;
	line-height: 1;
	text-align: center;
	color:#FFF;
	background-color: #408287;
}
.squareNum.n1::before{
	content: "1";
}
.squareNum.n2::before{
	content: "2";
}
.greenframeText{
	display: inline-block;
	padding:0 0.4em;
	margin-left: 3em;
	font-size: 1.2rem;
	font-weight: normal;
	border: 1px solid #408287;

}

.roundframe .img{
	width: 98%;
	margin: 0 auto;
}
.roundframe .img img{
	display: block;
	width:100%;
}

.roundframe .logo{
	margin:0 0 1.25rem 0;
	text-align: center;
	border-bottom: 1px dotted #707070;
}
.roundframe .logo img{
	display: block;
	height: 50px;
	margin:2rem auto;
	object-fit: scale-down;
}

.roundframe .corpName{
	margin:0 0 1.25rem 0;
	font-size: 1.25rem;
	font-weight: bold;
	color:#1AA8B7;
}

.roundframe .intro{
	margin:0 0 1.75rem 0;
}

.roundframe .btn{
	width: fit-content;
	margin: auto auto 0.5rem auto;
	padding:0.2em 2em;
}
.roundframe .btn a{
	color: #FFF;
	text-decoration: none;
}

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

.flex .roundframe{
	width:47%;
}

@media screen and (max-width: 768px) {
	.flex{
		flex-direction: column;
	}
	.flex .roundframe{
		width:96%;
	}
	.roundframe h3.squareNum{
		font-size: 1.5rem;
	}
}


.flexcolumn{
	display: flex;
	flex-direction: column;
	
}

.roundBgGreen{
	border-radius: 10px;
	background-color: #EFF5F5;
	padding:1rem 1.5rem 1.2rem 1.5rem;
	margin-top: auto;
}

.roundBgGreen h4{
	font-size: 1.37rem;
	padding:0;
	margin:0 0 0.4em 0;
	color:#008FA2;
}

.recommendedList{
	padding:0 0 0 1.8em;
	margin:0;
	list-style-type: decimal;
}

.flow{
	padding:0;
	margin:0;
	list-style: none;
}
.flow li{
	position: relative;
	display: flex;
	margin:0 0 30px 0;
	padding:0.4rem 1rem;
	align-items: center;
	border-radius: 15px;
	border: 2px solid #008FA2;
}
.flow li::after{
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 20px 0 20px 18px;
	border-color: transparent transparent transparent #FC7692;
	position: absolute;
	left: 0;
	right:0;
	bottom: -37px;
	margin: auto;
	transform: rotate(90deg);
}
.flow li:last-child:after{
	display: none;

}
.flow li .icon{
	width:80px;
	text-align: center;
}
.flow li .icon img{
	display: block;
	text-align: center;
}
.flow li .header{
	width:11em;
	font-size: 1.25rem;
	color:#008FA2;
}
.flow li .text{
	width:auto;
}

.button.flex{
	justify-content: space-around;
}
.button.flex a{
	margin:0 1rem 0.5rem 1rem;
}
.button.flex a:first-child{
	margin-left: auto;
}
.button.flex a:last-child{
	margin-right: auto;
}

@media screen and (max-width: 768px) {
	.flow li{
		flex-wrap: wrap;
	}
	.flow li .text{
		width:100%;
		padding-top: 0.5em;
		margin-bottom: 0.7em;
	}
	.button.flex{
		display: block;
	}
	.button.flex a{
		margin:0 1rem;
		width:80%;
	}
	.button.flex a:first-child{
		margin-left: 1rem;
		margin-bottom:1.5rem;
	}
	.button.flex a:last-child{
		margin-right: 1rem;
	}
}

.faqList{
	list-style: none;
}

.faqList li{
	padding:0 1.7rem 1.2rem 1.7rem;
	margin-bottom: 1.2rem;
	border-bottom: 1px dotted #707070;
}

.faqList li .question{
	margin-bottom:0.5em;
	text-indent: -1.7rem;
	font-size:1.25rem;
	font-weight: bold;
	color:#1AA8B7;
}
.faqList li .question::before{
	content: "Q.";
	margin-right: 0.3rem;
}
.faqList li .answer{
	text-indent: -1.7rem;
	font-size:1rem;
}
.faqList li .answer::before{
	content: "A.";
	margin-right: 0.3rem;
	font-size:1.25rem;
	font-weight: bold;
	color:#FC7692;
}

/* module */

.paddingBottom_ms{
	padding-bottom:2rem !important;
}

.paddingBottom_m{
	padding-bottom:5rem !important;
}

.paddingBottom_l{
	padding-bottom:10rem !important;
}

.paddingBottom_xl{
	padding-bottom:15rem !important;
}

.textAlignCenter{
	text-align: center !important;
}

.mbr{
	display: none;
}

@media screen and (max-width: 768px) {
	#contents section .wrapper.paddingBottom_m{
		padding-bottom:4rem !important;
	}
	#contents h2{
		margin-top:0rem;
	}
	.roundframe {
		width:100%;
	}
	.paddingBottom_xl{
		padding-bottom:7rem !important;
	}
	.marginBottom_l{
		margin-bottom:1em !important; 
	}
	.mbr{
		display: block;
	}
}

@media screen and (min-width: 769px) {
	.lbr{
		display: block;
	}
}

/* btnGreen */
.formBtns .btn_green {
	display: inline-block;
	width: max-content;
	min-width: 280px;
	padding: 0.6em 2em;
	text-align: center;
	text-decoration: none;
	color: #FFF;
	font-size: 1.2rem;
	font-weight: 500;
	letter-spacing: 0.1rem;
	background: #23ABAD;
	border-radius: 40px;
	transition: .3s;
}

.formBtns .btn_green:hover {
	cursor: pointer;
	text-decoration: none;
	background: #4BC0C3;
	border-bottom: none;
}