@charset "utf-8";

/*
Theme Name: Apple tree Children's Clinic
Theme URI: https://apple-tree-pediatrics.gifu.jp/
Author: mama-co
Description: Apple tree Children's Clinic web site.
Version: 20250401
*/

/* === Index ==========

1. Common
2. Header
3. Footer
4. Front Page
5. Archive
6. Page & Single Common
7. Page
	7-0. Page common
	7-1. Page Profile
	7-2. Page Medical Info
	7-3. Page Facilities
	7-4. Recruit Form
8. Single
	8-0. Single Common
9. Sidebar
	9-2. Aside Common
	9-1. Aside Infomation & News
	9-2. Aside Category
	9-3. Aside Tagcloud
	9-4. Month Archiv
10. Archive

==================== */


/* ====================

    1. Common

==================== */

body { background: url("images/body_bg_pc.jpg") center top no-repeat; }

.innerBox, header {
	width: 980px;
	margin: 0 auto;
}
@media screen and (max-width: 667px) {
	.innerBox, header { width: 94%; }
}

/* Layout - Colum Half */
.columnHalf {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
@media screen and (max-width: 667px) {
	.columnHalf { flex-direction: column; }
}

.columnHalf section, .columnHalf div { width: 470px; }
@media screen and (max-width: 667px) {
	.columnHalf section, .columnHalf div {
		width: 94%;
		margin: 0 auto;
	}
}


/* Font */
h1, h2, h3, h4, h5, h6, p, li, th, td, dt, dd {
	font-family: "Hiragino Kaku Gothic ProN", Meiryo, "Hiragino Sans", "sans-serif";
}

p, li, th, td, dt, dd {
	color: #444;
	font-size: 1.6rem;
}
@media screen and (max-width: 667px) {
	p, li, th, td, dt, dd { font-size: 1.4rem; }
}

li {
	list-style: none;
	line-height: 1.5;
}

p { line-height: 1.7; }

.f12 { font-size: 1.2rem; }
.f14 { font-size: 1.4rem; }
.f16 { font-size: 1.6rem; }
.f18 { font-size: 1.8rem; }
.f20 { font-size: 2.0rem; }
.f24 { font-size: 2.4rem; }
@media screen and (max-width: 667px) {
	.f12 { font-size: 1rem; }
	.f14 { font-size: 1.2rem; }
	.f16 { font-size: 1.4rem; }
	.f18 { font-size: 1.6rem; }
	.f20 { font-size: 1.8rem; }
	.f24 { font-size: 2rem; }
}

.centering { text-align: center; }
.txtRight { text-align: right; }

.red { color: #c00; }
.sky { color: #7fcef4; }

.marker { background:linear-gradient(transparent 60%, #ffe6b0 60%); }

.yelBg { background-color: rgb(255 252 219 / 0.3); }
.whtBg { background-color: #fff; }

a, a:visited {
	color: #895d4c;
	text-decoration: none;
}
a:hover, .menu a:hover, .pagenavi a:hover { color: #84c24c; }

/* Margin */
.mrgBtm60 { margin-bottom: 6rem; }


/* Button */
a.bluBtn {
	display: block;
	padding: 0.8rem;
	color: #fff;
	text-align: center;
	background: url("images/btn_arrow.png") 94% center no-repeat;
	background-color: #e94f55;
	border: 1px solid #e94f55;
	border-radius: 20px;
}

.bluBtn:hover {
	color: #e94f55;
	background-color: rgb(255 255 255 / 0.8);
}

.btnGrn {
	display: inline-block;
	margin: 1rem 0 0;
	padding: 0.8rem 4rem;
	color: #fff;
	text-align: center;
	background: url("images/btn_arrow.png") 94% center no-repeat;
	background-color: #84c24c;
	border: 1px solid #84c24c;
	border-radius: 20px;
}

.btnGrn:hover {
	color: #84c24c;
	background-color: rgb(255 255 255 / 0.8);
}

.shadowBn img { filter: drop-shadow(5px 5px 5px rgb(0 0 0 / 0.1)); }
.shadowBn img:hover {
	filter: none;
	transform: translateY(3px);
}

.sp { display: none; }
@media screen and (max-width: 667px) {
	.sp { display: block; }
	
	img {
		width: 100%;
		height: auto;
	}
}

/* Image layout */
.alignleft {
	float: left;
	margin: 0 4rem 4rem 0;
}

.aligncenter { margin: 0 auto 4rem; }

.alignright {
	float: right;
	margin: 0 0 4rem 4rem;
}


/* Table */
table {
	border-top: 1px solid #84c24c;
	border-left: 1px solid #84c24c;
}

th, td {
	padding: 1rem;
	border-bottom: 1px solid #84c24c;
	border-right: 1px solid #84c24c;
}

th {
	font-size: 2.2rem;
	font-weight: normal;
	text-align: center;
}
@media screen and (max-width: 667px) {
	th { font-size: 1.8rem; }
}

tr:first-child th { background-color: #f6fbf2; }
tr:nth-child(odd) { background-color: #fffcf5; }



/* ====================

    2. Header

==================== */

header {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 3rem 0;
}

header h1 {
	width: 460px;
	margin-bottom: 3rem;
}

/* Header Info */
.headerInfo {
	display: flex;
	justify-content: flex-end;
	margin-bottom: 3rem;
}
@media screen and (max-width: 667px) {
	.headerInfo {
		position: fixed;
		bottom: 0;
		margin: 0 auto 3rem;
		width: 100%;
		z-index: 100;
	}
}

.headerInfo li a {
	color: #fff;
	font-size: 1.2rem;
}

.web {
	width: 100px;
	margin: 0 1rem 0 0;
	padding: 1rem 0;
	text-align: center;
	background-color: #84C24C;
}
@media screen and (max-width: 667px) {
	.web { padding: 1rem 2rem; }
}

.web img {
	display: block;
	margin: 0 auto 0.5rem;
}
@media screen and (max-width: 667px) {
	.web img { width: 60%; }
}

.tel {
	padding: 1.5rem 1.5rem 0rem;
	text-align: center;
	background-color: #E94F55;
}
@media screen and (max-width: 667px) {
	.tel { padding: 1rem 1.5rem; }
}

.tel strong {
	display: block;
	margin: 0 auto;
	font-size: 2.6rem;
	line-height: 1.3;
}

a[href*="tel:"] {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
}


/* Navi Menu */
.menu { width: 100%; }

.menu > ul { display: flex; }
@media screen and (max-width: 667px) {
	.menu > ul { flex-direction: column; }
	
	.toggle { font-size: 1.4rem; }
}

.menu > ul > li {
	width: 150px;
	border-right: 1px dashed #ddd;
}
.menu > ul > li:first-child {
	width: 80px;
	border-left: 1px dashed #ddd;
}
@media screen and (max-width: 667px) {
	.menu > ul > li, .menu > ul > li:first-child {
		width: 100%;
		border-right: none;
		border-left: none;
		border-bottom: 1px dashed #ddd;
	}
}

.menu > ul > li > a {
	display: block;
	padding: 5rem 0 1rem;
	color: #666;
	font-size: 1.4rem;
	text-align: center;
	background-position: center 10px;
	background-repeat: no-repeat;
}
@media screen and (max-width: 667px) {
	.menu > ul > li > a {
		padding: 1rem 0 1rem 8rem;
		text-align: left;
		background-position: 20px 10px;
	}
}

.menu > ul > li:nth-child(1) > a { background-image: url("images/nav_home_off.png"); }
.menu > ul > li:nth-child(2) > a { background-image: url("images/nav_first_off.png"); }
.menu > ul > li:nth-child(3) > a { background-image: url("images/nav_medicalinfo_off.png"); }
.menu > ul > li:nth-child(4) > a { background-image: url("images/nav_overview_off.png"); }
.menu > ul > li:nth-child(5) > a { background-image: url("images/nav_doctor_off.png"); }
.menu > ul > li:nth-child(6) > a { background-image: url("images/nav_blog_off.png"); }
.menu > ul > li:nth-child(7) > a { background-image: url("images/nav_access_off.png"); }

.menu li ul {
	display: none;
	position: absolute;
	/*top: 100%;
	left: 0;*/
	width: 150px;
	z-index: 1000;
}
@media screen and (max-width: 667px) {
	.menu li ul {
		position: relative;
		width: 100%;
	}
}

.menu li:hover ul { display: block; }

.menu li li {
	text-align: center;
	border-bottom: 1px dashed #fff;
}

.menu li li a {
	display: block;
	padding: 1rem 0;
	color: #fff;
	background-color: rgb(47 171 230 / 0.8);
}

.menu li li a:hover {
	background-color: rgb(47 171 230 / 0.2);
}




/* ====================

    3. Footer

==================== */

footer { background-color: rgb(255 194 60 / 0.05); }

/* Access */
#access {
	padding: 6rem 0 13rem;
	background: url("images/footer_bg_pc.png") center bottom no-repeat;
}
@media screen and (max-width: 667px) {
	#access { padding: 5rem 0 13rem; }
	#access div div:first-child { margin-bottom: 1rem; }
	
	.map {
		position: relative;
		width: 100%;
		height: 0;
		padding-top: 75%;
	}

	.map iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
}

#access h3 { margin-bottom: 1rem; }


/* Footer */
.footerInfo {
	padding: 4rem 0;
	background-color: #895d4c;
}
@media screen and (max-width: 667px) {
	.footerInfo { padding: 3rem 0 0; }
}

.footerInfo ul {
	display: flex;
	justify-content: center;
}
@media screen and (max-width: 667px) {
	.footerInfo ul {
		width: 94%;
		flex-wrap: wrap;
		justify-content: flex-start;
		margin: 0 auto;
	}
	
	.footerInfo li {
		width: 50%;
		margin: 0 0 1rem;
		text-align: center;
	}
}

.footerInfo li, .footerInfo a, .footerInfo p {
	color: #fff;
	font-size: 1.4rem;
}

.footerInfo li { padding-right: 1em; }
@media screen and (max-width: 667px) {
	.footerInfo li { padding-right: 0; }
}

.footerInfo li:after {
	content: "／";
	padding-left: 1em;
}
@media screen and (max-width: 667px) {
	.footerInfo li:after {
		content: "";
		padding-left: 0;
	}
}

.footerInfo li:last-child { padding-right: 0; }

.footerInfo li:last-child:after {
	content: "";
	padding-left: 0;
}

.footerInfo p { text-align: center; }




/* ====================

    4. Front Page

==================== */

/* Common */
.front h2, #access h2, #recruitFormPage main h1 {
	margin-bottom: 5.4rem;
	font-size: 3.2rem;
	font-weight: normal;
	text-align: center;
	position: relative;
}
@media screen and (max-width: 667px) {
	.front h2, #access h2, #recruitFormPage main h1 {
		margin-bottom: 4rem;
		font-size: 2.4rem;
	}
}

.front h2:before, #access h2:before, #recruitFormPage main h1:before {
	position: absolute;
	bottom: -14px;
	left: calc(50% - 25px);
	width: 50px;
	height: 3px;
	content: '';
	background: #ffc23c;
}

.topInfo h2:before, .topConsultation h2:before, .topTrouble h2:before {
	height: 0;
}

.front section { padding: 8rem 0; }
@media screen and (max-width: 667px) {
	.front section { padding: 4rem 0; }
}


/* Front Page Section */

.frontBg { background: url("images/body_bg_pc.jpg") center bottom no-repeat; }

.front h1 {
	margin: 0 auto 4rem;
	text-align: center;
}

.front .topInfo, .front .topConsultation {
	margin-bottom: 5.8rem;
	padding: 4rem;
	background-color: rgb(255 194 60 / 0.07);
	border-radius: 20px;
}
@media screen and (max-width: 667px) {
	.front .topInfo, .front .topConsultation {
		margin-bottom: 4rem;
		padding: 4%;
	}
}

.topInfo h2, .topConsultation h2 {
	margin-bottom: 3.2rem;
	padding: 1rem 0 1rem 2rem;
	font-size: 2.8rem;
	font-weight: normal;
	text-align: left;
	border-left: 3px solid #ffc23c;
}
@media screen and (max-width: 667px) {
	.topInfo h2, .topConsultation h2 {
		margin-bottom: 3rem;
		padding: 0.8rem 0 0.8rem 1.8rem;
		font-size: 2.4rem;
	}
}

.topInfo dt {
	float: left;
	width: 130px;
	padding: 1rem 0;
}
@media screen and (max-width: 667px) {
	.topInfo dt {
		float: none;
		width: 100%;
	}
}

.topInfo dd {
	padding: 1rem 0 1rem 13rem;
	border-bottom: 1px solid #ebdfd1;
}
@media screen and (max-width: 667px) {
	.topInfo dd {
		padding: 0 0 1rem;
	}
}

.topConsultation table {
	margin-bottom: 1rem;
}

.topConsultation th, .topConsultation td {
	font-size: 1.6rem;
}

.topConsultation th {
	padding: 1rem;
	font-weight: normal;
}

.topConsultation tr:first-child th {
	text-align: center;
	background-color: #fffcdb;
}

.topConsultation td {
	text-align: center;
	background-color: #fff;
}

.topConsultation .f12 { display: block; }

/* Front - Trouble */
.topTrouble {
	padding: 8rem 0 5.2rem!important;
	background: url("images/top_trouble_bg.jpg") center top no-repeat;
}
@media screen and (max-width: 667px) {
	.topTrouble {

	}
}

.topTrouble ul {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	/* margin-bottom: 3rem; */
}
@media screen and (max-width: 667px) {
	.topTrouble ul {
		flex-direction: column;
		margin: 0 5%;
	}
}

.topTrouble li {
	margin: 0 0 3rem;
	padding: 0 0 2rem;
	font-size: 2rem;
	text-align: center;
	background-position:  center bottom;
}
@media screen and (max-width: 667px) {
	.topTrouble li { width: 100%; }
	.topTrouble li:nth-child(odd) {
		text-align: left;
		background-position: left bottom;
	}
	.topTrouble li:nth-child(even) {
		text-align: right;
		background-position: right bottom;
	}
}

.topTrouble li:nth-child(1) { margin-left: 10rem; }
.topTrouble li:nth-child(4) { margin-left: 17rem; }
.topTrouble li:nth-child(2), .topTrouble li:nth-child(3), .topTrouble li:nth-child(5), .topTrouble li:nth-child(6) { margin-left: 12rem; }
@media screen and (max-width: 667px) {
	.topTrouble li:nth-child(1), .topTrouble li:nth-child(2), .topTrouble li:nth-child(3),
	.topTrouble li:nth-child(4), .topTrouble li:nth-child(5), .topTrouble li:nth-child(6) {
		margin: 0;
	}
}

/* .topTrouble li:nth-child(1), .topTrouble li:nth-child(4) { background-image: url("images/trouble_line135.png"); } */
.topTrouble li:nth-child(1), .topTrouble li:nth-child(2), .topTrouble li:nth-child(6) { background-image: url("images/trouble_line156.png"); }
.topTrouble li:nth-child(3), .topTrouble li:nth-child(4), .topTrouble li:nth-child(5) { background-image: url("images/trouble_line200.png"); }
@media screen and (max-width: 667px) {
	.topTrouble li:nth-child(1), .topTrouble li:nth-child(2), .topTrouble li:nth-child(6) { background-image: url("images/trouble_line135.png"); }
	.topTrouble li:nth-child(3), .topTrouble li:nth-child(4) { background-image: url("images/trouble_line156.png"); }
}

.topTrouble figure {
	margin: 0 auto 3rem;
	text-align: center;
}
@media screen and (max-width: 667px) {
	.topTrouble figure { width: 80%; }
}

/* Front - Benefit */
.front .topBenefit {
	padding: 14rem 0 2.6rem;
	background: url("images/features_bg_pc.jpg") center top no-repeat;
	background-size: cover;
}

.topBenefit ul { padding: 4rem; }
@media screen and (max-width: 667px) {
	.topBenefit ul { padding: 0; }
}

.topBenefit li {
	display: flex;
	justify-content: space-between;
	margin-bottom: 6rem;
	padding: 4rem;
	background-color: rgb(255 255 255 / 0.8);
	border-radius: 20px;
	position: relative;
}
@media screen and (max-width: 667px) {
	.topBenefit li {
		width: 100%;
		margin-bottom: 3rem;
		position: static;
	}
}

.topBenefit li:nth-child(odd) { flex-direction: row-reverse; }
@media screen and (max-width: 667px) {
	.topBenefit li, .topBenefit li:nth-child(odd) { flex-direction: column-reverse; }
}

.topBenefit li:last-child { margin-bottom: 0; }

.topBenefit li div { width: 600px; }
@media screen and (max-width: 667px) {
	.topBenefit li div { width: 100%; }
}

.topBenefit h3 {
	margin: 0 auto 1rem;
	color: #84c24c;
	font-size: 2.4rem;
}
@media screen and (max-width: 667px) {
	.topBenefit h3 { font-size: 2rem; }
}

.topBenefit p {
}

.topBenefit li figure {
	position: absolute;
	top: -3rem;
	filter: drop-shadow(5px 5px 20px #eee);
}
@media screen and (max-width: 667px) {
	.topBenefit li figure {
		position: static;
		width: 80%;
		margin: 0 auto 1rem;
	}
}

.topBenefit li:nth-child(odd) figure { left: -4rem; }
.topBenefit li:nth-child(even) figure { right: -4rem; }
@media screen and (max-width: 667px) {
	.topBenefit li:nth-child(odd) figure { left: 0; }
	.topBenefit li:nth-child(even) figure { right: 0; }
}


/* Front - Symptoms */
.topSymptoms { background: url("images/top_medical_bg_pc.jpg") center top no-repeat; }

.topSymptoms ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.topSymptoms li {
	width: 470px;
	margin-bottom: 4rem;
	border-radius: 20px;
	background-color: #fff;
}
@media screen and (max-width: 667px) {
	.topSymptoms li {
		width: 100%;
		margin-bottom: 3rem;
	}
}

.topSymptoms li a {
	display: flex;
	flex-direction: column;
	padding: 3rem;
	color: #444;
}
@media screen and (max-width: 667px) {
	.topSymptoms li a {
		padding: 5%;
	}
}

.topSymptoms h3 {
	order: 2;
	margin: 1rem auto;
	font-size: 2.4rem;
	font-weight: normal;
	text-align: center;
}
@media screen and (max-width: 667px) {
	.topSymptoms h3 { font-size: 2rem; }
}

.topSymptoms p { order: 3; }

.topSymptoms figure { order: 1; }


/* Front - Introduction */
.topIntroduction {  background: url("images/top_profile_bg_pc.jpg") right bottom no-repeat; }

.topIntroduction > div {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
}
@media screen and (max-width: 667px) {
	.topIntroduction > div { flex-direction: column; }
}

.topIntroduction h3 {
	margin: 0 0 2rem;
	font-size: 2.8rem;
}
@media screen and (max-width: 667px) {
	.topIntroduction h3 { font-size: 2.4rem; }
}

.topIntroduction ul, .topIntroduction p { margin-bottom: 2rem; }

.topIntroduction li {
	padding-left: 1em;
	text-indent: -1em;
}

.topIntroduction li:before {
	content: "●";
}

.topIntroduction figure {
	margin-right: 4rem;
}

.topIntroduction .bluBtn {
	width: 370px;
	margin: 0 auto;
}




/* ====================

    6. Page & Single Common

==================== */

.column2 {
	display: flex;
	justify-content: space-between;
}
@media screen and (max-width: 667px) {
	.column2 { flex-direction: column; }
}

.page p, .single .post p {
	margin-bottom: 2.6rem;
	line-height: 1.7;
}
@media screen and (max-width: 667px) {
	.page p, .single .post p { margin-bottom: 2.4rem; }
}



/* ====================

    7. Page

==================== */

/* 7-0. Page Common --- */

/* .page > section { padding: 8rem 0 5.4rem; }
@media screen and (max-width: 667px) {
	.page > section { padding: 3rem 0 6rem; }
} */

.page .innerBox > section { margin-bottom: 10rem; }
@media screen and (max-width: 667px) {
	.page .innerBox > section { margin-bottom: 6rem; }
}

.page section section { margin-top: 6rem; }


.page h1 {
	margin: 0 0 8rem;
	padding: 7rem 0;
	color: #67483b;
	font-size: 4rem;
	font-weight: normal;
	text-align: center;
	background: url("images/page_h1_bg_pc.jpg") center top no-repeat;
}
@media screen and (max-width: 667px) {
	.page h1 {
		margin: 0 0 6rem;
		padding: 3rem 0;
		font-size: 2.8rem;
		background-size: cover;
	}
}

.page h2, .page .prof h3 {
	margin-bottom: 6.8rem;
	color: #895d4c;
	font-size: 3.2rem;
	font-weight: normal;
	text-align: center;
  	position: relative;
}
@media screen and (max-width: 667px) {
	.page h2, .page .prof h3 {
		margin-bottom: 4.8rem;
		font-size: 2.4rem;
	}
}

.page .columnHalf > h2 {
	width: 100%;
}

.page h2:before, .page .prof h3:before {
	content: '';
	position: absolute;
	bottom: -12px;
	display: inline-block;
	width: 50px;
	height: 3px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	background-color: #ffc23c;
	border-radius: 2px;
}

.page h3 {
	margin: 0 0 4rem;
	padding: 1rem 0 1rem 3rem;
	font-size: 2.8rem;
	font-weight: normal;
	border-left: 3px solid #84c24c;
}
@media screen and (max-width: 667px) {
	.page h3 {
		padding: 1rem 0 1rem 2rem;
		font-size: 2rem;
	}
}

.page h4 {
	margin: 4rem 0 2rem;
	padding: 0 0 0.5rem;
	font-size: 2rem;
	font-weight: normal;
	border-bottom: 1px solid #d3edfb;
	position: relative;
}

.page h4:after {
	position: absolute;
	content: "";
	display: block;
	border-bottom: 1px solid #e94f55;
	bottom: -1px;
	width: 20%;
}


/* - Base UL OL - */
.page ul {
	width: 100%;
	margin: 0 0 3rem;
}

.page ul.yelLi {
	padding: 3rem;
	background-color: rgb(255 194 60 / 0.07);
	border-radius: 20px;
}

.page li:before {
	content: "●";
	padding-right: 0.8rem;
	color: #ffc23c;
	font-size: 0.8rem;
	position: relative;
	top: -3px;
}

.page ol li:before { display: none; }

.page li {
	margin-bottom: 1rem;
	padding-left: 1em;
	text-indent: -1em;
}

.page li:last-child { margin-bottom: 0; }

.page .column2 figure { margin-left: 4rem; }
@media screen and (max-width: 667px) {
	.page .column2 figure { margin: 0 auto 3rem; }
}


/* 7-1. Page - First --- */
.reserveTbl th, .reserveTbl td {
	width: 278px;
	font-size: 1.6rem;
}
@media screen and (max-width: 667px) {
	.reserveTbl { writing-mode: vertical-lr; }
	.reserveTbl th, .reserveTbl td {
		writing-mode: horizontal-tb;
		width: 30%;
		font-size: 1.4rem;
	}
}

.reserveTbl th:nth-child(1) { width: 140px; }
@media screen and (max-width: 667px) {
	.reserveTbl th:nth-child(1) { width: 12%; }
}

.reserveTbl td { vertical-align: top; }

.reserveTbl ul { margin: 0; }
.reserveTbl p:last-child { margin-bottom: 0; }

.visitFlow > li {
	display: flex;
	justify-content: space-between;
	padding: 0 0 4rem;
	text-indent: 0;
	background: url("images/flow_li_bg_l_pc.png") center bottom no-repeat;
}
@media screen and (max-width: 667px) {
	.visitFlow > li {
		flex-direction: column;
		padding: 0 0 5rem;
	}
}

.visitFlow > li.bgShort { background: url("images/flow_li_bg_s_pc.png") center bottom no-repeat; }

.visitFlow li h3 {
	padding: 1.5rem 0 1.5rem 9rem;
	color: #e94f55;
	font-size: 2rem;
	background-position: 0 0;
	background-repeat: no-repeat;
	border: none;
}
@media screen and (max-width: 667px) {
	.visitFlow li h3 { margin: 0 0 1rem; }
}

.visitFlow li:nth-child(1) h3 { background-image: url("images/flow_ic_01.png"); }
.visitFlow li:nth-child(2) h3 { background-image: url("images/flow_ic_02.png"); }
.visitFlow li:nth-child(3) h3 { background-image: url("images/flow_ic_03.png"); }
.visitFlow li:nth-child(4) h3 { background-image: url("images/flow_ic_04.png"); }
.visitFlow li:nth-child(5) h3 { background-image: url("images/flow_ic_05.png"); }


.visitFlow li ul {
	width: 680px;
	margin-top: 1rem;
}
@media screen and (max-width: 667px) {
	.visitFlow li ul {
		width: 90%;
		margin: 0 auto;
	}
}

.visitFlow li li:before {
	display: inline-block;
	content: "●";
	color: #ffc23c;
}

.visitFlow li li {
	padding: 0;
	text-indent: -0.5em;
}




/* 7-1. Page Profile --- */
.overlap {
	display: flex;
	flex-direction: row-reverse;
}
@media screen and (max-width: 667px) {
	.overlap { flex-direction: column; }
}

.overlap .txtBox {
	margin: 6rem 0 8rem -8rem;
	padding: 8rem 12rem 5.4rem;
	background-color: #fff;
}
@media screen and (max-width: 667px) {
	.overlap .txtBox {
		margin: 3rem auto 0;
		padding: 3rem;
	}
}

.overlap figure { z-index: 1000; }
@media screen and (max-width: 667px) {
	.overlap figure {
		width: 60%;
		margin: -3rem auto 6rem;
	}
}

.prof h2 {
	display: block;
	margin-bottom: 2.4rem;
	padding-bottom: 1rem;
	text-align: left;
	border-bottom: 1px solid #7fcef4;
}

.page .prof h2:before {/* Cancel */
	display: none;
}

.page .prof h3 {/* Cancel */
	padding: 0;
	border-left: none;
}

.biography {
	margin-bottom: 8rem;
	padding: 8rem;
}
@media screen and (max-width: 667px) {
	.biography {
		margin-bottom: 6rem;
		padding: 3rem;
	}
}

.biography ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 0 5.5rem 2rem;
}
@media screen and (max-width: 667px) {
	.biography ul {
		flex-direction: column;
		justify-content: center;
		margin: 0 0 3.5rem 2rem;
	}
}

.biography li { list-style: disc; }

.biography .column2 li {
	width: 48%;
	margin-bottom: 1rem;
}
@media screen and (max-width: 667px) {
	.biography .column2 li { width: 100%; }
}

.biography section {
	margin-bottom: 7.1rem;
	border-bottom: 1px solid #ddd;
}

.biography section:last-child {
	margin-bottom: 0;
	border-bottom: none;
}

.biography dt { float: left; }

.biography dd { margin: 0 0 1.5rem 15rem; }
@media screen and (max-width: 667px) {
	.biography dd { margin: 0 0 1.5rem 10.5rem; }
}

.biography dd:last-child { margin-bottom: 0; }

/* -- Message */
.prof > .column2 { flex-wrap: wrap; }

.prof > .column2 h3 { width: 100%; }

.prof > .column2 .txtBox { width: 470px; }

.prof > .column2 ul { margin: 0 0 3rem 0; }

.prof > .column2 li:before {
	content: "●";
	margin-right: 0.5rem;
	color: #f3a9c9;
	font-size: 1.4rem;
}

.prof > .column2 li {
	padding-left: 1em;
	font-weight: bold;
	text-indent: -1em;
}


/* 7-2. Page Medical Info --- */
.medicalInfo table { margin-bottom: 8rem; }

.medicalInfo th:nth-child(1) { width: 35%; }

.medicalInfo td:nth-child(1) { font-weight: bold; }

.page .medicalInfo td ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 1rem 0 0;
	padding: 0;
	background-color: transparent;
}
@media screen and (max-width: 667px) {
	.medicalInfo td ul { flex-direction: column; }
}

.page .medicalInfo td li {
	width: 50%;
	margin-bottom: 1rem;
}
@media screen and (max-width: 667px) {
	.page .medicalInfo td li { width: 100%; }
}

/* Allergy */
.subcSchedule {
	border-top: 1px solid #ddd;
	border-left: 1px solid #ddd;
	border-right: 1px solid #ddd;
}
.subcSchedule th, .subcSchedule td,
.subcComparison th, .subcComparison td {
	padding: 1.5rem;
	font-size: 1.6rem;
	border-bottom: 1px solid #ddd;
}
@media screen and (max-width: 667px) {
	.subcSchedule th, .subcSchedule td,
	.subcComparison th, .subcComparison td { font-size: 1.4rem; }
}

.comicImg { display: flex; }
@media screen and (max-width: 667px) {
	.comicImg {
		display: flex;
		flex-wrap: wrap;
	}
}

.comicImg a { width: 25%; }
@media screen and (max-width: 667px) {
	.comicImg a { width: 48%; }
}

.comicImg img { width: 100%; }


/* Desensitization-therapy */
.desensitization { padding: 6rem 0; }

.desensitization > div > section,
.desensitization h3 { margin-top: 6rem; }

.subcComparison { border-top: 1px solid #ddd; }

.subcComparison th { width: 220px; }

.subcComparison td { width: 380px; }

.subcComparison td:nth-child(2) { border-right: 1px dashed #ddd; }

.page .subcComparison ul {
	margin: 0;
	padding: 0;
	background-color: transparent;
}

.disease a.bluBtn {
	width: 50%;
	margin: 0 auto;
	padding: 1rem;
	border-radius: 25px;
}



/* 7-3. Page Facilities --- */
.facilities { padding: 6rem 0; }
@media screen and (max-width: 667px) {
	.facilities { padding: 6rem 0 4rem; }
}

.facilities section { padding: 0 0 6rem; }
@media screen and (max-width: 667px) {
	.facilities section { padding: 0; }
}

.state ul {
	display: flex;
	padding: 0;
}
@media screen and (max-width: 667px) {
	.page .state ul { margin-bottom: 0.5rem; }
	.page .state .choice-btn { margin-bottom: 4rem; }
}

.state li:before, .faciList01 li:before, .faciList02 li:before { display: none; }

.page .state li {
	padding-left: 0;
	text-indent: 0;
}

.page .faciList01 {
	margin-bottom: 4rem;
	padding: 4rem;
	background: rgb(211 237 251 / 0.2);
}

.page .faciList01 li {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	margin-bottom: 4rem;
	padding: 0 0 4rem 0;
	text-indent: 0;
	border-bottom: 1px solid #ddd;
	line-height: 1;
}
@media screen and (max-width: 667px) {
	.page .faciList01 li { flex-direction: column; }
}

.faciList01 li:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

.faciList01 li div { width: 560px; }
@media screen and (max-width: 667px) {
	.faciList01 li div { width: 100%; }
}

.faciList01 li h3 {
	margin: 0 0 3rem;
	padding: 0;
	border-left: none;
}

.faciList02 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
@media screen and (max-width: 667px) {
	.faciList02 li {
		width: 48%;
		margin-bottom: 2rem;
	}
}



/* 7-4. Recruit Form --- */
#recruitFormPage header h1 {
	margin: 0 auto;
	text-align: center;
}

#recruitFormPage main { margin-top: 0; }

.recruitForm {
	width: 100%;
	margin: 4rem auto;
	border-top: 1px solid #ddd;
}

.recruitForm dt, .recruitForm dd {
	font-size: 1.8rem;
}

.recruitForm dt {
	float: left;
	width: 380px;
	padding: 1rem 0;
	font-weight: bold;
}
@media screen and (max-width: 667px) {
	.recruitForm dt {
		float: none;
		width: 100%;
	}
}

.recruitForm dt strong:after {
	content: " *";
	color: #C00;
}

.recruitForm dd {
	padding: 1rem 0 1rem 38rem;
	border-bottom: 1px solid #ddd;
}
@media screen and (max-width: 667px) {
	.recruitForm dd {
		padding: 0 0 1rem;
	}
	
	.recruitForm dd .mwform-radio-field {
		display: block;
		margin-left: 1rem;
	}
}

.recruitForm input[type=text], .recruitForm input[type=email], .recruitForm input[type=tel], .recruitForm textarea {
	width: 100%;
	padding: 0.2rem 1rem;
	border: 1px solid #ddd;
	background-color: #fff;
}

/* Birth Select */
.recruitForm dd.selectBirth input[type=text] {
	margin-right: 0.5rem;
	width: 100px;
}

.recruitForm dd.selectBirth select {
	/* Reset */
	appearance: none;
	border: 1px solid #ddd;
	outline: 0;
	font: inherit;
	/* Personalize */
	padding: 0.5rem 4rem 0.5rem 1rem;
	background: var(--arrow-icon) no-repeat right 0.8em center / 1.4em,
	linear-gradient(to left, var(--arrow-bg) 3em, var(--select-bg) 3em);
	cursor: pointer;
}

.recBtnarea {
	display: flex;
	justify-content: center;
	align-items: baseline;
}

.recBtnarea input[type=submit] {
	display: block;
	margin: 0 auto 6rem;
	padding: 2rem 3rem;
	color: #fff;
	font-size: 2rem;
	text-align: center;
	border: 1px solid #e94f55;
	background-color: #e94f55;
	border-radius: 40px;
	cursor: pointer;
}

.recBtnarea input[type=submit]:hover {
	color: #e94f55;
	background-color: #fff;
}

.pageback { border: 1px solid #ccc; }


/* 7-5. Page First --- */
.first ul { margin-bottom: 3rem; }

.first ol { margin: 0 0 3rem 2.2rem; }

.first ul li:before {
	content: "●";
    margin-right: 0.5rem;
    color: #f3a9c9;
    font-size: 1.4rem;
}

.first ol li { list-style-type: decimal; }

.first li {
	padding-left: 1em;
	text-indent: -1em;
}



/* ====================

    8. Single

==================== */

/* 8-0. Single Common --- */
.single, .archive {
	padding: 6.5rem 0 8rem;
	background: url("images/body_bg_pc.jpg") center bottom no-repeat, url("images/single_line.png") center top no-repeat;
}

.single .innerBox, .archive .innerBox {
	display: flex;
	justify-content: space-between;
}
@media screen and (max-width: 667px) {
	.single .innerBox, .archive .innerBox { flex-direction: column; }
}

.single .post { width: 640px; }
@media screen and (max-width: 667px) {
	.single .post {
		width: 93%;
		margin: 0 auto 3rem;
	}
}

/* --- ▼ Post Font Style (S) */
.single h1, .single h2, .single h3, .single p { color: #444; }

.single .post h1 {
	margin: 0 0 3rem;
	font-size: 2.8rem;
	font-weight: normal;
	line-height: 1.3;
}
@media screen and (max-width: 667px) {
	.single .post h1 { font-size: 2.2rem; }
}

.single .post h2 {
	margin: 0 0 3.4rem;
	padding: 2.5rem 0 2.4rem;
	font-size: 2rem;
	font-weight: normal;
	line-height: 1.5;
	border-top: 5px solid #d3edfb;
	border-bottom: 1px solid #d3edfb;
}
@media screen and (max-width: 667px) {
	.single .post h2 {
		margin: 0 0 2.4rem;
		padding: 2rem 0;
		font-size: 1.8rem;
	}
}

.single .post h3 {
	margin: 0 0 3.5rem;
	padding: 1.5rem 0 1.5rem 2.5rem;
	font-size: 1.8rem;
	font-weight: normal;
	border-left: 5px solid #e94f55;
}
@media screen and (max-width: 667px) {
	.single .post h3 {
		margin: 0 0 2.4rem;
		padding: 1rem 0 1rem 1.5rem;
		font-size: 1.6rem;
	}
}

.single .post h4 {
	margin: 0 0 2.9rem;
	color: #e94f55;
	font-size: 1.6rem;
}
@media screen and (max-width: 667px) {
	.single .post h4 { font-size: 1.4rem; }
}

.single .post ul {
	margin: 0 0 4rem;
	padding: 4rem 4rem 3rem;
	background-color: rgb(255 252 219 / 0.3);
}
@media screen and (max-width: 667px) {
	.single .post ul {
		margin: 0 0 3rem;
		padding: 2rem 2rem 1rem;
	}
}

.single .post  .reserve, .single .post  .postInfo, .single .post .pagenavi {/* Cancel */
	padding: 0;
	background-color: transparent;
}

.single .post li:before {
	content: "●";
	padding-right: 0.5rem;
	color: #f3a9c9;
	font-size: 8px;
	position: relative;
	top: -3px;
}

.post .reserve li:before, .post .postInfo li:before, .single .post .pagenavi li:before {/* Cancel */
	content: "";
	padding: 0;
	position: static;
}

.post li {
	margin-bottom: 1rem;
	padding-left: 1em;
	text-indent: -1em;
}

.post .reserve li, .post .postInfo li, .single .post .pagenavi li {/* Cancel */
	margin-bottom: 0;
	padding-left: 0;
	text-indent: 0;
}

.post blockquote {
	margin-bottom: 4rem;
	padding: 4rem 4rem 3rem;
	background: url("images/blockquot_bg.png") 20px 20px no-repeat;
	background-color: #f3f3f3;
}
@media screen and (max-width: 667px) {
	.post blockquote {
		padding: 2rem 2rem 1rem;
		background-position: 10px 10px;
	}
}

cite {
	font-size: 1.4rem;
	font-style: italic;
}
/* --- ▲ Post Font Style (E) */

.postInfo {
	display: flex;
	margin: 0 0 5.7rem;
}

.postInfo li, .postInfo time {
	color: #999;
	font-size: 1.4rem;
}
@media screen and (max-width: 667px) {
	.postInfo li, .postInfo time { font-size: 1.2rem; }
}

.postInfo li:first-child:after {
	content: "/";
	margin-right: 1em;
}

.postInfo time { padding-right: 1em; }

.postInfo a {
	color: #666;
	font-size: 1.4rem;
	text-decoration: none;
}

.eyeCatch { margin: 0 0 5.5rem; }
@media screen and (max-width: 667px) {
	.eyeCatch { margin: 0 0 3.5rem; }
}

.single .reserve {
	display: flex;
	justify-content: center;
	margin: 0 0 4.9rem;
}

/* --- Contributor */
.contributor {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	margin: 0 0 4rem;
	padding: 4rem;
	border: 1px solid #7fcef4;
}
@media screen and (max-width: 667px) {
	.contributor {
		/* flex-direction: column;*/
		padding: 2rem;
	}
}

.single .post .contributor h2 {
	padding: 1rem 0 1rem 1.5rem;
	font-size: 1.6rem;
	border-top: none;
	border-bottom: none;
	border-left: 3px solid #7fcef4;
}

.contributorName { font-size: 1.8rem; }

.contributorName span {
	display: block;
	font-size: 1.2rem;
}

.contributorProf, .contributorLink a { font-size: 1.4rem; }

@media screen and (max-width: 667px) {
	.single p.contributorLink { margin-bottom: 0; }
	
	.contributor figure {
		width: 40%;
		margin: 4rem 0 0 2rem;
	}
}

/* --- Page Navi */
.pagenavi {
	display: flex;
	border: 1px solid #ddd;
}

.single .post .pagenavi li {
	width: 50%;
	padding: 2rem;
	font-size: 1.2rem;
	line-height: 1.5;
}

.pagenavi li:first-child { border-right: 1px solid #ddd; }

.pagenavi a {
	display: block;
	color: #444;
	font-size: 1.4rem;
}



/* ====================

    9. Sidebar

==================== */
/* 9-0. Aside Common */
.single aside, .archive aside { width: 300px; }
@media screen and (max-width: 667px) {
	.single aside, .archive aside { width: 100%; }
}

.single aside > div, .archive aside > div { margin: 0 0 4rem; }

.single aside h2, .archive aside h2 {
	padding: 0 0 1rem 2.5rem;
	color: #e94f55;
	font-weight: normal;
	border-bottom: 1px solid #ddd;
	background-position: 0 3px;
	background-repeat: no-repeat;
}

.infomation h2 { background-image: url("images/ic_side_news.png"); }
.news h2 { background-image: url("images/ic_side_newpost.png"); }
.category h2 { background-image: url("images/ic_side_cate.png"); }
.tagcloud h2 { background-image: url("images/ic_side_tag.png"); }
.widget_archive h2 { background-image: url("images/ic_side_calendar.png"); }

.single aside li, .single aside p, .archive aside li, .archive aside p {
	margin-bottom: 0;
	font-size: 1.4rem;
}

aside .infomation a:hover, aside .news a:hover, aside .category a:hover {
	color: #e94f55;
	background-color: rgb(255 252 219 / 0.3);
}


/* 9-1. Aside Infomation & News */
aside .infomation ul, aside .news ul {
	margin-bottom: 2rem;
}

aside .infomation li, aside .news > ul > li {
	border-bottom: 1px solid #ddd;
}

aside .infomation a, aside .news a {
	display: block;
	padding: 2rem;
}

/* aside .infomation li a { display: block; }

aside .news li a {
	display: flex;
}*/

aside .infomation li li:first-child, aside .news li li:first-child,
aside .infomation time, aside .news time {
	font-size: 1.2rem;
}

aside .news li ul {
	display: flex;
	align-items: center;
	margin-bottom: 0;
}

aside .news li li:first-child:after {
	content: "/";
	margin-right: 1rem;
	padding-left: 1rem;
}

aside .more {
	text-align: right;
	line-height: 1;
}

aside .more a {
	display: inline-block;
	padding: 0.5rem 2.4rem 0.6rem;
	color: #e94f55;
	font-size: 1.2rem;
	border: 1px solid #e94f55;
	background: url("images/arrow_s_blue.png") 64px 8px no-repeat;
}

aside .more a:hover {
	color: #fff;
	background: url("images/arrow_s_wht.png") 64px 8px no-repeat;
	background-color: rgb(47 171 230 / 0.6);
}


/* 9-2. Aside Category */
aside .category > ul > li {
	background: url("images/arrow_s_blue.png") 15px 13px no-repeat;
	border-bottom: 1px solid #ddd;
}

aside .category a {
	display: block;
	padding: 0.6rem 1rem 0.6rem 2.5rem;
	color: #444;
}

aside .category li li a:before {
	content: "-";
	margin-right: 1rem;
}

aside .category li li { padding-left: 1rem; }


/* 9-3. Aside Tagcloud */
aside .tagcloud h2 { margin-bottom: 1.5rem; }

aside .tagcloud ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0 1.5rem;
}

aside .tagcloud li {
	display: inline-block;
	margin: 0 0.5rem 0.5rem 0;
	line-height: 1;
	border: 1px solid #444;
}

aside .tagcloud a {
	display: block;
	padding: 0.4rem 1rem 0.4rem 2.5rem;
	color: #444;
	font-size: 1.2rem;
	line-height: 1.3;
	background: url("images/ic_side_tagcloud.png") 9px 6px no-repeat;
}


/* 9-4. Month Archive --- */
.widget_archive h2 { margin-bottom: 10px; }

.selectWrap {
    width: 100%;
    position: relative;
    display: inline-block;
    padding: 0;
	background-color: rgb(255 252 219 / 0.5);
}

.selectWrap::after {
    content: '';
    width: 6px;
    height: 6px;
    border: 0px;
    border-bottom: solid 2px #b4b3b3;
    border-right: solid 2px #b4b3b3;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -4px;
}

.selectWrap select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
    height: 40px;
    font-size: 1.2rem;
    background: transparent;
    position: relative;
    z-index: 1;
    padding: 0 40px 0 10px;
    border-radius: 2px;
}

select::-ms-expand { display: none; }




/* ====================

    10. Archive

==================== */

/* --- ▼ Archive Font Style (S) */
.archive .archiveList { width: 640px; }
@media screen and (max-width: 667px) {
	archive .archiveList {
		width: 93%;
		margin: 0 auto 3rem;
	}
}

.archive h1, .archive h2, .archive h3, .archive p { color: #444; }

.archive h1 {
	margin: 0 0 6rem;
	padding: 0 0 0 5rem;
	font-size: 2.8rem;
	font-weight: normal;
	background: url("images/ic_main_cate.png") 0 7px no-repeat;
}

.archiveList h2 {
	margin-bottom: 1.5rem;
	font-size: 2rem;
	font-weight: normal;
}

.archiveList time {
	display: inline-block;
	margin-bottom: 2.1rem;
	font-size: 1.2rem;
}

.archiveList li {
	margin-bottom: 4rem;
	text-indent: 0;
	background-color: rgb(255 252 219 / 0.9);
}

.archiveList li:hover { background-color: rgb(255 252 219 / 0.5); }

.archiveList li a {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	padding: 4rem;
}

.archiveList figure { margin-right: 4rem; }

/* Pager */
.tablenav { display: flex; }

.page-numbers {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 1rem 0 0;
    width: 30px;
    height: 30px;
    color: #e94f55;
    font-size: 1.2rem;
    border: 1px solid #e94f55;
    border-radius: 3px;
}

.current, .page-numbers:hover {
    color: #fff;
    background-color: #e94f55;
}

.tablenav .next, .tablenav .prev {
    width: auto;
    padding: 0 1rem;
}
