@import url("https://cdn.jsdelivr.net/npm/yakuhanjp@4.1.1/dist/css/yakuhanjp.css");
* {
    box-sizing: border-box;
    font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

.header {
    border-bottom: 1px solid #eee;
}
.header .container {
    width: 1000px;
    margin: 0 auto;
    padding: 1rem 0;
    display: flex;
    align-items: center;
}

@media (max-width : 599px) {
    .header {
        border-bottom: 1px solid #eee;
    }
    .header .container {
        width: 100%;
        padding: 1rem 0;
        display: flex;
        align-items: center;
    }
}

.pagehead .container {
    width: 1000px;
    margin: 0 auto;
    padding: 2rem 0 0 0;
}
.pagehead .title {
    font-size: 1.75rem;
    font-weight: bold;
    margin: 0 0 2rem 0;
}
.pagehead .description {
    line-height: 1.5rem;
    color: #4d4d4d;
    font-weight: bold;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
nav.tab {
    display: flex;
    align-items: center;
    border-top: 1px solid #eee;
    margin: 2rem 0 0 0;
}
nav.tab button {
    display: block;
    text-align: center;
    width: calc(100% / 3);
    margin: 0 auto;
    padding: 1rem 0 calc(1rem + 3px) 0;
    /*border-radius: .25rem .25rem 0 0;*/
    font-weight: bold;
    border-top: 3px solid transparent;
}
nav.tab button.this {
    border-top: 3px solid #3cb371;
}

nav.tab {
    background: #fff;
    position: sticky;
    top: -100;
    width: 1000px;
    margin: 0 auto;
}
nav.tab.scrolled {
    border-top: none;
    box-shadow: 0 4px 4px -4px rgba(0, 0, 0, 0.1), 0 0 1px 1px rgba(0, 0, 0, 0.1);
    width: 100%;
    top: 0;
}
.pagehead.scrolled .title {
    display: none;
}
.pagehead.scrolled .container {
    padding: 0;
}
.pagehead.scrolled nav {
    border-top: none;
}

@media (max-width : 599px) {
    .pagehead .container {
        width: 100%;
        margin: 0 auto;
        padding: 2rem 1rem 0 1rem;
    }
    .pagehead .title {
        font-size: 1.75rem;
        font-weight: bold;
        margin: 0 0 2rem 0;
    }
    .pagehead .description {
        line-height: 1.5rem;
        color: #4d4d4d;
        font-weight: bold;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    nav.tab {
        display: flex;
        align-items: center;
        border-top: 1px solid #eee;
        margin: 2rem 0 0 0;
    }
    nav.tab button {
        display: block;
        text-align: center;
        width: calc(100% / 3);
        margin: 0 auto;
        padding: 1rem 0 calc(1rem + 3px) 0;
        /*border-radius: .25rem .25rem 0 0;*/
        font-weight: bold;
        border-top: 3px solid transparent;
    }
    nav.tab button.this {
        border-top: 3px solid #3cb371;
    }
    
    nav.tab {
        background: #fff;
        position: sticky;
        top: -100;
        width: 100%;
        margin: 0 auto;
    }
    nav.tab.scrolled {
        border-top: none;
        box-shadow: 0 4px 4px -4px rgba(0, 0, 0, 0.1), 0 0 1px 1px rgba(0, 0, 0, 0.1);
        width: 100%;
        top: 0;
    }
    .pagehead.scrolled .title {
        display: none;
    }
    .pagehead.scrolled .container {
        padding: 0;
    }
    .pagehead.scrolled nav {
        border-top: none;
    }
}

.contents > *:not(.map) {
    display: none;
}

.map #map {
    width: 100%;
    height: 71.75vh;
}

.list {
    width: 1000px;
    margin: 0 auto;
}
.list ul li {
    border-top: 1px solid #eee;
    padding: 2rem 0;
}
.list ul li strong {
    display: block;
    font-size: 1.25rem;
    margin: 0 0 1rem 0;
}
@media (max-width : 599px) {
    .list {
        width: 100%;
        margin: 0 auto;
        border-top: 1px solid #eee;
    }
    .list ul li {
        border-top: 1px solid #eee;
        padding: 2rem 0;
        margin: 0 1rem;
    }
    .list ul li:first-child {
        border-top: none;
    }
    .list ul li strong {
        display: block;
        font-size: 1.25rem;
        margin: 0 0 1rem 0;
    }
}

.about {
    width: 1000px;
    margin: 0 auto;
}
.about section {
    border-top: 1px solid #eee;
    padding: 3rem 0;
}
.about section h2 {
    font-size: 1.25rem;
    font-weight: bold;
    margin-bottom: 1rem;
}
@media (max-width : 599px) {
    .about {
        width: 100%;
        margin: 0 auto;
        border-top: 1px solid #eee;
    }
    .about section {
        border-top: 1px solid #eee;
        padding: 3rem 0;
        margin: 0 1rem;
    }
    .about section:first-child {
        border-top: none;
    }
    .about section h2 {
        font-size: 1.25rem;
        font-weight: bold;
        margin-bottom: 1rem;
    }
}