@charset "UTF-8";

* {
	box-sizing: border-box;
  }
a:hover {
	opacity: 0.7;
  }

/* ========================================
  contents
======================================== */
.mainVisual{
	text-align: center;
}
.mainVisual img{
	max-width: 100%;
}



@media screen and (max-width: 768px) {
	.mainVisual{
		background-size: cover;
		background-image: url(/content/sp/line/images/bg_mv_sp.jpg);
	}
	.contents img{
		max-width: 100%;
	}
}
@media screen and (min-width: 769px) {
	.mainVisual {
		background: url(/content/sp/line/images/bg_mv_pc.jpg) no-repeat center / cover;
		padding: 0;
		max-width: 100%;
		margin: 0;
		max-height: 423px;
		box-sizing: border-box;
	}
}



/**/
.contents{
	padding: 0;
	margin-bottom: 70px;
	font-size: 1.6rem;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	background-color: #fff;
	line-height: 1.7;
	font-weight: normal;

}

.topLead {
	text-align: center;
	padding: 50px 0 70px;
}

.topLead h2 {
	font-size: 3.2rem;
	font-weight: bold;
	display: inline-block;
	margin-bottom: 30px;
}

.leadTxt01 {
	text-align: center;
	margin-bottom: 40px;
	padding: 0 15px;
	box-sizing: border-box;
	font-size: 2.2rem;
	line-height: 1.8;
}
.leadTxt01 span{
	background: linear-gradient(transparent 60%, #f8dd61 40%);

}

.contents button{
	width: 380px;
	text-align: center;
	background-color: #06c755;
	border-radius: 50px;
	box-shadow: 0 7px 0 #82e3aa;
	margin-bottom: 7px;

}
.contents button a{
	display: block;
	padding: 15px;
	color: #fff;
	font-size: 2.2rem;
	font-weight: bold;
	border-radius: 50px;
}
.contents button:hover{
	opacity: 0.7;
}


@media screen and (max-width: 768px) {
	.contents{
		line-height: 1.6;
	}
	.topLead {
		padding: 30px 0 40px;
	}
	
	.topLead h2 {
		font-size: 2.2rem;
		font-weight: bold;
		display: inline-block;
		margin-bottom: 10px;
	}
	
	.leadTxt01 {
		text-align: center;
		margin-bottom: 30px;
		padding: 0 15px;
		box-sizing: border-box;
		font-size: 1.6rem;
	}
	.leadTxt01 span {
		background: linear-gradient(transparent 60%, #f8dd61 40%);
	}
	
	.contents button{
		width: 280px;
		text-align: center;
		background-color: #06c755;
		border-radius: 50px;
		box-shadow: 0 4px 0 #82e3aa;
		margin-bottom: 7px;
	
	}
	.contents button a{
		display: block;
		padding: 15px;
		color: #fff;
		font-size: 1.8rem;
		font-weight: bold;
		border-radius: 50px;
	}
}



/* merit*/
.contentsWrapper {
	width: 950px;
	margin: 0 auto;
	padding: 0 30px;
	text-align: left;
}

.merit,
.friend {
	text-align: center;
	padding: 0 0 70px;
}

.merit h2,
.friend h2 {
	text-align: center;
	margin-bottom: 50px;
}
.merit h2 img,
.friend h2 img {
	max-width: 100%;
}


.merit dl{
	position: relative;
	margin: 0 0 70px;
	padding: 0 30px 0 125px;
}
.merit dt::before {
	position: absolute;
	content: "";
	display: block;
	background: url(/content/sp/line/images/icon_check.png) no-repeat;
	background-size: contain;
	width: 45px;
	height: 45px;
	left: 60px;
}
.merit dt span {
	font-size: 2.8rem;
	font-weight: bold;
	background: linear-gradient(transparent 70%, #f8dd61 30%);

}

.merit dd{
	font-size: 2.2rem;
	margin-bottom: 40px;
}


@media screen and (max-width: 768px) {
	.contentsWrapper {
		width: 100%;
		padding: 0 15px;
	}
	.merit,
	.friend {
		padding: 0 0 40px;
	}
	.merit h2,
	.friend h2 {
		text-align: center;
		margin-bottom: 30px;
		padding: 0 15px;
	}
	.merit h2 img,
	.friend h2 img{
		max-width: 100%;
	}

	.merit dl{
		position: relative;
		margin: 0 0 40px;
		padding: 0 15px 0 50px;
	}

	.merit dt {
		margin-bottom: 10px;
	}

	.merit dt::before {
		position: absolute;
		content: "";
		display: block;
		background: url(/content/sp/line/images/icon_check.png) no-repeat;
		background-size: contain;
		width: 30px;
		height: 30px;
		left: 10px;
	}
	.merit dt span {
		font-weight: bold;
		background: linear-gradient(transparent 70%, #f8dd61 30%);
		font-size: 2.0rem;
	}
		

	.merit dd{
		line-height: 1.6;
		font-size: 1.6rem;
		margin-bottom: 30px;
	}
}
.step {
	display: flex;
	flex-flow: row wrap;
	max-width: 950px;
	padding: 0 12px;
	margin: 0 auto 60px;
	justify-content: space-between;
}

.step li:first-child{
	width: 352px;
	margin-bottom: 30px;
}
.step li:nth-child(2){
	width: 560px;
	margin-bottom: 30px;
}
.step li:nth-child(3){
	width: 923px;
	margin-bottom: 40px;
}
.step li img{
	max-width: 100%;
}
.step li:nth-child(4){
	width: 923px;
	display: table;
}
.step li:nth-child(4) div{
	display: table-cell;
	vertical-align: middle;
	width: 590px;
	padding-left: 40px;
}
.step li:nth-child(4) p{
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	font-size: 2.6rem;
}


@media screen and (max-width: 768px) {
	.step {
		display: flex;
		flex-flow: column;
		width: 100%;
		padding: 0 30px;
		margin: 0 auto 60px;
	}
	
	.step li:first-child{
		width: 100%;
		margin-bottom: 20px;
	}
	.step li:nth-child(2){
		width: 100%;
		margin-bottom: 20px;
	}
	.step li:nth-child(3){
		width: 100%;
		margin-bottom: 20px;
	}
	.step li img{
		max-width: 100%;
	}
	.step li:nth-child(4){
		width: 100%;
		display: block;
	}
	.step li:nth-child(4) div{
		display: block;
		width: 100%;
		padding-left: 20px;
	}
	.step li:nth-child(4) p{
		display: block;
		text-align: center;
		font-size: 2.0rem;
	}

}




/* contentWidth
---------------------------------------*/
.contentWidth{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin: auto;
}

@media screen and (min-width: 769px) {
	.contentWidth{
		width: 1166px;
	}

}









