@charset "utf-8";


/* ----------------------------------------------------------------------
 基本設定
---------------------------------------------------------------------- */
body {
    touch-action: manipulation;
}

@media screen and (max-width: 1300px) {
    html {
        scroll-padding-top: 90px;
    }
}

@media screen and (max-width: 800px) {
    body.admin-bar {
        padding-top: 46px;
    }

    body.show_footer_bar {
        padding-bottom: 48px;
    }

    * {
        -webkit-tap-highlight-color: transparent;
    }

    br.mobile_break {
        display: block;
    }
}


/* レイアウト */
@media screen and (max-width: 1100px) {
    #main_content {
        width: auto;
        margin: 0 50px;
        padding: 0 0 100px;
        display: block;
    }

    #main_col {
        width: 100%;
    }

    body.single-post.show_sidebar #main_col {
        width: 100%;
    }

    #side_col {
        width: 650px;
        margin: 100px auto -40px;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
}

@media screen and (max-width: 800px) {
    body.single-post #container {
        background: #fff;
    }

    #main_content {
        margin: 0 20px;
        padding: 0 0 40px;
    }

    #side_col {
        margin-top: 40px;
    }
}

@media screen and (max-width: 710px) {
    #side_col {
        width: auto;
    }
}

@media screen and (max-width: 600px) {
    #side_col {
        display: block;
    }
}


/* admin bar利用時 */
body.home.admin-bar {
    padding-top: 30px;
}

body.admin-bar.header_fix #header {
    margin-top: 32px;
}

body.admin-bar #drawer_menu {
    padding-top: 32px;
}

@media screen and (max-width: 780px) {
    body.home.admin-bar {
        padding-top: 45px;
    }
}

@media screen and (max-width: 600px) {
    body.admin-bar.open_header #header {
        top: 0px !important;
    }

    body.admin-bar.close_header #header {
        top: 0px !important;
    }
}


/* ----------------------------------------------------------------------
 共通パーツ
---------------------------------------------------------------------- */
/* デザインボタン */
@media screen and (max-width: 1200px) {
    a.design_button {
        min-width: 240px;
        height: 60px;
    }
}

@media screen and (max-width: 800px) {
    a.design_button {
        min-width: 220px;
        height: 50px;
        font-size: 14px;
    }
}


/* swiperのドットナビ */
/* サムネイルver */
@media screen and (max-width: 800px) {
    .sc_image_carousel_nav {
        margin-top: 30px;
    }

    .sc_image_carousel_nav .swiper-slide.swiper-slide-thumb-active {
        transform: scale(1.3);
    }
}


/* ----------------------------------------------------------------------
 トップページ ヘッダースライダー
---------------------------------------------------------------------- */
#header_slider_container.height_type2 {
    height: 650px;
}

@media screen and (max-width: 1300px) {
    #header_slider_container {
        height: calc(100vh - 60px);
        height: calc(100svh - 60px);
    }

    #header_slider_container.height_type2 {
        max-height: calc(100vh - 60px);
        min-height: 600px;
    }
}

@media screen and (max-width: 1200px) {
    .header_slider_content .desc {
        line-height: 2;
    }

    .header_slider_content .catch + .desc {
        margin: 20px 0 0 0;
    }

    .header_slider_content .button {
        width: 240px;
        height: 60px;
        line-height: 60px;
        font-size: 14px;
    }

    .header_slider_content * + .button {
        margin-top: 30px;
    }

    .header_slider_pagination {
        display: none;
    }
}

@media screen and (max-width: 1000px) {
    #header_slider_container.header_content_type2.height_type2 {
        height: 600px !important;
    }

    .header_slider_content .logo img {
        max-width: 230px;
    }

    .header_slider_content .logo img.pc {
        display: none;
    }

    .header_slider_content .logo img.mobile {
        display: block;
    }
}

@media screen and (max-width: 800px) {
    #header_slider_container {
        height: calc(100vh - 60px) !important;
        height: calc(100svh - 60px) !important;
    }

    .header_slider_content {
        padding: 0 20px;
    }

    .header_slider_content .desc {
        line-height: 2;
    }

    .header_slider_content .catch + .desc {
        margin: 15px 0 0 0;
    }

    .header_slider_content .button {
        width: 220px;
        height: 50px;
        line-height: 50px;
    }

    .header_slider_content * + .button {
        margin-top: 20px;
    }
}


/* ニュースティッカー */
@media screen and (max-width: 1000px) {
    #news_ticker_inner {
        width: auto;
    }

    #news_ticker_carousel {
        width: auto;
    }

    #news_ticker .item {
        line-height: 1;
    }

    #news_ticker .item .content {
        display: block;
        padding: 0 20px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        height: 70px;
    }

    #news_ticker .date {
        margin: 0 0 10px 0;
    }

    #news_ticker .date:before {
        font-size: 16px;
    }

    #news_ticker .title {
        font-size: 14px;
    }
}


/* ----------------------------------------------------------------------
 コンテンツビルダー
---------------------------------------------------------------------- */
@media screen and (max-width: 1300px) {
    .cb_white_bg + .cb_white_bg {
        scroll-margin-top: -5px;
    }

    .cb_white_bg + .cb_white_bg:not(:has(.cb_header)) {
        scroll-margin-top: 10px;
    }
}

@media screen and (max-width: 1100px) {
    #content_builder section:last-child {
        padding-bottom: 120px;
    }

    .cb_header {
        width: auto;
        margin: 0 50px 90px;
    }

    .cb_header .headline {
        font-size: calc((var(--catch_font_size) + var(--catch_font_size_sp)) / 2);
    }

    .cb_header .sub_title {
        font-size: 16px;
    }
}

@media screen and (max-width: 800px) {
    #content_builder section:last-child {
        padding-bottom: 40px;
    }

    .cb_header {
        margin: 0 0 35px;
    }

    .cb_header .headline {
        margin-top: -8px;
        font-size: var(--catch_font_size_sp);
        font-weight: 600;
    }

    .cb_header .sub_title {
        font-size: 14px;
        margin-top: 5px;
    }

    .cb_header .desc {
        line-height: 2;
        margin-bottom: -5px;
    }

    .cb_header .headline + .desc {
        margin-top: 15px;
    }

    .cb_header .sub_title + .desc {
        margin-top: 30px;
    }

    .cb_header .desc .mobile {
        display: block;
    }

    .cb_header .desc .pc {
        display: none;
    }

    #content_builder .link_button {
        margin-top: 40px;
    }
}


/* 画像スライダー */
@media screen and (max-width: 1300px) {
    .cb_image_slider {
        scroll-margin-top: -40px;
    }
}

@media screen and (max-width: 1100px) {
    .cb_image_slider {
        padding: 100px 0;
    }
}

@media screen and (max-width: 800px) {
    .cb_image_slider {
        padding: 40px 0;
    }

    .cb_image_slider .cb_header {
        margin-right: 30px;
        margin-left: 30px;
    }

    .cb_image_slider .sc_image_carousel_container {
        margin: 30px 0px 40px;
    }
}


/* デザインコンテンツ */
@media screen and (max-width: 1300px) {
    .cb_design_content {
        scroll-margin-top: -30px;
    }

    .cb_design_content .content {
        padding: 50px 50px 50px 130px;
    }

    .cb_design_content .content .catch {
        font-size: 24px;
    }
}

@media screen and (max-width: 1100px) {
    .cb_design_content {
        padding: 100px 0;
    }

    .cb_design_content .main_content {
        padding: 0;
        margin: 0;
        display: block;
        background: #f6f6f6;
    }

    .dc_image_carousel_container {
        width: auto;
    }

    .dc_image_carousel .item {
    }

    .cb_design_content .content {
        width: auto;
        padding: 30px 40px 40px !important;
        aspect-ratio: unset;
        background: none;
        height: auto;
        margin: 0 !important;
    }

    .cb_design_content .content .catch {
        font-size: 20px;
    }

    .cb_design_content .content .catch + .desc {
        margin-top: 20px;
    }

    .dc_image_carousel_pagination {
        position: relative;
        bottom: auto !important;
        margin-top: 30px;
        left: auto !important;
    }

    .cb_design_content .main_content.layout_type2 .dc_image_carousel_pagination {
        left: auto !important;
    }

    .dc_image_carousel_pagination span {
        background: #ddd;
    }

    .dc_image_carousel_pagination span.swiper-pagination-bullet-active {
        background: var(--main_color);
    }

    @media (hover: hover) {
        .dc_image_carousel_pagination span:hover {
            background: var(--main_color);
        }
    }
    .dc_image_carousel_pagination .swiper-pagination-bullet-active {
        transform: scale(1.3);
    }
}

@media screen and (max-width: 800px) {
    .cb_design_content {
        padding: 40px 0;
    }

    .cb_design_content .cb_header {
        margin-right: 30px;
        margin-left: 30px;
    }

    .cb_design_content .content .catch {
        font-size: 18px;
        font-weight: 600;
    }

    .cb_design_content .content .desc {
        line-height: 2;
    }

    .cb_design_content .content .catch + .desc {
        margin-top: 20px;
    }
}

@media screen and (max-width: 600px) {
    .dc_image_carousel .item {
        max-height: unset;
    }
}

/* 2カラム */
@media screen and (max-width: 1100px) {
    .cb_two_column {
        padding: 100px 50px;
    }

    .cb_two_column .item_list {
        width: auto;
    }

    .cb_two_column .content .title {
        font-size: 30px;
    }
}

@media screen and (max-width: 1000px) {
    .cb_two_column .content {
        padding: 50px;
    }
}

@media screen and (max-width: 800px) {
    .cb_two_column {
        padding: 40px 20px;
    }

    .cb_two_column .item {
        display: block;
    }

    .cb_two_column .image_wrap {
        width: auto;
        height: auto;
        aspect-ratio: 500 / 350;
        position: relative;
        overflow: hidden;
    }

    .cb_two_column .content {
        width: auto;
        padding: 30px;
    }

    .cb_two_column .content .desc {
        line-height: 2;
        font-size: 16px;
    }

    .cb_two_column .content .headline + .desc {
        margin-top: 20px;
    }
}


/* 3カラム */
@media screen and (max-width: 1200px) {
    .cb_three_column .swiper-nav-button {
        display: none;
    }
}

@media screen and (max-width: 1100px) {
    .cb_three_column {
        padding: 100px 50px;
    }

    .cb_white_bg:not(:has(.link_button)) + .cb_three_column:not(:has(.cb_header)) {
        margin-top: -20px;
    }

    .three_column_carousel_container {
        width: auto;
    }

    .three_column_carousel_wrap {
    }

    .three_column_carousel .title {
        font-size: 24px;
        margin-bottom: 0;
    }

    #content_builder .cb_three_column .link_button {
        margin-top: 70px;
    }
}

@media screen and (max-width: 1000px) {
    .three_column_carousel .title {
        font-size: 20px;
    }
}

@media screen and (max-width: 800px) {
    .cb_three_column {
        padding: 40px 20px;
    }

    .cb_white_bg:not(:has(.link_button)) + .cb_three_column:not(:has(.cb_header)) {
        margin-top: 0px;
    }

    .three_column_carousel_wrap {
        overflow: visible;
    }

    .three_column_carousel .item {
        width: 205px !important;
    }

    .three_column_carousel .title {
        font-size: 20px;
        margin-top: 20px;
    }

    #content_builder .cb_three_column .link_button {
        margin-top: 35px;
    }
}


/* コンテンツカルーセル */
@media screen and (max-width: 1200px) {
    .cb_content_carousel .swiper-nav-button {
        display: none;
    }
}

@media screen and (max-width: 1100px) {
    .cb_content_carousel {
        padding: 100px 50px;
    }

    .cb_content_carousel_container {
        width: auto;
    }

    .cb_content_carousel_wrap {
        overflow: visible;
    }

    .cb_content_carousel_main .item {
        width: 400px !important;
    }

    .cb_content_carousel_main .image_wrap {
        width: 50%;
        height: auto;
        aspect-ratio: 250 /200;
    }

    .cb_content_carousel_main .content {
        height: auto;
    }

    .cb_content_carousel_main .sub_title {
        font-size: 14px;
        margin-bottom: 5px;
    }

    .cb_content_carousel_main .title {
        font-size: 20px;
    }

    .cb_content_carousel_main .item .content {
        border-right: none;
    }

    .cb_content_carousel_main .item:last-of-type .content {
        border-right: 1px solid #ddd;
    }
}

@media screen and (max-width: 1100px) {
    .cb_white_bg:not(:has(.link_button)) + .cb_content_carousel:not(:has(.cb_header)) {
        margin-top: -20px;
    }
}

@media screen and (max-width: 800px) {
    .cb_content_carousel {
        padding: 40px 20px;
    }

    .cb_white_bg:not(:has(.link_button)) + .cb_content_carousel:not(:has(.cb_header)) {
        margin-top: 0px;
    }

    .cb_content_carousel_main .item {
        width: 300px !important;
    }

    .cb_content_carousel_main .title {
        font-size: 16px;
    }
}


/* ブログ一覧 */
@media screen and (max-width: 1300px) {
    .cb_blog_list {
        scroll-margin-top: -30px;
    }
}

@media screen and (max-width: 1200px) {
    .cb_blog_list .swiper-nav-button {
        display: none;
    }
}

@media screen and (max-width: 1100px) {
    .cb_blog_list {
        padding: 100px 50px;
    }

    .cb_blog_list .category_sort_button_wrap {
        margin: 0 0 40px;
    }

    .index_post_list_wrap {
        width: auto;
    }

    .index_post_carousel {
        overflow: visible;
    }

    .index_post_carousel_wrap .blog_list {
        width: auto;
        margin: 0;
    }

    .index_post_carousel_wrap .blog_list .item {
        width: 350px !important;
    }
}

@media screen and (max-width: 800px) {
    .cb_blog_list {
        padding: 40px 20px;
    }

    .cb_blog_list .cb_header {
        margin-bottom: 35px;
    }

    .cb_blog_list .category_sort_button_wrap {
        margin: 0 0 20px;
    }

    .index_post_carousel_wrap .blog_list .item {
        width: 270px !important;
    }
}


/* お知らせ */
@media screen and (max-width: 1200px) {
    .cb_news_list .swiper-nav-button {
        display: none;
    }
}

@media screen and (max-width: 1100px) {
    .cb_news_list {
        padding: 100px 50px;
    }

    .cb_news_carousel_wrap {
        width: auto;
    }

    .cb_news_carousel {
        overflow: visible;
    }

    .cb_news_list .news_list .item {
        width: 500px !important;
        border-right: none;
    }

    .cb_news_list .news_list .item:last-of-type {
        border-right: 1px solid #ddd;
    }
}

@media screen and (max-width: 800px) {
    .cb_news_list {
        padding: 40px 20px;
    }

    .cb_news_list .cb_header {
        margin-bottom: 35px;
    }

    .cb_news_list .news_list .item {
        width: 380px !important;
    }
}

@media screen and (max-width: 500px) {
    .cb_news_list .news_list .item {
        width: 320px !important;
    }
}

/* フリースペース */
.cb_free_space {
    scroll-margin-top: -60px;
}

@media screen and (max-width: 1000px) {
    .cb_free_space {
        width: auto;
        padding-left: 50px;
        padding-right: 50px;
    }
}

@media screen and (max-width: 800px) {
    .cb_free_space {
        padding: 40px 20px;
    }

    .cb_free_space.wide_content {
        padding: 40px 0;
    }
}


/* 固定ページを表示する場合 */
#front_page_contents.layout_type1 {
    margin: 0 100px;
}

@media screen and (max-width: 1100px) {
    #front_page_contents {
        padding: 100px 0;
    }

    #front_page_contents.layout_type1 {
        margin: 0 50px;
    }
}

@media screen and (max-width: 800px) {
    #front_page_contents {
        padding: 40px 0;
    }

    #front_page_contents.layout_type1 {
        margin: 0 20px;
    }
}


/* ----------------------------------------------------------------------
 固定ページ
---------------------------------------------------------------------- */
@media screen and (max-width: 1100px) {
    #page_contents {
        padding: 100px 0 100px;
        margin: 0 50px;
    }

    body.page #page_contents .post_content {
        width: auto;
    }
}

@media screen and (max-width: 800px) {
    #page_contents {
        padding: 40px 0 40px;
        margin: 0 20px;
    }
}


/* デザイン見出し1 */
@media screen and (max-width: 1100px) {
    :is(.post_content, .post_content .tcdce-body) .design_headline1 {
        font-size: 30px !important;
    }

    :is(.post_content, .post_content .tcdce-body) .design_headline1 + p:has(img) {
        margin-top: 90px;
    }

    :is(.post_content, .post_content .tcdce-body) .post_row + .design_headline1 {
        margin-top: 90px;
    }
}

@media screen and (max-width: 800px) {
    :is(.post_content, .post_content .tcdce-body) .design_headline1 {
        font-size: 20px !important;
        margin: 35px 0 35px 0;
        margin-bottom: 25px !important;
        font-weight: 600;
    }

    :is(.post_content, .post_content .tcdce-body) .design_headline1 + p:has(img) {
        margin-top: 35px;
    }

    :is(.post_content, .post_content .tcdce-body) .post_row + .design_headline1 {
        margin-top: 35px;
    }
}


/* デザイン見出し2 */
@media screen and (max-width: 1100px) {
    :is(.post_content, .post_content .tcdce-body) .design_headline2, .design_headline2 {
        font-size: 22px !important;
    }

    :is(.post_content, .post_content .tcdce-body) .design_headline2 {
        margin: 85px auto 50px;
    }
}

@media screen and (max-width: 800px) {
    :is(.post_content, .post_content .tcdce-body) .design_headline2, .design_headline2 {
        font-size: 18px !important;
        padding: 0 0 20px 0;
    }

    .design_headline2 {
        margin: 0 auto 40px;
    }

    :is(.post_content, .post_content .tcdce-body) .design_headline2 {
        margin: 30px auto 40px;
        font-weight: 600;
    }

    :is(.post_content, .post_content .tcdce-body) p:has(img) + .design_headline2 {
        margin-top: 40px;
    }
}


/* デザイン見出し3 */
@media screen and (max-width: 1100px) {
    .design_headline3 {
        font-size: 30px !important;
    }
}

@media screen and (max-width: 800px) {
    .design_headline3 {
        margin: 25px 0 20px 0 !important;
    }

    .post_col p:has(img) + .design_headline3 {
        margin-top: 25px !important;
    }

    p:has(img) + .design_headline3 {
        margin-top: -5px !important;
    }
}


/* ボタン */
@media screen and (max-width: 800px) {
    .q_button_wrap {
        margin-top: 35px;
    }

    p + .q_button_wrap {
        margin-top: 30px;
    }
}


/* 2カラムレイアウト */
@media screen and (max-width: 800px) {
    .post_row + p:has(img) {
        margin-top: 40px;
    }
}


/* ショートコード用　画像スライダー */
@media screen and (max-width: 1100px) {
    .sc_image_carousel_container {
        width: 100%;
        margin: 90px auto 70px;
    }

    .sc_image_carousel_container.layout_type1 {
        margin-right: 50px;
        margin-left: 50px;
        width: calc(100% - 100px);
    }

    .sc_image_carousel_container.layout_type1 .sc_image_carousel_wrap {
        height: auto;
        aspect-ratio: 1000 / 550;
    }

    .sc_image_carousel_container.layout_type2 .sc_image_carousel .item {
        aspect-ratio: 1000 / 550;
        width: calc(100% - 100px);
        height: auto;
        margin: 0 -6% !important;
    }

    .sc_image_carousel_container + .post_content > h1:first-child, .sc_image_carousel_container + .post_content > h2:first-child, .sc_image_carousel_container + .post_content > h3:first-child {
        margin-top: 100px !important;
    }
}

@media screen and (max-width: 800px) {
    .sc_image_carousel_container {
        margin: 30px auto 30px;
    }

    #page_contents .sc_image_carousel_container {
        margin-left: -20px;
        margin-right: -20px;
        width: calc(100% + 40px);
    }

    .sc_image_carousel_container.layout_type1 {
        margin-right: 0px;
        margin-left: 0px;
        width: 100%;
    }

    .sc_image_carousel_container.layout_type2 .sc_image_carousel .item {
        width: calc(100% - 60px);
        margin: 0 -5.5% !important;
    }

    .sc_image_carousel_pagination {
        margin: 30px auto 0;
    }

    .sc_image_carousel_container + .post_content > h1:first-child, .sc_image_carousel_container + .post_content > h2:first-child, .sc_image_carousel_container + .post_content > h3:first-child {
        margin-top: 40px !important;
    }
}


/* 2カラムレイアウト */
@media screen and (max-width: 800px) {
    .post_content .post_col p {
        font-size: 14px;
    }
}


/* アクセスページ */
@media screen and (max-width: 1100px) {
    .access_page_gray_bg {
        margin-top: 100px !important;
    }
}

@media screen and (max-width: 800px) {
    .access_page_map_headline {
        margin: -20px 0 10px 0 !important;
    }

    .access_page_gray_bg {
        margin-top: 40px !important;
    }

    .access_page_table td:first-child {
        width: 100px;
    }
}


/* ウェルネス */
@media screen and (max-width: 1300px) {
    .wellness_page_top_content h3:has(img) {
        margin: 0 0 -5px 0 !important;
    }

    .wellness_page_top_content p:has(img) {
        margin: 0 -50px 70px !important;
    }
}

@media screen and (max-width: 1100px) {
    .wellness_page_top_content {
        margin-top: 90px !important;
    }

    .wellness_page_top_content h3 img {
        width: 140px;
    }

    .wellness_page_table {
        font-size: 14px;
    }

    .wellness_page_table td:nth-child(1) {
        width: 150px;
    }

    .wellness_page_table td:nth-child(2) {
        width: 25%;
    }

    .wellness_page_table td:nth-child(3) {
        width: 25%;
    }

    .wellness_page_table td:nth-child(4) {
        width: 80px;
    }

    .wellness_page_table td:nth-child(5) {
        width: 25%;
    }
}

@media screen and (max-width: 800px) {
    .wellness_page_top_content {
        margin-top: 30px !important;
        font-size: 14px;
    }

    .wellness_page_top_content h3:has(img) {
        margin: 0 0 -15px 0 !important;
    }

    .wellness_page_top_content p:has(img) {
        margin: 0 -30px 30px !important;
    }

    .wellness_page_top_content h4 {
        margin-top: 0px;
        font-weight: 600;
    }

    .wellness_page_top_content p + .q_button_wrap {
        margin-top: -5px;
    }

    .s_table:has(.wellness_page_table) + p {
        margin-top: -20px !important;
        font-size: 14px;
    }
}


/* LP */
@media screen and (max-width: 1100px) {
    body.page-template-page-tcd-lp #page_contents {
        padding-left: 0;
        padding-right: 0;
    }
}

@media screen and (max-width: 800px) {
    body.page-template-page-tcd-lp.hide_page_header #page_contents {
        padding-top: 40px;
    }

    body.page .post_content table + .q_button_wrap {
        margin-top: 40px;
    }

    .lp_bottom_content {
        margin-top: 35px !important;
        font-size: 14px;
    }

    .lp_bottom_content h3 {
        font-size: 16px;
        margin-bottom: 10px !important;
        font-weight: 600;
    }

    .lp_bottom_content .q_button_wrap {
        margin-top: -10px !important;
    }

    .lp_gray_bg_list {
        font-size: 14px;
    }

    .lp_gray_bg_list h5 {
        font-weight: 600;
    }
}


/* ----------------------------------------------------------------------
 ページヘッダー
---------------------------------------------------------------------- */
body.page-template-page-tcd-lp.normal_header_height #page_header {
    height: 500px !important;
}

@media screen and (max-width: 1200px) {
    body.page-template-page-tcd-lp.normal_header_height #page_header {
        height: 450px !important;
    }

    body.page-template-page-tcd-lp #page_header.layout_type3 {
        height: 100vh !important;
        height: 100dvh !important;
    }

    #page_header .headline {
        font-size: calc((var(--headline_font_size) + var(--headline_font_size_sp)) / 2);
        width: 150px;
        height: 150px;
        padding: 20px 10px;
    }

    #page_header_desc .catch {
        font-size: calc((var(--catch_font_size) + var(--catch_font_size_sp)) / 2);
        margin-top: 0;
    }

    #page_headline {
        margin: 0px auto 100px;
        width: 150px;
        height: 150px;
        padding: 20px 10px;
        font-size: calc((var(--headline_font_size) + var(--headline_font_size_sp)) / 2);
    }
}

@media screen and (max-width: 1100px) {
    body.page-template-page-tcd-lp #page_header.layout_type1 {
        margin: 50px 50px 0;
        width: calc(100% - 100px);
    }

    #page_header .content {
        width: 100% !important;
        padding: 0 50px;
    }

    body.page-template-page-tcd-lp #page_header.layout_type1 {
        margin: 0;
        width: 100%;
    }

    body:has(#header) #container:has(#page_header.layout_type1) {
        border-top: none;
    }

    body.page-template-page-tcd-lp #page_header.layout_type1 .content {
        padding: 0 50px;
    }

    #page_header_desc {
        width: auto;
        margin: 0 50px;
    }

    body.search #page_header_desc {
        margin-bottom: 90px;
    }

    body.search #page_header_desc .catch {
        font-size: 25px;
    }

    body.page #page_header + #main_content {
        margin-top: 90px;
    }
}

@media screen and (max-width: 1000px) {
    body.page-template-page-tcd-lp.normal_header_height #page_header {
        height: 400px !important;
    }

    body.page-template-page-tcd-lp #page_header.layout_type3 {
        height: 100vh !important;
        height: 100dvh !important;
    }

    #page_header .headline {
        width: 130px;
        height: 130px;
    }

    #page_headline {
        width: 130px;
        height: 130px;
    }
}

@media screen and (max-width: 800px) {
    #page_header {
        height: 250px;
        aspect-ratio: unset;
    }

    body.page-template-page-tcd-lp.normal_header_height #page_header {
        height: 250px !important;
    }

    body.page-template-page-tcd-lp #page_header.layout_type3 {
        height: 100vh !important;
        height: 100dvh !important;
    }

    #page_header .content {
        padding: 0 20px;
        align-items: center !important;
        text-align: center !important;
    }

    body.page-template-page-tcd-lp #page_header.layout_type1 .content {
        padding: 0 20px;
    }

    #page_header .catch {
        font-weight: 600;
    }

    body.mobile_device #page_header .catch {
        font-weight: 500;
    }

    #page_header .catch .pc {
        display: none;
    }

    #page_header .catch .mobile {
        display: block;
    }

    #page_header .sub_catch .pc {
        display: none;
    }

    #page_header .sub_catch .mobile {
        display: block;
    }

    #page_header .catch + .link_button {
        margin-top: 15px;
    }

    #page_header .sub_catch + .link_button {
        margin-top: 25px;
    }

    #page_header .headline {
        font-size: var(--headline_font_size_sp);
        width: 110px;
        height: 110px;
    }

    #page_header .image.pc {
        display: none;
    }

    #page_header .image.mobile {
        display: block;
    }

    #page_header_desc {
        margin: 0 20px;
    }

    body.search #page_header_desc {
        margin-bottom: 30px;
    }

    body.search #page_header_desc .catch {
        font-size: 20px;
    }

    #page_header_desc .catch {
        font-size: var(--catch_font_size_sp);
        font-weight: 600;
    }

    #page_header_desc .catch + .desc, #page_header_desc .catch + .desc + .desc {
        margin-top: 17px;
    }

    #page_header_desc .desc {
        line-height: 2;
    }

    #page_header_desc .desc.pc {
        display: none;
    }

    #page_header_desc .desc.mobile {
        display: block;
    }

    #page_headline {
        font-size: var(--headline_font_size_sp);
        width: 110px;
        height: 110px;
        margin: 0px auto 30px;
    }

    body.page #page_headline {
        margin-top: 40px;
    }

    #bread_crumb + #page_headline {
        margin-top: 40px;
    }

    body.page #page_header + #main_content {
        margin-top: 35px;
    }
}


/* ----------------------------------------------------------------------
 ギャラリーアーカイブ
---------------------------------------------------------------------- */
@media screen and (max-width: 1100px) {
    #archive_gallery {
        padding: 90px 0 100px;
    }

    #gallery_category_list {
        margin-top: -10px;
    }

    #gallery_category_list .content {
        padding: 100px 0;
    }

    #gallery_category_list .header {
        margin: 0 50px;
        width: calc(100% - 100px);
    }

    #gallery_category_list .headline_area {
        min-width: 350px;
        padding: 50px;
    }

    #gallery_category_list .headline {
        font-size: 30px;
    }

    #gallery_category_list .sub_title {
        font-size: 16px;
        margin-top: 20px;
    }

    #gallery_category_list .desc {
        width: auto;
    }
}

@media screen and (max-width: 800px) {
    #archive_gallery {
        padding: 30px 0 40px;
    }

    #gallery_category_list .content {
        padding: 40px 0 0;
        border: none;
    }

    #gallery_category_list .header {
        margin: 0;
        width: 100%;
    }

    #gallery_category_list .headline_area {
        min-width: 180px;
        padding: 30px 25px;
    }

    #gallery_category_list .headline {
        font-size: 20px;
    }

    #gallery_category_list .sub_title {
        font-size: 14px;
        margin-top: 10px;
    }

    #gallery_category_list .desc {
        line-height: 2;
        margin: 35px 20px 0;
    }

    #gallery_category_list .desc .pc {
        display: none;
    }

    #gallery_category_list .desc .mobile {
        display: block;
    }

    #gallery_category_list .link_button {
        margin-top: 35px;
    }
}

@media screen and (max-width: 600px) {
    #gallery_category_list .header {
        min-height: 200px;
    }

    #gallery_category_list .image {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        object-fit: cover;
    }
}


/* ----------------------------------------------------------------------
 ギャラリーカテゴリー
---------------------------------------------------------------------- */
@media screen and (max-width: 1100px) {
    #gallery_category {
        padding: 90px 0 90px;
    }

    #gallery_category .header {
        width: auto;
        margin: 0 50px 90px;
    }

    #gallery_category .headline {
        font-size: 32px;
    }

    #gallery_category .sub_title {
        font-size: 16px;
        margin-top: 15px;
    }

    #gallery_category .post_content {
        width: auto;
        margin: 0 50px;
    }

    #gallery_category .sc_image_carousel_container {
        margin-bottom: 90px;
    }

    #category_gallery_list {
        padding: 100px 0 90px;
    }

    #single_gallery_post_list #category_gallery_list:only-child {
        padding: 0 0 90px;
    }

    .gallery_list {
        width: auto;
        margin: 0 50px -50px;
    }

    #archive_gallery #page_header_desc + .gallery_list {
        margin-top: 90px;
    }

    .gallery_list .item:not(.swiper-slide) {
        width: calc(50% - 15px);
        margin: 0 30px 50px 0;
    }

    .gallery_list .item:nth-child(2n):not(.swiper-slide) {
        margin-right: 0;
    }

    .gallery_list .desc {
        margin-top: 10px;
    }
}

@media screen and (max-width: 800px) {
    #gallery_category {
        padding: 30px 0 35px;
    }

    #gallery_category .header {
        margin: 0 20px 30px;
    }

    #gallery_category .desc {
        line-height: 2;
        margin: 30px 0 0;
    }

    #gallery_category .desc .pc {
        display: none;
    }

    #gallery_category .desc .mobile {
        display: block;
    }

    #gallery_category .post_content {
        margin: 0 20px;
    }

    #gallery_category .post_content.pc {
        display: none;
    }

    #gallery_category .post_content.mobile {
        display: block;
    }

    #gallery_category .sc_image_carousel_container {
        margin-bottom: 30px;
    }

    #category_gallery_list {
        padding: 40px 0 30px;
    }

    #single_gallery_post_list #category_gallery_list:first-child {
        padding: 0 0 30px;
    }

    #single_gallery_post_list #category_gallery_list:only-child {
        padding: 0 0 30px;
    }

    .gallery_list {
        margin: 0 20px -32px;
    }

    #archive_gallery #page_header_desc + .gallery_list {
        margin-top: 30px;
    }

    .gallery_list .item:not(.swiper-slide) {
        width: calc(50% - 10px);
        margin: 0 20px 32px 0;
    }

    .gallery_list .item:nth-child(2n):not(.swiper-slide) {
        margin-right: 0;
    }

    .gallery_list .title {
        font-size: 16px;
        margin: 15px 0 0 0;
    }

    .gallery_list .desc {
        line-height: 2;
        margin: 5px 0 0 0;
        font-size: 14px;
    }
}

@media screen and (max-width: 600px) {
    .gallery_list {
        display: block;
    }

    .gallery_list .item:not(.swiper-slide) {
        width: auto;
        margin: 0 0 30px 0;
    }
}


/* ----------------------------------------------------------------------
 ギャラリー詳細ページ
---------------------------------------------------------------------- */
@media screen and (max-width: 1100px) {
    #gallery_header {
        margin: 0 50px 100px;
    }

    #gallery_header .top {
        height: 80px;
    }

    #gallery_header .category {
        font-size: 18px;
        padding: 0 30px;
        height: 80px;
        line-height: 80px;
        min-width: unset;
    }

    #gallery_header .title {
        padding: 0 30px;
        flex: 0 1 auto;
        max-height: 3em;
        overflow: hidden;
        visibility: visible;
    }

    #gallery_header .title span {
        display: -webkit-inline-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    #gallery_header .catch {
        display: none;
    }

    #gallery_header .catch_mobile {
        display: block;
        border-left: 1px solid #ddd;
        border-right: 1px solid #ddd;
        line-height: 1.6;
        padding: 27px 30px;
    }

    #gallery_header .spec_list {
        overflow: auto;
        scrollbar-width: thin;
    }

    #gallery_header .spec_list p {
        flex: 1 0 auto;
        flex-wrap: nowrap;
    }

    #gallery_header .button {
        display: none;
    }

    #gallery_header_button {
        display: block;
        text-align: center;
        margin: -50px 0 90px;
    }

    #single_gallery {
        padding-bottom: 100px;
    }

    #single_gallery .post_content {
        width: auto;
        margin: 0 50px;
    }
}

@media screen and (max-width: 800px) {
    #gallery_header {
        margin: 0 -1px 40px;
        position: relative;
        z-index: 10;
    }

    #gallery_header .top {
        height: 60px;
        border-top: none;
    }

    #gallery_header .category {
        font-size: 16px;
        padding: 0 20px;
        height: 60px;
        line-height: 60px;
    }

    #gallery_header .title {
        padding: 0 20px;
        font-size: 16px;
    }

    #gallery_header .catch_mobile {
        padding: 20px 20px;
        font-size: 14px;
    }

    #gallery_header .bottom {
        height: 60px;
    }

    #gallery_header .spec_list p {
        font-size: 14px;
    }

    #gallery_header_button {
        margin: 40px 0 40px;
    }

    #single_gallery {
        padding-bottom: 40px;
        margin: 0;
    }

    #single_gallery .post_content {
        width: auto;
        margin: 0 20px;
    }
}


/* プラン一覧 */
@media screen and (max-width: 1100px) {
    #gallery_category_plan_list {
        padding: 100px 0;
    }

    #single_gallery_post_list #gallery_category_plan_list:last-child {
        padding-bottom: 100px;
    }

    #single_gallery_post_list #gallery_category_plan_list:only-child {
        padding-bottom: 100px;
    }

    #gallery_category_plan_list:only-child {
        padding-bottom: 100px;
    }

    #gallery_category_plan_list #related_post_carousel_wrap {
        width: auto;
        margin: 0 50px;
    }
}

@media screen and (max-width: 800px) {
    #gallery_category_plan_list {
        padding: 0;
    }

    #gallery_category_plan_list #single_related_post {
        margin: 0;
    }

    #single_gallery_post_list #gallery_category_plan_list:last-child {
        padding-bottom: 0px;
    }

    #single_gallery_post_list #gallery_category_plan_list:only-child {
        padding-bottom: 0px;
    }

    #gallery_category_plan_list:only-child {
        padding-bottom: 40px;
    }

    #gallery_category_plan_list #related_post_carousel_wrap {
        margin: 0 20px;
    }
}


/* ギャラリー一覧 */
@media screen and (max-width: 1200px) {
    #recent_gallery_list .swiper-nav-button {
        display: none;
    }
}

@media screen and (max-width: 1100px) {
    #recent_gallery_list {
        padding: 100px 0 100px;
    }

    #single_gallery_post_list #recent_gallery_list:first-child {
        padding: 0 0 100px;
    }

    #recent_gallery_carousel_wrap {
        width: auto;
        margin: 0 50px;
    }

    #recent_gallery_carousel {
        overflow: visible;
    }

    #recent_gallery_list .item {
        width: 400px;
    }
}

@media screen and (max-width: 800px) {
    #recent_gallery_list {
        padding: 40px 0 40px;
    }

    #single_gallery_post_list #recent_gallery_list:first-child {
        padding: 0 0 40px;
    }

    #recent_gallery_carousel_wrap {
        width: auto;
        margin: 0 20px;
    }

    #recent_gallery_list .post_list .title {
        font-size: 16px;
        margin-top: 15px;
    }

    #recent_gallery_list .post_list .desc {
        line-height: 2;
        margin: 5px 0 0 0;
        font-size: 14px;
    }
}

@media screen and (max-width: 600px) {
    #recent_gallery_list {
        padding: 40px 0 30px;
    }

    #single_gallery_post_list #recent_gallery_list:first-child {
        padding: 0 0 30px;
    }

    #recent_gallery_list .post_list {
        display: block;
        transform: none !important;
    }

    #recent_gallery_list .item {
        margin-bottom: 35px;
        width: auto;
    }

    #recent_gallery_list .item:last-of-type {
        margin-bottom: 0;
    }
}


/* ----------------------------------------------------------------------
 サービスアーカイブ
---------------------------------------------------------------------- */
@media screen and (max-width: 1100px) {
    #archive_service {
        padding: 100px 0 100px;
    }

    #archive_service #page_header_desc {
        margin-bottom: 90px;
    }

    .service_list {
        width: auto;
        margin: 0 50px;
    }

    .service_list .item {
        padding: 30px;
    }

    .service_list .image_wrap {
        width: 50%;
        height: auto;
        aspect-ratio: 475 / 235;
    }

    .service_list .content {
        width: 50%;
        padding-left: 30px;
    }

    .service_list .title {
        font-size: 28px;
    }
}

@media screen and (max-width: 800px) {
    #archive_service {
        padding: 40px 0 40px;
    }

    #archive_service #page_header_desc {
        margin-bottom: 30px;
    }

    .service_list {
        margin: 0 20px;
    }

    .service_list .item {
        padding: 20px;
        display: block;
    }

    .service_list .image_wrap {
        width: auto;
    }

    .service_list .content {
        width: auto;
        padding: 30px 0 0px;
    }

    .service_list .title {
        font-size: 18px;
    }

    .service_list .sub_title {
        font-size: 14px;
        margin: 0 0 5px 0;
    }
}


/* ----------------------------------------------------------------------
 サービス詳細ページ
---------------------------------------------------------------------- */
@media screen and (max-width: 1100px) {
    #service_header {
        padding: 100px 0 60px;
    }

    #service_header .title {
        font-size: 40px;
    }

    #service_header .sub_title {
        margin: 0 0 10px 0;
    }

    #single_service {
        padding-bottom: 100px;
    }

    #single_service .post_content {
        width: auto;
        margin: 0 50px;
    }

    .chef_profile {
        margin: 100px 0 !important;
        display: block;
    }

    .chef_profile .left {
        margin: 0 auto 30px;
    }

    .chef_profile .right {
        width: auto;
        padding: 0;
    }

    .featured_course {
        margin: 100px 0 !important;
        display: block;
    }

    .featured_course h2 {
        margin-bottom: 50px !important;
    }

    .featured_course .left {
        width: 400px;
        margin: 0 auto 50px;
    }

    .featured_course .right {
        width: auto;
        padding-left: 0px;
    }

    .featured_course .q_button_wrap {
        text-align: center;
    }

    #service_post_list .post_list {
        width: auto;
        margin: 0 50px 100px;
    }

    #service_post_list .post_list .item {
        padding: 20px;
    }

    #service_post_list .post_list .title {
        font-size: 18px;
    }

    #service_post_list .post_list .sub_title {
        font-size: 14px;
        margin: 0 0 10px 0;
    }
}

@media screen and (max-width: 800px) {
    #service_header {
        padding: 30px 0;
        margin-bottom: 35px;
        border-bottom: 1px solid #ddd;
    }

    #service_header .title {
        font-size: 30px;
    }

    #single_service {
        padding-bottom: 40px;
    }

    #single_service .post_content {
        margin: 0 20px;
    }

    :not(.tcdce-body) > #restaurant_logo {
        margin-bottom: -10px !important;
    }

    #restaurant_logo img {
        width: 120px;
        height: auto;
    }

    .chef_profile {
        margin: 40px 0 !important;
        font-size: 14px;
    }

    .chef_profile img {
        margin: 0 auto;
    }

    .chef_profile .left {
        margin: 0 auto 20px;
        width: auto;
    }

    .chef_profile .right {
        margin-bottom: -5px;
    }

    .featured_course {
        margin: 40px 0 !important;
        padding: 30px !important;
        font-size: 14px;
    }

    .featured_course h2 {
        margin-bottom: 25px !important;
        font-size: 18px;
        font-weight: 600;
    }

    .featured_course .left {
        margin: 0 auto 25px;
        width: auto;
    }

    .featured_course .left img {
        margin: 0 auto;
    }

    .featured_course p + .q_button_wrap {
        margin-top: -10px !important;
    }

    #service_post_list .post_list {
        width: auto;
        margin: 0 20px 40px;
    }

    #service_post_list .post_list.layout_mobile_type1 .item {
        width: 100%;
    }

    #service_post_list .post_list.layout_mobile_type2 .item {
        width: 50%;
    }

    #service_post_list .post_list.layout_mobile_type3 .item {
        width: calc(100% / 3);
    }

    #service_post_list .post_list .title {
        font-size: 16px;
    }
}

@media screen and (max-width: 500px) {
    .chef_profile img {
        width: 100%;
    }
}


/* ----------------------------------------------------------------------
 お知らせアーカイブ
---------------------------------------------------------------------- */
@media screen and (max-width: 1100px) {
    #archive_news {
        padding: 90px 0 100px;
    }

    #archive_news .news_list {
        width: auto;
        margin: 0 50px;
    }

    #page_header_desc + .news_list {
        margin-top: 90px;
    }
}

@media screen and (max-width: 1000px) {
    #archive_news .news_list {
        display: block;
    }

    .news_list .item:not(.swiper-slide) {
        width: auto;
        margin: 0 0 -1px 0;
    }
}

@media screen and (max-width: 800px) {
    #archive_news {
        padding: 30px 0 40px;
    }

    #archive_news .news_list {
        margin: 0 20px;
    }

    #page_header_desc + .news_list {
        margin-top: 33px;
    }

    .news_list .item {
        padding: 20px;
    }

    .news_list .animate_background {
        width: 110px;
        height: 110px;
    }

    .news_list .content {
        width: calc(100% - 110px);
        padding-left: 20px;
    }

    .news_list .category {
        margin-top: 15px;
    }

    .news_list .date_list {
        margin-bottom: 7px;
    }

    .news_list .title {
        font-size: 14px;
    }
}

@media screen and (max-width: 500px) {
    .news_list .item:has(.update) .category {
        display: none;
    }
}


/* ----------------------------------------------------------------------
 お知らせ詳細
---------------------------------------------------------------------- */
@media screen and (max-width: 1100px) {
    #single_news_header .title {
        font-size: calc((var(--single_title_font_size) + var(--single_title_font_size_sp)) / 2);
    }
}

@media screen and (max-width: 800px) {
    #single_news_header {
        padding: 20px 0 0 0;
        margin-bottom: 40px;
    }

    #single_news_header .date_list {
        margin-bottom: 5px;
    }

    #single_news_header .title {
        font-size: var(--single_title_font_size_sp);
    }

    #single_news_header .category {
        margin-top: 10px;
    }

    #single_news_header .image {
        margin: 20px -20px 0;
        width: calc(100% + 40px);
    }
}


/* ナビゲーション */
@media screen and (max-width: 800px) {
    #next_prev_post2 {
        margin: 40px 0 0;
    }

    #next_prev_post2 .item {
        height: 60px;
    }

    #next_prev_post2 .title {
        display: none;
    }

    #next_prev_post2 .nav {
        display: block;
        width: 100%;
        text-align: center;
        margin-top: 2px;
        font-size: 14px;
    }

    #next_prev_post2 .item:before {
        font-size: 14px;
    }

    #next_prev_post2 .prev_post:before {
        left: 15px;
        top: 32px;
    }

    #next_prev_post2 .next_post:before {
        right: 15px;
        top: 32px;
    }
}


/* 関連記事 */
@media screen and (max-width: 800px) {
    #related_news {
        margin-top: 40px;
    }

    #related_news .headline {
        font-size: 18px;
        margin-bottom: 40px;
    }

    #related_news .post_list .item {
        padding: 20px;
    }

    #related_news .post_list .animate_background {
        width: 110px;
        height: 110px;
    }

    #related_news .post_list .content {
        width: calc(100% - 110px);
        padding-left: 20px;
    }

    #related_news .post_list .category {
        margin-top: 10px;
    }

    #related_news .post_list .date_list {
        margin-bottom: 2px;
    }
}


/* ----------------------------------------------------------------------
 ブログアーカイブページ
---------------------------------------------------------------------- */
@media screen and (max-width: 1200px) {
    .category_sort_button_wrap .swiper-nav-button {
        display: none;
    }
}

@media screen and (max-width: 1100px) {
    #archive_blog {
        padding: 90px 0 100px;
        overflow: hidden;
    }

    .category_sort_button_wrap {
        width: auto;
        margin: 0 50px 35px;
    }

    #page_header_desc + .category_sort_button_wrap {
        margin-top: 80px;
    }

    .category_sort_button_slider {
        overflow: visible;
    }

    .category_sort_button {
        display: inline-flex !important;
    }

    .category_sort_button .item {
        height: 60px;
        line-height: 60px;
        flex: 0 0 auto !important;
        width: auto !important;
        font-size: 14px;
    }

    .category_sort_button a {
        border-left: none;
        padding-top: 3px;
        min-width: 100px;
    }

    .category_sort_button .item:first-of-type a {
        border-left: 1px solid #ddd;
    }

    #archive_blog .blog_list {
        width: auto;
        margin: 0 50px -35px;
    }

    #page_header_desc + .blog_list {
        margin-top: 90px;
    }

    .blog_list .item:not(.swiper-slide) {
        width: calc(100% / 2 - 18px);
    }

    .blog_list .item:nth-child(3n):not(.swiper-slide) {
        margin-right: 35px;
    }

    .blog_list .item:nth-child(2n):not(.swiper-slide) {
        margin-right: 0px;
    }

    body.author #archive_blog {
        padding-top: 30px;
    }

    #author_archive_header {
        margin: 10px 50px 50px;
        width: auto;
        padding: 40px;
    }

    #author_archive_header .name_area img {
        width: 90px;
        height: 90px;
        margin-bottom: 15px;
    }

    #author_archive_header .name {
        font-size: 18px;
    }

    #author_archive_header .sns_button_list {
        margin-top: 15px;
    }

    #author_archive_header .desc {
        font-size: 14px;
        padding-left: 40px;
    }

    #author_archive_header .desc p {
        line-height: 2;
    }
}

@media screen and (max-width: 800px) {
    #archive_blog {
        padding: 30px 0 40px;
    }

    .category_sort_button_wrap {
        width: auto;
        margin: 0 20px 40px;
    }

    #page_header_desc + .category_sort_button_wrap {
        margin-top: 30px;
    }

    .category_sort_button .item {
        height: 50px;
        line-height: 50px;
    }

    #archive_blog .blog_list {
        margin: 0 20px -20px;
    }

    #page_header_desc + .blog_list {
        margin-top: 33px;
    }

    .blog_list .item:not(.swiper-slide) {
        width: calc(100% / 2 - 10px);
        margin: 0 20px 20px 0;
    }

    .blog_list .item:nth-child(3n):not(.swiper-slide) {
        margin-right: 20px;
    }

    .blog_list .item:nth-child(2n):not(.swiper-slide) {
        margin-right: 0px;
    }

    .blog_list .content {
        padding: 15px 20px 13px;
    }

    .blog_list .title {
        font-size: 16px;
    }

    .blog_list .date_list {
        margin: 16px 0 0;
    }

    .blog_list .date_list + .category_list {
        margin-top: -5px;
    }

    .blog_list .item:not(:has(.date_list)) .category_list {
        margin-top: 7px;
    }

    .date_list .date:before {
        font-size: 16px;
        top: calc(50% - 1px);
    }

    .date_list .update:before {
        font-size: 16px;
        top: calc(50% - 1px);
    }

    .page_navi {
        margin-top: 40px;
    }

    .page_navi a, .page_navi .current, .page_navi .dots {
        font-size: 12px;
        width: 40px;
        height: 40px;
        line-height: 40px;
    }

    .page_navi .dots:before {
        font-size: 25px;
        right: 7px;
        top: 2px;
    }

    .page_navi .next:before, .page_navi .prev:before {
        font-size: 11px;
        top: 1px;
    }

    body.author #archive_blog {
        padding-top: 0px;
        border-top: none !important;
    }

    body.author #bread_crumb {
        border-bottom: none;
    }

    #author_archive_header {
        margin: 0 20px 40px;
        padding: 30px 30px 25px;
        display: block;
    }

    #author_archive_header .desc {
        padding-left: 0px;
        margin-top: 20px;
    }
}

@media screen and (max-width: 600px) {
    #archive_blog .blog_list {
        display: block;
        margin-bottom: 0;
    }

    .blog_list .item:not(.swiper-slide) {
        width: auto;
        margin-right: 0 !important;
    }

    .blog_list .item:nth-child(3n):not(.swiper-slide) {
        margin-right: 0;
    }

    #archive_blog .blog_list .item:last-of-type {
        margin-bottom: 0;
    }

    .page_navi a.next, .page_navi a.prev {
        display: none;
    }
}


/* ----------------------------------------------------------------------
 ページ上部　ヘッダー
---------------------------------------------------------------------- */
@media screen and (max-width: 1300px) {
    #header {
        height: 60px !important;
        width: 100%;
        position: sticky !important;
        display: block;
        background: #fff !important;
        text-align: center;
        animation: none !important;
    }

    #header .menu_area {
        display: none;
    }

    #header.mobile_logo_position_left {
        text-align: left;
        padding-left: 20px;
    }

    body.start_scroll #header {
        box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.2);
    }

    body.header_fix {
        padding-top: 0;
    }
}


/* ロゴ */
@media screen and (max-width: 1300px) {
    #header_logo {
        position: relative;
        top: auto;
        left: auto;
        width: auto;
        border: none;
        height: 100%;
        padding: 0;
        margin: 0 auto;
    }

    #header_logo img {
        max-height: calc(100% - 20px);
        width: auto;
        margin: 0;
    }

    #header_logo img.pc {
        display: none !important;
    }

    #header_logo img.mobile {
        display: block !important;
    }

    #header.mobile_logo_position_left #header_logo a {
        text-align: left;
    }

    #header_logo a .logo_text {
        color: #000 !important;
    }

    body.header_fix #header_logo {
        background: none;
    }

    body.header_fix #header_logo img {
        display: block;
    }

    body.header_fix #header_logo img.scroll {
        display: none;
    }
}


/* サイドボタン */
@media screen and (max-width: 1300px) {
    #side_icon_button {
        display: none;
    }
}


/* メガメニュー */
@media screen and (max-width: 1300px) {
    .megamenu {
        display: none !important;
    }
}


/* メッセージ */
@media screen and (max-width: 1300px) {
    #header_message {
        width: 100%;
        margin: 0;
    }
}

@media screen and (max-width: 1200px) {
    #header_message {
        padding: 10px 0;
        z-index: 2000;
    }

    #header_message .post_content {
        width: auto !important;
        margin: 0 20px !important;
    }

    #header_message.show_close_button .post_content {
        margin: 0 40px !important;
    }
}

@media screen and (max-width: 750px) {
    #header_message .post_content {
        line-height: 1.8;
    }

    #header_message.show_close_button .post_content {
        margin: 0 35px !important;
    }
}


/* パンくずリンク */
@media screen and (max-width: 1300px) {
    body.blog #bread_crumb, body.archive #bread_crumb {
        scroll-margin-top: -30px;
    }
}

@media screen and (max-width: 1100px) {
    #bread_crumb {
        padding: 0 50px;
    }

    #bread_crumb ul {
        width: auto !important;
        height: 50px;
        line-height: 50px;
    }

    body.single-gallery #bread_crumb ul {
        margin: 20px 0;
    }

    body.blog #bread_crumb, body.archive #bread_crumb {
        padding: 20px 50px 0;
    }

    body.blog #bread_crumb ul, body.archive #bread_crumb ul {
        margin: 0 auto -15px;
    }

    body.tax-gallery_category #bread_crumb {
        padding: 0 50px;
    }

    body.tax-gallery_category #bread_crumb ul {
        margin: 20px auto;
    }
}

@media screen and (max-width: 800px) {
    #bread_crumb {
        height: 50px;
        padding: 0 20px;
        overflow: auto;
        overflow-y: hidden;
        scrollbar-width: thin;
        border-bottom: 1px solid #ddd;
    }

    #bread_crumb ul {
        overflow: visible;
        height: 50px;
        line-height: 52px;
        margin: 0;
    }

    body.single-gallery #bread_crumb ul {
        margin: 0;
    }

    body.blog #bread_crumb, body.archive #bread_crumb {
        padding: 0 20px;
    }

    body.blog #bread_crumb ul, body.archive #bread_crumb ul {
        margin: 0 auto;
    }

    #bread_crumb li {
        font-size: 12px;
    }

    #bread_crumb li.category {
        flex: 0 0 auto;
        overflow: visible;
        text-overflow: clip;
        white-space: normal;
    }

    #bread_crumb li:last-of-type {
        flex: 0 0 auto;
        padding-right: 20px;
        overflow: visible;
        text-overflow: clip;
        white-space: normal;
    }
}


/* ----------------------------------------------------------------------
 モバイル用ドロワーメニュー
---------------------------------------------------------------------- */
/* ドロワーメニュー開閉ボタン */
@media screen and (max-width: 1300px) {
    #drawer_menu_button {
        width: 60px;
        height: 60px;
        display: block;
        position: absolute;
        right: 0;
        top: 0;
        cursor: pointer;
    }

    #drawer_menu_button span {
        width: 22px;
        height: 2px;
        background: #000;
        display: block;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        transition: all 0.4s ease;
    }

    #drawer_menu_button span:nth-child(1) {
        top: 23px;
    }

    #drawer_menu_button span:nth-child(2) {
        top: 29px;
    }

    #drawer_menu_button span:nth-child(3) {
        top: 35px;
    }
}


/* ドロワーメニュー */
@media screen and (max-width: 1300px) {
    #drawer_menu {
        display: block;
    }

    .open_drawer_menu #drawer_menu {
        transform: translate3d(0, 0, 0);
        pointer-events: auto;
    }

    .open_drawer_menu #drawer_menu_overlay {
        opacity: 1;
        pointer-events: auto;
    }
}

@media only screen and (max-width: 600px) {
    #drawer_menu {
        width: 100%;
    }

    .open_menu #container {
        transform: translate3d(-100%, 0, 0);
    }
}


/* 閉じるボタン */
#drawer_menu .header {
    position: relative;
    width: 100%;
    height: 60px;
}

#drawer_mneu_close_button {
    cursor: pointer;
    display: block;
    width: 50px;
    height: 60px;
    position: absolute;
    top: 5px;
    right: 0px;
    z-index: 10;
}

#drawer_mneu_close_button:before {
    color: #000;
    font-family: 'normal_icon';
    content: '\e91a';
    font-size: 20px;
    display: block;
    top: 17px;
    left: 12px;
    position: absolute;
}

#drawer_menu.color_type2 #drawer_mneu_close_button:before {
    color: #fff;
}


/* グローバルメニュー */
#mobile_menu {
    width: auto;
    margin: 0 20px;
}

#mobile_menu ul {
    margin: 0;
}

#mobile_menu li ul {
    display: none;
}

#mobile_menu a {
    position: relative;
    display: block;
    margin: 0;
    padding: 0 50px 0 20px;
    height: 50px;
    line-height: 50px;
    overflow: hidden;
    text-decoration: none;
    background: #fff;
    color: #000 !important;
    font-size: 14px;
    transition: none;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    visibility: visible;
}

#drawer_menu.color_type2 #mobile_menu a {
    background: var(--main_color);
    color: #fff !important;
}

#mobile_menu li li a {
    font-size: 14px;
    height: 50px;
    line-height: 50px;
}


/* グローバルメニュー（子メニュー） */
#mobile_menu li {
    position: relative;
}

#mobile_menu .child_menu_button {
    display: block;
    position: absolute;
    text-align: center;
    width: 50px;
    height: 50px;
    right: 0px;
    top: 0px;
    z-index: 9;
    cursor: pointer;
}

#mobile_menu .child_menu_button:after {
    font-family: 'normal_icon';
    content: '\e145';
    font-size: 20px;
    display: block;
    color: #000;
    position: absolute;
    top: 14px;
    left: 12px;
    font-weight: 400;
}

#drawer_menu.color_type2 #mobile_menu .child_menu_button:after {
    color: #fff;
}

#mobile_menu li.open > .child_menu_button:after {
    content: '\e943';
    top: 14px;
}

#mobile_menu li.open > a {
    border-bottom: none;
}

#mobile_menu li li a {
    background: #f6f6f6;
    position: relative;
}

#drawer_menu.color_type2 #mobile_menu li li a {
    background: rgba(255, 255, 255, 0.2);
}

#mobile_menu > ul > li.open > ul > li:last-child a {
    border: none;
}

#mobile_menu li li.menu-item-has-children > a:after {
    display: none;
}

#mobile_menu li li.open > a {
}

#mobile_menu li ul {
}


/* SNS */
#mobile_sns {
    margin: 30px 40px -10px;
    justify-content: center;
}

#drawer_menu.color_type2 #mobile_sns.color_type1 li a:before {
    color: #fff;
}


/* 検索フォーム */
#drawer_menu_search {
    margin: 13px 20px 0;
    position: relative;
    width: auto;
}

#drawer_menu_search .input_area {
    background: #f6f6f6;
    width: 100%;
    height: 50px;
    border-radius: 50px;
    position: relative;
}

#drawer_menu_search .input_area input {
    font-size: 14px;
    border: none;
    background: none;
    height: 50px;
    width: calc(100% - 50px);
    position: absolute;
    left: 0px;
    top: 2px;
    padding: 0 10px 0 25px;
    color: #000;
}

#drawer_menu_search .button_area {
    width: 50px;
    height: 50px;
    position: absolute;
    right: 0px;
    top: 0px;
}

#drawer_menu_search .button_area input {
    width: 50px;
    height: 50px;
    border: none;
    background: none;
    cursor: pointer;
}

#drawer_menu_search .button_area:before {
    display: block;
    text-align: center;
    cursor: pointer;
    z-index: 1;
    pointer-events: none;
    position: absolute;
    font-family: 'normal_icon';
    color: #000;
    font-size: 16px;
    content: '\e94c';
    left: 14px;
    top: 19px;
    -webkit-transition: color 0.25s ease;
    transition: color 0.25s ease;
}


/* ボタン */
#drawer_header_button {
    margin: 0px 20px 13px;
    display: flex;
    flex-wrap: wrap;
}

#drawer_header_button a {
    color: #000;
    border: 1px solid #ddd;
    border-right: none;
    flex: 1 1 0%;
    text-align: center;
    height: 50px;
    line-height: 1.4;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    font-size: 14px;
}

#drawer_header_button a:last-of-type {
    border-right: 1px solid #ddd;
}

#drawer_menu.color_type2 #drawer_header_button a {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.2);
}


/* 言語ボタン */
#drawer_lang_button {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 30px 10px;
}

#drawer_lang_button li {
    margin: 0 10px;
}

#drawer_menu.color_type2 #drawer_lang_button a {
    color: #fff;
}


/* ----------------------------------------------------------------------
 ブログ詳細ページ
---------------------------------------------------------------------- */
/* タイトルエリア */
@media screen and (max-width: 1100px) {
    #single_post_header .title {
        font-size: calc((var(--single_title_font_size) + var(--single_title_font_size_sp)) / 2);
    }
}

@media screen and (max-width: 800px) {
    body.single-post #article {
        padding: 30px 0 0;
    }

    #single_post_header {
        margin-bottom: 40px;
    }

    #single_post_header .category {
        position: relative;
        top: auto;
        height: 35px;
        line-height: 35px;
        margin: 0;
    }

    #single_post_header .category a {
        font-size: 12px;
    }

    #single_post_header .title {
        font-size: var(--single_title_font_size_sp);
        margin: 0 0 15px 0;
    }

    #single_post_header:has(.category) .title {
        padding-top: 13px;
    }

    #single_post_header .image {
        margin: 20px -20px 0;
        width: calc(100% + 40px);
    }
}


/* SNSボタン */
@media screen and (max-width: 800px) {
    #single_share_top {
        margin: 40px 0 40px 0;
    }

    #single_share_bottom {
        margin: 40px 0 0;
    }
}


/* コピーボタン */
@media screen and (max-width: 800px) {
    #single_copy_title_url_top {
        margin: 0 0 35px;
    }

    #single_copy_title_url_btm {
        margin: 40px 0 0;
    }

    .single_copy_title_url_btn {
        border-width: 2px;
        line-height: 46px;
        min-width: 250px;
    }
}


/* ページ分割 */
@media screen and (max-width: 800px) {
    #post_pagination {
        margin-top: 35px;
        margin-bottom: 35px;
    }

    #post_pagination a, #post_pagination p {
        font-size: 12px;
        width: 40px;
        height: 40px;
        line-height: 40px;
    }
}


/* 広告 */
@media screen and (max-width: 800px) {
    #single_banner_top {
        width: auto;
        padding: 0;
        margin: 0 0 40px 0;
    }

    #single_banner_bottom {
        width: auto;
        margin: 40px 0 -5px;
    }

    #single_banner_shortcode {
        padding: 0 0 20px;
    }

    #single_free_space {
        margin-top: 40px !important;
        line-height: 2;
    }

    .single_banner {
        line-height: 2;
    }
}


/* ナビゲーション */
@media screen and (max-width: 800px) {
    #next_prev_post {
    }

    #next_prev_post .item {
        height: 60px;
        border: 1px solid #ddd;
        width: 50%;
    }

    #next_prev_post .item:first-of-type {
        border-right: none;
    }

    #next_prev_post .item:only-of-type {
        border-right: 1px solid #ddd;
    }

    #next_prev_post .nav {
        display: block;
    }

    #next_prev_post .title {
        display: none;
    }

    #next_prev_post .image_wrap {
        display: none;
    }

    #next_prev_post .content {
        width: 100%;
    }

    #next_prev_post .nav {
        position: relative;
        text-align: center;
        width: 100%;
        font-weight: 500;
        font-size: 14px;
        line-height: 1;
        margin-top: 1px;
    }

    #next_prev_post .prev_post:before {
        font-family: normal_icon;
        content: '\e90f';
        position: absolute;
        top: 25px;
        left: 15px;
        font-size: 14px;
    }

    #next_prev_post .next_post:before {
        font-family: normal_icon;
        content: '\e910';
        position: absolute;
        top: 25px;
        right: 15px;
        font-size: 14px;
    }
}

@media screen and (max-width: 800px) {
    #next_prev_post {
        margin-top: 40px;
    }
}


/* メタ情報 */
@media screen and (max-width: 800px) {
    #post_tag_list {
        margin: 40px 0 -5px;
    }

    #post_tag_list a {
        font-size: 12px;
    }
}


/* プロフィール */
@media screen and (max-width: 800px) {
    .author_profile {
        margin: 40px 0 0;
        padding: 15px 20px;
    }

    .author_profile .avatar_area {
        width: 90px;
        height: 90px;
    }

    .author_profile .image_wrap {
        width: 90px;
        height: 90px;
    }

    .author_profile .info {
        width: calc(100% - 90px);
    }

    .author_profile .info_inner {
        padding: 0 0 0 20px;
    }

    .author_profile .name {
        font-size: 16px;
        margin: 5px 0 10px 0;
    }

    .author_profile .desc {
        font-size: 14px;
        max-height: 3.4em;
        line-height: 1.7;
    }

    .author_profile .desc span {
        -webkit-line-clamp: 2;
    }
}


/* 関連記事 */
@media screen and (max-width: 1200px) {
    #single_related_post .swiper-nav-button {
        display: none;
    }
}

@media screen and (max-width: 1100px) {
    #single_related_post .headline {
        font-size: 40px;
    }

    #single_related_post .sub_title {
        font-size: 16px;
        margin: 20px 0 75px;
    }

    #related_post_carousel_wrap {
        margin: 0;
    }

    #related_post_carousel {
        overflow: visible;
    }

    #related_post_carousel .blog_list .item {
        width: 310px !important;
    }
}

@media screen and (max-width: 800px) {
    #single_related_post {
        background: #f6f6f6;
        margin: 40px -20px;
        padding: 40px 0;
    }

    #related_post_carousel_wrap {
        margin: 0 20px;
    }

    #single_related_post .headline {
        font-size: 34px !important;
    }

    #single_related_post:not(:has(.sub_title)) .headline {
        margin-bottom: 35px;
    }

    #single_related_post .sub_title {
        font-size: 14px;
        margin: 15px 0 35px;
    }

    #related_post_carousel .blog_list .item {
        width: 280px !important;
    }

    #single_related_post .link_button {
        margin-top: 40px;
    }
}


/* ----------------------------------------------------------------------
 その他のページ
---------------------------------------------------------------------- */
/* 404ページ*/
#page_404_header .content {
    padding: 0 60px;
}

@media screen and (max-width: 1100px) {
    #page_404_header {
        height: calc(100vh - 60px);
        height: calc(100dvh - 60px);
    }

    #page_404_header .content {
        padding: 0 40px;
    }
}

@media screen and (max-width: 800px) {
    #page_404_header .headline {
        font-size: 30px;
    }

    #page_404_header .content {
        padding: 0 20px;
    }

    #page_404_header .desc {
        line-height: 2;
        margin-top: 30px;
    }
}


/* ----------------------------------------------------------------------
 フッター
---------------------------------------------------------------------- */
/* フッターバナー */
@media screen and (max-width: 1300px) {
    #footer_banner_wrap .footer_banner {
        transform: translate3d(0, 0, 0);
    }

    #footer_banner_wrap .footer_banner:first-child {
        animation: footer_banner_animation 90s linear infinite;
    }

    #footer_banner_wrap .footer_banner:nth-child(2) {
        animation: footer_banner_animation2 90s -60s linear infinite;
    }

    #footer_banner_wrap .footer_banner:nth-child(3) {
        animation: footer_banner_animation3 90s -30s linear infinite;
    }

    body:not(.hide_side_icon_button) #footer_banner_wrap .footer_banner {
        animation-play-state: paused !important;
    }
}


/* フッター */
@media screen and (max-width: 1300px) {
    #footer_banner_wrap .item {
        flex: 0 1 300px !important;
        width: 300px !important;
    }

    #footer_banner_wrap .title {
        font-size: 14px;
        height: 60px;
    }
}

@media screen and (max-width: 1100px) {
    #footer {
        padding: 50px 0 0 0;
    }

    #footer_logo {
        margin: 0;
        padding: 0 50px 50px;
    }

    #footer_logo img.pc {
        display: none;
    }

    #footer_logo img.mobile {
        display: block;
    }

    #footer_menu {
        width: auto;
        margin: 0;
        overflow: hidden;
    }

    #footer_menu nav {
        flex: 1 1 50%;
        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
        padding: 50px;
        margin: 0 0 -1px 0;
    }

    #footer_info p {
        width: auto;
        padding: 0 50px;
    }
}

@media screen and (max-width: 800px) {
    #footer {
        padding: 40px 0 0 0;
    }

    #footer_logo {
        padding: 0 20px 40px;
    }

    #footer_menu {
        border-top: 1px solid rgba(255, 255, 255, 0.2);
    }

    #footer_menu nav {
        padding: 38px 20px;
    }

    #footer_menu li {
        margin-bottom: 15px;
    }

    #footer_menu nav:only-child ul {
        text-align: center;
    }
}


/* 住所 */
@media screen and (max-width: 1100px) {
    #footer_bottom {
        height: auto;
        border: none;
    }

    #footer_info {
        padding: 16px 20px;
    }

    #footer_info p {
        width: auto;
        padding: 0;
    }
}


/* SNS */
@media screen and (max-width: 1100px) {
    #footer_sns {
        display: flex;
        justify-content: center;
        position: relative;
        left: auto;
        top: auto;
        transform: none;
        z-index: 4;
        padding: 18px 20px;
        border-top: 1px solid rgba(255, 255, 255, 0.2);
    }

    #footer_sns li {
        margin: 0 7px 4px;
    }

    #footer_sns.color_type1 li a:before {
        color: #fff;
    }
}


/* コピーライト */
@media screen and (max-width: 1100px) {
    #copyright {
        width: auto;
        transform: relative;
        top: auto;
        transform: none;
        border-top: 1px solid rgba(255, 255, 255, 0.2);
    }

    #copyright {
        padding: 19px 20px;
    }

    body.page-template-page-tcd-lp #copyright.lp_copyright {
        padding: 19px 20px;
        height: auto;
        line-height: 1.5;
    }
}


/* ページ上部へ戻るボタン */
@media screen and (max-width: 1000px) {
    #return_top {
        height: 50px;
        line-height: 50px;
    }

    #return_top:before {
        font-size: 16px;
        top: 2px;
    }
}


/* ----------------------------------------------------------------------
 ウィジェット
---------------------------------------------------------------------- */
/* 基本設定 */
@media screen and (max-width: 1100px) {
    #side_col .widget_content {
        width: calc(50% - 25px);
        max-width: 300px;
    }

    #side_col .widget_content:last-of-type {
        margin-bottom: 40px;
    }
}

@media screen and (max-width: 800px) {
    .widget_headline {
        font-size: 16px;
    }

    #side_col .widget_content {
        width: calc(50% - 10px);
        margin-bottom: 40px;
    }

    .widget_content {
        font-size: 14px;
    }
}

@media screen and (max-width: 600px) {
    #side_col .widget_content {
        width: auto;
        margin-left: auto;
        margin-right: auto;
        max-width: 100%;
    }
}


/* アーカイブ　ドロップダウン */
@media screen and (max-width: 800px) {
    .p-dropdown__title {
        height: 60px;
        line-height: 60px;
    }

    .widget_archive select, .widget_categories select {
        padding: 0 20px;
    }
}


/* デフォルトのカテゴリー */
@media screen and (max-width: 800px) {
    .widget_categories li a {
        height: 50px;
        line-height: 50px;
        padding: 0 20px;
    }

    .widget_categories li li a {
        padding-left: calc(20px + 1em);
    }

    .widget_categories li li li a {
        padding-left: calc(20px + 2em);
    }

    .widget_categories li .post-count {
        top: 9px;
        width: 35px;
        height: 35px;
        line-height: 35px;
        font-size: 11px;
    }
}


/* デフォルトのアーカイブ */
@media screen and (max-width: 800px) {
    .widget_archive li a {
        height: 50px;
        line-height: 50px;
        padding: 0 20px;
    }

    .widget_archive li li a {
        padding-left: calc(20px + 1em);
    }

    .widget_archive li li li a {
        padding-left: calc(20px + 2em);
    }

    .widget_archive li .post-count {
        top: 9px;
        width: 35px;
        height: 35px;
        line-height: 35px;
        font-size: 11px;
    }
}


/* デフォルトの固定ページ */
@media screen and (max-width: 800px) {
    .widget_pages li a {
        padding: 0 20px;
        height: 50px;
        line-height: 50px;
    }

    .widget_pages li li a {
        padding-left: calc(20px + 1em);
    }

    .widget_pages li li li a {
        padding-left: calc(20px + 2em);
    }
}


/* デフォルトのナビ　*/
@media screen and (max-width: 800px) {
    .widget_nav_menu li a {
        height: 50px;
        line-height: 50px;
        padding: 0 20px;
    }

    .widget_nav_menu li li a {
        padding-left: calc(20px + 1em);
    }

    .widget_nav_menu li li li a {
        padding-left: calc(20px + 2em);
    }
}


/* デフォルトのメタウィジェット */
@media screen and (max-width: 800px) {
    .widget_meta li a {
        padding: 0 20px;
        height: 50px;
        line-height: 50px;
    }

    .widget_meta li li a {
        padding-left: calc(20px + 1em);
    }

    .widget_meta li li li a {
        padding-left: calc(20px + 2em);
    }
}


/* 検索 */
@media screen and (max-width: 800px) {
    #searchform {
        height: 60px;
    }

    #searchform #s {
        padding: 0 20px;
        height: 60px;
        width: calc(100% - 60px);
    }

    #searchform #searchsubmit {
        width: 60px;
        height: 60px;
    }

    #searchform .submit_button {
        width: 60px;
        height: 60px;
        top: 0px;
    }

    #searchform .submit_button:before {
        width: 60px;
        height: 60px;
        line-height: 60px;
        font-size: 14px;
        right: -2px;
        top: 1px;
    }
}


/* デフォルトの最近の記事 */
@media screen and (max-width: 800px) {
    .widget_recent_entries li {
        padding: 20px 20px 15px;
    }

    .widget_recent_entries li a {
        font-size: 14px;
    }
}


/* デフォルトのコメントウィジェット */
@media screen and (max-width: 800px) {
    .widget_recent_comments li {
        font-size: 14px;
        padding: 20px 20px 15px;
    }
}


/* デフォルトの固定ページ */
@media screen and (max-width: 800px) {
    .widget_pages li {
        font-size: 14px;
    }

    .widget_pages li a {
        height: 50px;
        line-height: 50px;
    }
}


/* デフォルトのナビ */
@media screen and (max-width: 800px) {
    .widget_nav_menu li {
        font-size: 14px;
    }

    .widget_nav_menu li a {
        height: 50px;
        line-height: 50px;
    }
}


/* デフォルトのブロック */
@media screen and (max-width: 800px) {
    .widget_block {
        font-size: 14px;
    }
}


/* デフォルトのテキストウィジェット */
@media screen and (max-width: 800px) {
    .widget_text .textwidget {
        font-size: 14px;
    }

    .widget_text .textwidget p {
        line-height: 2;
    }
}


/* デフォルトのアーカイブとカテゴリー　ドロップダウンメニュー */
@media screen and (max-width: 800px) {
    .widget_archive select, .widget_categories select {
        height: 60px;
        font-size: 14px;
    }

    .widget_archive .screen-reader-text, .widget_categories .screen-reader-text {
        height: 60px;
    }

    .widget_archive .screen-reader-text:before, .widget_categories .screen-reader-text:before {
        top: 27px;
        right: 18px;
    }
}


/* RSS */
@media screen and (max-width: 800px) {
    .widget_rss li {
        padding: 20px 20px 15px;
        font-size: 14px;
    }
}


/* ----------------------------------------------------------------------
 404ページ
---------------------------------------------------------------------- */
@media screen and (max-width: 1300px) {
    body.search-no-results.header_fix, body.error404.header_fix {
        padding-top: 60px;
    }

    body.search-no-results #no_search_result:not(:has(.bg_image)) {
        border-top: 1px solid #ddd;
    }

    #no_search_result {
        height: calc(100vh - 60px);
        height: calc(100dvh - 60px);
    }

    #no_search_result:not(.has_image) {
        border-top: 1px solid #ddd;
    }

    #no_search_result .desc {
        padding: 0 50px;
        width: auto;
    }
}

@media screen and (max-width: 1100px) {
    #no_search_result .tag_list {
        width: auto;
        padding: 0 50px;
    }
}

@media screen and (max-width: 800px) {
    #no_search_result .headline {
        font-size: 24px;
        margin-bottom: 30px;
    }

    #no_search_result .desc {
        padding: 0 20px;
        line-height: 2;
        margin-bottom: 35px;
    }

    #no_search_result .tag_list {
        padding: 0 20px;
        margin-top: 40px;
    }

    #no_search_result .desc + .tag_list {
        margin-top: 30px;
    }

    #no_search_result .wp-tag-cloud a {
        font-size: 12px !important;
    }
}

@media screen and (max-width: 600px) {
    #no_search_result .search_form {
        padding: 0 20px;
    }

    #no_search_result form {
        max-width: 400px;
        width: 100%;
    }
}


/* ----------------------------------------------------------------------
 コメント
---------------------------------------------------------------------- */
@media screen and (max-width: 800px) {
    #comments {
        margin: 40px 0 0 0;
    }

    #comments .headline {
        font-size: 18px;
        margin-bottom: 40px;
    }

    #comment_tab li a, #comment_tab li p {
        background: #f6f6f6;
    }
}


/* ----------------------------------------------------------------------
 その他
---------------------------------------------------------------------- */
/*  WordPress プリセットスタイル */
@media screen and (max-width: 800px) {
    .post_content h1, .post_content h2, .post_content h3, .post_content h4, .post_content h5, .post_content h6 {
    }

    .post_content p {
        line-height: 2;
    }

    body.page .post_content > p:first-child {
        margin-top: -5px;
    }

    .post_content li, .post_content dt, .post_content dd {
        line-height: 1.8;
    }

    .post_content td, .post_content th {
        line-height: 1.8;
        padding: 14px 15px !important;
        font-size: 14px;
    }

    .post_content .wp-caption-text {
        font-size: 12px;
    }
}


@media screen and (max-width: 800px) {
    .s_table {
        margin-right: -20px;
        margin-left: -20px;
        padding: 0 0 0 20px;
    }

    .s_table table {
        overflow: visible;
        position: relative;
    }

    .s_table table:after {
        content: '';
        position: absolute;
        top: 0;
        left: 100%;
        height: 1px;
        width: 20px;
    }
}


/* CANON モバイル用スタイルシート */