/*------------------------------------------------------------------------------
  PC or ALL
------------------------------------------------------------------------------*/

.mainvisual{
  padding: 0 6vmin;
  .swiper-slide:before,
  .swiper-slide img{
    border-radius: 5vmin;
  }
}
.mainvisual-catch{
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  bottom: auto;
  margin-bottom: 30px;
  text-align: center;
  .copy{
    padding-top: 100px;
    background: url(../images/p1-icon.png) no-repeat center 0;
  }
  .sub-text{
    display: flex;
    justify-content: center;
    align-items: center;
    &::before,
    &::after{
      content:"";
      display: block;
      width: 67px;
      height: 119px;
      background: url(../images/p1-text.png) no-repeat center 0;
    }
    &::after{
      transform: scale(-1, 1);
    }
  }
}

.footer-top{
  .footer-con{
    margin-bottom: 0;
  }
  .contact-type01 {
    .text .tel:before{
      color: var(--main-color);
    }
  }
  .footer-map{
    height: 450px;
  }
}
.fixed-footer .contact a{
  background: var(--main-color-2);
}


.home .page-content .main-voice,
.home .page-content .main-course,
.footer-top .contact-type01{
  .title-type02{
    display: flex;
    justify-content: center;
    align-items: center;
    &::before,
    &::after{
      transform: none;
      position: static;
      content:"";
      display: block;
      width: 23px;
      height:68px;
      margin: 0 30px;
      background: url(../images/title-bg.png) no-repeat center 0;
    }
    &::after{
      transform: scale(-1, 1);
    }
  }
}
.footer-top .contact-type01{
  color: #fff;
  & span:nth-child(2){
    margin-top: 5px;
    font-size: 1.2rem;
    color: var(--main-color-2);
    opacity: 1;
  }
}

.home .page-content{

.box-wrap.sm{
  max-width: 1120px;
  padding: 0;
}

.title-type02{
  &:before{
    display: none;
  }
  & span:nth-child(2){
    opacity: 1;
    font-size: 1.2rem;
    /* font-weight: normal; */
    color: var(--main-color-2);
  }
}

.main-reason{
  margin-bottom: 0;
  padding-top: 0;
  counter-reset: count 0;
  &:before{
    background: linear-gradient(to right, var(--sub-color), var(--sub-color)) no-repeat center 300px / 100% 100%;
  }
  .title-type02 span:first-child{
    font-size: 2rem;
    color: var(--main-color-2);
  }
  .list-number-type02{
    margin-bottom: 0;
    &::after{
      display: none;
    }
    & ol{
      counter-reset: none;
      & li:before{
        border: none;
        font-size: 6rem;
        font-weight: bold;
        color: var(--main-color);
      }
    }
    .box-h3{
      text-align: center;
    }
  }
}

.main-voice{
  &:before{
    background: url(../images/voice-bg.png) repeat center 0;
  }
  .list-check-type01{
    display: block;
    max-width: 944px;
    padding: 4vmin 10vmin;
    border-radius: 44px;
    border: 8px solid #c8e9ba;
    background: #fff;
    & ul{
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 8px;
      & li{
        display: flex;
        align-items: center;
        margin: 0;
        padding: 0;
        font-size: 2rem;
        font-weight: bold;
        &::before{
          position: static;
          content:"";
          display: block;
          width: 23px;
          height: 23px;
          margin-right: 8px;
          background: url(../images/voice-li.png) no-repeat center center / contain;
        }
      }
    }
  }
  .carousel-type01{
    .swiper-slide .image{
      position: relative;
      overflow: hidden;
      border: 3px solid var(--main-color);
      border-radius: 5.5vmin;
    }
    .swiper-pagination .swiper-pagination-bullet-active{
      background: var(--main-color-2);
    }
  }
}

.main-course{
  .banner-type02 .text {
    & h3{
      text-align: center;
      font-size: 2.8rem;
    }
    & .copy{
      margin-bottom: 0;
      padding: 3px 10px;
      text-align: center;
      font-size: 1.5rem;
      & strong{
        padding: 0 10px;
        border: 1px solid #fff;
        /* font-weight: normal; */
      }
    }
  }
  .btn a{
    background: #fff;
    color: #e78200;
  }
}

.main-flow{
  .image-bg-type02 .text{
    max-width: 1120px;
  }
  .image-bg-type02 .text h3{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 25px;
    font-size: 2.9rem;
    &::before,
    &::after{
      content:"";
      display: block;
      width: 175px;
      height: 108px;
    }
    &::before{
      background: url(../images/flow-icon1.png) no-repeat center 0 / contain;
    }
    &::after{
      background: url(../images/flow-icon2.png) no-repeat center 0 / contain;
    }
  }
}

.main-news{
  .title-type01{
    display: flex;
    align-items: center;
    .box-h2{
      font-size: 3rem;
      & span:nth-child(2){
        margin-top: 5px;
        font-size: 1.2rem;
        color: var(--main-color-2);
        opacity: 1;
      }
    }
    &::before{
      position: static;
      display: block;
      width: 70px;
      height: 70px;
      margin-right: 15px;
      border-radius: 50%;
    }
  }
  .news1 .title-type01::before{
    background: url(../images/news1.png) no-repeat center 0 / contain;
  }
  .news2 .title-type01::before{
    background: url(../images/news2.png) no-repeat center 0 / contain;
  }
  &.news3 .title-type01::before{
    background: url(../images/news3.png) no-repeat center 0 / contain;
  }
}

.main-banner{
  max-width: 860px !important;
  .image-bg-type02 {
    position: relative;
    overflow: hidden;
    border: 3px solid var(--text-color);
    border-radius: 8vmin 0 8vmin 0;
    .image::after{
      background: rgba(255,255,255,.2);
    }
    .text{
      font-size: 1.5rem;
      font-weight: bold;
      color: var(--text-color);
      h3.box-h3{
        color: inherit;
        font-size: 4.4rem;
      }
      & strong{
        font-size: 2.1rem;
        color: var(--main-color-2);
      }
    }
  }
}

/* home */
}

/* 20241018 added by Fabo */
.mt-0 { margin-top: 0 !important;}
.mt-s { margin-top: 4vh !important;}
.mt-m { margin-top: 7vh !important;}
.mt-l { margin-top: 10vh !important;}

.mb-0 { margin-bottom: 0 !important;}
.mb-s { margin-bottom: 4vh !important;}
.mb-m { margin-bottom: 7vh !important;}
.mb-l { margin-bottom: 10vh !important;}

.page-content h2:not([class]),
.page-content h3:not([class]),
.page-content h4:not([class]) {
    margin-bottom: 3vh;
}

.box-color {
    margin: 0 0 6vh;
    padding: 35px;
    background: #f7f7f7;
}
.box-color :first-child {
    margin-top: 0 !important;
}
.box-color :last-child {
    margin-bottom: 0 !important;
}

.page-content .image-text-type01 .text {
    overflow: hidden;
}
.page-content  .list-check-type01 {
    display: flex;
    justify-content: flex-start;
}

.align-center {
    text-align: center;
}

.image-text-type03 .text :first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}


.table_qa {
  width: 100%;
  margin-bottom: 30px;
  padding: 0;
  border-collapse: collapse;
  border-spacing: 0;
}
.table_qa th {
  width: 5%;
  padding: 20px 0 20px 20px;
}
.table_qa td {
  padding: 20px;
  vertical-align: middle;
}
.table_qa tr:nth-child(2n-1) td {
  font-size: 18px;
  font-weight: bold;
}
.table_qa tr:nth-child(2n) {
  background: #eaf0f7;
}
.table_qa tr:nth-child(2n) th {
  vertical-align: top;
}
.q_icon {
  display: inline-block;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--main-color);
  line-height: 44px;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}
.a_icon {
  display: inline-block;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--main-color-2);
  line-height: 44px;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}


/*------------------------------------------------------------------------------
  TABLET and SHONE
------------------------------------------------------------------------------*/
@media screen and (max-width: 1024px) {
}

/*------------------------------------------------------------------------------
  TABLET ONLY
------------------------------------------------------------------------------*/
@media screen and (min-width: 600px) and (max-width: 1024px) {
}

/*------------------------------------------------------------------------------
  SPHONE ONLY
------------------------------------------------------------------------------*/
@media screen and (max-width: 599px) {

.sphone-fixed-footer{
  background: var(--main-color-2);
}

.home .page-content{

  padding: 0;

  .main-reason{
    padding: 30px 20px;
    background: var(--sub-color);
  }
  .main-voice{
    .list-check-type01{
      margin: 0 20px 40px;
      & ul{
        grid-template-columns: repeat(1, 1fr);
      }
    }
  }

  .main-flow {
    & .image-bg-type02 .text h3 {
        &::before,
        &::after {display: none;}
    }
  }

  .main-news {
    .row-2{
      padding: 0 20px;
    }
    .title-type01{
      &::before{display: none;}
      .box-h2{
        font-size: 2.8rem;
      }
    }
  }

  .news3{
    padding: 0 20px !important;
  }

  .main-banner{
    .image-bg-type02{
      margin: 0 20px;
    }
  }
}

}
