@charset "UTF-8";
body {
 margin: 0;
 padding: 0;
 text-align: center;
 font-family: "Noto Sans JP", sans-serif;
 height: 100%;
 -webkit-text-size-adjust: 100%;
 color: #555;
}
img {
 border: none;
 vertical-align: top;
}
h1, h2, h3, h4, h5, p, ul, li, form, dl, dt, dd, div {
 margin: 0;
 padding: 0;
 font-size: 100%;
 line-height: 1;
}
ul, li {
 list-style: none;
}
* {
 box-sizing: border-box;
 vertical-align: top;
}
input {
 outline: none;
}
input[type="button"], input[type="submit"] {
 border-radius: 0;
 line-height: 1;
 -moz-appearance: none;
 -webkit-appearance: none;
 appearance: none;
 cursor: pointer;
}
input[type="text"], input[type="password"], input[type="email"], input[type="tel"] {
 font-size: 16px;
 border-radius: 0;
 -moz-appearance: none;
 -webkit-appearance: none;
 appearance: none;
}
select {
 font-size: 16px;
 border-radius: 0;
 -webkit-appearance: none;
 -moz-appearance: none;
 appearance: none;
 text-indent: 0.01px;
 text-overflow: '';
}
select::-ms-expand {
 display: none;
}
textarea {
 font-size: 16px;
 border-radius: 0;
 -moz-appearance: none;
 -webkit-appearance: none;
 appearance: none;
}
input::-webkit-input-placeholder {
 color: #ccc;
}
input::-moz-placeholder {
 color: #ccc;
}
input:-moz-placeholder {
 color: #ccc;
}
input:-ms-input-placeholder {
 color: #ccc;
}
textarea::-webkit-input-placeholder {
 color: #ccc;
}
textarea::-moz-placeholder {
 color: #ccc;
}
textarea:-moz-placeholder {
 color: #ccc;
}
textarea:-ms-input-placeholder {
 color: #ccc;
}
a {
 outline: none;
 color: #003300;
 text-decoration: none;
}
a:hover {
 text-decoration: underline;
}
* {
 box-sizing: border-box;
}
/*----clearfix----*/
.clearfix:after {
 content: ".";
 display: block;
 clear: both;
 height: 0;
 visibility: hidden;
 font-size: 0.01em;
}
.clearfix {
 min-height: 1px;
}
* html .clearfix {
 height: 1px;/*\*//*/
  height: auto;
  overflow: hidden;
  /**/
}
.mt10 {
 margin-top: 10px!important;
}
.mt20 {
 margin-top: 20px!important;
}
.mt30 {
 margin-top: 30px!important;
}
.mb0 {
 margin-bottom: 0!important;
}
.mb10 {
 margin-bottom: 10px!important;
}
.mb20 {
 margin-bottom: 20px!important;
}
.mb30 {
 margin-bottom: 30px!important;
}
.ml10 {
 margin-left: 10px!important;
}
.ml20 {
 margin-left: 20px!important;
}
.ml30 {
 margin-left: 30px!important;
}
.mr10 {
 margin-right: 10px!important;
}
.mr20 {
 margin-right: 20px!important;
}
.mr30 {
 margin-right: 30px!important;
}
/* PC */
@media screen and (min-width: 1000px) {
 .sp {
  display: none;
 }
 a.over {
  opacity: 1;
  transition: 0.3s;
 }
 a.over:hover {
  opacity: 0.7;
 }
 body {
  background: url("../img/pc_bg.png") no-repeat right bottom #2a6644;
 }
 #container {
  font-size: 16px;
 }
 #contents {
  float: left;
  width: 50%;
  min-height: 100vh;
  background: #fff;
 }
 #contents:after {
  content: "";
  position: fixed;
  top: 0;
  left: 50%;
  width: 1px;
  height: 100%;
  background: #2a6644;
  border-right: 1px solid #fff;
 }
 #contents .contentsinner {
  width: 500px;
  padding: 60px 20px 20px 20px;
  margin: 0 0 0 auto;
 }
 #contents h1 {
  margin: 0 0 80px 0;
 }
 #contents h1 a {
  display: block;
  background: url("../img/pc_logo.png") no-repeat 0 0;
  width: 460px;
  height: 0;
  padding: 100px 0 0 0;
  overflow: hidden;
 }
 #topics {
  margin: 0 0 30px 0;
  text-align: left;
 }
 #topics ul {
  margin: 0 -20px 0 0;
 }
 #topics li {
  width: 220px;
  float: left;
  margin: 0 20px 20px 0;
 }
 #topics li .pic {
  margin: 0 0 10px 0;
 }
 #topics li .pic img {
  width: 220px;
  height: auto;
 }
 #topics li .info {
  font-size: 14px;
  line-height: 1.5;
 }
 #news {
  margin: 0 0 110px 0;
  text-align: left;
 }
 #news h2 {
  color: #2a6644;
  font-size: 12px;
  font-weight: bold;
  margin: 0 0 15px 0;
 }
 #news h2 .title {
  font-size: 24px;
  vertical-align: bottom;
  margin: 0 10px 0 0;
 }
 #news .newslist li {
  font-size: 16px;
  margin: 0 10px 10px 10px;
  line-height: 1.5;
 }
 #news .newslist .date {
  margin: 0 10px 0 0;
 }
 .copyright {
  font-size: 12px;
  text-align: left;
 }
 #side {
  float: right;
  width: 50%;
  min-height: 100vh;
 }
 #side .sideinner {
  width: 500px;
  padding: 60px 20px 20px 0;
  margin: 0 auto 0 0;
 }
 #pagetop {
  position: fixed;
  bottom: 0;
  right: 50%;
  margin: 0 -50px 0 0;
 }
 #pagetop a {
  display: block;
  background: url("../img/pc_pagetop.png") no-repeat center top;
  width: 50px;
  height: 0;
  padding: 40px 0 0 0;
  overflow: hidden;
 }
 #pcnav {
  text-align: left;
 }
 #pcnav a {
  display: block;
  color: #fff;
  background: url("../img/pc_naviicon.png") no-repeat 0 4px;
  padding: 0 0 0 30px;
  text-decoration: none;
 }
 #pcnav li {
  margin: 0 0 40px 0;
  line-height: 1.2;
 }
 #pcnav li .navitext {
  display: block;
  font-size: 24px;
  font-weight: bold;
 }
 #pcnav li.cs {
  opacity: 0.5;
  background: url("../img/pc_naviicon.png") no-repeat 0 4px;
  padding: 0 0 0 30px;
  color: #fff;
 }
 #pcnav .at a {
  background: url("../img/pc_naviicon_at.png") no-repeat 0 4px;
 }
}
/* SP */
@media screen and (max-width: 999px) {
 .pc {
  display: none;
 }
 .sp {
  display: block;
 }
 img {
  max-width: 100%;
  height: auto;
 }
 body {
  background: url("../img/sp_bg.png") no-repeat right bottom #2a6644;
  background-size: contain;
 }
 #container {
  font-size: 20px;
  margin: 0 15px;
  background: #fff;
 }
 #contents .contentsinner {
  padding: 0 0 15px 0;
 }
 #header {
  padding: 15px 20px;
 }
 #spnav {
  background: #2a6644;
  text-align: left;
  border-bottom: 1px solid #2a6644;
 }
 #spnav ul {
  border-bottom: 1px solid #fff;
 }
 #spnav a {
  display: block;
  color: #fff;
  background: url("../img/sp_naviicon.png") no-repeat 0 0;
  background-size: 20px auto;
  padding: 5px 0 10px 20px;
  text-decoration: none;
 }
 #spnav li {
  display: inline-block;
  width: 32%;
  font-size: 10px;
  line-height: 1.5;
 }
 #spnav li .navitext {
  display: block;
  font-size: 14px;
  font-weight: bold;
 }
 #spnav li.cs {
  opacity: 0.5;
  background: url("../img/sp_naviicon.png") no-repeat 0 0;
  background-size: 20px auto;
  padding: 5px 0 10px 20px;
  color: #fff;
 }
 #spnav .at a {
  background: url("../img/sp_naviicon_at.png") no-repeat 0 0;
  background-size: 20px auto;
 }
 #main {
  padding: 20px 15px 30px 15px;
  min-height: 500px
 }
 #topics {
  margin: 0 0 30px 0;
  text-align: left;
 }
 #topics ul {
  margin: 0 0 0 0;
 }
 #topics li {
  width: 48%;
  float: left;
  margin: 0 4% 3% 0;
 }
 #topics li:nth-child(2n) {
  float: right;
   margin: 0 0 3% 0;
}
 #topics li:nth-child(2n+1) {
  float: left;
   margin: 0 4% 3% 0;
}
 #topics li .pic {
  margin: 0 0 5px 0;
 }
 #topics li .pic img {
  width: 100%;
  height: auto;
 }
 #topics li .info {
  font-size: 12px;
  line-height: 1.5;
  padding: 0 3px;
 }
 #news {
  margin: 0 0 40px 0;
  text-align: left;
 }
 #news h2 {
  color: #2a6644;
  font-size: 10px;
  font-weight: bold;
  margin: 0 0 10px 0;
 }
 #news h2 .title {
  font-size: 20px;
  vertical-align: bottom;
  margin: 0 10px 0 0;
 }
 #news .newslist li {
  font-size: 14px;
  margin: 0 3px 5px 3px;
  line-height: 1.5;
 }
 #news .newslist .date {
  margin: 0 10px 0 0;
 }
 .copyright {
  padding: 0 10px;
  font-size: 10px;
  text-align: center;
  line-height: 1.2;
 }
 #pagetop {
  margin: 40px 15px 0 15px;
 }
 #pagetop a {
  display: block;
  width: 42px;
 }
}
/* 下層 */
/* PC */
@media screen and (min-width: 1000px) {
 .page #contents {
  float: left;
  width: 70%;
  min-height: 100vh;
  background: #fff;
 }
 .page #contents:after {
  content: "";
  position: fixed;
  top: 0;
  left: 70%;
  width: 1px;
  height: 100%;
  background: #2a6644;
  border-right: 1px solid #fff;
 }
 .page #contents .contentsinner {
  width: 700px;
  padding: 60px 20px 20px 20px;
  margin: 0 auto 0 auto;
 }
 .page #side {
  float: right;
  width: 30%;
  min-height: 100vh;
 }
 .page #side .sideinner {
  width: 300px;
  padding: 60px 20px 20px 0;
  margin: 0 auto 0 0;
 }
 .page #contents h1 {
  width: 320px;
  margin: 0 auto 80px auto;
 }
 .page #contents h1 a {
  display: block;
  background: url("../img/pc_logo_in.png") no-repeat 0 0;
  background-size: cover;
  width: 320px;
  height: 0;
  padding: 70px 0 0 0;
  overflow: hidden;
 }
 .page .contentsbody {
  padding: 0 0 120px 0;
 }
 .page .contentsbody h2 {
  text-align: left;
  font-size: 24px;
  font-weight: bold;
  color: #2a6644;
  margin: 0 0 20px 0;
 }
 .page .contentsbody p {
  text-align: left;
  line-height: 2;
 }
 .page .infolist {
  margin: 30px 0 0 0;
  text-align: left;
 }
 .page .infolist dt{
  font-weight: bold;
  margin: 0 0 10px 0;
  font-size: 18px;
 }
  .page .infolist dt .date{
  margin: 0 0 0 10px;
 }
 .page .infolist dd{
  line-height: 1.6;
  padding: 0 0 0 15px;
  margin: 0 0 30px 0;
 }
}
/* SP */
@media screen and (max-width: 999px) {
 .page .contentsbody {
  padding: 0 0 60px 0;
 }
 .page .contentsbody h2 {
  text-align: left;
  font-size: 20px;
  font-weight: bold;
  color: #2a6644;
  margin: 0 0 20px 0;
 }
 .page .contentsbody p {
  text-align: left;
  line-height: 2;
  font-size: 14px;
 }
 .page .infolist {
  margin: 30px 0 0 0;
  text-align: left;
 }
 .page .infolist dt{
  font-weight: bold;
  margin: 0 0 10px 0;
  font-size: 16px;
 }
  .page .infolist dt .date{
  margin: 0 0 0 10px;
 }
 .page .infolist dd{
   font-size: 14px;
 line-height: 1.6;
  padding: 0 10px 0 10px;
  margin: 0 0 30px 0;
 }
}