/**
* Common
*/

:root {
  --fo-button1-hover-opacity: .8 !important;
  --fo-button2-hover-opacity: .8 !important;
  --fo-button3-hover-opacity: .8 !important;
}

:root:root [data-designpart=row-wp02] {
  gap: calc(52px * var(--fo-spacing-coef) - 30px) !important;
}

.heading_type1_box {
    padding-bottom: 30px;
}
.en h2, .en h2 span  {
  padding-bottom: 5px !important;
  font-family: "Jost", sans-serif !important;
  font-weight: bold !important;
  color: #199ce9 !important;
}
font-white

.theme-fo-base .wrapper .contents section a[href] img:hover {
  opacity: 0.8 !important;
}

.content-element ul {
  li {
    position: relative;
  }
  li::marker {
    content: none;
  }
  li::before {
    content: "";
    display: inline-block;
    width: 0.5em;
    height: 0.5em;
    background-color: #eb6600;
    border-radius: 50%;
    position: absolute;
    left: -1em;
    top: 0.5em;
  }
}

/**
* TOP
*/

/*MV--------------------*/
.theme-fo-base .main-visual.mv_custom>:is(.clearfix,.main-visual-content) {
  min-height: unset;
  padding: 0;
}
.main-visual.top_mv_cont {
  min-height: unset !important;
  padding: 60px 0 0;
  .row.row-1 .col.col-1 {
    padding: 0;
    .top_mv_txt {
      min-height: 340px;
      margin-top: 0;
      background-position: center bottom;
      background-size: auto 230px !important;
      filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.3));
      position: relative;
      h1 {
        line-height: 1.1em !important;
        text-align: center !important;
      }     
    }
  }
}

.top_achievements_cont {
  .top_achievements_badge {
    margin-top: -17vw !important;
    img {
      display: block;
      width: 100% !important;
      margin: auto;
    }
  }
  .top_achievements_txt {
    p span {
      line-height: 1.8em !important;
    }
  }
}

@media screen and (min-width: 600px) {
.top_achievements_cont {
  .top_achievements_badge {
    margin-top: -110px !important;
    img {
      width: 600px !important;
    }
  }
}
}

@media screen and (min-width: 770px) {
.main-visual.top_mv_cont {
  padding: 0;
  .row.row-1 .col.col-1 {
    .top_mv_txt {
      height: 40vw;
      background-position: 110% bottom;
      background-size: auto 85% !important;
      position: relative;
      h1 {
        position: absolute;
        top: 50%;
        left: 3vw;
        transform: translateY(-50%);
      }
    }
  }
}
}

@media screen and (min-width: 1241px) {
.main-visual.top_mv_cont {
  .row.row-1 .col.col-1 {
    .top_mv_txt {
      min-height: 550px;
      background-position: 100% bottom;
      background-size: auto 78% !important;
    }
  }
}
}


/*News--------------------*/
.top_news_item {
  .article-list .entry-list-unit .cont {
    h3 {
      width: 100%;
      padding: 0.5em 1.5em !important;
      margin-bottom: 0.5em !important;
      border-bottom: 1px solid #9999;
      position: relative;
      a {
        padding: 0 !important;
        font-weight: bold !important;
        font-size: 18px !important;
        line-height: 1.3em !important;
      }
      a:hover {
        opacity: .8 !important;
      }
    }
    h3::before {
      content: "";
      display: block;
      width: 8px;
      height: 8px;
      border-top: 2px solid #999;
      border-right: 2px solid #999;
      position: absolute;
      top: 50%;
      left: 0;
      transform: rotate(45deg) translate(-50%);
    }
    h4 {
      width: 100%;
      margin-right: 0 !important;
      margin-bottom: 0.5em !important;
      text-align: left !important;
      font-size: 12px !important;
      line-height: 1.2em !important;
    }
    .tags a {
      padding: 3px 0.8em !important;
    }
  }
  .article-list .entry-list-unit:last-of-type {
    border-bottom: 1px solid #eee;
  }
}

@media screen and (max-width: 769px) {
.top_news_item {
  .article-list .entry-list-unit .cont h4 .update-time {
    display: inline-block;
    margin-top: 0;
    margin-left: 1em;
  }
}
}

@media screen and (min-width: 770px) {
.top_news_item {
  .article-list .entry-list-unit:first-of-type .cont {
    padding-top: 0 !important;
  }
}
}

/*Service, Group--------------------*/
.top_service_box, .top_group_box {
  .col {
    .top_service_sub-heading p {
      color: #666666 !important;
    }
    .top_service_txt, top_group_txt {
      p {
        font-size: 14px !important;
      }
      ul li span {
        background-color: rgba(255,255,255,0.8);
      }
    }
    .top_service_img img, .top_group_img img{
      display: block;
      max-height: 180px;
      margin: auto;
    }
  }
}

.top_service_col1, 
.top_group_col1 {
  padding: 20px;
  background-size: auto 95%;
  .top_service_img img, .top_group_img img {
    max-width: 360px !important;
  }
}

.top_service_col2 .col, 
.top_group_col2 .col {
  padding: 10px 20px;
}

@media screen and (max-width: 769px) {
.top_service_box, 
.top_group_box {
  .top_service_img img, .top_group_img img {
    max-width: 360px !important;
  }
}

.top_service_col1:not(.bg-img) {
  display: flex;
  .col-1 {
    order: 1;
  }
  .col-2 {
    order: 0;
  }
}

.top_service_col1.bg-img, 
.top_group_col1.bg-img {
  background-size: 32% auto;
  position: relative;
  .top_service_txt, .top_group_txt {
    padding-right: 30%;
  }
}
}

@media screen and (min-width: 770px) {
.top_service_col2, 
.top_group_col2 {
  .col {
    position: relative;
    .top_service_sub-heading, 
    .top_service_heading, 
    .top_service_btn {
      width: 70%;
    }
    .top_service_img, .top_group_img {
      width: 30%;
      position: absolute;
      right: 0;
      top: 0;
      img {
        max-height: 150px;
      }
    }
  }
}
}

/*Magazine--------------------*/
.top_magazine_cont {
  padding: 0 !important;
  .inner {
    max-width: unset !important;
    background: rgba(0, 0, 0, 0.5);
    padding: 60px !important;
    .top_magazine_box {
      max-width: 1240px;
      margin: 0 auto;
      .component.button {
        margin-top: 1.5em !important;
      }
    }
  }
}

@media screen and (max-width: 769px) {
.top_magazine_cont {
  .inner {
    padding: 30px !important;
    .top_magazine_box {
      .col-1 .image {
        max-width: 320px !important;
        margin: 30px auto;
      }
    }
  }
}
}

/*Media--------------------*/
.top_media_cont {
  .top_media_box {
    .col {
      .image {
        margin: 0 auto !important;
      }
    }
  }
}

@media screen and (max-width: 769px) {
.theme-fo-base .wrapper .contents .top_media_cont {
  .top_media_box {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    .col {
      width: 50% !important;
      padding: 0 10px 10px 10px;
    }
  }
}
}

/*Branch--------------------*/
@media screen and (max-width: 769px) {
.top_branch_cont {
  .top_branch_box {
    .col {
      padding: 0 10px 10px;
    }
  }
}
}

@media screen and (min-width: 770px) and (max-width: 1240px) {
.top_branch_cont {
  .top_branch_box {
    .col .heading h3 span {
      font-size: min(3.6vw, 46px);
    }
  }
}
}

/*Group--------------------*/
.top_group_box {
  .col {
    .top_group_img img {
      width: 100% !important;
    }
  }
}

/*Contact--------------------*/
.top_contact_cont {
  padding: 0 !important;
  .inner {
    max-width: unset !important;
    background: rgba(0, 0, 0, 0.5);
    padding: 60px !important;
    .row {
      max-width: 1240px;
      margin: 0 auto;
    }
  }
}