@charset "utf-8";

section .cont:last-child {
  margin-bottom: 0;
}
.s_n_flow {
	width:100%;
  max-width: 650px;
	margin: 0 auto;
}

.s_n_flow .step {
  display: flex;
  align-items: center;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 12px;
  background: #fff;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
}

/* 左のラベル */
.s_n_flow .label {
  background: #7ebe33; /* 黄色 */
  color: #fff;
  letter-spacing:0.15em;
  font-weight: bold;
  padding: 14px 18px;
  min-width: 90px;
  text-align: center;
  -webkit-clip-path: polygon(0% 0%, 85% 0%, 100% 50%, 85% 100%, 0% 100%);
  clip-path: polygon(0% 0%, 85% 0%, 100% 50%, 85% 100%, 0% 100%);
}

/* 右の内容 */
.s_n_flow .content {
  flex: 1;
  padding: 14px;
  font-size: 16px;
	font-weight:bold;
}

/* 下向き矢印 */
.s_n_flow .arrow {
  width: 0;
  height: 0;
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  border-top: 14px solid #7ebe33;
  margin: 10px auto;
}
/* PC表示
-----------------------------*/
@media screen and (min-width:601px) {
/* ページ内ナビ */
	.pagenav{
		background: #2b7135;
	}
	.pagenav ul{
		width: 940px;
		margin: 0 auto;
	}
	.pagenav ul li{
		float: left;
		padding: 15px 0;
	}
	.pagenav ul li a{
		display: block;
		text-decoration: none;
		color: #fff;
		line-height: 1.4;
		height: 24px;
		padding: 0 20px;
		border-right: 1px dashed #fff;
	}
	.pagenav ul li:last-child a{
		border-right: none;
	}
	.pagenav.fixed{
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 99;
	}
	
	section .inner.widthfix.cf{
		width: 840px;
		padding-top: 60px;
	}
	.section h2{
/*
		border: 2px solid #fff;
		box-shadow: 3px 3px 5px rgba(0,0,0,0.15);
		height: 55px;
*/
		margin-bottom: 30px;
	}
	.section h2 span{
/*
		display: block;
		height: 100%;
		border: 2px solid #62a836;
		background: #fff;
		padding: 5px 5px 0;
*/
		text-align: center;
		display: inline-block;
		padding: 0 50px 5px;
		background: url(img/h2_bg.png)bottom left repeat-x;
	}
/*card*/
	.card{
		border: 3px solid #b7b8b7;
		background: url(img/card_bg.jpg);
		padding: 40px 40px;
		margin: 0 auto;
		position: relative;
		width: 735px;
	}
	.card .card_ttl{
		text-align: center;	
		margin-bottom: 25px;
	}
	.card .check_list li{
		background: url(img/check02.png) left top no-repeat;
		padding-left: 30px;
		padding-right: 25px;
		font-size: 18px;
		display: inline-block;
		line-height:1.3em;
		margin-bottom:15px;		
	}
	.card .check_list li:last-child{
		margin-bottom:0px;		
	}
	.card .check_list li span{
		font-size:14px;
		vertical-align: middle;
	}
	.card ul.check_list{
	}
/*point_box*/
	.point_box{
		position: relative;
		min-height: 190px;
		width: 800px;
		margin: 0 auto;
	}
	.card::before{
		position: absolute;
		content: "";
		background: url(img/point_pic01.png?01) no-repeat;
		width: 166px;
		height: 147px;
		left:-30px;
		top: -20px;
	}
	.card::after{
		position: absolute;
		content: "";
		background: url(img/point_pic02.png) no-repeat;
		width: 162px;
		height: 135px;
		right:-25px;
		bottom: -30px;
	}
	.point_txt{
		width: 630px;
		background: #fff;
		border-radius: 60px 60px 60px 60px/50% 50% 50% 50%;
		padding: 35px 40px;
		position: relative;
	}
	.section .point_txt::after{
		position: absolute;
		content: "";
		background: url(img/point_arrow.png);
		width: 77px;
		height: 20px;
		right: 70px;
		bottom: -20px;
	}
	.light_ttl{
		margin-bottom: 10px;
	}
	
	
/*---------- #section01 ----------*/
	.sad_list span{
		color: #398cda; 
		font-weight:bold;
	}
	.sad_list{
		display: inline-block;
		width: 520px;
		margin:20px auto;
		padding-left:15px;
	}
	.sad_list li{
		font-size: 18px;
		font-weight: bold;
		padding-left: 30px;
		line-height: 1.6em;
		margin-bottom:15px;
	  background: url(img/star.png) left 0px top 0px no-repeat;
	  background-size: 25px auto;
	}
	.white_box {
		width:100%;
		max-width:650px;
		background: url(img/card_bg02.jpg?04);
		border:2px solid #faf5c1;
		border-radius: 120px;	
		padding: 20px 0;
		margin: 50px auto 40px;
		position: relative;
	}
	.white_box::before{
		position: absolute;
		content: "";
		background: url(img/point_pic04.png?09) no-repeat;
		width: 80px;
		height: 82px;
		left:85px;
		top: 10px;
	}
	.white_box::after{
		position: absolute;
		content: "";
		background: url(img/point_pic03.png?02) no-repeat;
		width: 120px;
		height: 90px;
		right:10px;
		bottom: -25px;
	}
	#section01 .cf p span.hosoku  {
		display:block;
		font-size:small;
		margin-top:3px;
	}
	#section01 .card {
		padding-bottom: 35px;
		margin-bottom:50px!important;
	}
	#section01 .center-pic{
		margin-top: 40px;
	}
	#section01 .card .point_pic {
    position: absolute;
    top: 10px;
    right: 15px;
    width: 110px;
    height: auto;
	}
	#section01 .card .point_pic {}
	#section01 .card ul.check_list {
    width: 570px;
	margin:0 auto;
    text-align: center;
	}
	#section01 .flow{
		width: 795px;
		margin: 0 auto 80px;
		background: url(img/flow_bg.png?03);
		position: relative;
		padding: 40px 25px 25px;
	}
	/*#section01 .flow::after{
		position: absolute;
		content: "";
		width: 100%;
		height: 12px;
		top: -5px;
		left: 0;
		background: url(img/flow_border.png)left top repeat;
	}*/
	#section01 .flow .ttl{
		margin-bottom: 30px;
	}
	#section01 .flow .border_box{
		background: #fff;
		border: 2px solid #b7b8b7;
		border-radius: 5px;
		padding: 15px 45px 15px;
		margin:40px auto 20px!important;
	}
	#section01 .flow .border_box p span{
		display:block;
		font-size:1.2em;
		margin-bottom:3px;
		font-weight:bold;
		color:#398cda;
	}
	#section01 .flow .border_box img.right-pic{
		margin-top:-30px;
		margin-left:10px!important;
		max-width:150px;
	}
		.section h5{
		text-align: center;
		margin: 10px auto 40px;
	}
	.section h5 span{
		background: url(img/h5_gb.png)left top no-repeat, url(img/h5_gb.png)right top no-repeat;
		padding: 0 240px 0;
	}
}
/* PC表示
----------------------------*/

/* スマホ表示
-----------------------------*/
@media screen and (max-width:600px) {
/* ページ内ナビ */
	.pagenav{
		padding: 20px 2%;
	}
	.pagenav ul{
		background: #2b7135;
	}
	.pagenav ul li{
		padding: 8px 5%;
	}
	.pagenav ul li a{
		display: block;
		text-decoration: none;
		color: #fff;
		line-height: 1.4;
		font-size: 13px;
		padding-left: 15px;
		background: url(../common/img/pagenav_arrow.png) left center no-repeat;
	}
	.section h2{
/*
		border: 2px solid #fff;
		box-shadow: 3px 3px 5px rgba(0,0,0,0.15);
		height: 55px;
*/
		margin-top:20px;
		margin-bottom: 30px;
	}
	.section h2 span{
		/*
		display: block;
		height: 100%;
		border: 2px solid #62a836;
		background: #fff;
		padding-top: 5px;
*/
		text-align: center;
		display: inline-block;
		padding: 0 20px 5px;
		background: url(img/h2_bg.png)bottom left repeat-x;
		}
	.section h2 span img{
		width:100%;
		max-width:300px;
	}
/*card*/
	.card{
		border: 3px solid #b7b8b7;
		background: url(img/card_bg.jpg);
		padding: 50px 5%;
		margin: 0 auto;
		position: relative;
	}
		.card::before{
		position: absolute;
		content: "";
		background: url(img/point_pic01.png?01) no-repeat;
		width: 166px;
		height: 147px;
			background-size:65%;
		left:-15px;
		top: -35px;
	}
	.card::after{
		position: absolute;
		content: "";
		background: url(img/point_pic02.png) no-repeat;
		width: 162px;
		height: 135px;
		background-size:65%;
		right:-70px;
		bottom: -70px;
	}
	.card .card_ttl{
		text-align: center;	
		margin-bottom: 20px;
	}
	.card .check_list li{
		background: url(img/check02.png) left top no-repeat;
		padding-left: 30px;
		margin-bottom:16px;
		line-height:1.4em;
	}
	.card .check_list li:last-child{
		margin-bottom:0px;
	}
	.card .check_list li span{
		font-size:14px;
		vertical-align: middle;
	}
/*point_box*/
	.point_box{
		position: relative;
		padding-bottom: 200px;
	}
	.section .point_box::after{
		position: absolute;
		content: "";
		background: url(img/point_pic.png) no-repeat;
		background-size: contain;
		width: 100px;
		height: 190px;
		right: 70px;
		bottom: 0;
		margin: 0 auto;
	}
	.section .point_txt{
		border-radius: 60px 60px 60px 60px/50% 50% 50% 50%;
		padding: 15px 40px;
		background: #fff;
		position: relative;
	}
	.section .point_txt::after{
		position: absolute;
		content: "";
		background: url(img/point_arrow.png);
		width: 77px;
		height: 20px;
		right: 36%;
		left: 0;
		margin: 0 auto;
		bottom: -20px;
	}
	.light_ttl{
		margin-bottom: 10px;
	}

/*---------- #section01 ----------*/
	.sad_list{
		width:95%;
		margin:10px auto;
		padding-left:5px;
	}
	.sad_list span{
		color: #398cda; 
		font-weight:bold;
	}
	.sad_list li{
		font-size: 17px;
		font-weight: bold;
		padding-left: 30px;
		line-height: 1.6em;
		margin-bottom:15px;
	  background: url(img/star.png) left 0px top 0px no-repeat;
	  background-size: 25px auto;
	}
	.white_box {
		width:100%;
		max-width:650px;
		background: url(img/card_bg02.jpg?04);
		border:2px solid #faf5c1;
		border-radius: 70px;
		padding: 55px 0;
		margin: 50px auto 40px;
		position: relative;
	}
	.white_box::before{
		position: absolute;
		content: "";
		background: url(img/point_pic04.png?09) no-repeat;
		width: 80px;
		height: 82px;
		background-size:85%;
		left:0px;
		top: -15px;
	}
	.white_box::after{
		position: absolute;
		content: "";
		background: url(img/point_pic03.png?02) no-repeat;
		width: 120px;
		height: 90px;
		background-size:85%;
		right:0px;
		bottom: -25px;
	}
	#section01{
		margin-top:10px;
	}
	#section01 .center-pic{
		margin-top: 30px;
	}
	#section01 .card {
		margin-bottom:30px!important;
	}
	#section01 .card .point_pic {
    width: 80px;
    height: auto;
	}
	#section01 .card .point_pic {}
	#section01 .card ul.check_list {
    text-align: left;
	}
	#section01 .flow{
		margin: 0 auto 70px;
		background: url(img/flow_bg.png?03);
		position: relative;
		padding: 20px 2% 20px;
	}
	/*#section01 .flow::after{
		position: absolute;
		content: "";
		width: 100%;
		height: 12px;
		top: -5px;
		left: 0;
		background: url(img/flow_border.png)left top repeat;
	}*/
	#section01 .flow .ttl{
		display:table;
		margin:0 auto 20px;
	}
	#section01 .flow .border_box{
		background: #fff;
		border: 2px solid #b7b8b7;
		border-radius: 5px;
		padding: 6% 2%;
	}
	#section01 .flow .right-pic{
		margin-bottom:12px;
	}
	#section01 .flow .border_box p span{
		display:block;
		font-size:1.2em;
		margin-bottom:3px;
		font-weight:bold;
		color:#398cda;
	}
	#section01 .flow .border_box img.right-pic{
		max-width:145px;
		margin:0 auto 15px;
	}
	.section h5{
		text-align: center;
		background: 
			url(img/h5_gb.png)left center repeat;
		margin: 10px auto 40px;
	}
	.s_n_flow .step{
		text-align:left;
	}
	.s_n_flow .step:last-child{
		margin-bottom:0;
	}
	.s_n_flow .content {
	  padding:14px 7px;
		line-height:1.4em;
	}
	.s_n_flow .label {
	align-self: flex-start; /* ラベルだけ上揃え */
	  letter-spacing:0.1em;
	}

}
/* スマホ表示
----------------------------*/