@charset "utf-8";

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 汎用パーツ 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

/* ――――――――――――――――――――――――――――――
［ categoryTitle ］
―――――――――――――――――――――――――――――― */

.categoryTitle { font-family: "Zen Maru Gothic"; color: #5987d1; font-weight: 700; text-align: center; }
.categoryTitle span { display: block; }
.categoryTitle span:nth-child(1) { font-size: 2.6rem; line-height: 4rem; letter-spacing: 0.1em; }
.categoryTitle span:nth-child(2) { font-size: 1.6rem; line-height: 2.6rem; letter-spacing: 4px; padding-left: 4px; }

@media screen and (max-width: 767px) {
	.categoryTitle span:nth-child(1) { font-size: 2.4rem; line-height: 3.4rem; }
	.categoryTitle span:nth-child(2) { font-size: 1.4rem; line-height: 2.4rem; letter-spacing: 3px; padding-left: 3px; }
}



/* ――――――――――――――――――――――――――――――
［ articleTitle ］
―――――――――――――――――――――――――――――― */

.articleTitle { text-align: center; }
.articleTitle span { position: relative; display: inline-block; font-family: "Zen Maru Gothic"; font-size: 2.8rem; line-height: 4.2rem; color: #5987d1; font-weight: 700; letter-spacing: 0.1em; padding-bottom: 17px; }
.articleTitle span::before { position: absolute; right: 0; bottom: 0; left: 0; display: block; width: 46px; height: 3px; background-color: #5987d1; border-radius: 3px; content: ""; margin-right: auto; margin-left: auto; }
.articleTitle.titleReserve span { padding-right: 66px; }
.articleTitle.titleReserve span::after { position: absolute; top: 8px; right: 0; display: block; background-color: #ff0000; border-radius: 4px; font-family: "Yu Gothic", "游ゴシック体", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Arial", sans-serif; font-size: 1.5rem; line-height: 2.8rem; color: #ffffff; content: "要予約"; padding: 1px 7px 0; }

@media screen and (max-width: 767px) {
	.articleTitle span { font-size: 2.2rem; padding-bottom: 9px; }
	.articleTitle.titleReserve span { padding-right: 64px; }
	.articleTitle.titleReserve span::after { top: 10px; font-size: 1.4rem; line-height: 2.4rem; }
}



/* ――――――――――――――――――――――――――――――
［ anchorLink ］
―――――――――――――――――――――――――――――― */

.anchorLink { font-size: 0; line-height: 0; text-align: center; }
.anchorLink a { position: relative; display: inline-block; border-right: solid 1px #b8c1cf; width: 210px; font-size: 1.8rem; line-height: 2rem; color: #26426d; text-align: center; text-decoration: none; padding: 7px 10px 18px; }
.anchorLink a:not(:last-child) { border-left: solid 1px #b8c1cf; }
.anchorLink a::after { position: absolute; right: 0; bottom: 6px; left: 0; display: block; width: 8px; height: 8px; border: solid #26426d; border-width: 0 1px 1px 0; content: ""; transform: rotate(45deg); margin-right: auto; margin-left: auto; }

@media screen and (min-width: 821px) {
	.anchorLink a::after { transition: 0.2s ease; }
	.anchorLink a:hover::after { bottom: 2px; }
}

@media screen and (max-width: 767px) {
	.anchorLink { max-width: 500px; margin-right: auto; margin-left: auto; }
	.anchorLink a { display: block; border-right: none; width: 100%; font-size: 1.6rem; text-align: left; padding: 8px 30px 8px 10px; }
	.anchorLink a:not(:last-child) { border-bottom: solid 1px #b8c1cf; border-left: none; }
	.anchorLink a::after { top: -4px; right: 11px; bottom: 0; left: auto; margin: auto 0; }
}



/* ――――――――――――――――――――――――――――――
［ listPoint ］
―――――――――――――――――――――――――――――― */

.listPoint1 { line-height: 2.8rem; }
.listPoint1 li { position: relative; padding-left: 20px; }
.listPoint1 li:not(:last-child) { margin-bottom: 8px; }
.listPoint1 li::before { position: absolute; top: 7px; left: 0; display: block; width: 14px; height: 14px; border-radius: 7px; background-color: #e0e0e0; content: ""; }
.listPoint2 li { position: relative; padding-left: 15px; }
.listPoint2 li:not(:last-child) { margin-bottom: 8px; }
.listPoint2 li::before { position: absolute; top: 14px; left: 0; display: block; width: 6px; height: 6px; border-radius: 3px; background-color: #26426d; content: ""; }

@media screen and (max-width: 767px) {
	.listPoint1 { line-height: 2.6rem; }
	.listPoint1 li::before { top: 7px; }
	.listPoint2 li::before { top: 11px; }
}




/* ――――――――――――――――――――――――――――――
［ homeBtn ］
―――――――――――――――――――――――――――――― */

.homeBtn { width: 240px; margin-right: auto; margin-left: auto; }
.homeBtn a { position: relative; display: block; border: solid 2px #0094d4; border-radius: 25px; font-size: 1.6rem; line-height: 2.6rem; color: #0094d4; text-align: center; text-decoration: none; padding: 10px 30px; }
.homeBtn a::after { position: absolute; top: 0; right: 20px; bottom: 0; display: block; width: 7px; height: 7px; border: solid #0094d4; border-width: 0 1px 1px 0; transform: rotate(-45deg); content: ""; margin-top: auto; margin-bottom: auto; }

@media screen and (min-width: 821px) {
	.homeBtn a,
	.homeBtn a::after { transition: 0.2s ease; }
	.homeBtn a:hover { background-color: #0094d4; color: #ffffff; }
	.homeBtn a:hover::after { border-color: #ffffff; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 お知らせ 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

/* ――――――――――――――――――――――――――――――
［ newsTitle ］
―――――――――――――――――――――――――――――― */

.newsTitle { border-bottom: solid 2px #b8c1cf; padding-bottom: 26px; margin-bottom: 25px; }
.newsTitle .titleDate { display: block; font-size: 1.8rem; line-height: 2rem; margin-bottom: 10px; }
.newsTitle .titleMain { display: block; font-size: 2.6rem; line-height: 4rem; font-weight: 700; }

@media screen and (max-width: 767px) {
	.newsTitle { padding-bottom: 16px; }
	.newsTitle::before { width: 6px; height: calc( 100% - 20px ); border-radius: 3px; }
	.newsTitle .titleDate { font-size: 1.6rem; margin-bottom: 6px; }
	.newsTitle .titleMain { font-size: 2rem; line-height: 3rem; }
}



/* ――――――――――――――――――――――――――――――
［ newsNav ］
―――――――――――――――――――――――――――――― */

.newsNav { overflow: hidden; border: solid 1px #b8c1cf; border-radius: 6px; font-size: 0; line-height: 0; }
.newsNav a { position: relative; display: inline-block; font-size: 1.6rem; line-height: 2rem; color: #26426d; text-decoration: none; padding: 16px; }
.newsNav a:nth-child(1) { width: 220px; }
.newsNav a:nth-child(2) { width: calc( 100% - 440px ); text-align: center; }
.newsNav a:nth-child(2)::before,
.newsNav a:nth-child(2)::after { position: absolute; top: 0; bottom: 0; display: block; width: 1px; height: calc( 100% - 18px ); background-color: #b8c1cf; content: ""; margin-top: auto; margin-bottom: auto; }
.newsNav a:nth-child(2)::before { left: 0; }
.newsNav a:nth-child(2)::after { right: 0; }
.newsNav a:nth-child(3) { width: 220px; text-align: right; }
.newsNav a span { position: relative; display: inline-block; }
.newsNav a span::before { position: absolute; top: 0; bottom: 0; display: block; width: 7px; height: 7px; border: solid #26426d; border-width: 0 1px 1px 0; content: ""; margin-top: auto; margin-bottom: auto; }
.newsNav a:nth-child(1) span { padding-left: 12px; }
.newsNav a:nth-child(2) span,
.newsNav a:nth-child(3) span { padding-right: 12px; }
.newsNav a:nth-child(1) span::before { left: 0; transform: rotate(135deg); }
.newsNav a:nth-child(2) span::before,
.newsNav a:nth-child(3) span::before { right: 0; transform: rotate(-45deg); }

@media screen and (min-width: 821px) {
	.newsNav a { transition: 0.2s ease; }
	.newsNav a:hover { background-color: #edf4ff; }
}

@media screen and (max-width: 767px) {
	.newsNav a { font-size: 1.4rem; padding: 16px; }
	.newsNav a:nth-child(1) { width: 90px; }
	.newsNav a:nth-child(2) { width: calc( 100% - 180px ); }
	.newsNav a:nth-child(3) { width: 90px; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 医師紹介 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

/* ――――――――――――――――――――――――――――――
［ doctorMain ］
―――――――――――――――――――――――――――――― */

.doctorMain { overflow: hidden; max-width: 800px; border-radius: 12px; margin: 0 auto 70px; }
.doctorMain span { display: block; background: url(../../images/doctor_main.jpg) no-repeat center center; background-size: cover; font-size: 0; line-height: 0; padding-top: calc( 370 / 800 * 100% ); }

@media screen and (max-width: 767px) {
	.doctorMain { max-width: 500px; border-radius: 10px; margin-bottom: 20px; }
	.doctorMain span { padding-top: calc( 230 / 345 * 100% ); }
}



/* ――――――――――――――――――――――――――――――
［ doctorLead ］
―――――――――――――――――――――――――――――― */

.doctorLead { font-family: "Zen Maru Gothic"; font-size: 2.6rem; line-height: 4rem; font-weight: 700; text-align: center; margin-bottom: 20px; }

@media screen and (max-width: 767px) {
	.doctorLead { font-size: 2.2rem; line-height: 3.6rem; margin-bottom: 15px; }
}



/* ――――――――――――――――――――――――――――――
［ doctorName ］
―――――――――――――――――――――――――――――― */

.doctorName { display: table; margin: 0 auto 40px; }
.doctorName dt { display: table-cell; font-size: 1.6rem; line-height: 2.4rem; }
.doctorName dd { display: table-cell; text-align: center; padding-left: 16px; }
.doctorName dd span { display: block; }
.doctorName dd span:nth-child(1) { font-size: 2.4rem; line-height: 3rem; font-weight: 700; margin-bottom: 5px; }
.doctorName dd span:nth-child(2) { font-size: 1.1rem; line-height: 1.4rem; }

@media screen and (max-width: 767px) {
	.doctorName { margin-bottom: 25px; }
	.doctorName dt { font-size: 1.5rem; line-height: 2.4rem; }
	.doctorName dd span:nth-child(1) { font-size: 2rem; margin-bottom: 0; }
}



/* ――――――――――――――――――――――――――――――
［ doctorInfo ］
―――――――――――――――――――――――――――――― */

.doctorInfo { border-top: solid 1px #b8c1cf; font-size: 1.6rem; line-height: 2.4rem; padding-top: 25px; }
.doctorInfo .infoTitle { font-weight: 700; margin-bottom: 10px; }
.doctorInfo .infoList:not(:last-child) { margin-bottom: 40px; }
.doctorInfo div.infoList { display: table; }
.doctorInfo div.infoList dl { display: table-row; }
.doctorInfo div.infoList dl dt { display: table-cell; vertical-align: top; white-space: nowrap; padding-right: 25px; }
.doctorInfo div.infoList dl dd { display: table-cell; vertical-align: top; }
.doctorInfo ul.infoList li { position: relative; padding-left: 20px; }
.doctorInfo ul.infoList li::before { position: absolute; top: 5px; left: 0; display: block; width: 14px; height: 14px; background-color: #e0e0e0; border-radius: 50%; content: ""; }

@media screen and (max-width: 767px) {
	.doctorInfo { font-size: 1.4rem; line-height: 2.2rem; padding-top: 35px; }
	.doctorInfo .infoList:not(:last-child) { margin-bottom: 30px; }
	.doctorInfo div.infoList { display: block; }
	.doctorInfo div.infoList dl { display: block; }
	.doctorInfo div.infoList dl:not(:last-child) { margin-bottom: 20px; }
	.doctorInfo div.infoList dl dt { display: block; font-weight: 700; white-space: normal; padding-right: 0; }
	.doctorInfo div.infoList dl dd { display: block; }
	.doctorInfo ul.infoList li::before { top: 4px; }
}



/* ――――――――――――――――――――――――――――――
［ doctorPt ］
―――――――――――――――――――――――――――――― */

.doctorPt .ptInner { display: table; width: 100%; background-color: #ffffff; border-radius: 20px; padding: 30px calc( 70 / 1000 * 100% ); }
.doctorPt .ptInner:not(:last-child) { margin-bottom: 20px; }
.doctorPt .ptData { display: table-cell; vertical-align: middle; padding-right: 30px; }
.doctorPt .ptData .dataName { font-size: 2.4rem; line-height: 4rem; font-weight: 700; margin-bottom: 25px; }
.doctorPt .ptData .dataList { font-size: 1.6rem; line-height: 2.6rem; margin-bottom: 35px; }
.doctorPt .ptData .dataList li { position: relative; padding-left: 20px; }
.doctorPt .ptData .dataList li::before { position: absolute; top: 6px; left: 0; display: block; width: 14px; height: 14px; background-color: #e0e0e0; border-radius: 50%; content: ""; }
.doctorPt .ptData .dataInfo { max-width: 380px; border: solid #26426d; border-width: 1px 0; font-size: 1.6rem; line-height: 2.6rem; text-align: center; padding: 15px; }
.doctorPt .ptImg { display: table-cell; overflow: hidden; width: 320px; border-radius: 50%; vertical-align: middle; }

@media screen and (max-width: 767px) {
	.doctorPt .ptInner { display: flex; flex-wrap: wrap; border-radius: 14px; padding-right: 15px; padding-left: 15px; }
	.doctorPt .ptData { order: 2; display: block; width: 100%; padding-right: 0; }
	.doctorPt .ptData .dataName { font-size: 2rem; line-height: 3rem; text-align: center; margin-bottom: 20px; }
	.doctorPt .ptData .dataList { font-size: 1.4rem; line-height: 2.2rem; margin-bottom: 25px; }
	.doctorPt .ptData .dataList li::before { top: 4px; }
	.doctorPt .ptData .dataInfo { max-width: none; width: 100%; font-size: 1.4rem; line-height: 2.2rem; }
	.doctorPt .ptImg { order: 1; display: block; width: 200px; margin: 0 auto 15px; }
}



/* ――――――――――――――――――――――――――――――
［ doctorMp ］
―――――――――――――――――――――――――――――― */

.doctorMp { position: relative; }
.doctorMp::before { position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: block; width: 580px; height: 580px; background-image: url(../../images/doctor_mp_bg1.jpg); background-size: cover; border-radius: 50%; content: ""; margin: auto; z-index: -1; }
.doctorMp .mpTitle { padding-top: 212px; }
.doctorMp .mpPoint { padding-right: calc( 50 / 1100 * 100% ); padding-left: calc( 50 / 1100 * 100% ); margin-top: -271px; }
.doctorMp .mpPoint .pointInner { position: relative; max-width: 780px; height: 640px; margin-right: auto; margin-left: auto; }
.doctorMp .mpPoint .pointFrame { position: absolute; overflow: hidden; width: 275px; height: 275px; background-color: #ffffff; border-radius: 50%; box-shadow: 0 0 20px 8px rgba(0,0,0,0.04); padding: 55px 35px 0; }
.doctorMp .mpPoint .pointFrame.frameType1 { top: 0; left: 0; }
.doctorMp .mpPoint .pointFrame.frameType2 { top: 0; right: 0; }
.doctorMp .mpPoint .pointFrame.frameType3 { bottom: 0; left: 0; }
.doctorMp .mpPoint .pointFrame.frameType4 { bottom: 0; right: 0; }
.doctorMp .mpPoint .pointFrame .frameNum { font-family: "Zen Maru Gothic"; font-size: 1.6rem; line-height: 2.6rem; color: #5987d1; font-weight: 700; text-align: center; margin-bottom: 15px; }
.doctorMp .mpPoint .pointFrame .frameNum span { position: relative; display: inline-block; padding-right: 35px; }
.doctorMp .mpPoint .pointFrame .frameNum span::after { position: absolute; top: 0; right: 0; bottom: 0; display: block; width: 20px; height: 30px; background-size: cover; content: ""; margin-top: auto; margin-bottom: auto; }
.doctorMp .mpPoint .pointFrame.frameType1 .frameNum span::after { background-image: url(../../images/doctor_mp_num1.gif); }
.doctorMp .mpPoint .pointFrame.frameType2 .frameNum span::after { background-image: url(../../images/doctor_mp_num2.gif); }
.doctorMp .mpPoint .pointFrame.frameType3 .frameNum span::after { background-image: url(../../images/doctor_mp_num3.gif); }
.doctorMp .mpPoint .pointFrame.frameType4 .frameNum span::after { background-image: url(../../images/doctor_mp_num4.gif); }
.doctorMp .mpPoint .pointFrame .frameTxt { line-height: 2.6rem; }
.doctorMp .mpPoint .pointFrame.frameType4 .frameTxt { text-align: center; padding-top: 25px; }

@media screen and (max-width: 767px) {
	.doctorMp::before { display: none; }
	.doctorMp .mpTitle { background: url(../../images/doctor_mp_bg2.jpg) no-repeat center center; background-size: 100% auto; padding: 30px; margin-bottom: 30px; }
	.doctorMp .mpPoint { padding-right: calc( 15 / 320 * 100% ); padding-left: calc( 15 / 320 * 100% ); margin-top: 0; }
	.doctorMp .mpPoint .pointInner { max-width: 500px; height: auto; }
	.doctorMp .mpPoint .pointFrame { position: static; overflow: auto; display: table; width: 100%; height: auto; border-radius: 0; box-shadow: none; padding: 0; }
	.doctorMp .mpPoint .pointFrame:not(:last-child) { margin-bottom: 30px; }
	.doctorMp .mpPoint .pointFrame .frameNum { display: table-cell; width: 85px; vertical-align: middle; margin-bottom: 0; }
	.doctorMp .mpPoint .pointFrame .frameNum span { width: 85px; height: 85px; background-color: #ffffff; border-radius: 50%; box-shadow: 0 0 12px 3px rgba(0,0,0,0.07); padding-top: 12px; padding-right: 0; }
	.doctorMp .mpPoint .pointFrame .frameNum span::after { top: auto; bottom: 18px; left: 0; width: 16px; height: 24px; margin: 0 auto; }
	.doctorMp .mpPoint .pointFrame .frameTxt { display: table-cell; line-height: 2.4rem; vertical-align: middle; padding-left: 15px; }
	.doctorMp .mpPoint .pointFrame.frameType4 .frameTxt { text-align: left; padding-top: 0; }
	.doctorMp .mpPoint .pointFrame.frameType4 .frameTxt br { display: none; }
}



/* ――――――――――――――――――――――――――――――
［ doctorPlate ］
―――――――――――――――――――――――――――――― */

.doctorPlate { background: url(../../images/doctor_plate_bg1.jpg) no-repeat center top; background-size: 2600px auto; padding: 70px calc( 50 / 1100 * 100% ) 0; }
.doctorPlate .plateInner { max-width: 1000px; margin-right: auto; margin-left: auto; }
.doctorPlate .plateCopy { font-family: "Zen Maru Gothic"; font-size: 2.8rem; line-height: 4.6rem; font-weight: 700; text-align: center; margin-bottom: 40px; }
.doctorPlate .plateBg { background-color: #ffffff; padding: 15px; }
.doctorPlate .bgInner { border: solid 1px #b8c1cf; border-radius: 60px; padding: 84px; }

@media screen and (max-width: 767px) {
	.doctorPlate { background-image: url(../../images/doctor_plate_bg2.jpg); background-size: 100% 100%; padding: 40px calc( 15 / 320 * 100% ) 50px; }
	.doctorPlate .plateInner { max-width: 500px; }
	.doctorPlate .plateCopy { font-size: 2.2rem; line-height: 3.6rem; margin-bottom: 15px; }
	.doctorPlate .plateBg { border-radius: 12px; padding: 25px; }
	.doctorPlate .bgInner { border: none; border-radius: 0; padding: 0; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 診療案内 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

/* ――――――――――――――――――――――――――――――
［ serviceSubject ］
―――――――――――――――――――――――――――――― */

.serviceSubject { overflow: hidden; max-width: 680px; margin: 0 auto 40px; }
.serviceSubject span { display: block; width: 320px; height: 210px; border-radius: 50%; background-color: #cdeff2; font-family: "Zen Maru Gothic"; font-size: 3rem; line-height: 4rem; font-weight: 700; text-align: center; padding-top: 84px; }
.serviceSubject span:nth-child(1) { float: left; }
.serviceSubject span:nth-child(2) { float: right; }

@media screen and (max-width: 767px) {
	.serviceSubject { max-width: 340px; margin-bottom: 25px; }
	.serviceSubject span { width: 160px; height: 106px; font-size: 2rem; line-height: 3rem; padding-top: 36px; }
}



/* ――――――――――――――――――――――――――――――
［ serviceAnchor ］
―――――――――――――――――――――――――――――― */

.serviceAnchor { max-width: 840px; font-size: 0; line-height: 0; margin: 0 auto 60px; }
.serviceAnchor a { display: inline-block; width: calc( 1 / 4 * 100% ); border-right: solid 1px #b8c1cf; font-size: 1.6rem; line-height: 2.6rem; color: #26426d; text-align: center; vertical-align: top; text-decoration: none; margin-bottom: 20px; }
.serviceAnchor a:nth-child(4n+1) { border-left: solid 1px #b8c1cf; }
.serviceAnchor a span { position: relative; display: table-cell; width: 210px; height: 70px; vertical-align: middle; padding-bottom: 8px; }
.serviceAnchor a span::after { position: absolute; right: 0; bottom: 4px; left: 0; display: block; width: 7px; height: 7px; border: solid #26426d; border-width: 0 1px 1px 0; content: ""; transform: rotate(45deg); margin-right: auto; margin-left: auto; }

@media screen and (min-width: 821px) {
	.serviceAnchor a span::after { transition: 0.2s ease; }
	.serviceAnchor a:hover span::after { bottom: 0; }
}

@media screen and (max-width: 767px) {
	.serviceAnchor { max-width: 500px; margin-bottom: 30px; }
	.serviceAnchor a { display: block; width: 100%; border-right: none; text-align: left; margin-bottom: 0; }
	.serviceAnchor a:nth-child(4n+1) { border-left: none; }
	.serviceAnchor a:not(:last-child) { border-bottom: solid 1px #b8c1cf; }
	.serviceAnchor a span { display: block; width: 100%; height: auto; padding: 5px 20px 5px 10px; }
	.serviceAnchor a span::after { top: -4px; right: 12px; bottom: 0; left: none; margin: auto 0 auto auto; }
	.serviceAnchor a span br { display: none; }
}



/* ――――――――――――――――――――――――――――――
［ serviceContent ］
―――――――――――――――――――――――――――――― */

.serviceContent { display: table; width: 100%; background-color: #ffffff; border-radius: 20px; padding: 25px 30px; }
.serviceContent:not(:last-child) { margin-bottom: 20px; }
.serviceContent .contentIcon { display: table-cell; width: 100px; vertical-align: middle; }
.serviceContent .contentData { display: table-cell; vertical-align: middle; padding-left: 50px; }
.serviceContent .contentData .dataName { font-family: "Zen Maru Gothic"; font-size: 2.4rem; line-height: 3.4rem; font-weight: 700; margin-bottom: 15px; }
.serviceContent .contentData .dataList { font-size: 0; line-height: 0; }
.serviceContent .contentData .dataList li { position: relative; display: inline-block; width: calc( 100% / 4 ); font-size: 1.7rem; line-height: 3.2rem; padding: 4px 4px 4px 20px; }
.serviceContent .contentData .dataList li.listLine2 { width: calc( 100% / 2 ); }
.serviceContent .contentData .dataList li::before { position: absolute; top: 14px; left: 0; display: block; width: 12px; height: 12px; background-color: #5987d1; border-radius: 50%; content: ""; }
.serviceContent .contentData .dataTxt { font-size: 1.7rem; line-height: 3.2rem; }
.serviceContent .contentData .dataEtc { font-size: 1.6rem; line-height: 2.4rem; text-align: right; }
.serviceContent .contentData .dataBtn { margin-top: 20px; }
.serviceContent .contentData .dataBtn a { position: relative; display: block; border: solid 2px #0094d4; border-radius: 25px; width: 240px; font-size: 1.6rem; line-height: 2.6rem; color: #0094d4; text-align: center; text-decoration: none; padding: 10px 30px; }
.serviceContent .contentData .dataBtn a::after { position: absolute; top: 0; right: 20px; bottom: 0; display: block; width: 7px; height: 7px; border: solid #0094d4; border-width: 0 1px 1px 0; transform: rotate(-45deg); content: ""; margin-top: auto; margin-bottom: auto; }

@media screen and (min-width: 821px) {
	.serviceContent .contentData .dataBtn a,
	.serviceContent .contentData .dataBtn a::after { transition: 0.2s ease; }
	.serviceContent .contentData .dataBtn a:hover { background-color: #0094d4; color: #ffffff; }
	.serviceContent .contentData .dataBtn a:hover::after { border-color: #ffffff; }
}

@media screen and (max-width: 767px) {
	.serviceContent { display: block; border-radius: 12px; padding: 20px 20px 30px; }
	.serviceContent .contentIcon { display: block; width: 75px; margin: 0 auto 10px; }
	.serviceContent .contentData { display: block; padding-left: 0; }
	.serviceContent .contentData .dataName { font-size: 2rem; line-height: 3rem; text-align: center; margin-bottom: 15px; }
	.serviceContent .contentData .dataList li { width: calc( 100% / 2 ); font-size: 1.6rem; line-height: 2.6rem; padding: 3px 5px 3px 18px; }
	.serviceContent .contentData .dataList li.listLine2 { width: 100%; }
	.serviceContent .contentData .dataList li::before { top: 10px; }
	.serviceContent .contentData .dataTxt { font-size: 1.6rem; line-height: 2.6rem; }
	.serviceContent .contentData .dataEtc { font-size: 1.5rem; line-height: 2.4rem; }
	.serviceContent .contentData .dataBtn a { margin-right: auto; margin-left: auto; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 自費診療 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

/* ――――――――――――――――――――――――――――――
［ expenseList1 ］
―――――――――――――――――――――――――――――― */

.expenseList1 { border: solid #cccccc; border-width: 2px 0 1px; font-size: 0; line-height: 0; padding: 16px 10px; }
.expenseList1 li { position: relative; display: inline-block; width: calc( 100% / 3 ); font-size: 1.8rem; line-height: 2.6rem; vertical-align: top; padding: 7px 0 7px 20px; }
.expenseList1 li.line3 { width: 100%; }
.expenseList1 li::before { position: absolute; top: 14px; left: 0; display: block; width: 12px; height: 12px; border-radius: 6px; background-color: #5987d1; content: ""; }

@media screen and (max-width: 767px) {
	.expenseList1 { padding: 13px 15px; }
	.expenseList1 li { display: block; width: 100%; font-size: 1.6rem; line-height: 2.2rem; padding-top: 5px; padding-bottom: 5px; }
	.expenseList1 li::before { top: 10px; }
}



/* ――――――――――――――――――――――――――――――
［ expenseMenu1 ］
―――――――――――――――――――――――――――――― */

.expenseMenu1 { border-top: solid 2px #cccccc; }
.expenseMenu1 li { display: table; width: 100%; border-bottom: solid 1px #cccccc; padding: 22px 10px 24px; }
.expenseMenu1 .menuData { display: table-cell; vertical-align: middle; }
.expenseMenu1 .menuPrice { display: table-cell; vertical-align: middle; text-align: right; white-space: nowrap; padding-left: 10px; }

@media screen and (max-width: 767px) {
	.expenseMenu1 li { padding-top: 7px; padding-bottom: 9px; }
}



/* ――――――――――――――――――――――――――――――
［ expenseMenu2 ］
―――――――――――――――――――――――――――――― */

.expenseMenu2 { overflow: hidden; border: solid #cccccc; border-width: 2px 0 1px; }
.expenseMenu2 li { width: calc( 410 / 860 * 100% ); padding: 22px 10px 24px; }
.expenseMenu2 li:nth-child(odd) { float: left; }
.expenseMenu2 li:nth-child(even) { float: right; }
.expenseMenu2 li:not(:last-child) { border-bottom: solid 1px #cccccc; }
.expenseMenu2 dl { display: table; width: 100%; }
.expenseMenu2 dl dt { display: table-cell; font-weight: 700; vertical-align: middle; }
.expenseMenu2 dl dd { display: table-cell; vertical-align: middle; text-align: right; white-space: nowrap; padding-left: 10px; }

@media screen and (max-width: 767px) {
	.expenseMenu2 li { width: 100%; padding-top: 7px; padding-bottom: 9px; }
	.expenseMenu2 li:nth-child(odd),
	.expenseMenu2 li:nth-child(even) { float: none; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 院内紹介 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

/* ――――――――――――――――――――――――――――――
［ facilityList ］
―――――――――――――――――――――――――――――― */

.facilityList { font-size: 0; line-height: 0; }
.facilityList .listPhoto { display: inline-block; width: calc( 420 / 920 * 100% ); vertical-align: top; }
.facilityList .listPhoto:nth-child(even) { margin-left: calc( 80 / 920 * 100% ); }
.facilityList .listPhoto:nth-child(n+3) { margin-top: 50px; }
.facilityList .listPhoto .pgotoName { font-size: 1.9rem; line-height: 2.8rem; font-weight: 700; margin-bottom: 10px; }
.facilityList .listPhoto .photoImg { overflow: hidden; border-radius: 10px; }
.facilityList .listPhoto .photoImg.imgFrame { position: relative;}
.facilityList .listPhoto .photoImg.imgFrame::before { position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; border: solid 1px #dddddd; border-radius: 10px; content: ""; }
.facilityList .listPhoto .photoCap { font-size: 1.6rem; line-height: 2.8rem; margin-top: 8px; }

@media screen and (max-width: 829px) {
	.facilityList { max-width: 420px; margin-right: auto; margin-left: auto; }
	.facilityList .listPhoto .pgotoName br { display: none; }
	.facilityList .listPhoto { display: block; width: 100%; }
	.facilityList .listPhoto:nth-child(2) { margin-top: 50px; }
	.facilityList .listPhoto:nth-child(even) { margin-left: 0; }
}

@media screen and (max-width: 767px) {
	.facilityList .listPhoto .pgotoName { font-size: 1.8rem; line-height: 2.4rem; margin-bottom: 10px; }
	.facilityList .listPhoto .photoCap { line-height: 2.6rem; margin-top: 10px; }
}
