@charset "UTF-8";
/*=========================*/
/*==　　　　変数　　　　　 ==*/
/*=========================*/
:root {
  --color_bg01:#F6F4EE;
  --color_bg02:#FFF9EC;
  --color_bg03:#F8F8F8;
  --color_mono01:#333;
  --color_mono02:#fff;
  --color_mono03:#7b7b7b;
  --color_mono04:#C7C7C7;
  --color_mono05:#f6f6f6;
  --color_main01:#A58E61;
  --color_main02:#877654;
  --color_main03:#BCB29E;
  --color_main04:#AFA694;
  --f12:clamp(0.625rem, 0.6rem + 0.13vw, 0.75rem);
  --f14:clamp(0.625rem, 0.6rem + 0.13vw, 0.75rem);
  --f16:clamp(0.625rem, 0.55rem + 0.38vw, 1rem);
  --f18:clamp(1rem, 0.975rem + 0.13vw, 1.125rem);
  --f20:clamp(1rem, 0.95rem + 0.25vw, 1.25rem);
  --f22:clamp(1rem, 0.925rem + 0.38vw, 1.375rem);
  --f24:clamp(1.2rem, 0.9rem + 0.5vw, 1.5rem);
  --f26:clamp(1.2rem, 0.875rem + 0.63vw, 1.625rem);
  --f28:clamp(1.2rem, 0.85rem + 0.75vw, 1.75rem);
  --f30:clamp(1.5rem, 0.825rem + 0.88vw, 1.875rem);
  --f32:clamp(1rem, 0.8rem + 1vw, 2rem);
  --f34:clamp(1rem, 0.775rem + 1.13vw, 2.125rem);
  --f36:clamp(1rem, 0.75rem + 1.25vw, 2.25rem);
  --f38:clamp(1.5rem, 0.725rem + 1.38vw, 2.375rem);
  --f40:clamp(1rem, 0.7rem + 1.5vw, 2.5rem);
  --f42:clamp(1.5rem, 0.675rem + 1.63vw, 2.625rem);
  --f47:clamp(2rem, 0.612rem + 1.94vw, 2.938rem);
  --f54:clamp(1rem, 0.136rem + 4.32vw, 3.375rem);
  --f57:clamp(2rem, 0.488rem + 2.56vw, 3.563rem);
  --f60:clamp(2rem, 5vw, 3.75rem);
  --f67:clamp(3rem, 0.362rem + 3.19vw, 4.188rem);
  --f85:clamp(3.5rem, -0.568rem + 7.84vw, 5.313rem);
  --f122:clamp(1rem, -1.409rem + 12.05vw, 7.625rem);
  --f127:clamp(4rem, -0.388rem + 6.94vw, 7.938rem);
  --f_serif01:"kinuta-mincho-stdn", serif;
  --f_serif02:"Noto Serif", serif;
}

/*=========================*/
/*==　　　　パーツ　　　　 ==*/
/*=========================*/
.c-loader,
.c-page_loader {
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: #fff;
  z-index: 555;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.c-loader {
  animation: c-loader 2s ease 2s alternate forwards;
}

.c-page_loader {
  animation: c-loader 1.5s ease 0.5s alternate forwards;
}

.loader__img {
  font-size: 45px;
  font-weight: bold;
  color: rgb(30, 50, 93);
  opacity: 0;
  animation: c-loader_logo 2s ease 0.5s alternate forwards;
}

.p-md {
  display: none;
}

@media screen and (min-width: 768px) {
  .p-md {
    display: block;
  }
}
.p-lg {
  display: none;
}

@media screen and (min-width: 992px) {
  .p-lg {
    display: block;
  }
}
.__qr img{width: 10rem;}
.p-button {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 10rem;
  padding: 0.5rem;
  border: 1px solid var(--color_mono03);
  font-family: var(--f_serif01);
  background-color: var(--color_mono02);
}
.p-button .inner {
  position: relative;
}
.p-button .inner:before {
  content: "";
  display: block;
  width: 0.25rem;
  height: 0.25rem;
  position: absolute;
  left: -1rem;
  top: 0.25rem;
  bottom: 0;
  margin: auto 0;
  background-color: var(--color_main02);
  border-radius: 50%;
}
.p-button__area {
  display: flex;
  justify-content: center;
}
.p-button:hover {
  background-color: var(--color_main02);
  color: var(--color_mono02);
}
.p-button:hover .inner:before {
  height: 2px;
  width: 0.5rem;
  left: -1.25rem;
  background-color: var(--color_mono02);
}

@media screen and (min-width: 768px) {
  .__qr img{width: 16.5rem }
  .p-button {
    min-width: 16.5rem;
    padding: 0.7rem;
    font-size: var(--f18);
  }
  .p-button .inner:before {
    left: -1rem;
  }
}
.c-reserve__links li {
  margin-bottom: 1rem;
  width: 100%;
}
.c-reserve__links li a {
  display: flex;
  align-items: center;
  padding: 1rem;
  background-color: var(--color_mono02);
  border-radius: 0.5rem;
}
.c-reserve__links li a .icon {
  display: block;
  width: 3rem;
  height: 3rem;
  margin-right: 1rem;
  padding: 0 1rem;
  background-color: var(--color_main02);
  border-radius: 50%;
  text-align: center;
  line-height: 3rem;
}
.c-reserve__links li a .text .eng {
  display: block;
  font-family: var(--f_serif01);
  line-height: 1.5;
}

/*=========================*/
/*==　　　レイアウト　　　 ==*/
/*=========================*/
.l-container {
  width: 95vw;
  max-width: 1200px;
  margin: auto;
}

.c-site_header {
  padding: clamp(1rem, 1.3020833333vw, 1.5625rem) 1.5rem 0;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  transition: 0.3s;
}
.c-site_header .site_header__logo {
  display: block;
  height: 2.5rem;
  aspect-ratio: 251/85;
  transition: 0.3s;
}
.c-site_header .site_header__gnav {
  display: none;
  z-index: 100;
}
.c-site_header .site_header__gnav .reserve {
  display: none;
}
.c-site_header.isScroll {
  padding: 0.5rem 1rem;
  background-color: rgba(255, 255, 255, 0.7);
}
.c-site_header.isScroll .site_header__logo {
  width: auto;
}
.c-site_header.active {
  background-color: var(--color_main01);
  bottom: 0;
}
.c-site_header.active .site_header__gnav {
  display: block;
  margin-top: 2rem;
}
.c-site_header.active .site_header__gnav__links {
  margin-bottom: 2rem;
  display: flex;
  flex-wrap: wrap;
}
.c-site_header.active .site_header__gnav__links li {
  width: 50%;
  margin-bottom: 1rem;
}
.c-site_header.active .site_header__gnav__links li a {
  color: var(--color_mono02);
  font-size: 6vw;
  font-family: var(--f_serif01);
}

@media screen and (min-width: 992px) {
  .c-site_header {
    margin-bottom: 2rem;
  }
  .c-site_header .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .c-site_header .site_header__logo {
    width: clamp(1rem, 13.0208333333vw, 15.625rem);
    height: auto;
  }
  .c-site_header .site_header__gnav {
    display: block;
    margin-right: -2rem;
  }
  .c-site_header .site_header__gnav__links {
    display: flex;
    align-items: center;
  }
  .c-site_header .site_header__gnav__links li {
    margin-left: clamp(1rem, 3.90625vw, 4.6875rem);
  }
  .c-site_header .site_header__gnav__links li a {
    position: relative;
    font-family: var(--f_serif01);
    color: var(--color_main01);
    font-size: var(--f20);
  }
  .c-site_header .site_header__gnav__links li a:after {
    content: "";
    width: 0rem;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    background-color: var(--color_main02);
    transition: 0.2s;
  }
  .c-site_header .site_header__gnav__links li a:hover:after {
    width: 2rem;
  }
  .c-site_header .site_header__gnav__links li.reserve {
    display: block;
    background-color: var(--color_main01);
  }
  .c-site_header .site_header__gnav__links li.reserve a {
    color: var(--color_mono02);
    display: flex;
    align-items: center;
    padding: 0.75rem clamp(1rem, 2.0833333333vw, 2.5rem) 0.75rem 2.125rem;
  }
  .c-site_header .site_header__gnav__links li.reserve a:hover {
    background-color: var(--color_main02);
  }
  .c-site_header .site_header__gnav__links li.reserve .reserve__text {
    margin-left: 1rem;
    font-size: var(--f18);
    line-height: 1.5;
  }
  .c-site_header .site_header__gnav__links li.reserve .reserve__text .jpn {
    display: block;
    font-size: var(--f12);
  }
  .c-site_header .site_header__gnav .c-reserve__links {
    display: none;
  }
  .c-site_header.isScroll .site_header__logo {
    height: 3.125rem;
  }
}
.c-site_footer .site_footer__reserve {
  padding: 2rem 1rem;
  background-image: url(../img/site_footer__reserve__bg.jpg);
  background-position: center right 30%;
  background-repeat: no-repeat;
  background-size: cover;
}
.c-site_footer .site_footer__reserve__title, .c-site_footer .site_footer__reserve__lead_text {
  color: var(--color_mono02);
  text-align: center;
}
.c-site_footer .site_footer__reserve__title {
  font-family: var(--f_serif01);
  font-size: var(--f85);
}
.c-site_footer .site_footer__reserve__links {
  margin-top: 1rem;
}
.c-site_footer .site_footer__reserve__links li {
  margin-bottom: 1rem;
}
.c-site_footer .site_footer__reserve__links li a {
  display: flex;
  align-items: center;
  padding: 1rem;
  background-color: var(--color_mono02);
  border-radius: 0.5rem;
}
.c-site_footer .site_footer__reserve__links li a:hover {
  background-color: var(--color_main01);
  color: var(--color_mono02);
}
.c-site_footer .site_footer__reserve__links li a .icon {
  display: block;
  width: 3rem;
  height: 3rem;
  margin-right: 1rem;
  padding: 0 1rem;
  background-color: var(--color_main02);
  border-radius: 50%;
  text-align: center;
  line-height: 3rem;
}
.c-site_footer .site_footer__reserve__links li a .text .eng {
  display: block;
  font-family: var(--f_serif01);
  font-size: 1.5rem;
  line-height: 1.5;
}
.c-site_footer .site_footer__page_info {
  background-color: var(--color_bg01);
}
.c-site_footer .site_footer__page_info .container {
  width: 95vw;
  margin: auto;
  padding: 2rem 0;
}
.c-site_footer .site_footer__page_info .logo {
  display: block;
  max-width: 50vw;
  margin: 0 auto 2rem;
  text-align: center;
}
.c-site_footer .site_footer__page_info__pages {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.c-site_footer .site_footer__page_info__pages li {
  margin-left: 1.5rem;
  position: relative;
  font-family: var(--f_serif01);
}
.c-site_footer .site_footer__page_info__pages li a:hover {
  text-decoration: underline;
  color: var(--color_main01);
}
.c-site_footer .site_footer__copyright {
  padding: 0 0 1rem;
  font-size: var(--f12);
  text-align: center;
  font-family: var(--f_serif01);
  background-color: var(--color_bg01);
}

@media screen and (min-width: 992px) {
  .c-site_footer .site_footer__reserve {
    padding: 3.4375rem 0;
  }
  .c-site_footer .site_footer__reserve__lead_text {
    font-size: var(--f20);
  }
  .c-site_footer .site_footer__reserve__links {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    max-width: 1200px;
    margin: 4rem auto;
  }
  .c-site_footer .site_footer__reserve__links li {
    width: 32%;
    max-width: 340px;
  }
  .c-site_footer .site_footer__reserve__links li a {
    border-radius: 5px;
  }
  .c-site_footer .site_footer__reserve__links li a .icon {
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    text-align: center;
    line-height: 2.5rem;
  }
  .c-site_footer .site_footer__reserve__links li a .icon img {
    width: 1.25rem;
  }
  .c-site_footer .site_footer__page_info .container {
    display: flex;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
  }
  .c-site_footer .site_footer__page_info .logo {
    width: 10.625rem;
    margin: 0 auto 0 0;
  }
  .c-site_footer .site_footer__page_info__pages li {
    margin: 0 2rem;
  }
  .c-site_footer .site_footer__page_info__pages li a {
    font-size: var(--f20);
  }
}
#p-hamburger {
  width: 1.5rem;
  height: 1.5rem;
  position: fixed;
  top: 2rem;
  right: 1.5rem;
  z-index: 999;
}
#p-hamburger span {
  display: block;
  width: 100%;
  height: 2px;
  position: absolute;
  background-color: var(--color_main02);
  transition: 0.3s;
}
#p-hamburger span:nth-of-type(1) {
  top: 10%;
}
#p-hamburger span:nth-of-type(2) {
  top: 45%;
}
#p-hamburger span:nth-of-type(3) {
  bottom: 10%;
}
#p-hamburger.active span {
  background-color: var(--color_mono02);
}
#p-hamburger.active span:nth-of-type(1) {
  top: 50%;
  transform: rotate(45deg);
}
#p-hamburger.active span:nth-of-type(2) {
  opacity: 0;
}
#p-hamburger.active span:nth-of-type(3) {
  top: 50%;
  transform: rotate(-45deg);
}
#p-hamburger.isScroll {
  top: 1rem;
}

@media screen and (min-width: 992px) {
  #p-hamburger {
    display: none;
  }
}
@keyframes c-loader {
  100% {
    display: none;
    opacity: 0;
    z-index: -1;
  }
}
@keyframes c-loader_logo {
  70% {
    opacity: 0.7;
  }
  100% {
    opacity: 0;
  }
}/*# sourceMappingURL=common.css.map */