/********************
 * #parts-01-header
*********************/
.header {

}

.header__bar {
  background-color: var(--color-secondary);
}
.header__bar-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header__bar-text {
  color: var(--color-base);
  font-size: calc(20 * var(--px));
  font-weight: 400;
  line-height: 1.7;
  font-feature-settings: "palt";
}
@media screen and (max-width: 1079px) {
  .header__bar-text {
    font-size: calc(18 * var(--px));
    text-align: center;
  }
}

.header__bar-btn {
  width: calc(300 * var(--px));
  margin-block: calc(10 * var(--px));
}
@media screen and (max-width: 1079px) {

  .header__bar-btn {
    display: none;
  }
}

.header__bar-btn-link {

}

.header__main {

}

.header__main-pc {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-block: calc(20 * var(--px));
}
@media screen and (max-width: 1079px) {
  .header__main-pc {
    display: none;
  }
}

.header__main-pc-logo {
  width: calc(400 * var(--px));
}

.header__main-pc-tel {
  width: calc(418 * var(--px));
}

.header__main-sp {
  display: none;
}
@media screen and (max-width: 1079px) {
  .header__main-sp {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-block: calc(15 * var(--px));
  }
}

.header__main-sp-logo {
  width: calc(225 * var(--px));
}

.header__main-sp-menu {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: calc(15 * var(--px));
}
.header__main-sp-tel {
  width: calc(270 * var(--px));
}

.header__hamburger {
  width: calc(70 * var(--px));
  height: calc(70 * var(--px));
}

.header__hamburger-btn {
  display: block;
  background-color: var(--color-secondary);
  border-radius: calc(4 * var(--px));
  width: 100%;
  height: 100%;
  padding: calc(15 * var(--px));
  position: relative;
  cursor: pointer;
  border: none;
  transition: background-color 0.3s ease;
}

.header__hamburger-btn:hover {
  background-color: var(--color-primary);
}

.header__hamburger-btn-line {
  display: block;
  width: 100%;
  height: calc(4 * var(--px));
  background-color: var(--color-base);
  transition: transform 0.3s ease, opacity 0.3s ease;
  position: relative;
}

.header__hamburger-btn-line:not(:last-child) {
  margin-bottom: calc(10 * var(--px));
}

/* ハンバーガーボタンがアクティブな時（×に変わる） */
.header__hamburger-btn.is-active .header__hamburger-btn-line:nth-child(1) {
  transform: translateY(calc(14 * var(--px))) rotate(45deg);
}

.header__hamburger-btn.is-active .header__hamburger-btn-line:nth-child(2) {
  opacity: 0;
}

.header__hamburger-btn.is-active .header__hamburger-btn-line:nth-child(3) {
  transform: translateY(calc(-14 * var(--px))) rotate(-45deg);
}

/* ハンバーガーメニュー */
.header__hamburger-menu {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var(--color-bg-secondary);
  z-index: 9999;
  overflow-y: auto;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.header__hamburger-menu.is-open {
  display: block;
  opacity: 1;
  visibility: visible;
}

/* 閉じるボタン */
.header__hamburger-menu-close {
  position: fixed;
  top: calc(20 * var(--px));
  right: calc(20 * var(--px));
  width: calc(60 * var(--px));
  height: calc(60 * var(--px));
  background-color: var(--color-secondary);
  border: none;
  border-radius: calc(10 * var(--px));
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  transition: background-color 0.3s ease, transform 0.2s ease;
}

.header__hamburger-menu-close:hover {
  background-color: var(--color-primary);
  transform: scale(1.1);
}

.header__hamburger-menu-close:active {
  transform: scale(0.95);
}

.header__hamburger-menu-close-icon {
  color: var(--color-base);
  font-size: calc(40 * var(--px));
  font-weight: 700;
  line-height: 1;
  display: block;
}

@media screen and (max-width: 1079px) {
  .header__hamburger-menu-close {
    top: calc(70 * var(--px));
    right: calc(30 * var(--px));
    width: calc(70 * var(--px));
    height: calc(70 * var(--px));
  }
  
  .header__hamburger-menu-close-icon {
    font-size: calc(50 * var(--px));
  }
}

.header__hamburger-menu .parts17-menu {
  padding-block: calc(80 * var(--px)) calc(40 * var(--px));
  margin-top: calc(100 * var(--px));
  max-height: calc(100vh - 100 * var(--px));
  overflow-y: auto;
}

.header__menu {
  border-top: 1px solid var(--color-secondary);
  border-bottom: 1px solid var(--color-secondary);
}

.header__menu-list {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

@media screen and (max-width: 1079px) {
  .header__menu-list {
  --section-inner-size: min(100%, 750px);
  padding-inline: 0;
  }
}
.header__menu-item {
  flex: 1 1 20%;
  padding: calc(15 * var(--px)) calc(10 * var(--px));

  &:first-child {
    border-left: 1px solid var(--color-secondary);
  }
  &:last-child {
    border-right: 1px solid var(--color-secondary);
  }
}
.header__menu-item:not(:last-child) {
  border-right: 1px solid var(--color-secondary);

}

.header__menu-item a {
  display: flex;
  justify-content: center;
  gap: calc(20 * var(--px));
  align-items: center;
}
@media screen and (max-width: 1079px) {
  .header__menu-item a {
    flex-direction: column;
    gap: calc(10 * var(--px));
  }
}
.header__menu-item a img {
  width: calc(50 * var(--px));
  height: calc(60 * var(--px));
  object-fit: contain;
  object-position: center;
}
.header__menu-item a span {
  font-size: calc(18 * var(--px));
  font-weight: 500;
  line-height: 1.3;
  font-feature-settings: "palt";
  color: #4d4d4d;
  text-align: left;
  display: block;
}
@media screen and (max-width: 1079px) {
  .header__menu-item a span {
    text-align: center;
    font-weight: 700;
    font-size: calc(21 * var(--px));
  }
}

/********************
 * #parts-02-top-mv
*********************/
.parts02 {
  background-image: url(../images/parts02__mainvisual-bg.webp);
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  overflow: hidden;
}
@media screen and (max-width: 1079px) {
  .parts02 {
    background-image: url(../images/parts02__mainvisual-sp-bg.webp);
  }
}

.parts02__inner {
  padding-inline: 0;
}

.parts02__mainvisual {
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1079px) {
  .parts02__mainvisual {
    padding-left: calc(30 * var(--px));
  }
}
.parts02__mv-parts {
  position: absolute;
  top: calc(-50 * var(--px));
  left: calc(50% - 70 * var(--px));
  width: calc(408 * var(--px));
  aspect-ratio: 1/1;
  z-index: -1;
}
@media screen and (max-width: 1079px) {
  .parts02__mv-parts {
    top: calc(-10 * var(--px));
    left: calc(50% + 40 * var(--px));
    width: calc(378 * var(--px));
  }
}
.parts02__maincopy {
  position: absolute;
  top: calc(110 * var(--px));
  left: 0;
}
@media screen and (max-width: 1079px) {
  .parts02__maincopy {
    top: calc(110 * var(--px));
    left: calc(30 * var(--px));
  }
}
.parts02__text1 {
  font-weight: 800;
  margin-left: calc(150 * var(--px));

  .sub1 {
    --fuchi-double-font-size: 92;
    --fuchi-double-offset-x: 0;
    --fuchi-double-fill: var(--color-green);
    --fuchi-double-stroke-outer: #096e33;
    --fuchi-double-stroke-width-outer: calc(16 * var(--px));
    --fuchi-double-stroke-inner: var(--color-base);
    --fuchi-double-stroke-width-inner: calc(8 * var(--px));
    margin-right: calc(8 * var(--px));
  }
  .sub2 {
    --fuchi-font-size: 76;
    --fuchi-offset-x: 0;
    --fuchi-fill: var(--color-contrast);
    --fuchi-stroke: var(--color-base);
    --fuchi-stroke-width: calc(10 * var(--px));
  }
}
@media screen and (max-width: 1079px) {
  .parts02__text1 {
    margin-left: 0;
    margin-bottom: 0;
    .sub1 {
      --fuchi-double-font-size: 85;
      --fuchi-double-stroke-width-outer: calc(16 * var(--px));
      --fuchi-double-stroke-width-inner: calc(8 * var(--px));
      margin-right: 0;
    }
    .sub2 {
      --fuchi-font-size: 70;
      --fuchi-offset-x: 0;
      --fuchi-fill: var(--color-contrast);
      --fuchi-stroke: var(--color-base);
      --fuchi-stroke-width: calc(10 * var(--px));
    }
  }
}
.parts02__text2 {
  font-weight: 800;
  font-feature-settings: "palt";
  margin-top: calc(15 * var(--px));
  .sub1.fuchi-double {
    --fuchi-double-font-size: 102;
    --fuchi-double-offset-x: 0;
    --fuchi-double-fill: transparent;
    --fuchi-double-fill-gradient-start: #2e94cc;
    --fuchi-double-fill-gradient-end: #004097;
    --fuchi-double-stroke-outer: var(--color-primary);
    --fuchi-double-stroke-width-outer: calc(16 * var(--px));
    --fuchi-double-stroke-inner: var(--color-base);
    --fuchi-double-stroke-width-inner: calc(8 * var(--px));
  }
  .sub2 {
    --fuchi-font-size: 76;
    --fuchi-offset-x: 0;
    --fuchi-fill: var(--color-contrast);
    --fuchi-stroke: var(--color-base);
    --fuchi-stroke-width: calc(10 * var(--px));
    margin-left: calc(8 * var(--px));
  }
}
@media screen and (max-width: 1079px) {
  .parts02__text2 {
    margin-top: 0;
    .sub1.fuchi-double {
      --fuchi-double-font-size: 118;
      --fuchi-double-stroke-width-outer: calc(22 * var(--px));
      letter-spacing: -0.2em;
    }
    .sub2 {
      --fuchi-font-size: 70;
      --fuchi-fill: var(--color-contrast);
      --fuchi-stroke: var(--color-base);
      --fuchi-stroke-width: calc(10 * var(--px));
      margin-left: calc(10 * var(--px));
    }
  }
}
#parts-02c-mv .parts02__text2 {
  margin-top: calc(20 * var(--px));
  .sub1.fuchi-double {
    --fuchi-double-font-size: 92;
  }
}
@media screen and (max-width: 1079px) {
  #parts-02c-mv .parts02__text2 {
    .sub1.fuchi-double {
      --fuchi-double-font-size: 103;
    }
  }
}
.parts02__text3 {
  font-size: calc(123 * var(--px));
  font-weight: 800;
  color: var(--color-base);
  .sub1 {
    display: inline-block;
    background-color: #e45027;
    line-height: 1;
    font-feature-settings: "palt";
    padding-inline: 0.13em;
    padding-block: 0.1em 0.16em;
    border-radius: calc(10 * var(--px));
    margin-right: calc(10 * var(--px));
    box-shadow: calc(4 * var(--px)) calc(4 * var(--px)) calc(10 * var(--px)) #2228;
  }
}
@media screen and (max-width: 1079px) {
  .parts02__text3 {
    font-size: calc(93 * var(--px));
    margin-top: calc(-10 * var(--px));
  }
}
#parts-02c-mv .parts02__text3 {
  font-size: calc(113 * var(--px));
}
@media screen and (max-width: 1079px) {
  #parts-02c-mv .parts02__text3 {
    margin-top: calc(10 * var(--px));
    font-size: calc(93 * var(--px));
  }
}

.parts02__list {
  display: grid;
  justify-content: flex-start;
  grid-template-columns: repeat(2, calc(320 * var(--px)));
  gap: calc(8 * var(--px)) calc(10 * var(--px));
  position: relative;
  z-index: -1;
}
@media screen and (max-width: 1079px) {
  .parts02__list {
    margin-top: calc(20 * var(--px));
    grid-template-columns: repeat(2, 1fr);
    width: fit-content;
    gap: calc(6 * var(--px));
  }
}
.parts02__list-item {
  position: relative;
  width: calc(320 * var(--px));
  height: calc(72 * var(--px));
  background-color: var(--color-base);
  border-radius: calc(8 * var(--px));
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding-left: calc(15 * var(--px));
  gap: calc(15 * var(--px));
  .sub1 {
    font-size: calc(32 * var(--px));
    font-weight: 700;
    line-height: 1.1;
    font-feature-settings: "palt";
    text-align: left;
    color: var(--color-text);
  }
  &::before {
    content: "";
    background-image: url(../images/parts02__mv-check.svg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(35 * var(--px));
    height: calc(30 * var(--px));
    flex-shrink: 0;
  }
  
}
@media screen and (max-width: 1079px) {
  .parts02__list-item {
    width: calc(225 * var(--px));
    height: calc(92 * var(--px));
    gap: calc(0 * var(--px));
    border-radius: calc(20 * var(--px));
    padding-left: calc(5 * var(--px));

    .sub1 {
      font-size: calc(30 * var(--px));
    }
  }
}


/********************
 * #parts-03-top-below-4-block
*********************/
.parts03 {
  background-image: linear-gradient(to bottom, var(--color-grad-secondary));
}

.parts03__inner {
  padding-block: calc(20 * var(--px));
}
@media screen and (max-width: 1079px) {
  .parts03__inner {
    padding-block: calc(15 * var(--px));
    padding-inline: calc(15 * var(--px));
  }
}

.parts03__list {
  display: flex;
  justify-content: center;
  align-items: center;
}

@media screen and (max-width: 1079px) {
  .parts03__list {
    flex-wrap: wrap;
  }
}
.parts03__item {

}
@media screen and (max-width: 1079px) {
  .parts03__item {
    flex: 1 1 50%;
  }
}


/********************
 * #parts-04-cta
*********************/
.parts04 {
  background-color: #ffffea;
}

.parts04__inner {
  padding-block: calc(55 * var(--px));

}

.parts04__content {
  background-color: var(--color-base);
  border: calc(4 * var(--px)) solid var(--color-primary);
  position: relative;
  z-index: 1;

  &::before {
    content: "";
    background-image: url(../images/parts04__content-before.webp);
    width: calc(245 * var(--px));
    height: calc(353 * var(--px));
    background-size: 100%;
    background-position: top;
    background-repeat: no-repeat;
    position: absolute;
    top: calc(-23 * var(--px));
    right: calc(5 * var(--px));
    z-index: 0;
  }
}

@media screen and (max-width: 1079px) {
  .parts04__content {
    &::before {
      width: calc(200 * var(--px));
      height: calc(208 * var(--px));
      right: calc(30 * var(--px));
    }
  }
}
.parts04__box1 {
  background-image: linear-gradient(to left, var(--color-grad-primary));
  padding-block: calc(20 * var(--px));
  padding-inline: calc(20 * var(--px));
}

@media screen and (max-width: 1079px) {
  .parts04__box1 {
    padding-inline: calc(25 * var(--px));
  }
}
.parts04__box1-text {
  background-color: var(--color-base);
  border-radius: calc(20 * var(--px));
  font-size: calc(28 * var(--px));
  font-feature-settings: "palt";
  line-height: 1.3;
  text-align: center;
  width: fit-content;
  padding: calc(15 * var(--px));

  strong {
    font-weight: 700;
  }
  .sub1 {
    color: var(--color-orange);
  }

  position: relative;
  &::before {
    content: "";
    width: calc(30 * var(--px));
    height: calc(30 * var(--px));
    background-color: var(--color-base);
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    position: absolute;
    top: 50%;
    right: calc(-20 * var(--px));
    transform: translateY(-50%);
  }
}

@media screen and (max-width: 1079px) {
  .parts04__box1-text {
    text-align: left;
    padding-inline: calc(25 * var(--px));

    .sub1 {
      font-size: calc(32 * var(--px));
    }
  }
}
.parts04__box2 {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(15 * var(--px));
  padding-block: calc(20 * var(--px));
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 1079px) {
  .parts04__box2 {
    flex-wrap: wrap;
  }
}
.parts04__box2-text1 {
  font-size: calc(28 * var(--px));
  color: var(--color-base);
  font-weight: 700;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: center;
  width: calc(183 * var(--px));
  aspect-ratio: 1/1;
  flex-shrink: 0;
  background-color: var(--color-orange);
  border-radius: 1000px;
  padding-top: 0.8em;

  .sub1 {
    display: block;
    font-size: calc(54 * var(--px));
    line-height: 1;
  }
}

@media screen and (max-width: 1079px) {
  .parts04__box2-text1 {
    width: calc(154 * var(--px));
    font-size: calc(24 * var(--px));

    .sub1 {
      font-size: calc(44 * var(--px));
    }
  }
}

.parts04__box2-text2 {

}

.parts04__box2-text2-text {
  margin-bottom: calc(5 * var(--px));
  .sub1 {
    --fuchi-font-size: 68;
    --fuchi-offset-x: 0;
  }
  .sub2 {
    --fuchi-font-size: 54;
    --fuchi-offset-x: 0;
  }
}
@media screen and (max-width: 1079px) {
  .parts04__box2-text2-text {
    .sub1 {
      --fuchi-font-size: 57;
    }
    .sub2 {
      --fuchi-font-size: 44;
    }
  }
}

.parts04__box2-text2-tel {
  font-size: calc(80 * var(--px));
  font-weight: 900;
  line-height: 1;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-orange);
  letter-spacing: -0.05em;

  &::before {
    content: "";
    background-image: url(../images/parts04__box2-text2-tel-before.svg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(45 * var(--px));
    height: calc(59 * var(--px));

    display: inline-block;
    vertical-align: baseline;
    margin-right: calc(2 * var(--px));
  }
}

@media screen and (max-width: 1079px) {
  .parts04__box2-text2-tel {
    font-size: calc(68 * var(--px));

    &::before {
      width: calc(36 * var(--px));
      height: calc(47 * var(--px));
    }
  }
}

.parts04__box3 {
  border: calc(2 * var(--px)) solid var(--color-base);
  background-color: var(--color-secondary);
  border-radius: calc(10 * var(--px));
  display: flex;
  justify-content: center;
  align-items: center;
  align-self: flex-end;
  box-shadow: calc(4 * var(--px)) calc(4 * var(--px)) calc(10 * var(--px)) #2228;
  padding-block: calc(15 * var(--px));
  padding-inline: calc(20 * var(--px));
}
@media screen and (max-width: 1079px) {
  .parts04__box3 {
    padding-inline: calc(25 * var(--px));
    box-shadow: none;
    border: none;
    border-radius: 0;
    width: calc(100% - 50 * var(--px));
    position: relative;

    &::after {
      content: "";
      position: absolute;
      right: calc(10 * var(--px));
      bottom: calc(12 * var(--px));
      width: calc(70 * var(--px));
      height: calc(77 * var(--px));
      background-image: url(../images/hand.webp);
      background-size: contain;
      background-position: center;
      background-repeat: no-repeat;
    }
  }
}
.parts04__box3-text {
  font-size: calc(26 * var(--px));
  font-weight: 500;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-base);

}

.parts04__button-area {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(40 * var(--px));
  margin-top: calc(60 * var(--px));
}

@media screen and (max-width: 1079px) {
  .parts04__button-area {
    flex-direction: column;
    gap: calc(60 * var(--px));
  }
}
.parts04__button-area-button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: var(--parts04__button-bg);
  box-shadow: 0 calc(6 * var(--px)) 0 var(--parts04__button-shadow);
  width: calc(500 * var(--px));
  height: calc(90 * var(--px));
  border-radius: 1000px;
  padding-inline: calc(40 * var(--px));
  position: relative;

  &::before {
    content: "";
    background-image: var(--parts04__button-before);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(42 * var(--px));
    height: calc(42 * var(--px));
  }
  &::after {
    content: "";
    background-image: var(--parts04__button-after);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(34 * var(--px));
    height: calc(34 * var(--px));
  }

  &[data-type="mail"] {
    --parts04__button-bg: var(--color-secondary);
    --parts04__button-shadow: var(--color-primary);
    --parts04__button-before: url(../images/parts04__button-area-button-before-mail.svg);
    --parts04__button-after: url(../images/parts04__button-area-button-after-mail.svg);
  }
  &[data-type="line"] {
    --parts04__button-bg: var(--color-green);
    --parts04__button-shadow: #12762c;
    --parts04__button-before: url(../images/parts04__button-area-button-before-line.svg);
    --parts04__button-after: url(../images/parts04__button-area-button-after-line.svg);
  }

  .sub1 {
    font-size: calc(21 * var(--px));
    color: var(--parts04__button-bg);
    background-color: var(--color-base);
    border: calc(4 * var(--px)) solid var(--parts04__button-bg);
    border-radius: 100px;
    padding-block: calc(5 * var(--px));
    padding-inline: calc(20 * var(--px));
    width: fit-content;
    margin-inline: auto;
    position: absolute;
    top: -1em;
    left: 0;
    right: 0;
  }
  .sub2 {
    font-size: calc(25 * var(--px));
    font-weight: 700;
    color: var(--color-base);
  }

  &:hover {
    transform: translateY(calc(6 * var(--px)));
    box-shadow: none;
  }
}

@media screen and (max-width: 1079px) {
  .parts04__button-area-button {
    width: calc(100% - 60 * var(--px));
    height: calc(112 * var(--px));

    .sub1 {
      font-size: calc(26 * var(--px));
    }
    .sub2 {
      font-size: calc(32 * var(--px));
    }
  }
}
.sub2 {

}


/********************
 * #parts-05-breadcrumbs
*********************/
.parts05 {
  background-color: var(--color-base);
}

.parts05__inner {
  padding-block: calc(10 * var(--px));
}


.parts05__list {
  display: flex;
  justify-content: flex-start;
  align-items: center;

  font-size: calc(13 * var(--px));
  font-weight: 400;
  line-height: 1.3;

}

@media screen and (max-width: 1079px) {
  .parts05__list {
    font-size: calc(24 * var(--px));
    font-weight: 500;
  }
}
.parts05__item {
  &:not(:first-child) {
    &::before {
      content: ">";
      color: var(--color-contrast);
      margin-inline: 0.3em;
      display: inline-block;
    }
  }
}

.parts05__item-link {
  font-feature-settings: "palt";
  color: var(--color-contrast);
  display: inline-block;
}

/********************
 * #parts-06-intro
*********************/
.parts06 {
}
@media screen and (max-width: 1079px) {
  .parts06 {
    padding-top: calc(40 * var(--px));
  }
}

.parts06__inner {
  padding-block: calc(60 * var(--px)) calc(80 * var(--px));
}
@media screen and (max-width: 1079px) {
  .parts06__inner {
    padding-top: 0;
  }
}

.parts06__content {

}

.parts06__box1 {
  background-color: var(--color-secondary);
  border-radius: calc(20 * var(--px)) calc(20 * var(--px)) 0 0;
  padding-block: calc(25 * var(--px));
  padding-inline: calc(330 * var(--px)) calc(30 * var(--px));
  position: relative;
  &::before {
    content: "";
    background-image: url(../images/parts06__box1-text-before.svg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(105 * var(--px));
    height: auto;
    aspect-ratio: 105/172;
    position: absolute;
    bottom: calc(10 * var(--px));
    left: calc(190 * var(--px));
  }
  &::after {
    content: "";
    background-image: url(../images/parts06__box1-text-after.svg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(150 * var(--px));
    height: auto;
    aspect-ratio: 150/140;
    position: absolute;
    top: calc(10 * var(--px));
    left: calc(30 * var(--px));
  }
}
#parts-06b-intro-clogging-toilet .parts06__box1 {
  padding-inline: calc(300 * var(--px)) calc(20 * var(--px));
  &::before {
    left: calc(180 * var(--px));
  }
}
@media screen and (max-width: 1079px) {
  .parts06__box1 {
    padding-inline: calc(20 * var(--px));
    padding-block: calc(35 * var(--px));
    margin-inline: calc(50% - 50cqi);
    border-radius: 0;

    &::before {
      width: calc(100* var(--px));
      bottom: calc(20 * var(--px));
      left: calc(50% - 250 * var(--px));
    }
    &::after {
      width: calc(121 * var(--px));
      top: calc(50 * var(--px));
      left: calc(50% - 340 * var(--px));
    }
  }
  #parts-06b-intro-clogging-toilet .parts06__box1 {
    padding-inline: calc(20 * var(--px)) calc(20 * var(--px));
    &::before {
      left: calc(90 * var(--px));
    }
  }
}

.parts06__box1-text {
  font-size: calc(42 * var(--px));
  font-weight: 700;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: left;
  color: var(--color-base);

  .sub1 {
    color: var(--color-yellow);
  }
}
@media screen and (max-width: 1079px) {
  .parts06__box1-text {
    width: var(--section-inner-size);
    margin-inline: auto;
    font-size: calc(46 * var(--px));
    line-height: 1.4;
    padding-left: calc(220 * var(--px));
  }
  #parts-06b-intro-clogging-toilet .parts06__box1-text {
    padding-left: calc(180 * var(--px));
  }
}

.parts06__text1 {
  margin-top: calc(50 * var(--px));
}
@media screen and (max-width: 1079px) {
  .parts06__text1 {
    margin-top: calc(30 * var(--px));
  }
}

.parts06__list {
  width: calc(690 * var(--px));
  margin-inline: auto;
  margin-top: calc(60 * var(--px));
}

.parts06__item {

  &:not(:last-child) {
    margin-bottom: calc(50 * var(--px));
  }
}

.parts06__item-title {
  background-color: #ffffa1;
  margin-left: calc(30 * var(--px));
  color: #005dab;
  font-size: calc(32 * var(--px));
  font-weight: 700;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: left;
  padding-block: 0.2em;
  padding-left: calc(60 * var(--px));
  position: relative;
  &::before {
    content: "";
    background-image: url(../images/parts06__item-title-before.svg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(80 * var(--px));
    height: auto;
    aspect-ratio: 1/1;
    position: absolute;
    left: calc(-40 * var(--px));
    top: 55%;
    transform: translateY(-50%);
  }
}
@media screen and (max-width: 1079px) {
  .parts06__item-title {
    font-size: calc(36 * var(--px));
    padding-left: calc(50 * var(--px));
  }
}

.parts06__item-text {
  margin-top: calc(30 * var(--px));
  strong {
    color: #005dab;
  }
}

.parts06__box2 {
  margin-top: calc(60 * var(--px));
}

.parts06__box2-text {
  font-size: calc(21 * var(--px));
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: center;
  font-weight: 400;
}
@media screen and (max-width: 1079px) {
  .parts06__box2-text {
    font-size: calc(30 * var(--px));
  }
}

.parts06__box2-button {
  display: block;
  width: fit-content;
  margin-inline: auto;
  margin-top: calc(30 * var(--px));
  padding-inline: calc(30 * var(--px)) calc(64 * var(--px));
  padding-block: 0.6em;
  border-radius: 100px;
  border: calc(2 * var(--px)) solid var(--color-primary);
  background-color: var(--color-base);
  font-size: calc(21 * var(--px));
  font-weight: 400;
  line-height: 1.5;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-primary);
  position: relative;
  &::after {
    content: "";
    background-image: url(../images/button-arrow-white.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(28 * var(--px));
    height: calc(28 * var(--px));
    position: absolute;
    top: 50%;
    right: calc(16 * var(--px));
    transform: translateY(-50%);
    transition: transform 0.3s ease;
  }
  &:hover {
    &::after {
      transform: translateY(-50%) translateX(calc(4 * var(--px)));
    }
  }
}
@media screen and (max-width: 1079px) {
  .parts06__box2-button {
    margin-top: calc(50 * var(--px));
    font-size: calc(32 * var(--px));
    width: calc(570 * var(--px));

    &::after {
      width: calc(42 * var(--px));
      height: calc(42 * var(--px));
      right: calc(20 * var(--px));
    }
  }
}

/********************
 * #parts-07-service
*********************/
.parts07 {
  background-image: linear-gradient(to bottom, transparent calc(100 * var(--px)), var(--color-bg-secondary) calc(100 * var(--px) - 100%));
  padding-bottom: calc(110 * var(--px));
}
@media screen and (max-width: 1079px) {
  .parts07 {
    background-image: linear-gradient(to bottom, transparent calc(90 * var(--px)), var(--color-bg-secondary) calc(90 * var(--px) - 100%));
    padding-bottom: calc(100 * var(--px));
  }
}

.parts07__inner {

}

.parts07__content {

}

.parts07__title {
  padding-bottom: calc(30 * var(--px));
  .sub1 {
    background-color: #fef887;
    color: var(--color-primary);
    border-radius: 100px;
    border: calc(2 * var(--px)) solid var(--color-primary);
    padding-inline: 1em;
    font-size: calc(28 * var(--px));
    font-weight: 700;
    line-height: 1.8;
    font-feature-settings: "palt";
    text-align: center;
    display: block;
    width: fit-content;
    margin-inline: auto;
    margin-bottom: calc(20 * var(--px));
  }
  
  .sub2 {
    font-size: calc(48 * var(--px));
    font-weight: 700;
    line-height: 1.3;
    font-feature-settings: "palt";
    text-align: center;
    color: var(--color-base);
    display: block;
    width: fit-content;
    margin-inline: auto;
  }

  position: relative;
  z-index: 1;
  &::before {
    content: "";
    background-image: linear-gradient(to right, var(--color-grad-primary));
    width: calc(100% + (50cqi - 50%));
    height: calc(140 * var(--px));
    border-radius: calc(65 * var(--px)) 0 0 0;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
  }
  &::after {
    content: "";
    background-image: url(../images/parts07__title-before.svg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(116 * var(--px));
    height: auto;
    aspect-ratio: 116/133;
    position: absolute;
    bottom: calc(10 * var(--px));
    left: calc(50% - 400 * var(--px));
  }
}

@media screen and (max-width: 1079px) {
  .parts07__title {
    padding-left: calc(190 * var(--px));
    padding-bottom: calc(40 * var(--px));
    .sub1 {
      font-size: calc(37 * var(--px));
      margin-bottom: calc(30 * var(--px));
    }
    .sub2 {
      font-size: calc(42 * var(--px));
    }
    &::before {
      height: calc(174 * var(--px));
    }
    &::after {
      width: calc(160 * var(--px));
      bottom: calc(6 * var(--px));
      left: calc(50% - 330 * var(--px));
    }
  }
}
.parts07__list {
  margin-top: calc(55 * var(--px));
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(80 * var(--px));
}
@media screen and (max-width: 1079px) {
  .parts07__list {
    grid-template-columns: 1fr;
    gap: calc(75 * var(--px));
  }
}

.parts07__item {

}

.parts07__item-image {
  display: block;
  width: calc(100% - 10 * var(--px));
  margin-inline: 0 auto;
  border-radius: calc(15 * var(--px));
  filter: drop-shadow(calc(10 * var(--px)) calc(10 * var(--px)) 0 var(--color-secondary));
}

@media screen and (max-width: 1079px) {
  .parts07__item-image {
    width: calc(500 * var(--px));
    margin-inline: auto;
  }
}
.parts07__item-title {
  margin-top: calc(45 * var(--px));
  font-size: calc(32 * var(--px));
  font-weight: 700;
  line-height: 1.67;
  font-feature-settings: "palt";
  text-align: center;
}
@media screen and (max-width: 1079px) {
  .parts07__item-title {
    margin-top: calc(30 * var(--px));
    font-size: calc(36 * var(--px));
  }
}

.parts07__item-text {
  margin-top: calc(15 * var(--px));
  font-size: calc(17 * var(--px));
  font-weight: 400;
  line-height: 2;
  font-feature-settings: "palt";
  text-align: center;
}
@media screen and (max-width: 1079px) {
  .parts07__item-text {
    margin-top: calc(10 * var(--px));
    font-size: calc(32 * var(--px));
    width: calc(540 * var(--px));
    margin-inline: auto;
    line-height: 1.75;
    text-align: left;
  }
}

.parts07__item-button {
  margin-top: calc(35 * var(--px));
  display: block;
  width: 100%;
  background-color: var(--color-base);
  color: var(--color-primary);
  border-radius: 1000px;
  border: calc(2 * var(--px)) solid var(--color-primary);
  padding-block: 0.3em;
  text-align: center;
  font-size: calc(21 * var(--px));
  font-weight: 400;
  line-height: 2;
  font-feature-settings: "palt";
  padding-right: calc(20 * var(--px));

  position: relative;
  z-index: 1;
  &::before {
    content: "";
    background-image: url(../images/button-arrow-white.svg);
    width: calc(32 * var(--px));
    height: auto;
    aspect-ratio: 1/1;
    position: absolute;
    top: 50%;
    right: calc(10 * var(--px));
    transform: translateY(-50%);
    transition: transform 0.1s ease-in-out;
  }
  &:hover {
    &::before {
      transform: translateY(-50%) translateX(calc(4 * var(--px)));
    }
  }

}

@media screen and (max-width: 1079px) {
  .parts07__item-button {
    font-size: calc(28 * var(--px));
    padding-right: calc(10 * var(--px));
    width: 100%;
    min-width: calc(600 * var(--px));
    padding-inline: calc(20 * var(--px)) calc(70 * var(--px));
    padding-block: 0.6em;
    margin-inline: auto;
    border-width: calc(3 * var(--px));

    &::before {
      width: calc(42 * var(--px));
      right: calc(25 * var(--px));
    }
  }
}

/********************
 * #parts-08-flow
*********************/
.parts08 {
  padding-block: calc(80 * var(--px)) calc(80 * var(--px));
}
@media screen and (max-width: 1079px) {
  .parts08 {
    padding-block: calc(60 * var(--px)) calc(60 * var(--px));
  }
}

.parts08__inner {

}

.parts08__content {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(100 * var(--px));
}
@media screen and (max-width: 1079px) {
  .parts08__content {
    flex-direction: column;
    gap: calc(40 * var(--px));
    justify-content: flex-start;
  }
}

.parts08__textarea {
  flex: 1 1 55%;
}

.parts08__title {
  font-size: calc(38 * var(--px));
  font-weight: 700;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-text);

  .sub1 {
    color: var(--color-green);
  }
}
@media screen and (max-width: 1079px) {
  .parts08__title {
    font-size: calc(48 * var(--px));
  }
}

.parts08__text {
  margin-top: calc(25 * var(--px));
  font-size: calc(24 * var(--px));
  font-weight: 500;
  line-height: 1.9;
  font-feature-settings: "palt";
  text-align: left;
  color: var(--color-text);

  .sub1 {
    color: var(--color-orange);
    font-weight: 700;
  }
}
@media screen and (max-width: 1079px) {
  .parts08__text {
    font-size: calc(32 * var(--px));
  }
}

.parts08__image {
  width: calc(235 * var(--px));
  margin-left: calc(50 * var(--px));
}

@media screen and (max-width: 1079px) {
  .parts08__image {
    width: calc(650 * var(--px));
    margin-top: calc(40 * var(--px));
    margin-left: 0;
  }
}
.parts08__box1 {
  margin-top: calc(40 * var(--px));
  width: calc(796 * var(--px));
  margin-inline: auto;
  padding-block: calc(30 * var(--px));
  padding-inline: calc(30 * var(--px));
  border: calc(4 * var(--px)) solid var(--color-primary);
}

@media screen and (max-width: 1079px) {
  .parts08__box1 {
    margin-top: calc(20 * var(--px));
    width: 100%;
    padding-block: calc(10 * var(--px));
  }
}
.parts08__box1-text {
  font-size: calc(23 * var(--px));
  text-align: left;
  line-height: 1.9;
  font-weight: 500;
  font-feature-settings: "palt";
  color: var(--color-text);
}
.parts08__box1-text a {
  text-decoration: underline;
}

@media screen and (max-width: 1079px) {
  .parts08__box1-text {
    font-size: calc(32 * var(--px));
  }
}

.parts08__title-b {

  .sub1 {
    display: block;
    margin-left: 0.5em;
    font-size: calc(48 * var(--px));
    font-weight: 700;
    line-height: 1.3;
    font-feature-settings: "palt";
    text-align: center;
    color: var(--color-base);
    background-color: var(--color-green);  
    padding-block: 0.3em;
    width: fit-content;
    padding-inline: 1em;
    margin-inline:auto;
    position: relative;
    &::before {
      content: "";
      background-image: url(../images/parts14__title-icon.svg);
      background-size: calc(66 * var(--px));
      background-position: center;
      background-repeat: no-repeat;
      width: calc(136 * var(--px));
      height: auto;
      aspect-ratio: 1/1;
      position: absolute;
      top: 50%;
      left: calc(-110 * var(--px));
      transform: translateY(-50%);
      border-radius: 100px;
      background-color: var(--color-green);
    }
  }
  
}
@media screen and (max-width: 1079px) {
  .parts08__title-b {
    .sub1 {
      font-size: calc(40 * var(--px));
      padding-block: 0.4em;
      padding-inline: 2em 1.2em;
      margin-inline: auto 0;
      &::before {
        background-size: calc(38 * var(--px));
        width: calc(100 * var(--px));
        left:  calc(-30 * var(--px));;
      }
    }

  }
}

.parts08__map-wrapper {
  flex: 1 0 50%;
  width: 100%;
  aspect-ratio: 540 / 380;
  margin-inline: auto;
  margin-top: calc(60 * var(--px));

  iframe {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
  }
}

@media screen and (max-width: 1079px) {
  .parts08__map-wrapper {
    width: 100%;
    aspect-ratio: 690 / 490;
    margin-top: 0;
  }
}
.parts08__text2 {
  font-size: calc(21 * var(--px));
  font-weight: 400;
  line-height: 2;
  font-feature-settings: "palt";
  text-align: left;
  color: var(--color-text);

}
@media screen and (max-width: 1079px) {
  .parts08__text2 {
    font-size: calc(32 * var(--px));
    text-align: justify;
    margin-top: calc(40 * var(--px));
  }
}
.parts08__list {
  flex: 0 1 calc(690 * var(--px));
  padding-block: calc(50 * var(--px));
}
@media screen and (max-width: 1079px) {
  .parts08__list {
    flex: 0 1 auto;
    padding-bottom: 0;
  }
}

.parts08__item {
  background-color: var(--parts08__item-color);
  border-radius: calc(16 * var(--px)) calc(16 * var(--px)) 0 0;
  border: calc(3 * var(--px)) solid var(--parts08__item-color);
  &[data-type="near"] {
    --parts08__item-color: #fdcc0c;
    --parts08__item-text-color: var(--color-orange-pale);
  }
  &[data-type="far"] {
    --parts08__item-color: #88d4f8;
    --parts08__item-text-color: #005dab;
  }

  &:not(:first-child) {
    margin-top: calc(50 * var(--px));
  }
}

.parts08__item-title {
  padding-inline: calc(25 * var(--px));
  padding-block: calc(10 * var(--px));
  display: flex;
  justify-content: space-between;
  align-items: center;

  &[data-type="align-center"] {
    justify-content: center;
  }

  .sub1 {
    font-size: calc(28 * var(--px));
    font-weight: 500;
    line-height: 1.3;
    font-feature-settings: "palt";
    text-align: left;
    color: #2d2d2d;
  }
  
  .sub2 {
    font-size: calc(21 * var(--px));
    font-weight: 700;
    line-height: 1.3;
    font-feature-settings: "palt";
    text-align: left;
    color: var(--parts08__item-text-color);
    padding: 0.2em 0.8em;
    background-color: var(--color-base);
    border-radius: 100px;
  }
  
  .sub21 {
    font-size: 1.4em;
  }
}
@media screen and (max-width: 1079px) {
  .parts08__item-title {
    .sub1 {
      font-size: calc(35 * var(--px));
    }
    .sub2 {
      font-size: calc(24 * var(--px));
    }
  }
}

.parts08__item-text {
  font-size: calc(21 * var(--px));
  font-weight: 500;
  line-height: 1.5;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-contrast);
  background-color: var(--color-base);
  padding-inline: calc(25 * var(--px));
  padding-block: calc(20 * var(--px));

  a {
      text-decoration: underline;
    }

}

@media screen and (max-width: 1079px) {
  .parts08__item-text {
    font-size: calc(28 * var(--px));
    text-align: left;
  }
}

.parts08__button a {
  display: block;
  margin-top: calc(30 * var(--px));
  font-size: calc(21 * var(--px));
  line-height: 1.3;
  text-align: center;
  color: var(--color-secondary);
  background-color: var(--color-base);
  padding-block: 0.5em;
  padding-inline: 2em 3.3em;
  border-radius: 1000px;
  border: calc(2 * var(--px)) solid var(--color-secondary);
  position: relative;
  width: fit-content;
  margin-inline: auto;
  &::after {
    content: "";
    background-image: url(../images/button-arrow-white.svg);
    width: calc(32 * var(--px));
    height: auto;
    aspect-ratio: 1/1;
    position: absolute;
    top: 50%;
    right: calc(20 * var(--px));
    transform: translateY(-50%);
    transition: transform 0.1s ease-in-out;
  }
  &:hover {
    &::after {
      transform: translateY(-50%) translateX(calc(4 * var(--px)));
    }
  }
}

@media screen and (max-width: 1079px) {
  .parts08__button a {
    width: 100%;
    font-size: calc(32 * var(--px));
    padding-inline:1em 2em;
    padding-block: 0.5em;


    &::after {
      width: calc(42 * var(--px));
    }
  }
}
/********************
 * #parts-09-price
*********************/
.parts09 {
  background-color: var(--color-bg-primary);
  margin-top: calc(100 * var(--px));
  padding-bottom: calc(80 * var(--px));
}

.parts09__inner {

}

.parts09__content {

}

.parts09__title {
  padding-bottom: calc(40 * var(--px));
 
  .sub1 {
    font-size: calc(48 * var(--px));
    font-weight: 700;
    line-height: 1.3;
    font-feature-settings: "palt";
    text-align: center;
    color: var(--color-base);
    display: block;
    width: fit-content;
    margin-inline: auto;
  }

  position: relative;
  z-index: 1;
  &::before {
    content: "";
    background-image: linear-gradient(to right, var(--color-grad-primary));
    width: calc(100% + (50cqi - 50%));
    height: calc(140 * var(--px));
    border-radius: 0 calc(65 * var(--px)) 0 0;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: -1;
  }
  &::after {
    content: "";
    background-image: url(../images/parts09__title-before.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(170 * var(--px));
    height: auto;
    aspect-ratio: 160 / 154;
    position: absolute;
    bottom: calc(5 * var(--px));
    left: calc(50% - 460 * var(--px));
  }
}

@media screen and (max-width: 1079px) {
  .parts09__title {
    padding-left: calc(110 * var(--px));
    padding-bottom: calc(15 * var(--px));
    .sub1 {
      font-size: calc(42 * var(--px));
    }
    &::before {
      height: calc(140 * var(--px));
      width: 100%;
      border-radius: 200px calc(200 * var(--px)) 0 200px;
    }
    &::after {
      width: calc(230 * var(--px));
      bottom: calc(-30 * var(--px));
      left: calc(-10 * var(--px));
    }
  }
}

.parts09__text1 {
  margin-top: calc(30 * var(--px));
  font-size: calc(42 * var(--px));
  font-weight: 700;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-base);
  background-color: var(--color-secondary);
  width: calc(480 * var(--px));
  margin-inline: auto;
  padding-block: 0.1em;
  clip-path: polygon(
    calc(35 * var(--px)) 0,
    calc(100% - 35 * var(--px)) 0,
    100% 50%,
    calc(100% - 35 * var(--px)) 100%,
    calc(35 * var(--px)) 100%,
    0 50%);
}

.parts09__image1 {
  margin-top: calc(30 * var(--px));
  margin-bottom: calc(-40 * var(--px));
  width: calc(690 * var(--px));
  margin-inline: auto;
}

.parts09__text2 {
  margin-top: calc(80 * var(--px));
  margin-bottom: calc(30 * var(--px));
  margin-inline: auto;
  padding-block: 0.2em;
  width: calc(410 * var(--px));
  font-size: calc(42 * var(--px));
  font-weight: 700;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-base);
  border-radius: 100px;
  background-image: linear-gradient(to bottom, var(--color-secondary) 50%, var(--color-primary) 50%);
  position: relative;
  &::before {
    content: "";
    background-color: var(--color-primary);
    width: calc(20 * var(--px));
    height: calc(30 * var(--px));
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    position: absolute;
    top: calc(100% - 5 * var(--px));
    left: 50%;
    transform: translateX(-50%);
  }
}

@media screen and (max-width: 1079px) {
  .parts09__text2 {
    margin-top: calc(60 * var(--px));
  }
}
.parts09__table-wrapper {
  margin-top: calc(40 * var(--px));
  width: calc(800 * var(--px));
  margin-inline: auto;
  border: calc(4 * var(--px)) solid #666666;
  border-radius: calc(30 * var(--px)) calc(30 * var(--px)) 0 0;
  overflow: hidden;
}

@media screen and (max-width: 1079px) {
  .parts09__table-wrapper {
    width: 100%;
  }
}
.parts09__table {
  width: 100%;

  tr:first-child {
    background-color: var(--color-secondary);

    td:nth-child(2) {
      background-color: var(--color-primary);
    }
    td {
      font-size: calc(34 * var(--px));
      font-weight: 700;
      line-height: 1.3;
      font-feature-settings: "palt";
      text-align: center;
      color: var(--color-base);
      padding-block: 0.6em;
      width: 36%;
    }
  }
  tr:last-child {
    background-color: var(--color-base);
    
    td:not(:last-child) {
      border-right: calc(4 * var(--px)) solid #666666;
    }
    td {
      height: calc(125 * var(--px));
      position: relative;
      padding-block: 0.8em;
      font-size: calc(32 * var(--px));
      font-weight: 700;
      line-height: 1.3;
      font-feature-settings: "palt";
      text-align: center;
      color: var(--color-primary);
      .sub1 {
        position: absolute;
        top: -0.5em;
        left: 50%;
        transform: translateX(-50%);
        font-size: calc(23 * var(--px));
        color: var(--color-orange);
        text-align: center;
        font-weight: 700;
        line-height: 1.3;
        font-feature-settings: "palt";
        background-color: var(--color-base);
        border-radius: 100px;
        padding-inline: 0.8em;
        padding-block: 0.2em;
        width: max-content;
      }
      .sub2 {
        font-size: calc(62 * var(--px));
        color: var(--color-primary);
        font-weight: 700;
        line-height: 1.3;
        font-feature-settings: "palt";
        text-align: center;
        width: fit-content;
        margin-inline: auto;
        padding-block: 0.1em;
        letter-spacing: -0.02em;
        border-radius: 100px;
      }

      &:nth-child(1) {
        color: var(--color-orange);
        .sub2 {
          color: var(--color-orange);
        }
      }
      &:nth-child(3) {
        color: var(--color-secondary);
        font-size: calc(34 * var(--px));
        font-weight: 700;
        line-height: 1.3;
        font-feature-settings: "palt";
        text-align: center;
        padding-block: 0.5em;
      }
    }
  }
}

@media screen and (max-width: 1079px) {
  .parts09__table {
    tr:first-child {
      td {
        font-size: calc(30 * var(--px));
      }
    }
    tr:last-child {
      td {
        height: calc(90 * var(--px));
        font-size: calc(30 * var(--px));
        padding-block:1.1em 0.6em;
        .sub1 {
          font-size: calc(20 * var(--px));
        }
        .sub2 {
          font-size: calc(54 * var(--px));
        }
      }
    }
  }
}
.parts09__list {
  margin-top: calc(60 * var(--px));
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(25 * var(--px));
}

.parts09__item {
  flex: 0 1 calc(250 * var(--px));
  background-color: var(--color-base);
  border-radius: calc(30 * var(--px)) calc(30 * var(--px)) 0 0;
  padding-bottom: calc(30 * var(--px));
}

@media screen and (max-width: 1079px) {
  .parts09__item {
    padding-bottom: calc(15 * var(--px));
  }
}
.parts09__item-image {

}

.parts09__item-text {
  margin-top: calc(20 * var(--px));
  font-size: calc(32 * var(--px));
  font-weight: 700;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-text);
}
@media screen and (max-width: 1079px) {
  .parts09__item-text {
    font-size: calc(28 * var(--px));
  }
}

.parts09__item-text2 {
  font-size: calc(32 * var(--px));
  font-weight: 700;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-primary);

  .font-roboto {
    font-size: calc(48 * var(--px));
    font-weight: 700;
    line-height: 1.3;
    font-feature-settings: "palt";
    text-align: center;
    color: var(--color-primary);
    letter-spacing: -0.02em;
  }
}
@media screen and (max-width: 1079px) {
  .parts09__item-text2 {
    margin-top: calc(10 * var(--px));
    font-size: calc(28 * var(--px));
    .font-roboto {
      font-size: calc(42 * var(--px));
    }
  }
}

.parts09__payment-table {
  display: grid;
  grid-template-areas: 
  "bank credit qr-payment np"
  "credit-logo credit-logo qr-logo np-logo";
}

.parts09__payment-table-header {
  font-size: calc(21 * var(--px));
  font-weight: 700;
  line-height: 2.5;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-base);
  background-color: var(--color-primary);

  &[data-type="bank"] {
    grid-area: bank;
    --parts09__payment-table-header-before: url(../images/parts09__payment-table-header-bank.svg);
    --parts09__payment-table-header-before-width: calc(40 * var(--px));
  }
  &[data-type="credit"] {
    grid-area: credit;
    --parts09__payment-table-header-before: url(../images/parts09__payment-table-header-credit.svg);
    --parts09__payment-table-header-before-width: calc(38 * var(--px));
  }
  &[data-type="qr-payment"] {
    grid-area: qr-payment;
    --parts09__payment-table-header-before: url(../images/parts09__payment-table-header-qr.svg);
    --parts09__payment-table-header-before-width: calc(25 * var(--px));
  }
  &[data-type="np"] {
    grid-area: np;
    --parts09__payment-table-header-before: url(../images/parts09__payment-table-header-np.svg);
    --parts09__payment-table-header-before-width: calc(38 * var(--px));
  }

  position: relative;
  &::before {
    content: "";
    background-image: var(--parts09__payment-table-header-before);
    background-size: var(--parts09__payment-table-header-before-width) auto;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(40 * var(--px));
    height: auto;
    aspect-ratio: 1/1;
    display: inline-block;
    vertical-align: -0.5em;
    margin-right: 0.3em;
  }
  &::after {
    content: "";
    background-color: var(--color-base);
    width: calc(2 * var(--px));
    height: 80%;
    position: absolute;
    top: 10%;
    right: 0;
  }
  &:nth-of-type(1) {
    border-radius: calc(5 * var(--px)) 0 0 0;
  }
  &:nth-of-type(4) {
    border-radius: 0 calc(5 * var(--px)) 0 0;
    &::after {
      display: none;
    }
  }
}

.parts09__payment-table-data {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(15 * var(--px));
  padding-block: calc(20 * var(--px));
  background-color: var(--color-base);

  &[data-type="credit"] {
    grid-area: credit-logo;
  }
  &[data-type="qr-payment"] {
    grid-area: qr-logo;
  }
  &[data-type="np"] {
    grid-area: np-logo;
  }

  position: relative;
  &::before {
    content: "";
    background-color: var(--color-text);
    width: calc(2 * var(--px));
    height: 60%;
    position: absolute;
    top: 20%;
    right: 0;
  }
  &:nth-of-type(7) {
    &::before {
      display: none;
    }
  }
}

@media screen and (max-width: 1079px) {
  .parts09__payment-table-data {
    width: calc(600 * var(--px));
    margin-inline: auto;
  
    &::before {
      content: none;
    }
  }
}

.parts09__payment-table-data-image {
  height: calc(38 * var(--px));
  width: auto;

  &[src*="visa"] {
    height: calc(20 * var(--px));
  }
  &[src*="smart-code"] {
    height: calc(25 * var(--px));
  }
}
@media screen and (max-width: 1079px) {
  .parts09__payment-table-data-image {
    height: calc(56 * var(--px));

    &[src*="visa"] {
      height: calc(28 * var(--px));
    }
    &[src*="smart-code"] {
      height: calc(36 * var(--px));
    }
    &[src*="np"] {
      display: inline;
      text-align: center;
      margin-top: calc(30 * var(--px));
    }
  }
}

.parts09__text4 {
  margin-top: calc(30 * var(--px));
  font-size: calc(24 * var(--px));
  font-weight: 500;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-text);
}

@media screen and (max-width: 1079px) {
  .parts09__text4 {
    font-size: calc(32 * var(--px));
  }
}
.parts09__text5 {
  width: calc(600 * var(--px));
  margin-inline: auto;
  margin-top: 1em;
  padding-block: 0.3em;
  font-size: calc(36 * var(--px));
  color: var(--color-base);
  background-color: var(--color-primary);
  font-weight: 700;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: center;
  border-radius: var(--parts09__text5-border-radius);
  &[data-type="bank"] {
    --parts09__text5-border-radius: calc(10 * var(--px));
    --parts09__text5-icon: url(../images/parts09__payment-table-header-bank.svg);
    --parts09__text5-icon-width: calc(54 * var(--px));
  }
  &[data-type="credit"] {
    --parts09__text5-border-radius: 0 calc(10 * var(--px)) 0 0;
    --parts09__text5-icon: url(../images/parts09__payment-table-header-credit.svg);
    --parts09__text5-icon-width: calc(51 * var(--px));
  }
  &[data-type="qr-payment"] {
    --parts09__text5-border-radius: 0 calc(10 * var(--px)) 0 0;
    --parts09__text5-icon: url(../images/parts09__payment-table-header-qr.svg);
    --parts09__text5-icon-width: calc(33 * var(--px));
  }

  position: relative;
  &::before {
    content: "";
    background-image: var(--parts09__text5-icon);
    background-size: var(--parts09__text5-icon-width) auto;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(80 * var(--px));
    height: calc(80 * var(--px));
    aspect-ratio: 1/1;
    border-radius: 1000px;
    background-color: var(--color-primary);
    position: absolute;
    top: 50%;
    left: -0.5em;
    transform: translateY(-50%);
    z-index: 1;
  }
}
.parts09__text6 {
  display: inline;
  text-align: center;
  font-size: calc(32 * var(--px));
  font-weight: 500;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-text);
  margin-top: calc(30 * var(--px));
  vertical-align: 0.5em;
  margin-left: 0.1em;
}
.parts09__np-wrapper {
  width: fit-content;
  margin-inline: auto;
}

/********************
 * #parts-10-flow
*********************/
.parts10 {
  padding-top: calc(140 * var(--px));
  padding-bottom: calc(80 * var(--px));
}
#parts-20-flow-detail.parts10 {
  padding-top: calc(60 * var(--px));
}

.parts10__inner {

}

.parts10__content {

}

.parts10__title {
  display: block;
  padding-bottom: calc(40 * var(--px));
 
  .sub1 {
    font-size: calc(48 * var(--px));
    font-weight: 700;
    line-height: 1.3;
    font-feature-settings: "palt";
    text-align: center;
    color: var(--color-base);
    display: block;
    width: fit-content;
    margin-inline: auto;
  }

  position: relative;
  z-index: 1;
  &::before {
    content: "";
    background-image: linear-gradient(to left, var(--color-grad-primary));
    width: calc(100% + (50cqi - 50%));
    height: calc(140 * var(--px));
    border-radius: calc(65 * var(--px)) 0 0 0;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
  }
  &::after {
    content: "";
    background-image: url(../images/parts10__title-after.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(170 * var(--px));
    height: auto;
    aspect-ratio: 160 / 154;
    position: absolute;
    bottom: calc(5 * var(--px));
    left: calc(50% - 340 * var(--px));
  }
}

@media screen and (max-width: 1079px) {
  .parts10__title {
    padding-left: calc(110 * var(--px));
    padding-bottom: calc(35 * var(--px));
    .sub1 {
      font-size: calc(54 * var(--px));
    }
    &::before {
      background-image: linear-gradient(to right, var(--color-grad-primary));

      height: calc(140 * var(--px));
      width: 100%;
      border-radius: 200px calc(200 * var(--px)) 0 200px;
    }
    &::after {
      width: calc(230 * var(--px));
      bottom: calc(-30 * var(--px));
      left: calc(-10 * var(--px));
    }
  }
}
.parts10__title-sub {
  margin-top: calc(40 * var(--px));
  font-size: calc(36 * var(--px));
  font-weight: 700;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-base);
  background-color: var(--color-green);
  display: block;
  width: fit-content;
  margin-inline: auto;
  padding-block: 0.2em;
  padding-inline: 2em;
  clip-path: polygon(
    calc(35 * var(--px)) 0,
    calc(100% - 35 * var(--px)) 0,
    100% 50%,
    calc(100% - 35 * var(--px)) 100%,
    calc(35 * var(--px)) 100%,
    0 50%);
}

@media screen and (max-width: 1079px) {
  .parts10__title-sub {
    margin-top: calc(30 * var(--px));
    padding-block: 0.3em;
  }
}
.parts10__list {
  margin-top: calc(40 * var(--px));
}
@media screen and (max-width: 1079px) {
  .parts10__list {
    margin-top: calc(30 * var(--px));
  }
}

.parts10__item-wrapper {
  border: calc(4 * var(--px)) solid var(--color-primary);
  border-radius: calc(20 * var(--px));
  overflow: hidden;
}
.parts10__item {
  margin-bottom: calc(40 * var(--px));
  &:last-child {
    margin-bottom: 0;
  }
  &:nth-child(even) {
    .parts10__item-content {
      flex-direction: row-reverse;
    }
  }
  &:nth-child(1) {
    .parts10__item-image {
      width: calc(657 * var(--px));
      translate: calc(-80 * var(--px)) calc(-50 * var(--px));
    }
  }
  &:nth-child(2) {
    .parts10__item-image {
      width: calc(600 * var(--px));
      translate: calc(-10 * var(--px)) calc(-20 * var(--px));
    }
  }
  &:nth-child(3) {
    .parts10__item-image {
      width: calc(702 * var(--px));
      translate: calc(-40 * var(--px)) calc(-80 * var(--px));
    }
  }
  &:nth-child(4) {
    .parts10__item-image {
      width: calc(655 * var(--px));
      translate: calc(0 * var(--px)) calc(-50 * var(--px));
    }
  }

  position: relative;
  &:not(:last-child)::after {
    content: "";
    background-color: var(--color-primary);
    width: calc(82 * var(--px));
    height: calc(55 * var(--px));
    position: absolute;
    top: calc(100% - 1px);
    right: 50%;
    transform: translateX(50%);
    clip-path: polygon(
      0 0,
      100% 0,
      50% 100%
    );
    z-index: 1;
  }
}
#parts-20-flow-detail .parts10__item {
  &:nth-child(1) {
    .parts10__item-image {
      width: calc(740 * var(--px));
      translate: calc(-160 * var(--px)) calc(-10 * var(--px));
    }
  }
  &:nth-child(2) {
    .parts10__item-image {
        width: calc(710 * var(--px));
        translate: calc(-20 * var(--px)) calc(0 * var(--px));
    }
  }
  &:nth-child(3) {
    .parts10__item-image {
      width: calc(800 * var(--px));
      translate: calc(-80 * var(--px)) calc(-60 * var(--px));
    }
  }
  &:nth-child(4) {
    .parts10__item-image {
      width: calc(740 * var(--px));
      translate: calc(0 * var(--px)) calc(-10 * var(--px));
    }
  }
}

@media screen and (max-width: 1079px) {
  .parts10__item {
    &:nth-child(even) {
      .parts10__item-content {
        flex-direction: column;
      }
    }
    &:nth-child(1) {
      .parts10__item-image {
        width: calc(773 * var(--px));
        translate: calc(-70 * var(--px)) calc(-80 * var(--px));
      }
    }
    &:nth-child(2) {
      .parts10__item-image {
        width: calc(688 * var(--px));
        translate: calc(-1 * var(--px)) calc(-40 * var(--px));
      }
    }
    &:nth-child(3) {
      .parts10__item-image {
        width: calc(823 * var(--px));
        translate: calc(-40 * var(--px)) calc(-120 * var(--px));
      }
    }
    &:nth-child(4) {
      .parts10__item-image {
        width: calc(709 * var(--px));
      }
    }
  }
}
#parts-20-flow-detail .parts10__item {
  &:nth-child(1) {
    .parts10__item-image {
        width: calc(740 * var(--px));
        translate: calc(-50 * var(--px)) calc(-10 * var(--px));
    }
  }
}

.parts10__item-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  >* {
    flex: 1 1 50%;
  }

}
@media screen and (max-width: 1079px) {
  .parts10__item-content {
    display: block;
    padding-bottom: calc(40 * var(--px));
  }
}
.parts10__item-image-wrapper {
  overflow: hidden;
  height: calc(380 * var(--px));
}
#parts-20-flow-detail .parts10__item-image-wrapper {
  height: calc(470 * var(--px));
}

@media screen and (max-width: 1079px) {
  .parts10__item-image-wrapper {
    width: 100%;
  }
}

.parts10__item-image {

}

.parts10__item-textarea {
  padding-inline: calc(30 * var(--px));
  position: relative;
  z-index: 1;
}

.parts10__item-text1 {
  font-size: calc(32 * var(--px));
  font-weight: 700;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-base);
  background-color: var(--color-primary);
  width: fit-content;
  margin-inline: auto;
  border: calc(4 * var(--px)) solid var(--color-primary);
  border-radius: 100px;
  overflow: hidden;
  padding-right: calc(40 * var(--px));

  .sub1 {
    display: inline-block;
    height: 100%;
    font-size: calc(36 * var(--px));
    font-weight: 700;
    line-height: 1.8;
    font-feature-settings: "palt";
    text-align: center;
    color: var(--color-primary);
    background-color: var(--color-base);
    width: fit-content;
    margin-right: calc(40 * var(--px));
    padding-inline: 0.8em;
  }
}

@media screen and (max-width: 1079px) {
  .parts10__item-text1 {
    border: calc(5 * var(--px)) solid var(--color-primary);
    margin-top: calc(-40 * var(--px));
    font-size: calc(42 * var(--px));
    .sub1 {
      font-size: calc(48 * var(--px));
    }
  }
}
.parts10__item-text2 {
  font-size: calc(32 * var(--px));
  font-weight: 700;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-primary);
  margin-top: calc(40 * var(--px));
  display: block;
  width: fit-content;
  margin-inline: auto;
  background-image: linear-gradient(to bottom, transparent 70%, var(--color-yellow) 70%);
}

@media screen and (max-width: 1079px) {
  .parts10__item-text2 {
    font-size: calc(40 * var(--px));
  }
}
.parts10__item-text3 {
  margin-top: calc(30 * var(--px));
  font-size: calc(17 * var(--px));
  font-weight: 500;
  line-height: 2;
  font-feature-settings: "palt";
  text-align: left;
  color: var(--color-text);
}

@media screen and (max-width: 1079px) {
  .parts10__item-text3 {
    font-size: calc(32 * var(--px));
  }
}
.parts10__item-box1 {
  background-color: var(--color-primary);
  padding-block: calc(30 * var(--px));
  padding-inline: calc(20 * var(--px));
}
@media screen and (max-width: 1079px) {
  .parts10__item-box1 {
    padding-block: calc(40 * var(--px));
    padding-inline: calc(30 * var(--px));
  }
}
.parts10__item-box1-text1 {
  font-size: calc(32 * var(--px));
  font-weight: 700;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-base);
  position: relative;
  &::before,&::after {
    content: "";
    background-color: var(--color-base);
    width: calc(247 * var(--px));
    height: calc(2 * var(--px));
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }
  &::before {
    left: 0;
  }
  &::after {
    right: 0;
  }
}
@media screen and (max-width: 1079px) {
  .parts10__item-box1-text1 {
    font-size: calc(40 * var(--px));
    &::before,&::after {
      width: calc(138 * var(--px));
    }
  }
}

.parts10__item-box1-text2 {
  font-size: calc(24 * var(--px));
  font-weight: 500;
  line-height: 1.8;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-base);
  margin-top: calc(20 * var(--px));
  .sub1 {
    color: var(--color-yellow);
    font-weight: 700;
  }
}

@media screen and (max-width: 1079px) {
  .parts10__item-box1-text2 {
    font-size: calc(32 * var(--px));
  }
}

/*******************
* parts11
*******************/
.parts11 {
  padding-top: calc(20 * var(--px));
  padding-bottom: calc(60 * var(--px));
}

.parts11__inner {

}

.parts11__content {

}

.parts11__title {
  padding-bottom: calc(30 * var(--px));
  .sub1 {
    background-color: #fef887;
    color: var(--color-primary);
    border-radius: 100px;
    border: calc(2 * var(--px)) solid var(--color-primary);
    padding-inline: 1em;
    font-size: calc(28 * var(--px));
    font-weight: 700;
    line-height: 1.8;
    font-feature-settings: "palt";
    text-align: center;
    display: block;
    width: fit-content;
    margin-inline: auto;
    margin-bottom: calc(20 * var(--px));
  }
  
  .sub2 {
    font-size: calc(48 * var(--px));
    font-weight: 700;
    line-height: 1.3;
    font-feature-settings: "palt";
    text-align: center;
    color: var(--color-base);
    display: block;
    width: fit-content;
    margin-inline: auto;
  }
  .sub3 {
    color: var(--color-yellow);
  }

  position: relative;
  z-index: 1;
  &::before {
    content: "";
    background-image: linear-gradient(to right, var(--color-grad-primary));
    width: calc(100% + (50cqi - 50%));
    height: calc(140 * var(--px));
    border-radius: 0 calc(65 * var(--px)) 0 0;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: -1;
  }
  &::after {
    content: "";
    background-image: url(../images/parts11__title-after.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(116 * var(--px));
    height: auto;
    aspect-ratio: 116/133;
    position: absolute;
    bottom: calc(10 * var(--px));
    left: calc(50% - 400 * var(--px));
  }
}

@media screen and (max-width: 1079px) {
  .parts11__title {
    padding-left: calc(190 * var(--px));
    padding-bottom: calc(40 * var(--px));
    .sub1 {
      font-size: calc(37 * var(--px));
      margin-bottom: calc(20 * var(--px));
    }
    .sub2 {
      font-size: calc(48 * var(--px));
    }
    &::before {
      height: calc(174 * var(--px));
      border-radius: calc(65 * var(--px)) 0 0 0;
      right: unset;
      left: 0;
    }
    &::after {
      width: calc(180 * var(--px));
      bottom: calc(-4 * var(--px));
      left: calc(50% - 340 * var(--px));
    }
  }
}

.parts11__list {
  margin-top: calc(30 * var(--px));
}

.parts11__item {
  &:not(:first-child) {
    margin-top: calc(80 * var(--px));
  }

  display: flex;
  justify-content: center;
  align-items: center;

  > * {
    flex: 1 1 50%;
  }

  &:nth-child(even) {
    flex-direction: row-reverse;
    .parts11__item-textarea {
      padding-inline: 0 calc(30 * var(--px));
    }
    
  }
}

@media screen and (max-width: 1079px) {
  .parts11__item {
    &:not(:first-child) {
      margin-top: calc(60 * var(--px));
    }
  
    flex-direction: column;
    &:nth-child(even) {
      flex-direction: column;
      .parts11__item-textarea {
        padding-inline: 0;
      }
    }
    >* {
      flex-basis: 100%;
    }
  }
}
.parts11__item-image-wrapper {
  aspect-ratio: 540 / 300;
  border-radius: calc(6 * var(--px));
  overflow: hidden;
}

@media screen and (max-width: 1079px) {
  .parts11__item-image-wrapper {
    width: 100%;
    aspect-ratio: 690/400;
  }
}
.parts11__item-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.parts11__item-textarea {
  padding-inline: calc(30 * var(--px)) 0;
}

@media screen and (max-width: 1079px) {
  .parts11__item-textarea {
    padding-inline: 0;
    width: 100%;
  }
}

.parts11__item-title {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: calc(10 * var(--px));
}

@media screen and (max-width: 1079px) {
  .parts11__item-title {
    gap: calc(20 * var(--px));
  }
}
.parts11__item-title-text1 {
  font-size: calc(32 * var(--px));
  font-weight: 900;
  line-height: 1;
  font-feature-settings: "palt";
  text-align: left;
  color: var(--color-primary);
  padding-top: calc(16 * var(--px));
  padding-left: calc(18 * var(--px));
  background-image: url(../images/parts11__item-title-text1-bg.svg);
  background-repeat: no-repeat;
  width: calc(97 * var(--px));
  aspect-ratio: 1/1;

  .sub1 {
    font-size: calc(10 * var(--px));
    display: block;
  }
}
@media screen and (max-width: 1079px) {
  .parts11__item-title-text1 {
    font-size: calc(54 * var(--px));
    padding-top: calc(25 * var(--px));
    padding-left: calc(27 * var(--px));
    width: calc(161 * var(--px));
    translate: 0 calc(-25 * var(--px));
    .sub1 {
      font-size: calc(18 * var(--px));
    }
  }
}

.parts11__item-title-text2 {
  font-size: calc(28 * var(--px));
  font-weight: 700;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: left;
  color: var(--color-contrast);
  .sub1 {
    color: var(--color-primary);
  }
}
@media screen and (max-width: 1079px) {
  .parts11__item-title-text2 {
    font-size: calc(36 * var(--px));
    line-height: 1.5;
  }
}
.parts11__item-text {
  font-size: calc(17 * var(--px));
  font-weight: 500;
  line-height: 2;
  font-feature-settings: "palt";
  text-align: left;
  color: var(--color-text);
  margin-top: calc(20 * var(--px));
  strong {
    color: var(--color-primary);
    font-weight: 700;
  }
}
@media screen and (max-width: 1079px) {
  .parts11__item-text {
    margin-top: 0;
    font-size: calc(32 * var(--px));
    line-height: 1.8;
  }
}

/*******************
* parts12
*******************/
.parts12 {
  padding-block: calc(80 * var(--px));
}

@media screen and (max-width: 1079px) {
  .parts12 {
    padding-block: calc(60 * var(--px));
  }
}
.parts12__inner {

}

.parts12__content {

}

.parts12__title {
  margin-bottom: calc(30 * var(--px));
  margin-inline: auto;
  width: fit-content;
  padding-inline: 2em;
  padding-block: 0.9em;
  font-size: calc(42 * var(--px));
  font-weight: 700;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-base);
  border-radius: 100px;
  background-image: linear-gradient(to bottom, var(--color-secondary) 50%, var(--color-primary) 50%);
  position: relative;
  &::before {
    content: "";
    background-color: var(--color-primary);
    width: calc(40 * var(--px));
    height: calc(40 * var(--px));
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    position: absolute;
    top: calc(100% - 5 * var(--px));
    left: 50%;
    transform: translateX(-50%);
  }
}

@media screen and (max-width: 1079px) {
  .parts12__title {
    width: 100%;
    padding-inline: 0;
  }
}

.parts12__list {
  margin-top: calc(60 * var(--px));
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: calc(40 * var(--px));
  flex-wrap: wrap;

  > * {
    flex: 0 1 48%;
  }
}
@media screen and (max-width: 1079px) {
  .parts12__list {
    flex-direction: column;
    > * {
      flex: 1 1 100%;
    }
  }
}

.parts12__item {
  border: calc(5 * var(--px)) solid var(--color-secondary);
}
.parts12__item-h3 {
  position: absolute;
  font-size: 10px;
  color: #fff;
  opacity: 1;
  z-index: -1;
}
.parts12__item-contents {
  padding: calc(20 * var(--px));
}
#parts-12-clogging-case .parts12__item-contents {
  min-height: calc(800 * var(--px));
}
.parts12__item-titlearea {
  background-color: var(--color-secondary);
  padding-block: calc(20 * var(--px));
}

.parts12__item-title-text1 {
  font-size: calc(28 * var(--px));
  color: var(--color-base);
  text-align: center;
  font-weight: 400;
  line-height: 1.3;
  font-feature-settings: "palt";

  position: relative;
  &::before, &::after {
    content: "";
    background-color: var(--color-base);
    width: calc(190 * var(--px));
    height: calc(2 * var(--px));
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }
  &::before {
    left: calc(20 * var(--px));
  }
  &::after {
    right: calc(20 * var(--px));
  }
}

@media screen and (max-width: 1079px) {
  .parts12__item-title-text1 {
    font-size: calc(36 * var(--px));
    &::before, &::after {
      width: calc(250 * var(--px));
    }
  }
}
.parts12__item-title-text2 {
  font-size: calc(23 * var(--px));
  color: var(--color-base);
  text-align: center;
  font-weight: 400;
  line-height: 1.5;
  font-feature-settings: "palt";
  padding-block: 0.2em;
  margin-top: 0.3em;
  min-height: 2.2lh;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 1079px) {
  .parts12__item-title-text2 {
    font-size: calc(40 * var(--px));
    line-height: 1.5;
  }
}

.parts12__item-image-wrapper {

}

.parts12__item-image {

}

.parts12__item-info {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: calc(10 * var(--px));
  padding-block: calc(20 * var(--px));
  border-bottom: calc(5 * var(--px)) solid var(--color-primary);


}
@media screen and (max-width: 1079px) {
  .parts12__item-info {
    padding-block: calc(25 * var(--px));
    padding-inline: calc(10 * var(--px));

    &[data-type="area"] {
      flex-wrap: wrap;
      justify-content: flex-end;
      gap: calc(20 * var(--px));
    }
  }
}

.parts12__item-info-text1 {
  font-size: calc(28 * var(--px));
  font-weight: 700;
  line-height: 1.5;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-base);
  background-color: var(--color-primary);
  padding-inline: 0.8em;
  padding-block: 0.2em;
  border-radius: 100px;
  width: calc(214 * var(--px));

  &[data-type="area"] {
    font-size: calc(21 * var(--px));
    width: calc(276 * var(--px));
    padding-inline: 1em;
    padding-block: 0.6em;
  }
}

@media screen and (max-width: 1079px) {
  .parts12__item-info-text1 {
    font-size: calc(38 * var(--px));
    max-width: calc(285 * var(--px));
    width: 100%;

    &[data-type="area"] {
      width: 100%;
      font-size: calc(38 * var(--px));
      padding-block: 0.2em;
    }
  }
}
.parts12__item-info-text2 {
  font-size: calc(18 * var(--px));
  font-weight: 400;
  line-height: 0.8;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-contrast);

  .sub1 {
    color: var(--color-primary);
    font-size: 1.5em;
    font-weight: 700;
    margin-left: 0.1em;
  }
  .sub2 {
    font-size: 1.9em;
  }
}

@media screen and (max-width: 1079px) {
  .parts12__item-info-text2 {
    font-size: calc(32 * var(--px));
    flex-shrink: 0;
  }
}
.parts12__item-text {
  font-size: calc(17 * var(--px));
  font-weight: 500;
  line-height: 2;
  font-feature-settings: "palt";
  text-align: justify;
  color: var(--color-text);
  margin-top: calc(20 * var(--px));
  min-height: calc(240 * var(--px));

  strong {
    color: var(--color-primary);
  }
}

@media screen and (max-width: 1079px) {
  .parts12__item-text {
    font-size: calc(32 * var(--px));
    line-height: 1.8;
  }
}

/*******************
* parts44
*******************/
.parts44 {
  padding-block: calc(80 * var(--px));
  background-color: var(--color-bg-primary);
}

@media screen and (max-width: 1079px) {
  .parts44 {
    padding-block: calc(60 * var(--px));
  }
}

.parts44__inner {

}


/*******************
* parts13
*******************/
.parts13 {
  padding-block: calc(80 * var(--px));
}

@media screen and (max-width: 1079px) {
  .parts13 {
    padding-block: calc(60 * var(--px));
  }
}
.parts13__inner {

}

.parts13__content {

}

.parts13__title {
  margin-bottom: calc(30 * var(--px));
  margin-inline: auto;
  width: fit-content;
  padding-inline: 2em;

  padding-block: 0.3em;
  font-size: calc(42 * var(--px));
  font-weight: 700;
  line-height: 1.5;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-base);
  border-radius: 100px;
  background-image: linear-gradient(to bottom, var(--color-secondary) 50%, var(--color-primary) 50%);
  position: relative;
  &::before {
    content: "";
    background-color: var(--color-primary);
    width: calc(40 * var(--px));
    height: calc(40 * var(--px));
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    position: absolute;
    top: calc(100% - 5 * var(--px));
    left: 50%;
    transform: translateX(-50%);
  }
  strong {
    color: var(--color-yellow);
    font-weight: 700;
  }
}

@media screen and (max-width: 1079px) {
  .parts13__title {
    width: 100%;
    padding-inline: 0;
  }
}

.parts13__list {
  margin-top: calc(60 * var(--px));
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: calc(40 * var(--px));
  flex-wrap: wrap;

  > * {
    flex: 0 1 48%;
  }
}
@media screen and (max-width: 1079px) {
  .parts13__list {
    flex-direction: column;
    gap: 0;
    > * {
      flex: 1 1 100%;
    }
  }
}

.parts13__item {
  border: calc(5 * var(--px)) solid var(--color-secondary);
}

.parts13__item-contents {
  padding: calc(20 * var(--px));
}
.parts13__item-titlearea {
  background-color: var(--color-secondary);
  padding-block: calc(20 * var(--px));
}

.parts13__item-title-text1 {
  font-size: calc(28 * var(--px));
  color: var(--color-base);
  text-align: center;
  font-weight: 400;
  line-height: 1.3;
  font-feature-settings: "palt";

  position: relative;
  &::before, &::after {
    content: "";
    background-color: var(--color-base);
    width: calc(190 * var(--px));
    height: calc(2 * var(--px));
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }
  &::before {
    left: calc(20 * var(--px));
  }
  &::after {
    right: calc(20 * var(--px));
  }
}

@media screen and (max-width: 1079px) {
  .parts13__item-title-text1 {
    font-size: calc(36 * var(--px));
    &::before, &::after {
      width: calc(250 * var(--px));
    }
  }
}
.parts13__item-title-text2 {
  font-size: calc(23 * var(--px));
  color: var(--color-base);
  text-align: center;
  font-weight: 400;
  line-height: 1.8;
  font-feature-settings: "palt";
  padding-block: 0.2em;
}
@media screen and (max-width: 1079px) {
  .parts13__item-title-text2 {
    font-size: calc(40 * var(--px));
    line-height: 1.5;
  }
}

.parts13__item-title {
  font-size: calc(28 * var(--px));
  font-weight: 700;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-primary);
}
@media screen and (max-width: 1079px) {
  .parts13__item-title {
    font-size: calc(40 * var(--px));
  }
}

.parts13__item-info {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
@media screen and (max-width: 1079px) {
  .parts13__item-info {
    padding-inline: calc(10 * var(--px));
  }
}

.parts13__item-info-text1 {
  padding-block: calc(60 * var(--px));
  background-image: url(../images/parts13__item-info-text1-before.svg);
  background-size: calc(145 * var(--px)) auto;
  background-position: center;
  background-repeat: no-repeat;
  .sub1 {
    display: block;
    font-size: calc(28 * var(--px));
    font-weight: 700;
    line-height: 1.5;
    font-feature-settings: "palt";
    text-align: center;
    color: var(--color-base);
    background-color: var(--color-primary);
    padding-inline: 0.8em;
    padding-block: 0.2em;
    border-radius: 100px;
    width: calc(277 * var(--px));  
  }
}

@media screen and (max-width: 1079px) {
  .parts13__item-info-text1 {
    background-size: calc(192 * var(--px)) auto;
    padding-block: calc(80 * var(--px));
    .sub1 {
    font-size: calc(38 * var(--px));
      width: calc(368 * var(--px));
    }
  }
}
.parts13__item-info-text2 {
  margin-bottom: calc(30 * var(--px));
  position: relative;

  img {
    width: calc(130 * var(--px));
    height: auto;
    aspect-ratio: 1/1;
    margin-inline: auto;
    margin-bottom: calc(-50 * var(--px));
    position: relative;
    z-index: -1;
  }
  .sub1 {
    display: block;
    font-size: calc(21 * var(--px));
    font-weight: 500;
    line-height: 1.4;
    font-feature-settings: "palt";
    text-align: center;
    color: var(--color-base);
    background-color: var(--color-secondary);
    border-radius: 100px;
    padding: 0.3em 1.2em;
  }
}

@media screen and (max-width: 1079px) {
  .parts13__item-info-text2 {
    margin-bottom: calc(40 * var(--px));
    img {
      width: calc(173 * var(--px));
      margin-bottom: calc(-70 * var(--px));
    }
    .sub1 {
      font-size: calc(32 * var(--px));
    }
  }
}
.parts13__item-text {
  font-size: calc(17 * var(--px));
  font-weight: 500;
  line-height: 2;
  font-feature-settings: "palt";
  text-align: justify;
  color: var(--color-text);
  margin-top: calc(20 * var(--px));
}
#parts-13-clogging-voice .parts13__item-text {
  min-height: calc(240 * var(--px));
}

@media screen and (max-width: 1079px) {
  .parts13__item-text {
    font-size: calc(32 * var(--px));
    line-height: 1.8;
  }
}

/*******************
* parts14
*******************/
.parts14 {
  padding-block: calc(80 * var(--px));
}

@media screen and (max-width: 1079px) {
  .parts14 {
    padding-block: calc(30 * var(--px));
  }
}

.parts14__inner {

}

.parts14__content {
  padding-inline: calc(60 * var(--px));
}

@media screen and (max-width: 1079px) {
  .parts14__content {
    padding-inline: 0;
  }
}
.parts14__title {
  position: relative;
  &::before {
    content: "";
    background-image: url(../images/parts14__title-icon.svg);
    background-size: calc(66 * var(--px));
    background-position: center;
    background-repeat: no-repeat;
    width: calc(136 * var(--px));
    height: auto;
    aspect-ratio: 1/1;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    border-radius: 100px;
    background-color: var(--color-green);
  }
  .sub1 {
    display: block;
    margin-left: 0.5em;
    font-size: calc(48 * var(--px));
    font-weight: 700;
    line-height: 1.3;
    font-feature-settings: "palt";
    text-align: center;
    color: var(--color-base);
    background-color: var(--color-green);  
    padding-block: 0.3em;
  }
  
}
@media screen and (max-width: 1079px) {
  .parts14__title {
    .sub1 {
      font-size: calc(42 * var(--px));
      padding-block: 0.1em;
    }
    &::before {
      background-size: calc(38 * var(--px));
      width: calc(80 * var(--px));
    }
  }
}


.parts14__text {
  font-size: calc(28 * var(--px));
  font-weight: 500;
  line-height: 1.8;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-text);
  margin-top: calc(30 * var(--px));
}

.parts14__map-wrapper {
  width: 100%;
  aspect-ratio: 960 / 860;
  margin-inline: auto;
  margin-top: calc(40 * var(--px));

  iframe {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
  }
}

@media screen and (max-width: 1079px) {
  .parts14__map-wrapper {
    width: calc(550 * var(--px));
    aspect-ratio: 550 / 860;
  }
}

/*******************
* parts15
*******************/
.parts15 {
  padding-block: calc(80 * var(--px));
}

@media screen and (max-width: 1079px) {
  .parts15 {
    padding-block: calc(60 * var(--px));
  }
}

.parts15__content {

}
.parts15__title-wrapper {
  display: block;
  padding-bottom: calc(20 * var(--px));
 
  .parts15__title {
    font-size: calc(48 * var(--px));
    font-weight: 700;
    line-height: 1.3;
    font-feature-settings: "palt";
    text-align: center;
    color: var(--color-base);
    display: block;
    width: fit-content;
    margin-inline: auto;

    .sub2 {
      display: block;
      font-size: calc(28 * var(--px));
      font-weight: 700;
      line-height: 1.3;
      width: fit-content;
      margin-inline: auto;
      background-color: var(--color-yellow);
      color: var(--color-primary);
      border-radius: 100px;
      border: calc(2 * var(--px)) solid var(--color-primary);
      padding-inline: 1em;
      padding-block: 0.2em;
      translate: 0 calc(-20 * var(--px));
      +.sub1 {
        margin-bottom: calc(10 * var(--px));
        display: block;
      }
    }
    .sub3 {
      font-size: calc(40 * var(--px));
      margin-bottom: calc(20 * var(--px));
      display: block;
    }

    position: relative;
    &::after {
      content: "";
      background-image: url(../images/parts15__title-after.svg);
      background-size: contain;
      background-position: center;
      background-repeat: no-repeat;
      width: calc(170 * var(--px));
      height: auto;
      aspect-ratio: 160 / 154;
      position: absolute;
      top: 50%;
      left: calc(-170 * var(--px));
      transform: translateY(-50%);
    }
  }

  position: relative;
  z-index: 1;
  &::before {
    content: "";
    background-image: linear-gradient(to right, var(--color-grad-primary));
    width: calc(100% + (50cqi - 50%));
    height: calc(140 * var(--px));
    border-radius: 0 calc(65 * var(--px)) 0 0;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: -1;
  }

}

@media screen and (max-width: 1079px) {
  .parts15__title-wrapper {
    padding-left: calc(130 * var(--px));
    padding-bottom: calc(15 * var(--px));
    .parts15__title {
      font-size: calc(52 * var(--px));
      .sub2 {
        font-size: calc(37 * var(--px));
      }
      &::after {
        width: calc(200 * var(--px));
        left: calc(-200 * var(--px));
      }
    }
    &::before {
      background-image: linear-gradient(to right, var(--color-grad-primary));

      height: calc(150 * var(--px));
      width: 100%;
      border-radius: 200px calc(200 * var(--px)) 0 200px;
    }

  }
}

.parts15__text {
  font-size: calc(21 * var(--px));
  font-weight: 500;
  line-height: 1.8;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-base);
}

@media screen and (max-width: 1079px) {
  .parts15__text {
    font-size: calc(28 * var(--px));
  }
}
.parts15__list {
  max-width: var(--size-container-narrow);
  margin-inline: auto;
  margin-top: calc(40 * var(--px));

}

.parts15__item {
  &:not(:first-child) {
    margin-top: calc(20 * var(--px));
  }
  border-radius: calc(10 * var(--px));
  overflow: hidden;

}

.parts15__item-question {
  background-color: var(--color-bg-secondary);
  position: relative;
  cursor: pointer;
  user-select: none;
  
  /* ＋/ーアイコン（右端に配置） */
  &::before {
    content: "";
    position: absolute;
    right: calc(20 * var(--px));
    top: 50%;
    transform: translateY(-50%);
    width: calc(24 * var(--px));
    height: calc(3 * var(--px));
    background-color: var(--color-primary);
    transition: transform 0.3s ease;
  }
  
  &::after {
    content: "";
    position: absolute;
    right: calc(20 * var(--px));
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    width: calc(24 * var(--px));
    height: calc(3 * var(--px));
    background-color: var(--color-primary);
    transition: transform 0.3s ease;
  }
  
  /* 開いている状態：縦線を90deg回転させてーにする */
  &.is-open {
    &::after {
      transform: translateY(-50%) rotate(0deg);
    }
  }
}

.parts15__item-question-text {
  padding-block: 0.3em;
  min-height: calc(92 * var(--px));
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: calc(20 * var(--px));
  padding-inline: calc(20 * var(--px));
  font-size: calc(24 * var(--px));
  font-weight: 500;
  line-height: 1.5;
  font-feature-settings: "palt";
  text-align: left;
  color: var(--color-text);
  position: relative;
  &::before {
    content: "";
    background-image: url(../images/parts15__item-icon-q.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(49 * var(--px));
    aspect-ratio: 1/1;
    height: auto;
  }
}
@media screen and (max-width: 1079px) {
  .parts15__item-question-text {
    font-size: calc(32 * var(--px));
  }
}
.parts15__item-answer {
  background-color: #fff3df;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
  
  /* 開いている状態 */
  .parts15__item.is-open & {
    max-height: 1000px;
  }
}

.parts15__item-answer-text {
  min-height: calc(102 * var(--px));
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: calc(20 * var(--px));
  padding-inline: calc(20 * var(--px)) calc(50 * var(--px));
  padding-block: calc(20 * var(--px));
  font-size: calc(17 * var(--px));
  font-weight: 500;
  line-height: 1.8;
  font-feature-settings: "palt";
  text-align: left;
  color: var(--color-text);

  position: relative;
  &::before {
    content: "";
    background-image: url(../images/parts15__item-icon-a.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(49 * var(--px));
    aspect-ratio: 1/1;
    height: auto;
    flex-shrink: 0;
    align-self: flex-start;
    margin-top: calc(5 * var(--px));
  }
}
@media screen and (max-width: 1079px) {
  .parts15__item-answer-text {
    font-size: calc(30 * var(--px));
    padding-block: calc(20 * var(--px));

    &::before {
      margin-top: calc(4 * var(--px));
    }
  }
}

/*******************
* parts16
*******************/
.parts16 {
  padding-block: calc(80 * var(--px));
  background-color: #f9f9f9;

  .wpcf7-turnstile {
    text-align: center;
    iframe {
      margin-inline: auto;
    }
}
}

@media screen and (max-width: 1079px) {
  .parts16 {
    padding-block: calc(60 * var(--px));
  }
}
.parts16__inner {

}

.parts16__content {

}

.parts16__title {

  .icon {
    display: block;
    width: calc(42 * var(--px));
    height: auto;
    aspect-ratio: 42/28;
    margin-inline: auto;
    margin-bottom: calc(20 * var(--px));
    position: relative;

    &::before, &::after {
      content: "";
      width: calc(min(490px,50cqi) - 42 * var(--px));
      height: calc(2 * var(--px));
      background-color: var(--color-primary);
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
    }
    &::before {
      right: calc(100% + 30 * var(--px));
    }
    &::after {
      left: calc(100% + 30 * var(--px));
    }
  }
  
  .sub1 {
    display: block;
    font-size: calc(48 * var(--px));
    font-weight: 700;
    line-height: 1.3;
    font-feature-settings: "palt";
    text-align: center;
    color: var(--color-primary);
  }
}
@media screen and (max-width: 1079px) {
  .parts16__title {
    .icon {
      width: calc(60 * var(--px));
      height: auto;
      &::before, &::after {
        width: calc(min(490px,50cqi) - 60 * var(--px));
      }
    }
    .sub1 {
      font-size: calc(42 * var(--px));
    }

  }
}


.parts16__form {
  max-width: calc(900 * var(--px));
  margin-inline: auto;
  margin-top: calc(60 * var(--px));
}

.parts16__form-box {
  background-color: var(--color-base);
  border-radius: calc(10 * var(--px));
  padding-block: calc(40 * var(--px));
  padding-inline: calc(40 * var(--px));
}
@media screen and (max-width: 1079px) {
  .parts16__form-box {
    background-color: unset;
    padding-block: 0;
    padding-inline: 0;
  }
}
/* Contact Form 7 フォーム全体 */
.parts16__form .wpcf7-form {
  margin: 0;
}

.parts16__form p {
  margin: 0;
  margin-bottom: calc(20 * var(--px));
}

.parts16__form label {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  position: relative;

  > *:nth-child(1) {
    flex: 1 0 27%;
  }
  > *:nth-child(2) {
    flex: 1 1 73%;
  }
}

@media screen and (max-width: 1079px) {
  .parts16__form label {
    display: block;
    > *:nth-child(1) {
      flex: 1 0 30%;
    }
  }
}
/* ラベルテキスト */
.parts16__form-text {
  display: inline-block;
  font-size: calc(21 * var(--px));
  font-weight: 500;
  line-height: 1.8;
  font-feature-settings: "palt";
  color: var(--color-contrast);
  margin-top: calc(8 * var(--px));
  position: relative;
  padding-left: calc(60 * var(--px));
}
@media screen and (max-width: 1079px) {
  .parts16__form-text {
    font-size: calc(36 * var(--px));
    padding-left: calc(70 * var(--px));
  }
}

/* 必須タグ（Contact Form 7の必須マーカー） */
.parts16__form-text::before {
  content: "必須";
  display: inline-block;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background-color: var(--color-secondary);
  color: var(--color-base);
  font-size: calc(16 * var(--px));
  font-weight: 400;
  padding: calc(4 * var(--px)) calc(6 * var(--px));
  border-radius: calc(4 * var(--px));
  line-height: 1;
}
@media screen and (max-width: 1079px) {
  .parts16__form-text::before {
    font-size: calc(22 * var(--px));
    padding: calc(6 * var(--px)) calc(6 * var(--px));
  }
}

/* 入力フィールド共通 */
.parts16__form input[type="text"],
.parts16__form input[type="email"],
.parts16__form input[type="tel"],
.parts16__form textarea {
  width: 100%;
  padding: calc(12 * var(--px)) calc(16 * var(--px));
  font-size: calc(16 * var(--px));
  font-family: var(--font-family-main);
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-contrast);
  background-color: var(--color-base);
  border: calc(1 * var(--px)) solid #ddd;
  border-radius: calc(4 * var(--px));
  box-sizing: border-box;
  transition: border-color 0.3s ease;
}
@media screen and (max-width: 1079px) {
  .parts16__form input[type="text"],
  .parts16__form input[type="email"],
  .parts16__form input[type="tel"],
  .parts16__form textarea {
    font-size: calc(28 * var(--px));
  }
}

.parts16__form input[type="text"]:focus,
.parts16__form input[type="email"]:focus,
.parts16__form input[type="tel"]:focus,
.parts16__form textarea:focus {
  outline: none;
  border-color: var(--color-primary);
}

.parts16__form textarea {
  resize: vertical;
  min-height: calc(120 * var(--px));
}

/* 送信ボタン */
.parts16__form-button {
  display: block;
  width: 100%;
  max-width: calc(455 * var(--px));
  margin-inline: auto;
  margin-top: calc(60 * var(--px));
  padding: calc(16 * var(--px)) calc(32 * var(--px));
  background-color: var(--color-orange);
  color: var(--color-base);
  font-size: calc(30 * var(--px));
  font-weight: 400;
  line-height: 1.5;
  font-feature-settings: "palt";
  text-align: center;
  border: none;
  border-radius: 100px;
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.2s ease;
  position: relative;
}

@media screen and (max-width: 1079px) {
  .parts16__form-button {
    font-size: calc(42 * var(--px));
    max-width: 100%;
  }
}
.parts16__form-button:hover {

  &::after {
    transform: translateY(-50%) translateX(calc(4 * var(--px)));
  }
}

.parts16__form-button:active {
  transform: translateY(0);
}

/* 送信ボタンの右矢印アイコン */
.parts16__form-button::after {
  content: "";
  background-image: url(../images/button-arrow-orange.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  width: calc(35 * var(--px));
  height: auto;
  aspect-ratio: 1/1;
  position: absolute;
  right: calc(16 * var(--px));
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.3s ease;
}

@media screen and (max-width: 1079px) {
  .parts16__form-button::after {
    width: calc(50 * var(--px));
    right: calc(30 * var(--px));
  }
}
/* Contact Form 7の隠しフィールドとエラーメッセージ */
.parts16__form .hidden-fields-container,
.parts16__form .screen-reader-response,
.parts16__form .akismet-fields-container {
  display: none !important;
}

.parts16__form .wpcf7-response-output {
  margin-top: calc(20 * var(--px));
  padding: calc(12 * var(--px));
  border-radius: calc(4 * var(--px));
  text-align: center;
  font-size: calc(14 * var(--px));
}

.parts16__form .wpcf7-validation-errors {
  background-color: #fff3cd;
  border: calc(1 * var(--px)) solid #ffc107;
  color: #856404;
}

.parts16__form .wpcf7-mail-sent-ok {
  background-color: #d4edda;
  border: calc(1 * var(--px)) solid #28a745;
  color: #155724;
}

/*******************
* parts17
*******************/
.parts17 {
  padding-block: calc(80 * var(--px));
}
@media screen and (max-width: 1079px) {
  .parts17 {
    padding-block: calc(40 * var(--px));
  }
}
.parts17__logo {
  display: block;
  margin-inline: auto;
  width: calc(450 * var(--px));
  height: auto;
}

.parts17__inner {

}

.parts17__content {

}

.parts17__text1 {
  margin-top: calc(40 * var(--px));
  font-size: calc(42 * var(--px));
  font-weight: 700;
  line-height: 1.8;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-primary);
}

.parts17__list {
  width: calc(800 * var(--px));
  margin-inline: auto;
  margin-top: calc(30 * var(--px));
  border-top: calc(1 * var(--px)) solid var(--color-contrast);
}

@media screen and (max-width: 1079px) {
  .parts17__list {
    width: 100%;
  }
}
.parts17__item {
  border-bottom: calc(1 * var(--px)) solid var(--color-contrast);
  padding-block: calc(15 * var(--px));
  padding-inline: calc(15 * var(--px));
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}
@media screen and (max-width: 1079px) {
  .parts17__item {
    padding-block: calc(20 * var(--px));
    padding-inline: 0;
  }
}

.parts17__item-text1 {
  font-size: calc(21 * var(--px));
  font-weight: 500;
  line-height: 1.8;
  font-feature-settings: "palt";
  color: var(--color-text);
  flex: 0 0 calc(170 * var(--px));
}
@media screen and (max-width: 1079px) {
  .parts17__item-text1 {
    font-size: calc(28 * var(--px));
  }
}
.parts17__item-text2 {
  font-size: calc(21 * var(--px));
  font-weight: 400;
  line-height: 1.8;
  font-feature-settings: "palt";
  color: var(--color-text);
  flex: 1 1 auto;
}
@media screen and (max-width: 1079px) {
  .parts17__item-text2 {
    font-size: calc(28 * var(--px));
  }
}

.parts17__button {
  display: block;
  margin-top: calc(40 * var(--px));
  margin-bottom: calc(100 * var(--px));
  margin-inline: auto;
  width: calc(412 * var(--px));
  padding-block: calc(15 * var(--px));
  border-radius: 100px;
  border: calc(2 * var(--px)) solid var(--color-primary);

  position: relative;
  &::after {
    content: "";
    background-image: url(../images/button-arrow-white.svg);
    width: calc(32 * var(--px));
    height: auto;
    aspect-ratio: 1/1;
    position: absolute;
    top: 50%;
    right: calc(20 * var(--px));
    transform: translateY(-50%);
    transition: transform 0.3s ease;
  }

  .sub1 {
    font-size: calc(21 * var(--px));
    font-weight: 500;
    line-height: 1.8;
    font-feature-settings: "palt";
    color: var(--color-primary);
    text-align: center;
    display: block;
    padding-right: calc(20 * var(--px));
  }

  &:hover {
    &::after {
      transform: translateY(-50%) translateX(calc(4 * var(--px)));
    }
  }
}

@media screen and (max-width: 1079px) {
  .parts17__button {
    width: calc(570 * var(--px));
    .sub1 {
      font-size: calc(32 * var(--px));
    }
    &::after {
      width: calc(42 * var(--px));
    }
  }
}
.parts17__list2 {
  margin-top: calc(30 * var(--px));
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(20 * var(--px));
}
@media screen and (max-width: 1079px) {
  .parts17__list2 {
    flex-wrap: wrap;
    gap: calc(15 * var(--px));
  }
}

.parts17__item2 {
  background-color: var(--color-secondary);
  border-radius: 100px;
}
@media screen and (max-width: 1079px) {
  .parts17__item2 {
    border: calc(2 * var(--px)) solid var(--color-secondary);
    background-color: var(--color-base);
    border-radius: calc(10 * var(--px));
    flex: 0 1 48%;
  }
}

.parts17__item2-text1 {
  font-size: calc(28 * var(--px));
  font-weight: 500;
  line-height: 1.3;
  font-feature-settings: "palt";
  color: var(--color-base);
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  width: fit-content;
  padding-inline: calc(50 * var(--px));
  height: calc(96 * var(--px));
  margin-inline: auto;
}
@media screen and (max-width: 1079px) {
  .parts17__item2-text1 {
    font-size: calc(30 * var(--px));
    color: var(--color-secondary);
    padding-inline: 0;
    padding-block: 0.2em;
    height: unset;

  }
}

.parts17-menu {
  background-color: var(--color-bg-secondary);
  padding-block: calc(50 * var(--px));
}

.parts17-menu__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: calc(60 * var(--px));
}
@media screen and (max-width: 1079px) {
  .parts17-menu__list {
    flex-direction: column;
    gap: calc(30 * var(--px));
    align-items: flex-start;
    width: fit-content;
    margin-inline: auto;
  }
}

.parts17-menu__item {

}

.parts17-menu__item-link {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(15 * var(--px));

  > img {
    width: auto;
    height: calc(20 * var(--px));
  }

  &:hover {
    text-decoration: underline;
  }
}
@media screen and (max-width: 1079px) {
  .parts17-menu__item-link {
    gap: calc(10 * var(--px));
    > img {
      width: calc(30 * var(--px));
      height: auto;
    }
  }
}
.parts17-menu__item-link-text {
  font-size: calc(21 * var(--px));
  font-weight: 500;
  line-height: 1.3;
  font-feature-settings: "palt";
  color: var(--color-text);
  text-align: left;
}

@media screen and (max-width: 1079px) {
  .parts17-menu__item-link-text {
    font-size: calc(30 * var(--px));
  }
}
/*******************
* parts18
*******************/
.parts18 {
  background-color: var(--color-primary);
  position: relative;
  z-index: 100;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transform: translateY(100%);
  opacity: 0;
  pointer-events: none;
}

/* 固定表示時 */
.parts18.is-fixed {
  position: sticky;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
  z-index: 1000;
}

.parts18__inner {

}

.parts18__content {

}

.parts18__image {
  width: calc(617 * var(--px));
  margin-inline: auto;
  display: block;
  margin-top: calc(-10 * var(--px));
}
@media screen and (max-width: 1079px) {
  .parts18__image {
    width: 100%;
  }
}

/*******************
* parts19
*******************/
.parts19 {
  padding-block: calc(80 * var(--px));
}
@media screen and (max-width: 1079px) {
  .parts19 {
    padding-block: calc(40 * var(--px));
  }
}

.parts19__inner {

}

.parts19__content {

}

.parts19__title {
  padding-bottom: calc(30 * var(--px));
  .sub1 {
    background-color: #fef887;
    color: var(--color-primary);
    border-radius: 100px;
    border: calc(2 * var(--px)) solid var(--color-primary);
    padding-inline: 1em;
    font-size: calc(28 * var(--px));
    font-weight: 700;
    line-height: 1.8;
    font-feature-settings: "palt";
    text-align: center;
    display: block;
    width: fit-content;
    margin-inline: auto;
    margin-bottom: calc(20 * var(--px));
  }
  
  .sub2 {
    font-size: calc(48 * var(--px));
    font-weight: 700;
    line-height: 1.3;
    font-feature-settings: "palt";
    text-align: center;
    color: var(--color-base);
    display: block;
    width: fit-content;
    margin-inline: auto;
  }
  .sub3 {
    color: var(--color-yellow);
  }

  position: relative;
  z-index: 1;
  &::before {
    content: "";
    background-image: linear-gradient(to right, var(--color-grad-primary));
    width: calc(100% + (50cqi - 50%));
    height: calc(140 * var(--px));
    border-radius: 0 calc(65 * var(--px)) 0 0;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: -1;
  }
}

@media screen and (max-width: 1079px) {
  .parts19__title {
    padding-left: 0;
    padding-bottom: calc(20 * var(--px));
    .sub1 {
      font-size: calc(37 * var(--px));
      margin-bottom: calc(10 * var(--px));
    }
    .sub2 {
      font-size: calc(42 * var(--px));
    }
    &::before {
      background-image: linear-gradient(to left, var(--color-grad-primary));
      height: calc(130 * var(--px));
      border-radius: calc(65 * var(--px)) 0 0 0;
      right: unset;
      left: 0;
    }
  }
}
.parts19__block1 {
  width: var(--size-container-narrow);
  padding-inline: var(--size-padding);
  margin-inline: auto;
  padding-block: calc(30 * var(--px));
}
@media screen and (max-width: 1079px) {
  .parts19__block1 {
    padding-inline: 0;
  }
}

.parts19__block1-text1 {
  font-size: calc(24 * var(--px));
  font-weight: 500;
  line-height: 2;
  font-feature-settings: "palt";
  text-align: justify;
  color: var(--color-text);
}

@media screen and (max-width: 1079px) {
  .parts19__block1-text1 {
    font-size: calc(32 * var(--px));
    line-height: 1.7;
  }
}
.parts19__block1-text2 {
  font-size: calc(32 * var(--px));
  color: var(--color-primary);
  font-weight: 700;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: center;
  margin-top: calc(20 * var(--px));
}

.parts19__block1-list {
  padding-block: calc(10 * var(--px)) calc(40 * var(--px));
}

.parts19__block1-list-item {
  font-size: calc(28 * var(--px));
  font-weight: 700;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-primary);
  margin-top: calc(20 * var(--px));
  background-color: #fff9a1;
  border-radius: calc(10 * var(--px));
  padding-block: calc(10 * var(--px));
  width: calc(547 * var(--px));
  margin-inline: auto;
  border: calc(3 * var(--px)) solid var(--color-primary);
  box-shadow: calc(2 * var(--px)) calc(2 * var(--px)) 0 var(--color-primary);
  &:not(:first-child) {
    margin-top: calc(25 * var(--px));
  }
}

@media screen and (max-width: 1079px) {
  .parts19__block1-list-item {
    font-size: calc(32 * var(--px));
    width: calc(100% - (30 * var(--px)));
    padding-block: calc(15 * var(--px));
  }
}

.parts19__item-contents {
  width: var(--size-container-narrow);
  padding-inline: var(--size-padding);
  margin-inline: auto;
}
@media screen and (max-width: 1079px) {
  .parts19__item-contents {
    padding-inline: 0;
  }
}
.parts19__list {
  margin-top: calc(40 * var(--px));
}

.parts19__item {
  &:not(:first-child) {
    margin-top: calc(80 * var(--px));
  }
  &:nth-child(even) {
    .parts19__item-image {
      margin-inline: auto 0;
    }
    .parts19__item-textarea {
      left: 0;
      right: unset;
    }
  }
}

@media screen and (max-width: 1079px) {
  .parts19__item {
    &:nth-child(even) {
      .parts19__item-image {
        width: auto;
        aspect-ratio: 750 / 350;
        margin-inline: calc(50% - 50cqi);
      }
    }
  }
}
.parts19__item-header {
  position: relative;
}

.parts19__item-image {
  width: calc(540 * var(--px));
  aspect-ratio: 540 / 312;
  overflow: hidden;
}
#parts-19b-price-toilet .parts19__item-image {
  aspect-ratio: 540 / 444;

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

@media screen and (max-width: 1079px) {
  .parts19__item-image {
    width: auto;
    aspect-ratio: 750 / 350;
    margin-inline: calc(50% - 50cqi);
  }
  #parts-19b-price-toilet .parts19__item-image {
    aspect-ratio: 750 / 350;
  }
  
}
.parts19__item-textarea {
  width: calc(690 * var(--px));
  background-color: #e9f3ff;
  border-radius: calc(16 * var(--px));
  padding-block: calc(30 * var(--px));
  padding-inline: calc(30 * var(--px));
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  z-index: 1;
}
@media screen and (max-width: 1079px) {
  .parts19__item-textarea {
    width: 100%;
    position: relative;
    top: unset;
    transform: translateY(0);
    right: unset;
    margin-top: calc(-90 * var(--px));
  }
}

.parts19__item-number {
  display: inline;
  --fuchi-font-size: 72;
  --fuchi-font-family: var(--font-family-roboto);
  --fuchi-font-weight: 700;

  --fuchi-fill: var(--color-yellow);
  --fuchi-stroke: var(--color-primary);
  --fuchi-stroke-width: calc(5 * var(--px));
}

@media screen and (max-width: 1079px) {
  .parts19__item-number {
    --fuchi-font-size: 84;
  }
}

.parts19__item-title {
  display: inline;
  font-size: calc(36 * var(--px));
  font-weight: 700;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: left;
  color: var(--color-primary);
  vertical-align: 0.3em;
  margin-left: 0.5em;
}
#parts-19b-price-toilet .parts19__item-title {
  display: block;
  text-align: center;
}
@media screen and (max-width: 1079px) {
  .parts19__item-title {
    font-size: calc(42 * var(--px));
  }
}

.parts19__item-text {
  font-size: calc(24 * var(--px));
  font-weight: 400;
  line-height: 1.8;
  font-feature-settings: "palt";
  text-align: left;
  color: var(--color-text);
}

@media screen and (max-width: 1079px) {
  .parts19__item-text {
    font-size: calc(32 * var(--px));
  }
}
.parts19__item-point {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: calc(50 * var(--px));
  margin-top: calc(50 * var(--px));
  padding-bottom: calc(40 * var(--px));
}

@media screen and (max-width: 1079px) {
  .parts19__item-point {
    justify-content: space-between;
    gap: 0;
    padding-inline: calc(20 * var(--px));
    margin-top: calc(20 * var(--px));
    padding-bottom: calc(20 * var(--px));
  }
}
.parts19__item-point-item {

}

.parts19__item-point-image {
  width: calc(52 * var(--px));
  height: auto;
  margin-inline:auto;
}
.parts19__item-point-text {
  font-size: calc(28 * var(--px));
  font-weight: 700;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-primary);
  margin-top: calc(10 * var(--px));
}
@media screen and (max-width: 1079px) {
  .parts19__item-point-text {
    font-size: calc(28 * var(--px));
  }
}
.parts19__item-price-wrapper {
  margin-top: calc(40 * var(--px));
  border: calc(1 * var(--px)) solid var(--color-primary);
  border-radius: calc(16 * var(--px));
  overflow: hidden;
}
.parts19__item-price {
  width: 100%;

  thead {
    background-color: var(--color-primary);
    th {
      font-size: calc(28 * var(--px));
      font-weight: 700;
      line-height: 1.3;
      font-feature-settings: "palt";
      text-align: left;
      color: var(--color-base);
      padding-block: 0.8em;
      padding-inline: calc(30 * var(--px));

      &:last-child {
        text-align: center;
      }
    }
  }
  tbody {
    tr {
      background-color: var(--color-base);
      &:nth-child(even) {
        background-color: #e9f3ff;
      }
    }
    td {
      font-size: calc(21 * var(--px));
      font-weight: 400;
      line-height: 1.2;
      font-feature-settings: "palt";
      text-align: left;
      color: var(--color-contrast);
      padding-block: 0.8em;
      padding-inline: calc(30 * var(--px));
      vertical-align: middle;

      &:last-child {
        font-family: var(--font-family-roboto);
        font-size: calc(38 * var(--px));
        color: var(--color-primary);
        letter-spacing: -0.02em;
        font-weight: 500;
        text-align: center;
        .sub1 {
          font-family: var(--font-family-main);
          font-size: 0.7em;
          font-weight: 500;
          line-height: 1.3;
          font-feature-settings: "palt";
          text-align: center;
        }
        .sub2 {
          font-family: var(--font-family-main);
          font-size: calc(28 * var(--px));
          display: block;
        }
      }
    }
  }
  tr {
    th,td {
      &:first-child {
        border-right: calc(1 * var(--px)) solid #c4c4c4;
      }
    }
  }
}

@media screen and (max-width: 1079px) {
  .parts19__item-price {
    thead {
      th {
        padding-inline: calc(20 * var(--px));
      }
    }
    tbody {
      td {
        font-size: calc(28 * var(--px));
        padding-inline: calc(20 * var(--px));
        &:last-child {
          font-size: calc(38 * var(--px));
        }
      }
    }
  }
}
.parts19__item-button {
  display: block;
  width: fit-content;
  min-width: calc(412 * var(--px));
  margin-inline: auto;
  margin-top: calc(40 * var(--px));
  padding-inline: calc(30 * var(--px)) calc(64 * var(--px));
  padding-block: 0.6em;
  border-radius: 100px;
  border: calc(2 * var(--px)) solid var(--color-primary);
  background-color: var(--color-base);
  font-size: calc(21 * var(--px));
  font-weight: 400;
  line-height: 1.5;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-primary);
  position: relative;

  &::after {
    content: "";
    background-image: url(../images/button-arrow-white.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(28 * var(--px));
    height: calc(28 * var(--px));
    position: absolute;
    top: 50%;
    right: calc(24 * var(--px));
    transform: translateY(-50%);
    transition: transform 0.3s ease;
  }
  &:hover {
    &::after {
      transform: translateY(-50%) translateX(calc(4 * var(--px)));
    }
  }
}
@media screen and (max-width: 1079px) {
  .parts19__item-button {
    min-width: calc(569 * var(--px));
    min-height: calc(97 * var(--px));
    font-size: calc(32 * var(--px));
    line-height: 1.3;
    padding-inline: calc(20 * var(--px)) calc(40 * var(--px));
    padding-block: calc(10 * var(--px));
    display: flex;
    justify-content: center;
    align-items: center;

    &::after {
      width: calc(42 * var(--px));
      height: calc(42 * var(--px));
      right: calc(30 * var(--px));
    }
  }
}

.parts19__all-area-button-wrapper {
  margin-top: calc(80 * var(--px));
  margin-inline: calc(50% - 50cqi);
  background-color: #e1e1e1;
  padding-block: calc(30 * var(--px));
}

.parts19__all-area-button {
  display: block;
  margin-inline: auto;
  width: calc(560 * var(--px));
  background-color: var(--color-primary);
  border-radius: 1000px;
  border: calc(2 * var(--px)) solid var(--color-base);
  position: relative;
  padding-block: calc(25 * var(--px));
  padding-right: calc(30 * var(--px));
  text-align: center;

  &::after {
    content: "";
    background-image: url(../images/button-arrow-simple.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(28 * var(--px));
    height: calc(28 * var(--px));
    position: absolute;
    top: 50%;
    right: calc(30 * var(--px));
    transform: translateY(-50%);
    transition: transform 0.3s ease;
  }
  .sub1 {
    font-size: calc(28 * var(--px));
    font-weight: 700;
    line-height: 1.3;
    font-feature-settings: "palt";
    text-align: center;
    color: var(--color-base);
  }
  &:hover {
    &::after {
      transform: translateY(-50%) translateX(calc(4 * var(--px)));
    }
  }
  
}

/*******************
* parts21
*******************/
.parts21 {
  background-color: var(--color-bg-secondary);
  margin-top: calc(100 * var(--px));
  padding-bottom: calc(80 * var(--px));
}

.parts21__inner {

}

.parts21__content {

}

.parts21__title {
  padding-bottom: calc(40 * var(--px));
 
  .sub1 {
    font-size: calc(48 * var(--px));
    font-weight: 700;
    line-height: 1.3;
    font-feature-settings: "palt";
    text-align: center;
    color: var(--color-base);
    display: block;
    width: fit-content;
    margin-inline: auto;
  }

  position: relative;
  z-index: 1;
  &::before {
    content: "";
    background-image: linear-gradient(to right, var(--color-grad-primary));
    width: calc(100% + (50cqi - 50%));
    height: calc(140 * var(--px));
    border-radius: 0 calc(65 * var(--px)) 0 0;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: -1;
  }
  &::after {
    content: "";
    background-image: url(../images/parts21__title-after.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(170 * var(--px));
    height: auto;
    aspect-ratio: 160 / 154;
    position: absolute;
    bottom: calc(-5 * var(--px));
    left: calc(50% - 480 * var(--px));
  }
}

@media screen and (max-width: 1079px) {
  .parts21__title {
    padding-left: 0;
    padding-right: calc(130 * var(--px));
    padding-bottom: calc(15 * var(--px));
    .sub1 {
      font-size: calc(42 * var(--px));
    }
    &::before {
      background-image: linear-gradient(to left, var(--color-grad-primary));
      height: calc(140 * var(--px));
      width: 100%;
      border-radius: 200px calc(200 * var(--px)) 200px 0;
    }
    &::after {
      width: calc(200 * var(--px));
      bottom: calc(-10 * var(--px));
      left: unset;
      right: calc(-20 * var(--px));
    }
  }
}

.parts21__subtitle {
  margin-top: calc(40 * var(--px));
  font-size: calc(32 * var(--px));
  font-weight: 700;
  line-height: 1.4;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-text);
  display: block;
  width: fit-content;
  margin-inline: auto;
  position: relative;

  .sub1 {
    display: inline-block;
    padding-inline: 0.8em;
  }
  &::before, &::after {
    content: "";
    width: 0.1em;
    height: 1.1lh;
    border-left: calc(4 * var(--px)) dotted var(--color-text);
    display: inline-block;
    vertical-align: bottom;
  }
  &::before {
    rotate: -25deg;
  }
  &::after {
    rotate: 25deg;
  }
  strong {
    color: var(--color-secondary);
  }

  &[data-type="compare-point"] {
    &::before, &::after {
      height: 2.3lh;
    }
  }
}

.parts21__compare-table {
  width: var(--size-container-narrow);
  padding-inline: var(--size-padding);
  margin-inline: auto;
  margin-top: calc(30 * var(--px));
  margin-bottom: calc(80 * var(--px));
  display: flex;
  align-items: flex-end;
  gap: 0;
}

@media screen and (max-width: 1079px) {
  .parts21__compare-table {
    padding-inline: 0;
  }
}
.parts21__compare-row {
  flex: 0 1 calc(175 * var(--px));
  font-size: calc(28 * var(--px));
  font-weight: 700;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-text);
  border-radius: calc(16 * var(--px)) 0 0 calc(16 * var(--px));
  overflow: hidden;

  &[data-type="own"] {
    flex: 0 1 calc(340 * var(--px));
    font-size: calc(32 * var(--px));
    color: var(--color-secondary);
    border: calc(8 * var(--px)) solid var(--color-secondary);
    border-radius: calc(16 * var(--px));
    translate: 0 calc(8 * var(--px));
    .parts21__compare-cell {
      border-color: var(--color-secondary);
      background-color: #fff9a1;

      &:first-child {
        height: calc(100 * var(--px));
        background-color: var(--color-secondary);
        color: var(--color-yellow);
        font-size: calc(48 * var(--px));
      }
    }
  }

  &[data-type="other"] {
    flex: 0 1 calc(280 * var(--px));
    font-size: calc(22 * var(--px));
    border-radius: 0 calc(16 * var(--px)) calc(16 * var(--px)) 0;
    .parts21__compare-cell {
      &:first-child {
        height: calc(80 * var(--px));
        background-color: #e1e1e1;
        font-size: calc(32 * var(--px));
      }
    }
  }
}

@media screen and (max-width: 1079px) {
  .parts21__compare-row {
    flex: 0 1 calc(60 * var(--px));

    &:first-child {
      .parts21__compare-cell-title {
        writing-mode: vertical-lr;
      }
    }
  }
}
.parts21__compare-cell {
  background-color: var(--color-base);
  border-top: calc(2 * var(--px)) solid #c4c4c4;
  height: calc(210 * var(--px));
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.3;

  &:first-child {
    border-top: none;
  }
  &[data-type="null"] {
    background-color: transparent;
  }
}

.parts21__compare-cell-title {
  .sub1 {
    font-size: calc(42 * var(--px));
  }
  .sub2 {
    font-weight: 500;
  }

}

.parts21__text {
  width: calc(650 * var(--px));
  margin-inline: auto;
  margin-top: calc(40 * var(--px));
  strong {
    color: var(--color-secondary);
    font-weight: 700;
  }
}

/*******************
* parts22
*******************/
.parts22 {
  background-color: var(--color-bg-primary);
  margin-top: calc(100 * var(--px));
  padding-bottom: calc(80 * var(--px));
}

.parts22__inner {
  background-color: var(--color-bg-primary);
}
.parts22__title {
  padding-bottom: calc(40 * var(--px));
 
  .sub1 {
    font-size: calc(48 * var(--px));
    font-weight: 700;
    line-height: 1.3;
    font-feature-settings: "palt";
    text-align: center;
    color: var(--color-base);
    display: block;
    width: fit-content;
    margin-inline: auto;
  }

  position: relative;
  z-index: 1;
  &::before {
    content: "";
    background-image: linear-gradient(to right, var(--color-grad-accent));
    width: calc(100% + (50cqi - 50%));
    height: calc(140 * var(--px));
    border-radius: 0 calc(65 * var(--px)) 0 0;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: -1;
  }
  &::after {
    content: "";
    background-image: url(../images/parts22__title-after.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(150 * var(--px));
    height: auto;
    aspect-ratio: 160 / 154;
    position: absolute;
    bottom: calc(-5 * var(--px));
    left: calc(50% - 400 * var(--px));
  }
}

@media screen and (max-width: 1079px) {
  .parts22__title {
    padding-left: calc(110 * var(--px));
    padding-bottom: calc(40 * var(--px));
    .sub1 {
      font-size: calc(42 * var(--px));
    }
    &::before {
      height: calc(140 * var(--px));
      width: 100%;
      border-radius: 200px calc(200 * var(--px)) 0 200px;
	  }
    &::after {
      width: calc(230 * var(--px));
      bottom: calc(-30 * var(--px));
      left: calc(-10 * var(--px));
    }
  }
}

.parts22__list {
  margin-top: calc(120 * var(--px));
}
@media screen and (max-width: 1079px) {
  .parts22__list {
    margin-top: calc(80 * var(--px));
  }
}

.parts22__item {
  position: relative;

  &:not(:first-child) {
    margin-top: calc(140 * var(--px));
  }

  &:nth-child(even) {
    .parts22__item-number {
      margin-inline: calc(210 * var(--px)) auto;
    }
    .parts22__item-image-wrapper {
      left: unset;
      right: 0;
    }
    .parts22__item-textarea {
      margin-inline: 0 auto;
      padding-inline: 0 calc(100 * var(--px));
    }
  }

  &:nth-child(1) {
    .parts22__item-image {
      width: calc(620 * var(--px));
      left: calc(-50 * var(--px));
      bottom: calc(-10 * var(--px));
    }
  }
  &:nth-child(2) {
    .parts22__item-image {
      width: calc(600 * var(--px));
      left: calc(-40 * var(--px));
      bottom: calc(0 * var(--px));
    }
  }
  &:nth-child(3) {
    .parts22__item-image {
      width: calc(750 * var(--px));
      left: calc(-120 * var(--px));
      bottom: calc(-100 * var(--px));
    }
  }
}

@media screen and (max-width: 1079px) {
  .parts22__item {
    background-color: var(--color-base);
    border-radius: calc(16 * var(--px)) calc(16 * var(--px)) 0 0;
    &:not(:first-child) {
      margin-top: calc(100 * var(--px));
    }
  
    &:nth-child(even) {
      .parts22__item-number {
        margin-inline: auto;
      }
      .parts22__item-image-wrapper {
        left: unset;
        right: unset;
      }
      .parts22__item-textarea {
        margin-inline: 0 auto;
        padding-inline: 0 calc(30 * var(--px));
      }
    }
  
    &:nth-child(1) {
      .parts22__item-image {
        width: calc(788 * var(--px));
        left: calc(-50 * var(--px));
        bottom: calc(-40 * var(--px));
      }
    }
    &:nth-child(2) {
      .parts22__item-image {
        width: calc(773 * var(--px));
        left: calc(-10 * var(--px));
        bottom: calc(-110 * var(--px));
      }
    }
    &:nth-child(3) {
      .parts22__item-image {
        width: calc(881 * var(--px));
        left: calc(-120 * var(--px));
        bottom: calc(-180 * var(--px));
      }
    }
  }
}
.parts22__item-number {
  font-size: calc(18 * var(--px));
  font-weight: 700;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-orange-pale);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: calc(77 * var(--px));
  aspect-ratio: 1/1;
  margin-inline: auto calc(260 * var(--px));
  margin-bottom: calc(-35 * var(--px));
  
  border: calc(4 * var(--px)) solid var(--color-orange-pale);
  border-radius: 100px;
  background-color: var(--color-base);
  position: relative;
  z-index: 3;
  .sub1 {
    font-size: calc(35 * var(--px));
    line-height: 0.9;
  }
}
@media screen and (max-width: 1079px) {
  .parts22__item-number {
    font-size: calc(28 * var(--px));
    width: calc(118 * var(--px));
    border-width: calc(6 * var(--px));
    margin-inline: auto;
    margin-bottom: 0;
    position: absolute;
    top: calc(-60 * var(--px));
    left: 0;
    right: 0;

    .sub1 {
      font-size: calc(54 * var(--px));
      line-height: 1;
    }
  }
}

.parts22__item-image-wrapper {
  position: absolute;
  z-index: 2;
  left: 0;
  top: calc(-20 * var(--px));
  width: calc(540 * var(--px));
  aspect-ratio: 540 / 400;
  overflow: hidden;
}

@media screen and (max-width: 1079px) {
  .parts22__item-image-wrapper {
    position: relative;
    left: unset;
    top: unset;
    width: 100%;
    aspect-ratio: 690 / 400;
    border-radius: calc(16 * var(--px)) calc(16 * var(--px)) 0 0;
  }
}
.parts22__item-image {
  position: absolute;

}

.parts22__item-textarea {
  background-color: var(--color-base);
  width: calc(600 * var(--px));
  padding-inline: calc(60 * var(--px)) calc(35 * var(--px));
  padding-block: calc(60 * var(--px));

  margin-inline: auto 0;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 1079px) {
  .parts22__item-textarea {
    background-color: transparent;
    width: 100%;
    padding-inline: 0 calc(30 * var(--px));
    padding-block: 0 calc(40 * var(--px));
    margin-inline:auto;
    z-index: 2;
  }
}
.parts22__item-title {
  background-color: var(--color-orange-pale);
  width: fit-content;
  margin-inline: 0 auto;
  padding-inline: 1.4em;
  padding-block: 0.2em;
  font-size: calc(28 * var(--px));
  font-weight: 700;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-base);
  margin-bottom: 0.5em;
  clip-path: polygon(0 0, calc(100% - 20 * var(--px)) 0, 100% 100%, 0 100%);
}
@media screen and (max-width: 1079px) {
  .parts22__item-title {
    font-size: calc(42 * var(--px));
    padding-inline: 0.7em;
    position: relative;
    z-index: 2;
    top: calc(-30 * var(--px));
    margin-bottom: -0.8em;
  }
}

.parts22__item-text {
  padding-inline: calc(40 * var(--px)) 0;

  .sub1 {
    display: inline-block;
    font-size: calc(20 * var(--px));
    font-weight: 700;
    line-height: 1.3;
    font-feature-settings: "palt";
    text-align: center;
    color: var(--color-orange-pale);
    background-color: var(--color-base);
    padding-inline: 0.8em;
    padding-block: 0.2em;
    border-radius: 100px;
    width: fit-content;
    margin-inline: auto;
    border: calc(2 * var(--px)) solid var(--color-orange-pale);
    border-radius: calc(6 * var(--px));
    margin-right: 0.5em;
    box-shadow: calc(1 * var(--px)) calc(3 * var(--px)) 0 var(--color-orange-pale);
    margin-block: 0.6em;
  }
}
@media screen and (max-width: 1079px) {
  .parts22__item-text {
    .sub1 {
      font-size: calc(32 * var(--px));
      width: 100%;
      padding-inline: 0;
      padding-block: 0.4em;
      margin-block: 0 0.8em;
    }
  }
}

/*******************
* parts23
*******************/
.parts23 {
  background-color: var(--color-secondary);
  padding-block: calc(80 * var(--px));
  overflow: hidden;
}
@media screen and (max-width: 1079px) {
  .parts23 {
    padding-block: calc(60 * var(--px));
  }
}

.parts23__block1 {
  background-color: var(--color-base);
  border-radius: calc(20 * var(--px));
  padding: calc(40 * var(--px));
  padding-top: calc(60 * var(--px));
}
@media screen and (max-width: 1079px) {
  .parts23__block1 {
    padding: calc(20 * var(--px));
    padding-top: calc(50 * var(--px));
  }
}

.parts23__block-content {
  border: calc(5 * var(--px)) solid var(--color-primary);
  border-radius: calc(10 * var(--px));
  padding: calc(40 * var(--px));
}
@media screen and (max-width: 1079px) {
  .parts23__block-content {
    padding: calc(30 * var(--px));
    border-width: calc(6 * var(--px));
  }
}
.parts23__block1-title {
  position: relative;

  .sub1 {
    font-size: calc(45 * var(--px));
    line-height: 1.3;
    font-weight: 700;
    width: fit-content;
    padding-inline: 0.5em;
    padding-block: 0.2em;
    color: var(--color-base);
    background-color: var(--color-primary);
    border-right: calc(5 * var(--px)) solid var(--color-base);
    border-bottom: calc(5 * var(--px)) solid var(--color-base);
    position: absolute;
    top: calc(-80 * var(--px));
    left: calc(-45 * var(--px));

    .sub11 {
      color: var(--color-yellow);
    }
  }
  
  .sub2 {
    font-size: calc(72 * var(--px));
    line-height: 1.3;
    color: var(--color-secondary);
    font-weight: 700;
    display: inline-block;
    margin-top: calc(60 * var(--px));
    .sub21 {
      position: relative;
      &::before {
        content: "・";
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        bottom: 1.1lh;
        font-size: 0.7em;
      }
    }
    .sub22 {
      color: var(--color-text);
      font-size: calc(38 * var(--px));
    } 
  }
  
  &::before {
    content: "";
    background-image: url(../images/parts23__block1-title-before.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(112 * var(--px));
    aspect-ratio: 112 / 172;
    position: absolute;
    top: calc(-140 * var(--px));
    left: 53%;
  }
  &::after {
    content: "";
    background-image: url(../images/parts23__block1-title-after.webp);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(381 * var(--px));
    aspect-ratio: 1 / 1;
    position: absolute;
    top: calc(-140 * var(--px));
    right: calc(-170 * var(--px));

  }
}
@media screen and (max-width: 1079px) {
  .parts23__block1-title {
    .sub1 {
      font-size: calc(59 * var(--px));
      padding-inline: 0.5em;
      padding-block: 0.2em;
      top: calc(-75 * var(--px));
      left: calc(-37 * var(--px));
    }
    
    .sub2 {
      font-size: calc(96 * var(--px));
      margin-top: calc(60 * var(--px));
      line-height: 1.2;
      .sub22 {
        font-size: calc(50 * var(--px));
        font-weight: 700;
        translate: 0 calc(10 * var(--px));
        width: 1em;
        display: inline-block;
        line-height: 1;
      } 
    }
    &::before {
      top: calc(-115 * var(--px));
      left: calc(450 * var(--px));
    }
    &::after {
      top: calc(125 * var(--px));
      right: calc(-170 * var(--px));
      z-index: 1;
    }
  }
}
.parts23__block1-subtitle {
  font-size: calc(58 * var(--px));
  font-weight: 700;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-base);
  background-color: var(--color-secondary);
  margin-top: calc(40 * var(--px));
  border-radius: calc(10 * var(--px));
  padding-block: 0.25em;
  position: relative;
  &::after {
    content: "";
    width: calc(20 * var(--px));
    height: calc(30 * var(--px));
    background-color: var(--color-secondary);
    position: absolute;
    top: calc(100% - 5 * var(--px));
    left: 50%;
    transform: translateX(-50%);
    clip-path: polygon(0 0, 100% 0, 100% 100%);
  }
}

@media screen and (max-width: 1079px) {
  .parts23__block1-subtitle {
    font-size: calc(64 * var(--px));
    margin-top: calc(20 * var(--px));
    width: fit-content;
    padding-inline: 0.8em;
  }
}
.parts23__block1-text1 {
  font-size: calc(24 * var(--px));
  font-weight: 500;
  line-height: 1.9;
  font-feature-settings: "palt";
  text-align: left;
  color: var(--color-text);
  margin-top: calc(50 * var(--px));
}
@media screen and (max-width: 1079px) {
  .parts23__block1-text1 {
    font-size: calc(32 * var(--px));
  }
}

.parts23__block1-text2 {
  font-size: calc(40 * var(--px));
  font-weight: 700;
  line-height: 1.6;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-text);
  margin-top: calc(30 * var(--px));

  .sub1 {
    display: inline-block;
    color: var(--color-secondary);
    background-image: linear-gradient(to bottom, transparent 60%, var(--color-yellow) 60%);
  }
}

.parts23__sub-title {
  font-size: calc(38 * var(--px));
  font-weight: 700;
  color: var(--color-primary);
  background-color: var(--color-base);
  border-radius: 1000px;
  width: fit-content;
  padding-inline: 1em;
  padding-block: 0.4em;
  margin-inline: auto;
  margin-top: calc(60 * var(--px));
  position: relative;
  &::after {
    content: "";
    width: calc(20 * var(--px));
    height: calc(30 * var(--px));
    background-color: var(--color-base);
    position: absolute;
    top: calc(100% - 5 * var(--px));
    left: 50%;
    transform: translateX(-50%);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
  }
}
@media screen and (max-width: 1079px) {
  .parts23__sub-title {
    font-size: calc(48 * var(--px));
    margin-top: calc(30 * var(--px));
  }
}

.parts23__text1 {
  font-size: calc(24 * var(--px));
  font-weight: 500;
  line-height: 1.9;
  font-feature-settings: "palt";
  text-align: left;
  color: var(--color-base);
  margin-top: calc(40 * var(--px));
}
@media screen and (max-width: 1079px) {
  .parts23__text1 {
    font-size: calc(32 * var(--px));
  }
}

.parts23__text2 {
  font-size: calc(28 * var(--px));
  font-weight: 700;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-base);
  margin-top: calc(50 * var(--px));
  padding-block: 1.5em;
  width: calc(500 * var(--px));
  margin-inline: auto;
  position: relative;
  &::before {
    content: "";
    width: 100%;
    height: calc(120 * var(--px));
    border-top: calc(3 * var(--px)) solid var(--color-base);
    border-bottom: calc(3 * var(--px)) solid var(--color-base);
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }
  &::after {
    content: "";
    width: 100%;
    height: calc(108 * var(--px));
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    border-top: calc(1 * var(--px)) solid var(--color-base);
    border-bottom: calc(1 * var(--px)) solid var(--color-base);
  }
}
@media screen and (max-width: 1079px) {
  .parts23__text2 {
    font-size: calc(36 * var(--px));
    margin-top: calc(40 * var(--px));
    width: 100%;
    padding-block: 1em;
  }
}

/*******************
* parts24
*******************/
.parts24 {
  padding-block: calc(80 * var(--px));
}

.parts24__title {
  font-size: calc(42 * var(--px));
  font-weight: 700;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-base);
  border-radius: 100px;
  width: fit-content;
  margin-inline: auto;
  padding-inline: 1.3em;
  padding-block: 0.3em;
  background-image: linear-gradient(to bottom, var(--color-secondary) 50%, var(--color-primary) 50%);
  position: relative;

  &::after {
    content: "";
    width: calc(30 * var(--px));
    height: calc(30 * var(--px));
    background-color: var(--color-primary);
    position: absolute;
    top: calc(100% - 5 * var(--px));
    left: 50%;
    transform: translateX(-50%);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
  }
}

.parts24__text1 {
  margin-top: calc(60 * var(--px));
  text-align: center;
}
@media screen and (max-width: 1079px) {
  .parts24__text1 {
    text-align: left;
  }
}

.parts24__text2 {
  font-size: calc(38 * var(--px));
  font-weight: 700;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-primary);
  margin-top: calc(80 * var(--px));
}
@media screen and (max-width: 1079px) {
  .parts24__text2 {
    margin-top: calc(60 * var(--px));
  }
}

.parts24__table-wrapper {
  margin-top: calc(40 * var(--px));
  border: calc(2 * var(--px)) solid var(--color-text);
}

.parts24__table {
  width: 100%;
  tr {
    font-size: calc(24 * var(--px));
    line-height: 1.7;
    th {
      background-color: var(--color-bg-secondary);
      width: calc(230 * var(--px));
      vertical-align: middle;
      text-align: center;
    }
    td {
      padding-block: 1em;
      padding-left: calc(50 * var(--px));
    }
    &:not(:first-child) {
      border-top: calc(2 * var(--px)) solid #cccccc;
    }
  }
}

@media screen and (max-width: 1079px) {
  .parts24__table {
    tr {
      display: flex;
      flex-direction: column;

      th,td {
        font-size: calc(32 * var(--px));
        width: 100%;
        text-align: center;
        padding-inline: 0;
        padding-block: 0.6em;
      }
      th {
        padding-block: 0.3em;
      }
      &:not(:first-child) {
        border-top: none;
      }
    }

  }
}
/*******************
* parts25
*******************/
.parts25 {
  padding-block: calc(80 * var(--px));
}

@media screen and (max-width: 1079px) {
  .parts25 {
    padding-block: calc(60 * var(--px));
  }
}
.parts25__title {
  font-size: calc(42 * var(--px));
  font-weight: 700;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.7em;
  width: fit-content;
  margin-inline: auto;
  padding-inline: 0.6em 1em;
  padding-block: 0.3em;
  border-radius: 100px;
  border: calc(2 * var(--px)) solid var(--color-primary);
  background-color: #fef887;
  position: relative;

  &::before {
    content: "";
    background-image: url(../images/parts25__title-before.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(34 * var(--px));
    height: auto;
    aspect-ratio: 34 / 48;
    display: inline-block;
  }
  
}


.parts25__subtitle {
  margin-top: calc(60 * var(--px));
  font-size: calc(37 * var(--px));
  font-weight: 700;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-primary);
  display: block;
  width: fit-content;
  margin-inline: auto;
  padding-bottom: 0.3em;
  position: relative;

  &::after {
    content: "";
    background-image: url(../images/parts25__subtitle-after.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 100%;
    height: auto;
    aspect-ratio: 348 / 18;
    position: absolute;
    top: 100%;
    left: 0;
  }
}
@media screen and (max-width: 1079px) {
  .parts25__subtitle {
    margin-top: calc(40 * var(--px));
  }
}
#parts-25b-column .parts25__subtitle {
  margin-top: 0;
}

.parts25__list {
  margin-top: calc(50 * var(--px));
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: calc(50 * var(--px));
}

@media screen and (max-width: 1079px) {
  .parts25__list {
    margin-top: calc(40 * var(--px));
    gap: calc(25 * var(--px));
  }
}
.parts25__item {
  width: calc(510 * var(--px));
  border-radius: calc(10 * var(--px));
  padding: calc(2 * var(--px));
  box-shadow: calc(6 * var(--px)) calc(6 * var(--px)) calc(9 * var(--px)) rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 1079px) {
  .parts25__item {
    width: 100%;
  }
}

.parts25__item-content {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: calc(30 * var(--px));
  border: calc(2 * var(--px)) solid var(--color-primary);
  border-radius: calc(8 * var(--px));
  overflow: hidden;
  position: relative;
  &::after {
    content: "";
    background-image: url(../images/parts25__item-content-after.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(30 * var(--px));
    height: auto;
    aspect-ratio: 1/1;
    position: absolute;
    bottom: calc(3 * var(--px));
    right: calc(3 * var(--px));
  }

}

.parts25__item-image-wrapper {
  width: calc(146 * var(--px));
  aspect-ratio: 1/1;
  overflow: hidden;
  position: relative;
}

.parts25__item-image {
  position: absolute;
  height: 100%;
  width: auto;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.parts25__item-text {
  font-size: calc(24 * var(--px));
  font-weight: 500;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: left;
  color: var(--color-text);
}

@media screen and (max-width: 1079px) {
  .parts25__item-text {
    font-size: calc(32 * var(--px));
  }
}

.parts25__button {
  display: block;
  width: fit-content;
  margin-inline: auto;
  margin-top: calc(60 * var(--px));
  padding-inline: calc(30 * var(--px)) calc(64 * var(--px));
  padding-block: 0.6em;
  border-radius: 100px;
  border: calc(2 * var(--px)) solid var(--color-primary);
  background-color: var(--color-base);
  font-size: calc(21 * var(--px));
  font-weight: 400;
  line-height: 1.5;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-primary);
  position: relative;
  &::after {
    content: "";
    background-image: url(../images/button-arrow-white.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(28 * var(--px));
    height: calc(28 * var(--px));
    position: absolute;
    top: 50%;
    right: calc(16 * var(--px));
    transform: translateY(-50%);
    transition: transform 0.3s ease;
  }
  &:hover {
    &::after {
      transform: translateY(-50%) translateX(calc(4 * var(--px)));
    }
  }
}

@media screen and (max-width: 1079px) {
  .parts25__button {
    min-width: calc(570 * var(--px));
    margin-top: calc(40 * var(--px));
    .sub1 {
      font-size: calc(32 * var(--px));
    }
    &::after {
      width: calc(42 * var(--px));
    }
  }
}

/*******************
* parts26
*******************/
.parts26 {
  margin-top: calc(60 * var(--px));
  background-color: #f8f8f8;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 180 * var(--px)), 50% 100%, 0 calc(100% - 180 * var(--px)));
  position: relative;
  overflow: hidden;
  &::after {
    content: "";
    width: 100%;
    height: calc(210 * var(--px));
    background-image: linear-gradient(to right, var(--color-primary), var(--color-secondary), var(--color-primary));
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    clip-path: polygon(0 0, 50% calc(100% - 30 * var(--px)), 100% 0, 100% 100%, 0 100%);
  }
}
@media screen and (max-width: 1079px) {
  .parts26 {
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 100 * var(--px)), 50% 100%, 0 calc(100% - 100 * var(--px)));
    &::after {
      height: calc(130 * var(--px));
      /* clip-path: polygon(0 0, 50% calc(100% - 20 * var(--px)), 100% 0, 100% 100%, 0 100%); */
    }
  }
}

.parts26__title {
  padding-bottom: calc(30 * var(--px));
  .sub1 {
    background-color: #fef887;
    color: var(--color-primary);
    border-radius: 100px;
    border: calc(2 * var(--px)) solid var(--color-primary);
    padding-inline: 1em;
    font-size: calc(28 * var(--px));
    font-weight: 700;
    line-height: 1.8;
    font-feature-settings: "palt";
    text-align: center;
    display: block;
    width: calc(425 * var(--px));
    margin-inline: auto;
    margin-bottom: calc(20 * var(--px));
  }
  
  .sub2 {
    font-size: calc(48 * var(--px));
    font-weight: 700;
    line-height: 1.3;
    font-feature-settings: "palt";
    text-align: center;
    color: var(--color-base);
    display: block;
    width: fit-content;
    margin-inline: auto;
  }
  .sub3 {
    color: var(--color-yellow);
  }

  position: relative;
  z-index: 1;
  &::before {
    content: "";
    background-image: linear-gradient(to left, var(--color-grad-primary));
    width: calc(100% + (50cqi - 50%));
    height: calc(140 * var(--px));
    border-radius: calc(65 * var(--px)) 0 0 0;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
  }
  &::after {
    content: "";
    background-image: url(../images/parts26__title-after.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(136 * var(--px));
    height: auto;
    aspect-ratio: 116 / 124;
    position: absolute;
    bottom: calc(5 * var(--px));
    left: calc(50% - 400 * var(--px));
  }
}

@media screen and (max-width: 1079px) {
  .parts26__title {
    padding-left: calc(190 * var(--px));
    padding-bottom: calc(40 * var(--px));
    .sub1 {
      font-size: calc(37 * var(--px));
      margin-bottom: calc(20 * var(--px));
    }
    .sub2 {
      font-size: calc(48 * var(--px));
    }
    &::before {
      height: calc(174 * var(--px));
      border-radius: calc(65 * var(--px)) 0 0 0;
      right: unset;
      left: 0;
    }
    &::after {
      width: calc(180 * var(--px));
      bottom: calc(-4 * var(--px));
      left: calc(50% - 340 * var(--px));
    }
  }
}

.parts26__text1 {
  margin-top: calc(30 * var(--px));
  max-width: var(--size-container-narrow);
  padding-inline: var(--size-padding);
  margin-inline: auto;
}

@media screen and (max-width: 1079px) {
  .parts26__text1 {
    padding-inline: 0;
  }
}
.parts26__list {
  margin-top: calc(80 * var(--px));
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  gap: calc(60 * var(--px));
}
@media screen and (max-width: 1079px) {
  .parts26__list {
    gap: calc(40 * var(--px));
  }
}
.parts26__item {
  width: calc(507 * var(--px));
  border-radius: calc(16 * var(--px));
  border: calc(3 * var(--px)) solid var(--color-secondary);
  box-shadow: calc(3 * var(--px)) calc(3 * var(--px)) 0 var(--color-secondary);
  position: relative;
}
@media screen and (max-width: 1079px) {
  .parts26__item {
    width: 100%;
  }
}

.parts26__item-title {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: calc(30 * var(--px));
  padding: calc(20 * var(--px));
  background-color: #eaf2ff;
  border-radius: calc(13 * var(--px)) calc(13 * var(--px)) 0 0;
  img {
    width: calc(120 * var(--px));
    aspect-ratio: 1/1;
  }
}
@media screen and (max-width: 1079px) {
  .parts26__item-title {
    padding-left: calc(30 * var(--px));
    img {
      width: calc(180 * var(--px));
    }
  }
}
.parts26__item-title-text {
  font-size: calc(28 * var(--px));
  font-weight: 700;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: left;
  color: var(--color-secondary);
}
@media screen and (max-width: 1079px) {
  .parts26__item-title-text {
    font-size: calc(36 * var(--px));
  }
}
.parts26__item-text {
  font-size: calc(21 * var(--px));
  font-weight: 500;
  line-height: 1.7;
  font-feature-settings: "palt";
  text-align: left;
  color: var(--color-text);
  padding: calc(20 * var(--px));
}

@media screen and (max-width: 1079px) {
  .parts26__item-text {
    font-size: calc(32 * var(--px));
    
  }
}
.parts26__item-icon {
  position: absolute;
  width: calc(89 * var(--px));
  aspect-ratio: 93/102;
  top: calc(-40 * var(--px));
  left: calc(90 * var(--px));
}
@media screen and (max-width: 1079px) {
  .parts26__item-icon {
    width: calc(131 * var(--px));
    top: calc(40 * var(--px));
    left: unset;
    right: calc(30 * var(--px));
  }
}
.parts26__block1 {
  margin-top: calc(80 * var(--px));
  width: var(--size-container-narrow);
  padding-inline: var(--size-padding);
  margin-inline: auto;
  padding-bottom: calc(180 * var(--px));
  position: relative;
  z-index: 1;
  &::before {
    content: "";
    background-image: url(../images/parts/parts26__block1-before.webp);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(340 * var(--px));
    height: auto;
    aspect-ratio: 340 / 486;
    position: absolute;
    bottom: calc(50 * var(--px));
    right: 0;
    z-index: -1;
  }
}

@media screen and (max-width: 1079px) {
  .parts26__block1 {
    padding-bottom: calc(140 * var(--px));
    &::before {
      width: calc(468 * var(--px));
      bottom: calc(-40 * var(--px));
      right: calc(-80 * var(--px));
    }
  }
}
.parts26__text2 {
  font-size: calc(36 * var(--px));
  font-weight: 700;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-text);
  background-color: #fef887;
  border-radius: 100px;
  padding-inline: 1em;
  padding-block: 0.2em;
  width: calc(477 * var(--px));
  position: relative;
  &::after {
    content: "";
    background-color: #fef887;
    width: calc(30 * var(--px));
    height: calc(30 * var(--px));
    position: absolute;
    top: 50%;
    left: 98%;
    clip-path: polygon(0 0, 100% 100%, 0 80%);
  }
}
@media screen and (max-width: 1079px) {
  .parts26__text2 {
    font-size: calc(46 * var(--px));
    padding-inline: 0.5em;
    width: calc(334 * var(--px));

  }
}

.parts26__text3 {
  margin-top: calc(30 * var(--px));
  font-size: calc(36 * var(--px));
  font-weight: 700;

  .sub1 {
    .sub11 {
      color: var(--color-secondary);
    }
  }
  .sub2 {
    display: inline-block;
    margin-top: calc(20 * var(--px));
    font-size: calc(42 * var(--px));

    .sub21.fuchi {
      --fuchi-font-size: 50;
      --fuchi-offset-x: 0;
      --fuchi-fill: var(--color-base);
      --fuchi-stroke: var(--color-secondary);
      --fuchi-stroke-width: calc(18 * var(--px));
    }
    .sub22.fuchi {
      --fuchi-font-size: 40;
      --fuchi-offset-x: 0;
      --fuchi-fill: var(--color-text);
      --fuchi-stroke: var(--color-base);
      --fuchi-stroke-width: calc(8 * var(--px));
      margin-left: calc(8 * var(--px));
    }
  }
  .sub3 {
    display: inline-block;
    margin-top: calc(20 * var(--px));
    color: #d76d00;

    .sub30.fuchi {
      --fuchi-font-size: 36;
      --fuchi-offset-x: 0;
      --fuchi-fill: #d76d00;
      --fuchi-stroke: var(--color-base);
      --fuchi-stroke-width: calc(8 * var(--px));
    }
    .sub31.fuchi {
      --fuchi-font-size: 36;
      --fuchi-offset-x: 0;
      --fuchi-fill: var(--color-text);
      --fuchi-stroke: var(--color-base);
      --fuchi-stroke-width: calc(8 * var(--px));
    }
  }
  .sub4 {
    display: inline-block;
    background-color: #d76d00;
    border-radius: calc(16 * var(--px));
    border: calc(2 * var(--px)) solid var(--color-base);
    text-align: center;
    font-size: calc(38 * var(--px));
    font-weight: 700;
    line-height: 1.2;
    font-feature-settings: "palt";
    color: var(--color-base);
    padding-inline: 0.5em;
    padding-block: 0.2em;
  }
}

@media screen and (max-width: 1079px) {
  .parts26__text3 {
    margin-top: calc(20 * var(--px));
    .sub1 {
      .sub11 {
        font-size: calc(46 * var(--px));
        display: inline-block;
        margin-top: calc(10 * var(--px));
      }
    }
    .sub2 {
      margin-top: 0;
      font-size: calc(42 * var(--px));
      .sub21.fuchi {
        margin-top: calc(10 * var(--px));
        --fuchi-font-size: 50;
      }
      .sub22.fuchi {
        --fuchi-font-size: 40;
      }
    }
    .sub3 {
      font-size: calc(36 * var(--px));
      margin-top: calc(10 * var(--px));
      .sub30.fuchi {
        --fuchi-font-size: 42;
        display: inline-block;
        margin-top: calc(5 * var(--px));
      }
      .sub31.fuchi {
        --fuchi-font-size: 42;
      }
    }
  }
}

/*******************
* parts27
*******************/
.parts27 {
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 180 * var(--px)), 50% 100%, 0 calc(100% - 180 * var(--px)));
  position: relative;
  overflow: hidden;
  &::after {
    content: "";
    width: 100%;
    height: calc(210 * var(--px));
    background-image: linear-gradient(to right, var(--color-primary), var(--color-secondary), var(--color-primary));
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    clip-path: polygon(0 0, 50% calc(100% - 30 * var(--px)), 100% 0, 100% 100%, 0 100%);
  }
}
@media screen and (max-width: 1079px) {
  .parts27 {
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 100 * var(--px)), 50% 100%, 0 calc(100% - 100 * var(--px)));
    &::after {
      height: calc(130 * var(--px));
      /* clip-path: polygon(0 0, 50% calc(100% - 20 * var(--px)), 100% 0, 100% 100%, 0 100%); */
    }
  }
}

.parts27__title {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding-block: calc(30 * var(--px));
  background-image: linear-gradient(100deg, #ffeee1 48%, #eaf2ff 48%);
  border-radius: 2000px;
  position: relative;
  z-index: 1;
  >span {
    position: relative;
    display:flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    min-width: calc(300 * var(--px));
    .sub1 {
      color: var(--color-base);
      font-size: calc(50 * var(--px));
      font-weight: 900;
      line-height: 1;
      text-align: center;
      display: inline-block;
      .sub12 {
        display: inline flex;
        justify-content: center;
        align-items: center;
        width: 1.4em;
        aspect-ratio: 1/1;
        border-radius: 0.2em;
        background-color: var(--parts27__title-color);
        margin-left: calc(3 * var(--px));
      }
    }
    .sub2 {
      margin-top: calc(20 * var(--px));
      display: inline-block;
      .sub21.fuchi {
        display: block;
        font-weight: 900;
        --fuchi-font-size: 52;
        --fuchi-offset-x: 0;
        --fuchi-fill: var(--parts27__title-color);
        --fuchi-stroke: var(--color-base);
        --fuchi-stroke-width: calc(18 * var(--px));
      }
    }
  }
  &::before {
    content: "";
    background-image: url(../images/parts/parts27__title-good-icon.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(133 * var(--px));
    height: auto;
    aspect-ratio: 267 / 371;
    position: absolute;
    bottom: 0;
    left: calc(20 * var(--px));
    z-index: -1;
  }
  &::after {
    content: "";
    background-image: url(../images/parts/parts27__title-bad-icon.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(131 * var(--px));
    height: auto;
    aspect-ratio: 262 / 408;
    position: absolute;
    bottom: 0;
    right: calc(0 * var(--px));
    z-index: -1;
  }
}
@media screen and (max-width: 1079px) {
  .parts27__title {
    margin-inline: calc(-30 * var(--px));
    border-radius: 0;

    &::before {
      left: calc(10 * var(--px));
    }
    &::after {
      right: calc(-20 * var(--px));
    }
  }
}

.parts27__title-good {
  --parts27__title-color: #d76d00;

}

.parts27__title-bad {
  --parts27__title-color: #1a3d8b;

}

.parts27__text1 {
  margin-top: calc(30 * var(--px));
  font-size: calc(24 * var(--px));
  font-weight: 500;
  line-height: 1.8;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-text);

  .sub1 {
    color: #e45027;
    font-weight: 700;
  }
  
  .sub2 {
    color: #00307c;
    font-weight: 700;
  }  
}
@media screen and (max-width: 1079px) {
  .parts27__text1 {
    font-size: calc(36 * var(--px));
  }
}

.parts27__list {
  margin-top: calc(30 * var(--px));
}
@media screen and (max-width: 1079px) {
  .parts27__list {
    margin-top: calc(40 * var(--px));
  }
}

.parts27__item {

  &:not(:first-child) {
    margin-top: calc(50 * var(--px));
  }
}

@media screen and (max-width: 1079px) {
  .parts27__item {
    &:not(:first-child) {
      margin-top: calc(70 * var(--px));
    }
  }
}
.parts27__item-title {
  background-color: var(--color-secondary);
  border-radius: 200px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: calc(25 * var(--px));
  padding: calc(10 * var(--px));
}
@media screen and (max-width: 1079px) {
  .parts27__item-title {
    padding: calc(20 * var(--px));
  }
}

.parts27__item-image {
  width: calc(100 * var(--px));
  aspect-ratio: 1/1;
  flex-shrink: 0;
}

@media screen and (max-width: 1079px) {
  .parts27__item-image {
    width: calc(150 * var(--px));
  }
}
.parts27__item-title-text {
  font-size: calc(30 * var(--px));
  font-weight: 700;
  line-height: 1.3;
  font-feature-settings: "palt";
  color: var(--color-base);
}
@media screen and (max-width: 1079px) {
  .parts27__item-title-text {
    font-size: calc(42 * var(--px));
  }
}

.parts27__item-text {
  margin-top: calc(30 * var(--px));
  max-width: calc(650 * var(--px));
  margin-inline: auto;
  line-height: 1.7;
  strong {
    color: var(--color-secondary);
  }
}

.parts27__text4 {
  margin-top: calc(100 * var(--px));
  font-size: calc(32 * var(--px));
  font-weight: 700;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-primary);
  background-color: #fef887;
  border: calc(3 * var(--px)) solid var(--color-primary);
  max-width: calc(690 * var(--px));
  margin-inline: auto;
  padding-block: 0.2em;
  position: relative;
  &::after {
    content: "";
    width: calc(30 * var(--px));
    height: calc(30 * var(--px));
    background-color: var(--color-primary);
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
  }
}

@media screen and (max-width: 1079px) {
  .parts27__text4 {
    padding-block: 0.5em;
  }
}
.parts27__column-link {
  max-width: calc(690 * var(--px));
  margin-inline: auto;
  margin-top: calc(60 * var(--px));
  border-radius: calc(16 * var(--px));
  box-shadow: calc(4 * var(--px)) calc(4 * var(--px)) calc(10 * var(--px)) rgba(0, 0, 0, 0.2);
  padding: calc(2 * var(--px));
}

.parts27__column-link-header {
  font-size: calc(30 * var(--px));
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-base);
  background-color: var(--color-primary);
  border-radius: calc(10 * var(--px)) calc(10 * var(--px)) 0 0;
  padding-block: 0.2em;
}

.parts27__column-link-anchor {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: calc(30 * var(--px));
  border-radius: 0 0 calc(10 * var(--px)) calc(10 * var(--px));
  border: calc(2 * var(--px)) solid var(--color-primary);
  position: relative;
  overflow: hidden;
  &::after {
    content: "";
    background-image: url(../images/parts25__item-content-after.svg);
    background-size: 100%;
    width: calc(34 * var(--px));
    aspect-ratio: 1/1;
    position: absolute;
    bottom: calc(4 * var(--px));
    right: calc(4 * var(--px));
  }

}

.parts27__column-link-thumb {
  width: calc(165 * var(--px));
  aspect-ratio: 1/1;
  overflow: hidden;
  position: relative;

  img {
    position: absolute;
    height: 100%;
    width: auto;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}

.parts27__column-link-title {
  font-size: calc(36 * var(--px));
  font-weight: 500;
  line-height: 1.4;
  font-feature-settings: "palt";
  color: var(--color-text);
}

.parts27__block1 {
  margin-top: calc(80 * var(--px));
  width: var(--size-container-narrow);
  padding-inline: var(--size-padding);
  margin-inline: auto;
  padding-bottom: calc(180 * var(--px));
  position: relative;
  z-index: 1;
  &::before {
    content: "";
    background-image: url(../images/parts/parts26__block1-before.webp);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: calc(340 * var(--px));
    height: auto;
    aspect-ratio: 340 / 486;
    position: absolute;
    bottom: calc(50 * var(--px));
    right: 0;
    z-index: -1;
  }
}

@media screen and (max-width: 1079px) {
  .parts27__block1 {
    padding-bottom: calc(140 * var(--px));
    &::before {
      width: calc(440 * var(--px));
      bottom: calc(10 * var(--px));
      right: calc(-100 * var(--px));
    }
  }
}
.parts27__text2 {
  font-size: calc(36 * var(--px));
  font-weight: 700;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-text);
  background-color: #fef887;
  border-radius: 100px;
  padding-inline: 1em;
  padding-block: 0.2em;
  width: calc(477 * var(--px));
  position: relative;
  &::after {
    content: "";
    background-color: #fef887;
    width: calc(30 * var(--px));
    height: calc(30 * var(--px));
    position: absolute;
    top: 50%;
    left: 98%;
    clip-path: polygon(0 0, 100% 100%, 0 80%);
  }
}
@media screen and (max-width: 1079px) {
  .parts27__text2 {
    font-size: calc(46 * var(--px));
    padding-inline: 0.5em;
    width: calc(420 * var(--px));

  }
}

.parts27__text3 {
  margin-top: calc(20 * var(--px));
  font-size: calc(42 * var(--px));
  font-weight: 700;

  .sub1 {
    .sub11 {
      color: var(--color-secondary);
    }
  }
  .sub2 {
    display: inline-block;
    font-size: calc(42 * var(--px));

    .sub21.fuchi {
      --fuchi-font-size: 50;
      --fuchi-offset-x: 0;
      --fuchi-fill: var(--color-base);
      --fuchi-stroke: var(--color-secondary);
      --fuchi-stroke-width: calc(18 * var(--px));
    }
    .sub22.fuchi {
      --fuchi-font-size: 40;
      --fuchi-offset-x: 0;
      --fuchi-fill: var(--color-text);
      --fuchi-stroke: var(--color-base);
      --fuchi-stroke-width: calc(8 * var(--px));
      margin-left: calc(8 * var(--px));
    }
  }
  .sub3 {
    display: inline-block;
    color: #d76d00;

    .sub30.fuchi {
      --fuchi-font-size: 42;
      --fuchi-offset-x: 0;
      --fuchi-fill: #d76d00;
      --fuchi-stroke: var(--color-base);
      --fuchi-stroke-width: calc(8 * var(--px));
    }
    .sub31.fuchi {
      --fuchi-font-size: 36;
      --fuchi-offset-x: 0;
      --fuchi-fill: var(--color-text);
      --fuchi-stroke: var(--color-base);
      --fuchi-stroke-width: calc(8 * var(--px));
    }
  }
  .sub4 {
    display: inline-block;
    background-color: #d76d00;
    border-radius: calc(16 * var(--px));
    border: calc(2 * var(--px)) solid var(--color-base);
    text-align: center;
    font-size: calc(38 * var(--px));
    font-weight: 700;
    line-height: 1.2;
    font-feature-settings: "palt";
    color: var(--color-base);
    padding-inline: 0.5em;
    padding-block: 0.2em 0.3em;
    filter: drop-shadow(0.1em 0.1em 0.1em #2224);
    position: relative;
    z-index: 1;
    margin-right: calc(20 * var(--px));
    top: -0.2em;
    &::before {
      content: "";
      width: calc(20 * var(--px));
      height: calc(10 * var(--px));
      background-color:var(--color-base);
      position: absolute;
      top: 50%;
      left: calc(100% - 0 * var(--px));
      transform: translateY(-50%);
      clip-path: polygon(0 0, 100% 50%, 0 100%);
    }
  }
}

@media screen and (max-width: 1079px) {
  .parts27__text3 {
    margin-top: calc(20 * var(--px));
    .sub1 {
      .sub11 {
        font-size: calc(37 * var(--px));
        display: inline-block;
        margin-top: calc(10 * var(--px));
      }
    }
    .sub2 {
      margin-top: 0;
      font-size: calc(42 * var(--px));
      .sub21.fuchi {
        margin-top: calc(10 * var(--px));
        --fuchi-font-size: 46;
      }
      .sub22.fuchi {
        --fuchi-font-size: 40;
      }
    }
    .sub3 {
      font-size: calc(36 * var(--px));
      margin-top: calc(30 * var(--px));
      .sub30.fuchi {
        --fuchi-font-size: 52;
        display: inline-block;
        margin-top: calc(5 * var(--px));
      }
      .sub31.fuchi {
        --fuchi-font-size: 42;
      }
    }
    .sub4 {
      font-size: calc(44 * var(--px));
      padding-inline: 1.2em;
      margin-top: calc(20 * var(--px));

      &::before {
        top: 100%;
        left: 50%;
        height: calc(30 * var(--px));
        transform: translateX(-50%);
        clip-path: polygon(0 0, 100% 0, 50% 100%);
      }
    }
  }
}

/*******************
* parts41
*******************/
.parts41 {
  padding-block: calc(80 * var(--px));
  background-image: url(../images/parts41-bg.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.parts41__inner {

}

.parts41__title {
  font-size: calc(48 * var(--px));
  font-weight: 700;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-primary);
  text-align: center;
}

.sub1 {

}

/*******************
* parts42
*******************/
.parts42 {
  padding-block: calc(40 * var(--px));
}

.parts42__text1 {
  width: calc(664 * var(--px));
  max-width: 100%;
  border: calc(10 * var(--px)) solid var(--color-bg-secondary);
  font-family: serif;
  text-align: center;
  font-weight: 300;
  font-size: calc(28 * var(--px));
  line-height: 1.2;
  font-feature-settings: "palt";
  color: var(--color-text);
  margin-inline: auto;
  margin-top: calc(40 * var(--px));
  padding-block: calc(30 * var(--px));
}
@media screen and (max-width: 1079px) {
  .parts42__text1 {
    font-size: calc(42 * var(--px));
    line-height: 1.4;
  }
}
.parts42__text2 {
  margin-top: calc(40 * var(--px));
}

.parts42__list {
  margin-top: calc(40 * var(--px));
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: calc(10 * var(--px));
}

@media screen and (max-width: 1079px) {
  .parts42__list {
    gap: calc(20 * var(--px));
  }
}
.parts42__item {
  font-size: calc(19 * var(--px));
  font-weight: 700;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-base);
  background-image: linear-gradient(to right, var(--color-grad-primary));
  padding-inline: calc(8 * var(--px)) calc(12 * var(--px));
  padding-block: calc(6 * var(--px));
  border:calc(1 * var(--px)) solid var(--color-base);
  box-shadow: calc(4 * var(--px)) calc(4 * var(--px)) calc(10 * var(--px)) rgba(0, 0, 0, 0.2);
  border-radius: 100px;
  width: fit-content;
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: calc(6 * var(--px));

  &::before {
    content: "";
    display: inline-block;
    width: 1.75em;
    aspect-ratio: 1/1;
    background-color: var(--color-base);
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 50%;
  }

  &:nth-child(1) {
    &::before {
      background-image: url(../images/parts42__item-icon1.svg);
      background-size: 1.1em;
    }
  }
  &:nth-child(2) {
    &::before {
      background-image: url(../images/parts42__item-icon2.svg);
      background-size: 1.1em;
    }
  }
  &:nth-child(3) {
    &::before {
      background-image: url(../images/parts42__item-icon3.svg);
      background-size: 1.1em;
    }
  }
}

@media screen and (max-width: 1079px) {
  .parts42__item {
    font-size: calc(36 * var(--px));
    padding-inline: calc(13 * var(--px)) calc(25 * var(--px));
    padding-block: calc(12 * var(--px));
    gap: calc(12 * var(--px));
  }
}
.parts42__text2 {
  margin-top: calc(40 * var(--px));
}

.parts42__block {
  margin-top: calc(40 * var(--px));
  display: flex;
  justify-content: center;
  align-items: center;
  padding-block: calc(20 * var(--px));
  position: relative;
  z-index: 1;
  &::before {
    content: "";
    width: 100%;
    height: 100%;
    background-color: var(--color-bg-secondary);
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    border-radius: calc(20 * var(--px));
  }
}
@media screen and (max-width: 1079px) {
  .parts42__block {
    margin-top: 0;
    flex-direction: column;
    padding-block: calc(40 * var(--px));
    &::before {
      content: "";
      width: 100%;
      background-color: var(--color-bg-secondary);
      position: absolute;
      top: calc(120 * var(--px));
      left: 0;
      z-index: -1;
      border-radius: 50%;
      aspect-ratio: 1 / 1;
      height: auto;
    }
  }
}

.parts42__block-image {
  width: calc(293 * var(--px));
  aspect-ratio: 293 / 304;
  flex-shrink: 0;
}
@media screen and (max-width: 1079px) {
  .parts42__block-image {
    width: calc(329 * var(--px));
  }
}

.parts42__block-textarea {
  border-left: calc(2 * var(--px)) solid var(--color-primary);
  padding-block: calc(50 * var(--px));
  padding-inline: calc(60 * var(--px));
  flex: 0 1 50%;
  margin-left: calc(50 * var(--px));

  >*+* {
    margin-top: calc(10 * var(--px));
  }
}
@media screen and (max-width: 1079px) {
  .parts42__block-textarea {
    border-left: none;
    border-top: calc(3 * var(--px)) solid var(--color-primary);
    padding-block: calc(20 * var(--px));
    padding-inline: calc(70 * var(--px));
    margin-left: 0;
    width: 90%;
    margin-inline: auto;
    >*+* {
      margin-top: calc(20 * var(--px));
    }
  }
}

.parts42__block-textarea-text1 {
  font-size: calc(20 * var(--px));
  font-weight: 400;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: left;
  color: var(--color-text);
  .sub1 {
    display: inline-block;
    font-size: calc(14 * var(--px));
    font-weight: 400;
    line-height: 1.3;
    font-feature-settings: "palt";
    text-align: left;
    color: var(--color-base);
    background-color: var(--color-primary);
    padding-inline: 0.4em;
    padding-block: 0.2em 0.25em;
    border-radius: calc(4 * var(--px));
    margin-right: 0.3em;
    vertical-align: bottom;
  }
}
@media screen and (max-width: 1079px) {
  .parts42__block-textarea-text1 {
    font-size: calc(32 * var(--px));
    .sub1 {
      font-size: calc(23 * var(--px));
    }
  }
}

/*******************
* parts43
*******************/
.parts43 {
  padding-block: calc(40 * var(--px));
}
.parts43__text1 {
  font-size: calc(42 * var(--px));
  font-weight: 700;
  line-height: 1.8;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-primary);
}

.parts43__list {
  width: calc(800 * var(--px));
  margin-inline: auto;
  margin-top: calc(30 * var(--px));
  border-top: calc(1 * var(--px)) solid var(--color-contrast);
}

@media screen and (max-width: 1079px) {
  .parts43__list {
    width: 100%;
  }
}
.parts43__item {
  border-bottom: calc(1 * var(--px)) solid var(--color-contrast);
  padding-block: calc(15 * var(--px));
  padding-inline: calc(15 * var(--px));
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}
@media screen and (max-width: 1079px) {
  .parts43__item {
    flex-direction: column;
    padding-block: calc(20 * var(--px));
    padding-inline: 0;
  }
}

.parts43__item-text1 {
  font-size: calc(21 * var(--px));
  font-weight: 700;
  line-height: 1.8;
  font-feature-settings: "palt";
  color: var(--color-text);
  flex: 0 0 calc(170 * var(--px));
}
@media screen and (max-width: 1079px) {
  .parts43__item-text1 {
    font-size: calc(28 * var(--px));
    flex-basis: auto;
  }
}
.parts43__item-text2 {
  font-size: calc(21 * var(--px));
  font-weight: 400;
  line-height: 1.8;
  font-feature-settings: "palt";
  color: var(--color-text);
  flex: 1 1 auto;
}
@media screen and (max-width: 1079px) {
  .parts43__item-text2 {
    font-size: calc(28 * var(--px));
  }
}


/*******************
* parts45
*******************/
.parts45 {
  padding-top: calc(20 * var(--px));
}

.parts45__text {

}

.parts45__title {
  margin-top: calc(90 * var(--px));
  font-size: calc(42 * var(--px));
  font-weight: 700;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-base);
  background-color: var(--color-primary);
  text-align: center;
  width: calc(608 * var(--px));
  margin-inline: auto;
  border-radius: 100px;
  padding-block: 0.8em 0.5em;

  position: relative;
  .sub1 {
    position: absolute;
    top: -0.8em;
    left: 50%;
    transform: translateX(-50%);
    font-size: calc(28 * var(--px));
    font-weight: 700;
    line-height: 1.3;
    font-feature-settings: "palt";
    text-align: center;
    color: var(--color-primary);
    background-color: #fef887;
    border: calc(2 * var(--px)) solid var(--color-primary);
    border-radius: 100px;
    padding-block: 0.2em;
    width: calc(285 * var(--px));
  }
  &::after {
    content: "";
    width: calc(50 * var(--px));
    height: calc(50 * var(--px));
    background-color: var(--color-primary);
    position: absolute;
    top: calc(100% - 3px);
    left: 50%;
    transform: translateX(-50%);
    clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
  }
}

@media screen and (max-width: 1079px) {
  .parts45__title {
    margin-top: calc(50 * var(--px));
    padding-block: 1.1em 0.5em;
    .sub1 {
      width: calc(400 * var(--px));
      font-size: calc(37 * var(--px));
    }
  }
}
.parts45__list {
  margin-top: calc(80 * var(--px));
  border: calc(3 * var(--px)) solid var(--color-primary);
  border-radius: calc(10 * var(--px));
  padding: calc(30 * var(--px));
}

.parts45__item {

  &:not(:first-child) {
    margin-top: calc(40 * var(--px));
  }
  position: relative;
  z-index: 1;

  &::after {
    content: "";
    width: 100%;
    height: 1px;
    background-color: var(--color-primary);
    position: absolute;
    top: calc(20 * var(--px));
    right: 0;
    z-index: -1;
  }
}

.parts45__item-title {
  font-size: calc(32 * var(--px));
  font-weight: 700;
  line-height: 1.3;
  font-feature-settings: "palt";
  text-align: left;
  color: var(--color-primary);
  width: fit-content;
  background-color: var(--color-base);
  padding-right: 0.3em;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: calc(10 * var(--px));

  &::before {
    content: "";
    background-image: url(../images/icon-check-primary.svg);
    width: calc(30 * var(--px));
    aspect-ratio: 1/1;
    display: inline-block;

  }
}

.parts45__item-text {
  margin-top: calc(20 * var(--px));
}
.red-yellow-line {
  font-weight: 700;
  color: #d60000;
  text-decoration: none;
  background: linear-gradient(transparent 80%, #ffd84d 80%);
}
/* 汎用マージンボトム */
.mb2em {
  margin-bottom: 2em;
}
@media screen and (max-width: 1079px) {
  .parts09__title,
  .parts21__title {
    padding-top: 40px;
  }
  .parts22__title {
    padding-top: 60px;
  }}