/* =================================
   共通
================================= */

.work-request{
    max-width:1200px;
    margin:auto;
    padding:60px 20px;
}

.work-request section{
    margin-bottom:100px;
}

.work-request_section-title{
    text-align:center;
    font-size:34px;
    font-weight:700;
    margin-bottom:50px;
    color:#222;
    position:relative;
}

.work-request_section-title::after{
    content:"";
    width:80px;
    height:4px;
    background:#6db6ff;
    position:absolute;
    bottom:-15px;
    left:50%;
    transform:translateX(-50%);
    border-radius:10px;
}

/* =================================
   TOP
================================= */
.work-business_img img{
    width: 100%;
    height: auto;
}


.work-business_img{
    position:relative;
    overflow:hidden;
    border-radius:24px;
}

.work-business_img img{
    width:100%;
    display:block;
}

/* 少し暗くする */

.work-business_img::after{
    content:"";
    position:absolute;
    inset:0;

}

/* テキスト */

.work-business_caption{

    position:absolute;

    top:85%;
    left:50%;

    transform:translate(-50%,-50%);

    z-index:2;

    width:90%;
    max-width:900px;

    text-align:center;

    color:#000000;
}

.work-business_title{

    font-size:48px;
    font-weight:700;

    margin-bottom:20px;

}

.work-business_lead{

    font-size:18px;

    line-height:2;

}

/* =================================
   お悩み
================================= */


.work-request_problem{
    border-radius:24px;
    padding:70px 50px;
}

.work-request_problem .work-request_section-title{
    text-align:center;
    font-size:32px;
    font-weight:700;
    color:#333;
    margin-bottom:40px;
}

.work-request_list{
    list-style:none;
    margin:0 auto;
    padding:0;

    max-width:950px;

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
}

.work-request_list li{
    position:relative;

    background:#778aa4;
    color:#fff;

    border-radius:12px;

    padding:18px 18px 18px 52px;

    font-size:15px;
    font-weight:500;
    line-height:1.5;

    display:flex;
    align-items:center;

    min-height:72px;

    transition:.3s;
}

.work-request_list li:hover{
    transform:translateY(-3px);
}

.work-request_list li:nth-child(1)::before{
    content:"🕒";
    background:none;
}

.work-request_list li:nth-child(2)::before{
    content:"👤";
    background:none;
}

.work-request_list li:nth-child(3)::before{
    content:"🔍";
    background:none;
}

.work-request_list li:nth-child(4)::before{
    content:"📦";
    background:none;
}

.work-request_list li:nth-child(5)::before{
    content:"📈";
    background:none;
}

.work-request_list li:nth-child(6)::before{
    content:"🏢";
    background:none;
}

/* アイコン */

.work-request_list li::before{

    position:absolute;

    left:10px;
    top:50%;

    transform:translateY(-50%);

    font-size:32px;
    line-height:1;

    width:auto;
    height:auto;

    background:none;
}

/* =================================
   課題解決
================================= */


.work-request_solution{
    margin:100px 0;
}

.work-request_solution-box{
    border-radius:25px;
    padding:60px;
}

/* 上部フロー */

.solution-flow{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:20px;
    margin-bottom:40px;
}

.flow-box{
    background:#fff;
    border:2px solid #d8e7f7;
    border-radius:12px;
    padding:15px 30px;
    font-weight:700;
}

.flow-box-center{
    background:#6f88a8;
    color:#fff;
}

.flow-arrow{
    color:#6f88a8;
    font-size:24px;
    font-weight:700;
}

/* リード */

.work-request_solution-lead{
    text-align:center;
    margin-bottom:40px;
    color:#555;
    line-height:1.8;
}

/* Point */

.work-request_solution-points{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px;
}

.work-request_solution-item{
    position:relative;

    background:#fff;
    border-radius:18px;

    padding:35px 25px;

    box-shadow:0 8px 20px rgba(0,0,0,.05);

    text-align:center;
}

.point-label{
    display:inline-block;

    background:#ffb65c;
    color:#fff;

    padding:5px 14px;

    border-radius:30px;

    font-size:13px;
    font-weight:700;

    margin-bottom:15px;
}

.work-request_solution-item h3{
    margin-bottom:15px;
    color:#4b6f95;
    font-size:22px;
}

.work-request_solution-item p{
    line-height:1.8;
    color:#555;
}

.work-request_solution-item img{
    display:block;
    width:120px;      /* サイズ調整 */
    height:120px;
    object-fit:contain;

    margin:0 auto 20px;
}

/* =================================
   対応可能なお仕事
================================= */

.work-request_cards{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px;
}

.work-request_card{
    background:#fff;
    border-radius:20px;
    padding:30px;
    box-shadow:0 5px 15px rgba(0,0,0,.05);
    text-align:center;
}

.work-request_card h3{
    color:#2b7ddf;
    margin-bottom:10px;
}

.work-request_featured{
    margin:40px 0;
}

.work-request_card--featured{
    background:linear-gradient(
    135deg,
    #dceeff,
    #f4faff
    );
    text-align:left;
    padding:50px;
}

.work-request_card--featured h3{
    font-size:28px;
}

.work-request_card img{
    width:80%;
    height:auto;
    max-width:300px;
}

.work-request_featured{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:50px;

    margin:60px 0;
    padding:50px;

    background:linear-gradient(
        135deg,
        #2b7ddf,
        #5fa4f5
    );

    border-radius:30px;

    color:#fff;

    box-shadow:
        0 20px 40px rgba(43,125,223,.15);
}

.work-request_featured-content{
    flex:1;
}

.work-request_featured h3{
    color:#fff;
    font-size:32px;
    margin:15px 0;
}

.work-request_featured p{
    line-height:2;
}

.work-request_featured-image{
    flex-shrink:0;
}

.work-request_featured-image img{
    width:550px;
    display:block;
}

.work-request_badge{
    display:inline-block;

    padding:8px 18px;

    background:#fff;

    color:#2b7ddf;

    border-radius:999px;

    font-size:13px;
    font-weight:700;
}

.work-request-other{
    margin-top:50px;

    padding:40px;

    text-align:center;

    background:#f8fbff;

    border:2px dashed #b8d8ff;

    border-radius:20px;
}

.work-request-other h3{
    color:#2b7ddf;
    font-size:24px;
    margin-bottom:15px;
}

.work-request-other p{
    line-height:1.9;
    color:#555;
}

/* =================================
   6つのメリット
================================= */

.work-request_merit{
    margin:120px 0;
}

.work-request_merit .work-request_section-title{
    text-align:center;
    margin-bottom:50px;
}

.work-request_merit-cards{

    display:grid;
    grid-template-columns:repeat(3,1fr);

    gap:25px;

    max-width:1200px;
    margin:0 auto;
}

/* カード */

.work-request_merit-card{

    position:relative;

    background:#fff;

    border-radius:22px;

    padding:30px;

    box-shadow:
    0 10px 30px rgba(0,0,0,.05);

    transition:.3s;
}

.work-request_merit-card:hover{
    transform:translateY(-5px);
}

/* 上の帯 */

.work-request_merit-card::before{

    content:"";

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:6px;

    background:#6f88a8;

    border-radius:22px 22px 0 0;
}

/* ヘッダー */

.merit-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:20px;
}

/* 番号 */

.work-request_merit-num{

    width:54px;
    height:54px;

    border-radius:50%;

    background:#6f88a8;

    color:#fff;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:18px;
    font-weight:700;
}

/* アイコン */

.merit-icon{
    font-size:34px;
}

/* 見出し */

.work-request_merit-card h3{

    font-size:20px;

    line-height:1.5;

    color:#33475b;

    margin-bottom:15px;
}

/* 本文 */

.work-request_merit-card p{

    line-height:1.9;

    color:#555;

    font-size:15px;
}


/* タブレット */

@media(max-width:1024px){

    .work-request_merit-cards{
        grid-template-columns:repeat(2,1fr);
    }

}

/* スマホ */

@media(max-width:768px){

    .work-request_merit{
        margin:80px 0;
    }

    .work-request_merit-cards{
        grid-template-columns:1fr;
    }

    .work-request_merit-card{
        padding:25px;
    }

    .work-request_merit-card h3{
        font-size:18px;
    }

    .merit-icon{
        font-size:28px;
    }

}

/* =================================
   Flow
================================= */

.work-request_flow-steps{
    display:flex;
    align-items:stretch;
    justify-content:center;
    gap:20px;
}

.work-request_flow-step{
    flex:1;
    display:flex;
    flex-direction:column;
    background:#fff;
    border-radius:20px;
    padding:30px;
    text-align:center;
    box-shadow:0 5px 15px rgba(0,0,0,.05);
}

.work-request_flow-arrow{
    display:flex;
    align-items:center;      /* 矢印を縦中央 */
    justify-content:center;  /* 矢印を横中央 */
    font-size:40px;
    color:#6db6ff;
    flex-shrink:0;
}

.work-request_flow-step h3{
    background:#6db6ff;
    color:#fff;
    font-size:1.2rem;
    font-weight:700;
    padding:12px;
    border-radius:10px;
    margin-bottom:20px;
}

.work-request_flow-step img{
    width:100%;
    height:180px;
    object-fit:contain;
}

.work-request_flow-step p{
    margin-top:auto;
    line-height:1.8;
}

.work-request_flow-num{
    display:flex;
    width:60px;
    height:60px;
    border-radius:50%;
    background:#6db6ff;
    color:#fff;
    justify-content:center;
    align-items:center;
    font-weight:700;
    margin:0 auto 15px;
}

.work-request_flow-arrow{
    font-size:40px;
    color:#6db6ff;
}

/* =================================
   CTA
================================= */

.work-request_cta{
    background:linear-gradient(
    135deg,
    #6db6ff,
    #4d95f3
    );
    color:#fff;
    border-radius:30px;
    text-align:center;
    padding:80px 40px;
}

.work-request_cta h2{
    font-size:38px;
    margin-bottom:20px;
}

.work-request_cta-tel{
    margin:40px 0;
}

.work-request_cta-tel-number{
    font-size:48px;
    color:#fff;
    text-decoration:none;
    font-weight:700;
}

.work-request_btn{
    display:inline-block;
    background:#fff;
    color:#2b7ddf;
    text-decoration:none;
    padding:18px 50px;
    border-radius:50px;
    font-weight:700;
    transition:.3s;
}

.work-request_btn:hover{
    transform:translateY(-3px);
}

/* =================================
   SP
================================= */

@media(max-width:768px){

.work-request_title{
    font-size:34px;
}

.work-request_hero{
    padding:40px 25px;
}

.work-request_list,
.work-request_cards,
.work-request_merit-cards,
.work-request_solution-points{
    grid-template-columns:1fr;
}

.work-request_flow-steps{
    flex-direction:column;
}

.work-request_flow-arrow{
    transform:rotate(90deg);
}

.work-request_cta-tel-number{
    font-size:34px;
}

.work-request_section-title{
    font-size:26px;
}

}