/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

		ベース用

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
/****************************************************************************************************************************
		共通
****************************************************************************************************************************/
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
/*-------------------------------------------------------------------------------------------
	初期設定
-------------------------------------------------------------------------------------------*/
html{
	margin: 0;
	padding: 0;
	width: 100%;
}

body{
	font-family:'Noto Sans JP', -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI","Noto Sans Japanese","ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
	font-weight:300;
	font-weight: normal;
	color: #333;
	font-size: 15px;
	letter-spacing: 0.1em;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	position: relative;
	background-color: #fff;
}

*{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}

img{
	width: 100%;
}

p{
	margin: 0;
	padding: 0;
	word-break: break-all;
}

ul{
	margin: 0;
	padding: 0;
}

li{
	margin: 0;
	padding: 0;
	list-style-type: none;
}

a{
	color: #dd3264;
	text-decoration: none;
	word-break: break-all;
	/*-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	transition: all  0.5s ease;*/
}

@media screen and (min-width: 920px){
	a:hover{
		color: #ee0046;
		/*-webkit-transition: all 0.5s ease;
		-moz-transition: all 0.5s ease;
		transition: all  0.5s ease;*/
	}
}


h1{
	text-align: center;
	letter-spacing: 0.2em;
	font-size: 30px;
	line-height: 1.5em;
	color: #4c4645;
	margin: 0;
}

h2{
	text-align: center;
	letter-spacing: 0.2em;
	font-size: 30px;
	line-height: 1.9em;
	color: #4c4645;
}

input,textarea{
	margin: 0;
	padding: 0;
	-webkit-appearance: none;
	border-radius: 0;
	background-color: transparent;
	background-color: initial;
}

.w1200{
	width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

.w900{
	width: 900px;
	margin-left: auto;
	margin-right: auto;
}

@media screen and (max-width: 1220px){
	.w1200{
		width: 100%;
		padding-left: 10px;
		padding-right: 10px;
	}
}

@media screen and (max-width: 920px){
	.w900{
		width: 100%;
		padding-left: 10px;
		padding-right: 10px;
	}
}

@media screen and (max-width: 640px) {

}


/******************************************************************************************
		ヘッダー
******************************************************************************************/
header{
	display: block;
}

header .in_head{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

header .in_head .logoArea{
}

header .in_head .logoArea a{
	display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
	-webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
	font-size: 25px;
	letter-spacing: 0.1em;
	color: #333;
	line-height: 1.7em;
	font-weight: normal;
	padding: 0 20px;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}

header .in_head .logoArea .iconArea{
	width: 40px;
	margin-right: 8px;
}

header .in_head .logoArea .iconArea img{
	display: block;
	width: 100%;
}

header .in_head .logoArea p{
	display: inline-block;
	font-size: 25px;
	letter-spacing: 0.1em;
	color: #333;
	line-height: 1.7em;
	font-weight: normal;
	-webkit-box-flex: 3;
  -ms-flex-positive: 3;
  flex-grow: 3;
}

header .in_head .logoArea a h1{
	display: inline-block;
	font-size: 25px;
	letter-spacing: 0.1em;
	color: #333;
	line-height: 1.7em;
	font-weight: normal;
	-webkit-box-flex: 3;
  -ms-flex-positive: 3;
  flex-grow: 3;
}

header .in_head .logoArea a p{
	display: inline-block;
	font-size: 25px;
	letter-spacing: 0.1em;
	color: #333;
	line-height: 1.7em;
	font-weight: normal;
	-webkit-box-flex: 3;
  -ms-flex-positive: 3;
  flex-grow: 3;
}

header .in_head .navArea{
}

header .in_head .navArea .navhead{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

header .in_head .navArea .navhead ul{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

header .in_head .navArea .navhead li{
}

header .in_head .navArea .navhead li a{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 0px 20px;
	font-size: 14px;
	letter-spacing: 0.3em;
	background-color: #72e2a4;
	font-weight: bold;
	color: #333;
	position: relative;
	height: 35px;
}

header .in_head .navArea .navhead li a .fa{
	display: block;
	font-size: 14px;
	padding-right: 3px;
	line-height: 1.3em;
	position: relative;
	bottom:-1px;
}

header .in_head .navArea .navhead li a:before{
	content: '';
	width: 1px;
	height: 60%;
	position: absolute;
	top:0;
	left: 0;
	right:auto;
	bottom:0;
	margin: auto;
	background-color: #666;
}

header .in_head .navArea .navhead li:nth-child(1) a:before{
	display: none;
}

header .in_head .navArea .navhead .trigger{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 35px;
	height: 35px;
	margin-left: 10px;
	cursor:pointer;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}

header .in_head .navArea .navhead .trigger p{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 23px;
	height: 17px;
	position: relative;
}

header .in_head .navArea .navhead .trigger span{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
	height: 1px;
	background-color: #333;
}

header .in_head .navArea .navhead .trigger span:before{
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	background-color: #333;
	position: absolute;
	top:0;
	left: 0;
	right:0;
	bottom:auto;
	margin: auto;
	z-index: 1;
}

header .in_head .navArea .navhead .trigger span:after{
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	background-color: #333;
	position: absolute;
	top:auto;
	left: 0;
	right:0;
	bottom:0;
	margin: auto;
	z-index: 1;
}

header .in_head .navArea .navbottom{
}

header .in_head .navArea .navbottom ul{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

header .in_head .navArea .navbottom li{
	position: relative;
	padding-left: 80px;
}

header .in_head .navArea .navbottom li:nth-child(1){
	padding-left: 0px;
}

header .in_head .navArea .navbottom li:before{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	content: '／';
	position: absolute;
	top:0;
	left: 30px;
	right:auto;
	bottom:0;
	margin: auto;
	font-size: 20px;
	color: #ccc;
}

header .in_head .navArea .navbottom li:nth-child(1):before{
	display: none;
}

header .in_head .navArea .navbottom li a{
	display: block;
	padding: 15px 0px;
	font-size: 15px;
	letter-spacing: 0.2em;
	color: #333;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}

@media screen and (min-width: 920px){
	/* hover */
	header .in_head .logoArea a:hover{
		opacity: 0.5;
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
	}

	header .in_head .navArea .navhead .trigger:hover{
		background-color: #333;
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
	}
	header .in_head .navArea .navhead .trigger:hover span{
		background-color: #fff;
	}
	header .in_head .navArea .navhead .trigger:hover span:before{
		background-color: #fff;
	}
	header .in_head .navArea .navhead .trigger:hover span:after{
		background-color: #fff;
	}

	header .in_head .navArea .navbottom li a:hover{
		position: relative;
		opacity: 0.5;
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
	}

	header .in_head .navArea .navbottom li a:hover:before{
		content: '';
		display: block;
		width: 100%;
		height: 3px;
		background-color: #72e2a4;
		position: absolute;
		top:auto;
		left: 0;
		right:0;
		bottom:0;
		margin: auto;
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
	}
}

@media screen and (max-width: 1220px){
	header .in_head .logoArea a{
		padding: 0 0px;
	}
	header .in_head .navArea .navbottom li{
		padding-left: 50px;
	}
	header .in_head .navArea .navbottom li:before{
		left: 10px;
	}
	header .in_head .navArea .navbottom li a{
		padding: 15px 0px;
		font-size: 14px;
		letter-spacing: 0.1em;
	}
}
@media screen and (max-width: 1000px){
	header .in_head{
		padding-top: 20px;
		padding-bottom: 20px;
	}
	header .in_head .navArea .navbottom{
		display: none;
	}
}
@media screen and (max-width: 800px){
	header .in_head{
		padding-top: 15px;
		padding-bottom: 15px;
	}
	header .in_head .logoArea{
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		height: 35px;
	}
	header .in_head .logoArea a{
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}
	header .in_head .logoArea a h1{
		font-size: 20px;
	}
	header .in_head .logoArea a p{
		font-size: 20px;
	}
	header .in_head .navArea .navhead ul{
		display: none;
	}
}
@media screen and (max-width: 500px){
	header .in_head{
		padding-top: 10px;
		padding-bottom: 10px;
	}
	header .in_head .logoArea .iconArea{
		display: none;
	}
	header .in_head .logoArea a h1{
		font-size: 18px;
	}
	header .in_head .logoArea a p{
		font-size: 18px;
	}
}
@media screen and (max-width: 400px){
	header .in_head .logoArea a h1{
		font-size: 16px;
	}
	header .in_head .logoArea a p{
		font-size: 16px;
	}
}
@media screen and (max-width: 340px){
	header .in_head .logoArea a h1{
		font-size: 15px;
		letter-spacing: 0;
	}
	header .in_head .logoArea a p{
		font-size: 15px;
		letter-spacing: 0;
	}
}
@media screen and (max-width: 300px){
	header .in_head .logoArea a h1{
		font-size: 14px;
		letter-spacing: 0;
	}
	header .in_head .logoArea a p{
		font-size: 14px;
		letter-spacing: 0;
	}
}


/******************************************************************************************
		サイドナビ
******************************************************************************************/
.sideNavi{
	display: block;
	width: 400px;
	height: 100%;
	background-color: #fff;
	position: fixed;
	top: 0;
	left: auto;
	right:0;
	z-index: 10000;
	overflow: hidden;
	-moz-transform: translate(417px, 0);
	-webkit-transform: translate(417px, 0);
	-o-transform: translate(417px, 0);
	-ms-transform: translate(417px, 0);
	transform: translate(417px, 0);
	-moz-transition: all 0.5s ease-in-out;
	-webkit-transition: all 0.5s ease-in-out;
	-o-transition: all 0.5s ease-in-out;
	-ms-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;
}

.sideNavi.on{
	-moz-transform: translate(0px, 0);
	-webkit-transform: translate(0px, 0);
	-o-transform: translate(0px, 0);
	-ms-transform: translate(0px, 0);
	transform: translate(0px, 0);
	-moz-transition: all 0.5s ease-in-out;
	-webkit-transition: all 0.5s ease-in-out;
	-o-transition: all 0.5s ease-in-out;
	-ms-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;
}

.sideNavi .sideNavi_in{
	width: 417px;
	height: 100%;
	overflow-y: scroll;
}

.sideNavi .sideNavi_in .sideNavi_box{
}

.sideNavi .sideNavi_in .sideNavi_box .sideNavi_title{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	height: 60px;
	font-size: 18px;
	letter-spacing: 0.2em;
	padding: 0 0 0 15px;
}

.sideNavi .sideNavi_in .sideNavi_box .sideNavi_title p{
	flex: 1;
}

.sideNavi .sideNavi_in .sideNavi_box .sideNavi_title .close_btn{
	width: 60px;
	height: 60px;
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	cursor:pointer;
}

.sideNavi .sideNavi_in .sideNavi_box .sideNavi_title .close_btn span{
	width: 25px;
	height: 25px;
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-moz-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.sideNavi .sideNavi_in .sideNavi_box .sideNavi_title .close_btn span:before{
	content: '';
	display: block;
	width: 25px;
	height: 1px;
	background-color: #333;
	position: absolute;
	top:0;
	left: 0;
	right:0;
	bottom:0;
	margin: auto;
}

.sideNavi .sideNavi_in .sideNavi_box .sideNavi_title .close_btn span:after{
	content: '';
	display: block;
	width: 1px;
	height: 25px;
	background-color: #333;
	position: absolute;
	top:0;
	left: 0;
	right:0;
	bottom:0;
	margin: auto;
}

.sideNavi .sideNavi_in .sideNavi_box .menu{
	border-top: solid 1px #ddd;
}

.sideNavi .sideNavi_in .sideNavi_box .menu li{
	display: block;
}

.sideNavi .sideNavi_in .sideNavi_box .menu li a{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	height: 50px;
	border-bottom: dashed 1px #ddd;
	padding: 0 40px 0 15px;
	color: #333;
	font-size: 15px;
	position: relative;
	font-weight: normal;
}

.sideNavi .sideNavi_in .sideNavi_box .menu li a:after{
	font-family: fontawesome;
	content: '\f105';
	font-size: 20px;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	width: 20px;
	height: 20px;
	position: absolute;
	top: 0;
	left: auto;
	right: 10px;
	bottom: 0;
	margin: auto;
	color: #72e2a4;
	font-weight: normal;
}

/* sub-menu */
.sideNavi .sideNavi_in .sideNavi_box .menu li ul.sub-menu{

}

.sideNavi .sideNavi_in .sideNavi_box .menu li ul.sub-menu li{

}

.sideNavi .sideNavi_in .sideNavi_box .menu li ul.sub-menu li a{
	padding-left: 35px;
}

.sideNavi .sideNavi_in .sideNavi_box .menu li ul.sub-menu li a:before{
	display: block;
	content: '';
	width: 12px;
	height: 2px;
	position: absolute;
	top:0;
	left: 15px;
	right:auto;
	bottom:0;
	margin: auto;
	background-color: #72e2a4;
}

.sideNavi .sideNavi_in .sideNavi_box .menu li.on a{
	background-color: #38bbd3;
	color: #fff;
}

.sideNavi .sideNavi_in .sideNavi_box .menu li.on a:after{
	display: none;
}

.sideNavi .sideNavi_in .sideNavi_box .sideNavi_bottom{
	background-color: #72e2a4;
	padding: 30px 10px;
}

.sideNavi .sideNavi_in .sideNavi_box .sideNavi_bottom .title{
	text-align: center;
	font-size: 18px;
}

.sideNavi .sideNavi_in .sideNavi_box .sideNavi_bottom .copyArea{
	text-align: center;
}

.sideNavi .sideNavi_in .sideNavi_box .sideNavi_bottom .copyArea a{
	display: inline-block;
	color: #888;
	font-size: 12px;
}

.sideNavi_bg{
	display: none;
	position: fixed;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 9999;
	background-color: rgba(0,0,0,0.4);
	cursor:pointer;
}

@media screen and (max-width: 920px){
	.sideNavi{
		width: 300px;
		-moz-transform: translate(317px, 0);
		-webkit-transform: translate(317px, 0);
		-o-transform: translate(317px, 0);
		-ms-transform: translate(317px, 0);
		transform: translate(317px, 0);
	}
	.sideNavi .sideNavi_in{
		width: 317px;
	}
	.sideNavi .sideNavi_in .sideNavi_box .menu li a:after{
		right: 30px;
	}
	.sideNavi .sideNavi_in .sideNavi_box .sideNavi_title .close_btn{
		margin-right: 15px;
	}
	.sideNavi .sideNavi_in .sideNavi_box .sideNavi_bottom .title{
		font-size: 15px;
	}
	.sideNavi .sideNavi_in .sideNavi_box .sideNavi_bottom .copyArea a{
		font-size: 10px;
	}
}




@media screen and (min-width: 920px){
	/* hover */
	.sideNavi .sideNavi_in .sideNavi_box .menu li a:hover{
		background-color: #72e2a4;
		color: #333;
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
	}
	.sideNavi .sideNavi_in .sideNavi_box .menu li a:hover:after{
		color: #fff;
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
	}
	.sideNavi .sideNavi_in .sideNavi_box .menu li ul.sub-menu li a:hover:before{
		background-color: #fff;
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
	}
}

/******************************************************************************************
		フッター
******************************************************************************************/
footer{
	display: block;
}

footer .foot_in{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding-top: 30px;
	padding-bottom: 30px;
}

footer .foot_in .logoArea{
}

footer .foot_in .logoArea a{
	display: inline-block;
	font-size: 20px;
	color: #333;
	letter-spacing: 0.1em;
	padding: 10px 20px;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}

footer .foot_in .infoArea{
	flex: 1;
}

footer .foot_in .infoArea .navhead{
}

footer .foot_in .infoArea .navhead ul{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

footer .foot_in .infoArea .navhead li{
	position: relative;
	padding-left: 60px;
}

footer .foot_in .infoArea .navhead li:nth-child(1){
	padding-left: 0px;
}

footer .foot_in .infoArea .navhead li:before{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	content: '／';
	position: absolute;
	top:0;
	left: 20px;
	right:auto;
	bottom:0;
	margin: auto;
	font-size: 20px;
	color: #ccc;
}

footer .foot_in .infoArea .navhead li:nth-child(1):before{
	display: none;
}

footer .foot_in .infoArea .navhead li a{
	display: block;
	padding: 15px 0px;
	font-size: 15px;
	letter-spacing: 0.2em;
	color: #333;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}

footer .foot_in .infoArea .navbottom{
}

footer .foot_in .infoArea .navbottom ul{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

footer .foot_in .infoArea .navbottom li{
	margin-left: 10px;
}

footer .foot_in .infoArea .navbottom li:nth-child(1){
	margin-left: 0px;
}

footer .foot_in .infoArea .navbottom li a{
	display: block;
	background-color: #f7f7f7;
	color: #666;
	padding: 5px 10px;
	font-size: 13px;
	letter-spacing: 0.1em;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}

footer .foot_in .infoArea .navbottom li a .fa{
	padding-right: 5px;
}

/* page-top */
#page-top{
	width: 50px;
	height: 50px;
	position: fixed;
	top: auto;
	left: auto;
	right:10px;
	bottom:10px;
	margin: auto;
	background-color: #333;
	z-index: 1000;
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	overflow: hidden;
}

#page-top a{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	overflow: hidden;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}

#page-top a:before{
	content: '';
	display: block;
	width: 15px;
	height: 1px;
	position: absolute;
	top: 0;
	left: -10px;
	right:0;
	bottom:0;
	margin: auto;
	background-color: #fff;
	-moz-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

#page-top a:after{
	content: '';
	display: block;
	width: 15px;
	height: 1px;
	position: absolute;
	top: 0;
	left: 0;
	right:-10px;
	bottom:0;
	margin: auto;
	background-color: #fff;
	-moz-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

/* copy */
footer .copy{
	text-align: center;
	padding: 5px 0;
}

footer .copy a{
	display: inline-block;
	font-size: 10px;
	letter-spacing: 0.2em;
	font-weight: normal;
	color: #aaa;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}

@media screen and (min-width: 920px){
	/* hover */
	footer .foot_in .logoArea a:hover{
		opacity: 0.5;
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
	}
	footer .foot_in .infoArea .navhead li a:hover{
		opacity: 0.5;
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
	}
	footer .foot_in .infoArea .navbottom li a:hover{
		background-color: #72e2a4;
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
	}
	#page-top a:hover{
		opacity: 0.5;
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
	}
	footer .copy a:hover{
		opacity: 0.5;
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
	}
}

@media screen and (max-width: 1220px){
	footer .foot_in .logoArea a{
		padding: 10px 0px;
	}
}
@media screen and (max-width: 1000px){
	footer .foot_in{
		display: block;
		padding-top: 30px;
    padding-bottom: 0px;
	}
	footer .foot_in .logoArea{
		text-align: center;
	}
	footer .foot_in .infoArea .navhead ul{
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
	footer .foot_in .infoArea .navhead li{
		position: relative;
		padding-left: 40px;
	}
	footer .foot_in .infoArea .navhead li:before{
		left: 10px;
		font-size: 15px;
	}
	footer .foot_in .infoArea .navhead li a{
		padding: 15px 0px;
		font-size: 14px;
		letter-spacing: 0.1em;
	}
	footer .foot_in .infoArea .navbottom ul{
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
	footer .foot_in .infoArea .navbottom li a{
		padding: 5px 5px;
		width: 180px;
		text-align: center;
	}
}
@media screen and (max-width: 640px){
	#page-top{
		width: 40px;
		height: 40px;
	}
	#page-top a{
		width: 40px;
		height: 40px;
	}
}
@media screen and (max-width: 500px){
	footer .foot_in{
		display: block;
		padding-top: 10px;
    padding-bottom: 0px;
	}
	footer .foot_in .logoArea {
		padding-bottom: 5px;
	}
	footer .foot_in .logoArea a{
		font-size: 16px;
	}
	footer .foot_in .infoArea .navhead ul{
		display: none;
	}
	footer .foot_in .infoArea .navbottom li{
		margin-left: 5px;
	}
	footer .foot_in .infoArea .navbottom li:nth-child(1){
		margin-left: 0px;
	}
	footer .foot_in .infoArea .navbottom li a{
		font-size: 12px;
		letter-spacing: 0;
		width: 160px;
		padding: 8px 5px;
	}
}
@media screen and (max-width: 400px){
	footer .foot_in .infoArea .navbottom li{
		margin-left: 5px;
	}
	footer .foot_in .infoArea .navbottom li:nth-child(1){
		margin-left: 0px;
	}
	footer .foot_in .infoArea .navbottom li a{
		font-size: 10px;
		width: 130px;
		padding: 8px 0px;
	}
}










/******************************************************************************************
		パンくず
******************************************************************************************/
.breadcrumbs{
	margin-bottom: 30px;
}

.breadcrumbs ol{
	background-color: #f7f7f7;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 5px 20px;
}

.breadcrumbs li{
	position: relative;
	padding-left: 30px;
	margin-left: 10px;
}

.breadcrumbs li:before{
	font-family: fontawesome;
	content: '\f105';
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 20px;
	height: 20px;
	position: absolute;
	top:0;
	left:0;
	right:auto;
	bottom:0;
	margin: auto;
	font-size: 14px;
	color: #aaa;
}

.breadcrumbs li:nth-child(1){
	padding-left: 0px;
	margin-left: 0px;
}

.breadcrumbs li:nth-child(1):before{
	display: none;
}

.breadcrumbs li a{
	display: inline-block;
	font-size: 12px;
	line-height: 1.5em;
	letter-spacing: 0.1em;
	color: #46c7d8;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}

.breadcrumbs li p{
	display: inline-block;
	font-size: 12px;
	line-height: 1.5em;
	letter-spacing: 0.1em;
	color: #666;
}

@media screen and (min-width: 920px){
	/* hover */
	.breadcrumbs li a:hover{
		opacity: 0.5;
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
	}
}

@media screen and (max-width: 920px){
	.breadcrumbs{
		margin-bottom: 20px;
	}
}
@media screen and (max-width: 640px){
	.breadcrumbs{
		margin-bottom: 10px;
	}
	.breadcrumbs ol{
		padding: 5px 10px;
	}
	.breadcrumbs li{
		padding-left: 15px;
		margin-left: 0px;
	}
	.breadcrumbs li:before{
		width: 15px;
    height: 15px;
		font-size: 12px;
	}
	.breadcrumbs li a{
		display: block;
		max-width: 70px;
		text-overflow: ellipsis;
		white-space: nowrap;
		overflow: hidden;
	}
	.breadcrumbs li p{
		display: block;
		max-width: 90px;
		text-overflow: ellipsis;
		white-space: nowrap;
		overflow: hidden;
	}
}


/******************************************************************************************
		共通
******************************************************************************************/
.conts{
}

.conts .in_conts{
	padding-top: 50px;
	padding-bottom: 50px;
}

@media screen and (max-width: 800px){
	.conts .in_conts{
		padding-top: 30px;
		padding-bottom: 30px;
	}
}

.conts .in_conts .headArea{
}

.conts .in_conts .headArea .hArea{
	text-align: center;
}

.conts .in_conts .headArea .hArea h1{
	display: inline-block;
	text-align: left;
	font-size: 30px;
	font-weight: normal;
	color: #333;
	line-height: 1.7em;
	letter-spacing: 0.1em;
	position: relative;
	padding-bottom: 15px;
}

.conts .in_conts .headArea .hArea h1:before{
	content: '';
	width: 100%;
	height: 1px;
	position: absolute;
	top:auto;
	left:0;
	right:0;
	bottom:0;
	margin: auto;
	border-bottom: dotted 2px #ccc;
}

.conts .in_conts .headArea .hArea h2{
	display: inline-block;
	text-align: left;
	font-size: 30px;
	font-weight: normal;
	color: #333;
	line-height: 1.7em;
	letter-spacing: 0.1em;
	position: relative;
	padding-bottom: 15px;
}

.conts .in_conts .headArea .hArea h2:before{
	content: '';
	width: 100%;
	height: 1px;
	position: absolute;
	top:auto;
	left:0;
	right:0;
	bottom:0;
	margin: auto;
	border-bottom: dotted 2px #ccc;
}

.conts .in_conts .headArea .hArea.center h1{
	text-align: center;
}

.conts .in_conts .headArea .hArea.center h2{
	text-align: center;
}

.conts .in_conts .headArea .readArea{
	text-align: center;
	margin-top: 30px;
}

.conts .in_conts .headArea .readArea p{
	display: inline-block;
	text-align: left;
	font-size: 15px;
	color: #333;
	line-height: 1.9em;
}

@media screen and (max-width: 800px){
	.conts .in_conts .headArea .hArea h1{
		font-size: 25px;
		padding-bottom: 15px;
	}
	.conts .in_conts .headArea .hArea h2{
		font-size: 25px;
		padding-bottom: 15px;
	}
}
@media screen and (max-width: 640px){
	.conts .in_conts .headArea .hArea h1{
		font-size: 22px;
		padding-bottom: 15px;
		text-align: left;
	}
	.conts .in_conts .headArea .hArea h1 br{
		display: none;
	}
	.conts .in_conts .headArea .hArea h2{
		text-align: left;
		font-size: 22px;
		padding-bottom: 15px;
	}
	.conts .in_conts .headArea .hArea h2 br{
		display: none;
	}
	.conts .in_conts .headArea .hArea.center h1{
		text-align: left;
	}
	.conts .in_conts .headArea .hArea.center h2{
		text-align: left;
	}
	.conts .in_conts{
		padding-top: 30px;
		padding-bottom: 30px;
	}
	.conts .in_conts .headArea .readArea{
		margin-top: 10px;
	}
	.conts .in_conts .headArea .readArea p{
		font-size: 14px;
		line-height: 1.7em;
	}
}
@media screen and (max-width: 500px){
	.conts .in_conts .headArea .hArea h1{
		font-size: 20px;
		text-align: left;
	}
	.conts .in_conts .headArea .hArea h2{
		text-align: left;
		font-size: 20px;
	}
}

/******************************************************************************************
	コンテンツループのmargin制御
******************************************************************************************/
.conts .loop .loophead{
	padding-top: 15px;
}

.conts .loop .readBox{
	padding-top: 15px;
}

.conts .loop .textArea{
	padding-top: 15px;
}

.conts .loop .textArea p{
	display: inline-block;
	text-align: left;
	font-size: 15px;
	color: #333;
	line-height: 1.9em;
}

.conts .loop .imgBox{
	padding-top: 15px;
}

@media screen and (max-width: 640px){
	.conts .loop .loophead{
		padding-top: 15px;
	}
	.conts .loop .readBox{
		padding-top: 15px;
	}
	.conts .loop .textArea{
		padding-top: 15px;
	}
	.conts .loop .imgBox{
		padding-top: 15px;
	}
	.conts .loop .textArea p{
		font-size: 14px;
		line-height: 1.7em;
	}
}
@media screen and (max-width: 500px){
	.conts .loop .loophead{
	}
	.conts .loop .readBox{
		text-align: left;
	}
	.conts .loop .textArea{
		text-align: left;
	}
	.conts .loop .imgBox{
		text-align: left;
	}
	.conts .loop .textArea p{
		text-align: left;
	}
}





/******************************************************************************************
	リスト類
******************************************************************************************/
.col_blocksArea{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
  flex-wrap: wrap;
	-webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.col_blocksArea li{
	width: 100%;
	margin: 30px 0 0 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.col_blocksArea li .li_in{
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.col_blocksArea li a.block{
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}

.col_blocksArea li .blocks_box{
	width: 100%;
}

.col_blocksArea li .imgArea{
	width: 100%;
	height: 200px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.col_blocksArea li .box{
}

.col_blocksArea li .box .titleArea{
	text-align: left;
	padding: 10px 0 0px;
}

.col_blocksArea li .box .titleArea p{
	display: block;
	text-align: left;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 0.1em;
	color: #333;
	line-height: 1.7em;
}

.col_blocksArea li .box .titleArea span{
	display: block;
	text-align: center;
}

.col_blocksArea li .box .textArea{
	padding-top: 5px;
}

.col_blocksArea li .box .textArea p{
	display: inline-block;
	text-align: left;
	font-size: 14px;
	font-weight: normal;
	letter-spacing: 0.1em;
	color: #333;
	line-height: 1.9em;
}

@media screen and (min-width: 920px){
	/* hover */
	.col_blocksArea li a.block:hover{
		opacity: 0.5;
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
	}
}


/* col2
--------------------------------------------------------*/
.col_blocksArea.col2 li{
	width: 49%;
	margin-right: 2%;
}

.col_blocksArea.col2 li:nth-child(2n+2){
	margin-right: 0;
}


/* col3
--------------------------------------------------------*/
.col_blocksArea.col3 li{
	width: 32%;
	margin-right: 2%;
}

.col_blocksArea.col3 li:nth-child(3n+3){
	margin-right: 0;
}


/* w1_col3
--------------------------------------------------------*/
.col_blocksArea.w1_col3 li{
	width: 32%;
	margin-right: 2%;
}

.col_blocksArea.w1_col3 li:nth-child(3n+4){
	margin-right: 0;
}

/* 1枚目 */
.col_blocksArea.w1_col3 li:nth-child(1){
	width: 100%;
	margin-right: 0;
}

.col_blocksArea.w1_col3 li:nth-child(1) .li_in{
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.col_blocksArea.w1_col3 li:nth-child(1) a.block{
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.col_blocksArea.w1_col3 li:nth-child(1) .blocks_box{
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.col_blocksArea.w1_col3 li:nth-child(1) .imgArea{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
	width: 50%;
	min-height: 270px;
	height: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.col_blocksArea.w1_col3 li:nth-child(1) .box{
	flex: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
	padding: 30px;
	background-color: #fdfdfd;
	border: solid 1px #eee;
}

.col_blocksArea.w1_col3 li:nth-child(1) .box .titleArea{
	text-align: left;
	padding: 0px 0 10px;
}

.col_blocksArea.w1_col3 li:nth-child(1) .box .titleArea p{
	text-align: left;
}

.col_blocksArea.w1_col3 li:nth-child(1) .box .titleArea p span{
	text-align: left;
	display: block;
	padding: 5px 0 5px;
	font-size: 20px;
}

.col_blocksArea.w1_col3 li.reverse:nth-child(1) .blocks_box{
	-webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}


/* w2_col3
--------------------------------------------------------*/
.col_blocksArea.w2_col3 li{
	width: 32%;
	margin-right: 2%;
}

.col_blocksArea.w2_col3 li:nth-child(3n+6){
	margin-right: 0;
}

/* 1枚目 */
.col_blocksArea.w2_col3 li:nth-child(1){
	width: 100%;
	margin-right: 0;
}

.col_blocksArea.w2_col3 li:nth-child(1) .li_in{
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.col_blocksArea.w2_col3 li:nth-child(1) a.block{
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.col_blocksArea.w2_col3 li:nth-child(1) .blocks_box{
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.col_blocksArea.w2_col3 li:nth-child(1) .imgArea{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
	width: 50%;
	min-height: 270px;
	height: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.col_blocksArea.w2_col3 li:nth-child(1) .box{
	flex: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
	padding: 30px;
	background-color: #fdfdfd;
	border: solid 1px #eee;
}

.col_blocksArea.w2_col3 li:nth-child(1) .box .titleArea{
	text-align: left;
	padding: 0px 0 10px;
}

.col_blocksArea.w2_col3 li:nth-child(1) .box .titleArea p{
	text-align: left;
}

.col_blocksArea.w2_col3 li:nth-child(1) .box .titleArea p span{
	text-align: left;
	display: block;
	text-align: left;
	padding: 5px 0 5px;
	font-size: 20px;
}

.col_blocksArea.w2_col3 li.reverse:nth-child(1) .blocks_box{
	-webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}


/* 2枚目 */
.col_blocksArea.w2_col3 li:nth-child(2){
	width: 100%;
	margin-right: 0;
}

.col_blocksArea.w2_col3 li:nth-child(2) .li_in{
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.col_blocksArea.w2_col3 li:nth-child(2) a.block{
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.col_blocksArea.w2_col3 li:nth-child(2) .blocks_box{
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.col_blocksArea.w2_col3 li:nth-child(2) .imgArea{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
	width: 50%;
	min-height: 270px;
	height: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.col_blocksArea.w2_col3 li:nth-child(2) .box{
	flex: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
	padding: 30px;
	background-color: #fdfdfd;
	border: solid 1px #eee;
}

.col_blocksArea.w2_col3 li:nth-child(2) .box .titleArea{
	text-align: left;
	padding: 0px 0 10px;
}

.col_blocksArea.w2_col3 li:nth-child(2) .box .titleArea p{
	text-align: left;
}

.col_blocksArea.w2_col3 li:nth-child(2) .box .titleArea p span{
	text-align: left;
	display: block;
	padding: 5px 0 5px;
	font-size: 20px;
}

.col_blocksArea.w2_col3 li.reverse:nth-child(2) .blocks_box{
	-webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

/* 3枚目 */
.col_blocksArea.w2_col3 li:nth-child(3){
	width: 100%;
	margin-right: 0;
}

.col_blocksArea.w2_col3 li:nth-child(3) .li_in{
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.col_blocksArea.w2_col3 li:nth-child(3) a.block{
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.col_blocksArea.w2_col3 li:nth-child(3) .blocks_box{
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.col_blocksArea.w2_col3 li:nth-child(3) .imgArea{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
	width: 50%;
	min-height: 270px;
	height: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.col_blocksArea.w2_col3 li:nth-child(3) .box{
	flex: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
	padding: 30px;
	background-color: #fdfdfd;
	border: solid 1px #eee;
}

.col_blocksArea.w2_col3 li:nth-child(3) .box .titleArea{
	text-align: left;
	padding: 0px 0 10px;
}

.col_blocksArea.w2_col3 li:nth-child(3) .box .titleArea p{
	text-align: left;
}

.col_blocksArea.w2_col3 li:nth-child(3) .box .titleArea p span{
	text-align: left;
	display: block;
	text-align: left;
	padding: 5px 0 5px;
	font-size: 20px;
}

.col_blocksArea.w2_col3 li.reverse:nth-child(3) .blocks_box{
	-webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}


@media screen and (max-width: 1150px){
	/* w1_col3 -----------------------------------------------------*/
	.col_blocksArea.w1_col3 li:nth-child(1) .imgArea{
		width: 60%;
		min-height: 270px;
		height: 100%;
	}
	/* w2_col3 -----------------------------------------------------*/
	.col_blocksArea.w2_col3 li:nth-child(1) .imgArea{
		width: 60%;
		min-height: 270px;
		height: 100%;
	}
	.col_blocksArea.w2_col3 li:nth-child(2) .imgArea{
		width: 60%;
		min-height: 270px;
		height: 100%;
	}
	/* w1_col3 -----------------------------------------------------*/
	.col_blocksArea.w1_col3 li:nth-child(3) .imgArea{
		width: 60%;
		min-height: 270px;
		height: 100%;
	}
	/* w2_col3 -----------------------------------------------------*/
	.col_blocksArea.w2_col3 li:nth-child(3) .imgArea{
		width: 60%;
		min-height: 270px;
		height: 100%;
	}	
}
@media screen and (max-width: 1080px){
	/* w1_col3 -----------------------------------------------------*/
	.col_blocksArea.w2_col3 li:nth-child(1) .box{
		padding: 10px;
	}
	/* w2_col3 -----------------------------------------------------*/
	.col_blocksArea.w2_col3 li:nth-child(1) .box{
		padding: 10px;
	}
	.col_blocksArea.w2_col3 li:nth-child(2) .box{
		padding: 10px;
	}
	/* w1_col3 -----------------------------------------------------*/
	.col_blocksArea.w2_col3 li:nth-child(3) .box{
		padding: 10px;
	}
	/* w2_col3 -----------------------------------------------------*/
	.col_blocksArea.w2_col3 li:nth-child(3) .box{
		padding: 10px;
	}

}
@media screen and (max-width: 920px){
	.col_blocksArea li .box .titleArea span{
		display: inline;
		text-align: left;
	}
	/* w1_col3 -----------------------------------------------------*/
	.col_blocksArea.w1_col3 li{
		width: 49%;
		margin-right: 2%;
	}
	.col_blocksArea.w1_col3 li:nth-child(3n+4){
		margin-right: 2%;
	}
	.col_blocksArea.w1_col3 li:nth-child(2n+2){
		margin-right: 0;
	}
	.col_blocksArea.w1_col3 li:nth-child(1){
		width: 49%;
		margin-right: 2%;
	}
	.col_blocksArea.w1_col3 li.reverse:nth-child(1) .blocks_box{
		-webkit-box-orient: horizontal;
	  -webkit-box-direction: normal;
	  -ms-flex-direction: row;
	  flex-direction: row;
	}
	.col_blocksArea.w1_col3 li:nth-child(1) .blocks_box{
		display: block;
	}
	.col_blocksArea.w1_col3 li:nth-child(1) .box{
		padding: 0px;
		background-color: -moz-initial;
		background-color: initial;
		border: none;
	}
	.col_blocksArea.w1_col3 li:nth-child(1) .imgArea{
		width: 100%;
		min-height: initial;
		min-height: auto;
		height: 200px;
	}
	.col_blocksArea.w1_col3 li:nth-child(1) .box .titleArea{
		padding: 10px 0 0px;
	}
	.col_blocksArea.w1_col3 li:nth-child(1) .box .titleArea p span{
		padding: 0;
		font-size: 16px;
		letter-spacing: 0.1em;
		display: inline;
	}


	.col_blocksArea.w1_col3 li:nth-child(3){
		width: 49%;
		margin-right: 2%;
	}
	.col_blocksArea.w1_col3 li.reverse:nth-child(3) .blocks_box{
		-webkit-box-orient: horizontal;
	  -webkit-box-direction: normal;
	  -ms-flex-direction: row;
	  flex-direction: row;
	}
	.col_blocksArea.w1_col3 li:nth-child(3) .blocks_box{
		display: block;
	}
	.col_blocksArea.w1_col3 li:nth-child(3) .box{
		padding: 0px;
		background-color: -moz-initial;
		background-color: initial;
		border: none;
	}
	.col_blocksArea.w1_col3 li:nth-child(3) .imgArea{
		width: 100%;
		min-height: initial;
		min-height: auto;
		height: 200px;
	}
	.col_blocksArea.w1_col3 li:nth-child(3) .box .titleArea{
		padding: 10px 0 0px;
	}
	.col_blocksArea.w1_col3 li:nth-child(3) .box .titleArea p span{
		padding: 0;
		font-size: 16px;
		letter-spacing: 0.1em;
		display: inline;
	}
	/* w2_col3 -----------------------------------------------------*/
	.col_blocksArea.w2_col3 li{
		width: 49%;
		margin-right: 2%;
	}
	.col_blocksArea.w2_col3 li:nth-child(1){
		width: 49%;
		margin-right: 2%;
	}
	.col_blocksArea.w2_col3 li:nth-child(2n){
		width: 49%;
		margin-right: 0;
	}
	.col_blocksArea.w2_col3 li:nth-child(3){
		width: 49%;
		margin-right: 2%;
	}	
	.col_blocksArea.w2_col3 li.reverse:nth-child(1) .blocks_box{
		-webkit-box-orient: horizontal;
	  -webkit-box-direction: normal;
	  -ms-flex-direction: row;
	  flex-direction: row;
	}
	.col_blocksArea.w2_col3 li.reverse:nth-child(2) .blocks_box{
		-webkit-box-orient: horizontal;
	  -webkit-box-direction: normal;
	  -ms-flex-direction: row;
	  flex-direction: row;
	}
	.col_blocksArea.w2_col3 li.reverse:nth-child(3) .blocks_box{
		-webkit-box-orient: horizontal;
	  -webkit-box-direction: normal;
	  -ms-flex-direction: row;
	  flex-direction: row;
	}	
	.col_blocksArea.w2_col3 li:nth-child(1) .blocks_box{
		display: block;
	}
	.col_blocksArea.w2_col3 li:nth-child(2) .blocks_box{
		display: block;
	}
	.col_blocksArea.w2_col3 li:nth-child(3) .blocks_box{
		display: block;
	}	
	.col_blocksArea.w2_col3 li:nth-child(1) .box{
		padding: 0px;
		background-color: -moz-initial;
		background-color: initial;
		border: none;
	}
	.col_blocksArea.w2_col3 li:nth-child(2) .box{
		padding: 0px;
		background-color: -moz-initial;
		background-color: initial;
		border: none;
	}
	.col_blocksArea.w2_col3 li:nth-child(3) .box{
		padding: 0px;
		background-color: -moz-initial;
		background-color: initial;
		border: none;
	}	
	.col_blocksArea.w2_col3 li:nth-child(1) .imgArea{
		width: 100%;
		min-height: initial;
		min-height: auto;
		height: 200px;
	}
	.col_blocksArea.w2_col3 li:nth-child(2) .imgArea{
		width: 100%;
		min-height: initial;
		min-height: auto;
		height: 200px;
	}
	.col_blocksArea.w2_col3 li:nth-child(3) .imgArea{
		width: 100%;
		min-height: initial;
		min-height: auto;
		height: 200px;
	}	
	.col_blocksArea.w2_col3 li:nth-child(1) .box .titleArea{
		padding: 10px 0 0px;
	}
	.col_blocksArea.w2_col3 li:nth-child(2) .box .titleArea{
		padding: 10px 0 0px;
	}
	.col_blocksArea.w2_col3 li:nth-child(3) .box .titleArea{
		padding: 10px 0 0px;
	}	
	.col_blocksArea.w2_col3 li:nth-child(1) .box .titleArea p span{
		padding: 0;
		font-size: 16px;
		letter-spacing: 0.1em;
		display: inline;
	}
	.col_blocksArea.w2_col3 li:nth-child(2) .box .titleArea p span{
		padding: 0;
		font-size: 16px;
		letter-spacing: 0.1em;
		display: inline;
	}
	.col_blocksArea.w2_col3 li:nth-child(3) .box .titleArea p span{
		padding: 0;
		font-size: 16px;
		letter-spacing: 0.1em;
		display: inline;
	}	
}

@media screen and (max-width: 800px){
	.col_blocksArea li{
		position: relative;
	}
	.col_blocksArea li.clip:before{
		content: '...';
		position: absolute;
		top:auto;
		left: 0;
		bottom:0;
		margin: auto;
		color: #333;
	}
	.col_blocksArea li a.block{
		position: relative;
		padding-bottom: 15px;
	}
	.col_blocksArea li a.block:before{
		content: '';
		display: block;
		width: 30px;
		height: 2px;
		position: absolute;
		top: auto;
		left: auto;
		right: 1px;
		bottom: 0;
		margin: auto;
		background-color: #72e2a4;
		z-index: 2;
	}
	.col_blocksArea li a.block:after{
		content: '';
		display: block;
		width: 9px;
		height: 2px;
		position: absolute;
		top: auto;
		left: auto;
		right: 0px;
		bottom: 3px;
		margin: auto;
		background-color: #72e2a4;
		z-index: 2;
		-moz-transform: rotate(40deg);
		-webkit-transform: rotate(40deg);
		-o-transform: rotate(40deg);
		-ms-transform: rotate(40deg);
		transform: rotate(40deg);
	}
	.col_blocksArea li.clip a.block .blocks_box{
		height: 308px;
		position: relative;
		overflow: hidden;
	}
	.col_blocksArea li .box .titleArea p{
		font-size: 15px;
		letter-spacing: 0em;
		line-height: 1.5em;
	}
	.col_blocksArea li .box .textArea p{
		font-size: 14px;
		letter-spacing: 0em;
		line-height: 1.7em;
	}
	/* w1_col3 -----------------------------------------------------*/
	.col_blocksArea.w1_col3 li:nth-child(1) .box .titleArea p span{
		font-size: 14px;
		letter-spacing: 0em;
		line-height: 1.7em;
	}
	/* w2_col3 -----------------------------------------------------*/
	.col_blocksArea.w2_col3 li:nth-child(1) .box .titleArea p span{
		font-size: 14px;
		letter-spacing: 0em;
		line-height: 1.7em;
	}
	.col_blocksArea.w2_col3 li:nth-child(2) .box .titleArea p span{
		font-size: 14px;
		letter-spacing: 0em;
		line-height: 1.7em;
	}
	/* w1_col3 -----------------------------------------------------*/
	.col_blocksArea.w1_col3 li:nth-child(3) .box .titleArea p span{
		font-size: 14px;
		letter-spacing: 0em;
		line-height: 1.7em;
	}
	/* w2_col3 -----------------------------------------------------*/
	.col_blocksArea.w2_col3 li:nth-child(3) .box .titleArea p span{
		font-size: 14px;
		letter-spacing: 0em;
		line-height: 1.7em;
	}	
}
@media screen and (max-width: 640px){
	.col_blocksArea li .imgArea{
		height: 150px;
	}
	.col_blocksArea li.clip a.block .blocks_box{
		height: 235px;
	}
	/* w2_col3 -----------------------------------------------------*/
	.col_blocksArea.w1_col3 li:nth-child(1) .imgArea{
		height: 150px;
	}
	/* w2_col3 -----------------------------------------------------*/
	.col_blocksArea.w2_col3 li:nth-child(1) .imgArea{
		height: 150px;
	}
	.col_blocksArea.w2_col3 li:nth-child(2) .imgArea{
		height: 150px;
	}
	/* w2_col3 -----------------------------------------------------*/
	.col_blocksArea.w1_col3 li:nth-child(3) .imgArea{
		height: 150px;
	}
	/* w2_col3 -----------------------------------------------------*/
	.col_blocksArea.w2_col3 li:nth-child(3) .imgArea{
		height: 150px;
	}	
}
@media screen and (max-width: 500px){
	.col_blocksArea li .imgArea{
		height: 120px;
	}
	.col_blocksArea li.clip a.block .blocks_box{
		height: 230px;
	}
	/* w2_col3 -----------------------------------------------------*/
	.col_blocksArea.w1_col3 li:nth-child(1) .imgArea{
		height: 120px;
	}
	/* w2_col3 -----------------------------------------------------*/
	.col_blocksArea.w2_col3 li:nth-child(1) .imgArea{
		height: 120px;
	}
	.col_blocksArea.w2_col3 li:nth-child(2) .imgArea{
		height: 120px;
	}
	/* w2_col3 -----------------------------------------------------*/
	.col_blocksArea.w1_col3 li:nth-child(3) .imgArea{
		height: 120px;
	}
	/* w2_col3 -----------------------------------------------------*/
	.col_blocksArea.w2_col3 li:nth-child(3) .imgArea{
		height: 120px;
	}	
}
@media screen and (max-width: 400px){
	.col_blocksArea li .imgArea{
		height: 100px;
	}
	.col_blocksArea li.clip a.block .blocks_box{
		height: 210px;
	}
	/* w2_col3 -----------------------------------------------------*/
	.col_blocksArea.w1_col3 li:nth-child(1) .imgArea{
		height: 100px;
	}
	/* w2_col3 -----------------------------------------------------*/
	.col_blocksArea.w2_col3 li:nth-child(1) .imgArea{
		height: 100px;
	}
	.col_blocksArea.w2_col3 li:nth-child(2) .imgArea{
		height: 100px;
	}
	/* w2_col3 -----------------------------------------------------*/
	.col_blocksArea.w1_col3 li:nth-child(3) .imgArea{
		height: 100px;
	}
	/* w2_col3 -----------------------------------------------------*/
	.col_blocksArea.w2_col3 li:nth-child(3) .imgArea{
		height: 100px;
	}	
}
@media screen and (max-width: 320px){
	.col_blocksArea li .imgArea{
		height: 90px;
	}
	.col_blocksArea li.clip a.block .blocks_box{
		height: 200px;
	}
	/* w2_col3 -----------------------------------------------------*/
	.col_blocksArea.w1_col3 li:nth-child(1) .imgArea{
		height: 90px;
	}
	/* w2_col3 -----------------------------------------------------*/
	.col_blocksArea.w2_col3 li:nth-child(1) .imgArea{
		height: 90px;
	}
	.col_blocksArea.w2_col3 li:nth-child(2) .imgArea{
		height: 90px;
	}
	/* w2_col3 -----------------------------------------------------*/
	.col_blocksArea.w1_col3 li:nth-child(3) .imgArea{
		height: 90px;
	}
	/* w2_col3 -----------------------------------------------------*/
	.col_blocksArea.w2_col3 li:nth-child(3) .imgArea{
		height: 90px;
	}	
}






























/******************************************************************************************
	表組み類
******************************************************************************************/
/*
type1
---------------------------------------------------*/
ul.type1{
	border-top: dashed 1px #ddd;
	margin-top: 15px;
}

ul.type1 li{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
	-webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
	border-bottom: dashed 1px #ddd;
}

ul.type1 li .title{
	font-size: 15px;
	line-height: 1.9em;
	letter-spacing: 0.2em;
	width: 150px;
	font-weight: bold;
	color: #333;
	border-left: dashed 1px #ddd;
	border-right: dashed 1px #ddd;
	padding: 15px;
	background-color: #f7f7f7;
}

ul.type1 li .text{
	font-size: 15px;
	line-height: 1.9em;
	letter-spacing: 0.1em;
	flex: 1;
	border-right: dashed 1px #ddd;
	padding: 15px;
}

/* 右側が2個ある場合 */
ul.type1.t_add2clom li .title{
	width: 250px;
}

ul.type1.t_add2clom li .box{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
	flex: 1;
}

ul.type1.t_add2clom li .box .text{
	width: 50%;
}

ul.type1.t_add2clom li .box .text.text_right{
	font-weight: bold;
	background-color: #fff7f0;
}

ul.type1.t_add2clom li .box .text.text_right span{
}

@media screen and (max-width: 800px){
	ul.type1 li{
		display: block;
	}
	ul.type1 li .title{
		width: 100%;
		background-color: -moz-initial;
		background-color: initial;
		border: none;
		padding: 10px 0 0;
		font-size: 16px;
	}
	ul.type1 li .text{
		width: 100%;
		border: none;
		padding: 5px 0 10px;
	}

	/* t_add2clom */
	ul.type1.t_add2clom{
		border: none;
	}
	ul.type1.t_add2clom li{
		padding-top: 10px;
		padding-bottom: 10px;
		border: none;
	}
	ul.type1.t_add2clom li .title{
		width: 100%;
		padding: 0 0 0 20px;
		position: relative;
	}
	ul.type1.t_add2clom li .title:before{
		content: '';
		display: block;
		width: 10px;
		height: 100%;
		position: absolute;
		top:0;
		left: 0;
		right: auto;
		bottom:0;
		margin: auto;
		background-color: #72e2a4;
	}
	ul.type1.t_add2clom li .box{
		padding-top: 10px;
	}
	ul.type1.t_add2clom li .box .text{
		background-color: #f7f7f7;
		padding: 10px 10px 10px;
	}
	ul.type1.t_add2clom li .box .text.text_right{
		padding: 10px 10px 10px;
	}
}
@media screen and (max-width: 640px){
	ul.type1 li .text{
		font-size: 14px;
	}
	/* t_add2clom */
	ul.type1.t_add2clom li .box{
		display: block;
	}
	ul.type1.t_add2clom li .box .text{
		width: 100%;
	}
	ul.type1.t_add2clom li .box .text.text_right{
		width: 100%;
	}
}




/******************************************************************************************
	特殊
******************************************************************************************/
.flowBox{
	padding-top: 150px;
	position: relative;
}

.flowBox .imgArea{
	width: 70%;
	height: 450px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	top:0;
	left: 0;
	z-index: 1;
}

.flowBox .textArea{
	position: relative;
	z-index: 2;
}

.flowBox .textArea .textArea_in{
	width: 50%;
	margin: 0 0 0 auto;
	background-color: #f7f7f7;
	padding: 70px 50px;
}

.flowBox .textArea .textArea_in h2{
	display: block;
	text-align: left;
	font-size: 30px;
	font-weight: normal;
	color: #333;
	line-height: 1.5em;
	letter-spacing: 0.1em;
	position: relative;
	padding-bottom: 15px;
}

.flowBox .textArea .textArea_in h2:before{
	content: '';
	width: 100%;
	height: 1px;
	position: absolute;
	top:auto;
	left:0;
	right:0;
	bottom:0;
	margin: auto;
	border-bottom: dotted 2px #ccc;
}


.flowBox .textArea .textArea_in p{
	display: block;
	text-align: left;
	font-size: 15px;
	color: #333;
	line-height: 1.9em;
	margin-top: 20px;
}

@media screen and (max-width: 1500px){
	.flowBox .textArea .textArea_in{
		width: 60%;
	}
}
@media screen and (max-width: 1200px){
	.flowBox .imgArea{
		width: 80%;
    height: 450px;
	}
	.flowBox .textArea .textArea_in{
		width: 70%;
		padding: 50px 30px;
	}
}
@media screen and (max-width: 1000px){
	.flowBox .imgArea{
		width: 90%;
    height: 450px;
	}
	.flowBox .textArea .textArea_in{
		width: 70%;
		padding: 30px 30px;
	}
}
@media screen and (max-width: 800px){
	.flowBox{
		padding-top: 0px;
		position: relative;
	}
	.flowBox .imgArea{
		width: 100%;
		height: 300px;
		position: static;
	}
	.flowBox .textArea .textArea_in{
		width: 100%;
		padding: 30px 10px 0px 10px;
		background-color: -moz-initial;
    background-color: initial;
	}
	.flowBox .textArea .textArea_in h2{
		font-size: 25px;
		line-height: 1.7em;
	}
}
@media screen and (max-width: 640px){
	.flowBox .textArea .textArea_in h2{
		font-size: 22px;
		line-height: 1.7em;
	}
	.flowBox .textArea .textArea_in p{
		font-size: 14px;
    line-height: 1.7em;
	}
}
@media screen and (max-width: 500px){
	.flowBox .textArea .textArea_in h2{
		font-size: 20px;
		line-height: 1.7em;
	}
}




/******************************************************************************************
	ボタン類
******************************************************************************************/
.btnArea{
	width: 230px;
	margin: 30px auto 0 auto;
}

.btnArea a{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
	height: 45px;
	background-color: #72e2a4;
	color: #333;
	font-size: 14px;
	letter-spacing: 0.1em;
	position: relative;
	padding-left: 50px;
	padding-right: 50px;
	border-radius: 50px;
	-webkit-border-radius: 50px;
	-moz-border-radius: 50px;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}

.btnArea a:before{
	content: '';
	display: block;
	width: 30px;
	height: 1px;
	position: absolute;
	top:2px;
	left: auto;
	right:20px;
	bottom:0;
	margin: auto;
	background-color: #333;
	z-index: 1;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}

.btnArea a:after{
	content: '';
	display: block;
	width: 9px;
	height: 1px;
	position: absolute;
	top:0;
	left: auto;
	right:20px;
	bottom:4px;
	margin: auto;
	background-color: #333;
	z-index: 1;
	-moz-transform: rotate(40deg);
	-webkit-transform: rotate(40deg);
	-o-transform: rotate(40deg);
	-ms-transform: rotate(40deg);
	transform: rotate(40deg);
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}

/*--- ページ下部のボタンの場合 ---*/
.page_foot_btnArea{
	padding-top: 20px;
	padding-bottom: 50px;
}

@media screen and (min-width: 920px){
	/* hover */
	.btnArea a:hover{
		background-color: #2f6346;
		color: #fff;
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
	}
	.btnArea a:hover:before{
		background-color: #fff;
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
	}
	.btnArea a:hover:after{
		background-color: #fff;
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
	}
}

@media screen and (max-width: 640px){
	/*--- ページ下部のボタンの場合 ---*/
	.page_foot_btnArea{
		padding-top: 0px;
		padding-bottom: 30px;
	}
	.page_foot_btnArea .btnArea{
		margin-top: 0;
	}
}


/******************************************************************************************
	マップ
******************************************************************************************/
.mapArea{
	height: 400px;
	position: relative;
}

.mapArea a{
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top:0;
	left: 0;
	z-index: 5;
}

.mapArea iframe{
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top:0;
	left: 0;
	z-index: 1;
}

@media screen and (min-width: 920px){
	.mapArea:hover{
		opacity: 0.5;
		-webkit-transition: all 1s;
		-moz-transition: all 1s;
		-ms-transition: all 1s;
		-o-transition: all 1s;
		transition: all 1s;
	}
}

@media screen and (max-width: 640px){
	.mapArea{
		height: 250px;
	}
}
@media screen and (max-width: 450px){
	.mapArea{
		height: 200px;
	}
}


/******************************************************************************************
	news
******************************************************************************************/
.newsList{
	padding-top: 15px;
}

.newsList .in_conts .headArea .hArea.center h2{
	font-weight: normal;
}

.newsBox{
	padding-top: 35px;
	text-align: center;
}

.newsBox ul{
	display: inline-block;
	text-align: left;
}

.newsBox li{
	display: block;
	margin-top: 15px;
}

.newsBox li a{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}

.newsBox li .day{
	width: 130px;
	font-size: 15px;
	font-weight: bold;
	letter-spacing: 0.2em;
	color: #333;
	line-height: 1.9em;
}

.newsBox li .cat{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100px;
	font-size: 13px;
	font-weight: bold;
	letter-spacing: 0.2em;
	color: #fff;
	line-height: 1.9em;
	background-color: #46c7d8;
	margin-right: 30px;
}

.newsBox li.type1 .cat{
	background-color: #ffa741;
}

.newsBox li.type2 .cat{
	background-color: #ff2b61;
}

.newsBox li .title{
	-webkit-box-flex: 3;
 	-ms-flex-positive: 3;
  flex-grow: 3;
	font-size: 15px;
	font-weight: bold;
	letter-spacing: 0.1em;
	color: #333;
	line-height: 1.9em;
}

.newsBox .btnArea{
	margin-top: 50px;
}

@media screen and (min-width: 920px){
	/* hover */
	.newsBox li a:hover{
		opacity: 0.5;
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
	}
}

@media screen and (max-width: 1000px){
	.newsBox li a{
		display: block;
	}
	.newsBox li .day{
		display: inline-block;
	}
	.newsBox li .cat{
		display: inline-block;
		margin-right: 0px;
		text-align: center;
	}
	.newsBox li .title{
		display: block;
		width: 100%;
		font-weight: normal;
		margin-top: 5px;
		line-height: 1.7em;
	}
}
@media screen and (max-width: 640px){
	.newsBox{
		padding-top: 0px;
	}
	.newsBox ul{
		padding-top: 15px;
	}
	.newsBox li{
		margin-top: 0px;
	}
	.newsBox li a{
		border-bottom: dashed 1px #ddd;
		padding: 15px 0;
	}
	.newsBox li .day{
		display: inline-block;
		line-height: 1.7em;
		font-size: 14px;
		width: auto;
	}
	.newsBox li .cat{
		width: 80px;
		font-size: 12px;
		line-height: 1.7em;
	}
	.newsBox li .title{
		font-size: 14px;
	}
	.newsBox .btnArea{
		margin-top: 30px;
	}
}


/******************************************************************************************
問い合わせ遷移エリア
******************************************************************************************/
.info_contact{
	background-color: #72e2a4;
	position: relative;
}

.info_contact .in_conts{
	padding: 0px 20px;
}

.info_contact .in_conts .top{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	border-bottom: solid 2px #fff;
	padding: 30px 0;
}

.info_contact .in_conts .top .top_in{
}

.info_contact .in_conts .top .top_in p{
	font-size: 25px;
	text-align: center;
}

.info_contact .in_conts .bottom{
	flex: 1;
}

.info_contact .in_conts .bottom .bottom_in{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.info_contact .in_conts .bottom .bottom_in .box{
	width: 49%;
	padding: 30px 0;
}

.info_contact .in_conts .bottom .bottom_in .box .title{
	font-size: 22px;
	text-align: center;
	margin-bottom: 15px;
}

.info_contact .in_conts .bottom .bottom_in .box .title span{
	display: inline-block;
	font-size: 14px;
}

.info_contact .in_conts .bottom .bottom_in .box a{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background-color: #fff;
	width: 100%;
	height: 80px;
	font-size: 25px;
	color: #333;
	position: relative;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}

.info_contact .in_conts .bottom .bottom_in .box a:before{
	content: '';
	display: block;
	width: 30px;
	height: 2px;
	position: absolute;
	top: 2px;
	left: auto;
	right:30px;
	bottom: 0;
	margin: auto;
	background-color: #333;
  z-index: 2;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}

.info_contact .in_conts .bottom .bottom_in .box a:after{
	content: '';
	display: block;
	width: 9px;
	height: 2px;
	position: absolute;
	top: 0;
	left: auto;
	right:30px;
	bottom: 4px;
	margin: auto;
	background-color: #333;
  z-index: 2;
	-moz-transform: rotate(40deg);
	-webkit-transform: rotate(40deg);
	-o-transform: rotate(40deg);
	-ms-transform: rotate(40deg);
	transform: rotate(40deg);
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}

.info_contact .in_conts .bottom .bottom_in .box a span{
	padding-right: 10px;
}

.info_contact .in_conts .bottom .bottom_in .box a span:after{
	content: '';
  display: block;
  width: 50px;
  height: 50px;
  background-color: #72e2a4;
  position: absolute;
  top:0;
  left:auto;
  right:20px;
  bottom:0;
  margin: auto;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  z-index: 1;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}

.info_contact .in_conts .bottom .bottom_in .box a .tel{
	letter-spacing: 0.2em;
}

.info_contact .in_conts .bottom .bottom_in .box a .fa{
	padding-right: 8px;
	font-size: 27px;
}

.info_contact .in_conts .bottom .bottom_in .box a .tel .fa{
	position: relative;
	padding-right: 5px;
	bottom:-1px;
}

@media screen and (min-width: 920px){
	/* hover */
	.info_contact .in_conts .bottom .bottom_in .box a:hover{
		background-color: #2f6346;
		color: #fff;
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
	}
	.info_contact .in_conts .bottom .bottom_in .box a:hover:before{
		background-color: #2f6346;
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
	}
	.info_contact .in_conts .bottom .bottom_in .box a:hover:after{
		background-color: #2f6346;
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
	}
	.info_contact .in_conts .bottom .bottom_in .box a:hover span:after{
	  background-color: #fff;
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
	}
}

@media screen and (max-width: 920px){
	.info_contact .in_conts .bottom .bottom_in .box a span{
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		padding-right: 70px;
		position: relative;
	}
	.info_contact .in_conts .bottom .bottom_in .box a span:after{
		right: 0px;
	}
	.info_contact .in_conts .bottom .bottom_in .box a:before{
		display: none;
	}
	.info_contact .in_conts .bottom .bottom_in .box a:after{
		display: none;
	}
	.info_contact .in_conts .bottom .bottom_in .box a .tel .fa{
		position: static;
	}
	.info_contact .in_conts .bottom .bottom_in .box a span:before{
		content: '';
		display: block;
		width: 30px;
		height: 2px;
		position: absolute;
		top: 2px;
		left: auto;
		right:10px;
		bottom: 0;
		margin: auto;
		background-color: #333;
	  z-index: 2;
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
	}
	.info_contact .in_conts .bottom .bottom_in .box a span .fa:after{
		content: '';
		display: block;
		width: 9px;
		height: 2px;
		position: absolute;
		top: 0;
		left: auto;
		right:10px;
		bottom: 4px;
		margin: auto;
		background-color: #333;
	  z-index: 2;
		-moz-transform: rotate(40deg);
		-webkit-transform: rotate(40deg);
		-o-transform: rotate(40deg);
		-ms-transform: rotate(40deg);
		transform: rotate(40deg);
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
	}
}
@media screen and (max-width: 800px){
	.info_contact .in_conts .top .top_in p{
		font-size: 25px;
		line-height: 1.7em;
	}
	.info_contact .in_conts .bottom .bottom_in .box a{
		 height: 70px;
		 font-size: 22px;
	}
	.info_contact .in_conts .bottom .bottom_in .box a .fa{
		padding-right: 5px;
    font-size: 22px;
	}
	.info_contact .in_conts .bottom .bottom_in .box a .tel .fa{
		padding-right: 5px;
		margin-top: 3px;
	}
	.info_contact .in_conts .bottom .bottom_in .box a span{
		padding-right: 40px;
		letter-spacing: 0.1em;
	}
	.info_contact .in_conts .bottom .bottom_in .box a span:after{
		width: 30px;
    height: 30px;
	}
	.info_contact .in_conts .bottom .bottom_in .box a span:before{
		width: 20px;
		right: 5px;
	}
	.info_contact .in_conts .bottom .bottom_in .box a span .fa:after{
		right: 5px;
	}
}
@media screen and (max-width: 640px){
	.info_contact .in_conts{
		padding: 0px 10px;
	}
	.info_contact .in_conts .top .top_in p{
		font-size: 22px;
		line-height: 1.7em;
	}
	.info_contact .in_conts .bottom .bottom_in .box .title{
		font-size: 20px;
	}
	.info_contact .in_conts .bottom .bottom_in .box a{
		 height: 70px;
		 font-size: 18px;
	}
	.info_contact .in_conts .bottom .bottom_in .box a .tel{
		letter-spacing: 0.1em;
	}
	.info_contact .in_conts .bottom .bottom_in .box a .mail{
		letter-spacing: 0em;
	}
	.info_contact .in_conts .bottom .bottom_in .box a .fa{
		padding-right: 5px;
    font-size: 20px;
	}
	.info_contact .in_conts .bottom .bottom_in .box a .tel .fa{
		padding-right: 5px;
		margin-top: 2px;
	}
}
@media screen and (max-width: 550px){
	.info_contact .in_conts .bottom .bottom_in .box .title{
		font-size: 16px;
	}
	.info_contact .in_conts .bottom .bottom_in .box .title span{
		font-size: 13px;
	}
	.info_contact .in_conts .bottom .bottom_in .box a{
		 height: 50px;
		 font-size: 16px;
	}
	.info_contact .in_conts .bottom .bottom_in .box a span{
		padding-right: 30px;
	}
	.info_contact .in_conts .bottom .bottom_in .box a .fa{
		padding-right: 5px;
    font-size: 17px;
	}
	.info_contact .in_conts .bottom .bottom_in .box a .tel .fa{
		padding-right: 5px;
		margin-top: 1px;
	}
	.info_contact .in_conts .bottom .bottom_in .box a span:after{
		width: 25px;
    height: 25px;
	}
	.info_contact .in_conts .bottom .bottom_in .box a span:before{
		width: 15px;
		right: 5px;
	}
	.info_contact .in_conts .bottom .bottom_in .box a span .fa:after{
		right: 5px;
	}
}
@media screen and (max-width: 500px){
	.info_contact .in_conts .top{
		padding: 20px 0;
	}
	.info_contact .in_conts .top .top_in p{
		font-size: 20px;
		line-height: 1.7em;
	}
	.info_contact .in_conts .bottom .bottom_in .box .title{
		font-size: 15px;
		margin-bottom: 10px;
	}
	.info_contact .in_conts .bottom .bottom_in .box .title span{
		font-size: 12px;
	}
	.info_contact .in_conts .bottom .bottom_in .box{
		padding: 20px 0;
	}
	.info_contact .in_conts .bottom .bottom_in .box a span{
		padding-right: 0px;
	}
	.info_contact .in_conts .bottom .bottom_in .box a span:after{
		display: none;
	}
	.info_contact .in_conts .bottom .bottom_in .box a span:before{
		display: none;
	}
	.info_contact .in_conts .bottom .bottom_in .box a span .fa:after{
		display: none;
	}
}
@media screen and (max-width: 400px){
	.info_contact .in_conts .top .top_in p{
		font-size: 18px;
		line-height: 1.7em;
	}
	.info_contact .in_conts .bottom .bottom_in .box a{
		 height: 45px;
		 font-size: 14px;
	}
	.info_contact .in_conts .bottom .bottom_in .box a .fa{
		padding-right: 5px;
    font-size: 14px;
	}
	.info_contact .in_conts .bottom .bottom_in .box a .tel .fa{
		padding-right: 5px;
		margin-top: 1px;
	}
}
@media screen and (max-width: 320px){
	.info_contact .in_conts .top .top_in p{
		font-size: 17px;
		line-height: 1.7em;
	}
	.info_contact .in_conts .bottom .bottom_in .box .title{
		letter-spacing: 0;
	}
	.info_contact .in_conts .bottom .bottom_in .box a{
		 height: 45px;
		 font-size: 13px;
	}
	.info_contact .in_conts .bottom .bottom_in .box a .fa{
		padding-right: 5px;
    font-size: 13px;
	}
	.info_contact .in_conts .bottom .bottom_in .box a .tel .fa{
		padding-right: 5px;
		margin-top: 1px;
	}
}
/******************************************************************************************

******************************************************************************************/
