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

.mainvisual-catch div.copy{
  font-size: 5rem;
}
.mainvisual-catch div.sub-text{
  font-size: 2.4rem;
  line-height: 2;
}

.footer-top{
  .box .btn a{
    border-radius: 0;
    background: #fff;
    color: #577082;
  }
  .main-con{
    .datetime{
      margin-top: 2vmin;
    }
  }
}

.footer-main{
  &::after{
    background: none;
    border-bottom: 1px dashed #9da8b3;
  }
  .footer-logo{
    width: 320px;
  }
  .about{
    & * + p{
      margin-top: 3vmin;
    }
  }
}

.pagetop a{
  border-radius: 0;
  background: #9da8b3;
  color: #fff;
}

.fixed-footer {
  background: #fff;
  .contact a{
    border-radius: 0;
  }
}

.page-title{
  height: 370px;
  padding-top: 110px;
  background: url(../images/p1.jpg) no-repeat center center / cover;
}

.home .page-content{

.sm{
  max-width: 1120px;
}

.title-type02{
  padding-bottom: 0;
  &:before{
    display: none;
  }
}
.title-type02 .box-h2{
  padding-bottom: 0;
  & span:nth-of-type(1){
    font-size: 4.2rem;
  }
  & span:nth-of-type(2){
    font-size: 1.8rem;
    color: #577082;
    opacity: 1;
    font-weight: normal;
  }
}
.title-text-type01 h2 .en{
  color: #577082;
  opacity: 1;
  font-weight: normal;
}

.box .btn a{
  border-radius: 0;
  background: #577082;
}

.main-message{
  .box-h3{
    color: #577082;
  }
}

.main-str{
  background: linear-gradient(to right, #fff, #fff) no-repeat center 350px / 100% 100vh;
  .box-h3{
    text-align: center;
  }
  .list-number-type02{
    margin-bottom: 0;
  }
  .list-number-type02 ol li:before{
    top: -40px;
    color: #577082;
    border-color: #577082;
  }
  .list-number-type02 + .list-number-type02 ol{
    counter-reset: count 3;
  }
}

.main-service{
  .box-h3{
    color: #577082;
  }
  .banner-type02{
    padding: 0 15vmin;
    .text{
      color: #222;
      background: #fff;
      .box-h3{
        text-align: center;
      }
    }
  }
}

.main-ptnr{
  .text{
    padding: 2vmin 3vmin 8vmin;
    .box-h3{
      font-size: 2.4rem;
    }
  }
}

.main-banner{
  .image-bg-type01 > .text{
    margin: -100px calc(50vw - 560px) 10vw;
    padding-bottom: 100px;
    background: #fff;
    text-align: center;
    font-size: 1.6rem;
    font-weight: bold;
  }
}

.main-rec{
  .image-text-type03{
    :before{
      background: #577082;
    }
    .text{
      color: #fff;
      .copy{
        font-weight: normal;
      }
      .btn a{
        border: 1px solid #fff;
      }
    }
  }
}

.main-news{
  .blog-type03 ul li {
    margin: 0;
    padding: 0;
    border: none;
    .text{
      margin: 0 0 20px 0;
      padding: 0 0 20px 0;
      border-bottom: var(--border-color) 1px dashed;
    }
  }
}


}
/* page-content */

/* 20240915 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: #f2f2f2;
}
.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;
}



.header{
  position: absolute;
  background: none;
}

@media screen and (min-width: 600px) {
  .header{
    padding-top: 10px;
    padding-top: 10px;
  }
  .header-logo{width: auto;}
  .header-nav a{color: #fff;}
  
  .drawer-open{
    width: 90px;
    height: 90px;
    margin: 10px 10px 0 0;
  }
  .drawer-open .bar01{
    top: 39px;
  }
  .drawer-open .bar02{
    top: 49px;
  }  

.home .page-content {
  .banner-type01{
    max-width: 826px;
    margin: 4vw auto 0;
    ul li a{
      padding: 60px 50px;
      &::after{
        bottom: 0;
        right: 0;
        width: 40px;
        height: 40px;
        line-height: 40px;
        background: #577082;
        text-align: center;
      }
    }
    .text{
      position: static;
      margin: 0;
      padding: 0;
      background: none;
      text-align: left;
      .en{
        font-size: 6rem;
      }
      .ja{
        font-size: 2.4rem;
      }
    }
  }
}

}

/*------------------------------------------------------------------------------
  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) {

.page-title{
  height: 230px;
  padding-top: 70px;
}

.home .page-content {


.main-str{
  padding: 8vmin 10vmin;
  background: #fff;

  .list-number-type02 + .list-number-type02{
    margin-top: 8vmin;
  }
}

.main-service .banner-type02 {
  padding: 0;
}

.main-ptnr .text {
  padding: 6vmin 4vmin;
}

.main-works.box-wrap.sm{
  padding: 0;
}

.main-banner{
  .image-bg-type01 .text{
    width: auto;
    margin: 0;
    background: none;
  }
}

.main-rec .image-text-type03 .text {
  background: #577082;
}

}

}
