@charset "UTF-8";
html {
  scroll-behavior: smooth;
}

body {
  width: 100%;
  line-height: 2;
  letter-spacing: 0.2px;
  font-size: 13px;
  color: #4C310A;
  transition: all 1.6s ease 0s;
  background-color: #E3DBCC;
  font-family: "dnp-shuei-gothic-gin-std", sans-serif;
  font-weight: 500;
  font-style: normal;
  line-height: 1.9 !important;
}
@media screen and (min-width: 769px) {
  body {
    margin: 0 auto !important;
  }
}
body:before {
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100vh;
  background-repeat: no-repeat;
  background-position: 50% 100%;
  background-image: url(../images/bg.png);
  background-size: cover;
}
@media screen and (min-width: 769px) {
  body:before {
    background-image: url(../images/pc_bg.png);
  }
}

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

a:hover {
  opacity: 0.6;
  transition: 0.6s;
}

@media screen and (min-width: 769px) {
  .spNone {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .spNone {
    display: none !important;
  }
}

@media screen and (min-width: 769px) {
  .pcNone {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .pcNone {
    display: block;
  }
}

#bg-loading {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100dvh;
  background: #E5E2DB;
  z-index: 99;
  transition: opacity 0.3s ease-out 0.1s;
}

#bg-loading.hide {
  opacity: 0;
  pointer-events: none;
}

#main {
  overflow: hidden;
}
#main h1 {
  display: flex;
  font-size: 10px;
  align-items: center;
}
#main h1 div {
  width: 40.8vw;
  margin-left: 5px;
}
@media screen and (min-width: 769px) {
  #main h1 div {
    width: 20.8vw;
  }
}
#main nav {
  position: fixed;
  font-size: 2vw;
  margin-top: 2vw;
  font-family: "orpheuspro", serif;
  font-weight: 400;
  font-style: normal;
}
#main .flex {
  display: flex;
  justify-content: space-between;
  width: 90%;
  margin: 16px auto;
}
@media screen and (min-width: 769px) {
  #main .flex {
    margin: 40px auto 0;
  }
}
#main .insta {
  width: 24px;
}
#main .slide {
  width: 165vw;
  margin-left: -28vw;
}
@media screen and (min-width: 769px) {
  #main .slide {
    width: 81vw;
    margin-left: 5vw;
    margin-top: -15vw;
  }
}
#main .rotate__cont {
  position: fixed;
  bottom: 10px;
  right: 10px;
  width: 38.4vw;
  height: 38.4vw;
  margin: 0 auto 30px;
  background-color: #445A52;
  border-radius: 50%;
  line-height: 1.5;
  z-index: 999;
}
@media screen and (min-width: 769px) {
  #main .rotate__cont {
    right: 30px;
    width: 13vw;
    height: 13vw;
  }
}
#main .rotate__inner-txt {
  font-family: "orpheuspro", serif;
  font-weight: 500;
  font-style: normal;
  color: #E3D8C1;
  position: absolute;
  left: 50%;
  top: 45%;
  transform: translate(-50%, -50%);
  font-size: 4.2vw;
  text-align: center;
  z-index: 1; /* 読み上げ機能などに反応するように円より上に配置するため */
}
@media screen and (min-width: 769px) {
  #main .rotate__inner-txt {
    font-size: 1.4vw;
    top: 48%;
  }
}
#main .rotate__inner-txt span {
  font-size: 2.8vw;
}
@media screen and (min-width: 769px) {
  #main .rotate__inner-txt span {
    font-size: 1.1vw;
  }
}
#main .rotate__float {
  animation: rotate 12s infinite linear;
  position: absolute;
  top: 7%;
  left: 7%;
  width: 85%;
}
@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

#about {
  position: relative;
}
@media screen and (max-width: 768px) {
  #about {
    height: 93vw;
  }
}
#about h2 {
  font-size: 21vw;
  font-family: "orpheuspro", serif;
  font-weight: 400;
  font-style: normal;
  color: #F5EEE0;
  transform: rotate(-90deg);
  width: 0px;
  margin: 51% 0 0 11%;
}
@media screen and (min-width: 769px) {
  #about h2 {
    font-size: 10vw;
    margin: 22% 0 0 25%;
  }
}
#about p {
  top: -46vw;
  left: 14vw;
  position: absolute;
  line-height: 2.4;
  font-size: 3.4666666667vw;
}
@media screen and (min-width: 769px) {
  #about p {
    top: -21vw;
    left: 33vw;
    font-size: 1.3vw;
  }
}

.slider {
  transition: none;
}
.slider .slider_01 {
  margin: 0 1vw;
  width: 52vw !important;
}
.slider .slider_02 {
  margin: 3vw 0 0 0;
  width: 45.3333333333vw !important;
}
.slider .slick-slide {
  margin-right: 12vw;
}

.slider02 {
  transition: none;
}

h2 {
  font-family: "orpheuspro", serif;
  font-weight: 400;
  font-style: normal;
}

#menu {
  margin: 40px auto 0;
}
#menu h2 {
  font-size: 16.2666666667vw;
  color: #CDBB95;
  text-align: center;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 769px) {
  #menu h2 {
    font-size: 10vw;
  }
}
#menu .box {
  background: #FCF9F4;
  border-radius: 50%;
  height: 86vw;
  margin: -17vw auto 0;
  text-align: center;
  position: relative;
}
@media screen and (min-width: 769px) {
  #menu .box {
    border-radius: 41%;
    margin: -10vw auto 0;
    height: 38vw;
  }
}
#menu .box ul {
  padding-top: 20vw;
  line-height: 2.4;
  text-align: right;
  width: fit-content;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  #menu .box ul {
    font-size: 1.3vw;
    padding-top: 12vw;
  }
}
#menu .box .cut {
  font-size: 10px;
  line-height: 1;
  display: block;
}

#openModal {
  width: 10vw;
  display: flex;
  margin: 5vw 0 0 60vw;
}
@media screen and (min-width: 769px) {
  #openModal {
    width: 3vw;
    margin: 3vw 0 0 59vw;
    font-size: 1.2vw;
  }
}
#openModal img {
  margin-left: 5px;
}

/* モーダルCSS */
.modalArea {
  display: none;
  position: fixed;
  z-index: 9999; /*サイトによってここの数値は調整 */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.modalBg {
  width: 100%;
  height: 100%;
  background-color: rgba(186, 182, 154, 0.9);
}

.modalWrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 500px;
  padding: 30px 30px;
  background-color: #fff;
  height: 80%;
  overflow: auto;
}
@media screen and (min-width: 769px) {
  .modalWrapper {
    width: 44%;
    max-width: 1500px;
    padding: 0px 80px 90px;
  }
}

.closeModal {
  position: absolute;
  top: 0.5rem;
  right: 1rem;
  cursor: pointer;
  font-size: 6vw;
}
@media screen and (min-width: 769px) {
  .closeModal {
    font-size: 3vw;
  }
}

.modalContents h1 {
  text-align: center;
  margin: 6vw auto 2vw;
  font-size: 7vw;
  font-family: "orpheuspro", serif;
  font-weight: 400;
  font-style: normal;
}
@media screen and (min-width: 769px) {
  .modalContents h1 {
    font-size: 3vw;
  }
}
.modalContents ul li {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  text-align: right;
}
@media screen and (min-width: 769px) {
  .modalContents ul li {
    font-size: 15px;
    line-height: 2.5;
  }
}

.bg {
  background: #DBC79D;
  height: 81vw;
  margin: -39vw auto 0;
  background-image: url(../images/bg.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (min-width: 769px) {
  .bg {
    margin: -16vw auto 0;
    background-image: url(../images/pc_bg.png);
    height: 51vw;
  }
}

#staff {
  background: #DBC79D;
  margin: -51vw auto 0;
  background-image: url(../images/bg.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  padding-bottom: 15vw;
}
@media screen and (min-width: 769px) {
  #staff {
    background-image: url(../images/pc_bg.png);
    padding-bottom: 10vw;
  }
}
#staff h2 {
  font-size: 19vw;
  color: #F5EEE0;
  transform: rotate(-90deg);
  width: 0px;
  margin: 51% 0 0 8%;
}
@media screen and (min-width: 769px) {
  #staff h2 {
    font-size: 10vw;
    margin: 43% 0 0 20%;
  }
}
#staff .staff_img {
  width: 46.1333333333vw;
  line-height: 1.2;
}
@media screen and (min-width: 769px) {
  #staff .staff_img {
    width: 23vw;
  }
}
#staff .staff_img p {
  font-size: 4vw;
}
@media screen and (min-width: 769px) {
  #staff .staff_img p {
    font-size: 2vw;
  }
}
#staff .staff_img p span {
  color: #AD996F;
  font-family: "orpheuspro", serif;
  font-weight: 500;
  font-style: normal;
  font-size: 3.4666666667vw;
}
@media screen and (min-width: 769px) {
  #staff .staff_img p span {
    font-size: 1.8vw;
  }
}
#staff .jun {
  display: flex;
  position: absolute;
  top: -29vw;
  left: 19vw;
  align-items: center;
  white-space: nowrap;
}
@media screen and (min-width: 769px) {
  #staff .jun {
    left: 30vw;
    top: -18vw;
  }
}
#staff .jun p {
  margin-left: 5vw;
  margin-top: 11vw;
}
@media screen and (min-width: 769px) {
  #staff .jun p {
    margin-left: 4vw;
  }
}
#staff .jun p span {
  margin-top: 1vw;
}
#staff .rei {
  margin-left: 48vw;
  margin-top: -11vw;
  text-align: center;
}
@media screen and (min-width: 769px) {
  #staff .rei {
    margin-left: 54vw;
    margin-top: -10vw;
  }
}
#staff .rei p {
  margin-top: 4vw;
}
@media screen and (min-width: 769px) {
  #staff .rei p {
    margin-top: 2vw;
  }
}
#staff .tae {
  margin-top: -48vw;
  margin-left: 2vw;
  text-align: center;
}
@media screen and (min-width: 769px) {
  #staff .tae {
    margin-top: -27vw;
    margin-left: 25vw;
  }
}
#staff .tae p {
  margin-top: 4vw;
}
@media screen and (min-width: 769px) {
  #staff .tae p {
    margin-top: 2vw;
  }
}

#access {
  text-align: center;
  padding: 8vw 0;
}
@media screen and (min-width: 769px) {
  #access {
    padding-top: 5vw;
  }
}
#access h2 {
  font-size: 16.2666666667vw;
  color: #CDBB95;
}
@media screen and (min-width: 769px) {
  #access h2 {
    font-size: 10vw;
  }
}
@media screen and (min-width: 769px) {
  #access p {
    font-size: 1.3vw;
  }
}
#access p span {
  font-size: 11px;
}
@media screen and (min-width: 769px) {
  #access p span {
    font-size: 1vw;
  }
}
#access iframe {
  width: 88vw;
  height: 64vw;
  margin: 10vw auto;
}
@media screen and (min-width: 769px) {
  #access iframe {
    width: 59vw;
    height: 34vw;
    margin: 6vw auto;
  }
}

footer p {
  text-align: center;
  margin: -10vw auto;
  color: #fff;
  font-family: "orpheuspro", serif;
  font-weight: 500;
  font-style: normal;
}
@media screen and (min-width: 769px) {
  footer p {
    margin: -3vw auto;
    font-size: 1.4vw;
  }
}/*# sourceMappingURL=style.css.map */