/*
Theme Name: GENESIS Child
Theme URI: https://tcd-theme.com/tcd103/
Template: genesis_tcd103
Author: TCD
Author URI: https://tcd-theme.com/
Description: "GENESIS" is an ideal template for corporate website and sites that introduce web services. The layout and animations are distinctive. You can create an advanced site that does not look like it was created with a template.
Version: 1.12.3.1751330692
Updated: 2025-07-01 09:44:52

*/

/* ---------- 共通 ---------- */

.cb_service_list.num2 .item .headline {
    font-size: 30px !important;
}

/* 上部ヘッダー「サービス」 */
.header .title_area .title {
    font-size: 26px !important;
}

/* 各サービスカテゴリのタイトル（例：成功報酬型 パブリシティ露出獲得） */
.item_list .title_area .title {
    font-size: 22px !important;
}

#single_service_header.animate .large_headline span {
    font-size: 36px !important;
}
@media (min-width: 1000px) {
    #header_logo a {
        height: 80% !important;
    }

    #main_col {
        width: calc(100% - 315px);
    }

    #side_col {
        width: 250px;
        position: relative;
    }
}

.widget_headline span {
    display: block;
    margin: auto;
}

/* ---------- トップ ---------- */
.cb_service_category_list .overlay {
    background: linear-gradient(to bottom, #404040 0%, rgba(0, 0, 0, 0) 100%) !important;
}

.shutter_image.link_ver .overlay {
    background: linear-gradient(to bottom, rgb(85 85 85) 0%, rgba(0, 0, 0, 0) 100%) !important;
}

/* ---------- メニュー ---------- */
#global_menu>ul>li>a {
    font-size: 16px !important;
}

body.megamenu_dark_color .megamenu_b .item {
    border-left: 1px solid #B2B2B2;
}

body.megamenu_dark_color #global_menu ul ul {
    background: #444;
}

.mobile_menu1 ul.sub-menu ul.sub-menu a {
    text-indent: 0.8em !important;
}
.mobile_menu1 ul.sub-menu ul.sub-menu a::before {
    content: "－";
}

#mobile_menu li li a:after {
    right: 28px !important;
}

/* ================================
   Mega Menu 全体の背景を #414B77 に
   ================================ */
body.megamenu_dark_color .megamenu_b {
  background:#555 !important;      /* 黒 → 指定色 */
}
body.megamenu_dark_color .megamenu_b.use_carousel .header:after {
  background-color:#555 !important; /* ヘッダー直下の帯も同色に */
}
/* 仕切り線が黒すぎる場合は少し明るく（任意） */
body.megamenu_dark_color .megamenu_b.use_carousel .header:before {
  background-color:#3b4469 !important;
}
body.megamenu_dark_color .megamenu_b li{
    border-left: #555 !important;
}
body.megamenu_dark_color .megamenu_b .label{
    color: #fff;
}
@media screen and (max-width: 1250px) {
    #drawer_menu {
        background: #555 !important;
    }
}
/* ===========================================
   「メガメニュー内だけ」の左右スクロール矢印を新デザインに
   丸→角丸四角 / 枠と矢印を #414B77、背景は白
   =========================================== */
.swiper-nav-button,
.swiper-nav-button { /* typo保険＋本命 */
  background:#fff !important;
  border:1px solid #555 !important;
  border-radius:8px !important;  /* 角丸四角 */
  width:50px !important;
  height:50px !important;
}
/* ダーク配色が上書きしてくる箇所を打消し（白矢印→指定色） */
body.megamenu_dark_color .megamenu_b.use_carousel .swiper-nav-button .arrow_button_small:before,
body.megamenu_dark_color .megamenu_b.use_carousel .swiper-nav-button .arrow_button_small:after,
.megamenu_b.use_carousel .swiper-nav-button .arrow_button_small:before,
.megamenu_b.use_carousel .swiper-nav-button .arrow_button_small:after {
  color:#555 !important;
  left:1px; top:0; width:100%;  /* 既存位置は踏襲 */
}
/* Prev の矢印だけ微調整（既存で1pxズレ指定あり） */
.megamenu_b.use_carousel .swiper-button-prev .arrow_button_small:before,
.megamenu_b.use_carousel .swiper-button-prev .arrow_button_small:after {
  top:-1px !important;
}

/* ---------- サービス ---------- */
.service_sec11 .wp-block-media-text__content p {
    text-indent: 1em;
}

.service_sec12 .wp-block-media-text__content p {
    text-indent: 1em;
}

.service_sec13 .wp-block-media-text__content p {
    text-indent: 1em;
}

@media (max-width: 680px) {
    .service_sec11 h3 {
        margin-top: 30px !important;
    }

    .service_sec12 .wp-block-media-text__content {
        margin-top: 30px !important;
    }

    .wp-block-media-text>.wp-block-media-text__content {
        padding-right: 0px !important;
        padding-left: 0px !important;
    }
}

/* ---------- 企業情報 ---------- */
/*.company_col_left1{
    padding: 30px;
    background-color: #f9f9f9;
}*/

/* ---------- マーケティングPR ---------- */
.markethingpr_item1 h4.vk_borderBox_title {
    color: #333 !important;
}

ul.ulli_roma1 {
    list-style-type: lower-latin !important;
}

/* ---------- 採用情報 ---------- */
.post_content .jobs_sec1 h3 {
    margin-top: 0px !important;
    font-size: 2rem !important;
}

@media (min-width: 768px) {
    .apply_box1 {
        padding-right: 30px !important;
        padding-left: 30px !important;
    }
}

.p_po1 {
    margin: auto !important;
}

@media (max-width: 680px) {
    .apply_box1 {
        padding-right: 10px !important;
        padding-left: 10px !important;
    }

    .jobs_sec1 .smb-section-break-the-grid__content--p-s {
        padding-right: 0px !important;
        padding-left: 0px !important;
    }

    .smb-section-break-the-grid--right>.smb-section__inner>.c-container>.smb-section__contents-wrapper>.c-row>.c-row__col>.smb-section-break-the-grid__figure--w-40 {
        margin-left: 0 !important;
    }

    .smb-section-break-the-grid--right>.smb-section__inner>.c-container>.smb-section__contents-wrapper>.c-row>.c-row__col>.smb-section-break-the-grid__figure {
        margin-right: 0 !important;
    }

    .smb-section-break-the-grid__content>*+* {
        margin-top: 10px !important;
    }
}

/* ------------ 実績 ------------ */
.date.entry-date.published {
    display: none;
}

/* ------------ 企業情報 ------------ */
.table_box1 .wp-block-table td, .table_box1 .wp-block-table th{
    border: 0px !important;
}
.post_content .table_box1 table{
    border: 0px !important;
}

.table_box1 .wp-block-table td:nth-child(odd){
    width: 25%;
}

@media (max-width: 680px) {
    .table_box1 .wp-block-table td:nth-child(odd){
        background-color: #ddd;
}
    body.page-id-53 .smb-information__item__label {
        background-color: #e8e8e8;
        padding-left: 10px !important;
    }

    body.page-id-53 .smb-information__item__body p {
        padding-left: 10px !important;
    }
}

/* ------------ 記事詳細画面 ------------ */
#single_post_header .meta{
    display: none;
}

#recent_news{
    display: none;
}


/* ------------ ブロック ------------ */
.c-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.smb-section__title {
    margin-top: 10px !important;
}

.vk_borderBox.is-style-vk_borderBox-style-solid-kado-tit-inner,
.vk_borderBox.is-style-vk_borderBox-style-solid-kado-tit-onborder,
.vk_borderBox.is-style-vk_borderBox-style-solid-kado-iconFeature {
    border-width: 1px !important;
}

.zaax_sec1.wp-block-snow-monkey-blocks-section {
    padding-top: 0px !important;
}

.post_content .zaax_sec1 h2 {
    margin-bottom: 0px !important;
}

.zaax_sec1 .smb-section__lede-wrapper {
    margin-top: 0px !important;
    color: #FF4000;
}

.zaax_sec1 .c-row>.c-row__col {
    margin-bottom: 0 !important;
}

.zaax_sec1 .smb-information:not([data-sm-split-column=true]) .smb-information__item__body {
    padding: 0 !important;
}

.zaax_sec1 .smb-information__body>*+* {
    margin-top: 0px !important;
}

.zaax_sec1 .smb-section__title {
    text-align: left !important;
    font-size: 2.4rem !important;
}

.zaax_sec1 .smb-section__lede-wrapper {
    display: block;
    text-align: left !important;
}

.post_content .zaax_sec2 h2 {
    margin-top: 0px !important;
}

.widget_headline {
  background: #ccc;
  color: #000;
}

@media (min-width: 768px) {
    .zaax_sec2 h2 {
        font-size: 2rem !important;
    }
}

@media (max-width: 767px) {
    .zaax_sec2 .wp-block-media-text>.wp-block-media-text__content {
        padding: 20px 0 0 !important;
    }
}

/* ------------ 文字変更 ------------ */

.item.swiper-slide a[href$="/case-studies/"]{
  font-size:0; line-height:0; /* 元テキストを視覚的に消す */
}
.item.swiper-slide a[href$="/case-studies/"]::after{
  content:"全て";
  font-size:1rem; line-height:1; /* 表示用のテキスト */
}

a[data-category-id="news_cat_all"] {
  font-size: 0; /* 元テキストを消す */
}
a[data-category-id="news_cat_all"]::after {
  content: "全て"; /* 置き換えテキスト */
  font-size: 16px; /* 適切なサイズを再指定 */
}

/* ------------ フッター ------------ */
#footer_logo img {
    width: 200px;
    height: 55px;
}

#copyright {
    background-color: #666 !important;
}

/* ------------ 問い合わせフォーム ------------ */

/* CF7のエラー風に馴染ませる */
.cf7-inline-error{
  display:block;
  line-height:1.5;
  margin-top:4px;
  color: red !important;
  font-size: 16px !important;
  font-weight: 600 !important;
}
.wpcf7 form input.wpcf7-not-valid{
  border-color:#d93025;
}

/* もしCF7標準のエラーチップが同じwrap内に出たら
   自前メッセージは非表示（二重表示防止の保険） */
.wpcf7 .wpcf7-form-control-wrap .wpcf7-not-valid-tip + .cf7-inline-error,
.wpcf7 .wpcf7-form-control-wrap .wpcf7-not-valid-tip ~ .cf7-inline-error{
  display: none !important;
}


.kojin_box {
    border: solid 1px #ccc;
    width: 100%;
    height: 240px;
    padding: 1.5em;
    overflow: auto;
    background-color: #f9f9f9;
}

.kojin_box h4 {
    font-size: 1.1rem !important;
}

.kojin_box p {
    margin: 0px !important;
}

.wpcf7 {
    margin: 0 !important;
    padding: 0 !important;
    border: 0px solid #ddd !important;
    background: #fff !important;
    font-size: auto !important;
}

.wpcf7 form {
    margin: 0 !important;
}

.textbox1 input.wpcf7-form-control.wpcf7-text {
    width: 240px;
    margin-left: 5px;
}

#form1 {
    overflow: hidden;
}

#form1 table {
    background-color: #fff;
}

#form1 th,
#form1 td {
    padding: 20px !important;
}

#form1 th {
    position: relative;
    width: 35%;
    text-align: left;
    font-weight: normal;
    vertical-align: middle;
}

div.wpcf7 .wpcf7-spinner {
    display: block;
}

#form1 .form_1 {
    background-color: #f39800;
    padding: 10px;
    color: #fff;
    text-align: center !important;
    margin-bottom: 20px;
}

#form1 .color-botton01 {
    width: 220px;
    margin: 20px auto;
    padding: 15px 5px;
    background-color: #f39800;
    text-align: center;
    border-radius: 30px;
}

#form1 .color-botton01 a {
    color: #fff;
}

@media (min-width: 768px) {
    .wpcf7 {
        width: 100% !important;
    }
}

.wpcf7 {
    margin: 0px auto !important;
    padding: 0px !important;
    padding-bottom: 0px !important;
}

span.wpcf7-list-item {
    display: block !important;
    margin: 0 0 0 1em;
    width: 100%;
}

.must {
    position: absolute;
    right: 10px;
    top: 50%;
    width: 40px;
    height: 20px;
    margin-top: -10px;
    padding: 0;
    background: #DD0000;
    text-align: center;
    line-height: 20px;
    color: #FFF;
    font-size: 12px;
    font-weight: normal;
}

.free {
    position: absolute;
    right: 10px;
    top: 50%;
    width: 40px;
    height: 20px;
    margin-top: -10px;
    padding: 0;
    background: #999;
    text-align: center;
    line-height: 20px;
    color: #FFF;
    font-size: 12px;
    font-weight: normal;
}

.free1 {
    width: 40px;
    padding: 2px 7px;
    background: #999;
    text-align: center;
    color: #FFF;
    font-size: 12px;
    margin: 0 5px;
}

input.wpcf7-form-control.wpcf7-text,
textarea.wpcf7-form-control.wpcf7-textarea {
    width: 100%;
    padding: 8px 15px;
    margin-right: 10px;
    margin-top: 10px;
    border: 1px solid #d0d5d8;
    border-radius: 3px;
}

textarea.wpcf7-form-control.wpcf7-textarea {
    height: 200px;
}

input.wpcf7-submit {
    padding: 10px 80px;
    background: #ff7b00;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
}

.formb1 {
    padding: 30px;
    margin-top: 20px;
    font-size: 0.9rem;
    background-color: #f4faff;
    text-align: center;
}

.formb2,
.formb3 {
    margin-top: 10px;
    text-align: center;
}

span.wpcf7-not-valid-tip,
.wpcf7-response-output.wpcf7-validation-errors {
    color: red;
    font-weight: 600;
}

.wpcf7-form-control.wpcf7c-btn-confirm {
    width: 350px;
    padding: 15px !important;
    color: #fff;
    font-size: 30px !important;
    font-weight: 600;
    border-radius: 50px !important;
    margin-top: 30px !important;
    background: #ffc86a !important;
    background: -moz-linear-gradient(top, #ffc86a 0%, #f39800 100%) !important;
    background: -webkit-linear-gradient(top, #ffc86a 0%, #f39800 100%) !important;
    background: linear-gradient(to bottom, #ffc86a 0%, #f39800 100%) !important;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffc86a', endColorstr='#f39800', GradientType=0) !important;
}

@media only screen and (max-width:480px) {
    #form1 {
        margin: 0 -10px;
    }

    #form1 th,
    #form1 td {
        width: 100% !important;
        display: block;
        border-top: none;
    }

    #form1 tr:first-child th {
        border-top: 1px solid #ddd;
    }

    .kojin_box {
        padding: 10px !important;
    }
}