.page-lower #visual {
  background: url(../images/features/visual-bg.jpg) center center /cover no-repeat;
}
.page-lower #visual .title-1:before {
  content: 'FEATURES';
}

#main .layout-1 {
  max-width: 100%;
  width: 1600px;
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
}
#main .layout-1 ~ .layout-1 {
  padding-top: 0;
}
#main .layout-1.reverse {
  flex-direction: row-reverse;
}
#main .layout-1 .content {
  width: 53.125%;
}
#main .layout-1 .content > div {
  max-width: 605px;
  padding-left: 15px;
  padding-right: 50px;
  margin-left: auto;
}
#main .layout-1.reverse .content > div {
  padding-left: 50px;
  padding-right: 15px;
  margin-left: 0;
  margin-right: auto;
}
#main .layout-1 .content .num {
  width: fit-content;
  font-size: 6rem;
  font-weight: 700;
  line-height: 1;
  background: var(--gradient-blue);
  -webkit-background-clip: text; /* 文字の背景を切り取る */
  -webkit-text-fill-color: transparent; /* 文字を透明にする */
  margin-bottom: .25em;
}
#main .layout-1 .content .title-2 {
  text-align: left;
}
#main .layout-1 .photo {
  width: 46.875%;
}
#main .layout-1 .photo img {
  
}
@media (max-width:1220px) {
  #main .layout-1 .content > div {
    padding-right: 25px;
  }
  #main .layout-1.reverse .content > div {
    padding-left: 25px;
  }
}
@media (max-width:960px) {
  #main .layout-1 .content,
  #main .layout-1 .photo {
    width: 100%;
  }
  #main .layout-1 .content > div {
    padding: 0 15px;
    margin: 0 auto !important;
  }
  #main .layout-1 .photo {
    text-align: center;
    margin-top: 50px;
  }
  #main .layout-1 .content .num {
    font-size: 5rem;
  }
}
@media (max-width:540px) {
  #main .layout-1 .content .num {
    font-size: 4rem;
  }
}