/*
Theme Name: 基本テンプレート
Description: レイアウト：テンプレート
*/


/* pc header
---------------------------------------------------------- */
.headBox {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 94px;
	padding: 0 1%;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: rgba(255, 255, 255, 0.8);
	z-index: 99;
}

.headBox h1 {
	width: 19%;
}

@media screen and (min-width: 768px) and (max-width: 1187px) {
	.headBox h1 {
		width: 17%;
	}
}

.menuBox {
	width: 57%;
	margin-left: 5%;
}

@media screen and (min-width: 768px) and (max-width: 1187px) {
	.menuBox {
		width: 51%;
		margin-left: 2%;
	}
}

.menuBox ul li {
	position: relative;
	cursor: pointer;
	width: calc(100% / 7);
	width: -webkit-calc(100% / 7);
	padding: 0.5rem 0.2rem;
	font-size: 1.4rem;
	text-align: center;
}

@media screen and (min-width: 1187px) and (max-width: 1290px) {
	.menuBox ul li {
		font-size: 1.2rem;
	}
}

@media screen and (min-width: 768px) and (max-width: 1187px) {
	.menuBox ul li {
		font-size: 1.1rem;
	}
}

.menuBox ul li span {
	position: relative;
}

.menuBox ul li span:hover:before {
	position: absolute;
	top: 0;
	left: -2.0rem;
	content: '●';
	color: #80b41f;
}

@media screen and (max-width: 1187px) {
	.menuBox ul li span:hover:before {
		content: none;
	}

	.menuBox ul li:not(.parent) a:hover {
		opacity: 0.7;
	}
}

.menuBox ul li>ul.sub {
	display: none;
	position: absolute;
	top: 3.2rem;
	left: 0;
	width: 25.0rem;
	padding: 1.0rem 0 0 1.0rem;
	background: #fff;
}

.menuBox ul li>ul.sub li {
	width: 100%;
	padding: 0.5rem 2.0rem;
	text-align: left;
}


/* sp header
---------------------------------------------------------- */
#spHead {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background: #fff;
	z-index: 999;
}

.spBtn {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	ustify-content: space-between;
	z-index: 888;
}

.spBtn>div {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 50%;
	padding: 3%;
}

.spBtn>div img {
	margin: auto;
}


/* footer
---------------------------------------------------------- */
footer {
	padding-bottom: 3%;
}

@media screen and (max-width: 769px) {
	footer {
		padding-bottom: 15%;
	}
}

.fBox {
	padding: 5.0rem 0 0 0 !important;
}

@media screen and (max-width: 769px) {
	.fBox {
		padding: 5.0rem 0 !important;
	}
}

.fInBox {
	max-width: 67.5rem;
	margin: auto;
}

.fLogo {
	width: 42.0rem;
}

.fLogo img {
	max-width: 30.0rem;
}

.fLogo p {
	font-size: 1.2rem;
	padding: 5%;
}

@media screen and (max-width: 769px) {
	.fLogo {
		width: 100%;
	}

	.fLogo img {
		max-width: unset;
		width: 100%;
		margin: auto;
	}

	.fLogo p {
		font-size: 3.33vw;
		letter-spacing: 0.5vw;
		text-align: center;
		padding: 5% 0;
	}
}

.fImg1 {
	width: 25.0rem;
}

@media screen and (max-width: 769px) {
	.fImg1 {
		width: 80%;
		margin: auto;
	}
}

.fMenu {
	background: url(../images/common/fImg2.png) no-repeat top 20% left 50%;
	background-size: 72% auto;
	max-width: 65.0rem;
	margin: auto;
	aspect-ratio: 675 / 320;
}

.fMenu ul {
	width: calc(100% / 4);
	width: -webkit-calc(100% / 4);
}

.fMenu ul li {
	font-size: 1.2rem;
	padding: 0 0 5% 0;
}

.fMenu ul li._blank {
	padding: 0;
}

@media screen and (max-width: 769px) {
	.fMenu {
		background: url(../images/common/fImg2.png) no-repeat bottom 0 left 10%;
		background-size: 80% auto;
		max-width: unset;
		width: 90%;
		margin: 0 0 0 auto;
		padding-bottom: 10%;
	}

	.fMenu ul {
		width: 48%;
		margin-bottom: 5%;
	}

	.fMenu ul li {
		font-size: 3.33vw;
		padding: 0 0 5% 0;
	}

	.fMenu ul li._blank {
		display: none;
	}
}

p.copy {
	font-size: 1.0rem;
	text-align: center;
	margin-top: -3%;
}

/* page-top */
#page-top {
	display: none;
	position: fixed;
	bottom: 4.0rem;
	right: 4.0rem;
	width: 10.0rem;
	cursor: pointer;
}

@media screen and (max-width: 769px) {
	#page-top {
		bottom: 20%;
		right: 5%;
	}
}

@media screen and (max-width: 480px) {
	#page-top {
		width: 5.3rem;
		bottom: 15%;
		right: 5%;
	}
}



/* コンテンツ： 共通
---------------------------------------------------------- */
.contentBox {
	max-width: 1024px;
	margin: auto;
}

@media screen and (max-width: 768px) {
	.contentBox {
		width: 90%;
		margin: auto;
		padding: 0;
	}
}


h2.ttl {
	font-size: 2.4rem;
	text-align: center;
}

h2.ttl img {
	width: 24.3rem;
	margin: 2.0rem auto 0 auto;
}

@media screen and (max-width: 769px) {
	h2.ttl {
		font-size: 7.083vw;
	}

	h2.ttl img {
		width: 71.667vw;
	}
}


/* ファーストビュー
---------------------------------------------------------- */
.fvBox {
	position: relative;
	width: 63%;
	margin: -8% 0 0 auto;
	padding: 1% 3% 2% 3%;
	background: #fff;
	border-radius: 2.0rem 0 0 2.0rem;
	box-shadow: 5px 5px 5px #bfbfbf;
}

.fvBox>div:first-child {
	margin-right: 3%;
}

.fvBox>div._pc {
	width: 50%;
	padding-top: 2%;
}

@media screen and (max-width: 769px) {
	.fv {
		margin-top: 70px;
	}

	.fvBox {
		width: 90%;
		margin: -8% auto 0 auto;
		padding: 5% 2%;
		border-radius: 2.0rem;
	}

	.fvBox>div:last-child {
		width: 100%;
		padding-top: 5%;
	}
}


/* TOP: ボタン
---------------------------------------------------------- */
.headBtn {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: flex-end;
	max-width: 48.2rem;
}

@media screen and (min-width: 768px) and (max-width: 1187px) {
	.headBtn {
		max-width: 40rem;
	}
}

.headBtn a.hTel {
	max-width: 39%;
}

@media screen and (min-width: 768px) and (max-width: 1187px) {
	.headBtn a.hTel {
		max-width: 46%;
	}
}

.headBtn a.hWeb {
	max-width: 37%;
	margin: 0 2%;
}

@media screen and (min-width: 768px) and (max-width: 1187px) {
	.headBtn a.hWeb {
		max-width: 31%;
		border-radius: 8px;
		overflow: hidden;
	}

	.headBtn a.hWeb img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

.headBtn a.hMap {
	max-width: 15%;
}

@media screen and (min-width: 768px) and (max-width: 1187px) {
	.headBtn a.hMap {
		max-width: 19%;
	}
}

.cBtn {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	max-width: 82.4rem;
	margin: 5% auto 0 auto;
}

.cBtn a.hTel {
	max-width: 39%;
}

.cBtn a.hWeb {
	max-width: 37%;
	margin: 0 3%;
}

.cBtn a.hMap {
	max-width: 15%;
}

@media screen and (max-width: 769px) {
	.cBtn {
		padding: 0 5%;
	}
}


/* バナー
---------------------------------------------------------- */
.bnrBox {
	max-width: 82.4rem;
	margin: auto;
	padding: 5% 0;
}

@media screen and (max-width: 769px) {
	.bnrBox {
		max-width: 90%;
		margin: auto;
		padding: 10% 0;
	}
}


/* more ボタン
---------------------------------------------------------- */
.more1 {
	max-width: 24.0rem;
	margin: auto;
}

@media screen and (max-width: 769px) {
	.more1 {
		max-width: unset;
		width: 70%;
		padding-top: 3%;
	}
}

.moreA,
.moreB {
	max-width: 24.0rem;
}

@media screen and (max-width: 769px) {

	.moreA,
	.moreB {
		max-width: unset;
		width: 70%;
		margin: auto;
	}

	.moreB {
		padding-top: 3%;
	}
}


/* TOP: 当院について
---------------------------------------------------------- */
.c1Bk {
	position: relative;
	max-width: 135.0rem;
	margin: auto;
}

.c1Bk img {
	width: 26%;
}

.c1Bk img.left {
	position: absolute;
	top: 0;
	left: 0;
}

.c1Bk img.right {
	position: absolute;
	top: 0;
	right: 0;
}

.c1Bk img.img2_3_sp {
	display: none;
}

@media screen and (max-width: 769px) {

	.c1Bk img.left,
	.c1Bk img.right {
		display: none;
	}

	.c1Bk img.img2_3_sp {
		display: block;
		width: 100%;
		margin: 5% 0;
	}
}

.c1 {
	position: relative;
	padding: 5.0rem 0 8.0rem 0;
}

.c1 h2.ttl {
	position: absolute;
	top: -1.0rem;
	left: 0;
	width: 100%;
}

.c1>div._flexCenter {
	max-width: 47.0rem;
	margin: 4.5rem auto;
}

.c1>div._flexCenter h3 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 48%;
	font-size: 1.3rem;
	color: #006934;
	background: url(../images/top/h3Bk.png) no-repeat 50% 50%;
	background-size: cover;
	border-radius: 1.0rem;
	margin-right: 4%;
	padding: 1.0rem 0;
}

.c1>div._flexCenter h3:last-child {
	margin-right: 0;
}

.c1 p {
	font-size: 1.4rem;
	line-height: 2.5;
	text-align: center;
}

@media screen and (max-width: 769px) {
	.c1>div._flexCenter {
		position: relative;
		z-index: 10;
	}

	.c1>div._flexCenter h3 {
		font-size: 3.750vw;
	}

	.c1 p {
		font-size: 3.33vw;
	}
}


/* TOP: 以下のようなお悩みの方は当院にお気軽にご相談ください。
---------------------------------------------------------- */
.c2Bk {
	background: url(../images/top/bk1.png) repeat-x 0 0;
	background-size: auto 100%;
}

.c2 {
	position: relative;
}

.c2 h2 {
	position: absolute;
	top: -2%;
	left: 0;
	width: 100%;
	font-size: 2.1rem;
	color: #604c3f;
	text-align: center;
}

.c2 h2 img {
	width: 10.0rem;
	margin: 2% auto 0 auto;
}

.c2 section {
	background: #fff;
}

@media screen and (max-width: 769px) {
	.contentBox.c2 {
		width: 100%;
	}

	.c2 h2 {
		font-size: 5vw;
		top: -4.5%;
	}

	.c2 h2 img {
		width: 31.042vw;
	}
}

.c2Txt {
	background: url(../images/top/bk2.png) no-repeat 50% 50%;
	background-size: cover;
	width: 60%;
	padding: 4.0rem 3.0rem;
}

.c2Txt p {
	font-size: 1.4rem;
	text-align: center;
}

.c2Txt>div._flexCenter {
	max-width: 46.2rem;
	margin: 2.5rem auto 2.0rem auto;
}

.c2Txt h3 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	font-size: 1.3rem;
	color: #006934;
	background: url(../images/top/h3Bk.png) no-repeat 50% 50%;
	background-size: cover;
	border-radius: 3.0rem;
	padding: 1.0rem 0;
	width: 22.6rem;
	margin-right: 2%;
}

.c2Txt h3:nth-child(2) {
	margin-right: 0;
}

.c2Txt>div a {
	display: block;
	width: 48%;
}

@media screen and (max-width: 769px) {
	.c2Txt {
		width: 100%;
	}

	.c2Txt p {
		font-size: 4.167vw;
	}

	.c2Txt>div a {
		width: 90%;
		margin: 0 auto 5% auto;
	}

	.c2Txt>div._flexCenter {
		display: block;
		padding-bottom: 5%;
	}

	.c2Txt h3 {
		font-size: 3.750vw;
		width: 66.667vw;
		aspect-ratio: 320 / 82;
		margin: 0 auto 5% auto;
		border-radius: 10.417vw;
	}

	.c2Txt h3:nth-child(2) {
		margin: 0 auto;
	}
}

.c2Img {
	width: 40%;
	background: url(../images/top/img5.png) no-repeat 50% 50%;
	background-size: cover;
}

.c2Img._footer {
	width: 40%;
	background: url(../images/top/img5.jpg) no-repeat 50% 50%;
	background-size: cover;
}

@media screen and (max-width: 769px) {

	.c2Img,
	.c2Img._footer {
		width: 100%;
		aspect-ratio: 480 / 320;
	}
}


/* TOP: 初めて当院へお越しいただく方へ
---------------------------------------------------------- */
.c3 {
	max-width: 134.0rem;
	margin: auto;
	padding: 7.0rem 0 8.0rem 0;
}

.c3Txt,
.c3Img1,
.c3Img2 {
	width: 50%;
}

.c3Txt {
	background: url(../images/top/bk3.png) no-repeat 50% 50%;
	background-size: cover;
	aspect-ratio: 670 / 390;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	padding: 0 3.0rem;
}

.c3Txt h3 {
	font-size: 1.8rem;
	text-align: center;
}

.c3Txt h3 img {
	max-width: 26.8rem;
	margin: 3.0rem auto 4.0rem auto;
}

.c3Txt p {
	font-size: 1.3rem;
	line-height: 2.0;
}

.c3Txt a {
	display: block;
	max-width: 17.3rem;
	margin: 2% 0 0 0;
}

.c3Box._reverse .c3Txt p {
	margin-top: -2.0rem;
	padding-left: 10%;
}

.c3Box._reverse .c3Txt>section>div>div {
	width: 65%;
}

.c3Img1 {
	background: url(/custom/images/front-page/reception.webp) no-repeat 50% 50%;
	background-size: cover;
}

.c3Img2 {
	background: url(/wp-content/uploads/S__256630829_0-scaled.jpg) no-repeat 50% 50%;
	background-size: cover;
}

.c3More {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

@media screen and (max-width: 769px) {

	.c3Img1,
	.c3Img2 {
		width: 90%;
		aspect-ratio: 430 / 249;
		margin: 0 auto 5% auto;
	}

	.c3Txt {
		width: 90%;
		margin: 0 auto;
		padding: 10% 5%;
	}

	.c3Txt h3 {
		font-size: 5.417vw;
	}

	.c3Txt h3 img {
		max-width: unset;
		width: 80%;
	}

	.c3Txt p {
		font-size: 3.750vw;
	}

	.c3Box._reverse .c3Txt p {
		padding-left: 0;
	}

	.c3Txt a {
		max-width: unset;
		width: 57%;
		margin: 0 auto;
	}

	.c3Box._reverse .c3Txt>section>div>div {
		width: 100%;
		margin-bottom: 4.0rem;
	}
}


/* TOP: 当院の特徴
---------------------------------------------------------- */
.c4Bk {
	background: url(../images/top/bk6.png) no-repeat top 0 left 0;
	background-size: 100% 100%;
}

.c4 {
	padding: 3.0rem 0 10.0rem 0;
}

.c4 h3 {
	max-width: 35.7rem;
	margin: 0 auto 6.0rem auto;
}

@media screen and (max-width: 769px) {
	.c4 h3 {
		max-width: unset;
		width: 100%;
	}
}

.c4Unit {
	width: 30%;
	margin-bottom: 4.0rem;
}

.c4Unit>div {
	position: relative;
}

.c4Unit>div h4 {
	position: absolute;
	top: 7%;
	left: 0;
	width: 100%;
	font-size: 1.6rem;
	text-align: center;
}

.c4Unit:nth-child(2)>div h4,
.c4Unit:nth-child(3)>div h4,
.c4Unit:nth-child(6)>div h4 {
	top: 10%;
}

.c4Unit>div h4 span {
	color: #006934;
}

.c4Unit p {
	font-size: 1.3rem;
	line-height: 2.0;
	padding: 2%;
}

@media screen and (max-width: 769px) {
	.c4Unit {
		width: 100%;
	}

	.c4Unit>div h4 {
		font-size: 4.583vw;
	}

	.c4Unit p {
		font-size: 3.750vw;
	}
}


/* TOP: ドクター紹介
---------------------------------------------------------- */
.c5 {
	margin-bottom: 13.5rem;
}

@media screen and (max-width: 769px) {
	.c5 {
		margin-bottom: 10.0rem;
	}
}

.c5Box {
	position: relative;
	margin: 4.0rem 0 5.0rem 0;
}

.c5Txt {
	position: relative;
	background: url(../images/top/bk7.png) no-repeat 50% 50%;
	background-size: cover;
	width: 57%;
	padding: 3.0rem 0 3.0rem 9.0rem;
	border-radius: 2.0rem;
}

.c5Txt img {
	max-width: 46.4rem;
	margin-bottom: 2.0rem;
}

.c5Txt p {
	font-size: 1.3rem;
	line-height: 3.0;
}

.c5Txt p span {
	color: #006934;
	background: #fff;
	padding: 1% 2%;
}

.c5Txt p b {
	display: block;
	padding-left: 41%;
	font-weight: 500;
}

@media screen and (max-width: 769px) {
	.c5Txt {
		width: 100%;
		padding: 3% 0 3% 5%;
	}

	.c5Txt p {
		font-size: 3.750vw;
		padding-right: 5%;
	}

	.c5Txt p b {
		padding: 0 5% 0 0;
		text-align: right;
	}
}

.c5Img {
	position: absolute;
	top: 7%;
	right: 0;
	width: 52%;
	z-index: 2;
}

@media screen and (max-width: 769px) {
	.c5Img {
		position: relative;
		width: 100%;
		margin: 0 0 2% 0;
	}
}

img.Illust {
	position: absolute;
	bottom: -20%;
	right: 10%;
	width: 36%;
	z-index: 3;
}

img.Illust._sp {
	display: none;
}

@media screen and (max-width: 769px) {
	img.Illust._pc {
		display: none;
	}

	img.Illust._sp {
		display: block;
		position: absolute;
		bottom: -22%;
		right: unset;
		left: 3%;
		width: 57%;
	}
}

.more2 {
	max-width: 17.0rem;
}

@media screen and (max-width: 769px) {
	.more2 {
		max-width: unset;
		width: 72%;
		margin: auto;
	}
}


/* TOP: 診療案内
---------------------------------------------------------- */
.c6Bk {
	background: url(../images/top/bk8.png) no-repeat 50% 50%;
	background-size: cover;
}

.c6 {
	position: relative;
	padding: 2.0rem 0 8.0rem 10.0rem;
}

.c6 h2 {
	font-size: 3.2rem;
	color: #006934;
}

@media screen and (max-width: 769px) {
	.c6 {
		padding: 0 0 10% 0;
	}

	.c6 h2 {
		font-size: 9.375vw;
	}
}

.c6Txt {
	padding: 4.0rem 0;
}

.c6Txt p {
	width: 45.0rem;
	font-size: 1.3rem;
	line-height: 2.0;
}

@media screen and (max-width: 769px) {
	.c6Txt {
		padding: 2.0rem 0 4.0rem 0;
	}

	.c6Txt p {
		width: 100%;
		font-size: 3.33vw;
	}
}

.more3 {
	max-width: 24.0rem;
	margin: 2.0rem 0 0 0;
}

@media screen and (max-width: 769px) {
	.more3 {
		max-width: unset;
		width: 79%;
		margin: 2.0rem auto 0 auto;
	}
}

img.c6Ttl {
	position: absolute;
	top: 5%;
	left: 0;
	width: 6.7rem;
}

@media screen and (max-width: 769px) {
	img.c6Ttl {
		display: none;
	}
}

.c6Box {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.c6Box>div {
	position: relative;
	width: calc((100% - 15%) / 4);
	width: -webkit-calc((100% - 15%) / 4);
	margin: 0 5% 5% 0;
}

.c6Box>div:nth-child(4n),
.c6Box>div:last-child {
	margin-right: 0;
}

.c6Box>div p {
	display: block;
	position: absolute;
	top: 68%;
	left: 0;
	width: 100%;
	font-size: 1.6rem;
	color: #004500;
	text-align: center;
}

@media screen and (max-width: 769px) {
	.c6Box>div {
		width: calc((100% - 3%) / 2);
		width: -webkit-calc((100% - 3%) / 2);
		margin: 0 3% 5% 0;
	}

	.c6Box>div:nth-child(even) {
		margin-right: 0;
	}

	.c6Box>div p {
		font-size: 4.583vw;
		line-height: 1.3;
	}
}


/* TOP: 診療案内
---------------------------------------------------------- */
.c7 {
	padding: 7.0rem 0;
}

@media screen and (max-width: 769px) {
	.c7 {
		padding: 0 0 7.0rem 0;
	}
}

.c7Box {
	background: url(../images/top/bk9.png) no-repeat 50% 50%;
	background-size: cover;
	max-width: 89.0rem;
	margin: auto;
	padding: 5% 0;
	border-radius: 2.0rem;
}

.c7Box>div {
	width: 50%;
	margin: 0 0 0 auto;
}

.c7Box>div p {
	font-size: 1.3rem;
	line-height: 2.0;
	text-align: center;
	padding: 3.5rem 0 6.0rem 0;
}

.c7Box>div p span {
	font-size: 1.5rem;
	color: #dd5659;
}

@media screen and (max-width: 769px) {
	.contentBox.c7 {
		width: 100%;
	}

	.c7Box {
		background: url(../images/top/bk9_sp.png) no-repeat 50% 50%;
		background-size: cover;
		max-width: unset;
		width: 100%;
		border-radius: unset;
	}

	.c7Box>div {
		width: 100%;
		margin: 0;
	}

	.c7Box>div p {
		font-size: 3.750vw;
	}

	.c7Box>div p span {
		font-size: 4.375vw;
	}
}

.more4 {
	max-width: 20.0rem;
	margin: auto;
}

.more4 img {
	margin-right: -2%;
}

@media screen and (max-width: 769px) {
	.more4 {
		max-width: 30.0rem;
	}
}


/* TOP: 求人案内
---------------------------------------------------------- */
.c8Bk {
	background: url(../images/top/bk10.png) no-repeat 50% 50%;
	background-size: cover;
}

.c8 {
	position: relative;
	max-width: 126.0rem;
	margin: auto;
}

img.c8Left {
	position: absolute;
	top: 20%;
	left: 0;
	width: 22%;
}

img.c8Right._pc {
	position: absolute;
	top: 5%;
	right: 0;
	width: 39%;
}

img.c8Right._sp {
	display: none;
}

@media screen and (max-width: 769px) {
	img.c8Left {
		display: none;
	}

	img.c8Right._pc {
		display: none;
	}

	img.c8Right._sp {
		display: block;
		margin-bottom: 10%;
	}
}

.c8Box {
	position: relative;
	width: 75%;
	margin: 0 0 0 auto;
	padding: 0 0 6.0rem 0;
}

.c8Box h2 {
	font-size: 1.8rem;
	color: #006934;
	padding: 8.0rem 0 0 13.0rem;
}

.c8Box p {
	font-size: 1.3rem;
	line-height: 2.0;
	padding: 6.0rem 0 3.0rem 0;
}

@media screen and (max-width: 769px) {
	.c8Box {
		width: 90%;
		margin: auto;
	}

	.c8Box h2 {
		font-size: 5.417vw;
		padding: 35% 0 0 40%;
	}

	.c8Box p {
		font-size: 3.33vw;
	}
}

img.ttl2 {
	position: absolute;
	top: 10%;
	left: 0;
	width: 11.7rem;
}

@media screen and (max-width: 769px) {
	img.ttl2 {
		width: 34%;
	}
}

.c8Line {
	position: absolute;
	top: 15%;
	left: 11.7rem;
	width: 100%;
	height: 1px;
	background: #006934;
}

@media screen and (max-width: 769px) {
	.c8Line {
		left: 34%;
	}
}

.more5 {
	max-width: 21.0rem;
}

@media screen and (max-width: 769px) {
	.more5 {
		max-width: unset;
		width: 62%;
		margin: auto;
	}
}


/* TOP: お知らせ | ブログ
---------------------------------------------------------- */
.c9Bk {
	background: rgba(240, 255, 236, 0.2);
}

.c9 {
	padding: 2.5rem 0 6.5rem 0;
}

.topList {
	width: 48%;
}

.topList h2 {
	max-width: 25.4rem;
	margin: 0 auto 3.0rem auto;
}

.topList ul li {
	margin-bottom: 5%;
	padding: 2% 3%;
	background: #fff;
	border-radius: 1.0rem;
	box-shadow: 3px 3px 3px #b3c4b6;
}

.topList ul li p {
	font-size: 1.2rem;
}

.topList ul li p span {
	color: #006934;
	padding-right: 2%;
}

@media screen and (max-width: 769px) {
	.topList {
		width: 100%;
		margin-bottom: 5%;
	}

	.topList:last-child {
		margin: 0;
	}

	.topList ul li {
		padding: 5%;
	}

	.topList ul li p {
		font-size: 3.125vw;
	}
}

a._more {
	display: block;
	max-width: 13.0rem;
	margin: 0 0 0 auto;
}

@media screen and (max-width: 769px) {
	a._more {
		max-width: unset;
		width: 38%;
	}
}


/* TOP: アクセス
---------------------------------------------------------- */
.c10 {
	padding: 6.0rem 0 5.0rem 0;
}

.c10Box {
	margin: 4.0rem 0 0 0;
}

.c10Box>div {
	width: 48%;
}

.topAccess img.logo {
	max-width: 25.0rem;
}

.topAccess p {
	font-size: 1.2rem;
	padding: 2% 0 5% 0;
}

@media screen and (max-width: 769px) {
	.contentBox.c10 {
		width: 100%;
	}

	.c10Box>div {
		width: 100%;
		margin-bottom: 5%;
	}

	.topAccess {
		padding: 0 5%;
	}

	.topAccess p {
		font-size: 3.33vw;
		letter-spacing: 0.5vw;
		text-align: center;
	}

	.topAccess img.logo {
		max-width: unset;
		width: 80%;
		margin: auto;
	}
}


/* Map: TOP
---------------------------------------------------------- */
.map {
	position: relative;
	width: 100%;
	aspect-ratio: 418 / 255;
	margin: 0;
	overflow: hidden;
}

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

/* Map: アクセス
---------------------------------------------------------- */
.map._access {
	aspect-ratio: 418 / 150;
}


/* カテゴリ： 共通
---------------------------------------------------------- */
.catVBk {
	background: url(../images/cat/catVBk.png) no-repeat 50% 50%;
	background-size: cover;
	aspect-ratio: 1540 / 180;
	margin-top: 9.4rem;
}

@media screen and (max-width: 769px) {
	.catVBk {
		aspect-ratio: 480 / 180;
		margin-top: 70px;
	}
}

.catV {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	max-width: 1024px;
	height: 100%;
	margin: auto;
}

.catV h1 {
	font-size: 2.4rem;
}

.catV img {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 20%;
}

@media screen and (max-width: 769px) {
	.catV h1 {
		font-size: 5vw;
		padding-left: 5%;
	}
}

.catBox {
	max-width: 1024px;
	margin: auto;
	padding: 8.0rem 0 20.0rem 0;
}

.catBox h2 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
	aspect-ratio: 1024 / 73;
	background: url(../images/cat/tBk.png) no-repeat 50% 50%;
	background-size: cover;
	padding: 0 5%;
	font-size: 1.8rem;
}

.catBox h3 {
	font-size: 1.5rem;
	color: #fff;
	padding: 1%;
	background: #006934;
	border-radius: 1.0rem;
}

.catBox h3 span {
	display: block;
	padding: 1% 5%;
	border-bottom: 1px solid #fff;
}

.catBox h4 {
	font-size: 1.4rem;
	padding: 1% 5%;
	border-bottom: thick double #ccd100;
	;
}

.catBox p,
.catBox ul,
.catBox ol {
	font-size: 1.5rem;
	line-height: 2.0;
	padding: 0 5%;
}

.catBox p b {
	font-size: 1.6rem;
	color: #006934;
}

.catBox p img {
	width: 100%;
}

.catBox>div._flex>div b {
	font-size: 1.5rem;
}

@media screen and (max-width: 768px) {
	.catBox {
		width: 90%;
		margin: auto;
	}

	.catBox h2 {
		font-size: 3.750vw;
		aspect-ratio: 480 / 73;
	}

	.catBox h3 {
		font-size: 3.33vw;
		padding: 2%;
	}

	.catBox h4,
	.catBox p,
	.catBox ul,
	.catBox ol,
	.catBox>div._flex>div b {
		font-size: 3.125vw;
	}

	.catBox p img {
		width: 100%;
	}
}

.commonBox {
	max-width: 87.6rem;
	margin: auto;
}

.catImg {
	width: 46%;
}

.catImg>div {
	position: relative;
	aspect-ratio: 475 / 274;
	overflow: hidden;
}

.catImg>div img {
	position: absolute;
	top: 50%;
	left: 50%;
	aspect-ratio: 475 / 274;
	-o-object-fit: cover;
	object-fit: cover;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.catTxt {
	width: 54%;
	padding-left: 5%;
}

.catTxt p {
	font-size: 1.4rem;
	line-height: 2.0;
}

.catTxt p b._black {
	color: #000;
}

.catTxt p span img {
	width: 10.0rem;
	margin: 0 0 0 auto;
}

._reverse .catTxt {
	padding-right: 5%;
}

@media screen and (max-width: 769px) {

	.catImg,
	.catTxt {
		width: 100%;
	}

	.catTxt {
		padding: 5% 0 0 0;
	}

	.catTxt h5 {
		width: 20.833vw;
	}

	.catTxt p {
		font-size: 3.33vw;
	}
}

.catTb {
	width: 78%;
	margin: auto;
}

.catTb table {
	width: 100%;
	border-collapse: collapse;
	font-size: 1.3rem;
}

.catTb table th {
	width: 20%;
	padding: 1.0rem 0;
	background: #f0f0f0;
	font-weight: normal;
}

.catTb table td {
	padding: 1.0rem 2.0rem;
	border-left: 3px solid #fff;
	border-bottom: 2px solid #ccd100;
}

@media screen and (max-width: 769px) {
	.catTb {
		width: 90%;
	}

	.catTb table {
		font-size: 2.917vw;
	}

	.catTb table th {
		width: 40%;
	}
}

.catImgW {
	position: relative;
	width: 100%;
	aspect-ratio: 1024 / 300;
	overflow: hidden;
}

.catImgW img {
	position: absolute;
	top: 50%;
	left: 50%;
	aspect-ratio: 1024 / 300;
	-o-object-fit: cover;
	object-fit: cover;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}


/* スペース調整 */
.mb5 {
	margin-bottom: 5% !important;
}

.mb10 {
	margin-bottom: 1.0rem !important;
}

.mb30 {
	margin-bottom: 3.0rem !important;
}

.mb50 {
	margin-bottom: 5.0rem !important;
}

.mb100 {
	margin-bottom: 10.0rem;
}

.mt50 {
	margin-top: 5.0rem !important;
}


/* コンテンツ：　院内ツアー
---------------------------------------------------------- */
.clinicBox {
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;

}

.clinicBox>div {
	width: 49%;
	margin: 0 2% 3% 0;
	padding: 1%;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
	border-radius: 1.0rem;
}

.clinicBox>div:nth-child(2n) {
	margin-right: 0;
}

p.caption {
	line-height: unset;
	margin: 0;
	padding: 2.5rem;
	text-align: center;
}

p.caption span {
	display: block;
	font-size: 1.3rem;
	text-align: justify;
	padding: 1.0rem 0;
}

@media screen and (max-width: 769px) {
	.clinicBox>div {
		width: 100%;
		margin-bottom: 5%;
	}

	.clinicBox>div:nth-child(2n) {
		margin-right: 0;
	}

	.clinicBox p {
		font-size: 3.733vw;
	}
}

.popImg {
	position: relative;
	aspect-ratio: 290 / 220;
	border-radius: 1.0rem;
	overflow: hidden;
}

.popImg img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 110%;
	height: auto;
	-o-object-fit: cover;
	object-fit: cover;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}


.catList {
	width: 108%;
}

.catList ul li {
	margin-bottom: 5%;
	padding: 2% 3%;
	background: #fff;
	border-radius: 1.0rem;
	box-shadow: 3px 3px 3px #b3c4b6;
}

.catList ul li p {
	font-size: 1.2rem;
}

.catList ul li p span {
	color: #006934;
	padding-right: 2%;
}

@media screen and (max-width: 769px) {
	.catList {
		width: 100%;
		margin-bottom: 5%;
	}

	.catList:last-child {
		margin: 0;
	}

	.catList ul li {
		padding: 5%;
	}

	.catList ul li p {
		font-size: 3.125vw;
	}
}


.catTxt._doctor {
	padding: 0 !important;
}

body:not(.page_contact) .grecaptcha-badge {
	display: none !important;
}


/* 診療案内メニュー
---------------------------------------------------------- */

/* ===== 4×3 グリッド（PC:4列 / タブレット:3列 / スマホ:2→1列） ===== */
.nav-grid {
	list-style: none !important;
	padding: 0 !important;
	margin-top: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	margin-bottom: 4rem !important;
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px !important;
	padding: 0 !important;
}

.nav-grid>li {
	margin: 0 !important;
	border: 1px solid #ccc !important;
	padding: 8% !important;
	text-decoration: none !important;
	text-indent: 0 !important;
	max-height: 65px;
}

.nav-grid>li::before {
	margin: 0;
	content: "" !important;
	text-decoration: none !important;
	text-indent: 0 !important;
}

.nav-grid>li:hover {
	background-color: #d9eee0;
	opacity: 0.9;

}

/* ===== カードリンク ===== */
.nav-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 14px 16px;
	height: 100%;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	background: #fff;
	color: #111827;
	text-decoration: none;
}

.nav-card::after {
	content: '';
	width: 6px;
	height: 6px;
	border: 0;
	border-bottom: solid 2px #333;
	border-right: solid 2px #333;
	transform: rotate(45deg);
	position: relative;
	top: 0;
	bottom: 0;
	left: auto;
	right: 0;
	margin: auto 0;
}

.nav-title {
	font-weight: 700;
	font-size: 15px;
	line-height: 1.35;
}

.nav-arrow {
	font-size: 16px;
	opacity: .45;
	transition: transform .18s ease, opacity .18s ease;
}



/* レスポンシブ */
@media (max-width: 1024px) {
	.nav-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 768px) {
	.nav-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.nav-card {
		padding: 12px 14px;
	}
}

@media (max-width: 480px) {
	.nav-grid {
		grid-template-columns: -1fr;
	}

	.nav-title {
		font-weight: 700;
		font-size: 11px;
		line-height: 1.35;
	}
}

.ez-toc-list.ez-toc-list-level-1 .ez-toc-link {
	padding: 0;
	margin: 0;
	border: none;
	background: none;
}

/* 共通：ボタンリンクスタイル */
.btn-link {
	display: inline-block;
	background: -webkit-linear-gradient(top, #b8f0cc 0%, #87e0a6 100%);
	background: linear-gradient(to bottom, #b8f0cc 0%, #87e0a6 100%);
	color: #005627 !important;
	font-size: 1.5rem;
	font-weight: 500;
	padding: 4px 24px;
	border-radius: 3.0rem;
	text-align: center;
	text-decoration: none !important;
	transition: all 0.3s ease;
	text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 0 1px 0 #fff, 0 -1px 0 #fff, 1px 0 0 #fff, -1px 0 0 #fff;
	margin-top: 1.5rem;
}

.btn-link:hover {
	opacity: 0.9;
}

@media screen and (max-width: 768px) {
	.btn-link {
		font-size: 3.5vw;
		padding: 1.0rem 2.5rem;
		border-radius: 2.5rem;
		margin-top: 1.0rem;
	}
}

.case-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 7.0rem 4.0rem;
	padding: 0;
	margin-top: 4.0rem;
}

.case-card {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding: 0;
}

.case-card-title {
	margin-bottom: 2.0rem;
	font-size: 1.8rem;
	line-height: 1.5;
	font-weight: bold;
	color: #006934;
	text-align: center;
}

.catBox h3.case-card-title {
	background: none;
	border: none;
	border-radius: 0;
	padding: 0;
	color: #006934;
	font-size: 1.8rem;
	margin: 0 0 10px;
}

.case-desc {
	display: block;
	font-size: 1.5rem;
	font-weight: normal;
	color: #333;
	min-height: 4.8rem;
	text-align: left;
	margin: 0 !important;
	padding: 0 !important;
}

.case-images {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin-bottom: 1.5rem;
}

.case-img-box {
	position: relative;
	overflow: hidden;
}

.case-img-box img {
	width: 100%;
	height: auto;
	display: block;
}

.case-label {
	display: block;
	text-align: center;
	padding: 0.6rem 0;
	font-size: 1.4rem;
	font-weight: 600;
	font-family: serif;
	letter-spacing: 0.1em;
}

.case-label._before {
	background-color: #e9f5ed;
	color: #006934;
	border-top: 1px solid #fff;
}

.case-label._after {
	background-color: #006934;
	color: #fff;
	border-top: 1px solid #fff;
}

.case-btn-wrap {
	text-align: center;
	margin-top: auto;
}

.case-btn-wrap .btn-link {
	margin-top: 0.5rem;
}

.case-tabs {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	gap: 15px;
	margin-bottom: 5.0rem;
}

.case-tab-btn {
	background-color: #fff;
	border: 1px solid #006934;
	color: #006934;
	font-size: 1.6rem;
	font-weight: bold;
	padding: 1.2rem 4.0rem;
	border-radius: 3.0rem;
	cursor: pointer;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	min-width: 180px;
	text-align: center;
	outline: none;
}

.case-tab-btn:hover {
	background-color: #f4faf6;
}

.case-tab-btn.active {
	background-color: #006934;
	color: #fff;
}

.case-card.is-hidden {
	display: none !important;
}

@media screen and (max-width: 768px) {
	.case-grid {
		grid-template-columns: 1fr;
		gap: 4.0rem;
		padding: 0;
	}

	.case-card {
		padding: 0;
	}

	.case-card-title {
		font-size: 4.2vw;
	}

	.case-desc {
		font-size: 3.2vw;
		min-height: auto;
	}

	.case-label {
		font-size: 3.2vw;
		padding: 0.5rem 0;
	}

	.case-tabs {
		gap: 8px;
		margin-bottom: 3.0rem;
		padding: 0 10px;
	}

	.case-tab-btn {
		font-size: 3.3vw;
		padding: 1.0rem 0;
		min-width: 0;
		-webkit-box-flex: 1;
		-ms-flex: 1;
		flex: 1;
	}
}