@charset "utf-8";

/*----------------------------------------------------------------
 global styles
----------------------------------------------------------------*/
/* sub-navi
-----------------------------------------------------*/
.sub-navi{border-top: 1px solid #45b68a;}
.sub-navi ul{
	-js-display			: flex; /* IE */
	display				: -webkit-flex; /* Safari */
	display				: flex;
	flex-wrap			: wrap;
	justify-content		: center;
}
.sub-navi ul li{
	width				: 200px;
	text-align			: center;
}
.sub-navi ul li a{
	display				: block;
	padding				: 11px 0;
	background			: #FFF;
	text-decoration		: none;
	font-weight			: bold;
	color				: #45b68a;
}
.sub-navi ul li a:after{
	content				: "＞";
	display				: inline-block;
	position			: relative;
	top					: -7px;
	transform			: rotate(90deg) scaleY(2);
	padding				: 0 0 15px 0;
	line-height			: 0.5;
	font-size			: 16px;
}
.sub-navi ul li.current a,
.sub-navi ul li a:hover{
	background			: #45b68a;
	color				: #FFF;
}
.sub-navi ul li.current a:hover{
	background			: #FFF;
	color				: #45b68a;
}

/*----------------------------------------------------------------
 inside #contents
----------------------------------------------------------------*/
/*-----------------------------------------------------
 element
-----------------------------------------------------*/
/* heading
-----------------------------------------------------*/
#contents h2{
	margin				: 0 0 45px 0;
	text-align			: center;
	font-size			: 22px;
	font-weight			: bold;
	color				: #000;
}
#contents h2 span{
	display				: inline-block;
	box-shadow			: 0 -2px 0 #45b68a inset;
}

/* list
-----------------------------------------------------*/
#contents ul li,
#contents ol li{ list-style: none outside; }

/* table
-----------------------------------------------------*/
#contents table{ width: 100%; }

#contents table th,
#contents table td{
	border				: 1px solid #ccc;
	padding				: 10px 20px;
	vertical-align		: top;
	line-height			: 1.5;
}
#contents table th{ background: #eee; }
#contents table td{ background: #fff; }

/* inline elements
-----------------------------------------------------*/
#contents a{
	color				: #45b68a;
	text-decoration		: none;
}
#contents a:hover{ color: #91ccb5; }


/*-----------------------------------------------------
 class
-----------------------------------------------------*/
/* solid-content
-----------------------------------------------------*/
#contents .solid-content{ padding: 50px; }

/* btn
-----------------------------------------------------*/
#contents .btn{
	display				: inline-block;
	margin				: 0 10px;
	border				: 1px solid #45b68a;
	border-radius		: 30px;
	padding				: 1px 10px;
	vertical-align		: middle;
	font-size			: 14px;
}
#contents .btn:hover{
	background			: #45b68a;
	color				: #FFF;
}

/* link
-----------------------------------------------------*/
#contents .link{ text-align: center; }
#contents .link a{
	display				: inline-block;
	border				: 2px solid #45b68a;
	border-radius		: 30px;
	padding				: 18px 50px;
	line-height			: 20px;
	font-weight			: bold;
}
#contents .link a:hover{
	background			: #45b68a;
	color				: #FFF;
}
#contents .link .btn{ font-size: 16px; }

/* content-list
-----------------------------------------------------*/
#contents .content-list{
	-js-display			: flex; /* IE */
	display				: -webkit-flex; /* Safari */
	display				: flex;
	flex-wrap			: wrap;
}
#contents .content-list dl{ margin: 0 0 50px 0; }
#contents .content-list li dt{
	position			: relative;
	width				: 100%;
	height				: 100px;
	background			: #ecf8f3;
	text-align			: center;
	line-height			: 1.44;
	font-weight			: bold;
	font-size			: 18px;
}

#contents .content-list li dt:before,
#contents .content-list li dt:after{
	content				: "";
	display				: block;
	position			: absolute;
	width				: 40px;
	height				: 40px;
}
#contents .content-list li dt:before{
	left				: 0px;
	top					: 0px;
	border-left			: 1px solid #45b68a;
	border-top			: 1px solid #45b68a;
}
#contents .content-list li dt:after{
	right				: 0px;
	bottom				: 0px;
	border-right		: 1px solid #45b68a;
	border-bottom		: 1px solid #45b68a;
}
#contents .content-list li dt span{
	width				: 100%;
	position			: absolute;
	display				: inline-block;
	top					: 50%;
	left				: 50%;
	-webkit-transform	: translate(-50%, -50%);
	transform			: translate(-50%, -50%);
}
#contents .content-list li dd{ margin: 10px 0; }
#contents .content-list.column1{
	-js-display			: block; /* IE */
	display				: block;
}
#contents .content-list.column1 li{
	display				: block;
	width				: 450px;
	margin				: 0 auto;
}
#contents .content-list.column2 li{
	width				: 450px;
	margin				: 0 60px 0 0;
}
#contents .content-list.column3 li{
	width				: 290px;
	margin				: 0 45px 0 0;
}
#contents .content-list.column2 li:nth-child(2n){ margin: 0; }
#contents .content-list.column3 li:nth-child(3n){ margin: 0; }