@charset "UTF-8";
/*-----------------font---------------------*/
@import url("https://fonts.googleapis.com/css2?family=EB+Garamond:ital@0;1&family=Noto+Sans+JP&family=Shippori+Mincho:wght@400;500;600;700;800&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Urbanist:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300..700;1,300..700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Infant:wght@300..700&display=swap");
/*-----------------setting---------------------*/
/* ==========================================================================
   Modern Reset CSS
   ========================================================================== */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
address,
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 {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

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

html {
  font-size: 62.5%;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
}

body {
  line-height: 1.5;
  font-size: 1.6rem;
  color: #333;
  width: 100%;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

ol,
ul {
  list-style: none;
}

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

a {
  color: inherit;
  text-decoration: none;
}

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

._sp {
  display: none;
}

._pc {
  display: block;
}

@media screen and (max-width: 768px) {
  ._sp {
    display: block;
  }
  ._pc {
    display: none;
  }
}
main {
  overflow: hidden;
}
main p {
  line-height: 1.5;
  letter-spacing: 0.05em;
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

/* ==========================================================================
   Mixins (定義エリア)
   ========================================================================== */
/* ==========================================================================
   Common Classes (適用エリア)
   ========================================================================== */
.com_col_wh {
  color: #fff;
}
.com_col_blk {
  color: #000000;
}
.com_center {
  position: absolute;
  inset: 0;
  margin: auto;
}
.com_imgBox {
  position: relative;
}
.com_imgBox .com_imgNote {
  position: absolute;
  font-size: 1rem;
  inset: auto 5px 5px auto;
}
.com_imgBox .com_imgNote_l {
  position: absolute;
  font-size: 1rem;
  inset: auto auto 5px 5px;
}
.com_imgBox .com_imgNote_b {
  position: absolute;
  font-size: 1rem;
  inset: calc(100% + 5px) 5px auto auto;
}
.com_text {
  font-size: 1.4rem;
  font-size: clamp(1.4rem, 3.5vw, 1.6rem);
}
.com_note {
  font-size: 1rem;
}
.com_w800 {
  width: 95%;
  max-width: 800px;
  margin: 0 auto;
}
.com_w1000 {
  width: 95%;
  max-width: 1000px;
  margin: 0 auto;
}
.com_w1200 {
  width: 95%;
  max-width: 1200px;
  margin: 0 auto;
}
.com_w1400 {
  width: 95%;
  max-width: 1400px;
  margin: 0 auto;
}
.com_flbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.com_notebox {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
  padding: clamp(20px, 6vw, 50px) 0;
}

/* ==========================================================================
   サイト内共通 
   ========================================================================== */
:root {
  scroll-behavior: smooth;
}

.btn_circle {
  max-width: 350px;
  display: block;
  padding-block: 1.5%;
  margin: 0 auto;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  overflow: hidden;
  -webkit-transition-duration: 0.4s;
          transition-duration: 0.4s;
  margin-top: 5%;
}
.btn_circle p {
  color: #fff;
  position: relative;
  z-index: 2;
}
.btn_circle::before {
  background: #ffffff;
  border-radius: 50%;
  content: "";
  opacity: 1;
  pointer-events: none;
  border-radius: 100%;
  position: absolute;
  top: 50%;
  right: -44%;
  width: 100%;
  aspect-ratio: 1/1;
  z-index: 1;
  -webkit-transform: translateY(-50%) scale(0.02);
          transform: translateY(-50%) scale(0.02);
  -webkit-transition: -webkit-transform 0.5s ease-in-out;
  transition: -webkit-transform 0.5s ease-in-out;
  transition: transform 0.5s ease-in-out;
  transition: transform 0.5s ease-in-out, -webkit-transform 0.5s ease-in-out;
  border-radius: 100%;
}
.btn_circle:hover::before {
  opacity: 1;
  -webkit-transform: translateY(-50%) scale(2);
          transform: translateY(-50%) scale(2);
  z-index: 1;
}

@media (max-width: 768px) {
  .btn_circle {
    padding-block: 5%;
    margin-top: 10%;
  }
  .btn_circle::before {
    -webkit-transform: translateY(-50%) scale(0.01);
            transform: translateY(-50%) scale(0.01);
  }
}
@font-face {
  font-family: "";
  src: url(../fonts/) format("opentype");
}
.eb-garamond {
  font-family: "EB Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.cormorant-garamond {
  font-family: "Cormorant Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.noto-sans-jp {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.shippori-mincho {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
}

.urbanist {
  font-family: "Urbanist", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.cormorant-infant {
  font-family: "Cormorant Infant", serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
}

body {
  font-family: YakuHanMP, "Shippori Mincho", "Hiragino Mincho ProN", "Noto Serif JP", "Yu Mincho", YuMincho, serif;
  font-weight: 500;
  font-style: normal;
}

/* ==========================================================================
   アニメーション共通設定
   ========================================================================== */
[class*=anime].scrollin {
  opacity: 1 !important;
  -webkit-filter: blur(0) !important;
          filter: blur(0) !important;
  -webkit-transform: translate(0, 0) !important;
          transform: translate(0, 0) !important;
  -webkit-transform: translate(0) translateY(0) translateZ(0) scale(1) !important;
          transform: translate(0) translateY(0) translateZ(0) scale(1) !important;
}
[class*=anime].scrollin img {
  scale: 1;
}

/* -----------------------------------------------------------
	ぼかしフェード
   ----------------------------------------------------------- */
[class*=anime_blur_] {
  opacity: 0;
  -webkit-filter: blur(100px);
          filter: blur(100px);
  -webkit-transition: opacity 2s, -webkit-filter 2s;
  transition: opacity 2s, -webkit-filter 2s;
  transition: opacity 2s, filter 2s;
  transition: opacity 2s, filter 2s, -webkit-filter 2s;
}

.anime_blur_2 {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.anime_blur_3 {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}

.anime_blur_4 {
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}

.anime_blur_5 {
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}

.anime_blur_6 {
  -webkit-transition-delay: 1.5s;
          transition-delay: 1.5s;
}

.anime_blur_7 {
  -webkit-transition-delay: 1.8s;
          transition-delay: 1.8s;
}

.anime_blur_8 {
  -webkit-transition-delay: 2.1s;
          transition-delay: 2.1s;
}

.anime_blur_9 {
  -webkit-transition-delay: 2.4s;
          transition-delay: 2.4s;
}

.anime_blur_10 {
  -webkit-transition-delay: 2.7s;
          transition-delay: 2.7s;
}

/* -----------------------------------------------------------
	下からふわっと表示
   ----------------------------------------------------------- */
[class*=anime_fadeUp_] {
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
  -webkit-transition: all 1s;
  transition: all 1s;
}

.anime_fadeUp_2 {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.anime_fadeUp_3 {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}

.anime_fadeUp_4 {
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}

.anime_fadeUp_5 {
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}

.anime_fadeUp_6 {
  -webkit-transition-delay: 1.5s;
          transition-delay: 1.5s;
}

.anime_fadeUp_7 {
  -webkit-transition-delay: 1.8s;
          transition-delay: 1.8s;
}

.anime_fadeUp_8 {
  -webkit-transition-delay: 2.1s;
          transition-delay: 2.1s;
}

.anime_fadeUp_9 {
  -webkit-transition-delay: 2.4s;
          transition-delay: 2.4s;
}

.anime_fadeUp_10 {
  -webkit-transition-delay: 2.7s;
          transition-delay: 2.7s;
}

/* -----------------------------------------------------------
	透明度変更
   ----------------------------------------------------------- */
[class*=anime_fade_] {
  opacity: 0;
  -webkit-transition: opacity 1.5s;
  transition: opacity 1.5s;
}

.anime_fade_1 {
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}

.anime_fade_2 {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.anime_fade_3 {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}

.anime_fade_4 {
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}

.anime_fade_5 {
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}

.anime_fade_6 {
  -webkit-transition-delay: 1.5s;
          transition-delay: 1.5s;
}

.anime_fade_7 {
  -webkit-transition-delay: 1.8s;
          transition-delay: 1.8s;
}

.anime_fade_8 {
  -webkit-transition-delay: 2.1s;
          transition-delay: 2.1s;
}

.anime_fade_9 {
  -webkit-transition-delay: 2.4s;
          transition-delay: 2.4s;
}

.anime_fade_10 {
  -webkit-transition-delay: 2.7s;
          transition-delay: 2.7s;
}

/* -----------------------------------------------------------
	画像表示（scale:1.1 → 1）
   ----------------------------------------------------------- */
[class*=anime_imgScale_] {
  overflow: hidden;
  opacity: 0;
  -webkit-transition: 1s;
  transition: 1s;
}
[class*=anime_imgScale_] img {
  scale: 1.1;
  -webkit-transition: 1.5s;
  transition: 1.5s;
}

.anime_imgScale_1 {
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}

.anime_imgScale_2 {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.anime_imgScale_3 {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}

.anime_imgScale_4 {
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}

.anime_imgScale_5 {
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}

.anime_imgScale_6 {
  -webkit-transition-delay: 1.5s;
          transition-delay: 1.5s;
}

.anime_imgScale_7 {
  -webkit-transition-delay: 1.8s;
          transition-delay: 1.8s;
}

.anime_imgScale_8 {
  -webkit-transition-delay: 2.1s;
          transition-delay: 2.1s;
}

.anime_imgScale_9 {
  -webkit-transition-delay: 2.4s;
          transition-delay: 2.4s;
}

.anime_imgScale_10 {
  -webkit-transition-delay: 2.7s;
          transition-delay: 2.7s;
}

/* -----------------------------------------------------------
	画像表示（clip-paths）
   ----------------------------------------------------------- */
[class*=anime_imgScale_custom_] {
  clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0% 100%);
  -webkit-transition: 1.2s cubic-bezier(0.165, 0.84, 0.44, 1) 0.2s;
  transition: 1.2s cubic-bezier(0.165, 0.84, 0.44, 1) 0.2s;
}
[class*=anime_imgScale_custom_].scrollin {
  clip-path: polygon(-1% -1%, 101% -1%, 101% 101%, -1% 101%);
}

.anime_imgScale_custom_1 {
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}

.anime_imgScale_custom_2 {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.anime_imgScale_custom_3 {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}

.anime_imgScale_custom_4 {
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}

.anime_imgScale_custom_5 {
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}

.anime_imgScale_custom_6 {
  -webkit-transition-delay: 1.5s;
          transition-delay: 1.5s;
}

.anime_imgScale_custom_7 {
  -webkit-transition-delay: 1.8s;
          transition-delay: 1.8s;
}

.anime_imgScale_custom_8 {
  -webkit-transition-delay: 2.1s;
          transition-delay: 2.1s;
}

.anime_imgScale_custom_9 {
  -webkit-transition-delay: 2.4s;
          transition-delay: 2.4s;
}

.anime_imgScale_custom_10 {
  -webkit-transition-delay: 2.7s;
          transition-delay: 2.7s;
}

.anime_text {
  -webkit-transform: unset;
          transform: unset;
}
.anime_text span {
  display: inline-block;
  -webkit-transition: 1s;
  transition: 1s;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  opacity: 0;
}
.anime_text span:nth-of-type(2) {
  -webkit-transition-delay: 0.12s;
          transition-delay: 0.12s;
}
.anime_text span:nth-of-type(3) {
  -webkit-transition-delay: 0.18s;
          transition-delay: 0.18s;
}
.anime_text span:nth-of-type(4) {
  -webkit-transition-delay: 0.24s;
          transition-delay: 0.24s;
}
.anime_text span:nth-of-type(5) {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}
.anime_text span:nth-of-type(6) {
  -webkit-transition-delay: 0.36s;
          transition-delay: 0.36s;
}
.anime_text span:nth-of-type(7) {
  -webkit-transition-delay: 0.42s;
          transition-delay: 0.42s;
}
.anime_text span:nth-of-type(8) {
  -webkit-transition-delay: 0.48s;
          transition-delay: 0.48s;
}
.anime_text span:nth-of-type(9) {
  -webkit-transition-delay: 0.54s;
          transition-delay: 0.54s;
}
.anime_text span:nth-of-type(10) {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}
.anime_text span:nth-of-type(11) {
  -webkit-transition-delay: 0.66s;
          transition-delay: 0.66s;
}
.anime_text span:nth-of-type(12) {
  -webkit-transition-delay: 0.72s;
          transition-delay: 0.72s;
}
.anime_text span:nth-of-type(13) {
  -webkit-transition-delay: 0.78s;
          transition-delay: 0.78s;
}
.anime_text span:nth-of-type(14) {
  -webkit-transition-delay: 0.84s;
          transition-delay: 0.84s;
}
.anime_text span:nth-of-type(15) {
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}
.anime_text span:nth-of-type(16) {
  -webkit-transition-delay: 0.96s;
          transition-delay: 0.96s;
}
.anime_text span:nth-of-type(17) {
  -webkit-transition-delay: 1.02s;
          transition-delay: 1.02s;
}
.anime_text span:nth-of-type(18) {
  -webkit-transition-delay: 1.08s;
          transition-delay: 1.08s;
}
.anime_text span:nth-of-type(19) {
  -webkit-transition-delay: 1.14s;
          transition-delay: 1.14s;
}
.anime_text span:nth-of-type(20) {
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}
.anime_text.scrollin span {
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
  opacity: 1;
}

header .fix_btn {
  background-color: #00bac8;
  width: 8%;
  top: 0;
  right: 2%;
  color: #00bac8;
  /* width: -webkit-fit-content; */
  width: -moz-fit-content;
  /* width: fit-content; */
  position: fixed;
  z-index: 10;
  max-width: 80px;
}
header .fix_btn .btn_circle {
  margin-top: 0;
  aspect-ratio: 1/1;
  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;
  font-size: clamp(1rem, 1vw, 1.6rem);
  cursor: pointer;
}
header .fix_btn .btn_circle::before {
  background: #ffffff;
  border-radius: 50%;
  content: "";
  opacity: 1;
  pointer-events: none;
  border-radius: 100%;
  position: absolute;
  top: 85%;
  right: -1%;
  width: 100%;
  aspect-ratio: 1/1;
  z-index: 1;
  -webkit-transform: translateY(-50%) scale(0.05);
          transform: translateY(-50%) scale(0.05);
  -webkit-transition: -webkit-transform 0.5s ease-in-out;
  transition: -webkit-transform 0.5s ease-in-out;
  transition: transform 0.5s ease-in-out;
  transition: transform 0.5s ease-in-out, -webkit-transform 0.5s ease-in-out;
  border-radius: 100%;
}
header .fix_btn .btn_circle {
  background-color: #00bac8;
  border: 1px solid #00bac8;
}
header .fix_btn .btn_circle:hover {
  border: 1px solid #00bac8;
  color: #00bac8;
}
header .fix_btn .btn_circle:hover p {
  color: #00bac8;
}
header .fix_btn .btn_circle:hover::before {
  opacity: 1;
  -webkit-transform: translateY(-50%) scale(2);
          transform: translateY(-50%) scale(2);
  z-index: 1;
}
header .bottom_header {
  position: fixed;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 10;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 80%;
  margin: 0 auto;
}
header .bottom_header nav {
  width: 50%;
}
header .bottom_header ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 100%;
}
header .bottom_header ul li {
  position: relative;
  width: 100%;
  padding-left: clamp(1rem, 2vw, 1.8rem);
  margin-right: 5%;
  width: 25%;
  opacity: 1;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
}
header .bottom_header ul li::before {
  content: "・";
  position: absolute;
  font-size: 1rem;
  font-size: clamp(1rem, 1vw, 1.8rem);
  left: 0%;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
header .bottom_header ul li a {
  display: block;
  width: 100%;
  padding-block: 30%;
}
header .bottom_header ul li a p {
  text-transform: uppercase;
  font-family: "Urbanist", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 1rem;
  font-size: clamp(1rem, 1vw, 1.8rem);
  font-weight: 700;
  text-shadow: 0 0 10px #000;
}
header .bottom_header ul li:last-child {
  margin-right: 0%;
}
@media (any-hover: hover) {
  header .bottom_header ul li:hover {
    opacity: 0.5;
  }
  header .bottom_header ul li:hover a p {
    text-shadow: 0 0 10px #000;
  }
}
@media screen and (max-width: 768px) {
  header .g_menu_btn {
    position: fixed;
    top: 1%;
    right: 2%;
    width: 10vw;
    aspect-ratio: 1/1;
    z-index: 11;
    max-width: 50px;
  }
  header .g_menu_btn > span {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 100%;
    height: 1px;
    background: #ffffff;
    -webkit-transition: all 0.6s ease;
    transition: all 0.6s ease;
  }
  header .g_menu_btn > span:first-of-type {
    top: 40%;
  }
  header .g_menu_btn > span:last-of-type {
    top: 60%;
  }
  header .g_menu_btn.active > span {
    background: #000000;
  }
  header .g_menu_btn.active > span:first-of-type {
    top: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
            transform: translate(-50%, -50%) rotate(45deg);
  }
  header .g_menu_btn.active > span:last-of-type {
    top: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
            transform: translate(-50%, -50%) rotate(-45deg);
  }
  header .fix_btn {
    top: unset;
    bottom: 5%;
    right: 0%;
    width: 25%;
    max-width: 150px;
  }
  header .fix_btn .btn_circle {
    aspect-ratio: 1.4/1;
    font-size: clamp(1rem, 4vw, 1.8rem);
  }
  header .fix_btn .btn_circle::before {
    top: 80%;
  }
  header .fix_btn .btn_circle {
    background-color: #00bac8;
    border: 1px solid #00bac8;
  }
  header .fix_btn .btn_circle p {
    margin-bottom: 10px;
  }
  header .fix_btn .btn_circle:hover {
    border: 1px solid #00bac8;
    color: #00bac8;
  }
  header .fix_btn .btn_circle:hover p {
    color: #00bac8;
  }
  header .bottom_header {
    position: fixed;
    top: 0;
    left: 0%;
    -webkit-transform: unset;
            transform: unset;
    z-index: 10;
    color: #000000;
    max-width: unset;
    width: 100%;
    margin: 0 auto;
    height: 0vh;
    background-color: #f3f0eb;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    overflow: hidden;
    -webkit-transition: 0.5s;
    transition: 0.5s;
  }
  header .bottom_header.active {
    height: 50vh;
  }
  header .bottom_header .logo {
    width: 50%;
    margin: 0 auto -18%;
  }
  header .bottom_header nav {
    width: 100%;
  }
  header .bottom_header ul {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 90%;
    margin: 0 auto;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  header .bottom_header ul li {
    position: relative;
    width: 100%;
    padding-left: clamp(1rem, 4vw, 1.8rem);
    margin-right: 0%;
    width: 45%;
  }
  header .bottom_header ul li::before {
    content: "・";
    position: absolute;
    font-size: 1rem;
    font-size: clamp(1rem, 1vw, 1.8rem);
    left: 0%;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  header .bottom_header ul li a {
    display: block;
    width: 100%;
    padding-block: 5%;
  }
  header .bottom_header ul li a p {
    text-transform: uppercase;
    font-family: "Urbanist", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 1rem;
    font-size: clamp(1rem, 5vw, 1.8rem);
    font-weight: 700;
    text-shadow: unset;
  }
  header .bottom_header ul li:last-child {
    margin-right: 0%;
    width: 100%;
    padding-left: 0;
  }
  header .bottom_header ul li:last-child::before {
    display: none;
  }
  header .bottom_header ul li:last-child .btn_circle {
    background-color: #00bac8;
    border: 1px solid #00bac8;
    margin-top: 2%;
  }
  header .bottom_header ul li:last-child .btn_circle p {
    font-family: "Shippori Mincho", serif;
    font-weight: 400;
    font-style: normal;
  }
  header .bottom_header ul li:last-child .btn_circle:hover {
    border: 1px solid #00bac8;
    color: #00bac8;
  }
  header .bottom_header ul li:last-child .btn_circle:hover p {
    color: #00bac8;
  }
  header {
    /*@media screen end*/
  }
}

@media screen and (max-width: 768px) {
  /*@media screen end*/
}
@media screen and (max-width: 768px) {
  /*@media screen end*/
}
@media screen and (max-width: 768px) {
  /*@media screen end*/
}
@media screen and (max-width: 768px) {
  /*@media screen end*/
}
footer {
  background-color: #f3f0eb;
  padding-block: 5% 2%;
}
@media screen and (max-width: 768px) {
  footer {
    padding-block: 10% 5%;
    /*@media screen end*/
  }
}
footer .flexBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
footer .flexBox .dd_menu .logo a {
  opacity: 1;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
@media (any-hover: hover) {
  footer .flexBox .dd_menu .logo a:hover {
    opacity: 0.7;
  }
}
footer .flexBox .dd_menu .logo .logoImg {
  width: 50%;
  margin-bottom: 10px;
}
footer .flexBox .dd_menu .logo p {
  font-size: 1.4rem;
  font-size: clamp(1.4rem, 1vw, 1.6rem);
}
footer .flexBox .dd_menu .inst {
  margin-top: 10%;
}
footer .flexBox .dd_menu .inst a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
footer .flexBox .dd_menu .inst a .inst_logo {
  width: 12%;
  aspect-ratio: 1/1;
  margin-right: 5%;
  background: #000;
  -webkit-mask-image: url("../../assets/img/common/icon_inst.svg");
          mask-image: url("../../assets/img/common/icon_inst.svg");
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
footer .flexBox .dd_menu .inst a p {
  opacity: 1;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  font-size: 1.2rem;
  font-size: clamp(1.2rem, 1vw, 1.4rem);
}
@media (any-hover: hover) {
  footer .flexBox .dd_menu .inst a:hover .inst_logo {
    background: -webkit-gradient(linear, left top, right top, from(rgba(247, 207, 0, 0.7)), color-stop(45%, rgba(246, 37, 2, 0.7)), color-stop(75%, rgba(182, 47, 82, 0.7)), to(rgba(113, 58, 166, 0.7)));
    background: linear-gradient(to right, rgba(247, 207, 0, 0.7), rgba(246, 37, 2, 0.7) 45%, rgba(182, 47, 82, 0.7) 75%, rgba(113, 58, 166, 0.7));
  }
  footer .flexBox .dd_menu .inst a:hover p {
    opacity: 0.7;
  }
}
footer .flexBox .dd_menu .home {
  margin-top: 10%;
}
footer .flexBox .dd_menu .home a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
footer .flexBox .dd_menu .home a .home_logo {
  width: 12%;
  aspect-ratio: 23/22;
  margin-right: 5%;
  background: #000;
  -webkit-mask-image: url("../../assets/img/common/icon_home.svg");
          mask-image: url("../../assets/img/common/icon_home.svg");
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
footer .flexBox .dd_menu .home a p {
  opacity: 1;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  font-size: 1.2rem;
  font-size: clamp(1.2rem, 1vw, 1.4rem);
}
@media (any-hover: hover) {
  footer .flexBox .dd_menu .home a:hover .home_logo {
    background-color: #00a99d;
  }
  footer .flexBox .dd_menu .home a:hover p {
    opacity: 0.7;
  }
}
@media screen and (max-width: 768px) {
  footer .flexBox .dd_menu {
    width: 100%;
    text-align: center;
  }
  footer .flexBox .dd_menu .logo .logoImg {
    max-width: 200px;
    width: 40%;
    margin: 0 auto;
  }
  footer .flexBox .dd_menu .inst {
    margin-top: 6%;
  }
  footer .flexBox .dd_menu .inst a {
    margin: 0 auto;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  footer .flexBox .dd_menu .inst a .inst_logo {
    display: block;
    width: 10%;
    background: -webkit-gradient(linear, left top, right top, from(rgba(247, 207, 0, 0.7)), color-stop(45%, rgba(246, 37, 2, 0.7)), color-stop(75%, rgba(182, 47, 82, 0.7)), to(rgba(113, 58, 166, 0.7)));
    background: linear-gradient(to right, rgba(247, 207, 0, 0.7), rgba(246, 37, 2, 0.7) 45%, rgba(182, 47, 82, 0.7) 75%, rgba(113, 58, 166, 0.7));
    margin-right: 10px;
  }
  footer .flexBox .dd_menu .home {
    margin-top: 6%;
  }
  footer .flexBox .dd_menu .home a {
    margin: 0 auto;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  footer .flexBox .dd_menu .home a .home_logo {
    display: block;
    width: 10%;
    max-width: 30px;
    background-color: #00a99d;
    margin-right: 10px;
  }
  footer .flexBox {
    /*@media screen end*/
  }
}
footer .flexBox .lp_menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
footer .flexBox .lp_menu .logo {
  width: 35%;
  margin-right: 10%;
}
footer .flexBox .lp_menu ul li {
  margin-bottom: 10px;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-left: clamp(1.4rem, 2vw, 1.8rem);
  opacity: 1;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
}
@media (any-hover: hover) {
  footer .flexBox .lp_menu ul li:hover {
    opacity: 0.5;
  }
}
footer .flexBox .lp_menu ul li::before {
  content: "・";
  position: absolute;
  font-size: 1.4rem;
  font-size: clamp(1.4rem, 1vw, 1.8rem);
  left: 0%;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
footer .flexBox .lp_menu ul li a {
  display: block;
  width: 100%;
}
footer .flexBox .lp_menu ul li a p {
  text-transform: uppercase;
  font-family: "Urbanist", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 1.4rem;
  font-size: clamp(1.4rem, 1vw, 1.8rem);
}
footer .flexBox .lp_menu ul li:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  footer .flexBox .lp_menu {
    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;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-top: 10%;
  }
  footer .flexBox .lp_menu .logo {
    width: 40%;
    margin-inline: auto;
  }
  footer .flexBox .lp_menu ul {
    width: 70%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-top: 10%;
  }
  footer .flexBox .lp_menu ul li {
    width: 50%;
    padding-left: clamp(1.6rem, 2vw, 2rem);
  }
  footer .flexBox .lp_menu ul li::before {
    font-size: 1.6rem;
    font-size: clamp(1.6rem, 1vw, 2rem);
  }
  footer .flexBox .lp_menu ul li a p {
    font-size: 1.7rem;
    font-size: clamp(1.7rem, 1vw, 2rem);
  }
  footer .flexBox .lp_menu ul li:nth-child(n+3) {
    margin-bottom: 0;
  }
  footer .flexBox {
    /*@media screen end*/
  }
}
footer .flexBox .policy_menu {
  width: 100%;
  margin-top: 3%;
}
footer .flexBox .policy_menu ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 90%;
  margin-left: auto;
}
footer .flexBox .policy_menu ul li {
  text-align: center;
  padding-inline: 20px;
}
footer .flexBox .policy_menu ul li a {
  display: block;
  width: 100%;
  opacity: 1;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
@media (any-hover: hover) {
  footer .flexBox .policy_menu ul li a:hover {
    opacity: 0.7;
  }
}
footer .flexBox .policy_menu ul li p {
  width: 100%;
  font-size: 1.2rem;
  font-size: clamp(1.2rem, 1vw, 1.4rem);
}
footer .flexBox .policy_menu ul li:nth-child(2) {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-left: 1px solid #000;
  border-right: 1px solid #000;
}
@media screen and (max-width: 768px) {
  footer .flexBox .policy_menu {
    width: 100%;
    margin-top: 5%;
  }
  footer .flexBox .policy_menu ul {
    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;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 100%;
    margin-left: auto;
  }
  footer .flexBox .policy_menu ul li {
    width: 50%;
    padding-inline: 0px;
  }
  footer .flexBox .policy_menu ul li a {
    display: block;
    width: 100%;
  }
  footer .flexBox .policy_menu ul li p {
    width: 100%;
    font-size: 1.2rem;
    font-size: clamp(1.2rem, 1vw, 1.4rem);
  }
  footer .flexBox .policy_menu ul li:nth-child(2) {
    border-left: 1px solid #000;
    border-right: unset;
  }
  footer .flexBox .policy_menu ul li:last-child {
    width: 100%;
    margin-top: 5px;
  }
  footer .flexBox {
    /*@media screen end*/
  }
}

@media screen and (max-width: 768px) {
  /*@media screen end*/
}
#top {
  background-color: #f3f0eb;
  /* モーダルの基本スタイル */
}
#top .modal {
  display: none;
  /* 初期状態では非表示 */
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100dvh;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 10000;
}
#top .modal-content {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 90%;
  max-width: 800px;
}
#top .modal-content .com_flbox {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
}
#top .modal-content .com_flbox .stay_box {
  width: calc(50% - 10px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
#top .modal-content .com_flbox .stay_box .text_box {
  background-color: #f3f0eb;
  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;
}
#top .modal-content .com_flbox .stay_box .text_box .text_area {
  text-align: center;
  margin-bottom: 1.1rem;
}
#top .modal-content .com_flbox .stay_box .text_box .text_area .p1 {
  font-size: 1rem;
  font-size: clamp(1rem, 1.2vw, 1.2rem);
}
#top .modal-content .com_flbox .stay_box .text_box .text_area .p2 {
  font-size: 1rem;
  font-size: clamp(1rem, 1.2vw, 1.6rem);
}
#top .modal-content .com_flbox .stay_box .text_box .text_area .p3 {
  font-size: 1rem;
  font-size: clamp(1rem, 1.2vw, 1.4rem);
}
#top .modal-content .com_flbox .stay_box .text_box .btn_circle {
  display: block;
  width: 95%;
  margin: 0 auto;
  background-color: #00bac8;
  border: 1px solid #00bac8;
  margin-top: 0;
  padding-block: 1.5rem;
}
#top .modal-content .com_flbox .stay_box .text_box .btn_circle:hover {
  border: 1px solid #00bac8;
  color: #00bac8;
}
#top .modal-content .com_flbox .stay_box .text_box .btn_circle:hover p {
  color: #00bac8;
}
@media screen and (max-width: 768px) {
  #top .modal-content .com_flbox {
    gap: 0px;
  }
  #top .modal-content .com_flbox .stay_box {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin-bottom: 10px;
  }
  #top .modal-content .com_flbox .stay_box .com_imgbox {
    width: 50%;
  }
  #top .modal-content .com_flbox .stay_box .text_box {
    width: 50%;
    background-color: #f3f0eb;
  }
  #top .modal-content .com_flbox .stay_box .text_box .text_area {
    margin-bottom: 0.7rem;
  }
  #top .modal-content .com_flbox .stay_box .text_box .text_area .p1 {
    font-size: 1rem;
    font-size: clamp(1rem, 1.2vw, 1.2rem);
  }
  #top .modal-content .com_flbox .stay_box .text_box .text_area .p2 {
    font-size: 1rem;
    font-size: clamp(1rem, 4vw, 1.6rem);
  }
  #top .modal-content .com_flbox .stay_box .text_box .text_area .p3 {
    font-size: 1rem;
    font-size: clamp(1rem, 1.2vw, 1.4rem);
  }
  #top .modal-content .com_flbox .stay_box .text_box a {
    padding-block: 0.5rem;
  }
  #top .modal-content .com_flbox .stay_box .text_box a p {
    font-size: 1.2rem;
    font-size: clamp(1.2rem, 1.2vw, 1.4rem);
  }
  #top .modal-content {
    /*@media screen end*/
  }
}
#top #closeModal {
  cursor: pointer;
  float: right;
  width: clamp(20px, 3vw, 40px);
  position: absolute;
  top: -15%;
  right: 0%;
}
@media screen and (max-width: 768px) {
  #top #closeModal {
    top: -9%;
  }
  #top {
    /*@media screen end*/
  }
}
#top .line {
  display: block;
  overflow: hidden;
}
#top .line > span {
  display: inline-block;
  -webkit-transform: translateY(1.2em);
          transform: translateY(1.2em);
  opacity: 0;
  -webkit-transition: opacity 0.6s ease, -webkit-transform 0.6s ease;
  transition: opacity 0.6s ease, -webkit-transform 0.6s ease;
  transition: transform 0.6s ease, opacity 0.6s ease;
  transition: transform 0.6s ease, opacity 0.6s ease, -webkit-transform 0.6s ease;
}
#top .is-show .line > span {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
}
#top .con_ttl h2 {
  font-family: "Cormorant Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 4rem;
  font-size: clamp(4rem, 10vw, 14rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  line-height: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
#top .con_ttl h2 span {
  display: inline-block;
}
#top .con_ttl h2 span.small {
  font-size: 1rem;
  font-size: clamp(1rem, 1vw, 1.6rem);
}
#top .con_ttl h2 span.small_2 {
  font-size: 1rem;
  font-size: clamp(1rem, 2vw, 2rem);
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
}
#top .con_ttl h2 span.italic {
  font-family: "Cormorant Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: italic;
}
#top .lead {
  font-size: 1.8rem;
  font-size: clamp(1.8rem, 3vw, 3rem);
  letter-spacing: 0rem;
  margin-bottom: 3%;
}
#top .text {
  font-size: 1.3rem;
  font-size: clamp(1.3rem, 1vw, 1.6rem);
  line-height: 2;
  letter-spacing: 0rem;
}
#top .con_wrap {
  padding-top: 5%;
}
#top .upper {
  text-transform: uppercase;
}
@media screen and (max-width: 768px) {
  #top .con_ttl h2 {
    font-size: 8rem;
    font-size: clamp(8rem, 15vw, 13.6rem);
  }
  #top .con_ttl h2 span.small {
    font-size: 1rem;
    font-size: clamp(1rem, 1vw, 1.6rem);
    font-family: "Shippori Mincho", serif;
    font-weight: 400;
    font-style: normal;
  }
  #top .con_ttl h2 span.italic {
    font-family: "Cormorant Garamond", serif;
    font-optical-sizing: auto;
    font-weight: 200;
    font-style: italic;
  }
  #top .lead {
    font-size: 1.8rem;
    font-size: clamp(1.8rem, 3vw, 3rem);
    margin-bottom: 3%;
  }
  #top .con_wrap {
    padding-top: 5%;
  }
  #top {
    /*@media screen end*/
  }
}
#top .mv {
  position: relative;
}
#top .mv .mv_slider {
  position: relative;
}
#top .mv .mv_slider::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background-color: rgba(0, 0, 0, 0.4);
  z-index: 1;
}
#top .mv .mv_con {
  position: absolute;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 2;
  color: #fff;
}
#top .mv .mv_con .logo_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
#top .mv .mv_con .logo_wrap .logo {
  width: 40%;
  margin: 0 auto;
}
#top .mv .mv_con .logo_wrap span {
  width: 1px;
  background: #ffffff;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), to(rgb(255, 255, 255)));
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 100%);
  margin: 7% auto;
  height: 100px;
}
#top .mv .mv_con .reserve_wrap p {
  font-size: 1.2rem;
  font-size: clamp(1.2rem, 1.2vw, 2.4rem);
  letter-spacing: 0.2rem;
}
#top .mv .mv_con .reserve_wrap .reserve_modalOpen {
  text-align: center;
  display: block;
  margin: 10% auto 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-bottom: 1px solid #fff;
  width: 80%;
  padding-bottom: 10px;
  position: relative;
  cursor: pointer;
}
#top .mv .mv_con .reserve_wrap .reserve_modalOpen .circle {
  border-radius: 50%;
  opacity: 1;
  pointer-events: none;
  border-radius: 100%;
  position: absolute;
  top: 50%;
  aspect-ratio: 1/1;
  z-index: 1;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-radius: 100%;
  background: #ffffff;
  width: 5px;
  right: 3%;
}
#top .mv .mv_con .reserve_wrap .reserve_modalOpen .circle::after {
  content: "";
  opacity: 1;
  pointer-events: none;
  border-radius: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) scale(1);
          transform: translate(-50%, -50%) scale(1);
  width: 100%;
  aspect-ratio: 1/1;
  z-index: 1;
  border-radius: 100%;
  background: rgba(255, 255, 255, 0.2509803922);
  min-width: 30px;
  -webkit-animation: flash 2s infinite;
          animation: flash 2s infinite;
}
#top .mv .mv_con .reserve_wrap .reserve_modalOpen p {
  font-size: 1.4rem;
  font-size: clamp(1.4rem, 1.2vw, 2rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  letter-spacing: 0;
}
#top .mv .mv_con .reserve_wrap .reserve_modalOpen p .noto-sans-jp {
  font-size: 1.1rem;
  font-size: clamp(1.1rem, 1.2vw, 1.4rem);
}
@-webkit-keyframes flash {
  0% {
    -webkit-transform: translate(-50%, -50%) scale(0);
            transform: translate(-50%, -50%) scale(0);
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
  100% {
    -webkit-transform: translate(-50%, -50%) scale(1.1);
            transform: translate(-50%, -50%) scale(1.1);
    opacity: 0;
  }
}
@keyframes flash {
  0% {
    -webkit-transform: translate(-50%, -50%) scale(0);
            transform: translate(-50%, -50%) scale(0);
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
  100% {
    -webkit-transform: translate(-50%, -50%) scale(1.1);
            transform: translate(-50%, -50%) scale(1.1);
    opacity: 0;
  }
}
@media (max-width: 768px) {
  #top .mv {
    position: relative;
  }
  #top .mv .mv_con {
    width: 80%;
  }
  #top .mv .mv_con .logo_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #top .mv .mv_con .logo_wrap .logo {
    width: 60%;
    margin: 0 auto;
  }
  #top .mv .mv_con .logo_wrap span {
    width: 1px;
    background: #ffffff;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), to(rgb(255, 255, 255)));
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 100%);
    margin: 7% auto;
    height: 100px;
  }
  #top .mv .mv_con .reserve_wrap {
    width: 100%;
  }
  #top .mv .mv_con .reserve_wrap p {
    font-size: 1.6rem;
    font-size: clamp(1.6rem, 1.2vw, 2.4rem);
    text-align: center;
  }
  #top .mv .mv_con .reserve_wrap .reserve_modalOpen {
    text-align: center;
    display: block;
    margin: 10% auto 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-bottom: 1px solid #fff;
    width: 70%;
    padding-bottom: 10px;
    position: relative;
  }
  #top .mv .mv_con .reserve_wrap .reserve_modalOpen .circle {
    border-radius: 50%;
    opacity: 1;
    pointer-events: none;
    border-radius: 100%;
    position: absolute;
    top: 50%;
    aspect-ratio: 1/1;
    z-index: 1;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    border-radius: 100%;
    background: #ffffff;
    width: 5px;
    right: 3%;
  }
  #top .mv .mv_con .reserve_wrap .reserve_modalOpen .circle::after {
    content: "";
    opacity: 1;
    pointer-events: none;
    border-radius: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) scale(1);
            transform: translate(-50%, -50%) scale(1);
    width: 100%;
    aspect-ratio: 1/1;
    z-index: 1;
    border-radius: 100%;
    background: rgba(255, 255, 255, 0.2509803922);
    min-width: 30px;
    -webkit-animation: flash 2s infinite;
            animation: flash 2s infinite;
  }
  #top .mv .mv_con .reserve_wrap .reserve_modalOpen p {
    font-size: 1.4rem;
    font-size: clamp(1.4rem, 1.2vw, 2rem);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    letter-spacing: 0;
  }
  #top .mv .mv_con .reserve_wrap .reserve_modalOpen p .noto-sans-jp {
    font-size: 1.1rem;
    font-size: clamp(1.1rem, 1.2vw, 1.4rem);
  }
  @-webkit-keyframes flash {
    0% {
      -webkit-transform: translate(-50%, -50%) scale(0);
              transform: translate(-50%, -50%) scale(0);
      opacity: 1;
    }
    50% {
      opacity: 0.5;
    }
    100% {
      -webkit-transform: translate(-50%, -50%) scale(1.1);
              transform: translate(-50%, -50%) scale(1.1);
      opacity: 0;
    }
  }
  @keyframes flash {
    0% {
      -webkit-transform: translate(-50%, -50%) scale(0);
              transform: translate(-50%, -50%) scale(0);
      opacity: 1;
    }
    50% {
      opacity: 0.5;
    }
    100% {
      -webkit-transform: translate(-50%, -50%) scale(1.1);
              transform: translate(-50%, -50%) scale(1.1);
      opacity: 0;
    }
  }
}
#top {
  /* 全体のコンテナ */
}
#top .reservation-container {
  width: 100%;
}
#top {
  /* PC用基本スタイル（ご提示のコードをベース） */
}
#top .reservation-bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fff;
  padding: 20px;
  gap: 20px;
  color: #333;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#top .form-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}
#top .form-item label {
  font-size: 14px;
  white-space: nowrap;
}
#top .input-wrapper input {
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  padding: 10px 12px;
  font-size: 14px;
  color: #333;
  outline: none;
}
#top .date-input input {
  width: 280px;
  color: #ccc;
}
#top .count-input input {
  width: 60px;
  text-align: center;
}
#top .facility-input input {
  width: 250px;
}
#top .checkbox-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  font-size: 14px;
  gap: 5px;
}
#top .search-btn {
  background: #00bac8;
  color: white;
  border: none;
  border-radius: 4px;
  width: 20%;
  max-width: 200px;
  padding-block: 10px;
  font-size: 16px;
  cursor: pointer;
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
          box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
}
#top {
  /* --- SP専用スタイル --- */
}
#top .sp-toggle-btn {
  display: none;
  /* PCでは隠す */
  width: 100%;
  background: #00bac8;
  /* 画像のような黒背景 */
  color: #fff;
  padding: 15px;
  font-size: 16px;
  border: none;
  cursor: pointer;
  text-align: center;
  letter-spacing: 0.1em;
  width: 90%;
  margin: 0 auto;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
}
@media (max-width: 768px) {
  #top .reservation-container {
    background-color: #fff;
    padding-block: 5%;
  }
  #top .sp-toggle-btn {
    display: block;
    /* SP時のみ表示 */
  }
  #top .reservation-bar {
    display: none;
    /* 初期状態は非表示 */
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    padding: 15px;
    gap: 15px;
  }
  #top {
    /* クラスがついた時だけ表示 */
  }
  #top .reservation-bar.is-active {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-animation: fadeIn 0.3s ease;
            animation: fadeIn 0.3s ease;
  }
  #top .form-item {
    -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;
  }
  #top .input-wrapper input,
  #top .date-input input,
  #top .facility-input input,
  #top .search-btn {
    width: 100%;
    max-width: none;
  }
}
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
#top .search-btn:hover {
  opacity: 0.8;
}
#top #about .flbox_1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#top #about .flbox_1 .con_ttl {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-right: auto;
}
#top #about .flbox_1 .con_ttl h2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#top #about .flbox_1 .con_ttl h2 .middle {
  margin-left: 20%;
  margin-top: -4%;
  font-size: 4rem;
  font-size: clamp(4rem, 8vw, 9.8rem);
}
#top #about .flbox_1 .con_ttl h2 .bottom {
  margin-left: 31%;
  margin-top: -7.5%;
  white-space: nowrap;
}
#top #about .flbox_1 .com_imgbox {
  margin-right: calc(50% - 50vw);
  width: max(60%, 50vw - 45% + 50%);
}
#top #about .flbox_2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 5%;
}
#top #about .flbox_2 .com_imgbox {
  width: 25%;
  margin-right: auto;
}
#top #about .flbox_2 .textBox {
  margin-right: calc(50% - 50vw);
  width: max(60%, 50vw - 45% + 50%);
  margin-left: 3%;
}
@media screen and (max-width: 768px) {
  #top #about .flbox_1 .con_ttl h2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  #top #about .flbox_1 .con_ttl h2 .middle {
    font-size: 6rem;
    font-size: clamp(6rem, 11vw, 9.4rem);
  }
  #top #about .flbox_1 .com_imgbox {
    margin-right: calc(50% - 50vw);
    width: 90%;
    margin-top: 5%;
  }
  #top #about .flbox_2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-top: 5%;
  }
  #top #about .flbox_2 .com_imgbox {
    width: 25%;
    margin-left: calc(50% - 50vw);
  }
  #top #about .flbox_2 .textBox {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: 3%;
  }
  #top {
    /*@media screen end*/
  }
}
#top #howto .con_ttl h2 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#top #howto {
  /* 画像 */
}
#top #howto .image-slider {
  overflow: visible;
  position: relative;
  margin: 5% auto;
}
#top #howto .image-slider .flame {
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 84%;
  pointer-events: none;
}
#top #howto .image-slider img {
  width: 100%;
  height: auto;
  display: block;
}
#top #howto .image-slider .splide__track {
  overflow: visible;
}
#top #howto {
  /* テキスト */
}
#top #howto .text-slider {
  max-width: 1000px;
  margin: 0 auto;
}
#top #howto .text-slider .splide__slide {
  opacity: 0;
  -webkit-transition: opacity 0.6s ease;
  transition: opacity 0.6s ease;
  text-align: center;
}
#top #howto .text-slider .splide__slide.is-active {
  opacity: 1;
}
#top #howto .text-slider .splide__slide .en {
  font-family: "Urbanist", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 1.2rem;
  font-size: clamp(1.2rem, 11vw, 1.4rem);
  margin-bottom: 0%;
  color: #9e9c98;
}
#top #howto .text-slider .splide__slide .lead {
  margin-block: 2%;
}
#top #howto .text-slider .splide__slide .text {
  margin-top: 0%;
}
#top #location .location_mv {
  position: relative;
  width: 100%;
  height: 100vh;
  /* 画面いっぱいの高さ */
  margin: 0;
  padding: 0;
  overflow: visible !important;
}
#top #location .location_mv .bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* transform: translate(-50%, -50%); は削除 */
  clip-path: polygon(20% 20%, 80% 20%, 80% 80%, 20% 80%);
  will-change: clip-path;
  z-index: 1;
}
#top #location .location_mv .bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#top #location .location_mv .con_box {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 2;
  text-align: center;
  /* 中央寄せ */
  width: 100%;
  /* 幅を確保 */
  opacity: 0;
  pointer-events: none;
  color: #fff;
}
#top #location .text {
  margin-block: 0 10%;
  text-align: center;
}
#top #location .bg_w {
  background-color: #fff;
  padding-bottom: 5%;
  padding-top: 8%;
}
#top #location .com_flbox {
  width: 85%;
}
#top #location .com_flbox .com_imgbox .imgCap {
  margin-top: 1%;
}
#top #location .com_flbox .com_imgbox .imgCap .p1 {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 1rem;
  font-size: clamp(1rem, 1vw, 1.2rem);
  color: #9e9c98;
  text-transform: uppercase;
}
#top #location .com_flbox .com_imgbox .imgCap .p2 {
  font-size: 1rem;
  font-size: clamp(1rem, 2vw, 1.6rem);
}
#top #location .flbox_1 {
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#top #location .flbox_1 .imgbox_1 {
  width: 53%;
}
#top #location .flbox_1 .imgbox_2 {
  width: 34%;
  margin-bottom: -8%;
}
#top #location .flbox_2 {
  margin-left: auto;
  margin-top: 5%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#top #location .flbox_2 .imgbox_1 {
  width: 36%;
  margin-right: 12%;
}
#top #location .flbox_2 .imgbox_2 {
  width: 52%;
  margin-bottom: -31%;
}
#top #location .reserve_bnr {
  max-width: 800px;
  width: 90%;
  margin: 25% auto 0;
  cursor: pointer;
}
#top #location .reserve_bnr .bnr_img {
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
@media (any-hover: hover) {
  #top #location .reserve_bnr .bnr_img:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 768px) {
  #top #location .text {
    margin: 10% auto;
    width: 90%;
  }
  #top #location .com_w1200 {
    width: 100%;
  }
  #top #location .bg_w {
    padding-bottom: 15%;
  }
  #top #location .com_flbox {
    width: 95%;
  }
  #top #location .com_flbox .com_imgbox .imgCap .p1 {
    font-size: 1rem;
    font-size: clamp(1rem, 1vw, 1.2rem);
  }
  #top #location .com_flbox .com_imgbox .imgCap .p2 {
    font-size: 1rem;
    font-size: clamp(1rem, 2.5vw, 1.6rem);
  }
  #top #location .flbox_1 .imgbox_1 {
    width: 80%;
  }
  #top #location .flbox_1 .imgbox_1 .imgCap {
    margin-left: 5%;
  }
  #top #location .flbox_1 .imgbox_2 {
    width: 42%;
    margin-bottom: 0%;
    margin-top: 7%;
    margin-left: auto;
  }
  #top #location .flbox_2 {
    margin-left: auto;
    margin-top: -30%;
  }
  #top #location .flbox_2 .imgbox_1 {
    width: 43%;
    margin-right: auto;
  }
  #top #location .flbox_2 .imgbox_2 {
    width: 80%;
    margin-bottom: 0%;
    margin-top: 10%;
  }
  #top #location .reserve_bnr {
    margin: 15% auto 0;
  }
  #top {
    /*@media screen end*/
  }
}
#top #private {
  padding-block: 5% 0;
}
@media (max-width: 768px) {
  #top #private {
    padding-block: 10%;
  }
}
#top #private .con_ttl h2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
#top #private .con_ttl h2 .bottom {
  margin-top: -8%;
  margin-right: -12%;
}
#top #private .con_ttl h2 .small {
  margin-right: 15%;
}
#top #private .w95 {
  width: 95%;
  margin: 0 auto;
}
#top #private .tab_wrap {
  margin-top: 5%;
}
#top #private .tab_wrap .tablist[role=tablist] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: #c8c8c8 1px solid;
}
#top #private .tab_wrap .tablist[role=tablist] .tab[role=tab] {
  width: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  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;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  box-sizing: border-box;
  border-right: #c8c8c8 1px solid;
  aspect-ratio: 5/1;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  background-color: rgba(175, 165, 154, 0.4);
}
#top #private .tab_wrap .tablist[role=tablist] .tab[role=tab] p {
  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;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  opacity: 0.3;
  font-family: YakuHanMP, "Shippori Mincho", "Hiragino Mincho ProN", "Noto Serif JP", "Yu Mincho", YuMincho, serif;
  font-weight: 500;
  font-style: normal;
  color: #000000;
}
#top #private .tab_wrap .tablist[role=tablist] .tab[role=tab] p span {
  text-align: center;
  font-size: clamp(1rem, 1.6vw, 1.8rem);
}
#top #private .tab_wrap .tablist[role=tablist] .tab[role=tab] p .small {
  font-size: 1rem;
  font-size: clamp(1rem, 2.5vw, 1.2rem);
}
#top #private .tab_wrap .tablist[role=tablist] .tab[role=tab] p .p1 {
  font-size: 1rem;
  font-size: clamp(1rem, 2vw, 2rem);
}
#top #private .tab_wrap .tablist[role=tablist] .tab[role=tab] p .p2 {
  font-size: 1rem;
  font-size: clamp(1rem, 2.5vw, 1.4rem);
}
#top #private .tab_wrap .tablist[role=tablist] .tab[role=tab]:last-child {
  border-right: none;
}
#top #private .tab_wrap .tablist[role=tablist] .tab[role=tab]:hover {
  background-color: #fff;
}
#top #private .tab_wrap .tablist[role=tablist] .tab[role=tab]:hover p {
  opacity: 1;
}
#top #private .tab_wrap .tablist[role=tablist] .tab[role=tab][aria-selected=true] {
  background-color: #fff;
}
#top #private .tab_wrap .tablist[role=tablist] .tab[role=tab][aria-selected=true] p {
  opacity: 1;
}
@media (max-width: 768px) {
  #top #private .tab_wrap {
    margin-top: 10%;
  }
  #top #private .tab_wrap .tablist[role=tablist] .tab[role=tab] {
    width: 100%;
    border-right: unset;
    border-bottom: #c8c8c8 1px solid;
    aspect-ratio: 5/1;
  }
  #top #private .tab_wrap .tablist[role=tablist] .tab[role=tab] p {
    width: 100%;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  #top #private .tab_wrap .tablist[role=tablist] .tab[role=tab] p .small {
    font-size: 1rem;
    font-size: clamp(1rem, 3vw, 1.2rem);
    width: 100%;
  }
  #top #private .tab_wrap .tablist[role=tablist] .tab[role=tab] p .p1 {
    font-size: 1rem;
    font-size: clamp(1rem, 4vw, 2rem);
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  #top #private .tab_wrap .tablist[role=tablist] .tab[role=tab] p .p2 {
    font-size: 1rem;
    font-size: clamp(1rem, 3.5vw, 1.4rem);
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: 1rem;
  }
  #top #private .tab_wrap .tablist[role=tablist] .tab[role=tab]:last-child {
    border-bottom: none;
  }
}
#top #private .tab_wrap .tabpanel {
  padding-top: 5%;
}
#top #private .tab_wrap .tabpanel .con_ttl .en {
  font-family: "Cormorant Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 1rem;
  font-size: clamp(1rem, 2.5vw, 2rem);
  padding-left: clamp(1rem, 2.5vw, 2rem);
  font-style: italic;
  letter-spacing: 0rem;
  position: relative;
}
#top #private .tab_wrap .tabpanel .con_ttl .en::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 60%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: 1rem;
  font-size: clamp(1rem, 2.5vw, 2rem);
  color: #9e9c98;
}
#top #private .tab_wrap .tabpanel .con_ttl .jp {
  font-size: 1rem;
  font-size: clamp(1rem, 2.5vw, 3.4rem);
  font-weight: 600;
}
@media (max-width: 768px) {
  #top #private .tab_wrap .tabpanel .con_ttl .en {
    font-size: 1rem;
    font-size: clamp(1rem, 5vw, 2rem);
    padding-left: clamp(1rem, 5vw, 2rem);
  }
  #top #private .tab_wrap .tabpanel .con_ttl .en::before {
    font-size: 1rem;
    font-size: clamp(1rem, 5vw, 2rem);
  }
  #top #private .tab_wrap .tabpanel .con_ttl .jp {
    font-size: 1rem;
    font-size: clamp(1rem, 5vw, 3.4rem);
  }
}
#top #private .tab_wrap .tabpanel .slider_wrap .name {
  text-align: center;
  margin-block: 2%;
  font-size: clamp(1rem, 5vw, 4.5rem);
  font-weight: 800;
  line-height: 1;
  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;
}
#top #private .tab_wrap .tabpanel .slider_wrap .name span {
  font-weight: 800;
}
#top #private .tab_wrap .tabpanel .slider_wrap .name .small {
  font-size: clamp(1rem, 5vw, 2.5rem);
}
#top #private .tab_wrap .tabpanel .slider_wrap .splide .splide__arrow {
  top: 108%;
  -webkit-transform: translateY(0%);
          transform: translateY(0%);
  background-color: unset;
}
#top #private .tab_wrap .tabpanel .slider_wrap .splide .splide__arrow::before {
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0;
  content: "";
  left: 0;
  margin: auto;
  position: absolute;
  top: 0;
  width: 50px;
}
#top #private .tab_wrap .tabpanel .slider_wrap .splide .prev::before {
  background-image: url(../../assets/img/top/arrow_prev.svg);
  background-position: left;
}
#top #private .tab_wrap .tabpanel .slider_wrap .splide .next {
  right: 3rem;
}
#top #private .tab_wrap .tabpanel .slider_wrap .splide {
  /* 次の矢印 */
}
#top #private .tab_wrap .tabpanel .slider_wrap .splide .next::before {
  background-image: url(../../assets/img/top/arrow_next.svg);
  background-position: right;
}
#top #private .tab_wrap .tabpanel .slider_wrap .thumbnails {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1rem 1fr 1rem 1fr 1rem 1fr 1rem 1fr 1rem 1fr 1rem 1fr;
  grid-template-columns: repeat(7, 1fr);
  gap: 1rem;
}
#top #private .tab_wrap .tabpanel .slider_wrap .thumbnails .thumbnail {
  position: relative;
}
#top #private .tab_wrap .tabpanel .slider_wrap .thumbnails .thumbnail figcaption {
  position: absolute;
  color: #fff;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  opacity: 1;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1rem;
  font-size: clamp(1rem, 1.8vw, 1.8rem);
  width: 100%;
}
#top #private .tab_wrap .tabpanel .slider_wrap .thumbnails .thumbnail::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background-color: #000000;
  opacity: 0.5;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media (any-hover: hover) {
  #top #private .tab_wrap .tabpanel .slider_wrap .thumbnails .thumbnail:hover figcaption {
    opacity: 0;
  }
  #top #private .tab_wrap .tabpanel .slider_wrap .thumbnails .thumbnail:hover::before {
    opacity: 0;
  }
}
#top #private .tab_wrap .tabpanel .slider_wrap .thumbnails .thumbnail.active figcaption {
  opacity: 0;
}
#top #private .tab_wrap .tabpanel .slider_wrap .thumbnails .thumbnail.active::before {
  opacity: 0;
}
@media (max-width: 768px) {
  #top #private .tab_wrap .tabpanel .slider_wrap {
    margin-top: 10%;
  }
  #top #private .tab_wrap .tabpanel .slider_wrap .name {
    margin-block: 5%;
  }
  #top #private .tab_wrap .tabpanel .slider_wrap .splide .splide__arrow {
    width: 2%;
    top: 110%;
  }
  #top #private .tab_wrap .tabpanel .slider_wrap .splide .prev {
    left: 0;
  }
  #top #private .tab_wrap .tabpanel .slider_wrap .splide .next {
    right: 0;
  }
  #top #private .tab_wrap .tabpanel .slider_wrap .splide .prev::before {
    background-image: url(../../assets/img/top/arrow_prev.svg);
    background-position: left;
    width: 100%;
  }
  #top #private .tab_wrap .tabpanel .slider_wrap .splide {
    /* 次の矢印 */
  }
  #top #private .tab_wrap .tabpanel .slider_wrap .splide .next::before {
    background-image: url(../../assets/img/top/arrow_next.svg);
    background-position: right;
    width: 100%;
  }
  #top #private .tab_wrap .tabpanel .slider_wrap .thumbnails {
    -ms-grid-columns: 1fr 0.5rem 1fr 0.5rem 1fr 0.5rem 1fr;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.5rem;
  }
  #top #private .tab_wrap .tabpanel .slider_wrap .thumbnails figcaption {
    font-size: 1rem;
    font-size: clamp(1rem, 3.5vw, 1.8rem);
  }
}
#top #private .tab_wrap .tabpanel .textBox {
  margin-top: 5%;
}
#top #private .tab_wrap .tabpanel .textBox .text {
  text-align: center;
}
#top #private .tab_wrap .tabpanel .textBox .btn_circle {
  max-width: 350px;
  background-color: #00bac8;
  border: 1px solid #00bac8;
  margin-top: 3%;
}
#top #private .tab_wrap .tabpanel .textBox .btn_circle:hover {
  border: 1px solid #00bac8;
  color: #00bac8;
}
#top #private .tab_wrap .tabpanel .textBox .btn_circle:hover p {
  color: #00bac8;
}
@media (max-width: 768px) {
  #top #private .tab_wrap .tabpanel .textBox {
    margin-top: 10%;
  }
  #top #private .tab_wrap .tabpanel .textBox .text {
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
    letter-spacing: -0.04rem;
  }
}
#top #private .tab_wrap .tabpanel .outline_wrap {
  margin-top: 5%;
}
#top #private .tab_wrap .tabpanel .outline_wrap .com_flbox .textBox {
  margin-top: 0;
  width: 45%;
}
#top #private .tab_wrap .tabpanel .outline_wrap .com_flbox .textBox .text {
  margin-top: 5%;
  text-align: left;
}
#top #private .tab_wrap .tabpanel .outline_wrap .com_flbox .imgBox {
  width: 50%;
}
@media (max-width: 768px) {
  #top #private .tab_wrap .tabpanel .outline_wrap .com_flbox .textBox {
    margin-top: 0;
    width: 100%;
  }
  #top #private .tab_wrap .tabpanel .outline_wrap .com_flbox .textBox .text {
    margin-top: 5%;
    text-align: left;
  }
  #top #private .tab_wrap .tabpanel .outline_wrap .com_flbox .imgBox {
    width: 100%;
    margin-top: 5%;
  }
  #top #private .tab_wrap .tabpanel .outline_wrap .com_flbox .imgBox .text {
    margin-top: 5%;
    text-align: center;
  }
}
#top #private .tab_wrap .tabpanel .equipment_wrap .equipmentList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 5%;
  padding-block: 3%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-top: 1px solid #c8c8c8;
  border-bottom: 1px solid #c8c8c8;
}
#top #private .tab_wrap .tabpanel .equipment_wrap .equipmentList .equipment {
  display: -ms-grid;
  display: grid;
  grid-auto-rows: auto;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-grid-rows: auto 0px auto;
      grid-template-areas: "equipment_icon name" "equipment_icon text";
  -ms-grid-columns: 9% 10px auto;
  grid-template-columns: 9% auto;
  grid-auto-rows: auto;
  gap: 0px 10px;
  margin-bottom: 2%;
  width: 50%;
}
#top #private .tab_wrap .tabpanel .equipment_wrap .equipmentList .equipment .equipment_icon {
  -ms-grid-row: 1;
  -ms-grid-row-span: 3;
  -ms-grid-column: 1;
  grid-area: equipment_icon;
}
#top #private .tab_wrap .tabpanel .equipment_wrap .equipmentList .equipment .name {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  grid-area: name;
  font-size: 1rem;
  font-size: clamp(1rem, 2vw, 2rem);
  font-weight: 800;
}
#top #private .tab_wrap .tabpanel .equipment_wrap .equipmentList .equipment .text {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
  grid-area: text;
  font-size: 1rem;
  font-size: clamp(1rem, 1vw, 1.4rem);
  letter-spacing: 0rem;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  line-height: 1.7;
}
@media screen and (max-width: 768px) {
  #top #private .tab_wrap .tabpanel .equipment_wrap .equipmentList {
    padding-block: 8%;
    margin-top: 5%;
  }
  #top #private .tab_wrap .tabpanel .equipment_wrap .equipmentList .box_l,
  #top #private .tab_wrap .tabpanel .equipment_wrap .equipmentList .box_r {
    width: 100%;
  }
  #top #private .tab_wrap .tabpanel .equipment_wrap .equipmentList .equipment {
        grid-template-areas: "equipment_icon name" "text text";
    -ms-grid-columns: 8% auto;
    grid-template-columns: 8% auto;
    grid-auto-rows: auto;
    width: 100%;
    margin-bottom: 4%;
  }
  #top #private .tab_wrap .tabpanel .equipment_wrap .equipmentList .equipment .name {
    font-size: 1rem;
    font-size: clamp(1rem, 4vw, 2rem);
  }
  #top #private .tab_wrap .tabpanel .equipment_wrap .equipmentList .equipment .text {
    font-size: clamp(1rem, 2.7vw, 1.4rem);
    margin-top: 5px;
  }
  #top #private .tab_wrap .tabpanel .equipment_wrap {
    /*@media screen end*/
  }
  #top #private .tab_wrap .tabpanel .equipment_wrap .equipmentList .equipment .equipment_icon {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
  }
  #top #private .tab_wrap .tabpanel .equipment_wrap .equipmentList .equipment .name {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
}
#top #private .tab_wrap .tabpanel .stayFlow_wrap .flow__list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 24px 1fr 24px 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 5%;
}
#top #private .tab_wrap .tabpanel .stayFlow_wrap .flow__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  border: 2px solid #ccc;
  border-radius: 12px;
  background: #fff;
  height: 100%;
  min-height: 450px;
  padding-top: 10%;
}
#top #private .tab_wrap .tabpanel .stayFlow_wrap .flow__item .flow__icon {
  min-height: 60px;
}
#top #private .tab_wrap .tabpanel .stayFlow_wrap .flow__item .flow__icon img {
  height: 100%;
  width: auto;
}
#top #private .tab_wrap .tabpanel .stayFlow_wrap .flow__item .flow__step {
  margin-bottom: 12px;
  font-size: clamp(1rem, 2vw, 1.4em);
  font-weight: 800;
  margin-top: 3%;
}
#top #private .tab_wrap .tabpanel .stayFlow_wrap .flow__item .flow__step .num {
  font-size: 1rem;
  font-size: clamp(1rem, 3vw, 3rem);
  font-family: "Cormorant Infant", serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  color: #9e9c98;
}
#top #private .tab_wrap .tabpanel .stayFlow_wrap .flow__item .flow__text {
  font-size: 1rem;
  font-size: clamp(1rem, 3vw, 1.4rem);
  line-height: 1.8;
  text-align: left;
  width: 85%;
  max-width: 0 auto;
}
#top #private .tab_wrap .tabpanel .stayFlow_wrap .flow__item .flow__text .small {
  font-size: 1rem;
  font-size: clamp(1rem, 3vw, 1.2rem);
}
#top #private .tab_wrap .tabpanel .stayFlow_wrap .flow__item:nth-child(1) .flow__icon img, #top #private .tab_wrap .tabpanel .stayFlow_wrap .flow__item:nth-child(2) .flow__icon img {
  height: 80%;
  margin: auto;
}
#top #private .tab_wrap .tabpanel .stayFlow_wrap .flow__item:nth-child(5) .flow__icon img {
  height: 85%;
  margin: auto;
}
#top #private .tab_wrap .tabpanel .stayFlow_wrap .flow__item:nth-child(5) .flow__text {
  text-align: center;
}
@media (max-width: 768px) {
  #top #private .tab_wrap .tabpanel .stayFlow_wrap .flow__list {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
  #top #private .tab_wrap .tabpanel .stayFlow_wrap .flow__item {
    min-height: unset;
    padding-block: 5%;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  #top #private .tab_wrap .tabpanel .stayFlow_wrap .flow__item .flow__icon {
    min-height: unset;
    width: 10%;
    margin-left: 5%;
  }
  #top #private .tab_wrap .tabpanel .stayFlow_wrap .flow__item .flow__icon img {
    height: 100%;
    width: auto;
  }
  #top #private .tab_wrap .tabpanel .stayFlow_wrap .flow__item .flow__step {
    margin-bottom: 0px;
    font-size: clamp(1rem, 5vw, 5em);
    font-weight: 800;
    margin-top: 0%;
    margin-left: 5%;
  }
  #top #private .tab_wrap .tabpanel .stayFlow_wrap .flow__item .flow__step .num {
    font-size: 1rem;
    font-size: clamp(1rem, 8vw, 3rem);
    font-family: "Cormorant Infant", serif;
    font-optical-sizing: auto;
    font-weight: 300;
    font-style: normal;
    vertical-align: inherit;
  }
  #top #private .tab_wrap .tabpanel .stayFlow_wrap .flow__item .flow__text {
    font-size: 1rem;
    font-size: clamp(1rem, 3vw, 1.4rem);
    line-height: 1.8;
    text-align: left;
    width: 90%;
    margin: 3% auto 0;
  }
  #top #private .tab_wrap .tabpanel .stayFlow_wrap .flow__item .flow__text .small {
    font-size: clamp(1rem, 1vw, 1.2rem);
  }
  #top #private .tab_wrap .tabpanel .stayFlow_wrap .flow__item:nth-child(3) .flow__icon {
    width: 10%;
  }
  #top #private .tab_wrap .tabpanel .stayFlow_wrap .flow__item:nth-child(3) .flow__icon img {
    height: 80%;
    margin: auto;
  }
  #top #private .tab_wrap .tabpanel .stayFlow_wrap .flow__item:nth-child(5) .flow__icon img {
    height: 85%;
    margin: auto;
  }
  #top #private .tab_wrap .tabpanel .stayFlow_wrap .flow__item:nth-child(5) .flow__text {
    text-align: left;
  }
}
#top #private .tab_wrap .tabpanel .access_wrap .com_flbox {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media (max-width: 768px) {
  #top #private .tab_wrap .tabpanel .access_wrap .com_flbox {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
#top #private .tab_wrap .tabpanel .access_wrap .com_flbox .box_l {
  width: 52%;
}
#top #private .tab_wrap .tabpanel .access_wrap .com_flbox .box_l iframe {
  width: 100%;
  height: unset;
  aspect-ratio: 1.3/1;
}
@media (max-width: 768px) {
  #top #private .tab_wrap .tabpanel .access_wrap .com_flbox .box_l {
    width: 100%;
  }
  #top #private .tab_wrap .tabpanel .access_wrap .com_flbox .box_l iframe {
    width: 100%;
    height: unset;
    aspect-ratio: 1.3/1;
  }
}
#top #private .tab_wrap .tabpanel .access_wrap .com_flbox .box_r {
  margin-left: 5%;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
#top #private .tab_wrap .tabpanel .access_wrap .com_flbox .box_r .textBox p {
  font-size: 1rem;
  font-size: clamp(1rem, 1vw, 1.8rem);
  line-height: 2;
  letter-spacing: 0rem;
}
#top #private .tab_wrap .tabpanel .access_wrap .com_flbox .box_r a {
  max-width: 350px;
  background-color: #afa59a;
  border: 1px solid #afa59a;
  margin-left: 0;
  margin-right: auto;
  padding-block: 4%;
}
#top #private .tab_wrap .tabpanel .access_wrap .com_flbox .box_r a:hover {
  border: 1px solid #afa59a;
  color: #afa59a;
}
#top #private .tab_wrap .tabpanel .access_wrap .com_flbox .box_r a:hover p {
  color: #afa59a;
}
@media (max-width: 768px) {
  #top #private .tab_wrap .tabpanel .access_wrap .com_flbox .box_r {
    margin-left: 0%;
    width: 100%;
  }
  #top #private .tab_wrap .tabpanel .access_wrap .com_flbox .box_r .textBox {
    margin-block: 5% 10%;
  }
  #top #private .tab_wrap .tabpanel .access_wrap .com_flbox .box_r .textBox p {
    font-size: 1.3rem;
    font-size: clamp(1.3rem, 1vw, 1.6rem);
  }
  #top #private .tab_wrap .tabpanel .access_wrap .com_flbox .box_r a {
    margin-top: 3%;
  }
  #top #private .tab_wrap .tabpanel .access_wrap .com_flbox .box_r a:hover {
    border: 1px solid #afa59a;
    color: #afa59a;
  }
  #top #private .tab_wrap .tabpanel .access_wrap .com_flbox .box_r a:hover p {
    color: #afa59a;
  }
}
#top #private .tab_wrap .tabpanel .rentalCar_wrap {
  width: 80%;
  margin: 7% auto 0;
}
#top #private .tab_wrap .tabpanel .rentalCar_wrap .rentalCar_bnr {
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
@media (any-hover: hover) {
  #top #private .tab_wrap .tabpanel .rentalCar_wrap .rentalCar_bnr:hover {
    opacity: 0.7;
  }
}
#top #private .tab_wrap .tabpanel .rentalCar_wrap .ttl_wrap {
  position: relative;
}
#top #private .tab_wrap .tabpanel .rentalCar_wrap .ttl_wrap .text_wrap {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
}
#top #private .tab_wrap .tabpanel .rentalCar_wrap .ttl_wrap .text_wrap p {
  color: #fff;
  text-align: center;
}
#top #private .tab_wrap .tabpanel .rentalCar_wrap .ttl_wrap .text_wrap .p1 {
  font-size: 1rem;
  font-size: clamp(1rem, 5vw, 6rem);
  font-weight: 800;
}
#top #private .tab_wrap .tabpanel .rentalCar_wrap .ttl_wrap .text_wrap .p2 {
  font-size: 1rem;
  font-size: clamp(1rem, 2.3vw, 2.3rem);
}
#top #private .tab_wrap .tabpanel .rentalCar_wrap .btn_circle {
  max-width: 350px;
  background-color: #00bac8;
  border: 1px solid #00bac8;
  margin-top: 5%;
}
#top #private .tab_wrap .tabpanel .rentalCar_wrap .btn_circle:hover {
  border: 1px solid #00bac8;
  color: #00bac8;
}
#top #private .tab_wrap .tabpanel .rentalCar_wrap .btn_circle:hover p {
  color: #00bac8;
}
@media (max-width: 768px) {
  #top #private .tab_wrap .tabpanel .rentalCar_wrap {
    width: 100%;
    margin: 10% auto 0;
  }
  #top #private .tab_wrap .tabpanel .rentalCar_wrap .ttl_wrap {
    position: relative;
  }
  #top #private .tab_wrap .tabpanel .rentalCar_wrap .ttl_wrap .text_wrap {
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 100%;
  }
  #top #private .tab_wrap .tabpanel .rentalCar_wrap .ttl_wrap .text_wrap p {
    color: #fff;
    text-align: center;
  }
  #top #private .tab_wrap .tabpanel .rentalCar_wrap .ttl_wrap .text_wrap .p1 {
    font-size: 1rem;
    font-size: clamp(1rem, 6vw, 6rem);
    font-weight: 800;
  }
  #top #private .tab_wrap .tabpanel .rentalCar_wrap .ttl_wrap .text_wrap .p2 {
    font-size: 1rem;
    font-size: clamp(1rem, 3vw, 2.3rem);
  }
}
#top #private .tab_wrap #madanbashi .slider_wrap .name,
#top #private .tab_wrap #ueno .slider_wrap .name {
  margin-block: 1.5%;
}
#top #private .tab_wrap #madanbashi .slider_wrap .name p,
#top #private .tab_wrap #ueno .slider_wrap .name p {
  line-height: 1;
}
#top #private .tab_wrap #madanbashi .slider_wrap .name span,
#top #private .tab_wrap #ueno .slider_wrap .name span {
  font-weight: 800;
  display: block;
  margin-top: 10px;
}
#top #private .tab_wrap #madanbashi .slider_wrap .name .small,
#top #private .tab_wrap #ueno .slider_wrap .name .small {
  font-size: clamp(1rem, 5vw, 2rem);
}
@media (max-width: 768px) {
  #top #private .tab_wrap #madanbashi .slider_wrap,
  #top #private .tab_wrap #ueno .slider_wrap {
    margin-top: 10%;
  }
  #top #private .tab_wrap #madanbashi .slider_wrap .name,
  #top #private .tab_wrap #ueno .slider_wrap .name {
    margin-block: 5%;
  }
  #top #private .tab_wrap #madanbashi .slider_wrap .name span,
  #top #private .tab_wrap #ueno .slider_wrap .name span {
    margin-top: 5px;
  }
  #top #private .tab_wrap #madanbashi .slider_wrap .name .small,
  #top #private .tab_wrap #ueno .slider_wrap .name .small {
    font-size: clamp(1rem, 3vw, 2rem);
  }
  #top #private .tab_wrap #madanbashi .slider_wrap .thumbnails,
  #top #private .tab_wrap #ueno .slider_wrap .thumbnails {
    -ms-grid-columns: 1fr 0.5rem 1fr 0.5rem 1fr 0.5rem 1fr;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.5rem;
  }
  #top #private .tab_wrap #madanbashi .slider_wrap .thumbnails figcaption,
  #top #private .tab_wrap #ueno .slider_wrap .thumbnails figcaption {
    font-size: 1rem;
    font-size: clamp(1rem, 3vw, 1.8rem);
  }
}
@media screen and (max-width: 768px) {
  #top {
    /*@media screen end*/
  }
}
@media screen and (max-width: 768px) {
  #top {
    /*@media screen end*/
  }
}
@media screen and (max-width: 768px) {
  #top {
    /*@media screen end*/
  }
}
@media screen and (max-width: 768px) {
  #top {
    /*@media screen end*/
  }
}
/*# sourceMappingURL=style.css.map */