

/*===============================================
●画面の横幅が769px以上(タブレット・PC)
===============================================*/
@media screen and (min-width: 769px) {

  /* メニューの下線 */
  header nav > ul > li:nth-of-type(4) > a {
    border-bottom: 1px solid #468876;
  }

  .bg_top {
    padding-bottom: 100px;
    background: url(../images/education/bg_top.webp) bottom center no-repeat;
    background-size: cover;
  }

  /* step */
  #step {
    position: relative;
    width: 100%;
    margin: 100px auto 0;
  }
  #step > h2 {
    width: 161px;
    margin: 0 auto;
  }
  #step > p {
    width: 960px;
    margin: 20px auto 0;
    font-size: 14px;
    line-height: 1.7;
    text-align: left;
  }
  #step > p > img {
    width: 143px;
    margin: 20px 0 0 0;
  }
  #step > ul {
    width: 960px;
    margin: 20px auto 0;
    font-size: 14px;
    line-height: 1.7;
    text-align: left;
  }
  #step > ul > li {
    position: relative;
    padding-left: 20px;
  }
  #step > ul > li::before {
    content: '';
    position: absolute;
    top: 5px;
    left: 0;
    width: 14px;
    height: 14px;
    border-radius: 14px;
    background-color: #468876;
  }
  #step > div.inner {
    position: relative;
    width: 95%;
    max-width: 1160px;
    margin: -70px auto 0;
    padding-top: 140px;
  }
  #step > div.inner ul.list {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin: 0 auto;
  }
  #step > div.inner ul.list > li {
    position: relative;
    width: 216px;
    margin: 0;
    padding-bottom: 80px;
  }
  #step > div.inner ul.list > li > img {
    position: absolute;
    left: 0;
    width: 100%;
  }
  #step > div.inner ul.list > li > p {
    margin: 0;
    padding: 0 10px 0 20px;
    font-size: 14px;
    line-height: 1.7;
    text-align: left;
  }
  #step > div.inner ul.list > li > div {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 80px;
    padding: 8px 0 0 15px;
    text-align: left;
  }
  #step > div.inner ul.list > li > div > ul > li {
    position: relative;
    padding-left: 12px;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 500;
    color: #ffffff;
  }
  #step > div.inner ul.list > li > div > ul > li::before {
    content: '';
    position: absolute;
    top: 5px;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 6px;
    background-color: #ffffff;
  }
  #step > div.inner ul.list > li:nth-of-type(1) {
    height: 185px;
    margin-top: 160px;
  }
  #step > div.inner ul.list > li:nth-of-type(1) > img {
    top: -70px;
  }
  #step > div.inner ul.list > li:nth-of-type(1) > div {
    background-color: #466788;
  }
  #step > div.inner ul.list > li:nth-of-type(2) {
    height: 225px;
    margin-top: 120px;
  }
  #step > div.inner ul.list > li:nth-of-type(2) > img {
    top: -117px;
  }
  #step > div.inner ul.list > li:nth-of-type(2) > div {
    background-color: #539FA5;
  }
  #step > div.inner ul.list > li:nth-of-type(3) {
    height: 265px;
    margin-top: 80px;
  }
  #step > div.inner ul.list > li:nth-of-type(3) > img {
    top: -128px;
  }
  #step > div.inner ul.list > li:nth-of-type(3) > div {
    background-color: #5FB9AE;
  }
  #step > div.inner ul.list > li:nth-of-type(4) {
    height: 305px;
    margin-top: 40px;
  }
  #step > div.inner ul.list > li:nth-of-type(4) > img {
    top: -130px;
  }
  #step > div.inner ul.list > li:nth-of-type(4) > div {
    background-color: #60AA96;
  }
  #step > div.inner ul.list > li:nth-of-type(5) {
    height: 345px;
  }
  #step > div.inner ul.list > li:nth-of-type(5) > img {
    top: -130px;
  }
  #step > div.inner ul.list > li:nth-of-type(5) > div {
    background-color: #468876;
  }

  /* detail */
  #detail {
    position: relative;
    z-index: 2;
    width: 100%;
    min-height: 1018px;
    margin: 100px auto 0;
  }
  #detail > div.inner {
    position: relative;
    z-index: 2;
    width: 95%;
    max-width: 1160px;
    margin: 0 auto;
    padding: 80px 0;
    background-color: #ffffff;
    border-radius: 30px;
  }
  #detail > div.inner > h2 {
    width: 244px;
    margin: 0 auto;
  }
  #detail > div.inner ul {
    display: flex;
    flex-wrap: wrap;
    width: 960px;
    margin:   60px auto 0;
  }
  #detail > div.inner ul > li {
    position: relative;
    width: 320px;
    margin: 0 auto;
    padding: 20px;
    border: 1px solid #E5E5E5;
  }
  #detail > div.inner ul > li::before {
    content: '';
    position: absolute;
    top: 0;
    left: 20px;
    width: 30px;
    height: 3px;
    background-color: #468876;
  }
  #detail > div.inner ul > li > img.no {
    position: absolute;
    top: 30px;
    left: 30px;
    width: auto;
    height: 23px;
  }
  #detail > div.inner ul > li > img.img {
    width: 100%;
    margin: 0 auto;
  }
  #detail > div.inner ul > li > p:nth-of-type(1) {
    margin-top: 15px;
    font-size: 20px;
    font-weight: 700;
    color: #468876;
    line-height: 1.7;
    text-align: left;
  }
  #detail > div.inner ul > li > p:nth-of-type(2) {
    margin-top: 10px;
    font-size: 14px;
    line-height: 1.7;
    text-align: left;
  }
  #detail > div.bg {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    background-color: #ffffff;
  }

  /* voice */
  #voice {
    position: relative;
    width: 100%;
    padding: 100px 0 150px;
    background: url(../images/education/voice_bg.webp) top center no-repeat;
    background-size: cover;
  }
  #voice > h2 {
    width: 744px;
    margin: 0 auto;
  }
  #voice > ul.comment {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 960px;
    margin: 30px auto 0;
  }
  #voice > ul.comment > li {
    position: relative;
    width: 300px;
    padding: 20px 15px;
    font-size: 14px;
    line-height: 1.5;
    text-align: left;
    background-color: #ffffff;
    border: 1px solid #468876;
    border-radius: 20px;
  }
  #voice > ul.comment > li > span {
    font-weight: 700;
    color: #468876;
  }
  #voice > ul.comment > li:nth-of-type(1)::before {
    content: '';
    position: absolute;
    bottom: -21px;
    right: 54px;
    width: 19px;
    height: 21px;
    background: url(../images/education/voice_bg01.webp) top center no-repeat;
    background-size: 19px;
  }
  #voice > ul.comment > li:nth-of-type(2)::before {
    content: '';
    position: absolute;
    bottom: -22px;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 18px;
    height: 22px;
    background: url(../images/education/voice_bg02.webp) top center no-repeat;
    background-size: 18px;
  }
  #voice > ul.comment > li:nth-of-type(3)::before {
    content: '';
    position: absolute;
    bottom: -21px;
    left: 54px;
    width: 19px;
    height: 21px;
    background: url(../images/education/voice_bg03.webp) top center no-repeat;
    background-size: 19px;
  }
  #voice > p.flow_title {
    width: 960px;
    margin: 70px auto 0;
  }
  #voice > p.flow_title > img {
    width: 144px;
    margin: 0;
  }
  #voice > p.flow_txt {
    width: 960px;
    margin: 20px auto 0;
    font-size: 14px;
    line-height: 1.7;
    text-align: left;
  }
  #voice > div.flow ul {
    display: flex;
    flex-wrap: wrap;
    width: 960px;
    margin: 45px auto 0;
  }
  #voice > div.flow ul > li {
    position: relative;
    width: 306px;
    height: 256px;
    margin: 0 20px 0 0;
    padding: 30px 13px 0 13px;
    text-align: left;
    background-color: #FFEAD0;
  }
  #voice > div.flow ul > li:nth-of-type(3) {
    margin: 0;
  }
  #voice > div.flow ul > li:nth-of-type(4) {
    margin: 20px 20px 0 180px;
  }
  #voice > div.flow ul > li:nth-of-type(5) {
    margin: 20px 0 0 0;
  }
  #voice > div.flow ul > li::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 294px;
    height: 244px;
    border: 1px solid #ffffff;
  }
  #voice > div.flow ul > li > img.no {
    position: absolute;
    top: -35px;
    left: -35px;
    width: auto;
    height: 70px;
  }
  #voice > div.flow ul > li > p.txt01 {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
  }
  #voice > div.flow ul > li > p.txt02 {
    margin-top: 2px;
    font-size: 14px;
    line-height: 1.3;
  }
  #voice > div.flow ul > li:nth-of-type(2) {
    background-color: #FFD4A1;
  }
  #voice > div.flow ul > li:nth-of-type(3) {
    background-color: #FFBF72;
  }
  #voice > div.flow ul > li:nth-of-type(4) {
    background-color: #FFAB42;
  }
  #voice > div.flow ul > li:nth-of-type(5) {
    background-color: #FF9514;
  }
  #voice > img.illust01 {
    position: absolute;
    top: -38px;
    right: 44px;
    width: 229px;
  }
  #voice > img.illust02 {
    position: absolute;
    bottom: -33px;
    left: -72px;
    width: 373px;
  }


  footer{
    margin-top: 0;
  }

}

/*===============================================
●画面の横幅が768px以下(スマホのみ)
===============================================*/
@media screen and (max-width: 768px) {

  .bg_top {
    padding-bottom: 60px;
    background: url(../images/education/bg_top_sp.webp) bottom center no-repeat;
    background-size: cover;
  }

  /* step */
  #step {
    position: relative;
    width: 100%;
    margin: 40px auto 0;
  }
  #step > h2 {
    width: 93px;
    margin: 0 auto;
  }
  #step > p {
    width: 90%;
    margin: 20px auto 0;
    font-size: 14px;
    line-height: 1.7;
    text-align: left;
  }
  #step > p > img {
    width: 123px;
    margin: 20px 0 0 0;
  }
  #step > ul {
    width: 90%;
    margin: 10px auto 0;
    font-size: 14px;
    line-height: 1.7;
    text-align: left;
  }
  #step > ul > li {
    position: relative;
    padding-left: 20px;
  }
  #step > ul > li::before {
    content: '';
    position: absolute;
    top: 5px;
    left: 0;
    width: 14px;
    height: 14px;
    border-radius: 14px;
    background-color: #468876;
  }
  #step > div.inner {
    position: relative;
    width: 90%;
    margin: 0 0 0 10%;
    padding: 135px 0 20px 0;
    overflow-x: scroll;
  }

  #step .simplebar-track.simplebar-horizontal {
    width: 100%;
    height: 3px;
    margin: 0 auto;
    background: #ffffff;
  }
  #step .simplebar-scrollbar {
    height: 3px !important;
    background: #468876 !important;
    top: 0 !important;
  }
  #step .simplebar-scrollbar:before {
    background: #468876 !important;
  }

  #step > div.inner::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
  }

  #step > div.inner::-webkit-scrollbar-track {
    background: transparent;
  }

  #step > div.inner::-webkit-scrollbar-thumb {
    background-color: transparent;
  }

  #step > div.inner ul.list {
    display: flex;
    width: 1200px;
    margin: 0 auto;
  }
  #step > div.inner ul.list > li {
    position: relative;
    width: 216px;
    margin: 0 20px 0 0;
    padding-bottom: 80px;
  }
  #step > div.inner ul.list > li > img {
    position: absolute;
    left: 0;
    width: 100%;
  }
  #step > div.inner ul.list > li > p {
    margin: 0;
    padding: 0 10px 0 20px;
    font-size: 14px;
    line-height: 1.7;
    text-align: left;
  }
  #step > div.inner ul.list > li > div {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 80px;
    padding: 8px 0 0 15px;
    text-align: left;
  }
  #step > div.inner ul.list > li > div > ul > li {
    position: relative;
    padding-left: 12px;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 500;
    color: #ffffff;
  }
  #step > div.inner ul.list > li > div > ul > li::before {
    content: '';
    position: absolute;
    top: 5px;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 6px;
    background-color: #ffffff;
  }
  #step > div.inner ul.list > li:nth-of-type(1) {
    height: 185px;
    margin-top: 160px;
  }
  #step > div.inner ul.list > li:nth-of-type(1) > img {
    top: -70px;
  }
  #step > div.inner ul.list > li:nth-of-type(1) > div {
    background-color: #466788;
  }
  #step > div.inner ul.list > li:nth-of-type(2) {
    height: 225px;
    margin-top: 120px;
  }
  #step > div.inner ul.list > li:nth-of-type(2) > img {
    top: -117px;
  }
  #step > div.inner ul.list > li:nth-of-type(2) > div {
    background-color: #539FA5;
  }
  #step > div.inner ul.list > li:nth-of-type(3) {
    height: 265px;
    margin-top: 80px;
  }
  #step > div.inner ul.list > li:nth-of-type(3) > img {
    top: -128px;
  }
  #step > div.inner ul.list > li:nth-of-type(3) > div {
    background-color: #5FB9AE;
  }
  #step > div.inner ul.list > li:nth-of-type(4) {
    height: 305px;
    margin-top: 40px;
  }
  #step > div.inner ul.list > li:nth-of-type(4) > img {
    top: -130px;
  }
  #step > div.inner ul.list > li:nth-of-type(4) > div {
    background-color: #60AA96;
  }
  #step > div.inner ul.list > li:nth-of-type(5) {
    height: 345px;
  }
  #step > div.inner ul.list > li:nth-of-type(5) > img {
    top: -130px;
  }
  #step > div.inner ul.list > li:nth-of-type(5) > div {
    background-color: #468876;
  }

  /* detail */
  #detail {
    position: relative;
    z-index: 2;
    width: 100%;
    margin: 60px auto 0;
  }
  #detail > div.inner {
    position: relative;
    z-index: 2;
    width: 95%;
    margin: 0 auto;
    padding: 30px 0;
    background-color: #ffffff;
    border-radius: 30px;
  }
  #detail > div.inner > h2 {
    width: 140px;
    margin: 0 auto;
  }
  #detail > div.inner .slider-wrapper {
    position: relative;
  }
  #detail > div.inner .custom-dots-container {
    position: absolute;
    z-index: 999;
    right: 20px;
    bottom: 30px;
    display: flex;
    flex-direction: column;
  }
  #detail > div.inner .custom-dots-container ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  #detail > div.inner .custom-dots-container li {
    margin: 5px 0;
    width: 5px;
    height: 5px;
  }
  #detail > div.inner .custom-dots-container button {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #9F9F9F;
    border: none;
  }
  #detail > div.inner .custom-dots-container .slick-active button {
    background: #468876;
  }
  #detail > div.inner ul.education_slider {
    width: 95% !important;
    margin: 30px auto 0;
  }
  #detail > div.inner ul.education_slider li {
    position: relative;
    width: 90% !important;
    min-height: 412px;
    margin: 0 auto;
    padding: 20px;
    border: 1px solid #E5E5E5;
  }
  #detail > div.inner ul.education_slider li::before {
    content: '';
    position: absolute;
    top: 0;
    left: 20px;
    width: 30px;
    height: 3px;
    background-color: #468876;
  }
  #detail > div.inner ul.education_slider li img.no {
    position: absolute;
    top: 30px;
    left: 30px;
    width: auto;
    height: 23px;
  }
  #detail > div.inner ul.education_slider li img.img {
    width: 100%;
    margin: 0 auto;
  }
  #detail > div.inner ul.education_slider li > p:nth-of-type(1) {
    margin-top: 15px;
    font-size: 20px;
    font-weight: 700;
    color: #468876;
    line-height: 1.7;
    text-align: left;
  }
  #detail > div.inner ul.education_slider li > p:nth-of-type(2) {
    margin-top: 10px;
    font-size: 14px;
    line-height: 1.7;
    text-align: left;
  }
  #detail .education_slider{
    opacity: 0;
    transition: opacity .3s linear;
  }
  #detail .education_slider.slick-initialized{
    opacity: 1;
  }

  #detail img.arrow {
    position: absolute;
    z-index: 4;
    bottom: 10px;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 7px;
  }

  #detail > div.bg {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    background-color: #ffffff;
  }

  #detail > div.bg {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    background-color: #ffffff;
  }

  /* voice */
  #voice {
    position: relative;
    width: 100%;
    padding: 60px 0 80px;
    background: url(../images/education/voice_bg_sp.webp) top center no-repeat;
    background-size: cover;
  }
  #voice > h2 {
    width: 282px;
    margin: 0 auto;
  }
  #voice > ul.comment {
    width: 100%;
    margin: 30px auto 0;
  }
  #voice > ul.comment > li {
    position: relative;
    width: 80%;
    margin: 30px auto 0;
    padding: 20px 25px;
    font-size: 14px;
    line-height: 1.5;
    text-align: left;
    background-color: #ffffff;
    border: 1px solid #468876;
    border-radius: 20px;
  }
  #voice > ul.comment > li > span {
    font-weight: 700;
    color: #468876;
  }
  #voice > ul.comment > li:nth-of-type(1)::before {
    content: '';
    position: absolute;
    bottom: -21px;
    right: 54px;
    width: 19px;
    height: 21px;
    background: url(../images/education/voice_bg01.webp) top center no-repeat;
    background-size: 19px;
  }
  #voice > ul.comment > li:nth-of-type(2)::before {
    content: '';
    position: absolute;
    bottom: -21px;
    left: 54px;
    width: 19px;
    height: 21px;
    background: url(../images/education/voice_bg03.webp) top center no-repeat;
    background-size: 19px;
  }
  #voice > ul.comment > li:nth-of-type(3)::before {
    content: '';
    position: absolute;
    bottom: -21px;
    right: 54px;
    width: 19px;
    height: 21px;
    background: url(../images/education/voice_bg01.webp) top center no-repeat;
    background-size: 19px;
  }
  #voice > ul.comment > li > p:nth-of-type(1) {
    font-size: 14px;
    line-height: 1.7;
  }
  #voice > ul.comment > li > p:nth-of-type(2) {
    margin-top: 5px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.7;
  }
  #voice > p.flow_title {
    width: 90%;
    margin: 50px auto 0;
  }
  #voice > p.flow_title > img {
    width: 144px;
    margin: 0;
  }
  #voice > p.flow_txt {
    width: 90%;
    margin: 20px auto 0;
    font-size: 14px;
    line-height: 1.7;
    text-align: left;
  }

  #voice > div.flow {
    position: relative;
    z-index: 2;
    width: 95%;
    margin: 20px 0 0 5%;
    padding: 50px 0 20px 35px;
    overflow-x: scroll;
  }

  #voice .simplebar-track.simplebar-horizontal {
    width: 100%;
    height: 3px;
    margin: 0 auto;
    background: #ffffff;
  }
  #voice .simplebar-scrollbar {
    height: 3px !important;
    background: #FFBF72 !important;
    top: 0 !important;
  }
  #voice .simplebar-scrollbar:before {
    background: #FFBF72 !important;
  }

  #voice > div.flow::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
  }
  #voice > div.flow::-webkit-scrollbar-track {
    background: transparent;
  }
  #voice > div.flow::-webkit-scrollbar-thumb {
    background-color: transparent;
  }

  #voice > div.flow ul {
    display: flex;
    width: 1645px;
    margin: 0;
  }
  #voice > div.flow ul > li {
    position: relative;
    width: 306px;
    height: 280px;
    margin: 0 25px 0 0;
    padding: 35px 13px 0 13px;
    text-align: left;
    background-color: #FFEAD0;
  }
  #voice > div.flow ul > li:nth-of-type(5) {
    margin: 0;
  }
  #voice > div.flow ul > li::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 294px;
    height: 268px;
    border: 1px solid #ffffff;
  }
  #voice > div.flow ul > li > img.no {
    position: absolute;
    top: -35px;
    left: -25px;
    width: auto;
    height: 70px;
  }
  #voice > div.flow ul > li > p.txt01 {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
  }
  #voice > div.flow ul > li > p.txt02 {
    margin-top: 5px;
    font-size: 14px;
    line-height: 1.3;
  }
  #voice > div.flow ul > li:nth-of-type(2) {
    background-color: #FFD4A1;
  }
  #voice > div.flow ul > li:nth-of-type(3) {
    background-color: #FFBF72;
  }
  #voice > div.flow ul > li:nth-of-type(4) {
    background-color: #FFAB42;
  }
  #voice > div.flow ul > li:nth-of-type(5) {
    background-color: #FF9514;
  }
  #voice > img.illust01 {
    position: absolute;
    top: -33px;
    right: -15px;
    width: 136px;
  }
  #voice > img.illust02 {
    position: absolute;
    z-index: 1;
    bottom: -35px;
    left: -63px;
    width: 177px;
  }


  footer{
    margin-top: 0;
  }

}
