@charset "UTF-8";

body,
html {
    height: 100%
}

body {
    margin: 0
}

main {
    display: block
}

ol,
ul {
    list-style-type: none;
    padding: 0
}

dl,
dt,
ol,
ul {
    margin: 0
}

dt {
    font-weight: 700
}

dd,
figure {
    margin: 0
}

iframe {
    border: 0
}

img,
picture {
    border: 0;
    margin: 0;
    vertical-align: bottom
}

table {
    border-collapse: collapse;
    margin: 0;
    table-layout: fixed;
    text-align: left;
    width: 100%
}

thead {
    line-height: 1.5;
    vertical-align: bottom
}

tbody {
    vertical-align: top
}

th {
    font-weight: 700
}

html {
    font-size: 10px
}

body {
    color: #323232;
    font-size: 1.6rem;
    line-height: 1.8
}

@font-face {
    font-display: swap;
    font-family: Spiderplus-Medium;
    font-style: normal;
    font-weight: 500;
    src: url(/jobs/wp/wp-content/themes/spider-plus-recruit/assets/fonts/Spiderplus-Medium.otf) format("opentype")
}

body,
h1,
h2,
h3,
h4,
h5,
h6 {
    color: #323232;
    font-family: Spiderplus-Medium, Noto Sans JP, Hiragino Sans, ヒラギノ角ゴ ProN W3, Hiragino Kaku Gothic ProN, Meiryo, メイリオ, Osaka, MS PGothic, arial, helvetica, sans-serif
}

h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 1.5;
    margin: 0
}

h1 {
    font-size: 3.5rem;
}

p {
    color: #323232;
    margin: 0
}

@media screen and (max-width:768px) {
    p {
        font-size: 1.4rem;
    }

    .interview-pagination .pagination a,
    .interview-pagination .pagination span {
        font-size: 1.7rem;
    }
}

a {
    text-decoration: none
}

a:focus {
    outline: 0
}

hr {
    border: 0;
    border-bottom: 1px solid #ddd;
    margin: .75em 0
}

.container {
    position: relative;
    width: 100%
}

.container::-webkit-scrollbar {
    display: none
}

.sp-show {
    display: block
}

.pc-show {
    display: none
}

.english-title {
    color: #f9634a;
}

.japanese-title {
    font-size: 3.5rem;
}

header.header {
    font-size: 1.3rem;
}

.icon-link {
    height: 15px;
    width: 15px;
    padding-left: 8px;
}

g [属性スタイル] {
    transform: translate(0.5, 0.5);
}

.button-external-link .icon-link__data {
    stroke: #f9634a;
    -webkit-transition: stroke .3s ease-out;
    -o-transition: stroke .3s ease-out;
    transition: stroke .3s ease-out;
}

.icon-link__data {
    fill: none;
    stroke: #f9634a;
    stroke-miterlimit: 10;
}

path [属性スタイル] {
    d: path("M 8.631 30.2 H 3.62 V 41.334 H 14.755 V 35.767");
    transform: translate(-3.62, -27.136);
}

.button-external-link {
    color: #f9634a;
    line-height: 1;
}

a:-webkit-any-link {
    cursor: pointer;
}



.workplace-header.interview-header,
.data-header,
.system-header,
.interview-header {
    padding-bottom: 100px;
}

section.top-main-view,
.system-header,
section.department-header,
.data-header,
.interview-header,
.issue-header {
    margin-top: 80px;
}

@media screen and (max-width:768px) {
    section.department-header {
        margin-top: 60px;
    }
}

.fadeIn {
    transform: translate3d(0, 40px, 0);
    transition: 1s;
    opacity: 0;
}

.fadeIn.animated {
    transform: translate3d(0, 0, 0);
    opacity: 1;
}

.slide {
    position: relative;
    height: 80vh;
    width: 100%;
    height: 550px;
    overflow: hidden;
}

.slide-image {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    animation: slider-1 24s linear infinite;
    z-index: -2;
}

.slide-image:nth-child(1) {
    background-image: url(https://jobs.spiderplus.co.jp/images/2504/mainvisual02.jpg);
    animation-delay: -2s;
}

.slide-image:nth-child(2) {
    background-image: url(https://jobs.spiderplus.co.jp/images/2504/mainvisual04.jpg);
    animation-delay: 6s;
}

.slide-image:nth-child(3) {
    background-image: url(https://jobs.spiderplus.co.jp/images/2504/mainvisual03.jpg);
    animation-delay: 14s;
}

@keyframes slider-1 {

    /* 非表示状態からフェードインを開始する */
    0% {
        opacity: 0;
        transform: scale(1);
        /* ズームのための指定 */
    }

    /* フェードインを完了し完全表示する */
    4.16% {
        opacity: 1;
    }

    /* ここまで完全表示を維持したらフェードアウトを開始する */
    33.33% {
        opacity: 1;
    }

    /* フェードアウトを完了し非表示にする */
    41.66% {
        opacity: 0;
        transform: scale(1.2);
        /* ズームのための指定 */
    }

    100% {
        opacity: 0;
    }
}

.top-main-view h1 {
    font-family: Spiderplus-Medium;
    font-size: 2.5rem;
    font-weight: lighter;
    color: #fff;
    border: solid 2px #fff;
    width: 200px;
    margin: 0 auto;
    text-align: center;
    margin-top: 150px;
}

.top-main-view h2 {
    text-align: center;
    margin-top: 3rem;
    color: #fff;
    font-size: 4.8rem;
    font-weight: bold;
}

.top-main-view h2 .yellow {
    color: #fece00;
}

.top-main-view h2 .red {
    color: #f9634a;
}

.top-main-view p {
    text-align: center;
    color: #fff;
    margin-top: 50px;
}

.top-department {
    padding-bottom: 50px;
}

.wrapper {
    margin: auto;
    max-width: 1000px;
    padding-left: .5%;
    padding-right: 2.5%;
}

@media screen and (max-width:768px) {

    .wrapper {
        max-width: 768px;
        padding-left: 5.5%;
        padding-right: 5.5%;
    }

    .slide {
        background: url(images/mainvisual.jpg)no-repeat 80%/cover;
        height: 80vh;
        overflow: hidden;
        height: 360px;
    }

    .top-main-view h1 {
        font-size: 2rem;
        border: none;
        width: 100%;
        margin-top: 40px;
        border: solid 1px;
        width: 160px;
    }

    .top-main-view h2 {
        font-size: 2.5rem;
        padding: 0px 60px;
        margin-top: 2.5rem;
        line-height: 4rem;
    }

    .top-main-view p {
        padding: 0px 20px;
        margin-top: 20px;
    }

    section.top-main-view,
    .system-header,
    section.department-header,
    .data-header,
    .interview-header,
    .issue-header {
        margin-top: 60px;
    }
}


.top-department-text,
.top-about-text {
    padding-top: 10px;
    padding-bottom: 40px;
}

.department.flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.data .flex {
    display: flex;
    justify-content: space-around;
}

.system .flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.department ul {
    width: calc(27% - 2.777%);
    height: 240px;
    background-color: #f2f2f2;
    border-radius: 10px;
    text-align: center;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.5s;
    -webkit-transition-property: transform;
    transition-property: transform;
}

.department ul:hover {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
}

.department img {
    width: 80px;
    padding-top: 45px;
}

.department h2 {
    font-size: 2rem;
    padding-top: 20px;
}

.department p {
    color: #d3d3d3;
}

@media screen and (max-width:768px) {
    .japanese-title {
        font-size: 2.2rem;
    }

    .department ul {
        width: calc(50% - 1%);
        height: 160px;
        margin-bottom: 10px;
    }

    .department h2 {
        font-size: 1.5rem;
        padding-top: 15px;
    }

    .department img {
        width: 55px;
        padding-top: 25px;
    }

}




.top-interview .flex {
    display: flex;
    padding-bottom: 40px;
}

.top-interview-left {
    width: 50%;
}

.top-interview-right {
    width: 50%;
    text-align: right;
    padding-top: 25px;
    font-weight: bold;
}

.top-interview-right a,
.group-interview-right a {
    color: #323232;
    border-radius: 20px;
    padding: 10px 15px;
    background-color: #e8e8e8;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.top-interview-right a:hover,
.group-interview-right a:hover {
    background-color: #f9634a;
    color: #fff;
}

.top-interview-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.top-interview-item {
    width: 100%;
    display: flex;
    background-color: #fff;
    box-shadow: 0px 0px 7px 3px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    margin-bottom: 40px;
    transition: box-shadow 0.3s, transform 0.3s;
    overflow: hidden;
}

.top-interview-item:hover {
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.3);
    transform: translate(0, 5px);
}

.interview-item__image img {
    width: 220px;
    object-fit: cover;
    height: 182px;
    border-radius: 10px;
}

.interview-item__thumbnail .interview-item__image img {
    height: 350px;
}

.interview-item__image {
    overflow: hidden;
    position: relative;
    width: 220px;
    height: 182px;
    background-color: #fff;
    padding: 15px;
}

.interview-item__details {
    padding: 0px 20px 15px 15px;
    width: 60%;
}

.interview-item__name {
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: solid 1px #e8e8e8;
}

h3.interview-item__message {
    font-size: 1.6rem;
}

span.interview-item__roll {
    font-weight: bold;
    font-size: 1.1rem;
}

.interview-item__image2 img {
    width: 500px;
    margin-bottom: 80px;
}

.interview-item__details2 {
    width: 500px;
}

.interview_flex {
    display: flex;
}

.interview-item__message2 {
    font-weight: bold;
    font-size: 3rem;
}

.interview-item__name2 {
    font-size: 3rem;
}

.interview-related__list_related {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 60px auto 0;
}

a.top-interview-list-box {
    width: calc(50% - 1%);
}

@media screen and (max-width:768px) {
    a.top-interview-list-box {
        width: 100%;
    }

    .top-interview .flex {
        display: block !important;
    }

    .top-interview-left,
    .group-interview-left {
        width: 100%;
    }

    .top-interview-right {
        width: 100%;
        text-align: left;
        padding-top: 15px;
    }

    .top-interview-right a,
    .group-interview-right a {
        font-size: 1.2rem;
        padding: 8px 15px;
    }

    .top-interview-item {
        display: block !important;
    }

    .interview-item__image img {
        width: 100%;
    }

    .interview-item__details {
        padding: 0px 20px 20px 20px;
    }

    .top-interview-item {
        width: 100%;
        height: auto;
    }

    .interview-item__image {
        width: 90%;
    }

    .interview-item__details,
    figure.interview-item__image2 {
        width: 90%;
    }

    .interview__column {
        width: 90%;
    }

    .interview_flex {
        display: block;
    }

    .interview-item__details2 {
        width: 90%;
    }

    .interview-item__image2 img {
        margin-bottom: 0px;
    }

    .interview-item__name2 {
        font-size: 2rem;
    }

    .interview-item__message2 {
        font-size: 2.2rem;
    }

    .interview-related {
        width: 100%;
    }
}


.top-about {
    padding: 100px 0px;
    background-color: #f2f2f2;
    position: relative;
}

.top-about-document {
    background: url(https://jobs.spiderplus.co.jp/images/about.jpg) no-repeat 50%/cover;
    overflow: hidden;
    width: 100%;
    height: 400px;
}

.top-about-document-box {
    width: 450px;
    background-color: #fff;
    position: absolute;
    top: 450px;
    left: 90px;
    padding: 35px;
    border-radius: 10px;
    z-index: 2;
}

.top-about-document-box h1 {
    font-size: 3rem;
    padding-bottom: 10px;
}

.top-about-document-box p {
    padding-bottom: 20px;
}

.top-about-document-box a {
    color: #f9634a;
    font-weight: 500;
    font-size: 1.4rem;
    background: #fff;
    padding: 4px 18px;
    border-radius: 25px;
    border: solid #f9634a 1.5px;
    display: inline-block;
    transition: transform 0.3s;
}

.top-about .flex {
    display: flex;
    padding-top: 150px;
    justify-content: space-between;
    overflow: hidden;
}

.top-about-item01 {
    background: url(https://jobs.spiderplus.co.jp/images/about_01.png) no-repeat 100%/cover;
    height: 300px;
    border-radius: 15px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.5s;
    -webkit-transition-property: transform;
    transition-property: transform;
}

.top-about-item01:hover {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
}

.top-about-item02 {
    background: url(https://jobs.spiderplus.co.jp/images/about_02.png) no-repeat 100%/cover;
    height: 300px;
    border-radius: 15px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.5s;
    -webkit-transition-property: transform;
    transition-property: transform;
}

.top-about-item02:hover {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
}

.top-about-item03 {
    background: url(https://jobs.spiderplus.co.jp/images/about_03.png) no-repeat 100%/cover;
    height: 300px;
    border-radius: 15px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.5s;
    -webkit-transition-property: transform;
    transition-property: transform;
}

.top-about-item03:hover {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
}

.top-about-item01 p,
.top-about-item03 p {
    text-align: center;
    padding-top: 125px;
    font-size: 2.7rem;
    font-weight: 500;
    color: #fff;
}

.top-about-item02 p {
    text-align: center;
    padding-top: 105px;
    font-size: 2.7rem;
    font-weight: 500;
    color: #fff;
}

.top-about-element {
    width: calc(33% - 1%);
}

@media screen and (max-width:768px) {
    .top-about-document {
        background: url(https://jobs.spiderplus.co.jp/images/about.jpg) no-repeat 100%/cover;
        height: 200px;
    }

    .top-about-document-box {
        width: auto;
        background-color: transparent;
        left: auto;
        top: 460px;
        padding: 20px;
    }

    .top-about-document-box h1 {
        font-size: 2.2rem;
    }

    .top-about .flex {
        padding-top: 300px;
    }

    .top-about .flex {
        display: block;
    }

    .top-about-item01 {
        background: url(https://jobs.spiderplus.co.jp/images/about_01.png) no-repeat 100%/cover;
        width: 100%;
        height: 120px;
        border-radius: 8px;
        margin: 0 auto;
        margin-bottom: 10px;
        margin-top: 50px;
    }

    .top-about-item02 {
        background: url(https://jobs.spiderplus.co.jp/images/about_02.png) no-repeat 100%/cover;
        width: 100%;
        height: 120px;
        border-radius: 8px;
        margin: 0 auto;
        margin-bottom: 10px;
    }

    .top-about-item03 {
        background: url(https://jobs.spiderplus.co.jp/images/about_03.png) no-repeat 100%/cover;
        width: 100%;
        height: 120px;
        border-radius: 8px;
        margin: 0 auto;
        margin-bottom: 10px;
    }

    .top-about-item01 p,
    .top-about-item03 p {
        padding-top: 45px;
        font-size: 2rem;
    }

    .top-about-item02 p {
        padding-top: 26px;
        font-size: 2rem;
    }

    .top-about-document-box a {
        font-size: 1.3rem;
    }

    .top-about {
        padding: 50px 0px 80px 0px;
    }
}


.top-spiderclass {
    position: relative;
    background-color: #fff;
    border-radius: 10px;
    height: 250px;
    margin-top: 60px;
}

.top-spiderclass img {
    width: 40%;
    padding-top: 60px;
    position: absolute;
    top: 7px;
    left: 60px;
}

.top-spiderclass-text {
    position: absolute;
    top: 55px;
    left: 550px;
    padding-right: 70px;
    font-weight: 500;
}

.top-spiderclass-link {
    display: inline-block;
    color: #f9634a;
    position: relative;
    padding-bottom: 5px;
    font-size: 1.6rem;
}

.top-spiderclass-link::before {
    content: "";
    padding-right: 5px;
    background: #ff701e;
    width: 100%;
    height: 2px;
    position: absolute;
    left: 0;
    bottom: 0;
    margin: auto;
    transform-origin: right top;
    transform: scale(0, 1);
    transition: transform .3s;
}

.top-spiderclass-link:hover::before {
    transform-origin: left top;
    transform: scale(1, 1);
}

@media screen and (max-width:768px) {
    .top-spiderclass img {
        width: 65%;
        padding-top: 0px;
        top: 40px;
        left: 55px;
    }

    .top-spiderclass-text {
        position: absolute;
        top: 110px;
        text-align: center;
        left: auto;
        padding: 25px;
    }

    .top-spiderclass {
        height: 300px;
    }

}


.top-techblog {
    position: relative;
    background: url(https://jobs.spiderplus.co.jp/images/techblog_back.png) no-repeat 100%/cover;
    height: 250px;
    border-radius: 10px;
    height: 250px;
    margin-top: 60px;
}

.top-techblog img {
    width: 40%;
    padding-top: 60px;
    position: absolute;
    top: 10px;
    right: 60px;
}

.top-techblog-text {
    position: absolute;
    top: 55px;
    right: 550px;
    padding-left: 70px;
    font-weight: 500;
}

.techblog-about {
    color: #fff;
}


.top-techblog-link {
    display: inline-block;
    color: #fece00;
    position: relative;
    padding-bottom: 5px;
    font-size: 1.6rem;
}

.top-techblog-link::before {
    content: "";
    padding-right: 5px;
    background: #fece00;
    width: 100%;
    height: 2px;
    position: absolute;
    left: 0;
    bottom: 0;
    margin: auto;
    transform-origin: right top;
    transform: scale(0, 1);
    transition: transform .3s;
}

.top-techblog-link:hover::before {
    transform-origin: left top;
    transform: scale(1, 1);
}

.top-techblog-link .icon-link__data {
    fill: none;
    stroke: #fece00;
    stroke-miterlimit: 10;
}

@media screen and (max-width:768px) {
    .top-techblog {
        height: 300px;
    }

    .top-techblog img {
        width: 65%;
        padding-top: 0px;
        top: 40px;
        left: 55px;
    }

    .top-techblog-text {
        position: absolute;
        top: 110px;
        text-align: center;
        right: auto;
        padding: 25px;
    }
}



.top-issue .flex {
    display: flex;
}

.top-issue {
    padding: 100px 0px;
}

.top-issue-left,
.system-box-left {
    width: 65%;
}

.top-issue-right,
.system-box-right {
    width: 35%;
    text-align: right;
}

.top-issue-right img,
.system-box-right img {
    width: 80%;
}

.top-issue .japanese-title,
.system-box .japanese-title {
    padding-bottom: 40px;
}

.welfare-guidebook-name {
    padding-bottom: 10px;
}

.top-issue a {
    display: inline-block;
    color: #323232;
    font-size: 1.8rem;
    font-weight: bold;
    margin-top: 50px;
    border-radius: 30px;
    padding: 10px 25px;
    background-color: #e8e8e8;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.top-issue a:hover,
.data-box-lp a:hover,
.welfare-guidebook a:hover {
    background-color: #f9634a;
    color: #fff;
}

@media screen and (max-width:768px) {
    .top-issue .flex {
        display: block;
    }

    .top-issue-left {
        width: auto;
    }

    .top-issue-right {
        display: none;
    }

    .top-issue a {
        font-size: 1.2rem;
        margin-top: 30px;
    }

    .top-issue {
        padding: 50px 0px 70px 0px;
    }
}


.top-join-banner {
    background: url(https://jobs.spiderplus.co.jp/images/join_our_team.jpg) no-repeat 50%/cover;
    height: 400px;
    text-align: center;
}

.top-join-banner h1 {
    font-size: 5rem;
    font-weight: 300;
    color: #fff;
    padding-top: 70px;
}

.top-join-banner p {
    color: #fff;
    padding: 20px 0px 30px 0px;
}

.button-external-link {
    color: #f9634a;
    font-weight: 500;
    font-size: 2rem;
    padding: 15px 20px;
    border-radius: 30px;
    display: inline-block;
    transition: .3s;
}

.button-external-link:hover {
    transform: scale(1.1);
}

.header_button-external-link,
.button-external-link2 {
    color: #f9634a;
    font-weight: 500;
    font-size: 1.4rem;
    background: #fff;
    padding: 4px 18px;
    border-radius: 25px;
    border: solid #f9634a 1.5px;
    display: inline-block;
    transition: transform 0.3s;
}

.header_button-external-link:hover,
.button-external-link2:hover,
.top-about-document-box a:hover {
    transform: scale(0.9);
}



@media screen and (max-width:768px) {
    .top-join-banner h1 {
        font-size: 3rem;
        padding-top: 40px;
    }

    .top-join-banner {
        padding: 0px 20px;
    }

    .button-external-link {
        font-size: 1.4rem;
        padding: 12px 20px;
        border-radius: 25px;
    }

    .top-join-banner {
        height: 340px;
    }

    .top-join-banner p {
        padding: 20px 0px 40px 0px;
    }

}



/*---------------
　　オフィス紹介
----------------*/

.workplace-tokyo-gallery {
    padding-top: 100px;
    padding-bottom: 50px;
    background-color: #f2f2f2;
}

.workplace-header-image {
    background: url(https://jobs.spiderplus.co.jp/images/workplace_header.png)no-repeat 50%/cover;
    height: 80vh;
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 320px;
    margin-top: 80px;
}

.workplace-header h1,
.interview-header h1,
.data-header h1,
.system-header h1,
.department-header h1,
.department-header2 h1,
.issue-header h1 {
    font-size: 5.5rem;
    font-weight: lighter;
    color: #fff;
    max-width: 1000px;
    margin: 0 auto;
    padding-top: 150px;
}

.workplace-header h2,
.interview-header h2,
.data-header h2,
.system-header h2,
.department-header h2,
.issue-header h2 {
    font-size: 3rem;
    color: #fff;
    font-weight: 500;
    max-width: 1000px;
    margin: 0 auto;
}

.workplace-tokyo h1,
.workplace-tokyo-gallery h1,
.workplace-other h1 {
    background-image: linear-gradient(90deg, #F9634A 0 20%, #fece00 20%);
    background-repeat: no-repeat;
    background-size: 100% 8%;
    background-position: bottom;
    padding-bottom: 20px;
}

.workplace-tokyo h2,
.workplace-tokyo-gallery h2 {
    font-size: 3rem;
    padding: 70px 0px 30px 0px;
}

.office-tour-movie p,
.interview-header-text {
    padding-top: 50px;
    text-align: center;
    font-weight: bold;
    padding-bottom: 100px;
}

.workplace-tokyo-gallery .gallery {
    width: 100%;
    border-radius: 10px;
    margin-bottom: 50px;
}

.flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    overflow-wrap: break-word;
}

.gallery-flex {
    width: 48%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
    margin-bottom: 50px;
}

.p-about-us-profile__map--box {
    background: #f2f2f2;
    display: flex;
    flex-wrap: wrap;
}

.workplace-other iframe {
    filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
    flex-shrink: 0;
    width: 100%;
}

.p-about-us-profile__map--box {
    margin-bottom: 100px;
}

.p-about-us-profile__map--box--text {
    padding: 70px 55px 30px 55px;
    width: 500px;
}

.p-about-us-profile__map--box--text--name {
    border-bottom: 1px solid #000;
    font-family: europa, sans-serif;
    font-size: 21px;
    font-weight: 700;
    letter-spacing: .1em;
    line-height: 2;
    padding-bottom: 10px;
}

.p-about-us-profile__map--box--text--acceess {
    font-size: 16px;
    font-weight: 500;
    letter-spacing: .05em;
    line-height: 2.125;
    padding-top: 10px
}

.workplace-other-text {
    padding: 50px 0px;
}

.workplace-other {
    padding: 100px 0px;
}

@media screen and (max-width:768px) {
    .workplace-header-image {
        height: 180px;
    }

    .workplace-tokyo h1,
    .workplace-tokyo-gallery h1,
    .workplace-other h1 {
        font-size: 2rem;
    }

    .workplace-header,
    .interview-header,
    .data-header,
    .system-header {
        padding-bottom: 50px;
        margin-top: 60px;
    }

    .interview-header {
        padding-bottom: 30px;
    }

    .workplace-tokyo h2,
    .workplace-tokyo-gallery h2 {
        font-size: 1.8rem;
        padding: 40px 0px 15px 0px;
    }

    .workplace-tokyo-gallery {
        padding: 50px 0px;
    }

    .workplace-tokyo-gallery .gallery {
        width: 100%;
        border-radius: 5px;
        margin-bottom: 15px;
    }

    .workplace-tokyo-gallery .flex {
        display: block;
    }

    .gallery-flex {
        width: 100%;
        border-radius: 5px;
        margin-bottom: 15px;
    }

    .workplace-other {
        padding: 50px 0px;
    }

    .p-about-us-profile__map--box {
        display: block;
    }

    .p-about-us-profile__map--box>div {
        width: 100%;
    }

    .p-about-us-profile__map--box {
        padding: 20px;
    }

    .p-about-us-profile__map--box--text {
        padding: 0px;
    }

    .p-about-us-profile__map--box--text--acceess {
        font-size: 1.2rem;
        font-weight: 400;
        line-height: 1.8;
    }

    .p-about-us-profile__map--box {
        margin-bottom: 30px;
    }

    .workplace-other-text {
        padding: 30px 0px;
    }

    .p-about-us-profile__map--box--text--name {
        font-size: 1.6rem;
        padding-bottom: 5px;
    }
}


/*-----------------
　　社員インタビュー
------------------*/
.interview-header-image {
    background: url(https://jobs.spiderplus.co.jp/images/Interview_header.png)no-repeat 50%/cover;
    height: 80vh;
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 320px;
    margin-top: 80px;
}

.interview-header-text,
.data-header-text {
    padding-top: 0px;
    text-align: center;
    font-weight: bold;
    padding-bottom: 100px;
}

.interview-link__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    font-size: 1.6rem;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    width: 45%;
    font-weight: bold;
}

.interview-link__list li {
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    flex-grow: 1;
    list-style: none;
    text-align: center
}

.interview-link__list li a {
    border-bottom: 3px solid #fff;
    color: #323232;
    padding: 5px;
    -webkit-transition: border .3s ease-out, color .3s ease-out;
    -o-transition: border .3s ease-out, color .3s ease-out;
    transition: border .3s ease-out, color .3s ease-out
}

.interview-link__list li a.current,
.interview-link__list li a:hover {
    border-bottom: 3px solid #f9634a;
    color: #f9634a;
    font-weight: 500
}

.interview-list-flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.interview-list {
    width: 240px;
    padding-bottom: 30px;
}

.interview-list-flex img {
    width: 220px;
    height: 220px;
    object-fit: cover;
    border-radius: 25px;
}

.interview-item__read-more a {
    margin-top: 10px;
    color: #F9634A;
    border: #F9634A solid 2px;
    padding: 3px 13px;
    border-radius: 30px;
}

.interview-item__read-more {
    margin: 20px 0px 70px 0px;

}

.pagination {
    display: flex;
    justify-content: center;
    width: 100%;
}

.interview-pagination .pagination a,
.interview-pagination .pagination span {
    font-size: 2.3rem;
    padding: 0 0.75em;
}

@media screen and (max-width:768px) {
    .interview-header-image {
        height: 180px;
    }

    .interview-link__list {
        display: flex;
        font-size: 1.2rem;
    }

    .interview-link__list li {
        margin-bottom: 5px;
    }

    .interview-list {
        width: 100%;
        text-align: center;
        padding-bottom: 0px;
    }

    .interview-list-flex img {
        width: 280px;
        height: 280px;
    }

    .interview-item__read-more {
        margin: 20px 0px 20px 0px;
    }

    .interview-item__name {
        text-align: left;
    }

    h3.interview-item__message {
        text-align: left;
    }

    .interview-header-text {
        padding-bottom: 70px;
    }

    .interview-pagination .pagination a,
    .interview-pagination .pagination span {
        font-size: 1.6rem;
    }

    .interview-link__list {
        width: 100%;
    }
}



/*---------------------------
　　データでみるスパイダープラス
----------------------------*/
/*.pc {
    display: block !important;
}

.sp {
    display: none !important;
}

.data-header-image {
    background: url(https://jobs.spiderplus.co.jp/images/data_header.png)no-repeat 50%/cover;
    height: 80vh;
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 320px;
}

.gray {
    background-color: #f2f2f2;
}

/*.data-box-03 {
    background-color: #fff;
    width: calc(33% - 1%);
    height: 290px;
    border-radius: 15px;
}

.data-box-02 {
    background-color: #fff;
    width: calc(49% - 0.5%);
    height: 450px;
    border-radius: 15px;
    margin-bottom: 22px;
}

.data-box-01 {
    background-color: #fff;
    width: calc(99% - 0.5%);
    height: 510px;
    border-radius: 15px;
    margin-bottom: 22px;
}

.data-box-01.kaiwa {
    background-color: #fff;
    width: calc(99% - 0.5%);
    height: 600px;
    border-radius: 15px;
    margin-bottom: 22px;
}

.date {
    font-size: 1rem;
    text-align: right;
    padding: 10px 15px 0 0;
}

/*.data-wrapper h1 {
    font-size: 2.5rem;
    text-align: center;
    padding-top: 20px;
}

/*.count-size {
    font-size: 9rem;
}

/*.data-wrapper h2 {
    text-align: center;
}

/*.danjo.data-flex.padding {
    display: flex;
}

.data-box-03,
.data-box-02,
.data-box-01 {
    text-align: center;
}

.data-box-03 img {
    width: 120px;
}

.data-box-03 h2 {
    line-height: 1.3;
}

.data-box-comment {
    font-weight: bold;
}

.danjo.flex {
    display: flex;
    justify-content: space-around;
}

.danjo img {
    width: 80px;
    padding-top: 10px;
}

.danjo .count-size {
    font-size: 6.5rem;
}

.danjo {
    padding: 0px 50px;
    display: flex;
    justify-content: space-around;
}

.count-size-right {
    color: #F9634A;
    font-size: 6.5rem;
}

.data-box-02 img {
    width: 420px;
    padding-top: 10px;
}

.data-box-01 p {
    font-weight: bold;
    padding-top: 20px;
}

.data-box-01 h1 {
    font-weight: bold;
    padding-top: 40px;
}

.data-box-01 img {
    width: 75%;
    padding-top: 40px;
    margin: 0 auto;
}

.kaiwa img {
    width: 70%;
}

.data-box-lp {
    text-align: center;
    background-color: #fff;
    width: calc(33% - 1%);
    height: 210px;
    border-radius: 15px;
    margin-bottom: 22px;
}

.lp-date {
    padding-top: 15px;
}

.lp-title {
    padding-top: 10px;
}

.data-box-lp h4 {
    font-size: 1.9rem;
    padding: 10px 0px;
}

.data-box-lp a {
    display: inline-block;
    color: #323232;
    font-size: 1.4rem;
    font-weight: bold;
    margin-top: 15px;
    border-radius: 30px;
    padding: 5px 25px;
    background-color: #e8e8e8;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.data h3 {
    font-size: 2.5rem;
    padding: 50px 0px 20px 0px;
}

/*.data-wrapper {
    padding-bottom: 150px;
}*/

/*@media screen and (max-width:768px) {
    .pc {
        display: none !important;
    }

    .sp {
        display: block !important;
    }

    .data-header-image {
        height: 180px;
        margin-bottom: 30px;
    }

    .date {
        font-size: 0.6rem;
        text-align: right;
        padding: 10px 15px 0 0;
    }

    .workplace-header h1,
    .interview-header h1,
    .data-header h1,
    .system-header h1,
    .department-header h1,
    .department-header2 h1 {
        font-size: 2.4rem;
        padding: 90px 20px 0px 20px;
    }

    .workplace-header h2,
    .interview-header h2,
    .data-header h2,
    .system-header h2,
    .department-header h2 {
        font-size: 2.2rem;
        padding: 0px 20px;
    }

    .data-header {
        padding-bottom: 0px;
    }

    .data .flex {
        display: flex;
    }

    .data-box-03 {
        width: 100%;
        height: 100%;
        border-radius: 8px;
    }

    .count-size {
        font-size: 7rem;
    }

    /*.data-wrapper h1 {
        padding-top: 10px;
        font-size: 2rem;
    }

    .data-wrapper h2 {
        line-height: 1.3;
    }

    /*.data-box-comment {
        padding-bottom: 30px;
    }

    .danjo .count-size,
    .count-size-right {
        font-size: 6rem;
    }

    .danjo.flex h2 {
        padding-bottom: 30px;
    }

    .data .flex {
        display: block;
    }

    .data-flex {
        display: flex;
        justify-content: space-around;
    }

    .danjo.padding {
        padding-bottom: 30px;
    }

    .data-box-02 {
        width: 100%;
        height: 100%;
        border-radius: 8px;
    }

    .data-box-02 img {
        width: 90%;
        padding: 30px 0px;
    }

    .data-box-02.padding img {
        padding-top: 0px;
    }

    .data-box-01 img {
        width: 60%;
        padding-top: 20px;
    }

    .data-box-01 h1 {
        padding: 30px 20px 10px;
    }

    .data-box-01 {
        height: 100%;
        padding-bottom: 30px;
    }

    .data-box-01.kaiwa {
        background-color: #fff;
        width: 100%;
        height: 400px;
        border-radius: 15px;
        margin-bottom: 22px;
    }

    .data-box-01 p {
        padding: 0px 30px;
    }

    .data-box-01 p {
        font-weight: 400;
    }

    .sp.img {
        width: 100%;
    }

    .data-box-lp {
        width: 100%;
    }

    /*.data-wrapper {
        padding-bottom: 80px;
    }

    /*.data h3 {
        font-size: 2rem;
    }

    .data-box-01,
    .data-box-01.kaiwa,
    .data-box-lp {
        border-radius: 8px;
    }

    img.slack {
        width: 90%;
    }*/

/*-----------------------------------
　　数字で見るスパイダープラス260604ここから
-------------------------------------*/

.data-wrapper {
    max-width: 1140px;
    margin: 0 auto;
    padding: 20px 30px 100px 30px;
}

/* ==========================================================================
ボックスの並びの余白調整（縦・横を40pxで均等に）
   ========================================================================== */
/* フレックスコンテナの隙間を縦横40px */
.page.data.gray .flex-container {
    display: flex !important;
    flex-wrap: wrap !important;          /* 💡 2段に折り返す */
    gap: 40px !important;               /* 💡 縦隙間・横隙間も40px */
    margin-bottom: 0 !important;
}

/* 段と段の間を40pxに固定 */
.page.data.gray .flex-container + .flex-container {
    margin-top: 40px !important;         /* 💡 段同士のすき間を40pxにリセット */
}

/* （.data-box-03）の下マージンが原因で広がっているのをゼロ化 */
.page.data.gray .data-box-03 {
    margin-bottom: 0 !important;         /* 💡 無駄な二重マージンを打ち消し */
}

/* カテゴリ大見出し（「働く人」などの横並び文字） */
.category-title {
    font-size: 2.5rem !important;
    font-weight: 700 !important;
    color: #323232 !important;
    text-align: left !important;
    display: flex !important;
    align-items: flex-end !important; /* 下揃えにして注記と並べる */
    gap: 10px !important;
    width: 100% !important;
    background: none !important;
    padding: 0 !important;
    margin: 60px 0 45px 0 !important;
    padding-bottom: 5px !important; 
}

/* 見出しのすぐ横にある「※2025年12月末時点」 */
.category-title span,
.category-title .category-note {
    font-size: 1.1rem !important;
    color: #666666 !important;
    font-weight: normal !important;
    padding-bottom: 2px !important;
    letter-spacing: 0 !important;
    line-height: 1.8 !important;
}

/* 3列カード（影を完全に消して、フラットな角丸） */
.page.data.gray .data-box-03 {
    background-color: #ffffff !important;
    border-radius: 12px !important;
    width: calc(33.333% - 27px) !important; /* すき間40pxを計算したジャスト幅 */
    height: 250px;
    padding: 40px 20px 35px 20px !important;
    box-sizing: border-box !important;
    box-shadow: none !important; /* 影を非表示 */
    text-align: center !important;
}

/* 「1番目以外（働く環境・ライフイベント）」のタイトル上マージンを、
PC表示のときだけ 120pxに強制上書きして、スマホの指定（75px）を完全に打ち消し */
.page.data.gray h3.category-title:not(:first-of-type) {
    margin-top: 120px !important; 
    }


/* 従業員数ボックスここから */

/* 1. ボックス全体：過去の「.data-box-03」のルールを一切受け付けない */
.page.data.gray .data-box-emp-new {
    background-color: #ffffff !important;
    border-radius: 12px !important;
    width: calc(33.333% - 27px) !important; /* 隣の「男女比」と同じ横幅 */
    height: 250px !important;
    position: relative !important;
    display: block !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 2. タイトル（従業員数）：左上の位置に固定 */
.page.data.gray .data-box-emp-new .box-title-emp {
    position: absolute !important;
    top: 20px !important;
    left: 25px !important;
    font-size: 1.75rem !important;
    font-weight: 700 !important;
    color: #323232 !important;
    text-align: left !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 3. 260人の数字エリア */
.page.data.gray .data-box-emp-new .box-emp-number {
    position: absolute !important;
    top: 70px !important;
    left: 0 !important;
    width: 100% !important;                 /* 中央寄せ */
    text-align: center !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 2 !important;
}

/* 260人の画面幅に連動して縮む指定 */
.page.data.gray .data-box-emp-new .box-emp-number img {
    display: inline-block !important;
    width: 11vw !important;                  /* 💡画面の幅が変わるとサイズも変化 */
    max-width: 170px !important;            /* 💡通常時の上限をキープ */
    min-width: 140px !important;             /* 💡縮みすぎて文字が小さくなりすぎるのを防ぐ */
    height: auto !important;                /* 💡縦横比を守る */
}

/* 4. 白いボックスの一番底面にぴったり */
.page.data.gray .data-box-emp-new .box-emp-image {
    position: absolute !important;
    bottom: 0px !important;                 /* 💡 白ボックスの底辺に接着 */
    left: 0px !important;
    width: 100% !important;
    text-align: center !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 1 !important;
}

/* イラスト画像：画面幅に連動して縮む指定 */
.page.data.gray .data-box-emp-new .box-emp-image img {
    display: inline-block !important;
    vertical-align: bottom !important;       /* 画像の下の隙間を消去 */
    width: 17vw !important;
    max-width: 270px !important;
    min-width: 205px !important;
    height: auto !important;
}
/* 従業員数ボックスここまで */


/* 男女ボックスここから */

/* 1. ボックス全体：過去の古いルールをすべてリセット */
.page.data.gray .data-box-gender-new {
    background-color: #ffffff !important;
    border-radius: 12px !important;
    width: calc(33.333% - 27px) !important; /* 隣の従業員数ボックスと同じ横幅 */
    height: 250px !important;
    position: relative !important;
    display: block !important;              /* 画像の歪みや縮小を防止 */
    box-sizing: border-box !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 2. タイトル（男女比）：左上の位置に固定 */
.page.data.gray .data-box-gender-new .box-title-gender {
    position: absolute !important;
    top: 20px !important;
    left: 25px !important;
    font-size: 1.75rem !important;
    font-weight: 700 !important;
    color: #323232 !important;
    text-align: left !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 3. 男・女の各チーム共通の土台：50%のハコ */
.page.data.gray .data-box-gender-new .new-gender-team {
    position: absolute !important;
    bottom: 0px !important;                 /* イラストの足元を底に接着 */
    width: 50% !important;                  /* ボックスを左右半分（50%）に均等割 */
    height: 220px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* --------------------------------------------------------------------------
【左半分】男性チーム（中央へ引き寄せ）
-------------------------------------------------------------------------- */
.page.data.gray .data-box-gender-new .box-men-new {
    left: 12px !important;
}

/* 数字「66%」の配置 */
.page.data.gray .data-box-gender-new .box-men-new .new-gender-number {
    position: absolute !important;
    top: 43px !important;                   /* 隣の「260人」と高さ揃える */
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100% !important;
    text-align: center !important;
    z-index: 2 !important;
}

/* 男性数字画像 */
.page.data.gray .data-box-gender-new .box-men-new .new-gender-number img {
    display: inline-block !important;
    height: auto !important;
    max-height: 85px !important;            /* 通常時 */
    width: auto !important;
    max-width: 80% !important;              /* 画面が狭くなったら自動縮小 */
}

/* 男性イラストの配置 */
.page.data.gray .data-box-gender-new .box-men-new .new-gender-image {
    position: absolute !important;
    bottom: 0px !important;                 /* 白ボックスの底辺に密着 */
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100% !important;
    text-align: center !important;
    z-index: 1 !important;
}
/* 男性イラスト画像自身の伸縮設定 */
.page.data.gray .data-box-gender-new .box-men-new .new-gender-image img {
    display: inline-block !important;
    vertical-align: bottom !important;
    height: auto !important;
    max-height: 100px !important;           /* 通常時はちょうどいい高さで固定 */
    width: auto !important;
    max-width: 90% !important;              /* 狭くなったら自動縮小 */
}

/* --------------------------------------------------------------------------
【右半分】女性チーム（中央へ引き寄せ）
   -------------------------------------------------------------------------- */
.page.data.gray .data-box-gender-new .box-women-new {
    right: 12px !important;
}

/* 数字「34%」の配置 */
.page.data.gray .data-box-gender-new .box-women-new .new-gender-number {
    position: absolute !important;
    top: 43px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100% !important;
    text-align: center !important;
    z-index: 2 !important;
}

/* 女性数字画像 */
.page.data.gray .data-box-gender-new .box-women-new .new-gender-number img {
    display: inline-block !important;
    height: auto !important;
    max-height: 85px !important;
    width: auto !important;
    max-width: 80% !important;
}

/* 女性イラストの配置 */
.page.data.gray .data-box-gender-new .box-women-new .new-gender-image {
    position: absolute !important;
    bottom: 0px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100% !important;
    text-align: center !important;
    z-index: 1 !important;
}

/* 女性イラスト画像自身の伸縮設定 */
.page.data.gray .data-box-gender-new .box-women-new .new-gender-image img {
    display: inline-block !important;
    vertical-align: bottom !important;
    height: auto !important;
    max-height: 100px !important;           /* 高さを制限して男性と揃える */
    width: auto !important;
    max-width: 90% !important;              /* 画面が狭くなったら自動で縮小 */
}
/* 男女ボックスここまで */

/* 女性管理職比率ボックスここから */
.page.data.gray .data-box-f_mgr {
    padding-top: 20px !important;
    padding-bottom: 30px !important;  /* 下の余白をゼロにして画像がくっつく土台 */
    padding-left: 25px !important;
    padding-right: 30px !important;
    display: flex !important;
    flex-direction: column !important;
}

.page.data.gray .data-box-f_mgr .box-title {
    font-size: 1.75rem !important;
    font-weight: 700 !important;
    color: #323232 !important;
    text-align: left !important;
    width: 100% !important;
    margin-top: 0 !important;       /* 上の余白をゼロに */
    margin-bottom: 15px !important; /* 画像との隙間を程よく調整 */
}

/* 画像が入るコンテナの調整（中央に配置） */
.page.data.gray .data-box-f_mgr .box-f_mgr-image {
    width: 80% ;
    margin-left: auto;
    margin-right: auto;
    margin-top: auto !important;    /* タイトルの下から自動で一番下まで押し下げる */
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    display: flex !important;
    align-items: flex-end !important; /* 中身を「下揃え」に強制 */
}

/* 差し替えた新しい画像自体のサイズ感調整 */
.page.data.gray .data-box-f_mgr .box-f_mgr-image img {
    display: block !important;       /* 💡 謎の隙間を生む「インライン要素」の性質を消します */
    vertical-align: bottom !important; /* 💡 画像の下端を密着 */
    width: 65% !important;
    max-width: 320px !important;
    height: auto !important;
    margin: 0 auto !important;      /* 左右は中央揃え */
}
/* 女性管理職比率ボックスここまで */

/* 平均年齢ボックスここから */
.page.data.gray .data-box-age {
    padding-top: 20px !important;
    padding-bottom: 25px !important; /* 底面に密着させず、下側もしっかり余白を取る */
    padding-left: 25px !important;
    padding-right: 25px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: center !important;  /* 基本構造は真ん中揃え */
    box-sizing: border-box !important;
}

/* 2. タイトル（平均年齢） */
.page.data.gray .data-box-age .box-title {
    font-size: 1.75rem !important;
    font-weight: 700 !important;
    color: #323232 !important;
    text-align: left !important;
    width: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important;  /* 下の画像との隙間 */
}

/* 3. 画像が入るエリア：中央に浮かせるように配置 */
.page.data.gray .data-box-age .box-age-image {
    width: 85% ;
    display: flex !important;
    justify-content: center !important; /* 💡 画像をど真ん中に配置 */
    align-items: center !important;
    margin-top: auto !important;
    margin-bottom: -10px !important;     /* 上下の余白バランスを保つ */
}

/* 4. 「35.3歳」の画像自体のサイズ調整 */
.page.data.gray .data-box-age .box-age-image img {
    display: block !important;
    width: 70% !important;
    max-width: 260px !important;
    height: auto !important;
    margin: 0 auto !important;
}

/* 5. 下部のグレー背景のコメント帯 */
.page.data.gray .data-box-age .data-box-comment {
    width: 100% !important;
    background-color: #f2f2f2 !important;
    border-radius: 5px !important;
    padding: 15px 0px !important;        /* 帯の中の上下左右の余白 */
    text-align: center !important;
    font-size: 1.4rem !important;
    font-weight: 700 !important;
    color: #323232 !important;
    line-height: 1.5 !important;
    margin-top: auto !important;          /* ボックスの最下部に自然に綺麗に収める */
    margin-bottom: 0 !important;
}
/* 平均年齢ボックスここまで */

/* 中途入社比率ボックスここから */
.page.data.gray .data-box-mid {
    padding-top: 20px !important;
    padding-bottom: 30px !important;  /* 下の余白をゼロにして画像がくっつく土台 */
    padding-left: 25px !important;
    padding-right: 30px !important;
    display: flex !important;
    flex-direction: column !important;
}

.page.data.gray .data-box-mid .box-title {
    font-size: 1.75rem !important;
    font-weight: 700 !important;
    color: #323232 !important;
    text-align: left !important;
    width: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 15px !important;
}

/* 画像が入るコンテナの調整（中央に配置する） */
.page.data.gray .data-box-mid .box-mid-image {
    width: 80% ;
    margin-left: auto;
    margin-right: auto;
    margin-top: auto !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    display: flex !important;
    align-items: flex-end !important;
}

/* 差し替えた新しい画像自体のサイズ感調整 */
.page.data.gray .data-box-mid .box-mid-image img {
    display: block !important;       /* 謎の隙間を生む「インライン要素」の性質を消します */
    vertical-align: bottom !important; /* 画像の下端をベースラインに密着 */
    width: 65% !important;
    max-width: 320px !important;
    height: auto !important;
    margin: 0 auto !important;      /* 左右は中央揃え */
}
/* 中途入社比率ボックスここまで */

/* 平均勤続年数ボックスここから */
.page.data.gray .data-box-yos {
    padding-top: 20px !important;
    padding-bottom: 25px !important; /* 底面に密着させず、下側もしっかり余白を取る */
    padding-left: 25px !important;
    padding-right: 25px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: center !important;  /* 基本構造は真ん中揃え */
    box-sizing: border-box !important;
}

/* 2. タイトル（平均年齢） */
.page.data.gray .data-box-yos .box-title {
    font-size: 1.75rem !important;
    font-weight: 700 !important;
    color: #323232 !important;
    text-align: left !important;
    width: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important;  /* 下の画像との隙間 */
}

/* 3. 画像が入るエリア：中央に浮かせるように配置 */
.page.data.gray .data-box-yos .box-yos-image {
    width: 85% ;
    display: flex !important;
    justify-content: center !important; /* 画像をど真ん中に配置 */
    align-items: center !important;
    margin-top: auto !important;
    margin-bottom: -10px !important;     /* 上下の余白バランスを自動で保つ */
}

/* 4. 「35.3歳」の画像自体のサイズ調整 */
.page.data.gray .data-box-yos .box-yos-image img {
    display: block !important;
    width: 55% !important;
    max-width: 260px !important;
    height: auto !important;
    margin: 0 auto !important;
}

/* 5. 下部のグレー背景のコメント帯 */
.page.data.gray .data-box-yos .data-box-comment {
    width: 100% !important;
    background-color: #f2f2f2 !important;
    border-radius: 5px !important;
    padding: 15px 0px !important;
    text-align: center !important;
    font-size: 1.4rem !important;
    font-weight: 700 !important;
    color: #323232 !important;
    line-height: 1.5 !important;
    margin-top: auto !important;
    margin-bottom: 0 !important;
}
/* 平均勤続年数ボックスここまで */

/* 年間休日ボックスここから */
.page.data.gray .data-box-holiday {
    padding-top: 20px !important;
    padding-bottom: 25px !important; /* 底面に密着させず、下側もしっかり余白を取る */
    padding-left: 25px !important;
    padding-right: 25px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: center !important;  /* 基本構造は真ん中揃え */
    box-sizing: border-box !important;
}

/* 2. タイトル（年間休日数） */
.page.data.gray .data-box-holiday .box-title {
    font-size: 1.75rem !important;
    font-weight: 700 !important;
    color: #323232 !important;
    text-align: left !important;
    width: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important;
}

/* 3. 「125日」の大きな数字画像エリア */
.page.data.gray .data-box-holiday .box-holiday-num-image {
    width: 85% ;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin-top: auto !important;
    margin-bottom: auto !important;     /* 上下の余白を自動で均等に浮かる */
}

/* 「125日」の画像自体のサイズ制限 */
.page.data.gray .data-box-holiday .box-holiday-num-image img {
    display: block !important;
    width: 60% !important;
    max-width: 240px !important;
    height: auto !important;
    margin: 0 auto !important;
}

/* 4. 下部（カレンダー画像 ＋ コメント）の横並びレイアウト */
.page.data.gray .data-box-holiday .box-holiday-footer {
    width: 100% !important;
    display: flex !important;
    flex-direction: row !important;      /* カレンダーと文字を横並びに */
    justify-content: center !important;  /* 2つの要素を中央寄せに配置 */
    align-items: center !important;      /* 上下の中央を綺麗に揃える */
    gap: 20px !important;                /* カレンダーと文章の間の「すき間」 */
    margin-top: auto !important;         /* 一番下（ボックスの底面付近）に綺麗に収める */
    margin-bottom: 0 !important;
}

/* カレンダーイラストのサイズ調整 */
.page.data.gray .data-box-holiday .holiday-icon {
    flex-shrink: 0 !important;           /* 文字の量に押されて画像が潰れるのを絶対防ぐ */
    width: 60px !important;              /* モックアップに合わせたカレンダーの適切な横幅 */
}

.page.data.gray .data-box-holiday .holiday-icon img {
    display: block !important;
    vertical-align: bottom !important;
    width: 100% !important;
    height: auto !important;
}

/* 横並びになる3行コメント文のフォント調整 */
.page.data.gray .data-box-holiday .data-box-comment {
    margin: 0 !important;
    padding-top: 15px !important;
    text-align: left !important;         /* アイコンの右側に並ぶため、文字の頭は左寄せ */
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    color: #323232 !important;
    line-height: 1.5 !important;
}
/* 年間休日ボックスここまで */


/* 月平均残業時間ボックスここから */
/* 1. 過去のルールを一切受け付けない */
.page.data.gray .data-box-ot-new {
    background-color: #ffffff !important;
    border-radius: 12px !important;
    width: calc(33.333% - 27px) !important;
    height: 250px !important;
    position: relative !important;
    display: block !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 2. タイトル（従業員数）：左上の位置に固定 */
.page.data.gray .data-box-ot-new .box-title-ot {
    position: absolute !important;
    top: 20px !important;
    left: 25px !important;
    font-size: 1.75rem !important;
    font-weight: 700 !important;
    color: #323232 !important;
    text-align: left !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 3. 「18時間」の数字エリア */
.page.data.gray .data-box-ot-new .box-ot-number {
    position: absolute !important;
    top: 70px !important;
    left: 0 !important;
    width: 100% !important;
    text-align: center !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 2 !important;
}

/* 数字画像：、画面幅に連動して縮む指定 */
.page.data.gray .data-box-ot-new .box-ot-number img {
    display: inline-block !important;
    width: 11vw !important;                  /* 画面の幅が変わるとダイレクトに変化します */
    max-width: 170px !important;
    min-width: 120px !important;
    height: auto !important;                /* 💡縦横比を守る */
}

/* 4. 人物イラスト：白いボックスの一番底面（0px）に完全に接着 */
.page.data.gray .data-box-ot-new .box-ot-image {
    position: absolute !important;
    bottom: 0px !important;
    left: 0px !important;
    width: 100% !important;
    text-align: center !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 1 !important;
}

/* イラスト画像：画面幅に連動して縮む指定 */
.page.data.gray .data-box-ot-new .box-ot-image img {
    display: inline-block !important;
    vertical-align: bottom !important;
    width: 16vw !important;
    max-width: 250px !important;
    min-width: 200px !important;
    height: auto !important;
}
/* 月平均残業時間ボックスここまで */

/* 平均年間給与ボックスここから */
.page.data.gray .data-box-money {
    padding-top: 20px !important;
    padding-bottom: 25px !important; /* 底面に密着させず、下側もしっかり余白を取る */
    padding-left: 25px !important;
    padding-right: 25px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: center !important;  /* 基本構造は真ん中揃え */
    box-sizing: border-box !important;
}

/* 2. タイトル（平均年齢） */
.page.data.gray .data-box-money .box-title {
    font-size: 1.75rem !important;
    font-weight: 700 !important;
    color: #323232 !important;
    text-align: left !important;     /* 💡 ここでタイトルだけ左寄せに強制 */
    width: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important;  /* 下の画像との隙間 */
}

/* 3. 画像が入るエリア：中央に浮かせるように配置 */
.page.data.gray .data-box-money .box-money-image {
    width: 85% ;
    display: flex !important;
    justify-content: center !important; /* 画像をど真ん中に配置 */
    align-items: center !important;
    margin-top: auto !important;
    margin-bottom: -10px !important;     /* 上下の余白バランスを自動で保つ */
}

/* 4. 「35.3歳」の画像自体のサイズ調整 */
.page.data.gray .data-box-money .box-money-image img {
    display: block !important;
    width: 75% !important;
    max-width: 260px !important;
    height: auto !important;
    margin: 0 auto !important;
}

/* 5. 下部のグレー背景のコメント帯 */
.page.data.gray .data-box-money .data-box-comment {
    width: 100% !important;
    background-color: #f2f2f2 !important;
    border-radius: 5px !important;
    padding: 15px 0px !important;
    text-align: center !important;
    font-size: 1.4rem !important;
    font-weight: 700 !important;
    color: #323232 !important;
    line-height: 1.5 !important;
    margin-top: auto !important;
    margin-bottom: 0 !important;
}
/* 平均年間給与ボックスここまで */

/* リモートワーク率ボックスここから */
.page.data.gray .data-box-remote {
    padding-top: 20px !important;
    padding-bottom: 25px !important; /* 底面に密着させず、下側もしっかり余白を取る */
    padding-left: 25px !important;
    padding-right: 25px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: center !important;  /* 基本構造は真ん中揃え */
    box-sizing: border-box !important;
}

/* 2. タイトル（平均年齢） */
.page.data.gray .data-box-remote .box-title {
    font-size: 1.75rem !important;
    font-weight: 700 !important;
    color: #323232 !important;
    text-align: left !important;
    width: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important;  /* 下の画像との隙間 */
}

/* 3. 画像が入るエリア：中央に浮かせるように配置 */
.page.data.gray .data-box-remote .box-remote-image {
    width: 87% ;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin-top: auto !important;
    margin-bottom: -10px !important;     /* 上下の余白バランスを自動で保つ */
}

/* 4. 「35.3歳」の画像自体のサイズ調整 */
.page.data.gray .data-box-remote .box-remote-image img {
    display: block !important;
    width: 70% !important;
    max-width: 260px !important;
    height: auto !important;
    margin: 0 auto !important;
}

/* 5. 下部のグレー背景のコメント帯 */
.page.data.gray .data-box-remote .data-box-comment {
    width: 100% !important;
    background-color: #f2f2f2 !important;
    border-radius: 5px !important;
    padding: 15px 0px !important;
    text-align: center !important;
    font-size: 1.4rem !important;
    font-weight: 700 !important;
    color: #323232 !important;
    line-height: 1.5 !important;
    margin-top: auto !important;
    margin-bottom: 0 !important;
}
/* リモートワーク率ボックスここまで */

/* 有給休暇取得率ボックスここから */
.page.data.gray .data-box-pto {
    padding-top: 20px !important;
    padding-bottom: 30px !important;
    padding-left: 25px !important;
    padding-right: 30px !important;
    display: flex !important;
    flex-direction: column !important;
}

.page.data.gray .data-box-pto .box-title {
    font-size: 1.75rem !important;
    font-weight: 700 !important;
    color: #323232 !important;
    text-align: left !important;
    width: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 15px !important; /* 画像との隙間を程よく調整 */
}

/* 画像が入るコンテナの調整（中央に配置する） */
.page.data.gray .data-box-pto .box-pto-image {
    width: 80% ;
    margin-left: auto;
    margin-right: auto;
    margin-top: auto !important;    /* タイトルの下から自動で一番下まで押し下げる */
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    display: flex !important;
    align-items: flex-end !important; /* 中身を「下揃え」に強制 */
}

/* 画像自体のサイズ感調整 */
.page.data.gray .data-box-pto .box-pto-image img {
    display: block !important;       /* 謎の隙間を生む「インライン要素」の性質を消します */
    width: 65% !important;
    max-width: 320px !important;
    height: auto !important;
    margin: 0 auto !important;      /* 左右は中央揃え */
}
/* 有給休暇取得率ボックスここまで */



/* 育休取得率・育休復帰率ボックスここから */

/* --------------------------------------------------------------------------
0. 全体の2列コンテナ（左右のボックスを40pxのすき間で横並びにする）
-------------------------------------------------------------------------- */
.page.data.gray .flex-container.flex-life-event {
    display: flex !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 40px !important; /* すき間40px */
    width: 100% !important;
    /* 💡 中身のボックスを縦に引き伸ばすのを防止 */
    align-items: flex-start !important;
}

/* --------------------------------------------------------------------------
1. 左側：育休取得率ボックス（幅広・高さ250px固定・底面ぴったり密着）
-------------------------------------------------------------------------- */
.page.data.gray .data-box-wide {
    background-color: #ffffff !important;
    border-radius: 12px !important;
    width: calc(66.666% - 13px) !important; /* 3列ボックス2個分のワイド幅に設定 */
    height: 250px !important;
    padding-top: 20px !important;
    padding-bottom: 0px !important;         /* 下側の余白をゼロにして底面に密着 */
    padding-left: 25px !important;
    padding-right: 30px !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
}

/* --------------------------------------------------------------------------
1. 左側：育休取得率ボックス（幅広・高さ250px固定・底面ぴったり密着）
-------------------------------------------------------------------------- */
.page.data.gray .data-box-wide {
    background-color: #ffffff !important;
    border-radius: 12px !important;
    width: calc(66.666% - 13px) !important; /* 3列ボックス2個分のワイド幅に設定 */
    height: 250px !important;
    padding-top: 20px !important;
    padding-bottom: 0px !important;         /* 下側の余白を完全ゼロ */
    padding-left: 25px !important;
    padding-right: 30px !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
    position: relative !important;          /* 内部の絶対配置の基準にします */
}

/* 左側の画像コンテナ */
.page.data.gray .data-box-wide .box-life-image {
    width: calc(100% - 55px) !important;    /* 左右のパディング分を考慮 */
    position: absolute !important;          /* コンテナ自体をボックスの底に固定 */
    bottom: 0 !important;
    left: 25px !important;
    height: 200px !important;               /* タイトルに被らない安全な高さを確保 */
    display: flex !important;
    justify-content: center !important;
    align-items: flex-end !important;       /* 中身を最底面に強制 */
    gap: 55px !important;
}

/* HTML側で画像を包んでいる各div */
.page.data.gray .data-box-wide .paternity-men,
.page.data.gray .data-box-wide .paternity-women {
    display: flex !important;
    align-items: flex-end !important;       /* 画像をdivの最底面に押し付ける */
    height: 100% !important;
}

/* 左側のアセット画像（底面強制密着 ＆ バランスの取れた最大化） */
.page.data.gray .data-box-wide .box-life-image img {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    /* 親コンテナの高さ（190px）に対して、100%いっぱいに表示。自動計算による下隙間を発生させず、最大サイズを維持 */
    height: 100% !important;
    margin: 0 auto !important;
    margin-bottom: 0 !important;            /* 下マージンをゼロ */
    padding-bottom: 0 !important;
}

/* PC表示（通常時）は、スマホ用画像を絶対に隠す */
.page.data.gray .data-box-paternity .box-life-image img.sp-img {
    display: none !important;
}
/* PC表示（通常時）は、PC用画像を確実に表示する */
.page.data.gray .data-box-paternity .box-life-image img.pc-img {
    display: block !important;
}


/* --------------------------------------------------------------------------
2. 右側：育休復帰率ボックス
-------------------------------------------------------------------------- */
.page.data.gray .data-box-normal {
    background-color: #ffffff !important;
    border-radius: 12px !important;
    width: calc(33.333% - 27px) !important; /* 他の3列ボックスと完全にサイズを統一 */
    height: 250px !important;
    padding-top: 20px !important;
    padding-bottom: 30px !important;        /* 上下を揃えて綺麗な中央浮かせに */
    padding-left: 25px !important;
    padding-right: 30px !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
}

/* 右側の画像コンテナ */
.page.data.gray .data-box-normal .box-life-image {
    width: 80% ;
    margin-left: auto;
    margin-right: auto;
    margin-top: auto !important;
    margin-bottom: auto !important;
    padding-bottom: 0 !important;
    height: calc(100% - 60px) !important;   /* コンテナの縦幅上限を制限 */
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;         /* 上下左右の中央揃え（浮かせる） */
}

/* 右側の丸グラフ画像（縦幅制限） */
.page.data.gray .data-box-normal .box-life-image img {
    display: block !important;       /* 謎の隙間を生む「インライン要素」の性質を消します */
    width: 65% !important;
    max-width: 320px !important;
    height: auto !important;
    padding-top: 20px;
    margin: 0 auto !important;      /* 左右は中央揃え */
}

/* --------------------------------------------------------------------------
3. 共通設定（タイトル左寄せ・スマホ崩れ対策）
   -------------------------------------------------------------------------- */
.page.data.gray .data-box-wide .box-title,
.page.data.gray .data-box-normal .box-title {
    font-size: 1.75rem !important;
    font-weight: 700 !important;
    color: #323232 !important;
    text-align: left !important;            /* 完璧な左寄せ */
    width: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* 【スマホ表示】画面幅が狭くなったら縦並びにして100%幅にする */
@media screen and (max-width: 768px) {
    .page.data.gray .data-box-wide,
    .page.data.gray .data-box-normal {
        width: 100% !important;
        height: auto !important;            /* スマホ時は高さを自動に戻して文字破綻を防止 */
        padding-bottom: 30px !important;    /* スマホ時は左側も下側に余白を作る */
    }
    .page.data.gray .data-box-wide .box-life-image {
        align-items: center !important;     /* スマホ時は下揃えを解除 */
    }
}

/* 育休取得率・育休復帰率ボックスここまで */



/* 2列カード（ライフイベント用・影なしフラット） */
.page.data.gray .data-box-02 {
    background-color: #ffffff !important;
    border-radius: 12px !important;
    width: calc(50% - 20px) !important; /* すき間40pxを計算した半分幅 */
    height: auto !important;
    box-sizing: border-box !important;
    box-shadow: none !important; /* 影を非表示 */
}

/* 各カード内のデザイン */
.box-title {
    font-size: 1.4rem !important;
    font-weight: 700 !important;
    color: #a0a0a0 !important;
    margin-bottom: 5px !important;
    text-align: left !important;
    width: 100% !important;
}

/* 大きな数字のサイズ感（チャコールグレー） */
.page.data.gray .count-size {
    font-size: 5.4rem !important;
    font-weight: 800 !important;
    color: #323232 !important;
}

.data-box-03 h2 {
    font-size: 2.2rem !important;
    color: #323232 !important;
    font-weight: 700 !important;
    margin-bottom: 20px !important;
}

.data-box-comment {
    font-size: 1.3rem !important;
    color: #666666 !important;
    line-height: 1.6 !important;
    font-weight: 500 !important;
    margin-top: 15px !important;
    text-align: center !important;
}

.data-box-03 img {
    max-width: 100%;
    height: auto;
    margin: 15px auto 0 auto !important;
    display: block;
}

/* 男女比専用のレイアウト */
.danjo-ratio {
    display: flex !important;
    justify-content: center !important;
    gap: 30px !important;
    font-size: 2.2rem !important;
    font-weight: 700 !important;
    margin-bottom: 10px !important;
}
.danjo-ratio strong {
    font-size: 4.8rem !important;
    color: #323232;
}
.danjo-ratio div:last-child strong {
    color: #f9634a !important; /* 女性の34%だけオレンジに変える */
}

/* ライフイベントカード専用の横並び設定 */
.spec-flex {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 40px 40px !important;
}
.spec-left {
    width: 30% !important;
}
.spec-left .box-title {
    text-align: left !important;
    margin-bottom: 0 !important;
    font-size: 1.6rem !important;
    color: #323232 !important;
}
.spec-right {
    width: 65% !important;
    display: flex !important;
    justify-content: space-around !important;
    align-items: center !important;
}
.sub-chart {
    text-align: center !important;
}
.gender-label {
    font-size: 1.3rem !important;
    font-weight: 700 !important;
    margin-bottom: 10px !important;
    color: #555555 !important;
}

/* ==========================================================================
ドーナツグラフ（メーター）描画システム
========================================================================== */
.chart-container {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 10px 0 !important;
}

.circle-chart {
    --size: 130px;
    width: var(--size) !important;
    height: var(--size) !important;
    border-radius: 50% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    position: relative !important;
}

/* メーターカラー分岐 */
.chart-orange { background: conic-gradient(#f9634a calc(var(--percent) * 1%), #eeeeee 0) !important; }
.chart-darkgray { background: conic-gradient(#4d4d4d calc(var(--percent) * 1%), #eeeeee 0) !important; }
.chart-pink { background: conic-gradient(#ff8e9e calc(var(--percent) * 1%), #eeeeee 0) !important; }

/* ドーナツの穴くり抜き */
.circle-chart::after {
    content: "" !important;
    position: absolute !important;
    width: calc(var(--size) - 20px) !important;
    height: calc(var(--size) - 20px) !important;
    background: #ffffff !important;
    border-radius: 50% !important;
    z-index: 1 !important;
}

.chart-number {
    position: relative !important;
    z-index: 2 !important;
    font-size: 3.2rem !important;
    font-weight: 800 !important;
    color: #323232 !important;
}
.chart-number span { font-size: 1.6rem !important; font-weight: 700 !important; }

.chart-number-lg {
    position: relative !important;
    z-index: 2 !important;
    font-size: 1.3rem !important;
    font-weight: 700 !important;
    color: #666666 !important;
    line-height: 1.2 !important;
}
.chart-number-lg strong {
    font-size: 3.2rem !important;
    color: #323232 !important;
}
.chart-number-lg span { font-size: 1.6rem !important; }

.chart-number-sm {
    position: relative !important;
    z-index: 2 !important;
    font-size: 2.2rem !important;
    font-weight: 800 !important;
}
.chart-number-sm span { font-size: 1.3rem !important; }

/* ==========================================================================
スマートフォン表示_260612追記ここから
   ========================================================================== */
@media screen and (max-width: 768px) {
    .data-wrapper { padding: 0 20px 60px 20px; }
    .flex-container { flex-direction: column !important; gap: 20px !important; }
    .page.data.gray .data-box-03,
    .page.data.gray .data-box-02 { width: 100% !important; }
    .spec-flex { flex-direction: column !important; text-align: center !important; padding: 30px 20px !important; }
    .spec-left, .spec-right { width: 100% !important; }
    .spec-left { margin-bottom: 20px !important; }
    .spec-left .box-title { text-align: center !important; }
}

/* ==========================================================================
大見出し（働く人、働く環境、ライフイベント）の上下余白の出し分け
========================================================================== */
    /* 1. すべてのタイトルのベース（フォントサイズ・下余白）を設定 */
    .page.data.gray h3.category-title {
        font-size: 2.2rem !important;
        margin: 15px 0 15px 0 !important; /* 一番上の「働く人」は15pxのままキープ */
    }

/* ==========================================================================
スマホ表示のときだけ、2番目以降のタイトルの上余白を75pxにする
   ========================================================================== */
@media screen and (max-width: 768px) {
    .page.data.gray h3.category-title:not(:first-of-type) {
        margin-top: 75px !important;
    }
}

/* ==========================================================================
スマホ表示（768px以下）ですべてを同期させるCSS
========================================================================== */
@media screen and (max-width: 768px) {
    /* 0. コンテナを縦1列に整列 */
    .page.data.gray .flex-container {
        display: flex !important;
        flex-direction: column !important;
        gap: 22px !important;
    }

/* ==========================================================================
A. 通常の3列ボックス（女性管理職・平均年齢・中途・勤続・休日・リモート・有給）
========================================================================== */
    .page.data.gray .data-box-03 {
        /* タイトルの開始位置を左上に揃える */
        padding-bottom: 30px !important;
        padding-left: 25px !important;     /* 左端25pxに統一 */
        padding-right: 25px !important;
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;
        /* 真ん中寄せを完全に破壊し、すべて「左詰め」に統一 */
        justify-content: flex-start !important;
        align-items: flex-start !important; /* これで見出しの縦ラインがピシッと左に揃います */
        text-align: left !important;
    }

    /* 通常ボックスのタイトルを完璧な左寄せに上書き */
    .page.data.gray .data-box-03 .box-title {
        font-size: 1.75rem !important;
        font-weight: 700 !important;
        top: 20px !important;
        left: 25px !important;
        color: #323232 !important;
        text-align: left !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        width: 100% !important;
    }

    /* グラフや数字などの画像をハコの中央に浮かせる調整 */
    .page.data.gray .data-box-03 .box-f_mgr-image,
    .page.data.gray .data-box-03 .box-age-image,
    .page.data.gray .data-box-03 .box-mid-image,
    .page.data.gray .data-box-03 .box-yos-image,
    .page.data.gray .data-box-03 .box-holiday-num-image,
    .page.data.gray .data-box-03 .box-remote-image,
    .page.data.gray .data-box-03 .box-pto-image {
        margin-top: auto !important;
        margin-bottom: auto !important;
        align-self: center !important;     /* 画像自体はハコの「左右中央」へ */
    }

    /* 下部のグレー背景コメント帯・休日フッターの位置を底面に */
    .page.data.gray .data-box-03 .data-box-comment,
    .page.data.gray .data-box-03 .box-holiday-footer {
        margin-top: auto !important;
        margin-bottom: 0 !important;
        width: 100% !important;
        align-self: center !important;
    }

/* ==========================================================================
B. 従業員数ボックス（260px固定・タイトル完全左寄せ）
========================================================================== */
    /* 💡 セレクタのクラスの繋ぎ方を修正し、古い干渉を完全に上書きします */
    .page.data.gray .data-box-emp-new {
        width: 100% !important;
        height: 250px !important;
        position: relative !important;
        display: block !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* タイトル（従業員数） */
    .page.data.gray .data-box-emp-new .box-title-emp {
        position: absolute !important;
        top: 20px !important;
        left: 25px !important;
        font-size: 1.75rem !important;
        font-weight: 700 !important;
        color: #323232 !important;
        text-align: left !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* 数字「260人」 */
    .page.data.gray .data-box-emp-new .box-emp-number {
        position: absolute !important;
        top: 61px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: max-content !important;
        text-align: center !important;
        margin: 0 !important;
        padding: 0 !important;
        z-index: 2 !important;
    }
    .page.data.gray .data-box-emp-new .box-emp-number img {
        display: inline-block !important;
        width: auto !important;
        max-width: none !important;
        height: 105px !important;
    }

    /* 人物イラストを一番下の底面に完全密着 */
    .page.data.gray .data-box-emp-new .box-emp-image {
        position: absolute !important;
        bottom: 0px !important;
        left: 0px !important;
        width: 100% !important;
        text-align: center !important;
        margin: 0 !important;
        padding: 0 !important;
        z-index: 1 !important;
    }
    .page.data.gray .data-box-emp-new .box-emp-image img {
        display: inline-block !important;
        vertical-align: bottom !important;
        width: auto !important;
        max-width: 100% !important;
        height: 155px !important;
    }

/* 男女ボックスここから */

/* ==========================================================================
1. 共通土台（あなたの元の記述のまま）
========================================================================== */
.page.data.gray .data-box-gender-new {
    width: 100% !important;
    height: 250px !important;
    position: relative !important;
    display: block !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* タイトル（男女比） */
.page.data.gray .data-box-gender-new .box-title-gender {
    position: absolute !important;
    top: 20px !important;
    left: 25px !important;
    font-size: 1.75rem !important;
    font-weight: 700 !important;
    color: #323232 !important;
    text-align: left !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 男・女チーム共通の土台 */
.page.data.gray .data-box-gender-new .new-gender-team {
    position: absolute !important;
    bottom: 0px !important;
    width: 50% !important;
    height: 230px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 👨 左半分：男性チーム */
.page.data.gray .data-box-gender-new .box-men-new {
    left: 15px !important;
}
.page.data.gray .data-box-gender-new .box-men-new .new-gender-number {
    position: absolute !important;
    top: 45px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: max-content !important;
    z-index: 2 !important;
}
.page.data.gray .data-box-gender-new .box-men-new .new-gender-number img {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    height: 90px !important;
}
.page.data.gray .data-box-gender-new .box-men-new .new-gender-image {
    position: absolute !important;
    bottom: 0px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: max-content !important;
    z-index: 1 !important;
}
/* 💻 PC版の男性イラスト */
.page.data.gray .data-box-gender-new .box-men-new .new-gender-image img {
    display: block !important;
    vertical-align: bottom !important;
    width: auto !important;
    height: 110px !important;
}

/* 👩 右半分：女性チーム */
.page.data.gray .data-box-gender-new .box-women-new {
    right: 15px !important;
}
.page.data.gray .data-box-gender-new .box-women-new .new-gender-number {
    position: absolute !important;
    top: 45px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: max-content !important;
    z-index: 2 !important;
}
.page.data.gray .data-box-gender-new .box-women-new .new-gender-number img {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    height: 90px !important;
}
.page.data.gray .data-box-gender-new .box-women-new .new-gender-image {
    position: absolute !important;
    bottom: 0px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: max-content !important;
    z-index: 1 !important;
}
/* 💻 PC版の女性イラスト */
.page.data.gray .data-box-gender-new .box-women-new .new-gender-image img {
    display: block !important;
    vertical-align: bottom !important;
    width: auto !important;
    height: 110px !important;
}


/* ==========================================================================
3. 【スマホ用表示】（画面幅 768px 以下：縦横比を完全に守って拡大）
========================================================================== */
@media screen and (max-width: 768px) {

/* スマホ：男性イラストのサイズ調整 */
.page.data.gray .data-box-gender-new .box-men-new .new-gender-image img {
    width: 115px !important;
    height: auto !important;       /* PC版の110px固定を上書き */
    max-height: none !important;   /* 高さ制限を完全に解除 */
    object-fit: contain !important;
}

/* スマホ：女性イラストのサイズ調整 */
.page.data.gray .data-box-gender-new .box-women-new .new-gender-image img {
    width: 96px !important;
    height: auto !important;       /* PC版の110px固定を上書き */
    max-height: none !important;   /* 高さ制限を完全に解除 */
    object-fit: contain !important;
}

/* ==========================================================================
【女性管理職比率】スマホ時のタイトル位置 ＆ グラフ位置（変更なし）
========================================================================== */
    .page.data.gray .data-box-f_mgr {
        position: relative !important;
        display: block !important;
        padding: 0 !important;
        height: 250px !important;
    }
    .page.data.gray .data-box-f_mgr .box-title {
        position: absolute !important;
        top: 20px !important;
        left: 25px !important;
        font-size: 1.75rem !important;
        font-weight: 700 !important;
        color: #323232 !important;
        text-align: left !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    .page.data.gray .data-box-f_mgr .box-f_mgr-image {
        position: absolute !important;
        top: 57px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        justify-content: center !important;
    }
    .page.data.gray .data-box-f_mgr .box-f_mgr-image img {
        display: block !important;
        width: 170px !important;
        height: auto !important;
        margin: 0 auto !important;
    }
}
/* 男女ボックスここまで */

/* ==========================================================================
【平均勤続年数】スマホ時のタイトル位置修正 ＆ 数字とグレー帯を美しく統合
========================================================================== */
@media screen and (max-width: 768px) {

    /* 平均勤続年数ボックスのハコ自体の自動計算をリセット */
    .page.data.gray .data-box-yos {
        position: relative !important;
        display: block !important;
        padding: 0 !important;
        height: 260px !important;
    }

    /* タイトル位置 */
    .page.data.gray .data-box-yos .box-title {
        position: absolute !important;
        top: 20px !important;
        left: 25px !important;
        font-size: 1.75rem !important;
        font-weight: 700 !important;
        color: #323232 !important;
        text-align: left !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* 数字「2.6年」の位置 */
    .page.data.gray .data-box-yos .box-yos-image {
        position: absolute !important;
        top: 85px !important;              /* 他のボックスのメイン要素と高さを完全同期 */
        left: 50% !important;
        transform: translateX(-50%) !important; /* 左右ど真ん中寄せ */
        width: max-content !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* 数字画像自体のサイズが大きすぎないよう適正化 */
    .page.data.gray .data-box-yos .box-yos-image img {
        display: block !important;
        height: 65px !important;           /* 平均年齢の「35.3歳」と全く同じ高さに揃えます */
        width: auto !important;
    }

    /* グレーの四角（コメント帯）の位置】数字のすぐ下にドッキング！ */
    .page.data.gray .data-box-yos .data-box-comment {
        position: absolute !important;
        top: 165px !important;             /* 平均年齢のコメント帯と全く同じ高さに固定 */
        left: 50% !important;
        transform: translateX(-50%) !important; /* 左右ど真ん中寄せ */
        width: 85% !important;             /* 左右に綺麗な余白を作るサイズ */
        max-width: 280px !important;       /* 横に広がりすぎないストッパー */
        margin: 0 !important;
    }
}

/* ==========================================================================
【平均年齢】スマホ時のタイトル位置修正 ＆ 数字とグレー帯をキュッとまとめる
   ========================================================================== */
@media screen and (max-width: 768px) {

    /* 平均年齢ボックスのハコ自体の自動計算をリセット */
    .page.data.gray .data-box-age {
        position: relative !important;
        display: block !important;
        padding: 0 !important;
        height: 250px !important;
    }

    /* 🛠️【タイトル位置】他のハコと全く同じ「上から20px、左から25px」に完全同期 */
    .page.data.gray .data-box-age .box-title {
        position: absolute !important;
        top: 20px !important;
        left: 25px !important;
        font-size: 1.75rem !important;
        font-weight: 700 !important;
        color: #323232 !important;
        text-align: left !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* 【数字「35.3歳」の位置】上すぎず下すぎないベストな位置へ引き下げ */
    .page.data.gray .data-box-age .box-age-image {
        position: absolute !important;
        top: 65px !important;
        left: 50% !important;
        transform: translateX(-50%) !important; /* 左右ど真ん中寄せ */
        width: max-content !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* 数字画像自体のサイズがPCのまま大きすぎないよう適正化 */
    .page.data.gray .data-box-age .box-age-image img {
        display: block !important;
        height: 105px !important;           /* スマホ画面で綺麗に見える大迫力サイズ */
        width: auto !important;
    }

    /* 【グレーの四角（コメント帯）の位置】数字のすぐ下（隙間10px）に */
    .page.data.gray .data-box-age .data-box-comment {
        position: absolute !important;
        top: 155px !important;             /* 数字（高さ65px）のすぐ下にくるように位置を計算 */
        left: 50% !important;
        transform: translateX(-50%) !important; /* 左右ど真ん中寄せ */
        width: 85% !important;             /* スマホの画面幅に合わせて両端に程よい余白を作るサイズ */
        max-width: 280px !important;       /* 横に広がりすぎないストッパー */
        margin: 0 !important;
    }
}

/* ==========================================================================
【中途入社比率】スマホ時のタイトル位置修正 ＆ 円グラフ位置の上昇
========================================================================== */
@media screen and (max-width: 768px) {

    /* 中途入社比率ボックスのハコ自体の自動計算をリセット */
    .page.data.gray .data-box-mid {
        position: relative !important;
        display: block !important;
        padding: 0 !important;
        height: 250px !important;
    }

    /* 【タイトル位置】他のすべてのハコと全く同じ「上から20px、左から25px」に完全同期 */
    .page.data.gray .data-box-mid .box-title {
        position: absolute !important;
        top: 20px !important;
        left: 25px !important;
        font-size: 1.75rem !important;
        font-weight: 700 !important;
        color: #323232 !important;
        text-align: left !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* 【円グラフの位置】下すぎる位置から、女性管理職比率と同じ高さへ美しく引き上げ */
    .page.data.gray .data-box-mid .box-mid-image {
        position: absolute !important;
        top: 57px !important;              /* 女性管理職比率のグラフ（62px）と高さを同期 */
        left: 50% !important;
        transform: translateX(-50%) !important; /* 左右ど真ん中寄せ */
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        justify-content: center !important;
    }

    /* 円グラフの画像サイズ調整（女性管理職の130pxとサイズ感を統一します） */
    .page.data.gray .data-box-mid .box-mid-image img {
        display: block !important;
        width: 170px !important;
        height: auto !important;
        margin: 0 auto !important;
    }
}

/* ==========================================================================
【平均勤続年数】スマホ時のタイトル位置修正 ＆ 数字とグレー帯を美しく統合
   ========================================================================== */
@media screen and (max-width: 768px) {

    /* 平均勤続年数ボックスのハコ自体の自動計算をリセット */
    .page.data.gray .data-box-yos {
        position: relative !important;
        display: block !important;
        padding: 0 !important;
        height: 260px !important;
    }

    /* 🛠️【タイトル位置】他のすべてのハコと全く同じ「上から20px、左から25px」に完全同期 */
    .page.data.gray .data-box-yos .box-title {
        position: absolute !important;
        top: 20px !important;
        left: 25px !important;
        font-size: 1.75rem !important;
        font-weight: 700 !important;
        color: #323232 !important;
        text-align: left !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* 【数字「2.6年」の位置】平均年齢の数字（85px）と高さを完全にシンクロ */
    .page.data.gray .data-box-yos .box-yos-image {
        position: absolute !important;
        top: 71px !important;              /* 他のボックスのメイン要素と高さを完全同期 */
        left: 50% !important;
        transform: translateX(-50%) !important; /* 左右ど真ん中寄せ */
        width: max-content !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* 数字画像自体のサイズが大きすぎないよう適正化 */
    .page.data.gray .data-box-yos .box-yos-image img {
        display: block !important;
        height: 110px !important;           /* 平均年齢の「35.3歳」と全く同じ高さに */
        width: auto !important;
    }

    /* 【グレーの四角（コメント帯）の位置】数字のすぐ下に */
    .page.data.gray .data-box-yos .data-box-comment {
        position: absolute !important;
        top: 165px !important;             /* 平均年齢のコメント帯と全く同じ高さに固定 */
        left: 50% !important;
        transform: translateX(-50%) !important; /* 左右ど真ん中寄せ */
        width: 85% !important;
        max-width: 280px !important;
        margin: 0 !important;
    }
}

/* ==========================================================================
「年間休日数」ボックス内のレイアウト修正（文字と画像を大きく維持）
========================================================================== */
@media screen and (max-width: 768px) {
    .page.data.gray .data-box-holiday {
        height: auto !important;
        min-height: 250px !important;
        padding-top: 20px !important;
        padding-bottom: 20px !important;
        padding-left: 25px !important;
        padding-right: 25px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        box-sizing: border-box !important;
    }

    /* 「125日」の画像サイズを大きく元のサイズ感に戻す */
    .page.data.gray .data-box-holiday .box-holiday-num-image {
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        margin-top: 25px !important;
        margin-bottom: 15px !important;
    }

    .page.data.gray .data-box-holiday .box-holiday-num-image img {
        display: block !important;
        width: 58% !important;
        max-width: 200px !important;
        height: auto !important;
        margin: 0 auto !important;
    }

    /* 下側のフッターコンテナ（カレンダーとテキスト） */
    .page.data.gray .data-box-holiday .box-holiday-footer {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: 100% !important;
        gap: 20px !important;
        position: relative !important;
        bottom: 5px !important;
    }

    /* カレンダーアイコンを元の大きさに戻す */
    .page.data.gray .data-box-holiday .holiday-icon {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-shrink: 0 !important;
        width: 65px !important;
    }

    .page.data.gray .data-box-holiday .holiday-icon img {
        display: block !important;
        width: 100% !important;
        height: auto !important;
    }

/* 説明テキストを元の見やすい太文字に戻す */
.page.data.gray .data-box-holiday .data-box-comment {
    font-size: 1.5rem !important;
    line-height: 1.45 !important;
    text-align: left !important;
    color: #323232 !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    position: relative !important;
    top: 10px !important;
}
}

/* ==========================================================================
【月平均残業時間】今のHTMLのままスマホの横潰れを100%除去する特殊上書き
========================================================================== */
@media screen and (max-width: 768px) {
    .page.data.gray .flex-container .data-box-ot-new {
        display: block !important;
        width: 100% !important;                 /* スマホ画面いっぱいに広げる */
        height: 250px !important;
        position: relative !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* タイトル「月平均残業時間」を左上に */
    .page.data.gray .data-box-ot-new .box-title-ot {
        position: absolute !important;
        top: 20px !important;
        left: 25px !important;
        font-size: 1.75rem !important;          /* 他のタイトルと文字サイズを完全同期 */
        font-weight: 700 !important;
        color: #323232 !important;
        text-align: left !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* 数字「18時間」のエリアを中央に配置 */
    .page.data.gray .data-box-ot-new .box-ot-number {
        position: absolute !important;
        top: 62px !important;                   /* 260人ボックスと高さを同じに */
        left: 50% !important;
        transform: translateX(-50%) !important; /* 左右ど真ん中寄せ */
        width: max-content !important;          /* 親のハコに潰されないように横幅の上限を撤廃 */
        text-align: center !important;
        margin: 0 !important;
        padding: 0 !important;
        z-index: 2 !important;                  /* イラストより手前に出す */
    }

    /* 数字画像自体のサイズをPCと同じ大迫力に戻す */
    .page.data.gray .data-box-ot-new .box-ot-number img {
        display: inline-block !important;
        width: auto !important;                 /* 横に伸びるのを禁止 */
        max-width: none !important;
        height: 110px !important;                /* 従業員数の「260人」と全く同じ大きさに統一 */
    }

    /* 働く女性のイラストをボックスの一番底面に完全密着 */
    .page.data.gray .data-box-ot-new .box-ot-image {
        position: absolute !important;
        bottom: 0px !important;                 /* 白ボックスの底辺に接着 */
        left: 0px !important;
        width: 100% !important;
        text-align: center !important;          /* イラストを真ん中に */
        margin: 0 !important;
        padding: 0 !important;
        z-index: 1 !important;
    }

    /* イラスト画像自体のサイズ感調整 */
    .page.data.gray .data-box-ot-new .box-ot-image img {
        display: inline-block !important;
        vertical-align: bottom !important;      /* 画像の下の謎の隙間を消去 */
        width: auto !important;
        max-width: 100% !important;
        height: 145px !important;               /* 全員のイラスト（110px）と高さを完全に揃える */
    }
}

/* ==========================================================================
【平均年間給与】スマホ時のタイトル位置修正 ＆ 数字とグレー帯をキュッとまとめる
   ========================================================================== */
@media screen and (max-width: 768px) {

    /* 平均年齢ボックスのハコ自体の自動計算をリセット */
    .page.data.gray .data-box-03.data-box-money {
        position: relative !important;
        display: block !important;
        padding: 0 !important;
        height: 250px !important;
    }

    /* 【タイトル位置】 */
    .page.data.gray .data-box-03.data-box-money .box-title {
        position: absolute !important;
        top: 20px !important;
        left: 25px !important;
        font-size: 1.75rem !important;
        font-weight: 700 !important;
        color: #323232 !important;
        text-align: left !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* 【数字の位置】 */
    .page.data.gray .data-box-03.data-box-money .box-money-image {
        position: absolute !important;
        top: 65px !important;
        left: 50% !important;
        transform: translateX(-50%) !important; /* 左右ど真ん中寄せ */
        width: max-content !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* 数字画像自体のサイズがPCのまま大きすぎないよう適正化 */
    .page.data.gray .data-box-03.data-box-money .box-money-image img {
        display: block !important;
        height: 105px !important;
        width: auto !important;
    }

    /* 【グレーの四角（コメント帯）の位置】数字のすぐ下（隙間10px）に */
    .page.data.gray .data-box-03.data-box-money .data-box-comment {
        position: absolute !important;
        top: 155px !important;             /* 数字（高さ65px）のすぐ下にくるように */
        left: 50% !important;
        transform: translateX(-50%) !important; /* 左右ど真ん中寄せ */
        width: 85% !important;             /* スマホの画面幅に合わせて両端に程よい余白を作るサイズ */
        max-width: 280px !important;       /* 横に広がりすぎないストッパー */
        margin: 0 !important;
    }
}

/* ==========================================================================
【リモートワーク率】スマホ時のタイトル位置修正 ＆ 数字とグレー帯をキュッとまとめる
   ========================================================================== */
@media screen and (max-width: 768px) {

/* 平均年齢ボックスのハコ自体の自動計算をリセット */
    .page.data.gray .data-box-03.data-box-remote {
        position: relative !important;
        display: block !important;
        padding: 0 !important;
        height: 250px !important;
    }

    /* 【タイトル位置】他のハコと全く同じに */
    .page.data.gray .data-box-03.data-box-remote .box-title {
        position: absolute !important;
        top: 20px !important;
        left: 25px !important;
        font-size: 1.75rem !important;
        font-weight: 700 !important;
        color: #323232 !important;
        text-align: left !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* 【数字の位置】 */
    .page.data.gray .data-box-03.data-box-remote .box-remote-image {
        position: absolute !important;
        top: 65px !important;
        left: 50% !important;
        transform: translateX(-50%) !important; /* 左右ど真ん中寄せ */
        width: max-content !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* 数字画像自体のサイズがPCのまま大きすぎないよう適正化 */
    .page.data.gray .data-box-03.data-box-remote .box-remote-image img {
        display: block !important;
        height: 105px !important;
        width: auto !important;
    }

    /* 【グレーの四角（コメント帯）の位置】数字のすぐ下（隙間10px）に */
    .page.data.gray .data-box-03.data-box-remote .data-box-comment {
        position: absolute !important;
        top: 155px !important;
        left: 50% !important;
        transform: translateX(-50%) !important; /* 左右ど真ん中寄せ */
        width: 85% !important;             /* 💡 スマホの画面幅に合わせて両端に程よい余白を作るサイズ */
        max-width: 280px !important;       /* 横に広がりすぎないストッパー */
        margin: 0 !important;
    }
}

/* ==========================================================================
【有給休暇取得率】スマホ時のタイトル位置修正 ＆ 円グラフ位置の上昇
========================================================================== */
@media screen and (max-width: 768px) {

    /* 有給休暇取得率ボックスのハコ自体の自動計算をリセット */
    .page.data.gray .data-box-03.data-box-pto {
        position: relative !important;
        display: block !important;
        padding: 0 !important;
        height: 250px !important;
    }

    /* 【タイトル位置】 */
    .page.data.gray .data-box-03.data-box-pto .box-title {
        position: absolute !important;
        top: 20px !important;
        left: 25px !important;
        font-size: 1.75rem !important;
        font-weight: 700 !important;
        color: #323232 !important;
        text-align: left !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* 【円グラフの位置】 */
    .page.data.gray .data-box-03.data-box-pto .box-pto-image {
        position: absolute !important;
        top: 57px !important;
        left: 50% !important;
        transform: translateX(-50%) !important; /* 左右ど真ん中寄せ */
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        justify-content: center !important;
    }

    /* 円グラフの画像サイズ調整 */
    .page.data.gray .data-box-03.data-box-pto .box-pto-image img {
        display: block !important;
        width: 170px !important;
        height: auto !important;
        margin: 0 auto !important;
    }
}

/* ==========================================================================
【育休取得率】スマホ版：縦並び＆女性の下に余白を追加
========================================================================== */
@media screen and (max-width: 768px) {

    /* 女性の下の余白分、全体の高さを530pxから「560px」に少し伸ばします */
    .page.data.gray .data-box-paternity {
        position: relative !important;
        display: block !important;
        padding: 0 !important;
        width: 100% !important;
        height: 560px !important;
    }

    /* タイトル位置（変更なし） */
    .page.data.gray .data-box-paternity .box-title {
        position: absolute !important;
        top: 20px !important;
        left: 25px !important;
        font-size: 1.75rem !important;
        font-weight: 700 !important;
        color: #323232 !important;
        text-align: left !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* 🛠️ イラストコンテナ：下側に余白を設定 */
    .page.data.gray .data-box-paternity .box-life-image {
        position: absolute !important;
        top: 65px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: 100% !important;
        height: 470px !important;
        margin: 0 !important;
        padding: 0 !important;
        padding-bottom: 25px !important;   /* 女性の下側に25pxの余白 */
        box-sizing: border-box !important; /* パディングを含める指定 */
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 70px !important;              /* 男女間のすき間 */
    }

    /* 男女それぞれの画像ラッパー */
    .page.data.gray .data-box-paternity .paternity-men,
    .page.data.gray .data-box-paternity .paternity-women {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        height: 180px !important;
    }

    /* スマホ用グラフ画像 */
    .page.data.gray .data-box-paternity .box-life-image img.sp-img {
        display: block !important;
        width: auto !important;
        height: 205px !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        object-fit: contain !important;
    }

    /* スマホ表示時は、PC用画像を絶対に隠す */
    .page.data.gray .data-box-paternity .box-life-image img.pc-img {
        display: none !important;
    }
}


/* ==========================================================================
【育休復帰率】中途入社比率ボックスと100%同じ書き方・数値で完全同期
   ========================================================================== */
@media screen and (max-width: 768px) {

    /* 育休復帰率ボックスのハコ自体の自動計算をリセット */
    .page.data.gray .data-box-normal.data-box-return {
        position: relative !important;
        display: block !important;
        padding: 0 !important;
        height: 250px !important;
    }

    /* 【タイトル位置】 */
    .page.data.gray .data-box-normal.data-box-return .box-title {
        position: absolute !important;
        top: 20px !important;
        left: 25px !important;
        font-size: 1.75rem !important;
        font-weight: 700 !important;
        color: #323232 !important;
        text-align: left !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* 【円グラフ（数字）の位置】 */
    .page.data.gray .data-box-normal.data-box-return .box-life-image {
        position: absolute !important;
        top: 35px !important;
        left: 50% !important;
        transform: translateX(-50%) !important; /* 左右ど真ん中寄せ */
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        justify-content: center !important;
    }

    /* 円グラフ（数字）の画像サイズ調整 */
    .page.data.gray .data-box-normal.data-box-return .box-life-image img {
        display: block !important;
        width: 170px !important;
        height: auto !important;
        margin: 0 auto !important;
    }
}

/* ==========================================================================
（女性管理職・平均年齢など）の余白を均等に
   ========================================================================== */
    .page.data.gray .data-box-03 {
    /* 👇 PC版の22pxを0にして、親のgap（20px）だけで綺麗に整列 */
    margin-bottom: 0 !important; 
}

/* ==========================================================================
追加：ライフイベントの箱（育休取得率・復帰率）のmarginをゼロにして隙間を20pxに統一
========================================================================== */
    .page.data.gray .data-box-normal.data-box-paternity,
    .page.data.gray .data-box-normal.data-box-return {
       /* PC版の margin-bottom や margin-top の残りをすべて消す */
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* 親コンテナの gap（PC版が40pxになっているのを上書き） */
    .page.data.gray .flex-container.flex-life-event {
    gap: 22px !important;
}

/* ==========================================================================
スマートフォン表示_260612追記ここまで（レスポンシブ崩れ対策）
========================================================================== */

/*-------------------
　　社内制度・福利厚生
--------------------*/

.system-header-image {
    background: url(https://jobs.spiderplus.co.jp/images/system_header.png)no-repeat 50%/cover;
    height: 80vh;
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 320px;
}

.system-title {
    width: 40%;
    align-items: center;
    font-size: 3.5rem;
    background: url(https://jobs.spiderplus.co.jp/images/system_text.png)no-repeat 50%/cover;
}

.system-title-text {
    align-items: center;
    padding-top: 20px;
}

.system-box {
    padding-top: 100px;
    display: flex;
}

.system-box-right.sijou {
    text-align: left;
}

.welfare-title {
    width: 40%;
    align-items: center;
    font-size: 3.5rem;
    background: url(https://jobs.spiderplus.co.jp/images/welfare_text.png)no-repeat 50%/cover;
}

.welfare-title-box {
    margin-top: 200px;
    margin-bottom: 50px;
}

.welfare-flex,
.welfare-lunch-image {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.welfare-box {
    width: calc(50% - 2.777%);
    padding-top: 50px;
}

.welfare-box img {
    width: 450px;
    padding: 20px 0px;
}

.welfare-lunch-image,
.welfare-guidebook-flex {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}

.welfare-lunch {
    padding: 2em 2em;
    margin: 2em 0 15rem 0;
    ;
    color: #323232;
    border: solid 1px #4d4d4d;
    border-radius: 10px;
    position: relative;
    margin-top: 100px;
}

.welfare-lunch-left,
.welfare-lunch-right {
    width: calc(50% - 2.777%);
}

.welfare-lunch-title {
    font-size: 2rem;
    text-align: center;
    background-color: #FFF;
    padding: 5px 0px;
    border-radius: 20px;
    margin-top: 15px;
}

.welfare-lunch-header {
    position: absolute;
    top: -15px;
    left: 15px;
    background-color: #f2f2f2;
    padding: 0px 15px;
}

.welfare-lunch-image img {
    padding-top: 30px;
    width: 180px;
}

.welfare-lunch-comment {
    padding-top: 30px;
}

.vacation-system,
.various-systems,
.health-support {
    background-color: #fff;
    text-align: center;
    padding: 30px 0px 50px 0px;
    border-radius: 15px;
    margin-bottom: 30px;
}

.vacation-system-flex,
.various-systems-flex,
.health-support-flex {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.vacation-system-flex li {
    width: 170px;
    background-color: #f2f2f2;
    border-radius: 5px;
    margin: 4px;
    padding: 5px 0px;
    font-weight: bold;
}

.vacation-system-comment {
    margin: 30px 0px;
}

.various-systems-items,
.health-support-items {
    width: 400px;
    margin: 30px;
}

.various-systems-items img,
.health-support-items img {
    width: 60px;
    padding: 15px 0px;
}

.various-systems-items-comment,
.health-support-items-comment {
    padding-top: 10px;
    text-align: left;
}

.system {
    padding-bottom: 30px;
}

.welfare-guidebook {
    max-width: 1000px;
    width: 100%;
    height: 350px;
    background-color: #fff;
    box-shadow: 0px 0px 7px 3px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    transition: box-shadow 0.3s, transform 0.3s;
    position: relative;
    margin: 0 auto;
    margin-bottom: 100px;
    margin-top: 100px;
}

.welfare-guidebook-title {
    font-size: 2.5rem;
    font-weight: bold;
    position: absolute;
    top: -25px;
    left: 0px;
    background-color: #f9634a;
    color: #FFF;
    padding: 5px 20px;
}

.welfare-guidebook img {
    width: 450px;
}

.welfare-guidebook-items {
    width: 450px;
    padding: 62px 20px 20px 20px;
}

.welfare-guidebook a {
    display: inline-block;
    font-size: 1.8rem;
    font-weight: bold;
    margin-top: 15px;
    border: 2px solid #f9634a;
    color: #f9634a;
    border-radius: 30px;
    padding: 0px 15px;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

@media screen and (max-width:768px) {
    .welfare-box {
        width: 100%;
        padding-top: 50px;
    }

    .system-header-image {
        height: 180px;
        margin-bottom: 30px;
    }

    .system .flex {
        display: block;
    }

    .system-title,
    .welfare-title {
        width: 100%;
        align-items: center;
        font-size: 2.2rem;
    }

    .system-box-left {
        width: 100%;
    }

    .system-box-right img {
        width: 100%;
        height: 160px;
        object-fit: cover;
        border-radius: 6px;
        margin-top: 20px;
    }

    .system-box-right {
        width: 100%;
    }

    .system-box .japanese-title {
        padding-bottom: 20px;
    }

    .system-box {
        padding-top: 80px;
    }

    .welfare-title-box {
        margin-bottom: 30px;
    }

    .welfare-box img {
        width: 100%;
    }

    .welfare-box h2 {
        font-size: 2rem;
    }

    .welfare-lunch {
        border: none;
        padding: 0px;
        margin: 7em 0;
    }

    .welfare-lunch-header {
        font-weight: bold;
    }

    .welfare-lunch-title {
        font-size: 1.4rem;
    }

    .welfare-lunch-left,
    .welfare-lunch-right {
        width: 100%;
    }

    .welfare-lunch-image img {
        padding-top: 30px;
        width: 150px;
    }

    .welfare-lunch-comment {
        padding-bottom: 50px;
    }

    .vacation-system h1,
    .various-systems h1,
    .health-support h1 {
        font-size: 2rem;
    }

    .vacation-system,
    .various-systems,
    .health-support {
        border-radius: 10px;
        padding: 30px 20px 30px 20px;
    }

    .vacation-system-flex li {
        width: 130px;
        font-size: 1.4rem;
    }

    .various-systems h2,
    .health-support h2 {
        font-size: 1.7rem;
    }

    .welfare-guidebook-flex {
        display: block;
    }

    .welfare-guidebook-title {
        position: initial;
        font-size: 1.7rem;
        border-radius: 35px;
        margin: 0 auto;
    }

    .welfare-guidebook {
        height: 100%;
    }

    .welfare-guidebook img {
        width: 90%;
    }

    .welfare-guidebook-items {
        width: 100%;
        padding-top: 30px;
    }

    .welfare-guidebook {
        width: 100%;
        height: 100%;
        background-color: transparent;
        box-shadow: none;
        margin: 100px 0px 0px 0px;
        position: initial;
        text-align: center;
    }

    .welfare-guidebook-name {
        padding-bottom: 20px;
        font-size: 2rem;
    }

    .welfare-guidebook-items p {
        padding: 0px 20px;
    }

    .welfare-guidebook a {
        font-size: 1.4rem;
        margin-bottom: 60px;
    }

    .welfare-guidebook-title {
        font-weight: bold;
        color: #323232;
        background: none;
        padding: 0px
    }

    .welfare-guidebook-items {
        padding: 32px 0px 0px 0px;
    }

}

/*-------------------
　　　　部署紹介
--------------------*/
.department-header-image {
    background: url(https://jobs.spiderplus.co.jp/images/department_header.png)no-repeat 50%/cover;
    height: 80vh;
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 320px;
}

.department-header-accountsales-image {
    background: url(https://jobs.spiderplus.co.jp/images/accountsales_01.png)no-repeat 50%/cover;
    height: 80vh;
    overflow: hidden;
    position: relative;
    max-width: 100%;
    height: 200px;
    margin-bottom: 80px;
    border-radius: 10px;
    padding-left: 50px;
}

.department-header-customersuccess-image {
    background: url(https://jobs.spiderplus.co.jp/images/customersuccess_01.png)no-repeat 50%/cover;
    height: 80vh;
    overflow: hidden;
    position: relative;
    max-width: 100%;
    height: 200px;
    margin-bottom: 50px;
    border-radius: 10px;
    padding-left: 50px;
}

.department-header-support-image {
    background: url(https://jobs.spiderplus.co.jp/images/support_01.png)no-repeat 50%/cover;
    height: 80vh;
    overflow: hidden;
    position: relative;
    max-width: 100%;
    height: 200px;
    margin-bottom: 50px;
    border-radius: 10px;
    padding-left: 50px;
}

.department-header-overseasbusiness-image {
    background: url(https://jobs.spiderplus.co.jp/images/overseasbusiness_01.png)no-repeat 50%/cover;
    height: 80vh;
    overflow: hidden;
    position: relative;
    max-width: 100%;
    height: 200px;
    margin-bottom: 50px;
    border-radius: 10px;
    padding-left: 50px;
}

.department-header-product01-image {
    background: url(https://jobs.spiderplus.co.jp/images/product01_01.png)no-repeat 50%/cover;
    height: 80vh;
    overflow: hidden;
    position: relative;
    max-width: 100%;
    height: 200px;
    margin-bottom: 50px;
    border-radius: 10px;
    padding-left: 50px;
}

.department-header-product02-image {
    background: url(https://jobs.spiderplus.co.jp/images/product02_01.png)no-repeat 50%/cover;
    height: 80vh;
    overflow: hidden;
    position: relative;
    max-width: 100%;
    height: 200px;
    margin-bottom: 50px;
    border-radius: 10px;
    padding-left: 50px;
}

.department-header-product03-image {
    background: url(https://jobs.spiderplus.co.jp/images/product03_01.png)no-repeat 50%/cover;
    height: 80vh;
    overflow: hidden;
    position: relative;
    max-width: 100%;
    height: 200px;
    margin-bottom: 50px;
    border-radius: 10px;
    padding-left: 50px;
}

.department-header-product04-image {
    background: url(https://jobs.spiderplus.co.jp/images/product04_01.png)no-repeat 50%/cover;
    height: 80vh;
    overflow: hidden;
    position: relative;
    max-width: 100%;
    height: 200px;
    margin-bottom: 50px;
    border-radius: 10px;
    padding-left: 50px;
}

.department-header-backoffice01-image {
    background: url(https://jobs.spiderplus.co.jp/images/backoffice01_01.png)no-repeat 50%/cover;
    height: 80vh;
    overflow: hidden;
    position: relative;
    max-width: 100%;
    height: 200px;
    margin-bottom: 50px;
    border-radius: 10px;
    padding-left: 50px;
}

.department-header-backoffice02-image {
    background: url(https://jobs.spiderplus.co.jp/images/backoffice02_01.png)no-repeat 50%/cover;
    height: 80vh;
    overflow: hidden;
    position: relative;
    max-width: 100%;
    height: 200px;
    margin-bottom: 50px;
    border-radius: 10px;
    padding-left: 50px;
}

.department-header-backoffice03-image {
    background: url(https://jobs.spiderplus.co.jp/images/backoffice03_01.png)no-repeat 50%/cover;
    height: 80vh;
    overflow: hidden;
    position: relative;
    max-width: 100%;
    height: 200px;
    margin-bottom: 50px;
    border-radius: 10px;
    padding-left: 50px;
}

.department-header2 h1 {
    font-size: 3.5rem;
    font-weight: bold;
    color: #fff;
    max-width: 1000px;
    margin: 0 auto;
    padding-top: 2px;
}

.subtitle {
    font-size: 2rem;
    color: #fff;
    font-weight: 500;
    max-width: 1000px;
    margin: 0 auto;
    padding-top: 60px;
}

.job-detail {
    padding-bottom: 20px;
}

.job-detail::before {
    content: "■";
    color: #f9634a;
    padding-right: 5px;
}

.department-point-box {
    padding: 80px 0px 60px 0px;
}

.department-point img {
    height: 80vh;
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 100%;
    margin-top: 80px;
}

.department-point-number {
    font-weight: bold;
    font-size: 3.2rem;
    color: #F9634A;
    padding-right: 1.5rem;
}

.department-point-text {
    padding: 15px 0px 50px 0px;
}

.region h1 {
    text-align: center;
    padding-top: 80px;
}

.region-box-title {
    text-align: center;
    font-size: 3rem;
    margin: 20px 0px 50px 0px;
    padding-bottom: 40px;
    background-image: linear-gradient(90deg, #F9634A 0 20%, #fece00 20%);
    background-repeat: no-repeat;
    background-size: 100% 8%;
    background-position: bottom;
    font-weight: bold;
}

.region-box {
    background: url(https://jobs.spiderplus.co.jp/images/accountsales_03.png)no-repeat 50%/cover;
    background-size: 700px;
    margin: 40px 0px 100px 0px;
    display: inline-block;
}

.balloon1 {
    position: relative;
    padding: 7px 15px;
    min-width: 120px;
    max-width: 100%;
    color: #FFF;
    font-size: 16px;
    background: #4d4d4d;
    border-radius: 30px;
    text-align: center;
    width: 200px;
    margin: 0 auto;
}

.balloon1:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 10px solid transparent;
    border-top: 15px solid #4d4d4d;
}

.balloon1 p {
    margin: 0;
    padding: 0;
    color: #FFF;
}

.group-interview .flex {
    display: flex;
    padding: 40px 0px;
}

.group-interview-left {
    width: 50%;
}

.group-interview-right {
    width: 50%;
    text-align: right;
    padding-top: 25px;
    font-weight: bold;
}

.group-interview {
    padding: 50px 0px 90px 0px;
}

.top-department-title {
    margin-top: 100px;
}


@media screen and (max-width:768px) {
    .group-interview.wrapper {
        padding: 10px 20px 100px 20px;
    }

    .group-interview .flex {
        display: block;
    }

    .group-interview-left {
        width: 100%;
    }

    .group-interview-right {
        width: 100%;
        text-align: left;
        padding-top: 15px;
    }

    .department-point-box {
        padding: 40px 0px 0px 0px;
    }

    .department-header-accountsales-image,
    .department-header-customersuccess-image,
    .department-header-support-image {
        margin-bottom: 40px;
        margin-top: 30px
    }

    .region h1 {
        padding-top: 40px;
    }

    .department_top_box {
        width: 48%;
        margin-top: 30px;
    }
}

/*-------------------
　　部署紹介メガメニュー
--------------------*/
/* PC用 */
.global_menu {
    /* メニュー全体のスタイル */
    width: 100%;
    position: relative;
    color: #323232;
    /* 文字色 */
    background: #fff;
    /* 背景色 */
    text-align: center;
    margin: 30px 0px 90px 0px;
}

.global_menu li {
    display: inline-block;
}

.global_menu a {
    /* 各項目のスタイル */
    display: block;
    padding: 20px 25px 20px;
    color: #323232;
    font-size: 1.5rem;
    font-weight: 500;
}

.menu:hover>a {
    background: #f2f2f2;
    border-radius: 5px;
}

.child_menu {
    /* 下層メニューのスタイル */
    width: 100%;
    position: absolute;
    top: 100%;
    /* 親項目の直下に配置 */
    left: 0;
    color: #333;
    /* 文字色 */
    visibility: hidden;
    /* 下層メニューを非表示 */
}

.menu:hover .child_menu {
    /* 下層メニューのスタイル（親項目ホバー時） */
    visibility: visible;
    /* 下層メニューを表示 */
}

.department-product-icon {
    width: 40px;
    padding-bottom: 5px;
}

.global_menu_ul {
    width: 100%;
    margin: 0 auto;
}

li.kasen a:hover,
.department_top_box a:hover {
    color: #f9634a;
    transition: all 0.5s;
}

li.kasen a {
    padding: 10px;
    position: relative;
    text-align: center;
    display: inline-block;
    font-size: 1.543m;
    padding: 5px 5px;
    margin: 10px 25px;
}

.department_top_box a {
    color: #323232;
    padding: 10px;
    position: relative;
    text-align: center;
    display: inline-block;
    font-size: 1.543rem;
    padding: 6px 5px;
}

li.kasen a::before,
.department_top_box a::before {
    content: "";
    position: absolute;
    left: 100%;
    right: 100%;
    bottom: 0;
    height: 2px;
    background-color: #f9634a;
    -webkit-transition: left 0.2s ease, right 0.2s ease;
    -moz-transition: left 0.2s ease, right 0.2s ease;
    -o-transition: left 0.2s ease, right 0.2s ease;
    transition: left 0.2s ease, right 0.2s ease;
}

li.kasen a:hover::before,
.department_top_box a:hover::before {
    left: 0;
    right: 0;
}

.department_top_flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 50px 0px;
}

.department_top_box img {
    width: 230px;
}

.department_top_box h3 {
    padding: 20px 0px;
    font-size: 2rem;
    font-weight: 700;
    text-align: center;
}

.department_top_box ul {
    margin-top: 20px;
}

@media screen and (max-width:768px) {
    .department-header-image {
        height: 180px;
        margin-bottom: 30px;
    }

    .department-header-accountsales-image,
    .department-header-customersuccess-image,
    .department-header-support-image,
    .department-header-overseasbusiness-image,
    .department-header-product01-image,
    .department-header-product02-image,
    .department-header-product03-image,
    .department-header-product04-image,
    .department-header-backoffice01-image,
    .department-header-backoffice02-image,
    .department-header-backoffice03-image {
        padding: 0px 20px;
        border-radius: 5px;
        margin-top: 30px;
    }

    .department-header2 h1 {
        font-size: 2.5rem;
        padding: 0px;
    }

    .subtitle {
        font-size: 1.6rem;
        padding-top: 70px;
    }

    .job-detail {
        font-size: 2rem;
    }

    .department-point-number {
        font-size: 2.5rem;
    }

    .department-point-box h2 {
        font-size: 2rem;
    }

    .region h1 {
        font-size: 1.6rem;
    }

    .region-box-title {
        font-size: 2rem;
        padding-bottom: 10px;
    }

    .region h2 {
        font-size: 2rem;
    }

    .region-box {
        background-size: 500px;
        margin: 40px 0px 10px 0px;
    }

    .department_top_box a {
        font-size: 1.3rem;
        padding: 2px 5px;
        text-align: left;
    }

    .department_top_flex {
        margin: 0px;
    }

    .top-department-title {
        margin-top: 0px;
    }
}


/* sp用 */
@media screen and (max-width:768px) {

    .menu a {
        display: block;
        padding: 15px;
        text-decoration: none;
        color: #000;
    }

    label {
        display: flex;
        margin: 0 0 2px 0;
        padding: 15px 15px 15px 20px;
        line-height: 2.3;
        color: #323232;
        cursor: pointer;
        font-size: 1.5rem;
        background: url(https://spiderplus.co.jp/test2302/images/ir/icon_mark_w.svg) no-repeat;
        background-size: 20px;
        background-position: 94% 19px;
        background-color: #dedede;
    }

    input {
        display: none;
    }

    .menu ul {
        margin: 0;
        padding: 0;
        background: #f2f2f2;
        list-style: none;
        font-size: 1.3rem;
    }

    .menu li {
        height: 0;
        overflow: hidden;
        -webkit-transition: all 0.5s;
        -moz-transition: all 0.5s;
        -ms-transition: all 0.5s;
        -o-transition: all 0.5s;
        transition: all 0.5s;
    }

    #menu_bar01:checked~#links01 li,
    #menu_bar02:checked~#links02 li,
    #menu_bar03:checked~#links03 li,
    #menu_bar04:checked~#links04 li {
        height: 54px;
        opacity: 1;
    }

    .menu img {
        padding-bottom: 0px;
        padding-right: 8px;
    }

    .menu a:hover {
        color: #f9634a;
        font-weight: bold;
    }
}


/* ISSUE採用 */
.button-external-link2 {
    color: #f9634a;
    font-weight: 500;
    border: solid 2px;
    font-size: 1.5rem;
    padding: 6px 20px;
    border-radius: 30px;
    display: inline-block;
    transition: .3s;
}

.issue-header-image {
    background: url(https://jobs.spiderplus.co.jp/images/issue_header.png)no-repeat 50%/cover;
    height: 80vh;
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 320px;
    margin-top: 80px;
}

@media screen and (max-width:768px) {
    .issue-header-image {
        height: 180px;
    }

    .issue-header h1 {
        font-size: 2.4rem;
        padding: 90px 20px 0px 20px;
    }

    .issue-header h2 {
        font-size: 1.5rem;
        padding: 0px 20px;
    }
}

