.pc_none {
  display: none;
}

.head {
  width: 100%;
  box-sizing: border-box;
  position: fixed;
  z-index: 500;
  background-color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.head h1 {
  max-width: 660px;
  margin-left: 20px;
}

.logo01 img {
  width: 100%;
}
.gmenu {
  display: flex;
  justify-content: flex-end;
  width: 100%;
}

.tel {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  padding: 30px 25px;
  background-color: #e96c06;
  margin-left: 10px;
}
.facebook {
  border-left: 1px solid #ccc;
  padding: 10px 0px 10px 20px;
}
.facebook img {
  width: 25px;
}
.tel h5 a {
  font-family: Arial, Helvetica, "sans-serif";
  font-size: 140%;
  line-height: 1.3;
  text-align: center;
  color: #fff;
  letter-spacing: 0.08em;
  padding-left: 10px;
  white-space: nowrap;
}
.tel h5 span {
  display: block;
  font-size: 90%;
  font-family: YuGothic, "游ゴシック", sans-serif;
  color: #fff;
  letter-spacing: 0.15em;
  padding-left: 10px;
}
.tel-img {
  width: 15px;
  padding-top: 10px;
}

.menu {
  display: flex;
  justify-content: flex-end;
  padding-top: 10px;
}

.men a {
  display: block;
  color: #000;
  transition: 0.1s;
  padding: 35px 15px 10px 15px;
  font-weight: bold;
  letter-spacing: 0.08em;
  background-size: 35px;
  background-repeat: no-repeat;
  background-position: top center;
}
.men a:hover {
  color: #e96c06;
}
.men span {
  display: block;
  padding: 10px 0;
  position: relative;
  font-size: 116%;
  white-space: nowrap;
}
.men span::before,
.men span::after {
  border-bottom: solid 1px #e96c06;
  bottom: 0;
  content: "";
  display: block;
  position: absolute;
  transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
  width: 0;
}
.men span::before {
  left: 50%;
}
.men span::after {
  right: 50%;
}
.men a:hover span::before,
.men a:hover span::after {
  width: 50%;
}

.me06 a {
  padding-right: 23px;
  position: relative;
}

.me06 a::before {
  content: "";
  display: block;
  position: absolute;
  top: 46px;
  right: 5px;
  width: 5px;
  height: 5px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  transform: translateX(-50%) rotate(135deg);
  transition: 0.3s;
}
.me06 a:hover::before {
  border-top: 1px solid #e96c06;
  border-right: 1px solid #e96c06;
}

.me02 a {
  background-image: url("../img/menu-icon01.png");
}
.me03 a {
  background-image: url("../img/menu-icon02.png");
}
.me04 a {
  background-image: url("../img/menu-icon03.png");
}
.me06 a {
  background-image: url("../img/menu-icon04.png");
}
.me05 a {
  background-image: url("../img/menu-icon07.png");
}
.me07 a {
  background-image: url("../img/insta-icon.png");
}

.req-imgbox {
  box-sizing: border-box;
  width: 100%;
  position: relative;
}

.bxslider li {
  background-size: cover;
  background-position: center;
  height: 93vh;
}

.sl01 {
  background-image: url(../img/01.jpg);
}
.sl02 {
  background-image: url(../img/02_2.jpg);
}
.sl03 {
  background-image: url(../img/03.jpg);
}

.bxslider h3 {
  font-size: 360%;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.08em;
  color: #fff;
  position: relative;
}
.bxslider p {
  font-size: 130%;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.08em;
  color: #fff;
  margin-top: 35px;
  margin-bottom: 30px;
}
.bxslider h3:after {
  content: "";
  width: 120px;
  height: 1px;
  background: #fff;
  display: block;
  margin-top: 35px;
}

.bxslider a {
  background-color: #fff;
  display: flex;
  padding: 20px;
  align-items: center;
  border-radius: 25px;
  position: relative;
  transition: 0.3s;
  max-width: 200px;
}
.bxslider a:hover {
  color: #fff;
}

.bxslider a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  content: "";
  background: #e96c06;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform 0.3s;
}
.bxslider a:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}

.bxslider a h4 {
  font-size: 110%;
  font-weight: bold;
  position: relative;
  z-index: 0;
}
.bxslider a::after {
  content: "";
  display: block;
  position: absolute;
  top: 40%;
  right: 5%;
  width: 8px;
  height: 8px;
  border-top: 2px solid #e96c06;
  border-right: 2px solid #e96c06;
  transform: translateX(-50%) rotate(45deg);
  transition: transform 0.3s;
}
.bxslider a:hover::after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.cati-box01 {
  height: 100%;
  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.8),
    rgba(255, 255, 255, 0)
  );
}
.cati-box02 {
  height: 100%;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0),
    rgba(90, 167, 222, 0.5)
  );
}
.cati-box03 {
  height: 100%;
  background: linear-gradient(
    90deg,
    rgba(90, 167, 222, 0.5),
    rgba(255, 255, 255, 0)
  );
}

.cati-box01 .cati-box-text {
  padding-top: 30vh;
  padding-left: 10%;
}

.cati-box02 .cati-box-text {
  padding-top: 30vh;
  padding-left: 10%;
}

.cati-box03 .cati-box-text {
  padding-top: 30vh;
  padding-left: 10%;
}

.caticati {
  position: relative;
  padding-right: 30px;
  display: inline;
}

.bx-wrapper .cati-box-text img {
  max-width: 260px;
  position: absolute;
}

.cati-box01 .cati-box-text img {
  margin-left: 140px;
}
.cati-box02 .cati-box-text img {
  margin-left: 100px;
}
.cati-box03 .cati-box-text img {
  margin-left: 180px;
}

.bx-pager {
  display: flex;
  justify-content: space-between;
  max-width: 900px;
  margin: 0 auto;
  margin-top: -60px;
  position: relative;
  z-index: 100;
}
.bx-pager li {
  width: 30%;
  padding: 20px;
}
.bx-pager li a {
  background-size: cover;
  background-position: center;
  display: block;
  border: 2px solid #fff;
}
.pager01 {
  background-image: url(../img/01.jpg);
}
.pager02 {
  background-image: url(../img/02_2.jpg);
}
.pager03 {
  background-image: url(../img/03.jpg);
}
.bx-pager li a h2 {
  background-color: rgba(0, 0, 0, 0.8);
  color: #ffffff;
  text-align: center;
  padding: 30px;
  font-size: 120%;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.08em;
  transition: 0.3s;
}
.bx-pager li h2 span {
  font-size: 40%;
  font-weight: bold;
  margin-left: 10px;
}

.bx-pager li .active h2 {
  background-color: rgba(233, 108, 5, 0.8);
}

.bx-pager li a:hover h2 {
  background-color: rgba(233, 108, 5, 0.8);
}

.sphead {
  display: none;
}

.megamenu {
  position: absolute;
  top: 85px; /*親メニューの高さと同じにする*/
  width: 220px;
  margin-left: -60px;
  z-index: 100;
  color: #000;
  background-color: #fff;
  border-radius: 6px;
  box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.4);
}
.me06 .megamenu h6 {
  display: none;
  padding: 0;
  font-size: 110%;
  line-height: 1.5;
  transition: 1s;
}
.me06 .megamenu h6 a {
  padding: 0;
  background-image: none;
}
.me06 .megamenu h6 a::before {
  content: "";
  display: block;
  position: absolute;
  top: 6px;
  right: 5px;
  width: 5px;
  height: 5px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  transform: translateX(-50%) rotate(45deg);
  transition: 0.3s;
}
.me06 .megamenu h6 a:hover::before {
  border-top: 1px solid #e96c06;
  border-right: 1px solid #e96c06;
}
.me06:hover .megamenu h6 {
  visibility: visible;
  overflow: visible;
  padding: 10px;
  z-index: 10;
  border-bottom: 1px solid #d1d1d1;
  display: block;
}
.me06:hover .megamenu h6:last-child {
  border: none;
}
.menu * {
  -webkit-transition: 0.2s;
  -moz-transition: 0.2s;
  -ms-transition: 0.2s;
  -o-transition: 0.2s;
  transition: 0.2s;
}

@media screen and (max-width: 800px) {
  .pc_none {
    display: block;
    padding: 20px 10px;
  }
  .pc_none img {
    width: 80%;
  }
  .sphead {
    display: block;
  }

  .head {
    padding-left: 0px;
    position: inherit;
    display: none;
  }
  .head h1 {
    padding-top: 10px;
    padding-bottom: 10px;
    float: none;
  }

  .req-imgbox {
    padding-left: 0%;
  }
  .req-imgbox li {
    height: 60vh;
  }
  .cati {
    height: 100vh;
  }
  .cati img {
    width: 90%;
  }

  .bx-pager {
    display: none;
  }

  .cati-box01 .cati-box-text {
    padding-top: 8vh;
    padding-left: 5%;
    padding-right: 5%;
  }

  .cati-box02 .cati-box-text {
    padding-top: 8vh;
    padding-left: 5%;
    padding-right: 5%;
  }

  .cati-box03 .cati-box-text {
    padding-top: 8vh;
    padding-left: 5%;
    padding-right: 5%;
  }

  .bxslider h3 {
    font-size: 260%;
  }
  .bxslider p {
    font-size: 100%;
    margin-top: 25px;
    margin-bottom: 20px;
  }
  .cati-box01 .cati-box-text img {
    margin-left: 100px;
  }
  .cati-box02 .cati-box-text img {
    margin-left: 100px;
  }
  .cati-box03 .cati-box-text img {
    margin-left: 100px;
  }
  .cati-box01 {
    background: linear-gradient(
      90deg,
      rgba(0, 0, 0, 0.8),
      rgba(255, 255, 255, 0)
    );
  }
  .cati-box02 {
    background: linear-gradient(
      90deg,
      rgba(0, 0, 0, 0.8),
      rgba(255, 255, 255, 0)
    );
  }
  .cati-box03 {
    background: linear-gradient(
      90deg,
      rgba(90, 167, 222, 0.5),
      rgba(255, 255, 255, 0)
    );
  }

  .sl01 {
    background-image: url(../img/01-s.jpg);
  }
  .sl02 {
    background-image: url(../img/02-s_2.jpg);
  }
  .sl03 {
    background-image: url(../img/03-s.jpg);
  }
  .sumsmenu {
    padding: 20px 20px 10px 20px;
    border-bottom: 1px solid #ffffff;
  }
  .sumsmenu a {
    color: #fff;
    font-size: 120%;
    line-height: 1.5;
    font-weight: bold;
    padding: 0px 0px 10px 0px;
    display: block;
  }
}
