.elementor-7304 .elementor-element.elementor-element-0ecdc3c{--display:flex;}.elementor-7304 .elementor-element.elementor-element-9fb584f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:80px;--margin-bottom:150px;--margin-left:0px;--margin-right:0px;}@media(min-width:768px){.elementor-7304 .elementor-element.elementor-element-9fb584f{--content-width:1070px;}}@media(max-width:1279px) and (min-width:768px){.elementor-7304 .elementor-element.elementor-element-9fb584f{--content-width:90%;}}/* Start custom CSS for html, class: .elementor-element-4f8594a */.recruit-wrap {
    width: 100%;
    display: flex;
    flex-direction: column;
}

/* =====================
   PC版レイアウト
   ===================== */
.pc-layout {
    display: flex;
    flex-direction: column;
    width: 100%;
}
.tier1 {
    width: 100%;
    display: flex;
    gap: 50px;
    justify-content: center;
}
.group-connector {
    width: 100%;
    display: flex;
    justify-content: center;
    gap: 50px;
    padding-top: 30px;
}
.group-line {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
}
.tier2-group {
    display: flex;
    gap: 16px;
    width: 100%;
    justify-content: center;
}
.connector-line {
    width: 1px;
    background: #A69686;
    height: 12px;
}

/* =====================
   SP版レイアウト
   ===================== */
.sp-layout {
    display: none;
    flex-direction: column;
    width: 100%;
    gap: 16px;
}
.sp-group {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 8px;
}
.sp-tier2 {
    display: flex;
    gap: 8px;
    width: 100%;
}

/* =====================
   ボタン共通
   ===================== */
.btn1 {
    width: 100%;
    padding: 20px 10px;
    border-radius: 1000px;
    border: 1px solid #A69686;
    background: #fff;
    color: #A69686;
    font-size: 1.5rem;
    font-weight: normal;
    cursor: pointer;
    transition: background 0.2s, color 0.2s, opacity 0.3s;
    text-align: center;
    font-family: "noto sans jp";
    letter-spacing: 0.1em;
}
.btn1:hover { opacity: 0.8; }
.btn1.active { background: #A69686; color: #fff; }
.btn1.dimmed { opacity: 0.3; pointer-events: none; }

.btn2 {
    padding: 20px 10px;
    border-radius: 100px;
    border: 1px solid #A69686;
    background: #fff;
    color: #A69686;
    font-size: 1.6rem;
    font-weight: normal;
    cursor: pointer;
    text-align: center;
    line-height: 1;
    opacity: 0.3;
    pointer-events: none;
    transition: background 0.2s, color 0.2s, opacity 0.3s;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "noto sans jp";
    letter-spacing: 0.1em;
    width: 35%;
}
.btn2:nth-child(2) { width: 65%; }
.btn2.active { opacity: 1; pointer-events: auto; }
.btn2.active:hover { opacity: 0.8; }

.reset-wrap {
    text-align: center;
    margin-top: 1.2rem;
    min-height: 28px;
    transition: opacity 0.3s;
}
.reset-btn {
    background: none;
    border: none;
    padding: 4px 12px;
    font-size: 13px;
    color: #A69686;
    cursor: pointer;
    text-decoration: underline;
    border-radius: 8px;
    transition: color 0.2s;
}
.reset-btn:hover { color: #222; }
.reset-hidden { opacity: 0; pointer-events: none; }

/* =====================
   タブレット
   ===================== */
@media screen and (max-width:1024px){
    .tier1 { gap: 10px; }
    .group-connector { gap: 10px; }
    .tier2-group { gap: 5px; }
    .btn1, .btn2 {

        padding: 15px 10px;
        font-size: 1rem;
    }
}

/* =====================
   SP版：PC非表示・SP表示切替
   ===================== */
@media screen and (max-width:767px){
    .pc-layout { display: none; }
    .sp-layout { display: flex; }
    .btn1, .btn2 {
        padding: 15px 10px;
        font-size: 1rem;
    }
    .sp-tier2 .btn2 { width: 35%; }
    .sp-tier2 .btn2:nth-child(2) { width: 65%; }
    
    .btn1, .btn2 {
        font-size: 1.4rem;
    }
}/* End custom CSS */