@charset "UTF-8";

.sh-PR {
    position: relative;
}
.sh-gradient-wrapper {
    padding-bottom: 0;
}
.sh-contents {
    max-width: 1120px;
}
.sh-page-title {
    padding-bottom: 0;
    margin-bottom: 0;
}
.d-inline-block {
    display: inline-block;
}

.sh-location-title1 {
    font-family: "Cinzel", Georgia, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
    font-size: 24px;
    color: #005d9c;
    text-align: left;
    border-bottom: 1px solid #005d9c;
}
.sh-location-title1.__edu {
    color: #da382a;
    border-color: #da382a;
}
.sh-location-title1.__med {
    color: #581f7d;
    border-color: #581f7d;
}
.sh-location-title1.__pub {
    color: #5f4c3f;
    border-color: #5f4c3f;
}
.sh-location-title1.__par {
    color: #006636;
    border-color: #006636;
}
.sh-location-title2 {
    font-size: 20px;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
    text-align: left;
}
.sh-location-title3 {
    font-size: 20px;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
    text-align: center;
}
.sh-location-title4 {
    font-size: 24px;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
    text-align: center;
}
.sh-location-title5 {
    font-family: "Cinzel", Georgia, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
    font-size: 24px;
    text-align: center;
}
.sh-location-title6 {
    text-align: left;
    color: #a59060;
    font-size: 20px;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
    border-bottom: 1px solid #000;
    overflow: hidden;
}
.sh-location-title6 span {
    float: right;
    font-size: 18px;
    color: #333;
}
.sh-location-text1 {
    font-size: 16px;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
    text-align: left;
}
.sh-location-text2 {
    font-size: 14px;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
    margin-top: 5px;
    text-align: right;
}
.sh-location-caption1 {
    font-size: 13px;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
    text-align: right;
    margin-top: 5px;
}
.sh-PR .sh-location-caption1 {
    position: absolute;
    right: 10px;
    bottom: 10px;
    margin-top: 0;
}
.sh-PR .sh-location-caption1.__white {
    color: #fff;
    text-shadow: 0 0 3px #000, 1px 0 3px #000, 0 -1px 3px #000, 0 1px 3px #000, -1px 0 3px #000;
}
.sh-PR .sh-location-caption1.__left {
    right: unset;
    left: 10px;
}
.sh-location-caption2__wrapper {
    margin-top: 5px;
    text-align: right;
}
.sh-location-caption2 {
    display: inline-block;
    font-size: 13px;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
    text-align: left;
    padding-left: 1em;
    text-indent: -1em;
}
.sh-contents-comment-text {
    font-size: 12px;
    color: #333;
}

.sh-location-section {
    padding-bottom: 80px;
}
.sh-location-box1 {
    max-width: 800px;
    margin-inline: auto;
}
.sh-location-box2 {
    position: relative;
}
.sh-location-box3 {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}
.sh-location-box3 > div,
.sh-location-box3 > div > p:first-child {
    width: 100%;
    height: 100%;
}
.sh-location-box3 > div > p:first-child img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.sh-location-box4 {
    position: relative;
    padding-top: 60px;
    padding-bottom: 80px;
    padding-left: 20px;
}
.sh-location-box4 .sh-location-title2,
.sh-location-box4 .sh-location-text1 {
    padding-right: 20px;
}
.sh-location-box5 {
    border: 1px solid #000;
    padding: 29px 14px;
}
.sh-location-box6 {
    max-width: 330px;
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.sh-location-box7 {
    display: grid;
    justify-content: space-between;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
.sh-location-bg1 {
    margin-top: 50px;
    padding-top: 50px;
    padding-bottom: 50px;
    background-color: #e7f4ed;
}
.sh-location-box8 {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.sh-location-img1 {
    max-width: 1000px;
    margin-inline: auto;
}

.sh-location-info,
.sh-location-info > div {
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.sh-location-info dl {
    margin-top: 15px;
}
.sh-location-info dl div {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.sh-location-info dl div + div {
    margin-top: 5px;
}
.sh-location-info dl div::before {
    position: absolute;
    content: '';
    display: block;
    border-top: 1px dotted #999;
    flex-grow: 1;
    width: 100%;
    margin-top: 10px;
}
.sh-location-info dt,
.sh-location-info dd {
    position: relative;
    background-color: #fff;
    font-size: 14px;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
}
.sh-location-info dt {
    padding-left: 2px;
    padding-right: .5em;
    text-align: left;
}
.sh-location-info dd {
    margin-left: 3em;
    padding-left: .5em;
    text-align: right;
    white-space: nowrap;
}

.sh-location-margin1 {
    margin-top: 50px;
}
.sh-location-margin2 {
    margin-top: 40px;
}
@media screen and (min-width: 768px) {
    .sh-gradient-wrapper {
        padding-bottom: 40px;
    }
    .sh-location-margin1 {
        margin-top: 80px;
    }
    .sh-location-margin2 {
        margin-top: 60px;
    }

    .sh-location-title1 {
        font-size: 30px;
    }
    .sh-location-title2 {
        font-size: 24px;
    }
    .sh-location-title3 {
        font-size: 22px;
    }
    .sh-location-title4 {
        font-size: 30px;
    }
    .sh-location-title5 {
        font-size: 30px;
    }
    .sh-location-title6 {
        font-size: 23px;
    }
    .sh-location-title6 span {
        font-size: 20px;
    }
    .sh-location-text1 {
        font-size: 18px;
    }
    .sh-location-text2 {
        font-size: 16px;
    }
    .sh-location-caption1 {
        font-size: 14px;
    }
    .sh-location-caption2 {
        font-size: 14px;
    }

    .sh-location-section {
        padding-bottom: 120px;
    }
    .sh-location-box5 {
        padding: 29px 24px;
    }
    .sh-location-box6 {
        max-width: 1050px;
        flex-direction: row;
        justify-content: space-between;
        gap: 0;
    }
    .sh-location-box6 > div {
        width: 31.42857142857143%;
        max-width: 330px;
    }
    .sh-location-box7 {
        grid-template-columns: 1fr 1fr 1fr;
        column-gap: 20.5px;
    }
    .sh-location-box8 {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        column-gap: 40px;
        row-gap: 20px;
    }
    .sh-location-box8 > div:nth-child(2) {
        grid-column: 2 / 4;
        grid-row: 1 / 2;
    }
    .sh-location-box8 > div:last-child {
        grid-column: 1 / 4;
        grid-row: 2 / 3;
    }

    .sh-location-info {
        flex-direction: row;
        justify-content: space-between;
        gap: 0;
    }
    .sh-location-info > div {
        width: 46.363636364%;
        max-width: 510px;
    }
    .sh-location-info dl div::before {
        margin-top: 11px;
    }
    .sh-location-info dt,
    .sh-location-info dd {
        font-size: 16px;
    }
    .sh-location-info dt {
        padding-right: 5px;
    }
    .sh-location-info dd {
        padding-left: 5px;
    }

}
@media screen and (min-width: 1280px) {
    .sh-location-box1 {
        max-width: 1600px;
        display: flex;
    }
    .sh-location-box1.__row-reverse {
        flex-direction: row-reverse;
    }
    .sh-location-box1 > div {
        width: 50%;
    }
    .sh-location-box3 {
        position: relative;
    }
    .sh-location-box3 > div,
    .sh-location-box3 > div > p:first-child {
        width: 100%;
        height: auto;
    }
    .sh-location-box3 > div > p:first-child img {
        object-fit: unset;
        width: 100%;
        height: auto;
    }
    .sh-location-box4 {
        position: absolute;
        width: 68.75%;
        top: 0;
        right: 0;
        padding-top: 10%;
        padding-left: 0;
    }
    .sh-location-box4 .sh-location-title2,
    .sh-location-box4 .sh-location-text1 {
        padding-right: 14.545454545454545%;
    }
    .sh-location-box1.__row-reverse .sh-location-box4 {
        right: unset;
        left: 0;
    }
    .sh-location-box1.__row-reverse .sh-location-box4 .sh-location-title1,
    .sh-location-box1.__row-reverse .sh-location-box4 .sh-location-title2,
    .sh-location-box1.__row-reverse .sh-location-box4 .sh-location-text1 {
        padding-right: 0;
        padding-left: 14.545454545454545%;
    }
    .sh-location-box1.__row-reverse .sh-location-text2 {
        text-align: left;
        padding-left: 10px;
    }
    .sh-location-box1.__row-reverse .sh-location-caption1.__left {
        left: unset;
        right: 10px;
    }
}