@charset "utf-8";
.inner {
    margin: 0 auto !important;
    padding-left: 60px !important;
    padding-right: 60px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.seo-message {
	width: calc(63% - 5px);
	font-size: 1.35rem;
}
/* ヘッダー等も同じ余白感にする場合 */
.header .inner,
.footer .inner,
.mainvisual .inner,
.seo-message_wrap {
    padding-left: 60px !important;
    padding-right: 60px !important;
}
img {
  max-width: 100%;
  height: auto;
}

section {
  text-align: center;
	background-color:#e4f4f8;
}
section:last-child {
  padding-bottom: 80px;
}
.cont {
  margin-bottom: 30px;
}
section .cont:last-child {
  /*    margin-bottom: 0;*/
}
.row {
  margin-bottom: 30px;
}
p,
li,
dt,
dd,
.txt {
  text-align: left;
}
.bold {
  font-weight: bold;
}
.indent {
  padding-left: 1em;
  text-indent: -1em;
}

/*緑*/
.color01 {
  color: #2c7039;
  font-weight: bold;
}
/*赤*/
.color02 {
  color: #f15024;
  font-weight: bold;
}
/*オレンジ*/
.color03 {
  color: #ec8d06;
  font-weight: bold;
}
/*赤02*/
.color04 {
  color: #fa3432;
  font-weight: bold;
}
/*青*/
.color05 {
  color: #1244a0;
  font-weight: bold;
}
/*ピンク*/
.color06 {
  color: #f054ac;
  font-weight: bold;
}
/*茶*/
.color07 {
  color: #770a1f;
  font-weight: bold;
}
/*水色*/
.color08 {
  color: #4db2db;
  font-weight: bold;
}

/*バナー*/
.bnr {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}
.bnr a:link {
  display: inline-block;
  color: #655d55;
  text-decoration: none;
}
.bnr a:visited {
  color: #655d55;
}
.bnr a:hover,
.bnr a:active {
  color: #79746f;
}
.bnr_0-akari-dc > .ttl {
  padding: 6px 20px;
  background-color: #7ebe33;
  border-radius: 20px 20px 0 0;
  text-align: center;
  color: #fff;
  margin-top: 20px;
}
.bnr_0-akari-dc > .address {
  padding: 20px;
  background-color: #fff;
  border: 2px solid #7ebe33;
  border-radius: 0 0 20px 20px;
  text-align: center;
}
.bnr_0-akari-dc > .address img {
  margin-bottom: 10px;
}
/*================================
ページタイトル
===============================*/
.page-title .word {
	background-image: url(img/page_ttl_icon.png);
}

.inner{
	margin:0 auto;
	padding:0;
}

/* For modern browsers */
.cf:before,
.cf:after {
	content:"";
	display:table;
}
.cf:after {
	clear:both;
}
/* For IE 6/7 (trigger hasLayout) */
.cf {
	zoom:1;
}
span.br_none{
	display: none;
}
* html .clearfix {
	height: 1px;
}

.both{
	clear:both;
}

.inline_block {  
	display: inline-block;  
	*display: inline;  
	*zoom: 1;  
}
.block{
	display: block;
}
.inner{
	margin:0 auto;
}
ul .last{
	margin-right:0 !important;
	margin-bottom:0 !important;
}
.cleartext {
	position: absolute;
    top: -500px;
}
.last {
    margin-right: 0 !important;
    margin-bottom: 0 !important;
}
.stretch{
	max-width:100%;
	height:auto;
}
.clear{
	clear:both;
}
.mb0{
	margin-bottom:0 !important;
}
.mb10{
	margin-bottom:10px !important;
}
.mb15{
	margin-bottom:15px !important;
}
.mb20{
	margin-bottom:20px !important;
}
.mb25{
	margin-bottom:25px !important;
}
.mb30{
	margin-bottom:30px !important;
}
.mb40{
	margin-bottom:40px !important;
}
.mb50{
	margin-bottom:50px !important;
}
.mb60{
	margin-bottom:60px !important;
}
.mb70{
	margin-bottom:70px !important;
}
.mb80{
	margin-bottom:80px !important;
}
.mb90{
	margin-bottom:90px !important;
}
.align-center{
	text-align: center !important;
}
.align-left{
	text-align: left !important;
}
.align-right{
	text-align: right !important;
}
.center{
	display: block;
	margin-left: auto;
	margin-right: auto;
}

section{
	text-align:center;
}
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;
}

h5 span {
    display: inline-block;
    position: relative;
    padding: 0 100px; 
}

h5 span img {
    display: block;
    width: 100%;
    max-width: 440px; 
    height: auto;
    margin: 0 auto;
}

/* PC表示
-----------------------------*/
@media screen and (min-width:834px) {
	.widthfix {
		width:100%;
		box-sizing: border-box;
	}
	.right{
		float:right;
	}
	.left{
		float:left;
	}
	.right-pic{
		float:right;
		margin-left: 30px;
	}
	.left-pic{
		float:left;
		margin-right: 30px;
	}
	.pc-none{
		display:none !important;
	}
	.sp-none{
		display:block;
	}
	.pc-center{
		display: block;
		margin-left: auto;
		margin-right: auto;
	}
	/* ページ内ナビ */
	.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: 540px;
		margin:30px auto;
		/* padding-left:15px; */
	}
	.sad_list li{
		font-size: 18px;
		font-weight: bold;
		padding-left: 30px;
		line-height: 1.5em;
		margin-bottom:12px;
	  background: url(img/star.png) left 0px top 0px no-repeat;
	  background-size: 25px auto;
	}
	.card_ttl img{
		/* margin-bottom:20px!important; */
	}
	.sad_list p{
		line-height: 1.4em;
		padding-left:1.2em;
		text-indent:-1.2em;
	}
	.white_box {
		width:100%;
		max-width:700px;
		background: url(img/card_bg02.jpg?04);
		border:2px solid #faf5c1;
		border-radius: 120px;	
		padding: 20px 0;
		margin: 30px auto 65px;
		position: relative;
	}
	.white_box::before{
		position: absolute;
		content: "";
		background: url(img/point_pic04.png?09) no-repeat;
		width: 80px;
		height: 82px;
		left:115px;
		top: 10px;
	}
	.white_box::after{
		position: absolute;
		content: "";
		background: url(img/point_pic03.png?02) no-repeat;
		width: 120px;
		height: 90px;
		right:60px;
		bottom: -30px;
	}
	.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:40px auto 0;
	}
	.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 25px;
		margin:40px auto 20px!important;
	}
	.section01 .flow .border_box .txt p span.sttl{
		display:block;
		font-size:1.2em;
		margin-bottom:3px;
		font-weight:bold;
		color:#398cda;
	}
	.section01 .flow .border_box .time .box {
		display:table;
		font-size:1.05em;
		margin:10px;
		padding:7px 30px 9px;
		background-color:#ebf7fa;
		font-weight:bold;
		color:#39afda;
	}
	.section01 .flow .border_box .time .box .sttl {
		display:block;
		font-size:1.05em;
		margin-bottom:px;
		font-weight:bold;
		color:#39afda;
		border-bottom:2px dotted;
	}
	.section01 .flow .border_box .time .hosoku {
		display:block;
		padding-left:1em;
		text-indent:-1em;
		line-height:1.2em;
		font-size:small;
		margin-top:15px;
	}
	.section01 .flow .border_box img.right-pic{
		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;
	}
}

/*================================
TABLET縦 834px～0px
================================*/
@media (max-width: 834px) {
    .page-title .word {
		font-size:4.5rem;
	}
	
	h5 span {
        padding: 0 60px;
    }
    h5 span::before,
    h5 span::after {
        width: 50px;
        height: 50px;
    }
	
	.pc-none{
		display:block;
	}
	.sp-none{
		display:none !important;
	}

	.seo-message {
		width: calc(55% - 10px)!important;
	}
	
	h1 {
		/* display: none; */
	}

	.hd_logo_img {
	margin-top:30px;	
	}
	
	.sp-center{
		display: block;
		margin-left: auto;
		margin-right: auto;
	}
	/* ページ内ナビ */
	.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;
	}
	.page-title .word {
		/* font-size:3rem!important; */
	}

.mainvisual .inner{
    padding-left: 10px !important;
    padding-right: 10px !important;
}

	  section .inner.widthfix.cf {
    /*		width: 92%;*/
    margin: 0 auto;
  }
  .inner {
    padding-left: 5% !important;
    padding-right: 5% !important;
  }
	.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:90%;
		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.5em;
		margin-bottom:12px;
	  background: url(img/star.png) left 0px top 0px no-repeat;
	  background-size: 25px auto;
	}
	.sad_list p{
		line-height: 1.4em;
		padding-left:1.2em;
		text-indent:-1.2em;
	}
	.sad_list p.card_ttl{
		padding-left:0em;
	}
	.white_box {
		width:100%;
		max-width:650px;
		background: url(img/card_bg02.jpg?04);
		border:2px solid #faf5c1;
		border-radius: 70px;
		padding: 40px 0;
		margin: 30px auto 65px;
		position: relative;
	}
	.white_box::before{
		position: absolute;
		content: "";
		background: url(img/point_pic04.png?09) no-repeat;
		width: 110px;
		height: 112.75px;
		background-size:90%;
		left:40px;
		top: -60px;
	}
	.white_box::after{
		position: absolute;
		content: "";
		background: url(img/point_pic03.png?02) no-repeat;
		width: 120px;
		height: 90px;
		background-size:100%;
		right:0px;
		bottom: -40px;
	}
	.sp_mb{
		margin-bottom:30px;	
	}
	.sec01_box .center-pic{
		margin-top: 0px!important;
	}
	.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: 30px 2% 30px;
	}
	/*.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: 3% 2% 3.5%;
	}
	.section01 .flow .right-pic{
		display:table;
		margin:0 auto 12px;
	}
	.section01 .flow .border_box .txt span.sttl{
		display:block;
		font-size:1.2em;
		margin-bottom:15px;
		font-weight:bold;
		color:#398cda;
		text-align:center;
	}
		.section01 .flow .border_box .time .box {
		display:table;
		font-size:1.05em;
		margin:10px auto;
		padding:7px 30px 9px;
		background-color:#ebf7fa;
		font-weight:bold;
		color:#39afda;
	}
	.section01 .flow .border_box .time .box .sttl {
		display:block;
		font-size:1.05em;
		margin-bottom:px;
		text-align:center;
		font-weight:bold;
		color:#39afda;
		border-bottom:2px dotted;
	}
	.section01 .flow .border_box .time .hosoku {
		text-align:center;
		padding-left:1em;
		text-indent:-1em;
		line-height:1.2em;
		font-size:small;
	}
	.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;
	}

}
@media screen and (max-width: 600px) {
	.section01 .flow .border_box .time .hosoku {
		text-align:left;
		letter-spacing:0.04em;
	}
}
/*================================
SP表示 480px～0px
================================*/
@media (max-width: 480px) {
	.page-title .word {
		min-height: 50px;
		padding: 4px 22px 4px 66px;
		font-size: 3.2rem;
		background-size: 50px;
		background-position: left 6px center;
	}
	.hd_logo_img {
		margin-top:0px;	
	}
	h5 span {
        padding: 0 10px;
    }
	.sad_list{
		width:95%;
	}
	.sad_list span{
		letter-spacing:0em;
	}
	.white_box::before{
		position: absolute;
		content: "";
		background: url(img/point_pic04.png?09) no-repeat;
		width: 80px;
		height: 82px;
		background-size:100%;
		left:0px;
		top: -40px;
	}
	.white_box::after{
		bottom: -50px;
	}
	.section01 .flow .border_box{
		background: #fff;
		border: 2px solid #b7b8b7;
		border-radius: 5px;
		padding: 6% 2% 8%;
	}
	.header .inner {
		padding: 10px 100px 10px 20px!important;
	}
	.footer .inner {
		padding:0 20px!important;
	}
}
