/*
Theme Name: The7 Child
Theme URI: https://the7.io/
Template: dt-the7
Author: Dream-Theme
Author URI: https://dream-theme.com/
Description: Any design, any layout. No coding required. The7 is the most customisable WordPress theme on the market up to date. Add the power of Visual Composer, The7 Post Types, Ultimate Addons, Slider Revolution, and WooCommerce to the mix, and you'll get the ultimate web-site building toolkit! Theme is translation ready, compatible with WPML, SEO and mobile friendly (certified by Google).
Tags: multipurpose,responsive,retina ready,SEO ready,mobile friendly,iOS,material design,clean,minimal,business,corporate,portfolio,creative,photography,one page site,micro site
Version: 12.10.0.1761526500
Updated: 2025-11-28

*/

/* .popup-message-style form.invalid .wpcf7-response-output { */
/*     background: var(--e-global-color-primary); */
/* } */
/* .popup-message-style form.invalid .wpcf7-response-output { */
/*     background-color: var(--e-global-color-primary); */
/* } */
.popup-message-style #page .wpcf7-mail-sent-ok:before,
.popup-message-style #page .wpcf7-response-output.run-animation:before,
.popup-message-style #page .wpcf7-validation-errors:before {
	width: auto;
    content: "";
}

.popup-message-style #page .wpcf7-response-output.run-animation,
.popup-message-style #page .wpcf7-validation-errors {
  padding: 15px 20px;
}

.wpcf7-not-valid-tip {
    display: block;
}
.wpcf7-form-control-wrap {
	width: 100%;
}

.wpcf7-spinner {
	margin: 1rem auto 0;
	display: block;
}

.elementor-field-group select.wpcf7-not-valid {
	border-color: #f55b5f;
}

.elementor-field-group textarea.wpcf7-not-valid {
	border-color: #f55b5f;
}

.wpcf7-form input.wpcf7-submit {
	padding: 20px 40px;
}

.elementor-field-type-radio.elementor-field-group {
	align-items: flex-start;
}

#the7-body a.scroll-top {
	bottom: 100px;
}

.elementor-widget-theme-post-content h2.the7-heading-title,
.elementor-widget-theme-post-content h3.the7-heading-title,
.elementor-widget-theme-post-content p.the7-heading-title {
	margin-bottom: 0 ;
}

/* Google検索結果全体 */
.gsc-control-cse {
  padding: 0;
}

/* タイトル */
.search-title {
  margin-bottom: 30px;
  font-size: 24px;
  font-weight: bold;
}

/* 検索結果タイトル */
.gsc-result .gs-title {
  font-size: 16px;
  line-height: 1.6;
}

.gsc-above-wrapper-area {
	max-width: none !important;
}
.gsc-wrapper {
	max-width: none !important;
}

/* =============================================
   CF7 確認画面用スタイル
   ============================================= */

/* 確認ボタン（入力画面） */
.c-form__btns-wrap {
	margin-top: 20px;
	text-align: center;
}

.c-form__confirm-btn {
	padding: 14px 48px;
	font-size: 16px;
	font-weight: bold;
	color: #fff;
	background: #2C74FF;
	border: none;
	border-radius: 30px;
	cursor: pointer;
	transition: background 0.2s, opacity 0.2s;
}

.c-form__confirm-btn:hover {
	background: #1a5cd4;
}

.c-form__confirm-btn:disabled {
	background: #ccc;
	cursor: not-allowed;
	opacity: 0.7;
}

/* 確認画面全体 */
.c-form__confirm {
	padding: 40px 20px;
}

.c-form__confirm-inner {
	max-width: 720px;
	margin: 0 auto;
}

.c-form__confirm-heading {
	font-size: 15px;
	line-height: 1.8;
	color: #555;
	margin-bottom: 32px;
}

/* 確認データリスト */
.c-form__confirm-dl {
	display: grid;
	grid-template-columns: 200px 1fr;
	border-top: 2px solid #333;
}

.c-form__confirm-dt,
.c-form__confirm-dd {
	padding: 16px 12px;
	border-bottom: 1px solid #e0e0e0;
	font-size: 14px;
	line-height: 1.6;
	display: flex;
	align-items: center;
}

.c-form__confirm-dt {
	background: #fff;
	font-weight: bold;
	color: #333;
}

.c-form__confirm-dd {
	color: #555;
	word-break: break-all;
	white-space: pre-wrap;
}

/* 確認画面ボタン */
.c-form__confirm-btns {
	display: flex;
	justify-content: center;
	gap: 16px;
	margin-top: 40px;
}

.c-form__back-btn {
	padding: 14px 40px;
	font-size: 15px;
	font-weight: bold;
	color: #333;
	background: #e0e0e0;
	border: none;
	border-radius: 9999px;
	cursor: pointer;
	transition: background 0.2s;
}

.c-form__back-btn:hover {
	background: #ccc;
}

/* 確認画面側の送信ボタン */
.c-form__confirm .cf7-submit-btn,
.c-form__confirm .wpcf7-submit {
	padding: 14px 40px !important;
	font-size: 15px;
	font-weight: bold;
	font-family: "Noto Sans JP", Sans-serif !important;
	width: auto !important;
}

/* 確認画面のローディングスピナー */
.c-form__confirm .wpcf7-spinner {
	width: 24px;
	height: 24px;
	flex-shrink: 0;
	margin: 0;
}

/* 確認画面の送信完了メッセージを非表示（/contact/thanks/ へリダイレクトするため） */
.c-form__confirm .wpcf7-response-output,
.wpcf7 form .wpcf7-response-output.wpcf7-mail-sent-ok,
.wpcf7 form .wpcf7-response-output.run-animation {
	display: none !important;
}

/* メール不一致エラー（JSで動的生成） */
.c-confirm-email-error {
	color: #e74c3c;
	font-size: 12px;
	display: block;
	margin-top: 4px;
}

/* レスポンシブ */
@media (max-width: 768px) {
	.elementor-field-group {
		margin-bottom: 20px;
	}

	.c-form__confirm {
		padding: 0;
	}

	.c-form__confirm-dl {
		grid-template-columns: 1fr;
	}

	.c-form__confirm-dt {
		padding-bottom: 4px;
	}

	.c-form__confirm-dd {
		padding-top: 4px;
	}
	.c-form__confirm-btns {
		flex-direction: column;
		align-items: center;
	}

	.c-form__back-btn,
	.c-form__confirm .cf7-submit-btn,
	.c-form__confirm .wpcf7-submit {
		width: 100% !important;
		text-align: center;
		padding-top: 10px !important;
		padding-bottom: 10px !important;
	}
}


/* 渋谷追加 */
.elementor-widget-theme-post-content h3 {
    font-size: 20px;
    margin-top: 30px;
    margin-bottom: 15px;
}
/* PCのみ表示（スマホでは隠す） */
@media (max-width: 767px) {
    .hide-sp {
        display: none !important;
    }
}

/* スマホのみ表示（PCでは隠す） */
@media (min-width: 768px) {
    .hide-pc {
        display: none !important;
    }
}
/* モバイル：767px以下の時に縦並びにする設定 */
@media (max-width: 767px) {
    /* 【追加】テーブルの一番上に線を表示 */
    .cybridge-company-table {
        border-top: 1px solid #d0d0d0 !important;
    }

    /* テーブル全体のレイアウトを解除 */
    .cybridge-company-table, 
    .cybridge-company-table tbody, 
    .cybridge-company-table tr, 
    .cybridge-company-table th, 
    .cybridge-company-table td {
        display: block;
        width: 100% !important;
        box-sizing: border-box;
        font-size: 1rem;
    }

    /* 各行に余白を作る */
    .cybridge-company-table tr {
        padding: 15px 0;
        border-bottom: 1px solid #d0d0d0; /* 下線のみ */
    }

    /* 項目名（th）のスタイル調整 */
    .cybridge-company-table th[scope="row"] {
        padding: 0 0 5px 0;
        font-weight: bold;
        border: none;
        background: none;
        min-width: unset;
    }

    /* 内容（td）のスタイル調整 */
    .cybridge-company-table td {
        padding: 0;
        line-height: 1.6;
        border: none;
    }

    /* 最後の行の下線を消したくない（PCと同じ見た目にしたい）場合は、この設定を削除してもOKです */
    .cybridge-company-table tr:last-child {
        border-bottom: 1px solid #d0d0d0; /* 念のため最後も表示させておくと安全です */
    }
}

/* PC版（変更なし） */
@media (min-width: 768px) {
    /* ... PC用の設定 ... */
}


.elementor-field-type-submit .elementor-button {
  font-family: "Noto Sans JP", Sans-serif !important;
	padding:20px 0!important;
	font-size;1.5em!important;
}

@media (max-width: 1024px) {
    .elementor-17357 .elementor-element.elementor-element-46929b0 .filter .filter-categories {
        width: 98%;
    }
}