@charset "UTF-8";

body * {font-size: 1.2rem;}

::-webkit-scrollbar {
    width: 5px;
    height: 5px;
}

html.scroll-prevent {
    overflow: hidden;
}

/*--------------------------------------------------------------------------
----------------------------------------------------------------------------
----------------------------------------------------------------------------
ユーティリティ
----------------------------------------------------------------------------
----------------------------------------------------------------------------
--------------------------------------------------------------------------*/

.u_pc {
    display: none;
}

/*---コンテナ---*/
.u_container {
    width: calc(100% - 4rem);
}

/*--------------------------------------------------------------------------
----------------------------------------------------------------------------
----------------------------------------------------------------------------
コンポーネント
----------------------------------------------------------------------------
----------------------------------------------------------------------------
--------------------------------------------------------------------------*/

/*----------------------------------------
ロゴ
----------------------------------------*/
.c_logo .logo-img {
    width: 7.8rem;
    height: 8.112rem;
    margin-bottom: .5rem;
}
.c_logo .logo-txt {
    font-size: 1.2rem;
}

/*------------------------------------
ページタイトル
------------------------------------*/
.c_pagettl .pagettl-img {
    height: 17.5rem;
}
.c_pagettl .pagettl-img:before {
    bottom: -12.9rem;
    left: calc(50% - 11.5rem);
    width: 23rem;
    height: 17.5rem;
}

/*------------------------------------
見出し
------------------------------------*/
.c_headline {
    margin-bottom: 3.2rem;
}
.c_headline span {
    font-size: 2.3rem;
}
.c_headline span:after {
    width: 1.2rem;
    height: 2px;
    margin-top: 1rem;
}

/*------------------------------------
READ MORE
------------------------------------*/
.c_morebtn {
    width: 16.4rem;
}
.c_morebtn.wide {
    max-width: 25.2rem;
}
.c_morebtn.wide span {
    padding: 1.7rem 0;
}

/*------------------------------------
TOPに戻る
------------------------------------*/
.c_page-top {
    right: 1.4rem;
    width: 4rem;
    height: 4rem;
}
.c_page-top img {
    width: 1.8rem;
    height: 1.8rem;
}

/*--------------------------------------------------------------------------
----------------------------------------------------------------------------
----------------------------------------------------------------------------
レイアウト
----------------------------------------------------------------------------
----------------------------------------------------------------------------
--------------------------------------------------------------------------*/

/*--------------------------------------------------------------------------
ヘッダー
--------------------------------------------------------------------------*/
#l_header .hum-toggle {
    top: 1rem;
    right: 1rem;
}

#l_header .header-nav {
    width: 100%;
    overflow-y: scroll;
}
#l_header .header-nav::-webkit-scrollbar {
    width: 0;
}
#l_header .header-nav .nav-inner {
    padding: 8.5rem 4.8rem;
}

#l_header .nav-logo {
    width: 8.85rem;
    height: 11.3rem;
    margin-bottom: 6.4rem;
}

#l_header .nav-list {
    margin-bottom: 3.8rem;
}
#l_header .nav-list .item:not(:last-child) {
    margin-bottom: 2.8rem;
}
#l_header .nav-list .item a {
    font-size: 2.2rem;
}

#l_header .nav-sns {
    display: flex;
    align-items: center;
}
#l_header .nav-sns .sns-txt {
    font-size: 1.6rem;
    margin-right: .7rem;
}
#l_header .nav-sns .sns-icon {
    width: 2rem;
    height: 2rem;
}

/*--------------------------------------------------------------------------
フッター
--------------------------------------------------------------------------*/
#l_footer {
    padding: 3.4rem 2rem 3rem;
}
@media screen and (max-width:360px) {
    #l_footer {
        padding: 3.4rem 0 3rem;
    }
}

#l_footer .footer-inner {
    margin-bottom: 2.1rem;
}
#l_footer .footer-inner-left {
    max-width: 30rem;
    justify-content: space-between;
    align-items: flex-start;
    margin: 0 auto 4.5rem;
}

#l_footer .shop-details .tel {
    display: inline-block;
    margin-bottom: .75rem;
}
#l_footer .shop-details .hours {
    margin-bottom: 1rem;
}
#l_footer .shop-details .hours dl {
    margin-bottom: .2rem;
}
#l_footer .shop-details .hours dl dt {
    width: 4em;
}
#l_footer .shop-details .link-icon {
    width: 1.2rem;
    height: 1.2rem;
    margin-left: .5rem;
}

#l_footer .footer-nav .nav-list {
    margin-bottom: 2.4rem;
}
#l_footer .footer-nav .nav-list .item {
    border-bottom: 1px solid var(--cowhite);
}
#l_footer .footer-nav .nav-list .item:first-child {
    border-top: 1px solid var(--cowhite);
}
#l_footer .footer-nav .nav-list .item a {
    font-size: 1.4rem;
    width: 100%;
    padding: 1.5rem 0;
}

#l_footer .nav-sns {
    display: flex;
    align-items: center;
}
#l_footer .nav-sns .sns-txt {
    font-size: 1rem;
    margin-right: 1.2rem;
}
#l_footer .nav-sns .sns-icon {
    width: 1.7rem;
    height: 1.7rem;
}

/*--------------------------------------------------------------------------
----------------------------------------------------------------------------
----------------------------------------------------------------------------
ページ
----------------------------------------------------------------------------
----------------------------------------------------------------------------
--------------------------------------------------------------------------*/

/*--------------------------------------------------------------------------
TOP
--------------------------------------------------------------------------*/

/*----------------------------------------
About
----------------------------------------*/
#p_top .m_about {
    margin-bottom: 8.8rem;
    padding: 0 0 12.8rem;
}

#p_top .m_about .about-scrdown {
    left: calc(.4rem + 2px);
}

#p_top .m_about .about-catch {
    font-size: 2.2rem;
    line-height: 1.6;
    margin: 8.5rem auto 0;
}
#p_top .m_about .about-summary {
    font-size: 1.5rem;
    line-height: 2.4;
    margin: 1.25rem auto 0;
}

/*----------------------------------------
NEWS
----------------------------------------*/
#p_top .m_news {
    margin-bottom: 8.8rem;
}

#p_top .m_news .news-list-wrap {
    margin-bottom: 4.2rem;
    overflow-x: scroll;
}
#p_top .m_news .c_news-list {
    width: calc((((100vw - 8rem) * .8) * 3) + (2.3rem * 2));
    max-width: calc((33.6rem * 3) + (2.3rem * 2));
    gap: 0 2.3rem;
}
#p_top .m_news .c_news-list .item {
    width: calc((100vw - 8rem) * .8);
    max-width: 33.6rem;
    margin-bottom: 1.75rem;
}
#p_top .m_news .c_news-list .item .item-img {
    height: calc((100vw - 8rem) * .8);
    max-height: 33.6rem;
}

/*----------------------------------------
MENU
----------------------------------------*/
#p_top .m_menu {
    margin-bottom: 10.8rem;
}

#p_top .m_menu .menu-txt {
    line-height: 2.5;
    margin: 0 3rem 3rem;
}

#p_top .m_menu .menu-img {
    margin: 2.1vw -5.068vw 0 -5.068vw;
}
#p_top .m_menu .menu-img .menu-img-inner {
    width: calc(100vw + (5.068vw * 2));
}

/*----------------------------------------
ACSESS
----------------------------------------*/
#p_top .m_acsess {
    margin: 0 -2rem;
}

#p_top .m_acsess .access-map {
    height: 54.667vw;
    max-height: 41rem;
    min-height: 30.75rem;
}

/*--------------------------------------------------------------------------
MENU
--------------------------------------------------------------------------*/

/*----------------------------------------
フードメニュー
----------------------------------------*/
#p_menu .m_food-menu {
    margin: 7.2rem 0 16rem;
}

#p_menu .m_food-menu .menu-list {
    flex-direction: column;
    gap: 7.5rem 0;
}
#p_menu .m_food-menu .menu-list .item {
    max-width: 48rem;
    margin: 0 auto;
}
#p_menu .m_food-menu .menu-list .item .item-name {
    margin-bottom: 1.2rem;
}
#p_menu .m_food-menu .menu-list .item .item-name .name-en {
    font-size: 1.3rem;
    margin-bottom: .8rem;
}
#p_menu .m_food-menu .menu-list .item .item-name .name-jp {
    font-size: 1.7rem;
}
#p_menu .m_food-menu .menu-list .item .item-summary {
    margin-bottom: 2rem;
}
#p_menu .m_food-menu .menu-list .item .item-summary p:not(:last-child) {
    margin-bottom: .5rem;
}
#p_menu .m_food-menu .menu-list .item .item-price dl:not(:last-child) {
    margin-bottom: 1.4rem;
}
#p_menu .m_food-menu .menu-list .item .item-price dl dt {
    font-size: 1.5rem;
}
#p_menu .m_food-menu .menu-list .item .item-price dl dd {
    font-size: 1.8rem;
}

#p_menu .m_food-menu .menu-list .item .item-img {
    height: 27.8rem;
    margin-bottom: 1.8rem;
}
#p_menu .m_food-menu .menu-list .item .item-img img {
    max-height: 27.8rem;
}

/*クレープ*/
#p_menu .m_food-menu .menu-list.crepe .item:not(:last-child) {
    margin-bottom: 9rem;
}
#p_menu .m_food-menu .menu-list.crepe .item .item-name {
    margin-bottom: 2.4rem;
}
#p_menu .m_food-menu .menu-list.crepe .item .item-name .name-en,
#p_menu .m_food-menu .menu-list.crepe .item .item-name .name-jp {
    text-align: center;
    text-indent: .3em;
}
#p_menu .m_food-menu .menu-list.crepe .item .item-variation {
    margin-bottom: 2.8rem;
}
#p_menu .m_food-menu .menu-list.crepe .item .item-variation.small li {
    font-size: 1.4rem;
    margin-bottom: 1.2rem;
}
#p_menu .m_food-menu .menu-list.crepe .item .item-variation.big li {
    font-size: 1.7rem;
    margin-bottom: 1.1rem;
}

/*----------------------------------------
ドリンクメニュー
----------------------------------------*/
#p_menu .m_drink-menu {
    max-width: 38rem;
    margin: 0 auto 14rem;
}

#p_menu .m_drink-menu .menu-ttl {
    margin-bottom: 1.6rem;
}
#p_menu .m_drink-menu .menu-ttl .ttl-en {
    font-size: 1.3rem;
    margin-bottom: .8rem;
}
#p_menu .m_drink-menu .menu-ttl .ttl-jp {
    font-size: 1.7rem;
}

#p_menu .m_drink-menu .menu-summary {
    margin-bottom: 4rem;
}

#p_menu .m_drink-menu .menu-list {
    flex-wrap: wrap;
    justify-content: center;
    gap: 3.6rem 4.2rem;
}
#p_menu .m_drink-menu .menu-list .item .item-img {
    height: 8.4rem;
    margin-bottom: 1.2rem;
}
#p_menu .m_drink-menu .menu-list .item .item-img img {
    max-width: 11.2rem;
    max-height: 8.4rem;
}
#p_menu .m_drink-menu .menu-list .item .item-txt .txt-name,
#p_menu .m_drink-menu .menu-list .item .item-txt .txt-price {
    font-size: 1.7rem;
}

@media screen and (min-width: 640px) {
    #p_menu .m_drink-menu {
        max-width: 100%;
    }
}

/*--------------------------------------------------------------------------
NEWS
--------------------------------------------------------------------------*/
#p_news-archive {
    padding-bottom: 7.2rem;
}
#p_news-archive .c_news-list {
    margin: 0 3rem 5rem;
}
#p_news-archive .c_news-list .item .item-img {
    height: 17.4rem;
    margin-bottom: 2rem;
}

@media screen and (min-width: 640px) {
    #p_news-archive .c_news-list .item a {
        display: flex;
        align-items: center;
    }
    #p_news-archive .c_news-list .item .item-img {
        width: 27.6rem;
        margin: 0 3rem 0 0;
    }
    #p_news-archive .c_news-list .item .item-txt {
        width: calc(100% - 27.6rem - 3rem);
    }
}

/*--------------------------------------------------------------------------
NEWS個別
--------------------------------------------------------------------------*/
#p_news-single {
    padding-bottom: 7.2rem;
}

#p_news-single .m_state {
    margin-bottom: 3rem;
}
#p_news-single .m_state .item-ttl {
    font-size: 2.2rem;
    margin-bottom: 1rem;
}

#p_news-single .m_detail .c-postContent {
    margin-bottom: 3.75rem;
}


/*--------------------------------------------------------------------------
CONTACT
--------------------------------------------------------------------------*/

/*----------------------------------------
NOTES
----------------------------------------*/
#p_contact .m_notes {
    margin-bottom: 5rem;
}

#p_contact .m_notes .notes-msg {
    font-size: 1.4rem;
    margin-bottom: 4.4rem;
}

#p_contact .m_notes .notes-sec {
    margin: 0 2rem 4.8rem;
}
#p_contact .m_notes .notes-sec .sec-ttl {
    font-size: 1.8rem;
    margin-bottom: 1.4rem;
}
#p_contact .m_notes .notes-sec .tel {
    font-size: 2.6rem;
    margin-bottom: .8rem;
}
#p_contact .m_notes .notes-sec .time * {
    font-size: 1.4rem;
}
#p_contact .m_notes .notes-sec .time dt {
    margin-right: 2.6rem;
}
#p_contact .m_notes .notes-sec p {
    font-size: 1.4rem;
    line-height: 1.75;
    margin-bottom: 1rem;
}

/*----------------------------------------
FORM
----------------------------------------*/
#p_contact .m_form {
    margin-bottom: 10.4rem;
}

#p_contact .m_form .form-row {
    margin-bottom: 2.6rem;
}
#p_contact .m_form .form-row dt {
    font-size: 1.5rem;
    margin-bottom: .7rem;
}
#p_contact .m_form .form-row dt.required:after {
    margin-left: 2rem;
}
#p_contact .m_form .form-row dd {
    font-size: 1.5rem;
}
#p_contact .m_form .form-row dd.conform-txt {
    padding: 1rem 1.5rem;
}

#p_contact .m_form input[type="text"],
#p_contact .m_form input[type="email"],
#p_contact .m_form input[type="tel"],
#p_contact .m_form input[type="url"],
#p_contact .m_form input[type="date"],
#p_contact .m_form input[type="time"],
#p_contact .m_form input[type="number"],
#p_contact .m_form select,
#p_contact .m_form textarea {
    font-size: 1.4rem;
    padding: 1.1rem 1.5rem;
}

/*プライバシーポリシー*/
#p_contact .m_form .form-consent {
    font-size: 1.6rem;
    letter-spacing: 0;
    margin: 4.4rem 0 6rem;
}

/*ボタン*/
#p_contact .m_form .form-submit.confirm {
    margin-top: 10rem;
}
#p_contact .m_form .form-submit .submit-btn:not(:last-of-type) {
    margin-right: 5rem;
}

/*----------------------------------------
COMPLETE
----------------------------------------*/
#p_contact .m_thanks {
    padding: 9rem 0 15rem;
}
#p_contact .m_thanks .thanks-txt {
    font-size: 1.7rem;
    margin-bottom: 4.3rem;
}

/*--------------------------------------------------------------------------
プライバシーポリシー
--------------------------------------------------------------------------*/
#p_privacy {
    margin-bottom: 10rem;
}
#p_privacy .c_pagettl {
    margin-bottom: 5rem;
}

#p_privacy .privacy-sec {
    margin-bottom: 4.2rem;
}
#p_privacy .privacy-sec * {
    font-size: 1.3rem;
}
#p_privacy .privacy-sec .sec-ttl {
    font-size: 1.5rem;
}
