
/* page.single
-------------------- */
#page.single main{
	padding-top: 60px;
}
#page.single main > .wrap{
	max-width: 1080px;
	margin-inline: auto;
	padding: 20px;
	padding-bottom: 60px;
	background-color: var(--color-white);
	border-radius: 8px 8px 0 0;
	border: 1px solid #d9d9d9;
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.08);
}

#page.single #doctor{
	margin-top: 80px;
	margin-inline: -20px;
	padding-inline: 20px;
}

#page.single .post-btn{
	margin-top: 60px;
}

.post-meta{
	margin-bottom: 20px;
	text-align: right;
}

.post-content{}

.post-content h2,
.post-content h3,
.post-content h4,
.post-content h5,
.post-content h6,
.post-content p,
.post-content .wp-block-quote,
.post-content .wp-block-table,
.post-content .wp-block-image,
body.post-type-post .block-editor-block-list__layout h2,
body.post-type-post .block-editor-block-list__layout h3,
body.post-type-post .block-editor-block-list__layout h4,
body.post-type-post .block-editor-block-list__layout h5,
body.post-type-post .block-editor-block-list__layout h6,
body.post-type-post .block-editor-block-list__layout p,
body.post-type-post .block-editor-block-list__layout .wp-block-quote,
body.post-type-post .block-editor-block-list__layout .wp-block-table,
body.post-type-post .block-editor-block-list__layout .wp-block-image{
	margin-bottom: 20px;
}

.post-content mark{
	background-color: #ff0;
}

.wp-block-image img{
	box-sizing: border-box;
	margin-inline: auto;
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}



/* toc_list
-------------------- */
.toc_list{
	display: block;
	background: #f8f9fa;
	margin: 3rem 0 0;
	padding: 1.5rem;
	font-size: 93.75%;
	border-radius: .25rem
}
.toc_list ol,.toc_list ul{
	margin-bottom: 0!important
}
.toc_list li{
	display: block
}
.toc_list li a{
	display: inline-block;
}
.toc_list li a::before{
	content: "";
	display: inline-block;
	vertical-align: middle;
	border-left: .25rem solid #e79d90;
	border-top: .25rem solid #fff0;
	border-bottom: .25rem solid #fff0;
	margin: 0 .5rem 0 0
}
.toc_list li li a::before{
	opacity: .5;
	border-left: .25rem solid #e79d90
}



/* post-content
-------------------- */
.post-content h2,body.post-type-post .block-editor-block-list__layout h2{
	margin-top: 100px;
	background: #e79d90;
	color: var(--color-white);
	padding-block: 1rem;
	padding-inline: 1.5rem 1rem;
	position: relative;
	margin-left: -32px;
	margin-right: -20px;
}

.post-content h2::before,body.post-type-post .block-editor-block-list__layout h2::before{
	position: absolute;
	left: 0;
	bottom: -12px;
	content: "";
	display: block;
	border-top: solid 12px #e79d90;
	border-left: solid 12px #fff0;
	position: absolute;
	opacity: .5;
	pointer-events: none
}

.post-content h3,body.post-type-post .block-editor-block-list__layout h3{
	padding: 0 0 .5em;
	border-bottom: 4px solid #e79d90
}

.post-content h4,body.post-type-post .block-editor-block-list__layout h4{
	position: relative;
	padding: 0 0 0 2em
}

.post-content h4::before,body.post-type-post .block-editor-block-list__layout h4::before{
	content: url(/wp-content/uploads/2021/09/logo.svg);
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	height: 1.5em;
	width: 1.5em
}

.post-content h3,.post-content h4,.post-content h5,.post-content h6,body.post-type-post .block-editor-block-list__layout h3,body.post-type-post .block-editor-block-list__layout h4,body.post-type-post .block-editor-block-list__layout h5,body.post-type-post .block-editor-block-list__layout h6{
	margin-top: 50px
}

.post-content h2,.post-content h3,.post-content h4,.post-content h5,.post-content h6,.post-content p,.post-content .wp-block-quote,.post-content .wp-block-table,.post-content .wp-block-image,body.post-type-post .block-editor-block-list__layout h2,body.post-type-post .block-editor-block-list__layout h3,body.post-type-post .block-editor-block-list__layout h4,body.post-type-post .block-editor-block-list__layout h5,body.post-type-post .block-editor-block-list__layout h6,body.post-type-post .block-editor-block-list__layout p,body.post-type-post .block-editor-block-list__layout .wp-block-quote,body.post-type-post .block-editor-block-list__layout .wp-block-table,body.post-type-post .block-editor-block-list__layout .wp-block-image{
	margin-bottom: 20px
}

.post-content .dna_wp_embed,body.post-type-post .block-editor-block-list__layout .dna_wp_embed{
	position: relative;
	margin-top: 72px;
	margin-bottom: 40px
}

.post-content .dna_wp_embed::before,body.post-type-post .block-editor-block-list__layout .dna_wp_embed::before{
	content: "ご参考にしてください";
	font-weight: 700;
	margin: 0;
	line-height: 1.5rem;
	display: block;
	position: absolute;
	top: -2rem;
	left: 0
}

.post-content .dna_list,body.post-type-post .block-editor-block-list__layout .dna_list{
	background-color: #fdf6f5;
	padding: 1.5rem;
	margin: 0 0 20px
}

.post-content .dna_list>ul,.post-content .dna_list>ol,body.post-type-post .block-editor-block-list__layout .dna_list>ul,body.post-type-post .block-editor-block-list__layout .dna_list>ol{
	margin-bottom: .5rem
}

.post-content .wp-block-group,body.post-type-post .block-editor-block-list__layout .wp-block-group{
	margin: 0 0 40px
}

.post-content .wp-block-group.dna_references,body.post-type-post .block-editor-block-list__layout .wp-block-group.dna_references{
	margin-top: 100px
}

.post-content .wp-block-group.dna_references .dna_list,body.post-type-post .block-editor-block-list__layout .wp-block-group.dna_references .dna_list{
	background: none;
	padding: 0;
	margin: 0
}

.post-content .wp-block-group.has-background,body.post-type-post .block-editor-block-list__layout .wp-block-group.has-background{
	margin: 20px 0
}

.post-content .wp-block-group.has-background .dna_list,body.post-type-post .block-editor-block-list__layout .wp-block-group.has-background .dna_list{
	background: none;
	padding: 0;
	margin: 0
}



.post-navigation{}



.post-btn{
	padding-top: 40px;
}



/* single-clinic */
.clinic_head .row{
	display: grid;
	grid-template-columns: 240px auto;
	gap: 20px;
}
.clinic_body{
	margin-top: 20px;
}
.clinic_info .row{
	display: grid;
	grid-template-columns: 20% auto;
	gap: 20px;
}
.clinic_info hr{
	margin-top: 1rem;
	margin-bottom: 1rem;
	border: 0;
	border-top: 1px solid rgb(0 0 0 / .1);
}
.clinic_info a:not(.btn){
	color: var(--color-pink);
}

@media (max-width: 1024px) {
	.clinic_head .row{
		grid-template-columns: 1fr;
	}
	.clinic_head a.btn{
		margin-top: 10px;
		width: 100%;
	}

	.clinic_info .row{
		grid-template-columns: 1fr;
		gap: 5px;
	}
	.clinic_info .row > div:first-child{
		font-weight: 500;
	}
	.clinic_info table.table-simple :where(th, td){
		min-width: 3em;
		width: auto;
		padding: 5px 2px;
	}
	.clinic_info table.table-simple :where(th, td):nth-last-child(8){
		-webkit-writing-mode: vertical-rl;
		writing-mode: vertical-rl;
		min-width: unset;
		width: 1em;
	}

} /* @media (sp)*/



/* form
-------------------- */
#reserve{
	display: block;
	margin-top: 40px;
	padding: 40px 20px;
	border-radius: 8px;
	background-color: var(--color-pink-light2);
	box-shadow: 0 0 4px rgb(0 0 0 / 0.12);
}

#reserve > .wrap{
	max-width: 600px;
}

#reserve fieldset.hidden-fields-container{
	padding: 0;
	border: none;
}

#reserve .valid-msg:not(:empty){
	margin-block: 5px;
	color: var(--color-red);
}

#reserve h3{
	padding-top: 20px;
}

#reserve .clinic_name{
	color: var(--color-pink);
}
#reserve .clinic_name:before{
	content: '\201C';
}
#reserve .clinic_name:after{
	content: '\201D';
}

#reserve .fields{
	padding-block: 20px;
	border-bottom: 1px solid var(--color-gray);
	text-align: left;
}
#reserve .fields.other,
#reserve .fields.privacy,
#reserve .fields.submit{
	border-bottom: 0;
}

#reserve .fields .grid{
	display: grid;
	grid-template-columns: repeat(2, auto);
	align-items: start;
	gap: 8px;
}

#reserve .fields .fz_l{
	font-size: 1.2em;
}
#reserve .fields .fz_s{
	font-size: 0.8em;
}
#reserve .fields .fz_s.red{
	color: var(--color-red);;
	font-weight: 500;

}

#reserve .fields .ico_required{
	margin-left: 3px;
	color: var(--color-red);
}

#reserve .fields .red{
	padding-bottom: 5px;
	font-weight: 500;
}
#reserve .fields > .red{
	padding-bottom: 1.50px;
}

#reserve .labels .title{
	display: block;
	padding-bottom: 10px;
}

#reserve .inputs + .labels{
	margin-top: 10px;
}

#reserve .fields .fz_s:not(.red){
	display: inline-block;
	padding-bottom: 5px;
}


#reserve .fields label[for*='your_address']{
	display: inline-block;
	margin-top: 5px;
}

#reserve .fields .caution:empty{
	display: none;
}
#reserve .fields .caution{
	margin-top: 5px;
	color: #5394e8;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0;
}

#clinic_menu.limited [value^='B検査'],
#clinic_menu.limited [value^='C検査']{
	display: none;
}

#reserve .fields.expected .inputs:has(input[name^='gestational_age']){
	grid-template-columns: repeat(2, auto);
	gap: 5px;
}
#reserve .fields.expected .inputs:has(input[name^='gestational_age']) .grid__item{
	display: grid;
	grid-template-columns: auto 1em;
	align-items: baseline;
	justify-items: center;
	gap: 5px;
}

#reserve .fields.preferred .grid{
	grid-template-columns: 1fr 1fr;
	align-items: end;
}
#reserve .fields.preferred .caution.pref_date.ok{
	color: var(--color-blue);
}
#reserve .fields.preferred .caution.pref_date.ng{
	color: var(--color-red);
}

#reserve .fields.your_teltime .grid{
	grid-template-columns: 1fr 1fr auto 1fr 1fr;
	align-items: center;
}

#reserve .fields.other .labels .fz_s{
	font-weight: 500;
}

#reserve .fields.privacy{
	padding-block: 10px 40px;
	text-align: center;
}
#reserve .fields.privacy .inputs{
	display: grid;
	grid-template-columns: 1fr;
}
#reserve .fields.privacy .inputs + .inputs{
	margin-top: 10px;
}

#reserve .fields.privacy label{
	display: inline-block;
}

#reserve .fields.privacy input[type=checkbox]{
	margin-right: 0.80px;
	vertical-align: middle;
}

#reserve .fields.privacy a{
	display: inline-block;
	margin-block: 10px;
	color: var(--color-black);
	font-weight: 500;
	text-decoration: underline;
}

#reserve .fields.submit{
	padding-top: 0;
	padding-bottom: 30px;
}

#reserve .fields.submit input[type=submit]{
	background-color: var(--color-pink);
	color: var(--color-white);
	cursor: pointer;
}
#reserve .fields.submit input[type=submit]:disabled{
	background-color: var(--color-gray);
	color: var(--color-white);
	cursor: not-allowed;
}

/* wpcf7 */
#reserve .wpcf7 .screen-reader-response ul,
#reserve .fields.privacy input[name^="privacy"] + .wpcf7-list-item-label,
#reserve .fields.privacy input[name^="notice"] + .wpcf7-list-item-label{
	display: none;
}

#reserve .wpcf7:has(form.invalid) .screen-reader-response,
#reserve .wpcf7:has(form.sent) .screen-reader-response,
#reserve .wpcf7:has(form.invalid) .wpcf7-response-output,
#reserve .wpcf7:has(form.sent) .wpcf7-response-output{
	color: var(--color-red);
	text-align-last: left;
}
#reserve .wpcf7:has(form.invalid) .screen-reader-response,
#reserve .wpcf7:has(form.sent) .screen-reader-response{
	padding-top: 20px;
}
#reserve .wpcf7:has(form.invalid) .wpcf7-response-output,
#reserve .wpcf7:has(form.sent) .wpcf7-response-output{
	padding-bottom: 20px;
}
#reserve .wpcf7:has(form.sent) .screen-reader-response{
	color: #19a11e;
}
#reserve .wpcf7:has(form.sent) .wpcf7-response-output{
	color: #19a11e;
}

#reserve .wpcf7 [aria-invalid="true"]{
	outline: 2px solid var(--color-pink);
	background-color: var(--color-white) !important;
}

#reserve .wpcf7-turnstile{
	margin-inline: -20px;
}



/* related_post
-------------------- */
.related_post{}

.related_post_title{
	margin-top: 20px;
	padding: 10px;
	color: var(--color-pink);
	font-size: var(--fz-24);
	text-align: center;
}

.related_post .archive-list{
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	gap: 10px;
}
.related_post .archive-list .excerpt{
	display: none;
}

@media (max-width: 1024px) {

} /* @media (sp)*/



