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

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

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

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

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

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

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

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

dd {
  margin-left: 0;
}

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

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

address {
  font-style: inherit;
}

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

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

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

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

select:disabled {
  opacity: inherit;
}

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

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

legend {
  padding: 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

caption {
  text-align: left;
}

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

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

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

ブレイクポイント

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

html {
  scroll-behavior: smooth;
  scroll-padding-top: 72px;
}
body {
  min-height: 100svh;
  color: #30363C;
  font-size: 15px;
  font-family: "hiragino-kaku-gothic-pron", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-weight: 300;
  line-height: 1.73;
  background-color: #F0F4F7;
  position: relative;
  overflow-x: clip;
}
body.is-active {
  overflow: hidden;
}
body.js-noscroll {
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  body {
    line-height: 1.6;
  }
}

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

/*――――――――――――――――――――――――――――――――――――――――――――
/* デフォルトの設定
――――――――――――――――――――――――――――――――――――――――――――――*/
img {
  display: block;
  max-width: 100%;
  -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: "hiragino-kaku-gothic-pron", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}

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

.relative {
  position: relative;
}

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

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

@media screen and (max-width: 768px) {
  .l-section {
    padding-right: 20px;
    padding-left: 20px;
  }
  .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;
}

.c-btnBox {
  display: block;
  line-height: 1;
  font-size: 18px;
  font-weight: 600;
  color: #30363C;
  background-color: #C2FF60;
  max-width: 100%;
  width: 348px;
  position: relative;
  transition: 0.3s;
  z-index: 10;
}
.c-btnBox::before, .c-btnBox::after {
  display: block;
  position: absolute;
  top: -2.5px;
  width: 23px;
  height: calc(100% + 5px);
  margin: auto;
  background: url(../img/common/frame_btn.svg) no-repeat center/auto 100%;
  content: "";
  z-index: 1;
}
.c-btnBox::before {
  left: -0.5px;
  transform: rotate(180deg);
}
.c-btnBox:after {
  right: -0.5px;
}
.c-btnBox.--white {
  color: #FFFFFF;
}
.c-btnBox.--white::before, .c-btnBox.--white::after {
  background: url(../img/common/frame_btn-white.svg) no-repeat center/auto 100%;
}
.c-btnBox.--white .c-btn::before {
  background-color: #FFFFFF;
}
.c-btnBox.--accent {
  color: #C2FF60;
}
.c-btnBox.--accent::before, .c-btnBox.--accent::after {
  background: url(../img/common/frame_btn-accent.svg) no-repeat center/auto 100%;
}
.c-btnBox.--accent .c-btn::before {
  background-color: #C2FF60;
}
.c-btnBox.--gray {
  background-color: #F0F4F7;
}

.c-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 16px;
  width: 100%;
  height: 100%;
  padding: 19px 35px 20px;
}
.c-btn::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 27px;
  margin: auto;
  width: 16px;
  height: 8px;
  background-color: #30363C;
  mask-image: url(../img/common/ico_link.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(../img/common/ico_link.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  transition: 0.3s;
}
.c-btn.--ext::before {
  right: 23px;
  width: 16px;
  height: 16px;
  background-color: #30363C;
  mask-image: url(../img/common/ico_extlink.svg);
  -webkit-mask-image: url(../img/common/ico_extlink.svg);
}

@media screen and (max-width: 768px) {
  .c-btn {
    margin: 0 auto;
    width: 100%;
  }
  .c-btn::before {
    right: 20px;
  }
}
/*** c-headerBtn ***/
.c-headerBtnBox {
  font-size: 14px;
  width: 193px;
  background-color: rgba(0, 0, 0, 0.15);
}
.c-headerBtnBox::before, .c-headerBtnBox::after {
  top: -1.5px;
  width: 13px;
  height: calc(100% + 3px);
}

.c-headerBtn {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 14px;
  width: 100%;
  height: 100%;
  padding: 12px 25px;
}
.c-headerBtn::before {
  right: 15px;
  width: 12px;
  height: 6px;
}
.c-headerBtn.--ext::before {
  right: 16px;
  width: 14px;
  height: 14px;
}

@media screen and (max-width: 768px) {
  .c-headerBtnBox::before, .c-headerBtnBox::after {
    top: -1.5px;
    width: 13px;
    height: calc(100% + 3px);
  }
  .c-headerBtn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 12px 25px;
  }
}
/*** c-footerBtnBox ***/
.c-footerBtnBox {
  max-width: 285px;
}
.c-footerBtnBox::before, .c-footerBtnBox::after {
  top: -1px;
  width: 21px;
  height: calc(100% + 2px);
}

.c-footerBtn {
  padding: 21px 25px;
}
.c-footerBtn::before {
  right: 17px;
}

/*** c-menuBtn ***/
.c-menuBtnBox {
  font-size: 16px;
  width: 274px;
}
.c-menuBtnBox::before, .c-menuBtnBox::after {
  top: -1px;
  width: 18px;
  height: calc(100% + 2px);
}

.c-menuBtn {
  padding: 15px 25px;
}
.c-menuBtn::before {
  right: 21px;
  width: 13px;
  height: 7px;
}

/*** c-diverMedicalBtnBox ***/
.c-diverMedicalBtnBox {
  width: 431px;
}
.c-diverMedicalBtnBox::before, .c-diverMedicalBtnBox::after {
  top: -1px;
  width: 18px;
  height: calc(100% + 2px);
}

.c-diverMedicalBtn {
  font-size: 15px;
  padding: 15px 15px 15px 45px;
}
.c-diverMedicalBtn::before {
  left: 30px;
  right: auto;
  width: 18px;
  height: 18px;
  background: url(../img/common/ico_pdf.svg) no-repeat center/contain;
  mask-image: none;
  -webkit-mask-image: none;
}

@media screen and (max-width: 768px) {
  .c-diverMedicalBtnBox {
    width: 431px;
  }
  .c-diverMedicalBtnBox::before, .c-diverMedicalBtnBox::after {
    width: 23px;
  }
  .c-diverMedicalBtn {
    line-height: 1.2;
    padding: 15px 15px 15px 45px;
  }
  .c-diverMedicalBtn::before {
    left: 20px;
    right: auto;
    width: 18px;
    height: 18px;
    background: url(../img/common/ico_pdf.svg) no-repeat center/contain;
    mask-image: none;
    -webkit-mask-image: none;
  }
}
.c-pageTtlArea {
  padding-top: 81px;
  padding-bottom: 51px;
}

.c-secTtl {
  font-family: dnp-shuei-nmincho-std, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  max-width: 100%;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
  text-align: center;
}
.c-secTtl.--lower .c-secTtl--ja {
  margin-top: 23px;
}

.c-secTtl--en {
  display: block;
  font-size: 22px;
  line-height: 1.27;
  color: #96E812;
}

.c-secTtl--ja {
  display: block;
  font-size: clamp(38px, 38px + 10 * (100vw - 768px) / 512, 48px);
  line-height: 1.1;
  text-align: center;
  margin-top: 10px;
}
.c-secTtl--ja.--small {
  font-size: clamp(30px, 30px + 4 * (100vw - 768px) / 512, 34px);
  line-height: 1.529;
  margin-top: 10px;
}

@media screen and (max-width: 768px) {
  .c-secTtl--ja {
    font-size: 30px;
    line-height: 1.3;
  }
  .c-secTtl--ja.--small {
    font-size: 26px;
  }
}
.c-contTtl {
  font-family: dnp-shuei-nmincho-std, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  max-width: 100%;
  width: -moz-fit-content;
  width: fit-content;
}

.c-contTtl--en {
  display: block;
  font-size: 20px;
  line-height: 1.4;
  color: #96E812;
}

.c-contTtl--ja {
  display: block;
  font-size: clamp(32px, 32px + 6 * (100vw - 768px) / 512, 38px);
  line-height: 1.2;
  margin-top: 5px;
}

@media screen and (max-width: 768px) {
  .c-contTtl--en {
    display: block;
    font-size: 20px;
    line-height: 1.4;
    color: #96E812;
  }
  .c-contTtl--ja {
    font-size: 28px;
  }
}
.c-leadTtl {
  position: relative;
  font-family: dnp-shuei-nmincho-std, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: clamp(28px, 28px + 6 * (100vw - 768px) / 512, 34px);
  line-height: 1.529;
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  z-index: 1;
}
.c-leadTtl::before, .c-leadTtl::after {
  display: none;
  position: absolute;
  width: 45px;
  height: 34px;
  margin: auto;
  background: url(../img/common/ico_ttl_lead.svg) no-repeat center/contain;
  content: "";
  z-index: -1;
}
.c-leadTtl::before {
  top: -13px;
  left: -17px;
}
.c-leadTtl::after {
  bottom: -15px;
  right: -17px;
  transform: rotate(180deg);
}
.c-leadTtl.has-top::before {
  display: block;
}
.c-leadTtl.has-bottom::after {
  display: block;
}
.c-leadTtl rt {
  font-size: 14px;
  text-align: center;
  margin-bottom: 5px;
}

@media screen and (max-width: 768px) {
  .c-leadTtl {
    font-size: 24px;
  }
  .c-leadTtl::before, .c-leadTtl::after {
    width: 34px;
    height: 25px;
  }
  .c-leadTtl::before {
    top: -13px;
    left: 0;
  }
  .c-leadTtl::after {
    bottom: -15px;
    right: -17px;
    transform: rotate(180deg);
  }
  .c-leadTtl.has-top::before {
    padding-left: 12px;
  }
  .c-leadTtl rt {
    margin-top: 10px;
  }
}
.c-mainTxt {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.75;
}

.c-linkTxt {
  text-decoration: underline;
}
.c-linkTxt:hover {
  text-decoration: none;
}

.c-dotTxt {
  position: relative;
  padding-left: 17px;
}
.c-dotTxt::before {
  display: block;
  position: absolute;
  top: 9px;
  left: 0;
  width: 7px;
  height: 7px;
  margin: auto;
  background-color: #96E812;
  border-radius: 50%;
  content: "";
}
.c-dotTxt + .c-dotTxt {
  margin-top: 10px;
}
.c-dotTxt.--yellow::before {
  background-color: #F5CC1F;
}
.c-dotTxt.--exclamation {
  font-weight: 600;
  padding-left: 24px;
}
.c-dotTxt.--exclamation::before {
  top: 3px;
  left: -4px;
  width: 18px;
  height: 18px;
  background: url(../img/common/ico_exclamation.svg) no-repeat center/contain;
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* topKvArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.topKvArea {
  position: relative;
}
.topKvArea::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2.421875vw;
  margin: auto;
  background: url(../img/common/bg_wave01.png) no-repeat bottom left/100%;
  content: "";
  z-index: 1;
}

.kvInner {
  position: relative;
}

.topKvImgList {
  position: relative;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  margin-bottom: 0 !important;
  overflow: hidden;
}
.topKvImgList.slick-initialized {
  visibility: visible;
}
.topKvImgList .slick-dots {
  position: absolute;
  bottom: 60px;
  right: clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 6px;
  width: -moz-fit-content;
  width: fit-content;
}
.topKvImgList .slick-dots li {
  width: 50px;
  height: 5px;
  margin: 0;
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 10px;
  overflow: hidden;
}
.topKvImgList .slick-dots li.slick-active::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  background-color: rgb(255, 255, 255);
  opacity: 1;
  content: "";
  animation: dotProgress 6s linear 0s normal both;
}

@keyframes dotProgress {
  from {
    width: 0%;
  }
  to {
    width: 100%;
  }
}
.topKvImg {
  width: 100%;
  height: 100%;
}

.add-animation.slick-slide {
  animation: zoomUp 6.5s linear 0s normal both;
}

@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15); /* 拡大率 */
  }
}
.topKvTxtBox {
  position: absolute;
  top: 37%;
  left: 0;
  right: 0;
  font-family: dnp-shuei-nmincho-std, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  color: #FFFFFF;
  max-width: 468px;
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin: auto;
}

.topKvTxt__main {
  font-size: clamp(40px, 40px + 13 * (100vw - 768px) / 512, 53px);
  line-height: 1.4;
  letter-spacing: 5.5px;
  text-align: center;
}
.topKvTxt__main small {
  font-size: clamp(32px, 32px + 13 * (100vw - 768px) / 512, 45px);
}
.topKvTxt__main .c-accent {
  color: #C2FF60;
}

.topKvTxt__sub {
  font-size: clamp(20px, 20px + 2 * (100vw - 768px) / 512, 22px);
  line-height: 1.681;
  letter-spacing: 0.2px;
  padding-top: clamp(12px, 12px + 5 * (100vw - 768px) / 512, 17px);
  margin-top: clamp(12px, 12px + 5 * (100vw - 768px) / 512, 17px);
  border-top: 2px solid #F0F4F7;
}

@media screen and (max-width: 768px) {
  .topKvArea::before {
    bottom: -1px;
    height: 9.06vw;
    background: url(../img/common/bg_wave01-sp.png) no-repeat bottom left/100%;
  }
  .topKvImgList .slick-dots {
    right: 15px;
  }
  .topKvImgList .slick-dots li {
    width: 40px;
  }
  .topKvTxtBox {
    top: 40%;
    max-width: calc(100% - 30px);
  }
  .topKvTxt__main {
    font-size: 37px;
  }
  .topKvTxt__main small {
    font-size: 32px;
  }
  .topKvTxt__sub {
    font-size: 16px;
    padding-top: 12px;
    margin-top: 12px;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* c-pageHead
――――――――――――――――――――――――――――――――――――――――――――――*/
.c-pageHead {
  position: relative;
  width: 100%;
  min-height: 380px;
}
.c-pageHead::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  background-color: #6E7EAA;
  mix-blend-mode: multiply;
  content: "";
}

.c-pageHead__imgBox {
  width: 100%;
  height: 100%;
  min-height: 380px;
}

.c-pageHead__img {
  width: 100%;
  height: auto;
  min-height: 380px;
}

.c-pageTtl {
  position: absolute;
  top: 50.6%;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  font-family: dnp-shuei-nmincho-std, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
}

.c-pageTtl__subTxt {
  font-size: clamp(24px, 24px + 4 * (100vw - 768px) / 512, 28px);
  letter-spacing: 1.3px;
  line-height: 1;
  color: #C2FF60;
}

.c-pageTtl__mainTxt {
  position: relative;
  font-size: clamp(45px, 45px + 8 * (100vw - 768px) / 512, 53px);
  letter-spacing: 2.5px;
  line-height: 1.452;
  text-align: center;
  color: #FFFFFF;
}

.c-pageTtl__seasonal {
  display: none;
  position: absolute;
  top: -5.78125vw;
  left: -7.109375vw;
  width: clamp(72px, 72px + 37 * (100vw - 768px) / 512, 109px);
  height: clamp(72px, 72px + 37 * (100vw - 768px) / 512, 109px);
  margin: auto;
}
.c-pageTtl__seasonal.is-active {
  display: block;
}

@media screen and (max-width: 768px) {
  .c-pageHead {
    min-height: auto;
  }
  .c-pageHead__imgBox {
    min-height: auto;
  }
  .c-pageHead__img {
    min-height: auto;
  }
  .c-pageTtl {
    top: 40%;
    max-width: calc(100% - 40px);
  }
  .c-pageTtl__mainTxt {
    font-size: 36px;
    line-height: 1.2;
    margin-top: 8px;
  }
  .c-pageTtl__seasonal {
    top: -11px;
    left: -60px;
  }
}
/* 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 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding-top: 30px;
  padding-bottom: 0;
  z-index: 101;
}
.header.js-followIn {
  position: fixed;
  top: 0;
  left: 0;
  animation: headerFollowIn 0.5s ease-out forwards;
}
.header.js-followIn .headerNav {
  display: none;
}
.header.js-followOut {
  position: fixed;
  top: 0;
  left: 0;
  animation: headerFollowOut 0.5s ease-out forwards;
}
.header.js-followOut .headerNav {
  display: none;
}

@keyframes headerFollowIn {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes headerFollowOut {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-100%);
  }
}
@media screen and (min-width: 769px) {
  .header.js-change .headerBtnBox.--white::before, .header.js-change .headerBtnBox.--white::after {
    width: 15px;
    background: url(../img/common/frame_btn.svg) no-repeat center/auto 100%;
  }
  .header.js-change .headerBtnBox.--white .headerBtn {
    color: #30363C;
    background-color: #FFFFFF;
  }
  .header.js-change .headerBtnBox.--white .headerBtn::before {
    background-color: #30363C;
  }
  .header.js-change .headerBtnBox.--accent::before, .header.js-change .headerBtnBox.--accent::after {
    width: 15px;
    background: url(../img/common/frame_btn.svg) no-repeat center/auto 100%;
  }
  .header.js-change .headerBtnBox.--accent .headerBtn {
    color: #30363C;
    background-color: #C2FF60;
  }
  .header.js-change .headerBtnBox.--accent .headerBtn::before {
    background-color: #30363C;
  }
}
.headerInner {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0 15px;
}

.headerLogo {
  position: relative;
  min-width: 137px;
  width: clamp(137px, 137px + 45 * (100vw - 768px) / 512, 182px);
  z-index: 101;
}

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

.headerLogo__img {
  width: 100%;
  height: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}
.headerLogo__img.js-active {
  height: auto;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}

@media screen and (max-width: 768px) {
  .header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding-top: 20px;
    padding-bottom: 0;
  }
  .header.js-open {
    position: fixed;
    top: 0;
    left: 0;
  }
  .header.js-change .spMenuBtn {
    background-color: #FFFFFF;
    transition: 0.5s;
  }
  .header.js-change .spMenuBtn::before, .header.js-change .spMenuBtn::after {
    background-color: #30363C;
  }
  .header.js-change .spMenuBtn span {
    background-color: #30363C;
  }
  .headerLogo {
    min-width: 100px;
    width: 100px;
  }
}
.headerBtnWrap {
  display: flex;
  justify-content: flex-end;
  gap: 0 19px;
}

@media screen and (max-width: 768px) {
  .spHeaderBtnWrap {
    position: fixed;
    bottom: 0;
    left: 0;
    gap: 0;
    width: 100%;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    opacity: 1;
    visibility: visible;
    z-index: 101;
  }
  .spHeaderBtnWrap.is-hidden {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }
  .headerBtnBox {
    width: 50%;
  }
  .headerBtnBox::before, .headerBtnBox::after {
    display: none;
  }
  .headerBtnBox.--white .headerBtn {
    padding: 20px 35px 20px 25px;
    background-color: rgba(255, 255, 255, 0.9);
  }
  .headerBtnBox.--white .headerBtn::before {
    right: 18px;
    width: 16px;
    height: 9px;
    background-color: #30363C;
  }
  .headerBtnBox.--accent .headerBtn {
    background-color: rgba(194, 255, 96, 0.9);
  }
  .headerBtnBox.--accent .headerBtn::before {
    right: 17px;
    width: 16px;
    height: 16px;
    background-color: #30363C;
  }
  .headerBtnBox.js-open.--white .headerBtn {
    background-color: rgb(255, 255, 255);
  }
  .headerBtnBox.js-open.--accent .headerBtn {
    background-color: rgb(194, 255, 96);
  }
  .headerBtn {
    font-size: 16px;
    font-weight: 600;
    color: #30363C;
    padding: 20px 25px;
  }
}
.headerNav {
  margin-top: 17px;
}

.headerNavList {
  display: flex;
  max-width: 840px;
}

.headerNavListItem {
  max-width: 20%;
  width: 168px;
  padding: 6px 3px 7px;
  border-left: 1px solid #FFFFFF;
}
.headerNavListItem:last-of-type {
  border-right: 1px solid #FFFFFF;
}

.headerNavListItem__link {
  display: block;
  width: 100%;
  height: 100%;
}
.headerNavListItem__link.has-subMenu {
  position: relative;
  cursor: pointer;
}
.headerNavListItem__link.has-subMenu::before {
  display: block;
  position: absolute;
  bottom: -15px;
  left: 0;
  right: 0;
  width: 8px;
  height: 4px;
  margin: auto;
  background: url(../img/common/ico_arrow_menu-white.svg) no-repeat center/contain;
  content: "";
}

.headerNavListItem__course {
  display: block;
  text-align: center;
  color: #FFFFFF;
  line-height: 1;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.headerNavListItem__course.--ja {
  font-size: 10px;
}
.headerNavListItem__course.--en {
  font-family: dnp-shuei-nmincho-std, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: clamp(16px, 16px + 2 * (100vw - 768px) / 512, 18px);
  margin-top: 7px;
}

.headerNavListSubBox {
  position: absolute;
  display: none;
  padding-top: 26px;
}
.headerNavListSubBox.js-active {
  display: block;
}

.headerNavListSub {
  padding: 22px 27.5px;
  border-radius: 5px;
  background-color: rgba(0, 0, 0, 0.6);
}

.headerNavListSubItem + .headerNavListSubItem {
  margin-top: 15px;
}

.headerNavListSubItem__link {
  position: relative;
  display: block;
  line-height: 1;
  color: #FFFFFF;
  width: -moz-fit-content;
  width: fit-content;
  padding-left: 9px;
}
.headerNavListSubItem__link::before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px;
  height: 6px;
  margin: auto;
  background: url(../img/common/ico_arrow-white.svg) no-repeat center/contain;
  content: "";
}

/*** sp時 メニューボタン ***/
.spMenuBtn {
  position: fixed;
  top: 22px;
  right: 20px;
  width: 40px;
  height: 40px;
  background-color: rgba(0, 0, 0, 0.15);
  cursor: pointer;
  transition: 0.5s;
  z-index: 101;
}
.spMenuBtn::before, .spMenuBtn::after {
  display: block;
  position: absolute;
  top: -1px;
  width: 13px;
  height: calc(100% + 2px);
  margin: auto;
  background-color: #FFFFFF;
  mask-image: url(../img/common/frame_btn_menu.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(../img/common/frame_btn_menu.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  content: "";
  z-index: 1;
}
.spMenuBtn::before {
  left: -1px;
  transform: rotate(180deg);
}
.spMenuBtn:after {
  right: -1px;
}
.spMenuBtn span {
  position: relative;
  left: 0;
  right: 0;
  display: block;
  width: 18px;
  height: 2px;
  margin: auto;
  background-color: #FFFFFF;
  transition: 0.5s;
}
.spMenuBtn span:nth-of-type(1) {
  top: 33%;
}
.spMenuBtn span:nth-of-type(2) {
  top: 46%;
}
.spMenuBtn span:nth-of-type(3) {
  top: 59%;
}
.spMenuBtn.js-open {
  background-color: transparent !important;
  transition: 0.5s;
}
.spMenuBtn.js-open::before, .spMenuBtn.js-open::after {
  background-color: #30363C;
}
.spMenuBtn.js-open span {
  background-color: #30363C;
  transition: 0.5s;
}
.spMenuBtn.js-open span:nth-of-type(1) {
  top: 48%;
  transform: rotate(45deg);
}
.spMenuBtn.js-open span:nth-of-type(2) {
  display: none;
}
.spMenuBtn.js-open span:nth-of-type(3) {
  top: 44%;
  transform: rotate(-45deg);
}

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

.spNavWrap {
  display: none;
  height: 100dvh;
  padding: 0 0 200px;
  overflow-y: scroll;
}

.spNavListItem {
  width: 100%;
  padding-bottom: 15px;
  margin-bottom: 16px;
  border-bottom: 1px solid #E2E8EF;
}

.spNavListItem__link {
  width: -moz-fit-content;
  width: fit-content;
}
.spNavListItem__link.has-subMenu {
  cursor: pointer;
}
.spNavListItem__link.has-subMenu .spNavListItem__course.--en {
  position: relative;
  padding-right: 15px;
}
.spNavListItem__link.has-subMenu .spNavListItem__course.--en::before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 9px;
  height: 5px;
  margin: auto;
  background: url(../img/common/ico_arrow_menu.svg) no-repeat center/contain;
  content: "";
  transition: 0.3s;
}
.spNavListItem__link.has-subMenu.js-active .spNavListItem__course.--en::before {
  transform: rotate(-180deg);
  transition: 0.3s;
}

.spNavListItem__course {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1;
}
.spNavListItem__course.--ja {
  font-size: 10px;
  font-weight: 600;
  color: #96E812;
}
.spNavListItem__course.--en {
  font-size: 18px;
  font-family: dnp-shuei-nmincho-std, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  margin-top: 7px;
}

.spNavListSub {
  display: none;
  margin-top: 16px;
}

.spNavListSubItem + .spNavListSubItem {
  margin-top: 15px;
}

.spNavListSubItem__link {
  position: relative;
  display: block;
  line-height: 1;
  width: -moz-fit-content;
  width: fit-content;
  padding-left: 9px;
}
.spNavListSubItem__link::before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px;
  height: 6px;
  margin: auto;
  background: url(../img/common/ico_arrow.svg) no-repeat center/contain;
  content: "";
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* footer
――――――――――――――――――――――――――――――――――――――――――――――*/
.footer {
  padding-top: 103px;
  padding-bottom: 115px;
  background-color: #FFFFFF;
  border-radius: 10px 10px 0 0;
}

.footerInner {
  display: flex;
  justify-content: space-between;
  gap: 0 20px;
}

.footerInfoWrap {
  flex: 1 0 248px;
  display: flex;
  flex-direction: column;
}

.footerLogo {
  min-width: 202px;
  width: clamp(152px, 152px + 50 * (100vw - 768px) / 512, 202px);
}

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

.footerInfoList {
  margin-top: 38px;
}

.footerInfoListItem {
  position: relative;
  font-size: 12px;
  line-height: 1.6;
  padding-left: 18px;
}
.footerInfoListItem + .footerInfoListItem {
  margin-top: 14px;
}
.footerInfoListItem::before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
}
.footerInfoListItem.--address::before {
  width: 12px;
  height: 16px;
  background: url(../img/common/ico_pin.svg) no-repeat center/contain;
}
.footerInfoListItem.--tel::before {
  width: 17px;
  height: 17px;
  background: url(../img/common/ico_tel.svg) no-repeat center/contain;
}
.footerInfoListItem.--time::before {
  width: 15px;
  height: 15px;
  background: url(../img/common/ico_time.png) no-repeat center/contain;
}

.footerCopy {
  font-size: 12px;
  line-height: 1.6;
  margin-top: auto;
}

@media screen and (max-width: 768px) {
  .footer {
    padding-top: 80px;
    padding-bottom: 40px;
  }
  .footerInner {
    display: flex;
    flex-direction: column;
    gap: 50px 0;
  }
  .footerInfoWrap {
    flex: 1 1 100%;
    display: flex;
    flex-direction: column;
  }
  .footerLogo {
    min-width: 152px;
    width: 152px;
    margin: 0 auto;
  }
  .footerLogo__img {
    height: auto;
  }
  .footerInfoList {
    width: -moz-fit-content;
    width: fit-content;
    margin: 38px auto 0;
  }
  .footerCopy {
    font-size: 12px;
    line-height: 1.6;
    margin: 40px 0 0 auto;
  }
}
.footerLinkWrap {
  flex: 1 1 595px;
  max-width: 595px;
  margin-top: 1px;
}

.footerBtnWrap {
  display: flex;
  gap: 0 25px;
}

.footerNavWrap {
  margin-top: 52px;
}

.footerNavBox + .footerNavBox {
  padding-top: 14px;
  margin-top: 16px;
  border-top: 1px solid #DDDDDD;
}

.footerNav__course {
  font-size: 12px;
  font-weight: 600;
  list-style: 1.6;
  color: #A7A8B2;
}

.footerNavList {
  display: flex;
  flex-wrap: wrap;
  gap: 15px 30px;
  margin-top: 2px;
}

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

@media screen and (max-width: 768px) {
  .footerLinkWrap {
    flex: 1 1 100%;
    max-width: 595px;
    margin: 0 auto;
  }
  .footerBtnWrap {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 30px 25px;
  }
  .footerNavWrap {
    margin-top: 50px;
  }
}
.footerBitknot {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 16px 0;
  background-color: #30363C;
}

.c-accent {
  color: #96E812;
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* topAboutArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.topAboutArea {
  position: relative;
  padding-top: 98px;
  padding-bottom: 306px;
  background: url(../img/top/bg_about.jpg) no-repeat bottom center/cover;
  background-attachment: fixed;
  background-color: #F0F4F7;
}
.topAboutArea::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 635px;
  margin: auto;
  background-image: linear-gradient(180deg, rgb(240, 244, 247), rgba(240, 244, 247, 0));
  content: "";
  z-index: 0;
}
.topAboutArea::after {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2.421875vw;
  margin: auto;
  background: url(../img/common/bg_wave02.png) no-repeat bottom left/100%;
  content: "";
  z-index: 1;
}

.topAboutWrap {
  position: relative;
  max-width: 920px;
  margin: auto;
  z-index: 1;
}

.topAbout__txt {
  font-size: 18px;
  line-height: 1.88;
  margin-top: 50px;
}

.topAbout__btnBox {
  width: 338px;
  margin: 56px auto 0;
}

@media screen and (max-width: 768px) {
  .topAboutArea {
    padding-top: 140px;
    padding-bottom: 250px;
    background: url(../img/top/bg_about-sp.jpg) no-repeat bottom center/100%;
    background-attachment: unset;
  }
  .topAboutArea::before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 635px;
    margin: auto;
    background-image: linear-gradient(180deg, rgb(240, 244, 247) 60%, rgba(240, 244, 247, 0) 100%);
    content: "";
    z-index: 0;
  }
  .topAbout__txt {
    font-size: 16px;
    margin-top: 40px;
  }
  .topAbout__btnBox {
    width: 338px;
    margin: 56px auto 0;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* topMenuArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.topMenuArea {
  position: relative;
  padding-top: 118px;
  padding-bottom: 83px;
  background-color: #EAEEF2;
  margin-bottom: 300px;
}
.topMenuArea::before {
  display: block;
  position: absolute;
  bottom: -23.59375vw;
  left: 0;
  width: 100%;
  height: 23.59375vw;
  margin: auto;
  background: url(../img/common/bg_wave03.png) no-repeat bottom left/100%;
  content: "";
}

@media screen and (max-width: 768px) {
  .topMenuArea {
    position: relative;
    padding-top: 100px;
    padding-bottom: 100px;
    margin-bottom: 300px;
  }
  .topMenuArea::before {
    display: block;
    position: absolute;
    bottom: -23.59375vw;
    left: 0;
    width: 100%;
    height: 23.59375vw;
    margin: auto;
    background: url(../img/common/bg_wave03.png) no-repeat bottom left/100%;
    content: "";
  }
}
/*** topMenuMainBox ***/
.topMenuMainBox {
  margin-top: 96px;
}

.topMenuMainItem {
  display: flex;
  align-items: center;
  gap: 0 clamp(30px, 30px + 40 * (100vw - 768px) / 512, 70px);
}
.topMenuMainItem .topMenuItem__imgBox {
  flex: 1 1 690px;
  max-width: 690px;
  border-radius: 10px;
  overflow: hidden;
}
.topMenuMainItem .topMenuItem__contBox {
  flex: 1 0.5 400px;
  max-width: 400px;
}

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

.topMenuItem__img {
  height: auto;
}

.topMenuItem__lead {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.75;
  margin-top: 25px;
}

.topMenuItem__txt {
  margin-top: 14px;
}

.topMenuItem__btnBox {
  margin-top: 26px;
}

@media screen and (max-width: 768px) {
  .topMenuMainBox {
    margin-top: 70px;
  }
  .topMenuMainItem {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px 0;
  }
  .topMenuMainItem .topMenuItem__imgBox {
    flex: 1 1 100%;
    max-width: 100%;
  }
  .topMenuMainItem .topMenuItem__img {
    width: 100%;
  }
  .topMenuMainItem .topMenuItem__contBox {
    flex: 1 1 100%;
    max-width: 100%;
  }
  .topMenuItem__imgBox {
    max-width: 100%;
    border-radius: 10px;
    overflow: hidden;
  }
  .topMenuItem__img {
    height: auto;
  }
  .topMenuItem__lead {
    font-size: 18px;
  }
  .topMenuItem__btnBox {
    margin: 26px auto 0;
  }
}
/*** topMenuBox ***/
.topMenuBox {
  max-width: 1040px;
  margin: 100px auto 0;
}

.topMenuList {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 30px clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px);
}
.topMenuList .topMenuItem {
  width: calc((100% - clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px)) / 2);
}
.topMenuList .topMenuItem__contBox {
  margin-top: 34px;
}

@media screen and (max-width: 768px) {
  .topMenuBox {
    margin: 80px auto 0;
  }
  .topMenuList {
    display: flex;
    flex-direction: column;
    gap: 80px 0;
  }
  .topMenuList .topMenuItem {
    width: 100%;
  }
  .topMenuList .topMenuItem__img {
    width: 100%;
  }
  .topMenuList .topMenuItem__contBox {
    margin-top: 30px;
  }
}
/*** topServiceBox ***/
.topServiceBox {
  max-width: 1040px;
  margin: 97px auto 0;
}

.topService__ttl {
  text-align: center;
  margin: auto;
}
.topService__ttl .c-contTtl--ja {
  position: relative;
  padding: 0 34px;
}
.topService__ttl .c-contTtl--ja::before, .topService__ttl .c-contTtl--ja::after {
  display: block;
  position: absolute;
  bottom: 4px;
  left: 0;
  width: 20px;
  height: 27px;
  margin: auto;
  background: url(../img/common/ico_ttl_deco-l.svg) no-repeat center/contain;
  content: "";
}
.topService__ttl .c-contTtl--ja::after {
  left: auto;
  right: 0;
  background: url(../img/common/ico_ttl_deco-r.svg) no-repeat center/contain;
}

.topServiceList {
  display: flex;
  gap: 20px clamp(15px, 15px + 20 * (100vw - 768px) / 512, 35px);
  margin-top: 36px;
}

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

.topServiceListItem__imgBox {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
}

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

.topServiceListItem__txt {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.75;
  text-align: center;
  margin-top: 20px;
}

@media screen and (max-width: 768px) {
  .topServiceBox {
    margin: 80px auto 0;
  }
  .topService__ttl {
    text-align: center;
    margin: auto;
  }
  .topService__ttl .c-contTtl--ja {
    position: relative;
    padding: 0 28px;
  }
  .topService__ttl .c-contTtl--ja::before, .topService__ttl .c-contTtl--ja::after {
    bottom: 4px;
    width: 16px;
    height: 22px;
  }
  .topServiceList {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 40px 15px;
  }
  .topServiceListItem {
    width: calc((100% - 30px) / 3);
  }
}
@media screen and (max-width: 500px) {
  .topServiceListItem {
    width: calc((100% - 15px) / 2);
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* topReasonArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.topReasonArea {
  padding-bottom: 141px;
  margin-top: -205px;
}

.topReasonWrap {
  padding: 120px clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px);
  background-color: #FFFFFF;
  border-radius: 10px;
}

.topReasonListItem {
  display: flex;
  align-items: flex-start;
  gap: 0 clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px);
}
.topReasonListItem + .topReasonListItem {
  flex-direction: row-reverse;
  margin-top: 100px;
}
.topReasonListItem + .topReasonListItem .topReasonListItem__imgBox {
  margin-left: clamp(-120px, -60px + -60 * (100vw - 768px) / (1280 - 768), -60px);
  margin-right: 0;
  border-radius: 0 10px 10px 0;
}

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

.topReason__ttl {
  position: relative;
  text-align: left;
  white-space: nowrap;
  margin-bottom: 47px;
  line-height: 1;
}
.topReason__ttl .c-secTtl--ja {
  font-size: clamp(26px, 26px + 8 * (100vw - 768px) / 512, 34px);
  line-height: 1.2;
}
.topReason__ttl .c-secTtl--ja.--small {
  display: inline-block;
  padding: 1px 14px 0 0;
  background-color: #FFFFFF;
  border-radius: 5px;
  line-height: 1.2;
}

.topReason__txt {
  margin-top: -5px;
}

.topReasonListItem__imgBox {
  flex: 1 1 650px;
  max-width: 650px;
  margin-right: clamp(-120px, -60px + -60 * (100vw - 768px) / (1280 - 768), -60px);
  border-radius: 10px 0 0 10px;
  overflow: hidden;
}

.topReasonListItem__img {
  height: auto;
}

@media screen and (min-width: 1281px) {
  .topReasonListItem__imgBox {
    border-radius: 10px !important;
  }
}
@media screen and (max-width: 768px) {
  .topReasonArea {
    padding-bottom: 100px;
    margin-top: -325px;
  }
  .topReasonWrap {
    padding: 60px 20px;
  }
  .topReasonListItem {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0 clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px);
  }
  .topReasonListItem + .topReasonListItem {
    flex-direction: column;
    margin-top: 50px;
  }
  .topReasonListItem + .topReasonListItem .topReasonListItem__imgBox {
    margin-left: -40px;
  }
  .topReasonListItem__contBox {
    flex: 1 1 100%;
    max-width: 100%;
  }
  .topReason__ttl {
    position: relative;
    text-align: left;
    white-space: normal;
    margin: 0 auto 40px 0;
    line-height: 1;
  }
  .topReason__ttl .c-secTtl--ja {
    font-size: 26px;
    text-align: left;
  }
  .topReason__ttl .c-secTtl--ja.--small {
    display: block;
    padding: 0;
  }
  .topReason__txt {
    margin-top: 0;
  }
  .topReasonListItem__imgBox {
    flex: 1 1 calc(100% + 40px);
    max-width: calc(100% + 40px);
    width: calc(100% + 40px);
    margin-top: 40px;
    margin-right: -20px;
  }
  .topReasonListItem__img {
    width: 100%;
    height: auto;
  }
}
/*** topVoiceBox ***/
.topVoiceBox {
  margin-top: 97px;
}

.topVoice__ttl .c-secTtl--ja {
  margin-top: -21px;
}
.topVoice__ttl .c-secTtl--ja.--small {
  margin-top: 10px;
}

.topVoiceList {
  margin-top: 54px;
}

.topVoiceListItem {
  display: flex;
  gap: 0 clamp(20px, 20px + 20 * (100vw - 768px) / 512, 40px);
  padding: 40px clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px) 36px;
  background-color: #ECF1F4;
  border-radius: 10px;
}
.topVoiceListItem + .topVoiceListItem {
  margin-top: 41px;
}

.topVoiceListItem__imgBox {
  flex: 1 0 160px;
  max-width: 160px;
}

.topVoiceListItem__name {
  position: relative;
  display: block;
  font-family: dnp-shuei-nmincho-std, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 24px;
  line-height: 1;
  padding-left: 35px;
}
.topVoiceListItem__name::before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 27px;
  height: 23px;
  margin: auto;
  background: url(../img/common/ico_voice.svg) no-repeat center/contain;
  content: "";
}

.topVoiceListItem__txt {
  margin-top: 15px;
}

@media screen and (max-width: 768px) {
  .topVoiceBox {
    margin-top: 97px;
  }
  .topVoiceListItem {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px 0;
    padding: 40px 20px 36px;
  }
  .topVoiceListItem__imgBox {
    flex: 1 0 100%;
  }
  .topVoiceListItem__name {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }
}
/*** topGalleryBox ***/
.topGalleryBox {
  position: relative;
  width: 100vw;
  aspect-ratio: 1280/728;
  overflow: hidden;
}
.topGalleryBox::before, .topGalleryBox::after {
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  margin: auto;
  content: "";
  z-index: 1;
}
.topGalleryBox::before {
  top: 0;
  height: 7.8125vw;
  background: url(../img/common/bg_wave04.png) no-repeat top left/100%;
}
.topGalleryBox::after {
  bottom: -5px;
  height: 8.125vw;
  background: url(../img/common/bg_wave05.png) no-repeat bottom left/100%;
}

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

.topGallery__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) {
  .topGalleryBox {
    height: 50vh;
  }
  .topGalleryBox::after {
    bottom: -1px;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* topPointArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.topPointArea {
  position: relative;
  padding-top: 97px;
  padding-bottom: 142px;
  background-color: #FAFCFD;
}
.topPointArea::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2.421875vw;
  margin: auto;
  background: url(../img/common/bg_wave06.png) no-repeat bottom left/100%;
  content: "";
}

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

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

.topPoint__ttl {
  text-align: left;
  margin: 0;
}

.topPoint__txt {
  font-size: 18px;
  line-height: 1.88;
  max-width: 376px;
  margin-top: 59px;
}

.topPoint__mapBox {
  width: 100%;
  padding-top: clamp(0px, -0.2544031311 * (100vw - 1280px), 130px);
  margin-right: -25px;
}

.topPoint__mapImg {
  height: auto;
}

@media screen and (max-width: 768px) {
  .topPointArea {
    padding-top: 100px;
    padding-bottom: 100px;
  }
  .topPointInner {
    position: relative;
    padding-left: 0;
  }
  .topPoint__contBox {
    position: static;
    top: auto;
    left: auto;
  }
  .topPoint__ttl {
    text-align: center;
    margin: 0 auto;
  }
  .topPoint__txt {
    font-size: 16px;
    line-height: 1.88;
    max-width: 600px;
    margin: 40px auto 0;
  }
  .topPoint__mapBox {
    width: 100%;
    padding-top: 0;
    margin: 30px 0 0;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* topBlogArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.topBlogArea {
  position: relative;
  padding-top: 136px;
  padding-bottom: 171px;
}
.topBlogArea::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2.421875vw;
  margin: auto;
  background: url(../img/common/bg_wave07.png) no-repeat bottom left/100%;
  content: "";
}

.topBlogList {
  margin-top: 97px;
  display: flex;
  flex-direction: row !important;
  flex-wrap: wrap;
  gap: 30px clamp(15px, 15px + 15 * (100vw - 768px) / 512, 30px);
  width: 100%;
}
.topBlogList .blogListItem {
  display: flex;
  max-width: 505px;
  width: calc((100% - clamp(15px, 15px + 15 * (100vw - 768px) / 512, 30px)) / 2);
  min-height: 150px;
  background-color: #FFFFFF;
  border-radius: 10px;
  overflow: hidden;
}
.topBlogList .blogListItem__imgBox {
  position: relative;
  flex: 1 1 190px;
  max-width: 190px;
  width: 190px;
  height: 100%;
  overflow: hidden;
}
.topBlogList .blogListItem__contBox {
  flex: 1 1 315px;
  max-width: 315px;
  padding: 24px 25px;
}
.topBlogList .blogListItem__ttl {
  -webkit-line-clamp: 3;
}

.topBlog__btnBox {
  margin: 100px auto 0;
}

@media screen and (max-width: 768px) {
  .topBlogArea {
    position: relative;
    padding-top: 100px;
    padding-bottom: 120px;
  }
  .topBlogList {
    margin-top: 70px;
    display: flex;
    flex-direction: column !important;
    justify-content: center;
    align-items: center;
    gap: 25px clamp(15px, 15px + 15 * (100vw - 768px) / 512, 30px);
  }
  .topBlogList .blogListItem {
    width: 100%;
    min-height: auto;
  }
  .topBlogList .blogListItem:nth-child(n+4) {
    display: none;
  }
  .topBlogList .blogListItem__contBox {
    padding: 19px 15px;
  }
  .topBlogList .blogListItem__ttl {
    line-height: 1.5;
  }
  .topBlog__btnBox {
    margin: 56px auto 0;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* topScheduleArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.topScheduleArea {
  padding-top: 116px;
  padding-bottom: 140px;
  background-color: #FAFCFD;
}

.topScheduleBox {
  width: 100%;
  margin-top: 67px;
  border-radius: 10px;
  overflow: hidden;
}

.topSchedule__calendar {
  width: 100%;
}

.topScheduleStatusList {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px 0;
  margin-top: 30px;
}

.topScheduleStatusListItem {
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
  padding: 0 clamp(16px, 16px + 16 * (100vw - 768px) / 512, 32px);
  border-right: 1px solid #AFAFAF;
}
.topScheduleStatusListItem span {
  position: relative;
}
.topScheduleStatusListItem small {
  font-size: 15px;
}
.topScheduleStatusListItem:first-of-type {
  padding-left: 0;
}
.topScheduleStatusListItem:last-of-type {
  padding-right: 0;
  border-right: none;
}
.topScheduleStatusListItem.--request span {
  padding-left: 29px;
}
.topScheduleStatusListItem.--request span::before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 21px;
  height: 18px;
  margin: auto;
  background: url(../img/common/ico_triangle.svg) no-repeat center/contain;
  content: "";
}
.topScheduleStatusListItem.--no span {
  padding-left: 25px;
}
.topScheduleStatusListItem.--no span::before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 15px;
  height: 15px;
  margin: auto;
  background: url(../img/common/ico_cross.svg) no-repeat center/contain;
  content: "";
}

.topSchedule__btnBox {
  margin: 50px auto 0;
}

@media screen and (max-width: 768px) {
  .topScheduleArea {
    padding-top: 100px;
    padding-bottom: 100px;
  }
  .topScheduleBox {
    width: 100%;
    margin-top: 67px;
    border-radius: 10px;
    overflow: hidden;
  }
  .topScheduleStatusList {
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px 0;
    margin-top: 30px;
  }
  .topScheduleStatusListItem {
    font-size: 16px;
    line-height: 1.2;
    padding: 0;
    border-right: none;
  }
  .topScheduleStatusListItem small {
    font-size: 14px;
    display: inline-block;
  }
  .topScheduleStatusListItem.--no span {
    padding-left: 29px;
  }
  .topScheduleStatusListItem.--no span::before {
    left: 2px;
  }
  .topSchedule__btnBox {
    margin: 56px auto 0;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* lowerLeadArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.fun-diving .lowerLeadArea::before {
  display: block;
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 23.59375vw;
  margin: auto;
  background: url(../img/common/bg_wave03.png) no-repeat bottom left/100%;
  transform: rotate(180deg);
  content: "";
  z-index: 0;
}

@media screen and (max-width: 768px) {
  .fun-diving .lowerLeadArea {
    padding-bottom: 40px;
  }
  .fun-diving .lowerLeadArea::before {
    bottom: -1px;
  }
}
.lowerLeadArea {
  position: relative;
  padding-top: 108px;
  padding-bottom: 130px;
  background-color: #F0F4F7;
  overflow-x: clip;
}

.lowerLeadListItem {
  display: flex;
  align-items: center;
  gap: 0 clamp(30px, 30px + 40 * (100vw - 768px) / 512, 70px);
}
.lowerLeadListItem:nth-of-type(2n) {
  flex-direction: row-reverse;
}
.lowerLeadListItem + .lowerLeadListItem {
  margin-top: 80px;
}

.lowerLeadListItem__contBox {
  flex: 1 1 450px;
  max-width: 450px;
}
.lowerLeadListItem__contBox .c-leadTtl {
  text-align: left;
  margin: 0 0 30px;
}
.lowerLeadListItem__contBox .lowerLead__txt {
  text-align: left;
  margin-top: 0;
}

.lowerLead__txt {
  text-align: center;
  margin-top: 30px;
}
.lowerLead__txt.--l {
  font-size: 18px;
  line-height: 1.72;
  margin-top: 51px;
}

.lowerLead__concept {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  margin: 45px auto 0;
  z-index: 1;
}
.lowerLead__concept::before, .lowerLead__concept::after {
  display: block;
  position: absolute;
  width: 28px;
  height: 21px;
  margin: auto;
  background: url(../img/common/ico_ttl_lead-gray.svg) no-repeat center/contain;
  content: "";
  z-index: -1;
}
.lowerLead__concept::before {
  top: -13px;
  left: -22px;
}
.lowerLead__concept::after {
  bottom: -9px;
  right: -23px;
  transform: rotate(180deg);
}

.lowerLead__concept--ja {
  display: block;
  font-size: 12px;
  line-height: 1.2;
  width: -moz-fit-content;
  width: fit-content;
}

.lowerLead__concept--en {
  display: block;
  font-size: 28px;
  line-height: 1;
  letter-spacing: 0.9px;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 8px;
}

.lowerLeadListItem__imgBox {
  flex: 1 1 520px;
  max-width: 520px;
  border-radius: 10px;
  overflow: hidden;
}

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

.lowerLeadListItem__btnBox {
  margin: 31px 0 0 0;
}

@media screen and (max-width: 768px) {
  .lowerLeadArea {
    position: relative;
    padding-top: 70px !important;
    padding-bottom: 100px;
  }
  .lowerLeadListItem {
    display: flex;
    flex-direction: column-reverse;
    gap: 40px 0;
  }
  .lowerLeadListItem:nth-of-type(2n) {
    flex-direction: column-reverse;
  }
  .lowerLeadListItem + .lowerLeadListItem {
    margin-top: 60px;
  }
  .lowerLeadListItem__contBox {
    flex: 1 1 100%;
    max-width: 100%;
  }
  .lowerLead__txt {
    margin-top: 12px;
  }
  .lowerLead__concept::after {
    right: -23px;
  }
  .lowerLeadListItem__imgBox {
    flex: 1 1 100%;
    max-width: 520px;
  }
}
@media screen and (max-width: 375px) {
  .lowerLead__concept--ja {
    font-size: 11px;
  }
}
.lowerLeadSlideList {
  width: 100vw;
  margin: 94px calc(50% - 50vw) 0;
}

.lowerLeadSlideListItem {
  max-width: 320px;
  aspect-ratio: 320/250;
  margin: 0 15px;
  border-radius: 5px;
  overflow: hidden;
}

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

@media screen and (max-width: 768px) {
  .lowerLeadSlideList {
    margin: 70px calc(50% - 50vw) 0;
  }
  .lowerLeadSlideListItem {
    max-width: 211px;
  }
}
/*** lowerLeadImgList ***/
.lowerLeadImgList {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0 clamp(15px, 15px + 19 * (100vw - 768px) / 512, 34px);
  margin-top: 70px;
}

.lowerLeadImgListItem {
  max-width: 324px;
  width: calc((100% - clamp(30px, 30px + 38 * (100vw - 768px) / 512, 68px)) / 3);
  height: -moz-fit-content;
  height: fit-content;
  border-radius: 10px;
  overflow: hidden;
  aspect-ratio: 324/220;
}

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

@media screen and (max-width: 768px) {
  .lowerLeadImgList {
    gap: 0 20px;
  }
  .lowerLeadImgListItem {
    position: relative;
    width: calc((100% - 20px) / 2);
  }
  .lowerLeadImgListItem:nth-of-type(1) {
    z-index: 1;
  }
  .lowerLeadImgListItem:nth-of-type(2) {
    margin-top: 10px;
    z-index: 3;
  }
  .lowerLeadImgListItem:nth-of-type(3) {
    margin-top: -20px;
    z-index: 2;
  }
}
/*** serviceBox ***/
.serviceBox {
  position: relative;
  padding: 65px clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px) 75px;
  margin-top: 120px;
  background-color: #FFFFFF;
  border-radius: 10px;
  z-index: 1;
}

.service__ttl {
  text-align: center;
  margin: 0 auto;
}
.service__ttl .c-contTtl--ja {
  font-size: 22px;
  line-height: 1.63;
  margin-top: 8px;
}

.serviceList {
  display: flex;
  gap: 0 clamp(30px, 30px + 25 * (100vw - 768px) / 512, 55px);
  margin-top: 45px;
}

.serviceListItem {
  position: relative;
  max-width: 270px;
  width: calc((100% - clamp(60px, 60px + 50 * (100vw - 768px) / 512, 110px)) / 3);
}
.serviceListItem + .serviceListItem::before {
  display: block;
  position: absolute;
  top: 0;
  left: clamp(-27.5px, -15px + -12.5 * (100vw - 768px) / (1280 - 768), -15px);
  width: 1px;
  height: 100%;
  margin: auto;
  background-color: #C6C6C6;
  content: "";
}

.serviceListItem__imgBox {
  max-width: 180px;
  margin: 0 auto;
}

.serviceListItem__contBox {
  margin-top: 23px;
}

.serviceListItem__ttl {
  display: block;
  font-family: dnp-shuei-nmincho-std, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 20px;
  text-align: center;
}

.serviceListItem__txt {
  margin-top: 11px;
}

@media screen and (max-width: 768px) {
  .serviceBox {
    padding: 45px 20px 55px;
    margin-top: 80px;
  }
  .service__ttl .c-contTtl--ja {
    font-size: 22px;
  }
  .serviceList {
    display: flex;
    flex-direction: column;
    gap: 50px 0;
    margin-top: 45px;
  }
  .serviceListItem {
    position: relative;
    max-width: 540px;
    width: 100%;
    margin: 0 auto;
  }
  .serviceListItem + .serviceListItem::before {
    display: none;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* funMenuArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.lowerMenuArea {
  padding-top: 104px;
  padding-bottom: 140px;
  background-color: #EAEEF2;
  overflow-x: clip;
}

.funMenuArea {
  padding-top: 130px;
  padding-bottom: 115px;
}

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

.menuAnchorList__item {
  position: relative;
  max-width: 245px;
  width: calc((100% - clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px)) / 4);
  min-height: 125px;
  border-radius: 5px;
  overflow: hidden;
}
.menuAnchorList__item::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  background-color: #6E7EAA;
  mix-blend-mode: multiply;
  content: "";
}
.menuAnchorList__item:nth-of-type(1) {
  background: url(../img/fun/img_anchor01.jpg) no-repeat center/cover;
}
.menuAnchorList__item:nth-of-type(2) {
  background: url(../img/fun/img_anchor02.jpg) no-repeat center/cover;
}
.menuAnchorList__item:nth-of-type(3) {
  background: url(../img/fun/img_anchor03.jpg) no-repeat center/cover;
}
.menuAnchorList__item:nth-of-type(4) {
  background: url(../img/fun/img_anchor04.jpg) no-repeat center/cover;
}

.menuAnchorList__link {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: dnp-shuei-nmincho-std, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  width: 100%;
  height: 100%;
  color: #FFFFFF;
  padding: 15px 5px;
}
.menuAnchorList__link::before {
  display: block;
  position: absolute;
  bottom: 17px;
  left: 0;
  right: 0;
  width: 13px;
  height: 6px;
  margin: auto;
  background: url(../img/common/ico_arrow_menu-white.svg) no-repeat center/contain;
  content: "";
}

.menuAnchorList__main {
  font-size: clamp(15px, 15px + 3 * (100vw - 768px) / 512, 18px);
  line-height: 1.5625;
  margin-top: 10px;
}

.menuAnchorList__sub {
  position: absolute;
  top: 25px;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 8px;
  margin: 0 auto;
}

.menuAnchorList__seasonal {
  font-size: 10px;
  line-height: 1;
  padding: 4px 4px 3px;
  border: 1px solid #FFFFFF;
  border-radius: 2px;
}

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

@media screen and (max-width: 768px) {
  .lowerMenuArea {
    padding-bottom: 70px;
  }
  .funMenuArea {
    padding-top: 90px;
  }
  .menuAnchorList {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px 15px;
    margin-top: 65px;
  }
  .menuAnchorList__item {
    position: relative;
    max-width: 245px;
    width: calc((100% - 15px) / 2);
  }
}
/*** menuDetailWrap ***/
.menuDetailWrap {
  padding-top: 102px;
  margin-top: 97px;
}
.menuDetailWrap:first-of-type {
  margin-top: 0;
}
.menuDetailWrap + .menuDetailWrap {
  border-top: 1px solid #C6C6C6;
}
.menuDetailWrap.--rental {
  padding-top: 89px;
}
.menuDetailWrap.--other {
  padding-top: 75px;
}

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

.menuDetailItem__contBox {
  flex: 1 1 430px;
  max-width: 430px;
  margin-top: -15px;
}

.menuDetailItem__ttl {
  font-family: dnp-shuei-nmincho-std, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: clamp(32px, 32px + 8 * (100vw - 768px) / 512, 40px);
}

.menuDetailItem__txt {
  margin-top: 29px;
}

.menuDetailItem__imgBox {
  flex: 1 1 550px;
  max-width: 550px;
  border-radius: 10px;
  overflow: hidden;
}

.menuDetailItem__img {
  height: auto;
}

.menuDetailItem--sub {
  display: flex;
  align-items: center;
  font-family: dnp-shuei-nmincho-std, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  gap: 0 12px;
  margin-top: 14px;
}

.menuDetailItem__seasonal {
  font-size: 15px;
  line-height: 1;
  padding: 6px 7px 5px;
  border: 1.5px solid #30363C;
  border-radius: 2px;
}

.menuDetailItem__period {
  font-size: 24px;
  line-height: 1;
}

.menuDetailItem__btnBox {
  width: -moz-max-content;
  width: max-content;
  margin-top: 32px;
}

.menuDetailItem__btn {
  padding: 15px 46px;
}

@media screen and (max-width: 768px) {
  .menuDetailWrap {
    padding-top: 80px;
    margin-top: 80px;
  }
  .menuDetailWrap.--rental {
    padding-top: 80px;
  }
  .menuDetailItem {
    display: flex;
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: 35px 0;
  }
  .menuDetailItem__contBox {
    flex: 1 1 100%;
    max-width: 100%;
    margin-top: 0;
  }
  .menuDetailItem__ttl {
    font-family: dnp-shuei-nmincho-std, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    font-size: 28px;
  }
  .menuDetailItem__txt {
    margin-top: 20px;
  }
  .menuDetailItem__imgBox {
    flex: 1 1 100%;
    max-width: 100%;
    width: 100%;
  }
  .menuDetailItem__img {
    width: 100%;
  }
  .menuDetailItem--sub {
    margin: 0 0 5px 0;
  }
  .menuDetailItem__btnBox {
    margin: 32px auto 0;
  }
}
.menuDetailItem__infoMulti {
  display: flex;
  gap: 0 14px;
  margin-top: 43px;
}
.menuDetailItem__infoMulti .menuDetailItem__infoBox {
  max-width: 513px;
  width: calc((100% - 14px) / 2);
  margin-top: 0;
}

.menuDetailItem__infoBox {
  margin-top: 34px;
}
.menuDetailItem__infoBox.--rental {
  margin-top: 41px;
}
.menuDetailItem__infoBox.--fee:first-of-type {
  margin-top: 65px;
}
.menuDetailItem__infoBox.--mt-xl {
  margin-top: 59px;
}

.menuDetailItem__infoTtl {
  position: relative;
  display: block;
  font-family: shippori-mincho, sans-serif;
  font-size: 22px;
  font-weight: bold;
  padding-left: 40px;
}
.menuDetailItem__infoTtl::before {
  display: block;
  position: absolute;
  top: 4px;
  left: 0;
  width: 28px;
  height: 28px;
  margin: auto;
  background-color: #96E812;
  border-radius: 2px;
  content: "";
}

@media screen and (max-width: 768px) {
  .menuDetailItem__infoMulti {
    display: flex;
    flex-direction: column;
    gap: 60px 0;
    margin-top: 60px;
  }
  .menuDetailItem__infoMulti .menuDetailItem__infoBox {
    max-width: 100%;
    width: 100%;
  }
  .menuDetailItem__infoBox.--rental {
    margin-top: 59px;
  }
  .menuDetailItem__infoBox.--fee {
    margin-top: 59px;
  }
  .menuDetailItem__infoTtl {
    font-size: 20px;
    padding-left: 30px;
  }
  .menuDetailItem__infoTtl::before {
    width: 24px;
    height: 24px;
  }
}
.feeList {
  display: flex;
  flex-wrap: wrap;
  gap: 13px 14px;
  margin-top: 16px;
}
.feeList.--option {
  padding-top: 20px;
  margin-top: 19px;
  border-top: 1px dashed #C4C4C9;
}
.feeList.--option .feeDefinitionList__term {
  position: relative;
  padding-left: 27px;
}
.feeList.--option .feeDefinitionList__term::before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 17px;
  height: 17px;
  margin: auto;
  background: url(../img/common/ico_plus.svg) no-repeat center/contain;
  content: "";
}

.feeListItem {
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 513px;
  width: calc((100% - 14px) / 2);
  padding: 16px clamp(20px, 20px + 9 * (100vw - 768px) / 512, 29px) 17px clamp(20px, 20px + 5 * (100vw - 768px) / 512, 25px);
  background-color: #FFFFFF;
  border-radius: 5px;
}

.feeDefinitionList {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0 15px;
  font-size: 18px;
  font-weight: 600;
  width: 100%;
}

.feeListItem__point {
  padding-top: 9px;
  margin-top: 8px;
  border-top: 1px solid #E3E3E3;
}

.feeDefinitionList__note {
  text-align: right;
  line-height: 1;
  margin-top: 30px;
}

@media screen and (max-width: 768px) {
  .feeList {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
  }
  .feeList.--option .feeDefinitionList__term {
    padding-left: 20px;
  }
  .feeList.--option .feeDefinitionList__term::before {
    width: 14px;
    height: 14px;
  }
  .feeListItem {
    max-width: 100%;
    width: 100%;
  }
  .feeDefinitionList {
    gap: 0 15px;
    font-size: 16px;
  }
  .feeDefinitionList__fee {
    margin-left: auto;
  }
}
/*** feeIncludeBox ***/
.feeIncludeBox {
  padding: 19px clamp(20px, 20px + 5 * (100vw - 768px) / 512, 25px) 18px;
  margin: 55px 0 43px;
  background-color: #FFFFFF;
  border-radius: 5px;
}

.feeIncludeList {
  display: flex;
  gap: 0 clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px);
}
.feeIncludeList + .feeIncludeList {
  padding-top: 10px;
  margin-top: 10px;
  border-top: 1px solid #E3E3E3;
}

.feeIncludeList__term {
  font-weight: 600;
  min-width: 10em;
}

@media screen and (max-width: 768px) {
  .feeIncludeList {
    display: flex;
    flex-direction: column;
    gap: 5px 0;
  }
  .feeIncludeList + .feeIncludeList {
    padding-top: 15px;
    margin-top: 15px;
  }
}
/*** menuScheduleBox ***/
.menuScheduleWrap {
  display: flex;
  flex-wrap: wrap;
  gap: 13px 14px;
}
.menuScheduleWrap .menuScheduleBox {
  max-width: 513px;
  width: calc((100% - 14px) / 2);
}

.menuScheduleBox {
  margin-top: 16px;
}

.menuScheduleList__date {
  display: inline-block;
  font-family: shippori-mincho, sans-serif;
  font-size: 19px;
  line-height: 1;
  margin: 8px 0 10px;
}

.menuScheduleList {
  display: flex;
  border-radius: 5px;
  background-color: #FFFFFF;
}
.menuScheduleList + .menuScheduleList {
  margin-top: 10px;
}
.menuScheduleList:last-of-type .menuScheduleList__time::before {
  display: none;
}

.menuScheduleList__time {
  position: relative;
  font-weight: 600;
  text-align: right;
  min-width: 149px;
  padding: 8px 20px 7px;
  border-radius: 5px;
  background-color: #EDFCD5;
}
.menuScheduleList__time::before {
  display: block;
  position: absolute;
  bottom: -5px;
  left: 0;
  right: 0;
  width: 7px;
  height: 5px;
  margin: auto;
  background: url(../img/common/ico_triangle-fill.svg) no-repeat center/contain;
  content: "";
}

.menuScheduleList__txt {
  font-weight: 300;
  padding: 8px 20px 7px;
}

@media screen and (max-width: 768px) {
  .menuScheduleWrap {
    display: flex;
    flex-direction: column;
    gap: 35px 14px;
  }
  .menuScheduleWrap .menuScheduleBox {
    max-width: 100%;
    width: 100%;
  }
  .menuScheduleList__time {
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
}
/*** menuDotList ***/
.menuDotList {
  padding: 25px clamp(15px, 15px + 10 * (100vw - 768px) / 512, 25px);
  margin-top: 16px;
  background-color: #FFFFFF;
  border-radius: 5px;
}

.menuDotListItem {
  padding-left: 17px;
}
.menuDotListItem .feeIncludeList:first-of-type {
  margin-top: 15px;
}

/*** staffCareerBox ***/
.staffCareerBox {
  padding: 24px clamp(15px, 15px + 10 * (100vw - 768px) / 512, 25px);
  margin-top: 16px;
  background-color: #FFFFFF;
  border-radius: 5px;
}

.staffCareerList {
  display: flex;
  gap: 0 8px;
}
.staffCareerList + .staffCareerList {
  margin-top: 8px;
}

.staffCareerList__year {
  font-weight: 600;
  min-width: 4em;
}

@media screen and (max-width: 768px) {
  .staffCareerBox {
    padding: 25px clamp(15px, 15px + 10 * (100vw - 768px) / 512, 25px);
    margin-top: 16px;
    background-color: #FFFFFF;
    border-radius: 5px;
  }
  .staffCareerList {
    display: flex;
    gap: 0 10px;
  }
  .staffCareerList + .staffCareerList {
    margin-top: 10px;
  }
  .staffCareerList__year {
    font-weight: 600;
    min-width: 4em;
  }
}
/*** menuDotListItem__btnBox ***/
.menuDotListItem__btnBox {
  margin: 54px auto 0;
}

.menuDotListItem__btn {
  font-size: 18px;
  padding: 19px 40px 20px 35px;
}

@media screen and (max-width: 768px) {
  .menuDotListItem__btn {
    font-size: 16px;
    padding: 19px 40px 20px 35px;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* cautionArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.cautionArea {
  padding-top: 101px;
  padding-bottom: 140px;
  background-color: #F0F4F7;
}
.cautionArea .menuDetailItem__infoBox {
  margin-top: 27px;
}
.cautionArea .menuDetailItem__infoBox:first-of-type {
  margin-top: 40px;
}

@media screen and (max-width: 768px) {
  .cautionArea {
    padding-top: 70px;
    padding-bottom: 100px;
  }
  .cautionArea .menuDetailItem__infoBox {
    margin-top: 60px;
  }
}
/*** menuDiverMedicalBox ***/
.menuDiverMedicalBox {
  padding: 30px clamp(15px, 15px + 10 * (100vw - 768px) / 512, 25px) 25px;
  margin: 10px 0;
  background-color: #F0F4F7;
  border-radius: 5px;
}

.menuDiverMedical__txt {
  margin-top: 16px;
}

/*** licenseOtherList ***/
.licenseOther__ttl {
  text-align: center;
}

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

.licenseOtherListItem {
  max-width: 505px;
  width: calc((100% - clamp(15px, 15px + 15 * (100vw - 768px) / 512, 30px)) / 2);
  padding: 30px clamp(20px, 20px + 20 * (100vw - 768px) / 512, 40px) 40px;
  background-color: #FFFFFF;
  border-radius: 5px;
}

.licenseOtherListItem__ttl {
  font-family: dnp-shuei-nmincho-std, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: clamp(28px, 28px + 6 * (100vw - 768px) / 512, 34px);
  line-height: 1.6;
}

.licenseOtherListItem__txt {
  margin-top: 20px;
}

.licenseOtherFeeBox {
  margin-top: 31px;
}

.licenseOtherFee__ttl {
  font-family: shippori-mincho, sans-serif;
  font-size: 22px;
  line-height: 1;
}

.licenseOtherFeeList {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px 15px;
  font-size: 18px;
  font-weight: 600;
  padding: 16px clamp(15px, 15px + 15 * (100vw - 768px) / 512, 30px) 17px;
  margin-top: 17px;
  background-color: #EAEEF2;
  border-radius: 5px;
}

@media screen and (max-width: 768px) {
  .licenseOther__ttl {
    text-align: center;
  }
  .licenseOtherList {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 30px 0;
    margin-top: 50px;
  }
  .licenseOtherListItem {
    max-width: 100%;
    width: 100%;
  }
  .licenseOtherListItem__ttl {
    font-size: 24px;
  }
  .licenseOtherFee__ttl {
    font-size: 20px;
  }
  .licenseOtherFeeList {
    font-size: 16px;
  }
}
/*** 個別css ***/
#rental.menuDetailWrap {
  padding-top: 89px;
}

@media screen and (max-width: 768px) {
  #rental.menuDetailWrap {
    padding-top: 80px;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* whale-swim
――――――――――――――――――――――――――――――――――――――――――――――*/
.whale-swim .lowerLeadArea {
  padding-top: 100px;
  padding-bottom: 94px;
}
.whale-swim .c-leadTtl::before {
  top: -13px;
  left: -35px;
}
.whale-swim .c-leadTtl::after {
  bottom: -11px;
  right: -22px;
}

@media screen and (max-width: 768px) {
  .whale-swim .lowerLeadArea {
    padding-bottom: 70px;
  }
  .whale-swim .c-leadTtl::before {
    top: -13px;
    left: -5px;
  }
  .whale-swim .c-leadTtl::after {
    bottom: -11px;
    right: -5px;
  }
  .whale-swim .c-pageTtl__seasonal {
    top: -8px;
    left: -56px;
  }
}
.whaleMenuArea {
  padding-top: 99px;
}

@media screen and (max-width: 768px) {
  .whaleMenuArea {
    padding-top: 70px;
    padding-bottom: 100px;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* trial-diving
――――――――――――――――――――――――――――――――――――――――――――――*/
@media screen and (max-width: 768px) {
  .trial-diving .lowerLeadArea {
    padding-bottom: 70px;
  }
}
@media screen and (max-width: 768px) {
  .trialMenuArea {
    padding-top: 70px;
    padding-bottom: 100px;
  }
  .lowerLeadListItem__btnBox {
    margin: 31px auto 0;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* license
――――――――――――――――――――――――――――――――――――――――――――――*/
.license .cautionArea {
  padding-top: 86px;
}

@media screen and (max-width: 768px) {
  .license .lowerLeadArea {
    padding-bottom: 70px;
  }
  .license .cautionArea {
    padding-top: 70px;
  }
}
.licenseMenuArea {
  padding-top: 126px;
  padding-bottom: 130px;
}
.licenseMenuArea .menuDetailWrap:first-of-type {
  padding-top: 78px;
}
.licenseMenuArea .menuDetailItem__contBox {
  margin-top: -10px;
}
.licenseMenuArea .menuDetailItem__ttl {
  line-height: 1.5;
}
.licenseMenuArea .menuDetailItem__txt {
  margin-top: 34px;
}

@media screen and (max-width: 768px) {
  .licenseMenuArea {
    padding-top: 70px;
    padding-bottom: 70px;
  }
  .licenseMenuArea .menuDetailWrap:first-of-type {
    padding-top: 65px;
  }
  .licenseMenuArea .menuDetailItem__contBox {
    margin-top: -10px;
  }
  .licenseMenuArea .menuDetailItem__ttl {
    line-height: 1.5;
  }
  .licenseMenuArea .menuDetailItem__txt {
    margin-top: 34px;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* aguni-tour
――――――――――――――――――――――――――――――――――――――――――――――*/
.aguni-tour .lowerLeadArea {
  padding-top: 100px;
  padding-bottom: 100px;
}

@media screen and (max-width: 768px) {
  .aguni-tour .lowerLeadArea {
    padding-bottom: 70px;
  }
}
.aguniMenuArea {
  padding-top: 99px;
}

@media screen and (max-width: 768px) {
  .aguniMenuArea {
    padding-top: 70px;
    padding-bottom: 100px;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* 開催日程
――――――――――――――――――――――――――――――――――――――――――――――*/
.eventScheduleWrap {
  display: flex;
  align-items: flex-start;
  gap: 0 clamp(15px, 15px + 10 * (100vw - 768px) / 512, 25px);
  margin-top: 32px;
}

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

.eventScheduleItem + .eventScheduleItem {
  padding-top: 19px;
  margin-top: 19px;
  border-top: 1px solid #E3E3E3;
}

.eventSchedule__month {
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
}

.eventSchedule__days {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 17px;
  margin-top: 10px;
}

.eventSchedule__day {
  position: relative;
  line-height: 1;
}
.eventSchedule__day::before {
  display: block;
  position: absolute;
  top: 1px;
  right: -12px;
  width: 7px;
  height: 14px;
  margin: auto;
  background: url(../img/common/ico_slash.svg) no-repeat center/contain;
  content: "";
}
.eventSchedule__day:last-of-type::before {
  display: none;
}

/*** カレンダー ***/
.eventCalendarBox {
  flex: 1 0.3 575px;
  max-width: 575px;
  display: flex;
  flex-wrap: wrap;
  gap: 30px 15px;
  margin-top: 7px;
}

.eventCalendarItem {
  max-width: 280px;
  width: calc((100% - 15px) / 2);
}

.eventCalendarItem__month {
  display: block;
  font-family: shippori-mincho, sans-serif;
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
}

.eventCalendar {
  width: 100%;
  margin-top: 12px;
  border: 1px solid #E3E3E3;
  border-radius: 10px;
  overflow: hidden;
}
.eventCalendar thead {
  color: #FFFFFF;
  background-color: #30363C;
}
.eventCalendar tbody {
  background-color: #FFFFFF;
}
.eventCalendar tbody tr td:first-of-type {
  border-left: none;
}

.eventCalendar__weekDay {
  text-align: center;
  font-size: 10px;
  font-weight: 600;
  padding: 4px 3px;
}

.eventCalendar__day {
  position: relative;
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  vertical-align: middle;
  color: #30363C;
  width: clamp(34px, 3.125vw, 40px);
  height: clamp(34px, 3.125vw, 40px);
  padding: 4px;
  border-bottom: 1px solid #E3E3E3;
  border-left: 1px solid #E3E3E3;
  z-index: 1;
  /* 前月・翌月の日付 */
  /* 日曜日 */
  /* 土曜日 */
}
.eventCalendar__day.is-held:before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  margin: auto;
  background-color: #C2FF60;
  border-radius: 50%;
  content: "";
  z-index: -1;
}
.eventCalendar__day.is-prevMonth, .eventCalendar__day.is-nextMonth {
  color: #C1C1C1 !important;
}
.eventCalendar__day.is-sun {
  color: #CC4852;
}
.eventCalendar__day.is-sat {
  color: #4853CC;
}

.eventSchedule__status {
  position: relative;
  display: block;
  font-size: 15px;
  font-weight: 600;
  padding-left: 33px;
  margin: -14px auto 0;
}
.eventSchedule__status:before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 25px;
  height: 25px;
  margin: auto;
  background-color: #C2FF60;
  border: 1px solid #E3E3E3;
  border-radius: 50%;
  content: "";
}

.eventMonthItem {
  display: flex;
  flex-direction: row;
  gap: 40px;
  width: 100%;
  justify-content: space-between;
  align-items: flex-start;
}

@media screen and (max-width: 768px) {
  .eventScheduleWrap {
    flex-direction: column;
  }
  .eventMonthItem {
    flex-direction: column;
    gap: 20px;
  }
  .eventMonthItem + .eventMonthItem {
    margin-top: 50px;
  }
  .eventScheduleBox,
  .eventCalendarItem {
    flex: 1;
  }
  .eventScheduleBox {
    max-width: 100%;
    width: 100%;
  }
  .eventCalendarItem {
    max-width: 335px;
    width: 100%;
    margin: 20px auto 0;
  }
  .eventCalendar__day {
    width: 47px;
    height: 47px;
  }
  .eventSchedule__status {
    margin: 0 auto;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* shop-tour
――――――――――――――――――――――――――――――――――――――――――――――*/
.shop-tour .lowerLeadArea {
  position: relative;
  padding-top: 98px;
  padding-bottom: 161px;
  background: url(../img/tour/bg_lead.jpg) no-repeat bottom center/100%;
  background-color: #F0F4F7;
}
.shop-tour .lowerLeadArea::before {
  display: block;
  position: absolute;
  border-bottom: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  max-height: 100%;
  height: 55.46875vw;
  margin: auto;
  background-image: linear-gradient(180deg, rgb(240, 244, 247), rgba(240, 244, 247, 0));
  content: "";
  z-index: 0;
}
.shop-tour .lowerLeadArea::after {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2.421875vw;
  margin: auto;
  background: url(../img/common/bg_wave02.png) no-repeat bottom left/100%;
  content: "";
  z-index: 1;
}
.shop-tour .lowerLeadArea .l-inner {
  position: relative;
}
.shop-tour .lowerLead__txt {
  text-align: left;
}

@media screen and (max-width: 768px) {
  .shop-tour .lowerLeadArea {
    padding-top: 100px;
    padding-bottom: 300px;
    background: url(../img/tour/bg_lead-sp.jpg) no-repeat bottom center/100%;
  }
  .shop-tour .lowerLeadArea::before {
    max-height: 100%;
    height: 194.6666666667vw;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* tourMenuArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.tourMenuArea {
  padding-top: 106px;
}

.tourList {
  margin-top: 77px;
}

.tourListItem {
  display: flex;
  align-items: flex-start;
  gap: 0 clamp(20px, 20px + 20 * (100vw - 768px) / 512, 40px);
  padding: 40px clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px);
  background-color: #FFFFFF;
  border-radius: 10px;
}
.tourListItem + .tourListItem {
  margin-top: 50px;
}

.tourListItem__imgBox {
  flex: 1 1 278px;
  max-width: 278px;
  border-radius: 10px;
  overflow: hidden;
}

.tourListItem__contBox {
  flex: 1;
}

.tourListItem__period {
  display: inline-block;
  font-family: dnp-shuei-nmincho-std, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 18px;
  line-height: 1;
  padding: 7px 12px;
  background-color: #C2FF60;
  border-radius: 3px;
}

.tourListItem__ttl {
  font-family: dnp-shuei-nmincho-std, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: clamp(24px, 24px + 6 * (100vw - 768px) / 512, 30px);
  line-height: 1.6;
  margin-top: 15px;
}

.tourListItem__txt {
  margin-top: 16px;
}

@media screen and (max-width: 768px) {
  .tourMenuArea {
    padding-top: 90px;
    padding-bottom: 100px;
  }
  .tourList {
    margin-top: 60px;
  }
  .tourListItem {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px 0;
    padding: 40px 20px;
  }
  .tourListItem + .tourListItem {
    margin-top: 40px;
  }
  .tourListItem__imgBox {
    flex: 1 1 100%;
    max-width: 100%;
  }
  .tourListItem__contBox {
    flex: 1;
  }
  .tourListItem__period {
    display: inline-block;
    font-family: dnp-shuei-nmincho-std, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    font-size: 18px;
    line-height: 1;
    padding: 7px 12px;
    background-color: #C2FF60;
    border-radius: 3px;
  }
  .tourListItem__ttl {
    font-family: dnp-shuei-nmincho-std, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    font-size: clamp(24px, 24px + 6 * (100vw - 768px) / 512, 30px);
    line-height: 1.6;
    margin-top: 15px;
  }
  .tourListItem__txt {
    margin-top: 16px;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* shop-about
――――――――――――――――――――――――――――――――――――――――――――――*/
.shop-about .c-accent {
  color: #7BC700;
}
.shop-about .lowerLeadArea {
  padding-top: 89px;
  padding-bottom: 160px;
}
.shop-about .lowerLeadArea::after {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2.421875vw;
  margin: auto;
  background: url(../img/common/bg_wave02.png) no-repeat bottom left/100%;
  content: "";
  z-index: 1;
}
.shop-about .lowerLeadList {
  margin-top: 74px;
}

@media screen and (max-width: 768px) {
  .shop-about .lowerLeadArea {
    padding-top: 100px;
    padding-bottom: 70px;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* staffIntroductionArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.staffIntroductionArea {
  padding-top: 108px;
}

.staffIntroductionWrap {
  display: flex;
  gap: 0 clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px);
  margin-top: 75px;
}

.staffIntroduction__profileBox {
  flex: 1 1 515px;
  max-width: 515px;
}

.staffIntroduction__imgBox {
  width: 100%;
  margin-bottom: 40px;
  border-radius: 10px;
  overflow: hidden;
}

.staffIntroduction__img {
  height: auto;
}

.staffIntroduction__mainBox {
  flex: 1 1 465px;
  max-width: 465px;
}

.staffIntroduction__nameBox {
  position: relative;
  z-index: 1;
}

.staffIntroduction__ruby {
  display: block;
  font-weight: 600;
  line-height: 1;
  width: -moz-fit-content;
  width: fit-content;
}

.staffIntroduction__name {
  display: block;
  font-family: dnp-shuei-nmincho-std, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: clamp(32px, 32px + 8 * (100vw - 768px) / 512, 40px);
  line-height: 1;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 13px;
}

.staffIntroduction__name--sub {
  position: absolute;
  top: 0;
  left: 15%;
  display: block;
  font-family: dnp-shuei-nmincho-std, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: clamp(42px, 42px + 13 * (100vw - 768px) / 512, 55px);
  line-height: 1;
  color: #C2FF60;
  width: -moz-fit-content;
  width: fit-content;
  z-index: -1;
}

.staffIntroduction__id {
  display: inline-block;
  font-size: 18px;
  font-weight: 600;
  margin-top: 23px;
}

.staffIntroduction__message {
  line-height: 1.8;
  margin-top: 38px;
}

@media screen and (max-width: 768px) {
  .staffIntroductionArea {
    padding-top: 90px;
    padding-bottom: 100px;
  }
  .staffIntroductionWrap {
    display: flex;
    flex-direction: column;
    gap: 0 clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px);
    margin-top: 60px;
  }
  .staffIntroduction__profileBox {
    flex: 1 1 100%;
    max-width: 100%;
    order: 3;
    margin-top: 10px;
  }
  .staffIntroduction__imgBox {
    order: 1;
  }
  .staffIntroduction__img {
    height: auto;
  }
  .staffIntroduction__mainBox {
    flex: 1 1 100%;
    max-width: 100%;
    order: 2;
  }
  .staffIntroduction__id {
    margin-top: 23px;
  }
  .staffIntroduction__message {
    line-height: 1.5;
    margin-top: 30px;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* contact
――――――――――――――――――――――――――――――――――――――――――――――*/
.contact .c-pageHead::before {
  background-color: #6E7EAA;
  opacity: 0.5;
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* contactArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.contactArea {
  padding-top: 51px;
  padding-bottom: 132px;
}

.contactFormBox {
  padding: 78px clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px);
  margin-top: 53px;
  background-color: #FFFFFF;
  border-radius: 10px;
}

.contactForm {
  margin: auto;
}
.contactForm input, .contactForm textarea, .contactForm select {
  background-color: #FFFFFF;
  border: 1px solid #B7B8BF;
  border-radius: 5px;
  padding: 9px 15px;
  width: 305px;
  font-size: 14px;
  line-height: 2;
  color: #001C10;
  text-align: left;
}
.contactForm textarea {
  width: 585px;
  height: 165px;
  max-width: 100%;
}
.contactForm select, .contactForm #your_age {
  width: 100px;
}
.contactForm .contactFormBtnBox {
  margin: 49px auto 0;
  background-color: #C2FF60;
}
.contactForm .contactFormBtnBox::before, .contactForm .contactFormBtnBox::after {
  top: -1.5px;
  height: calc(100% + 3px);
}
.contactForm .contactFormBtnBox:hover .contactFormBtn, .contactForm .contactFormBtnBox:hover .contactFormBtn__deco {
  opacity: 0.7;
}
.contactForm .contactFormBtn {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  line-height: 1;
  text-align: center;
  width: 100%;
  height: 100%;
  padding: 19px 35px;
  margin-top: 0;
  color: #30363C;
  background-color: #C2FF60;
  border: none;
  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;
}
.contactForm .contactFormBtn__deco::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  background-color: #30363C;
  mask-image: url(../img/common/ico_link.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(../img/common/ico_link.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  transition: 0.3s;
}

.contactForm__item {
  display: flex;
  align-items: center;
  gap: 0 29px;
  padding: 0 clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px);
}
.contactForm__item + .contactForm__item {
  padding-top: 24px;
  margin-top: 26px;
  border-top: 1px solid #E3E3E3;
}
.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: 12px 0;
  line-height: 1;
  margin-top: 1px;
}
.contactForm__item.contactForm__item--radio .wpcf7-list-item {
  position: relative;
  margin-left: 2px;
}
.contactForm__item.contactForm__item--radio .wpcf7-list-item label {
  display: flex;
  align-items: baseline;
  gap: 0 10px;
}
.contactForm__item.contactForm__item--radio .wpcf7-list-item::before {
  display: block;
  position: absolute;
  top: 3px;
  left: -1px;
  width: 22px;
  height: 22px;
  margin: auto;
  border: 1px solid #B7B8BF;
  border-radius: 50%;
  background-color: #FFFFFF;
  content: "";
  z-index: 0;
}
.contactForm__item.contactForm__item--radio input[type=radio] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 20px;
  height: 20px;
  padding: 0;
  margin-top: 0;
  border: 10px solid #FFFFFF;
  border-radius: 50%;
  background-color: #7BC700;
  transition: 0.2s all linear;
  position: relative;
  top: 4px;
}
.contactForm__item.contactForm__item--radio input[type=radio]:checked {
  border: 4px solid #FFFFFF;
}
.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: 185px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 16px;
  font-weight: 600;
  color: #001C10;
  flex-shrink: 0;
  margin-bottom: 6px;
}

.contactForm__require {
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  padding: 5px 9px;
  border-radius: 13px;
  color: #FFFFFF;
  background-color: #FF4A81;
}

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

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

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

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

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

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

/*――――――――――――――――――――――――――――――――――――――――――――
/* blog
――――――――――――――――――――――――――――――――――――――――――――――*/
.blog .c-pageHead::before {
  background-color: #6E7EAA;
  opacity: 0.5;
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* blogArea
――――――――――――――――――――――――――――――――――――――――――――――*/
.blogArea {
  position: relative;
  padding-top: 107px;
  padding-bottom: 130px;
}

.blogWrap {
  display: flex;
  gap: 0 clamp(20px, 20px + 25 * (100vw - 768px) / 512, 45px);
}

.blogMainBox {
  flex: 1 1 770px;
  max-width: 770px;
}

.blogList {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 25px clamp(15px, 15px + 15 * (100vw - 768px) / 512, 30px);
  width: 100%;
}

.blogListItem {
  display: flex;
  max-width: 100%;
  width: 100%;
  min-height: 187px;
  height: 100%;
  background-color: #FFFFFF;
  border-radius: 10px;
  overflow: hidden;
}

.blogListItem__link {
  display: flex;
  width: 100%;
  height: auto;
}

.blogListItem__imgBox {
  position: relative;
  flex: 1 1 236px;
  max-width: 236px;
  width: 236px;
  height: 100%;
  overflow: hidden;
}

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

.blogListItem__contBox {
  flex: 1 1 534px;
  max-width: 534px;
  padding: 25px 30px 18px;
}

.blogListItem__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px 10px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
}

.blogListItem__cat {
  position: relative;
  line-height: 1;
  padding: 2px 11px;
}
.blogListItem__cat::before, .blogListItem__cat::after {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  width: 6px;
  height: 100%;
  margin: auto;
  background: url(../img/common/frame_tag.svg) no-repeat center/auto 100%;
  content: "";
  z-index: 1;
}
.blogListItem__cat::before {
  left: 0;
  transform: rotate(180deg);
}
.blogListItem__cat:after {
  right: 0;
}
.blogListItem__cat span {
  position: relative;
  line-height: 1;
  padding-left: 15px;
}
.blogListItem__cat span::before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 12px;
  height: 12px;
  margin: auto;
  background: url(../img/common/ico_tag.svg) no-repeat center/contain;
  content: "";
}

.blogListItem__date {
  display: block;
  font-size: 12px;
  font-weight: 600;
  text-align: right;
  color: #A7A7A7;
}

.blogListItem__ttl {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.625;
  margin-top: 14px;
}

.blogListItem__txt {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-top: 10px;
}

@media screen and (max-width: 768px) {
  .blogArea {
    position: relative;
    padding-top: 70px;
    padding-bottom: 100px;
  }
  .blogWrap {
    display: flex;
    flex-direction: column;
    gap: 50px 0;
  }
  .blogMainBox {
    flex: 1 1 100%;
    max-width: 100%;
  }
  .blogListItem {
    width: 100%;
    min-height: auto;
  }
  .blogListItem__contBox {
    padding: 19px 15px;
  }
  .blogListItem__ttl {
    line-height: 1.5;
  }
  .blogListItem__txt {
    -webkit-line-clamp: 2;
  }
}
/*** blogSideBox ***/
.blogSideBox {
  flex: 1 0 225px;
}

.blogSideItem + .blogSideItem {
  padding-top: 33px;
  margin-top: 25px;
  border-top: 1px solid #D8D8D8;
}

.blogSideTtl {
  position: relative;
  font-family: shippori-mincho, sans-serif;
  font-size: 17px;
  font-weight: bold;
  padding-left: 33px;
}
.blogSideTtl::before {
  display: block;
  position: absolute;
  top: -3px;
  left: 0;
  width: 23px;
  height: 23px;
  margin: auto;
  background-color: #96E812;
  border-radius: 2px;
  content: "";
}

.blogSideCatList {
  margin-top: 14px;
}

.blogSideArtList {
  margin-top: 20px;
}

.blogSideArtListItem + .blogSideArtListItem {
  margin-top: 30px;
}

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

.blogSideArtListItem__imgBox {
  width: 100%;
  aspect-ratio: 225/165;
  border-radius: 10px;
  overflow: hidden;
}

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

.blogSideArtListItem__contBox {
  margin-top: 11px;
}

.blogSideArtListItem__ttl {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-weight: 600;
  margin-top: 4px;
}

@media screen and (max-width: 768px) {
  .blogSideBox {
    flex: 1 1 100%;
  }
  .blogSideArtList {
    display: flex;
    flex-wrap: wrap;
    gap: 30px 15px;
  }
  .blogSideArtListItem {
    width: calc((100% - 15px) / 2);
  }
  .blogSideArtListItem + .blogSideArtListItem {
    margin-top: 0;
  }
}
/*** 詳細ページ ***/
.blogPostBox {
  padding: 50px clamp(30px, 30px + 30 * (100vw - 768px) / 512, 60px) 44px;
  background-color: #FFFFFF;
  border-radius: 10px;
}
.blogPostBox img {
  border-radius: 10px;
  margin: 0 auto;
}

.blogPostHeading--h1,
.blogPostHeading--h2,
.blogPostHeading--h3,
.blogPostHeading--h4 {
  position: relative;
  font-family: shippori-mincho, sans-serif;
  font-weight: bold;
  line-height: 1.7692307692;
}

.blogPostHeading--h1 {
  font-size: 26px;
  margin-top: 19px;
}

.blogPostHeading--h2 {
  font-size: 20px;
  padding: 4px 15px 4px 25px;
  margin: 57px 0 23px;
  background-color: #F0F4F7;
}
.blogPostHeading--h2::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 10px;
  height: 100%;
  margin: auto;
  background-color: #96E812;
  content: "";
}

.blogPostHeading--h3 {
  font-size: 18px;
  padding: 1px 13px 0px 20px;
  margin: 35px 0 17px;
}
.blogPostHeading--h3::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 7px;
  height: 100%;
  margin: auto;
  background-color: #96E812;
  content: "";
}

.blogPostHeading--h4 {
  font-size: 16px;
  padding: 0px 11px 0px 20px;
  margin: 20px 0 17px;
}
.blogPostHeading--h4::before {
  display: block;
  position: absolute;
  top: 7px;
  left: 0;
  width: 9px;
  height: 9px;
  margin: auto;
  background-color: #96E812;
  border-radius: 50%;
  content: "";
}

.blogPostTagList {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 5px;
  padding-left: 32px;
  margin-top: 8px;
}
.blogPostTagList::before {
  display: block;
  position: absolute;
  top: 1px;
  left: 0;
  width: 22px;
  height: 22px;
  margin: auto;
  background: url(../img/common/ico_hush.svg) no-repeat center/contain;
  content: "";
}

.blogPostTagListItem {
  width: -moz-fit-content;
  width: fit-content;
}

.blogPostTagListItem__link {
  display: block;
  font-size: 15px;
  font-weight: 600;
  width: -moz-fit-content;
  width: fit-content;
}

.blogPost__thumbnailBox {
  width: -moz-fit-content;
  width: fit-content;
  margin: 38px auto 45px;
  border-radius: 10px;
  overflow: hidden;
}
.blogPost__thumbnailBox img {
  width: 100%;
  height: auto;
}

.blogPost__thumbnail {
  height: auto;
}

.blogPost__contBox p + p {
  margin-top: 25px;
}

@media screen and (max-width: 768px) {
  .blogPostBox {
    padding: 50px 20px 44px;
  }
}
/*** postNextArt ***/
.postNextArt {
  display: flex;
  gap: 0 clamp(10px, 10px + 10 * (100vw - 768px) / 512, 20px);
  margin-top: 60px;
}

.postNextArt__link {
  display: flex;
  width: calc((100% - clamp(10px, 10px + 10 * (100vw - 768px) / 512, 20px)) / 2);
  min-height: 124px;
  height: auto;
  background-color: #FFFFFF;
  border-radius: 10px;
  overflow: hidden;
}
.postNextArt__link + .postNextArt__link {
  flex-direction: row-reverse;
}

.postNextArt__imgBox {
  position: relative;
  flex: 1 1 145px;
  max-width: 145px;
  width: 145px;
  overflow: hidden;
}

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

.postNextArt__contBox {
  flex: 1 1 230px;
  max-width: 230px;
  padding: 12px clamp(10px, 10px + 10 * (100vw - 768px) / 512, 20px) 14px;
}

.postNextArt__linkTxt {
  font-size: 12px;
  font-weight: 600;
  color: #62687E;
}

.postNextArt__ttl {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.53;
  margin-top: 2px;
}

@media screen and (max-width: 768px) {
  .postNextArt {
    display: flex;
    flex-direction: column;
    gap: 25px 0;
    margin-top: 40px;
  }
  .postNextArt__link {
    width: 100%;
    min-height: auto;
  }
  .postNextArt__contBox {
    flex: 1 1 100%;
    max-width: 100%;
  }
}
.archiveTitle {
  font-family: dnp-shuei-nmincho-std, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: clamp(24px, 24px + 4 * (100vw - 768px) / 512, 28px);
  margin-bottom: 30px;
}
.archiveTitle .c-accent {
  color: #7BC700;
}

/*** ページネーション ***/
.faqPagination {
  display: flex;
  justify-content: center;
  margin-top: 60px;
}
.faqPagination ul {
  display: flex;
  gap: 12px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.faqPagination li {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #333543;
  background-color: #fff;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  line-height: 1;
  font-size: 16px;
  font-weight: 300;
}
.faqPagination li a,
.faqPagination li span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: inherit;
  border-radius: 50%;
}
.faqPagination li .current {
  color: #fff;
  background-color: #7BC700;
}
.faqPagination li span.current {
  color: #fff;
  background-color: #7BC700;
}
.faqPagination li a:hover {
  color: #fff;
  background-color: #7BC700;
}

@media screen and (max-width: 768px) {
  .faqPagination {
    margin-top: 40px;
  }
}
.blog__btnBox {
  margin: 60px auto 0;
}

@media screen and (max-width: 768px) {
  .blog__btnBox {
    margin: 40px auto 0;
  }
}
/*――――――――――――――――――――――――――――――――――――――――――――
/* z-index
――――――――――――――――――――――――――――――――――――――――――――――*/
.u-z1 {
  z-index: 1;
}

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

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

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

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

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

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

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

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

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

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

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

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

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