@charset "UTF-8";
.page p, .page span, .page a, .page h2, .page h3 {
  line-height: 1.5;
}
.page a {
  display: block;
  transition: all 0.3s ease-in 0s;
}
.page a:hover {
  opacity: 0.6;
}
.page img {
  max-width: 100%;
  height: auto;
}
.page div, .page span, .page applet, .page object, .page iframe,
.page h1, .page h2, .page h3, .page h4, .page h5, .page h6, .page p,
.page blockquote, .page pre, .page a, .page abbr, .page acronym, .page address,
.page big, .page cite, .page code, .page del, .page dfn, .page em, .page img, .page ins, .page kbd, .page q, .page s, .page samp, .page small, .page strike, .page strong, .page sub, .page sup, .page tt, .page var, .page b, .page u, .page i, .page center,
.page dl, .page dt, .page dd, .page ol, .page ul, .page li,
.page fieldset, .page form, .page label, .page legend,
.page table, .page caption, .page tbody, .page tfoot, .page thead, .page tr, .page th, .page td,
.page article, .page aside, .page canvas, .page details, .page embed, .page figure, .page figcaption, .page footer, .page header, .page hgroup,
.page menu, .page nav, .page output, .page ruby, .page section, .page summary, .page time, .page mark, .page audio, .page video, .page picture {
  box-sizing: border-box;
}
.page article, .page aside, .page details, .page figcaption, .page figure, .page footer, .page header, .page hgroup, .page menu, .page nav, .page section, .page summary, .page picture {
  display: block;
}
.page *, .page *:before, .page *:after {
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
.page button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.l-wrap {
  overflow: initial;
}

@media screen and (min-width: 769px) {
  .view--pc {
    display: block;
  }
  .view--sp {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .view--pc {
    display: none;
  }
  .view--sp {
    display: block;
  }
}
.l-footer {
  margin-top: 0;
}

#reserve_contact, #to_top {
  z-index: 999;
}

@media screen and (max-width: 768px) {
  .page {
    margin-top: 100px;
  }
}

.page {
  padding: 0 0 100px;
  overflow: hidden;
  background: #D9D5C3;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  letter-spacing: 0;
  /* kv
  ------------------------------*/
  /* customize
  ------------------------------*/
  /* quality
  ------------------------------*/
  /* shop
  ------------------------------*/
}
@media screen and (max-width: 768px) {
  .page {
    padding: 0 0 16.1vw;
  }
}
.page .pc {
  display: block;
}
@media screen and (max-width: 768px) {
  .page .pc {
    display: none;
  }
}
.page .sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .page .sp {
    display: block;
  }
}
.page .section {
  margin-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .page .section {
    margin-bottom: 13.5vw;
  }
}
.page .section__inner {
  width: 96%;
  margin: auto;
  max-width: 1000px;
}
@media screen and (max-width: 768px) {
  .page .section__inner {
    width: 89.6vw;
  }
}
.page .section__inner--right {
  text-align: right;
}
.page .section__title {
  margin: 0 auto 59px;
  text-align: center;
  font-size: 90px;
  letter-spacing: 0.08em;
  font-weight: 400;
  font-family: "EB Garamond", serif;
}
@media screen and (max-width: 768px) {
  .page .section__title {
    font-size: 13.7vw;
    margin: 0 auto 6.4vw;
  }
}
.page .section__title span {
  display: block;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0;
  font-family: "Shippori Mincho", serif;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .page .section__title span {
    margin-top: -2.8vw;
    font-size: 3.9vw;
  }
}
.page .section__txt {
  margin-bottom: 67px;
  font-size: 14px;
  line-height: 1.7;
}
@media screen and (max-width: 768px) {
  .page .section__txt {
    margin-bottom: 6.3vw;
    font-size: 3.6vw;
  }
}
.page .section-box {
  display: inline-block;
  margin-left: calc(50% - 50vw);
  margin-bottom: 150px;
  padding-left: calc(50vw - 50%);
  background: #fff;
}
@media screen and (max-width: 768px) {
  .page .section-box {
    margin-bottom: 22.1vw;
  }
}
.page .section-box--right {
  margin-right: calc(50% - 50vw);
  margin-left: auto;
  margin-bottom: 0;
  padding-right: calc(50vw - 50%);
  padding-left: 0;
}
.page .section-box--right .section-box__inner {
  padding: 5px 150px 16px 48px;
}
@media screen and (max-width: 768px) {
  .page .section-box--right .section-box__inner {
    padding: 2.1vw 20.7vw 2.1vw 3.3vw;
  }
}
.page .section-box--right .section-box__title {
  left: auto;
  right: -15px;
  left: auto;
}
@media screen and (max-width: 768px) {
  .page .section-box--right .section-box__title {
    right: -2.6vw;
  }
}
.page .section-box--right .section-box__list tr {
  padding: 30px 17px;
}
@media screen and (max-width: 768px) {
  .page .section-box--right .section-box__list tr {
    padding: 5.3vw 1.2vw;
  }
}
.page .section-box__inner {
  position: relative;
  padding: 21px 38px 33px 150px;
}
@media screen and (max-width: 768px) {
  .page .section-box__inner {
    padding: 2.6vw 4.4vw 2.6vw 20.7vw;
  }
}
.page .section-box__title {
  display: inline-block;
  position: absolute;
  top: -70px;
  left: -10px;
  opacity: 0.7;
  mix-blend-mode: multiply;
  color: #D9D5C3;
  font-size: 100px;
  font-family: "EB Garamond", serif;
  writing-mode: vertical-rl;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .page .section-box__title {
    top: -13vw;
    left: -1.3vw;
    font-size: 19.8vw;
  }
}
.page .section-box__list {
  display: block;
}
.page .section-box__list tr {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 38px 10px 8px;
  border-bottom: solid 1px #231815;
}
.page .section-box__list tr:last-of-type {
  border-bottom: none;
}
@media screen and (max-width: 768px) {
  .page .section-box__list tr {
    flex-direction: column;
    padding: 3.9vw 7.7vw 4vw 0;
  }
}
.page .section-box__list td {
  text-align: left;
}
.page .section-box__list td p {
  white-space: nowrap;
}
.page .section-box__list td span {
  display: inline-block;
  vertical-align: baseline;
}
.page .section-box__list td:nth-child(1) {
  font-size: 24px;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .page .section-box__list td:nth-child(1) {
    font-size: 5.1vw;
    line-height: 1.5;
  }
}
.page .section-box__list td:nth-child(2) {
  position: relative;
  color: #941F29;
  font-size: 24px;
}
@media screen and (max-width: 768px) {
  .page .section-box__list td:nth-child(2) {
    margin: -1.8vw;
    font-size: 5.1vw;
  }
}
.page .section-box__list td:nth-child(2) span {
  position: relative;
  font-size: 55px;
}
@media screen and (max-width: 768px) {
  .page .section-box__list td:nth-child(2) span {
    font-size: 11.6vw;
  }
}
.page .section-box__list td:nth-child(2) span::after {
  position: absolute;
  right: 0;
  bottom: 0;
  transform: translate(100%, 0);
  font-size: 30px;
  content: "～";
}
@media screen and (max-width: 768px) {
  .page .section-box__list td:nth-child(2) span::after {
    top: 30%;
    right: 0;
    bottom: auto;
    font-size: 6.4vw;
  }
}
.page .kv {
  margin: 0 auto 150px;
}
@media screen and (max-width: 768px) {
  .page .kv {
    margin: 0 auto 19.5vw;
  }
}
.page .kv h1 img {
  width: 100%;
  height: auto;
}
.page .customize {
  margin-bottom: 82px;
}
@media screen and (max-width: 768px) {
  .page .customize {
    margin-bottom: 11.8vw;
  }
}
.page .customize__img {
  display: flex;
}
@media screen and (max-width: 768px) {
  .page .customize__img {
    flex-wrap: wrap;
  }
}
.page .customize__img li {
  width: 25%;
}
@media screen and (max-width: 768px) {
  .page .customize__img li {
    width: 50%;
    margin-bottom: 1.7vw;
  }
}
.page .customize__img li:last-of-type, .page .customize__img li:nth-last-of-type(2) {
  margin-bottom: 0;
}
.page .quality__img {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .page .quality__img {
    flex-wrap: wrap;
  }
}
.page .quality__img li {
  width: 21.6%;
  height: auto;
}
@media screen and (max-width: 768px) {
  .page .quality__img li {
    width: 42.2vw;
    height: auto;
    margin-bottom: 5.3vw;
  }
}
.page .quality__img li:last-of-type, .page .quality__img li:nth-last-of-type(2) {
  margin-bottom: 0;
}
.page .shop-list {
  display: flex;
  justify-content: space-between;
  padding: 5% 1.4%;
  background: #fff;
}
@media screen and (max-width: 768px) {
  .page .shop-list {
    display: block;
    padding: 4.7vw 5.2vw;
  }
}
.page .shop-list li {
  padding: 0 3.3%;
  border-right: solid 1px #707070;
}
@media screen and (max-width: 768px) {
  .page .shop-list li {
    padding: 7.8vw 0;
    border-right: none;
    border-bottom: solid 1px #707070;
  }
}
.page .shop-list li:last-of-type {
  border-right: none;
}
@media screen and (max-width: 768px) {
  .page .shop-list li:last-of-type {
    border-bottom: none;
  }
}
.page .shop-list__logo {
  margin: 0 11.7% 20px 0;
}
@media screen and (max-width: 768px) {
  .page .shop-list__logo {
    margin: 0 24.6vw 5.7vw 0;
  }
}
.page .shop-list__name {
  margin-bottom: 22px;
  font-size: 25px;
  font-weight: 600;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .page .shop-list__name {
    margin-bottom: 6.3vw;
    font-size: 7.7vw;
  }
}
.page .shop-list__address {
  margin-bottom: 7px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7;
}
@media screen and (max-width: 768px) {
  .page .shop-list__address {
    margin-bottom: 3.4vw;
    font-size: 4.3vw;
  }
}
.page .shop-list__address:last-of-type {
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .page .shop-list__address:last-of-type {
    margin-bottom: 7.6vw;
  }
}
.page .shop-list__btn {
  display: block;
  padding: 37px 0;
  background: #231815;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page .shop-list__btn {
    padding: 7.3vw 0;
  }
}
.page .shop-list__btn:hover {
  opacity: 0.6;
}
@media screen and (max-width: 768px) {
  .page .shop-list__btn:hover {
    opacity: 1;
  }
}
.page .shop-list__btn span {
  display: inline-block;
  position: relative;
  padding-right: 25px;
  font-size: 24px;
  font-weight: 600;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .page .shop-list__btn span {
    padding-right: 9.1vw;
    padding-left: 9.1vw;
    font-size: 4.7vw;
  }
}
.page .shop-list__btn span::after {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 10px;
  height: 20px;
  background: url(../img/shop-arrow.png) no-repeat center center/contain;
  pointer-events: none;
  content: "";
}
@media screen and (max-width: 768px) {
  .page .shop-list__btn span::after {
    width: 2vw;
    height: 3.9vw;
  }
}