@charset "UTF-8";

#history {
    padding: 9.4rem 0 16rem;

    @media screen and (max-width: 767px) {
        padding: 4rem 0 8rem;
    }

    .passages {
        margin-top: 6.8rem;

        @media screen and (max-width: 767px) {
            margin-top: 4rem;
        }

        .passage {
            margin-top: 2rem;
            display: grid;
            grid-template-columns: 720fr 660fr;
            gap: 6rem;

            @media screen and (max-width: 767px) {
                grid-template-columns: 1fr;
                margin-top: 6rem;
                gap: 2rem;
            }


            .left-texts {
                .year {
                    font-family: 'Alexandria';
                    font-weight: 700;
                    font-size: 8rem;
                    line-height: 1;
                    color: #000000;
                    letter-spacing: 0;

                    @media screen and (max-width: 767px) {
                        font-size: 4rem;
                    }
                }

                .texts {
                    border-left: 0.2rem solid var(--blue);
                    padding-left: 3rem;
                    padding-bottom: 15rem;
                    margin-top: 2rem;
                    margin-left: 3rem;

                    @media screen and (max-width: 767px) {
                        border-left: none;
                        padding-left: 0;
                        padding-bottom: 0;
                        margin-top: 1rem;
                        margin-left: 0;
                    }

                    .title {
                        font-family: 'Zen Kaku Gothic Antique';
                        font-weight: 700;
                        font-size: 3rem;
                        line-height: 1.33;
                        color: var(--blue);

                        @media screen and (max-width: 767px) {
                            font-size: 2.4rem;
                        }
                    }

                    .detail {
                        margin-top: 2rem;
                        font-size: 1.6rem;
                        line-height: 2.25;

                        @media screen and (max-width: 767px) {
                            margin-top: 1.5rem;
                        }
                    }
                }
            }

            .right-img {
                filter: drop-shadow(1rem 0 0 var(--blue));

                & img {
                    clip-path: polygon(12% 0, 100% 0, 88% 100%, 0 100%);
                }
            }
        }

        .passage:last-child {
            .left-texts {
                .texts {
                    border-left: none;

                    @media screen and (min-width: 767.01px) {
                        background:
                            linear-gradient(to bottom, var(--blue) 0%, var(--blue) 75%, transparent 75%),
                            repeating-linear-gradient(to bottom, transparent 0 0.6rem, var(--blue) 0.6rem 1.2rem);
                        background-repeat: no-repeat;
                        background-position: left top;
                        background-size: 0.2rem 100%;
                    }
                }
            }
        }
    }
}

#gray-section {
    padding: 12rem 0 4.4rem;
    background-color: #f0f0f0;

    @media screen and (max-width: 767px) {
        padding: 3rem 0 2rem;
    }

    .table {
        margin-bottom: 17rem;
        background-color: #fff;
        padding: 6rem 12rem 11rem;

        @media screen and (max-width: 767px) {
            margin-bottom: 8rem;
            padding: 1.5rem 1.5rem 4rem;
        }

        .pair {
            border-bottom: 0.1rem solid #CCCCCC;
            padding: 2.8rem 0;
            display: grid;
            grid-template-columns: 1fr 4fr;
            align-items: baseline;

            @media screen and (max-width: 767px) {
                padding: 2rem 0;
                grid-template-columns: 1fr;
                gap: 2rem;
            }

            .key {
                font-weight: 700;
                font-size: 2rem;
                line-height: 1.5;
                color: var(--blue);

                @media screen and (max-width: 767px) {
                    font-size: 1.5rem;
                }
            }

            .value {
                font-size: 1.6rem;
                font-weight: 700;
                line-height: 1.5;

                @media screen and (max-width: 767px) {
                    font-size: 1.4rem;
                }
            }
        }
    }

    .access {
        margin-top: 18rem;

        @media screen and (max-width: 767px) {
            margin-top: 8rem;
        }

        & iframe {
            width: 100%;
            aspect-ratio: 2;

            @media screen and (max-width: 767px) {
                aspect-ratio: 0.8;
            }
        }

        .transportation {
            margin: 3.5rem 0 13.8rem;
            font-weight: 700;
            line-height: 1.5;

            @media screen and (max-width: 767px) {
                margin: 2rem 0 6rem;
            }
        }
    }
}