#lead .text {
  text-align: center;
}
@media (768px <= width) {
  #lead .text {
    width: 90rem;
    margin: 0 auto;
    font-size: 1.6rem;
  }
}
#lead .serviceLink__item {
  background-color: var(--clr-bg);
}

#explanation {
  padding-top: 0;
}

.explanation {
  display: grid;
  gap: 6.4rem 0;
}
.explanation__item {
  line-height: 1.44;
  display: grid;
  gap: 4rem;
}
@media (768px <= width) {
  .explanation__item {
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
  }
  .explanation__item:nth-child(2n) .explanation__item-detail {
    order: 2;
  }
  .explanation__item:nth-child(2n) .explanation__item-image {
    order: 1;
  }
}
.explanation__item-label {
  font-size: 1.8rem;
  font-weight: 700;
}
@media (768px <= width) {
  .explanation__item-label {
    font-size: 2.4rem;
  }
}
.explanation__item-text {
  margin-top: 1.6rem;
  line-height: 1.8;
}
@media (768px <= width) {
  .explanation__item-text {
    font-size: 1.6rem;
  }
}
@media (768px <= width) {
  .lead {
    width: 100rem;
    margin-left: auto;
    margin-right: auto;
  }
}
.lead__text {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.44;
  text-align: center;
}
@media (768px <= width) {
  .lead__text {
    font-size: 2.4rem;
  }
}
.lead__txt {
  text-align: center;
  line-height: 1.44;
  margin-top: 1.6rem;
}
@media (768px <= width) {
  .lead__txt {
    font-size: 1.6rem;
  }
}
.lead__txt + .lead__available {
  margin-top: 1.6rem;
}
.lead__points {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(16 / var(--spSize) * 100vw);
  margin-top: calc(16 / var(--spSize) * 100vw);
}
@media (768px <= width) {
  .lead__points {
    grid-template-columns: repeat(4, 1fr);
    gap: 1.6rem;
    margin-top: 3.2rem;
  }
}
.lead__points-item {
  background-color: var(--clr-bg);
  border-radius: calc(8 / var(--spSize) * 100vw);
  padding: calc(12 / var(--spSize) * 100vw) calc(10 / var(--spSize) * 100vw);
}
@media (768px <= width) {
  .lead__points-item {
    border-radius: 0.8rem;
    padding: 1.2rem 1.6rem;
  }
}
.lead__points-item-num {
  width: calc(30 / var(--spSize) * 100vw);
  margin: 0 auto;
}
@media (768px <= width) {
  .lead__points-item-num {
    width: 3.8rem;
  }
}
.lead__points-item-text {
  text-align: center;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.44;
  margin-top: calc(4 / var(--spSize) * 100vw);
}
.lead__points-item-text strong {
  color: var(--clr-main);
}
@media (768px <= width) {
  .lead__points-item-text {
    font-size: 2rem;
    margin-top: 0.8rem;
  }
}
.lead__available {
  text-align: center;
  border-bottom: 2px solid var(--clr-main);
  padding: calc(30 / var(--spSize) * 100vw) 0 calc(16 / var(--spSize) * 100vw);
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.44;
  position: relative;
  margin-top: calc(9 / var(--spSize) * 100vw);
}
@media (768px <= width) {
  .lead__available {
    padding: 3rem 0 1.6rem;
    margin-top: 1.1rem;
  }
}
.lead__available::before {
  content: "";
  width: 100%;
  height: calc(15 / var(--spSize) * 100vw);
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  background-color: var(--clr-main);
  --a: 2px;
  clip-path: polygon(0 calc(100% - var(--a)), calc(50% - 1.5rem) calc(100% - var(--a)), 50% 0, calc(50% + 1.5rem) calc(100% - var(--a)), 100% calc(100% - var(--a)), 100% 100%, calc(50% + 1.4rem) 100%, 50% 0.25rem, calc(50% - 1.4rem) 100%, 0 100%, 0 calc(100% - var(--a)));
}
@media (768px <= width) {
  .lead__available::before {
    height: 1.5rem;
  }
}
.lead__available-label {
  color: var(--clr-main);
}
.lead__available-text {
  margin-top: calc(10 / var(--spSize) * 100vw);
}
@media (768px <= width) {
  .lead__available-text {
    margin-top: 1rem;
  }
}
.lead__reservation {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.44;
  text-align: center;
  margin-top: calc(32 / var(--spSize) * 100vw);
}
@media (width < 768px) {
  .lead__reservation span {
    display: none;
  }
}
@media (768px <= width) {
  .lead__reservation {
    font-size: 1.8rem;
    margin-top: 4.8rem;
  }
}
.lead__reservation a {
  margin-top: calc(8 / var(--spSize) * 100vw);
  margin-left: auto;
  margin-right: auto;
  width: calc(217 / var(--spSize) * 100vw);
}
@media (768px <= width) {
  .lead__reservation a {
    margin-top: 0.8rem;
    width: 21.7rem;
  }
}

#point {
  background-color: var(--clr-bg);
  display: grid;
  gap: calc(32 / var(--spSize) * 100vw) 0;
}
@media (768px <= width) {
  #point {
    gap: 4rem;
  }
}

@media (768px <= width) {
  .point {
    width: 100rem;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 27.4rem auto;
    gap: 2.4rem;
    align-items: flex-start;
  }
}
.point__image {
  position: relative;
  padding-top: calc(30 / var(--spSize) * 100vw);
}
@media (768px <= width) {
  .point__image {
    padding-top: 3rem;
  }
}
.point__image-l {
  position: absolute;
  left: 0;
  top: 0;
}
.point__content {
  margin-top: calc(16 / var(--spSize) * 100vw);
  line-height: 1.44;
  display: grid;
  gap: calc(8 / var(--spSize) * 100vw);
}
@media (768px <= width) {
  .point__content {
    margin-top: 0;
    padding-top: 2.4rem;
    gap: 0.8rem;
  }
}
.point__label {
  font-size: 2rem;
  font-weight: 700;
}
@media (768px <= width) {
  .point__label {
    font-size: 2.4rem;
  }
}
.point__text {
  font-size: 1.6rem;
}
.point__coution {
  font-size: 1.4rem;
}

@media (768px <= width) {
  .flow__inner {
    width: 100rem;
    margin: 0 auto;
  }
}
.flow__inner a.button {
  margin-top: calc(40 / var(--spSize) * 100vw);
}
@media (768px <= width) {
  .flow__inner a.button {
    margin: 4rem auto 0;
    width: 29.7rem;
  }
}
.flow__contents {
  display: grid;
  gap: calc(20 / var(--spSize) * 100vw);
}
@media (768px <= width) {
  .flow__contents {
    grid-template: repeat(3, auto)/repeat(6, 1fr);
    gap: 0 1.6rem;
  }
  .flow__contents.column4 {
    grid-template: repeat(3, auto)/repeat(4, 1fr);
  }
}
.flow__item {
  display: grid;
}
@media (width < 768px) {
  .flow__item {
    grid-template-columns: calc(100 / var(--spSize) * 100vw) auto;
    gap: calc(16 / var(--spSize) * 100vw);
    align-items: center;
  }
}
@media (768px <= width) {
  .flow__item {
    text-align: center;
    grid-template-rows: subgrid;
    grid-row: span 3;
  }
}
@media (768px <= width) {
  .flow__item-wrap {
    display: contents;
  }
}
.flow__item-wrap .label {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.44;
}
@media (768px <= width) {
  .flow__item-wrap .label {
    align-self: center;
    margin-top: 1.6rem;
  }
}
.flow__item-wrap .text {
  line-height: 1.6;
  margin-top: calc(5 / var(--spSize) * 100vw);
}
@media (768px <= width) {
  .flow__item-wrap .text {
    margin-top: 0.8rem;
    text-align: left;
  }
}