@charset "UTF-8";
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.6.0/css/all.min.css');
/* @import url('https://fonts.googleapis.com/icon?family=Material+Icons'); */

/*------------------------normalize*/
html {-ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; scroll-behavior: smooth;}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary {display: block;}audio,canvas,progress,video {display: inline-block; vertical-align: baseline;}a {background: transparent;}a:active,a:hover {outline: 0;}sub,sup {font-size: 75%; line-height: 0; position: relative; vertical-align: baseline;}sup {top: -0.5em;}sub {bottom: -0.25em;}img {border: 0;}svg:not(:root) {overflow: hidden;}figure {margin: 0;}hr {-moz-box-sizing: content-box; box-sizing: content-box; height: 0;}pre {overflow: auto;}button,input,optgroup,select,textarea {color: inherit; font: inherit; margin: 0;}button {overflow: visible;}button,select {text-transform: none;}button,html input[type="button"],input[type="reset"],input[type="submit"] {-webkit-appearance: button; cursor: pointer;}button[disabled],html input[disabled] {cursor: default;}button::-moz-focus-inner,input::-moz-focus-inner {border: 0; padding: 0;}input {line-height: normal;}input[type="checkbox"],input[type="radio"] {box-sizing: border-box; padding: 0;}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button {height: auto;}input[type="search"] {-webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box;}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration {-webkit-appearance: none;}fieldset {border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em;}textarea {overflow: auto;}table {border-collapse: collapse; border-spacing: 0;}td,th {padding: 0;}img{ vertical-align: bottom;}
button{ border:none;}button:focus{ outline:none;}table { border-collapse: collapse; border-spacing: 0;}
*{ box-sizing: border-box;}
ul, ol{ margin: 0; padding: 0; list-style: none; }
dl, dt, dd{ margin: 0; padding: 0;}
/*------------------------normalizeEnd*/
html{ background: #008c3f;}
body {
    border-top: 5px solid #008c3f;
	background-image: url(../img/backS.jpg);
    background-position: center center;
    background-repeat: no-repeat;
	background-size: cover;
	font-family:'Hiragino maru Gothic ProN', 'ヒラギノ丸ゴ ProN W4', 'Meiryo', 'メイリオ', -apple-system, BlinkMacSystemFont, sans-serif;
	color:#333;
	margin:0 auto;
    padding-top: 20px;
	text-align:left;
	font-size:16px;
}
@media screen and (max-width: 1024px) {
body{ padding:0; }
}



h1, h2, h3, h4, h5, h6, p, ul, li{ margin:0; padding:0; }
h2{ font-size: 26px;}
h3{ font-size: 24px; border-bottom:1px solid #008c3f; margin-bottom: 1em; padding-bottom:5px; color:#008c3f;}
h4{ font-size: 18px;}
h5{ font-size: 16px;}

p{ font-size:16px; margin-bottom:1em; }

section{ margin-bottom: 40px; }

article{}
address{ font-style:normal;}
a:link, a:visited{ text-decoration: none; color:#007ab0;}/*007ab0*/
a:hover{ opacity: 0.6; transition: 0.4s; color:#0099FF;}/*0099FF*/
area { outline:none; }


.wrapBox{ width: 100%; max-width: 1024px; margin: 0 auto; }

@media screen and (max-width: 1024px) {

}


/*------*/



/*------------------------Style*/
main{ text-align:left; width: 100%; max-width: 680px; }
main .contentsBox{ background: rgba(255, 255, 255, 1); margin-bottom: 20px; padding:1em; border-radius:4px; }
@media screen and (max-width: 1024px) {
main{ max-width: 1024px; padding:0 10px }
}

.mainBox{ margin-bottom: 10px;}
.mainBox img{ width: 100%; max-width: 1040px;}


header{ padding: 10px 0; text-align: center;}
header h1 img{ width: 100%; max-width: 1040px;}
@media screen and (max-width: 1024px) {
header{ margin-bottom: 20px; padding: 0; text-align: left;}
header h1 img{ width: 85%;}
}


.footerImgBox{ margin-top: 4em;}
.footerImgBox img{ width: 100%; max-width: 1040px;}
@media screen and (max-width: 1024px) {
.footerImgBox{ margin-top: 1em;}
}

footer{ background: #fff; padding: 4em 0 1em; }
footer .wrapBox,
footer .txtBox { display: flex; flex-wrap: wrap; justify-content: space-between;}
footer .logoBox img{ max-width: 480px;}

footer div{ color: #008c3f; background:#fff; }
footer div section{ }
footer div section h3{ font-size: 18px; border-bottom:1px solid #008c3f; color: #008c3f; margin-bottom:5px; }
footer div section p{ font-size: 14px; color: #000;}
footer small{  display: block; text-align:center; padding:2em 1em; }

@media screen and (max-width: 1024px) {
footer{ padding: 2em 1em 6em;}
footer .wrapBox {}

.instagram img{ width: 46px;}
footer .logoBox { display: block; width: 100%; margin: 0 auto; text-align: center;}
footer .logoBox img{ width: 100%; max-width: 300px;}
}

/*------*/
.menu{ margin: 0; padding: 0; font-size:16px; }
.menu ul{ padding: 0;}
.bnBox a{ display: block; margin: 10px auto; text-align: center;}
.menu li i{ margin-right:5px; }
.menu li a{ position: relative; display: block; padding: 1em 10px; margin-bottom: 1px; color:#008c3f; background: #fff; border-radius: 4px;}
.menu li.visit a{ color:#fff; background: #008c3f;}
.menu li a:hover{ opacity:1; background:#008c3f; color:#fff; }
.menu li a span.pre { font-size: 12px; background: #000; color: #fff; padding: 5px; display: block; position: absolute; right: 0; bottom: 0;}

.menu a.noEvent{ pointer-events: none; background: #ccc; color: #666; }


@media screen and (max-width: 1024px) {
.menu li a{ border-radius: 0;}
}




/* .newsBox{ margin: 1em auto; padding: 1em; border-radius:8px; box-shadow: 0 0 4px rgba(0, 0, 0, .4); } */
.newsBox{ margin-bottom: 0;}
.newsBox h3{ margin-bottom: .4em;}
.newsBox ul{ overflow: scroll; height: 94px;}
.newsBox ul li{ display: flex; border-bottom: 1px solid #ccc; margin-bottom:10px; padding: 10px 0; }
.newsBox ul li span{ display: inline-block;}
.newsBox ul li span.date{ margin-right: 1em;}
@media screen and (max-width: 1024px) {

}








/* lowBox */
.lowBox h2{ margin-bottom: 10px; padding: 10px 20px; color: #fff; background: #008c3f;}
.lowBox h3{ margin-bottom: 10px;}
.lowBox h4{ margin-bottom: 10px; padding: 10px; background: rgba(0, 140, 63, .3); border-radius: 4px;}
.lowBox h4 span{ padding: 0 10px; }


.column2{}
.column2::after{
  content:"";
  display: block;
  width:50%;
}
.column2 a{display: block; margin: 0 auto; width: 100%; max-width: 310px;}
.column2 img{ width: 100%; max-width: 320px; margin: 0 auto 10px; padding: 0; border: 1px solid #ccc;}









/* proList */
.proList { display: flex; flex-wrap: wrap; justify-content: space-between; font-size: 11px; margin-bottom: 1em;}
.proList li { width: 48%; text-align: center; margin-bottom: 5px; border-radius: 4px; background: #eee;}
.proList li a{ display: block; padding: 10px; color: #000;}

.proList .visit{ background: #008c3f;}
.proList .visit a{ color: #fff;}
@media screen and (max-width: 1024px) {
.proList li { width: 100%;}
.proList li a{ padding: 5px;}
}


.ulList{ }
.ulList li{
list-style: disc;
margin: 0;
padding: 0;
text-indent: 0;
}




/*------*/
.figureR{ float:right; margin: 0 0 1em 1em;}
@media screen and (max-width: 1024px) {
.figureR{ float:none; margin: 1em auto; text-align: center;}

}



/*--- dl ---*/
.dl01{ display: flex; flex-wrap: wrap;}
.dl01 dt{ width: 5em;}
.dl01 dd{ width: 80%;}


/*--- List ---*/
.linkList{}
.linkList li a{ display: block; padding: 10px; margin-bottom: 10px; border-radius:2px; border:1px solid #eee; }
.linkList li a i{ padding-right: 5px; }

.list01{ margin:1em; }
.list01 li{ list-style:disc; margin-bottom:10px; }

.olList{ padding: 1em 2em;}
.olList li{ list-style: decimal;}

.olList2{}
.olList2 li{ margin-bottom: 2em;}
.olList2 li b{ font-size: 1.1em;}

.olList3{ margin: 1em 3em;}
.olList3 li{ text-indent: -2em; margin-bottom: 1em;}


/*--- btn ---*/
.btn{ text-align:center; margin: 1em auto; max-width: 80%; }
.btn a{ display:block; margin: 0 auto; padding: 1em; color: #fff; background: rgba(3, 110, 183, 1); border-radius:4px; }

.btnBox{ margin: 10px auto; padding: 0 1em; border: 1px solid #ccc; }
.btnBox section{ margin: 1em 0 2em; padding: 0; }
.btnBox section h4{ text-align: center; background: none; margin: 1em auto; padding: 0; }

.btnBox01{ display: flex; justify-content: space-between; width: 90%; margin: 20px auto; }
.btnBox01 a{ display: block; width: 80%; margin: 0 auto; padding: 1em; color: #fff; background: rgba(3, 110, 183, 1); text-align: center; border-radius:4px; border:1px solid  rgba(3, 110, 183, 1); }

.btnBox02{ display: flex; justify-content: space-between; width: 90%; margin: 20px auto; }
.btnBox02 a{ width: 48%; text-align: center; padding: 1em; color: #fff; background: rgba(3, 110, 183, 1); border-radius:4px; border:1px solid  rgba(3, 110, 183, 1); }
.btnBox02 a.hf{ }

@media screen and (max-width: 1024px) {
.btnBox01,
.btnBox02{ display:block; }
.btnBox02 a{ display:block; width:100%; margin:1em 0; }
}


.noEvent a,
a.noEvent{ pointer-events: none; background: #ccc; }

.wb{word-break: break-all;}


.box01{ border: 2px solid #f9be00; padding: 1em;}
.uLine{ border-bottom: 1px solid red;}



/* mapBox */
.mapBox{}
.mapBox iframe{
	aspect-ratio: 16 / 9;
	max-width: 1000px;
	width: 100%;
	height: auto;
}

/*table*/
.table01{ border-collapse: collapse; width: 100%; margin-bottom:2em;}
.table01 th,
.table01 td{ padding: 1em; border-bottom: 1px solid #ccc;}

@media screen and (max-width: 1024px) {
.table01 th,
.table01 td{ display:block; padding:10px; }
.table01 th{ border:none; padding: 10px 10px 0; }
}



/**/
.fitImg{ margin: 2em auto; max-width: 640px; text-align: center;}
.fitImg img{ width: 100%;}

.boxRed{ padding: 1em; border: 2px solid red; background: #fef3f4;}
.boxRed h3{ border: none; text-align: center;}


/*------------------------otherStyle*/
.PC{ display: block; }
.SP{ display: none; }

.flexBox{ display: flex; justify-content: space-between; flex-wrap: wrap;}

.B{ font-weight: bold; color: #380404;}
p.kome{ text-indent: -1em; margin-left: 1em; margin-bottom: 0; font-size: .9em; }
.tC{ text-align: center; }
.tR{ text-align: right; }
.tL{ text-align-last: left;}

.fR{ float:right; }

.red{ color: red;}


.noEvent{ pointer-events: none; }

.clear { clear:both; }
.clear hr { display:none; }
.cf:after{/*for modern browser*/
    content:"."; display: block; height:0px; clear:both; line-height:0; visibility:hidden;}
.cf {zoom:1;/*for IE 5.5-7*/}

/*pagetop*/

.pagetop a{ position: fixed; z-index: 9000; bottom: 20px; left: 0; font-size: 1.2em; font-weight: bold;}
.pagetop a{ box-sizing: border-box; display: block; background: #e52e73; border-radius: 0 4px 4px 0; padding: 2em 1em; text-align: center;writing-mode: vertical-rl;}
.pagetop a:link, .pagetop a:visited{ color: #eee;}
.pagetop a:hover{ opacity: 0.6; transition: 0.2s;}


/* .pagetop{ display: none;} */

@media screen and (max-width: 1024px) {
.PC{ display: none; }
.SP{ display: block; }

.pagetop a{ font-size: 1em; padding: 1em 10px;}
}






































/*------------------------nav*/
.drawer{ z-index: 9999; display: flex; flex-direction: row; align-items: center; justify-content: space-between; position: fixed; top: 0; right: 0; padding: 0 9px; width: 48px; height: 48px; background: #008c3f; }
.navbar_toggle{z-index:9999;}
.navbar_toggle_icon { position: relative; display: block; border-radius: 4px; height: 2px; width: 30px; background: #fff; -webkit-transition: ease .4s; transition: ease .4s;}
.navbar_toggle_icon:nth-child(1) { top: 0;}
.navbar_toggle_icon:nth-child(2) { margin: 8px 0;}
.navbar_toggle_icon:nth-child(3) { top: 0;}

/*OPEN時の動き*/
.navbar_toggle.open .navbar_toggle_icon:nth-child(1) {top: 10px; -webkit-transform: rotate(45deg); transform: rotate(45deg);}
.navbar_toggle.open .navbar_toggle_icon:nth-child(2) {-webkit-transform: translateY(-50%); transform: translateY(-50%); opacity: 0;}
.navbar_toggle.open .navbar_toggle_icon:nth-child(3) {top: -10px; -webkit-transform: rotate(-45deg); transform: rotate(-45deg);}

/*OPEN*/
.menu.open {
 -webkit-transform:translateX(0);
 transform:translateX(0);
 overflow-y: auto;
 -webkit-overflow-scrolling: touch;
}


@media screen and (min-width: 1025px) {
.drawer,
.navbar_toggle{ display: none;}
.menu{ width:330px; }
}

@media screen and (max-width: 1024px) {
nav{ position: fixed; -webkit-transform: translateX(100%); transform: translateX(100%); -webkit-transition:ease .5s; transition:ease .5s; z-index:9998; top: 0; width: 100%; margin: 0; background: #fff;}
nav.menu { padding: 50px 20px 80px; height: 100vh; overflow: scroll; font-size: 18px; text-align: left; }

.menu li a{ border-bottom:1px solid #008c3f }
.menu li.bn a,
.menu li.bn2 a{ text-align:center; border:none; }
.menu li.bn a.bnLink{ border:1px solid #008c3f;}

}


