@charset "UTF-8";

body {
    font-family: Arial, "Helvetica Neue", "BIZ UDPGothic", Meiryo, "Hiragino Kaku Gothic Pro", sans-serif;
}

* {
    margin: 0px;
    padding: 0px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

main {}

h1 {
    font-size: 1em;
}

a {
    text-decoration: none;
    color: #000;
}

img {
    display: block;
    width: 100%;
}

li {
    list-style: none;
}

.rela {
    position: relative;
}

.abso {
    position: absolute;
}

.weight {
    font-weight: 700;
}

/*padding.margin*/
.m_auto {
    margin: auto;
}

/*flex*/
.flex {
    display: flex;
}

.justify_center {
    justify-content: center;
}

.justify_base {
    justify-content: baseline;
}

.justify_between {
    justify-content: space-between;
}

.justify_around {
    justify-content: space-around;
}

.justify_end {
    justify-content: end;
}

.align_center {
    align-items: center;
}

.align_start {
    align-items: start;
}

.align_end {
    align-items: flex-end;
}

.align_base {
    align-items: baseline;
}

.flex_column {
    flex-direction: column;
}

/*text*/
.t_center {
    text-align: center;
}

.t_right {
    text-align: right;
}

/*common*/
#page-top {
    position: fixed;
    bottom: 5%;
    right: 3%;
    width: 70px;
    height: 70px;
    z-index: 20;
}

#page-top a {
    border-radius: 50%;
    color: #5f5f5f;
    line-height: 70px;
    text-decoration: none;
    height: 70px;
    display: block;
    border: 3px solid #5f5f5f;
    text-align: center;
    transition: .4s;
}

#page-top a:hover {
    background-color: #5f5f5f;
    color: #fff;
}

/*top*/
.header {}

.top_menu {
    margin: 0 20px;
    font-size: 0.833vw;
}

.top_menu a {}

.top_menu a:hover {
    color: #ed1c24;
    transition: 0.3s;
}

.top_menu_img {
    margin-left: 20px;
}

.top_logo {}

.lang {
    font-size: 0.781vw;
}

.lang a {
    font-size: 0.677vw;
}

.movie {}

.top_movie {
    width: 100%;
}

.top_copy {
    bottom: 12%;
    font-size: 2.604vw;
    color: #fff;
    font-family: '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif;
    font-weight: 700;
    text-align: right;
    right: 5%;
}

.main_container {}

.t_news_container {
    margin: 3em 4em;
}

.news {
    font-size: 1.198vw;
    font-weight: 700;
    margin-right: 3em;
}

.news_container {
    font-size: 1.042vw;
}

.top_news_container {}

.t_n_date {
    margin-right: 3em;
}

.t_n_comment {}

.t_n_small {
    font-size: 0.677vw;
    margin-top: 5px;
}

.t_n_small a {}

.t_n_small a:hover {
    color: #ed1c24;
    transition: 0.3s;
}

.catch_copy {
    margin: 9em 0;
    background-image: url(/public/img/back_store.jpg);
    background-position: right bottom;
    background-size: 50%;
    background-repeat: no-repeat;
    padding-bottom: 7em;
}

.back_red {
    font-family: '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif;
    background: #ed1c24;
    display: inline-block;
    color: #fff;
    padding: 13px 25px;
    border-radius: 10px;
    font-size: 1.458vw;
    font-weight: 700;
}

.main_comment {
    margin: 6em 0 4em;
    line-height: 2.5;
}

.color_red {
    color: #ed1c24;
}

.color_red a {
    color: #ed1c24;
    font-weight: 700;
}

.eye_catch {
    width: 100%;
}

.eye_catch img {}

.top_food_menu {
    margin: 13em 0;
}

.f_45 {
    font-size: 2.344vw;
}

.t_menu_mato {
    width: 3.802vw;
    object-fit: contain;
    margin-left: 50px;
}

.t_food_container {
    margin: 4em 0;
}

.t_food_box {}

.t_food_1 {
    background-image: url(/public/img/top_menu_01.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right;
}

.t_food_2 {
    background-image: url(/public/img/top_menu_02.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right;
}

.t_food_3 {
    background-image: url(/public/img/top_menu_03.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right;
}

.t_f_img_container {
    width: 30%;
}

.t_f_img_container img {
    width: 70%;
    margin: 2em auto;
}

.t_f_comment_container {
    width: 70%;
}

.red_weight_under_line {
    border-bottom: 2px solid #ed1c24;
    width: 75%;
}

.t_f_title {
    font-size: 3.125vw;
    font-weight: 700;
    font-family: '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif;
}

.t_f_title_rus {
    font-weight: 700;
    letter-spacing: 7px;
    margin-left: 4em;
    font-size: 1.146vw;
}

.t_f_memo {
    margin-top: 3em;
    font-size: 0.938vw;
}

.t_food_other_container {}

.top_food_img {
    width: 80%;
    margin: 0 0 0 auto;
}

.t_f_other_box {
    background: rgba(255, 255, 255, 0.8);
    padding: 5em;
    bottom: 0;
    border-radius: 15px;
}

.t_f_other_box div {
    margin-bottom: 4em;
}

.t_food_main {
    font-family: '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif;
    font-size: 1.563vw;
    font-weight: 700;
}

.t_food_sub {}

.red_btn {
    margin-top: 7em;
}

.red_btn a {
    background: #ed1c24;
    color: #fff;
    padding: 12px 60px;
    border-radius: 10px;
    font-size: 0.99vw;
}

.red_btn a:hover {
    opacity: .7;
    transition: .3s;
}

.top_access_container {
    margin: 18em 0;
}

.red_under_line {
    border-bottom: 1px solid #ed1c24;
    margin-bottom: 4em;
    width: 50%;
    align-items: flex-start;
    justify-content: space-between;
}

.t_ac_mato {
    width: 3.802vw;
    object-fit: contain;
    margin-left: 50px;
    margin-right: 10em;
}

.t_ac_img_box {
    width: 47%;
}

.store_img {}

.t_ac_right {
    width: 53%;
    padding: 0 7em;
}

.footer_logo {
    width: 80%;
    margin: 0 auto 0 0;
}

.t_ac_comment {
    margin-top: 3em;
    line-height: 2;
}

.t_ac_comment p {
    margin-bottom: 2em;
}

.google_maps {
    margin: 12em 0;
}

.map {
    width: 100%;
    height: 600px;
}

/*top_side*/
.top_side_menu {
    padding: 0 30px;
    width: 19%;
    min-width: 355px;
}

.t_s_logo {
    top: -2%;
    right: 0;
    left: -10px;
    margin: 0 auto;
    width: 90%;
}

/*side_menu*/
.common_side_menu {
    padding: 0 30px;
    margin-top: 2em;
    position: fixed;
    width: 19%;
    min-width: 355px;
}

.side_menu_ul {
    margin-top: 14em;
}

.side_menu_ul a:hover {
    color: #ed1c24;
    transition: 0.3s;
}

.common_side_menu_ul {}

.common_side_menu_ul a:hover {
    color: #ed1c24;
    transition: 0.3s;
}

.side_menu {
    margin: 15px 0;
}

.side_menu_en {
    width: 43%;
}

.side_menu_ja {}

.side_lang {
    margin-top: 50px;
}

.lang_small {
    font-size: 0.729vw;
}

.lang_small a {
    font-size: 0.729vw;
}

.lang_small a:hover {
    color: #ed1c24;
    transition: 0.3s;
}

.tel_img {
    margin: 6em 0 3em;
}

.tel_img_icon {}

.sns_link {}

.insta {
    width: 2.083vw;
    margin: 5px 8px;
}

.facebook {
    width: 2.083vw;
    margin: 5px 8px;
}

/*footer*/
.back_black {
    width: 100%;
    background: #000;
    color: #fff;
    text-align: center;
    padding: 2em;
    font-size: 0.677vw;
}

.back_black p {}

/*concept*/
.concept_container {
    margin: 0 0 0 auto;
    width: 81%;
}

.sub_title {
    margin: 5em;
}

.sub_title p {
    display: flex;
    align-items: center;
    color: #ed1c24;
    font-weight: 700;
    font-size: 1.979vw;
}

.sub_title p::before,
.sub_title p::after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #ed1c24;
}

.sub_title p::before {
    margin-right: 3rem;
}

.sub_title p::after {
    margin-left: 3rem;
}

.c_catch_copy {
    margin: 13em 0 0;
    background-image: url(/public/img/back_menu.jpg);
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: contain;
    padding-bottom: 13em;
}

.c_main_copy {
    color: #ed1c24;
    font-size: 2.083vw;
    font-weight: 700;
    letter-spacing: 5px;
}

.c_main_title {
    font-size: 1.823vw;
}

.c_main_comment {
    margin: 5em 0;
    line-height: 2;
}

.c_main_comment p {
    margin-bottom: 25px;
}

.concept_img {
    width: 100%;
    margin: 8em 0;
}

.concept_img img {}

.concept_list {
    margin: 13em 0 32em;
}

.c_l_inner {}

.c_l_title {
    align-items: end;
    color: #ed1c24;
    font-size: 2.344vw;
    font-weight: 700;
    margin: 1em 0px;
}

.c_l_title img {
    width: 3.021vw;
}

.c_l_title p {
    margin-left: 15px;
}

.c_l_comment {
    font-size: 0.99vw;
    line-height: 1.4;
}

/*menu*/
.menu_container {
    width: 81%;
    margin: 0 0 13em auto;
}

.main_food {
    margin: 9em 0 6em;
}

.food_title {
    background: #ed1c24;
    display: inline-block;
    color: #fff;
    font-size: 1.875vw;
    padding: 9px 1em;
    border-radius: 15px;
}

.main_food_left {
    width: 50%;
    padding-left: 5em;
}

.main_food_right {
    width: 50%;
}

.main_food_inner {
    margin-top: 5em;
    font-size: 1.042vw;
}

.main_food_inner div {
    margin-top: 1.5em;
}

.main_food_inner div p {
    line-height: 1.5;
}

.t_indent {
    padding-left: 20px;
}

.main_food_right img {
    width: 90%;
    margin: 0 0 0 auto;
}

.sub_food {
    margin: 6em 0;
}

.sub_food_left {
    width: 50%;
    padding-left: 5em;
}

.sub_food_right {
    width: 50%;
    padding-left: 5em;
}

.sub_food_inner {
    margin-top: 5em;
    font-size: 1.042vw;
    line-height: 1.6;
}

.sub_food_left img {}

.side_food_inner {
    margin: 4em 0;
}

.side_food_inner p {
    font-size: 1.146vw;
    line-height: 1.8;
}

.main_drink {
    margin-bottom: 6em;
}

.main_drink_left {
    width: 50%;
    padding-left: 5em;
}

.main_drink_right {
    width: 50%;
}
.drink_image{
    font-size: 0.729vw;
}

.main_drink_inner {
    margin-top: 5em;
    font-size: 1.042vw;
    line-height: 1.6;
}

.main_drink_right img {}

.sub_drink {
    margin-bottom: 6em;
}

.sub_drink_left {
    width: 50%;
    padding-left: 5em;
}

.sub_drink_right {
    width: 50%;
}

.sub_drink_inner {
    margin-top: 5em;
    font-size: 20px;
    line-height: 1.6;
}

/*news*/
.news_container {
    margin: 0 0 13em auto;
    width: 81%;
}

.news_main {
    margin: 0 auto;
    width: 85%;
}

.news_box {
    margin-bottom: 20px;
}

.news_formal {
    cursor: pointer;
}

.news_date {
    width: 15%;
}

.news_category {
    color: #ed1c24;
    padding: 2px 35px;
    font-size: 0.729vw;
    border-radius: 5px;
    border: 2px solid #ed1c24;
}

.news_category_in {
    color: #fff;
    padding: 2px 35px;
    font-size: 0.729vw;
    border-radius: 5px;
    background-color: #ed1c24;
}

.news_title {
    margin-top: 11px;
}

.news_inner {
    display: none;
    border-left: 3px solid #ed1c24;
    margin: 22px 10px;
    padding: 15px;
}

.news_inner_active {
    display: block;

}

.pc {
    display: block;
}

.sp {
    display: none;
}

@media (max-width: 560px) {
    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    .sp_col {
        flex-direction: column;
    }

    .sp_rcol {
        flex-direction: column-reverse;
    }

    #page-top {
        width: 55px;
        height: 55px;
    }

    #page-top a {
        line-height: 50px;
        height: 55px;
    }

    .top_movie {
        width: auto;
        height: 57vh;
        object-fit: cover;
        max-width: 100%;
    }

    .movie {
        width: 100%;
    }

    .sp_logo {
        position: absolute;
        top: 15px;
        left: 15px;
        z-index: 10;
        width: 100px;
    }

    .top_copy {
        font-size: 14px;
        text-align: left;
        left: 5%;
    }

    .main_container {
        width: 100%;
    }

    .t_news_container {
        margin: 2em 1em;
    }

    .news {
        font-size: 20px;
        margin-right: 0;
    }

    .t_news_container {
        margin: 0 auto;
        width: 95%;
        font-size: 16px;
    }

    .top_news_container {
        font-size: 14px;
    }

    .catch_copy {
        margin: 3em auto;
        padding-bottom: 3em;
        width: 95%;
        background-size: 80%;
    }

    .main_comment {
        margin: 2em 0 3em;
        line-height: 1.5;
        background-size: 80%;
    }

    .top_food_menu {
        margin: 3em auto;
    }

    .back_red {
        font-size: 12px;
    }

    .f_45 {
        font-size: 22px;
    }

    .t_menu_mato {
        width: 70px;
        object-fit: contain;
        margin-left: 30px;
    }

    .sp_al_center {
        align-items: center;
    }

    .sp_al_end {
        align-items: end;
    }

    .sp_just_center {
        justify-content: center;
    }

    .red_weight_under_line {
        width: 90%;
    }

    .t_f_memo {
        margin-top: 1em;
        font-size: 14px;
        width: 98%;
    }

    .t_f_title {
        font-size: 21px;
    }

    .t_f_title_rus {
        letter-spacing: 4px;
        margin-left: 1em;
        font-size: 11px;
    }

    .t_f_other_box {
        padding: 1em;
        width: 95%;
    }

    .t_f_img_container img {
        width: 78%;
        margin: 0 auto;
    }

    .t_food_container {
        margin: 3em 0;
    }

    .t_food_box {
        padding: 18px 0;
    }

    .top_food_img {
        width: 100%;
    }

    .t_f_other_box div {
        margin-bottom: 1em;
    }

    .t_food_main {
        font-size: 18px;
    }

    .t_food_sub {
        font-size: 12px;
    }

    .red_btn {
        margin-top: 2em;
    }

    .red_btn a {
        padding: 12px 40px;
        font-size: 14px;
    }

    .top_access_container {
        margin: 3em auto;
        width: 95%;
    }

    .red_under_line {
        width: 90%;
        justify-content: center;
        margin: 2em auto;
    }

    .t_ac_mato {
        width: 54px;
        object-fit: contain;
        margin-left: 15px;
        margin-right: 0;
    }

    .t_ac_img_box {
        width: 100%;
    }

    .t_ac_right {
        width: 100%;
        padding: 3em 0;
    }

    .footer_logo {
        width: 80%;
        margin: 0 auto;
    }

    .t_ac_comment p {
        margin-bottom: 10px;
    }

    .google_maps {
        margin: 0;
    }

    .map {
        height: 400px;
    }

    .back_black {
        padding: 1em;
    }

    .back_black p {
        font-size: 10px;
    }

    /*concept*/
    .concept_container {
        margin: 0;
        width: 100%;
    }

    .sub_title {
        margin: 5em 1em 1em;
    }

    .sub_title p {
        font-size: 20px;
    }

    .c_catch_copy {
        margin: 2em 0 0;
    }

    .c_main_copy {
        font-size: 24px;
        width: 95%;
        margin: 0 auto;
    }

    .c_main_title {
        font-size: 24px;
        width: 95%;
        margin: 0 auto;
    }

    .c_main_comment {
        margin: 2em auto;
        line-height: 1.5;
        width: 95%;
    }

    .concept_img {
        margin: 2em 0;
    }

    .concept_list {
        margin: 4em auto 8em;
        width: 95%;
    }

    .c_l_title {
        font-size: 24px;
    }

    .c_l_title img {
        width: 33px;
    }

    .c_l_title p {
        margin-left: 10px;
    }

    .c_l_comment {
        font-size: 16px;
    }

    .news_container {
        margin: 0 0 5em 0;
        width: 100%;
    }

    .news_main {
        width: 95%;
    }

    .news_title {
        font-size: 18px;
    }

    .news_date {
        width: 38%;
        font-size: 16px;
    }

    .news_category {
        font-size: 12px;
    }

    .news_inner {
        font-size: 16px;
    }

    .menu_container {
        width: 100%;
        margin: 0 0 13em 0;
    }

    .main_food {
        margin: 2em 0 2em;
    }

    .main_food_left {
        width: 95%;
        padding-left: 0;
        margin: 1em auto;
        text-align: center;
    }

    .main_food_right {
        width: 100%;
    }

    .main_food_right img {
        width: 94%;
        margin: 0 auto;
    }

    .food_title {
        font-size: 24px;
    }

    .main_food_inner {
        margin-top: 2em;
        font-size: 16px;
        text-align: left;
    }

    .t_indent {
        padding-left: 7px;
    }

    .sub_food {
        margin: 2em 0;
    }

    .sub_food_left {
        width: 95%;
        padding-left: 0;
        margin: 1em auto;
        text-align: center;
    }

    .sub_food_right {
        width: 95%;
        padding-left: 0;
        margin: 0 auto;
        text-align: center;
    }

    .sub_food_inner {
        margin-top: 1em;
        font-size: 16px;
        line-height: 1.6;
        text-align: left;
    }

    .side_food_inner {
        margin: 1em 0;
        text-align: left;
    }

    .side_food_inner p {
        font-size: 16px;
        line-height: 1.6;
    }

    .main_drink {
        margin-bottom: 2em;
    }

    .main_drink_left {
        width: 95%;
        padding-left: 0;
        margin: 1em auto;
        text-align: center;
    }

    .main_drink_inner {
        margin-top: 1em;
        font-size: 16px;
        line-height: 1.6;
        text-align: left;
    }

    .main_drink_right {
        width: 95%;
        margin: 0 auto;
    }

    .sub_drink {
        margin-bottom: 2em;
    }

    .sub_drink_left {
        width: 95%;
        padding-left: 0;
        margin: 0 auto 2em;
        text-align: center;
    }

    .sub_drink_right {
        width: 95%;
        margin: 0 auto;
        text-align: center;
    }

    .sub_drink_inner {
        margin-top: 1em;
        font-size: 16px;
        line-height: 1.6;
        text-align: left;
    }

}

/*----------------------------
* メニュー開閉ボタン
*----------------------------*/
.menu-btn {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 100;
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #ed1c24;
    color: #fff;
    border: none;
    font-size: 18px;
    border-radius: 50px;
}

/*----------------------------
* メニュー本体
*----------------------------*/
.sp_menu {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 10;
    width: 72vw;
    height: 100vh;
    background: rgba(26, 26, 26, .8);
}

.sp_menu_icon {
    width: 25px;
}

.menu__item {
    width: 100%;
    height: auto;
    padding: 10px 1em;
    color: #1a1a1a;
    box-sizing: border-box;
    font-size: 15px;
}

.menu__item a {
    color: #fff;
    text-shadow: #1a1a1a 0px 0px 6px;
}

/*=============================
.btn-trigger
=============================*/
.btn-trigger {
    position: relative;
    width: 20px;
    height: 31px;
    cursor: pointer;
}

.btn-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #fff;
    border-radius: 4px;
}

.btn-trigger,
.btn-trigger span {
    display: inline-block;
    transition: all .5s;
    box-sizing: border-box;
}

.btn-trigger span:nth-of-type(1) {
    top: 6px;
}

.btn-trigger span:nth-of-type(2) {
    top: 14px;
}

.btn-trigger span:nth-of-type(3) {
    bottom: 6px;
}

#btn01.active span:nth-of-type(1) {
    -webkit-transform: translateY(7px) rotate(-45deg);
    transform: translateY(7px) rotate(-45deg);
}

#btn01.active span:nth-of-type(2) {
    opacity: 0;
}

#btn01.active span:nth-of-type(3) {
    -webkit-transform: translateY(-9px) rotate(45deg);
    transform: translateY(-9px) rotate(45deg);
}

/*----------------------------
* アニメーション部分
*----------------------------*/

/* アニメーション前のメニューの状態 */
.sp_menu {
    transform: translateX(100vw);
    transition: all .3s linear;
}

/* アニメーション後のメニューの状態 */
.sp_menu.is-active {
    transform: translateX(0);
}

.menu-btn.is-active {
    background: none;
}

.sp_menu_list {
    padding: 1em 0;
}

.sp_menu_en {
    width: 36%;
    text-align: left;
}

.sp_menu_ja {}

.sp_menu_lang {
    color: #fff;
    padding: 1em;
}

.sp_lang {
    color: #fff;
    padding: 10px 0;
    font-size: 14px;
}

.sp_lang a {}

.sp_menu_tel {
    width: 75%;
    padding: 12px;
}

.sp_footer {
    align-items: end;
    margin-top: 7em;
}

.sp_sns {}

.sp_insta {
    width: 30px;
    object-fit: contain;
    margin: 1em 0.5em 0 1em;
}

.sp_facebook {
    width: 30px;
    object-fit: contain;
    margin: 1em 0.5em 0;
}

.sp_menu_logo {}

.sp_menu_logo_img {
    width: 100px;
    margin-right: 12px;
}