.animate, .btn, .btn-border-o:before, .btn-border-o:after, .btn-border:before, .btn-border:after, .btn-border-rev-o:before, .btn-border-rev-o:after, .btn-border-rev:before, .btn-border-rev:after, .btn-fill-vert-o:before, .btn-fill-vert-o:after, .btn-fill-vert:before, .btn-fill-vert:after, .btn-fill-horz-o:before, .btn-fill-horz-o:after, .btn-fill-horz:before, .btn-fill-horz:after {
  transition: all 0.3s;
}

.btn {
  display: inline-block;
  line-height: 35px;
  margin: 8px;
  padding: 0 15px;
  font-size: 15px;
  position: relative;
  opacity: .999;
  border-radius: 3px;
}

.btn-border-o {
  background-color: transparent;
  border: 1px solid #d0d0d0;
  color: #B8B8B8;
}
.btn-border-o:before, .btn-border-o:after {
  content: '';
  border-style: solid;
  position: absolute;
  z-index: 5;
  border-radius: 3px;
  box-sizing: content-box;
}
.btn-border-o:before {
  width: 0;
  height: 100%;
  border-width: 1px 0 1px 0;
  top: -1px;
  left: 0;
  transition-delay: 0.05s;
}
.btn-border-o:after {
  width: 100%;
  height: 0;
  border-width: 0 1px 0 1px;
  top: 0;
  left: -1px;
}
.btn-border-o:hover:before {
  width: 100%;
}
.btn-border-o:hover:after {
  height: 100%;
}
.btn-border-o.btn-green:before, .btn-border-o.btn-green:after {
  border-color: #2ecc71;
}
.btn-border-o.btn-green:hover {
  color: #2ecc71;
}
.btn-border-o.btn-blue:before, .btn-border-o.btn-blue:after {
  border-color: #3498db;
}
.btn-border-o.btn-blue:hover {
  color: #3498db;
}
.btn-border-o.btn-purple:before, .btn-border-o.btn-purple:after {
  border-color: #9b59b6;
}
.btn-border-o.btn-purple:hover {
  color: #9b59b6;
}
.btn-border-o.btn-navy:before, .btn-border-o.btn-navy:after {
  border-color: #34495e;
}
.btn-border-o.btn-navy:hover {
  color: #34495e;
}
.btn-border-o.btn-orange:before, .btn-border-o.btn-orange:after {
  border-color: #e67e22;
}
.btn-border-o.btn-orange:hover {
  color: #e67e22;
}
.btn-border-o.btn-red:before, .btn-border-o.btn-red:after {
  border-color: #e74c3c;
}
.btn-border-o.btn-red:hover {
  color: #e74c3c;
}

.btn-border {
  background-color: #e5e5e5;
  border: 1px solid #e5e5e5;
  color: #a6a6a6;
}
.btn-border:before, .btn-border:after {
  content: '';
  border-style: solid;
  position: absolute;
  z-index: 5;
  border-radius: 3px;
  box-sizing: content-box;
}
.btn-border:before {
  width: 0;
  height: 100%;
  border-width: 1px 0 1px 0;
  top: -1px;
  left: 0;
  transition-delay: 0.05s;
}
.btn-border:after {
  width: 100%;
  height: 0;
  border-width: 0 1px 0 1px;
  top: 0;
  left: -1px;
}
.btn-border:hover {
  background-color: transparent;
}
.btn-border:hover:before {
  width: 100%;
}
.btn-border:hover:after {
  height: 100%;
}
.btn-border.btn-green:before, .btn-border.btn-green:after {
  border-color: #2ecc71;
}
.btn-border.btn-green:hover {
  color: #2ecc71;
}
.btn-border.btn-blue:before, .btn-border.btn-blue:after {
  border-color: #3498db;
}
.btn-border.btn-blue:hover {
  color: #3498db;
}
.btn-border.btn-purple:before, .btn-border.btn-purple:after {
  border-color: #9b59b6;
}
.btn-border.btn-purple:hover {
  color: #9b59b6;
}
.btn-border.btn-navy:before, .btn-border.btn-navy:after {
  border-color: #34495e;
}
.btn-border.btn-navy:hover {
  color: #34495e;
}
.btn-border.btn-orange:before, .btn-border.btn-orange:after {
  border-color: #e67e22;
}
.btn-border.btn-orange:hover {
  color: #e67e22;
}
.btn-border.btn-red:before, .btn-border.btn-red:after {
  border-color: #e74c3c;
}
.btn-border.btn-red:hover {
  color: #e74c3c;
}

.btn-border-rev-o {
  background-color: transparent;
  border: 1px solid #d0d0d0;
  color: #B8B8B8;
}
.btn-border-rev-o:before, .btn-border-rev-o:after {
  content: '';
  border-style: solid;
  position: absolute;
  z-index: 5;
  border-radius: 3px;
  box-sizing: content-box;
}
.btn-border-rev-o:before {
  width: 0;
  height: 100%;
  border-width: 1px 0 1px 0;
  top: -1px;
  right: 0;
  transition-delay: 0.05s;
}
.btn-border-rev-o:after {
  width: 100%;
  height: 0;
  border-width: 0 1px 0 1px;
  bottom: 0;
  left: -1px;
}
.btn-border-rev-o:hover:before {
  width: 100%;
}
.btn-border-rev-o:hover:after {
  height: 100%;
}
.btn-border-rev-o.btn-green:before, .btn-border-rev-o.btn-green:after {
  border-color: #2ecc71;
}
.btn-border-rev-o.btn-green:hover {
  color: #2ecc71;
}
.btn-border-rev-o.btn-blue:before, .btn-border-rev-o.btn-blue:after {
  border-color: #3498db;
}
.btn-border-rev-o.btn-blue:hover {
  color: #3498db;
}
.btn-border-rev-o.btn-purple:before, .btn-border-rev-o.btn-purple:after {
  border-color: #9b59b6;
}
.btn-border-rev-o.btn-purple:hover {
  color: #9b59b6;
}
.btn-border-rev-o.btn-navy:before, .btn-border-rev-o.btn-navy:after {
  border-color: #34495e;
}
.btn-border-rev-o.btn-navy:hover {
  color: #34495e;
}
.btn-border-rev-o.btn-orange:before, .btn-border-rev-o.btn-orange:after {
  border-color: #e67e22;
}
.btn-border-rev-o.btn-orange:hover {
  color: #e67e22;
}
.btn-border-rev-o.btn-red:before, .btn-border-rev-o.btn-red:after {
  border-color: #e74c3c;
}
.btn-border-rev-o.btn-red:hover {
  color: #e74c3c;
}

.btn-border-rev {
  background-color: #e5e5e5;
  border: 1px solid #e5e5e5;
  color: #a6a6a6;
}
.btn-border-rev:before, .btn-border-rev:after {
  content: '';
  border-style: solid;
  position: absolute;
  z-index: 5;
  border-radius: 3px;
  box-sizing: content-box;
}
.btn-border-rev:before {
  width: 0;
  height: 100%;
  border-width: 1px 0 1px 0;
  top: -1px;
  right: 0;
}
.btn-border-rev:after {
  width: 100%;
  height: 0;
  border-width: 0 1px 0 1px;
  bottom: 0;
  left: -1px;
  transition-delay: 0.05s;
}
.btn-border-rev:hover {
  background-color: transparent;
}
.btn-border-rev:hover:before {
  width: 100%;
}
.btn-border-rev:hover:after {
  height: 100%;
}
.btn-border-rev.btn-green:before, .btn-border-rev.btn-green:after {
  border-color: #2ecc71;
}
.btn-border-rev.btn-green:hover {
  color: #2ecc71;
}
.btn-border-rev.btn-blue:before, .btn-border-rev.btn-blue:after {
  border-color: #3498db;
}
.btn-border-rev.btn-blue:hover {
  color: #3498db;
}
.btn-border-rev.btn-purple:before, .btn-border-rev.btn-purple:after {
  border-color: #9b59b6;
}
.btn-border-rev.btn-purple:hover {
  color: #9b59b6;
}
.btn-border-rev.btn-navy:before, .btn-border-rev.btn-navy:after {
  border-color: #34495e;
}
.btn-border-rev.btn-navy:hover {
  color: #34495e;
}
.btn-border-rev.btn-orange:before, .btn-border-rev.btn-orange:after {
  border-color: #e67e22;
}
.btn-border-rev.btn-orange:hover {
  color: #e67e22;
}
.btn-border-rev.btn-red:before, .btn-border-rev.btn-red:after {
  border-color: #e74c3c;
}
.btn-border-rev.btn-red:hover {
  color: #e74c3c;
}

.btn-fill-vert-o {
  background-color: transparent;
  border: 1px solid #d0d0d0;
  color: #B8B8B8;
  overflow: hidden;
}
.btn-fill-vert-o:before, .btn-fill-vert-o:after {
  content: '';
  width: 100%;
  height: 0;
  opacity: 0;
  position: absolute;
  left: 0;
  z-index: -1;
}
.btn-fill-vert-o:before {
  top: 50%;
}
.btn-fill-vert-o:after {
  bottom: 50%;
}
.btn-fill-vert-o:hover {
  color: #fff;
}
.btn-fill-vert-o:hover:before, .btn-fill-vert-o:hover:after {
  height: 50%;
  opacity: 1;
}
.btn-fill-vert-o.btn-green:before, .btn-fill-vert-o.btn-green:after {
  background-color: #2ecc71;
}
.btn-fill-vert-o.btn-green:hover {
  border-color: #2ecc71;
}
.btn-fill-vert-o.btn-blue:before, .btn-fill-vert-o.btn-blue:after {
  background-color: #3498db;
}
.btn-fill-vert-o.btn-blue:hover {
  border-color: #3498db;
}
.btn-fill-vert-o.btn-purple:before, .btn-fill-vert-o.btn-purple:after {
  background-color: #9b59b6;
}
.btn-fill-vert-o.btn-purple:hover {
  border-color: #9b59b6;
}
.btn-fill-vert-o.btn-navy:before, .btn-fill-vert-o.btn-navy:after {
  background-color: #34495e;
}
.btn-fill-vert-o.btn-navy:hover {
  border-color: #34495e;
}
.btn-fill-vert-o.btn-orange:before, .btn-fill-vert-o.btn-orange:after {
  background-color: #e67e22;
}
.btn-fill-vert-o.btn-orange:hover {
  border-color: #e67e22;
}
.btn-fill-vert-o.btn-red:before, .btn-fill-vert-o.btn-red:after {
  background-color: #e74c3c;
}
.btn-fill-vert-o.btn-red:hover {
  border-color: #e74c3c;
}

.btn-fill-vert {
  background-color: #e5e5e5;
  border: 1px solid #e5e5e5;
  color: #a6a6a6;
  overflow: hidden;
}
.btn-fill-vert:before, .btn-fill-vert:after {
  content: '';
  width: 100%;
  height: 0;
  opacity: 0;
  position: absolute;
  left: 0;
  z-index: -1;
}
.btn-fill-vert:before {
  top: 50%;
}
.btn-fill-vert:after {
  bottom: 50%;
}
.btn-fill-vert:hover {
  color: #fff;
}
.btn-fill-vert:hover:before, .btn-fill-vert:hover:after {
  height: 50%;
  opacity: 1;
}
.btn-fill-vert.btn-green:before, .btn-fill-vert.btn-green:after {
  background-color: #2ecc71;
}
.btn-fill-vert.btn-green:hover {
  border-color: #2ecc71;
}
.btn-fill-vert.btn-blue:before, .btn-fill-vert.btn-blue:after {
  background-color: #3498db;
}
.btn-fill-vert.btn-blue:hover {
  border-color: #3498db;
}
.btn-fill-vert.btn-purple:before, .btn-fill-vert.btn-purple:after {
  background-color: #9b59b6;
}
.btn-fill-vert.btn-purple:hover {
  border-color: #9b59b6;
}
.btn-fill-vert.btn-navy:before, .btn-fill-vert.btn-navy:after {
  background-color: #34495e;
}
.btn-fill-vert.btn-navy:hover {
  border-color: #34495e;
}
.btn-fill-vert.btn-orange:before, .btn-fill-vert.btn-orange:after {
  background-color: #e67e22;
}
.btn-fill-vert.btn-orange:hover {
  border-color: #e67e22;
}
.btn-fill-vert.btn-red:before, .btn-fill-vert.btn-red:after {
  background-color: #e74c3c;
}
.btn-fill-vert.btn-red:hover {
  border-color: #e74c3c;
}

.btn-fill-horz-o {
  background-color: transparent;
  border: 1px solid #d0d0d0;
  color: #B8B8B8;
  overflow: hidden;
}
.btn-fill-horz-o:before, .btn-fill-horz-o:after {
  content: '';
  width: 0;
  height: 100%;
  opacity: 0;
  position: absolute;
  top: 0;
  z-index: -1;
}
.btn-fill-horz-o:before {
  left: 50%;
}
.btn-fill-horz-o:after {
  right: 50%;
}
.btn-fill-horz-o:hover {
  color: #fff;
}
.btn-fill-horz-o:hover:before, .btn-fill-horz-o:hover:after {
  width: 50%;
  opacity: 1;
}
.btn-fill-horz-o.btn-green:before, .btn-fill-horz-o.btn-green:after {
  background-color: #2ecc71;
}
.btn-fill-horz-o.btn-green:hover {
  border-color: #2ecc71;
}
.btn-fill-horz-o.btn-blue:before, .btn-fill-horz-o.btn-blue:after {
  background-color: #3498db;
}
.btn-fill-horz-o.btn-blue:hover {
  border-color: #3498db;
}
.btn-fill-horz-o.btn-purple:before, .btn-fill-horz-o.btn-purple:after {
  background-color: #9b59b6;
}
.btn-fill-horz-o.btn-purple:hover {
  border-color: #9b59b6;
}
.btn-fill-horz-o.btn-navy:before, .btn-fill-horz-o.btn-navy:after {
  background-color: #34495e;
}
.btn-fill-horz-o.btn-navy:hover {
  border-color: #34495e;
}
.btn-fill-horz-o.btn-orange:before, .btn-fill-horz-o.btn-orange:after {
  background-color: #e67e22;
}
.btn-fill-horz-o.btn-orange:hover {
  border-color: #e67e22;
}
.btn-fill-horz-o.btn-red:before, .btn-fill-horz-o.btn-red:after {
  background-color: #e74c3c;
}
.btn-fill-horz-o.btn-red:hover {
  border-color: #e74c3c;
}

.btn-fill-horz {
  background-color: #e5e5e5;
  border: 1px solid #e5e5e5;
  color: #a6a6a6;
  overflow: hidden;
}
.btn-fill-horz:before, .btn-fill-horz:after {
  content: '';
  width: 0;
  height: 100%;
  opacity: 0;
  position: absolute;
  top: 0;
  z-index: -1;
}
.btn-fill-horz:before {
  left: 50%;
}
.btn-fill-horz:after {
  right: 50%;
}
.btn-fill-horz:hover {
  color: #fff;
}
.btn-fill-horz:hover:before, .btn-fill-horz:hover:after {
  width: 50%;
  opacity: 1;
}
.btn-fill-horz.btn-green:before, .btn-fill-horz.btn-green:after {
  background-color: #2ecc71;
}
.btn-fill-horz.btn-green:hover {
  border-color: #2ecc71;
}
.btn-fill-horz.btn-blue:before, .btn-fill-horz.btn-blue:after {
  background-color: #3498db;
}
.btn-fill-horz.btn-blue:hover {
  border-color: #3498db;
}
.btn-fill-horz.btn-purple:before, .btn-fill-horz.btn-purple:after {
  background-color: #9b59b6;
}
.btn-fill-horz.btn-purple:hover {
  border-color: #9b59b6;
}
.btn-fill-horz.btn-navy:before, .btn-fill-horz.btn-navy:after {
  background-color: #34495e;
}
.btn-fill-horz.btn-navy:hover {
  border-color: #34495e;
}
.btn-fill-horz.btn-orange:before, .btn-fill-horz.btn-orange:after {
  background-color: #e67e22;
}
.btn-fill-horz.btn-orange:hover {
  border-color: #e67e22;
}
.btn-fill-horz.btn-red:before, .btn-fill-horz.btn-red:after {
  background-color: #e74c3c;
}
.btn-fill-horz.btn-red:hover {
  border-color: #e74c3c;
}

/* メニュー */
    .nav-button {
    display: block;
    cursor: pointer;
  }
  .nav-wrap {
    position: fixed;
    left: 0;
    top: 0;
/*     display: none; */
    z-index: 10;
    background-color: rgba(78, 120, 197, 0.9);
    width: 100%;
    height: 100%;
    transition: 0.5s;
    opacity: 0;
    height: 1px;
    }
    .nav-wrap.open {
/*     display: block; */
	transition: 0.5s;
    opacity: 1;
    height: 100%;
    }
  .hbnav .nav {
      height: 100%;
      position: relative;
      overflow-x: hidden;
      overflow-y: auto;
    }
  .hbnav li {
      display: block;
    }
  /*メニューボタンのエフェクト*/
  .nav-button,
  .nav-button span {
    display: inline-block;
    transition: all 0.4s;
    box-sizing: border-box;
  }
.nav-button {
    z-index: 1000;
    position: relative;
    width: 57px;
    height: 43px;
/*     background: rgba(255, 255, 255, 0.7); */
}
a.nav-button.active {
    background: none;
}
  .nav-button span {
    position: absolute;
    left: 7px;
    width: 100%;
    height: 1px;
    background-color: #000;
    max-width: 45px;
  }
  .nav-button span:nth-of-type(1) {
    top: 9px;
  }
  .nav-button span:nth-of-type(2) {
    top: 22px;
  }
  .nav-button span:nth-of-type(3) {
    bottom: 7px;
  }
  .nav-button.active span:nth-of-type(1) {
    -webkit-transform: translateY(16px) rotate(-35deg);
    transform: translateY(16px) rotate(-35deg);
    top: 5px;
    background: #fff;
  }
  .nav-button.active span:nth-of-type(2) {
    opacity: 0;
  }
  .nav-button.active span:nth-of-type(3) {
    -webkit-transform: translateY(-16px) rotate(35deg);
    transform: translateY(-16px) rotate(35deg);
    bottom: 6px;
    background: #fff;
  }
.hbnav.hide-pc ul li a {
    color: #f7f4ed;
    letter-spacing: 1px;
}
.hbnav.hide-pc ul li {
    text-align: center;
}
.hbnav.hide-pc ul {
    padding-top: 3rem;
    margin-bottom: 2rem;
}
a.bgcon {
    background: #f7f4ed;
    padding: 13px 1.3rem 14px 3.2rem;
    display: inline-block;
    border-radius: 1px;
    letter-spacing: 1px;
    color: #000;
    font-size: 1.1rem;
    background-image: url(./img/mail.png);
    background-repeat: no-repeat;
    background-position: left 22px center;
    margin-bottom: 4rem;
}
a.bgpp {
    display: block;
    color: #f7f4ed;
    font-size: 0.8rem;
}


@media (max-width: 600px) {
.accordion-title {
  position: relative;
  cursor: pointer;
}
.accordion-title::before {
 	content: "";
 	position: absolute;
    top: 17px;
    left: 3px;
    width: 12px;
    height: 1px;
  /*縦線に*/
	transform: rotate(90deg);
    background: #fff;
    transition: all .3s ease-in-out;
    pointer-events: none;
}

.accordion-title::after {
    content: "";
    position: absolute;
    top: 17px;
    left: 3px;
    width: 12px;
    height: 1px;
    background: #fff;
    transition: all .2s ease-in-out;
    pointer-events: none;
}
.accordion-title.open2::before {
  transform: rotate(180deg);
}

.accordion-title.open2::after {
  opacity: 0;
}
.nav-button span {
    height: 1.5px;
  }

}