@charset "utf-8";

#policy {
    .wrap {
        .contents {
            h2 {
                justify-items:start;
            }
            .policy_list {
                display:grid;
                grid-row-gap:15px;
                li {
                    background-color:var(--color_white);
                    padding:30px 40px 25px;
                    h3 {
                        color:var(--color_sub2);
                        line-height:1.5;
                        margin-bottom:1em;
                    }
                    p {
                        color:var(--color_def);
                    }
                }
            }
        }
    }
}

#outline {
    .wrap {
        .contents {
            table {
                width:100%;
                border-collapse:collapse;
                th,td {
                    color:var(--color_white);
                    line-height:1.5;
                    text-align:left;
                }
                th {
                    padding:.75em .5em;
                    border-bottom:1px solid var(--color_sub);
                    width:25%;
                }
                td {
                    padding:.75em 1em .75em 4em;
                    border-bottom:1px solid var(--color_white);
                    font-weight:400;
                    a {
                        color:inherit;
                    }
                }
            }
        }
    }
}

#access {
    .wrap {
        .contents {
            .contents_inner {
                display:grid;
                grid-template-columns:repeat(2,1fr);
                grid-column-gap:3%;
                align-items:center;
                .info {
                    p {
                        line-height:1.8;
                        &.address {
                            margin-bottom:1em;
                        }
                    }
                    dl {
                        background-color:#E9F3FB;
                        padding:40px 20px;
                        display:grid;
                        grid-row-gap:1em;
                        margin-top:40px;
                        dt,dd {
                            line-height:1.5;
                        }
                        dd {
                            font-weight:400;
                        }
                    }
                }
                .map {
                    iframe {
                        display:block;
                        width:100%;
                        aspect-ratio:1.6
                    }
                    .maplink {
                        line-height:1.5;
                        text-align:right;
                        font-weight:500;
                        padding-top:.5em;
                        a {
                            color:var(--color_white);
                        }
                    }
                }
            }
        }
    }
}

@media screen and (max-width:1200px){

}

@media screen and (max-width:1024px){
    
    #outline {
        .wrap {
            .contents {
                table {
                    td {
                        padding-left:1em;
                    }
                }
            }
        }
    }
    
}

@media screen and (max-width:768px){

    #policy {
        .wrap {
            .contents {
                .policy_list {
                    li {
                        padding:15px;
                        h3 {
                            margin-bottom:.5em;
                        }
                    }
                }
            }
        }
    }
    
    #outline {
        .wrap {
            .contents {
                table {
                    th,td {
                        font-size:1.4rem;
                        display:block;
                        width:100%;
                    }
                    th {
                        width:100%;
                        background-color:var(--color_sub2);
                        border:none;
                        padding:.66em 1em;
                    }
                    td {
                        border:none;
                    }
                }
            }
        }
    }
    
    #access {
        .wrap {
            .contents {
                .contents_inner {
                    grid-template-columns:1fr;
                    grid-row-gap:30px;
                    .info {
                        dl {
                            padding:15px;
                            grid-row-gap:.5em;
                            margin-top:20px;
                            dt,dd {
                                line-height:1.5;
                                font-size:1.4rem;
                            }
                        }
                    }
                }
            }
        }
    }
    
}