@charset "UTF-8";


/*--------------------------- 下層ページのcss --------------------------- */
.breadcrumbs {
    font-family: "Montserrat", sans-serif;
    font-size: 11.5px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 25px;
    margin-left: 3em;
    gap: 12px;
}

.breadcrumbs>li:not(:first-child) {
    display: flex;
    align-items: center;
    gap: 12px;
}

.breadcrumbs>li:not(:first-child)::before {
    content: "";
    display: block;
    background-image: url(../img/bread/bread_arrow.svg);
    background-repeat: no-repeat;
    background-size: cover;
    width: 12px;
    height: 24px;
}

.archive_under_wrapper {
    display: grid;
    grid-template-columns: 74% 22%;
    gap: 4%;
}

.single_under_wrapper {
    display: grid;
    grid-template-columns: 60% 34%;
    gap: 6%;
}

.archive_ttl h1 {
    display: flex;
    font-size: 34px;
    font-weight: bold;
    gap: 20px;
    align-items: center;
}

.archive_ttl p {
    font-size: 14px;
    line-height: 1.6;
    margin-top: 27px;
    margin-bottom: 43px;
}

.archive_case_sec {
    position: relative;
    overflow: hidden;
}

.arichve_loop_txt {
    font-family: "Montserrat", sans-serif;
    font-size: 120px;
    font-weight: 500;
    color: #f3f8ff;
    width: 400%;
    display: flex;
    align-items: center;
    gap: 25px;
    animation: fv_under_loop 30s linear infinite;
    /* 永遠にループ */
    position: absolute;
    top: 4%;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}

/*---------------------------投稿コンテンツの全体css--------------------------- */
.post_ttl {
    font-size: clamp(1.5rem, 1.338rem + 0.81vw, 2.25rem);
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 33px;
}

/* .post_contents h1 {
    display: none;
}
 */
.post_contents h2 {
    /* 投稿タイトル */
    font-size: clamp(1.375rem, 1.24rem + 0.68vw, 2rem);
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 24px;
    display: flex;
    flex-direction: column;
    margin-top: 60px;
    border-left: solid 6px #0C6DFF;
    padding-left: 25px;
}

.post_contents h2 .section {
    color: #0C6DFF;
    font-family: "Montserrat", sans-serif;
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 17px;
}

.post_contents h3 {
    font-size: clamp(1.125rem, 1.044rem + 0.41vw, 1.5rem);
    font-weight: bold;
    line-height: 1.8;
    margin-bottom: 50px;
}

.post_contents h4 {
    font-size: clamp(1rem, 0.946rem + 0.27vw, 1.25rem);
    font-weight: bold;
    line-height: 1.8;
    margin-bottom: 38px;
}

.post_company {
    /* 会社名 */
    font-size: clamp(1rem, 0.946rem + 0.27vw, 1.25rem);
    font-weight: 500;
    margin-bottom: 40px;
}

.post_contents h5 {
    display: none;
}

.post_contents p {
    font-size: clamp(0.875rem, 0.848rem + 0.14vw, 1rem);
    line-height: 2;
}

.post_thumbnail {
    background-color: #fff;
    width: 100%;
    height: 450px;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: solid 1.9px #EEEEEE;
}

.post_contents img {
    width: 100%;
    height: auto;
    /* margin-bottom: 35px; */
}

.post_thumbnail img {
    width: auto;
}

.post_contents a {
    color: #007DB8;
    text-decoration: underline;
}

/*---------------------------archive-case.php--------------------------- */
.top_case_category.archive {
    background-color: transparent;
    padding: 0rem;
    box-shadow: none;
}

.top_case_box.archive {
    /* grid-template-columns: repeat(2, 1fr); */
    grid-template-columns: repeat(2, minmax(0, 1fr));
    background: #F8F8F8;
    padding: 3rem;
    border-radius: 20px;
}

.industry-category.archive,
.issue-category.archive {
    display: flex;
    flex-direction: column;
}

.industry-category.archive h5,
.issue-category.archive h5 {
    font-size: clamp(1rem, 0.973rem + 0.14vw, 1.125rem);
    border-right: none;
    border-bottom: dotted 1px #C5C5C5;
    padding: 1.8rem 0rem 10px;
}

.case_category_box.archive {
    font-size: clamp(1rem, 0.986rem + 0.07vw, 1.063rem);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    margin-top: 20px;
}

.issue-category.archive .case_category_box li {
    background-color: transparent;
    color: #A9A9A9;
    padding: 0.3em 0.1em;
}

.issue-category.archive .case_category_box li.js-filter.is-active {
    background-color: transparent;
    color: #22222C;
}

/*------------------事例サーチバーCSS----------- */
.sidebar-search form {
    background: #F8F8F8;
    border: solid 1px #E1E1E1;
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    color: #989898;
    border-radius: 5px;
    align-items: center;
}

.case_search_input {
    flex: 1;
    padding: 10px;
}

.case_search_btn {
    width: 26px;
    height: 26px;
    background-color: #0C6DFF;
    border-radius: 5px;
    position: relative;
    margin-right: 10px;
}

.case_search_btn::after {
    display: block;
    content: "";
    background: url(../img/s_case/search_icon_w.svg) no-repeat center center / cover;
    width: 18.13px;
    height: 18.13px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/*---------------------------他の導入事例セクション--------------------------- */
.other_case_section {
    background-color: #F8F8F8;
    padding-top: 140px;
    padding-bottom: 120px;
}

.section_ttl.single h3 {
    font-size: clamp(1.75rem, 1.642rem + 0.54vw, 2.25rem);
    line-height: 1.4;
    gap: 30px;
    align-items: center;
}

.top_case_box.single {
    margin-bottom: 0px;
}

/*---------------------------数字で見るOBMセクション--------------------------- */
.view_case_section {
    padding-top: 130px;
    padding-bottom: 50px;
}

.gray_border {
    width: 100%;
    height: 1px;
    background-color: #C5C5C5;
}

.view_under_item h5 {
    font-size: clamp(1.375rem, 1.348rem + 0.14vw, 1.5rem);
    font-weight: bold;
}

.view_under_item {
    display: grid;
    grid-template-columns: 50% 50%;
    padding: 4rem;
}

.view_under_item p {
    font-size: clamp(0.875rem, 0.848rem + 0.14vw, 1rem);
    line-height: 1.6;
}

.view_under_item_right {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

/*---------------------------一覧へもどる・前へ次へボタン--------------------------- */
.post_nav_inner {
    display: flex;
    justify-content: space-between;
    padding-top: 30px;
    border-top: solid 1px #22222C;
    margin-top: 65px;
}

.post_nav_item,
.post_nav_item a {
    display: flex;
    align-items: center;
    gap: 20px;
}

.post_nav_next {
    gap: 16px;
}

.single_nav_box {
    /* 前へ次へボタンの箱 */
    display: flex;
    gap: 40px;
}

.nav_btn_box {
    /* 少し小さい囲み用 */
    background-color: #0C6DFF;
    width: 20px;
    height: 20px;
    border-radius: 4px;
    transition: 0.3s;
    position: relative;
    overflow: hidden;
    margin-left: auto;
    display: inline-flex;
    /* ← 重要：inline のままだと幅高が効かない */
    justify-content: center;
    align-items: center;
}

.nav_btn_box::before {
    /* 一覧へ戻る */
    width: 10px;
    height: 10px;
    content: "";
    background-image: url(../img/s_case/white_left_arrow.svg);
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
}

.post_nav_next .nav_btn_box::before {
    /* 次へボタン */
    background-image: url(../img/s_case/white_right_arrow.svg);
}

.post_nav_prev {
    /* 前へ戻るボタン */
    color: #A9A9A9;
}

.post_nav_prev .nav_btn_box {
    /* 前へ戻るボタンの矢印ボックス */
    background-color: #A9A9A9;
}

.post_nav_item:hover .nav_btn_box::before,
.post_nav_item:focus-visible .nav_btn_box::before {
    /* 左へ抜け → 右にワープ（不可視） → 右から中央へ戻る */
    background-image: url(../img/s_case/white_left_arrow.svg);
    animation: arrow-sweep-left 0.55s ease-in-out 1 both;
}

.post_nav_next:hover .nav_btn_box::before,
.post_nav_next:focus-visible .nav_btn_box::before {
    /* 右へ抜け → 左にワープ（不可視） → 左から中央へ戻る */
    background-image: url(../img/s_case/white_right_arrow.svg);
    animation: arrow-sweep 0.55s ease-in-out 1 both;
    /* 無限ループにしたい場合は ↑ の 1 を infinite に */
}


/* ---------------------------contactform7------------------------- */


/* フォーム全体 */
.wpcf7 {
    display: block !important;
    max-width: 600px;
    /* フォームの最大幅 */
    margin: 16px auto 0;
    /* フォームを中央に配置 */
    padding: 20px;
    background-color: #f9f9f9;
    border-radius: 10px;
}

.wpcf7 h4 {
    font-size: 14px;
    font-weight: bold;
    color: #242422;
}

.wpcf7 h5 {
    font-size: 14px;
    font-weight: bold;
    color: #242422;
    margin-top: 20px;
}

.wpcf7 h4::after {
    content: "*";
    color: #CA4732;
}

.wpcf7 h5::after {
    content: "*";
    color: #CA4732;
}

.wpcf7 h5.notes::after {
    display: none;
}

.wpcf7-list-item {
    /* 既存スタイル打ち消し */
    margin: 0 !important;
}

.wpcf7-list-item-label {
    font-size: 12px;
}

.wpcf7-list-item-label a {
    color: #0000EE;
    text-decoration: underline;
}

/* 各入力フィールド */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
    width: 100%;
    padding: 10px;
    margin: 10px 0;
    background: #fff;
    border-radius: 4px;
    box-sizing: border-box;
    font-size: 12px;
    /* color: #B0B0B3; */
}

/* CheckBoxのスタイル */
.check_h5 {
    margin-bottom: 12px;
}

[type="checkbox"] {
    margin-right: 9px;
}

/* ラベルのスタイル */
.wpcf7 label {
    margin-bottom: 5px;
}

/* 送信ボタン */
.submit_btn {
    width: 80%;
    margin: 0 auto;
    position: relative;
}

.wpcf7 input[type="submit"] {
    background-color: #0C6DFF;
    color: white;
    border: none;
    padding: 20px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    border-radius: 4px;
    display: block;
    width: 100%;
    margin: 40px auto 30px;
    transition: background-color 0.3s;
    position: relative;
}

.wpcf7-spinner {
    /* スタイル打ち消し */
    display: none;
}

.submit_btn::after {
    content: "";
    display: block;
    background-image: url(../img/s_case/submit_btn.png);
    width: 20px;
    height: 20px;
    position: absolute;
    top: 50%;
    right: 5%;
    transform: translateY(-50%);
    /* 高さの50%分、上に移動させて中央に */
}

/* エラーメッセージ */
.wpcf7 .wpcf7-not-valid-tip {
    color: #ff0000;
    font-size: 14px;
    margin-top: 5px;
}

/* ---------------------------contactページ、contactform7------------------------- */

.form_area .wpcf7 {
    display: block !important;
    max-width: 685px;
    /* フォームの最大幅 */
    margin: 0 auto;
    padding: 60px;
    background-color: #f9f9f9;
    border-radius: 10px;
    margin-bottom: 50px;
}

.form_area .wpcf7 h4 {
    font-size: 16px;
    font-weight: bold;
    color: #242422;
}

.form_area .wpcf7 h5 {
    font-size: 16px;
    font-weight: bold;
    color: #242422;
    margin-top: 30px;
}

.form_area .wpcf7 h4::after {
    content: "*";
    color: #CA4732;
}

.form_area .wpcf7 h5::after {
    content: "*";
    color: #CA4732;
}

.form_area .wpcf7 h5.notes::after {
    display: none;
    /* content: "*";
    color: #f9f9f9; */
}

.form_area .wpcf7-list-item {
    /* 既存スタイル打ち消し */
    margin: 0 !important;
}

.form_area .wpcf7-list-item-label {
    font-size: 14px;
}

.form_area .wpcf7-list-item-label a {
    color: #0000EE;
    text-decoration: underline;
}

/* 各入力フィールド */
.form_area .wpcf7 input[type="text"],
.form_area .wpcf7 input[type="email"],
.form_area .wpcf7 input[type="tel"],
.form_area .wpcf7 textarea {
    width: 100%;
    padding: 10px;
    margin: 10px 0;
    background: #fff;
    border-radius: 4px;
    box-sizing: border-box;
    font-size: 14px;
}

/* CheckBoxのスタイル */
.check_h5 {
    margin-bottom: 12px;
}

[type="checkbox"] {
    margin-right: 9px;
    cursor: pointer;
}

.form_area .wpcf7 input[type="radio"],
.form_area .wpcf7-list-item-label {
    cursor: pointer;
}

.form_area .wpcf7-list-item {
    gap: 20px;
    padding-top: 16px;
    padding-right: 16px;
}

.form_area .wpcf7-list-item:first-child {
    padding-left: 0;
}

/* ラベルのスタイル */
.form_area .wpcf7 label {
    margin-bottom: 5px;
}

/* 送信ボタン */
.submit_btn {
    width: 75%;
    margin: 0 auto;
    position: relative;
}

@media screen and (max-width: 1100px) {
    .submit_btn {
        width: 90%;
    }
}
@media screen and (max-width: 768px) {
    .submit_btn {
        width: 75%;
    }
}
@media screen and (max-width: 480px) {
    .submit_btn {
        width: 100%;
    }
}

.form_area .wpcf7 input[type="submit"],
.form_area .wpcf7 .wpcf7-previous {
    background-color: #0C6DFF;
    color: white;
    border: none;
    padding: 20px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    border-radius: 4px;
    display: block !important;
    width: 100%;
    margin: 0;
    opacity: 1;
    transition: opacity 0.3s;
    position: relative;
}

.form_area .wpcf7 input[type="submit"]:hover,
.form_area .wpcf7 .wpcf7-previous:hover {
    opacity: 0.8;
}

.form_area.contact .wpcf7 input[type="submit"] {
    margin-top: 40px;
}

.form_area .wpcf7 .wpcf7-previous {
    background-color: #5F5F5F;
}

.form_area .wpcf7-spinner {
    /* スタイル打ち消し */
    display: none;
}

.submit_btn::after {
    content: "";
    display: block;
    background-image: url(../img/s_case/submit_btn.png);
    width: 20px;
    height: 20px;
    position: absolute;
    top: 50%;
    right: 5%;
    transform: translateY(-50%);
    /* 高さの50%分、上に移動させて中央に */
}

.form_area.confirm .wpcf7 .flex_wrapper {
    display: flex;
    justify-content: center;
    margin-top: 80px;
    gap: 32px;
}

.form_area.confirm .wpcf7 h4,
.form_area.confirm .wpcf7 h5 {
    margin-bottom: 8px;
}

.form_area.confirm .wpcf7 .confirm-textarea p:last-child {
    white-space: pre-line;
}

.form_area.confirm .wpcf7 .box_file {
    background: transparent;
}

.form_area .wpcf7 .wpcf7-not-valid-tip {
    /* エラーメッセージ */
    color: #ff0000;
    font-size: 14px;
    margin-top: 5px;
}

@media screen and (max-width: 768px) {
    .form_area .wpcf7 {
        margin-top: 40px;
        padding: 40px;
    }
}

@media screen and (max-width: 480px) {

    .form_area .wpcf7 {
        border-radius: 0;
    }

    .form_area.confirm .submit_btn {
        width: 100%;
        height: auto;
    }

    .form_area.confirm .wpcf7 .flex_wrapper {
        flex-direction: column;
        gap: 20px;
        margin-top: 40px;
    }

    .form_area .wpcf7 input[type="submit"] {
        margin-top: 40px;
    }

    .form_area .wpcf7 .wpcf7-previous {
        margin: 0 auto;
    }

    .form_area.confirm .wpcf7 input[type="submit"] {
        margin-top: 0;
    }
}

.form_area .wpcf7 .box_file {
    padding: 10px;
    background: #ffffff;
    margin: 10px 0;
    overflow: hidden;
}
.form_area .wpcf7 .caption {
    font-size: 14px;
    color: #989898;
}

/* ---------------------------目次CSS（archive-left内）------------------------- */

.post_contents .rtoc-mokuji-content {
    border: solid 1px #0C6DFF !important;
    border-radius: 10px;
    margin-top: 60px;
}

.post_contents .rtoc-mokuji-content #rtoc-mokuji-title {
    background-color: #0C6DFF;
    color: #fff;
    font-size: 18px;
    font-weight: 500;
    text-align: left;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    padding: 20px 2rem;
}

.post_contents .rtoc-mokuji {
    padding: 2rem;
}

.post_contents .rtoc-mokuji-content .rtoc-mokuji li>a {
    font-size: clamp(0.875rem, 0.848rem + 0.14vw, 1rem);
    line-height: 2.1;
    text-decoration: none;
}

.post_contents .rtoc-mokuji-content .rtoc-mokuji li>a::before {
    content: "・";
}

.post_contents .rtoc_open_close {
    display: none;
}

/* ---------------------------目次CSS（サイドバー）------------------------- */

.archive_right .rtoc-item {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.6;
    margin-bottom: 15px;
}

.archive_right .rtoc-item:last-child {
    margin-bottom: 0px;
}

.hamburger-mokuji {
    padding-top: 15px;
    border-top: solid 1px #22222C;
}

.hamburger_ttl {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14.35px;
    font-weight: 500;
}

/* ハンバーガーアイコン */
.hamburger-icon {
    display: inline-block;
    cursor: pointer;
    width: 12.35px;
    height: 15px;
    position: relative;
}

.hamburger-icon .bar {
    display: block;
    width: 12.35px;
    height: 1%;
    background-color: #22222C;
    margin: 4px 0;
    transition: 0.3s;
}

/* 目次パネル初期状態は非表示 */
.mokuji-panel {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, padding 0.3s ease;
    border-radius: 4px;
}

/* 開いた状態 */
.mokuji-panel.open {
    max-height: 1000px;
    padding-top: 40px;
}

/* rtoc_タイトル */
.mokuji-panel .rtoc-mokuji-content #rtoc-mokuji-title {
    display: none;
}

@media screen and (max-width: 1000px) {

        /* -----------------全体CSS----------------  */
    .archive_case_sec .inner_1200.archive_case_sp_inner,
    .archive_case_sec .inner_1200.single_case_sp_inner {
        /* SPではインナースタイルを打ち消し */
        padding: 0px;
    }

    .archive_case_sec .arichive_case_sp_pd {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .archive_case_sec .arichive_case_sp_pd_5 {
        margin-left: 5px !important;
        margin-right: 5px !important;
    }

    .archive_case_sec .glow-circle.big {
        margin-top: 8px;
    }

    .archive_case_sec .section_ttl.single h3 {
        align-items: flex-start;
    }

    /* ------------タイトル-------------- */
    .archive_case_sec .section_ttl.single {
        margin-bottom: 60px;
    }

    /* ------パンくず----- */
    .archive_case_sec .breadcrumbs {
        margin-left: 20px;
        margin-right: 20px;
    }

    /* ------------ループテキスト-------------- */
    .archive_case_sec .arichve_loop_txt {
        width: 1800%;
        top: 0.6%;
    }

    /* 投稿コンテンツ */
    .archive_case_sec .post_thumbnail {
        width: 100%;
        height: 208px;
    }

    /* ------------一覧ページ（archive-case.php）-------------- */
    .archive_case_sec .archive_case_sec {
        padding-top: 125px;
        padding-bottom: 0px;
    }

    .archive_case_sec .archive_case_sec.single {
        padding-top: 20px;
    }

    .archive_case_sec .archive_under_wrapper {
        display: flex;
        flex-direction: column-reverse;
        gap: 60px;
    }

    .archive_case_sec .top_case_box.archive {
        grid-template-columns: repeat(1, 1fr);
        padding: 20px 20px 50px;
        margin-bottom: 0px;
    }

    /* ------------カテゴリ-------------- */
    .archive_case_sec .top_case_category.archive {
        margin-top: 40px;
    }

    .archive_case_sec .case_category_box.archive {
        flex-direction: row;
        flex-wrap: wrap;
        padding: 0 8px;
        margin-top: 22px;
    }

    .archive_case_sec .industry-category.archive h5 {
        padding-top: 0px;
        padding-bottom: 13px;
    }

    .archive_case_sec .issue-category.archive .case_category_box li {
        background-color: #F2F2F2;
        color: #22222C;
        padding: 0.5em 1.1em;
    }

    .archive_case_sec .issue-category.archive .case_category_box li.js-filter.is-active {
        background: #0C6DFF;
        color: #fff;
    }

        /* --------------------------詳細ページ（single-case.php）------------------------  */
    .single_under_wrapper {
        display: flex;
        flex-direction: column;
    }

    .archive_left {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    /* 投稿コンテンツCSS */
    .post_contents {
        margin-top: 20px;
    }
}

@media screen and (max-width: 768px) {

    /* -----------------全体CSS----------------  */
    .inner_1200.archive_case_sp_inner,
    .inner_1200.single_case_sp_inner {
        /* SPではインナースタイルを打ち消し */
        padding: 0px;
    }

    .arichive_case_sp_pd {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .arichive_case_sp_pd_5 {
        margin-left: 5px !important;
        margin-right: 5px !important;
    }

    .glow-circle.big {
        margin-top: 8px;
    }

    .section_ttl.single h3 {
        align-items: flex-start;
    }

    /* ------------タイトル-------------- */
    .section_ttl.single {
        margin-bottom: 60px;
    }

    /* ------パンくず----- */
    .breadcrumbs {
        margin-left: 20px;
        margin-right: 20px;
    }

    /* ------------ループテキスト-------------- */
    .arichve_loop_txt {
        width: 1800%;
        top: 0.6%;
    }

    /* 投稿コンテンツ */
    .post_thumbnail {
        width: 100%;
        height: 208px;
    }

    /* ------------検索ボックス-------------- */
    /* ------------目次-------------- */
    .hamburger-mokuji {
        display: none;
    }

    /* ------------一覧ページ（archive-case.php）-------------- */
    .archive_case_sec {
        padding-top: 125px;
        padding-bottom: 0px;
    }

    .archive_case_sec.single {
        padding-top: 20px;
    }

    .archive_under_wrapper {
        display: flex;
        flex-direction: column-reverse;
        gap: 60px;
    }

    .top_case_box.archive {
        grid-template-columns: repeat(1, 1fr);
        padding: 20px 20px 50px;
        margin-bottom: 0px;
    }

    /* ------------カテゴリ-------------- */
    .top_case_category.archive {
        margin-top: 40px;
    }

    .case_category_box.archive {
        flex-direction: row;
        flex-wrap: wrap;
        padding: 0 8px;
        margin-top: 22px;
    }

    .industry-category.archive h5 {
        padding-top: 0px;
        padding-bottom: 13px;
    }

    .issue-category.archive .case_category_box li {
        background-color: #F2F2F2;
        color: #22222C;
        padding: 0.5em 1.1em;
    }

    .issue-category.archive .case_category_box li.js-filter.is-active {
        background: #0C6DFF;
        color: #fff;
    }

    /* --------------------------詳細ページ（single-case.php）------------------------  */
    .single_under_wrapper {
        display: flex;
        flex-direction: column;
    }

    .archive_left {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    /* 投稿コンテンツCSS */
    .post_contents {
        margin-top: 20px;
    }

    /* ------- /contact コンタクトフォーム------- */
    .wpcf7 {
        padding: 40px 35px;
        margin-bottom: 60px;
    }

    .wpcf7 h4 {
        font-size: 16px;
    }

    .wpcf7 input[type="text"],
    .wpcf7 input[type="email"],
    .wpcf7 input[type="tel"],
    .wpcf7 textarea {
        padding: 20px 13px;
    }

    .wpcf7-list-item-label {
        font-size: 14px;
    }

    [type="checkbox"] {
        width: 22px;
        height: 22px;
    }

    /* 数字で見るセクション */
    .view_case_section {
        padding-top: 65px;
        padding-bottom: 0px;
    }

    .view_under_item {
        grid-template-columns: 100%;
        gap: 30px;
        padding: 40px 25px;
    }

    .view_under_item_right {
        gap: 20px;
    }

    /* 他の導入事例を見るセクション */
    .other_case_section {
        padding-top: 50px;
        padding-bottom: 50px;
    }
}

.archive_right_textWrapper {
    display: flex;
    border-top: 1px solid #22222C;
    padding-top: 20px;
    margin-top: 40px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.6;
}

.archive_right_textWrapper .mark {
    color: #0C6DFF;
}

.archive_right_textWrapper .text {
    padding-left: 10px;
}


@media screen and (max-width: 768px) {
    }

@media screen and (max-width: 1000px) {
    .archive_right_textWrapper {
        max-width: 600px;
        margin: 80px auto 0;
        justify-content: center;
        border: none;
        padding-top: 0px;
    }
}

@media screen and (max-width: 600px) {
    .archive_right_textWrapper {
        width: 90%;
    }
}

/* ▼ RTOC プラグイン 追加CSS ここから ▼ */

.rtoc-mokuji-content #rtoc-mokuji-title.rtoc_left {
    flex-direction: row !important;
}

.post_contents .rtoc-mokuji-content .rtoc-mokuji li>a::before {
    display: none;
}

.post_contents .rtoc-mokuji-content .rtoc-mokuji li>a {
    line-height: 1.5;
}

.rtoc-mokuji-content .rtoc-mokuji.level-2 li {
    padding-top: 12px !important;
}

.rtoc-mokuji-content .rtoc-mokuji .mokuji_ul .rtoc-item::before, .rtoc-mokuji-content .rtoc-mokuji.mokuji_none .mokuji_ul .rtoc-item::before {
    top: 21px !important;
}

@media screen and (max-width: 1262px) {
    .rtoc-mokuji-content .rtoc-mokuji .mokuji_ul .rtoc-item::before, .rtoc-mokuji-content .rtoc-mokuji.mokuji_none .mokuji_ul .rtoc-item::before {
        top: 20px !important;
    }
}

.post_contents h3 {
    margin-top: 1.5em;
    margin-bottom: 8px;
}

.rtoc-mokuji-content .decimal_ol > .rtoc-item > a {
    padding-left: 1.75em !important;
}

.back_button_left {
    display: none !important;
}

/* ▲ RTOC プラグイン 追加CSS ここまで ▲ */

.wpcf7-form-control-wrap {
  > .wpcf7-not-valid-tip {
    display: none;
    margin-top: 10px;
  }

  &.is-show {
    > .wpcf7-not-valid-tip {
      display: block;
    }
  }
}