@charset "utf-8";
/*
Theme Name: GENESIS child
Theme URI:https://tcd-theme.com/tcd103/
Description:WordPressテーマ「GENESIS」の子テーマ
Template:genesis_tcd103
Author:TCD
Author URI:https://tcd-theme.com/
Version:1.0
*/

/* =========================================================
   スマホ（767px以下）共通テーブル対応
========================================================= */
@media only screen and (max-width: 767px) {

    table,
    thead,
    tbody,
    th,
    td,
    tr {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }

    thead tr {
        position: absolute;
        top: -9999px;
        left: -9999px;
    }

    tr {
        border-bottom: 1px solid #ccc;
    }

    td {
        border: none;
        position: relative;
        padding-left: 50%;
        text-align: right;
    }

    td:before {
        position: absolute;
        left: 6px;
        content: attr(data-label);
        font-weight: bold;
        text-align: left;
    }

    .post_content .tcdce-body> :first-child {
        margin-top: 30px !important;
    }
}

/* =========================================================
   タイムライン（.schedule）
========================================================= */
.schedule {
    position: relative;
}

.schedule::before {
    position: absolute;
    top: 0;
    left: 6.5em;
    width: 6px;
    height: 100%;
    background-color: #fd0001;
    content: "";
}

.schedule ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

.schedule li {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}

.schedule li+li {
    margin-top: 2em;
}

.schedule_time {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 5em;
    height: 2em;
    border-radius: 6px;
    background-color: #fd0001;
    color: #fff;
    text-align: center;
}

.schedule_time::before {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(50%, -50%) rotate(45deg);
    width: 0.5em;
    height: 0.5em;
    z-index: -1;
    background-color: #fd0001;
    content: "";
}

.schedule_time::after {
    position: absolute;
    top: 50%;
    left: 6.1em;
    transform: translateY(-50%);
    width: 1em;
    height: 1em;
    border: 2px solid #fff;
    border-radius: 50%;
    background-color: #fd0001;
    content: "";
}

.schedule_content_title {
    font-weight: bold;
}

.schedule_content {
    margin-left: 3em;
    width: calc(100% - 10em);
}

/* =========================================================
   投稿ヘッダー・レイアウト調整
========================================================= */

#single_post_header .update,
.single-news .l-secondary,
#single_post_header_image {
    display: none;
}

#main_col,
#single_post_header {
    width: 100%;
}

/* =========================================================
   フッターバナー
========================================================= */

#footer_banner a:hover .title {
    color: #fd0001;
}

#footer_banner a:hover .sub_title {
    color: #000;
}

/* =========================================================
   グローバルメニュー
========================================================= */

#global_menu>ul>li {
    font-size: 14px;
    font-weight: bold;
}

/* =========================================================
   投稿・固定ページ テーブルデザイン（PC）
========================================================= */

.post_content table,
.tcdce-body table {
    border-collapse: collapse;
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
}

.post_content table th,
.post_content table td,
.tcdce-body table th,
.tcdce-body table td {
    border: none;
    border-bottom: 2px solid #c1c7c6;
    padding: 1em;
}

.post_content table th,
.tcdce-body table th {
    border-bottom: 2px solid #ff0004 !important;
    font-weight: bold;
    text-align: center;
    width: 20%;
    min-width: 4em;
}

/* =========================================================
   スマホ（767px以下） テーブル（投稿ページ用）
========================================================= */
@media only screen and (max-width: 767px) {

    .post_content table,
    .post_content table thead,
    .post_content table tbody,
    .post_content table th,
    .post_content table td,
    .post_content table tr,
    .tcdce-body table,
    .tcdce-body table thead,
    .tcdce-body table tbody,
    .tcdce-body table th,
    .tcdce-body table td,
    .tcdce-body table tr {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }

    .post_content table thead tr,
    .tcdce-body table thead tr {
        position: absolute;
        top: -9999px;
        left: -9999px;
    }

    .post_content table tr,
    .tcdce-body table tr {
        border-bottom: 1px solid #ccc;
        margin-bottom: 1em;
    }

    .post_content table td,
    .tcdce-body table td {
        border: none !important;
        position: relative;
        padding-left: 50%;
        text-align: right;
    }

    .post_content table td:before,
    .tcdce-body table td:before {
        position: absolute;
        left: 6px;
        content: attr(data-label);
        font-weight: bold;
        text-align: left;
    }
}

/* =========================================================
   スマホ（767px以下） padding-left を削除（追加分）
========================================================= */
@media only screen and (max-width: 767px) {

    table td,
    .post_content table td,
    .tcdce-body table td {
        padding-left: 0 !important;
    }
}


/* =========================================================
   問い合わせページ
========================================================= */
.wpcf7 {
    background: none;
    border: none;
}

.wpcf7 form {
    margin: 0;
}

.contactForm {
    padding: 80px 0 0;
}

.contactForm p {
    margin: 0;
}

.contactForm input[type="file"] {
    border: none;
}

.contactForm table {
    max-width: 1000px;
}

.contactForm table td {
    padding: 3em 1em;
    text-align: left;
}

.contactForm p br {
    display: none;
}

.contactForm th p br {
    display: block;
}

.privacy {
    height: 200px;
    overflow: auto;
    text-align: left;
    padding: 10px 20px;
    margin: 0 0 20px;
    background: #f5f5f5;
}

.contactForm .wpcf7-list-item {
    margin: 0 0 10px;
}

#confirm-btn,
#edit-btn {
    background-color: #000000;
    position: relative;
    width: 225px;
    height: 48px;
    margin: 30px auto 0;
    border: none !important;
    outline: none;
    color: #fff;
    font-size: 14px;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s;

}

#confirm-btn {
    display: block;
}


.wpcf7 .contactForm input,
.wpcf7 .contactForm textarea {
    margin: 0 0 6px;
}

.wpcf7 .contactForm input[type="submit"] {
    margin: 30px auto 0;
}

.error-message {
    color: #ff0000;
    font-size: 14px;
    display: block;
}

#confirm-file br {
    display: block;
}

.form-complete {
    /*min-height: 400px;*/
}

.form-complete p {
    /*font-size: 15px;*/
    text-align: center;
    margin: unset;
}

.wpcf7-response-output,
.wpcf7-not-valid-tip {
    display: none;
}

@media only screen and (max-width: 767px) {

    .privacy {
        height: 300px;
    }

    .contactForm {
        padding: 60px 0 0;
    }

    .contactForm table td {
        padding: 1em 0 3em;

    }

    .contactForm table th {
        text-align: left;
        padding: 0.5em 0;
    }

    .form-complete p {
        font-size: 20px;
    }
}

/* =========================================================
   ランディングページ
========================================================= */
:is(.lp_content, .tcdce-body .lp_content) .large_headline {padding: 0.1em 0;line-height: 1.2;}
:is(.lp_content, .tcdce-body .lp_content) .catch {line-height: 1.6;}

@media only screen and (min-width: 801px) {
.lp_content .catch { margin: 49px 0 86px;}
.post_content p {  margin: 0px 0 35px 0;}
.lp_content .shutter_image { margin-top: 87px; margin-bottom: -11px!important;}
.lp_content .faq_list {  margin-top: 97px; margin-bottom: -8px!important;}
.catch2 { font-size: 16px!important; margin-top: 25px!important;}
.post_content .s_table { margin-top: 98px!important; margin-bottom: 100px!important;}
}
@media screen and (max-width: 800px){
.catch2 { font-size: 14px!important; margin-top: 12px!important; margin-bottom: 38px!important;}
#lp_page_header { margin-bottom: 37px;}
.lp_content .catch {  font-size: 18px !important; margin-top: 35px; margin-bottom: 30px;}
.lp_content .shutter_image { margin-top: -2px;}
.lp_content {  margin-bottom: 34px;}
.headline2 {  margin-top: 37px!important;}
.post_content .s_table, .post_content .wp-block-table {  font-size: 14px!important;}
.catch3 { font-size: 14px!important; }
}