@charset "UTF-8";

.main__title-img {
    position: absolute;
    width: 200%;
    height: auto;
    top: -70%;
    left: -20%;
}

@media screen and (min-width: 768px) {
    .main__title-img {
        width: 130vw;
        left: 0;
        top: -250px;
        object-position: center top;
    }
}

@media screen and (min-width: 960px) {
    .main__title-img {
        top: -400px;
    }
}

.address {
    margin: 0 auto;
}

.address__title {
    text-align: center;
}

.address__inner {
    margin-top: 20px;
}

.address__txt {
    margin-top: 10px;
}

.address__notice1,
.address__notice2 {
    display: flex;
}

.address__notice1 {
    margin-top: 10px;
}

.address__notice1-txt,
.address__notice2-txt {
    min-width: auto;
    font-size: 1.2rem;
}

.map {
    display: block;
    width: 100%;
    max-width: 400px;
    height: 300px;
    border: 0;
    margin: 40px auto 0;
}

.access,
#access__car,
#access__train {
    margin-top: 60px;
}

.access__train-inner {
    max-width: 600px;
    margin: 0 auto;
}

.arrow {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 10px;
}

.arrow__img {
    width: 30px;
    height: 30px;
}

.access__txt {
    text-align: center;
}


.access__btn-wrapper {
    margin-top: 20px;
}

.access__btn-car {
    margin-top: 0;
}

.access__car-title,
.access__train-title {
    text-align: center;
}

.access__car-inner,
.access__train-inner {
    margin-top: 20px;
}

.access__car-txt,
.access__train-station-txt,
.satte-txt,
.kuki-txt {
    padding-left: calc(5.3% + 1em);      /* 全体的に文字1個分、右に寄せる */
    text-indent: -0.5em;     /* 1行目の「※」だけを左に1個分 突き出させる */
    line-height: 1.88;       /* 行間を整える */
}

.access__train-station-txt {
    margin-top: 20px;
}

#satte,
#kuki {
    margin-top: 50px;
}

.access__car-notice,
.satte-notice,
.kuki-notice {
    padding-left: calc(5.3% + 2em);      /* 全体的に文字1個分、右に寄せる */
    text-indent: -0.5em;     /* 1行目の「※」だけを左に1個分 突き出させる */
    line-height: 1.88;       /* 行間を整える */
}

.signboard {
    display: flex;
    position: relative;
    width: 90vw;
    left: 50%;
    transform: translateX(-50%);
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
    margin: 20px 0 70px;
}

.signboard__img {
    width: 100%;
    height: 150px;
    flex-shrink: 0;
    object-fit: cover;
}

.line {
    margin-top: 60px;
}

.caution {
    margin-top: 60px;
}

.caution__txt {
    line-height: 1.8;
    text-indent: 0.5rem;
    text-align: center;
}


@media screen and (min-width: 768px) {
    .access__btn-wrapper {
        justify-content: center;
        align-items: center;
    }
    .access__btn-car,
    .access__btn-train {
        margin: 0;
    }
    .signboard__img {
        width: 30%;
    }
}