@charset "UTF-8";

#top2 {
    @import url("https://fonts.googleapis.com/css2?family=Noto+Sans&family=Noto+Serif&display=swap");
    /*注釈*/
    /*-------------------------------------------------------
  トップページ 2026.06
  -------------------------------------------------------*/
}

#top2 .wrapper {
    width: 90%;
    max-width: 1120px;
    padding: 0;
    margin: 0 auto;
    display: block;
}

#top2 .wrapper.nrw {
    max-width: 834px;
}

#top2 .wrapper.wide {
    max-width: 1440px;
}

#top2 #header {
    max-height: 85px;
}

#top2 h1,
#top2 h2,
#top2 h3,
#top2 h4,
#top2 h5,
#top2 h6 {
    line-height: 1.5;
    margin: 0 0 1em 0;
    font-family: "Noto Serif", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-variation-settings: "wdth" 100;
    font-feature-settings: "palt" 1;
}

#top2 a,
#top2 p,
#top2 dl,
#top2 ul,
#top2 ol,
#top2 th,
#top2 td {
    font-size: 18px;
    line-height: 1.8;
    font-family: "Noto Sans", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-variation-settings: "wdth" 100;
    font-feature-settings: "palt" 1;
    margin: 0 0 1em 0;
}

@media (max-width: 680px) {

    #top2 a,
    #top2 p,
    #top2 dl,
    #top2 ul,
    #top2 ol,
    #top2 th,
    #top2 td {
        font-size: 14px;
        line-height: 2;
    }
}

#top2 a.mgn5,
#top2 p.mgn5,
#top2 dl.mgn5,
#top2 ul.mgn5,
#top2 ol.mgn5,
#top2 th.mgn5,
#top2 td.mgn5 {
    margin-bottom: 5%;
}

@media (max-width: 680px) {

    #top2 a.mgn5,
    #top2 p.mgn5,
    #top2 dl.mgn5,
    #top2 ul.mgn5,
    #top2 ol.mgn5,
    #top2 th.mgn5,
    #top2 td.mgn5 {
        margin-bottom: 10%;
    }
}

#top2 a.btn {
    display: inline-block;
    position: relative;
    padding: 6px 40px 6px 20px;
    margin: 0;
    line-height: 1.4;
    text-decoration: none;
    height: inherit;
    text-align: center;
    font-size: 16px;
    letter-spacing: 0.1em;
    transition: all 0.2s ease;
    color: #181717;
    border-radius: 20px;
    background: none;
    border: 1px solid #181717;
}

@media (max-width: 680px) {
    #top2 a.btn {
        display: block;
    }
}

#top2 a.btn:hover {
    background: rgba(182, 0, 45, 0.1);
}

#top2 a.btn::after {
    content: "";
    display: block;
    background: url("../imgs/top2/btnarrow.png") center center no-repeat;
    background-size: contain;
    width: 14px;
    height: 12px;
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translate(0, -50%);
}

@media (max-width: 680px) {
    #top2 a.btn::after {
        right: 10px;
    }
}

#top2 .note {
    margin: 0 0 1em 0;
    line-height: 1.6;
    font-size: 16px;
    text-align: center;
}

@media (max-width: 680px) {
    #top2 .note {
        font-size: 14px;
    }
}

#top2 ul.note {
    display: block;
    padding: 0;
    margin: 30px 0;
    list-style: none;
    text-align: left;
}

#top2 ul.note li {
    display: block;
    margin: 0;
    padding: 0 0.5em 0 1em;
    font-size: 12px;
    position: relative;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: normal;
}

#top2 ul.note li::before {
    content: "※";
    position: absolute;
    left: 0;
    top: 0;
}

#top2 ul.note.iln li {
    display: inline;
}

#top2 ul.note.nomgn_top {
    margin: 0 0 30px 0;
}

#top2 .column {
    display: block;
    box-sizing: content-box;
    margin: 0 -5% 0 0;
    padding: 0 0 0 0;
    position: relative;
    clear: both;
    font-size: 0;
    text-align: center;
}

#top2 .column::after {
    content: "";
    display: block;
    clear: both;
}

#top2 .column.mgn {
    margin: 5% -5% 5% 0;
}

#top2 .column .row {
    display: inline-block;
    box-sizing: border-box;
    position: relative;
    margin: 0;
    padding: 0 5% 0 0;
    text-align: left;
    vertical-align: top;
    width: 100%;
    font-size: 18px;
}

#top2 .column .row.vmid {
    vertical-align: middle;
}

#top2 .column .row.w2 {
    width: 50%;
}

@media (max-width: 834px) {
    #top2 .column .row.w2 {
        width: 100%;
    }
}

#top2 .column .row.w3 {
    width: 33.33%;
}

@media (max-width: 680px) {
    #top2 .column .row.w3 {
        width: 100%;
    }
}

#top2 .column .row.w4 {
    width: 25%;
}

@media (max-width: 834px) {
    #top2 .column .row.w4 {
        width: 50%;
    }
}

#top2 .column .row.w3_2 {
    width: 66.66%;
}

@media (max-width: 680px) {
    #top2 .column .row.w3_2 {
        width: 100%;
    }
}

#top2 .column .row.fltr {
    float: right;
}

@media (max-width: 680px) {
    #top2 .column .row.fltr {
        float: none;
    }
}

#top2 .column .row.fltl {
    float: left;
}

@media (max-width: 680px) {
    #top2 .column .row.fltl {
        float: none;
    }
}

#top2 a.txtlink {
    padding: 0 5px;
    display: inline-block;
    border-bottom: 1px solid #181717;
    font-family: "Noto Serif", serif;
}

#top2 a.txtlink::after {
    content: "";
    display: inline-block;
    width: 15px;
    height: 10px;
    background: url("../imgs/top2/btnarrow.png") center center no-repeat;
    background-size: contain;
    margin: 0 0 0 5px;
}

#top2 a.txtlink:hover {
    border-bottom: 1px solid #ccc;
}

#top2 .mds {
    font-size: 20px;
    color: #B6002D;
    margin: 0 0 2em 0;
    text-align: left;
}

@media (max-width: 680px) {
    #top2 .mds {
        text-align: center;
    }
}

#top2 .mds img {
    display: block;
    max-width: 360px;
    margin: 0 0 0.5em 0;
}

@media (max-width: 680px) {
    #top2 .mds img {
        max-width: 260px;
        margin: 0 auto 0.5em auto;
    }
}

#top2 .mds.lrg {
    font-size: 20px;
    text-align: center;
    color: #181717;
    text-align: left;
    letter-spacing: 0.1em;
    margin: 0 0 1.5em 0;
}

@media (max-width: 680px) {
    #top2 .mds.lrg {
        margin: 0 0 0.5em 0;
    }
}

#top2 .mds.lrg span {
    font-size: 28px;
    padding: 0 0 0 5px;
}

@media (max-width: 680px) {
    #top2 .mds.lrg span {
        display: block;
    }
}

#top2 .mds.mid {
    font-size: 24px !important;
    text-align: center;
    color: #181717;
}

#top2 .mds.sml {
    font-size: 20px !important;
    text-align: left;
    letter-spacing: 0.1em !important;
    color: #181717;
    margin: 0 0 1em 0;
}

@media (max-width: 680px) {
    #top2 .mds.sml {
        font-size: 16px !important;
        margin: 0 0 0.5em 0;
    }
}

#top2 .mds.ulin {
    border-bottom: 1px solid #181717;
}

#top2 .mds.txl {
    text-align: left !important;
    padding: 0 0 0.3em 0;
}

#top2 .mds.pin {
    padding: 0 0 0 1.2em;
    position: relative;
}

#top2 .mds.pin::before {
    content: "";
    width: 18px;
    height: 18px;
    display: inline-block;
    background: url("../imgs/top2/pin.png") center center no-repeat;
    background-size: contain;
    position: absolute;
    left: 0;
    top: 0.3em;
}

#top2 .mds.plan {
    margin: 0;
    padding: 0 0 1em 0;
}

#top2 .mds.plan img {
    max-width: 160px;
}

@media (max-width: 680px) {
    #top2 .mds.plan img {
        max-width: 120px;
        margin: 0 auto 0.5em auto;
    }
}

#top2 .mds.price {
    margin: 0;
    padding: 0 0 1em 0;
}

#top2 .mds.price img {
    max-width: 180px;
    margin: 0 auto 1em auto;
}

@media (max-width: 680px) {
    #top2 .mds.price img {
        max-width: 130px;
        margin: 0 auto 0.5em auto;
    }
}

#top2 .mds.access {
    margin: 0;
    padding: 0 0 1em 0;
}

#top2 .mds.access img {
    max-width: 200px;
    margin: 0 auto 1em auto;
}

@media (max-width: 680px) {
    #top2 .mds.access img {
        max-width: 140px;
        margin: 0 auto 0.5em auto;
    }
}

#top2 .lead {
    font-size: 24px;
    line-height: 2;
    font-family: "Noto Serif", serif;
    letter-spacing: 0.1em;
    margin: 0 0 1em 0;
}

@media (max-width: 680px) {
    #top2 .lead {
        font-size: 14px;
    }
}

#top2 .lead.sml {
    font-size: 18px;
    line-height: 1.6;
}

#top2 .lead.mid {
    font-size: 24px;
    line-height: 1.6;
}

#top2 .lead.red {
    color: #B6002D;
}

#top2 .lead.txc {
    text-align: center;
}

#top2 ul.txtlist {
    display: block;
    padding: 0;
    margin: 2% 0 2% 0;
    list-style: none;
    font-size: 0;
}

@media (max-width: 834px) {
    #top2 ul.txtlist {
        font-size: 14px;
    }
}

#top2 ul.txtlist.hlf li {
    display: inline-block;
    width: 50%;
}

@media (max-width: 680px) {
    #top2 ul.txtlist.hlf li {
        display: inline-block;
        width: auto;
        padding-right: 10px;
    }
}

#top2 ul.txtlist li {
    display: block;
    margin: 0;
    padding: 0 0 0.5em 1.2em;
    position: relative;
    text-align: left;
    counter-increment: none;
    list-style-type: none;
    font-size: 18px;
}

#top2 ul.txtlist li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.4em;
    width: 0.8em;
    height: 0.8em;
    background: #B6002D;
    border-radius: 50%;
}

@media (max-width: 680px) {
    #top2 ul.txtlist li::before {
        top: 0.6em;
    }
}

@media (max-width: 680px) {
    #top2 ul.txtlist li {
        font-size: 14px;
        padding: 0 0 0 1.2em;
    }
}

#top2 .mainttl {
    position: relative;
    display: block;
    padding: 0;
    margin: 0;
    width: 100%;
}

#top2 .mainttl .mainimg {
    width: 100%;
    height: auto;
    position: relative;
    display: block;
    padding: 80px 0 0 0;
    margin: 0;
}

@media (max-width: 680px) {
    #top2 .mainttl .mainimg {
        padding: 64px 0 0 0;
        top: 22%;
    }
}

#top2 .mainttl .mainimg img {
    width: 100%;
    height: auto;
    margin: 0;
}

@media (max-width: 680px) {
    #top2 .mainttl .mainimg img {
        width: 120%;
        transform: translate(-10%, 0);
    }
}

#top2 .mainttl .mainlogo {
    width: 32%;
    height: auto;
    position: absolute;
    left: 50%;
    top: 18%;
    display: block;
    padding: 0;
    margin: 0;
    transform: translate(-50%, 0);
}

@media (max-width: 680px) {
    #top2 .mainttl .mainlogo {
        width: 60%;
        top: 22%;
    }
}

#top2 .mainttl .mainlogo img {
    width: 100%;
    height: auto;
    margin: 0;
}

#top2 #bread {
    width: 100%;
    margin: 0 0 2% 0;
    padding: 16px 0 0;
}

#top2 #bread.bgPaper {
    background: none;
}

#top2 #bread.bgPaper ul {
    display: inline-block;
    padding: 0 0 0 20px;
    width: auto;
}

#top2 #bread.bgPaper ul li a,
#top2 #bread.bgPaper ul li {
    font-size: 11px;
    background-position: right 5px;
}

#top2 .topics {
    display: block;
    position: relative;
    margin: 3% 0;
    background: rgba(255, 255, 255, 0.6);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    padding: 20px 30px 20px 200px;
    z-index: 1;
}

@media (max-width: 680px) {
    #top2 .topics {
        padding: 20px 20px 10px 20px;
        margin: 8% 0;
    }
}

#top2 .topics h3 {
    font-size: 24px;
    position: absolute;
    left: 30px;
    top: 30px;
}

@media (max-width: 680px) {
    #top2 .topics h3 {
        position: relative;
        left: inherit;
        top: inherit;
        margin: 0;
    }
}

#top2 .topics p {
    font-family: "Noto Serif", serif;
    border-left: 2px solid #B6002D;
    padding: 0 0 0 30px;
    margin: 10px 0;
}

@media (max-width: 680px) {
    #top2 .topics p {
        padding: 10px 0;
        border-left: none;
        border-top: 2px solid #B6002D;
    }

    #top2 .topics p br {
        display: none;
    }
}

#top2 .intro {
    display: block;
    position: relative;
    text-align: center;
    margin: 0;
    padding: 5% 0 34vw 0;
}

@media (max-width: 680px) {
    #top2 .intro {
        padding: 5% 0 45vw 0;
    }

    #top2 .intro .lead {
        text-align: left;
        padding: 0 20%;
        font-family: "Noto Serif", serif;
    }

    #top2 .intro .lead br {
        display: none;
    }
}

#top2 .intro::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 28%;
    height: 100%;
    background: url("../imgs/top2/bg_intro1.png") left bottom no-repeat;
    background-size: contain;
}

@media (max-width: 680px) {
    #top2 .intro::before {
        top: 0%;
        background: url("../imgs/top2/bg_intro1.png") left bottom no-repeat;
        background-size: contain;
    }
}

#top2 .intro::after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    width: 23%;
    height: 100%;
    background: url("../imgs/top2/bg_intro3.png") right top no-repeat;
    background-size: contain;
    transform: translate(0, -20%);
}

@media (max-width: 680px) {
    #top2 .intro::after {
        background: url("../imgs/top2/bg_intro3.png") right bottom no-repeat;
        background-size: contain;
        height: 80%;
    }
}

#top2 .intro .catch {
    font-size: 42px;
    font-weight: normal;
    color: #B6002D;
    letter-spacing: 0.3em;
    font-family: "Noto Serif", serif;
}

@media (max-width: 680px) {
    #top2 .intro .catch {
        font-size: 20px;
        letter-spacing: 0.2em;
    }
}

#top2 .intro .catch span.en {
    font-size: 24px;
    display: block;
    color: #181717;
    margin: 0 0 1em 0;
    position: relative;
}

@media (max-width: 680px) {
    #top2 .intro .catch span.en {
        font-size: 12px;
    }
}

#top2 .intro .catch span.en::before {
    content: "";
    display: inline-block;
    width: 100px;
    height: 1px;
    background: #181717;
    vertical-align: middle;
    margin: 0 100px 0 0;
}

@media (max-width: 680px) {
    #top2 .intro .catch span.en::before {
        margin: 0 30px 0 0;
        width: 50px;
    }
}

#top2 .intro .catch span.en::after {
    content: "";
    display: inline-block;
    width: 100px;
    height: 1px;
    background: #181717;
    vertical-align: middle;
    margin: 0 0 0 100px;
}

@media (max-width: 680px) {
    #top2 .intro .catch span.en::after {
        width: 50px;
        margin: 0 0 0 30px;
    }
}

#top2 .buffet {
    display: block;
    position: relative;
    text-align: center;
    margin: 0;
    padding: 0 0 5% 0;
}

#top2 .buffet::before {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    top: 0;
    width: 50%;
    height: 70%;
    background: url("../imgs/top2/bg_intro2.png") center top no-repeat;
    background-size: contain;
    transform: translate(-20%, -50%);
    z-index: -1;
}

@media (max-width: 680px) {
    #top2 .buffet::before {
        content: "";
        display: block;
        position: absolute;
        left: 50%;
        top: 0;
        width: 50%;
        height: 45vw;
        background: url("../imgs/top2/bg_intro2.png") center top no-repeat;
        background-size: contain;
        transform: translate(-30%, -100%);
        z-index: -1;
    }
}

#top2 .buffet::after {
    content: "";
    display: block;
    width: 55%;
    height: 100%;
    background: rgba(219, 99, 129, 0.1);
    position: absolute;
    top: 0;
    right: 0;
    transform: translate(0, -5%);
    z-index: -1;
}

@media (max-width: 680px) {
    #top2 .buffet::after {
        top: inherit;
        bottom: 0;
        width: 90%;
        height: 60%;
        transform: translate(0, 0);
    }
}

#top2 .buffet .menulink {
    display: block;
    margin: 0 0 5% 0;
    padding: 0;
}

#top2 .buffet .menulink img {
    widows: 100%;
    margin: 0;
}

#top2 .buffet .menulink figcaption {
    display: block;
    padding: 20px 0 20px 20%;
    margin: 0;
    position: relative;
}

@media (max-width: 680px) {
    #top2 .buffet .menulink figcaption {
        padding: 20px 0 50px 12%;
    }
}

#top2 .buffet .menulink figcaption p {
    font-size: 20px;
    line-height: 1.6;
    font-family: "Noto Serif", serif;
    padding: 0;
    margin: 0 140px 0 0;
}

@media (max-width: 680px) {
    #top2 .buffet .menulink figcaption p {
        font-size: 20px;
        margin: 0;
    }
}

#top2 .buffet .menulink figcaption a.txtlink {
    position: absolute;
    top: 20px;
    right: 0;
}

@media (max-width: 680px) {
    #top2 .buffet .menulink figcaption a.txtlink {
        position: absolute;
        top: inherit;
        right: 0;
        bottom: 0;
    }
}

#top2 .plan {
    display: block;
    position: relative;
    margin: 5% 0 5% 0;
    padding: 100px 0 100px 60%;
    background: url("../imgs/top2/bg_plan.jpg") center center no-repeat #FFFCF8;
    background-size: cover;
}

@media (max-width: 680px) {
    #top2 .plan {
        padding: 40px 5% 260px 5%;
        background: url("../imgs/top2/bg_plan_sp.jpg") center top no-repeat #FFFCF8;
        background-size: cover;
    }
}

#top2 .plan .inner {
    width: 80%;
    margin: 0;
    padding: 0;
}

@media (max-width: 680px) {
    #top2 .plan .inner {
        width: 100%;
    }
}

#top2 .plan .inner h2 {
    background: none;
}

#top2 .plan .inner p {
    line-height: 2;
}

#top2 .other {
    display: block;
    position: relative;
    text-align: center;
    margin: 0;
    padding: 5% 0;
}

#top2 .other .cntmenu {
    display: block;
    padding: 0;
    margin: 0 -5% 0 0;
    box-sizing: border-box;
    list-style: none;
    font-size: 0;
    text-align: left;
}

#top2 .other .cntmenu li {
    display: inline-block;
    vertical-align: top;
    padding: 0 5% 5% 0;
    margin: 0;
    text-align: left;
    width: 50%;
    box-sizing: border-box;
}

@media (max-width: 680px) {
    #top2 .other .cntmenu li {
        width: 100%;
        padding: 0 5% 10% 0;
    }
}

#top2 .other .cntmenu li figure {
    margin: 0;
    overflow: hidden;
    display: block;
}

#top2 .other .cntmenu li figure img {
    display: block;
    padding: 0;
    margin: 0;
    width: 100%;
    height: auto;
    transition: all 0.3s ease;
}

@media (max-width: 680px) {
    #top2 .other .cntmenu li figure img {
        transform: none;
    }
}

#top2 .other .cntmenu li figure figcaption {
    display: block;
    width: 100%;
    margin: 0;
    padding: 20px 0 0 0;
}

@media (max-width: 680px) {
    #top2 .other .cntmenu li figure figcaption {
        transform: none;
        padding: 10px 0 0 0;
    }
}

#top2 .other .cntmenu li figure figcaption h3 {
    font-size: 24px;
    margin: 0 0 0.2em 0;
    color: #B6002D;
    letter-spacing: 0.2em;
}

@media (max-width: 680px) {
    #top2 .other .cntmenu li figure figcaption h3 {
        font-size: 24px;
    }
}

#top2 .other .cntmenu li figure figcaption p {
    font-size: 14px;
    line-height: 2;
    margin: 0;
}

#top2 .other .cntmenu li figure figcaption a.txtlink {
    position: absolute;
    top: 20px;
    right: 0;
}

@media (max-width: 680px) {
    #top2 .other .cntmenu li figure figcaption a.txtlink {
        position: absolute;
        right: 0;
        top: 10px;
        bottom: inherit;
    }
}

#top2 .other .menulink {
    display: block;
    margin: 0 0 5% 0;
    padding: 0;
}

#top2 .other .menulink img {
    widows: 100%;
    margin: 0;
}

#top2 .other .menulink figcaption {
    display: block;
    padding: 20px 0 20px 20%;
    margin: 0;
    position: relative;
}

@media (max-width: 680px) {
    #top2 .other .menulink figcaption {
        padding: 20px 0 50px 12%;
    }
}

#top2 .other .menulink figcaption p {
    font-size: 20px;
    line-height: 1.6;
    font-family: "Noto Serif", serif;
    padding: 0;
    margin: 0 140px 0 0;
}

@media (max-width: 680px) {
    #top2 .other .menulink figcaption p {
        font-size: 20px;
        margin: 0;
    }
}

#top2 .other .menulink figcaption a.txtlink {
    position: absolute;
    top: 20px;
    right: 0;
}

@media (max-width: 680px) {
    #top2 .other .menulink figcaption a.txtlink {
        position: absolute;
        top: inherit;
        right: 0;
        bottom: 0;
    }
}

#top2 .price {
    display: block;
    position: relative;
    text-align: center;
    margin: 0;
    padding: 7% 0;
}

#top2 .price .emp {
    padding: 0;
    color: #db2400;
    margin: 0;
    font-size: 24px;
    font-family: "Noto Serif", serif;
    color: #B6002D;
    letter-spacing: 0.1em;
}

#top2 .price .mds.mid {
    margin: 0 0 0.5em 0;
}

#top2 .price .column {
    margin-bottom: 0;
}

#top2 .price .column .row {
    padding-bottom: 0;
    margin-bottom: 0;
}

@media (max-width: 680px) {
    #top2 .price .column .row {
        padding-bottom: 0;
        margin-bottom: 5%;
    }
}

#top2 .price table.tbl {
    border-collapse: collapse;
    margin: 0;
    padding: 0;
    width: 100%;
    border-top: 1px solid #181717;
    border-left: 1px solid #181717;
    display: table;
}

#top2 .price table.tbl tr {
    border-bottom: 1px solid #181717;
}

#top2 .price table.tbl tr.lunch th,
#top2 .price table.tbl tr.lunch td {
    background: rgba(219, 99, 129, 0.2);
}

#top2 .price table.tbl tr.lunch.member th,
#top2 .price table.tbl tr.lunch.member td {
    background: rgba(219, 99, 129, 0.1);
}

#top2 .price table.tbl tr.dinner th,
#top2 .price table.tbl tr.dinner td {
    background: rgba(99, 121, 219, 0.2);
}

#top2 .price table.tbl tr.dinner.member th,
#top2 .price table.tbl tr.dinner.member td {
    background: rgba(99, 121, 219, 0.1);
}

#top2 .price table.tbl tr th {
    padding: 5px;
    border-right: 1px solid #181717;
}

@media (max-width: 834px) {
    #top2 .price table.tbl tr th {
        padding: 4px 8px;
    }
}

#top2 .price table.tbl tr td {
    padding: 5px;
    border-right: 1px solid #181717;
}

#top2 .price table.tbl tr td.nobdr {
    border-right: none;
}

@media (max-width: 834px) {
    #top2 .price table.tbl tr td {
        padding: 4px 8px;
    }
}

#top2 .price table.tbl tr th,
#top2 .price table.tbl tr td {
    box-sizing: border-box;
    text-align: center;
    font-weight: normal;
    vertical-align: middle;
    font-size: 16px;
    font-family: "Noto Serif", serif;
}

@media (max-width: 680px) {

    #top2 .price table.tbl tr th,
    #top2 .price table.tbl tr td {
        font-size: 14px;
    }
}

#top2 .price table.tbl tr th.dinner,
#top2 .price table.tbl tr td.dinner {
    background: #B6002D;
    color: #fff;
}

#top2 .access {
    display: block;
    position: relative;
    text-align: center;
    margin: 0;
    padding: 0 0 5% 0;
}

#top2 .access .map {
    display: block;
    margin: 0 0 5% 0;
}

#top2 .access .map iframe {
    border: none;
    margin: 0;
    width: 100%;
    height: 32vw;
    overflow: hidden;
}

@media (max-width: 680px) {
    #top2 .access .map iframe {
        height: 60vw;
    }
}

#top2 .access .inner {
    display: block;
    border-left: 2px solid #B6002D;
    padding: 0 0 0 15px;
    margin: 20px 0;
}

@media (max-width: 680px) {
    #top2 .access .inner {
        padding: 0;
        border-left: none;
    }
}

#top2 .access .inner .mds {
    margin: 0;
}

#top2 .access .inner .txtlist {
    padding: 0;
}

#top2 .access .inner .txtlist li {
    padding: 0;
    font-size: 14px;
}

#top2 .access .inner .txtlist li::before {
    display: none;
}

#top2 .access address {
    font-size: 14px;
}

#top2 .access .tel {
    font-size: 14px;
    font-family: "Noto Serif", serif;
}

#top2 .access .tel a {
    font-size: 20px;
    font-family: "Noto Serif", serif;
    padding: 0 5px;
}