@charset "UTF-8";
/*---------------------------------------------------------
Reset
---------------------------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Libre+Caslon+Text:ital@0;1&family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Serif+JP:wght@400;600;700&display=swap");
html, body,
div, article, section, main,
h1, h2, h3, h4, h5, h6,
dl, dt, dd,
ul, ol, li,
pre, form, input, textarea, address, nav,
table, th, td,
a, p, img, figure, span, em, small {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
html:before, html:after, body:before, body:after,
div:before,
div:after, article:before, article:after, section:before, section:after, main:before, main:after,
h1:before,
h1:after, h2:before, h2:after, h3:before, h3:after, h4:before, h4:after, h5:before, h5:after, h6:before, h6:after,
dl:before,
dl:after, dt:before, dt:after, dd:before, dd:after,
ul:before,
ul:after, ol:before, ol:after, li:before, li:after,
pre:before,
pre:after, form:before, form:after, input:before, input:after, textarea:before, textarea:after, address:before, address:after, nav:before, nav:after,
table:before,
table:after, th:before, th:after, td:before, td:after,
a:before,
a:after, p:before, p:after, img:before, img:after, figure:before, figure:after, span:before, span:after, em:before, em:after, small:before, small:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

main {
  display: block;
}

ul, li {
  list-style-type: none;
}

table {
  border-collapse: collapse;
}

img {
  border: none;
}

a {
  text-decoration: none;
}

a, button {
  outline: none;
}
a:focus, button:focus {
  outline: none;
}

sup,
sub {
  height: 0;
  line-height: 1;
  vertical-align: baseline;
  _vertical-align: bottom;
  position: relative;
}

sup {
  bottom: .5ex;
}

sub {
  top: .5ex;
}

code {
  font-family: inherit;
}

/*---------------------------------------------------------
WP
---------------------------------------------------------*/
html {
  margin-top: 0 !important;
}

#wpadminbar {
  /* display: none; */
}

.mincho {
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
}

#contents .btn-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 2.0rem;
  margin-top: 6.0rem;
}
@media print, screen and (min-width: 768px) {
  #contents .btn-box {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: 30px 5.0rem;
    margin-top: 60px;
  }
}
#contents .btn-box.btn-box-left {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
@media print, screen and (min-width: 768px) {
  #contents .btn-box.btn-box-left {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}
#contents .btn-box.btn-box-left a {
  -ms-flex-item-align: start !important;
  align-self: flex-start !important;
}
@media only screen and (max-width: 767px) {
  #contents .btn-box.btn-box-left a:nth-of-type(n+2) {
    margin-top: 1em;
  }
}
@media print, screen and (min-width: 768px) {
  #contents .btn-box.btn-box-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
@media print, screen and (min-width: 768px) {
  #contents .btn-box.btn-box-column a, #contents .btn-box.btn-box-column p {
    -ms-flex-item-align: center !important;
    -ms-grid-row-align: center !important;
    align-self: center !important;
  }
}
#contents .btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  font-size: 3.2rem;
  line-height: 1.6;
  color: #000;
  text-align: center;
  border: 1px solid #000;
  min-width: 52.0rem;
  min-height: 12.0rem;
  padding: 0.5em 3.5rem;
  -webkit-transition: border 0.3s, background 0.3s;
  transition: border 0.3s, background 0.3s;
  cursor: pointer;
}
@media print, screen and (min-width: 768px) {
  #contents .btn {
    font-size: 18px;
    line-height: 1.3333333333;
    min-width: 30.0rem;
    min-height: 80px;
    padding: 0.5em 8.0rem;
  }
}
#contents .btn:hover {
  opacity: 1;
  border-color: #000;
  background-color: #000;
  color: #fff;
}
#contents .btn.nolink:hover {
  opacity: 1;
  border-color: inherit;
  background-color: inherit;
  color: inherit;
  cursor: default;
}
#contents .btn span {
  letter-spacing: 0.2em;
}
#contents .btn-s {
  padding-left: 0.5em !important;
  padding-right: 0.5em !important;
}
@media print, screen and (min-width: 768px) {
  #contents .btn-l {
    min-width: 400px !important;
  }
}
#contents .btn-white {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  font-size: 3.2rem;
  line-height: 1.6;
  color: #000;
  text-align: center;
  border: 1px solid #000;
  min-width: 52.0rem;
  min-height: 12.0rem;
  padding: 0.5em 3.5rem;
  -webkit-transition: border 0.3s, background 0.3s;
  transition: border 0.3s, background 0.3s;
  cursor: pointer;
  background-color: #fff;
}
@media print, screen and (min-width: 768px) {
  #contents .btn-white {
    font-size: 18px;
    line-height: 1.3333333333;
    min-width: 30.0rem;
    min-height: 80px;
    padding: 0.5em 8.0rem;
  }
}
#contents .btn-white:hover {
  opacity: 1;
  border-color: #000;
  background-color: #000;
  color: #fff;
}
#contents .btn-white.nolink:hover {
  opacity: 1;
  border-color: inherit;
  background-color: inherit;
  color: inherit;
  cursor: default;
}
#contents .btn-white span {
  letter-spacing: 0.2em;
}
#contents .btn-brown {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  font-size: 3.2rem;
  line-height: 1.6;
  color: #000;
  text-align: center;
  border: 1px solid #000;
  min-width: 52.0rem;
  min-height: 12.0rem;
  padding: 0.5em 3.5rem;
  -webkit-transition: border 0.3s, background 0.3s;
  transition: border 0.3s, background 0.3s;
  cursor: pointer;
  color: #8b7246;
  border-color: #8b7246;
  background-color: transparent;
}
@media print, screen and (min-width: 768px) {
  #contents .btn-brown {
    font-size: 18px;
    line-height: 1.3333333333;
    min-width: 30.0rem;
    min-height: 80px;
    padding: 0.5em 8.0rem;
  }
}
#contents .btn-brown:hover {
  opacity: 1;
  border-color: #000;
  background-color: #000;
  color: #fff;
}
#contents .btn-brown.nolink:hover {
  opacity: 1;
  border-color: inherit;
  background-color: inherit;
  color: inherit;
  cursor: default;
}
#contents .btn-brown span {
  letter-spacing: 0.2em;
}
#contents .btn-brown:hover {
  border-color: #8b7246;
  background-color: #8b7246;
}
#contents .btn-line {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  font-size: 3.2rem;
  line-height: 1.6;
  color: #000;
  text-align: center;
  border: 1px solid #000;
  min-width: 52.0rem;
  min-height: 12.0rem;
  padding: 0.5em 3.5rem;
  -webkit-transition: border 0.3s, background 0.3s;
  transition: border 0.3s, background 0.3s;
  cursor: pointer;
  background-color: transparent;
}
@media print, screen and (min-width: 768px) {
  #contents .btn-line {
    font-size: 18px;
    line-height: 1.3333333333;
    min-width: 30.0rem;
    min-height: 80px;
    padding: 0.5em 8.0rem;
  }
}
#contents .btn-line:hover {
  opacity: 1;
  border-color: #000;
  background-color: #000;
  color: #fff;
}
#contents .btn-line.nolink:hover {
  opacity: 1;
  border-color: inherit;
  background-color: inherit;
  color: inherit;
  cursor: default;
}
#contents .btn-line span {
  letter-spacing: 0.2em;
}
#contents .btn-round {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  font-size: 3.2rem;
  line-height: 1.6;
  color: #000;
  text-align: center;
  border: 1px solid #000;
  min-width: 52.0rem;
  min-height: 12.0rem;
  padding: 0.5em 3.5rem;
  -webkit-transition: border 0.3s, background 0.3s;
  transition: border 0.3s, background 0.3s;
  cursor: pointer;
  border-radius: 100vw;
}
@media print, screen and (min-width: 768px) {
  #contents .btn-round {
    font-size: 18px;
    line-height: 1.3333333333;
    min-width: 30.0rem;
    min-height: 80px;
    padding: 0.5em 8.0rem;
  }
}
#contents .btn-round:hover {
  opacity: 1;
  border-color: #000;
  background-color: #000;
  color: #fff;
}
#contents .btn-round.nolink:hover {
  opacity: 1;
  border-color: inherit;
  background-color: inherit;
  color: inherit;
  cursor: default;
}
#contents .btn-round span {
  letter-spacing: 0.2em;
}
#contents .btn-pdf span {
  position: relative;
}
#contents .btn-pdf span:after {
  position: absolute;
  display: block;
  content: " ";
  background: url(../uploads/icon-pdf.png) no-repeat center center/contain;
  width: 0.9375em;
  height: 1.125em;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: -1.5em;
}
@media only screen and (max-width: 767px) {
  #contents .btn-pdf span:after {
    position: static;
    display: inline-block;
    content: " ";
    background: url(../uploads/icon-pdf.png) no-repeat center center/contain;
    vertical-align: -0.15em;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    margin-left: 0.1em;
  }
}
#contents .btn-pdf:hover span:after {
  background: url(../uploads/icon-pdf-white.png) no-repeat center center/contain;
}

#contents .link {
  color: #8b7246;
  padding-bottom: 0.1em;
  border-bottom: 1px solid #8b7246;
  -webkit-transition: border 0.3s;
  transition: border 0.3s;
}
#contents .link:hover {
  opacity: 1;
  border-bottom: 1px solid transparent;
}
#contents .link-hover {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
#contents .link-hover:hover {
  opacity: 0.8;
}

#contents .link-arrow {
  position: relative;
  display: inline-block;
  padding-right: 10.0rem;
  font-size: 3.2rem;
  line-height: 1;
  border: none;
  color: #000;
  margin-top: 0;
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
  align-self: center;
}
#contents .link-arrow i {
  position: absolute;
  display: block;
  content: " ";
  background-color: #000;
  width: 8.0rem;
  height: 1px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 0;
  margin-top: 0.25rem;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
@media print, screen and (min-width: 768px) {
  #contents .link-arrow i {
    width: 60px;
    margin-top: 2.5px;
  }
}
#contents .link-arrow i:before {
  position: absolute;
  display: block;
  content: " ";
  background-color: #000;
  width: 2.8rem;
  height: 1px;
  top: 0;
  right: 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform-origin: right bottom;
  transform-origin: right bottom;
}
@media print, screen and (min-width: 768px) {
  #contents .link-arrow i:before {
    width: 10px;
  }
}
#contents .link-arrow:hover {
  border: none;
}
#contents .link-arrow:hover i {
  -webkit-transform: translate(10px, -50%);
  transform: translate(10px, -50%);
}
@media print, screen and (min-width: 768px) {
  #contents .link-arrow {
    padding-right: 80px;
    font-size: 18px;
  }
}
#contents .link-arrow-bottom {
  position: relative;
  display: inline-block;
  padding-right: 10.0rem;
  font-size: 3.2rem;
  line-height: 1;
  border: none;
  color: #000;
  margin-top: 0;
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
  align-self: center;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  padding-bottom: 1em;
}
#contents .link-arrow-bottom i {
  position: absolute;
  display: block;
  content: " ";
  background-color: #000;
  width: 8.0rem;
  height: 1px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 0;
  margin-top: 0.25rem;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
@media print, screen and (min-width: 768px) {
  #contents .link-arrow-bottom i {
    width: 60px;
    margin-top: 2.5px;
  }
}
#contents .link-arrow-bottom i:before {
  position: absolute;
  display: block;
  content: " ";
  background-color: #000;
  width: 2.8rem;
  height: 1px;
  top: 0;
  right: 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform-origin: right bottom;
  transform-origin: right bottom;
}
@media print, screen and (min-width: 768px) {
  #contents .link-arrow-bottom i:before {
    width: 10px;
  }
}
#contents .link-arrow-bottom:hover {
  border: none;
}
#contents .link-arrow-bottom:hover i {
  -webkit-transform: translate(10px, -50%);
  transform: translate(10px, -50%);
}
@media print, screen and (min-width: 768px) {
  #contents .link-arrow-bottom {
    padding-right: 80px;
    font-size: 18px;
  }
}
#contents .link-arrow-bottom i {
  width: 100%;
  top: auto;
  bottom: 0;
  right: auto;
  left: 0;
}
#contents .link-arrow-back {
  position: relative;
  display: inline-block;
  padding-right: 10.0rem;
  font-size: 3.2rem;
  line-height: 1;
  border: none;
  color: #000;
  margin-top: 0;
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
  align-self: center;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  padding-bottom: 1em;
  color: #000;
  border: none;
  min-width: 20.0rem;
  text-align: center;
}
#contents .link-arrow-back i {
  position: absolute;
  display: block;
  content: " ";
  background-color: #000;
  width: 8.0rem;
  height: 1px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 0;
  margin-top: 0.25rem;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
@media print, screen and (min-width: 768px) {
  #contents .link-arrow-back i {
    width: 60px;
    margin-top: 2.5px;
  }
}
#contents .link-arrow-back i:before {
  position: absolute;
  display: block;
  content: " ";
  background-color: #000;
  width: 2.8rem;
  height: 1px;
  top: 0;
  right: 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform-origin: right bottom;
  transform-origin: right bottom;
}
@media print, screen and (min-width: 768px) {
  #contents .link-arrow-back i:before {
    width: 10px;
  }
}
#contents .link-arrow-back:hover {
  border: none;
}
#contents .link-arrow-back:hover i {
  -webkit-transform: translate(10px, -50%);
  transform: translate(10px, -50%);
}
@media print, screen and (min-width: 768px) {
  #contents .link-arrow-back {
    padding-right: 80px;
    font-size: 18px;
  }
}
#contents .link-arrow-back i {
  width: 100%;
  top: auto;
  bottom: 0;
  right: auto;
  left: 0;
}
@media print, screen and (min-width: 768px) {
  #contents .link-arrow-back {
    min-width: 200px;
  }
}
#contents .link-arrow-back i {
  width: 100%;
  top: auto;
  bottom: 0;
  right: auto;
  left: 0;
}
#contents .link-arrow-center {
  position: relative;
  display: inline-block;
  padding-right: 10.0rem;
  font-size: 3.2rem;
  line-height: 1;
  border: none;
  color: #000;
  margin-top: 0;
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
  align-self: center;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  padding-bottom: 1em;
  padding-left: 5.0rem;
  padding-right: 5.0rem;
}
#contents .link-arrow-center i {
  position: absolute;
  display: block;
  content: " ";
  background-color: #000;
  width: 8.0rem;
  height: 1px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 0;
  margin-top: 0.25rem;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
@media print, screen and (min-width: 768px) {
  #contents .link-arrow-center i {
    width: 60px;
    margin-top: 2.5px;
  }
}
#contents .link-arrow-center i:before {
  position: absolute;
  display: block;
  content: " ";
  background-color: #000;
  width: 2.8rem;
  height: 1px;
  top: 0;
  right: 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform-origin: right bottom;
  transform-origin: right bottom;
}
@media print, screen and (min-width: 768px) {
  #contents .link-arrow-center i:before {
    width: 10px;
  }
}
#contents .link-arrow-center:hover {
  border: none;
}
#contents .link-arrow-center:hover i {
  -webkit-transform: translate(10px, -50%);
  transform: translate(10px, -50%);
}
@media print, screen and (min-width: 768px) {
  #contents .link-arrow-center {
    padding-right: 80px;
    font-size: 18px;
  }
}
#contents .link-arrow-center i {
  width: 100%;
  top: auto;
  bottom: 0;
  right: auto;
  left: 0;
}
@media print, screen and (min-width: 768px) {
  #contents .link-arrow-center {
    padding-left: 40px;
    padding-right: 40px;
  }
}
#contents .link-white {
  color: #fff !important;
}
#contents .link-white i {
  background-color: #fff !important;
}
#contents .link-white i:before {
  background-color: #fff !important;
}
#contents .link-libre {
  font-family: 'Libre Caslon Text', 'Noto Serif JP', serif;
  font-weight: normal;
  letter-spacing: 0.05em;
  font-size: 3.2rem;
  padding-bottom: 0.75em;
}
@media print, screen and (min-width: 768px) {
  #contents .link-libre {
    font-size: 20px;
  }
}
#contents .arrow-left i:before {
  right: auto;
  left: 0;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom;
}
#contents .arrow-left:hover i {
  -webkit-transform: translate(-10px, -50%);
  transform: translate(-10px, -50%);
}

#contents .title-xxl {
  font-weight: 600;
  margin-bottom: 3.0rem;
  padding: 0;
  border: none;
  background-color: transparent;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  font-size: 5.2rem;
  line-height: 1.3076923077;
  font-weight: 600;
  letter-spacing: 0.2em;
  color: #8b7246;
  text-align: center;
  margin-top: 0;
}
@media print, screen and (min-width: 768px) {
  #contents .title-xxl {
    margin-bottom: 20px;
  }
}
#contents .title-xxl:before {
  display: none;
}
@media print, screen and (min-width: 768px) {
  #contents .title-xxl {
    font-size: 48px;
  }
}
#contents .title-xl {
  font-weight: 600;
  margin-bottom: 3.0rem;
  padding: 0;
  border: none;
  background-color: transparent;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  font-size: 4.0rem;
  line-height: 1.3;
  font-weight: 600;
  letter-spacing: 0.15em;
  margin-top: 0;
}
@media print, screen and (min-width: 768px) {
  #contents .title-xl {
    margin-bottom: 20px;
  }
}
#contents .title-xl:before {
  display: none;
}
@media print, screen and (min-width: 768px) {
  #contents .title-xl {
    font-size: 32px;
    text-align: center;
  }
}
#contents .title-l {
  font-weight: 600;
  margin-bottom: 3.0rem;
  padding: 0;
  border: none;
  background-color: transparent;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  font-size: 4.0rem;
  line-height: 1.4444444444;
  border-bottom: 1px solid #000;
  padding-bottom: 1.5rem;
  margin-top: 7.0rem;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  #contents .title-l {
    margin-bottom: 20px;
  }
}
#contents .title-l:before {
  display: none;
}
@media print, screen and (min-width: 768px) {
  #contents .title-l {
    font-size: 32px;
    padding-bottom: 10px;
    margin-top: 70px;
  }
}
#contents .title-m {
  font-weight: 600;
  margin-bottom: 3.0rem;
  padding: 0;
  border: none;
  background-color: transparent;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  font-size: 3.6rem;
  line-height: 1.4444444444;
  letter-spacing: 0.15em;
  border-bottom: 1px solid #000;
  padding-bottom: 1.5rem;
  margin-top: 8.0rem;
}
@media print, screen and (min-width: 768px) {
  #contents .title-m {
    margin-bottom: 20px;
  }
}
#contents .title-m:before {
  display: none;
}
@media print, screen and (min-width: 768px) {
  #contents .title-m {
    font-size: 24px;
    padding-bottom: 10px;
    margin-top: 60px;
  }
}
#contents .title-r {
  font-weight: 600;
  margin-bottom: 3.0rem;
  padding: 0;
  border: none;
  background-color: transparent;
  font-size: 3.2rem;
  line-height: 1.5;
  background-color: #e8e3da;
  border-bottom: 1px solid #8b7246;
  padding: 1.6rem 1.8rem;
  margin-top: 11.5rem;
}
@media print, screen and (min-width: 768px) {
  #contents .title-r {
    margin-bottom: 20px;
  }
}
#contents .title-r:before {
  display: none;
}
@media print, screen and (min-width: 768px) {
  #contents .title-r {
    font-size: 18px;
    margin-top: 70px;
  }
}
#contents .title-s {
  font-weight: 600;
  margin-bottom: 3.0rem;
  padding: 0;
  border: none;
  background-color: transparent;
  position: relative;
  font-size: 3.2rem;
  line-height: 1.5;
  padding-left: 2.5rem;
  margin-top: 5.0rem;
}
@media print, screen and (min-width: 768px) {
  #contents .title-s {
    margin-bottom: 20px;
  }
}
#contents .title-s:before {
  display: none;
}
@media print, screen and (min-width: 768px) {
  #contents .title-s {
    font-size: 18px;
    margin-top: 50px;
    padding-left: 12px;
  }
}
#contents .title-s:before {
  position: absolute;
  display: block;
  content: " ";
  background-color: #8b7246;
  width: 3px;
  height: 1em;
  top: 0.25em;
  left: 0;
}
#contents .title-ss {
  font-weight: 600;
  margin-bottom: 3.0rem;
  padding: 0;
  border: none;
  background-color: transparent;
  font-size: 3.0rem;
  line-height: 1.6;
  margin-top: 4.5rem;
}
@media print, screen and (min-width: 768px) {
  #contents .title-ss {
    margin-bottom: 20px;
  }
}
#contents .title-ss:before {
  display: none;
}
@media print, screen and (min-width: 768px) {
  #contents .title-ss {
    font-size: 16px;
    margin-top: 50px;
  }
}

.box-title {
  font-weight: 600;
  margin-bottom: 3.0rem;
  padding: 0;
  border: none;
  background-color: transparent;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  font-size: 3.2rem;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .box-title {
    margin-bottom: 20px;
  }
}
.box-title:before {
  display: none;
}
@media print, screen and (min-width: 768px) {
  .box-title {
    font-size: 18px;
  }
}

.title-no_border {
  border: none !important;
  padding: 0 !important;
}
.title-no_border:before {
  display: none !important;
}

.flow-box {
  margin-top: 7.0rem;
}
@media print, screen and (min-width: 768px) {
  .flow-box {
    margin-top: 6.0rem;
  }
}
.flow-box > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 12.5rem 0;
}
@media print, screen and (min-width: 768px) {
  .flow-box > ul {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: 8.0rem;
  }
}
.flow-box > ul > li {
  position: relative;
  padding: 4.0rem 2.8rem;
}
@media print, screen and (min-width: 768px) {
  .flow-box > ul > li {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }
}
.flow-box > ul > li.flow-white {
  background-color: #fff;
  border: 1px solid #e8e3da;
}
.flow-box > ul > li.flow-brown {
  background-color: #e8e3da;
  border: 1px solid #8b7246;
}
.flow-box > ul > li:nth-of-type(n+2):before {
  position: absolute;
  display: block;
  content: " ";
  background: url(../uploads/arrow-bottom.png) no-repeat center center/contain;
  width: 8.2rem;
  height: 12.5rem;
  top: -12.5rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
@media print, screen and (min-width: 768px) {
  .flow-box > ul > li:nth-of-type(n+2):before {
    background-image: url(../uploads/arrow-right.png);
    width: 8.0rem;
    height: 2.8rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    left: -8.0rem;
  }
}
.flow-box > ul > li h2, .flow-box > ul > li h3, .flow-box > ul > li h4, .flow-box > ul > li h5 {
  margin-top: 0;
}

.note {
  display: block;
  font-size: 2.8rem;
  margin-top: 0;
  text-indent: -1em;
  padding-left: 1em;
}
@media print, screen and (min-width: 768px) {
  .note {
    font-size: 14px;
  }
}

.whitebox {
  background-color: #fff;
  margin-top: 5.0rem;
  margin-left: 0;
  margin-right: 0;
  border: 1px solid #e8e3da;
  padding: 7.0rem 4.3rem;
}
@media print, screen and (min-width: 768px) {
  .whitebox {
    padding: 80px 100px;
  }
}
@media print, screen and (min-width: 768px) and (min-width: 768px) {
  .whitebox {
    margin-top: 60px;
  }
}

.list-ul li {
  position: relative;
  padding-left: 1em;
  line-height: 1.7333333333;
}
@media print, screen and (min-width: 768px) {
  .list-ul li {
    line-height: 2;
  }
}
.list-ul li:before {
  position: absolute;
  display: block;
  content: " ";
  background-color: #000;
  border-radius: 100vw;
  width: 1.0rem;
  height: 1.0rem;
  top: 0.65em;
  left: 0.2em;
}
@media print, screen and (min-width: 768px) {
  .list-ul li:before {
    width: 5px;
    height: 5px;
    top: 0.8em;
    left: 0.3em;
  }
}
.list-ul li:nth-child(n+2) {
  margin-top: 0.5em;
}

.list-ol {
  counter-reset: ol-num 0;
}
.list-ol li {
  position: relative;
  padding-left: 2em;
  line-height: 1.7333333333;
}
@media print, screen and (min-width: 768px) {
  .list-ol li {
    line-height: 2;
  }
}
.list-ol li:before {
  display: inline-block;
  min-width: 2em;
  text-align: center;
  counter-increment: ol-num 1;
  content: counter(ol-num) ".";
  float: left;
  margin-left: -2em;
  font-weight: bold;
}

.scroll-box {
  overflow-x: auto;
  padding-bottom: 2.8rem;
  -webkit-overflow-scrolling: touch;
  margin-top: 3.0rem;
}
@media print, screen and (min-width: 768px) {
  .scroll-box {
    padding-bottom: 0;
    width: calc( 100% + 1px );
    margin-top: 30px;
  }
}
.scroll-box + .scroll-box {
  margin-top: 10.0rem;
}
@media print, screen and (min-width: 768px) {
  .scroll-box + .scroll-box {
    margin-top: 6.0rem;
  }
}
.scroll-box::-webkit-scrollbar {
  height: 1.7rem;
}
.scroll-box::-webkit-scrollbar-track {
  background: transparent;
}
.scroll-box::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border: none;
  border-radius: 100vw;
}
.scroll-box::-webkit-scrollbar-thumb:hover {
  background: #999;
}
.scroll-box table {
  table-layout: fixed;
  font-size: 2.8rem;
  width: auto;
}
@media print, screen and (min-width: 768px) {
  .scroll-box table {
    width: 100%;
    font-size: 16px;
  }
}
.scroll-box table.setting {
  display: block;
}
.scroll-box table.setting tr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.scroll-box table thead {
  border: none !important;
}
.scroll-box table th, .scroll-box table td {
  border: 1px solid #bababa;
  padding: 0.625em 1.375em;
  line-height: 1.6;
}
@media print, screen and (min-width: 768px) {
  .scroll-box table th, .scroll-box table td {
    white-space: normal;
  }
}
.scroll-box table th.bdb-white, .scroll-box table td.bdb-white {
  border-bottom-color: #fff;
}
.scroll-box table.column-2 th, .scroll-box table.column-2 td {
  width: calc( 120.0rem / 2 * 1.5 );
}
@media print, screen and (min-width: 768px) {
  .scroll-box table.column-2 th, .scroll-box table.column-2 td {
    width: calc( 120.0rem / 2 );
  }
}
.scroll-box table.column-3 th, .scroll-box table.column-3 td {
  width: calc( 120.0rem / 3 * 1.5 );
}
@media print, screen and (min-width: 768px) {
  .scroll-box table.column-3 th, .scroll-box table.column-3 td {
    width: calc( 120.0rem / 3 );
  }
}
.scroll-box table.column-4 th, .scroll-box table.column-4 td {
  width: calc( 120.0rem / 4 * 1.5 );
}
@media print, screen and (min-width: 768px) {
  .scroll-box table.column-4 th, .scroll-box table.column-4 td {
    width: calc( 120.0rem / 4 );
  }
}
.scroll-box table.column-5 th, .scroll-box table.column-5 td {
  width: calc( 120.0rem / 5 * 1.5 );
}
@media print, screen and (min-width: 768px) {
  .scroll-box table.column-5 th, .scroll-box table.column-5 td {
    width: calc( 120.0rem / 5 );
  }
}
.scroll-box table th {
  background-color: #ebebeb;
  text-align: center;
}
.scroll-box table th a {
  position: relative;
  display: inline-block;
  border-bottom: 1px solid #000;
  padding: 0.2em 0;
}
.scroll-box table th a:after {
  position: absolute;
  display: block;
  content: " ";
  background: url(../uploads/icon-pdf.png) no-repeat center center/contain;
  width: 0.9375em;
  height: 1.125em;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: -1.5em;
}
.scroll-box table td {
  background-color: #fff;
}
.scroll-box table td .td-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.scroll-box.table-brown table th {
  background-color: #f2eee6;
}

/*---------------------------------------------------------
base
---------------------------------------------------------*/
:root {
  --breakWidth: 1280;
}

html {
  font-size: 5px;
}
@media only screen and (min-width: 320px) and (max-width: 374px) {
  html {
    font-size: calc( 5px * ( 640 / 750 ) );
  }
}
@media print, screen and (min-width: 768px) {
  html {
    font-size: 62.5%;
  }
}
html.win_narrow {
  font-size: calc( var(--vw) * 100 * 10 / var(--breakWidth) );
}
html.hidden {
  overflow: hidden;
}

body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  font-size: 3.0rem;
  font-family: 'Noto Sans JP', sans-serif;
  color: #000;
  line-height: 1;
  min-width: 320px;
  min-height: 100dvh;
  background: url(../uploads/cmn-bg.jpg) repeat center center/10rem auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  word-break: break-word;
}
@media print, screen and (min-width: 768px) {
  body {
    font-size: 16px;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic","ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  }
}
.tablet body {
  font-family: 'Noto Sans JP', sans-serif;
}
body * {
  letter-spacing: 0.1em;
}

p {
  line-height: 1.7333333333;
}
@media print, screen and (min-width: 768px) {
  p {
    line-height: 2;
  }
}

.wrapper {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  overflow: hidden;
  padding-top: 12.0rem;
}
@media print, screen and (min-width: 768px) {
  .wrapper {
    padding-top: 90px;
  }
}

img {
  width: 100%;
  vertical-align: bottom;
}

a {
  color: inherit;
}

.res-pc {
  display: inline !important;
}
@media only screen and (max-width: 767px) {
  .res-pc {
    display: none !important;
  }
}

.res-sp {
  display: none !important;
}
@media only screen and (max-width: 767px) {
  .res-sp {
    display: inline !important;
  }
}

.res-pc-block {
  display: block !important;
}
@media only screen and (max-width: 767px) {
  .res-pc-block {
    display: none !important;
  }
}

.res-sp-block {
  display: none !important;
}
@media only screen and (max-width: 767px) {
  .res-sp-block {
    display: block !important;
  }
}

.inline-block {
  display: inline-block;
}

.inner {
  padding: 0 5.0rem;
}
@media print, screen and (min-width: 768px) {
  .inner {
    width: 100%;
    max-width: 128.0rem;
    margin: 0 auto;
    padding: 0 4.0rem;
  }
}

.inner-s {
  padding: 0 5.0rem;
}
@media print, screen and (min-width: 768px) {
  .inner-s {
    width: 100%;
    max-width: 128.0rem;
    margin: 0 auto;
    padding: 0 4.0rem;
  }
}
@media print, screen and (min-width: 768px) {
  .inner-s {
    max-width: 108.0rem;
  }
}

.fw-normal {
  font-weight: normal !important;
}

.fw-bold {
  font-weight: bold !important;
}

.ta-left {
  text-align: left !important;
}

.ta-center {
  text-align: center !important;
}

.ta-right {
  text-align: right !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.ml-0 {
  margin-left: 0 !important;
}

.mr-0 {
  margin-right: 0 !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pl-0 {
  padding-left: 0 !important;
}

.pr-0 {
  padding-right: 0 !important;
}

.mg-auto {
  margin-left: auto !important;
  margin-right: auto !important;
}

.ml-auto {
  margin-left: auto !important;
}

.mr-auto {
  margin-right: auto !important;
}

.mt-10 {
  margin-top: 10px !important;
}
@media only screen and (max-width: 767px) {
  .mt-10 {
    margin-top: 1rem !important;
  }
}

.mb-10 {
  margin-bottom: 10px !important;
}
@media only screen and (max-width: 767px) {
  .mb-10 {
    margin-bottom: 1rem !important;
  }
}

.ml-10 {
  margin-left: 10px !important;
}
@media only screen and (max-width: 767px) {
  .ml-10 {
    margin-left: 1rem !important;
  }
}

.mr-10 {
  margin-right: 10px !important;
}
@media only screen and (max-width: 767px) {
  .mr-10 {
    margin-right: 1rem !important;
  }
}

.pt-10 {
  padding-top: 10px !important;
}
@media only screen and (max-width: 767px) {
  .pt-10 {
    padding-top: 1rem !important;
  }
}

.pb-10 {
  padding-bottom: 10px !important;
}
@media only screen and (max-width: 767px) {
  .pb-10 {
    padding-bottom: 1rem !important;
  }
}

.pl-10 {
  padding-left: 10px !important;
}
@media only screen and (max-width: 767px) {
  .pl-10 {
    padding-left: 1rem !important;
  }
}

.pr-10 {
  padding-right: 10px !important;
}
@media only screen and (max-width: 767px) {
  .pr-10 {
    padding-right: 1rem !important;
  }
}

.mt-20 {
  margin-top: 20px !important;
}
@media only screen and (max-width: 767px) {
  .mt-20 {
    margin-top: 2rem !important;
  }
}

.mb-20 {
  margin-bottom: 20px !important;
}
@media only screen and (max-width: 767px) {
  .mb-20 {
    margin-bottom: 2rem !important;
  }
}

.ml-20 {
  margin-left: 20px !important;
}
@media only screen and (max-width: 767px) {
  .ml-20 {
    margin-left: 2rem !important;
  }
}

.mr-20 {
  margin-right: 20px !important;
}
@media only screen and (max-width: 767px) {
  .mr-20 {
    margin-right: 2rem !important;
  }
}

.pt-20 {
  padding-top: 20px !important;
}
@media only screen and (max-width: 767px) {
  .pt-20 {
    padding-top: 2rem !important;
  }
}

.pb-20 {
  padding-bottom: 20px !important;
}
@media only screen and (max-width: 767px) {
  .pb-20 {
    padding-bottom: 2rem !important;
  }
}

.pl-20 {
  padding-left: 20px !important;
}
@media only screen and (max-width: 767px) {
  .pl-20 {
    padding-left: 2rem !important;
  }
}

.pr-20 {
  padding-right: 20px !important;
}
@media only screen and (max-width: 767px) {
  .pr-20 {
    padding-right: 2rem !important;
  }
}

.mt-30 {
  margin-top: 30px !important;
}
@media only screen and (max-width: 767px) {
  .mt-30 {
    margin-top: 3rem !important;
  }
}

.mb-30 {
  margin-bottom: 30px !important;
}
@media only screen and (max-width: 767px) {
  .mb-30 {
    margin-bottom: 3rem !important;
  }
}

.ml-30 {
  margin-left: 30px !important;
}
@media only screen and (max-width: 767px) {
  .ml-30 {
    margin-left: 3rem !important;
  }
}

.mr-30 {
  margin-right: 30px !important;
}
@media only screen and (max-width: 767px) {
  .mr-30 {
    margin-right: 3rem !important;
  }
}

.pt-30 {
  padding-top: 30px !important;
}
@media only screen and (max-width: 767px) {
  .pt-30 {
    padding-top: 3rem !important;
  }
}

.pb-30 {
  padding-bottom: 30px !important;
}
@media only screen and (max-width: 767px) {
  .pb-30 {
    padding-bottom: 3rem !important;
  }
}

.pl-30 {
  padding-left: 30px !important;
}
@media only screen and (max-width: 767px) {
  .pl-30 {
    padding-left: 3rem !important;
  }
}

.pr-30 {
  padding-right: 30px !important;
}
@media only screen and (max-width: 767px) {
  .pr-30 {
    padding-right: 3rem !important;
  }
}

.mt-40 {
  margin-top: 40px !important;
}
@media only screen and (max-width: 767px) {
  .mt-40 {
    margin-top: 4rem !important;
  }
}

.mb-40 {
  margin-bottom: 40px !important;
}
@media only screen and (max-width: 767px) {
  .mb-40 {
    margin-bottom: 4rem !important;
  }
}

.ml-40 {
  margin-left: 40px !important;
}
@media only screen and (max-width: 767px) {
  .ml-40 {
    margin-left: 4rem !important;
  }
}

.mr-40 {
  margin-right: 40px !important;
}
@media only screen and (max-width: 767px) {
  .mr-40 {
    margin-right: 4rem !important;
  }
}

.pt-40 {
  padding-top: 40px !important;
}
@media only screen and (max-width: 767px) {
  .pt-40 {
    padding-top: 4rem !important;
  }
}

.pb-40 {
  padding-bottom: 40px !important;
}
@media only screen and (max-width: 767px) {
  .pb-40 {
    padding-bottom: 4rem !important;
  }
}

.pl-40 {
  padding-left: 40px !important;
}
@media only screen and (max-width: 767px) {
  .pl-40 {
    padding-left: 4rem !important;
  }
}

.pr-40 {
  padding-right: 40px !important;
}
@media only screen and (max-width: 767px) {
  .pr-40 {
    padding-right: 4rem !important;
  }
}

.mt-50 {
  margin-top: 50px !important;
}
@media only screen and (max-width: 767px) {
  .mt-50 {
    margin-top: 5rem !important;
  }
}

.mb-50 {
  margin-bottom: 50px !important;
}
@media only screen and (max-width: 767px) {
  .mb-50 {
    margin-bottom: 5rem !important;
  }
}

.ml-50 {
  margin-left: 50px !important;
}
@media only screen and (max-width: 767px) {
  .ml-50 {
    margin-left: 5rem !important;
  }
}

.mr-50 {
  margin-right: 50px !important;
}
@media only screen and (max-width: 767px) {
  .mr-50 {
    margin-right: 5rem !important;
  }
}

.pt-50 {
  padding-top: 50px !important;
}
@media only screen and (max-width: 767px) {
  .pt-50 {
    padding-top: 5rem !important;
  }
}

.pb-50 {
  padding-bottom: 50px !important;
}
@media only screen and (max-width: 767px) {
  .pb-50 {
    padding-bottom: 5rem !important;
  }
}

.pl-50 {
  padding-left: 50px !important;
}
@media only screen and (max-width: 767px) {
  .pl-50 {
    padding-left: 5rem !important;
  }
}

.pr-50 {
  padding-right: 50px !important;
}
@media only screen and (max-width: 767px) {
  .pr-50 {
    padding-right: 5rem !important;
  }
}

.mt-60 {
  margin-top: 60px !important;
}
@media only screen and (max-width: 767px) {
  .mt-60 {
    margin-top: 6rem !important;
  }
}

.mb-60 {
  margin-bottom: 60px !important;
}
@media only screen and (max-width: 767px) {
  .mb-60 {
    margin-bottom: 6rem !important;
  }
}

.ml-60 {
  margin-left: 60px !important;
}
@media only screen and (max-width: 767px) {
  .ml-60 {
    margin-left: 6rem !important;
  }
}

.mr-60 {
  margin-right: 60px !important;
}
@media only screen and (max-width: 767px) {
  .mr-60 {
    margin-right: 6rem !important;
  }
}

.pt-60 {
  padding-top: 60px !important;
}
@media only screen and (max-width: 767px) {
  .pt-60 {
    padding-top: 6rem !important;
  }
}

.pb-60 {
  padding-bottom: 60px !important;
}
@media only screen and (max-width: 767px) {
  .pb-60 {
    padding-bottom: 6rem !important;
  }
}

.pl-60 {
  padding-left: 60px !important;
}
@media only screen and (max-width: 767px) {
  .pl-60 {
    padding-left: 6rem !important;
  }
}

.pr-60 {
  padding-right: 60px !important;
}
@media only screen and (max-width: 767px) {
  .pr-60 {
    padding-right: 6rem !important;
  }
}

.mt-70 {
  margin-top: 70px !important;
}
@media only screen and (max-width: 767px) {
  .mt-70 {
    margin-top: 7rem !important;
  }
}

.mb-70 {
  margin-bottom: 70px !important;
}
@media only screen and (max-width: 767px) {
  .mb-70 {
    margin-bottom: 7rem !important;
  }
}

.ml-70 {
  margin-left: 70px !important;
}
@media only screen and (max-width: 767px) {
  .ml-70 {
    margin-left: 7rem !important;
  }
}

.mr-70 {
  margin-right: 70px !important;
}
@media only screen and (max-width: 767px) {
  .mr-70 {
    margin-right: 7rem !important;
  }
}

.pt-70 {
  padding-top: 70px !important;
}
@media only screen and (max-width: 767px) {
  .pt-70 {
    padding-top: 7rem !important;
  }
}

.pb-70 {
  padding-bottom: 70px !important;
}
@media only screen and (max-width: 767px) {
  .pb-70 {
    padding-bottom: 7rem !important;
  }
}

.pl-70 {
  padding-left: 70px !important;
}
@media only screen and (max-width: 767px) {
  .pl-70 {
    padding-left: 7rem !important;
  }
}

.pr-70 {
  padding-right: 70px !important;
}
@media only screen and (max-width: 767px) {
  .pr-70 {
    padding-right: 7rem !important;
  }
}

.mt-80 {
  margin-top: 80px !important;
}
@media only screen and (max-width: 767px) {
  .mt-80 {
    margin-top: 8rem !important;
  }
}

.mb-80 {
  margin-bottom: 80px !important;
}
@media only screen and (max-width: 767px) {
  .mb-80 {
    margin-bottom: 8rem !important;
  }
}

.ml-80 {
  margin-left: 80px !important;
}
@media only screen and (max-width: 767px) {
  .ml-80 {
    margin-left: 8rem !important;
  }
}

.mr-80 {
  margin-right: 80px !important;
}
@media only screen and (max-width: 767px) {
  .mr-80 {
    margin-right: 8rem !important;
  }
}

.pt-80 {
  padding-top: 80px !important;
}
@media only screen and (max-width: 767px) {
  .pt-80 {
    padding-top: 8rem !important;
  }
}

.pb-80 {
  padding-bottom: 80px !important;
}
@media only screen and (max-width: 767px) {
  .pb-80 {
    padding-bottom: 8rem !important;
  }
}

.pl-80 {
  padding-left: 80px !important;
}
@media only screen and (max-width: 767px) {
  .pl-80 {
    padding-left: 8rem !important;
  }
}

.pr-80 {
  padding-right: 80px !important;
}
@media only screen and (max-width: 767px) {
  .pr-80 {
    padding-right: 8rem !important;
  }
}

.mt-90 {
  margin-top: 90px !important;
}
@media only screen and (max-width: 767px) {
  .mt-90 {
    margin-top: 9rem !important;
  }
}

.mb-90 {
  margin-bottom: 90px !important;
}
@media only screen and (max-width: 767px) {
  .mb-90 {
    margin-bottom: 9rem !important;
  }
}

.ml-90 {
  margin-left: 90px !important;
}
@media only screen and (max-width: 767px) {
  .ml-90 {
    margin-left: 9rem !important;
  }
}

.mr-90 {
  margin-right: 90px !important;
}
@media only screen and (max-width: 767px) {
  .mr-90 {
    margin-right: 9rem !important;
  }
}

.pt-90 {
  padding-top: 90px !important;
}
@media only screen and (max-width: 767px) {
  .pt-90 {
    padding-top: 9rem !important;
  }
}

.pb-90 {
  padding-bottom: 90px !important;
}
@media only screen and (max-width: 767px) {
  .pb-90 {
    padding-bottom: 9rem !important;
  }
}

.pl-90 {
  padding-left: 90px !important;
}
@media only screen and (max-width: 767px) {
  .pl-90 {
    padding-left: 9rem !important;
  }
}

.pr-90 {
  padding-right: 90px !important;
}
@media only screen and (max-width: 767px) {
  .pr-90 {
    padding-right: 9rem !important;
  }
}

.mt-100 {
  margin-top: 100px !important;
}
@media only screen and (max-width: 767px) {
  .mt-100 {
    margin-top: 10rem !important;
  }
}

.mb-100 {
  margin-bottom: 100px !important;
}
@media only screen and (max-width: 767px) {
  .mb-100 {
    margin-bottom: 10rem !important;
  }
}

.ml-100 {
  margin-left: 100px !important;
}
@media only screen and (max-width: 767px) {
  .ml-100 {
    margin-left: 10rem !important;
  }
}

.mr-100 {
  margin-right: 100px !important;
}
@media only screen and (max-width: 767px) {
  .mr-100 {
    margin-right: 10rem !important;
  }
}

.pt-100 {
  padding-top: 100px !important;
}
@media only screen and (max-width: 767px) {
  .pt-100 {
    padding-top: 10rem !important;
  }
}

.pb-100 {
  padding-bottom: 100px !important;
}
@media only screen and (max-width: 767px) {
  .pb-100 {
    padding-bottom: 10rem !important;
  }
}

.pl-100 {
  padding-left: 100px !important;
}
@media only screen and (max-width: 767px) {
  .pl-100 {
    padding-left: 10rem !important;
  }
}

.pr-100 {
  padding-right: 100px !important;
}
@media only screen and (max-width: 767px) {
  .pr-100 {
    padding-right: 10rem !important;
  }
}

.mt-110 {
  margin-top: 110px !important;
}
@media only screen and (max-width: 767px) {
  .mt-110 {
    margin-top: 11rem !important;
  }
}

.mb-110 {
  margin-bottom: 110px !important;
}
@media only screen and (max-width: 767px) {
  .mb-110 {
    margin-bottom: 11rem !important;
  }
}

.ml-110 {
  margin-left: 110px !important;
}
@media only screen and (max-width: 767px) {
  .ml-110 {
    margin-left: 11rem !important;
  }
}

.mr-110 {
  margin-right: 110px !important;
}
@media only screen and (max-width: 767px) {
  .mr-110 {
    margin-right: 11rem !important;
  }
}

.pt-110 {
  padding-top: 110px !important;
}
@media only screen and (max-width: 767px) {
  .pt-110 {
    padding-top: 11rem !important;
  }
}

.pb-110 {
  padding-bottom: 110px !important;
}
@media only screen and (max-width: 767px) {
  .pb-110 {
    padding-bottom: 11rem !important;
  }
}

.pl-110 {
  padding-left: 110px !important;
}
@media only screen and (max-width: 767px) {
  .pl-110 {
    padding-left: 11rem !important;
  }
}

.pr-110 {
  padding-right: 110px !important;
}
@media only screen and (max-width: 767px) {
  .pr-110 {
    padding-right: 11rem !important;
  }
}

.mt-120 {
  margin-top: 120px !important;
}
@media only screen and (max-width: 767px) {
  .mt-120 {
    margin-top: 12rem !important;
  }
}

.mb-120 {
  margin-bottom: 120px !important;
}
@media only screen and (max-width: 767px) {
  .mb-120 {
    margin-bottom: 12rem !important;
  }
}

.ml-120 {
  margin-left: 120px !important;
}
@media only screen and (max-width: 767px) {
  .ml-120 {
    margin-left: 12rem !important;
  }
}

.mr-120 {
  margin-right: 120px !important;
}
@media only screen and (max-width: 767px) {
  .mr-120 {
    margin-right: 12rem !important;
  }
}

.pt-120 {
  padding-top: 120px !important;
}
@media only screen and (max-width: 767px) {
  .pt-120 {
    padding-top: 12rem !important;
  }
}

.pb-120 {
  padding-bottom: 120px !important;
}
@media only screen and (max-width: 767px) {
  .pb-120 {
    padding-bottom: 12rem !important;
  }
}

.pl-120 {
  padding-left: 120px !important;
}
@media only screen and (max-width: 767px) {
  .pl-120 {
    padding-left: 12rem !important;
  }
}

.pr-120 {
  padding-right: 120px !important;
}
@media only screen and (max-width: 767px) {
  .pr-120 {
    padding-right: 12rem !important;
  }
}

.mt-130 {
  margin-top: 130px !important;
}
@media only screen and (max-width: 767px) {
  .mt-130 {
    margin-top: 13rem !important;
  }
}

.mb-130 {
  margin-bottom: 130px !important;
}
@media only screen and (max-width: 767px) {
  .mb-130 {
    margin-bottom: 13rem !important;
  }
}

.ml-130 {
  margin-left: 130px !important;
}
@media only screen and (max-width: 767px) {
  .ml-130 {
    margin-left: 13rem !important;
  }
}

.mr-130 {
  margin-right: 130px !important;
}
@media only screen and (max-width: 767px) {
  .mr-130 {
    margin-right: 13rem !important;
  }
}

.pt-130 {
  padding-top: 130px !important;
}
@media only screen and (max-width: 767px) {
  .pt-130 {
    padding-top: 13rem !important;
  }
}

.pb-130 {
  padding-bottom: 130px !important;
}
@media only screen and (max-width: 767px) {
  .pb-130 {
    padding-bottom: 13rem !important;
  }
}

.pl-130 {
  padding-left: 130px !important;
}
@media only screen and (max-width: 767px) {
  .pl-130 {
    padding-left: 13rem !important;
  }
}

.pr-130 {
  padding-right: 130px !important;
}
@media only screen and (max-width: 767px) {
  .pr-130 {
    padding-right: 13rem !important;
  }
}

.mt-140 {
  margin-top: 140px !important;
}
@media only screen and (max-width: 767px) {
  .mt-140 {
    margin-top: 14rem !important;
  }
}

.mb-140 {
  margin-bottom: 140px !important;
}
@media only screen and (max-width: 767px) {
  .mb-140 {
    margin-bottom: 14rem !important;
  }
}

.ml-140 {
  margin-left: 140px !important;
}
@media only screen and (max-width: 767px) {
  .ml-140 {
    margin-left: 14rem !important;
  }
}

.mr-140 {
  margin-right: 140px !important;
}
@media only screen and (max-width: 767px) {
  .mr-140 {
    margin-right: 14rem !important;
  }
}

.pt-140 {
  padding-top: 140px !important;
}
@media only screen and (max-width: 767px) {
  .pt-140 {
    padding-top: 14rem !important;
  }
}

.pb-140 {
  padding-bottom: 140px !important;
}
@media only screen and (max-width: 767px) {
  .pb-140 {
    padding-bottom: 14rem !important;
  }
}

.pl-140 {
  padding-left: 140px !important;
}
@media only screen and (max-width: 767px) {
  .pl-140 {
    padding-left: 14rem !important;
  }
}

.pr-140 {
  padding-right: 140px !important;
}
@media only screen and (max-width: 767px) {
  .pr-140 {
    padding-right: 14rem !important;
  }
}

.mt-150 {
  margin-top: 150px !important;
}
@media only screen and (max-width: 767px) {
  .mt-150 {
    margin-top: 15rem !important;
  }
}

.mb-150 {
  margin-bottom: 150px !important;
}
@media only screen and (max-width: 767px) {
  .mb-150 {
    margin-bottom: 15rem !important;
  }
}

.ml-150 {
  margin-left: 150px !important;
}
@media only screen and (max-width: 767px) {
  .ml-150 {
    margin-left: 15rem !important;
  }
}

.mr-150 {
  margin-right: 150px !important;
}
@media only screen and (max-width: 767px) {
  .mr-150 {
    margin-right: 15rem !important;
  }
}

.pt-150 {
  padding-top: 150px !important;
}
@media only screen and (max-width: 767px) {
  .pt-150 {
    padding-top: 15rem !important;
  }
}

.pb-150 {
  padding-bottom: 150px !important;
}
@media only screen and (max-width: 767px) {
  .pb-150 {
    padding-bottom: 15rem !important;
  }
}

.pl-150 {
  padding-left: 150px !important;
}
@media only screen and (max-width: 767px) {
  .pl-150 {
    padding-left: 15rem !important;
  }
}

.pr-150 {
  padding-right: 150px !important;
}
@media only screen and (max-width: 767px) {
  .pr-150 {
    padding-right: 15rem !important;
  }
}

/*---------------------------------------------------------
gnav
---------------------------------------------------------*/
.gnav-parent .gnav {
  position: fixed;
  top: 12.0rem;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  background-color: #fff;
  z-index: 9;
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
@media print, screen and (min-width: 768px) {
  .gnav-parent .gnav {
    top: 89px;
  }
}
.gnav-parent .gnav .gnav-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100%;
  height: 100%;
}
.gnav-parent .gnav .gnav-flex .gnav-scroll {
  overflow: auto;
  padding: 8.0rem 0;
  min-height: 100%;
}
@media print, screen and (min-width: 768px) {
  .gnav-parent .gnav .gnav-flex .gnav-scroll {
    padding: 9.0rem 0 3.5rem;
  }
}
.gnav-parent .gnav-btn {
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  display: block;
  width: 12.0rem;
  height: 100%;
  background-color: #8b7246;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media print, screen and (min-width: 768px) {
  .gnav-parent .gnav-btn {
    width: 90px;
  }
}
.gnav-parent .gnav-btn i {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  display: block;
  background-color: #fff;
  width: 4.0rem;
  height: 1px;
  -webkit-transition: margin 0.1s 0.2s ease, background 0.3s, -webkit-transform 0.3s;
  transition: margin 0.1s 0.2s ease, background 0.3s, -webkit-transform 0.3s;
  transition: margin 0.1s 0.2s ease, transform 0.3s, background 0.3s;
  transition: margin 0.1s 0.2s ease, transform 0.3s, background 0.3s, -webkit-transform 0.3s;
}
@media print, screen and (min-width: 768px) {
  .gnav-parent .gnav-btn i {
    width: 30px;
  }
}
.gnav-parent .gnav-btn i:nth-child(1) {
  margin-top: -1.2rem;
}
@media print, screen and (min-width: 768px) {
  .gnav-parent .gnav-btn i:nth-child(1) {
    margin-top: -9px;
  }
}
.gnav-parent .gnav-btn i:nth-child(2) {
  -webkit-transition: opacity 0.2s 0.2s;
  transition: opacity 0.2s 0.2s;
}
.gnav-parent .gnav-btn i:nth-child(3) {
  margin-top: 1.2rem;
}
@media print, screen and (min-width: 768px) {
  .gnav-parent .gnav-btn i:nth-child(3) {
    margin-top: 9px;
  }
}
.gnav-parent .gnav-btn:hover {
  opacity: 0.8;
}
.gnav-parent.gnav-open .gnav {
  -webkit-transform: translateX(0);
  transform: translateX(0);
}
.gnav-parent.gnav-open .gnav-btn i {
  -webkit-transition: margin 0.1s ease, background 0.3s, -webkit-transform 0.3s 0.2s;
  transition: margin 0.1s ease, background 0.3s, -webkit-transform 0.3s 0.2s;
  transition: margin 0.1s ease, transform 0.3s 0.2s, background 0.3s;
  transition: margin 0.1s ease, transform 0.3s 0.2s, background 0.3s, -webkit-transform 0.3s 0.2s;
  width: 4.2rem;
  background-color: #fff;
}
@media print, screen and (min-width: 768px) {
  .gnav-parent.gnav-open .gnav-btn i {
    width: 30px;
  }
}
.gnav-parent.gnav-open .gnav-btn i:nth-child(1) {
  margin-top: 0;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  transform: translate(-50%, -50%) rotate(45deg);
}
.gnav-parent.gnav-open .gnav-btn i:nth-child(2) {
  opacity: 0;
}
.gnav-parent.gnav-open .gnav-btn i:nth-child(3) {
  margin-top: 0;
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
}

/*---------------------------------------------------------
header
---------------------------------------------------------*/
header {
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  width: 100%;
  height: 12.0rem;
}
@media print, screen and (min-width: 768px) {
  header {
    height: 90px;
  }
}
header:before {
  position: absolute;
  display: block;
  content: " ";
  width: 100%;
  height: 100%;
  background-color: #fff;
  top: 0;
  left: 0;
}
header #h-logo {
  position: absolute;
  top: 0;
  left: 3.0rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 12.0rem;
  line-height: 1;
}
@media print, screen and (min-width: 768px) {
  header #h-logo {
    left: 26px;
    height: 90px;
  }
}
header #h-logo > i {
  display: block;
}
header #h-logo > i._logo {
  width: 8.0rem;
  padding-top: 1.3rem;
}
@media print, screen and (min-width: 768px) {
  header #h-logo > i._logo {
    width: 55px;
    padding-top: 10px;
  }
}
header #h-logo > i._txt {
  display: none;
}
@media print, screen and (min-width: 768px) {
  header #h-logo > i._txt {
    display: block;
    width: 236px;
    margin-left: 15px;
    padding-top: 5px;
  }
}
header #h_btn {
  position: absolute;
  top: 0;
  right: 12.0rem;
  width: 26.0rem;
  height: 100%;
  background-color: #000;
}
@media print, screen and (min-width: 768px) {
  header #h_btn {
    width: 150px;
    right: 90px;
  }
}
header #h_btn li {
  width: 100%;
  height: 50%;
}
header #h_btn li:last-child {
  border-top: 1px solid #fff;
}
header #h_btn li a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 100%;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  font-size: 2.2rem;
  font-weight: 600;
  color: #fff;
  padding-left: 4.5rem;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media print, screen and (min-width: 768px) {
  header #h_btn li a {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 14px;
    padding-left: 15px;
  }
}
header #h_btn li a:before {
  position: absolute;
  display: block;
  content: " ";
  background: no-repeat center center / auto 100%;
  width: 2.0rem;
  height: 2.0rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 1.5rem;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media print, screen and (min-width: 768px) {
  header #h_btn li a:before {
    width: 11px;
    height: 11px;
    left: 10px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1028px) {
  header #h_btn li a:before {
    width: 11px;
    height: 11px;
    left: 5px;
  }
}
header #h_btn li a span {
  letter-spacing: 0;
}
header #h_btn li a:hover:before, header #h_btn li a:hover span {
  opacity: 0.8;
}
@media print, screen and (min-width: 768px) {
  header #h_btn li a#h_btn-link-sp {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  header #h_btn li a#h_btn-link-pc {
    display: none;
  }
}
header #h_btn li a#h_btn-link-pc span {
  letter-spacing: 0.2em;
}
header #h_btn li:first-child a:before {
  background-image: url(../uploads/h_icon-reserve.png);
}
header #h_btn li:last-child a:before {
  background-image: url(../uploads/h_icon-member.png);
}
header .nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  min-height: 100%;
  gap: 7.5rem 0;
  padding: 0 5.0rem;
}
@media print, screen and (min-width: 768px) {
  header .nav {
    width: 100%;
    max-width: 128.0rem;
    margin: 0 auto;
    padding: 0 4.0rem;
  }
}
header .nav #nav-main {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
@media print, screen and (min-width: 768px) {
  header .nav #nav-main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0 10.0rem;
  }
}
@media print, screen and (min-width: 768px) {
  header .nav #nav-bottom .nav-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 6.0rem;
  }
}
@media print, screen and (min-width: 768px) {
  header .nav #nav-bottom .nav-list li {
    margin-top: 0;
  }
}
@media print, screen and (min-width: 768px) {
  header .nav #nav-bottom .nav-list li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    gap: 0.5em;
  }
}
@media print, screen and (min-width: 768px) {
  header .nav #nav-bottom .nav-list li a span {
    margin: 0;
  }
}
@media print, screen and (min-width: 768px) {
  header .nav #nav-bottom .nav-list li a span._en {
    font-size: 16px;
  }
}
@media print, screen and (min-width: 768px) {
  header .nav .nav-item {
    width: 30.0rem;
    padding-right: 1.0rem;
  }
}
header .nav .nav-item:nth-child(n+2) {
  margin-top: 9.0rem;
}
@media print, screen and (min-width: 768px) {
  header .nav .nav-item:nth-child(n+2) {
    margin-top: 0;
  }
}
header .nav .nav-item#nav-userguide {
  background-color: #f3f1ec;
  padding: 6.0rem 5.0rem 5.0rem;
}
@media only screen and (max-width: 767px) {
  header .nav .nav-item#nav-userguide {
    margin-left: calc( 50% - 50vw );
    margin-right: calc( 50% - 50vw );
  }
}
@media print, screen and (min-width: 768px) {
  header .nav .nav-item#nav-userguide {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    -ms-flex-item-align: start;
    align-self: flex-start;
    padding: 4.0rem 4.5rem;
    margin-top: -4.0rem;
  }
}
header .nav .nav-item#nav-userguide .nav-list {
  margin-top: -2.0rem;
}
@media print, screen and (min-width: 768px) {
  header .nav .nav-item#nav-userguide .nav-list {
    margin-top: -0.5rem;
  }
}
@media print, screen and (min-width: 768px) {
  header .nav .nav-item#nav-userguide .nav-list li:nth-child(n+2) {
    margin-top: 2.0rem;
  }
}
header .nav .nav-item#nav-userguide .nav-list li a {
  position: relative;
  display: block;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  font-size: 2.8rem;
  color: #8b7246;
  padding: 0.4em 0 0.4em 3.5rem;
}
@media print, screen and (min-width: 768px) {
  header .nav .nav-item#nav-userguide .nav-list li a {
    font-size: 15px;
    padding-left: 20px;
  }
}
header .nav .nav-item#nav-userguide .nav-list li a:before {
  position: absolute;
  display: block;
  content: " ";
  background-color: #8b7246;
  width: 1.5rem;
  height: 1px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
}
@media print, screen and (min-width: 768px) {
  header .nav .nav-item#nav-userguide .nav-list li a:before {
    width: 8px;
  }
}
header .nav .nav-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  border-bottom: 1px solid #8b7246;
  padding-bottom: 1.8rem;
  margin-bottom: 5.0rem;
  line-height: 1;
}
@media print, screen and (min-width: 768px) {
  header .nav .nav-title {
    margin-bottom: 3.5rem;
  }
}
header .nav .nav-title span {
  display: block;
}
header .nav .nav-title span._en {
  font-family: 'Libre Caslon Text', 'Noto Serif JP', serif;
  font-weight: normal;
  letter-spacing: 0.05em;
  font-size: 3.2rem;
  font-weight: bold;
  color: #8b7246;
}
@media print, screen and (min-width: 768px) {
  header .nav .nav-title span._en {
    font-size: 20px;
  }
}
header .nav .nav-title span._jp {
  font-size: 2.4rem;
  font-weight: bold;
  color: #8b7246;
  letter-spacing: 0.2em;
  margin: 0 0 0.1em  0.8em;
}
@media print, screen and (min-width: 768px) {
  header .nav .nav-title span._jp {
    font-size: 12px;
  }
}
header .nav .acc-head {
  position: relative;
}
@media print, screen and (min-width: 768px) {
  header .nav .acc-head {
    pointer-events: none;
  }
}
header .nav .acc-head:before {
  position: absolute;
  display: block;
  content: " ";
  background: url(../uploads/arrow-head-brown.png) no-repeat center center/contain;
  width: 2.4rem;
  height: 1.4rem;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(180deg);
  transform: translateY(-50%) rotate(180deg);
  right: 0;
  margin-top: -0.9rem;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
@media print, screen and (min-width: 768px) {
  header .nav .acc-head:before {
    display: none;
  }
}
header .nav .acc-head.open:before {
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
@media print, screen and (min-width: 768px) {
  header .nav .acc-body {
    display: block !important;
  }
}
header .nav .nav-list li:nth-child(n+2) {
  margin-top: 2.5rem;
}
@media print, screen and (min-width: 768px) {
  header .nav .nav-list li:nth-child(n+2) {
    margin-top: 30px;
  }
}
header .nav .nav-list li a {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
header .nav .nav-list li a:hover {
  opacity: 0.8;
}
header .nav .nav-list li a span {
  display: block;
}
header .nav .nav-list li a span._en {
  font-family: 'Libre Caslon Text', 'Noto Serif JP', serif;
  font-weight: normal;
  letter-spacing: 0.05em;
  font-size: 3.2rem;
  font-weight: bold;
  color: #8b7246;
}
@media print, screen and (min-width: 768px) {
  header .nav .nav-list li a span._en {
    font-size: 20px;
  }
}
header .nav .nav-list li a span._jp {
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  font-size: 2.4rem;
  color: #8b7246;
  letter-spacing: 0.2em;
  line-height: 1.2;
  margin-top: 1.0rem;
}
@media print, screen and (min-width: 768px) {
  header .nav .nav-list li a span._jp {
    font-size: 12px;
  }
}
header .h_float {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 9.5rem;
}
@media print, screen and (min-width: 768px) {
  header .h_float {
    position: fixed;
    top: 20px;
    right: 260px;
    margin-top: 0;
    gap: 2.0rem;
  }
}
header .h_float ._info {
  padding-left: 2.4rem;
  line-height: 1;
}
@media print, screen and (min-width: 768px) {
  header .h_float ._info {
    padding-left: 16px;
  }
}
header .h_float ._info ._tel {
  position: relative;
  display: block;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  font-size: 2.8rem;
  font-weight: 600;
  letter-spacing: 0.1em;
}
@media print, screen and (min-width: 768px) {
  header .h_float ._info ._tel {
    font-size: 14px;
  }
}
header .h_float ._info ._tel:before {
  position: absolute;
  display: block;
  content: " ";
  background: url(../uploads/icon-tel.png) no-repeat center center/contain;
  width: 0.7142857143em;
  height: 0.75em;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: -2.4rem;
}
@media print, screen and (min-width: 768px) {
  header .h_float ._info ._tel:before {
    left: -16px;
  }
}
header .h_float ._info ._time {
  display: block;
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.07em;
  margin-top: 0.5em;
}
@media print, screen and (min-width: 768px) {
  header .h_float ._info ._time {
    font-size: 12px;
  }
}
header .h_float ._btn .btn-round {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  font-size: 3.2rem;
  line-height: 1.6;
  color: #000;
  text-align: center;
  border: 1px solid #000;
  min-width: 52.0rem;
  min-height: 12.0rem;
  padding: 0.5em 3.5rem;
  -webkit-transition: border 0.3s, background 0.3s;
  transition: border 0.3s, background 0.3s;
  cursor: pointer;
  border-radius: 100vw;
  padding-left: 0.5em !important;
  padding-right: 0.5em !important;
  min-width: 32.5rem;
  min-height: 8.0rem;
  font-size: 2.7rem;
  font-weight: 600;
}
@media print, screen and (min-width: 768px) {
  header .h_float ._btn .btn-round {
    font-size: 18px;
    line-height: 1.3333333333;
    min-width: 30.0rem;
    min-height: 80px;
    padding: 0.5em 8.0rem;
  }
}
header .h_float ._btn .btn-round:hover {
  opacity: 1;
  border-color: #000;
  background-color: #000;
  color: #fff;
}
header .h_float ._btn .btn-round.nolink:hover {
  opacity: 1;
  border-color: inherit;
  background-color: inherit;
  color: inherit;
  cursor: default;
}
header .h_float ._btn .btn-round span {
  letter-spacing: 0.2em;
}
@media print, screen and (min-width: 768px) {
  header .h_float ._btn .btn-round {
    min-width: 180px;
    min-height: 50px;
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  header .h_float ._btn .btn-round span {
    letter-spacing: 0.1em;
  }
}
@media only screen and (max-width: 767px) {
  header .h_float.h_float-top {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%) scale(0.785);
    transform: translateY(-50%) scale(0.785);
    -webkit-transform-origin: right;
    transform-origin: right;
    right: 39.5rem;
    margin-top: 0;
  }
  header .h_float.h_float-top ._info ._tel, header .h_float.h_float-top ._info a {
    letter-spacing: 0.05em;
  }
  header .h_float.h_float-top ._info ._time {
    letter-spacing: 0.02em;
  }
  header .h_float.h_float-top ._btn {
    display: none;
  }
}
@media print, screen and (min-width: 768px) {
  header .h_float.h_float-sp {
    display: none;
  }
}

/*-----------------------------------------------------
  pagetop
-----------------------------------------------------*/
#pagetop {
  position: relative;
  z-index: 998;
  top: 8.5rem;
}
@media print, screen and (min-width: 768px) {
  #pagetop {
    top: 9.0rem;
  }
}
#pagetop a {
  position: absolute;
  display: block;
}
#pagetop a#pagetop-btn {
  bottom: 2.0rem;
  right: 2.0rem;
  width: 13.0rem;
}
@media print, screen and (min-width: 768px) {
  #pagetop a#pagetop-btn {
    bottom: 5.0rem;
    right: 5.0rem;
    width: 8.0rem;
  }
}
#pagetop a#f_float-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  font-size: 3.2rem;
  line-height: 1.6;
  color: #000;
  text-align: center;
  border: 1px solid #000;
  min-width: 52.0rem;
  min-height: 12.0rem;
  padding: 0.5em 3.5rem;
  -webkit-transition: border 0.3s, background 0.3s;
  transition: border 0.3s, background 0.3s;
  cursor: pointer;
  border-radius: 100vw;
  z-index: 1;
  background-color: #fff;
  border: none;
  bottom: 3.5rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  min-width: 40.0rem;
  min-height: 10.0rem;
  font-size: 3.0rem;
  color: #fff;
  overflow: hidden;
}
@media print, screen and (min-width: 768px) {
  #pagetop a#f_float-btn {
    font-size: 18px;
    line-height: 1.3333333333;
    min-width: 30.0rem;
    min-height: 80px;
    padding: 0.5em 8.0rem;
  }
}
#pagetop a#f_float-btn:hover {
  opacity: 1;
  border-color: #000;
  background-color: #000;
  color: #fff;
}
#pagetop a#f_float-btn.nolink:hover {
  opacity: 1;
  border-color: inherit;
  background-color: inherit;
  color: inherit;
  cursor: default;
}
#pagetop a#f_float-btn span {
  letter-spacing: 0.2em;
}
@media print, screen and (min-width: 768px) {
  #pagetop a#f_float-btn {
    bottom: 6.0rem;
    left: auto;
    right: 15.0rem;
    -webkit-transform: none;
    transform: none;
    min-width: 24.0rem;
    min-height: 6.0rem;
    padding: 0;
    font-size: 1.8rem;
  }
}
#pagetop a#f_float-btn:before {
  position: absolute;
  z-index: -1;
  content: "";
  top: 0;
  left: 0;
  background-color: #8b7246;
  width: 100%;
  height: 100%;
  opacity: 1;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
#pagetop a#f_float-btn:hover {
  background-color: #fff;
}
#pagetop a#f_float-btn:hover:before {
  opacity: 0.8;
}
#pagetop.fixed a {
  position: fixed;
}

/*---------------------------------------------------------
footer
---------------------------------------------------------*/
footer {
  padding: 11.0rem 0 8.0rem;
  background: no-repeat center center / cover;
  color: #fff;
}
@media only screen and (max-width: 767px) {
  footer {
    background-image: url(../uploads/cmn-footer-bg-sp.jpg);
  }
}
@media print, screen and (min-width: 768px) {
  footer {
    background-image: url(../uploads/cmn-footer-bg-pc.jpg);
    padding: 8.0rem 0 4.5rem;
    padding: 80px 0 45px;
  }
}
footer #f-address {
  font-style: normal;
}
footer #f-address #f-address-name {
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  font-size: 3.6rem;
  line-height: 1;
}
@media print, screen and (min-width: 768px) {
  footer #f-address #f-address-name {
    font-size: 20px;
  }
}
footer #f-address #f-address-txt {
  margin-top: 3.0rem;
  font-size: 2.8rem;
  line-height: 1.7857142857;
}
@media print, screen and (min-width: 768px) {
  footer #f-address #f-address-txt {
    margin-top: 15px;
    font-size: 16px;
    line-height: 2;
  }
}
footer #f-info {
  margin-top: 5.5rem;
}
@media print, screen and (min-width: 768px) {
  footer #f-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 6.0rem;
    margin-top: 40px;
  }
}
@media print, screen and (min-width: 768px) {
  footer #f-info dl {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }
}
footer #f-info dl:nth-child(n+2) {
  margin-top: 7.0rem;
}
@media print, screen and (min-width: 768px) {
  footer #f-info dl:nth-child(n+2) {
    margin: 0;
  }
}
footer #f-info dl dt {
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  font-size: 3.2rem;
  font-weight: bold;
  border-bottom: 1px solid #fff;
  padding-bottom: 0.625em;
}
@media print, screen and (min-width: 768px) {
  footer #f-info dl dt {
    font-size: 16px;
  }
}
footer #f-info dl dd {
  margin-top: 2.5rem;
  font-size: 3.0rem;
  line-height: 1.6666666667;
}
@media print, screen and (min-width: 768px) {
  footer #f-info dl dd {
    margin-top: 20px;
    font-size: 16px;
    line-height: 2;
  }
}
footer #copyright {
  display: block;
  margin-top: 13.5rem;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  font-size: 2.8rem;
  letter-spacing: 0.2em;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  footer #copyright {
    margin-top: 110px;
    font-size: 14px;
  }
}

#contents a {
  color: #8b7246;
  padding-bottom: 0.1em;
  border-bottom: 1px solid #8b7246;
  -webkit-transition: border 0.3s;
  transition: border 0.3s;
}
#contents a:hover {
  opacity: 1;
  border-bottom: 1px solid transparent;
}
#contents a.no-border {
  border: none;
  padding-bottom: 0;
}
#contents li {
  line-height: 1.7333333333;
}
@media print, screen and (min-width: 768px) {
  #contents li {
    line-height: 2;
  }
}

.color-brown {
  color: #8b7246 !important;
}

@media print, screen and (min-width: 768px) {
  .tel-link {
    pointer-events: none;
    border: none !important;
    color: inherit !important;
  }
}

.cap {
  position: absolute;
  bottom: 1.0rem;
  display: block;
  width: 100%;
  padding: 0 1.0rem;
  font-size: 1.4rem;
  line-height: 1.2;
  color: #fff;
  text-align: right;
}
@media print, screen and (min-width: 768px) {
  .cap {
    bottom: 10px;
    padding: 0 10px;
    font-size: 11px;
  }
}

@media only screen and (max-width: 767px) {
  .catch {
    margin: 0 -0.5em;
  }
}

.lead {
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  font-size: 3.0rem;
  line-height: 1.7333333333;
  letter-spacing: 0.15em;
  text-align: center;
  margin: 5.0rem -1em 10.0rem;
}
@media print, screen and (min-width: 768px) {
  .lead {
    font-size: 18px;
    line-height: 1.8888888889;
    letter-spacing: 0.2em;
    margin: 40px 0 7.0rem;
  }
}

@media print, screen and (min-width: 768px) {
  table.fullwidth {
    width: 100% !important;
  }
}

@media print, screen and (min-width: 768px) {
  #table-price {
    width: 100% !important;
  }
}
#table-price th, #table-price td {
  width: calc( 33.2rem * 1.5 );
}
@media print, screen and (min-width: 768px) {
  #table-price th, #table-price td {
    width: 27.6666666667%;
  }
}
#table-price th.width-s, #table-price td.width-s {
  width: calc( (120.0rem - (33.2rem * 3)) * 1.5);
}
@media print, screen and (min-width: 768px) {
  #table-price th.width-s, #table-price td.width-s {
    width: 17%;
  }
}

#contents {
  margin-top: 6.5rem;
  padding-bottom: 15.5rem;
}
@media print, screen and (min-width: 768px) {
  #contents {
    margin-top: 70px;
    padding-bottom: 155px;
  }
}

#mv-lower {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: repeat center center / cover;
  width: 100%;
  height: 34.0rem;
}
@media print, screen and (min-width: 768px) {
  #mv-lower {
    height: 450px;
  }
}
@media only screen and (max-width: 767px) {
  #mv-lower.mv-s {
    height: 28.0rem;
  }
}
@media print, screen and (min-width: 768px) {
  #mv-lower.mv-s {
    height: 220px;
  }
}
#mv-lower #mv-title {
  margin-bottom: -2.0rem;
}
@media print, screen and (min-width: 768px) {
  #mv-lower #mv-title {
    margin-bottom: -10px;
  }
}
#mv-lower #mv-title > span {
  display: block;
  color: #fff;
  text-align: center;
}
#mv-lower #mv-title > span._en {
  font-family: 'Libre Caslon Text', 'Noto Serif JP', serif;
  font-weight: normal;
  letter-spacing: 0.05em;
  font-size: 8.0rem;
  letter-spacing: 0.05em;
}
@media print, screen and (min-width: 768px) {
  #mv-lower #mv-title > span._en {
    font-size: 65px;
  }
}
#mv-lower #mv-title > span._en i {
  font-size: 76.9230769231%;
  vertical-align: 0.1em;
}
#mv-lower #mv-title > span._jp {
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  font-size: 2.6rem;
  margin-top: 2.5rem;
}
@media print, screen and (min-width: 768px) {
  #mv-lower #mv-title > span._jp {
    font-size: 14px;
    margin-top: 15px;
  }
}
#mv-lower #mv-title.title-jp ._jp {
  font-size: 6.4rem;
  font-weight: 600;
  margin-top: 0;
  letter-spacing: 0.1em;
}
@media print, screen and (min-width: 768px) {
  #mv-lower #mv-title.title-jp ._jp {
    font-size: 64px;
    letter-spacing: 0.2em;
  }
}

.breadcrumb {
  display: none;
}
@media print, screen and (min-width: 768px) {
  .breadcrumb {
    display: block;
    margin-top: 20px;
  }
}
.breadcrumb ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.breadcrumb ul li {
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  font-size: 14px;
}
.breadcrumb ul li:nth-child(n+2):before {
  display: inline-block;
  content: ">";
  margin: 0 0.5em;
}
.breadcrumb ul li a {
  color: #8b7246;
  padding-bottom: 0.1em;
  border-bottom: 1px solid #8b7246;
  -webkit-transition: border 0.3s;
  transition: border 0.3s;
  color: #8b7246;
}
.breadcrumb ul li a:hover {
  opacity: 1;
  border-bottom: 1px solid transparent;
}

.pagetitle {
  font-size: 6.4rem;
  line-height: 1.25;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  text-align: center;
  color: #8b7246;
  letter-spacing: 0.15em;
  font-weight: normal;
  margin-bottom: 3.0rem;
}
@media print, screen and (min-width: 768px) {
  .pagetitle {
    font-size: 56px;
    margin-bottom: 20px;
  }
}

.title-box {
  color: #8b7246;
  margin-bottom: 6.0rem;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .title-box {
    margin-bottom: 30px;
  }
}
.title-box ._en {
  font-family: 'Libre Caslon Text', 'Noto Serif JP', serif;
  font-weight: normal;
  letter-spacing: 0.05em;
  display: block;
  font-size: 8.0rem;
}
@media print, screen and (min-width: 768px) {
  .title-box ._en {
    font-size: 42px;
  }
}
.title-box ._jp {
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  font-size: 2.6rem;
  line-height: 1.3846153846;
  margin-top: 1.0rem;
}
@media print, screen and (min-width: 768px) {
  .title-box ._jp {
    font-size: 13px;
    margin-top: 10px;
  }
}

.pager-box {
  margin-top: 10.0rem;
}
@media print, screen and (min-width: 768px) {
  .pager-box {
    margin-top: 100px;
  }
}
.pager-box .nav-links {
  text-align: center;
}
.pager-box ul.page-numbers {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.5em;
  padding: 0 4em;
}
.pager-box ul.page-numbers li:has(a.prev),
.pager-box ul.page-numbers li:has(a.next) {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
}
.pager-box ul.page-numbers li:has(a.prev) {
  left: 0;
}
.pager-box ul.page-numbers li:has(a.next) {
  right: 0;
}
.pager-box .pager {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 3em;
}

.img-float-right,
.img-float-left {
  overflow: hidden;
}
@media print, screen and (min-width: 768px) {
  .img-float-right,
  .img-float-left {
    margin-bottom: -20px;
  }
}
@media print, screen and (min-width: 768px) {
  .img-float-right figure, .img-float-right ._img, .img-float-right ._txt,
  .img-float-left figure,
  .img-float-left ._img,
  .img-float-left ._txt {
    margin-bottom: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .img-float-right figure, .img-float-right ._img,
  .img-float-left figure,
  .img-float-left ._img {
    margin-bottom: 3.0rem;
  }
}
@media print, screen and (min-width: 768px) {
  .img-float-right figure, .img-float-right ._img,
  .img-float-left figure,
  .img-float-left ._img {
    width: 40.0rem;
    margin-top: 0.5em;
  }
}
.img-float-right figure img, .img-float-right ._img img,
.img-float-left figure img,
.img-float-left ._img img {
  margin: 0;
}
@media print, screen and (min-width: 768px) {
  .img-float-right ._txt,
  .img-float-left ._txt {
    margin-bottom: 20px;
  }
}
.img-float-right ._txt:first-of-type,
.img-float-left ._txt:first-of-type {
  margin-top: 0;
}

@media print, screen and (min-width: 768px) {
  .img-float-right figure, .img-float-right ._img {
    float: right;
    margin-right: 0;
    margin-left: 8.0rem;
  }
}

@media print, screen and (min-width: 768px) {
  .img-float-left figure, .img-float-left ._img {
    float: left;
    margin-right: 8.0rem;
    margin-left: 0;
  }
}

@media print, screen and (min-width: 768px) {
  .title-r + .img-float-right figure, .title-r + .img-float-right ._img {
    margin-left: 4.0rem;
  }
}

@media print, screen and (min-width: 768px) {
  .title-r + .img-float-left figure, .title-r + .img-float-left ._img {
    margin-right: 4.0rem;
  }
}

@media print, screen and (min-width: 768px) {
  .img-no_float-right,
  .img-no_float-left {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative;
    gap: 0 8.0rem;
  }
}
.img-no_float-right figure, .img-no_float-right ._img,
.img-no_float-left figure,
.img-no_float-left ._img {
  margin-top: 0.5em;
}
@media print, screen and (min-width: 768px) {
  .img-no_float-right figure, .img-no_float-right ._img,
  .img-no_float-left figure,
  .img-no_float-left ._img {
    width: 40.0rem;
  }
}
.img-no_float-right figure img, .img-no_float-right ._img img,
.img-no_float-left figure img,
.img-no_float-left ._img img {
  margin: 0;
}
@media print, screen and (min-width: 768px) {
  .img-no_float-right .title-xl,
  .img-no_float-right ._txt,
  .img-no_float-left .title-xl,
  .img-no_float-left ._txt {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-top: 0;
  }
}

.img-no_float-right {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.column *:not(br) {
  margin-top: 3.0rem;
}
@media print, screen and (min-width: 768px) {
  .column *:not(br) {
    margin-top: 20px;
  }
}
.column .title-xl {
  margin-top: 0;
}
.column .lead {
  text-align: left;
  margin-bottom: 0;
  margin-left: 0;
  margin-right: 0;
}
@media print, screen and (min-width: 768px) {
  .column .lead {
    margin-top: 40px;
  }
}

.facility {
  margin-top: 14.0rem;
}
@media print, screen and (min-width: 768px) {
  .facility {
    margin-top: 70px;
  }
}
.facility .facility-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 5.0rem;
  margin-top: 4.0rem;
}
@media print, screen and (min-width: 768px) {
  .facility .facility-list {
    gap: 35px 0;
    margin-top: 4.0rem;
    padding: 0 2.5rem;
  }
}
.facility .facility-list li {
  width: calc( (100% - 5.0rem) / 2 );
}
@media print, screen and (min-width: 768px) {
  .facility .facility-list li {
    width: calc( 100% / 5 );
  }
}
.facility .facility-list li ._img {
  display: block;
  background-color: #fff;
  border-radius: 100vw;
  overflow: hidden;
  border: 1px solid #e8e3da;
  width: 24.0rem;
  height: 24.0rem;
  margin: 0 auto;
}
@media print, screen and (min-width: 768px) {
  .facility .facility-list li ._img {
    width: 16.0rem;
    height: 16.0rem;
  }
}
.facility .facility-list li ._txt {
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  font-size: 2.6rem;
  font-weight: 600;
  color: #8b7246;
  text-align: center;
  margin-top: 2.0rem;
}
@media print, screen and (min-width: 768px) {
  .facility .facility-list li ._txt {
    font-size: 14px;
    margin-top: 1.0rem;
    padding: 0 0.5em;
  }
}

.bottom_img {
  margin-top: 15.0rem;
  margin-bottom: -15.5rem;
}
@media print, screen and (min-width: 768px) {
  .bottom_img {
    margin-top: 100px;
    margin-bottom: -155px;
  }
}
.bottom_img ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.bottom_img ul li {
  width: 50%;
  margin-bottom: -1px;
}
@media print, screen and (min-width: 768px) {
  .bottom_img ul li {
    width: 25%;
    margin: 0;
  }
}

.img-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 3.0rem;
  margin-top: 5.0rem;
}
@media print, screen and (min-width: 768px) {
  .img-list {
    margin-top: 50px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}
@media print, screen and (min-width: 768px) {
  .img-list li {
    width: calc( (100% - 4.0rem) / 2 );
    max-width: 480px;
  }
}

.img-list-s {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 3.0rem;
  margin-top: 6.0rem;
}
.img-list-s li {
  width: calc( (100% - 3.0rem) / 2 );
}
@media print, screen and (min-width: 768px) {
  .img-list-s li {
    width: calc( (100% - (3.0rem * 2)) / 3 );
  }
}

@media print, screen and (min-width: 768px) {
  .system-txt {
    text-align: center;
  }
}
.system-txt .sec-lead {
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  font-size: 3.2rem;
  line-height: 1.8125;
}
@media print, screen and (min-width: 768px) {
  .system-txt .sec-lead {
    font-size: 18px;
  }
}
.system-txt .sec-lead span {
  display: block;
  margin-bottom: 0.5em;
}
.system-txt .sec-lead span b {
  display: block;
}
@media print, screen and (min-width: 768px) {
  .system-txt .sec-lead span b {
    display: inline;
  }
}

blockquote {
  background-color: #fff;
  margin-top: 5.0rem;
  margin-left: 0;
  margin-right: 0;
  border: 1px solid #e8e3da;
  padding: 7.0rem 4.3rem;
  position: relative;
  padding: 3.0rem 4.0rem;
  font-size: 2.8rem;
}
@media print, screen and (min-width: 768px) {
  blockquote {
    padding: 80px 100px;
  }
}
@media print, screen and (min-width: 768px) and (min-width: 768px) {
  blockquote {
    margin-top: 60px;
  }
}

@media print, screen and (min-width: 768px) {
  blockquote {
    margin-top: 35px;
    padding: 25px 40px;
    font-size: 14px;
  }
}
blockquote:before, blockquote:after {
  position: absolute;
  display: inline-block;
  content: "〝";
}
blockquote:before {
  top: 1.5rem;
  left: 0;
}
@media print, screen and (min-width: 768px) {
  blockquote:before {
    top: 20px;
    left: 20px;
  }
}
blockquote:after {
  bottom: -1.0rem;
  right: 1.5rem;
}
@media print, screen and (min-width: 768px) {
  blockquote:after {
    bottom: 0;
    right: 20px;
  }
}
blockquote * {
  font-size: 2.8rem;
}
@media print, screen and (min-width: 768px) {
  blockquote * {
    font-size: 14px;
  }
}
blockquote *:first-child {
  margin-top: 0;
}

.wp-contents h1 {
  font-weight: 600;
  margin-bottom: 3.0rem;
  padding: 0;
  border: none;
  background-color: transparent;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  font-size: 4.0rem;
  line-height: 1.3;
  font-weight: 600;
  letter-spacing: 0.15em;
  margin-top: 0;
}
@media print, screen and (min-width: 768px) {
  .wp-contents h1 {
    margin-bottom: 20px;
  }
}
.wp-contents h1:before {
  display: none;
}
@media print, screen and (min-width: 768px) {
  .wp-contents h1 {
    font-size: 32px;
    text-align: center;
  }
}
.wp-contents h2 {
  font-weight: 600;
  margin-bottom: 3.0rem;
  padding: 0;
  border: none;
  background-color: transparent;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  font-size: 3.6rem;
  line-height: 1.4444444444;
  letter-spacing: 0.15em;
  border-bottom: 1px solid #000;
  padding-bottom: 1.5rem;
  margin-top: 8.0rem;
}
@media print, screen and (min-width: 768px) {
  .wp-contents h2 {
    margin-bottom: 20px;
  }
}
.wp-contents h2:before {
  display: none;
}
@media print, screen and (min-width: 768px) {
  .wp-contents h2 {
    font-size: 24px;
    padding-bottom: 10px;
    margin-top: 60px;
  }
}
.wp-contents h3 {
  font-weight: 600;
  margin-bottom: 3.0rem;
  padding: 0;
  border: none;
  background-color: transparent;
  font-size: 3.2rem;
  line-height: 1.5;
  background-color: #e8e3da;
  border-bottom: 1px solid #8b7246;
  padding: 1.6rem 1.8rem;
  margin-top: 11.5rem;
}
@media print, screen and (min-width: 768px) {
  .wp-contents h3 {
    margin-bottom: 20px;
  }
}
.wp-contents h3:before {
  display: none;
}
@media print, screen and (min-width: 768px) {
  .wp-contents h3 {
    font-size: 18px;
    margin-top: 70px;
  }
}
.wp-contents h4 {
  font-weight: 600;
  margin-bottom: 3.0rem;
  padding: 0;
  border: none;
  background-color: transparent;
  position: relative;
  font-size: 3.2rem;
  line-height: 1.5;
  padding-left: 2.5rem;
  margin-top: 5.0rem;
}
@media print, screen and (min-width: 768px) {
  .wp-contents h4 {
    margin-bottom: 20px;
  }
}
.wp-contents h4:before {
  display: none;
}
@media print, screen and (min-width: 768px) {
  .wp-contents h4 {
    font-size: 18px;
    margin-top: 50px;
    padding-left: 12px;
  }
}
.wp-contents h4:before {
  position: absolute;
  display: block;
  content: " ";
  background-color: #8b7246;
  width: 3px;
  height: 1em;
  top: 0.25em;
  left: 0;
}
.wp-contents h5 {
  font-weight: 600;
  margin-bottom: 3.0rem;
  padding: 0;
  border: none;
  background-color: transparent;
  font-size: 3.0rem;
  line-height: 1.6;
  margin-top: 4.5rem;
}
@media print, screen and (min-width: 768px) {
  .wp-contents h5 {
    margin-bottom: 20px;
  }
}
.wp-contents h5:before {
  display: none;
}
@media print, screen and (min-width: 768px) {
  .wp-contents h5 {
    font-size: 16px;
    margin-top: 50px;
  }
}
.wp-contents a {
  color: #8b7246;
  padding-bottom: 0.1em;
  border-bottom: 1px solid #8b7246;
  -webkit-transition: border 0.3s;
  transition: border 0.3s;
}
.wp-contents a:hover {
  opacity: 1;
  border-bottom: 1px solid transparent;
}
.wp-contents ul, .wp-contents ol {
  margin-top: 7.0rem;
}
@media print, screen and (min-width: 768px) {
  .wp-contents ul, .wp-contents ol {
    margin-top: 30px;
  }
}
.wp-contents ul li {
  position: relative;
  padding-left: 1em;
  line-height: 1.7333333333;
}
@media print, screen and (min-width: 768px) {
  .wp-contents ul li {
    line-height: 2;
  }
}
.wp-contents ul li:before {
  position: absolute;
  display: block;
  content: " ";
  background-color: #000;
  border-radius: 100vw;
  width: 1.0rem;
  height: 1.0rem;
  top: 0.65em;
  left: 0.2em;
}
@media print, screen and (min-width: 768px) {
  .wp-contents ul li:before {
    width: 5px;
    height: 5px;
    top: 0.8em;
    left: 0.3em;
  }
}
.wp-contents ul li:nth-child(n+2) {
  margin-top: 0.5em;
}
.wp-contents ol {
  counter-reset: ol-num 0;
}
.wp-contents ol li {
  position: relative;
  padding-left: 2em;
  line-height: 1.7333333333;
}
@media print, screen and (min-width: 768px) {
  .wp-contents ol li {
    line-height: 2;
  }
}
.wp-contents ol li:before {
  display: inline-block;
  min-width: 2em;
  text-align: center;
  counter-increment: ol-num 1;
  content: counter(ol-num) ".";
  float: left;
  margin-left: -2em;
  font-weight: bold;
}
.wp-contents .img-list li {
  padding-left: 0;
  margin-top: 0 !important;
}
.wp-contents .img-list li:before {
  display: none;
}

#page-404 #contents {
  margin-top: 15.5rem;
}

#top {
  /*---------------------------------------------------------
  parts
  ---------------------------------------------------------*/
  /*---------------------------------------------------------
  mv
  ---------------------------------------------------------*/
  /*---------------------------------------------------------
  lead
  ---------------------------------------------------------*/
  /*---------------------------------------------------------
  membership
  ---------------------------------------------------------*/
  /*---------------------------------------------------------
  facilities
  ---------------------------------------------------------*/
  /*---------------------------------------------------------
  news
  ---------------------------------------------------------*/
  /*---------------------------------------------------------
  userguide
  ---------------------------------------------------------*/
  /*---------------------------------------------------------
  movie
  ---------------------------------------------------------*/
  /*---------------------------------------------------------
  access
  ---------------------------------------------------------*/
  /*---------------------------------------------------------
  guidance
  ---------------------------------------------------------*/
  /*---------------------------------------------------------
  system
  ---------------------------------------------------------*/
}
#top #contents {
  margin-top: 0;
}
#top .sec-title-box {
  color: #8b7246;
  margin-bottom: 6.0rem;
}
@media print, screen and (min-width: 768px) {
  #top .sec-title-box {
    margin-bottom: 30px;
    text-align: center;
  }
}
#top .sec-title-box ._en {
  font-family: 'Libre Caslon Text', 'Noto Serif JP', serif;
  font-weight: normal;
  letter-spacing: 0.05em;
  display: block;
  font-size: 8.0rem;
}
@media print, screen and (min-width: 768px) {
  #top .sec-title-box ._en {
    font-size: 65px;
  }
}
#top .sec-title-box ._jp {
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  font-size: 2.6rem;
  line-height: 1.3846153846;
  margin-top: 1.5rem;
}
@media print, screen and (min-width: 768px) {
  #top .sec-title-box ._jp {
    font-size: 14px;
    margin-top: 15px;
  }
}
#top .sec-lead {
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  font-size: 3.2rem;
  line-height: 1.8125;
}
@media print, screen and (min-width: 768px) {
  #top .sec-lead {
    font-size: 18px;
  }
}
#top .sec-note {
  display: block;
  font-size: 2.4rem;
  margin-top: 2.5rem;
}
@media print, screen and (min-width: 768px) {
  #top .sec-note {
    font-size: 14px;
  }
}
#top #mv {
  position: relative;
  width: 100%;
  height: calc( 100svh - 12.0rem );
  background: no-repeat center center / cover;
}
@media only screen and (max-width: 767px) {
  #top #mv {
    background-image: url(../uploads/top-mv-sp.jpg);
  }
}
@media print, screen and (min-width: 768px) {
  #top #mv {
    background-image: url(../uploads/top-mv-pc.jpg);
    height: calc( 100vh - 90px );
  }
}
#top #mv #mv-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition: opacity 3.0s 0.5s;
  transition: opacity 3.0s 0.5s;
  opacity: 0;
}
.loaded #top #mv #mv-logo {
  opacity: 1;
}
#top #mv #mv-logo ._logo {
  display: block;
  width: 17.8rem;
}
@media print, screen and (min-width: 768px) {
  #top #mv #mv-logo ._logo {
    width: 10.1333333333vw;
  }
}
#top #mv #mv-logo ._txt {
  position: absolute;
  bottom: -6.3rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  display: block;
  width: 36.4rem;
}
@media print, screen and (min-width: 768px) {
  #top #mv #mv-logo ._txt {
    bottom: -3.5333333333vw;
    width: 20.7333333333vw;
  }
}
#top #mv #mv-scroll {
  position: absolute;
  right: 2.8rem;
  bottom: -9.0rem;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  padding-bottom: 21.0rem;
  font-family: 'Libre Caslon Text', 'Noto Serif JP', serif;
  font-weight: normal;
  letter-spacing: 0.05em;
  font-size: 3.2rem;
}
@media print, screen and (min-width: 768px) {
  #top #mv #mv-scroll {
    right: 2.5rem;
    bottom: -6.5rem;
    padding-bottom: 13.0rem;
    font-size: 16px;
  }
}
#top #mv #mv-scroll i {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 20.0rem;
  overflow: hidden;
}
@media print, screen and (min-width: 768px) {
  #top #mv #mv-scroll i {
    height: 12.0rem;
  }
}
#top #mv #mv-scroll i:before {
  position: absolute;
  display: block;
  content: " ";
  background-color: #000;
  width: 1px;
  height: 100%;
  top: 0;
  left: 0.5rem;
  -webkit-animation: scrolldown 2.2s cubic-bezier(0.76, 0, 0.3, 1) forwards infinite;
  animation: scrolldown 2.2s cubic-bezier(0.76, 0, 0.3, 1) forwards infinite;
}
@media print, screen and (min-width: 768px) {
  #top #mv #mv-scroll i:before {
    left: 0.3rem;
  }
}
@-webkit-keyframes scrolldown {
  0% {
    top: -100%;
  }
  75% {
    top: 0;
  }
  100% {
    top: 100%;
  }
}
@keyframes scrolldown {
  0% {
    top: -100%;
  }
  75% {
    top: 0;
  }
  100% {
    top: 100%;
  }
}
#top #lead {
  padding-top: 12.0rem;
}
@media print, screen and (min-width: 768px) {
  #top #lead {
    padding-top: 15.0rem;
  }
}
#top #lead #lead-catch {
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  font-size: 2.8rem;
  font-weight: 600;
  line-height: 1.8571428571;
  text-align: center;
  color: #8b7246;
  letter-spacing: 0.4em;
  margin-bottom: 3.0rem;
}
@media print, screen and (min-width: 768px) {
  #top #lead #lead-catch {
    font-size: 18px;
    letter-spacing: 0.4em;
  }
}
#top #lead #lead-copy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1.4rem;
}
@media print, screen and (min-width: 768px) {
  #top #lead #lead-copy {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: 2.6rem;
  }
}
#top #lead #lead-copy i {
  display: block;
}
#top #lead #lead-copy i img {
  width: auto;
  height: 8.6rem;
}
@media print, screen and (min-width: 768px) {
  #top #lead #lead-copy i img {
    height: 7.5rem;
  }
}
#top #lead #lead-txtbox {
  margin-top: 4.5rem;
}
@media print, screen and (min-width: 768px) {
  #top #lead #lead-txtbox {
    margin-top: 6.5rem;
  }
}
#top #lead #lead-txtbox p {
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  text-align: center;
  font-size: 2.8rem;
  line-height: 1.7964285714;
}
@media only screen and (max-width: 767px) {
  #top #lead #lead-txtbox p {
    letter-spacing: 0.1em;
  }
}
@media print, screen and (min-width: 768px) {
  #top #lead #lead-txtbox p {
    font-size: 16px;
    line-height: 2.25;
  }
}
#top #lead #lead-txtbox p + p {
  margin-top: 1.5em;
}
#top #lead #lead-img {
  margin-top: 7.0rem;
}
@media print, screen and (min-width: 768px) {
  #top #lead #lead-img {
    margin-top: 7.0rem;
  }
}
#top #membership {
  position: relative;
  z-index: 1;
  background: url(../uploads/top-membership-bg.jpg) repeat center center/75rem auto;
  padding: 18.0rem 0 20.0rem;
  margin-top: 20.0rem;
  color: #fff;
}
@media print, screen and (min-width: 768px) {
  #top #membership {
    background-size: 150.0rem auto;
    padding: 18.0rem 0 20.0rem;
  }
}
#top #membership:before {
  position: absolute;
  z-index: -1;
  display: none;
  content: " ";
  background: url(../uploads/top-membership-script.png) no-repeat center center/contain;
  width: 43.0rem;
  height: 16.8rem;
  top: 10.1rem;
  right: 1.1rem;
}
@media print, screen and (min-width: 768px) {
  #top #membership:before {
    display: block;
    width: 76.5rem;
    height: 29.9rem;
    top: 8.6rem;
    right: 7.1rem;
  }
}
#top #membership .sec-title-box {
  color: #fff;
}
@media print, screen and (min-width: 768px) {
  #top #membership .sec-title-box {
    text-align: left;
  }
}
#top #membership #membership-list {
  margin-top: 12.0rem;
}
@media print, screen and (min-width: 768px) {
  #top #membership #membership-list {
    margin-top: 13.0rem;
  }
}
#top #membership #membership-list li {
  position: relative;
  z-index: 1;
}
@media print, screen and (min-width: 768px) {
  #top #membership #membership-list li {
    min-height: 480px;
  }
}
#top #membership #membership-list li:nth-child(n+2) {
  margin-top: 15.0rem;
}
@media print, screen and (min-width: 768px) {
  #top #membership #membership-list li:nth-child(n+2) {
    margin-top: 14.0rem;
  }
}
#top #membership #membership-list li .membership-list-head {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  line-height: 1;
}
#top #membership #membership-list li .membership-list-head ._jp {
  display: block;
  font-size: 2.8rem;
  font-weight: bold;
  letter-spacing: 0.26em;
  margin-right: 1.5rem;
}
@media print, screen and (min-width: 768px) {
  #top #membership #membership-list li .membership-list-head ._jp {
    font-size: 16px;
    margin-right: 15px;
  }
}
#top #membership #membership-list li .membership-list-head ._en {
  display: block;
  font-size: 6.0rem;
  font-family: 'Libre Caslon Text', 'Noto Serif JP', serif;
  font-weight: normal;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
@media print, screen and (min-width: 768px) {
  #top #membership #membership-list li .membership-list-head ._en {
    font-size: 36px;
  }
}
#top #membership #membership-list li .membership-list-body {
  margin-left: 6.5rem;
}
@media print, screen and (min-width: 768px) {
  #top #membership #membership-list li .membership-list-body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    gap: 6.0rem;
    margin-left: 100px;
  }
}
#top #membership #membership-list li .membership-list-body ._txtbox {
  margin-left: 8.0rem;
}
@media print, screen and (min-width: 768px) {
  #top #membership #membership-list li .membership-list-body ._txtbox {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin: 0;
    padding-bottom: 20px;
  }
}
#top #membership #membership-list li .membership-list-body ._txtbox p {
  font-size: 3.0rem;
  line-height: 1.7333333333;
}
@media print, screen and (min-width: 768px) {
  #top #membership #membership-list li .membership-list-body ._txtbox p {
    font-size: 16px;
    line-height: 2;
  }
}
.tablet #top #membership #membership-list li .membership-list-body ._txtbox p {
  font-size: 2.4rem;
  line-height: 1.5;
}
#top #membership #membership-list li .membership-list-body ._txtbox a {
  margin-top: 4.0rem;
}
@media print, screen and (min-width: 768px) {
  #top #membership #membership-list li .membership-list-body ._txtbox a {
    margin-top: 2.5rem;
  }
}
#top #membership #membership-list li .membership-list-body ._imgbox {
  margin-top: 9.0rem;
  margin-bottom: -6.0rem;
  margin-right: -5.0rem;
}
@media print, screen and (min-width: 768px) {
  #top #membership #membership-list li .membership-list-body ._imgbox {
    margin: 0;
    margin-bottom: -6.0rem;
    width: 60.0rem;
  }
}
#top #membership #membership-list li .membership-marble {
  position: relative;
  z-index: -1;
  display: block;
  margin: 0 calc( 50% - 50vw ) 0;
  width: 100vw;
}
@media print, screen and (min-width: 768px) {
  #top #membership #membership-list li .membership-marble {
    width: auto;
    height: 14.0rem;
    margin-right: calc( 50% - 50vw );
    margin-left: 15.0rem;
  }
}
#top #membership #membership-list li .membership-marble img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
#top #membership #membership-list li .anim-item {
  opacity: 0;
  -webkit-transform: translateX(30%);
  transform: translateX(30%);
}
#top #membership #membership-list li:nth-child(2n) .membership-list-head {
  left: auto;
  right: 0;
}
#top #membership #membership-list li:nth-child(2n) .membership-list-body {
  margin-left: 0;
  margin-right: 6.5rem;
}
@media print, screen and (min-width: 768px) {
  #top #membership #membership-list li:nth-child(2n) .membership-list-body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    margin-right: 100px;
  }
}
#top #membership #membership-list li:nth-child(2n) .membership-list-body ._txtbox {
  margin-left: 0;
  margin-right: 8.5rem;
  -webkit-transform: translateX(-30%);
  transform: translateX(-30%);
}
@media print, screen and (min-width: 768px) {
  #top #membership #membership-list li:nth-child(2n) .membership-list-body ._txtbox {
    margin: 0;
  }
}
#top #membership #membership-list li:nth-child(2n) .membership-list-body ._imgbox {
  margin-right: 0;
  margin-left: -5.0rem;
  -webkit-transform: translateX(-30%);
  transform: translateX(-30%);
}
@media print, screen and (min-width: 768px) {
  #top #membership #membership-list li:nth-child(2n) .membership-list-body ._imgbox {
    margin: 0;
    margin-bottom: -6.0rem;
  }
}
#top #membership #membership-list li:nth-child(2n) .membership-marble {
  -webkit-transform: translateX(-30%);
  transform: translateX(-30%);
}
@media print, screen and (min-width: 768px) {
  #top #membership #membership-list li:nth-child(2n) .membership-marble {
    width: auto;
    margin-left: calc( 50% - 50vw );
    margin-right: 15.0rem;
  }
}
#top #membership #membership-list li.anim-on .anim-item {
  opacity: 1;
  -webkit-transform: translateX(0) !important;
  transform: translateX(0) !important;
  -webkit-transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, transform 0.5s;
  transition: opacity 0.5s, transform 0.5s, -webkit-transform 0.5s;
}
#top #membership #membership-list li.anim-on .membership-list-body ._imgbox {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
#top #membership #membership-list li.anim-on .membership-list-body ._txtbox {
  -webkit-transition-delay: 0.4s;
  transition-delay: 0.4s;
}
#top #membership #membership-list li.anim-on .membership-marble {
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
}
#top #facilities {
  position: relative;
  z-index: 1;
  padding: 18.0rem 0 20.0rem;
  margin-top: 20.0rem;
  color: #fff;
}
@media print, screen and (min-width: 768px) {
  #top #facilities {
    padding: 18.0rem 0 24.0rem;
    margin-top: 20.0rem;
  }
}
#top #facilities:before {
  position: absolute;
  z-index: -1;
  display: block;
  content: " ";
  background: no-repeat center center / cover;
  height: 100%;
  top: 0;
  left: 0;
}
@media only screen and (max-width: 767px) {
  #top #facilities:before {
    width: 84.6666666667vw;
    background-image: url(../uploads/top-facilities-bg-sp.jpg);
  }
}
@media print, screen and (min-width: 768px) {
  #top #facilities:before {
    width: calc( 50% + 400px );
    width: calc( 50% + 40.0rem );
    background-image: url(../uploads/top-facilities-bg-pc.jpg);
  }
}
#top #facilities .sec-title-box {
  color: #fff;
}
@media print, screen and (min-width: 768px) {
  #top #facilities .sec-title-box {
    text-align: left;
  }
}
#top #facilities #facilities-txt {
  width: 69.3333333333vw;
}
@media print, screen and (min-width: 768px) {
  #top #facilities #facilities-txt {
    width: calc( 50% + 36.0rem );
  }
}
#top #facilities #facilities-slider-box {
  position: relative;
  margin-top: 14.0rem;
  margin-right: calc( 50% - 50vw );
}
@media print, screen and (min-width: 768px) {
  #top #facilities #facilities-slider-box {
    margin-top: 8.0rem;
    margin-right: 0;
  }
}
#top #facilities #facilities-slider-box #facilities-slider {
  position: static;
  margin-right: -53.3333333333vw;
  margin-left: -2.6666666667vw;
}
@media print, screen and (min-width: 768px) {
  #top #facilities #facilities-slider-box #facilities-slider {
    margin-right: -2.0rem;
    margin-left: calc( 50% - 50vw - 2.0rem - 13.0rem );
  }
}
#top #facilities #facilities-slider-box #facilities-slider ._slider-item {
  margin: 0 2.6666666667vw;
}
#top #facilities #facilities-slider-box #facilities-slider ._slider-item figure {
  position: relative;
}
#top #facilities #facilities-slider-box #facilities-slider ._slider-item figure figcaption {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-family: 'Libre Caslon Text', 'Noto Serif JP', serif;
  font-weight: normal;
  letter-spacing: 0.05em;
  font-style: italic;
  font-size: 7.2vw;
  line-height: 1.25;
  color: #fff;
  text-align: center;
  opacity: 0.5;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media print, screen and (min-width: 768px) {
  #top #facilities #facilities-slider-box #facilities-slider ._slider-item figure figcaption {
    font-size: 3.2rem;
    opacity: 0;
  }
}
#top #facilities #facilities-slider-box #facilities-slider ._slider-item figure figcaption > span {
  letter-spacing: 0.05em;
}
#top #facilities #facilities-slider-box #facilities-slider ._slider-item figure figcaption > span span {
  font-style: normal;
  font-weight: 600;
}
#top #facilities #facilities-slider-box #facilities-slider ._slider-item figure figcaption > span i {
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
}
@media print, screen and (min-width: 768px) {
  #top #facilities #facilities-slider-box #facilities-slider ._slider-item:hover figure figcaption {
    opacity: 0.5;
  }
}
@media print, screen and (min-width: 768px) {
  #top #facilities #facilities-slider-box #facilities-slider ._slider-item {
    margin: 0 2.0rem;
  }
}
#top #facilities #facilities-slider-box #facilities-slider .slick-arrow {
  position: absolute;
  z-index: 9;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background-color: transparent;
  width: 4.5rem;
  height: 8.2rem;
  border: none;
  font-size: 0;
  cursor: pointer;
}
@media print, screen and (min-width: 768px) {
  #top #facilities #facilities-slider-box #facilities-slider .slick-arrow {
    top: auto;
    bottom: -10.0rem;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    width: 6.0rem;
    height: 6.0rem;
    border: 1px solid #fff;
  }
}
#top #facilities #facilities-slider-box #facilities-slider .slick-arrow:before {
  position: absolute;
  display: block;
  content: " ";
  background: url(../uploads/slider-arrow-sp.png) no-repeat center center/contain;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 4.8rem;
  left: 0;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
@media print, screen and (min-width: 768px) {
  #top #facilities #facilities-slider-box #facilities-slider .slick-arrow:before {
    background-image: url(../uploads/slider-arrow.png);
    width: 1.0rem;
    height: 1.6rem;
    left: 2.4rem;
  }
}
#top #facilities #facilities-slider-box #facilities-slider .slick-arrow.slick-prev {
  left: -2.9333333333vw;
}
@media print, screen and (min-width: 768px) {
  #top #facilities #facilities-slider-box #facilities-slider .slick-arrow.slick-prev {
    right: auto;
    left: calc( 50% + 20.0rem );
  }
}
#top #facilities #facilities-slider-box #facilities-slider .slick-arrow.slick-prev:before {
  -webkit-transform: translate(0, -50%) scale(-1, 1);
  transform: translate(0, -50%) scale(-1, 1);
}
#top #facilities #facilities-slider-box #facilities-slider .slick-arrow.slick-next {
  right: 21.3333333333vw;
}
@media print, screen and (min-width: 768px) {
  #top #facilities #facilities-slider-box #facilities-slider .slick-arrow.slick-next {
    right: auto;
    left: calc( 50% + 28.0rem );
  }
}
@media print, screen and (min-width: 768px) {
  #top #facilities #facilities-slider-box #facilities-slider .slick-arrow:hover.slick-prev:before {
    -webkit-transform: translate(-30%, -50%) scale(-1, 1);
    transform: translate(-30%, -50%) scale(-1, 1);
  }
}
@media print, screen and (min-width: 768px) {
  #top #facilities #facilities-slider-box #facilities-slider .slick-arrow:hover.slick-next:before {
    -webkit-transform: translate(30%, -50%);
    transform: translate(30%, -50%);
  }
}
#top #news {
  padding: 18.0rem 0 0;
}
@media print, screen and (min-width: 768px) {
  #top #news {
    padding: 18.0rem 0 0;
  }
}
#top #news .news-list {
  border-top: 1px solid #c4c4c4;
}
#top #news .news-list li {
  border-bottom: 1px solid #c4c4c4;
}
#top #news .news-list li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  padding: 1em 0.5em;
  color: #8b7246;
  border: none;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}
@media print, screen and (min-width: 768px) {
  #top #news .news-list li a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    padding: 1.3em 0.5em;
  }
}
#top #news .news-list li a a, #top #news .news-list li a > * {
  line-height: 1.6;
}
@media print, screen and (min-width: 768px) {
  #top #news .news-list li a a, #top #news .news-list li a > * {
    line-height: 1.75;
  }
}
#top #news .news-list li a ._date {
  display: block;
  color: #000;
}
@media print, screen and (min-width: 768px) {
  #top #news .news-list li a ._date {
    width: 20.0rem;
  }
}
@media print, screen and (min-width: 768px) {
  #top #news .news-list li a > p {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }
}
#top #news .news-list li a > p > span {
  border-bottom: 1px solid #8b7246;
  -webkit-transition: border 0.3s;
  transition: border 0.3s;
}
@media print, screen and (min-width: 768px) {
  #top #news .news-list li a > p > span {
    padding-bottom: 0.1em;
  }
}
#top #news .news-list li a:hover {
  opacity: 1;
  background-color: #f3f1ec;
}
#top #news .news-list li a:hover > p > span {
  border-bottom: 1px solid transparent;
}
#top #news .news-list ._cat {
  display: none;
}
#top #userguide {
  padding: 18.0rem 0 0;
}
@media print, screen and (min-width: 768px) {
  #top #userguide {
    padding: 18.0rem 0 0;
  }
}
#top #movie {
  padding: 18.0rem 0 0;
}
@media print, screen and (min-width: 768px) {
  #top #movie {
    padding: 18.0rem 0 0;
  }
}
#top #movie #movie-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 8.0rem;
}
@media print, screen and (min-width: 768px) {
  #top #movie #movie-list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}
@media print, screen and (min-width: 768px) {
  #top #movie #movie-list li {
    width: 56.0rem;
  }
}
#top #movie #movie-list li .movie-box {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  overflow: hidden;
}
#top #movie #movie-list li .movie-box iframe {
  position: absolute;
  top: 0;
  left: 0;
  scale: 1.015;
  width: 100%;
  height: 100%;
}
#top #access {
  padding: 18.0rem 0 0;
}
@media print, screen and (min-width: 768px) {
  #top #access {
    padding: 18.0rem 0 0;
  }
}
@media print, screen and (min-width: 768px) {
  #top #access #access-txt {
    text-align: center;
  }
}
#top #access #access-info {
  margin-top: 5.5rem;
}
@media print, screen and (min-width: 768px) {
  #top #access #access-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 6.0rem;
    margin-top: 40px;
  }
}
@media print, screen and (min-width: 768px) {
  #top #access #access-info dl {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }
}
#top #access #access-info dl:nth-child(n+2) {
  margin-top: 7.0rem;
}
@media print, screen and (min-width: 768px) {
  #top #access #access-info dl:nth-child(n+2) {
    margin: 0;
  }
}
#top #access #access-info dl dt {
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  font-size: 3.2rem;
  font-weight: bold;
  border-bottom: 1px solid #000;
  padding-bottom: 0.625em;
}
@media print, screen and (min-width: 768px) {
  #top #access #access-info dl dt {
    font-size: 16px;
  }
}
#top #access #access-info dl dd {
  margin-top: 2.5rem;
  font-size: 3.0rem;
  line-height: 1.6666666667;
}
@media print, screen and (min-width: 768px) {
  #top #access #access-info dl dd {
    margin-top: 20px;
    font-size: 16px;
    line-height: 2;
  }
}
#top #access #access-map {
  margin: 7.0rem 0 8.0rem;
}
@media print, screen and (min-width: 768px) {
  #top #access #access-map {
    margin: 7.0rem 0 8.0rem;
  }
}
#top #access #access-map iframe {
  width: 100%;
  height: 52.0rem;
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
}
@media print, screen and (min-width: 768px) {
  #top #access #access-map iframe {
    height: 40.0rem;
  }
}
#top #access #access-btn {
  margin-top: 8.0rem;
}
#top #guidance {
  margin-top: 18.0rem;
}
@media print, screen and (min-width: 768px) {
  #top #guidance {
    margin-top: 12.0rem;
  }
}
#top #guidance .link-arrow-bottom {
  margin-top: 4.0rem;
}
@media print, screen and (min-width: 768px) {
  #top #guidance .link-arrow-bottom {
    margin-top: 8.0rem;
  }
}
#top #system {
  margin-top: 18.0rem;
  padding: 17.0rem 0 20.0rem;
  background-color: #fff;
}
@media print, screen and (min-width: 768px) {
  #top #system {
    margin-top: 160px;
    background-color: transparent;
    padding: 0;
  }
}
#top #system #system-box {
  background-color: #fff;
}
@media print, screen and (min-width: 768px) {
  #top #system #system-box {
    padding: 17.0rem 9.8rem 20.0rem;
    border: 1px solid #e8e3da;
  }
}
#top #system .system-table {
  margin-top: 7.5rem;
}
@media print, screen and (min-width: 768px) {
  #top #system .system-table {
    margin-top: 5.5rem;
  }
}
#top #system .system-table + .btn-box a {
  padding-left: 0.5em !important;
  padding-right: 0.5em !important;
}

@media only screen and (max-width: 767px) {
  #concept #mv-lower {
    background-image: url(../uploads/concept-mv-sp.jpg);
  }
}
@media print, screen and (min-width: 768px) {
  #concept #mv-lower {
    background-image: url(../uploads/concept-mv-pc.jpg);
  }
}
#concept #concept-membership {
  background: url(../uploads/concept-bg.jpg) no-repeat center center/cover;
  padding: 15.0rem 0;
}
@media print, screen and (min-width: 768px) {
  #concept #concept-membership {
    padding: 13.0rem 0;
  }
}
#concept #concept-membership ._item:nth-of-type(n+2) {
  margin-top: 11.0rem;
}
@media print, screen and (min-width: 768px) {
  #concept #concept-membership ._item:nth-of-type(n+2) {
    margin-top: 20.0rem;
  }
}
#concept #concept-membership ._item ._title span {
  display: block;
  color: #fff;
}
#concept #concept-membership ._item ._title span._en {
  font-family: 'Libre Caslon Text', 'Noto Serif JP', serif;
  font-weight: normal;
  letter-spacing: 0.05em;
  font-size: 6.0rem;
  letter-spacing: 0.05em;
}
@media print, screen and (min-width: 768px) {
  #concept #concept-membership ._item ._title span._en {
    font-size: 40px;
  }
}
#concept #concept-membership ._item ._title span._jp {
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  font-size: 2.8rem;
  font-weight: normal;
  letter-spacing: 0.2em;
  margin-top: 1.0rem;
}
@media print, screen and (min-width: 768px) {
  #concept #concept-membership ._item ._title span._jp {
    font-size: 14px;
  }
}
#concept #concept-membership ._item ._box {
  margin-top: 5.0rem;
}
@media print, screen and (min-width: 768px) {
  #concept #concept-membership ._item ._box {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 8.0rem;
    margin-top: 4.0rem;
  }
}
#concept #concept-membership ._item ._box ._imgbox {
  position: relative;
  z-index: 1;
  width: 84.8vw;
  margin-left: -5.0rem;
}
@media print, screen and (min-width: 768px) {
  #concept #concept-membership ._item ._box ._imgbox {
    position: static;
    width: 80.0rem;
    margin-left: 0;
  }
}
#concept #concept-membership ._item ._box ._imgbox:before {
  position: absolute;
  z-index: -1;
  display: block;
  content: " ";
  background: url(../uploads/concept-texture-gym.jpg) no-repeat center center/cover;
  width: 100vw;
  height: 16.0rem;
  bottom: -8.0rem;
  left: 0;
}
@media print, screen and (min-width: 768px) {
  #concept #concept-membership ._item ._box ._imgbox:before {
    margin-left: calc( 50% - 50vw );
    height: 14.0rem;
    bottom: -7.0rem;
  }
}
#concept #concept-membership ._item ._box ._imgbox ._img {
  position: relative;
}
#concept #concept-membership ._item ._box ._txtbox {
  margin-top: 13.0rem;
  text-align: right;
}
@media print, screen and (min-width: 768px) {
  #concept #concept-membership ._item ._box ._txtbox {
    position: relative;
    z-index: 2;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    -ms-flex-item-align: end;
    align-self: flex-end;
    margin: 0;
    text-align: left;
  }
}
#concept #concept-membership ._item ._box ._txtbox .link-arrow-bottom {
  margin-right: 6.5rem;
  white-space: nowrap;
}
@media print, screen and (min-width: 768px) {
  #concept #concept-membership ._item ._box ._txtbox .link-arrow-bottom {
    margin: 0 0 13.0rem 0;
  }
}
#concept #concept-slider-box {
  position: relative;
  margin-top: 16.0rem;
  padding: 16.0rem 0;
}
#concept #concept-slider-box:before {
  position: absolute;
  display: block;
  content: " ";
  background: url(../uploads/concept-slider-bg.jpg) no-repeat center center/cover;
  width: 86.6666666667vw;
  height: 100%;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
#concept #concept-slider-box #concept-slider {
  position: relative;
}
#concept #concept-slider-box #concept-slider ._slider-item {
  margin: 0 2.0rem;
}
#concept #concept-slider-box #concept-slider ._slider-item figure {
  position: relative;
}
#concept #concept-slider-box #concept-slider ._slider-item figure figcaption {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-family: 'Libre Caslon Text', 'Noto Serif JP', serif;
  font-weight: normal;
  letter-spacing: 0.05em;
  font-style: italic;
  font-size: 7.2vw;
  line-height: 1.25;
  color: #fff;
  text-align: center;
  opacity: 0.5;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media print, screen and (min-width: 768px) {
  #concept #concept-slider-box #concept-slider ._slider-item figure figcaption {
    font-size: 3.2rem;
    opacity: 0;
  }
}
#concept #concept-slider-box #concept-slider ._slider-item figure figcaption > span {
  letter-spacing: 0.05em;
}
#concept #concept-slider-box #concept-slider ._slider-item figure figcaption > span span {
  font-style: normal;
  font-weight: 600;
}
#concept #concept-slider-box #concept-slider ._slider-item figure figcaption > span i {
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
}
@media print, screen and (min-width: 768px) {
  #concept #concept-slider-box #concept-slider ._slider-item:hover figure figcaption {
    opacity: 0.5;
  }
}
#concept #concept-slider-box #concept-slider .slick-arrow {
  position: absolute;
  z-index: 9;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background-color: transparent;
  width: 4.5rem;
  height: 8.2rem;
  border: none;
  font-size: 0;
  cursor: pointer;
}
@media print, screen and (min-width: 768px) {
  #concept #concept-slider-box #concept-slider .slick-arrow {
    top: auto;
    bottom: -10.0rem;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    width: 6.0rem;
    height: 6.0rem;
    border: 1px solid #fff;
  }
}
#concept #concept-slider-box #concept-slider .slick-arrow:before {
  position: absolute;
  display: block;
  content: " ";
  background: url(../uploads/slider-arrow-sp.png) no-repeat center center/contain;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 4.8rem;
  left: 0;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
@media print, screen and (min-width: 768px) {
  #concept #concept-slider-box #concept-slider .slick-arrow:before {
    background-image: url(../uploads/slider-arrow.png);
    width: 1.0rem;
    height: 1.6rem;
    left: 2.4rem;
  }
}
#concept #concept-slider-box #concept-slider .slick-arrow.slick-prev {
  left: 14.9333333333vw;
}
@media print, screen and (min-width: 768px) {
  #concept #concept-slider-box #concept-slider .slick-arrow.slick-prev {
    right: auto;
    left: calc( 50% - 7.0rem );
  }
}
#concept #concept-slider-box #concept-slider .slick-arrow.slick-prev:before {
  -webkit-transform: translate(0, -50%) scale(-1, 1);
  transform: translate(0, -50%) scale(-1, 1);
}
#concept #concept-slider-box #concept-slider .slick-arrow.slick-next {
  right: 14.9333333333vw;
}
@media print, screen and (min-width: 768px) {
  #concept #concept-slider-box #concept-slider .slick-arrow.slick-next {
    right: auto;
    left: calc( 50% + 1.0rem );
  }
}
@media print, screen and (min-width: 768px) {
  #concept #concept-slider-box #concept-slider .slick-arrow:hover.slick-prev:before {
    -webkit-transform: translate(-30%, -50%) scale(-1, 1);
    transform: translate(-30%, -50%) scale(-1, 1);
  }
}
@media print, screen and (min-width: 768px) {
  #concept #concept-slider-box #concept-slider .slick-arrow:hover.slick-next:before {
    -webkit-transform: translate(30%, -50%);
    transform: translate(30%, -50%);
  }
}

@media only screen and (max-width: 767px) {
  #floor-map #mv-lower {
    background-image: url(../uploads/floormap-mv-sp.jpg);
  }
}
@media print, screen and (min-width: 768px) {
  #floor-map #mv-lower {
    background-image: url(../uploads/floormap-mv-pc.jpg);
  }
}

@media only screen and (max-width: 767px) {
  #access-business-info #mv-lower {
    background-image: url(../uploads/access-mv-sp.jpg);
  }
}
@media print, screen and (min-width: 768px) {
  #access-business-info #mv-lower {
    background-image: url(../uploads/access-mv-pc.jpg);
  }
}
#access-business-info #access-map {
  margin: 4.0rem 0 8.0rem;
}
@media print, screen and (min-width: 768px) {
  #access-business-info #access-map {
    margin: 4.0rem 0 8.0rem;
  }
}
#access-business-info #access-map iframe {
  width: 100%;
  height: 52.0rem;
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
}
@media print, screen and (min-width: 768px) {
  #access-business-info #access-map iframe {
    height: 40.0rem;
  }
}

@media only screen and (max-width: 767px) {
  #member-inquiry #mv-lower {
    background-image: url(../uploads/access-mv-sp.jpg);
  }
}
@media print, screen and (min-width: 768px) {
  #member-inquiry #mv-lower {
    background-image: url(../uploads/access-mv-pc.jpg);
  }
}
#member-inquiry #access-map {
  margin: 4.0rem 0 8.0rem;
}
@media print, screen and (min-width: 768px) {
  #member-inquiry #access-map {
    margin: 4.0rem 0 8.0rem;
  }
}
#member-inquiry #access-map iframe {
  width: 100%;
  height: 52.0rem;
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
}
@media print, screen and (min-width: 768px) {
  #member-inquiry #access-map iframe {
    height: 40.0rem;
  }
}

@media only screen and (max-width: 767px) {
  #visit-spa-form #mv-lower {
    background-image: url(../uploads/access-mv-sp.jpg);
  }
}
@media print, screen and (min-width: 768px) {
  #visit-spa-form #mv-lower {
    background-image: url(../uploads/access-mv-pc.jpg);
  }
}

@media only screen and (max-width: 767px) {
  #conditioning-gym #mv-lower {
    background-image: url(../uploads/gym-mv-sp.jpg);
  }
}
@media print, screen and (min-width: 768px) {
  #conditioning-gym #mv-lower {
    background-image: url(../uploads/gym-mv-pc.jpg);
  }
}

@media only screen and (max-width: 767px) {
  #spa-and-sauna #mv-lower {
    background-image: url(../uploads/spa-mv-sp.jpg);
  }
}
@media print, screen and (min-width: 768px) {
  #spa-and-sauna #mv-lower {
    background-image: url(../uploads/spa-mv-pc.jpg);
  }
}

@media only screen and (max-width: 767px) {
  #member-lounge #mv-lower {
    background-image: url(../uploads/member-mv-sp.jpg);
  }
}
@media print, screen and (min-width: 768px) {
  #member-lounge #mv-lower {
    background-image: url(../uploads/member-mv-pc.jpg);
  }
}

@media only screen and (max-width: 767px) {
  #fitness #mv-lower {
    background-image: url(../uploads/fitness-mv-sp.jpg);
  }
}
@media print, screen and (min-width: 768px) {
  #fitness #mv-lower {
    background-image: url(../uploads/fitness-mv-pc.jpg);
  }
}

@media only screen and (max-width: 767px) {
  #private-spa-and-sauna #mv-lower,#spa-sauna #mv-lower {
    background-image: url(../uploads/private_spa-mv-sp.jpg);
  }
}
@media print, screen and (min-width: 768px) {
  #private-spa-and-sauna #mv-lower,#spa-sauna #mv-lower {
    background-image: url(../uploads/private_spa-mv-pc.jpg);
  }
}

@media only screen and (max-width: 767px) {
  #recovery #mv-lower,#recovery_test #mv-lower {
    background-image: url(../uploads/recovery-mv-sp.jpg);
  }
}
@media print, screen and (min-width: 768px) {
  #recovery #mv-lower,#recovery_test #mv-lower {
    background-image: url(../uploads/recovery-mv-pc.jpg);
  }
}

@media only screen and (max-width: 767px) {
  #golf #mv-lower {
    background-image: url(../uploads/golf-mv-sp.jpg);
  }
}
@media print, screen and (min-width: 768px) {
  #golf #mv-lower {
    background-image: url(../uploads/golf-img-b3-e1711432793541.jpeg);
  }
}
/* top-img -------------------------------------
@media print, screen and (min-width: 768px) {
  #golf #mv-lower {
    background-image: url(../uploads/golf-mv-pc.jpg);
  }
}
-------------------------------------*/

@media only screen and (max-width: 767px) {
  #userguide #mv-lower {
    background-image: url(../uploads/cmn-mv-bg-stone-sp.jpg);
  }
}
@media print, screen and (min-width: 768px) {
  #userguide #mv-lower {
    background-image: url(../uploads/cmn-mv-bg-stone-pc.jpg);
  }
}
#userguide .userguide-menu-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 2.0rem;
  margin-top: 5.5rem;
}
@media print, screen and (min-width: 768px) {
  #userguide .userguide-menu-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 30px 5.0rem;
  }
}
#userguide .userguide-menu-list .btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  font-size: 3.2rem;
  line-height: 1.6;
  color: #000;
  text-align: center;
  border: 1px solid #000;
  min-width: 52.0rem;
  min-height: 12.0rem;
  padding: 0.5em 3.5rem;
  -webkit-transition: border 0.3s, background 0.3s;
  transition: border 0.3s, background 0.3s;
  cursor: pointer;
  background-color: #fff;
  padding-left: 0.5em !important;
  padding-right: 0.5em !important;
}
@media print, screen and (min-width: 768px) {
  #userguide .userguide-menu-list .btn {
    font-size: 18px;
    line-height: 1.3333333333;
    min-width: 30.0rem;
    min-height: 80px;
    padding: 0.5em 8.0rem;
  }
}
#userguide .userguide-menu-list .btn:hover {
  opacity: 1;
  border-color: #000;
  background-color: #000;
  color: #fff;
}
#userguide .userguide-menu-list .btn.nolink:hover {
  opacity: 1;
  border-color: inherit;
  background-color: inherit;
  color: inherit;
  cursor: default;
}
#userguide .userguide-menu-list .btn span {
  letter-spacing: 0.2em;
}
#userguide .userguide-menu {
  padding: 12.0rem 0;
  background: no-repeat center center / cover;
}
@media only screen and (max-width: 767px) {
  #userguide .userguide-menu {
    background-image: url(../uploads/userguide-menu-bg-sp.jpg);
  }
}
@media print, screen and (min-width: 768px) {
  #userguide .userguide-menu {
    padding: 75px 0 100px;
    background-image: url(../uploads/userguide-menu-bg-pc.jpg);
  }
}
#userguide .userguide-menu .userguide-menu-list .btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.20em;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  font-size: 3.2rem;
  line-height: 1.6;
  color: #000;
  text-align: center;
  border: 1px solid #000;
  min-width: 52.0rem;
  min-height: 12.0rem;
  padding: 0.5em 3.5rem;
  -webkit-transition: border 0.3s, background 0.3s;
  transition: border 0.3s, background 0.3s;
  cursor: pointer;
  color: #8b7246;
  border-color: #8b7246;
  background-color: transparent;
}
@media print, screen and (min-width: 768px) {
  #userguide .userguide-menu .userguide-menu-list .btn {
    font-size: 18px;
    line-height: 1.3333333333;
    min-width: 30.0rem;
    min-height: 80px;
    padding: 0.5em 8.0rem;
  }
}
#userguide .userguide-menu .userguide-menu-list .btn:hover {
  opacity: 1;
  border-color: #000;
  background-color: #000;
  color: #fff;
}
#userguide .userguide-menu .userguide-menu-list .btn.nolink:hover {
  opacity: 1;
  border-color: inherit;
  background-color: inherit;
  color: inherit;
  cursor: default;
}
#userguide .userguide-menu .userguide-menu-list .btn span {
  letter-spacing: 0.2em;
}
#userguide .userguide-menu .userguide-menu-list .btn:hover {
  border-color: #8b7246;
  background-color: #8b7246;
}
#userguide .userguide-search {
  margin-top: 10.0rem;
}
@media print, screen and (min-width: 768px) {
  #userguide .userguide-search {
    margin-top: 100px;
  }
}
#userguide .userguide-search .userguide-search-box {
  position: relative;
  margin-top: 6.0rem;
  width: 100%;
  background-color: #fdfaf2;
  border-radius: 100vw;
  border: 1px solid #e3e1da;
  overflow: hidden;
}
@media print, screen and (min-width: 768px) {
  #userguide .userguide-search .userguide-search-box {
    margin: 60px auto 0;
    max-width: 800px;
  }
}
#userguide .userguide-search .userguide-search-box label {
  display: none;
}
#userguide .userguide-search .userguide-search-box input[type="search"] {
  display: block;
  width: 100%;
  height: 8.0rem;
  border: none;
  background-color: transparent;
  padding: 0.5em 1em 0.5em 8.0rem;
  font-size: 16px;
  outline: none;
  -webkit-appearance: none;
}
@media print, screen and (min-width: 768px) {
  #userguide .userguide-search .userguide-search-box input[type="search"] {
    height: 60px;
    padding: 0.5em 1em 0.5em 60px;
  }
}
#userguide .userguide-search .userguide-search-box input[type="submit"] {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 8.0rem;
  height: 8.0rem;
  border: none;
  background: url(../uploads/cmn-icon-search.png) no-repeat center center/3rem auto;
}
@media print, screen and (min-width: 768px) {
  #userguide .userguide-search .userguide-search-box input[type="submit"] {
    width: 60px;
    height: 60px;
    background-size: 21px auto;
  }
}
#userguide .userguide-cat-box {
  margin-top: 8.0rem;
}
@media print, screen and (min-width: 768px) {
  #userguide .userguide-cat-box {
    margin-top: 80px;
  }
}
#userguide .userguide-cat-box .whitebox {
  padding: 8.0rem 5.0rem;
}
@media print, screen and (min-width: 768px) {
  #userguide .userguide-cat-box .whitebox {
    padding: 80px 0;
  }
}
#userguide .userguide-cat-box .userguide-cat-nav {
  margin-top: 3.0rem;
}
@media print, screen and (min-width: 768px) {
  #userguide .userguide-cat-box .userguide-cat-nav {
    margin-top: 30px;
  }
}
#userguide .userguide-cat-box .userguide-cat-nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
@media print, screen and (min-width: 768px) {
  #userguide .userguide-cat-box .userguide-cat-nav ul {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }
}
#userguide .userguide-cat-box .userguide-cat-nav ul li {
  line-height: 1.6;
}
#userguide .userguide-cat-box .userguide-cat-nav ul li:nth-child(n+2) {
  margin-top: 0.5em;
}
@media print, screen and (min-width: 768px) {
  #userguide .userguide-cat-box .userguide-cat-nav ul li:nth-child(n+2) {
    margin-top: 0;
  }
}
@media print, screen and (min-width: 768px) {
  #userguide .userguide-cat-box .userguide-cat-nav ul li:nth-child(n+2):before {
    content: "/";
    margin: 0 1em;
    color: #000;
  }
}
#userguide .userguide-list {
  border-top: 1px solid #c4c4c4;
}
#userguide .userguide-list li {
  border-bottom: 1px solid #c4c4c4;
}
#userguide .userguide-list li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  padding: 1em 0.5em;
  color: #8b7246;
  border: none;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}
@media print, screen and (min-width: 768px) {
  #userguide .userguide-list li a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    padding: 1.3em 0.5em;
  }
}
#userguide .userguide-list li a a, #userguide .userguide-list li a > * {
  line-height: 1.6;
}
@media print, screen and (min-width: 768px) {
  #userguide .userguide-list li a a, #userguide .userguide-list li a > * {
    line-height: 1.75;
  }
}
#userguide .userguide-list li a ._date {
  display: block;
  color: #000;
}
@media print, screen and (min-width: 768px) {
  #userguide .userguide-list li a ._date {
    width: 20.0rem;
  }
}
@media print, screen and (min-width: 768px) {
  #userguide .userguide-list li a > p {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }
}
#userguide .userguide-list li a > p > span {
  border-bottom: 1px solid #8b7246;
  -webkit-transition: border 0.3s;
  transition: border 0.3s;
}
@media print, screen and (min-width: 768px) {
  #userguide .userguide-list li a > p > span {
    padding-bottom: 0.1em;
  }
}
#userguide .userguide-list li a:hover {
  opacity: 1;
  background-color: #f3f1ec;
}
#userguide .userguide-list li a:hover > p > span {
  border-bottom: 1px solid transparent;
}
#userguide .userguide-index-link-title + .userguide-list,
#userguide .title-l + .userguide-list,
#userguide .title-r + .userguide-list {
  border-top: none;
  margin-top: -3.0rem;
}
@media print, screen and (min-width: 768px) {
  #userguide .userguide-index-link-title + .userguide-list,
  #userguide .title-l + .userguide-list,
  #userguide .title-r + .userguide-list {
    margin-top: -20px;
  }
}
#userguide .userguide-index-link-item {
  margin-top: 8rem;
}
@media print, screen and (min-width: 768px) {
  #userguide .userguide-index-link-item {
    margin-top: 60px;
  }
}
#userguide .userguide-index-link-item .userguide-index-link-title {
  position: relative;
}
#userguide .userguide-index-link-item .userguide-index-link-title .link-arrow {
  position: absolute;
  bottom: 2.0rem;
  right: 0;
}
@media print, screen and (min-width: 768px) {
  #userguide .userguide-index-link-item .userguide-index-link-title .link-arrow {
    bottom: 20px;
  }
}
#userguide .yarpp-related a {
  font-weight: inherit;
}

@media only screen and (max-width: 767px) {
  #enrollment-guidance #mv-lower {
    background-image: url(../uploads/guidance-mv-sp.jpg);
  }
}
@media print, screen and (min-width: 768px) {
  #enrollment-guidance #mv-lower {
    background-image: url(../uploads/guidance-mv-pc.jpg);
  }
}

@media only screen and (max-width: 767px) {
  #recruit #mv-lower {
    background-image: url(../uploads/recruit-mv-sp.jpg);
  }
}
@media print, screen and (min-width: 768px) {
  #recruit #mv-lower {
    background-image: url(../uploads/recruit-mv-pc.jpg);
  }
}

@media only screen and (max-width: 767px) {
  #privacy-policy #mv-lower {
    background-image: url(../uploads/policy-mv-sp.jpg);
  }
}
@media print, screen and (min-width: 768px) {
  #privacy-policy #mv-lower {
    background-image: url(../uploads/policy-mv-pc.jpg);
  }
}
#privacy-policy .sec ul li {
  line-height: 2;
}

@media only screen and (max-width: 767px) {
  #relaxation #mv-lower {
    background-image: url(../uploads/relaxation-mv-sp-01.jpg);
  }
}
@media print, screen and (min-width: 768px) {
  #relaxation #mv-lower {
    background-image: url(../uploads/relaxation-mv-pc-01.jpg);
  }
}



/*# sourceMappingURL=style-rr.css.map */