@charset "UTF-8";
body {
  background-color: #fff;
  color: #111;
}

img {
  width: 100%;
  height: auto;
  display: block;
}

_:lang(x)::-internal-media-controls-overlay-cast-button, img {
  image-rendering: -webkit-optimize-contrast;
}

h1, h2, h3, h4, h5, h6, div, p, li, dt, dd, th, td {
  font-size: 16px;
  line-height: 1.5em;
  color: #111;
}

a {
  color: #111;
}

.bebas-neue {
  font-family: "Bebas Neue", sans-serif;
}

/*--- ヘッダー ---*/
header {
  display: block;
  width: 100%;
  height: 55px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: fixed;
  z-index: 50;
  background: #fff;
  border-bottom: 1px solid #f9f9f8;
}
@media screen and (max-width: 1400px) {
  header {
    height: 3.9vw;
  }
}
@media screen and (max-width: 768px) {
  header {
    height: 13.3vw;
  }
}
header .logo {
  width: 161px;
  margin-left: 48px;
}
@media screen and (max-width: 1400px) {
  header .logo {
    width: 11.5vw;
    margin-left: 3.4vw;
  }
}
@media screen and (max-width: 768px) {
  header .logo {
    width: 31.7vw;
    margin-right: auto;
    margin-left: auto;
  }
}
header .contact {
  width: 180px;
  position: absolute;
  right: 0;
  bottom: -60px;
}
@media screen and (max-width: 1400px) {
  header .contact {
    width: 12.9vw;
    bottom: -4.3vw;
  }
}
@media screen and (max-width: 768px) {
  header .contact {
    width: 39.7vw;
    bottom: -7.5vw;
  }
}

.navToggle {
  display: block;
  width: 87px;
  height: 55px;
  cursor: pointer;
  z-index: 60;
  text-align: center;
  position: fixed;
  right: 0;
  top: 0;
}
@media screen and (max-width: 1400px) {
  .navToggle {
    width: 6.2vw;
    height: 3.9vw;
  }
}
@media screen and (max-width: 768px) {
  .navToggle {
    width: 15.7vw;
    height: 13.3vw;
  }
}
.navToggle span {
  display: block;
  position: absolute;
  /* .navToggleに対して */
  width: 37px;
  border-bottom: solid 1px #000;
  right: 25px;
  transition: 0.25s ease-in-out;
}
@media screen and (max-width: 1400px) {
  .navToggle span {
    width: 2.6vw;
    right: 1.8vw;
  }
}
@media screen and (max-width: 768px) {
  .navToggle span {
    width: 9.3vw;
    right: 3.3vw;
  }
}
.navToggle span:nth-child(1) {
  top: 20px;
}
@media screen and (max-width: 1400px) {
  .navToggle span:nth-child(1) {
    top: 1.4vw;
  }
}
@media screen and (max-width: 768px) {
  .navToggle span:nth-child(1) {
    top: 5.2vw;
  }
}
.navToggle span:nth-child(2) {
  top: 35px;
}
@media screen and (max-width: 1400px) {
  .navToggle span:nth-child(2) {
    top: 2.5vw;
  }
}
@media screen and (max-width: 768px) {
  .navToggle span:nth-child(2) {
    top: 8.4vw;
  }
}
.navToggle.active span {
  top: 25px;
  /* 最初のspanをマイナス45度に */
  /* 2番目と3番目のspanを45度に */
}
@media screen and (max-width: 1400px) {
  .navToggle.active span {
    top: 1.8vw;
  }
}
@media screen and (max-width: 768px) {
  .navToggle.active span {
    top: 6.7vw;
  }
}
.navToggle.active span:nth-child(1) {
  transform: rotate(-45deg);
}
.navToggle.active span:nth-child(2) {
  transform: rotate(45deg);
}

#sp_menu {
  width: 560px;
  height: 100%;
  padding-top: 55px;
  position: fixed;
  top: 0;
  right: -560px;
  z-index: 50;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  background-color: rgba(255, 255, 255, 0.3);
  transition-property: right;
  transition-duration: 0.4s;
  transition-timing-function: ease-in-out;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 1400px) {
  #sp_menu {
    width: 40vw;
    padding-top: 3.9vw;
    right: -40vw;
  }
}
@media screen and (max-width: 768px) {
  #sp_menu {
    width: 100%;
    padding-top: 13.3vw;
    right: -100%;
  }
}
#sp_menu.active {
  right: 0;
}
#sp_menu .link_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 74%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  #sp_menu .link_list {
    width: 80.8%;
    margin-left: auto;
    margin-right: auto;
  }
}
#sp_menu .link_list li {
  width: 50%;
}
#sp_menu .link_list li:nth-child(n+3) {
  margin-top: 40px;
}
@media screen and (max-width: 1400px) {
  #sp_menu .link_list li:nth-child(n+3) {
    margin-top: 2.9vw;
  }
}
@media screen and (max-width: 768px) {
  #sp_menu .link_list li:nth-child(n+3) {
    margin-top: 8.7vw;
  }
}
#sp_menu .link_list li a {
  display: block;
}
#sp_menu .link_list li a .en, #sp_menu .link_list li a .jp {
  color: #fff;
  display: block;
}
#sp_menu .link_list li a .en {
  font-size: 21px;
  font-weight: 400;
  font-family: "Bebas Neue", sans-serif;
  line-height: 1.5em;
  letter-spacing: 0.05em;
  color: #111;
  /* text-shadow: 0px 0px 5px rgba(0, 0, 0, 1); */
}
@media screen and (max-width: 1400px) {
  #sp_menu .link_list li a .en {
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 768px) {
  #sp_menu .link_list li a .en {
    font-size: 4.4vw;
  }
}
#sp_menu .link_list li a .jp {
  font-size: 13px;
  line-height: 1.7em;
  color: #111;
  /* text-shadow: 0px 0px 5px rgba(0, 0, 0, 1), 0px 0px 10px rgba(0, 0, 0, 1); */
}
@media screen and (max-width: 1400px) {
  #sp_menu .link_list li a .jp {
    font-size: 0.9vw;
  }
}
@media screen and (max-width: 768px) {
  #sp_menu .link_list li a .jp {
    font-size: 2.8vw;
  }
}
#sp_menu .link_list li a.no_link {
  pointer-events: none;
  opacity: 0.5;
}

main {
  padding-top: 55px;
  background-color: #fff;
}
@media screen and (max-width: 1400px) {
  main {
    padding-top: 3.9vw;
  }
}
@media screen and (max-width: 768px) {
  main {
    padding-top: 13.3vw;
  }
}

/*--- アンカーリンク（#containerのpadding-top*1.1倍） ---*/
.anker {
  display: block;
  padding-top: 55px;
  margin-top: -55px;
}
@media screen and (max-width: 1400px) {
  .anker {
    padding-top: 3.9vw;
    margin-top: -3.9vw;
  }
}
@media screen and (max-width: 768px) {
  .anker {
    padding-top: 13.3vw;
    margin-top: -13.3vw;
  }
}

/*--- 共通CSS ---*/
.wrap01, .wrap02, .wrap03, .wrap04, .wrap05, .wrap06 {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}

.wrap01 {
  max-width: 1250px;
}
@media screen and (max-width: 1400px) {
  .wrap01 {
    max-width: none;
    width: 89.3vw;
  }
}
@media screen and (max-width: 768px) {
  .wrap01 {
    width: 86.7%;
  }
}

#page_title {
  width: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: center center;
}
@media screen and (max-width: 768px) {
  #page_title {
    background: none;
  }
}
#page_title h1 {
  max-width: 1200px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1400px) {
  #page_title h1 {
    max-width: none;
    width: 85.7%;
  }
}
@media screen and (max-width: 768px) {
  #page_title h1 {
    width: 100%;
  }
}

.page_content {
  padding-top: 180px;
  padding-bottom: 150px;
}
@media screen and (max-width: 1400px) {
  .page_content {
    padding-top: 12.9vw;
    padding-bottom: 10.7vw;
  }
}
@media screen and (max-width: 768px) {
  .page_content {
    padding-top: 24vw;
    padding-bottom: 24vw;
  }
}

h2.stitle {
  font-size: 23px;
  font-weight: 400;
  font-family: "Noto Serif", sans-serif;
  line-height: 1.5em;
  color: #333;
  text-align: center;
  margin-bottom: 20px;
}
@media screen and (max-width: 1400px) {
  h2.stitle {
    font-size: 1.6vw;
    margin-bottom: 1.4vw;
  }
}
@media screen and (max-width: 768px) {
  h2.stitle {
    font-size: 3.1vw;
    margin-bottom: 2.4vw;
  }
}

/*--- フッター ---*/
footer #mansion {
  background-color: #f9f9f8;
}
footer #mansion .wrap_sp {
  max-width: 1030px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-top: 160px;
  padding-bottom: 100px;
}
@media screen and (max-width: 1400px) {
  footer #mansion .wrap_sp {
    max-width: none;
    width: 73.6vw;
    padding-top: 11.4vw;
    padding-bottom: 7.1vw;
  }
}
@media screen and (max-width: 768px) {
  footer #mansion .wrap_sp {
    width: 90.7%;
    padding-top: 16vw;
    padding-bottom: 9.3vw;
  }
}
footer #mansion .title {
  font-size: 21px;
  font-weight: 400;
  line-height: 1.5em;
  color: #333;
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 1400px) {
  footer #mansion .title {
    font-size: 1.5vw;
    margin-bottom: 2.1vw;
  }
}
@media screen and (max-width: 768px) {
  footer #mansion .title {
    font-size: 3.2vw;
    margin-bottom: 10vw;
  }
}
footer #mansion .mansion_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
footer #mansion .mansion_box .mansion_block {
  width: 32%;
}
@media screen and (max-width: 768px) {
  footer #mansion .mansion_box .mansion_block {
    width: 48.5%;
  }
  footer #mansion .mansion_box .mansion_block:nth-child(n+3) {
    margin-top: 10vw;
  }
}
footer #mansion .mansion_box .mansion_block .img01 {
  width: 100%;
  height: auto;
}
footer #mansion .mansion_box .mansion_block .name {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5em;
  color: #111;
  text-align: center;
  margin-top: 0.8em;
}
@media screen and (max-width: 1400px) {
  footer #mansion .mansion_box .mansion_block .name {
    font-size: 1.1vw;
  }
}
@media screen and (max-width: 768px) {
  footer #mansion .mansion_box .mansion_block .name {
    font-size: 3.1vw;
    line-height: 1.3em;
    margin-top: 0.5em;
  }
}
footer #mansion .mansion_box .mansion_block .link_list {
  width: 148px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 15px;
}
@media screen and (max-width: 1400px) {
  footer #mansion .mansion_box .mansion_block .link_list {
    width: 10.6vw;
    margin-top: 1.1vw;
  }
}
@media screen and (max-width: 768px) {
  footer #mansion .mansion_box .mansion_block .link_list {
    width: 100%;
    margin-top: 2vw;
  }
}
footer #mansion .mansion_box .mansion_block .link_list li {
  width: 100%;
}
footer #mansion .mansion_box .mansion_block .link_list li + li {
  margin-top: 10px;
}
@media screen and (max-width: 1400px) {
  footer #mansion .mansion_box .mansion_block .link_list li + li {
    margin-top: 0.7vw;
  }
}
@media screen and (max-width: 768px) {
  footer #mansion .mansion_box .mansion_block .link_list li + li {
    margin-top: 2vw;
  }
}
footer #link {
  background-color: #3e3a39;
}
footer #link .wrap_sp {
  max-width: 1030px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  align-items: center;
  padding: 50px 0;
}
@media screen and (max-width: 1400px) {
  footer #link .wrap_sp {
    max-width: none;
    width: 73.6vw;
    padding: 3.6vw 0;
  }
}
@media screen and (max-width: 768px) {
  footer #link .wrap_sp {
    width: 73.3%;
    padding: 17.3vw 0;
    display: block;
  }
}
footer #link .wrap_sp .logo {
  width: 10.2%;
}
@media screen and (max-width: 768px) {
  footer #link .wrap_sp .logo {
    width: 17.3vw;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 10vw;
  }
}
footer #link .wrap_sp .link_box {
  width: 84.2%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  footer #link .wrap_sp .link_box {
    width: 100%;
  }
}
footer #link .wrap_sp .link_box .link_block {
  width: 20%;
}
@media screen and (max-width: 768px) {
  footer #link .wrap_sp .link_box .link_block {
    width: 55%;
  }
  footer #link .wrap_sp .link_box .link_block:nth-child(2n) {
    width: 45%;
  }
}
footer #link .wrap_sp .link_box .link_block a {
  display: block;
}
footer #link .wrap_sp .link_box .link_block a .en {
  font-size: 18px;
  font-weight: 400;
  font-family: "Bebas Neue", sans-serif;
  line-height: 1.5em;
  color: #fff;
}
@media screen and (max-width: 1400px) {
  footer #link .wrap_sp .link_box .link_block a .en {
    font-size: 1.3vw;
  }
}
@media screen and (max-width: 768px) {
  footer #link .wrap_sp .link_box .link_block a .en {
    font-size: 3.6vw;
  }
}
footer #link .wrap_sp .link_box .link_block a .jp {
  font-size: 11px;
  line-height: 1.7em;
  color: #fff;
}
@media screen and (max-width: 1400px) {
  footer #link .wrap_sp .link_box .link_block a .jp {
    font-size: 0.8vw;
  }
}
@media screen and (max-width: 768px) {
  footer #link .wrap_sp .link_box .link_block a .jp {
    font-size: 2.5vw;
  }
}
footer #link .wrap_sp .link_box .link_block a.no_link {
  pointer-events: none;
  opacity: 0.5;
}
footer #link .wrap_sp .link_box .link_block:nth-child(n+6) {
  margin-top: 20px;
}
@media screen and (max-width: 1400px) {
  footer #link .wrap_sp .link_box .link_block:nth-child(n+6) {
    margin-top: 1.4vw;
  }
}
@media screen and (max-width: 768px) {
  footer #link .wrap_sp .link_box .link_block:nth-child(n+3) {
    margin-top: 6vw;
  }
}
footer #bottom {
  background-color: #fff;
  padding-top: 30px;
  padding-bottom: 30px;
}
@media screen and (max-width: 1400px) {
  footer #bottom {
    padding-top: 2.1vw;
    padding-bottom: 2.1vw;
  }
}
@media screen and (max-width: 768px) {
  footer #bottom {
    padding-top: 5vw;
    padding-bottom: 5vw;
  }
}
footer #bottom .logo {
  width: 220px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1400px) {
  footer #bottom .logo {
    width: 15.7vw;
  }
}
@media screen and (max-width: 768px) {
  footer #bottom .logo {
    width: 41.1vw;
  }
}
footer #bottom .copyright {
  font-size: 10px;
  font-weight: 500;
  line-height: 1.7em;
  color: #333;
  text-align: center;
  margin-top: 0.7em;
}
@media screen and (max-width: 1400px) {
  footer #bottom .copyright {
    font-size: 0.7vw;
  }
}
@media screen and (max-width: 768px) {
  footer #bottom .copyright {
    font-size: 2vw;
  }
}

/*--- youtube埋め込み ---*/
.youtube2 {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube2 iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

/*---------------------------
アニメーション用CSS
-----------------------------*/
.animate, .animate2, .animate3 {
  opacity: 1;
  transition-property: opacity, transform;
  transition-duration: 0.5s;
  transition-timing-function: ease-in-out;
  transform: translateY(0);
}

.animate.deactive, .animate2.deactive, .animate3.deactive {
  opacity: 0;
  transition: 0s;
  transform: translateY(20px);
}/*# sourceMappingURL=style.css.map */