@charset "UTF-8";
/*――――――――――――――――――――――――――――――――――――――――――――
/* 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;
}
html.js-noscroll {
  overflow: hidden;
  scroll-behavior: auto;
}
body {
  min-height: 100svh;
  color: #1B2324;
  font-size: 16px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 1.75;
  background-color: #EDEEF0;
  font-weight: 500;
  position: relative;
  overflow-x: clip;
}
body.is-active {
  overflow: hidden;
}

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

main {
  display: block;
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* デフォルトの設定
――――――――――――――――――――――――――――――――――――――――――――――*/
img {
  display: block;
  max-width: 100%;
  -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 .c-img {
  transition: 0.5s;
}
a.c-imgScale:hover {
  opacity: 1;
}
a.c-imgScale:hover .c-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: "Zen Kaku Gothic New", sans-serif;
}

.font-accent {
  font-family: "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "Zen Kaku Gothic New", sans-serif;
}

.relative {
  position: relative;
}

.inlineArrow {
  display: inline-block;
  position: relative;
}
.inlineArrow::after {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  background-color: #3CA4BC;
  mask-image: url(../img/common/ico_arrow-circle-red.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(../img/common/ico_arrow-circle-red.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  transform: translate(27%, 19%);
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* 共通のレイアウト
――――――――――――――――――――――――――――――――――――――――――――――*/
/*** 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;
}
.l-inner.--ss {
  max-width: 920px;
}

@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 !important;
}

.text-left {
  text-align: left !important;
}

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

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

/*! 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;
}

.c-btn {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5625;
  position: relative;
}
.c-btn .c-btn__text {
  display: inline-block;
  text-align: center;
  padding-bottom: 8.5px;
  min-width: 112px;
  position: relative;
}
.c-btn .c-btn__text::before {
  content: "";
  background-color: #1B2324;
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  transform-origin: right top;
  transform: scaleX(1);
  transition: transform 0.3s;
}
.c-btn .c-btn__circle {
  position: relative;
  display: inline-block;
  width: 30px;
  height: 30px;
  background-color: #3CA4BC;
  border-radius: 50%;
  box-sizing: border-box;
  vertical-align: middle;
  transition: transform 0.3s ease;
  margin-left: 5px;
}
.c-btn .c-btn__circle::before {
  content: "";
  background: url(../img/common/ico_arrow-white.svg) no-repeat center/100%;
  width: 7px;
  height: 12px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s ease;
}
.c-btn .c-btn__circle.--gourmet {
  background-color: #EF4537;
}
.c-btn .c-btn__circle.--activity {
  background-color: #379AEF;
}
.c-btn .c-btn__circle.--shopping {
  background-color: #EFB637;
}
.c-btn .c-btn__circle.--blank::before {
  width: 11px;
  height: 11px;
  background-image: none;
  background-color: #fff;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s ease;
  mask-image: url(../img/common/ico_blank.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(../img/common/ico_blank.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
}
.c-btn:hover {
  opacity: 1;
}
.c-btn:hover .c-btn__text::before {
  transform: scaleX(0);
}
.c-btn:hover .c-btn__circle {
  transform: scale(1.1333);
}

@media screen and (max-width: 768px) {
  .c-btn {
    font-size: 14px;
    line-height: 1.7857142857;
  }
  .c-btn .c-btn__circle {
    width: 24px;
    height: 24px;
    transform: translateY(-3px);
  }
  .c-btn .c-btn__text {
    padding-bottom: 2.5px;
    min-width: 98px;
  }
  .subPage .c-btn {
    font-size: 16px;
    line-height: 1.5625;
    margin-top: 6px;
    margin-right: 5px;
  }
  .subPage .c-btn .c-btn__text {
    padding-bottom: 7.5px;
    min-width: 112px;
  }
  .subPage .c-btn .c-btn__circle {
    width: 30px;
    height: 30px;
    transform: translateY(0);
  }
}
.c-btn--ver2 {
  display: block;
  line-height: 1;
  font-size: 18px;
  font-weight: bold;
  color: #FFFFFF;
  padding: 20px 35px;
  background-color: #1B2324;
  border: 2px solid #1B2324;
  max-width: 320px;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  margin: auto;
  transition: 0.3s;
  z-index: 10;
}
.c-btn--ver2:hover {
  background-color: #FFFFFF;
  color: #1B2324;
  opacity: 1;
}
.c-btn--ver2:hover span::before {
  background-color: #1B2324;
}
.c-btn--ver2 span {
  position: relative;
}
.c-btn--ver2 span::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -24px;
  margin: auto;
  width: 8px;
  height: 13px;
  background-color: #FFFFFF;
  mask-image: url(../img/common/ico_btn-arrow.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(../img/common/ico_btn-arrow.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  transition: 0.3s;
}
.c-btn--ver2.--blank span::before {
  right: -33px;
  width: 18px;
  height: 18px;
  mask-image: url(../img/common/ico_blank.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(../img/common/ico_blank.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
}
.c-btn--ver2.--white {
  display: inline-block;
  font-size: 14px;
  width: -moz-fit-content;
  width: fit-content;
  max-width: none;
  font-weight: 500;
  color: #3CA4BC;
  background-color: #fff;
  border: 1px solid #3CA4BC;
  padding: 10.5px 38px 11.5px 21px;
}
.c-btn--ver2.--white:hover {
  background-color: #3CA4BC;
  color: #fff;
  opacity: 1;
}
.c-btn--ver2.--white:hover span::before {
  background-color: #fff;
}
.c-btn--ver2.--white:hover::before {
  background-color: #3CA4BC;
}
.c-btn--ver2.--white span {
  position: relative;
}
.c-btn--ver2.--white span::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -17px;
  margin: auto;
  width: 7px;
  height: 12px;
  background-color: #3CA4BC;
  mask-image: url(../img/common/ico_btn-arrow.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(../img/common/ico_btn-arrow.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  transition: 0.3s;
}

@media screen and (max-width: 768px) {
  .c-btn--ver2 {
    max-width: 285px;
  }
  .c-btn--ver2 span {
    padding-right: 5px;
  }
  .c-btn--ver2 span::before {
    right: -19px;
  }
  .c-btn--ver2.--white {
    padding-right: 33px;
  }
  .c-btn--ver2.--white span::before {
    right: -12px;
  }
}
.c-kvArea {
  position: relative;
  margin-top: 123px;
  height: -moz-fit-content;
  height: fit-content;
}
.c-kvArea.--gourmet, .c-kvArea.--activity, .c-kvArea.--green {
  padding: 0 clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px) 0;
  width: 100%;
  height: clamp(1px, 21.25vw, 272px);
}
.c-kvArea.--gourmet::before, .c-kvArea.--activity::before, .c-kvArea.--green::before {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../img/common/kv.jpg);
  background-size: 1280px 412.59px;
  background-repeat: repeat;
  background-position: left center;
  mix-blend-mode: color-burn;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.2;
}
.c-kvArea.--gourmet .c-kvArea__imgBox, .c-kvArea.--activity .c-kvArea__imgBox, .c-kvArea.--green .c-kvArea__imgBox {
  display: none;
}
.c-kvArea.--gourmet .c-kvTitle, .c-kvArea.--activity .c-kvTitle, .c-kvArea.--green .c-kvTitle {
  position: relative;
  top: clamp(1px, 7.578125vw, 97px);
}
.c-kvArea.--gourmet .c-kvTitle.one-word, .c-kvArea.--activity .c-kvTitle.one-word, .c-kvArea.--green .c-kvTitle.one-word {
  top: clamp(1px, 9.375vw, 120px);
}
.c-kvArea.--gourmet {
  background-color: #EF4537;
}
.c-kvArea.--activity {
  background-color: #379AEF;
}
.c-kvArea.--green {
  background-color: #3CA4BC;
}

.c-kvArea__imgBox {
  width: 100%;
  height: 100%;
}

.c-kvTitle {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: #fff;
  font-weight: bold;
  width: 100%;
  position: absolute;
  top: 38.5%;
  left: 50%;
  transform: translateX(-50%);
}
.c-kvTitle.--red {
  color: #EF4537;
}
.c-kvTitle.--red .c-kvTitle--main {
  color: #1B2324;
}
.c-kvTitle.--blue {
  color: #379AEF;
}
.c-kvTitle.--blue .c-kvTitle--main {
  color: #1B2324;
}
.c-kvTitle.--yellow {
  color: #EFB637;
}
.c-kvTitle.--yellow .c-kvTitle--main {
  color: #1B2324;
}

.c-kvTitle--sub {
  font-size: clamp(18px, 18px + 3 * (100vw - 768px) / 512, 21px);
  line-height: 1.8095238095;
}

.c-kvTitle--main {
  font-size: clamp(34px, 34px + 8 * (100vw - 768px) / 512, 42px);
  line-height: 1.4130434783;
  margin-top: -4px;
}

@media screen and (max-width: 768px) {
  .c-kvArea {
    margin-top: 90px;
  }
  .c-kvArea.--gourmet, .c-kvArea.--activity, .c-kvArea.--green {
    height: 200px;
  }
  .c-kvArea.--gourmet::before, .c-kvArea.--activity::before, .c-kvArea.--green::before {
    background-position: top center;
  }
  .c-kvArea.--gourmet .c-kvTitle, .c-kvArea.--activity .c-kvTitle, .c-kvArea.--green .c-kvTitle {
    top: 69px;
  }
  .c-kvArea.--gourmet .c-kvTitle.one-word, .c-kvArea.--activity .c-kvTitle.one-word, .c-kvArea.--green .c-kvTitle.one-word {
    top: 83px;
  }
  .c-kvTitle {
    top: 32.4%;
    top: 37.7%;
    padding-left: 15px;
    padding-right: 15px;
  }
  .c-kvTitle--sub {
    font-size: clamp(10px, 3.4666666667vw, 18px);
  }
  .c-kvTitle--main {
    font-size: clamp(20px, 7.2vw, 35px);
    line-height: 1.34;
    margin-top: -2px;
  }
  .c-kvArea__img {
    width: 100%;
    height: 100%;
    max-height: 300px;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* c-titleLogo
――――――――――――――――――――――――――――――――――――――――――――――*/
.c-titleLogo {
  position: relative;
}
.c-titleLogo::before {
  content: "";
  display: block;
  background: url(../img/common/ico_handle.svg) no-repeat center/100%;
  width: 137px;
  height: 75px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.c-titleLogo.--white::before {
  background: url(../img/common/ico_handle-white.svg) no-repeat center/100%;
}

@media screen and (max-width: 768px) {
  .c-titleLogo::before {
    width: 100px;
    height: 55px;
  }
}
.subGourmet .c-titleLogo::before {
  background: url(../img/common/ico_handle-red.svg) no-repeat center/100%;
}

.subActivity .c-titleLogo::before {
  background: url(../img/common/ico_handle-blue.svg) no-repeat center/100%;
}

.subShopping .c-titleLogo::before {
  background: url(../img/common/ico_handle-yellow.svg) no-repeat center/100%;
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* c-topTitle
――――――――――――――――――――――――――――――――――――――――――――――*/
.c-topTitle {
  text-align: center;
  font-weight: bold;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding-top: 93px;
}

.c-topTitleSub {
  display: block;
  font-size: clamp(18px, 18px + 3 * (100vw - 768px) / 512, 21px);
  line-height: 1.8095238095;
}

.c-topTitle__txt--l {
  font-size: clamp(20px, 20px + 4 * (100vw - 768px) / 512, 24px);
  line-height: 1.5833333333;
}

.c-topTitleMain {
  display: block;
  font-size: clamp(24px, 24px + 6 * (100vw - 768px) / 512, 30px);
  line-height: 2;
}

.c-topTitle__img {
  display: inline;
  margin: 0;
  position: relative;
  top: 6px;
  left: -1px;
}

@media screen and (max-width: 768px) {
  .c-topTitle {
    padding-top: 70px;
  }
  .c-topTitleSub {
    font-size: 14px;
  }
  .c-topTitle__txt--l {
    font-size: 16px;
  }
  .c-topTitleMain {
    font-size: 22px;
    line-height: 1.67;
  }
  .c-topTitle__img {
    margin: 0 -1px;
    top: 10px;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* c-secTitle
――――――――――――――――――――――――――――――――――――――――――――――*/
.subGourmet .c-secTtl--en {
  color: #EF4537;
}

.subActivity .c-secTtl--en {
  color: #379AEF;
}

.subShopping .c-secTtl--en {
  color: #EFB637;
}

.c-secTitle {
  text-align: center;
  font-weight: bold;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding-top: 79px;
}
.c-secTitle.--white .c-secTtl--en,
.c-secTitle.--white .c-secTtl--ja {
  color: #fff;
}

.c-secTtl--en {
  display: block;
  font-family: "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "Zen Kaku Gothic New", sans-serif;
  color: #3CA4BC;
  font-size: clamp(38px, 38px + 8 * (100vw - 768px) / 512, 46px);
  font-weight: 700;
  line-height: 1.4130434783;
  letter-spacing: 0.8px;
}

.c-secTtl--ja {
  display: block;
  font-size: clamp(18px, 18px + 2 * (100vw - 768px) / 512, 20px);
  font-weight: bold;
  line-height: 1.25;
}

@media screen and (max-width: 768px) {
  .c-secTitle {
    padding-top: 60px;
  }
  .c-secTtl--en {
    font-size: 28px;
    line-height: 1.4285714286;
    letter-spacing: 0.5px;
  }
  .c-secTtl--ja {
    font-size: 13px;
    line-height: 1.1538461538;
    margin-top: 3px;
  }
}
.c-secTtl__ja--main {
  display: block;
  font-size: clamp(38px, 38px + 8 * (100vw - 768px) / 512, 46px);
  color: #3CA4BC;
  line-height: 1.4130434783;
  font-weight: 700;
  letter-spacing: 2.7px;
}

.c-secTtl__ja--sub {
  display: block;
  font-size: clamp(18px, 18px + 2 * (100vw - 768px) / 512, 20px);
  font-weight: bold;
  line-height: 1.15;
  margin-left: 3px;
  letter-spacing: 2.9px;
}

.c-secTitle--s {
  font-size: clamp(22px, 22px + 8 * (100vw - 768px) / 512, 30px);
  color: #3CA4BC;
  font-weight: bold;
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  .c-secTitle--s {
    font-size: 22px;
    line-height: 1.6704545455;
  }
  .c-secTtl__ja--main {
    font-size: 28px;
    line-height: 1;
    margin-top: 12px;
    letter-spacing: normal;
  }
  .c-secTtl__ja--sub {
    font-size: 13px;
    margin-left: 0;
    line-height: 1;
    letter-spacing: normal;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* c-secTitleVer2
――――――――――――――――――――――――――――――――――――――――――――――*/
.c-secTitleVer2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
  color: #fff;
}

.c-secTitleVer2__sub {
  font-size: clamp(17px, 17px + 3 * (100vw - 768px) / 512, 20px);
  line-height: 1.95;
  padding: 0 16px 0 23px;
  position: relative;
}
.c-secTitleVer2__sub::before {
  content: "";
  display: block;
  background-color: #fff;
  border-radius: 2px;
  width: 2px;
  height: 34px;
  position: absolute;
  top: 5px;
  left: 0;
  transform: rotate(-18deg);
}
.c-secTitleVer2__sub::after {
  content: "";
  display: block;
  background-color: #fff;
  border-radius: 1px;
  width: 2px;
  height: 34px;
  position: absolute;
  top: 5px;
  right: 0;
  transform: rotate(18deg);
}

.c-secTitleVer2__accent {
  color: #FFFF00;
  font-size: clamp(21px, 21px + 4 * (100vw - 768px) / 512, 25px);
  line-height: 1.56;
}

.c-secTitleVer2__main {
  font-size: clamp(28px, 28px + 8 * (100vw - 768px) / 512, 36px);
  line-height: 1.3822222222;
}

@media screen and (max-width: 768px) {
  .c-secTitleVer2__sub {
    font-size: 16px;
    line-height: 1.9375;
    padding: 0 12px 0 19px;
  }
  .c-secTitleVer2__sub::before {
    top: 4px;
    height: 28px;
  }
  .c-secTitleVer2__sub::after {
    top: 4px;
    height: 28px;
  }
  .c-secTitleVer2__accent {
    font-size: 20px;
    line-height: 1.55;
  }
  .c-secTitleVer2__main {
    font-size: 24px;
    line-height: 1.5;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* c-secTitle--sub
――――――――――――――――――――――――――――――――――――――――――――――*/
.c-secTitle--sub {
  font-size: clamp(22px, 22px + 10 * (100vw - 768px) / 512, 32px);
  line-height: 1.67;
  font-weight: bold;
}

.subActivity .c-secTitle--sub {
  color: #379AEF;
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* c-SubTitle
――――――――――――――――――――――――――――――――――――――――――――――*/
.subGourmet .c-SubTitle {
  color: #EF4537;
}
.subGourmet .otherArea .c-SubTitle {
  color: #1B2324;
}

.subActivity .c-SubTitle {
  color: #379AEF;
}
.subActivity .otherArea .c-SubTitle {
  color: #1B2324;
}

.subShopping .c-SubTitle {
  color: #EFB637;
}
.subShopping .otherArea .c-SubTitle {
  color: #1B2324;
}

.c-SubTitle {
  text-align: center;
  font-size: clamp(28px, 28px + 8 * (100vw - 768px) / 512, 36px);
  line-height: 1.2222222222;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .c-SubTitle {
    font-size: 24px;
    line-height: 1.6666666667;
  }
}
/**********************************************************

breadcrumbArea

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

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 0;
  list-style: none;
  color: #1B2324;
  font-size: 15px;
  color: #BFBFBF;
  position: relative;
}

.breadcrumbItem {
  margin-right: 14px;
  padding-right: 14px;
  position: relative;
}
.breadcrumbItem::after {
  content: "";
  display: block;
  background: #BFBFBF;
  width: 1px;
  height: 13px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
}
.breadcrumbItem:last-of-type::after {
  display: none;
}
.breadcrumbItem:last-of-type {
  margin-right: 0;
  padding-right: 0;
}

.breadcrumbLink {
  color: #1B2324;
  padding-bottom: 3.5px;
  position: relative;
}
.breadcrumbLink::after {
  content: "";
  background-color: #1B2324;
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  transform-origin: right top;
  transform: scaleX(1);
  transition: transform 0.3s;
}
.breadcrumbLink:hover::after {
  transform: scaleX(0);
}

@media screen and (max-width: 768px) {
  .breadcrumbLink {
    padding-bottom: 4.5px;
  }
  .breadcrumb {
    font-size: 14px;
  }
  .breadcrumbItem {
    margin-right: 10px;
    padding-right: 10px;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* c-text
――――――――――――――――――――――――――――――――――――――――――――――*/
.c-text {
  font-size: 16px;
  line-height: 1.671875;
}

.c-text--s {
  font-size: 15px;
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  .c-text {
    font-size: 14px;
    line-height: 1.7;
  }
  .c-text--s {
    font-size: 14px;
    line-height: 1.5;
  }
}
/* 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: 20px;
  height: 20px;
  padding: 5px; */
  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
――――――――――――――――――――――――――――――――――――――――――――――*/
.header {
  padding-top: 0;
  padding-bottom: 0;
  width: 100svw;
  position: fixed;
  top: 0;
  left: 0;
  background-color: #fff;
  z-index: 101;
  transition: transform 0.6s;
}
.header::after {
  content: "";
  display: block;
  position: absolute;
  bottom: calc(-2.109375vw + 1px);
  left: 0;
  width: 100vw;
  height: 2.109375vw;
  background: url(../img/common/img_wave-white.png) no-repeat bottom/cover;
}
.header.hidden {
  transform: translateY(-191px);
}

.headerMessageBox {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #000;
  width: 100vw;
  height: 33px;
  margin: 0 calc(50% - 50vw);
}

.headerMessage {
  color: #fff;
  font-weight: bold;
  font-size: 10px;
}

.headerNav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 90px;
  padding-top: 25px;
  padding-bottom: 28px;
}

.headerLogo_imgBox {
  width: 100%;
  max-width: clamp(120px, 120px + 48 * (100vw - 768px) / 512, 168px);
  position: absolute;
  bottom: clamp(-68px, -5.3125vw, -45px);
  left: 50.7%;
  transform: translateX(-50%);
  z-index: 2;
}

.headerLogo-img {
  width: 100%;
  height: auto;
}

.headerNavList {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: -1px;
}

.sp-open {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}

.sp-open.-hide {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}

.headerNavListItem {
  position: relative;
}
.headerNavListItem::before {
  content: "";
  background-color: #D5D5D5;
  width: 1px;
  height: 41px;
  position: absolute;
  top: 1px;
}
.headerNavListItem.--left {
  padding: 0 clamp(20px, 20px + 19 * (100vw - 768px) / 512, 39px);
}
.headerNavListItem.--left::before {
  left: 0;
}
.headerNavListItem.--left:last-of-type {
  padding-right: 0;
}
.headerNavListItem.--right {
  padding: 0 clamp(10px, 10px + 6.4 * (100vw - 768px) / 512, 16.4px);
}
.headerNavListItem.--right::before {
  top: 60%;
  transform: translateY(-50%);
  right: 0;
}
.headerNavListItem.--right:first-of-type {
  padding-left: 0;
}

.headerNavListItem__link {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  font-weight: bold;
  line-height: 1;
}
.headerNavListItem__link.--gourmet .headerNavListItem__text--en {
  color: #EF4537;
}
.headerNavListItem__link.--activity .headerNavListItem__text--en {
  color: #379AEF;
}
.headerNavListItem__link.--shopping .headerNavListItem__text--en {
  color: #EFB637;
}

.--right .headerNavListItem__link {
  min-width: clamp(60px, 60px + 30 * (100vw - 768px) / 512, 90px);
}
.--right .headerNavListItem__link .headerNavListItem__text--jp {
  font-size: clamp(10px, 10px + 5 * (100vw - 768px) / 512, 15px);
}

.--left .headerNavListItem__link {
  position: relative;
  padding-left: clamp(28px, 28px + 9 * (100vw - 768px) / 512, 37px);
  min-width: clamp(18px, 18px + 73 * (100vw - 768px) / 512, 91px);
}
.--left .headerNavListItem__link::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
}
.--left .headerNavListItem__link.--gourmet::before {
  background: url(../img/common/ico_gourmet.svg) no-repeat center/contain;
  width: clamp(24px, 24px + 6 * (100vw - 768px) / 512, 30px);
  height: clamp(20px, 20px + 6 * (100vw - 768px) / 512, 26px);
  bottom: -1px;
}
.--left .headerNavListItem__link.--activity {
  padding-left: clamp(33px, 33px + -7 * (100vw - 768px) / 512, 26px);
}
.--left .headerNavListItem__link.--activity::before {
  background: url(../img/common/ico_activity.svg) no-repeat center/contain;
  width: clamp(28px, 28px + 5 * (100vw - 768px) / 512, 33px);
  height: clamp(22px, 22px + 4 * (100vw - 768px) / 512, 26px);
  bottom: -2px;
}
.--left .headerNavListItem__link.--shopping {
  padding-left: 21px;
}
.--left .headerNavListItem__link.--shopping::before {
  background: url(../img/common/ico_shopping.svg) no-repeat center/contain;
  width: clamp(20px, 20px + 6 * (100vw - 768px) / 512, 26px);
  height: clamp(22px, 22px + 6 * (100vw - 768px) / 512, 28px);
  bottom: -2px;
}

.headerNavListItem__text--en {
  font-size: 10px;
  color: #3CA4BC;
}

.headerNavListItem__text--jp {
  color: #1B2324;
  font-size: clamp(13px, 13px + 3 * (100vw - 768px) / 512, 16px);
}

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

@media screen and (max-width: 768px) {
  .header {
    height: 90px;
  }
  .header::after {
    bottom: calc(-3.7333333333vw + 1px);
    height: 3.7333333333vw;
    background: url(../img/common/img_wave-white-sp.png) no-repeat bottom/cover;
  }
  .headerMessageBox {
    overflow: hidden;
    white-space: nowrap;
  }
  .headerMessage {
    flex-shrink: 0;
    display: inline-block;
    margin-right: 30px;
    animation: marquee 20s linear infinite;
  }
  @keyframes marquee {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(-100%);
    }
  }
  .headerNav {
    justify-content: space-between;
    gap: 14px;
    padding-top: 12px;
    padding-bottom: 12px;
    position: relative;
  }
  .headerLogo_imgBox {
    position: static;
    transform: none;
    max-width: 88px;
    margin-bottom: -45px;
    z-index: 102;
  }
}
@media screen and (max-width: 768px) and (max-width: 374px) {
  .headerNav {
    gap: 0;
  }
  .headerLogo_imgBox {
    max-width: 23.4666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .headerNavList:first-of-type {
    margin-right: 54px;
  }
  .headerNavListItem::before {
    height: 24px;
  }
  .headerNavListItem.--left {
    padding: 0 10px;
  }
  .headerNavListItem.--left:first-of-type {
    padding-left: 0;
  }
  .headerNavListItem.--left:first-of-type::before {
    display: none;
  }
  .headerNavListItem.--left:last-of-type {
    padding-right: 0;
  }
}
@media screen and (max-width: 768px) and (max-width: 374px) {
  .headerNavListItem.--left {
    padding: 0 7px;
  }
}
@media screen and (max-width: 768px) {
  .--left .headerNavListItem__link {
    position: relative;
    padding-left: 22px;
    min-width: clamp(18px, 18px + 73 * (100vw - 768px) / 512, 91px);
  }
  .--left .headerNavListItem__link::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
  }
  .--left .headerNavListItem__link.--gourmet::before {
    background: url(../img/common/ico_gourmet.svg) no-repeat center/contain;
    width: 18px;
    height: 16px;
    bottom: -1px;
  }
  .--left .headerNavListItem__link.--activity {
    padding-left: 23px;
  }
  .--left .headerNavListItem__link.--activity::before {
    background: url(../img/common/ico_activity.svg) no-repeat center/contain;
    width: 19px;
    height: 16px;
    bottom: -2px;
  }
  .--left .headerNavListItem__link.--shopping {
    padding-left: 16px;
  }
  .--left .headerNavListItem__link.--shopping::before {
    background: url(../img/common/ico_shopping.svg) no-repeat center/contain;
    width: 15px;
    height: 18px;
    bottom: -2px;
  }
  .headerNavListItem__text--en {
    font-size: 7px;
  }
  .headerNavListItem__text--jp {
    font-size: 10px;
  }
  .headerText-l {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) and (max-width: 374px) {
  .--left .headerNavListItem__link {
    padding-left: 5.8666666667vw;
  }
  .--left .headerNavListItem__link.--gourmet::before {
    width: 4.8vw;
    height: 4.2666666667vw;
  }
  .--left .headerNavListItem__link.--activity {
    padding-left: 6.1333333333vw;
  }
  .--left .headerNavListItem__link.--activity::before {
    width: 5.0666666667vw;
    height: 4.2666666667vw;
  }
  .--left .headerNavListItem__link.--shopping {
    padding-left: 4.2666666667vw;
  }
  .--left .headerNavListItem__link.--shopping::before {
    width: 4vw;
    height: 4.8vw;
  }
  .headerNavListItem__text--en {
    font-size: 1.8666666667vw;
  }
  .headerNavListItem__text--jp {
    font-size: 2.6666666667vw;
  }
  .headerText-l {
    font-size: 3.7333333333vw;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* sp時 メニュー
――――――――――――――――――――――――――――――――――――――――――――――*/
.spMenu {
  position: fixed;
  top: 33px;
  left: 0;
  padding: 0 15px;
  width: 100vw;
  height: 100dvh;
  background-color: #fff;
  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;
}

.headerNavSp {
  height: calc(100svh - 118px);
  margin-top: 120px;
  margin-left: -15px;
  padding-left: 30px;
  padding-right: 30px;
  padding-bottom: 50px;
  overflow-y: auto;
}

.headerNavSpList:nth-of-type(1) .headerNavSpListItem:first-of-type {
  padding-top: 0;
}
.headerNavSpList:nth-of-type(1) .headerNavSpListItem__link {
  position: relative;
  padding-left: 37px;
}
.headerNavSpList:nth-of-type(1) .headerNavSpListItem__link::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
}
.headerNavSpList:nth-of-type(1) .headerNavSpListItem__link.--gourmet::before {
  background: url(../img/common/ico_gourmet.svg) no-repeat center/contain;
  width: 30px;
  height: 26px;
  bottom: -1px;
}
.headerNavSpList:nth-of-type(1) .headerNavSpListItem__link.--activity {
  padding-left: 40px;
}
.headerNavSpList:nth-of-type(1) .headerNavSpListItem__link.--activity::before {
  background: url(../img/common/ico_activity.svg) no-repeat center/contain;
  width: 33px;
  height: 26px;
  bottom: -2px;
}
.headerNavSpList:nth-of-type(1) .headerNavSpListItem__link.--shopping {
  padding-left: 38px;
}
.headerNavSpList:nth-of-type(1) .headerNavSpListItem__link.--shopping::before {
  background: url(../img/common/ico_shopping.svg) no-repeat center/contain;
  width: 26px;
  height: 28px;
  bottom: -2px;
}
.headerNavSpList:nth-of-type(2) .headerNavSpListItem__link {
  padding-left: 15px;
  position: relative;
}
.headerNavSpList:nth-of-type(2) .headerNavSpListItem__link::before {
  content: "";
  display: block;
  background: url(../img/common/ico_triangle.svg) no-repeat center/contain;
  width: 7px;
  height: 4px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}
.headerNavSpList:nth-of-type(2) .headerNavSpListItem__link .headerNavSpListItemt__text--jp {
  font-size: 15px;
}

.headerNavSpListItem {
  padding: 19.5px 0 20.3px;
  border-bottom: 1px solid #D5D5D5;
  position: relative;
}
.headerNavSpListItem.--left:first-of-type {
  padding-top: 0;
}

.headerNavSpListItem__link {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 5px;
  font-weight: bold;
  line-height: 1;
}
.headerNavSpListItem__link.--gourmet .headerNavSpListItem__text--en {
  color: #EF4537;
}
.headerNavSpListItem__link.--activity .headerNavSpListItem__text--en {
  color: #379AEF;
}
.headerNavSpListItem__link.--shopping .headerNavSpListItem__text--en {
  color: #EFB637;
}

.headerNavSpListItem__text--en {
  font-size: 10px;
  color: #3CA4BC;
}

.headerNavSpListItem__text--jp {
  font-size: 16px;
  color: #1B2324;
}
.headerNavSpListItem__text--jp .headerText-l {
  font-size: 22px;
}

/*** sp時 メニューボタン ***/
.spMenuBtn {
  position: absolute;
  top: 11px;
  right: 0;
  width: 36px;
  height: 36px;
  background-color: #3CA4BC;
  cursor: pointer;
  transition: 0.5s;
  z-index: 102;
}

.spMenuBtn span {
  position: relative;
  left: 0;
  right: 0;
  display: block;
  width: 18px;
  height: 1px;
  margin: auto;
  border-radius: 13px;
  background-color: #FFFFFF;
  transition: 0.5s;
}

.spMenuBtn span:nth-of-type(1) {
  top: 39%;
}

.spMenuBtn span:nth-of-type(2) {
  top: 56%;
}

.spMenuBtn.js-open {
  transition: 0.5s;
}

.spMenuBtn.js-open span {
  transition: 0.5s;
}

.spMenuBtn.js-open span:nth-of-type(1) {
  top: 48%;
  transform: rotate(45deg);
}

.spMenuBtn.js-open span:nth-of-type(2) {
  top: 44%;
  transform: rotate(-45deg);
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* footerContactArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.footer {
  position: relative;
  z-index: 11;
  background: url(../img/common/bg_footer.png) no-repeat center bottom;
  background-size: cover;
  background-attachment: fixed;
  padding-top: 1px;
  padding-bottom: 0;
  margin-top: 371px;
}

.subPage .footer {
  margin-top: 294px;
}

.footerSec {
  position: relative;
  margin-top: -222px;
}

@media screen and (max-width: 768px) {
  .footer {
    background: url(../img/common/bg_footer-sp.png) no-repeat center bottom;
    background-size: cover;
    margin-top: 119px;
  }
  .subPage .footer {
    margin-top: 107px;
  }
  .footerSec {
    position: relative;
    margin-top: -28px;
  }
}
/*** footerMain ***/
.footerMain {
  padding: 70px 90px 78px;
  background-color: #fff;
  position: relative;
}

.footerSnsWrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0 5px;
  padding-bottom: 34px;
  border-bottom: 1px solid #D8D8D8;
}

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

.footerLogo__imgBox {
  width: 100%;
  max-width: clamp(100px, 100px + 30 * (100vw - 768px) / 512, 130px);
}

.footerLogo__img {
  width: 100%;
  height: auto;
}

.footerLogoTxt {
  font-size: clamp(18px, 18px + 2 * (100vw - 768px) / 512, 20px);
  font-weight: bold;
  line-height: 1.55;
  margin-top: -5px;
}

.footerLogoTxt--s {
  font-size: 16px;
  line-height: 1.5625;
}

.footerSnsList {
  display: flex;
  gap: 0 clamp(8px, 8px + 7 * (100vw - 768px) / 512, 15px);
  margin-top: 7px;
}

.footerSnsListItem {
  width: clamp(50px, 50px + 20 * (100vw - 768px) / 512, 70px);
  height: clamp(50px, 50px + 20 * (100vw - 768px) / 512, 70px);
}

.footerSnsListItem__link {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 5px;
  width: 100%;
  height: 100%;
  background-color: #F2F3F5;
  border-radius: 9px;
}

.footerSnsListItem__imgBox {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}
.footerSnsListItem__imgBox.--fb {
  max-width: clamp(25px, 25px + 9 * (100vw - 768px) / 512, 34px);
}
.footerSnsListItem__imgBox.--x {
  max-width: clamp(20px, 20px + 7 * (100vw - 768px) / 512, 27px);
}
.footerSnsListItem__imgBox.--insta {
  max-width: clamp(22px, 22px + 10 * (100vw - 768px) / 512, 32px);
}
.footerSnsListItem__imgBox.--youtube {
  max-width: clamp(24px, 24px + 10 * (100vw - 768px) / 512, 34px);
}

.footerSnsListItem__img {
  width: 100px;
  height: auto;
}

@media screen and (max-width: 768px) {
  .footerMain {
    padding: 60px 30px 58px 30px;
  }
  .footerSnsWrap {
    flex-direction: column;
    border-bottom: none;
    padding-bottom: 28px;
  }
  .footerLogoBox {
    flex-direction: column;
    gap: 11px;
  }
  .footerLogoTxt {
    text-align: center;
  }
  .footerSnsList {
    margin-top: 20px;
    gap: 0 10px;
  }
  .footerSnsListItem {
    width: 46px;
    height: 46px;
  }
  .footerLogoTxt {
    font-size: 14px;
  }
  .footerLogoTxt--s {
    font-size: 11px;
  }
}
.footerInforWrap {
  display: flex;
  justify-content: space-between;
  gap: 60px;
  padding-top: 37px;
}

.footerInforMain {
  flex: 1 1 347px;
  width: 100%;
  max-width: 347px;
}

.footerInfoList {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 15px clamp(15px, 15px + 5 * (100vw - 768px) / 512, 20px);
}
.footerInfoList + .footerInfoList {
  margin-top: 26px;
}

.footerInfoList__item__title {
  font-size: 15px;
  font-weight: bold;
  line-height: 1.7333333333;
  min-width: 5.5em;
  position: relative;
  padding-left: 18px;
}
.footerInfoList__item__title::before {
  display: block;
  position: absolute;
  margin: auto;
  background: url(../img/) no-repeat center center/100%;
  content: "";
}
.footerInfoList__item__title.address::before {
  top: 6px;
  left: 0;
  width: 13px;
  height: 16px;
  background-image: url(../img/common/ico_footer-address.svg);
}
.footerInfoList__item__title.openning-time::before {
  top: 7px;
  left: 0;
  width: 14.5px;
  height: 14.5px;
  background-image: url(../img/common/ico_footer-time.svg);
}
.footerInfoList__item__title.tel::before {
  top: 8px;
  left: 0;
  width: 14.5px;
  height: 14.5px;
  background-image: url(../img/common/ico_footer-tell.svg);
}

.footerInfoList__item {
  font-size: 15px;
  line-height: 1.5;
  margin-top: 1px;
  min-width: 16.3em;
}

.openning-timeListItem {
  display: flex;
}
.openning-timeListItem + .openning-timeListItem {
  margin-top: 3px;
}

.openning-time__title {
  min-width: 5em;
}

.text-space__addjusut {
  display: flex;
  justify-content: space-between;
  max-width: 5em;
}

.openning-time__detail {
  display: inline-block;
  text-indent: 0.9em;
}

.footerNav {
  flex: 1 1 386px;
  width: 100%;
  max-width: 386px;
}

.footerNav__ttl {
  font-size: 15px;
  font-weight: bold;
  line-height: 1.7333333333;
  margin-bottom: 15px;
}

.footerNav__box + .footerNav__box {
  margin-top: 24px;
}

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

.footerNavList__link {
  font-size: 15px;
  padding-left: 8px;
}

.link-triangle {
  position: relative;
}
.link-triangle::before {
  content: "";
  display: block;
  background: url(../img/common/ico_triangle.svg) no-repeat center/contain;
  width: 8px;
  height: 5px;
  position: absolute;
  top: 44%;
  left: -2px;
}

.footerBtmNav {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px 20px;
  font-size: 15px;
  margin-top: 79px;
  line-height: 1.7333333333;
}

.footerBtmNavList {
  display: flex;
  gap: 0 45px;
}

.footerBtmNavListItem {
  position: relative;
}
.footerBtmNavListItem::before {
  content: "";
  display: block;
  position: absolute;
  top: 2px;
  bottom: 0;
  right: -23px;
  width: 1px;
  height: 15px;
  margin: auto;
  background-color: #C1C1C1;
  transform: rotate(15deg);
}
.footerBtmNavListItem:last-of-type::before {
  display: none;
}

.footerBtm__copyright {
  letter-spacing: -0.04px;
}

@media screen and (max-width: 768px) {
  .footerInforWrap {
    flex-direction: column;
    gap: 0;
    padding-top: 0;
  }
  .footerInforMain {
    flex: 1 1 100%;
    width: 100%;
    max-width: 100%;
    padding-bottom: 20px;
    border-bottom: 1px solid #D3D3D3;
  }
  .footerNav {
    flex: 1 1 100%;
    width: 100%;
    max-width: 100%;
    margin-top: 22px;
  }
  .footerInfoList {
    gap: 1px 16px;
  }
  .footerInfoList + .footerInfoList {
    margin-top: 14px;
  }
  .footerInfoList__item {
    font-size: 14px;
    line-height: 1.8571428571;
    min-width: 20em;
  }
}
@media screen and (max-width: 768px) and (max-width: 374px) {
  .footerInfoList__item {
    min-width: 0;
  }
}
@media screen and (max-width: 768px) {
  .footerInfoList__item__title {
    font-size: 14px;
    line-height: 1.8571428571;
  }
  .footerNav__ttl {
    font-size: 14px;
    margin-bottom: 5px;
    line-height: 1.8571428571;
  }
  .addressGap {
    display: inline-block;
    text-indent: 0.3em;
  }
  .footerNavList {
    gap: 2px 20px;
  }
  .footerNavList__link {
    font-size: 14px;
  }
  .footerNav__box + .footerNav__box {
    margin-top: 19px;
  }
  .openning-timeListItem + .openning-timeListItem {
    margin-top: -1px;
  }
  .openning-time__detail {
    text-indent: -0.02em;
    padding-left: 1.4em;
  }
  .footerBtmNav {
    justify-content: center;
    gap: 33px 20px;
    font-size: 14px;
    margin-top: 61px;
  }
}
@media screen and (max-width: 768px) and (max-width: 374px) {
  .footerBtmNavList {
    flex-wrap: wrap;
  }
}
.footerBitknot {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 16px 0;
  background-color: #FFFFFF;
  width: 100vw;
  margin: 696px calc(50% - 50vw) 0;
}

@media screen and (max-width: 768px) {
  .footerBitknot {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 16px 0;
    background-color: #FFFFFF;
    margin-top: 355px;
  }
}
.pageTop {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease;
  display: inline-block;
  background-color: #3CA4BC;
  width: 84px;
  height: 84px;
  overflow: hidden;
  position: fixed;
  bottom: 60px;
  right: clamp(20px, 3.125vw, 40px);
  z-index: 10000;
  transition: bottom 0.4s ease;
}
.pageTop.is-visible {
  opacity: 1;
  visibility: visible;
}
.pageTop::after {
  content: "";
  display: block;
  position: absolute;
  margin: auto;
  top: -1px;
  left: 0;
  right: 0;
  width: 35px;
  height: 55px;
  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: -1px;
  }
  30% {
    top: 0px;
  }
  100% {
    top: -20px;
  }
}
@keyframes dropAnchor {
  0% {
    top: -20px;
  }
  100% {
    top: -1px;
  }
}

.pageTopTxt {
  display: block;
  color: #fff;
  font-size: 13px;
  line-height: 1;
  font-weight: bold;
  width: -moz-fit-content;
  width: fit-content;
  margin: 60px auto 0;
  position: relative;
  letter-spacing: -0.6px;
}

@media screen and (max-width: 768px) {
  .pageTop {
    width: 48px;
    height: 48px;
    bottom: 15px;
    right: 9px;
  }
  .pageTop::after {
    width: 19px;
    height: 30px;
    background: url(../img/common/ico_anchor-sp.svg) no-repeat center/contain;
  }
  .pageTopTxt {
    font-size: 8px;
    margin-top: 33px;
    letter-spacing: normal;
  }
}
/**********************************************************

topKvArea

***********************************************************/
.topKvArea {
  position: relative;
  padding: 76px clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px) 0;
}
.topKvArea::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100vw;
  height: 2.34375vw;
  background: url(../img/common/img_wave-gray-reverse.png) no-repeat bottom/cover;
}

.kvInner {
  position: relative;
}

.topKvImgList {
  position: relative;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  margin-bottom: 0 !important;
  overflow: hidden;
}
.topKvImgList .slick-slide {
  margin: 0 1.5px;
}
.topKvImgList.slick-initialized {
  visibility: visible;
}

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

.topKvTxtBox {
  position: absolute;
  top: 21.7%;
  left: 0;
  right: 0;
  color: #FFFFFF;
  max-width: 460px;
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin: auto;
}

.topKvTxt__main {
  text-align: center;
}

.topKvTxt__sub {
  display: inline-block;
  text-align: center;
  font-size: clamp(18px, 18px + 5 * (100vw - 768px) / 512, 23px);
  font-weight: bold;
  line-height: 1;
  letter-spacing: -0.9px;
  margin-bottom: 26px;
  position: relative;
  padding: 0 18px 0 31px;
}
.topKvTxt__sub small {
  font-size: clamp(16px, 16px + 5 * (100vw - 768px) / 512, 21px);
  line-height: 1.0952380952;
}
.topKvTxt__sub::before {
  content: "";
  background: url(../img/common/ico_slash-left.svg) no-repeat bottom left/contain;
  width: clamp(18px, 18px + 2 * (100vw - 768px) / 512, 20px);
  height: clamp(33px, 33px + 3 * (100vw - 768px) / 512, 36px);
  position: absolute;
  top: -7px;
  left: 0;
}
.topKvTxt__sub::after {
  content: "";
  background: url(../img/common/ico_slash-right.svg) no-repeat bottom right/contain;
  width: clamp(18px, 18px + 2 * (100vw - 768px) / 512, 20px);
  height: clamp(33px, 33px + 3 * (100vw - 768px) / 512, 36px);
  position: absolute;
  top: -7px;
  right: 0;
}

.topKvTXt__imgBox {
  display: block;
  width: 100%;
  max-width: clamp(320px, 35.9375vw, 460px);
  margin: 0 auto;
}

.topKvTXt__img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 768px) {
  .topKvArea {
    padding: 91px 0 0;
  }
  .topKvArea::after {
    display: none;
  }
  .topKvArea::before {
    top: -1px;
    height: 3.7333333333vw;
  }
  .topKvImgList {
    max-height: 550px;
  }
  .topKvImgList .slick-slide {
    margin: 0;
  }
  .topKvTxtBox {
    top: 12.2%;
    max-width: clamp(0px, 70.4vw, 401px);
  }
  .topKvTxt__sub {
    font-size: clamp(0px, 4vw, 23px);
    padding: 0 12px 0 22px;
    margin-bottom: 20px;
  }
  .topKvTxt__sub small {
    font-size: clamp(0px, 3.4666666667vw, 20px);
  }
  .topKvTxt__sub::before {
    width: clamp(0px, 3.2vw, 18px);
    height: clamp(0px, 5.8666666667vw, 33px);
    top: -2px;
  }
  .topKvTxt__sub::after {
    width: clamp(0px, 3.2vw, 18px);
    height: clamp(0px, 5.8666666667vw, 33px);
    top: -2px;
  }
  .topKvTXt__imgBox {
    max-width: clamp(0px, 58.6666666667vw, 334px);
  }
  .topKvImg {
    -o-object-fit: cover;
       object-fit: cover;
    max-height: 532px;
  }
}
.eventNotice {
  color: #fff;
  font-weight: bold;
  background-color: #CE4230;
  padding: 7px 18px 8.5px 14px;
  position: absolute;
  right: 0.4%;
  bottom: 12px;
  z-index: 2;
  min-width: 252px;
  min-height: 124px;
}
.eventNotice::after {
  content: "";
  display: block;
  background: url(../img/top/img_event-around-left.svg) no-repeat center/contain;
  width: 276px;
  height: 159px;
  position: absolute;
  bottom: -30px;
  left: -20px;
  z-index: 3;
  pointer-events: none;
}

.eventNoticeWrap {
  position: absolute;
  right: 0.4%;
  bottom: 12px;
  min-width: 252px;
  min-height: 124px;
  z-index: 1;
  pointer-events: none;
}
.eventNoticeWrap::before {
  content: "";
  display: block;
  background: url(../img/top/img_event-around-right.svg) no-repeat center/contain;
  width: 276px;
  height: 159px;
  position: absolute;
  top: -34px;
  right: -23px;
}

.eventTitle {
  display: flex;
  justify-content: space-between;
  padding-bottom: 8px;
  font-size: 14px;
  line-height: 1;
}

.eventTitle__main {
  padding-left: 23px;
  position: relative;
}
.eventTitle__main::before {
  content: "";
  background: url(../img/common/ico_event.svg) no-repeat center/contain;
  width: 20.4px;
  height: 22.2px;
  position: absolute;
  top: -1px;
  left: -1px;
}

.eventMainBox {
  position: relative;
  height: 80px; /* 固定高さ */
  overflow: hidden;
  display: flex;
  justify-content: center;
}
.eventMainBox .noEvent {
  font-size: 14px;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
}

.eventMain {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 13px;
  transform: translateX(0);
  opacity: 1;
  transition: transform 0.5s ease, opacity 0.5s ease;
  position: absolute;
  top: 0;
  left: 0;
}

.eventMain.slide-out {
  transform: translateX(100%);
  opacity: 0;
}

.eventMain.js-hide {
  transform: translateX(-100%);
  opacity: 0;
  visibility: hidden;
}

.eventMain.slide-in {
  transform: translateX(0);
  opacity: 1;
  visibility: visible;
}

.eventMain__imgBox {
  width: 100%;
  max-width: 60px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  overflow: hidden;
}

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

.eventMain__txtBox {
  display: flex;
  flex-direction: column;
  font-size: 14px;
  margin-top: -4px;
}

.eventMain__txtTitle {
  display: inline-block;
  font-size: 15px;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  padding-right: 17px;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.eventMain__txtTitle::after {
  position: absolute;
  top: 6.5px;
  right: 0;
  content: "";
  display: inline-block;
  width: 15px;
  height: 15px;
  background: url(../img/common/ico_arrow-circle-red-white.svg) no-repeat center/contain;
}

.eventTitle__sub {
  margin-right: 3px;
  position: relative;
}

.eventTitle__subText {
  letter-spacing: 0.9px;
}
.eventTitle__subText.js-hide {
  display: none;
}

.eventTitle__subLink {
  display: inline-block;
  width: 15px;
  height: 15px;
  position: relative;
  top: -1px;
  right: -5px;
  cursor: pointer;
  pointer-events: auto;
}
.eventTitle__subLink::before {
  content: "";
  background: url(../img/common/icon_arrow-circle.svg) no-repeat center/contain;
  width: 15px;
  height: 15px;
  position: absolute;
  top: 0;
  right: 0;
}

.eventMain__txtDate {
  display: block;
  padding-left: 18px;
  margin-top: -1px;
  position: relative;
}
.eventMain__txtDate::before {
  content: "";
  background: url(../img/common/ico_calendar.svg) no-repeat center/contain;
  width: 13px;
  height: 13px;
  position: absolute;
  top: 6px;
  left: 0;
}

.dottedLine {
  height: 1px;
  background: repeating-linear-gradient(to right, #fff, #fff 4px, transparent 4px, transparent 8px);
  width: 100%;
}

@media screen and (max-width: 768px) {
  .eventNotice {
    display: block;
    position: relative;
    right: 0;
    bottom: 0;
    min-width: 100%;
    min-height: auto;
    height: 116px;
    padding: 10px 30px 8.5px 30px;
  }
  .eventNotice::before {
    display: block;
    content: "";
    background: url(../img/top/img_event-around-top-sp.png) no-repeat center/cover;
    width: 100%;
    height: 6px;
    position: absolute;
    top: -5px;
    left: 0;
    z-index: 3;
  }
  .eventNotice::after {
    background: url(../img/top/img_event-around-left-rope-sp.svg) no-repeat center/contain;
    width: 86px;
    height: 87px;
    position: absolute;
    bottom: -32px;
    left: -23px;
    z-index: 3;
  }
  .eventNoticeWrap {
    bottom: 0;
    right: 0;
    min-width: 100%;
    min-height: auto;
    height: 116px;
    overflow-x: clip;
  }
  .eventNoticeWrap::before {
    content: "";
    display: block;
    background: url(../img/top/img_event-around-right-rope-sp.svg) no-repeat center/contain;
    width: 105px;
    height: 95px;
    position: absolute;
    top: -37px;
    right: -27px;
    transform: rotate(-3deg);
  }
  .eventNoticeWrap::after {
    content: "";
    background: url(../img/top/img_event-around-bottom-sp.png) no-repeat center/cover;
    width: 100%;
    height: 6px;
    position: absolute;
    bottom: -5px;
    left: 0;
    z-index: 3;
  }
  .eventMain {
    margin-top: 11px;
  }
  .eventTitle__main {
    padding-left: 24px;
  }
  .eventTitle__main::before {
    top: -2px;
  }
  .eventTitle__sub {
    margin-right: 5px;
  }
  .eventTitle__sub::before {
    top: 0;
    right: 0;
  }
}
/**********************************************************

topMessageArea

***********************************************************/
.topMessageArea {
  padding-top: 88px;
  padding-bottom: 0;
  position: relative;
  overflow-x: clip;
}
.topMessageArea::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100vw;
  height: 2.109375vw;
  background: url(../img/common/img_wave-gray.png) no-repeat bottom/cover;
}

@media screen and (max-width: 768px) {
  .topMessageArea {
    padding-top: 96px;
  }
  .topMessageArea::after {
    height: 3.7333333333vw;
    background: url(../img/common/img_wave-gray-sp.png) no-repeat bottom/cover;
  }
}
.topMessageTextBox {
  display: flex;
  justify-content: center;
  margin: 65px auto 0;
  position: relative;
  z-index: 2;
}

.topMessageText {
  font-size: 17px;
  writing-mode: vertical-rl;
  line-height: 3.25;
  letter-spacing: 0.06em;
  min-height: 380px;
  width: -moz-fit-content;
  width: fit-content;
}

.topMessageSlideBox {
  position: relative;
  width: 100vw;
  aspect-ratio: 1280/427;
  margin: -251px calc(50% - 50vw) 0;
}
.topMessageSlideBox::before {
  content: "";
  display: block;
  background: linear-gradient(to bottom, rgb(237, 238, 240), rgba(237, 238, 240, 0.7));
  width: 100vw;
  height: 101%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.topMessageSlide__imgBox {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  animation: scrollGallery 150s linear infinite;
  will-change: transform;
}

.topMessageSlide__img {
  display: block;
  height: 100%;
  max-width: none;
  width: auto;
  flex-shrink: 0;
}

@keyframes scrollGallery {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(var(--slide-width));
  }
}
@media screen and (max-width: 768px) {
  .topMessageTextBox {
    margin-top: 37px;
    padding-left: 15px;
    padding-right: 15px;
  }
  .topMessageText {
    writing-mode: horizontal-tb;
    font-size: 14px;
    line-height: 1.75;
    letter-spacing: normal;
    min-height: auto;
  }
  .topMessageSlideBox {
    min-height: 266px;
    margin-top: -55px;
  }
}
/**********************************************************

topMenuArea

***********************************************************/
.topMenuArea {
  padding-top: 135px;
  padding-bottom: 138px;
  overflow-x: clip;
}

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

.topMenuListItem {
  width: calc((100% - clamp(15px, 15px + 16 * (100vw - 768px) / 512, 31px) * 2) / 3);
}

.topMenuLinkItem__link {
  display: block;
  width: 100%;
  height: 100%;
}
.topMenuLinkItem__link:hover {
  opacity: 1;
}
.topMenuLinkItem__link:hover .topMenuLinkItem__imgBox--mark {
  transform: scale(1.1);
}
.topMenuLinkItem__link:hover .c-btn__text::before {
  transform: scaleX(0);
}
.topMenuLinkItem__link:hover .c-btn__circle {
  transform: scale(1.1333);
}

.topMenuLinkItem__imgBox {
  width: 100%;
}

.topMenuLinkItem__img {
  width: 100%;
  height: auto;
}

.topMenuLinkItem__imgBox--mark {
  width: 100%;
  max-width: clamp(100px, 13.28125vw, 170px);
  transition: transform 0.3s ease;
}

.topMenuLinkItem__markBox {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 38px;
  margin-top: -88px;
}

.topMenuLinkItem__img--mark {
  height: auto;
}

@media screen and (max-width: 768px) {
  .topMenuArea {
    padding-top: 101px;
    padding-bottom: 115px;
  }
  .topMenuList {
    flex-direction: column;
    gap: 65px;
  }
  .topMenuListItem {
    width: 100%;
  }
  .topMenuListItem:nth-child(odd) .topMenuLinkItem__imgBox {
    margin-left: -19px;
  }
  .topMenuListItem:nth-child(even) .topMenuLinkItem__imgBox {
    margin-right: -19px;
  }
  .topMenuListItem:nth-child(even) .topMenuLinkItem__link {
    flex-direction: row-reverse;
  }
  .topMenuLinkItem__link {
    display: flex;
    gap: 24px;
  }
  .topMenuLinkItem__imgBox {
    max-width: 53.0666666667vw;
  }
  .topMenuLinkItem__imgBox--mark {
    max-width: 32vw;
  }
  .topMenuLinkItem__markBox {
    margin-top: 0;
    gap: 27px;
  }
}
@media screen and (max-width: 768px) and (max-width: 374px) {
  .topMenuArea .topMenuBtn {
    font-size: 3.7333333333vw;
  }
  .topMenuArea .topMenuBtn .c-btn__circle {
    width: 6.4vw;
    height: 6.4vw;
  }
  .topMenuArea .topMenuBtn .c-btn__circle::before {
    width: 1.8666666667vw;
    height: 3.2vw;
  }
  .topMenuArea .topMenuBtn .c-btn__text {
    min-width: 26.1333333333vw;
  }
}
/**********************************************************

modelCourseArea

***********************************************************/
.modelCourseArea {
  background-color: #fff;
  padding-top: 123px;
  padding-bottom: 147px;
  position: relative;
  background: url(../img/top/bg_model-course.jpg) no-repeat bottom left/cover;
  z-index: 0;
}
.modelCourseArea::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  background: linear-gradient(to bottom, rgb(255, 255, 255), rgba(255, 255, 255, 0.8));
  z-index: -1;
}
.modelCourseArea::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100vw;
  height: 2.109375vw;
  background: url(../img/common/img_wave-gray.png) no-repeat bottom/cover;
}

@media screen and (max-width: 768px) {
  .modelCourseArea {
    overflow: visible;
    padding-top: 105px;
    padding-bottom: 160px;
    background: url(../img/top/bg_model-course-sp.jpg) no-repeat bottom left/100%, #fff;
  }
  .modelCourseArea::after {
    height: 3.7333333333vw;
    background: url(../img/common/img_wave-gray-sp.png) no-repeat bottom/cover;
  }
}
.modelCourseList {
  display: flex;
  gap: 0 clamp(15px, 15px + 10 * (100vw - 768px) / 512, 25px);
  margin-top: 58px;
}

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

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

.modelCourseListItem__imgBox {
  width: 100%;
  border-radius: 5px;
  overflow: hidden;
}

.modelCourseListItem__img {
  width: 100%;
  height: auto;
}

.modelCourseListItem__linkTxt {
  font-size: 14px;
  line-height: 1.7142857143;
  font-weight: bold;
  margin-top: 13px;
  padding-left: 28px;
  position: relative;
}
.modelCourseListItem__linkTxt::before {
  content: "";
  display: block;
  background: url(../img/common/ico_arrow-circle.svg) no-repeat center/contain;
  width: 22px;
  height: 22px;
  position: absolute;
  top: 3px;
  left: 0;
}

.modelCourseBtnBox {
  width: -moz-fit-content;
  width: fit-content;
  margin: 74px auto 0;
}

@media screen and (max-width: 768px) {
  .modelCourseList {
    gap: 0;
    width: 100vw;
    margin: 50px calc(50% - 50vw) 0;
  }
  .modelCourseListItem {
    width: 100%;
    max-width: none;
    margin: 0 7.5px;
  }
  .modelCourseListItem__linkTxt {
    margin-top: 15px;
  }
  .modelCourseListItem__linkTxt::before {
    top: 1px;
  }
  .modelCourseBtnBox {
    margin-top: 42px;
  }
}
/**********************************************************

activityShopArea

***********************************************************/
.activityShopArea {
  padding-top: 119px;
  padding-bottom: 120px;
  overflow-x: clip;
}
.activityShopArea .bg-relative {
  position: relative;
}
.activityShopArea .bg-relative::before {
  content: "";
  display: block;
  background: url(../img/top/bg_right.png) no-repeat center/contain;
  width: 619px;
  height: 734px;
  position: absolute;
  bottom: -53.8%;
  right: -25.4%;
}

.activityShopBox {
  padding: 0 clamp(0px, 0px + 60 * (100vw - 768px) / 512, 60px);
}

@media screen and (max-width: 768px) {
  .activityShopArea {
    padding-top: 105px;
    padding-bottom: 105px;
  }
  .activityShopArea .bg-relative::before {
    width: 417px;
    height: 495px;
    position: absolute;
    bottom: -29.2%;
    right: -71.1%;
  }
  .activityShopBox {
    padding: 0;
  }
}
.activityShopList {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(15px, 15px + 10 * (100vw - 768px) / 512, 25px);
  margin-top: 59px;
}

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

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

.activityShopListItem__imgBox {
  width: 100%;
  overflow: hidden;
}

.activityShopListItem__img {
  width: 100%;
  height: auto;
}

.activityShopListItem__textWrap {
  display: flex;
  align-items: center;
  padding: 11px clamp(12px, 12px + 3 * (100vw - 768px) / 512, 15px) 16px;
  background-color: rgba(31, 37, 49, 0.7);
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}

.activityShopListItem__text {
  display: inline-block;
  color: #fff;
  font-size: clamp(12px, 12px + 3 * (100vw - 768px) / 512, 15px);
  line-height: 1;
  font-weight: bold;
  position: relative;
}
.activityShopListItem__text::after {
  content: "";
  display: inline-block;
  background: url(../img/common/ico_arrow-circle-white.svg) no-repeat center/contain;
  width: 16px;
  height: 16px;
  transform: translate(4px, 3px);
}

@media screen and (max-width: 768px) {
  .activityShopList {
    gap: 25px 11px;
    margin-top: 50px;
  }
  .activityShopListItem {
    max-width: none;
    width: calc((100% - 11px) / 2);
  }
  .activityShopListItem__textWrap {
    background-color: transparent;
    padding: 7px 0 0 0;
    position: static;
  }
  .activityShopListItem__text {
    color: #1B2324;
    line-height: 1.34;
  }
  .activityShopListItem__text::after {
    display: inline-block;
    background: url(../img/common/ico_arrow-circle-black.svg) no-repeat center/contain;
    width: 13px;
    height: 13px;
    transform: translate(3px, 2px);
  }
}
/**********************************************************

topicsArea

***********************************************************/
.topicsArea {
  padding-top: 119px;
  padding-bottom: 148px;
}
.topicsArea .bg-relative {
  position: relative;
}
.topicsArea .bg-relative::before {
  content: "";
  display: block;
  background: url(../img/top/bg_left.png) no-repeat center/contain;
  width: 773px;
  height: 843px;
  position: absolute;
  bottom: -11.3%;
  left: -38.6%;
  z-index: -1;
}

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

.topicsListItem {
  background-color: #fff;
  max-width: 370px;
  width: calc((100% - clamp(15px, 15px + 10 * (100vw - 768px) / 512, 25px) * 2) / 3);
  position: relative;
}
.topicsListItem.--gourmet .topicsListItemWrap {
  border-top: 10px solid #EF4537;
}
.topicsListItem.--gourmet .topicsArticleListItem__text--category {
  color: #EF4537;
  border: 1px solid #EF4537;
}
.topicsListItem.--activity .topicsListItemWrap {
  border-top: 10px solid #379AEF;
}
.topicsListItem.--activity .topicsListItem__title {
  max-width: 84px;
}
.topicsListItem.--activity .topicsArticleListItem__text--category {
  color: #379AEF;
  border: 1px solid #379AEF;
}
.topicsListItem.--activity .topicsArticleListItem__text--title::after {
  background-color: #379AEF;
}
.topicsListItem.--shopping .topicsListItemWrap {
  border-top: 10px solid #EFB637;
}
.topicsListItem.--shopping .topicsListItem__title {
  max-width: 84px;
}
.topicsListItem.--shopping .topicsArticleListItem__text--category {
  color: #EFB637;
  border: 1px solid #EFB637;
}
.topicsListItem.--shopping .topicsArticleListItem__text--title::after {
  background-color: #EFB637;
}

.topicsListItemWrap {
  padding: 30px clamp(20px, 20px + 8 * (100vw - 768px) / 512, 28px) 40px;
}

.topicsListItem__title {
  width: 100%;
  max-width: 118px;
  margin: 0 auto;
}

.topicsListItem__img {
  width: 100%;
  height: auto;
}

.topicsArticleList {
  margin-top: 35px;
}

.topicsListItem {
  display: flex;
  flex-direction: column;
}

.topicsArticleListItem__link {
  display: flex;
  align-items: flex-start;
  gap: clamp(10px, 10px + 5 * (100vw - 768px) / 512, 15px);
  height: 100%;
}

.topicsArticleListItem__imgBox {
  flex: 1 0.4 100px;
  width: 100%;
  max-width: 100px;
  aspect-ratio: 1/1;
  overflow: hidden;
}

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

.topicsArticleListItem {
  min-height: 100px;
}
.topicsArticleListItem + .topicsArticleListItem {
  padding-top: 17px;
  margin-top: 18px;
  border-top: 1px solid #D8D8D8;
}

.topicsArticleListItem__textBox {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 1 1 199px;
  width: 100%;
  max-width: 199px;
}

.topicsArticleListItem__text--category {
  display: inline;
  font-weight: bold;
  font-size: 10px;
  line-height: 1;
  padding: 4px;
  vertical-align: top;
}

.topicsArticleListItem__text--title {
  display: inline-block;
  margin-top: 10px;
  font-weight: bold;
  font-size: clamp(13px, 13px + 2 * (100vw - 768px) / 512, 15px);
  line-height: 1.5;
  position: relative;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.topicsArticleListItem__text--title::after {
  content: "";
  display: inline-block;
  width: 15.4px;
  height: 15.4px;
  margin-left: 5px;
  background-color: #EF4537;
  mask-image: url(../img/common/ico_arrow-circle-red.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(../img/common/ico_arrow-circle-red.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  transform: translate(-5%, 10%);
}

.topicsArticleListItem__text--date {
  color: #AFAFAF;
  margin-top: 8px;
  font-size: 14px;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .topicsArea {
    padding-top: 44px;
    padding-bottom: 105px;
  }
  .topicsArea .bg-relative {
    position: relative;
  }
  .topicsArea .bg-relative::before {
    width: 461px;
    height: 503px;
    position: absolute;
    bottom: 4.9%;
    left: -87.1%;
  }
  .topicsList {
    flex-direction: column;
    margin-top: 50px;
    gap: 20px;
  }
  .topicsListItem {
    width: 100%;
    max-width: 100%;
  }
  .topicsListItem.--activity .topicsListItem__title {
    max-width: 71px;
  }
  .topicsListItem.--shopping .topicsListItem__title {
    max-width: 71px;
  }
  .topicsListItemWrap {
    padding: 25px 15px 29px;
  }
  .topicsListItem__title {
    width: 100%;
    max-width: 100px;
    margin: 0 auto;
  }
  .topicsArticleList {
    margin-top: 26px;
  }
  .topicsArticleListItem__link {
    gap: 15px;
  }
  .topicsArticleListItem__text--title {
    font-size: 14px;
  }
  .topicsArticleListItem__text--date {
    margin-top: 10px;
  }
  .topicsArticleListItem__imgBox {
    flex-shrink: 0;
  }
  .topicsArticleListItem__textBox {
    flex: 1 1 100%;
    max-width: 100%;
  }
}
/**********************************************************

accessArea

***********************************************************/
.accessArea {
  padding-top: 119px;
  background-color: #fff;
  position: relative;
}

.accessBg {
  width: 100%;
  height: clamp(326px, 326px + 217 * (100vw - 768px) / 512, 543px);
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/top/bg_access.png) repeat-x top left/contain;
}
.accessBg::before {
  content: "";
  display: block;
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100vw;
  height: 2.109375vw;
  background: url(../img/common/img_wave-white.png) no-repeat bottom/cover;
  transform: scaleY(-1);
}

.accessCard {
  margin-top: clamp(33px, 33px + 22 * (100vw - 768px) / 512, 55px);
}

.accessMapBox {
  position: relative;
  padding-bottom: 38.462%;
  height: 0;
  overflow: hidden;
}

.accessMap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.accessInforBox {
  display: flex;
  justify-content: space-between;
  gap: 37px 30px;
  margin-top: 41px;
  position: relative;
}

.accessInforAddress {
  flex: 1 1 320px;
  width: 100%;
  max-width: 320px;
}

.accessInforHowto {
  flex: 1 1 495px;
  width: 100%;
  max-width: 495px;
}

.accessBtm {
  display: inline-block;
  position: absolute;
  bottom: -6px;
  left: 0;
}

.accessInforAddressList__title,
.accessInforHowtoList__title {
  font-size: 20px;
  line-height: 2;
  color: #3CA4BC;
  font-weight: bold;
}

.accessInforAddressList__detail {
  position: relative;
  padding-left: 16px;
  margin-top: 10px;
}
.accessInforAddressList__detail::before {
  content: "";
  display: block;
  background: url(../img/common/ico_address.svg) no-repeat center/contain;
  width: 13px;
  height: 19px;
  position: absolute;
  top: 4px;
  left: 0;
}

.detailListItem {
  border-top: 1px solid #D3D3D3;
  padding: 4px 4px 7.5px 0;
}
.detailListItem:last-of-type {
  border-bottom: 1px solid #D3D3D3;
}

.detailListItem__text {
  font-size: 16px;
  padding-left: 22px;
  position: relative;
}
.detailListItem__text::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
}
.detailListItem__text.--parking::before {
  background: url(../img/common/ico_parking.svg) no-repeat center/contain;
  width: 14px;
  height: 15px;
  top: 7px;
}
.detailListItem__text.--car::before {
  background: url(../img/common/ico_car.svg) no-repeat center/contain;
  width: 17px;
  height: 14px;
  top: 8px;
}
.detailListItem__text.--train::before {
  background: url(../img/common/ico_train.svg) no-repeat center/contain;
  width: 15px;
  height: 19px;
  top: 8px;
}

.accessInforHowtoList__detail {
  margin-top: 15px;
}

@media screen and (max-width: 768px) {
  .accessArea {
    padding-top: 84px;
    padding-bottom: 70px;
  }
  .accessBg {
    height: 500px;
    background: url(../img/top/bg_access-sp.png) repeat-x top left/contain;
  }
  .accessBg::before {
    bottom: -1px;
    height: 3.7333333333vw;
    background: url(../img/common/img_wave-white-sp.png) no-repeat bottom/cover;
  }
  .accessCard {
    margin-top: 50px;
    padding: 0 clamp(0px, 4vw, 15px);
  }
  .accessMapBox {
    padding-bottom: 158.462%;
  }
  .accessInforBox {
    flex-direction: column;
    margin-top: 26px;
    gap: 35px;
  }
  .accessInforAddress {
    flex: 1 1 100%;
    max-width: 100%;
  }
  .accessInforHowto {
    flex: 1 1 100%;
    max-width: 100%;
  }
  .accessInforAddressList__title {
    font-size: 18px;
  }
  .accessInforAddressList__detail {
    font-size: 14px;
    line-height: 1;
    margin-top: 13px;
  }
  .accessInforAddressList__detail::before {
    top: -2px;
  }
  .detailListItem {
    padding-top: 9px;
    padding-bottom: 9.5px;
  }
  .detailListItem__text {
    font-size: 14px;
    line-height: 1.5;
  }
  .detailListItem__text.--parking::before {
    top: 3px;
  }
  .detailListItem__text.--car::before {
    top: 5px;
  }
  .detailListItem__text.--train::before {
    top: 4px;
  }
  .accessInforHowtoList__title {
    font-size: 18px;
  }
  .accessInforHowtoList__detail {
    margin-top: 8.5px;
  }
  .accessBtm {
    position: static;
    margin: 12px auto 0;
  }
}
/**********************************************************

newsArea

***********************************************************/
.newsArea {
  padding-top: 41px;
  padding-bottom: 6px;
  background-color: #fff;
}

.newsBox {
  display: grid;
  grid-template-columns: 155px 1fr;
  grid-template-areas: "title list" "button list";
  gap: 42px;
  background-color: #F5F6F7;
  width: 100%;
  margin: 0 auto;
  padding: 80px clamp(30px, 30px + 90 * (100vw - 768px) / 512, 120px) 79px;
  position: relative;
}

.newsBtm {
  grid-area: button;
  align-self: end;
  margin-bottom: 27px;
}

.newsTitle {
  width: 100%;
  max-width: 155px;
  padding-top: 0;
  margin: -6px 0 0 0;
  text-align: left;
  grid-area: title;
  align-self: start;
}

.newsList {
  width: 100%;
  max-width: 654px;
  grid-area: list;
  justify-self: flex-end;
}

.newsListItem {
  border-top: 1px solid #D3D3D3;
  padding: 15px 15px 19px 0;
}
.newsListItem:last-of-type {
  border-bottom: 1px solid #D3D3D3;
}

.newsListItem__link {
  display: inline-block;
}

.newsListItem__text {
  font-size: 16px;
  font-weight: bold;
  line-height: 2;
}

.newsListItem__date {
  display: block;
  color: #7B8188;
  font-size: 14px;
  line-height: 1;
  margin-top: 6px;
}

@media screen and (max-width: 768px) {
  .newsBox {
    grid-template-columns: 1fr;
    grid-template-areas: "title" "list" "button";
    gap: 52px;
    padding: 70px 15px;
  }
  .newsTitle {
    max-width: 100%;
    text-align: center;
  }
  .newsList {
    max-width: 100%;
  }
  .newsListItem {
    padding-bottom: 15px;
  }
  .newsListItem__text {
    font-size: 14px;
  }
  .newsListItem__date {
    font-size: 12px;
  }
  .newsBtm {
    margin-top: -5px;
    text-align: center;
    margin-bottom: 0;
  }
}
/**********************************************************

topInformationArea

***********************************************************/
.topInformationArea {
  padding-top: 140px;
  padding-bottom: 198px;
  background: url(../img/top/bg_nanki.jpg) no-repeat bottom/cover #fff;
  position: relative;
}
.topInformationArea::before {
  content: "";
  height: 100%;
  width: 100%;
  background: linear-gradient(to bottom, rgb(255, 255, 255), rgba(255, 255, 255, 0.7));
  position: absolute;
  top: 0;
  left: 0;
}

.topInformationBox {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 115px;
  padding-left: 120px;
  padding-right: clamp(30px, 30px + 90 * (100vw - 768px) / 512, 120px);
  position: relative;
}

.topInformationTitle {
  writing-mode: vertical-rl;
  margin-left: 11px;
  margin-top: 3px;
}

.topInformationTextBox {
  flex: 1 1 660px;
  width: 100%;
  max-width: 660px;
  margin-top: 1px;
}

.topInformationText {
  font-size: 15px;
  line-height: 1.7466666667;
}
.topInformationText + .topInformationText {
  margin-top: 40px;
}

.topInformationImages {
  display: flex;
  align-items: flex-start;
  gap: 30px;
  position: absolute;
  bottom: -218px;
  left: 0;
}

.toptopInformation__imgBox {
  border-radius: 72px;
  overflow: hidden;
  max-width: clamp(130px, 130px + 20 * (100vw - 768px) / 512, 150px);
}
.toptopInformation__imgBox:nth-of-type(2) {
  max-width: clamp(110px, 110px + 20 * (100vw - 768px) / 512, 130px);
  transform: translateY(-66px);
}

.topInformation__img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 768px) {
  .topInformationArea {
    padding-top: 148px;
    padding-bottom: 258px;
    background: url(../img/top/bg_nanki-sp.jpg) no-repeat bottom/cover #fff;
  }
  .topInformationBox {
    flex-direction: column;
    align-items: center;
    gap: 55px;
    padding: 0 15px;
  }
  .topInformationTitle {
    text-align: center;
    writing-mode: horizontal-tb;
    flex: 1 1 100%;
    max-width: 100%;
    margin-top: 0;
    margin-left: 0;
  }
  .topInformationTextBox {
    flex: 1 1 100%;
    max-width: 100%;
  }
  .topInformationText {
    font-size: 14px;
    line-height: 1.6;
  }
  .topInformationText + .topInformationText {
    margin-top: 27px;
  }
  .topInformationImages {
    justify-content: center;
    width: 100%;
    bottom: -338px;
    left: 50%;
    transform: translateX(-50%);
  }
  .toptopInformation__imgBox {
    max-width: 133px;
  }
  .toptopInformation__imgBox:nth-of-type(2) {
    max-width: 115px;
    transform: translateY(-39px);
  }
}
/**********************************************************

topInformationArea

***********************************************************/
.topInstagramArea {
  padding-top: 120px;
}

.instagramList {
  display: flex;
  flex-wrap: wrap;
  gap: 25px;
  margin-top: 53px;
}

.instagramList__item {
  max-width: 188px;
  width: calc((100% - 100px) / 5);
  aspect-ratio: 188/188;
  overflow: hidden;
}

.instagramList__link {
  display: block;
  width: 100%;
  height: 100%;
}
.instagramList__link:hover .instagramList__img {
  scale: 1.1;
  transition: 0.3s;
}

.instagramList__img {
  width: 100%;
  height: 100%;
  scale: 1;
  transition: 0.3s;
}

@media screen and (max-width: 768px) {
  .topInstagramArea {
    padding-top: 230px;
  }
  .instagramList {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 50px;
    padding: 0 clamp(0px, 4vw, 15px);
  }
  .instagramList__item {
    width: calc((100% - 20px) / 3);
  }
}
/**********************************************************

topContactArea

***********************************************************/
.topContactArea {
  padding-top: 109px;
  padding-bottom: 50px;
}

.topContactWrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: clamp(25px, 25px + 25 * (100vw - 768px) / 512, 50px);
  background-color: #fff;
  padding: 60px clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px) 70px;
}

.topContactSentence {
  flex: 1 1 540px;
  width: 100%;
  max-width: 540px;
}

.topContactTextBox {
  margin-top: 37px;
}

.topContactText {
  font-size: 15px;
  line-height: 1.7466666667;
}

.topContact__imgBox {
  flex: 1 1 450px;
  width: 100%;
  max-width: 450px;
  margin-top: 10px;
}

.topContact__img {
  width: 100%;
  height: auto;
}

.topContactBtm {
  display: inline-block;
  margin-top: 37px;
}

@media screen and (max-width: 768px) {
  .topContactArea {
    padding-top: 72px;
  }
  .topContactWrap {
    padding: 50px 15px 50px;
    flex-direction: column-reverse;
    gap: 29px;
  }
  .topContactSentence {
    flex: 1 1 100%;
    max-width: 100%;
  }
  .topContact__imgBox {
    flex: 1 1 100%;
    max-width: 100%;
    margin-top: 0;
  }
  .topContactTextBox {
    margin-top: 20px;
  }
  .topContactText {
    font-size: 14px;
    line-height: 1.6;
  }
  .topContactBtm {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    margin: 22px auto 0;
  }
}
/**********************************************************

ropeTextBox

***********************************************************/
.ropeTextBox {
  height: 162px;
  margin-top: 90px;
  position: relative;
}
.ropeTextBox::before {
  content: "";
  background: url(../img/top/img_rope-bottom.svg) repeat-x top center/auto 162px;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.ropeTextBox::after {
  content: "";
  background: url(../img/top/img_rope-top.svg) repeat-x top center/auto 162px;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
}

.ropeText {
  transform: translateY(0%);
  transition: transform 1s ease 0.75s;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  height: 58.06px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  overflow: hidden;
}
.ropeText::before {
  content: "";
  display: block;
  background: url(../img/top/text_rope.svg) repeat-x center;
  animation: scrollAddressX 20s linear infinite;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 10;
  background-position: top;
  width: 100%;
  height: 100%;
}

@keyframes scrollAddressX {
  0% {
    background-position: 0% 50%;
  }
  100% {
    background-position: calc(100% - 100vw) 50%;
  }
}
@media screen and (max-width: 768px) {
  .ropeTextBox {
    height: 111px;
    margin-top: 30px;
  }
  .ropeTextBox::before {
    content: "";
    background: url(../img/top/img_rope-bottom-sp.svg) repeat-x calc(50% - 83px) top/auto 111px;
  }
  .ropeTextBox::after {
    content: "";
    background: url(../img/top/img_rope-top-sp.svg) repeat-x calc(50% - 83px) top/auto 111px;
  }
  .ropeText {
    height: 37.37px;
  }
  .ropeText::before {
    content: "";
    display: block;
    background: url(../img/top/text_rope-sp.svg) repeat-x center;
    animation: scrollAddressX 20s linear infinite;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10;
    background-position: top;
    width: 100%;
    height: 100%;
    transform: rotate(0deg);
  }
}
/**********************************************************

pageLeadArea

***********************************************************/
.pageLeadArea {
  padding-top: 32px;
  padding-bottom: 32px;
}

.pageLead__title {
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}

.pageLead__titleMain {
  font-size: clamp(28px, 28px + 6 * (100vw - 768px) / 512, 34px);
  line-height: 1.6470588235;
  font-weight: bold;
}

.pageLead__titleImg {
  display: inline;
  margin: 0 -5px;
  position: relative;
  top: -5px;
  left: 0;
}

@media screen and (max-width: 768px) {
  .pageLeadArea {
    padding-top: 29px;
    padding-bottom: 29px;
  }
  .pageLead__titleMain {
    font-size: 24px;
    line-height: 1.5;
  }
}
.pageLeadWrap {
  padding: 0 clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px);
}

.pageLead__textBox {
  margin-top: 54px;
}

.pageLead__text {
  font-size: 16px;
  line-height: 1.7;
}

@media screen and (max-width: 768px) {
  .pageLeadWrap {
    padding: 0 15px;
  }
  .pageLead__textBox {
    margin-top: 33px;
  }
  .pageLead__text {
    font-size: 14px;
  }
}
/**********************************************************

pageLinksArea

***********************************************************/
.subGourmet .commonLabel {
  color: #fff;
  background-color: #EF4537;
}
.subGourmet .timeLabelListTitle {
  color: #EF4537;
  border: 1px solid #EF4537;
}

.subActivity .commonLabel {
  color: #fff;
  background-color: #379AEF;
}
.subActivity .timeLabelListTitle {
  color: #379AEF;
  border: 1px solid #379AEF;
}

.subShopping .commonLabel {
  color: #fff;
  background-color: #EFB637;
}
.subShopping .timeLabelListTitle {
  color: #EFB637;
  border: 1px solid #EFB637;
}

.pageLinksArea {
  padding-top: 72px;
}

.pageLinksBox {
  padding-bottom: 59px;
  border-bottom: 1px solid #D3D3D3;
}
.pageLinksBox + .pageLinksBox {
  margin-top: 53px;
}
.pageLinksBox:last-of-type {
  padding-bottom: 0;
  border-bottom: none;
}

.pageLinks__title {
  display: flex;
  align-items: center;
  gap: 15px;
}

.commonLabel {
  font-size: 19px;
  line-height: 1;
  padding: 5px 13px 7px;
}

.pageLinks__titleMain {
  font-size: clamp(22px, 22px + 6 * (100vw - 768px) / 512, 28px);
  font-weight: bold;
  line-height: 2;
}

.pageLinksCard {
  display: flex;
  align-items: flex-start;
  gap: clamp(30px, 30px + 20 * (100vw - 768px) / 512, 50px);
  margin-top: 31px;
}

.pageLinks__imgBox {
  flex: 1 1 450px;
  width: 100%;
  max-width: 450px;
}

.pageLinks__img {
  width: 100%;
  height: auto;
}

.pageLinks__textBox {
  display: flex;
  flex-direction: column;
  gap: 37px;
  flex: 1 1 540px;
  width: 100%;
  max-width: 540px;
}

.pageLinks__text {
  font-size: 16px;
  line-height: 1.6;
}

.timeLabelList {
  display: flex;
  align-items: flex-start;
  gap: 15px;
}
.timeLabelList + .timeLabelList {
  margin-top: 10px;
}

.timeLabelListTitle {
  display: inline-block;
  font-size: 15px;
  line-height: 1;
  padding: 5px 9px 6px;
  vertical-align: top;
}

.timeLabelListDetail {
  font-size: 15px;
  line-height: 1;
  margin-top: 5px;
}

.timeLabelListDetailItem {
  display: block;
}
.timeLabelListDetailItem + .timeLabelListDetailItem {
  margin-top: 10px;
}

.pageLinksBtn {
  align-self: flex-end;
  margin-top: -2px;
}

@media screen and (max-width: 768px) {
  .pageLinksArea {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .pageLinksWrap {
    padding: 0 15px;
  }
  .pageLinksBox + .pageLinksBox {
    margin-top: 62px;
  }
  .pageLinks__title {
    align-items: flex-start;
    gap: 11px;
  }
  .commonLabel {
    font-size: 16px;
    padding: 4px 10px 5px;
  }
  .pageLinks__titleMain {
    font-size: 20px;
    line-height: 1.5;
    margin-top: -2px;
  }
  .pageLinksCard {
    flex-direction: column;
    gap: 29px;
    margin-top: 24px;
  }
  .pageLinks__imgBox {
    flex: 1 1 100%;
    max-width: 100%;
  }
  .pageLinks__textBox {
    flex: 1 1 100%;
    max-width: 100%;
    gap: 24px;
  }
  .pageLinks__text {
    font-size: 14px;
    line-height: 1.6;
  }
  .timeLabelListTitle {
    font-size: 14px;
    padding: 5px 8px 6px;
  }
  .timeLabelListDetail {
    font-size: 14px;
  }
  .pageLinksBtn {
    font-size: 16px;
    line-height: 1.5625;
    margin-top: 6px;
    margin-right: 5px;
  }
  .pageLinksBtn .c-btn__text {
    padding-bottom: 7.5px;
    min-width: 112px;
  }
  .pageLinksBtn .c-btn__circle {
    width: 30px;
    height: 30px;
    transform: translateY(0);
  }
  .timeLabelListDetailItem + .timeLabelListDetailItem {
    margin-top: 9px;
  }
}
/**********************************************************

otherArea

***********************************************************/
.otherArea {
  padding-top: 138px;
  padding-bottom: 56px;
}

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

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

.otherListItem {
  width: calc((100% - clamp(15px, 15px + 13 * (100vw - 768px) / 512, 28px) * 2) / 3);
}

.otherListItem__link {
  display: block;
  width: 100%;
  height: 100%;
}
.otherListItem__link:hover {
  opacity: 1;
}
.otherListItem__link:hover .otherListItem__imgBox--mark {
  transform: scale(1.1);
}
.otherListItem__link:hover .c-btn__text::before {
  transform: scaleX(0);
}
.otherListItem__link:hover .c-btn__circle {
  transform: scale(1.1333);
}

.otherListItem__imgBox {
  width: 100%;
}

.otherListItem__img {
  width: 100%;
  height: auto;
}

.otherListItem__imgBox--mark {
  width: 100%;
  max-width: clamp(100px, 13.28125vw, 170px);
  transition: transform 0.3s ease;
}

.otherListItem__markBox {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 38px;
  margin-top: -64px;
}

.otherListItem__img--mark {
  height: auto;
}

@media screen and (max-width: 768px) {
  .otherArea {
    padding-top: 82px;
    padding-bottom: 40px;
  }
  .otherWrap {
    padding: 0 15px;
    margin-top: 37px;
  }
  .otherList {
    flex-direction: column;
    gap: 24px;
  }
  .otherListItem {
    width: 100%;
  }
  .otherListItem:nth-child(even) .otherListItem__link {
    flex-direction: row-reverse;
  }
  .otherListItem__link {
    display: flex;
    align-items: center;
    gap: 25px;
  }
  .otherListItem__imgBox {
    max-width: 55.7333333333vw;
  }
  .otherListItem__imgBox--mark {
    max-width: 21.728vw;
  }
  .otherListItem__markBox {
    margin-top: 0;
    gap: 27px;
  }
}
@media screen and (max-width: 768px) and (max-width: 374px) {
  .otherArea .otherBtn {
    font-size: 3.7333333333vw;
  }
  .otherArea .otherBtn .c-btn__circle {
    width: 6.4vw;
    height: 6.4vw;
  }
  .otherArea .otherBtn .c-btn__circle::before {
    width: 1.8666666667vw;
    height: 3.2vw;
  }
  .otherArea .otherBtn .c-btn__text {
    min-width: 26.1333333333vw;
  }
}
/**********************************************************

ropeLine

***********************************************************/
.ropeLine {
  position: relative;
}
.ropeLine::after {
  content: "";
  width: 100%;
  height: 20px;
  position: absolute;
  bottom: 0;
  left: 0;
  left: 0;
  background: url(../img/common/img_rope-straight.png) no-repeat bottom/cover;
}
.ropeLine.--whiteColor::after {
  background: url(../img/common/img_rope-straight-white.png) no-repeat bottom/cover;
}

@media screen and (max-width: 768px) {
  .ropeLine::after {
    height: 4.3306666667vw;
    background: url(../img/common/img_rope-straight-sp.png) no-repeat bottom/cover;
  }
  .ropeLine.--whiteColor::after {
    background: url(../img/common/img_rope-straight-white-sp.png) no-repeat bottom/cover;
  }
}
/**********************************************************

bubbleNumber

***********************************************************/
.bubbleNumber {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  text-align: center;
  color: #379AEF;
  font-size: 18px;
  line-height: 1;
  font-family: "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  background-color: #FFFF00;
  border-radius: 50%;
  width: 46px;
  height: 46px;
  margin-top: 5px;
  position: relative;
}
.bubbleNumber::after {
  content: "";
  width: 13px;
  height: 12px;
  position: absolute;
  bottom: -1px;
  right: -2px;
  background-color: #FFFF00;
  mask-image: url(../img/common/ico_fukidasiTriangle-yellow.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(../img/common/ico_fukidasiTriangle-yellow.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
}
.bubbleNumber.--green {
  color: #fff;
  background-color: #3CA4BC;
}
.bubbleNumber.--green::after {
  background-color: #3CA4BC;
}

/**********************************************************

aboutArea

***********************************************************/
.aboutArea {
  padding-top: 29px;
  padding-bottom: 173px;
  overflow-x: clip;
}

.subGourmet .leftTitle,
.subActivity .leftTitle,
.subShopping .leftTitle,
.subModel-course .leftTitle,
.subInformation .leftTitle {
  text-align: left;
  margin: 0;
  padding-top: 0;
}

.aboutBox {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 125px;
  position: relative;
  padding: 0 clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px);
}

.shopAboutBox {
  flex: 1 1 680px;
  width: 100%;
  max-width: 680px;
  margin-top: 8px;
}

.shopAboutList {
  display: flex;
  gap: clamp(20px, 20px + 10 * (100vw - 768px) / 512, 30px);
  font-size: 16px;
  line-height: 1.5;
  border-top: 1px solid #d3d3d3;
  width: 100%;
  padding: 10px 0 7px;
}
.shopAboutList:last-of-type {
  border-bottom: 1px solid #d3d3d3;
}

.shopAboutList__title {
  min-width: 5em;
}

.about__imgBox {
  width: 100%;
  max-width: clamp(220px, 220px + 264 * (100vw - 768px) / 512, 484px);
  position: absolute;
  top: 33%;
  left: clamp(-102px, -7.96875vw, -61px);
}

.about__img {
  width: 100%;
  height: auto;
}

.shopAboutTextBox {
  margin-top: 50px;
}

@media screen and (max-width: 768px) {
  .aboutArea {
    padding-top: 18px;
    padding-bottom: 113px;
  }
  .aboutBox {
    flex-direction: column;
    gap: 18px;
    padding: 0 15px;
  }
  .shopAboutBox {
    flex: 1 1 100%;
    max-width: 100%;
    margin-top: 6px;
  }
  .about__imgBox {
    max-width: 182px;
    top: -2.9%;
    left: auto;
    right: 0;
  }
  .shopAboutList {
    gap: 20px;
    font-size: 14px;
    line-height: 1.5;
    padding: 9px 0;
  }
  .shopAboutTextBox {
    margin-top: 18px;
  }
}
@media screen and (max-width: 374px) {
  .about__imgBox {
    max-width: 48.5333333333vw;
    top: -5.3333333333vw;
  }
}
/*** aboutSlide ***/
.aboutSlide {
  display: flex;
  align-items: center;
  width: 100vw;
  margin: 58px calc(50% - 50vw) 0;
  overflow: hidden;
}

.aboutSlideItem {
  max-width: 300px;
  aspect-ratio: 300/200;
  margin: 0 5px;
  overflow: hidden;
}

.aboutSlideItem__img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 768px) {
  .aboutSlide {
    margin: 48px calc(50% - 50vw) 0;
  }
  .aboutSlideItem {
    max-width: 200px;
  }
}
/**********************************************************

gourmetMenuArea

***********************************************************/
.gourmetMenuArea {
  padding-top: 86px;
  padding-bottom: 100px;
  background-color: #fff;
  position: relative;
}
.gourmetMenuArea::before {
  content: "";
  display: block;
  position: absolute;
  top: -2.578125vw;
  left: 0;
  width: 100vw;
  height: 2.65625vw;
  background: url(../img/common/img_wave-white-reverse.png) no-repeat bottom/cover;
}
.gourmetMenuArea::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -2.578125vw;
  left: 0;
  width: 100vw;
  height: 2.65625vw;
  background: url(../img/common/img_wave-white-reverse.png) no-repeat bottom/cover;
  transform: scaleY(-1);
}

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

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

.gourmetMenuListItem {
  display: flex;
  align-items: flex-start;
  gap: clamp(15px, 15px + 15 * (100vw - 768px) / 512, 30px);
  max-width: 495px;
  width: calc((100% - clamp(30px, 30px + 20 * (100vw - 768px) / 512, 50px)) / 2);
}

.gourmetMenuListItem__imgBox {
  flex: 1 1 230px;
  width: 100%;
  max-width: 230px;
}

.gourmetMenuListItem__img {
  width: 100%;
  height: auto;
}

.gourmetMenuListItem__textBox {
  flex: 1 1 235px;
  width: 100%;
  max-width: 235px;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.5;
}

.underLineWrap {
  font-size: 20px;
  line-height: 1.5;
  font-weight: bold;
  padding-bottom: 16.5px;
  border-bottom: 1px solid #d3d3d3;
  position: relative;
}
.underLineWrap::before {
  content: "";
  background-color: #EF4537;
  width: 22.7%;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: -1px;
}

.gourmetMenuListItem__planDetail {
  margin-top: 16.5px;
  font-size: 15px;
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .gourmetMenuArea {
    padding-top: 60px;
  }
  .gourmetMenuArea::before {
    top: -3.7333333333vw;
    height: 4vw;
    background: url(../img/common/img_wave-white-reverse-sp.png) no-repeat bottom/cover;
  }
  .gourmetMenuArea::after {
    bottom: -3.7333333333vw;
    height: 4vw;
    background: url(../img/common/img_wave-white-reverse-sp.png) no-repeat bottom/cover;
  }
  .gourmetMenuWrap {
    padding: 0 15px 75px;
    margin-top: 42px;
  }
  .gourmetMenuList {
    gap: 30px 15px;
  }
  .gourmetMenuListItem {
    flex-direction: column;
    gap: 20px;
    max-width: none;
    width: calc((100% - 15px) / 2);
  }
  .gourmetMenuListItem__imgBox {
    flex: 1 1 100%;
    max-width: 100%;
  }
  .gourmetMenuListItem__textBox {
    flex: 1 1 100%;
    max-width: 100%;
  }
  .gourmetMenuListItem__planDetail {
    font-size: 14px;
    margin-top: 13px;
  }
  .underLineWrap {
    font-size: 16px;
    padding-bottom: 14px;
  }
  .underLineWrap::before {
    width: 34.3%;
  }
}
.gourmetMenuSabBox {
  padding-top: 87px;
}

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

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

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

.gourmetMenuListSabItem__imgBox {
  width: 100%;
}

.gourmetMenuListSabItem__img {
  width: 100%;
  height: auto;
}

.gourmetMenuListSabItem__textBox {
  font-size: clamp(17px, 17px + 3 * (100vw - 768px) / 512, 20px);
  font-weight: bold;
  line-height: 1.5;
  margin-top: 11px;
}

.gourmetMenuBtnBox {
  width: -moz-fit-content;
  width: fit-content;
  margin: 82px auto 0;
}

@media screen and (max-width: 768px) {
  .gourmetMenuArea {
    padding-bottom: 80px;
  }
  .gourmetMenuSabBox {
    padding-top: 58px;
  }
  .gourmetMenuSabWrap {
    padding: 0 15px;
    margin-top: 37px;
  }
  .gourmetMenuListSab {
    flex-wrap: wrap;
    gap: 30px 15px;
  }
  .gourmetMenuListSabItem {
    max-width: none;
    width: calc((100% - 15px) / 2);
  }
  .gourmetMenuListSabItem__textBox {
    margin-top: 20px;
  }
  .gourmetMenuBtnBox {
    margin-top: 48px;
  }
}
/**********************************************************

bbq

***********************************************************/
@media screen and (max-width: 768px) {
  .subBbq .c-kvTitle {
    top: 32.4%;
  }
}
/**********************************************************

aboutArea activity

***********************************************************/
.subActivity .aboutArea {
  padding-bottom: 128px;
}
.subActivity .aboutArea .about__imgBox {
  z-index: 1;
  max-width: clamp(291px, 291px + 165 * (100vw - 768px) / 512, 456px);
  top: 54.8%;
  left: clamp(-74px, -5.78125vw, -44px);
}
.subActivity .shopAboutBox {
  margin-top: 6px;
}
.subActivity .shopAboutTextBox {
  margin-top: 45px;
}
.subActivity .c-secTtl--ja {
  min-width: 10em;
}

@media screen and (max-width: 768px) {
  .subActivity .aboutArea {
    padding-bottom: 89px;
  }
  .subActivity .aboutArea .about__imgBox {
    max-width: 213px;
    top: -18%;
    left: auto;
    right: -35px;
  }
  .subActivity .shopAboutBox {
    margin-top: 13px;
  }
  .subActivity .shopAboutTextBox {
    margin-top: 24px;
  }
}
@media screen and (max-width: 374px) {
  .subActivity .aboutArea .about__imgBox {
    max-width: 56.8vw;
    top: -17.1875vw;
  }
}
/**********************************************************

featureArea

***********************************************************/
.featureArea {
  padding-top: 121px;
  padding-bottom: 173px;
}
.featureArea::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 2.109375vw;
  background: url(../img/common/img_wave-gray.png) no-repeat bottom/cover;
  transform: scaleY(-1);
}

.add-bg {
  background-color: #379AEF;
  position: relative;
  z-index: 0;
}
.add-bg::before {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../img/activity/bg_fun.jpg);
  background-size: 1280px auto;
  background-repeat: repeat;
  background-position: left center;
  mix-blend-mode: color-burn;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.2;
  pointer-events: none;
  z-index: -1;
}

@media screen and (max-width: 768px) {
  .featureArea {
    padding-top: 80px;
    padding-bottom: 103px;
  }
  .featureArea::after {
    height: 3.7333333333vw;
    background: url(../img/common/img_wave-gray-sp.png) no-repeat bottom/cover;
    transform: scaleY(-1);
  }
  .add-bg::before {
    background-position: top left;
  }
}
.featureWrap {
  padding: 0 clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px);
}

.featureBox {
  margin-top: 67px;
}

.featureList {
  display: flex;
  flex-wrap: wrap;
  gap: 55px clamp(30px, 30px + 26 * (100vw - 768px) / 512, 56px);
}

.featureListItem {
  max-width: 309px;
  width: calc((100% - clamp(30px, 30px + 26 * (100vw - 768px) / 512, 56px) * 2) / 3);
  color: #fff;
}

.featureListItem__title {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding-bottom: 29px;
  position: relative;
}
.featureListItem__title::after {
  content: "";
  display: block;
  width: 100%;
  height: 10px;
  background-image: url(../img/common/img_slash.svg);
  background-repeat: no-repeat;
  background-size: auto;
  background-position: top left -26px;
  position: absolute;
  bottom: 0;
  left: 0;
}

.featureListItem__title--main {
  display: flex;
  align-items: center;
  font-size: clamp(18px, 18px + 2 * (100vw - 768px) / 512, 20px);
  line-height: 1.5;
  font-weight: bold;
  min-height: 60px;
}

.featureListItem__textBox {
  margin-top: 27px;
}

@media screen and (max-width: 768px) {
  .featureWrap {
    padding: 0 15px;
  }
  .featureBox {
    margin-top: 50px;
  }
  .subFunDiving .featureBox {
    margin-top: 47px;
  }
  .featureList {
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 42px;
  }
  .featureListItem {
    max-width: none;
    width: 100%;
  }
  .featureListItem__title {
    padding-bottom: 26px;
  }
  .featureListItem__textBox {
    margin-top: 20px;
  }
}
/*** featureSlide ***/
.featureSlide {
  display: flex;
  align-items: center;
  width: 100vw;
  margin: 80px calc(50% - 50vw) 0;
  overflow: hidden;
}

.featureSlideItem {
  max-width: 300px;
  aspect-ratio: 300/200;
  margin: 0 5px;
  overflow: hidden;
}

.featureSlideItem__img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 768px) {
  .featureSlide {
    margin: 60px calc(50% - 50vw) 0;
  }
  .featureSlideItem {
    max-width: 200px;
  }
}
/**********************************************************

activityMenuArea

***********************************************************/
.activityMenuArea {
  padding-top: 87px;
  padding-bottom: 107px;
  background-color: #fff;
  position: relative;
}
.activityMenuArea::before {
  content: "";
  display: block;
  position: absolute;
  top: -2.578125vw;
  left: 0;
  width: 100vw;
  height: 2.65625vw;
  background: url(../img/common/img_wave-white-reverse.png) no-repeat bottom/cover;
}
.activityMenuArea::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -2.578125vw;
  left: 0;
  width: 100vw;
  height: 2.65625vw;
  background: url(../img/common/img_wave-white-reverse.png) no-repeat bottom/cover;
  transform: scaleY(-1);
}

@media screen and (max-width: 768px) {
  .activityMenuArea {
    padding-top: 61px;
    padding-bottom: 80px;
  }
  .activityMenuArea::before {
    top: -3.7333333333vw;
    height: 4vw;
    background: url(../img/common/img_wave-white-reverse-sp.png) no-repeat bottom/cover;
  }
  .activityMenuArea::after {
    bottom: -3.7333333333vw;
    height: 4vw;
    background: url(../img/common/img_wave-white-reverse-sp.png) no-repeat bottom/cover;
  }
}
.activityMenuWrap {
  padding: 0 clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px);
  margin-top: 82px;
}

.activityMenuList {
  display: flex;
  gap: clamp(20px, 20px + 28 * (100vw - 768px) / 512, 48px);
}

.activityMenuListItem {
  width: calc((100% - clamp(20px, 20px + 28 * (100vw - 768px) / 512, 48px)) / 2);
}

.activityMenuPriceList {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 5px 30px;
  position: relative;
}
.activityMenuPriceList + .activityMenuPriceList {
  margin-top: 24px;
}
.activityMenuPriceList::before {
  width: 10.5%;
}

.activityMenuPriceList__title {
  min-width: 6em;
}

.activityMenuPriceList__detail {
  min-width: 3em;
  margin-left: auto;
}

.activityMenuNotice {
  margin-top: 29px;
}

.noticeText {
  font-size: 15px;
  line-height: 1.5;
  text-indent: -1em;
  padding-left: 1em;
}

.activityMenuContentsList {
  display: flex;
  gap: 30px;
  border-top: 1px solid #d3d3d3;
  padding: 8px 0 7.5px;
}
.activityMenuContentsList:last-of-type {
  border-bottom: 1px solid #d3d3d3;
}

.activityMenuContentsList__title {
  min-width: 6em;
}

.activityMenuContentsList__detail {
  display: block;
  font-size: 16px;
  line-height: 1.67;
  font-weight: 500;
}

.activityMenuBtn {
  margin-top: 79px;
}

@media screen and (max-width: 768px) {
  .activityMenuWrap {
    padding: 0 15px;
    margin-top: 43px;
  }
  .activityMenuList {
    flex-direction: column;
    gap: 59px;
  }
  .activityMenuListItem {
    width: 100%;
  }
  .activityMenuPriceList {
    padding-bottom: 13px;
  }
  .activityMenuPriceList::before {
    width: 16.5%;
  }
  .activityMenuPriceList + .activityMenuPriceList {
    margin-top: 14px;
  }
  .activityMenuContentsList {
    font-size: 14px;
    gap: 20px;
    padding: 8px 0 10px;
  }
  .activityMenuContentsList__detail {
    font-size: 14px;
    line-height: 1.5;
  }
  .activityMenuNotice {
    margin-top: 36px;
  }
  .noticeText {
    font-size: 14px;
  }
  .activityMenuBtn {
    margin-top: 60px;
  }
}
/**********************************************************

diveSiteArea

***********************************************************/
.diveSiteArea {
  padding-top: 164px;
  padding-bottom: 30px;
  position: relative;
}

.diveSiteWrap {
  padding: 0 clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px) 160px;
}
.diveSiteWrap .c-secTitle {
  flex-shrink: 0;
}

.flexTitleBox {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.titleTextBox {
  align-self: flex-end;
  margin-bottom: 2px;
}

.titleText {
  font-size: clamp(14px, 14px + 2 * (100vw - 768px) / 512, 16px);
  line-height: 1.5;
  text-align: left;
}

.diveSiteBox {
  margin-top: 69px;
}
.diveSiteBox + .diveSiteBox {
  margin-top: 80px;
}

.diveSiteTitle {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  line-height: 1.75;
  color: #379AEF;
  font-weight: bold;
  background-color: #fff;
  padding: 4px 10px 6px;
  width: 100%;
}

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

.diveSiteListItem {
  display: flex;
  gap: clamp(15px, 15px + 15 * (100vw - 768px) / 512, 30px);
  width: calc((100% - clamp(20px, 20px + 20 * (100vw - 768px) / 512, 40px)) / 2);
}

.diveSiteListItem__imgBox {
  flex: 1 1 200px;
  width: 100%;
  max-width: 200px;
}

.diveSiteListItem__img {
  width: 100%;
  height: auto;
}

.diveSiteListItem__textBox {
  flex: 1 1 270px;
  width: 100%;
  max-width: 270px;
}

.diveSiteListItem__textPlace {
  font-size: clamp(16px, 16px + 2 * (100vw - 768px) / 512, 18px);
  line-height: 1.3888888889;
  color: #379AEF;
  font-weight: bold;
}

.diveSiteListItem__textDetail {
  font-size: clamp(14px, 14px + 1 * (100vw - 768px) / 512, 15px);
  line-height: 1.5;
  margin-top: 20px;
}

.diveSiteNotice {
  width: -moz-fit-content;
  width: fit-content;
  margin: 58px auto 0;
}

@media screen and (max-width: 768px) {
  .diveSiteArea {
    padding-top: 110px;
  }
  .flexTitleBox {
    flex-direction: column;
    align-items: center;
    gap: 0;
  }
  .diveSiteWrap {
    padding: 0 15px 117px;
  }
  .diveSiteWrap .c-secTitle {
    text-align: center;
  }
  .titleTextBox {
    align-self: auto;
    margin-top: 40px;
  }
  .titleText {
    font-size: 14px;
    line-height: 1.7;
  }
  .diveSiteBox {
    margin-top: 47px;
  }
  .diveSiteBox + .diveSiteBox {
    margin-top: 60px;
  }
  .diveSiteTitle {
    font-size: 18px;
    padding: 7.5px 10px 9px;
  }
  .diveSiteList {
    gap: 30px 15px;
    margin-top: 30px;
  }
  .diveSiteListItem {
    flex-direction: column;
    width: calc((100% - 15px) / 2);
  }
  .diveSiteListItem__imgBox {
    flex: 0 0 auto;
    max-width: 100%;
  }
  .diveSiteListItem__textBox {
    flex: 1 1 100%;
    max-width: 100%;
  }
  .diveSiteListItem__textDetail {
    margin-top: 9px;
  }
  .diveSiteNotice {
    margin-top: 35px;
  }
}
/**********************************************************

diveSiteArea

***********************************************************/
.scheduleArea {
  padding-top: 22px;
}

.scheduleWrap {
  margin-top: 68px;
}

.scheduleList {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(22px, 22px + 22 * (100vw - 768px) / 512, 44px) clamp(20px, 20px + 20 * (100vw - 768px) / 512, 40px);
}

.scheduleListItem {
  background-color: #fff;
  width: calc((100% - clamp(20px, 20px + 20 * (100vw - 768px) / 512, 40px)) / 2);
  padding: 33px clamp(30px, 30px + 10 * (100vw - 768px) / 512, 40px) 30px;
  position: relative;
}

.scheduleRecommend {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #379AEF;
  font-size: clamp(8px, 8px + 5 * (100vw - 768px) / 512, 13px);
  line-height: 1.5384615385;
  font-weight: bold;
  background-color: #ffff00;
  width: clamp(60px, 60px + 41 * (100vw - 768px) / 512, 101px);
  height: clamp(60px, 60px + 41 * (100vw - 768px) / 512, 101px);
  border-radius: 50%;
  position: absolute;
  top: clamp(-23px, -23px + 12 * (100vw - 768px) / 512, -11px);
  right: -11px;
}

.schedulePlanNameBox {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: clamp(15px, 15px + 1 * (100vw - 768px) / 512, 16px);
}

.schedulePlanName__time {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  line-height: 1.5;
  color: #fff;
  padding: 2px 8px 3px;
  background-color: #379AEF;
}

.schedulePlanName {
  font-weight: bold;
  line-height: 1.5625;
  color: #379AEF;
}

.scheduleBox {
  margin-top: 20px;
}

.scheduleMainList {
  display: flex;
  gap: 16px;
  padding-bottom: 9px;
  border-bottom: 1px solid #d3d3d3;
  line-height: 1.5;
}
.scheduleMainList + .scheduleMainList {
  align-items: baseline;
  margin-top: 9px;
}
.scheduleMainList:last-of-type {
  padding-bottom: 0;
  border-bottom: none;
}

.scheduleMain__time {
  font-size: 18px;
  font-weight: bold;
  min-width: 1.5em;
}

.scheduleMain__detail {
  font-size: 16px;
}

.scheduleNotice {
  width: -moz-fit-content;
  width: fit-content;
  margin: 59px auto 0;
}
.scheduleNotice .scheduleNotice_text {
  display: block;
}

@media screen and (max-width: 768px) {
  .scheduleArea {
    padding-top: 4px;
    padding-bottom: 35px;
  }
  .scheduleWrap {
    margin-top: 52px;
  }
  .scheduleList {
    flex-direction: column;
    gap: 20px;
  }
  .scheduleListItem {
    width: 100%;
    padding: 30px 15px;
  }
  .schedulePlanName__time {
    font-size: 14px;
  }
  .schedulePlanName {
    font-size: 15px;
  }
  .scheduleMainList {
    padding-bottom: 4px;
  }
  .scheduleMainList + .scheduleMainList {
    margin-top: 9px;
  }
  .scheduleMain__time {
    font-size: 16px;
  }
  .scheduleMain__detail {
    font-size: 14px;
    line-height: 1.5;
  }
  .scheduleRecommend {
    line-height: 1.5384615385;
    font-size: 13px;
    position: static;
    width: auto;
    height: auto;
    border-radius: 0;
    padding: 6px 5px;
    margin-bottom: 14px;
  }
  .scheduleNotice {
    margin-top: 29px;
    padding-left: calc(1em + 15px);
    padding-right: 15px;
  }
  .scheduleNotice_text + .scheduleNotice_text {
    margin-top: 11px;
  }
}
/**********************************************************

otherArea

***********************************************************/
.subFunDiving .otherArea {
  padding-top: 105px;
}

/**********************************************************

activityMenuBtn

***********************************************************/
.subFunDiving .activityMenuBtnBOX .activityMenuBtn {
  margin-top: 5px;
}

.trialLinkArea {
  padding-top: 32px;
  padding-bottom: 32px;
}

.trialLinkWrap {
  padding: 0 clamp(15px, 15px + 45 * (100vw - 768px) / 512, 60px);
}

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

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

.trialLinkListItem__link {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  position: relative;
}

.trialLinkListItem__linkImgBox {
  width: 100%;
  overflow: hidden;
}

.trialLinkListItem__linkImg {
  width: 100%;
  height: auto;
}

.trialLinkListItem__linkText {
  font-size: 22px;
  font-weight: bold;
  line-height: 2.5909090909;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding-right: 35px;
  white-space: nowrap;
}
.trialLinkListItem__linkText::before {
  content: "";
  display: block;
  background: url(../img/common/ico_arrow-circle-blue.svg) no-repeat center/contain;
  width: 25px;
  height: 25px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%) rotate(90deg);
}

@media screen and (max-width: 768px) {
  .trialLinkArea {
    padding-top: 24px;
    padding-bottom: 24px;
  }
  .trialLinkList {
    flex-direction: column;
    align-items: center;
    gap: 15px;
  }
  .trialLinkListItem {
    width: 100%;
    min-height: 113px;
    max-width: 500px;
  }
  .trialLinkListItem__link {
    min-height: 113px;
  }
  .trialLinkListItem__linkImgBox {
    min-height: 113px;
  }
  .trialLinkListItem__linkText {
    font-size: clamp(0px, 4.8vw, 26px);
    line-height: 2.6111111111;
    padding-right: clamp(0px, 9.3333333333vw, 51px);
  }
  .trialLinkListItem__linkText::before {
    width: clamp(0px, 5.6666666667vw, 31px);
    height: clamp(0px, 5.6666666667vw, 31px);
  }
}
@media screen and (max-width: 374px) {
  .trialLinkListItem,
  .trialLinkListItem__link,
  .trialLinkListItem__linkImgBox {
    min-height: 30.1333333333px;
  }
}
.titleImgArea {
  padding-top: 108px;
  padding-bottom: 25px;
}
.titleImgArea .c-secTitle {
  margin-top: -13px;
}
.titleImgArea .c-secTitle .c-secTtl--en {
  font-family: "Zen Kaku Gothic New", sans-serif;
}

.titleImgBox {
  position: relative;
}
.titleImgBox::after {
  content: "";
  display: block;
  background: url(../img/common/ico_half-circle.svg) no-repeat center/contain;
  width: clamp(230.64px, 230.64px + 58 * (100vw - 768px) / 512, 288.64px);
  height: clamp(55px, 55px + 16 * (100vw - 768px) / 512, 71px);
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
}

.titleImg {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 768px) {
  .titleImgArea {
    padding-top: 55px;
  }
  .titleImgArea .c-secTitle {
    margin-top: -1px;
  }
  .titleImgArea .c-secTitle .c-secTtl--en {
    font-family: "Zen Kaku Gothic New", sans-serif;
  }
  .titleImgBox::after {
    background: url(../img/common/ico_half-circle-sp.svg) no-repeat center/contain;
    width: 150px;
    height: 36px;
  }
}
/**********************************************************

aboutArea trial

***********************************************************/
.subTrialActivity .aboutArea {
  padding-bottom: 130px;
}
.subTrialActivity .aboutArea .about__imgBox {
  z-index: 1;
  max-width: clamp(290px, 290px + 193 * (100vw - 768px) / 512, 483px);
  top: 41.8%;
  left: clamp(-74px, -5.78125vw, -44px);
}
.subTrialActivity .aboutArea.snorkeling {
  padding-bottom: 170px;
}
.subTrialActivity .aboutArea.snorkeling .about__imgBox {
  z-index: 1;
  max-width: clamp(222px, 222px + 148 * (100vw - 768px) / 512, 370px);
  top: 40.8%;
  left: 0;
  border-radius: 160px;
  overflow: hidden;
}
.subTrialActivity .shopAboutBox {
  margin-top: 6px;
}
.subTrialActivity .shopAboutTextBox {
  margin-top: 45px;
}
.subTrialActivity .c-secTtl--ja {
  min-width: 10em;
}

@media screen and (max-width: 768px) {
  .subTrialActivity .aboutArea {
    padding-top: 26px;
    padding-bottom: 90px;
  }
  .subTrialActivity .aboutArea .about__imgBox {
    max-width: 180px;
    top: -11%;
    left: auto;
    right: -8px;
  }
  .subTrialActivity .aboutArea.snorkeling {
    padding-bottom: 97px;
  }
  .subTrialActivity .aboutArea.snorkeling .about__imgBox {
    position: static;
    max-width: clamp(285px, 76vw, 438px);
    margin: 10px auto 0;
  }
  .subTrialActivity .shopAboutBox {
    margin-top: 13px;
  }
  .subTrialActivity .shopAboutTextBox {
    margin-top: 24px;
  }
}
@media screen and (max-width: 374px) {
  .subTrialActivity .aboutArea .about__imgBox {
    max-width: 48vw;
    top: -12.2666666667vw;
  }
}
/**********************************************************

featureArea trial

***********************************************************/
.subTrialActivity .featureArea {
  padding-top: 131px;
}
.subTrialActivity .featureBox {
  margin-top: 62px;
}
.subTrialActivity .featureList {
  display: block;
}
.subTrialActivity .featureListItem {
  display: flex;
  gap: clamp(30px, 30px + 20 * (100vw - 768px) / 512, 50px);
  max-width: none;
  width: 100%;
}
.subTrialActivity .featureListItem:nth-child(even) {
  flex-direction: row-reverse;
}
.subTrialActivity .featureListItem:nth-child(even) .featureListItem__textWrap {
  margin-top: 32px;
}
.subTrialActivity .featureListItem:nth-child(n+2) {
  margin-top: 60px;
}
.subTrialActivity .featureListItem__ImgBox {
  flex: 1 1 450px;
  width: 100%;
  max-width: 450px;
}
.subTrialActivity .featureListItem__Img {
  width: 100%;
  height: auto;
}
.subTrialActivity .featureListItem__textWrap {
  flex: 1 1 539px;
  width: 100%;
  max-width: 539px;
  margin-top: 17px;
}

@media screen and (max-width: 768px) {
  .subTrialActivity .featureArea {
    padding-top: 80px;
  }
  .subTrialActivity .featureBox {
    margin-top: 49px;
  }
  .subTrialActivity .featureListItem {
    flex-direction: column;
    gap: 15px;
  }
  .subTrialActivity .featureListItem:nth-child(even) {
    flex-direction: column;
    margin-top: 45px;
  }
  .subTrialActivity .featureListItem:nth-child(even) .featureListItem__textWrap {
    margin-top: 0;
  }
  .subTrialActivity .featureListItem__ImgBox {
    flex: 1 1 100%;
    max-width: 100%;
  }
  .subTrialActivity .featureListItem__textWrap {
    flex: 1 1 100%;
    max-width: 100%;
    margin-top: 0;
  }
}
/**********************************************************

scheduleArea trial

***********************************************************/
.subTrialActivity .scheduleArea {
  padding-top: 86px;
  padding-bottom: 30px;
}
.subTrialActivity .scheduleWrap {
  margin-top: 67px;
}
.subTrialActivity .scheduleMainList {
  padding-bottom: 7px;
}
.subTrialActivity .scheduleNotice {
  margin: 60px auto 0;
}

.scheduleContainer {
  display: flex;
  justify-content: center;
  gap: clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px);
}

.schedule__ImgBox {
  flex: 1 1 480px;
  width: 100%;
  max-width: 480px;
}

.schedule__card {
  flex: 1 1 500px;
  width: 100%;
  max-width: 500px;
  background-color: #fff;
  padding: 35px clamp(20px, 20px + 20 * (100vw - 768px) / 512, 40px) 30px;
}

.schedule__Img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 768px) {
  .subTrialActivity .scheduleArea {
    padding-top: 50px;
  }
  .subTrialActivity .scheduleWrap {
    margin-top: 42px;
  }
  .subTrialActivity .scheduleNotice {
    margin-top: 35px;
  }
  .subTrialActivity .c-kvTitle {
    top: 37.45%;
  }
  .scheduleContainer {
    flex-direction: column-reverse;
  }
  .schedule__ImgBox {
    flex: 1 1 100%;
    max-width: 100%;
    padding: 0 15px;
  }
  .schedule__card {
    flex: 1 1 100%;
    max-width: 100%;
    padding: 30px 15px;
  }
  .subFunDiving .c-kvTitle {
    top: 37.45%;
  }
}
/**********************************************************

pageLeadArea model-course-top

***********************************************************/
.subModel-course .pageLead__textBox {
  margin-top: 44px;
}
.subModel-course .otherArea {
  padding-top: 71px;
  padding-bottom: 27px;
}

.topModelCourseListItem__textList {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 23px;
}

.topModelCourseListItem__textListItem {
  color: #3CA4BC;
  line-height: 1;
  background-color: #D4EFF5;
  padding: 4px 11px 6px;
}

.topModelCourseListItem__textListItemTag {
  font-size: clamp(13px, 13px + 1 * (100vw - 768px) / 512, 14px);
  font-weight: bold;
  line-height: 1.2857142857;
}

.modelScheduleBox {
  display: none;
  flex-basis: 100%;
  width: 100%;
  overflow: hidden;
  transition: max-height 0.5s ease;
}

.modelScheduleBox.is-open {
  display: block;
  max-height: 3000px;
}

.modelScheduleTitle {
  padding: 4px 0 5px;
  font-size: 24px;
  text-align: center;
  color: #fff;
  width: 100%;
  background-color: #3CA4BC;
}

@media screen and (max-width: 768px) {
  .subModel-course .pageLeadArea {
    padding-top: 23px;
    padding-bottom: 23px;
  }
  .subModel-course .pageLead__title {
    text-align: left;
  }
  .subModel-course .pageLead__titleMain {
    font-size: 22px;
    line-height: 1.6;
  }
  .subModel-course .pageLead__textBox {
    margin-top: 26px;
  }
  .subModel-course .otherArea {
    padding-top: 86px;
    padding-bottom: 41px;
  }
  .topModelCourseListItem__textList {
    gap: 8px;
    margin-top: 20px;
  }
  .topModelCourseListItem__textListItem {
    padding: 2.5px 11px 4.5px;
  }
  .topModelCourseListItem__textListItemTag {
    font-size: 12px;
  }
}
/**********************************************************

modelCourseTopArea

***********************************************************/
.modelCourseTopArea {
  padding-top: 46px;
  padding-bottom: 34px;
}

.modelCourseTopWrap {
  padding-bottom: 60px;
  background-color: #fff;
}

.modelCourseTopImgBox {
  width: 100%;
  max-width: 1160px;
  height: auto;
}

.modelCourseTopImg {
  width: 100%;
  height: auto;
}

.modelCourseTopBox {
  display: flex;
  gap: clamp(30px, 30px + 20 * (100vw - 768px) / 512, 50px);
  margin-top: 62px;
  padding: 0 clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px);
}

.modelCourseTop__titleBox {
  max-width: 476px;
  margin-top: 1px;
}

.modelCourseTop__textBox {
  flex: 1 1 517px;
  width: 100%;
  max-width: 517px;
  margin-top: -5px;
}

.modelCourseTop__title {
  margin-top: -6px;
  font-weight: bold;
}

.modelCourseTop__title--sub {
  display: block;
  font-size: 16px;
  line-height: 2.0625;
  color: #3CA4BC;
}

.modelCourseTop__title--main {
  display: block;
  font-size: clamp(24px, 24px + 4 * (100vw - 768px) / 512, 28px);
  line-height: 1.6;
  margin-top: 1px;
}

.modelCourseTop__pointLabelBox {
  display: block;
  position: relative;
}
.modelCourseTop__pointLabelBox::after {
  content: "";
  background-color: #3CA4BC;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  z-index: 0;
}

.modelCourseTop__pointLabel {
  display: inline-block;
  font-size: 14px;
  font-weight: bold;
  color: #3CA4BC;
  background-color: #fff;
  padding-right: 10px;
  position: relative;
  top: -2px;
  z-index: 1;
}

.modelCourseTop__pointList {
  font-size: 14px;
  padding-left: 14px;
  position: relative;
}
.modelCourseTop__pointList::before {
  content: "";
  display: block;
  background: url(../img/common/ico_triangle--l.svg) no-repeat center/contain;
  width: 7px;
  height: 10px;
  position: absolute;
  top: 8px;
  left: 0;
}
.modelCourseTop__pointList + .modelCourseTop__pointList {
  margin-top: 17px;
}
.modelCourseTop__pointList:first-of-type {
  margin-top: 10px;
}

.modelCourseTop__pointBox .modelCourseTop__pointList:nth-of-type(3),
.modelCourseTop__pointBox .modelCourseTop__pointList:nth-of-type(4) {
  margin-top: 15px;
}

.modelCourseTop__pointListTitle {
  font-weight: bold;
  line-height: 1.9085714286;
}

.modelCourseTop__pointListDetail {
  line-height: 1.5;
  margin-top: 3px;
}

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

.modelCourse__toggleBtn {
  padding: 7px 0 9px;
  width: 100%;
  text-align: center;
  border: 1px solid #707070;
}

.modelCourse__toggleText {
  display: inline-block;
  position: relative;
  margin: 0 auto;
  padding-right: 28px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
}

.modelCourse__toggleText::after {
  position: absolute;
  top: 15%;
  right: 0;
  transform: rotate(90deg);
  width: 20px;
  height: 20px;
  background: url(../img/common/ico_arrow-circle.svg) no-repeat center/contain;
  content: "";
}

.modelCourse__toggleBtn.is-active .modelCourse__toggleText::after {
  transform: rotate(270deg);
}

@media screen and (max-width: 768px) {
  .modelCourseTopArea {
    padding-top: 19px;
    padding-bottom: 21px;
  }
  .modelCourseTopWrap {
    padding: 0 0 40px;
  }
  .modelCourseTopBox {
    flex-direction: column;
    gap: 5px;
    margin-top: 30px;
    padding: 0 15px;
  }
  .modelCourseTop__title--sub {
    line-height: 1.6;
  }
  .modelCourseTop__title--main {
    font-size: 20px;
    line-height: 1.6;
    margin-top: 11px;
  }
  .modelCourseTop__pointBox {
    margin-top: 33px;
  }
  .modelCourseTop__pointList + .modelCourseTop__pointList {
    margin-top: 17px;
  }
  .modelCourseTop__imgBox {
    flex: 1 1 100%;
    max-width: 100%;
  }
  .modelCourseTop__textBox {
    flex: 1 1 100%;
    max-width: 100%;
    margin-top: 0;
  }
  .modelCourseTop__titleBox {
    max-width: 100%;
  }
}
/**********************************************************

modelScheduleArea

***********************************************************/
.modelScheduleBox {
  background-color: #fff;
  padding: 0 clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px);
  margin-top: 59px;
}

.modelScheduleMain {
  margin-top: 51px;
}

.modelScheduleMainListItem {
  display: flex;
  gap: clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px);
  position: relative;
}
.modelScheduleMainListItem::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 22px;
  width: 3px;
  height: calc(100% + 46px);
  margin: auto;
  background-color: #3CA4BC;
}
.modelScheduleMainListItem:last-of-type::before {
  display: none;
}
.modelScheduleMainListItem + .modelScheduleMainListItem {
  margin-top: 45px;
}

.modelScheduleMainListItem:last-child {
  margin-top: 43px;
}

.modelScheduleMainCard {
  flex-shrink: 0.5;
  display: flex;
  gap: 14px;
  width: 100%;
}

.modelScheduleMainBubble {
  margin-top: 0;
  outline: 5px solid #fff;
}

.modelScheduleMainCard__contents {
  width: 100%;
}

.modelScheduleMainCard__contents-timeBox {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  font-weight: bold;
  padding-bottom: 15px;
  border-bottom: 1px solid #BFBFBF;
}

.modelScheduleMainCard__contents-timeBox:nth-child(n+3) {
  gap: 16px;
}

.modelScheduleMainCard__contents-time {
  flex-shrink: 0;
  font-size: 26px;
  line-height: 1.8461538462;
  color: #3CA4BC;
}

.modelScheduleMainCard__contents-timeText {
  font-size: 20px;
  line-height: 2.3;
  margin-top: 1px;
}

.modelScheduleMainCard__contents-timeText--s {
  font-size: 16px;
}

.modelScheduleMainCard__contents-textBox {
  margin-top: 20px;
}

.modelScheduleMainCard__contents-text {
  font-size: 16px;
  line-height: 1.5;
}

.modelScheduleMainListItem__imgBox {
  width: 100%;
  max-width: 300px;
}

.modelScheduleMainListItem__img {
  width: 100%;
  height: auto;
}

.modelScheduleBtnBox {
  display: inline-block;
  margin-top: 26px;
}
.modelScheduleBtnBox.btnFlex {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}
.modelScheduleBtnBox.btnFlex .modelScheduleBtn {
  margin: 0;
}

.subModel-course .modelCourseBtnBox {
  margin: 58px auto 0;
}
.subModel-course .modelCourseBtnBox .c-btn:hover .c-btn__circle {
  transform: scaleX(-1);
}
.subModel-course .modelCourseBtnBox .c-btn__circle {
  transform: scaleX(-1);
}

@media screen and (max-width: 768px) {
  .modelScheduleArea {
    padding-top: 80px;
    padding-bottom: 25px;
  }
  .modelScheduleBg::before {
    height: 4vw;
    background: url(../img/common/img_wave-gray-reverse-sp.png) no-repeat bottom/cover;
  }
  .modelScheduleBox {
    padding: 0 15px;
    margin-top: 50px;
  }
  .modelScheduleBox .c-secTitle {
    text-align: center;
    width: auto;
  }
  .modelScheduleMain {
    margin-top: 49px;
  }
  .modelScheduleMainListItem {
    flex-direction: column-reverse;
    gap: 17px;
  }
  .modelScheduleMainListItem::before {
    width: 2px;
    height: calc(100% + 51px);
    left: 14px;
  }
  .modelScheduleMainListItem + .modelScheduleMainListItem {
    margin-top: 51px;
  }
  .modelScheduleMainListItem:first-of-type .modelScheduleMainListItem__imgBox {
    position: relative;
  }
  .modelScheduleMainListItem:first-of-type .modelScheduleMainListItem__imgBox::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: -29px;
    width: 3px;
    height: calc(100% + 17px);
    margin: auto;
    background-color: #fff;
  }
  .modelScheduleMainBubble {
    font-size: 12px;
    width: 31.47px;
    height: 31.47px;
    margin-top: 3px;
  }
  .modelScheduleMainCard {
    gap: 11px;
  }
  .modelScheduleMainCard__contents-time {
    font-size: 20px;
  }
  .modelScheduleMainCard__contents-timeText {
    font-size: 16px;
    line-height: 1.3125;
    margin-top: 7px;
  }
  .modelScheduleMainCard__contents-timeText--s {
    font-size: 14px;
  }
  .modelScheduleMainCard__contents-timeBox {
    padding-bottom: 13px;
  }
  .modelScheduleMainCard__contents-textBox {
    margin-top: 16px;
  }
  .modelScheduleMainCard__contents-text {
    font-size: 14px;
  }
  .modelScheduleMainListItem__imgBox {
    max-width: calc(100% - 42.47px);
    align-self: flex-end;
  }
  .modelScheduleBtnBox {
    margin-top: 26px;
  }
  .subPage .modelCourseBtnBox .c-btn:hover .c-btn__circle {
    transform: scaleX(-1);
  }
  .subPage .modelCourseBtnBox .c-btn__circle {
    transform: scaleX(-1);
  }
}
/**********************************************************

pageLeadArea

***********************************************************/
.subInformation .pageLeadArea {
  padding-top: 39px;
  padding-bottom: 39px;
}
.subInformation .pageLead__textBox {
  margin-top: 0;
}
.subInformation .pageLead__text {
  line-height: 1.67;
}

@media screen and (max-width: 768px) {
  .subInformation .pageLeadArea {
    padding-top: 22px;
    padding-bottom: 22px;
  }
  .subInformation .pageLead__text {
    line-height: 1.7;
  }
}
/**********************************************************

informationLinkArea

***********************************************************/
.informationLinkArea {
  padding-top: 69px;
  padding-bottom: 152px;
}

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

.informationLinkList {
  margin-top: 1px;
}

.informationLinkListItem {
  display: flex;
  gap: clamp(30px, 30px + 50 * (100vw - 768px) / 512, 80px);
}
.informationLinkListItem:nth-of-type(even) {
  flex-direction: row-reverse;
}
.informationLinkListItem:nth-of-type(even) .informationLinkListItem__textBox {
  margin-top: 5px;
}
.informationLinkListItem:nth-of-type(2) .informationLinkListItem__imgBox::before {
  background: url(../img/information/text_hang-out.png) no-repeat center/100%;
  top: -30px;
  left: -30px;
}
.informationLinkListItem:nth-of-type(2) .informationLinkListItem__textTitleImg {
  margin: 0 -2px;
}
.informationLinkListItem:nth-of-type(3) .informationLinkListItem__imgBox::before {
  background: url(../img/information/text_purchase.png) no-repeat center/100%;
}
.informationLinkListItem:nth-of-type(3) .informationLinkListItem__textTitleImg {
  margin: 0 1px 0 -5px;
  top: 9px;
}
.informationLinkListItem + .informationLinkListItem {
  margin-top: 80px;
}

.informationLinkListItem__imgBox {
  flex: 1 1 530px;
  width: 100%;
  max-width: 530px;
  position: relative;
}
.informationLinkListItem__imgBox::before {
  content: "";
  display: block;
  background: url(../img/information/text_eat.png) no-repeat center/100%;
  width: clamp(120px, 120px + 28 * (100vw - 768px) / 512, 148px);
  height: clamp(120px, 120px + 28 * (100vw - 768px) / 512, 148px);
  position: absolute;
  top: -33.5px;
  left: -31px;
}

.informationLinkListItem__img {
  width: 100%;
  height: auto;
}

.informationLinkListItem__textBox {
  flex: 1 0.5 430px;
  width: 100%;
  max-width: 430px;
  margin-top: -11px;
}

.informationLinkListItem__textTitle {
  margin-bottom: 37px;
}

.informationLinkListItem__textTitleMain {
  font-size: clamp(22px, 22px + 6 * (100vw - 768px) / 512, 28px);
  line-height: 1.6;
  font-weight: bold;
}

.informationLinkListItem__textTitleImg {
  display: inline;
  margin: 0 -4px 0 -8px;
  position: relative;
  top: 11px;
  left: 0;
}

.informationLinkListItem__text {
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 37px;
}

@media screen and (max-width: 768px) {
  .informationLinkArea {
    padding-top: 45px;
    padding-bottom: 99px;
  }
  .informationLinkWrap {
    padding: 0 15px;
  }
  .informationLinkListItem {
    flex-direction: column;
    gap: 25px;
  }
  .informationLinkListItem:nth-of-type(even) {
    flex-direction: column;
  }
  .informationLinkListItem:nth-of-type(even) .informationLinkListItem__textBox {
    margin-top: 9px;
  }
  .informationLinkListItem:nth-of-type(2) .informationLinkListItem__imgBox::before {
    background: url(../img/information/text_hang-out-sp.png) no-repeat center/100%;
    top: -39px;
    left: -24px;
  }
  .informationLinkListItem:nth-of-type(2) .informationLinkListItem__textTitleImg {
    margin: 0 -5px;
    top: -4px;
  }
  .informationLinkListItem:nth-of-type(3) .informationLinkListItem__imgBox::before {
    background: url(../img/information/text_purchase-sp.png) no-repeat center/100%;
  }
  .informationLinkListItem:nth-of-type(3) .informationLinkListItem__textTitleImg {
    margin: 0 0 0 -3px;
    top: 9px;
  }
  .informationLinkListItem + .informationLinkListItem {
    margin-top: 90px;
  }
  .informationLinkListItem__imgBox {
    flex: 1 1 100%;
    width: auto;
    max-width: none;
    margin-right: -30px;
  }
  .informationLinkListItem__imgBox::before {
    background: url(../img/information/text_eat-sp.png) no-repeat center/100%;
    width: clamp(95px, 25.3333333333vw, 120px);
    height: clamp(95px, 25.3333333333vw, 120px);
    top: -39px;
    left: -24px;
  }
  .informationLinkListItem__textBox {
    flex: 1 1 100%;
    width: 100%;
    max-width: 100%;
    margin-top: 0;
  }
  .informationLinkListItem__textTitle {
    margin-bottom: 27px;
  }
  .informationLinkListItem__textTitleMain {
    font-size: clamp(23px, 6.1333333333vw, 27px);
  }
  .informationLinkListItem__textTitleImg {
    display: inline;
    margin: 0 -2px 0 -7px;
    position: relative;
    top: 9px;
    left: 0;
  }
  .informationLinkListItem__text {
    font-size: 14px;
    margin-bottom: 34px;
  }
  .informationLinkBtn {
    display: flex;
    justify-self: flex-end;
  }
}
/**********************************************************

informationArea

***********************************************************/
.informationArea {
  padding-top: 120px;
  padding-bottom: 170px;
  background-color: #fff;
  overflow-x: clip;
}

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

.informationBox {
  padding-bottom: 100px;
  border-bottom: 1px solid #D3D3D3;
  position: relative;
  z-index: 0;
}
.informationBox::before {
  content: "";
  display: block;
  background: url(../img/information/bg_left.png) no-repeat center/contain;
  width: clamp(600px, 600px + 173 * (100vw - 768px) / 512, 773px);
  height: clamp(750px, 750px + 93 * (100vw - 768px) / 512, 843px);
  position: absolute;
  bottom: -24.5%;
  left: -48.6%;
  z-index: -1;
}

.floorTabList {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: clamp(15px, 15px + 10 * (100vw - 768px) / 512, 25px);
  margin-top: 82px;
}

.floorTabList__item {
  display: block;
}

.floorTabList__btn {
  display: flex;
  align-items: baseline;
  justify-content: center;
  font-size: clamp(14px, 14px + 6 * (100vw - 768px) / 512, 20px);
  font-weight: bold;
  max-width: 330px;
  width: 100%;
  padding: clamp(9px, 9px + 9 * (100vw - 768px) / 512, 18px);
  color: #1B2324;
  border: 2px solid #1B2324;
  background-color: #FFFFFF;
  line-height: 1;
  transition: 0.3s;
  position: relative;
}
.floorTabList__btn:hover {
  color: #FFFFFF;
  background-color: #1B2324;
  opacity: 1;
  transition: 0.3s;
}
.floorTabList__btn:hover .floorTabList__btnText:first-of-type::after {
  background-color: #fff;
}
.floorTabList__btn.js-active {
  color: #FFFFFF;
  background-color: #1B2324;
}
.floorTabList__btn.js-active::before {
  content: "";
  display: block;
  position: absolute;
  bottom: -18px;
  left: 0;
  right: 0;
  width: 26px;
  height: 18px;
  margin: auto;
  background: url(../img/common/ico_triangle-black.svg) no-repeat center center/100%;
}
.floorTabList__btn.js-active .floorTabList__btnText:first-of-type::after {
  background-color: #fff;
}

.floorTabList__btnText:first-of-type {
  margin-right: 15px;
  position: relative;
}
.floorTabList__btnText:first-of-type::after {
  content: "";
  display: block;
  width: 1px;
  height: 14px;
  background-color: #1B2324;
  position: absolute;
  top: 50%;
  right: -15px;
  transform: translateY(-50%);
}
.floorTabList__btnText:last-of-type {
  margin-left: 15px;
}

.floorMapBox {
  margin-top: 57px;
}

.floorMap__imgBox {
  width: 100%;
}

.floorMap__img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 768px) {
  .informationArea {
    padding-top: 80px;
    padding-bottom: 78px;
  }
  .informationWrap {
    padding: 0 15px;
  }
  .informationBox {
    padding-bottom: 60px;
  }
  .informationBox::before {
    background: url(../img/information/bg_right-sp.png) no-repeat center/contain;
    width: 87.4666666667vw;
    height: 103.7333333333vw;
    top: 38%;
    right: -64.9%;
    bottom: auto;
    left: auto;
  }
  .floorTabList {
    gap: 0;
    margin-left: -15px;
    margin-right: -15px;
    grid-template-columns: 42.03fr 28.99fr 28.99fr;
    margin-top: 33px;
    /* デフォルトの列幅 */
  }
  .floorTabList__item:last-of-type .floorTabList__btn {
    border-right: 1px solid #1B2324;
  }
  .floorTabList__btn {
    flex-direction: column;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    border: 1px solid #1B2324;
    border-right: none;
    padding: 6px 10px 9px;
  }
  .floorTabList__btn.js-active::before {
    bottom: -8px;
    width: 10px;
    height: 8px;
    background: url(../img/common/ico_triangle-black.svg) no-repeat center center/100%;
  }
  .floorTabList__btnText:first-of-type {
    margin-right: 0;
    position: relative;
  }
  .floorTabList__btnText:first-of-type::after {
    display: none;
  }
  .floorTabList__btnText:last-of-type {
    margin-left: 0;
  }
  .floorMapBox {
    margin-top: 41px;
    margin-left: -15px;
    margin-right: -15px;
  }
}
.floorFacilityList {
  display: flex;
  flex-wrap: wrap;
  gap: 25px clamp(15px, 15px + 10 * (100vw - 768px) / 512, 25px);
  margin-top: 61px;
}

.floorFacilityListItem {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  width: calc((100% - clamp(15px, 15px + 10 * (100vw - 768px) / 512, 25px) * 2) / 3);
}

.floorFacilityListItem__imgBox {
  width: 100%;
  max-width: 100px;
}

.floorFacilityListItem__img {
  width: 100%;
  height: auto;
}

.floorFacilityListItem__textBox {
  display: flex;
  flex-direction: column;
  flex-shrink: 0.8;
  width: 100%;
  margin-top: 11px;
}
.floorFacilityListItem__textBox.--floor {
  margin-top: 10px;
}

.floorFacilityListItem__facilityName {
  font-weight: bold;
  font-size: clamp(15px, 15px + 1 * (100vw - 768px) / 512, 16px);
  line-height: 1.5;
  margin-bottom: 10px;
}

.floorFacilityListItem__facilityDetail {
  font-size: clamp(14px, 14px + 1 * (100vw - 768px) / 512, 15px);
  line-height: 1.5;
}

.floorFacilityListItem__floor {
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  width: -moz-fit-content;
  width: fit-content;
  border: 1px solid #1B2324;
  padding: 4px 13px 5px;
}

.floorFacilityListItem__shopName {
  font-size: clamp(15px, 15px + 1 * (100vw - 768px) / 512, 16px);
  font-weight: bold;
  line-height: 1.5;
  margin-top: 9px;
}
.floorFacilityListItem__shopName small {
  font-size: 14px;
}

@media screen and (max-width: 768px) {
  .floorFacilityList {
    gap: 15px;
    margin-top: 35px;
  }
  .floorFacilityListItem {
    align-items: center;
    width: 100%;
    gap: 15px;
  }
  .floorFacilityListItem__imgBox {
    max-width: clamp(76px, 20.2666666667vw, 100px);
  }
  .floorFacilityListItem__textBox {
    margin-top: 0;
  }
  .floorFacilityListItem__textBox.--floor {
    margin-top: 0;
  }
  .floorFacilityListItem__facilityName {
    font-size: 14px;
    line-height: 1.2857142857;
  }
  .floorFacilityListItem__facilityDetail {
    font-size: 14px;
    line-height: 1.2142857143;
  }
  .floorFacilityListItem__floor {
    font-size: 12px;
    padding: 3px 9px 4px;
  }
  .floorFacilityListItem__shopName {
    font-size: 14px;
    line-height: 1.2857142857;
  }
  .floorFacilityListItem__shopName small {
    font-size: 12px;
    line-height: 1.5;
  }
}
@media screen and (max-width: 374px) {
  .floorTabList__btn {
    font-size: 3.2vw;
    padding: 1.6vw 2.6666666667vw 2.4vw;
  }
}
.sightseeingBox {
  padding-top: 100px;
  position: relative;
  z-index: 0;
}
.sightseeingBox::before {
  content: "";
  display: block;
  background: url(../img/information/bg_right.png) no-repeat center/contain;
  width: clamp(500px, 500px + 119 * (100vw - 768px) / 512, 619px);
  height: clamp(650px, 650px + 93 * (100vw - 768px) / 512, 743px);
  position: absolute;
  top: -29%;
  right: -36%;
  z-index: -1;
}

.sightseeingTopBox {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 30px;
}

.sightseeingTitleBox {
  flex-shrink: 0;
}

.sightseeingTitle {
  display: block;
  font-family: "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "Zen Kaku Gothic New", sans-serif;
  color: #3CA4BC;
  font-size: clamp(38px, 38px + 8 * (100vw - 768px) / 512, 46px);
  font-weight: 700;
  line-height: 1.4130434783;
  letter-spacing: 0.1px;
}

.sightseeingTopText {
  max-width: 670px;
  font-size: 16px;
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  .sightseeingBox {
    padding-top: 61px;
  }
  .sightseeingBox::before {
    background: url(../img/information/bg_left-sp.png) no-repeat center/contain;
    width: 109.3333333333vw;
    height: 118.9333333333vw;
    top: auto;
    bottom: 0.1%;
    left: -65%;
    right: auto;
  }
  .sightseeingTitle {
    font-size: 28px;
    line-height: 1.4285714286;
    letter-spacing: 0.5px;
  }
  .sightseeingTopText {
    font-size: 14px;
    line-height: 1.7;
  }
  .sightseeingTopBox {
    flex-direction: column;
    align-items: center;
    gap: 47px;
  }
}
.sightseeingList {
  display: flex;
  gap: clamp(15px, 15px + 5 * (100vw - 768px) / 512, 20px);
  margin-top: 79px;
}

.sightseeingListItem {
  width: calc((100% - clamp(15px, 15px + 5 * (100vw - 768px) / 512, 20px) * 4) / 5);
}

.sightseeingListItem__imgBox {
  width: 100%;
}

.sightseeingListItem__img {
  width: 100%;
  height: auto;
}

.sightseeingListItem__textBox {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 9px;
  text-align: center;
  margin-top: 17px;
}

.sightseeingListItem__place {
  font-size: 15px;
  font-weight: bold;
  color: #3CA4BC;
  line-height: 1.6;
}

.sightseeingListItem__duration {
  font-size: 15px;
  line-height: 1.5;
}

.subInformation .otherArea {
  padding-top: 74px;
  padding-bottom: 30px;
}

@media screen and (max-width: 768px) {
  .sightseeingList {
    flex-wrap: wrap;
    gap: 24px 15px;
    margin-top: 48px;
  }
  .sightseeingListItem {
    width: calc((100% - 15px) / 2);
  }
  .sightseeingListItem__textBox {
    gap: 3px;
    margin-top: 13px;
  }
  .sightseeingListItem__place {
    font-size: 14px;
    line-height: 1.7142857143;
  }
  .sightseeingListItem__duration {
    font-size: 14px;
    line-height: 1.6071428571;
  }
  .subInformation .otherArea {
    padding-top: 68px;
    padding-bottom: 41px;
  }
}
/**********************************************************

menuArea  

***********************************************************/
.subFishMarket .gourmetMenuWrap {
  padding-bottom: 122px;
}
@media screen and (max-width: 768px) {
  .subFishMarket .gourmetMenuWrap {
    padding-bottom: 76px;
  }
}
.subFishMarket .about__imgBox {
  max-width: clamp(250px, 34.45vw, 441px);
  top: 27%;
  left: clamp(-140px, -4vw, 50px);
}
@media screen and (max-width: 768px) {
  .subFishMarket .about__imgBox {
    max-width: 154px;
    top: -2.7%;
    left: auto;
    right: 1px;
  }
}
.subFishMarket .shopAboutList {
  gap: clamp(15px, 15px + 15 * (100vw - 768px) / 512, 15px);
}
@media screen and (max-width: 768px) {
  .subFishMarket .shopAboutList {
    gap: 6px;
  }
}
@media screen and (max-width: 768px) {
  .subFishMarket .shopAboutTextBox {
    margin-top: 38px;
  }
}
.subFishMarket .gourmetMenuListItem__limitedTime {
  display: inline-block;
  text-align: center;
  font-size: 13px;
  line-height: 1;
  color: #ef4537;
  border: 1px solid #ef4537;
  margin-bottom: 10px;
  padding: 5px 6px 6px;
  vertical-align: top;
}
@media screen and (max-width: 768px) {
  .subFishMarket .gourmetMenuListItem__limitedTime {
    padding: 5px 3px 4px;
  }
}
.subFishMarket .gourmetMenuWrap__note {
  font-size: 15px;
  text-align: center;
  margin-top: 35px;
}
@media screen and (max-width: 768px) {
  .subFishMarket .gourmetMenuWrap__note {
    font-size: 12px;
  }
}
.subFishMarket .gourmetMenuSabTextBox {
  display: flex;
  justify-content: flex-start;
  gap: 0 clamp(145px, 145px + -45 * (100vw - 768px) / 512, 100px);
  padding: 5px 60px 0;
}
@media screen and (max-width: 768px) {
  .subFishMarket .gourmetMenuSabTextBox {
    flex-direction: column;
    gap: 40px 0;
    padding: 0 15px;
  }
}
.subFishMarket .gourmetMenuSabTextBox__title {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  justify-content: flex-start;
  gap: 22px;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .subFishMarket .gourmetMenuSabTextBox__title {
    text-align: center;
    gap: 13px;
  }
}
.subFishMarket .gourmetMenuSabTextBox__title--main {
  display: inline-block;
  font-size: 46px;
  font-weight: bold;
  color: #ef4537;
}
@media screen and (max-width: 768px) {
  .subFishMarket .gourmetMenuSabTextBox__title--main {
    font-size: 28px;
    font-weight: bold;
  }
}
.subFishMarket .gourmetMenuSabTextBox__title--sub {
  font-size: 20px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .subFishMarket .gourmetMenuSabTextBox__title--sub {
    font-size: 13px;
  }
}
.subFishMarket .gourmetMenuSabTextBox__text {
  font-size: 16px;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .subFishMarket .gourmetMenuSabTextBox__text {
    font-size: 14px;
    line-height: 1.7;
  }
}
.subFishMarket .gourmetMenuSabBox {
  padding-top: 91px;
}
@media screen and (max-width: 768px) {
  .subFishMarket .gourmetMenuSabBox {
    padding-top: 61px;
  }
}
@media screen and (max-width: 768px) {
  .subFishMarket .gourmetMenuBtnBox {
    margin-top: 50px;
  }
}
.subFishMarket .gourmetMenuWrap.recommend {
  margin-top: 61px;
  padding-bottom: 0;
}
@media screen and (max-width: 768px) {
  .subFishMarket .gourmetMenuWrap.recommend {
    margin-top: 40px;
  }
}
.subFishMarket .gourmetMenuWrap.recommend .gourmetMenuBtnBox {
  margin: 60px auto 0;
}
@media screen and (max-width: 768px) {
  .subFishMarket .gourmetMenuWrap.recommend .gourmetMenuBtnBox {
    margin-top: 50px;
  }
}
.subFishMarket .recommend .c-btn__text {
  min-width: 96px;
}
.subFishMarket .otherArea {
  padding-bottom: 26px;
}
.subFishMarket .gourmetMenuWrap.recommend .c-btn .c-btn__circle::before {
  content: "";
  background: url(../img/common/ico_arrow-external.svg) no-repeat center/100%;
  width: 10px;
  height: 10px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s ease;
}

/**********************************************************

pageLinksArea  

***********************************************************/
.subActivity .pageLead__titleImg {
  top: 5px;
  margin: -3px 2px;
}

@media screen and (max-width: 768px) {
  .subActivity .pageLead__titleImg {
    margin: 0 -5px;
    top: -5px;
  }
}
.subActivity .timeLabelListTitle {
  min-width: 80px;
  text-align: center;
}

.subActivity .otherArea {
  padding-top: 74px;
}

@media screen and (max-width: 768px) {
  .subActivity .otherArea {
    padding-top: 40px;
  }
}
/**********************************************************

AboutArea  

***********************************************************/
.subBanya {
  /**********************************************************

      MenuArea  

  ***********************************************************/
}
.subBanya .aboutArea {
  padding-bottom: 200px;
}
@media screen and (max-width: 768px) {
  .subBanya .aboutArea {
    padding-bottom: 114px;
  }
}
.subBanya .shopAboutList {
  gap: clamp(6px, 6px + -3 * (100vw - 768px) / 512, 3px);
}
@media screen and (max-width: 768px) {
  .subBanya {
    gap: 5px;
  }
}
@media screen and (max-width: 768px) {
  .subBanya .shopAboutTextBox {
    margin-top: 37px;
  }
}
.subBanya .about__imgBox {
  top: 28%;
  left: -60px;
  max-width: clamp(291px, 291px + 129 * (100vw - 768px) / 512, 420px);
}
@media screen and (max-width: 768px) {
  .subBanya .about__imgBox {
    position: relative;
    left: 50%;
    transform: translateX(-48%);
    max-width: 300px;
  }
}
.subBanya .gourmetMenuArea {
  padding-top: 93px;
  padding-bottom: 87px;
}
@media screen and (max-width: 768px) {
  .subBanya .gourmetMenuArea {
    padding-top: 60px;
    padding-bottom: 80px;
  }
}
.subBanya .gourmetMenuWrap {
  padding-bottom: 0;
}
.subBanya .gourmetMenuBtnBox {
  margin: 79px auto 0;
}
.subBanya .gourmetMenuWrap__note {
  margin-top: 35px;
  font-size: 15px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .subBanya .gourmetMenuWrap__note {
    font-size: 12px;
  }
}

.subLicense .aboutArea {
  padding-bottom: 129px;
}
@media screen and (max-width: 768px) {
  .subLicense .aboutArea {
    padding-bottom: 91px;
  }
  .subLicense .c-kvTitle {
    top: 37.45%;
  }
}
@media screen and (max-width: 768px) {
  .subLicense .shopAboutBox {
    margin-top: 13px;
  }
}
@media screen and (max-width: 768px) {
  .subLicense .shopAboutTextBox {
    margin-top: 23px;
  }
}
.subLicense .featureArea {
  padding: 134px 0 156px;
}
@media screen and (max-width: 768px) {
  .subLicense .featureArea {
    padding: 79px 15px 91px;
  }
}
.subLicense .featureWrap {
  padding: 0 15px;
}
.subLicense .featureBox {
  margin-top: 68px;
}
.subLicense .featureList {
  justify-content: center;
  gap: 60px clamp(30px, 30px + 26 * (100vw - 768px) / 512, 56px);
}
@media screen and (max-width: 768px) {
  .subLicense .featureList {
    gap: 42px;
  }
}
.subLicense .activityMenuArea {
  padding-top: 104px;
  padding-bottom: 0;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .subLicense .activityMenuArea {
    padding-top: 60px;
  }
}
.subLicense .activityMenuArea::before {
  content: "";
  display: block;
  position: absolute;
  bottom: -2.578125vw;
  left: 0;
  width: 100vw;
  height: 2.65625vw;
  background: url(../img/common/img_wave-white-reverse.png) no-repeat bottom/cover;
}
.subLicense .activityMenuArea::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -2.578125vw;
  left: 0;
  width: 100vw;
  height: 2.65625vw;
  background: url(../img/common/img_wave-white-reverse.png) no-repeat bottom/cover;
  transform: scaleY(-1);
}
@media screen and (max-width: 768px) {
  .subLicense .activityMenuArea::before {
    top: -1.733333vw;
  }
}
.subLicense .activityMenuWrap {
  margin-top: 60px;
  padding-bottom: 93px;
}
@media screen and (max-width: 768px) {
  .subLicense .activityMenuWrap {
    padding: 0 0 80px;
  }
}
.subLicense .activityMenuNotice.noticeText + .activityMenuNotice.noticeText {
  margin-top: 12px;
}
.subLicense .aboutArea .about__imgBox {
  top: 50.8%;
  left: clamp(-92px, -92px + (100vw - 1280px) * 48 / -511, -44px);
  max-width: clamp(220px, 220px + 264 * (100vw - 768px) / 512, 484px);
}
@media screen and (max-width: 768px) {
  .subLicense .aboutArea .about__imgBox {
    top: -9.5%;
    right: 0;
    left: auto;
    max-width: 187px;
  }
}
@media screen and (max-width: 374px) {
  .subLicense .aboutArea .about__imgBox {
    top: -3.5%;
    max-width: 160px;
  }
}
.subLicense .pageLinksCard {
  margin-top: 80px;
  padding: 0 clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px);
  vertical-align: top;
}
@media screen and (max-width: 768px) {
  .subLicense .pageLinksCard {
    margin-top: 43px;
    padding: 0 15px;
  }
}
.subLicense .pageLinks__imgBox {
  position: relative;
  flex: 1 1 488px;
  width: 100%;
  max-width: 488px;
}
@media screen and (max-width: 768px) {
  .subLicense .pageLinks__imgBox {
    flex: 1 1 100%;
    max-width: 100%;
  }
}
.subLicense .pageLinks__img.c-card {
  position: absolute;
  right: clamp(-48px, -26px - 22 * (100vw - 768px) / 512, -26px);
  bottom: clamp(-19px, -19px + -21 * (100vw - 768px) / 512, -40px);
  width: clamp(150px, 150px + 54 * (100vw - 768px) / 512, 204px);
  height: auto;
}
@media screen and (max-width: 768px) {
  .subLicense .pageLinks__img.c-card {
    right: -26px;
    bottom: -26px;
    width: clamp(165px, 165px + 39 * (100vw - 375px) / 393, 204px);
  }
}
.subLicense .pageLinks__textBox {
  display: flex;
  flex-direction: column;
  flex-direction: 1 1 502px;
  gap: 24px;
  max-width: 502px;
}
@media screen and (max-width: 768px) {
  .subLicense .pageLinks__textBox {
    max-width: none;
  }
}
.subLicense .pageLinks__title {
  font-size: 26px;
  font-weight: bold;
  color: #379aef;
}
@media screen and (max-width: 768px) {
  .subLicense .pageLinks__title {
    font-size: 22px;
    line-height: 1.5;
  }
}
.subLicense .pageLinks__text {
  font-size: 16px;
  line-height: 1.67;
}
@media screen and (max-width: 768px) {
  .subLicense .pageLinks__text {
    font-size: 14px;
  }
}
.subLicense .activityMenuContentsList {
  gap: 0;
}
@media screen and (max-width: 768px) {
  .subLicense .activityMenuContentsList {
    gap: 20px;
  }
}
.subLicense .advance .activityMenuContentsList {
  gap: 30px;
}
.subLicense .advance .activityMenuContentsList__detail {
  line-height: 1.75;
}
.subLicense .campaignContainer {
  margin-top: 60px;
  padding: 50px clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px);
  background-color: #FFFDEB;
}
@media screen and (max-width: 768px) {
  .subLicense .campaignContainer {
    padding: 45px 30px;
  }
}
.subLicense .campaignBox {
  display: flex;
  flex-direction: column;
}
.subLicense .campaign__title {
  display: inline-block;
  position: relative;
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
  margin: 2px auto 0;
  font-size: clamp(23px, 23px + 4 * (100vw - 768px) / 512, 27px);
  font-weight: bold;
  line-height: 1.3;
  padding: 0 30px 0 40px;
}
@media screen and (max-width: 768px) {
  .subLicense .campaign__title {
    padding: 0 35px;
    font-size: 18px;
  }
}
@media screen and (max-width: 374px) {
  .subLicense .campaign__title {
    font-size: 13px;
  }
}
.subLicense .campaign__title::before,
.subLicense .campaign__title::after {
  content: "";
  position: absolute;
  top: 5px;
  width: 23px;
  height: 54px;
}
@media screen and (max-width: 768px) {
  .subLicense .campaign__title::before,
  .subLicense .campaign__title::after {
    width: 33px;
    height: 66px;
  }
}
.subLicense .campaign__title::before {
  left: 0;
  background: url(../img/activity/license/ico_blackSlash-left.svg) no-repeat bottom left/contain;
}
.subLicense .campaign__title::after {
  right: 0;
  background: url(../img/activity/license/ico_blackSlash-right.svg) no-repeat bottom left/contain;
}
.subLicense .campaign__title--red {
  font-size: clamp(28px, 28px + 3 * (100vw - 768px) / 512, 31px);
  color: #ce4230;
}
@media screen and (max-width: 768px) {
  .subLicense .campaign__title--red {
    font-size: 21px;
  }
}
@media screen and (max-width: 374px) {
  .subLicense .campaign__title--red {
    font-size: 18px;
  }
}
.subLicense .campaignList {
  display: flex;
  gap: 0 52px;
  margin-top: 42px;
}
@media screen and (max-width: 768px) {
  .subLicense .campaignList {
    flex-direction: column;
    gap: 48px 0;
    margin-top: 31px;
  }
}
.subLicense .campaignList__item {
  position: relative;
  display: flex;
  flex-direction: column;
  width: calc((100% - 104px) / 3);
}
@media screen and (max-width: 768px) {
  .subLicense .campaignList__item {
    width: 100%;
  }
}
.subLicense .campaignList__item:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 0;
  right: -26px;
  width: 1px;
  height: 100%;
  background-color: #d3d3d3;
}
@media screen and (max-width: 768px) {
  .subLicense .campaignList__item:not(:last-child)::after {
    top: auto;
    right: 0;
    bottom: -26px;
    width: 100%;
    height: 1px;
  }
}
.subLicense .campaignList__tag {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 48px;
  max-width: 272px;
  width: 100%;
  padding: clamp(9px, 16px - 7 * (100vw - 768px) / 512, 16px);
  font-size: 20px;
  font-weight: bold;
  color: #fff;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .subLicense .campaignList__tag {
    padding: 10px clamp(20px, 4vw, 32px);
    min-height: 46px;
    max-width: none;
    width: auto;
    font-size: 18px;
  }
}
.subLicense .campaignList__tag.orange {
  background-color: #eeaa2b;
}
.subLicense .campaignList__tag.green {
  background-color: #88c417;
}
.subLicense .campaignList__tag.pink {
  background-color: #f74c81;
}
.subLicense .campaignList__tag::before {
  content: "";
  display: block;
  position: absolute;
  bottom: -10px;
  left: 0;
  right: 0;
  width: 15px;
  height: 11px;
  margin: auto;
}
.subLicense .campaignList__tag.orange::before {
  background: url(../img/activity/license/ico_triangle-orange.svg) no-repeat center center/100%;
}
.subLicense .campaignList__tag.green::before {
  background: url(../img/activity/license/ico_triangle-green.svg) no-repeat center center/100%;
}
.subLicense .campaignList__tag.pink::before {
  background: url(../img/activity/license/ico_triangle-pink.svg) no-repeat center center/100%;
}
.subLicense .campaignList__price {
  display: inline-block;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .subLicense .campaignList__price {
    font-size: 17px;
  }
}
.subLicense .campaignList__price--amount {
  font-size: 36px;
  color: #ce4230;
}
@media screen and (max-width: 768px) {
  .subLicense .campaignList__price--amount {
    font-size: 30px;
  }
}
.subLicense .campaignList__price--unit {
  color: #ce4230;
}
.subLicense .campaignList__text {
  font-size: 15px;
  line-height: 1.5;
  text-align: left;
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  .subLicense .campaignList__text {
    text-align: left;
    margin: 16px auto 0;
  }
}
.subLicense .campaignList__text--note {
  display: inline-block;
  font-size: 12px;
  line-height: 1.5;
  margin-top: 11px;
}
.subLicense .campaignSummary {
  margin-top: 27px;
  padding: 23.5px 26px 24.5px;
  background-color: #FFF5C9;
}
@media screen and (max-width: 768px) {
  .subLicense .campaignSummary {
    max-height: none;
    padding: 25px 11px;
  }
}
.subLicense .campaignSummaryBox {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}
.subLicense .campaignSummary__text {
  position: relative;
  padding: 7px 15.5px;
  background-color: #fff;
  border: 1px solid #1b2324;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .subLicense .campaignSummary__text {
    padding: 8.5px 7.6px;
    font-size: 14px;
    line-height: 1.5;
  }
}
.subLicense .campaignSummary__text::before {
  content: "";
  display: block;
  position: absolute;
  bottom: -12px;
  left: 0;
  right: 0;
  width: 16px;
  height: 11px;
  margin: auto;
  background: url(../img/common/ico_triangle-black.svg) no-repeat center center/100%;
}
.subLicense .campaignSummary__text--note {
  font-size: 12px;
}
@media screen and (max-width: 768px) {
  .subLicense .campaignSummary__text--note {
    font-size: 10px;
  }
}
.subLicense .campaignSummary__price {
  font-size: 24px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .subLicense .campaignSummary__price {
    margin-top: 16px;
    font-size: 20px;
  }
}
.subLicense .campaignSummary__price--amount {
  font-size: 43px;
  font-weight: bold;
  color: #ce4230;
}
@media screen and (max-width: 768px) {
  .subLicense .campaignSummary__price--amount {
    font-size: 36px;
  }
}
.subLicense .scheduleNote {
  font-size: 16px;
  text-align: center;
  margin-top: 65px;
}
@media screen and (max-width: 768px) {
  .subLicense .scheduleNote {
    margin-top: 42px;
  }
}
.subLicense .scheduleNote__attention {
  font-size: 15px;
  text-align: center;
  margin-top: 60px;
}
.subLicense .activityMenuBtn {
  margin-top: 58px;
}
@media screen and (max-width: 768px) {
  .subLicense .c-secTitle {
    margin-top: 3px;
    padding-top: 60px;
  }
}
@media screen and (max-width: 768px) {
  .subLicense .aboutArea .c-secTitle {
    padding-top: 0;
  }
}
.subLicense .scheduleArea {
  padding-top: 34px;
  padding-bottom: 180px;
}
.subLicense .scheduleArea.pb-0 {
  padding-bottom: 0;
}
@media screen and (max-width: 768px) {
  .subLicense .scheduleArea {
    padding-top: 100px;
    padding-bottom: 70px;
  }
}
.subLicense .scheduleArea .c-secTitle {
  padding-top: 130px;
}
@media screen and (max-width: 768px) {
  .subLicense .scheduleArea .c-secTitle {
    padding-top: 0;
  }
}
.subLicense .scheduleWrap {
  margin-top: 53px;
}
.subLicense .scheduleListItem:nth-child(2) {
  max-height: none;
  height: -moz-fit-content;
  height: fit-content;
}
.subLicense .scheduleBox {
  margin-top: 19px;
}
.subLicense .scheduleMain__time {
  flex-shrink: 0;
}
.subLicense .otherArea {
  padding-top: 103px;
}
@media screen and (max-width: 768px) {
  .subLicense .otherArea {
    padding-top: 70px;
  }
}

.familyFishing {
  /**********************************************************

  aboutArea  

  ***********************************************************/
  /**********************************************************

  MenuArea  

  ***********************************************************/
  /**********************************************************

  scheduleArea  

  ***********************************************************/
  /**********************************************************

   calendarArea  

  ***********************************************************/
  /**********************************************************

   btn 

  ***********************************************************/
}
.familyFishing .aboutArea {
  padding-bottom: 173px;
}
@media screen and (max-width: 768px) {
  .familyFishing .aboutArea {
    padding-bottom: 107px;
  }
  .familyFishing .c-kvTitle {
    top: 37.45%;
  }
}
.familyFishing .shopAboutTextBox {
  margin-top: 46px;
}
@media screen and (max-width: 768px) {
  .familyFishing .shopAboutTextBox {
    margin-top: 24px;
  }
}
.familyFishing .activityMenuArea {
  padding-top: 87px;
  padding-bottom: 106px;
  background-color: #fff;
  position: relative;
}
@media screen and (max-width: 768px) {
  .familyFishing .activityMenuArea {
    padding-top: 59px;
    padding-bottom: 80px;
  }
}
.familyFishing .authentic.activityMenuArea {
  padding-bottom: 107px;
}
.familyFishing .authentic .attentionContainer {
  margin-top: 79px;
}
@media screen and (max-width: 768px) {
  .familyFishing .authentic.activityMenuArea {
    padding-bottom: 80px;
  }
}
.familyFishing .activityMenuArea::before {
  content: "";
  display: block;
  position: absolute;
  top: -2.578125vw;
  left: 0;
  width: 100vw;
  height: 2.65625vw;
  background: url(../img/common/img_wave-white-reverse.png) no-repeat bottom/cover;
}
@media screen and (max-width: 768px) {
  .familyFishing .activityMenuArea::before {
    top: -3.7333333333vw;
    height: 4vw;
    background: url(../img/common/img_wave-white-reverse-sp.png) no-repeat bottom/cover;
  }
}
.familyFishing .activityMenuArea::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -2.578125vw;
  left: 0;
  width: 100vw;
  height: 2.65625vw;
  background: url(../img/common/img_wave-white-reverse.png) no-repeat bottom/cover;
  transform: scaleY(-1);
}
@media screen and (max-width: 768px) {
  .familyFishing .activityMenuArea::after {
    bottom: -3.7333333333vw;
    height: 4vw;
    background: url(../img/common/img_wave-white-reverse-sp.png) no-repeat bottom/cover;
  }
}
.familyFishing .activityMenuWrap {
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .familyFishing .activityMenuWrap {
    margin-top: 40px;
  }
}
@media screen and (max-width: 768px) {
  .familyFishing .activityMenuWrap {
    padding: 0 15px;
  }
}
.familyFishing .activityMenuPriceList__title {
  font-size: 20px;
  min-width: 11em;
}
.familyFishing .activityMenuPriceList__detail {
  align-self: center;
  min-width: 3.5em;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .familyFishing .activityMenuPriceList__title {
    font-size: 16px;
    min-width: 11em;
  }
}
.familyFishing .activityMenuPriceList__title--sub {
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .familyFishing .activityMenuPriceList__title--sub {
    font-size: 14px;
  }
}
.familyFishing .activityMenuContentsList {
  gap: 0;
  padding: 8.5px 0;
}
@media screen and (max-width: 768px) {
  .familyFishing .activityMenuContentsList {
    padding: 8px 0;
  }
}
.familyFishing .activityMenuContentsList__title {
  min-width: 5.9em;
}
@media screen and (max-width: 768px) {
  .familyFishing .activityMenuContentsList__title {
    min-width: 5.5em;
  }
}
.familyFishing .activityMenuContentsList__detail {
  font-size: 16px;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .familyFishing .activityMenuContentsList__detail {
    font-size: 14px;
  }
}
.familyFishing .attentionContainer {
  padding: 32px clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px) 34.5px;
  margin-top: 45px;
  background-color: #f4f7f8;
}
@media screen and (max-width: 768px) {
  .familyFishing .attentionContainer {
    padding: 30px 15px;
    margin: 28px -15px 0;
  }
}
.familyFishing .attentionTextBox {
  display: flex;
  flex-direction: column;
  gap: 9px 0;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .familyFishing .attentionTextBox {
    gap: 15px 0;
  }
}
.familyFishing .attentionTitle {
  position: relative;
  font-size: 18px;
  font-weight: bold;
  padding-left: 28px;
}
.familyFishing .attentionTitle::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  display: block;
  width: 23px;
  height: 23px;
  background: url(/assets/img/activity/familyFishing/ico_attention.png) no-repeat center/contain;
  line-height: 1.7;
}
@media screen and (max-width: 768px) {
  .familyFishing .attentionTitle {
    font-size: 16px;
    line-height: 1.5;
  }
}
@media screen and (max-width: 768px) {
  .familyFishing .attentionTitle::before {
    top: 0;
    transform: none;
  }
}
.familyFishing .attentionList {
  display: flex;
  flex-direction: column;
  gap: 8px 0;
  margin-top: 1px;
}
@media screen and (max-width: 768px) {
  .familyFishing .attentionList {
    gap: 6px 0;
  }
}
.familyFishing .attentionList__item {
  display: inline-block;
  position: relative;
  padding-left: 16px;
  font-size: 16px;
  line-height: 1.5;
}
.familyFishing .attentionList__item::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #1b2324;
}
@media screen and (max-width: 768px) {
  .familyFishing .attentionList__item::before {
    top: 8px;
    transform: none;
  }
}
@media screen and (max-width: 768px) {
  .familyFishing .attentionList__item {
    font-size: 14px;
  }
}
.familyFishing .activityMenuBtn {
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .familyFishing .activityMenuBtn {
    margin-top: 60px;
  }
}
.familyFishing .attentionList__itemLink {
  text-decoration: underline;
}
.familyFishing .attentionList__itemLink:hover {
  text-decoration: none;
}
.familyFishing .gourmetMenuBtnBox {
  margin-top: 59px;
}
.familyFishing .scheduleArea {
  padding-top: 87px;
  padding-bottom: 170px;
}
.familyFishing .scheduleWrap {
  margin-top: 65px;
}
.familyFishing .calendarArea {
  padding-bottom: 140px;
}
.familyFishing .c-btn .c-btn__circle {
  background-color: #379AEF;
}

/**********************************************************

contact

***********************************************************/
.subContact .pageLead__textBox {
  margin-top: 0;
}

.telLink {
  color: #3CA4BC;
  text-decoration: underline;
  padding-left: 16px;
  position: relative;
}
.telLink::before {
  content: "";
  display: block;
  position: absolute;
  top: 6px;
  left: 0px;
  width: 15px;
  height: 15px;
  background: url(../img/common/ico_footer-tell.svg) no-repeat center/contain;
  transform: rotate(13deg);
}
.telLink:hover {
  text-decoration: none;
}

@media screen and (max-width: 768px) {
  .telLink {
    padding-left: 14px;
  }
  .telLink::before {
    width: 13px;
    height: 13px;
  }
}
/**********************************************************

/* contactArea

***********************************************************/
.contactArea {
  padding-top: 33px;
  padding-bottom: 67px;
}

.contactFormBox {
  padding: 58px clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px) 80px;
  margin-top: 68px;
  background-color: #FFFFFF;
}

.contactForm {
  margin: auto;
}
.contactForm input, .contactForm textarea, .contactForm select {
  background-color: #FFFFFF;
  border: 1px solid #B7B8BF;
  padding: 6px 17px 8px;
  width: 335px;
  font-size: 16px;
  line-height: 2;
  color: #001C10;
  text-align: left;
}
.contactForm textarea {
  width: 690px;
  height: 204px;
  max-width: 100%;
}
.contactForm select, .contactForm #your_age {
  width: 100px;
}
.contactForm .contactFormBtnBox {
  margin: 56px auto 0;
  background-color: #1B2324;
  max-width: 320px;
  position: relative;
}
.contactForm .contactFormBtnBox:hover .contactFormBtn {
  color: #1B2324;
  background-color: #ffffff;
}
.contactForm .contactFormBtnBox:hover .contactFormBtn__deco::before {
  background-color: #1B2324;
}
.contactForm .contactFormBtn {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  max-width: 320px;
  width: 100%;
  height: -moz-fit-content;
  height: fit-content;
  padding: 20px 35px;
  margin-top: 0;
  color: #ffffff;
  background-color: #1B2324;
  border: 2px solid #1B2324;
  border-radius: 0;
  transition: 0.3s;
}
.contactForm .contactFormBtn__deco {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 18px;
  margin: auto;
  width: 16px;
  height: 8px;
  transition: 0.3s;
  z-index: 11;
}
.contactForm .contactFormBtn__deco::before {
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  right: 550%;
  margin: auto;
  width: 100%;
  height: 100%;
  width: 8px;
  height: 13px;
  background-color: #FFFFFF;
  mask-image: url(../img/common/ico_btn-arrow.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(../img/common/ico_btn-arrow.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  transition: 0.3s;
}
.contactForm .contactFormBtnBox.is-disabled {
  opacity: 0;
  visibility: hidden;
  transition: 0.3;
  pointer-events: none;
  cursor: not-allowed;
}

.contactForm__item {
  display: flex;
  align-items: center;
  gap: 0 20px;
}
.contactForm__item + .contactForm__item {
  padding-top: 24px;
  margin-top: 28px;
  border-top: 1px solid #E3E3E3;
}
.contactForm__item:nth-child(n+3) {
  margin-top: 25px;
}
.contactForm__item:first-of-type .contactForm__txt {
  margin-left: 8px;
  margin-top: 9px;
}
.contactForm__item.contactForm__item--radio {
  align-items: flex-start;
}
.contactForm__item.contactForm__item--radio .contactForm__ttl {
  margin-bottom: 0;
}
.contactForm__item.contactForm__item--radio .contactForm__txt {
  font-size: 16px;
}
.contactForm__item.contactForm__item--radio .wpcf7-form-control {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px 0;
  line-height: 1;
  margin-top: -3px;
}
.contactForm__item.contactForm__item--radio .wpcf7-list-item {
  position: relative;
  margin-left: 2px;
}
.contactForm__item.contactForm__item--radio .wpcf7-list-item label {
  cursor: pointer;
}
.contactForm__item.contactForm__item--radio .wpcf7-list-item input {
  display: none;
  border: none;
  width: 0;
  padding: 0;
}
.contactForm__item.contactForm__item--radio .wpcf7-list-item-label {
  position: relative;
  padding-left: 33px;
}
.contactForm__item.contactForm__item--radio .wpcf7-list-item-label::before {
  display: block;
  position: absolute;
  top: 2px;
  left: 0;
  width: 23px;
  height: 23px;
  margin: auto;
  border: 1px solid #B7B8BF;
  border-radius: 50%;
  background-color: #FFFFFF;
  content: "";
  z-index: 0;
}
.contactForm__item.contactForm__item--radio .wpcf7-list-item-label::after {
  content: "";
  display: block;
  position: absolute;
  top: 6px;
  left: 4px;
  width: 15px;
  height: 15px;
  margin: auto;
  border-radius: 50%;
  background-color: #3CA4BC;
  transition: 0.3s;
  opacity: 0;
}
.contactForm__item.contactForm__item--radio input[type=radio]:checked + .wpcf7-list-item-label::after {
  opacity: 1;
}
.contactForm__item.contactForm__item--textarea {
  align-items: flex-start;
}
.contactForm__item.contactForm__item--textarea .contactForm__ttl {
  margin-top: 5px;
  margin-bottom: 0;
}

.contactForm__ttl {
  width: 210px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 16px;
  font-weight: 700;
  flex-shrink: 0;
  margin-bottom: 6px;
}

.contactForm__require {
  display: inline-block;
  font-size: 13px;
  font-weight: 500;
  line-height: 1;
  padding: 5px 8px 7px;
  color: #FFFFFF;
  background-color: #CE4230;
}

.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;
}

.privacyPolicyAgreeBox {
  width: -moz-fit-content;
  width: fit-content;
  margin: 38px auto 0;
}
.privacyPolicyAgreeBox label {
  display: flex;
  gap: 16px;
}

.privacyPolicyBtn {
  width: 30px;
  height: 30px;
  border: 1px solid #8B8B8B;
  cursor: pointer;
  position: relative;
}
.privacyPolicyBtn.js-checked::after {
  content: "";
  background: url(../img/common/ico_check.svg) no-repeat center/contain;
  width: 20px;
  height: 17px;
  position: absolute;
  top: 50%;
  left: 5px;
  transform: translateY(-50%);
}
.privacyPolicyBtn input {
  background-color: transparent;
  border: none;
  padding: 0;
  width: 100%;
  height: 100%;
  vertical-align: unset;
}

.privacyPolicyText {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.67;
}

.privacyPolicyLink {
  color: #3CA4BC;
  text-decoration: underline;
}
.privacyPolicyLink:hover {
  text-decoration: none;
}

@media screen and (max-width: 768px) {
  .contactArea {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .contactFormBox {
    margin-top: 49px;
    padding: 48px 15px 50px;
  }
  .contactForm form {
    width: 100%;
  }
  .contactForm input, .contactForm textarea {
    width: 100%;
  }
  .contactForm textarea {
    height: 175px;
  }
  .contactForm .wpcf7-form-control-wrap {
    width: 100%;
  }
  .contactForm .contactFormBtnBox {
    margin-top: 40px;
    max-width: 285px;
  }
  .contactForm .contactFormBtn__deco::before {
    top: -3px;
    right: 408%;
  }
  .contactForm__item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    padding: 0;
  }
  .contactForm__item + .contactForm__item {
    padding-top: 23px;
    margin-top: 29px;
  }
  .contactForm__item:nth-child(n+3) {
    margin-top: 24px;
  }
  .contactForm__item.contactForm__item--radio .wpcf7-form-control {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 22px 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: 4.5px;
    left: 0;
  }
  .contactForm__item.contactForm__item--radio .wpcf7-form-control .wpcf7-list-item label {
    gap: 12px;
  }
  .contactForm__item.contactForm__item--radio .wpcf7-form-control input[type=radio] {
    top: 5.5px;
    left: 1px;
  }
  .contactForm__item.contactForm__item--radio .contactForm__txt {
    font-size: 14px;
  }
  .contactForm__item.contactForm__item--radio .wpcf7-list-item-label::before {
    top: 0;
  }
  .contactForm__item.contactForm__item--radio .wpcf7-list-item-label::after {
    top: 4px;
  }
  .contactForm__item:first-of-type .contactForm__txt {
    margin-left: 0;
    margin-top: 11px;
  }
  .contactForm__item--textarea {
    align-items: baseline;
  }
  .contactForm__ttl {
    width: 100%;
    justify-content: initial;
    align-items: end;
    gap: 0 8px;
    margin-top: 0;
  }
  .contactForm__txt {
    width: 100%;
  }
  .privacyPolicyAgreeBox {
    margin-top: 50px;
  }
  .privacyPolicyAgreeBox label {
    align-items: center;
    gap: 12px;
  }
  .privacyPolicyText {
    font-size: 14px;
    line-height: 1.5;
  }
}
.contact-notice {
  margin-top: 30px;
  margin-left: 34px;
}

.contact-notice-text {
  font-weight: 500;
  font-size: 16px;
  line-height: 1.67;
  padding-left: 1em;
  text-indent: -1em;
}

@media screen and (max-width: 768px) {
  .contact-notice {
    margin-left: 0;
  }
  .contact-notice-text {
    font-size: 14px;
    line-height: 1.5;
  }
  .contact-notice-text + .contact-notice-text {
    margin-top: 9px;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* thanks
――――――――――――――――――――――――――――――――――――――――――――――*/
.subContact-thanks .pageLead__title {
  color: #3CA4BC;
}
.subContact-thanks .pageLead__text {
  text-align: center;
}
.subContact-thanks .thanks__btnBox {
  margin-top: 54px;
}

/**********************************************************

topic

***********************************************************/
.topicArea {
  padding-top: 35px;
  padding-bottom: 68px;
}
.topicArea .pagination {
  margin-top: 60px;
}

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

.topic-main-box {
  flex: 1 1 735px;
}

.topicList {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 15px;
  width: 100%;
}

.topic-aside {
  flex: 1 0 245px;
  width: 100%;
  max-width: 245px;
}

.topicListItem {
  background-color: #FFFFFF;
  padding: 25px 30px;
}

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

.topicListItem__imgBox {
  flex: 1 0.5 220px;
  width: 100%;
  max-width: 220px;
  aspect-ratio: 220/147;
  overflow: hidden;
}

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

.topicListItem__cont {
  flex: 1 1 425px;
  width: 100%;
  max-width: 425px;
  font-weight: 500;
}

.topicListItem__head {
  display: flex;
  align-items: center;
  font-size: 10px;
  line-height: 1;
}

.tagGourmet .topicListItem__category {
  background-color: #EF4537;
  border: 1px solid #EF4537;
}
.tagGourmet .topicListItem__shop {
  color: #EF4537;
  background-color: #ffffff;
  border: 1px solid #EF4537;
}

.tagActivity .topicListItem__category {
  background-color: #379AEF;
  border: 1px solid #379AEF;
}
.tagActivity .topicListItem__shop {
  color: #379AEF;
  background-color: #ffffff;
  border: 1px solid #379AEF;
}

.tagShopping .topicListItem__category {
  background-color: #EFB637;
  border: 1px solid #EFB637;
}
.tagShopping .topicListItem__shop {
  color: #EFB637;
  background-color: #ffffff;
  border: 1px solid #EFB637;
}

.topicListItem__category {
  color: #fff;
  background-color: #3CA4BC;
  border: 1px solid #3CA4BC;
  padding: 3.5px 4.5px 4.5px 4.5px;
}

.topicListItem__shop {
  padding: 3.5px 4.5px 4.5px 4.5px;
}

.topicListItem__contTtl {
  font-size: 16px;
  line-height: 1.40625;
  font-weight: 700;
  margin-top: 14px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.topicListItem__contTxtBox {
  margin-top: 11px;
}

.topicListItem__contTxt {
  font-size: 14px;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.topicListItem__contDateBox {
  margin-top: 6px;
}

.topicListItem__contDate {
  font-size: 14px;
  color: #AFAFAF;
}

.aside-list-item + .aside-list-item {
  margin-top: 40px;
}
.aside-list-item .wpp-shortcode {
  margin-top: 22px;
}

.topic-aside__category-ttl {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.875;
  color: #3CA4BC;
  background-color: #fff;
  padding: 3px 20px 5px 20px;
}

.topic-aside__category-linkList {
  width: 100%;
  margin-top: 22px;
}

.topic-aside__category-linkListItem {
  width: 100%;
  padding-top: 10px;
  padding-bottom: 11px;
  border-bottom: 1px solid #C9CBD3;
}
.topic-aside__category-linkListItem:first-of-type {
  padding-top: 0;
}

.topic-aside__category-link {
  display: block;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  width: -moz-fit-content;
  width: fit-content;
  padding-left: 15px;
  position: relative;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.subTopic .link-triangle--l {
  position: relative;
}
.subTopic .link-triangle--l::before {
  content: "";
  display: block;
  width: 7px;
  height: 9px;
  position: absolute;
  top: 6px;
  left: 0;
  background: none;
  background-color: #3CA4BC;
  mask-image: url(../img/common/ico_triangle02.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(../img/common/ico_triangle02.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  transition: 0.3s;
}
.subTopic .--gourmet .link-triangle--l::before,
.subTopic .--activity .link-triangle--l::before,
.subTopic .--shopping .link-triangle--l::before {
  content: "";
  top: 9px;
  mask-image: url(../img/common/ico_triangle03.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(../img/common/ico_triangle03.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
}
.subTopic .--gourmet .link-triangle--l::before {
  background-color: #EF4537;
}
.subTopic .--activity .link-triangle--l::before {
  background-color: #379AEF;
}
.subTopic .--shopping .link-triangle--l::before {
  background-color: #EFB637;
}

.topic-aside__category-link + .topic-aside__category-link {
  margin-top: 9px;
}

.topic-aside__category-link__title {
  margin-right: -4px;
}

.searchBox {
  margin-top: 22px;
}

.searchForm {
  display: flex;
  gap: 10px;
}

.searchFormContent {
  font-size: 14px;
  line-height: 1.5;
  background-color: #ffffff;
  border: 1px solid #BFBFBF;
  width: 183px;
  padding: 7.5px 15px 9.5px;
}
.searchFormContent::-moz-placeholder {
  color: #BFBFBF;
}
.searchFormContent::placeholder {
  color: #BFBFBF;
}

.searchFormContent__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 14px;
  line-height: 1.5;
  background-color: #1B2324;
  width: 52px;
  padding: 7.5px 11px 9.5px;
}

.categoryWrap {
  margin-top: 20px;
}

.categoryBox {
  padding-bottom: 16.5px;
  border-bottom: 1px solid #BFBFBF;
}
.categoryBox + .categoryBox {
  margin-top: 11.5px;
}
.categoryBox:nth-of-type(n+3) {
  padding-bottom: 12px;
}

.category__link {
  display: inline-block;
  width: -moz-fit-content;
  width: fit-content;
}

.categoryBox .category {
  font-size: 16px;
  line-height: 1.67;
  font-weight: 700;
  padding-left: 33px;
  position: relative;
}
.categoryBox .category::before {
  content: "";
  background: url(../img/common/ico_gourmet.svg) no-repeat center/contain;
  width: 26.45px;
  height: 23.21px;
  position: absolute;
  top: 5%;
  left: 0;
}

.--activity .category::before {
  background: url(../img/common/ico_activity.svg) no-repeat center/contain;
  top: 8%;
}

.--shopping .category::before {
  background: url(../img/common/ico_shopping.svg) no-repeat center/contain;
  top: 3%;
}

.--other .category {
  padding-left: 31px;
}
.--other .category::before {
  top: 14%;
  left: 4px;
  width: 18px;
  height: 17.72px;
}
.--other.--event .category::before {
  background: url(../img/common/ico_event-color.svg) no-repeat center/contain;
}
.--other.--news .category {
  padding-left: 31px;
}
.--other.--news .category::before {
  background: url(../img/common/ico_news.svg) no-repeat center/contain;
  top: 16%;
}
.--other.--all .category {
  padding-left: 31px;
}
.--other.--all .category::before {
  background: url(../img/common/ico_dots.svg) no-repeat center/contain;
  top: 17%;
}

.categoryList {
  margin-left: 33px;
  margin-top: 6px;
}

.categoryListItem + .categoryListItem {
  margin-top: 1px;
}

.categoryListItem__link {
  padding-left: 12px;
}

.categoryListItem__linkText {
  font-size: 14px;
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  .topicArea {
    padding-top: 23px;
    padding-bottom: 20px;
  }
  .topicArea .pagination {
    margin-top: 50px;
  }
  .topic-box {
    flex-direction: column;
    gap: 80px;
  }
  .topic-main-box {
    flex: 1 1 100%;
    width: 100%;
  }
  .topicList {
    flex-direction: row;
  }
  .topicListItem {
    padding: 25px 15px 19px;
    flex: 1 1 calc((100% - 15px) / 2);
    width: 100%;
    min-width: 200px;
  }
  .topicListItem__link {
    flex-direction: column;
    gap: 20px;
  }
  .topicListItem__imgBox {
    flex: 1 1 100%;
    max-width: 100%;
  }
  .topicListItem__cont {
    flex: 1 1 100%;
    max-width: 100%;
  }
  .topicListItem__contTtl {
    font-size: 16px;
    line-height: 1.40625;
    margin-top: 13px;
  }
  .topicListItem__imgBox {
    flex-shrink: 0.7;
  }
  .topic-aside {
    position: static;
    flex: 1 1 100%;
    width: 100%;
    max-width: 100%;
    padding-left: 15px;
    padding-right: 15px;
  }
  .topicListItem__contTxtBox {
    margin-top: 12px;
  }
  .topic-aside__category-linkList {
    margin-top: 22px;
  }
  .topic-aside__newPostsList {
    margin-top: 22px;
  }
  .topic-aside__newPosts-date {
    margin-top: 5px;
  }
  .searchFormContent {
    width: calc(100% - 62px);
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* Pagination
――――――――――――――――――――――――――――――――――――――――――――――*/
.pagination {
  display: flex;
  justify-content: center;
}

.pagination ul {
  display: flex;
  gap: 8px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.pagination li {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #3CA4BC;
  background-color: #EDEEF0;
  border: 1px solid #3CA4BC;
  width: 30px;
  height: 30px;
  line-height: 1;
  font-size: 16px;
  font-weight: 600;
}

.pagination li a .paginationText,
.pagination li span.current .paginationText {
  margin-top: -2.5px;
}

.pagination li a,
.pagination li span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  text-decoration: none;
  padding-bottom: 3px;
}

.pagination li span.current {
  color: #fff;
  border: none;
  background-color: #3CA4BC;
}

.pagination li a:hover {
  color: #fff;
  border: none;
  background-color: #3CA4BC;
  opacity: 1;
}

.pagination li:hover {
  border: none;
}

@media screen and (max-width: 768px) {
  .pagination {
    margin-top: 40px;
  }
}
.archiveTitle {
  font-family: "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "Zen Kaku Gothic New", sans-serif;
  font-size: clamp(24px, 24px + 4 * (100vw - 768px) / 512, 28px);
  font-weight: 600;
  margin-bottom: 30px;
}
.archiveTitle span {
  color: #3CA4BC;
}
.archiveTitle span.--gourmet {
  color: #EF4537;
}
.archiveTitle span.--activity {
  color: #379AEF;
}
.archiveTitle span.--shopping {
  color: #EFB637;
}

/**********************************************************

mapArea  

***********************************************************/
.subtransportationAccess .mapArea {
  padding-top: 35px;
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .mapArea {
    padding-top: 23px;
    padding-bottom: 36px;
  }
}
.subtransportationAccess .mapContainer {
  padding: 0 clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px) 0;
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .mapContainer {
    padding: 0 15px;
  }
}
.subtransportationAccess .mapBox {
  display: block;
  width: 100%;
}
.subtransportationAccess .mapBox__map {
  width: 100%;
  height: 400px;
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .mapBox__map {
    height: 500px;
  }
}
.subtransportationAccess .mapTextBox {
  display: flex;
  flex-direction: column;
  gap: 4px 0;
  margin-top: 27px;
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .mapTextBox {
    gap: 7px 0;
  }
}
.subtransportationAccess .map__name {
  font-size: clamp(18px, 18px + 6 * (100vw - 768px) / 512, 24px);
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .map__name {
    font-size: 18px;
  }
}
.subtransportationAccess .map__address {
  position: relative;
  padding-left: 21px;
  font-size: clamp(16px, 16px + 4 * (100vw - 768px) / 512, 20px);
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .map__address {
    padding-left: 16px;
    font-size: 16px;
  }
}
.subtransportationAccess .map__address::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 16px;
  height: 22.8px;
  background: url(../img/common/ico_address.svg) no-repeat center/contain;
  content: "";
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .map__address::before {
    top: 0;
    transform: translateY(33%);
    width: 13px;
    height: 18px;
  }
}
.subtransportationAccess .navArea {
  padding: 12px 0 clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px);
}
.subtransportationAccess .navContainer {
  padding: 0 clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px) 0;
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .navContainer {
    padding: 0 15px;
  }
}
.subtransportationAccess .navList {
  display: flex;
  justify-content: center;
  gap: 0 25px;
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .navList {
    padding: 0 15px;
    flex-direction: column;
    gap: 15px;
  }
}
.subtransportationAccess .navList__item {
  flex: 1;
  width: calc((100% - 50px) / 3);
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .navList__item {
    width: 100%;
  }
}
.subtransportationAccess .navList__link {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: clamp(30px, 30px + 26 * (100vw - 768px) / 512, 56px) clamp(20px, 20px + 23 * (100vw - 768px) / 512, 43px);
  height: 100%;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .navList__link {
    padding: 36px 38px;
  }
}
.subtransportationAccess .navList__text {
  position: relative;
  display: inline-block;
  font-size: clamp(14px, 14px + 8 * (100vw - 768px) / 512, 22px);
  font-weight: bold;
  text-align: center;
  padding-right: clamp(30px, 30px + 5 * (100vw - 768px) / 512, 35px);
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .navList__text {
    padding-right: 30px;
    margin-left: 10px;
    font-size: 16px;
  }
}
.subtransportationAccess .navList__text::after {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%) rotate(90deg);
  width: clamp(20px, 20px + 5 * (100vw - 768px) / 512, 25px);
  height: clamp(20px, 20px + 5 * (100vw - 768px) / 512, 25px);
  background: url(../img/common/ico_arrow-circle.svg) no-repeat center/contain;
  content: "";
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .navList__text::after {
    width: 21px;
    height: 21px;
  }
}
.subtransportationAccess .directionArea {
  padding-top: clamp(30px, 30px + 24 * (100vw - 768px) / 512, 54px);
  padding-bottom: clamp(20px, 20px + 15 * (100vw - 768px) / 512, 35px);
}
.subtransportationAccess .directionContainer {
  padding: 0 clamp(0px, 0px + 60 * (100vw - 768px) / 512, 60px);
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .directionContainer {
    padding: 0;
  }
}
.subtransportationAccess .directionWrapper {
  padding: 30px clamp(0px, 0px + 60 * (100vw - 768px) / 512, 60px);
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .directionWrapper {
    padding: 43px 0 0;
  }
}
.subtransportationAccess .directionWrapper#bus {
  padding-top: 56px;
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .directionWrapper#bus {
    padding-top: 42px;
  }
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .directionBox.bus .directionWrapper {
    padding-top: 42px;
  }
}
.subtransportationAccess .directionWrapper#train {
  padding-top: 54px;
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .directionWrapper#train {
    padding: 57px 0 0;
  }
}
.subtransportationAccess .directionWrapper#plane {
  padding-top: 55px;
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .directionWrapper#plane {
    padding-top: 41px;
  }
}
.subtransportationAccess .directionBox {
  position: relative;
  padding-bottom: 80px;
}
.subtransportationAccess .directionWrapper:nth-of-type(4) .directionBox {
  padding-bottom: 0;
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .directionBox {
    padding-bottom: 62px;
  }
}
.subtransportationAccess .directionBox.train {
  padding-bottom: 80px;
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .directionBox.train {
    padding-bottom: 61px;
  }
}
.subtransportationAccess .directionBox.plane {
  padding-bottom: 77px;
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .directionBox.plane {
    padding-bottom: 67px;
  }
}
.subtransportationAccess .directionBox::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #BFBFBF;
  content: "";
}
.subtransportationAccess .directionContainer > .directionWrapper:last-child .directionBox::after {
  content: none;
}
.subtransportationAccess .directionTitle {
  display: block;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .directionBox.plane .directionTitle {
    margin-top: 17px;
  }
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .directionBox.bus .directionTitle {
    margin-top: 14px;
  }
}
.subtransportationAccess .directionTitle__text {
  position: relative;
  display: inline-block;
  padding-left: 65px;
  font-size: clamp(30px, 30px + 6 * (100vw - 768px) / 512, 36px);
  font-weight: bold;
  line-height: 1.2;
  color: #3CA4BC;
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .directionTitle__text {
    padding-left: 48px;
    font-size: 24px;
  }
}
.subtransportationAccess .directionTitle__text::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 50px;
  height: 40px;
  background: url(../img/model-course/transportationAccess/ico_car.png) no-repeat center/contain;
  content: "";
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .directionTitle__text::before {
    width: 38px;
    height: 30px;
  }
}
.subtransportationAccess .directionBox.train .directionTitle__text::before {
  transform: translateY(-43%);
  width: 39px;
  height: 49px;
  background: url(../img/model-course/transportationAccess/ico_train.png) no-repeat center/contain;
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .directionBox.train .directionTitle__text::before {
    width: 29px;
    height: 36px;
  }
}
.subtransportationAccess .directionBox.plane .directionTitle__text::before {
  transform: translateY(-43%);
  width: 61px;
  height: 48px;
  background: url(../img/model-course/transportationAccess/ico_plane.png) no-repeat center/contain;
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .directionBox.plane .directionTitle__text::before {
    width: 41px;
    height: 31px;
  }
}
.subtransportationAccess .directionBox.bus .directionTitle__text::before {
  transform: translateY(-50%);
  width: 43px;
  height: 51px;
  background: url(../img/model-course/transportationAccess/ico_bus.png) no-repeat center/contain;
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .directionBox.bus .directionTitle__text::before {
    width: 30px;
    height: 35px;
  }
}
.subtransportationAccess .directionBox.train .directionTitle__text {
  padding-left: 55px;
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .directionBox.train .directionTitle__text {
    padding-left: 37px;
  }
}
.subtransportationAccess .directionBox.plane .directionTitle__text {
  padding-left: 76px;
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .directionBox.plane .directionTitle__text {
    padding-left: 50px;
  }
}
.subtransportationAccess .directionBox.bus .directionTitle__text {
  padding-left: 58px;
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .directionBox.bus .directionTitle__text {
    padding-left: 37px;
  }
}
.subtransportationAccess .direction__imgBox {
  position: relative;
  margin-top: 57px;
  padding: clamp(25px, 25px + 15 * (100vw - 768px) / 512, 40px) clamp(69px, 69px + 15 * (100vw - 768px) / 512, 84px) clamp(35px, 35px + 15 * (100vw - 768px) / 512, 50px);
  width: 100%;
  height: auto;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .direction__imgBox {
    margin-top: 40px;
    padding: 30px 15px;
  }
}
.subtransportationAccess .directionBox.train .direction__imgBox {
  margin-top: 60px;
  padding: clamp(25px, 25px + 15 * (100vw - 768px) / 512, 40px) clamp(32px, 32px + 15 * (100vw - 768px) / 512, 47px) clamp(30px, 30px + 15 * (100vw - 768px) / 512, 45px);
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .directionBox.train .direction__imgBox {
    margin-top: 42px;
    padding: 30px 15px;
  }
}
.subtransportationAccess .directionBox.plane .direction__imgBox {
  margin-top: 56px;
  padding: clamp(25px, 25px + 15 * (100vw - 768px) / 512, 40px) clamp(32px, 32px + 15 * (100vw - 768px) / 512, 47px) clamp(27px, 27px + 15 * (100vw - 768px) / 512, 42px);
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .directionBox.plane .direction__imgBox {
    margin-top: 40px;
    padding: 30px 15px;
  }
}
.subtransportationAccess .direction__img {
  width: 100%;
  margin: 0 auto;
}
.subtransportationAccess .direction__textBox {
  display: flex;
  flex-direction: column;
  gap: 21px;
  margin-top: 53px;
  line-height: 1.65;
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .direction__textBox {
    margin-top: 35px;
    padding: 0 15px;
    gap: 17px;
    line-height: 1.5;
  }
}
.subtransportationAccess .directionBox.train .direction__textBox {
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .directionBox.train .direction__textBox {
    margin-top: 36px;
  }
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .directionBox.bus .direction__textBox {
    margin-top: 42px;
  }
}
.subtransportationAccess .direction__textWrap {
  display: flex;
}
.subtransportationAccess .direction__text {
  position: relative;
  padding-left: 12px;
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .direction__text {
    padding-left: 10px;
    font-size: 14px;
  }
}
.subtransportationAccess .direction__number {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  padding-bottom: 3px;
  width: 28px;
  height: 28px;
  font-size: 18px;
  color: #fff;
  border-radius: 50%;
  background-color: #3CA4BC;
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .direction__number {
    font-size: 15px;
    width: 25px;
    height: 25px;
  }
}
.subtransportationAccess .direction__text__inner {
  display: block;
  padding-left: 1em;
  text-indent: -1em;
}
.subtransportationAccess .direction__text__accent {
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .direction__noteBoxWrapper {
    padding: 0 15px;
  }
}
.subtransportationAccess .direction__noteBox {
  margin-top: 31px;
  padding: 22.5px 40px 26.5px;
  background-color: #F7F7F7;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .direction__noteBox {
    display: flex;
    flex-direction: column;
    gap: 6px 0;
    margin-top: 37px;
    padding: 16px 14px 13px;
  }
}
.subtransportationAccess .directionBox.train .direction__noteBox {
  padding: 22.5px 40px 20.5px;
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .directionBox.train .direction__noteBox {
    margin-top: 36px;
    padding: 14px 12px;
  }
}
.subtransportationAccess .direction__note {
  position: relative;
  padding-left: 1em;
  text-indent: -1em;
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .subtransportationAccess .direction__note {
    font-size: 14px;
  }
}

/**********************************************************

mapArea  

***********************************************************/
.subPrivacy .privacyArea {
  padding-top: 34px;
  padding-bottom: 69px;
}
@media screen and (max-width: 768px) {
  .subPrivacy .privacyArea {
    padding-top: 21px;
    padding-bottom: 19px;
  }
}
.subPrivacy .privacyWrap {
  margin: 0 auto;
  max-width: 920px;
}
@media screen and (max-width: 768px) {
  .subPrivacy .privacyWrap {
    padding: 0 15px;
  }
}
.subPrivacy .privacyList {
  display: flex;
  flex-direction: column;
  margin-top: 73px;
}
@media screen and (max-width: 768px) {
  .subPrivacy .privacyList {
    margin-top: 58px;
  }
}
.subPrivacy .privacyList__item {
  position: relative;
  padding-bottom: 29.5px;
  border-bottom: 1px solid #D3D3D3;
}
.subPrivacy .privacyList__item:last-of-type {
  padding-bottom: 0;
  border-bottom: none;
}
.subPrivacy .privacyList__item + .privacyList__item {
  margin-top: 24px;
}
.subPrivacy .privacyList__title {
  font-size: 20px;
  line-height: 1.95;
  font-weight: bold;
  color: #3CA4BC;
}
@media screen and (max-width: 768px) {
  .subPrivacy .privacyList__item {
    padding-bottom: 29px;
  }
  .subPrivacy .privacyList__item + .privacyList__item {
    margin-top: 25px;
  }
  .subPrivacy .privacyList__title {
    font-size: 18px;
  }
}
.subPrivacy .privacyList__text {
  font-size: 16px;
  line-height: 1.5;
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .subPrivacy .privacyList__text {
    font-size: 14px;
    margin-top: 13px;
  }
}
.subPrivacy .privacySubList {
  display: flex;
  flex-direction: column;
  gap: 1px;
  margin-top: 14px;
}
@media screen and (max-width: 768px) {
  .subPrivacy .privacySubList {
    margin-top: 12px;
    gap: 3px;
  }
}
.subPrivacy .privacySubList__item {
  position: relative;
  font-size: 16px;
  line-height: 1.7;
  padding-left: 13px;
}
@media screen and (max-width: 768px) {
  .subPrivacy .privacySubList__item {
    font-size: 14px;
    line-height: 1.5;
  }
}
.subPrivacy .privacySubList__item::before {
  position: absolute;
  top: 0.9em;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 5px;
  height: 5px;
  background-color: #3CA4BC;
  border-radius: 50%;
  content: "";
}
@media screen and (max-width: 768px) {
  .subPrivacy .privacySubList__item::before {
    top: 10px;
  }
}
.subPrivacy .privacyList__note {
  font-size: 16px;
  line-height: 1.5;
  margin-top: 17px;
  text-indent: -1em;
  padding-left: 1em;
}
@media screen and (max-width: 768px) {
  .subPrivacy .privacyList__note {
    font-size: 14px;
    line-height: 1.5;
    margin-top: 18px;
  }
}

.privacy__text-indent {
  display: block;
  text-indent: 0.5ch;
}

/**********************************************************

topic-article

***********************************************************/
.subTopicArticle .topicArea {
  padding-bottom: 66px;
}
.subTopicArticle .topic-main-wrap {
  background-color: #fff;
  padding: 49px clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px) 50px;
}
.subTopicArticle .topic-main-wrap p {
  font-size: 14px;
  line-height: 1.5;
}
.subTopicArticle .topic-main-wrap p + p {
  margin-top: 24px;
}
.subTopicArticle .topic__ttl {
  font-size: clamp(20px, 20px + 4 * (100vw - 768px) / 512, 24px);
  font-weight: 700;
  line-height: 1.65;
}
.subTopicArticle .topic__ttlSubBox {
  display: flex;
  justify-content: space-between;
  margin-top: 21px;
}
.subTopicArticle .topic__ttlBox {
  margin-bottom: 37px;
}
.subTopicArticle .topicPostHeading--h2 {
  font-size: 18px;
  line-height: 1.4844444444;
  color: #fff;
  background-color: #3CA4BC;
  padding: 9px 21px 10.2813px;
  position: relative;
  margin-top: 45px;
  margin-bottom: 34px;
}
.subTopicArticle .topicPostHeading--h2::before {
  content: "";
  background: url(../img/common/ico_article-triangle.svg) no-repeat center/contain;
  width: 11px;
  height: 9px;
  position: absolute;
  bottom: -8px;
  left: 7.3%;
}
.subTopicArticle .topicPostHeading--h3 {
  font-size: 16px;
  line-height: 1.4844444444;
  font-weight: 700;
  background-color: #EFEFEF;
  padding: 6px 14px 8px 21px;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  margin-top: 40px;
  margin-bottom: 19px;
}
.subTopicArticle .topicPostHeading--h3::before {
  content: "";
  width: 6px;
  height: 100%;
  background: #3CA4BC;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.subTopicArticle .topicPostHeading--h4 {
  font-size: 16px;
  line-height: 1.4844444444;
  font-weight: 700;
  color: #3CA4BC;
  margin-top: 35px;
  margin-bottom: 15px;
}
.subTopicArticle .topic__imgBox {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 39px;
}
.subTopicArticle .topic__imgBox img {
  max-width: 100%;
  height: auto;
}
.subTopicArticle .wp-block-image {
  max-width: 350px;
  width: 100%;
  margin: 44px auto;
  text-align: center;
}
.subTopicArticle .wp-block-image figcaption {
  font-size: 14px;
  line-height: 1.5;
  margin-top: 14px;
}
.subTopicArticle .topic__img {
  width: 100%;
  height: auto;
}
.subTopicArticle .c-btnBox {
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .subTopicArticle .topicArea {
    padding-bottom: 20px;
  }
  .subTopicArticle .topic-main-wrap {
    padding: 43px 15px 46px;
  }
  .subTopicArticle .topic__ttlBox {
    margin-bottom: 33px;
  }
  .subTopicArticle .topicPostHeading--h2 {
    margin-top: 44px;
    margin-bottom: 26px;
  }
  .subTopicArticle .topicPostHeading--h2::before {
    left: 14%;
  }
  .subTopicArticle .topicPostHeading--h3 {
    margin-top: 35px;
    margin-bottom: 20px;
  }
  .subTopicArticle .topicPostHeading--h4 {
    margin-bottom: 14px;
  }
  .subTopicArticle .topic__imgBox {
    margin-bottom: 35px;
  }
  .subTopicArticle .topic__imgBox--s {
    max-width: 76vw;
    margin-top: 34px auto;
  }
  .subTopicArticle .topic__imgBox--s figcaption {
    margin-top: 10px;
  }
}
.subTopicArticle .shareArea {
  text-align: center;
  margin-top: 50px;
  padding-top: 24px;
  border-top: 1px solid #E0E0E0;
}
.subTopicArticle .topic-main-wrap .shareText {
  font-size: 16px;
  font-weight: 700;
  margin-top: 0;
}
.subTopicArticle .shareList {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 3列固定 */
  gap: 15px;
  margin-top: 15px;
}
.subTopicArticle .shareListItem {
  background-color: #0866FF;
  min-height: 38px;
}
.subTopicArticle .shareListItem:nth-of-type(2) {
  background-color: #1C2125;
}
.subTopicArticle .shareListItem:nth-of-type(2) .shareListItem__linkImgBox {
  max-width: 16px;
}
.subTopicArticle .shareListItem:nth-of-type(3) {
  background-color: #06C755;
}
.subTopicArticle .shareListItem:nth-of-type(3) .shareListItem__linkImgBox {
  max-width: 23px;
}
.subTopicArticle .shareListItem__link {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}
.subTopicArticle .shareListItem__linkImgBox {
  width: 100%;
  max-width: 21px;
}
.subTopicArticle .shareListItem__linkImg {
  width: 100%;
  height: auto;
}
.subTopicArticle .topic-pageMoveBox {
  margin-top: 60px;
}
.subTopicArticle .topic-pageMoveList {
  display: flex;
  justify-content: space-between;
}
.subTopicArticle .topic-pageMoveItem {
  width: 26.953125vw;
}
.subTopicArticle .topic-pageMoveItem.--previous {
  margin-right: auto;
}
.subTopicArticle .topic-pageMoveItem.--next {
  margin-left: auto;
}
.subTopicArticle .topic-pageMoveItem.--next .topic-pageMoveItem__link {
  flex-direction: row-reverse;
}
.subTopicArticle .topic-pageMoveItem.--next .topic-pageMoveItem__textSub {
  text-align: right;
  padding-right: 19px;
  padding-left: 0;
}
.subTopicArticle .topic-pageMoveItem.--next .topic-pageMoveItem__textSub::before {
  left: auto;
  right: 0;
  transform: rotate(0deg);
}
.subTopicArticle .topic-pageMoveItem__imgBox {
  max-width: 10.625vw;
  flex-shrink: 0;
}
.subTopicArticle .topic-pageMoveItem__img {
  height: 100%;
}
.subTopicArticle .topic-pageMoveItem__link {
  display: flex;
  align-items: flex-start;
  gap: clamp(12px, 12px + 10 * (100vw - 768px) / 512, 22px);
}
.subTopicArticle .topic-pageMoveItem__textBox {
  display: flex;
  flex-direction: column;
  gap: 7px;
  max-width: 187px;
  margin-top: 11px;
}
.subTopicArticle .topic-pageMoveItem__text {
  font-size: 14px;
  line-height: 1.5;
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.subTopicArticle .topic-pageMoveItem__textSub {
  color: #3CA4BC;
  font-size: 11px;
  font-weight: 700;
  padding-left: 19px;
  position: relative;
}
.subTopicArticle .topic-pageMoveItem__textSub::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 15px;
  height: 15px;
  margin: auto;
  background-color: #3CA4BC;
  mask-image: url(../img/common/ico_arrow-circle-red.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(../img/common/ico_arrow-circle-red.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  transform: scaleX(-1);
}
@media screen and (max-width: 768px) {
  .subTopicArticle .shareArea {
    margin-top: 38.5px;
  }
  .subTopicArticle .shareList {
    gap: 6px;
  }
  .subTopicArticle .topic-pageMoveBox {
    margin-top: 35px;
    padding-left: 15px;
    padding-right: 15px;
  }
  .subTopicArticle .topic-pageMoveItem__link {
    gap: 15px;
  }
  .subTopicArticle .topic-pageMoveItem__imgBox {
    max-width: 30.6666666667vw;
  }
  .subTopicArticle .topic-pageMoveList {
    gap: 15.5px;
  }
  .subTopicArticle .topic-pageMoveItem {
    min-width: 100%;
  }
  .subTopicArticle .topic-pageMoveItem:last-of-type .topic-pageMoveItem__link {
    flex-direction: row;
  }
  .subTopicArticle .topic-pageMoveItem:last-of-type .topic-pageMoveItem__textSub {
    width: -moz-fit-content;
    width: fit-content;
    text-align: left;
  }
  .subTopicArticle .topic-pageMoveList {
    flex-direction: column;
    justify-content: stretch;
  }
  .subTopicArticle .topic-pageMoveItem__textBox {
    margin-top: 3px;
    max-width: 100%;
  }
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* 余白調整
――――――――――――――――――――――――――――――――――――――――――――――*/
.u-pd {
  padding: 0 60px;
}

.u-pd-left {
  padding-left: 60px;
}

.u-pd-right {
  padding-right: 60px;
}

.u-pd0-left {
  margin-left: -60px;
}

.u-pd0-right {
  margin-right: -60px;
}

@media screen and (max-width: 1080px) {
  .u-pd {
    padding: 0 30px;
  }
  .u-pd-left {
    padding-left: 30px;
  }
  .u-pd-right {
    padding-right: 30px;
  }
  .u-pd0-left {
    margin-left: -30px;
  }
  .u-pd0-right {
    margin-right: -30px;
  }
}
@media screen and (max-width: 768px) {
  .u-pd {
    padding: 0 15px;
  }
  .u-pd-left {
    padding-left: 15px;
  }
  .u-pd-right {
    padding-right: 15px;
  }
  .u-pd0-left {
    margin-left: -15px;
  }
  .u-pd0-right {
    margin-right: -15px;
  }
}/*# sourceMappingURL=style.css.map */