@charset"utf-8";



a,a:hover,a:visited{
	text-decoration: none;
	color: inherit;
}


/* SP改行 */
.br_sp{
	display: none;
}


/* テキスト調整 */
.gray{
	color: #333;
}
.tc{
	text-align:center;
}
.tj{
	text-align: justify;
}
.bc{
	margin: 0 auto;
}
.tt{
	font-feature-settings: "palt";
	letter-spacing: 0.03em;
}
.n100{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 100;
}
.n200{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 200;
}
.n300{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
}
.n400{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
}
.n500{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
}
.n600{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 600;
}
.n700{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
}
.n800{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 800;
}
.n900{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 900;
}



/* マージン調整 */
.mb10{
	margin-bottom: 10px;
}
.mb15{
	margin-bottom: 15px;
}
.mb20{
	margin-bottom: 20px;
}
.mb25{
	margin-bottom: 25px;
}
.mb30{
	margin-bottom: 30px;
}
.mb35{
	margin-bottom: 35px;
}
.mb40{
	margin-bottom: 40px;
}
.mb45{
	margin-bottom: 45px;
}
.mb50{
	margin-bottom: 50px;
}
.mb55{
	margin-bottom: 55px;
}
.mb60{
	margin-bottom: 60px;
}
.mb65{
	margin-bottom: 65px;
}
.mb70{
	margin-bottom: 70px;
}
.mb75{
	margin-bottom: 75px;
}
.mb80{
	margin-bottom: 80px;
}
.mb85{
	margin-bottom: 85px;
}
.mb90{
	margin-bottom: 90px;
}
.mb100{
	margin-bottom: 100px;
}
.mb120{
	margin-bottom: 120px;
}



/* 本文スタイル */
.shiru_text{
	font-size: 35px;
	line-height: 1.7;
}
.main_text{
	width: 370px;
	font-size: 24px;
	line-height: 1.7;
}
.btn_text{
	font-size: 18px;
	line-height: 1.7;
}
.info{
	box-sizing: border-box;
	position: relative;
	width: 370px;
	/* border: 1px solid #333; */
	border-radius: 5px;
	background-color: #f7f7f7;
	padding: 20px;
	font-size: 16px;
	line-height: 1.7;
}
.info a{
	color: #1558d6;
}
.info a:hover{
	text-decoration:underline;
}
.info_mark{
	position: absolute;
	top: -15px;
	left: -15px;
	width: 30px;
}
.info_exlink{
	width: 14px;
}



/* kv */
.kv{
	width: 100%;
}
.obi{
	color: #ff6633;
	letter-spacing: 0.1em;
	height: 70px;
	line-height: 70px;
	font-size: 28px;
	background-color: #ffcfc2;
}



/* campaign */
.campaign{
	width: 100%;
}



/* price_revision */
.price_revision{
	width: 100%;
}



/* lead */
.lead_img{
	width: 280px;
}
.lead_ttl{
	width: 400px;
	font-size: 28px;
	color: #299e18;
}
.lead_txt{
	width: 400px;
	font-size: 20px;
	line-height: 1.7;
}
.lead_em{
	color: #299e18;
	background: linear-gradient(transparent 50%, #ddfcd9 50%);
}
.lead_gray{
	width: 400px;
	font-size: 20px;
	line-height: 1.7;
	background-color: #dadada;
	padding: 10px 0;
}



/* how to purchase */
.pur_ttl{
	position: relative;
	width: 400px;
	padding-bottom: 20px;
	font-size: 25px;
}
.pur_ttl:after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 10px;
	content: '';
	background-image: repeating-linear-gradient(135deg, #333, #333 1px, transparent 2px, transparent 5px);
	background-image: repeating-linear-gradient(-45deg, #333, #333 1px, transparent 2px, transparent 5px);
	background-size: 7px 7px;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
.pur_container{
	width: 400px;
}
.single_wrapper{
	background-color: #dbedff;
	padding-bottom: 40px;
}
.single_ttl{
	position: relative;
	display: inline-block;
	width: 300px;
	margin: 25px 0 25px -10px;
	padding: 10px;
	color: #fff;
	border-radius: 0 100vh 100vh 0;
	background: #2d7ec1;
	/* -webkit-box-shadow: 3px 3px 5px rgba(0, 0, 0, .2);
	box-shadow: 3px 3px 5px rgba(0, 0, 0, .2); */
	font-size: 20px;
	line-height: 3.4;
}
.single_ttl::before{
	position: absolute;
	bottom: -10px;
	left: 0;
	width: 0;
	height: 0;
	content: '';
	border-top: 10px solid #005276;
	border-left: 10px solid transparent;
}
.single_price{
	font-size: 25px;
}
.single_price span{
	font-size: 35px;
}
.single_kessai{
	font-size: 14px;
}
.store_btn_s{
	width: 246px;
}
.set_wrapper{
	background-color: #cceddb;
	padding-bottom: 40px;
}
.set_ttl{
	position: relative;
	display: inline-block;
	width: 300px;
	margin: 25px 0 25px -10px;
	padding: 10px;
	color: #fff;
	border-radius: 0 100vh 100vh 0;
	background: #229352;
	/* -webkit-box-shadow: 3px 3px 5px rgba(0, 0, 0, .2);
	box-shadow: 3px 3px 5px rgba(0, 0, 0, .2); */
	font-size: 20px;
	line-height: 1.7;
}
.set_ttl::before{
	position: absolute;
	bottom: -10px;
	left: 0;
	width: 0;
	height: 0;
	content: '';
	border-top: 10px solid #173523;
	border-left: 10px solid transparent;
}
.set_price_1{
	width: 300px;
	font-size: 20px;
	background-color: #333;
	color: #fff;
	padding: 7px;
}
.set_price_2{
	font-size: 25px;
}
.set_price_2 span{
	font-size: 35px;
}
.set_gakusan{
	width: 243px;
	height: 55px;
	line-height: 55px;
	border: 3px solid #333;
	color: #333;
	background-color: #fff;
	font-size: 27px;
	border-radius: 8px;
	transition: all .3s;
}
.set_gakusan:hover{
	opacity: 0.5;
}
.pur_txt{
	font-size: 18px;
	padding: 0 30px 20px;
	line-height: 1.7;
}
.pur_btn div{
	display: inline-block;
	filter: drop-shadow(0px 2px 2px rgba(0,0,0,.2));
	transition: all .3s;
}
.pur_btn div:hover{
	filter: drop-shadow(0px 0px 0px rgba(0,0,0,0));
}
.pur_btn button{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 180px;
	margin:0 auto;
	padding: 1.2em 2em;
	border-radius: 5px;
	background-color: #2d7ec1;
	color: #fff;
	font-size: 1.2em;
	transition: all .3s;
}
.pur_btn button:hover{
	background-color: #71a8d5;
}
.pur_btn button::after {
	transform: rotate(45deg);
	width: 10px;
	height: 10px;
	margin-left: 10px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	content: '';
}
.pur_btn .green{
	background-color: #229352;
}
.pur_btn .green:hover{
	background-color: #83c39e;
}







/* spec */
/* 
.spec_img{
	width: 255px;
}
.spec_img:first-of-type{
	margin-right: 25px;
}

.spec_text_wrap{
	width: 400px;
	font-size: 20px;
	line-height: 1.7;
}
.spec_gray{
	background-color: #dadada;
	padding: 10px 0;
}
.spec_price{
	font-size: 35px;
}
.spec_price span{
	font-size: 55px;
}
.spec_kessai{
	font-size: 20px;
}
.spec_btn div{
	display: inline-block;
	filter: drop-shadow(0px 2px 2px rgba(0,0,0,.2));
	transition: all .3s;
}
.spec_btn div:hover{
	filter: drop-shadow(0px 0px 0px rgba(0,0,0,0));
}
.spec_btn button{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 250px;
	margin:0 auto;
	padding: 1.2em 2em;
	border: 1px solid #888;
	border-radius: 5px;
	background-color: #fff;
	color: #333;
	font-size: 1.5em;
	transition: all .3s;
}
.spec_btn button:hover{
	border: 1px solid #efefef;
	background-color: #efefef;
}
.spec_btn button::after {
	transform: rotate(45deg);
	width: 10px;
	height: 10px;
	margin-left: 10px;
	border-top: 2px solid #333;
	border-right: 2px solid #333;
	content: '';
}
 */



/* introduction */
.shiru_a{
	width: 160px;
}
.line_intro{
	border-top: double 10px #ece8e3;
	border-bottom: double 10px #ece8e3;
	padding: 70px 0;
}



/* problem */
.shiru_b{
	width: 170px;
}
.prob_wrapper{
	border: 2px solid #998f84;
	border-radius: 38px 38px 0 0;
}
.prob_wrapper div{
	background-color: #ece8e3;
	border-radius: 36px 36px 0 0;
	padding: 40px 0;
	border-bottom: 2px solid #998f84;
}
.prob_wrapper div img{
	width: 370px;
}
.deki{
	width: 450px;
}
.nobi{
	width: 350px;
}
.kijyutsu{
	width: 350px;
}
.pctab{
	width: 350px;
}



/* mode */
.mode_area{
	background-color: #ece8e3;
	padding: 100px 20px 100px;
}
.mode_area div{
	background-color: #fff;
	padding: 50px 0;
}
.mode_img{
	width: 250px;
}
.mode_shoulder{
	font-size: 20px;
}
.mode_shoulder span{
	border: 1px solid #333;
	border-radius: 100vh;
	padding: 5px 20px;
}
.mode_ttl{
	font-size: 45px;
}
.mode_feature{
	font-size: 22px;
}
.saiten{
	width: 500px;
}
.kaisetsu{
	width: 350px;
}
.kaisetsumark{
	width: 30px;
	vertical-align: middle;
	padding: 0 2px 0 10px;
}
.bunrui{
	width: 350px;
}
.testkekka{
	width: 300px;
}
.bunya{
	width: 450px;
}



/* start */

/* 
.step_wrap_polygon1{
	background-color: #dbedff;
	clip-path: polygon(0% 0%, 0 93% , 50% 100%, 100% 93%, 100% 0%);
	padding-top: 40px;
	padding-bottom: 90px;
}
.step_wrap_polygon2{
	background-color: #dbedff;
	clip-path: polygon(0% 0%, 0 97.3% , 50% 100%, 100% 97.3%, 100% 0%);
	padding-top: 40px;
	padding-bottom: 90px;
}
 */

.single_area{
	position: relative;
	background-color: #dbedff;
	padding-top: 60px;
	padding-bottom: 70px;
}
.single_start_ttl{
	position: absolute;
	width: 70%;
	height: 80px;
	line-height: 80px;
	font-size: 30px;
	background-color: #2d7ec1;
	color: #fff;
	border-radius: 100vh;
	top: -40px;
	left: 15%;
}
.set_area{
	position: relative;
	background-color: #cceddb;
	padding-top: 100px;
	padding-bottom: 70px;
}
.set_start_ttl{
	position: absolute;
	width: 70%;
	height: 80px;
	line-height: 80px;
	font-size: 30px;
	background-color: #229352;
	color: #fff;
	border-radius: 100vh;
	top: -40px;
	left: 15%;
}
.step_num{
	width: 80px;
}
.step_img{
	width: 200px;
}
.step3_img{
	width: 250px;
}
.set_step3_img{
	width: 300px;
}
.app{
	width: 200.2px;
}
.google{
	width: 248.5px;
}
.step_gray{
	width: 350px;
	padding: 15px;
	background-color: #fff;
	font-size: 15px;
	line-height: 1.7;
}
.btn_exlink div{
	display: inline-block;
	filter: drop-shadow(0px 2px 2px rgba(0,0,0,.2));
	transition: all .3s;
}
.btn_exlink div:hover{
	filter: drop-shadow(0px 0px 0px rgba(0,0,0,0));
}
.btn_exlink button{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 300px;
	margin:0 auto;
	padding: 1.5em 2em;
	border: 1px solid #888;
	border-radius: 5px;
	background-color: #fff;
	color: #333;
	font-size: 18px;
	transition: all .3s;
}
.btn_exlink button:hover{
	border: 1px solid #efefef;
	background-color: #efefef;
}
.btn_exlink img{
	width: 18px;
	vertical-align: middle;
	margin-left: 15px;
}
.store_btn_l{
	width: 350px;
}
.gakusan_wrapper_l{
	width: 350px;
}
.marker{
	background: linear-gradient(transparent 50%, #fff 50%);
}

/* 
.step_wrap{
	background-color: #dbedff;
	padding: 40px 0;
} */

.line_wht{
	width: 500px;
	border-bottom: 1px solid #fff;
}
.line_gry{
	width: 500px;
	border-bottom: 1px solid #ece8e3;
}
.store_info{
	width: 350px;
}
.store_info_txt{
	width: 350px;
	font-size: 18px;
	line-height: 1.7;
	color: #333;
}
.hogosya{
	width: 400px;
	filter: drop-shadow(0px 0px 2px rgba(0,0,0,.2));
}
.hogosya h4{
	background-color: #ece8e3;
	font-size: 20px;
	padding: 15px 0;
}
.hogosya div{
	padding: 25px 40px;
	background-color: #fff;
	font-size: 16px;
	line-height: 1.7;
}
.info_wht,.info_pur{
	width: 320px;
}
.lis_dl{
	width: 400px;
	border: 3px solid #358dc6;
	box-sizing: border-box;
	/* filter: drop-shadow(0px 0px 2px rgba(0,0,0,.2)); */
}
.lis_dl img{
	width: 250px;
}
.lis_dl h4{
	background-color: #358dc6;
	font-size: 20px;
	color: #fff;
	padding: 15px 0;
}
.lis_dl > div{
	padding: 25px 30px;
	background-color: #fff;
	font-size: 16px;
	line-height: 1.7;
}
.pw_wrapper{
	background-color: #358dc6;
	color: #fff;
}
.pw_text{
	padding: 10px;
}
.pw_text:last-child{
	font-size: 13px;
}
.pw_line{
	box-sizing: border-box;
	width: 95%;
	border-bottom: 1px solid #fff;
}
.ribbon {
	width: 93%;
	position: relative;
	height: 40px;/*高さ*/
	line-height: 40px;/*高さ*/
	/* text-align: center; */
	padding-left: 10px;/*文字の左右の余白*/
	font-size: 17px;/*文字サイズ*/
	background: #333;/*背景色*/
	color: #FFF;/*文字色*/
	box-sizing: border-box;
}
.ribbon:after {
	position: absolute;
	content: '';
	width: 0px;
	height: 0px;
	z-index: 1;
}
.ribbon:after {
	top: 0;
	right: 0;
	border-width: 20px 10px 20px 0px;
	border-color: transparent #fff transparent transparent;
	border-style: solid;
}
.line_333{
	width: 97%;
	border-bottom: 1px solid #333;
}
.btn-center{
	text-align: center;
}
.nagare-btn div{
	display: inline-block;
}
.nagare-btn button{
		display: flex;
		justify-content: center;
		align-items: center;
		width: 230px;
		margin:0 auto;
		padding: 1.2em 2em;
		border-radius: 5px;
		background-color: #358dc6;
		color: #fff;
		font-size: 15px;
}
.nagare-btn button::after {
		transform: rotate(45deg);
		width: 10px;
		height: 10px;
		margin-left: 10px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		content: '';
}
.btn__back{
	width: 30%;
	padding: 1em 0;
	background-color: #f4f43d;
	color: #444;
	font-size: 18px;
	border-radius: 8px;
}




.btn_pageTop{
	display: none;
}

@media print {
	.no-print {
		display: none !important;
	}
}


































/* spスタイル */
@media screen and (max-width: 768px){
	.btn_pageTop{
		display: block;
		width: 50px;
		height: 50px;
		position: fixed;
		right: 20px;
		bottom: 20px;
	}
	.br_sp{
		display: block;
	}
	.obi{
		font-size: 22px;
	}
	.lead_img{
		width: 60%;
	}
	.lead_ttl{
		width: 100%;
		font-size: 25px;
	}
	.lead_txt{
		width: 85%;
	}
	.lead_gray{
		width: 85%;
		font-size: 18px;
	}
	.pur_ttl{
		width: 80%;
	}
	.pur_container{
		width: 90%;
	}
	.single_ttl,.set_ttl{
		width: 90%;
	}
	.set_price_1{
		width: 80%;
		font-size: 17px;
	}
	.single_start_ttl,.set_start_ttl{
		width: 84%;
		left: 8%;
		font-size: 25px;
	}
	.spec_img{
		width: 75%;
	}
	.spec_img:first-of-type{
		margin-right: 0px;
		margin-bottom: 50px;
	}
	.spec_text_wrap{
		width: 80%;
		font-size: 17px;
	}
	.btn_text{
		font-size: 17px;
	}
	.store_btn_l{
		width: 75%;
	}
	.spec_kessai{
		font-size: 13px;
	}
	.spec_price{
		font-size: 30px;
	}
	.spec_price span{
		font-size: 50px;
	}
	.spec_btn button{
		width: auto;
	}
	.shiru_text{
		font-size: 30px;
	}
	.prob_wrapper div img{
		width: 77%;
	}
	.main_text{
		width: 75%;
		font-size: 21px;
	}
	.deki{
		width: 85%;
	}
	.nobi{
		width: 65%;
	}
	.kijyutsu{
		width: 65%;
	}
	.pctab{
		width: 65%;
	}
	.info{
		width: 75%;
	}
	.mode_img{
		width: 75%;
	}
	.mode_shoulder{
		font-size: 17px;
	}
	.mode_ttl{
		font-size: 35px;
	}
	.mode_feature{
		font-size: 20px;
	}
	.saiten{
		width: 90%;
	}
	.kaisetsu{
		width: 80%;
	}
	.bunrui{
		width: 80%;
	}
	.testkekka{
		width: 80%;
	}
	.bunya{
		width: 85%;
	}
	.step_img{
		width: 50%;
	}
	.step3_img{
		width: 65%;
	}
	.app{
		width: 34.034%;
		margin-right: -15px;
	}
	.google{
		width: 42.245%;
	}
	.hogosya{
		width: 90%;
	}
	.lis_dl{
		width: 90%;
	}
	.info_wht{
		width: auto;
	}
	.btn_exlink{
		margin-right: 5%;
		margin-left: 5%;
	}
	.btn_exlink button{
		width: auto;
		font-size: 16px;
	}
	.btn_exlink img{
		width: 16px;
	}
	.line_wht,.line_gry{
		width: 85%;
	}
	.store_info{
		width: 70%;
	}
	.store_info_txt{
		width: 75%;
		font-size: 17px;
	}
	.btn__back{
		width: 40%;
	}
}




/* pcのpageTopボタン非表示 */
@media screen and (min-width: 769px){
	.btn_pageTop{
		display: none !important;
	}
}