@charset "UTF-8";

a, a:link, a:active     { color: #b6654d; text-decoration: underline }
a:visited     { color: #b6654d; text-decoration: underline }
a:hover       { color: #808080; text-decoration: underline }

.top01 { line-height: 1.6; padding: 10px; border-bottom: 1px dotted silver  }
html{
  scroll-behavior: smooth;
}
#header {
  background-color: #e9f0e9;
}
.header {
	max-width: 1000px;
  margin: 0 auto;
	padding: 0 1em;
  box-shadow: none;
}
.header .ttl {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
	width: 97%;
  height: 100%;
  margin: 0;
  box-sizing: border-box;
  z-index: 99;
}
.header h1 {
  padding: 0.5em 1em;
  font-size: 3.0em;
  font-weight: bold;
	color: #000;
	letter-spacing: 0.08em;
	text-align: center;
  background-color: rgba(255,255,255,0.5);
  border: 1px #fff solid;
  border-radius: 1em 0 1em 0;
}
.header h1 span {
  display: block;
	font-size: 0.7em;
  font-weight: normal;
  letter-spacing: 0.02em;
}
#pagebody {
  background-color: #e9f0e9;
}
.nav {
  width: 100%;
  padding: .4em 0 1em;
  /*position: sticky;
  top: 0;
  z-index: 3;*/
}
.nav ul {
  display: flex;
  justify-content: center;
  padding: 0 0 0.9em;
  border-bottom: 1px #ccc solid;
}
.nav ul li {
  padding: 0 1.5em;
}
.nav ul li a {
  color: #000;
  text-decoration: none;
  position: relative;
  transition: all 0.3s;
}
.nav ul li a::after {
  content: "";
  position: absolute;
  bottom: -1.2em;
  display: block;
  width: 0%;
  height: 3px;
  background-color: #007850;
  transition: all 0.3s;
}
.nav ul li a:hover::after {
  width: 100%;
}
.nav ul li a:hover,
.nav ul li a.current {
  color: #007850;
}
.rbox h2 {
  color: #007850;
  border-bottom: 1px #007850 solid;
}

.btn_set li a {
	color: #007850;
  border: 1px #007850 solid;
}
.btn_set li a i {
	display: inline-block;
  width: 1em;
  padding-left: 0.5em;
}

.btn_set li a:hover {
  color: #6b6d6d;
  border: 1px #6b6d6d solid;
}

.page_top {
  opacity: 0;
	position:fixed;
	right:25px;
	bottom:30px;
	width:50px;
	border-radius:50%;
  font-size: 13px;
	color:#fff;
	text-align:center;
	line-height:1.3;
	padding:10px 0 8px;
	cursor:pointer;
	background-color: #007850;
  transition: all 0.3s;
}
.page_top.on {
  opacity: 1;
}

@media screen and (max-width: 1000px) {
  .header {
    padding: 0;
  }
  .header h1 {
    /*width: 100%;*/
  }
  .nav {
    display: none;
  }
}

@media screen and (max-width: 600px) {
  .header .ttl {
    width: 100%;
    margin: 0 auto;
    padding: 0 4%;
  }
  .header h1 {
    width: 100%;
    padding: 0.5em;
		font-size: 1.7em;
    line-height: 1.4em;
	}
}
.link01 { line-height: 2.5; padding-top: 10px; padding-bottom: 40px; }
.title01  { color: #3c3c3c; font-size: 18px; font-weight: bold; padding: 8px 10px 6px; border-style: solid; border-width: 1px 1px 2px 5px; border-color: #c0c0c0 #c0c0c0 #c0c0c0 #7f134e   }
.title02 { color: #7f134e; font-weight: bold; padding: 10px 5px 3px; border-bottom: 1px solid #808080; }
.title03 { font-size: 15px; font-weight: bold; padding: 10px 5px 3px; border-bottom: 1px solid #808080; }
.font01 { line-height: 1.7; padding-top: 10px; padding-bottom: 10px; }
.font01b { line-height: 1.7; padding-bottom: 10px; }
.font02 { line-height: 1.7; padding-top: 10px; padding-bottom: 20px; }
.font02b { line-height: 1.7; padding-bottom: 20px; }
.font03 { line-height: 1.7; padding-top: 10px; padding-bottom: 30px; }
.font03b { line-height: 1.7; padding-bottom: 30px; }
.line01 { line-height: 1.6; padding: 5px; border-bottom: 1px solid silver; }
.end01 { line-height: 1.6; padding: 10px; border-top: 3px solid #f00; border-right: 3px solid #f00; border-left: 3px solid #f00  }
.end02 { line-height: 1.6; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; border-right: 3px solid #f00; border-bottom: 3px solid #f00; border-left: 3px solid #f00  }
