@charset "UTF-8";
/* =========================================================
 *
 * scene__pagenav
 * ====================================================== */

.scene__pagenav {
  position: relative;
  padding-top: 80px;
  margin-bottom: 150px;
}

.scene__pagenav h2 {
  text-align: center;
  color: #fff;
  font-size: max(2.1vw, 30px);
  margin-bottom: 2.8vw;
  font-weight: 500;
}

.scene__pagenav::before {
  content: "";
  height: 374px;
  width: 100%;
  background-color: #8ec6db;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}

.scene__pagenav::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 100vw 200px 0;
  border-color: transparent #8ec6db transparent transparent;
  position: absolute;
  top: 374px;
  z-index: -1;
}

.scene__pagenav__inner {
  display: flex;
  justify-content: space-between;
  width: 90%;
  margin: 0 auto;
}

.scene__pagenav a {
  width: 31%;
  height: 52.5vw;
  background-color: #fff;
  border-radius: 20px;
  box-shadow: 0 30px 30px 0 rgba(0, 0, 0, 0.1);
  overflow: hidden;
  padding-top: 2.1vw;
  display: block;
}

.scene__pagenav a > small {
  text-align: center;
  font-size: max(1.2vw, 14px);
  line-height: 1.5;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3.4vw;
  margin-bottom: 0.7vw;
}

.scene__pagenav a > strong {
  font-size: max(2vw, 20px);
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  height: 5.4vw;
  line-height: 1.25;
  margin-bottom: 1vw;
}

.scene__pagenav a > p {
  height: 19.2vw;
  margin-bottom: 1.4vw;
  overflow: hidden;
}

.scene__pagenav a > p img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.scene__pagenav a > div {
  font-size: 1.1vw;
  line-height: 2;
  text-align: left;
  font-weight: 400;
  padding: 0 2.8vw 1.4vw;
  border-bottom: 1px solid #d0d0d0;
  margin-bottom: 1.4vw;
}

.scene__pagenav a em {
  display: block;
  text-align: center;
  font-size: max(1.2vw, 14px);
  letter-spacing: 0;
  font-weight: 500;
  margin-bottom: 2.42vw;
  line-height: 1.5;
}

.scene__pagenav .funcompass__viewmore {
  font-size: 1vw;
  margin: 0 auto;
  width: max(124px,8.85vw);
  display: block;
}

.scene__pagenav .funcompass__viewmore span::before {
  display: none;
}

.scene__pagenav .funcompass__viewmore span::before,
.scene__pagenav .funcompass__viewmore span::after {
  content: "";
  width: 11px;
  height: 7px;
  background: url(/content/dam/nttcom/hq/jp/business/lp/funcompass/img/function/icon-arrow.svg)
    no-repeat 50% 50% / contain;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  transform: rotate(0);
}

.scene__pagenav .funcompass__viewmore::before {
  width: 40px;
  height: 40px;
  left: -20px;
}

@media (hover: hover) and (pointer: fine) {
  .scene__pagenav a:hover .funcompass__viewmore::before {
    width: calc(100% + 40px);
  }
  .scene__pagenav a:hover > p img {
    transform: scale(1.04);
  }
}

@media screen and (max-width: 980px) {
  .scene__pagenav a {
    height: 55.5vw;
    position: relative;
  }

  .scene__pagenav a > div {
    padding: 0 2.7vw 1.4vw;
    font-size: 1vw;
  }

  .scene__pagenav a em {
    font-size: max(1vw, 12px);
  }
  .scene__pagenav a > strong {
    font-size: max(1.8vw, 10px);
  }

  .scene__pagenav a > small {
    font-size: max(1.2vw, 10px);
  }

  .scene__pagenav .funcompass__viewmore {
    font-size: 10px;
    margin: 0 auto;
    width: 85px;
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    bottom: 2.5vw;
  }

  .scene__pagenav .funcompass__viewmore span::before {
    display: none;
  }

  .scene__pagenav .funcompass__viewmore span::before,
  .scene__pagenav .funcompass__viewmore span::after {
    content: "";
    width: 10px;
    height: 7px;
    background: url(/content/dam/nttcom/hq/jp/business/lp/funcompass/img/function/icon-arrow.svg)
      no-repeat 50% 50% / contain;
    position: absolute;
    right: 0;
    top: 2px;
    bottom: 0;
    margin: auto;
    transform: rotate(0);
  }

  .scene__pagenav .funcompass__viewmore::before {
    width: 18px;
    height: 18px;
    left: -10px;
  }
}

@media screen and (max-width: 767px) {
  .scene__pagenav {
    padding-top: 40px;
    margin-bottom: 100px;
  }

  .scene__pagenav h2 {
    font-size: min(6.4vw, 24px);
    margin-bottom: 30px;
    font-weight: 500;
  }

  .scene__pagenav::before {
    height: 234vw;
  }

  .scene__pagenav::after {
    border-width: 0 100vw 112px 0;
    top: 234vw;
  }

  .scene__pagenav__inner {
    display: block;
    width: auto;
    margin: 0 20px;
  }

  .scene__pagenav a {
    width: auto;
    height: auto;
    border-radius: 10px;
    box-shadow: 0 15px 15px 0 rgba(0, 0, 0, 0.1);
    margin-bottom: 15px;
    padding-top: 5.3vw;
    padding-bottom: 8.4vw;
    position: relative;
  }

  .scene__pagenav a > small {
    text-align: center;
    font-size: min(3.2vw, 12px);
    height: auto;
    margin-bottom: 1.3vw;
    display: block;
  }

  .scene__pagenav a > small br {
    display: none;
  }

  .scene__pagenav a > strong {
    font-size: min(4.2vw, 16px);
    display: block;
    text-align: center;
    height: auto;
    line-height: 1.25;
    margin-bottom: 2.6vw;
    font-weight: 700;
  }

  .scene__pagenav a > strong br {
    display: none;
  }

  .scene__pagenav a > p {
    height: 32vw;
    margin-bottom: 2.6vw;
    overflow: hidden;
  }

    .scene__pagenav a:nth-child(1)>p img {
      object-position: 0 20%;
    }

    .scene__pagenav a:nth-child(2) > p img {
      object-position: 0 20%;
    }

  .scene__pagenav a > div {
    font-size: 3.2vw;
    padding: 0 20px 2.6vw;
    margin-bottom: 2.6vw;
    line-height: 1.5;
  }

  .scene__pagenav a em {
    display: block;
    text-align: center;
    font-size: min(3.7vw, 16px);
    letter-spacing: 0;
    font-weight: 500;
    margin-bottom: 2.42vw;
    line-height: 1.5;
  }

  .scene__pagenav a em br {
    display: none;
  }

  .scene__pagenav .funcompass__viewmore {
    bottom: 5.5vw;
  }
}

/* =========================================================
 *
 * scene__pageheader
 * ====================================================== */
.scene__pageheader {
  position: fixed;
  width: 100%;
  left: 0;
  top: 80px;
  background-color: rgba(232, 244, 238, 0.9);
  z-index: 97;
  display: flex;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s;
}

.scene__pageheader.is-active {
  opacity: 1;
}

.scene__pageheader a {
  color: #222;
  font-size: 14px;
  line-height: 1.1;
  margin: 0 40px;
  padding: 15px 0;
  display: flex;
  align-items: center;
  text-align: center;
}

.scene__pageheader a .funcompass-pc {
  display: inline;
}

.scene__pageheader a::after {
  content: "";
  width: 11px;
  height: 7px;
  background: url(/content/dam/nttcom/hq/jp/business/lp/funcompass/img/function/icon-arrow.svg)
    no-repeat 50% 50% / contain;
  display: inline-block;
  margin: auto;
  transform: rotate(0);
  margin-left: 20px;
}

@media screen and (max-width: 767px) {
  .scene__pageheader {
    top: 65px;
  }

  .scene__pageheader a {
    font-size: 3.2vw;
    margin: 0 3.2vw;
    padding: 13px 0 12px;
    display: block;
  }

  .scene__pageheader a .funcompass-pc {
    display: none;
  }

  .scene__pageheader a::after {
    display: block;
    margin: 5px auto 0;
  }
}

/* =========================================================
 *
 * function-secttl
 * ====================================================== */

.function-secttl {
  text-align: center;
  margin-bottom: 50px;
  padding-top: 100px;
}

.function-secttl em {
  font-size: 4.2vw;
  letter-spacing: 0.1em;
  color: #222;
  display: block;
  line-height: 1;
  margin-bottom: 8px;
}

.function-secttl em::before {
  content: "";
  width: 1px;
  height: 40px;
  background-color: #222;
  display: block;
  margin: 0 auto 20px;
}

.function-secttl > em span {
  font-weight: 400;
}

.function-secttl > span {
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 1;
  display: block;
}

@media screen and (max-width: 767px) {
  .function-secttl {
    margin-bottom: 60px;
    padding-top: 100px;
  }

  .function-secttl em {
    font-size: min(10.6vw, 40px);
    margin-bottom: 10px;
  }

  .function-secttl em::before {
    height: 30px;
    margin: 0 auto 10px;
  }

  .function-secttl > em span {
    display: block;
    margin-bottom: 5px;
  }

  .function-secttl > span {
    font-size: min(4.2vw, 16px);
  }
}

/* =========================================================
 * ユーザー視点で見る利用イメージ
 * scene__users
 * ====================================================== */
.scene__users {
  margin-bottom: 150px;
  position: relative;
  z-index: 91;
}

.scene__users::before {
  content: "";
  width: 100%;
  height: 49.6vw;
  background-color: #8ec6db;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}

.scene__users::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 100vw 200px 0;
  border-color: transparent #8ec6db transparent transparent;
  position: absolute;
  top: 49.6vw;
  right: 0;
  z-index: -1;
}

.scene__users > p {
  margin-bottom: -100px;
  width: 100vw;
}

.scene__users > p img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.scene__users .funcompass__inner {
  background-color: #fff;
  border-radius: 20px;
  box-shadow: 0 30px 30px 0 rgba(0, 0, 0, 0.1);
  padding: 0px 40px 80px;
  position: relative;
  z-index: 10;
}



@media screen and (max-width: 767px) {
  .scene__users {
    margin-bottom: 100px;
  }

  .scene__users::before {
    height: 329.3vw;
  }

  .scene__users::after {
    border-width: 0 100vw 112px 0;
    top: 329.3vw;
  }

  .scene__users .function-secttl {
    padding-top: 60px;
    margin-bottom: 40px;
  }

  .scene__users > p {
    margin-bottom: -70px;
  }

  .scene__users .funcompass__inner {
    border-radius: 10px;
    box-shadow: 0 15px 15px 0 rgba(0, 0, 0, 0.1);
    padding: 0px 20px 60px;
    position: relative;
    z-index: 10;
  }


}

/* =========================================================
 *
 * scene__users タブ・・パネル内 0601追加
 * ====================================================== */
 .scene__users__tab{
   list-style: none;
   display: flex;
   margin-bottom: 71px;
 }

 .scene__users__tab li{
   width: 50%;
   text-align: center;
   font-size: 18px;
   display: flex;
   align-items: center;
   justify-content: center;
   border-bottom: 2px solid #D0D0D0;
   padding-bottom: 10px;
   position: relative;
   cursor: pointer;
 }

 .scene__users__tab li.is-active::after{
   content:"";
   width: 100%;
   height: 4px;
   background-color: #8EC6DB;
   position: absolute;
   left: 0;
   bottom: -2px;
 }

 .scene__users__tab li.is-active::before{
   content:"";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 15px 0 15px;
  border-color: #8EC6DB transparent transparent transparent;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -16px;
  margin : auto;

 }

 .scene__users__tab li em{
   font-size: 30px;
   margin-right: 5px;
   position: relative;
 }

 .scene__users__tab li em::before{
   content:"";
   width: 30px;
   height: 30px;
   background-color: #E8F4F8;
   border-radius: 50%;
   position: absolute;
   left: -8px;
   top: -8px;
   z-index: -1;
 }

 .scene__users__tab li.is-active em::before {
   background-color: #8EC6DB;
 }

 .scene__users__panel{
   display: none;
   margin-bottom: 40px;
 }

 .scene__users__panel.is-show{
   display: block;
 }

 .panel__inner{
   display: flex;
   justify-content: space-between;
 }

 .panel__inner-reverse{
   flex-direction: row-reverse;
 }

.panel__inner>div {
   border: 5px solid #E8F4F8;
   border-radius: 10px;
   padding: min(1.78vw, 25px);
   background-color: #fff;
 }

 .scene__users__panel h3 span {
   position: relative;
   width: min(7.8vw, 110px);
   height: min(7.8vw, 110px);
   left: 0;
   top: 0;
   font-size: min(2vw,28px);
   display: flex;
   align-items: center;
   justify-content: center;
   color: #8EC6DB;
   margin-right: min(1.4vw,20px);
 }

 .scene__users__panel h3 span::after {
   content: "";
   width: 100%;
   height: 100%;
   position: absolute;
   left: 0;
   right: 0;
   top: 0;
   bottom: 0;
   margin: auto;
   background: url(/content/dam/nttcom/hq/jp/business/lp/funcompass/img/scene/circle-scene-blue.svg) no-repeat 50% 50% / contain;
   animation: rotation 30s linear infinite reverse;
   z-index: 11;
   pointer-events: none;
 }

 .scene__users__panel-01 .panel__inner > div{
   display: flex;
   flex-direction: row-reverse;
   justify-content: space-between;
   position: relative;
   width: 48.5%;
   margin-bottom: 2.5%;
 }

 .scene__users__panel-01 h3{
   display: flex;
   align-items: center;
   font-size: min(1.42vw,20px);
   position: absolute;
   left: min(2.85vw, 40px);;
   top: min(2.85vw, 40px);;
 }

 .scene__users__panel-01 .panel__inner>div strong{
   position: absolute;
   background-color: #8EC6DB;
   right: min(2.1vw, 30px);
   top: min(2.1vw, 30px);
   color: #fff;
   font-size: min(0.85vw,12px);
   line-height: 1.5;
   border-radius: 5px;
   padding: 5px 15px;
 }

 .scene__users__panel-01 .panel__inner>div strong::before {
   content: "";
   width: 0;
   height: 0;
   border-style: solid;
   border-width: 9px 6px 0 6px;
   border-color: #8EC6DB transparent transparent transparent;
   position: absolute;
   left: 0;
   right: 0;
   bottom: -9px;
   margin: auto;

 }

 .scene__users__panel-01 .panel__inner>div p{
   margin-top: min(11vw,147px);
   max-width: 260px;
   margin-right: 20px;
   font-size: min(1vw,14px);
   line-height: 2;
 }

 .scene__users__panel-01 .panel__inner>div img{
   margin-top: min(6.5vw, 90px);
 }

 .scene__users__panel-01 .panel__inner>div img.mt {
   margin-top: 80px;
 }

 img.panel-01-img01{
   width: min(10.9vw,153px);
 }
 img.panel-01-img02{
  width: min(10.8vw, 152px);
 }

 img.panel-01-img03{
  width: min(13.5vw,190px);
  margin-top: min(4.9vw, 70px) !important;
 }

 img.panel-01-img04 {
  width: min(11.4vw, 160px);
  margin-top: min(6.9vw, 90px);
 }

 .panel-01-div01::after{
   content:"";
  background: url(/content/dam/nttcom/hq/jp/business/lp/funcompass/img/scene/arrow.svg) no-repeat 50% 50% / contain;
  width: 11%;
  height: 11%;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -9.1%;
  margin: auto;
  z-index: -1;
 }

 .panel-01-div02::after {
   content: "";
   background: url(/content/dam/nttcom/hq/jp/business/lp/funcompass/img/scene/arrow.svg) no-repeat 50% 50% / contain;
   width: 11%;
   height: 11%;
   position: absolute;
   bottom: -9.5%;
   right: 0;
   left: 0;
   margin: auto;
   z-index: -1;
   transform: rotate(90deg);
 }

 .panel-01-div03::after {
   content: "";
   background: url(/content/dam/nttcom/hq/jp/business/lp/funcompass/img/scene/arrow.svg) no-repeat 50% 50% / contain;
   width: 11%;
   height: 11%;
   position: absolute;
   top: 0;
   bottom: 0;
   left: -9.1%;
   margin: auto;
   z-index: -1;
   transform: rotate(180deg);
 }

 .scene__users__panel-02 .panel__inner > div{
   width: 31%;
 }

 .scene__users__panel-02 h3{
   text-align: center;
   margin-bottom: 16px;
   font-size: min(1.42vw, 20px);
   line-height: 1.5;
 }

 .scene__users__panel-02 h3 span{
   right: 0;
   margin: auto;
   margin-bottom: 20px;
 }

 .scene__users__panel-02 p{
   font-size: min(1vw, 14px);
   line-height: 2;
 }

 .scene__users__panel-02 .panel__inner > div:first-child p{
   margin-bottom: 45px;
 }

 .scene__users__panel-02 .panel__inner>div:nth-child(2) p {
   margin-bottom: 73px;
 }

  .scene__users__panel-02 .panel__inner>div:nth-child(3) p {
   margin-bottom: 70px;
 }

 @media screen and (max-width: 900px) {
  .scene__users__panel-01 .panel__inner>div strong{
    transform: scale(.9);
    right: 20px;
    top: 10px;
  }

  .scene__users__panel-01 .panel__inner>div img.mt {
    margin-top: 40px;
  }
 }

 @media screen and (max-width: 767px) {
    .scene__users__tab {
      margin-bottom: 40px;
    }

    .scene__users__tab li {
      font-size: 12px;
      padding-bottom: 8px;
      display: block;
    }

    .scene__users__tab li em {
      font-size: 24px;
      margin-right: 0px;
      line-height: 1;
    }

    .scene__users__tab li em::before {
      left: -3px;
      top: -3px;
      z-index: -1;
    }

    .panel__inner {
      display: flex;
      justify-content: space-between;
    }

    .panel__inner-reverse {
      flex-direction: unset;
    }

    .scene__users__panel{
      display: none;
      margin-bottom: 40px;
    }

    .scene__users__panel.is-show {
      display: flex;
    }

    .scene__users__cont{
      overflow: scroll;
    }

    .panel__inner>div {
      padding: 20px;
      width: 260px;
      flex: none;
    }

    .scene__users__panel h3 span {
      width: 80px;
      height: 80px;
      font-size: 28px;
      margin-right: 20px;
    }

    .scene__users__panel-01{
      display: none;
      justify-content: space-between;
    }

    .scene__users__panel-01.is-show{
      display: flex;
    }

    .scene__users__panel-01 .panel__inner>div {
      display: block;
      position: relative;
      width: 260px;
      margin-bottom: 20px;
      display: flex;
      flex-direction: column;
      margin-right: 40px;
    }

      .panel__inner-reverse >div:last-child{
        margin-right: 0 !important;
      }

    .scene__users__panel-01 h3 {
      font-size: 18px;
      position: relative;
      left: 0;
      ;
      top: 0;
      ;
      margin-bottom: 20px;
    }

    .scene__users__panel-01 .panel__inner>div strong {
      position: relative;
      right: 0;
      top: 0;
      font-size: 12px;
      line-height: 1.5;
      border-radius: 5px;
      padding: 5px 7px;
      display: block;
      transform: scale(1);
      margin-bottom: 20px;
      text-align: center;
    }


    .scene__users__panel-01 .panel__inner>div p {
      margin-top: auto;
      max-width: 100%;
      margin-right: 0px;
      font-size: 14px;
      line-height: 1.5;
    }

    .scene__users__panel-01 .panel__inner>div img {
      display: block;
      margin: 0 auto 20px;
    }

    .scene__users__panel-01 .panel__inner>div img.mt {
      margin-top: 0px;
    }

    img.panel-01-img01 {
      width: 153px;
    }

    img.panel-01-img02 {
      width: 152px;
    }

    img.panel-01-img03 {
      width: 190px;
    }

    img.panel-01-img04 {
      width: 160px;
      margin-top: 0px !important;
    }

    .panel-01-div01::after,
    .panel-01-div02::after,
    .panel-01-div03::after {
      content: "";
      background: url(/content/dam/nttcom/hq/jp/business/lp/funcompass/img/scene/arrow.svg) no-repeat 50% 50% / contain;
      width: 40px;
      height: 40px;
      position: absolute;
      top: 0;
      left: auto;
      bottom: 0;
      right: -40px;
      margin: auto;
      z-index: 10;
      transform: rotate(0);
    }

    .scene__users__panel-02 .panel__inner>div {
      width: 260px;
      margin-right: 20px;
    }

    .scene__users__panel-02 .panel__inner>div:last-child{
      margin-right: 0 !important;
    }

    .scene__users__panel-02 h3 {
      margin-bottom: 16px;
      font-size: 19px;
    }

    .scene__users__panel-02 h3 span{
      margin-right: 0;
      margin: 0 auto 15px;
    }

    .scene__users__panel-02 p {
      font-size: 14px;
      line-height: 1.5;
    }

    .scene__users__panel-02 .panel__inner>div:first-child p {
      margin-bottom: 45px;
    }

    .scene__users__panel-02 .panel__inner>div:nth-child(2) p {
      margin-bottom: 45px;
    }

    .scene__users__panel-02 .panel__inner>div:nth-child(3) p {
      margin-bottom: 45px;
    }

 }

 /* =========================================================
 *
 * scene__users__figure 利用イメージ 0601追加
 * ====================================================== */
 .scene__users__figure__inner{
   background-color: #E8F4F8;
   border-radius: 10px;
   padding: 60px 50px;
 }

 .scene__users__figure__ttl h3{
   text-align: center;
   font-size: min(2.1vw,30px);
   margin-bottom: 24px;
 }

 .scene__users__figure__ttl dl{
   display: flex;
   align-items: center;
   background-color: #fff;
   border-radius: 10px;
   width: 650px;
   height: 110px;
   margin: 0 auto 48px;
   padding-left: 116px;
   position: relative;
 }

 .scene__users__figure__ttl dl::before{
  content:"";
  background: url(/content/dam/nttcom/hq/jp/business/lp/funcompass/img/scene/illust09.svg) no-repeat 50% 50% / contain;
  width: 60px;
  height: 102px;
  position: absolute;
  bottom: 0;
  left: 30px;

 }

 .scene__users__figure__ttl dl dt{
   font-size: 20px;
   margin-right: 30px;
 }

 .scene__users__figure__ttl dl ul{
   list-style: none;

 }

 .scene__users__figure__ttl dl ul li{
  font-size: 14px;
  line-height: 2;
 }

 .scene__users__figure__ttl dl ul li::before{
   content:"・";
   color:#70BEDB;
 }

 @media screen and (max-width: 767px) {
  .scroll-hint-icon-wrap{
    z-index: 20;
  }

  .scene__users__figure{
    overflow: scroll;
  }

  .scene__users__figure__inner {
      padding: 40px;
      width: 1080px;
    }

    .scene__users__figure__ttl{
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 15px;
    }

    .scene__users__figure__ttl h3 {
      text-align: left;
      font-size: 24px;
      margin-bottom: 0px;
    }

    .scene__users__figure__ttl dl {
      width: 500px;
      height: 73px;
      margin: 0 auto;
      padding-left: 84px;
    }

    .scene__users__figure__ttl dl::before {
      width: 39px;
      height: 66px;
      left: 20px;
    }

    .scene__users__figure__ttl dl dt {
      font-size: 18px;
      margin-right: 15px;
    }

    .scene__users__figure__ttl dl ul li {
      font-size: 12px;
      line-height: 1.5;
    }

 }



/* =========================================================
 * 店舗向け機能
 * scene__forstores
 * ====================================================== */
.scene__forstores {
  margin-bottom: 150px;
  position: relative;
  z-index: 91;
}

.scene__forstores::before {
  content: "";
  width: 100%;
  height: 49.6vw;
  background-color: #8ec6db;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}

.scene__forstores::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 100vw 200px 0;
  border-color: transparent #8ec6db transparent transparent;
  position: absolute;
  top: 49.6vw;
  right: 0;
  z-index: -1;
}

.scene__forstores > p {
  margin-bottom: -100px;
  width: 100vw;
}

.scene__forstores > p img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.scene__forstores .funcompass__inner {
  background-color: #fff;
  border-radius: 20px;
  box-shadow: 0 30px 30px 0 rgba(0, 0, 0, 0.1);
  padding: 0px 60px 80px;
  position: relative;
  z-index: 10;
}

.scene__forstores .funcompass__inner > p {
  font-size: clamp(14px, 1.1vw, 16px);
  line-height: 2;
  text-align: center;
  margin-bottom: 40px;
}

.scene__forstores__inner {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.scene__forstores__inner > img {
  width: 3%;
}

.scene__forstores__inner > div {
  width: 30%;
  background-color: #e8f4f8;
  border-radius: 10px;
  padding: 30px 25px;
  display: flex;
  flex-direction: column;
}

.scene__forstores__inner h3 {
  text-align: center;
  font-size: min(1.4vw,20px);
  margin-bottom: 24px;
  line-height: 1.5;
}

.scene__forstores__inner > div:last-child h3 {
  margin-bottom: 53px;
}

.scene__forstores__inner figure {
  display: block;
  text-align: center;
  margin-bottom: 20px;
}

.scene__forstores__inner p {
  text-align: center;
  font-weight: 400;
  font-size: min(1vw,14px);
  line-height: 1.5;
  margin-top: auto;
}

@media screen and (max-width: 767px) {
  .scene__forstores {
    margin-bottom: 100px;
  }

  .scene__forstores::before {
    height: 329.3vw;
  }

  .scene__forstores::after {
    border-width: 0 100vw 112px 0;
    top: 329.3vw;
  }

  .scene__forstores .function-secttl {
    padding-top: 60px;
    margin-bottom: 40px;
  }

  .scene__forstores > p {
    margin-bottom: -70px;
  }

  .scene__forstores .funcompass__inner {
    border-radius: 10px;
    box-shadow: 0 15px 15px 0 rgba(0, 0, 0, 0.1);
    padding: 0px 20px 60px;
    position: relative;
    z-index: 10;
  }

  .scene__forstores__inner {
    display: block;
  }

  .scene__forstores__inner > div {
    width: auto;
    border-radius: 5px;
    padding: 40px 20px;
    margin-bottom: 10px;
  }

  .scene__forstores__inner > img {
    width: 30px;
    display: block;
    margin: 0px auto 10px;
  }

  .scene__forstores__inner > img:nth-of-type(2) {
    transform: rotate(90deg);
  }

  .scene__forstores__inner h3 {
    font-size: 20px;
  }

    .scene__forstores__inner>div:last-child h3 {
      margin-bottom: 20px;
    }

  .scene__forstores__inner p {
    text-align: left;
    margin: 0;
    font-size: 14px;
  }

  .scene__forstores__inner p br {
    display: none;
  }
}

/* =========================================================
 * サイト契約者向け機能
 * 自治体・デベロッパー視点で見る利用イメージ
 * ====================================================== */
.scene__developers {
  margin-bottom: 150px;
  position: relative;
  z-index: 91;
}

.scene__developers::before {
  content: "";
  width: 100%;
  height: 49.6vw;
  background-color: #8ec6db;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}

.scene__developers::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 100vw 200px 0;
  border-color: transparent #8ec6db transparent transparent;
  position: absolute;
  top: 49.6vw;
  right: 0;
  z-index: -1;
}

.scene__developers > p {
  margin-bottom: -100px;
  width: 100vw;
}

.scene__developers > p img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.scene__developers .funcompass__inner {
  background-color: #fff;
  border-radius: 20px;
  box-shadow: 0 30px 30px 0 rgba(0, 0, 0, 0.1);
  padding: 0px 40px 80px;
  position: relative;
  z-index: 10;
}

.scene__developers__sec {
  display: flex;
  align-items: center;
  margin-bottom: 40px;
}

.scene__developers__sec:nth-child(2) {
  flex-direction: row-reverse;
}

.scene__developers__sec > p {
  border-radius: 20px;
  overflow: hidden;
  width: 51%;
  flex: none;
}

.scene__developers__sec > div {
  position: relative;
  width: 49%;
  padding: 3.8vw 2.8vw 1.8vw;
  z-index: -1;
}


.scene__developers__sec:nth-child(2) > div::before {
  right: auto;
  left: 0;
}

.scene__developers__sec > div::before {
  content: "";
  width: 119%;
  height: 100%;
  border-radius: 20px;
  background-color: #8ec6db;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
}

.scene__developers__sec > div > span {
  position: absolute;
  width: min(7.8vw, 110px);
  height: min(7.8vw, 110px);
  left: 2.8vw;
  top: 3vw;
  font-size: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.scene__developers__sec > div > span::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  background: url(/content/dam/nttcom/hq/jp/business/lp/funcompass/img/scene/circle-scene.svg)
    no-repeat 50% 50% / contain;
  animation: rotation 30s linear infinite reverse;
  z-index: 11;
  pointer-events: none;
}

.scene__developers__sec > div h3 {
  color: #fff;
  font-size: min(2.1vw, 30px);
  line-height: 1.5;
  margin-bottom: 2vw;
  padding-left: min(9vw, 130px);
}

.scene__developers__sec > div p {
  font-weight: 400;
  font-size: clamp(14px, 1.1vw, 16px);
  line-height: 2;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .scene__developers .function-secttl {
    padding-top: 60px;
    margin-bottom: 40px;
  }

  .scene__developers .function-secttl em {
    letter-spacing: 0;
  }

  .scene__developers .function-secttl span {
    line-height: 1.5;
  }

  .scene__developers > p {
    margin-bottom: -70px;
  }

  .scene__developers .funcompass__inner {
    border-radius: 10px;
    box-shadow: 0 15px 15px 0 rgba(0, 0, 0, 0.1);
    padding: 0px 0px 50px;
  }

  .scene__developers {
    margin-bottom: 120px;
  }

  .scene__developers::before {
    display: none;
  }

  .scene__developers::after {
    display: none;
  }

  .scene__developers__sec {
    display: block;
    margin-bottom: 40px;
  }

  .scene__developers__sec > p {
    border-radius: 10px;
    overflow: hidden;
    width: 88%;
    margin: 0 auto -90px;
  }

  .scene__developers__sec > div {
    position: relative;
    width: auto;
    padding: 130px 20px 40px;
    z-index: auto;
  }

  .scene__developers__sec > div::before {
    content: "";
    width: 100%;
    height: 100%;
    border-radius: 0px;
  }

  .scene__developers__sec > div > span {
    position: absolute;
    width: 90px;
    height: 90px;
    left: auto;
    right: 20px;
    top: 104px;
    font-size: 21px;
  }

  .scene__developers__sec > div h3 {
    font-size: 5.3vw;
    margin-bottom: 20px;
    padding-left: 0;
  }

  .scene__developers__sec > div p {
    font-size: 16px;
  }
}