@charset "UTF-8";
@import "reset.css";
/* $break-point以下の時に@contentを適用 */
/* $break-point以上の時に@contentを適用 */
/* $break-point-min以上、$break-point-max以下の時に@contentを適用 */
/* $break-point以下の時に@contentを適用 */
/* $break-point以上の時に@contentを適用 */
/* $break-point-min以上、$break-point-max以下の時に@contentを適用 */
/* 
================================================================================
tag
================================================================================
*/
img {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  max-width: 100%;
  height: auto;
  image-rendering: -webkit-optimize-contrast;
}

span {
  display: inline-block;
}

img,
input,
svg,
*:before,
*:after {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  filter: blur(0);
  -webkit-filter: blur(0);
  image-rendering: -webkit-optimize-contrast;
}

a:hover img,
a:hover input {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  image-rendering: -webkit-optimize-contrast;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.1em;
}

a, a:link, a:active, a:visited {
  color: inherit;
  text-decoration: none;
}

ol, ul {
  text-align: left;
}
ol li, ul li {
  margin-bottom: 0.5em;
}

ul {
  list-style: none;
  padding-left: 0;
}
ul.btnGroup {
  display: inline-flex;
  justify-content: space-between;
  margin-bottom: 3.125rem;
  list-style: none;
  padding: 0;
}
ul.btnGroup li {
  padding: 0;
  margin: 0 1.25rem;
}
ul.list {
  list-style: none;
  padding-left: 1.25rem;
}
ul.list li {
  position: relative;
  padding-left: 1.25rem;
}
ul.list li:before {
  content: "・";
  display: inline-block;
  position: absolute;
  top: 0rem;
  left: 0rem;
}

dl.plus dt::before {
  content: "+";
  display: block;
  font-size: 5rem;
  font-weight: 200;
  padding-top: 1.875rem;
  margin-bottom: 1.875rem;
}

/* 
================================================================================
class
================================================================================
*/
@media screen and (max-width: 768px) {
  .onlyPC {
    display: none !important;
  }
}

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

.inView:not(.trigger) {
  transition: all 300ms cubic-bezier(0.71, 1.52, 0.65, 1.06) 200ms;
}
.inView:not(.trigger).is-standby {
  opacity: 0;
  transform: scale(0.5);
}

.onAmine {
  transition: all 300ms 500ms cubic-bezier(0.71, 1.52, 0.65, 1.06) 200ms;
}
.onAmine.is-standby {
  opacity: 0;
  transform: scale(0.5);
}

.inView.is-in {
  opacity: 1 !important;
  transform: translateY(0rem);
}

.inView.out {
  opacity: 0;
}

.radius {
  border-radius: 1.25rem;
  overflow: hidden;
}

.bold {
  font-weight: 700;
}

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

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

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

.en {
  font-family: "Charm", cursive;
  font-weight: 700;
}

.grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 20px;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .grid {
    grid-template-columns: 1fr;
  }
}
.grid.itemsCenter {
  align-items: center;
}
.grid.col_3 {
  grid-template-columns: 1fr 1fr 1fr;
}
.grid.col_4 {
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
.grid.col_5 {
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}
.grid.imageGroup {
  grid-gap: 3.125rem;
  margin-bottom: 6.25rem;
  align-content: flex-start;
  align-items: flex-start;
}
.grid.imageGroup.imageGroup-mini {
  width: 50%;
  margin: auto;
}
.grid.imageGroup .gridItem {
  display: flex;
  flex-wrap: wrap;
  text-align: left;
}
.grid.imageGroup .gridItem dt {
  order: 2;
  padding-top: 0.625rem;
  margin-bottom: 1.25rem;
  font-size: 1.5rem;
  font-weight: 700;
  width: 100%;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .grid.imageGroup .gridItem dt {
    display: block;
    padding-top: 2.5641025641vw;
    margin-bottom: 5.1282051282vw;
    font-size: 5.641025641vw !important;
  }
}
.grid.imageGroup .gridItem dt small {
  font-size: 0.5em;
  display: inline-flex;
  margin-left: 1em;
}
@media screen and (max-width: 768px) {
  .grid.imageGroup .gridItem dt small {
    display: block;
    margin-left: 0;
  }
}
.grid.imageGroup .gridItem dt::before {
  content: "＜";
  display: none;
}
.grid.imageGroup .gridItem dt::after {
  content: "＞";
  display: none;
}
.grid.imageGroup .gridItem dd {
  width: 100%;
  height: fit-content;
}
.grid.imageGroup .gridItem dd:nth-of-type(1) {
  order: 3;
}
.grid.imageGroup .gridItem dd:nth-of-type(3) {
  order: 1;
}
.grid.imageGroup .gridItem dd .ex {
  font-size: 0.75em;
  padding: 1.25rem;
}
.grid.imageGroup .gridItem .option {
  padding: 1.25rem 2.5rem;
}
.grid.imageGroup .gridItem .option p {
  margin-bottom: 0.625rem;
}
.grid.imageGroup .gridItem .option ul li {
  margin-bottom: 0.3125rem;
}

.flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.flex .flexItem {
  margin: 0;
  width: 100%;
}

.priceGrid {
  padding-bottom: 0.5em;
  border-bottom: dashed 1px rgba(174, 90, 89, 0.3);
  display: grid;
  grid-template-columns: auto 4em;
  grid-gap: 1em;
}
.priceGrid span:last-child::after {
  content: "円";
  display: inline-block;
}

section.contents {
  min-height: 30vh;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  padding: 12.5rem 0;
}
@media screen and (max-width: 768px) {
  section.contents {
    padding: 10.2564102564vw 10.2564102564vw;
    min-height: 20vh;
  }
}
section.contents .titleWrap,
section.contents p,
section.contents .imageWrap,
section.contents .infoWrap {
  margin-bottom: 1.875rem;
}
section.contents img {
  width: 100%;
  max-width: 100%;
}
section.contents h2 {
  font-size: 1.875rem;
  font-weight: 700;
  margin-bottom: 2em;
}
section.contents h2.title {
  color: #ae5a59;
  font-size: 2.5rem;
}
@media screen and (max-width: 768px) {
  section.contents h2.title {
    font-size: 4.6153846154vw;
  }
}
section.contents h2.title span {
  display: block;
}
section.contents h2.title span.en {
  font-size: 3.125rem;
  margin-bottom: 0.625rem;
}
section.contents h2.title span.jp {
  font-size: 0.875rem;
  font-family: YakuHanJP, "Zen Maru Gothic", sans-serif;
  font-weight: 300;
}
section.contents h3 {
  font-size: 1.625rem;
  font-weight: bold;
  margin-bottom: 1em;
}
section.contents h4 {
  font-size: 1.25rem;
  font-weight: bold;
  margin-bottom: 1em;
}
section .inWrap {
  width: 80%;
  max-width: 1200px;
  margin: auto;
}
@media screen and (max-width: 768px) {
  section .inWrap {
    width: 100%;
  }
}

.bgColor-base {
  background-color: #f7f1e3;
}

.iconBtn {
  width: 3.75rem;
  height: 3.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 0.75rem;
}
.iconBtn span {
  width: 2.5rem;
  height: 2.5rem;
  overflow: hidden;
  text-indent: -100vw;
}
.iconBtn-instagram span {
  background: url(../img/icon/icon_instagram.svg);
}

.btnWrap {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.btnWrap .btnBox {
  min-width: 18.75rem;
  height: 3.75rem;
  background: #ae5a59;
  border-radius: 1.875rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff !important;
  font-size: 1rem;
  font-family: YakuHanJP, "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  margin-left: 0.5em;
  margin-right: 0.5em;
  margin-bottom: 1em;
}

.bgBtn {
  width: 3.75rem;
  height: 3.75rem;
  background: #ae5a59;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff !important;
  font-size: 0.75rem;
  cursor: pointer;
}
.bgBtn.menuBtnItem span {
  display: none;
}
.bgBtn.menuBtnItem hr {
  border: 0;
  width: 1.25rem;
  height: 0.1875rem;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.bgBtn.menuBtnItem hr:nth-of-type(1) {
  margin-top: -0.5rem;
}
.bgBtn.menuBtnItem hr:nth-of-type(3) {
  margin-top: 0.5rem;
}

dl.data dt {
  font-weight: 700;
  margin-bottom: 0.625rem;
}
dl.data dd {
  font-size: 0.9em;
  margin-bottom: 1.25rem;
}

.newsBoxWrap {
  margin-bottom: 6.25rem;
}
.newsBoxWrap dl.newsBox {
  width: 43.75rem;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .newsBoxWrap dl.newsBox {
    width: 100%;
  }
}
.newsBoxWrap dl.newsBox dt {
  margin-bottom: 1.25rem;
}
.newsBoxWrap dl.newsBox dd {
  text-align: left;
}
.newsBoxWrap.list dl.newsBox {
  margin-bottom: 3rem;
}
.newsBoxWrap.list dl.newsBox dt {
  display: none;
}

/* 
================================================================================
loader
================================================================================
*/
#loader {
  position: fixed;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #f7f1e3;
  z-index: 50000;
  transition: all 1000ms ease;
}
body.loadingFinish #loader {
  opacity: 0;
  pointer-events: none;
}
#loader #loadingAnim {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 2.5rem;
  height: 2.5rem;
  transition: all 250ms ease;
}
body.loadingAnimFinish #loader #loadingAnim {
  opacity: 0;
}
#loader #loadingCircle {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 2.5rem;
  height: 2.5rem;
}
#loader #loadingCircle::before, #loader #loadingCircle::after {
  content: "";
  display: block;
  position: absolute;
  top: 0%;
  left: 0%;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: solid 2px rgba(127, 190, 197, 0.3);
  opacity: 0;
  animation-name: loading_circle;
  animation-duration: 2s;
  animation-iteration-count: infinite;
  animation-fill-mode: forwards;
  animation-delay: 300ms;
}
#loader #loadingCircle::after {
  animation-delay: 600ms;
}

@keyframes loading_circle {
  0% {
    transform: scale(0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: scale(2);
    opacity: 0;
  }
}
/* 
================================================================================
body
================================================================================
*/
body {
  font-family: YakuHanJP, "Zen Maru Gothic", sans-serif;
  position: relative;
  width: 100%;
  font-weight: 500;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 0.08em;
  text-align: center;
  overflow: hidden;
  overflow-y: scroll;
  font-feature-settings: "palt";
  color: #626262;
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  text-size-adjust: none;
}
body.design {
  font-family: YakuHanMP, "Zen Old Mincho", serif;
  font-weight: 700;
  color: #ae5a59;
}
body.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
  overflow-y: scroll;
  top: 0;
  left: 0;
}
@media screen and (max-width: 768px) {
  body {
    overflow-y: hidden;
    font-size: 4.1025641026vw;
  }
}

html, body {
  background-color: #f5f2f0;
}

/* 
================================================================================
container,base
================================================================================
*/
#wrapper {
  opacity: 0;
  transition: opacity 1000ms ease 0ms;
}
body.loadingFinish #wrapper {
  opacity: 1;
}
@media screen and (max-width: 768px) {
  #wrapper {
    overflow-x: hidden;
    overflow-y: scroll;
    height: 100%;
  }
}
#wrapper #main {
  margin: auto;
  position: relative;
}
.header {
  position: fixed;
  top: 0;
  width: 100vw;
  margin: auto;
  height: 6.25rem;
  align-items: center;
  justify-content: space-between;
  z-index: 1000;
}
body.design .header {
  display: none;
}
@media screen and (max-width: 768px) {
  body.design .header {
    display: block;
  }
}
.header .inFrame {
  width: 90%;
  margin: auto;
  display: flex;
  height: 100%;
  justify-content: space-between;
  align-items: center;
  z-index: 4;
}
body.menuOpen .header .inFrame .link {
  display: none;
}
.header .menuWrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #ae5a59;
  z-index: 2;
  pointer-events: none;
  opacity: 0;
  transition: all 250ms ease;
}
body.menuOpen .header .menuWrap {
  opacity: 1;
  pointer-events: all;
}
.header .menuWrap .inFrame {
  justify-content: center;
}
.header .menuWrap nav {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  position: relative;
  padding: 1.25rem;
  align-items: center;
  color: #fff;
}
.header .menuWrap nav ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  width: 100%;
  margin: 0 auto 25.641025641vw;
}
.header .menuWrap nav ul li {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
  font-size: 6.6666666667vw;
}
.header .menuWrap nav ul li:not(:last-child) {
  margin: 0 auto 10.2564102564vw;
}
.header .menuWrap nav ul li a {
  padding: 2.5641025641vw;
}
.header .menuWrap nav .tel {
  margin: 0 auto 10.2564102564vw;
}
.header .menuWrap nav .tel svg {
  display: inline-block;
  width: 1.25rem;
  transform: translate(0, 20%);
}

#mainHeader {
  width: 100%;
  height: 3.9375rem;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  overflow: visible;
}
#mainHeader .guide {
  height: 3.9375rem;
}
#mainHeader::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3.9375rem;
  z-index: 3;
}
#mainHeader::after {
  content: "";
  display: block;
  position: absolute;
  top: 3.9375rem;
  left: 0;
  width: 100%;
  height: 0.0625rem;
  background: #fff;
  z-index: 3;
}
body.menuOpen #mainHeader {
  height: 100vh;
}
@media screen and (min-width: 768px) {
  #mainHeader {
    display: none;
  }
}
#mainHeader .siteLogo {
  width: 11.25rem;
  margin: auto;
  z-index: 5;
  position: absolute;
  top: 0.9375rem;
  left: 0.9375rem;
  transform: translate(0%, 0);
  z-index: 10;
}
#mainHeader .siteLogo span {
  display: block;
}
#mainHeader .siteLogo img {
  width: 100%;
}
#mainHeader .siteMenu {
  width: 3.75rem;
  height: 3.9375rem;
  position: fixed;
  top: 0rem;
  right: 0.125rem;
  z-index: 1010;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}
#mainHeader .siteMenu::before, #mainHeader .siteMenu::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.875rem;
  height: 0.1875rem;
  background-color: #fff;
}
#mainHeader .siteMenu::before {
  transform: translate(-50%, -50%) rotate(0deg);
  margin-top: -0.1875rem;
}
#mainHeader .siteMenu::after {
  transform: translate(-50%, -50%) rotate(0deg);
  margin-top: 0.1875rem;
}
body.menuOpen #mainHeader .siteMenu::before {
  margin-top: 0rem;
  transform: translate(-50%, -50%) rotate(-45deg);
}
body.menuOpen #mainHeader .siteMenu::after {
  margin-top: 0rem;
  transform: translate(-50%, -50%) rotate(45deg);
}
#mainHeader .siteMenu span {
  display: none;
}
body.menuOpen #mainHeader .siteMenu .open {
  visibility: hidden;
}
#mainHeader .siteMenu .close {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  visibility: hidden;
}
body.menuOpen #mainHeader .siteMenu .close {
  visibility: visible;
}

.footer {
  margin: auto;
  padding: 1.5625rem 0 0.9375rem 0;
  background-color: #222;
  color: #fff;
  overflow: hidden;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  font-size: 0.625rem;
  width: 100vw;
}
.footer .dytnapark {
  width: 9.625rem;
  margin-bottom: 0.625rem;
}
.footer .dytnapark span {
  display: block;
}
@media screen and (min-width: 768px) {
  .footer {
    width: 390px;
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .footer {
    overflow: hidden;
  }
}
.footer .copyright {
  display: block;
  width: 100%;
  font-family: "Lato", sans-serif;
  font-weight: bold;
  font-size: 10px;
}

section section .item {
  position: absolute;
  border: solid 0px #c00;
}
section section .item.center {
  left: 50%;
  transform: translate(-50%, 0);
}
section section .item img {
  width: 100%;
  height: auto;
}

/* 
================================================================================
sample
================================================================================
*/
div.sample {
  width: 200px;
  height: 200px;
}
body.sample div.sample {
  text-align: center;
}
div.sample:before {
  content: "";
  display: block;
  width: 300px;
  height: 150px;
  background: blue;
}
.sample-1 {
  width: 100px;
}

.sample-2 {
  width: 200px;
}

.sample-3 {
  width: 300px;
}

@keyframes anim {
  0% {
    transform: scale(0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: scale(2);
    opacity: 0;
  }
}
@keyframes scrolldown {
  0% {
    transform: translate(-50%, -100%);
  }
  25% {
    transform: translate(-50%, 0%);
  }
  50% {
    transform: translate(-50%, 100%);
  }
  100% {
    transform: translate(-50%, 100%);
  }
}
/* $break-point以下の時に@contentを適用 */
/* $break-point以上の時に@contentを適用 */
/* $break-point-min以上、$break-point-max以下の時に@contentを適用 */
/* 
================================================================================
game
================================================================================
*/
#contentsAll::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-size: 100% auto;
  opacity: 1;
}
#guideBox {
  background: #333;
  color: #fff;
  width: 12.1875rem;
  height: 0.9375rem;
}

#siteContents section.page, #siteContents section.single, #siteContents section.archive {
  padding-top: 12.5rem;
}
@media screen and (max-width: 768px) {
  #siteContents section.page, #siteContents section.single, #siteContents section.archive {
    padding-top: 51.2820512821vw;
  }
}
#siteContents section .logoHome {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #ae5a59;
  width: 6.25rem;
  height: 6.25rem;
  padding: 1.25rem;
  z-index: 3;
  display: none;
}
body:not(.home) #siteContents section .logoHome {
  display: block;
}
@media screen and (max-width: 768px) {
  body:not(.home) #siteContents section .logoHome {
    display: none;
  }
}
#siteContents section nav {
  display: flex;
  position: absolute;
  top: 0;
  right: 1.25rem;
  z-index: 5;
  padding: 1.25rem;
  align-items: center;
  color: #fff;
}
body:not(.home) #siteContents section nav {
  color: #ae5a59;
}
@media screen and (max-width: 768px) {
  #siteContents section nav {
    display: none;
  }
}
#siteContents section nav ul {
  display: flex;
  list-style: none;
  margin-right: 1.25rem;
}
#siteContents section nav ul li {
  margin-right: 1.25rem;
  margin-bottom: 0;
}
#siteContents section nav .tel {
  margin-right: 2.5rem;
}
#siteContents section nav .tel svg {
  display: inline-block;
  width: 1.25rem;
}
#siteContents section nav .sns svg {
  display: inline-block;
  width: 2.5rem;
}
#siteContents #kv {
  min-height: 100vh;
  padding: 6.25rem;
  background: url(../img/kv/visual.jpg) center center/cover no-repeat;
}
@media screen and (max-width: 768px) {
  #siteContents #kv {
    padding: 5.1282051282vw;
  }
}
#siteContents #kv::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.7);
  z-index: 1;
}
#siteContents #kv h1 {
  width: 75rem;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  #siteContents #kv h1 {
    width: 100%;
  }
}
#siteContents #kv .logo {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #ae5a59;
  width: 6.25rem;
  height: 6.25rem;
  padding: 1.25rem;
  z-index: 3;
  display: none;
}
body:not(.home) #siteContents #kv .logo {
  display: block;
}
#siteContents #about {
  line-height: 2.5;
  padding-top: 6.25rem;
}
@media screen and (max-width: 1300px) {
  #siteContents #about {
    padding-bottom: 6.25rem;
  }
}
@media screen and (max-width: 768px) {
  #siteContents #about {
    padding-top: 20.5128205128vw;
  }
}
#siteContents #about p:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 1300px) {
  #siteContents #about .inWrap {
    grid-template-columns: 1fr 30%;
  }
}
@media screen and (max-width: 768px) {
  #siteContents #about .inWrap {
    grid-template-columns: 1fr;
  }
  #siteContents #about .inWrap br {
    display: none;
  }
}
#siteContents #about .inWrap::before {
  content: "";
  display: block;
  width: 50rem;
  height: 37.5rem;
  position: absolute;
  top: -6.25rem;
  right: -18.75rem;
  background-color: #ae5a59;
}
@media screen and (max-width: 1300px) {
  #siteContents #about .inWrap::before {
    display: none;
    width: 50%;
    height: 110.2564102564vw;
    right: -12.8205128205vw;
  }
}
@media screen and (max-width: 768px) {
  #siteContents #about .inWrap::before {
    display: none;
  }
}
#siteContents #about .inWrap .en {
  margin-bottom: 0;
}
#siteContents #about .inWrap h2 {
  font-size: 1.875rem;
  margin-bottom: 3.125rem;
}
@media screen and (max-width: 768px) {
  #siteContents #about .inWrap h2 {
    font-size: 5.8974358974vw;
    margin-bottom: 10.2564102564vw;
  }
}
#siteContents #siteContentsBG {
  padding-bottom: 0rem;
}
@media screen and (max-width: 768px) {
  #siteContents #siteContentsBG {
    padding-bottom: 51.2820512821vw;
  }
}
#siteContents #siteContentsBG::before {
  content: "";
  display: none;
  width: 75%;
  height: 106.25rem;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(255, 255, 255, 0.5);
}
#siteContents #special {
  background-color: #fff;
  display: none;
}
#siteContents #special .infoWrap .gridItem {
  height: 100%;
  display: block;
  flex-wrap: wrap;
}
#siteContents #special .infoWrap .gridItem:nth-of-type(1) {
  justify-content: center;
  text-align: center;
}
#siteContents #special .infoWrap .gridItem:nth-of-type(1) .price {
  font-size: 2.5rem;
  margin-bottom: 1.25rem;
  line-height: 1.1;
}
#siteContents #special .infoWrap .gridItem:nth-of-type(1) .price small {
  font-size: 0.75rem;
}
#siteContents #special .infoWrap .gridItem:nth-of-type(1) .price span {
  font-weight: 700;
}
#siteContents #special .infoWrap .gridItem:nth-of-type(1) .price span small {
  font-weight: 500;
}
#siteContents #special .infoWrap .gridItem:nth-of-type(2) {
  text-align: left;
}
#siteContents #menu {
  background-color: #fff;
}
#siteContents #menu .setMenu .plus dt {
  margin-bottom: 3.125rem;
  font-size: 1.625rem;
  font-weight: 700;
}
#siteContents #menu .setMenu .plus dd.grid {
  display: inline-flex;
  width: auto;
}
@media screen and (max-width: 768px) {
  #siteContents #menu .imageGroup dt {
    font-size: 5.1282051282vw;
  }
}
@media screen and (max-width: 768px) {
  #siteContents #menu ul.list {
    padding-left: 0vw;
  }
}
#siteContents #access .grid {
  grid-template-columns: auto 1fr;
  grid-gap: 6.25rem;
}
#siteContents #access .grid dt {
  text-align: left;
  height: 100%;
}
#siteContents #access .grid dd iframe {
  width: 100%;
}
#siteContents .unit:not(:last-child) {
  margin-bottom: 12.5rem;
}
@media screen and (max-width: 768px) {
  #siteContents .unit:not(:last-child) {
    margin-bottom: 5.1282051282vw;
  }
}

#siteFooter {
  background-color: #ae5a59;
  color: #fff;
  padding: 12.5rem 0;
}
body.design #siteFooter {
  display: none;
}
@media screen and (max-width: 768px) {
  #siteFooter {
    padding: 10.2564102564vw 10.2564102564vw;
  }
}
#siteFooter .logo {
  width: 12.5rem;
  margin: 0 auto 3.125rem;
}
#siteFooter p:nth-of-type(1) {
  margin-bottom: 6.25rem;
  font-size: 0.875rem;
}
#siteFooter p:nth-of-type(2) {
  margin-bottom: 6.25rem;
  font-size: 0.875rem;
}
#siteFooter p:nth-of-type(3) {
  margin-bottom: 0rem;
  font-size: 0.625rem;
}

#siteContentsArea #kv {
  min-height: 50vh;
  padding: 6.25rem;
}

#siteFooterArea {
  background-color: #ae5a59;
  color: #fff;
  margin-top: 12.5rem;
  padding: 15.625rem 0 0 0;
}
@media screen and (max-width: 768px) {
  #siteFooterArea {
    margin-top: 0rem;
    padding: 0rem 0 0 0;
  }
}
@media screen and (max-width: 768px) {
  #siteFooterArea .inWrap {
    padding: 15.3846153846vw 7.6923076923vw 7.6923076923vw;
  }
}
#siteFooterArea .visual {
  transform: translate(0, 0);
  position: absolute;
  top: -12.5rem;
  width: 100%;
  height: 31.25rem;
  display: flex;
  justify-content: flex-end;
}
@media screen and (max-width: 768px) {
  #siteFooterArea .visual {
    position: relative;
    top: 0rem;
    width: 100%;
    height: 76.9230769231vw;
  }
}
#siteFooterArea .visual:before {
  content: "";
  display: block;
  position: absolute;
  top: -6.25rem;
  right: 0;
  width: 90%;
  height: 100%;
  background: url(../img/footer/shop_bg.jpg) center center/cover;
}
@media screen and (max-width: 768px) {
  #siteFooterArea .visual:before {
    position: relative;
    top: 0rem;
    right: 0;
    width: 100%;
    height: 100%;
  }
}
#siteFooterArea .storeInfo {
  margin-bottom: 3.125rem;
  grid-gap: 6.25rem;
  grid-template-columns: minmax(400px, 1fr) 1fr;
}
@media screen and (max-width: 1200px) {
  #siteFooterArea .storeInfo {
    grid-template-columns: 1fr;
    grid-gap: 1.875rem;
    margin-bottom: 5.1282051282vw;
  }
}
#siteFooterArea .storeInfo:before {
  content: "";
  display: block;
  position: absolute;
  top: -9.375rem;
  right: 0;
  width: 100vw;
  height: 18.75rem;
  background-color: #ae5a59;
}
@media screen and (max-width: 768px) {
  #siteFooterArea .storeInfo:before {
    display: none;
  }
}
#siteFooterArea .storeInfo .gridItem {
  text-align: left;
}
#siteFooterArea .storeInfo .gridItem:nth-of-type(2) {
  padding-top: 6.25rem;
}
@media screen and (max-width: 1200px) {
  #siteFooterArea .storeInfo .gridItem:nth-of-type(2) {
    padding-top: 0rem;
  }
  #siteFooterArea .storeInfo .gridItem:nth-of-type(2) iframe {
    width: 100%;
  }
}
#siteFooterArea .storeInfo .title {
  margin-bottom: 1.25rem;
  display: flex;
  align-items: center;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  #siteFooterArea .storeInfo .title {
    margin-bottom: 10.2564102564vw;
  }
}
#siteFooterArea .storeInfo .title .en {
  font-size: 4.2rem;
  margin-right: 1.25rem;
}
@media screen and (max-width: 768px) {
  #siteFooterArea .storeInfo .title .en {
    font-size: 10.2564102564vw;
    margin-right: 5.1282051282vw;
  }
}
#siteFooterArea .storeInfo .title .jp {
  font-size: 0.8rem;
  transform: translate(0, 50%);
}
@media screen and (max-width: 768px) {
  #siteFooterArea .storeInfo .title .jp {
    font-size: 3.8461538462vw;
    transform: translate(0, 20%);
  }
}
#siteFooterArea .storeInfo .read {
  margin-bottom: 3.75rem;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  #siteFooterArea .storeInfo .read {
    display: none;
  }
}
#siteFooterArea .storeInfo .read .jp {
  font-size: 1.8rem;
  margin-right: 1.25rem;
  font-weight: 300;
}
#siteFooterArea .storeInfo .read .e {
  font-size: 0.8rem;
  font-weight: 300;
}
#siteFooterArea .storeInfo .address {
  font-size: 0.8rem;
  margin-bottom: 2.5rem;
}
#siteFooterArea .storeInfo .infodata {
  font-size: 0.8rem;
}
#siteFooterArea .storeInfo .infodata dl {
  display: grid;
  grid-template-columns: 9.375rem 1fr;
  grid-gap: 1.25rem;
  margin-bottom: 1.25rem;
  padding-bottom: 1.25rem;
  border-bottom: solid 1px #fff;
}
@media screen and (max-width: 768px) {
  #siteFooterArea .storeInfo .infodata dl {
    grid-template-columns: 25.641025641vw 1fr;
  }
}
#siteFooterArea .storeInfo iframe {
  max-width: 100%;
  height: 37.5rem;
  filter: hue-rotate(230deg) invert(0%) saturate(20%);
}
@media screen and (max-width: 768px) {
  #siteFooterArea .storeInfo iframe {
    height: 102.5641025641vw;
  }
}
#siteFooterArea .scheduleWrap {
  margin-bottom: 9.375rem;
}
@media screen and (max-width: 1200px) {
  #siteFooterArea .scheduleWrap {
    margin-bottom: 12.8205128205vw;
  }
}
#siteFooterArea .snsInfo {
  padding: 6.25rem;
  text-align: left;
  background-color: #fff;
  color: #9cafac;
  height: 25rem;
  margin-bottom: -12.5rem;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  #siteFooterArea .snsInfo {
    padding: 10.2564102564vw;
    height: auto;
    margin-bottom: -51.2820512821vw;
  }
}
#siteFooterArea .snsInfo h2 {
  margin-bottom: 3.125rem;
  font-size: 3.75rem;
}
@media screen and (max-width: 768px) {
  #siteFooterArea .snsInfo h2 {
    font-size: 7.6923076923vw;
    text-align: center;
    margin-bottom: 7.6923076923vw;
  }
}
#siteFooterArea .snsInfo p {
  font-size: 0.75rem;
}
@media screen and (max-width: 768px) {
  #siteFooterArea .snsInfo p {
    font-size: 3.0769230769vw;
    text-align: center;
  }
}
#siteFooterArea .snsInfo .icon {
  width: 3.125rem;
}
#siteFooterArea .snsInfo .gridItem:nth-of-type(2) {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
@media screen and (max-width: 768px) {
  #siteFooterArea .snsInfo .gridItem:nth-of-type(2) {
    justify-content: center;
  }
}
#siteFooterArea .contactInfo {
  background-color: #f7f1e3;
  color: #ae5a59;
  padding: 18.75rem 0 6.25rem 0;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  #siteFooterArea .contactInfo {
    padding: 76.9230769231vw 0 25.641025641vw 0;
  }
  body:not(.home) #siteFooterArea .contactInfo {
    padding: 25.641025641vw 0 25.641025641vw 0;
  }
}
#siteFooterArea .contactInfo h2 {
  font-size: 2.8rem;
  margin-bottom: 1.25rem;
}
#siteFooterArea .contactInfo p {
  margin-bottom: 3.125rem;
  font-weight: 300;
}
#siteFooterArea .contactInfo .tel {
  font-size: 2.2rem;
  font-weight: 300;
  margin-bottom: 12.5rem;
}
@media screen and (max-width: 768px) {
  #siteFooterArea .contactInfo .tel {
    margin-bottom: 12.8205128205vw;
  }
}
#siteFooterArea .contactInfo .tel i {
  display: inline-block;
  width: 1.5625rem;
  margin-right: 0.625rem;
}
#siteFooterArea .contactInfo .tel i svg {
  width: 100%;
}
#siteFooterArea .contactInfo .copyright {
  font-size: 0.75rem;
}
#siteFooterArea.fullBG {
  padding-top: 0 !important;
  margin-top: 0;
}
#siteFooterArea.fullBG .visual {
  position: relative;
  transform: translate(0, 0);
  top: 0rem;
  width: 100%;
  height: auto;
  display: flex;
  justify-content: flex-end;
}
@media screen and (max-width: 768px) {
  #siteFooterArea.fullBG .visual {
    position: relative;
    top: 0rem;
    width: 100%;
    height: auto;
  }
}
#siteFooterArea.fullBG .visual:before {
  content: "";
  display: none;
}
#siteFooterArea.fullBG .visual img {
  width: 100%;
}
#siteFooterArea.fullBG .storeInfo {
  padding-top: 6.25rem;
}
@media screen and (max-width: 1200px) {
  #siteFooterArea.fullBG .storeInfo {
    padding-top: 0rem;
  }
}
#siteFooterArea.fullBG .storeInfo:before {
  display: none;
}
@media screen and (max-width: 768px) {
  #siteFooterArea.fullBG .storeInfo:before {
    display: none;
  }
}