@charset "UTF-8";
@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap";

/* shogaku/feature/local/css/scss/spring2026.scss */
:root {
  --font-en: "Roboto", sans-serif;
  --font-mix:
    "Roboto",
    "Noto Sans JP",
    sans-serif;
}
:where(.p-spring) {
  color: #513530;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}
:where(.p-spring) .font-en {
  font-family: var(--font-en);
}
:where(.p-spring) .content {
  padding-inline: 23px;
  margin-bottom: 0;
}
:where(.p-spring) .w-full {
  margin-inline: -23px;
  width: -webkit-fill-available;
  width: stretch;
  max-width: calc(100% + 46px);
}
:where(.p-spring) h2,
:where(.p-spring) h3,
:where(.p-spring) h4 {
  font-weight: 700;
  letter-spacing: 0.06em;
}
:where(.p-spring) img {
  display: block;
}
.p-spring {
  container-type: inline-size;
  max-width: 550px;
  margin-inline: auto;
}
.p-spring-label {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.1em;
  background-color: #f9b700;
  max-width: 118.5px;
  width: 100%;
  clip-path: polygon(0 0, 50% 2px, 100% 0, 100% 100%, 50% calc(100% - 2px), 0 100%);
  margin-inline: auto;
}
.p-spring-label span {
  font-family: var(--font-en);
  font-size: 1.5625em;
  margin-left: 4px;
}
.p-spring-accordion-wrap {
  margin-top: 25px;
}
.p-spring-accordion {
  overflow: hidden;
  height: 0;
  transition: height 0.4s;
}
.p-spring-accordion-button {
  position: relative;
  display: block;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  max-width: 251px;
  width: 100%;
  border-radius: calc(infinity * 1px);
  background-color: #efefef;
  padding: 12.5px 10px;
  margin-inline: auto;
}
.p-spring-accordion-button::after {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  display: block;
  content: "";
  width: 27.5px;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #513530;
  background-image: url(../images/2026_spring/arrow-accordion.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 10px;
  transition: transform 0.4s;
}
.p-spring-accordion-wrap.is-open .p-spring-accordion-button::after {
  transform: translateY(-50%) rotate(180deg);
}
.p-spring-button-unit {
  display: grid;
  row-gap: 20px;
  max-width: 300px;
  width: 100%;
  margin-inline: auto;
}
.p-spring-button {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff !important;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.06em;
  border-radius: calc(infinity * 1px);
  background-color: #f06e00;
  min-height: 62px;
  padding: 10px;
}
.p-spring-button--green {
  background-color: #71d530;
}
.p-spring-more {
  margin-top: 14px;
}
.p-spring-more__button {
  display: flex;
  align-items: center;
  column-gap: 7px;
  color: #333;
  font-size: 10px;
  font-weight: 700;
  width: fit-content;
  letter-spacing: 0.06em;
  border-radius: 5px;
  background-color: #d9d9d9;
  padding: 3px 10px 3px 5px;
}
.p-spring-more__button::-webkit-details-marker {
  display: none;
}
.p-spring-more__button span {
  position: relative;
  display: block;
}
.p-spring-more__button span::before,
.p-spring-more__button span::after {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  content: "";
  background-color: #333;
}
.p-spring-more__button span::before {
  width: 5px;
  height: 1px;
}
.p-spring-more__button span::after {
  height: 5px;
  width: 1px;
  transition: transform 0.3s;
}
.p-spring-more[open] .p-spring-more__button span::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.p-spring-more__attention {
  margin-top: 5px;
}
.p-spring-more__attention li {
  font-size: 10px;
  line-height: 1.6;
  font-weight: 500;
}
.p-spring-intro {
  background-color: #fffbf0;
}
.p-spring-intro__heading {
  color: #fff;
  font-size: 27.5px;
  line-height: 1.2;
  background-color: #f9b700;
  text-align: center;
  padding: 10px;
}
.p-spring-intro__catch-head {
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
  letter-spacing: 0.06em;
  margin-top: 48px;
}
.p-spring-intro__catch-head span {
  font-size: 1.66666667em;
  line-height: 0.75;
}
.p-spring-intro__catch-foot {
  color: #f9b700;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.06em;
  text-align: center;
  margin-top: 8px;
}
.p-spring-intro__catch-foot span {
  font-size: 1.25em;
  line-height: 1.2;
}
.p-spring-item-unit {
  padding-bottom: 48px;
  margin-top: 45px;
}
.p-spring-item + .p-spring-item {
  position: relative;
  padding-top: 50px;
  margin-top: 46px;
}
.p-spring-item + .p-spring-item::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  content: "";
  width: 100%;
  height: 2px;
  background-image: url(../images/2026_spring/line-yellow.svg);
  background-size: 6px auto;
  background-repeat: repeat-x;
}
.p-spring-item__title {
  text-align: center;
  font-size: 16px;
  margin-top: 21px;
}
.p-spring-item__title span {
  display: block;
  font-size: 24px;
  letter-spacing: 0;
  margin-top: 2px;
}
.p-spring-item__img {
  margin-top: 28px;
}
.p-spring-item__attention-list {
  max-width: 300px;
  width: 100%;
  margin: 26px auto 0;
}
.p-spring-item__attention-list.p-spring-item__attention-list--index li {
  position: relative;
  padding-left: 1em;
}
.p-spring-item__attention-list.p-spring-item__attention-list--index li::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
}
.p-spring-item__attention-list li {
  font-size: 10px;
  line-height: 1.6;
}
.p-spring-item__attention-list li::before {
  content: "\203b";
}
.p-spring-test {
  padding-block: 58px 48px;
}
.p-spring-test__heading {
  position: relative;
  font-size: 27.5px;
  line-height: 1.2;
  text-align: center;
  border-bottom: 3px solid #eb6000;
  letter-spacing: 0;
  width: fit-content;
  padding-bottom: 5px;
  margin-inline: auto;
}
.p-spring-test__heading span {
  color: #eb6000;
  font-size: 1.45454545em;
  line-height: 1.4;
}
.p-spring-test__heading img {
  position: absolute;
}
.p-spring-test__heading img.-label {
  top: -37px;
  width: 82px;
  left: -60px;
}
.p-spring-test__heading img.-accent {
  bottom: -22px;
  width: 46px;
  right: -45px;
}
.p-spring-test__main-img {
  margin-top: 25px;
}
.p-spring-test__intro {
  font-size: 16px;
  letter-spacing: 0.04em;
  line-height: 1.6;
  text-align: center;
}
.p-spring-test__intro span {
  color: #eb6000;
  font-size: 1.2em;
  font-weight: 700;
}
.p-spring-test__accordion-wrap {
  margin-top: 39px;
}
.p-spring-test__accordion {
  overflow: hidden;
  height: 0;
  transition: height 0.4s;
}
.p-spring-test__accordion-button {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 7.5px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1;
  width: fit-content;
  margin-inline: auto;
}
.p-spring-test__accordion-wrap.is-open .p-spring-test__accordion-button {
  margin-top: 39px;
}
.p-spring-test__accordion-button::after {
  display: block;
  content: "";
  width: 10px;
  aspect-ratio: 19/11;
  background-image: url(../images/2026_spring/test-arrow.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  transition: transform 0.4s;
  margin-top: 2px;
}
.p-spring-test__accordion-wrap.is-open .p-spring-test__accordion-button::after {
  transform: rotate(180deg);
}
.p-spring-test__accordion__inner {
  background-color: #f5f4ec;
  padding: 84px 18.75px 48px;
}
.p-spring-test__inner-heading {
  position: relative;
  color: #000;
  font-size: 20px;
  letter-spacing: 0;
  line-height: 1;
  text-align: center;
  border-bottom: 3px solid #eb6000;
  width: fit-content;
  padding-bottom: 1px;
  margin-inline: auto;
}
.p-spring-test__inner-heading::before,
.p-spring-test__inner-heading::after {
  position: absolute;
  color: #e4e3d6;
  font-size: 76.5px;
  font-weight: 500;
}
.p-spring-test__inner-heading::before {
  content: "\201c";
  top: 11px;
  left: -45px;
}
.p-spring-test__inner-heading::after {
  content: "\201d";
  top: 11px;
  right: -30px;
}
.p-spring-test__inner-heading > span {
  display: block;
  color: #eb6000;
  font-size: 1.5em;
}
.p-spring-test__inner-heading > span span.-m {
  font-size: 1.16666667em;
}
.p-spring-test__inner-heading > span span.-l {
  display: inline-block;
  font-size: 1.9em;
  margin-top: 5px;
}
.p-spring-test__inner-heading img {
  position: absolute;
  bottom: -23px;
  right: -44px;
  width: 46px;
}
.p-spring-test__item {
  margin-top: 64px;
}
.p-spring-test__item + .p-spring-test__item {
  margin-top: 50px;
}
.p-spring-test__item .p-spring-label {
  font-family: var(--font-en);
  font-size: 12px;
  background-color: #eb6000;
}
.p-spring-test__item .p-spring-label span {
  font-size: 2.08333333em;
}
.p-spring-test__item .p-spring-item__title {
  line-height: 1.6;
  margin-top: 22px;
}
.p-spring-test__item .p-spring-item__title span {
  letter-spacing: 0.06em;
}
.p-spring-test__item img {
  margin-top: 21px;
}
.p-spring-test__item .p-spring-test__item-text {
  line-height: 1.6;
  max-width: 300px;
  width: 100%;
  letter-spacing: 0.06em;
  margin: 21px auto 0;
}
.p-spring-test__item .p-spring-test__item-text span {
  color: #eb6000;
  font-weight: 700;
}
.p-spring-test__item .p-spring-button-unit {
  margin-top: 50px;
}
.p-spring-test__item-attention {
  max-width: 300px;
  width: 100%;
  margin: 20px auto 0;
}
.p-spring-test__item-attention li {
  color: #999999;
  font-size: 10px;
  line-height: 1.6;
  letter-spacing: 0.06em;
}
.p-spring-test__item-attention li::before {
  content: "\203b";
}
.p-spring-test .p-spring-special {
  margin-top: 63px;
}
.p-spring-special .p-spring-button-unit {
  margin-top: 67px;
}
.p-spring-special__inner {
  position: relative;
  z-index: 1;
  background-image:
    linear-gradient(
      to bottom,
      transparent 0,
      transparent 21.46666667cqw,
      #f7f7f7 21.46666667cqw,
      #f7f7f7 100%);
}
.p-spring-special__comparison {
  padding-inline: 14px;
  margin-top: 8px;
}
.p-spring-special__label {
  color: #fd7575;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  border-radius: calc(infinity * 1px);
  background-color: #f8e7e7;
  width: fit-content;
  padding: 10px 42px;
  margin: 16px auto 0;
}
.p-spring-special__main-img {
  margin-top: 14px;
}
.p-spring-special__box {
  color: #fff;
  font-weight: 700;
  text-align: center;
  background-color: #513530;
  padding: 16px 10px 22px;
  margin-top: 56px;
}
.p-spring-special__box span.-head {
  font-size: 25px;
  font-weight: 500;
  line-height: 1.2;
}
.p-spring-special__box span.-foot {
  font-size: 16.5px;
  font-weight: 600;
  line-height: 1;
  margin-top: 2px;
}
.p-spring-special__box-main-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-mix);
  font-size: 59px;
  font-weight: 600;
  line-height: 1.2;
  margin-top: 2px;
}
.p-spring-special__box-main-wrap span.-label {
  color: #513530;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;
  background-color: #fff;
  padding: 5px;
  margin-right: 15px;
}
.p-spring-special__box-main span.-m {
  font-size: 29.5px;
  font-weight: 700;
}
.p-spring-special__box-main span.-l {
  position: relative;
  display: inline-block;
  font-size: 39.5px;
  margin-left: 10px;
}
.p-spring-special__box-main span.-l span {
  position: absolute;
  top: 0px;
  left: 0px;
  font-size: 10px;
}
.p-spring-point {
  background-color: #f8feff;
  padding-block: 24px;
}
.p-spring-point .p-spring-item + .p-spring-item {
  position: relative;
  padding-top: 50px;
  margin-top: 46px;
}
.p-spring-point .p-spring-item + .p-spring-item::before {
  background-image: url(../images/2026_spring/line-blue.svg);
}
.p-spring-point .p-spring-label {
  background-color: #00ccff;
}
.p-spring-point .p-spring-accordion-wrap {
  position: relative;
  margin-top: 24px;
}
.p-spring-point .p-spring-accordion-wrap.is-open .p-spring-point__button-label {
  margin-left: 23px;
}
.p-spring-point .p-spring-accordion-wrap.is-open .p-spring-accordion-button {
  margin-top: 25px;
}
.p-spring-point .p-spring-accordion__inner {
  padding-top: 10px;
}
.p-spring-point .p-spring-accordion-button {
  margin-top: 5px;
}
.p-spring-point__heading {
  font-size: 19px;
  font-weight: 700;
  text-align: center;
  line-height: 1;
}
.p-spring-point__heading > span {
  display: block;
  font-size: 1.57894737em;
}
.p-spring-point__heading > span span {
  color: #00ccff;
  font-size: 1.66666667em;
}
.p-spring-point__button-label {
  max-width: 180px;
  width: 100%;
  transform: translateX(-36px);
  margin-inline: auto;
}
.p-spring-point__box {
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0;
  background-color: #00ccff;
  border-radius: 5px;
  padding: 15px 22px;
}
.p-spring-point__slide-wrap {
  background-color: #e6f3ff;
  padding-block: 28px 25px;
  margin-top: 25px;
}
.p-spring-point__slide {
  margin-bottom: 0 !important;
}
.p-spring-point__slide h4 {
  color: #00ccff;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  letter-spacing: 0;
  padding-inline: 20px;
  margin-top: 0;
}
.p-spring-point__slide img {
  margin-top: 3px;
}
.p-spring-point__slide .slick-dots {
  position: static;
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 10px;
  margin-top: 20px;
}
.p-spring-point__slide .slick-dots li {
  width: auto;
  height: auto;
  margin: 0;
}
.p-spring-point__slide .slick-dots li.slick-active button {
  background-color: #00ccff;
}
.p-spring-point__slide .slick-dots li button {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background-color: #d9d9d9;
  transition: background-color 0.3s;
}
.p-spring-point__slide .slick-dots li button::before {
  content: none !important;
}
.p-spring-point__arrow {
  max-width: 53px;
  margin: 29px auto 0;
}
.p-spring-point__arrow svg {
  display: block;
  max-width: 100%;
  width: 100%;
}
.p-spring-point__foot {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.6;
  text-align: center;
  margin-top: 5px;
}
.p-spring-point__foot-img {
  margin-top: 25px;
}
.p-spring-member {
  padding-block: 47px 98px;
}
.p-spring-member .p-spring-accordion-wrap {
  margin-top: 33px;
}
.p-spring-member .p-spring-accordion-wrap.is-open .p-spring-accordion-button {
  margin-top: 25px;
}
.p-spring-member .p-spring-item__attention-list {
  max-width: 275px;
  width: 100%;
  margin-top: 0;
}
.p-spring-member .p-spring-item__attention-list li {
  letter-spacing: -0.04em;
}
.p-spring-member .p-spring-special {
  margin-top: 78px;
}
.p-spring-member .p-spring-special__inner {
  background-image:
    linear-gradient(
      to bottom,
      transparent 0,
      transparent 15cqw,
      #f7f7f7 15cqw,
      #f7f7f7 100%);
  border-bottom-right-radius: 30px;
  padding-bottom: 29px;
}
.p-spring-member .p-spring-special__box {
  position: relative;
  width: calc(100% - 20px);
  border-radius: 5px;
  margin: 30px auto 0;
}
.p-spring-member .p-spring-special__box::before {
  position: absolute;
  display: block;
  content: "";
  width: 19px;
  aspect-ratio: 19/16;
  background-color: #513530;
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  top: -15px;
  right: 31px;
}
.p-spring-member .p-spring-special__label {
  margin-top: 25px;
}
.p-spring-member .p-spring-more {
  padding-left: 15px;
  margin-top: 10px;
}
.p-spring-member .p-spring-button-unit {
  margin-top: 50px;
}
.p-spring-member__head img {
  max-width: 143px;
  width: 100%;
  margin-inline: auto;
}
.p-spring-member__head-text {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 15px;
  color: #ff6000;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  letter-spacing: 0.06em;
  width: fit-content;
  margin: 7px auto 0;
}
.p-spring-member__head-text::before,
.p-spring-member__head-text::after {
  display: block;
  content: "";
  width: 2px;
  height: 36.5px;
  background-color: #ff6000;
  margin-top: 6px;
}
.p-spring-member__head-text::before {
  transform: rotate(-14deg);
}
.p-spring-member__head-text::after {
  transform: rotate(14deg);
}
.p-spring-member__head-heading {
  font-size: 40px;
  line-height: 1.2;
  text-align: center;
  margin-top: 7px;
}
.p-spring-member__item-unit {
  display: grid;
  row-gap: 66px;
  margin-top: 66px;
}
.p-spring-member__item {
  position: relative;
  background-color: #f7f7f7;
  border-radius: 25px 0 25px 0;
  padding: 42px 25px 30px;
}
.p-spring-member__item-icon {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 83px;
  width: 100%;
  background-color: #f7f7f7;
  border-radius: 50%;
}
.p-spring-member__item-heading {
  color: #ff6000;
  font-size: 25px;
  line-height: 1.2;
  text-align: center;
  letter-spacing: 0.06em;
}
.p-spring-member__item-text {
  font-size: 14px;
  letter-spacing: 0.06em;
  line-height: 1.6;
  margin-top: 25px;
}
.p-spring-member__item-text span {
  font-weight: 700;
}
.p-spring-member__item-name {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.06em;
  width: fit-content;
  margin: 7.5px 0 0 auto;
}
.p-spring-limited__heading {
  position: relative;
  z-index: 2;
  color: #fd7575;
  font-weight: 700;
  text-align: center;
  font-size: 30px;
  line-height: 1.2;
}
.p-spring-limited__heading span.-label {
  position: relative;
  z-index: 1;
  display: block;
  font-size: 19.5px;
  width: fit-content;
  padding-top: 2px;
  padding-inline: 21px;
  margin-inline: auto;
  margin-bottom: 24px;
}
.p-spring-limited__heading span.-label::before {
  position: absolute;
  z-index: -1;
  top: -8px;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  content: "";
  width: 100%;
  aspect-ratio: 285/112;
  background-image: url(../images/2026_spring/limited-heading-back.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.p-spring-limited__heading span.-first {
  margin-right: -32px;
}
.p-spring-limited__heading span.-last {
  display: inline-block;
  margin-right: -18px;
  margin-top: 2px;
}
.p-spring-limited__heading span.-l {
  position: relative;
  z-index: 1;
  display: inline-block;
  font-size: 1.45em;
}
.p-spring-limited__heading span.-l span.-shadow {
  position: absolute;
  z-index: -1;
  bottom: -3px;
  left: 3px;
  display: block;
  white-space: nowrap;
  color: #fff;
  -webkit-text-stroke: 3px #fd7575;
  paint-order: stroke fill;
}
.p-spring-limited__heading span.-l span.-ls-3 {
  letter-spacing: -0.03em;
}
.p-spring-limited__heading span.-l span.-ls-6 {
  letter-spacing: -0.06em;
}
.p-spring-limited__heading span.-l span.-ls-15 {
  letter-spacing: -0.15em;
}
.p-spring-limited__intro {
  position: relative;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
  letter-spacing: 0.06em;
  margin-top: 10px;
}
.p-spring-limited__intro span {
  font-weight: 900;
}
.p-spring-limited__head-img {
  margin-top: -119px;
}
.p-spring-limited__date {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 800;
  font-size: 12px;
  letter-spacing: 0.04em;
  width: fit-content;
  border-radius: calc(infinity * 1px);
  background-color: #fd7575;
  padding: 3px 18px;
  margin: -24px auto 0;
}
.p-spring-limited__date span.-number {
  display: inline-block;
  font-size: 31px;
  font-weight: 500;
  margin-top: -3px;
}
.p-spring-limited__date span.-number:first-of-type {
  margin-left: 0.2em;
}
.p-spring-limited__date span.-number span {
  line-height: 0.5;
  margin-inline: 0.1em;
}
.p-spring-limited__date span.-circle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fd7575;
  width: 17px;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #fff;
  line-height: 0.8;
  margin-inline: 0.2em;
}
.p-spring-limited__main {
  background-color: #a8dcff;
  padding: 72px 23.5px 96px;
  margin-top: -31px;
}
.p-spring-limited__main .p-spring-button-unit {
  margin-top: 48px;
}
.p-spring-limited__item-unit {
  display: grid;
  row-gap: 12px;
}
.p-spring-limited__item {
  counter-increment: number;
}
.p-spring-limited__item-head {
  display: flex;
  align-items: baseline;
  justify-content: center;
  column-gap: 7px;
  color: #fff;
  font-family: var(--font-en);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1.2;
  background-color: #5b8aa3;
  max-width: 178px;
  width: 100%;
  border-radius: 10px 10px 0 0;
  padding: 4px 10px 9px;
  margin-inline: auto;
}
.p-spring-limited__item-head::after {
  display: block;
  content: counter(number, decimal-leading-zero);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.35714286em;
  font-weight: 500;
  letter-spacing: 0;
  transform: translateY(3px);
}
.p-spring-limited__item-content {
  background-color: #fff;
  border-radius: 10px;
  background-image: url(../images/2026_spring/limited-item-accent.webp);
  background-repeat: no-repeat;
  background-position: right 12px top 12px;
  background-size: 127px;
  padding: 38px 20px 32px;
}
.p-spring-limited__item-content h2 {
  font-size: 22px;
  letter-spacing: 0;
  text-align: center;
  line-height: 1.6;
}
.p-spring-limited__item-content h2 span {
  color: #fd7575;
}
.p-spring-limited__item-content img {
  margin-top: 25px;
}
.p-spring-limited__item-content p {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.06em;
  margin-top: 16px;
}
.p-spring-limited__item-content p span {
  font-size: 10px;
}
.p-spring-limited__attention {
  margin-top: 12px;
}
.p-spring-limited__attention li {
  font-size: 10px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.06em;
}
.p-spring-limited__foot {
  position: relative;
  background-color: #fff3ac;
  border-radius: 10px;
  padding: 32px 20px 30px;
  margin-top: 53.5px;
}
.p-spring-limited__foot svg {
  position: absolute;
  top: -50px;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: 41px;
}
.p-spring-limited__foot-head {
  font-size: 17px;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
.p-spring-limited__foot-head span {
  color: #fd7575;
  font-size: 1.29411765em;
  line-height: 1.6;
}
.p-spring-limited__foot-img {
  margin-top: 20px;
}
.p-spring-limited__foot-text {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.06em;
  margin-top: 20px;
}
.p-spring-faq {
  background-color: #f5f4ec;
  padding: 60px 22.5px 61px;
}
.p-spring-faq__heading {
  font-size: 26px;
  line-height: 1;
  font-weight: 500;
  text-align: center;
}
.p-spring-faq__heading span {
  font-weight: 700;
}
.p-spring-faq__grid {
  display: grid;
  row-gap: 20px;
  margin-top: 20px;
}
.p-spring-faq__item {
  background-color: #fff;
  border-radius: 30px 0 30px 0;
  padding: 0 27.5px 2px 30px;
}
.p-spring-faq__item[open] .p-spring-faq__item-title h3 span.-circle::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.p-spring-faq__item-title {
  display: flex;
  align-items: flex-start;
  column-gap: 14px;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.478125;
  padding-block: 32px 30px;
}
.p-spring-faq__item-title::-webkit-details-marker {
  display: none;
}
.p-spring-faq__item-title::before {
  display: block;
  content: "Q";
  color: #eb6000;
  font-family: var(--font-en);
  font-size: 26px;
  font-weight: 700;
  line-height: 0;
  margin-top: 10px;
}
.p-spring-faq__item-title h3 {
  flex-grow: 1;
  display: flex;
  align-items: center;
  column-gap: 13px;
  justify-content: space-between;
}
.p-spring-faq__item-title h3 span.-circle {
  flex-shrink: 0;
  position: relative;
  display: block;
  width: 22px;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #eb6000;
}
.p-spring-faq__item-title h3 span.-circle::before,
.p-spring-faq__item-title h3 span.-circle::after {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  content: "";
  background-color: #fff;
}
.p-spring-faq__item-title h3 span.-circle::before {
  width: 9px;
  height: 2px;
}
.p-spring-faq__item-title h3 span.-circle::after {
  height: 9px;
  width: 2px;
  transition: transform 0.3s;
}
.p-spring-faq__item-title h3 span.-title span {
  display: inline-block;
}
.p-spring-faq__item-content {
  position: relative;
  border-top: 1px solid #fbe7db;
  padding-block: 28.5px 33px;
  padding-left: 32px;
}
.p-spring-faq__item-content::before {
  position: absolute;
  top: 23px;
  left: 0;
  content: "A";
  color: #0bb5cc;
  font-size: 22px;
  font-family: var(--font-en);
  font-weight: 700;
}
.p-spring-faq__item-text p {
  font-size: 13px;
  font-weight: 500;
  line-height: 1.76923077;
  letter-spacing: 0.06em;
}
.p-spring-faq__item-text p + p {
  margin-top: 1lh;
}
.p-spring-faq__attention {
  font-size: 10px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.06em;
  margin-top: 1lh;
}
.p-spring-contact {
  background-color: #513530;
}
.p-spring-contact__inner {
  padding: 60px 22px 70px;
}
.p-spring-contact__heading {
  color: #fff;
  font-size: 26px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-align: center;
}
.p-spring-contact__main {
  background-color: #fff;
  border-radius: 30px 0 30px 0;
  padding: 13px 24px 40px;
  margin-top: 33px;
}
.p-spring-contact__logo {
  max-width: 276px;
  width: 100%;
  margin-inline: auto;
}
.p-spring-contact__item + .p-spring-contact__item {
  position: relative;
  padding-top: 27px;
  margin-top: 27px;
}
.p-spring-contact__item + .p-spring-contact__item::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  content: "";
  width: 100%;
  height: 2px;
  background-color: #fae7da;
  border-radius: calc(inifity * 1px);
}
.p-spring-contact__item-heading {
  position: relative;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.61764706;
  max-width: 246.5px;
  width: 100%;
  text-align: center;
  background-color: #f5f4ec;
  border-radius: 10px;
  padding: 13.5px 10px;
  margin-inline: auto;
}
.p-spring-contact__item-heading::after {
  position: absolute;
  bottom: -12.5px;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  content: "";
  width: 15px;
  aspect-ratio: 1;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  background-color: #fae7da;
}
.p-spring-contact__item-heading span {
  color: #eb6000;
}
.p-spring-contact__line {
  margin-top: 30px;
}
.p-spring-contact__line a {
  display: block;
  max-width: 113px;
  width: 100%;
  margin: 15px auto 0;
}
.p-spring-contact__line a img {
  max-width: 100%;
  width: 100%;
  height: auto;
}
.p-spring-contact__item-text {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-align: center;
}
.p-spring-contact__item-text.p-spring-contact__item-text--mt {
  margin-top: 23px;
}
.p-spring-contact__item-text span.-color {
  color: #eb6000;
}
.p-spring-contact__tel {
  margin-top: 18px;
}
.p-spring-contact__tel.p-spring-contact__tel--mt-l {
  margin-top: 30px;
}
.p-spring-contact__tel-button {
  display: block;
  color: #fff;
  font-size: 21px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-align: center;
  border-radius: 10px;
  background-color: #0bb5cc;
  max-width: 274px;
  width: 100%;
  padding: 10px;
  margin: 15px auto 0;
}
.p-spring-contact__tel-button span.-small {
  font-size: 17px;
}
.p-spring-contact__tel-time {
  font-size: 13px;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.06em;
  margin-top: 10px;
}
@media screen and (min-width: 750px) {
  .p-spring-limited__date {
    font-size: 17.52px;
    padding: 4.3px 26.28px;
    margin-top: -35.04px;
  }
  .p-spring-limited__date span.-number {
    font-size: 45.26px;
    margin-top: -7px;
  }
  .p-spring-limited__date span.-circle {
    width: 24.82px;
  }
}
@media (hover: hover) {
  .p-spring-button {
    transition: opacity 0.3s;
  }
  .p-spring-button:hover {
    opacity: 0.7;
  }
}
