@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap');
body {
	color: #333;
	font-family: 'Noto Sans JP','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
}

/*========= 現在地表示のためのCSS ===============*/

#header {
	border-top: 10px solid #8ec555;
	height: 70px;/*Headerの高さ設定*/
	width:100%;
	justify-content: space-between;
	align-items: center;
	text-align: center;
}

.mini {
	font-size: 1rem;
	color:#ccc;
}

/*========= レイアウトのためのCSS ===============*/

img {
	width: 100%;
}
#header h1{
	font-size:2rem;
	color:#1f8859;
	background-color: #fff;
	padding: 40px 0 30px 0;
	font-weight: bold;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 900;
	letter-spacing: 3px;
	line-height: 100%;
}

h2 img {
	width: auto;
}
.sign{
	text-align: right;
}
.sign img {
	width: auto;
	width: 50%;
}
p {
	margin-top:20px;
	font-size:1.3rem;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	letter-spacing: 2px;
	color: #330000;
}

small{
	background:#333;
	color:#fff;
	display: block;
	text-align: center;
	padding:20px;
}


nav ul {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	background:#1f8859;
	opacity: 0.8;
	font-size:1rem;
	white-space: wrap;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
}

nav ul li {
	width: 50%;
	border: 1px solid #fff;
}

nav ul li#menu3 {
	width: 100%;
}

nav ul li:last-child {
	border-right: none;
}
nav ul li a {
	padding: 6% 10% 3% 10%!important;
	display: block;
	text-decoration: none;
	color: #ccc;
	transition:all 0.3s;
	height: 50px;
}
nav ul li#menu3 a {
	padding: 3% 10% 3% 10%!important;
}
nav ul li#menu1 a {
	padding: 5.5% 10% 3% 10%;
}

nav ul li.current a,
nav ul li a:hover{
	color:#fff; 
}
.topvisual {
	height: 200px;
	object-fit: cover; 
}
.news {
	background-color: #faf9f9;
	padding: 2%;
	color: #330000;
	font-size:1.1rem;
	border-radius: 1em;/*角の丸み*/
}

.news dt {
	font-size:0.9rem;
	font-weight: normal;
		color: #7c746d;
}
.news dd {
		margin: 1% 0 2% 0;
		padding: 1% 0 2% 0;
	border-bottom: 3px dotted #fff;
}
.news dd a {
	display: block;
}
.news dd a:hover {
	background-color: #efefef;
}
#mainvisual {
	text-align: left;
	line-height: 145%;
	padding: 240px 0 0 0;
}
#central {
	text-align: left;
	line-height: 145%;
}
#footer {
	clear: both;
	width: 100%;
	text-align: center;
	background-color: #f9f9f8;
	color: #333;
	padding: 1em 0 0 0;
}
#innnerfooter ul li img {
	margin: 2em 0 0 0;
}

.copy {
	background-color: #333;
	color: #fff;
	text-align: center;
	padding: 2% 0 2% 0;
	margin: 5% 0 0 0;
}

/*リンクの形状*/
#page-top strong {
	font-size: 2em;
}
#page-top a {
  display: flex;
  justify-content:center;
  align-items:center;
  background:#8ec555;
  border-radius: 30px;
  color: #fff;
  width: 60px;
  height: 60px;
  text-align: center;
  text-transform: uppercase; 
  text-decoration: none;
  font-size:0.6rem;
  transition:all 0.3s;
}

#page-top a:hover{
  background: #777;
}

/*リンクを右下に固定*/
#page-top {
  position: fixed;
  right: 20px;
  bottom:60px;
  z-index: 2;
    /*はじめは非表示*/
  opacity: 0;
  transform: translateY(100px);
}

/*　上に上がる動き　*/

#page-top.UpMove{
  animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }
  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/*　下に下がる動き　*/

#page-top.DownMove{
  animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
    opacity: 1;
  transform: translateY(0);
  }
  to {
    opacity: 1;
  transform: translateY(100px);
  }
}

@media screen and (max-width:300px) { /*galaxy fold only*/
	
	nav ul li a {
		padding: 8% 10% 3% 10%;
	}
	nav ul li#menu5 {
		font-size:0.7em;
		}
	nav ul li#menu3 a {
	padding: 3% 10% 3% 10%;
	}
	nav ul li#menu5 a {
	padding: 10% 10% 3% 10%;
	}
}

nav ul li.current a,
nav ul li a:hover{
	color:#fff; 
}
@media screen and (max-width:450px) {
	
	nav ul li a {
		padding: 5% 10% 3% 10%;
	}
	nav ul li#menu3 a {
		padding: 2% 10% 3% 10%;
	}
}
@media screen and (max-width:768px) {

	nav ul li a:hover{
		color: #666;
	}
	nav ul li.current a {
		color:#fff; 
	}

}
section{
	padding:30px;
}

section:nth-child(1){
	padding:50px 30px 30px;
}

section:nth-child(2n){
	padding:50px 30px 30px;
}
@media screen and (min-width:800px) {

	img.topvisual {
		object-fit:cover;
		height: 210px;
	}
	#contents {
		text-align: center;
	}
	#central {
		background:#fff;
		width: 100%;
	}
	#central section {
		width: 850px!important;
		margin: 0 auto;
	}
	nav ul li {
		padding:0 1% 0.1% 1%;
	}
	nav ul li a {
		padding: 3% 10% 3% 10%!important;
	}
	nav ul li#menu3 a {
		padding: 1.5% 10% 3% 10%!important;
	}
	ol.point {
		display: flex;
	flex-wrap: wrap;
	}
	ol.point li {
		width: 50%;
	}
	.ftitle {
		font-size: 1.1em;
		font-weight: bold;
	}
	#innnerfooter {
		width: 800px;
		margin: 0 auto;
	}
	#innnerfooter ul {
		display: flex;
		text-align: left;
	}
	#innnerfooter ul {
		width: 300px;
	}
	.faceb {
		margin: 0 5px 0 -2px;
		}
	#innnerfooter ul li img.testimage {
		width: 500px;
		margin: 0 0 0 0;
	}
	.news dl {
	margin: 0;
	padding: 0;
	   }
	.news dt {
		 float:left;
	padding: 1% 0 1.5% 0;
	   }
	.news dd {
	margin: 0;
		font-size: 0.9em;
		 margin-left:100px;
	border-bottom: none;
	padding: 1% 0 1.5% 0;
	   }

}

@media screen and (min-width:1280px) {
	#header h1 {
	margin: 0 0 1% 0;
	}

	nav ul{
		flex-wrap: nowrap;
	}

	nav ul li {
		width: 25%!important;
		vertical-align: middle;
		display: table-cell;
		height: 80px;
	}
	nav ul li a {
		padding: 10% 10% 3% 10%!important;
		border-bottom: none;
		border-left:none;
	}
	nav ul li#menu3 a {
		padding: 10% 10% 3% 10%!important;
	}
	nav ul li#menu1 a {
		padding: 10% 5% 3% 20%!important;
	}
#mainvisual {
	padding: 175px 0 0 0;
}
}


@media screen and (min-width:1650px) {
	#header h1 {
	margin: 0 0 0.5% 0;
	}
	nav ul li a {
		padding: 8% 10% 3% 10%!important;
	}
	nav ul li#menu1 a {
		padding: 8% 5% 3% 23%!important;
	}
	nav ul li#menu3 a {
		padding: 8% 10% 3% 10%!important;
	}
}
@media screen and (min-width:1700px) {
	
#mainvisual {
	padding: 172px 0 0 0;
}
}