@charset "utf-8";

@media only screen and (min-width:769px){
	/*---	共通 ---
	---------------------------------------------*/
	#main_div{
		width: 100%;
		margin: 0 auto;
	}
	#top_div{
		margin-bottom: 0;
	}
	#sub_slide{
		padding: 40px 0 50px;
		text-align: center;
	}
	#sub_slide h2{
		width: 1080px;
		margin: 0 auto;
		text-align: center;
		color: #ffffff;
		background-color: rgb(0, 0, 0, 0.3);
		border: 1px solid #ffffff;
		border-radius: 10px;
		font-size: 2.6rem;
		line-height: 35px;
		text-indent: 3px;
		letter-spacing: 3px;
		padding: 20px 0;
	}
	#main_div figure{
		text-align: center;
	}

	/*---	固有 ---
	---------------------------------------------*/
	#main_sec{
		width: 820px;
		background-color: rgba(0, 0, 0, 0.3);
		padding: 80px 40px 0;
		margin: 0 auto;
	}
	.cate_box{
		padding: 20px 0 40px;
	}
	.cate_box .box_title1{
		display: inline-block;
		color: #ffffff;
		font-size: 2.0rem;
		font-weight: bold;
		letter-spacing: 1px;
		border-bottom: 1px solid #ffffff;
		padding: 0 10px;
	}
	.cate_box .box_img1{
		margin: 40px 0;
	}
	.cate_box .box_txt1{
		color: #ffffff;
		font-size: 1.4rem;
		line-height: 180%;
		letter-spacing: 0.5px;
		padding: 0 40px 0 20px;
	}
	.cate_box .f_bold{
		font-size: 1.5rem;
		font-weight: bold;
	}
	.cate_box .sec{
		margin: 30px 0 20px;
	}
	.cate_box .box_sub_title1{
		color: #ffffff;
		font-size: 1.7rem;
		font-weight: bold;
		border-left: 2px solid #ffffff;
		padding: 0 40px 0 10px;
		margin: 0 0 15px 10px;
	}
	.cate_box .box_list{
		padding: 0 100px 15px 40px;
	}
	.cate_box .flow{
		padding: 0 100px 15px 10px;
	}
	.cate_box ul.box_list li{
		color: #ffffff;
		font-size: 1.4rem;
		padding: 0 0 8px 26px;
		background-image: url(../images/check1.png);
		background-position: left top;
		background-repeat: no-repeat;
	}
	.cate_box ol.box_list li{
		color: #ffffff;
		font-size: 1.4rem;
		padding: 0 0 0 5px;
		margin: 0 0 8px 26px;
		list-style: decimal;
	}
	.cate_box ol.flow li{
		position: relative;
		border-top: 2px solid #e0cdb2;
		list-style: none;
		color: #4D4D4D;
		background: #fdf6c8;
		background: -moz-linear-gradient(top,  #fffbe2 0%, #fafafa 80%);
		background: -webkit-linear-gradient(top,  #fffbe2 0%,#fafafa 80%);
		background: -ms-linear-gradient(top,  #fffbe2 0%,#fafafa 80%); 
		background: linear-gradient(to bottom,  #fffbe2 0%,#fafafa 80%);
		padding: 50px 15px 20px;
		margin: 0 0 18px 26px;
	}
	.step {
    display: inline-block;
    position: absolute;
    left: 0;
    top: 5px;
    box-sizing: border-box;
    padding: 0 12px;
    margin: 0;
    height: 30px;
    line-height: 30px;
    font-size: 1.6rem;
    letter-spacing: 0.1em;
    color: white;
    background: #0B420D;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.12);
	}
	.step:before {
    position: absolute;
    content: '';
    top: 0;
    left: -7px;
    border: none;
    height: 38px;
    width: 7px;
    background: #0B420D;
    border-radius: 5px 0 0 5px;
	}
	.step:after {
    position: absolute;
    content: '';
    bottom: -7px;
    left: -5px;
    border: none;
    height: 7px;
    width: 5px;
    background: #46821A;
    border-radius: 5px 0 0 5px;
	}
	.cate_box ol.flow li .table{
		padding: 10px 0;
	}
	.cate_box ol.flow li .table figure{
		display: table-cell;
		width: 200px;
		vertical-align: middle;
		text-align: left;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	.cate_box ol.flow li .table figure img{
		width: 100%;
	}
	.cate_box ol.flow li .table p{
		display: table-cell;
		vertical-align: top;
		text-align: left;
		padding: 20px 0 0 10px;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	.cate_box h5{
		color: #ffffff;
		font-size: 1.6rem;
		font-weight: bold;
		padding: 0 40px 0 20px;
	}
	.table{
		width: 90%;
		display: table;
		table-layout: fixed;
	}
	.table .cell{
		display: table-cell;
		vertical-align: middle;
		text-align: left;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	.table figure.cell{
		width: 24%;
	}
	.table figure.cell img{
		width: 100%;
	}
	.tumuji_ba{
		padding: 10px 0 10px;
	}
	.tumuji_ba figcaption{
		color: #ffffff;
		text-align: center;
		font-size: 1.6rem;
		padding: 10px 0 0 0;
	}
}

@media only screen and (max-width : 768px ){
	/*---	共通 ---
	---------------------------------------------*/
	#main_div{
		width: 100%;
		background-color: rgba(0, 0, 0, 0.3);
		margin: 0 auto;
	}
	.slide_bg{
		padding: 5px 0;
		background-image: url(../images/stripe.png), url(../images/stripe.png);
		background-position: left top, left bottom;
		background-repeat: repeat-x ,repeat-x;
		background-size: auto 5px, auto 5px;
	}
	#sub_slide{
		padding: 20px 0 20px;
		background-color: rgb(0, 0, 0, 0.3);
		text-align: center;
	}
	#sub_slide h2{
		margin: 0 auto;
		text-align: center;
		color: #ffffff;
		font-size: 2.0rem;
		line-height: 35px;
		text-indent: 3px;
		letter-spacing: 3px;
	}
	#main_div figure{
		text-align: center;
	}
	
	/*---	固有 ---
	---------------------------------------------*/
	#main_sec{
		width: 90%;
		padding: 60px 0 20px;
		margin: 0 auto;
	}
	.cate_box{
		text-align: center;
		padding: 0 0 40px;
	}
	.cate_box .box_title1{
		display: inline-block;
		color: #ffffff;
		font-size: 1.8rem;
		font-weight: bold;
		letter-spacing: 1px;
		border-bottom: 1px solid #ffffff;
		padding: 0 10px;
	}
	.cate_box .box_img1{
		margin: 40px 0;
	}
	.cate_box .box_img1 img{
		max-width: 580px;
		width: 96%;
	}
	.cate_box .box_txt1{
		color: #ffffff;
		text-align: left;
		font-size: 1.3rem;
		line-height: 180%;
		letter-spacing: 0.5px;
		padding: 0 0;
	}
	.cate_box .f_bold{
		font-size: 1.4rem;
		font-weight: bold;
	}
	.cate_box .sec{
		margin: 30px 0 20px;
	}
	.cate_box .box_sub_title1{
		text-align: left;
		color: #ffffff;
		font-size: 1.5rem;
		font-weight: bold;
		border-left: 2px solid #ffffff;
		padding: 0 0 0 10px;
		margin: 0 0 15px 0;
	}
	.cate_box .box_list{
		text-align: left;
		padding: 0 0 15px 10px;
	}
	.cate_box .flow{
		padding: 0 0 15px 10px;
	}
	.cate_box ul.box_list li{
		color: #ffffff;
		font-size: 1.3rem;
		padding: 0 0 8px 26px;
		background-image: url(../images/check1.png);
		background-position: left top;
		background-repeat: no-repeat;
	}
	.cate_box ol.box_list li{
		color: #ffffff;
		font-size: 1.2rem;
		padding: 0 0 0 5px;
		margin: 0 0 8px 0;
		list-style: decimal;
	}
	.cate_box ol.flow li{
		position: relative;
		line-height: 180%;
		border-top: 2px solid #e0cdb2;
		list-style: none;
		color: #4D4D4D;
		background: #fdf6c8;
		background: -moz-linear-gradient(top,  #fffbe2 0%, #fafafa 80%);
		background: -webkit-linear-gradient(top,  #fffbe2 0%,#fafafa 80%);
		background: -ms-linear-gradient(top,  #fffbe2 0%,#fafafa 80%); 
		background: linear-gradient(to bottom,  #fffbe2 0%,#fafafa 80%);
		padding: 50px 15px 20px;
		margin: 0 0 18px 0;
	}
	.step {
    display: inline-block;
    position: absolute;
    left: 0;
    top: 5px;
    box-sizing: border-box;
    padding: 0 12px;
    margin: 0;
    height: 30px;
    line-height: 30px;
    font-size: 1.6rem;
    letter-spacing: 0.1em;
    color: white;
    background: #0B420D;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.12);
	}
	.step:before {
    position: absolute;
    content: '';
    top: 0;
    left: -7px;
    border: none;
    height: 38px;
    width: 7px;
    background: #0B420D;
    border-radius: 5px 0 0 5px;
	}
	.step:after {
    position: absolute;
    content: '';
    bottom: -7px;
    left: -5px;
    border: none;
    height: 7px;
    width: 5px;
    background: #46821A;
    border-radius: 5px 0 0 5px;
	}
	.cate_box ol.flow li .table{
		padding: 10px 0;
	}
	.cate_box ol.flow li .table figure{
		max-width: 300px;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	.cate_box ol.flow li .table figure img{
		width: 100%;
	}
	.cate_box ol.flow li .table p{
		text-align: left;
		padding: 20px 0 0 10px;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	.cate_box h5{
		color: #ffffff;
		text-align: left;
		font-size: 1.4rem;
		font-weight: bold;
	}
	.table{
		width: 100%;
		display: block;
	}
	.table .cell{
		display: block;
		text-align: left;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	.table figure.cell{
		width: 60%;
		margin: 0 auto 10px;
	}
	.table figure.cell img{
		max-width: 280px;
		width: 100%;
	}
	.tumuji_ba{
		padding: 10px 0 0;
	}
	.tumuji_ba figcaption{
		color: #ffffff;
		text-align: center;
		font-size: 1.6rem;
		padding: 5px 0 10px 0;
	}
}

@media only screen and (max-width : 420px ){
	
}