@import url('https://fonts.googleapis.com/css?family=Poiret+One&display=swap');
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:100,300,400,500,700,900&display=swap');
@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP:300,400,500,600,700&display=swap');
@import url('https://fonts.googleapis.com/css?family=Roboto+Condensed&display=swap');
* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}
a, a small{
	-webkit-transition: all .3s;
	transition: all .3s;
}
a:focus{
  outline: none;
}
html{margin-top:0 !important; font-size: 13px;}

@media (min-width: 768px) {
  html{font-size: 16px;}
}

body {
  font-family: 'Noto Sans JP',sans-serif;
  text-align:left;
  line-height: 1.7;
  font-size: 1rem;
  font-weight: 400;
  color: #333333;
  /*
  display:flex;
  justify-content: flex-start;
  */
}

a:not(.btn), a:link:not(.btn) {color: #333333;}
a:hover:not(.btn), a:hover:not(.btn) small {color: #cccccc !important;}


#global-container{
  display:flex;
	-webkit-transition: all .3s;
	transition: all .3s;
  min-height:100vh;
  flex-direction:column;
  margin:0 auto;
  overflow:hidden;
  width:100%;
  position: relative;
}
  @media (min-width:1280px) {
    #global-container{
      width:calc(100% - 180px) ;
      margin-left:180px;
    }
  }
/* #global-container > *{min-height: 0%; }*/

/* ヘッダー
----------------------------------------------------------------------------------------------------*/
/*header {
position: relative;
}*/
header div.navbar{
  background-color: transparent;
  border-radius: 0;/*
  position: absolute;
  top: 0 !important;
  z-index:3;*/
  background-color:#ffffff;
  padding:0;
}
@media (min-width:1280px) {
  header div.navbar{display:none;}
}

header h1{margin:0; padding: .3rem 1rem; max-width:240px; width:100%; height:auto;}
@media(min-width:992px){header h1{max-width:250px;}}

ul.headermenu{list-style-type:none; margin:0 0 0 auto; padding:0; display:flex;}
ul.headermenu li{display:flex; flex-direction: column; position:static; width:50px; height:50px;}
ul.headermenu li > *:not(.dropdown-menu){display:flex; justify-content:center; flex-direction: column; align-items:center; padding:.5em; text-align:center; flex-grow:1;}
ul.headermenu li > *:not(.dropdown-menu):hover{text-decoration:none;}
ul.headermenu li:nth-child(1) a{background-color:#83beab;}
ul.headermenu li:nth-child(2) a{background-color:#4d9a7a;}
ul.headermenu li:nth-child(3) a{background-color:#378057;}
ul.headermenu li:nth-child(1) a:hover,
ul.headermenu li:nth-child(2) a:hover,
ul.headermenu li:nth-child(3) a:hover{background-color:#000000;}
ul.headermenu li:nth-child(4) div{background-color:#2c6836;}
ul.headermenu li svg{height:12px; fill:#ffffff; margin-bottom:5px; display:block;}
ul.headermenu li span{display:block; font-family: 'Poiret One', cursive; line-height:1;color:#ffffff; font-size:.8rem; font-weight:600;}
ul.headermenu li > *:not(.dropdown-menu):hover span{color:#ffffff;}
ul.headermenu .dropdown-toggle::after{display:none;}
ul.headermenu .dropdown-menu{right:0; left:auto; float:none; width:auto; max-width:none; border-radius:0; padding: .5rem; margin:0;}
ul.headermenu form{display:flex; border:2px solid #000000; border-radius:30px; padding:.3em 0 .3em 10px; }
ul.headermenu form input[type="text"]{max-width:200px;border:none; background-color:transparent;}
ul.headermenu form input[type="text"]:focus{box-shadow:none;}
ul.headermenu form .btn{background-color:transparent; border:none; align-items:center; justify-content:center;}
ul.headermenu form .btn:hover{color:#83beab;}
@media (min-width: 768px) {
  ul.headermenu li{width:78px; height:78px;}
  ul.headermenu li > *:not(.dropdown-menu){padding:1em;}
  ul.headermenu li svg {height:25px;}
  ul.headermenu li span{font-size:1rem;}
}

.fixed {
  position: fixed !important;
  top: 0;
  width: 100%;
  z-index: 10;
}

div.covid19{background-color:#006837; padding: .5em; display:flex; align-items:center; min-height:63px;}
div.covid19 dl{margin:0; }
div.covid19 dl > div{display:flex; align-items:center;}
div.covid19 dl > div > *{margin:0; color:#ffffff; font-weight:normal;}
div.covid19 dl > div > dt{ background-color:#cc0000; width:95px; height:30px; justify-content:center; align-items:center; margin-right:10px; border-radius:5px; display:none;}
div.covid19 dl > div > dd{flex:1 1 auto;}
div.covid19 dl > div a{color:#ffffff !important; font-size:.85rem;}
@media (min-width:992px) {
  div.covid19{min-height:56px; padding:.35em 1em;}
  div.covid19 dl > div > dt{display:flex;}
}

/* @media (min-width:1280px) {.fixed{width:calc(100% - 180px) ;}}
中ページ
----------------------------------------------------------------------------------------------------*/
div.belt{width:100%; z-index:55; background:#006837; position: fixed; opacity:0; display:none;}
div.belt:before,div.belt:after{content: '';	display: block; position: absolute; top:0; bottom:0; z-index:-1; width:50%;}
div.belt div.container{display:flex;}
div.belt ul{list-style-type:none; margin:0; padding:.5em; display:flex;}
div.belt ul.for{/*flex:1;*/ justify-content:center; background-color:#006837;}
div.belt ul a{color:#ffffff !important; font-size:.78rem; padding:0 .7em; border-right:1px solid #ffffff; display:inline-block;}
div.belt ul a:hover{background-color:#ffffff; color:#00431b !important; text-decoration:none;}
div.belt ul.for a:hover{color:#006837 !important;}
div.belt ul li:last-child a{border-right:0;}
div.belt ul.contact_menu{display:none;}
@media (min-width:992px) {
  div.belt:before{background-color:#006837; left:0;}
  div.belt:after{background-color:#00431b; right:0;}
  div.belt ul.for{justify-content:flex-end;}
  div.belt ul.contact_menu{/*width:39.5%;*/ background-color:#00431b; display:flex;}
}
@media (min-width:1280px) {
  div.belt{align-self:center; display:none; width:calc(100% - 180px) ;}
  .fixed div.belt{align-self:center; display:block; width:calc(100% - 180px) ;}
}


#title{position: relative;overflow:hidden; max-height:600px;}
#title > div{position: absolute; top:50px; bottom:0; left:0; right:0; display:block; display:flex; align-items:flex-end; justify-content:center; margin:0 auto; padding:0;}
#title h2{font-size:1.6rem; margin:0; display:block; padding:.3em 1em; text-align:left; background-color:#006837; color:#ffffff; font-weight:300; letter-spacing:.2em;}

/* #page{margin-top: 70px;}*/ 
#page > main > div{padding-top:2em; padding-bottom:2em;}

@media (min-width:576px) {
  #title h2{letter-spacing:.35em; padding:.3em .5em .3em 1em;}
}

@media (min-width:992px) {
  #title > div{top:88px;}
  #title h2{font-size:2.1rem; padding:.5em 2em;}
  /* #page{margin-top: 190px;}*/
  #page > main > div{padding-top:5em; padding-bottom:5em;}
}

#title.title-noimage > div{position:static; background-color:#006837; height:100px; align-items: center;}
@media (min-width: 768px) {
  #title.title-noimage > div{height:160px;}
}

.breadcrumb{font-family: 'Roboto', sans-serif; font-size: 13px; line-height:32px; font-weight:400;color:#5ba56b;}


@media (min-width:1280px) {.container {max-width:calc(1140px - 180px);}}

#page main section > div.container{margin-top:3em; margin-bottom:3em;}
#page main section:last-of-type > div.container{margin-bottom:0;}
#page main > div > section:first-of-type > div.container{margin-top:0;}


/* トップへ戻る
----------------------------------------------------------------------------------------------------*/
#page_top {
  position: fixed;
  bottom: 50px;
  right: 10px;
  z-index: 15;
}
#page_top a{
  width:50px; height:50px; 
  background-color:#18552e;
  display:flex;
  border-radius: 100%;
  align-items:center;
  justify-content:center;
}
#page_top a svg{fill:#ffffff;}
@media (min-width:576px) {
  #page_top a{width:60px; height:60px; font-size:1.1em; padding-bottom:3px;}
  #page_top a:before{border:18px solid transparent; top:-0.5em;border-bottom-color:#ffffff;}
}



/* フッター
----------------------------------------------------------------------------------------------------*/
footer{margin:auto 0 0; padding-top:3em;}
footer a img{ -webkit-transition: all .3s; transition: all .3s;}
footer a:hover img{
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}
footer > div.footerwrap img{max-width:200px;}
footer > div.footerwrap img:not(.logo){max-width:100px;}
footer > div.footerwrap{
  padding: 0;
  font-size: 90%;
}
footer > div.footerwrap > div{text-align:center;}
footer div.gray{background-color:#F2F2F2;}
footer ul{
  display: inline-flex;
  list-style-type: none;
  flex-wrap:wrap;
  padding: 0 !important;
  margin: .75rem 0;
  font-size:.8rem;
}
footer .white ul > li{
  margin:0 0 .6em;
  border-left: 1px solid #333333;
}
footer .gray ul > li{
  margin: 0;
}
footer .white ul > li:last-child{border-right: 1px solid #333333;}

footer ul > li a{color: #333333!important; padding:0 .5rem; display:block;}
footer div.dsc{
  background-color:#004200;
  color: #ffffff;
  font-size: 80%;
  padding:3px 5px;
  text-align: center;
}

@media (min-width: 992px) {
  footer > div.footerwrap img{max-width:300px;}
  footer > div.footerwrap img:not(.logo){max-width:150px;}
  footer > div.footerwrap > div.container{padding-top: 2rem; padding-bottom: 2rem;}
}
@media (min-width: 1200px) {
  footer > div{padding: 3rem 0;}
}
@media (max-width:768px) {
  footer{margin-bottom:56px;}
}

.row.no-gutters.inquiry > div{
  display: flex;
  margin: 0 auto;
}
.row.no-gutters.inquiry a{padding:10px;}
.row.no-gutters.inquiry a i{
  color:#ffffff;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.row.no-gutters.inquiry a:hover{text-decoration:none;}



.flx_menu{padding:0; margin:0; display:none;}
@media (max-width:768px) {
  .flx_menu{display:flex; position: fixed; bottom:0; left:0; right:0; width:100%; z-index:50;}
  .flx_menu a{flex:1; display:flex; justify-content:center; align-items:center; padding:1em .5em; color:#ffffff !important; font-size:.9rem;}
  .flx_menu i{font-size:1.5rem; display:inline-block; margin-right:.5em;}
  .flx_menu a:nth-child(1){background-color:#83beab;}
  .flx_menu a:nth-child(2){background-color:#4d9a7a;}
  .flx_menu a:hover{text-decoration:none; background-color:#2c6836;}
}

.flx_menu.homeonly > a{padding:0; flex:1;}
.flx_menu.homeonly > div{display:flex; width:40%; flex-direction: column;}
@media (min-width: 576px) {
  .flx_menu.homeonly > div{width:50%;}
}