.adjust-sp {
  letter-spacing: 0.1em;
}

.c-inner {
  margin-inline: auto;
  max-width: 1366px;
  padding-inline: 20px;
  width: 100%;
}

.c-layout {
  width: 100%;
}
.c-layout--col3 .c-layout__aside {
  display: none;
}
.c-layout__side {
  display: none;
}
.c-layout__main {
  min-width: 0;
  padding-bottom: 80px;
  width: 100%;
}
.c-layout__inner {
  margin-inline: auto;
  padding-inline: 20px;
  position: relative;
  width: 100%;
}
.c-layout__aside {
  display: none;
  min-width: 0;
}

.c-title {
  display: flex;
  flex-direction: column;
}

.c-title-en {
  align-items: center;
  color: #e4007f;
  display: flex;
  font-family: "Manrope", sans-serif;
  font-size: 16px;
  font-weight: 700;
  gap: 6px;
  line-height: 1;
}
.c-title-en::before {
  background-color: currentColor;
  border-radius: 50%;
  content: "";
  flex-shrink: 0;
  height: 8px;
  width: 8px;
}
.c-title-en--blue {
  color: #00a0e9;
}

.c-title-jp {
  color: #303131;
  font-size: clamp(1.5rem, 1.3107971746rem + 0.8072653885vw, 2rem);
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: calc(48 / 32);
  margin-top: 10px;
}

.c-desc {
  color: #303131;
  font-size: 14px;
  font-weight: 700;
  line-height: 2;
  text-align: justify;
}
.c-desc p:not(:first-child) {
  margin-top: 13px;
}
.c-desc .is-em {
  color: #e4007f;
}
.c-desc--linkdecoration a {
  overflow-wrap: anywhere;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.c-desc--linkdecoration a:has(> span) span {
  text-decoration: underline;
  text-decoration-color: currentColor;
}

.c-heading {
  margin-bottom: 22px;
  min-height: 48px;
  padding-top: 20px;
  position: relative;
}
.c-heading::before {
  background: url(../images/icon-heading-line.svg) no-repeat left top/100% 24px;
  content: "";
  height: 24px;
  left: 0;
  max-width: 536px;
  pointer-events: none;
  position: absolute;
  top: 0;
  transform: scaleY(-1);
  width: 100%;
}
.c-heading__link {
  align-items: center;
  display: flex;
  gap: 16px;
}
.c-heading__link h1,
.c-heading__link h2,
.c-heading__link h3,
.c-heading__link h4,
.c-heading__link h5,
.c-heading__link h6 {
  color: #303131;
  font-size: clamp(1.25rem, 1.1553985873rem + 0.4036326942vw, 1.5rem);
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: calc(48 / 24);
  width: 100%;
}
.c-heading__link::before {
  background-color: #868ba4;
  border-radius: 50%;
  content: "";
  flex-shrink: 0;
  height: 8px;
  width: 8px;
}
.c-heading__link::after {
  background: url(../images/icon-arrow.svg) no-repeat center/10px 10px;
  background-color: #868ba4;
  border-radius: 50%;
  content: "";
  flex-shrink: 0;
  height: 32px;
  pointer-events: none;
  transition: transform 0.3s ease;
  width: 32px;
}
.c-heading__link:hover {
  opacity: 1;
}
.c-heading__link:hover::after {
  transform: translateX(3px);
}
.c-heading__icon {
  align-items: center;
  display: flex;
  justify-content: center;
  overflow: hidden;
}
.c-heading__icon img {
  height: 11px;
  -o-object-fit: contain;
     object-fit: contain;
  width: 10px;
}
.c-heading__icon:hover {
  background-color: #00a0e9;
  opacity: 1;
}

.c-btn {
  align-items: center;
  background-color: #ffffff;
  border: 1px solid #bdbdbd;
  border-radius: 6px;
  color: #303131;
  display: flex;
  font-size: 14px;
  font-weight: 700;
  gap: 12px;
  height: 52px;
  justify-content: space-between;
  letter-spacing: 0.03em;
  line-height: calc(20 / 14);
  max-width: 254px;
  padding: 0 16px 0 19px;
  width: 100%;
}
.c-btn p {
  min-width: 0;
  transition: transform 0.3s ease;
}
.c-btn::after {
  background-color: #00a0e9;
  content: "";
  flex-shrink: 0;
  height: 11px;
  -webkit-mask: url(../images/icon-dropdown-arrow.svg) no-repeat center/contain;
          mask: url(../images/icon-dropdown-arrow.svg) no-repeat center/contain;
  width: 10px;
  -webkit-mask: url(../images/icon-dropdown-arrow.svg) no-repeat center/contain;
  transition: transform 0.3s ease;
}
.c-btn:hover {
  border-color: #00a0e9;
  color: #303131;
  opacity: 1;
}
.c-btn--pink::after {
  background-color: #e4007f;
}
.c-btn--pink:hover {
  border-color: #e4007f;
}
.c-btn--wide {
  background-color: #868ba4;
  border: none;
  color: #ffffff;
  height: 75px;
  max-width: 400px;
  padding: 0 22px;
}
.c-btn--wide p {
  white-space: pre-line;
}
.c-btn--wide::after {
  background-color: #ffffff;
}
.c-btn--gradient {
  background: linear-gradient(90deg, #68c9f0 0%, #dcd28f 100%);
  border: none;
  color: #ffffff;
  height: 75px;
  max-width: 400px;
  padding: 0 22px;
}
.c-btn--gradient::after {
  background-color: #ffffff;
}
.c-btn--wide:hover, .c-btn--gradient:hover {
  color: #ffffff;
  opacity: 1;
}
.c-btn--wide:hover p, .c-btn--wide:hover::after, .c-btn--gradient:hover p, .c-btn--gradient:hover::after {
  transform: translateX(4px);
}

.c-btn-mail {
  align-items: center;
  background: #e4007f;
  border-radius: 5px;
  color: #ffffff;
  display: flex;
  font-size: 14px;
  font-weight: 600;
  gap: 8px;
  height: 56px;
  justify-content: center;
  letter-spacing: 0.05em;
  line-height: 23px;
  max-width: 203px;
  width: 100%;
}
.c-btn-mail:hover {
  color: #ffffff;
  opacity: 1;
}
.c-btn-mail:hover .c-btn-mail__icon,
.c-btn-mail:hover p {
  transform: translateX(4px);
}
.c-btn-mail p {
  transition: transform 0.3s ease;
}
.c-btn-mail__icon {
  align-items: center;
  display: flex;
  flex-shrink: 0;
  height: 10px;
  justify-content: center;
  overflow: hidden;
  transition: transform 0.3s ease;
  width: 13px;
}
.c-btn-mail__icon img {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
}

.c-btn-more {
  align-items: center;
  background: #868ba4;
  border-radius: 20px 0 20px 0;
  bottom: 0;
  display: flex;
  height: 49px;
  justify-content: center;
  overflow: hidden;
  position: absolute;
  right: 0;
  width: 55px;
}
.c-btn-more::after {
  background-color: #ffffff;
  content: "";
  height: 16px;
  -webkit-mask: url(../images/icon-arrow.svg) no-repeat center/contain;
          mask: url(../images/icon-arrow.svg) no-repeat center/contain;
  width: 15px;
  -webkit-mask: url(../images/icon-arrow.svg) no-repeat center/contain;
  transition: transform 0.3s ease;
}
.c-btn-more--light {
  background: #ffffff;
}
.c-btn-more--light::after {
  background-color: #00a0e9;
  height: 11px;
  -webkit-mask: url(../images/icon-dropdown-arrow.svg) no-repeat center/contain;
          mask: url(../images/icon-dropdown-arrow.svg) no-repeat center/contain;
  width: 10px;
  -webkit-mask: url(../images/icon-dropdown-arrow.svg) no-repeat center/contain;
}

.c-offer {
  background: #ffffff;
  border: 1px solid #bdbdbd;
  border-radius: 20px;
  color: #333333;
  display: block;
  overflow: hidden;
  padding: 40px 20px 65px 20px;
  position: relative;
  transition: border-color 0.4s ease;
}
.c-offer:hover {
  border-color: #868ba4;
  color: #333333;
  opacity: 1;
}
.c-offer:hover .c-btn-more::after {
  transform: translateX(4px);
}
.c-offer__icon {
  height: 23px;
  margin-bottom: 12px;
  overflow: hidden;
  width: 30px;
}
.c-offer__icon img {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
}
.c-offer__body {
  padding-top: 6px;
}
.c-offer__title {
  color: #333333;
  font-size: clamp(1.125rem, 0.9594475277rem + 0.7063572149vw, 1.5625rem);
  font-weight: 700;
  letter-spacing: 0.03em;
}
.c-offer__text {
  color: #303131;
  font-size: 14px;
  font-weight: 700;
  line-height: 2;
  margin-top: 20px;
  max-width: 648px;
  text-align: justify;
}
.c-offer--gradient {
  background: linear-gradient(90deg, #61c8f5 0%, #e0d28c 100%);
  color: #ffffff;
  margin-inline: auto;
  max-width: 721px;
  padding: 40px 20px 65px 20px;
}
.c-offer--gradient:hover {
  border-color: #bdbdbd;
  color: #ffffff;
}
.c-offer--gradient:hover .c-offer__title,
.c-offer--gradient:hover .c-offer__text {
  color: #ffffff;
}
.c-offer--gradient .c-offer__icon img {
  filter: brightness(0) invert(1);
}
.c-offer--gradient .c-offer__title,
.c-offer--gradient .c-offer__text {
  color: #ffffff;
}
.c-offer--gradient .c-offer__text {
  max-width: 519px;
}
.c-offer--gradient .c-btn-more--light::after {
  background-color: #868ba4;
}

.c-sidebar {
  padding: 55px 0 60px;
}
.c-sidebar .c-btn-mail {
  margin-left: 23px;
}
.c-sidebar__logo {
  height: 132px;
  margin-bottom: 60px;
  margin-inline: auto;
  overflow: hidden;
  width: 132px;
}
.c-sidebar__logo img {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
}
.c-sidebar__list {
  border-top: 1px solid #e0e0e0;
  display: flex;
  flex-direction: column;
  margin-bottom: 30px;
}
.c-sidebar__item {
  align-items: center;
  color: #2c2c2c;
  display: flex;
  font-size: 16px;
  font-weight: 500;
  gap: 10px;
  letter-spacing: 0.03em;
  line-height: 1.2;
  min-height: 52px;
  padding: 20px 10px 20px 24px;
  position: relative;
}
.c-sidebar__item::before {
  background: url(../images/icon-triangle.svg) no-repeat center/contain;
  content: "";
  flex-shrink: 0;
  height: 5px;
  transform: rotate(90deg);
  width: 8px;
}
.c-sidebar__item:hover, .c-sidebar__item--current {
  background-color: #f4f4f4;
  opacity: 1;
}
.c-sidebar__item--current::after {
  background-color: #e4007f;
  content: "";
  height: 100%;
  left: -26px;
  position: absolute;
  top: 0;
  width: 4px;
}

.c-sidebar-info {
  background-color: #868ba4;
  border-radius: 5px;
  color: #ffffff;
  margin-left: 23px;
  margin-top: 20px;
  max-width: 203px;
  padding: 20px 14px 18px;
}
.c-sidebar-info__name {
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.03em;
  line-height: 1;
  margin-bottom: 4px;
  padding-bottom: 14px;
}
.c-sidebar-info__row {
  align-items: baseline;
  color: #ffffff;
  display: flex;
  font-size: 14px;
  font-weight: 600;
  justify-content: space-between;
  letter-spacing: 0.03em;
  line-height: 1.6;
}
.c-sidebar-info__row:not(:last-child) {
  margin-bottom: 8px;
}
.c-sidebar-info__row a {
  color: #ffffff;
  letter-spacing: 0.03em;
}
.c-sidebar-info__row a:hover {
  color: #ffffff;
}
@media (width >= 414px) {
  .adjust-sp {
    letter-spacing: normal;
  }
  .adjust-spwide {
    letter-spacing: 0.1em;
  }
}
@media (width >= 768px) {
  .adjust-spwide {
    letter-spacing: normal;
  }
  .adjust-tb {
    letter-spacing: 0.1em;
  }
}
@media (width >= 1024px) {
  .adjust-tb {
    letter-spacing: normal;
  }
  .adjust-pc {
    letter-spacing: 0.1em;
  }
  .c-layout {
    display: grid;
    grid-template-columns: 255px minmax(0, 1fr);
  }
  .c-layout--col3 {
    grid-template-columns: 255px minmax(0, 1fr) 239px;
  }
  .c-layout--col3 .c-layout__aside {
    display: block;
  }
  .c-layout--col3 .c-layout__inner {
    max-width: 812px;
  }
  .c-layout__side {
    border-right: 1px solid #e0e0e0;
    display: block;
    min-height: 100%;
  }
  .c-layout__main {
    padding-bottom: 150px;
  }
  .c-layout__inner {
    max-width: 945px;
  }
  .c-desc {
    line-height: calc(32 / 14);
    text-align: left;
  }
  .c-desc p:not(:first-child) {
    margin-top: 24px;
  }
  .c-offer {
    padding: 52px 80px 55px 104px;
  }
  .c-offer__icon {
    left: 57px;
    margin-bottom: 0;
    position: absolute;
    top: 54px;
  }
  .c-offer__text {
    line-height: calc(32 / 14);
    margin-top: 35px;
  }
  .c-offer--gradient {
    padding: 52px 55px 55px 80px;
  }
  .c-offer--gradient .c-offer__icon {
    left: 30px;
  }
  .c-offer--gradient .c-offer__text {
    margin-top: 45px;
  }
  .c-sidebar {
    position: sticky;
    top: 0px;
  }
}
@media (width >= 1366px) {
  .adjust-pc {
    letter-spacing: normal;
  }
  .adjust-lg {
    letter-spacing: 0.1em;
  }
  .c-offer--gradient {
    padding: 52px 80px 55px 104px;
  }
  .c-offer--gradient .c-offer__icon {
    left: 57px;
  }
}