.main-recruits .wrap h2,.main-companys .wrap h2 {
    font-size: 50px;
    text-align: left;
}

.main-recruits .wrap h2::before,.main-companys .wrap h2::before {
    display: inline-block;
    margin: 0 10px 10px 0px;
    width: 16px;
    height: 16px;
    content: '';
    border-radius: 100%;
    background: #08B15B;
}

.main-recruits .wrap h2 span,.main-companys .wrap h2 span{
    font-size: 60px;
}
.main-recruits .wrap h2::after,.main-companys .wrap h2::after {
    content: '';
    position: static;
    transform: none;
}
.text{
    margin-left: 1.5em;
    margin-top: 0.2em;
    margin-bottom: 2.5em;
}
section.recruit .content{
    display: flex;
    justify-content: space-between;
    gap:1em;
}
section.recruit .content.company{
    flex-direction: row-reverse;
    margin-top: 10em;
}
section.recruit .content .img{
    width: 403px;
}
section.recruit .number{
    padding-top: 6em;
}
section.recruit .number .content{
        display: flex;
    justify-content:space-between;
    flex-wrap: wrap;
    gap: 5em;
    margin-top: 7em;
    padding: 0 4em;
}
section.recruit .number div{
    text-align: center;
}
section.recruit .number div p{
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    margin: 0;
}
section.recruit .number div p.txt{
    font-size: 15px;
    font-weight: normal;
}
section.recruit .number div img{
    width: 50%;
    margin-bottom: 0.5em;
}
section.recruit .number div h3{
    font-size: 80px;
    font-weight: bold;
    color: #08B15B;
     font-family: "Poppins", sans-serif;
    margin: 0;
        line-height: 1;
}
section.recruit .number div h3 span{
        font-size: 32px;
    font-weight: bold;
    color: #222;
     font-family: "Noto Sans JP", sans-serif;
}
section.benefit{
    background: #F4EB0E;
}
section.benefit .content{
    display: flex;
    justify-content:flex-start; /* 統一 */
    flex-wrap: wrap;
    text-align: center;
    gap: 2%;
}
section.benefit .content .box{
    background: #fff;
    padding: 3em;
    box-sizing: border-box; /* 追加 */
    width: calc((100% - 4%) / 3); /* 3列 */
    margin: 0 0 2% 0;
}
section.benefit .content::after{
    content: none; /* ダミー削除 */
    display: none;
}
section.benefit .content a.btn {
    font-size: 14px;
    margin-top: 2em;
}
p.map{
    margin-top: 4em;
}
.map iframe{
    height:450px;
    margin-top: 2em;
}
/*============================
mobile style
============================*/

@media screen and (max-width: 1000px) {
    
    
    section.recruit .content {
    display: block;
    }
    .main-recruits .wrap h2, .main-companys .wrap h2 {
    font-size: 35px;
    }
    .main-recruits .wrap h2 span, .main-companys .wrap h2 span {
    font-size: 42px;
}
.main-recruits .wrap h2::before, .main-companys .wrap h2::before {
    margin: 0 10px 7px 0px;
    width: 10px;
    height: 10px;
    }
section.recruit .content .img {
    width: 80%;
    padding-top: 6em;
    margin: auto;
}
section.recruit .content.company {
    margin-top: 5em;
}
.map iframe{
    height:344px;
}
    section.recruit .number div h3 {
    font-size: 40px;
    }
    section.recruit .number div h3 span {
    font-size: 15px;
    }
    section.recruit .number div p {
    font-size: 14px;
    }
    section.recruit .number div p.txt {
    font-size: 10px;
    }
section.recruit .number .content {
    gap: 2em;
    margin-top: 7em;
    padding: 0 1em;
    width: auto;
    align-items: baseline;
}
    section.recruit .number div {
    text-align: center;
    width: 45%;
    margin-bottom: 2em;
}
    section.recruit .number div img {
    width: 50%; /* 3列時と同じ割合に統一 */
    max-width:200px; /* デスクトップと同じ上限 */
    }
section.benefit .content {
    display: flex; /* block -> flex */
    flex-wrap: wrap;
    gap: 2%;
}
section.benefit .content .box {
    width: calc((100% - 2%) / 2); /* 2列 */
    margin-bottom: 2em;
    padding-bottom: 3em; /* 元padding調整 */
}
section.benefit .content .box img { width: 60%; }
    section.benefit .content .box h3 {
    text-align: center;
    font-size: 18px;
}
}

/* BENEFIT タイトル番号装飾 */
section.benefit .content .box h3.benefit-title {
  display:flex;
  align-items:center;
  justify-content:center; /* 中央寄せ */
  gap:0.5em;
  font-size:24px;
  font-weight:500;
  margin-top:0;
  text-align:center; /* 中央寄せ */
}
section.benefit .content .box h3.benefit-title .benefit-title__num {
  font-size:60px;
  font-family:"Poppins", sans-serif;
  color:#08B15B;
  line-height:1;
  display:inline-block;
}
section.benefit .content .box h3.benefit-title .benefit-title__text { line-height:1.2; }

/* add 202505 */
section.recruit .number div img{
    max-width: 200px;
}
section.benefit .content .box img{
    width: 50%;
}

/* BENEFIT レイアウト列数ルール再整理 */
/* デフォルト(>=1001px): 3列 */
section.benefit .content {gap:2%;}
section.benefit .content .box {width:calc((100% - 4%) / 3);} /* 3列 */
/* 1000px以下: 2列 */
@media screen and (max-width:1000px){
  section.benefit .content .box {width:calc((100% - 2%) / 2); padding-bottom:3em;}
}
/* 768px以下: 1列 */
@media screen and (max-width:768px){
  section.benefit .content .box {width:100%;}
}

/* BENEFIT バッジ左上配置 */
section.benefit .content .box { position:relative; }
section.benefit .content .box .cat-badges { position:absolute; top:12px; left:12px; margin:0; padding:0; gap:.4em; justify-content:flex-start; }
section.benefit .content .box .cat-badge-item { margin-right:0; }

/* Altus Numbers 固定3列幅: 2列に崩れても各アイテム幅を3列基準に保ち画像拡大を防止 (20250810) */
section.recruit .number .content.altus-numbers .altus-numbers-item{flex:0 0 calc((100% - 10em)/3); box-sizing:border-box;}
/* 画像は常に同サイズ */
section.recruit .number .content.altus-numbers .altus-numbers-item img{width:50%; max-width:160px;}
@media screen and (max-width:1000px){
  /* モバイルは従来通り2列(45%) */
  section.recruit .number .content.altus-numbers .altus-numbers-item{flex:0 0 45%;}
  section.recruit .number .content.altus-numbers .altus-numbers-item img{max-width:140px;}
}
@media screen and (max-width:600px){
  /* 狭幅は1列 */
  section.recruit .number .content.altus-numbers .altus-numbers-item{flex:0 0 100%;}
  section.recruit .number .content.altus-numbers .altus-numbers-item img{max-width:160px;}
}

/* BENEFIT 画像サイズ統一: 3列時と同等の実効サイズを維持 (列数が減っても拡大しない) 20250810 */
section.benefit .content .box img{width:50%; max-width:180px; height:auto;}
@media screen and (max-width:1000px){
  section.benefit .content .box img{width:33%; max-width:200px; height:auto;}
}
@media screen and (max-width:768px){
  section.benefit .content .box img{width:auto; max-width:180px;}
}