.c-main{
    padding: 120px 0 0;
}
.main-visual{
    background-image: url(../../../images/pages/recruit/recruit-mv_pc.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    position: relative;
    margin-bottom: 175px;
    height: 1080px;
    background-position-x: 80%;
}
.main-visual-inner{
    max-width: 2150px;
    margin: 0 auto;
    position: relative;
}
.main-visual__catch{
    position: absolute;
    top: 290px;
    right: 11%;
}
.main-visual__catch-ja{
    font-size: 54px;
    letter-spacing: 5px;
    margin-bottom: 50px;
    color: #fff;
    font-weight: 600;
}
.main-visual__sub{
    font-size: 32px;
    letter-spacing: 3px;
    line-height: 1.7;
    color: #fff;
    font-weight: 600;
}
.main-visual .c-balloon-btn{
    margin-top: 70px;
    width: 300px;
    height: 80px;
    text-align: center;
    background-color: var(--yellow);
    border-radius: 40px;
}
.main-visual .c-balloon-btn a{
    font-size:18px;
    line-height: 80px;
    display: block;
    padding: 0;
}
@media screen and (max-width:768px) {
    .c-balloon-btn__body,
    .main-visual .c-balloon-btn{
        width: 240px;
        height: 60px;
        margin: 340px auto 0;
    }
    .main-visual .c-balloon-btn a{
        line-height: 60px;
    }
    .c-balloon-btn__body-text{
        font-size: 14px;
    }
}
.beginners-banner{
    position: absolute;
    right: 35px;
    top: 900px;
    background-color: #fff;
    border-radius: 10px;
} 
.beginners-banner a{
    display: flex;
    padding: 10px;
    width: 400px;
    align-items: center;
    gap: 40px;
}
.beginners-banner__en{
    font-size: 12px;
    margin-bottom: 10px;
    color: var(--green);
    font-family: var(--font);
    font-weight: 600;
}
.beginners-banner__ja{
    font-size: 17px;
}
.beginners-banner__ja span{
    font-size: 14px;
    display: inline-block;
    margin-bottom: 5px;
}

@media screen and (max-width:1030px) {
    .fv{
        margin-top: 60px;
    }
    .main-visual{
        background-position-x: 50%;
    }
    .main-visual__catch-ja{
        font-size: 40px;
    }
}
@media screen and (max-width:768px) {
    .c-main{
        padding-top: 50px;
    }
    .main-visual{
        background-image: url(../../../images/pages/recruit/recruit-mv_sp.jpg);
        height: 640px;
        margin-bottom: 300px;
    }
    .main-visual__catch{
        text-align: center;
        left: 50%;
        transform: translateX(-50%);
        top: 50px;
        right: auto;
        width: 100%;
    }
    .main-visual__catch-ja{
        font-size: 26px;
        letter-spacing: 3px;
        margin-bottom: 15px;
    }
    .main-visual__sub{
        font-size: 16px;
        letter-spacing: 3px;
    }
    .beginners-banner{
        position: relative;
        width: 90%;
        margin: 0 auto;
        right: 0;
        bottom: -670px;
        top: 680px;
        box-shadow:
        0 0 5px rgba(153,153,153,0.15),
        0 0 10px rgba(153,153,153,0.1);
        gap: 35px;
    }
    .beginners-banner a {
        width: 100%;
        gap: 30px;
    }
    .beginners-banner img{
        width: 105px;
    }
    .beginners-banner__en{
        font-size: 10px;
        margin-bottom: 10px;
    }
    .beginners-banner__ja{
        font-size: 15px;
    }
    .beginners-banner__ja span{
        font-size: 12px;
    }
    .main-visual .red-btn{
        width: 250px;
        height: 62.5px;
        margin: 285px auto 0;
    }
    .main-visual .red-btn a{
        font-size: 14px;
        line-height: 62.5px;
    }
}
/* TOPのタイトル */
#recruit .top-title{
    text-align: center;
}
#recruit .top-title.left{
    text-align: left;
}
#recruit .top-title .en{
    font-size: 50px;
    font-weight: 300;
    color: var(--green);
    font-family: var(--font);
}
#recruit .top-title .ja{
    font-size: 18px;
    margin-top: 15px;
    margin-bottom: 80px;
    font-weight: bold;
}
@media screen and (max-width:768px) {
    #recruit .top-title .en{
        font-size: 31px;
    }
    #recruit .top-title .ja{
        font-size: 12px;
        margin: 25px 0 50px;
    }
}
/* TOP 画像左テキスト右 */
.box-containerA {
    display: flex;
    position: relative;
    align-items: center;
    margin: auto;
    padding: 100px 0;
    width: 100%;
    margin-bottom: 180px;
  }
  
  .box-containerA__image {
    position: absolute;
    top: 0;
    right: 60%;
    width: 40%;
    height: 100%;
  }
  .box-containerA__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0 12px 12px 0;
  }
  
  .box-containerA__group {
    position: relative;
    left: 50%;
    max-width: 50%;
    padding-right: 10%;
  }
  
  .box-containerA__head {
    text-align: left;
  }
  
  .box-containerA__ja-heading {
    font-size: 34px;
    font-weight: 600;
    line-height: 1.7;
  }
  .box-containerA__ja-mini-heading {
    margin-top: 10px;
    font-size: 26px;
    font-weight: 600;
  }
  .box-containerA__en-heading {
    margin-top: 26px;
    font-size: 50px;
    font-weight: 300;
  }
  .box-containerA__text {
    margin-top: 50px;
    line-height: 2;
    letter-spacing: 0.5px;
    margin-bottom: 70px;
    width: 100%;
    font-size: 16px;
  }
  .box-containerA__group  .cta-wrap-black{
    margin-left: 0;
  }

  @media screen and (max-width: 768px) {
    .box-containerA {
      display: block;
      padding: 0;
      margin-bottom: 100px;
    }
  
    .box-containerA__image {
      position: relative;
      top: auto;
      right: auto;
      width: 100%;
      height: 300px;
      margin-bottom: 55px;
    }
    .box-containerA__image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      border-radius: 0;
    }
  
    .box-containerA__group {
      position: relative;
      left: auto;
      margin: 0 auto;
      width: 85%;
      padding: 0;
      max-width: none;
    }
  
    .box-containerA__head {
      text-align: center;
    }
  
    .box-containerA__ja-heading {
      margin-top: 14px;
      font-size: 28px;
      text-align: left;
      line-height: 1.5;
    }
    .box-containerA__ja-mini-heading {
      margin-top: 14px;
      font-size: 17px;
      text-align: left;
    }
    .box-containerA__en-heading {
      margin-top: 14px;
      font-size: 31px;
      font-weight: 300;
    }
  
    .box-containerA__text {
      margin-top: 36px;
      font-size: 14px;
      letter-spacing: 0.5px;
      margin-bottom: 60px;
    }
  }

  .c-btn__body{
    margin: 0 auto 0 0;
    width: 240px;
    height: 70px;
    max-height: 70px;
    border-radius: 35px;
    font-size: 16px;
    line-height: 70px;
    padding: 0;
  }
  @media screen and (max-width: 768px) {
    .c-btn__body{
        width: 190px;
        height: 50px;
        line-height: 50px;
        margin: 0 auto;
        font-size: 15px;
    }
  }

#training-system_top{
    margin: 180px 0;
}
.box-containerB {
    display: flex;
    position: relative;
    align-items: center;
    margin: auto;
    width: 100%;
    margin-bottom: 180px;
    max-width: 1600px;
}

.box-containerB__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.box-containerB__group {
    position: relative;
    margin-left: 135px;
    width: 593px;
    max-width: 60%;
}

.box-containerB__head {
    text-align: left;
}

.box-containerB__ja-heading {
    margin-top: 26px;
    font-size: 26px;
}

.box-containerB__ja-mini-heading {
    margin-top: 25px;
    font-size: 1.4rem;
}

.box-containerB__en-heading {
    margin-top: 26px;
    font-size: 50px;
}

.box-containerB__text {
    margin: 70px auto 100px;
    width: 100%;
    font-size: 16px;
    line-height: 2;
    letter-spacing: 0.5px;
}

/* 背景別 */
#character .box-containerB {
    padding: 0;
    max-width: 1440px;
}

#character .box-containerB__image {
    position: absolute;
    top: 0;
    left: 55%;
    width: 43%;
    height: 100%;
}
#character .box-containerB__image img{
    border-radius: 12px;
}

@media screen and (max-width: 768px) {
    #character .box-containerB {
        flex-direction: column;
        margin-bottom: 50px;
    }

    #character .box-containerB__image {
        position: relative;
        width: 100%;
        height: auto;
        left: 0;
    }

    #character .box-containerB__image img {
        height: 275px;
        object-fit: cover;
        border-radius: 0;
    }

    #character .box-containerB__group {
        margin-top: 50px;
        width: 85%;
        margin-left: 0;
        max-width: none;
    }

    #character .box-containerB__head {
        text-align: center;
    }

    #character .box-containerB__ja-heading {
        margin-top: 14px;
        font-size: 18px;
    }

    #character .box-containerB__ja-mini-heading {
        margin-top: 14px;
        font-size: 1.4rem;
    }

    #character .box-containerB__en-heading {
        margin-top: 14px;
        font-size: 31px;
    }

    #character .box-containerB__text {
        margin-top: 36px;
        font-size: 14px;
        margin-bottom: initial;
    }
}



.character-icon {
    display: flex;
    gap: 23px;
    flex-wrap: wrap;
}

.character-icon li .bg {
    background-color: #fff;
    width: 129px;
    height: 129px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.character-icon li p {
    text-align: center;
    font-size: 16px;
    letter-spacing: 0;
    margin-top: 20px;
}

@media screen and (max-width:768px) {
    #training-system_top{
        margin-top: 0;
        margin-bottom: 90px;
    }
    #character{
        padding-top: 0;
        margin-top: 80px;
    }
    .character-icon{
        justify-content: center;
        margin-top: 60px;
    }
    .character-icon li{
        width: 110px;
    }
    .character-icon li .bg{
        width: 100px;
        height: 100px;
    }
    .character-icon li img{
        width: 50%;
    }
    .character-icon li p{
        font-size: 14px;
    }
}

/* ---------------- PCスタイル（デフォルト） ---------------- */
.box-containerC {
    display: flex;
    position: relative;
    align-items: center;
    margin: auto;
    width: 100%;
    padding: 100px 0;
}

.box-containerC__image {
    position: absolute;
    top: 0;
    left: 60%; /* 左側に変更 */
    width: 40%;
    height: 100%;
}

.box-containerC__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 12px 0 0 12px; /* 角を左右逆に */
}

.box-containerC__group {
    position: relative;
    max-width: 50%;
    padding-left: 10%; /* 右側に余白 */
}

.box-containerC__head {
    text-align: left;
}

.box-containerC__ja-heading {
    font-size: 34px;
    font-weight: 600;
    line-height: 1.7;
}

.box-containerC__ja-mini-heading {
    margin-top: 10px;
    font-size: 26px;
    font-weight: 600;
}

.box-containerC__en-heading {
    margin-top: 26px;
    font-size: 50px;
    font-weight: 300;
}

.box-containerC__text {
    margin-top: 50px;
    line-height: 2;
    letter-spacing: 0.5px;
    margin-bottom: 70px;
    width: 100%;
    font-size: 16px;
}

.box-containerC__group .cta-wrap-black {
    margin-left: 0;
}

/* ---------------- モバイル用（768px以下） ---------------- */
@media screen and (max-width: 768px) {
    .environment_top.bg-blue{
        padding: 0 0 80px 0;
    }
    .box-containerC {
        display: block;
        padding: 0;
    }

    .box-containerC__image {
        position: relative;
        top: auto;
        left: auto;
        width: 100%;
        height: 300px;
        margin-bottom: 55px;
    }

    .box-containerC__image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 0;
    }

    .box-containerC__group {
        position: relative;
        right: auto;
        margin: 0 auto;
        width: 85%;
        max-width: none;
        padding-left: 0;
    }

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

    .box-containerC__ja-heading {
        margin-top: 14px;
        font-size: 28px;
        text-align: left;
        line-height: 1.5;
    }

    .box-containerC__ja-mini-heading {
        margin-top: 14px;
        font-size: 1.4rem;
    }

    .box-containerC__en-heading {
        margin-top: 14px;
        font-size: 31px;
        font-weight: 300;
    }

    .box-containerC__text {
        margin-top: 36px;
        font-size: 14px;
        letter-spacing: 0.5px;
        margin-bottom: 60px;
    }
}
