/* フォント
   -発行されたCSSコードを入力してください。
--------------------*/
/* 本文 */
body {
    font-family: a-otf-gothic-bbb-pr6n, 'AppleSystem', 'Yu Gothic', YuGothic, 'HiraKakuProN-W3', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'メイリオ', Meiryo, Osaka, 'MS UI Gothic', 'ＭＳ Ｐゴシック', 'MS PGothic', 'Patrick Hand', sans-serif;
    font-weight: 400;
    font-style: normal;
}

/* 見出し */
.heading_ll,
.heading_l,
.heading_m {
    font-family: 'Dosis', a-otf-gothic-bbb-pr6n, 'AppleSystem', 'Yu Gothic', YuGothic, 'HiraKakuProN-W3', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'メイリオ', Meiryo, Osaka, 'MS UI Gothic', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

a:hover {
    opacity: 1;
}


/* Header
   -ロゴの大きさに合わせて任意で変更してください。
--------------------*/
.wrapper.type_a header .logo {
    width: 80px;
}

.wrapper.type_a .gnav_list li {
    position: relative;
}

.wrapper.type_a .gnav_list li.active:after,
.wrapper.type_a .gnav_list li:hover:after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #002565;
}

@media screen and (min-width: 1000px) {
    .wrapper.type_a header .logo {
        width: 100px;
    }
}

@media screen and (max-width: 1000px) {
    .wrapper.type_a .gnav_container {
        background-color: #002565;
    }

    .wrapper.type_a header .gnav_list {
        width: 100%;
    }

    .wrapper.type_a header .gnav_list .heading_m {
        display: block;
        text-align: left;
        padding: 12px 0;
    }

    .wrapper.type_a .gnav_list li.active:after,
    .wrapper.type_a .gnav_list li:hover:after {
        display: none;
    }

    .gnav_container a {
        color: #eeebe7;
    }

    .wrapper.type_a header.gnav_active .menu_bar {
        background-color: #eeebe7;
    }
}


/* メインビジュアル
   -デザインに合わせて調整してください。
--------------------*/
.mainvisual {
    padding-top: 240px;
}

.opening_hours {
    position: absolute;
    top: 205px;
    right: 50px;
    text-align: right;
}

.opening_hours .par_s:nth-of-type(1) {
    margin-right: 20px;
}

.opening_hours .close {
    white-space: nowrap;
    display: inline-block;
    text-align: right;
}

@media screen and (max-width: 560px) {
    #oh-open {
        white-space: normal; /* JSで入れた <br> を有効に */
        line-height: 1.3;
    }
}

.mv_parent .inner {
    position: relative;
}

.mv_parent #sec1g2 {
    position: absolute;
    bottom: 1px;
    right: 0;
    width: 70%;
    margin: 0;
    padding: 0 50px;
    background-color: rgba(238, 235, 231, 0.85);
    z-index: 10;
}

.mv_parent #sec1g2 .column {
    align-items: center;
}

.mv_parent #sec1g2 .block:nth-of-type(1) {
    width: 120px;
}

.mv_parent #sec1g2 .block:nth-of-type(2) {
    width: calc(100% - 120px);
    padding-top: 14px;
}

.mv_parent #sec1g2 .par_m {
    width: calc(100% - 120px);
    max-width: 100%;
    overflow: hidden;
}

.mv_parent #sec1g2 .par_m span {
    display: inline-block;
    padding-left: 100%;
    white-space: nowrap;
    animation: ticker 20s infinite linear;
}

@keyframes ticker {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-100%);
    }
}

@media screen and (max-width: 1000px) {
    .mainvisual {
        padding-top: 180px;
    }

    .opening_hours {
        top: 130px;
        right: 20px;
        text-align: right;
    }

    .opening_hours .par_s:nth-of-type(1) {
        margin-right: 0px;
    }

    .opening_hours .close {
        display: block;
        text-align: right;
    }

    .mv_parent #sec1g2 {
        position: relative;
        width: 100%;
        padding: 0 20px;
    }

    .mv_parent #sec1g2 .block:nth-of-type(1) {
        width: 100%;
        padding-top: 5px;
        padding-right: 0;
        padding-bottom: 0;
    }

    .mv_parent #sec1g2b1 {
        display: none;
    }

    .mv_parent #sec1g2 .block:nth-of-type(2) {
        width: 100%;
        padding-top: 0;
        padding-bottom: 0;
        padding-left: 0;
    }

    .mv_parent #sec1g2 .instagram.small time {
        width: 90px;
        font-size: 10px;
    }

    .mv_parent #sec1g2 .par_m {
        width: calc(100% - 90px);
        font-size: 12px;
    }
}


/* 特殊カスタム
--------------------*/
/* 共通 */
.main_area {
    padding-bottom: 50px;
    background-color: #ddd7cf;
}

.linkbutton.type_b1 a,
.linkbutton.type_b2 a,
.linkbutton.type_b3 a {
    transition: all 0.2s cubic-bezier(0.61, 1, 0.88, 1);
}

.linkbutton.type_b1 a:hover,
.linkbutton.type_b2 a:hover,
.linkbutton.type_b3 a:hover {
    opacity: 1 !important;
    transform: translateX(5px);
}

.photo a img {
    transition: all 0.2s cubic-bezier(0.61, 1, 0.88, 1);
}

.photo a img:hover {
    transform: scale(1.02);
}

@media screen and (max-width: 1000px) {
    .wrapper {
        padding-bottom: 52px;
    }
}


/* Top */
.top_page #sec2 {
    padding-top: 70px;
}

.top_page #sec2g1 > .column {
    padding-top: 20px;
}

.top_page #sec2g2 {
    margin-top: 70px;
}

.top_page #sec5 .photo {
    max-width: 300px;
    margin: 0 auto;
}

.top_page #sec5 .par_m {
    text-align: center;
}

@media screen and (max-width: 1000px) {
    .top_page #sec2 {
        padding-top: 30px;
    }

    .top_page #sec2g1 {
        overflow: hidden;
    }

    .top_page #sec2g1 > .photo {
        width: 180%;
        margin-left: -40%;
    }

    .top_page #sec2g1 > .column {
        padding-top: 30px;
    }

    .top_page #sec2g1b2 {
        padding-top: 30px;
    }

    .top_page #sec2g1b1 .photo img,
    .top_page #sec2g1b2 .photo img {
        display: block;
        width: 85%;
        margin: 0 auto;
    }

    .top_page #sec2g1 .linkbutton.type_c {
        margin: 40px auto;
    }

    .top_page #sec2g2 {
        margin-top: 20px;
    }

    .top_page .column.c2sp > .block:nth-of-type(2n+1),
    .top_page .column.c2sp > .block:nth-of-type(2n) {
        padding: 3px 0;
    }
}

/* カレンダー */
.calendar-container {
    font-family: "Patrick Hand";
    width: 100%;
    max-width: 550px;
    background-color: #edebe6;
    padding: 48px;
    box-sizing: border-box;
    margin: 0 auto;
}

.calendar-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 24px;
    padding: 0 5px;
}

.month-year {
    display: flex;
    align-items: flex-start;
    gap: 5px;
}

.month {
    font-size: clamp(40px, 8vw, 72px);
    font-weight: 300;
    color: #333;
    line-height: 1;
}

.year {
    font-size: clamp(16px, 3vw, 24px);
    font-weight: 400;
    color: #333;
    margin-top: 8px;
}

.legend {
    display: flex;
    align-items: center;
    gap: 4px;
}

.legend .close-mark {
    font-size: clamp(24px, 2vw, 40px);
    font-weight: 300;
    color: #2c4a7c;
}

.legend .legend-text {
    font-size: clamp(14px, 1.8vw, 18px);
    font-weight: 400;
    color: #2c4a7c;
}

/* 曜日行 */
.weekdays {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    margin-bottom: 8px;
    gap: 0;
}

.weekday {
    text-align: center;
    font-size: clamp(12px, 1.5vw, 16px);
    font-weight: 400;
    color: #2c4a7c;
    line-height: 1.5;
}

.weekday:first-child {
    border-left: none;
}

.weekday:last-child {
    border-right: none;
}

/* 日付セル */
.days-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0;
}

.day {
    position: relative;
    border-left: 2px solid #fff;
    border-top: 2px solid #fff;
    padding: 2px;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    box-sizing: border-box;
    overflow: hidden;
}

.day:nth-child(7n + 1) {
    border-left: none;
}

.day:nth-child(7n) {
    border-right: none;
}

.day::before {
    content: "";
    display: block;
    padding-top: 100%;
}

/* 空白セル */
.day.empty {
    background-color: #edebe6;
}

/* 日付テキスト */
.day .date {
    position: absolute;
    top: 2px;
    left: 2px;
    font-size: clamp(12px, 1.2vw, 14.5px);
    color: #333;
}

/* バツ（閉店日） */
.day.closed .close-mark {
    font-size: clamp(24px, 2.5vw, 40px);
    font-weight: 400;
    color: #333;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.days-grid > .day:nth-last-child(-n + 7) {
    border-bottom: 2px solid #fff;
}

@media (max-width: 768px) {
    .month {
        font-size: 10vw;
    }

    .year {
        font-size: 3.5vw;
    }

    .legend {
        font-size: 2.5vw;
    }

    .legend .close-mark {
        font-size: 3.5vw;
    }

    .weekday {
        font-size: 2.5vw;
    }

    .day .date {
        font-size: 2vw;
    }

    .day.closed .close-mark {
        font-size: 4vw;
    }
}

@media (max-width: 480px) {
    .month {
        font-size: 14vw;
    }

    .year {
        font-size: 4vw;
    }

    .legend {
        font-size: 3vw;
    }

    .legend .close-mark {
        font-size: 4vw;
    }

    .weekday {
        font-size: 3vw;
    }

    .day .date {
        font-size: 2.5vw;
    }

    .day.closed .close-mark {
        font-size: 5vw;
    }
}

/* /カレンダー */

/* About */
.about_page #sec2g1 > .column {
    align-items: center;
}

.about_page #sec2 .group + .group {
    margin-top: 50px;
}

.about_page #sec4 .heading_s {
    margin-top: 20px;
}

.about_page #sec4 .photo {
    position: relative;
}

.about_page #sec4 .photo:hover:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(/wp-content/themes//img/profile2.jpg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.about_page #sec5 .group {
    margin: 0;
}

@media screen and (min-width: 1000px) {
    .about_page #sec5 .block {
        padding-top: 0;
        padding-bottom: 5px;
    }

    .about_page #sec5g2 {
        margin-top: -5px !important;
    }

    .about_page #sec5g1b1 {
        width: calc(50% - 7px);
        margin-right: 7px;
    }

    .about_page #sec5g1b2 {
        width: calc(50% - 8px);
        margin-left: 8px;
    }
}

@media screen and (max-width: 1000px) {
    .about_page #sec1g1b1 {
        order: 1;
        margin-top: 20px;
    }

    .about_page #sec1g1b1 .photo img {
        max-width: 450px;
    }

    .about_page #sec2 .group + .group {
        margin-top: 40px;
    }

    .about_page .column.c1sp .block + .block {
        margin-top: 0;
    }

    .about_page #sec2g2 #sec2g2b1 {
        order: 1;
    }

    .about_page #sec3g1 .block {
        display: flex;
        flex-wrap: wrap;
    }

    .about_page #sec3g1 .block + .block {
        margin-top: 40px;
    }

    .about_page #sec3g1 .block.type_b > * {
        width: 100%;
    }

    .about_page #sec3g1 .heading_m {
        order: 1;
    }

    .about_page #sec3g1 .photo {
        order: 0;
    }

    .about_page #sec3g1 .par_m {
        order: 2;
    }

    .about_page #sec5 {
        max-width: 700px;
        margin: 0 auto;
    }
}


/* Menu */
.menu_page #sec1g1b1 .photo img {
    max-width: 450px;
}

.menu_page #sec3 .group + .group {
    margin-top: 40px;
}

.menu_page #sec3 .heading_l {
    padding-bottom: 0;
}

.menu_page #sec3 .par_m {
    padding-bottom: 0;
}

.menu_page #sec3g6 {
    text-align: center;
}

@media screen and (max-width: 1000px) {
    .menu_page #sec1g1b1 {
        order: 1;
        margin-top: 20px;
    }

    .menu_page #sec3 .group + .group {
        margin-top: 0;
    }

    .menu_page #sec3g1 .heading_ll {
        padding-bottom: 0;
    }
}


/* Goods */
.goods_page .linkbutton {
    text-align: left;
}

/* Footer */
footer {
    width: 100%;
    padding: 0;
    background-color: #eeebe7;
}

.footer_container {
    display: flex;
    align-items: center;
}

.footer_container > .left {
    width: 45%;
}

.footer_container > .right {
    width: 65%;
    padding: 50px 70px;
}

footer .logo img {
    width: 120px;
}

footer dl {
    display: flex;
    flex-wrap: wrap;
}

footer dt {
    width: 150px;
}

footer dd {
    width: calc(100% - 150px);
}

footer .copyright {
    margin-top: 30px;
}

footer iframe {
    width: 100%;
    height: 400px;
}

@media screen and (min-width: 1000px) {
    .fnav_container {
        display: none;
    }
}

@media screen and (max-width: 1000px) {
    .footer_container {
        flex-wrap: wrap;
    }

    .footer_container > .left {
        order: 1;
        width: 100%;
    }

    footer iframe {
        height: 50vw;
        max-height: 300px;
    }

    .footer_container > .right {
        width: 100%;
        padding: 30px;
    }

    footer dt {
        width: 130px;
    }

    footer dd {
        width: calc(100% - 130px);
    }

    footer .copyright {
        margin-top: 10px;
    }

    .fnav_container {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        padding: 12px 20px;
        background-color: #002565;
    }

    .fnav_list {
        display: flex;
        justify-content: center;
        padding-bottom: constant(safe-area-inset-bottom);
        padding-bottom: env(safe-area-inset-bottom);
    }

    .fnav_list li {
        padding: 0 20px;
    }

    .fnav_list li a {
        color: #eeebe7;
    }
}

/* instagram */
.ig_hidden {
    display: none;
}

#sec2g1 > .linkbutton.type_c > a {
    color: #ddd7cf;
    background-color: #002565;
}

#sec2g1 > .linkbutton.type_c > a:hover {
    color: #333333;
    background-color: #eeebe7;
}

#sec3g1 > .heading_ll {
    color: #002565;
}

#sec4g1 {
    color: #333333;
    background-color: #eeebe7;
}

#sec4g1 > .heading_ll {
    color: #002565;
}
