/* PC用レイアウト */
@media screen and (min-width: 1024px) {
#menu_heading {
    text-align: center;
    padding-top: 1vw;
    background: url('/images/m_top_bg.jpg');
}
#menu_heading h1 {
    margin-bottom: 0;
}
h1 .menu_title {
    width: 50%;
    text-align: center;
}
.lunch_btn h2,
.dinner_btn h2 {
    width: 50%;
    margin: 23% auto;
}
.btn_guid {
    margin-bottom: 7.5vw;
}
.btn_guid::after {
    content: "";
    position: absolute;
    top: 52vw;
    left: 40.84vw;
    width: 1px;
    height: 6vw;
    background: #404455;
    animation: pathmove 1.4s ease-in-out infinite;
    opacity: 0;
    z-index: 120;
    margin-top: 20.5vw;
}
@keyframes pathmove {
    0% {
        height: 0;
        top: 0;
        opacity: 0;
    }
    30% {
        height: 2.5vw;
        opacity: 1;
    }
    100% {
        height: 0;
        top: 6vw;
        opacity: 0;
    }
}
.m_btn {
    width: 50%;
    height: 30vw;
}
.lunch_btn {
    background: url('/images/m_lunch.jpg') center center / cover no-repeat;
}
.dinner_btn {
    background: url('/images/m_dinner.jpg') center center / cover  no-repeat;
}
.m_btn a {
    padding: 15.2%;
    transition: .5s;
}
.m_btn a:hover {
    background-color: rgba(0, 0, 0, 0.5);
    transition: .5s;
}
#lunch {
    position: relative;
    margin-bottom: 5vw;
}
.menu_title {
    width: 35%;
}
#lunch .menu_title {
    position: absolute;
    top: -3vw;
    left: 2vw;
}
#dinner .menu_title {
    position: absolute;
    top: -3vw;
    right: 2vw;
}
#lunch .head_img {
    z-index: -1;
    width: 60%;
    margin-top: 10vw;
    margin-left: 7vw;
}
#dinner .head_img {
    z-index: -1;
    width: 60%;
    margin-top: 8.5vw;
    margin-left: 25vw;
}
.price {
    display: block;
    width: 20vw;
    margin-top: 2vw;
    margin-left: 5.5vw;
}
.caption {
    position: relative;
    z-index: 2;
}
.caption p {
    width: 27vw;
    margin-bottom: 1.8vw;
    padding: 0 2vw;
}
.time_box {
    z-index: 2;
    position: absolute;
    background-color: #49516c;
    color: #fff;
    font-family: "Yu Gothic", "游ゴシック体", "游ゴシック", sans-serif;
    font-weight: bold;
    font-size: 1.5rem;
    width: 24vw;
    padding: 1.5vw;
}
.time_box_sp {
    display: none;
}
#lunch .time_box {
    top: 10vw;
    right: -5vw;
}
#dinner .time_box {
    top: 3.5vw;
    left: -5vw;
    text-align: right;
}
.text_wrap {
    width: 27vw;
    padding: 20vw 0 15vw;
    text-align: left;
    background: url('/images/m_caption_bg.png') center / contain no-repeat;
}
#lunch .caption {
    position: absolute;
    top: 0;
    right: 5vw;
}
#dinner .caption {
    position: absolute;
    top: 14.5vw;
    left: 5vw;
}
#lunch .text_wrap {
    position: absolute;
    top: 0;
    left: 7vw;
}
#dinner .text_wrap {
    position: absolute;
    top: -6.5vw;
    left: 0;
}
section > h2 {
    padding-top: 3vw;
}
.menu_item {
    display: inline-block;
    width: 100%;
}
.menu_item.flex {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-around;
}
.menu_item strong {
    margin: 0;
}
.menu_item ul {
    display: flex;
    flex-direction: column;
}
.menu_item ul li {
    color: #404455;
    font-size: 1.15rem;
    margin-bottom: 2vw;
}
.menu_item ul li:last-of-type {
    margin-bottom: 0;
}
.menu_item ul li:nth-of-type(odd)::before {
    content: '';
    display: inline-block;
    width: 2vw;
    height: 2vw;
    background: url('/images/before_icon_1.png') no-repeat;
    background-size: contain;
    margin-right: 1vw;
    vertical-align: text-top;
}
.menu_item ul li:nth-of-type(even)::before {
    content: '';
    display: inline-block;
    width: 2vw;
    height: 2vw;
    background: url('/images/before_icon_2.png') no-repeat;
    background-size: contain;
    margin-right: 1vw;
    vertical-align: text-top;
}
#lunch_pickup p:first-of-type {
    margin-top: 5vw;
}
#lunch_pickup p {
    display: block;
    margin: 0 auto;
    width: 35vw;
}
.set_drink {
    background-color: #fff;
    margin: 1vw auto 3vw;
    padding: 3vw 0;
    width: 50vw;
}
#lunch_pickup .set_drink p {
    margin: 0 auto;
    width: 37vw;
    line-height: 2;
}
#dinner {
    position: relative;
    margin-bottom: 20vw;
}
.pickup_list .menu_item h2 {
    margin: 0 0 3vw;
    font-family: "Yu Gothic", "游ゴシック体", "游ゴシック", sans-serif;
    font-weight: bold;
    font-size: 2rem;
    color: #9d894a;
}
.pickup_list .menu_item small {
    font-size: 1rem;
}
.pickup_list .menu_item {
    padding: 3vw;
}
.pickup_list .menu_item p {
    width: 82.3%;
    text-align: justify;
}
#dinner_pickup {
    margin-bottom: 0;
}
#dinner_menu > h2 {
    padding-top: 10;
    width: 60%;
    margin: 0 auto;
}
.top_wrapper > h2 {
    padding-top: 0;
    width: 75%;
    margin: 0 auto;
}
#dinner_menu,
#drink_menu {
    position: relative;
    overflow: hidden;
    margin-bottom: 0;
    padding-bottom: 1.2vw;
}
#dinner_menu > p {
    text-align: center;
    margin-bottom: 5vw;
}
.menu_wrap {
    justify-content: space-around;
    margin-bottom: 3vw;
    padding: 0 3vw;
}
.menu_list {
    width: 28%;
    margin-bottom: 5vw;
    font-family: "Yu Gothic", "游ゴシック体", "游ゴシック", sans-serif;
    font-size: 1rem;
}
.menu_list h3 {
    font-weight: bold;
    font-size: 1.25rem;
    letter-spacing: .3rem;
    margin-bottom: 1.5vw;
    padding: .75vw;
    border: 5px double #404455;
    border-radius: .3vw;
    text-align: center;
}
.menu_list dl {
    margin-bottom: 2vw;
    padding: .3vw 0 1vw;
    border-bottom: 2px dotted #404455;
}
.menu_list dd {
    text-align: right;
}
.menu_list.bg {
    background: url('/images/m_drink_bg.jpg') center center / cover;
}
#drink_menu,
.menu_wrap:last-of-type {
    margin-bottom: 0;
}
#drink_top {
    display: flex;
    justify-content: center;
    align-items: center;
    background: url('/images/m_drink_top.jpg') center bottom / 120%;
    height: 35vw;
    text-align: center;
    vertical-align: middle;
    margin-bottom: 5vw;
}
.top_wrapper {
    background-color: rgba(255, 255, 255, .8);
    padding: 1.5vw 6.8vw;
}
.top_wrapper h3 {
    font-size: 1.25rem;
}
.absolute5 {
    z-index: -1;
    top: -8.5vw;
    left: -18vw;
    width: 45%;
}
.absolute6 {
    z-index: -1;
    right: -15vw;
    bottom: -13vw;
    width: 50%;
}
}
/* タブレット用レイアウト */
@media screen and (min-width: 768px) and (max-width: 1023px) {
#menu_heading {
    text-align: center;
    padding-top: 1vw;
    background: url('/images/m_top_bg.jpg');
}
#menu_heading h1 {
    margin-bottom: 0;
}
h1 .menu_title {
    width: 50%;
    text-align: center;
}
.lunch_btn h2,
.dinner_btn h2 {
    width: 50%;
    margin: 23% auto;
}
.btn_guid {
    margin-bottom: 7.5vw;
}
.btn_guid::after {
    content: "";
    position: absolute;
    bottom: 1vw;
    left: 50vw;
    width: 1px;
    height: 6vw;
    background: #404455;
    animation: pathmove 1.4s ease-in-out infinite;
    opacity: 0;
    z-index: 120;
    margin-top: 20.5vw;
}
@keyframes pathmove {
    0% {
        height: 0;
        top: 5vw;
        opacity: 0;
    }
    30% {
        height: 2.5vw;
        opacity: 1;
    }
    100% {
        height: 0;
        top: 10vw;
        opacity: 0;
    }
}
.m_btn {
    position: relative;
    width: 50%;
    height: 50vw;
}
.m_btn::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1;
}
.lunch_btn {
    background: url('/images/m_lunch.jpg') center center / cover no-repeat;
}
.dinner_btn {
    background: url('/images/m_dinner.jpg') center center / cover  no-repeat;
}
.m_btn a {
    position: relative;
    z-index: 3;
}
#lunch,
#dinner {
    position: relative;
    margin-bottom: 5vw;
}
.menu_title {
    width: 35%;
}
#lunch .menu_title {
    position: absolute;
    top: -3vw;
    left: 2vw;
}
#dinner .menu_title {
    position: absolute;
    top: -1.5vw;
    right: 2vw;
}
#lunch .head_img {
    z-index: -1;
    width: 100%;
    margin-top: 10vw;
}
#dinner .head_img {
    z-index: -1;
    width: 100%;
    margin-top: 8.5vw;
}
.price {
    display: block;
    width: 20vw;
    margin-top: 2vw;
    margin-left: 15vw;
}
.caption {
    position: relative;
    z-index: 2;
}
.caption p {
    width: 36vw;
    margin: 0 2.5vw 1.8vw;
    padding: 0 2vw;
}
.time_box {
    background-color: #49516c;
    color: #fff;
    font-family: "Yu Gothic", "游ゴシック体", "游ゴシック", sans-serif;
    font-weight: bold;
    width: 28vw;
    padding: 1.5vw;
}
.time_box_sp {
    display: none;
}
#lunch .time_box {
    position: absolute;
    top: 7vw;
    right: -5vw;
}
#dinner .time_box {
    position: absolute;
    top: 1vw;
    left: -5vw;
    text-align: right;
}
.text_wrap {
    z-index: -1;
    width: 42vw;
    padding: 20vw 0 15vw;
    text-align: left;
    background: url('/images/m_caption_bg.png') center / contain no-repeat;
}
#lunch .caption {
    position: absolute;
    top: 35vw;
    right: 5vw;
}
#dinner .caption {
    position: absolute;
    top: 15vw;
    left: 3vw;
}
#lunch .text_wrap {
    position: absolute;
    top: 0;
    right: -3vw;
}
#dinner .text_wrap {
    position: absolute;
    top: -7vw;
    left: 0;
}
section > h2 {
    padding-top: 3vw;
}
.menu_item {
    display: inline-block;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-around;
    order: 2;
}
.order1 {
    order: 1;
}
.menu_item strong {
    margin: 0;
}
.menu_item ul {
    display: flex;
    flex-direction: column;
}
.menu_item ul li {
    color: #404455;
    margin-bottom: 2vw;
}
.menu_item ul li:last-of-type {
    margin-bottom: 0;
}
.menu_item ul li:nth-of-type(odd)::before {
    content: '';
    display: inline-block;
    width: 2vw;
    height: 2vw;
    background: url('/images/before_icon_1.png') no-repeat;
    background-size: contain;
    margin-right: 1vw;
    vertical-align: text-top;
}
.menu_item ul li:nth-of-type(even)::before {
    content: '';
    display: inline-block;
    width: 2vw;
    height: 2vw;
    background: url('/images/before_icon_2.png') no-repeat;
    background-size: contain;
    margin-right: 1vw;
    vertical-align: text-top;
}
#lunch_pickup p:first-of-type {
    margin-top: 5vw;
}
#lunch_pickup p {
    display: block;
    margin: 0 auto;
    width: 52vw;
    font-size: 1.6rem;
}
#lunch_pickup .order1 {
    order: 2;
}
.set_drink {
    background-color: #fff;
    margin: 1vw auto 3vw;
    padding: 3vw 0;
    width: 85vw;
}
#lunch_pickup .set_drink p {
    margin: 0 auto;
    width: 70vw;
    line-height: 2;
}
.pickup_list.flex {
    flex-direction: column;
    justify-content: space-around;
}
.pickup_list {
    margin: 10vw 0;
    height: 75vh;
}
.pickup_list:last-of-type {
    margin-bottom: 10vw;
}
.pickup_list .menu_item h2 {
    margin: 0 0 3vw;
    font-family: "Yu Gothic", "游ゴシック体", "游ゴシック", sans-serif;
    font-weight: bold;
    font-size: 3.5rem;
    color: #9d894a;
    text-align: center;
}
.pickup_list .menu_item {
    padding: 0 3vw;
}
.pickup_list .menu_item small {
    font-size: 1.5rem;
}
.pickup_list .menu_item p {
    width: 75%;
    text-align: justify;
}
#dinner_pickup {
    margin-bottom: 0;
}
#dinner_pickup .menu_item strong {
    text-align: center;
    margin: 0;
}
#dinner_menu > h2 {
    padding-top: 10vw;
    width: 60%;
    margin: 0 auto;
}
.top_wrapper > h2 {
    padding-top: 0;
    width: 75%;
    margin: 0 auto;
}
#dinner_menu,
#drink_menu {
    position: relative;
    overflow: hidden;
    margin-bottom: 0;
    padding-bottom: 1.2vw;
}
#dinner_menu > p {
    font-size: 1.4rem;
    text-align: center;
    margin-bottom: 5vw;
}
.menu_wrap {
    justify-content: space-around;
    margin-bottom: 3vw;
    padding: 0 3vw;
}
.menu_list {
    width: 28%;
    margin-bottom: 5vw;
    font-family: "Yu Gothic", "游ゴシック体", "游ゴシック", sans-serif;
    font-size: 1rem;
}
.menu_list h3 {
    font-weight: bold;
    font-size: 2rem;
    letter-spacing: .3rem;
    margin-bottom: 1.5vw;
    padding: .75vw;
    border: 5px double #404455;
    border-radius: .3vw;
    text-align: center;
}
.menu_list dl {
    margin-bottom: 2vw;
    padding: .3vw 0 1vw;
    border-bottom: 2px dotted #404455;
    font-size: 1.6rem;
}
.menu_list dd {
    text-align: right;
}
.menu_list.bg {
    background: url('/images/m_drink_bg.jpg') center center / cover;
}
#drink_menu,
.menu_wrap:last-of-type {
    margin-bottom: 0;
}
#drink_top {
    display: flex;
    justify-content: center;
    align-items: center;
    background: url('/images/m_drink_top.jpg') center bottom / 120%;
    height: 35vw;
    text-align: center;
    vertical-align: middle;
    margin-bottom: 5vw;
}
.top_wrapper {
    background-color: rgba(255, 255, 255, .8);
    padding: 1.5vw 6.8vw;
}
.top_wrapper h3 {
    position: relative;
    top: 3vw;
    font-size: 1.4rem;
}
.top_wrapper > p {
    font-size: 1.4rem;
    margin-bottom: 3vw;
}
.absolute5 {
    z-index: -1;
    top: -10.5vw;
    left: -18vw;
    width: 45%;
}
.absolute6 {
    z-index: -1;
    right: -15vw;
    bottom: -13vw;
    width: 45%;
}
}
/* スマホ用レイアウト */
@media screen and (max-width: 767px) {
#menu_heading {
    text-align: center;
    padding-top: 1vw;
    background: url('/images/m_top_bg.jpg');
}
#menu_heading h1 {
    margin-bottom: 0 auto;
}
h1 .menu_title {
    width: 75%;
    text-align: center;
}
.lunch_btn h2,
.dinner_btn h2 {
    width: 50%;
    margin: 23% auto;
}
.btn_guid {
    margin-bottom: 7.5vw;
}
.btn_guid::after {
    content: "";
    position: absolute;
    bottom: 1vw;
    left: 50vw;
    width: 1px;
    height: 6vw;
    background: #404455;
    animation: pathmove 1.4s ease-in-out infinite;
    opacity: 0;
    z-index: 120;
    margin-top: 20.5vw;
}
@keyframes pathmove {
    0% {
        height: 0;
        top: 18.5vw;
        opacity: 0;
    }
    30% {
        height: 4vw;
        opacity: 1;
    }
    100% {
        height: 0;
        top: 25vw;
        opacity: 0;
    }
}
#menu_heading .flex {
    flex-direction: column;
}
.m_btn {
    position: relative;
    width: 100%;
    height: 37.5vh;
}
.m_btn::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1;
}
.lunch_btn {
    background: url('/images/m_lunch.jpg') center center / cover no-repeat;
}
.dinner_btn {
    background: url('/images/m_dinner.jpg') center center / cover  no-repeat;
}
.m_btn a {
    position: relative;
    z-index: 3;
}
#lunch {
    position: relative;
    margin-bottom: 15vw;
}
.menu_title {
    width: 50%;
    margin: 0 auto;
}
.price {
    display: block;
    width: 45%;
    margin: 3vw auto;
}
.caption {
    width: 80%;
    padding: 15vw 0;
    text-align: left;
    border: 1px solid #49516c;
    background: #fff;
}
#dinner .caption {
    margin-top: 5vw;
}
.caption p {
    margin-bottom: 1.8vw;
    padding: 0 5vw;
}
.time_box {
    display: none;
}
.time_box_sp {
    display: block;
    width: 50vw;
    font-family: "Yu Gothic", "游ゴシック体", "游ゴシック", sans-serif;
    font-weight: bold;
    font-size: 3rem;
    background-color: #49516c;
    color: #fff;
    margin: 0 auto 10vw;
    text-align: center;
    padding: 3%;
}
section > h2 {
    padding-top: 3vw;
}
.lunch_menu {
    margin-bottom: 15vw;
}
.menu_item {
    display: inline-block;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-around;
    order: 2;
}
.order1 {
    order: 1;
}
.menu_item strong {
    text-align: center;
    margin: 3vw;
}
.menu_item ul {
    display: flex;
    flex-direction: column;
}
.menu_item ul li {
    color: #404455;
    margin-bottom: 2vw;
}
.menu_item ul li:last-of-type {
    margin-bottom: 0;
}
.menu_item ul li:nth-of-type(odd)::before {
    content: '';
    display: inline-block;
    width: 2.5vw;
    height: 2.5vw;
    background: url('/images/before_icon_1.png') no-repeat;
    background-size: contain;
    margin-right: 2vw;
    vertical-align: baseline;
}
.menu_item ul li:nth-of-type(even)::before {
    content: '';
    display: inline-block;
    width: 2.5vw;
    height: 2.5vw;
    background: url('/images/before_icon_2.png') no-repeat;
    background-size: contain;
    margin-right: 2vw;
    vertical-align: baseline;
}
#lunch_pickup .flex {
    flex-direction: column;
}
#lunch_pickup p {
    display: block;
    margin: 0 auto;
    width: 82vw;
}
.set_drink {
    background-color: #fff;
    margin: 1vw auto 3vw;
    padding: 5vw 0;
    width: 100vw;
}
#lunch_pickup .set_drink p {
    font-size: 2.5rem;
    margin: 0 auto;
    width: 77vw;
    line-height: 2;
    text-align: justify;
}
#dinner {
    position: relative;
    margin-bottom: 20vw;
}
.pickup_list.flex {
    flex-direction: column;
    justify-content: space-around;
}
.pickup_list {
    margin: 10vw 0;
    height: 70vh;
}
.pickup_list .menu_item h2 {
    margin: 0 0 3vw;
    font-family: "Yu Gothic", "游ゴシック体", "游ゴシック", sans-serif;
    font-weight: bold;
    color: #9d894a;
}
.pickup_list .menu_item small {
    font-size: 1.5rem;
}
.pickup_list .menu_item p {
    width: 75%;
    text-align: justify;
}
#dinner_pickup {
    margin-bottom: 0;
}
#dinner_pickup .menu_item strong {
    text-align: center;
    margin: 0;
}
#dinner_menu > h2 {
    padding-top: 30vw;
    width: 85%;
    margin: 0 auto;
}
.top_wrapper > h2 {
    padding-top: 0;
    width: 100%;
    margin: 0 auto;
}
#dinner_menu,
#drink_menu {
    position: relative;
    overflow: hidden;
    margin-bottom: 0;
    padding-bottom: 1.2vw;
}
#dinner_menu > p {
    text-align: center;
    margin-bottom: 5vw;
}
.menu_wrap {
    justify-content: space-around;
    margin-bottom: 1.4vw;
    padding: 0 3vw;
}
.menu_wrap.flex {
    flex-direction: column;
}
.menu_list {
    width: 100%;
    font-family: "Yu Gothic", "游ゴシック体", "游ゴシック", sans-serif;
}
.menu_btn_sp {
    font-weight: bold;
    letter-spacing: .8rem;
    margin-bottom: 5vw;
    padding: 3vw;
    border: 5px double #404455;
    border-radius: .3vw;
    text-align: center;
}
.menu_btn_sp::after {
    content: '\f078';
    font-family:"Font Awesome 5 Free","Font Awesome 5 Brands";
    display: inline-block;
    position: absolute;
    right: 10vw;
    width: 5vw;
    height: 5vw;
}
.menu_btn_sp.open::after {
    content: '\f077';
}
.menu_box {
    display: none;
}
.menu_list dl {
    display: block;
    margin-bottom: 2vw;
    padding: .3vw 0 1vw;
    border-bottom: 2px dotted #404455;
}
.menu_list dd {
    text-align: right;
}
.bg_sp {
    background: url('/images/m_drink_bg_sp.jpg') center / cover no-repeat;
    width: 100vw;
    height: 40vw;
    margin-bottom: 5vw;
}
#dinner_menu .menu_list br {
    display: none;
}
#dinner_menu .menu_list:last-of-type {
    margin-bottom: 30vw;
}
#drink_menu,
.menu_wrap:last-of-type {
    margin-bottom: 0;
}
#drink_menu {
    padding: 0;
}
#drink_top {
    display: flex;
    justify-content: center;
    align-items: center;
    background: url('/images/m_drink_top.jpg') center bottom / 120%;
    height: 50vw;
    text-align: center;
    vertical-align: middle;
    margin-bottom: 5vw;
}
.top_wrapper {
    background-color: rgba(255, 255, 255, .8);
    padding: 1vw 6.8vw;
}
.top_wrapper h3 {
    position: relative;
    top: 5vw;
}
.top_wrapper p {
    position: relative;
    bottom: 2.5vw;
}
.absolute5 {
    z-index: -1;
    top: -10.5vw;
    left: 28vw;
    width: 45%;
}
.absolute6 {
    z-index: -1;
    right: 26vw;
    bottom: -13vw;
    width: 45%;
}
}