@charset "UTF-8";


/* common /////////////////////////////////////////////////////////////////////////////////////////// */
.pcNone {
    display: none;
}

.cmn_maxbox {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
}

/* フォントファミリー */
.cmn_cms_editor h3,
.cmn_cms_editor h4,
.cmn_cms_editor h5,
.cmn_cms_editor h6,
.font_seikaisho {
    font-family: "Sei Kaisho CB1","正楷書CB1","Noto Serif JP","HiraMinProN-W3","Hiragino Mincho ProN","ヒラギノ明朝 ProN W3","Yu Mincho",YuMincho,"游明朝体","MS Mincho","ＭＳ 明朝","MS PMincho","ＭＳ Ｐ明朝","Symbol","serif";
    font-weight: 700;
}

.font_notoserif {
    font-family: "Noto Serif JP","HiraMinProN-W3","Hiragino Mincho ProN","ヒラギノ明朝 ProN W3","Yu Mincho",YuMincho,"游明朝体","MS Mincho","ＭＳ 明朝","MS PMincho","ＭＳ Ｐ明朝","Symbol","serif";
}


/* aタグ(電話番号) */
a[href^="tel"] {
    pointer-events: none;
}



/* 背景パターン 濃い茶色 */
.cmn_bg {
    background-image: url(../img/cmn_bg_01.png);
    background-repeat: repeat;
    background-position: center;
    background-size: 358px;
}

/* SUB メインタイトル */
.cmn_maintitle {
    position: relative;
    height: 220px;
    background-image: url(../img/cmn_maintitle_photo.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.cmn_maintitle::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-image: url(../img/cmn_maintitle_patt_bottom.png);
    background-repeat: repeat-x;
    background-position: center bottom -2px;
    background-size: 700px;
}

.cmn_maintitle h1 {
    position: relative;
    z-index: 9;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 600px;
    height: 100%;
    margin: 0 auto;
    background-image: url(../img/cmn_maintitle_bg.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: auto;
    color: #FFFFFF;
    font-size: 4.2rem;
    letter-spacing: .2em;
    line-height: 1.2;
    font-weight: 700;
    text-align: center;
    text-shadow: 0 0 2px #000;
}

.cmn_maintitle + * {
    margin-top: 70px;
}

/* 共通BOX（四辺波模様あり） */
.cmn_box {
    position: relative;
    z-index: 9;
    padding-top: 60px;
    padding-bottom: 60px;
    background-color: rgba(255, 255, 255, 0.7);
}

.cmn_box + .cmn_box {
    margin: 50px 0 0 0;
}

.cmn_box::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    z-index: 100000;
    display: block;
    width: 100%;
    height: 100%;
    background-image:
        url(../img/cmn_maintitle_patt_top.png), /* 上 */
        url(../img/cmn_maintitle_patt_right.png), /* 下 */
        url(../img/cmn_maintitle_patt_bottom.png), /* 左 */
        url(../img/cmn_maintitle_patt_left.png); /* 右 */
    background-repeat:
        repeat-x,
        repeat-y,
        repeat-x,
        repeat-y;
    background-position:
        center top -2px,
        right -2px center,
        center bottom -2px,
        left -2px center;
    background-size:
        auto 5px,
        5px auto,
        auto 5px,
        5px auto;
    pointer-events: none;
}

.cmn_box_inner {
    padding-left: 100px;
    padding-right: 100px;
}

/* 見出し（筆跡：中央） */
/* .xxxx_body h2, */
.menu_takeout h2,
/* .home_body h2, */
.link_body h2,
.members_body h2,
/* .menu_body h2, */
.merumaga_body h2,
.news_single_body h2,
.shop_body h2,
.staff_body h2 {
    padding: 14px 0;
    margin: 0 3% 40px;
    color: #534741;
    font-size: 3.0rem;
    line-height: 1.6;
    font-weight: 700;
    text-align: center;
    background-image: url(../img/cmn_tit_brush_center.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: auto;
}

.xxxx_body .cmn_box_inner h2,
.menu_takeout h2,
/* .home_body .cmn_box_inner h2, */
.link_body .cmn_box_inner h2,
.members_body .cmn_box_inner h2,
/* .menu_body .cmn_box_inner h2, */
.merumaga_body .cmn_box_inner h2,
.news_single_body .cmn_box_inner h2,
.shop_body .cmn_box_inner h2,
.staff_body .cmn_box_inner h2 {
    /* innerの中のh2はみ出し防止 */
    margin-left: 0;
    margin-right: 0;
}


/* CMSエディタ装飾 */
[id="menu_course"] h4,
[id="menu_same"] h4,
[id="menu_drink"] h4,
.merumaga_hotwo > h3,
.cmn_cms_editor h3 {
    display: inline-block;
    padding: 3px 44px;
    margin: .5em 0;
    color: #534741;
    font-size: 2.4rem;
    line-height: 1.5;
    background-image:
        url(../img/news_title_marker.svg),
        url(../img/news_title_bg_brush.png);
    background-repeat:
        no-repeat,
        no-repeat;
    background-position:
        left 22px top 18px,
        left top;
    background-size:
        auto,
        100% 100%;
}

.cmn_cms_editor h4,
.cmn_cms_editor h5,
.cmn_cms_editor h6 {
    display: block;
    padding: 0 0 .3em 0;
    border-color: #534741;
    margin: .6em 0 .8em;
    color: #534741;
	/* letter-spacing: -0.0415625em; */
	letter-spacing: -0.0015625em;
    line-height: 1.3;
    font-weight: 700;
}

.cmn_cms_editor h4 {
    font-size: 2.4rem;
    border-style: solid;
    border-width: 0 0 2px 0;
}

.cmn_cms_editor h5 {
    font-size: 2.2rem;
    border-style: dashed;
    border-width: 0 0 2px 0;
}

.cmn_cms_editor h6 {
    font-size: 1.9rem;
    border-style: dotted;
    border-width: 0 0 2px 0;
}

.cmn_cms_editor p {
    padding: 6px 0 8px;
    margin: 0 0 8px 0;
    /*text-align: justify;
    text-justify: inter-ideograph;*/
}

.cmn_cms_editor img {
    display: inline-block;
    width: auto;
    height: auto;
    margin-right: 8px;
    margin-top: 8px;
    margin-bottom: 8px;
}

.cmn_cms_editor iframe[src*="youtube"] {
    /* display: inline-block;
    width: 100%;
    height: 56.25vw;
    max-height: 506px;
    margin-top: 8px;
    margin-bottom: 8px; */

    display: inline-block;
    max-width: 100%;
    margin-top: 8px;
    margin-bottom: 8px;
}

.cmn_cms_editor strong {
    font-weight: 900;
}

.cmn_cms_editor em {
    /* font-style: italic; */
    font-style: inherit;
}

.cmn_cms_editor a {
    display: inline-block;
    margin-top: 4px;
    margin-bottom: 4px;
    color: #534741;
    text-decoration: underline;
    word-break: break-all;
}

.cmn_cms_editor a:hover {
    color: #534741;
}

.cmn_cms_editor table {
    margin: 0 0 8px 0;
    word-break: break-all;
}

.cmn_cms_editor th,
.cmn_cms_editor td {
    margin: 0 0 8px 0px;
    padding: 6px 10px;
    border: 1px solid #8F8F8F;
}

.cmn_cms_editor ul {
    margin: 0 0 8px 0;
}

.cmn_cms_editor ul li {
    list-style: disc;
    margin: 0 0 4px 20px;
}

.cmn_cms_editor ol {
    margin: 0 0 8px 0;
}

.cmn_cms_editor ol li {
    list-style: decimal;
    margin: 0 0 4px 20px;
}

.cmn_cms_editor {
	word-wrap: break-word;
    overflow-wrap: break-word;
}

/* WPオリジナルクラス有効化 */
.cmn_cms_editor .aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.cmn_cms_editor .alignright {
    display: block;
    margin-left: auto;
}

.cmn_cms_editor .alignleft {
    display: block;
    margin-right: auto;
}

.cmn_cms_editor .wp-caption {
    border: 1px solid #ddd;
    text-align: left;
    background-color: #f3f3f3;
    padding: 5px;
    border-radius: 3px;
}

.cmn_cms_editor .wp-caption img {
    padding: 0;
    border: 0;
    margin: 0;
}

.cmn_cms_editor .wp-caption p.wp-caption-text {
    font-size: 14px;
    line-height: 1.5;
    padding: 0;
    margin: 0;
}


/* 縦書き */
.cmn_vertical {
    display: inline-block;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    -o-writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    /* font-feature-settings: "palt"; */
    /* font-feature-settings: "vpal"; */
    /* font-feature-settings: "pkna"; */

    text-align: justify;
    text-justify: inter-ideograph;

    text-align: left;
}

.cmn_vertical_combine {
    /* 縦中横の文字つぶれ対策 */
	-webkit-text-combine: horizontal;
    -ms-text-combine-horizontal: all;
	text-combine-upright: all;
    line-height: 1;
    letter-spacing: normal;
    /* letter-spacing: 0; */
    /* letter-spacing: 0.1rem; */
    /* letter-spacing: -0.1rem; */
}

.cmn_horizontal {
    /* 横書きにする */
     -ms-writing-mode:lr-tb;
    writing-mode:horizontal-tb;
    -ms-writing-mode:horizontal-tb;
    -o-writing-mode: horizontal-tb;
    -webkit-writing-mode: horizontal-tb;

    line-height: 1;
    letter-spacing: 0;
    display: inline-block;
}


/* header */
header {
    position: relative;
}

#header_modalmenu_check {
    display: none;
}

.header_slider {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 9;
    width: 100%;
    height: 100%;
}

.header_slider .swiper-container,
.header_slider .swiper-wrapper,
.header_slider .swiper-slide {
    height: 100%;
}

.header_slider .swiper-slide {
    height: 100%;
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
}

.header_slider .slide01 {
    background-image: url(../img/header_slider_01.jpg);
}

.header_slider .slide02 {
    background-image: url(../img/header_slider_02.jpg);
}

.header_slider .slide03 {
    background-image: url(../img/header_slider_03.jpg);
}

.header_slider .slide04 {
    background-image: url(../img/header_slider_04.jpg);
}

.header_slider .slide05 {
    background-image: url(../img/header_slider_05.jpg);
}

.home_body .header_top {
    position: relative;
    z-index: 99;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    background-image: url(../img/cmn_bg_01.png);
    background-repeat: repeat;
    background-position: center;
    background-size: 358px;
}

.home_body .header_top h1 {
    flex-shrink: 0;
    margin: 0 auto 0 3%;
    color: #FFFFFF;
    font-size: 1.4rem;
    text-shadow: 0 0 5px #000;
}

.home_body .header_top h1 br {
    display: none;
}

.header_top > a {
    flex-shrink: 0;
    display: block;
    width: 60px;
    height: 60px;
    padding: 10px 0;
    color: #C9171E;
    font-size: 1.0rem;
    letter-spacing: 0;
    text-align: center;
    background-color: #ffffff;
}

.home_body .header_top > a {
    margin: 0 0 0 3%;
}

.cmn_body .header_top {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 999;
    display: inline-flex;
    align-items: center;
}

.cmn_body .header_top > div {
    display: none;
}

.header_modalmenu_open {
    flex-shrink: 0;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 60px;
    height: 60px;
    cursor: pointer;
    background-color: #C9171E;
}

#header_modalmenu_conts .header_modalmenu_open {
    background-color: #000000;
}

.header_modalmenu_open .box {
    position: relative;
    display: inline-block;
    width: 36px;
    height: 22px;
}

.header_modalmenu_open .box span {
    position: absolute;
    left: 0;
    top: calc((100% - 2px)/2);
    display: block;
    width: 100%;
    height: 2px;
    transition: transform .25s,
                opacity .25s;
    background-color: #FFFFFF;
}

.header_modalmenu_open .top {
    transform: translateY(-10px);
}

.header_modalmenu_open .bottom {
    transform: translateY(10px);
}

#header_modalmenu_check:checked ~ .header_top .header_modalmenu_open .top,
#header_modalmenu_check:checked ~ #header_modalmenu_conts .header_modalmenu_open .top {
    transform: rotate(45deg);
}

#header_modalmenu_check:checked ~ .header_top .header_modalmenu_open .center,
#header_modalmenu_check:checked ~ #header_modalmenu_conts .header_modalmenu_open .center {
    opacity: 0;
}

#header_modalmenu_check:checked ~ .header_top .header_modalmenu_open .bottom,
#header_modalmenu_check:checked ~ #header_modalmenu_conts .header_modalmenu_open .bottom {
    transform: rotate(-45deg);
}

.header_maintitle {
    position: relative;
    z-index: 99;
    height: 35vw;
    min-height: 490px;
    max-height: 700px;
    overflow: hidden;
}



.header_maintitle > p {
    position: relative;
    z-index: 100;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    /* padding: 4% 0 0 0; */
    color: #FFFFFF;
    font-size: 4.8rem;
    font-weight: 600;
    letter-spacing: .17em;
    line-height: 1.35;
    background-image: url(../img/header_maintitle_bg.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: auto;
    text-align: center;
    text-shadow: 0 0 10px #000;
    pointer-events: none;
}


.header_shopinfo {
    position: absolute;
    z-index: 10;
    right: 1%;
    bottom: 3%;
    width: 26%;
    min-width: 376px;
    max-width: 390px;
    padding: 50px 70px 50px 50px;
    background-image: url(../img/header_shopinfo_bg.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    color: #ffffff;
}

.header_shopinfo > div {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
}

.header_shopinfo > div + div {
    margin: 10px 0 0 0;
}

.header_shopinfo dt {
    order: 9;
    /* flex-grow: 1; */
    padding: 0 0 0 14px;
    font-size: 1.4rem;
    line-height: 1.2;
    background-image: url(../img/header_shopinfo_marker.svg);
    background-repeat: no-repeat;
    background-position: left top 5px;
    background-size: auto;
}

.header_shopinfo > div::before {
    content: '';
    order: 99;
    flex-grow: 1;
    display: block;
    min-width: 15px;
    margin: 0 5px;
    border-top: 1px dashed #ffffff;
}

.header_shopinfo dd {
    order: 999;
    flex-grow: 1;
    letter-spacing: 0;
}

.header_shopinfo dd a {
    display: inline-block;
    padding: 0 0 0 24px;
    font-size: 3.3rem;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.15rem;
    background-image: url(../img/header_slider_shopinfo_phone.svg);
    background-repeat: no-repeat;
    background-position: left top .45em;
    background-size: auto;
}

.header_shopinfo dd > div {
    display: flex;
    align-items: flex-start;
    margin: 4px 0 0 0;
}

.header_shopinfo dd span {
    flex-shrink: 0;
    display: inline-block;
    padding: 1px;
    margin: 3px 6px 0 0;
    font-size: 1.3rem;
    line-height: 1;
    border: 1px solid #ffffff;
}

.header_shopinfo dd p {
    width: 100%;
}

.header_shopinfo dd small {
    display: inline-block;
    font-size: 1.3rem;
}



.header_gnav {
    position: relative;
    z-index: 99;
    height: 150px;
}

.home_body .header_gnav {
    background-image: url(../img/cmn_bg_01.png);
    background-repeat: repeat;
    background-position: center;
    background-size: 358px;
}

.header_gnav > div {
    height: 100%;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
}

.cmn_body .header_gnav > div {
    max-width: 1000px;
}

.header_gnav > div > span {
    position: relative;
    flex-shrink: 0;
    display: block;
    width: 200px;
}

.home_body .header_gnav > div > span a {
    position: absolute;
    left: 0;
    bottom: -20%;
    display: block;
    width: 100%;
}

.cmn_body .header_gnav > div > span a {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 100%;
}

.header_gnav ul {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.header_gnav li {
    width: 25%;
    height: 100%;
}

.cmn_body .header_gnav li:last-of-type {
    width: 32%;
}

.header_gnav li + li {
    background-image: url(../img/header_gnav_line.svg);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: auto;
}

.header_gnav ul a {
    display: flex;
    justify-content: center;
    align-content: center;
    flex-wrap: wrap;
    height: 100%;
    text-align: center;
}

.header_gnav ul img {
    display: inline-block;
    width: 52px;
}

.header_gnav ul p {
    width: 100%;
    margin: 10px 0 0 0;
    color: #FFFFFF;
    font-size: 2.0rem;
    letter-spacing: 0.1rem;
    line-height: 1.75;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
}

#header_modalmenu_close_bg {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 999;
    display: none;
    background-color: rgba(0, 0, 0, 0.6);
}

#header_modalmenu_check:checked ~ #header_modalmenu_close_bg {
    display: block;
}

#header_modalmenu_conts {
    /* position: absolute; */
    position: fixed;
    top: 0;
    right: 0;
    z-index: 9999;
    width: auto;
    height: 100%;
    background-color: #FFFFFF;
    opacity: 0;
    transition: opacity .35s;
    overflow: auto;
    pointer-events: none;
    text-align: right;
}

#header_modalmenu_check:checked ~ #header_modalmenu_conts {
    opacity: 1;
    pointer-events: all;
}

.header_modalmenu_gnav {
    padding: 40px 50px 60px;
    margin: 10px 0 0 0;
    text-align: center;
}

.header_modalmenu_gnav li {
    margin: 20px 0 0 0;
}

.header_modalmenu_gnav a {
    display: block;
    font-size: 1.6rem;
    text-align: center;
}


/* main */
main {
    padding: 0 0 70px 0;
    margin: 0 50px;
    background-image: url(../img/cmn_bg_02.png);
    background-repeat: repeat;
    background-position: center;
    background-size: 250px;
}

/* footer */
footer {
    position: relative;
}

.footer_top {
    position: relative;
    z-index: 99;
    display: flex;
    justify-content: flex-start;
    background-image: url(../img/cmn_bg_02.png);
    background-repeat: repeat;
    background-position: center;
    background-size: 250px;
    margin: 0 50px;
}

.footer_top::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.7);
}

.footer_top > span,
.footer_top > ul,
.footer_shopinfo {
    padding-top: 30px;
    padding-bottom: 30px;
}

.footer_top > span {
    flex-shrink: 0;
    align-self: center;
    display: inline-block;
    width: 14%;
    min-width: 170px;
    max-width: 300px;
    padding-left: 3.5%;
    padding-right: 3.5%;
}

.footer_top > span img {
    width: 100%;
}

.footer_top > ul {
    flex-shrink: 0;
    align-self: center;
    width: 19%;
    padding-left: 3.5%;
    padding-right: 1%;
}

.footer_top > ul,
.footer_shopinfo {
    background-image: url(../img/footer_line_pc.svg);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: auto 220px;
}

.footer_top > ul li + li {
    margin: 4px 0 0 0;
}

.footer_top > ul a {
    display: inline-block;
    line-height: 1.4;
    letter-spacing: 0;
}

.footer_shopinfo {
    flex-shrink: 0;
    align-self: center;
    width: 26%;
    min-width: 326px;
    max-width: 400px;
    padding-left: 3.5%;
    padding-right: 2.5%;
}

.footer_shopinfo > div {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
}

.footer_shopinfo > div + div {
    margin: 10px 0 0 0;
}

.footer_shopinfo dt {
    order: 9;
    /* flex-grow: 1; */
    padding: 0 0 0 14px;
    font-size: 1.4rem;
    line-height: 1.2;
    background-image: url(../img/footer_marker_gray.svg);
    background-repeat: no-repeat;
    background-position: left top 5px;
    background-size: auto;
}

.footer_shopinfo > div::before {
    content: '';
    order: 99;
    flex-grow: 1;
    display: block;
    min-width: 15px;
    margin: 0 5px;
    border-top: 1px dashed #000000;
}

.footer_shopinfo dd {
    order: 999;
    flex-grow: 1;
    letter-spacing: 0;
}

.footer_shopinfo dd a {
    display: inline-block;
    padding: 0 0 0 24px;
    font-size: 3.3rem;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.15rem;
    background-image: url(../img/footer_ico_phone.svg);
    background-repeat: no-repeat;
    background-position: left top .45em;
    background-size: auto;
}

.footer_shopinfo dd > div {
    display: flex;
    align-items: flex-start;
    margin: 4px 0 0 0;
}

.footer_shopinfo dd span {
    flex-shrink: 0;
    display: inline-block;
    padding: 1px;
    margin: 3px 6px 0 0;
    font-size: 1.3rem;
    line-height: 1;
    border: 1px solid #000000;
}

.footer_shopinfo dd p {
    width: 100%;
}

.footer_shopinfo dd small {
    display: inline-block;
    font-size: 1.3rem;
}



.footer_top > div {
    position: relative;
    align-self: stretch;
    width: 100%;
    min-height: 300px;
    overflow: hidden;
}

.footer_top > div > iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.footer_bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 60px;
    padding: 0 70px 4px 0;
    color: #ffffff;
}

.footer_bottom > ul {
    flex-shrink: 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.footer_bottom > ul li {
    margin: 0 0 0 30px;
}

.footer_bottom > ul a {
    display: inline-block;
    font-size: 1.7rem;
}

.footer_bottom > small {
    display: inline-block;
    margin: 0 0 0 70px;
    font-size: 1.3rem;
    letter-spacing: .05rem;
}

.footer_bottom > p a {
    display: inline-block;
    font-size: 1.2rem;
}



.footer_gotop {
    position: fixed;
    right: 0;
    bottom: 0;
    z-index: 99;
    display: none;
}

.footer_gotop a {
    display: inline-block;
}









/* home /////////////////////////////////////////////////////////////////////////////////////////// */
.home_body main {
    padding-bottom: 70px;
}

.home_body .cmn_box {
    padding-top: 30px;
    overflow: hidden;
}

.home_topmsg {
    position: relative;
}

.home_topmsg_imgbox {
    height: 450px;
    background-image: url(../img/home_topmsg_mainimg.png);
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: cover;
}

.home_topmsg_txtbox {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
    padding: 50px 0 0 0;
}

.home_topmsg_txtbox > div {
    width: 50%;
}

.home_topmsg_txtbox > div h2 {
    font-size: 2.0rem;
    line-height: 1.8;
}

.home_topmsg_txtbox > div p {
    /* height: 340px; */
    margin: 34px 30px 0 0;
    font-size: 1.6rem;
    line-height: 1.9;
}

.home_topmsg_txtbox > div p .blank {
    display: block;
}







.home_news,
.home_osusume,
.home_teiban {
    padding: 50px 0;
}


.home_news {
    overflow: hidden;
    background-color: #ffffff;
    box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, 0.3)
}

.home_news_inner h2 {
    text-shadow: 0 0 2px rgba(0, 0, 0, 0.3);
    font-size: 3.6rem;
    letter-spacing: 0.05rem;
    line-height: 1.3;
    text-align: center;
}

.home_news_inner > ul {
    min-height: 259px;
    max-height: 260px;
    padding: 0 30px 0 0;
    margin: 24px 0 0 0;
    overflow: auto;
}

.home_news_inner > ul li {
    display: flex;
    align-items: center;
    border-style: dashed;
    padding: 18px 30px;
    border-color: #CCCCCC;
}

.home_news_inner > ul li:nth-of-type(1) {
    border-width: 1px 0 1px 0;
}

.home_news_inner > ul li + li {
    border-width: 0 0 1px 0;
}

.home_news_inner > ul span {
    flex-shrink: 0;
    display: inline-block;
    min-width: 80px;
    margin: 0 6% 0 0;
    font-size: 1.3rem;
    letter-spacing: 0.05rem;
}

.home_news_inner > ul p {
    width: 100%;
    font-size: 1.4rem;
    line-height: 1.5;
    letter-spacing: 0.05rem;
}

.home_news_inner > ul a {
    display: block;
}


.home_teiban {
    background-image: url(../img/home_cards_shop_patt.png);
    background-repeat: repeat;
    background-position: center;
    background-size: 250px;
}

.home_cards {
    padding: 50px 0 0 0;
}

.home_cards_inner {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    max-width: 900px;
    margin: 0 auto;
}

.home_merumaga {
    width: 100%;
}

.home_shop,
.home_staff,
.home_reserve,
.home_takeout {
    width: 48%;
    margin-top: 50px;
}

.home_merumaga a,
.home_shop a,
.home_staff a {
    display: flex;
    height: 100%;
    background-repeat: repeat;
    background-position: center;
    background-size: 225px;
}

.home_merumaga a {
    background-image: url(../img/home_cards_merumaga_patt.png);
}

.home_shop a {
    background-image: url(../img/home_teiban_patt.png);
}

.home_staff a {
    background-image: url(../img/home_cards_staff_patt.png);
}

.home_merumaga a::before,
.home_shop a::before,
.home_staff a::before {
    content: '';
    flex-shrink: 0;
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
}

.home_merumaga a::before {
    width: 22%;
    min-width: 150px;
    max-width: 200px;
    background-image: url(../img/home_cards_merumaga_thumb.jpg);
    background-position: left bottom;
}

.home_shop a::before {
    width: 46%;
    min-width: 150px;
    max-width: 200px;
    background-image: url(../img/home_cards_shop_thumb.jpg);
    background-position: right top;
}

.home_staff a::before {
    width: 46%;
    min-width: 150px;
    max-width: 200px;
    background-image: url(../img/home_cards_staff_thumb.jpg);
    background-position: right top;
}

.home_merumaga dl,
.home_shop a > div,
.home_staff a > div {
    width: 100%;
    padding: 24px 20px 24px 28px;
}

.home_merumaga dt {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    color: #ffffff;
}

.home_merumaga dt span {
    display: inline-block;
    padding: 2px 0;
    margin: 0 20px 0 0;
    border-top: 1px solid #ffffff;
    border-bottom: 1px solid #ffffff;
    font-size: 1.8rem;
    letter-spacing: 0.05rem;
}

.home_merumaga dt h2 {
    display: inline-block;
    font-size: 3.2rem;
}

.home_merumaga dd:nth-of-type(1) {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin: 24px 0 0 0;
}

.home_merumaga dd:nth-of-type(1) > span {
    display: inline-block;
    padding: 7px 12px;
    margin: 0 14px 0 0;
    color: #C9171E;
    font-size: 1.3rem;
    letter-spacing: -0.05rem;
    line-height: 1.5;
    font-weight: 600;
    background-color: #ffffff;
}

.home_merumaga dd:nth-of-type(1) > p {
    display: inline-block;
    margin: 0 8px 0 0;
    color: #ffffff;
    font-size: 1.8rem;
    letter-spacing: 0;
    font-weight: 600;
}

.home_merumaga dd:nth-of-type(1) > p span {
    display: inline-block;
    font-size: 1.2rem;
}

.home_merumaga dd:nth-of-type(1) > div  {
    display: inline-block;
    color: #FFDC00;
}

.home_merumaga dd:nth-of-type(1) > div > span {
    display: inline-block;
    margin: 0 4px 0 0;
    letter-spacing: 0;
    font-size: 4.8rem;
    line-height: 1;
    font-weight: 900;
}

.home_merumaga dd:nth-of-type(1) > div > span small {
    font-size: 2.0rem;
}

.home_merumaga dd:nth-of-type(1) > div > span sub {
    font-size: 1.2rem;
}

.home_merumaga dd:nth-of-type(1) > div > small {
    /* transform-origin: top left; */
    transform: rotate(-10deg) translate(5%,-30%);
    display: inline-block;
    padding: 1px 8px;
    border: 1px solid #FFDC00;
    font-size: 2.0rem;
    letter-spacing: 0;
    line-height: 1.4;
    font-weight: 600;
}

.home_merumaga dd:nth-of-type(1) > div > small sub {
    font-size: 1.4rem;
}



.home_shop h2,
.home_staff h2 {
    color: #FFF;
    font-size: 3.2rem;
    letter-spacing: 0.05rem;
}

.home_shop p,
.home_staff p {
    margin: 14px 0 0 0;
    color: #FFF;
    letter-spacing: 0.05rem;
}

.home_merumaga dd:nth-of-type(2),
.home_shop span,
.home_staff span {
    display: block;
    padding: 0 14px 0 0;
    margin: 14px 0 0 0;
    color: #FFF;
    font-size: 1.3rem;
    letter-spacing: 0.05rem;
    text-align: right;
    background-image: url(../img/home_cards_shop_arr.svg);
    background-repeat: no-repeat;
    background-position: right top 4px;
    background-size: auto;
}


.home_reserve a,
.home_takeout a {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    background-image:
        url(../img/home_teiban_tit_ring.svg),
        url(../img/home_cards_shop_patt.png);
    background-repeat:
        no-repeat,
        repeat;
    background-position:
        center,
        center;
    background-size:
        88px,
        250px;
}

.home_reserve h2,
.home_takeout h2 {
    width: 100%;
    padding: 16px 30px;
    font-size: 3.2rem;
    letter-spacing: 0.05rem;
    text-align: center;
}

.home_reserve h2 span,
.home_takeout h2 span {
    display: block;
    margin: 0 0 -2px 0;
    font-size: 1.8rem;
}





.home_sns {
    display: flex;
    justify-content: space-between;
    margin: 70px 0 0 0;
}

.home_sns h2 {
    padding: 0 0 0 16px;
    color: #534741;
    font-size: 1.4rem;
    line-height: 1.2;
    background-image: url(../img/home_sns_tit_marker.svg);
    background-repeat: no-repeat;
    background-position: left top 5px;
    background-size: auto;
}

.home_sns h2 + * {
    margin-top: 26px;
}

.home_sns_facebook,
.home_sns_instagram {
    width: 48%;
}

/*
.home_sns > *:only-child {
    width: 100%;
}
*/

.home_sns_facebook .js-fb {
    text-align: center;
}




/* link /////////////////////////////////////////////////////////////////////////////////////////// */
.link_list > ul {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    margin: -24px 0 0 0;
}

.link_list > ul::after {
    content: '';
    display: block;
}

.link_list > ul::after,
.link_list > ul li {
    width: 30%;
}

.link_list > ul li {
    margin: 24px 0 0 0;
}

.link_list > ul a {
    display: block;
    padding: 0 0 0 18px;
    color: #534741;
    font-size: 1.6rem;
    background-image: url(../img/footer_marker_gray.svg);
    background-repeat: no-repeat;
    background-position: left top 8px;
    background-size: 12px;
}



/* members /////////////////////////////////////////////////////////////////////////////////////////// */
.members_event {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
}

.members_event h2 {
    width: 100%;
    margin-bottom: 10px;
}

.members_event > span {
    width: 100%;
    display: block;
    margin: 0 0 40px 0;
    color: #534741;
    font-size: 1.8rem;
    line-height: 1.3;
    text-align: center;
}

.members_event .imgbox {
    flex-shrink: 0;
    width: 51%;
    margin: 0 5% 0 0;
    text-align: center;
}

.members_event .imgbox p {
    margin: 16px 0 0 0;
    font-size: 1.3rem;
    letter-spacing: 0.05rem;
    text-align: left;
}

.members_event .txtbox {
    flex-shrink: 0;
    order: 1;
    width: calc(100% - 51% - 5%);
    margin: -6px 0 0 0;
}

.members_event .txtbox:only-of-type {
    /* .imgboxがないとき */
    width: 100%;
}

.members_event .txtbox > b {
    display: inline-block;
    background: linear-gradient(transparent 58%, rgba(252, 237, 33, 0.6) 50%);
    color: #C9171E;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.4;
}

.members_event .txtbox > div {
    margin: 28px 0 0 0;
}

.members_event .txtbox > *:nth-child(1) {
    margin-top: 0;
}




/* menu /////////////////////////////////////////////////////////////////////////////////////////// */
.home_osusume h2,
.home_teiban_inner h2,
.menu_osusume > h2,
.menu_teiban_top > h2 {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 135px;
    margin: 0 0 30px 0;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    text-shadow: 0 0 2px rgba(0, 0, 0, 0.3);
    font-size: 4.8rem;
    letter-spacing: 0.05rem;
    line-height: 1.3;
    text-align: center;
}

.home_osusume h2 {
    background-image: url(../img/home_osusume_tit_ring.svg);
}

.home_teiban_inner h2 {
    background-image: url(../img/home_teiban_tit_ring.svg);
}

.menu_osusume > h2,
.menu_teiban_top > h2 {
    background-image: url(../img/menu_tit_ring.svg);
}

.menu_osusume > p,
.menu_teiban_top > p {
    font-size: 1.8rem;
    text-align: center;
}

.menu_osusume ul {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
}

.menu_osusume ul::after {
    content: '';
    display: block;
}

.home_osusume_slider .swiper-slide,
.menu_osusume ul::after,
.menu_osusume li {
    width: 30%;
}

.home_osusume_slider .swiper-slide {
    margin: 0 auto;
}

.menu_osusume li {
    margin: 56px 0 0 0;
}

.home_osusume_slider {
    position: relative;
    padding: 0 20px;
    margin: -10px 0 0 0;
    overflow: hidden;
}

.home_osusume_slider .swiper-container-initialized.swiper-container {
    /* padding-left: 206px; */
}

.home_osusume_slider .swiper-container-initialized .swiper-slide {
    margin: 0;
}

.home_osusume_slider .swiper-wrapper {
    padding-top: 20px;
}

.home_osusume_slider [class*="osusume_slider_prev"],
.home_osusume_slider [class*="osusume_slider_next"] {
    position: absolute;
    top: 50%;
    z-index: 10;
    transform: translate(0,-50%);
    display: none;
    cursor: pointer;
}

.home_osusume_slider .swiper-container-initialized ~ [class*="osusume_slider_prev"],
.home_osusume_slider .swiper-container-initialized ~ [class*="osusume_slider_next"] {
    display: inline-block;
}

.home_osusume_slider [class*="osusume_slider_prev"],
.home_osusume_slider [class*="osusume_slider_next"],
.home_osusume_slider [class*="osusume_slider_prev"]:focus,
.home_osusume_slider [class*="osusume_slider_next"]:focus {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    outline: 1px solid transparent;
}

.home_osusume_slider [class*="osusume_slider_prev"] {
    left: 1%;
}

.home_osusume_slider [class*="osusume_slider_next"] {
    right: 1%;
}

.home_osusume_slider .swiper-button-disabled {
    opacity: 0.3;
    cursor: auto;
    pointer-events: none;
}


.home_osusume_slider .swiper-container-initialized .swiper-slide {
    width: auto;
}

.home_osusume_slider .swiper-slide > div,
.menu_osusume li > div {
    position: relative;
    box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, 0.3)
}

.menu_osusume li > div a {
    display: block;
}

.home_osusume_slider .swiper-slide > div img,
.menu_osusume li > div img {
    width: 100%;
}

.home_osusume_slider .swiper-slide > div p,
.menu_osusume li > div p {
    position: absolute;
    left: 10px;
    top: -20px;
    display: block;
    width: 100%;
    /* height: 98%; */
    height: 100%;
}

.home_osusume_slider .swiper-slide > div span,
.menu_osusume li > div span {
    display: inline-block;
    min-height: 150px;
    max-height: 100%;
    padding: 12px 8px 24px;
    color: #FFF;
    font-size: 1.4rem;
    letter-spacing: 0.1rem;
    line-height: 1.4;
    text-align: left;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 1);
    background-image: url(../img/menu_osusume_bg_brush.png);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100% 100%;
}

.home_osusume_slider .swiper-slide > small,
.menu_osusume li > small {
    display: block;
    margin: 16px 0 0 0;
    line-height: 1.4;
}

.home_osusume_slider .swiper-slide > h3,
.menu_osusume li > h3 {
    margin: 6px 0 0 0;
    font-size: 2.0rem;
    line-height: 1.2;
}

.home_osusume_slider .swiper-slide > span,
.menu_osusume li > span {
    display: block;
    margin: 6px 0 0 0;
    color: #C9171E;
    font-size: 1.8rem;
    letter-spacing: 0;
    font-weight: 900;
}

.home_osusume_slider .swiper-slide > span sub,
.menu_osusume li > span sub {
    display: inline-block;
    font-size: 1.2rem;
    font-weight: 700;
}


.menu_osusume li > p {
    margin: 12px 0 0 0;
    line-height: 1.5;
}

.menu_osusume > span {
    display: block;
    margin: 50px 0 0 0;
    font-size: 1.4rem;
}


.menu_teiban {
    overflow: hidden;
}

.home_teiban_inner > ul,
.menu_teiban_top > ul {
    display: flex;
    justify-content: space-between;
}

.menu_teiban_top > ul {
    margin: 54px 0 0 0;
}

.home_teiban_inner > ul li,
.menu_teiban_top > ul li {
    width: 22%;
    box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, 0.3)
}

.home_teiban_inner > ul a,
.menu_teiban_top > ul a {
    position: relative;
    display: block;
}

.home_teiban_inner > ul p,
.menu_teiban_top > ul p {
    position: absolute;
    left: 10px;
    top: -20px;
    display: block;
    width: 100%;
    /* height: 98%; */
    height: 100%;
}

.home_teiban_inner > ul span,
.menu_teiban_top > ul span {
    display: inline-block;
    min-height: 200px;
    max-height: 100%;
    padding: 24px 10px 10px;
    color: #FFF;
    font-size: 1.4rem;
    letter-spacing: 0.1rem;
    line-height: 1.4;
    text-align: left;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 1);
    background-image: url(../img/menu_teiban_innerlink_bg_brush.png);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100% 100%;
}

[id="menu_course"],
[id="menu_same"],
[id="menu_drink"],
[id="menu_lunch"] {
    padding: 30px 0;
    margin: 70px 0 0 0;
}

[id="menu_course"] {
    margin: 100px 0 0 0;
}

.menu_course_mainimg,
.menu_same_mainimg,
.menu_drink_mainimg,
.menu_lunch_mainimg {
    position: relative;
    height: 320px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.menu_course_mainimg {
    background-image: url(../img/menu_course_mainimg.jpg);
}

.menu_same_mainimg {
    background-image: url(../img/menu_same_mainimg.jpg);
}

.menu_drink_mainimg {
    background-image: url(../img/menu_drink_mainimg.jpg);
}

.menu_lunch_mainimg {
    background-image: url(../img/menu_lunch_mainimg.jpg);
}

.menu_course_mainimg h3,
.menu_same_mainimg h3,
.menu_drink_mainimg h3,
.menu_lunch_mainimg h3 {
    position: absolute;
    left: 50%;
    top: -30px;
    transform: translate(-50%, 0);
    display: block;
    width: 100%;
    max-width: 900px;
    height: 100%;
}

.menu_course_mainimg span,
.menu_same_mainimg span,
.menu_drink_mainimg span,
.menu_lunch_mainimg span {
    display: inline-block;
    min-height: 245px;
    max-height: 100%;
    padding: 28px 12px 16px;
    color: #FFF;
    font-size: 3.6rem;
    line-height: 1.2;
    text-align: left;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 1);
    background-image: url(../img/menu_teiban_mainimg_brush_red.png);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100% 100%;
}

.menu_course_outline,
.menu_same_outline,
.menu_drink_outline,
.menu_lunch_outline {
    margin: 24px 0 0 0;
    font-size: 1.6rem;
    text-align: center;
}

.menu_course_outline + *,
.menu_same_outline + *,
.menu_drink_outline + *,
.menu_lunch_outline  + *{
    margin-top: 32px;
}

[id="menu_course"] h4,
[id="menu_same"] h4,
[id="menu_drink"] h4 {
    margin-left: -50px;
}


.menu_course_massan,
.menu_course_najimi,
.menu_course_omakase {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
}

.menu_course_massan,
.menu_course_najimi {
    padding: 0 0 50px 0;
}

.menu_course_massan > p,
.menu_course_najimi > p,
.menu_course_omakase > p {
    width: 100%;
}

.menu_course_massan > p span,
.menu_course_najimi > p span,
.menu_course_omakase > p span {
    color: #C9171E;
}

.menu_course_massan > small,
.menu_course_najimi > small,
.menu_course_omakase > small {
    display: block;
    width: 100%;
    margin: 10px 0 0 0;
    font-size: 1.4rem;
}

.menu_course_massan .imgbox,
.menu_course_najimi .imgbox {
    flex-shrink: 0;
    order: 1;
    width: 50%;
    margin: 24px 0 0 0;
}

.menu_course_massan .imgbox div,
.menu_course_najimi .imgbox div {
    box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, 0.3)
}

.menu_course_massan .imgbox p,
.menu_course_najimi .imgbox p {
    padding: 0 0 0 14px;
    margin: 8px 0 0 0;
    text-indent: -14px;
    font-size: 1.3rem;
    line-height: 1.4;
}

.menu_course_massan .txtbox,
.menu_course_najimi .txtbox {
    flex-shrink: 0;
    width: calc(100% - 50% - 5%);
    margin: 24px 5% 0 0;
}

.menu_course_omakase .txtbox {
    width: 100%;
    margin: 24px 0 0 0;
}

.menu_course_massan .txtbox > span,
.menu_course_najimi .txtbox > span,
.menu_course_omakase .txtbox > span {
    display: inline-block;
    background: linear-gradient(transparent 58%, rgba(252, 237, 33, 0.6) 50%);
    color: #C9171E;
    letter-spacing: 0;
    font-size: 1.8rem;
    line-height: 1.2;
}

.menu_course_massan .txtbox > span small,
.menu_course_najimi .txtbox > span small,
.menu_course_omakase .txtbox > span small {
    display: inline-block;
    margin: 0 0 0 8px;
    color: #000000;
    font-size: 1.4rem;
}

.menu_course_massan .price,
.menu_course_najimi .price,
.menu_course_omakase .price {
    margin: 16px 0 0 0;
}

.menu_course_massan .price > div,
.menu_course_najimi .price > div {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.menu_course_massan .price dt,
.menu_course_najimi .price dt {
    width: 100%;
}

.menu_course_massan .price dt span,
.menu_course_najimi .price dt span {
    display: inline-block;
    font-size: 1.8rem;
}

.menu_course_massan .price dd,
.menu_course_najimi .price dd {
    flex-shrink: 0;
    margin: 0 0 0 10px;
}

.menu_course_massan .price dd small,
.menu_course_najimi .price dd small,
.menu_course_omakase .price small {
    display: inline-block;
    padding: 2px 6px 0 0;
    font-size: 1.2rem;
}

.menu_course_massan .price dd span,
.menu_course_najimi .price dd span,
.menu_course_omakase .price span {
    display: inline-block;
    color: #C9171E;
    font-size: 2.0rem;
    font-weight: 700;
    letter-spacing: 0;
}

.menu_course_massan .price dd sub,
.menu_course_najimi .price dd sub,
.menu_course_omakase .price sub {
    display: inline-block;
    font-size: 1.2rem;
}

.menu_course_massan .foods,
.menu_course_najimi .foods {
    margin: 24px 0 0 0;
}

.menu_course_massan .foods dt,
.menu_course_najimi .foods dt {
    display: inline-block;
    min-width: 130px;
    padding: 0 12px 4px 12px;
    color: #534741;
    font-size: 1.6rem;
    line-height: 1;
    background-image: url(../img/news_title_bg_brush.png);
    background-repeat: no-repeat;
    background-position: left top;
    background-size: 100% 100%;
}

.menu_course_massan .foods dd,
.menu_course_najimi .foods dd {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    margin: 4px 0 0 0;
}

.menu_course_massan .foods dd > div,
.menu_course_najimi .foods dd > div {
    width: 48%;
    margin: 2px 0 0 0;
    font-size: 1.4rem;
    letter-spacing: 0;
}

.menu_course_massan .foods dd:nth-of-type(2) > div,
.menu_course_najimi .foods dd:nth-of-type(2) > div {
    width: 100%;
    color: #C9171E;
}


.menu_course_nomihoudai {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 50px 18px;
    margin: 50px 0 0 0;
    background-image: url(../img/home_cards_shop_patt.png);
    background-repeat: repeat;
    background-position: center;
    background-size: 250px;
}

.menu_course_nomihoudai > strong {
    flex-shrink: 0;
    align-self: stretch;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: auto;
    padding: 0 6px;
    margin: 0 4% 0 0;
    background-image: url(../img/cmn_tit_ring_gray.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    text-shadow: 0 0 2px rgba(0, 0, 0, 0.3);
    font-size: 3.6rem;
    letter-spacing: 0.05rem;
    line-height: 1.3;
    text-align: center;
}

.menu_course_nomihoudai > div {
    width: 100%;
    letter-spacing: 0.05rem;
}

.menu_course_nomihoudai > div > p {
    font-size: 1.5rem;
}

.menu_course_nomihoudai > div > small {
    display: block;
    margin: 6px 0 0 0;
    font-size: 1.4rem;
}

.menu_course_nomihoudai > div > span {
    display: inline-block;
    margin: 4px 0 0 0;
    font-size: 1.2rem;
    vertical-align: middle;
    letter-spacing: 0;
}

.menu_course_nomihoudai > div > span span {
    display: inline-block;
    margin: 2px 0 0 8px;
    color: #C9171E;
    font-size: 2.0rem;
    font-weight: 700;
}

.menu_course_nomihoudai > div > span sub {
    display: inline-block;
    font-size: 1.2rem;
    vertical-align: baseline;
}




.menu_course_booking {
    margin: 50px 0 0 0;
}

.menu_course_booking dt {
    color: #C9171E;
    font-size: 1.6rem;
}

.menu_course_booking dd {
    margin: 12px 0 0 0;
}

.menu_course_booking dd p {
    padding: 0 0 0 14px;
    margin: 6px 0 0 0;
    text-indent: -14px;
    font-size: 1.4rem;
    line-height: 1.4;
}


















.menu_same_items + .menu_same_items,
.menu_drink_items + .menu_drink_items,
.menu_lunch_items + .menu_lunch_items {
    margin: 48px 0 0 0;
}

.menu_same_items > ul,
.menu_drink_items > ul,
.menu_lunch_items > ul {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    /* margin: -40px 0 0 0; */
    margin: -30px 0 0 0;
}

.menu_same_items > ul::before,
.menu_drink_items > ul::before,
.menu_lunch_items > ul::before {
    content: '';
    order: 1;
    display: block;
    width: 22%;
}

.menu_same_items > ul::after,
.menu_drink_items > ul::after,
.menu_lunch_items > ul::after {
    content: '';
    order: 1;
    display: block;
    width: 22%;
}

.menu_same_items > ul li,
.menu_drink_items > ul li,
.menu_lunch_items > ul li {
    width: 22%;
    margin: 40px 0 0 0;
}


.menu_same_items > ul a,
.menu_drink_items > ul a,
.menu_lunch_items > ul a {
    display: block;
}

.menu_same_items > ul h5,
.menu_drink_items > ul h5,
.menu_lunch_items > ul h5 {
    margin: 18px 0 0 0;
    color: #534741;
    font-size: 1.6rem;
    line-height: 1.2;
    font-weight: 700;
}

.menu_same_items > ul span,
.menu_drink_items > ul span,
.menu_lunch_items > ul span {
    display: block;
    margin: 6px 0 0 0;
    font-size: 1.5rem;
    letter-spacing: 0.05rem;
    line-height: 1.2;
}

.menu_same_items > ul span sub,
.menu_drink_items > ul span sub,
.menu_lunch_items > ul span sub {
    display: inline-block;
    font-size: 1.2rem;
}

.menu_same_items > ul small,
.menu_drink_items > ul small,
.menu_lunch_items > ul small {
    display: inline-block;
    margin: 4px 0 0 0;
    font-size: 1.3rem;
    line-height: 1.1;
}

.menu_same_items > ul p,
.menu_drink_items > ul p,
.menu_lunch_items > ul p {
    margin: 10px 0 0 0;
    line-height: 1.5;
    font-size: 1.4rem;
}

.menu_same_onirigi {
    display: flex;
    align-items: center;
    padding: 18px 50px;
    max-width: 800px;
    margin: 50px auto 0;
    background-image: url(../img/home_cards_shop_patt.png);
    background-repeat: repeat;
    background-position: center;
    background-size: 250px;
}

.menu_same_onirigi p {
    width: 100%;
    font-size: 1.6rem;
}

.menu_same_onirigi img {
    flex-shrink: 0;
    order: 1;
    display: inline-block;
    margin: 0 0 0 40px;
}

.menu_drink_others {
    display: flex;
    max-width: 800px;
    margin: 50px auto 0;
    background-image: url(../img/home_cards_shop_patt.png);
    background-repeat: repeat;
    background-position: center;
    background-size: 250px;
}

.menu_drink_others div {
    flex-shrink: 0;
    width: 18%;
    min-width: 150px;
    background-image: url(../img/menu_drink_others.jpg);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
}

.menu_drink_others p {
    width: 100%;
    padding: 24px 50px;
    font-size: 1.6rem;
}

.menu_lunch_note {
    display: block;
    margin: 50px 0 0 0;
    font-size: 1.4rem;
}


.menu_takeout > p {
    font-size: 1.8rem;
    text-align: center;
}

.menu_takeout > ul {
    display: flex;
    justify-content: space-between;
    margin: 42px 0 0 0;
}

.menu_takeout > ul li {
    width: 48%;
    background-image: url(../img/home_teiban_patt.png);
    background-repeat: repeat;
    background-position: center;
    background-size: 225px;
}

.menu_takeout > ul a {
    display: block;
    padding: 18px 110px 18px 30px;
    background-image: url(../img/menu_takeout_ico_pdf.svg);
    background-repeat: no-repeat;
    background-position: right 30px center;
    background-size: auto;
    color: #FFF;
    font-size: 2.8rem;
    line-height: 1.4;
}

.menu_takeout > ul span {
    display: block;
    margin: 1px 0 0 0;
    font-size: 2.0rem;
    line-height: 1.3;
}




/* merumaga /////////////////////////////////////////////////////////////////////////////////////////// */
.merumaga_tokuten > p {
    text-align: center;
}

.merumaga_first,
.merumaga_birthday,
.merumaga_others {
    margin: 50px 0 0 0;
    background-image: url(../img/home_cards_shop_patt.png);
    background-repeat: repeat;
    background-position: center;
    background-size: 250px;
}

.merumaga_first {
    display: flex;
}

.merumaga_first_txtbox,
.merumaga_birthday,
.merumaga_others {
    position: relative;
    padding: 20px 30px 20px;
}

.merumaga_first_txtbox > h3,
.merumaga_birthday > h3,
.merumaga_others > h3 {
    display: inline-block;
    padding: 10px 32px;
    margin: 0 0 0 64px;
    color: #3F2820;
    font-size: 2.8rem;
    line-height: 1.3;
    letter-spacing: -0.05rem;
    background-image: url(../img/merumaga_tokuten_bg_brush.png);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 100% 60px;
}

.merumaga_first_txtbox > p,
.merumaga_birthday > p,
.merumaga_others > p {
    margin: 16px 0 0 0;
    letter-spacing: 0.05rem;
}

.merumaga_first_txtbox .higlight,
.merumaga_birthday .higlight {
    display: inline-block;
    padding: 0 4px;
    margin: 8px 0;
    background: linear-gradient(transparent 58%, rgba(252, 237, 33, 0.6) 50%);
    color: #C9171E;
    letter-spacing: -0.1rem;
    line-height: 1.2;
}

.merumaga_first_txtbox .higlight .price {
    font-size: 4.8rem;
    font-weight: 900;
}

.merumaga_first_txtbox .higlight .price small {
    font-size: 2.4rem;
}

.merumaga_first_txtbox .higlight .price sub {
    font-size: 1.2rem;
}

.merumaga_first_txtbox .higlight .off {
    display: inline-block;
    padding: 4px 2px;
    border: 1px solid #C9171E;
    font-size: 3.0rem;
    font-weight: 600;
}

.merumaga_first_txtbox .higlight .off small {
    font-size: 2.1rem;
}

.merumaga_birthday .higlight .food {
    font-size: 2.4rem;
    font-weight: 700;
}

.merumaga_birthday .higlight .food small {
    font-size: 1.5rem;
}





.merumaga_first_txtbox > small,
.merumaga_birthday > small,
.merumaga_others > small {
    display: block;
    margin: 8px 0 0 0;
    font-size: 1.3rem;
}

.merumaga_first_txtbox > span,
.merumaga_birthday > span,
.merumaga_others > span {
    position: absolute;
    left: 0;
    top: 0;
    transform: translate(-12%, -12%);
    display: flex;
    width: 100px;
    height: 100px;
    justify-content: center;
    align-items: center;
    color: #FFF;
    font-size: 2.4rem;
    letter-spacing: 0;
    line-height: 1.3;
    text-align: center;
    background-image: url(../img/merumaga_tokuten_bg_circle.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.merumaga_first_txtbox {
    width: 100%;
}

.merumaga_first_imgbox {
    flex-shrink: 0;
    position: relative;
    width: 50%;
    background-image: url(../img/merumaga_first_photo.jpg);
    background-repeat: no-repeat;
    background-position: right top;
    background-size: cover;
}





.merumaga_hotwo > h3 {
    margin-left: -50px;
}

/* news /////////////////////////////////////////////////////////////////////////////////////////// */
.news_single_body main {
    padding-bottom: 150px;
}

.news_single_box {
    padding-left: 60px;
    padding-right: 60px;
    padding-bottom: 150px;
}

.news_single_box > h2 {
    margin-bottom: 16px;
}

.news_single_box > span {
    display: block;
    color: #534741;
    font-size: 1.5rem;
    letter-spacing: 0.05rem;
    text-align: right;
}

.news_single_box > div {
    margin: 26px 0 0 0;
}

.news_single_editor > *:not(:root):not(h3):not(h4):not(h5):not(h6) {
    /* WYSIWYG内のh3～h6以外の要素 */
    padding-left: 50px;
    padding-right: 50px;
}

.news_single_pager {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 10px 0 0 0;
}

.news_single_pager a {
    display: inline-block;
    color: #534741;
    font-size: 1.6rem;
    letter-spacing: 0.05rem;
}



/* shop /////////////////////////////////////////////////////////////////////////////////////////// */
.shop_topmsg {
    padding-top: 0;
}

.shop_topmsg_imgbox {
    position: relative;
}

.shop_topmsg_imgbox > strong {
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    color: #FFFFFF;
    font-size: 3.6rem;
    line-height: 1.7;
    text-shadow: 0 0 8px rgba(0, 0, 0, 1);
}

.shop_topmsg_txtbox {
    padding: 34px 120px 12px;
    text-align: right;
    color: #534741;
}

.shop_topmsg_txtbox_vertical {
    height: 340px;
}

.shop_topmsg_txtbox_vertical > span {
    font-size: 2.0rem;
    line-height: 1.8;
}

.shop_topmsg_txtbox_vertical > p {
    margin: 34px 30px 0 0;
    font-size: 1.6rem;
    line-height: 1.9;
}




.shop_info > h2,
.shop_seat > h2,
.shop_map_inner > h2 {
    margin-bottom: 40px;
}

.shop_info_mainimg,
.shop_seat_mainimg {
    /* height: 320px; */
    height: 0;
    padding-top: 30%;
    margin: 0 20px 50px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.shop_info_mainimg {
    background-image: url(../img/shop_info_mainimg.jpg);
}

.shop_seat_mainimg {
    background-image: url(../img/shop_seat_mainimg.jpg);
}

.shop_info_list > div {
    display: flex;
}

.shop_info_list > div > dt,
.shop_info_list > div > dd {
    padding: 20px 20px 20px 46px;
    border-style: solid;
    border-color: #C7B299;
    color: #534741;
    font-size: 1.6rem;
}

.shop_info_list > div > dt {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    width: 24%;
    background-color: #EADED0;
}

.shop_info_list > div:nth-of-type(1) > dt {
    border-width: 1px;
}

.shop_info_list > div + div > dt {
    border-width: 0 1px 1px 1px;
}

.shop_info_list > div > dd {
    width: 100%;
    background-color: #ffffff;
}

.shop_info_list > div:nth-of-type(1) > dd {
    border-width: 1px 1px 1px 0;
}

.shop_info_list > div + div > dd {
    border-width: 0 1px 1px 0;
}


.shop_seat_gallery {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    margin: -54px 0 0 0;
}

.shop_seat_gallery > li {
    width: 47%;
    margin: 54px 0 0 0;
}

.shop_seat_gallery a {
    display: block;
    text-align: center;
}

.shop_seat_gallery h3 {
    margin: 16px 0 0 0;
    color: #534741;
    font-size: 1.8rem;
}

.shop_seat_gallery p {
    margin: 14px 0 0 0;
}

.shop_seat_group {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 50px 18px;
    margin: 50px 0 0 0;
    background-image: url(../img/home_cards_shop_patt.png);
    background-repeat: repeat;
    background-position: center;
    background-size: 250px;
}

.shop_seat_group > h3 {
    flex-shrink: 0;
    display: inline-block;
    width: auto;
    padding: 0 6px;
    margin: 0 4% 0 0;
    background-image: url(../img/cmn_tit_ring_gray.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    text-shadow: 0 0 2px rgba(0, 0, 0, 0.3);
    font-size: 3.6rem;
    letter-spacing: 0.05rem;
    line-height: 1.3;
    text-align: center;
}

.shop_seat_group > div {
    width: 100%;
}

.shop_seat_group > div strong {
    font-size: 1.8rem;
    letter-spacing: 0;
}

.shop_seat_group > div p {
    margin: 12px 0 0 0;
    letter-spacing: 0;
}


.shop_map_inner > p {
    font-size: 1.6rem;
    letter-spacing: 0.05rem;
}

.shop_map_inner > span {
    display: block;
    margin: 8px 0 0 0;
    font-size: 1.4rem;
    letter-spacing: 0.05rem;
}

.shop_map_inner > div {
    position: relative;
    align-self: stretch;
    width: 100%;
    height: 550px;
    overflow: hidden;
    margin: 30px 0 0 0;
}

.shop_map_inner > div > iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}



/* staff /////////////////////////////////////////////////////////////////////////////////////////// */
.staff_body .cmn_box {
    padding-top: 0;
}

.staff_topmsg {
    position: relative;
    overflow: hidden;
}

.staff_topmsg_vertical {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: auto;
    padding: 42px 0;
    background-color: rgba(0, 0, 0, 0.5);
    text-align: center;
}

.staff_topmsg_vertical > div {
    height: 220px;
    text-align: left;
}

.staff_topmsg_vertical > div p {
    color: #FFFFFF;
    font-size: 1.6rem;
    letter-spacing: 0.05rem;
    line-height: 1.7;
}

.staff_gallery {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin: 50px 0 0 0;
}

.staff_gallery li {
    width: 22%;
}

.staff_gallery a {
    display: block;
}

.staff_body h2 {
    margin-top: 60px;
}

.staff_info {
    display: flex;
    align-items: flex-start;
}

.staff_info > img {
    flex-shrink: 0;
    width: 24%;
    max-width: 220px;
    min-width: 150px;
    margin: 0 5% 0 0;
}

.staff_info > div {
    width: 100%;
}

.staff_info > div h3 {
    font-size: 1.5rem;
}

.staff_info > div h3 span {
    font-size: 2.0rem;
    font-weight: 700;
    vertical-align: baseline;
}

.staff_info > div > span {
    display: inline-block;
    min-width: 100px;
    padding: 0 12px 4px 12px;
    margin: 24px 0 0 0;
    color: #534741;
    font-size: 1.6rem;
    line-height: 1;
    background-image: url(../img/news_title_bg_brush.png);
    background-repeat: no-repeat;
    background-position: left top;
    background-size: 100% 100%;
}

.staff_info > div > p {
    margin: 12px 0 0 0;
}


