@charset "utf-8";
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)

font-family: 'Courgette', cursive;
font-family: 'Noto Sans JP', sans-serif;
font-family: 'Noto Serif JP', serif;
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
/*font: inherit;*/
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers
*/
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
/*====================*/

*{
	position:relative;
	box-sizing:border-box;
}

body{
	background: #caeada;
}

body,input,textarea{
	font-family: 游ゴシック,メイリオ,Meiryo,ヒラギノ角ゴ Pro W3,Hiragino Kaku Gothic Pro,Osaka,ＭＳ\ Ｐゴシック,MS PGothic,sans-serif;
	font-family: 'Noto Sans JP', sans-serif;
	font-size:16px;
	line-height:1.5;
	letter-spacing:0.02em;
	font-weight: normal;
	color:#333;
}

*{
	outline: none;
}

a{
	color:#87b820;
}

.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em !important;
	margin-bottom: .5em !important;
}

.alignright {
	display: inline;
	float: right;
	margin-left: 1.5em !important;
	margin-bottom: .5em !important;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto !important;
	margin-right: auto !important;
}

.font130{
	font-size:130%;
}

.red{
	color: #f44336;
}

table.aligncenter{
	display:table;
}

table.flex_table.aligncenter,
table.flex_table.alignright,
table.flex_table.alignleft{
	float:none;
}

.mincho{
	font-family: 'Noto Serif JP', serif;
}

.oubun{
font-family: 'Courgette', cursive;
}

.rtl{
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}

.btn a{
	display:inline-block;
	padding:.2em 1em;
	color:#fff;
	background:#21bb75;
	border:1px solid #21bb75;
    text-decoration:none;
	transition:.2s;
	border-radius:25px;
}

.btn a:hover{
	color:#21bb75;
	background:#fff;
}

/* head */
header{
	position: absolute;
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	margin:auto;
	padding:0 1em;
	max-width:1200px;
	top:0;
	left:0;
	right:0;
	z-index: 100;
}

header #title{
	padding: .5em 2em;
	background-color: #fff;
	border-top:5px solid #009168;
	border-radius:0 0 8px 8px;
	border-left: 1px solid #ccc;
	box-shadow: 2px 2px 5px #aaa;
}

header #title h1 a{
	display: block;
	padding:.5em 0 .5em 45px;
	color:#333;
	font-size: 130%;
	text-decoration: none;
	background-image: url(./img/logo.gif);
	background-position: left center;
	background-repeat: no-repeat;
	background-size:40px auto
}

header #title > p{
	padding:.5em 0;
	color: #48a277;
	text-align: center;
	font-weight: bold;
	border-top:1px solid #48a277;
	border-bottom:1px solid #48a277;
}

header #title > p:last-child{
	display: flex;
	align-items: center;
	font-size:80%;
	border:0;
}


/* main slide */
#main-image-wrap{
	padding:3em 0;
	background-image: url(./img/slidebg.jpg);
	background-size: cover;
	background-position: center;
}

#main-image-wrap:before{
	position: absolute;
	display: block;
	content: '';
	margin: auto;
	width: 100%;
	height: 15px;
	background: rgba(123, 180, 47, .5);
	top: 0;
	left: 0;
	right: 0;
}
#main-image-wrap:after{
	position: absolute;
	display: block;
	content: '';
	margin: auto;
	width: 100%;
	height: 15px;
	background: rgba(123, 180, 47, .5);
	bottom: 0;
	left: 0;
	right: 0;
}

#main-image-wrap .mincho{
	position:absolute;
	margin: 2em auto;
	padding: 0 1em;
	max-width:1200px;
	font-size:130%;
	top:0;
	left:0;
	right:0;
	z-index: 10;
}

#main-image-wrap .mincho span{
	display:inline-block;
	padding: .5em .2em;
	color: #fff;
	background-color: rgba(33,187,117,0.8);
}

#main-image-wrap .mincho span:first-of-type{
	margin-top:-2em;
}

#main-image-slide p{
	margin:1em;
    height: 0;
    padding-top: 6%;
	text-indent:-9999px;
	box-shadow: 2px 2px 5px #aaa;
	border-radius:8px;
	background-size: cover;
	background-position: center;
}


.slick-next{
	right:30%;
}

.slick-prev{
	left:30%;
}

.slick-prev, .slick-next{
	width:32px;
	height: 32px;
	z-index:999;
}

.slick-prev:before, .slick-next:before{
	font-size:32px;
	color:#009168;
}
/* gl menu */
#gl-menu{
	margin: -100px auto 1.5em;
	width: calc( 100% - 2em);
	max-width: 1200px;
	background:#fff;
	border-top:1px solid #ccc;
	border-left:1px solid #ccc;
	border-radius: 8px;
	box-shadow: 2px 2px 5px #aaa;
	z-index: 10;
}

#gl-menu ul{
	display:flex;
	justify-content: space-between;
}

#gl-menu ul li{
	width: 100%;
}

#gl-menu ul li.key{
	background-image: url(./img/key.png);
	background-position: bottom center;
	background-repeat: no-repeat;
	background-size: 20px auto;
}

#gl-menu ul li.key:last-child{
	background-image: url(./img/key_w.png);
	background-color:#68ae8d;
}

#gl-menu ul a{
	display: block;
	padding: 75px 1em 30px;
	width: 100%;
	color: #333;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
	background-image: url(./img/menu1.png);
	background-repeat: no-repeat;
	background-position: center 20px;
}

#gl-menu ul li:nth-child(2) a{
	background-image: url(./img/menu2.png);
}

#gl-menu ul li:nth-child(3) a{
	background-image: url(./img/menu3.png);
}

#gl-menu ul li:nth-child(4) a{
	background-image: url(./img/menu4.png);
}

#gl-menu ul li:nth-child(5) a{
	background-image: url(./img/menu5.png);
}

#gl-menu ul li:nth-child(6) a{
	background-image: url(./img/menu6.png);
}

#gl-menu ul li:last-child a{
	color:#fff;


}

#gl-menu ul a:before{
	position: absolute;
	display: block;
	content: '';
	margin:auto;
	width:0;
	height: 3px;
	background:#68ae8d;
	bottom:27px;
	left:0;
	right:0;
	transition: .3s;
}

#gl-menu ul li:last-child a:before{
	background: #fff;
}


#gl-menu ul li.carrent a:before,
#gl-menu ul a:hover:before{
	width:calc(100% - 2em);
}

/* news */
#main{
	padding-top: 100px;
    margin-top: -50px;
	background-image:url(./img/mainbg.png) ;
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: center bottom;
}

#news-wrap{
	margin: 0 auto 1.5em;
	padding:1em;
	width: calc( 100% - 2em);
	max-width: 1200px;
	background:#fff;
	border-top:1px solid #ccc;
	border-left:1px solid #ccc;
	border-radius: 8px;
	box-shadow: 2px 2px 5px #aaa;
}

#news-wrap h3{
	margin-bottom: 1.2em;
	font-size: 130%;
}

#news-wrap h3 span{
	display: inline-block;
}

#news-wrap h3 span::after{
	position: absolute;
	display: block;
	content: '';
	margin: auto;
	width:100px;
	height: 3px;
	background-color: #e3a25f;
	top:0;
	bottom:0;
	left:110%;
}

#news-wrap ul{
	margin-bottom: 1.5em;
}

#news-wrap ul li span{
	display: inline-block;
	padding:.5em;
}

#news-wrap ul li .news-date{
	color: #e3a25f;
	font-weight: bold;
}

#news-wrap .btn{
	margin-bottom: 1.5em;
	text-align: center;
}

/* footer */
footer{
	background: #21bb75;
}

footer address{
	margin: auto;
	padding: 1em;
	width: 100%;
	max-width: 1200px;
	font-style:normal;
}

footer address #foot-logo{
	display: table;
	margin:0 auto .5em;
	padding-left: 40px;
	color: #fff;
	font-size: 150%;
	text-align: center;
	font-weight: bold;
		background-image: url(./img/logo.png);
	background-position: left center;
	background-repeat: no-repeat;
	background-size:contain;
}

footer address p,
footer small{
	display: block;
	color: #fff;
	text-align: center;
}

/* page */
#page header{
	position:relative;
	padding-bottom:15px;
	width:100%;
	max-width:100%;
	background:#fff;
border-top: 5px solid #009168;
border-bottom: 5px solid #009168;
z-index:1;
}

#page header #title{
	display:flex;
	justify-content:space-between;
	margin:auto;
	width:100%;
	max-width:1200px;
	border:0;
	box-shadow:none;
}

#page header #title > p{
	border:0;
}

#page header #title > p:last-child{
	display:none;
}

#page #gl-menu{
	margin-top:-20px;
}

#page #gl-menu ul li{
}

#page #gl-menu ul a{
	padding:.5em .5em 20px;
	background:none;
}

#page #gl-menu ul li:last-child a{
	color:#333;
}

#page #gl-menu ul a:before{
	bottom:0;
}

#page #main{
	margin:0 auto 1.5em;
	padding:1em 3em;
	width: calc( 100% - 2em);
	min-height:600px;
	max-width: 1200px;
	background: #fff;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
	border-radius: 8px;
	box-shadow: 2px 2px 5px #aaa;
}
#page #breadcrumb{
	margin:auto;
	padding:1em;
	max-width:1400px;
	display:flex;
	margin-bottom:0;
	font-size:90%;
	justify-content:flex-end;
}

#page #breadcrumb li{
	margin-left: .5em;
	margin-bottom:0;
	padding-left: 0;
}

#page #breadcrumb li:after{
	margin-left: .5em;
	content: '＞';
}

#page #breadcrumb li:last-child:after{
	margin-left: .5em;
	content: '';
}

#page #breadcrumb ul li:last-child:after{
	content:'';
}

#page #breadcrumb ul li:before{
	display:none;
}

#page #main h2{
	font-size:150%;
}

#page #main h3{
	clear:both;
	font-size:150%;
	margin-bottom:1em;
	color:#48a277;
}

#page #main h4{
	clear:both;
	display: table;
	margin-bottom: 1.2em;
	padding:1em 0;
	font-size:130%;
}

#page #main h4::after {
    position: absolute;
    display: block;
    content: '';
    margin: auto;
    width: 100px;
    height: 3px;
    background-color: #e3a25f;
    top: 0;
    bottom: 0;
    left: 110%;
}

#page #main h5{
padding: .5em .5em .5em 1.5em;
	clear:both;
    margin-bottom: 1.5em;
	font-size:110%;
}

#page #main h5:before {
    position: absolute;
    display: block;
    content: '●';
    color: #21bb75;
    top: .5em;
    left: 0;
}

#page #main h6{
	clear:both;
	padding:.5em 0;
	font-size:110%;
	border-bottom:1px dotted #333;
}

#page #main p{
	margin-bottom:1.5em;
}

#page #main ul:not(#breadcrumb){
	margin-bottom:1.5em;
}


#page #main ul:not(#breadcrumb) li{
	padding:.5em .5em .5em 1.5em;
	margin-bottom:.5em;
}

#page #main ul:not(#breadcrumb) li:before{
	position:absolute;
	display:block;
	content: '●';
	color: #21bb75;
	top:.5em;
	left:0;
}


#page #main table{
	margin-bottom:1.5em;
}

#page #main table td{
	padding:.5em;
}


#page footer ul{
	display:flex;
	margin:auto;
	max-width:1200px;
	
}

#page footer ul li{
	margin-right:1em;
}

#page footer ul li a{
	color:#fff;
}

/* form */

#page #main form input,
#page #main form textarea{
	max-width:100%;
	padding:.2em 1em;
	font-size: 100%;
	border:1px solid #ccc;
	border-radius:5px;
	font-family: 游ゴシック,メイリオ,Meiryo,ヒラギノ角ゴ Pro W3,Hiragino Kaku Gothic Pro,Osaka,ＭＳ\ Ｐゴシック,MS PGothic,sans-serif;
}

#page #main form textarea{
	width:100%;
}

#page #main form select{
	padding:1em;
	padding:.2em 1em;
	font-size: 100%;
	border:1px solid #ccc;
	border-radius:5px;
	font-family: 游ゴシック,メイリオ,Meiryo,ヒラギノ角ゴ Pro W3,Hiragino Kaku Gothic Pro,Osaka,ＭＳ\ Ｐゴシック,MS PGothic,sans-serif;
}

#page #main form input[type=submit],
#page #main form button[type=submit]{
	position:relative;
	display:block;
	margin:auto;
	color:#fff;
	font-weight:bold;
	letter-spacing:0.5em;
	text-shadow:none;
	background: #21bb75;
	border:0;
	cursor:pointer;
	transition:.2s;
	font-family: 游ゴシック,メイリオ,Meiryo,ヒラギノ角ゴ Pro W3,Hiragino Kaku Gothic Pro,Osaka,ＭＳ\ Ｐゴシック,MS PGothic,sans-serif;
}

#page table#mfp_confirm_table tr th,
#page table#mfp_confirm_table tr td{
	padding:1em .5em;
	font-size:100%;
}

#page .mfp_element_submit,
#page .mfp_element_reset,
#page .mfp_element_button,
#page button.mfp_next,
#page button.mfp_prev{
	position:relative;
	margin:auto;
	color:#fff;
	font-weight:bold;
	letter-spacing:0.05em;
	text-shadow:none;
	background: #21bb75;
	cursor:pointer;
	transition:.2s;
	font-family: 游ゴシック,メイリオ,Meiryo,ヒラギノ角ゴ Pro W3,Hiragino Kaku Gothic Pro,Osaka,ＭＳ\ Ｐゴシック,MS PGothic,sans-serif;
}


#page #main form input[type=submit]:hover,
#page #main form button[type=submit]:hover{
	background-color:#718692;
	transition:.2s;
}

#page #main form input[type=submit]:before {
    display: block;
    position: absolute;
    content: '';
    margin: auto;
    width: 1em;
    height: .5em;
    background: linear-gradient(to top left, rgba(255,255,255,0) 50%, #052F47 50.5%) no-repeat top left/100% 100%;
    top: .5em;
    left: -1.2em;
}

#page #main form input[type=reset]{
	position:relative;
	display:inline-block;
	margin:auto;
	padding:.5em 1em;
	width:auto;
	color:#fff;
	font-size:100%;
	letter-spacing:.8em;
	background-color:#666;
	text-align:center;
	cursor:pointer;
	transition:.2s;
}

#page #main form input[type=reset]:hover{
	background-color:#aaa;
	transition:.2s;
}

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

#page header #title{
	flex-wrap:wrap;
}

#main-image-wrap{
	padding:150px 0 1.5em;
}

#gl-menu{
	margin-top:-20px;
}

#gl-menu ul a{
	padding:.5em .5em 20px;
	background:none;
}

#gl-menu ul li:last-child a{
	color:#333;
}

#gl-menu ul a:before{
	bottom:0;
}

#gl-menu ul{
	flex-wrap:wrap;
}

#gl-menu ul li{
	width:50%;
}

#gl-menu ul li.key:last-child{
	background-image: url(./img/key.png);
	background-color:transparent;
}

#gl-menu ul li.key {
    background-position: 25% center;
}

#gl-menu ul li a{
	padding:.8em;
	background-image:none !important;
} 

#main{
	padding-top:50px;
}

}

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

#gl-menu ul li.key {
    background-position: 10% center;
}

header{
	flex-wrap:wrap;
}

header #title{
	width:100%;
}

header #title > p{
	text-align:left;
}

#main-image-wrap .mincho{
	position:relative;
	margin:1em auto;
	writing-mode:unset;
}

#main-image-wrap .mincho br{
	display:none;
}

#main-image-slide p{
	margin:0 1em 1em;
}

#news-wrap ul li span{
	display:block;
}

#page #main{
	padding:1em;
}

#page #main h4{
	padding:1em 0;
}

#page footer ul{
	flex-direction:column;
	padding:1em;
}

#page footer ul li{
	margin-bottom:1.5em;
}

#pagelogin th,
#pagelogin td{
	display:block;
	padding: .5em;
	width:100%;
	text-align:left;
}

footer address p,
footer small{
	word-break:keep-all;
}

footer address p a{
	color:#fff;
}

}
