@charset "UTF-8";

/* Start SP--------------------------------------------------*/
@media screen and (max-width: 999px) {
/*=================================================================
*==================================================================
page style setting
==================================================================*
==================================================================*/
/* ===============================================
wrap_cont
=============================================== */
#wrap_cont {
	border-top: none;
}

/* ===============================================
sec_main_view
=============================================== */
.sec_main_view {
	padding: 0 0 20px 0;
}

/* -----------------------------------------------
main_range
----------------------------------------------- */
.sec_main_view .main_range h2 {
	overflow: hidden;
	position: relative;
}

.sec_main_view .main_range .logo_area {
	display: block;
	position: relative;
	width: 100%;
	margin: 0 0;
	text-align: center;
}

.sec_main_view .main_range .logo_area img {
	width: 100%;
}

.sec_main_view .main_range .txt_area {
	position: relative;
	top: auto;
	left: auto;
	width: 100%;
	height: 100%;
}

.sec_main_view .main_range .txt_area .txt_block {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	margin: 0 auto;
	text-align: center;
	/* flex */
	display: block;
}

.sec_main_view .main_range .txt_area .txt_block .txt {
	padding: 0 0 0 0;
	color: #2ea7e0;
	font-size: 26px;
	transform: translateY(0); 
}


/* ===============================================
sec_intro
=============================================== */
.sec_intro {
	background-color: #f2f7fb;
}

.sec_intro .inner_sec {
	width: 93.75%;
	margin: 0 auto;
	padding: 30px 0 40px 0;
}

/* -----------------------------------------------
intro_range
----------------------------------------------- */
.sec_intro .intro_range .lead_mass {
	margin: 0 0 20px 0;
	font-size: 16px;
	line-height: 1.8;
}

.sec_intro .intro_range .point_mass li {
	margin: 20px 0 0 0;
	/* flex */
	display: -webkit-flex;
	display: flex;
}

.sec_intro .intro_range .point_mass li:first-child {
	margin: 0 0 0 0;
}

.sec_intro .intro_range .point_mass li:before {
	content: "";
	display: inline-block;
	width: 25px;
	height: 25px;
	margin: 0 8px 0 0;
}

.sec_intro .intro_range .point_mass li:before {
	background-size: contain;
}

.sec_intro .intro_range .point_mass li .txt_area {
	font-size: clamp(16px, 4vw, 26px) ;
	line-height: 1.3;
	/* flex */
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	flex: 1;
}

.sec_intro .intro_range .point_mass li .txt_area .hl {
	color: #2ea7e0;
}


/* ===============================================
sec_merit
=============================================== */
.sec_merit {
	margin: 0 0 0 0;
}

.sec_merit .inner_sec {
	position: relative;
	width: 93.75%;
	margin: 0 auto;
	padding: 30px 0 40px 0;
}

/* -----------------------------------------------
ttl_range
----------------------------------------------- */
.sec_merit .ttl_range {
	padding: 0 0 20px 0;
	text-align: center;
}

.sec_merit .ttl_range .icon {
	margin: 0 0 20px 0;
}

#wrapper .sec_merit .ttl_range .icon img {
	width: min(20vw, 106px);
}

.sec_merit .ttl_range h3 {
	margin: 0 0 0 0;
	color: #2ea7e0;
	font-size: 22px;
	font-weight: 600;
}

/* -----------------------------------------------
about_range
----------------------------------------------- */
.sec_merit .about_range .list_mass ul {
	/* flex */
	display: block;
}

.sec_merit .about_range .list_mass li {
	width: 100%;
	margin: 20px 0 0 0;
	padding: 20px 10px 20px 10px;
	border: 1px solid #2ea7e0;
	/* box set */
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.sec_merit .about_range .list_mass li:first-child {
	margin: 0 0 0 0;
}

.sec_merit .about_range .list_mass li .view_area {
	padding-top: 0;
	margin: 0 0 20px 0 !important;
	text-align: center;
}

.sec_merit .about_range .list_mass li h4 {
	margin: 0 0 20px 0;
	color: #2ea7e0;
	font-size: 18px;
	line-height: 1.4;
	text-align: center;
}

.sec_merit .about_range .list_mass li .txt_area {
	font-size: 15px;
	line-height: 1.4;
}

.sec_merit .about_range .list_mass li sub {
	font-size: 60%;
}

/* box 2 */
.sec_merit .about_range .list_mass li:nth-child(2) {
	padding: 20px 10px 20px 10px;
}

/* box 3 */
.sec_merit .about_range .list_mass li:nth-child(3) {
	padding: 20px 10px 20px 10px;
}


/* ===============================================
sec_point
=============================================== */
.sec_point {
	background-color: #f2f7fb;
	margin: 0 0 0 0;
}

.sec_point .inner_sec {
	position: relative;
	width: 93.75%;
	margin: 0 auto;
	padding: 50px 0 40px 0;
}

/* -----------------------------------------------
about_range
----------------------------------------------- */
.sec_point .about_range .box_mass {
	margin: 25px 0 0 0;
	padding: 30px 0 0 0;
	border-top: 1px solid #066fb3;
}

.sec_point .about_range .box_mass:first-child {
	margin: 0 0 0 0;
	padding: 0 0 0 0;
	border-top: none;
}

.sec_point .about_range .box_mass h4 {
	margin: 0 0 25px 0;
	padding: 0 0 0 10px;
	border-left: 3px solid #066fb3;
	color: #066fb3;
	font-size: 20px;
	line-height: 1.5;
}

/*--- two_area ---*/
.sec_point .about_range .box_mass .two_area {
	/* flex */
	display: -webkit-flex;
	display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
}

.sec_point .about_range .box_mass .two_area .view_block {
	text-align: center;
}

.sec_point .about_range .box_mass .two_area .txt_block {
	width: 100%;
	margin: 0 0 25px 0;
	font-size: 15px;
	line-height: 1.9;
}

/*box_02 */
.sec_point .about_range .box_mass.box_02 .two_area .view_block {
	margin: 0 0 25px 0;
}

/*--- one_area ---*/
.sec_point .about_range .box_mass .one_area .txt_block {
	margin: 0 0 10px 0;
	font-size: 15px;
	line-height: 1.9;
}

.sec_point .about_range .box_mass .one_area .txt_block sup {
	font-size: 12px;
}

.sec_point .about_range .box_mass .one_area .note_block {
	margin: 0 0 35px 0;
	font-size: 12px;
}

.sec_point .about_range .box_mass .one_area .note_block li {
	padding: 0 0 0 2em;
	text-indent: -2em;
}

.sec_point .about_range .box_mass .one_area .view_block {
	text-align: center;
}


/* ===============================================
sec_ft_pagelinks
=============================================== */
.sec_ft_pagelinks {
	background-color: #ffffff;
}

.sec_ft_pagelinks .inner_sec {
	width: 100%;
	margin: 0 auto;
	padding: 30px 0 30px 0;
}

/* -----------------------------------------------
pagelinks_range
----------------------------------------------- */
.sec_ft_pagelinks .pagelinks_range .bt_mass li {
	text-align: center;
}

.sec_ft_pagelinks .pagelinks_range .bt_mass li a {
	position: relative;
	display: inline-block;
	width: max(60%, 300px); 
	margin: 0 auto;
	padding: 20px 15px 20px 0;
	border-radius: 12px;
	background: #8fc21d;
	background-size: contain;
	color: #ffffff;
	/* box set */
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	/* flex */
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	cursor: pointer;
}

.sec_ft_pagelinks .pagelinks_range .bt_mass li a::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 10px;
	width: 10px;
	height: 10px;
	border-top: 2px solid #ffffff;
	border-right: 2px solid #ffffff;
	-webkit-transform: translateY(-50%) rotation(45deg);
	transform: translateY(-50%) rotate(45deg);
}

.sec_ft_pagelinks .pagelinks_range .bt_mass li a:hover {
	opacity: 0.7;
}

.sec_ft_pagelinks .pagelinks_range .bt_mass li a .txt {
	font-size: 17px;
	line-height: 1.2;
}

.sec_unique .title{
	flex-direction: column;
	padding-top: 20px;
	margin-bottom: 40px;
	gap: 50px;
}

.sec_unique .title .img_ttl {
	flex: 1 0 auto;
	width: 100%;
	text-align: center;
}

.sec_unique .title .img_ttl img {
	width: 100%;
	max-width: 500px !important;
}

.sec_unique .title .img_img {
	flex: 1 0 auto;
	text-align: center;
}

#wrapper .sec_merit .ttl_range .icon.size2 img {
	width: min(28vw, 196px);
}

#wrapper .sec_merit.merit_02 .ttl_range .icon img {
	width: min(20vw, 60px);
}

.sec_unique .content {
	flex-direction: column;
	gap: 50px;
}

.sec_unique .content .graph img{
	width: 100%;
}

.merit_02 .wide_text {
    font-size: 16px;
	padding: 10px 10px 10px 60px;
}

.merit_02 .wide_text::before {
	width: 30px;
	height: 30px;
}

.merit_02 .note {
	font-size: 12px !important;
}

.sec_intro .intro_range .point_mass {
    margin: 0 0 0 0;
}

.sec_unique .video-container {
	margin-bottom: 0;
}



.recommend .title{
	flex-direction: column;
	border-radius: 20px;
}
.recommend .recommend_list .item{
	flex: 1 1 100%;
}




}/* End SP----------------------------------------------------*/


@media (max-width: 660px) {

.recommend {
	margin-top: 40px;
	margin-bottom: 40px;
}
.recommend .title {
	padding: 10px 20px !important;
}
.recommend .title .main{
	font-size: 24px;
}
.recommend .title .sub{
	font-size: 14px;
}
.recommend .recommend_list .item .ttl{
	font-size: 16px;
}
.recommend .recommend_list .item .text{
	font-size: 16px;
}


}