@charset "UTF-8";

:root {
    --innerPC: 1000px;
    --innerPaddingPC: 4rem;
    --innerPaddingPCx2: 8rem;
    --innerPaddingSP: 2rem;
    --innerPaddingSPx2: 4rem;
    --fontx1: 1.6rem;
    --courseBasic:#094779;
    --courseMarketing:#094779;
    --courseSales:#1C4586;
    --blue: #2368A7;
}

* {
    padding: 0;
    margin: 0;
}

/* common */

.com_orangebtn {
    background-color: #ffa41c;
    color: white;
    border: 1px solid #ffa41c;
    transition: all 0.2s ease-out;
}

.com_orangebtn:hover {
    color: #ffa41c !important;
    background-color: white !important;
}

.com_greenbtn {
  background-color: #56c13b;
  color: white;
  border: 1px solid #56c13b;
  transition: all 0.2s ease-out;
}

.com_greenbtn:hover {
  color: #56c13b !important;
  background-color: white !important;
}

/* /common */

@media (min-width: 769px) {
    body,
    html {
        font-size: 10px;
    }
    body {
        padding-top: 80px;
    }
}

@media (max-width: 768px) {

    body,
    html {
        font-size: 2.57vw;
        /* 1rem=10px */
    }
    body {
        padding-top: 4.8rem;
    }
}

/* const main */

main {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-wrap: wrap;
}

@media (min-width: 769px) {
    main>section {
        width: 100%;
        display: flex;
        justify-content: center;
        padding: var(--innerPaddingPC) 0;
    }

    main > section .-inner,footer .-inner {
        max-width: 1000px;
        width: 90%;
    }
    footer {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
}

@media (max-width: 768px) {
    main>section {
        width: 100%;
        padding: 2.2rem;
    }
}

/* const mainvisual */
/* ページごとの個別コード */

@media (min-width: 769px) {
    #mainvisual {
        background: url('/img/mv/mv_bg_pc.webp') bottom center no-repeat;
        background-size: cover;
        height: 540px;
        position: relative;
        overflow-x: hidden;
    }
    #mainvisual h2 picture {
        width: 570px;
        display: block;
    }
    #mainvisual:after {
        content: '';
        display: block;
        background: url("/img/mv/mv_img_pc.webp") bottom center no-repeat;
        background-size: 100% auto;
        height: 610px;
        width: 400px;
        bottom: 0;
        position: absolute;
        left: 50%;
        transform: translateX(17%);
    }
    .mainwrapper {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-91%, -57%);
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }
    .mainwrapper ul {
        display: flex;
        gap: 20px;
        padding: 10px 20px;
    }
    .mainwrapper .mainlist {
        width: 140px;
        height: 140px;
    }
    .mainwrapper .mainlist.list1 {
        background: url('/img/mv/mv_list1_pc.svg') top center no-repeat;
        background-size: 100% auto;
    }
    .mainwrapper .mainlist.list2 {
        background: url('/img/mv/mv_list2_pc.svg') top center no-repeat;
        background-size: 100% auto;
    }
    .mainwrapper .mainlist.list3 {
        background: url('/img/mv/mv_list3_pc.svg') top center no-repeat;
        background-size: 100% auto;
    }
    .mainwrapper .mainlist span {
        display: none;
    }

    #mainvisual #floatingCTA:not(.btnScroll) {
        display: flex;
        justify-content: center;
        gap: 2rem;
        align-items: center;
        width: 76%;
    }
    #mainvisual #floatingCTA:not(.btnScroll) li {
        width: 100%;
        height: 100%;
    }
    .greenbtn{
      display: flex;
        align-items: center;
        background-color: #56c13b;
        color: #fff;
        width: 100%;
        height: 100%;
        font-weight: 900;
        border-radius: 0.5rem;
        padding: 2rem 0;
        justify-content: center;
        font-size: 1.6rem;
    }
    .greenbtn:hover{
      background: white;
        color: #56c13b;
        transition: 0.5s;
    }
    .orangebtn{
      display: flex;
        align-items: center;
        background-color: #ffa41c;
        color: white;
        width: 100%;
        height: 100%;
        font-weight: 900;
        border-radius: 0.5rem;
        padding: 2rem 0;
        justify-content: center;
        font-size: 1.6rem;
    }
    .orangebtn:hover{
      background: white;
        color: #ffa41c;
        transition: 0.5s;
    }
}

@media (max-width: 1170px) and (min-width: 769px) {
    #mainvisual {
        height: auto;
    }
    #mainvisual h2 picture {
        width: 100%;
    }
    #mainvisual:before {
        content: '';
        width: 100%;
        padding-top: 39%;
    }
    #mainvisual:after {
        width: 35%;
        right: 9%;
        left: auto;
        transform: none;
    }
    .mainwrapper {
        position: absolute;
        width: 50%;
        top: 50%;
        left: 5%;
        transform: translate(0%, -57%);
    }
    .mainwrapper .mainlist {
        width: 26%;
        height: auto;
    }
    .mainwrapper .mainlist:before {
        content: '';
        display: block;
        width: 100%;
        padding-top: 100%;
    }

    #mainvisual #floatingCTA:not(.btnScroll) {
        width: 89%;
    }
}

@media (max-width: 768px) {
    #mainvisual {
        height: 64rem;
        background: url("/img/mv/mv_bg_sp.jpg") top center no-repeat;
        background-size: 100% auto;
    }
    #mainvisual h2 {
        display: none;
    }
}

/* /const mainvisual */


/* const campaign */
#campaign {
    background: #eff0fa;
}

@media (min-width: 769px) {
    #campaign .is_sp {
        display: none;
    }
}

@media (max-width: 768px) {
    #campaign .is_pc {
        display: none;
    }

    #campaign {
        padding: 0;
    }
}

/* /const campaign */

/* const purpose */
#purpose {
  padding: var(--innerPaddingPCx2) 0;
}

#purpose .-inner {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 3rem;
}

.purpose-reason {
  display: flex;
  gap: 1em;
  flex-direction: column;
  text-align: center;
}

.purpose-reason p {
  line-height: 2.4em;
  font-weight: 700;
}

.purpose-reason .source {
  line-height: 1.4em;
  font-size: 0.6em;
}

.purpose-reason .highlight {
  background-color: white;
  color: #242533;
  font-weight: 700;
  font-size: var(--fontx1);
  position: relative;
  padding: 0rem;
}

@media (min-width: 769px) and (max-width: 1000px) {
  #purpose {
    padding-bottom: 25%!important;
  }
}

@media (min-width: 769px) {
  #purpose {
    background: url("/img/purpose_bg.png") center bottom no-repeat;
    background-size: cover;
    color: white;
    text-align: auto 100%;
    font-size: var(--fontx1);
    padding-bottom: 18%;
  }

  #purpose h2 {
      display: flex;
      font-size: 4rem;
      flex-direction: column;
      align-items: center;
      gap: 2rem;
  }

  #purpose h2:after {
      content: '';
      display: block;
      height: 2px;
      background-color: white;
      width: 4rem;
  }
}

@media (max-width: 768px) {
  #purpose {
      background: url("/img/purpose_bg.png") center top no-repeat;
      background-size: auto 100%;
      color: white;
      text-align: center;
      font-size: var(--fontx1);
      padding: 35px 2.2rem 21rem;
  }

  #purpose h2 {
      display: flex;
      font-size: 2.4rem;
      flex-direction: column;
      align-items: center;
      gap: 2rem;
      line-height: 1.4em;
  }

  #purpose h2:after {
      content: '';
      display: block;
      height: 2px;
      background-color: white;
      width: 4rem;
  }
  .purpose-reason .highlight {
      font-size: 1.5rem;
      padding: 0 0.2rem;
  }

  .purpose-reason p {
      font-size: 1.5rem;
      line-height: 1.6em;
      font-weight: 700;
      text-align: left;
  }

  .purpose-reason small {
      font-size: 0.6em;
      transform: translateY(0.5em);
  }

  .purpose-reason p br:not(.is_sp) {
    display: none;
  }

}

/* /const purpose */

/* /const sales_up */
#purpose div.-inner .sales_up{
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 60%;
}
#purpose div.-inner .sales_up .content {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  width: 100%;
  background-color: white;
  padding: 2rem;
  gap: 1.2rem;
}
#purpose div.-inner .sales_up p {
  font-size: 2rem;
  color: black;
  font-weight: 700;
  line-height: 1.6em;
}

#purpose div.-inner .sales_up p.reference {
  font-size: 1rem;
  color: black;
  font-weight: 400;
  line-height: 1.6em;
}

@media (max-width:768px){
  #purpose div.-inner .sales_up {
    width: 100%;
}
  #purpose div.-inner .sales_up div{
    max-width: 90vw;
    width: 100%;
    padding: 11vw 3.5vw 8.53vw;
  }
  #purpose div.-inner .sales_up picture{
    width: 100%;
  }
  #purpose div.-inner .sales_up picture source,#purpose div.-inner .sales_up picture img{
    width: 100%;
    max-width: none;
  }
}
@media (max-width:768px){
  #purpose div.-inner .sales_up div p{
    font-size: 4.8vw;
  }
}

#purpose div.-inner .sales_up div img{
  width: 100%;
}

#purpose div.-inner .sales_up div .people{
  max-width: 27.5vw;
  width: 100%;
}
@media (max-width:768px){
  #purpose div.-inner .sales_up div .people{
    max-width: 71.3vw;
  }
}
#purpose div.-inner .sales_up .reference{
  align-self: flex-start;
  background-color: unset;
  padding: 1.4vw 0 0 0;
  margin-top: 0;
}
#purpose div.-inner .sales_up .reference p{
  color: #FFFFFF;
  text-align: left;
  font-size: 1vw;
  line-height: 180%;
  font-weight: normal;
}
@media (max-width:768px) {
  #purpose div.-inner .sales_up .reference p{
    font-size: 2.66vw;
  }
}
@media (min-width:769px){
  #purpose div.-inner .sales_up .reference p{
    font-size: 1.4rem;
  }
}

/* /const rankup */
#rankup .title{
  text-align: center;
}
#rankup .title {
  font-size: 4rem;
  font-style: normal;
  font-weight: 900;
  line-height: 140%;
  background: var(--courseMarketing);
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
  margin-bottom: 2rem;
}
#rankup .highlight {
  background: var(--courseMarketing);
  color: white;
  font-weight: 700;
  padding: 1rem;
}
#rankup p {
  color: var(--_333, #333);
  text-align: center;
  font-family: "M PLUS Rounded 1c";
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 200%;
  text-align: center;
}

@media (min-width:768px) {
  #rankup .is_sp {
    display: none;
  }
}

@media (max-width:768px) {
  #rankup .title {
    font-size: 2.4rem;
  }
  #rankup .-inner {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding-bottom: 3rem;
  }
  #rankup p {
    font-size: 1.6rem;
    text-align: left;
  }
  #rankup p br {
    display: none;
  }
  #rankup p br.is_sp {
    display: block;
  }
}

/* const recommend */

#recommend {
  padding-top: 30px;
  background: #fbf6e4;
}
#recommend h2 {
    display: flex;
    font-size: 3.2rem;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
    color: black;
}

#recommend h2:after {
    content: '';
    display: block;
    height: 2px;
    background-color: black;
    width: 4rem;
}

#recommend h3 {
  color: #094779;
}

@media (min-width: 769px) {
  #recommend {
    padding-top: 70px;
    background: #fbf6e4;
  }
}
#recommend h3{
  font-size: 2.77vw;
}
@media (max-width: 768px) {
  #recommend h3{
    padding-top: 2rem;
    font-size: 2rem;
    text-align: center;
    color: var(--courseMarketing);
    line-height: 1.6em;

  }
}
@media (min-width: 769px) {
  #recommend h3{
    font-size: 4rem;
    line-height: 1.6;
    letter-spacing: .05em;
    text-align: center;
    font-size: 40px;
    font-style: normal;
    font-weight: 700;
    line-height: 160%; 
    letter-spacing: 2px;
  }
}
@media (min-width: 769px) {
  #recommend div.-inner {
    max-width: 1130px;
    width: 100%;
  }
}
#recommend ul {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-top: 50px;
  justify-content: center;
  max-width: 163.47vw;
  width: 100%;
}
@media (max-width: 768px) {
  #recommend ul {
    flex-direction: column;
    flex-wrap: nowrap;
    width: 100%;
  }
}
@media (min-width: 769px) {
  #recommend ul {
    gap: 40px;
  }
}
#recommend ul li {
  width: 100%;
  margin-bottom: 20px;
}
#recommend ul li {
  max-width: 24.3vw;
  background-color: #fff;
  position: relative;
  margin-bottom: 2.08vw;
  padding: 2.77vw 2.08vw 2.08vw 2.08vw;
}
@media (max-width: 768px) {
  #recommend ul li {
    width: 100%;
    padding: 1.6rem;
    max-width: unset;
    margin-bottom: 7.08vw;
  }
}
@media (min-width: 769px) {
  #recommend ul li {
    width: 33%;
    padding: 2rem;
    margin: 0;
  }
  #recommend ul li p {
      font-size: 1.4rem;
      line-height: 1.8em;
  }
}
#recommend ul li:nth-child(2) {
  margin: 0 2.7vw;
}
@media (max-width: 768px) {
  #recommend ul li:nth-child(2) {
    margin-bottom: 7.08vw;
    margin-left: 0;
    margin-right: 0;
  }
}
@media (min-width: 769px) {
  #recommend ul li:nth-child(2) {
    margin-inline: 0;
  }
}
#recommend ul li:nth-child(5) {
  margin: 0 2.7vw;
}
@media (max-width: 768px) {
  #recommend ul li:nth-child(5) {
    margin-bottom: 7.08vw;
    margin-left: 0;
    margin-right: 0;
  }
}
@media (min-width: 769px) {
  #recommend ul li:nth-child(5) {
    margin-inline: 0;
  }
}
#recommend ul li div {
  display: flex;
  align-items:center;
  position: absolute;
  top: -11px;
  /* left: 46px; */
}
@media (max-width: 768px) {
  #recommend ul li div {
    left: 3vw;
    top: -3vw;
  }
}
#recommend ul li div p{
  font-size: 20px;
  color: #FFFFFF;
  font-weight: bold;
  background-color: #1C4586;
}
@media (max-width: 768px) {
  #recommend ul li div p{
    font-size: 3.5vw;
  }
}

#recommend ul li .recommend_title{
  position: absolute;
  top: 0;
  left: 0;
}

@media (min-width: 769px) {
    #recommend ul li .recommend_title {
        height: 2rem;
        width: auto;
        transform: translate(2rem,-50%);
    }
}

@media (max-width: 768px) {
    #recommend ul li p{
        font-size: 1.2rem;
        line-height: 1.6em;
    }
    #recommend ul li .recommend_title {
        height: 2rem;
        width: auto;
        transform: translate(1rem,-50%);
    }
}

/* const slick */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: -25px;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  width: 0.7rem;
  height: 0.7rem;
  margin: 0 1rem;
  padding: 0;
  cursor: pointer;
}

.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  padding: 5px;
  width: 0.7rem;
  height: 0.7rem;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
}

.slick-dots li button:hover,
.slick-dots li button:focus
{
  outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before
{
  opacity: 1;
}
.slick-dots li button:before
{
  position: absolute;
  top: 0;
  left: 0;
  width: 0.7rem;
  height: 0.7rem;
  content: '';
  text-align: center;
  opacity: .25;
  border-radius: 1rem;
  background-color: var(--courseBasic);
}
.slick-dots li.slick-active button:before
{
  opacity: .75;
  color: black;
}

/* /const slick */

/* /const feature */
/* const feature */
#feature {
    background-color: #F0F5F9;
    padding: var(--innerPaddingPCx2) 0;
}

#feature .-inner {
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
}
/* const feature */
#feature h2 {
    display: flex;
    font-size: 4rem;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
}

#feature h2 span span{
  font-size: 4rem;
}

#feature h2:after {
    content: '';
    display: block;
    height: 2px;
    background-color: black;
    width: 4rem;
}

#feature {
    background: url("/img/feature_bg.png") center top no-repeat;
    padding: 14rem 0;
    position: relative;
    background: url("/img/feature_bg.png") center top no-repeat;
    background-size: cover;
}

#feature .-container {
    display: flex;
    flex-direction: column;
    gap: 8rem;
    align-items: center;
}

#feature .-item {
    width: 90%;
    max-width: 1000px;
    background-color: white;
    border-radius: 1rem;
    box-shadow: 2px 2px 7px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 1.6rem;
    padding: 3em 4em;
    position: relative;
    gap: 3.2rem;
    box-shadow: 3px 3px 20px 0px rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: 3px 3px 20px 0px rgba(0, 0, 0, 0.3);
}

#feature .-item::before {
    content: '';
    display: block;
    width: 14rem;
    height: 7rem;
    position: absolute;
    left: 0;
    top: 0;
    transform: translate(9rem, -46%);
}

#feature .-item.process1::before {
    background: url("/img/feature_deco01.png") top left no-repeat;
    background-size: 100% auto;
}

#feature .-item.process2::before {
    background: url("/img/feature_deco02.png") top left no-repeat;
    background-size: 100% auto;
}

#feature .-item.process3::before {
    background: url("/img/feature_deco03.png") top left no-repeat;
    background-size: 100% auto;
}

#feature .-item.process1 .process-detail  {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1.6rem;
    align-items: center;
}

#feature .-item.process1 p {
    width: calc(70% - 1.6rem);
    line-height: 1.8em;
}

#feature .-item.process1 .strong {
    font-weight: 700;
    color: #094779;
}

#feature .-item.process1 img {
    width: 30%;
    font-weight: 700;
}

#feature .-item.process2 .feature-examples {
    font-size: 2.4rem;
    line-height: 1em;
    font-weight: 700;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--fontx1);
}

#feature .-item.process2 .feature-examples:after {
    content: '';
    display: block;
    width: 16em;
    height: 1em;
    background: url('/img/plus_a_deco.png') top left no-repeat;
    background-size: 100% auto;
}

#feature h3.title {
    font-size: 3.2rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.6em;
}

#feature h3.title .highlight {
    background: var(--courseMarketing);
    color: white;
    font-weight: 700;
    font-size: inherit;
}

#feature .-item .courses {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--fontx1);
    width: 100%;
}

#feature .-wrapper {
    width: 100%;
    padding: calc(var(--fontx1) * 2);
    background-color: #F0F5F9;
    border-radius: 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3.2rem;
}

#feature .-wrapper h3 {
    font-size: 3.2rem;
    color: var(--courseBasic);
}

#feature .feature-courses {
    display: flex;
    gap: var(--fontx1);
}

#feature .course-box {
    width: 25%;
    margin-right: 5px;
}


#feature .swiper-wrapper {
    justify-content: space-between;
}

#feature .course-box .title {
    font-size: 1.6rem;
    font-weight: 700;
    text-align: center;
    height: 3.2em;
    display: flex;
    flex-direction: column;
    line-height: 1.5em;
    justify-content: center;
}

#feature .course-box p {
    font-size: 1.2rem;
    line-height: 1.8em;
}

#feature .process3 .-system {
    display: flex;
}

#feature .process3 .-system li {
    width: 33%;
    display: flex;
    flex-direction: column;
    background-color: white;
    padding: var(--fontx1);
    gap: 1.6rem;
}

#feature .process3 .text-box > div {
    display: flex;
    justify-content: left;
    gap: 1rem;
}

#feature .process3 .text-box > div p {
    font-size: 1.4rem;
    line-height: 1.5em;
    font-weight: 700;
}

#feature .process3 .text-box > div p span {
    color: var(--courseMarketing);
}

#feature .process3 .text-box > div img {
    width: 20%;
    height: auto;
}

#feature .process3 .text-box > p {
    font-size: 1.2rem;
    line-height: 1.8em;
}

#feature .list {
  font-size: 2.8rem;
  font-weight: 700;
}

#feature .-item.process2 .feature-examples {
    font-size: 2.4rem;
    line-height: 1em;
    font-weight: 700;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--fontx1);
}

#feature .-item.process2 .feature-examples:after {
    content: '';
    display: block;
    width: 16em;
    height: 1em;
    background: url("/img/plus_a_deco.png") top left no-repeat;
    background-size: 100% auto;
}

#feature .-item.process2 ul.-contents {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: space-around;
    justify-content: center;
    gap: 1.4rem;
}

#feature .-item.process2 ul.-contents li {
    width: 100%;
    text-align: center;
    font-weight: 700;
}

#feature .-item.process2 ul.-contents li:before {
    content:'▶';
    display:inline;
    margin-right: 0.2em;
    color: #777;
}

@media (min-width: 769px) {
    #feature .swiper {
        overflow: visible;
    }
}

@media (max-width: 1000px) and (min-width: 769px) {
    #feature {
        background-size: auto 100%;
    }
    #feature .-item {
        padding: 3em;
    }
    #feature .-item.process2 ul.-contents {
        gap: 1rem;
    }
    #feature .-contents {
        font-size: 1.2rem;
    }
    #feature .-wrapper {
        padding: calc(var(--fontx1) * 2) 1rem;
    }
    #feature .feature-courses {
        flex-wrap: wrap;
        justify-content: center;
        width: 100%;
    }
    #feature .-item::before {
        width: 14rem;
        height: 7rem;
        position: absolute;
        left: 0;
        top: 0;
        transform: translate(4rem, -46%);
    }
    #feature .-item.process2 ul.-contents li {
        width: calc(26% - 1.4rem);
    }
    #feature .course-box {
        width: 44%;
    }
    #feature .course-box .title {
        width: 100%;
        transform: none;
    }
    #feature .course-box p {
        line-height: 1.6em;
    }
    #feature .process1 .process-detail p {
        line-height: 1.4em;
    }
    #feature .process3 h3 br {
        display: none;
    }
    #feature .process3 .-system {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }
    #feature .process3 .-system li {
        width: 44%;
    }
    #feature .swiper-wrapper {
        flex-wrap: wrap;
        justify-content: center;
        gap: 2rem;
    }
    #feature .swiper-slide {
        height: auto;
    }
}

@media (max-width: 768px) {
    #feature {
        background: url("/img/feature_bg_sp.png") bottom left no-repeat;
        background-size: auto 98%;
        padding-top: 0;
        padding-bottom: 6rem;
    }
    #feature h2 {
        font-size: 3.2rem;
        text-align: center;
        line-height: 1.6em;
    }
    #feature h2 .is_sp {
        display: block;
    }
    #feature .-container {
        gap: 5rem;
    }
    #feature .-item.process2 .feature-examples {
        font-size: 1.6rem;
    }
    #feature .course-box {
        width: 80%;
        height: auto;
        display: block;
        background-color: transparent;
        padding:  0.5rem;
        border-top: none;
    }
    #feature .course-box .title {
        width: 100%;
        transform: none;
    }
    #feature .slickwrapper {
        display: flex;
        flex-direction: column;
        width: 100%;
        background-color: white;
        gap: 1rem;
    }

    #feature h3.title {
        font-size: 1.5rem;
        margin-top: 1.5rem;
    }
    #feature .process3 .-system {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }
    #feature .-item {
        padding: 3rem 2rem;
        gap: 1.6rem;
        max-width: 96vw;
    }
    #feature .-item:before {
        width: 10rem;
        height: 5rem;
        transform: translate(2rem, -2.2rem);
    }
    #feature .-wrapper {
        padding: 2.4rem 0;
        gap: 1.6rem;
    }
    #feature .-wrapper h3 {
        font-size: 2.2rem;
    }
    #feature .-item.process1 .process-detail {
        flex-direction: column;
    }
    #feature .-item.process1 .process-detail > * {
        width: 100%;
    }
    #feature .-item.process2 ul.-contents {
        flex-direction: row;
        flex-wrap: wrap;
        width: 100%;
        text-align: center;
        align-content: center;
        justify-content: center;
        margin-bottom: 10px;
    }
    #feature .-item.process2 ul.-contents li {
        width: 47%;
        font-size: 1.3rem;
        text-align: left;
    }
    #feature .-item.process2 ul.-contents li:before {
        font-size: 1.2rem;
    }
    #feature .process3 .-system {
        gap: 4rem;
    }
    #feature .process3 .-system li {
        width: 100%;
        padding: 0;
    }
    #feature .process3 .text-box {
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }
    #feature .-item .courses {
        width: calc(100% + 4rem);
    }
    .slick-track {
      display: flex;
    }
    .slick-slide {
      height: auto !important;
    }
}



#feature {
    padding: var(--innerPaddingPCx2) 0;
    margin-top: 30px;
}

#feature h2 {
    display: flex;
    font-size: 3.2rem;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
    color: black;
}

#feature h2:after {
    content: '';
    display: block;
    height: 2px;
    background-color: black;
    width: 4rem;
}

#feature .-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3rem;
}

#feature h3 {
    color: black;
    font-size: 3.2rem;
    line-height: 1.6em;
}

#feature .-inner .feature-courses {
    display: flex;
    align-items: flex-start;
    gap: 2.4rem;
    padding-top: 1rem;
}

#feature .-inner .feature-courses li {
    width: 33%;
    height: 100%;
}

#feature .-inner .slickwrapper {
    position: relative;
    border: solid 1px #daddea;
    height: 100%;
    border-radius: 1rem;
}

#feature .-inner .slickwrapper .top {
    background-color: #F7F7F7;
    display: flex;
    align-items: center;
    text-align: center;
    border-top-left-radius: 0.9rem;
    border-top-right-radius: 0.9rem;
}

#feature .-inner .slickwrapper .bottom {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1.6rem;
}

#feature .-inner .slickwrapper .bottom::before {
    content: '';
    display: block;
    background: url('/img/marketing_effect_skill.svg') top left no-repeat;
    background-size: auto 100%;
    width: 12rem;
    height: 2rem;
}

#feature .-inner .feature-courses .slickwrapper::before {
    position: absolute;
    content: '';
    display: block;
    width: 6.6rem;
    height: 2.2rem;
    left: 1.6rem;
    transform: translateY(-60%);
    background-color: red;
}

#feature .-inner .feature-courses .case1 .slickwrapper::before {
    background: url('/img/case1.svg') top left no-repeat;
    background-size: auto 100%;
}
#feature .-inner .feature-courses .case2 .slickwrapper::before {
    background: url('/img/case2.svg') top left no-repeat;
    background-size: auto 100%;
}
#feature .-inner .feature-courses .case3 .slickwrapper::before {
    background: url('/img/case3.svg') top left no-repeat;
    background-size: auto 100%;
}
#feature .-inner .feature-courses .case4 .slickwrapper::before {
  background: url('/img/case4.svg') top left no-repeat;
  background-size: auto 100%;
}

#feature .-inner .top {
    padding: 1.6rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    gap: 1rem;
}

#feature h4 {
    font-size: 1.6rem;
    text-align: center;
}

#feature .desc-set {
    display: flex;
    gap: 3rem;
    flex-wrap: wrap;
    width: 100%;
    justify-content: center;
    position: relative;
    font-size: 1rem;
    height: 9.9rem;
}

#feature .desc-set:after {
    position: absolute;
    content: '';
    display: block;
    width: 2.2rem;
    height: 2.2rem;
    background: url('/img/cross.svg') top left no-repeat;
    background-size: 100% auto;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}

#feature .desc-single {
    width: 40%;
    justify-content: center;
    gap: 1.2rem !important;
}

#feature .desc-single .label {
    width: 90%;
    text-align: center;
}


#feature .desc,#feature .desc-single {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.6rem;
}

#feature .desc p {
    font-size: 1.2rem;
    line-height: 2em;
    text-align: center;
}

#feature .desc-single p {
    font-size: 1.2rem;
    line-height: 1.4em;
    text-align: center;
}

#feature .text-blue {
    color: #2367a7;
    font-size: 2rem;
    font-weight: 900;
}


#feature .label {
    display: inline-block;
    font-size: 1rem;
    color: var(--courseBasic);
    border: 1px solid var(--courseBasic);
    background-color: white;
    border-radius: 0.3em;
    font-weight: 700;
    padding: 0.2em 1em;
}

#feature .ba-wrapper {
    background-color: white;
    padding: 1rem 1.6rem;
    border-bottom-left-radius: 1rem;
    border-bottom-right-radius: 1rem;
    gap: 3rem;
    position: relative;
}

#feature .ba-wrapper::after {
    position: absolute;
    content: '';
    display: block;
    top: 50%;
    left: 50%;
    width: 0.5rem;
    height: 5rem;
    background: url('/img/feature_line.png') top center no-repeat;
    background-size: 100% auto;
    transform: translate(-50%,-50%);
}

#feature .before-after {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    align-items: flex-start;
}

#feature .before-after:last-child p {
    font-weight: bold;
}

#feature .before-after p {
    font-size: 1.2rem;
    line-height: 1.6rem;
}

#feature .before-after img {
    height: 1.8rem;
    width: auto;
}


@media (max-width: 1000px) and (min-width: 769px) {
    #feature .-inner .feature-courses {
        flex-wrap: wrap;
        justify-content: center;
        align-items: stretch;
    }
    #feature .-inner .feature-courses li {
        width: 44%;
        height: auto;
    }
}

@media (max-width: 768px) {
    #feature {
        font-size: var(--fontx1);
        padding: 0 2.2rem 4rem;
    }
    #feature h2 {
        display: flex;
        font-size: 2.8rem;
        flex-direction: column;
        align-items: center;
        gap: 2rem;
    }
    #feature h2:after {
        content: '';
        display: block;
        height: 2px;
        background-color: black;
        width: 4rem;
    }
    #feature h3 {
        font-size: 2.4rem;
    }
    #feature .-inner .feature-courses {
        display: block;
        width: 100%;
        height: auto;
        padding-bottom: 3.5rem;
    }
    #feature .-inner .feature-courses li {
        width: 100%;
        padding: 1rem;
        box-shadow: none;
    }
    #feature .desc-set {
        height: auto;
    }

    #feature .before-after {
        display: flex;
        gap: 0.4rem;
        align-items: flex-start;
    }
}

/* /const feature */


/* const achivement */
#achievement {

}

#achievement h2 {
    display: flex;
    font-size: 4rem;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
}

#achievement h2 span span{
  font-size: 4rem;
}

#achievement h2:after {
    content: '';
    display: block;
    height: 2px;
    background-color: black;
    width: 4rem;
}

#achievement h3 {
  color: var(--courseMarketing);
  text-align: center;
  font-family: "M PLUS Rounded 1c";
  font-size: 3.5rem;
  font-style: normal;
  font-weight: 700;
  line-height: 160%; 
  letter-spacing: 2px;
  margin-top: 2rem;
  margin-bottom: 2rem;
}

#achievement .-contents {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#achievement h4 {
    color: #333;
    text-align: center;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 140%;
    padding-bottom: 2rem;
}

#achievement .reasons {
  display: flex;
  justify-content: space-between;
  gap: 3rem;
  width: 100%;
}

#achievement .bottom {
    background: white;
    border-radius: 0 0 1.5rem 1.5rem; 
    padding: 3rem;
    font-weight: 400;
}
#achievement .bottom .after, #achievement .bottom .before {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
}

#achievement .bottom .after p, #achievement .bottom .before p {
    font-size: 1.4rem;
    line-height: 1.6em;
    width: calc(100% - 8rem);
}

#achievement .bottom .after p {
    font-weight: 700;
}

#achievement .bottom .after:before {
    content: "";
    width: 7rem;
    height: 2.2rem;
    display: block;
    background: url('/img/marketing_aftercourse.svg') top left no-repeat;
    background-size: auto 100%;
}

#achievement .bottom .before:before {
    content: "";
    width: 7rem;
    height: 2.2rem;
    display: block;
    background: url('/img/marketing_beforecourse.svg') top left no-repeat;
    background-size: auto 100%;
}

#achievement .bottom .before-after {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

#achievement .bottom .line::after {
    content: "";
    width: 100%;
    height: 2rem;
    margin: 1rem auto 0;
    display: block;
    background: url("/img/marketing_effect_bar.svg") top left no-repeat;
    background-size: contain;
    padding-top: 1rem;
}

@media (max-width: 768px) {
    #achievement h2 {
        font-size: 3.2rem;

    }

    #achievement .result {
        width: 100% !important;
    }

    #achievement .result .left {
        padding: 1.6rem;
    }

    #achievement .reasons {
        width: 100%;
    }
    #achievement .reasons .top {
        padding: 1.6rem !important;
    }
    #achievement .result .right p {
        padding: 2rem !important;
    }

    #achievement .reasons .plus {
        width: 3rem !important;
    }

    #achievement .bottom {
        padding: 1.6rem; 
    }

    #achievement .bottom .after p, #achievement .bottom .before p {
        width: 100%;
    }

    #achievement .bottom .before-after {
        flex-direction: row;
    }
    #achievement .bottom .after, #achievement .bottom .before {
        display: flex;
        flex-direction: column;
        text-align: left;
        gap: 1rem;
        align-items: flex-start;
    }
    #achievement .bottom .after:before {
        content: "";
        width: 5rem;
        height: 2rem;
        display: block;
        background: url('/img/marketing_aftercourse.svg') top left no-repeat;
        background-size: contain;
    }

    #achievement .bottom .before:before {
        content: "";
        width: 5rem;
        height: 2rem;
        display: block;
        background: url('/img/marketing_beforecourse.svg') top left no-repeat;
        background-size: contain;
    }

    #achievement .bottom .line::after {
        content: "";
        width: 1rem;
        height: 100%;
        margin: 1rem auto 0;
        display: block;
        background: url("/img/before_after_line.png") top left no-repeat;
        background-size: contain;
        padding-top: 1rem;
    }
}

#achievement .reasons .box {
  border: solid 2px #daddea;
  border-radius: 1.5rem;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

#achievement .result .box {
  border-radius: 1.5rem 0 0 1.5rem;
  background: #F7F7F7;
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 3rem;
}

#achievement .result .left {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    padding: 3rem;
    gap: 1rem;
    flex: 1;
}
#achievement .result .right {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 2;
}
#achievement .result .right p {
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 400;
    padding: 4rem;
    line-height: 160%;
}

#achievement .result .right p span {
  color:  var(--courseMarketing);
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 700;
  line-height: 160%;
}

#achievement .reasons .top {
    display: flex;
    flex-direction: column;
    padding: 3rem;
    gap: 1.6rem;
    background-color: #F7F7F7;
}


#achievement .reasons .plus {
  width: 5.6rem;
}

#achievement .arrow {
  width: 90%;
  display: block;
  margin: 3rem auto;
}

#achievement .arrow img {
  width: 5rem;
  margin: 0 auto;
}

#achievement .title-before, .title-after {
  width: 7.6rem;
}

#achievement .result {
  display: flex;
  border: #daddea 2px solid;
  border-radius: 1.5rem;
   width: 100%;
}

#achievement .before_after_bar_sp {
  width: 1rem;
  transform: rotate(90deg);
  margin: -3.5rem auto;
}

.outline {
  margin-top: 2rem;
  background: white;
  border-radius: 0 0 1.5rem 1.5rem;
}

@media (max-width: 768px) {
  #achievement h3 {
    font-size: 1.8rem;
  }

  #achievement .reasons {
    flex-direction: column;
    align-items: center;
    
  }

  #achievement .result {
    flex-direction: column;
  }

  #achievement .result .top {
    width: 26rem;
  }

  #achievement .result .top img {
    width: 25rem;
  }
}

#achivement .reasons {
  display: flex;

}

/* const plan */

#plan {
    background-color: #F7F7F7;
    padding: var(--innerPaddingPCx2) 0;
}

#plan .-inner {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
}

#plan h2 {
    display: flex;
    font-size: 3.2rem;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
    color: black;
    margin-bottom: 1.5em;
}

#plan h2:after {
    content: '';
    display: block;
    height: 2px;
    background-color: black;
    width: 4rem;
}

#plan .-course {
    background-color: white;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: var(--innerPaddingPC);
    gap: var(--innerPaddingPC);
    border-radius: var(--fontx1);
}

#plan .-course > div {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--fontx1);
}

#plan .-course p {
    font-size: 1.4rem;
}

#plan h3 {
    font-size: 2.4rem;
}

#plan .-single h3 {
    color: var(--courseMarketing);
}

#plan .-set h3 {
    color: #094779;
}

#plan .-container {
    display: flex;
    flex-direction: column;
    gap: var(--fontx1);
}

#plan .-container .-ttl {
    width: fit-content;
    padding: 0.1rem 1rem;
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 0.5em;
    line-height: 1.8em;
    background: #907836;
    color: #fff;
    border-radius: 30px;
}

#plan .-container .-ttl2 {
  width: fit-content;
  padding: 0.1rem 1rem;
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 0.5em;
  line-height: 1.8em;
  background: #e05d4f;
  color: #fff;
  border-radius: 30px;
}

#plan .-container .-ttl1 {
  font-size: 1.4rem;
  font-weight: 500;
  margin-bottom: 0.3em;
  line-height: 1.8em;
  text-decoration: underline 2px solid #907836;
  text-underline-offset: 3px;
}

#plan .-container .-ttl3 {
  font-size: 1.4rem;
  font-weight: 500;
  margin-bottom: 0.3em;
  line-height: 1.8em;
  text-decoration: underline 2px solid #e05d4f;
  text-underline-offset: 3px;
}

#plan .-container ul {
    font-size: 1.2rem;
    display: flex;
    flex-direction: column;
    gap: 0.6em;
    color: #242533;
    margin-bottom: 15px;
}

#plan .-container ul li::before {
    content: "●";
    margin-right: 0.6em;
}

#plan .-container a {
    display: inline;
    font-size: inherit;
    text-decoration: underline;
}

#plan .extension-charge {
    border: 1px solid #ACC5D1;
    background-color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--fontx1);
    gap: var(--fontx1);
}

#plan .price > div {
    display: flex;
    align-items: center;
    gap: 1rem;
}

#plan .price p {
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--courseMarketing);
    margin-bottom: 0.5em;
}

#plan .price span {
    display: inline-block;
}

#plan .pricelabel {
    font-size: 1.2rem;
    color: var(--courseMarketing);
    border: 1px solid var(--courseMarketing);
    padding: 0.2em 0.6em;
}

#plan .pricedetail {
    font-family: "M PLUS Rounded 1c";
    font-weight: 700;
    font-size: 3.2rem;
    color: #242533;
}

#plan .pricedetail small {
    font-size: 0.5em;
}

#plan .pricedetail small span {
    font-size: 0.7em;
}

#plan .extension-charge .notes {
    font-size: 1.2rem;
    display: flex;
    flex-direction: column;
    gap: 0.6em;
    color: #242533;
}

#plan .extension-charge .notes li::before {
    content: "●";
    margin-right: 0.6em;
}

@media (max-width: 768px) {
    #plan {
        padding: 4rem 1.6rem;
    }
    #plan .-course {
        padding: 1.6rem;
        gap: 1.6rem;
    }
    #plan .-course p {
        text-align: center;
        font-size: 1.2rem;
        line-height: 1.6em;
    }
    #plan h2 {
        font-size: 3.2rem;
        text-align: center;
        line-height: 1.6em;
        margin-bottom: 0;
    }
    #plan h2 .is_sp {
        display: block;
    }
    #plan .-caption {
        font-size: 1rem;
        line-height: 1.8em;
    }
    #plan .-container ul {
        gap: 0.3em;
    }
    #plan .-container li {
        font-size: 1.2rem;
        line-height: 1.6em;
    }
    #plan .-container ul li::before {
        margin-right: 0.3em;
    }
    #plan .extension-charge {
        border: 1px solid #ACC5D1;
        background-color: white;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: var(--fontx1);
        gap: var(--fontx1);
        flex-wrap: wrap;
    }
    #plan div.scroll {
        display: block;
        overflow-x: scroll;
    }
    #plan .scroll img {
        width: 150%;
        max-width: none;
    }
    #plan .extension-charge p {
        text-align: center;
    }
    #plan .notes li {
        line-height: 1.4em;
    }
    #plan .extension-charge .notes li::before {
        margin-right: 0.3em;
    }
}

/* /const plan */

/* const supervisor */
#supervisor {
    padding: var(--innerPaddingPCx2); /* reverse direction */
}

#supervisor .-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4rem;
}

#supervisor h2 {
    display: flex;
    font-size: 3.2rem;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
    color: black;
}

#supervisor h2:after {
    content: '';
    display: block;
    height: 2px;
    background-color: black;
    width: 4rem;
}

#supervisor .title {
    font-size: 3.2rem;
    text-align: center;
    line-height: 1.6em;
    font-weight: 900;
    color: #094779;
}

#supervisor .supervisor-box {
    width: 90%;
    border: 1px solid #eee;
    border-radius: 1.6rem;
    padding: var(--innerPaddingPC);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.6rem;
}

.supervisor-box .title {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1em;
    color: var(--courseBasic);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.6em;
}

.supervisor-box .title:after {
    content: '';
    display: block;
    width: 6em;
    height: 1em;
    background: url('/img/supervisor-popupline.svg') top left no-repeat;
    background-size: 100% auto;
}

#supervisor h3 {
    font-size: 2rem;
}

#supervisor h3 span {
    font-size: 0.6em;
}

#supervisor .job {
    font-size: 1.2rem;
    line-height: 1.6em;
}

#supervisor .supervisor-intro {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#supervisor picture {
    width: 40%;
}

#supervisor .introduction {
    width: calc(60% - 2.4rem);
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

#supervisor .career {
    font-size: 1.2rem;
    line-height: 1.8em;
}

#supervisor .roles {
    display: flex;
    flex-direction: column;
    list-style: disc;
    margin-left: 1.6em;
    font-size: 1.2rem;
    gap: 0.8em;
}

@media (max-width: 768px) {
    #supervisor {
        padding: 4rem 1rem; /* reverse direction */
    }
    
    #supervisor .-inner {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 2rem;
    }
    
    #supervisor h2 {
        display: flex;
        font-size: 2.4rem;
        flex-direction: column;
        align-items: center;
        gap: 2rem;
        color: black;
    }
    
    #supervisor h2:after {
        content: '';
        display: block;
        height: 2px;
        background-color: black;
        width: 4rem;
    }

    #supervisor .title-box {
        font-size: 2rem;
        text-align: center;
        line-height: 1.6em;
        font-weight: 900;
        background: linear-gradient(90deg, #309DA4 0%, #2368A7 100%);
        background-clip: text;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }

    #supervisor .supervisor-box {
        padding: 1.6rem;
        width: 96%;
    }
    #supervisor .supervisor-intro {
        width: 100%;
    }
    #supervisor .name {
        font-size: 1.7rem;
    }
    #supervisor .job {
        font-size: 1.3rem;
    }
    #supervisor picture {
        width: 12rem;
    }
    #supervisor .introduction {
        width: 18rem;
    }
    #supervisor .career {
        transform: translate(-14rem, 4rem);
        width: 32rem;
        font-size: 1.4rem;
    }
    #supervisor .roles {
        transform: translate(-14rem, 4rem);
        width: 28rem;
        padding-bottom: 4.6rem;
    }
}
/* const supervisor */

/* const conversion */
#conversion {
    padding: var(--innerPaddingPCx2);
    background: #515050;
    position: relative;
}

#conversion::before {
    content: "";
    display: block;
    background-color: #eff0fa;
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
    clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
    width: 9rem;
    height: 4rem;
    position: absolute;
    top: -1px;
}

#conversion .-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
}

#conversion h3 {
    font-size: 2.4rem;
    color: white;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 0.4em;
}

#conversion h3:before, #conversion h3:after {
    content: '';
    display: inline-block;
    width: 1.3em;
    height: 1.3em;
    background: url("/img/popup_conv.svg") top center no-repeat;
    background-size: 100% auto;
}

#conversion h3:after {
    transform: scaleX(-1);
}


#conversion .-wrapper {
    display: flex;
    gap: 2rem;
    justify-content: center;
    width: 50%;
}

#conversion a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 22rem;
    padding: 1em;
    border-radius: 0.5em;
    font-weight: 700;
}


@media (max-width: 1000px) and (min-width: 769px) {
    #conversion {
        padding: var(--innerPaddingPC);
    }
    #conversion .-wrapper {
        width: 70%;
    }
    #conversion::before {
        width: 6rem;
        height: 3rem;
    }
}

@media (max-width: 768px) {
    #conversion {
        text-align: center;
        font-size: var(--fontx1);
        padding: 4rem 2.2rem;
    }
    #conversion h3 {
        font-size: 2.4rem;
    }
    #conversion .-wrapper {
        width: 100%;
        padding: 0;
        box-shadow: none;
    }
    #conversion .-wrapper a {
        width: 50%;
    }
    #conversion::before {
        width: 5rem;
        height: 2rem;
        left: 50%;
        transform: translateX(-50%);
    }
    #point h2::after {
      content: "";
      background: url("/img/point_deco.png") center center no-repeat;
      background-size: cover;
      width: 32px;
      height: 28px;
      position: absolute;
      left: 12px;
      position: absolute;
    }
}

@media (min-width: 768px) {
    #point h2::after {
      content: "";
      background: url("/img/point_deco.png") center center no-repeat;
      background-size: cover;
      width: 32px;
      height: 28px;
      position: absolute;
      left: 237px;
      position: absolute;
    }
}

#point {
    background: #eff0fa; 
    padding: 2rem 2rem;
}

#point .-inner {
    max-width: 80rem; 
    margin: 0 auto; 
    padding: 2rem; 
}

#point h2 {
    font-size: 2.4rem;
    margin-bottom: 1.5rem;
    text-align: center;
    color: #094779;
    content: "";
    display: block;
    position: relative;
}

#point p {
    font-size: 1.6rem; 
    line-height: 1.5;
    text-align: center;
    color: #094779;
}

#point .box {
    background-color: white; 
    border-radius: 1rem; 
    padding: 4rem;
    width: 55.5rem;
    margin: auto;
}

#point .box p {
    color: black; 
}

#point .-ttl {
    font-weight: bold; 
    margin-bottom: 5px; 
    font-size: 4rem;
    color: #094779 !important;
}

#point .-ttl span {
  font-size: 2rem;
  font-weight: 400;
}

#point .-sub p {
    font-size: 1.4rem;
    margin-bottom: 2rem; 
    color: black;
    line-height: 180%;
}

#point .-sub {
  margin: 2rem auto;
}


#point .detail_btn {
    display: inline-block;
    padding: 1rem 2rem; 
    background-color: white; 
    border-radius: 5px; 
    cursor: pointer; 
    transition: background-color 0.3s;
    color: #094779;
    padding: 2rem 6rem;
    display: block;
    margin: 0 auto;
    width: 25rem;
    border-radius: 6px;
    border: var(--l160, 1.474px) solid var(--_, #094779);
    text-align: center;
}

#point .detail_btn:hover {
    background-color: #094779; /* ホバー時の背景色 */
    color: white; 
}

@media (min-width: 768px) {
  #point .is_sp {
    display: none;
  }
}

@media (max-width: 768px) {
  #point .box {
    width: 100%;
  }

  #point .-ttl span {
    font-size: 1.4rem;
  }

  #point .-ttl {
    font-size: 1.8rem;
  }

  #point .detail_btn {
    width: 20rem;
    padding: 1rem; 
  }
}

/* const curriculum */

#curriculum {
    padding: var(--innerPaddingPCx2) 0 0;
}

#curriculum h2 {
    display: flex;
    font-size: 3.2rem;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
    color: black;
    margin-bottom: 1em;
}

#curriculum h2:after {
    content: '';
    display: block;
    height: 2px;
    background-color: black;
    width: 4rem;
}

#curriculum h3 {
  font-size: 2.4rem;
  text-align: center;
  margin-top: 40px;
  color: white;
  border-radius: 4rem;
  background: linear-gradient(90deg, #dd7165 0%, #094779 100%);
  display: inline-block;
  padding: 0.2em 1.2em;
}

.video-container {
  position: relative;
  margin-bottom: 20px;
  width: 80%;
  padding-bottom: 56.25%; /* 16:9 アスペクト比を維持 */
  margin: 2rem auto;
  overflow: hidden; /* 不要な部分を隠す */
}

.video-container video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
  background-color: #fff; /* 動画の背景色 */
}



#curriculum div.-inner {
    width: 100%;
    text-align: center;
  }
  @media (min-width: 769px) {
    #curriculum div.-inner {
      max-width: 980px;
    }
  }
  #curriculum h3 {
    margin-bottom: 20px;
  }
  @media (min-width: 769px) {
    #curriculum h3 {
      border-radius: 100px;
      background: linear-gradient(90deg, #0d4675 0%, #094779 100%);
      width: auto;
      margin: 0 auto 2rem;
      color: white;
      padding: 1.5rem 4rem;
      font-size: 3rem;
    }
  }
  #curriculum ul.-time {
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: center;
  }
  #curriculum ul.-time li {
    display: flex;
    align-items: center;
  }
  #curriculum ul.-time li:nth-of-type(2) {
    margin-left: 10px;
  }
  @media (min-width: 769px) {
    #curriculum ul.-time li:nth-of-type(2) {
      margin-left: 20px;
    }
  }
  #curriculum ul.-time li:nth-of-type(2)::before {
    content: "";
    width: 1px;
    height: 20px;
    background: #000000;
    display: block;
    margin-right: 10px;
  }
  @media (min-width: 769px) {
    #curriculum ul.-time li:nth-of-type(2)::before {
      margin-right: 20px;
      height: 30px;
    }
  }
  #curriculum ul.-time li span.-ttl {
    border: 1px solid #000000;
    padding: 5px 10px;
    margin: 6px 8px 0 0;
    height: -moz-fit-content;
    height: fit-content;
  }
  #curriculum ul.-time li p span {
    font-weight: bold;
    font-size: 1.6em;
  }
  
  ul.accordion-area {
    margin-top: 20px;
  }
  @media (min-width: 769px) {
    ul.accordion-area {
      border: 6px solid #daddea;
      margin-bottom: 40px;
      padding: 26px;
      text-align: left;
      line-height: 1.5;
    }
  }
  ul.accordion-area li {
    margin-bottom: 2px;
  }
  ul.accordion-area li:nth-of-type(odd) {
    background: #F7F7F7;
  }
  
  #curriculum dt.title {
    position: relative;
    cursor: pointer;
    font-weight: bold;
    transition: all 0.5s ease;
    height: 60px;
    min-height: 50px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
  }
  @media (max-width: 768px) {
    #curriculum dt.title {
      height: 12vw;
    }
  }

  #curriculum dt.title p {
    color: #094779;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: calc(100% - 66px);
    flex-wrap: wrap;
    font-size: 1.6em;
  }

  @media (max-width: 768px) {
    #curriculum dt.title p {
      font-size: 1.4rem;
    }
  }
  #curriculum dt.title span.-number {
    font-size: 1.4em;
    background: #094779;
    color: #ffffff;
    width: 30px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 16px;
  }
  @media (min-width: 769px) {
    #curriculum dt.title span.-number {
      width: 50px;
    }
  }
  #curriculum dt.title span.-detail {
    width: 100%;
    display: flex;
    margin-top: 6px;
    gap: 0.83vw;
  }
  #curriculum dt.title span.-detail picture {
    margin: 0;
    text-align: left;
  }
  #curriculum dt.title span.-detail picture img {
    width: 160px;
  }
  @media (min-width: 769px) {
    #curriculum dt.title span.-detail {
      width: max-content;
      padding-right: 45px;
      gap: 12px;
    }
    #curriculum dt.title span.-detail picture img {
      width: 100%;
    }
  }
  @media (max-width:768px){
    #curriculum dt.title span.-detail picture img{
      width: 28vw;
    }
  }
  #curriculum dt.title span.-detail span {
    font-size: 0.83vw;
    display: flex;
    align-items: center;
    background-color: #FFFFFF;
    padding: 0 0.9vw;
    border-radius: 5vw;
  }
  @media (max-width: 768px) {
    #curriculum dt.title span.-detail span {
      background-color: unset;
    }
  }
  @media (min-width: 769px) {
    #curriculum dt.title span.-detail span {
      font-size: 1.2rem;
      gap: 4px;
      padding: 4px 16px;
      border-radius: 9999px;
    }
  }
  #curriculum ul.accordion-area li:nth-of-type(even) dl dt.title p  span.-detail span{
    background-color: #F7F7F7;
    font-size: 0.83vw;
    display: flex;
    align-items: center;
    padding: 0 0.9vw;
    border-radius: 5vw;
  }
  @media (max-width: 768px) {
    #curriculum ul.accordion-area li:nth-of-type(even) dl dt.title p  span.-detail span{
      background-color: unset;
      font-size: 2.9vw;
      color: #333333;
      gap: 0.3vw;
    }
  }
  @media (min-width: 769px) {
    #curriculum ul.accordion-area li:nth-of-type(even) dl dt.title p  span.-detail span {
      font-size: 1.2rem;
      gap: 4px;
      padding: 4px 16px;
      border-radius: 9999px;
    }
  }
  #curriculum dt.title span.-detail img {
    width: 1.5vw;
    height: 1.5vw;
  }
  @media (max-width: 768px) {
    #curriculum dt.title span.-detail span {
      font-size: 2.9vw;
      color: #333333;
      gap: 0.3vw;
    }
    #curriculum dt.title span.-detail img {
      width: 4vw;
      height: 4vw;
      margin-top: 0.5vw;
     }
  }
  
  #curriculum .title::before,
  #curriculum .title::after {
    position: absolute;
    content: "";
    width: 15px;
    height: 4px;
    background-color: #333;
  }
  
  #curriculum .title::before {
    top: 48%;
    right: 15px;
    transform: rotate(0deg);
  }
  
  #curriculum .title::after {
    top: 48%;
    right: 15px;
    transform: rotate(90deg);
  }
  
  #curriculum .title.close::after {
    display: none;
  }
  
  #curriculum dd.box {
    display: none; 
    padding: 3%;
  }
  #curriculum dd.box ul {
    font-size: 1.4em;
    text-align: left;
    line-height: 1.5;
  }
  #curriculum dd.box ul li {
    background: transparent !important;
  }
  @media(max-width:768px){
    #curriculum dd.box ul li {
      font-size: 1.4rem;
    }
  }
/* /const curriculum */

/* const voice */
#voice {
    background-color: #F0F5F9;
    padding: var(--innerPaddingPCx2) 0;
}

#voice .after p span {
  color: var(--courseMarketing);
}

/* /const voice */

/* override flow */
  #flow ul li p.text > .orange {
    color: #094779;
  }
 
#flow ul li p.-detail span {
  color: #094779;
}

/* const flow */

#flow {
  padding-top: 3rem;
}

#flow li .-ttl {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--courseMarketing);
}

#flow .-detail {
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 1.8em;
}

#flow a {
  display: block;
  width: 100%;
  font-size: 1.2rem;
  font-weight: 700;
  padding: 0.8em;
  border-radius: 2em;
}

#flow picture:after {
  background-color: #fdf6ee;
}

#flow .flow1 span,#flow .flow3 span {
  color: #094779;
}

#flow li .-ttl {
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--courseMarketing);
}

/* /const flow */

/* const faq */

#faq {
  background-color: #F7F7F7;
  padding: 4rem 1rem;
}

#faq .-inner {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  align-items: center;
}

#faq h2 {
  font-size: 2rem;
  flex-direction: column;
  color: black;
}

#faq a {
  display: block;
  flex-direction: column;
  color: var(--courseMarketing);
  font-weight: 700;
  border: 2px solid var(--courseMarketing);
  padding: 1em 4em;
  border-radius: 0.5em;
  background-color: white;
  transition: all 0.2s ease-out;
}

#faq a:hover {
  background-color: var(--courseBasic);
  color: white;
}

/* /const faq */

/* const footer */
#footer {
  background: #094779;
  color: #ffffff;
}
#footer a {
  background: transparent;
  text-align: left;
  padding: 0;
}
#footer img {
  max-width: 180px;
}
@media (min-width: 769px) {
  #footer img {
      max-width: 280px;
  }
}
#footer ul {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  font-size: 1em;
  padding: 10px 0;
}
@media (min-width: 769px) {
  #footer ul {
      margin-bottom: 40px;
  }
}
#footer ul.-link {
  margin-top: 30px;
  margin-bottom: 10px;
}
@media (min-width: 769px) {
  #footer ul.-link {
      border-top: 1px solid #ffffff;
      border-bottom: 1px solid #ffffff;
  }
}
#footer ul.-link li {
  border-top: 1px solid #ffffff;
  padding: 16px 0 16px 8px;
  width: 100%;
}
@media (min-width: 769px) {
  #footer ul.-link li {
      width: -moz-fit-content;
      width: fit-content;
      margin-right: 30px;
      margin-bottom: 0;
      border-top: none;
  }
}
#footer ul.-link li p {
  font-weight: bold;
  font-size: 1.6em;
  margin-bottom: 16px;
}
@media (min-width: 769px) {
  #footer ul.-link li p {
      margin-bottom: 0;
  }
}
#footer ul.-link li ul {
  padding-left: 15px;
}
@media (min-width: 769px) {
  #footer ul.-link li ul {
      display: flex;
      flex-direction: column;
  }
}
#footer ul.-link li ul li {
  border: none;
  padding: 0 0 12px 0;
}
#footer ul.-link li a::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  color: #6B6B6B;
  line-height: 1;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent;
  border-width: 0.4em 0.6em;
  border-left-color: currentColor;
  border-right: 0;
  margin-right: 6px;
}
@media (min-width: 769px) {
  #footer ul.-link li a::before {
      margin-right: 8px;
  }
}
#footer ul.-policy {
  display: flex;
}
#footer ul.-policy li {
  margin: 0 20px 10px 0;
  font-size: 0.9em;
}
#footer ul.-policy li:first-of-type {
  width: 100%;
  margin-bottom: 20px;
}
@media (min-width: 769px) {
  #footer ul.-policy li:first-of-type {
      width: -moz-fit-content;
      width: fit-content;
  }
}
#footer p.-copyright {
  font-size: 1.2em;
  width: 100%;
  text-align: center;
  padding: 20px 0;
  width: 92%;
  margin: 0 auto;
}
@media (min-width: 769px) {
  #footer p.-copyright {
      text-align: center;
      background: #000000;
      width: 100%;
  }
}

@media (max-width: 768px) {
  #footer {
      padding: 0;
  }
}

/* const slick */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: -25px;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  width: 0.7rem;
  height: 0.7rem;
  margin: 0 1rem;
  padding: 0;
  cursor: pointer;
}

.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  padding: 5px;
  width: 0.7rem;
  height: 0.7rem;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
}

.slick-dots li button:hover,
.slick-dots li button:focus
{
  outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before
{
  opacity: 1;
}
.slick-dots li button:before
{
  position: absolute;
  top: 0;
  left: 0;
  width: 0.7rem;
  height: 0.7rem;
  content: '';
  text-align: center;
  opacity: .25;
  border-radius: 1rem;
  background-color: var(--courseBasic);
}
.slick-dots li.slick-active button:before
{
  opacity: .75;
  color: black;
}

/* /const slick */

/* const voice */
#voice {
    background-color: #eff0fa;
    padding: 8rem 0 var(--innerPaddingPCx2);
    margin-top: 4rem;
}

#voice .-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4rem;
}

#voice h2 {
    font-size: 3.2rem;
    text-align: center;
    display: flex;
    align-items: center;
    gap: 0.4em;
}

#voice h2:before, #voice h2:after {
    content:'';
    display: block;
    width: 1.4em;
    height: 1.4em;
    background: url('/img/point.svg') top left no-repeat;
    background-size: 100% auto;
}

#voice h2:after {
    transform: scaleX(-1);
}

#voice .-slideshow {
    display: flex;
    gap: 2.4rem;
    flex-direction: row;
}

#voice .-slideshow li.card {
    width: 33%;
}

#voice .-slideshow li .slickwrapper {
    border-radius: 0.4em;
    background-color: white;
    font-size: 1.4rem;
    line-height: 1.8em;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    box-shadow: 2px 2px 7px rgba(0,0,0,0.05);
    border-radius: 0.4em;
    overflow: hidden;
}

@media (max-width: 1000px) and (min-width: 769px) {
    #voice .-slideshow {
        flex-wrap: wrap;
        justify-content: center;
    }
    #voice .-slideshow li.card {
        width: 44%;
    }
}

@media (max-width: 768px) {
    #voice h2 {
        font-size: 2.2rem;
    }
    #voice .-slideshow {
        display: block;
        width: 100%;
        height: 100%;
    }
    #voice .-slideshow li.slick-slide {
        width: 100%;
        padding: 1rem;
        box-sizing: border-box;
    }
    #voice .-inner {
        gap: 2rem;
    }
    #voice .-inner .data {
        padding: 1rem 1.6rem;
        gap: 2rem;
    }
}

#voice li h3 {
    width: calc(100% + calc(var(--fontx1) * 2));
    text-align: center;
    font-size: var(--fontx1);
    padding: 0.4em 0;
    color: white;
    transform: translateX(calc(var(--fontx1) * -1));
}

#voice .basic h3 { background-color: var(--courseBasic)}
#voice .marketing h3 { background-color: var(--courseMarketing)}
#voice .sales h3 { background-color: var(--courseSales)}

#voice .content {
    padding: 0 var(--fontx1);
    display: flex;
    flex-direction: column;
    font-size: var(--fontx1);
    gap: 1.2em;
}

#voice .top {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}

#voice img {
    width: 24%;
    height: auto;
}

#voice .top > div {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

#voice .summary {
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 1.4em;
    color: #094779;
}

#voice .before_after .big {
    color: var(--_333, #333);
    font-size: 1.8rem;
    font-style: normal;
    font-weight: 700;
    line-height: 120%;
}

#voice .before_after .after .orange {
    color: var(--_, #094779);
    font-size: 1.8rem;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
}

#voice .basic .summary { color: var(--courseBasic)}
#voice .marketing .summary { color: var(--courseMarketing)}
#voice .sales .summary { color: var(--courseSales)}

#voice .name {
    font-size: 1rem;
    line-height: 1.4em;
}

#voice .strong {
    font-weight: 700;
}

#voice .before_after {
    font-size: var(--fontx1);
}

#voice .before_after img {
    height: 1.8rem;
    width: auto;
}

#voice .before p {
    font-size: 1.2rem;
    line-height: 1.6em;
    margin-top: 0.2em;
}

#voice .before {
    position: relative;
    margin-bottom: 2rem;
}

#voice .before:after {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    content: '';
    display: block;
    width: 4rem;
    height: 1rem;
    background-color: #daddea;
    clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
    transform: translateY(1.6rem);
}

#voice .after p {
    font-size: 1.2rem;
    line-height: 1.6em;
    margin-top: 0.2em;
    font-weight: 700;
}

#voice .comment::before {
    content: '';
    display: block;
    width: 100%;
    height: 2px;
    background-color: #eee;
    margin-bottom: 1.6rem;
}

#voice .before_after .strong {
    font-size: 1.2em;
}

#voice .basic .after .strong { color: var(--courseBasic)}
#voice .marketing .after .strong { color: var(--courseMarketing)}
#voice .sales .after .strong { color: var(--courseSales)}

#voice .comment {
    padding: var(--fontx1);
    font-size: 1.2rem;
    line-height: 1.8em;
}

#voice > div > p {
    width: 100%;
    text-align: left;
    margin-top: -2em;
    font-size: 1.2rem;
}

/* /const voice */
