@charset "utf-8";

#pagelink {
    .wrap {
        padding-bottom:90px;
        .contents {
            .smenu {
                display:flex;
                flex-wrap:wrap;
                justify-content:center;
                align-items:center;
                gap:20px;
                .btn {
                    background:#FFFFFF;
                    color:var(--color_sub);
                    min-width:12em;
                    padding:0 1em 0 2em;
                    box-shadow: 0 4px 6px rgba(0, 0, 0, .15),0 -2px 3px rgba(0, 0, 0, .05);
                }
            }
        }
    }
}

#philosophy {
    .wrap {
        .contents {
            .contents_inner {
                display:grid;
                grid-template-columns:1fr 40%;
                grid-column-gap:3%;
                align-items:center;
                margin-bottom:90px;
                .detail {
                    p {
                        &.body {
                            font-size:1.66em;
                            font-weight:600;
                            line-height:1.66;
                            margin-bottom:1em;
                        }
                    }
                }
            }
            & > h3 {
                font-size:3.6rem;
                text-align:center;
                letter-spacing:.1em;
                margin-bottom:1em;
                span {
                    font-size:2em;
                    color:var(--color_sub);
                    font-weight:500;
                }
            }
            .strength {
                background-color:var(--color_main);
                border-radius:20px;
                padding:30px 20px;
                display:grid;
                grid-template-columns:repeat(3,1fr);
                grid-column-gap:20px;
                margin-bottom:30px;
                li {
                    background-color:#FFFFFF;
                    border-radius:25px 5px;
                    display:grid;
                    grid-template-columns:50px 1fr;
                    grid-column-gap:10px;
                    align-items:self-start;
                    box-shadow:0 2px 4px rgba(0,0,0,.2);
                    span {
                        font-size:3rem;
                        width:50px;
                        height:50px;
                        background-color:var(--color_main);
                        color:#FFFFFF;
                        display:grid;
                        align-items:center;
                        justify-content:center;
                        border-radius:25px 4px;
                        border:3px solid #FFFFFF;
                    }
                    .detail {
                        padding:1.5em 1.5em 1.5em 0;
                        h4 {
                            color:var(--color_main);
                            font-size:3.0rem;
                            margin-bottom:.66em;
                        }
                        p {
                            font-size:1.5rem;
                            line-height:1.8;
                        }
                    }
                }
            }
            .range {
                display:grid;
                grid-template-columns:25% 1fr;
                align-items:center;
                grid-column-gap:10px;
                background-color:var(--color_sub5);
                border-radius:20px;
                padding:10px;
                .tit {
                    padding:1em 0 1em 1em;
                    h4 {
                        font-size:2.4rem;
                        color:#FFFFFF;
                        margin-bottom:.66em;
                    }
                    p {
                        color:#FFFFFF;
                        font-size:1.5rem;
                        line-height:1.8;
                    }
                }
                ul {
                    background-color:#FFFFFF;
                    border-radius:15px;
                    display:flex;
                    padding:2em 1em;
                    gap:25px;
                    li {
                        display:grid;
                        justify-items:center;
                        flex-grow:1;
                        position:relative;
                        &:not(:last-child) {
                            &::before {
                                content:'';
                                display:block;
                                width:25px;
                                height:25px;
                                background:url(../img/common/arrow_right_blue.svg) no-repeat center center/contain;
                                position:absolute;
                                right:-25px;
                                top:50%;
                                transform:translateY(-50%);
                            }
                        }
                        h5 {
                            color:var(--color_sub5);
                            font-size:2.2rem;
                            margin-bottom:1em;
                        }
                        img {
                            width:80%;
                            max-width:80px;
                        }
                    }
                }
            }
        }
    }
}

#business {
    .wrap {
        .contents {
            p {
                &.body {
                    font-size:2rem;
                    font-weight:600;
                    text-align:center;
                    margin-bottom:1.5em;
                }
            }
            .contents_inner {
                max-width:900px;
                margin:0 auto 40px;
                display:grid;
                grid-template-columns:repeat(3,1fr);
                grid-column-gap:2%;
                a {
                    display:grid;
                    border-radius:6px 6px 20px 6px;
                    border:1px solid var(--color_sub6);
                    background-color:#FFFFFF;
                    box-shadow:0 3px 6px rgba(0,0,0,.15);
                    position:relative;
                    padding:1em 1.5em .66em;
                   .sub {
                        font-family: "M PLUS 1p", sans-serif;
                        font-size:1.5rem;
                        display:block;
                        margin-bottom:.66em;
                    }
                    h3 {
                        color:var(--color_sub);
                        font-size:3.6rem;
                        font-weight:600;
                        span {
                            font-size:1.33em;
                            font-family:inherit;
                        }
                    }
                    p {
                        font-size:1.5rem;
                    }
                    &:last-child {
                        h3 {
                            font-size:4.0rem;
                        }
                    }
                    img {
                        width:30px;
                        position:absolute;
                        right:5px;
                        bottom:5px;
                    }
                }
            }
            & > .btn {
                font-size:2.0rem;
                max-width:16em;
                margin:0 auto;
            }
        }
    }
}

#overview {
    .wrap {
        .contents {
            .contents_inner {
                display:grid;
                grid-template-columns:55% 1fr;
                grid-column-gap:5%;
                .detail {
                    table {
                        width:100%;
                        border-collapse:collapse;
                        th,td {
                            text-align:left;
                            padding:1em;
                            vertical-align:middle;
                            line-height:1.5;
                        }
                        th {
                            border-bottom:5px solid var(--color_main);
                            min-width:7em;
                        }
                        td {
                            border-bottom:5px solid #EFEFEF;
                        }
                    }
                }
                .map {
                    iframe {
                        display:block;
                        width:100%;
                        height:100%;
                    }
                }
            }
        }
    }
}

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

}

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

    #philosophy {
        .wrap {
            .contents {
                .contents_inner {
                    .detail {
                        p {
                            &.body {
                                font-size:1.4em;
                            }
                        }
                    }
                }
                .range {
                    ul {
                        li {
                            &:not(:last-child) {
                                &::before {
                                    width:20px;
                                    height:20px;
                                    right:-20px;
                                }
                            }
                            h5 {
                                font-size:2.0rem;
                            }
                            img {
                                max-width:70px;
                            }
                        }
                    }
                }
            }
        }
    }
    
    #business {
        .wrap {
            .contents {
                p {
                    &.body {
                        font-size:1.8rem;
                    }
                }
                .contents_inner {
                    a {
                        h3 {
                            font-size:3.2rem;
                        }
                        p {
                            font-size:1.3rem;
                        }
                        &:last-child {
                            h3 {
                                font-size:3.2rem;
                            }
                        }
                    }
                }
            }
        }
    }
    
}

@media screen and (max-width:768px){
    
    #pagelink {
        .wrap {
            padding-bottom:50px;
            .contents {
                .smenu {
                    gap:10px;
                    .btn {
                        font-size:min(3.8vw,1.6rem);
                        min-width:7em;
                        padding:0 .5em 0 1em;
                    }
                }
            }
        }
    }
    
    #philosophy {
        .wrap {
            .contents {
                .contents_inner {
                    grid-template-columns:1fr;
                    grid-row-gap:20px;
                    margin-bottom:60px;
                    .detail {
                        p {
                            &.body {
                                font-size:1.2em;
                                margin-bottom:.5em;
                                br {
                                    display:none;
                                }
                            }
                        }
                    }
                }
                & > h3 {
                    font-size:2.8rem;
                    margin-bottom:.66em;
                }
                .strength {
                    border-radius:15px;
                    padding:10px;
                    display:grid;
                    grid-template-columns:1fr;
                    grid-row-gap:10px;
                    max-width:400px;
                    margin:0 auto 20px;
                    li {
                        .detail {
                            padding:1em 1em 1em 0;
                            h4 {
                                margin-bottom:.33em;
                            }
                            p {
                                font-size:1.4rem;
                                line-height:1.6;
                            }
                        }
                    }
                }
                .range {
                    grid-template-columns:1fr;
                    grid-row-gap:5px;
                    border-radius:15px;
                    max-width:400px;
                    margin:0 auto;
                    .tit {
                        padding:.5em;
                        h4 {
                            font-size:2.2rem;
                            margin-bottom:.5em;
                        }
                        p {
                            font-size:1.4rem;
                        }
                    }
                    ul {
                        display:grid;
                        grid-template-columns:repeat(2,1fr);
                        grid-gap:30px 20px;
                        li {
                            &:not(:last-child) {
                                &::before {
                                    right:-10px;
                                }
                            }
                            h5 {
                                font-size:min(4.6vw,1.8rem);
                                margin-bottom:.5em;
                            }
                            img {
                                max-width:50px;
                            }
                            &:nth-child(-n+2) {
                                img {
                                    transform:translate(15%);
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    
    #business {
        .wrap {
            .contents {
                p {
                    &.body {
                        font-size:1.6rem;
                        text-align:left;
                    }
                }
                .contents_inner {
                    margin:0 auto 30px;
                    grid-template-columns:1fr;
                    grid-row-gap:10px;
                    max-width:400px;
                    a {
                        h3 {
                            font-size:3.6rem;
                        }
                        p {
                            font-size:1.5rem;
                        }
                        &:last-child {
                            h3 {
                                font-size:4.0rem;
                            }
                        }
                    }
                }
                & > .btn {
                    font-size:1.6rem;
                    max-width:14em;
                }
            }
        }
    }
    
    #overview {
        .wrap {
            .contents {
                .contents_inner {
                    grid-template-columns:1fr;
                    grid-row-gap:30px;
                    .detail {
                        table {
                            th,td {
                                font-size:1.4rem;
                                padding:.5em;
                            }
                            th {
                                border-bottom:4px solid var(--color_main);
                                min-width:6em;
                            }
                            td {
                                border-bottom:4px solid #EFEFEF;
                            }
                        }
                    }
                    .map {
                        iframe {
                            aspect-ratio:1.5;
                        }
                    }
                }
            }
        }
    }
    
}