@charset "UTF-8";
@media screen and (max-width: 1240px) {
    .w_inner {
        width: 100%;
        padding-right: 20px !important;
        padding-left: 20px !important;
    }
}

@media screen and (max-width: 1600px) {
    body.fixed {
        position: fixed;
        width: 100%;
        height: 100%;
    }

    /* --------------------------------------------
   * 　サイドバーレイアウト
   * -------------------------------------------- */
    #container:not(.container_front, .page_404) {
        flex-direction: column;
    }
    #container:not(.container_front, .page_404) main {
        width: 100px;
        min-width: 100%;
    }
    #container:not(.container_front, .page_404) .container_side {
        width: 100%;
        min-width: 100%;
        margin: 30px 0 0 !important;
    }

    /* --------------------------------------------
   * 　ナビ
   * -------------------------------------------- */

    header .header_top .nav_wrap {
        display: flex;
        justify-content: space-between;
        width: 1600px;
        align-items: center;
    }
    header .nav_wrap nav {
        display: none;
    }
    header .nav_wrap.open {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 8888;
        width: 100%;
        height: 100vh;
        /* background: #ef0846; */
        background-color: #f4efe8;
        /* opacity: 0.5; */
        padding: 75px 30px;
        box-sizing: border-box !important;
    }
    header .header_top .nav_wrap nav ul {
        margin-left: 0px;
    }

    header .nav_wrap.open .logo_img {
        margin-bottom: 16px;
        margin-left: 0;
    }
    header .nav_wrap.open #nav_open {
        position: absolute;
        top: 13px;
        right: 20px;
        z-index: 9999;
    }
    header .nav_wrap.open nav {
        display: block;
        width: 100%;
        height: 100%;
    }
    header .nav_wrap.open nav ul {
        background: #ffffff;
        border-radius: 10px;
        padding: 20px;
        flex-direction: column;
    }
    header .nav_wrap.open nav ul li {
        width: 100%;
        border-bottom: 1px dotted #ddd;
        margin-left: 0 !important;
    }
    header .nav_wrap.open nav ul li a {
        padding: 13px 3px 8px;
        display: block;
    }
    header .nav_wrap.open nav ul li:last-child {
        border: none;
    }
    header .nav_wrap #nav_open {
        display: block;
        width: 30px;
        height: 60px;
        position: relative;
        z-index: 9999;
        margin-right: 48px;
    }
    header .nav_wrap #nav_open span {
        display: block;
        width: 50px;
        height: 2px;
        background: #000;
        position: absolute;
        top: 50%;
        left: calc(50% - 25px);
        transition: all ease 0.15s;
    }
    header .nav_wrap #nav_open span:before {
        content: '';
        display: block;
        width: 50px;
        height: 2px;
        background: #000;
        position: absolute;
        top: 10px;
        transition: all ease 0.15s;
    }
    header .nav_wrap #nav_open span:after {
        content: '';
        display: block;
        width: 50px;
        height: 2px;
        background: #000;
        position: absolute;
        top: -10px;
        transition: all ease 0.15s;
    }
    header .nav_wrap.open #nav_open span {
        /* background: #ef0846; */
        background-color: #f4efe8;
        opacity: 0.5;
    }
    header .nav_wrap.open #nav_open span:before {
        transform: rotate(45deg);
        top: 0;
        transition: all ease 0.15s;
        background: #293524;
    }
    header .nav_wrap.open #nav_open span:after {
        transform: rotate(-45deg);
        top: 0;
        transition: all ease 0.15s;
        background: #293524;
    }

    /* --------------------------------------------
   * 　お知らせ一覧ページ
   * -------------------------------------------- */
    .sidebar_wrap {
        display: none !important;
    }

    .container_article_list {
        border-right: none;
        margin-bottom: 16px;
        /* height: 90vh; */
    }

    /* --------------------------------------------
   * 　お知らせ詳細ページ
   * -------------------------------------------- */

    .container_page main {
        border-right: none;
    }
}
@media screen and (max-width: 1400px) {
    .custom_cake_explain {
        font-size: 21px;
    }
}

@media screen and (max-width: 1260px) {
    /* --------------------------------------------
   * 　トップページ
   * -------------------------------------------- */

    /* コンセプト */
    .concept_flex {
        display: flex;
        flex-direction: column;
    }
    .concept_text {
        width: auto;
    }
    .concept_flex {
        gap: 0px;
    }

    .concept_title {
        text-align: center;
    }

    .concept_explain {
        text-align: center;
    }

    /* 商品紹介 */
    .item_card {
        flex-direction: column;
    }
    .item_card_reverse {
        flex-direction: column;
    }

    .item_img_whole_cake {
        width: 500px;
    }

    .items_text {
        width: 100%;
    }

    .view_more {
        width: 100%;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        text-align: center;
    }

    .sns_slider {
        display: none; /* slickがinit時に display:block にするので、JSで切り替え */
    }

    .sp_only {
        display: block;
    }

    /* 店舗情報 */
    .shop_bottom_flex {
        flex-direction: column;
    }

    /* --------------------------------------------
   * 　商品紹介ページ
   * -------------------------------------------- */

    .dancing-script-title {
        font-size: 36px;
    }
    .custom_cake_img {
        max-width: 70%;
        display: block;
        margin: 0 auto;
    }

    /* 人気商品 */
    .popular_item_explain {
        font-size: 18px;
    }

    .popular_item_title {
        font-size: 28px;
    }

    .popular_item_sub_title {
        font-size: 28px;
    }

    .popular_items_list {
        width: 80%;
    }

    .popular_item_card {
        flex-direction: column;
    }

    .popular_item_card_reverse {
        flex-direction: column;
    }
}

@media screen and (max-width: 767px) {
    /* --------------------------------------------
   * 　トップページ
   * -------------------------------------------- */

    .top_date {
        font-size: 18px;
        font-weight: bold;
        color: #eeae15;
        letter-spacing: 0.05em;
        margin-right: 48px;
    }
    .top_ttl {
        font-size: 18px;
        letter-spacing: 0.05em;
        width: 80%;
    }

    /* SNS */
    .pc_only {
        display: none !important;
    }

    /* --------------------------------------------
   * 　お知らせ一覧ページ
   * -------------------------------------------- */

    /* --------------------------------------------
   * 　商品紹介ページ
   * -------------------------------------------- */

    .dancing-script-title {
        font-size: 32px;
    }

    /* オーダーケーキ */
    .custom_cake_explain {
        font-size: 14px;
    }

    .custom_cake_img {
        width: 60%;
    }

    .slick-slide {
        display: flex !important; /* flexで中央寄せの土台に */
        justify-content: center; /* 横方向中央寄せ */
        align-items: center; /* 縦方向中央寄せ（必要なら） */
    }

    .line_flex {
        display: flex;
        flex-direction: column;
    }
    .slick-initialized {
        display: block !important;
    }
    .slick-prev::before,
    .slick-next::before {
        font-size: 40px !important;
        color: #293524 !important;
        opacity: 1 !important;
    }

    .slick-prev,
    .slick-next {
        width: 60px !important;
        height: 60px !important;
        z-index: 10 !important;
    }

    .slick-prev {
        left: 10px !important;
    }

    .slick-next {
        right: 10px !important;
    }

    /*  */
    .off_mobile {
        display: none !important;
    }

    .on_mobile {
        display: block !important;
    }

    .page_head,
    .section_head {
        font-size: 2.8rem;
    }

    /* --------------------------------------------
   * 　フロント
   * -------------------------------------------- */
    .top_key_visual {
        height: 240px;
    }
    .subpage_key_visual {
        height: 100px;
    }
    .container_front .course_card {
        margin-bottom: 45px;
    }
    .container_front .course_card:last-child {
        margin-bottom: 0;
    }
    .container_front .front_course .course_card:nth-child(n + 4) {
        margin-top: 0;
    }
    /* --------------------------------------------
   * 　お知らせ一覧
   * -------------------------------------------- */
    .news_list_wrap ul li a .ttl {
        display: flex;
        flex-direction: column;
    }
    /* --------------------------------------------
   * 　お知らせ一覧（重要なお知らせ）
   * -------------------------------------------- */
    .front_important_news {
        margin-bottom: 20px;
    }
    .front_important_news .important_news_wrap {
        display: block;
    }
    .front_important_news .head {
        margin-bottom: 10px;
    }
    .front_important_news ul li .date {
        width: 100px;
        min-width: 100px;
    }
    /* --------------------------------------------
   * 　コース紹介
   * -------------------------------------------- */
    .container_course .course_wrap {
        margin-bottom: 20px;
    }
    .container_course .course_wrap > a {
        flex-direction: column;
        padding: 10px;
        border: 1px solid #dddddd;
        border-radius: 5px;
    }
    .container_course .course_wrap > a .img {
        width: 100%;
        min-width: 100%;
        margin-bottom: 10px;
    }
    .container_course .course_wrap > a .img img {
        width: 100%;
    }
    .container_course .course_wrap > a .txtarea .course_name {
        text-align: center;
        margin-bottom: 15px;
    }
    .container_course .course_wrap > a .txtarea .btn_common {
        margin-top: 10px;
        width: 100%;
        text-align: center;
    }

    .container_course_detail .block {
        flex-direction: column;
    }
    .container_course_detail .block .img {
        width: 100%;
        min-width: 100%;
        margin-right: 0;
    }
    .container_course_detail .block .img img {
        width: 100%;
    }
    .container_course_detail .block .txtarea {
        margin-top: 10px;
    }
    .container_course_detail .block .txtarea .head {
        margin-bottom: 10px;
    }
    /* --------------------------------------------
 * 　コース紹介 / 一覧（カスタム投稿タイプ）
 * -------------------------------------------- */
    .container_archive_course ul.course_list li a {
        flex-direction: column;
    }
    .container_archive_course ul.course_list li a .img {
        width: 100%;
        min-width: 100%;
        margin-right: 0;
    }
    .container_archive_course ul.course_list li a .img img {
        width: 100%;
    }
    .container_archive_course ul.course_list li a .related_terms {
        margin-bottom: 15px;
    }
    /* --------------------------------------------
   * 　校舎案内
   * -------------------------------------------- */
    .container_school_bldg .school_list_wrap > ul li {
        flex-direction: column;
    }
    .container_school_bldg .school_list_wrap > ul li .img {
        width: 100%;
        min-width: 100%;
        margin-right: 0;
    }
    .container_school_bldg .school_list_wrap > ul li .img img {
        width: 100%;
    }
    .container_school_bldg .school_list_wrap > ul li .txtarea {
        padding-top: 10px;
    }

    /* --------------------------------------------
   * 　お問合せフォーム
   * -------------------------------------------- */
    .wpcf7 table .flexwrap {
        justify-content: flex-start;
    }
    .wpcf7 table .td_left {
        display: block;
        width: 100%;
        border: none;
        padding: 10px 0 3px;
    }
    .wpcf7 table .td_right {
        display: block;
        width: 100%;
        border: none;
        padding: 0;
    }

    /* --------------------------------------------
   * 　フッター
   * -------------------------------------------- */
    .footer_nav ul {
        width: 100%;
    }
    .footer_nav ul li {
        text-align: center;
    }
    .footer_nav ul li a {
        display: block;
        padding: 4px 0 3px;
    }
}
@media screen and (max-width: 500px) {
    /* --------------------------------------------
   * 　トップページ
   * -------------------------------------------- */

    /* 共通 */
    .front_container {
        padding: 16px;
    }

    .section_head {
        font-size: 24px;
    }
    .section_subhead {
        font-size: 18px;
    }

    /* ヘッダー */

    .header_top {
        height: 60px;
    }

    .header-fixed-logo {
        display: none;
    }
    .header-flow-track {
        gap: 10px;
    }

    header .nav_wrap #nav_open {
        margin-right: 16px;
    }

    header .nav_wrap #nav_open span {
        width: 30px;
        height: 2px;
    }
    header .nav_wrap #nav_open span:before {
        width: 30px;
        height: 2px;
    }
    header .nav_wrap #nav_open span:after {
        width: 30px;
        height: 2px;
    }

    .logo_img {
        margin-left: 18px;
    }

    /* Information */
    .news_list_wrap ul li a {
        flex-direction: column;
        padding: 12px 0px;
        align-items: flex-start;
        gap: 4px;
    }

    .top_information_flex {
        display: flex;
        align-items: start;
    }
    .top_ttl_arrow {
        display: flex;
        flex-direction: row;
    }

    .top_date {
        font-size: 12px;
    }
    .top_ttl {
        font-size: 16px;
    }

    .arrow {
        height: 20px;
        width: 20px;
    }

    .news_btn {
        font-size: 16px;
    }

    /* コンセプト */
    .concept_title {
        font-size: 20px;
        margin-top: 8px;
        margin-bottom: 16px;
    }

    .concept_explain {
        font-size: 16px;
        text-align: left;
        line-height: 2;
    }

    /* SNS */
    .slick-prev {
        left: -40px !important;
    }

    .slick-next {
        right: -40px !important;
    }
    .sns_caption {
        font-size: 16px;
    }

    /* Shop */
    .calendar {
        width: 280px;
    }
    .shop_text {
        padding: 0;
    }

    /* --------------------------------------------
   * 　商品紹介ページ
   * -------------------------------------------- */

    .menu_explain {
        font-size: 16px;
    }

    .size_and_price_title {
        font-size: 16px;
        line-height: 2;
        letter-spacing: 0.15em;
    }
    .size_and_price_explain {
        font-size: 16px;
        line-height: 2;
        letter-spacing: 0.15em;
    }
    .note_text {
        font-size: 14px;
    }
    .note {
        padding: 16px;
    }

    .popular_items_list {
        width: 90%;
    }
    .popular_item_title {
        font-size: 24px;
    }
    .popular_item_sub_title {
        font-size: 24px;
    }
    .popular_item_explain {
        font-size: 16px;
    }
    .gift_img {
        width: 380px;
    }
}
@media screen and (max-width: 440px) {
    .custom_cake {
        width: 100%;
    }

    .custom_cake_img {
        max-width: 100%;
    }
    .footer_nav ul {
        flex-direction: column;
    }

    .footer_nav ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .footer_nav li {
        margin: 0;
        padding: 4px 0;
        border-bottom: 1px solid #ccc; /* 下線を追加 */
    }

    .footer_nav li:last-child {
        border-bottom: none; /* 最後だけ線を消す */
    }

    .footer_text {
        text-decoration: none;
        color: #333;
        display: block;
    }
}
@media screen and (max-width: 400px) {
    /* --------------------------------------------
   * 　商品紹介ページ
   * -------------------------------------------- */
    .dancing-script-title {
        font-size: 28px;
    }
    .note {
        padding: 16px;
    }

    .custom_cake_img {
        width: 280px;
    }
    .popular_item_text_flex {
        flex-direction: column;
        gap: 0;
    }
    .popular_item_card {
        gap: 8px;
        margin: 0;
    }
    .popular_item_card_reverse {
        gap: 8px;
    }
    .popular_item_title {
        font-size: 20px;
    }
    .popular_item_sub_title {
        font-size: 20px;
    }
    .gift {
        width: 95%;
        gap: 24px;
    }
    .gift_img {
        width: 280px;
    }
}
/*# sourceMappingURL=sp-style.css.map */
