/* 自動<p>タグの非表示 */
p:empty{display: none;}
/* 自動<p>タグの非表示 */


.h1_title{
	width: 100%;
	margin: 0 auto;
}
.h1_title h1{
	display: inline-block;
	width: 600px;
    margin-left: calc( 50% - 300px);
	color: #fff;
}
.pc{
	display: block;
}
.sp{
	display: none;
}
@media (max-width: 1024px){
.h1_title h1 {
    width: 100%;
    margin-left: calc( 50% - 48%);
}
.pc{
	display: none;
}
.sp{
	display: block;
}
}
.col1 .keni-section_wrap {
    max-width: 600px!important;
}
.keni-main_inner {
    padding: 0px 0!important;
}
.keni-container,.fn-keni-container{
	padding-bottom: 0!important;
}
/* pc時の全体幅 */
.keni-main .keni-section_wrap {
    padding: 0px 0px!important;
	margin: 0;
}
img{
	width: 100%;
}
.section_inner{
	width: 90%;
	margin: 0 auto;
}


/*最下部隙間調整*/
.behind-article-area {
    margin-top: 0!important;
}

.keni-footer_wrap {
	padding-top: 40px;
}


/*パンくずリスト*/
.keni-breadcrumb-list_wrap {
	display: none!important;
}

/*Q&Aの三角を消す*/
summary {
  display: block;
  list-style: none;
}
/* 一部ブラウザで消えなかった場合は以下も追記 */
summary::-webkit-details-marker {
  display:none;
}


@media (max-width: 600px) {
	/*喜びの声集合*/
	.voice-set-inner img {
		 height: 100px;
	}
	
	.voice-set-inner4 img {
		 height: 70px;
	}

	.voice-set-text p {
		font-size: 2rem!important;
		line-height: 1.3;
		margin: 1rem 0!important;
	}
}

/*LP(600px幅)用フォントサイズ指定-2025-02*/
h2 {
	font-size: clamp(2.8rem, 9vw, 3.6rem);
	line-height: 1.2;
	min-height: 0;
	padding: 0;
	background: none!important;
	color: #444;
}

h3 {
	font-size: clamp(2.4rem, 7vw, 2.8rem);
	min-height: 0;
	padding: 0;
	border: none;
}

h3:not(.title_no-style) {
	color: #444;
}

.txt__large-l {
	font-size: clamp(2.3rem, 7vw, 3.5rem)!important;
	min-height: 0;
	line-height: 1.3;
}

.txt__large-m {
	font-size: clamp(2.3rem, 4.8vw, 2.9rem)!important;
	min-height: 0;
	line-height: 1.3;
}

.txt__large-s {
	font-size: clamp(2rem, 3.4vw, 2.6rem)!important;
	min-height: 0;
	line-height: 1.3;
}

.txt__small-m {
	font-size: clamp(1.2rem, 1.1vw, 1.4rem)!important;
	min-height: 0;
	line-height: 1.3;
}

.txt__small-s {
	font-size: clamp(1rem, 1.1vw, 1.1rem)!important;
	min-height: 0;
	line-height: 1.3;
}

/*inner 余白*/
.inner { 
	padding: 0 3%;
} 

@media (max-width: 600px) {
	.inner {
		padding: 0 5%;
	}
}



/* ◆◆◆ cf7 ◆◆◆ */

/* --- テンプレート別カラー定義 --- */
/* デフォルト（既存テンプレート） */
.contact__form {
	--cf7-color: brown;
}

/* D8（グリーン系） */
.contact__form-d8 {
	--cf7-color: #2CB7B0;
}

/* D11（ピンク系） */
.contact__form-d11 {
	--cf7-color: #E654A8;
}
/* D11-2（オレンジ系） */
.contact__form-d11-2 {
	--cf7-color: #DF693F;
}
/* D15（ピンク系） */
.contact__form-d15 {
	--cf7-color: #ED828A;
}

/* D16（スモークピンク系）*/
.contact__form-d16 {
	--cf7-color: #e66083;
}


/* --- レイアウト --- */
.contact__form {
	padding: 1em 10%;
	width: 100%;
}

/* 本文の p に効く margin を打ち消す */
.contact__form p {
	margin-bottom: 0 !important;
}

.contact__form-item {
	margin-bottom: 2em;
	width: 100%;
}

.contact__form-desired {
	padding-bottom: 1em;
}

.contact__form-desired span {
	font-size: 80%;
}

.contact__form-flex {
	display: flex;
	gap: 1.5em;
}

.contact__form-flex .contact__form-item {
	display: inline-block;
}

/* --- ラベル（必須・任意） --- */
.contact__label-required,
.contact__label-any {
	font-size: 75%;
	color: white;
	padding: 3px 6px 2px;
	border-radius: 1rem;
	margin-right: 0.5em;
}

.contact__label-required {
	background: var(--cf7-color);
}

.contact__label-any {
	background: var(--cf7-color);
	opacity: 0.5;
}

/* ◆◆◆ 予約カレンダー：選べない日をグレー背景に ◆◆◆ */
.flatpickr-calendar .flatpickr-day {
	border-radius: 4px;
}

.flatpickr-calendar .flatpickr-day.flatpickr-disabled,
.flatpickr-calendar .flatpickr-day.flatpickr-disabled:hover {
	background: #ececec;
	border-color: transparent;
	box-shadow: inset 0 0 0 2px #fff;
	color: #aaa;
	cursor: not-allowed;
}

.flatpickr-calendar .flatpickr-day.prevMonthDay,
.flatpickr-calendar .flatpickr-day.nextMonthDay {
	color: #ccc;
}

.flatpickr-calendar .flatpickr-day:not(.flatpickr-disabled):not(.prevMonthDay):not(.nextMonthDay) {
	color: #333;
	font-weight: bold;
}

/* --- 同意欄・個人情報欄（agreement ブロック） --- */

/* 同意欄と個人情報欄をまとめるラッパー */
.contact__form-agreement {
	margin: 0 0 1em;
	font-size: 0.9rem;
	line-height: 1.6;
}

/* 内側の p の余白リセット（.contact__form p の !important に対応） */
.contact__form-agreement p {
	margin-bottom: 0.5em !important;
}

.keni-main .keni-main_inner .contact__form-agreement p,
.keni-main .keni-main_inner .contact__form-agreement li {
	font-size: 1.2rem !important;
}

ol.contact__personal-info-list li p {
	margin-bottom: 0!important;
}

/* 同意欄のリード文だけ少し大きく */
.keni-main .keni-main_inner .contact__form-agreement .contact__consent-lead {
	font-size: 1.8rem !important;
}

/* 同意リスト（ul） */
.contact__consent-list {
	padding-left: 1.5em;
	margin: 0 0 1em;
}

.contact__consent-list li {
	margin-bottom: 0.3em;
}

/* 個人情報欄（スクロール枠） */
.contact__personal-info {
	padding: 1em;
	border: solid 2px #e9e9e9;
	border-radius: 0.5rem;
	overflow-y: auto;
	text-align: left;
	height: 10rem;
}

/* 個人情報欄内の段落 */
.contact__personal-info p {
	margin-bottom: 0.8em !important;
}

/* 個人情報欄内の番号リスト */
.contact__personal-info-list {
	padding-left: 1.5em;
	margin: 0 0 0.8em;
}

.contact__personal-info-list li {
	margin-bottom: 0.2em;
}

/* 個人情報欄の最後の署名（院長名） */
.contact__personal-info-sign {
	margin-top: 1em !important;
	text-align: right;
}

/* --- 送信ボタン --- */
.wpcf7-submit {
	background: var(--cf7-color);
	color: white;
	border-radius: 0.5rem;
	padding: 1em 2em;
	margin-top: 2em;
	transition: 0.6s;
}

.wpcf7-submit:hover {
	opacity: 0.7;
	box-shadow: 2px 2px 2px gray;
}

/* --- 入力欄 --- */
/* チェックボックスは対象外（横長の影が出るため） */

textarea,
input:where(:not([type="checkbox"])) {
	background: white;
	width: 100%;
	box-shadow: 0 0 2px #c8c2c6;
}

.wpcf7-list-item-label {
	font-size: clamp(1rem, 1.8vw, 1.4rem);
}

.contact__form-item textarea#comment {
	min-height: 8em;
	height: 8em;
}

/* --- 同意チェック --- */
.contact__consent-check input {
	width: 1.2em;
	height: 1.2em;
	margin: 0;
	accent-color: var(--cf7-color);
}

/* チェックボックスと文字の中央揃え */
.contact__consent-check label {
	display: flex;
	align-items: center;
	gap: 0.5em;
}

.contact__consent-check {
	display: flex;
	justify-content: center;
	padding-right: 4%;
	margin-block: 0.8em;
}

/* --- Cloudflare Turnstile --- */
.wpcf7-turnstile {
	display: flex;
	justify-content: center;
}
/* ◆◆◆ /cf7 ◆◆◆ */

/*サンクスページ*/
.lp-thanks {
	padding: 3em 2em 14em;
}
.lp-thanks-name {
	padding-top: 1.6em;
}




@media (max-width: 600px) {
	/*喜びの声集合*/
	.voice-set-inner img {
		 height: 100px;
	}

	.voice-set-inner4 img {
		 height: 70px;
	}

	.voice-set-text p {
		font-size: 2rem!important;
		line-height: 1.3;
		margin: 1rem 0!important;
	}


	/* ◆◆◆ cf7 ◆◆◆ */
	.contact__form {
		padding: 2em 5%;
	}

	.contact__form-item {
		margin-bottom: 1em;
	}

	.contact__form-agreement {
		margin: 2em 0;
	}

	.wpcf7-submit {
		margin-top: 2em;
	}
	/* ◆◆◆ /cf7 ◆◆◆ */
}
