@charset "UTF-8";
/* ----------TOP---------- */
#mainImage	{
	background-image: url("../img/main.jpg");
	background-repeat : no-repeat;
	background-size: cover;
	padding: 6rem 0;
	text-align : center;
}
@media screen and (max-width: 768px)	{
	#mainImage	{
		background-position : center;}
}
@media screen and (max-width: 479px)	{
	#mainImage	{
		padding: 2rem;
		background-position : 64% 10%;}
}
@-moz-keyframes reveal-banner {
		0% {opacity: 0;	}
		100% {opacity: 1;}
	}
@-webkit-keyframes reveal-banner {
		0% {opacity: 0;}
		100% {opacity: 1;}
	}
@-ms-keyframes reveal-banner {
		0% {opacity: 0;}
		100% {opacity: 1;}
	}
@keyframes reveal-banner {
		0% {opacity: 0;}
		100% {opacity: 1;}
	}
.mainImage_sq {
	-moz-animation: reveal-banner 1s 0.25s ease-in-out;
	-webkit-animation: reveal-banner 1s 0.25s ease-in-out;
	-ms-animation: reveal-banner 1s 0.25s ease-in-out;
	animation: reveal-banner 1s 0.25s ease-in-out;
	-moz-animation-fill-mode: forwards;
	-webkit-animation-fill-mode: forwards;
	-ms-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
	background :  rgba(256, 256, 256, 0.9);
	color: #7c8081;
	display: inline-block;
	opacity: 0;
	padding: 2rem 3.4rem 3rem 3.4rem;
	text-align: center;
}
.mainImage_sq h2	{
	margin-bottom : 1rem;
}
.mainImage_sq p	{
	margin-bottom : 2.4rem;
	font-size : 1.1rem;
	letter-spacing : 0.2rem;
}
#mainImage .btn	{
	margin : 1rem 3rem;
}
@media screen and (max-width: 479px)	{
	.mainImage_sq	{
		padding: 2rem 1rem;}
	.mainImage_sq p	{
		font-size : 0.9rem;}
}
#greeting	{
	margin : 6rem 0 4rem 0;
	color : #fff;
}
#greeting .box	{
	padding : 3.4rem 3rem;
}
#greeting .box .box_L	{
	padding-right : 1.4rem;
}
#greeting .button_wh	{
	display : inline-block;
	width : 12rem;
}
#greeting h2	{
	font-size : 1.6rem;
	line-height : 180%;
	font-weight : 900;
	margin-bottom : 3rem;
	text-align : left;
}
@media screen and (max-width: 768px)	{
	#greeting .box	{
		flex-direction: column;}
	#greeting .button_wh	{
		margin-top : 2rem;}
	#greeting .box .box_R	{
		margin-top : -6rem;
		text-align : right;}
	#greeting .box .box_R img	{
		width : 50%;
		margin-right : 1rem;}
}
@media screen and (max-width: 479px)	{
	#greeting	{
		margin : 4rem 0;}
	#greeting .box	{
		padding : 0 1.4rem 2rem 1.4rem;}
	#greeting .box .box_L	{
		padding-right : 0;}
	#greeting h2	{
		font-size : 1.3rem;}
	#greeting .button_wh	{
		margin-top : 1rem;}
	#greeting .box .box_R	{
		margin-top : 1rem;
		text-align : right;}
	#greeting .box .box_R img	{
		width : 70%;}
}
/* 治療内容 */
#treatment ul#tr_contents	{
	display : flex;
}
#treatment ul#tr_contents li:nth-child(2) 	{
	margin : 0 2rem;
}
#treatment ul#tr_contents li h3	{
	text-align : center;
	font-size : 1.4rem;
	line-height : 180%;
	background: rgba(188, 202, 206, 0.3);
}
#treatment ul#tr_contents li .h3_sub	{
	text-align : center;
	font-size : 1.2rem;
}
.box_shinagawa	{
	background : #fff;
	margin : 2rem 0 4rem 0;
	padding : 2rem 3rem;
}
.box_shinagawa h4	{
	font-size : 1.4rem;
	font-weight : 900;
}
.box_shinagawa ul	{
	display : flex;
	justify-content: center;
	flex-wrap: wrap;
}
.box_shinagawa ul li	{
	text-align : center;
	width : 36%;
	margin : 0.4rem 1rem;
	line-height : 200%;
	background : #6dc3bf;
}
.box_shinagawa ul li a	{
	background : #6dc3bf;
	color : #fff;
	border : none;
	display : block;
}
.box_shinagawa ul li a:after	{
	font-family: "Font Awesome 6 Free";
	content: '\f35d'; /* up-right-from-square */
	font-size : 0.8rem;
	margin-left: 0.6rem;
}
.box_shinagawa ul li a:hover,
.box_shinagawa ul li a:active	{
	background: rgba(256, 256, 256, 0.15);
}
@media screen and (max-width: 1024px)	{
	.box_shinagawa	{
		padding : 2rem 2.6rem;}
}
@media screen and (max-width: 768px)	{
	.box_shinagawa ul li	{
		width : 42%;}
}
@media screen and (max-width: 479px)	{
	#treatment ul#tr_contents	{
		flex-direction: column;
		width : 94%;
		margin : 0 auto;}
	#treatment ul#tr_contents li:nth-child(2)	{
		margin : 2rem 0;}
	.box_shinagawa	{
		padding : 2rem 1.4rem;}
	.box_shinagawa ul li	{
		width : 100%;}
}
/* 読売記事 */
#media .box	{
	padding : 3.4rem 3rem;
}
#media .box .box_R	{
	padding-left : 1.6rem;
}
#media h3	{
	font-size : 1.4rem;
	line-height : 180%;
	font-weight : 900;
}
ul.hosoku	{
	list-style : disc;
	margin-left : 1rem;
}
ul.hosoku li	{
	font-size: small;
	line-height : 120%;
	margin-bottom : 0.4rem;
}
@media screen and (max-width: 1024px)	{
	#media .box	{
		display : flex;
		flex-direction: column;
		padding : 3.4rem 2rem;}
	#media .box .box_L	{
		text-align : center;}
	#media .box .box_R	{
		padding: 1rem 0 0 0;}
}
@media screen and (max-width: 479px)	{
	#media .box	{
		padding : 2rem;}
	#media .box .box_L img	{
		width : 100%;}
	#media h3	{
		font-size : 1.2rem;
		line-height : 260%;}
}
/* TOP及びコンテンツ共通 -------------------------*/
#equipment,
#clinic,
#info,
#accessmap,
#dentist,
#pricelist,
#veraview	{
	margin : 4rem 0;
}
/* #tr_rootcanalはページ内リンクがあるので上下margin不要 */
/* 下位階層ページのspは上margin調整 */

/* 設備紹介 */
#equipment .box .tx_eqi,
#equipment .box .ph_eqi,
#tr_rootcanal .box .tx_eqi,
#tr_rootcanal .box .ph_eqi	{
	width : 50%;
}
#equipment .button_gr,
#tr_rootcanal .button_gr	{
	display : inline-block;
	width : 20rem;
}
#equipment .ph_eqi,
#tr_rootcanal .ph_eqi	{
	text-align : center;
}
@media screen and (max-width: 768px)	{
	#equipment .box .tx_eqi{
		width : 60%;}
	#tr_rootcanal .box .tx_eqi{
		width : 58%;
		margin : 0 1%;}
	#equipment .box .ph_eqi,
	#tr_rootcanal .box .ph_eqi{
		width : 40%;}
	#equipment .box .ph_eqi img{
		width : 90%;
		margin : 4rem 5%;}
	#tr_rootcanal .box .ph_eqi img{
		width : 90%;
		margin : 0;}
}
@media screen and (max-width: 479px)	{
	#dentist,
	#pricelist,
	#veraview	{
		margin : 1rem 0 4rem 0;
	}
	#equipment .box .tx_eqi	{
		width : 96%;}
	#tr_rootcanal .box .tx_eqi	{
		width : 100%;
	}
	/* #tr_rootcanal .box .tx_eqi img	{
		width : 100%;
	} */
	#equipment .box .ph_eqi,
	#tr_rootcanal .box .ph_eqi{
		display : none;}
}
/* 院内紹介 */
#clinic ul	{
	display : flex;
	flex-wrap : wrap;
	justify-content: space-between;
}
#clinic ul li	{
	text-align : center;
}
#clinic ul li h3	{
	font-size : 1.4rem;
}
#clinic ul li:nth-child(3),
#clinic ul li:nth-child(4)	{
	margin-top : 2rem;
}
@media screen and (max-width: 1024px)	{
	#clinic img	{
		width : 100%;}
	#clinic ul li	{
		width : 49%;}
}
@media screen and (max-width: 768px)	{
	#clinic ul li p	{
		font-size : 1rem;}
}
@media screen and (max-width: 479px)	{
	#clinic ul	{
		flex-direction: column;}
	#clinic ul li	{
		width : 100%;
		margin-bottom : 2rem;}
	#clinic ul li:nth-child(3),
	#clinic ul li:nth-child(4)	{
		margin-top : 0;}
}
/* 診療案内 */
#info .box .box_L	{
	margin-right : 6%;
}
dl#hours	{
	display : flex;
	flex-flow: row wrap;
	width : 100%;
	margin-bottom : 2rem;
	font-size : 1.3rem;
}
dl#hours dt	{
	width : 16%;
	text-align : center;
}
dl#hours dd	{
	width : 80%;
}
dl#hours dd:before	{
	content : "［";
}
dl#hours dd:after	{
	content : "］";
}
#info h5	{
	font-size : 1.2rem;
}
#info h5:before	{
	font-family: "Font Awesome 6 Free";
	content: '\f05a'; /* circle-info */
	margin-right: 0.4rem;
}
#info .button_gr	{
	display : inline-block;
	width : 14rem;
}
@media screen and (max-width: 1024px)	{
	#info .box .box_L	{
		width : 54%;
		margin-right : 2%;}
	#info .box .box_R	{
		width : 44%;}
	#info .box .box_R img	{
		width : 100%;}
}
@media screen and (max-width: 479px)	{
	dl#hours 	{
		width : 100%;
		}
	dl#hours dt,
	dl#hours dd	{
		width : 100%;
		margin-left : 1rem;
		text-align : left;}
	dl#hours dd:before,
	dl#hours dd:after	{
		content : none;}
	#info .ph_info_onlySP img	{
		width : 100%;
		margin-bottom : 1rem;}
	#info .box .box_L	{
		width : 100%;
		margin-right : 0;}
	#info .box .box_R	{
		display : none;}
}
/* クレジットカード */
ul#creditcard	{
	list-style : none;
	background-color : #FFF;
	position: relative;
	align-items: center; /* 縦中央揃え */
	display: flex;
	padding : 0.4em 0 0 1rem;
}
ul#creditcard li	{
	float : left;
	margin : 0;
	padding : 0;
}
ul#creditcard li img	{
	margin : 0 0.4em;
	padding : 0;
}
/* 施設基準 */
#standards	{
	margin-top : -3rem;
}
#standards p	{
	text-align : center;
}
@media screen and (max-width: 768px)	{
	#standards p	{
		text-align : left;
	}
}
#standards h3	{
	text-align : center;
	font-size : 1.4rem;
	margin-bottom: 1rem;
	font-weight : 900;
}
#standards details	{
	text-align : center;
	font-size : 1.2rem;
	display : block;
}
#standards details summary	{
	margin-bottom : 2rem;
	cursor: pointer;
	list-style: none;
	font-size : 1.4rem;
}
#standards details summary::-webkit-details-marker	{
	display: none;
}
dl#stnd,
dl#stnd_info	{
	display: flex;
	flex-direction: column;
	text-align : left;
}
dl#stnd dt	{
	background : #EDF0F5;
	color : #6dc3bf;
	line-height : 180%;
	text-indent : 1rem;
	margin : 0.4rem 0;
}
dl#stnd dd	{
	line-height : 140%;
	padding : 0 1rem;
	margin : 0 0 0.6rem 0;
}
#standards h4	{
	font-size : 1.4rem;
	margin: 2rem 0 1rem 0;
	font-weight : 900;
}
dl#stnd_info dt:before	{
	content : "● ";
}
dl#stnd_info dd	{
	padding : 0 1rem;
}
.signature	{
	margin-top : 2rem;
	text-align : right;
}
@media screen and (max-width: 479px)	{
	#standards p	{
		line-height : 140%;
	}
	dl#stnd dt	{
		line-height : 140%;
		text-indent : 0;
		margin : 0.4rem 0;
		padding : 0.4rem;
	}
	dl#stnd dd	{
		padding : 0 0.4rem;
		font-size : 1rem;
	}
	dl#stnd_info dt	{
		font-size : 1.1rem;
	}
	dl#stnd_info dd	{
		padding : 0 0.4rem;
		font-size : 1rem;
		margin-bottom : 1rem;
	}
}
/* アクセス */
#accessmap h3	{
	text-align : center;
	font-size : 1.2rem;
	margin-bottom: 3rem;
}
#accessmap details	{
	text-align : center;
	font-size : 1.2rem;
}
#accessmap details summary	{
	margin-bottom : 2rem;
	cursor: pointer;
	list-style: none;
}
#accessmap details summary::-webkit-details-marker	{
	display: none;
}
#accessmap details summary span	{
	font-weight : 900;
}
#accessmap .box .box_L,
#accessmap .box .box_R	{
	width : 48%;
}
#accessmap .box .box_L img	{
	width : 100%;
}
#accessmap .box .googlemap	{
	margin-left : 2rem;
}
@media screen and (max-width: 768px)	{
	#accessmap .box	{
		flex-direction: column;}
	#accessmap .box .box_L,
	#accessmap .box .box_R	{
		width : 100%;
	}
	#accessmap .box .box_L	{
		text-align : center;
		margin-bottom : 1rem;}
	#accessmap .box .googlemap	{
		margin-left : 0;}
}
@media screen and (max-width: 479px)	{
	#accessmap img	{width : 100%;}
}
dl#root	{
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
dl#root dt	{
	width: 70%;
	margin-right : 4%;
	text-align : left;
}
dl#root dt .indent	{
	display : block;
	margin-left : 2rem;
}
dl#root dd	{
	width: 20%;
}
dl#root dd img	{
	width : 300px;
}
dl#root dd.vertical img	{
	width : auto;
}
@media screen and (max-width: 768px)	{
	dl#root dt	{
		width : 100%;
		min-height : auto;
		margin : 1rem 0;}
	dl#root dd,
	dl#root dd.vertical	{
		width : 100%;
		text-align : center;}
}
@media screen and (max-width: 479px)	{
	dl#root dt .indent	{
		margin-left : 0;}
}

/* 医師略歴 */
#dentist .box	{
	justify-content: space-between;
	width : 84%;
	margin : 0 auto;
	padding-bottom : 6rem;
}
#dentist h3	{
	font-size : 1.4rem;
	color : #818ea4;
	border-bottom : 1px solid #818ea4;
	width : 60%;
	margin-bottom : 2rem;
}
#dentist dl	{
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
#dentist dl dt	{
	width : 34%;
	margin-bottom : 1rem;
}
#dentist dl dd	{
	width : 66%;
	margin-bottom : 1rem;
}
#dentist ul	{
	margin-top : 2rem;
}
#dentist ul li	{
	margin-bottom : 0.4rem;
}
#dentist ul li.title:before	{
	content : "＜ ";
}
#dentist ul li.title:after	{
	content : " ＞";
}
@media screen and (max-width: 1024px)	{
	#dentist .box	{
		width : 92%;}
}
@media screen and (max-width: 768px)	{
	#dentist .box .box_L	{
		width : 70%;}
	#dentist .box .box_R	{
		width : 30%;}
	#dentist img	{
		width : 100%;}
	#dentist dl	{
		flex-direction: column;}
	#dentist dl dt	{
		width : 100%;
		margin-bottom : 0.4rem;}
	#dentist dl dd	{
		width : 100%;
		margin-bottom : 1rem;
		margin-left : 4rem;}
}
@media screen and (max-width: 479px)	{
	#dentist h3	{
		width : 80%;}
	#dentist .box	{
		flex-direction: column;}
	#dentist .box .box_L	{
		width : 100%;}
	#dentist .box .box_R	{
		width : 60%;
		margin : 1rem auto 0 auto;}
}
/* 料金表・CT撮影 */
#pricelist .box .box_L,
#pricelist .box .box_R	{
	width : 46%;
	margin-right : 4%;
}
#pricelist h4,
#veraview h4,
#tr_rootcanal h4	{
	font-size : 1.4rem;
	font-weight : 900;
	border-style : solid;
	border-width : 0 0 1px 0;
	border-color : #818ea4;
	color : #818ea4;
	margin-bottom : 1rem;
}
#veraview h4	{
	width : 90%;
	margin-bottom : 1.8rem;
}
#veraview ol	{
	list-style-type: none;
	counter-reset: item;
	padding: 0;
}
#veraview ol li	{
	margin-bottom : 0.4rem;
	text-indent : -2.2rem; /* 行頭アイコン分のインデント */
	padding-left : 2.2rem; /* 行頭アイコン分のインデント */
}
#veraview ol li	{
	margin-bottom : 1rem;
	text-indent : -2.4rem; /* 行頭アイコン分のインデント */
	padding-left : 2.4rem; /* 行頭アイコン分のインデント */
}
#veraview ol li:before	{
	counter-increment: item;
 	content: counter(item)' ';
	background-color : #818ea4;
	color : #FFF;
	margin : 0 0.4rem;
	border-radius : 4px;
	padding : 0.2rem 0.2rem 0.2rem 0.5rem;
}
/* CT撮影 */
#veraview .box .box_L,
#veraview .box .box_R	{
	width : 50%;
}
#veraview ul.equipment	{
	margin : 1rem;
}
#veraview ul.equipment li	{
	margin-bottom : 0.2rem;
}
#veraview ul.equipment li:before	{
	content : "・";
	margin-right : 0.4rem;
}
@media screen and (max-width: 768px)	{
	#veraview .box {
		flex-direction: column;}
	#veraview .box .box_L,
	#veraview .box .box_R	{
		width : 100%;}
	#veraview .box .box_L img	{
		margin-bottom : 1rem;}
}
@media screen and (max-width: 479px)	{
	#veraview ul.equipment li	{
		text-indent : -1.4rem; /* 行頭アイコン分のインデント */
		padding-left : 1.4rem;}
}

/* 治療内容 根管治療 */
#tr_rootcanal ul#about	{
	display: flex;
	justify-content: space-between;
}
#tr_rootcanal ul#about li	{
	text-align : center;
}
#tr_rootcanal ul#about li p	{
	width : 310px;
	text-align : left;
	font-size : 90%;
}
@media screen and (max-width: 1024px)	{
	#tr_rootcanal ul#about li	{
		width : 33%;}
	#tr_rootcanal ul#about li p	{
		width : 96%;}
	#tr_rootcanal ul#about li img	{
		width : 94%;}
}
@media screen and (max-width: 479px)	{
	#tr_rootcanal ul#about	{
		flex-direction: column;}
	#tr_rootcanal ul#about li	{
		width : 96%;}
	#tr_rootcanal ul#about li img	{
		width : 84%;
		margin : 1rem 0 -1rem 0;}
}
#tr_rootcanal ul#nagare li .step{
	background-color : #6dc3bf;
	color : #fff;
	font-size : 1.2rem;
	font-weight : 900;
	padding : 0.4rem 0.8rem;
}
#tr_rootcanal ul#nagare li .step:before	{
	content : "STEP.";
}
#tr_rootcanal ul#nagare li p	{
	font-size : 1.1rem;
	line-height : 160%;
	padding-left : 1rem;
}
#tr_rootcanal ul#nagare li ul	{
	padding-left : 1rem;
	margin-bottom : 2rem;
}
#tr_rootcanal h3	{
	font-size : 1.2rem;
	line-height : 180%;
	background: rgba(188, 202, 206, 0.3);
	display : inline-block;
	padding : 0 0.8rem;
}
#tr_rootcanal .underline	{
	border-bottom : solid 1px #7c8081;
	padding-bottom : 0.1rem;
}
#tr_rootcanal dl	{
	display : flex;
	flex-flow: row wrap;
}

/* 料金表 */
#pricelist h3	{
	background-color : #6dc3bf;
	color : #fff;
	font-size : 1.4rem;
	font-weight : 900;
	line-height : 200%;
	text-align : center;
}
/* #pricelist h5	{
	font-size : 1.2rem;
	line-height : 180%;
	background: rgba(188, 202, 206, 0.3);
	display : inline-block;
	padding : 0 0.8rem;
	margin-top : 0.8rem;
} */
#pricelist ul.nagare	{
	display : flex;
	margin-bottom : 4rem;
}
#pricelist ul.nagare li	{
	text-align : center;
	width : 20%;
	padding : 0 1%;
}
#pricelist ul.nagare li .num	{
	background: rgba(188, 202, 206, 0.3);
}
#pricelist ul.nagare li p	{
	line-height : 1.4rem;
}
#pricelist ul.nagare li span	{
	display : block;
}
#pricelist .single50	{
	width : 50%;
	margin-top : 2rem;
}
#pricelist .single60	{
	width : 60%;
	margin-top : 2rem;
}
@media screen and (max-width: 768px)	{
	#pricelist ul.nagare	{
		flex-direction: column;
		margin : 0 auto;
		justify-content: center;
	}
	#pricelist ul.nagare li	{
		text-align : center;
		width : 80%;
		margin : 0 auto 2rem auto;
	}
	#pricelist .single50,
	#pricelist .single60	{
		width : 100%;}
}
#pricelist dl.price	{
	margin-bottom : 2rem;
	display : flex;
	flex-flow: row wrap;
}
#pricelist dl.price dt	{
	width : 52%;
	text-indent : 0.4rem;
}
#pricelist dl.price dd	{
	width : 46%;
	text-align : right;
	padding-right : 2%;/* 右寄せの右インデント */
}
#pricelist dl.price dt,
#pricelist dl.price dd	{
	border-style : solid;
	border-width : 0 0 1px 0;
	border-color : #a6b7c0;
	color : #818ea4;
	margin-bottom : 0.8rem;
}
#pricelist .box .box_L,
#pricelist .box .box_R	{
	width : 46%;
}
#pricelist .box_L	{
	margin-right : 8%;
}
@media screen and (max-width: 768px)	{
	#pricelist .box	{
		flex-direction: column;}
	#pricelist .box .box_L,
	#pricelist .box .box_R	{
		width : 100%;
		margin : 0;}
}
#pricelist ul.attention	{
	margin-top : -1.4rem; /* 料金表のmargin-bottom 2remの調整 */
}
/* 料金表　根管治療の注意書きの表示位置調整 */
#pricelist #box_konchi	{
	display: flex;
	margin-left : 44%;
	margin-top : 5rem;
}
@media screen and (max-width: 1024px)	{
	#pricelist #box_konchi	{margin-left : 26%;}
}
@media screen and (max-width: 768px)	{
	#pricelist #box_konchi	{margin-left : 0;}
}
/* ページ内リンク */
ul#midashi	{
	display: flex;
	flex-wrap: wrap;
	width : 80%;
	margin : 0 auto;
}
ul#midashi li	{
	margin: 0 3rem 1rem 0;
}
ul#midashi li a	{
	color : #7c8081;
}
ul#midashi li a:before	{
	font-family: "Font Awesome 6 Free";
	content: '\f107'; /* angle-down */
	font-size : 0.8rem;
	margin-right: 0.6rem;
}
@media screen and (max-width: 768px)	{
	ul#midashi	{
		width : 80%;
		flex-direction: column;
	}
	ul#midashi li	{
		margin: 0 0 2rem 0;
	}
}
/* 注意事項　行頭「・」 */
ul.attention li:before	{
	content : "・";
}

.align-center {
  text-align: center;
}
.align-left {
  text-align: left !important;
}
.pull-right {
  float: right !important;
}
.pull-left {
  float: left !important;
}
