@charset "UTF-8";

/* googleのWEBフォントインポート */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');


/*========= KENSHIN用上書きCSS ===============*/

/* ◆ヘッダ固定セット◆ */

#headerBottom.fixed{
	position: fixed;/*fixedを設定して固定*/
	z-index: 999;/*最前面へ*/
	top: 0;/*位置指定*/
	left: 0;/*位置指定*/
}

/* タイトルエリア */
#headerMiddle{
	margin: 0.3em auto 0 auto;
	background: #E0DAC9;
	background: #CCEA7F;
	background: #E6F5B1;
	border-bottom: 1px solid #FFF;
}

#headerMiddle > .headerNest{
	display: flex;
	flex-wrap: no-wrap;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto 0 auto;
	padding: 1.5em;
	list-style: none;
	text-align: center;
}

#headerMiddle > .headerNest > *{
	width: 100%;
	margin: 0;
	padding: 0;
	order: 2;
}

#headerMiddle > .headerNest > *:nth-child(odd){
	width: auto;
	order: 1;
}

/* タイトル */

.centerTitle {
	color: #000000;
	font-size: 172.7272727272727%;	/* 38px / 22px */
	font-weight: 500;
	line-height: 1.2em;
}


/* 総合に戻るボタン */

.topBackButton{
	font-size: 70.58823529411765%;	/* 12px / 17px */
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;	
	border: 1px solid #000000;
	gap: 0 3px;
	width: 10em;
	padding: 4px 0.5em 5px;
	border-radius: 1.5em;
}
a.topBackButton, a.topBackButton:visited {
	color: #000000;
	text-decoration: none;
}
a.topBackButton:hover {
	color: #000000F;
	text-decoration: none;
}


/* ★KENSHIN */
a.topBackButton img {
	width: 2.5em;
	height: auto;
}

.topMainImage {
	padding-bottom: 1em;
}

.topMainImage img {
	width: 100%;
	height: auto;
	display: block;
}

.contentsBackArt01 {
	margin-top: 5.72916666666667vw ;	/* 110/1920 */
	margin-top: 0 ;	/* 110/1920 */
	padding: 5.20833333333333vw 0 5.20833333333333vw 0;	/* 100/1920、0/1920 */
	background-color: #E0DAC9;
}

.backContents01 {
	padding: 0 1.55454em 0 1.55454em;	/* 60px、0px */
}


/* TOPリンクボタン */

.topLinkIconFlex {
	display: flex;
	align-items: stretch;
	justify-content: flex-start;
	flex-wrap: wrap;
	font-size: 109.0909090909091%;	/* 24px / 22px */
	font-size: 125%;
	gap: 1.1875em;	/* 19px / 16px */
	margin-top: 1.5em;
	margin-bottom: 3em;
}
.topLinkIconFlex > div {
	display: block;
	width: calc((100% - 1.1875em * 3) / 4);
}
.topLinkIconFlex > div > a {
	width: 100%;
	height: 8.75em;	/* 140px / 16px */
	text-align: center;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	vertical-align: middle;
	border: 1px solid #48BB7D;
	border-radius: 10px;
}
.topLinkIconFlex > div > a img {
	width: 3em;
	height: auto;
	margin-right: 0.5em;
}
.topLinkIconFlex > div > a:link, .topLinkIconFlex > div > a:visited {
	color: #48BB7D;
	text-decoration: none;
}
.topLinkIconFlex > div > a:hover {
	background: #48BB7D;
	color: #FFFFFF;
	text-decoration: none;
}

/* ◆リンクボタンB（ライン）◆ */

.linkButtonB > div > a:link, .linkButtonB > li > a:link,
.linkButtonB > div > a:visited, .linkButtonB > li > a:visited,
.linkButtonB > div > span, .linkButtonB > li > span {
	border: 1px solid #48BB7D;
}

.linkButtonB > div > a:hover, .linkButtonB > li > a:hover {
	border: 1px solid #48BB7D;
	background: #a3ddbe;
	color: #FFFFFF;
}

.linkButtonB > div > a:link:after, .linkButtonB > li > a:link:after,
.linkButtonB > div > a:visited:after, .linkButtonB > li > a:visited:after {
	color: #48BB7D;
}

.linkButtonB > div > a:hover:after, .linkButtonB > li > a:hover:after{
	color: #a3ddbe;
}


/* 見出し */

h2 {
	color: #48BB7D;
	border-bottom: 0.07894em solid #48BB7D;
}

h3 {
	border-left: 0.28125em solid #48BB7D;
	color: #81692D;	
}

h4 {
	color: #48BB7D;
}

h4::before {
	background: #48BB7D;
}

.topTextLink{
	font-size: 108%;
	font-weight: 500;
	color: #81692D;	
}

.topTextLink a{
	color: #81692D;	
}

.topTextLink a:link{
	color: #81692D;	
}

.kenshinNewsBgArea{
	padding: 0;	/* 340/1920、544/1920 */
	padding-top: 8em;
	background-color: #FFFFFF;
	background: linear-gradient(to right, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 30%, rgba(255,255,255,0) 100%) ,url(../../images/common/bg_news_kenshin.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center right;
}

.kenshinFreeBgArea{
	padding: 0;	/* 340/1920、544/1920 */
	background-color: #FFFFFF;
	background: linear-gradient(to right, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%) ,url(../../images/common/bg_free_kenshin.jpg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: top right;
}

.topInfoFlex{
	background: rgba(255,255,255,0.8);
}

ul.topInfoMainFlex > li > div.infoCategory{
	display: none;
}

/* 表組：A */
.tableDesignA th, .tableDesignB th {
	background: #48BB7D;
	color: #FFF;
}

/* テーブルサブカラー */
.subColor {
	background:  #f3eae2;
}

/* ボードのタイトル */
.boardTitle {
	color: #48BB7D;
}
.boardTitle::before {
	background-color: #48BB7D;
}
.boardTitle::after {
	background-color: #48BB7D;
}

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

	#headerMiddle > .headerNest{
		display: block;
	}
	#headerMiddle > .headerNest > *{
		width: 100%;
		text-align: center;
	}
	#headerMiddle > .headerNest > *:nth-child(odd){
		margin: 0 auto 1em auto;
	}

	.topMainImage {
		width: 100%;
		height: 480px;
		overflow: hidden;
	}

	.topMainImage img {
		width: auto;
		height: 100%;
		display: block;
		object-fit: cover;
	}

	.topLinkIconFlex {
		font-size: 90%;
	}

	.topLinkIconFlex > div {
		display: block;
		width: calc((100% - 1.1875em * 1) / 2);
	}

	.topLinkIconFlex > div > a img {
		margin-right: 0.25em;
	}

	.kenshinNewsBgArea{
		padding-top: 0;
		background: linear-gradient(to bottom, rgba(255,255,255,1) 0%, rgba(255,255,255,0.5) 30%, rgba(255,255,255,0) 100%) ,url(../../images/common/bg_news_kenshin.jpg);
		background-size: cover;
		background-repeat: no-repeat;
		background-position: bottom right;
	}

	.kenshinFreeBgArea{
		background: none;
	}

}

/* ◆診療医紹介◆ */

.doctorInfo details summary {
	border-left: 0.28125em solid #48BB7D;
	border-bottom: 1px solid #48BB7D;
}
.doctorInfo details summary::after {
	color: #48BB7D;
}
.doctorInfo dt {
	color: #48BB7D;
}
.doctorInfo dt::before {
	background: #48BB7D;
}

/*========= 予約一覧 ===============*/

/* ★予約用アイコン */

.reserveIconFlex {
	width: 100%;
	margin: 2em auto 3em auto;
	padding: 0;
	text-align: center;
}
.reserveIconFlex ul {
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	align-items: stretch;
	justify-content: flex-start;
	flex-wrap: wrap;
	gap: 0.75em;
}
.reserveIconFlex li {
	width: calc((100% - 0.75em * 9) / 10);
	margin: 0;
	padding: 0;
	display: flex;
	align-items: flex-end;
}
.reserveIconFlex li img {
	display: block;
	max-width: 100%;
	height: auto; 
}

.reserveIconFlex li.big {
	width: calc((50% + 0.375em - 0.75em * 3) / 3);
	margin: 0;
	padding: 0;
}

h3:has(+ .reserveIconFlex){
	margin-top: 1.5em;
}


.reserveFlex {
	display: flex;
	align-items: stretch;
	justify-content: flex-start;
	flex-wrap: wrap;
	gap: 2em;
}

.reserveCover {
	width: calc((100% - 2em * 1) / 2);
}

.reserveLink {
	display: block;
	margin: 0 0 1em 0;
	padding: 0;
}

.reserveLink a, .reserveLink span {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-wrap: no-wrap;
	font-size: 109.0909090909091%;	/* 24px / 22px */
	gap: 0 0.5em;
	margin: 0 0 0 0;
	padding: 0.5em 0.5em;
	background: #E6F5B1;
	border: 1px solid #48BB7D;
	border-radius: 3em;
}

.reserveLink + p {
	margin-top: 0;
	padding: 0 1em;
}

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

.reserveLink img {
	width: calc(90em / 22);	/* 76px / 22px */
	height: auto;
}

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

/*========= ナビゲーションドロップダウンのためのCSS ===============*/

.menuAreaCover{
	width: 100%;
	-webkit-transition: all 0.3s ease-out;  /* Saf3.2+, Chrome */
	-moz-transition: all 0.3s ease-out;  /* FF4+ */
	-ms-transition: all 0.3s ease-out;  /* IE10? */
	-o-transition: all 0.3s ease-out;  /* Opera 10.5+ */
	transition: all 0.3s ease-out;
}

/* ★KENSHIN */
.nav {
	display: block;
	position: relative;
	width: 100%;
	background: #48BB7D;
	background: #0a785f;
	font-size: 115.8823529411765%;
	margin: 0.3em auto 0 auto;
	margin: 0 auto 0 auto;
}

@media screen and (min-width:1600px) {
	.nav {
		font-size: 100%;
	}
}

.nav a {
	cursor: pointer;
	display: inline-block;
	line-height: 1.2em;
	color: #000;	/* サブメニューの色はここを参照している */
	font-weight:normal;
	text-align: center;
	text-decoration: none;
	margin: 0;

	padding: 0.7em 0 0.6em;	/* 反映される場所があるかは不明 */
}

/* サブメニューありの3つ（「patient」「department」「about」）のコンテナ */
.nav__groups {
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content:center;
	max-width: 1475px;
	width: 95%;
	margin: 0 auto;
	padding: 0;
}


/* ★KENSHIN */
/* 3つ（「patient」「department」「about」）個々のコンテナ */
.nav__group {
	margin: 0;
	padding: 0;
	border-left: 1px solid #FFFFFF;
	width: 23%;
	z-index: 2;
	z-index: 250;
}

/* ★KENSHIN */
#smBtn00 {
	width: 8%;
}


.navLast {
	border-right: 1px solid #FFFFFF;
}
.nav__group > a {
	font-size: 120%;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	gap: 0 0.55em;
	color: #FFFFFF;
	line-height: 1.5em;
	font-weight: 500;
	padding: 0.4em 1em 0.4em;
}
/* ★KENSHIN */
.nav__group > a img {
	width: 2.15em;
	height: auto;
}
/* メインメニューの色 */
.nav__group > a:link{
	color:#FFFFFF;
	text-decoration: none;
}
.nav__group > a:visited{
	color:#FFFFFF;
	text-decoration: none;
}
/* ★KENSHIN */
.nav__group > a:hover{
	color:#FFFFFF;
	background: #a3ddbe;
	text-decoration: none;
}
.nav__group > a:hover img{
	opacity: 1.0;
}

/* サブメニューのコンテナ */
.nav__group__dropdown {
	position: absolute;
	top: 100%;
	min-width: 450px;
	left: 0;
	left: 50%;
	-webkit-transform : translateX(-50%);
	transform : translateX(-50%);
	background: #fff;
	text-align: left;
	width: 100%;
	max-width: 1475px;
	width: 95%;
	max-height: 0;
	padding: 0 0 0 1.5em;
	overflow: hidden;
	transition: 0.5s ease 0s;
}

/* サブメニューのカテゴリごとのリスト */
.product-list {
	flex: 1;
	min-width: 1em;
	padding: 0 0.5em 1.5em 0;
}
.multi-column ul.product-list{
	list-style-type: circle;
	padding-left: 0.5em;
	padding-left: 1.5em;
}

.product-list a {
	display: block;
	width: 100%;
	text-align: left;
	padding: 0.5rem 0;
	transition: 0.2s ease;
	position: relative;
	z-index: 2;
	transition: color 0.5s ease;
}
/* ロールオーバー時用の処理 */
.product-list a:before {
	content: "";
	left: 0;
	top: 90%;
	width: 0;
	transition: width 0.3s ease;
	height: 3px;
	position: absolute;
	/* background: #292f36;	サブメニューの線（hover時に線を引くときはコメントアウトを解除する） */
}
.product-list a:hover {
	color: #9a1117;
}
.product-list a:hover:before {
	width: 100%;
}
/* リストの各項目 */
.product-list__link {
	padding: 0 1em 0 0;
	margin: 0 0 0.5em 0;
	line-height: 1.5em;
	color: #000000;
	text-align: left;
}
.product-list__title {	/* リストのタイトル用 */
	width: 100%;
}
.product-list.multi {
	display: flex;
	flex-wrap: wrap;
}
.product-list.multi .product-list__link {
	flex: 1 1 50%;
}

.title {	/* リストのタイトルの見た目 */
	font-size: 120%;
	margin: 0 0 0.8em;
	line-height: 1.2em;
	color: #000000;
}

/* リスト段組み用？ */
.multi-column {
	display: flex;
	position: relative;
	flex-wrap: wrap;
	align-items: flex-start;
	min-height: 220px;
	min-height: calc(280em / 18);	/* 325px / 18px */
}

/* 段組み横長のもの用 */
.article-list {
	width: 100%;
	padding: 0 30% 0 0;
	display: flex;
	flex-wrap: wrap;
	margin-top: 1.3em;
}
.article-list__title {
	width: 100%;
}
.article-list__link {
	flex: 1;
	margin-right: 2em;
	position: relative;
	transition: transform 0.3s ease;
	line-height: 1.5em;
	margin-bottom: 0.5em;
}
.article-list__link:before {
	content: "";
	width: 3.5px;
	height: 0;
	background: #292f36;
	transition: height 0.3s ease;
	position: absolute;
	left: -0.9em;
}
.article-list__link:hover {
	transform: translateX(10px);
}
.article-list__link:hover a {
	color: #292f36;
}
.article-list__link:hover:before {
	height: 100%;
}
.article-list a {
	padding: 0.4em 0;
}

/* サブメニューの表示 */
.nav__group a:hover + .nav__group__dropdown,
.nav__group .nav__group__dropdown:hover,
.nav__group li:hover > .nav__group__dropdown {
	max-height: 100vh;
	padding: 1.5em 0 0 1.5em;
	-moz-box-shadow: 0 6px 4px rgba(0,0,0,0.4);
	-webkit-box-shadow: 0 6px 4px rgba(0,0,0,0.4);
	box-shadow: 0 6px 4px rgba(0,0,0,0.4);
}

/* サブメニュー　カテゴリに合わせた画像差し替え */
.product-image {
	position: absolute;
	max-width: 36%;
	min-height: 220px;
	min-height: 325px;
	min-height: calc(325em / 18);	/* 325px / 18px */
	object-fit: contain;
	object-position: bottom right;
	bottom: 0;
	right: 0;
	transition: 1.3s ease;
	opacity: 0;
	z-index: 1;
}
.product-image2 {
	max-width: 35%;
	max-width: 36%;
}
.product-image3 {
	max-width: 36%;
}
.product-image6 {
	max-width: 36%;
}
/* ★KENSHIN */
.product-image[data-match="pet_reserve"], .product-image[data-match="asahi_reserve"] {
	opacity: 1;
}

.nav__group > a.smOnly{
	display: none;
}

li.smBox {
	display: none;	
}


/* commonだけでは効かないので追加 */

.nav__group > a.smOnly2 {
	display: none;
}

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

	.nav__group > a.smOnly2 {
		display: flex;
	}
	
	/* ★予約用アイコン */

	.reserveIconFlex {
		width: 100%;
		margin: 2em auto 3em auto;
		padding: 0;
		text-align: center;
	}
	.reserveIconFlex ul {
		width: 100%;
		margin: 0;
		padding: 0;
		list-style: none;
		display: flex;
		align-items: stretch;
		justify-content: flex-start;
		flex-wrap: wrap;
		gap: 10px;
	}
	.reserveIconFlex li {
		width: calc((100% - 10px * 4) / 5);
		margin: 0;
		padding: 0;
	}
	.reserveIconFlex li.big {
		width: calc((100% - 10px * 2) / 3);
		margin: 0;
		padding: 0;
	}

/* ★KENSHIN */

	/* スライドページャー */
	.lSSlideOuter .lSPager.lSpg {
		bottom: -50px;
	}
	.menuAreaCover{
		position: fixed;
		top: 0;
		left: 0;
		height: 100%;
		background: #0a785f;
		
		z-index: -999;
		opacity: 0;
	}
	.menuAreaCover.active{
		z-index: 999;
		opacity: 1.0;
	}

	.nav__group > a.smOnly{
		display: block;
	}
	.nav__group > a.pcOnly{
		display: none;
	}

	.nav {
		width: 100%;
		padding: 0;
		font-size: 100%;	/* 24px /24px */
	}
	.nav__groups {
		display: block;
		margin-top: 130px;
		width: 100%;
	}
	.nav__group > a {
		font-size: 100%;
	}
	.nav__group {
		border: none;
		width: 100%;
		margin: 0;
	}
	.navLast{
		border: none;
	}

	/* ★KENSHIN */
	#smBtn00 {
		width: 100%;
	}
	#smBtn00 a {
		height: auto;
	}

	/* ★KENSHINお知らせ */

	.topInfo .tab-contents{
		background: transparent;
	}

	/*ナビゲーションのリンク設定*/
	.nav__group > a{
		padding: 0.8em 0;
		border-bottom:1px solid #FFF;
	}
	.nav__group:first-child > a{
		border-top:1px solid #FFF;
	}

	.menuAreaCover .nav__group__dropdown {
		display: none;
		position: static;
	}
	.menuAreaCover .multi-column {
		display: block;
		/*padding-bottom:260px;*/
		min-height:auto;
	}
	.multi-column3 {
		padding-top:0;
	}
	.menuAreaCover .product-list.multi {
		display: block;
	}
	.menuAreaCover .article-list {
		display: block;
	}
	.menuAreaCover .product-image {
		display: none;
/*		height: 250px;
		width: auto;
		max-width: 100%;*/
	}
	.nav__group__dropdown {
		left: 0;
		-webkit-transform : translateX(0);
		transform : translateX(0);
		width: 100%;
		max-height: none;
		padding: 1.5em;
		transition: none;
	}
	.nav__group a:hover + .nav__group__dropdown,
	.nav__group .nav__group__dropdown:hover,
	.nav__group li:hover > .nav__group__dropdown {
		max-height: none;
		padding: 1.5em;
	}
	.product-list {
		padding: 0 0 0 0;
	}
	.product-list__link {
		padding: 0 0 0 0;
	}
	.article-list {
		padding: 0 0 0 0;
	}
	.article-list__link {
		margin-right: 0;
	}

	/* スマホ時のみ表示する、ツール関連の箱 */
	li.smBox {
		display: block;
		padding: 0.8em 0;
		border-bottom: 1px solid #FFF;
	}
	li.smBox:first-child {
		border-top: 1px solid #FFF;
	}

}

@media print {

}