.awash__btn {
  max-width: 442px;
  width: 95%;
  height: 66px;
  border-radius: 33px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
  background-color: #158fcb;
  font-weight: bold;
  font-size: 2rem;
  margin-right: auto;
  margin-left: auto;
  margin-top: 65px;
  position: relative;
  left: -12px;
  padding-left: 17px;
}

.awash__intro {
  position: relative;
}

.awash__problems {
  font-weight: bold;
  background-color: #d7e2e8;
  margin-top: 19px;
  padding: 76px 0px 170px;
}

.awash__problems .headline {
  font-size: 3.6rem;
  text-align: center;
  color: #158fcb;
  margin-left: 24px;
}

.awash__problems ul {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  justify-content: space-between;
  grid-column-gap: 33px;
  grid-row-gap: 50px;
  margin-top: 86px;
  grid-column-gap: clamp(20px, 2vw, 33px);
}

.awash__problems ul figure {
  position: relative;
}

.awash__problems ul figure figcaption {
  position: absolute;
  left: 50%;
  bottom: 100%;
  transform: translate(-50%, 6px);
  z-index: 1;
  font-size: 2.5rem;
}

.awash__problems ul figure figcaption::after {
  width: 50px;
  height: 80px;
  left: 50%;
  top: -19px;
  transform: translateX(-50%);
}

.awash__problems ul figure span {
  display: block;
  border-radius: 50%;
  overflow: hidden;
}

.awash__problems ul p {
  width: 100%;
  text-align: center;
  font-size: 2.2rem;
  line-height: 1.2727272727;
  margin-top: 20px;
  color: #158fcb;
}

.awash__solved {
  font-weight: bold;
}

.awash__strong {
  position: relative;
  overflow: hidden;
  padding: 125px 0px 141px;
}

.awash__strong .title__headline small {
  color: white;
}

.awash__other {
  padding: 46px 0px 44px;
}

.awash__other ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-row-gap: 37px;
  grid-column-gap: 40px;
  color: white;
  font-weight: bold;
  grid-row-gap: clamp(20px, 3.5vw, 40px);
  grid-column-gap: clamp(20px, 3.5vw, 37px);
}

.awash__other ul figure {
  position: relative;
}

.awash__other ul figure::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.45);
}

.awash__other ul figure img {
  min-height: 290px;
  object-fit: cover;
  object-position: center center;
}

.awash__other ul li {
  position: relative;
}

.awash__other ul li>p {
  position: absolute;
  z-index: 2;
  width: 100%;
  text-align: right;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.6666666667;
  opacity: 0.75;
  bottom: 0px;
  right: 0px;
  padding: 13px 26px;
}

.awash__other ul li dl {
  position: absolute;
  top: 123px;
  width: 100%;
  z-index: 2;
  top: clamp(40px, 50vw - 760px, 123px);
}

.awash__other ul li dt {
  font-size: 6rem;
  line-height: 1;
}

.awash__other ul li dd {
  font-size: 2rem;
  line-height: 1.5;
  margin-top: 23px;
}

.awash__other ul li:nth-child(odd) dl {
  right: 0px;
  max-width: 313px;
  max-width: clamp(240px, 50vw - 230px, 313px);
}

.awash__other ul li:nth-child(even) dl {
  max-width: 100%;
  padding-left: 99px;
  padding-left: clamp(40px, 50vw - 400px, 99px);
}

.awash__lineup {
  background-color: #158fcb;
  padding: 66px 0px 60px;
}

.awash__lineup ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 25px;
  margin-top: 60px;
}

.awash__lineup ul figure {
  position: relative;
}

.awash__lineup ul figcaption {
  position: absolute;
  bottom: 15px;
  left: 0px;
  width: 100%;
  z-index: 1;
  font-weight: bold;
  font-size: 2.5rem;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

.awash__lineup ul figcaption small {
  font-size: 1.6rem;
  margin-left: 11px;
  margin-top: 3px;
}

.awash__lineup .title__headline span {
  color: white;
}

.awash__lineup .title__headline small {
  color: #1a4b64;
}

.awash__lineup .txt-notice {
  text-align: right;
  width: 100%;
  font-size: 1.4rem;
  color: white;
  position: relative;
  left: 13px;
  margin-top: 28px;
}

.awash__final {
  padding: 60px 0px 90px;
}

.title__headline {
  font-weight: bold;
  line-height: 1;
  text-align: center;
}

.title__headline span {
  font-size: 4.5rem;
}

.title__headline small {
  font-size: 2.5rem;
  margin-top: 20px;
  display: inline-block;
}

.icon-drop {
  font-family: var(--font-hansan-serif);
  color: white;
  font-weight: bold;
  line-height: 1;
  position: absolute;
}

.icon-drop::after {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../images/awash/icon_drop.png);
  top: 0px;
  z-index: -1;
  left: 50%;
  transform: translate(-50%, -28%);
}

.awash__feature {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.awash__feature .txt-box {
  display: block;
  line-height: 39px;
  border-radius: 20px;
  background-color: #00b3e6;
  color: white;
  max-width: 443px;
  width: 100%;
  text-align: center;
  font-size: 2.5rem;
  margin-left: 10px;
  padding-left: 8px;
}

.awash__feature .txt-box small {
  letter-spacing: -0.3em;
}

.awash__feature img {
  display: block;
  margin-top: 6px;
}

.headline__primary {
  font-weight: bold;
  color: #158fcb;
  text-align: center;
  font-family: var(--font-hansan-serif);
}

.headline__primary small {
  color: black;
}

.intro__headline {
  font-size: 5rem;
  margin-top: 81px;
  margin-left: -55px;
  margin-left: clamp(-55px, 1000px - 80vw, 0px);
  font-size: clamp(4rem, 5vw, 5rem);
}

.intro__headline small {
  font-size: 3.5rem;
}

.intro__feature {
  margin-top: 219px;
  display: table;
  position: relative;
  z-index: 2;
}

.intro__feature dt {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.intro__feature dt>*:first-child {
  margin-left: -10px;
}

.intro__feature dt>*:last-child {
  margin-top: 5px;
}

.intro__feature dd {
  margin-top: 94px;
}

.intro__img {
  position: absolute;
  left: calc(50% - 130px);
  top: 13px;
  width: max-content;
  z-index: -1;
  left: clamp(0px, 70vw - 400px, 50% - 130px);
}

.intro__passage {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: -69px;
}

.intro__passage figure {
  width: 100%;
}

.intro__passage figure img {
  min-height: 620px;
  object-fit: cover;
  object-position: center;
  width: 100%;
}

.intro__passage dl {
  position: absolute;
  max-width: 1006px;
  width: 95%;
  padding-top: 106px;
  padding-top: clamp(60px, 60vw - 1000px, 106px);
}

.intro__passage dl dt {
  color: #158fcb;
  font-family: var(--font-hansan-serif);
  font-weight: bold;
  line-height: 1;
  display: flex;
  align-items: baseline;
}

.intro__passage dl dt .txt-num {
  font-size: 14rem;
}

.intro__passage dl dt .txt-num span {
  letter-spacing: -0.1em;
}

.intro__passage dl dt small {
  font-size: 5rem;
  margin-left: -11px;
}

.intro__passage dl dt .txt-word {
  font-size: 10rem;
  display: inline-block;
  position: relative;
  top: -20px;
  margin-left: 10px;
}

.intro__passage dl dt sub {
  position: absolute;
  font-size: 4rem;
  white-space: nowrap;
  left: 50%;
  transform: translate(-50%);
  top: calc(100% + 7px);
}

.intro__passage dl dd {
  max-width: 520px;
  padding-left: 9px;
  margin-top: 56px;
}

.intro__passage dl dd span {
  display: block;
  font-size: 5.2rem;
  color: #ff6600;
  font-weight: bold;
  position: relative;
  font-family: var(--font-hansan-serif);
  line-height: 1;
  z-index: 0;
}

.intro__passage dl dd span::after {
  content: attr(data-txt);
  line-height: inherit;
  position: absolute;
  font-size: inherit;
  font-family: inherit;
  font-weight: inherit;
  top: 0px;
  left: 0px;
  white-space: nowrap;
  /* text-stroke: 8px white; */
  -webkit-text-stroke: 8px white;
  z-index: -1;
  filter: drop-shadow(3px 3px 6px rgba(0, 0, 0, 0.16));
}

.intro__passage dl dd p {
  font-size: 1.8rem;
  font-weight: 500;
  margin-top: 46px;
  line-height: 1.6666666667;
}

.solved__title {
  position: relative;
  text-align: center;
  margin-top: -35px;
  padding-left: 14px;
  z-index: 0;
}

.solved__title::after {
  content: "";
  width: 100%;
  left: 0px;
  bottom: -35px;
  position: absolute;
  z-index: -1;
  background-color: #158fcb;
  height: 162px;
}

.solved__title span {
  font-size: 3.6rem;
  font-weight: bold;
  color: white;
  line-height: 1;
  margin-top: 10px;
  display: inline-block;
  margin-top: 27px;
  margin-left: 10px;
}

.solved__content {
  display: flex;
  justify-content: flex-end;
  padding-top: 111px;
  padding-top: clamp(60px, 50vw - 300px, 111px);
}

.solved__inner {
  max-width: 620px;
  position: relative;
  left: 4px;
  width: 60%;
  min-width: 510px;
}

.solved__inner dl {
  margin-top: 60px;
  padding-left: 18px;
  margin-top: clamp(40px, 50vw - 380px, 60px);
}

.solved__inner dl dt {
  font-size: 3.6rem;
  line-height: 1;
}

.solved__inner dl dd {
  font-size: 1.8rem;
  line-height: 1.9444444444;
  margin-top: 29px;
}

.solved__head figure {
  width: 100%;
  text-align: center;
  padding-right: 20px;
}

.solved__head ul {
  display: flex;
  color: #28a4e1;
  font-size: 5.9rem;
  margin-top: -42px;
}

.solved__head ul li {
  border-radius: 7px;
  background-color: white;
  width: 100%;
  height: 86px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 5px;
}

.solved__head ul li:not(:last-child) {
  margin-right: 15px;
}

.solved__head p {
  font-size: 3.6rem;
  color: #28a4e1;
  line-height: 1;
  white-space: nowrap;
  margin-top: 20px;
  margin-left: 6px;
  font-size: clamp(2.8rem, 3vw, 3.6rem);
}

.solved__head p span {
  font-size: 4.5rem;
  font-size: clamp(3.7rem, 3vw, 4.5rem);
}

.solved__lastline {
  font-size: 3.6rem;
  line-height: 1.1111111111;
  text-align: center;
  color: white;
  margin-top: 136px;
  padding-bottom: 31px;
  margin-top: clamp(80px, 50vw - 320px, 136px);
  font-size: clamp(3rem, 4.5vw, 3.6rem);
}

.solved__main {
  background-image: url(../images/awash/img_solved_bg.jpg);
  margin-top: 35px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 36% 50%;
}

.solved__list {
  display: flex;
  background-color: #98c6c6;
}

.solved__list li {
  width: 100%;
}

.solved__list li figcaption {
  height: 78px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #98c6c6;
  color: white;
  font-weight: bold;
  font-size: 2.5rem;
  line-height: 1.6;
  font-size: clamp(2rem, 2.5vw, 2.5rem);
}

.strong__bg {
  position: absolute;
  z-index: -1;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  top: 254px;
  width: 100%;
  height: 100%;
  min-width: 1920px;
}

.strong__bg::after,
.strong__bg::before {
  content: "";
  display: block;
  min-height: max(2039px, 106.1979vw);
  width: 100%;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../images/awash/img_strong_bg.jpg);
}

.strong__bg::after {
  transform: rotate(180deg);
}

.strong__img figure {
  position: relative;
  max-width: 579px;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  border-radius: 50%;
  overflow: hidden;
  left: -4px;
}

.strong__img figure span {
  display: block;
  height: 100%;
  width: 100%;
  background-color: white;
  text-align: center;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 1;
}

.strong__img figure::after {
  content: "";
  display: block;
  width: 100%;
  height: 0px;
  padding-bottom: 100%;
}

.strong__list>p {
  margin-top: 22px;
}

.strong__list>p span {
  color: #387c9e;
}

.strong__list>p small {
  margin-left: 21px;
}

.strong__list>ul {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  grid-column-gap: 25px;
  grid-row-gap: 150px;
  margin-top: 172px;
}

.strong__list>ul li {
  position: relative;
  background-color: white;
  padding: 78px 20px 48px;
}

.strong__list>ul li:first-child dt {
  font-size: 3rem;
}

.strong__list>ul li>span {
  z-index: 1;
  font-size: 4.8rem;
  left: 50%;
  top: -74px;
  transform: translateX(-50%);
}

.strong__list>ul li>span::after {
  width: 123px;
  height: 178px;
}

.strong__list>ul li dl {
  max-width: max(300px, 100% - 20px);
  margin: 0px auto;
}

.strong__list>ul li dt {
  font-size: 3.6rem;
  font-weight: bold;
  text-align: center;
  color: #158fcb;
  min-height: 82px;
  line-height: 1;
}

.strong__list>ul li dt small {
  font-size: 2rem;
  display: inline-block;
  margin-bottom: 10px;
}

.strong__list>ul li dd {
  margin-top: 27px;
  line-height: 1.5;
}

.strong__voice {
  margin-top: 123px;
}

.strong__voice>p {
  padding-left: 57px;
}

.strong__voice>p span {
  color: #1a4b64;
}

.strong__voice ul {
  margin-top: 41px;
  padding-left: 12px;
}

.strong__voice ul li {
  display: flex;
  align-items: center;
}

.strong__voice ul li:not(:last-child) {
  margin-bottom: 28px;
}

.strong__voice ul li figure {
  flex-shrink: 0;
  margin-right: 53px;
}

.strong__voice ul li dl {
  width: 100%;
  border-radius: 10px;
  background-color: #f3f3f3;
  padding: 19px 31px 30px 38px;
  position: relative;
  z-index: 0;
}

.strong__voice ul li dl::before,
.strong__voice ul li figure::before {
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../images/awash/icon_shape.svg);
  width: 49.8px;
  height: 50px;
  z-index: -1;
}

.strong__voice ul li dl::before {
  content: "";
  right: calc(100% - 7px);
  top: 43%;
}

.strong__voice ul li dt {
  font-size: 1.8rem;
  font-weight: bold;
  color: white;
  text-align: center;
  background-color: #158fcb;
  line-height: 1;
  padding: 5px 0px 8px;
}

.strong__voice ul li dd {
  margin-top: 17px;
  line-height: 1.5;
}

.strong__voice ul li dd p {
  color: #158fcb;
  text-align: center;
  line-height: 1.5;
  font-size: 2rem;
  margin-bottom: 7px;
  font-weight: bold;
}

.final__main>figure {
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  width: calc(100% + 27px);
  width: calc(100% + clamp(0px, 50vw - 400px, 27px));
}

.final__head {
  position: relative;
  z-index: 2;
  margin-top: -54px;
}

.final__head>p {
  font-size: 3.7rem;
}

.final__head>p small {
  font-size: 2.6rem;
}

.final__head figure {
  text-align: center;
  margin-top: 8px;
  padding-right: 19px;
}

.final__content {
  display: flex;
  margin-right: auto;
  max-width: 1040px;
  margin-left: auto;
  margin-top: 64px;
  align-items: flex-start;
}

.final__content dl:first-child {
  flex-shrink: 0;
  margin-right: 64px;
  margin-right: clamp(30px, 50vw - 440px, 64px);
  max-width: 50%;
}

.final__content dl:last-child dt {
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 1.1111111111;
  margin-top: 34px;
}

.final__content dl:last-child dd {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.6666666667;
  margin-top: 32px;
}

@media (min-width: 768px) and (max-width: 1100px) {
  .intro__passage {
    margin-top: 196px;
  }

  .intro__passage dl {
    top: -35%;
 /*    transform: translateY(80%); */
  }

  .intro__passage dl dd {
    max-width: unset;
  }
}

@media screen and (max-width: 768px) {
  .awash__btn {
    font-size: 1.6rem;
    padding-left: 0px;
    width: 90%;
    margin-top: 40px;
    height: 50px;
    position: static;
  }

  .awash__problems {
    padding: 40px 0px 90px;
  }

  .awash__problems .headline {
    font-size: 2.5rem;
    line-height: 1.5;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-left: 0px;
  }

  .awash__problems ul {
    --w: 686px;
    --n: 4;
    --m: 2;
    grid-column-gap: 15px;
    grid-row-gap: 60px;
    grid-template-columns: repeat(auto-fill, minmax(165px, 1fr));
    grid-template-columns: repeat(auto-fit,
        minmax(clamp(100%/ (var(--n) + 1) + 0.1%,
            (var(--w) - 100vw) * 1000,
            100%/ (var(--m) + 1) + 0.1%),
          1fr));
  }

  .awash__problems ul p {
    font-size: 1.6rem;
    margin-top: 15px;
  }

  .awash__strong {
    padding: 40px 0px 70px;
  }

  .awash__other {
    padding: 20px 0px;
  }

  .awash__other ul {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    grid-gap: 20px;
  }

  .awash__other ul figure img {
    min-height: 220px;
  }

  .awash__other ul li>p {
    font-size: 1.4rem;
    padding: 10px;
  }

  .awash__other ul li dl {
    top: 40px;
  }

  .awash__other ul li dt {
    font-size: 3rem;
  }

  .awash__other ul li dd {
    font-size: 1.6rem;
    margin-top: 15px;
  }

  .awash__other ul li:nth-child(odd) dl {
    max-width: 180px;
  }

  .awash__other ul li:nth-child(even) dl {
    padding-left: 30px;
  }

  .awash__lineup {
    padding: 30px 0px;
  }

  .awash__lineup ul {
    grid-gap: 20px;
    margin-top: 30px;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  }

  .awash__lineup ul figcaption {
    font-size: 1.8rem;
    bottom: 10px;
  }

  .awash__lineup ul figcaption small {
    font-size: 1.2rem;
    margin-left: 5px;
  }

  .awash__lineup .txt-notice {
    position: static;
    text-align: left;
    margin-top: 15px;
  }

  .awash__final {
    padding: 30px 0px 60px;
  }

  .title__headline span {
    font-size: 3rem;
  }

  .title__headline small {
    font-size: 1.8rem;
    margin-top: 10px;
  }

  .awash__feature .txt-box {
    line-height: 1;
    font-size: 1.8rem;
    padding: 5px 0px 9px;
    margin-left: 0px;
  }

  .headline__primary {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: baseline;
  }

  .intro__headline {
    margin-top: 40px;
    font-size: 3rem;
    line-height: 1.5;
    font-size: clamp(2.7rem, 7.3vw, 3rem);
  }

  .intro__headline small {
    font-size: 2rem;
  }

  .intro__feature {
    margin-top: -20px;
    display: block;
  }

  .intro__feature dt>*:last-child {
    margin-top: 0px;
    max-width: 260px;
  }

  .intro__feature dt>*:first-child {
    max-width: 160px;
  }

  .intro__feature dd {
    margin-top: 40px;
  }

  .intro__img {
    position: relative;
    left: auto;
    top: auto;
    margin-top: -8%;
    width: 100%;
  }

  .intro__img img {
    transform: translateX(9%);
  }

  .intro__passage {
    margin-top: 0px;
    display: block;
    margin-top: -120px;
    margin-top: clamp(-120px, 600px - 100vw, 0px);
  }

  .intro__passage figure {
    position: relative;
    width: 100%;
    z-index: -1;
    margin-top: -20%;
    /* margin-top: clamp(-120px, 600px - 100vw, 0px); */
  }

  .intro__passage figure img {
    min-height: 0px;
    height: 100%;
    width: 100%;
  }

  .intro__passage dl {
    position: relative;
    left: auto;
    padding: 30px 15px 0px;
    width: 100%;
    /* top: 110px; */
    top: 14.33vw;
    top: clamp(0px, 100vw - 600px, 110px);
  }

  .intro__passage dl dt .txt-num {
    font-size: 7rem;
  }

  .intro__passage dl dt small {
    font-size: 2.5rem;
    margin-left: 0px;
  }

  .intro__passage dl dt .txt-word {
    font-size: 5rem;
    top: -9px;
  }

  .intro__passage dl dt sub {
    font-size: 2rem;
  }

  .intro__passage dl dd {
    margin-top: 30px;
    max-width: 400px;
    padding-left: 0px;
  }

  .intro__passage dl dd span {
    font-size: 3rem;
  }

  .intro__passage dl dd p {
    font-size: 1.4rem;
    margin-top: 20px;
  }

  .solved__title {
    padding-left: 0px;
    margin-top: -15px;
  }

  .solved__title img {
    max-width: 280px;
  }

  .solved__title::after {
    height: 100%;
    bottom: -15px;
  }

  .solved__title span {
    font-size: 2rem;
    margin-left: 0px;
    margin-top: 10px;
  }

  .solved__content {
    display: block;
    padding-top: 60px;
  }

  .solved__inner {
    min-width: 0px;
    margin: 0px auto;
    width: 100%;
  }

  .solved__inner dl {
    padding-left: 0px;
    margin-top: 30px;
  }

  .solved__inner dl dt {
    font-size: 2.4rem;
  }

  .solved__inner dl dd {
    font-size: 1.6rem;
    margin-top: 20px;
  }

  .solved__head figure img {
    max-width: 250px;
  }

  .solved__head ul {
    font-size: 3rem;
    margin-top: -20px;
  }

  .solved__head ul li {
    height: 50px;
  }

  .solved__head p {
    font-size: 2.4rem;
    white-space: normal;
    text-align: center;
    line-height: 1.4;
    margin-left: 0px;
    display: flex;
    justify-content: center;
    align-items: baseline;
    flex-wrap: wrap;
  }

  .solved__head p span {
    font-size: 3rem;
  }

  .solved__head p small {
    white-space: nowrap;
  }

  .solved__lastline {
    font-size: 2.4rem;
    line-height: 1.4;
    margin-top: 60px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    white-space: nowrap;
  }

  .solved__main {
    margin-top: 15px;
    position: relative;
    background-position: 100% 50%;
  }

  .solved__list {
    flex-wrap: wrap;
    justify-content: center;
  }

  .solved__list li {
    max-width: 50%;
    flex: 210px;
  }

  .solved__list li figcaption {
    font-size: 1.8rem;
    height: 50px;
  }

  .strong__bg {
    top: 100px;
    min-width: 1200px;
  }

  .strong__bg::after,
  .strong__bg::before {
    min-height: 1274px;
  }

  .strong__img figure {
    max-width: 260px;
    left: 0px;
  }

  .strong__list>p {
    margin-top: 15px;
  }

  .strong__list>p small {
    margin-left: 0px;
  }

  .strong__list>ul {
    grid-column-gap: 15px;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    grid-row-gap: 70px;
    margin-top: 90px;
  }

  .strong__list>ul li {
    padding: 40px 15px 30px;
  }

  .strong__list>ul li:first-child dt {
    font-size: 2rem;
  }

  .strong__list>ul li>span {
    font-size: 3rem;
    top: -35px;
  }

  .strong__list>ul li>span::after {
    width: 62px;
    height: 90px;
    transform: translate(-50%, -25%);
  }

  .strong__list>ul li dt {
    font-size: 2.4rem;
    min-height: 57px;
  }

  .strong__list>ul li dt small {
    font-size: 1.6rem;
  }

  .strong__list>ul li dd {
    margin-top: 20px;
  }

  .strong__voice {
    margin-top: 60px;
  }

  .strong__voice>p {
    padding-left: 0px;
  }

  .strong__voice ul {
    padding-left: 0px;
    margin-top: 30px;
  }

  .strong__voice ul li:not(:last-child) {
    margin-bottom: 20px;
  }

  .strong__voice ul li dl {
    padding: 15px 20px;
  }

  .strong__voice ul li dt {
    font-size: 1.6rem;
  }

  .strong__voice ul li dd {
    margin-top: 12px;
  }

  .strong__voice ul li dd p {
    font-size: 1.8rem;
    margin-bottom: 10px;
    text-align: left;
  }

  .final__main>figure {
    width: 100%;
    display: block;
    transform: translateX(11%);
  }

  .final__head>p {
    font-size: 3rem;
    line-height: 1.4;
    font-size: clamp(2.7rem, 7.3vw, 3rem);
  }

  .final__head>p small {
    font-size: 2rem;
  }

  .final__head figure {
    padding-right: 0px;
  }

  .final__head figure img {
    max-width: 300px;
    width: 100%;
  }

  .final__content {
    margin-top: 30px;
    width: calc(100% + 30px);
    flex-wrap: wrap;
  }

  .final__content dl {
    margin-right: 30px !important;
    flex: 290px;
    max-width: 100% !important;
    width: 100% !important;
  }

  .final__content dl:last-child dt {
    font-size: 2.4rem;
  }

  .final__content dl:last-child dd {
    font-size: 1.6rem;
    margin-top: 15px;
  }

  .awash__problems ul figure figcaption::after {
    width: 40px;
    height: 60px;
    top: -15px;
  }

  .awash__problems ul figure figcaption {
    font-size: 2rem;
    transform: translate(-50%, 0px);
  }

  .strong__voice ul li figure {
    max-width: calc(100% - 405px);
  }
}

@media screen and (max-width: 550px) {
  .strong__voice ul li {
    display: block;
  }

  .strong__voice ul li figure {
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
    display: table;
  }

  .strong__voice ul li dl {
    margin-top: 15px;
  }

  .strong__voice ul li dl::before {
    display: none;
  }

  .strong__voice ul li figure {
    position: relative;
    z-index: 0;
  }

  .strong__voice ul li figure::before {
    content: "";
    top: 125px;
    transform: rotate(73deg);
    left: 0px;
  }

  .solved__list {
    display: block;
  }

  .solved__list li {
    max-width: 100%;
  }

  .intro__passage dl {
    top: 0px;
  }
}