/* .ttlWrap */
.under {
  padding-top: 16.5rem;
  background: var(--color-gray);
}
.under .ttlWrap {
  width: 120.4rem;
  margin: 0 auto 4.2rem;
}
.under .ttlWrap .ttl {
  font-size: 1.8rem;
  font-weight: var(--bold);
}
.under .ttlWrap .ttl .en {
  display: block;
  font-size: 9rem;
  font-weight: var(--bold);
  color: var(--color-blue);
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .under .ttlWrap {
    width: 34.5rem;
    margin: 0 auto;
  }
  .under .ttlWrap .ttl {
    font-size: 1.5rem;
  }
  .under .ttlWrap .ttl .en {
    font-size: 4.5rem;
  }
}




/* .leadWrap */
.under .leadWrap {
  position: relative;
  margin: 4.2rem 2.6rem 0;
  padding: 9.6rem 0 22.6rem;
  background: var(--color-blue);
  overflow: hidden;
}
.under .leadWrap::before,
.under .leadWrap::after {
  position: absolute;
  content: "";
  display: block;
  width: 40.9rem;
  height: 40.9rem;
  border-radius: 100%;
  opacity: 0.26;
  pointer-events: none;
}
.under .leadWrap::before {
  border: 2px solid var(--color-white);
  right: -14.2rem;
  bottom: -19.8rem;
  animation: round 12s linear infinite;
}
.under .leadWrap::after {
  border: 5px solid var(--color-white);
  right: -12.5rem;
  bottom: -19.8rem;
  animation: round2 8s linear infinite;
}
.under .leadWrap .in > *:last-of-type {
  margin-bottom: 0;
}
.under .leadWrap .ttl_h2 {
  display: flex;
  align-items: center;
  padding-bottom: 2.3rem;
  margin-bottom: 8rem;
  border-bottom: 1px solid var(--color-white);
  font-size: 1.8rem;
  font-weight: var(--bold);
  color: var(--color-white);
  line-height: 1;
}
.under .leadWrap .ttl_h2 .ja {
  padding-right: 0.9rem;
  font-size: 3.8rem;
  font-weight: var(--medium);
  color: var(--color-white);
}
.under .leadWrap .lead {
  margin: 8rem auto 4.3rem;
  font-size: 3.2rem;
  font-weight: var(--bold);
  text-align: center;
  color: var(--color-white);
  line-height: 1.875;
}
.under .leadWrap .txt {
  width: 76rem;
  margin: 4.3rem auto;
  font-size: 1.8rem;
  font-weight: var(--medium);
  color: var(--color-white);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .under .leadWrap {
    width: 34.5rem;
    margin: 4.2rem auto;
    padding: 5.6rem 0 16.6rem;
  }
  .under .leadWrap .in {
    padding: 0 2.5rem;
  }
  .under .leadWrap .txt {
    width: auto;
  }
  .under .leadWrap .ttl_h2 {
    display: block;
    font-size: 1.3rem;
    font-weight: var(--regular);
  }
  .under .leadWrap .ttl_h2 .ja {
    display: block;
    padding: 0;
    font-size: 2.5rem;
    line-height: 1.5;
  }
  .under .leadWrap .ttl_h2 span::before {
    content: none;
  }
  .under .leadWrap .lead {
    margin: 5rem -2rem 2.3rem;
    font-size: 2rem;
  }
  .under .leadWrap .txt {
    margin: 2.3rem auto;
    font-size: 1.4rem;
  }
  .under .leadWrap::before,
  .under .leadWrap::after {
    width: 36.9rem;
    height: 36.9rem;
  }
  .under .leadWrap::after {
    right: -20.5rem;
    bottom: -20.8rem;
  }
  .under .leadWrap::before {
    right: -22.2rem;
    bottom: -22.8rem;
  }
}



/* .detailWrap */
.detailWrap {
  padding-bottom: 14.9rem;
}
.detailWrap .flex {
  counter-reset: number 0;
}
.detailWrap .flex .item {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  margin: 13.4rem auto;
}
.detailWrap .flex .item:first-of-type {
  align-items: flex-end;
  margin-top: -4.1rem;
}
.detailWrap .flex .item:last-of-type {
  margin-bottom: 12.5rem;
}
.detailWrap .flex .item.right {
  flex-direction: row-reverse;
}
.detailWrap .flex .item.wide {
  display: block;
}
.detailWrap .flex .item > * {
  width: 56.7rem;
}
.detailWrap .flex .item.wide > * {
  width: 100%;
}
.detailWrap .flex .ttl_h3 {
  position: relative;
  font-size: 1.8rem;
  font-weight: var(--medium);
  color: var(--color-blue);
  letter-spacing: 0.08em;
}
.detailWrap .flex .ttl_h3::before {
  position: absolute;
  top: 50%;
  left: 0;
  counter-increment: number 1;  
  content: "0" counter(number) " "; 
  display: block;
  font-size: 2.6rem;
  font-family: var(--font-en);
  font-weight: var(--regular);
  letter-spacing: 0.07em;
  color: var(--color-blue);
  transform: translateY(-50%);
}
.detailWrap .flex .ttl_h3::after {
  position: absolute;
  top: 50%;
  left: 4.7rem;
  content: "";
  display: block;
  width: 0.78rem;
  height: 1px;
  background: var(--color-blue);
  border: 5px;
  transform: translateX(-50%);
}
.detailWrap .flex .ttl_h3 span {
  padding-left: 6.7rem;
}
.detailWrap .flex .lead {
  margin: 5.6rem auto 5.2rem;
  font-size: 2.4rem;
  font-weight: var(--bold);
  line-height: 1.91;
}
.detailWrap .flex .txt {
  line-height: 2;
  margin: 5.2rem auto;
}
.detailWrap .flex .item .txtWrap > *:last-of-type {
  margin-bottom: 0;
}
.detailWrap .flex .item .imgWrap {
  position: relative;
  height: 57.6rem;
  border-radius: 0.8rem;
  overflow: hidden;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
.detailWrap .flex .item .imgWrap img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.detailWrap .flex .item.wide .lead {
  margin-bottom: 3.5rem;
}
.detailWrap .flex .item.wide .txt {
  margin-top: 3.9rem;
}
.detailWrap .flex .item.wide .imgWrap {
  height: 31.2rem;
  margin: 3.5rem auto 3.9rem;
}
.under .btnWrap {
  display: flex;
  justify-content: center;
  align-items: center;
}
.under .btnWrap .moreBtn {
  margin: 0 3.5rem;
}
@media screen and (max-width: 767px) {
  .detailWrap {
    padding-bottom: 10.9rem;
  }
  .detailWrap .flex .item {
    display: block;
  }
  .detailWrap .flex .item > * {
    width: 100%;
  }
  .detailWrap .flex .item {
    margin: 10.9rem auto !important;
  }
  .detailWrap .flex .item:last-of-type {
    margin-bottom: 0 !important;
  }
  .detailWrap .flex .lead {
    margin: 3.2rem auto;
    font-size: 1.8rem;
  }
  .detailWrap .flex .txt {
    margin: 3.2rem auto;
  }
  .detailWrap .flex .item .imgWrap {
    height: 34.6rem;
    margin-top: 3.2rem;
  }
  .detailWrap .flex .ttl_h3 {
    font-size: 1.6rem;
  }
  .detailWrap .flex .ttl_h3::before {
    font-size: 2.2rem;
  }
  .detailWrap .flex .ttl_h3::after {
    left: 4.2rem;
  }
  .detailWrap .flex .ttl_h3 span {
    padding-left: 6rem;
  }
  .detailWrap .flex .item.wide .imgWrap {
    height: 34.6rem;
    margin: 3.2rem auto;
  }
  .detailWrap .flex .item.wide .txt {
    margin-top: 3.2rem;
  }
  .under .btnWrap {
    flex-wrap: wrap;
    margin-top: 5rem;
  }
  .under .btnWrap .moreBtn {
    width: 27rem;
    margin: 1rem auto;
  }
}


/* .serviceWrap */
.under .serviceWrap {
  padding: 7.1rem 0 12.8rem;
  background: var(--color-white);
}
.under .serviceWrap .ttl_h2 {
  font-size: 1.4rem;
  text-align: center;
}
.under .serviceWrap .ttl_h2 span {
  display: block;
  padding: 0;
  font-size: 4.2rem;
  line-height: 1.2;
}
.under .serviceWrap .ttl_h2 span::before {
  content: none;
}
.under .serviceWrap .list {
  margin-top: 4.9rem;
}
@media screen and (max-width: 767px) {
  .under .serviceWrap {
    padding-bottom: 10.9rem;
  }
  .under .serviceWrap .ttl_h2 span {
    font-size: 3.2rem;
  }
  .under .serviceWrap .ttl_h2 {
    font-size: 1.3rem;
  }
}