@charset "utf-8";
/* CSS Document */
body.accessibility-black .header-wrapper-outer.en-header header .header-logo:after{ width: 310px; height: 50px; background-image: url(/hospital/english/images/header_logo202101-w-L.png); background-size: 310px auto;}
body.accessibility-black .footer-wrapper.en-footer .footer-nav .logo a:after{ width: 280px; height: 46px; background-image: url(/hospital/english/images/header_logo202101-w-L.png); background-size: 100% auto;}
@media screen and (max-width:1200px){
body.accessibility-black .header-wrapper-outer.en-header header .header-logo:after{ content: ""; display: block; width: 310px; height: 60px; left: 0; top: 0; background-image: url(/hospital/english/images/header_logo202101--w-S.png); background-repeat: no-repeat; background-position: left top; background-size: 310px auto;}
}
@media screen and (max-width:960px){
body.accessibility-black .header-wrapper-outer.en-header header .header-logo:after{ width: 201px; height: 40px; background-size: 201px auto;}
}
@media screen and (max-width:370px){
/* EN */
body.accessibility-black .header-wrapper-outer.en-header header .header-logo:after{ width: 150px; height: 30px; background-size: 150px auto;}
}

body *:not(.title_jp)
{
	font-family: "Noto Serif SC", serif;
	font-weight: 400;
	word-break: break-all;
}

.mainwrapper h2.title_jp
{
	font-family: "M PLUS 1p", sans-serif;
	font-weight: bold;
	font-style: normal;
	font-size:1.6rem;
	padding:10px 15px;
	background: #fff;
	position: absolute;
	top:50%;
	right:50px;
	transform:translate(0, -50%);
}

#contents.lang .wrapper-und .body .ttl-mdl.cn_text
{
    font-size: 1.35rem;
}
#contents.lang .wrapper-und .body p.cn_text
{
	font-size: 1.35rem;
}

.about_hospital
{
	height: 200px;
	position: relative;
	margin-bottom: 24px;
}
.about_hospital_ttl
{
	position: absolute;
	left:0;
	top:50%;
	transform:translate(0, -50%);
	z-index: 10;
	font-size: 2.5rem;
    letter-spacing: .25em;
    line-height: 1.6;
}
.about_hospital_image
{
	position: relative;
	width: 100%;
	height:100%;
}
.about_hospital_image::before
{
	content: "";
    display: block;
    width: 100%;
    max-width: 1200px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(to right, white 20%, rgba(255, 255, 255, 0.5) 30%, rgba(255, 255, 255, 0) 100%);
}
.about_hospital_image img
{
	width: 100%;
	height:100%;
	object-fit: cover;
	object-position:50px 0px;
}

ol.numbered_list.cn_text {
  counter-reset: item;
  list-style: none;
  padding-left: 0;
  margin-top:0.8em;
	font-size: 1.3rem;
}

ol.numbered_list li {
  counter-increment: item;
  position: relative;
  padding-left: 2em;
  margin-bottom:0.8em;
}

ol.numbered_list li::before {
  content: "(" counter(item) ")";
  position: absolute;
  left: 0;
  font-weight: bold;
  color: #313e5b;
}

ol.numbered_list li img
{
	margin-top:0.5em;
}

.en-intro-bk .box_gray
{
	margin:1.5em auto;
	padding:1em 1.5em;
	background: #eee;
}
.en-intro-bk .box_gray dl:not(:last-child)
{
	margin-bottom:1em;
}
.en-intro-bk .box_gray dl dd
{
	padding-left:1em;
}
#contents.lang.cn .body.contents-clm2 h3 + *.en-adj {
	padding-top: 110px;
}

.departments_list
{
	margin-bottom:80px;
}
.departments_list li
{
	margin-bottom:40px;
}
.departments_list li h4
{
	font-weight: 700;
    font-size: 1.3em;
    margin-bottom: 0.7em;
    border-bottom: 1px solid #006a9b;
}
/* .departments_list li p
{
	padding-left: 24px;
} */
#contents .wrapper-und .body .h-clm .h-clm-inner .departments_list li p
{
	font-size:1rem;
}

.guidance
{
	margin-bottom: 100px;
}
.guidance > div > :is(ol,p,dl)
{
	padding-left:24px;
}
.guidance h5
{
	font-weight:bold;
	font-size:1.62rem;
	margin-bottom: 16px;
}
.guidance h5::before
{
	content: "◆";
	color: #313e5b;
	font-size: 1em;
	margin-right: 0.5em;
}

.guidance h6
{
	font-weight: 700;
	font-size: 1.3em;
	margin-bottom:1.5em;
	border-bottom:1px solid #006a9b;
}
.guidance strong
{
	font-weight: 700;
}
.guidance > div
{
	margin-bottom: 50px;
}
.guidance > div > dl
{
	display: flex;
	margin-bottom: 0.8em;
}
.guidance > div > dl dt
{
	width:4em;
	font-size: 1.2em;
	font-weight: bold;
}
.guidance > div > dl dd
{
	width: calc(100% - 4em);
}
.guidance > div > dl dd strong
{
	font-size: 1.2em;
	font-weight: bold;
}
#contents .wrapper-und .guidance > div > dl dd p
{
	margin-bottom: 1em;
}

.guidance .step_flow
{
	display: flex;
	justify-content: center;
	align-items: center;
}
.guidance .step_flow .flow
{
	padding-left: 0;
}
.guidance .flow > li
{
	list-style-type: none;
	display: flex;
}
.guidance .flow > li:not(:last-child)
{
	margin: 0 0 50px;
}
.guidance .flow > li .icon
{
	width: 60px;
	box-sizing: border-box;
	padding: 20px 5px 10px;
	font-weight: bold;
	color: #313e5b;
	text-align: center;
	background: #f0f4f9;
	border-radius: 5px 5px 0 0;
	position: relative;
	line-height: 125%;
	margin: 0;
}
.guidance .flow > li .icon::after
{
	content: ' ';
	width: 0;
	height: 0;
	border-left: 30px solid transparent;
	border-right: 30px solid transparent;
	border-top: 15px solid #f0f4f9;
	position: absolute;
	bottom: -15px;
	left: 0;
}

.guidance .flow > li dl
{
	padding: 0 0 0 30px;
	width: calc(100% - 85px);
}

.guidance .flow > li dl dt
{
	width: 100%;
	padding: 0 0 5px;
	margin: 0 0 15px;
	font-size: 1.2em;
	font-weight: bold;
	border-bottom: 1px solid #CCCCCC;
	position: relative;
}
.guidance .flow > li dl dt:after
{
	content: '';
	width: 20%;
	height: 1px;
	position: absolute;
	bottom: -1px;
	left: 0;
	background-color: #313e5b;
}

.guidance .flow > li dl dd
{
	margin: 0;
	width: 100%;
}
.guidance .flow > li dl dd .note
{
	background: rgba(255, 250, 125, 0.6);
	padding:5px;
}
.listofguaranteein
{
	width:calc(100% - 24px);
	margin-left:24px;
}

.access > h4.ttl-mdl + div
{
	margin-bottom: 32px;
}
#contents .wrapper-und .shiftbox {
	position: relative;
	margin: 0 0px 95px 0px;
	padding-bottom: 70px;
}
#contents .wrapper-und .shiftbox-inr .gglmap-inr {
	position: relative;
	width: 720px;
	height: 0;
	padding-top: 50%;
	overflow: hidden;
}

#contents.lang.cn .wrapper-und .body .access .ttl-mdl {
	font-weight: 700;
	margin-bottom:16px;
}

.access .access_address dl dd:not(:last-child)
{
	margin-bottom: 16px;
}
.access .access_address dl dt
{
	font-weight: 700;
}
.access .access_address dl dd
{
	padding-left:1em;
}

@media screen and (max-width: 960px)
{
	.header-wrapper-outer.en-header .header-nav .sub02 {
		display: flex;
		align-items: center;
		gap:20px;
	}

	#contents.lang .wrapper-und .body .ttl-mdl.cn_text
	{
		font-size: 1.15rem;
	}
	#contents.lang .wrapper-und .body p.cn_text
	{
		font-size: 1.15rem;
	}
	.about_hospital
	{
		height: 80px;
		position: relative;
		margin-bottom: 24px;
	}
	.about_hospital_ttl
	{
		font-size: 1.6rem;
		z-index: 30;
	}
	.about_hospital_image::before
	{
		z-index: 20;
		background: linear-gradient(to right, white 20%, rgba(255, 255, 255, 0.8) 40%, rgba(255, 255, 255, 0) 100%);
	}
	#contents .wrapper-und .body .h-clm .h-clm-inner .departments_list li p
	{
		font-size:.87rem;
	}
	#contents.lang.cn .body.contents-clm2 h3 + *.en-adj
	{
		padding-top: 0px;
	}
	ol.numbered_list.cn_text li
	{
	font-size: 1.1rem;
	}
	.guidance > div > :is(ol,p,dl)
	{
		padding-left: 0;
	}
	.departments_list li h4
	{
		font-size: 1rem;
	}
	.guidance h5
	{
		font-size: 1em;
	}
	.guidance h5::before
	{
		font-size: 1.1em;
	}
	.guidance h6
	{
		font-size: 1.2em;
		margin-bottom: 1em;
	}
	.guidance > div > dl dt
	{
		font-size: 1.1em;
	}
	.guidance > div > dl dd strong
	{
	font-size: 1.1em;
	}
	.guidance .flow > li dl dt
	{
		font-size: 1em;
	}
	.guidance > div > dl dd
	{
		position: relative;
		font-size: .87rem;
	}
	.guidance > div > dl dd .step_flow
	{
		position: relative;
		left:-4em;
		width: 100%;
	}
	.guidance .flow > li
	{
		width: calc(100% + 4em);
	}
	.guidance
	{
		margin-bottom: 50px;
	}
	.listofguaranteein
	{
		width:100%;
		margin-left:0;
	}
	.access > h4.ttl-mdl + div
	{
		font-size: .87rem;
	}
	#contents .wrapper-und .shiftbox
	{
		padding-bottom: 0px;
	}
	#contents .wrapper-und .shiftbox-inr
	{
		margin: 0 auto;
	}
	#contents .wrapper-und .shiftbox-inr .gglmap-inr
	{
		width: 100%;
	}
}
@media screen and (max-width: 720px)
{
	.mainwrapper h2.title_jp
	{
		font-size: 1.3rem;
		padding: 5px 10px;
		white-space: nowrap;
		top: 15%;
		right:0;
		transform: translate(0, -50%);
	}
	#contents.ud.lang.cn .ud-main .mainwrapper .maindtl br
	{
		display: block;
	}
	#contents.lang.cn .wrapper-und .body .access .ttl-mdl
	{
		margin-bottom: 16px;
		text-decoration: underline;
		text-underline-offset: 5px;
	}
	.footer-wrapper.en-footer .footer-nav .logo
	{
		width: 100%;
	}
}