@charset "utf-8";

/*** site header ***/

.site-header .upper {
    --gothic-font-family: "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
    --mincho-font-family: "游明朝", YuMincho, "Yu Mincho", "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "ＭＳ 明朝", serif;
    height: 70px;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.42857;
    color: #1a1a1a;
    background: #fff;
    border-bottom: #eee;
    font-feature-settings: normal;
    display: grid;
    position: fixed;
    grid-template-columns: 1fr 60px;
    grid-template-areas: "menubar button";
    width: 100%;
    top: 0;
    z-index: 10000;
}

.site-header__menu-bar {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    align-items: center;
}

.site-header__menu-bar-item--home {
    flex-grow: 1;
}

.site-header__menu-bar-item:nth-child(2) {
    margin-left: auto;
}

@media screen and (max-width: 1200px) {
    .site-header__menu-bar-item:not(.site-header__menu-bar-item--home) {
        display: none;
    }
}

.site-header__menu-bar-link {
    display: block;
    padding: 20px 15px;
    color: #333;
    text-decoration: none;
    font-family: var(--mincho-font-family);
    white-space: nowrap;
}
@media screen and (max-width: 1300px) {
    .site-header__menu-bar-link {
        padding: 20px 10px;
    }
}
.site-header__menu-bar-link:not(.site-header__menu-bar-link--home, .site-header__menu-bar-link--favorite, .site-header__menu-bar-link--business) {
    border-bottom: solid 2px transparent;
}
@media (hover: hover) {
    .site-header__menu-bar-link {
        transition: opacity 0.15s ease-in-out;
    }
    .site-header__menu-bar-link:hover {
        opacity: .8;
    }
    .site-header__menu-bar-link:not(.site-header__menu-bar-link--home, .site-header__menu-bar-link--favorite, .site-header__menu-bar-link--business):hover {
        text-decoration-line: underline;
        text-decoration-color: #d92d1b;
        text-decoration-thickness: 2px;
        text-underline-offset: 6px;
    }
}

.site-header__menu-bar-link--home {
    display: flex;
    padding: 0;
    width: min(340px, 100%);
    height: 70px;
    align-items: center;
    outline-offset: -3px;
}
@media(hover: hover) {
    .site-header__menu-bar-link--home {
        transition: filter 0.15s ease-in-out, opacity 0.15s ease-in-out;
    }
    .site-header__menu-bar-link--home:hover {
        filter: brightness(120%);
        opacity: 0.8;
    }
}
.site-header__logo {
    display: block;
    aspect-ratio: 318.23 / 47.92;
    width: 100%;
    height: auto;
    transform: scale(0.9);
}
@media screen and (max-width: 768px) {
    .site-header__logo {
        width: 250px;
    }
}

.feature .site-header .site-header__menu-bar-link--feature,
.gourmet .site-header .site-header__menu-bar-link--gourmet,
.course .site-header .site-header__menu-bar-link--course,
.spot .site-header .site-header__menu-bar-link--spot,
.experience .site-header .site-header__menu-bar-link--experience,
.event .site-header .site-header__menu-bar-link--event,
.reserve .site-header .site-header__menu-bar-link--reserve,
.access .site-header .site-header__menu-bar-link--access,
.txj .site-header .site-header__menu-bar-link--txj {
    text-decoration-line: underline;
    text-decoration-color: #d92d1b;
    text-decoration-thickness: 2px;
    text-underline-offset: 6px;
}

.site-header__menu-bar-link--favorite {
    padding: 10px 10px 10px 35px;
    font-family: var(--gothic-font-family);
    color: #fff;
    text-decoration: none;
    background: #d92d1b url('img/icoFavorite.svg') 10px center no-repeat;
}

.site-header__menu-bar-link--business {
    padding: 10px;
    font-family: var(--gothic-font-family);
    color: #fff;
    text-decoration: none;
    background: #2a2532;
}

.site-header__menu-bar-item--business {
    margin-left: 10px;
}

.site-header__menu-trigger {
    align-self: center;
    justify-self: center;
    display: flex;
    align-items: center;
    width: 28px;
    height: 27px;
    margin-top: 1px;
    margin-right: 2px;
    padding: 0;
    background: transparent;
    border: none;
    cursor: pointer;
}
.site-header__menu-trigger i,
.site-header__menu-trigger i::before,
.site-header__menu-trigger i::after {
    width: 28px;
    height: 3px;
    background: #666;
}
.site-header__menu-trigger i {
    position: relative;
    display: inline-block;
    transition: width 0.2s ease-out, background-color 0.2s;
}
.site-header__menu-trigger i::before,
.site-header__menu-trigger i::after {
    content: '';
    position: absolute;
    left: 0;
    transition: top 0.2s, width 0.2s, transform 0.2s, background-color 0.2s;
}
.site-header__menu-trigger i::before {
    top: -9px;
}
.site-header__menu-trigger i::after {
    bottom: -9px;
}
@media(hover: hover) {
    .site-header__menu-trigger {
        transition: opacity 0.15s ease-in-out;
    }
    .site-header__menu-trigger:hover {
        opacity: 0.8;
    }
    .site-header__menu-trigger:hover i,
    .site-header__menu-trigger:hover i::before,
    .site-header__menu-trigger:hover i::after {
        background: #333;
    }
}

body.site-header-menu-opened .site-header__menu-trigger i {
    width: 0;
}
body.site-header-menu-opened .site-header__menu-trigger i::before {
    top: 0;
    width: 30px;
    transform: rotateZ(45deg);
}
body.site-header-menu-opened .site-header__menu-trigger i::after {
    top: 0;
    width: 30px;
    transform: rotateZ(-45deg);
}

.site-header__menu-pane {
    display: none;
    position: fixed;
    width: min(100%, 450px);
    z-index: 10000;
    top: 0;
    right: 0;
    bottom: 0;
    margin-top: 60px;
    overflow-y: auto;
    overscroll-behavior-y: none;
    transform: translateX(100%);
    transition: transform 0.5s;
}
body.site-header-menu-opened .site-header__menu-pane {
    transform: translateX(0);
}

.site-header__menu-pane-inner {
    background: #fff;
    padding: 10px;
}

.site-header__menu-grid {
    list-style: none;
    margin: 20px 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
}
.site-header__menu-grid-item:not(.site-header__menu-grid-item--favorite, .site-header__menu-grid-item--business) {
    margin-bottom: 8px;
    padding: 0 3px;
}
.site-header__menu-grid-item--favorite {
    grid-column: 1 / 3;
    margin-top: 11px;
}
.site-header__menu-grid-item--business {
    grid-column: 1 / 3;
    margin-top: 1px;
}

.site-header__menu-grid.autumn{
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.site-header__menu-grid.autumn li{
    display: block;
    width: 100%;
    background-color: #d92d1b;
    margin-top: 0;
}

.site-header__menu-grid.autumn li a{
    position: relative;
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-align: center;
    padding: 20px 35px;
    font-family: "游明朝", YuMincho, 'Yu Mincho', "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "ＭＳ 明朝", serif;
    transition: .2s;
}

.site-header__menu-grid.autumn li.autumn a:hover{
    color: #333;
    background-color: #ffffffcc;
}

.site-header__menu-grid.autumn li.site-header__menu-grid-item--business{
    background-color: #2a2532;
}

.site-header__menu-grid.autumn li.site-header__menu-grid-item--business a:hover{
    background-color: #666666;
    opacity: 1;
}

.site-header__menu-grid.autumn li a span {
    position: absolute;
    left: 0;
    display: flex;
    height: 100%;
    align-items: center;
    padding: 0 10px 0 35px;
    background: url(icoFeatureList.svg) no-repeat 5px center;
    font-family: "游明朝", YuMincho, 'Yu Mincho', "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "ＭＳ 明朝", serif;
}

.site-header__menu-pane-link:not(.site-header__menu-pane-link--favorite, .site-header__menu-pane-link--business) {
    display: block;
    padding: 5px 3px;
    border-bottom: solid 1px #ccc;
    font-family: var(--mincho-font-family);
    text-decoration: none;
    color: inherit;
}
.site-header__menu-pane-link--favorite,
.site-header__menu-pane-link--business {
    display: flex;
    justify-content: center;
    padding: 20px 35px;
    font-family: var(--mincho-font-family);
    text-decoration: none;
    color: #fff;
}
.site-header__menu-pane-link--favorite {
    background: #d92d1b;
    gap: 10px;
}
.site-header__menu-pane-link--business {
    background: #2a2532;
}
@media(hover: hover) {
    .site-header__menu-pane-link {
        transition: opacity 0.15s ease-in-out;
    }
    .site-header__menu-pane-link:hover {
        opacity: .8;
    }
}

.site-header__sns-list {
    width: min(320px, 100%);
    margin: 11px auto 0;
    padding: 0;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.site-header__sns-link {
    display: block;
}
@media(hover: hover) {
    .site-header__sns-link {
        transition: opacity 0.15s ease-in-out;
    }
    .site-header__sns-link:hover {
        opacity: .8;
    }
}

.site-header__sns-icon {
    display: block;
    width: 40px;
}
.site-header__sns-icon--fb {
    height: 40px;
}
.site-header__sns-icon--ex {
    height: 40px;
    border: solid 4px transparent;
}
.site-header__sns-icon--ig {
    height: 40px;
}
.site-header__sns-icon--li {
    height: 38.1167px;
}
.site-header__sns-icon--yt {
    height: 28px;
}