@charset "utf-8";
/*===========================
add
===========================*/




/*===========================
pageTitle
===========================*/
#pageTitle-ori {
	background-position:center;
	background-size:cover;
	height:18vw;
	/* border-bottom:4px solid #CCC;　白背景ではなしに */
	box-sizing: border-box;
	display:flex;
	justify-content:center;
	align-items:center;
	text-align:center;
	box-sizing: border-box;
	
}


#pageTitle-ori #pth1Wrap {
	padding:0.3em 1.5em;
	box-sizing: border-box;
	width:100%;
	padding: 20px 0;
	box-sizing: border-box;
	/*background-color: #fff;*/
	
}

#pageTitle-ori h1 {
	font-family: 'Noto Serif JP', serif;
	font-size: 2.5vw;
	line-height:3.2vw;
	font-weight: bold;
	letter-spacing:0.3vw;
	box-sizing: border-box;
	padding:0.5vw;
	/* color:#fff;
	text-shadow:0 0 6px #333, 0 0 8px #333,0 0 10px #333,0 0 12px #333, 0 0 14px #333;
	color:#333;*/
	text-shadow:0 0 6px #fff, 0 0 8px #fff,0 0 10px #fff,0 0 12px #fff, 0 0 14px #fff;
}

#pageTitle-ori h1 span {
	font-size: 70%;
	/*display:inline-block;
	font-size: 30%;
	vertical-align: top;
	position: relative;
	top: -0.6vw;
	padding-right:2vw;*/
}


#pageTitle-ori.content1Tit,
#pageTitle-ori.content2Tit,
#pageTitle-ori.content3Tit,
#pageTitle-ori.contactTit,
#pageTitle-ori.contentBlog {
	position: relative;
	background: linear-gradient(0deg, rgb(48,207,207)0%, rgb(255, 255, 255)30%) !important;
	background-image: none;
	border-top: 2px solid var(--basic-color);
	border-bottom: 0px solid var(--basic-color);
	box-shadow: 0 10px 10px -5px rgba(0,0,0,.5);
	z-index: 100;
}

.content2Tit {
	background-image:url(../img/common/page_tit.jpg);
}

.content3Tit {
	background-image:url(../img/common/page_tit.jpg);
}

.contactTit {
	background-image:url(../img/common/page_tit.jpg);
}


#pageTitle-ori.content1Tit h1{
	background-image:url(../img/common/page_tit01.png);
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 120px;
	padding-top: 110px;
	line-height: 110%;
}

#pageTitle-ori.content2Tit h1{
	background-image:url(../img/common/page_tit02.png);
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 190px;
	padding-top: 110px;
	line-height: 110%;
}

#pageTitle-ori.content3Tit h1{
	background-image:url(../img/common/page_tit03.png);
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 130px;
	padding-top: 110px;
	line-height: 110%;
}

#pageTitle-ori.contactTit h1{
	background-image:url(../img/common/page_tit04.png);
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 130px;
	padding-top: 110px;
	padding-bottom: 58px;
	line-height: 110%;
}
#pageTitle-ori.contentBlog h1{
	background-image:url(../img/common/page_tit05.png);
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 130px;
    padding-top: 150px;
    padding-bottom: 39px;
    line-height: 150%;
}
@media screen and (max-width: 1160px) {
	#pageTitle-ori.content1Tit h1 {
		background-size: 90px !important;
		padding-top: 70px !important;
		padding-bottom: 0 !important;
	}

	#pageTitle-ori.content2Tit h1 {
		background-size: 120px !important;
		padding-top: 70px !important;
		padding-bottom: 0 !important;
	}

	#pageTitle-ori.content3Tit h1 {
		background-size: 80px !important;
		padding-top: 70px !important;
		padding-bottom: 0 !important;
	}

	#pageTitle-ori.contactTit h1 {
		background-size: 80px !important;
		padding-top: 70px !important;
		padding-bottom: 0 !important;
	}

}




@media screen and (max-width: 768px) {
	#pageTitle-ori {
		height:22vw;
	}
		
	#pageTitle-ori h1 {
		font-size: 3.4vw;
		line-height:4vw;
		padding:0.5vw;
	}

	#pageTitle-ori.content1Tit h1{
		background-size: 70px;
		padding-top: 60px;
		margin-top: 20px;
	}

	#pageTitle-ori.content2Tit h1{
		background-size: 110px !important;
		padding-top: 60px !important;
		margin-top: 20px !important;
	}
	
	#pageTitle-ori.content3Tit h1{
		background-size: 70px;
		padding-top: 60px;
		margin-top: 20px;
	}

	#pageTitle-ori.contactTit h1{
		background-size: 70px;
		padding-top: 60px;
		padding-bottom: 20px !important;
		margin-top: 20px;
	}
	#pageTitle-ori.contentBlog h1{
		background-size: 70px;
		padding-top: 80px;
		padding-bottom: 20px !important;
		margin-top: 30px;
	}
}

@media screen and (max-width: 600px) {
	
	#pageTitle-ori {
		height:40vw;
	}
		
	#pageTitle-ori h1 {
		font-size: 5vw;
		line-height:5.5vw;
		padding:0.5vw;
	}
	
}




/*===========================
h2title
===========================*/
.h2title01{
	background:url("../img/content/pega.png") no-repeat center top;
	background-size: 150px;
	padding-top: 160px;
}



/*===========================
box
===========================*/

/*box01-------------------------------*/
.box01{
	display: flex;
}
@media screen and (max-width: 600px) {
	.box01{
		display: block;
	}
}


.box01 .detial{
	width: 31%;
	margin-right: 4%;
}
@media screen and (max-width: 600px) {
	.box01 .detial{
		width: 100%;
		margin-right: 0;
		margin-bottom: 20px;
	}
}
.box01 .detial:last-child{
	margin-right: 0;
}


.box01 .detial .in01{
	background-color: #fffce4;
	border-radius: 50%;
	border: 4px solid #ffcd28;
}

.box01 .detial .in01 .in-height{
	position: relative;
	padding-top: 100%;
	height: 0;
}

.box01 .detial .in01 .in-height .txt-box{
	position: absolute;
	top: calc((100% - 1em)/6);
	left: 0;
	right: 0;
	margin: 0;
	text-align: center;
	font-weight: bold;
	font-size: 1.6em;
	line-height: 160%;
	text-shadow: 0 0 2px #fff, 0 0 4px #fff, 0 0 6px #fff, 0 0 8px #fff,0 0 10px #fff,0 0 12px #fff,0 0 14px #fff,0 0 16px #fff;
}

.box01 .detial .in01 .in-height .txt01{
	font-size: calc(100vw / 18);
	margin-top: 30px;
	color: #ff4800;
}
.box01 .detial .in01 .in-height .txt02{
	font-size: calc(100vw / 18);
	margin-top: 40px;
	color: #ff4800;
}

.box01 .detial .in01 .in-height  .mttxt{
	margin-top: 30px;
}

@media screen and (max-width: 768px) {
	.box01 .detial .in01 .in-height .txt-box{
		font-size: 1.2rem;
		top: calc((100% - 1em)/10);
	}

	.box01 .detial .in01 .in-height .txt01{
		font-size: calc(100vw / 18);
		margin-top: 10px;
		color: #ff4800;
	}
	.box01 .detial .in01 .in-height .txt02{
		font-size: calc(100vw / 18);
		margin-top: 20px;
		color: #ff4800;
	}

	.box01 .detial .in01 .in-height .mttxt{
		margin-top: 10px;
	}

}

@media screen and (max-width: 600px) {
	.box01 .detial .in01 .in-height .txt-box{
		font-size: calc(100vw / 15);
		margin-top: 5%;
	}

	.box01 .detial .in01 .in-height .txt01{
		font-size: calc(100vw / 6);
		margin-top: 10%;
		color: #ff4800;
	}
	.box01 .detial .in01 .in-height .txt02{
		font-size: calc(100vw / 6);
		margin-top: 11%;
		color: #ff4800;
	}	
}

.box01 .detial .in01 .ph{
	width: 75%;
	margin: 0 auto;
}

/*===========================
sp-img01
===========================*/
@media screen and (max-width: 600px) {
	.sp-img01{
		width: 60%;
		margin: 0 auto 30px;
	}
}


/*===========================
list-box
===========================*/
/*list-box-------------------------------*/
ul.list-box{
	display: flex;
}
@media screen and (max-width: 600px) {
	ul.list-box{
		display: block;
	}
}

ul.list-box li{
	width: 32%;
	text-align: center;
	background-color: var(--basic-color);
	margin-right: 4%;
	color: #fff;
	font-size: 1.3em;
	padding: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
}
@media screen and (max-width: 768px) {
	ul.list-box li{
		font-size: 1.1em;
	}
}
@media screen and (max-width: 600px) {
	ul.list-box li{
		width: 100%;
		box-sizing: border-box;
		margin-bottom: 15px;
	}
}

ul.list-box li:last-child{
	margin-right: 0;
}


/*list-box02-------------------------------*/
ul.list-box02{
	display: flex;
}
@media screen and (max-width: 768px) {
	ul.list-box02{
		flex-wrap: wrap;
	}
}
@media screen and (max-width: 600px) {
	ul.list-box02{
		display: block;
	}
}

ul.list-box02 li{
	width: 23.5%;
	text-align: center;
	background-color: var(--basic-color);
	margin-right: 2%;
	color: #fff;
	font-size: 1em;
	padding: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;

	box-sizing: border-box;
}
@media screen and (max-width: 768px) {
	ul.list-box02 li{
		width: 48%;
		text-align: center;
		background-color: var(--basic-color);
		margin: 0 0 10px;
		font-size: 1.1em;
	}

	ul.list-box02 li:nth-child(even){
		margin-left: 2%;
	}

	ul.list-box02 li:nth-child(n+3){
		margin-bottom: 0;
	}
}
@media screen and (max-width: 600px) {
	ul.list-box02 li{
		width: 100%;
		box-sizing: border-box;
		margin-bottom: 15px !important;
		margin-left: 0 !important;
	}

	ul.list-box02 li:nth-child(4){
		margin-bottom: 0;
	}
}


ul.list-box02 li:last-child{
	margin-right: 0;
}


/*===========================
imgs
===========================*/

.imgs01{
	width: 250px;
	margin: 0 auto;
}
@media screen and (max-width: 600px) {
.imgs01{
	width: 200px;
	margin: 0 auto;
}
}



/*fixation===========================*/

/*===========================
title-af-none
===========================*/
.title-af-none{
	text-shadow: none;
}
.title-af-none:after{
	content: none;
}


/*===========================
border
===========================*/
.border-b01{
	border-bottom: 1px dotted;
	padding-bottom: 15px;
}


/*===========================
font
===========================*/
.fw-b{font-weight: bold;}


/*===========================
width
===========================*/
@media screen and (max-width: 768px) {
	.w100Tablet{
		width: 100% !important;
		box-sizing: border-box;
	}
}

@media screen and (max-width: 768px) {
	.w50Tablet{
		width: 50% !important;
		box-sizing: border-box;
	}
}

@media screen and (max-width: 600px) {
	.w100sp{
		width: 100% !important;
		box-sizing: border-box;
	}

	.w70sp{
		width: 70% !important;
		box-sizing: border-box;
	}
}


/*===========================
wf
===========================*/
.wf-t-all ,ul.wf-t-all {
	width: fit-content;
	margin: auto;
}

@media screen and (min-width: 769px) {
	ul.wf-t,	ol.wf-t{
		width: fit-content;
		margin: auto;
	}
}


@media screen and (min-width: 601px) {
	ul.wf-pcONtabletONspOFF {
		width: fit-content !important;
		margin: auto !important;
	}
}



/*===========================
onOff
===========================*/
.pcOFFtabletONspOFF{display: none !important;}
.pcOFFtabletOFFspON{display: none;}

@media screen and (min-width: 769px) {
	.pcOFFtabletONspON{display: none !important;}
}

@media screen and (max-width: 768px) {
	.pcOFFtabletONspOFF{display: block !important;}
	.pcOFFtabletOFFspON{display: none;}
	.pcONtabletOFFspOFF{display: none !important;}
}

@media screen and (max-width: 600px) {
	.pcOFFtabletONspOFF{display: none !important;}
	.pcOFFtabletOFFspON{display: block;}
	.pcONtabletONspOFF{display: none;}
}


/*===========================
align
===========================*/

.center-pcONspOFF{text-align: center;}
@media screen and (max-width: 768px) {
	.center-pcONspOFF{text-align: left;}
}

.center-pcONtabletONspOFF{text-align: center;}
@media screen and (max-width: 600px) {
	.center-pcONtabletONspOFF{text-align: left;}
}

.center-pcONtabletOFFspOFF{text-align: center;}
@media screen and (max-width: 768px) {
	.center-pcONtabletOFFspOFF{text-align: left;}
}

@media screen and (max-width: 600px) {
	.center-pcOFFtabletOFFspON{
		text-align: center !important;
	}
}

@media screen and (max-width: 768px) {
	.txtPCLeftTBcenter{
		text-align: center !important;
	}
}

@media screen and (max-width: 600px) {
	.center-pcOFFtabletOFFspON{
		text-align: center !important;
	}
}


/*===========================
ol
===========================*/
ol li,
ol li.txtIconPoint{
	display: list-item !important;
	list-style-type: decimal;
}





/*===========================
txtInd_foot
===========================*/

.txtInd_foot{
	padding-left: 2.8em;
	text-indent: -2.8em;
}





/*fixation===========================*/

/*===========================
title-af-none
===========================*/
.title-af-none:after{
	content: none;
}


/*===========================
font
===========================*/
.fw-b{font-weight: bold;}



/*===========================
wf
===========================*/
.wf-t {
	width: fit-content;
	margin: auto;
}

@media screen and (min-width: 769px) {
	ul.wf-t,	ol.wf-t,	.wf-t {
		width: fit-content;
		margin: auto;
	}
}


@media screen and (min-width: 601px) {
	ul.wf-pcONtabletONspOFF {
		width: fit-content !important;
		margin: auto !important;
	}
}



/*===========================
onOff
===========================*/
.pcOFFtabletONspOFF{display: none !important;}
.pcOFFtabletOFFspON{display: none;}

@media screen and (min-width: 769px) {
	.pcOFFtabletONspON{display: none !important;}
}

@media screen and (max-width: 768px) {
	.pcOFFtabletONspOFF{display: block !important;}
	.pcOFFtabletOFFspON{display: none;}
	.pcONtabletOFFspOFF{display: none !important;}
}

@media screen and (max-width: 600px) {
	.pcOFFtabletONspOFF{display: none !important;}
	.pcOFFtabletOFFspON{display: block;}
	.pcONtabletONspOFF{display: none;}
}


/*===========================
align
===========================*/

.center-pcONspOFF{text-align: center;}
@media screen and (max-width: 768px) {
	.center-pcONspOFF{text-align: left;}
}

.center-pcONtabletONspOFF{text-align: center;}
@media screen and (max-width: 600px) {
	.center-pcONtabletONspOFF{text-align: left;}
}

.center-pcONtabletOFFspOFF{text-align: center;}
@media screen and (max-width: 768px) {
	.center-pcONtabletOFFspOFF{text-align: left;}
}

@media screen and (max-width: 600px) {
	.center-pcOFFtabletOFFspON{
		text-align: center !important;
	}
}

@media screen and (max-width: 768px) {
	.txtPCLeftTBcenter{
		text-align: center !important;
	}
}

@media screen and (max-width: 600px) {
	.center-pcOFFtabletOFFspON{
		text-align: center !important;
	}
}

.wd40{
   width:40% !important;
   margin:auto;
}
.wd50 {
  width:50% !important;
  margin:0 auto;
}
.wd60 {
  width:60% !important;
  margin:0 auto;
}
.wd70 {
  width:70% !important;
  margin:0 auto;
}
.wd80 {
  width:80% !important;
  margin:0 auto;
}
.wd85 {
  width:85% !important;
  margin:0 auto;
}
.wd90 {
  width:90% !important;
  margin:0 auto;
}
.wd95 {
  width:95% !important;
  margin:0 auto;
}

@media only screen and (max-width: 768px) {
.wd40,.wd50,.wd60,.wd70,.wd80,.wd85,.wd90,.wd95{
   width:100% !important;
   margin:auto;
}
}
.catch01 {
    font-size: 2em;
    font-weight: 800;
    line-height: 1.6em;
    color: #20993b;
    text-align: center;
    margin-bottom: 1em;
}

/*===========================
フローティングバナー
===========================*/
.emergencyWrap {
    position: fixed;
    right: 1%;
    bottom: 11%;
    z-index: 1000;
    padding: 10px 30px;
    background-color: #9ae4e4;
    border-bottom: 6px solid var(--basic-color);
    border-radius: 12px;
}
@media screen and (max-width: 768px) {
    .emergencyWrap {
        right: 0;
        bottom: 0;
        width: 100%;
        border-radius: 0;
        border: none;
        /*background-color: #51baf1;*/
    }
}
/*@media screen and (max-width: 480px) {
  .emergencyWrap {
    bottom: 50px;
  }
}*/
.emergencyWrap > span {
    display: block;
    margin-bottom: 8px;
    margin-top: 3px;
    color: #fff;
    text-align: center;
    font-size: 14px;
    font-weight: bold;
}
.emergencyWrap .emergencyBtnWrap {
    display: block;
}
@media screen and (max-width: 768px) {
    .emergencyWrap .emergencyBtnWrap {
        /*display: flex;
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;*/
        align-items: center;
        -ms-flex-align: center;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-pack: justify;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
    }
}
.emergencyWrap a {
    display: block;
    margin-bottom: 0px;
    margin-top: 8px;
    padding: 2px;
    color: #fff;
    background-color: var(--basic-color);
    border-radius: 5px;
    text-align: left;
    font-size: 14px;
    font-weight: bold;
}
@media screen and (max-width: 768px) {
    .emergencyWrap a {
        margin: 3px 8px;
    }
}
.emergencyWrap a.tel {
    display: block;
    padding: 8px 8px;
    color: #fff;
    text-align: center;
    font-size: 14px;
    letter-spacing: 1px;
    font-weight: bold;
}
.emergencyWrap a.tel .fa-phone-volume {
    display: inline-block;
    vertical-align: middle;
    color: #fff;
    font-size: 20px;
}
.emergencyWrap a.tel span {
    display: inline-block;
    vertical-align: middle;
    margin-left: 2px;
}
.emergencyWrap a.tel:hover {
    background-color: #ffb469;
    text-decoration: none;
}
.emergencyWrap a.contact {
    display: block;
    padding: 8px 8px;
    color: #fff;
    text-align: left;
    font-size: 14px;
    letter-spacing: 1px;
    font-weight: bold;
}
.emergencyWrap a.contact .fa-envelope {
    color: #fff;
    font-size: 20px;
    display: inline-block;
    vertical-align: middle;
}
.emergencyWrap a.contact span {
    display: inline-block;
    margin-left: 35px;
    display: inline-block;
    vertical-align: middle;
}
.emergencyWrap a.contact:hover {
    background-color: #69d782;
    text-decoration: none;
}
@media screen and (max-width: 768px) {
    .emergencyWrap a.contact {
        text-align: center;
        padding: 8px 0px 8px 8px;
    }
    .emergencyWrap a.tel span {
        font-size: 14px;
        font-weight: 900;
    }
    .emergencyWrap a.contact span {
        display: block;
        margin-left: 15px;
        text-align: center;
        margin: auto;
    }
    .emergencyWrap a.contact .fa-envelope {
        color: #fff;
        font-size: 20px;
        display: block;
        text-align: center;
        margin: auto;
    }
}
@media screen and (max-width: 340px) {
    .emergencyWrap a.tel span {
        font-size: 13px;
        font-weight: 900;
    }
} /*　addに追加　*/
.emergencyWrap {
    box-sizing: border-box;
}
@media screen and (max-width: 768px) {
    .emergencyWrap .emergencyBtnWrap {
        display: flex;
        justify-content: center;
    }
    .emergencyWrap a.tel {
        width: 30%;
        display: inline-block;
        padding: 8px 8px;
        color: #fff;
        text-align: center;
        font-size: 14px;
        letter-spacing: 1px;
        font-weight: bold;
        box-sizing: border-box;
    }
    footer {
        padding-bottom: 150px;
    }
}
.catch01 {
    font-size: 2em;
    font-weight: 800;
    line-height: 1.6em;
    color: #20993b;
    text-align: center;
    margin-bottom: 1em;
}
.wrap-bg {
    position: relative;
    top: 0rem;
    left: 0px;
    width: 100vw;
    height: auto;
    background: url(../images/backgrounds/background-01.svg) no-repeat;
    background-position: top -100px left !important;
    background-size: contain !important;
}
@media only screen and (max-width: 768px) {
    .catch01 {
        font-size: 1.1em;
        line-height: 1.6em;
        text-align: left;
        margin-bottom: 1em;
    }
    .wrap-bg {
        background-position: top 0px left !important;
        background-size: initial !important;
    }
}
.wd40 {
    width: 40% !important;
    margin: auto;
}
.wd50 {
    width: 50% !important;
    margin: 0 auto;
}
.wd60 {
    width: 60% !important;
    margin: 0 auto;
}
.wd70 {
    width: 70% !important;
    margin: 0 auto;
}
.wd80 {
    width: 80% !important;
    margin: 0 auto;
}
.wd85 {
    width: 85% !important;
    margin: 0 auto;
}
.wd90 {
    width: 90% !important;
    margin: 0 auto;
}
.wd95 {
    width: 95% !important;
    margin: 0 auto;
}
@media only screen and (max-width: 768px) {
    .wd40, .wd50, .wd60, .wd70, .wd80, .wd85, .wd90, .wd95 {
        width: 100% !important;
        margin: auto;
    }
}


#pagetop {
    position: fixed;
    bottom: 30px;
    right: 10px;
    z-index: 20;
}

@media only screen and (max-width: 600px) {
#pagetop {
    position: fixed;
    bottom: 140px;
    right: 10px;
    z-index: 20;
}
}
.p-catch {
	font-size:3em;
	text-align: center;
	font-weight: 600;
	line-height: 2;
	letter-spacing: 0.1em;
	margin-bottom:20px;
	font-family: 'Noto Serif JP', serif;
}
.p-catch-2 {
	font-size:2em;
	text-align: center;
	font-weight: 600;
	line-height: 2;
	color:var(--basic-color);
	letter-spacing: 0.1em;
	margin-bottom:30px;
		font-family: 'Noto Serif JP', serif;
}
@media only screen and (max-width: 768px) {
.p-catch {
	font-size:1.6em;
	line-height: 1.8;
	text-align: center;
	margin-bottom:0px;
}
.p-catch-2 {
	font-size:1.3em;
	text-align: center;
	font-weight: 600;
	color:var(--basic-color);
	letter-spacing: 0.1em;
	margin-bottom:10px;
		font-family: 'Noto Serif JP', serif;
}

}
ol li {
    list-style-type: none;
}
ol.circle_num {
    counter-reset: number;
    list-style-type: none!important;
    padding: 2em;
}
ol.circle_num li {
    border-bottom: dashed 0px var(--basic-color);
    position: relative;
    padding: 0.0em 0.5em 0.5em 40px;
    line-height: 1.6em;
	color:var(--basic-color);
    font-size: 1.6em;
	font-weight: 800;
    width: 90%;
    display:inline-block;
    margin-right: 10px;
    margin-left: 10px;
}
ol.circle_num li:before {
    position: absolute;
    counter-increment: number;
    content: counter(number);
    display: inline-block;
    background: var(--basic-color);
    color: white;
    font-family: 'Avenir', 'Arial Black', 'Arial', sans-serif;
    font-weight: bold;
    font-size: 15px;
    border-radius: 50%;
    left: 0;
    width: 25px;
    height: 25px;
    line-height: 25px;
    text-align: center;
    top: 16%;
    -moz-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}
ol.circle_num.circle_d li:before {
  top: 40%;	
}
ol.circle_num li span.f-ttl {
	background: linear-gradient(transparent 62%, rgba(255, 250, 137, 0.71) 0%);
}
ol.circle_num li span.f-cnt {
	display: block;
	font-size:70%;
	color:#333;
	font-weight: 500;
}
@media only screen and (max-width: 768px) {
ol.circle_num {
    padding: 1em 1em 0em 0em;
}
ol.circle_num li {
    border-bottom: dashed 0px var(--basic-color);
    position: relative;
    padding: 0.0em 0.5em 0.5em 40px;
    line-height: 1.6em;
    font-size: 1.3em;
    width: 90%;
    display:inline-block;
    margin-right: 10px;
    margin-left: 0px;
}
ol.circle_num li:before {
    font-size: 15px;
    top: 10%;
}
ol.circle_num li span.f-cnt {
	display: block;
	font-size:70%;
	font-weight: 500;
}
ol.circle_num.circle_d li span {
	display: inline;
	font-size:80%;
	font-weight: 500;
}
ol.circle_num.circle_d li span.li-stg {
	display: inline;
	font-size:100%;
	font-weight: 500;
}
}
.pc-disp {
    display:block;
}
.sp-disp {
    display:none; 
}
@media only screen and (max-width: 768px) {
.pc-disp {
    display:none;
}
.sp-disp {
    display:block; 
}
}
.line-a {
	line-height: 1.8em !important;
	letter-spacing: 0.1;
}
.tbl-1 th {
	background-color: #cce5ff !important;
	color:#333 !important;
}
.tbl-2 th {
	background-color: #ccffcc !important;
	color:#333 !important;
}
.tbl-3 th {
	background-color: #ffcc99 !important;
	color:#333 !important;
}
.tbl-4 th {
	background-color: #ff9966 !important;
	color:#333 !important;
}
.tbl-5 th {
	background-color: #f2f2f2 !important;
	color:#333 !important;
}

.tbl-1 td,.tbl-2 td,.tbl-3 td,.tbl-4 td,.tbl-5 td {
	vertical-align: middle;
	text-align: center;
}

.box-sd01 {
	border-radius: 10px;
    padding: 2em;
    background-color: #fff;
    border: 0.3vw solid var(--basic-color);
    box-sizing: border-box;
	border-radius: 10px;
}
.box-sd02 {
	border-radius: 10px;
    padding: 2em;
    background-color: rgba(255,255,255,0.7);
    border: 0.0vw solid var(--basic-color);
    box-sizing: border-box;
	  box-shadow: 0px 1px 2px 0px rgb(0 0 0 / 10%), 0px 3px 7px 0px rgb(0 0 0 / 8%), 0px 5px 14px 0px rgb(0 0 0 / 6%);
}
.box-sd03 {
	border-radius: 10px;
    padding: 2em;
    background-color: #fff;
    border: 0.2vw solid var(--basic-color);
    box-sizing: border-box;
	border-radius: 10px;
}
.box-sd04 {
	border-radius: 10px;
    padding: 3em 3em 3em 3em;
    background-color: rgba(255,255,255,0.5);
    color: #333;
    border: 0.3vw solid var(--basic-color);
    box-shadow: 0px 1px 3px 0px rgb(0 0 0 / 10%), 0px 3px 7px 0px rgb(0 0 0 / 8%), 0px 5px 14px 0px rgb(0 0 0 / 6%);
    box-sizing: border-box;
}
.res-mb30 {
	margin-bottom: 0px;
}
@media only screen and (max-width: 768px) {
.res-mb30 {
	margin-bottom: 30px;
}
.box-sd01,.box-sd02,.box-sd03,.box-sd04 {
    padding: 1.2em;
    box-sizing: border-box;
}
}
.txtBold {
	font-weight: bold;
}
.cntBnr-list {
	display: flex;
	justify-content: center;
	gap:1%;
	align-items: center;
	flex-wrap: wrap;
}



.cntBnr {
	display:inline-block;
	margin-bottom:5px;
}

.cntBnr a {
	display: flex;
    justify-content: space-between;
    align-items: center;
	text-align: center;
	text-decoration: none;
	width: 120px;
	margin: auto;
	padding: 1rem 4rem;
	font-weight: bold;
	background: #eee;
	color: #27acd9;
	border-radius: 100vh;
	position: relative;
	transition: 0.5s;
}

.cntBnr a {
	display: flex;
    justify-content: space-between;
    align-items: center;
	text-align: center;
	text-decoration: none;
	width: auto;
	margin: auto;
	padding: 1em 5em 1em 2em;
	background: var(--basic-color);
	color: #fff;
	text-shadow:none;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	position: relative;
	transition: 0.5s;
}
.cntBnr a::before {
    content: '';
    position: absolute;
    top: calc(50% - 2px);
    right: 1em;
    transform: translateY(calc(-50% - 2px)) rotate(45deg);
    width: 8px;
    height: 1px;
    background: #fff;
}
.cntBnr a::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 1em;
    transform: translateY(-50%);
    width: 30px;
    height: 1px;
    background: #fff;
	
}
.cntBnr a:hover {
	cursor:pointer;
    filter: alpha(opacity=80);
    -ms-filter: "alpha(opacity=80)"; 
    -moz-opacity:0.9; 
    -khtml-opacity: 0.9; 
    opacity:0.8;
    zoom:1;
	
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
}
.cntBnr a:hover::before {
	content: '';
	position: absolute;
	top: calc(50% - 2px);
	right: 1px;
	transform: translateY(calc(-50% - 2px)) rotate(45deg);
	width: 10px;
	height: 1px;
	background: #fff;
		transition: 0.5s;
}
.cntBnr a:hover::after{
	content: '';
	position: absolute;
	top: 50%;
	right: 1px;
	transform: translateY(-50%);
	width: 40px;
	height: 1px;
	background:#fff;
		transition: 0.5s;
}

@media only screen and (max-width: 768px) {

.cntBnr a {
    padding: 0.8em 4em 0.8em 1.0em;;
    transition: 0.5s;
	font-size:1.0em;
	max-width:300px;
	line-height: 1.1;
	font-weight: 600;
}

}
ul.circle-1col,ul.circle-no-1col  {
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;	
}
ul.circle-pl-1col  {
    display:flex;
    justify-content:flex-start;
    align-items:center;
    flex-wrap:wrap;	
}
ul.circle-1col > li {
    padding: 0 0 0.3em 1.2em;
    margin-bottom: 0.5em;
    border-bottom: 1px dashed #CCC;
    width:100%;
    margin-right:0%;
    position: relative;
}
ul.circle-no-1col > li {
    padding: 0 0 0.5em 0.5em;
    margin-bottom: 0.7em;
    border-bottom: 1px dashed #CCC;
    width:100%;
    margin-right:0%;
    position: relative;
}
ul.circle-pl-1col  > li {
    padding: 0 0 0.5em 1.2em;
    margin-bottom: 0.7em;
    border-bottom: 1px dashed #CCC;
    width:auto;
    margin-right:0%;
    position: relative;
}
ul.circle-1col > li:last-child,ul.circle-no-1col > li:last-child {
	margin-bottom:0px;
}
ul.circle-1col > li:before {
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    background-color: var(--basic-color);
    border-radius: 50%;
    left: 0.5em;
    margin-top: 0.6em;
}
ul.circle-pl-1col > li:before {
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    background-color: var(--basic-color);
    border-radius: 50%;
    left: 0.5em;
    margin-top: 0.3em;
}
ul.circle-2col {
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;	
}
ul.circle-2col > li {
    padding: 0 0 0.1em 1.4em;
    margin-bottom: 1.0em;
    border-bottom: 1px dashed #CCC;
    width:45%;
    margin-right:2%;
    position: relative;
}
ul.circle-2col-at {
    display:flex;
    justify-content:flex-start;
    align-items:center;
    flex-wrap:wrap;	
}
ul.circle-2col-at > li {
    padding: 0 0 0.1em 1.4em;
    margin-bottom: 1.0em;
    border-bottom: 1px dashed #CCC;
    width:auto;
    margin-right:2%;
	margin-top:0.5em;
    position: relative;
}
ul.circle-2col > li.line {
	margin-bottom:0px;
}


ul.circle-2col > li.long {
    width:70%;
}
ul.circle-2col > li:before,ul.circle-2col-at > li:before  {
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    background-color: var(--basic-color);
    border-radius: 50%;
    left: 0.5em;
    margin-top: 0.7em;
}


ul.circle-2col-feat {
    display:flex;
    justify-content:center;
	gap:2%;
    align-items:center;
    flex-wrap:wrap;	
}
ul.circle-2col-feat > li {
    padding: 0.3em 0.3em 0.3em 1.4em;
    margin-bottom: 1.0em;
	width:40%;
    margin-right:2%;
    position: relative;
	    background-color:#4ab1b1;
		color:#fff;
	text-align: center;
	border-radius:10px;
		
}
ul.circle-2col-feat > li.line {
	margin-bottom:0px;
}


ul.circle-2col-feat > li.long {
    width:70%;
}



ul.circle-3col {
    display:flex;
    justify-content:flex-start;
    align-items:center;
    flex-wrap:wrap;	
}
ul.circle-3col > li {
    padding: 0 0 0.3em 1.2em;
    margin-bottom: 0.5em;
    border-bottom: 1px dashed #CCC;
    width:28%;
    margin-right:1%;
    position: relative;
}
ul.circle-3col > li.long {
    width:35%;
}
ul.circle-3col > li:before {
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    background-color: var(--basic-color);
    border-radius: 50%;
    left: 0.5em;
    margin-top: 0.8em;
}
ul.circle-4col {
    display:flex;
    justify-content:flex-start;
    align-items:center;
    flex-wrap:wrap;	
}
ul.circle-4col > li {
    padding: 0 0 0.2em 1.4em;
    margin-bottom: 0.6em;
    border-bottom: 0px dashed #CCC;
    width:18%;
    margin-right:2%;
    position: relative;
}
ul.circle-4col > li.long {
    width:36%;	
}
ul.circle-4col > li:before {
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    background-color: var(--basic-color);
    border-radius: 50%;
    left: 0.5em;
    margin-top: 0.6em;
}
ul.circle-5col {
    display:flex;
    justify-content:flex-start;
    align-items:center;
    flex-wrap:wrap;	
}
ul.circle-5col > li {
    padding: 0 0 0.5em 1.4em;
    margin-bottom: 0.7em;
    border-bottom: 0px dashed #CCC;
    width:15%;
    margin-right:2%;
    position: relative;
}
ul.circle-5col > li.long {
    width:30%;	
}
ul.circle-5col > li:before {
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    background-color: var(--basic-color);
    border-radius: 50%;
    left: 0.5em;
    margin-top: 0.7em;
}
@media only screen and (max-width: 768px) {
ul.circle > li:before,ul.circle-2col > li:before,ul.circle-3col > li:before {
    left: 0.5em;
    margin-top: 0.3em;
}
  ul.circle-2col > li,ul.circle-2col > li.long,ul.circle-3col > li,ul.circle-3col > li.long,ul.circle-4col > li,ul.circle-4col > li.long {
    width:42%;
}
ul.circle-2col > li.line.line2 {
	margin-bottom:0.9em;
}
}
@media only screen and (max-width: 500px) {
  ul.circle-2col > li,ul.circle-2col > li.long,ul.circle-3col > li,ul.circle-3col > li.long {
    width:90%;
	      padding: 0.5em 0 0.5em 1.4em;
}
	ul.circle-2col-feat > li,ul.circle-2col-feat > li.long {
    width:90%;
	      padding: 0.5em 0.5em 0.5em 0.5em;
		line-height: 1.6 !important;
}
	ul.circle-4col > li,ul.circle-4col > li.long {
		    width:40%;
	      padding: 0.2em 0 0.2em 1.4em;	
		margin-bottom:0.3em;
	}
}
.box-wrap {
    background: #e1ffff;
    box-sizing: border-box;
}
.box-ttl {
	text-align:center !important;
	background:var(--basic-color);
	padding:0.6em;
	color:#fff;
	margin-bottom:0px !important;
	display:flex;
	align-items:center;
	justify-content:center;
}
.box-cnt {
	width:100%;
	margin:0px auto 0em;
	padding:1.2em 1.8em 1.8em 1.8em;
	box-sizing:border-box;
}
dl.dl-flex {
  display: flex;
  flex-flow: row wrap;
  width: 100%;
  box-sizing:border-box;
}
dl.dl-flex dt {
  flex-basis: 30%;
	font-size:1.05em;
	font-weight: 600;
	text-align: center;
	padding:0.5em;
	border-bottom:1px dotted #999;
	box-sizing:border-box;
	
}
dl.dl-flex dd {
  flex-basis: 70%;
	font-size:1.05em;
	border-bottom:1px dotted #999;
	padding:0.5em;
	box-sizing:border-box;
}
@media screen and (max-width: 768px) {
 dl.dl-flex {
   flex-flow: column;
 }
}
.p-ttl {
	 text-align: center;
	 font-size:1.2em;
	 font-weight: 700;
}
@media only screen and (max-width: 768px) {
.p-ttl {
	 text-align: left;
	 font-size:1.0em;
}
}
.tx-flex {
	 text-align: center;
}

@media only screen and (max-width: 768px) {
.tx-flex {
	 text-align: left;
}
}
.line-f {
	line-height:2.5 !important;
	font-size:1.1em;
	letter-spacing:0.1em;
}
.h2-ttl {
    position:relative;
	background-color: var(--basic-color);
	padding:0.5em;
	color:#fff;
	text-shadow:none;
}
.h2-ttl:after {
    content: '';
	position: absolute;
	bottom: 0px !important;
	width: 0px !important;
	height: 0px !important;
	left: 0% !important;
	transform: translateX(0%);	
}
.h2-line:after {
	position: inherit;
	bottom: inherit !important;
	left: inherit !important;
	transform: translateX(0%);	
}
.h2-line {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-weight: 800;
}

.h2-line::before,
.h2-line::after {
	content: '';
	width: 70px;
	height: 2px;
	background-color: var(--basic-color);
}

.h2-line::before {
	margin-right: 20px;
}
.h2-line::after {
	margin-left: 20px;
}
@media only screen and (max-width: 768px) {
.h2-line::before,
.h2-line::after {
	content: '';
	width: 30px;
	height: 2px;
}
.h2-line::before {
	margin-right: 10px;
}
.h2-line::after {
	margin-left: 10px;
}

}


.fs60p-res {
	font-size:60% !important;
}

.fs70p-res {
	font-size:70% !important;
}

.fs80p-res {
	font-size:80% !important;
}

.fs90p-res {
	font-size:90% !important;
}

.fs110p-res {
	font-size:110%;
}

.fs120p-res {
	font-size:120% !important;
	line-height:1.4em ;
}

.fs120pM-res {
	font-size:120% !important;
	line-height:1.6em ;
}


.fs130p-res {
	font-size:130% !important;
	line-height:1.4em;
}

.fs140p-res {
	font-size:140% !important;
	line-height:1.4em;
}

.fs140pM-res {
	font-size:140% !important;
	line-height:1.8em;
}

.fs150p-res {
	font-size:150% !important;
	line-height:1.4em
}

.fs200p-res {
	font-size:200% !important;
	line-height:1.4em;
}
@media only screen and (max-width: 768px) {
	
	.fs110p-res,.fs120p-res,.fs130p-res,.fs140p-res,.fs150p-res {
			font-size:100% !important;
		    line-height: 1.0 !important;
	}    
	.fs150p-res {
			font-size:120% !important;
		    line-height: 1.2 !important;
	} 
	.fs200p-res {
			font-size:130% !important;
		    line-height: 1.3 !important;
	}
	.line-f {
	line-height:1.6 !important;
	font-size:1.2em;
	letter-spacing:0.1em;
}
}
.box-wrap {
    background: #fcfaf5;
    box-sizing: border-box;
}
.box-ttl {
	text-align:center !important;
	background:var(--basic-color);
	padding:0.6em;
	font-size:1.2em;
	font-weight: 700;
	color:#fff;
	margin-bottom:0px !important;
	display:flex;
	align-items:center;
	justify-content:center;
}
.box-cnt {
	width:100%;
	margin:0px auto 0em;
	padding:1.2em 1.8em 1.8em 1.8em;
	box-sizing:border-box;
}
ul.check-1col {
    position: relative;
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
}
ul.check-1col li {
    padding: 0 0 0.5em 2em;
    margin-bottom: 0.7em;
    border-bottom: 1px dashed #CCC;
    width:100%;
    position: relative;
}
ul.check-1col li::before {
    position: absolute;
    content: "\f14a";
    font-family: FontAwesome;
	color:var(--basic-color);
    left: 0.3em;
	top:-0.1em;
    font-size: 1.3em;
}
ul.check2 li {
    padding: 0 0 0.5em 2em;
    margin-bottom: 0.7em;
    border-bottom: 1px dashed #CCC;
    position: relative;
    width:40%;
    margin-right:2%;
    display:inline-block;
}
ul.check2 li::before {
    position: absolute;
    content: "\f14a";
    font-family: FontAwesome;
    left: 0.3em;
    font-size: 1.3em;
}


ul.check-2col {
    position: relative;
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
}
ul.check-2col li {
    padding: 0 0 0.4em 2em;
    margin-bottom: 1.0em;
    border-bottom: 1px dashed #CCC;
    width:44%;
    margin-right:1%;
    position: relative;
}
ul.check-2col li::before {
    position: absolute;
    content: "\f14a";
	color:var(--basic-color);
    font-family: FontAwesome;
    left: 0.3em;
	top:-0.0em;
    font-size: 1.3em;
}
ul.check-2col li.long {
    width:70%;
}
@media only screen and (max-width: 768px) {
ul.check-2col li,ul.check-2col li.long {
    padding: 0 0 0.5em 2em;
    margin-bottom: 0.7em;
    border-bottom: 1px dashed #CCC;
    width:92%;
    margin-right:0%;
	line-height: 2;
    position: relative;
}
ul.check-2col li::before {
    top: -0.2em;
}
ul.check2 li {
    padding: 0 0 0.5em 1.6em;
    margin-bottom: 0.7em;
    border-bottom: 1px dashed #CCC;
    position: relative;
	width:90%;
	margin-right:2%;
	display:inline-block;
}
}
.bgArrow {
	position:relative;
}
.bgArrow:before {
   transform: rotate(60deg);
}
.bgArrow:after {
    transform: rotate(-60deg);
}
.bgArrow:before, .bgArrow:after {
    content: "";
    position: absolute;
    bottom: -20px;
    left: calc(50% - 3px);
    width: 6px;
    height: 60px;
    border-radius: 9999px;
    background-color: rgba(240, 105, 0, .5);
    transform-origin: 50% calc(100% - 3px);
    z-index: 20;
}
.price {
	font-size:1.2em;
	font-weight: 600;
	color:#EC0D10;
}
.col_blue {
	color:var(--basic-color);
}
.col_ono {
	color:#ff9225;
}
.color_r {
	color:#DB1519;
}
.mt100-res {
	margin-top: 100px;
}
.mb100-res {
	margin-bottom: 100px;
}
.mb50-res {
	margin-bottom: 50px;	
}
.mb0-res {
	margin-bottom: 0px !important;
}
@media only screen and (max-width: 768px) {
.mb0-res {
	margin-bottom: 20px !important;
}
.mt100-res {
	margin-top: 30px;
}
.mb100-res {
	margin-bottom: 30px;
}
.mb50-res {
	margin-bottom: 20px;	
}
}
ul li.feature-bnr:before {
    content: counter(number);
    counter-increment: number;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--basic-color);
    color: #fff;
    font-size: 28px;
    font-size: 2.8rem;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    position: absolute;
    top: -30px;
    bottom: auto;
    letter-spacing: 0;
}