  @charset "utf-8";
/* ¹²Í¨ */
dl.base {
    display: flex;
    flex-flow: column;
    row-gap: calc(40px + 1px + 40px);
    margin: 40px calc(50% - 50vw) 0 calc(50% - 50vw);
    /****/
    &.guidelines {
        margin-top: 40px;
        padding-top: 40px;
        border-top: var(--base_border);
    }
    >.block {
        display: flex;
        flex-flow: column;
        row-gap: 40px;
        /****/
        &:nth-child(n+2) {
            position: relative;
            /****/
            &::before {
                content: "";
                display: block;
                width: 100%;
                position: absolute;
                top: calc(-40px - 1px);
                left: 0px;
                border-top: var(--base_border);
            }
        }
        >* {
            width: calc(335 / 375 * 100%);
            max-width: 1200px;
            margin: 0 auto 0 auto;
        }
        >dt {
            font-size: 2.2rem;
        }
        >dd {
            max-width: 1100px;
            /****/
            dl.schedule {
                margin-left: 1em;
            }
        }
    }
    &.office>.block {
        row-gap: 26px;
    }
}
@media only screen and (min-width:768px) {
    dl.base {
        row-gap: calc(60px + 1px + 60px);
        margin-top: 120px;
        /****/
        &.none {
            margin-top: 0;
        }
        &.guidelines {
            margin-top: 60px;
            padding-top: 60px;
        }
        &.office {
            margin-top: 60px;
        }
        >.block{
            /****/
            &:nth-child(n+2) {
                /****/
                &::before {
                    top: calc(-60px - 1px);
                }
            }
            >dt {
                font-size: 2.8rem;
            }
            >dd {
                max-width: 1200px;
                padding-left: 30px;
                padding-right: 30px;
                /****/
                dl.detail {
                    width: 100%;
                    max-width: none;
                }
            }
        }
    }
}
dl.strong {
    display: flex;
    flex-flow: column;
    row-gap: 1em;
    /****/
    >.block {
        /****/
        >dt {
            font-weight: bold;
        }
    }
}
.gray_box {
    padding: 40px 20px 40px 20px;
    border: var(--base_border);
    display: flex;
    flex-flow: wrap;
    row-gap: 20px;
    justify-content: center;
    /****/
    >.body {
        width: 100%;
    }
    >.img {
        max-width: 150px;
    }
}
@media only screen and (min-width:768px) {
    .gray_box {
        padding: 40px;
        flex-flow: nowrap;
        justify-content: space-between;
        align-items: center;
        /****/
        >.body {
            width: calc(100% - 40px - 150px);
        }
        >.img {
            width: 150px;
        }
    }
}
dl.detail {
    margin-top: 40px;
    margin-top: 0;
    /****/
    >.block {
        //
        &:nth-child(4n+1)>dt span::after {
            border-bottom-color: var(--color_r1);
        }
        &:nth-child(4n+2)>dt span::after {
            border-bottom-color: var(--color_y1);
        }
        &:nth-child(4n+3)>dt span::after {
            border-bottom-color: var(--color_b1);
        }
        &:nth-child(4n+4)>dt span::after {
            border-bottom-color: var(--color_g1);
        }>dt span {
            line-height: 1.3;
        }
    }
}
dl.schedule {
    display: flex;
    flex-flow: column;
    row-gap: 0.5em;
}
@media only screen and (min-width:768px) {
    dl.schedule {
        display: table;
        /****/
        >.block {
            display: table-row;
            /****/
            >* {
                display: table-cell;
            }
            >dt {
                padding-right: 1em;
                position: relative;
                /****/
                &::after {
                    content: "£º";
                    position: absolute;
                    top: 0;
                    right: 0;
                }
            }
        }
    }
}
address {
    font-style: normal;
}
dl.table {
    display: table;
    /****/
    >.block {
        display: table-row;
        /****/
        >* {
            display: table-cell;
        }
    }
    &.type2>.block>dt {
        white-space: nowrap;
        text-align:justify;
        text-align-last:justify;
        padding-right: 1em;
        position: relative;
        /****/
        &::after {
            content: "£º";
            position: absolute;
            top: 0;
            right: 0.3em;
        }
    }
    &.type3,
    &.type4 {
        display: flex;
        flex-flow: column;
        row-gap: 0.5em;
        >.block {
            display: block;
            /****/
            >* {
                display: block;
            }
            >dt {
                white-space: nowrap;
                padding-right: 1em;
                /****/
                &::before {
                    content: "£¼";
                }
                &::after {
                    content: "£¾";
                }
            }
        }
    }
    @media only screen and (min-width:768px) {
        &.type3 {
            display: table;
            /****/
            >.block {
                display: table-row;
                /****/
                >* {
                    display: table-cell;
                }
            }
        }
    }
    @media only screen and (min-width:980px) {
        &.type4 {
            display: table;
            /****/
            >.block {
                display: table-row;
                /****/
                >* {
                    display: table-cell;
                }
            }
        }
    }
}
.scroll {
    overflow: auto;
    border: var(--base_border);
    /****/
    >table {
        min-width: 100%;
        /****/
        thead tr:first-child > * {
            border-top: none;
        }
        tbody tr:last-child > * {
            border-bottom: none;
        }
        tr > *:first-child {
            border-left: none;
        }
        tr > *:last-child {
            border-right: none;
        }
    }
}
table {
    border-collapse: collapse;
    /****/
    tr > * {
        width: auto;
        font-size: 1.4rem;
        border: var(--base_border);
        text-align: center;
        height: 50px;
        padding: 0.5em 20px 0.5em 20px;
        /****/
        &.diagonal {
            position: relative;
            /****/
            &::before {
                content: "";
                display: block;
                background-color: #DDDDDD;
                width: 100%;
                height: 100%;
                position: absolute;
                top: 0;
                left: 0;
                clip-path: polygon(calc(0% - 1px) 0%, calc(0% + 1px) 0%, calc(100% + 1px) 100%, calc(100% - 1px) 100%);
            }
        }
    }
    thead {
        border-bottom: 2px solid #E4001E;
    }
    tr > *:has(a) {
        text-align: left;
    }
    th {
        font-weight: normal;
        white-space: nowrap;
    }
    tbody tr:first-child > *:first-child {
        border-bottom: none;
    }
    &.technology tr {
        /****/
        > * {
            width: 95px;
        }
        > *:first-child {
            width: 195px;
        }
    }
    @media only screen and (min-width:768px) {
        &.technology tr {
            /****/
            > * {
                width: calc((100% - 224px)/8);
                width: calc(((1100 - 224)/8)/1100 * 100%);
            }
            > *:first-child {
                width: 224px;
            }
        }
    }
}
ol.step {
    counter-reset: number 0;
    display: table;
    /****/
    >li {
        display: table-row;
        /****/
        >* {
            display: table-cell;
        }
        &::before {
            counter-increment: number 1;
            content: "STEP "counter(number);
            padding-right: 1em;
        }
    }
}
ul.number {
    counter-reset: number 0;
    /****/
    >li {
        display: flex;
        flex-flow: nowrap;
        column-gap: 0.5em;
        position: relative;
        /****/
        &::before {
            counter-increment: number 1;
            content: counter(number);
            width: 1.2em;
            display: flex;
            justify-content: center;
        }
        &::after {
            content: "";
            display: block;
            aspect-ratio: 1 / 1;
            width: 1.2em;
            border: 1px solid #000000;
            border-radius: 100%;
            position: absolute;
            top: 0.35em;
            left: 0;
        }
        >.body {
            width: calc(100% - 0.5em - 1.2em);
        }
    }
}
/**/
/* main_img */
#main_img {
    position: relative;
    /****/
    img {
        width: 100%;
    }
    .title {
        position: absolute;
        width: 100%;
        left: 0;
        bottom: 0;
        /****/
        .area {
            width: 100%;
            /****/
            .flex {
                display: inline-flex;
                align-items: center;
                height: 100px;
                width: 92%;
                padding: 0 10px 0 10px;
                background-color: #FFFFFF;
            }
        }
    }
}
@media only screen and (min-width:768px) {
    #main_img .title .area .flex {
        height: 108px;
        width: 437px;
        padding: 0 30px 0 30px;
    }
}
@media only screen and (min-width:980px) {
    #main_img .title .area .flex {
        height: 155px;
        width: 630px;
        padding: 0 50px 0 50px;
    }
}
@media only screen and (min-width:1200px) {
    #main_img .title .area {
        width: calc((100 - (6 * 2)) * 1%);
        max-width: none;
    }
}
/**/
/* content **/
#content {
    max-width: 1200px;
    margin: 40px auto 0 auto;
    /****/
    &.facility {
        margin-top: 0;
    }
}
@media only screen and (min-width:768px) {
    #content {
        margin-top: 60px;
        /****/
        >.area {
            width: calc(1100 / 1200 * 100%);
        }
    }
}
/**/
/* business */
#business {
    margin: 60px calc(50% - 50vw) 0 calc(50% - 50vw);
    /****/
    .sticky_top {
        margin: 0 calc(50% - 50vw) 0 calc(50% - 50vw);
        width: 100%;
        max-width: none;
        padding-bottom: 20px;
    }
    .title_flex {
        display: flex;
        flex-flow: column;
        row-gap: 30px;
        width: calc(335 / 375 * 100%);
        max-width: 1200px;
        margin: 0 auto 0 auto;
    }
}
@media only screen and (min-width:768px) {
    #business {
        margin-top: 80px;
        /****/
        .sticky_top {
            position: sticky;
            top: 90px;
            z-index: 2;
            background-color: #FFFFFF;
            /****/
            .title_c span.big {
                font-size: 4rem;
            }
        }
        .title_flex {
            flex-flow: wrap;
            justify-content: space-between;
            align-items: center;
        }
    }
}
/**/
/* program **/
#program {
    margin-top: 20px;
    display: flex;
    flex-flow: column;
    row-gap: calc(40px + 1px + 40px);
    /****/
    .title_base {
        display: flex;
        flex-flow: column;
        row-gap: 5px;
        font-size: 1.8rem;
        font-weight: 600;
        line-height: 1.2;
        /****/
        .small {
            font-size: 1.2rem;
            font-weight: normal;
        }
    }
}
@media only screen and (min-width:768px) {
    #program {
        margin-top: 60px;
        row-gap: calc(60px + 1px + 60px);
        /****/
        .title_base {
            width: calc(100% - (720/1200 * 100%) - 20px);
            font-size: 2.8rem;
            /****/
            .small {
                font-size: 1.6rem;
            }
        }
    }
}
#program article {
    position: relative;
    /****/
    >.anchor_point {
        position: absolute;
        width: 100%;
        top: -40px;
        left: 0;
    }
    &:has(#thermal) ul.icon>li {
        background-color: #D61518;
    }
    &:has(#nuclear) ul.icon>li {
        background-color: #A08B22;
    }
    &:has(#renewable) ul.icon>li {
        background-color: #44A949;
    }
    &:has(#civil) ul.icon>li {
        background-color: #184C70;
    }
    &:has(#construction) ul.icon>li {
        background-color: #179397;
    }
    &:has(#information) ul.icon>li {
        background-color: #DD5411;
    }
    &:has(#technical) ul.icon>li {
        background-color: #00A0E9;
    }
    &:nth-child(n+2) {
        position: relative;
        /****/
        &::before {
            content: "";
            display: block;
            width: 100%;
            border-top: var(--base_border);
            position: absolute;
            top: calc(-40px - 1px);
            left: 0;
        }
    }
    .title_flex {
        display: flex;
        flex-flow: wrap;
        row-gap: 30px;
        width: 100%;
        /****/
        .body {
            width: 100%;
            display: flex;
            flex-flow: column;
            row-gap: 20px;
            /****/
            >dl>.block {
                display: flex;
                flex-flow: column;
                row-gap: 10px;
                /****/
                ul.icon {
                    display: flex;
                    flex-flow: wrap;
                    column-gap: 4px;
                    row-gap: 4px;
                    /****/
                    >li {
                        aspect-ratio: 77.6196177/37.7743852;
                        width: 50px;
                    }
                }
            }
            >.text {
                font-size: 1.4rem;
            }
        }
    }
    @media only screen and (min-width:768px) {
        .title_flex {
            align-items: flex-start !important;
            /****/
            .body {
                width: calc(720/1200 * 100%);
                row-gap: 18px;
                /****/
                >dl>.block {
                    flex-flow: wrap;
                    align-items: center;
                    column-gap: 15px;
                }
                >.text {
                    font-size: 1.6rem;
                }
            }
        }
    }
    .images {
        margin: 30px auto 0 auto;
        display: flex;
        flex-flow: wrap;
        justify-content: space-between;
        row-gap: 2px;
        /****/
        >.img {
            width: 100%;
            /****/
            img {
                width: 100%;
            }
        }
    }
    @media only screen and (min-width:768px) {
        .images {
            width: calc((548*2 + 4)/1200 * 100%);
            margin-top: 40px;
            /****/
            >.img {
                width: calc(548/(548*2 + 4) * 100%);
            }
        }
    }
    .link {
        margin: 30px auto 0 auto;
        display: flex;
        flex-flow: wrap;
        justify-content: center;
        row-gap: 10px;
        /****/
        >a {
            width: 100%;
            max-width: none;
        }
    }
    @media only screen and (min-width:768px) {
        .link {
            margin-top: 40px;
            width: calc((548*2 + 4)/1200 * 100%);
            column-gap: calc(60/1100 * 100%);
            /****/
            >a {
                width: calc(520/1100 * 100%);
            }
        }
    }
    .overview {
        margin-top: 40px;
        /****/
        h4 {
            font-size: 2.2rem;
            font-weight: normal;
        }
        .data {
            margin-top: 30px;
        }
    }
    @media only screen and (min-width:768px) {
        .overview {
            margin-top: 46px;
            /****/
            h4 {
                font-size: 2.8rem;
            }
            .data {
                margin-top: 46px;
                padding-left: 30px;
                padding-right: 30px;
                /****/
                dl.detail {
                    width: 100%;
                    max-width: none;
                }
            }
        }
    }
    .program_list {
        margin: 40px auto 0 auto;
    }
    @media only screen and (min-width:768px) {
        .program_list {
            margin-top: 60px;
        }
    }
    dl.list {
        display: flex;
        flex-flow: column;
        row-gap: 15px;
        /****/
        >.block {
            /****/
            > dd {
                display: none;
                padding: 20px 0 20px 0;
            }
            @media only screen and (min-width:768px) {
                >dd {
                    padding: 60px 30px 40px 30px;
                    /****/
                    &:has(dl.plant) {
                        padding-left: 0;
                        padding-right: 0;
                    }
                }
            }
        }
    }
    dl.voice {
        display: flex;
        flex-flow: column;
        row-gap: 30px;
        /****/
        >.block {
            display: flex;
            flex-flow: wrap;
            justify-content: center;
            row-gap: 20px;
            /****/
            &::before {
                content: "";
                display: block;
                aspect-ratio: 1/1;
                width: 100%;
                max-width: 160px;
                background: center center/contain no-repeat;
            }
            &.senior::before {
                background-image: url(/recruit/sin/internship/program/img/technology/i_b_icon_01.svg);
            }
            &.senior.type2::before {
                background-image: url(/recruit/sin/internship/program/img/technology/i_b_icon_03.svg);
            }
            &.participant::before {
                background-image: url(/recruit/sin/internship/program/img/technology/i_b_icon_02.svg);
            }
            &.participant.type2::before {
                background-image: url(/recruit/sin/internship/program/img/technology/i_b_icon_04.svg);
            }
            .text {
                width: 100%;
                display: flex;
                flex-flow: column;
                /****/
                >dt {
                    font-size: 1.8rem;
                }
            }
        }
    }
    @media only screen and (min-width:768px) {
        dl.voice {
            row-gap: 40px;
            /****/
            >.block {
                justify-content: space-between;
                align-items: flex-start;
                /****/
                &:nth-child(n+2) {
                    padding-top: 40px;
                    border-top: var(--base_border);
                }
                &::before {
                    max-width: 180px;
                }
                .text {
                    width: calc(900 / 1200 * 100%);
                }
            }
        }
    }
    dl.plant {
        display: flex;
        flex-flow: column;
        row-gap: 32px;
        /****/
        >.block {
            display: flex;
            flex-flow: column;
            /****/
            &:nth-child(n+2) {
                padding-top: 32px;
                border-top: var(--base_border);
            }
            >dt {
                font-size: 1.8rem;
            }
        }
        @media only screen and (min-width:768px) {
            >.block {
                padding-left: 30px;
                padding-right: 30px;
            }
        }
    }
    .courses {
        display: flex;
        flex-flow: column;
        row-gap: 40px;
        /****/
        >.course {
            /****/
            &:nth-child(n+2) {
                padding-top: 40px;
                border-top: var(--base_border);
            }
            dl.subject {
                display: flex;
                flex-flow: column;
                row-gap: 20px;
                /****/
                > dt span {
                    display: block;
                }
                @media only screen and (min-width:768px) {
                    > dt {
                        display: flex;
                        flex-flow: wrap;
                        column-gap: 1em;
                        font-size: 1.8rem;
                    }
                }
                > dd {
                    font-size: 1.4rem;
                    /****/
                    dl.detail {
                        margin-top: 50px;
                    }
                }
                @media only screen and (min-width:768px) {
                    > dd {
                        font-size: 1.6rem;
                        /****/
                        dl.detail {
                            width: 100%;
                            max-width: none;
                        }
                    }
                }
            }
        }
    }
}
@media only screen and (min-width:768px) {
    #program article {
        /****/
        &:nth-child(n+2)::before {
            top: calc(-60px - 1px);
        }
        .title_flex {
            width: calc(335 / 375 * 100%);
        }
        >.anchor_point {
            top: -90px;
        }
    }
}
#all_program {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 20;
    width: 100%;
    height: 100vh;
    display: none;
    flex-flow: wrap;
    justify-content: center;
    align-items: center;
    background-color: rgb(0, 0, 0, 0.5);
    overflow: hidden;
    overscroll-behavior: none;
    /****/
    &.active {
        display: flex;
    }
    .box {
        width: calc(335/375 * 100%);
        max-width: 1200px;
        max-height: 90%;
        padding: 40px 0 40px 0;
        position: relative;
        background-color: #FFFFFF;
        /****/
        >.close {
            width: 18px;
            aspect-ratio: 32 / 26;
            position: absolute;
            top: 20px;
            right: calc(15/335 * 100%);
            cursor: pointer;
            /****/
            &::before, &::after {
                content: "";
                display: block;
                width: 100%;
                height: 100%;
                position: absolute;
                top: 0%;
                left: 0%;
                background: var(--font_color);
                transition: var(--duration) all;
            }
            &::before {
                clip-path: polygon(calc(0% - 0.5px) 0%, calc(100% - 0.5px) 100%, calc(100% + 0.5px) 100%, calc(0% + 0.5px) 0%);
            }
            &::after {
                clip-path: polygon(calc(100% - 0.5px) 0%, calc(0% - 0.5px) 100%, calc(0% + 0.5px) 100%, calc(100% + 0.5px) 0%);
            }
        }
        >.all_list {
            /****/
            >.block {
                display: flex;
                flex-flow: column;
                height: calc(90vh - 40px - 40px);
                padding-bottom: 4px;
                overflow: auto;
                /****/
                >* {
                    width: 100%;
                }
                >dt {
                    display: flex;
                    flex-flow: wrap;
                    justify-content: center;
                    padding-bottom: 30px;
                    position: sticky;
                    top: 0;
                    z-index: 2;
                    background-color: #FFFFFF;
                    /****/
                    >* {
                        width: calc(305/335 * 100%);
                        max-width: 1100px;
                    }
                }
            }
            .list {
                width: calc(305/335 * 100%);
                margin: 0 auto 0 auto;
                display: flex;
                flex-flow: column;
                row-gap: 40px;
                /****/
                >.block {
                    display: flex;
                    flex-flow: wrap;
                    row-gap: 30px;
                    /****/
                    &:nth-child(n+2) {
                        padding-top: 40px;
                        border-top: var(--base_border);
                    }
                    >dl.detail {
                        margin: 0;
                    }
                    >a.button[href$=".pdf"] {
                        margin-left: 2px;
                        width: calc(100% - 5px);
                    }
                    &.thermal dl.detail>.block>dt span::after {
                        border-bottom-color: #D61518;
                    }
                    &.nuclear dl.detail>.block>dt span::after {
                        border-bottom-color: #A08B22;
                    }
                    &.renewable dl.detail>.block>dt span::after {
                        border-bottom-color: #44A949;
                    }
                    &.civil dl.detail>.block>dt span::after {
                        border-bottom-color: #184C70;
                    }
                    &.construction dl.detail>.block>dt span::after {
                        border-bottom-color: #179397;
                    }
                    &.information dl.detail>.block>dt span::after {
                        border-bottom-color: #DD5411;
                    }
                    &.technical dl.detail>.block>dt span::after {
                        border-bottom-color: #00A0E9;
                    }
                }
            }
        }
    }
}
@media only screen and (min-width:768px) {
    #all_program {
        /****/
        .box {
            padding: 80px 0 60px 0;
            /****/
            >.close {
                width: 32px;
                top: 30px;
                right: calc(40/1200 * 100%);
            }
            >.all_list {
                /****/
                >.block {
                    flex-flow: wrap;
                    justify-content: center;
                    height: calc(90vh - 80px - 60px);
                    padding-bottom: 15px;
                    /****/
                    >dt {
                        width: calc(1100/1200 * 100%);
                        /****/
                        >* {
                            width: 100%;
                        }
                    }
                }
                .list {
                    width: calc(1100/1200 * 100%);
                    margin-top: 10px;
                    /****/
                    >.block {
                        flex-flow: nowrap;
                        justify-content: space-between;
                        align-items: flex-start;
                        column-gap: 20px;
                        /****/
                        >* {
                            width: calc(50% - 30px);
                        }
                        dl.detail {
                            width: calc(100% - 20px);
                            /****/
                            > .block {
                                flex-flow: column;
                                /****/
                                >dt {
                                    width: 180px;
                                }
                                >dd {
                                    width: 100%;
                                }
                            }
                        }
                        >a.button[href$=".pdf"] {
                            margin-right: 15px;
                        }
                    }
                }
            }
        }
    }
}
/**/
/* facility_img **/
#facility_img {
    background-color: var(--color_gray3);
    /****/
    .title_d span.big {
        font-size: 3.3rem;
    }
    .area {
        /****/
        h1.title_d {
            padding: 40px 0 40px 0;
        }
        .img {
            margin: 0 calc(50% - 50vw) 0 calc(50% - 50vw);
        }
        .anchor {
            width: calc(300/335 * 100%);
            margin: 0 auto 0 auto;
            padding: 10px 0 10px 0;
            display: flex;
            flex-flow: wrap;
            justify-content: center;
            align-items: center;
            /****/
            ul {
                display: flex;
                flex-flow: wrap;
                row-gap: 6px;
                column-gap: 6px;
                /****/
                > li {
                    width: calc((100% - 6px)/2);
                }
            }
        }
    }
}
@media only screen and (min-width:768px) {
    #facility_img {
        /****/
        .title_d span.big {
            font-size: 5.0rem;
        }
        &::after {
            display: none;
        }
        .area {
            height: 430px;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            align-items: flex-start;
            justify-content: space-between;
            position: relative;
            /****/
            h1.title_d {
                padding: 0;
                width: calc((1200 - 450)/1200 * 100%);
                display: flex;
                align-items: center;
                height: 300px;
            }
            .img {
                display: block;
                margin: 0 0 auto 0;
                width: calc(450/1200 * 100%);
            }
            .anchor {
                position: absolute;
                left: 0;
                bottom: 30px;
                padding: 0;
                width: 100%;
                /****/
                ul {
                    flex-flow: nowrap;
                    column-gap: 10px;
                    /****/
                    >li {
                        width: auto;
                    }
                }
            }
        }
    }
}
/**/
/* facility */
.facility {
    position: relative;
    /****/
    &::before {
        content: "";
        display: block;
        width: 100%;
        height: 7px;
        background: url(/recruit/sin/internship/common/img/k_colorline.svg) center center/101%;
        position: absolute;
        top: 0;
        left: 0;
    }
    .map {
        display: block;
        padding-top: calc(40px + 7px);
        /****/
        .clickable {
            position: relative;
            /****/
            .a_list {
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                /****/
                a {
                    display: block;
                    position: absolute;
                    top: 0;
                    left: 0;
                    width: 100%;
                    height: 100%;
                    /****/
                    &.misumi {
                        clip-path: polygon(24.5% 20%, 42% 20%, 42% 26%, 34.5% 26%, 34.5% 37%, 31.5% 37%, 31.5% 26%, 24.5% 26%);
                    }
                    &.mizushima {
                        clip-path: polygon(74% 62%, 98.5% 62%, 98.5% 68%, 76% 68%, 76% 74%, 74% 74%);
                    }
                    &.tamashima {
                        clip-path: polygon(71.5% 71.5%, 74% 71.5%, 74% 84.5%, 98.5% 84.5%, 98.5% 90.5%, 71.5% 90.5%);
                    }
                    &.oosaki {
                        clip-path: polygon(50.5% 76%, 61% 76%, 61% 81%, 50.5% 81%);
                    }
                    &.yanai {
                        clip-path: polygon(30.5% 75.5%, 48.5% 75.5%, 48.5% 82%, 33% 82%, 33% 88.5%, 30.5% 88.5%);
                    }
                    &.shinonoda {
                        clip-path: polygon(7% 49%, 25.5% 49%, 25.5% 55%, 9% 55%, 9% 73.5%, 7% 73.5%);
                    }
                    &.shimane {
                        clip-path: polygon(45% 20.5%, 63% 20.5%, 63% 0%, 65.5% 0%, 65.5% 26%, 45% 26%);
                    }
                    &.kaminoseki {
                        clip-path: polygon(18.5% 86%, 30% 86%, 30% 96%, 27% 96%, 27% 90.5%, 18.5% 90.5%);
                    }
                    &.nabara {
                        clip-path: polygon(27.5% 50%, 48% 50%, 48% 55%, 27.5% 55%);
                    }
                    &.matanogawa {
                        clip-path: polygon(72% 15.5%, 98.5% 15.5%, 98.5% 21%, 74.5% 21%, 74.5% 30%, 72% 30%);
                    }
                    &.shinnarigawa {
                        clip-path: polygon(68.5% 39%, 98.5% 39%, 98.5% 45%, 71% 45%, 71% 54%, 68.5% 54%);
                    }
                    &.fukuyama {
                        clip-path: polygon(52% 61%, 72% 61%, 72% 67%, 60% 67%, 60% 72%, 67.5% 72%, 67.5% 76%, 58.5% 76%, 58.5% 67%, 52% 67%);
                    }
                    &.ube {
                        clip-path: polygon(9% 72%, 30.5% 72%, 30.5% 77%, 9% 77%);
                    }
                }
            }
        }
    }
    @media only screen and (min-width:768px) {
        &::before {
            display: none;
        }
        .map {
            padding-top: calc(60px + 7px);
            position: relative;
            /****/
            &::before {
                content: "";
                display: block;
                width: 100%;
                height: 7px;
                background: url(/recruit/sin/internship/common/img/k_colorline.svg) center center/101%;
                position: absolute;
                top: 0;
                left: 0;
            }
        }
    }
    .article_block {
        margin-top: 40px;
        display: flex;
        flex-flow: column;
        row-gap: 40px;
        /****/
        >article {
            position: relative;
            /****/
            >.anchor_point {
                position: absolute;
                top: -50px;
                left: 0;
            }
            &:nth-child(n+2) {
                padding-top: 40px;
                border-top: var(--base_border);
                /****/
                >.anchor_point {
                    top: calc(-50px + 40px);
                }
            }
            h2 {
                font-weight: normal;
                font-size: 3.0rem;
                line-height: 1.3;
                display: flex;
                flex-flow: nowrap;
                align-items: center;
                column-gap: 20px;
                /****/
                .icon {
                    width: 60px;
                }
                .body {
                    display: flex;
                    flex-flow: column;
                    row-gap: 15px;
                    /****/
                    .big {
                        /*line-height: 1em;*/
                    }
                    .small {
                        font-weight: 600;
                        font-size: 1.3rem;
                    }
                }
            }
            dl.matter {
                margin-top: 40px;
                display: flex;
                flex-flow: column;
                row-gap: 40px;
                /****/
                >.block {
                    display: flex;
                    flex-flow: column;
                    row-gap: 30px;
                    /****/
                    > dt {
                        font-size: 2.2rem;
                        position: relative;
                        /****/
                        .anchor_point {
                            position: absolute;
                            top: 0;
                            left: 0;
                        }
                    }
                }
            }
            &:has(#thermal) dl.matter > .block > dd dl.detail>.block>dt span::after {
                border-bottom-color: #D61518;
            }
            &:has(#nuclear) dl.matter > .block > dd dl.detail>.block>dt span::after {
                border-bottom-color: #A08B22;
            }
            &:has(#renewable) dl.matter > .block > dd dl.detail>.block>dt span::after {
                border-bottom-color: #45A848;
            }
            .photo {
                padding: 20px;
                margin-top: 20px;
                background-color: var(--color_gray3);
                display: flex;
                flex-flow: column;
                justify-content: space-between;
                row-gap: 20px;
                font-size: 1.3rem;
                /****/
                .img {
                    width: 100%;
                    /****/
                    img {
                        width: 100%;
                    }
                }
            }
        }
    }
    @media only screen and (min-width:768px) {
        .article_block {
            row-gap: 60px;
            margin: 60px calc(50% - 50vw) 0 calc(50% - 50vw);
            /****/
            >article {
                /****/
                >.anchor_point {
                    top: -90px;
                }
                &:nth-child(n+2) {
                    padding-top: 60px;
                    /****/
                    >.anchor_point {
                        top: calc(-90px + 60px);
                    }
                }
                h2 {
                    font-size: 5.6rem;
                    column-gap: 30px;
                    /****/
                    .icon {
                        width: 100px;
                    }
                    .body {
                        row-gap: 10px;
                        /****/
                        .big {
                            font-size: 5.6rem;
                            line-height: 1em;
                        }
                        .small {
                            font-size: 1.6rem;
                        }
                    }
                }
                dl.matter {
                    width: calc(1100/1200 * 100%);
                    margin: 50px auto 0 auto;
                    row-gap: 60px;
                    /****/
                    >.block {
                        row-gap: 40px;
                        /****/
                        >dt {
                            font-size: 2.8rem;
                        }
                        >dd {
                            /****/
                            dl.detail {
                                width: 100%;
                            }
                        }
                    }
                }
                .photo {
                    margin-top: 40px;
                    padding: 40px;
                    flex-flow: nowrap;
                    align-items: center;
                    font-size: 1.6rem;
                    /****/
                    .img {
                        width: calc(440 / 1100 * 100%);
                    }
                    &:has(.img) {
                        padding: 0;
                        /****/
                        p {
                            width: calc((1100 - 440 - 40 - 40) / 1100 * 100%);
                            padding: 20px 0 20px 0;
                            margin: 0 auto 0 auto;
                        }
                    }
                }
            }
        }
    }
    @media only screen and (min-width:1300px) {
        .article_block {
            /****/
            >article {
                /****/
                >.area {
                    width: 100%;
                }
            }
        }
    }
}
/**/