:root {
  --sectionTop: polygon(0 25px, 25% 0, 75% 50px, 100% 25px, 100% 100%, 0 100%);
  --sectionBtm: polygon(0 25px, 25% 50px, 75% 0, 100% 25px, 100% 100%, 0 100%);
}

.contentWrap .articleTitle .bgWrap {
  background: url("../img/kair_real/titlemv.webp") center center no-repeat;
  background-size: cover;
  height: 470px;
}
.contentWrap .articleTitle + .leadArea {
  position: relative;
  font-size: 0.9em;
  padding: 6em 0em 10.24em;
  line-height: 2;
  text-align: center;
  background: #fff;
}
.contentWrap .articleTitle + .leadArea::before {
  content: "";
  width: 100%;
  height: 54px;
  position: absolute;
  left: 0;
  bottom: calc(100% - 1px);
  background-color: #fff;
  -webkit-clip-path: var(--sectionTop);
          clip-path: var(--sectionTop);
}
.contentWrap .articleTitle + .leadArea h2 {
  margin-bottom: 2.5em;
}
.contentWrap .articleTitle + .leadArea .br {
  display: block;
}
.contentWrap .sectionTitle {
  padding-top: 1.3125em;
}
.contentWrap .sectionTitle[class*=animeBorderTop]::after {
  top: -78px;
}
.contentWrap [class*=bg] [class*=pcDf] {
  align-items: center;
  padding: 0 24px;
}
.contentWrap [class*=bg] [class*=pcDf] p {
  line-height: 1.6;
}
.contentWrap .bgLightGreen {
  position: relative;
}
.contentWrap .bgLightGreen::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: calc(100% - 1px);
  width: 100%;
  height: 54px;
  -webkit-clip-path: var(--sectionTop);
          clip-path: var(--sectionTop);
  background-color: inherit;
}
.contentWrap .bgGreen {
  background-color: #00adaf;
  color: #fff;
  position: relative;
}
.contentWrap .bgGreen::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: calc(100% - 1px);
  width: 100%;
  height: 54px;
  -webkit-clip-path: var(--sectionBtm);
          clip-path: var(--sectionBtm);
  background-color: inherit;
}
.contentWrap .bgGreen .sectionTitle {
  padding-bottom: 1.875em;
  color: #fff;
}
.contentWrap .bgGreen .sectionTitle[class*=animeBorderTopGray]::after {
  background: #323f47;
}
@media screen and (max-width: 767px) {
  :root {
    --sectionTop: polygon(0 66.66%, 30% 0, 72% 100%, 100% 33.33%, 100% 100%, 0 100%);
    --sectionBtm: polygon(0 10%, 30% 100%, 72% 0, 100% 75%, 100% 100%, 0 100%);
  }
  .contentWrap .articleTitle > span span {
    display: inline-block;
  }
  .contentWrap .articleTitle .bgWrap {
    background-image: url("../img/kair_real/titlemv-sp.webp");
    height: 49.3333vw;
    min-height: 185px;
  }
  .contentWrap .articleTitle + .leadArea {
    padding: 36px 0 76px;
    font-size: 100%;
  }
  .contentWrap .articleTitle + .leadArea::before {
    height: 10px;
  }
  .contentWrap .articleTitle + .leadArea h2 img {
    width: 158px;
  }
  .contentWrap .articleTitle + .leadArea p {
    width: 92%;
    margin: 0 auto;
    text-align: left;
    font-size: 81.3%;
    line-height: 1.5385;
  }
  .contentWrap .articleTitle + .leadArea .br {
    display: inline;
  }
  .contentWrap .sectionTitle {
    padding-left: 0;
    padding-right: 0;
    width: 92%;
    margin-left: auto;
    margin-right: auto;
  }
  .contentWrap .sectionTitle[class*=animeBorderTop]::after {
    top: -35px;
  }
  .contentWrap [class*=bg]::before {
    height: 10px;
  }
  .contentWrap [class*=bg] [class*=pcDf] {
    padding: 0;
    display: block;
    width: 92%;
    margin-left: auto;
    margin-right: auto;
  }
  .contentWrap [class*=bg] [class*=pcDf] p b {
    margin-bottom: 1em;
    font-size: 112.5%;
    line-height: 1.5556;
  }
  .contentWrap .bgGreen .sectionTitle {
    padding-bottom: 28px;
  }
}

#photographCheck01 {
  padding-bottom: 84px;
  align-items: flex-start;
}

.photographCheckText {
  max-width: 580px;
}
.photographCheckPhoto {
  max-width: 525px;
  margin-top: -125px;
  position: relative;
}

#routeSimulation {
  padding: 60px 0 120px;
}
#routeSimulation [class*=pcDfPa2] > div:first-child {
  width: auto;
  flex-grow: 1;
}
#routeSimulation dl {
  max-width: 525px;
  display: grid;
  grid-template-columns: 222px 1fr;
  grid-template-rows: auto 1fr;
  gap: 5px;
}
#routeSimulation dt {
  grid-row: 1/2;
  background-color: #323f47;
  padding: 12px 0;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: #fff;
  font-size: 1.125em;
  line-height: 1.3;
  font-weight: bold;
}
#routeSimulation dd ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

#manualOperation {
  padding: 62px 0 116px;
}
#manualOperation [class*=pcDf] {
  flex-direction: row-reverse;
}
#manualOperation .text {
  max-width: 525px;
}
#manualOperation .text p + p {
  margin-top: 3em;
}
#manualOperation .photo {
  max-width: 600px;
}

#photographCheck04 {
  padding: 62px 0 162px;
}

.developmentStory {
  --lightGreen02: #33bdc0;
  position: relative;
  padding-bottom: 50px;
}
.developmentStory::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: calc(100% - 1px);
  width: 100%;
  height: 54px;
  background-color: #fff;
  -webkit-clip-path: var(--sectionBtm);
          clip-path: var(--sectionBtm);
}
.developmentStory .sectionTitle {
  padding-bottom: 20px;
}
.developmentStory .maskOutWhite {
  padding: 0 24px;
  position: relative;
  z-index: 0;
}
.developmentStory .maskOutWhite .bg {
  position: absolute;
  z-index: -1;
  width: 750px;
  right: 0;
  bottom: 105px;
}
.developmentStory h3 {
  color: var(--lightGreen02);
  font-size: 56px;
  line-height: 1.3036;
}
.developmentStory h3 .tag {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 6.6667em;
  height: 1.7143em;
  padding: 0 1em;
  margin-bottom: 1em;
  border-radius: 2em;
  background-color: #00adaf;
  color: #fff;
  font-size: 21px;
}
.developmentStory ul {
  margin-top: 35px;
  display: flex;
  list-style: none;
  gap: 48px;
}
.developmentStory li {
  flex: 0 0 116px;
  border: 1px solid var(--lightGreen02);
}
.developmentStory .btn {
  width: 192px;
  height: 44px;
  margin: 60px auto 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 2px solid;
  text-decoration: none;
  color: #00adaf;
  position: relative;
  transition: 0.3s gap;
}
.developmentStory .btn::after {
  content: "";
  display: block;
  width: 20px;
  height: 6px;
  background: url("../img/kair_real/btn-arrow.svg") no-repeat center bottom;
  background-size: 100% auto;
}
.developmentStory .btn:hover {
  gap: 48px;
}

.footBtnWrap ul {
  justify-content: center;
}

@media screen and (max-width: 767px) {
  #photographCheck01 {
    padding-bottom: 56px;
  }
  .photographCheckText {
    max-width: none;
  }
  .photographCheckText p b {
    font-size: 112.5%;
  }
  .photographCheckPhoto {
    margin-top: 28px;
    max-width: none;
  }
  #routeSimulation {
    padding: 40px 0 56px;
  }
  #routeSimulation dl {
    margin-top: 25px;
    max-width: none;
    grid-template-columns: 42.31% 1fr;
    gap: 3px;
  }
  #routeSimulation dt {
    padding: 6px 0;
    font-size: 81.3%;
  }
  #routeSimulation dt span {
    display: inline-block;
  }
  #routeSimulation dd ul {
    gap: 3px;
  }
  #manualOperation {
    padding: 45px 0 50px;
  }
  #manualOperation .text {
    max-width: none;
  }
  #manualOperation .photo {
    margin-top: 25px;
    max-width: none;
  }
  #photographCheck04 {
    padding: 40px 0 75px;
  }
  #photographCheck04 .photo {
    margin-top: 25px;
    max-width: none;
  }
  .developmentStory::before {
    height: 10px;
  }
  .developmentStory .sectionTitle {
    padding-bottom: 38px;
  }
  .developmentStory .maskOutWhite {
    padding: 0;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-direction: column;
  }
  .developmentStory .maskOutWhite .bg {
    width: 94.6667%;
    position: relative;
    bottom: auto;
    right: auto;
    margin: -38px auto 0;
  }
  .developmentStory h3 {
    width: 92%;
    margin-left: auto;
    margin-right: auto;
    order: -1;
    font-size: 225%;
    line-height: 1.3889;
  }
  .developmentStory h3 .tag {
    margin-bottom: 0.5em;
    font-size: 50%;
  }
  .developmentStory ul {
    width: 92%;
    margin: 20px auto 0;
    gap: 12px;
  }
  .developmentStory li {
    flex: 1 1 auto;
  }
  .developmentStory .btn {
    width: 92%;
  }
}