.j_sinsotu {
    margin-top: 1rem;
    margin-bottom: 2rem;
}

.j_sinsotu-div {
    margin-left:auto;
    margin-right:auto;
    margin-bottom: 0.625rem;
    width: 100%;
}

.j_sinsotu-div table td {
    font-size: clamp(0.75rem, 0.9375vw, 1.25rem);
}

.j_sinsotu-title-bar {
    border: 2px solid #80bc3d;
}

.j_sinsotu-title-bar-mark {
    width: 1.25rem;
    height: 1.25rem;
    background-color: #80bc3d;
}

.j_sinsotu-title {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
}

.j_sinsotu-dashed {
    border: 2px dashed #008000;
}

.j_sinsotu-contents-div {

}

.j_sinsotu-contents {
    display: flex;
    justify-content: space-between;
    padding-bottom: 30px;
    font-size: clamp(0.75rem, 0.9375vw, 1.25rem);
}

.j_sinsotu-month-divs {
    padding: 0 10px 0 10px;
}

.j_sinsotu-month {
    display: flex;
    width: 100%;
    padding-top: 10px;
    padding-bottom: 10px;
}

.j_sinsotu-month-title-image {
    
}

.j_sinsotu-month-title-text {
    align-content: end;
    flex: 1;
    border-bottom: 2px dashed #8c8b8b;
    font-size: clamp(0.75rem, 0.9375vw, 1.25rem);
}

.j_sinsotu-month-body-text {
    font-size: clamp(0.6rem, 0.729vw, 1.4rem);
}

/* 募集要項テーブル */
.j_sinsotu-recruitment-table {
    width: 100%;
    border-collapse: collapse;
    font-size: clamp(0.6rem, 0.729vw, 1.4rem);
}
.j_sinsotu-recruitment-table td {
    border: 1px solid #333;
    padding: 10px;
}
.recruitment-header {
    background-color: #78b931;
    color: #000;
    font-weight: bold;
    width: 15%;
    text-align: center;
}
.recruitment-content {
    background-color: #fff;
    padding: 15px;
}
.recruitment-content div {
    margin-bottom: 0px;
}
/* 初任給テーブル */
.salary-table {
    width: 100%;
    border-collapse: collapse;
    margin: 10px 0;
}
.salary-table td {
    border: 1px solid #ccc;
    padding: 8px;
}

.salary-table tr:nth-child(odd) {
    background-color: #f9f9f9;
}
.salary-table tr:nth-child(even) {
    background-color: #fff;
}

/* タイトルとFAQリンクの横並び */
.j_sinsotu-title-wrapper {
    display: flex;
    align-items: center;
    gap: 20px;
}
.j_sinsotu-faq-link {
    flex-shrink: 0;
}
.j_sinsotu-faq-link img {
    width: 35%;
    cursor: pointer;
    transition: opacity 0.2s;
}
.j_sinsotu-faq-link img:hover {
    opacity: 0.7;
}

.j_sinsotu-supplement {
    font-size: 0.8em;
    color: #696969;
}