@charset "UTF-8";
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.2/css/all.min.css');


/*------------------------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*/

body {
	background:#fff;
	font-family:'Hiragino maru Gothic ProN', 'ヒラギノ丸ゴ ProN W4', 'Meiryo', 'メイリオ', -apple-system, BlinkMacSystemFont, sans-serif;
	color:#4d4d4d;
	margin:0 auto;
	text-align:left;
	font-size:16px;
    line-height: 1.7;
}

h1, h2, h3, h4, h5, h6, p, ul{ margin: 0; padding: 0;}
h1{ margin: 0;}
h1 img{}
@media screen and (max-width: 1040px) {
h1{ width: 100%; text-align: center;}
h1 img{ width: 100%; max-width: 190px; height: 100%; max-height: 130px; margin: 0 auto;}
}

h2{ text-align: center; font-size: 32px; margin-bottom: 1em;}
h3{ font-size: 24px; margin-bottom: 1em;}
h4{ font-size: 21px;}
p{ margin-bottom: 1em;}


section{ margin-bottom: 40px; }
section section{ margin-bottom: 20px;}
article{}
address{ font-style:normal;}
a{word-break: break-all;}
a:link, a:visited{ text-decoration: none; color:#007ab0;}/*007ab0*/
a:hover{ opacity: 0.6; transition: 0.4s; color:#0099FF;}/*0099FF*/
area { outline:none; }



/* news */
.color01,
.color02,
.color03{ padding: 50px 0;}
.color01{background: rgb(227,233,196);
background: linear-gradient(135deg, rgba(234,238,167,1) 0%, rgba(170,210,100,1) 50%);}

.color01 h2{ white-space: nowrap; margin-right: 1em; margin-bottom: 0;}
.color01 h2 span{ display: block; font-size: 14px; color: #f29600;}


.newsBox{ display: flex;}
.newsBox .news{ width: 100%;}
@media screen and (max-width: 1040px) {
.newsBox{ display: block;}
}

.newsList{ margin-bottom: 1em;}
.newsList li{ display: flex; padding: 20px 0; margin-bottom: 20px; border-bottom: 1px solid #ccc; line-height: 2em;}
.newsList li div{ margin-left: 1em;}
.arrow{ width: 24px; margin-top: -4px;}
.arrow img{ width: 24px; height: 24px;}

.newsList li p{ font-size: 18px;}
.newsList li p a{ color: #000;}

.date{ color: #006934; font-size: 14px;}
.tag{ line-height: 1.5em;}
.tag a{ font-size: 12px; display: inline-block; padding: 0 1em; color: #006934; background: #fff; border: 1px solid #006934; border-radius: 100px;}

.subNav{ margin-bottom: 2em;}

/*---pager---*/
.pager{ font-family: 'Oswald', sans-serif; text-align: center;}
.pager a{ display: inline-block; min-width: 2em; margin: 4px; padding: 4px 8px; color: #666; background: #efefef; border: 1px solid #999; border-radius: 4px; hanging-punctuation: 20px;}
.pager span { display: inline-block; min-width: 2em; margin: 4px; padding: 4px 8px; color: #006934; background: #f2f6ff; border: 1px solid #006934; border-radius: 4px; hanging-punctuation: 20px;}
/* newsEnd */


/*------*/
.wrapBox{ width: 100%; max-width: 1040px; margin: 0 auto; padding: 0 1em;}

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

}


/*------------------------Style*/

.pageTitle{ font-size: 28px; padding: 1em; background: #ccc; background: rgb(227,233,196);
background: linear-gradient(135deg, rgba(234,238,167,.5) 0%, rgba(170,210,100,.5) 50%);}

.subPage{}
.subPage h3 { position: relative; padding: .5em 0;}
.subPage h3:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  content: '';
  background-image: linear-gradient(to right, #fa709a 0%, #fee140 100%);
}

.subPage h4{}



/* main */
main{ text-align:left;}


/* header */
header{}
@media screen and (max-width: 1040px) {
header h1{ margin: 20px auto ; height: 190px;}
}


/* footer */
footer{ width: 100%; max-width: 1040px; margin: 0 auto; padding: 4em 1em;}
footer .flexBox{ justify-content: space-between;}
footer p{ margin: 0;}

.RBox{ display: flex;}
.RBox ul{ margin-left: 4em;}
.RBox ul li a{ display: block; padding: 5px 0; color: #000;}
.RBox ul li a:before { color: #ccc; padding-right: 5px; font-size: .9em;
 font-family: "Font Awesome 6 Free";
 content: '\f111';
 font-weight: 900;
}



footer .logoBox{ margin-bottom: 2em;}
footer .logoBox img{}

footer .addTxt{ font-size: 12px;}
footer .numberBox{ font-size: 20px; margin: 5px 0;}

footer .lineBox{ margin: 2em 0;}
footer .lineBox img{height: 72px; margin-right: 10px;}


footer small{ display: block; font-size: 12px; text-align: center;}
@media screen and (max-width: 1040px) {
footer{ text-align: center;}
footer p{ margin-bottom: 1em;}

.RBox{}
.RBox ul{ margin: 0; width: 100%;}
.RBox ul li{ width: 100%; font-size: 12px;}
.RBox ul li a:before { display: none;}
.RBox ul li a{ margin: 5px; padding: 1em 0; text-align: center; border-radius: 4px; background: #e8e8e8;}

footer .numberBox{ font-size: 18px; text-align: center; margin: 1.5em auto;}

footer .logoBox{ text-align: center;}
footer .logoBox img{ margin: 40px auto; width: 100%; max-width: 190px; height: 100%; max-height: 130px;}


footer small{ font-size: 10px;}
}







.btnBox a{ display: inline-block; text-align: center; color: #f29600; background: #fff; border: 2px solid #f29600; border-radius: 800px; padding: 1em 4em; margin: 2em auto; position: relative;}
.btnBox a::after{ position: absolute; font-family: "Font Awesome 6 Free"; content: '\f105'; font-weight: 900; right: 2em;}





/* list */
.olList{ margin: 1em 0 1em 2.5em;}
.olList li{ list-style: decimal; margin-bottom: 1em;}

.ulList{ margin: 1em 0 1em 2.5em;}
.ulList li{ list-style: disc;}


.veu_contact{ background: #fafafa; border: 4px solid #ededed; border-radius: 4px; padding: 1em; margin-bottom: 4em;}
.veu_contact p{ margin: 0;}
.veu_contact p span{ display: block; font-size: 2em; font-weight: bold; color: #6bb939;}
.veu_contact p span i{ padding-right: 5px;}


blockquote{ margin: 1em; padding: 0 1em 1em; background: #fcfcfc; border: 4px solid #ebebeb; position: relative;}

blockquote:before,
blockquote:after{ color: #c5c5c5; font-family: "FontAwesome"; font-size: 1.4em;}
blockquote:before{ content: "\f10d";}
blockquote:after{ content: "\f10e";position: absolute; right: 1em; bottom: 0;}

.aboutBox{ border: 4px solid #e1e1e1; margin: 3em auto; padding: 1em; width: 100%; max-width: 820px;}
.aboutBox img{ width: 100%; max-width: 800px; height: auto;}
.aboutBox figcaption{ text-align: center; color: #828282;}


/* form */
form{ margin-bottom: 4em;}

input,
select,
button,
textarea{ padding: 10px; border: 1px solid #ccc; border-radius: 4px; max-width: 100%;}


input[type=submit],
button[type=button],
button[type=submit] { padding: 10px 2em;}

form dl dd{ margin-bottom: 1em; padding-bottom: 5px; border-bottom: 1px solid #ccc;}

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

.flexBox{ display: flex; }

.fRimg{ margin-left: 1em;}
@media screen and (max-width: 1040px) {
.flexBox{ display: block; }

.fRimg{ margin: 1em auto;}
}

p strong{ font-size: 1.2em;}
.B{ font-weight: bold; }
.kome{ text-indent: -1em; margin-left: 1em; }
.tC{ text-align: center; }
.tR{ text-align: right; }

.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{ position: fixed; z-index: 9000; bottom: 10px; right: 10px; display: none;}
.pagetop a{ box-sizing: border-box; font-size: 18px; text-align: center; display: block; background: #fff; width: 42px; height: 42px; border-radius: 120px; padding-top: 6px;box-shadow: 0 0 4px 4px rgba(0,0,0,0.2);}
.pagetop a:link, .pagetop a:visited{ color: #147b99;}
.pagetop a:hover{ opacity: 0.6; transition: 0.2s;}

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


}






































/*------------------------nav*/
.drawer{ z-index: 9999; display: flex; flex-direction: row; align-items: center; justify-content: center; position: fixed; top: 0; right: 0; width: 60px; height: 60px; background: #407611; }
.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: 1041px) {
.drawer,
.navbar_toggle{ display: none;}
}



header{ width: 100%; max-width: 1120px; margin: 2em auto; display: flex; justify-content: space-between;}
nav.menu{ width: 820px;}

@media screen and (max-width: 1040px) {
header{ margin: 0 auto;}

nav.menu{ position: fixed; -webkit-transform: translateX(100%); transform: translateX(100%); -webkit-transition:ease .5s; transition:ease .5s; z-index:9998; top: 0;  width: 100%; height: 100vh; overflow: scroll; margin: 0;}
nav.menu{ font-size: 16px; text-align: center; padding: 100px 3em; background: rgba(210, 220, 160, 1);}
}




.nav01{ text-align: right;}
.nav01 li{ display: inline-block;}
.nav01 li a{ display: block; color: #fff; margin-bottom: 1.5em;}

.contactBtn a,
.loginBtn a{ padding: .5em 3em; border-radius: 400px; margin-left: 2em;}
.contactBtn a{ background: #ffcc33;}
.loginBtn a{ background: #f29600;}

@media screen and (max-width: 1040px) {
.nav01{ text-align: center;}
.nav01 li{ display: block;}
.nav01 li a{ color: #e19682; background: #fff; border: 2px solid #e19682; margin-bottom: 1.5em; margin-left: 0;}

.contactBtn a,
.loginBtn a{}
}




.nav02{ text-align: right;}
.nav02 li{ display: inline-block; font-size: 17px;}
.nav02 li a{ display: block; padding: 5px 1em; color: #8c6239; transition: all 0.5s;}
.nav02 li a{ text-decoration: none; position: relative; }
.nav02 li a:hover{ opacity: 1;}
.nav02 li a::before {
background: #407611;
content: '';
width: 100%;
height: 2px;
position: absolute;
left: 0;
bottom: 0;
margin: auto;
transform-origin: right top;
transform: scale(0, 1);
transition: transform .3s;
}

.nav02 li.visit a::before,
.nav02 li a:hover::before {
transform-origin: left top;
transform: scale(1, 1);
}

@media screen and (max-width: 1040px) {
.nav02{ text-align: center;}
.nav02 li{ display: block; margin-left: 0;}
.nav02 li a{ display: block; padding: 1em 0; border-bottom: 1px solid #bbb;}
}