@charset "utf-8";

/*==============================
        content
==============================*/

section {
        .wrap {
                padding:90px 0;
                .contents {
                        h2 {
                                font-size:2.0rem;
                                font-weight:600;
                                display:grid;
                                grid-gap:.33em;
                                position:relative;
                                z-index:2;
                                margin-bottom:2em;
                                span {
                                        font-size:7.0rem;
                                        font-weight:400;
                                        color:var(--color_main);
                                }
                        }
                        .title_inner {
                                display:grid;
                                grid-template-columns:repeat(2,auto);
                                align-items:center;
                                justify-content:space-between;
                                margin-bottom:60px;
                                h2 {
                                        margin-bottom:0;
                                }
                                .btn {
                                        width:200px;
                                        height:50px;
                                        margin-right:1em;
                                        &::after {
                                                width:2em;
                                                right:-1em;
                                        }
                                }
                        }
                }
                .slick-dots {
                        position:relative;
                        bottom:auto;
                        display:flex;
                        align-items:center;
                        justify-content:center;
                        margin-top:20px;
                        z-index:9;
                        li {
                                width:10px;
                                height:10px;
                                margin:0 5px;
                                button {
                                        width:10px;
                                        height:10px;
                                        padding:0;
                                        background-color:#888888;
                                        border-radius:50%;
                                        &::before {
                                                content:none;
                                        }
                                }
                                &.slick-active {
                                        button {
                                                background-color:var(--color_main);
                                        }
                                }
                                &.play {
                                        width:20px;
                                        height:20px;
                                        background-color:#FFFFFF;
                                        border:2px solid var(--color_main);
                                        border-radius:50%;
                                        position:relative;
                                        cursor:pointer;
                                        display:grid;
                                        align-items:center;
                                        justify-content:center;
                                        &.pause {
                                                grid-template-columns:repeat(2,auto);
                                                grid-gap:2px;
                                                &::before,&::after {
                                                        content:'';
                                                        height:50%;
                                                        width:2px;
                                                        background-color:var(--color_main);
                                                }
                                        }
                                        &.start {
                                                &::before {
                                                        content:'';
                                                        width:8px;
                                                        height:10px;
                                                        background-color:var(--color_main);
                                                        clip-path:polygon(0 0,100% 50%,0 100%);
                                                        transform:translateX(1px);
                                                }
                                        }
                                }
                        }
                }
                .slick-arrow {
                        cursor:pointer;
                        z-index:10;
                        &::before {
                                content:'';
                                display:block;
                                width:7px;
                                height:7px;
                                border-top:3px solid var(--color_main);
                                border-right:3px solid var(--color_main);
                                transform-origin:center center;
                                position:absolute;
                                left:50%;
                                top:50%;
                                transform:translate(-50%,-50%);
                                opacity:1;
                        }
                        &.slick-next {
                                &::before {
                                        transform:translate(-60%,-50%) rotate(45deg);
                                }
                        }
                        &.slick-prev {
                                &::before {
                                        transform:translate(-40%,-50%) rotate(-135deg);
                                }
                        }
                }
        }
}

#mv {
        .wrap {
                padding:0;
                position:relative;
                overflow:hidden;
                height:680px;
                display:grid;
                align-content:center;
                .contents {
                        position:relative;
                        z-index:2;
                        h1 {
                                color:#FFFFFF;
                                font-size:5.0rem;
                                text-shadow:3px 3px 6px rgba(0,0,0,1);
                                span {
                                        font-size:1.4em;
                                }
                        }
                        p {
                                font-size:4.0rem;
                                color:#FFFFFF;
                                text-shadow:3px 3px 6px rgba(0,0,0,1);
                        }
                }
                .mv_slider {
                        position:absolute;
                        width:100%;
                        height:100%;
                        left:0;
                        top:0;
                        z-index:0;
                        margin:0;
                        .slide {
                                position:relative;
                                img {
                                        width:100%;
                                        height:680px;
                                        object-fit:cover;
                                        position:relative;
                                        z-index:0;
                                }
                                &::before {
                                        content:'';
                                        display:block;
                                        width:100%;
                                        height:100%;
                                        position:absolute;
                                        z-index:1;
                                        left:0;
                                        top:0;
                                        background-color:rgba(0,0,0,.25);
                                }
                        }
                        .slick-dots {
                                position:absolute;
                                bottom:50px;
                                z-index: 999;
                                li {
                                        button {
                                                background-color:#FFFFFF;
                                        }
                                        &.slick-active {
                                                button {
                                                        background-color:var(--color_main);
                                                }
                                        }
                                }
                        }
                }
        }
}

#service {
        .wrap {
                background:url(../img/top/service_bg.jpg) no-repeat center center/cover;
                position:relative;
                overflow:hidden;
                &::before {
                        content:'';
                        display:block;
                        width:100%;
                        height:100%;
                        position:absolute;
                        z-index:0;
                        left:0;
                        top:0;
                        background-color:rgba(255,255,255,.75);
                }
                .contents {
                        position:relative;
                        z-index:1;
                        .contents_inner {
                                display:grid;
                                grid-template-columns:repeat(3,1fr);
                                box-shadow:0 3px 6px rgba(0,0,0,.16);
                                a {
                                        background-color:#FFFFFF;
                                        .img {
                                                img {
                                                        display:block;
                                                        width:100%;
                                                        aspect-ratio:1.54/1;
                                                        object-fit:cover;
                                                }
                                        }
                                        .category {
                                                border:2px solid var(--color_main);
                                                border-right:none;
                                                display:grid;
                                                padding:20px 20px 20px 0;
                                                font-size:2.6rem;
                                                grid-template-columns:2.4em auto;
                                                align-items:center;
                                                justify-content:center;
                                                grid-gap:.33em;
                                                h3 {
                                                        color:var(--color_main);   
                                                }
                                        }
                                        &:nth-child(3n) {
                                                .category {
                                                border-right:2px solid var(--color_main);
                                                }
                                        }
                                }
                        }
                }
        }
}

#news {
        .wrap {
                .contents {
                        .contents_inner {
                                display:grid;
                                grid-template-columns:repeat(2,1fr);
                                grid-gap:40px;
                                .news_slider {
                                        display: contents;
                                }
                                a {
                                        display:grid;
                                        grid-template-columns:repeat(2,1fr);
                                        grid-gap:30px;
                                        .img {
                                                img {
                                                        display:block;
                                                        width:100%;
                                                        aspect-ratio:1.6/1;
                                                        object-fit:cover;
                                                }
                                        }  
                                        .detail {
                                                .date {
                                                        font-size:1.1rem;
                                                }
                                                h3 {
                                                        font-size:2.0rem;
                                                        line-height:1.3;
                                                        margin-bottom:.5em;
                                                        & + p {
                                                              margin-bottom:.5em;  
                                                        }
                                                }
                                                .cat {
                                                        display:inline-block;
                                                        background-color:var(--color_main);
                                                        border:1px solid var(--color_main);
                                                        color:#FFFFFF;
                                                        line-height:1;
                                                        padding:.25em .5em;
                                                }
                                        }
                                }
                        }
                }
        }
}

#strengths  {
        .wrap {
                .contents {
                        .contents_inner {
                                display:grid;
                                grid-template-columns:43% 1fr;
                                align-items:center;
                                grid-gap:30px;
                                .img {
                                        position: relative;
                                        z-index: 1;
                                }
                                .detail {
                                        height:115%;
                                        width:110%;
                                        margin-left:-10%;
                                        padding:30px 15px 30px 60px;
                                        position:relative;
                                        z-index:0;
                                        display:grid;
                                        align-content:center;
                                        box-shadow:0 3px 8px rgba(0,0,0,.2);
                                        &::before {
                                                /* content:''; */
                                                display:block;
                                                width:100%;
                                                height:100%;
                                                position:absolute;
                                                z-index:-1;
                                                left:0;
                                                top:0;
                                                background-color:#FFFFFF;
                                                box-shadow:0 3px 6px rgba(0,0,0,.16);
                                        }
                                        p {
                                                margin-bottom:2em;
                                        }
                                        .btn {
                                                width:200px;
                                                height:50px;
                                                margin-left:0;
                                                &::after {
                                                        width:2em;
                                                        right:-1em;
                                                } 
                                        }
                                }
                        }
                }
        }
}

#column {
        .wrap {
                .contents {
                        .column_slider {
                                margin:0;
                                .slick-slide {
                                        padding:5px 20px 10px;
                                        a {
                                                background-color:#FFFFFF;
                                                display:grid!important;
                                                grid-gap:20px;
                                                box-shadow:0 3px 6px rgba(0,0,0,.16);
                                                img {
                                                        display:block;
                                                        width:100%;
                                                        aspect-ratio:3/2;
                                                        object-fit:contain;
                                                }
                                                .info {
                                                        display:grid;
                                                        width:100%;
                                                        grid-template-columns:repeat(2,auto);
                                                        align-items:center;
                                                        justify-content:space-between;
                                                        margin-bottom:15px;
                                                        .cat {
                                                                color:var(--color_main);
                                                                border:1px solid var(--color_main);
                                                                text-align:center;
                                                                padding:.25em .5em;
                                                        }
                                                }
                                                .detail_inner {
                                                        padding:0 20px 20px;
                                                        h3 {
                                                                display:block;
                                                                font-size: 1.8rem;
                                                                font-weight: bold;
                                                                margin-bottom: 10px;
                                                        }
                                                        p {
                                                                font-size:1.4rem;
                                                                line-height:1.5;
                                                        }
                                                }
                                        }
                                }
                                .slick-arrow {
                                        width:30px;
                                        height:50px;
                                        &::before {
                                                width:20px;
                                                height:20px;
                                                border-top:5px solid var(--color_main);
                                                border-right:5px solid var(--color_main);
                                        }
                                }
                        }
                }
        }
}
        
#voice {
        .wrap {
                background:url(../img/top/voice_bg.jpg) no-repeat center center/cover;
                position:relative;
                overflow:hidden;
                &::before {
                        content:'';
                        display:block;
                        width:100%;
                        height:100%;
                        position:absolute;
                        z-index:0;
                        left:0;
                        top:0;
                        background-color:rgba(255,255,255,.75);
                }
                .contents {
                        position:relative;
                        z-index:1;
                        .contents_inner {
                                display:grid;
                                grid-template-columns:45% 1fr;
                                grid-gap:30px;
                                .title_box {
                                        p {
                                                line-height:2.6em;
                                                margin-bottom:2em;
                                        }
                                        .btn {
                                                width:200px;
                                                height:50px;
                                                margin-left:0;
                                        }
                                }
                        }
                        .voice_inner {
                                .voice_slider {
                                        margin:0;
                                        .slick-slide {
                                                width:340px;
                                                padding:5px 10px 10px;
                                                a {
                                                        background-color:#FFFFFF;
                                                        display:grid!important;
                                                        grid-gap:20px;
                                                        padding:20px;
                                                        box-shadow:0 3px 6px rgba(0,0,0,.16);
                                                        .info {
                                                                display:grid;
                                                                width:100%;
                                                                grid-template-columns:repeat(2,auto);
                                                                align-items:center;
                                                                justify-content:space-between;
                                                                margin-bottom:15px;
                                                                .cat {
                                                                        color:var(--color_main);
                                                                        border:1px solid var(--color_main);
                                                                        text-align:center;
                                                                        padding:.25em .5em;
                                                                }
                                                        }
                                                        h3 {
                                                                display:none;
                                                        }
                                                        p {
                                                                font-size:1.4rem;
                                                                line-height:1.5;
                                                        }
                                                }
                                        }
                                        .slick-dots {
                                                max-width:605px;
                                                padding-right:100px;
                                                justify-content:flex-end;
                                        }
                                        .slick-arrow {
                                                width:30px;
                                                height:30px;
                                                border:2px solid var(--color_main);
                                                background-color:#FFFFFF;
                                                border-radius:50%;
                                                &.slick-prev {
                                                        top:auto;
                                                        bottom:-20px;
                                                        left:510px;
                                                }
                                                &.slick-next {
                                                        top:auto;
                                                        bottom:-20px;
                                                        right:auto;
                                                        left:550px;
                                                }
                                        }
                                }
                        }
                }
        }
}

#recruit {
        .wrap {
                .contents {
                        .contents_inner {
                                display:grid;
                                grid-template-columns:repeat(2,1fr);
                                & > a {
                                        width:100%;
                                        aspect-ratio:55/30;
                                        position:relative;
                                        display:grid;
                                        grid-gap:20%;
                                        align-content:center;
                                        justify-items:center;
                                        cursor:pointer;
                                        h2 {
                                                font-size:2.0rem;
                                                font-weight:400;
                                                display:grid;
                                                justify-items:center;
                                                grid-gap:.66em;
                                                color:#FFFFFF;
                                                position:relative;
                                                z-index:2;
                                                margin-bottom:0;
                                                span {
                                                        font-size:7.0rem;
                                                        font-weight:inherit;
                                                        color:inherit;
                                                }
                                        }
                                        .btn {
                                                z-index:2;
                                                width:200px;
                                                height:50px;
                                                &::after {
                                                        width:2em;
                                                        right:-1em;
                                                }
                                        }
                                        &::before,&::after {
                                                content:'';
                                                display:block;
                                                width:100%;
                                                height:100%;
                                                position:absolute;
                                                z-index:0;
                                                left:0;
                                                top:0;
                                        }
                                        &::after {
                                                z-index:1;
                                                background-color:#000000;
                                                opacity:.25;
                                        }
                                        &.recruit_box {
                                                &::before {
                                                        background:url(../img/top/recruit_bg.jpg) no-repeat center center/cover;
                                                }
                                        }
                                        &.company_box {
                                                &::before {
                                                        background:url(../img/top/company_bg.jpg) no-repeat center center/cover;
                                                }
                                        }
                                }
                        }
                }
        }
}

@media ( hover:hover ){
        
        #news {
                .wrap {
                        .contents {
                                .contents_inner {
                                        a {
                                                .img {
                                                        overflow:hidden;
                                                        img {
                                                                transition:.3s;
                                                        }
                                                } 
                                                .cat {
                                                        /* transition:.3s; */
                                                }
                                                &:hover {
                                                        opacity:1;
                                                        .img {
                                                                img {
                                                                        transform:scale(1.05);
                                                                        filter:brightness(.8);
                                                                }
                                                        }
                                                        .detail {
                                                                .cat {
                                                                        /* background-color:#FFFFFF;
                                                                        color:var(--color_main); */
                                                                }
                                                        }
                                                }
                                        }
                                }
                        }
                }
        }
        #service {
                .wrap {
                        .contents {
                                .contents_inner {
                                        transition: .3s;
                                        &:has(a:hover) {
                                                box-shadow: none;
                                        }
                                        a {
                                                .category {
                                                                transition:.3s;
                                                }
                                                &:hover {
                                                        transform: translateY(-8px) scale(1.05);
                                                        opacity: 1;
                                                        position:relative;
                                                        z-index:1;
                                                        .category {
                                                                filter: brightness(1.2);
                                                                border-right:2px solid var(--color_main);
                                                        }
                                                }
                                        }
                                }
                        }
                }
        }

        #column {
                .wrap {
                        .contents {
                                .column_slider {
                                        .slick-slide {
                                                a {
                                                        .img {
                                                                overflow:hidden;
                                                                img {
                                                                        transition:.3s;
                                                                }
                                                        }
                                                        &:hover {
                                                                opacity:1;
                                                                .img {
                                                                        img {
                                                                                transform:scale(1.05);
                                                                                filter:brightness(.8);
                                                                        }
                                                                }
                                                        }
                                                }
                                        }
                                }
                        }
                }
        }
        #voice {
                .wrap {
                        .contents {
                                .voice_inner {
                                        .voice_slider {
                                                .slick-arrow {
                                                        transition:.3s;
                                                        &:hover {
                                                                background-color:var(--color_main);
                                                                &::before {
                                                                        opacity:1;
                                                                        border-color:#FFFFFF;
                                                                }
                                                        }
                                                }
                                                a {
                                                        .img {
                                                                overflow:hidden;
                                                                img {
                                                                        transition:.3s;
                                                                }
                                                        }
                                                        &:hover {
                                                                opacity:1;
                                                                .img {
                                                                        img {
                                                                                transform:scale(1.05);
                                                                                filter:brightness(.8);
                                                                        }
                                                                }
                                                        }
                                                }
                                        }
                                }
                        }
                }
        }

        #recruit {
                .wrap {
                        .contents {
                                .contents_inner {
                                        & > a {
                                                transition:.3s;
                                                overflow:hidden;
                                                &::before,&::after {
                                                        transition:.3s;
                                                }
                                                &:hover {
                                                        opacity:1;
                                                        &::before {
                                                                transform:scale(1.05);
                                                        }
                                                        &::after {
                                                                opacity:.5;
                                                        }
                                                        .btn {
                                                                background-color: var(--color_main);
                                                                color:#FFFFFF;
                                                                &::after {
                                                                        transform: translateX(.5em);
                                                                }
                                                        }
                                                }
                                        }
                                }
                        }
                }
        }
}


@media screen and (max-width:1200px){

        #mv {
                .wrap {
                        height:auto;
                        width:100%;
                        aspect-ratio:1.756/1;
                        .mv_slider {
                                .slide {
                                        img {
                                                height:auto;
                                                aspect-ratio:1.756/1;
                                        }
                                }
                        }
                }
        }
              
        #voice {
                .wrap {
                        .contents {
                                .voice_inner {
                                        .voice_slider {
                                                .slick-dots {
                                                        width:50vw;
                                                }
                                                .slick-arrow {
                                                        &.slick-prev {
                                                                left:calc(50vw - 90px);
                                                        }
                                                        &.slick-next {
                                                                left:calc(50vw - 50px);
                                                        }
                                                }
                                        }
                                }
                        }
                }
        }
}

@media screen and (max-width:1024px){
        
        /*==============================
                content
        ==============================*/
        
        section {
                .wrap {
                        .contents {
                                h2 {
                                        font-size:1.6rem;
                                        span {
                                                font-size:5.0rem;
                                        }
                                }
                        }
                }
        }
        
        #mv {
                .wrap {
                        .contents {
                                h1 {
                                        font-size:4.0rem;
                                }
                                p {
                                        font-size:3.0rem;
                                }
                        }
                        .mv_slider {
                                .slick-dots {
                                        bottom:30px;
                                }
                        }
                }
        }
        
        #service {
                .wrap {
                        .contents {
                                .contents_inner {
                                        a {
                                                .category {
                                                        padding:20px 10px 20px 5px;
                                                        font-size:2.0rem;
                                                        grid-template-columns:2.0em auto;
                                                }
                                        }
                                }
                        }
                }
        }
        
        #news {
                .wrap {
                        .contents {
                                .contents_inner {
                                        grid-gap:40px 20px;
                                        a {
                                                grid-gap:20px;
                                                .detail {
                                                        h3 {
                                                                font-size:1.8rem;
                                                                & + p {
                                                                        font-size:1.4rem;
                                                                }
                                                        }
                                                        .cat {
                                                                font-size:1.4rem;
                                                        }
                                                }
                                        }
                                }
                        }
                }
        }
        
        #strengths  {
                .wrap {
                        .contents {
                                .contents_inner {
                                        .detail {
                                                height:100%;
                                                padding:30px 15px 30px 45px;
                                        }
                                }
                        }
                }
        }
        
        #column {
                .wrap {
                        .contents {
                                .column_slider {
                                        margin:0;
                                        .slick-slide {
                                                padding:5px 10px 10px;
                                                a {
                                                        grid-gap:15px;
                                                        .info {
                                                                grid-template-columns:1fr;
                                                                justify-items:start;
                                                                grid-gap:10px;
                                                                .cat {
                                                                        font-size:.8em;
                                                                }
                                                        }
                                                }
                                        }
                                }
                        }
                }
        }
                
        #voice {
                .wrap {
                        .contents {
                                .contents_inner {
                                        .title_box {
                                                p {
                                                        line-height:2em;
                                                }
                                        }
                                }
                        }
                }
        }
        
        #recruit {
                .wrap {
                        .contents {
                                .contents_inner {
                                        & > a {
                                                grid-gap:10%;
                                                h2 {
                                                        font-size:2.0rem;
                                                        span {
                                                                font-size:5.0rem;
                                                        }
                                                }
                                        }
                                }
                        }
                }
        }
        
}

@media screen and (max-width:768px){
        
        /*==============================
                content
        ==============================*/
        
        section {
                .wrap {
                        padding:60px 0;
                        .contents {
                                h2 {
                                        font-size:1.5rem;
                                        span {
                                                font-size:4.0rem;
                                                margin-bottom:.2em;
                                        }
                                }
                                .title_inner {
                                        margin-bottom:30px;
                                        .btn {
                                                font-size:1.5rem;
                                        }
                                }
                        }
                        .slick-dots {
                                position:relative;
                                bottom:auto;
                                display:flex;
                                align-items:center;
                                justify-content:center;
                                margin-top:20px;
                                z-index:9;
                                li {
                                        width:10px;
                                        height:10px;
                                        margin:0 5px;
                                        button {
                                                width:10px;
                                                height:10px;
                                                padding:0;
                                                background-color:#888888;
                                                border-radius:50%;
                                                &::before {
                                                        content:none;
                                                }
                                        }
                                        &.slick-active {
                                                button {
                                                        background-color:var(--color_main);
                                                }
                                        }
                                        &.play {
                                                width:20px;
                                                height:20px;
                                                background-color:#FFFFFF;
                                                border:2px solid var(--color_main);
                                                border-radius:50%;
                                                position:relative;
                                                cursor:pointer;
                                                display:grid;
                                                align-items:center;
                                                justify-content:center;
                                                &.pause {
                                                        grid-template-columns:repeat(2,auto);
                                                        grid-gap:2px;
                                                        &::before,&::after {
                                                                content:'';
                                                                height:50%;
                                                                width:2px;
                                                                background-color:var(--color_main);
                                                        }
                                                }
                                                &.start {
                                                        &::before {
                                                                content:'';
                                                                width:8px;
                                                                height:10px;
                                                                background-color:var(--color_main);
                                                                clip-path:polygon(0 0,100% 50%,0 100%);
                                                                transform:translateX(1px);
                                                        }
                                                }
                                        }
                                }
                        }
                        .slick-arrow {
                                cursor:pointer;
                                z-index:10;
                                &::before {
                                        content:'';
                                        display:block;
                                        width:7px;
                                        height:7px;
                                        border-top:3px solid var(--color_main);
                                        border-right:3px solid var(--color_main);
                                        transform-origin:center center;
                                        position:absolute;
                                        left:50%;
                                        top:50%;
                                        transform:translate(-50%,-50%);
                                }
                                &.slick-next {
                                        &::before {
                                                transform:translate(-60%,-50%) rotate(45deg);
                                        }
                                }
                                &.slick-prev {
                                        &::before {
                                                transform:translate(-40%,-50%) rotate(-135deg);
                                        }
                                }
                        }
                }
        }
        
        #mv {
                .wrap {
                        aspect-ratio:5/6;
                        max-height: 450px;
                        align-content:start;
                        .contents {
                                h1 {
                                        font-size:min(6vw,4rem);
                                        text-align:center;
                                        margin-bottom:.5em;
                                        margin-top:5em;
                                }
                                p {
                                        font-size:min(4.8vw,3rem);
                                        text-align:center;
                                }
                        }
                        .mv_slider {
                                .slide {
                                        img {
                                                aspect-ratio:5/6;
                                                max-height: 450px;
                                        }
                                }
                                .slick-dots {
                                        bottom:15px;
                                }
                        }
                }
        }
        
        #service {
                .wrap {
                        .contents {
                                padding-bottom:80px;
                                .contents_inner {
                                        grid-template-columns:repeat(2,1fr);
                                        a {
                                                .category {
                                                        padding:10px 0;
                                                        font-size:min(4.2vw,2.0rem);
                                                        grid-template-columns:2.0em auto;
                                                        grid-gap:.1em;
                                                        h3 {
                                                                color:var(--color_main);   
                                                        }
                                                }
                                                &:nth-child(3n) {
                                                        .category {
                                                        border-right:none;
                                                        }
                                                }
                                                &:nth-child(2n) {
                                                        .category {
                                                        border-right:2px solid var(--color_main);
                                                        }
                                                }
                                        }
                                }
                                .btn {
                                        position:absolute;
                                        bottom:0;
                                        left:50%;
                                        transform:translateX(-50%);
                                }
                        }
                }
        }
        
        #news {
                .wrap {
                        padding-top:30px;
                        .contents {
                                padding-bottom:80px;
                                position:relative;
                                .btn {
                                        position:absolute;
                                        bottom:0;
                                        left:50%;
                                        transform:translateX(-50%);
                                }
                                .bnr {
                                        display:grid;
                                        max-width:400px;
                                        margin:0 auto 30px;
                                        grid-template-columns:repeat(2,auto);
                                        align-items:center;
                                        justify-content:center;
                                        grid-gap:.5em;
                                        font-size:1.8rem;
                                        font-weight:800;
                                        z-index:99;
                                        border-radius:15px;
                                        background-color:#fbf2da;
                                        &::before {
                                                content:'';
                                                width:5em;
                                                height:4em;
                                                    background:url(../img/common/bnrobj.png) no-repeat center center/contain;
                                        }
                                }
                                .contents_inner {
                                        display:block;
                                        .news_slider {
                                                display: block;
                                                overflow:hidden;
                                                width:calc(100% + 40px);
                                                margin:0 -20px;
                                                padding: 0 20px;
                                                .slick-arrow {
                                                        width:30px;
                                                        height:30px;
                                                        border:2px solid var(--color_main);
                                                        background-color:#FFFFFF;
                                                        border-radius:50%;
                                                        &.slick-prev {
                                                                left:5px;
                                                        }
                                                        &.slick-next {
                                                                right:5px;
                                                        }
                                                }
                                        }
                                        .slick-slide {
                                                padding:0 10px;
                                        }
                                        a {
                                                block;
                                                .img {
                                                        margin-bottom:15px;
                                                }  
                                                .detail {
                                                        .date {
                                                                font-size:1.3rem;
                                                        }
                                                        h3 {
                                                                font-size:1.6rem;
                                                        }
                                                }
                                        }
                                }
                        }
                }
        }
        
        #strengths  {
                .wrap {
                        .contents {
                                .contents_inner {
                                        grid-template-columns:1fr;
                                        grid-gap:0;
                                        .img {
                                                width:calc(100% - 40px);
                                                margin:0 auto;
                                                max-width:500px;
                                        }
                                        .detail {
                                                h2 {
                                                        margin-bottom:1.5em;
                                                }
                                                height:110%;
                                                width:100%;
                                                margin-left:0;
                                                margin-top:-10%;
                                                padding:calc(20px + 10%) 20px 30px;
                                                .btn {
                                                        margin-left:auto;
                                                }
                                        }
                                }
                        }
                }
        }
        
        #column {
                .wrap {
                        padding-top:30px;
                        .contents {
                                padding-bottom:80px;
                                position:relative;
                                .btn {
                                        position:absolute;
                                        bottom:0;
                                        left:50%;
                                        transform:translateX(-50%);
                                }
                                .column_slider {
                                        margin:0;
                                        .slick-slide {
                                                padding:5px 10px 10px;
                                                a {
                                                        .info {
                                                                grid-template-columns:repeat(2,auto);
                                                                margin-bottom:10px;
                                                        }
                                                        .detail_inner {
                                                                padding:0 15px 15px;
                                                        }
                                                }
                                        }
                                        .slick-arrow {
                                                width:30px;
                                                height:30px;
                                                border:2px solid var(--color_main);
                                                background-color:#FFFFFF;
                                                border-radius:50%;
                                                &::before {
                                                        width:7px;
                                                        height:7px;
                                                        border-top: 3px solid var(--color_main);
                                                        border-right: 3px solid var(--color_main);
                                                }
                                                &.slick-prev {
                                                        top:50%;
                                                        bottom:auto;
                                                        left:-15px;
                                                }
                                                &.slick-next {
                                                        top:50%;
                                                        bottom:auto;
                                                        left:auto;
                                                        right:-15px;
                                                }
                                        }
                                }
                        }
                }
        }
                
        #voice {
                .wrap {
                        .contents {
                                padding-bottom:80px;
                                .contents_inner {
                                        grid-template-columns:1fr;
                                        grid-gap:40px;
                                        .title_box {
                                                p {
                                                        line-height:2.0em;
                                                        margin-bottom:0;
                                                }
                                                .btn {
                                                        position:absolute;
                                                        bottom:0;
                                                        left:50%;
                                                        transform:translateX(-50%);
                                                }
                                        }
                                }
                                .voice_inner {
                                        overflow:hidden;
                                        width:calc(100% + 40px);
                                        margin:0 -20px;
                                        padding: 0 20px;
                                        .voice_slider {
                                                margin:0;
                                                overflow:visible;
                                                .slick-slide {
                                                        padding:5px 5px 10px;
                                                        a {
                                                                grid-gap:15px;
                                                                padding:10px;
                                                                box-shadow:0 3px 6px rgba(0,0,0,.16);
                                                                .info {
                                                                        font-size:1.4rem;
                                                                        margin-bottom:10px;
                                                                        .cat {
                                                                                font-size:.8em;
                                                                        }
                                                                }
                                                        }
                                                }
                                                .slick-dots {
                                                        width:100%;
                                                        max-width:100%;
                                                        padding-right:0;
                                                        justify-content:center;
                                                }
                                                .slick-arrow {
                                                        width:30px;
                                                        height:30px;
                                                        border:2px solid var(--color_main);
                                                        background-color:#FFFFFF;
                                                        border-radius:50%;
                                                        &.slick-prev {
                                                                top:50%;
                                                                bottom:auto;
                                                                left:-15px;
                                                        }
                                                        &.slick-next {
                                                                top:50%;
                                                                bottom:auto;
                                                                left:auto;
                                                                right:-15px;
                                                        }
                                                }
                                        }
                                }
                        }
                }
        }
        
        #recruit {
                .wrap {
                        .contents {
                                .contents_inner {
                                        grid-template-columns:1fr;
                                        & > a {
                                                aspect-ratio:unset;
                                                grid-gap:25%;
                                                padding:40px 15px;
                                                grid-template-rows:repeat(2,1fr);
                                                h2 {
                                                        font-size:1.6rem;
                                                        grid-gap:.5em;
                                                }
                                                .btn {
                                                        z-index:2;
                                                        width:200px;
                                                        height:50px;
                                                        &::after {
                                                                width:2em;
                                                                right:-1em;
                                                        }
                                                }
                                        }
                                }
                        }
                }
        }
        
}