@charset "utf-8";

html, body, h1, h2, h3, h4, h5, h6, ul, ol, dl, li, dt, dd, p,
header, hgroup, section, article, aside, hgroup, footer, figure, figcaption, nav {
 margin: 0;
 padding: 0;
 font-size: 100%;
}

body {
 line-height: 1.0;
 -webkit-text-size-adjust: none;
}

article,aside,canvas,details,figcaption,figure,
footer,header,hgroup,menu,nav,section,summary { 
 display:block;
}

ul, ol {
 list-style: none;
}
img {
 max-width : 100%;
 height:auto;
 vertical-align:bottom;
}

h1{margin:0px; text-decoration:none;}
h2{margin:0px;}
h3{margin:0px;}



.top-h{display:none;}

.font-b{font-weight:bold;}
.red{ color:#ff0000; }
.red-b{ color:#ff0000; font-weight:bold; }
.blue-b{color:#0000ff; font-weight:bold;}
.orange-b{color:#ff6600; font-weight:bold;}

address{
  font-style:normal;
}


/*=================================================
 * サイト全体の基本スタイル
 * ================================================= */

body {
  background:#fff;
 font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
 font-size: 17px;
 line-height: 1.6;
 color:#333;
 padding: 0; 
}

a:link { color: #eb7c7c; } 
a:visited { color: #333; } 
a:active { color: #ff0000; } 

/* スマホヘッダー　start */

@media screen and (max-width: 768px) {
.home-header {
 width:100%;
 margin: 0;
 padding: 0;
}
.header-block {
 width:100%;
 margin: 0px auto;
 padding: 0 0 10px 0;
 position:relative;
}
.header-block:after {
 content: '';
 display: block;
 clear: both;
}
.header-left {
 width:100%;
 margin: 0 auto;
 padding:0;
 text-align:left;
}
.logo {
 max-width:150px;
 text-align:left;
 margin:10px 0 0 5px;
}
.header-right {
 margin: 0;
 text-align:right;
}
.menu-block {
 margin: 10px 0;
 text-align:center;
 position:absolute;
 top:0%;
 right:0%;
 z-index:9998;
}

.main-contents {
 margin: 0px auto ;
 padding:0px 0 0 0;
 width:100%;
}

.top-wrapper {
  width:100%;
	height:100%;
	min-height:240px;
	background-size:cover;
	position:relative;
	background-repeat:no-repeat;
  margin: 0px auto 0 auto;
  text-align:center;
}
.top-image.lazyloaded {
  background-image:url('../images/main-image-sp.webp');
  animation-name: fadein-top;
  animation-duration: 2s;
}
.top-cp {
 width:50%;
 padding:0;
 min-width:200px;
 position:absolute;
 top:50%;
 left:50%;
 -webkit-transform: translate(-50%, -50%);
 transform: translate(-50%, -50%);
 text-align:center;
 filter: drop-shadow(1px 1px 1px #000);
}


@keyframes fadein {
from {
  opacity: 0;
  transform: translateY(20px);
}
to {
  opacity: 1;
  transform: translateY(0);
}
}

@keyframes fadein-top {
from {
  opacity: 0;
}
to {
  opacity: 1;
  transform: translateY(0);
}
}

.top-about-block {
 width:94%;
 margin: 60px auto ;
 padding: 0 0 60px 0;
 text-align:center;
}
.top-about-block:after {
 content: '';
 display: block;
 clear: both;
}
.top-about-block h2 {
 margin:20px 0 0 0;
 padding:0;
 text-align:left;
 font-size:24px;
 color:#333;
}
.top-about-image {
 margin:20px auto;
 padding:0;
 text-align:center;
}
.top-about-block p {
 margin:20px 0 0 0;
 padding:0;
 text-align:left;
 font-size:16px;
 line-height:2.0;
}

.top-rec-wrapper {
 width:94%;
 margin: 60px auto ;
 padding: 0;
 text-align:center;
}
.top-rec-wrapper:after {
 content: '';
 display: block;
 clear: both;
}
.top-rec-box {
 width:60%;
 margin: 80px auto;
 padding: 0;
 text-align:center;
 position: relative;
 vertical-align:top;
}
.top-rec-box a {
  display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.top-rec-box img {
 width:180px;
}
.top-rec-box img:hover {
 border:solid 5px #ff9900;
}
.top-rec-box:hover {
  opacity: 0.8;
}
.top-rec-box p {
  margin: 10px auto;
  font-size:18px;
  width:70%;
}
.top-rec-box p:hover {
  color:#006835;
}
.top-rec-box:hover {
  color:#006835;
}


.top-banner-wrapper {
 margin: 60px auto ;
 padding: 0;
 text-align:center;
}
.top-banner-wrapper:after {
 content: '';
 display: block;
 clear: both;
}
.top-baner-box {
 width:90%;
 margin: 20px auto;
 padding: 0;
 text-align:center;
}
.news-wrapper {
 margin: 0 auto ;
 padding: 60px 0 60px 0;
 text-align:center;
 background:#f1f4f3;
}
.news-wrapper:after {
 content: '';
 display: block;
 clear: both;
}
.news-block {
 width:90%;
 margin: 0 auto;
 padding: 0;
 text-align:center;
}
.news-block:after {
 content: '';
 display: block;
 clear: both;
}
.news-block h3 {
 margin:0 auto;
 padding:0;
 text-align:center;
 font-size:18px;
 color:#333;
}

ul.list-news {
  color:#030d25;
}
ul.list-news li {
 width:100%;
 display:block;
 text-align:left;
 padding:10px 10px 10px 10px;
}

.list-meta {
 margin:0;
 padding:0;
 text-align:left;
 vertical-align:top;
 width:94%;
}
.list-meta:after {
 content:"";
 display: block;
 clear: both;
}
.date {
 margin:20px 0 0 0;
 padding:10px 10px 10px 0;
 text-align:left;
 vertical-align:top;
 float:left;
 color:#333;
}
.rss-title {
 margin:0px 0 0 0;
 padding:10px 0 0 0;
 text-align:left;
 vertical-align:top;
 width:100%;
}
.rss-title a {
 font-weight:bold;
 text-decoration:underline;
}

.top-news-nav li {
-moz-border-radius: 3px;    /* Firefox */
-webkit-border-radius: 3px; /* Safari,Chrome */
border-radius: 3px;
background-color: #006835; 
text-align:center;
width:300px;
 margin:20px auto 0 auto;
}
.top-news-nav a {
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
 margin:0;
 padding: 5px;
 display: block;
 text-decoration: none;
 overflow: hidden;
 white-space: nowrap;
 text-overflow: ellipsis;
 color:#ffffff;
 font-size:16px;
 -webkit-transition-duration: 0.3s;
 transition-duration: 0.3s;
}

.global-footer {
 margin: 0px ;
 padding: 30px 0 0 0;
 font-size: 16px;
 text-align: center;
}
.footer-company-wrap {
  width:90%;
  margin: 0px auto 30px;
  padding: 0;
  text-align:center;
}
.footer-company-wrap:after {
  content: '';
  display: block;
  clear: both;
}
.footer-company-logo  {
 margin: 30px auto;
 padding: 0;
 text-align:center;
 width:300px;
}
.footer-company-address  {
 margin: 20px 0 0 0;
 padding: 0;
 text-align:center;
 font-size:16px;
}

.footer-company-address a  {
  color:#006835;
  font-weight:bold;
}
}
/* スマホ　end */



/* PC　start */
@media screen and (min-width: 769px) {
.home-header {
width:100%;
 margin: 0;
 padding: 0;
 background-color:#fff;
 position: fixed;
 top: 0px;
 z-index: 9999;
}

.header-block {
 width:100%;
 margin: 0px auto 0px auto;
 padding: 0;
}
.header-block:after {
 content: '';
 display: block;
 clear: both;
}
.header-left {
 width:24%;
 float:left;
 margin: 0;
 padding:0 ;
 text-align:left;
}

.logo {
 width:220px;
 text-align:left;
 padding:10px 0 10px 20px;
}
.header-right {
 float:right;
 width:76%;
 margin: 0;
 text-align:right;
}
.menu-block {
 margin: 24px 10px 0 0;
 text-align:right;
}

.main-contents {
 margin:0px auto 0px auto;
 padding:80px 0 0 0;
 width:100%;
}
.top-wrapper {
  width:100%;
	height:100%;
	min-height:860px;
  margin: 0 auto;
  text-align:center;
	background-size:cover;
	position:relative;
	background-repeat:no-repeat;
}
.top-image.lazyloaded {
	background-image:url('../images/main-image.webp');
  animation-name: fadein-top;
  animation-duration: 2s;
}
.top-cp {
 width:40%;
 padding:0px;
 min-width:300px;
 position:absolute;
 top:50%;
 left:35%;
 -webkit-transform: translate(-50%, -50%);
 transform: translate(-50%, -50%);
 text-align:center;
 filter: drop-shadow(1px 1px 1px #000);
}


@keyframes fadein-top {
from {
    opacity: 0;
}
to {
    opacity: 1;
    transform: translateY(0);
}
}

.top-about-block {
 width:80%;
 min-width:960px;
 margin: 60px auto ;
 padding: 0 0 60px 0;
 text-align:center;
}
.top-about-block:after {
 content: '';
 display: block;
 clear: both;
}
.top-about-block h2 {
 margin:20px 0 0 0;
 padding:0;
 text-align:left;
 font-size:24px;
 color:#333;
}
.top-about-image {
 margin:10px 0 0 30px;
 padding:0;
 text-align:right;
 float:right;
 width:400px;
}
.top-about-block p {
 margin:20px 0 0 0;
 padding:0;
 text-align:left;
 font-size:16px;
 line-height:2.0;
}

.top-rec-wrapper {
 width:90%;
 min-width:960px;
 height:300px;
 margin: 100px auto ;
 padding: 0;
 text-align:center;
}
.top-rec-wrapper:after {
 content: '';
 display: block;
 clear: both;
}
.top-rec-box {
 width:22%;
 margin: 0px 12px ;
 padding: 0;
 text-align:center;
 display:inline-block;
 position: relative;
 vertical-align:top;
}
.top-rec-box a {
  display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.top-rec-box img {
 width:180px;
}
.top-rec-box img:hover {
 border:solid 5px #ff9900;
}
.top-rec-box:hover {
  opacity: 0.8;
}
.top-rec-box p {
  margin: 10px auto;
  font-size:18px;
  width:70%;
}
.top-rec-box p:hover {
  color:#006835;
}
.top-rec-box:hover {
  color:#006835;
}


.top-banner-wrapper {
 width:80%;
 min-width:960px;
 margin: 100px auto ;
 padding: 0;
 text-align:center;
}
.top-banner-wrapper:after {
 content: '';
 display: block;
 clear: both;
}
.top-baner-box {
 width:30%;
 margin: 0px 12px ;
 padding: 0;
 text-align:center;
 display:inline-block;
 vertical-align:top;
}



.news-wrapper {
 margin: 0 auto ;
 padding: 60px 0 60px 0;
 text-align:center;
 background:#f1f4f3;
}
.news-wrapper:after {
 content: '';
 display: block;
 clear: both;
}
.news-block {
 width:70%;
 min-width:960px;
 max-width:1200px;
 margin: 0 auto;
 padding: 0;
 text-align:center;
}
.news-block:after {
 content: '';
 display: block;
 clear: both;
}
.news-block h3 {
 margin:0 auto;
 padding:0;
 text-align:center;
 font-size:18px;
 color:#333;
}

ul.list-news {
  color:#333;
}
ul.list-news li {
 width:100%;
 display:block;
 text-align:left;
 padding:10px 10px 10px 30px;
}

.list-meta {
 margin:0;
 padding:0;
 text-align:left;
 vertical-align:top;
 display:inline-block;
 width:20%;
}
.list-meta:after {
 content:"";
 display: block;
 clear: both;
}
.date {
 width:80%;
 margin:20px 0 0 0;
 padding:10px 10px 10px 0;
 text-align:left;
 vertical-align:top;
 float:left;
 border-right:1px solid #ccc;
 color:#333;
}
.rss-title {
 margin:20px 0 0 0;
 padding:10px 0 0 20px;
 text-align:left;
 vertical-align:top;
 display:inline-block;
 width:68%;
}
.rss-title a {
 color:#006835;
 font-weight:bold;
 text-decoration:underline;
}
.rss-title a:hover {
 color:#006835;
 text-decoration:underline;
}

.top-news-nav li {
-moz-border-radius: 3px;    /* Firefox */
-webkit-border-radius: 3px; /* Safari,Chrome */
border-radius: 3px;
background-color: #006835; 
text-align:center;
width:300px;
 margin:20px auto 0 auto;
}
.top-news-nav a {
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
 margin:0;
 padding: 5px;
 display: block;
 text-decoration: none;
 overflow: hidden;
 white-space: nowrap;
 text-overflow: ellipsis;
 color:#ffffff;
 font-size:16px;
 -webkit-transition-duration: 0.3s;
 transition-duration: 0.3s;
}
.top-news-nav a:hover {
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
 margin:0;
 padding: 5px;
 display: block;
 text-decoration: none;
 overflow: hidden;
 white-space: nowrap;
 text-overflow: ellipsis;
 color:#ffffff;
font-size:16px;
background-color:#188d54;
}


.global-footer {
 margin: 0px ;
 padding: 30px 0 0 0;
 font-size: 16px;
 text-align: center;
}
.footer-company-wrap {
  width:80%;
  min-width:960px;
  max-width:1200px;
  margin: 0px auto 30px;
  padding: 0;
  text-align:center;
}
.footer-company-wrap:after {
  content: '';
  display: block;
  clear: both;
}
.footer-company-logo  {
 margin: 30px auto;
 padding: 0;
 text-align:center;
 width:300px;
}
.footer-company-address  {
 margin: 20px 0 0 0;
 padding: 0;
 text-align:center;
 font-size:16px;
}

.footer-company-address a  {
  color:#006835;
  font-weight:bold;
}

}
/* PCメイン　end */

/* スマホ・PC共通 */

.contents-navi {
margin: 0; 
padding: 10px 0 0 2px;
text-align:left;
font-size:12px;
}
/* リスト */
ol.topic-path {
margin: 0; /* マージン（上下左右） */
padding: 2px 5px; /* パディング（上下、左右） */
list-style-type: none; /* リストマーク非表示 */
font-size: 13px; /* 文字サイズ */
color: #333;
}
/* リスト項目 */
ol.topic-path li {
padding-left: 2px; /* 左パディング */
display: inline; /* 項目を横並び */
}
/* リスト項目（最初の項目） */
ol.topic-path li.first {
padding-left: 0px; /* 左パディング */
}
/* リンクエリア */
ol.topic-path li a {
padding-right: 15px; /* 右パディング */
}
/* リンク色 */
ol.topic-path li a {
color: #666;
}
/* リンク色（マウスオーバー） */
ol.topic-path li a:hover {
color: #ff6600;
}

.copyright-block {
	margin: 0px auto 0px auto;
  padding:10px;
	font-size:13px;
	color:#fff;
  background:#006835;
  text-align:center;
}
.copyright {
	margin: 0px auto 0px auto;
	font-size:13px;
	color:#fff;
}
.copyright a {
	color:#fff;
	text-decoration:none;
}

