@media screen and (max-width: 769px) {
  /*----------------------------------------
    #problem
  ----------------------------------------*/
  #problem h3 {
    padding: 3% 5% 3% 5%;
    background: url(../images/problem-background.jpg) no-repeat center top;
    background-size: cover;
  }
  #problem  .inner .text {
    padding: 2% 4% 5%;
    background: rgb(49 52 55);
  }
  #problem .inner .text p{
    color: #fff;
  }
  #problem-list {
    padding: 1rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  #problem-list li {
    /* margin-bottom: 0; */
    width: 100%;
  }
  .fukidashi_area:last-child .balloon:last-child::before {
    left: 95%;
    transform: rotate(-35deg);
  }
  .fukidashi_area {
    padding: 4% 4%;
    background: #323538;
  }
  /* 吹き出し本体 */
  .balloon{
    width: 100%;
    position: relative;
    padding: 3% 5%;
    background-color: #f92610;
    filter: drop-shadow(0 0 2px #000)drop-shadow(0 0 5px #000);
    color: #ffffff;
    border-radius: 10px;
    margin-bottom: 1%;
  }
  /* .balloon:nth-of-type(odd) {
    position: relative;
    z-index: 8;
  } */
  #problem .balloon p {
    color: #fff;
    font-weight: bold;
  }
  /* アイコンを下に表示 */
  .balloon::before {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    right: 7px;
    bottom: -8px;
    border-top: 14px solid #f92610;
    border-right: 7px solid transparent;
    border-left: 7px solid transparent;
    transform: rotate(-35deg);
}

  .fukidashi_area .balloon:nth-child(2n)::before {
    left: 7px;
    transform: rotate(35deg);
  }
  #problem .problem-message-write {
    padding: 1rem;
    background: #fceabb;
    background: linear-gradient(135deg, #fceabb 0%, #fccd4d 50%, #f8b500 51%, #fbdf93 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fceabb', endColorstr='#fbdf93',GradientType=1 );
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #problem .problem-message-write dt {
    margin: 1.5em 0;
    padding: 2em;
    width: 60%;
    font-size: 12px;
    font-size: 3.2vw;
    line-height: 160%;
    position: relative;
    display: inline-block;
    min-width: 120px;
    max-width: 100%;
    color: #555;
    background: #fff;
    border-radius: 2rem;
    box-shadow: rgba(50, 50, 93, 0.25) 0px 50px 100px -20px, rgba(0, 0, 0, 0.3) 0px 30px 60px -30px, rgba(10, 37, 64, 0.35) 0px -2px 6px 0px inset;
  }
  #problem .problem-message-write dt:before {
    content: "";
    position: absolute;
    top: 33.5%;
    left: 100%;
    border: 15px solid transparent;
    border-left: 15px solid #fff;
  }
  #problem .problem-message-write dd {
    width: 33%;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: rgba(50, 50, 93, 0.25) 0px 50px 100px -20px, rgba(0, 0, 0, 0.3) 0px 30px 60px -30px, rgba(10, 37, 64, 0.35) 0px -2px 6px 0px inset;
  }
  #problem .problem-message-write dd p {
    padding: .5em 1em;
    position: absolute;
    pointer-events: none;
    color: #fff;
    background: rgba(0, 0, 0, 0.8);
    border-radius: 1rem;
  }
    /*----------------------------------------
      #teacher1
    ----------------------------------------*/
    #teacher1 h3 {
      background: url(../images/teacher1-background.jpg) no-repeat center top;
      background-size: cover;
      padding: 7% 4% 7% 38%;
    }
    #teacher1 h4 {
      margin-top: 5%;
    }
    #teacher1 .inner .text {
      padding: 3rem;
      background: rgb(241 236 211);
    }
    /*----------------------------------------
      #teacher2
    ----------------------------------------*/
    #teacher2 h3 {
      background: url(../images/teacher2-background.jpg) no-repeat center top;
      background-size: cover;
      padding: 7% 36% 7% 4%;
    }
    #teacher2 h4 {
      margin-top: 5%;
    }
    #teacher2 .inner .text {
      padding: 3rem;
      background: rgb(228, 235, 248);
    }
    /*----------------------------------------
      #solution
    ----------------------------------------*/
    #solution h3 {
      background: url(../images/solution-background.jpg) no-repeat center top;
      background-size: cover;
      padding: 7% 4% 7% 4%;
    }
    #solution h4 {
      margin-top: 5%;
    }
    #solution .inner .text {
      padding: 3rem;
      background: rgb(243, 243, 243);
    }
    /*----------------------------------------
      #epilogue
    ----------------------------------------*/
    #epilogue h3 {
      background: url(../images/epilogue-background.jpg) no-repeat center top;
      background-size: cover;
      padding: 7% 37% 7% 4%;
    }
    #epilogue h4 {
      margin-top: 5%;
    }
    #epilogue .inner .text {
      padding: 3rem;
      background: rgb(243, 243, 243);
    }
    #epilogue .inner .text .name {
      width: 40%;
      margin-left: auto;
    }
  /*----------------------------------------
  #launch
  ----------------------------------------*/
  #launch h3 {
    padding: 4% 4%;
    background: url(../images/launch-background.jpg) no-repeat center top;
    background-size: cover;
    overflow: hidden;
    position: relative;
    z-index: 8;
  }
  #launch h3::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(255,255,255,1.0);
    z-index: 9;
  }
  #launch h3 img {
    position: relative;
    z-index: 10;
  }
  #launch dt {
    padding: 4% 3% 2%;
    background: url(../images/launch-background.jpg) repeat center top;
    background-size: cover;
  }
  #launch dd {
    padding: 3rem;
    background: #fff5df;
  }
  #launch dd p {
    color: #000;
  }
  /*----------------------------------------
  #merit
  ----------------------------------------*/
  #merit h3 {
    padding: 4% 8%;
    background: url(../images/merit-background.jpg) no-repeat center top;
    background-size: cover;
    overflow: hidden;
    position: relative;
    z-index: 8;
  }
  #merit h3::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0,0,0,1.0);
    z-index: 9;
  }
  #merit h3 img {
    position: relative;
    z-index: 10;
  }
  #merit dt {
    padding: 4% 3% 2%;
    background: url(../images/merit-background.jpg) repeat center top;
    background-size: cover;
  }
  #merit dd {
    padding: 3rem;
    background: #fff;
  }
  #merit dd p {
    color: #000;
  }

  /*----------------------------------------
    #result
  ----------------------------------------*/
  #result h3 {
    background: url(../images/result-background.jpg) no-repeat center top;
    background-size: cover;
  }
  #result h3 img {
    padding: 10% 3% 8% 37%;
    /* background: rgba(0, 0, 0, 0.4); */
  }
  #result .inner {
    background: #000;
  }
  .result-account li {
    margin-bottom: 0;
    border-bottom: 1px solid #fff;
  }
  .result-chart li {
    margin-bottom: 0;
    border-bottom: 1px solid #fff;
    line-height: 0;
  }
  .result-chart li:first-child {
    border-top: 1px solid #fff;
  }
  .result-data-scroll {
    height: 20rem;
    overflow: scroll;
  }
  .result-data-scroll iframe {
    margin: 0 auto;
    width: 100%;
    height: 300px;
  }
  .result-data-heading-scroll {
    margin: 0 auto 1rem;
    width: 100%;
    height: calc(100vw / 2);
    overflow: scroll;
    position: relative;
  }
  .result-data-heading-scroll iframe {
    margin: 0 auto;
    width: 100%;
    height: 400px;
  }
  .result-data-heading-scroll h4 {
    padding: 0 !important;
    width: 80%;
    position: absolute;
    top: 10%;
    left: 10%;
    z-index: 2;
    background: none !important;
  }
  .result-data-heading-scroll h4 small {
    margin-top: 1em;
    font-size: 15px;
    font-size: 1.5rem;
    color: #fff;
    text-align: center;
    text-shadow: 0 0 10px #000,0 0 10px #000,0 0 10px #000;
    display: block;
  }
  .result-data-heading-scroll .data {
    position: absolute;
    z-index: 1;
  }
  #result  .result-data {
    margin: 0 auto;
    width: 100%;
    height: calc(100vh / 3);
    overflow: scroll;
    position: relative;
  }
    .result-data h4 {
      width: 80%;
      position: absolute;
      top: 30%;
      left: 50%;
      transform: translateX(-50%);
      z-index: 2;
      margin-top: 0!important;
    }

  /*----------------------------------------
    #media
  ----------------------------------------*/
  #media h3 {
    background: url(../images/media-background.jpg) no-repeat center top;
    background-size: cover;
  }
  #media h3 img {
    padding: 5% 7%;
    /* background: rgba(0, 0, 0, 0.4); */
  }
  #media .inner {
    background: #000;
  }
  .media-account li {
    margin-bottom: 0;
    border-bottom: 1px solid #fff;
  }
  .media-chart li {
    margin-bottom: 0;
    border-bottom: 1px solid #fff;
    line-height: 0;
  }
  .media-chart li:first-child {
    border-top: 1px solid #fff;
  }
  .media-data-scroll {
    height: 20rem;
    overflow: scroll;
  }
  .media-data-scroll iframe {
    margin: 0 auto;
    width: 100%;
    height: 300px;
  }
  .media-data-heading-scroll {
    margin: 0 auto 1rem;
    width: 100%;
    height: calc(100vw / 2);
    overflow: scroll;
    position: relative;
  }
  .media-data-heading-scroll iframe {
    margin: 0 auto;
    width: 100%;
    height: 400px;
  }
  .media-data-heading-scroll h4 {
    padding: 0 !important;
    width: 80%;
    position: absolute;
    top: 10%;
    left: 10%;
    z-index: 2;
    background: none !important;
  }
  .media-data-heading-scroll h4 small {
    margin-top: 1em;
    font-size: 15px;
    font-size: 1.5rem;
    color: #fff;
    text-align: center;
    text-shadow: 0 0 10px #000,0 0 10px #000,0 0 10px #000;
    display: block;
  }
  .media-data-heading-scroll .data {
    position: absolute;
    z-index: 1;
  }
  #media  .result-data {
    margin: 0 auto;
    width: 100%;
    height: calc(100vh / 3);
    overflow: scroll;
    position: relative;
  }
  /*----------------------------------------
    #voice
  ----------------------------------------*/
  #voice h3 {
    padding: 11% 3% 9% 37%;
    background: url(../images/voice-background.jpg) no-repeat center top;
    background-size: cover;
  }
  #voice .text {
    padding: 3rem;
    background: #000;
  }
  #voice p {
    color: #fff;
  }
  #voice dt {
    margin-bottom: 0%;
    font-size: 4.2vw;
    padding: 4.4% 0% 4%;
    font-weight: bold;
    color: #fff;
    background: #ee0000;
    line-height: 1;
    text-align: center;
    line-height: 1.2;
  }
  #voice dd {
    padding: 5% 4%;
    background: #fff;
    display: flex;
    align-items: flex-start;
  }
  #voice dd p {
    color: #000;
    font-size: 3.5vw;
    margin-bottom: 3%;
    line-height: 1.7;
  }
  #voice dd .fw-b {
    color: #d00505 !important;
  }
  #voice dd .mb-40 {
    width: 60%;
    text-align: center;
    margin-right: 3%;
  }
  #voice dd .mb-40 p {
    font-weight: bold;
    margin-top: 8%;
    font-size: 2.7vw;
  }
  #voice dd .fs-10 {
    font-size: 2.5vw;
  }
  #voice dd div:not(.mb-40) {
    width: 200%;
  }
}

@media screen and (min-width: 769px) {
  /*----------------------------------------
    #problem
  ----------------------------------------*/
  #problem {
    padding: 10% 0 5%;
    background: url(../images/problem-background.jpg) no-repeat center top fixed;
    background-size: cover;
  }
  #problem .inner {
    width: 70%;
    margin: 0 auto;
  }
  #problem .text {
    padding: 10%;
    background: #fff;
  }
.fukidashi_area {
    display: flex;
    justify-content: space-between;
    margin-bottom: .7%;
    flex-wrap: wrap;
}

  /* 吹き出し本体 */
.balloon{
    width: 49.5%;
    position: relative;
    padding: 1% 2%;
    background-color: #f92610;
    filter: drop-shadow(0 0 2px #000)drop-shadow(0 0 5px #000);
    color: #ffffff;
    border-radius: 10px;
    margin-bottom: .7%;
}
#problem .balloon p {
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  position: relative;
}
/* アイコンを下に表示 */
.balloon::before {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    right: 7px;
    bottom: -17px;
    border-top: 30px solid #f92610;
    border-right: 12px solid transparent;
    border-left: 12px solid transparent;
    transform: rotate(-35deg);
}

.fukidashi_area .balloon:nth-child(4n+3)::before {
  left: 7px;
  transform: rotate(22deg);
}
.fukidashi_area .balloon:nth-child(4n+4)::before {
  left: 7px;
  transform: rotate(22deg);
}
  /*----------------------------------------
  #launch
  ----------------------------------------*/
  #launch {
    padding: 10% 0 5%;
    background: url(../images/launch-background.jpg) no-repeat center top fixed;
    background-size: cover;
  }
  #launch .inner {
    margin: 0 auto 10%;
    width: 60%;
  }
  #launch h3 {
    margin: 0 auto 2%;
    width: 60%;
  }
  #launch dl {
    margin-bottom: 10%;
  }
  #launch dt {
    margin-bottom: 1%;
  }
  #launch dd {
    padding: 10%;
    background: #fff;
      margin-top: 2%;
  }
  #launch dd p {
    color: #000;
  }
  #launch .launch-images div {
      margin-right: .1%;
  }
  /*----------------------------------------
  #merit
  ----------------------------------------*/
  #merit {
    padding: 10% 0 5%;
    background: url(../images/merit-background.jpg) no-repeat center top fixed;
    background-size: cover;
  }
  #merit .inner {
    margin: 0 auto 10%;
    width: 60%;
  }
  #merit h3 {
    margin: 0 auto 2%;
    width: 60%;
  }
  #merit dl {
    margin-bottom: 10%;
  }
  #merit dt {
    /* margin-bottom: 5%; */
  }
  #merit dd {
    padding: 7%;
    background: #fff;
  }
  #merit dd p {
    color: #000;
  }
  /*----------------------------------------
  #voice
  ----------------------------------------*/
  #voice {
    padding: 10% 0 5%;
    background: url(../images/voice-background.jpg) no-repeat center top fixed;
    background-size: cover;
  }
  #voice .inner {
    margin: 0 6% 10% 38%;
  }
  #voice h3 {
    margin: 0 auto 2%;
    width: 100%;
  }
  #voice dl {
    margin-bottom: 10%;
    box-shadow: 0 0 9px #788288d6;
  }
  #voice dt {
    margin-bottom: 0%;
    font-size: 2.5rem;
    padding: 2.4% 0% 2%;
    font-weight: bold;
    color: #fff;
    background: #ee0000;
    line-height: 1;
    text-align: center;
  }
  #voice dd {
      padding: 3%;
      background: #fff;
      display: flex;
      align-items: center;
  }
  #voice dd p {
    color: #000;
    font-size: 1.8rem;
    margin-bottom: 3%;
    line-height: 1.5;
  }
  #voice dd .fw-b {
    color: #d00505 !important;
  }
  #voice dd .mb-40 {
    width: 25%;
    text-align: center;
    margin-right: 3%;
  }
  #voice dd .mb-40 p {
    font-weight: bold;
    margin-top: 3%;
  }
  #voice dd .fs-10 {
    font-size: 1.3rem;
  }
}

@media screen and (min-width: 769px) {
  /*----------------------------------------
    #result
  ----------------------------------------*/
  #result {
    background: url(../images/result-background.jpg) no-repeat center top fixed;
    background-size: cover;
    padding: 10% 0 5%;
  }
  #result .overlay {
    background: rgba(0, 0, 0, 0.5);
  }
  #result .inner {
    margin: 0 8% 10% 40%;
  }

  .result-data {
      margin: 0 auto 5%;
      width: 100%;
      height: calc(100vw / 3);
      overflow: hidden!important;
      overflow-y: scroll!important;
      position: relative;
  }
  .result-data h4 {
      width: 80%;
      position: absolute;
      top: 30%;
      left: 50%;
      transform: translateX(-50%);
      z-index: 2;
      margin-top: 0!important;
  }
  .result-data li {
    margin-bottom: 0!important;
  }
  #result .result-chart {
    width: 100%;
    margin: 0 auto;
  }
  /*----------------------------------------
    #media
  ----------------------------------------*/
  #media {
    background: url(../images/media-background.jpg) no-repeat center top fixed;
    background-size: cover;
    padding: 10% 0 5%;
  }
  #media .overlay {
    background: rgba(0, 0, 0, 0.5);
  }
  #media .inner {
    margin: 0 auto 10%;
    width: 60%;
  }

  .media-data {
      margin: 0 auto 5%;
      width: 100%;
      height: calc(100vw / 3);
      overflow: hidden!important;
      overflow-y: scroll!important;
      position: relative;
  }
  .media-data h4 {
      width: 80%;
      position: absolute;
      top: 5%;
      left: 50%;
      transform: translateX(-50%);
      z-index: 2;
      margin-top: 0!important;
  }
  .media-data li {
    margin-bottom: 0!important;
  }
  #media .media-chart {
    width: 70%;
    margin: 0 auto;
  }
}

@media screen and (min-width: 769px) and (max-width: 980px) {
  /* #result .inner {
    width: 80%;
  }
  #media .inner {
    width: 80%;
  } */
}

@media screen and (min-width: 769px) {
  #media h3 {
    margin-bottom: 5%;
  }
  #result h3 {
    margin-bottom: 5%;
  }
  .result-data {
    margin-bottom: 5%;
  }
  .result-data-scroll {
    margin: 0 auto;
    width: 100%;
    height: 600px;
    overflow: scroll;
  }
  .result-data-scroll iframe {
    margin: 0 auto;
    width: 100%;
    height: 400px;
  }
  .result-data-heading-scroll {
    margin: 0 auto 5%;
    width: 100%;
    height: calc(100vw / 2.5);
    overflow: scroll;
    position: relative;
    box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px, rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px, rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px;
  }
}

@media screen and (min-width: 769px) and (max-width: 980px) {
  .result-data-heading-scroll {
    height: calc(100vw / 2.0);
  }
}

@media screen and (min-width: 769px) {
  .result-data-heading-scroll iframe {
    margin: 0 auto;
    width: 100%;
    height: 400px;
  }
  .result-data-heading-scroll h4 {
    width: 80%;
    position: absolute;
    top: 10%;
    left: 10%;
    z-index: 2;
  }
  .result-data-heading-scroll h4 small {
    margin-top: 1em;
    font-size: 15px;
    font-size: 1.5rem;
    color: #fff;
    text-align: center;
    text-shadow: 0 0 10px #000,0 0 10px #000,0 0 10px #000;
    display: block;
  }
  .result-data-heading-scroll .data {
    position: absolute;
    z-index: 1;
  }
  /*----------------------------------------
    #teacher1
  ----------------------------------------*/
  #teacher1 {
    padding: 10% 0 5%;
    background: url(../images/teacher1-background.jpg) no-repeat center top fixed;
    background-size: cover;
  }
  #teacher1 .inner {
    margin: 0 8% 10% 40%;
  }
  #teacher1  .text {
    padding: 10%;
    background: #fff;
  }
  #teacher1 h3 {
    margin-bottom: 5%;
  }
  /*----------------------------------------
    #teacher2
  ----------------------------------------*/
  #teacher2 {
    padding: 10% 0 5%;
    background: url(../images/teacher2-background.jpg) no-repeat center top fixed;
    background-size: cover;
  }
  #teacher2 .inner {
    margin: 0 40% 10% 8%;
  }
  #teacher2  .text {
    padding: 10%;
    background: #fff;
  }
  #teacher2 h3 {
    margin-bottom: 5%;
  }
  #teacher2 .kimura-images div {
      margin-right: .1%;
  }
  /*----------------------------------------
    #solution
  ----------------------------------------*/
  #solution {
    padding: 10% 0 5%;
    background: url(../images/solution-background.jpg) no-repeat center top fixed;
    background-size: cover;
  }
  #solution .inner {
    margin: 0 auto 10%;
    width: 60%;
  }
  #solution  .text {
    padding: 10%;
    background: #fff;
  }
  #solution h3 {
    margin-bottom: 5%;
  }
  /*----------------------------------------
    #epilogue
  ----------------------------------------*/
  #epilogue {
    padding: 10% 0 5%;
    background: url(../images/epilogue-background.jpg) no-repeat center top fixed;
    background-size: cover;
  }
  #epilogue .inner {
    margin: 0 40% 10% 8%;
  }
  #epilogue  .text {
    padding: 10%;
    background: #fff;
  }
  #epilogue h3 {
    margin-bottom: 5%;
  }
}

/*@media screen and (min-width: 769px) and (max-width: 980px) {
  #prologue .inner {
    width: 80%;
  }
}

@media screen and (min-width: 769px) {
  #prologue h3 {
    margin-bottom: 5%;
  }
  #prologue .text {
    padding: 10%;
    background: rgba(0, 0, 0, 0.5);
  }
  #prologue .text p {
    color: #fff;
  }
}*/


.inner-ptop{padding-top: 50px;}

  #media .result-chart li img {
    box-shadow: 0 0 12px #00000094, 0 0 3px #000000;
  }