@charset "utf-8";
/* CSS Document */

html {
  visibility: hidden;
}

html.wf-active, html.loading-delay {
  visibility: visible;
}

body {
	color: #141414;
	font-family: source-han-sans-japanese, sans-serif;
	font-style: normal;
}

.leftmenu {
	z-index: 101;
	width: 250px;
	position: fixed;
	text-align: center;
	background: #007f41;
	height: 100vh;
	top: 0;
	left: 0;
	border-right: solid 1px #E4E4E4;
}@media screen and (max-width: 768px) {
	.leftmenu {
		display: none;
	}
}

.leftmenu .logo {
	padding: 30px 0 38px 25px;
	border-bottom: 18px solid #8ec31f;
	font-size: 25px;
	font-weight: bold;
	color: #333;
	background: #FFF;
	line-height: 100%;
	text-align: left;
	font-family: Meiryo;
}

.leftmenu .logo span {
	font-size: 18px;
	font-weight: bold;
}

.leftmenu .logo img {
	margin-bottom: 20px;
}

.leftmenu ul {
	margin-top: 6vh;
	border-top: #f2f2f2 solid 1px;
}

.leftmenu ul li {
	padding: 17px 0 17px;
	text-align: left;
	padding-left: 35px;
	border-bottom: #f2f2f2 solid 1px;
	background: url("../images/arw.png") no-repeat right 10px center;
}

.leftmenu ul li a {
	font-size: 15px;
	font-weight: bold;
	color: #fff;
	line-height: 100%;
	display: block;
}

.leftmenu ul li a span {
	font-size: 12px;
	font-weight: normal;
	color: #fff;
	line-height: 100%;
}

.leftmenu .loginform {
	margin-top: 7vh;
	padding-left: 35px;
	text-align: left;
}

.leftmenu .loginform h2 {
	color: #fff;
	font-size: 16px;
}

.leftmenu .loginform input[type="text"],.leftmenu .loginform input[type="password"] {
	border: 0;
	padding: 3px;
	margin: 3px 0;
}

.leftmenu .loginform span {
	font-size: 10px;
	color: #fff;
	line-height: 100%;
	vertical-align: middle;
}

.leftmenu .loginform input[type="checkbox"] {
	margin: 0 5px 0 0;
	line-height: 100%;
	vertical-align: middle;
}

.leftmenu .loginform .sbutton {
	display: block;
	margin: 10px 0 10px;
	text-align: center;
	width: 126px;
	height: 22px;
	background: url("../images/common/login.png") left top no-repeat;
	border: 0;
	cursor: pointer;
}

.leftmenu a.links {
	font-size: 14px;
	text-align: left;
	color: #FFF;
	margin-top: 16px;
	background: url("../images/common/arw.png")no-repeat left center;
	padding-left: 10px;
}

@media screen and (max-width: 768px) {
	.leftmenu {
		display: none;
	}
}

.wrap {
	padding-left: 250px;
}@media screen and (max-width: 768px) {
	.wrap {
		padding-left: 0;
	}
}

.container {
	max-width: 960px;
	margin: auto;
}

.title01 {
    margin:  0;                 /* デフォルトCSS打ち消し */
    border-bottom: solid 3px #007f41;   /* 線指定 */
    padding-bottom:  5px;       /* 余白指定 */
    margin-bottom: 15px;        /* 周りの余白指定 */
    position:  relative;        /* 位置調整 */
    font-weight:  normal;       /* 文字の太さ調整 */
	font-size: 28px;
	font-weight: bold;
	text-align: left;
	color: #006333;
	/* text-shadow    : 
       2px  2px 1px #ffffff,
      -2px  2px 1px #ffffff,
       2px -2px 1px #ffffff,
      -2px -2px 1px #ffffff,
       2px  0px 1px #ffffff,
       0px  2px 1px #ffffff,
      -2px  0px 1px #ffffff,
       0px -2px 1px #ffffff;*/
}

.title01:before {
    content:  '';                   /* 空白の要素を作る */
    width: 55px;                    /* 幅指定 */
    height: 3px;                    /* 高さ指定 */
    background-color: #8ec31f;      /* 背景色指定 */
    display:  block;                /* ブロック要素にする */
    position:  absolute;            /* 位置調整 */
    left:  0;                       /* 位置調整 */
    bottom: -3px;                   /* 位置調整 */
}

.link01 {
	margin: 20px 0 0;
	background: #107B00;
	color: #FFF;
	display: inline-block;
	padding: 10px 30px;
	line-height: 100%;
}

footer {
	padding: 60px 0;
	text-align: center;
}

footer p {
	font-size: 14px;
}


@media screen and (max-width: 768px) {
	.pc {
		display: none;
	}
	aside {
		margin-bottom:10px;
	}

	aside nav {
		background: #24885a;
	}

	aside nav ul {
		margin: 0;
		list-style-type: none;
		width:100%;
	}

	aside nav ul li {
		width:25%;
		margin: 0;
		text-align: center;
	}

	aside nav ul li a{
		display: block;
		background:#dedede;
		margin:0;
		padding:10px 20px;
		border-right:1px solid #666;
		border-left: 1px solid #fff;
		box-sizing:border-box;
		text-decoration: none;
	}

	aside nav ul li a:hover {
		background:#60d7a0;
	}

	aside nav ul li ul {
		display: none;
	}

	aside a, a:hover {
		-o-transition: color 0.25s ease-in;
		-webkit-transition: color 0.25s ease-in;
		-moz-transition: color 0.25s ease-in;
		transition: color 0.25s ease-in;
	}
	#logo2 {
		position:absolute;
		top:5px;
		left:5px;
	}

}

@media screen and (max-width: 768px) {
	.spacer {
		height: 48px;
	}
}

@media screen and (min-width: 769px) {
	.sp {
		display: none;
	}
	
	aside {
		display:none;
	}
}

.bn_area {
	padding: 60px 0;
	text-align: center;
}

.bn_area ul {
	display: flex;
	justify-content: space-around;
	max-width: 70%;
	margin: auto;
}@media screen and (max-width: 768px) {
	.bn_area ul {
		flex-wrap: wrap;
	}
}

.bn_area ul li {
	border: #CCCCCC solid 1px;
	margin: 10px 0;
}

.sbutton2 {
	background: #FFAE00;
	font-size: 16px;
	font-weight: bold;
	padding: 5px 15px 8px;
	display: block;
	color: #FFF;
	line-height: 100%;
	border-radius: 5px;        /* CSS3草案 */  
    -webkit-border-radius: 5px;    /* Safari,Google Chrome用 */  
    -moz-border-radius: 5px;   /* Firefox用 */
	width: 140px;
	text-align: center;
	margin: 10px 0;
}@media screen and (max-width: 768px) {
	.sbutton2 {
		margin: 10px auto;
	}
}