@charset "UTF-8";
*,
*::before,
*::after {
  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 {
  line-height: 1.5;
  min-height: 100vh;
  text-rendering: optimizeLegibility;
}

/* 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]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img {
  display: block;
  max-width: 100%;
  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: 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;
}

/* ホバー */
a {
  -webkit-text-decoration: none;
  color: inherit;
  text-decoration: none;
  transition: opacity 0.3s;
}

/* ==========================================================================
Noto Sans JP
========================================================================== */
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 900;
  src: url("../fonts/Noto_Sans_JP/NotoSansJP-Black.ttf") format("TrueType");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 800;
  src: url("../fonts/Noto_Sans_JP/NotoSansJP-ExtraBold.ttf") format("TrueType");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/Noto_Sans_JP/NotoSansJP-Bold.ttf") format("TrueType");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/Noto_Sans_JP/NotoSansJP-SemiBold.ttf") format("TrueType");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/Noto_Sans_JP/NotoSansJP-Medium.ttf") format("TrueType");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/Noto_Sans_JP/NotoSansJP-Regular.ttf") format("TrueType");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 300;
  src: url("../fonts/Noto_Sans_JP/NotoSansJP-Light.ttf") format("TrueType");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 200;
  src: url("../fonts/Noto_Sans_JP/NotoSansJP-ExtraLight.ttf") format("TrueType");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 100;
  src: url("../fonts/Noto_Sans_JP/NotoSansJP-Thin.ttf") format("TrueType");
}
/* ==========================================================================
Noto Serif JP
========================================================================== */
@font-face {
  font-display: swap;
  font-family: "Noto Serif JP", serif;
  font-style: normal;
  font-weight: 900;
  src: url("../fonts/Noto_Serif_JP/NotoSerifJP-Black.ttf") format("TrueType");
}
@font-face {
  font-display: swap;
  font-family: "Noto Serif JP", serif;
  font-style: normal;
  font-weight: 800;
  src: url("../fonts/Noto_Serif_JP/NotoSerifJP-ExtraBold.ttf") format("TrueType");
}
@font-face {
  font-display: swap;
  font-family: "Noto Serif JP", serif;
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/Noto_Serif_JP/NotoSerifJP-Bold.ttf") format("TrueType");
}
@font-face {
  font-display: swap;
  font-family: "Noto Serif JP", serif;
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/Noto_Serif_JP/NotoSerifJP-SemiBold.ttf") format("TrueType");
}
@font-face {
  font-display: swap;
  font-family: "Noto Serif JP", serif;
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/Noto_Serif_JP/NotoSerifJP-Medium.ttf") format("TrueType");
}
@font-face {
  font-display: swap;
  font-family: "Noto Serif JP", serif;
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/Noto_Serif_JP/NotoSerifJP-Regular.ttf") format("TrueType");
}
@font-face {
  font-display: swap;
  font-family: "Noto Serif JP", serif;
  font-style: normal;
  font-weight: 300;
  src: url("../fonts/Noto_Serif_JP/NotoSerifJP-Light.ttf") format("TrueType");
}
@font-face {
  font-display: swap;
  font-family: "Noto Serif JP", serif;
  font-style: normal;
  font-weight: 200;
  src: url("../fonts/Noto_Serif_JP/NotoSerifJP-ExtraLight.ttf") format("TrueType");
}
@font-face {
  font-display: swap;
  font-family: "Noto Serif JP", serif;
  font-style: normal;
  font-weight: 100;
  src: url("../fonts/Noto_Serif_JP/NotoSerifJP-Thin.ttf") format("TrueType");
}
/* ==========================================================================
Noto Sans JP
========================================================================== */
@font-face {
  font-display: swap;
  font-family: "Noto Serif JP", serif;
  font-style: normal;
  font-weight: 900;
  src: url("../fonts/Noto_Serif_JP/NotoSerifJP-Black.ttf") format("TrueType");
}
@font-face {
  font-display: swap;
  font-family: "Noto Serif JP", serif;
  font-style: normal;
  font-weight: 800;
  src: url("../fonts/Noto_Serif_JP/NotoSerifJP-ExtraBold.ttf") format("TrueType");
}
@font-face {
  font-display: swap;
  font-family: "Noto Serif JP", serif;
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/Noto_Serif_JP/NotoSerifJP-Bold.ttf") format("TrueType");
}
@font-face {
  font-display: swap;
  font-family: "Noto Serif JP", serif;
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/Noto_Serif_JP/NotoSerifJP-SemiBold.ttf") format("TrueType");
}
@font-face {
  font-display: swap;
  font-family: "Noto Serif JP", serif;
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/Noto_Serif_JP/NotoSerifJP-Medium.ttf") format("TrueType");
}
@font-face {
  font-display: swap;
  font-family: "Noto Serif JP", serif;
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/Noto_Serif_JP/NotoSerifJP-Regular.ttf") format("TrueType");
}
@font-face {
  font-display: swap;
  font-family: "Noto Serif JP", serif;
  font-style: normal;
  font-weight: 300;
  src: url("../fonts/Noto_Serif_JP/NotoSerifJP-Light.ttf") format("TrueType");
}
@font-face {
  font-display: swap;
  font-family: "Noto Serif JP", serif;
  font-style: normal;
  font-weight: 200;
  src: url("../fonts/Noto_Serif_JP/NotoSerifJP-ExtraLight.ttf") format("TrueType");
}
@font-face {
  font-display: swap;
  font-family: "Noto Serif JP", serif;
  font-style: normal;
  font-weight: 100;
  src: url("../fonts/Noto_Serif_JP/NotoSerifJP-Thin.ttf") format("TrueType");
}
/* ==========================================================================
Roboto
========================================================================== */
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: normal;
  font-weight: 900;
  src: url("../fonts/Roboto/Roboto-Black.ttf") format("TrueType");
}
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/Roboto/Roboto-Bold.ttf") format("TrueType");
}
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/Roboto/Roboto-Medium.ttf") format("TrueType");
}
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/Roboto/Roboto-Regular.ttf") format("TrueType");
}
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: normal;
  font-weight: 300;
  src: url("../fonts/Roboto/Roboto-Light.ttf") format("TrueType");
}
/* リキッドレイアウト対応 */
/*********************************
	BASE SET
*********************************/
html {
  font-size: 16px;
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  html {
    font-size: 1.6vw;
  }
}
@media (min-width: 1000px) {
  html {
    font-size: 16px;
  }
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  background-color: #f7f7f7;
  color: #333333;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
}

a {
  display: inline-block;
}

@media (hover: hover) {
  a:hover {
    opacity: 0.7;
  }
}
.l-inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 33.75rem;
  padding-left: 25px;
  padding-right: 25px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .l-inner {
    max-width: 1080px;
    padding-left: 40px;
    padding-right: 40px;
  }
}

.l-header {
  align-items: center;
  display: flex;
  height: 5.625rem;
  position: fixed;
  width: 100%;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .l-header {
    height: 7.5rem;
  }
}

.l-header__inner {
  align-items: center;
  display: flex;
  padding: 0 1.5625rem;
}
@media screen and (min-width: 768px) {
  .l-header__inner {
    padding: 0 2.5rem;
  }
}

.l-header__logo {
  z-index: 100;
}

.l-header__logo img {
  -o-object-fit: contain;
     object-fit: contain;
  position: relative;
  width: 9.5rem;
}
@media screen and (min-width: 768px) {
  .l-header__logo img {
    width: 15.25rem;
  }
}

@media (hover: hover) {
  .l-header__logo a:hover {
    opacity: 1;
  }
}
.c-page .l-header:before {
  background: linear-gradient(139.31deg, #00b7ce 9.2%, #0aebeb 76.88%);
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.c-page .l-header::after {
  background-image: url(../images/common/motif-bg-arrow.png);
  background-repeat: repeat;
  background-size: 10%;
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.c-page .l-header__inner {
  height: 100%;
  position: relative;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .c-page .l-header__inner::before {
    -webkit-clip-path: polygon(16% 0, 100% 0, 100% 100%, 0% 100%);
    background: #ffee00;
            clip-path: polygon(16% 0, 100% 0, 100% 100%, 0% 100%);
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    width: 36%;
    z-index: 1;
  }
}

.l-footer {
  background: linear-gradient(90deg, #00b7ce 0%, #0aebeb 100%);
  padding: 2.5rem 0;
}

.l-footer__contents {
  margin: 0 auto;
  width: -moz-fit-content;
  width: fit-content;
}

.l-footer__logo img {
  aspect-ratio: 244/80;
  height: auto;
  margin: 0 auto;
  width: 15.25rem;
}

.l-footer-menu {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  margin-top: 2.125rem;
}

.l-footer-menu__item a {
  color: #fff;
  display: block;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25;
}

.l-footer__copyright {
  color: #fff;
  font-size: 0.875rem;
  margin-top: 2.5rem;
  text-align: center;
}

.c-cta__title {
  align-items: flex-end;
  display: flex;
  font-size: 1.25rem;
  font-weight: 500;
  gap: 1em;
  line-height: 1.5;
  margin: 0 auto;
  position: relative;
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
}

.c-cta__title::before,
.c-cta__title::after {
  bottom: -5em;
  content: "";
  height: 1.5rem;
}

.c-cta__title::before {
  border-left: 0.0625rem solid #333333;
  left: 0;
  transform: rotate(-45deg);
}

.c-cta__title::after {
  border-right: 0.0625rem solid #333333;
  right: 0;
  transform: rotate(45deg);
}

.c-cta__items {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .c-cta__items {
    flex-direction: row;
    gap: 4%;
    justify-content: center;
    margin-top: 1.25rem;
  }
}

@media screen and (min-width: 768px) {
  .c-cta__item {
    flex: 1;
    max-width: 30rem;
  }
}

.c-cta__item a {
  align-items: center;
  border-radius: 0.625rem;
  box-shadow: inset 5px 4px 4px 1px rgba(255, 255, 255, 0.6), inset -3px -4px 5px rgba(0, 0, 0, 0.25);
  display: flex;
  font-size: 1.75rem;
  font-weight: 700;
  justify-content: center;
  line-height: 1.0714285714;
  min-height: 6.25rem;
  position: relative;
  text-align: center;
}

@media (hover: hover) {
  .c-cta__item a:hover {
    filter: brightness(1.1);
    opacity: 1;
    transform: scale(0.99, 0.99) translateY(0.3125rem);
  }
}
.c-cta__item--mail a {
  background-color: #ffee00;
  gap: 0.625rem;
}

.c-cta__item--line a {
  background-color: #06c755;
  color: #fff;
  gap: 1.25rem;
}

.c-cta__item--mail a:before {
  aspect-ratio: 15/12;
  background-image: url(../images/common/icon-mail.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  display: block;
  height: 1em;
  position: relative;
  top: 0.1em;
}

.c-cta__item--line a:before {
  aspect-ratio: 30/30;
  background-image: url(../images/common/icon-line.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  display: block;
  height: 1.8em;
}

.c-follow-cta {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
  position: fixed;
  right: 0;
  top: 1.25rem;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .c-follow-cta {
    gap: 1.25rem;
  }
}

.c-follow-cta__btn {
  border-radius: 0.625rem 0 0 0.625rem;
  cursor: pointer;
  position: relative;
}

.c-follow-cta__btn:before {
  border-radius: 0.625rem 0 0 0.625rem;
  bottom: -0.375rem;
  content: "";
  display: block;
  height: calc(100% + 0.375rem);
  left: -0.25rem;
  position: absolute;
  width: calc(100% + 0.375rem);
  z-index: -1;
}

.c-follow-cta__btn--mail:before {
  background-color: #ebda0a;
}

.c-follow-cta__btn--line:before {
  background-color: #32b341;
}

.c-follow-cta__btn a {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 0.6875rem;
  padding: 0.625rem 0.1875rem 1rem;
}
@media screen and (min-width: 768px) {
  .c-follow-cta__btn a {
    gap: 1.5rem;
    padding: 0.9375rem 1.125rem 2.25rem;
  }
}

@media (hover: hover) {
  .c-follow-cta__btn:hover {
    opacity: 1;
    transform: scale(0.99, 0.99) translateY(0.3125rem);
  }
  .c-follow-cta__btn:hover:before {
    background-color: transparent;
  }
}
.c-follow-cta__btn--mail {
  background-color: #ffee00;
}

.c-follow-cta__btn--line {
  background-color: #06c755;
  color: #fff;
  position: relative;
}

.c-follow-cta__btn--line::after {
  aspect-ratio: 106/112;
  background-image: url(../images/common/icon-telephone.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  bottom: 0;
  content: "";
  display: block;
  position: absolute;
  right: 0;
  transform: translateY(50%);
  width: 75%;
}
@media screen and (min-width: 768px) {
  .c-follow-cta__btn--line::after {
    width: 50%;
  }
}

.c-follow-cta__btn-text {
  font-size: 0.625rem;
  font-weight: 700;
  line-height: 1.1;
}
@media screen and (min-width: 768px) {
  .c-follow-cta__btn-text {
    font-size: 1rem;
    font-weight: 900;
  }
}

.c-follow-cta__btn--mail .c-follow-cta__btn-text {
  color: #00b7ce;
}

.c-follow-cta__btn__title {
  align-items: center;
  display: flex;
  font-size: 0.625rem;
  font-weight: 900;
  gap: 0.625rem;
  line-height: 1.2857142857;
  position: relative;
  writing-mode: vertical-rl;
}
@media screen and (min-width: 768px) {
  .c-follow-cta__btn__title {
    font-size: 1.125rem;
    font-weight: 900;
    line-height: 1.2222222222;
  }
}

.c-follow-cta__btn--mail .c-follow-cta__btn__title {
  letter-spacing: 0.125rem;
}

.c-follow-cta__btn--mail .c-follow-cta__btn__title:before {
  aspect-ratio: 15/12;
  background-image: url(../images/common/icon-mail.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  display: block;
  width: 1em;
}

.c-follow-cta__btn--line .c-follow-cta__btn__title {
  letter-spacing: 0.0625rem;
  padding-bottom: 0.8125rem;
}
@media screen and (min-width: 768px) {
  .c-follow-cta__btn--line .c-follow-cta__btn__title {
    letter-spacing: 0.0625rem;
  }
}

.c-follow-cta__btn--line .c-follow-cta__btn__title:before {
  aspect-ratio: 30/30;
  background-image: url(../images/common/icon-line.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  display: block;
  width: 1.875rem;
}

.c-hr {
  background-color: #00b7ce;
  border: 0;
  border-radius: 0.0625rem;
  height: 0.125rem;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .c-hr {
    height: 0.1875rem;
  }
}

.c-list-num {
  counter-reset: listnum; /* カウンターをリセット */
  display: flex;
  flex-direction: column;
  gap: 0.2em;
}

.c-list-num--02 {
  margin-top: 0.375rem !important;
}

.c-list-num li {
  margin-bottom: 0.9375rem;
  padding-left: 2.2em;
  position: relative;
}

.c-list-num--01 > li:not(:first-of-type) {
  margin-top: 0.5em;
}

.c-list-num--01 > li::before {
  content: counter(listnum) ".";
  counter-increment: listnum;
  display: inline-block;
  font-family: "Roboto", sans-serif;
  left: 0;
  position: absolute;
  vertical-align: middle;
  width: 2em;
}

.c-list-num--02 > li::before {
  content: "(" counter(listnum) ")";
  counter-increment: listnum;
  display: inline-block;
  font-family: "Roboto", sans-serif;
  left: 0;
  position: absolute;
  vertical-align: middle;
  width: 2em;
}

.c-list-num__marker {
  background-color: #d9d9d9;
  padding: 0.1em 0.2em;
  width: 100%;
}

.c-page__main {
  margin-top: 0rem;
  padding: 3.125rem 1.25rem;
}
@media screen and (min-width: 768px) {
  .c-page__main {
    background: linear-gradient(180deg, #e3f2f4 0%, #f7f7f7 100%);
    border-radius: 1.25rem;
    margin-top: 3.125rem;
    padding: 6.25rem;
  }
}

.c-page__heading {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 0.6em;
  justify-content: center;
}

.c-page__contents {
  background: linear-gradient(180deg, #e3f2f4 0%, #f7f7f7 100%);
  padding-top: 5.625rem;
}
@media screen and (min-width: 768px) {
  .c-page__contents {
    background: transparent none repeat 0 0 / auto auto padding-box border-box scroll;
    background: initial;
    padding-top: 7.5rem;
  }
}

.c-page__contents-inner {
  padding: 0;
}
@media screen and (min-width: 768px) {
  .c-page__contents-inner {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}

.c-page__heading-jp {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1;
}

.c-page__heading-en {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .c-page__heading-en {
    font-size: 1.25rem;
  }
}

.c-page__content {
  background-color: #f7f7f7;
  border-radius: 1.25rem;
  margin: 2.5rem auto 0;
  padding: 1.25rem;
}
@media screen and (min-width: 768px) {
  .c-page__content {
    margin: 3.125rem auto 0;
    padding: 3.125rem;
  }
}

.c-page__inner {
  margin: 0 auto;
}

.c-page__section-heading {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.1111111111;
}
@media screen and (min-width: 768px) {
  .c-page__section-heading {
    font-size: 1.25rem;
    line-height: 1;
  }
}

.c-table {
  display: flex;
  flex-direction: column;
  gap: 0.3125rem;
}

.c-table__box {
  display: flex;
  flex-direction: column;
  gap: 0.3125rem;
}
@media screen and (min-width: 768px) {
  .c-table__box {
    flex-direction: row;
  }
}

.c-table__title {
  background-color: #d9d9d9;
  border-radius: 0.1875rem;
  flex-shrink: 0;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.25;
  padding: 0.875rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .c-table__title {
    font-size: 1rem;
    padding: 1.25rem;
    width: 34%;
  }
}

.c-table__text {
  border-radius: em(3);
  font-size: 0.875rem;
  line-height: 1.25;
  padding: 0.875rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .c-table__text {
    font-size: 1rem;
    padding: 1.25rem;
  }
}

@media screen and (min-width: 768px) {
  .p-privacy-policy .c-page__inner {
    width: 90%;
  }
}

.p-privacy-policy__intro {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.25;
}

.p-privacy-policy__items {
  margin-top: 1.875rem;
}

.p-privacy-policy__items > li:not(:first-of-type) {
  margin-top: 2.5rem;
}

.p-privacy-policy__item-list {
  font-size: 1rem;
  margin-top: 1.25rem;
}

.p-privacy-policy__item > p {
  font-size: 1rem;
  line-height: 1.5625;
  margin-top: 0.625rem;
}

.p-privacy-policy__date {
  font-size: 1rem;
  margin-top: 2.5rem;
  text-align: right;
}

.p-privacy-policy__item > .c-list-num--02 {
  margin-top: 0.625rem !important;
}

.p-privacy-policy__item > .c-list-num--02 {
  margin-left: 0.5em;
}

.p-privacy-policy__highlight {
  background-color: #e3f2f4;
  border-radius: 0.1875rem;
  font-size: 1rem;
  line-height: 1.5625;
  margin-top: 0.625rem;
  padding: 0.625rem 0.9375rem;
}

@media screen and (min-width: 768px) {
  .p-terms .c-page__inner {
    width: 90%;
  }
}

.p-terms__intro {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.25;
}

.p-terms__items {
  margin-top: 1.875rem;
}

.p-terms__items > li:not(:first-of-type) {
  margin-top: 2.5rem;
}

.p-terms__item-list {
  font-size: 1rem;
  margin-top: 1.25rem;
}

.p-terms__item > p {
  font-size: 1rem;
  line-height: 1.5625;
  margin-top: 0.625rem;
}

.p-terms__date {
  font-size: 1rem;
  margin-top: 2.5rem;
  text-align: right;
}

.p-terms__item > .c-list-num--02 {
  margin-top: 0.625rem !important;
}

.p-terms__item > .c-list-num--02 {
  margin-left: 0.5em;
}

.p-top-mv {
  background-image: url(../images/top/mv-bg-sp.jpg);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
  padding-bottom: 0.875rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-top-mv {
    background: none;
  }
}

@media screen and (min-width: 768px) {
  .p-top-mv:before {
    background: linear-gradient(139.31deg, #00b7ce 9.2%, #0aebeb 76.88%);
    content: "";
    height: 76%;
    position: absolute;
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .p-top-mv::after {
    background-image: url(../images/common/motif-bg-arrow.png);
    background-repeat: repeat;
    background-size: 10%;
    content: "";
    height: 76%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
  }
}

.p-top-mv__bg {
  position: relative;
  z-index: 1;
}

.p-top-mv__bg::before {
  -webkit-clip-path: polygon(32% 0%, 100% 0%, 100% 100%, 32% 100%, 0% 50%);
  aspect-ratio: 375/600;
  background: linear-gradient(180deg, #ffee00 50%, #ebda0a 50%);
          clip-path: polygon(32% 0%, 100% 0%, 100% 100%, 32% 100%, 0% 50%);
  content: "";
  display: block;
  height: auto;
  max-height: 60%;
  position: absolute;
  right: 0;
  top: 53.5%;
  transform: translateY(-50%);
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-top-mv__bg::before {
    -webkit-clip-path: polygon(57% 0, 100% 0, 100% 100%, 0% 100%);
    background: #ffee00;
            clip-path: polygon(57% 0, 100% 0, 100% 100%, 0% 100%);
    height: 77%;
    max-height: none;
    max-height: initial;
    top: 0;
    transform: none;
    transform: initial;
    width: 60%;
  }
}

@media screen and (min-width: 768px) {
  .p-top-mv__bg::after {
    background-color: #ebda0a;
    border-radius: 0 0 0 2.5rem;
    bottom: 7%;
    content: "";
    display: block;
    height: 16%;
    max-height: initial;
    max-height: 11.75rem;
    position: absolute;
    right: 0;
    transform: none;
    transform: initial;
    width: 60%;
  }
}

.p-top-mv__inner {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-top-mv__inner {
    max-width: 90rem;
  }
}

.p-top-mv__catch {
  padding-top: 5.625rem;
}
@media screen and (min-width: 768px) {
  .p-top-mv__catch {
    padding-top: 7.5rem;
  }
}

.p-top-mv__catch img {
  -o-object-fit: contain;
  aspect-ratio: 274/160;
  height: auto;
     object-fit: contain;
  width: 84.33%;
}
@media screen and (min-width: 768px) {
  .p-top-mv__catch img {
    aspect-ratio: 1842/467;
    max-width: 57.5625rem;
    width: 68%;
  }
}

@media screen and (min-width: 768px) {
  .p-top-mv__contents {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    margin-top: 2.3125rem;
  }
}

.p-top-mv__images {
  margin-right: calc(50% - 50vw);
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-top-mv__images {
    margin-top: 0;
    transform: translateY(-14%);
    width: 57%;
  }
}

.p-top-mv__promo {
  margin: 1.875rem auto 0;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-top-mv__promo {
    margin: clamp(
    0rem,
    -1.7857142857rem + 3.7202380952vw,
    1.5625rem
  ) 0 0;
    max-width: 33.125rem;
    width: 39%;
  }
}

.p-top-mv__promo-bottom {
  background-color: #fff;
  border-radius: 0 0 0.625rem 0.625rem;
  padding: 1.25rem;
}

.p-top-mv__promo-items {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 0.3125rem;
}

.p-top-mv__promo-item {
  background-color: #00b7ce;
  border-radius: 0.3125rem;
  color: #fff;
  font-size: 1.25rem;
  padding: 0.5em;
  text-align: center;
  width: 83%;
}
@media screen and (min-width: 768px) {
  .p-top-mv__promo-item {
    font-size: clamp(
    0.875rem,
    -0.2678571429rem + 2.380952381vw,
    1.875rem
  );
    font-weight: 900;
    padding: 0.25em;
    width: 91%;
  }
}

@media screen and (min-width: 768px) {
  .p-top-mv__promo-item .u-font__bold {
    font-weight: 900;
  }
}

.p-top-mv__promo-note {
  background: linear-gradient(transparent 70%, #00b7ce 70%);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.4285714286;
  margin: 0 auto;
  margin-top: 0.625rem;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .p-top-mv__promo-note {
    font-size: clamp(
    0.875rem,
    0.7321428571rem + 0.2976190476vw,
    1rem
  );
    line-height: 1.25;
    margin-left: auto;
    margin-right: 0;
  }
}

.p-top-intro {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-top-intro {
    background-image: url(../images/top/intro-bg-01-pc.png);
    background-position: 7% center;
    background-repeat: no-repeat;
    background-size: clamp(
    5rem,
    -9.2857142857rem + 29.7619047619vw,
    17.5rem
  );
    margin-top: 2.875rem;
  }
}

.p-top-intro__text {
  font-size: 1.25rem;
  font-weight: 900;
  margin: 0 auto;
  padding-right: 10%;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .p-top-intro__text {
    padding-right: 0;
    padding-right: initial;
  }
}

.p-top-intro__text:after {
  aspect-ratio: 567/43;
  background-image: url(../images/top/intro-bg-arrow-sp.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  display: block;
  height: auto;
  position: relative;
  top: -0.125rem;
  width: 17.5rem;
}
@media screen and (min-width: 768px) {
  .p-top-intro__text:after {
    aspect-ratio: 1027/71;
    background-image: url(../images/top/intro-bg-arrow-pc.png);
    left: 1%;
    top: 0.375rem;
    width: 100%;
    width: 98%;
  }
}

.p-top-intro__highlight {
  font-size: 150%;
  line-height: 1.6666666667;
}
@media screen and (min-width: 768px) {
  .p-top-intro__highlight {
    font-size: 200%;
    font-weight: 900;
    line-height: 1;
  }
}

.p-top-intro__text + .p-top-intro__text {
  letter-spacing: 0.0625rem;
  margin-top: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-top-intro__text + .p-top-intro__text {
    letter-spacing: 0;
    margin-top: 2.125rem;
  }
}

@media screen and (min-width: 768px) {
  .p-top-intro__text:nth-of-type(1) .p-top-intro__highlight:nth-of-type(1) {
    font-size: 1.875rem;
  }
}

.p-top-worries {
  background-image: url(../images/top/worries-bg-01-sp.png);
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: cover;
  margin-top: 3.25rem;
  padding: 3.75rem 0 8.75rem;
}
@media screen and (min-width: 768px) {
  .p-top-worries {
    background-image: url(../images/top/worries-bg-01-pc.png);
    margin-top: 7.5rem;
    padding: 6.25rem 0 10rem;
  }
}

.p-top-worries__intro {
  font-size: 1.25rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-top-worries__intro {
    font-size: 1.875rem;
    margin: 0 auto;
    width: -moz-fit-content;
    width: fit-content;
  }
}

.p-top-worries__intro span {
  display: block;
  font-size: 150%;
  line-height: 117%;
}
@media screen and (min-width: 768px) {
  .p-top-worries__intro span {
    font-size: 166%;
  }
}

.p-top-worries__items {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-top-worries__items {
    gap: 1.25rem;
    margin: 2.5rem auto 0;
    max-width: 43.125rem;
  }
}

.p-top-worries__item {
  align-items: stretch;
  background: linear-gradient(90deg, #00b7ce 0%, #00b7ce 15%, #fff 15%, #fff 100%);
  background-color: #fff;
  border: 0.125rem solid #00b7ce;
  border-radius: 0.1875rem;
  display: flex;
  gap: 0.875rem;
  min-height: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-top-worries__item {
    min-height: 3.125rem;
  }
}

.p-top-worries__label {
  -webkit-clip-path: polygon(0% 0%, 85% 0%, 100% 50%, 85% 100%, 0% 100%);
  align-items: center;
  background-color: #00b7ce;
          clip-path: polygon(0% 0%, 85% 0%, 100% 50%, 85% 100%, 0% 100%);
  color: #fff;
  display: grid;
  flex-shrink: 0;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1;
  padding: 0.5em 1.5em 0.5em 1em;
}
@media screen and (min-width: 768px) {
  .p-top-worries__label {
    font-size: 1.6875rem;
    font-weight: 700;
    line-height: 1.1111111111;
    padding: 0.1em 0.8em 0.1em 0.7em;
  }
}

.p-top-worries__text {
  align-items: center;
  color: #00b7ce;
  display: grid;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25;
  padding-right: 2.25rem;
  width: 100%;
  word-break: keep-all;
}
@media screen and (min-width: 768px) {
  .p-top-worries__text {
    font-size: 1.6875rem;
    font-weight: 700;
    line-height: 1.1111111111;
  }
}

.p-top-point {
  background: linear-gradient(180deg, #f7f7f7 80%, #e3f2f4 100%);
  margin-top: 3.4375rem;
}
@media screen and (min-width: 768px) {
  .p-top-point {
    margin-top: 7.5rem;
  }
}

.p-top-point__title {
  padding-bottom: 1.125rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-top-point__title {
    padding-bottom: 0.25rem;
  }
}

.p-top-point__title-text {
  font-family: "Roboto", sans-serif;
  font-size: 1.25rem;
  margin: 0 auto;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .p-top-point__title-text {
    font-size: 1.875rem;
    line-height: 125%;
  }
}

.p-top-point__title-text:after {
  aspect-ratio: 590/110;
  background-image: url(../images/top/arrow-img-yellow.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  display: block;
  height: auto;
  position: relative;
  top: -0.875rem;
  transform: translateX(54%);
  width: 10rem;
}
@media screen and (min-width: 768px) {
  .p-top-point__title-text:after {
    top: -2.1875rem;
    transform: translateX(38%);
    width: 18.4375rem;
  }
}

.p-top-point__title-text-highlight {
  font-size: 1.875rem;
  line-height: 125%;
}
@media screen and (min-width: 768px) {
  .p-top-point__title-text-highlight {
    display: block;
    font-size: 3.125rem;
    margin-top: 0.625rem;
  }
}

.p-top-point__title-text-highlight span {
  margin-left: 0.3em;
}

.p-top-point__title-images img {
  aspect-ratio: 45/60;
  bottom: -0.03125rem;
  left: 0.625rem;
  position: absolute;
  width: 3rem;
}
@media screen and (min-width: 768px) {
  .p-top-point__title-images img {
    left: 8%;
    width: 9.375rem;
  }
}

.p-top-point__items {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  margin: 0 auto;
  width: 95%;
}
@media screen and (min-width: 768px) {
  .p-top-point__items {
    -moz-column-gap: 4%;
         column-gap: 4%;
    grid-template-columns: repeat(3, 1fr);
    row-gap: 2.1875rem;
    width: 100%;
  }
}

.p-top-point__items li:not(:first-of-type) {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-top-point__items li:not(:first-of-type) {
    margin-top: 0;
  }
}

.p-top-point__item {
  background-color: #fff;
  border-radius: 0.1875rem;
  box-shadow: 0.0625rem 0.1875rem 0.1875rem rgba(51, 51, 51, 0.25);
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;
  padding-bottom: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-top-point__item {
    gap: 0;
  }
}

.p-top-point-item__header {
  align-items: stretch;
  background-color: #94dde7;
  border-radius: 0.1875rem;
  display: flex;
  gap: 0.625rem;
  min-height: 4.375rem;
}
@media screen and (min-width: 768px) {
  .p-top-point-item__header {
    min-height: 3.75rem;
  }
}

.p-top-point-item__number {
  -webkit-clip-path: polygon(0% 0%, 87% 0%, 100% 50%, 87% 100%, 0% 100%);
  align-items: center;
  background-color: #00b7ce;
  border-radius: 0.1875rem 0 0 0.1875rem;
          clip-path: polygon(0% 0%, 87% 0%, 100% 50%, 87% 100%, 0% 100%);
  color: #fff;
  display: grid;
  flex-shrink: 0;
  font-family: "Roboto", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1;
  padding: 0.5em 1em 0.5em 0.8em;
  position: relative;
  top: 0.01875rem;
}

.p-top-point-item__title {
  align-items: center;
  display: grid;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5625;
  padding: 0.5em 1.25rem 0.5em 0;
}
@media screen and (min-width: 768px) {
  .p-top-point-item__title {
    line-height: 1.25;
  }
}

.p-top-point-item__image {
  margin-top: 1.25rem;
}

.p-top-point-item__image img {
  border-radius: 0.1875rem;
  margin: 0 auto;
  width: 79%;
}

.p-top-point-item__description {
  font-size: 1rem;
  line-height: 1.5625;
  margin: 0 auto;
  margin-top: 0.9375rem;
  width: 84%;
}

.p-top-point__cta {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-top-point__cta {
    margin-top: 5rem;
  }
}

.p-top-plan {
  background-color: #e3f2f4;
  overflow: hidden;
}

.p-top-plan__bg {
  background: #f7f7f7;
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  margin-left: -15.625rem;
  margin-right: -15.625rem;
  margin-top: 3.125rem;
  padding-left: 15.625rem;
  padding-right: 15.625rem;
  padding-top: 4.375rem;
}
@media screen and (min-width: 768px) {
  .p-top-plan__bg {
    margin-left: -37.5rem;
    margin-right: -37.5rem;
    margin-top: 7.5rem;
    padding-left: 37.5rem;
    padding-right: 37.5rem;
    padding-top: 7.8125rem;
  }
}

@media screen and (min-width: 768px) {
  .p-top-plan__contents {
    display: flex;
    justify-content: space-between;
  }
}

.p-top-plan__title {
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.6666666667;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-top-plan__title {
    font-size: 3.125rem;
    line-height: 1;
  }
}

.p-top-plan__title-text {
  margin: 0 auto;
  padding-bottom: 0.625rem;
  position: relative;
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .p-top-plan__title-text {
    padding-bottom: 1.625rem;
  }
}

.p-top-plan__title-text:after {
  aspect-ratio: 320/60;
  background-image: url(../images/top/arrow-img-blue.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  display: block;
  height: auto;
  position: relative;
  top: -1.25rem;
  transform: translateX(20%);
  width: 10rem;
}
@media screen and (min-width: 768px) {
  .p-top-plan__title-text:after {
    top: -0.875rem;
    transform: translateX(14%);
    width: 18.4375rem;
  }
}

.p-top-plan__title-images img {
  aspect-ratio: 68/80;
  bottom: 0;
  left: 0.625rem;
  position: absolute;
  width: 4.25rem;
}
@media screen and (min-width: 768px) {
  .p-top-plan__title-images img {
    left: 18%;
    width: 9.5625rem;
  }
}

.p-top-plan__consultation {
  background-color: #e3f2f4;
  border-radius: 0.1875rem;
  padding: 3.125rem 2.1875rem;
}
@media screen and (min-width: 768px) {
  .p-top-plan__consultation {
    align-content: center;
    display: grid;
    justify-content: center;
    place-content: center;
    width: 48%;
  }
}

.p-top-plan__consultation-text {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

.p-top-plan__consultation-fee {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  background: linear-gradient(transparent 80%, #ffee00 20%);
  display: grid;
  grid-template-columns: repeat(2, auto);
  grid-template-rows: repeat(2, auto);
  margin: 1.875rem auto 0;
  width: -moz-fit-content;
  width: fit-content;
}

.p-top-plan__consultation-fee span {
  font-weight: 700;
}

.p-top-plan__consultation-fee span:nth-of-type(1) {
  font-family: "Roboto", sans-serif;
  font-size: 3.75rem;
  grid-area: 1/1/3/2;
  line-height: 1;
  padding-left: 0.2em;
}

.p-top-plan__consultation-fee span:nth-of-type(2) {
  font-family: "Roboto", sans-serif;
  font-size: 1.875rem;
  grid-area: 2/2/3/3;
  line-height: 1.3333333333;
}
@media screen and (min-width: 768px) {
  .p-top-plan__consultation-fee span:nth-of-type(2) {
    margin-left: 0.5em;
  }
}

.p-top-plan__consultation-fee span:nth-of-type(3) {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  grid-area: 1/2/2/3;
  line-height: 1.25;
}

.p-top-plan__consultation-description {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.875;
  margin: 1.875rem auto 0;
  width: -moz-fit-content;
  width: fit-content;
}

.p-top-plan__campaign {
  background-color: #e3f2f4;
  border-radius: 0.1875rem;
  margin-top: 1.25rem;
  padding: 2.5rem 0.9375rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-top-plan__campaign {
    margin-top: 0rem;
    padding: 3.75rem 0.9375rem;
    width: 48%;
  }
}

.p-top-plan__campaign:after {
  aspect-ratio: 71/60;
  background-image: url(../images/top/plan-img-woman-02.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  bottom: 0;
  content: "";
  display: block;
  left: 0.375rem;
  position: absolute;
  width: 4.4375rem;
}
@media screen and (min-width: 768px) {
  .p-top-plan__campaign:after {
    width: 8.1875rem;
  }
}

.p-top-plan__campaign-title {
  color: #00b7ce;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.875;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-top-plan__campaign-title {
    font-size: 1.3125rem;
    line-height: 1.1538461538;
  }
}

.p-top-plan__campaign-price {
  display: block;
  margin: 1.875rem auto 0;
  max-width: 16.25rem;
  width: 90%;
}
@media screen and (min-width: 768px) {
  .p-top-plan__campaign-price {
    margin: 2.5rem auto 0;
    max-width: none;
    max-width: initial;
  }
}

.p-top-plan__extra-description {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.875;
  margin-top: 1.125rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-top-plan__extra-description {
    margin-top: 3.125rem;
  }
}

.p-top-plan__cta {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-top-plan__cta {
    margin-top: 5rem;
  }
}

.p-top-flow {
  padding-top: 8.125rem;
}
@media screen and (min-width: 768px) {
  .p-top-flow {
    padding-top: 13.875rem;
  }
}

.p-top-flow__title {
  position: relative;
}

.p-top-flow__title-text {
  font-size: 1.875rem;
  line-height: 1.3333333333;
  margin: 0 auto;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .p-top-flow__title-text {
    font-size: 3.125rem;
    line-height: 1;
  }
}

.p-top-flow__title-text:after {
  aspect-ratio: 590/110;
  background-image: url(../images/top/arrow-img-yellow.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  display: block;
  height: auto;
  position: relative;
  top: -0.875rem;
  transform: translateX(33%);
  width: 10rem;
}
@media screen and (min-width: 768px) {
  .p-top-flow__title-text:after {
    top: -1.25rem;
    transform: translateX(109%);
    width: 18.4375rem;
  }
}

.p-top-flow__intro {
  background-color: #00b7ce;
  border-radius: 1.875rem;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 2.1428571429;
  margin: 0.875rem auto 0;
  min-width: 20.3125rem;
  padding: 0.625rem;
  position: relative;
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .p-top-flow__intro {
    font-size: 1.25rem;
    line-height: 1.5;
    margin: 1.25rem auto 0;
    max-width: none;
    max-width: initial;
    padding: 0.625rem 5rem;
  }
}

.p-top-flow__intro:before {
  border: 0.5rem solid transparent;
  border-top: 0.875rem solid #00b7ce;
  bottom: 0;
  content: "";
  left: 50%;
  position: absolute;
  transform: translate(-50%, 100%);
}

.p-top-flow__items {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  margin: 2.625rem auto 0;
  max-width: 11.25rem;
}
@media screen and (min-width: 768px) {
  .p-top-flow__items {
    grid-column-gap: 9%;
    grid-template-columns: repeat(4, 1fr);
    margin: 3.625rem auto 0;
    max-width: none;
    max-width: initial;
  }
}

.p-top-flow__item {
  display: grid;
  grid-row: span 4;
  grid-template-rows: subgrid;
  position: relative;
  text-align: center;
}

.p-top-flow__items li:not(:first-of-type) {
  margin-top: 5.625rem;
}
@media screen and (min-width: 768px) {
  .p-top-flow__items li:not(:first-of-type) {
    margin-top: 0;
  }
}

.p-top-flow__items li:not(:last-of-type):after {
  aspect-ratio: 1/1;
  background-image: url(../images/common/next-line.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  bottom: -19%;
  content: "";
  display: block;
  left: 50%;
  position: absolute;
  transform: translate(-50%) rotate(90deg);
  width: 1.875rem;
}
@media screen and (min-width: 768px) {
  .p-top-flow__items li:not(:last-of-type):after {
    bottom: auto;
    bottom: initial;
    left: 128%;
    top: 37%;
    transform: initial;
    transform: translate(-50%) rotate(0deg);
  }
}

.p-top-flow__step {
  color: #00b7ce;
  font-family: "Roboto", sans-serif;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1;
}

.p-top-flow__image {
  margin-top: 0.625rem;
}

.p-top-flow__image img {
  border-radius: 0.625rem;
}

.p-top-flow__subtitle {
  color: #00b7ce;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  margin-top: 0.625rem;
  word-break: keep-all;
}

.p-top-flow__description {
  line-height: 1.5625;
  margin-top: 1.25rem;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .p-top-flow__description {
    margin-top: 0.875rem;
  }
}

.p-top-review {
  background-image: url(../images/top/review-bg-01-sp.png);
  background-position: top;
  background-repeat: no-repeat;
  background-size: cover;
  margin-top: 3.75rem;
  padding: 6.25rem 0 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-top-review {
    background-image: url(../images/top/review-bg-01-pc.png);
    margin-top: 7.5rem;
    padding: 6.5625rem 0 7.5rem;
  }
}

.p-top-review__title {
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.6666666667;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-top-review__title {
    font-size: 3.125rem;
    font-weight: 700;
    line-height: 1.4;
  }
}

.p-top-review__title-text {
  margin: 0 auto;
  padding-bottom: 0.625rem;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
}

.p-top-review__title-text:after {
  aspect-ratio: 320/60;
  background-image: url(../images/top/arrow-img-blue.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  display: block;
  height: auto;
  position: relative;
  top: -1.5rem;
  transform: translateX(67%);
  width: 10rem;
}
@media screen and (min-width: 768px) {
  .p-top-review__title-text:after {
    top: -2.25rem;
    transform: translateX(50%);
    width: 18.4375rem;
  }
}

.p-top-review__items {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-top-review__items {
    flex-direction: row;
    gap: auto;
    justify-content: space-between;
  }
}

.p-top-review__item {
  background-color: #fcfaf2;
  outline: 0.0625rem solid #ebda0a;
  outline-offset: -0.625rem;
  padding: 0.8125rem 1.75rem 1.75rem;
}
@media screen and (min-width: 768px) {
  .p-top-review__item {
    padding: 0.8125rem 2.25rem 1.75rem;
    width: 48%;
  }
}

.p-top-review__item__title img {
  -o-object-fit: contain;
  height: auto;
     object-fit: contain;
  transform: translate(-0.5625rem, 0);
  width: 10.5rem;
}
@media screen and (min-width: 768px) {
  .p-top-review__item__title img {
    transform: translate(-0.375rem, 0.5rem);
  }
}

.p-top-review__text {
  font-family: "Noto Serif JP", serif;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.4285714286;
  margin-top: 0.3125rem;
}
@media screen and (min-width: 768px) {
  .p-top-review__text {
    font-size: 1rem;
    line-height: 1.5625;
    margin-top: 1.5625rem;
  }
}

.p-top-review__author {
  font-family: "Noto Serif JP", serif;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.4285714286;
  margin-top: 1.25rem;
  text-align: right;
}
@media screen and (min-width: 768px) {
  .p-top-review__author {
    font-size: 1rem;
    line-height: 1.25;
  }
}

.p-top-review__cta {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-top-review__cta {
    margin-top: 5rem;
  }
}

.c-contact {
  background-color: #e3f2f4;
}

.c-contact__bg {
  background-image: url(../images/top/contact-bg-01.png);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 21.25rem;
  padding: 3.75rem 0;
}
@media screen and (min-width: 768px) {
  .c-contact__bg {
    padding: 7.5rem 0;
  }
}

.c-contact__title {
  position: relative;
}

.c-contact__title-text {
  font-size: 1.875rem;
  line-height: 1.3333333333;
  margin: 0 auto;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .c-contact__title-text {
    font-size: 3.125rem;
    line-height: 1;
  }
}

.c-contact__title-text:after {
  aspect-ratio: 590/110;
  background-image: url(../images/top/arrow-img-blue.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  bottom: -0.625rem;
  content: "";
  display: block;
  height: auto;
  position: absolute;
  transform: translateX(6%);
  width: 10rem;
}
@media screen and (min-width: 768px) {
  .c-contact__title-text:after {
    bottom: -1.875rem;
    transform: translateX(-2%);
    width: 18.4375rem;
  }
}

.c-contact__intro {
  color: #00b7ce;
  font-size: 1.5625rem;
  font-weight: 700;
  line-height: 1.2;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .c-contact__intro {
    font-size: 3.125rem;
    font-weight: 700;
    line-height: 1;
    margin-top: 4rem;
    text-align: center;
    word-break: keep-all;
  }
}

.c-contact__text {
  font-size: 1rem;
  line-height: 1.5625;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .c-contact__text {
    font-size: 1.25rem;
    line-height: 1.5;
    margin: 1.875rem auto 0;
    width: -moz-fit-content;
    width: fit-content;
  }
}

.c-contact__cta {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .c-contact__cta {
    margin-top: 5rem;
  }
}

.p-top-faq {
  background-color: #00b7ce;
}

.p-top-faq__bg {
  background-image: url(../images/top/next-bg.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 3.75rem 0;
}
@media screen and (min-width: 768px) {
  .p-top-faq__bg {
    background-repeat: repeat;
    background-size: contain;
    padding: 6.25rem 0 7.875rem;
  }
}

.p-top-faq .l-inner {
  padding-right: 50px;
}

.p-top-faq__title {
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 120%;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-top-faq__title {
    font-size: 3.125rem;
  }
}

.p-top-faq__title-text {
  margin: 0 auto;
  padding-bottom: 1.375rem;
  position: relative;
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .p-top-faq__title-text {
    padding-bottom: 2.1875rem;
  }
}

.p-top-faq__title-text:after {
  aspect-ratio: 320/60;
  background-image: url(../images/top/arrow-img-yellow.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  display: block;
  height: auto;
  position: relative;
  top: -0.5625rem;
  transform: translateX(17%);
  width: 10rem;
}
@media screen and (min-width: 768px) {
  .p-top-faq__title-text:after {
    top: -0.9375rem;
    transform: translateX(93%);
    width: 18.4375rem;
  }
}

.p-top-faq__title-images img {
  aspect-ratio: 82/90;
  bottom: 0;
  left: 0.625rem;
  position: absolute;
  width: 5.125rem;
}
@media screen and (min-width: 768px) {
  .p-top-faq__title-images img {
    left: 4%;
    width: 11.4375rem;
  }
}

.p-top-faq__list {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  width: 100%;
}

.p-top-faq__list-item {
  border: 0.25rem solid #ffee00;
  border-radius: 0.3125rem;
  cursor: pointer;
}

.p-top-faq__list-item.open .p-top-faq__list-item-box--q:after {
  transform: rotate(0deg);
}

.p-top-faq__list-item-box-inner {
  align-items: center;
  display: flex;
  gap: 0.5em;
}
@media screen and (min-width: 768px) {
  .p-top-faq__list-item-box-inner {
    gap: 2em;
  }
}

.p-top-faq__list-item-box span {
  font-family: "Roboto", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 120%;
}
@media screen and (min-width: 768px) {
  .p-top-faq__list-item-box span {
    font-size: 1.875rem;
    width: 2.375rem;
  }
}

.p-top-faq__list-item-box--q {
  background-color: #e3f2f4;
  cursor: pointer;
  font-weight: 700;
  padding: 1.25rem 0.8125rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-top-faq__list-item-box--q {
    padding: 1.25rem 2.1875rem;
  }
}

.p-top-faq__list-item-box--q span {
  color: #00b7ce;
  font-weight: 700;
  min-width: 1.5em;
  position: relative;
}

.p-top-faq__list-item-box--q p {
  font-family: "Roboto", sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 120%;
  padding-right: 1.2em;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-top-faq__list-item-box--q p {
    align-items: center;
    display: flex;
    font-size: 1.5rem;
    gap: 1%;
    position: relative;
  }
}

@media screen and (min-width: 768px) {
  .p-top-faq__list-item-box--q p:before {
    aspect-ratio: 1/1;
    background-image: url(../images/common/next-line.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    display: block;
    height: 1.2em;
  }
}

.p-top-faq__list-item-box--a {
  background-color: #fff;
  display: none;
  padding: 0.5625rem 1.125rem 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-top-faq__list-item-box--a {
    padding: 1.75rem 2.5rem 2.375rem;
  }
}

.p-top-faq__list-item-box--a span {
  display: none;
}

.p-top-faq__list-item-box--a p {
  font-size: 0.875rem;
  line-height: 1.4285714286;
}
@media screen and (min-width: 768px) {
  .p-top-faq__list-item-box--a p {
    font-size: 1rem;
    line-height: 1.5625;
  }
}

.p-top-faq__list-item-box--q:before,
.p-top-faq__list-item-box--q:after {
  background-color: #00b7ce;
  content: "";
  display: block;
  height: 0.125rem;
  position: absolute;
  right: 0.75rem;
  top: 50%;
  width: 0.875rem;
}
@media screen and (min-width: 768px) {
  .p-top-faq__list-item-box--q:before,
  .p-top-faq__list-item-box--q:after {
    height: 0.25rem;
    right: 2.5rem;
    width: 1.375rem;
  }
}

.p-top-faq__list-item-box--q:after {
  transform: rotate(90deg);
  transition: all 0.3s ease 0s;
}

.u-display__none {
  display: none;
}

.u-display__pc-only {
  display: none;
}
@media screen and (min-width: 768px) {
  .u-display__pc-only {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .u-display__sp-only {
    display: none;
  }
}

.u-color__blue {
  color: #00b7ce;
}

.u-color__yellow {
  color: #ffee00;
}

.u-font__bold {
  font-weight: bold;
}

.u-indent--10 {
  padding-left: 1em;
  text-indent: -1em;
}

.u-indent--15 {
  padding-left: 1.5em;
  text-indent: -1.5em;
}

.u-indent--20 {
  padding-left: 2em;
  text-indent: -2em;
}

.u-indent--25 {
  padding-left: 2.5em;
  text-indent: -2.5em;
}

.u-indent--30 {
  padding-left: 3em;
  text-indent: -3em;
}

.u-indent--40 {
  padding-left: 4em;
  text-indent: -4em;
}

.u-indent--50 {
  padding-left: 5em;
  text-indent: -5em;
}

.u-margin__top-00em {
  margin-top: 0;
}

.u-margin__top-05em {
  margin-top: 0.5em;
}

.u-align__center {
  text-align: center !important;
}

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

.u-align__right {
  text-align: right !important;
}

/* Layout
========================================================================== */
/* Component
========================================================================== */
/* Project
========================================================================== */
/* Utility
========================================================================== */
/*# sourceMappingURL=style.css.map */
