@charset "UTF-8";
html {
  font-size: 62.5%;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  overscroll-behavior-y: none;
}

body {
  width: 100%;
  background-color: #fffaf6;
  color: #6a5245;
  font-weight: 400;
  font-family: "Zen Maru Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  line-height: 1.7;
  font-size: 1.6rem;
}

img {
  max-width: 100%;
  height: auto;
  -webkit-backface-visibility: hidden;
  image-rendering: -webkit-optimize-contrast;
}

main {
  margin-bottom: 3em;
}

/* header */
.header {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 90px;
}

@media screen and (min-width: 768px), print {
  .header {
    height: 150px;
  }
}

.header__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity .1s;
}

.fade-layerBody .header__logo {
  opacity: 1;
}

.header__logo img {
  display: block;
  height: 15px;
}

@media screen and (min-width: 768px), print {
  .header__logo img {
    height: auto;
  }
}

.header__logo.-top img {
  height: 20px;
}

@media screen and (min-width: 768px), print {
  .header__logo.-top img {
    height: auto;
  }
}

/* nav */
.nav__toggle {
  position: fixed;
  top: 2%;
  right: 3%;
  z-index: 100;
  display: inline-block;
  width: 36px;
  height: 22px;
  border: none;
  cursor: pointer;
}

@media screen and (min-width: 768px), print {
  .nav__toggle {
    top: 4%;
  }
}

.nav__toggle span {
  position: absolute;
  left: 0;
  display: inline-block;
  width: 100%;
  height: 2px;
  border-radius: 2px;
  background-color: #6a5245;
  transition: all .5s;
}

.nav__toggle span:nth-of-type(1) {
  top: 0;
}

.nav__toggle span:nth-of-type(2) {
  top: 10px;
}

.nav__toggle span:nth-of-type(3) {
  bottom: 0;
}

.is-nav__open .nav__toggle span:nth-of-type(1) {
  -webkit-transform: translateY(10px) rotate(45deg);
  transform: translateY(10px) rotate(45deg);
}

.is-nav__open .nav__toggle span:nth-of-type(2) {
  opacity: 0;
}

.is-nav__open .nav__toggle span:nth-of-type(3) {
  -webkit-transform: translateY(-10px) rotate(-45deg);
  transform: translateY(-10px) rotate(-45deg);
}

@media screen and (min-width: 768px), print {
  .nav__toggle:hover span:nth-of-type(2) {
    width: 80%;
  }
}

.nav {
  position: fixed;
  top: 0;
  right: -100%;
  z-index: 5;
  display: flex;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  align-items: center;
  justify-content: center;
  padding: 3em 0 2em 0;
  background-color: rgba(255, 250, 246, 0.9);
  transition: right .5s;
  -webkit-transform: rotate(0.03deg);
  transform: rotate(0.03deg);
}

@media screen and (min-width: 768px), print {
  .nav {
    min-width: 350px;
    padding: 5em 0 4em 0;
  }
}

@media (orientation: landscape) and (max-width: 896px) {
  .nav {
    height: 100%;
    padding: 10em 0 2em 0;
  }
}

.is-nav__open .nav {
  right: 0;
  transition: right .5s;
}

.nav__list {
  list-style: none;
}

.nav__item {
  position: relative;
  overflow: hidden;
}

.nav__itemSns {
  overflow: hidden;
  padding: 1em;
  text-align: center;
}

.nav__itemSns a {
  display: inline-block;
  margin: 0 .3em;
}

.nav__itemSns a img {
  transition: -webkit-filter .3s;
  transition: filter .3s;
  transition: filter .3s, -webkit-filter .3s;
}

.nav__itemSns a:hover img {
  -webkit-filter: brightness(61%) contrast(130%) grayscale(24%) hue-rotate(238deg) invert(22%) saturate(85%);
  filter: brightness(61%) contrast(130%) grayscale(24%) hue-rotate(238deg) invert(22%) saturate(85%);
}

.nav__item a {
  position: relative;
  display: block;
  padding: .8em 1em;
  text-align: center;
}

@media screen and (min-width: 768px), print {
  .nav__item a {
    padding: 1em;
  }
}

.nav__item a::after {
  position: absolute;
  bottom: 5%;
  left: 50%;
  width: 0;
  height: 1px;
  background: #333;
  content: "";
  transition: width .3s;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  -webkit-transform-origin: center top;
  transform-origin: center top;
}

.nav__item a:hover::after {
  width: 10%;
}

.nav__item a img {
  transition: -webkit-filter .3s;
  transition: filter .3s;
  transition: filter .3s, -webkit-filter .3s;
}

.nav__item a:hover img {
  -webkit-filter: brightness(61%) contrast(130%) grayscale(24%) hue-rotate(238deg) invert(22%) saturate(85%);
  filter: brightness(61%) contrast(130%) grayscale(24%) hue-rotate(238deg) invert(22%) saturate(85%);
}

/* page */
.swiper-container {
  position: relative;
  overflow: hidden;
  opacity: 0;
  transition: opacity .1s;
}

.fade-layerBody .swiper-container {
  opacity: 1;
}

.top__slide .slide-imgCover {
  aspect-ratio: 800 / 518;
}

@media screen and (min-width: 768px), print {
  .top__slide .slide-imgCover {
    max-width: 800px;
    height: 518px;
  }
}

.photo__slide .slide-imgCover {
  aspect-ratio: 800 / 535;
}

@media screen and (min-width: 768px), print {
  .photo__slide .slide-imgCover {
    max-width: 800px;
    height: 535px;
  }
}

.rental__slide .slide-imgCover {
  aspect-ratio: 800 / 535;
}

@media screen and (min-width: 768px), print {
  .rental__slide .slide-imgCover {
    max-width: 800px;
    height: 535px;
  }
}

.slide-imgCover {
  overflow: hidden;
  max-width: 800px;
  margin: 0 auto;
}

.slide-img {
  display: block;
  transition: 7s 1s ease-out;
  -webkit-transform: scale(1);
  transform: scale(1);
}

.slide-img img {
  width: 100%;
}

.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img {
  -webkit-transform: scale(1.08);
  transform: scale(1.08);
}

.swiper-pagination-bullet {
  background: #6a5245 !important;
  opacity: 1 !important;
}

.swiper-pagination-bullet-active {
  background: #fff !important;
}

.swiper-pagination {
  z-index: 1 !important;
  font-size: 1.1rem;
}

.top__mv {
  opacity: 0;
  transition: opacity .1s;
}

@media screen and (min-width: 768px), print {
  .top__mv {
    max-width: 800px;
    margin: 0 auto;
  }
}

.fade-layerBody .top__mv {
  opacity: 1;
}

.page__mvCat {
  margin-top: 2.8em;
  margin-bottom: 3em;
  text-align: center;
  line-height: 1.8;
  font-size: 1.6rem;
}

@media screen and (min-width: 768px), print {
  .page__mvCat {
    font-size: 2.1rem;
  }
}

.page__mvCat > p {
  margin-top: 2em;
}

.page__subTtl {
  margin-bottom: 1.2em;
  text-align: center;
}

.page__subTtl > img {
  height: 17px;
}

@media screen and (min-width: 768px), print {
  .page__subTtl > img {
    height: auto;
  }
}

.page__conTtl {
  margin-bottom: 1.2em;
}

.page__conTtl > img {
  height: 54px;
}

@media screen and (min-width: 768px), print {
  .page__conTtl > img {
    height: auto;
  }
}

.page__servises {
  list-style: none;
  text-align: center;
}

.page__servises > li {
  margin: .8em 0;
}

.page__servises > li:hover img {
  -webkit-filter: brightness(61%) contrast(130%) grayscale(24%) hue-rotate(238deg) invert(22%) saturate(85%);
  filter: brightness(61%) contrast(130%) grayscale(24%) hue-rotate(238deg) invert(22%) saturate(85%);
}

.page__servises > img {
  height: 18px;
  transition: -webkit-filter .3s;
  transition: filter .3s;
  transition: filter .3s, -webkit-filter .3s;
}

.page__staff {
  text-align: center;
}

.page__staffImg {
  margin-top: 1em;
  text-align: center;
}

@media screen and (min-width: 768px), print {
  .page__staffImg {
    width: auto;
    margin-top: .5em;
  }
}

.page__staffImg > img {
  width: 110px;
}

@media screen and (min-width: 768px), print {
  .page__staffImg > img {
    width: 185px;
  }
}

.page__staffItem {
  padding-left: .8em;
  text-align: left;
}

@media screen and (min-width: 768px), print {
  .page__staffItem {
    padding: 0 2em;
  }
}

.page__staffName {
  font-size: 1.9rem;
}

@media screen and (min-width: 768px), print {
  .page__staffName {
    font-size: 2.1rem;
  }
}

.page__staffText {
  margin-top: 1em;
  font-size: 1.2rem;
}

@media screen and (min-width: 768px), print {
  .page__staffText {
    font-size: 1.6rem;
  }
}

.page__contact {
  text-align: center;
}

.page__contactName {
  font-weight: 500;
  font-size: 1.9rem;
}

.page__contactText {
  margin-top: 1em;
  font-size: 1.4rem;
}

@media screen and (min-width: 768px), print {
  .page__contactText {
    font-size: 1.6rem;
  }
}

.page__contactMap {
  margin: 2em auto 0 auto;
  aspect-ratio: 16 / 9;
}

@media screen and (min-width: 768px), print {
  .page__contactMap {
    width: 680px;
    height: 350px;
  }
}

.page__contactMap > iframe {
  width: 100%;
  height: 100%;
  -webkit-filter: hue-rotate(330deg);
  filter: hue-rotate(330deg);
}

.page__list {
  margin-left: .5em;
  list-style: none;
  font-size: 1.5rem;
}

@media screen and (min-width: 768px), print {
  .page__list {
    margin-left: 2.5em;
    font-size: 1.9rem;
  }
}

.page__list > li {
  position: relative;
  margin-bottom: .8em;
  padding-left: 1.3em;
  letter-spacing: -.05em;
}

@media screen and (min-width: 768px), print {
  .page__list > li {
    margin-bottom: 1.5em;
    padding-left: 1.5em;
    letter-spacing: normal;
  }
}

.page__list > li::before {
  position: absolute;
  top: .1em;
  left: 0;
  width: 15px;
  content: url(../img/common/icon-kira.svg);
}

.page__list--small {
  margin-top: .5em;
  font-size: 1.3rem;
}

@media screen and (min-width: 768px), print {
  .page__list--small {
    font-size: 1.6rem;
  }
}

.page__listKome {
  margin-left: 2.5em;
  list-style: none;
  font-size: 1.2rem;
}

@media screen and (min-width: 768px), print {
  .page__listKome {
    margin-left: 5em;
    font-size: 1.4rem;
  }
}

.page__listKome > li {
  position: relative;
  margin-bottom: .5em;
  padding-left: 1.2em;
  line-height: 1.4;
}

@media screen and (min-width: 768px), print {
  .page__listKome > li {
    margin-bottom: 1em;
  }
}

.page__listKome > li::before {
  position: absolute;
  top: .1em;
  left: 0;
  content: "※";
}

.page__price {
  display: inline-block;
  margin-top: .5em;
  border-bottom: 2px solid #6a5245;
  line-height: 1.4;
  font-size: 2.1rem;
}

@media screen and (min-width: 768px), print {
  .page__price {
    font-size: 2.5rem;
  }
}

.page__price > em {
  position: relative;
  top: -.2em;
  display: inline-block;
  margin-left: .2em;
  font-style: normal;
  font-size: 1.2rem;
}

.page__flow {
  position: relative;
  margin-left: 1em;
  list-style: none;
  letter-spacing: -.01em;
  font-size: 1.5rem;
}

@media screen and (min-width: 768px), print {
  .page__flow {
    margin-left: 5.5em;
    letter-spacing: normal;
    font-size: 1.8rem;
  }
}

.page__flow::before {
  position: absolute;
  top: 0;
  left: -10px;
  width: 2px;
  height: 95%;
  background-color: #6a5245;
  content: "";
}

@media screen and (min-width: 768px), print {
  .page__flow::before {
    left: -45px;
  }
}

.page__flow > li {
  position: relative;
  margin-bottom: .6em;
  padding-bottom: 2em;
}

.page__flow > li::before {
  position: absolute;
  bottom: -.3em;
  left: .5em;
  content: url(../img/common/arrow.png);
}

.page__flow > li:last-child::before {
  content: none;
}

.page__flow--small {
  font-size: 1.3rem;
}

@media screen and (min-width: 768px), print {
  .page__flow--small {
    font-size: 1.5rem;
  }
}

.comming {
  height: 200px;
  font-size: 2rem;
}

@media screen and (min-width: 768px), print {
  .comming {
    height: 350px;
    font-size: 3rem;
  }
}

/* footer */
.footer {
  margin-bottom: 2em;
  text-align: center;
}

@media screen and (min-width: 768px), print {
  .footer {
    margin-bottom: 4em;
  }
}

.footer__sns {
  list-style: none;
}

.footer__snsItem {
  margin: 0 .3em;
}

.footer__snsItem:nth-of-type(2) {
  margin-top: 2px;
}

.footer__snsItem img {
  transition: -webkit-filter .3s;
  transition: filter .3s;
  transition: filter .3s, -webkit-filter .3s;
}

.footer__snsItem:hover img {
  -webkit-filter: brightness(61%) contrast(130%) grayscale(24%) hue-rotate(238deg) invert(22%) saturate(85%);
  filter: brightness(61%) contrast(130%) grayscale(24%) hue-rotate(238deg) invert(22%) saturate(85%);
}

.footer__copy {
  margin-top: 1.6em;
  font-size: 1.5rem;
}

.footer__pagetop {
  position: fixed;
  right: 0;
  bottom: -5em;
  z-index: 1;
  overflow: hidden;
  width: 40px;
  height: 40px;
  background: #6a5245;
  text-align: center;
  font-weight: bold;
  cursor: pointer;
  transition: all .5s;
  font-size: 1.2rem;
}

.footer__pagetop::after {
  position: absolute;
  top: 55%;
  left: 50%;
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  content: "";
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(-45deg);
  transform: translateX(-50%) translateY(-50%) rotate(-45deg);
}

.footer__pagetop:hover {
  background-color: #333;
}

.footer__pagetop.is__pagetop {
  bottom: 0;
}

/***** allpage parts *****/
/* wrap */
.wrap {
  margin-right: 1em;
  margin-bottom: 3em;
  margin-left: 1em;
}

@media screen and (min-width: 768px), print {
  .wrap {
    max-width: 680px;
    margin-right: auto;
    margin-bottom: 4.5em;
    margin-left: auto;
  }
}

/* flex */
.flex {
  display: flex;
  flex-wrap: wrap;
}

.flex--cc {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
}

.flex--ct {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

/* scrollAnimation */
.scroll-wrap {
  opacity: 0;
  -webkit-transform: translateY(30px);
  transform: translateY(30px);
}

.scroll-wrap.active {
  opacity: 1;
  transition: opacity 1s ease, -webkit-transform 1s ease;
  transition: transform 1s ease, opacity 1s ease;
  transition: transform 1s ease, opacity 1s ease, -webkit-transform 1s ease;
  -webkit-transform: translateY(0%);
  transform: translateY(0%);
}

/* intorFadein */
.fade-layer {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 5;
  width: 100%;
  height: 100%;
  background: #fffaf6;
  -webkit-animation: fadeIn 2s both;
  animation: fadeIn 2s both;
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

/***** allpage utility *****/
/* align */
.align--left {
  text-align: left;
}

.align--center {
  text-align: center;
}

.align--right {
  text-align: right;
}

/* margin */
.mt05 {
  margin-top: .5em;
}

.mt1 {
  margin-top: 1em;
}

.mt2 {
  margin-top: 1em;
}

@media screen and (min-width: 768px), print {
  .mt2 {
    margin-top: 2em;
  }
}

.mt3 {
  margin-top: 1.5em;
}

@media screen and (min-width: 768px), print {
  .mt3 {
    margin-top: 3em;
  }
}

.mt4 {
  margin-top: 2em;
}

@media screen and (min-width: 768px), print {
  .mt4 {
    margin-top: 4em;
  }
}

.mt5 {
  margin-top: 2.5em;
}

@media screen and (min-width: 768px), print {
  .mt5 {
    margin-top: 5em;
  }
}

/* display */
@media screen and (min-width: 768px) {
  .display--sp {
    display: none !important;
  }
}

@media screen and (min-width: 1200px) {
  .display--tab {
    display: none !important;
  }
}

.display--tabOnly {
  display: none;
}

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

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

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