#key-box {
  min-height: 134vw;
  position: relative;
	border-bottom: 0px;
}
#key-box .slide-fade {
  height: 134vw;
}
#key-box .slide-fade .photo {
  height: 100%;
}
#key-box .slide-fade .ttl {
  line-height: 1.8;
  position: absolute;
  font-size: 7vw;
  color: #fff;
  bottom: 12vw;
  left: 7%;
  z-index: 5;
  letter-spacing: 6px;
}
#key-box .slide-fade .ttl dt {
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5), 0px 0px 10px rgba(0, 0, 0, 0.5), 0px 0px 10px rgba(0, 0, 0, 0.5);
}
#key-box .slide-fade .ttl .white {
  background: #fff;
  color: #107110;
  text-shadow: none;
}
#key-box .slide-page {
  flex-direction: column;
  display: flex;
  position: absolute;
  right: 2%;
  top: 50%;
	z-index: 39;
transform: translateY(-50%);
}

.slide-page > * {
  margin-bottom: 10px;
}


@media only screen and (min-width: 768px) {
  #key-box {
    min-height: 750px;
  }
  #key-box .slide-fade {
    height: 750px;
  }
  #key-box .slide-fade .ttl {
    font-size: 45px;
    line-height: 75px;
    bottom: 274px;
    left: 80px;
  }
  #key-box .slide-fade .ttl small {
    font-size: 37px;
  }
	#key-box .slide-fade{
	z-index: 1;
	}
	.slide-btn{
		display: none;
	}
	#key-box .slide-page{
		right: 40px;
	}
	
}
@media only screen and (min-width: 768px) and (max-width: 1200px) {
	#key-box .slide-page li{
		width: 20px;
		height: 20px;
	}
}

#sec1 {
  position: relative;
  padding: 44vw 0 67vw;
  min-height: 150vw;
}
#sec1 h2 {
  position: relative;
  padding-top: 10vw;
  margin-bottom: 5vw;
}
#sec1 h2 small {
  display: inline-block;
  transform: rotate(31deg);
  position: absolute;
  right: 11%;
  top: 1%;
  width: 43%;
}
#sec1 h2 > span {
  font-size: 6vw;
  width: 43%;
  height: 55vw;
  margin: 0 auto;
  display: block;
  letter-spacing: 1px;
}
#sec1 h2 > span i {
  letter-spacing: 4px;
}
#sec1 h2 > span small {
  font-size: 5vw;
}
#sec1 .photo1 {
  position: absolute;
  left: -15%;
  top: -4vw;
  width: 68%;
  z-index: 5;
}
#sec1 .photo2 {
  position: absolute;
  right: -4%;
  bottom: -14vw;
  width: 57%;
  z-index: 7;
}
#sec1 .deco1 {
  position: absolute;
  top: 0;
  left: 0;
  width: 61%;
  z-index: 4;
}
#sec1 .deco2 {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 4;
  width: 60%;
}
#sec1 .deco3 {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 120%;
}
@media only screen and (min-width: 768px) {
  #sec1 {
    padding: 147px 0 176px;
    min-height: 1061px;
    box-sizing: border-box;
  }
  #sec1 h2 {
    padding-top: 85px;
    margin-bottom: 59px;
    z-index: 6;
  }
  #sec1 h2 small {
    right: 0;
    top: 0;
    width: 235px;
    transform: none;
    margin: 0 auto;
    left: 0;
  }
  #sec1 h2 > span {
    font-size: 38px;
    width: 250px;
    height: 321px;
    line-height: 74px;
    letter-spacing: 2px;
  }
  #sec1 h2 > span i {
    letter-spacing: 7px;
  }
  #sec1 h2 > span span {
    font-size: 32px;
  }
  #sec1 .photo1 {
    left: -2px;
    top: -30px;
  }
  #sec1 .photo2 {
    right: 0;
    bottom: -80px;
    width: auto;
  }
  #sec1 .deco2 {
    width: auto;
  }
  #sec1 .deco3 {
    width: auto;
  }
  #sec1 .txt {
    text-align: center;
    position: relative;
    z-index: 9;
    letter-spacing: 0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1400px) {
  #sec1 .photo2 {
    max-width: 32%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1200px) {
  #sec1 .photo2 {
    max-width: 30%;
  }
  #sec1 .photo1 {
    max-width: 44%;
  }
	#key-box .slide-page li{
		margin-bottom: 35px;
	}	
}


#sec2 {
  position: relative;
  color: #fff;
  padding: 15vw 0 5vw;
  min-height: 120vw;
}
#sec2:before {
  position: absolute;
  content: "";
  top: 3vw;
  left: 5%;
  right: 5%;
  bottom: 5vw;
  border: 1px solid #cfcac5;
  z-index: 6;
}
#sec2 h2 {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 7vw;
  margin-top: 9vw;
}
#sec2 h2 i {
  display: inline-block;
  width: 50%;
  margin: 0 auto -2vw;
}
#sec2 h2 span {
  display: inline-block;
  background: #fff;
  padding: 1px 8px;
  color: #107110;
  letter-spacing: 3px;
  line-height: 20px;
  font-size: 5vw;
}
#sec2 .photo {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#sec2 .wrap {
  z-index: 5;
}
#sec2 .deco {
  position: absolute;
  bottom: -11vw;
  left: 7%;
  z-index: 6;
  width: 35%;
}
#sec2 .txt {
  margin: 0 5% 9vw;
  color: #f7efe0;
}
@media only screen and (max-width: 767px) {
	#sec2 .btn-circle{
		    position: absolute;
    bottom: 5vw;
    left: 0;
    right: 0;
    margin: 0 auto;
	}
	#sec2 .wrap{
		    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    padding-top: 14vw;
	}
	#sec2 .btn-circle .ttl{
		top: 10vw;
	}
}
@media only screen and (min-width: 768px) {
  #sec2 {
    padding: 30px 0 30px;
    min-height: 710px;
    box-sizing: border-box;
  }
  #sec2:before {
    top: 20px;
    left: 40px;
    right: 40px;
    bottom: 29px;
  }
  #sec2 h2 {
    margin-bottom: 35px;
    margin-top: 53px;
    width: 350px;
  }
  #sec2 h2 i {
    margin: 0;
    width: auto;
    margin-bottom: -6px;
  }
  #sec2 h2 span {
    font-size: 25px;
    padding: 4px 11px;
  }
  #sec2 .deco {
    bottom: -13px;
    width: 233px;
    left: calc(50% + -143px);
  }
  #sec2 .txt {
    margin: 0;
    width: 347px;
    height: 259px;
  }
  #sec2 .btn-circle {
    margin-left: 38px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1200px) {
  #sec2 .col {
    margin-left: 50px;
  }
}


#sec3 {
  position: relative;
  color: #fff;
  padding: 15vw 0 5vw;
  min-height: 126vw;
}
#sec3:before {
  position: absolute;
  content: "";
  top: 3vw;
  left: 5%;
  right: 5%;
  bottom: 5vw;
  border: 1px solid #cfcac5;
  z-index: 6;
}
#sec3 h2 {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 6vw;
  margin-top: 8vw;
}
#sec3 h2 i {
  display: inline-block;
  width: 50%;
  margin: 0 auto 1vw 17%;
}
#sec3 h2 span {
  display: inline-block;
  background: #fff;
  padding: 1px 5px;
  color: #107110;
  letter-spacing: 3px;
  line-height: 20px;
  font-size: 5vw;
}
#sec3 .photo {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#sec3 .wrap {
  z-index: 5;
}
#sec3 .deco {
  position: absolute;
  bottom: -10vw;
  left: 5%;
  z-index: 5;
  width: 40%;
}
#sec3 .txt {
  margin: 0 5% 7vw;
  color: #f7efe0;
}
@media only screen and (max-width: 767px) {
	#sec3 .btn-circle{
		    position: absolute;
    bottom: 5vw;
    left: 0;
    right: 0;
    margin: 0 auto;
	}
	#sec3 .wrap{
		    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    padding-top: 14vw;
	}

}
@media only screen and (min-width: 768px) {
  #sec3 {
    padding: 30px 0 30px;
    box-sizing: border-box;
    min-height: 700px;
  }
  #sec3:before {
    top: 15px;
    left: 40px;
    right: 40px;
    bottom: 29px;
  }
  #sec3 h2 {
    margin-bottom: 48px;
    margin-top: 54px;
    width: 610px;
    margin-left: auto;
    margin-right: -90px;
  }
  #sec3 h2 i {
    margin: 0 auto 0px;
  }
  #sec3 h2 span {
    font-size: 25px;
  }
  #sec3 .wrap {
    width: 1145px;
    padding: 0 20px;
  }
  #sec3 .txt {
    margin: 0;
    margin-left: auto;
  }
  #sec3 .btn-circle {
    margin-left: auto;
    margin-right: 80px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1200px) {
  #sec3 .col {
    margin-right: 50px;
  }
}


#sec4 {
  position: relative;
  padding: 17vw 0 30vw;
  min-height: 281vw;
}
#sec4 h2 {
  font-size: 5.5vw;
  width: 31%;
  height: 54vw;
  margin: 0 auto -5vw;
  letter-spacing: 0.3em;
}
#sec4 h2 span:nth-child(3) {
  margin-top: 8vw;
}
#sec4 h2 span:nth-child(5) {
  margin-top: 18vw;
}
#sec4 h2 small {
  font-size: 4.5vw;
}
#sec4 h3 {
  margin-bottom: -5vw;
  position: relative;
  z-index: 5;
}
#sec4 .list-photo {
  padding: 0 5% 4vw;
}
#sec4 .list-photo li {
  margin-bottom: 3vw;
}
#sec4 .deco {
  position: absolute;
  top: 28vw;
  left: 0;
  right: 0;
  background-size: cover;
  height: 85vw;
}
#sec4 .deco2 {
  position: absolute;
  top: -13vw;
  right: 0;
  background-size: cover;
  height: 85vw;
  width: 40%;
}
#sec4 .txt {
  margin-bottom: 9vw;
}
@media only screen and (min-width: 768px) {
  #sec4 {
    padding: 130px 0 132px;
    box-sizing: border-box;
    min-height: 1289px;
  }
  #sec4 h2 {
    font-size: 35px;
    margin: 0 auto -138px;
    width: 200px;
    line-height: 65px;
    letter-spacing: 8px;
    height: 400px;
  }
  #sec4 h2 span:nth-child(3) {
    margin-top: 46px;
  }
  #sec4 h2 span:nth-child(5) {
    margin-top: 130px;
  }
  #sec4 h2 small {
    font-size: 28px;
  }
  #sec4 h3 {
    margin-bottom: -38px;
    text-align: center;
    z-index: 6;
  }
  #sec4 .list-photo {
    padding: 0;
    display: flex;
    margin: 0 -14px 42px;
  }
  #sec4 .list-photo li {
    margin-bottom: 30px;
    position: relative;
    z-index: 5;
    margin: 0 6px;
  }
  #sec4 .deco {
    height: 469px;
    top: 187px;
  }
  #sec4 .deco2 {
    top: -75px;
    width: auto;
  }
  #sec4 .txt {
    margin-bottom: 30px;
    margin-left: 53px;
    width: 530px;
  }
  #sec4 .btn-cus {
    position: absolute;
    left: 590px;
    bottom: 10px;
    z-index: 10;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1300px) {
  #sec4 .deco2 {
    max-width: 40%;
  }
}

#sec5 {
  position: relative;
  padding: 20vw 0 20vw;
  background: url("../img/shared/bg2.jpg") repeat;
  min-height: 240vw;
}
#sec5 h2 {
  text-align: center;
  font-size: 6vw;
  margin-bottom: -5vw;
  color: #fff;
  position: relative;
  letter-spacing: 0.3em;
  z-index: 5;
}
#sec5 h2 .white {
  background: #fff;
  color: #107110;
}
#sec5 h2 small {
  font-size: 5vw;
}
#sec5 h2 i {
  position: absolute;
  top: -6vw;
  right: 12vw;
  width: 20%;
}
#sec5 .deco {
  width: 30%;
  position: absolute;
  top: -11vw;
  right: 0;
  filter: grayscale(1);
}
#sec5 .group {
  margin-bottom: 8vw;
  border-top: 1px solid #107110;
  border-bottom: 1px solid #107110;
}
#sec5 .group .col {
  position: relative;
}
#sec5 .group .col .inner {
  color: #fff;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  text-align: center;
  z-index: 5;
  padding: 0 5%;
  transform: translateY(-50%);
}
#sec5 .group .col .inner h3 {
  font-size: 6vw;
  text-align: center;
  letter-spacing: 0.2em;
  margin-bottom: 1vw;
}
#sec5 .group .col .photo {
  width: 100%;
  height: 65vw;
}
@media only screen and (min-width: 768px) {
  #sec5 {
    padding: 130px 0 0px;
    box-sizing: border-box;
    min-height: 704px;
  }
  #sec5 h2 {
    font-size: 38px;
    text-align: left;
    margin-left: 55px;
    letter-spacing: 7px;
  }
  #sec5 h2 .white {
    display: inline-block;
    padding: 1px 1px;
    margin-right: 7px;
  }
  #sec5 h2 small {
    font-size: 32px;
  }
  #sec5 h2 i {
    top: -40px;
    right: 190px;
  }
  #sec5 .deco {
    width: auto;
    left: calc(50% + 240px);
    right: auto;
    top: -30px;
    filter: none;
  }
  #sec5 .group {
    margin-bottom: 30px;
    margin-top: 143px;
    display: flex;
    justify-content: space-between;
  }
  #sec5 .group .col {
    width: calc(100% / 3);
  }
  #sec5 .group .col .inner h3 {
    font-size: 35px;
    margin-bottom: 18px;
    margin-top: 14px;
  }
  #sec5 .group .col .photo {
    height: 484px;
  }
  #sec5 .btn-cus {
    position: absolute;
    left: calc(50% - 441px);
    top: 204px;
  }
}


#sec6 {
  position: relative;
  padding-bottom: 35vw;
  min-height: 549vw;
}
#sec6 .deco {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
#sec6 .deco2 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: -1;
}
#sec6 #gmap {
  margin-bottom: 24vw;
}
#sec6 #gmap iframe {
  width: 100%;
  margin-bottom: 8vw;
  height: 80vw;
}
#sec6 .group {
  padding: 24vw 0 14vw;
}
#sec6 .group h2 {
  font-size: 6vw;
  margin: 0 -13% 3vw;
}
#sec6 .group h2 span {
  width: 10%;
  height: 60vw;
  margin: 0 auto;
  position: absolute;
  top: 23vw;
  left: 0;
  right: 0;
  letter-spacing: 0.2em;
  z-index: 5;
}
#sec6 .group .logo {
  width: 50%;
  margin: 0 auto 2vw;
}
#sec6 .group .ttl {
  text-align: center;
  margin-bottom: 9vw;
}
#sec6 .group .row .tel {
  text-align: center;
  margin-bottom: 6vw;
  line-height: 1.5;
}
#sec6 .group .row .tel dt {
  font-size: 4vw;
}
#sec6 .group .row .tel dd {
  font-size: 6vw;
}
#sec6 .group .row .tel dd .tel-icon {
  letter-spacing: 0.15em;
  font-size: 8vw;
}
#sec6 .group .row .tel dd .tel-icon span {
  width: 9%;
  display: inline-block;
  margin-right: 2%;
  vertical-align: middle;
  margin-top: -3vw;
}
#sec6 .info {
  margin-bottom: 17vw;
}
#sec6 .info dl {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  line-height: 22px;
  padding: 10px 0;
  border-bottom: 1px solid #a39477;
  font-size: 13px;
}
#sec6 .info dl dt {
  width: 95px;
}
#sec6 .info dl dd {
  width: calc(100% - 95px);
}
#sec6 .info dl dd .link:before {
  content: "";
  background: url("../img/shared/icon_pin2.png") no-repeat;
  width: 12px;
  height: 17px;
  background-size: 100%;
  display: inline-block;
  margin-right: 5px;
  margin-bottom: -2px;
  margin-left: 3px;
}
#sec6 #rss {
  background: rgba(255, 255, 255, 0.5);
  padding: 8% 5%;
}
#sec6 #rss h2 {
  width: 31%;
  margin: -13vw auto 8vw;
}
#sec6 #rss #feed dl {
  text-align: center;
  margin-bottom: 8vw;
}
#sec6 #rss #feed dl dt {
  color: #796b51;
}
#sec6 #rss .insta {
  width: 150px;
  margin: 14vw auto 5vw;
  border-top: 1px solid #5e5038;
  padding-top: 5vw;
}
#sec6 #rss .insta img {
  filter: invert(1);
  width: 50px;
  height: auto;
  margin: 0 auto;
  display: block;
}
#sec6 #rss .btn-cus {
  width: 90%;
}
@media only screen and (min-width: 768px) {
  #sec6 {
    padding-bottom: 67px;
    min-height: 2174px;
    box-sizing: border-box;
  }
  #sec6 .wrap {
    display: flex;
    flex-direction: column;
  }
  #sec6 .deco2 {
    width: auto;
  }
  #sec6 #gmap {
    margin-bottom: 30px;
    order: 4;
    margin: 0 -50px 40px;
  }
  #sec6 #gmap iframe {
    margin-bottom: 17px;
    height: 470px;
  }
  #sec6 #gmap .g-btn {
    width: 250px;
    margin-left: auto;
    margin-right: 110px;
  }
  #sec6 #gmap .g-btn .btn-cus {
    margin-bottom: 10px;
  }
  #sec6 #gmap .g-btn .btn2 a {
    text-decoration: underline;
  }
  #sec6 #gmap .g-btn .btn2 a:hover {
    text-decoration: none;
  }
  #sec6 .group {
    padding: 130px 0 85px;
  }
  #sec6 .group h2 {
    font-size: 38px;
    margin: 0 auto 20px;
    text-align: center;
  }
  #sec6 .group h2 span {
    top: 130px;
    text-align: left;
    height: 200px;
    width: 40px;
  }
  #sec6 .group .logo {
    margin: 0 auto 14px;
    text-align: center;
  }
  #sec6 .group .ttl {
    margin-bottom: 56px;
    line-height: 31px;
  }
  #sec6 .group .row {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    margin-left: 180px;
    align-items: center;
  }
  #sec6 .group .row .tel {
    margin-bottom: 0;
    margin-right: 30px;
  }
  #sec6 .group .row .tel dt {
    font-size: 15px;
  }
  #sec6 .group .row .tel dd {
    font-size: 28px;
  }
  #sec6 .group .row .tel dd .tel-icon {
    font-size: 32px;
  }
  #sec6 .group .row .tel dd .tel-icon span {
    margin-top: -10px;
  }
  #sec6 .info {
    margin-bottom: 10px;
    display: flex;
    justify-content: space-between;
    margin: 0 10px 89px;
  }
  #sec6 .info .col {
    width: 472px;
  }
  #sec6 .info dl {
    font-size: 16px;
    line-height: 27px;
    padding: 12px 0;
  }
  #sec6 .info dl dt {
    width: 93px;
  }
  #sec6 .info dl dd .link:hover {
    text-decoration: underline;
  }
  #sec6 #rss {
    order: 3;
    padding: 20px;
    margin: 0 111px;
    display: flex;
    align-items: center;
    margin-bottom: 90px;
  }
  #sec6 #rss h2 {
    margin: 0;
    width: 72px;
    margin-left: 44px;
  }
  #sec6 #rss #feed {
    width: 355px;
    height: 30px;
  }
  #sec6 #rss #feed dl {
    margin-bottom: 10px;
    display: flex;
    margin-left: 20px;
  }
  #sec6 #rss #feed dl dt {
    margin-right: 20px;
  }
  #sec6 #rss #feed dl dd:hover {
    text-decoration: underline;
  }
  #sec6 #rss .insta {
    margin: 10px auto 10px;
    padding-top: 10px;
    border-top: 0;
    border-left: 1px solid #5e5038;
    width: 99px;
    padding: 0;
  }
  #sec6 #rss .insta img {
    width: 33px;
  }
  #sec6 #rss .btn-cus {
    width: 110px;
    margin-right: 40px;
  }
  #sec6 #rss .btn-cus:before {
    top: -4px;
    left: -4px;
    right: -4px;
    bottom: -4px;
  }
  #sec6 #rss .btn-cus a:after {
    width: 44px;
    right: -25%;
    top: 18px;
  }
  #sec6 #rss .btn-cus a {
    font-size: 14px;
    height: 30px;
    line-height: 30px;
  }
}

#news_box {
    background: hsla(51,59%,93%,0.40);
    width: 90%;
    margin: 30px auto;
    line-height: 1.8;
    padding-bottom: 39px;
}
#news_box .ttl {
    padding: 39px 30px 10px;
    text-align: center;
    font-size: 20px;
    margin: 0 auto;
}

#news_box .txt {
    padding: 20px 10px 0;
    text-align: center;
}

@media screen and (min-width:1000px) {
#news_box{
    width: 800px;
}
}

