@charset "UTF-8";
body {
  color: #333;
  background-color: #fff;
  font-family: "Noto Serif", serif;
  font-weight: 400;
}

@media only screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }
}
@media only screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
}
/* リキッドレイアウト対応 */
html {
  font-size: 16px;
  scroll-behavior: smooth;
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}
@media (min-width: 768px) {
  html {
    font-size: 1.2820512821vw;
  }
}
@media (min-width: 1248px) {
  html {
    font-size: 16px;
  }
}

/* pcの電話番号発信対応 */
@media screen and (max-width: 767px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

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

img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Remove default padding */
ul,
ol {
  padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Set core root defaults */
html {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img {
  max-width: 100%;
  display: block;
  width: 100%;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
  margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Blur images when they have no alt attribute */
img:not([alt]) {
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="10" /></filter></svg>#filter');
  -webkit-filter: blur(10px);
          filter: blur(10px);
}

/* フォームリセット */
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

.bottom-wrap {
  position: relative;
  z-index: 0;
}

.bottom-wrap::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../images/common/tokyobay-head.jpg);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
  aspect-ratio: 4096/3072;
  z-index: -1;
}

.bottom-wrap.bottom-wrap--short::before {
  padding-bottom: 586px;
  padding-bottom: 36.625rem;
}
@media screen and (max-width: 767px) {
  .bottom-wrap.bottom-wrap--short::before {
    padding-bottom: 29.375rem;
  }
}

@media screen and (max-width: 767px) {
  .bottom-wrap.bottom-wrap--middle::before {
    height: 100%;
  }
}

.breadcrumb {
  background-color: #E2F4FD;
  margin-top: 184px;
  margin-top: 11.5rem;
  height: 41px;
  height: 2.5625rem;
}
@media screen and (max-width: 767px) {
  .breadcrumb {
    margin-top: 4.5625rem;
    height: 2.0625rem;
  }
}

.breadcrumb__list {
  margin-left: 120px;
  margin-left: 7.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  gap: 1rem;
  padding: 12px 2px;
  padding: 0.75rem 0.125rem;
}
@media screen and (max-width: 767px) {
  .breadcrumb__list {
    margin-left: 1.25rem;
    padding: 0.3125rem 0 0.25rem;
  }
}

.breadcrumb__item {
  line-height: 1;
}

.breadcrumb__link {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .breadcrumb__link {
    font-size: 0.75rem;
  }
}

.breadcrumb__link--current {
  color: #2177D0;
}

.breadcrumb__arrow {
  display: inline-block;
  width: 16px;
  width: 1rem;
  height: 16px;
  height: 1rem;
}
@media screen and (max-width: 767px) {
  .breadcrumb__arrow {
    width: 1rem;
    height: 0.625rem;
  }
}

.btn-chatbot {
  padding: 18px 10px;
  padding: 1.125rem 0.625rem;
  width: 366px;
  width: 22.875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1;
  border-radius: 4px;
  letter-spacing: 0.01em;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media screen and (max-width: 1500px) {
  .btn-chatbot {
    padding: 1.125rem 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .btn-chatbot {
    font-size: 1rem;
    width: 18.5625rem;
    padding: 1.125rem 1rem;
  }
}

.btn-chatbot.btn-chatbot--blue {
  color: #F7F9FC;
  background-color: #2177D0;
  border: 1px solid #2177D0;
}

.btn-chatbot.btn-chatbot--blue:hover {
  color: #2177D0;
  background-color: #fff;
  border: 1px solid #2177D0;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-chatbot.btn-chatbot--white {
  color: #2177D0;
  background-color: #fff;
  border: 1px solid #fff;
  border: 0.0625rem solid #fff;
}

.btn-chatbot.btn-chatbot--white:hover {
  color: #F7F9FC;
  background-color: #2177D0;
  border: 1px solid #fff;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-chatbot.btn-chatbot--orange {
  color: #333;
  background-color: #FCC449;
  border: 1px solid #FCC449;
  border: 0.0625rem solid #FCC449;
}

.btn-chatbot.btn-chatbot--orange:hover {
  color: #E88B47;
  background-color: #fff;
  border: 1px solid #E88B47;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-chatbot-chat-icon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  mask-image: url(../images/common/chatbot-right.svg);
  -webkit-mask-image: url(../images/common/chatbot-right.svg);
  mask-size: contain;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  background-color: #fff;
}

.btn-chatbot-chat-icon--black {
  background-color: #333;
}

.btn-chatbot:hover .btn-chatbot-chat-icon {
  background-color: #2177D0;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-chatbot.btn-chatbot--orange:hover {
  color: #E88B47;
  background-color: #fff;
}
.btn-chatbot.btn-chatbot--orange:hover .btn-chatbot-chat-icon {
  background-color: #E88B47;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-chatbot__text {
  padding-left: 20px;
  padding-left: 1.25rem;
}
@media screen and (max-width: 767px) {
  .btn-chatbot__text {
    padding-left: 0.5rem;
  }
}

.btn-circle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

.btn-circle img {
  width: 48px;
  width: 3rem;
  height: 48px;
  height: 3rem;
}
@media screen and (max-width: 767px) {
  .btn-circle img {
    width: 2.5rem;
    height: 2.5rem;
  }
}

.btn-circle span {
  color: #2177D0;
  font-family: "Noto Sans JP", sans-serif;
  padding-left: 10px;
  padding-left: 0.625rem;
}

@media (any-hover: hover) {
  .btn-circle:hover {
    opacity: 0.7;
  }
}
.btn-closure {
  padding: 15px 147px 18px 100px;
  padding: 0.9375rem 9.1875rem 1.125rem 6.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-width: 266px;
  min-width: 16.625rem;
  font-size: 24px;
  font-size: 1.5rem;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1;
  border-radius: 40px;
  letter-spacing: 0.01em;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  color: #F7F9FC;
  background-color: #2177D0;
  border: 1px solid #2177D0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .btn-closure {
    font-size: 1rem;
    padding: 0.875rem 6.25rem 0.875rem 4rem;
    min-width: 20.625rem;
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }
}

.btn-closure::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 110px;
  right: 6.875rem;
  width: 18px;
  width: 1.125rem;
  height: 2px;
  height: 0.125rem;
  background-color: #F7F9FC;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .btn-closure::before {
    right: 4.375rem;
  }
}

.btn-closure::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 109px;
  right: 6.8125rem;
  width: 11px;
  width: 0.6875rem;
  height: 11px;
  height: 0.6875rem;
  border-top: 2px solid #F7F9FC;
  border-top: 0.125rem solid #F7F9FC;
  border-right: 2px solid #F7F9FC;
  border-right: 0.125rem solid #F7F9FC;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 767px) {
  .btn-closure::after {
    right: 4.3125rem;
  }
}

.btn-closure:hover {
  color: #2177D0;
  background-color: #fff;
  border: 1px solid #2177D0;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-closure:hover::before {
  background-color: #2177D0;
}

.btn-closure:hover::after {
  border-top: 2px solid #2177D0;
  border-top: 0.125rem solid #2177D0;
  border-right: 2px solid #2177D0;
  border-right: 0.125rem solid #2177D0;
}

.btn-cta {
  color: #F7F9FC;
  background-color: #FF8D1E;
  padding: 22px 10px 22px 10px;
  padding: 1.375rem 0.625rem 1.375rem 0.625rem;
  max-width: 488px;
  max-width: 30.5rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 16px;
  font-size: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.04em;
  border: 1px solid #FF8D1E;
  border-radius: 4px;
  -webkit-transition: background-color 0.3s, color 0.3s ease;
  transition: background-color 0.3s, color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .btn-cta {
    font-size: 1rem;
    width: 16.375rem;
    padding: 1.09375rem 0.625rem;
  }
}

.btn-cta.btn-cta--mini {
  padding: 18px 10px 18px 10px;
  padding: 1.125rem 0.625rem 1.125rem 0.625rem;
  width: 264px;
  width: 16.5rem;
}

.btn-cta.btn-cta--small {
  padding: 18px 10px 18px 10px;
  padding: 1.125rem 0.625rem 1.125rem 0.625rem;
  width: 314px;
  width: 19.625rem;
}

.btn-cta.btn-cta--big {
  padding: 18px 100px 18px 100px;
  padding: 1.125rem 6.25rem 1.125rem 6.25rem;
  width: 487px;
  width: 30.4375rem;
}
@media screen and (max-width: 767px) {
  .btn-cta.btn-cta--big {
    padding: 1.125rem 2.5rem;
    width: 18.375rem;
    font-size: 1rem;
  }
}

.btn-cta.btn-cta--yellow {
  color: #333;
  background-color: #FCC449;
  border: 1px solid #FCC449;
}

.btn-cta:hover {
  color: #FF8D1E;
  background-color: #fff;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}
.btn-cta:hover .btn-cta-cart-icon {
  background-color: #FF8D1E;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-cta.btn-cta--yellow:hover {
  color: #FF8D1E;
}

.btn-cta-cart-icon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  mask-image: url(../images/common/cart.svg);
  -webkit-mask-image: url(../images/common/cart.svg);
  mask-size: contain;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  width: 23px;
  width: 1.4375rem;
  height: 22px;
  height: 1.375rem;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .btn-cta-cart-icon {
    width: 1.25rem;
    height: 1.1875rem;
  }
}

.btn-cta-cart:hover .btn-cta-cart-icon {
  background-color: #2177D0;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-cta-cart-icon--yellow {
  background-color: #333;
}

.btn-cta__text {
  padding-left: 24px;
  padding-left: 1.5rem;
}
@media screen and (max-width: 767px) {
  .btn-cta__text {
    padding-left: 0.875rem;
  }
}

.btn-drawer {
  padding: 10px 20px;
  padding: 0.625rem 1.25rem;
  width: 200px;
  width: 12.5rem;
  height: 44px;
  height: 2.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 16px;
  font-size: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1;
  border-radius: 4px;
  letter-spacing: 0.01em;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media screen and (max-width: 767px) {
  .btn-drawer {
    padding: 1.1875rem 1.25rem;
    width: 20.9375rem;
    height: 3.5rem;
  }
}

.btn-drawer.btn-drawer--blue {
  color: #F7F9FC;
  background-color: #2177D0;
  border: 1px solid #2177D0;
}

.btn-drawer.btn-drawer--blue:hover {
  color: #2177D0;
  background-color: #fff;
  border: 1px solid #2177D0;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-drawer.btn-drawer--white {
  color: #2177D0;
  background-color: #fff;
  border: 1px solid #fff;
  border: 0.0625rem solid #fff;
}

.btn-drawer.btn-drawer--white:hover {
  color: #F7F9FC;
  background-color: #2177D0;
  border: 1px solid #fff;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-drawer-doc-icon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  mask-image: url(../images/common/document.svg);
  -webkit-mask-image: url(../images/common/document.svg);
  mask-size: contain;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  width: 23px;
  width: 1.4375rem;
  height: 22px;
  height: 1.375rem;
  background-color: #2177D0;
}

.btn-drawer-doc:hover .btn-drawer-doc-icon {
  background-color: #fff;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-drawer-doc-white-icon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  mask-image: url(../images/common/document.svg);
  -webkit-mask-image: url(../images/common/document.svg);
  mask-size: contain;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  width: 23px;
  width: 1.4375rem;
  height: 22px;
  height: 1.375rem;
  background-color: #fff;
}

.btn-drawer-doc-white:hover .btn-drawer-doc-white-icon {
  background-color: #2177D0;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-drawer-mail-icon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  mask-image: url(../images/common/mail.svg);
  -webkit-mask-image: url(../images/common/mail.svg);
  mask-size: contain;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  width: 20px;
  width: 1.25rem;
  height: 16px;
  height: 1rem;
  background-color: #2177D0;
}

.btn-drawer-mail:hover .btn-drawer-mail-icon {
  background-color: #fff;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-drawer-mail-white-icon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  mask-image: url(../images/common/mail.svg);
  -webkit-mask-image: url(../images/common/mail.svg);
  mask-size: contain;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  width: 20px;
  width: 1.25rem;
  height: 16px;
  height: 1rem;
  background-color: #fff;
}

.btn-drawer-mail-white:hover .btn-drawer-mail-white-icon {
  background-color: #2177D0;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-drawer__text {
  padding-left: 20px;
  padding-left: 1.25rem;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .btn-drawer__text {
    padding-left: 0.75rem;
  }
}

.btn-episode-next {
  font-size: 16px;
  font-size: 1rem;
  padding: 18px 83px 18px 48px;
  padding: 1.125rem 5.1875rem 1.125rem 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-width: 265px;
  min-width: 16.5625rem;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1;
  border-radius: 40px;
  letter-spacing: 0.01em;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  color: #F7F9FC;
  font-weight: 500;
  background-color: #2177D0;
  border: 1px solid #2177D0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .btn-episode-next {
    font-size: 0.875rem;
    min-width: 9.3125rem;
    width: 9.3125rem;
    padding: 0.5625rem 3.25rem 0.5625rem 1.5rem;
  }
}

.btn-episode-next::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 50px;
  right: 3.125rem;
  width: 18px;
  width: 1.125rem;
  height: 2px;
  height: 0.125rem;
  background-color: #F7F9FC;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .btn-episode-next::before {
    right: 1.9375rem;
    width: 0.9375rem;
  }
}

.btn-episode-next::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 52px;
  right: 3.25rem;
  width: 11px;
  width: 0.6875rem;
  height: 11px;
  height: 0.6875rem;
  border-top: 2px solid #F7F9FC;
  border-top: 0.125rem solid #F7F9FC;
  border-right: 2px solid #F7F9FC;
  border-right: 0.125rem solid #F7F9FC;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 767px) {
  .btn-episode-next::after {
    right: 1.875rem;
    width: 0.5625rem;
    height: 0.5625rem;
  }
}

.btn-episode-next:hover {
  color: #2177D0;
  background-color: #fff;
  border: 1px solid #2177D0;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-episode-next:hover::before {
  background-color: #2177D0;
}

.btn-episode-next:hover::after {
  border-top: 2px solid #2177D0;
  border-top: 0.125rem solid #2177D0;
  border-right: 2px solid #2177D0;
  border-right: 0.125rem solid #2177D0;
}

.btn-episode-prev {
  font-size: 16px;
  font-size: 1rem;
  padding: 18px 48px 18px 83px;
  padding: 1.125rem 3rem 1.125rem 5.1875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-width: 265px;
  min-width: 16.5625rem;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1;
  border-radius: 40px;
  letter-spacing: 0.01em;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  color: #F7F9FC;
  font-weight: 500;
  background-color: #2177D0;
  border: 1px solid #2177D0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .btn-episode-prev {
    font-size: 0.875rem;
    min-width: 9.3125rem;
    width: 9.3125rem;
    padding: 0.5625rem 1.5rem 0.5625rem 3.25rem;
  }
}

.btn-episode-prev::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50px;
  left: 3.125rem;
  width: 18px;
  width: 1.125rem;
  height: 2px;
  height: 0.125rem;
  background-color: #F7F9FC;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .btn-episode-prev::before {
    left: 1.9375rem;
    width: 0.9375rem;
  }
}

.btn-episode-prev::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 52px;
  left: 3.25rem;
  width: 11px;
  width: 0.6875rem;
  height: 11px;
  height: 0.6875rem;
  border-top: 2px solid #F7F9FC;
  border-top: 0.125rem solid #F7F9FC;
  border-left: 2px solid #F7F9FC;
  border-left: 0.125rem solid #F7F9FC;
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
}
@media screen and (max-width: 767px) {
  .btn-episode-prev::after {
    left: 1.875rem;
    width: 0.5625rem;
    height: 0.5625rem;
  }
}

.btn-episode-prev:hover {
  color: #2177D0;
  background-color: #fff;
  border: 1px solid #2177D0;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-episode-prev:hover::before {
  background-color: #2177D0;
}

.btn-episode-prev:hover::after {
  border-top: 2px solid #2177D0;
  border-top: 0.125rem solid #2177D0;
  border-left: 2px solid #2177D0;
  border-left: 0.125rem solid #2177D0;
}

.btn-footer {
  padding: 10px 20px;
  padding: 0.625rem 1.25rem;
  width: 200px;
  width: 12.5rem;
  height: 44px;
  height: 2.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 16px;
  font-size: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1;
  border-radius: 4px;
  letter-spacing: 0.01em;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media screen and (max-width: 767px) {
  .btn-footer {
    padding: 1.1875rem 1.25rem;
    width: 18.75rem;
    height: 3.5rem;
  }
}

.btn-footer.btn-footer--blue {
  color: #F7F9FC;
  background-color: #2177D0;
  border: 1px solid #2177D0;
}

.btn-footer.btn-footer--blue:hover {
  color: #2177D0;
  background-color: #fff;
  border: 1px solid #2177D0;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-footer.btn-footer--white {
  color: #2177D0;
  background-color: #fff;
  border: 1px solid #fff;
  border: 0.0625rem solid #fff;
}

.btn-footer.btn-footer--white:hover {
  color: #F7F9FC;
  background-color: #2177D0;
  border: 1px solid #fff;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-footer-doc-icon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  mask-image: url(../images/common/document.svg);
  -webkit-mask-image: url(../images/common/document.svg);
  mask-size: contain;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  width: 23px;
  width: 1.4375rem;
  height: 22px;
  height: 1.375rem;
  background-color: #2177D0;
}

.btn-footer-doc:hover .btn-footer-doc-icon {
  background-color: #fff;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-footer-doc-white-icon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  mask-image: url(../images/common/document.svg);
  -webkit-mask-image: url(../images/common/document.svg);
  mask-size: contain;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  width: 23px;
  width: 1.4375rem;
  height: 22px;
  height: 1.375rem;
  background-color: #fff;
}

.btn-footer-doc-white:hover .btn-footer-doc-white-icon {
  background-color: #2177D0;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-footer-mail-icon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  mask-image: url(../images/common/mail.svg);
  -webkit-mask-image: url(../images/common/mail.svg);
  mask-size: contain;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  width: 20px;
  width: 1.25rem;
  height: 16px;
  height: 1rem;
  background-color: #2177D0;
}

.btn-footer-mail:hover .btn-footer-mail-icon {
  background-color: #fff;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-footer-mail-white-icon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  mask-image: url(../images/common/mail.svg);
  -webkit-mask-image: url(../images/common/mail.svg);
  mask-size: contain;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  width: 20px;
  width: 1.25rem;
  height: 16px;
  height: 1rem;
  background-color: #fff;
}

.btn-footer-mail-white:hover .btn-footer-mail-white-icon {
  background-color: #2177D0;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-footer__text {
  font-size: 16px;
  font-size: 1rem;
  padding-left: 20px;
  padding-left: 1.25rem;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .btn-footer__text {
    padding-left: 0.75rem;
  }
}

.btn-head {
  padding: 10px 20px;
  padding: 0.625rem 1.25rem;
  height: 54px;
  height: 3.375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 16px;
  font-size: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1;
  border-radius: 6px;
  letter-spacing: 0.01em;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.btn-head.btn-head--blue {
  color: #2177D0;
}

.btn-head.btn-head--blue:hover {
  color: #2177D0;
}

.btn-head.btn-head--white {
  color: #2177D0;
  background-color: #fff;
  border: 1px solid #2177D0;
  border: 0.0625rem solid #2177D0;
}

.btn-head.btn-head--white:hover {
  color: #F7F9FC;
  background-color: #2177D0;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-head-cart {
  position: relative;
}

.btn-head-cart::before {
  position: absolute;
  width: 48px;
  width: 3rem;
  height: 48px;
  height: 3rem;
  background: #2177D0;
  content: "";
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-radius: 50%;
}

.btn-head-cart-icon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  mask-image: url(../images/common/cart.svg);
  -webkit-mask-image: url(../images/common/cart.svg);
  mask-size: contain;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  width: 22px;
  width: 1.375rem;
  height: 22px;
  height: 1.375rem;
  background-color: #fff;
  background-position: center;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}

.btn-head-cart:hover .btn-head-cart-icon {
  background-color: #2177D0;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-head-mail-icon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  mask-image: url(../images/common/mail.svg);
  -webkit-mask-image: url(../images/common/mail.svg);
  mask-size: contain;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  width: 20px;
  width: 1.25rem;
  height: 16px;
  height: 1rem;
  background-color: #2177D0;
}

.btn-head-mail:hover .btn-head-mail-icon {
  background-color: #fff;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-head__text {
  padding-left: 20px;
  padding-left: 1.25rem;
}

.btn-list {
  padding: 18px 20px;
  padding: 1.125rem 1.25rem;
  width: 298px;
  width: 18.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1;
  border-radius: 40px;
  letter-spacing: 0.01em;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media screen and (max-width: 767px) {
  .btn-list {
    font-size: 1rem;
    width: 9.3125rem;
    padding: 1.125rem 1rem;
  }
}

.btn-list.btn-list--blue {
  color: #F7F9FC;
  background-color: #2177D0;
  border: 1px solid #2177D0;
}

.btn-list.btn-list--blue:hover {
  color: #2177D0;
  background-color: #fff;
  border: 1px solid #2177D0;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-list.btn-list--white {
  color: #2177D0;
  background-color: #fff;
  border: 1px solid #fff;
  border: 0.0625rem solid #fff;
}

.btn-list.btn-list--white:hover {
  color: #F7F9FC;
  background-color: #2177D0;
  border: 1px solid #fff;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-list.btn-list--orange {
  color: #333;
  background-color: #FCC449;
  border: 1px solid #FCC449;
  border: 0.0625rem solid #FCC449;
}

.btn-list.btn-list--orange:hover {
  color: #E88B47;
  background-color: #fff;
  border: 1px solid #E88B47;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-list-list-icon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  mask-image: url(../images/common/white-list-icon.svg);
  -webkit-mask-image: url(../images/common/white-list-icon.svg);
  mask-size: contain;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  width: 16px;
  width: 1rem;
  height: 16px;
  height: 1rem;
  background-color: #fff;
}

.btn-list-chat-icon--black {
  background-color: #333;
}

.btn-list:hover .btn-list-list-icon {
  background-color: #2177D0;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-list.btn-list--orange:hover {
  color: #E88B47;
  background-color: #fff;
}
.btn-list.btn-list--orange:hover .btn-list-chat-icon {
  background-color: #E88B47;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-list__text {
  padding-left: 20px;
  padding-left: 1.25rem;
}
@media screen and (max-width: 767px) {
  .btn-list__text {
    padding-left: 0.5rem;
  }
}

.btn-main {
  padding: 14px 20px;
  padding: 0.875rem 1.25rem;
  height: 56px;
  height: 3.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 16px;
  font-size: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1;
  border-radius: 6px;
  letter-spacing: 0.01em;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.btn-main.btn-main--blue {
  color: #F7F9FC;
  background-color: #2177D0;
  border: 1px solid #2177D0;
}

.btn-main.btn-main--blue:hover {
  color: #2177D0;
  background-color: #fff;
  border: 1px solid #2177D0;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-main.btn-main--white {
  color: #2177D0;
  background-color: #fff;
  border: 1px solid #2177D0;
  border: 0.0625rem solid #2177D0;
}

.btn-main.btn-main--white:hover {
  color: #F7F9FC;
  background-color: #2177D0;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-main-cart-icon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  mask-image: url(../images/common/cart.svg);
  -webkit-mask-image: url(../images/common/cart.svg);
  mask-size: contain;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  width: 23px;
  width: 1.4375rem;
  height: 22px;
  height: 1.375rem;
  background-color: #fff;
}

.btn-main-cart:hover .btn-main-cart-icon {
  background-color: #2177D0;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-main-mail-icon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  mask-image: url(../images/common/mail.svg);
  -webkit-mask-image: url(../images/common/mail.svg);
  mask-size: contain;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  width: 20px;
  width: 1.25rem;
  height: 16px;
  height: 1rem;
  background-color: #2177D0;
}

.btn-main-mail:hover .btn-main-mail-icon {
  background-color: #fff;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-main__text {
  padding-left: 20px;
  padding-left: 1.25rem;
}

.btn-more {
  padding: 18px 152px 18px 120px;
  padding: 1.125rem 9.5rem 1.125rem 7.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-width: 266px;
  min-width: 16.625rem;
  font-size: 16px;
  font-size: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1;
  border-radius: 40px;
  letter-spacing: 0.01em;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  color: #F7F9FC;
  background-color: #2177D0;
  border: 1px solid #2177D0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .btn-more {
    padding: 0.875rem 4.5rem 0.875rem 2.5rem;
    min-width: 19.5rem;
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }
}

.btn-more::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 110px;
  right: 6.875rem;
  width: 18px;
  width: 1.125rem;
  height: 2px;
  height: 0.125rem;
  background-color: #F7F9FC;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .btn-more::before {
    right: 3rem;
  }
}

.btn-more::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 109px;
  right: 6.8125rem;
  width: 11px;
  width: 0.6875rem;
  height: 11px;
  height: 0.6875rem;
  border-top: 2px solid #F7F9FC;
  border-top: 0.125rem solid #F7F9FC;
  border-right: 2px solid #F7F9FC;
  border-right: 0.125rem solid #F7F9FC;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 767px) {
  .btn-more::after {
    right: 3.0625rem;
  }
}

.btn-more:hover {
  color: #2177D0;
  background-color: #fff;
  border: 1px solid #2177D0;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-more:hover::before {
  background-color: #2177D0;
}

.btn-more:hover::after {
  border-top: 2px solid #2177D0;
  border-top: 0.125rem solid #2177D0;
  border-right: 2px solid #2177D0;
  border-right: 0.125rem solid #2177D0;
}

.btn-more.btn-more--orange {
  color: #333;
  background-color: #FCC449;
  border: 1px solid #FCC449;
}
@media screen and (max-width: 767px) {
  .btn-more.btn-more--orange {
    padding: 1.125rem 4.625rem 1.125rem 2.625rem;
    min-width: 20.75rem;
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }
}

.btn-more.btn-more--orange::before {
  background-color: #333;
}

.btn-more.btn-more--orange::after {
  border-top: 2px solid #333;
  border-top: 0.125rem solid #333;
  border-right: 2px solid #333;
  border-right: 0.125rem solid #333;
}

.btn-more.btn-more--orange:hover {
  color: #E88B47;
  background-color: #fff;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-more.btn-more--orange:hover::before {
  background-color: #E88B47;
}

.btn-more.btn-more--orange:hover::after {
  border-top: 2px solid #E88B47;
  border-top: 0.125rem solid #E88B47;
  border-right: 2px solid #E88B47;
  border-right: 0.125rem solid #E88B47;
}

.btn-normal {
  padding: 18px 70px 18px 40px;
  padding: 1.125rem 4.375rem 1.125rem 2.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-width: 245px;
  min-width: 15.3125rem;
  font-size: 16px;
  font-size: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1;
  border-radius: 40px;
  letter-spacing: 0.01em;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  color: #2177D0;
  font-weight: 500;
  background-color: #fff;
  border: 1px solid #2177D0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .btn-normal {
    padding: 1rem 6.5rem 1rem 4.5rem;
    min-width: 19.3125rem;
  }
}

.btn-normal::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 44px;
  right: 2.75rem;
  width: 18px;
  width: 1.125rem;
  height: 2px;
  height: 0.125rem;
  background-color: #2177D0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .btn-normal::before {
    right: 4.5rem;
  }
}

.btn-normal::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 46px;
  right: 2.875rem;
  width: 11px;
  width: 0.6875rem;
  height: 11px;
  height: 0.6875rem;
  border-top: 2px solid #2177D0;
  border-top: 0.125rem solid #2177D0;
  border-right: 2px solid #2177D0;
  border-right: 0.125rem solid #2177D0;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 767px) {
  .btn-normal::after {
    right: 4.625rem;
  }
}

.btn-normal:hover {
  color: #F7F9FC;
  background-color: #2177D0;
  border: 1px solid #2177D0;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-normal:hover::before {
  background-color: #F7F9FC;
}

.btn-normal:hover::after {
  border-top: 2px solid #F7F9FC;
  border-top: 0.125rem solid #F7F9FC;
  border-right: 2px solid #F7F9FC;
  border-right: 0.125rem solid #F7F9FC;
}

.btn-plan {
  padding: 22px 150px 22px 120px;
  padding: 1.375rem 9.375rem 1.375rem 7.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 453px;
  width: 28.3125rem;
  min-width: 266px;
  min-width: 16.625rem;
  font-size: 20px;
  font-size: 1.25rem;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1;
  border-radius: 40px;
  letter-spacing: 0.01em;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  color: #F7F9FC;
  background-color: #2177D0;
  border: 1px solid #2177D0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .btn-plan {
    font-size: 1rem;
    padding: 0.875rem 6.5rem 0.875rem 4.5rem;
    min-width: 19.3125rem;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    width: 19.3125rem;
  }
}

.btn-plan::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 124px;
  right: 7.75rem;
  width: 18px;
  width: 1.125rem;
  height: 2px;
  height: 0.125rem;
  background-color: #F7F9FC;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .btn-plan::before {
    right: 4.25rem;
  }
}

.btn-plan::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 123px;
  right: 7.6875rem;
  width: 11px;
  width: 0.6875rem;
  height: 11px;
  height: 0.6875rem;
  border-top: 2px solid #F7F9FC;
  border-top: 0.125rem solid #F7F9FC;
  border-right: 2px solid #F7F9FC;
  border-right: 0.125rem solid #F7F9FC;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 767px) {
  .btn-plan::after {
    right: 4.3125rem;
  }
}

.btn-plan:hover {
  color: #2177D0;
  background-color: #fff;
  border: 1px solid #2177D0;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-plan:hover::before {
  background-color: #2177D0;
}

.btn-plan:hover::after {
  border-top: 2px solid #2177D0;
  border-top: 0.125rem solid #2177D0;
  border-right: 2px solid #2177D0;
  border-right: 0.125rem solid #2177D0;
}

.btn-plan.btn-plan--orange {
  color: #333;
  background-color: #FCC449;
  border: 1px solid #FCC449;
}
@media screen and (max-width: 767px) {
  .btn-plan.btn-plan--orange {
    padding: 1.125rem 4.625rem 1.125rem 2.625rem;
    min-width: 20.75rem;
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }
}

.btn-plan.btn-plan--orange::before {
  background-color: #333;
}

.btn-plan.btn-plan--orange::after {
  border-top: 2px solid #333;
  border-top: 0.125rem solid #333;
  border-right: 2px solid #333;
  border-right: 0.125rem solid #333;
}

.btn-plan.btn-plan--orange:hover {
  color: #E88B47;
  background-color: #fff;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-plan.btn-plan--orange:hover::before {
  background-color: #E88B47;
}

.btn-plan.btn-plan--orange:hover::after {
  border-top: 2px solid #E88B47;
  border-top: 0.125rem solid #E88B47;
  border-right: 2px solid #E88B47;
  border-right: 0.125rem solid #E88B47;
}

.btn-planpage-mini {
  padding: 16px 140px 16px 108px;
  padding: 1rem 8.75rem 1rem 6.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-width: 332px;
  min-width: 20.75rem;
  font-size: 16px;
  font-size: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1;
  border-radius: 8px;
  letter-spacing: 0.01em;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  color: #F7F9FC;
  font-weight: 500;
  background-color: #2177D0;
  border: 1px solid #2177D0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .btn-planpage-mini {
    padding: 1rem 6.625rem 1rem 4.625rem;
    min-width: 16.5rem;
    width: 20.75rem;
  }
}

.btn-planpage-mini::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 96px;
  right: 6rem;
  width: 18px;
  width: 1.125rem;
  height: 2px;
  height: 0.125rem;
  background-color: #F7F9FC;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .btn-planpage-mini::before {
    right: 5rem;
  }
}

.btn-planpage-mini::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 95px;
  right: 5.9375rem;
  width: 11px;
  width: 0.6875rem;
  height: 11px;
  height: 0.6875rem;
  border-top: 2px solid #F7F9FC;
  border-top: 0.125rem solid #F7F9FC;
  border-right: 2px solid #F7F9FC;
  border-right: 0.125rem solid #F7F9FC;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 767px) {
  .btn-planpage-mini::after {
    right: 5.0625rem;
  }
}

.btn-planpage-mini:hover {
  color: #2177D0;
  background-color: #F7F9FC;
  border: 1px solid #2177D0;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-planpage-mini:hover::before {
  background-color: #2177D0;
}

.btn-planpage-mini:hover::after {
  border-top: 2px solid #2177D0;
  border-top: 0.125rem solid #2177D0;
  border-right: 2px solid #2177D0;
  border-right: 0.125rem solid #2177D0;
}

.btn-planpage-mini.btn-planpage-mini--orange {
  color: #333;
  background-color: #FCC449;
  border: 1px solid #FCC449;
}

.btn-planpage-mini.btn-planpage-mini--orange::before {
  background-color: #333;
}

.btn-planpage-mini.btn-planpage-mini--orange::after {
  border-top: 2px solid #333;
  border-top: 0.125rem solid #333;
  border-right: 2px solid #333;
  border-right: 0.125rem solid #333;
}

.btn-planpage-mini.btn-planpage-mini--orange:hover {
  color: #E88B47;
  background-color: #fff;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-planpage-mini.btn-planpage-mini--orange:hover::before {
  background-color: #E88B47;
}

.btn-planpage-mini.btn-planpage-mini--orange:hover::after {
  border-top: 2px solid #E88B47;
  border-top: 0.125rem solid #E88B47;
  border-right: 2px solid #E88B47;
  border-right: 0.125rem solid #E88B47;
}

.btn-planpage {
  padding: 16px 140px 16px 120px;
  padding: 1rem 8.75rem 1rem 7.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-width: 356px;
  min-width: 22.25rem;
  font-size: 16px;
  font-size: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1;
  border-radius: 8px;
  letter-spacing: 0.01em;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  color: #F7F9FC;
  font-weight: 500;
  background-color: #2177D0;
  border: 1px solid #2177D0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .btn-planpage {
    padding: 1rem 6.625rem 1rem 4.625rem;
    min-width: 16.5rem;
    width: 20.75rem;
  }
}

.btn-planpage::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 124px;
  right: 7.75rem;
  width: 18px;
  width: 1.125rem;
  height: 2px;
  height: 0.125rem;
  background-color: #F7F9FC;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .btn-planpage::before {
    right: 5rem;
  }
}

.btn-planpage::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 125px;
  right: 7.8125rem;
  width: 11px;
  width: 0.6875rem;
  height: 11px;
  height: 0.6875rem;
  border-top: 2px solid #F7F9FC;
  border-top: 0.125rem solid #F7F9FC;
  border-right: 2px solid #F7F9FC;
  border-right: 0.125rem solid #F7F9FC;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 767px) {
  .btn-planpage::after {
    right: 5.0625rem;
  }
}

.btn-planpage:hover {
  color: #2177D0;
  background-color: #F7F9FC;
  border: 1px solid #2177D0;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-planpage:hover::before {
  background-color: #2177D0;
}

.btn-planpage:hover::after {
  border-top: 2px solid #2177D0;
  border-top: 0.125rem solid #2177D0;
  border-right: 2px solid #2177D0;
  border-right: 0.125rem solid #2177D0;
}

.btn-planpage.btn-planpage--orange {
  color: #333;
  background-color: #FCC449;
  border: 1px solid #FCC449;
}

.btn-planpage.btn-planpage--orange::before {
  background-color: #333;
}

.btn-planpage.btn-planpage--orange::after {
  border-top: 2px solid #333;
  border-top: 0.125rem solid #333;
  border-right: 2px solid #333;
  border-right: 0.125rem solid #333;
}

.btn-planpage.btn-planpage--orange:hover {
  color: #E88B47;
  background-color: #fff;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-planpage.btn-planpage--orange:hover::before {
  background-color: #E88B47;
}

.btn-planpage.btn-planpage--orange:hover::after {
  border-top: 2px solid #E88B47;
  border-top: 0.125rem solid #E88B47;
  border-right: 2px solid #E88B47;
  border-right: 0.125rem solid #E88B47;
}

.btn-search {
  padding: 16px 20px;
  padding: 1rem 1.25rem;
  width: 370px;
  width: 23.125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1;
  border-radius: 4px;
  letter-spacing: 0.01em;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media screen and (max-width: 767px) {
  .btn-search {
    font-size: 1rem;
    width: 16.375rem;
    padding: 1rem 1rem;
  }
}

.btn-search.btn-search--blue {
  color: #F7F9FC;
  background-color: #2177D0;
  border: 1px solid #2177D0;
}

.btn-search.btn-search--blue:hover {
  color: #2177D0;
  background-color: #fff;
  border: 1px solid #2177D0;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-search.btn-search--white {
  color: #2177D0;
  background-color: #fff;
  border: 1px solid #fff;
  border: 0.0625rem solid #fff;
}

.btn-search.btn-search--white:hover {
  color: #F7F9FC;
  background-color: #2177D0;
  border: 1px solid #fff;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-search.btn-search--orange {
  color: #333;
  background-color: #FCC449;
  border: 1px solid #FCC449;
  border: 0.0625rem solid #FCC449;
}

.btn-search.btn-search--orange:hover {
  color: #E88B47;
  background-color: #fff;
  border: 1px solid #E88B47;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-search-icon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  mask-image: url(../images/common/search-icon.svg);
  -webkit-mask-image: url(../images/common/search-icon.svg);
  mask-size: contain;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  background-color: #fff;
}

.btn-search-icon--black {
  background-color: #333;
}

.btn-search:hover .btn-search-icon {
  background-color: #2177D0;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-search.btn-search--orange:hover {
  color: #E88B47;
  background-color: #fff;
}
.btn-search.btn-search--orange:hover .btn-search-chat-icon {
  background-color: #E88B47;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-search__text {
  padding-left: 20px;
  padding-left: 1.25rem;
}
@media screen and (max-width: 767px) {
  .btn-search__text {
    padding-left: 0.5rem;
  }
}

.btn-small {
  padding: 14px 72px 14px 40px;
  padding: 0.875rem 4.5rem 0.875rem 2.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 16px;
  font-size: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1;
  border-radius: 40px;
  letter-spacing: 0.01em;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  color: #F7F9FC;
  background-color: #2177D0;
  border: 1px solid #2177D0;
  position: relative;
}

.btn-small::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 33px;
  right: 2.0625rem;
  width: 18px;
  width: 1.125rem;
  height: 2px;
  height: 0.125rem;
  background-color: #F7F9FC;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.btn-small::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 32px;
  right: 2rem;
  width: 11px;
  width: 0.6875rem;
  height: 11px;
  height: 0.6875rem;
  border-top: 2px solid #F7F9FC;
  border-top: 0.125rem solid #F7F9FC;
  border-right: 2px solid #F7F9FC;
  border-right: 0.125rem solid #F7F9FC;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}

.btn-small:hover {
  color: #2177D0;
  background-color: #fff;
  border: 1px solid #2177D0;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-small:hover::before {
  background-color: #2177D0;
}

.btn-small:hover::after {
  border-top: 2px solid #2177D0;
  border-top: 0.125rem solid #2177D0;
  border-right: 2px solid #2177D0;
  border-right: 0.125rem solid #2177D0;
}

.btn-small.btn-small--orange {
  padding: 18px 72px 18px 40px;
  padding: 1.125rem 4.5rem 1.125rem 2.5rem;
  color: #333;
  background-color: #FCC449;
  border: 1px solid #FCC449;
}

.btn-small.btn-small--orange::before {
  background-color: #333;
}

.btn-small.btn-small--orange::after {
  border-top: 2px solid #333;
  border-top: 0.125rem solid #333;
  border-right: 2px solid #333;
  border-right: 0.125rem solid #333;
}

.btn-small.btn-small--orange:hover {
  color: #E88B47;
  background-color: #fff;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-small.btn-small--orange:hover::before {
  background-color: #E88B47;
}

.btn-small.btn-small--orange:hover::after {
  border-top: 2px solid #E88B47;
  border-top: 0.125rem solid #E88B47;
  border-right: 2px solid #E88B47;
  border-right: 0.125rem solid #E88B47;
}

.btn-top {
  padding: 16px 83px 16px 51px;
  padding: 1rem 5.1875rem 1rem 3.1875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-width: 300px;
  min-width: 18.75rem;
  font-size: 20px;
  font-size: 1.25rem;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1;
  border-radius: 40px;
  letter-spacing: 0.01em;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  color: #F7F9FC;
  font-weight: 500;
  background-color: #2177D0;
  border: 1px solid #2177D0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .btn-top {
    font-size: 1rem;
    min-width: 15.3125rem;
    width: 15.3125rem;
    padding: 0.875rem 4.5rem 0.875rem 2.5rem;
  }
}

.btn-top::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 50px;
  right: 3.125rem;
  width: 18px;
  width: 1.125rem;
  height: 2px;
  height: 0.125rem;
  background-color: #F7F9FC;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.btn-top::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 52px;
  right: 3.25rem;
  width: 11px;
  width: 0.6875rem;
  height: 11px;
  height: 0.6875rem;
  border-top: 2px solid #F7F9FC;
  border-top: 0.125rem solid #F7F9FC;
  border-right: 2px solid #F7F9FC;
  border-right: 0.125rem solid #F7F9FC;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}

.btn-top:hover {
  color: #2177D0;
  background-color: #fff;
  border: 1px solid #2177D0;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-top:hover::before {
  background-color: #2177D0;
}

.btn-top:hover::after {
  border-top: 2px solid #2177D0;
  border-top: 0.125rem solid #2177D0;
  border-right: 2px solid #2177D0;
  border-right: 0.125rem solid #2177D0;
}

.btn-white-more {
  padding: 20px 152px 20px 120px;
  padding: 1.25rem 9.5rem 1.25rem 7.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-width: 420px;
  min-width: 26.25rem;
  width: 420px;
  width: 26.25rem;
  font-size: 16px;
  font-size: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1;
  border-radius: 40px;
  letter-spacing: 0.01em;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  color: #2177D0;
  background-color: #fff;
  border: 1px solid #2177D0;
  position: relative;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .btn-white-more {
    padding: 1.25rem 6rem 1.25rem 4rem;
    min-width: 19.25rem;
    max-width: 19.25rem;
  }
}

.btn-white-more::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 118px;
  right: 7.375rem;
  width: 18px;
  width: 1.125rem;
  height: 2px;
  height: 0.125rem;
  background-color: #2177D0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .btn-white-more::before {
    right: 4.625rem;
  }
}

.btn-white-more::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 117px;
  right: 7.3125rem;
  width: 11px;
  width: 0.6875rem;
  height: 11px;
  height: 0.6875rem;
  border-top: 2px solid #2177D0;
  border-top: 0.125rem solid #2177D0;
  border-right: 2px solid #2177D0;
  border-right: 0.125rem solid #2177D0;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 767px) {
  .btn-white-more::after {
    right: 4.5625rem;
  }
}

.btn-white-more:hover {
  color: #F7F9FC;
  background-color: #2177D0;
  border: 1px solid #2177D0;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.btn-white-more:hover::before {
  background-color: #F7F9FC;
}

.btn-white-more:hover::after {
  border-top: 2px solid #F7F9FC;
  border-top: 0.125rem solid #F7F9FC;
  border-right: 2px solid #F7F9FC;
  border-right: 0.125rem solid #F7F9FC;
}

.bubble-block {
  height: 320px;
  height: 20rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .bubble-block {
    height: 9.375rem;
  }
}

.bubble-block__circle {
  background-color: #E2F4FD;
  border-radius: 50%;
  position: absolute;
}

.bubble-block__circle--01 {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  top: 20%;
  left: 54%;
}
@media screen and (max-width: 767px) {
  .bubble-block__circle--01 {
    width: 0.75rem;
    height: 0.75rem;
    top: 40%;
  }
}

.bubble-block__circle--02 {
  width: 44px;
  width: 2.75rem;
  height: 44px;
  height: 2.75rem;
  top: 32%;
  left: 50%;
}
@media screen and (max-width: 767px) {
  .bubble-block__circle--02 {
    width: 1.875rem;
    height: 1.875rem;
    top: 60%;
    left: 46%;
  }
}

.bubble-block__circle--03 {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  top: 51%;
  left: 52%;
}
@media screen and (max-width: 767px) {
  .bubble-block__circle--03 {
    width: 0.75rem;
    height: 0.75rem;
    top: 90%;
  }
}

.bubble-block__circle--04 {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  top: 62%;
  left: 48%;
}
@media screen and (max-width: 767px) {
  .bubble-block__circle--04 {
    width: 0.75rem;
    height: 0.75rem;
    top: 110%;
  }
}

.card {
  position: relative;
  -webkit-box-shadow: 2px 4px 5px rgba(0, 0, 0, .25);
          box-shadow: 2px 4px 5px rgba(0, 0, 0, .25);
  border-radius: 8px;
}

.card--pickup {
  padding-top: 6px;
  padding-top: 0.375rem;
}

.card__top {
  padding: 38px 34px 28px;
  padding: 2.375rem 2.125rem 1.75rem;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}
@media screen and (max-width: 767px) {
  .card__top {
    padding: 2rem 1.25rem 1.25rem;
  }
}

.card__title {
  font-size: 28px;
  font-size: 1.75rem;
  font-weight: 700;
  padding-bottom: 18px;
  padding-bottom: 1.125rem;
  position: relative;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .card__title {
    font-size: 1.5rem;
    padding-bottom: 1rem;
  }
}

.card__title::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: #2177D0;
  content: "";
  width: 80%;
  height: 2px;
  height: 0.125rem;
}
@media screen and (max-width: 767px) {
  .card__title::after {
    width: 88%;
  }
}

.card__imgs {
  margin-top: 28px;
  margin-top: 1.75rem;
}
@media screen and (max-width: 767px) {
  .card__imgs {
    margin-top: 1.25rem;
  }
}

.card__image {
  width: 100%;
  height: 100%;
  aspect-ratio: 342/190;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media screen and (max-width: 767px) {
  .card__image {
    aspect-ratio: 260/150;
  }
}

.card__badge {
  position: absolute;
  top: 0px;
  top: 0rem;
  left: -4px;
  left: -0.25rem;
  width: 112px;
  width: 7rem;
}
@media screen and (max-width: 767px) {
  .card__badge {
    width: 6.125rem;
  }
}

.card__price {
  color: #2177D0;
  font-size: 42px;
  font-size: 2.625rem;
  font-weight: 900;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .card__price {
    font-size: 2rem;
  }
}

.card__explain {
  color: #2177D0;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .card__explain {
    font-weight: 500;
  }
}

.card__bottom {
  padding: 23px 28px 33px;
  padding: 1.4375rem 1.75rem 2.0625rem;
}
@media screen and (max-width: 767px) {
  .card__bottom {
    padding: 0.75rem 1.5rem 1.5rem;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
  }
}

.card__bottom.card__bottom--blue {
  background-color: #2177D0;
}

.card__text.card__text--white {
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.6;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .card__text.card__text--white {
    font-size: 0.875rem;
    line-height: 2;
  }
}

.card__more {
  margin-top: 28px;
  margin-top: 1.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .card__more {
    margin-top: 1.5rem;
  }
}

.card__more-link {
  padding: 14px 85px 14px 56px;
  padding: 0.875rem 5.3125rem 0.875rem 3.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-width: 240px;
  min-width: 15rem;
  width: 240px;
  width: 15rem;
  font-size: 19px;
  font-size: 1.1875rem;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1;
  border-radius: 40px;
  letter-spacing: 0.01em;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  color: #2177D0;
  background-color: #fff;
  border: 1px solid #2177D0;
  position: relative;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .card__more-link {
    font-size: 1rem;
    padding: 0.75rem 5.125rem 0.75rem 3.5rem;
    width: 13.9375rem;
  }
}

.card__more-link::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 56px;
  right: 3.5rem;
  width: 18px;
  width: 1.125rem;
  height: 2px;
  height: 0.125rem;
  background-color: #2177D0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .card__more-link::before {
    right: 4.25rem;
  }
}

.card__more-link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 57px;
  right: 3.5625rem;
  width: 11px;
  width: 0.6875rem;
  height: 11px;
  height: 0.6875rem;
  border-top: 2px solid #2177D0;
  border-top: 0.125rem solid #2177D0;
  border-right: 2px solid #2177D0;
  border-right: 0.125rem solid #2177D0;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 767px) {
  .card__more-link::after {
    right: 4.3125rem;
  }
}

.card__more-link:hover {
  color: #fff;
  background-color: #2177D0;
  border: 1px solid #fff;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.card__more-link:hover::before {
  background-color: #fff;
}

.card__more-link:hover::after {
  border-top: 2px solid #fff;
  border-top: 0.125rem solid #fff;
  border-right: 2px solid #fff;
  border-right: 0.125rem solid #fff;
}

.carousel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 32px;
  gap: 2rem;
  width: 100%;
  position: relative;
}

.carousel__arrow {
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  padding: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.carousel__arrow {
  width: 24px;
  width: 1.5rem;
  height: 24px;
  height: 1.5rem;
  background: none;
  border: none;
  cursor: pointer;
  position: relative;
}

.carousel__arrow--prev::before,
.carousel__arrow--next::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  width: 0.875rem;
  height: 14px;
  height: 0.875rem;
  border: solid #2177D0;
  border-width: 2px 2px 0 0;
  border-width: 0.125rem 0.125rem 0 0;
  display: inline-block;
  -webkit-transform: translate(-50%, -50%) rotate(-135deg);
          transform: translate(-50%, -50%) rotate(-135deg);
}

.carousel__arrow--next::before {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}

.carousel__dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  gap: 0.75rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.carousel__dot {
  width: 9px;
  width: 0.5625rem;
  height: 9px;
  height: 0.5625rem;
  background-color: #AAA;
  border-radius: 50%;
  border: none;
  cursor: pointer;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

.carousel__dot.carousel__dot--active {
  width: 14px;
  width: 0.875rem;
  height: 14px;
  height: 0.875rem;
  background-color: #2177D0;
}

.category__inner {
  margin-inline: auto;
  max-width: 1216px;
  max-width: 76rem;
  padding-inline: 25px;
  padding-inline: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .category__inner {
    max-width: 100%;
    padding-inline: 1.25rem;
  }
}

.category__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 600;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .category__title {
    font-size: 1.25rem;
    letter-spacing: 0.08em;
  }
}

.category__title::after {
  content: "";
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  height: 1px;
  background-color: #333;
  margin-left: 30px;
  margin-left: 1.875rem;
}
@media screen and (max-width: 767px) {
  .category__title::after {
    margin-left: 0.75rem;
  }
}

.category__contents {
  max-width: 1084px;
  max-width: 67.75rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .category__contents {
    max-width: 19.75rem;
  }
}

.category__items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-column-gap: 8.5rem;
     -moz-column-gap: 8.5rem;
          column-gap: 8.5rem;
  row-gap: 50px;
  row-gap: 3.125rem;
}
@media screen and (max-width: 767px) {
  .category__items {
    grid-template-columns: repeat(2, 1fr);
    -webkit-column-gap: 1.5rem;
       -moz-column-gap: 1.5rem;
            column-gap: 1.5rem;
    row-gap: 1.5rem;
  }
}

.category__item {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 48px;
  gap: 3rem;
  cursor: pointer;
  border-bottom: 2px solid #333;
  border-bottom: 0.125rem solid #333;
  padding-bottom: 2px;
  padding-bottom: 0.125rem;
  -webkit-transition: color 0.3s, border-color 0.3s;
  transition: color 0.3s, border-color 0.3s;
}
@media screen and (max-width: 767px) {
  .category__item {
    gap: 1rem;
  }
}

.category__item:hover {
  color: #2177D0;
  border-color: #2177D0;
}
.category__item:hover .category__icon {
  background-color: #2177D0;
}

.category__icon {
  width: 40px;
  width: 2.5rem;
  height: 40px;
  height: 2.5rem;
  mask-size: contain;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  background-color: #333;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.category__icon--ring {
  mask-image: url(../images/common/ring-icon.svg);
  -webkit-mask-image: url(../images/common/ring-icon.svg);
}

.category__icon--ship {
  mask-image: url(../images/common/ship-icon.svg);
  -webkit-mask-image: url(../images/common/ship-icon.svg);
  width: 56px;
  width: 3.5rem;
}
@media screen and (max-width: 767px) {
  .category__icon--ship {
    width: 1.625rem;
    height: 1.8125rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}

.category__icon--pet {
  mask-image: url(../images/common/pet-icon.svg);
  -webkit-mask-image: url(../images/common/pet-icon.svg);
  width: 56px;
  width: 3.5rem;
}
@media screen and (max-width: 767px) {
  .category__icon--pet {
    width: 1.5rem;
    height: 1.3125rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}

.category__icon--urn {
  mask-image: url(../images/common/urn-icon.svg);
  -webkit-mask-image: url(../images/common/urn-icon.svg);
  width: 56px;
  width: 3.5rem;
}
@media screen and (max-width: 767px) {
  .category__icon--urn {
    width: 1.625rem;
    height: 2.125rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}

.category__icon--grave {
  mask-image: url(../images/common/grave-icon.svg);
  -webkit-mask-image: url(../images/common/grave-icon.svg);
  width: 50px;
  width: 3.125rem;
}
@media screen and (max-width: 767px) {
  .category__icon--grave {
    width: 1.5rem;
    height: 1.6875rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}

.category__icon--question {
  mask-image: url(../images/common/question-icon.svg);
  -webkit-mask-image: url(../images/common/question-icon.svg);
  width: 50px;
  width: 3.125rem;
}
@media screen and (max-width: 767px) {
  .category__icon--question {
    width: 1.25rem;
    height: 1.25rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}

.category__label {
  font-size: 16px;
  font-size: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.08em;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .category__label {
    font-size: 0.875rem;
  }
}

.category__label--active {
  color: #2177D0;
  border-color: #2177D0;
}

.category__note {
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 2;
  margin-top: 64px;
  margin-top: 4rem;
}

.category__purpose {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  gap: 1rem;
  margin-top: 10px;
  margin-top: 0.625rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.category__purpose-item {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.category__purpose-icon {
  width: 32px;
  width: 2rem;
  height: 32px;
  height: 2rem;
}

.category__purpose-label {
  line-height: 2;
  letter-spacing: 0.08em;
}

.closure-flow {
  background-color: #E2F4FD;
  padding: 120px 0 160px;
  padding: 7.5rem 0 10rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .closure-flow {
    padding: 5rem 0 8.75rem;
  }
}

.closure-flow__inner {
  max-width: 928px;
  max-width: 58rem;
  margin-inline: auto;
  padding-inline: 25px;
  padding-inline: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .closure-flow__inner {
    padding-inline: 2.3125rem;
  }
}

.closure-flow__titles-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.closure-flow__title {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .closure-flow__title {
    font-size: 1.25rem;
    text-align: center;
    line-height: 1.5;
  }
}

.closure-flow__flow {
  margin-top: 62px;
  margin-top: 3.875rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .closure-flow__flow {
    margin-top: 3.9375rem;
  }
}

.closure-flow__info {
  background-color: #2177D0;
  border-radius: 3.125rem;
  margin-top: 85px;
  margin-top: 5.3125rem;
  width: 564px;
  width: 35.25rem;
  margin-inline: auto;
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .closure-flow__info {
    margin-top: 2.375rem;
    width: 19.0625rem;
  }
}

.closure-flow__info-text {
  color: #fff;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: 0.06em;
  padding: 12px 56px;
  padding: 0.75rem 3.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .closure-flow__info-text {
    font-size: 0.875rem;
    padding: 0.6875rem 2.5rem;
  }
}

.closure-flow__flow--blue {
  margin-top: 60px;
  margin-top: 3.75rem;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .closure-flow__flow--blue {
    margin-top: 2.3125rem;
  }
}

.closure-flow__flow--blue::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #D2E7F6;
  border: 1px #2177D0 dotted;
  border: 0.0625rem #2177D0 dotted;
  width: 1118px;
  width: 69.875rem;
  height: 1340px;
  height: 83.75rem;
  z-index: 1;
  top: -100px;
  top: -6.25rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .closure-flow__flow--blue::before {
    width: 108%;
    height: 108%;
  }
}

.closure-flow__flow--blue .detail-flow {
  position: relative;
  z-index: 2;
}

.closure-flow__btn-wrap {
  margin-top: 220px;
  margin-top: 13.75rem;
}
@media screen and (max-width: 767px) {
  .closure-flow__btn-wrap {
    margin-top: 6.25rem;
  }
}

.closure-flow__btn-txt {
  font-size: 16px;
  font-size: 1rem;
  color: #2177D0;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.08em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .closure-flow__btn-txt {
    font-size: 1rem;
  }
}

.closure-flow__btn {
  margin-top: 20px;
  margin-top: 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .closure-flow__btn {
    margin-top: 1rem;
  }
}

.closure-flow__more-button {
  max-width: 680px;
  max-width: 42.5rem;
  display: table-cell;
}
@media screen and (max-width: 767px) {
  .closure-flow__more-button {
    max-width: 100%;
  }
}

.closure-flow__more-button span {
  display: inline;
  vertical-align: baseline;
}

.closure-flow__small {
  font-size: 20px;
  font-size: 1.25rem;
}

.closure-img {
  background: url(../images/common/closure-img.png) no-repeat;
  background-size: cover;
  background-position: center;
  height: 500px;
  height: 31.25rem;
  z-index: 0;
  position: relative;
}

.closure-img::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(18, 18, 18, .5019607843);
  z-index: 1;
  pointer-events: none;
}

.closure-img__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 24px;
  gap: 1.5rem;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 3;
  width: 510px;
  width: 31.875rem;
}
@media screen and (max-width: 767px) {
  .closure-img__wrap {
    width: 100%;
    max-width: 18.4375rem;
    gap: 2rem;
  }
}

.closure-img__vertical-area {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: mixed;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 54px;
  gap: 3.375rem;
}
@media screen and (max-width: 767px) {
  .closure-img__vertical-area {
    gap: 1.5rem;
  }
}

.closure-img__txt {
  color: #fff;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1.125;
}
@media screen and (max-width: 767px) {
  .closure-img__txt {
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

.closure-img__txt:not(:last-child) {
  padding-left: 16px;
  padding-left: 1rem;
}
@media screen and (max-width: 767px) {
  .closure-img__txt:not(:last-child) {
    padding-left: 0.75rem;
  }
}

.closure-img__txt--up {
  -webkit-transform: translateY(-1.0625rem);
          transform: translateY(-1.0625rem);
}

.closure-img__titles {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  position: absolute;
  top: 0;
  right: 0;
}
@media screen and (max-width: 767px) {
  .closure-img__titles {
    right: 0.5rem;
  }
}

.closure-img__title01,
.closure-img__title02 {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 700;
  background-color: #fff;
  letter-spacing: 0.4em;
  display: inline-block;
  padding: 16px 8px 8px;
  padding: 1rem 0.5rem 0.5rem;
  -webkit-transform: translateY(-1.25rem);
          transform: translateY(-1.25rem);
}
@media screen and (max-width: 767px) {
  .closure-img__title01,
  .closure-img__title02 {
    font-size: 1rem;
    padding: 1rem 0.375rem 0.5rem;
  }
}

.closure-img__title01 {
  margin-left: 8px;
  margin-left: 0.5rem;
}

.closure-img__title02 {
  -webkit-transform: translateY(3.75rem);
          transform: translateY(3.75rem);
}
.closure-reason {
  background-color: #E2F4FD;
  padding: 110px 0 120px;
  padding: 6.875rem 0 7.5rem;
}
@media screen and (max-width: 767px) {
  .closure-reason {
    padding: 4rem 0 5rem;
  }
}

.closure-reason__inner {
  margin-inline: auto;
  padding-inline: 25px;
  padding-inline: 1.5625rem;
  max-width: 1000px;
  max-width: 62.5rem;
}
@media screen and (max-width: 1500px) {
  .closure-reason__inner {
    max-width: 49.125rem;
  }
}
@media screen and (max-width: 767px) {
  .closure-reason__inner {
    padding-block: 1.25rem 0;
    max-width: 100%;
    padding-inline: 1.25rem;
  }
}

.closure-reason__titles-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.closure-reason__items {
  margin-top: 54px;
  margin-top: 3.375rem;
}
@media screen and (max-width: 767px) {
  .closure-reason__items {
    margin-top: 4.375rem;
  }
}

.closure-reason__item + .closure-reason__item {
  margin-top: 82px;
  margin-top: 5.125rem;
}
@media screen and (max-width: 767px) {
  .closure-reason__item + .closure-reason__item {
    margin-top: 5rem;
  }
}

.closure-reason__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 20px;
  gap: 1.25rem;
  position: relative;
}

.closure-reason__number {
  color: #2177D0;
  font-size: 96px;
  font-size: 6rem;
  line-height: 1.02;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.08em;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .closure-reason__number {
    font-size: 2.25rem;
  }
}

.closure-reason__comment {
  position: relative;
  padding: 20px 20px 20px 104px;
  padding: 1.25rem 1.25rem 1.25rem 6.5rem;
  background-color: #fff;
  border-radius: 0.5rem;
  min-width: 589px;
  min-width: 36.8125rem;
}
@media screen and (max-width: 767px) {
  .closure-reason__comment {
    padding: 0.5rem 0.75rem 0.5rem 3.8125rem;
    min-width: 20.9375rem;
  }
}

.closure-reason__comment span {
  font-size: 16px;
  font-size: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 2;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .closure-reason__comment span {
    font-size: 0.875rem;
  }
}

.closure-reason__top img {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 98px;
  width: 6.125rem;
  height: 105px;
  height: 6.5625rem;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 767px) {
  .closure-reason__top img {
    width: 4.125rem;
    height: 4.5625rem;
    left: -0.625rem;
  }
}

.closure-reason__comment::before {
  content: "";
  position: absolute;
  bottom: -30px;
  bottom: -1.875rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: url(../images/common/speech-bubble.png) no-repeat;
  background-size: contain;
  width: 30px;
  width: 1.875rem;
  height: 30px;
  height: 1.875rem;
}

.closure-reason__bottom {
  margin-top: 32px;
  margin-top: 2rem;
  background-color: #fff;
  padding: 28px 22px;
  padding: 1.75rem 1.375rem;
  border-radius: 0.5rem;
}
@media screen and (max-width: 767px) {
  .closure-reason__bottom {
    padding: 1.25rem;
    margin-top: 1.5rem;
  }
}

@media screen and (max-width: 767px) {
  .closure-reason__subtitles {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1rem;
    padding-inline: 0.5rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #2177D0;
  }
}

.closure-reason__subtitle {
  color: #2177D0;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.6;
  padding-left: 8px;
  padding-left: 0.5rem;
  padding-bottom: 6px;
  padding-bottom: 0.375rem;
  border-bottom: 1px solid #2177D0;
}
@media screen and (max-width: 767px) {
  .closure-reason__subtitle {
    font-size: 1rem;
    display: inline-block;
    line-height: 1.5;
    border-bottom: none;
    padding-left: 0;
    padding-bottom: 0;
    letter-spacing: 0.02em;
  }
}

.closure-reason__text {
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.08em;
  margin-top: 6px;
  margin-top: 0.375rem;
  padding-left: 8px;
  padding-left: 0.5rem;
}
@media screen and (max-width: 767px) {
  .closure-reason__text {
    font-size: 0.875rem;
    margin-top: 0.75rem;
    line-height: 2.28;
    padding-left: 0;
  }
}

.closure-reason__btn-wrap {
  margin-top: 80px;
  margin-top: 5rem;
}

.closure-reason__btn-txt {
  color: #2177D0;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.08em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .closure-reason__btn-txt {
    font-size: 1rem;
  }
}

.closure-reason__btn {
  margin-top: 20px;
  margin-top: 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .closure-reason__btn {
    margin-top: 1rem;
  }
}

.closure-reason__more-button {
  max-width: 680px;
  max-width: 42.5rem;
  display: table-cell;
}
@media screen and (max-width: 767px) {
  .closure-reason__more-button {
    max-width: 100%;
  }
}

.closure-reason__more-button span {
  display: inline;
  vertical-align: baseline;
}

.closure-reason__small {
  font-size: 20px;
  font-size: 1.25rem;
  padding: 0 3px;
  padding: 0 0.1875rem;
}

.closure-services {
  background-color: #fff;
  padding: 120px 0;
  padding: 7.5rem 0;
}
@media screen and (max-width: 767px) {
  .closure-services {
    padding: 5rem 0;
  }
}

.closure-services.closure-services--transparent {
  background-color: transparent;
}

.closure-services__inner {
  max-width: 1008px;
  max-width: 63rem;
}

.closure-services__titles {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.closure-services__bigtitle {
  color: #2177D0;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding-inline: 114px;
  padding-inline: 7.125rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .closure-services__bigtitle {
    font-size: 1.25rem;
    padding-inline: 0;
    padding-bottom: 1rem;
    text-align: center;
    border-bottom: 0.0625rem solid #2177D0;
  }
}

.closure-services__bigtitle::before,
.closure-services__bigtitle::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 90px;
  width: 5.625rem;
  height: 1px;
  height: 0.0625rem;
  background: #2177D0;
}
@media screen and (max-width: 767px) {
  .closure-services__bigtitle::before,
  .closure-services__bigtitle::after {
    background: none;
  }
}

.closure-services__bigtitle::before {
  left: 0;
}

.closure-services__bigtitle::after {
  right: 0;
}

.closure-services__description {
  margin-top: 24px;
  margin-top: 1.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .closure-services__description {
    padding-inline: 1rem;
  }
}

.closure-services__items {
  margin-top: 80px;
  margin-top: 5rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 62px;
  gap: 3.875rem;
}
@media screen and (max-width: 1024px) {
  .closure-services__items {
    grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
  }
}
@media screen and (max-width: 767px) {
  .closure-services__items {
    margin-top: 4rem;
    gap: 4rem;
  }
}

.closure-services__item {
  position: relative;
  overflow: hidden;
  -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, .25);
          box-shadow: 0 4px 12px rgba(0, 0, 0, .25);
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

.closure-services__item::before {
  content: "";
  position: absolute;
  top: 12px;
  top: 0.75rem;
  right: 12px;
  right: 0.75rem;
  bottom: 12px;
  bottom: 0.75rem;
  left: 12px;
  left: 0.75rem;
  border: 1px solid #fff;
  pointer-events: none;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .closure-services__item::before {
    top: 0.5rem;
    right: 0.5rem;
    bottom: 0.5rem;
    left: 0.5rem;
    border: 0.6px solid #fff;
  }
}

.closure-services__item:hover {
  opacity: 0.8;
}

.closure-services__image {
  height: 100%;
  aspect-ratio: 455/252;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media screen and (max-width: 767px) {
  .closure-services__image {
    aspect-ratio: 320/143;
  }
}

.closure-services__content {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  color: #fff;
  text-align: center;
  width: 100%;
}

.closure-services__title {
  font-size: 32px;
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .closure-services__title {
    font-size: 1.25rem;
  }
}

.closure-services__text {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.6;
  margin-top: 24px;
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .closure-services__text {
    font-size: 0.75rem;
    margin-top: 0.375rem;
  }
}

.concept {
  background-color: #E2F4FD;
  padding: 98px 0 240px;
  padding: 6.125rem 0 15rem;
}
@media screen and (max-width: 767px) {
  .concept {
    padding: 11.625rem 0 2.5rem;
  }
}

.concept__inner {
  max-width: 1313px;
  max-width: 82.0625rem;
}
@media screen and (max-width: 767px) {
  .concept__inner {
    max-width: 100%;
  }
}

.concept__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 80px;
  gap: 5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .concept__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 3.875rem;
  }
}

.concept__circle {
  background-color: #fff;
  border-radius: 50%;
  position: absolute;
  opacity: 0;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
}

.concept__circle--01 {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  top: -160px;
  top: -10rem;
  left: 50%;
}
@media screen and (max-width: 767px) {
  .concept__circle--01 {
    width: 1rem;
    height: 1rem;
  }
}

.concept__circle--02 {
  width: 46px;
  width: 2.875rem;
  height: 46px;
  height: 2.875rem;
  top: -130px;
  top: -8.125rem;
  left: 54%;
}
@media screen and (max-width: 767px) {
  .concept__circle--02 {
    width: 1.875rem;
    height: 1.875rem;
  }
}

.concept__circle--03 {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  top: -78px;
  top: -4.875rem;
  left: 52%;
}
@media screen and (max-width: 767px) {
  .concept__circle--03 {
    width: 1rem;
    height: 1rem;
  }
}

.concept__circle--04 {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  top: -20px;
  top: -1.25rem;
  left: 58%;
}
@media screen and (max-width: 767px) {
  .concept__circle--04 {
    width: 1rem;
    height: 1rem;
    top: -2.375rem;
  }
}

.concept__contents {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 52%;
          flex: 1 1 52%;
}
@media screen and (max-width: 767px) {
  .concept__contents {
    -webkit-box-flex: initial;
        -ms-flex: initial;
            flex: initial;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.concept__description {
  font-weight: 900;
  line-height: 1.8775;
  margin-top: 24px;
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .concept__description {
    font-weight: 600;
    text-align: center;
    line-height: 2;
  }
}

.concept__items {
  margin-top: 40px;
  margin-top: 2.5rem;
}

.concept__item + .concept__item {
  margin-top: 45px;
  margin-top: 2.8125rem;
}

.concept__item-title {
  color: #2177D0;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 900;
  line-height: 1.25;
}
@media screen and (max-width: 767px) {
  .concept__item-title {
    font-size: 1.25rem;
  }
}

.concept__item-text {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 2;
  letter-spacing: 0.08em;
  margin-top: 5px;
  margin-top: 0.3125rem;
}
@media screen and (max-width: 767px) {
  .concept__item-text {
    line-height: 1.5;
  }
}

.concept__images {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 49%;
          flex: 1 1 49%;
  width: 585px;
  width: 36.5625rem;
}
@media screen and (max-width: 767px) {
  .concept__images {
    -webkit-box-flex: initial;
        -ms-flex: initial;
            flex: initial;
    width: 19.4375rem;
  }
}

.concept__image {
  width: 100%;
  aspect-ratio: 585/567;
}
@media screen and (max-width: 767px) {
  .concept__image {
    aspect-ratio: 311/277;
    -o-object-fit: contain;
       object-fit: contain;
  }
}

.contact-parts {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.contact-parts__inner {
  position: relative;
  width: 100%;
}

.contact-parts__img {
  width: 100%;
  height: 378px;
  height: 23.625rem;
}

.contact-parts__img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center 10%;
     object-position: center 10%;
}

.contact-parts__content {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  max-width: 90%;
  width: 639px;
  width: 39.9375rem;
  text-align: center;
  z-index: 1;
}

.contact-parts__title {
  color: #000;
  font-size: 32px;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
}

.contact-parts__text {
  color: #000;
  line-height: 1.6;
  margin-top: 30px;
  margin-top: 1.875rem;
}

.contact-parts__btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 16px;
  gap: 1rem;
  margin-top: 30px;
  margin-top: 1.875rem;
}

.contact-parts__button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 87px;
  gap: 5.4375rem;
  padding: 12px 24px;
  padding: 0.75rem 1.5rem;
  text-decoration: none;
  border-radius: 4px;
  font-size: 16px;
  font-size: 1rem;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}

.contact-section {
  padding: 120px 0 160px;
  padding: 7.5rem 0 10rem;
}
@media screen and (max-width: 767px) {
  .contact-section {
    padding: 5rem 0;
  }
}

.contact-section__inner {
  max-width: 800px;
  max-width: 50rem;
}
@media screen and (max-width: 767px) {
  .contact-section__inner {
    max-width: 100%;
  }
}

.contact-section__wrap {
  background-color: rgba(255, 255, 255, .8);
  width: 720px;
  width: 45rem;
  padding: 40px 74px;
  padding: 2.5rem 4.625rem;
}
@media screen and (max-width: 767px) {
  .contact-section__wrap {
    width: 100%;
    padding: 2.5rem 1.25rem;
  }
}

.contact-section__title {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  line-height: 1.33;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .contact-section__title {
    font-size: 1.25rem;
    padding: 0.625rem 1.25rem;
  }
}

.contact-section__text {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.875;
  margin-top: 18px;
  margin-top: 1.125rem;
  text-align: center;
}

.contact-section__btn-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 48px;
  margin-top: 3rem;
}

.cookie {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: fixed;
  bottom: -200px;
  bottom: 0;
  width: 100%;
  font-size: 14px;
  font-size: 0.875rem;
  color: #fff;
  background: rgba(0, 0, 0, .7);
  padding: 40px;
  padding: 2.5rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  visibility: hidden;
  -webkit-transition: visibility 0.5s;
  transition: visibility 0.5s;
  z-index: 9999;
}
@media screen and (max-width: 767px) {
  .cookie {
    font-size: 0.8125rem;
    padding: 1.25rem;
  }
}

.cookie.is-show {
  visibility: visible;
}

.cookie a {
  color: #fff;
  border-bottom: 1px solid #fff;
}

.cookie__agree {
  color: #fff;
  background: #2177D0;
  padding: 10px 20px;
  padding: 0.625rem 1.25rem;
  margin-left: 4px;
  margin-left: 0.25rem;
}

.cookie__agree:hover {
  cursor: pointer;
  opacity: 0.7;
}

/* ゆっくり消える */
.cc-hide2 {
  -webkit-animation: hide 1s linear 0s;
          animation: hide 1s linear 0s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

@-webkit-keyframes hide {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    visibility: hidden;
  }
}

@keyframes hide {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    visibility: hidden;
  }
}
.cruise-plan {
  padding: 180px 0;
  padding: 11.25rem 0;
}

.cruise-plan__inner {
  max-width: 1048px;
  max-width: 65.5rem;
}

.cruise-plan__intro {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 62px;
  gap: 3.875rem;
}

.cruise-plan__imgs {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 28.3%;
          flex: 1 1 28.3%;
  position: relative;
}

.cruise-plan__image {
  width: 100%;
  height: auto;
  aspect-ratio: 286/280;
  max-width: 286px;
  max-width: 17.875rem;
}

.cruise-plan__image--small {
  width: 100%;
  height: auto;
  aspect-ratio: 140/132;
  max-width: 140px;
  max-width: 8.75rem;
  position: absolute;
  bottom: -18px;
  bottom: -1.125rem;
  right: -40px;
  right: -2.5rem;
}

.cruise-plan__intro-contents {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 71%;
          flex: 1 1 71%;
  padding-top: 53px;
  padding-top: 3.3125rem;
}

.cruise-plan__title {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 700;
}

.cruise-plan__description {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.6;
  margin-top: 15px;
  margin-top: 0.9375rem;
}

.cruise-plan__ceremony {
  margin-top: 58px;
  margin-top: 3.625rem;
}

.cruise-plan__ceremony-title {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 700;
  color: #2177D0;
}

.cruise-plan__ceremony-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 62px;
  gap: 3.875rem;
}

.cruse-plan__wrap {
  padding-top: 70px;
  padding-top: 4.375rem;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 71%;
          flex: 1 1 71%;
}

.cruise-plan__ceremony-image {
  aspect-ratio: 286/280;
  max-width: 286px;
  max-width: 17.875rem;
}

.cruise-plan__ceremony-text {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.6;
  margin-top: 15px;
  margin-top: 0.9375rem;
}

.cruise-plan__info-table {
  max-width: 760px;
  max-width: 47.5rem;
  margin-top: 95px;
  margin-top: 5.9375rem;
  margin-inline: auto;
}

.cruise-plan__table {
  font-size: 20px;
  font-size: 1.25rem;
  width: 100%;
  border: 1px solid #2177D0;
  border: 0.0625rem solid #2177D0;
  border-collapse: collapse;
}

.cruise-plan__table-row {
  border-bottom: 1px solid #2177D0;
  border-bottom: 0.0625rem solid #2177D0;
}

.cruise-plan__table-header {
  background-color: #2177D0;
  color: #fff;
  padding: 20px 30px;
  padding: 1.25rem 1.875rem;
  text-align: left;
  width: 270px;
  width: 16.875rem;
}

.cruise-plan__table-data {
  padding: 10px;
  padding: 0.625rem;
}

.description {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 600;
  line-height: 2;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .description {
    font-size: 1rem;
    text-align: center;
  }
}

.detail-episode {
  background-color: #fff;
  padding-top: 130px;
  padding-top: 8.125rem;
  padding-bottom: 120px;
  padding-bottom: 7.5rem;
}
@media screen and (max-width: 767px) {
  .detail-episode {
    padding-top: 5.125rem;
  }
}

.detail-episode__inner {
  margin-inline: auto;
  padding-inline: 25px;
  padding-inline: 1.5625rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .detail-episode__inner {
    padding: 0;
  }
}

.detail-episode__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.detail-episode__outer {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 1178px;
  max-width: 73.625rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .detail-episode__outer {
    max-width: 100%;
  }
}

.detail-episode__inner .detail-episode__swiper {
  margin-top: 100px;
  margin-top: 6.25rem;
  padding-bottom: 95px;
  padding-bottom: 5.9375rem;
  max-width: 1178px;
  max-width: 73.625rem;
}
@media screen and (max-width: 767px) {
  .detail-episode__inner .detail-episode__swiper {
    max-width: 100%;
    margin-top: 3.625rem;
    padding-bottom: 3.875rem;
  }
}

@media screen and (max-width: 767px) {
  .detail-episode__card {
    opacity: 0.7;
    -webkit-transition: opacity 0.7s, -webkit-transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
    transition: opacity 0.7s, -webkit-transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
    transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.7s;
    transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.7s, -webkit-transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
    -webkit-box-shadow: 2px 4px 5px rgba(0, 0, 0, .25);
            box-shadow: 2px 4px 5px rgba(0, 0, 0, .25);
  }
}

@media screen and (max-width: 767px) {
  .swiper-backface-hidden .detail-episode__card {
    -webkit-transform: translateZ(0) scale(0.94);
            transform: translateZ(0) scale(0.94);
  }
}

@media screen and (max-width: 767px) {
  .detail-episode__card.swiper-slide-active {
    opacity: 1;
    -webkit-transform: translateZ(0) scale(1);
            transform: translateZ(0) scale(1);
    z-index: 1;
  }
}

.detail-episode__button-prev,
.detail-episode__button-next {
  width: 50px;
  width: 3.125rem;
  height: 50px;
  height: 3.125rem;
  background-color: #2177D0;
  border-radius: 50%;
  cursor: pointer;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 2;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 1348px) {
  .detail-episode__button-prev,
  .detail-episode__button-next {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .detail-episode__button-prev,
  .detail-episode__button-next {
    display: block;
    width: 2.5rem;
    height: 2.5rem;
  }
}

.detail-episode__button-prev:hover,
.detail-episode__button-next:hover {
  opacity: 0.7;
}

.detail-episode__button-prev {
  left: -78px;
  left: -4.875rem;
}
@media screen and (max-width: 767px) {
  .detail-episode__button-prev {
    left: 0;
  }
}

.detail-episode__button-next {
  right: -78px;
  right: -4.875rem;
}
@media screen and (max-width: 767px) {
  .detail-episode__button-next {
    right: 0rem;
  }
}

.detail-episode__button-prev::after,
.detail-episode__button-next::after {
  content: "";
  display: block;
  width: 16px;
  width: 1rem;
  height: 16px;
  height: 1rem;
  border-right: 1px solid #fff;
  border-top: 1px solid #fff;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(-135deg);
          transform: translate(-50%, -50%) rotate(-135deg);
}
@media screen and (max-width: 767px) {
  .detail-episode__button-prev::after,
  .detail-episode__button-next::after {
    width: 0.875rem;
    height: 0.875rem;
  }
}

.detail-episode__button-prev::after {
  left: 55%;
}

.detail-episode__button-next::after {
  left: 44%;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}

.detail-episode__swiper .detail-episode__pagination.swiper-pagination {
  bottom: 0px;
  bottom: 0rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .detail-episode__swiper .detail-episode__pagination.swiper-pagination {
    bottom: 0;
  }
}

.detail-episode__pagination > .swiper-pagination-bullet {
  width: 9px;
  width: 0.5625rem;
  height: 9px;
  height: 0.5625rem;
}

.detail-episode__pagination > .swiper-pagination-bullet-active {
  width: 14px;
  width: 0.875rem;
  height: 14px;
  height: 0.875rem;
}

.detail-episode__more {
  margin-top: 80px;
  margin-top: 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .detail-episode__more {
    margin-top: 4.5rem;
  }
}

.detail-flow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 40px;
  gap: 2.5rem;
  border-radius: 8px;
  padding: 24px 32px;
  padding: 1.5rem 2rem;
  background-color: #fff;
  -webkit-box-shadow: 4px 4px 4px 0 rgba(0, 0, 0, .25);
          box-shadow: 4px 4px 4px 0 rgba(0, 0, 0, .25);
  position: relative;
}
@media screen and (max-width: 767px) {
  .detail-flow {
    padding: 1.25rem 0.75rem;
    display: grid;
    gap: 1.25rem;
    place-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    grid-template-areas: "title" "img" "txt";
    gap: 1.25rem;
  }
}

.detail-flow + .detail-flow {
  margin-top: 80px;
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .detail-flow + .detail-flow {
    margin-top: 3.5rem;
  }
}

.detail-flow__image {
  width: 174px;
  width: 10.875rem;
  height: 172px;
  height: 10.75rem;
}
@media screen and (max-width: 767px) {
  .detail-flow__image {
    grid-area: img;
    width: 17.25rem;
    height: 10rem;
  }
}

.detail-flow__image img {
  aspect-ratio: 174/172;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .detail-flow__image img {
    aspect-ratio: 276/160;
  }
}

.detail-flow__content {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 73.7%;
          flex: 1 1 73.7%;
}
@media screen and (max-width: 767px) {
  .detail-flow__content {
    display: contents;
  }
}

.detail-flow__step {
  color: #2177D0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .detail-flow__step {
    font-size: 1rem;
    text-align: center;
    grid-area: title;
  }
}

.detail-flow__step.detail-flow__step--orange {
  color: #E88B47;
}

.detail-flow__text {
  font-size: 16px;
  font-size: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 2;
  margin-top: 12px;
  margin-top: 0.75rem;
}
@media screen and (max-width: 767px) {
  .detail-flow__text {
    grid-area: txt;
    margin-top: 0;
    font-size: 0.875rem;
    line-height: 1.71;
    padding-inline: 0.75rem;
  }
}

.detail-pet-flow {
  background-color: #FFF6D8;
  padding: 80px 0 300px;
  padding: 5rem 0 18.75rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .detail-pet-flow {
    padding: 3.75rem 0 11.25rem;
  }
}

.detail-pet-flow__inner {
  max-width: 928px;
  max-width: 58rem;
  margin-inline: auto;
  padding-inline: 25px;
  padding-inline: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .detail-pet-flow__inner {
    padding-inline: 2.3125rem;
  }
}

.detail-pet-flow__btn {
  margin-inline: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.detail-pet-flow__footprints {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-block: 120px;
  margin-block: 7.5rem;
}
@media screen and (max-width: 767px) {
  .detail-pet-flow__footprints {
    margin-block: 3.5rem;
  }
}

.detail-pet-flow__footprints img {
  width: 130px;
  width: 8.125rem;
  height: 157px;
  height: 9.8125rem;
}
@media screen and (max-width: 767px) {
  .detail-pet-flow__footprints img {
    width: 5rem;
    height: 7.4375rem;
  }
}

.detail-pet-flow__titles-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.detail-pet-flow__title {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .detail-pet-flow__title {
    font-size: 1.25rem;
  }
}

.detail-pet-flow__flow {
  margin-top: 80px;
  margin-top: 5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .detail-pet-flow__flow {
    margin-top: 3.5rem;
  }
}

.detail-pet-flow__flow::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  width: 0.0625rem;
  border-left: 2px dotted #E88B47;
  border-left: 0.125rem dotted #E88B47;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 0;
}

.detail-pet-slider {
  margin-top: -136px;
  margin-top: -8.5rem;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .detail-pet-slider {
    margin-top: -5rem;
  }
}

.detail-pet-slider__btn {
  margin-top: 134px;
  margin-top: 8.375rem;
  margin-inline: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .detail-pet-slider__btn {
    margin-top: 7.75rem;
  }
}

.detail-pet-suggest {
  padding-bottom: 362px;
  padding-bottom: 22.625rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .detail-pet-suggest {
    padding-top: 1.875rem;
    padding-bottom: 19.625rem;
    overflow-x: hidden;
  }
}

.detail-pet-suggest::after {
  content: "";
  position: absolute;
  background: url(../images/common/pet-footprints02.png) no-repeat;
  background-size: contain;
  bottom: 110px;
  bottom: 6.875rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 110px;
  width: 6.875rem;
  height: 161px;
  height: 10.0625rem;
}
@media screen and (max-width: 767px) {
  .detail-pet-suggest::after {
    width: 5rem;
    height: 6.8125rem;
    bottom: 8.125rem;
    -webkit-transform: rotate(-22deg);
            transform: rotate(-22deg);
    left: 42%;
  }
}

.detail-pet-suggest__inner {
  padding-inline: 25px;
  padding-inline: 1.5625rem;
  position: relative;
  overflow-x: hidden;
}
@media screen and (max-width: 767px) {
  .detail-pet-suggest__inner {
    padding-inline: 1.25rem;
    overflow-x: visible;
  }
}

.detail-pet-suggest__inner::before {
  content: "";
  position: absolute;
  top: 51%;
  left: 50%;
  width: 150%;
  height: 88%;
  background-color: #FFF6D8;
  border-radius: 50%/48%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .detail-pet-suggest__inner::before {
    top: 50%;
    width: 279%;
    height: 100%;
  }
}

.detail-pet-suggest__box {
  max-width: 1070px;
  max-width: 66.875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 0.5rem;
  padding: 26px 42px 58px;
  padding: 1.625rem 2.625rem 3.625rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .detail-pet-suggest__box {
    max-width: 31.25rem;
    padding: 0;
  }
}

.detail-pet-suggest__title {
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  background-color: #FCC449;
  padding: 16px 24px;
  padding: 1rem 1.5rem;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .detail-pet-suggest__title {
    padding: 0.5rem 1rem;
    letter-spacing: 0.02em;
  }
}

.detail-pet-suggest__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 80px;
  gap: 5rem;
  margin-top: 68px;
  margin-top: 4.25rem;
}
@media screen and (max-width: 767px) {
  .detail-pet-suggest__items {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.detail-pet-suggest__item {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0%;
          flex: 1 1 0%;
  max-width: 272px;
  max-width: 17rem;
}
@media screen and (max-width: 767px) {
  .detail-pet-suggest__item {
    max-width: 17rem;
  }
}

.detail-pet-suggest__item:nth-child(1),
.detail-pet-suggest__item:nth-child(3) {
  -webkit-transform: translateY(3rem);
          transform: translateY(3rem);
}
@media screen and (max-width: 767px) {
  .detail-pet-suggest__item:nth-child(1),
  .detail-pet-suggest__item:nth-child(3) {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

.detail-pet-suggest__img {
  width: 94%;
}
@media screen and (max-width: 767px) {
  .detail-pet-suggest__img {
    width: 89%;
    margin-inline: auto;
  }
}

.detail-pet-suggest__img img {
  aspect-ratio: 1/1;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}

.detail-pet-suggest__txt-wrap {
  margin-top: 16px;
  margin-top: 1rem;
}

.detail-pet-suggest__txt-head {
  font-weight: 900;
}

.detail-pet-suggest__txt-info {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.71;
  font-family: "Noto Sans JP", sans-serif;
  margin-top: 8px;
  margin-top: 0.5rem;
}

.detail-pet-suggest__txt {
  font-size: 16px;
  font-size: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 2;
  letter-spacing: 0.08em;
  margin-top: 53px;
  margin-top: 3.3125rem;
  margin-inline: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .detail-pet-suggest__txt {
    text-align: left;
    margin-top: 5rem;
  }
}

.detail-pet-suggest__btn {
  margin-top: 80px;
  margin-top: 5rem;
  margin-inline: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.detail-pet-table {
  background-color: #FCC449;
  padding: 74px 0 0;
  padding: 4.625rem 0 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .detail-pet-table {
    padding: 4.625rem 0 0;
  }
}

.detail-pet-table__inner {
  max-width: 1288px;
  max-width: 80.5rem;
  margin: 0 auto;
  padding-inline: 20px;
  padding-inline: 1.25rem;
}
@media screen and (max-width: 767px) {
  .detail-pet-table__inner {
    max-width: 100%;
    padding-inline: 0.75rem;
  }
}

.detail-pet-table__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 92px;
  gap: 5.75rem;
  padding-left: 130px;
  padding-left: 8.125rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .detail-pet-table__box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-left: 0;
    gap: 0rem;
  }
}

.detail-pet-table__subtitle {
  position: absolute;
  left: 0;
  top: 0;
  color: #FFD881;
  -webkit-writing-mode: vertical-lr;
      -ms-writing-mode: tb-lr;
          writing-mode: vertical-lr;
  font-weight: 500;
  font-size: 72px;
  font-size: 4.5rem;
  font-family: "Noto Sans JP", sans-serif;
  -webkit-transform: translateY(-130px);
          transform: translateY(-130px);
}
@media screen and (max-width: 767px) {
  .detail-pet-table__subtitle {
    font-size: 3.5rem;
    left: -1.5rem;
  }
}

.detail-pet-table__image-area {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 40%;
          flex: 1 1 40%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transform: translateY(-130px);
          transform: translateY(-130px);
  position: relative;
}
@media screen and (max-width: 767px) {
  .detail-pet-table__image-area {
    max-width: 15.5rem;
    -webkit-transform: translateY(-149px);
            transform: translateY(-149px);
  }
}

.detail-pet-table__image-area::after {
  content: "";
  position: absolute;
  background: url(../images/common/pet-footprints-white01.png) no-repeat;
  background-size: contain;
  bottom: -4px;
  bottom: -0.25rem;
  left: -39px;
  left: -2.4375rem;
  width: 120px;
  width: 7.5rem;
  height: 135px;
  height: 8.4375rem;
}
@media screen and (max-width: 767px) {
  .detail-pet-table__image-area::after {
    background: none;
  }
}

.detail-pet-table__image-area img {
  max-width: 100%;
  height: auto;
  display: block;
}

.detail-pet-table__content {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 53%;
          flex: 1 1 53%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 14px;
  gap: 0.875rem;
}
@media screen and (max-width: 767px) {
  .detail-pet-table__content {
    -webkit-transform: translateY(-94px);
            transform: translateY(-94px);
  }
}

.detail-pet-table__title {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 900;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .detail-pet-table__title {
    font-size: 1.25rem;
    text-align: center;
  }
}

.detail-pet-table__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 17px;
  gap: 1.0625rem;
}
@media screen and (max-width: 767px) {
  .detail-pet-table__list {
    gap: 1.0625rem;
  }
}

.detail-pet-table__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #F9F9F9;
  border-radius: 5rem;
  padding: 15px 20px 15px 22px;
  padding: 0.9375rem 1.25rem 0.9375rem 1.375rem;
  gap: 21px;
  gap: 1.3125rem;
}
@media screen and (max-width: 767px) {
  .detail-pet-table__item {
    padding: 0.75rem 1.75rem;
    gap: 1.0625rem;
  }
}

.detail-pet-table__icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.detail-pet-table__icon img {
  width: 32px;
  width: 2rem;
  height: 32px;
  height: 2rem;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 767px) {
  .detail-pet-table__icon img {
    width: 1.25rem;
    height: 1.25rem;
  }
}

.detail-pet-table__text {
  font-size: 20px;
  font-size: 1.25rem;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 767px) {
  .detail-pet-table__text {
    font-size: 1rem;
    line-height: 1.1;
    letter-spacing: 0.08em;
  }
}

.detail-plan-flow {
  background-color: #ECECEC;
  padding: 220px 0 212px;
  padding: 13.75rem 0 13.25rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .detail-plan-flow {
    padding: 6rem 0 11.25rem;
  }
}

.detail-plan-flow__inner {
  max-width: 928px;
  max-width: 58rem;
  margin-inline: auto;
  padding-inline: 25px;
  padding-inline: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .detail-plan-flow__inner {
    padding-inline: 2.3125rem;
  }
}

.detail-plan-flow__titles-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.detail-plan-flow__title {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .detail-plan-flow__title {
    font-size: 1.25rem;
  }
}

.detail-plan-flow__flow {
  margin-top: 80px;
  margin-top: 5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .detail-plan-flow__flow {
    margin-top: 3.5rem;
  }
}

.detail-plan-flow__flow::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  width: 0.0625rem;
  border-left: 2px dotted #2177D0;
  border-left: 0.125rem dotted #2177D0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 0;
}

.detail-plan-flow__btn {
  margin-top: 120px;
  margin-top: 7.5rem;
  margin-inline: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .detail-plan-flow__btn {
    margin-top: 4rem;
  }
}

.detail-plan-slider {
  margin-top: -116px;
  margin-top: -7.25rem;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .detail-plan-slider {
    margin-top: -4rem;
  }
}

.detail-plan-slider__btn {
  margin-top: 138px;
  margin-top: 8.625rem;
  margin-inline: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .detail-plan-slider__btn {
    margin-top: 4rem;
  }
}

.detail-slider__slide {
  aspect-ratio: 230/200;
}
@media screen and (max-width: 767px) {
  .detail-slider__slide {
    aspect-ratio: unset;
    height: 10.625rem;
  }
}

.detail-slider__slide img {
  border-radius: 8px;
}
@media screen and (max-width: 767px) {
  .detail-slider__slide img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    display: block;
  }
}

.detail-slider__wrapper {
  -webkit-transition-timing-function: linear !important;
          transition-timing-function: linear !important;
}

.detail-suggest {
  padding-bottom: 296px;
  padding-bottom: 18.5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .detail-suggest {
    padding-bottom: 17.625rem;
  }
}

.detail-suggest::after {
  content: "";
  position: absolute;
  background: url(../images/common/detail-suggest-bubble.png) no-repeat;
  background-size: contain;
  bottom: 56px;
  bottom: 3.5rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 110px;
  width: 6.875rem;
  height: 161px;
  height: 10.0625rem;
}
@media screen and (max-width: 767px) {
  .detail-suggest::after {
    width: 4.625rem;
    height: 6.8125rem;
    bottom: 8.75rem;
  }
}

.detail-suggest__inner {
  padding-inline: 25px;
  padding-inline: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .detail-suggest__inner {
    padding-inline: 1.25rem;
  }
}

.detail-suggest__box {
  background-color: #C4E2FC;
  max-width: 1130px;
  max-width: 70.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 0.5rem;
  padding: 50px 48px 44px;
  padding: 3.125rem 3rem 2.75rem;
  margin-inline: auto;
}
@media screen and (max-width: 1500px) {
  .detail-suggest__box {
    max-width: 66.875rem;
  }
}
@media screen and (max-width: 767px) {
  .detail-suggest__box {
    max-width: 31.25rem;
    padding: 3rem 1.6875rem;
  }
}

.detail-suggest__title {
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  background-color: #fff;
  padding: 8px 16px;
  padding: 0.5rem 1rem;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .detail-suggest__title {
    font-size: 1.25rem;
    letter-spacing: 0.02em;
  }
}

.detail-suggest__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 67px;
  gap: 4.1875rem;
  margin-top: 48px;
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  .detail-suggest__items {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.detail-suggest__img {
  width: 100%;
}

.detail-suggest__img img {
  aspect-ratio: 280/205;
  -o-object-fit: cover;
     object-fit: cover;
}

.detail-suggest__txt-wrap {
  margin-top: 16px;
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .detail-suggest__txt-wrap {
    margin-top: 0.75rem;
  }
}

.detail-suggest__txt-head {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 900;
}

.detail-suggest__txt-info {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.71;
  font-family: "Noto Sans JP", sans-serif;
  margin-top: 8px;
  margin-top: 0.5rem;
}

.detail-suggest__txt {
  font-size: 16px;
  font-size: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 2;
  letter-spacing: 0.08em;
  margin-top: 80px;
  margin-top: 5rem;
  margin-inline: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 631px;
  max-width: 39.4375rem;
}
@media screen and (max-width: 767px) {
  .detail-suggest__txt {
    padding-inline: 0.8125rem;
  }
}

.detail-suggest__btn {
  margin-top: 120px;
  margin-top: 7.5rem;
  margin-inline: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .detail-suggest__btn {
    margin-top: 5rem;
  }
}

.detail-table {
  position: relative;
  padding-top: 120px;
  padding-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .detail-table {
    padding-top: 3.25rem;
  }
}

.detail-table__inner {
  background-color: #E2F4FD;
  padding-top: 108px;
  padding-top: 6.75rem;
  padding-bottom: 50px;
  padding-bottom: 3.125rem;
}
@media screen and (max-width: 767px) {
  .detail-table__inner {
    padding-top: 5rem;
  }
}

.detail-table__titles-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.detail-table__title {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .detail-table__title {
    font-size: 1.25rem;
  }
}

.detail-table__list {
  margin-top: 80px;
  margin-top: 5rem;
}

.detail-table__contents {
  position: relative;
}

.detail-table__contents::before {
  content: "";
  position: absolute;
  background: url(../images/common/detail-table-bubble01.png) no-repeat;
  background-size: contain;
  top: -80px;
  top: -5rem;
  right: -40px;
  right: -2.5rem;
  width: 63px;
  width: 3.9375rem;
  height: 93px;
  height: 5.8125rem;
}
@media screen and (max-width: 767px) {
  .detail-table__contents::before {
    width: 2.4375rem;
    height: 3.6875rem;
    right: -0.25rem;
    top: -3.125rem;
  }
}

.detail-table__contents::after {
  content: "";
  position: absolute;
  background: url(../images/common/detail-table-bubble02.png) no-repeat;
  background-size: contain;
  bottom: -46px;
  bottom: -2.875rem;
  left: -60px;
  left: -3.75rem;
  width: 60px;
  width: 3.75rem;
  height: 91px;
  height: 5.6875rem;
}
@media screen and (max-width: 767px) {
  .detail-table__contents::after {
    width: 2.625rem;
    height: 4.0625rem;
    left: -0.375rem;
    bottom: -3.25rem;
    -webkit-transform: rotate(-20deg);
            transform: rotate(-20deg);
  }
}

.detail-top {
  padding-top: 60px;
  padding-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .detail-top {
    padding-top: 2.5rem;
  }
}

.detail-top__title {
  color: #2177D0;
  font-size: 32px;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .detail-top__title {
    font-size: 1.25rem;
    line-height: 1.6;
  }
}

.detail-top__title.detail-top__title--orange {
  color: #DA8648;
}

.detail-top__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 12px;
  gap: 0.75rem;
  margin-top: 20px;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .detail-top__tags {
    margin-top: 1rem;
    gap: 0.5rem;
  }
}

.detail-top__tag {
  background-color: #ECECEC;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 11px 16px 11px;
  padding: 0.6875rem 1rem 0.6875rem;
  gap: 10px;
  gap: 0.625rem;
}
@media screen and (max-width: 767px) {
  .detail-top__tag {
    font-size: 0.875rem;
    padding: 0.4375rem 1rem 0.4375rem 0.6875rem;
  }
}

.detail-top__icon {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  display: inline-block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.detail-top__icon img {
  -o-object-fit: contain;
     object-fit: contain;
}

.detail-top__tag-txt {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1;
  letter-spacing: 0.08em;
  font-family: "Noto Sans JP", sans-serif;
}

.detail-top__price {
  color: #2177D0;
  font-size: 40px;
  font-size: 2.5rem;
  line-height: 1;
  font-weight: 700;
  margin-top: 40px;
  margin-top: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .detail-top__price {
    font-size: 2rem;
    margin-top: 1.5rem;
  }
}

.detail-top__price.detail-top__price--orange {
  color: #DA8648;
}

.detail-top__slider {
  margin-top: 46px;
  margin-top: 2.875rem;
  padding: 32px 0;
  padding: 2rem 0;
  background-color: #E2F4FD;
}
@media screen and (max-width: 767px) {
  .detail-top__slider {
    margin-top: 1.5rem;
    padding: 1rem 0;
  }
}

.detail-top__slider--yellow {
  background-color: #FFF6D8;
}

.detail-top__wrapper {
  -webkit-transition-timing-function: linear !important;
          transition-timing-function: linear !important;
}

.detail-top__slide {
  aspect-ratio: 800/437;
  height: 437px;
  height: 27.3125rem;
}
@media screen and (max-width: 767px) {
  .detail-top__slide {
    aspect-ratio: 300/220;
    height: 13.75rem;
  }
}

@media screen and (max-width: 767px) {
  .detail-top__slide img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    display: block;
  }
}

.detail-top__info {
  margin: 22px 0 58px;
  margin: 1.375rem 0 3.625rem;
  padding: 50px 0 22px;
  padding: 3.125rem 0 1.375rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .detail-top__info {
    margin: 2.375rem 0 3.125rem;
    padding: 1.625rem 0;
  }
}

.detail-top__info--pet {
  margin: 80px 0 58px;
  margin: 5rem 0 3.625rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .detail-top__info--pet {
    margin: 1.75rem 0 3.625rem;
    padding: 0;
  }
}

.detail-top__info-inner {
  margin-inline: auto;
  padding-inline: 25px;
  padding-inline: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .detail-top__info-inner {
    padding-inline: 2.0625rem;
  }
}

.detail-top__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.detail-top__txt {
  font-size: 16px;
  font-size: 1rem;
  max-width: 631px;
  max-width: 39.4375rem;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 2;
  letter-spacing: 0.08em;
  position: relative;
}

.detail-top__pet-txt {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 2;
  letter-spacing: 0.08em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .detail-top__pet-txt {
    text-align: left;
  }
}

.detail-top__txt::before {
  content: "";
  position: absolute;
  background: url(../images/common/detail-top-bubble01.png) no-repeat;
  background-size: contain;
  top: -50px;
  top: -3.125rem;
  right: -40px;
  right: -2.5rem;
  width: 63px;
  width: 3.9375rem;
  height: 93px;
  height: 5.8125rem;
}
@media screen and (max-width: 767px) {
  .detail-top__txt::before {
    width: 2.4375rem;
    height: 3.6875rem;
    right: -0.25rem;
  }
}

.detail-top__txt::after {
  content: "";
  position: absolute;
  background: url(../images/common/detail-top-bubble02.png) no-repeat;
  background-size: contain;
  bottom: -30px;
  bottom: -1.875rem;
  left: -60px;
  left: -3.75rem;
  width: 60px;
  width: 3.75rem;
  height: 91px;
  height: 5.6875rem;
}
@media screen and (max-width: 767px) {
  .detail-top__txt::after {
    width: 2.625rem;
    height: 4.0625rem;
    left: -0.375rem;
    bottom: -2.5rem;
    -webkit-transform: rotate(-20deg);
            transform: rotate(-20deg);
  }
}

.detail-top__img {
  margin-top: 60px;
  margin-top: 3.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .detail-top__img {
    margin-top: 5rem;
  }
}

.detail-top__img img {
  width: 100%;
  max-width: 812px;
  max-width: 50.75rem;
  -o-object-fit: contain;
     object-fit: contain;
}

.drawer-list {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  background-color: #E2F4FD;
  z-index: 100;
  -webkit-transition: visibility 0.3s ease;
  transition: visibility 0.3s ease;
  padding-top: 105px;
  padding-top: 6.5625rem;
  overflow-y: auto;
}

.drawer-list::after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: -1;
}

.drawer-list .active {
  display: block;
}

.drawer-list__inner {
  padding: 0 20px 80px;
  padding: 0 1.25rem 5rem;
  height: 100vh;
  max-width: 400px;
  max-width: 25rem;
  margin-inline: auto;
}

.drawer-list__item {
  line-height: 1.125;
  border-bottom: 1px solid #fff;
}

.drawer-list__title {
  line-height: 1;
  letter-spacing: 0.08em;
  display: block;
  padding: 20px 8px;
  padding: 1.25rem 0.5rem;
  width: 100%;
  text-align: left;
}

.drawer-list__item.drawer-list__item--has-children {
  position: relative;
}

.drawer-list__item.drawer-list__item--has-children::after {
  content: "";
  position: absolute;
  right: 8px;
  right: 0.5rem;
  top: 20px;
  top: 1.25rem;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  width: 12px;
  width: 0.75rem;
  height: 12px;
  height: 0.75rem;
  border-right: 2px solid #333;
  border-right: 0.125rem solid #333;
  border-bottom: 2px solid #333;
  border-bottom: 0.125rem solid #333;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.drawer-list__item.drawer-list__item--has-children.is-open::after {
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
  top: 24px;
  top: 1.5rem;
}

.drawer-list__submenu {
  background-color: #fff;
  padding: 20px 16px;
  padding: 1.25rem 1rem;
  display: none;
}

.drawer-list__subtitle {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
}

.drawer-list__sublist {
  margin-top: 18px;
  margin-top: 1.125rem;
}

.drawer-list__subitem {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
}

.drawer-list__subitem + .drawer-list__subitem {
  margin-top: 18px;
  margin-top: 1.125rem;
}

.drawer-list__btns {
  margin-top: 74px;
  margin-top: 4.625rem;
}

.drawer-list__btn + .drawer-list__btn {
  margin-top: 16px;
  margin-top: 1rem;
}

.episode-article {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.episode-article + .episode-article {
  margin-top: 48px;
  margin-top: 3rem;
}

.episode-article__title {
  font-size: 32px;
  font-size: 2rem;
  font-weight: 700;
  border-left: 8px solid #2177D0;
  border-left: 0.5rem solid #2177D0;
  padding-left: 32px;
  padding-left: 2rem;
  letter-spacing: 0.1em;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .episode-article__title {
    font-size: 1.25rem;
    border-left: 0.25rem solid #2177D0;
    padding-left: 0.75rem;
  }
}

.episode-article__tags-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px;
  gap: 2rem;
  margin-top: 20px;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .episode-article__tags-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0.75rem;
    margin-top: 1rem;
  }
}

.episode-article__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.episode-article__tag {
  color: #F7F9FC;
  font-size: 16px;
  font-size: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.42;
  background-color: #2177D0;
  padding: 8px 20px;
  padding: 0.5rem 1.25rem;
  border-radius: 4px 0 0 4px;
}
@media screen and (max-width: 767px) {
  .episode-article__tag {
    font-size: 0.875rem;
    width: 6.9375rem;
    padding: 0.5rem 0.75rem;
  }
}

.episode-article__tag-name {
  font-size: 16px;
  font-size: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.42;
  background-color: #EEEEEE;
  padding: 8px 20px;
  padding: 0.5rem 1.25rem;
  border-radius: 0 4px 4px 0;
}
@media screen and (max-width: 767px) {
  .episode-article__tag-name {
    font-size: 0.875rem;
    padding: 0.5rem 0.75rem;
  }
}

.episode-article__image {
  margin-top: 20px;
  margin-top: 1.25rem;
}

.episode-article__image img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 9/5;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .episode-article__image img {
    aspect-ratio: 335/210;
  }
}

.episode-article__lead,
.episode-article__text {
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 767px) {
  .episode-article__lead,
  .episode-article__text {
    font-size: 0.875rem;
  }
}

.episode-article__lead {
  margin-top: 20px;
  margin-top: 1.25rem;
  margin-bottom: 38px;
  margin-bottom: 2.375rem;
}
@media screen and (max-width: 767px) {
  .episode-article__lead {
    margin-top: 1.25rem;
  }
}

@media screen and (max-width: 767px) {
  .episode-article__text {
    line-height: 2.285;
  }
}

.episode-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-radius: 8px;
  -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, .25);
          box-shadow: 0 2px 5px rgba(0, 0, 0, .25);
  overflow: hidden;
  background-color: #fff;
  max-width: 360px;
  max-width: 22.5rem;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .episode-card {
    width: 100%;
    max-width: 100%;
  }
}

@media (any-hover: hover) {
  .episode-card:hover {
    opacity: 0.8;
  }
}
.episode-card__img {
  width: 100%;
  aspect-ratio: 360/239;
  overflow: hidden;
}

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

.episode-card__content {
  padding: 20px 24px 24px;
  padding: 1.25rem 1.5rem 1.5rem;
}

.episode-card__title {
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 700;
  border-left: 4px solid rgba(33, 119, 208, .6);
  border-left: 0.25rem solid rgba(33, 119, 208, .6);
  padding-left: 16px;
  padding-left: 1rem;
}
@media screen and (max-width: 767px) {
  .episode-card__title {
    font-size: 1.125rem;
  }
}

.episode-card__date {
  display: block;
  font-size: 16px;
  font-size: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.1em;
  color: #5B5B5B;
  margin-top: 3px;
  margin-top: 0.1875rem;
}
@media screen and (max-width: 767px) {
  .episode-card__date {
    letter-spacing: 0.08em;
    margin-top: 0.75rem;
  }
}

.episode-card__description {
  font-size: 14px;
  font-size: 0.875rem;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.714;
  margin-top: 12px;
  margin-top: 0.75rem;
}

.episode-card__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 12px;
  gap: 0.75rem;
  margin-top: 16px;
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .episode-card__tags {
    gap: 0.5rem;
  }
}

.episode-card__tag {
  font-size: 14px;
  font-size: 0.875rem;
  font-family: "Noto Sans JP", sans-serif;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.episode-card__tag-label {
  font-weight: 500;
  color: #F7F9FC;
  background-color: #2177D0;
  width: 112px;
  width: 7rem;
  padding: 4px 12px 4px 12px;
  padding: 0.25rem 0.75rem 0.25rem 0.75rem;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}

.episode-card__tag-value {
  background-color: #EEEEEE;
  padding: 4px 12px 4px 12px;
  padding: 0.25rem 0.75rem 0.25rem 0.75rem;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}

.episode-detail-info {
  padding: 0 25px;
  padding: 0 1.5625rem;
}
@media screen and (max-width: 767px) {
  .episode-detail-info {
    padding: 0 1.875rem;
  }
}

.episode-detail-info__bubble {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.episode-detail-info__bubble img {
  width: 110px;
  width: 6.875rem;
  height: 161px;
  height: 10.0625rem;
  -o-object-fit: contain;
     object-fit: contain;
}

.episode-detail-info__txt {
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 2;
  letter-spacing: 0.08em;
  text-align: center;
  margin-top: 80px;
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .episode-detail-info__txt {
    font-size: 1rem;
    line-height: 2.5;
    margin-top: 4rem;
    text-align: left;
  }
}

.episode-detail-slider {
  background-color: #fff;
}

.episode-detail-slider__wrap::before {
  content: "";
  position: absolute;
  background: url(../images/common/detail-big-bubble01.png) no-repeat;
  background-size: contain;
  top: 270px;
  top: 16.875rem;
  right: 90px;
  right: 5.625rem;
  width: 205px;
  width: 12.8125rem;
  height: 265px;
  height: 16.5625rem;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .episode-detail-slider__wrap::before {
    background: none;
  }
}

.episode-detail-slider__wrap::after {
  content: "";
  position: absolute;
  background: url(../images/common/detail-big-bubble01.png) no-repeat;
  background-size: contain;
  bottom: 222px;
  bottom: 13.875rem;
  left: 110px;
  left: 6.875rem;
  width: 200px;
  width: 12.5rem;
  height: 185px;
  height: 11.5625rem;
  -webkit-transform: rotate(160deg);
          transform: rotate(160deg);
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .episode-detail-slider__wrap::after {
    background: none;
  }
}

.episode-detail-slider__bubble-block {
  position: relative;
  height: 220px;
  height: 13.75rem;
}

.episode-detail-slider__bubble-block-circle {
  background-color: #E2F4FD;
  border-radius: 50%;
  position: absolute;
}

.episode-detail-slider__bubble-block-circle--01 {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  top: 0px;
  top: 0rem;
  left: 40%;
}

.episode-detail-slider__bubble-block-circle--02 {
  width: 39px;
  width: 2.4375rem;
  height: 39px;
  height: 2.4375rem;
  top: 10%;
  left: 50%;
}

.episode-detail-slider__bubble-block-circle--03 {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  top: 30%;
  left: 40%;
}

.episode-detail-slider__bubble-block-circle--04 {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  top: 56%;
  left: 60%;
}

.episode-detail-slider__wrap {
  padding: 238px 0 58px;
  padding: 14.875rem 0 3.625rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .episode-detail-slider__wrap {
    padding: 7.5rem 0 0;
  }
}

.episode-detail-slider__inner {
  padding: 25px;
  padding: 1.5625rem;
  margin-inline: auto;
  max-width: 1160px;
  max-width: 72.5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .episode-detail-slider__inner {
    padding: 0;
  }
}

.episode-detail-slider__inner .episode-detail-slider__slider {
  padding-bottom: 77px;
  padding-bottom: 4.8125rem;
}
@media screen and (max-width: 767px) {
  .episode-detail-slider__inner .episode-detail-slider__slider {
    padding-bottom: 2.375rem;
  }
}

.episode-detail-slider__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 767px) {
  .episode-detail-slider__bigtitle {
    text-align: center;
  }
}

.episode-detail-slider__slider {
  position: relative;
  margin-top: 96px;
  margin-top: 6rem;
}
@media screen and (max-width: 767px) {
  .episode-detail-slider__slider {
    height: auto;
    margin-top: 4rem;
  }
}

.episode-detail-slider__card-wrapper {
  height: 100%;
}

.episode-detail-slider__slide {
  height: 100%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .episode-detail-slider__slide {
    opacity: 0.9;
    -webkit-transition: opacity 0.7s, -webkit-transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
    transition: opacity 0.7s, -webkit-transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
    transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.7s;
    transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.7s, -webkit-transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  }
}

@media screen and (max-width: 767px) {
  .swiper-backface-hidden .episode-detail-slider__slide {
    -webkit-transform: translateZ(0) scale(0.9);
            transform: translateZ(0) scale(0.9);
  }
}

@media screen and (max-width: 767px) {
  .episode-detail-slider__slide.swiper-slide-active {
    opacity: 1;
    -webkit-transform: translateZ(0) scale(1);
            transform: translateZ(0) scale(1);
    z-index: 1;
  }
}

.episode-detail-slider__card {
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  background-color: #fff;
  border-radius: 0.5rem;
  border: 1px solid #CECECE;
  -webkit-box-shadow: 4px 4px 4px 0 rgba(0, 0, 0, .25);
          box-shadow: 4px 4px 4px 0 rgba(0, 0, 0, .25);
  padding: 32px 24px;
  padding: 2rem 1.5rem;
  gap: 32px;
  gap: 2rem;
  width: 900px;
  width: 56.25rem;
  height: 400px;
  height: 25rem;
  z-index: auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  .episode-detail-slider__card {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: auto;
    width: initial;
    height: auto;
    padding: 0;
    gap: 0;
  }
}

.episode-detail-slider__image-wrapper,
.episode-detail-slider__content {
  position: relative;
  z-index: 1;
}

.episode-detail-slider__image-wrapper {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 349px;
  width: 21.8125rem;
}
@media screen and (max-width: 767px) {
  .episode-detail-slider__image-wrapper {
    width: auto;
    width: initial;
  }
}

.episode-detail-slider__image {
  width: 100%;
  height: 100%;
  aspect-ratio: 349/335;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media screen and (max-width: 767px) {
  .episode-detail-slider__image {
    aspect-ratio: 300/210;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
  }
}

.episode-detail-slider__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 18px;
  margin-top: 1.125rem;
}
@media screen and (max-width: 767px) {
  .episode-detail-slider__content {
    padding: 1.25rem 1.25rem 1.5rem;
    margin-top: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    grid-template-areas: "title" "date" "text" "tags";
  }
}

.episode-detail-slider__title {
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 767px) {
  .episode-detail-slider__title {
    font-size: 1.25rem;
    padding-left: 1rem;
    border-left: 0.25rem solid #2177D0;
  }
}

.episode-detail-slider__tags-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  gap: 1rem;
  margin-top: 24px;
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .episode-detail-slider__tags-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0.5rem;
    grid-area: tags;
    margin-top: 1rem;
  }
}

.episode-detail-slider__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.episode-detail-slider__tag {
  color: #F7F9FC;
  font-size: 14px;
  font-size: 0.875rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.42;
  background-color: #2177D0;
  padding: 4px 12px;
  padding: 0.25rem 0.75rem;
  border-radius: 4px 0 0 4px;
}
@media screen and (max-width: 767px) {
  .episode-detail-slider__tag {
    width: 6.9375rem;
  }
}

.episode-detail-slider__tag-name {
  font-size: 14px;
  font-size: 0.875rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.42;
  background-color: #EEEEEE;
  padding: 4px 12px;
  padding: 0.25rem 0.75rem;
  border-radius: 0 4px 4px 0;
}

.episode-detail-slider__text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.42;
  letter-spacing: 0.08em;
  margin-top: 24px;
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .episode-detail-slider__text {
    font-size: 0.875rem;
    line-height: 1.71;
    font-weight: 400;
    margin-top: 0.75rem;
    grid-area: text;
  }
}

.episode-detail-slider__btn-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: auto;
}

.episode-detail-slider__date {
  line-height: 1.42;
  letter-spacing: 0.08em;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 767px) {
  .episode-detail-slider__date {
    font-weight: 400;
    letter-spacing: 0.1em;
    grid-area: date;
    margin-top: 1rem;
  }
}

.episode-detail-slider__button-prev {
  width: 50px;
  width: 3.125rem;
  height: 50px;
  height: 3.125rem;
  background-color: #2177D0;
  border-radius: 50%;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .episode-detail-slider__button-prev {
    width: 2.5rem;
    height: 2.5rem;
  }
}

.episode-detail-slider__button-next {
  width: 50px;
  width: 3.125rem;
  height: 50px;
  height: 3.125rem;
  background-color: #2177D0;
  border-radius: 50%;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .episode-detail-slider__button-next {
    width: 2.5rem;
    height: 2.5rem;
  }
}

.episode-detail-slider__button-prev,
.episode-detail-slider__button-next {
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

.episode-detail-slider__button-prev:hover,
.episode-detail-slider__button-next:hover {
  opacity: 0.7;
}

.episode-detail-slider__button-prev::after,
.episode-detail-slider__button-next::after {
  content: "";
  display: block;
  width: 16px;
  width: 1rem;
  height: 16px;
  height: 1rem;
  border-right: 1px solid #fff;
  border-top: 1px solid #fff;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(-135deg);
          transform: translate(-50%, -50%) rotate(-135deg);
}

.episode-detail-slider__button-prev::after {
  left: 55%;
}
@media screen and (max-width: 767px) {
  .episode-detail-slider__button-prev::after {
    left: 62%;
  }
}

.episode-detail-slider__button-next::after {
  left: 44%;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}
@media screen and (max-width: 767px) {
  .episode-detail-slider__button-next::after {
    left: 41%;
  }
}

.episode-detail-slider .episode-detail-slider__pagination.swiper-pagination {
  position: absolute;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .episode-detail-slider .episode-detail-slider__pagination.swiper-pagination {
    top: auto;
    top: initial;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.episode-detail-slider__pagination > .swiper-pagination-bullet {
  width: 10px;
  width: 0.625rem;
  height: 10px;
  height: 0.625rem;
}

.episode-detail-slider__pagination > .swiper-pagination-bullet-active {
  width: 14px;
  width: 0.875rem;
  height: 14px;
  height: 0.875rem;
}

.episode-detail-slider__more {
  margin-top: 64px;
  margin-top: 4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .episode-detail-slider__more {
    margin-top: 3rem;
  }
}

.episode-detail {
  position: relative;
  padding-top: 120px;
  padding-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .episode-detail {
    padding-top: 0rem;
  }
}

.episode-detail__inner {
  background-color: #E2F4FD;
  padding-top: 108px;
  padding-top: 6.75rem;
  padding-bottom: 50px;
  padding-bottom: 3.125rem;
}
@media screen and (max-width: 767px) {
  .episode-detail__inner {
    padding-top: 2.5rem;
  }
}

.episode-detail::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 120px;
  height: 7.5rem;
  background-image: url(../images/common/plan-intro-topback.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom;
}
@media screen and (max-width: 767px) {
  .episode-detail::before {
    height: 3.4375rem;
    background-image: url(../images/common/plan-intro-topback-sp.png);
  }
}

.episode-detail::after {
  position: absolute;
  content: "";
  bottom: -120px;
  bottom: -7.5rem;
  left: 0;
  width: 100%;
  height: 120px;
  height: 7.5rem;
  background-image: url(../images/common/blue-wave-bottom.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .episode-detail::after {
    background-image: url(../images/common/blue-wave-bottom-sp.png);
    height: 3.4375rem;
    bottom: -2.875rem;
  }
}

.episode-detail__item {
  max-width: 900px;
  max-width: 56.25rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .episode-detail__item {
    max-width: 20.625rem;
  }
}

.episode-detail__item + .episode-detail__item {
  margin-top: 60px;
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .episode-detail__item + .episode-detail__item {
    margin-top: 2.5rem;
  }
}

.episode-detail__title {
  font-size: 24px;
  font-size: 1.5rem;
  color: #2177D0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: 600;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .episode-detail__title {
    font-size: 1.25rem;
    letter-spacing: 0.08em;
  }
}

.episode-detail__title::after {
  content: "";
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  height: 1px;
  background-color: #2177D0;
  margin-left: 12px;
  margin-left: 0.75rem;
}

.episode-detail__box {
  padding: 32px;
  padding: 2rem;
  background-color: #fff;
  margin-top: 60px;
  margin-top: 3.75rem;
  border-radius: 0.5rem;
}
@media screen and (max-width: 767px) {
  .episode-detail__box {
    padding: 2rem 1rem;
    margin-top: 2.5rem;
  }
}

.episode-detail__contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .episode-detail__contents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.25rem;
  }
}

.episode-detail__img {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 22%;
          flex: 1 1 22%;
}
@media screen and (max-width: 767px) {
  .episode-detail__img {
    -webkit-box-flex: initial;
        -ms-flex: initial;
            flex: initial;
  }
}

.episode-detail__img img {
  width: 100%;
  height: auto;
  aspect-ratio: 174/200;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .episode-detail__img img {
    aspect-ratio: 303/200;
  }
}

.episode-detail__content {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 77%;
          flex: 1 1 77%;
}
@media screen and (max-width: 767px) {
  .episode-detail__content {
    -webkit-box-flex: initial;
        -ms-flex: initial;
            flex: initial;
  }
}

.episode-detail__subtitle {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.6;
  font-weight: 600;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .episode-detail__subtitle {
    font-size: 1.25rem;
    font-weight: 500;
  }
}

.episode-detail__star {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2px;
  gap: 0.125rem;
  margin-top: 10px;
  margin-top: 0.625rem;
}

.episode-detail__star img {
  width: 20px;
  width: 1.25rem;
  height: 19px;
  height: 1.1875rem;
  display: inline-block;
}

.episode-detail__txt {
  font-size: 16px;
  font-size: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 2;
  letter-spacing: 0.04em;
  margin-top: 8px;
  margin-top: 0.5rem;
}
@media screen and (max-width: 767px) {
  .episode-detail__txt {
    font-size: 1rem;
    line-height: 1.5;
  }
}

.episode-detail__wrap {
  margin-top: 60px;
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .episode-detail__wrap {
    margin-top: 2.5rem;
  }
}

.episode-main {
  margin: 0 auto;
  padding: 100px 25px 115px;
  padding: 6.25rem 1.5625rem 7.1875rem;
  max-width: 1278px;
  max-width: 79.875rem;
}
@media screen and (max-width: 767px) {
  .episode-main {
    padding: 0 0 6.5rem 0;
    max-width: 100%;
  }
}

.episode-main__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 124px;
  gap: 7.75rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .episode-main__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 1.5rem 1.25rem 3.5rem;
  }
}

.episode-main__bubble {
  width: 90px;
  width: 5.625rem;
  height: 155px;
  height: 9.6875rem;
  -o-object-fit: contain;
     object-fit: contain;
  margin-inline: auto;
  margin-top: 80px;
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .episode-main__bubble {
    width: 3.8125rem;
    height: 6.625rem;
    margin-top: 0;
  }
}

.episode-main__bubble img {
  height: auto;
}

.episode-main__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 64px;
  gap: 4rem;
  margin-top: 80px;
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .episode-main__nav {
    gap: 1.5rem;
    margin-top: 0;
  }
}

.episode-main__filter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  gap: 1rem;
  padding: 12px;
  padding: 0.75rem;
  background-color: #EFF2F1;
  width: 100%;
}

.episode-main__dropdown {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.episode-main__dropdown-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  padding: 15px 11px 15px 11px;
  padding: 0.9375rem 0.6875rem 0.9375rem 0.6875rem;
  background-color: #fff;
  border-radius: 0.25rem;
  cursor: pointer;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1;
  font-family: "Noto Sans JP", sans-serif;
}

.episode-main__dropdown-icon img {
  width: 16px;
  width: 1rem;
  height: 16px;
  height: 1rem;
  -o-object-fit: contain;
     object-fit: contain;
}

.episode-main__dropdown-label {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  text-align: left;
  white-space: nowrap;
  margin-left: 12px;
  margin-left: 0.75rem;
}

.episode-main__dropdown-arrow {
  margin-left: 12px;
  margin-left: 0.75rem;
}

.episode-main__dropdown-arrow img {
  width: 12px;
  width: 0.75rem;
  height: 7px;
  height: 0.4375rem;
  -o-object-fit: contain;
     object-fit: contain;
}

.episode-search {
  background-color: #F9F9F9;
}
@media screen and (max-width: 767px) {
  .episode-search {
    padding: 0 1.25rem;
  }
}

.episode-search__box {
  border: 1px solid #2177D0;
  border-radius: 8px;
  padding: 64px 64px 24px;
  padding: 4rem 4rem 1.5rem;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  max-width: 1035px;
  max-width: 64.6875rem;
  background-color: #fff;
  position: relative;
}
@media screen and (max-width: 767px) {
  .episode-search__box {
    padding: 3.625rem 1.125rem 3.75rem;
    max-width: 100%;
    position: relative;
  }
}

.episode-search__header {
  text-align: center;
  position: absolute;
  top: -36px;
  top: -2.25rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  white-space: nowrap;
}

.episode-search__title {
  background-color: #fff;
  padding: 16px 80px;
  padding: 1rem 5rem;
  border: 1px solid #2177D0;
  color: #2177D0;
  border-radius: 8px;
  font-size: 20px;
  font-size: 1.25rem;
  letter-spacing: 0.08em;
  font-weight: 500;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .episode-search__title {
    font-size: 1rem;
    padding: 1rem 2.5rem;
  }
}

.episode-search__form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  .episode-search__form {
    gap: 0.75rem;
  }
}

.episode-search__fields-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 32px;
  gap: 2rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .episode-search__fields-group {
    gap: 0.75rem;
  }
}

.episode-search__field {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-width: 200px;
  min-width: 12.5rem;
}
@media screen and (max-width: 767px) {
  .episode-search__field {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
  }
}

.episode-search__field--full {
  width: 100%;
}

.episode-search__select,
.episode-search__input {
  padding: 10px;
  border-radius: 4px;
  font-size: 14px;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.episode-search__select-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 4px;
  position: relative;
  height: 100%;
}

/* 下矢印アイコン */
.episode-search__select-wrapper::after {
  content: "";
  font-size: 12px;
  color: #000;
  position: absolute;
  right: 18px;
  right: 1.125rem;
  pointer-events: none;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
  width: 12px;
  width: 0.75rem;
  height: 12px;
  height: 0.75rem;
  border-right: 2px solid #333;
  border-bottom: 2px solid #333;
}

.episode-search__free-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 4px;
}

.episode-search__label {
  background-color: #2177D0;
  color: #F7F9FC;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: 0.08em;
  padding: 14px 18px;
  padding: 0.875rem 1.125rem;
  white-space: nowrap;
  display: inline-block;
  width: 140px;
  width: 8.75rem;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .episode-search__label {
    font-size: 0.875rem;
    width: 7.4375rem;
    padding: 0.875rem 1rem;
  }
}

.episode-search__select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  border: none;
  background-color: #EFF2F1;
  padding: 10px 40px 10px 12px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
  outline: none;
  height: 100%;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .episode-search__select {
    font-size: 0.875rem;
    padding: 0.875rem 1rem;
  }
}

.episode-search__actions {
  text-align: center;
  margin-top: 24px;
  margin-top: 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .episode-search__actions {
    position: absolute;
    bottom: -1.5rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.episode-search__submit-button {
  background-color: #2177D0;
  color: #fff;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  padding: 16px 74px 14px 104px;
  padding: 1rem 4.625rem 0.875rem 6.5rem;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  gap: 0.75rem;
}

.episode-summary {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 208px;
          flex: 0 0 208px;
  -ms-flex: 0 0 13rem;
      flex: 0 0 13rem;
  position: sticky;
  top: 180px;
  top: 11.25rem;
  -ms-flex-item-align: start;
      align-self: flex-start;
  min-height: 570px;
  min-height: 35.625rem;
}
@media screen and (max-width: 767px) {
  .episode-summary {
    display: none;
  }
}

.episode-summary__title {
  color: #2177D0;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 600;
  background-color: #EFF2F1;
  padding: 8px 22px;
  padding: 0.5rem 1.375rem;
  width: 208px;
  width: 13rem;
  text-align: center;
}

.episode-summary__list {
  list-style: none;
  padding: 0;
  margin-top: 20px;
  margin-top: 1.25rem;
}

.episode-summary__block + .episode-summary__block {
  margin-top: 80px;
  margin-top: 5rem;
}

.episode-summary__item {
  padding-left: 24px;
  padding-left: 1.5rem;
}

.episode-summary__item + .episode-summary__item {
  margin-top: 20px;
  margin-top: 1.25rem;
}

.episode-summary__item a {
  font-size: 16px;
  font-size: 1rem;
  text-decoration: none;
  position: relative;
  font-weight: 600;
  padding-left: 20px;
  padding-left: 1.25rem;
}
@media screen and (max-width: 767px) {
  .episode-summary__item a {
    font-size: 1rem;
  }
}

.episode-summary__item a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
  width: 8px;
  width: 0.5rem;
  height: 8px;
  height: 0.5rem;
  border: solid #333;
  border-width: 0 1.6px 1.6px 0;
}

.episode-summary__item a:hover {
  text-decoration: underline;
}

.episode {
  background-color: #F9F9F9;
  padding-bottom: 170px;
  padding-bottom: 10.625rem;
}
@media screen and (max-width: 767px) {
  .episode {
    padding-bottom: 12.5rem;
  }
}

.episode__header {
  height: 350px;
  height: 21.875rem;
  background: url(../images/common/episode-header-img.jpg) no-repeat center 26%/cover;
  position: relative;
}
@media screen and (max-width: 767px) {
  .episode__header {
    height: 12.25rem;
  }
}

.episode__header-wrap {
  max-width: 1078px;
  max-width: 67.375rem;
  height: inherit;
  margin-inline: auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  .episode__header-wrap {
    max-width: 100%;
  }
}

.episode__catches {
  position: absolute;
  bottom: 60px;
  bottom: 3.75rem;
  left: 41px;
  left: 2.5625rem;
}
@media screen and (max-width: 767px) {
  .episode__catches {
    top: 50%;
    bottom: auto;
    bottom: initial;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 14.5rem;
  }
}

.episode__catch {
  padding: 5px 2px 5px 20px;
  padding: 0.3125rem 0.125rem 0.3125rem 1.25rem;
  background-color: #fff;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .episode__catch {
    padding: 0.3125rem 0.125rem 0.3125rem 0.875rem;
  }
}

@media screen and (max-width: 767px) {
  .episode__catch.episode__catch--01 {
    padding: 0.3125rem 0.875rem 0.3125rem 0.875rem;
  }
}

.episode__info {
  padding: 30px 0;
  padding: 1.875rem 0;
  position: relative;
  margin-inline: auto;
  max-width: 1078px;
  max-width: 67.375rem;
}
@media screen and (max-width: 767px) {
  .episode__info {
    padding: 4rem 1.6875rem;
    max-width: 31.25rem;
  }
}

.episode__description {
  color: #000;
  font-weight: 600;
  line-height: 2.1875;
  padding-left: 60px;
  padding-left: 3.75rem;
}
@media screen and (max-width: 767px) {
  .episode__description {
    color: #333;
    line-height: 2;
    letter-spacing: 0.08em;
    padding-left: 0;
  }
}

.episode__visual {
  width: 540px;
  width: 33.75rem;
  position: absolute;
  top: 70px;
  top: 4.375rem;
  right: 123px;
  right: 7.6875rem;
}

.episode__bubble-block {
  position: relative;
  height: 220px;
  height: 13.75rem;
}
@media screen and (max-width: 767px) {
  .episode__bubble-block {
    height: 11.4375rem;
  }
}

.episode__bubble-block-circle {
  background-color: #E2F4FD;
  border-radius: 50%;
  position: absolute;
}

.episode__bubble-block-circle--01 {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  top: 0px;
  top: 0rem;
  left: 40%;
}

.episode__bubble-block-circle--02 {
  width: 39px;
  width: 2.4375rem;
  height: 39px;
  height: 2.4375rem;
  top: 10%;
  left: 50%;
}

.episode__bubble-block-circle--03 {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  top: 30%;
  left: 40%;
}

.episode__bubble-block-circle--04 {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  top: 56%;
  left: 60%;
}

.episode__wrap {
  padding: 134px 0 0;
  padding: 8.375rem 0 0;
}
@media screen and (max-width: 767px) {
  .episode__wrap {
    padding: 1.25rem 0 0;
  }
}

.episode__inner {
  margin-inline: auto;
  max-width: 1086px;
  max-width: 67.875rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .episode__inner {
    padding: 0;
  }
}

.episode__slider {
  position: relative;
  height: 412px;
  height: 25.75rem;
  overflow: hidden;
  padding-left: 54px;
  padding-left: 3.375rem;
}
@media screen and (max-width: 767px) {
  .episode__slider {
    padding-left: 0;
    height: auto;
  }
}

.episode__slider.swiper {
  padding-bottom: 0px;
  padding-bottom: 0rem;
}
@media screen and (max-width: 767px) {
  .episode__slider.swiper {
    padding-bottom: 3.75rem;
  }
}

.episode__card-wrapper {
  height: 100%;
}

.episode__slide {
  height: 100%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .episode__slide {
    opacity: 0.9;
    -webkit-transition: opacity 0.7s, -webkit-transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
    transition: opacity 0.7s, -webkit-transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
    transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.7s;
    transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.7s, -webkit-transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  }
}

@media screen and (max-width: 767px) {
  .swiper-backface-hidden .episode__slide {
    -webkit-transform: translateZ(0) scale(0.9);
            transform: translateZ(0) scale(0.9);
  }
}

@media screen and (max-width: 767px) {
  .episode__slide.swiper-slide-active {
    opacity: 1;
    -webkit-transform: translateZ(0) scale(1);
            transform: translateZ(0) scale(1);
    z-index: 1;
  }
}

.episode__card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  background-color: #fff;
  border-radius: 0.5rem;
  -webkit-box-shadow: 4px 4px 4px 0 rgba(0, 0, 0, .25);
          box-shadow: 4px 4px 4px 0 rgba(0, 0, 0, .25);
  padding: 32px 24px;
  padding: 2rem 1.5rem;
  gap: 32px;
  gap: 2rem;
  width: 900px;
  width: 56.25rem;
  height: 400px;
  height: 25rem;
  position: relative;
  z-index: auto;
}
@media screen and (max-width: 767px) {
  .episode__card {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: auto;
    width: initial;
    height: auto;
    padding: 0;
    gap: 0;
  }
}

.episode__image-wrapper,
.episode__content {
  position: relative;
  z-index: 1;
}

.episode__image-wrapper {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 349px;
  width: 21.8125rem;
}
@media screen and (max-width: 767px) {
  .episode__image-wrapper {
    width: auto;
    width: initial;
  }
}

.episode__image {
  width: 100%;
  height: 100%;
  aspect-ratio: 349/335;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media screen and (max-width: 767px) {
  .episode__image {
    aspect-ratio: 300/210;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
  }
}

.episode__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 18px;
  margin-top: 1.125rem;
}
@media screen and (max-width: 767px) {
  .episode__content {
    padding: 1.25rem 1.25rem 1.5rem;
    margin-top: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    grid-template-areas: "title" "date" "text" "tags";
  }
}

.episode__title {
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 767px) {
  .episode__title {
    font-size: 1.125rem;
    padding-left: 1rem;
    border-left: 0.25rem solid #2177D0;
    grid-area: title;
  }
}

.episode__tags-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  gap: 1rem;
  margin-top: 24px;
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .episode__tags-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0.5rem;
    grid-area: tags;
    margin-top: 1rem;
  }
}

.episode__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.episode__tag {
  color: #F7F9FC;
  font-size: 14px;
  font-size: 0.875rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.42;
  background-color: #2177D0;
  padding: 4px 12px;
  padding: 0.25rem 0.75rem;
  border-radius: 4px 0 0 4px;
}
@media screen and (max-width: 767px) {
  .episode__tag {
    width: 6.9375rem;
  }
}

.episode__tag-name {
  font-size: 14px;
  font-size: 0.875rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.42;
  background-color: #EEEEEE;
  padding: 4px 12px;
  padding: 0.25rem 0.75rem;
  border-radius: 0 4px 4px 0;
}

.episode__text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.42;
  letter-spacing: 0.08em;
  margin-top: 24px;
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .episode__text {
    font-size: 0.875rem;
    font-weight: 400;
    margin-top: 0.75rem;
    grid-area: text;
    line-height: 1.71;
  }
}

.episode__btn-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: auto;
}

.episode__date {
  line-height: 1.42;
  letter-spacing: 0.08em;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 767px) {
  .episode__date {
    font-weight: 400;
    letter-spacing: 0.1em;
    grid-area: date;
    margin-top: 1rem;
  }
}

.episode__navigation {
  position: absolute;
  top: 50%;
  right: 16px;
  right: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  gap: 19.2px;
  gap: 1.2rem;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .episode__navigation {
    display: contents;
  }
}

.episode__button-prev {
  width: 50px;
  width: 3.125rem;
  height: 50px;
  height: 3.125rem;
  background-color: #2177D0;
  border-radius: 50%;
  cursor: pointer;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 2;
  right: 0;
  left: auto;
  left: initial;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .episode__button-prev {
    width: 2.5rem;
    height: 2.5rem;
    position: absolute;
    right: auto;
    right: initial;
    margin-top: 0;
    top: 42%;
    left: 0.25rem;
  }
}

.episode__button-next {
  width: 50px;
  width: 3.125rem;
  height: 50px;
  height: 3.125rem;
  background-color: #2177D0;
  border-radius: 50%;
  cursor: pointer;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 2;
  right: 0;
  left: auto;
  left: initial;
  margin-top: 10px;
  margin-top: 0.625rem;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .episode__button-next {
    width: 2.5rem;
    height: 2.5rem;
    position: absolute;
    right: 6%;
    margin-top: 0;
    top: 42%;
  }
}

.episode__button-prev:hover,
.episode__button-next:hover {
  opacity: 0.7;
}

.episode__button-prev::after,
.episode__button-next::after {
  content: "";
  width: 16px;
  width: 1rem;
  height: 16px;
  height: 1rem;
  border: solid #ffffff;
  border-width: 0 1.6px 1.6px 0;
  border-width: 0 0.1rem 0.1rem 0;
  display: inline-block;
  position: absolute;
}

.episode__button-prev::after {
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
  top: 40%;
}
@media screen and (max-width: 767px) {
  .episode__button-prev::after {
    top: 50%;
    left: 42%;
    -webkit-transform: translateY(-50%) rotate(135deg);
            transform: translateY(-50%) rotate(135deg);
  }
}

.episode__button-next::after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  bottom: 40%;
}
@media screen and (max-width: 767px) {
  .episode__button-next::after {
    bottom: auto;
    bottom: initial;
    top: 50%;
    left: 22%;
    -webkit-transform: translateY(-50%) rotate(-45deg);
            transform: translateY(-50%) rotate(-45deg);
  }
}

.episode .episode__pagination.swiper-pagination {
  position: absolute;
  left: 0px;
  left: 0rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .episode .episode__pagination.swiper-pagination {
    top: auto;
    top: initial;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.episode__pagination > .swiper-pagination-bullet {
  width: 10px;
  width: 0.625rem;
  height: 10px;
  height: 0.625rem;
}

.episode__pagination > .swiper-pagination-bullet-active {
  width: 14px;
  width: 0.875rem;
  height: 14px;
  height: 0.875rem;
}

.episode__more {
  margin-top: 118px;
  margin-top: 7.375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .episode__more {
    margin-top: 4rem;
  }
}

.episodepage-cards {
  background-color: #F9F9F9;
  padding-top: 100px;
  padding-top: 6.25rem;
  padding-bottom: 120px;
  padding-bottom: 7.5rem;
}
@media screen and (max-width: 767px) {
  .episodepage-cards {
    padding-top: 5.625rem;
    padding-bottom: 5rem;
  }
}

.episodepage-cards__inner {
  max-width: 1178px;
  max-width: 73.625rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .episodepage-cards__inner {
    max-width: 100%;
    padding: 0 2.3125rem;
  }
}

.episodepage-cards__items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-column-gap: 3rem;
     -moz-column-gap: 3rem;
          column-gap: 3rem;
  row-gap: 120px;
  row-gap: 7.5rem;
}
@media screen and (max-width: 767px) {
  .episodepage-cards__items {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 3.5rem;
  }
}

@media screen and (max-width: 767px) {
  .episodepage-cards__item {
    margin-inline: auto;
  }
}

@media screen and (max-width: 767px) {
  .episodepage-cards__item:nth-of-type(n+5) {
    display: none;
  }
}

.episodepage-cards__pagenation {
  margin-top: 100px;
  margin-top: 6.25rem;
}
@media screen and (max-width: 767px) {
  .episodepage-cards__pagenation {
    margin-top: 5.625rem;
  }
}

.episodepage-cards__numbers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 0.75rem;
     -moz-column-gap: 0.75rem;
          column-gap: 0.75rem;
}

.episodepage-cards__number {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 600;
  color: #2177D0;
  padding: 8px 13px;
  padding: 0.5rem 0.8125rem;
  border: 1px solid #2177D0;
  cursor: pointer;
  display: inline-block;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
  line-height: 1.2;
  width: 50px;
  width: 3.125rem;
  height: 50px;
  height: 3.125rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .episodepage-cards__number {
    font-size: 1.25rem;
    padding: 0.375rem 0.625rem 0.3125rem;
    width: 2.5rem;
    height: 2.5rem;
  }
}

.episodepage-cards__number:hover {
  color: #fff;
  background-color: #2177D0;
}

.episodepage-cards__number.episodepage-cards__number-current {
  color: #fff;
  background-color: #2177D0;
}

.faq-bottom-category {
  background-color: #F8F8F8;
  padding: 100px 0;
  padding: 6.25rem 0;
}
@media screen and (max-width: 767px) {
  .faq-bottom-category {
    padding: 0 0 5rem;
  }
}

.faq-section {
  padding: 120px 0;
  padding: 7.5rem 0;
}
@media screen and (max-width: 767px) {
  .faq-section {
    padding: 5rem 0;
  }
}

.faq-section--white {
  background-color: #F9F9F9;
}

.faq-section--lightblue {
  background-color: #E2F4FD;
}

.faq-section__inner {
  max-width: 1270px;
  max-width: 79.375rem;
}
@media screen and (max-width: 767px) {
  .faq-section__inner {
    max-width: 100%;
  }
}

.faq-section__inner--short {
  max-width: 1076px;
  max-width: 67.25rem;
}

.faq-section__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.faq-section__description {
  margin-top: 40px;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .faq-section__description {
    margin-top: 2.5rem;
  }
}

.faq-section__list {
  margin-inline: auto;
  margin-top: 60px;
  margin-top: 3.75rem;
  max-width: 800px;
  max-width: 50rem;
}
@media screen and (max-width: 767px) {
  .faq-section__list {
    margin-top: 4rem;
  }
}

.faq-section__list.faq-section__list--long {
  max-width: 1038px;
  max-width: 64.875rem;
}

.faq-section__item {
  padding: 16px 24px;
  padding: 1rem 1.5rem;
  border: 1px solid #CECECE;
  border: 0.0625rem solid #CECECE;
  border-radius: 0.5rem;
  background-color: #fff;
  -webkit-box-shadow: 4px 4px 4px 0 rgba(0, 0, 0, .25);
          box-shadow: 4px 4px 4px 0 rgba(0, 0, 0, .25);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .faq-section__item {
    padding: 1rem 0.75rem;
  }
}

.faq-section__item + .faq-section__item {
  margin-top: 24px;
  margin-top: 1.5rem;
}

.faq-section__question.is-active .faq-section__question::after {
  -webkit-transform: translateY(-50%) rotate(-135deg);
          transform: translateY(-50%) rotate(-135deg);
}

.faq-section__question {
  width: 100%;
  cursor: pointer;
  background: none;
  border: none;
  outline: none;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-left: 0;
  -webkit-transition: padding 0.4s ease;
  transition: padding 0.4s ease;
}

.faq-section__q {
  color: #2177D0;
  font-weight: 900;
  line-height: 2;
  letter-spacing: 0.1em;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .faq-section__q {
    font-size: 0.875rem;
  }
}

.faq-section__q-text {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 900;
  line-height: 2;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-left: 16px;
  padding-left: 1rem;
}
@media screen and (max-width: 767px) {
  .faq-section__q-text {
    font-size: 0.875rem;
    padding-left: 0.5rem;
    text-align: left;
    max-width: 88%;
  }
}

.faq-section__question::after {
  content: "";
  position: absolute;
  right: 24px;
  right: 1.5rem;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
  width: 12px;
  width: 0.75rem;
  height: 12px;
  height: 0.75rem;
  border-right: 2px solid #333;
  border-right: 0.125rem solid #333;
  border-bottom: 2px solid #333;
  border-bottom: 0.125rem solid #333;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
@media screen and (max-width: 767px) {
  .faq-section__question::after {
    right: 0.5625rem;
  }
}

.faq-section__item.is-active .faq-section__question {
  padding-bottom: 16px;
  padding-bottom: 1rem;
}

.faq-section__item.is-active .faq-section__question::after {
  -webkit-transform: translateY(-50%) rotate(-135deg);
          transform: translateY(-50%) rotate(-135deg);
}

.faq-section__answer {
  line-height: 2;
  height: 0;
  border-top: 0 solid transparent;
  overflow: hidden;
  -webkit-transition: height 0.4s ease, padding 0.4s ease;
  transition: height 0.4s ease, padding 0.4s ease;
}

.faq-section__item.is-active .faq-section__answer {
  border-top: 1px solid #DEDEDE;
}

.faq-section__answer-inner {
  padding-top: 24px;
  padding-top: 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.faq-section__a {
  color: #DE0000;
  font-weight: 900;
  line-height: 2;
  letter-spacing: 0.1em;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .faq-section__a {
    font-size: 0.875rem;
  }
}

.faq-section__a-text {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 600;
  line-height: 2;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-left: 16px;
  padding-left: 1rem;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .faq-section__a-text {
    font-size: 0.875rem;
    padding-left: 0.5rem;
  }
}

.faq-section__button-wrapper {
  margin-top: 56px;
  margin-top: 3.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.faq {
  padding: 100px 0;
  padding: 6.25rem 0;
}
@media screen and (max-width: 767px) {
  .faq {
    padding: 5rem 0;
  }
}

.faq--white {
  background-color: #F9F9F9;
}

.faq--lightblue {
  background-color: #E2F4FD;
}

.faq__inner {
  max-width: 1076px;
  max-width: 67.25rem;
}

.faq__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 600;
  white-space: nowrap;
}

.faq__title.faq__title--blue {
  color: #2177D0;
}

.faq__title::after {
  content: "";
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  height: 1px;
  background-color: #333;
  margin-left: 12px;
  margin-left: 0.75rem;
}

.faq__title.faq__title--blue::after {
  background-color: #2177D0;
}

.faq__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.faq__list {
  margin-inline: auto;
  margin-top: 60px;
  margin-top: 3.75rem;
  max-width: 800px;
  max-width: 50rem;
}
@media screen and (max-width: 767px) {
  .faq__list {
    margin-top: 2.8125rem;
  }
}

.faq__list.faq__list--long {
  max-width: 1038px;
  max-width: 64.875rem;
}

.faq__item {
  padding: 16px 24px;
  padding: 1rem 1.5rem;
  border: 1px solid #fff;
  border: 0.0625rem solid #fff;
  border-radius: 0.5rem;
  background-color: #fff;
  -webkit-box-shadow: 4px 4px 4px 0 rgba(0, 0, 0, .25);
          box-shadow: 4px 4px 4px 0 rgba(0, 0, 0, .25);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .faq__item {
    padding: 1rem 0.75rem;
  }
}

.faq__item + .faq__item {
  margin-top: 24px;
  margin-top: 1.5rem;
}

.faq__question.is-active .faq__question::after {
  -webkit-transform: translateY(-50%) rotate(-135deg);
          transform: translateY(-50%) rotate(-135deg);
}

.faq__question {
  width: 100%;
  cursor: pointer;
  background: none;
  border: none;
  outline: none;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-left: 0;
  -webkit-transition: padding 0.4s ease;
  transition: padding 0.4s ease;
}

.faq__q {
  color: #2177D0;
  font-weight: 900;
  line-height: 2;
  letter-spacing: 0.1em;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .faq__q {
    font-size: 0.875rem;
  }
}

.faq__q-text {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 900;
  line-height: 2;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-left: 16px;
  padding-left: 1rem;
}
@media screen and (max-width: 767px) {
  .faq__q-text {
    font-size: 0.875rem;
    padding-left: 0.5rem;
    max-width: 88%;
    text-align: left;
  }
}

.faq__question::after {
  content: "";
  position: absolute;
  right: 24px;
  right: 1.5rem;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
  width: 14px;
  width: 0.875rem;
  height: 14px;
  height: 0.875rem;
  border-right: 1px solid #333;
  border-right: 0.0625rem solid #333;
  border-bottom: 1px solid #333;
  border-bottom: 0.0625rem solid #333;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
@media screen and (max-width: 767px) {
  .faq__question::after {
    right: 0.375rem;
    width: 0.75rem;
    height: 0.75rem;
  }
}

.faq__item.is-active .faq__question {
  padding-bottom: 16px;
  padding-bottom: 1rem;
}

.faq__item.is-active .faq__question::after {
  -webkit-transform: translateY(-50%) rotate(-135deg);
          transform: translateY(-50%) rotate(-135deg);
}

.faq__answer {
  line-height: 2;
  height: 0;
  border-top: 0 solid transparent;
  overflow: hidden;
  -webkit-transition: height 0.4s ease, padding 0.4s ease;
  transition: height 0.4s ease, padding 0.4s ease;
}

.faq__item.is-active .faq__answer {
  border-top: 1px solid #DEDEDE;
}

.faq__answer-inner {
  padding-top: 24px;
  padding-top: 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .faq__answer-inner {
    padding-top: 1.25rem;
  }
}

.faq__a {
  color: #DE0000;
  font-weight: 900;
  line-height: 2;
  letter-spacing: 0.1em;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .faq__a {
    font-size: 0.875rem;
  }
}

.faq__a-text {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 600;
  line-height: 2;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-left: 16px;
  padding-left: 1rem;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .faq__a-text {
    font-size: 0.875rem;
    padding-left: 0.5rem;
  }
}

.faq__button-wrapper {
  margin-top: 56px;
  margin-top: 3.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.farewell-bubble-block {
  height: 320px;
  height: 20rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#E2F4FD), color-stop(50%, #C2DEF3), to(#A2C9E9));
  background: linear-gradient(to bottom, #E2F4FD 0%, #C2DEF3 50%, #A2C9E9 100%);
  position: relative;
}
@media screen and (max-width: 767px) {
  .farewell-bubble-block {
    height: 13.75rem;
  }
}

.farewell-bubble-block__circle {
  background-color: #fff;
  border-radius: 50%;
  position: absolute;
  opacity: 0;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
}

.farewell-bubble-block__circle--01 {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  top: 0px;
  top: 0rem;
  left: 48%;
}
@media screen and (max-width: 767px) {
  .farewell-bubble-block__circle--01 {
    width: 1rem;
    height: 1rem;
    left: 38%;
  }
}

.farewell-bubble-block__circle--02 {
  width: 46px;
  width: 2.875rem;
  height: 46px;
  height: 2.875rem;
  top: 40px;
  top: 2.5rem;
  left: 52%;
}
@media screen and (max-width: 767px) {
  .farewell-bubble-block__circle--02 {
    width: 2rem;
    height: 2rem;
    top: 1.25rem;
    left: 50%;
  }
}

.farewell-bubble-block__circle--03 {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  top: 116px;
  top: 7.25rem;
  left: 51%;
}
@media screen and (max-width: 767px) {
  .farewell-bubble-block__circle--03 {
    width: 1rem;
    height: 1rem;
    top: 4.875rem;
    left: 47%;
  }
}

.farewell-bubble-block__circle--04 {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  top: 190px;
  top: 11.875rem;
  left: 54%;
}
@media screen and (max-width: 767px) {
  .farewell-bubble-block__circle--04 {
    width: 1rem;
    height: 1rem;
    top: 7.875rem;
    left: 58%;
  }
}

.farewell {
  background-color: #E2F4FD;
  padding: 80px 0 100px;
  padding: 5rem 0 6.25rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .farewell {
    padding: 14.75rem 1.25rem 5rem;
  }
}

.farewell__circle {
  background-color: #fff;
  border-radius: 50%;
  position: absolute;
  opacity: 0;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
}

.farewell__circle--01 {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  top: -120px;
  top: -7.5rem;
  left: 52%;
}
@media screen and (max-width: 767px) {
  .farewell__circle--01 {
    top: 2.1875rem;
    left: 57%;
    width: 1rem;
    height: 1rem;
  }
}

.farewell__circle--02 {
  width: 42px;
  width: 2.625rem;
  height: 42px;
  height: 2.625rem;
  top: -100px;
  top: -6.25rem;
  left: 48%;
}
@media screen and (max-width: 767px) {
  .farewell__circle--02 {
    top: 3.25rem;
    left: 42%;
    width: 1.875rem;
    height: 1.875rem;
  }
}

.farewell__circle--03 {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  top: -40px;
  top: -2.5rem;
  left: 50%;
}
@media screen and (max-width: 767px) {
  .farewell__circle--03 {
    top: 6.5625rem;
    width: 1rem;
    height: 1rem;
  }
}

.farewell__circle--04 {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  top: 10px;
  top: 0.625rem;
  left: 47%;
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .farewell__circle--04 {
    top: 9.6875rem;
    left: 37%;
    width: 1rem;
    height: 1rem;
  }
}

.farewell__inner {
  max-width: 1314px;
  max-width: 82.125rem;
  padding-inline: 25px;
  padding-inline: 1.5625rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .farewell__inner {
    padding-inline: 0;
    max-width: 100%;
  }
}

.farewell__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 77px;
  gap: 4.8125rem;
}
@media screen and (max-width: 767px) {
  .farewell__wrap {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    grid-template-areas: "title" "video" "text" "button";
  }
}

.farewell__video {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 48%;
          flex: 1 1 48%;
}
@media screen and (max-width: 767px) {
  .farewell__video {
    grid-area: video;
    margin-top: 3.125rem;
  }
}

.farewell__video img {
  aspect-ratio: 582/363;
}
@media screen and (max-width: 767px) {
  .farewell__video img {
    aspect-ratio: 334/193;
  }
}

.farewell__contents {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 52%;
          flex: 1 1 52%;
}
@media screen and (max-width: 767px) {
  .farewell__contents {
    display: contents;
  }
}

@media screen and (max-width: 767px) {
  .farewell__title-wrap {
    margin-inline: auto;
  }
}

@media screen and (max-width: 767px) {
  .farewell__titles {
    grid-area: title;
  }
}

.farewell__text {
  font-weight: 600;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.875;
  margin-top: 25px;
  margin-top: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .farewell__text {
    font-weight: 400;
    grid-area: text;
    margin-top: 4.75rem;
    line-height: 2;
  }
}

.farewell__btn {
  margin-top: 24px;
  margin-top: 1.5rem;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .farewell__btn {
    grid-area: button;
    margin-top: 5rem;
    margin-inline: auto;
  }
}

.floating {
  position: fixed;
  right: 80px;
  right: 5rem;
  bottom: 40px;
  bottom: 2.5rem;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .floating {
    right: 1.5rem;
    bottom: 0.5rem;
  }
}

.floating__item + .floating__item {
  margin-top: 20px;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .floating__item + .floating__item {
    margin-top: 0.75rem;
  }
}

.floating__arrow {
  display: inline-block;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: #fff;
  background-image: url("../images/common/arrow-top.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 50%;
  -webkit-transition: background-color 0.3s, background-image 0.3s;
  transition: background-color 0.3s, background-image 0.3s;
  border: 1px solid #2177D0;
}
@media screen and (max-width: 767px) {
  .floating__arrow {
    width: 2.875rem;
    height: 2.875rem;
  }
}

.floating__arrow:hover {
  background-color: #2177D0;
  background-image: url("../images/common/arrow-top-white.png");
}

.floating__chatbot {
  display: inline-block;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: #fff;
  background-image: url("../images/common/chatbot.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 50%;
  -webkit-transition: background-color 0.3s, background-image 0.3s;
  transition: background-color 0.3s, background-image 0.3s;
  border: 1px solid #2177D0;
}
@media screen and (max-width: 767px) {
  .floating__chatbot {
    width: 2.875rem;
    height: 2.875rem;
  }
}

.floating__chatbot:hover {
  background-color: #2177D0;
  background-image: url("../images/common/chatbot-white.png");
}

.floating.floating--in-footer {
  position: absolute;
  bottom: 120px;
  bottom: 7.5rem;
}
@media screen and (max-width: 767px) {
  .floating.floating--in-footer {
    bottom: 1.25rem;
  }
}

.flow__inner {
  max-width: 1232px;
  max-width: 77rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .flow__inner {
    max-width: 90%;
  }
}

.flow__list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 48px;
  gap: 3rem;
}
@media screen and (max-width: 767px) {
  .flow__list {
    grid-template-columns: repeat(1, 1fr);
    justify-items: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 2.9375rem;
  }
}

.flow__item {
  position: relative;
}

.flow__number {
  position: absolute;
  top: -28px;
  top: -1.75rem;
  left: 0;
  color: #2177D0;
  font-size: 36px;
  font-size: 2.25rem;
  font-weight: 900;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, .25);
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .flow__number {
    top: -2.375rem;
  }
}

.flow__number--orange {
  color: #E88B47;
}

.flow__image {
  width: 200px;
  width: 12.5rem;
  height: 200px;
  height: 12.5rem;
  position: relative;
  overflow: hidden;
  border-radius: 50%;
  -webkit-box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, .1);
          box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, .1);
  position: relative;
}

.flow__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: bottom;
     object-position: bottom;
}

.flow__image.flow__image--bottom img {
  -o-object-position: center 90%;
     object-position: center 90%;
  -o-object-fit: cover;
     object-fit: cover;
  overflow: hidden;
}

.flow__title {
  font-size: 16px;
  font-size: 1rem;
  position: absolute;
  bottom: 0;
  width: 100%;
  background-color: #2177D0;
  color: #fff;
  text-align: center;
  padding: 10px 0 22px;
  padding: 0.625rem 0 1.375rem;
  font-weight: 700;
}

.flow__title--orange {
  color: #fff;
  background-color: #E88B47;
}

.flow__text {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.71;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.08em;
  margin-top: 16px;
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .flow__text {
    max-width: 12.5rem;
  }
}

.flow__bubble {
  width: 90px;
  width: 5.625rem;
  height: 148px;
  height: 9.25rem;
  position: absolute;
  bottom: -190px;
  bottom: -11.875rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -o-object-fit: contain;
     object-fit: contain;
}

.footer {
  background-color: #2177D0;
  padding: 57px 0 20px;
  padding: 3.5625rem 0 1.25rem;
}
@media screen and (max-width: 767px) {
  .footer {
    padding: 5rem 0 1rem;
  }
}

.footer__inner {
  max-width: 1320px;
  max-width: 82.5rem;
  padding: 0 20px;
  padding: 0 1.25rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .footer__inner {
    max-width: 31.25rem;
    padding: 0 2.3125rem;
  }
}

.footer__logo-link {
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
  padding-left: 23px;
  padding-left: 1.4375rem;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .footer__logo-link {
    padding-left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

@media (any-hover: hover) {
  .footer__logo-link:hover {
    opacity: 0.7;
    -webkit-transition: opacity 0.2s ease;
    transition: opacity 0.2s ease;
  }
}
.footer__logo {
  width: 155px;
  width: 9.6875rem;
}
@media screen and (max-width: 767px) {
  .footer__logo {
    width: 9.125rem;
  }
}

.footer__content {
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 80px;
  gap: 5rem;
  padding-bottom: 48px;
  padding-bottom: 3rem;
  margin-top: 22px;
  margin-top: 1.375rem;
  max-width: 1140px;
  max-width: 71.25rem;
}
@media screen and (max-width: 1348px) {
  .footer__content {
    max-width: 67.5rem;
  }
}
@media screen and (max-width: 767px) {
  .footer__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    max-width: 100%;
    gap: 2.5rem;
    padding-bottom: 1.875rem;
    margin-top: 2.5rem;
  }
}

.footer__title {
  font-size: 20px;
  font-size: 1.25rem;
  font-family: "Noto Sans JP", sans-serif;
  margin-top: 20px;
  margin-top: 1.25rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .footer__title {
    margin-top: 0;
  }
}

.footer__lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 15px;
  margin-top: 0.9375rem;
  gap: 77px;
  gap: 4.8125rem;
}
@media screen and (max-width: 767px) {
  .footer__lists {
    margin-top: 0;
  }
}

@media screen and (max-width: 767px) {
  .footer__list {
    display: grid;
    grid-template-columns: minmax(80px, 1fr) 2fr;
    grid-template-rows: repeat(3, auto);
    grid-auto-flow: column;
    row-gap: 0.875rem;
    -webkit-column-gap: 1.875rem;
       -moz-column-gap: 1.875rem;
            column-gap: 1.875rem;
  }
}

.footer__item + .footer__item {
  margin-top: 5px;
  margin-top: 0.3125rem;
}
@media screen and (max-width: 767px) {
  .footer__item + .footer__item {
    margin-top: 0;
  }
}

.footer__item:not(:has(.footer__link--small)) + .footer__item:not(:has(.footer__link--small)) {
  margin-top: 13px;
  margin-top: 0.8125rem;
}
@media screen and (max-width: 767px) {
  .footer__item:not(:has(.footer__link--small)) + .footer__item:not(:has(.footer__link--small)) {
    margin-top: 0;
  }
}

.footer__item:has(.footer__link--mini) + .footer__item:has(.footer__link--mini) {
  margin-top: 8px;
  margin-top: 0.5rem;
}
@media screen and (max-width: 767px) {
  .footer__item:has(.footer__link--mini) + .footer__item:has(.footer__link--mini) {
    margin-top: 0;
  }
}

.footer__link {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 600;
}

@media (any-hover: hover) {
  .footer__link:hover {
    opacity: 0.7;
    -webkit-transition: opacity 0.2s ease;
    transition: opacity 0.2s ease;
  }
}
.footer__link--small {
  font-size: 14px;
  font-size: 0.875rem;
}

.footer__link--mini {
  font-size: 12px;
  font-size: 0.75rem;
}

@media screen and (max-width: 767px) {
  .footer__sns {
    margin-top: 2.5rem;
  }
}

.footer__sns-list {
  margin-top: 8px;
  margin-top: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  gap: 0.5rem;
}
@media screen and (max-width: 767px) {
  .footer__sns-list {
    margin-top: 1rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 1rem;
  }
}

.footer__sns-link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 40px;
  width: 2.5rem;
  height: 40px;
  height: 2.5rem;
  border-radius: 50%;
  background-color: #fff;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}
@media screen and (max-width: 767px) {
  .footer__sns-link {
    width: 3.75rem;
    height: 3.75rem;
  }
}

.footer__x {
  width: 24px;
  width: 1.5rem;
  height: 24px;
  height: 1.5rem;
}
@media screen and (max-width: 767px) {
  .footer__x {
    width: 1.875rem;
    height: 1.875rem;
  }
}

.footer__insta {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
}
@media screen and (max-width: 767px) {
  .footer__insta {
    width: 2.125rem;
    height: 2.125rem;
  }
}

.footer__facebook {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
}
@media screen and (max-width: 767px) {
  .footer__facebook {
    width: 2.125rem;
    height: 2.125rem;
  }
}

.footer__youtube {
  width: 20px;
  width: 1.25rem;
  height: 14px;
  height: 0.875rem;
}
@media screen and (max-width: 767px) {
  .footer__youtube {
    width: 2.0625rem;
    height: 1.4375rem;
  }
}

.footer__sns-link:hover {
  opacity: 0.7;
}

.footer__contact-item + .footer__contact-item {
  margin-top: 10px;
  margin-top: 0.625rem;
}
@media screen and (max-width: 767px) {
  .footer__contact-item + .footer__contact-item {
    margin-top: 1rem;
  }
}

.footer__bottom {
  padding: 20px 0;
  padding: 1.25rem 0;
  border-top: 1px solid #69A1DA;
  border-top: 0.0625rem solid #69A1DA;
}
@media screen and (max-width: 767px) {
  .footer__bottom {
    padding: 0.75rem 0 0;
  }
}

.footer__bottom-link {
  padding: 10px 25px;
  padding: 0.625rem 1.5625rem;
}

.footer__copyright {
  font-size: 14px;
  font-size: 0.875rem;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .footer__copyright {
    font-size: 0.875rem;
  }
}

.footprint-block {
  height: 320px;
  height: 20rem;
  position: relative;
  max-width: 130px;
  max-width: 8.125rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .footprint-block {
    height: 15.875rem;
    max-width: 5rem;
  }
}

.footprint-block--ivory {
  background-color: #FCF9F2;
}

.footprint-block--transparent {
  background-color: transparent;
  height: 0;
}
@media screen and (max-width: 767px) {
  .footprint-block--transparent {
    height: 15.625rem;
  }
}

.footprint-block__item {
  position: absolute;
  opacity: 0;
  -webkit-transform: rotate(-59deg);
          transform: rotate(-59deg);
}
@media screen and (max-width: 767px) {
  .footprint-block__item {
    -webkit-transform: rotate(8deg);
            transform: rotate(8deg);
  }
}

.footprint-block__item--01 {
  width: 63px;
  width: 3.9375rem;
  height: 48px;
  height: 3rem;
  top: 84px;
  top: 5.25rem;
  left: 0;
}
@media screen and (max-width: 767px) {
  .footprint-block__item--01 {
    width: 2.5rem;
    height: 2.5rem;
    top: 3.3125rem;
    left: 1.25rem;
  }
}

.footprint-block__item--02 {
  width: 54px;
  width: 3.375rem;
  height: 42px;
  height: 2.625rem;
  top: 162px;
  top: 10.125rem;
  left: 12px;
  left: 0.75rem;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
@media screen and (max-width: 767px) {
  .footprint-block__item--02 {
    width: 2.125rem;
    height: 2.125rem;
    top: 6.25rem;
    left: 2.9375rem;
    -webkit-transform: rotate(-16deg);
            transform: rotate(-16deg);
  }
}

.footprint-block__item--03 {
  width: 50px;
  width: 3.125rem;
  height: 42px;
  height: 2.625rem;
  top: 194px;
  top: 12.125rem;
  left: 78px;
  left: 4.875rem;
}
@media screen and (max-width: 767px) {
  .footprint-block__item--03 {
    width: 2.125rem;
    height: 2.125rem;
    top: 8.4375rem;
    left: 0.125rem;
    -webkit-transform: rotate(9deg);
            transform: rotate(9deg);
  }
}

.footprint-block__item--04 {
  width: 30px;
  width: 1.875rem;
  height: 30px;
  height: 1.875rem;
  top: 62%;
  left: 38%;
}

.footprint-ivory {
  height: 158px;
  height: 9.875rem;
  position: relative;
  background-color: #FCF9F2;
}
@media screen and (max-width: 767px) {
  .footprint-ivory {
    height: 7.5rem;
  }
}

.footprint-ivory__item {
  position: absolute;
}
@media screen and (max-width: 767px) {
  .footprint-ivory__item {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
}

.footprint-ivory__item--01 {
  width: 47px;
  width: 2.9375rem;
  height: 47px;
  height: 2.9375rem;
  top: 6%;
  left: 46%;
  -webkit-transform: rotate(-60deg);
          transform: rotate(-60deg);
}
@media screen and (max-width: 767px) {
  .footprint-ivory__item--01 {
    width: 2.0625rem;
    height: 2.0625rem;
    top: 0;
    -webkit-transform: rotate(-6deg);
            transform: rotate(-6deg);
  }
}

.footprint-ivory__item--02 {
  width: 43px;
  width: 2.6875rem;
  height: 43px;
  height: 2.6875rem;
  top: 53%;
  left: 46%;
  -webkit-transform: rotate(-50deg);
          transform: rotate(-50deg);
}
@media screen and (max-width: 767px) {
  .footprint-ivory__item--02 {
    width: 1.75rem;
    height: 1.75rem;
    top: 40%;
    left: 53%;
    -webkit-transform: rotate(-20deg);
            transform: rotate(-20deg);
  }
}

.footprint-ivory__item--03 {
  width: 40px;
  width: 2.5rem;
  height: 40px;
  height: 2.5rem;
  top: 71%;
  left: 50%;
  -webkit-transform: rotate(-61deg);
          transform: rotate(-61deg);
}
@media screen and (max-width: 767px) {
  .footprint-ivory__item--03 {
    width: 1.75rem;
    height: 1.75rem;
    top: 63%;
    left: 43%;
    -webkit-transform: rotate(10deg);
            transform: rotate(10deg);
  }
}

.footprint-transparent {
  height: 158px;
  height: 9.875rem;
  position: relative;
  background-color: transparent;
}

.footprint-transparent__item {
  position: absolute;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.footprint-transparent__item--01 {
  width: 47px;
  width: 2.9375rem;
  height: 47px;
  height: 2.9375rem;
  top: 6%;
  left: 46%;
}

.footprint-transparent__item--02 {
  width: 40px;
  width: 2.5rem;
  height: 40px;
  height: 2.5rem;
  top: 53%;
  left: 46%;
}

.footprint-transparent__item--03 {
  width: 40px;
  width: 2.5rem;
  height: 40px;
  height: 2.5rem;
  top: 71%;
  left: 51%;
}

.footprint-transparent__item--04 {
  width: 30px;
  width: 1.875rem;
  height: 30px;
  height: 1.875rem;
  top: 62%;
  left: 38%;
}

.goods-card {
  width: 298px;
  width: 18.625rem;
}
@media screen and (max-width: 767px) {
  .goods-card {
    width: 10.4375rem;
  }
}

.goods-card__link {
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  width: 100%;
  padding: 24px;
  padding: 1.5rem;
  background-color: #fff;
  border-radius: 0.5rem;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .goods-card__link {
    padding: 0.75rem;
  }
}

.goods-card__link.goods-card__link--transparent {
  background-color: transparent;
}

.goods-card__link:hover {
  background-color: rgba(0, 0, 0, .05);
}

.goods-card__image {
  position: relative;
  aspect-ratio: 250/250;
  overflow: hidden;
  border-radius: 0.25rem;
}

.goods-card__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

.goods-card:hover .goods-card__image img {
  opacity: 0.7;
}

.goods-card__icons {
  position: absolute;
  top: 6px;
  top: 0.375rem;
  right: 6px;
  right: 0.375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4px;
  gap: 0.25rem;
}
@media screen and (max-width: 767px) {
  .goods-card__icons {
    gap: 0.125rem;
  }
}

.goods-card__icon {
  width: 28px;
  width: 1.75rem;
  height: 28px;
  height: 1.75rem;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .goods-card__icon {
    width: 1rem;
    height: 1rem;
  }
}

.goods-card__labels {
  margin-top: 20px;
  margin-top: 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px;
  gap: 0.5rem;
}
@media screen and (max-width: 767px) {
  .goods-card__labels {
    margin-top: 0.5rem;
    gap: 0.25rem;
  }
}

.goods-card__label {
  font-size: 16px;
  font-size: 1rem;
  letter-spacing: 0.1em;
  padding: 8px;
  padding: 0.5rem;
  background-color: #E0E0E0;
  border-radius: 0.25rem;
}
@media screen and (max-width: 767px) {
  .goods-card__label {
    font-size: 0.625rem;
    padding: 0.25rem;
  }
}

.goods-card__title {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  margin: 8px 0 0;
  margin: 0.5rem 0 0;
}
@media screen and (max-width: 767px) {
  .goods-card__title {
    font-size: 0.75rem;
  }
}

.goods-card__price {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 500;
  margin-top: 4px;
  margin-top: 0.25rem;
}
@media screen and (max-width: 767px) {
  .goods-card__price {
    font-size: 0.875rem;
    margin-top: 0.5rem;
  }
}

.goods-card__tax {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  margin-left: 2px;
  margin-left: 0.125rem;
}
@media screen and (max-width: 767px) {
  .goods-card__tax {
    font-size: 0.625rem;
  }
}

.goods-cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 48px;
  gap: 3rem;
}
@media screen and (max-width: 767px) {
  .goods-cards {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0.9375rem;
  }
}

.goods-category {
  background-color: #fff;
  padding-top: 80px;
  padding-top: 5rem;
  padding-bottom: 80px;
  padding-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .goods-category {
    padding-bottom: 0;
  }
}

@media screen and (max-width: 767px) {
  .goods-category.goods-category--detail {
    padding-top: 2.1875rem;
    padding-bottom: 5rem;
  }
}

.goods-category--darkwhite {
  background-color: #F9F9F9;
}

.goods-category__inner {
  margin-inline: auto;
  max-width: 1386px;
  max-width: 86.625rem;
  padding-inline: 25px;
  padding-inline: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .goods-category__inner {
    max-width: 100%;
    padding-inline: 1.875rem;
  }
}

.goods-category__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 600;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .goods-category__title {
    font-size: 1.25rem;
    letter-spacing: 0.08em;
  }
}

.goods-category__title::after {
  content: "";
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  height: 1px;
  background-color: #333;
  margin-left: 12px;
  margin-left: 0.75rem;
}

.goods-category__contents {
  max-width: 1084px;
  max-width: 67.75rem;
  margin-inline: auto;
  margin-top: 120px;
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .goods-category__contents {
    max-width: 37.5rem;
    margin-top: 2.5rem;
  }
}
.goods-category__contents-bottom {
  max-width: 1084px;
  max-width: 67.75rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .goods-category__contents-bottom {
    max-width: 37.5rem;
    margin-top: 2.5rem;
  }
}

.goods-category__items {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  -webkit-column-gap: 7.25rem;
     -moz-column-gap: 7.25rem;
          column-gap: 7.25rem;
  row-gap: 56px;
  row-gap: 3.5rem;
}
@media screen and (max-width: 767px) {
  .goods-category__items {
    grid-template-columns: repeat(2, 1fr);
    -webkit-column-gap: 1.5rem;
       -moz-column-gap: 1.5rem;
            column-gap: 1.5rem;
    row-gap: 1.5rem;
  }
}

.goods-category__item {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 18px;
  gap: 1.125rem;
  cursor: pointer;
  border-bottom: 2px solid #333;
  border-bottom: 0.125rem solid #333;
  padding-bottom: 2px;
  padding-bottom: 0.125rem;
  -webkit-transition: color 0.3s, border-color 0.3s;
  transition: color 0.3s, border-color 0.3s;
}
@media screen and (max-width: 767px) {
  .goods-category__item {
    gap: 1rem;
  }
}

.goods-category__item.goods-category__photo {
  gap: 24px;
  gap: 1.5rem;
}
@media screen and (max-width: 767px) {
  .goods-category__item.goods-category__photo {
    gap: 0.25rem;
  }
}

@media screen and (max-width: 767px) {
  .goods-category__item.goods-category__lelien {
    gap: 0.5rem;
  }
}

.goods-category__item:hover {
  color: #2177D0;
  border-color: #2177D0;
}
.goods-category__item:hover .goods-category__icon {
  background-color: #2177D0;
}

.goods-category__icon {
  width: 40px;
  width: 2.5rem;
  height: 40px;
  height: 2.5rem;
  mask-size: contain;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  background-color: #333;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .goods-category__icon {
    width: 2rem;
    height: 2rem;
  }
}

.goods-category__icon--ring {
  mask-image: url(../images/common/ring-icon.svg);
  -webkit-mask-image: url(../images/common/ring-icon.svg);
}

.goods-category__icon--necklace {
  mask-image: url(../images/common/necklace-icon.svg);
  -webkit-mask-image: url(../images/common/necklace-icon.svg);
}

.goods-category__icon--earings {
  mask-image: url(../images/common/earings-icon.svg);
  -webkit-mask-image: url(../images/common/earings-icon.svg);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.goods-category__icon--photo {
  mask-image: url(../images/common/photo-icon.svg);
  -webkit-mask-image: url(../images/common/photo-icon.svg);
}

.goods-category__icon--buddhist {
  mask-image: url(../images/common/buddhist-icon.svg);
  -webkit-mask-image: url(../images/common/buddhist-icon.svg);
}

.goods-category__icon--antique {
  mask-image: url(../images/common/antique-icon.svg);
  -webkit-mask-image: url(../images/common/antique-icon.svg);
}

.goods-category__icon--pet01 {
  mask-image: url(../images/common/pet-icon01.svg);
  -webkit-mask-image: url(../images/common/pet-icon01.svg);
}

.goods-category__icon--urn {
  mask-image: url(../images/common/urn-icon.svg);
  -webkit-mask-image: url(../images/common/urn-icon.svg);
  width: 50px;
  width: 3.125rem;
  height: 42px;
  height: 2.625rem;
}
@media screen and (max-width: 767px) {
  .goods-category__icon--urn {
    width: 2rem;
    height: 2rem;
  }
}

.goods-category__icon--lelien {
  mask-image: url(../images/common/logo.svg);
  -webkit-mask-image: url(../images/common/logo.svg);
  width: 56px;
  width: 3.5rem;
  height: 18px;
  height: 1.125rem;
}
@media screen and (max-width: 767px) {
  .goods-category__icon--lelien {
    width: 2.75rem;
    height: 1rem;
  }
}

.goods-category__label {
  font-size: 16px;
  font-size: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.08em;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .goods-category__label {
    font-size: 0.875rem;
  }
}

.goods-category__label--active {
  color: #2177D0;
  border-color: #2177D0;
}

.goods-category__note {
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 2;
  margin-top: 64px;
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .goods-category__note {
    font-size: 1rem;
    margin-top: 2rem;
  }
}

.goods-category__purpose {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  gap: 1rem;
  margin-top: 10px;
  margin-top: 0.625rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.goods-category__purpose-item {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .goods-category__purpose-item {
    gap: 0.625rem;
  }
}

.goods-category__purpose-icon {
  width: 32px;
  width: 2rem;
  height: 32px;
  height: 2rem;
}

.goods-category__purpose-label {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 2;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .goods-category__purpose-label {
    font-size: 0.875rem;
    line-height: 2.2;
  }
}

.goods-chatbot {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.goods-chatbot__box {
  background-color: #fff;
  border: 1px solid #E0E0E0;
  width: 100%;
  max-width: 620px;
  max-width: 38.75rem;
  padding: 32px 82px;
  padding: 2rem 5.125rem;
  margin-top: 80px;
  margin-top: 5rem;
  border-radius: 0.5rem;
}
@media screen and (max-width: 1500px) {
  .goods-chatbot__box {
    padding: 2rem 6.375rem;
    max-width: 35.6875rem;
  }
}
@media screen and (max-width: 767px) {
  .goods-chatbot__box {
    padding: 2rem 1.375rem;
    max-width: 34.375rem;
  }
}

.goods-chatbot__text {
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .goods-chatbot__text {
    font-size: 0.875rem;
    letter-spacing: 0.02em;
  }
}

.goods-chatbot__btn-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 32px;
  margin-top: 2rem;
}

.goods-detail {
  padding: 80px 25px 120px;
  padding: 5rem 1.5625rem 7.5rem;
}
@media screen and (max-width: 767px) {
  .goods-detail {
    padding: 2rem 1.25rem 3.5rem;
    max-width: 31.25rem;
    margin-inline: auto;
  }
}

.goods-detail__inner {
  margin-inline: auto;
  max-width: 1286px;
  max-width: 80.375rem;
}
@media screen and (max-width: 767px) {
  .goods-detail__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.5rem;
    position: relative;
  }
}

.goods-detail__wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 10.625rem 1fr;
  -webkit-column-gap: 3.875rem;
     -moz-column-gap: 3.875rem;
          column-gap: 3.875rem;
  row-gap: 24px;
  row-gap: 1.5rem;
}
@media screen and (max-width: 1348px) {
  .goods-detail__wrap {
    grid-template-rows: 12.375rem 1fr;
  }
}
@media screen and (max-width: 767px) {
  .goods-detail__wrap {
    display: block;
  }
}

.goods-detail__documents {
  grid-column: 2;
  grid-row: 2/3;
}
@media screen and (max-width: 767px) {
  .goods-detail__documents {
    margin-top: 3.5rem;
  }
}

/* タイトルブロック */
.goods-detail__title-block {
  grid-column: 2;
  grid-row: 1/2;
}
@media screen and (max-width: 767px) {
  .goods-detail__title-block {
    grid-column: initial;
    grid-row: initial;
    padding-inline: 0.9375rem;
  }
}

.goods-detail__title {
  font-size: 32px;
  font-size: 2rem;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.001em;
}
@media screen and (max-width: 767px) {
  .goods-detail__title {
    font-size: 1rem;
  }
}

.goods-detail__price {
  font-size: 32px;
  font-size: 2rem;
  font-family: "Noto Sans JP", sans-serif;
  margin-top: 13px;
  margin-top: 0.8125rem;
}
@media screen and (max-width: 767px) {
  .goods-detail__price {
    font-size: 1rem;
    margin-top: 0.25rem;
  }
}

.goods-detail__atten {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  gap: 1rem;
  margin-top: 11px;
  margin-top: 0.6875rem;
}
@media screen and (max-width: 767px) {
  .goods-detail__atten {
    margin-top: 0.75rem;
  }
}

.goods-detail__icons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  .goods-detail__icons {
    gap: 0.5rem;
  }
}

.goods-detail__icon img {
  width: 40px;
  width: 2.5rem;
  height: 40px;
  height: 2.5rem;
}
@media screen and (max-width: 767px) {
  .goods-detail__icon img {
    width: 1.3125rem;
    height: 1.3125rem;
  }
}

.goods-detail__features {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  gap: 1rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .goods-detail__features {
    gap: 0.5rem;
  }
}

.goods-detail__feature {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 16px;
  font-size: 1rem;
  gap: 8px;
  gap: 0.5rem;
  font-family: "Noto Sans JP", sans-serif;
  background-color: #E0E0E0;
  line-height: 1;
  padding: 12px 16px;
  padding: 0.75rem 1rem;
}
@media screen and (max-width: 767px) {
  .goods-detail__feature {
    font-size: 0.625rem;
    padding: 0.375rem 0.5rem;
  }
}

.goods-detail__feature img {
  width: 23px;
  width: 1.4375rem;
  height: 18px;
  height: 1.125rem;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 767px) {
  .goods-detail__feature img {
    width: 0.8125rem;
    height: 0.8125rem;
  }
}

.goods-detail__sliders {
  grid-column: 1;
  grid-row: 1/3;
}
@media screen and (max-width: 767px) {
  .goods-detail__sliders {
    margin: 1.125rem auto;
  }
}

/* 画像スライダー */
.goods-detail__image-block {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 300px;
  min-width: 18.75rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .goods-detail__image-block {
    width: 100%;
  }
}

.goods-detail__main-slider {
  width: 100%;
  aspect-ratio: 640/554;
  max-width: 640px;
  max-width: 40rem;
}
@media screen and (max-width: 767px) {
  .goods-detail__main-slider {
    aspect-ratio: 335/290;
  }
}

.goods-detail__main-slide img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 640/554;
}
@media screen and (max-width: 767px) {
  .goods-detail__main-slide img {
    aspect-ratio: 335/290;
  }
}

.goods-detail__thumb-slider {
  width: 640px;
  width: 40rem;
}
@media screen and (max-width: 767px) {
  .goods-detail__thumb-slider {
    width: 100%;
  }
}

.goods-detail__thumb-slide {
  width: auto;
  cursor: pointer;
  opacity: 0.7;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

.goods-detail__thumb-slide.swiper-slide-thumb-active {
  opacity: 1;
}

.goods-detail__thumb-slide img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 140/120;
}
@media screen and (max-width: 767px) {
  .goods-detail__thumb-slide img {
    aspect-ratio: 73/63;
  }
}

.goods-detail__sign {
  position: relative;
  height: 72px;
  height: 4.5rem;
}
@media screen and (max-width: 767px) {
  .goods-detail__sign {
    height: 2.75rem;
  }
}

/* スライド矢印 */
.goods-detail__slider-button-prev,
.goods-detail__slider-button-next {
  position: absolute;
  z-index: 10;
  cursor: pointer;
}

.goods-detail__slider-button-prev:hover,
.goods-detail__slider-button-next:hover {
  background-color: rgb(255, 255, 255);
}

.goods-detail__slider-button-prev {
  left: 250px;
  left: 15.625rem;
}
@media screen and (max-width: 767px) {
  .goods-detail__slider-button-prev {
    left: 7.5rem;
  }
}

.goods-detail__slider-button-next {
  right: 250px;
  right: 15.625rem;
}
@media screen and (max-width: 767px) {
  .goods-detail__slider-button-next {
    right: 7.5rem;
  }
}

.goods-detail__slider-button-prev::after {
  content: "";
  display: block;
  width: 16px;
  width: 1rem;
  height: 16px;
  height: 1rem;
  border-right: 1px solid #2177D0;
  border-top: 1px solid #2177D0;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(-135deg);
          transform: translateY(-50%) rotate(-135deg);
}
@media screen and (max-width: 767px) {
  .goods-detail__slider-button-prev::after {
    width: 0.6875rem;
    height: 0.6875rem;
  }
}

.goods-detail__slider-button-next::after {
  content: "";
  display: block;
  width: 16px;
  width: 1rem;
  height: 16px;
  height: 1rem;
  border-right: 1px solid #2177D0;
  border-top: 1px solid #2177D0;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 767px) {
  .goods-detail__slider-button-next::after {
    width: 0.6875rem;
    height: 0.6875rem;
  }
}

/* スライド枚数表示 */
.goods-detail__pagination {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  color: #2177D0;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .goods-detail__pagination {
    font-size: 0.6875rem;
    padding: 0.125rem 2rem;
  }
}

/* テキストブロック */
.goods-detail__text-block {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 767px) {
  .goods-detail__text-block {
    padding-inline: 0.9375rem;
  }
}

.goods-detail__description,
.goods-detail__set {
  font-size: 16px;
  font-size: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 2;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .goods-detail__description,
  .goods-detail__set {
    font-size: 0.875rem;
    line-height: 1.71;
  }
}

.goods-detail__set {
  font-size: 14px;
  font-size: 0.875rem;
  margin-top: 40px;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .goods-detail__set {
    margin-top: 1.4375rem;
  }
}

/* ボタンブロック */
.goods-detail__button-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
  gap: 1.875rem;
  margin-top: 14px;
  margin-top: 0.875rem;
}
@media screen and (max-width: 767px) {
  .goods-detail__button-block {
    gap: 1.125rem;
    margin-top: 3.5rem;
    padding-left: 1.0625rem;
  }
}

.goods-detail__cta-button {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 70%;
          flex: 1 0 70%;
}

.goods-detail__favorite-button {
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .goods-detail__favorite-button {
    padding: 0;
  }
}

.goods-detail__favorite-button img {
  width: 33px;
  width: 2.0625rem;
  height: 30px;
  height: 1.875rem;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 767px) {
  .goods-detail__favorite-button img {
    width: 1.125rem;
    height: 1rem;
  }
}

.goods-flow {
  background-color: #fff;
  padding: 120px 0;
  padding: 7.5rem 0;
}
@media screen and (max-width: 767px) {
  .goods-flow {
    padding: 0;
  }
}

.goods-flow__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.goods-flow__title-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.goods-flow__list {
  margin-top: 80px;
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .goods-flow__list {
    margin-top: 5.75rem;
  }
}

.goods-index {
  background-color: #2177D0;
  margin-top: 120px;
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .goods-index {
    margin-top: 5rem;
  }
}

.goods-index__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #fff;
  padding: 32px 0;
  padding: 2rem 0;
  gap: 102px;
  gap: 6.375rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .goods-index__wrap {
    font-size: 0.875rem;
    padding: 1.25rem 0;
    gap: 2rem;
  }
}

.goods-index__item {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  gap: 1rem;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .goods-index__item {
    gap: 0.5rem;
  }
}

@media (any-hover: hover) {
  .goods-index__item:hover {
    opacity: 0.7;
  }
}
.goods-index__prev img,
.goods-index__list img,
.goods-index__next img {
  width: 16px;
  width: 1rem;
  height: 16px;
  height: 1rem;
}

.goods-index__text {
  font-size: 16px;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .goods-index__text {
    font-size: 0.875rem;
  }
}

.goods-intro-wrap {
  margin: 0px 0 120px;
  margin: 0rem 0 7.5rem;
}
@media screen and (max-width: 767px) {
  .goods-intro-wrap {
    margin: 4.375rem 0 2.5rem;
  }
}

.goods-intro:nth-child(n+2) {
  margin-top: 70px;
  margin-top: 4.375rem;
}
@media screen and (max-width: 767px) {
  .goods-intro:nth-child(n+2) {
    margin-top: 5rem;
  }
}

.goods-intro__inner {
  max-width: 1386px;
  max-width: 86.625rem;
  margin-inline: auto;
  padding-inline: 25px;
  padding-inline: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .goods-intro__inner {
    padding-inline: 0.75rem;
    max-width: 42.5rem;
  }
}

.goods-intro__carousel {
  margin-top: 54px;
  margin-top: 3.375rem;
}

.goods-intro__items {
  margin-top: 54px;
  margin-top: 3.375rem;
}
@media screen and (max-width: 767px) {
  .goods-intro__items {
    margin-top: 2.5rem;
  }
}

.goods-recommend-wrap {
  margin: 120px 0 80px;
  margin: 7.5rem 0 5rem;
}
@media screen and (max-width: 767px) {
  .goods-recommend-wrap {
    margin: 5rem 0 0rem;
  }
}

.goods-recommend-wrap__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.goods-recommend-wrap__more {
  margin-top: 82px;
  margin-top: 5.125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.goods-slider-card__link {
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  width: 100%;
  padding: 24px;
  padding: 1.5rem;
  background-color: #fff;
  border-radius: 0.5rem;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .goods-slider-card__link {
    padding: 0.75rem;
  }
}

.goods-slider-card__link:hover {
  background-color: rgba(0, 0, 0, .05);
}

.goods-slider-card__image {
  position: relative;
  aspect-ratio: 250/250;
  overflow: hidden;
  border-radius: 0.25rem;
}

.goods-slider-card__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

.goods-slider-card:hover .goods-slider-card__image img {
  opacity: 0.7;
}

.goods-slider-card__icons {
  position: absolute;
  top: 6px;
  top: 0.375rem;
  right: 6px;
  right: 0.375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4px;
  gap: 0.25rem;
}
@media screen and (max-width: 767px) {
  .goods-slider-card__icons {
    gap: 0.125rem;
  }
}

.goods-slider-card__icon {
  width: 28px;
  width: 1.75rem;
  height: 28px;
  height: 1.75rem;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .goods-slider-card__icon {
    width: 1rem;
    height: 1rem;
  }
}

.goods-slider-card__labels {
  margin-top: 20px;
  margin-top: 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  gap: 0.5rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .goods-slider-card__labels {
    margin-top: 0.5rem;
    gap: 0.25rem;
  }
}

.goods-slider-card__label {
  font-size: 16px;
  font-size: 1rem;
  letter-spacing: 0.1em;
  padding: 8px;
  padding: 0.5rem;
  background-color: #E0E0E0;
  border-radius: 0.25rem;
}
@media screen and (max-width: 767px) {
  .goods-slider-card__label {
    font-size: 0.625rem;
    padding: 0.25rem;
  }
}

.goods-slider-card__title {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  margin: 8px 0 0;
  margin: 0.5rem 0 0;
}
@media screen and (max-width: 767px) {
  .goods-slider-card__title {
    font-size: 0.75rem;
  }
}

.goods-slider-card__price {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 500;
  margin-top: 4px;
  margin-top: 0.25rem;
}
@media screen and (max-width: 767px) {
  .goods-slider-card__price {
    font-size: 0.875rem;
    margin-top: 0.375rem;
  }
}

.goods-slider-card__tax {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  margin-left: 2px;
  margin-left: 0.125rem;
}
@media screen and (max-width: 767px) {
  .goods-slider-card__tax {
    font-size: 0.625rem;
  }
}

.goods-slider-card__controls-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 54px;
  margin-top: 3.375rem;
}
@media screen and (max-width: 767px) {
  .goods-slider-card__controls-wrap {
    margin-top: 2.5rem;
  }
}

.goods-slider-card__controls {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  gap: 0.75rem;
  position: relative;
  max-width: 200px;
  max-width: 12.5rem;
}

.goods-slider-card__prev,
.goods-slider-card__next {
  width: 24px;
  height: 24px;
  cursor: pointer;
  position: relative;
}

.goods-slider-card__prev::before,
.goods-slider-card__next::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-top: 2px solid #2177D0;
  border-right: 2px solid #2177D0;
  margin: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .goods-slider-card__prev::before,
  .goods-slider-card__next::before {
    width: 16px;
    height: 16px;
  }
}

.goods-slider-card__prev::before {
  -webkit-transform: translate(-50%, -50%) rotate(-135deg);
          transform: translate(-50%, -50%) rotate(-135deg);
}

.goods-slider-card__next::before {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}

/* Swiperのドットページネーション */
.goods-slider-card__pagination {
  position: static;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.goods-slider-card__bullet {
  width: 9px;
  width: 0.5625rem;
  height: 9px;
  height: 0.5625rem;
  background-color: #aaa;
  opacity: 1;
  border-radius: 50%;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}

.goods-slider-card__bullet--active {
  background-color: #2177D0;
  width: 14px;
  width: 0.875rem;
  height: 14px;
  height: 0.875rem;
}

.goods-table {
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .goods-table {
    max-width: 31.25rem;
  }
}

.goods-table__inner {
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .goods-table__inner {
    padding-inline: 1.375rem;
  }
}

.goods-table__title {
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.4em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .goods-table__title {
    font-size: 1.25rem;
    letter-spacing: 0.08em;
  }
}

.goods-table__contents {
  margin-top: 40px;
  margin-top: 2.5rem;
}

.grave-closure {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.grave-closure__inner {
  position: relative;
  width: 100%;
}

.grave-closure__img {
  width: 100%;
  height: 500px;
  height: 31.25rem;
}

.grave-closure__img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center 10%;
     object-position: center 10%;
}

.grave-closure__content {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  max-width: 90%;
  width: 662px;
  width: 41.375rem;
  background-color: rgba(255, 255, 255, .81);
  padding: 32px;
  padding: 2rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: center;
  z-index: 1;
}

.grave-closure__title {
  color: #000;
  font-size: 32px;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
}

.grave-closure__text {
  color: #000;
  margin-bottom: 24px;
  margin-bottom: 1.5rem;
  line-height: 1.6;
  margin-top: 23px;
  margin-top: 1.4375rem;
}

.grave-closure__btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 16px;
  gap: 1rem;
}

.grave-closure__button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 87px;
  gap: 5.4375rem;
  padding: 12px 24px;
  padding: 0.75rem 1.5rem;
  text-decoration: none;
  border-radius: 4px;
  font-size: 16px;
  font-size: 1rem;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}

.header-lower {
  height: 148px;
  height: 9.25rem;
  z-index: 1000;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .header-lower {
    height: 2.6875rem;
  }
}

.header-lower__inner {
  height: inherit;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-right: 24px;
  padding-right: 1.5rem;
  padding-left: 24px;
  padding-left: 1.5rem;
}
@media screen and (max-width: 767px) {
  .header-lower__inner {
    padding-right: 0.5625rem;
    padding-left: 0.9375rem;
  }
}

.header-lower__link {
  height: inherit;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}

@media (any-hover: hover) {
  .header-lower__link:hover {
    opacity: 0.7;
    -webkit-transition: opacity 0.2s ease;
    transition: opacity 0.2s ease;
  }
}
.header-lower__info {
  margin-left: auto;
}

.header-lower__logo {
  width: 140px;
  width: 8.75rem;
}
@media screen and (max-width: 767px) {
  .header-lower__logo {
    width: 3.75rem;
  }
}

.header-lower__btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.header-lower__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: inherit;
  margin-top: 20px;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .header-lower__nav {
    display: none;
  }
}

.header-lower__hamburger {
  display: none;
  position: relative;
  width: 60px;
  width: 3.75rem;
  height: 27px;
  height: 1.6875rem;
  z-index: 9999;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .header-lower__hamburger {
    width: 1.9375rem;
    height: 1.625rem;
    display: block;
  }
}

.header-lower__hamburger span {
  position: absolute;
  height: 2px;
  height: 0.125rem;
  width: inherit;
  right: 0;
  border-radius: 0.0625rem;
  background-color: #fff;
  -webkit-transition: width 0.3s, top 0.3s, -webkit-transform 0.3s;
  transition: width 0.3s, top 0.3s, -webkit-transform 0.3s;
  transition: transform 0.3s, width 0.3s, top 0.3s;
  transition: transform 0.3s, width 0.3s, top 0.3s, -webkit-transform 0.3s;
}

.header-lower__hamburger span:nth-child(1) {
  top: 0;
}

.header-lower__hamburger span:nth-child(2) {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.header-lower__hamburger span:nth-child(3) {
  top: 100%;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}

.header-lower__hamburger.active span:nth-child(1) {
  -webkit-transform: translateY(1.25rem) rotate(45deg);
  transform: translateY(1.25rem) rotate(35deg);
  top: -10px;
  width: 40px;
  width: 2.5rem;
}

.header-lower__hamburger.active span:nth-child(2) {
  opacity: 0;
}

.header-lower__hamburger.active span:nth-child(3) {
  -webkit-transform: translateY(-1.25rem) rotate(-45deg);
  transform: translateY(-1.25rem) rotate(-35deg);
  width: 40px;
  width: 2.5rem;
  top: 29px;
}

.header-lower .header-lower__background--blue {
  background-color: rgba(3, 3, 112, .7);
  -webkit-transition: background-color 0.6s ease;
  transition: background-color 0.6s ease;
}

.header-lower.header-lower__height--small {
  height: 80px;
  height: 5rem;
  -webkit-transition: height 0.6s ease;
  transition: height 0.6s ease;
}

.header-lower__logo.header-lower__logo--small {
  width: 96px;
  width: 6rem;
  -webkit-transition: width 0.6s ease;
  transition: width 0.6s ease;
}

.header-lower__btn + .header-lower__btn {
  margin-left: 40px;
  margin-left: 2.5rem;
}

.header-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: inherit;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: auto;
}

.header-nav__item {
  text-align: center;
  height: inherit;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.header-nav__item.header-nav__item-dropdown {
  margin-left: 50px;
  margin-left: 3.125rem;
}

.header-nav__item-link {
  color: #333;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 700;
  height: inherit;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-inline: 28px;
  padding-inline: 1.75rem;
  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease, -webkit-transform 0.3s ease;
  position: relative;
}

.header-nav__item-link.current::after {
  content: "";
  width: 64%;
  height: 2px;
  height: 0.125rem;
  display: inline-block;
  background-color: #2177D0;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: -16px;
  bottom: -1rem;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

@media (any-hover: hover) {
  .header-nav__item-link:not(.current):hover {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
    opacity: 0.7;
  }
}
.header-nav__item-link.current {
  color: #2177D0;
  cursor: default;
  pointer-events: none;
}

.header-nav__sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.header-nav__icon {
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  display: inline-block;
  padding: 0 10px;
  padding: 0 0.625rem;
}

.header-nav__youtube {
  width: 24px;
  width: 1.5rem;
}

.header-nav__x {
  width: 21px;
  width: 1.3125rem;
}

.header-nav__booth {
  width: 21px;
  width: 1.3125rem;
}

.header {
  height: 165px;
  height: 10.3125rem;
  z-index: 1000;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  -webkit-transition: opacity 0.4s ease, -webkit-box-shadow 0.4s ease, -webkit-transform 0.4s ease;
  transition: opacity 0.4s ease, -webkit-box-shadow 0.4s ease, -webkit-transform 0.4s ease;
  transition: box-shadow 0.4s ease, transform 0.4s ease, opacity 0.4s ease;
  transition: box-shadow 0.4s ease, transform 0.4s ease, opacity 0.4s ease, -webkit-box-shadow 0.4s ease, -webkit-transform 0.4s ease;
  -webkit-transform: translateY(-10px);
          transform: translateY(-10px);
}
@media screen and (max-width: 767px) {
  .header {
    height: 4.5625rem;
  }
}
.header::before {
  content: "";
  position: absolute;
  inset: 0;
  background: -webkit-gradient(linear, left top, left bottom, from(rgb(255, 255, 255)), to(rgba(255, 255, 255, .6)));
  background: linear-gradient(to bottom, rgb(255, 255, 255) 0%, rgba(255, 255, 255, .6) 100%);
  opacity: 0; /* 初期は透明 */
  -webkit-transition: opacity 0.6s ease;
  transition: opacity 0.6s ease; /* opacityだけふんわり変化 */
  pointer-events: none;
  z-index: -1; /* 中身より後ろ */
}
.header.is-bg {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-box-shadow: 0 4px 10px rgba(0, 0, 0, .08);
          box-shadow: 0 4px 10px rgba(0, 0, 0, .08);
}
.header.is-bg::before {
  opacity: 1; /* グラデーションをふんわり表示 */
}

.header .header__background--white {
  -webkit-transition: background-color 0.6s ease, opacity 0.6s ease, -webkit-box-shadow 0.6s ease, -webkit-transform 0.6s ease;
  transition: background-color 0.6s ease, opacity 0.6s ease, -webkit-box-shadow 0.6s ease, -webkit-transform 0.6s ease;
  transition: background-color 0.6s ease, box-shadow 0.6s ease, transform 0.6s ease, opacity 0.6s ease;
  transition: background-color 0.6s ease, box-shadow 0.6s ease, transform 0.6s ease, opacity 0.6s ease, -webkit-box-shadow 0.6s ease, -webkit-transform 0.6s ease;
  -webkit-box-shadow: 0 4px 10px rgba(0, 0, 0, .08);
          box-shadow: 0 4px 10px rgba(0, 0, 0, .08);
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
  background: -webkit-gradient(linear, left top, left bottom, from(rgb(255, 255, 255)), to(rgba(255, 255, 255, .6)));
  background: linear-gradient(to bottom, rgb(255, 255, 255) 0%, rgba(255, 255, 255, .6) 100%);
}

.header.header__background--lower-white {
  -webkit-transition: background-color 0.6s ease, opacity 0.6s ease, -webkit-box-shadow 0.6s ease, -webkit-transform 0.6s ease;
  transition: background-color 0.6s ease, opacity 0.6s ease, -webkit-box-shadow 0.6s ease, -webkit-transform 0.6s ease;
  transition: background-color 0.6s ease, box-shadow 0.6s ease, transform 0.6s ease, opacity 0.6s ease;
  transition: background-color 0.6s ease, box-shadow 0.6s ease, transform 0.6s ease, opacity 0.6s ease, -webkit-box-shadow 0.6s ease, -webkit-transform 0.6s ease;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
  background: -webkit-gradient(linear, left top, left bottom, from(rgb(255, 255, 255)), to(rgba(255, 255, 255, .6)));
  background: linear-gradient(to bottom, rgb(255, 255, 255) 0%, rgba(255, 255, 255, .6) 100%);
}

.header__inner {
  height: inherit;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-inline: 40px;
  padding-inline: 2.5rem;
}
@media screen and (max-width: 767px) {
  .header__inner {
    padding-right: 1.25rem;
    padding-left: 1.25rem;
  }
}

.header__link {
  height: inherit;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
  z-index: 9999;
}

@media (any-hover: hover) {
  .header__link:hover {
    opacity: 0.7;
    -webkit-transition: opacity 0.2s ease;
    transition: opacity 0.2s ease;
  }
}
.header__info {
  margin-left: auto;
}

.header__logo {
  width: 150px;
  width: 9.375rem;
}
@media screen and (max-width: 767px) {
  .header__logo {
    width: 4.6875rem;
  }
}

.header__btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.header__btn {
  padding-inline: 12px;
  padding-inline: 0.75rem;
}
@media screen and (max-width: 767px) {
  .header__btn {
    padding-inline: 0;
  }
}

.header__btn.header__btn--mail {
  padding-inline: 0;
}

.header__btn + .header__btn {
  margin-left: 16px;
  margin-left: 1rem;
}
@media screen and (max-width: 767px) {
  .header__btn + .header__btn {
    margin-left: 0.5rem;
  }
}

@media screen and (max-width: 767px) {
  .header__btn--mail {
    display: none;
  }
}

.header__btn-txt {
  font-size: 16px;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .header__btn-txt {
    display: none;
  }
}

.header__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: inherit;
  margin-top: 26px;
  margin-top: 1.625rem;
}
@media screen and (max-width: 767px) {
  .header__nav {
    display: none;
  }
}

.header__hamburger {
  display: none;
  position: relative;
  width: 60px;
  width: 3.75rem;
  height: 27px;
  height: 1.6875rem;
  z-index: 9999;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .header__hamburger {
    width: 1.875rem;
    height: 1.25rem;
    display: block;
    margin-left: 0.8125rem;
  }
}

.header__hamburger span {
  position: absolute;
  height: 3px;
  height: 0.1875rem;
  width: inherit;
  right: 0;
  border-radius: 0.0625rem;
  background-color: #333;
  -webkit-transition: width 0.3s, top 0.3s, -webkit-transform 0.3s;
  transition: width 0.3s, top 0.3s, -webkit-transform 0.3s;
  transition: transform 0.3s, width 0.3s, top 0.3s;
  transition: transform 0.3s, width 0.3s, top 0.3s, -webkit-transform 0.3s;
}

.header__hamburger span:nth-child(1) {
  top: 0;
}

.header__hamburger span:nth-child(2) {
  top: 50%;
}

.header__hamburger span:nth-child(3) {
  top: 100%;
}

@media screen and (max-width: 767px) {
  .header__hamburger.active {
    width: 1.65rem;
    height: 1.65rem;
  }
}

.header__hamburger.active span:nth-child(1) {
  -webkit-transform: translateY(1.25rem) rotate(45deg);
          transform: translateY(1.25rem) rotate(45deg);
  top: -10px;
  width: 30px;
  width: 1.875rem;
}

.header__hamburger.active span:nth-child(2) {
  opacity: 0;
}

.header__hamburger.active span:nth-child(3) {
  -webkit-transform: translateY(-1.25rem) rotate(-45deg);
          transform: translateY(-1.25rem) rotate(-45deg);
  width: 30px;
  width: 1.875rem;
  top: 29px;
}

.highlight {
  color: #2177D0;
}

.highlight--orange {
  color: #E88B47;
}

.info-closure {
  padding: 150px 0 0;
  padding: 9.375rem 0 0;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .info-closure {
    padding: 2.5rem 0 8.125rem;
    font-size: 0.875rem;
  }
}

.info-closure__concern {
  position: relative;
  z-index: 0;
}

.info-closure__concern-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  background-color: #EFF2F1;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .info-closure__concern-background {
    height: 72%;
  }
}

.info-closure__concern-inner {
  max-width: 1040px;
  max-width: 65rem;
  margin: 0 auto;
  padding: 46px 70px;
  padding: 2.875rem 4.375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 40px;
  gap: 2.5rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .info-closure__concern-inner {
    max-width: 37.5rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 2.5rem 1rem 0 1rem;
    gap: 2.5rem;
  }
}

.info-closure__concern-text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 767px) {
  .info-closure__concern-text {
    font-size: 0.875rem;
  }
}

.info-closure__concern-title {
  font-weight: 600;
  font-size: 32px;
  font-size: 2rem;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .info-closure__concern-title {
    font-size: 1.25rem;
    text-align: center;
  }
}

.info-closure__concern-list {
  margin-top: 24px;
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .info-closure__concern-list {
    margin-top: 2.5rem;
  }
}

.info-closure__concern-item {
  position: relative;
  padding-left: 42px;
  padding-left: 2.625rem;
  font-size: 16px;
  font-size: 1rem;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 767px) {
  .info-closure__concern-item {
    font-size: 0.875rem;
    padding-left: 1.4375rem;
  }
}
.info-closure__concern-item::before {
  content: "";
  position: absolute;
  background: url(../images/common/check-icon.png) no-repeat;
  background-size: contain;
  width: 19px;
  width: 1.1875rem;
  height: 19px;
  height: 1.1875rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
}
@media screen and (max-width: 767px) {
  .info-closure__concern-item::before {
    width: 1rem;
    height: 1rem;
  }
}

.info-closure__concern-item + .info-closure__concern-item {
  margin-top: 15px;
  margin-top: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .info-closure__concern-item + .info-closure__concern-item {
    margin-top: 0.625rem;
  }
}

.info-closure__concern-image {
  position: absolute;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  right: -40px;
  right: -2.5rem;
  width: 486px;
  width: 30.375rem;
}
@media screen and (max-width: 767px) {
  .info-closure__concern-image {
    right: auto;
    right: initial;
    position: static;
    width: 18.75rem;
  }
}
.info-closure__concern-image img {
  width: 100%;
  height: auto;
  aspect-ratio: 486/414;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.5rem;
}
.info-closure__chart {
  padding: 120px 0;
  padding: 7.5rem 0;
}
@media screen and (max-width: 767px) {
  .info-closure__chart {
    padding: 4rem 1.25rem 0 1.25rem;
  }
}

.info-closure__chart-box {
  background-color: #A3C9E9;
  padding: 40px;
  padding: 2.5rem;
  border-radius: 0.5rem;
  max-width: 900px;
  max-width: 56.25rem;
  margin-inline: auto;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .info-closure__chart-box {
    padding: 1.25rem;
    border-radius: 0;
  }
}

.info-closure__chart-heading {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 700;
  display: inline-block;
  background-color: #fff;
  padding: 10px 16px;
  padding: 0.625rem 1rem;
}
@media screen and (max-width: 767px) {
  .info-closure__chart-heading {
    font-size: 0.875rem;
    padding: 0.1875rem 0.5rem;
  }
}

.info-closure__chart-description {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  font-family: "Noto Sans JP", sans-serif;
  margin-top: 24px;
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .info-closure__chart-description {
    font-size: 0.75rem;
    margin-top: 1rem;
    line-height: 1.66;
  }
}

.info-closure__chart-image {
  margin: 24px auto 0;
  margin: 1.5rem auto 0;
  width: 503px;
  width: 31.4375rem;
}
@media screen and (max-width: 767px) {
  .info-closure__chart-image {
    width: 18.4375rem;
  }
}

.info-closure__chart-image img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto 16px;
  margin: 0 auto 1rem;
  aspect-ratio: 503/305;
}

.info-closure__chart-note {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-family: "Noto Sans JP", sans-serif;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .info-closure__chart-note {
    font-size: 0.5rem;
    line-height: 2;
    margin-inline: initial;
    margin-left: auto;
  }
}

.info-closure__chart-link {
  display: block;
  margin-top: 8px;
  margin-top: 0.5rem;
  color: #F7F9FC;
  text-decoration: underline;
  font-size: 12px;
  font-size: 0.75rem;
  text-align: right;
  padding-bottom: 1px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .info-closure__chart-link {
    font-size: 0.5rem;
    margin-top: 0.1875rem;
  }
}

.info-closure__chart-link::after {
  content: "";
  background: #F7F9FC;
  width: 514px;
  width: 32.125rem;
  height: 1px;
  height: 0.0625rem;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.info-closure__about {
  position: relative;
  z-index: 0;
  padding-block: 18px 250px;
  padding-block: 1.125rem 15.625rem;
}
@media screen and (max-width: 767px) {
  .info-closure__about {
    padding-block: 4.125rem 1.875rem;
  }
}

.info-closure__about::before {
  content: "";
  position: absolute;
  top: -38px;
  top: -2.375rem;
  left: 0;
  width: 423px;
  width: 26.4375rem;
  height: 662px;
  height: 41.375rem;
  background-color: #EFF2F1;
}
@media screen and (max-width: 767px) {
  .info-closure__about::before {
    top: 7.5rem;
    width: 9.125rem;
    height: 60rem;
  }
}

.info-closure__about::after {
  content: "";
  position: absolute;
  bottom: 108px;
  bottom: 6.75rem;
  right: 0;
  width: 376px;
  width: 23.5rem;
  height: 320px;
  height: 20rem;
  background-color: #EFF2F1;
}
@media screen and (max-width: 767px) {
  .info-closure__about::after {
    background: none;
  }
}

.info-closure__about-inner {
  max-width: 1190px;
  max-width: 74.375rem;
  margin: 0 auto;
  padding-inline: 25px;
  padding-inline: 1.5625rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .info-closure__about-inner {
    padding-inline: 1.25rem;
  }
}

.info-closure__about-heading-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.info-closure__about-heading {
  color: #2177D0;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  display: inline-block;
  position: relative;
  padding: 0 24px;
  padding: 0 1.5rem;
}
@media screen and (max-width: 767px) {
  .info-closure__about-heading {
    font-size: 1.25rem;
    padding: 0 0.5rem;
  }
}

.info-closure__about-heading::before,
.info-closure__about-heading::after {
  content: "";
  background: #2177D0;
  position: absolute;
  width: 90px;
  width: 5.625rem;
  height: 1px;
  height: 0.0625rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .info-closure__about-heading::before,
  .info-closure__about-heading::after {
    width: 4.25rem;
  }
}

.info-closure__about-heading::before {
  left: -100px;
  left: -6.25rem;
}
@media screen and (max-width: 767px) {
  .info-closure__about-heading::before {
    left: -5rem;
  }
}

.info-closure__about-heading::after {
  right: -100px;
  right: -6.25rem;
}
@media screen and (max-width: 767px) {
  .info-closure__about-heading::after {
    right: -5rem;
  }
}

.info-closure__about-contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 62px;
  gap: 3.875rem;
  margin-top: 66px;
  margin-top: 4.125rem;
}
@media screen and (max-width: 767px) {
  .info-closure__about-contents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 3.3125rem;
  }
}

.info-closure__about-image {
  min-width: 414px;
  min-width: 25.875rem;
}
@media screen and (max-width: 767px) {
  .info-closure__about-image {
    min-width: 18.75rem;
    width: 18.75rem;
  }
}

.info-closure__about-image img {
  aspect-ratio: 422/414;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.75rem;
}
@media screen and (max-width: 767px) {
  .info-closure__about-image img {
    aspect-ratio: 300/256;
  }
}

.info-closure__about-text {
  font-size: 16px;
  font-size: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 2;
  letter-spacing: 0.08em;
  padding-top: 15px;
  padding-top: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .info-closure__about-text {
    font-size: 1rem;
    padding-top: 0;
    letter-spacing: 0.04em;
  }
}

.info-closure__about-text + .info-closure__about-text {
  margin-top: 18px;
  margin-top: 1.125rem;
}
@media screen and (max-width: 767px) {
  .info-closure__about-text + .info-closure__about-text {
    margin-top: 1.875rem;
  }
}

.info-episode {
  background-color: #F9F9F9;
  padding: 120px 25px 100px;
  padding: 7.5rem 1.5625rem 6.25rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .info-episode {
    padding: 5rem 1.625rem 6.125rem;
  }
}

.info-episode__text {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .info-episode__text {
    letter-spacing: 0.06em;
    font-size: 1rem;
    line-height: 2;
  }
}

.info-faq {
  padding: 120px 25px 0;
  padding: 7.5rem 1.5625rem 0;
  position: relative;
  background-color: #F9F9F9;
}
@media screen and (max-width: 767px) {
  .info-faq {
    padding: 5rem 1.25rem 0 1.25rem;
  }
}

.info-faq__text {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 2;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .info-faq__text {
    font-size: 1rem;
    line-height: 2;
    letter-spacing: 0.02em;
  }
}

.info-plan {
  margin-top: 154px;
  margin-top: 9.625rem;
  padding: 0 25px;
  padding: 0 1.5625rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .info-plan {
    margin-top: 2.5rem;
    padding: 0 3rem;
  }
}

.info-plan__text {
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .info-plan__text {
    letter-spacing: 0.07em;
  }
}

.info-short {
  padding: 120px 25px 0;
  padding: 7.5rem 1.5625rem 0;
  position: relative;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .info-short {
    padding: 5rem 1.25rem;
  }
}

.info-short__text {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 2;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .info-short__text {
    font-size: 1rem;
    line-height: 2;
    letter-spacing: 0.08em;
  }
}

.info {
  padding: 38px 25px;
  padding: 2.375rem 1.5625rem;
  position: relative;
}

.info__bubble {
  width: 56px;
  width: 3.5rem;
  height: 97px;
  height: 6.0625rem;
  position: absolute;
  top: 14%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.info__text {
  line-height: 2.5;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-align: center;
  margin-top: 120px;
  margin-top: 7.5rem;
}

.inner {
  width: 100%;
  padding-right: 25px;
  padding-left: 25px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .inner {
    max-width: 1288px;
    padding-right: 20px;
    padding-left: 20px;
  }
}

.js-detail-head-swiper .swiper-wrapper {
  -webkit-transition-timing-function: ease-in-out !important;
          transition-timing-function: ease-in-out !important;
}

.js-fadein-wrapper {
  opacity: 0;
}

.load-fade {
  opacity: 0;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

.load-up {
  opacity: 0;
  -webkit-transform: translateY(100px);
          transform: translateY(100px);
  -webkit-transition: all 2s;
  transition: all 2s;
}

.load-up.done, .load-fade.done {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.lower-mv {
  width: 100%;
  position: relative;
  height: 300px;
  height: 18.75rem;
  background: url(../images/common/lower-mv.jpg) no-repeat center 52%/cover;
}
@media screen and (max-width: 767px) {
  .lower-mv {
    height: 12.5rem;
  }
}

.lower-mv.lower-mv--plan {
  background: url(../images/common/plan-mv.jpg) no-repeat center 22%/cover;
}

.lower-mv.lower-mv--pet {
  background: url(../images/common/pet-img-head.png) no-repeat center 52%/cover;
}
@media screen and (max-width: 1024px) {
  .lower-mv.lower-mv--pet {
    background: url(../images/common/pet-img-head.png) no-repeat 56%/cover;
    background-size: 100%;
  }
}
@media screen and (max-width: 767px) {
  .lower-mv.lower-mv--pet {
    background: url(../images/common/pet-img-head.png) no-repeat -2% 86%/cover;
    background-size: 130%;
  }
}

.lower-mv__inner {
  width: 100%;
  height: inherit;
}

.lower-mv__content {
  position: absolute;
  top: 50%;
  left: 14%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 767px) {
  .lower-mv__content {
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.lower-mv__title {
  font-size: 32px;
  font-size: 2rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  line-height: 1.2;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background-color: #fff;
  padding: 8px 16px;
  padding: 0.5rem 1rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .lower-mv__title {
    font-size: 1.25rem;
  }
}

.lower-mv__subtitle {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  line-height: 1.2;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background-color: #fff;
  padding: 8px 16px;
  padding: 0.5rem 1rem;
  display: inline-block;
  text-align: center;
  margin-top: 10px;
  margin-top: 0.625rem;
}
@media screen and (max-width: 767px) {
  .lower-mv__subtitle {
    font-size: 1rem;
    margin-top: 0.75rem;
    white-space: nowrap;
  }
}

@media screen and (max-width: 767px) {
  .mb80 {
    height: 5rem;
  }
}

.message {
  background-color: #E2F4FD;
  padding: 100px 0 60px;
  padding: 6.25rem 0 3.75rem;
}

.message__inner {
  max-width: 1240px;
  max-width: 77.5rem;
}

.message__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 80px;
  gap: 5rem;
}

.message__img {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 39%;
          flex: 1 1 39%;
  position: relative;
}

.message__img img {
  aspect-ratio: 478/390;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center 10%;
     object-position: center 10%;
}

.message__info {
  position: absolute;
  top: -14px;
  top: -0.875rem;
  right: 10px;
  right: 0.625rem;
  font-size: 32px;
  font-size: 2rem;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  background-color: #fff;
  padding: 10px 6px 158px 6px;
  padding: 0.625rem 0.375rem 9.875rem 0.375rem;
}

.message__info::after {
  position: absolute;
  bottom: 16px;
  bottom: 1rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  content: "";
  width: 1px;
  width: 0.0625rem;
  height: 128px;
  height: 8rem;
  background-color: #000;
}

.message__contents {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 52%;
          flex: 1 1 52%;
}

.message__description {
  font-weight: 600;
  line-height: 1.875;
  margin-top: 34px;
  margin-top: 2.125rem;
}

.message__name {
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.5;
  text-align: right;
  margin-top: 34px;
  margin-top: 2.125rem;
}

/* モーダル */
.modal-pet-overlay {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: rgba(0, 0, 0, .6);
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 100;
}

.modal-pet-container {
  background-color: #fff;
  max-height: 80vh;
  max-width: 500px;
  overflow-y: auto;
  padding: 30px;
  width: 80%;
}

.modal-pet-header {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.modal-pet-close {
  background: transparent;
  border: 0;
}

.modal-pet-header .modal-pet-close::before {
  content: "✕";
}

.modal-pet-content {
  line-height: 1.5;
  margin-bottom: 32px;
  margin-bottom: 2rem;
  margin-top: 32px;
  margin-top: 2rem;
}

.modal-pet-open {
  display: block;
}

.modal-pet-open--image {
  position: relative;
  cursor: pointer;
  aspect-ratio: 300/280;
  -o-object-fit: cover;
     object-fit: cover;
  width: 300px;
  width: 18.75rem;
  height: 280px;
  height: 17.5rem;
  border-top-left-radius: 217px;
  border-top-left-radius: 13.5625rem;
  border-top-right-radius: 217px;
  border-top-right-radius: 13.5625rem;
  padding: 0;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.modal-pet-open--image.modal-pet-open--image--01 {
  background-image: url("../images/common/option-pet01.png");
  background-size: cover;
  background-position: center;
}

.modal-pet-open--image.modal-pet-open--image--02 {
  background-image: url("../images/common/option-pet02.png");
  background-size: cover;
  background-position: center;
}

.modal-pet-open--image.modal-pet-open--image--03 {
  background-image: url("../images/common/option-pet03.png");
  background-size: cover;
  background-position: center;
}

@media (any-hover: hover) {
  .modal-pet-open--image:hover {
    -webkit-transform: scale(1.087, 1.0855);
            transform: scale(1.087, 1.0855);
  }
}
.modal-pet-open__text {
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 900;
  text-align: center;
  background-color: #fff;
  padding: 9px 40px;
  padding: 0.5625rem 2.5rem;
  white-space: nowrap;
  position: absolute;
  bottom: -20px;
  bottom: -1.25rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 2; /* オーバーレイより上に */
}

/* モーダルアニメーション */
@-webkit-keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-webkit-keyframes mmslideIn {
  from {
    -webkit-transform: translateY(15%);
            transform: translateY(15%);
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes mmslideIn {
  from {
    -webkit-transform: translateY(15%);
            transform: translateY(15%);
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes mmslideOut {
  from {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(-10%);
            transform: translateY(-10%);
  }
}
@keyframes mmslideOut {
  from {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(-10%);
            transform: translateY(-10%);
  }
}
.micromodal-slide {
  display: none;
}

.micromodal-slide.is-open {
  display: block;
}

.micromodal-slide[aria-hidden=false] .modal-pet-overlay {
  -webkit-animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
          animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=false] .modal-pet-container {
  -webkit-animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
          animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=true] .modal-pet-overlay {
  -webkit-animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
          animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=true] .modal-pet-container {
  -webkit-animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
          animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide .modal-pet-container,
.micromodal-slide .modal-pet-overlay {
  will-change: transform;
}

/* モーダル */
.modal-overlay {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: rgba(0, 0, 0, .6);
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 100;
}

.modal-container {
  background-color: #fff;
  max-height: 80vh;
  max-width: 500px;
  overflow-y: auto;
  padding: 30px;
  width: 80%;
}

.modal-header {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.modal-close {
  background: transparent;
  border: 0;
}

.modal-header .modal-close::before {
  content: "✕";
}

.modal-content {
  line-height: 1.5;
  margin-bottom: 32px;
  margin-bottom: 2rem;
  margin-top: 32px;
  margin-top: 2rem;
}

.modal-open {
  display: block;
}

.modal-open--image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: none;
  position: relative;
  color: #fff;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: bold;
  text-align: center;
  font-weight: 900;
  cursor: pointer;
  width: 100%;
  aspect-ratio: 302/200;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  width: 320px;
  width: 20rem;
  height: 200px;
  height: 12.5rem;
}

.modal-open--image.modal-open--image--01 {
  background-image: url("../images/common/option01.jpg");
  background-size: cover;
  background-position: center;
}

.modal-open--image.modal-open--image--02 {
  background-image: url("../images/common/option02.jpg");
  background-size: cover;
  background-position: center;
}

.modal-open--image.modal-open--image--03 {
  background-image: url("../images/common/option03.jpg");
  background-size: cover;
  background-position: center;
}

.modal-open--image.modal-open--image--ship01 {
  background-image: url("../images/common/ship-feature01.jpg");
  background-size: cover;
  background-position: center;
}

.modal-open--image::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, .3); /* 画像の上に半透明の黒を重ねる */
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
  z-index: 1;
}

@media (any-hover: hover) {
  .modal-open--image:hover::before {
    background-color: rgba(0, 0, 0, 0); /* オーバーレイを透明に */
    -webkit-transition: background-color 0.3s ease;
    transition: background-color 0.3s ease;
  }
}
.modal-open__text {
  font-size: 16px;
  font-size: 1rem;
  position: relative;
  z-index: 2; /* オーバーレイより上に */
}
@media screen and (max-width: 767px) {
  .modal-open__text {
    font-size: 1.25rem;
  }
}

/* モーダルアニメーション */
@keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes mmslideIn {
  from {
    -webkit-transform: translateY(15%);
            transform: translateY(15%);
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes mmslideOut {
  from {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(-10%);
            transform: translateY(-10%);
  }
}
.micromodal-slide {
  display: none;
}

.micromodal-slide.is-open {
  display: block;
}

.micromodal-slide[aria-hidden=false] .modal-overlay {
  -webkit-animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
          animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=false] .modal-container {
  -webkit-animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
          animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=true] .modal-overlay {
  -webkit-animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
          animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=true] .modal-container {
  -webkit-animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
          animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide .modal-container,
.micromodal-slide .modal-overlay {
  will-change: transform;
}

.mv-bottom {
  background-color: #fff;
  padding: 80px 40px 150px;
  padding: 5rem 2.5rem 9.375rem;
}
@media screen and (max-width: 767px) {
  .mv-bottom {
    padding: 5rem 2.5rem 7.75rem;
  }
}

.mv__inner {
  width: 100%;
}

.mv-bottom__content {
  text-align: center;
}

.mv-bottom__title {
  font-size: 22px;
  font-size: 1.375rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.45;
  margin-top: 8px;
  margin-top: 0.5rem;
}

.mv-bottom__subtitle {
  font-size: 22px;
  font-size: 1.375rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.45;
}

.mv-bottom__description {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 600;
  line-height: 2;
  margin-top: 24px;
  margin-top: 1.5rem;
}

.mv-bottom__cta {
  margin-top: 32px;
  margin-top: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.mv {
  width: 100%;
  position: relative;
  height: 703px;
  height: 43.9375rem;
  background: url(../images/common/mv.jpg) no-repeat center 80%/cover;
}
@media screen and (max-width: 767px) {
  .mv {
    height: 35.3125rem;
  }
}

.mv__inner {
  width: 100%;
  height: inherit;
}

.mv__swiper,
.mv__slide,
.mv__slide img,
.mv__slide picture {
  height: inherit;
}

.mv__slide img {
  width: 100%;
  max-width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 1440/1017;
  -o-object-position: top;
     object-position: top;
}
@media screen and (max-width: 767px) {
  .mv__slide img {
    aspect-ratio: 368/700;
  }
}

.swiper,
.swiper-initialized,
.swiper-horizontal,
.swiper-android,
.swiper-backface-hidden {
  padding-bottom: 0;
}

.mv__content {
  position: absolute;
  top: 35%;
  left: 54%;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 767px) {
  .mv__content {
    top: 31%;
  }
}

.mv__title {
  font-size: 32px;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.468;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background-color: #fff;
  padding: 8px 14px;
  padding: 0.5rem 0.875rem;
  margin-top: 10px;
  margin-top: 0.625rem;
}
@media screen and (max-width: 767px) {
  .mv__title {
    font-size: 1.375rem;
  }
}

.mv__subtitle {
  font-size: 32px;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.468;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background-color: #fff;
  padding: 8px 14px;
  padding: 0.5rem 0.875rem;
  display: inline-block;
}

.mv__highlight {
  color: #2177D0;
}

.mv__description {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.85;
  margin-top: 32px;
  margin-top: 2rem;
}

.mv__cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 50px;
  gap: 3.125rem;
  margin-top: 32px;
  margin-top: 2rem;
}

.option-pet {
  background-color: #FCC449;
  padding: 4px 0 80px;
  padding: 0.25rem 0 5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .option-pet {
    padding: 0.875rem 0 6.5rem;
    overflow-x: hidden;
  }
}

.option-pet__inner {
  max-width: 1020px;
  max-width: 63.75rem;
  margin-inline: auto;
}
.option-pet__subtitle {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 900;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .option-pet__subtitle {
    font-size: 1.25rem;
    text-align: center;
  }
}

.option-pet__subheading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.option-pet__sub {
  position: absolute;
  left: -100px;
  left: -6.25rem;
  top: 0;
  color: #FFD881;
  -webkit-writing-mode: vertical-lr;
      -ms-writing-mode: tb-lr;
          writing-mode: vertical-lr;
  font-weight: 500;
  font-size: 72px;
  font-size: 4.5rem;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 767px) {
  .option-pet__sub {
    font-size: 3.5rem;
    left: -0.125rem;
    top: -6.25rem;
  }
}

.option-pet__items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 2.5rem;
     -moz-column-gap: 2.5rem;
          column-gap: 2.5rem;
  row-gap: 80px;
  row-gap: 5rem;
  margin-top: 64px;
  margin-top: 4rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .option-pet__items {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 5rem;
    place-items: center;
    margin-top: 3.5rem;
  }
}

.option-pet__items::after {
  content: "";
  position: absolute;
  background: url(../images/common/pet-footprints-white02.png) no-repeat;
  background-size: contain;
  top: 0px;
  top: 0rem;
  right: -40px;
  right: -2.5rem;
  width: 84px;
  width: 5.25rem;
  height: 140px;
  height: 8.75rem;
}
@media screen and (max-width: 767px) {
  .option-pet__items::after {
    background: none;
  }
}

@media screen and (max-width: 767px) {
  .option-pet__item {
    max-width: 18.75rem;
  }
}

.option-pet__btn {
  margin-top: 120px;
  margin-top: 7.5rem;
  margin-inline: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .option-pet__btn {
    margin-top: 4rem;
  }
}

.option {
  background-color: #E2F4FD;
  padding: 90px 0 80px;
  padding: 5.625rem 0 5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .option {
    padding: 3.375rem 0 4.375rem;
  }
}

.option__inner {
  max-width: 1090px;
  max-width: 68.125rem;
}

.option__subheading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.option__items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 2.5rem;
     -moz-column-gap: 2.5rem;
          column-gap: 2.5rem;
  row-gap: 80px;
  row-gap: 5rem;
  margin-top: 90px;
  margin-top: 5.625rem;
}
@media screen and (max-width: 767px) {
  .option__items {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 3.5rem;
    place-items: center;
  }
}

@media screen and (max-width: 767px) {
  .option__item {
    max-width: 20rem;
  }
}

.option__btn {
  margin-top: 120px;
  margin-top: 7.5rem;
  margin-inline: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .option__btn {
    margin-top: 4rem;
  }
}

.option--wave {
  background-color: #ECECEC;
}

.pet-flow {
  background-color: #FCF9F2;
  padding: 120px 0 100px;
  padding: 7.5rem 0 6.25rem;
  margin-top: 40px;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .pet-flow {
    padding: 4.375rem 0 20rem;
    margin-top: 0;
  }
}

.pet-flow__title-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.pet-flow__list {
  margin-top: 80px;
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .pet-flow__list {
    margin-top: 3.5rem;
  }
}

.pet-info {
  margin-top: 120px;
  margin-top: 7.5rem;
  padding: 0 25px;
  padding: 0 1.5625rem;
  position: relative;
  max-width: 1276px;
  max-width: 79.75rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .pet-info {
    max-width: 100%;
    padding: 5rem 1.25rem 3.75rem;
    margin-top: 0;
  }
}

.pet-info__wrap {
  display: grid;
  grid-template-columns: 1fr 1.2fr 1fr;
  gap: 30px;
  gap: 1.875rem;
}
@media screen and (max-width: 767px) {
  .pet-info__wrap {
    grid-template-columns: 1fr;
  }
}

.pet-info__left {
  width: 320px;
  width: 20rem;
  aspect-ratio: 320/421;
}

.pet-info__right {
  width: 388px;
  width: 24.25rem;
  aspect-ratio: 388/421;
}

.pet-info__left img {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

@media screen and (max-width: 767px) {
  .pet-info__img {
    max-width: 18.875rem;
    aspect-ratio: 302/322;
    width: 100%;
    -o-object-fit: contain;
       object-fit: contain;
    max-height: 20.125rem;
  }
}

.pet-info__content {
  min-width: 460px;
  min-width: 28.75rem;
  margin-top: 15px;
  margin-top: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .pet-info__content {
    min-width: 0;
    min-width: initial;
    margin-top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 3.5rem;
  }
}

.pet-info__head {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  line-height: 1.66;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .pet-info__head {
    font-size: 1.25rem;
    line-height: 2;
  }
}

.pet-info__text {
  font-size: 16px;
  font-size: 1rem;
  line-height: 3.5;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-align: center;
  margin-top: 30px;
  margin-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .pet-info__text {
    line-height: 2;
    margin-top: 0;
    width: 90%;
  }
}

.pet-list {
  background-color: #FCC449;
  padding: 130px 20px 80px;
  padding: 8.125rem 1.25rem 5rem;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .pet-list {
    padding: 8.4375rem 1.25rem 15.9375rem;
  }
}

.pet-list__foot {
  position: absolute;
}

.pet-list__foot--01 {
  width: 53px;
  width: 3.3125rem;
  height: 53px;
  height: 3.3125rem;
  top: -50px;
  top: -3.125rem;
  right: -50px;
  right: -3.125rem;
  -webkit-transform: rotate(-26deg);
          transform: rotate(-26deg);
}
@media screen and (max-width: 767px) {
  .pet-list__foot--01 {
    width: 2.25rem;
    height: 2.25rem;
    right: 50%;
    top: auto;
    top: initial;
    bottom: -6.25rem;
    -webkit-transform: rotate(-10deg);
            transform: rotate(-10deg);
  }
}

.pet-list__foot--02 {
  width: 42px;
  width: 2.625rem;
  height: 42px;
  height: 2.625rem;
  top: 10px;
  top: 0.625rem;
  right: -90px;
  right: -5.625rem;
}
@media screen and (max-width: 767px) {
  .pet-list__foot--02 {
    width: 1.75rem;
    height: 1.75rem;
    right: 54%;
    top: auto;
    top: initial;
    bottom: -8.75rem;
    -webkit-transform: rotate(8deg);
            transform: rotate(8deg);
  }
}

.pet-list__foot--03 {
  width: 41px;
  width: 2.5625rem;
  height: 41px;
  height: 2.5625rem;
  top: 71px;
  top: 4.4375rem;
  right: -65px;
  right: -4.0625rem;
  -webkit-transform: rotate(20deg);
          transform: rotate(20deg);
}
@media screen and (max-width: 767px) {
  .pet-list__foot--03 {
    width: 1.75rem;
    height: 1.75rem;
    right: 44%;
    top: auto;
    top: initial;
    bottom: -10.75rem;
    -webkit-transform: rotate(-9deg);
            transform: rotate(-9deg);
  }
}

.pet-list__inner {
  background-color: #fff;
  border-radius: 0.75rem;
  padding: 40px 20px;
  padding: 2.5rem 1.25rem;
  max-width: 1042px;
  max-width: 65.125rem;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  .pet-list__inner {
    padding: 0 1.25rem 2.5rem;
    max-width: 31.25rem;
  }
}

.pet-list__title {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  position: relative;
  display: inline-block;
  -webkit-transform: translateY(-60px);
          transform: translateY(-60px);
}
@media screen and (max-width: 767px) {
  .pet-list__title {
    font-size: 1.25rem;
    -webkit-transform: translateY(-34px);
            transform: translateY(-34px);
  }
}

.pet-list__title::before {
  content: "";
  position: absolute;
  top: -100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 556px;
  width: 34.75rem;
  height: 192px;
  height: 12rem;
  background-color: #fff;
  border-radius: 50%;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .pet-list__title::before {
    width: 18rem;
    top: -48%;
  }
}

.pet-list__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 48px;
  gap: 3rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .pet-list__items {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1.25rem;
  }
}

.pet-list__item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 250px;
  width: 15.625rem;
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .pet-list__item {
    width: 17.5rem;
  }
}

.pet-list__image {
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 250px;
  width: 15.625rem;
  height: 250px;
  height: 15.625rem;
}
@media screen and (max-width: 767px) {
  .pet-list__image {
    width: 10rem;
    height: 10rem;
  }
}

.pet-list__label {
  font-size: 20px;
  font-size: 1.25rem;
  letter-spacing: 0.08em;
  line-height: 1.3;
  font-weight: 600;
  margin-top: 12px;
  margin-top: 0.75rem;
}

.pet-list__label.pet-list__label--small {
  font-size: 15px;
  font-size: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .pet-list__label.pet-list__label--small {
    font-size: 1rem;
  }
}

.pet-list__btn-wrap {
  margin-top: 32px;
  margin-top: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.pet-list__button {
  padding: 12px 24px;
  padding: 0.75rem 1.5rem;
  background-color: #FCC449;
  color: #000;
  text-decoration: none;
  border-radius: 0.25rem;
  font-size: 16px;
  font-size: 1rem;
  font-weight: bold;
}

.pet-list__button-icon {
  margin-right: 8px;
  margin-right: 0.5rem;
}

.pet-slider {
  margin-top: 80px;
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .pet-slider {
    margin-top: 0;
  }
}

.pet-slider__swiper {
  padding: 40px 0;
  padding: 2.5rem 0;
}

.pet-slider__slide {
  aspect-ratio: 230/200;
}
@media screen and (max-width: 767px) {
  .pet-slider__slide {
    aspect-ratio: unset;
    height: 10.625rem;
  }
}

.pet-slider__slide img {
  border-radius: 8px;
}
@media screen and (max-width: 767px) {
  .pet-slider__slide img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    display: block;
  }
}

.pet-slider__wrapper {
  -webkit-transition-timing-function: linear !important;
          transition-timing-function: linear !important;
}

.petgoods {
  background-color: #fff;
  padding: 120px 0;
  padding: 7.5rem 0;
}
@media screen and (max-width: 767px) {
  .petgoods {
    padding: 5rem 0;
  }
}

.petgoods.petgoods--detail {
  padding-top: 0;
  padding-bottom: 200px;
  padding-bottom: 12.5rem;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .petgoods.petgoods--detail {
    padding-bottom: 5rem;
  }
}

.petgoods.petgoods--detail::after {
  content: "";
  position: absolute;
  background: url(../images/common/orange-back.png) no-repeat;
  background-size: contain;
  top: -30px;
  top: -1.875rem;
  right: 0;
  width: 547px;
  width: 34.1875rem;
  height: 409px;
  height: 25.5625rem;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .petgoods.petgoods--detail::after {
    background: none;
  }
}

.petgoods__inner {
  max-width: 1376px;
  max-width: 86rem;
  padding: 0 20px;
  padding: 0 1.25rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .petgoods__inner {
    max-width: 100%;
    padding: 0 0.75rem;
  }
}

.petgoods__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.petgoods__description {
  margin-top: 40px;
  margin-top: 2.5rem;
}

.petgoods__items {
  margin-top: 80px;
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .petgoods__items {
    margin-top: 4.6875rem;
  }
}

.petgoods__more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 80px;
  margin-top: 5rem;
}

.petplan-episode {
  position: relative;
  background-color: #FCF9F2;
  padding-bottom: 258px;
  padding-bottom: 16.125rem;
}
@media screen and (max-width: 767px) {
  .petplan-episode {
    padding-top: 8rem;
    padding-bottom: 5rem;
  }
}

.petplan-episode.petplan-episode--white {
  background-color: #fff;
  padding-top: 256px;
  padding-top: 16rem;
  padding-bottom: 242px;
  padding-bottom: 15.125rem;
}
@media screen and (max-width: 767px) {
  .petplan-episode.petplan-episode--white {
    padding-bottom: 5rem;
  }
}

.petplan-episode.petplan-episode--white::after {
  content: "";
  position: absolute;
  background: url(../images/common/pet-footprints.png) no-repeat;
  background-size: contain;
  top: 130px;
  top: 8.125rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 110px;
  width: 6.875rem;
  height: 161px;
  height: 10.0625rem;
}
@media screen and (max-width: 767px) {
  .petplan-episode.petplan-episode--white::after {
    top: 6.25rem;
    width: 4.9375rem;
    height: 7.4375rem;
    bottom: 5rem;
    -webkit-transform: rotate(24deg) translateX(-50%);
            transform: rotate(24deg) translateX(-50%);
  }
}

.petplan-episode::before {
  content: "";
  position: absolute;
  top: 80px;
  top: 5rem;
  left: 0;
  width: clamp(500px, 100vw - 940px, 820px);
  width: clamp(31.25rem, 100vw - 58.75rem, 51.25rem);
  height: 376px;
  height: 23.5rem;
  background-color: #FCC449;
  border-top-right-radius: 50px;
  border-top-right-radius: 3.125rem;
  border-bottom-right-radius: 50px;
  border-bottom-right-radius: 3.125rem;
}
@media screen and (max-width: 767px) {
  .petplan-episode::before {
    top: 6.25rem;
    width: 13.75rem;
    height: 22.625rem;
    border-top-right-radius: 1rem;
    border-bottom-right-radius: 1rem;
  }
}

.petplan-episode--white::before {
  content: "";
  position: absolute;
  top: 332px;
  top: 20.75rem;
  left: 0;
  width: clamp(500px, 100vw - 940px, 820px);
  width: clamp(31.25rem, 100vw - 58.75rem, 51.25rem);
  height: 376px;
  height: 23.5rem;
  background-color: #FCC449;
  border-top-right-radius: 50px;
  border-top-right-radius: 3.125rem;
  border-bottom-right-radius: 50px;
  border-bottom-right-radius: 3.125rem;
}
@media screen and (max-width: 767px) {
  .petplan-episode--white::before {
    top: 14.375rem;
    width: 13.75rem;
    height: 22.625rem;
    border-top-right-radius: 1rem;
    border-bottom-right-radius: 1rem;
  }
}

.petplan-episode__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  max-width: 1440px;
  max-width: 90rem;
  margin-inline: auto;
}

.petplan-episode__wrap {
  position: relative;
  max-width: 1158px;
  max-width: 72.375rem;
  padding: 90px 98px 0;
  padding: 5.625rem 6.125rem 0;
}
@media screen and (max-width: 767px) {
  .petplan-episode__wrap {
    padding: 1.25rem 1.25rem 0;
  }
}

.petplan-episode__title {
  position: absolute;
  top: 0;
  left: 0;
  color: #FFD881;
  font-size: 72px;
  font-size: 4.5rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media screen and (max-width: 767px) {
  .petplan-episode__title {
    font-size: 3.5rem;
    top: -6rem;
    left: -1.875rem;
  }
}

.petplan-episode__text {
  margin-top: 16px;
  margin-top: 1rem;
  font-weight: 600;
  line-height: 2.5;
  letter-spacing: 0.02em;
  padding-left: 16px;
  padding-left: 1rem;
}

.petplan-episode__slider {
  max-width: 961px;
  max-width: 60.0625rem;
  -webkit-transform: translateY(44px);
          transform: translateY(44px);
}
@media screen and (max-width: 767px) {
  .petplan-episode__slider {
    max-width: 18.75rem;
    -webkit-transform: none;
            transform: none;
    border-radius: 1rem;
  }
}

@media screen and (max-width: 767px) {
  .petplan-episode__item {
    padding: 0 0.125rem 0.125rem 0;
  }
}

.petplan-episode__card {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 80px;
  gap: 5rem;
}
@media screen and (max-width: 767px) {
  .petplan-episode__card {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    background-color: #fff;
    gap: 1.25rem;
    border: 1px solid #cecece;
    border-radius: 1rem 1rem;
    -webkit-box-shadow: 2px 4px 0px rgba(0, 0, 0, .25);
            box-shadow: 2px 4px 0px rgba(0, 0, 0, .25);
  }
}

.petplan-episode__image {
  aspect-ratio: 333/383;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 16px;
  width: 333px;
  width: 20.8125rem;
}
@media screen and (max-width: 767px) {
  .petplan-episode__image {
    aspect-ratio: 300/210;
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }
}

@media screen and (max-width: 767px) {
  .petplan-episode__content {
    display: grid;
    grid-template-areas: "title" "bottom" "summary" "tag";
    margin: 0;
    padding: 0 0.875rem 1.5rem;
  }
}

.petplan-episode__title-text {
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .petplan-episode__title-text {
    grid-area: title;
    font-size: 1rem;
    letter-spacing: 0;
    padding-left: 0.625rem;
    border-left: 0.25rem solid #FCC449;
  }
}

.petplan-episode__tag-wrap {
  margin-top: 24px;
  margin-top: 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .petplan-episode__tag-wrap {
    grid-area: tag;
    margin-top: 0.75rem;
  }
}

.petplan-episode__tag {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  background-color: #FCC449;
  padding: 4px 16px;
  padding: 0.25rem 1rem;
  line-height: 1.42;
}
@media screen and (max-width: 767px) {
  .petplan-episode__tag {
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
  }
}

.petplan-episode__category {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  font-family: "Noto Sans JP", sans-serif;
  padding: 4px 16px;
  padding: 0.25rem 1rem;
}
@media screen and (max-width: 767px) {
  .petplan-episode__category {
    background-color: #EEEEEE;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
  }
}

.petplan-episode__summary {
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
  font-family: "Noto Sans JP", sans-serif;
  margin-top: 24px;
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .petplan-episode__summary {
    font-size: 0.875rem;
    grid-area: summary;
    margin-top: 0.75rem;
    line-height: 1.71;
  }
}

.petplan-episode__bottom {
  font-family: "Noto Sans JP", sans-serif;
  margin-top: 42px;
  margin-top: 2.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .petplan-episode__bottom {
    grid-area: bottom;
    margin-top: 1rem;
  }
}

.petplan-episode__date {
  font-size: 16px;
  font-size: 1rem;
}

.petplan-episode__prev,
.petplan-episode__next {
  width: 50px;
  width: 3.125rem;
  height: 50px;
  height: 3.125rem;
  border-radius: 50%;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 2;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .petplan-episode__prev,
  .petplan-episode__next {
    display: none;
  }
}

.petplan-episode__prev:hover,
.petplan-episode__next:hover {
  opacity: 0.7;
}

.petplan-episode__prev {
  background-color: #fff;
  left: 0;
  top: 360px;
  top: 22.5rem;
  width: 50px;
  width: 3.125rem;
  height: 50px;
  height: 3.125rem;
  border-radius: 50%;
}

.petplan-episode__prev:after {
  content: "";
  width: 16px;
  width: 1rem;
  height: 16px;
  height: 1rem;
  border: solid #FCC449;
  border-width: 0 3.2px 3.2px 0;
  border-width: 0 0.2rem 0.2rem 0;
  display: inline-block;
  position: absolute;
  left: 40%;
}

.petplan-episode__prev::after {
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
}

.petplan-episode__next {
  background-color: #FCC449;
  right: 0;
  top: 360px;
  top: 22.5rem;
  width: 50px;
  width: 3.125rem;
  height: 50px;
  height: 3.125rem;
  border-radius: 50%;
}

.petplan-episode__next:after {
  content: "";
  width: 16px;
  width: 1rem;
  height: 16px;
  height: 1rem;
  border: solid #fff;
  border-width: 0 3.2px 3.2px 0;
  border-width: 0 0.2rem 0.2rem 0;
  display: inline-block;
  position: absolute;
  left: 30%;
}

.petplan-episode__next::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.petplan-episode__more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .petplan-episode__more {
    margin-top: 3.5rem;
  }
}

.petplan-intro {
  position: relative;
  padding-top: 140px;
  padding-top: 8.75rem;
  padding-bottom: 120px;
  padding-bottom: 7.5rem;
  background-color: #FCF9F2;
}
@media screen and (max-width: 767px) {
  .petplan-intro {
    padding-top: 0.125rem;
    padding-bottom: 3.5rem;
  }
}

.petplan-intro::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 670px;
  height: 41.875rem;
  background-image: url(../images/common/petplan-intro-back.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
}
@media screen and (max-width: 767px) {
  .petplan-intro::before {
    background-position: -13% top;
    height: 12.75rem;
  }
}

.petplan-intro__inner {
  padding: 0 25px;
  padding: 0 1.5625rem;
}
@media screen and (max-width: 767px) {
  .petplan-intro__inner {
    padding: 0 1.9375rem;
  }
}

.petplan-intro__titles-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  max-width: 800px;
  max-width: 50rem;
  margin-inline: auto;
}

.petplan-intro__foot-block {
  width: 135px;
  width: 8.4375rem;
  position: absolute;
  top: -130px;
  top: -8.125rem;
  right: 48px;
  right: 3rem;
}
@media screen and (max-width: 767px) {
  .petplan-intro__foot-block {
    width: 5rem;
    top: -16.5625rem;
    right: auto;
    right: initial;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.petplan-intro__description {
  font-size: 20px;
  font-size: 1.25rem;
  position: relative;
  text-align: center;
  margin-top: 54px;
  margin-top: 3.375rem;
  line-height: 2;
  text-shadow: 0 0 10px #fff;
}
@media screen and (max-width: 767px) {
  .petplan-intro__description {
    font-size: 1rem;
    margin-top: 2.5rem;
  }
}

.petplan-intro__top {
  margin-top: 100px;
  margin-top: 6.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 100px;
  gap: 6.25rem;
}
@media screen and (max-width: 767px) {
  .petplan-intro__top {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 3.125rem;
    gap: 3.4375rem;
  }
}

.petplan-list {
  background-color: #FCF9F2;
  padding: 200px 0 120px;
  padding: 12.5rem 0 7.5rem;
}
@media screen and (max-width: 767px) {
  .petplan-list {
    padding: 5rem 1.25rem;
  }
}

.petplan-list__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.petplan-list__attention {
  max-width: 1125px;
  max-width: 70.3125rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .petplan-list__attention {
    max-width: 100%;
  }
}

.petplan-list__heading {
  background-color: #FCC449;
  border-radius: 80px;
  padding: 10px 40px;
  padding: 0.625rem 2.5rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: absolute;
  top: -26px;
  top: -1.625rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .petplan-list__heading {
    padding: 0.8125rem 1.75rem;
    width: 90%;
    min-width: 18.75rem;
  }
}

.petplan-list__atten-txt {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 900;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .petplan-list__atten-txt {
    font-size: 1.25rem;
    text-align: center;
  }
}

.petplan-list__items {
  border: 1px solid #FCC449;
  border-radius: 16px;
  background-color: #fff;
  padding: 48px 40px;
  padding: 3rem 2.5rem;
}
@media screen and (max-width: 767px) {
  .petplan-list__items {
    padding: 3.5rem 0.75rem 3rem;
  }
}

.petplan-list__item {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 16px;
  gap: 1rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .petplan-list__item {
    gap: 0.75rem;
  }
}

.petplan-list__item + .petplan-list__item {
  margin-top: 40px;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .petplan-list__item + .petplan-list__item {
    margin-top: 2rem;
  }
}

.petplan-list__icon {
  width: 38px;
  width: 2.375rem;
  height: 38px;
  height: 2.375rem;
}
@media screen and (max-width: 767px) {
  .petplan-list__icon {
    width: 1.875rem;
    height: 1.875rem;
  }
}

.petplan-list__text {
  font-size: 16px;
  font-size: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.1em;
  line-height: 2;
}

.petplanpage-card {
  position: relative;
  -webkit-box-shadow: 2px 4px 5px rgba(0, 0, 0, .25);
          box-shadow: 2px 4px 5px rgba(0, 0, 0, .25);
  background-color: #fff;
}

.petplanpage-card.petplanpage-card--pickup {
  max-width: 420px;
  max-width: 26.25rem;
  border-radius: 0.5rem;
}
@media screen and (max-width: 767px) {
  .petplanpage-card.petplanpage-card--pickup {
    max-width: 19.375rem;
  }
}

.petplanpage-card__top {
  padding: 38px 20px 40px;
  padding: 2.375rem 1.25rem 2.5rem;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  z-index: 0;
  overflow: hidden;
  border-radius: 0.5rem;
}
@media screen and (max-width: 767px) {
  .petplanpage-card__top {
    padding: 2.375rem 1.25rem 1.75rem;
  }
}

.petplanpage-card__top.petplanpage-card__top--short {
  padding: 38px 20px 63px;
  padding: 2.375rem 1.25rem 3.9375rem;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  z-index: 0;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .petplanpage-card__top.petplanpage-card__top--short {
    padding: 2.375rem 1.25rem 1.875rem;
  }
}

.petplanpage-card__top::after {
  position: absolute;
  content: "";
  width: 200%;
  height: 140%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: 8px;
  bottom: 0.5rem;
  border-radius: 41%;
  background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), color-stop(50%, #FEF6E4), to(#FEF6E4));
  background: linear-gradient(to bottom, #ffffff 0%, #FEF6E4 50%, #FEF6E4 100%);
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .petplanpage-card__top::after {
    background: #FFF6D8;
  }
}

.petplanpage-card__title {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 900;
  padding-bottom: 18px;
  padding-bottom: 1.125rem;
  position: relative;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .petplanpage-card__title {
    padding-bottom: 1rem;
  }
}

.petplanpage-card__title::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: #E88B47;
  content: "";
  width: 86%;
  height: 2px;
  height: 0.125rem;
}

.petplanpage-card__imgs {
  margin-top: 32px;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .petplanpage-card__imgs {
    margin-top: 1rem;
  }
}

.petplanpage-card__image {
  width: 100%;
  height: 100%;
  aspect-ratio: 388/220;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  border-radius: 16px;
  border: 2px solid #fff;
}
@media screen and (max-width: 767px) {
  .petplanpage-card__image {
    aspect-ratio: 270/160;
    border: 4px solid #fff;
  }
}

.petplanpage-card__badge {
  position: absolute;
  top: -4px;
  top: -0.25rem;
  left: -4px;
  left: -0.25rem;
  width: 104px;
  width: 6.5rem;
  z-index: 2;
}

.petplanpage-card__explain {
  font-size: 16px;
  font-size: 1rem;
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.5;
  text-align: center;
  margin-top: 20px;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .petplanpage-card__explain {
    margin-top: 1rem;
  }
}

.petplanpage-card__bottom {
  margin-top: 4px;
  margin-top: 0.25rem;
  padding: 0 32px 24px;
  padding: 0 2rem 1.5rem;
}
@media screen and (max-width: 767px) {
  .petplanpage-card__bottom {
    margin-top: 0;
    padding: 0 1.625rem 1.25rem;
  }
}

.petplanpage-card__price {
  color: #E88B47;
  font-size: 36px;
  font-size: 2.25rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .petplanpage-card__price {
    font-size: 2rem;
  }
}

.petplanpage-card__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 356px;
  max-width: 22.25rem;
  margin-inline: auto;
  margin-top: 24px;
  margin-top: 1.5rem;
}

.petplanpage-card__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  gap: 0.5rem;
}

.petplanpage-card__item + .petplanpage-card__item {
  margin-top: 10px;
  margin-top: 0.625rem;
}

.petplanpage-card__icon img {
  width: 16px;
  width: 1rem;
}
@media screen and (max-width: 767px) {
  .petplanpage-card__icon img {
    width: 1.125rem;
    min-width: 1.125rem;
  }
}

.petplanpage-card__ship-img {
  width: 66px;
  width: 4.125rem;
  margin-top: auto;
  margin-left: auto;
}

.petplanpage-card__item-txt {
  font-size: 14px;
  font-size: 0.875rem;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .petplanpage-card__item-txt {
    letter-spacing: 0.04em;
  }
}

.petplanpage-card__btn {
  margin-top: 28px;
  margin-top: 1.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: 356px;
  max-width: 22.25rem;
}
@media screen and (max-width: 767px) {
  .petplanpage-card__btn {
    margin-top: 1.25rem;
  }
}

.plan-card {
  background-color: #F7F9FC;
  padding: 80px 10px 160px;
  padding: 5rem 0.625rem 10rem;
}

.plan-card__inner {
  max-width: 950px;
  max-width: 59.375rem;
}

.plan-card__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 60px;
  gap: 3.75rem;
}

.plan-card__items {
  grid-template-columns: repeat(1, 1fr);
  gap: 100px;
  gap: 6.25rem;
}

.plan-card__item + .plan-card__item {
  margin-top: 80px;
  margin-top: 5rem;
}

.plan-card__link {
  padding: 20px 80px 20px 20px;
  padding: 1.25rem 5rem 1.25rem 1.25rem;
  -webkit-box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, .25);
          box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, .25);
  display: block;
}

.plan-card__link:hover .plan-card__item-img img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.plan-card__item-img {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 36.7%;
          flex: 1 1 36.7%;
  overflow: hidden;
}

.plan-card__item-img img {
  width: 100%;
  aspect-ratio: 270/284;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 0.6s ease;
  transition: -webkit-transform 0.6s ease;
  transition: transform 0.6s ease;
  transition: transform 0.6s ease, -webkit-transform 0.6s ease;
}

.plan-card__contents {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 63%;
          flex: 1 1 63%;
}

.plan-card__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-item-align: center;
      align-self: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-bottom: 22px;
  padding-bottom: 1.375rem;
  border-bottom: 1px solid #2177D0;
}

.plan-card__item-title {
  color: #2177D0;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 900;
}

.plan-card__item-category {
  border-radius: 50px;
  padding: 5px 21px;
  padding: 0.3125rem 1.3125rem;
}

.plan-card__item-category--blue {
  color: #F7F9FC;
  background-color: #2177D0;
}

.plan-card__item-category--orange {
  color: #333;
  background-color: #F2B880;
}

.plan-card__info-list {
  margin-top: 22px;
  margin-top: 1.375rem;
}

.plan-card__info-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.plan-card__info-item + .plan-card__info-item {
  margin-top: 15px;
  margin-top: 0.9375rem;
}

.plan-card__info-label {
  min-width: 80px;
  min-width: 5rem;
}

.plan-card__info-value {
  font-weight: 700;
  margin-left: 45px;
  margin-left: 2.8125rem;
}

.plan-episode {
  position: relative;
}

.plan-episode__top-wave {
  background-color: #E2F4FD;
}

.plan-episode::after {
  position: absolute;
  content: "";
  bottom: 120px;
  bottom: 7.5rem;
  left: 0;
  width: 100%;
  height: 120px;
  height: 7.5rem;
  background-image: url(../images/common/plan-episode-bottomback.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom;
}
@media screen and (max-width: 767px) {
  .plan-episode::after {
    background: none;
    content: none;
    pointer-events: none;
  }
}

.plan-episode__inner {
  background-color: #BDDBF1;
  padding: 80px 0 46px 80px;
  padding: 5rem 0 2.875rem 5rem;
}
@media screen and (max-width: 767px) {
  .plan-episode__inner {
    padding: 5.125rem 1.75rem 7.5rem;
  }
}

.plan-episode__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 58px;
  gap: 3.625rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .plan-episode__wrap {
    gap: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.plan-episode__contents {
  max-width: 347px;
  max-width: 21.6875rem;
}
@media screen and (max-width: 767px) {
  .plan-episode__contents {
    max-width: 100%;
    position: relative;
    z-index: 1;
  }
}

.plan-episode__title {
  color: #2177D0;
  font-size: 72px;
  font-size: 4.5rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .plan-episode__title {
    position: absolute;
    top: -5.5rem;
    left: -1.75rem;
    color: #D9EFFF;
    font-size: 3.5rem;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    z-index: 0;
  }
}

.plan-episode__subtitle {
  font-size: 24px;
  font-size: 1.5rem;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .plan-episode__subtitle {
    font-size: 1.25rem;
    line-height: 2;
    letter-spacing: 0.06em;
  }
}

.plan-episode__titles {
  margin-top: 14px;
  margin-top: 0.875rem;
}
@media screen and (max-width: 767px) {
  .plan-episode__titles {
    margin-top: 0;
    width: 17.625rem;
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.plan-episode__text {
  font-size: 16px;
  font-size: 1rem;
  margin-top: 16px;
  margin-top: 1rem;
  font-weight: 600;
  line-height: 2.5;
  letter-spacing: 0.02em;
  padding-left: 16px;
  padding-left: 1rem;
}
@media screen and (max-width: 767px) {
  .plan-episode__text {
    text-align: center;
    line-height: 2;
    padding-left: 0;
  }
}

.plan-episode__slider {
  -webkit-transform: translateY(128px);
          transform: translateY(128px);
}
@media screen and (max-width: 1348px) {
  .plan-episode__slider {
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
}
@media screen and (max-width: 767px) {
  .plan-episode__slider {
    width: 100%;
    -webkit-transform: none;
            transform: none;
    -webkit-transform: initial;
            transform: initial;
    margin-top: 4rem;
  }
}

@media screen and (max-width: 767px) {
  .plan-episode__slider.swiper {
    overflow: visible;
  }
}

.plan-episode__swiper {
  padding-left: 18px;
  padding-left: 1.125rem;
}
@media screen and (max-width: 767px) {
  .plan-episode__swiper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-left: 0;
  }
}

@media screen and (max-width: 767px) {
  .plan-episode__item.swiper-slide {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .plan-episode__item {
    -webkit-box-shadow: 4px 4px 18px 0 rgba(0, 0, 0, .18);
            box-shadow: 4px 4px 18px 0 rgba(0, 0, 0, .18);
    max-width: 18.75rem;
    margin-inline: auto;
  }
}

@media screen and (max-width: 767px) {
  .plan-episode__item + .plan-episode__item {
    margin-top: 4rem;
  }
}

.plan-episode__card {
  position: relative;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  display: block;
}
@media screen and (max-width: 767px) {
  .plan-episode__card {
    overflow: visible;
  }
}

.plan-episode__card:hover .plan-episode__image {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.plan-episode__image-wrap {
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .plan-episode__image-wrap {
    overflow: visible;
  }
}

.plan-episode__image {
  aspect-ratio: 340/488;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 0.6s ease;
  transition: -webkit-transform 0.6s ease;
  transition: transform 0.6s ease;
  transition: transform 0.6s ease, -webkit-transform 0.6s ease;
}
@media screen and (max-width: 767px) {
  .plan-episode__image {
    aspect-ratio: 300/380;
  }
}

.plan-episode__content {
  position: absolute;
  bottom: 20px;
  bottom: 1.25rem;
  left: -24px;
  left: -1.5rem;
  background-color: #fff;
  padding: 16px 24px;
  padding: 1rem 1.5rem;
  -webkit-box-shadow: 4px 4px 4px 0 rgba(0, 0, 0, .25);
          box-shadow: 4px 4px 4px 0 rgba(0, 0, 0, .25);
  max-width: 344px;
  max-width: 21.5rem;
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
}
@media screen and (max-width: 767px) {
  .plan-episode__content {
    padding: 0.75rem 1rem 0.75rem 1.5rem;
    max-width: 23.75rem;
    left: -0.875rem;
    max-width: 18.75rem;
    border-top-left-radius: 0;
    border-top-right-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
    border-bottom-left-radius: 0;
  }
}

.plan-episode__content::before {
  content: "";
  position: absolute;
  top: -5px;
  top: -0.3125rem;
  left: -1px;
  left: -0.0625rem;
  width: 25px;
  width: 1.5625rem;
  height: 5px;
  height: 0.3125rem;
  background-image: url(../images/common/episode-rectangle.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .plan-episode__content::before {
    width: 1rem;
    height: 0.25rem;
  }
}

.plan-episode__title-text {
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  padding-bottom: 4px;
  padding-bottom: 0.25rem;
  border-bottom: 1px solid #2177D0;
}
@media screen and (max-width: 767px) {
  .plan-episode__title-text {
    font-size: 1rem;
  }
}

.plan-episode__categories {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  gap: 0.625rem;
  margin-top: 10px;
  margin-top: 0.625rem;
}
@media screen and (max-width: 767px) {
  .plan-episode__categories {
    gap: 0.25rem;
  }
}

.plan-episode__category {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  gap: 0.375rem;
}

.plan-episode__category img {
  width: 19px;
  width: 1.1875rem;
}
@media screen and (max-width: 767px) {
  .plan-episode__category img {
    width: 1.125rem;
    min-width: 1.125rem;
  }
}

.plan-episode__category-txt {
  font-size: 14px;
  font-size: 0.875rem;
  letter-spacing: 0.08em;
  line-height: 1.428;
  font-family: "Noto Sans JP", sans-serif;
}

.petplanpage-card__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  gap: 0.5rem;
}

.plan-episode__summary {
  font-size: 14px;
  font-size: 0.875rem;
  margin-top: 10px;
  margin-top: 0.625rem;
  font-family: "Noto Sans JP", sans-serif;
}

.plan-episode__prev {
  background-color: #2177D0;
  top: 482px;
  top: 30.125rem;
  left: 268px;
  left: 16.75rem;
  width: 50px;
  width: 3.125rem;
  height: 50px;
  height: 3.125rem;
  border-radius: 50%;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 1500px) {
  .plan-episode__prev {
    top: 26.875rem;
  }
}
@media screen and (max-width: 1024px) {
  .plan-episode__prev {
    top: 23.75rem;
  }
}

.plan-episode__prev:hover {
  opacity: 0.7;
}

.plan-episode__prev:after {
  content: "";
  width: 16px;
  width: 1rem;
  height: 16px;
  height: 1rem;
  border: solid #ffffff;
  border-width: 0 2px 2px 0;
  border-width: 0 0.125rem 0.125rem 0;
  display: inline-block;
  position: absolute;
  left: 29%;
}

.plan-episode__prev::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.plan-episode__btn-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 40px;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .plan-episode__btn-wrap {
    margin-top: 4rem;
  }
}

.plan-episode__btn {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 110px;
  margin-top: 6.875rem;
}
@media screen and (max-width: 767px) {
  .plan-episode__btn {
    margin-top: 0;
  }
}

.plan-episode__sp-items {
  margin-top: 64px;
  margin-top: 4rem;
}

.plan-episode__sp-item {
  -webkit-box-shadow: 4px 4px 18px 0 rgba(0, 0, 0, .18);
          box-shadow: 4px 4px 18px 0 rgba(0, 0, 0, .18);
  max-width: 380px;
  max-width: 23.75rem;
  margin-inline: auto;
}

.plan-episode__sp-item + .plan-episode__sp-item {
  margin-top: 64px;
  margin-top: 4rem;
}

.plan-episode__sp-link {
  position: relative;
}

.plan-episode__sp-image {
  height: 380px;
  height: 23.75rem;
  width: 100%;
}

.plan-episode__sp-image img {
  aspect-ratio: 300/380;
  -o-object-fit: cover;
     object-fit: cover;
}

.plan-episode__sp-content {
  position: absolute;
  left: -14px;
  left: -0.875rem;
  bottom: 16px;
  bottom: 1rem;
  background-color: #fff;
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
  padding: 12px 16px 12px 24px;
  padding: 0.75rem 1rem 0.75rem 1.5rem;
  -webkit-box-shadow: 4px 4px 4px 0 rgba(0, 0, 0, .25);
          box-shadow: 4px 4px 4px 0 rgba(0, 0, 0, .25);
}

.plan-episode__sp-title-text {
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.4;
  border-bottom: 1px solid #2177D0;
}

.plan-episode__sp-tags {
  font-family: "Noto Sans JP", sans-serif;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-top: 10px;
  margin-top: 0.625rem;
  gap: 10px;
  gap: 0.625rem;
}

.plan-episode__sp-tag {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.plan-episode__sp-tag img {
  width: 19px;
  width: 1.1875rem;
  height: 19px;
  height: 1.1875rem;
  -o-object-fit: contain;
     object-fit: contain;
  display: inline-block;
}

.plan-episode__sp--tagtxt {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.428;
  display: inline-block;
  margin-left: 4px;
  margin-left: 0.25rem;
}

.plan-episode__sp-text {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.428;
  font-family: "Noto Sans JP", sans-serif;
}

@media screen and (max-width: 767px) {
  .plan-episode__bottom-wave {
    background-color: #fff;
  }
}

.plan-flow {
  margin-top: 120px;
  margin-top: 7.5rem;
  padding-bottom: 300px;
  padding-bottom: 18.75rem;
}
@media screen and (max-width: 767px) {
  .plan-flow {
    padding-bottom: 16.875rem;
  }
}

.plan-intro {
  position: relative;
}
.plan-intro::before {
  position: absolute;
  content: "";
  bottom: 100px;
  bottom: 6.25rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 110px;
  width: 6.875rem;
  height: 161px;
  height: 10.0625rem;
  background-image: url(../images/common/white-bubble.png);
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .plan-intro::before {
    bottom: 8.125rem;
  }
}

.plan-intro__inner {
  background-color: #E2F4FD;
  padding-top: 76px;
  padding-top: 4.75rem;
  padding-bottom: 341px;
  padding-bottom: 21.3125rem;
}
@media screen and (max-width: 767px) {
  .plan-intro__inner {
    padding-top: 5rem;
  }
}

.plan-intro__titles-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.plan-intro__top {
  margin-top: 80px;
  margin-top: 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 100px;
  gap: 6.25rem;
}
@media screen and (max-width: 767px) {
  .plan-intro__top {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 4rem;
  }
}

.plan-intro__bottom {
  margin-top: 80px;
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .plan-intro__bottom {
    margin: 5rem calc(50% - 50vw) 0;
    width: 100vw;
  }
}

.plan-intro__bottom-slider {
  overflow: visible;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .plan-intro__bottom-slider {
    display: block;
    position: relative;
  }
}

.plan-intro__bottom-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 42px;
  gap: 2.625rem;
  max-width: 1236px;
  max-width: 77.25rem;
}
@media screen and (max-width: 767px) {
  .plan-intro__bottom-wrapper {
    display: block;
    -webkit-box-pack: initial;
        -ms-flex-pack: initial;
            justify-content: initial;
    gap: 0;
    max-width: none;
  }
}

.plan-intro__bottom-slide {
  width: auto;
  max-width: 380px;
  max-width: 23.75rem;
  display: block;
}
@media screen and (max-width: 767px) {
  .plan-intro__bottom-slide {
    margin-inline: 0.5rem;
  }
}

.plan-intro__slick-prev,
.plan-intro__slick-next {
  background-color: #2177D0;
  border: none;
  border-radius: 50%;
  width: 40px;
  width: 2.5rem;
  height: 40px;
  height: 2.5rem;
  cursor: pointer;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 2;
}

.plan-intro__slick-prev {
  left: 10px;
  left: 0.625rem;
}

.plan-intro__slick-next {
  right: 10px;
  right: 0.625rem;
}

.plan-intro__slick-prev::after .plan-intro__slick-next::after {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
}

.plan-intro__slick-prev::before {
  -webkit-transform: translate(-50%, -50%) rotate(-135deg);
          transform: translate(-50%, -50%) rotate(-135deg);
}

.plan-intro__slick-next::before {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}

.plan-intro__dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 12px;
  gap: 0.75rem;
  margin-top: 48px;
  margin-top: 3rem;
}

.plan-intro__dots li button {
  font-size: 0;
  background: #ccc;
  border-radius: 50%;
  width: 9px;
  width: 0.5625rem;
  height: 9px;
  height: 0.5625rem;
  border: none;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding: 0;
}

.plan-intro__dots li.slick-active button {
  width: 14px;
  width: 0.875rem;
  height: 14px;
  height: 0.875rem;
  background-color: #2177D0;
}

.plan-mv {
  width: 100%;
  position: relative;
  height: 250px;
  height: 15.625rem;
  background: url(../images/common/tokyobay-head.jpg) no-repeat center center/cover;
  margin-top: 148px;
  margin-top: 9.25rem;
}
.plan-mv__inner {
  width: 100%;
  height: inherit;
}

.plan-mv__content {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 767px) {
  .plan-mv__content {
    top: 31%;
  }
}

.plan-mv__title {
  font-size: clamp(46px, 39.555px + 0.8403vw, 53px);
  font-size: clamp(2.875rem, 2.4722rem + 0.8403vw, 3.3125rem);
  font-size: 32px;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .plan-mv__title {
    font-size: clamp(1.4375rem, 0.6352rem + 3.8902vw, 2.5rem);
  }
}

.plan-mv__subtitle {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 900;
  line-height: 1.2;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background-color: #fff;
  padding: 4px 10px;
  padding: 0.25rem 0.625rem;
  display: inline-block;
  text-align: center;
  margin-top: 10px;
  margin-top: 0.625rem;
}

.plan-outline-card {
  background-color: #fff;
  display: inline-block;
  max-width: 1010px;
  max-width: 63.125rem;
  position: relative;
  z-index: auto;
}

.plan-outline-card--has-bubble::before {
  content: "";
  position: absolute;
  background: url(../images/common/detail-big-bubble01.png) no-repeat;
  background-size: contain;
  top: -67px;
  top: -4.1875rem;
  right: -116px;
  right: -7.25rem;
  width: 174px;
  width: 10.875rem;
  height: 165px;
  height: 10.3125rem;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .plan-outline-card--has-bubble::before {
    width: 4.625rem;
    height: 6.8125rem;
    bottom: 8.75rem;
  }
}

.plan-outline-card--has-bubble::after {
  content: "";
  position: absolute;
  background: url(../images/common/detail-big-bubble01.png) no-repeat;
  background-size: contain;
  bottom: -10px;
  bottom: -0.625rem;
  left: -110px;
  left: -6.875rem;
  width: 174px;
  width: 10.875rem;
  height: 165px;
  height: 10.3125rem;
  -webkit-transform: rotate(160deg);
          transform: rotate(160deg);
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .plan-outline-card--has-bubble::after {
    width: 4.625rem;
    height: 6.8125rem;
    bottom: 8.75rem;
  }
}

.plan-outline-card__link {
  padding: 16px 32px 16px 14px;
  padding: 1rem 2rem 1rem 0.875rem;
  -webkit-box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, .25);
          box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, .25);
  display: block;
}

.plan-outline-card__link:hover .plan-outline-card__item-img img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.plan-outline-card__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 32px;
  gap: 2rem;
  position: relative;
  z-index: 1;
}

.plan-outline-card__item-img {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 36.7%;
          flex: 1 1 36.7%;
  overflow: hidden;
  border-radius: 8px;
}

.plan-outline-card__item-img img {
  width: 100%;
  aspect-ratio: 324/356;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 0.6s ease;
  transition: -webkit-transform 0.6s ease;
  transition: transform 0.6s ease;
  transition: transform 0.6s ease, -webkit-transform 0.6s ease;
  border-radius: 0.5rem;
}

.plan-outline-card__contents {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 63%;
          flex: 1 1 63%;
}

.plan-outline-card__head {
  border-left: 4px solid #2177D0;
  border-bottom: 1px solid #2177D0;
}

.plan-outline-card__item-title {
  color: #2177D0;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.08em;
  padding-left: 24px;
  padding-left: 1.5rem;
}

.plan-outline-card__price {
  color: #2177D0;
  font-size: 32px;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.43;
  text-align: right;
  margin-top: 4px;
  margin-top: 0.25rem;
}

.plan-outline-card__explain {
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.08em;
  line-height: 1.5;
  margin-top: 24px;
  margin-top: 1.5rem;
}

.plan-outline-card__info-list {
  margin-top: 24px;
  margin-top: 1.5rem;
  background-color: #F0F0F0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  gap: 0.5rem;
  padding: 6px 8px 6px 80px;
  padding: 0.375rem 0.5rem 0.375rem 5rem;
}

.plan-outline-card__info-item {
  font-size: 14px;
  font-size: 0.875rem;
  font-family: "Noto Sans JP", sans-serif;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.plan-outline-card__info-label {
  min-width: 80px;
  min-width: 5rem;
}

.plan-outline-card__button {
  margin-top: 32px;
  margin-top: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.plan-outline-mini__card-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  z-index: 1;
}

.plan-outline {
  background-color: #fff;
  padding: 180px 0 160px;
  padding: 11.25rem 0 10rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .plan-outline {
    padding: 5rem 0 7.5rem;
  }
}

.plan-outline::after {
  content: "";
  position: absolute;
  background: url(../images/common/detail-suggest-bubble.png) no-repeat;
  background-size: contain;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 110px;
  width: 6.875rem;
  height: 161px;
  height: 10.0625rem;
}
@media screen and (max-width: 767px) {
  .plan-outline::after {
    width: 4.625rem;
    height: 6.8125rem;
    bottom: 8.75rem;
  }
}

.plan-outline__inner {
  padding-inline: 25px;
  padding-inline: 1.5625rem;
  padding-top: 100px;
  padding-top: 6.25rem;
  overflow-x: hidden;
}
@media screen and (max-width: 767px) {
  .plan-outline__inner {
    padding-top: 3.625rem;
  }
}

.plan-outline__card-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  z-index: 1;
}

.plan-table__info-table {
  max-width: 750px;
  max-width: 46.875rem;
  margin-top: 95px;
  margin-top: 5.9375rem;
  margin-inline: auto;
}

.plan-table__table {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 600;
  width: 100%;
  border: 1px solid #fff;
  border: 0.0625rem solid #fff;
  border-collapse: collapse;
}

.plan-table__table-row:last-child .plan-table__table-header,
.plan-table__table-row:last-child .plan-table__table-data {
  border-bottom: none;
}

.plan-table__table-header {
  background-color: #D9D9D9;
  border-bottom: 1px solid #fff;
  border-bottom: 0.0625rem solid #fff;
  padding: 20px 30px 20px 24px;
  padding: 1.25rem 1.875rem 1.25rem 1.5rem;
  text-align: left;
  width: 250px;
  width: 15.625rem;
}

.plan-table__table-data {
  border-bottom: 1px solid #E2F4FD;
  border-bottom: 0.0625rem solid #E2F4FD;
  padding: 22px 10px 22px 24px;
  padding: 1.375rem 0.625rem 1.375rem 1.5rem;
}

.planpage-card {
  position: relative;
  -webkit-box-shadow: 2px 4px 5px rgba(0, 0, 0, .25);
          box-shadow: 2px 4px 5px rgba(0, 0, 0, .25);
  background-color: #fff;
}

.planpage-card.planpage-card--pickup {
  max-width: 420px;
  max-width: 26.25rem;
  border-radius: 0.5rem;
}
@media screen and (max-width: 767px) {
  .planpage-card.planpage-card--pickup {
    max-width: 19.375rem;
  }
}

.planpage-card__top {
  padding: 32px 14px 40px;
  padding: 2rem 0.875rem 2.5rem;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  z-index: 0;
  overflow: hidden;
  border-radius: 0.5rem;
}
@media screen and (max-width: 767px) {
  .planpage-card__top {
    padding: 1.75rem 1.5rem 1.375rem;
  }
}

.planpage-card__top::after {
  position: absolute;
  content: "";
  width: 200%;
  height: 140%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: 8px;
  bottom: 0.5rem;
  border-radius: 41%;
  background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), color-stop(50%, #f1faff), to(#d0edff));
  background: linear-gradient(to bottom, #ffffff 0%, #f1faff 50%, #d0edff 100%);
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .planpage-card__top::after {
    bottom: 0.125rem;
  }
}

.planpage-card__title {
  font-size: 28px;
  font-size: 1.75rem;
  font-weight: 700;
  padding-bottom: 16px;
  padding-bottom: 1rem;
  position: relative;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .planpage-card__title {
    font-size: 1.5rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    padding-bottom: 1rem;
  }
}

.planpage-card__title::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: #2177D0;
  content: "";
  width: 80%;
  height: 2px;
  height: 0.125rem;
}

.planpage-card__imgs {
  margin-top: 28px;
  margin-top: 1.75rem;
}
@media screen and (max-width: 767px) {
  .planpage-card__imgs {
    margin-top: 1.25rem;
  }
}

.planpage-card__imgs {
  width: 100%;
  height: 100%;
  aspect-ratio: 388/220;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  border-radius: 16px;
  border: 2px solid #fff;
  margin-top: 30px;
  margin-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .planpage-card__imgs {
    aspect-ratio: 270/160;
    margin-top: 1.25rem;
  }
}

.planpage-card__imgs img {
  border-radius: 16px;
  border: 2px solid #fff;
}

.planpage-card__badge {
  position: absolute;
  top: -4px;
  top: -0.25rem;
  left: -4px;
  left: -0.25rem;
  width: 104px;
  width: 6.5rem;
  z-index: 2;
}

.planpage-card__explain {
  font-size: 16px;
  font-size: 1rem;
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.5;
  margin-top: 20px;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .planpage-card__explain {
    margin-top: 0.75rem;
  }
}

.planpage-card__bottom {
  margin-top: 4px;
  margin-top: 0.25rem;
  padding: 0 32px 24px;
  padding: 0 2rem 1.5rem;
}
@media screen and (max-width: 767px) {
  .planpage-card__bottom {
    margin-top: 0;
    padding: 0 1.4375rem 1.25rem;
  }
}

.planpage-card__price {
  color: #2177D0;
  font-size: 36px;
  font-size: 2.25rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .planpage-card__price {
    font-size: 2rem;
  }
}

.planpage-card__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 356px;
  max-width: 22.25rem;
  margin-inline: auto;
  margin-top: 8px;
  margin-top: 0.5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .planpage-card__content {
    max-width: 100%;
  }
}

.planpage-card__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  gap: 0.5rem;
}

.planpage-card__item img {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  -o-object-fit: contain;
     object-fit: contain;
}

.planpage-card__item + .planpage-card__item {
  margin-top: 10px;
  margin-top: 0.625rem;
}
@media screen and (max-width: 767px) {
  .planpage-card__item + .planpage-card__item {
    margin-top: 0.5rem;
  }
}

.planpage-card__item-txt {
  font-size: 14px;
  font-size: 0.875rem;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .planpage-card__item-txt {
    font-size: 0.875rem;
  }
}

.planpage-card__btn {
  margin-top: 28px;
  margin-top: 1.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: 356px;
  max-width: 22.25rem;
}
@media screen and (max-width: 767px) {
  .planpage-card__btn {
    margin-top: 1.25rem;
    max-width: 16.5rem;
  }
}

.planpage-card__cta-btn {
  margin-top: 20px;
  margin-top: 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: 356px;
  max-width: 22.25rem;
}
@media screen and (max-width: 767px) {
  .planpage-card__cta-btn {
    margin-top: 1.25rem;
    max-width: 16.5rem;
  }
}

.planpage-card__ship-img {
  width: 66px;
  width: 4.125rem;
  height: 64px;
  height: 4rem;
  margin-top: auto;
  margin-left: auto;
  background-color: #F2F2F2;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: 1px solid #2177D0;
  border-radius: 8px;
}
@media screen and (max-width: 767px) {
  .planpage-card__ship-img {
    position: absolute;
    top: 0;
    right: 0;
    width: 5.625rem;
    height: 1.75rem;
    min-width: 5.625rem;
    margin-top: 0;
    margin-top: initial;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.planpage-card__ship-img img {
  width: 20px;
  width: 1.25rem;
  height: 22px;
  height: 1.375rem;
}
@media screen and (max-width: 767px) {
  .planpage-card__ship-img img {
    width: 1rem;
    height: 1.125rem;
  }
}

.planpage-card__ship-txt {
  color: #2177D0;
  font-size: 12px;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.66;
  font-family: "Noto Sans JP", sans-serif;
  margin-top: 4px;
  margin-top: 0.25rem;
}
@media screen and (max-width: 767px) {
  .planpage-card__ship-txt {
    font-size: 0.625rem;
    margin-top: 0;
    margin-left: 0.25rem;
  }
}

.planpage-minicard {
  position: relative;
  -webkit-box-shadow: 2px 4px 5px rgba(0, 0, 0, .25);
          box-shadow: 2px 4px 5px rgba(0, 0, 0, .25);
  background-color: #fff;
  max-width: 380px;
  max-width: 23.75rem;
}
@media screen and (max-width: 767px) {
  .planpage-minicard {
    max-width: 30rem;
    width: 100%;
  }
}

.planpage-minicard__top {
  padding: 32px 16px 30px;
  padding: 2rem 1rem 1.875rem;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  z-index: 0;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .planpage-minicard__top {
    padding: 1.75rem 1rem 2.375rem 1rem;
  }
}

.planpage-minicard__top::after {
  position: absolute;
  content: "";
  width: 200%;
  height: 140%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: 8px;
  bottom: 0.5rem;
  border-radius: 41%;
  background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), color-stop(50%, #f1faff), to(#d0edff));
  background: linear-gradient(to bottom, #ffffff 0%, #f1faff 50%, #d0edff 100%);
  z-index: -1;
}

.planpage-minicard__title {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 700;
  padding-bottom: 16px;
  padding-bottom: 1rem;
  position: relative;
  display: inline-block;
}

.planpage-minicard__title::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: #2177D0;
  content: "";
  width: 80%;
  height: 2px;
  height: 0.125rem;
}

.planpage-minicard__imgs {
  margin-top: 28px;
  margin-top: 1.75rem;
  aspect-ratio: 348/220;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  border-radius: 16px;
  border: 2px solid #fff;
}
@media screen and (max-width: 767px) {
  .planpage-minicard__imgs {
    aspect-ratio: 270/160;
  }
}

.planpage-minicard__imgs img {
  width: 100%;
  height: 100%;
  border: 2px solid #fff;
  border-radius: 16px;
}

.planpage-minicard__explain {
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.5;
  margin-top: 18px;
  margin-top: 1.125rem;
}

.planpage-minicard__bottom {
  margin-top: 4px;
  margin-top: 0.25rem;
  padding: 0 24px 24px;
  padding: 0 1.5rem 1.5rem;
}

.planpage-minicard__price {
  color: #2177D0;
  font-size: 32px;
  font-size: 2rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-align: center;
}

.planpage-minicard__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 356px;
  max-width: 22.25rem;
  margin-inline: auto;
  margin-top: 24px;
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .planpage-minicard__content {
    position: relative;
  }
}

.planpage-minicard__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  gap: 0.5rem;
}

.planpage-minicard__item img {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  -o-object-fit: contain;
     object-fit: contain;
}

.planpage-minicard__item-small img {
  width: 14px;
  width: 0.875rem;
  height: 20px;
  height: 1.25rem;
}

.planpage-minicard__item + .planpage-minicard__item {
  margin-top: 10px;
  margin-top: 0.625rem;
}

.planpage-minicard__ship-img {
  width: 66px;
  width: 4.125rem;
  height: 64px;
  height: 4rem;
  margin-top: auto;
  margin-left: auto;
  background-color: #F2F2F2;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: 1px solid #2177D0;
  border-radius: 8px;
}
@media screen and (max-width: 767px) {
  .planpage-minicard__ship-img {
    position: absolute;
    top: 0;
    right: 0;
    width: 5.625rem;
    height: 1.75rem;
    min-width: 5.625rem;
    margin-top: 0;
    margin-top: initial;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.planpage-minicard__ship-img img {
  width: 20px;
  width: 1.25rem;
  height: 22px;
  height: 1.375rem;
}
@media screen and (max-width: 767px) {
  .planpage-minicard__ship-img img {
    width: 1rem;
    height: 1.125rem;
  }
}

.planpage-minicard__ship-txt {
  color: #2177D0;
  font-size: 12px;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.66;
  font-family: "Noto Sans JP", sans-serif;
  margin-top: 4px;
  margin-top: 0.25rem;
}
@media screen and (max-width: 767px) {
  .planpage-minicard__ship-txt {
    font-size: 0.625rem;
    margin-top: 0;
    margin-left: 0.25rem;
  }
}

.planpage-minicard__item-txt {
  font-size: 14px;
  font-size: 0.875rem;
  font-family: "Noto Sans JP", sans-serif;
}

.planpage-minicard__btn {
  margin-top: 22px;
  margin-top: 1.375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: 356px;
  max-width: 22.25rem;
}
@media screen and (max-width: 767px) {
  .planpage-minicard__btn {
    margin-top: 1.5rem;
    max-width: 20.25rem;
  }
}

.plans-list {
  display: grid;
  gap: 27px;
  gap: 1.6875rem;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 767px) {
  .plans-list {
    grid-template-columns: repeat(1, 1fr);
    gap: 1.25rem;
  }
}

.plans-list__item a {
  position: relative;
  display: block;
  height: 100%;
  background-color: #fff;
  border-radius: 8px;
  -webkit-box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, .25);
          box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, .25);
}

.plans-list__item a:hover .plans-list__item-img img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.plans-list__item-img {
  width: 100%;
  overflow: hidden;
}

.plans-list__item-img img {
  width: 100%;
  aspect-ratio: 350/183;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 0.6s ease;
  transition: -webkit-transform 0.6s ease;
  transition: transform 0.6s ease;
  transition: transform 0.6s ease, -webkit-transform 0.6s ease;
}

.plans-list__item-category {
  padding: 5px 15px;
  padding: 0.3125rem 0.9375rem;
  position: absolute;
  top: 15px;
  top: 0.9375rem;
  right: 15px;
  right: 0.9375rem;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1;
  font-weight: 900;
  border-radius: 40px;
}
.plans-list__item-category.plans-list__item-category--orange {
  color: #000;
  background-color: #F2B880;
}

.plans-list__item-category.plans-list__item-category--blue {
  color: #fff;
  background-color: #2177D0;
}

.plans-list__item-content {
  padding: 7px 16px 15px;
  padding: 0.4375rem 1rem 0.9375rem;
}
.plans-list__item-title {
  color: #2177D0;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
}
.plans-list__item-text {
  margin-top: 8px;
  margin-top: 0.5rem;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.5;
}
.plans-list__bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 10px;
  margin-top: 0.625rem;
}

.plans-list__price {
  color: #2177D0;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 900;
}

.plans {
  background-color: #E2F4FD;
  padding: 120px 0 170px;
  padding: 7.5rem 0 10.625rem;
}
@media screen and (max-width: 767px) {
  .plans {
    position: relative;
    padding: 5rem 0 7.5rem;
  }
}

.plans--transparent {
  background-color: transparent;
}
@media screen and (max-width: 767px) {
  .plans--transparent {
    padding: 0;
  }
}

@media screen and (max-width: 767px) {
  .plans--transparent::before {
    background: none;
  }
}

@media screen and (max-width: 767px) {
  .plans__top-wave {
    position: absolute;
    top: -3.125rem;
    left: 0;
    height: auto;
  }
}

.plans__inner {
  margin-inline: auto;
}
.plans__titles-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.plans__title {
  font-size: 24px;
  font-size: 1.5rem;
  letter-spacing: 0.1em;
}

.plans__swiper {
  margin-top: 80px;
  margin-top: 5rem;
  padding-bottom: 100px;
  padding-bottom: 6.25rem;
}
@media screen and (max-width: 767px) {
  .plans__swiper {
    padding: 0 0 3.75rem 0;
    margin-top: 3.125rem;
  }
}

.plans__slide {
  opacity: 0.8;
  -webkit-transition: opacity 0.7s, -webkit-transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 0.7s, -webkit-transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.7s;
  transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.7s, -webkit-transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  -webkit-box-shadow: 2px 4px 5px rgba(0, 0, 0, .25);
          box-shadow: 2px 4px 5px rgba(0, 0, 0, .25);
}

.swiper-backface-hidden .plans__slide {
  -webkit-transform: translateZ(0) scale(0.9);
          transform: translateZ(0) scale(0.9);
}

.plans__slide.swiper-slide-active {
  opacity: 1;
  -webkit-transform: translateZ(0) scale(1);
          transform: translateZ(0) scale(1);
  z-index: 1;
}

.plans__button-prev,
.plans__button-next {
  width: 50px;
  width: 3.125rem;
  height: 50px;
  height: 3.125rem;
  background-color: #2177D0;
  border-radius: 50%;
  cursor: pointer;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .plans__button-prev,
  .plans__button-next {
    width: 2.5rem;
    height: 2.5rem;
    -webkit-transform: translateY(-1.625rem);
            transform: translateY(-1.625rem);
  }
}

.plans__button-prev:hover,
.plans__button-next:hover {
  opacity: 0.7;
}

.plans__button-prev::after,
.plans__button-next::after {
  content: "";
  display: block;
  width: 16px;
  width: 1rem;
  height: 16px;
  height: 1rem;
  border-right: 1px solid #fff;
  border-top: 1px solid #fff;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(-135deg);
          transform: translate(-50%, -50%) rotate(-135deg);
}
@media screen and (max-width: 767px) {
  .plans__button-prev::after,
  .plans__button-next::after {
    width: 0.875rem;
    height: 0.875rem;
  }
}

.plans__button-prev::after {
  left: 55%;
}

.plans__button-next::after {
  left: 44%;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}

.plans__swiper .plans__pagination.swiper-pagination {
  bottom: 6px;
  bottom: 0.375rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .plans__swiper .plans__pagination.swiper-pagination {
    bottom: 0;
  }
}

.plans__pagination > .swiper-pagination-bullet {
  width: 9px;
  width: 0.5625rem;
  height: 9px;
  height: 0.5625rem;
}

.plans__pagination > .swiper-pagination-bullet-active {
  width: 14px;
  width: 0.875rem;
  height: 14px;
  height: 0.875rem;
}

.plans__more {
  margin-top: 80px;
  margin-top: 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.scroll-fade {
  opacity: 0;
  -webkit-transition: all 2s;
  transition: all 2s;
}

.scroll-up {
  opacity: 0;
  -webkit-transform: translateY(100px);
          transform: translateY(100px);
  -webkit-transition: all 2s;
  transition: all 2s;
}

.scroll-up.done, .scroll-fade.done {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.section-subtitle {
  margin-top: 26px;
  margin-top: 1.625rem;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
}

.section-title {
  color: #2177D0;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 900;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.section-title::after {
  position: absolute;
  content: "";
  width: 164px;
  width: 10.25rem;
  height: 1px;
  height: 0.0625rem;
  background-color: #2177D0;
  bottom: -13px;
  bottom: -0.8125rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.service {
  background-color: #E2F4FD;
  padding: 50px 0 248px;
  padding: 3.125rem 0 15.5rem;
}
@media screen and (max-width: 767px) {
  .service {
    padding: 2.5rem 0 15rem;
  }
}

.service__inner {
  max-width: 1000px;
  max-width: 62.5rem;
}

.service__subheading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.service__items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 7.5rem;
     -moz-column-gap: 7.5rem;
          column-gap: 7.5rem;
  row-gap: 80px;
  row-gap: 5rem;
  margin-top: 80px;
  margin-top: 5rem;
}
@media screen and (max-width: 1024px) {
  .service__items {
    grid-template-columns: repeat(2, 1fr);
    place-items: center;
    margin-top: 3.5rem;
  }
}
@media screen and (max-width: 767px) {
  .service__items {
    grid-template-columns: repeat(1, 1fr);
  }
}

@media screen and (max-width: 767px) {
  .service__item {
    max-width: 12.875rem;
  }
}

.service__imgs {
  position: relative;
  padding-top: 25px;
  padding-top: 1.5625rem;
}

.service__imgs img {
  aspect-ratio: 202/188;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.service__title {
  position: absolute;
  top: 0;
  left: 8px;
  left: 0.5rem;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  background-color: #fff;
  padding: 10px;
  padding: 0.625rem;
}

.service__description {
  font-size: 12px;
  font-size: 0.75rem;
  font-weight: 400;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.875;
  margin-top: 8px;
  margin-top: 0.5rem;
}
@media screen and (max-width: 767px) {
  .service__description {
    font-size: 0.75rem;
  }
}

.service-bubble-block {
  position: relative;
}

.service-bubble-block__circle {
  background-color: #fff;
  border-radius: 50%;
  position: absolute;
}

.service-bubble-block__circle--01 {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  top: 80px;
  top: 5rem;
  left: 52%;
}
@media screen and (max-width: 767px) {
  .service-bubble-block__circle--01 {
    width: 1rem;
    height: 1rem;
    left: 46%;
  }
}

.service-bubble-block__circle--02 {
  width: 46px;
  width: 2.875rem;
  height: 46px;
  height: 2.875rem;
  top: 110px;
  top: 6.875rem;
  left: 45%;
}
@media screen and (max-width: 767px) {
  .service-bubble-block__circle--02 {
    width: 2.125rem;
    height: 2.125rem;
    left: 50%;
  }
}

.service-bubble-block__circle--03 {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  top: 170px;
  top: 10.625rem;
  left: 50%;
}
@media screen and (max-width: 767px) {
  .service-bubble-block__circle--03 {
    width: 1.125rem;
    height: 1.125rem;
    left: 48%;
  }
}

.service-bubble-block__circle--04 {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  top: 220px;
  top: 13.75rem;
  left: 44%;
}
@media screen and (max-width: 767px) {
  .service-bubble-block__circle--04 {
    width: 1.125rem;
    height: 1.125rem;
    left: 54%;
  }
}

.services {
  background-color: #fff;
  padding: 120px 0;
  padding: 7.5rem 0;
}
@media screen and (max-width: 767px) {
  .services {
    padding: 5rem 0;
  }
}

.services.services--transparent {
  background-color: transparent;
}

.services__inner {
  max-width: 1008px;
  max-width: 63rem;
  margin-inline: auto;
  padding-inline: 25px;
  padding-inline: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .services__inner {
    padding-inline: 1.6875rem;
  }
}

.services__titles {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.services__description {
  margin-top: 42px;
  margin-top: 2.625rem;
}

.services__items {
  margin-top: 48px;
  margin-top: 3rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 48px;
  gap: 3rem;
}
@media screen and (max-width: 1024px) {
  .services__items {
    grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
  }
}
@media screen and (max-width: 767px) {
  .services__items {
    margin-top: 4rem;
    gap: 4rem;
  }
}

.services__item {
  position: relative;
  overflow: hidden;
  -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, .25);
          box-shadow: 0 4px 12px rgba(0, 0, 0, .25);
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

.services__item::before {
  content: "";
  position: absolute;
  top: 12px;
  top: 0.75rem;
  right: 12px;
  right: 0.75rem;
  bottom: 12px;
  bottom: 0.75rem;
  left: 12px;
  left: 0.75rem;
  border: 1px solid #fff;
  pointer-events: none;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .services__item::before {
    top: 0.5rem;
    right: 0.5rem;
    bottom: 0.5rem;
    left: 0.5rem;
    border: 0.6px solid #fff;
  }
}

.services__item:hover {
  opacity: 0.8;
}

.services__image {
  height: 100%;
  aspect-ratio: 455/160;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media screen and (max-width: 767px) {
  .services__image {
    aspect-ratio: 320/143;
  }
}

.services__content {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  color: #fff;
  text-align: center;
  width: 100%;
}

.services__title {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, .25);
}
@media screen and (max-width: 767px) {
  .services__title {
    font-size: 1.25rem;
  }
}

.services__text {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.6;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, .25);
  margin-top: 8px;
  margin-top: 0.5rem;
}
@media screen and (max-width: 767px) {
  .services__text {
    font-size: 0.75rem;
    margin-top: 0.375rem;
  }
}

.ship-feature {
  background-color: #fff;
  padding: 120px 0 280px;
  padding: 7.5rem 0 17.5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .ship-feature {
    padding: 5rem 0 11.25rem;
  }
}

.ship-feature::after {
  position: absolute;
  content: "";
  bottom: 0px;
  bottom: 0rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 110px;
  width: 6.875rem;
  height: 161px;
  height: 10.0625rem;
  background-image: url(../images/common/detail-blue-bubble.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center bottom;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .ship-feature::after {
    width: 4.625rem;
    height: 6.8125rem;
    bottom: 0rem;
  }
}

.ship-feature__inner {
  max-width: 1072px;
  max-width: 67rem;
}

.ship-feature__subheading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.ship-feature__items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 1.875rem;
     -moz-column-gap: 1.875rem;
          column-gap: 1.875rem;
  row-gap: 30px;
  row-gap: 1.875rem;
  margin-top: 80px;
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .ship-feature__items {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 3.5rem;
    place-items: center;
    margin-top: 3.75rem;
  }
}

@media screen and (max-width: 767px) {
  .ship-feature__item {
    max-width: 20rem;
  }
}

.sp-nav {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  background-color: #fff;
  background-size: cover;
  z-index: 100;
  -webkit-transition: visibility 0.3s ease;
  transition: visibility 0.3s ease;
}

.sp-nav::before {
  position: absolute;
  content: "";
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, .7);
  z-index: -1;
}

.sp-nav .is-active {
  display: block;
}

.sp-nav__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: inherit;
}

.sp-nav__items {
  padding-top: 208px;
  padding-top: 13rem;
  padding-bottom: 20px;
  padding-bottom: 1.25rem;
  height: 100vh;
  overflow: scroll;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.sp-nav__item {
  padding-top: 32px;
  padding-top: 2rem;
}

.sp-nav__item a {
  color: #333;
  text-align: center;
  display: inline-block;
}

.sp-nav__item:first-child {
  padding-top: 0;
}

.subheading {
  color: #2177D0;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .subheading {
    font-size: 1.25rem;
  }
}

.subheading--black {
  color: #333;
}

.subheading::after {
  position: absolute;
  content: "";
  width: 164px;
  width: 10.25rem;
  height: 2px;
  height: 0.125rem;
  background-color: #2177D0;
  bottom: -16px;
  bottom: -1rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .subheading::after {
    width: 10.25rem;
    bottom: -0.75rem;
  }
}

@media screen and (max-width: 767px) {
  .subheading--short::after {
    width: 7.5rem;
  }
}

.subheading.subheading--orange {
  color: #E88B47;
}

.subheading.subheading--orange::after {
  background-color: #E88B47;
}

.support {
  background-color: #E2F4FD;
  padding: 280px 0 80px;
  padding: 17.5rem 0 5rem;
}
@media screen and (max-width: 767px) {
  .support {
    position: relative;
    padding: 3.75rem 0 2.5rem;
  }
}

@media screen and (max-width: 767px) {
  .support__top-wrave {
    position: absolute;
    top: -3.125rem;
    left: 0;
    height: auto;
  }
}

.support__inner {
  max-width: 1400px;
  max-width: 87.5rem;
}
@media screen and (max-width: 767px) {
  .support__inner {
    max-width: 100%;
  }
}

.support__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 80px;
  gap: 5rem;
}
@media screen and (max-width: 767px) {
  .support__wrap {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4.375rem;
  }
}

.support__visual {
  position: relative;
  padding-top: 140px;
  padding-top: 8.75rem;
  padding-right: 220px;
  padding-right: 13.75rem;
}
@media screen and (max-width: 767px) {
  .support__visual {
    padding-top: 9.125rem;
    padding-right: 2.5rem;
  }
}

.support__imgs {
  position: relative;
}

.support__img01 {
  width: 580px;
  width: 36.25rem;
  height: auto;
}
@media screen and (max-width: 767px) {
  .support__img01 {
    width: 19rem;
    height: auto;
  }
}

.support__img02 {
  width: 270px;
  width: 16.875rem;
  height: auto;
  position: absolute;
  top: -50px;
  top: -3.125rem;
  right: -120px;
  right: -7.5rem;
}
@media screen and (max-width: 767px) {
  .support__img02 {
    right: -2.75rem;
    top: -3.75rem;
    width: 8.75rem;
  }
}

.support__circle {
  background-color: #fff;
  border-radius: 50%;
  position: absolute;
  opacity: 0;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
}

.support__circle--01 {
  width: 24px;
  width: 1.5rem;
  height: 24px;
  height: 1.5rem;
  top: -86px;
  top: -5.375rem;
  right: 120px;
  right: 7.5rem;
}
@media screen and (max-width: 767px) {
  .support__circle--01 {
    top: -1.375rem;
    width: 1rem;
    height: 1rem;
  }
}

.support__circle--02 {
  width: 18px;
  width: 1.125rem;
  height: 18px;
  height: 1.125rem;
  top: -32px;
  top: -2rem;
  right: 140px;
  right: 8.75rem;
}
@media screen and (max-width: 767px) {
  .support__circle--02 {
    top: 0.625rem;
    width: 0.75rem;
    height: 0.75rem;
  }
}

.support__circle--03 {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  top: 6px;
  top: 0.375rem;
  right: 174px;
  right: 10.875rem;
}
@media screen and (max-width: 767px) {
  .support__circle--03 {
    width: 0.625rem;
    height: 0.625rem;
    top: 2.6875rem;
    right: 8.625rem;
  }
}

.support__circle--04 {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  top: 54px;
  top: 3.375rem;
  right: 170px;
  right: 10.625rem;
}
@media screen and (max-width: 767px) {
  .support__circle--04 {
    width: 0.625rem;
    height: 0.625rem;
    top: 3.875rem;
    right: 9.5rem;
  }
}

.support__circle--05 {
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  top: 74px;
  top: 4.625rem;
  right: 220px;
  right: 13.75rem;
}
@media screen and (max-width: 767px) {
  .support__circle--05 {
    width: 0.625rem;
    height: 0.625rem;
    top: 5.25rem;
    right: 10rem;
  }
}

.support__contents {
  padding-top: 136px;
  padding-top: 8.5rem;
}
@media screen and (max-width: 767px) {
  .support__contents {
    padding-top: 0;
  }
}

.support__titles {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  position: absolute;
  top: 0;
  right: 0;
}
@media screen and (max-width: 767px) {
  .support__titles {
    top: 2.75rem;
  }
}

.support__title-01,
.support__title-02 {
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: 900;
  background-color: #fff;
  letter-spacing: 0.38em;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .support__title-01,
  .support__title-02 {
    font-size: 1.375rem;
    padding: 0.5rem;
  }
}

.support__title-01 {
  margin-left: 20px;
  margin-left: 1.25rem;
  padding: 22px 2px 10px;
  padding: 1.375rem 0.125rem 0.625rem;
}
@media screen and (max-width: 767px) {
  .support__title-01 {
    margin-left: 0.5rem;
  }
}

.support__title-02 {
  -webkit-transform: translate(0px, 120px);
          transform: translate(0px, 120px);
  padding: 24px 2px 0px;
  padding: 1.5rem 0.125rem 0rem;
}
@media screen and (max-width: 767px) {
  .support__title-02 {
    -webkit-transform: translate(0px, 50px);
            transform: translate(0px, 50px);
  }
}

.support__content {
  max-width: 494px;
  max-width: 30.875rem;
}

.support__text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  line-height: 1.875;
}
@media screen and (max-width: 767px) {
  .support__text {
    font-weight: 400;
    line-height: 2;
  }
}

.support__text + .support__text {
  margin-top: 20px;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .support__text + .support__text {
    margin-top: 1.875rem;
  }
}

.table {
  max-width: 900px;
  max-width: 56.25rem;
  margin-inline: auto;
}
@media screen and (max-width: 1500px) {
  .table {
    max-width: 46.875rem;
  }
}
@media screen and (max-width: 767px) {
  .table {
    max-width: 100%;
  }
}

.table__wrap {
  font-size: 16px;
  font-size: 1rem;
  width: 100%;
  border: 1px solid #D9D9D9;
  border: 0.0625rem solid #D9D9D9;
  border-collapse: collapse;
}
@media screen and (max-width: 767px) {
  .table__wrap {
    font-size: 0.875rem;
  }
}

.table__row {
  border-bottom: 1px solid white;
  border-bottom: 0.0625rem solid white;
}

.table__row:last-child {
  border-bottom: 1px solid #D9D9D9;
  border-bottom: 0.0625rem solid #D9D9D9;
}

.table__header {
  font-size: 16px;
  font-size: 1rem;
  background-color: #EFF2F1;
  color: #333;
  padding: 16px 10px 16px 24px;
  padding: 1rem 0.625rem 1rem 1.5rem;
  text-align: left;
  width: 250px;
  width: 15.625rem;
}
@media screen and (max-width: 767px) {
  .table__header {
    font-size: 0.875rem;
    padding: 1.25rem 0.75rem;
    width: 8.125rem;
  }
}

.table__small {
  font-size: 11px;
  font-size: 0.6875rem;
}

.table__data {
  font-size: 16px;
  font-size: 1rem;
  padding: 16px 10px 16px 24px;
  padding: 1rem 0.625rem 1rem 1.5rem;
  border: 1px solid #D9D9D9;
  border: 0.0625rem solid #D9D9D9;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .table__data {
    font-size: 0.875rem;
    padding: 1.25rem 0.75rem;
  }
}

@media screen and (max-width: 767px) {
  .table__data--small {
    font-size: 0.75rem;
    line-height: 1.1;
  }
}

.white-big-title {
  font-weight: 900;
  letter-spacing: 0.04em;
  line-height: 1.8775;
  display: inline-block;
  padding: 16px;
  padding: 1rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .white-big-title {
    padding: 0;
  }
}

.white-big-title__main {
  background-color: #fff;
  font-size: 32px;
  font-size: 2rem;
  letter-spacing: 0.18em;
}
@media screen and (max-width: 767px) {
  .white-big-title__main {
    font-size: 1.25rem;
    letter-spacing: 0.12em;
  }
}

.white-big-title__main + .white-big-title__main {
  margin-top: 10px;
  margin-top: 0.625rem;
}
@media screen and (max-width: 767px) {
  .white-big-title__main + .white-big-title__main {
    margin-top: 0.5rem;
  }
}

.white-big-title__subtitle {
  position: absolute;
  top: -18px;
  top: -1.125rem;
  left: -26px;
  left: -1.625rem;
  font-size: 36px;
  font-size: 2.25rem;
  color: #2177D0;
  letter-spacing: 0.06em;
  font-family: "Beau Rivage", cursive;
  -webkit-transform: rotate(-12deg);
          transform: rotate(-12deg);
  display: inline-block;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .white-big-title__subtitle {
    top: -1.375rem;
    font-size: 1.5rem;
  }
}

.white-title {
  font-weight: 900;
  letter-spacing: 0.12em;
  line-height: 1;
  background-color: #fff;
  display: inline-block;
  padding: 16px;
  padding: 1rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .white-title {
    padding: 0.5rem 1rem;
    letter-spacing: 0.1em;
  }
}

.white-title__main {
  font-size: 24px;
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .white-title__main {
    font-size: 1.25rem;
  }
}

.white-title__subtitle {
  position: absolute;
  top: -28px;
  top: -1.75rem;
  left: -36px;
  left: -2.25rem;
  font-size: 36px;
  font-size: 2.25rem;
  color: #2177D0;
  letter-spacing: 0.06em;
  font-family: "Beau Rivage", cursive;
  -webkit-transform: rotate(-12deg);
          transform: rotate(-12deg);
  display: inline-block;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .white-title__subtitle {
    font-size: 1.5rem;
    top: -1.5rem;
    left: -1.25rem;
  }
}

.white-title__subtitle--orange {
  color: #E88B47;
}

.wrapper {
  position: relative;
}
/*# sourceMappingURL=styles.css.map */
