@font-face {
  font-family: "Noto Sans";
  src: url("/company/efforts/next21/assets/fonts/noto-subset.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap
}
@font-face {
  font-family: "Roboto";
  src: url("/company/efforts/next21/assets/fonts/roboto-subset.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap
}
@font-face {
  font-family: "Roboto italic";
  src: url("/company/efforts/next21/assets/fonts/roboto-italic-subset.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap
}
.layout + .layout .inner {
  margin-top: 5rem;
  padding-top: 4.5rem;
  border-top: 1px solid #e8e8e8
}
.layout .layout-intro {
  margin: 3.5rem 0 4rem;
  padding-bottom: 4rem;
  border-bottom: 1px solid #e8e8e8;
  font-size: 1.2rem;
  line-height: 1.83
}
.layout .layout-ttl {
  display: grid;
  grid-template-columns: .5em 1fr;
  gap: .8rem;
  line-height: 1.5;
  display: grid;
  grid-template-columns: .5em 1fr;
  color: #15afb5;
  font-weight: bold;
  font-size: 2.2rem;
  line-height: 1.46
}
.layout .layout-ttl::before {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  margin-top: .5em;
  background: #15afb5;
  border-radius: 50%;
  content: ""
}
@media screen and (min-width: 769px) {
  .layout .layout-ttl {
    grid-template-columns: .466em 1fr;
    gap: .9rem
  }
  .layout .layout-ttl::before {
    margin-top: .534em
  }
}
.layout .layout-mov {
  background: #eaf9fd;
  border-radius: 2rem;
  margin-top: 2.5rem;
  padding: 3.5rem 2.5rem 4rem
}
.layout .layout-mov .mov-ttl {
  padding-bottom: .8rem;
  border-bottom: 2px dashed #15afb5;
  font-size: 1.5rem;
  line-height: 1.5;
  color: #000;
  font-weight: bold;
  font-size: 1.5rem
}
.layout .layout-mov .sec-txt {
  margin-top: 1rem
}
.layout .layout-about {
  margin-top: 2.5rem
}
.layout .layout-about .about-ttl {
  position: relative;
  margin-bottom: 1.4rem;
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.5;
  padding-bottom: .8rem
}
.layout .layout-about .about-ttl::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 2.5rem;
  height: .2rem;
  background: #15afb5;
  content: ""
}
.layout .layout-about .about-list {
  margin-top: .5rem
}
.layout .layout-about .about-list .list-txt {
  display: grid;
  grid-template-columns: 1em 1fr;
  gap: .5rem;
  font-size: 1.2rem;
  line-height: 1.83
}
.layout .layout-about .about-list .list-txt::before {
  color: #15afb5;
  content: "●"
}
.layout .sec-txt {
  font-size: 1.2rem;
  line-height: 1.83
}
.layout .sec-txt a {
  display: inline;
  color: rgb(0, 102, 181);
  text-decoration: underline;
}
.layout .sec-txt .txt-s {
  display: block;
  margin-top: 0.5rem;
  font-size: 0.9rem;
}
.layout .sec-txt .txt-s a.link-blank {
  position: relative;
  padding-right: 1.2em;
}
.layout .sec-txt .txt-s a.link-blank::after {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
  width: .9rem;
  aspect-ratio: 14/11;
  background: url("/company/efforts/next21/assets/img/common/icon-tab.svg") center/cover no-repeat;
  content: ""
}
.layout .layout-usc {
  margin-top: 2rem
}
.layout .layout-usc .usc-list {
  display: grid;
  gap: 2.5rem;
  margin-top: 2rem
}
.layout .layout-usc .usc-list .item-ttl {
  margin-bottom: 2rem;
  padding-bottom: .8rem;
  border-bottom: 1px solid #e8e8e8;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.5
}
.layout .layout-usc .usc-list .sec-txt {
  margin-top: 1.4rem
}
.layout .layout-home {
  display: grid;
  gap: 2.5rem;
  margin-top: 3rem
}
.layout .layout-home .home-item .item-ttl {
  position: relative;
  margin-bottom: 2rem;
  border-radius: 2.2rem;
  background: #15afb5;
  padding: .5rem;
  box-sizing: border-box;
  color: #fff;
  font-weight: bold;
  font-size: 1.3rem;
  line-height: 1.5;
  text-align: center
}
.layout .layout-home .home-item .item-ttl::after {
  position: absolute;
  top: calc(100% - 1px);
  left: 50%;
  transform: translate(-50%, 0);
  width: 1.5rem;
  aspect-ratio: 15/10;
  background: #15afb5;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  content: ""
}
.layout .layout-home .home-item .item-wrap {
  display: grid;
  gap: 1.1rem
}
.layout .layout-home .home-item .item-wrap.col-2 {
  grid-template-columns: 161fr 178fr
}
.layout .layout-home .home-item .item-wrap .wrap-cont {
  display: grid;
  gap: 1.4rem
}
.layout .layout-home .home-item .item-wrap .wrap-cont.col-2 {
  grid-template-columns: 1fr 1fr;
  gap: 1rem
}
.layout .layout-home .home-item .item-wrap .wrap-cont .cont-ttl {
  display: grid;
  place-content: center;
  min-height: 7.6rem;
  padding: .75em;
  box-sizing: border-box;
  background: #eaf9fd;
  font-size: 1.2rem;
  line-height: 1.6;
  text-align: center
}
.layout .layout-comment {
  margin-top: 2rem;
  background: #eaf9fd;
  padding: 2.4rem 2rem;
  box-sizing: border-box;
  font-size: 1.2rem;
  line-height: 1.83
}
.layout .layout-bottom {
  display: grid;
  gap: 2rem;
  margin-top: 2rem
}
.layout .layout-bottom .layout-comment {
  margin-top: 0
}
.layout#layout-1 .layout-home .wrap-plan {
  margin-top: -1.3rem
}
.layout#layout-5 .layout-home {
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem 2rem
}
.layout#layout-5 .layout-home .home-item .item-wrap .wrap-cont .cont-ttl {
  min-height: 10rem
}
.layout#layout-5 .layout-home .home-item:nth-child(3) {
  grid-column: span 2
}
.layout#layout-5 .layout-home .home-item:nth-child(3) .item-wrap {
  grid-template-columns: 1fr 1fr
}
.layout#layout-5 .layout-home .home-item:nth-child(3) .item-wrap .wrap-cont .cont-ttl {
  min-height: 8.5rem
}
@media screen and (min-width: 769px) {
  .layout .layout-intro {
    margin: 6rem 0 5rem;
    padding-bottom: 5rem;
    font-size: 1.4rem;
    line-height: 2
  }
  .layout .layout-ttl {
    grid-template-columns: 1.4rem 1fr;
    font-size: 3rem
  }
  .layout .layout-mov {
    margin-top: 2rem;
    padding: 4rem 6rem
  }
  .layout .layout-mov .mov-ttl {
    padding-bottom: .5rem;
    font-size: 1.8rem
  }
  .layout .layout-mov .sec-txt {
    margin-top: 1.2rem
  }
  .layout .sec-txt {
    font-size: 1.4rem;
    line-height: 2
  }
  .layout .sec-txt .txt-s {
    font-size: 1.1rem
  }
  .layout .sec-txt .txt-s a.link-blank::after {
    width: 1.1rem
  }
  .layout .layout-usc {
    margin-top: 4rem
  }
  .layout .layout-usc .usc-list {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 2rem;
    margin-top: 4rem
  }
  .layout .layout-usc .usc-list .item-ttl {
    font-size: 1.8rem
  }
  .layout .layout-usc .usc-list .sec-txt {
    margin-top: 1.8rem
  }
  .layout .layout-about {
    margin-top: 2.5rem
  }
  .layout .layout-about .about-ttl {
    margin-bottom: 1.8rem;
    font-size: 2rem
  }
  .layout .layout-about .about-ttl::after {
    width: 3rem
  }
  .layout .layout-about .about-list {
    margin-top: .2rem
  }
  .layout .layout-about .about-list .list-txt {
    font-size: 1.4rem;
    line-height: 2
  }
  .layout .layout-home {
    grid-template-columns: 1fr 1fr;
    gap: 4.2rem;
    margin-top: 4rem
  }
  .layout .layout-home .home-item .item-ttl {
    margin-bottom: 2.5rem;
    padding: .8em;
    font-size: 1.6rem
  }
  .layout .layout-home .home-item .item-ttl::after {
    width: .8rem;
    aspect-ratio: 1
  }
  .layout .layout-home .home-item .item-wrap {
    display: grid;
    gap: 1.1rem
  }
  .layout .layout-home .home-item .item-wrap.col-2 {
    grid-template-columns: 225fr 230fr
  }
  .layout .layout-home .home-item .item-wrap .wrap-cont .cont-ttl {
    min-height: 10rem;
    font-size: 1.6rem;
    line-height: 1.75
  }
  .layout .layout-comment {
    padding: 4rem;
    font-size: 1.6rem;
    line-height: 1.625;
    text-align: center
  }
  .layout .layout-comment.left {
    padding: 3rem 4rem;
    text-align: left
  }
  .layout .layout-bottom {
    grid-template-columns: 1fr 1fr;
    gap: 3rem
  }
  .layout#layout-5 .layout-home {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 3.5rem
  }
  .layout#layout-5 .layout-home .home-item .item-wrap {
    gap: 1.5erm
  }
  .layout#layout-5 .layout-home .home-item .item-wrap .wrap-cont .cont-ttl {
    min-height: 9rem
  }
  .layout#layout-5 .layout-home .home-item .item-wrap .wrap-plan {
    width: 85%;
    margin: 0 auto
  }
  .layout#layout-5 .layout-home .home-item:nth-child(3) {
    grid-column: span 1
  }
  .layout#layout-5 .layout-home .home-item:nth-child(3) .item-wrap {
    display: flex;
    flex-direction: column;
    grid-template-columns: 1fr
  }
  .layout#layout-5 .layout-home .home-item:nth-child(3) .item-wrap .wrap-cont {
    display: contents
  }
  .layout#layout-5 .layout-home .home-item:nth-child(3) .item-wrap .wrap-cont .cont-ttl {
    min-height: 9rem
  }
  .layout#layout-5 .layout-home .home-item:nth-child(3) .item-wrap .wrap-cont .cont-img {
    order: 2
  }
  .layout#layout-5 .layout-home .home-item:nth-child(3) .item-wrap .wrap-plan {
    width: 66%
  }
}