@charset "UTF-8";

/*--------------------------------------------
TO TOP BUTTON
---------------------------------------------*/

#toTop {
		position: fixed;
		border-radius: 50%;
		aspect-ratio: 1;
		z-index: 5;
		display: grid;
		place-items: center;
		background-color: var(--green);
		border-style: solid;
		border-color: var(--green);
		transition: background var(--transitionBase), opacity var(--transitionBase), translate var(--transitionBase);
		opacity: 0;
}

#toTop img {
		filter: invert(100%) sepia(0%) saturate(7496%) hue-rotate(194deg) brightness(102%) contrast(102%);
}

#toTop.is-up {
		translate: 0 0;
		opacity: 1;
}

@media screen and (max-width: 750px) {
		#toTop {
				width: calc( 80 var(--percentBase));
				right: calc( 40 var(--percentBase));
				bottom: calc( 80 var(--remBase));
				border-width: calc( 2 var(--remBase));
				translate: 0 calc( 80 var(--remBase))
		}
		#toTop:active {
				background-color: #fff;
		}
		#toTop:active img {
				filter: invert(32%) sepia(46%) saturate(870%) hue-rotate(105deg) brightness(88%) contrast(90%);
		}
		#toTop img {
				height: calc( 19 var(--remBase));
		}
}

@media print, screen and (min-width: 750.02px) {
		#toTop {
				width: calc( 40 var(--remBase));
				right: calc( 20 var(--remBase));
				bottom: calc( 80 var(--remBase));
				border-width: 1px;
				translate: 0 calc( 80 var(--remBase))
		}
		#toTop:hover {
				background-color: #fff;
		}
		#toTop:hover img {
				transition: filter var(--transitionBase);
				filter: invert(32%) sepia(46%) saturate(870%) hue-rotate(105deg) brightness(88%) contrast(90%);
		}
		#toTop img {
				height: calc( 12 var(--remBase));
		}
}


/*--------------------------------------------
FOOTER
---------------------------------------------*/

#footer01 ul {
		display: grid;
		grid-auto-flow: column;
		align-items: center;
}

#footer01 ul a {
		letter-spacing: 0.04em;
}

#footer01 .root {
		display: grid;
		align-items: center;
		color: var(--green);
		border-style: solid;
		border-color: var(--green);
		position: relative;
		transition: background var(--transitionBase), color var(--transitionBase);
		text-align: center;
		letter-spacing: .04em;
		text-indent: .04em;
		font-weight: 600;
		border-radius: 100vmax;
}

#footer01 .root:hover {
		background-color: #f5faf8;
}

#footer01 .root:after {
		content: "";
		display: block;
		background: url("/hospital/assets/img/ui/icon/external_link.svg") 0 0 / contain no-repeat;
		transition: filter var(--transitionBase);
		filter: invert(29%) sepia(98%) saturate(360%) hue-rotate(103deg) brightness(93%) contrast(98%);
		font-size: 0;
		width: 100%;
}

@media screen and (max-width: 750px) {
		#footer01 {
				padding-top: calc( 74 var(--remBase));
				padding-bottom: calc( 83 var(--remBase))
		}
		#footer01 .logo {
				display: block;
				border-bottom: solid calc( 2 var(--remBase)) var(--green);
				padding-bottom: calc( 25 var(--remBase));
		}
		#footer01 .logo img {
				height: calc( 76 var(--remBase));
		}
		#footer01 ul {
				margin-top: calc( 50 var(--remBase));
				column-gap: calc( 32 var(--percentBase));
				justify-content: start;
		}
		#footer01 ul a {
				font-size: 2.8rem;
		}
		#footer01 ul img {
				height: calc( 49 var(--remBase));
		}
		#footer01 .root {
				width: calc( 320 var(--percentBase));
				height: calc( 70 var(--remBase));
				border-width: calc( 4 var(--remBase));
				font-size: 3.2rem;
				padding-bottom: calc( 3 var(--remBase));
				margin-top: calc( 31 var(--remBase));
				padding-inline: calc( 23 var(--percentBase));
				grid-template-columns: auto calc( 24 * 100% / 268);
		}
		#footer01 .root:after {
				margin-top: calc( 3 var(--remBase));
				height: calc( 24 var(--remBase));
		}
}

@media print, screen and (min-width: 750.02px) {
		#footer01 {
				display: grid;
				align-items: center;
				grid-template-columns: auto 1fr auto calc( 60 var(--percentBase)) calc( 170 var(--percentBase));
				padding-top: calc( 21 var(--remBase));
				padding-bottom: calc( 20 var(--remBase))
		}
		#footer01 .logo {
				grid-row: 1;
				grid-column: 1;
		}
		#footer01 .logo img {
				height: calc( 49 var(--remBase));
		}
		#footer01 ul {
				display: grid;
				grid-auto-flow: column;
				column-gap: calc( 20 var(--remBase));
				grid-row: 1;
				grid-column: 3;
		}
		#footer01 ul a {
				font-size: 1.4rem;
		}
		#footer01 ul img {
				height: calc( 32 var(--remBase));
		}
		#footer01 .root {
				height: calc( 40 var(--remBase));
				font-size: 1.6rem;
				border-width: calc( 2 var(--remBase));
				grid-row: 1;
				grid-column: 5;
				grid-template-columns: auto calc( 14 * 100% / 144);
				padding-inline: calc( 11 * 100% / 170);
				padding-bottom: calc( 3 var(--remBase));
		}
		#footer01 .root:after {
				margin-top: calc( 3 var(--remBase));
				height: calc( 14 var(--remBase));
		}
}

#footer02 {
		background-color: #f5faf8;
}

#footer02 dl {
		display: grid;
		align-items: start;
}

#footer02 dt {
		display: grid;
		place-items: center;
		text-align: center;
		letter-spacing: .04em;
		text-indent: .04em;
		background-color: #e6f0ec;
		color: var(--green)
}

#footer02 dd {
		letter-spacing: 0.04em;
}

#footer02>ul>li>ul>li>a {
		display: grid;
		align-items: start;
		justify-content: start;
}

#footer02>ul>li>ul>li>a:before {
		content: "";
		display: block;
		background: url("/hospital/assets/img/ui/parts/circle02.svg") 0 0 / contain no-repeat;
		font-size: 0;
}

#footer02 li a {
		letter-spacing: 0.04em;
		transition: color var(--transitionBase);
		font-weight: 600;
}

#footer02 li a:hover {
		color: var(--green);
}

#footer02 li li li a {
		display: grid;
		align-items: start;
		justify-content: start;
}

#footer02 li li li a:hover:before {
		filter: invert(29%) sepia(98%) saturate(360%) hue-rotate(103deg) brightness(93%) contrast(98%);
}

#footer02 li li li a:before {
		content: "";
		display: block;
		background: url("/hospital/assets/img/ui/allow/right03.svg") 0 0 / contain no-repeat;
		font-size: 0;
		transition: filter var(--transitionBase);
		filter: invert(18%) sepia(0%) saturate(954%) hue-rotate(254deg) brightness(96%) contrast(93%);
}

@media screen and (max-width: 750px) {
		#footer02 {
				padding-top: calc( 94 var(--remBase));
				padding-bottom: calc( ( 120 - 2) var(--remBase))
		}
		#footer02 dl {
				grid-template-columns: calc( 90 var(--percentBase)) 1fr;
				column-gap: calc( 21 var(--percentBase));
				row-gap: calc( 21 var(--remBase));
		}
		#footer02 dt {
				border-radius: calc( 10 var(--remBase));
				font-size: 2.8rem;
				height: calc( 42 var(--remBase));
		}
		#footer02 dd {
				font-size: calc( 32 var(--remBase));
				;
				line-height: 1.6;
				margin-top: calc( -4.6 var(--remBase));
		}
		#footer02>ul {
				margin-top: calc( ( 87 - 9.6) var(--remBase));
				border-bottom: var(--green) solid calc( 2 var(--remBase));
		}
		#footer02>ul>li {
				display: contents;
		}
		#footer02>ul>li>ul {
				display: contents;
		}
		#footer02>ul>li>ul>li {
				border-top: var(--green) solid calc( 2 var(--remBase));
				position: relative;
		}
		#footer02>ul>li>ul>li>a {
				padding-block: calc( 33 var(--remBase));
				font-size: 3.2rem;
				grid-template-columns: calc( 24 var(--percentBase)) 1fr;
				column-gap: calc( 19 var(--percentBase));
		}
		#footer02>ul>li>ul>li>a:before {
				height: calc( 24 var(--remBase));
				margin-top: calc( 4 var(--remBase));
		}
		#footer02 button {
				position: absolute;
				right: 0;
				top: calc( 9 var(--remBase));
				width: calc( 80 var(--percentBase));
				height: calc( 80 var(--remBase));
				background-color: rgba(15, 127, 80, .2);
				border-radius: calc( 10 var(--remBase));
				display: flex;
				flex-direction: column;
				justify-content: start;
				align-items: center;
				text-align: center;
				letter-spacing: .06em;
				text-indent: .06em;
				font-size: 2rem;
				padding-top: calc( 50 var(--remBase));
				color: var(--green);
				font-weight: 600;
		}
		#footer02 button:before, #footer02 button:after {
				content: "";
				display: block;
				background-color: var(--green);
				position: absolute;
				top: calc( 28 var(--remBase));
				left: calc( 25 * 100% / 80);
				transition: .3s;
				width: calc( 30 * 100% / 80);
				height: calc( 4 var(--remBase));
				font-size: 0;
		}
		#footer02 button:before {
				transform: translatey(-50%);
		}
		#footer02 button:after {
				transform: translatey(-50%) rotate(90deg);
		}
		#footer02 button.is-open:before {
				transform: translatey(-50%) rotate(-90deg);
				opacity: 0;
		}
		#footer02 button.is-open:after {
				transform: translatey(-50%) rotate(0);
		}
		#footer02 ul ul ul {
				display: none;
				margin-left: calc( 52 var(--percentBase));
				margin-top: calc( ( 44 - 34 - 14) var(--remBase));
				padding-bottom: calc( ( 53 - 14) var(--remBase));
		}
		#footer02 li li li+li {
				margin-top: calc( ( 32 - 14 - 14) var(--remBase));
		}
		#footer02 li li li a {
				display: flex;
				align-items: start;
				justify-content: start;
				column-gap: calc( 7 * 100% / 618);
				font-size: calc( 28 var(--remBase));
				;
				line-height: 2;
		}
		#footer02 li li li a:before {
				content: "";
				display: block;
				font-size: 0;
				background: url("/hospital/assets/img/ui/allow/right02.svg") 0 0 / contain no-repeat;
				width: calc( 12 * 100% / 618);
				height: calc( 21 var(--remBase));
				margin-top: calc( 17.5 var(--remBase));
		}
}

@media print, screen and (min-width: 750.02px) {
		#footer02 {
				padding-top: calc( 58 var(--remBase));
				padding-bottom: calc( ( 72 - 9 - 6) var(--remBase));
				display: grid;
				justify-content: space-between;
				align-items: start;
				grid-auto-flow: column
		}
		#footer02 dl {
				justify-content: start;
				grid-template-columns: calc( 50 var(--remBase)) auto;
				column-gap: calc( 15 var(--remBase));
				row-gap: calc( ( 20 - 10 + 5) var(--remBase));
		}
		#footer02 dt {
				height: calc( 26 var(--remBase));
				font-size: 1.4rem;
				border-radius: calc( 6 var(--remBase));
		}
		#footer02 dd {
				font-size: calc( 16 var(--remBase));
				;
				line-height: 2.25;
				margin-top: calc( -5 var(--remBase));
		}
		#footer02>ul {
				padding-top: calc( 7 var(--remBase));
				display: grid;
				grid-template-columns: calc( 205 var(--remBase)) calc( 206 var(--remBase)) calc( 214 var(--remBase)) auto;
		}
		#footer02>ul>li>ul>li+li {
				margin-top: calc( 32 var(--remBase));
		}
		#footer02>ul>li>ul>li>a {
				grid-template-columns: calc( 16 var(--remBase)) auto;
				column-gap: calc( 9 var(--remBase));
				font-size: 1.6rem;
		}
		#footer02>ul>li>ul>li>a:before {
				height: calc( 16 var(--remBase));
		}
		#footer02 ul ul ul {
				margin-top: calc( ( 23 - 9) var(--remBase));
				margin-left: calc( 25 var(--remBase));
		}
		#footer02 li li li a {
				font-size: calc( 14 var(--remBase));
				;
				line-height: calc( 32 / 14);
				;
				grid-template-columns: calc( 7 var(--remBase)) auto;
				column-gap: calc( 9 var(--remBase));
		}
		#footer02 li li li a:before {
				height: calc( 11 var(--remBase));
				margin-top: calc( 10.5 var(--remBase));
		}
}

#copyright {
		letter-spacing: 0.01em;
		background: #f5faf8;
}

@media screen and (max-width: 750px) {
		#copyright {
				font-size: calc( 20 var(--remBase));
				;
				line-height: 1.2;
				padding-top: calc( 2 var(--remBase));
				padding-bottom: calc( ( 110 - 2) var(--remBase))
		}
}

@media print, screen and (min-width: 750.02px) {
		#copyright {
				font-size: calc( 12 var(--remBase));
				;
				line-height: 2;
				padding-top: calc( 6 var(--remBase));
				padding-bottom: calc( ( 66 - 6) var(--remBase))
		}
}
#footer01 .root:after{
background-image:url("/hospital/assets/css/or1oq90000000c2q-img/external_link.svg");
}#footer02 > ul > li > ul > li > a:before{
background-image:url("/hospital/assets/css/or1oq90000000c2q-img/circle02.svg");
}#footer02 li li li a:before{
background-image:url("/hospital/assets/css/or1oq90000000c2q-img/right03.svg");
}@media screen and (max-width: 750px ){#footer02 li li li a:before{
background-image:url("/hospital/assets/css/or1oq90000000c2q-img/right02.svg");
}}