@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Overlock:wght@700&display=swap');

* { margin: 0; padding: 0; }
html { font-size:10px;} 
body { color: #333; font-family:'Noto Sans JP',Meiryo,'メイリオ','ＭＳ Ｐゴシック',sans-serif; font-size: 1.6rem; line-height: 1.8; -webkit-text-size-adjust: 100%; }
img { border: 0; vertical-align: top; -ms-interpolation-mode: bicubic; }
a { outline: none; }
a:link { color: #333333; text-decoration: none; }
a:visited { color: #333333; text-decoration: none; }
a:hover { color: #; text-decoration: underline; transition: all 0.3s ease; }
a:hover img { opacity: 0.8; transition: all 0.3s ease; }
li { list-style:none;}
button { background: transparent; border: none; appearance: none; cursor: pointer; outline: none; }
.clearfix:after { content: ''; display: block; clear: both; }

h2 { font-size:48px; font-family: 'Overlock'; text-align:center; margin-bottom: 48px;}
h3 { font-size:20px; text-align:center;}
section { margin:50px auto 100px;}

@media screen and (max-width: 767px) {
h2 { margin-bottom: 10px; font-size: 3rem; }
}

/* --------------------------------------------------
	グローバルヘッダ
-------------------------------------------------- */

header#globalHeader { width:100%;}
header#globalHeader div.inner { display:flex; justify-content:space-between; align-items:center; margin:10px 25px; background:#fff;}
header#globalHeader div.title { line-height: 1; }
header#globalHeader h1 { margin-bottom: 5px; }
header#globalHeader p { margin-left: 36px; font-size: 1.3rem; line-height: 1.2; }
header#globalHeader div.menu {}
header#globalHeader div.menu ul { display:flex;}
header#globalHeader div.menu ul li { font-size:1.5rem; margin-right:40px; position:relative;}
header#globalHeader div.menu ul li:before { content:''; width:8px; height:8px; border-top:1px solid #008000; border-right:1px solid #008000; transform:rotate(45deg); position:absolute; left:-20px; top:10px;}

@media screen and (max-width: 767px) {
header#globalHeader { padding: 20px 10px; width: auto; }
header#globalHeader div.inner { margin: 0; display: block; }
header#globalHeader h1 img { width: 100%; max-width: 400px; position: relative; z-index: 101; }
header#globalHeader p { display: none; }
header#globalHeader div.menu { display: none; }
}

/* --------------------------------------------------
	グローバルナビ
-------------------------------------------------- */
nav#globalNavi { width:100%; background:rgba(255,255,255,0.85); z-index: 9999; position:relative;}
nav#globalNavi ul { display:flex; justify-content:center; font-weight: bold;}
nav#globalNavi ul li { width:170px; text-align: center; position:relative; padding: 20px 0;}
nav#globalNavi ul li a { width:100%; display:block; border-left:1px solid #ccc;}
nav#globalNavi ul li a:hover{ text-decoration:none;}
nav#globalNavi ul ul { /*display:block;*/ width: 170px; display: none; position: absolute; top:70px;}
nav#globalNavi ul ul li { /*display:none;*/ background:#008000; position:relative;}
nav#globalNavi ul ul li:first-child { border-top:none;}
nav#globalNavi ul ul li:hover { background:#4da64d;}
nav#globalNavi ul ul li a { font-size: 1.3rem; font-weight: normal; color: #fff; border:none;}
nav#globalNavi ul ul li a:hover { color:#fff;}
nav#globalNavi ul ul ul {/* display:none; position:absolute; width:170px;*/ top:0; left:170px;}
nav#globalNavi ul li.search-btn { position:relative;}
div.search {  display:none; position: absolute; top:80px;right:48px; background:#008000; padding: 10px 20px; width: 330px;}
div.search form { color: #fff;}

@media screen and (max-width: 767px) {
nav#globalNavi { background: #008000; color: #fff; }
nav#globalNavi ul { width: 100%; background: #008000; display: none; position: absolute; top: 0; left: 0; }
nav#globalNavi ul li { padding: 0; width: auto; border-top: solid 1px #fff; text-align: left; }
nav#globalNavi ul li a { padding: 10px; border-left: 0; color: #fff; box-sizing: border-box; }
nav#globalNavi ul ul { width: auto; border-top: solid 1px #fff; display: block !important; position: static; }
nav#globalNavi ul ul li:hover { background: #008000; }
nav#globalNavi ul ul li a { padding-left: 20px; }
nav#globalNavi ul ul ul li {}
nav#globalNavi ul ul ul li a { padding-left: 40px; }
div.search { position: static; }
}

/* --------------------------------------------------
	スライダー
-------------------------------------------------- */
div.bx-wrapper { display: block; margin-top: -70px;}
#slide {}
#slide a:hover img {opacity: 1.0;}
#slide .slideWrap { position:relative;}
#slide .slide{width:100%;}
#slide .sW01 img:first-child { position:absolute; bottom:100px; right:190px;}
#slide .sW03 img:first-child { position:absolute; bottom:200px; right:160px;}
#slide .sW04 img:first-child { position:absolute; top:190px; left:190px;}
#slide .sW05 img:first-child { position:absolute; bottom:20px; left:0px;right:0;margin:auto;}
div.info { width:100%; border-bottom:2px solid #008000;}
div.info p { width:800px; margin: 40px auto; color:#e41421;}

@media screen and (max-width: 767px) {
div.bx-wrapper { margin-top: 0; }
#slide img.txt { width: 80%; }
#slide .sW01 img:first-child { margin: 0 auto; top: 40%; bottom: unset; left: 0; right: 0; }
#slide .sW03 img:first-child { margin: 0 auto; top: 40%; left: 0; right: 0; }
#slide .sW04 img:first-child { margin: 0 auto; top: 40%; left: 0; right: 0; }
#slide img.slide { margin-left: -50%; width: 200%; height: auto; }
div.info p { padding: 0 10px; width: auto; }
}

/* --------------------------------------------------
	メイン　ニュース
-------------------------------------------------- */

section#news { width:1000px;}
section#news h2 {}
section#news div { width:100%; margin:0 auto 80px;}
section#news div.inner01 { background:#d8efe1; padding: 30px 160px; box-sizing:border-box;}
section#news div.inner01 .news_info{border:solid 1px silver;background:#fefefe;padding:20px;}
section#news div.inner01 .news_info a{color:#005bbb;}
section#news h3 {}
section#news ul { margin: 30px;}
section#news ul li { position:relative; margin: 10px 0;}
section#news ul li:before { content:''; width:10px; height:10px; border-top:1px solid #008000; border-right:1px solid #008000; transform:rotate(45deg); position:absolute; left:-30px; top:9px;}
section#news div.inner02 {}
section#news div.inner02 h3 { color:#fff; background:#008000; padding: 5px 0;}
section#news div.frame { width:auto; height:410px; border: 1px solid #ccc;}
/*section#news div.frame dl { font-size:1.4rem; padding:15px 0; border-bottom:1px dotted #111111;}
section#news div.frame dl dt { color:#111111; width:220px; float:left;}
section#news div.frame dl dt span { font-weight:bold; display: inline-block; width:80px; text-align:center; margin-left:10px;}
section#news div.frame dl dt span.category01 { color:#fff; background:#1166bb;}
section#news div.frame dl dt span.category02 { color:#444444; background:#fdb601;}
section#news div.frame dl dt span.category03 { color:#fff; background:#cc0000;}
section#news div.frame dl dd { width:760px; float:left; color:#111111;}*/
section#news iframe{ width:100%; height:410px; border:none;box-sizing:border-box;}

@media screen and (max-width: 767px) {
section#news { margin: 0; width: auto; }
section#news div { margin-bottom: 30px; }
section#news div.inner01 { padding: 20px 10px; }
section#news ul { margin: 0 0 0 30px; }
section#news div.frame { width: auto; height: 400px;}
/*section#news div.frame dl dt { width: auto; float: none; }
section#news div.frame dl dd { width: auto; }*/
section#news iframe{ height:400px;}
}

/* --------------------------------------------------
	メイン　トピックス
-------------------------------------------------- */
section#topics { width:100%; background: #fef4d0; padding: 50px 0; margin-bottom: 50px;}
section#topics ul { width:1100px; margin: 50px auto 80px; display:flex; justify-content:space-between;}
section#topics ul.tp01 li { width:330px; min-height:400px; border:2px solid #008000; background:#fff;}
section#topics ul.tp01 li div { margin:20px 15px;}
section#topics strong { color:#008000;}
section#topics p { font-size:1.4rem; line-height:1.6;}
section#topics a {}
section#topics a:hover { text-decoration:none;}
section#topics ul.tp02 li { border:2px solid #008000;}
section#topics div.inner { width:1100px; margin:80px auto 0;}
section#topics div.inner h3 { color:#fff; background:#008000; padding: 5px 0;}
section#topics div.frame { width:100%; height:420px; background:#fff;}
/*section#topics div.inner ul { display:block; width:1083px; margin:0;}
section#topics div.inner dl { width:1000px; margin: 0 50px; padding:40px 0; border-bottom:1px solid #ccc;}
section#topics div.inner dl dt { width:420px; float:left;}
section#topics div.inner dl dt strong { color:#333;}
section#topics div.inner dl dt p { margin-bottom:10px;}
section#topics div.inner dl dt img { width:100%; max-width:420px;}
section#topics div.inner dl dd { width:580px; float:left; padding: 70px 0 0 30px; box-sizing:border-box;}*/
section#topics div.inner marquee{ margin-top:10px;}
section#topics div.inner marquee img{ vertical-align:revert; margin-right:5px;}
section#topics div.inner p.more { text-align:right; margin-right:50px; }
section#topics div.inner p.more a { position:relative;}
section#topics div.inner p.more a:before { content:''; width:8px; height:8px; border-top:1px solid #008000; border-right:1px solid #008000; transform:rotate(45deg); position:absolute; left:-22px; top:6px;}
section#topics iframe{ width:100%; height:420px; border:none;box-sizing:border-box;}

@media screen and (max-width: 767px) {
section#topics { padding: 20px 10px; width: auto; }
section#topics ul { margin: 10px 0 20px; width: auto; display: block; }
section#topics ul.tp01 li { margin-bottom: 10px; padding: 15px; width: auto; height: auto; text-align: center; }
section#topics ul.tp01 li img { width: 100%; max-width: 330px; height: auto; }
section#topics ul.tp01 li div { margin: 15px 0 0; text-align: left; }
section#topics ul.tp01 li div p { margin-top: 0.5em; }
section#topics ul.tp02 li { margin-bottom: 10px; }
section#topics ul.tp02 li img { width: 100%; max-width: 500px; }
section#topics div.inner { margin: 0; width: auto; }
section#topics div.frame { height: 300px; }
/*section#topics div.inner ul { width: auto; }
section#topics div.inner dl { margin: 0; padding: 20px; width: auto; }
section#topics div.inner dl dt { margin-bottom: 20px; width: auto; text-align: center; float: none; }
section#topics div.inner dl dt img { width: 100%; max-width: 320px; }
section#topics div.inner dl dd { padding: 0; width: auto; float: none;  }*/
section#topics div.inner marquee{ margin-top:10px;}
section#topics div.inner p.more { margin: 0; text-align: center; }
section#topics iframe{ height:300px;}
}

/* --------------------------------------------------
	メイン　SNS
-------------------------------------------------- */

section#sns { margin-bottom: 100px;}
section#sns div.inner { width:1100px; margin:0 auto; display:flex; justify-content: space-between;}
section#sns div.inner h3 { color:#fff; font-size:1.6rem; padding:7px 0; background:#000;}
section#sns div.inner div.sns {width:498px; height:570px; border:1px solid #ccc;}
section#sns div.inner div.fb-page-wrapper { width: 498px; }

@media screen and (max-width: 767px) {
section#sns { margin: 0; }
section#sns div.inner { width: auto; display: block; }
section#sns div.inner div.sns { padding: 0 10px; width: auto; }
section#sns div.inner div.fb-page-wrapper { width: 100%; max-width: 498px; }
.fb_iframe_widget, .fb_iframe_widget span, .fb_iframe_widget iframe[style] { width: 100% !important; }
}

/* --------------------------------------------------
	メイン　バナーエリア
-------------------------------------------------- */
section#bnrArea { width:100%; background: #fef4d0; padding: 40px 0 70px; margin-bottom: 50px;}
section#bnrArea h3 { margin-bottom: 30px;}
section#bnrArea ul { width:1100px; margin:0 auto; display:flex; justify-content:space-between;}
section#bnrArea ul li{ width:500px;}
section#bnrArea ul li img{ width:100%;}

@media screen and (max-width: 767px) {
section#bnrArea { padding: 30px 10px; width: auto; }
section#bnrArea h3 { margin-bottom: 20px; }
section#bnrArea ul { width: 100%; text-align: center; display: block; }
section#bnrArea ul li{ width:100%;}
section#bnrArea ul li img { margin-bottom: 15px; width: 100%;}
}

/* --------------------------------------------------
	メイン　マップ
-------------------------------------------------- */

section#map { width:100%; margin-bottom: 50px;}
section#map div.gmap {}
section#map div.gmap iframe { width:100%;}

@media screen and (max-width: 767px) {
section#map div.gmap ifram { height: 300px; }
}

/* --------------------------------------------------
	メイン　リンク
-------------------------------------------------- */
section#link { width:100%; margin: 50px 0;}
section#link div.inner { width:1100px; margin:0 auto; position:relative;}
section#link ul { width:1000px; margin:0 auto; display:flex; justify-content:space-around;}
section#link ul li {}
div#pagetop{ position:absolute; top:0; right:-230px;}
div#pagetop a { color:#fff; width:70px; height:70px; background:#008000; border:1px solid #fff; position:relative; display:block; text-align:center; line-height:6;}
div#pagetop a:before { content:''; width:15px; height:15px; border-top:1px solid #fff; border-right:1px solid #fff; transform:rotate(-45deg); position:absolute; top:23px; left:26px;}

@media screen and (max-width: 767px) {
section#link { margin: 0 0 30px; }
section#link div.inner { width: auto; text-align: center; }
section#link ul { margin-bottom: 20px; width: auto; flex-wrap: wrap; }
section#link li { margin-bottom: 15px; width: 50%; text-align: center; }
section#link li img { width: 140px; }
div#pagetop { position: static; }
div#pagetop a { margin: 0 auto; }
}

/* --------------------------------------------------
	フッター
-------------------------------------------------- */
footer#globalFooter { width:100%; background:#008000; position:relative;}
footer#globalFooter div.inner { width:1100px; margin:0 auto; padding:80px 0 40px;}
footer#globalFooter div.sitemap { padding-bottom: 100px;}
footer#globalFooter strong.smtitle { display: inline-block; margin-bottom:10px;}
footer#globalFooter div.sitemap ul{ color:#fff; display:flex;}
footer#globalFooter div.sitemap ul li { width: 243px;}
footer#globalFooter div.sitemap ul li ul { display:block;}
footer#globalFooter div.sitemap ul li ul li{ margin-left: 15px;}
footer#globalFooter ul a { color: #fff; font-size:1.3rem; position:relative;}
footer#globalFooter ul a:before { content:''; width:7px; height:7px; border-top:1px solid #fff; border-right:1px solid #fff; transform:rotate(45deg); position:absolute; top:6px; left:-15px;}
footer#globalFooter ul a:hover {}
footer#globalFooter div.ftNavi{}
footer#globalFooter div.ftNavi ul{ display:flex;}
footer#globalFooter div.ftNavi ul li:first-child {margin-left:15px;}
footer#globalFooter div.ftNavi ul li{ margin-right:40px;}
footer#globalFooter div.ftNavi ul li a { font-size:1.4rem;}
footer#globalFooter div.ftBottom{ width:100%; background:#fff;}
footer#globalFooter div.ftBottom div.inner { width:1100px; margin:0 auto; display:flex; justify-content: space-between; padding:40px 0 0;}
footer#globalFooter div.ftBottom div.inner dl{ margin-bottom: 40px;}
footer#globalFooter div.ftBottom div.inner dd {font-size:1.3rem; margin-left: 26px;}
footer#globalFooter div.ftBottom div.inner ul{ margin-top: 90px; display:flex;}
footer#globalFooter div.ftBottom div.inner ul li { margin-left: 15px;}
footer#globalFooter div.ftBottom p { font-size:1.2rem;}

@media screen and (max-width: 767px) {
footer#globalFooter div.inner { padding: 20px 0; width: auto; }
footer#globalFooter div.sitemap { margin-bottom: 30px; padding-bottom: 0; border-bottom: solid 1px #fff; }
footer#globalFooter strong.smtitle { margin: 0; padding: 10px; display: block; position: relative; }
footer#globalFooter strong.smtitle::after { content: '＋'; margin-top: -15px; width: 30px; height: 30px; text-align: center; line-height: 30px; display: block; position: absolute; top: 50%; right: 20px; }
footer#globalFooter strong.smtitle.active::after { content: '−'; }
footer#globalFooter div.sitemap ul { display: block; }
footer#globalFooter div.sitemap ul li { width: auto; border-top: solid 1px #fff; }
footer#globalFooter div.sitemap ul li ul { display: none; }
footer#globalFooter div.sitemap ul li ul li { margin-left: 0; padding: 10px 40px; }
footer#globalFooter div.ftNavi { padding: 0 40px; }
footer#globalFooter div.ftNavi ul { display: block; }
footer#globalFooter div.ftNavi ul li { margin-right: 0; }
footer#globalFooter div.ftNavi ul li:first-child { margin-left: 0; }
footer#globalFooter div.ftBottom { padding: 0 10px 30px; width: auto; text-align: center; }
footer#globalFooter div.ftBottom div.inner { width: auto; display: block; }
footer#globalFooter div.ftBottom div.inner dl { margin-bottom: 15px; }
footer#globalFooter div.ftBottom div.inner dd { margin: 0; }
footer#globalFooter div.ftBottom div.inner ul { margin-top: 20px; display: block; }
footer#globalFooter div.ftBottom div.inner ul li { display: inline-block; }
}

a#sp { display: none; }

@media screen and (max-width: 767px) {
div#overlay { width: 100%; height: 0; background: rgba(255,255,255,0.9); position: absolute; top: 0; left: 0; z-index: 100; }
a#sp { width: 54px; height: 54px; background: rgba(255,255,255,0.8); color: #008000; font-family: sans-serif; font-size: 12px; text-align: center; text-decoration: none; line-height: 1; display: block; position: absolute; top: 40px; right: 10px; z-index: 10000; transform: translateY(-50%); }
a#sp span { margin: 0 auto; width: 32px; height: 2px; background: #008000; display: block; position: absolute; left: 0; right: 0; transition: all 0.3s; }
a#sp span:nth-of-type(1) { top: 10px; }
a#sp span:nth-of-type(2) { top: 20px; }
a#sp span:nth-of-type(3) { top: 30px; }
a#sp p { width: 100%; position: absolute; bottom: 4px; }
a#sp.active { background: none; color: #008000; }
a#sp.active span { background: #008000; }
a#sp.active span:nth-of-type(1) { transform: translateY(10px) rotate(-45deg); }
a#sp.active span:nth-of-type(2) { opacity: 0; }
a#sp.active span:nth-of-type(3) { transform: translateY(-10px) rotate(45deg); }
}


/*   banner   */
.banner{
display:flex;
justify-content:center;
}
.banner a{
display:block;
margin:10px;
width:300px;
}
.banner a img {max-width:100%;}
.banner3{width:940px;margin:10px auto;}
.banner3 img{max-width:100%;}
@media screen and (max-width: 767px) {
.banner a img{border:solid 2px #389b07;}
.banner3{max-width:100%;padding:10px;box-sizing:border-box;}
}
/*   banner   */