@charset "utf-8";

html,
body {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: normal;
    font-style: normal;
    font-optical-sizing: auto;
    line-height: 1.5;
    letter-spacing: 0.1em;
    overflow-x: clip;
    background: linear-gradient(-45deg, #360D00 100%, #401F00 100%, #170F05 100%);
    color: #2C2C2C;
}

a {
    text-decoration: none !important;
}

.sans {
    font-family: "Noto Sans JP", sans-serif;
}

.ten {
    font-family: ten-mincho-text, serif;
}

.min-h-0 {
    min-height: 0 !important;
}

.min-w-0 {
    min-width: 0 !important;
}

.top-nav {
    position: fixed;
    width: 100%;
    left: 0;
    top: 0;
    z-index: 1200;
    transition: background-color 0.3s ease; /* 非JS環境の保険にも */
}
.top-nav.has-bg {
    background-color: rgba(0, 0, 0, 0.5);
    transition: background-color 0.3s ease;
  }
.top-logo {
    height: 28px;
    width: auto;
}

@media (min-width: 768px) {
    .top-logo {
        height: 35px;
    }
}

.header_logo_font {
    font-size: 10pt;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #ffffff;
    border: 1px solid #fff;
    padding: 10px;
}

.header-button {
    padding-right: 78px;
}
.header-button.is-active a {
    pointer-events: none;
}
.reservationbutton {
    background: rgba(186, 108, 40, 0.6);
    border: 0.5px solid #fff;
    padding-top: 12px;
    padding-bottom: 12px;
    padding-left: 50px;
    padding-right: 50px;
    border-radius: 2px;
    transition-duration: .4s;
}

.reservationbutton:hover {
    transform: scale(1.05);
}

.Pointsbutton {
    background: rgba(99, 74, 52, 0.6);
    border: 0.5px solid #fff;
    padding-top: 12px;
    padding-bottom: 12px;
    padding-left: 50px;
    padding-right: 50px;
    border-radius: 2px;
    transition-duration: .4s;
}

.Pointsbutton:hover {
    transform: scale(1.05);
}

.button-font1 {
    font-size: 14px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #fff;
}

.button-font2 {
    font-size: 9px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #fff;
}

.a-burger {
    cursor: pointer;
    width: 40px;
    height: 40px;
    z-index: 1006;
    position: relative;
/*    position: fixed;
    top: 16px;
    right: 16px; */
}

.a-burger div {
    background-color: #FFF;
    display: block;
    width: 40px;
    height: 1px;
    position: absolute;
    left: 0px;
    transform-origin: center;
    transition: all 0.3s;
}
@media (min-width: 768px) {
    .a-burger {
        width: 50px;
        height: 40px;
    }

    .a-burger div {
        width: 50px;
    }


}

.a-burger div:nth-child(1) {
    top: 10px;
}

.a-burger div:nth-child(2) {
    top: 19px;
}

.a-burger div:nth-child(3) {
    top: 19px;
}

.a-burger div:nth-child(4) {
    bottom: 10px;
}

.a-burger.is-active div:nth-child(1) {
    opacity: 0;
}

.a-burger.is-active div:nth-child(2) {
    transform: rotate(28deg);
    top: 19px;
}

.a-burger.is-active div:nth-child(3) {
    transform: rotate(-28deg);
    top: 19px;
}

.a-burger.is-active div:nth-child(4) {
    opacity: 0;
}

.open-menu {
    width: 100%;
    height: 100vh;
    background-color: #3D3228;
    top: 0;
    right: 0;
    z-index: 1001;
    position: fixed;
    display: none;
    opacity: 0;
}

@media (min-width: 768px) {
    .open-menu {
        width: 50%;
        height: 100vh;
        background-color: #3D3228;
        top: 0;
        right: 0;
        z-index: 1001;
        position: fixed;
        display: none;
        opacity: 0;
    }
}

.open-menu.edit {
    display: block;
    opacity: 1;
}

.open-menu-cont {
    position: absolute;
    top: 94px;
    right: 24px;
    text-align: right;
    cursor: pointer;
}


.open-menu-cont p a {
    display: inline-block;
    padding: 13px 0;
    text-decoration: none;
    font-size: 12px;
    font-family: "yu-gothic-pr6n" , sans-serif;
    color: #fff;
}
.open-menu-cont p:first-child a{
    padding-top: 0;
}
.open-menu-cont a {
    color: #fff;
}

.open-menu-cont a:hover {
    color: #ff6f61;
    /* ホバー時の色 */
}

.menu-buttonposi {
    position: absolute;
    right: 14px;
    bottom: 40px;
}

.reservationbutton2 {
    background: rgba(186, 108, 40, 0.6);
    border: 0.5px solid #fff;
    padding: 12px 58px 12px 58px;
    border-radius: 2px;
    transition-duration: .4s;
}

.reservationbutton2:hover {
    transform: scale(1.05);
}

.Pointsbutton2 {
    background: rgba(99, 74, 52, 0.6);
    border: 0.5px solid #fff;
    padding: 12px 50px 12px 50px;
    border-radius: 2px;
    transition-duration: .4s;
}

.Pointsbutton2:hover {
    transform: scale(1.05);
}

.main {
    margin-top: 94px;
}

.fv {
    position: relative;
}

.fv-menu {
    position: absolute;
    top: 0px;
    right: 24px;
    text-align: right;
    z-index:100
}

.fv-menu p a {
    margin-bottom: 20px;
    font-size: 12px;
    font-family: "tot-shizukardmin-stdn" , serif;
    text-decoration: none;
    color: #fff;
    cursor: pointer;
}

.fv-menu p a:hover {
    color: #ff6f61;
}

.Instagram_logo {
    height: 24px;
    width: 24px;
    cursor: pointer;
    transition-duration: .4s;
}

.Instagram_logo:hover {
    transform: scale(1.05);
}

.fv-sec {
    padding-top: 24px;
    margin-bottom: 10px;
}

@media (min-width: 768px) {
    .fv-sec {
        padding-top: 112px;
        margin-bottom: 112px;
    }
}

.top-fv-img {
    background-image: url(../images/top-fv-img.jpg);
    background-size: cover;
    background-position: center;
}
.top-fv-img2 {
    background-image: url(../images/top-fv-img2.jpg);
    background-size: cover;
    background-position: center;
}
.top-fv-img3 {
    background-image: url(../images/top-fv-img3.jpg);
    background-size: cover;
    background-position: center;
}

.fv-img-height {
    height: 50vh;
}


@media (min-width: 768px) {
    .fv-img-height {
        height: calc(100vh - 94px - 112px);
    }
}

@media (min-width: 1200px) {
    .fv-img-height {
        height: calc(100vh - 94px - 112px + 60px);
    }
}

.fv-text {
    font-family: "tot-shizukardmin-stdn" , serif;
    font-size: 18px;
    color: #fff;
    line-height: 2;
    letter-spacing: 0.8em;
    margin-bottom: 30px;


}

@media (min-width: 768px) {
    .fv-text {
        font-size: 28px;
        padding-top: 100px;
    }
}

.v-text {
    writing-mode: vertical-rl;
    text-orientation: upright;
    white-space: nowrap;
}

.top-bgimg {
    background-image: url(../images/TOP_BG_1.jpg);
    background-size: cover;
    background-position: center;
    height: 400px;
    width: 100%;
    position: relative;
    z-index: 1;
}

@media (min-width: 768px) {
    .top-bgimg {
        height: 672px;
    }
}

.bg-text {
    position: absolute;
    text-align: center;
}

.bg-text-1 {
    font-size: 12px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #fff;
    margin-bottom: 0px;
    text-align: center;
}

@media (min-width: 768px) {
    .bg-text-1 {
        font-size: 20px;
        margin-bottom: 40px;
        margin-right: 30px;
        text-align: left;
    }
}

.bg-text-2 {
    font-size: 9px;
    font-family: "yu-gothic-pr6n" , sans-serif;
    color: #fff;
    text-align: right;
}

@media (min-width: 768px) {
    .bg-text-2 {
        font-size: 12px;
        margin-left: 50px;
    }
}

.top-concept {
    background: linear-gradient(-45deg, #360D00 100%, #401F00 100%, #170F05 100%);
    background-size: cover;
    background-position: center;
    width: 100%;
    position: relative;
    z-index: 2;
}

@media (min-width: 576px) {
    .top-concept {
        background: linear-gradient(-45deg, #360D00 100%, #401F00 100%, #170F05 100%);
        background-size: cover;
        background-position: center;
        width: 100%;
        position: relative;
        z-index: 2;
    }
}

.top-concept-title {
    padding-top: 80px;
    padding-bottom: 40px;
}

@media (min-width: 768px) {
    .top-concept-title {
        padding-top: 50px;
        padding-bottom: 86px;
    }
}

.title-set {
    width: 50px;
    border-bottom: 0.5px solid #fff;
    padding-bottom: 20px;
    margin-left: 30px;
    margin-bottom: 40px;
}

@media (min-width: 768px) {
    .title-set {
        width: 50px;
        border-bottom: 0.5px solid #fff;
        padding-bottom: 20px;
    }
}

.title-No {
    font-size: 16px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #fff;
}

@media (min-width: 768px) {
    .title-No {
        font-size: 24px;
    }
}

.title-name {
    font-size: 24px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #fff;
    letter-spacing: 0.2em;
}

@media (min-width: 768px) {
    .title-name {
        font-size: 42px;
    }
}

.top-concept-img1 {
    background-image: url(../images/top_concept_1.jpg);
    background-size: cover;
    background-position: center;
    height: 300px;
}

@media (min-width: 768px) {
    .top-concept-img1 {
        height: 540px;
    }
}

.top-concept-img2 {
    background-image: url(../images/top_concept_2.jpg);
    background-size: cover;
    background-position: center;
    height: 462px;
    margin-left: -10px;
}

.md-posi {
    margin-left: 30px;
}

@media (min-width: 768px) {
    .md-posi {
        margin-left: -70px;
    }
}

.md-posi2 {
    margin-left: 30px;
}

@media (min-width: 768px) {
    .md-posi2 {
        margin-left: 0;
    }
}

.md-posi3 {
    margin-right: 30px;
}

@media (min-width: 768px) {
    .md-posi3 {
        margin-right: 0;
    }
}

.md-posi4 {
    margin-left: 30px;
}

.content-set {
    font-size: 12px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #fff;
    line-height: 3;
}

@media (min-width: 768px) {
    .content-set {
        font-size: 18px;
        line-height: 3;
    }
}

.button {
    font-size: 14px;
    font-family: "yu-gothic-pr6n" , sans-serif;
    color: #fff;
    border: 0.5px solid #fff;
    border-radius: 2px;
    width: 265px;
    height: 60px;
    margin-top: 40px;
    transition-duration: .4s;
    cursor: pointer;
}

.button:hover {
    transform: scale(1.05);
}

.button2 {
    font-size: 14px;
    font-family: "yu-gothic-pr6n" , sans-serif;
    color: #fff;
    border: 0.5px solid #fff;
    border-radius: 2px;
    width: 265px;
    height: 60px;
    margin-top: 6px;
    transition-duration: .4s;
    cursor: pointer;
}

.button2:hover {
    transform: scale(1.05);
}

.button-text {
    color: #FFF;
}

.top-bgimg-2 {
    background-image: url(../images/TOP_BG_2.jpg);
    background-size: cover;
    background-position: center;
    height: 400px;
    width: 100%;
    position: relative;
    z-index: 3;
}

@media (min-width: 768px) {
    .top-bgimg-2 {
        height: 672px;
    }
}

.top-menu {
    background-size: cover;
    background-position: center;
    width: 100%;
    position: relative;
    z-index: 4;
}


.top-menu-title {
    padding-top: 80px;
    padding-bottom: 30px;
}

@media (min-width: 768px) {
    .top-menu-title {
        padding-top: 86px;
        padding-bottom: 86px;
    }
}

.top-menu-img1 {
    background-image: url(../images/top_menu_1.jpg);
    background-size: cover;
    background-position: center;
    height: 300px;
}
@media (min-width: 768px) {
    .top-menu-img1 {
        height: 540px;
    }
}

.top-grandmenu {
    background-image: url(../images/top_grandmenu_bg.jpg);
    background-size: cover;
    background-position: center;
    position: relative;
}

.text-box1 {
    font-size: 12px;
    font-family: "yu-gothic-pr6n" , sans-serif;
    color: #fff;
    line-height: 2;
    letter-spacing: 0.3em;
}

.title-en {
    font-size: 32px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #fff;
}

.title-jp {
    font-size: 16px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #fff;
    margin-bottom: 44px;
}

.top-coursemenu {
    background-image: url(../images/top_coursemenu_bg.jpg);
    background-size: cover;
    background-position: center;
    width: 100%;
    position: relative;
}

.top-spotmenu {
    background-color: #554635;
    background-size: cover;
    background-position: center;
    width: 100%;
    position: relative;
    z-index: 5;
}

.top-spot-title {
    padding-top: 80px;
    padding-bottom: 40px;
}

@media (min-width: 768px) {
    .top-spot-title {
        padding-top: 86px;
        padding-bottom: 86px;
    }
}

.top-spot-img1 {
    background-image: url(../images/top_spot_img1.jpg);
    background-size: cover;
    background-position: center;
    height: 300px;
}

@media (min-width: 768px) {
    .top-spot-img1 {
        background-image: url(../images/top_spot_img1.jpg);
        background-size: cover;
        background-position: center;
        height: 440px;
    }
}

.top-spot-img2 {
    background-image: url(../images/top_spot_img2.jpg);
    background-size: cover;
    background-position: center;
    height: 365px;
}

.top-wine-img1 {
    background-image: url(../images/top_wine_img.jpg);
    background-size: cover;
    background-position: center;
    height: 300px;
}

@media (min-width: 768px) {
    .top-wine-img1 {
        height: 540px;
    }
}

.top-wine {
    background-size: cover;
    background-position: center;
    width: 100%;
    position: relative;
    z-index: 6;
}

.text-box2 {
    font-size: 10px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #fff;
    line-height: 2.5;
    letter-spacing: 0.3em;
}

@media (min-width: 768px) {
    .text-box2 {
        font-size: 14px;
    }
}

.top-scene {
    background-color: #554635;
    background-size: cover;
    background-position: center;
    width: 100%;
    position: relative;
    z-index: 7;
}


.text-box3 {
    font-size: 18px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #fff;
    line-height: 2.5;
    letter-spacing: 0.3em;
}

.top-scene-title {
    padding-top: 80px;
    padding-bottom: 80px;
}

@media (min-width: 768px) {
    .top-scene-title {
        padding-top: 100px;
        padding-bottom: 100px;
    }
}

.top-scene-img {
    background-image: url(../images/top_scene_img.jpg);
    background-size: cover;
    background-position: center;
    height: 300px;
}

@media (min-width: 768px) {
    .top-scene-img {
        height: 518px;
    }
}

.top-faq {
    background-color: #554635;
    background-size: cover;
    background-position: center;
    height: auto;
    width: 100%;
    position: relative;
    z-index: 8;
}


.top-faq-posi {
    padding: 80px 0px 80px 0px;
}

.top-faq-img {
    background-image: url(../images/top_faq_img.jpg);
    background-size: cover;
    background-position: center;
    height: 460px;
}

.top-access {
    background-size: cover;
    background-position: center;
    height: auto;
    width: 100%;
    position: relative;
    z-index: 9;
}

.top-access a {
    color: #FFF;
}

.top-access a:hover {
    color: #ff6f61;
    /* ホバー時の色 */
}

.top-access-title {
    padding-top: 80px;
    padding-bottom: 100px;
}

@media (min-width: 768px) {
    .top-access-title {
        padding-top: 110px;
        padding-bottom: 100px;
    }
}

.access-text1 {
    font-size: 18px;
    font-family: "yu-gothic-pr6n" , sans-serif;
    color: #fff;
}

.access-text2 {
    font-size: 12px;
    font-family: "yu-gothic-pr6n" , sans-serif;
    color: #fff;
    margin-top: 10px;
}

.button-access {
    font-size: 14px;
    font-family: "yu-gothic-pr6n" , sans-serif;
    color: #fff;
    border: 0.5px solid #fff;
    border-radius: 2px;
    width: 265px;
    height: 60px;
    margin-top: 20px;
    margin-bottom: 40px;
}

.inst-button-access {
    font-size: 14px;
    font-family: "yu-gothic-pr6n" , sans-serif;
    color: #fff;
    border: 0.5px solid #fff;
    border-radius: 2px;
    width: 265px;
    height: 60px;
    margin-top: 60px;
    margin-bottom: 60px;
}

.inst-button-logo {
    height: 20px;
    margin-right: 24px;
}

.access-bg {
    background-image: url(../images/access_img.jpg);
    background-size: cover;
    background-position: center;
    height: 200px;
}

.footer {
    background-color: #22170C;
    background-size: cover;
    background-position: center;
    height: auto;
    width: 100%;
    position: relative;
    z-index: 10;
}

.footer a {
    color: #FFF;
}

.footer a:hover {
    color: #ff6f61;
    /* ホバー時の色 */
}

.footer-posi {
    padding: 40px 15px 50px 15px;
}

@media (min-width: 992px) {
    .footer-posi {
        padding: 40px 40px 60px 40px;
    }
}

.footer-menu {
    list-style: none;
    padding-top: 10px;
}

@media (min-width: 992px) {
    .footer-menu {
        list-style: none;
        padding-top: 40px;
    }
}

.footer-menu li {
    margin-bottom: 18px;
}

@media (min-width: 992px) {
    .footer-menu li {
        margin-bottom: 5px;
    }
}


.footer-menu p {
    text-decoration: none;
    color: #fff;
    font-family: "tot-shizukardmin-stdn" , serif;
    font-size: 14px;
    transition: color 0.3s ease;
    cursor: pointer;
}

@media (min-width: 576px) {
    .footer-menu p {
        font-size: 14px;
        transition: color 0.3s ease;
    }
}

@media (min-width: 768px) {
    .footer-menu p {
        font-size: 12px;
        transition: color 0.3s ease;
    }
}

.footer-menu-pad {
    padding-right: 40px;
}

@media (min-width: 576px) {
    .footer-menu-pad {
        padding-right: 0;
    }
}

@media (min-width: 992px) {
    .footer-menu-pad {
        padding-right: 40px;
    }
}

.footer-menu p a:hover {
    color: #ff6f61;
    /* ホバー時の色 */
}

.footer-brand {
    text-align: center;
}

.footer-brand img {
    height: 28px;
    margin-top: 10px;
    margin-bottom: 10px;
}

@media (min-width: 992px) {
    .footer-brand img {
        height: 28px;
        margin-top: 20px;
        margin-bottom: 10px;
    }
}

.footer-brand p {
    font-size: 6pt;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #ffffff;
    border: 1px solid #fff;
    padding: 10px;
    width: 178px;
}

.footer-info-posi {
    padding-top: 30px;
}

@media (min-width: 576px) {
    .footer-info-posi {
        padding-top: 100px;
    }
}

@media (min-width: 992px) {
    .footer-info-posi {
        padding-top: 60px;
    }
}

.footer-info {
    color: #fff;
    font-size: 9px;
    font-family: "yu-gothic-pr6n" , sans-serif;
    text-align: right;
}

.footer-social {
    height: 25px;
    width: auto;
}

.footer-social img:hover {
    transform: scale(1.2);
}

/* コンセプトページ */

.concept-fv-img {
    background-image: url(../images/concept-fv.jpg);
    background-size: cover;
    background-position: center;
}

.concept-fv-text {
    padding-bottom: 40px;
}

@media (min-width: 768px) {
    .concept-fv-text {
        padding-bottom: 120px;
        margin-left: -20px;
    }
}

.concept-bgimg {
    background-image: url(../images/concept-bg-img.jpg);
    background-size: cover;
    background-position: center;
    height: 400px;
    width: 100%;
    position: relative;
    position: sticky;
    top: 0;
    z-index: 1;
}

@media (min-width: 768px) {
    .concept-bgimg {
        height: 672px;
    }
}

.concept-bg-text {
    font-size: 18px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #FFF;
    line-height: 2;
    align-items: center;
}

@media (min-width: 576px) {
    .concept-bg-text {
        font-size: 26px;
    }
}

.concept-cont {
    background: linear-gradient(-45deg, #360D00 100%, #401F00 100%, #170F05 100%);
    background-size: cover;
    background-position: center;
    height: 1340px;
    width: 100%;
    position: relative;
    z-index: 2;
}

@media (min-width: 576px) {
    .concept-cont {
        background: linear-gradient(-45deg, #360D00 100%, #401F00 100%, #170F05 100%);
        background-size: cover;
        background-position: center;
        height: 1900px;
        width: 100%;
        position: relative;
        z-index: 2;
    }
}

.concept-cont-title {
    padding-top: 40px;
    padding-bottom: 40px;
}

@media (min-width: 768px) {
    .concept-cont-title {
        padding-top: 60px;
        padding-bottom: 60px;
    }
}

.concept-img-text {
    width: 50px;
    border-bottom: 0.5px solid #fff;
    padding-bottom: 10px;
    margin-left: 20px;
    margin-bottom: 30px;
}

.concept-img-text p {
    font-size: 30px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #FFF;
    letter-spacing: 0.2em;

}

.concept-cont-img1 {
    background-image: url(../images/concept_cont1.jpg);
    background-size: cover;
    background-position: center;
    height: 300px;
}

@media (min-width: 576px) {
    .concept-cont-img1 {
        height: 854px;
    }
}

.concept-cont-img2 {
    background-image: url(../images/concept_cont2.jpg);
    background-size: cover;
    background-position: center;
    height: 854px;
}

.concept-cont-sub {
    background-color: #554635;
    background-size: cover;
    background-position: center;
    height: 1340px;
    width: 100%;
    position: relative;
    z-index: 7;
}

@media (min-width: 768px) {
    .concept-cont-sub {
        height: 2015px;
    }
}

.concept-cont-subtitle {
    padding-top: 40px;
    padding-bottom: 40px;
}

@media (min-width: 768px) {
    .concept-cont-subtitle {
        padding-top: 60px;
        padding-bottom: 60px;
    }
}

.concept-cont-color {
    background-color: #401F00;
}

.concept-cont-img3 {
    background-image: url(../images/concept_cont3.jpg);
    background-size: cover;
    background-position: center;
    height: 300px;
}

@media (min-width: 576px) {
    .concept-cont-img3 {
        height: 820px;
    }
}

.concept-cont-posi {
    margin-top: 0px;
}

@media (min-width: 576px) {
    .concept-cont-posi {
        margin-top: 80px;
    }
}

.concept-cont-img4 {
    background-image: url(../images/concept_cont4.jpg);
    background-size: cover;
    background-position: center;
    height: 300px;
}

@media (min-width: 576px) {
    .concept-cont-img4 {
        height: 820px;
    }
}

/* グランドメニュー */

.gm-fv-img {
    background-image: url(../images/gm_fv_img.jpg);
    background-size: cover;
    background-position: center;
}

.gm-bgimg {
    background-image: url(../images/gm_bg_img.jpg);
    background-size: cover;
    background-position: center;
    height: 400px;
    width: 100%;
    position: relative;
    position: sticky;
    top: 0;
    z-index: 1;
}

@media (min-width: 768px) {
    .gm-bgimg {
        height: 672px;
    }
}

.gm-cont {
    background: linear-gradient(-45deg, #360D00 100%, #401F00 100%, #170F05 100%);
    background-size: cover;
    background-position: center;
    width: 100%;
    position: relative;
    z-index: 2;
}

/*
.gm-cont-posi {
    margin-top: 100px;
    margin-bottom: 60px;
}

.gm-cont-posi2 {
    margin-top: 60px;
    margin-bottom: 60px;
}
*/
.gm-title {
    font-size: 30px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #FFF;
    letter-spacing: 0.2em;
    position: relative;
    z-index: 3;
}

.gm-title::after {
    position: absolute;
    /*positionをabsoluteに指定*/
    content: "";
    background-color: #fff;
    /*下線の色*/
    width: 50px;
    /*線の幅*/
    height: 0.5px;
    /*線の太さ*/
    bottom: -10px;
    /*線のタテ位置*/
    left: 0%;
    /*線のヨコ位置*/
    transform: translateX(5%);
    /*線のヨコ位置*/
}

.gm-cont-text-posi {
    margin-top: 40px;
}

.gm-cont-text p {
    font-size: 9px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #FFF;
    line-height: 4;
}

@media (min-width: 576px) {
    .gm-cont-text p {
        font-size: 14px;
        font-family: "tot-shizukardmin-stdn" , serif;
        color: #FFF;
        line-height: 3.6;
    }
}

.gm-zensai-img1 {
    background-image: url(../images/gm_zensai_1.jpg);
    background-size: cover;
    background-position: center;
    height: 200px;
}

@media (min-width: 576px) {
    .gm-zensai-img1 {
        height: 500px;
    }
}

.gm-zensai-img2 {
    background-image: url(../images/gm_zensai_2.jpg);
    background-size: cover;
    background-position: center;
    height: 200px;
}

@media (min-width: 576px) {
    .gm-zensai-img2 {
        height: 500px;
    }
}

.gm-zensai-img3 {
    background-image: url(../images/gm_zensai_3.jpg);
    background-size: cover;
    background-position: center;
    height: 200px;
}

@media (min-width: 576px) {
    .gm-zensai-img3 {
        height: 500px;
    }
}

.gm-zensai-img4 {
    background-image: url(../images/gm_zensai_4.jpg);
    background-size: cover;
    background-position: center;
    height: 200px;
}

@media (min-width: 576px) {
    .gm-zensai-img4 {
        height: 500px;
    }
}

.gm-cont-sub {
    background-color: #554635;
    background-size: cover;
    background-position: center;
    position: relative;
    z-index: 4;
}

.gm-fish-img {
    background-image: url(../images/gm_fish.jpg);
    background-size: cover;
    background-position: center;
    height: 400px;
}

.gm-meat-img1 {
    background-image: url(../images/gm_meat_1.jpg);
    background-size: cover;
    background-position: center;
    height: 200px;
}

@media (min-width: 576px) {
    .gm-meat-img1 {
        height: 500px;
    }
}

.gm-meat-img2 {
    background-image: url(../images/gm_meat_2.jpg);
    background-size: cover;
    background-position: center;
    height: 200px;
}

@media (min-width: 576px) {
    .gm-meat-img2 {
        height: 500px;
    }
}

.gm-desert {
    width: 100%;
    position: relative;
    z-index: 5;
}

.gm-desert-img {
    background-image: url(../images/gm_dessert.jpg);
    background-size: cover;
    background-position: center;
    height: 400px;
}


/* コースメニュー */

.cm-fv-img {
    background-image: url(../images/course_fv_img.jpg);
    background-size: cover;
    background-position: center;
}

.cm-bgimg {
    background-image: url(../images/course_bg_img.jpg);
    background-size: cover;
    background-position: center;
    height: 400px;
    width: 100%;
    position: relative;
    position: sticky;
    top: 0;
    z-index: 1;
}

@media (min-width: 768px) {
    .cm-bgimg {
        height: 672px;
    }
}

.cm-text-posi {
    padding: 120px 0px 120px 0px;
}

.cm-cont {
    background: linear-gradient(-45deg, #360D00 100%, #401F00 100%, #170F05 100%);
    background-size: cover;
    background-position: center;
    height: auto;
    width: 100%;
    position: relative;
    z-index: 2;
}

.cm-std-img {
    background-image: url(../images/special_course.jpg);
    background-size: cover;
    background-position: center;
    height: auto;
}

.cm-cont-oma {
    background-color: #554635;
    background-size: cover;
    background-position: center;
    height: auto;
    width: 100%;
    position: relative;
    z-index: 3;
}

.cm-oma-img {
    background-image: url(../images/standard_course.jpg);
    background-size: cover;
    background-position: center;
    height: auto;
}

.cm-sp-img {
    background-image: url(../images/omakase_course.jpg);
    background-size: cover;
    background-position: center;
    height: auto;
}

.cm-title-sub {
    font-size: 12px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #FFF;
}

@media (min-width: 768px) {
    .cm-title-sub {
        font-size: 16px;
        margin-top: 0px;
    }
}

.cm-title-main {
    font-size: 28px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #FFF;
    letter-spacing: 0.1em;
    line-height: 1.6;
    margin-top: 20px;
}

@media (min-width: 992px) {
    .cm-title-main {
        font-size: 34px;
    }
}

.cm-title-jp {
    font-size: 10px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #FFF;
    line-height: 2;
    margin-bottom: 40px;
}

@media (min-width: 992px) {
    .cm-title-jp {
        font-size: 14px;
    }
}

.cm-text-s {
    font-size: 16px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #FFF;
}

.cm-text-m {
    font-size: 13px;
    font-family: "yu-gothic-pr6n" , sans-serif;
    color: #FFF;
    letter-spacing: 0.1em;
    line-height: 2;
    margin-top: 40px;
    margin-bottom: 40px;
}

@media (min-width: 992px) {
    .cm-text-m {
        font-size: 16px;
    }
}

.cm-text-l {
    font-size: 34px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #FFF;
    transform: translateY(5px);
}

/* 利用シーン */

.scene-fv-img {
    background-image: url(../images/scene_fv_img.jpg);
    background-size: cover;
    background-position: center;
}

.scene-bgimg {
    background-image: url(../images/scene_bg_img.jpg);
    background-size: cover;
    background-position: center;
    height: 400px;
    width: 100%;
    position: relative;
    position: sticky;
    top: 0;
    z-index: 1;
}

@media (min-width: 768px) {
    .scene-bgimg {
        height: 672px;
    }
}

.scene-cont {
    background: linear-gradient(-45deg, #360D00 100%, #401F00 100%, #170F05 100%);
    height: auto;
    width: 100%;
    position: relative;
    z-index: 2;
}

.scene-posi {
    padding-top: 80px;
    padding-bottom: 80px;
    border-bottom: 1px solid #fff;

}

@media (min-width: 768px) {
    .scene-posi {
        padding-top: 120px;
        padding-bottom: 120px;
    }
}

.scene-posi-b {
    padding-top: 80px;
    padding-bottom: 80px;

}

@media (min-width: 768px) {
    .scene-posi-b {
        padding-top: 120px;
        padding-bottom: 120px;
    }
}

.scene-no-cir {
    width: 84px;
    height: 84px;
    border-radius: 50%;
    border: 1px solid #fff;
    text-align: center;
}

@media (min-width: 768px) {
    .scene-no-cir {
        width: 174px;
        height: 174px;
    }
}

.scene-no-text1 {
    font-size: 8px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #FFF;
    margin-bottom: -4px;
}

@media (min-width: 768px) {
    .scene-no-text1 {
        font-size: 14px;
    }
}

.scene-no-text2 {
    font-size: 32px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #FFF;
}

@media (min-width: 768px) {
    .scene-no-text2 {
        font-size: 56px;
    }
}

.scene-title {
    font-size: 20px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #FFF;
}

@media (min-width: 768px) {
    .scene-title {
        font-size: 34px;
    }
}

.scene-floor01-img {
    height: auto;
    width: 100%;
    object-fit: cover;
    padding-left: 30px;
    padding-bottom: 60px;
    padding-right: 30px;
    padding-top: 60px;
}

@media (min-width: 768px) {
    .scene-floor01-img {
        padding-bottom: 80px;
        padding-top: 40px;
    }
}

.scene-floor01-text {
    font-size: 12px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #FFF;
    line-height: 2.4;
    margin-top: 35px;
}

@media (min-width: 992px) {
    .scene-floor01-text {
        font-size: 14px;
        line-height: 3;
        margin-top: 30px;
    }
}

.scene-01-imgl {
    background-image: url(../images/scene_01_img_l.jpg);
    background-size: cover;
    background-position: center;
    height: 200px;
}

@media (min-width: 768px) {
    .scene-01-imgl {
        background-image: url(../images/scene_01_img_l.jpg);
        background-size: cover;
        background-position: center;
        height: 300px;
    }
}

.scene-01-imgr {
    background-image: url(../images/scene_01_img_r.jpg);
    background-size: cover;
    background-position: center;
    height: 200px;
}

@media (min-width: 768px) {
    .scene-01-imgr {
        background-image: url(../images/scene_01_img_r.jpg);
        background-size: cover;
        background-position: center;
        height: 300px;
    }
}

.scene-02-imgl {
    background-image: url(../images/scene_02_img_l.jpg);
    background-size: cover;
    background-position: center;
    height: 200px;
}

@media (min-width: 768px) {
    .scene-02-imgl {
        background-image: url(../images/scene_02_img_l.jpg);
        background-size: cover;
        background-position: center;
        height: 300px;
    }
}

.scene-02-imgr {
    background-image: url(../images/scene_02_img_r.jpg);
    background-size: cover;
    background-position: center;
    height: 200px;
}

@media (min-width: 768px) {
    .scene-02-imgr {
        background-image: url(../images/scene_02_img_r.jpg);
        background-size: cover;
        background-position: center;
        height: 300px;
    }
}

.scene-03-imgl {
    background-image: url(../images/scene_03_img_l.jpg);
    background-size: cover;
    background-position: center;
    height: 200px;
}

@media (min-width: 768px) {
    .scene-03-imgl {
        background-image: url(../images/scene_03_img_l.jpg);
        background-size: cover;
        background-position: center;
        height: 300px;
    }
}

.scene-03-imgr {
    background-image: url(../images/scene_03_img_r.jpg);
    background-size: cover;
    background-position: center;
    height: 200px;
}

@media (min-width: 768px) {
    .scene-03-imgr {
        background-image: url(../images/scene_03_img_r.jpg);
        background-size: cover;
        background-position: center;
        height: 300px;
    }
}

/* ワイン */

.wine-fv-img {
    background-image: url(../images/wine_fv_img.jpg);
    background-size: cover;
    background-position: center;
}

.wine-bgimg {
    background-image: url(../images/wine_bg_img.jpg);
    background-size: cover;
    background-position: center;
    height: 400px;
    width: 100%;
    position: relative;
    position: sticky;
    top: 0;
    z-index: 1;
}

@media (min-width: 768px) {
    .wine-bgimg {
        height: 672px;
    }
}

.wine-maintext {
    font-size: 24px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #FFF;
    margin-bottom: 30px;
}

@media (min-width: 992px) {
    .wine-maintext {
        font-size: 34px;
        margin-bottom: 40px;
    }
}

.wine-subtext {
    font-size: 12px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #FFF;
    line-height: 2.6;
    margin-bottom: 60px;
}

@media (min-width: 992px) {
    .wine-subtext {
        font-size: 14px;
        line-height: 2.2;
        margin-bottom: 80px;
    }
}

.wine-img {
    background-image: url(../images/wine_cont_img.jpg);
    background-size: cover;
    background-position: top;
    height: 300px;
}

@media (min-width: 768px) {
    .wine-img {
        background-image: url(../images/wine_cont_img.jpg);
        background-position: center;
        height: 798px;
    }
}

.wine-cont {
    background: linear-gradient(-45deg, #360D00 100%, #401F00 100%, #170F05 100%);
    background-size: cover;
    background-position: center;
    height: auto;
    width: 100%;
    position: relative;
    z-index: 2;
}

.wine-cont-posi {
    padding: 80px 0 80px 0;
}

@media (min-width: 768px) {
    .wine-cont-posi {
        padding: 100px 0 100px 0;
    }
}

.custom-underline {
    display: inline-block;
    position: relative;
    margin-bottom: 40px;
}

.custom-underline::after {
    content: '';
    position: absolute;
    width: 40%;
    /* 下線の幅をここで調整 */
    height: 1px;
    /* 下線の太さをここで調整 */
    background-color: #fff;
    /* 下線の色をここで調整 */
}

.wine-menu-title {
    font-size: 32px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #FFF;
    padding-bottom: 18px;
    margin-top: 60px;
}

@media (min-width: 768px) {
    .wine-menu-title {
        font-size: 42px;
        padding-bottom: 30px;
        margin-top: 80px;
    }
}

.wine-menu-title2 {
    font-size: 32px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #FFF;
    padding-bottom: 18px;
}

@media (min-width: 768px) {
    .wine-menu-title2 {
        font-size: 42px;
        padding-bottom: 30px;
    }
}

.wine-menu-kind {
    display: flex;
    align-items: center;
    font-size: 20px;
    /* テキストのサイズを調整 */
    color: #fff;
    /* テキストの色を調整 */
    font-family: "tot-shizukardmin-stdn" , serif;
    padding: 2px 0 2px 20px;
    position: relative;
    margin-top: 20px;
    margin-bottom: 20px;
}

.wine-menu-kind::before {
    content: '';
    width: 6px;
    /* 縦線の幅を調整 */
    height: 100%;
    /* 縦線の高さを調整 */
    background-color: #fff;
    /* 縦線の色を調整 */
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

@media (min-width: 768px) {
    .wine-menu-kind {
        font-size: 24px;
        /* テキストのサイズを調整 */
        padding: 4px 0 4px 20px;
        margin-top: 40px;
    }
}

.wine-menu-name {
    font-size: 14px;
    font-family: "yu-gothic-pr6n" , sans-serif;
    color: #FFF;
    margin-bottom: 40px;
}

@media (min-width: 768px) {
    .wine-menu-name {
        font-size: 18px;
        margin-bottom: 60px;
    }
}

.wine-menu-value {
    text-align: right;
}

.wine-cont-sub {
    background-color: #554635;
    background-size: cover;
    background-position: center;
    height: auto;
    width: 100%;
    position: relative;
    z-index: 4;
}

.drink-menu-name {
    font-size: 14px;
    font-family: "yu-gothic-pr6n" , sans-serif;
    color: #FFF;
    margin-bottom: 14px;
}

@media (min-width: 768px) {
    .wine-menu-name {
        font-size: 18px;
        margin-bottom: 20px;
    }
}

.drink-menu-end {
    font-size: 16px;
    font-family: "yu-gothic-pr6n" , sans-serif;
    color: #FFF;
    padding: 20px;
    border: 1px solid #fff;
    text-align: center;
    margin: 40px 0 0 0;
}

/* 店舗情報 */

.access-fv-img {
    background-image: url(../images/access_fv_img.jpg);
    background-size: cover;
    background-position: center;
}

.access-title {
    font-size: 32px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #FFF;
    padding-bottom: 10px;
}

@media (min-width: 768px) {
    .access-title {
        font-size: 42px;
        padding-bottom: 10px;
    }
}

.access-cont-posi {
    padding: 100px 0 100px 0;
}

.access-cont {
    background-color: #554635;
    background-size: cover;
    background-position: center;
    height: auto;
    width: 100%;
    position: relative;
    z-index: 4;
}

.access-sub-title {
    font-size: 12px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #FFF;
    margin-bottom: 60px;
}

@media (min-width: 768px) {
    .access-sub-title {
        font-size: 14px;
    }
}

.access-cont-text {
    font-size: 14px;
    font-family: "yu-gothic-pr6n" , sans-serif;
    color: #FFF;
    margin-bottom: 20px;
}

.access-map {
    margin-top: 100px;
}

/* 予約時の注意点*/

.points-fv-img {
    background-image: url(../images/points_fv_img.jpg);
    background-size: cover;
    background-position: center;
}

.points-title {
    font-size: 24px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #FFF;
    padding-bottom: 20px;
}

@media (min-width: 768px) {
    .points-title {
        font-size: 32px;
        padding-bottom: 20px;
    }
}

.points-cont {
    background-color: #554635;
    height: auto;
    width: 100%;
    position: relative;
    z-index: 4;
}

.points-hl {
    font-size: 16px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #FFF;
    margin: 40px 0 20px 0;
    line-height: 2;
}

@media (min-width: 768px) {
    .points-hl {
        font-size: 18px;
    }
}

.points-t {
    font-size: 12px;
    font-family: "yu-gothic-pr6n" , sans-serif;
    color: #FFF;
    line-height: 1.5;
}

@media (min-width: 768px) {
    .points-t {
        font-size: 14px;
        line-height: 2;
    }
}

.points-cont-2 {
    font-size: 14px;
    font-family: "yu-gothic-pr6n" , sans-serif;
    color: #FFF;
    line-height: 2;
    text-align: center;
    margin: 30px 0 0 0;
}

@media (min-width: 768px) {
    .points-cont-2 {
        font-size: 16px;
        line-height: 2.4;
        margin: 50px 0 0 0;
    }
}

/* FAQ */

.faq-fv-img {
    background-image: url(../images/faq_fv_img.jpg);
    background-size: cover;
    background-position: center;
}

.faq-cont {
    background-color: #554635;
    background-size: cover;
    background-position: center;
    height: auto;
    width: 100%;
    position: relative;
    z-index: 4;
}

.faq-box {
    padding: 15px;
    border: 1px solid #fff;
}

.faq-box-Q {
    font-size: 32px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #FFF;
}

.faq-box-Qtext {
    font-size: 14px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #FFF;
    line-height: 2;
}

.faq-box-2 {
    padding: 15px;
    border: 1px solid #ECECEC;
    background-color: #ECECEC;
}

.faq-box-A {
    font-size: 32px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #554635;
}

.faq-box-Atext {
    font-size: 14px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #554635;
    line-height: 2;
}

.faq-cont-2 {
    font-size: 14px;
    font-family: "yu-gothic-pr6n" , sans-serif;
    color: #FFF;
    line-height: 2;
    text-align: center;
    margin-top: 60px;
    padding-bottom: 40px;
}

.faq-cont-posi {
    padding-top: 60px;
    padding-bottom: 40px;
}

@media (min-width: 768px) {
    .faq-cont-posi {
        padding-top: 80px;
        padding-bottom: 80px;
    }
}


/* 求人情報 */

.recru-fv-img {
    background-image: url(../images/recruitment_fv_img.jpg);
    background-size: cover;
    background-position: center;
}

.recru-title {
    font-size: 16px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #FFF;
    align-items: center;
    letter-spacing: 0.3em;
    padding: 20px 120px 20px 120px;
    border: 1px solid #fff;
    margin-bottom: 40px;
}

.recru-kind {
    display: flex;
    align-items: center;
    font-size: 16px;
    /* テキストのサイズを調整 */
    color: #fff;
    /* テキストの色を調整 */
    font-family: "tot-shizukardmin-stdn" , serif;
    padding: 2px 0 2px 20px;
    position: relative;
    margin-top: 20px;
    margin-bottom: 20px;
}

.recru-kind::before {
    content: '';
    width: 6px;
    /* 縦線の幅を調整 */
    height: 100%;
    /* 縦線の高さを調整 */
    background-color: #fff;
    /* 縦線の色を調整 */
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.recru-box {
    font-size: 14px;
    font-family: "yu-gothic-pr6n" , sans-serif;
    color: #FFF;
    padding: 20px;
}

.bb-w {
    border-bottom: 1px solid #FFF;
}

.b-w {
    border: 1px solid #FFF;
}


/*  他ページ共有素材    */

.share-fv-title {
    font-size: 30px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #fff;
    letter-spacing: 0.2em;
}

@media (min-width: 576px) {
    .share-fv-title {
        font-size: 28px;
    }
}

.share-fv-sub {
    font-size: 16px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #fff;
    letter-spacing: 0.3em;
}

@media (min-width: 576px) {
    .share-fv-sub {
        font-size: 14px;
        font-family: "tot-shizukardmin-stdn" , serif;
        color: #fff;
    }
}

.annotation {
    font-size: 8px;
    font-family: "yu-gothic-pr6n" , sans-serif;
    color: #fff;
    margin-top: 20px;
    line-height: 1.6;
}

@media (min-width: 576px) {
    .annotation {
        font-size: 10px;
    }
}

.share-title-34px {
    font-size: 22px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #FFF;
    letter-spacing: 0.1em;
    line-height: 1.6;
    margin-bottom: 20px;
    margin-top: 20px;
}

@media (min-width: 768px) {
    .share-title-34px {
        font-size: 34px;
        margin-top: 0px;
    }
}

.share-title-26px {
    font-size: 21px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #FFF;
    letter-spacing: 0.1em;
    line-height: 1.8;
    margin-bottom: 20px;
}

@media (min-width: 992px) {
    .share-title-26px {
        font-size: 26px;
        letter-spacing: 0.2em;
    }
}

.share-text-14px {
    font-size: 10px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #FFF;
    line-height: 2;
    margin-bottom: 40px;
}

@media (min-width: 992px) {
    .share-text-14px {
        font-size: 14px;
        line-height: 2.8;
    }
}

.share-text-20px {
    font-size: 12px;
    font-family: "tot-shizukardmin-stdn" , serif;
    color: #FFF;
    line-height: 2.8;
}

@media (min-width: 768px) {
    .share-text-20px {
        font-size: 18px;
        line-height: 2.8;
    }
}

.share-SP-space {
    margin-top: 80px;
    margin-bottom: 80px;
}

@media (min-width: 576px) {
    .share-SP-space {
        margin-top: 0px;
        margin-bottom: 0px;
    }
}

.bg-grade1 {
    background: linear-gradient(45deg,
            #360D00 14%,
            #401F00 70%,
            #170F05 100%);
}

.bg-grade2 {
    background: linear-gradient(-45deg,
            #360D00 14%,
            #401F00 70%,
            #170F05 100%);
}

.bg-grade3 {
    background: linear-gradient(0deg,
            #360D00 14%,
            #401F00 70%,
            #170F05 100%);
}