@charset 'UTF-8';

/*
  scssでカスタマイズしています。
  css編集するときはscssから変更するか、cssファイルを直接編集する場合は
  編集以降はcssのみ編集してください。
*/

/*---------------	リセットcss	---------------*/

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  font-size: 100%;
  font-weight: normal;
  font-style: normal;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  border: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

html {
  overflow-y: scroll;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}

input,
textarea {
  margin: 0;
  padding: 0;
}

ol,
ul {
  list-style: none;
}

table {
  border-spacing: 0;
  border-collapse: collapse;
}

caption,
th {
  text-align: left;
}

a:focus {
  outline: none;
}

input,
textarea,
button {
  border: none;
  border-radius: 0;
  background-color: transparent;
  /* -webkit-appearance: none; */
}

body {
  overflow: hidden;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.hidden {
  display: none;
}

/* ========================================
	Component(共通利用の部品。幅とか色は持たせない)
	命名規則: .c-
========================================= */

.c-container {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  max-width: 1320px;
  height: auto;
  margin: 0 auto;
  padding: 0 1.25rem;
}

.c-container--small {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  max-width: 1130px;
  height: auto;
  margin: 0 auto;
  padding: 0 1.25rem;
}

/*----- レスポンシブ表示切り替え -----*/

.c-pc_only {
  display: block !important;
}

.c-pc_only--flex {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}

.c-sp_only {
  display: none !important;
}

p::-moz-selection,
h1::-moz-selection,
h2::-moz-selection,
h3::-moz-selection,
h4::-moz-selection,
h5::-moz-selection,
a::-moz-selection,
dt::-moz-selection,
dd::-moz-selection,
span::-moz-selection {
  color: #fff;
  background-color: #151623;
}

p::selection,
h1::selection,
h2::selection,
h3::selection,
h4::selection,
h5::selection,
a::selection,
dt::selection,
dd::selection,
span::selection {
  color: #fff;
  background-color: #151623;
}

/*----- ヘッダー -----*/

.c-header__menubtn {
  position: fixed;
  z-index: 500;
  top: 1.25rem;
  left: 1.25rem;
  width: 2.5rem;
  height: auto;
  padding: 0;
}

.c-header__menubtn.u-top {
  visibility: 0;
  -webkit-transition: opacity 1s, visibility 1s;
  transition: opacity 1s, visibility 1s;
  opacity: 0;
}

.c-header__menubtn.u-top.js-display {
  visibility: visible;
  opacity: 1;
}

.c-header__menubtn.u-close {
  position: absolute;
  z-index: 500;
  top: 1.5625rem;
  left: 1.25rem;
}

.c-header__menulogo {
  position: absolute;
  z-index: 1001;
  top: 1.25rem;
  right: 1.25rem;
  width: 5rem;
  height: auto;
}

.c-header__menulogo:hover {
  opacity: .7;
}

.c-header__hamburgermenu {
  font-family: 'Cardo', 'Yu Mincho Light', 'YuMincho', 'Yu Mincho', '游明朝体', 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', sans-serif;
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  visibility: hidden;
  width: 100vw;
  height: 100vh;
  -webkit-transition: opacity .3s, visibility .3s;
  transition: opacity .3s, visibility .3s;
  opacity: 0;
  color: #fff;
  background-color: #151623;
}

.c-header__hamburgermenu.js-active {
  visibility: visible;
  opacity: 1;
}

.c-header__menu__linkarea {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 50%;
  height: 100%;
  padding-left: 15.71429%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.c-header__menu__links {
  width: 100%;
  height: auto;
}

.c-header__menu__link {
  line-height: 1;
  position: relative;
  z-index: 1;
  display: block;
  -webkit-transition: opacity .5s, -webkit-transform .5s;
  transition: opacity .5s, -webkit-transform .5s;
  transition: opacity .5s, transform .5s;
  transition: opacity .5s, transform .5s, -webkit-transform .5s;
  -webkit-transform: translateY(10px);
  transform: translateY(10px);
  opacity: 0;
}

.c-header__menu__link:not(:first-child) {
  margin-top: 1.25rem;
}

.c-header__menu__link:not(:last-child) a {
  -webkit-transition: letter-spacing .3s;
  transition: letter-spacing .3s;
}

.c-header__menu__link:not(:last-child):hover {
  z-index: 9999;
}

.c-header__menu__link:not(:last-child):hover a {
  letter-spacing: .22em;
}

.c-header__menu__link a {
  font-size: 3.5rem;
  line-height: 1;
  display: inline-block;
  text-decoration: none;
  letter-spacing: .1em;
  color: #fff;
}

.c-header__menu__link.js-display {
  -webkit-transform: initial;
  transform: initial;
  opacity: 1;
}

.c-header__menu__link.js-display.js-hover {
  opacity: .3;
}

.c-header__menu__link--flex {
  line-height: 1;
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 4.25rem;
  -webkit-transition: opacity .5s, -webkit-transform .5s;
  transition: opacity .5s, -webkit-transform .5s;
  transition: opacity .5s, transform .5s;
  transition: opacity .5s, transform .5s, -webkit-transform .5s;
  -webkit-transform: translateY(10px);
  transform: translateY(10px);
  opacity: 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.c-header__menu__link--flex a {
  font-size: 3.5rem;
  line-height: 1;
  display: inline-block;
  text-decoration: none;
  letter-spacing: .1em;
  color: #fff;
}

.c-header__menu__link--flex.js-display {
  -webkit-transform: initial;
  transform: initial;
  opacity: 1;
}

.c-header__menu__filter {
  position: absolute;
  z-index: 1000;
  top: 0;
  left: 0;
  visibility: hidden;
  width: 100%;
  height: 100%;
  -webkit-transition: opacity .3s, visibility .3s;
  transition: opacity .3s, visibility .3s;
  pointer-events: none;
  opacity: 0;
  background: rgba(0, 0, 0, .3);
}

.c-header__menu__filter.js-display {
  visibility: visible;
  opacity: 1;
}

.c-header__menu__link__bottom__left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-right: 2rem;
  padding-right: 2rem;
  border-right: 1px solid #7f7f7f;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.c-header__menu__link__icon {
  height: auto;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
}

.c-header__menu__link__icon:hover {
  opacity: .7;
}

.c-header__menu__link--flex a.c-header__menu__grouplink {
  font-size: calc(16/16*1rem);
  font-weight: 400;
  line-height: 1 !important;
  letter-spacing: 0.1em;
}

.c-header__menu__link__logo {
  width: 6.25rem;
  height: auto;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
}

.c-header__menu__link__logo:hover {
  opacity: .7;
}

.c-header__menu__imgarea {
  position: relative;
  z-index: 1000;
  width: 50%;
  height: 100%;
}

.c-header__menu__imgboxes {
  position: relative;
  width: 100%;
  height: 100%;
}

.c-header__menu__imgbox {
  position: absolute;
  top: 0;
  left: 0;
  visibility: hidden;
  width: 100%;
  height: 100%;
  -webkit-transition: opacity .3s, visibility .3s;
  transition: opacity .3s, visibility .3s;
  opacity: 0;
}

.c-header__menu__imgbox.js-display {
  visibility: visible;
  opacity: 1;
}

.c-header__menu__imgbox:nth-child(1) {
  background: url(../images/common/bg-menu_img1.jpg) 50% 50%/cover no-repeat;
}

.c-header__menu__imgbox:nth-child(2) {
  background: url(../images/common/bg-menu_img2.jpg) 50% 50%/cover no-repeat;
}

.c-header__menu__imgbox:nth-child(3) {
  background: url(../images/common/bg-menu_img3.jpg) 50% 50%/cover no-repeat;
}

.c-header__menu__imgbox:nth-child(4) {
  background: url(../images/common/bg-menu_img4.jpg) 50% 50%/cover no-repeat;
}

.c-header__menu__imgbox:nth-child(5) {
  background: url(../images/common/bg-menu_img5.jpg) 50% 50%/cover no-repeat;
}

.c-header__menu__imgbox:nth-child(6) {
  background: url(../images/common/bg-menu_img6.jpg) 50% 50%/cover no-repeat;
}

.c-header__menu__imgbox:nth-child(7) {
  background: url(../images/common/bg-menu_img7.jpg) 50% 50%/cover no-repeat;
}

.c-header__menu__imgbox:nth-child(8) {
  background: url(../images/common/bg-menu_img8.jpg) 50% 50%/cover no-repeat;
}

.c-header__logo {
  /* position: fixed; */
  /* z-index: 1000; */
  /* top: 2.5rem; */
  /* left: 50%; */
  display: block;
  /* width: 9.375rem; */
  width: 14rem;
  /* height: auto; */
  margin: 3rem auto;
  -webkit-transition: opacity .3s, visibility .3s;
  transition: opacity .3s, visibility .3s;
  /* -webkit-transform: translateX(-50%); */
  /* transform: translateX(-50%); */
}

.c-header__logo:hover {
  opacity: .7;
}

.c-header__logo.js-hidden {
  visibility: hidden;
  opacity: 0;
}

.c-header__smalllogo {
  position: fixed;
  z-index: 1000;
  top: 1.25rem;
  right: 1.25rem;
  visibility: hidden;
  width: 5rem;
  height: 2rem;
  -webkit-transition: opacity .3s, visibility .3s;
  transition: opacity .3s, visibility .3s;
  opacity: 0;
  background: url(../images/common/logo-hente.svg) 50% 50%/cover no-repeat;
}

.c-header__smalllogo:hover {
  opacity: .7;
}

.c-header__smalllogo.js-colorchanged {
  background: url(../images/common/logo-menu_hente.svg) 50% 50%/cover no-repeat;
}

.c-header__smalllogo.js-visible {
  visibility: visible;
  opacity: 1;
}

.c-page__ornament {
  font-family: 'Cardo', 'Yu Mincho Light', 'YuMincho', 'Yu Mincho', '游明朝体', 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', sans-serif;
  font-size: 12px;
  line-height: 1;
  position: fixed;
  z-index: 1000;
  top: 50%;
  left: 0;
  -webkit-transition: color .3s;
  transition: color .3s;
  -webkit-transform: translateY(-50%) rotate(-90deg);
  transform: translateY(-50%) rotate(-90deg);
  letter-spacing: .1em;
  color: #333;
}

.c-page__ornament.js-colorchanged {
  color: #fff;
}

/*----- フッター -----*/

.c-linkbtn__to_reserve {
  font-family: 'Cardo', 'Yu Mincho Light', 'YuMincho', 'Yu Mincho', '游明朝体', 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', sans-serif;
  line-height: 1;
  position: absolute;
  z-index: 100;
  right: 60px;
  bottom: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 92px;
  height: 92px;
  letter-spacing: .1em;
  border-radius: 50%;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.c-linkbtn__to_reserve:hover {
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
}

.c-linkbtn__to_reserve__text {
  font-size: 12px;
  line-height: 1;
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0;
  -webkit-transition: color .3s;
  transition: color .3s;
  -webkit-animation: rotateAnim 10s linear infinite;
  animation: rotateAnim 10s linear infinite;
  text-align: center;
  text-decoration: none;
  letter-spacing: .1em;
  color: #333;
}

.c-linkbtn__to_reserve__text.js-colorchanged {
  color: #fff;
}

.c-linkbtn__to_reserve__text span {
  position: absolute;
  top: 0;
  left: calc(50% - 6px);
  display: inline-block;
  width: 10px;
  height: 46px;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom;
}

.c-linkbtn__to_reserve__text span:nth-child(1) {
  -webkit-transform: rotate(10deg);
  transform: rotate(10deg);
}

.c-linkbtn__to_reserve__text span:nth-child(2) {
  -webkit-transform: rotate(20deg);
  transform: rotate(20deg);
}

.c-linkbtn__to_reserve__text span:nth-child(3) {
  -webkit-transform: rotate(30deg);
  transform: rotate(30deg);
}

.c-linkbtn__to_reserve__text span:nth-child(4) {
  -webkit-transform: rotate(40deg);
  transform: rotate(40deg);
}

.c-linkbtn__to_reserve__text span:nth-child(5) {
  -webkit-transform: rotate(50deg);
  transform: rotate(50deg);
}

.c-linkbtn__to_reserve__text span:nth-child(6) {
  -webkit-transform: rotate(60deg);
  transform: rotate(60deg);
}

.c-linkbtn__to_reserve__text span:nth-child(7) {
  -webkit-transform: rotate(70deg);
  transform: rotate(70deg);
}

.c-linkbtn__to_reserve__text span:nth-child(8) {
  -webkit-transform: rotate(80deg);
  transform: rotate(80deg);
}

.c-linkbtn__to_reserve__text span:nth-child(9) {
  -webkit-transform: rotate(93deg);
  transform: rotate(93deg);
}

.c-linkbtn__to_reserve__text span:nth-child(10) {
  -webkit-transform: rotate(103deg);
  transform: rotate(103deg);
}

.c-linkbtn__to_reserve__text span:nth-child(11) {
  -webkit-transform: rotate(113deg);
  transform: rotate(113deg);
}

.c-linkbtn__to_reserve__text span:nth-child(12) {
  -webkit-transform: rotate(123deg);
  transform: rotate(123deg);
}

.c-linkbtn__to_reserve__text span:nth-child(13) {
  -webkit-transform: rotate(133deg);
  transform: rotate(133deg);
}

.c-linkbtn__to_reserve__text span:nth-child(14) {
  -webkit-transform: rotate(143deg);
  transform: rotate(143deg);
}

.c-linkbtn__to_reserve__text span:nth-child(15) {
  -webkit-transform: rotate(153deg);
  transform: rotate(153deg);
}

.c-linkbtn__to_reserve__text span:nth-child(16) {
  -webkit-transform: rotate(163deg);
  transform: rotate(163deg);
}

.c-linkbtn__to_reserve__text span:nth-child(17) {
  -webkit-transform: rotate(173deg);
  transform: rotate(173deg);
}

.c-linkbtn__to_reserve__text span:nth-child(18) {
  -webkit-transform: rotate(182deg);
  transform: rotate(182deg);
}

.c-linkbtn__to_reserve__text span:nth-child(19) {
  -webkit-transform: rotate(190deg);
  transform: rotate(190deg);
}

.c-linkbtn__to_reserve__text span:nth-child(20) {
  -webkit-transform: rotate(200deg);
  transform: rotate(200deg);
}

.c-linkbtn__to_reserve__text span:nth-child(21) {
  -webkit-transform: rotate(208deg);
  transform: rotate(208deg);
}

.c-linkbtn__to_reserve__text span:nth-child(22) {
  -webkit-transform: rotate(223deg);
  transform: rotate(223deg);
}

.c-linkbtn__to_reserve__text span:nth-child(23) {
  -webkit-transform: rotate(224deg);
  transform: rotate(224deg);
}

.c-linkbtn__to_reserve__text span:nth-child(24) {
  -webkit-transform: rotate(233deg);
  transform: rotate(233deg);
}

@-webkit-keyframes rotateAnim {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  50% {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }

  /* ここを0degにしてしまうと、180度の地点で逆方向の回転になるので注意 */}

@keyframes rotateAnim {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  50% {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }

  /* ここを0degにしてしまうと、180度の地点で逆方向の回転になるので注意 */}

.c-footer {
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 3.21875rem 0 3.65625rem;
  border-top: 1px solid #000;
}

.c-footer .c-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.c-footer__copyrightbox {
  font-family: 'Cardo', 'Yu Mincho Light', 'YuMincho', 'Yu Mincho', '游明朝体', 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', sans-serif;
  width: 17.5rem;
}

.c-footer__copyrightbox__title {
  font-size: calc(11/16*1rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
}

.c-footer__copyrightbox__text {
  margin: calc(12/16*1rem) auto 0 0;
  font-size: calc(12/16*1rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
  & a {
    text-decoration: none;
    color: #333;
    font-weight: 400;
    text-transform: uppercase;
    &:hover {
      opacity: .7;
    }
  }
}

.c-footer__copyright {
  font-size: .75rem;
  line-height: calc(23 / 12);
  display: block;
  margin: calc(33/16*1rem) auto 0 0;
  letter-spacing: .05em;
  line-height: 1;
  text-transform: uppercase;
}

.c-footer__infoboxes {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-right: 1.25rem;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.c-footer__infobox:not(:first-child) {
  margin-left: 14.9%;
}

.c-footer__infobox__title {
  font-family: 'Cardo', 'Yu Mincho Light', 'YuMincho', 'Yu Mincho', '游明朝体', 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', sans-serif;
  font-size: .75rem;
  line-height: calc(23 / 12);
  letter-spacing: .05em;
}

.c-footer__infobox__text {
  font-family: 'Cardo', 'Yu Mincho Light', 'YuMincho', 'Yu Mincho', '游明朝体', 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', sans-serif;
  font-size: .75rem;
  line-height: calc(23 / 12);
}

.c-footer__infobox__text a {
  -webkit-transition: .3s;
  transition: .3s;
  text-decoration: none;
  color: #333;
}

.c-footer__infobox__text a:hover {
  opacity: .7;
}

/*----- 下層ページ遷移アニメーション -----*/

.c-splash {
  position: fixed;
  z-index: 9999999;
  width: 100%;
  height: 100%;
  text-align: center;
  color: #fff;
  background: #151623;
}

.c-splash__logo {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 30px;
  height: 30px;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.c-splash__bg {
  display: none;
}

body.js-appear .c-splash__bg {
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100vh;
  content: '';
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-animation-name: PageAnime;
  animation-name: PageAnime;
  -webkit-animation-duration: 1.2s;
  animation-duration: 1.2s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  background-color: #151623;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

@-webkit-keyframes PageAnime {
  0% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: left;
    transform-origin: left;
  }

  50% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: left;
    transform-origin: left;
  }

  50.001% {
    -webkit-transform-origin: right;
    transform-origin: right;
  }

  100% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: right;
    transform-origin: right;
  }
}

@keyframes PageAnime {
  0% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: left;
    transform-origin: left;
  }

  50% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: left;
    transform-origin: left;
  }

  50.001% {
    -webkit-transform-origin: right;
    transform-origin: right;
  }

  100% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: right;
    transform-origin: right;
  }
}

.c-content {
  opacity: 0;
}

body.js-appear .c-content {
  -webkit-animation-name: PageAnimeAppear;
  animation-name: PageAnimeAppear;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-delay: .8s;
  animation-delay: .8s;
  opacity: 0;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

@-webkit-keyframes PageAnimeAppear {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes PageAnimeAppear {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

/*----- js class -----*/

.scroll_trigger--display {
  visibility: hidden;
  -webkit-transition: .5s;
  transition: .5s;
  opacity: 0;
}

.scroll_trigger--display.js-display {
  visibility: visible;
  opacity: 1;
}

.scroll_trigger--hidden {
  visibility: visible;
  -webkit-transition: .5s;
  transition: .5s;
  opacity: 1;
}

.scroll_trigger--hidden.js-hidden {
  visibility: hidden;
  opacity: 0;
}

.js-display_first {
  visibility: hidden;
  -webkit-transition: .8s;
  transition: .8s;
  opacity: 0;
}

.js-display_first.js-display {
  visibility: visible;
  opacity: 1;
}

.js-display_second {
  visibility: hidden;
  -webkit-transition: .8s;
  transition: .8s;
  opacity: 0;
}

.js-display_second.js-display {
  visibility: visible;
  opacity: 1;
}

.js-display_third {
  visibility: hidden;
  -webkit-transition: .8s;
  transition: .8s;
  opacity: 0;
}

.js-display_third.js-display {
  visibility: visible;
  opacity: 1;
}

.c-slideup {
  -webkit-transition: all 1.5s ease;
  transition: all 1.5s ease;
  -webkit-transform: translate3d(0, 3.125rem, 0);
  transform: translate3d(0, 3.125rem, 0);
  opacity: 0;
}

.c-slideup.js-active {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

.c-fadeIn {
  -webkit-transition: all 1.5s ease;
  transition: all 1.5s ease;
  opacity: 0;
}

.c-fadeIn.js-active {
  opacity: 1;
}

.js-sclollslide {
  position: relative;
  overflow: hidden;
  -webkit-transition: color 0s linear .5s;
  transition: color 0s linear .5s;
  color: rgba(51, 51, 51, 0);
}

.js-sclollslide::before {
  position: absolute;
  top: 0;
  right: 100%;
  bottom: 0;
  left: 0;
  content: '';
  -webkit-transition: right .3s cubic-bezier(1, 0, 1, 1) 0s, -webkit-transform .3s cubic-bezier(0, 0, 0, 1) .55s;
  transition: right .3s cubic-bezier(1, 0, 1, 1) 0s, -webkit-transform .3s cubic-bezier(0, 0, 0, 1) .55s;
  transition: right .3s cubic-bezier(1, 0, 1, 1) 0s, transform .3s cubic-bezier(0, 0, 0, 1) .55s;
  transition: right .3s cubic-bezier(1, 0, 1, 1) 0s, transform .3s cubic-bezier(0, 0, 0, 1) .55s, -webkit-transform .3s cubic-bezier(0, 0, 0, 1) .55s;
  pointer-events: none;
  background-color: #000;
}

.js-sclollslide.js-active {
  color: #333;
}

.js-sclollslide.js-active::before {
  right: 0;
  -webkit-transform: translateX(101%);
  transform: translateX(101%);
}

.js-colorchanged .js-sclollslide.js-active {
  color: white;
}

/*----- Photoページ共通class -----*/

.c-photo__section__titlebox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin: 0 auto 0 12.5%;
  padding: .5rem 0;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.c-photo__section__title {
  font-family: 'Cardo', 'Yu Mincho Light', 'YuMincho', 'Yu Mincho', '游明朝体', 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', sans-serif;
  font-size: 1.125rem;
  line-height: 1;
  display: inline-block;
  letter-spacing: .025em;
  text-transform: uppercase;
}

.c-photo__section__title__text {
  font-family: 'Cardo', 'Yu Mincho Light', 'YuMincho', 'Yu Mincho', '游明朝体', 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', sans-serif;
  font-size: .875rem;
  font-style: italic;
  line-height: 1;
  display: inline-block;
  margin-top: .875rem;
  letter-spacing: .025em;
}

.c-photo__img {
  position: relative;
  display: block;
  overflow: hidden;
  width: 100%;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
}

.c-photo__img img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  -webkit-transition: .4s ease-out;
  transition: .4s ease-out;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.c-photo__img:hover {
  opacity: .9;
}

.c-photo__img:hover img {
  -webkit-transform: translate(-50%, -50%) scale(1.1);
  transform: translate(-50%, -50%) scale(1.1);
}

/*----- Guideページ共通class -----*/

.c-guide__section__titlebox {
  width: 10rem;
  height: auto;
}

.c-guide__section__titlebox::after {
  display: block;
  width: 2.5rem;
  height: 1px;
  margin-top: 19px;
  content: '';
  -webkit-transition: background-color .5s;
  transition: background-color .5s;
  background-color: #333;
}

.c-guide__section__title {
  font-family: 'Cardo', 'Yu Mincho Light', 'YuMincho', 'Yu Mincho', '游明朝体', 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', sans-serif;
  font-size: 1.125rem;
  line-height: 1;
  position: relative;
  display: inline-block;
  -webkit-transition: color .5s;
  transition: color .5s;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0);
}

.c-guide__section__title.u-fv {
  color: #000;
}

.c-guide__section__title.u-fv::after {
  background-color: #333;
}

.c-guide__section__title.js-sclollslide.js-active {
  color: black;
}

/*----- Priceページ共通class -----*/

.c-price__section__titlebox {
  width: 10rem;
  height: auto;
}

.c-price__section__titlebox::after {
  display: block;
  width: 2.5rem;
  height: 1px;
  margin-top: 1.1875rem;
  content: '';
  -webkit-transition: background-color .5s ease-in;
  transition: background-color .5s ease-in;
  background-color: #333;
}

.c-price__section__title {
  font-family: 'Cardo', 'Yu Mincho Light', 'YuMincho', 'Yu Mincho', '游明朝体', 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', sans-serif;
  font-size: 1rem;
  line-height: 1;
  display: inline-block;
  -webkit-transition: color .5s ease-in;
  transition: color .5s ease-in;
  letter-spacing: .125em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0);
}

.c-price__section__title.u-fv {
  color: #000;
}

.c-price__section__title.u-fv::after {
  background-color: #333;
}

.c-price__section__title.js-sclollslide.js-active {
  color: black;
}

/*----- TERMSページ共通class -----*/

.c-terms__section__titlebox {
  width: 10rem;
  height: auto;
}

.c-terms__section__titlebox::after {
  display: block;
  width: 2.5rem;
  height: 1px;
  margin-top: 1.1875rem;
  content: '';
  -webkit-transition: background-color .5s ease-in;
  transition: background-color .5s ease-in;
  background-color: #333;
}

.c-terms__section__title {
  font-family: 'Cardo', 'Yu Mincho Light', 'YuMincho', 'Yu Mincho', '游明朝体', 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', sans-serif;
  font-size: 1rem;
  line-height: 1;
  display: inline-block;
  -webkit-transition: color .5s ease-in;
  transition: color .5s ease-in;
  letter-spacing: .125em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0);
}

.c-terms__section__title.u-fv {
  color: #000;
}

.c-terms__section__title.u-fv::after {
  background-color: #333;
}

.c-terms__section__title.js-sclollslide.js-active {
  color: black;
}

/*----- ACCESSページ共通class -----*/

.c-access__section__titlebox {
  position: relative;
  width: 18.75rem;
  height: auto;
  padding-bottom: 1.25rem;
}

.c-access__section__titlebox::after {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 2.5rem;
  height: 1px;
  content: '';
  -webkit-transition: background-color .5s ease-in;
  transition: background-color .5s ease-in;
  background-color: #333;
}

.c-access__section__title {
  font-family: 'Cardo', 'Yu Mincho Light', 'YuMincho', 'Yu Mincho', '游明朝体', 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', sans-serif;
  font-size: 1rem;
  line-height: 1;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition: color .5s ease-in;
  transition: color .5s ease-in;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0);
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.c-access__section__title.u-fv {
  font-size: 1.125rem;
  color: #000;
}

.c-access__section__title.u-fv::after {
  background-color: #333;
}

.c-access__section__title .u-small {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  margin-left: 1.1875rem;
  letter-spacing: .125em;
}

.c-access__section__title.js-sclollslide.js-active {
  color: black;
}

.c-access__btn {
  font-size: .8125rem;
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 10rem;
  height: 2rem;
  list-style-position: .1em;
  -webkit-transition: .3s;
  transition: .3s;
  text-decoration: none;
  color: #fff;
  background-color: #151623;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.c-access__btn:hover {
  opacity: .9;
}

.c-access__btn__icon {
  width: .875rem;
  height: auto;
  margin-right: .75rem;
}

/*----- FAQページ共通class -----*/

.c-faq__section__titlebox {
  width: 10.625rem;
  height: auto;
}

.c-faq__section__titlebox::after {
  display: block;
  width: 2.5rem;
  height: 1px;
  margin-top: 1.1875rem;
  content: '';
  -webkit-transition: background-color .5s ease-in;
  transition: background-color .5s ease-in;
  background-color: #333;
}

.c-faq__section__title {
  font-family: 'Cardo', 'Yu Mincho Light', 'YuMincho', 'Yu Mincho', '游明朝体', 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', sans-serif;
  font-size: 1rem;
  line-height: 1;
  display: inline-block;
  -webkit-transition: color .5s ease-in;
  transition: color .5s ease-in;
  letter-spacing: .125em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0);
}

.c-faq__section__title.u-fv {
  color: #000;
}

.c-faq__section__title.u-fv::after {
  background-color: #333;
}

.c-faq__section__title.js-sclollslide.js-active {
  color: black;
}

/*----- RESERVEページ共通class -----*/

.c-reserve__section__titlebox {
  width: 20.625rem;
  height: auto;
}

.c-reserve__section__titlebox::after {
  display: block;
  width: 2.5rem;
  height: 1px;
  margin-top: 1.1875rem;
  content: '';
  -webkit-transition: background-color .5s ease-in;
  transition: background-color .5s ease-in;
  background-color: #333;
}

.c-reserve__section__title {
  font-family: 'Cardo', 'Yu Mincho Light', 'YuMincho', 'Yu Mincho', '游明朝体', 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', sans-serif;
  font-size: 1rem;
  line-height: 1;
  display: inline-block;
  -webkit-transition: color .5s ease-in;
  transition: color .5s ease-in;
  letter-spacing: .125em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0);
}

.c-reserve__section__title.u-fv {
  color: #000;
}

.c-reserve__section__title.u-fv::after {
  background-color: #333;
}

.c-reserve__section__title.js-sclollslide.js-active {
  color: black;
}

/*----- contactページ共通class -----*/

.c-contact__section__titlebox {
  width: 20.625rem;
  height: auto;
}

.c-contact__section__titlebox::after {
  display: block;
  width: 2.5rem;
  height: 1px;
  margin-top: 1.1875rem;
  content: '';
  -webkit-transition: background-color .5s ease-in;
  transition: background-color .5s ease-in;
  background-color: #333;
}

.c-contact__section__title {
  font-family: 'Cardo', 'Yu Mincho Light', 'YuMincho', 'Yu Mincho', '游明朝体', 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', sans-serif;
  font-size: 1rem;
  line-height: 1;
  display: inline-block;
  -webkit-transition: color .5s ease-in;
  transition: color .5s ease-in;
  letter-spacing: .125em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0);
}

.c-contact__section__title.u-fv {
  color: #000;
}

.c-contact__section__title.u-fv::after {
  background-color: #333;
}

.c-contact__section__title.js-sclollslide.js-active {
  color: black;
}

/* フォーム制御用共通class */

.mw_wp_form_input .js-submit {
  pointer-events: none !important;
  background-color: #676767 !important;
}

.mw_wp_form_input .js-submit.js-active {
  pointer-events: all !important;
  background-color: #151623 !important;
}

@media screen and (min-width: 769px) {
  .c-container {
    width: 100%;
  }

  .c-container--small {
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .c-container {
    width: 100%;
  }

  .c-container--small {
    width: 100%;
  }

  .c-pc_only {
    display: none !important;
  }

  .c-pc_only--flex {
    display: none !important;
  }

  .c-sp_only {
    display: block !important;
  }

  .c-header__menubtn {
    width: 1.875rem;
  }

  .c-header__menulogo {
    width: 2.6875rem;
  }

  .c-header__hamburgermenu {
    display: block;
  }

  .c-header__menu__linkarea {
    display: block;
    width: 100%;
    height: auto;
    padding: 5.375rem .625rem .625rem 2.5rem;
  }

  .c-header__menu__link a {
    font-size: 3rem;
    letter-spacing: .05em;
  }

  .c-header__menu__link--flex {
    margin-top: 2.1875rem;
  }

  .c-header__menu__link--flex a {
    font-size: 3rem;
    letter-spacing: .05em;
  }

  .c-header__menu__link__bottom__left {
    margin-right: 2rem;
    padding-right: 2rem;
  }

  .c-header__menu__link__icon {
    width: .75rem;
  }

  .c-header__logo {
    /* top: 3.125rem; */
    width: 7.5rem;
    margin: 2rem auto;
  }

  .c-header__smalllogo {
    width: 3.125rem;
    height: 1.25rem;
  }

  .c-linkbtn__to_reserve {
    right: 10px;
    bottom: 20px;
    width: 60px;
    height: 60px;
  }

  .c-linkbtn__to_reserve__text {
    font-size: 10px;
  }

  .c-linkbtn__to_reserve__text span {
    left: calc(50% - 5px);
    width: 10px;
    height: 30px;
  }

  .c-linkbtn__to_reserve__text span:nth-child(9) {
    -webkit-transform: rotate(95deg);
    transform: rotate(95deg);
  }

  .c-linkbtn__to_reserve__text span:nth-child(10) {
    -webkit-transform: rotate(106deg);
    transform: rotate(106deg);
  }

  .c-linkbtn__to_reserve__text span:nth-child(11) {
    -webkit-transform: rotate(117deg);
    transform: rotate(117deg);
  }

  .c-footer {
    padding: 3.5rem 0 1.875rem;
  }

  .c-footer .c-container {
    display: block;
    max-width: 550px;
  }

  .c-footer__copyrightbox {
    width: 100%;
    margin: 3.125rem auto 0;
  }

  .c-footer__copyrightbox__title {
    font-size: calc(10/16*1rem);
  }

  .c-footer__copyrightbox__text {
    margin: calc(10/16*1rem) auto 0;
    font-size: calc(10/16*1rem);
  }

  .c-footer__copyright {
    font-size: .625rem;
    line-height: 1;
  }

  .c-footer__infoboxes {
    display: block;
    padding-right: 0;
  }

  .c-footer__infobox:not(:first-child) {
    margin: 2rem auto 0;
  }

  .c-footer__infobox__title {
    font-size: .625rem;
    line-height: 2;
  }

  .c-footer__infobox__text {
    font-size: .625rem;
    line-height: 2;
  }

  .c-photo__section__titlebox {
    width: 100%;
    max-width: 200px;
    margin: 0 auto 0 0;
  }

  .c-photo__section__title {
    font-size: 1rem;
    letter-spacing: .05em;
  }

  .c-photo__section__title__text {
    font-size: .75rem;
    margin-top: .625rem;
  }

  .c-guide__section__titlebox::after {
    margin-top: 14.5px;
  }

  .c-guide__section__title {
    font-size: 1rem;
  }

  .c-price__section__titlebox::after {
    margin-top: .90625rem;
  }

  .c-price__section__title {
    font-size: .875rem;
  }

  .c-terms__section__titlebox::after {
    margin-top: .90625rem;
  }

  .c-terms__section__title {
    font-size: .875rem;
  }

  .c-access__section__titlebox {
    padding-bottom: .9375rem;
  }

  .c-access__section__title {
    font-size: .875rem;
  }

  .c-access__section__title.u-fv {
    font-size: 1rem;
  }

  .c-access__section__title .u-small {
    font-size: .875rem;
    margin-left: .9375rem;
  }

  .c-access__btn {
    font-size: .75rem;
    width: 11.40625rem;
    height: 2.5rem;
  }

  .c-access__btn__icon {
    width: .75rem;
    margin-right: .5625rem;
  }

  .c-faq__section__titlebox::after {
    margin-top: .90625rem;
  }

  .c-faq__section__title {
    font-size: .875rem;
  }

  .c-reserve__section__titlebox {
    width: 18.125rem;
  }

  .c-reserve__section__titlebox::after {
    margin-top: .90625rem;
  }

  .c-reserve__section__title {
    font-size: .875rem;
  }

  .c-contact__section__titlebox {
    width: 18.125rem;
  }

  .c-contact__section__titlebox::after {
    margin-top: .90625rem;
  }

  .c-contact__section__title {
    font-size: .875rem;
  }
}

@media screen and (max-width: 360px) {
  .c-container {
    width: 100%;
  }

  .c-container--small {
    width: 100%;
  }
}

@media screen and (min-width: 769px) and (max-width: 1400px) {
  .c-container {
    width: 100%;
  }

  .c-container--small {
    width: 100%;
  }
}

@media screen and (min-width: 769px) and (max-width: 1300px) {
  .c-container {
    width: 100%;
  }

  .c-container--small {
    width: 100%;
  }
}

@media screen and (min-width: 769px) and (max-width: 1200px) {
  .c-container {
    width: 100%;
  }

  .c-container--small {
    width: 100%;
  }

  .c-header__menu__linkarea {
    padding-left: 10%;
  }
}

@media screen and (min-width: 769px) and (max-width: 1100px) {
  .c-container {
    width: 100%;
  }

  .c-container--small {
    width: 100%;
  }

  .c-header__menu__link a {
    font-size: 2.5rem;
  }

  .c-header__menu__link--flex a {
    font-size: 2.5rem;
  }
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  .c-container {
    width: 100%;
  }

  .c-container--small {
    width: 100%;
  }
}

@media screen and (min-width: 769px) and (max-width: 900px) {
  .c-container {
    width: 100%;
  }

  .c-container--small {
    width: 100%;
  }

  .c-footer__copyrightbox {
    width: 13.5rem;
  }

  .c-footer__infobox:not(:first-child) {
    margin-left: 7%;
  }
}

@media screen and (min-width: 769px) and (max-width: 800px) {
  .c-container {
    width: 100%;
  }

  .c-container--small {
    width: 100%;
  }
}

@media screen and (min-width: 421px) and (max-width: 768px) {
  .c-container {
    width: 100%;
  }

  .c-container--small {
    width: 100%;
  }
}

@media screen and (min-width: 481px) and (max-width: 768px) {
  .c-container {
    width: 100%;
  }

  .c-container--small {
    width: 100%;
  }
}

@media screen and (min-width: 601px) and (max-width: 768px) {
  .c-container {
    width: 100%;
  }

  .c-container--small {
    width: 100%;
  }
}