/*----------------------------------------------------

Base
https://www.webdlab.com/labs/responsive-web-design-4/
414pxまでをスマホ縦画面用
415px〜959pxをスマホ横画面及びタブレット縦画面用
960px以上をタブレット横画面とPC用として使用

color basic
#1e2909 30,41,9
----------------------------------------------------*/

html {
  font-size: 62.5%;
}
body {
  color: #000;
  /*background: url("../img/bg.png");*/
  background-color:#fff;
  line-height: 1;
  font-family: 'M PLUS 1p', sans-serif, "游ゴシック体", "メイリオ", sans-serif;
  letter-spacing: 0.05em;
}
#wrap {
  display: block;
  overflow: hidden;
}
.sp {}
.pc {
  display: none;
}
article {}
section {}
.sec-box {
  text-align: left;
  font-size: 1.6rem;
  line-height: 1.8;
  padding: 40px 15px;
}
.sec-box:after {
  clear: both;
  content: '';
  display: block;
}
#lower  article {
    margin-top: 60px;
}
@media (min-width: 640px) {
  .sec-box {
    padding: 60px 30px;
  }
}
@media (min-width: 960px) {
  .sp {
    display: none;
  }
  .pc {
    display: block;
  }
  .sec-box {
    max-width: 90%;
    margin: 0 auto;
    padding: 100px 0;
  }
  .sec-box .read {
    font-size: 2.0rem;
  }
#lower  article {
    margin-top: 68px;
}
}
/* Loading
https://www.webcreatorbox.com/tech/loading-animation
----------------------------------------------------*/
#loading {
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  /*background-color: rgba(0,0,0,1);*/
  background-color: rgba(100,175,80);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999999;
}
.loader {
  color: #ffffff;
  font-size: 40px;
  text-indent: -9999em;
  overflow: hidden;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0) translateX(-50%) translateY(-50%);
  -webkit-animation: load6 1.7s infinite ease, round 1.7s infinite ease;
  animation: load6 1.7s infinite ease, round 1.7s infinite ease;
}
@-webkit-keyframes load6 {
  0% {
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
  }
  5%, 95% {
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
  }
  10%, 59% {
    box-shadow: 0 -0.83em 0 -0.4em, -0.087em -0.825em 0 -0.42em, -0.173em -0.812em 0 -0.44em, -0.256em -0.789em 0 -0.46em, -0.297em -0.775em 0 -0.477em;
  }
  20% {
    box-shadow: 0 -0.83em 0 -0.4em, -0.338em -0.758em 0 -0.42em, -0.555em -0.617em 0 -0.44em, -0.671em -0.488em 0 -0.46em, -0.749em -0.34em 0 -0.477em;
  }
  38% {
    box-shadow: 0 -0.83em 0 -0.4em, -0.377em -0.74em 0 -0.42em, -0.645em -0.522em 0 -0.44em, -0.775em -0.297em 0 -0.46em, -0.82em -0.09em 0 -0.477em;
  }
  100% {
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
  }
}
@keyframes load6 {
  0% {
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
  }
  5%, 95% {
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
  }
  10%, 59% {
    box-shadow: 0 -0.83em 0 -0.4em, -0.087em -0.825em 0 -0.42em, -0.173em -0.812em 0 -0.44em, -0.256em -0.789em 0 -0.46em, -0.297em -0.775em 0 -0.477em;
  }
  20% {
    box-shadow: 0 -0.83em 0 -0.4em, -0.338em -0.758em 0 -0.42em, -0.555em -0.617em 0 -0.44em, -0.671em -0.488em 0 -0.46em, -0.749em -0.34em 0 -0.477em;
  }
  38% {
    box-shadow: 0 -0.83em 0 -0.4em, -0.377em -0.74em 0 -0.42em, -0.645em -0.522em 0 -0.44em, -0.775em -0.297em 0 -0.46em, -0.82em -0.09em 0 -0.477em;
  }
  100% {
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
  }
}
@-webkit-keyframes round {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes round {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.loaded {
  opacity: 0;
  visibility: hidden;
}
/* nav
----------------------------------------------------*/
.drawer--right .drawer-nav {
  right: 0;
  display: none;
  width: 100%;
}
.drawer--right.drawer-open .drawer-nav {
  right: 0;
  display: block;
  animation-duration: 1s;
  animation-name: fade-in;
}
drawer-open .drawer-overlay {
  animation-duration: 1s;
  animation-name: fade-in;
}
.drawer-overlay {
 /* background-color: rgba(0,0,0, .75);*/
}
@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: block;
    opacity: 0;
  }
  100% {
    display: block;
    opacity: 1;
  }
}
.drawer--right.drawer-open .drawer-hamburger {
  right: 0;
}
.drawer-hamburger {
  width: 3.2rem;
  padding: 18px 10px 30px;
}
/*.drawer-open .drawer-hamburger-icon:after, .drawer-open .drawer-hamburger-icon:before {
  background-color: #fff;
}*/
.drawer-hamburger-icon, .drawer-hamburger-icon:after, .drawer-hamburger-icon:before {
  background-color: #77b52a;
}
nav.drawer-nav {
 /* background: none;
  background: #d6e8c5;*/
  background: #fff;
}
nav.drawer-nav ul {
  padding: 0px 30px 2em;
  text-align: center;
}
nav.drawer-nav li {
  padding: 11px 0;
}
nav.drawer-nav a.drawer-menu-item {
  font-size: 1.6rem;
  text-decoration: none;
  padding: 5px 10px;
  color: #00;
}
nav.drawer-nav a.drawer-pay {
  border: 1px solid #fff;
}
nav.drawer-nav .sns {
  position: unset;
  display: block;
  color:#77b52a;
  right:0px;
  top:0px;
  padding-top: 15px;
  /*padding-right: 7%;*/
  text-align: center;
}
nav.drawer-nav .sns p {
  padding: 5px;
}
nav.drawer-nav .sns a {
  position: relative;
  display: block;
  height: 0;
	width: 35px;
    padding-top: 35px;
    margin: -38px 0 0 0px;
  overflow: hidden;
}
nav.drawer-nav .sns .btTel a {
  position: relative;
  display: contents;
  height: 0;
	width: 35px;
    padding-top: 35px;
    margin: -38px 0 0 0px;
  overflow: hidden;
  color:#111;
}


nav.drawer-nav .sns .sns_i {
  fill: #fff;
  width: 30px;
  height: 30px;
  padding:20px 0 0 0;
  margin:2px 8px;
}
  nav.drawer-nav  .btTel {
	font-size:30px;
	line-height:1.4em;
	margin:0px 0 0;
}
  nav.drawer-nav  .btCntct {
	color: #FFF;
    font-size: 16px;
    line-height: 1.4em;
    background-color: #155507;
    width: 300px;
    height: 90px;
    margin: auto;
    text-align: center;
    border-radius: 5px;
}
  nav.drawer-nav  .btCntct img {
	  text-align:center;
	  padding:15px 0 5px;
}
@media (min-width: 640px) {
  .drawer--right .drawer-nav {}
  .drawer-nav {}
  .drawer--right.drawer-open .drawer-hamburger {}
}
@media (min-width: 960px) {
  .drawer .drawer-hamburger {
    display: none;
    visibility: hidden;
  }
  .drawer .drawer-nav {
    display: flex;
    justify-content: flex-end;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    position: fixed;
    width: 68%;
    height: auto;
    right: 0 !important;
    background: rgba(255, 255, 255, 0);
  }
  .drawer .drawer-nav * {
    transition: all 0.4s ease;
  }
  .drawer .drawer-nav .drawer-menu {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 0;
  }
  .drawer .drawer-nav .drawer-menu li {
    padding: 6.0em 1em 1.5em 0;
  }
  .drawer .drawer-nav .drawer-menu li:nth-of-type(1) {}
  
nav.drawer-nav .sns {
  position:absolute;
  display: flex;
  justify-content: center;
  color:#77b52a;
  right:10px;
  top:0px;
  padding-top: 0px;
}
nav.drawer-nav .sns p {
  padding: 5px 5px 5px 50px;
}
nav.drawer-nav .sns a {
	width: 35px;
    padding-top: 35px;
    margin: -38px 0 0 0px;
    position: relative;
    border-radius: 50%;
}
nav.drawer-nav .sns .sns_i {
  fill: #fff;
  width: 30px;
  height: 30px;
  padding:15px;
  margin:2px 8px;
}
  nav.drawer-nav .sns a::after {
    content: '';
    position: absolute;
    display: block;
    height: 24px;
  }
  nav.drawer-nav  .btTel {
	font-size:30px;
	line-height:1.4em;
	margin:10px 0 0 0;
}
a[href*="tel:"] {
pointer-events: none;
}

  nav.drawer-nav  .btCntct {
	color: #FFF;
    font-size: 16px;
    line-height: 1.4em;
    background-color: #77b52a;
    width:130px;
    height: 110px;
    margin: 0;
    text-align: center;
    border-radius: 0px;
/*	color:#FFF;
	font-size:16px;
	line-height:1.4em;
	background-color:#155507;
	width:130px;
	height:110px;
	text-align:center;*/
}
  nav.drawer-nav  .btCntct img {
	  text-align:center;
	  padding:15px 0 5px;
}
}
/* header
----------------------------------------------------*/
header {
  padding: 10px 10px 0 10px;
  position: fixed;
  z-index: 10;
  width: 100%;
  transition: 0.5s;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 20px 0px, rgba(0, 0, 0, 0.1) 0px 0px 1px 0px;
}
header h1 {
  width: 250px;
  opacity: 0;
  transition: 1s;
    /*margin-left: 20px;*/
}
header h1 span {
	display: block;
    margin-left: 10px;
	margin-bottom: -6px;
	font-size: 1.3em;
	color: #c50018;
}
header h1 a {
  display: block;
  width: 100%;
  height: 0;
  margin: 0 auto;
  padding-top: 20%;
  background: url("../img/logo.svg") no-repeat center left;
  background-size:contain;
  overflow: hidden;
}
.drawer--right.drawer-open h1 a {
  display: none;
}
#lower  header,
header.fixed {
  background: rgba(255,255,255, 1);
}
#lower  header  h1,
header.fixed h1 {
  opacity: 1;
}
header.fixed nav.drawer-nav li {}
header.fixed nav.drawer-nav h1 {}
@media (min-width: 640px) {}
@media (min-width: 960px) {
  header {
    padding: 5px 10px 10px;
  height: 100px;
  }  
header h1 {
  width: 210px;
  opacity: 0;
  transition: 1s;
    /*margin-left: 20px;*/
}
header h1 a {
    display: block;
    width: 160%;
    height: 0;
    margin: 0 auto;
    padding-top: 36%;
    /*margin-left: 20px;*/
    background: url(../img/logo.svg) no-repeat center left;
    background-size: contain;
    overflow: hidden;
}

header h1 span {
	display: block;
	margin-left: 16px;
	margin-bottom: -10px;
	font-size: 1.3em;
	padding-top: 15px;
}
  nav.drawer-nav a.drawer-menu-item {
    font-size: 1.6rem;
  }
}
/* Container
----------------------------------------------------*/
/* Footer
----------------------------------------------------*/
footer {
  line-height: 1.6;
  font-size: 1.2rem;
  background: #fcf9f1;
}
footer .ft_wrp{	
	max-width: 100%;
	padding-top: 20px;
	padding-bottom: 20px;
}
footer .flogo{
	width: 350px;
	height: 100%;
	margin: 0 auto;
	/*background: url("../img/logo_foot.svg") no-repeat center left;
    background-size: auto;
	background-size: contain;
	overflow: hidden;*/
}
footer .flogo span:first-of-type {
	color: #c50018;
	font-weight: bold;
}
footer .flogo p.logo {
	margin-left: -.75em;
}
footer .flogo span:last-of-type {
	display:block;
	font-size: 110%;
	padding-top: 5px;
}
footer .ft_wrp ul{	
 display: none;
 padding-top:35px;
}
footer .ft_wrp ul li{	
  padding: 1.0em 0.5em 1.5em 2em;
  font-size: 1.6rem;
}
footer .ft_wrp ul li a{
	color:#FFF;
}
footer .copyright {
  text-align: center;
  padding: 20px;
  background-color:#494949;
  color:#FFF;
}
@media (min-width: 640px) {
  }

@media (min-width: 960px) {
footer {
  line-height: 1.6;
  font-size: 1.2rem;
  background: #fcf9f1;
}
footer .ft_wrp{	
	max-width: 100%;
	padding-top: 40px;
	padding-bottom: 40px;
}
footer .ft_wrp .ctt-box2{	  
  display:flex;
  justify-content: space-between;
  padding: 0 20px;
}
footer .flogo{
	width: 360px;
	height: 100%;
	margin: unset;
}
footer .flogo p.logo img {
    width: 330px;
}
footer .ft_wrp ul{	
 display: inline-flex;
 padding-top: 0;
}
footer .ft_wrp ul li{	
  padding: 1.0em 0.5em 1.5em 2em;
  font-size: 1.6rem;
}
footer .ft_wrp ul li a{
	color:#111;
}
footer .copyright {
  text-align: center;
  padding: 20px;
}
}

/*====================================================
 Lity - v2.3.1 - 2018-04-20 http://sorgalla.com/lity/
====================================================*/
.lity {
  z-index: 9999990;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  white-space: nowrap;
  background: #0b0b0b;
  background: rgba(0, 0, 0, 0.8);
  outline: none !important;
  opacity: 0;
  -webkit-transition: opacity .3s ease;
  -o-transition: opacity .3s ease;
  transition: opacity .3s ease
}
.lity.lity-opened {
  opacity: 1
}
.lity.lity-closed {
  opacity: 0
}
.lity * {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box
}
.lity-wrap {
  z-index: 9990;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  text-align: center;
  outline: none !important
}
.lity-wrap:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  margin-right: -0.25em
}
.lity-loader {
  z-index: 9991;
  color: #fff;
  position: absolute;
  top: 50%;
  margin-top: -0.8em;
  width: 100%;
  text-align: center;
  font-size: 14px;
  font-family: Arial, Helvetica, sans-serif;
  opacity: 0;
  -webkit-transition: opacity .3s ease;
  -o-transition: opacity .3s ease;
  transition: opacity .3s ease
}
.lity-loading .lity-loader {
  opacity: 1
}
.lity-container {
  z-index: 9992;
  position: relative;
  text-align: left;
  vertical-align: middle;
  display: inline-block;
  white-space: normal;
  max-width: 100%;
  max-height: 100%;
  outline: none !important;
}
.lity-content {
  z-index: 9993;
  width: 100%;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  -webkit-transition: -webkit-transform .3s ease;
  transition: -webkit-transform .3s ease;
  -o-transition: -o-transform .3s ease;
  transition: transform .3s ease;
  transition: transform .3s ease, -webkit-transform .3s ease, -o-transform .3s ease
}
.lity-loading .lity-content, .lity-closed .lity-content {
  -webkit-transform: scale(.8);
  -ms-transform: scale(.8);
  -o-transform: scale(.8);
  transform: scale(.8)
}
.lity-content:after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6)
}
.lity-close {
  z-index: 9994;
  width: 35px;
  height: 35px;
  position: fixed;
  right: 0;
  top: 0;
  -webkit-appearance: none;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
  padding: 0;
  color: #fff;
  font-style: normal;
  font-size: 35px;
  font-family: Arial, Baskerville, monospace;
  line-height: 35px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  border: 0;
  background: none;
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none
}
.lity-close::-moz-focus-inner {
  border: 0;
  padding: 0
}
.lity-close:hover, .lity-close:focus, .lity-close:active, .lity-close:visited {
  text-decoration: none;
  text-align: center;
  padding: 0;
  color: #fff;
  font-style: normal;
  font-size: 35px;
  font-family: Arial, Baskerville, monospace;
  line-height: 35px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  border: 0;
  background: none;
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none
}
.lity-close:active {
  top: 1px
}
.lity-image img {
  max-width: 100%;
  display: block;
  line-height: 0;
  border: 0
}
.lity-iframe .lity-container, .lity-youtube .lity-container, .lity-vimeo .lity-container, .lity-facebookvideo .lity-container, .lity-googlemaps .lity-container {
  width: 100%;
  max-width: 964px
}
.lity-iframe-container {
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  overflow: auto;
  pointer-events: auto;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-overflow-scrolling: touch
}
.lity-iframe-container iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000
}
.lity-hide {
  display: none
}