@charset "UTF-8";
/* basic layout */
/* 全体の設定
---------------------------------------------------------------------------*/
/* 基本設定
---------------------------------------------------------------------------*/
/* responsive */
/* サイズ */
/* flexbox */
/* フォント */
/* regular: 400, medium: 500, semibold: 600, bold: 700 */
/* regular: 400, medium: 500, bold: 700 */
/* regular: 400, medium: 500, semibold: 600, bold: 700 */
/* regular: 400 */
/* 色 */
/* グラデ背景色 */
/* 中央揃え */
/* objectfit */
/* ホバーアクション */
/* 角丸 */
/* ボタン */
/* ボタンの中のspan */
/* フォントサイズ */
/* 余白 */
/* 文字にグラデ */
/* 縦書き */
/* 内径 */
/* 基本設定
---------------------------------------------------------------------------*/
/* reboot */
/*!
 * Bootstrap Reboot v4.1.3 (https://getbootstrap.com/)
 * Copyright 2011-2018 The Bootstrap Authors
 * Copyright 2011-2018 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
 */
*,
*::before,
*::after {
  box-sizing: border-box; }

@-ms-viewport {
  width: device-width; }
article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
  display: block; }

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, Noto Sans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: .16rem;
  font-weight: 400;
  line-height: 1.5;
  text-align: left; }

[tabindex="-1"]:focus {
  outline: 0 !important; }

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible; }

h1, h2, h3, h4, h5, h6, em {
  margin: 0;
  font-weight: normal;
  font-style: inherit; }

p {
  margin: 0;
  padding: 0; }

abbr[title],
abbr[data-original-title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0; }

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit; }

ol,
ul,
dl {
  margin: 0;
  padding: 0;
  list-style-type: none; }

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
  padding: 0; }

dt {
  font-weight: 400;
  margin: 0;
  padding: 0; }

dd {
  margin: 0;
  padding: 0; }

blockquote {
  margin: 0 0 1rem; }

b,
strong {
  font-weight: bolder; }

small {
  font-size: 80%; }

sub,
sup {
  position: relative;
  font-size: 65%;
  line-height: 0;
  vertical-align: baseline; }

sub {
  bottom: -.25em; }

sup {
  top: -.5em; }

a {
  color: #007bff;
  text-decoration: none;
  background-color: transparent; }

a:not([href]):not([tabindex]) {
  color: inherit;
  text-decoration: none; }

a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
  color: inherit;
  text-decoration: none; }

a:not([href]):not([tabindex]):focus {
  outline: 0; }

pre,
code,
kbd,
samp {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 1em; }

pre {
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  -ms-overflow-style: scrollbar; }

figure {
  margin: 0 0 1rem; }

img {
  vertical-align: middle;
  border-style: none; }

svg {
  overflow: hidden;
  vertical-align: middle; }

table {
  border-collapse: collapse; }

caption {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  color: #6c757d;
  text-align: left;
  caption-side: bottom; }

th {
  text-align: inherit; }

label {
  display: inline-block; }

button {
  border-radius: 0; }

button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color; }

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit; }

button,
input {
  overflow: visible; }

button,
select {
  text-transform: none; }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  padding: 0;
  border-style: none; }

input[type="radio"],
input[type="checkbox"] {
  box-sizing: border-box;
  padding: 0; }

input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
  -webkit-appearance: listbox; }

textarea {
  overflow: auto;
  resize: vertical; }

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0; }

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: .5rem;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal; }

progress {
  vertical-align: baseline; }

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

[type="search"] {
  outline-offset: -2px;
  -webkit-appearance: none; }

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button; }

output {
  display: inline-block; }

summary {
  display: list-item;
  cursor: pointer; }

template {
  display: none; }

[hidden] {
  display: none !important; }

/* basic layout */
/* 全体の設定
---------------------------------------------------------------------------*/
/* chromeで表示される謎の青枠を消す */
*:focus {
  outline: none; }

/* 電話番号のリンク */
/*@media (min-width: 769px) {
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}*/
a.notel {
  pointer-events: none;
  cursor: default;
  text-decoration: none; }

/*リンク（全般）設定
---------------------------------------------------------------------------*/
/* 共通設定
---------------------------------------------------------------------------*/
#wrap {
  position: relative;
  width: 100%;
  margin: 0 auto;
  overflow: hidden; }

@media screen and (max-width: 768px) {
  #wrap {
    margin-top: 0; } }
/* iOSでのデフォルトスタイルをリセット
---------------------------------------------------------------------------*/
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box; }
  input[type="submit"]::-webkit-search-decoration,
  input[type="button"]::-webkit-search-decoration {
    display: none; }
  input[type="submit"]::focus,
  input[type="button"]::focus {
    outline-offset: -2px; }

button, textarea, select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

/* レスポンシブ */
@media screen and (max-width: 480px) {
  .view-pc {
    display: none; } }

.view-tab {
  display: none; }
  @media screen and (max-width: 768px) {
    .view-tab {
      display: block; } }
  @media screen and (max-width: 480px) {
    .view-tab {
      display: none; } }

.view-sp {
  display: none; }
  @media screen and (max-width: 480px) {
    .view-sp {
      display: block; } }

/* 画像 */
img {
  max-width: 100%;
  height: auto; }

/* ------------------------------------------------------------------------*/
/* レイアウト
---------------------------------------------------------------------------*/
body {
  position: relative;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 500;
  font-style: normal;
  background-color: #F0F5F7;
  color: #1E1E27;
  font-size: 18px;
  line-height: 1; }
  @media screen and (max-width: 1440px) {
    body {
      font-size: 1.25vw; } }
  @media screen and (max-width: 480px) {
    body {
      font-size: 4.5801526718vw; } }
  body.scrollnone {
    overflow: hidden; }

#wrap {
  overflow: hidden;
  position: relative; }

body#top #wrap {
  padding-top: 0; }

* {
  outline: none; }

img {
  display: block;
  width: auto;
  height: auto; }

a {
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  color: inherit; }

@media (hover: hover) {
  a:hover {
    opacity: .6;
    color: inherit;
    text-decoration: none; } }

a.notel {
  pointer-events: none; }

.wrap {
  /* 1280 */
  width: 1280px;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 1440px) {
    .wrap {
      width: 88.8888888889vw; } }
  @media screen and (max-width: 480px) {
    .wrap {
      width: 178.1170483461vw; } }

.wrap-min {
  /* 1080 */
  width: 1080px;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 1440px) {
    .wrap-min {
      width: 75vw; } }
  @media screen and (max-width: 480px) {
    .wrap-min {
      width: 165.3944020356vw; } }

.wrap-minest {
  /* 980 */
  width: 980px;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 1440px) {
    .wrap-minest {
      width: 68.0555555556vw; } }
  @media screen and (max-width: 480px) {
    .wrap-minest {
      width: 165.3944020356vw; } }

/* 文字揃え */
.al-center {
  text-align: center !important; }
.al-left {
  text-align: left !important; }
.al-right {
  text-align: right !important; }
@media screen and (max-width: 480px) {
  .al-sp-center {
    text-align: center !important; } }

/* scroll_fadein
---------------------------------------------------------------------------*/
.scroll_fadein {
  opacity: 0;
  visibility: hidden; }

body.scroll .scroll_fadein {
  opacity: 1;
  visibility: visible;
  animation: fadein 0.5s ease; }

/* font
---------------------------------------------------------------------------*/
.ttl {
  letter-spacing: .1em; }
  .ttl-en {
    font-family: "Lexend Deca", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-size: 56px;
    font-weight: 700; }
    @media screen and (max-width: 1440px) {
      .ttl-en {
        font-size: 3.8888888889vw; } }
    @media screen and (max-width: 480px) {
      .ttl-en {
        font-size: 14.2493638677vw; } }
    .ttl-en span {
      background: linear-gradient(90deg, #0E42AB, #363540);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent; }
  .ttl-ja {
    font-size: 32px;
    font-weight: 700;
    color: #0E42AB; }
    @media screen and (max-width: 1440px) {
      .ttl-ja {
        font-size: 2.2222222222vw; } }
    @media screen and (max-width: 480px) {
      .ttl-ja {
        font-size: 8.1424936387vw; } }

.desc {
  font-size: 18px;
  letter-spacing: .1em;
  line-height: 2; }
  @media screen and (max-width: 1440px) {
    .desc {
      font-size: 1.25vw; } }
  @media screen and (max-width: 480px) {
    .desc {
      font-size: 4.5801526718vw; } }

/* head
---------------------------------------------------------------------------*/
.header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 44px 40px; }
  @media screen and (max-width: 1440px) {
    .header {
      padding: 3.0555555556vw 2.7777777778vw; } }
  @media screen and (max-width: 480px) {
    .header {
      padding: 10.1781170483vw 5.0890585242vw; } }
  .header-logo {
    width: 129px; }
    @media screen and (max-width: 1440px) {
      .header-logo {
        width: 8.9583333333vw; } }
    @media screen and (max-width: 480px) {
      .header-logo {
        width: 22.3918575064vw; } }
  .header-btn {
    width: 320px;
    color: #ffffff; }
    @media screen and (max-width: 1440px) {
      .header-btn {
        width: 22.2222222222vw; } }
    @media screen and (max-width: 480px) {
      .header-btn {
        position: fixed;
        bottom: 5.0890585242vw;
        left: 50%;
        transform: translateX(-50%);
        width: 89.8218829517vw;
        z-index: 100; } }
    .header-btn a {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      width: 100%;
      height: 72px;
      background-color: #EC4011;
      font-size: 20px;
      letter-spacing: .1em; }
      @media screen and (max-width: 1440px) {
        .header-btn a {
          font-size: 1.3888888889vw; } }
      @media screen and (max-width: 480px) {
        .header-btn a {
          font-size: 5.0890585242vw; } }
      @media screen and (max-width: 1440px) {
        .header-btn a {
          height: 5vw; } }
      @media screen and (max-width: 480px) {
        .header-btn a {
          height: 18.320610687vw; } }
      .header-btn a span {
        position: relative;
        padding-left: 24px; }
        @media screen and (max-width: 1440px) {
          .header-btn a span {
            padding-left: 1.6666666667vw; } }
        @media screen and (max-width: 480px) {
          .header-btn a span {
            padding-left: 6.106870229vw; } }
        .header-btn a span::before {
          position: absolute;
          content: "";
          background-repeat: no-repeat;
          background-position: center;
          background-size: contain;
          background-image: url(../img/teaser/btn-icon-reser.png);
          width: 16px;
          height: 18px;
          left: 0;
          top: 50%;
          transform: translateY(-50%); }
          @media screen and (max-width: 1440px) {
            .header-btn a span::before {
              width: 1.1111111111vw;
              height: 1.25vw; } }
          @media screen and (max-width: 480px) {
            .header-btn a span::before {
              width: 4.0712468193vw;
              height: 4.5801526718vw; } }
      .header-btn a small {
        font-family: "Lexend Deca", sans-serif;
        font-optical-sizing: auto;
        font-weight: 700;
        font-style: normal;
        font-weight: 700;
        font-size: 100%;
        margin-top: 0.2em; }

/* mv
---------------------------------------------------------------------------*/
.mv {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: relative;
  margin-top: -59px;
  z-index: 10;
  margin-bottom: 80px; }
  @media screen and (max-width: 1440px) {
    .mv {
      margin-bottom: 5.5555555556vw; } }
  @media screen and (max-width: 480px) {
    .mv {
      margin-bottom: 20.3562340967vw; } }
  @media screen and (max-width: 1440px) {
    .mv {
      margin-top: -4.0972222222vw; } }
  @media screen and (max-width: 480px) {
    .mv {
      -webkit-flex-direction: column-reverse;
      flex-direction: column-reverse;
      margin-top: 0;
      margin-bottom: 50.3816793893vw; } }
  .mv-left {
    /*width: calc((360px / 1440px) * 100%);*/
    width: 25%;
    padding-top: 200px; }
    @media screen and (max-width: 1440px) {
      .mv-left {
        padding-top: 13.8888888889vw; } }
    .mv-left-menu {
      margin-bottom: 196px; }
      @media screen and (max-width: 1440px) {
        .mv-left-menu {
          margin-bottom: 13.6111111111vw; } }
      @media screen and (max-width: 480px) {
        .mv-left-menu {
          margin-bottom: 49.8727735369vw; } }
      @media screen and (max-width: 480px) {
        .mv-left-menu {
          display: none; } }
      .mv-left-menu li + li {
        margin-top: 24px; }
        @media screen and (max-width: 1440px) {
          .mv-left-menu li + li {
            margin-top: 1.6666666667vw; } }
      .mv-left-menu li a {
        display: block;
        position: relative;
        padding-left: 80px;
        font-size: 24px;
        font-family: "Lexend Deca", sans-serif;
        font-optical-sizing: auto;
        font-weight: 700;
        font-style: normal;
        font-weight: 500;
        letter-spacing: .1em; }
        @media screen and (max-width: 1440px) {
          .mv-left-menu li a {
            font-size: 1.6666666667vw; } }
        @media screen and (max-width: 480px) {
          .mv-left-menu li a {
            font-size: 6.106870229vw; } }
        @media screen and (max-width: 1440px) {
          .mv-left-menu li a {
            padding-left: 5.5555555556vw; } }
        .mv-left-menu li a::before, .mv-left-menu li a::after {
          position: absolute;
          content: "";
          top: 50%;
          transform: translateY(-50%);
          background-color: #0E42AB;
          opacity: 0;
          transition-property: all;
          transition-duration: 0.3s;
          transition-timing-function: ease; }
        .mv-left-menu li a::before {
          width: 64px;
          height: 1px;
          left: 0; }
          @media screen and (max-width: 1440px) {
            .mv-left-menu li a::before {
              width: 4.4444444444vw; } }
        .mv-left-menu li a::after {
          width: 10px;
          height: 10px;
          border-radius: 50%;
          left: 60px; }
          @media screen and (max-width: 1440px) {
            .mv-left-menu li a::after {
              width: 0.6944444444vw;
              height: 0.6944444444vw;
              left: 4.1666666667vw; } }
        @media (hover: hover) {
          .mv-left-menu li a:hover {
            opacity: 1; }
            .mv-left-menu li a:hover::before, .mv-left-menu li a:hover::after {
              opacity: 1; } }
    @media screen and (max-width: 480px) {
      .mv-left-img {
        position: absolute;
        left: 0;
        bottom: 0;
        width: 36.641221374vw; }
        .mv-left-img img {
          width: 100%;
          height: 61.0687022901vw;
          object-fit: cover;
          object-position: center;
          font-family: "object-fit: cover; object-position: center;"; } }
  .mv-right {
    width: 70%;
    /*width: calc((1000px / 1440px) * 100%);*/ }
    @media screen and (max-width: 480px) {
      .mv-right {
        width: 100%; } }
    .mv-right-img {
      position: relative;
      margin-bottom: 80px; }
      @media screen and (max-width: 1440px) {
        .mv-right-img {
          margin-bottom: 5.5555555556vw; } }
      @media screen and (max-width: 480px) {
        .mv-right-img {
          width: 89.8218829517vw;
          margin-left: auto;
          margin-right: 0;
          margin-bottom: 9.6692111959vw; } }
      .mv-right-img span {
        position: absolute;
        left: 40px;
        bottom: 38px;
        color: #ffffff;
        z-index: 1;
        font-size: 32px;
        font-weight: 700;
        letter-spacing: .1em; }
        @media screen and (max-width: 1440px) {
          .mv-right-img span {
            font-size: 2.2222222222vw; } }
        @media screen and (max-width: 480px) {
          .mv-right-img span {
            font-size: 8.1424936387vw; } }
        @media screen and (max-width: 1440px) {
          .mv-right-img span {
            left: 2.7777777778vw;
            bottom: 2.6388888889vw; } }
        @media screen and (max-width: 480px) {
          .mv-right-img span {
            font-size: 5.0890585242vw;
            letter-spacing: .05em;
            line-height: 1.6; } }
    .mv-right-tx {
      padding-left: 40px; }
      @media screen and (max-width: 1440px) {
        .mv-right-tx {
          padding-left: 2.7777777778vw; } }
      @media screen and (max-width: 480px) {
        .mv-right-tx {
          padding-left: 36.641221374vw; } }
      .mv-right-tx-en {
        position: relative;
        font-size: 56px;
        padding-bottom: 25px;
        font-weight: 700;
        letter-spacing: .1em;
        font-family: "Lexend Deca", sans-serif;
        font-optical-sizing: auto;
        font-weight: 700;
        font-style: normal;
        margin-bottom: 40px; }
        @media screen and (max-width: 1440px) {
          .mv-right-tx-en {
            font-size: 3.8888888889vw; } }
        @media screen and (max-width: 480px) {
          .mv-right-tx-en {
            font-size: 14.2493638677vw; } }
        @media screen and (max-width: 1440px) {
          .mv-right-tx-en {
            margin-bottom: 2.7777777778vw; } }
        @media screen and (max-width: 480px) {
          .mv-right-tx-en {
            margin-bottom: 10.1781170483vw; } }
        @media screen and (max-width: 1440px) {
          .mv-right-tx-en {
            padding-bottom: 1.7361111111vw; } }
        @media screen and (max-width: 480px) {
          .mv-right-tx-en {
            font-size: 9.1603053435vw;
            line-height: 1.2;
            padding-bottom: 3.5623409669vw;
            margin-bottom: 3.5623409669vw;
            padding-left: 8.1424936387vw; } }
        .mv-right-tx-en span {
          background: linear-gradient(90deg, #0E42AB, #363540);
          -webkit-background-clip: text;
          -webkit-text-fill-color: transparent; }
        .mv-right-tx-en::after {
          position: absolute;
          content: "";
          width: calc(100% - 108px);
          height: 1px;
          background-color: #0E42AB;
          bottom: 0;
          right: 0; }
          @media screen and (max-width: 1440px) {
            .mv-right-tx-en::after {
              width: calc(100% - 7.5vw); } }
          @media screen and (max-width: 480px) {
            .mv-right-tx-en::after {
              width: 100%; } }
      .mv-right-tx-ja {
        font-size: 32px;
        letter-spacing: .1em;
        text-align: right;
        padding-right: 40px; }
        @media screen and (max-width: 1440px) {
          .mv-right-tx-ja {
            font-size: 2.2222222222vw; } }
        @media screen and (max-width: 480px) {
          .mv-right-tx-ja {
            font-size: 8.1424936387vw; } }
        @media screen and (max-width: 1440px) {
          .mv-right-tx-ja {
            padding-right: 2.7777777778vw; } }
        @media screen and (max-width: 480px) {
          .mv-right-tx-ja {
            font-size: 5.0890585242vw;
            line-height: 1.6;
            padding-right: 0;
            text-align: left;
            padding-left: 8.1424936387vw; } }

/* intro
---------------------------------------------------------------------------*/
.intro {
  position: relative;
  z-index: 1;
  margin-bottom: 56px; }
  @media screen and (max-width: 1440px) {
    .intro {
      margin-bottom: 3.8888888889vw; } }
  @media screen and (max-width: 480px) {
    .intro {
      margin-bottom: 14.2493638677vw; } }
  .intro-bg {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -160px;
    width: 100%;
    z-index: -1; }
    @media screen and (max-width: 1440px) {
      .intro-bg {
        top: -11.1111111111vw; } }
    @media screen and (max-width: 480px) {
      .intro-bg {
        top: -19.3384223919vw; } }
    .intro-bg img {
      width: 100%;
      height: 1232px;
      object-fit: cover;
      object-position: center;
      font-family: "object-fit: cover; object-position: center;"; }
      @media screen and (max-width: 1440px) {
        .intro-bg img {
          height: 85.5555555556vw; } }
      @media screen and (max-width: 480px) {
        .intro-bg img {
          height: 195.4198473282vw; } }
  .intro-img {
    width: 1360px;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 1440px) {
      .intro-img {
        width: 94.4444444444vw; } }
    @media screen and (max-width: 480px) {
      .intro-img {
        width: 100%; } }
    .intro-img img {
      width: 1080px;
      margin-left: auto;
      margin-right: 0; }
      @media screen and (max-width: 1440px) {
        .intro-img img {
          width: 75vw; } }
      @media screen and (max-width: 480px) {
        .intro-img img {
          width: 84.7328244275vw;
          height: 45.8015267176vw;
          object-fit: cover;
          object-position: center;
          font-family: "object-fit: cover; object-position: center;"; } }

/* room
---------------------------------------------------------------------------*/
.room {
  position: relative;
  width: 1280px;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
  margin-bottom: 120px; }
  @media screen and (max-width: 1440px) {
    .room {
      margin-bottom: 8.3333333333vw; } }
  @media screen and (max-width: 480px) {
    .room {
      margin-bottom: 30.534351145vw; } }
  @media screen and (max-width: 1440px) {
    .room {
      width: 88.8888888889vw; } }
  @media screen and (max-width: 480px) {
    .room {
      width: 100%; } }
  .room .ttl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 46px; }
    @media screen and (max-width: 1440px) {
      .room .ttl {
        margin-bottom: 3.1944444444vw; } }
    @media screen and (max-width: 480px) {
      .room .ttl {
        margin-bottom: 11.7048346056vw; } }
    @media screen and (max-width: 480px) {
      .room .ttl {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        padding-left: 15.2671755725vw; } }
    .room .ttl-ja {
      margin-left: 1em; }
      @media screen and (max-width: 480px) {
        .room .ttl-ja {
          margin-left: 0;
          margin-top: 2.5445292621vw; } }
  .room .desc {
    margin-bottom: 46px; }
    @media screen and (max-width: 1440px) {
      .room .desc {
        margin-bottom: 3.1944444444vw; } }
    @media screen and (max-width: 480px) {
      .room .desc {
        margin-bottom: 11.7048346056vw; } }
    @media screen and (max-width: 480px) {
      .room .desc {
        width: 76.3358778626vw;
        margin-left: 15.2671755725vw; } }
  .room-imgs {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    @media screen and (max-width: 480px) {
      .room-imgs {
        width: 89.8218829517vw; } }
    .room-imgs-img01 {
      width: 780px; }
      @media screen and (max-width: 1440px) {
        .room-imgs-img01 {
          width: 54.1666666667vw; } }
      @media screen and (max-width: 480px) {
        .room-imgs-img01 {
          width: 57.7608142494vw; } }
    .room-imgs-img02 {
      width: 320px;
      padding-top: 200px; }
      @media screen and (max-width: 1440px) {
        .room-imgs-img02 {
          width: 22.2222222222vw;
          padding-top: 13.8888888889vw; } }
      @media screen and (max-width: 480px) {
        .room-imgs-img02 {
          width: 27.989821883vw;
          padding-top: 14.2493638677vw; } }

/* access
---------------------------------------------------------------------------*/
.access {
  position: relative;
  z-index: 10;
  text-align: center;
  margin-bottom: 160px; }
  @media screen and (max-width: 1440px) {
    .access {
      margin-bottom: 11.1111111111vw; } }
  @media screen and (max-width: 480px) {
    .access {
      margin-bottom: 40.7124681934vw; } }
  .access::before, .access::after {
    position: absolute;
    content: "";
    background-size: 480px auto;
    width: calc(50% - 240px);
    height: 1278px;
    z-index: -1; }
    @media screen and (max-width: 1440px) {
      .access::before, .access::after {
        background-size: 33.3333333333vw;
        width: calc(50% - 16.6666vw);
        height: 88.75vw; } }
    @media screen and (max-width: 480px) {
      .access::before, .access::after {
        width: 36.641221374vw;
        height: 325.6997455471vw; } }
  .access::before {
    left: 0;
    top: -100px;
    background-image: url(../img/teaser/access-left-bg.jpg); }
    @media screen and (max-width: 1440px) {
      .access::before {
        top: -6.9444444444vw; } }
    @media screen and (max-width: 480px) {
      .access::before {
        top: -31.0432569975vw; } }
  .access::after {
    right: 0;
    top: 230px;
    background-image: url(../img/teaser/access-right-bg.jpg); }
    @media screen and (max-width: 1440px) {
      .access::after {
        top: 15.9722222222vw; } }
    @media screen and (max-width: 480px) {
      .access::after {
        top: 47.0737913486vw; } }
  .access .ttl {
    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: 20px;
    margin-bottom: 46px; }
    @media screen and (max-width: 1440px) {
      .access .ttl {
        margin-bottom: 3.1944444444vw; } }
    @media screen and (max-width: 480px) {
      .access .ttl {
        margin-bottom: 11.7048346056vw; } }
    @media screen and (max-width: 1440px) {
      .access .ttl {
        gap: 1.3888888889vw; } }
  .access .hdl {
    font-size: 28px;
    font-weight: 700;
    letter-spacing: .1em;
    margin-bottom: 30px; }
    @media screen and (max-width: 1440px) {
      .access .hdl {
        font-size: 1.9444444444vw; } }
    @media screen and (max-width: 480px) {
      .access .hdl {
        font-size: 7.1246819338vw; } }
    @media screen and (max-width: 1440px) {
      .access .hdl {
        margin-bottom: 2.0833333333vw; } }
    @media screen and (max-width: 480px) {
      .access .hdl {
        margin-bottom: 7.6335877863vw; } }
  .access .desc {
    margin-bottom: 46px; }
    @media screen and (max-width: 1440px) {
      .access .desc {
        margin-bottom: 3.1944444444vw; } }
    @media screen and (max-width: 480px) {
      .access .desc {
        margin-bottom: 11.7048346056vw; } }
  .access .gmap {
    width: 1360px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 56px; }
    @media screen and (max-width: 1440px) {
      .access .gmap {
        margin-bottom: 3.8888888889vw; } }
    @media screen and (max-width: 480px) {
      .access .gmap {
        margin-bottom: 14.2493638677vw; } }
    @media screen and (max-width: 1440px) {
      .access .gmap {
        width: 94.4444444444vw; } }
    @media screen and (max-width: 480px) {
      .access .gmap {
        width: 89.5674300254vw; } }
    .access .gmap iframe {
      display: block;
      width: 100%;
      height: 520px; }
      @media screen and (max-width: 1440px) {
        .access .gmap iframe {
          height: 36.1111111111vw; } }
      @media screen and (max-width: 480px) {
        .access .gmap iframe {
          height: 81.4249363868vw; } }
  .access-btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: #75747F; }
    .access-btn a {
      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;
      width: 320px;
      height: 72px;
      border: 1px solid #363540;
      background-image: url(../img/teaser/btn-icon-blank.png);
      background-repeat: no-repeat;
      background-size: 18px 18px;
      background-position: right 27px center;
      background-color: #F0F5F7; }
      @media screen and (max-width: 1440px) {
        .access-btn a {
          width: 22.2222222222vw;
          height: 5vw;
          background-size: 1.25vw 1.25vw;
          background-position: right 1.875vw center; } }
      @media screen and (max-width: 480px) {
        .access-btn a {
          width: 89.8218829517vw;
          height: 18.320610687vw;
          background-size: 4.5801526718vw 4.5801526718vw;
          background-position: right 6.8702290076vw center; } }

/* tel
---------------------------------------------------------------------------*/
.tel {
  position: relative;
  background-color: #363540;
  color: #ffffff;
  padding: 80px 0;
  z-index: 10; }
  @media screen and (max-width: 1440px) {
    .tel {
      padding: 5.5555555556vw 0; } }
  @media screen and (max-width: 480px) {
    .tel {
      padding: 20.3562340967vw 0; } }
  .tel-logo {
    width: 100px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 56px; }
    @media screen and (max-width: 1440px) {
      .tel-logo {
        margin-bottom: 3.8888888889vw; } }
    @media screen and (max-width: 480px) {
      .tel-logo {
        margin-bottom: 14.2493638677vw; } }
    @media screen and (max-width: 1440px) {
      .tel-logo {
        width: 6.9444444444vw; } }
    @media screen and (max-width: 480px) {
      .tel-logo {
        width: 25.4452926209vw; } }
  .tel-catch {
    text-align: center;
    font-size: 32px;
    letter-spacing: .1em;
    font-weight: 700;
    margin-bottom: 46px; }
    @media screen and (max-width: 1440px) {
      .tel-catch {
        font-size: 2.2222222222vw; } }
    @media screen and (max-width: 480px) {
      .tel-catch {
        font-size: 8.1424936387vw; } }
    @media screen and (max-width: 1440px) {
      .tel-catch {
        margin-bottom: 3.1944444444vw; } }
    @media screen and (max-width: 480px) {
      .tel-catch {
        margin-bottom: 11.7048346056vw; } }
    @media screen and (max-width: 480px) {
      .tel-catch {
        font-size: 6.106870229vw;
        margin-bottom: 7.6335877863vw; } }
  .tel-ft {
    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;
    gap: 58px; }
    @media screen and (max-width: 1440px) {
      .tel-ft {
        gap: 4.0277777778vw; } }
    @media screen and (max-width: 480px) {
      .tel-ft {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 3.5623409669vw; } }
    .tel-ft-btn {
      width: 480px; }
      @media screen and (max-width: 1440px) {
        .tel-ft-btn {
          width: 33.3333333333vw; } }
      @media screen and (max-width: 480px) {
        .tel-ft-btn {
          width: 89.8218829517vw; } }
      .tel-ft-btn a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        width: 100%;
        height: 72px;
        background-color: #EC4011;
        font-size: 20px;
        letter-spacing: .1em; }
        @media screen and (max-width: 1440px) {
          .tel-ft-btn a {
            font-size: 1.3888888889vw; } }
        @media screen and (max-width: 480px) {
          .tel-ft-btn a {
            font-size: 5.0890585242vw; } }
        @media screen and (max-width: 1440px) {
          .tel-ft-btn a {
            height: 5vw; } }
        @media screen and (max-width: 480px) {
          .tel-ft-btn a {
            height: 18.320610687vw; } }
        .tel-ft-btn a span {
          position: relative;
          padding-left: 24px; }
          @media screen and (max-width: 1440px) {
            .tel-ft-btn a span {
              padding-left: 1.6666666667vw; } }
          @media screen and (max-width: 480px) {
            .tel-ft-btn a span {
              padding-left: 6.106870229vw; } }
          .tel-ft-btn a span::before {
            position: absolute;
            content: "";
            background-repeat: no-repeat;
            background-position: center;
            background-size: contain;
            background-image: url(../img/teaser/btn-icon-reser.png);
            width: 16px;
            height: 18px;
            left: 0;
            top: 50%;
            transform: translateY(-50%); }
            @media screen and (max-width: 1440px) {
              .tel-ft-btn a span::before {
                width: 1.1111111111vw;
                height: 1.25vw; } }
            @media screen and (max-width: 480px) {
              .tel-ft-btn a span::before {
                width: 4.0712468193vw;
                height: 4.5801526718vw; } }
        .tel-ft-btn a small {
          font-family: "Lexend Deca", sans-serif;
          font-optical-sizing: auto;
          font-weight: 700;
          font-style: normal;
          font-weight: 700;
          font-size: 100%;
          margin-top: 0.2em; }
    .tel-ft-number {
      font-size: 56px;
      font-family: "Lexend Deca", sans-serif;
      font-optical-sizing: auto;
      font-weight: 700;
      font-style: normal;
      font-weight: 700;
      letter-spacing: .1em; }
      @media screen and (max-width: 1440px) {
        .tel-ft-number {
          font-size: 3.8888888889vw; } }
      @media screen and (max-width: 480px) {
        .tel-ft-number {
          font-size: 14.2493638677vw; } }
      @media screen and (max-width: 480px) {
        .tel-ft-number {
          width: 100%;
          text-align: center;
          font-size: 9.1603053435vw;
          letter-spacing: .05em; } }

/* footer
---------------------------------------------------------------------------*/
.footer-wrap {
  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;
  gap: 80px;
  padding: 80px 0; }
  @media screen and (max-width: 1440px) {
    .footer-wrap {
      gap: 5.5555555556vw;
      padding: 5.5555555556vw 0; } }
  @media screen and (max-width: 480px) {
    .footer-wrap {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      padding: 20.3562340967vw 0;
      gap: 7.6335877863vw; } }
.footer-img {
  width: 640px; }
  @media screen and (max-width: 1440px) {
    .footer-img {
      width: 44.4444444444vw; } }
  @media screen and (max-width: 480px) {
    .footer-img {
      width: 89.8218829517vw; } }
.footer-data {
  width: 240px; }
  @media screen and (max-width: 1440px) {
    .footer-data {
      width: 16.6666666667vw; } }
  @media screen and (max-width: 480px) {
    .footer-data {
      width: 79.6437659033vw; } }
.footer-copy {
  background-color: #363540;
  color: #ffffff;
  text-align: center;
  padding: 56px 0;
  font-family: "Lexend Deca", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 12px;
  letter-spacing: .1em; }
  @media screen and (max-width: 1440px) {
    .footer-copy {
      font-size: 0.8333333333vw; } }
  @media screen and (max-width: 480px) {
    .footer-copy {
      font-size: 3.0534351145vw; } }
  @media screen and (max-width: 1440px) {
    .footer-copy {
      padding: 3.8888888889vw 0; } }
  @media screen and (max-width: 480px) {
    .footer-copy {
      padding: 14.2493638677vw 0 35.6234096692vw; } }
