@charset "UTF-8";
/*! destyle.css v4.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none; /* 1 */
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit; /* 2 */
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Fix appearance for Firefox
 */
[type=number] {
  -moz-appearance: textfield;
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-color: inherit; /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* font
――――――――――――――――――――――――――――――――――――――――――――――*/
/*――――――――――――――――――――――――――――――――――――――――――――
/* vw
――――――――――――――――――――――――――――――――――――――――――――――*/
/*――――――――――――――――――――――――――――――――――――――――――――
/* line-height
――――――――――――――――――――――――――――――――――――――――――――――*/
/**********************************************************

ブレイクポイント

***********************************************************/
/*――――――――――――――――――――――――――――――――――――――――――――
/* pc sp 出し分けのためのcss
――――――――――――――――――――――――――――――――――――――――――――――*/
@media screen and (min-width: 769px) {
  .spOnly {
    display: none !important;
  }
  img {
    image-rendering: -webkit-optimize-contrast;
  }
}
@media screen and (max-width: 768px) {
  .pcOnly {
    display: none !important;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* html,body
――――――――――――――――――――――――――――――――――――――――――――――*/
* {
  min-height: 0;
  min-width: 0;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 72px;
}
body {
  position: relative;
  font-size: 16px;
  font-weight: 500;
  font-family: "游ゴシック体", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  line-height: 1.6875;
  min-height: 100vh;
  background-color: #F5FAFC;
  color: #36363C;
  overflow-x: clip;
}

@media screen and (max-width: 768px) {
  body {
    padding-bottom: 60px;
  }
}
body.js-notScroll {
  overflow-y: hidden;
}

.l-bodyWrap {
  padding-top: 72px;
  overflow-x: hidden;
}
@media screen and (max-width: 768px) {
  .l-bodyWrap {
    padding-top: 60px;
  }
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* デフォルトの設定
――――――――――――――――――――――――――――――――――――――――――――――*/
img {
  display: block;
  max-width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  image-orientation: from-image;
  pointer-events: none;
}

svg {
  display: block;
}

a {
  transition: 0.3s;
  cursor: pointer;
}
a:hover {
  opacity: 0.7;
}
a.c-imgScale img {
  transition: 0.5s;
}
a.c-imgScale:hover {
  opacity: 1;
}
a.c-imgScale:hover img {
  transform: scale(1.1);
}
a circle,
a path,
a line,
a rect {
  transition: 0.3s;
}
a::before, a::after {
  transition: 0.3s;
}

input,
textarea {
  font-family: "游ゴシック体", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}

.font-accent {
  font-family: "Shippori Mincho", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-weight: 600;
}

.relative {
  position: relative;
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* 共通のレイアウト
――――――――――――――――――――――――――――――――――――――――――――――*/
/*** section ***/
.l-section {
  padding: 75px clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px) 75px;
  position: relative;
}

.l-inner {
  width: 100%;
  max-width: 1160px;
  margin: 0 auto;
}
.l-inner.--s {
  max-width: 1040px;
}

@media screen and (max-width: 768px) {
  .l-section {
    padding-right: 15px;
    padding-left: 15px;
  }
  .l-inner {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* 余白調整
――――――――――――――――――――――――――――――――――――――――――――――*/
.l-pd {
  padding-right: clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px);
  padding-left: clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px);
}

.l-pd-left {
  padding-left: clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px);
}

.l-pd-right {
  padding-right: clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px);
}

.l-pd0-left {
  margin-left: clamp(-60px, -30px + -30 * (100vw - 768px) / (1280 - 768), -30px);
}

.l-pd0-right {
  margin-right: clamp(-60px, -30px + -30 * (100vw - 768px) / (1280 - 768), -30px);
}

@media screen and (max-width: 768px) {
  .l-pd {
    padding-right: 20px;
    padding-left: 20px;
  }
  .l-pd-left {
    padding-left: 20px;
  }
  .l-pd-right {
    padding-right: 20px;
  }
  .l-pd0-left {
    margin-left: -20px;
  }
  .l-pd0-right {
    margin-right: -20px;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* 文字位置調整
――――――――――――――――――――――――――――――――――――――――――――――*/
.text-center {
  text-align: center;
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* margin
――――――――――――――――――――――――――――――――――――――――――――――*/
.mt-0 {
  margin-top: 0 !important;
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* font-wight
――――――――――――――――――――――――――――――――――――――――――――――*/
.f-bold {
  font-weight: bold;
}

.f-color {
  color: #00BAB4;
}

.c-btn {
  display: block;
  line-height: 1;
  font-size: 16px;
  font-weight: bold;
  color: #FFFFFF;
  padding: 17px 20px 18px;
  background-color: transparent;
  border: 1px solid #FFFFFF;
  border-radius: 27px;
  max-width: 204px;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  transition: 0.3s;
  z-index: 10;
}
.c-btn span {
  position: relative;
  display: block;
  padding-right: 28px;
}
.c-btn span::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  width: 18px;
  height: 18px;
  background-color: #FFFFFF;
  mask-image: url(../img/common/ico_link-white.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(../img/common/ico_link-white.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  transition: 0.3s;
}
.c-btn:hover {
  background-color: #FFFFFF;
  color: #36363C;
  opacity: 1;
}
.c-btn:hover span:before {
  background-color: #36363C;
}
.c-btn.--menuBlank {
  font-size: 16px;
  color: #00BAB4;
  border: 1px solid #00BAB4;
  max-width: 263px;
  padding: 16px 20px 17px;
  margin-top: 16px;
  text-decoration: none;
}
.c-btn.--menuBlank::before {
  background-image: none;
}
.c-btn.--menuBlank span {
  padding-right: 20px;
}
.c-btn.--menuBlank span::before {
  width: 14px;
  height: 14px;
  background-image: none;
  background-color: #00BAB4;
  mask-image: url(../img/common/ico_blank-white.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(../img/common/ico_blank-white.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
}
.c-btn.--menuBlank:hover {
  color: #fff;
  border: 1px solid #fff;
  background-color: #00BAB4;
}
.c-btn.--menuBlank:hover span:before {
  background-color: #fff;
}
.c-btn.c-downloadBtn {
  font-size: clamp(14px, 14px + 2 * (100vw - 768px) / 512, 16px);
  color: #0575B0;
  border: 1px solid #0575B0;
  max-width: 100%;
  padding-left: 15px;
  padding-right: 15px;
}
.c-btn.c-downloadBtn span::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  width: 17px;
  height: 16px;
  background-color: #0575B0;
  mask-image: url(../img/common/ico_downloadBtn_white.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(../img/common/ico_downloadBtn_white.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  transition: 0.3s;
}
.c-btn.c-downloadBtn:hover {
  color: #fff;
  border: 1px solid #fff;
  background-color: #0575B0;
}
.c-btn.c-downloadBtn:hover span:before {
  background-color: #fff;
}
.c-btn.--green {
  color: #00BAB4;
  border: 1px solid #00BAB4;
  background-color: #FFFFFF;
}
.c-btn.--green span::before {
  background-color: #00BAB4;
  mask-image: url(../img/common/ico_link-white.svg);
  -webkit-mask-image: url(../img/common/ico_link-white.svg);
}
.c-btn.--green:hover {
  background-color: #00BAB4;
  color: #fff;
  opacity: 1;
}
.c-btn.--green:hover span:before {
  background-color: #fff;
}
.c-btn.--tel {
  font-family: "Shippori Mincho", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  color: #36363C;
  max-width: 296px;
  padding: 12px 20px 14px 57px;
  pointer-events: none;
  border: 1px solid #9A9A9A;
  border-radius: 35px;
  position: relative;
}
.c-btn.--tel::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 36px;
  margin: auto;
  width: 22px;
  height: 27px;
  background: url(../img/common/ico_tel.svg) no-repeat center/contain;
}
@media screen and (max-width: 768px) {
  .c-btn.--tel {
    max-width: 268px;
    padding: 15px 20px 17px 63px;
  }
}

@media screen and (max-width: 768px) {
  .c-topBtn {
    color: #36363C;
    border: 1px solid #36363C;
  }
  .c-topBtn span {
    position: relative;
    display: block;
    padding-right: 28px;
  }
  .c-topBtn span::before {
    background-color: #36363C;
  }
  .c-topBtn:hover {
    background-color: #36363C;
    color: #FFFFFF;
    opacity: 1;
  }
  .c-topBtn:hover span:before {
    background-color: #FFFFFF;
  }
}
.c-menuBtn {
  font-size: 22px;
  color: #FFFFFF;
  padding: 15px 20px 16px;
  background-color: #FF3B70;
  border: 2px solid #FF3B70;
  border-radius: 29px;
  max-width: 314px;
  margin: 40px auto 0;
}
.c-menuBtn span {
  position: relative;
  display: block;
  padding-right: 28px;
}
.c-menuBtn span::before {
  background-color: #FFFFFF;
}
.c-menuBtn:hover {
  background-color: #FFFFFF;
  color: #FF3B70;
  opacity: 1;
}
.c-menuBtn:hover span:before {
  background-color: #FF3B70;
}
.c-menuBtn.--contactBtn {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.7;
  padding: 10px 20px 10px 47px;
  max-width: 268px;
  margin-top: 32px;
}
.c-menuBtn.--contactBtn span {
  position: relative;
  padding-right: 0;
}
.c-menuBtn.--contactBtn span::before {
  background-color: #FFFFFF;
  left: -22px;
  right: auto;
  mask-image: url(../img/common/ico_calendar.svg);
  -webkit-mask-image: url(../img/common/ico_calendar.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100%;
  mask-size: 100%;
  transition: 0.3s;
}
.c-menuBtn.--contactBtn:hover {
  background-color: #FFFFFF;
  color: #FF3B70;
}
.c-menuBtn.--contactBtn:hover span::before {
  background-color: #FF3B70;
}
.c-menuBtn.--submit {
  font-size: 20px;
  font-weight: 700;
  max-width: 268px;
  margin-top: 24px;
  padding: 17px 20px 17px;
}

@media screen and (max-width: 768px) {
  .c-menuBtn {
    font-size: 15px;
  }
}
.c-secTtl {
  position: relative;
  text-align: center;
  max-width: 100%;
  width: -moz-fit-content;
  width: fit-content;
  padding-top: 45px;
  margin: auto;
}
.c-secTtl::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 73px;
  height: 34px;
  margin: auto;
  background: url(../img/common/ico_ttl.svg) no-repeat center/100%;
  content: "";
}
.c-secTtl.--noBefore::before {
  display: none;
}

.c-secTtl--en {
  display: block;
  font-family: "Shippori Mincho", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: clamp(50px, 50px + 4 * (100vw - 768px) / 512, 54px);
  font-weight: 600;
  line-height: 1;
  color: #00BAB4;
}

.c-secTtl--ja {
  display: block;
  font-size: 22px;
  font-weight: bold;
  line-height: 1;
  margin-top: 17px;
}

.c-secTtlLarge {
  font-family: "Shippori Mincho", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: clamp(50px, 50px + 4 * (100vw - 768px) / 512, 54px);
  font-weight: 600;
  line-height: 1;
  color: #00BAB4;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .c-secTtl {
    padding-top: 33px;
  }
  .c-secTtl::before {
    width: 46px;
    height: 22px;
  }
  .c-secTtl--en {
    font-size: 38px;
  }
  .c-secTtl--ja {
    font-size: 13px;
    margin-top: 14px;
  }
  .c-secTtlLarge {
    font-size: 35px;
  }
}
.c-pageTtlArea {
  position: relative;
  padding-top: 35px;
  padding-bottom: 40px;
}
.c-pageTtlArea::before {
  display: block;
  position: absolute;
  top: -49px;
  left: 0;
  right: 0;
  width: 282px;
  height: 50px;
  margin: auto;
  background: url(../img/common/bg_pageTtl.svg) no-repeat center/contain;
  content: "";
}

.c-pageTtl {
  position: relative;
  text-align: center;
  max-width: 100%;
  width: -moz-fit-content;
  width: fit-content;
  padding-top: 53px;
  margin: auto;
}
.c-pageTtl::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 73px;
  height: 34px;
  margin: auto;
  background: url(../img/common/ico_ttl.svg) no-repeat center/100%;
  content: "";
}

.c-pageTtl--en {
  display: block;
  font-family: "Shippori Mincho", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: clamp(48px, 48px + 4 * (100vw - 768px) / 512, 52px);
  font-weight: 600;
  line-height: 1;
  color: #00BAB4;
}

.c-pageTtl--ja {
  display: block;
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
  margin-top: 19px;
}

@media screen and (max-width: 768px) {
  .c-pageTtlArea {
    position: relative;
    padding-top: 15px;
    padding-bottom: 20px;
  }
  .c-pageTtlArea::before {
    top: -29px;
    width: 170px;
    height: 30px;
  }
  .c-pageTtl {
    padding-top: 24px;
  }
  .c-pageTtl::before {
    width: 46px;
    height: 22px;
  }
  .c-pageTtl--en {
    font-size: 38px;
  }
  .c-pageTtl--ja {
    font-size: 13px;
    margin-top: 13px;
  }
}
.c-menuTtl {
  display: block;
  font-family: "Shippori Mincho", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: clamp(38px, 38px + 6 * (100vw - 768px) / 512, 44px);
  font-weight: 600;
  line-height: 1.54;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
  color: #00BAB4;
}

@media screen and (max-width: 768px) {
  .c-menuTtl {
    font-size: 28px;
  }
}
.c-mainTxt {
  font-size: 18px;
  line-height: 1.77;
}

.c-linkTxt {
  position: relative;
  display: block;
  font-weight: bold;
  width: -moz-fit-content;
  width: fit-content;
  padding-left: 31px;
  margin: auto;
}
.c-linkTxt::before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 25px;
  height: 25px;
  margin: auto;
  background: url(../img/common/ico_link.svg) no-repeat center/contain;
  content: "";
}
.c-linkTxt.--large {
  font-size: clamp(18px, 18px + 2 * (100vw - 768px) / 512, 20px);
  padding-left: clamp(30px, 30px + 17 * (100vw - 768px) / 512, 47px);
}
.c-linkTxt.--large::before {
  width: clamp(25px, 25px + 12 * (100vw - 768px) / 512, 37px);
  height: clamp(25px, 25px + 12 * (100vw - 768px) / 512, 37px);
}
.c-linkTxt.--medium::before {
  width: clamp(25px, 25px + 6 * (100vw - 768px) / 512, 31px);
  height: clamp(25px, 25px + 6 * (100vw - 768px) / 512, 31px);
}
.c-linkTxt.--roll90::before {
  transform: rotate(90deg);
}

.c-menuLinkTxt {
  position: relative;
  display: block;
  font-weight: bold;
  width: -moz-fit-content;
  width: fit-content;
  padding-right: 23px;
  margin: auto;
}
.c-menuLinkTxt::before {
  display: block;
  position: absolute;
  top: 6px;
  right: 0;
  width: 18px;
  height: 18px;
  margin: auto;
  background: url(../img/common/ico_link.svg) no-repeat center/contain;
  content: "";
}

.c-extLink {
  position: relative;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  padding-right: 17px;
  text-decoration: underline;
}
.c-extLink::before {
  display: block;
  position: absolute;
  top: 5px;
  right: 0;
  width: 13px;
  height: 13px;
  margin: auto;
  background: url(../img/common/ico_extlink.svg) no-repeat center/contain;
  content: "";
}
.c-extLink:hover {
  text-decoration: none;
}
.c-extLink.--beforeNone {
  padding-right: 0;
}
.c-extLink.--beforeNone::before {
  display: none;
}

.c-dotTxt {
  position: relative;
  display: block;
  font-size: 15px;
  line-height: 1.6;
  padding-left: 13px;
  margin: auto;
}
.c-dotTxt::before {
  display: block;
  position: absolute;
  top: 9px;
  left: 0;
  width: 6px;
  height: 6px;
  margin: auto;
  border-radius: 50%;
  background-color: #00BAB4;
  content: "";
}
.c-dotTxt + .c-dotTxt {
  margin-top: 3px;
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* c-kvArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.c-kvArea {
  padding: 0 clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px) 0;
  margin-top: -17px;
}

.kvBox {
  position: relative;
}

.kvFrame {
  display: block;
  position: absolute;
  margin: auto;
  background-color: #F5F8FC;
  content: "";
  z-index: 1;
}
.kvFrame::before, .kvFrame::after {
  display: block;
  position: absolute;
  width: 19px;
  height: 19px;
  margin: auto;
  background: url(../img/common/bg_curve-gray.svg) no-repeat center/contain;
  content: "";
  z-index: 1;
}
.kvFrame.--top {
  top: -1px;
  left: -1px;
  width: 349px;
  height: 45px;
  border-radius: 15px 0 15px 0;
}
.kvFrame.--top::before {
  bottom: -18.5px;
  left: 0.5px;
  transform: rotate(180deg);
}
.kvFrame.--top::after {
  top: 0.5px;
  right: -18.5px;
  transform: rotate(180deg);
}
.kvFrame.--bottom {
  bottom: -1px;
  right: -1px;
  width: 194px;
  height: 41px;
  border-radius: 15px 0 15px 0;
}
.kvFrame.--bottom::before {
  bottom: 0.5px;
  left: -18.5px;
}
.kvFrame.--bottom::after {
  top: -18.5px;
  right: -0.5px;
}

.kvImg {
  border-radius: 15px;
}

@media screen and (max-width: 768px) {
  .c-kvArea {
    padding: 0 15px 0;
    margin-top: -9px;
  }
  .kvFrame::before, .kvFrame::after {
    width: 10px;
    height: 10px;
  }
  .kvFrame.--top {
    width: 194px;
    height: 24px;
  }
  .kvFrame.--top::before {
    bottom: -9.5px;
    left: 0.5px;
  }
  .kvFrame.--top::after {
    top: 0.5px;
    right: -9.5px;
  }
  .kvFrame.--bottom {
    width: 147px;
    height: 31px;
  }
  .kvFrame.--bottom::before {
    bottom: 0.5px;
    left: -9.5px;
  }
  .kvFrame.--bottom::after {
    top: -9.5px;
    right: -0.5px;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* topKvArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.topKvArea .slick-dots li.slick-active {
  background-color: #C9C9C9;
}
.topKvArea .slick-dots li.slick-active::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  background-color: #00BAB4;
  content: "";
  animation: dotProgress 6s linear 0s normal both;
}
@keyframes dotProgress {
  from {
    width: 0%;
  }
  to {
    width: 100%;
  }
}

.topKvBox {
  border-radius: 0;
}
.topKvBox .slick-dots {
  bottom: 16px;
  right: 25px;
}

.topKvImgList {
  margin-bottom: 0 !important;
  border-radius: 15px;
  overflow: hidden;
  visibility: hidden;
}
.topKvImgList .add-animation .topKvImg {
  animation: leftSlide 6s linear 0s normal both;
}
.topKvImgList.slick-initialized {
  visibility: visible;
}

.topKvImg {
  max-width: 110%;
  width: 110%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@keyframes leftSlide {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-5%);
  }
}
.topKvTtl {
  position: absolute;
  top: clamp(20px, 20px + 49 * (100vw - 768px) / 512, 69px);
  right: 15.862%;
  min-width: 100px;
  width: 13.103%;
}

.topKvTxt {
  position: absolute;
  bottom: clamp(50px, 50px + 33 * (100vw - 768px) / 512, 83px);
  right: clamp(40px, 40px + 93 * (100vw - 768px) / 512, 133px);
  font-size: clamp(13px, 13px + 1 * (100vw - 768px) / 512, 14px);
  line-height: 2;
  letter-spacing: 1px;
  width: -moz-fit-content;
  width: fit-content;
  color: #FFFFFF;
}

@media screen and (max-width: 768px) {
  .topKvArea {
    padding: 0 15px 0;
    margin-top: -8px;
  }
  .topKvBox .slick-dots {
    bottom: 12px;
    right: 19px;
    gap: 0 10px;
  }
  .topKvBox .slick-dots li {
    width: 6px;
    height: 6px;
  }
  .topKvBox .slick-dots li.slick-active {
    width: 45px;
  }
  .topKvImgList {
    height: 100%;
    aspect-ratio: 345/545;
  }
  .topKvTtl {
    position: absolute;
    top: 50px;
    right: 30px;
    min-width: 74px;
    width: 74px;
  }
  .topKvTxt {
    writing-mode: vertical-rl;
    bottom: 27px;
    left: 25px;
    right: auto;
    font-size: 13px;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* topNav
――――――――――――――――――――――――――――――――――――――――――――――*/
.topNav {
  margin-top: 22px;
}

.topNavList {
  display: flex;
}

.topNavList__item {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 25%;
  padding: 0 10px;
  border-left: 1px solid #DDDDDD;
}
.topNavList__item:last-of-type {
  border-right: 1px solid #DDDDDD;
}

.topNavList__link {
  position: relative;
  display: inline-block;
  line-height: 1;
  padding-top: 42px;
}
.topNavList__link::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  content: "";
}
.topNavList__link.--leisure::before {
  width: 30px;
  height: 30px;
  background: url(../img/common/ico_leisure.svg) no-repeat center/contain;
}
.topNavList__link.--shop::before {
  width: 31px;
  height: 31px;
  background: url(../img/common/ico_shop.svg) no-repeat center/contain;
}
.topNavList__link.--access::before {
  width: 33px;
  height: 33px;
  background: url(../img/common/ico_access.svg) no-repeat center/contain;
}
.topNavList__link.--faq::before {
  width: 31px;
  height: 32px;
  background: url(../img/common/ico_faq.svg) no-repeat center/contain;
}
.topNavList__link.has-subList .topNavList__cat {
  padding-right: 21px;
}
.topNavList__link.has-subList .topNavList__cat::before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 16px;
  height: 16px;
  margin: auto;
  background: url(../img/common/ico_link.svg) no-repeat center/contain;
  content: "";
  transform: rotate(90deg);
  transition: 0.5s;
}
.topNavList__link.has-subList:hover .topNavList__cat::before {
  transform: rotate(270deg);
  transition: 0.5s;
}

.topNavList__cat {
  position: relative;
  display: inline-block;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 2px;
}

/*** navListSub ***/
.navListSubBox {
  position: absolute;
  height: 0;
  z-index: 5;
}
.navListSubBox.js-active {
  height: auto;
  padding-bottom: 52px;
}
.navListSubBox.js-active .navListSub {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.navListSubBox.--leisure {
  top: -372px;
  left: -1px;
}
.navListSubBox.--leisure .navListSub__iconBox::before {
  width: 30px;
  height: 30px;
  background: url(../img/common/ico_leisure-white.svg) no-repeat center/contain;
}
.navListSubBox.--shop {
  top: -302px;
  left: 0;
}
.navListSubBox.--shop .navListSub__iconBox::before {
  width: 29px;
  height: 29px;
  background: url(../img/common/ico_shop-white.svg) no-repeat center/contain;
}

.navListSub {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 30px;
  width: clamp(542px, 542px + 20 * (100vw - 768px) / 512, 562px);
  padding: clamp(15px, 15px + 10 * (100vw - 768px) / 512, 25px);
  border-radius: 15px;
  background-color: #00BAB4;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.navListSub__item {
  width: calc((100% - 30px) / 2);
}

.navListSub__link {
  display: flex;
  align-items: center;
  gap: 0 13px;
}

.navListSub__iconBox {
  position: relative;
  width: 60px;
  height: 60px;
  border-radius: 5px;
  background-color: #00BAB4;
  overflow: hidden;
}
.navListSub__iconBox::before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  content: "";
}

.navListSub__imgBox {
  width: 60px;
  border-radius: 5px;
  overflow: hidden;
}

.navListSub__menu {
  position: relative;
  font-weight: bold;
  padding-left: 9px;
  color: #FFFFFF;
}
.navListSub__menu::before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px;
  height: 8px;
  margin: auto;
  background: url(../img/common/ico_arrow-white.svg) no-repeat center/contain;
  content: "";
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* lowerNav
――――――――――――――――――――――――――――――――――――――――――――――*/
.lowerNav {
  position: absolute;
  top: -1px;
  right: -1px;
  max-width: 684px;
  z-index: 11;
}
.lowerNav::before, .lowerNav::after {
  display: block;
  position: absolute;
  width: 19px;
  height: 19px;
  margin: auto;
  background: url(../img/common/bg_curve-gray.svg) no-repeat center/contain;
  content: "";
  transform: rotate(270deg);
}
.lowerNav::before {
  top: 0.5px;
  left: -18px;
}
.lowerNav::after {
  bottom: -18px;
  right: 0.5px;
}
.lowerNav .navListSubBox.js-active {
  padding-top: 40px;
  padding-bottom: 0;
}
.lowerNav .navListSubBox.--leisure {
  top: auto;
  bottom: -352px;
  left: 0;
  right: auto;
}
.lowerNav .navListSubBox.--shop {
  top: auto;
  bottom: -282px;
  left: auto;
  right: auto;
}

.lowerNavList {
  display: flex;
  padding: 0 0 clamp(10px, 10px + 10 * (100vw - 768px) / 512, 20px);
  border-radius: 0 0 0 15px;
  background-color: #F5FAFC;
}

.lowerNavList__item {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 clamp(8px, 8px + 14 * (100vw - 768px) / 512, 22px);
  border-left: 1px solid #DDDDDD;
}
.lowerNavList__item:first-of-type {
  border-left: none;
}

.lowerNavList__link {
  position: relative;
  display: inline-block;
  line-height: 1;
  padding: 35px 0 0;
}
.lowerNavList__link::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  content: "";
}
.lowerNavList__link.--leisure::before {
  width: 25px;
  height: 25px;
  background: url(../img/common/ico_leisure.svg) no-repeat center/contain;
}
.lowerNavList__link.--shop::before {
  width: 26px;
  height: 26px;
  background: url(../img/common/ico_shop.svg) no-repeat center/contain;
}
.lowerNavList__link.--access::before {
  width: 27px;
  height: 27px;
  background: url(../img/common/ico_access.svg) no-repeat center/contain;
}
.lowerNavList__link.--faq::before {
  width: 25px;
  height: 26px;
  background: url(../img/common/ico_faq.svg) no-repeat center/contain;
}
.lowerNavList__link.has-subList .lowerNavList__cat {
  padding-right: 21px;
}
.lowerNavList__link.has-subList .lowerNavList__cat::before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 16px;
  height: 16px;
  margin: auto;
  background: url(../img/common/ico_link.svg) no-repeat center/contain;
  content: "";
  transform: rotate(90deg);
  transition: 0.5s;
}
.lowerNavList__link.has-subList:hover .lowerNavList__cat::before {
  transform: rotate(270deg);
  transition: 0.5s;
}

.lowerNavList__cat {
  position: relative;
  display: inline-block;
  font-size: clamp(14px, 14px + 1 * (100vw - 768px) / 512, 15px);
  font-weight: bold;
  line-height: 1;
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 2px;
}

.c-sectionBox {
  position: relative;
  padding: 37px clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px) 86px;
  border-radius: 15px;
  background-color: #FFFFFF;
}
.c-sectionBox::before {
  display: block;
  position: absolute;
  top: -41px;
  left: 0;
  right: 0;
  width: 237px;
  height: 42px;
  margin: auto;
  background: url(../img/common/bg_secTtl.svg) no-repeat center/contain;
  content: "";
}

@media screen and (max-width: 768px) {
  .c-sectionBox {
    position: relative;
    padding: 16px 30px 61px;
    border-radius: 15px;
    background-color: #FFFFFF;
  }
  .c-sectionBox::before {
    top: -27px;
    width: 158px;
    height: 28px;
  }
}
.c-modal {
  position: relative;
  opacity: 1;
  transition: opacity 0.3s ease;
  cursor: pointer;
}
.c-modal::before {
  content: "";
  background: url(../img/common/img_modalMap_sub.png) no-repeat center/contain;
  width: 59px;
  height: 59px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.c-modal:hover {
  opacity: 0.7;
}

.c-modalExpanded {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
  overflow: hidden;
}
.c-modalExpanded.js-modalActive {
  opacity: 1;
  visibility: visible;
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  height: -moz-fit-content;
  height: fit-content;
  max-width: 600px;
  max-height: calc(100% - 120px);
  z-index: 10000;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  overflow-y: auto;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}
@media screen and (max-width: 768px) {
  .c-modalExpanded.js-modalActive {
    max-width: calc(100% - 30px);
    max-height: calc(100% - 30px);
  }
}

.modal-overlay-bg {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}
.modal-overlay-bg.js-modalActive {
  opacity: 1;
  visibility: visible;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  z-index: 9999;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
}

.slick-track:before,
.slick-track:after {
  display: table;
  content: "";
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}

[dir=rtl] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* Arrows */
.slick-prev,
.slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 50%;
  display: block;
  width: 20px;
  height: 20px;
  padding: 0;
  transform: translate(0, -50%);
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background: transparent;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  color: transparent;
  outline: none;
  background: transparent;
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}

.slick-prev:before,
.slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  opacity: 0.75;
  color: white;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -25px;
}

[dir=rtl] .slick-prev {
  right: -25px;
  left: auto;
}

.slick-prev:before {
  content: "←";
}

[dir=rtl] .slick-prev:before {
  content: "→";
}

.slick-next {
  right: -25px;
}

[dir=rtl] .slick-next {
  right: auto;
  left: -25px;
}

.slick-next:before {
  content: "→";
}

[dir=rtl] .slick-next:before {
  content: "←";
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: -25px;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}

.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 100%;
  height: 100%;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
  outline: none;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
  opacity: 1;
}

.header {
  position: relative;
  padding-top: 30px;
  padding-bottom: 0;
  z-index: 100;
}

.headerLogo {
  width: clamp(240px, 240px + 77 * (100vw - 768px) / 512, 317px);
}

.headerLogo__link {
  display: block;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 768px) {
  .header {
    padding-top: 15px;
  }
  .headerLogo {
    width: 190px;
  }
}
.headerInfo {
  position: fixed;
  top: 0;
  right: clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px);
  display: flex;
  justify-content: flex-end;
  gap: 0 clamp(10px, 10px + 5 * (100vw - 768px) / 512, 15px);
  width: clamp(450px, 450px + 120 * (100vw - 768px) / 512, 570px);
}

.headerInfoItem {
  max-width: 180px;
  width: calc((100% - clamp(20px, 20px + 10 * (100vw - 768px) / 512, 30px)) / 3);
  overflow: hidden;
}
.headerInfoItem.--tel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border: 1px solid #CFCFD8;
  border-top: none;
  border-radius: 0 0 10px 10px;
  background-color: #FFFFFF;
  padding: 13px clamp(8px, 8px + 8 * (100vw - 768px) / 512, 16px) 10px;
}

.headerInfo__tel {
  position: relative;
  display: block;
  font-size: clamp(14px, 14px + 3 * (100vw - 768px) / 512, 17px);
  font-weight: bold;
  line-height: 1;
  white-space: noWrap;
  padding-left: 18px;
}
.headerInfo__tel::before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 13px;
  height: 16px;
  margin: auto;
  background: url(../img/common/ico_tel.svg) no-repeat center/100%;
  content: "";
}

.headerInfo__time {
  display: block;
  font-size: clamp(11px, 11px + 1 * (100vw - 768px) / 512, 12px);
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.6px;
  text-align: center;
  width: 100%;
  margin-top: 7px;
  padding-top: 6px;
  border-top: 1px solid #AFAFC3;
}

.headerInfo__link {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  width: 100%;
  height: 100%;
  padding: 13px clamp(8px, 8px + 8 * (100vw - 768px) / 512, 16px) 10px;
  border-radius: 0 0 10px 10px;
  color: #FFFFFF;
  transition: 0.3s;
}
.headerInfo__link span {
  position: relative;
  padding-left: 18px;
}
.headerInfo__link span::before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  background-color: #FFFFFF;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100%;
  mask-size: 100%;
  content: "";
  transition: 0.3s;
}
.headerInfo__link:hover {
  opacity: 1;
  transition: 0.3s;
}
.headerInfo__link.--contact {
  border: 2px solid #00BAB4;
  border-top: none;
  background-color: #00BAB4;
}
.headerInfo__link.--contact span::before {
  width: 15px;
  height: 15px;
  margin: auto;
  -webkit-mask-image: url(../img/common/ico_mail.svg);
  mask-image: url(../img/common/ico_mail.svg);
}
.headerInfo__link.--contact:hover {
  background-color: #FFFFFF;
  color: #00BAB4;
}
.headerInfo__link.--contact:hover span::before {
  background-color: #00BAB4;
}
.headerInfo__link.--reserve {
  border: 2px solid #FF3B70;
  border-top: none;
  background-color: #FF3B70;
}
.headerInfo__link.--reserve span::before {
  width: 15px;
  height: 15px;
  margin: auto;
  -webkit-mask-image: url(../img/common/ico_calendar.svg);
  mask-image: url(../img/common/ico_calendar.svg);
}
.headerInfo__link.--reserve:hover {
  background-color: #FFFFFF;
  color: #FF3B70;
}
.headerInfo__link.--reserve:hover span::before {
  background-color: #FF3B70;
}

/*** sp時 メニュー ***/
.spMenu {
  position: fixed;
  top: 0;
  left: 0;
  display: none;
  padding: 0 15px;
  width: 100vw;
  height: 100dvh;
  background-color: #00BAB4;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  z-index: 101;
}
.spMenu.js-active {
  display: block;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}

.spNavWrap {
  height: calc(100svh - 61px);
  padding: 0 0 126px;
  margin-top: 22px;
  color: #FFFFFF;
  overflow-y: scroll;
}

.spNavList__item {
  padding: 18px 0 21px;
  border-bottom: 1px solid #FFFFFF;
  cursor: pointer;
}

.spNavListItem__cat {
  position: relative;
  display: block;
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
}
.spNavListItem__cat::before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 20px;
  height: 20px;
  margin: auto;
  background: url(../img/common/ico_plus.svg) no-repeat center/contain;
  transition: 0.3s;
  content: "";
}
.spNavListItem__cat.js-open::before {
  background: url(../img/common/ico_minus.svg) no-repeat center/contain;
  transition: 0.3s;
}

.spNavListItem__cat--link::before {
  display: none;
}
.spNavListItem__cat--link::after {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 20px;
  height: 20px;
  margin: auto;
  background: url(../img/common/ico_link-white-green.svg) no-repeat center/contain;
  transition: 0.3s;
  content: "";
}

.spNavListSub {
  display: block;
  padding: 14px 15px;
  margin-top: 16px;
  border-radius: 15px;
  background-color: #34C8C3;
}

.spNavListSub__item + .spNavListSub__item {
  margin-top: 4px;
}

.spNavListSub__link {
  position: relative;
  display: inline-block;
  padding-left: 9px;
}
.spNavListSub__link::before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px;
  height: 8px;
  margin: auto;
  background: url(../img/common/ico_arrow-white.svg) no-repeat center/contain;
  content: "";
}

.spMenuContactBtn {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  padding: 15px 15px;
  margin-top: 20px;
  border: 2px solid #FFFFFF;
  border-radius: 10px;
  background-color: #FFFFFF;
  color: #00BAB4;
  transition: 0.3s;
}
.spMenuContactBtn span {
  position: relative;
  display: inline-block;
  line-height: 1;
  padding-left: 19px;
  transition: 0.3s;
}
.spMenuContactBtn span::before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 15px;
  height: 14px;
  background-color: #00BAB4;
  -webkit-mask-image: url(../img/common/ico_mail.svg);
  mask-image: url(../img/common/ico_mail.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100%;
  mask-size: 100%;
  content: "";
  transition: 0.3s;
}

/*** sp時 メニューボタン ***/
.spMenuBtn {
  position: fixed;
  top: 15px;
  right: 15px;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background-color: #00BAB4;
  cursor: pointer;
  transition: 0.5s;
  z-index: 102;
}
.spMenuBtn span {
  position: relative;
  left: 0;
  right: 0;
  display: block;
  width: 24px;
  height: 2px;
  margin: auto;
  border-radius: 13px;
  background-color: #FFFFFF;
  transition: 0.5s;
}
.spMenuBtn span:nth-of-type(1) {
  top: 33%;
}
.spMenuBtn span:nth-of-type(2) {
  top: 46%;
}
.spMenuBtn span:nth-of-type(3) {
  top: 59%;
}
.spMenuBtn.js-open {
  background-color: #FFFFFF;
  transition: 0.5s;
}
.spMenuBtn.js-open span {
  background-color: #00BAB4;
  transition: 0.5s;
}
.spMenuBtn.js-open span:nth-of-type(1) {
  top: 48%;
  transform: rotate(45deg);
}
.spMenuBtn.js-open span:nth-of-type(2) {
  display: none;
}
.spMenuBtn.js-open span:nth-of-type(3) {
  top: 44%;
  transform: rotate(-45deg);
}

/*** sp時 追従メニュー ***/
.fixedBtnBox {
  position: fixed;
  bottom: 0;
  left: 0;
  display: flex;
  width: 100vw;
  height: 60px;
  z-index: 102;
}

.fixedBtnItem {
  width: 50%;
}

.fixedBtn__link {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  width: 100%;
  height: 100%;
  padding: 15px 5px;
  border: 1px solid #CFCFD8;
  border-radius: 10px 0 0 0;
  background-color: #FFFFFF;
}
.fixedBtn__link.--reserve {
  font-size: 15px;
  border: 2px solid #FF3B70;
  border-radius: 0 10px 0 0;
  background-color: #FF3B70;
  color: #FFFFFF;
}
.fixedBtn__link.--reserve span {
  position: relative;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  padding-left: 31px;
}
.fixedBtn__link.--reserve span::before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 21px;
  height: 21px;
  background-color: #FFFFFF;
  -webkit-mask-image: url(../img/common/ico_calendar.svg);
  mask-image: url(../img/common/ico_calendar.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100%;
  mask-size: 100%;
  content: "";
}
.fixedBtn__link.--reserve:hover {
  background-color: #FFFFFF;
  color: #FF3B70;
  opacity: 1;
}
.fixedBtn__link.--reserve:hover span::before {
  background-color: #FF3B70;
}

.fixedBtn__linkWrap {
  position: relative;
  display: flex;
  flex-direction: column;
  padding-left: 31px;
}
.fixedBtn__linkWrap::before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 21px;
  height: 26px;
  margin: auto;
  background: url(../img/common/ico_tel.svg) no-repeat center/contain;
  content: "";
}

.fixedBtnItem__tel {
  font-size: 16px;
  line-height: 1;
}

.fixedBtnItem__time {
  font-size: 10px;
  line-height: 1;
  margin-top: 3px;
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* footer
――――――――――――――――――――――――――――――――――――――――――――――*/
.footer {
  position: relative;
  padding-top: 71px;
  padding-bottom: 0;
  margin-top: 92px;
  background-color: #FFFFFF;
}

@media screen and (max-width: 768px) {
  .footer {
    padding: 39px 30px 0;
  }
}
.pageTop {
  position: absolute;
  display: block;
  top: -92px;
  left: 0;
  right: 0;
  width: 298px;
  height: 92px;
  margin: auto;
  overflow: hidden;
}
.pageTop::before, .pageTop::after {
  display: block;
  position: absolute;
  margin: auto;
  content: "";
}
.pageTop::before {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/common/bg_pageTop.svg) no-repeat center/100%;
}
.pageTop::after {
  top: -8px;
  left: 0;
  right: 0;
  width: 34px;
  height: 75px;
  background: url(../img/common/ico_anchor.svg) no-repeat center/contain;
  content: "";
}
.pageTop:hover {
  opacity: 1;
}
.pageTop:hover::after {
  animation: weighAnchor 1s forwards;
}
.pageTop:not(:hover)::after {
  animation: dropAnchor 0.5s forwards ease-in;
}
@keyframes weighAnchor {
  0% {
    top: -8px;
  }
  30% {
    top: -4px;
  }
  100% {
    top: -41px;
  }
}
@keyframes dropAnchor {
  0% {
    top: -41px;
  }
  100% {
    top: -8px;
  }
}

.pageTopTxt {
  position: absolute;
  bottom: 3px;
  left: 0;
  right: 0;
  line-height: 1;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
  color: #00BAB4;
}

@media screen and (max-width: 768px) {
  .pageTop {
    top: -64px;
    width: 208px;
    height: 65px;
  }
  .pageTop::after {
    top: -8px;
    width: 24px;
    height: 54px;
  }
  .pageTop:hover {
    opacity: 1;
  }
  .pageTop:hover::after {
    animation: weighAnchor 1s forwards;
  }
  .pageTop:not(:hover)::after {
    animation: dropAnchor 0.5s forwards ease-in;
  }
  @keyframes weighAnchor {
    0% {
      top: -8px;
    }
    30% {
      top: -4px;
    }
    100% {
      top: -28px;
    }
  }
  @keyframes dropAnchor {
    0% {
      top: -28px;
    }
    100% {
      top: -8px;
    }
  }
  .pageTopTxt {
    bottom: 2px;
    font-size: 12px;
  }
}
/*** footerOrganizationBox ***/
.footerOrganizationBox {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  line-height: 1.6;
  padding-bottom: 28px;
  margin-bottom: 25px;
  border-bottom: 1px solid #D3D3D3;
}

.footerOrganization__txt {
  font-size: 15px;
  max-width: 301px;
}

.footerOrganization__imgBox {
  max-width: 669px;
}

@media screen and (max-width: 768px) {
  .footerOrganizationBox {
    display: flex;
    flex-direction: column;
    gap: 26px 0;
    padding-bottom: 24px;
    margin-bottom: 24px;
  }
  .footerOrganization__txt {
    font-size: 14px;
    line-height: 1.64;
    max-width: 100%;
  }
  .footerOrganization__imgBox {
    max-width: 100%;
    padding: 0 15px;
  }
}
/*** footerBnrBox ***/
.footerBnrBox {
  max-width: 1053px;
  width: calc(100% + 13px);
}

.footerBnrLink {
  display: block;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .footerBnrBox {
    width: calc(100% + 30px);
    margin: 0 -15px;
  }
}
/*** .footerMainBox ***/
.footerMainBox {
  padding: 39px 0 118px;
  display: flex;
  justify-content: space-between;
  gap: 0 clamp(30px, 30px + 143 * (100vw - 768px) / 512, 173px);
}

.footerInfoBox {
  flex: 1 1 336px;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 320px;
  max-width: 336px;
  margin: 7px 0 0 clamp(0px, 0px + 40 * (100vw - 768px) / 512, 40px);
}

.footerLogo {
  display: block;
  width: 100%;
}

.footerInfo__txt {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 0 5px;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.6;
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
  padding-left: 21px;
  margin-top: 38px;
}
.footerInfo__txt + .footerInfo__txt {
  margin-top: 13px;
}
.footerInfo__txt::before {
  display: block;
  position: absolute;
  top: 2px;
  left: 0;
  margin: auto;
  content: "";
}
.footerInfo__txt.--address::before {
  width: 14px;
  height: 18px;
  background: url(../img/common/ico_pin.svg) no-repeat center/contain;
}
.footerInfo__txt.--tel::before {
  width: 17px;
  height: 21px;
  background: url(../img/common/ico_tel.svg) no-repeat center/contain;
}

.footerNavBox {
  flex: 1 1 440px;
  max-width: 440px;
  margin-right: clamp(0px, 0px + 50 * (100vw - 768px) / 512, 50px);
}

.footerNavWrap + .footerNavWrap {
  margin-top: 63px;
}

.footerNavCat {
  position: relative;
  font-size: 20px;
  font-weight: bold;
  color: #00BAB4;
  width: -moz-fit-content;
  width: fit-content;
  padding-right: 24px;
}
.footerNavCat::before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 19px;
  height: 19px;
  margin: auto;
  background: url(../img/common/ico_link.svg) no-repeat center/contain;
  content: "";
}

.footerNavList {
  display: flex;
  gap: 16px clamp(20px, 20px + 20 * (100vw - 768px) / 512, 40px);
  flex-wrap: wrap;
  margin-top: 11px;
}

.footerNavList__item {
  position: relative;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.6;
  width: -moz-fit-content;
  width: fit-content;
  padding-left: 10px;
}
.footerNavList__item::before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 5px;
  height: 9px;
  margin: auto;
  background: url(../img/common/ico_arrow.svg) no-repeat center/contain;
  content: "";
}

.footerNavList__link {
  display: block;
}

@media screen and (max-width: 768px) {
  .footerMainBox {
    padding: 46px 0 15px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 25px 0;
  }
  .footerInfoBox {
    flex: 1 1 100%;
    display: flex;
    flex-direction: column;
    min-width: auto;
    max-width: 336px;
    margin: 7px 0 0 0;
  }
  .footerLogo {
    padding: 0 30px;
  }
  .footerInfo__txt {
    font-size: 14px;
    padding-left: 21px;
    margin-top: 30px;
  }
  .footerInfo__txt + .footerInfo__txt {
    margin-top: 11px;
  }
  .footerInfo__txt::before {
    display: block;
    position: absolute;
    top: -1px;
    left: 0;
    margin: auto;
    content: "";
  }
  .footerInfo__txt.--address::before {
    width: 15px;
    height: 20px;
    background: url(../img/common/ico_pin.svg) no-repeat center/contain;
  }
  .footerInfo__txt.--tel::before {
    width: 17px;
    height: 21px;
    background: url(../img/common/ico_tel.svg) no-repeat center/contain;
  }
  .footerNavBox {
    flex: 1 1 100%;
    max-width: 440px;
    margin-right: 0;
  }
  .footerNavWrap + .footerNavWrap {
    margin-top: 28px;
  }
  .footerNavCat {
    position: relative;
    font-size: 20px;
    font-weight: bold;
    color: #00BAB4;
    width: -moz-fit-content;
    width: fit-content;
    padding-right: 24px;
  }
  .footerNavCat::before {
    width: 19px;
    height: 19px;
  }
  .footerNavList {
    display: flex;
    gap: 9px clamp(20px, 20px + 20 * (100vw - 768px) / 512, 40px);
    flex-wrap: wrap;
    margin-top: 11px;
  }
  .footerNavList__item {
    position: relative;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.6;
    min-width: 41%;
    width: -moz-fit-content;
    width: fit-content;
    padding-left: 10px;
  }
  .footerNavList__item::before {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 5px;
    height: 9px;
    margin: auto;
    background: url(../img/common/ico_arrow.svg) no-repeat center/contain;
    content: "";
  }
  .footerNavList__link {
    display: block;
  }
}
/*** footerBtmNav ***/
.footerBtmNav {
  font-size: 12px;
  width: 100vw;
  padding: 11px clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px);
  margin: 0 calc(50% - 50vw);
  background-color: #00BAB4;
  color: #FFFFFF;
}

.footerBtmNavInner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  max-width: 1040px;
  margin: auto;
}

.footerBtmNavList {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 28px;
}

.footerBtmNavList__item {
  position: relative;
}
.footerBtmNavList__item::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -16px;
  margin: auto;
  width: 1px;
  height: 13px;
  background-color: #FFFFFF;
}
.footerBtmNavList__item:last-of-type::before {
  display: none;
}

@media screen and (max-width: 768px) {
  .footerBtmNav {
    font-size: 12px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 11px 30px 13px;
    margin-top: 20px;
  }
  .footerBtmNavInner {
    display: flex;
    flex-direction: column;
    gap: 6px 20px;
  }
  .footerBtmNavList {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 14px 28px;
  }
  .footerBtmNavList__item {
    position: relative;
  }
  .footerBtmNavList__item::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: -15px;
    margin: auto;
    width: 1px;
    height: 15px;
    background-color: #FFFFFF;
  }
  .footerBtmNavList__item:last-of-type::before {
    display: none;
  }
  .footerBtmCopy {
    font-size: 12px;
  }
}
.footerBitknot {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 16px 0 19px;
}

.btmImgBox {
  position: relative;
  width: 100vw;
  aspect-ratio: 1280/725;
  overflow: hidden;
  z-index: -1;
}
.btmImgBox::before, .btmImgBox::after {
  display: block;
  position: absolute;
  margin: auto;
  content: "";
}
.btmImgBox::before {
  display: block;
  position: absolute;
  top: 71px;
  right: 21.09375%;
  min-width: 68px;
  width: 5.3125%;
  min-height: 268px;
  height: 36.96551724%;
  margin: auto;
  background: url(../img/common/btm_txt.svg) no-repeat center/contain;
  content: "";
}

.btmImg {
  width: 100%;
  height: 100%;
  background: url(../img/common/btm_img.jpg) no-repeat top center/cover;
  background-attachment: fixed;
}

@media screen and (max-width: 768px) {
  .btmImgBox {
    aspect-ratio: 375/528;
  }
  .btmImgBox::before {
    top: 89px;
    right: 60px;
    min-width: 44px;
    width: 11.73333333%;
    min-height: 174px;
    height: 32.95454545%;
  }
  .btmImg {
    background: url(../img/common/btm_img-sp.jpg) no-repeat top center/cover;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* otherActivitiesArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.otherActivitiesArea {
  padding-top: 50px;
  padding-bottom: 0;
  margin-bottom: -92px;
}

.otherActivitiesBox {
  padding: 54px clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px) 155px;
  border-radius: 15px 15px 0 0;
  background-color: #F2EDCA;
}

.otherActivitiesTtl {
  position: relative;
  text-align: center;
  max-width: 100%;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
}

.otherActivitiesTtl--en {
  display: block;
  font-family: "Shippori Mincho", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: clamp(46px, 46px + 8 * (100vw - 768px) / 512, 54px);
  font-weight: 600;
  color: #00BAB4;
}

.otherActivitiesTtl--ja {
  display: block;
  font-size: 22px;
  font-weight: bold;
  margin-top: -8px;
}

.otherActivitiesList {
  display: flex;
  gap: 30px clamp(10px, 10px + 6 * (100vw - 768px) / 512, 16px);
  margin: 32px auto 0;
}

.otherActivitiesListItem {
  max-width: 160px;
  width: calc((100% - clamp(10px, 10px + 6 * (100vw - 768px) / 512, 16px) * 5) / 6);
}

@media screen and (max-width: 1000px) {
  .otherActivitiesList {
    justify-content: center;
    flex-wrap: wrap;
    gap: 30px 16px;
    max-width: 512px;
  }
  .otherActivitiesListItem {
    max-width: 160px;
    width: calc((100% - 32px) / 3);
  }
}
@media screen and (max-width: 768px) {
  .otherActivitiesArea {
    padding-top: 40px;
    padding-bottom: 0;
    margin-bottom: -92px;
  }
  .otherActivitiesBox {
    padding: 50px 15px 140px;
    border-radius: 10px 10px 0 0;
  }
  .otherActivitiesTtl {
    position: relative;
    text-align: center;
    max-width: 100%;
    width: -moz-fit-content;
    width: fit-content;
    margin: auto;
  }
  .otherActivitiesTtl--en {
    display: block;
    font-family: "Shippori Mincho", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    font-size: 36px;
    font-weight: 600;
    line-height: 1.2;
    color: #00BAB4;
  }
  .otherActivitiesTtl--ja {
    display: block;
    font-size: 18px;
    font-weight: bold;
    margin-top: 0;
  }
  .otherActivitiesList {
    display: flex;
    gap: 30px 10px;
    margin: 32px auto 0;
  }
  .otherActivitiesListItem {
    width: calc((100% - 10px) / 2);
  }
}
.otherActivitiesListItem__link {
  display: block;
  width: 100%;
  height: 100%;
}
.otherActivitiesListItem__link:hover img {
  scale: 1.1;
  transition: 0.5s;
}

.otherActivitiesListItem__imgBox {
  border-radius: 10px;
  overflow: hidden;
}

.otherActivitiesListItem__img {
  scale: 1;
  transition: 0.5s;
}

.otherActivitiesListItem__txt {
  font-size: 15px;
  font-weight: bold;
  padding-right: 20px;
  margin-top: 7px;
}
.otherActivitiesListItem__txt::before {
  width: 16px;
  height: 16px;
}

@media screen and (min-width: 1280px) {
  .otherActivitiesListItem__txt {
    white-space: noWrap;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* slick
――――――――――――――――――――――――――――――――――――――――――――――*/
.slick-dots {
  display: flex;
  gap: 0 13px;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
  z-index: 2;
}

.slick-dots li {
  position: relative;
  width: 8px;
  height: 8px;
  margin: 0;
  border-radius: 19px;
  background-color: #C9C9C9;
  overflow: hidden;
  transition: 0.3s;
}

.slick-dots li.slick-active {
  width: 59px;
  background-color: #00BAB4;
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* パララックス
――――――――――――――――――――――――――――――――――――――――――――――*/
.js-parallax {
  overflow: hidden;
  position: relative;
}

.js-parallax img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(100% + 200px); /* JSで上書きされるので保険 */
  -o-object-fit: cover;
     object-fit: cover;
  will-change: transform;
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* topActivityRankingArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.topActivityRankingArea {
  padding-top: 127px;
  padding-bottom: 50px;
}

.topActivityRankingBox {
  padding: 32px clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px) 79px;
}

.activityRankingList {
  width: 100vw;
  height: 100%;
  padding-bottom: 40px;
  margin: 37px calc(50% - 50vw) 0 !important;
}
.activityRankingList .slick-track {
  display: flex;
  align-items: stretch;
}
.activityRankingList .slick-dots {
  bottom: 0;
  left: 0;
  right: 0;
}

.activityRankingListItem {
  position: relative;
  max-width: 322px;
  padding-top: 47px;
  margin: 0 18.5px;
  flex: 1 1 auto;
}
.activityRankingListItem::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 30px;
  height: 24px;
  margin: auto;
  content: "";
}
.activityRankingListItem.--1st::before {
  background: url(../img/common/ico_ranking_gold.svg) no-repeat center/contain;
}
.activityRankingListItem.--2nd::before {
  background: url(../img/common/ico_ranking_silver.svg) no-repeat center/contain;
}
.activityRankingListItem.--3rd::before {
  background: url(../img/common/ico_ranking_copper.svg) no-repeat center/contain;
}

.activityRankingListItem__link {
  display: flex !important;
  flex-direction: column;
  justify-content: flex-start;
  gap: 19px 0;
}

.activityRankingListItem__num {
  position: absolute;
  top: 30px;
  left: 0;
  right: 0;
  font-family: "Shippori Mincho", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 31px;
  font-weight: bold;
  line-height: 1;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
}

.activityRankingListItem__contWrap {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

.activityRankingListItem__imgBox {
  width: 100%;
  border-radius: 15px;
  overflow: hidden;
}

.activityRankingListItem__img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.activityRankingListItem__ttl {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.66;
  margin-top: 20px;
}

.activityRankingListItem__txt {
  margin: auto auto 0;
}

@media screen and (max-width: 768px) {
  .topActivityRankingArea {
    padding-top: 118px;
    padding-bottom: 60px;
  }
  .topActivityRankingBox {
    padding: 32px clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px) 79px;
  }
  .activityRankingListItem {
    max-width: 285px;
    padding-top: 47px;
    margin: 0 7.5px;
  }
  .activityRankingListItem__ttl {
    font-size: 16px;
    line-height: 1.75;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* topActivityMenuArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.topActivityMenuArea {
  padding-top: 47px;
  padding-bottom: 113px;
}

.topActivityMenuList {
  display: flex;
  flex-wrap: wrap;
  gap: 28px clamp(10px, 10px + 6 * (100vw - 768px) / 512, 16px);
  margin-top: 60px;
}

.topActivityMenuListItem {
  max-width: 248px;
  width: calc((100% - clamp(10px, 10px + 6 * (100vw - 768px) / 512, 16px) * 3) / 4);
}

.topActivityMenuListItem__link {
  display: block;
  width: 100%;
  height: 100%;
}

.topActivityMenuListItem__imgBox {
  width: 100%;
  border-radius: 10px;
  overflow: hidden;
}

.topActivityMenuListItem__txt {
  font-size: 18px;
  margin-top: 9px;
}

@media screen and (max-width: 768px) {
  .topActivityMenuArea {
    padding-top: 60px;
    padding-bottom: 100px;
  }
  .topActivityMenuList {
    gap: 28px 10px;
    max-width: 506px;
    width: -moz-fit-content;
    width: fit-content;
    margin: 60px auto 0;
  }
  .topActivityMenuListItem {
    width: calc((100% - 10px) / 2);
  }
  .topActivityMenuListItem__txt {
    font-size: 16px;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* topAboutUsArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.topAboutUsArea {
  position: relative;
  padding-top: 119px;
  padding-bottom: 110px;
  border-radius: 30px;
  background-color: #FFFFFF;
  overflow: hidden;
}
.topAboutUsArea .l-inner {
  position: relative;
  z-index: 1;
}

.topAboutUs__bg--before,
.topAboutUs__bg--after {
  display: block;
  position: absolute;
  margin: auto;
  transition: transform 0.1s linear;
  will-change: transform;
}

.topAboutUs__bg--before {
  top: 184.703125%;
  left: -8.046875vw;
  width: 33.515625vw;
  height: 31.640625vw;
  background: url(../img/top/bg_aboutUs_before.svg) no-repeat center/100%;
}

.topAboutUs__bg--after {
  top: 172.703125%;
  right: -11.71875vw;
  width: 41.09375vw;
  height: 36.953125vw;
  background: url(../img/top/bg_aboutUs_after.svg) no-repeat center/100%;
}

.topAboutUs__ttl {
  font-family: "Shippori Mincho", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: clamp(40px, 40px + 4 * (100vw - 768px) / 512, 44px);
  line-height: 1.54;
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  color: #00BAB4;
}

.topAboutUs__txt {
  max-width: 607px;
  margin: 51px auto 0;
}

.topAboutUs__link {
  margin-top: 66px;
}

@media screen and (max-width: 768px) {
  .topAboutUsArea {
    padding-top: 80px;
    padding-bottom: 70px;
    border-radius: 20px;
  }
  .topAboutUs__ttl {
    font-size: 30px;
  }
  .topAboutUs__txt {
    margin: 40px auto 0;
  }
  .topAboutUs__link {
    margin-top: 50px;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* topFeatureArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.topFeatureArea {
  padding-top: 120px;
  padding-bottom: 120px;
}

.topFeatureListItem {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  width: calc(100% + clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px));
  height: 460px;
  padding: 30px clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px);
  overflow: hidden;
}
.topFeatureListItem:nth-of-type(2n-1) {
  margin-right: clamp(-60px, -30px + -30 * (100vw - 768px) / (1280 - 768), -30px);
  border-radius: 15px 0 0 15px;
}
.topFeatureListItem:nth-of-type(2n) {
  margin-left: clamp(-60px, -30px + -30 * (100vw - 768px) / (1280 - 768), -30px);
  border-radius: 0 15px 15px 0;
}
.topFeatureListItem:nth-of-type(2n) .topFeatureListItem__contBox {
  margin-left: auto;
}
.topFeatureListItem + .topFeatureListItem {
  margin-top: 50px;
}
.topFeatureListItem:nth-of-type(2) .topFeatureListItem__bg::before {
  right: 0;
  width: 54.5%;
  background: linear-gradient(270deg, rgb(108, 108, 148) 0%, rgba(216, 219, 235, 0.96) 80%, rgba(216, 219, 235, 0) 100%);
  opacity: 0.3;
}
.topFeatureListItem:nth-of-type(3) .topFeatureListItem__bg::before {
  left: 0;
  width: 54.5%;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0.6) 70%, rgba(255, 255, 255, 0) 100%);
}
.topFeatureListItem:nth-of-type(4) .topFeatureListItem__bg::before {
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #FFFFFF;
  opacity: 0.85;
}

@media screen and (min-width: 1281px) {
  .topFeatureListItem {
    border-radius: 15px !important;
  }
}
.topFeatureListItem__bgWrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.topFeatureListItem__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  width: 100%;
  height: 100%;
}
.topFeatureListItem__bg::before {
  display: block;
  position: absolute;
  top: 0;
  height: 100%;
  margin: auto;
  content: "";
}

.topFeatureListItem__bgImg {
  z-index: -1;
}

.topFeatureListItem__contBox {
  max-width: 420px;
  z-index: 1;
}
.topFeatureListItem__contBox.--white {
  color: #FFFFFF;
}

.topFeatureListItem__ttl {
  font-family: "Shippori Mincho", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: clamp(30px, 30px + 4 * (100vw - 768px) / 512, 34px);
  font-weight: 600;
  line-height: 1.53;
}

.topFeatureListItem__txt {
  margin-top: 26px;
}

.topFeatureListItem__link {
  margin-top: 31px;
}

.amenitiesList {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 30px clamp(20px, 20px + 19 * (100vw - 768px) / 512, 39px);
  max-width: 381px;
  margin-left: clamp(0px, 0px + 77 * (100vw - 768px) / 512, 77px);
  z-index: 1;
}

.amenitiesListItem {
  max-width: 171px;
  width: calc((100% - clamp(20px, 20px + 19 * (100vw - 768px) / 512, 39px)) / 2);
}

.amenitiesListItem__imgBox {
  width: 100%;
  border-radius: 10px;
  overflow: hidden;
}

.amenitiesListItem__ttl {
  display: block;
  font-weight: bold;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .topFeatureArea {
    padding-top: 100px;
    padding-bottom: 100px;
    overflow-x: hidden;
  }
  .topFeatureListItem {
    flex-direction: column;
    justify-content: center;
    width: 100%;
    height: -moz-fit-content;
    height: fit-content;
    padding: 15px;
    overflow: visible;
  }
  .topFeatureListItem:nth-of-type(2n-1) {
    margin-right: 0;
  }
  .topFeatureListItem:nth-of-type(2n-1) .topFeatureListItem__bg {
    margin-left: -15px;
    border-radius: 15px 0 0 15px;
    overflow: hidden;
  }
  .topFeatureListItem:nth-of-type(2n) {
    margin-left: 0;
    flex-direction: column;
  }
  .topFeatureListItem:nth-of-type(2n) .topFeatureListItem__bg {
    margin-left: -30px;
    border-radius: 0 15px 15px 0;
    overflow: hidden;
  }
  .topFeatureListItem:nth-of-type(2n) .topFeatureListItem__contBox {
    margin-left: 0;
  }
  .topFeatureListItem + .topFeatureListItem {
    margin-top: 35px;
  }
  .topFeatureListItem:nth-of-type(2) .topFeatureListItem__bg::before, .topFeatureListItem:nth-of-type(3) .topFeatureListItem__bg::before {
    display: none;
  }
  .topFeatureListItem__bgWrap {
    position: relative;
    top: auto;
    left: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    aspect-ratio: 315/265;
  }
  .topFeatureListItem__bg {
    width: calc(100% + 45px);
    aspect-ratio: 355/265;
  }
  .topFeatureListItem__bgImg {
    max-width: calc(100% + 45px);
    width: calc(100% + 45px);
  }
  .topFeatureListItem__contBox {
    max-width: 420px;
  }
  .topFeatureListItem__contBox.--white {
    color: #36363C;
  }
  .topFeatureListItem__ttl {
    font-size: 22px;
  }
  .topFeatureListItem__txt {
    font-size: 14px;
    line-height: 1.785;
    margin-top: 20px;
  }
  .topFeatureListItem__link {
    margin-top: 22px;
  }
  .amenitiesList {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 19px 23px;
    padding: 19px 40px;
    margin: auto;
    z-index: 1;
  }
  .amenitiesListItem {
    max-width: none;
    width: calc((100% - 23px) / 2);
  }
  .amenitiesListItem__img {
    position: static !important;
    width: 100%;
    height: auto !important;
  }
  .amenitiesListItem__ttl {
    font-size: 9px;
    margin-top: 5px;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* topShopLeadArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.topShopLeadArea {
  padding-top: 0;
  padding-bottom: 0;
}

.topShopBg {
  position: sticky;
  position: -webkit-sticky;
  top: 0;
  left: 0;
  width: 100vw;
  aspect-ratio: 1280/829;
  margin: 0 calc(50% - 50vw);
  border-radius: 40px;
  overflow: hidden;
  z-index: -1;
}

.topShopBgImg {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.topShopLeadWrap {
  position: absolute;
  top: 77px;
  left: 0;
  right: 0;
  padding: 0 clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px);
}

.topShopLeadBox {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 0 clamp(30px, 30px + 42 * (100vw - 768px) / 512, 72px);
  max-width: 1040px;
  margin: auto;
  color: #FFFFFF;
}

.topShopLead__ttl {
  flex: 1;
  font-family: "Shippori Mincho", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: clamp(36px, 36px + 8 * (100vw - 768px) / 512, 44px);
  font-weight: 600;
  line-height: 1.54;
}

.topShopLead__txt {
  flex: 1;
  margin-top: 7px;
}

@media screen and (max-width: 768px) {
  .topShopLeadArea {
    padding-top: 0;
    padding-bottom: 0;
  }
  .topShopBg {
    aspect-ratio: 375/590;
    border-radius: 20px;
  }
  .topShopLeadWrap {
    position: absolute;
    top: 77px;
    left: 0;
    right: 0;
    padding: 0 30px;
  }
  .topShopLeadBox {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 25px 0;
  }
  .topShopLead__ttl {
    font-size: 24px;
  }
  .topShopLead__txt {
    font-size: 14px;
    margin-top: 0;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* topShopArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.topShopArea {
  position: relative;
  padding-top: 0;
  padding-bottom: 0;
  margin-top: -51.5625vw;
  overflow: hidden;
}
.topShopArea::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100vw;
  height: calc(100% - 110px);
  margin: auto;
  background-color: #FFFFFF;
  content: "";
  z-index: -1;
}
.topShopArea .relative::before, .topShopArea .relative::after {
  display: block;
  position: absolute;
  top: 90px;
  width: 20px;
  height: 20px;
  margin: auto;
  background: url(../img/common/bg_curve.svg) no-repeat center/contain;
  content: "";
}
.topShopArea .relative::before {
  left: -20px;
}
.topShopArea .relative::after {
  right: -20px;
  transform: rotate(90deg);
}

.topShopBox {
  padding: 35px clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px) 82px;
}

.topShopList {
  display: flex;
  flex-wrap: wrap;
  gap: 75px clamp(10px, 10px + 10 * (100vw - 768px) / 512, 20px);
  margin-top: 64px;
}

.topShopListItem {
  max-width: 245px;
  width: calc((100% - clamp(10px, 10px + 10 * (100vw - 768px) / 512, 20px) * 3) / 4);
}

.topShopListItem__imgBox {
  position: relative;
  width: 100%;
}

.topShopListItem__img {
  border-radius: 10px;
}

.topShopListItem__deco {
  position: absolute;
  top: -1px;
  left: -1px;
  display: block;
  width: 68px;
  height: 51px;
  z-index: 1;
}

.topShopListItem__ttl {
  font-family: "Shippori Mincho", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
  margin-top: 17px;
}

.topShopListItem__txt {
  font-size: 15px;
  line-height: 1.6;
  margin-top: 10px;
}

@media screen and (max-width: 768px) {
  .topShopArea {
    position: relative;
    padding-top: 0;
    padding-bottom: 0;
    margin-top: -66.13333333vw;
  }
  .topShopArea .relative::before, .topShopArea .relative::after {
    top: 91px;
  }
  .topShopArea .relative::before {
    left: -19px;
  }
  .topShopArea .relative::after {
    right: -19px;
  }
  .topShopBox {
    padding: 25px 15px 60px;
  }
  .topShopList {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 50px 10px;
    margin-top: 50px;
  }
  .topShopListItem {
    width: calc((100% - 10px) / 2);
  }
  .topShopListItem__ttl {
    font-size: 16px;
  }
  .topShopListItem__txt {
    font-size: 14px;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* topLinkArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.topLinkArea {
  padding-top: 110px;
  padding-bottom: 69px;
  background-color: #F5FAFC;
}

.topLinkList {
  display: flex;
  gap: 0 clamp(15px, 15px + 10 * (100vw - 768px) / 512, 25px);
}

.topLinkListItem {
  max-width: 330px;
  width: calc((100% - clamp(15px, 15px + 10 * (100vw - 768px) / 512, 25px) * 2) / 3);
}

.topLinkListItem__link {
  display: block;
  width: 100%;
  height: 100%;
}

.topLinkListItem__imgBox {
  width: 100%;
  border-radius: 10px;
  overflow: hidden;
}

.topLinkListItem__linkTxt {
  font-weight: 500;
  margin-top: 27px;
}

.topLinkListItem__txt {
  font-size: 15px;
  line-height: 1.6;
  margin-top: 16px;
}

@media screen and (max-width: 768px) {
  .topLinkArea {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .topLinkList {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 30px;
  }
  .topLinkListItem {
    max-width: 330px;
    width: 100%;
  }
  .topLinkListItem__linkTxt {
    font-weight: 500;
    margin-top: 22px;
  }
  .topLinkListItem__txt {
    margin-top: 12px;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* topInstagramArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.topInstagramArea {
  padding-top: 69px;
  padding-bottom: 68px;
  background-color: #F5FAFC;
}

.topInstagramBox {
  padding: 37px clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px) 101px;
}

.instagramList {
  display: flex;
  flex-wrap: wrap;
  gap: 14px clamp(10px, 10px + 5 * (100vw - 768px) / 512, 15px);
  margin-top: 64px;
}

.instagramListItem {
  max-width: 196px;
  width: calc((100% - clamp(10px, 10px + 5 * (100vw - 768px) / 512, 15px) * 4) / 5);
  aspect-ratio: 1/1;
  border-radius: 10px;
  overflow: hidden;
}

.instagramListItem__link {
  display: block;
  width: 100%;
  height: 100%;
}

.instagramListItem__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (max-width: 768px) {
  .topInstagramArea {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .topInstagramBox {
    padding: 25px 15px 80px;
  }
  .instagramList {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 14px 10px;
    margin-top: 64px;
  }
  .instagramListItem {
    width: calc((100% - clamp(10px, 10px + 5 * (100vw - 768px) / 512, 15px) * 2) / 3);
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* menuFirstArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.menuFirstArea {
  padding-top: 34px;
  overflow-x: hidden;
}

.menuFirst__lead {
  font-family: "Shippori Mincho", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: clamp(22px, 22px + 4 * (100vw - 768px) / 512, 26px);
  font-weight: 600;
  line-height: 1.69;
  text-align: center;
}

.menuFirstList {
  margin-top: 100px;
}
.menuFirstList.--snorkelingTour {
  margin-top: 55px;
}

.menuFirstListItem {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0 clamp(20px, 20px + 30 * (100vw - 768px) / 512, 50px);
}
.menuFirstListItem + .menuFirstListItem {
  margin-top: 28px;
}
.menuFirstListItem:nth-of-type(2n) {
  flex-direction: row-reverse;
}
.menuFirstListItem:nth-of-type(2n) .menuFirstListItem__contBox::before {
  left: clamp(-120px, -30px + -90 * (100vw - 768px) / (1280 - 768), -30px);
  border-radius: 0 15px 15px 0;
}

.menuFirstListItem__imgBox {
  flex: 1 1 506px;
  max-width: 506px;
  position: relative;
}
.menuFirstListItem__imgBox.--amenity:before {
  content: "";
  background: url(../img/common/img_amenity.png) no-repeat center/contain;
  width: clamp(115px, 115px + 58 * (100vw - 768px) / 512, 173px);
  height: clamp(121px, 121px + 60 * (100vw - 768px) / 512, 181px);
  position: absolute;
  bottom: -14%;
  right: 2%;
  z-index: 1;
}

.menuFirstListItem__img {
  border-radius: 15px;
}

.menuFirstListItem__imgFlexBox {
  display: flex;
  gap: 10px;
  width: 100%;
}

.menuFirstListItem__imgFlexItem {
  width: 100%;
  position: relative;
}
.menuFirstListItem__imgFlexItem::before {
  content: "";
  width: clamp(56px, 56px + 29 * (100vw - 768px) / 512, 85px);
  height: clamp(46px, 46px + 23 * (100vw - 768px) / 512, 69px);
  position: absolute;
  top: -7%;
  left: 4%;
  z-index: 1;
}
.menuFirstListItem__imgFlexItem.--ao::before {
  background: url(../img/common/img_hukidashi_ao.svg) no-repeat center/contain;
}
.menuFirstListItem__imgFlexItem.--zane::before {
  background: url(../img/common/img_hukidashi_zane.svg) no-repeat center/contain;
}

@media screen and (max-width: 768px) {
  .menuFirstListItem__imgBox.--amenity:before {
    width: 25.625vw;
    height: 21.875vw;
    bottom: -7%;
  }
  .menuFirstListItem__imgFlexItem::before {
    width: 17.5vw;
    height: 14.375vw;
  }
}
.menuFirstListItem__contBox {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  flex: 1 1 484px;
  max-width: 484px;
  min-height: 392px;
  padding: 52px 0 46px;
}
.menuFirstListItem__contBox::before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: clamp(-120px, -30px + -90 * (100vw - 768px) / (1280 - 768), -30px);
  width: calc(100% + clamp(120px, 120px + 100 * (100vw - 768px) / 512, 220px));
  height: 100%;
  margin: auto 0;
  border-radius: 15px 0 0 15px;
  background-color: #FFFFFF;
  content: "";
  z-index: -1;
}

@media screen and (max-width: 768px) {
  .menuFirstArea {
    padding-top: 14px;
    padding-bottom: 14px;
  }
  .menuFirst__lead {
    font-size: 18px;
    line-height: 1.61;
    text-align: left;
  }
  .menuFirstList {
    margin-top: 0;
  }
  .menuFirstListItem {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    gap: 0 clamp(20px, 20px + 30 * (100vw - 768px) / 512, 50px);
    padding-top: 29.86666667vw;
    margin-top: 40px;
  }
  .menuFirstListItem + .menuFirstListItem {
    margin-top: 50px;
  }
  .menuFirstListItem:nth-of-type(2n) {
    flex-direction: column;
  }
  .menuFirstListItem:nth-of-type(2n) .menuFirstListItem__contBox::before {
    left: auto;
    border-radius: 15px;
  }
  .menuFirstListItem__imgBox {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    flex: 1 1 100%;
    max-width: 100%;
    margin: auto;
  }
  .menuFirstListItem__img {
    width: 100%;
  }
  .menuFirstListItem__contBox {
    position: relative;
    flex: 1 1 100%;
    padding: 38.66666667vw 0 40px;
  }
  .menuFirstListItem__contBox::before {
    right: auto;
    width: 100vw;
    margin: auto calc(50% - 50vw);
    border-radius: 15px;
  }
}
@media screen and (min-width: 1281px) {
  .menuFirstListItem__contBox::before {
    border-radius: 15px;
  }
  .menuFirstListItem:nth-of-type(2n) .menuFirstListItem__contBox::before {
    border-radius: 15px;
  }
}
.menuFirstListItem__ttl {
  font-family: "Shippori Mincho", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: clamp(22px, 22px + 6 * (100vw - 768px) / 512, 28px);
  font-weight: 600;
  line-height: 1.785;
  color: #00BAB4;
}

.menuFirstListItem__txt {
  margin-top: 23px;
}

.menuFirstListItem__txt--note {
  text-indent: -1em;
  padding-left: 1.2em;
  margin-top: 9px;
}

@media screen and (max-width: 768px) {
  .menuFirstListItem__ttl {
    font-size: 22px;
  }
  .menuFirstListItem__txt {
    font-size: 14px;
    margin-top: 18px;
  }
  .menuFirstListItem__txt--note {
    margin-top: 5px;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* menuArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.menuArea {
  padding-top: 74px;
  padding-bottom: 50px;
}

.menuListItem {
  position: relative;
  padding: clamp(10px, 19.875vw, 254px) clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px) 60px;
  margin-top: clamp(30px, 22.265625vw, 285px);
  border-radius: 15px;
  background-color: #00BAB4;
}
.menuListItem + .menuListItem {
  margin-top: clamp(30px, 24.609375vw, 315px);
}

.menuListItem__imgBox {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  padding: 0 60px;
  margin: auto;
  transform: translateY(-50%);
}
.menuListItem__imgBox .--gopro {
  width: clamp(0px, 10.546875vw, 135px);
  position: absolute;
  right: 77px;
  bottom: -15px;
}

.diverLicense__ImgBox {
  width: clamp(130px, 15.546875vw, 199px);
  height: auto;
  border-radius: 8px;
  overflow: hidden;
  position: absolute;
  left: 85px;
  bottom: 25px;
}

@media screen and (max-width: 768px) {
  .menuListItem__imgBox .--gopro {
    width: 22vw;
    right: 8px;
    bottom: -5px;
  }
  .diverLicense__ImgBox {
    width: 16.546875vw;
    border-radius: 4px;
    left: 29px;
    bottom: 15px;
  }
}
.menuListItem__img {
  border-radius: 15px;
}

.menuListItem__ttl {
  font-family: "Shippori Mincho", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-weight: bold;
  font-size: clamp(28px, 28px + 4 * (100vw - 768px) / 512, 32px);
  line-height: 1.59;
  color: #FFF46C;
}

.fontSmall {
  font-size: clamp(22px, 22px + 4 * (100vw - 768px) / 512, 26px);
}

.menuListItem__priceBox {
  display: flex;
  align-items: flex-start;
  font-weight: bold;
  margin-top: 19px;
}

.menuListItem__price {
  font-size: 17px;
  line-height: 1;
  padding: 7px 16px;
  margin-right: 12px;
  border-radius: 16px;
  background-color: #FFF46C;
  color: #00BAB4;
}

.menuListItem__num {
  font-size: 26px;
  line-height: 1.46;
  margin-top: -2px;
  color: #FFF46C;
}

.menuListItem__txtWrap {
  display: flex;
  gap: 0 clamp(20px, 20px + 20 * (100vw - 768px) / 512, 40px);
  margin-top: 20px;
}

.menuListItem__txt {
  flex: 1;
  font-weight: bold;
  margin-top: -5px;
  color: #FFFFFF;
}

@media screen and (max-width: 768px) {
  .menuArea {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .menuListItem {
    padding: 36.875vw 15px 50px;
    margin-top: 27.265625vw;
    border-radius: 15px;
  }
  .menuListItem__imgBox {
    padding: 0 15px;
    transform: translateY(-37.895%);
  }
  .menuListItem__img {
    border-radius: 15px;
  }
  .menuListItem__ttl {
    font-size: 24px;
    line-height: 1.5;
  }
  .fontSmall {
    font-size: 18px;
  }
  .menuListItem__priceBox {
    margin-top: 23px;
    flex-wrap: wrap;
    gap: 9px;
  }
  .menuListItem__price {
    font-size: 12px;
    padding: 5px 12px;
    margin-right: 0;
  }
  .menuListItem__num {
    font-size: 19px;
    margin-top: -3px;
  }
  .menuListItem__txtWrap {
    display: flex;
    flex-direction: column;
    gap: clamp(20px, 20px + 20 * (100vw - 768px) / 512, 40px);
    margin-top: 20px;
  }
  .menuListItem__txt {
    flex: 1;
    font-weight: bold;
    margin-top: -5px;
    color: #FFFFFF;
  }
}
.menuInfoBox {
  display: flex;
  gap: 0 clamp(20px, 20px + 20 * (100vw - 768px) / 512, 40px);
  padding-top: 37px;
  margin-top: 35px;
  border-top: 1px solid #F5F8FC;
}
.menuInfoBox.--flexColumn {
  flex-direction: column;
}

.menuInfo__scheduleBox {
  flex: 1 1 350px;
}

.menuInfo__ttl {
  font-family: "Shippori Mincho", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 15px;
  color: #FFFFFF;
}

.menuInfoScheduleTable {
  width: 100%;
  border-radius: 10px;
  background-color: #FFFFFF;
  overflow: hidden;
}
.menuInfoScheduleTable tbody tr {
  border-top: 1px solid #E0E0E0;
}
.menuInfoScheduleTable th + th,
.menuInfoScheduleTable td + td {
  border-left: 1px dashed #E0E0E0;
}
.menuInfoScheduleTable th,
.menuInfoScheduleTable td:first-of-type {
  font-size: 15px;
  font-weight: bold;
  color: #00BAB4;
}
.menuInfoScheduleTable th, .menuInfoScheduleTable td {
  text-align: center;
  padding: 9px 12px;
}

.menuInfo__overviewBox {
  flex: 1 1 650px;
}
.menuInfo__overviewBox.--adjustment {
  flex: 1 1 100%;
  margin-top: 45px;
}

.menuInfoOverviewList {
  border-radius: 15px;
  background-color: #FFFFFF;
  overflow: hidden;
}

.menuInfoOverviewListItem {
  display: flex;
  align-items: flex-start;
  gap: 0 clamp(10px, 10px + 8 * (100vw - 768px) / 512, 18px);
  padding: 15px 19px 16px;
  font-size: 15px;
}
.menuInfoOverviewListItem + .menuInfoOverviewListItem {
  border-top: 1px solid #E0E0E0;
}

.menuInfoOverviewListItem__ttl {
  font-weight: bold;
  min-width: 6em;
  white-space: noWrap;
  color: #00BAB4;
}

.menuInfoOverviewListItem__txt {
  margin: auto 0;
}

.menuInfoAboutBox {
  display: flex;
  gap: clamp(15px, 15px + 15 * (100vw - 768px) / 512, 30px);
}

.menuInfoAboutDetailsBox {
  flex: 1 1 50%;
  max-width: 50%;
  background: #fff;
  border-radius: 15px;
  padding: 19px 30px 25px;
}

.menuInfoAboutDetails__title {
  font-weight: 700;
  color: #00BAB4;
  padding-left: 24px;
  position: relative;
}
.menuInfoAboutDetails__title.--study {
  padding-left: 33px;
}
.menuInfoAboutDetails__title::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
.menuInfoAboutDetails__title.--medal::before {
  background: url(../img/common/ico_medal.svg) no-repeat center/contain;
  width: 20px;
  height: 23px;
}
.menuInfoAboutDetails__title.--study::before {
  background: url(../img/common/ico_study.svg) no-repeat center/contain;
  width: 29px;
  height: 17px;
}

.menuInfoAboutDetails__txtList {
  margin-top: 9px;
}

.menuInfoAboutDetails__txt {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.6;
  margin-top: 8px;
}

@media screen and (max-width: 768px) {
  .menuInfoBox {
    display: flex;
    flex-direction: column;
    gap: 40px 0;
    padding-top: 22px;
    margin-top: 21px;
  }
  .menuInfo__scheduleBox {
    flex: 1 1 100%;
  }
  .menuInfo__ttl {
    font-size: 22px;
  }
  .menuInfo__overviewBox {
    flex: 1 1 100%;
  }
  .menuInfo__overviewBox.--adjustment {
    margin-top: 0;
  }
  .menuInfoOverviewList {
    border-radius: 10px;
    background-color: #FFFFFF;
    overflow: hidden;
  }
  .menuInfoOverviewListItem {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0 clamp(10px, 10px + 8 * (100vw - 768px) / 512, 18px);
    padding: 15px 15px 16px;
    font-size: 15px;
  }
  .menuInfoOverviewListItem + .menuInfoOverviewListItem {
    border-top: 1px solid #E0E0E0;
  }
  .menuInfoOverviewListItem__ttl {
    font-weight: bold;
    min-width: 6em;
    white-space: noWrap;
    color: #00BAB4;
  }
  .menuInfoOverviewListItem__txt {
    margin-top: 5px;
  }
  .menuInfoAboutBox {
    flex-direction: column;
  }
  .menuInfoAboutDetailsBox {
    flex: 1 1 100%;
    max-width: 100%;
    border-radius: 10px;
    padding: 19px 15px 25px;
  }
  .menuInfoAboutDetails__title {
    font-size: 17px;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* setMenutArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.setMenuArea {
  padding-top: 53px;
  padding-bottom: 75px;
  background-color: #fff;
}

.setMenuBox {
  display: flex;
  gap: 0 13px;
  margin-top: 30px;
}

.setMenuOptions {
  width: calc((100% - 30px) / 3);
  border-radius: 12px;
}

.setMenuOptions__ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: clamp(16px, 16px + 2 * (100vw - 768px) / 512, 18px);
  font-weight: 700;
  background-color: #00BAB4;
  border-radius: 12px 12px 0 0;
  padding: 13px 12px 10px;
}

.setMenuOptionsList {
  font-size: clamp(15px, 15px + 1 * (100vw - 768px) / 512, 16px);
  font-weight: 700;
  line-height: 1.375;
  background-color: #F5F3E7;
  padding: 17px clamp(15px, 15px + 10 * (100vw - 768px) / 512, 25px) 20px;
  border-radius: 0 0 12px 12px;
}

.setMenuOptionsListItem {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding-bottom: 7px;
  border-bottom: 1px solid #E2E2E2;
}
.setMenuOptionsListItem + .setMenuOptionsListItem {
  padding-top: 5px;
}
.setMenuOptionsListItem:last-of-type {
  border-bottom: none;
}

.price {
  text-align: right;
  margin-left: auto;
}

@media screen and (max-width: 768px) {
  .setMenuArea {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .setMenuBox {
    flex-direction: column;
    gap: 13px;
  }
  .setMenuOptions {
    width: 100%;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* advertisementArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.advertisementArea {
  padding-top: 80px;
  padding-bottom: 69px;
}

.advertisementBox {
  display: flex;
  align-items: flex-start;
  gap: clamp(20px, 20px + 20 * (100vw - 768px) / 512, 40px);
}

.advertisement__imgBox {
  flex: 1 1 470px;
  max-width: 470px;
  border-radius: 15px;
  overflow: hidden;
}

.advertisement__txtBox {
  flex: 1 1 530px;
  max-width: 530px;
  margin-top: -12px;
}

.advertisement__title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  margin-top: 12px;
  position: relative;
}

.advertisement__titleImgBox {
  width: 87px;
  height: 49px;
  flex-shrink: 0;
}

.advertisement__txt {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.6;
  margin-top: 20px;
}
.advertisement__txt + .advertisement__txt {
  margin-top: 11px;
}

@media screen and (max-width: 768px) {
  .advertisementArea {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .advertisementBox {
    flex-direction: column-reverse;
  }
  .advertisement__imgBox {
    flex: 1 1 100%;
    max-width: 100%;
  }
  .advertisement__txtBox {
    flex: 1 1 100%;
    max-width: 100%;
    margin-top: 0;
  }
  .advertisement__title {
    margin-top: 0;
  }
  .advertisement__txt {
    margin-top: 18px;
  }
  .advertisement__txt + .advertisement__txt {
    margin-top: 9px;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* menuSliderArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.menuSliderArea {
  padding-top: 4px;
  padding-bottom: 3px;
}
.menuSliderArea.--bbq {
  padding-bottom: 90px;
}

.menuSliderList {
  width: 100vw;
  height: 100%;
  padding-bottom: 32px;
  display: flex;
  margin: 0 calc(50% - 50vw) 0 !important;
  position: relative;
}
.menuSliderList .slick-track {
  display: flex;
  align-items: stretch;
}
.menuSliderList .slick-dots {
  bottom: 0;
  left: 0;
  right: 0;
}

.menuSliderListItem {
  position: relative;
  max-width: 370px;
  margin: 0 10px;
  flex: 1 1 auto;
}

.menuSliderListItem__imgBox {
  width: 100%;
  border-radius: 10px;
  overflow: hidden;
}

.menuSliderListItem__img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (max-width: 768px) {
  .menuSliderArea {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .menuSliderArea.--bbq {
    padding-bottom: 40px;
  }
  .menuSliderListItem {
    max-width: 285px;
    margin: 0 7.5px;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* c-pageTtlArea--information
――――――――――――――――――――――――――――――――――――――――――――――*/
.c-pageTtlArea--information {
  padding-top: 136px;
  padding-bottom: 80px;
}
.c-pageTtlArea--information::before {
  display: none;
}

.infoLead {
  font-family: "Shippori Mincho", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: clamp(22px, 22px + 4 * (100vw - 768px) / 512, 26px);
  font-weight: 600;
  line-height: 1.69;
  text-align: center;
  margin-top: 75px;
}

@media screen and (max-width: 768px) {
  .c-pageTtlArea--information {
    padding-top: 65px;
    padding-bottom: 60px;
  }
  .c-pageTtlArea--information::before {
    display: none;
  }
  .infoLead {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.69;
    text-align: center;
    margin-top: 50px;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* menuStatusArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.menuStatusArea {
  padding-top: 67px;
  padding-bottom: 80px;
  background-color: #FFFFFF;
}

.menuStatusTtl {
  font-family: "Shippori Mincho", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: clamp(38px, 38px + 6 * (100vw - 768px) / 512, 44px);
  font-weight: 600;
  line-height: 1.54;
  text-align: center;
  color: #00BAB4;
}

@media screen and (max-width: 768px) {
  .menuStatusArea {
    padding-top: 60px;
  }
  .menuStatusTtl {
    font-size: 28px;
  }
}
.menuStatusTableWrap {
  margin-top: 48px;
  border: 1px solid #E2E3E2;
  border-radius: 15px;
  overflow: hidden;
}

.menuStatusTable {
  width: 100%;
}
.menuStatusTable thead, .menuStatusTable tbody {
  width: 100%;
}
.menuStatusTable thead {
  font-size: clamp(18px, 18px + 3 * (100vw - 768px) / 512, 21px);
  color: #FFFFFF;
}
.menuStatusTable thead tr {
  background-color: #00BAB4;
}
.menuStatusTable tbody tr {
  background-color: #FFFFFF;
  border-top: 1px solid #E2E3E2;
}
.menuStatusTable tbody tr:nth-of-type(2n) {
  background-color: #F5FCFA;
}
.menuStatusTable th, .menuStatusTable td {
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: clamp(16px, 16px + 2 * (100vw - 768px) / 512, 18px);
  font-weight: 600;
  vertical-align: middle;
  width: 33.3333333333%;
  border-left: 1px solid #E2E3E2;
}
.menuStatusTable th:first-of-type, .menuStatusTable td:first-of-type {
  border-left: none;
}
.menuStatusTable th {
  padding: 11px clamp(15px, 15px + 15 * (100vw - 768px) / 512, 30px);
  border-left: 1px solid #FFFFFF;
}
.menuStatusTable td {
  padding: 14px clamp(15px, 15px + 15 * (100vw - 768px) / 512, 30px);
}

@media screen and (max-width: 768px) {
  .menuStatusTableWrap {
    margin-top: 48px;
    border: 1px solid #E2E3E2;
    border-radius: 15px;
    overflow-x: scroll;
  }
  .menuStatusTable {
    width: 100%;
  }
  .menuStatusTable thead, .menuStatusTable tbody {
    width: 100%;
  }
  .menuStatusTable thead {
    font-size: clamp(18px, 18px + 3 * (100vw - 768px) / 512, 21px);
    color: #FFFFFF;
  }
  .menuStatusTable thead tr {
    background-color: #00BAB4;
  }
  .menuStatusTable tbody tr {
    background-color: #FFFFFF;
    border-top: 1px solid #E2E3E2;
  }
  .menuStatusTable tbody tr:nth-of-type(2n) {
    background-color: #F5FCFA;
  }
  .menuStatusTable th, .menuStatusTable td {
    width: 28.7%;
  }
  .menuStatusTable th:first-of-type, .menuStatusTable td:first-of-type {
    font-size: 14px;
    min-width: 125px;
    width: 42.6%;
    padding: 12px 13px 12px 15px;
  }
  .menuStatusTable th {
    font-size: 14px;
  }
  .menuStatusTable td {
    font-size: 12px;
    padding: 13.5px 10px;
  }
}
.menuStatus__date {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}

.menuStatus__course {
  position: relative;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  padding-right: 24px;
}
.menuStatus__course::before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 18px;
  height: 18px;
  margin: auto;
  background: url(../img/common/ico_link.svg) no-repeat center/contain;
  content: "";
}

.menuStatus__txt {
  position: relative;
  display: block;
  line-height: 1;
  text-align: left;
  max-width: 105px;
  padding-left: 33px;
  margin: 0 auto;
  /* 情報アイコン */
  /* ツールチップ本体 */
  /* 吹き出しの矢印 */
  /* 表示条件 */
}
.menuStatus__txt::before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
}
.menuStatus__txt.--go::before {
  left: 1px;
  width: 20px;
  height: 20px;
  background: url(../img/common/ico_circle.svg) no-repeat center/contain;
}
.menuStatus__txt.--ng::before {
  left: 1px;
  width: 20px;
  height: 20px;
  background: url(../img/common/ico_cross.svg) no-repeat center/contain;
}
.menuStatus__txt.--hm::before {
  top: -3px;
  left: 0;
  width: 24px;
  height: 19px;
  background: url(../img/common/ico_triangle.svg) no-repeat center/contain;
}
.menuStatus__txt .infoTooltip {
  position: absolute;
  top: 0;
  bottom: 0;
  right: clamp(-20px, -12px + -8 * (100vw - 768px) / (1280 - 768), -12px);
  display: flex;
  justify-content: center;
  align-items: center;
  color: #00BAB4;
  font-size: 10px;
  font-weight: bold;
  width: 16px;
  height: 16px;
  margin: auto;
  border-radius: 50%;
  border: 1.5px solid #00BAB4;
  cursor: help;
}
.menuStatus__txt .infoTooltip::after {
  content: attr(data-tooltip);
  position: absolute;
  bottom: 125%; /* 上に出す */
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
  padding: 6px 10px;
  border-radius: 4px;
  white-space: pre-wrap;
  font-size: 14px;
  z-index: 10;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease-in-out;
  width: -moz-max-content;
  width: max-content;
  max-width: 250px;
}
.menuStatus__txt .infoTooltip::before {
  content: "";
  position: absolute;
  bottom: 115%;
  left: 50%;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-top-color: rgba(0, 0, 0, 0.8);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease-in-out;
}
.menuStatus__txt .infoTooltip:hover::after,
.menuStatus__txt .infoTooltip:focus::after,
.menuStatus__txt .infoTooltip:hover::before,
.menuStatus__txt .infoTooltip:focus::before {
  opacity: 1;
}

.menuStatus__note {
  display: block;
  font-size: 15px;
  font-weight: 500;
  text-align: center;
  line-height: 1.5;
  margin-top: 10px;
}

@media screen and (max-width: 768px) {
  .menuStatus__date {
    line-height: 1.428;
    text-align: center;
  }
  .menuStatus__course {
    line-height: 1.34;
    padding-right: 19px;
    margin: auto auto auto 0;
  }
  .menuStatus__course::before {
    width: 14px;
    height: 14px;
  }
  .menuStatus__txt {
    text-align: center;
    max-width: 48px;
    padding-top: 24px;
    padding-left: 0;
  }
  .menuStatus__txt::before {
    top: 0;
    bottom: auto;
    left: 0;
    right: 0;
  }
  .menuStatus__txt.--go::before {
    left: 0;
    width: 18px;
    height: 18px;
  }
  .menuStatus__txt.--ng::before {
    left: 0;
    width: 18px;
    height: 18px;
  }
  .menuStatus__txt.--hm::before {
    left: 0;
    width: 22px;
    height: 18px;
  }
  .menuStatus__note {
    font-size: 12px;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* menuStatusDetailArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.menuStatusDetailArea {
  padding-top: 110px;
  padding-bottom: 159px;
  margin-bottom: -92px;
  background-color: #D9F0F2;
}

.menuStatusDetail__ttl {
  font-size: 26px;
  font-weight: 600;
  text-align: center;
}

.menuStatusDetailNavList {
  display: flex;
  gap: 30px clamp(10px, 10px + 6 * (100vw - 768px) / 512, 16px);
  max-width: 1040px;
  margin: 32px auto 0;
}

.menuStatusDetailNavListItem {
  max-width: 160px;
  width: calc((100% - clamp(10px, 10px + 6 * (100vw - 768px) / 512, 16px) * 5) / 6);
}

@media screen and (max-width: 1000px) {
  .menuStatusDetailNavList {
    justify-content: center;
    flex-wrap: wrap;
    gap: 30px 16px;
    max-width: 512px;
  }
  .menuStatusDetailNavListItem {
    max-width: 160px;
    width: calc((100% - 32px) / 3);
  }
}
@media screen and (max-width: 768px) {
  .menuStatusDetailArea {
    padding-top: 80px;
    padding-bottom: 159px;
    margin-bottom: -92px;
  }
  .menuStatusDetail__ttl {
    font-size: 20px;
  }
  .menuStatusDetailNavList {
    display: flex;
    gap: 30px 10px;
    margin: 32px auto 0;
  }
  .menuStatusDetailNavListItem {
    width: calc((100% - 10px) / 2);
  }
}
.menuStatusDetailNavListItem__link {
  display: block;
  width: 100%;
  height: 100%;
}
.menuStatusDetailNavListItem__link:hover img {
  scale: 1.1;
  transition: 0.5s;
}

.menuStatusDetailNavListItem__imgBox {
  border-radius: 10px;
  overflow: hidden;
}

.menuStatusDetailNavListItem__img {
  scale: 1;
  transition: 0.5s;
}

.menuStatusDetailNavListItem__txt {
  font-size: 15px;
  font-weight: bold;
  padding-right: 20px;
  margin-top: 7px;
}
.menuStatusDetailNavListItem__txt::before {
  width: 16px;
  height: 16px;
}

@media screen and (min-width: 1280px) {
  .menuStatusDetailNavListItem__txt {
    white-space: noWrap;
  }
}
/*** menuStatusDetailList ***/
.menuStatusDetailList {
  margin-top: 116px;
}

.menuStatusDetailListItem {
  padding: 50px clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px) 46px;
  background-color: #FFFFFF;
  border-radius: 15px;
}
.menuStatusDetailListItem + .menuStatusDetailListItem {
  margin-top: 70px;
}

.menuStatusDetailListItem__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0 20px;
}

.menuStatusDetailListItem__contBox {
  flex: 1;
}

.menuStatusDetailListItem__ttl {
  font-size: clamp(28px, 28px + 4 * (100vw - 768px) / 512, 32px);
  font-weight: bold;
  color: #00BAB4;
}

.menuStatusDetailListItem__menu {
  font-size: clamp(16px, 16px + 2 * (100vw - 768px) / 512, 18px);
  font-weight: bold;
  line-height: 1.66;
  margin-top: 3px;
}

.menuStatusDetailListItem__menuTxt {
  position: relative;
  display: block;
  padding-left: 12px;
}
.menuStatusDetailListItem__menuTxt::before {
  display: block;
  position: absolute;
  top: 9px;
  left: 0;
  width: 7px;
  height: 11px;
  margin: auto;
  background: url(../img/common/ico_list.svg) no-repeat center/contain;
  content: "";
}

@media screen and (max-width: 768px) {
  .menuStatusDetailList {
    margin-top: 100px;
  }
  .menuStatusDetailListItem {
    padding: 30px 15px 35px;
  }
  .menuStatusDetailListItem + .menuStatusDetailListItem {
    margin-top: 50px;
  }
  .menuStatusDetailListItem__head {
    display: flex;
    flex-direction: column;
    gap: 25px 0;
  }
  .menuStatusDetailListItem__contBox {
    width: 100%;
  }
  .menuStatusDetailListItem__ttl {
    font-size: 24px;
  }
  .menuStatusDetailListItem__menu {
    font-size: 16px;
  }
  .menuStatusDetailListItem__menuTxt::before {
    top: 7px;
  }
}
.menuStatusDetailListItem__statsTable {
  flex: 1;
  max-width: 479px;
  border-radius: 10px;
  overflow: hidden;
}
.menuStatusDetailListItem__statsTable thead, .menuStatusDetailListItem__statsTable tbody {
  width: 100%;
}
.menuStatusDetailListItem__statsTable thead {
  color: #FFFFFF;
}
.menuStatusDetailListItem__statsTable thead tr {
  background-color: #00BAB4;
}
.menuStatusDetailListItem__statsTable tbody {
  font-size: clamp(16px, 16px + 2 * (100vw - 768px) / 512, 18px);
}
.menuStatusDetailListItem__statsTable tbody tr {
  background-color: #F2FAF8;
  border-top: 1px solid #E2E3E2;
}
.menuStatusDetailListItem__statsTable tbody tr:nth-of-type(2n) {
  background-color: #FFFFFF;
}
.menuStatusDetailListItem__statsTable th, .menuStatusDetailListItem__statsTable td {
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: clamp(16px, 16px + 2 * (100vw - 768px) / 512, 18px);
  font-weight: 600;
  width: 50%;
  border-left: 1px solid #E2E3E2;
}
.menuStatusDetailListItem__statsTable th:first-of-type, .menuStatusDetailListItem__statsTable td:first-of-type {
  border-left: none;
}
.menuStatusDetailListItem__statsTable th {
  padding: 10px clamp(15px, 15px + 15 * (100vw - 768px) / 512, 30px);
  border-left: 1px solid #FFFFFF;
}
.menuStatusDetailListItem__statsTable td {
  vertical-align: middle;
  padding: 16px clamp(15px, 15px + 15 * (100vw - 768px) / 512, 30px);
}
.menuStatusDetailListItem__statsTable .menuStatus__txt {
  width: -moz-fit-content;
  width: fit-content;
}

@media screen and (max-width: 768px) {
  .menuStatusDetailListItem__statsTable {
    width: 100%;
  }
  .menuStatusDetailListItem__statsTable td {
    padding: 9px 15px;
  }
  .menuStatusDetailListItem__statsTable .menuStatus__txt {
    max-width: 65px;
  }
}
/*** detailInfoWrap ***/
.detailInfoWrap {
  margin-top: 23px;
}

.detailInfoBox {
  padding-top: 14px;
  margin-top: 15px;
  border-top: 1px solid #E0E0E0;
}
.detailInfoBox:first-of-type {
  margin-top: 0;
}

.detailInfoList {
  display: flex;
  align-items: flex-start;
  gap: 0 23px;
  font-size: 15px;
}

.detailInfoList__ttl {
  font-weight: bold;
  min-width: 4em;
  color: #00BAB4;
}

.detailInfoList__cont {
  width: 100%;
}
.detailInfoList__cont .c-dotTxt + .c-dotTxt {
  margin-top: 5px;
}

.detailInfoList__flexBox {
  display: flex;
  align-items: flex-start;
  margin-top: 5px;
}

.detailInfoList__txtBox {
  width: 100%;
}

.detailInfoList__accessBox {
  padding: 15px 20px;
  margin-bottom: 17px;
  background-color: #EAF7ED;
  border-radius: 10px;
}

.detailInfoList__access {
  font-weight: bold;
  color: #00BAB4;
}

.detailInfoList__accessLink {
  position: relative;
  font-size: 14px;
  padding-left: 17px;
  margin-top: 2px;
}
.detailInfoList__accessLink::after {
  display: block;
  position: absolute;
  top: 4px;
  left: 0;
  width: 12px;
  height: 16px;
  margin: auto;
  background: url(../img/common/ico_pin-green.svg) no-repeat center/contain;
  content: "";
}

.detailInfoList__txt {
  line-height: 1.6;
}
.detailInfoList__txt.--mt {
  margin-top: 5px;
}

.detailInfoList__accessImgBox {
  flex: 1 0 197px;
  max-width: clamp(150px, 150px + 47 * (100vw - 768px) / 512, 197px);
  margin-left: clamp(10px, 10px + 10 * (100vw - 768px) / 512, 20px);
  border-radius: 10px;
  overflow: hidden;
}
.detailInfoList__accessImgBox.--border {
  border: 1px solid #BCBCBC;
}

.detailInfoList__categoryBox {
  display: flex;
  align-items: flex-start;
  margin-right: clamp(30px, 30px + 36 * (100vw - 768px) / 512, 66px);
}
.detailInfoList__categoryBox + .detailInfoList__categoryBox {
  padding-top: 10px;
  margin-top: 9px;
  border-top: 1px solid #E0E0E0;
}

.detailInfoList__category {
  position: relative;
  font-weight: bold;
  min-width: -moz-fit-content;
  min-width: fit-content;
  margin-right: clamp(16px, 16px + 16 * (100vw - 768px) / 512, 32px);
}
.detailInfoList__category.--hasIcon {
  margin-right: clamp(11px, 11px + 15 * (100vw - 768px) / 512, 26px);
}
.detailInfoList__category.--required {
  padding-left: 28px;
}
.detailInfoList__category.--required::before {
  display: block;
  position: absolute;
  top: 1px;
  left: -1px;
  width: 21px;
  height: 18px;
  margin: auto;
  background: url(../img/common/ico_required.svg) no-repeat center/contain;
  content: "";
}
.detailInfoList__category.--notAllowed {
  padding-left: 28px;
}
.detailInfoList__category.--notAllowed::before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 4px;
  width: 16px;
  height: 16px;
  margin: auto;
  background: url(../img/common/ico_notAllowed.svg) no-repeat center/contain;
  content: "";
}

@media screen and (max-width: 768px) {
  .detailInfoList {
    display: flex;
    flex-direction: column;
    gap: 10px 0;
  }
  .detailInfoList__flexBox {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    margin-top: 0;
  }
  .detailInfoList__accessBox {
    padding: 15px 20px;
    margin-bottom: 17px;
    background-color: #EAF7ED;
    border-radius: 10px;
  }
  .detailInfoList__access {
    font-weight: bold;
    color: #00BAB4;
  }
  .detailInfoList__accessLink {
    position: relative;
    font-size: 14px;
    padding-left: 17px;
    margin-top: 2px;
  }
  .detailInfoList__accessLink::after {
    display: block;
    position: absolute;
    top: 4px;
    left: 0;
    width: 12px;
    height: 16px;
    margin: auto;
    background: url(../img/common/ico_pin-green.svg) no-repeat center/contain;
    content: "";
  }
  .detailInfoList__txt {
    line-height: 1.6;
  }
  .detailInfoList__txt.--mt {
    margin-top: 5px;
  }
  .detailInfoList__accessImgBox {
    flex: 1 0 100%;
    max-width: 197px;
    margin: 0 0 20px;
  }
  .detailInfoList__categoryBox {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-right: 0;
  }
  .detailInfoList__categoryBox + .detailInfoList__categoryBox {
    padding-top: 10px;
    margin-top: 9px;
    border-top: 1px solid #E0E0E0;
  }
  .detailInfoList__category {
    margin: 0 0 3px;
  }
  .detailInfoList__category.--hasIcon {
    margin-right: 0;
  }
}
.staffArea {
  padding-top: 27px;
  padding-bottom: 43px;
}

.staffServiceList,
.staffInfoList {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 50px clamp(20px, 20px + 20 * (100vw - 768px) / 512, 40px);
}

.staffServiceListItem {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: calc((100% - clamp(20px, 20px + 20 * (100vw - 768px) / 512, 40px) * 2) / 3);
}

.staffServiceListItem__imgBox {
  background-color: #FFFFFF;
  border-radius: 50%;
  width: 210px;
  height: 210px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.staffServiceListItem__img {
  width: 100%;
  max-width: 85px;
}
.staffServiceListItem__img.--widthAdjust {
  max-width: 125px;
}
.staffServiceListItem__img.--widthAdjust2 {
  max-width: 74px;
}

.staffServiceListItem__title {
  font-family: "Shippori Mincho", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: clamp(18px, 18px + 2 * (100vw - 768px) / 512, 20px);
  font-weight: 600;
  line-height: 1.5;
  color: #00BAB4;
  text-align: center;
  margin-top: 37px;
}

.staffServiceListItem__txt {
  font-size: 15px;
  margin-top: 25px;
}

.staffInfoBox {
  margin-top: 92px;
}

.staffInfoListItem {
  width: calc((100% - clamp(20px, 20px + 20 * (100vw - 768px) / 512, 40px) * 2) / 3);
}

.staffInfoListItem__imgBox {
  width: 100%;
  border-radius: 10px;
  overflow: hidden;
}

.staffInfoListItem__txtBox {
  margin-top: 19px;
}

.staffInfoListItem__txtSmall {
  font-size: 16px;
  font-weight: 700;
  color: #00BAB4;
}

.staffInfoListItem__txtName {
  line-height: 1.6;
  font-size: clamp(25px, 25px + 5 * (100vw - 768px) / 512, 30px);
  font-weight: 600;
  font-family: "Shippori Mincho", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}

.staffInfoListItem__txtExperience {
  display: inline-block;
  font-size: 15px;
  font-weight: 700;
  margin-top: 6px;
}

.staffInfoListItem__txt {
  font-size: 15px;
  line-height: 1.6;
  margin-top: 8px;
}

@media screen and (max-width: 768px) {
  .staffArea {
    padding-bottom: 40px;
  }
  .staffInfoBox {
    margin-top: 70px;
  }
  .staffServiceList,
  .staffInfoList {
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }
  .staffServiceListItem,
  .staffInfoListItem {
    width: 100%;
    max-width: 530px;
  }
  .staffInfoListItem__txtName {
    font-size: 23px;
  }
  .staffServiceListItem__title {
    font-size: 17px;
    margin-top: 18px;
  }
  .staffServiceListItem__txt {
    font-size: 14px;
    margin-top: 15px;
  }
  .staffInfoListItem__txtSmall {
    font-size: 15px;
  }
  .staffInfoListItem__txtExperience {
    margin-top: 0;
  }
  .staffInfoListItem__txt {
    margin-top: 5px;
  }
  .staffInfoListItem__txtExperience,
  .staffInfoListItem__txt {
    font-size: 14px;
  }
  .staffServiceListItem__imgBox {
    width: 150px;
    height: 150px;
  }
  .staffServiceListItem__img {
    max-width: 70px;
  }
  .staffServiceListItem__img.--widthAdjust {
    max-width: 95px;
  }
  .staffServiceListItem__img.--widthAdjust2 {
    max-width: 60px;
  }
}
.shopTopArea {
  padding-top: 34px;
  padding-bottom: 95px;
}

.--relative {
  position: relative;
}

.shop__leadTxtBox {
  text-align: left;
  width: 100%;
  max-width: 500px;
}

.shopPageTopContainer {
  overflow-x: clip;
}

.shop__lead {
  font-family: "Shippori Mincho", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: clamp(22px, 22px + 4 * (100vw - 768px) / 512, 26px);
  font-weight: 600;
  line-height: 1.69;
}

.shop__leadSub {
  font-size: clamp(15px, 15px + 3 * (100vw - 768px) / 512, 18px);
  font-weight: 500;
  line-height: 1.77777;
  margin-top: 34px;
}

.shop__leadImgBox {
  width: 100%;
  max-width: 691px;
  position: absolute;
  top: clamp(-370px, -28.90625vw, -370px);
  right: clamp(-155px, -12.109375vw, -155px);
  z-index: -1;
}

@media screen and (max-width: 768px) {
  .shopTopArea {
    padding-top: 14px;
    padding-bottom: 40px;
  }
  .shop__lead {
    font-size: 18px;
    line-height: 1.61;
  }
  .shop__leadImgBox {
    max-width: 400px;
    top: -206px;
    right: -60px;
  }
  .shop__leadSub {
    margin-top: 16px;
  }
}
@media (max-width: 580px) {
  .shopTopArea {
    padding-bottom: 0;
    margin-bottom: -22%;
  }
  .shop__leadTxtBox {
    position: relative;
  }
  .--relative {
    z-index: -1;
  }
  .shop__leadImgBox {
    width: 134%;
    max-width: 134%;
    position: static;
    margin-top: -60%;
    margin-bottom: -82%;
    margin-left: 3%;
  }
  .--mtAdjust {
    margin-top: 30%;
  }
}
.shopAddressArea {
  padding-top: 100px;
  padding-bottom: 66px;
  background-color: #F5FAFC;
}

.shopAddressBox {
  display: flex;
  align-items: flex-start;
  gap: clamp(25px, 25px + 25 * (100vw - 768px) / 512, 50px);
  position: relative;
}

.shopAddressMapBox {
  flex: 1 1 670px;
  border-radius: 0 15px 15px 0;
  max-width: 670px;
  overflow: hidden;
  margin-left: clamp(-60px, -30px + -30 * (100vw - 768px) / (1280 - 768), -30px);
}
.shopAddressMapBox iframe {
  width: 100%;
}

.shopAddressInfoBox {
  flex: 1 0.3 440px;
  max-width: 440px;
}

.shopAddressInfoLogoBox {
  width: clamp(270px, 270px + 55 * (100vw - 768px) / 512, 325px);
  margin: 0 auto;
}

.shopAddressInfoList {
  border-radius: 15px;
  background-color: #FFFFFF;
  margin-top: 25px;
  overflow: hidden;
}

.shopAddressInfoListItem {
  display: flex;
  align-items: flex-start;
  gap: 0 clamp(10px, 10px + 8 * (100vw - 768px) / 512, 18px);
  padding: 15px 19px 14px;
  font-size: 15px;
}
.shopAddressInfoListItem + .shopAddressInfoListItem {
  border-top: 1px solid #E0E0E0;
}

.shopAddressInfoListItem__ttl {
  font-weight: bold;
  min-width: 4em;
  white-space: noWrap;
  color: #00BAB4;
}

.shopAddressInfoListItem__txt {
  line-height: 1.6;
  margin: auto 0;
}
.shopAddressInfoListItem__txt .c-dotTxt + .c-dotTxt {
  margin-top: 5px;
}

@media screen and (max-width: 768px) {
  .shopAddressArea {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .shopAddressBox {
    flex-direction: column-reverse;
  }
  .shopAddressMapBox {
    flex: 1 1 100%;
    border-radius: 10px;
    width: 100%;
    max-width: none;
    margin-left: 0;
  }
  .shopAddressInfoBox {
    flex: 1 1 100%;
    width: 100%;
    max-width: none;
  }
  .shopAddressInfoList {
    border-radius: 10px;
    background-color: #FFFFFF;
    overflow: hidden;
  }
  .shopAddressInfoListItem {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0 clamp(10px, 10px + 8 * (100vw - 768px) / 512, 18px);
    padding: 15px 15px 16px;
    font-size: 15px;
  }
  .shopAddressInfoListItem + .shopAddressInfoListItem {
    border-top: 1px solid #E0E0E0;
  }
  .shopAddressInfoListItem__ttl {
    font-weight: bold;
    min-width: 6em;
    white-space: noWrap;
    color: #00BAB4;
  }
  .shopAddressInfoListItem__txt {
    margin-top: 5px;
  }
}
@media screen and (min-width: 1281px) {
  .shopAddressMapBox {
    border-radius: 15px;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* recruitPointArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.recruitPointArea {
  padding-top: 34px;
  padding-bottom: 95px;
}

.recruitPoint__lead {
  font-family: "Shippori Mincho", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: clamp(22px, 22px + 4 * (100vw - 768px) / 512, 26px);
  font-weight: 600;
  line-height: 1.69;
  text-align: center;
}

.recruitPoint__leadSub {
  font-size: clamp(16px, 16px + 2 * (100vw - 768px) / 512, 18px);
  font-weight: 500;
  line-height: 1.777778;
  text-align: center;
  margin-top: 29px;
}

.recruitPointMainBox {
  margin-top: 63px;
}

.recruitPointMainList {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: clamp(15px, 15px + 10 * (100vw - 768px) / 512, 25px);
}

.recruitPointMainListItem {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #FFFFFF;
  border-radius: 10px;
  width: calc((100% - clamp(15px, 15px + 10 * (100vw - 768px) / 512, 25px) * 2) / 3);
  padding: 18px 30px 25px;
}

.recruitPointMainListItem__point {
  font-size: 18px;
  font-weight: 700;
  font-family: "Shippori Mincho", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  color: #00BAB4;
  position: relative;
}
.recruitPointMainListItem__point::after {
  content: "";
  display: block;
  width: 34px;
  height: 6px;
  position: absolute;
  bottom: -13px;
  left: 0;
  right: 0;
  margin: auto;
  background: url(../img/recruit/icon_dots.svg) center center/contain no-repeat;
}

.recruitPointMainListItem__point--txtLarge {
  font-size: 21px;
}

.recruitPointMainListItem__txtBox {
  margin-top: 24px;
}

.recruitPointMainListItem__title {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.5;
  font-family: "Shippori Mincho", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  color: #00BAB4;
  text-align: center;
}

.recruitPointMainListItem__txt {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.6;
  margin-top: 15px;
}

@media screen and (max-width: 768px) {
  .recruitPointMainBox {
    margin-top: 30px;
  }
  .recruitPointArea {
    padding-top: 14px;
    padding-bottom: 60px;
  }
  .recruitPoint__lead {
    text-align: left;
    font-size: 18px;
    line-height: 1.61;
  }
  .recruitPoint__leadSub {
    text-align: left;
    font-size: 16px;
    line-height: 1.6;
    width: 100%;
    margin: 20px auto;
  }
  .recruitPointMainList {
    flex-direction: column;
    align-items: center;
  }
  .recruitPointMainListItem {
    padding: 16px 15px 20px;
    width: 100%;
  }
  .recruitPointMainListItem__point {
    font-size: 16px;
  }
  .recruitPointMainListItem__point--txtLarge {
    font-size: 19px;
  }
  .recruitPointMainListItem__title {
    font-size: 18px;
  }
  .recruitPointMainListItem__txt {
    margin-top: 10px;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* recruitJobArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.recruitJobArea {
  padding-top: 90px;
  padding-bottom: 90px;
  background-color: #D9F0F2;
}

.recruitJobBox {
  background: #FFFFFF;
  border-radius: 15px;
  padding: 60px;
}

.recruitJobIntroBox {
  display: flex;
  align-items: flex-start;
  gap: clamp(20px, 20px + 20 * (100vw - 768px) / 512, 40px);
}

.recruitJobIntro__txtBox {
  flex: 1 0.6 350px;
  max-width: 350px;
}

.recruitJobIntro__txt {
  font-size: 16px;
  line-height: 1.6875;
  font-weight: 500;
  margin-top: 12px;
}

.recruitJobIntro__imgBox {
  flex: 1 1 530px;
  max-width: 530px;
}

.recruitJobIntro__title {
  font-size: clamp(24px, 24px + 4 * (100vw - 768px) / 512, 28px);
  color: #00BAB4;
  font-family: "Shippori Mincho", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-weight: 600;
  line-height: 1.5;
}

.recruitJobDetailBox {
  display: flex;
  gap: clamp(15px, 15px + 15 * (100vw - 768px) / 512, 30px);
  margin-top: 40px;
}

.recruitJobDetailInfoBox {
  border: 1px solid #00BAB4;
  border-radius: 10px;
  width: 100%;
  padding: 23px 25px 17px;
}

.recruitJobDetailInfo__title {
  color: #00BAB4;
  font-size: 20px;
  font-family: "Shippori Mincho", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-weight: 600;
  line-height: 1.5;
  padding-left: 20px;
  position: relative;
}
.recruitJobDetailInfo__title.--beginner::before {
  content: "";
  display: block;
  width: 15px;
  height: 22px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  background: url(../img/recruit/icon_beginnerMark.svg) center center/contain no-repeat;
}
.recruitJobDetailInfo__title.--experienced::before {
  content: "";
  display: block;
  width: 20px;
  height: 21px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  background: url(../img/recruit/icon_licensePeople.svg) center center/contain no-repeat;
}

.txtList {
  margin-top: 7px;
}

.txtListItem {
  font-size: 16px;
  line-height: 1.6875;
}

@media screen and (max-width: 768px) {
  .recruitJobArea {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .recruitJobBox {
    padding: 30px 15px;
  }
  .recruitJobIntro__title {
    font-size: 20px;
  }
  .recruitJobIntroBox {
    flex-direction: column;
    gap: 15px;
  }
  .recruitJobDetailBox {
    flex-direction: column;
    gap: 15px;
    margin-top: 20px;
  }
  .recruitJobIntro__txtBox {
    flex: 1 1 100%;
    width: 100%;
    max-width: none;
  }
  .recruitJobIntro__imgBox {
    flex: 1 1 100%;
    width: 100%;
    max-width: none;
  }
  .recruitJobIntro__txt {
    font-size: 15px;
    margin-top: 10px;
  }
  .recruitJobDetailInfo__title {
    font-size: 16px;
  }
  .txtListItem {
    font-size: 15px;
  }
  .recruitJobDetailInfoBox {
    padding-left: 15px;
    padding-right: 15px;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* recruitJobInfoArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.recruitJobInfoArea {
  padding-top: 102px;
  padding-bottom: 76px;
}

.recruitJobInfoList {
  border-radius: 15px;
  background-color: #FFFFFF;
  max-width: 800px;
  margin: 73px auto 0;
  overflow: hidden;
}

.recruitJobInfoListItem {
  display: flex;
  align-items: flex-start;
  gap: 0 clamp(20px, 20px + 8 * (100vw - 768px) / 512, 28px);
  padding: 16px 19px 14px;
  font-size: 15px;
}
.recruitJobInfoListItem + .recruitJobInfoListItem {
  border-top: 1px solid #E0E0E0;
}

.recruitJobInfoListItem__ttl {
  font-size: 15px;
  line-height: 1.6;
  font-weight: bold;
  min-width: 6em;
  white-space: noWrap;
  color: #00BAB4;
}

.recruitJobInfoListItem__txt {
  line-height: 1.6;
  margin: auto 0;
}

.fukidasiBox {
  background-color: #EAF7ED;
  border-radius: 10px;
  padding: 15px 20px;
  margin-top: 17px !important;
  margin-left: 13px;
  position: relative;
}
.fukidasiBox::before {
  content: "";
  display: block;
  width: 19px;
  height: 15px;
  position: absolute;
  top: -12px;
  left: 17px;
  background: url(../img/recruit/img_fukidadsi.svg) center center/contain no-repeat;
}

.recruitJobInfoListItem__txtList {
  margin-left: 5px;
}
.recruitJobInfoListItem__txtList .c-dotTxt + .c-dotTxt {
  margin-top: 5px;
}

@media screen and (max-width: 768px) {
  .recruitJobInfoList {
    margin-top: 25px;
  }
  .recruitJobInfoArea {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .recruitJobInfoList {
    border-radius: 10px;
    background-color: #FFFFFF;
    overflow: hidden;
  }
  .recruitJobInfoListItem {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0 clamp(10px, 10px + 8 * (100vw - 768px) / 512, 18px);
    padding: 15px 15px 16px;
    font-size: 15px;
  }
  .recruitJobInfoListItem + .recruitJobInfoListItem {
    border-top: 1px solid #E0E0E0;
  }
  .recruitJobInfoListItem__ttl {
    font-weight: bold;
    min-width: 6em;
    white-space: noWrap;
    color: #00BAB4;
  }
  .recruitJobInfoListItem__txt {
    margin-top: 5px;
  }
  .fukidasiBox {
    margin-top: 12px !important;
    padding: 11px 15px 10px;
  }
}
.marineLeisureArea {
  padding-top: 37px;
  padding-bottom: 23px;
}

.marineLeisureListItem {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0 clamp(20px, 20px + 30 * (100vw - 768px) / 512, 50px);
  padding-bottom: 50px;
  position: relative;
}
.marineLeisureListItem .marineLeisureFrame {
  display: block;
  position: absolute;
  bottom: -1px;
  right: -1px;
  width: 128px;
  height: 41px;
  border-radius: 15px 0 15px 0;
  margin: auto;
  background-color: #F5F8FC;
  content: "";
  z-index: 1;
}
.marineLeisureListItem .marineLeisureFrame::before, .marineLeisureListItem .marineLeisureFrame::after {
  display: block;
  position: absolute;
  width: 19px;
  height: 19px;
  margin: auto;
  background: url(../img/common/bg_curve-gray.svg) no-repeat center/contain;
  content: "";
  z-index: 1;
}
.marineLeisureListItem .marineLeisureFrame::before {
  bottom: 0.5px;
  left: -18.5px;
}
.marineLeisureListItem .marineLeisureFrame::after {
  top: -18.5px;
  right: -0.5px;
}
.marineLeisureListItem + .marineLeisureListItem {
  padding-top: 50px;
}
.marineLeisureListItem:nth-of-type(even)::before {
  content: "";
  background: #FFFFFF;
  margin: 0 calc(50% - 50vw);
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  z-index: -1;
}
.marineLeisureListItem:nth-of-type(even) .marineLeisureFrame {
  background-color: #FFFFFF;
}
.marineLeisureListItem:nth-of-type(even) .marineLeisureFrame::before, .marineLeisureListItem:nth-of-type(even) .marineLeisureFrame::after {
  background: url(../img/common/bg_curve.svg) no-repeat center/contain;
}
@media screen and (max-width: 768px) {
  .marineLeisureListItem .marineLeisureFrame {
    width: 115px;
    height: 31px;
  }
}

.marineLeisureListItem__title {
  font-family: "Shippori Mincho", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: clamp(32px, 32px + 4 * (100vw - 768px) / 512, 36px);
  font-weight: 600;
  line-height: 1.4;
  color: #00BAB4;
}

.marineLeisureListItem__courseBox {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  font-weight: bold;
  gap: 9px clamp(15px, 15px + 5 * (100vw - 768px) / 512, 20px);
  margin-top: 23px;
}

.marineLeisureListItem__courseBoxItem {
  display: flex;
  align-items: center;
}

.marineLeisureListItem__price,
.marineLeisureListItem__time {
  font-size: 13px;
  color: #FFFFFF;
  line-height: 1;
  padding: 6px 12px;
  margin-right: 7px;
  border-radius: 13px;
  background-color: #00BAB4;
}

.marineLeisureListItem__num {
  font-size: clamp(16px, 16px + 4 * (100vw - 768px) / 512, 20px);
  line-height: 1.6;
}

.marineLeisureListItem__link {
  margin-top: 22px;
}

.marineLeisureListItem__imgContainer {
  flex: 1 1 540px;
  max-width: 540px;
  position: relative;
}
.marineLeisureListItem__imgContainer .slick-dotted.slick-slider {
  margin-bottom: 0;
}

.marineLeisureListItem__imgBox {
  border-radius: 15px;
  overflow: hidden;
  width: 100%;
  height: auto !important;
}
.marineLeisureListItem__imgBox .slick-track {
  display: flex;
  align-items: stretch;
}
.marineLeisureListItem__imgBox .slick-dots {
  bottom: 15px;
  right: 0;
}

.marineLeisureListItem__img {
  display: block;
  width: 100%;
  height: auto;
}

.marineLeisureListItem__txt {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.777778;
  margin-top: 28px;
}

.marineLeisureListItem__txtBox {
  flex: 1 1 450px;
  max-width: 450px;
}

@media screen and (max-width: 768px) {
  .marineLeisurArea {
    padding-bottom: 25px;
  }
  .marineLeisureListItem {
    padding-bottom: 40px;
  }
  .marineLeisureListItem + .marineLeisureListItem {
    padding-top: 40px;
  }
  .marineLeisureListItem {
    flex-direction: column;
    align-items: center;
  }
  .marineLeisureListItem__txtBox {
    flex: 1 1 100%;
    margin-top: 20px;
    max-width: 100%;
  }
  .marineLeisureListItem__imgContainer {
    flex: 1 1 100%;
    max-width: 100%;
  }
  .marineLeisureListItem__title {
    font-size: 25px;
  }
  .marineLeisureListItem__txt {
    font-size: 15px;
    margin-top: 15px;
  }
  .marineLeisureListItem__courseBox {
    margin-top: 10px;
  }
  .marineLeisureListItem__price,
  .marineLeisureListItem__time {
    font-size: 14px;
    padding: 4px 10px;
  }
  .marineLeisureListItem__num {
    font-size: 16px;
  }
  .marineLeisureListItem__link {
    font-size: 15px;
    margin: 22px auto 0;
  }
}
.marineLeisureListItem__imgBox .slick-dots li.slick-active {
  background-color: #C9C9C9;
}
.marineLeisureListItem__imgBox .slick-dots li.slick-active::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  background-color: #00BAB4;
  content: "";
  animation: dotProgress 6s linear 0s normal both;
}
@keyframes dotProgress {
  from {
    width: 0%;
  }
  to {
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .marineLeisureListItem__imgBox .slick-dots {
    bottom: 12px;
    right: 19px;
    gap: 0 10px;
  }
  .marineLeisureListItem__imgBox .slick-dots li {
    width: 6px;
    height: 6px;
  }
  .marineLeisureListItem__imgBox .slick-dots li.slick-active {
    width: 45px;
  }
}
.downloadArea {
  padding-top: 32px;
  padding-bottom: 68px;
}

.downloadBox {
  border-bottom: 1px solid #DEDEDE;
  padding-bottom: 52px;
}

.download__leadTxtBox {
  width: 100%;
}

.downloadBox + .downloadBox .download__leadTxtBox {
  margin-top: 62px;
}

.downloadBox:last-of-type {
  border-bottom: none;
  padding-bottom: 0;
}

.download__leadTtl {
  text-align: left;
  font-family: "Shippori Mincho", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: clamp(24px, 24px + 4 * (100vw - 768px) / 512, 28px);
  font-weight: 600;
  line-height: 1.2857;
  color: #00BAB4;
}

.download__leadSub {
  font-size: clamp(16px, 16px + 2 * (100vw - 768px) / 512, 18px);
  font-weight: 500;
  line-height: 1.77777;
  margin-top: 25px;
}

.downloadList {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: clamp(15px, 15px + 15 * (100vw - 768px) / 512, 30px);
  margin-top: 32px;
}

.downloadListItem {
  display: flex;
  align-items: center;
  background: #fff;
  width: calc((100% - clamp(15px, 15px + 15 * (100vw - 768px) / 512, 30px)) / 2);
  min-height: 232px;
  min-width: 431px;
  border-radius: 10px;
}

.downloadListItem__imgBox {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #C7E0A9;
  border-radius: 10px;
  width: 100%;
  max-width: 173px;
  padding: 34px 26px 35px;
  overflow: hidden;
  height: 100%;
  min-height: 232px;
}

.downloadListItem__img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 5px;
  overflow: hidden;
}

.downloadListItem__img.--pdfIcon {
  width: 50px;
  height: 61px;
}

.downloadListItem__txtBox {
  -o-object-fit: cover;
     object-fit: cover;
  padding: clamp(15px, 15px + 20 * (100vw - 768px) / 512, 35px) clamp(15px, 15px + 15 * (100vw - 768px) / 512, 30px);
}

.downloadListItem__ttl {
  font-size: clamp(18px, 18px + 2 * (100vw - 768px) / 512, 20px);
  font-family: "Shippori Mincho", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  color: #00BAB4;
  line-height: 1.45;
}

.downloadListItem__txt {
  font-size: 15px;
  line-height: 1.6;
  font-weight: 500;
  margin-top: 14px;
}

.downloadListItem__txtLink {
  margin-top: 18px;
}

.downloadListItem__txtBtnBox {
  width: 224px;
  max-width: 100%;
}

@media screen and (max-width: 768px) {
  .downloadArea {
    padding-top: 15px;
    padding-bottom: 15px;
  }
  .download__leadTtl {
    font-size: 22px;
  }
  .downloadList {
    flex-direction: column;
    gap: 30px;
  }
  .downloadListItem {
    width: 100%;
    min-width: 0;
  }
  .downloadBox {
    padding-bottom: 35px;
  }
  .downloadBox + .downloadBox .download__leadTxtBox {
    margin-top: 40px;
  }
  .download__leadSub {
    margin-top: 13px;
  }
}
@media (max-width: 425px) {
  .downloadListItem {
    flex-direction: column;
    padding: 25px 15px;
  }
  .downloadListItem__txtBox {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 15px 0 0;
  }
  .downloadListItem__imgBox {
    max-width: 150px;
    padding: 25px 22px 25px;
    min-height: 200px;
  }
}
.contactArea {
  padding-top: 40px;
  padding-bottom: 69px;
}

.contactWrap {
  display: flex;
  gap: 30px clamp(20px, 20px + 20 * (100vw - 768px) / 512, 40px);
}

.contactWrap .contactBox {
  width: calc((100% - clamp(20px, 20px + 20 * (100vw - 768px) / 512, 40px)) / 2);
  margin-top: 0;
}

.contactBox {
  width: 100%;
  padding: 56px clamp(30px, 30px + 10 * (100vw - 768px) / 512, 40px) 49px;
  border-radius: 15px;
  background-color: #fff;
  margin-top: 30px;
}

.contactBox.form {
  padding-bottom: 49px;
}

.contactTtl {
  position: relative;
  color: #00BAB4;
  font-family: "Shippori Mincho", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: clamp(20px, 20px + 8 * (100vw - 768px) / 512, 28px);
  font-weight: 600;
  line-height: 1;
  padding-bottom: 28px;
  text-align: center;
}

.contactTtl::before {
  content: "";
  display: block;
  width: 34px;
  height: 6px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background: url(../img/contact/icon_dots.svg) center center/contain no-repeat;
}

.contactTxt {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.7777;
  text-align: center;
  margin-top: 19px;
}

.contactBtn {
  font-size: 30px;
  margin: 32px auto 0;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .contactArea {
    padding-top: 14px;
    padding-bottom: 10px;
  }
  .contactWrap {
    display: flex;
    flex-direction: column;
    gap: 30px clamp(15px, 15px + 15 * (100vw - 768px) / 512, 30px);
  }
  .contactWrap .contactBox {
    width: 100%;
    margin-top: 0;
  }
  .contactBox {
    width: 100%;
    padding: 43px 15px 40px;
    border-radius: 15px;
    background-color: #fff;
    margin-top: 30px;
  }
  .contactBox.form {
    padding-bottom: 49px;
  }
  .contactTtl {
    font-size: 24px;
    padding-bottom: 22px;
  }
  .contactTxt {
    font-size: 18px;
  }
  .contactBtn {
    font-size: 24px;
    margin: 25px auto 0;
  }
}
/*** contactForm ***/
.contactForm {
  max-width: 690px;
  margin: auto;
  padding-top: 23px;
}

.contactForm input, .contactForm textarea, .contactForm select {
  background-color: #FFFFFF;
  border: 1px solid #92A095;
  border-radius: 10px;
  padding: 5px 15px;
  margin-top: 3px;
  width: 298px;
  font-size: 14px;
  line-height: 2;
  color: #363636;
  text-align: left;
}

.contactForm textarea {
  width: 560px;
  height: 140px;
  max-width: 100%;
}

.contactForm select, .contactForm #your_age {
  width: 100px;
}

.contactForm .contactForm__submitBtn {
  position: relative;
  max-width: 100%;
  width: -moz-fit-content;
  width: fit-content;
  margin: 31px auto 0;
}
.contactForm .contactForm__submitBtn::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 80px;
  margin: auto;
  width: 18px;
  height: 18px;
  background-color: #FFFFFF;
  mask-image: url(../img/common/ico_link-white.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(../img/common/ico_link-white.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  transition: 0.3s;
  z-index: 1;
}
.contactForm .contactForm__submitBtn input {
  position: relative;
  display: block;
  line-height: 1;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  color: #FFFFFF;
  padding: 15px 63px 15px 35px;
  background-color: #FF3B70;
  border: 2px solid #FF3B70;
  border-radius: 29px;
  max-width: 100%;
  width: 268px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  transition: 0.3s;
}
.contactForm .contactForm__submitBtn:hover::before {
  background-color: #FF3B70;
}
.contactForm .contactForm__submitBtn:hover input {
  color: #FF3B70;
  background-color: #FFFFFF;
}

.contactForm__item {
  display: flex;
  align-items: flex-start;
  gap: 0 39px;
}

.contactForm__item + .contactForm__item {
  margin-top: 17px;
}

.contactForm__item.contactForm__item--radio {
  align-items: center;
}

.contactForm__item.contactForm__item--radio .contactForm__txt {
  font-size: 16px;
}

.contactForm__item.contactForm__item--radio .wpcf7-form-control {
  display: flex;
  align-items: center;
  gap: 0 clamp(20px, 20px + 20 * (100vw - 768px) / 512, 40px);
  line-height: 1;
}

.contactForm__item.contactForm__item--radio .wpcf7-list-item {
  position: relative;
  margin-left: 0;
}

.contactForm__item.contactForm__item--radio .wpcf7-list-item label {
  display: flex;
  align-items: baseline;
  gap: 0 10px;
}

.contactForm__item.contactForm__item--radio .wpcf7-list-item::before {
  display: block;
  position: absolute;
  top: 3px;
  left: -1px;
  width: 22px;
  height: 22px;
  margin: auto;
  border: 1px solid #E3E3E3;
  border-radius: 50%;
  background-color: #FFFFFF;
  content: "";
  z-index: 0;
}

.contactForm__item.contactForm__item--radio input[type=radio] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  padding: 0;
  margin-top: 0;
  border: 10px solid #FFFFFF;
  border-radius: 50%;
  background-color: #00BAB4;
  transition: 0.2s all linear;
  position: relative;
  top: 4px;
}

.contactForm__item.contactForm__item--radio input[type=radio]:checked {
  border: 4px solid #FFFFFF;
}

.contactForm__ttl {
  width: 208px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 18px;
  line-height: 1.7777;
  color: #525B5C;
  flex-shrink: 0;
  margin-top: 7px;
}

.contactForm__require {
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  padding: 5px 8px 6px;
  border-radius: 20px;
  color: #fff;
  background-color: #FF9490;
}

.screen-reader-response {
  display: none;
}

.screen-reader-response ul {
  display: none;
}

.wpcf7-response-output {
  display: none;
}

.wpcf7-not-valid-tip {
  display: block;
  color: #dc3232;
}

.wpcf7-spinner {
  display: none !important;
}

@media screen and (max-width: 768px) {
  .contactForm {
    padding: 31px 0 0;
  }
  .contactForm form {
    width: 100%;
  }
  .contactForm input, .contactForm textarea {
    width: 100%;
  }
  .contactForm textarea {
    height: 168px;
  }
  .contactForm .wpcf7-form-control-wrap {
    width: 100%;
  }
  .contactForm__item {
    display: flex;
    flex-direction: column;
    align-items: baseline;
    gap: 8px clamp(15px, 15px + 15 * (100vw - 768px) / 512, 30px);
  }
  .contactForm__item.contactForm__item--radio .wpcf7-form-control {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 7px 0;
  }
  .contactForm__item.contactForm__item--radio .wpcf7-form-control .wpcf7-list-item {
    margin-left: 0;
  }
  .contactForm__item.contactForm__item--radio .wpcf7-form-control .wpcf7-list-item::before {
    top: 3px;
  }
  .contactForm__item.contactForm__item--radio .wpcf7-form-control input[type=radio] {
    top: 4px;
  }
  .contactForm__item--textarea {
    align-items: baseline;
  }
  .contactForm__ttl {
    width: 100%;
    justify-content: initial;
    gap: 0 10px;
    margin-top: 0;
  }
  .contactForm__txt {
    width: 100%;
  }
}
.accessLinkArea {
  padding-top: 37px;
  padding-bottom: 60px;
}

.accessLinkList {
  display: flex;
  gap: 0 clamp(14px, 14px + 4 * (100vw - 768px) / 512, 18px);
}

.accessLinkListItem {
  max-width: 335px;
  width: calc((100% - clamp(14px, 14px + 4 * (100vw - 768px) / 512, 18px) * 2) / 3);
}

.accessLinkListItem__link {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}
.accessLinkListItem__link::before {
  content: "";
  display: block;
  background: url(../img/common/ico_link.svg) no-repeat center/contain;
  width: 25px;
  height: 25px;
  position: absolute;
  bottom: -17px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.accessLinkListItem__link.--medium::before {
  width: clamp(25px, 25px + 6 * (100vw - 768px) / 512, 31px);
  height: clamp(25px, 25px + 6 * (100vw - 768px) / 512, 31px);
}
.accessLinkListItem__link.--roll90::before {
  transform: rotate(90deg);
}

.accessLinkListItem__imgBox {
  width: 100%;
  border-radius: 10px;
  overflow: hidden;
}

.accessLinkListItem__txt {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: clamp(18px, 18px + 6 * (100vw - 768px) / 512, 24px);
  font-weight: 700;
  text-align: center;
  line-height: 1.3;
  position: absolute;
  top: -14px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

@media screen and (max-width: 768px) {
  .accessLinkArea {
    padding-top: 18px;
    padding-bottom: 30px;
  }
  .accessLinkList {
    flex-direction: column;
    justify-content: center;
    gap: 28px;
  }
  .accessLinkListItem {
    width: 100%;
    max-width: none;
  }
  .accessLinkListItem__img {
    width: 100%;
  }
  .accessLinkListItem__link::before {
    bottom: -2.1875vw;
  }
  .accessLinkListItem__link.--medium::before {
    width: 6.31578947vw;
    height: 6.31578947vw;
  }
}
.accessCourseArea {
  padding-top: 28px;
}

.accessCourseBox {
  display: flex;
  align-items: flex-start;
  gap: clamp(25px, 25px + 25 * (100vw - 768px) / 512, 50px);
  position: relative;
  padding-top: 70px;
  padding-bottom: 70px;
}

.accessCourseBox:nth-of-type(odd)::before {
  content: "";
  background: #FFFFFF;
  margin: 0 calc(50% - 50vw);
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  z-index: -1;
}

.accessCourseMapBox {
  flex: 1 1 580px;
  border-radius: 0 15px 15px 0;
  max-width: 580px;
  overflow: hidden;
  margin-left: clamp(-60px, -30px + -30 * (100vw - 768px) / (1280 - 768), -30px);
}
.accessCourseMapBox iframe {
  width: 100%;
}

@media (min-width: 1281px) {
  .accessCourseMapBox {
    border-radius: 15px 15px 15px 15px;
  }
}
.accessCourseContBox {
  flex: 1 0.3 530px;
  max-width: 530px;
}

.accessCourseHead {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.accessCourseHead__ttl {
  font-family: "Shippori Mincho", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-weight: bold;
  font-size: clamp(25px, 25px + 7 * (100vw - 768px) / 512, 32px);
  line-height: 1.5625;
  color: #00BAB4;
}

.accessCourseHead__imgBoxes {
  display: flex;
  margin-top: -1px;
}

.accessCourseHead__imgBox {
  width: 104px;
  height: 104px;
  border-radius: 50%;
  overflow: hidden;
  outline: 4px solid #fff;
  margin-right: -9px;
}

.accessCourseHead__imgBox:last-of-type {
  margin-right: 0;
}

.accessCourseHead__imgBox.--noOutline {
  outline: none;
}

.accessCourseHead__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.accessCourseAddressBox {
  display: flex;
  background-color: #EAF7ED;
  border-radius: 10px;
  width: 100%;
  margin-top: 22px;
  overflow: hidden;
}

.accessCourseAddress__imgBox {
  width: 140px;
  min-height: 106px;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
}

.accessCourseAddress__Img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.accessCourseAddress__txtBox {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 15px;
  line-height: 1.6;
  padding: 24px 22px 25px;
}

.accessCourseAddress__txtBox.--adjustMl {
  margin-left: 0;
}

.accessCourseAddress__txtName {
  color: #00BAB4;
  font-size: clamp(17px, 17px + 1 * (100vw - 768px) / 512, 18px);
  font-weight: 700;
  line-height: 1.3333;
}

@media (max-width: 425px) {
  .accessCourseAddressBox {
    flex-wrap: wrap;
    justify-content: center;
  }
  .accessCourseAddress__txtBox {
    align-items: center;
    gap: 4px;
  }
  .accessCourseAddress__imgBox {
    margin-top: 15px;
  }
}
.accessCourseAddress__txtAddress {
  padding-left: 17px;
  position: relative;
}
.accessCourseAddress__txtAddress::after {
  content: "";
  display: block;
  position: absolute;
  top: 2px;
  left: 0;
  width: 12px;
  height: 16px;
  background: url(../img/common/ico_pinGreen.svg) no-repeat center/contain;
}

.accessCourseAddress__txt {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.6;
  margin-top: 25px;
}

.accessCourseAddress__thingsList {
  margin-top: 25px;
}

.accessCourseAddress__thingsListItem {
  background: #fff;
  border: 1px solid #B4B4B4;
  border-radius: 10px;
  padding: 14px 16px 13px;
  position: relative;
}

.accessCourseAddress__thingsListItem.--flex {
  display: flex;
  width: 100%;
  padding: 0;
}

.accessCourseAddress__thingsListItem + .accessCourseAddress__thingsListItem {
  margin-top: 12px;
}

.accessCourseAddress__thingsListItemTtl {
  font-size: 15px;
  line-height: 1.6;
}

.thingsListItemMain__list {
  display: flex;
  flex-wrap: wrap;
  gap: 4px clamp(20px, 20px + 10 * (100vw - 768px) / 512, 30px);
  margin-top: 5px;
}
.thingsListItemMain__list.--pdAdjust {
  margin-top: 8px;
}

.thingsListItemMain__listItem {
  font-size: 15px;
  line-height: 1.6;
  margin: 0;
}

.thingsListItemMain__listItem + .thingsListItemMain__listItem {
  margin: 0;
}

.accessCourseAddress__thingsListItemImgBox {
  flex-shrink: 0;
  border-right: 1px solid #BCBCBC;
  border-radius: 10px 0 0 10px;
  width: 211px;
  min-height: 166px;
  overflow: hidden;
}

.accessCourseAddress__thingsListItemImg {
  width: 100%;
  height: 100%;
}

.accessCourseAddress__thingsListItemImg.--position {
  width: 59px;
  height: 59px;
  position: absolute;
  top: 50%;
  left: 50%;
}

.accessCourseAddress__thingsListItemBox.--addMl {
  padding: 21px 19px 21px;
}

@media screen and (max-width: 768px) {
  .accessCourseBox {
    display: flex;
    flex-direction: column-reverse;
  }
  .accessCourseContBox {
    flex: 1 1 100%;
    width: 100%;
    max-width: 100%;
  }
  .accessCourseMapBox {
    flex: 1 1 100%;
    border-radius: 15px 15px 15px 15px;
    width: 100%;
    max-width: 100%;
    margin-left: 0;
  }
  .accessCourseHead {
    flex-direction: column-reverse;
    gap: 10px;
  }
  .accessCourseBox {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .accessCourseHead__ttl {
    font-size: 24px;
  }
  .accessCourseAddress__txtBox {
    padding: 15px;
  }
  .accessCourseAddress__thingsListItem {
    padding: 15px;
  }
  .accessCourseAddress__thingsListItemBox.--addMl {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media (max-width: 425px) {
  .accessCourseAddress__thingsListItemImgBox {
    flex-shrink: 0.5;
  }
  .accessCourseAddress__thingsListItemBox.--addMl {
    padding: 15px;
  }
}
.faqArea {
  padding-top: 37px;
  padding-bottom: 66px;
}

.faqBox {
  display: flex;
  align-items: flex-start;
  gap: clamp(15px, 15px + 15 * (100vw - 768px) / 512, 30px);
}

.faqCategoryBox {
  flex: 1 0.8 283px;
  background-color: #fff;
  border-radius: 15px;
  max-width: 283px;
  min-width: 250px;
  padding: 18px 25px;
  position: sticky;
  top: 20px;
}

.faqCategory__titleBox {
  padding-bottom: 10px;
  border-bottom: 1px solid #C3C3C3;
}

.faqCategory__title {
  font-size: clamp(16px, 16px + 2 * (100vw - 768px) / 512, 18px);
  font-weight: 700;
  color: #00BAB4;
  line-height: 1.77777;
}

.faqCategoryList {
  margin-top: 8px;
  padding-left: 4px;
}

.faqCategoryListItem {
  display: flex;
  align-items: center;
  font-size: clamp(15px, 15px + 1 * (100vw - 768px) / 512, 16px);
  padding: 4px 0 4px 24px;
  border-bottom: 1px solid #EFEFEF;
  position: relative;
  cursor: pointer;
}
.faqCategoryListItem:last-child {
  border-bottom: none;
}
.faqCategoryListItem::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 15px;
  height: 15px;
  background-color: #00BAB4;
  mask-image: url(../img/common/icon_house.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(../img/common/icon_house.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
}
.faqCategoryListItem.--tour::before {
  width: 14px;
  height: 14px;
  mask-image: url(../img/common/icon_ukiwa.svg);
  -webkit-mask-image: url(../img/common/icon_ukiwa.svg);
}
.faqCategoryListItem.--item::before {
  width: 13px;
  height: 16px;
  mask-image: url(../img/common/icon_bag.svg);
  -webkit-mask-image: url(../img/common/icon_bag.svg);
}
.faqCategoryListItem.--diving::before {
  width: 18px;
  height: 15px;
  mask-image: url(../img/common/icon_schnorchel.svg);
  -webkit-mask-image: url(../img/common/icon_schnorchel.svg);
}
.faqCategoryListItem.--bbq::before {
  width: 18px;
  height: 18px;
  mask-image: url(../img/common/icon_bbq.svg);
  -webkit-mask-image: url(../img/common/icon_bbq.svg);
}
.faqCategoryListItem.--reserve::before {
  width: 16px;
  height: 12px;
  mask-image: url(../img/common/icon_card.svg);
  -webkit-mask-image: url(../img/common/icon_card.svg);
}
.faqCategoryListItem.--other::before {
  width: 13px;
  height: 3px;
  mask-image: url(../img/common/icon_dots.svg);
  -webkit-mask-image: url(../img/common/icon_dots.svg);
}

.faqCategoryListItem__link {
  display: block;
  width: 100%;
  height: 100%;
}

.faqMainBox {
  flex: 1 1 727px;
  width: 100%;
  max-width: 727px;
}

.faqMainList {
  width: 100%;
}

.faqMainListItem {
  width: 100%;
  background-color: #fff;
  border-radius: 15px;
  padding: 23px 26px 25px;
}

.faqMainListItem + .faqMainListItem {
  margin-top: 20px;
}

.faqMainListItem__categoryWrap {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.faqMainListItem__category {
  font-size: clamp(10px, 10px + 3 * (100vw - 768px) / 512, 13px);
  font-weight: 700;
  color: #FFFFFF;
  line-height: 1;
  padding: 5px 12px 5px 31px;
  border-radius: 14px;
  background-color: #00BAB4;
  position: relative;
}
.faqMainListItem__category::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 10px;
  margin: auto;
  width: 15px;
  height: 15px;
  background-color: #fff;
  mask-image: url(../img/common/icon_ukiwa.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(../img/common/icon_ukiwa.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
}
.faqMainListItem__category.--tour::before {
  width: 14px;
  height: 14px;
  mask-image: url(../img/common/icon_ukiwa.svg);
  -webkit-mask-image: url(../img/common/icon_ukiwa.svg);
}
.faqMainListItem__category.--item::before {
  width: 13px;
  height: 16px;
  mask-image: url(../img/common/icon_bag.svg);
  -webkit-mask-image: url(../img/common/icon_bag.svg);
}
.faqMainListItem__category.--diving::before {
  width: 18px;
  height: 15px;
  mask-image: url(../img/common/icon_schnorchel.svg);
  -webkit-mask-image: url(../img/common/icon_schnorchel.svg);
}
.faqMainListItem__category.--bbq::before {
  width: 18px;
  height: 18px;
  mask-image: url(../img/common/icon_bbq.svg);
  -webkit-mask-image: url(../img/common/icon_bbq.svg);
}
.faqMainListItem__category.--reserve::before {
  width: 16px;
  height: 12px;
  mask-image: url(../img/common/icon_card.svg);
  -webkit-mask-image: url(../img/common/icon_card.svg);
}
.faqMainListItem__category.--other::before {
  width: 13px;
  height: 3px;
  mask-image: url(../img/common/icon_dots.svg);
  -webkit-mask-image: url(../img/common/icon_dots.svg);
}

.faqMainListItem__q {
  font-size: clamp(16px, 16px + 2 * (100vw - 768px) / 512, 18px);
  font-weight: 700;
  line-height: 1.6;
  margin-top: 15px;
  margin-bottom: 13px;
  padding: 0 20px 0 14px;
  cursor: pointer;
}

.faqMainListItem__a {
  font-size: 15px;
  line-height: 1.6;
  background-color: #EAF7ED;
  border-radius: 8px;
  padding: 11px 20px 13px 14px;
}

.faqMainListItem__qTxt,
.faqMainListItem__aTxt {
  padding-left: 32px;
  position: relative;
}

.faqMainListItem__aTxt {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.faqMainListItem__aTxt p + p {
  margin-top: 1em;
}
.faqMainListItem__aTxt p:last-of-type {
  margin-top: 0;
}
.faqMainListItem__aTxt a {
  text-decoration: underline;
}
.faqMainListItem__aTxt a:hover {
  text-decoration: none;
}

.faqMainListItem__qTxt {
  position: relative;
}
.faqMainListItem__qTxt::after {
  content: "";
  display: block;
  position: absolute;
  top: 7px;
  right: -20px;
  margin: auto;
  width: 18px;
  height: 18px;
  background-color: #00BAB4;
  mask-image: url(../img/common/ico_link-white.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(../img/common/ico_link-white.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .faqMainListItem__qTxt::after {
    top: 3px;
  }
}

.js-active .faqMainListItem__qTxt::after {
  transform: rotate(0deg);
  transition: 0.3s;
}

.questionMark,
.answerMark {
  font-size: 24px;
  font-weight: 600;
  font-family: "Shippori Mincho", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  line-height: 1.70833;
  margin-right: 6px;
  position: absolute;
  top: -9px;
  left: 0;
}

.answerMark {
  top: -10px;
}

.questionMark {
  color: #5387DB;
}

.answerMark {
  color: #DB5353;
}

.faqPagination {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}
.faqPagination ul {
  display: flex;
  gap: 8px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.faqPagination li {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #00BAB4;
  background-color: #fff;
  border: 1px solid #00BAB4;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  line-height: 1;
  font-size: 16px;
  font-weight: bold;
}
.faqPagination li a,
.faqPagination li span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: inherit;
  border-radius: 50%;
}
.faqPagination li .current {
  color: #fff;
  background-color: #00BAB4;
  border-color: #00BAB4;
}
.faqPagination li span.current {
  color: #fff;
  background-color: #00BAB4;
  border-color: #00BAB4;
}
.faqPagination li a:hover {
  color: #fff;
  background-color: #00BAB4;
  border-color: #00BAB4;
}

@media screen and (max-width: 768px) {
  .faqArea {
    padding-top: 10px;
    padding-bottom: 20px;
  }
  .faqBox {
    flex-direction: column-reverse;
    gap: 20px;
  }
  .faqCategoryBox {
    flex: 1 1 100%;
    max-width: 100%;
    width: 100%;
    min-width: none;
    border-radius: 10px;
    padding: 11px 15px;
    position: static;
    top: auto;
  }
  .faqCategoryList {
    margin-top: 3px;
  }
  .faqCategory__titleBox {
    padding-bottom: 5px;
  }
  .faqCategoryListItem {
    font-size: 15px;
    padding-left: 20px;
  }
  .faqCategoryListItem::before {
    width: 14px;
    height: 14px;
  }
  .faqMainListItem + .faqMainListItem {
    margin-top: 15px;
  }
  .faqMainBox {
    flex: 1 1 100%;
    width: 100%;
  }
  .faqMainListItem {
    padding: 15px;
    border-radius: 10px;
  }
  .faqMainListItem__category {
    font-size: 10px;
  }
  .faqMainListItem__q {
    margin-top: 8px;
    padding: 0 20px 0 10px;
  }
  .faqMainListItem__a {
    padding-left: 10px;
  }
  .questionMark,
  .answerMark {
    font-size: 22px;
  }
  .faqMainListItem__qTxt,
  .faqMainListItem__aTxt {
    padding-left: 28px;
  }
  .faqPagination {
    margin-bottom: 20px;
  }
}
.faqMainList__title {
  font-size: clamp(16px, 16px + 2 * (100vw - 768px) / 512, 18px);
  font-weight: 700;
  line-height: 1.77777;
  margin-bottom: 20px;
}

.faqTagList {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 17px;
}

.faqTagListItem {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.6;
  padding-left: 14px;
  position: relative;
}
.faqTagListItem::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 10px;
  height: 14px;
  background: url(../img/common/icon_hashtag.svg);
}

.--archiveAdjust {
  padding: 27px 26px 28px;
}

.--archiveAdjust2 {
  display: block;
  font-size: clamp(15px, 15px + 1 * (100vw - 768px) / 512, 16px);
  line-height: 1.6875;
}

.--archiveAdjust3 {
  margin-top: 43px;
}

.--archiveAdjust4 {
  margin-top: 19px;
  margin-bottom: 20px;
  cursor: auto;
}

.--archiveAdjust5 {
  font-size: 28px;
  top: -11px;
}

.--archiveAdjust6 {
  margin-bottom: 0;
}

.--displayBlock {
  display: block;
}

.answerMark.--archiveAdjust5 {
  top: -14px;
}

.--archiveSet {
  font-size: clamp(18px, 18px + 2 * (100vw - 768px) / 512, 20px);
}
.--archiveSet::after {
  display: none;
}

@media screen and (max-width: 768px) {
  .faqTagList {
    margin-top: 12px;
  }
  .faqMainList__title {
    margin-bottom: 10px;
  }
  .faqTagListItem {
    font-size: 13px;
  }
  .--archiveAdjust5 {
    font-size: 26px;
  }
  .--archiveAdjust4 {
    margin-top: 17px;
    margin-bottom: 10px;
  }
  .--archiveAdjust3 {
    margin-top: 30px;
  }
  .--archivePl {
    padding-left: 33px;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* z-index
――――――――――――――――――――――――――――――――――――――――――――――*/
.u-z1 {
  z-index: 1;
}

.u-z2 {
  z-index: 2;
}

.u-z3 {
  z-index: 3;
}

.u-z4 {
  z-index: 4;
}

.u-z5 {
  z-index: 5;
}

.u-z6 {
  z-index: 6;
}

.u-z7 {
  z-index: 7;
}

.u-z8 {
  z-index: 8;
}

.u-z9 {
  z-index: 9;
}

.u-z10 {
  z-index: 10;
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* potition
――――――――――――――――――――――――――――――――――――――――――――――*/
.u-por {
  position: relative;
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* flex
――――――――――――――――――――――――――――――――――――――――――――――*/
.u-flex-center {
  display: flex;
  justify-content: center;
  align-items: center;
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* margin
――――――――――――――――――――――――――――――――――――――――――――――*/
@media screen and (min-width: 769px) {
  .u-mt5-pc {
    margin-top: 5px;
  }
  .u-mt10-pc {
    margin-top: 10px;
  }
  .u-mt15-pc {
    margin-top: 15px;
  }
  .u-mt20-pc {
    margin-top: 20px;
  }
  .u-mt25-pc {
    margin-top: 25px;
  }
  .u-mt30-pc {
    margin-top: 30px;
  }
  .u-mt35-pc {
    margin-top: 35px;
  }
  .u-mt40-pc {
    margin-top: 40px;
  }
  .u-mt45-pc {
    margin-top: 45px;
  }
  .u-mt50-pc {
    margin-top: 50px;
  }
  .u-mt55-pc {
    margin-top: 55px;
  }
  .u-mt60-pc {
    margin-top: 60px;
  }
  .u-mt65-pc {
    margin-top: 65px;
  }
  .u-mt70-pc {
    margin-top: 70px;
  }
  .u-mt75-pc {
    margin-top: 75px;
  }
  .u-mt80-pc {
    margin-top: 80px;
  }
}
@media screen and (max-width: 768px) {
  .u-mt5-sp {
    margin-top: 5px;
  }
  .u-mt10-sp {
    margin-top: 10px;
  }
  .u-mt15-sp {
    margin-top: 15px;
  }
  .u-mt20-sp {
    margin-top: 20px;
  }
  .u-mt25-sp {
    margin-top: 25px;
  }
  .u-mt30-sp {
    margin-top: 30px;
  }
  .u-mt35-sp {
    margin-top: 35px;
  }
  .u-mt40-sp {
    margin-top: 40px;
  }
  .u-mt45-sp {
    margin-top: 45px;
  }
  .u-mt50-sp {
    margin-top: 50px;
  }
  .u-mt55-sp {
    margin-top: 55px;
  }
  .u-mt60-sp {
    margin-top: 60px;
  }
  .u-mt65-sp {
    margin-top: 65px;
  }
  .u-mt70-sp {
    margin-top: 70px;
  }
  .u-mt75-sp {
    margin-top: 75px;
  }
  .u-mt80-sp {
    margin-top: 80px;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* font-size
――――――――――――――――――――――――――――――――――――――――――――――*/
@media screen and (min-width: 769px) {
  .u-fz10-pc {
    font-size: 10px;
  }
  .u-fz11-pc {
    font-size: 11px;
  }
  .u-fz12-pc {
    font-size: 12px;
  }
  .u-fz13-pc {
    font-size: 13px;
  }
  .u-fz14-pc {
    font-size: 14px;
  }
  .u-fz15-pc {
    font-size: 15px;
  }
  .u-fz16-pc {
    font-size: 16px;
  }
  .u-fz17-pc {
    font-size: 17px;
  }
  .u-fz18-pc {
    font-size: 18px;
  }
  .u-fz19-pc {
    font-size: 19px;
  }
  .u-fz20-pc {
    font-size: 20px;
  }
}
@media screen and (max-width: 768px) {
  .u-fz10-sp {
    font-size: 10px;
  }
  .u-fz11-sp {
    font-size: 11px;
  }
  .u-fz12-sp {
    font-size: 12px;
  }
  .u-fz13-sp {
    font-size: 13px;
  }
  .u-fz14-sp {
    font-size: 14px;
  }
  .u-fz15-sp {
    font-size: 15px;
  }
  .u-fz16-sp {
    font-size: 16px;
  }
  .u-fz17-sp {
    font-size: 17px;
  }
  .u-fz18-sp {
    font-size: 18px;
  }
  .u-fz19-sp {
    font-size: 19px;
  }
  .u-fz20-sp {
    font-size: 20px;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* font
――――――――――――――――――――――――――――――――――――――――――――――*/
.u-fw600 {
  font-weight: 600;
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* 特殊
――――――――――――――――――――――――――――――――――――――――――――――*/