@charset "UTF-8";
:root {
	--font-color: #333;
	--line-height: 1.5;
	--footer-margin: calc((140 / 1280) * 100%);
	--container-margin: calc((100% - 1000px) / 2)
}
@media screen and (max-width:1099.9px) {
	:root {
		--container-margin: 2.5%;
		--footer-margin: 2.5%
	}
}
:where(*, :before, :after) {
	margin: 0;
	padding: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	line-height: var(--line-height);
	font-family: inherit
}
html {
	scroll-behavior: smooth
}
body {
	display: block;
	color: var(--font-color);
	font-family: "Noto Sans", "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif, sans-serif
}
img {
	width: 100%
}
ul {
	list-style-type: none
}
a {
	text-decoration: none;
	-webkit-transition: opacity 0.3s;
	transition: opacity 0.3s;
	display: inline-block
}
a:hover {
	opacity: 0.7
}
h1, h2, h3, h4, h5, h6 {
	--line-height: 1.3;
	font-weight: 400
}
a, div, h1, h2, h3, h4, h5, h6, p, span {
	letter-spacing: 0.06em
}
.mt-150 {
	margin-top: 150px
}
.mt-200 {
	margin-top: 200px
}
.mb-100 {
	margin-bottom: 100px
}
.pc-mv {
	display: block
}
.sp-mv {
	display: none
}
.is-pc {
	display: block
}
.is-sp {
	display: none!important
}
.pc-br {
	display: block
}
.sp-br {
	display: none
}
@media screen and (max-width:1099.9px) {
	.pc-mv {
		display: none
	}
	.sp-mv {
		display: block
	}
	.is-pc {
		display: none
	}
	.is-sp {
		display: block!important
	}
	.pc-br {
		display: none
	}
	.sp-br {
		display: block
	}
	.mt-150 {
		margin-top: 0px
	}
	.mt-200 {
		margin-top: 0px
	}
	.mtsp-115 {
		margin-top: 115px
	}
	.mtsp-100 {
		margin-top: 100px
	}
}
header {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: rgba(64, 165, 120, 0.5);
	border-bottom: solid 1px #fff;
	min-height: 68px;
	position: fixed;
	z-index: 999;
	top: 0;
	width: 100%
}
@media screen and (min-width:1280px) {
	header {
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: auto 1fr;
		grid-template-columns: auto 1fr
	}
	header>.nav-list {
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: 1fr auto;
		grid-template-columns: 1fr auto
	}
	header>.nav-list .nav-list {
		-ms-grid-column-align: center;
		justify-self: center
	}
}
@media screen and (max-width:1099.9px) {
	header {
		padding-right: 1rem
	}
}
.header-default {
	background: #40A578
}
header.header-color {
	background: #40A578
}
.header-logo {
	padding-left: 16px
}
.nav-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 0.875rem
}
.nav-list a {
	letter-spacing: 0.12em
}
.nav-list02 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex
}
.nav-list li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-right: clamp(1.125rem, -3.458rem + 6.67vw, 1.875rem)
}
.nav-list02 li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}
.nav-list li a, .nav-list02 li a {
	display: block;
	width: 100%;
	color: #fff;
	padding-left: 20px
}
.nav-list .list-access, .nav-list .list-contact, .nav-list .list-recruit, .nav-list02 .list-access, .nav-list02 .list-contact, .nav-list02 .list-instagram, .nav-list02 .list-recruit {
	width: 68px;
	font-size: 12px;
	text-align: center;
	margin-right: 0
}
.nav-list02 .list-instagram {
    width: 80px;
}
.nav-list .list-access a, .nav-list .list-contact a, .nav-list .list-recruit a, .nav-list02 .list-access a, .nav-list02 .list-contact a, .nav-list02 .list-instagram a, .nav-list02 .list-recruit a {
	padding-top: 3.3333333333em;
	padding-bottom: 10px;
	padding-left: 0
}
.list-recruit {
	background: rgba(255, 255, 255, 0.8)
}
.nav-list .list-recruit a, .nav-list02 .list-recruit a {
	color: #40A578
}
.list-access {
	background: #40A578
}
.list-access a {
	color: #fff;
	text-decoration: none
}
.list-contact {
	background: #fff
}
.nav-list .list-contact a, .nav-list02 .list-contact a {
	color: #40A578;
	text-decoration: none
}
.icn_contact, .icn_map-pin, .icn_nav_hospital, .icn_nav_hospitalization, .icn_nav_medical, .icn_nav_medical_personnel, .icn_nav_rehab, .icn_recruit, .icn_instagram {
	position: relative
}
.icn_nav_rehab:after {
	position: absolute;
	content: "";
	background: url("../img/icn_nav_rehab.svg") no-repeat center;
	background-size: contain;
	width: 10px;
	height: 15px;
	top: 50%;
	left: 0%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%)
}
.icn_nav_medical:after {
	position: absolute;
	content: "";
	background: url("../img/icn_nav_medical.svg") no-repeat center;
	background-size: contain;
	width: 17px;
	height: 17px;
	top: 50%;
	left: 0%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%)
}
.icn_nav_hospital:after {
	position: absolute;
	content: "";
	background: url("../img/icn_nav_hospital.svg") no-repeat center;
	background-size: contain;
	width: 13px;
	height: 14px;
	top: 50%;
	left: 0%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%)
}
.icn_nav_hospitalization:after {
	position: absolute;
	content: "";
	background: url("../img/icn_nav_hospitalization.svg") no-repeat center;
	background-size: contain;
	width: 13px;
	height: 13px;
	top: 50%;
	left: 0%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%)
}
.icn_nav_medical_personnel:after {
	position: absolute;
	content: "";
	background: url("../img/icn_nav_medical_personnel.svg") no-repeat center;
	background-size: contain;
	width: 13px;
	height: 13px;
	top: 50%;
	left: 0%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%)
}
.icn_recruit:after {
	position: absolute;
	content: "";
	background: url("../img/icn_recruit.svg") no-repeat center;
	background-size: contain;
	width: 26px;
	height: 22px;
	top: 15px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%)
}
.icn_map-pin:after {
	position: absolute;
	content: "";
	background: url("../img/icn_map-pin.svg") no-repeat center;
	background-size: contain;
	width: 24px;
	height: 24px;
	top: 15px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%)
}
.icn_contact:after {
	position: absolute;
	content: "";
	background: url("../img/icn_contact.svg") no-repeat center;
	background-size: contain;
	width: 24px;
	height: 24px;
	top: 15px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%)
}
.icn_instagram:after {
	position: absolute;
	content: "";
	background: url("../img/icn_instagram.svg") no-repeat center;
	background-size: contain;
	width: 24px;
	height: 24px;
	top: 15px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%)
}
.gnavi-list {
	width: auto;
	position: relative;
	-webkit-transition: all 0.3s;
	transition: all 0.3s
}
.dropdown-list {
	visibility: hidden;
	opacity: 0;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	width: 200px;
	position: absolute;
	top: 100%;
	left: 0
}
.gnavi-list:hover .dropdown-list {
	visibility: visible;
	opacity: 1
}
.dropdown-item {
	background-color: rgba(64, 165, 120, 0.5);
	height: 60px;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	position: relative
}
.header-default .dropdown-item {
	background-color: #40A578
}
.dropdown-item a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	color: #fff;
	text-decoration: none;
	position: relative
}
.dropdown-item a:before {
	content: "";
	display: block;
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-left: 2px solid #fff;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
	position: absolute;
	right: 15px;
	top: calc(50% - 3px)
}
@media screen and (max-width:1099.9px) {
	.c-hamburger-menu {
		position: fixed
	}
	.c-hamburger-menu__list {
		-webkit-box-align: start;
		-ms-flex-align: start;
		align-items: flex-start;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		left: 0;
		padding: 2rem;
		position: absolute;
		-webkit-transform: translateX(-100%);
		transform: translateX(-100%);
		-webkit-transition: 0.3s;
		transition: 0.3s;
		top: 100%;
		width: calc(100% - 4rem)
	}
	#hamburger:checked~.c-hamburger-menu__list {
		-webkit-transform: translateX(0%);
		transform: translateX(0%);
		-webkit-transition: 0.3s;
		transition: 0.3s
	}
	.nav-list li {
		margin-right: auto;
		font-size: 16px;
		width: 100%;
		position: relative;
		display: block;
		margin-bottom: 20px
	}
	.nav-list li a {
		padding-left: 20px;
		font-size: 16px;
		border-bottom: solid 1px #fff;
		padding-bottom: 20px
	}
	.nav-list li a:before {
		content: "";
		position: absolute;
		aspect-ratio: 1/1;
		top: 50%;
		right: 1.5em;
		translate: 0 -50%;
		border-right: 1px solid #fff;
		border-bottom: 1px solid #fff;
		rotate: -45deg;
		width: 8px
	}
	.nav-list .list-access, .nav-list .list-contact, .nav-list .list-instagram, .nav-list .list-recruit {
		width: 100%;
		font-size: 16px;
		margin-right: auto;
		margin-left: auto
	}
	.nav-list .list-access a, .nav-list .list-contact a, .nav-list .list-instagram a, .nav-list .list-recruit a {
		border-bottom: none
	}
	.nav-list02 {
		display: none
	}
	.dropdown-list {
		visibility: visible;
		opacity: 1;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
		width: 100%;
		position: static;
		top: 0;
		left: 0
	}
	.dropdown-item a:before {
		position: static;
		display: none
	}
	.nav-list li a.icn_recruit:before {
		background-color: currentColor;
		width: 1em;
		height: 1em;
		display: inline-block;
		-webkit-mask-repeat: no-repeat;
		mask-repeat: no-repeat;
		-webkit-mask-position: center;
		mask-position: center;
		-webkit-mask-size: contain;
		mask-size: contain;
		border: none;
		rotate: unset;
		right: 1.2em;
		-webkit-mask-image: url("../img/icn_link.svg");
		mask-image: url("../img/icn_link.svg")
	}
}
.c-hamburger-menu__input {
	display: none
}
.c-hamburger-menu__bg {
	background-color: #40A578;
	cursor: pointer;
	display: none;
	height: 100vh;
	left: 0;
	opacity: 0.9;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -1
}
#hamburger:checked~.c-hamburger-menu__bg {
	display: block
}
.c-hamburger-menu__button {
	display: none
}
@media screen and (max-width:1099.9px) {
	.c-hamburger-menu__button {
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		background-color: transparent;
		border: none;
		cursor: pointer;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		gap: 5px;
		height: 32px;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		width: 32px
	}
}
.c-hamburger-menu__button-mark {
	background-color: #fff;
	display: block;
	height: 1px;
	-webkit-transition: 0.3s;
	transition: 0.3s;
	width: 20px
}
@media screen and (max-width:1099.9px) {
	#hamburger:checked~.c-hamburger-menu__button .c-hamburger-menu__button-mark:first-of-type {
		-webkit-transform: translate(2px, 1px) rotate(45deg);
		transform: translate(2px, 1px) rotate(45deg);
		-webkit-transform-origin: 0%;
		transform-origin: 0%
	}
	#hamburger:checked~.c-hamburger-menu__button .c-hamburger-menu__button-mark:nth-of-type(2) {
		opacity: 0
	}
	#hamburger:checked~.c-hamburger-menu__button .c-hamburger-menu__button-mark:nth-of-type(3) {
		-webkit-transform: translate(2px, 3px) rotate(-45deg);
		transform: translate(2px, 3px) rotate(-45deg);
		-webkit-transform-origin: 0%;
		transform-origin: 0%
	}
}
.mv-img {
	width: 100%;
	position: relative
}
.mv-text {
	color: #fff;
	font-size: 25px;
	position: absolute;
	bottom: 300px;
	left: 140px;
	font-weight: 500;
	letter-spacing: 0.15em;
	text-shadow: 1px 2px 3px rgba(20, 73, 148, 0.1)
}
.mv-text-en {
	font-size: 58px;
	font-family: "Roboto", "Arial", "Helvetica", sans-serif;
	font-style: normal;
	margin-top: 6px;
	display: block;
	font-weight: 300
}
@media screen and (max-width:1200px) {
	.mv-text {
		bottom: 230px
	}
}
@media screen and (max-width:1099.9px) {
	.mv-img img {
		height: 584px;
		min-height: 584px;
		-o-object-fit: cover;
		object-fit: cover;
		-o-object-position: 50% 20%;
		object-position: 50% 20%
	}
	.mv-text {
		font-size: 23px;
		bottom: 230px;
		left: 100px
	}
	.mv-text-en {
		font-size: 40px
	}
}
@media screen and (max-width:767.9px) {
	.mv-img img {
		height: min(80dvh, 584px);
		min-height: min(80dvh, 584px)
	}
	.mv-text {
		font-size: 20px;
		bottom: 90px;
		left: 10px
	}
	.mv-text-en {
		font-size: 24px
	}
}
.waves {
	position: relative;
	width: 100%;
	height: 15vh;
	margin-bottom: -7px;
	min-height: 100px;
	max-height: 150px;
	top: -60px
}
.waves02 {
	position: relative;
	width: 100%;
	height: 15vh;
	margin-bottom: -7px;
	min-height: 100px;
	max-height: 150px;
	top: -100px
}
.waves03 {
	position: relative;
	width: 100%;
	height: 15vh;
	margin-bottom: -7px;
	min-height: 100px;
	max-height: 150px;
	top: 0px
}
.parallax>use {
	-webkit-animation: move-forever 25s cubic-bezier(0.55, 0.5, 0.45, 0.5) infinite;
	animation: move-forever 25s cubic-bezier(0.55, 0.5, 0.45, 0.5) infinite
}
.parallax>use:first-child {
	-webkit-animation-delay: -2s;
	animation-delay: -2s;
	-webkit-animation-duration: 7s;
	animation-duration: 7s
}
.parallax>use:nth-child(2) {
	-webkit-animation-delay: -3s;
	animation-delay: -3s;
	-webkit-animation-duration: 10s;
	animation-duration: 10s
}
.parallax>use:nth-child(3) {
	-webkit-animation-delay: -4s;
	animation-delay: -4s;
	-webkit-animation-duration: 13s;
	animation-duration: 13s
}
.parallax>use:nth-child(4) {
	-webkit-animation-delay: -5s;
	animation-delay: -5s;
	-webkit-animation-duration: 20s;
	animation-duration: 20s
}
@-webkit-keyframes move-forever {
	0% {
		-webkit-transform: translate3d(-90px, 0, 0);
		transform: translate3d(-90px, 0, 0)
	}
	to {
		-webkit-transform: translate3d(85px, 0, 0);
		transform: translate3d(85px, 0, 0)
	}
}
@keyframes move-forever {
	0% {
		-webkit-transform: translate3d(-90px, 0, 0);
		transform: translate3d(-90px, 0, 0)
	}
	to {
		-webkit-transform: translate3d(85px, 0, 0);
		transform: translate3d(85px, 0, 0)
	}
}
@media (max-width:768px) {
	.waves {
		height: 40px;
		min-height: 40px;
		top: -40px
	}
	.waves02 {
		height: 40px;
		min-height: 40px;
		top: -40px
	}
	.waves03 {
		height: 40px;
		min-height: 40px;
		top: 60px
	}
}
.about {
	width: 1000px;
	margin: 0px auto 60px;
	line-height: 1.5em;
	letter-spacing: 0.12em;
	font-size: 16px
}
.about-list {
	padding-left: 0
}
.about-list li a {
	color: #333;
	text-decoration: underline
}
@media screen and (max-width:1099.9px) {
	.about {
		width: 95%
	}
}
.rehab {
	padding-bottom: clamp(1.875rem, 0.982rem + 4.46vw, 3.125rem);
	margin-bottom: clamp(3.75rem, 1.964rem + 8.93vw, 6.25rem)
}
.rehab-content {
	margin-inline: var(--container-margin)
}
.rehab-title {
	color: #40A578;
	padding-bottom: 10px;
	border-bottom: solid 1px #40A578;
	font-size: 24px;
	letter-spacing: 0.15em;
	position: relative;
	margin-bottom: 60px
}
.rehab-text {
	font-size: 16px
}
.link-arrow {
	--duration: 0.2s;
	position: absolute;
	border: solid 1px #40A578;
	background-color: #fff;
	border-radius: 50%;
	top: 10px;
	right: 90px;
	width: 68px;
	height: 68px;
	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
}
.link-arrow img {
	width: 26px
}
@media (hover:hover) {
	.link-arrow {
		-webkit-transition: background-color var(--duration), border-color var(--duration);
		transition: background-color var(--duration), border-color var(--duration)
	}
	.link-arrow img {
		-webkit-transition: -webkit-filter var(--duration);
		transition: -webkit-filter var(--duration);
		transition: filter var(--duration);
		transition: filter var(--duration), -webkit-filter var(--duration)
	}
	.link-arrow:hover {
		background-color: #40A578;
		border-color: #fff;
		opacity: 1
	}
	.link-arrow:hover img {
		-webkit-filter: brightness(2);
		filter: brightness(2)
	}
}
.icn_rehab {
	position: relative;
	padding-left: 40px
}
.icn_rehab:after {
	position: absolute;
	content: "";
	background: url("../img/icn_rehab.svg") no-repeat center;
	background-size: contain;
	width: 21px;
	height: 29px;
	top: 5px;
	left: 0
}
.h3-text {
	padding: 60px 48px 0 48px;
	font-size: 16px;
	line-height: 1.5em;
	letter-spacing: 0.12em
}
.rehab-box {
	background: rgba(64, 165, 120, 0.05);
	border-radius: 12px 0 0 12px;
	margin-left: var(--container-margin);
	padding-block: clamp(7.875rem, 0.646rem + 15.06vw, 11rem) 60px;
	padding-inline: clamp(1rem, 0.179rem + 4.1vw, 3rem);
	position: relative
}
.rehab-box-inner {
	width: min(100%, 61.25rem);
	margin-right: auto
}
.rehab-box-inner:has(.medical-rehab-img) {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: auto 1.5rem auto;
	grid-template-columns: repeat(2, auto);
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: start;
	-webkit-column-gap: 1.5rem;
	-moz-column-gap: 1.5rem;
	column-gap: 1.5rem
}
.rehab-box-inner:has(.medical-rehab-img) .medical-rehab-img {
	-ms-grid-row: 1;
	-ms-grid-row-span: 2;
	grid-row: 1/span 2;
	-ms-grid-column: 2;
	grid-column: 2
}
.rehab-box-title {
	font-size: 39px;
	margin-bottom: 0.5128205128em;
	color: #40A578;
	letter-spacing: 0.15em
}
.rehab-box-title:has(.medical-rehab-box-title-bold) {
	color: var(--font-color)
}
.rehab-box-title .medical-rehab-box-title-bold {
	color: #40A578
}
.rehab-box-title .medical-rehab-box-title-s {
	font-size: min(1rem, 0.4871794872em)
}
.rehab-box-sub {
	color: #40A578;
	font-size: clamp(1rem, 0.75rem + 1.25vw, 1.125rem);
	font-weight: 500;
	margin-top: 0.6666666667em;
	display: inline-block;
	letter-spacing: 0.12em
}
.rehab-box-text {
	letter-spacing: 0.12em;
	margin-top: 1em
}
.rehab-img-box-right {
	margin-left: auto
}
.rehab-img-box-left, .rehab-img-box-right {
	position: relative;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	translate: 0 50%;
	margin-top: -5rem;
	width: min(80%, 52.875rem)
}
.rehab-img01, .rehab-img02, .rehab-img03 {
	width: 100%;
	z-index: 99
}
.rehab-img01 img, .rehab-img03 img {
	border-radius: 10px 0 0 10px
}
.rehab-img02 img {
	border-radius: 0 10px 10px 0
}
.point1, .point2, .point3 {
	background: #40A578;
	border-radius: 50%;
	width: 174px;
	height: 174px;
	display: -ms-grid;
	display: grid;
	place-content: center;
	position: absolute;
	top: 50%;
	z-index: 100
}
.point1 img, .point2 img, .point3 img {
	width: 110px
}
.point1:is(.point1, .point3), .point2:is(.point1, .point3), .point3:is(.point1, .point3) {
	left: 0;
	translate: -70% -50%
}
.point1:is(.point2), .point2:is(.point2), .point3:is(.point2) {
	right: 0;
	translate: 70% -50%
}
@media screen and (min-width:1900px) {
	.rehab-img-box-right {
		margin-right: calc((100% - 118.75rem) / 2)
	}
	.rehab-img-box-left {
		margin-left: calc((100% - 118.75rem) / 2)
	}
	.rehab-img01 img, .rehab-img02 img, .rehab-img03 img {
		border-radius: 10px
	}
}
.rehab-box-list {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 172px 56px 172px 56px 172px 56px 172px;
	grid-template-columns: 172px 172px 172px 172px;
	gap: 56px;
	margin-top: 30px
}
.rehab-box-list li {
	--size: 172px;
	color: #40A578;
	background: #fff;
	border-radius: 50%;
	width: var(--size);
	height: var(--size);
	aspect-ratio: 1/1;
	text-align: center;
	font-size: 19px;
	font-weight: 500;
	-webkit-box-shadow: 0px 5px 10px 0px rgba(20, 73, 148, 0.1);
	box-shadow: 0px 5px 10px 0px rgba(20, 73, 148, 0.1)
}
.icn_rehab_list01, .icn_rehab_list02, .icn_rehab_list03, .icn_rehab_list04 {
	position: relative
}
.icn_rehab_list01, .icn_rehab_list03, .icn_rehab_list04 {
	height: 82px;
	padding-top: 90px
}
.icn_rehab_list02 {
	height: 92px;
	padding-top: 80px
}
.icn_rehab_list01:after {
	position: absolute;
	content: "";
	background: url("../img/icn_rehab_list01.svg") no-repeat center;
	background-size: contain;
	width: 65px;
	height: 69px;
	top: 10px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%)
}
.icn_rehab_list02:after {
	position: absolute;
	content: "";
	background: url("../img/icn_rehab_list02.svg") no-repeat center;
	background-size: contain;
	width: 47px;
	height: 65px;
	top: 10px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%)
}
.icn_rehab_list03:after {
	position: absolute;
	content: "";
	background: url("../img/icn_rehab_list03.svg") no-repeat center;
	background-size: contain;
	width: 70px;
	height: 65px;
	top: 10px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%)
}
.icn_rehab_list04:after {
	position: absolute;
	content: "";
	background: url("../img/icn_rehab_list04.svg") no-repeat center;
	background-size: contain;
	width: 64px;
	height: 68px;
	top: 10px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%)
}
.top-link-btn {
	margin: 50px 0 0;
	text-align: center
}
.top-link-btn a {
	background: #fff;
	border: solid 1px #40A578;
	font-size: 14px;
	color: #333;
	padding-block: 0.7142857143em;
	padding-inline: 1.1428571429em 3.5714285714em;
	-webkit-box-shadow: 0px 5px 10px 0px rgba(20, 73, 148, 0.1);
	box-shadow: 0px 5px 10px 0px rgba(20, 73, 148, 0.1)
}
.icn_link_arrow {
	position: relative
}
.icn_link_arrow:after {
	position: absolute;
	content: "";
	background: url("../img/icn_arrow.svg") no-repeat center;
	background-size: contain;
	width: 26px;
	height: 10px;
	top: 50%;
	right: 10px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%)
}
@media screen and (max-width:1099.9px) {
	.rehab-box-list {
		-ms-grid-columns: 172px 172px;
		grid-template-columns: 172px 172px;
		place-content: center
	}
	.point1, .point2, .point3 {
		width: 100px;
		height: 100px
	}
	.point1 img, .point2 img, .point3 img {
		width: 80px
	}
	.link-arrow {
		right: 10px;
		width: 40px;
		height: 40px
	}
	.link-arrow img {
		width: 16px
	}
}
@media screen and (max-width:768px) {
	.rehab {
		margin-top: 40px
	}
	.rehab-box {
		padding-top: clamp(3.125rem, -0.268rem + 16.96vw, 7.875rem)
	}
	.rehab-box-title {
		font-size: clamp(1.25rem, 1.027rem + 1.12vw, 1.5625rem);
		line-height: 1.3em
	}
	.rehab-box-inner:has(.medical-rehab-img) {
		-ms-grid-columns: auto 1fr;
		grid-template-columns: auto 1fr
	}
	.rehab-box-inner:has(.medical-rehab-img) .medical-rehab-img {
		-ms-grid-row: 1;
		grid-row: 1;
		-ms-grid-column: 1;
		grid-column: 1
	}
	.rehab-box-inner:has(.medical-rehab-img) .rehab-box-title {
		-ms-flex-item-align: center;
		-ms-grid-row-align: center;
		align-self: center
	}
	.rehab-box-inner:has(.medical-rehab-img) .rehab-box-text {
		-ms-grid-column-span: 2;
		grid-column: span 2
	}
	.rehab-img-box-left, .rehab-img-box-right {
		margin-top: -3.125rem
	}
	.rehab-title {
		font-size: clamp(1.0625rem, 0.929rem + 0.67vw, 1.25rem)
	}
	.icn_rehab {
		padding-left: 30px
	}
	.rehab-text {
		padding: 10px 0;
		width: 95%;
		margin: 0 auto
	}
	.point1, .point2, .point3 {
		width: 66px;
		height: 66px
	}
	.point1 img, .point2 img, .point3 img {
		width: 42px
	}
	.rehab-box-list {
		-ms-grid-columns: 130px clamp(0.5rem, -0.839rem + 6.7vw, 2.375rem) 130px;
		grid-template-columns: 130px 130px;
		gap: clamp(0.5rem, -0.839rem + 6.7vw, 2.375rem);
		padding: 0
	}
	.rehab-box-list li {
		--size: 130px;
		font-size: 13px
	}
	.icn_rehab_list01, .icn_rehab_list03, .icn_rehab_list04 {
		height: 55px;
		padding-top: 75px
	}
	.icn_rehab_list02 {
		height: 60px;
		padding-top: 70px
	}
	.icn_rehab_list01:after {
		width: 55px;
		height: 57px
	}
	.icn_rehab_list02:after {
		width: 45px;
		height: 57px
	}
	.icn_rehab_list03:after {
		width: 60px;
		height: 55px
	}
	.icn_rehab_list04:after {
		width: 55px;
		height: 57px
	}
}
@media screen and (max-width:499.9px) {
	.rehab-img-box-left, .rehab-img-box-right {
		margin-top: -1.25rem
	}
}
.bg-green {
	background: #ECF5F1
}
.top-hospital-content {
	padding-bottom: clamp(5rem, 2.768rem + 11.16vw, 8.125rem)
}
.top-hospital-title {
	color: #40A578;
	padding-bottom: 10px;
	border-bottom: solid 1px #40A578;
	width: calc(100% - var(--container-margin) * 2);
	margin: 0 auto;
	letter-spacing: 0.15em
}
.icn_hospital {
	position: relative;
	padding-left: 40px
}
.icn_hospital:after {
	position: absolute;
	content: "";
	background: url("../img/icn_hospital.svg") no-repeat center;
	background-size: contain;
	width: 22px;
	height: 24px;
	top: 8px;
	left: 0
}
.top-hospital-about {
	display: -ms-grid;
	display: grid;
	overflow: hidden;
	-ms-grid-rows: auto;
	-ms-grid-columns: var(--container-margin) 1fr 40px 46.875vw;
	grid-template: ". content . img" auto/var(--container-margin) 1fr 40px 46.875vw;
	margin-top: clamp(2.5rem, -0.179rem + 13.39vw, 6.25rem);
	line-height: 1.5em;
	letter-spacing: 0.12em
}
.top-hospital-about .top-hospital-about-box {
	-ms-grid-row: 1;
	-ms-grid-column: 2;
	grid-area: content
}
.top-hospital-about .top-hospital-img {
	-ms-grid-row: 1;
	-ms-grid-column: 4;
	grid-area: img
}
.top-hospital-about-title {
	font-size: 24px;
	margin-bottom: 15px;
	color: #40A578;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between
}
.link-hospital-arrow {
	border: solid 1px #40A578;
	background: #fff;
	border-radius: 50%;
	width: 36px;
	height: 36px;
	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
}
.link-hospital-arrow img {
	width: 19px
}
.link-hospital-arrow:hover {
	background: #40A578;
	border: solid 1px #fff;
	opacity: 1
}
.top-hospital-about-text {
	border-bottom: dotted 1px #40A578;
	padding-bottom: 24px;
	margin-bottom: 24px;
	font-size: 16px;
	line-height: 1.7em
}
.top-hospital-img img {
	border-radius: 10px 0 0 10px
}
@media screen and (min-width:1900px) {
	.top-hospital-img img {
		border-radius: 10px
	}
}
.bg-green03 {
	background: url("../img/bg-stripe.png") repeat left;
	background-size: 10px 10px
}
.hospitalization {
	overflow: hidden
}
.hospitalization-content {
	margin-bottom: calc(1.5625rem + var(--mb));
	padding-block: 3.5rem;
	--mb: clamp(7.5rem, 3.929rem + 17.86vw, 12.5rem);
	display: -ms-grid;
	display: grid;
	-ms-grid-rows: auto auto auto auto;
	-ms-grid-columns: var(--container-margin) 2.5em 1fr 1.5em calc(46.875vw - var(--container-margin)) var(--container-margin);
	grid-template: ".  title title   title title ." auto ".  .     subttl  .     .     ." auto ".  .     txt     .     img   img" auto ".  .     .       .     img   img" auto/var(--container-margin) 2.5em 1fr 1.5em calc(46.875vw - var(--container-margin)) var(--container-margin)
}
@media screen and (min-width:1900px) {
	.hospitalization-content {
		margin-bottom: 20.875rem
	}
}
.hospitalization-content .hospitalization-inner {
	display: contents
}
.hospitalization-content .hospitalization-title {
	-ms-grid-row: 1;
	-ms-grid-column: 2;
	-ms-grid-column-span: 4;
	grid-area: title;
	color: #fff;
	padding-bottom: 10px;
	border-bottom: solid 1px #fff;
	font-size: 24px;
	letter-spacing: 0.15em;
	margin-bottom: 38px
}
.hospitalization-content .hospitalization-info-inner {
	padding-left: 46px;
	display: contents
}
.hospitalization-content .hospitalization-info-title {
	-ms-grid-row: 2;
	-ms-grid-column: 3;
	grid-area: subttl;
	color: #fff;
	font-size: clamp(1.75rem, 1.304rem + 2.23vw, 2.375rem)
}
.hospitalization-content .hospitalization-info-img {
	-ms-grid-row: 3;
	-ms-grid-row-span: 2;
	-ms-grid-column: 5;
	-ms-grid-column-span: 2;
	grid-area: img;
	position: relative
}
.hospitalization-content .hospitalization-info-img img {
	margin-block: -1.25rem calc(var(--mb) * -1);
	border-radius: 10px 0 0 10px
}
@media screen and (min-width:1900px) {
	.hospitalization-content .hospitalization-info-img img {
		border-radius: 10px
	}
}
.hospitalization-content .hospitalization-text {
	-ms-grid-row: 3;
	-ms-grid-column: 3;
	grid-area: txt;
	color: #fff;
	margin-top: 0.5em
}
.icn_hospitalization {
	position: relative;
	padding-left: 40px
}
.icn_hospitalization:before {
	position: absolute;
	content: "";
	background: url("../img/icn_nav_hospitalization.svg") no-repeat center;
	background-size: contain;
	width: 21px;
	height: 22px;
	top: 8px;
	left: 0
}
.hospitalization-list-inner {
	width: 1000px;
	margin: 0 auto;
	padding: 240px 0 80px
}
.hospitalization-list {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 26px 1fr 26px 1fr;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 26px
}
.hospitalization-list li {
	background: rgba(64, 165, 120, 0.1);
	border: solid 1px #40A578;
	-webkit-box-shadow: 0px 5px 10px 0px rgba(20, 73, 148, 0.1);
	box-shadow: 0px 5px 10px 0px rgba(20, 73, 148, 0.1);
	text-align: center;
	padding: 100px 28px 24px 28px
}
.hospitalization-list li a {
	border: solid 1px #40A578;
	font-size: 14px;
	color: #333;
	padding: 10px 50px 10px 10px;
	-webkit-box-shadow: 0px 5px 10px 0px rgba(20, 73, 148, 0.1);
	box-shadow: 0px 5px 10px 0px rgba(20, 73, 148, 0.1);
	background: rgba(255, 255, 255, 0.5)
}
.hospitalization-list li p {
	padding: 13px 0 25px;
	height: 100px
}
.hospitalization-list li span {
	font-size: 24px;
	color: #40A578
}
.icn_hospitalization01, .icn_hospitalization02, .icn_hospitalization03 {
	position: relative
}
.icn_hospitalization01:after {
	position: absolute;
	content: "";
	background: url("../img/icn_hospitalization01.svg") no-repeat center;
	background-size: contain;
	width: 42px;
	height: 42px;
	top: -60px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%)
}
.icn_hospitalization02:after {
	position: absolute;
	content: "";
	background: url("../img/icn_hospitalization02.svg") no-repeat center;
	background-size: contain;
	width: 37px;
	height: 38px;
	top: -60px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%)
}
.icn_hospitalization03:after {
	position: absolute;
	content: "";
	background: url("../img/icn_hospitalization03.svg") no-repeat center;
	background-size: contain;
	width: 30px;
	height: 39px;
	top: -60px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%)
}
@media screen and (max-width:1099.9px) {
	.hospitalization-inner, .hospitalization-list-inner {
		width: 95%
	}
	.hospitalization-list-inner {
		padding: 200px 0 60px
	}
	.hospitalization-list {
		display: block
	}
	.hospitalization-list li {
		margin-bottom: 20px;
		padding: 100px 28px 8px 28px
	}
	.hospitalization-list li :last-child {
		margin-bottom: 0
	}
}
@media screen and (max-width:767.9px) {
	.hospitalization-content {
		-ms-grid-rows: auto auto auto 1.25rem auto;
		-ms-grid-columns: var(--container-margin) 10% 1fr var(--container-margin);
		grid-template: ".  title   title   ." auto ".  subttl  subttl  ." auto ".  txt     txt     ." auto ".  .       .       ." 1.25rem ".  .       img     img" auto/var(--container-margin) 10% 1fr var(--container-margin)
	}
	.hospitalization-content .hospitalization-info-img img {
		margin-top: 0
	}
	.top-hospital-about {
		-ms-grid-rows: auto 1.25rem auto;
		-ms-grid-columns: var(--container-margin) 10% 1fr var(--container-margin);
		grid-template: ".  content content ." auto ".  . . ." 1.25rem ".  .       img     img"/var(--container-margin) 10% 1fr var(--container-margin)
	}
	.top-hospital-about .top-hospital-about-box {
		-ms-grid-row: 1;
		-ms-grid-column: 2;
		-ms-grid-column-span: 2
	}
	.hospitalization-content>.top-hospital-img {
		-ms-grid-row: 5;
		-ms-grid-row-span: 1;
		-ms-grid-column: 3;
		-ms-grid-column-span: 2
	}
	.top-hospital-about .top-hospital-img {
		-ms-grid-row: 3;
		-ms-grid-row-span: 1;
		-ms-grid-column: 3;
		-ms-grid-column-span: 2
	}
	.hospitalization-content .hospitalization-title {
		-ms-grid-row: 1;
		-ms-grid-column: 2;
		-ms-grid-column-span: 2
	}
	.hospitalization-content .hospitalization-info-title {
		-ms-grid-row: 2;
		-ms-grid-column: 2;
		-ms-grid-column-span: 2
	}
	.hospitalization-content>.hospitalization-info-img {
		-ms-grid-row: 5;
		-ms-grid-row-span: 1;
		-ms-grid-column: 3;
		-ms-grid-column-span: 2
	}
	.hospitalization-content .hospitalization-info-img {
		-ms-grid-row: 3;
		-ms-grid-row-span: 1;
		-ms-grid-column: 3;
		-ms-grid-column-span: 2
	}
	.hospitalization-content .hospitalization-text {
		-ms-grid-row: 3;
		-ms-grid-column: 2;
		-ms-grid-column-span: 2
	}
}
.youtube {
	width: 675px;
	aspect-ratio: 16/9;
	margin: 0 auto
}
.youtube iframe {
	width: 100%;
	height: 100%
}
.cm-wrap {
	text-align: center;
	margin-bottom: 200px
}
.cm-title {
	text-align: center;
	font-size: 18px;
	position: relative;
	display: inline-block;
	margin: 0 auto;
	padding: 0 20px 20px
}
.cm-title:before {
	position: absolute;
	content: "";
	background: url("../img/icn_cm_line.svg") no-repeat center;
	background-size: contain;
	width: 18px;
	height: 23px;
	top: 0;
	left: 0
}
.cm-title:after {
	position: absolute;
	content: "";
	background: url("../img/icn_cm_line.svg") no-repeat center;
	background-size: contain;
	width: 18px;
	height: 23px;
	top: 0;
	right: 0;
	-webkit-transform: rotate(75deg);
	transform: rotate(75deg)
}
@media screen and (max-width:1099.9px) {
	.youtube {
		width: 95%
	}
	.cm-wrap {
		margin-bottom: 60px
	}
}
.bg-medical_personnel {
	background: url("../img/bg-medical_personnel.jpg") no-repeat center;
	background-size: cover
}
.medical_personnel-inner {
	width: 1000px;
	margin: 0 auto;
	padding: 60px 0
}
.icn_medical_personnel {
	position: relative;
	padding-left: 40px
}
.icn_medical_personnel:before {
	position: absolute;
	content: "";
	background: url("../img/icn_medical_personnel.svg") no-repeat center;
	background-size: contain;
	width: 21px;
	height: 22px;
	top: 3px;
	left: 0
}
.medical_personnel-title {
	color: #fff;
	padding-bottom: 10px;
	border-bottom: solid 1px #fff;
	font-size: 24px;
	letter-spacing: 0.15em;
	margin-bottom: 38px
}
.medical_personnel-text {
	color: #fff
}
@media screen and (max-width:1099.9px) {
	.medical_personnel-inner {
		width: 95%
	}
	.medical_personnel-title {
		margin-bottom: 60px
	}
}
.notice {
	display: flex;
    max-width: 1400px;
    width: 94%;
    margin: 80px auto 100px;
    align-items: flex-start;
}
.notice-content {
    flex-basis: 70%;
}
@media screen and (max-width: 767.9px) {
	.notice {
		display: block;
	}
	.notice-content {
		margin-bottom: clamp(3.75rem, 3.75rem + 0vw, 3.75rem);
	}
}
.notice-title {
	text-align: center;
	font-size: 24px;
	color: #40A578
}
.notice-list {
	margin: 60px auto 50px;
	width: 820px
}
.notice-list dl a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex
}
.notice-list dt {
	border-bottom: solid 1px #40A578;
	width: 25%;
	padding-bottom: 9px
}
.notice-list dt .notice-day {
	color: #40A578;
	padding-right: 30px
}
.notice-list dt .notice-list-title {
	color: #90C31F
}
.notice-list dd {
	border-bottom: dashed 1px #40A578;
	width: 75%;
	color: #333;
	position: relative;
	padding-left: 16px;
	margin-left: 13px;
	padding-bottom: 9px
}
.notice-list dd:after {
	position: absolute;
	content: "・";
	top: 0;
	left: 0
}
.notice-link {
	text-align: center
}
.notice-link a {
	color: #40A578;
	text-decoration: underline
}
.icn_arrow_green02 {
	position: relative
}
.icn_arrow_green02:after {
	position: absolute;
	content: "";
	background: url("../img/icn_arrow_green02.svg") no-repeat center;
	background-size: contain;
	width: 26px;
	height: 10px;
	top: 50%;
	right: -40px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%)
}
@media screen and (max-width:1099.9px) {
	.notice-list {
		width: 95%
	}
	.notice-list dt {
		width: 30%
	}
	.notice-list dd {
		width: 70%
	}
}
.link-content {
	width: min(95%, 1000px);
	margin: 0 auto;
	padding: 60px 0
}
.link-list {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 25px 1fr 25px 1fr;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 25px
}
.link-list li {
	width: 100%;
	height: 353px;
	-webkit-box-shadow: 0px 5px 10px 0px rgba(20, 73, 148, 0.1);
	box-shadow: 0px 5px 10px 0px rgba(20, 73, 148, 0.1)
}
.link-list li a {
	width: 100%;
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	color: #fff;
	font-size: 24px
}
.link-recruit {
	background: url("../img/link-recruit_img.jpg") no-repeat center;
	background-size: cover;
	border-radius: 5px
}
.link-question {
	background: url("../img/link-question_img.jpg") no-repeat center;
	background-size: cover;
	border-radius: 5px
}
.link-inquiry {
	background: url("../img/link-inquiry_img.jpg") no-repeat center;
	background-size: cover;
	border-radius: 5px
}
.icn_arrow_white {
	position: relative;
	padding-right: 30px
}
.icn_arrow_white:after {
	position: absolute;
	content: "";
	background: url("../img/icn_arrow_white.svg") no-repeat center;
	background-size: contain;
	width: 26px;
	height: 10px;
	top: 50%;
	right: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%)
}
.icn_link {
	position: relative;
	padding-right: 30px
}
.icn_link:after {
	position: absolute;
	content: "";
	background: url("../img/icn_link.svg") no-repeat center;
	background-size: contain;
	width: 24px;
	height: 20px;
	top: 50%;
	right: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%)
}
@media screen and (max-width:1099.9px) {
	.link-list li {
		margin-bottom: 20px
	}
	.link-list li:last-child {
		margin-bottom: 0
	}
}
@media screen and (max-width:767.9px) {
	.link-list {
		-ms-grid-columns: 1fr;
		grid-template-columns: 1fr
	}
}
.bg-circle {
	background: url("../img/bg-circle.png") no-repeat center;
	background-size: cover
}
.access-box {
	width: 1000px;
	margin: 0 auto 50px;
	padding: 45px 0 80px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex
}
.access-map {
	border-radius: 50%;
	border: solid 4px #40A578;
	width: 305px;
	height: 305px;
	overflow: hidden
}
.access-map iframe {
	border-radius: 50%;
	width: 305px;
	height: 305px
}
.access-about {
	margin-left: 60px
}
.access-title {
	display: block;
	color: #40A578;
	font-size: 24px;
	margin-bottom: 20px;
	line-height: 1.5em;
	letter-spacing: 0.12em
}
.access-tel, .access-text, .access-train {
	font-size: 16px;
	line-height: 1.5em;
	letter-spacing: 0.12em
}
.icn_train {
	position: relative;
	padding-left: 18px
}
.icn_train:after {
	position: absolute;
	content: "";
	background: url("../img/icn_train.svg") no-repeat center;
	background-size: contain;
	width: 11px;
	height: 16px;
	top: 5px;
	left: 0
}
.access-tel {
	margin-top: 40px;
	margin-bottom: 35px
}
.access-googlemap,
.link_btn a {
	background: #fff;
	border: solid 1px #40A578;
	border-radius: 2px;
	padding: 10px 60px 10px 20px;
	font-size: 14px;
	color: #333
}
.icn_arrow {
	position: relative
}
.icn_arrow:after {
	position: absolute;
	content: "";
	background: url("../img/icn_arrow.svg") no-repeat center;
	background-size: contain;
	width: 26px;
	height: 10px;
	top: 15px;
	right: 20px
}
@media screen and (max-width:1099.9px) {
	.access-box {
		width: 95%
	}
}
@media screen and (max-width:767.9px) {
	.access-box {
		display: -ms-grid;
		display: grid
	}
	.access-map {
		margin: 0 auto
	}
	.access-about {
		display: contents
	}
	.access-title {
		-ms-grid-row: 1;
		grid-row: 1
	}
	.access-map {
		-ms-grid-row: 5;
		grid-row: 5
	}
	.access-tel {
		margin-bottom: 0.625rem
	}
	.access-googlemap {
		-ms-grid-column-align: center;
		justify-self: center;
		margin-top: 1.875rem
	}
}
.bg-green02 {
	background: #40A578
}
.footer-content {
	display: -ms-grid;
	display: grid;
	-ms-grid-rows: 1fr;
	-ms-grid-columns: var(--footer-margin) auto 1fr auto var(--footer-margin);
	grid-template: ". div . nav ." 1fr/var(--footer-margin) auto 1fr auto var(--footer-margin);
	color: #fff;
	padding: 40px 0 30px
}
.footer-content>div:first-of-type {
	-ms-grid-row: 1;
	-ms-grid-column: 2;
	grid-area: div
}
.footer-content .footer-content02 {
	-ms-grid-row: 1;
	-ms-grid-column: 4;
	grid-area: nav
}
.footer-content02 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between
}
.footer-content02 .footer-link {
	margin-right: clamp(1.25rem, -4.533rem + 12.05vw, 3.75rem)
}
.footer-img {
	width: 170px
}
.footer-text {
	margin-top: 12px;
	font-size: 12px
}
.footer-text a {
	color: #fff
}
.footer-link li {
	padding-bottom: 10px
}
.footer-link li a {
	color: #fff;
	font-size: 12px;
	display: inline-block
}
.footer-link02 li a {
	color: #fff;
	font-size: 12px;
	display: inline-block
}
.footer-link02 {
	border-left: solid 1px #fff;
	padding-left: clamp(1.25rem, -1.063rem + 4.82vw, 2.25rem)
}
.footer-link-inner {
	padding-left: 20px
}
.footer-link-inner li {
	padding-bottom: 0px
}
.footer-link-item {
	margin-top: 20px;
	margin-bottom: 10px
}
.top-link-wrap {
	position: relative
}
.top-link a {
	--duration: 0.2s;
	position: absolute;
	border: solid 1px #40A578;
	background: #fff;
	border-radius: 50%;
	top: -50px;
	right: min(90px, 7.03125%);
	width: 80px;
	aspect-ratio: 1/1;
	display: block;
	text-align: center;
	padding-top: 10px
}
.top-link a img {
	width: 11px
}
.top-link a span {
	display: block;
	color: #333;
	font-size: 12px
}
@media (hover:hover) {
	.top-link a {
		-webkit-transition: background-color var(--duration), border-color var(--duration);
		transition: background-color var(--duration), border-color var(--duration)
	}
	.top-link a img {
		-webkit-transition: -webkit-filter var(--duration);
		transition: -webkit-filter var(--duration);
		transition: filter var(--duration);
		transition: filter var(--duration), -webkit-filter var(--duration)
	}
	.top-link a span {
		-webkit-transition: color var(--duration);
		transition: color var(--duration)
	}
	.top-link a:hover {
		background: #40A578;
		border-color: #fff;
		opacity: 1
	}
	.top-link a:hover img {
		-webkit-filter: brightness(2);
		filter: brightness(2)
	}
	.top-link a:hover span {
		color: #fff
	}
}
@media screen and (max-width:1099.9px) {
	.top-link a {
		right: 2%
	}
}
.icn_insta, .icn_seiwakai {
	position: relative;
	padding-left: 30px
}
.icn-footer-inner, .icn_footer_hospital, .icn_footer_hospitalization, .icn_footer_medical, .icn_footer_medical_personnel, .icn_footer_recruit, .icn_footer_rehab, .icn_question, .icn_omimai {
	position: relative;
	padding-left: 20px
}
.icn_footer_link {
	position: relative;
	padding-right: 20px
}
.icn_footer_rehab:after {
	position: absolute;
	content: "";
	background: url("../img/icn_nav_rehab.svg") no-repeat center;
	background-size: contain;
	width: 10px;
	height: 15px;
	top: 50%;
	left: 0px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.icn_footer_medical:after {
	position: absolute;
	content: "";
	background: url("../img/icn_nav_medical.svg") no-repeat center;
	background-size: contain;
	width: 17px;
	height: 17px;
	top: 50%;
	left: 0px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.icn_footer_hospital:after {
	position: absolute;
	content: "";
	background: url("../img/icn_nav_hospital.svg") no-repeat center;
	background-size: contain;
	width: 13px;
	height: 14px;
	top: 50%;
	left: 0px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.icn_footer_hospitalization:after {
	position: absolute;
	content: "";
	background: url("../img/icn_nav_hospitalization.svg") no-repeat center;
	background-size: contain;
	width: 13px;
	height: 13px;
	top: 50%;
	left: 0px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.icn_footer_medical_personnel:after {
	position: absolute;
	content: "";
	background: url("../img/icn_nav_medical_personnel.svg") no-repeat center;
	background-size: contain;
	width: 13px;
	height: 13px;
	top: 50%;
	left: 0px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.icn-footer-inner:after {
	position: absolute;
	content: "-";
	font-size: 12px;
	top: 50%;
	left: 0px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.icn_footer_recruit:after {
	position: absolute;
	content: "";
	background: url("../img/icn_footer_recruit.svg") no-repeat center;
	background-size: contain;
	width: 17px;
	height: 14px;
	top: 50%;
	left: 0px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.icn_footer_link:before {
	position: absolute;
	content: "";
	background: url("../img/icn_link.svg") no-repeat center;
	background-size: contain;
	width: 11px;
	height: 10px;
	top: 50%;
	right: 0px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.icn_question:after {
	position: absolute;
	content: "";
	background: url("../img/icn_question.svg") no-repeat center;
	background-size: contain;
	width: 15px;
	height: 14px;
	top: 50%;
	left: 0px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.icn_omimai::after {
	position: absolute;
	content: '';
	background: url(../img/icn_omimai.svg) no-repeat center;
	background-size: contain;
	width: 14px;
	height: 14px;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.icn_insta:after {
	position: absolute;
	content: "";
	background: url("../img/icn_insta.svg") no-repeat center;
	background-size: contain;
	width: 19px;
	height: 19px;
	top: 50%;
	left: 0px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.icn_seiwakai:after {
	position: absolute;
	content: "";
	background: url("../img/icn_seiwakai.svg") no-repeat center;
	background-size: contain;
	width: 22px;
	height: 22px;
	top: 50%;
	left: 0px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.copyright {
	color: #fff;
	margin-inline: var(--footer-margin);
	font-size: 12px;
	padding-bottom: 12px;
}
@media (min-width:751px) {
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}
@media screen and (max-width:767.9px) {
	.footer-content {
		-ms-grid-rows: auto 2.5rem 1fr;
		-ms-grid-columns: var(--footer-margin) auto var(--footer-margin);
		grid-template: ". div ." auto ". . ." 2.5rem ". nav ." 1fr/var(--footer-margin) auto var(--footer-margin);
	}
	.footer-img {
		width: 250px;
	}
	.footer-text {
		font-size: 14px;
	}
	.footer-link li a {
		font-size: clamp(0.75rem, 0.023rem + 3.64vw, 0.875rem);
	}
	.footer-content>div:first-of-type {
		-ms-grid-row: 1;
		-ms-grid-column: 2;
	}
	.footer-content .footer-content02 {
		-ms-grid-row: 3;
		-ms-grid-column: 2;
	}
}
@media screen and (max-width:499.9px) {
	.footer-content02 {
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: (1fr)[2];
		grid-template-columns: repeat(2, 1fr);
		row-gap: 1rem;
	}
	.footer-link02 {
		border-left-width: 0;
		-ms-grid-column-span: 2;
		grid-column: span 2;
		padding-left: 0;
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: (1fr)[2];
		grid-template-columns: repeat(2, 1fr);
		grid-auto-flow: column;
		-ms-grid-rows: (auto)[5];
		grid-template-rows: repeat(5, auto)
	}
	.footer-link02>:first-child {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
	}
	.footer-link02>:nth-child(2) {
		-ms-grid-row: 2;
		-ms-grid-column: 1;
	}
	.footer-link02>:nth-child(3) {
		-ms-grid-row: 3;
		-ms-grid-column: 1;
	}
	.footer-link02>:nth-child(4) {
		-ms-grid-row: 4;
		-ms-grid-column: 1;
	}
	.footer-link02>:nth-child(5) {
		-ms-grid-row: 5;
		-ms-grid-column: 1;
	}
	.footer-link02>:nth-child(6) {
		-ms-grid-row: 1;
		-ms-grid-column: 2;
	}
	.footer-link02>:nth-child(7) {
		-ms-grid-row: 2;
		-ms-grid-column: 2;
	}
	.footer-link02>:nth-child(8) {
		-ms-grid-row: 3;
		-ms-grid-column: 2;
	}
	.footer-link02>:nth-child(9) {
		-ms-grid-row: 4;
		-ms-grid-column: 2;
	}
	.footer-link02>:nth-child(10) {
		-ms-grid-row: 5;
		-ms-grid-column: 2;
	}
	.footer-link-item {
		margin-block: 0;
	}
}
.container {
	width: 1000px;
	margin: 0 auto;
}
.breadcrumbs-header {
	margin-top: 70px;
}
.breadcrumbs {
	padding: 16px 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 12px;
}
.breadcrumbs li a {
	color: #40A578;
}
.icn_dot {
	position: relative;
	padding-left: 16px;
}
.icn_dot:after {
	position: absolute;
	content: "";
	width: 7px;
	height: 7px;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	border-radius: 50%;
	background: #40A578;
}
.breadcrumbs-item-first {
	position: relative;
	padding-right: 50px;
}
.breadcrumbs-item-first:before {
	position: absolute;
	content: "";
	width: 30px;
	height: 1px;
	top: 50%;
	right: 10px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	border-top: solid 1px #D5D5D5;
}
.rehab-top {
	margin: 50px auto clamp(3.75rem, 2.212rem + 7.69vw, 7.5rem);
	width: 900px;
	text-align: center;
}
.h3-title {
	color: #40A578;
	font-size: clamp(1.75rem, 1.259rem + 2.46vw, 2.4375rem);
	position: relative;
	font-weight: 500;
	display: inline-block;
}
.h3-title:after {
	position: absolute;
	content: "";
	width: 26px;
	height: 1px;
	bottom: -30px;
	right: 50%;
	border-top: solid 1px #40A578;
}
.icn_title_rehab {
	position: relative;
	padding-left: 50px;
}
.icn_title_rehab:before {
	position: absolute;
	content: "";
	background: url("../img/rehab/icn_title_rehab.svg") no-repeat center;
	background-size: contain;
	width: 28px;
	height: 40px;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.h4-title {
	font-size: clamp(1.25rem, 1.071rem + 0.89vw, 1.5rem);
	font-weight: 400;
	position: relative;
	padding-left: 20px;
	padding-bottom: 7px;
	margin-block: clamp(1.875rem, 0.536rem + 6.7vw, 3.75rem) clamp(1.5rem, 0.786rem + 3.57vw, 2.5rem)
}
.h4-title:after {
	position: absolute;
	content: "";
	width: 3px;
	height: 26px;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	background-color: #90C31F;
}
.h4-title:before {
	position: absolute;
	content: "";
	width: 100%;
	height: 1;
	bottom: 0;
	left: 0;
	border-bottom: solid 1px #E5E6F3;
}
.rehab-table table {
	margin-bottom: 0.625rem;
}
.rehab-table table th {
	background: #40A578;
	color: #fff;
	padding: 14px 0;
}
.rehab-header2 {
	border-left: solid 1px #fff;
	width: 12.4em;
}
.rehab-table table td {
	text-align: left;
	padding: 20px 50px;
}
.rehab-table table td:nth-of-type(2n) {
	text-align: center;
}
.rehab-table table tr:nth-of-type(2n-1) {
	background: #F9F9F9;
}
@media screen and (max-width:767.9px) {
	.rehab-table table {
		border: 1px solid #40A578;
		border-collapse: collapse;
	}
	.rehab-table table tr {
		display: -ms-grid;
		display: grid;
	}
	.rehab-table table tr:has(th) {
		-ms-grid-columns: (auto)[2];
		grid-template-columns: repeat(2, auto);
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
	.rehab-table table tr:has(th):is(tr:nth-of-type(2n-1)) {
		background-color: #40A578;
	}
	.rehab-table table tr:nth-of-type(2n-1) td:nth-of-type(2) {
		border-top: 1px dashed #fff;
	}
	.rehab-table table td:nth-of-type(2) {
		border-top: 1px dashed #E5E6F3;
	}
	.rehab-header2 {
		width: 100%;
		border-left-width: 0;
	}
	.rehab-header2:before {
		content: "／";
	}
}
.rehab-features {
	--img-size: clamp(5rem, 2.902rem + 10.49vw, 7.938rem);
	--gap: clamp(0.875rem, -0.688rem + 7.81vw, 3.063rem);
	--box-inline: clamp(1rem, -0.071rem + 5.36vw, 2.5rem);
}
.rehab-features ul {
	display: -ms-grid;
	display: grid;
	row-gap: clamp(1.25rem, -0.528rem + 8.89vw, 2.25rem);
}
.rehab-features li {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: var(--img-size) var(--gap) 1fr;
	grid-template-columns: var(--img-size) 1fr;
	-webkit-column-gap: var(--gap);
	-moz-column-gap: var(--gap);
	column-gap: var(--gap);
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.feature-img {
	width: var(--img-size);
	height: var(--img-size);
	border-radius: 50%;
	background: #fff;
	-webkit-box-shadow: 0px 5px 10px 0px rgba(20, 73, 148, 0.1);
	box-shadow: 0px 5px 10px 0px rgba(20, 73, 148, 0.1);
	text-align: center;
	padding: clamp(0.25rem, -0.241rem + 2.46vw, 0.9375rem) 0;
	position: relative;
}
.feature-img:after {
	position: absolute;
	content: "";
	width: calc(var(--gap) + var(--box-inline) / 2);
	height: 1px;
	border-top: solid 1px #333;
	top: 50%;
	left: 100%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	z-index: 100;
}
.feature-img .feature-img-icn01 {
	width: 33.8582677165%;
}
.feature-img .feature-img-icn02 {
	width: 23.6220472441%;
}
.feature-img .feature-img-icn03 {
	width: 38.5826771654%;
}
.feature-img .feature-img-icn04 {
	width: 33.8582677165%;
}
.feature-img img {
	margin-top: clamp(0.125rem, -0.232rem + 1.79vw, 0.625rem);
}
.feature-img span {
	display: block;
	margin: 0
}
.feature-title {
	font-size: 10px;
	font-weight: 500
}
.feature-number {
	font-size: 15px;
	font-weight: 500
}
.feature-box {
	background: #ECF6F2;
	border-radius: 3px;
	padding: clamp(1.25rem, 0.139rem + 5.56vw, 1.875rem) var(--box-inline)
}
.feature-box p {
	font-size: clamp(0.875rem, 0.653rem + 1.11vw, 1rem)
}
.feature-box span {
	font-size: clamp(1.125rem, 0.903rem + 1.11vw, 1.25rem);
	color: #40A578;
	font-weight: 500
}
.feature-box p {
	margin: 5px 0 0
}
.rehab-support-content {
	margin: 60px 0 100px
}
.rehab-support-flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex
}
.rehab-support-flex:first-child {
	margin-bottom: 60px
}
.rehab-support-left {
	margin-left: clamp(6.25rem, -30rem + 48.33vw, 42.5rem)
}
.rehab-support-right {
	margin-right: clamp(6.25rem, -30rem + 48.33vw, 42.5rem)
}
.rehab-support-title {
	color: #40A578;
	font-size: 25px;
	margin-bottom: 35px;
	font-weight: 500
}
.rehab-support-img01 {
	margin-top: 60px;
	margin-left: 10px;
	width: clamp(93.75rem, 125vw, 156.25rem)
}
.rehab-support-img02 {
	margin-right: 30px;
	width: clamp(93.75rem, 125vw, 156.25rem)
}
.rehab-support-text-box {
	margin-right: 30px
}
.rehab-support-text-box p {
	line-height: 1.5em
}
@media screen and (max-width:1099.9px) {
	.container {
		width: 95%
	}
	.breadcrumbs-header {
		margin-top: 0px
	}
}
@media screen and (max-width:1099.9px) {
	.h3-text {
		text-align: left;
		padding: 60px 3.3vw 0 3.3vw
	}
	.rehab-top {
		width: 95%
	}
	.rehab-support-left {
		margin-left: 3.3vw;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column
	}
	.rehab-support-right {
		margin-right: 3.3vw;
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		-ms-flex-direction: column-reverse;
		flex-direction: column-reverse;
		row-gap: 1.25rem
	}
	.rehab-support-img01, .rehab-support-img02 {
		width: 100%
	}
	.rehab-support-img01 {
		margin-top: 20px
	}
	.rehab-support-img02 {
		margin-right: 0px;
		margin-bottom: 30px
	}
	.rehab-support-text {
		width: 95%;
		margin: 0 auto
	}
}
.notice-top {
	margin: 50px auto clamp(3.75rem, 2.212rem + 7.69vw, 7.5rem);
	text-align: center
}
.icn_title_notice {
	position: relative;
	padding-left: 50px
}
.icn_title_notice:before {
	position: absolute;
	content: "";
	background: url("../img/notice/icn_title_notice.svg") no-repeat center;
	background-size: contain;
	width: 44px;
	height: 36px;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%)
}
.tag-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex
}
.tag-item {
	margin-right: 20px
}
.tag-link-nomal {
	padding: 5px 20px;
	color: #ADADAD;
	text-align: center;
	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: 12px;
	border-radius: 45px;
	border: solid 1px #ADADAD
}
.tag-link-nomal.is-active {
	background: #40A578;
	color: #fff;
	border: none
}
.notice-wrap-list {
	margin: 60px 0 50px
}
.notice-wrap-list dl a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex
}
.notice-wrap-list dt {
	border-bottom: solid 1px #40A578;
	width: 20%;
	padding-bottom: 9px
}
.notice-wrap-list dt .notice-day {
	color: #40A578;
	padding-right: 30px
}
.notice-wrap-list dt .notice-list-title {
	color: #90C31F
}
.notice-wrap-list dd {
	border-bottom: dashed 1px #40A578;
	width: calc(70% - 16px);
	color: #333;
	position: relative;
	padding-left: 16px;
	margin-left: 13px;
	padding-bottom: 9px
}
.notice-wrap-list dd:after {
	position: absolute;
	content: "・";
	top: 0;
	left: 0
}
.pagenavi-wrap {
	margin-bottom: 100px;
	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
}
.pagenavi-wrap .next, .pagenavi-wrap .prev {
	border: solid 1px #40A578;
	position: relative
}
.pagenavi-wrap .prev {
	padding: 6px 15px 6px 32px
}
.pagenavi-wrap .next {
	padding: 6px 32px 6px 15px
}
.pagenavi-wrap .prev:after {
	position: absolute;
	content: "";
	background: url("../img/notice/icn_pagenavi_arrow_prev.svg") no-repeat center;
	background-size: contain;
	width: 5px;
	height: 7px;
	top: 50%;
	left: 10px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%)
}
.pagenavi-wrap .next:after {
	position: absolute;
	content: "";
	background: url("../img/notice/icn_pagenavi_arrow_next.svg") no-repeat center;
	background-size: contain;
	width: 5px;
	height: 7px;
	top: 50%;
	right: 10px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%)
}
.pagenavi-wrap a, .pagenavi-wrap span {
	color: #333;
	font-size: 12px;
	margin: 0 15px
}
.pagenavi-wrap .current {
	background: #40A578;
	color: #fff;
	width: 30px;
	height: 30px;
	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
}
@media screen and (max-width:1099.9px) {
	.notice-wrap-list dt {
		width: 20%;
		font-size: 14px
	}
	.notice-wrap-list dt .notice-day {
		padding-right: 0px;
		display: block
	}
	.notice-wrap-list dt .notice-list-title {
		display: block
	}
	.notice-wrap-list dd {
		width: 70%
	}
}
.article-head {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}
.article-head-date {
	color: #40A578;
	font-size: 14px;
	padding-right: 20px;
	font-weight: 500
}
.article-head-tag {
	color: #90C31F;
	font-size: 14px;
	font-weight: 500
}
.article-head-title {
	width: 100%;
	color: #333333;
	font-weight: 500;
	position: relative;
	font-size: 24px;
	padding-left: 24px;
	border-bottom: solid 1px #E5E6F3;
	padding-bottom: 20px
}
.article-head-title:after {
	position: absolute;
	content: "・";
	font-size: 24px;
	top: 0;
	left: 0
}
.article-text {
	margin: 40px 0 100px
}
.article-text p {
	margin: 0
}
.list-btn-wrap {
	margin-bottom: 100px
}
.list-btn {
	background: #fff;
	border: solid 1px #40A578;
	-webkit-box-shadow: 0px 5px 10px 0px rgba(20, 73, 148, 0.1);
	box-shadow: 0px 5px 10px 0px rgba(20, 73, 148, 0.1);
	padding: 10px 20px 10px 70px;
	position: relative;
	color: #333
}
.list-btn:after {
	position: absolute;
	content: "";
	background: url("../img/notice/icn_list_btn_arrow.svg") no-repeat center;
	background-size: contain;
	width: 26px;
	height: 10px;
	top: 50%;
	left: 10px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%)
}
.medical-top {
	margin: 50px auto clamp(3.75rem, 2.212rem + 7.69vw, 7.5rem);
	text-align: center
}
.icn_title_medical {
	position: relative;
	padding-left: 50px
}
.icn_title_medical:before {
	position: absolute;
	content: "";
	background: url("../img/medical/icn_title_medical.svg") no-repeat center;
	background-size: contain;
	width: 38px;
	height: 36px;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%)
}
.medical-rehab-img {
	width: auto;
	height: 110px
}
.medical-rehab-img img {
	width: auto;
	height: 100%;
	display: block
}
.medical-table tr th {
	width: 50%;
	padding: 14px 0;
	color: #fff
}
.medical-table-head01 {
	background: #40A578
}
.medical-table-head02 {
	background: #ADADAD;
	border-left: solid 1px #fff
}
.medical-table tr td {
	padding: 20px 50px;
	text-align: left;
	font-size: 14px
}
.medical-target-list li {
	position: relative;
	padding-left: 16px;
	margin-bottom: 5px
}
.medical-target-list li:after {
	position: absolute;
	content: "・";
	top: 0;
	left: 0
}
.medical-question-list li {
	padding-bottom: 40px;
	margin-bottom: 40px;
	border-bottom: solid 1px #40A578;
	width: 100%
}
.medical-answer-item, .medical-question-item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}
.medical-question-item {
	margin-left: 28px
}
.medical-question-item p {
	font-size: 18px;
	font-weight: 500
}
.medical-answer-item {
	margin-left: 100px
}
.medical-answer-item p {
	font-size: 14px
}
.medical-answer-item .answer, .medical-question-item .question {
	width: 37px;
	height: 37px;
	color: #fff;
	font-size: 22px;
	border-radius: 50%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-right: 35px;
	padding-left: 3px;
	padding-bottom: 3px
}
.medical-question-item .question {
	background: #40A578
}
.medical-answer-item .answer {
	background: #D9D9D9
}
.bg-medical-info {
	background: url("../img/medical/bg-medical-info.jpg") no-repeat center;
	background-size: cover;
	margin-top: 3.75rem
}
.medical-info-wrap {
	padding: 40px 0 clamp(3.75rem, 1.964rem + 8.93vw, 6.25rem)
}
.medical-info-list ul {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr clamp(0.75rem, -1.274rem + 4.22vw, 1.625rem) 1fr clamp(0.75rem, -1.274rem + 4.22vw, 1.625rem) 1fr;
	grid-template-columns: 1fr 1fr 1fr;
	gap: clamp(0.75rem, -1.274rem + 4.22vw, 1.625rem)
}
.medical-info-list ul li {
	position: relative;
	display: -ms-grid;
	display: grid;
	-ms-grid-rows: auto 1fr;
	grid-template-rows: auto 1fr
}
.medical-info-item {
	background: #fff;
	width: 90.5063291139%;
	-ms-grid-column-align: center;
	justify-self: center;
	margin-top: -2.25rem;
	padding: 40px 24px;
	-webkit-box-shadow: 0px 5px 10px 0px rgba(20, 73, 148, 0.1);
	box-shadow: 0px 5px 10px 0px rgba(20, 73, 148, 0.1)
}
.medical-info-item span {
	text-align: center;
	font-size: 18px;
	font-weight: 500;
	position: relative;
	padding-bottom: 24px;
	display: block
}
.medical-info-item span:after {
	position: absolute;
	content: "";
	width: 30px;
	height: 2px;
	border-top: solid 2px #90C31F;
	bottom: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%)
}
.medical-info-item p {
	font-size: 14px;
	padding-top: 20px
}
.medical-greeting-wrap {
	margin-bottom: 100px
}
.medical-greeting-wrap p:last-of-type {
	margin-top: 2em
}
@media screen and (max-width:1099.9px) {
	.medical-answer-item, .medical-question-item {
		margin-left: 0
	}
	.medical-table tr td {
		padding: 10px 10px
	}
	.medical-table-head02 {
		padding: 0 10px
	}
}
@media screen and (max-width:767.9px) {
	.medical-info-list ul {
		-ms-grid-columns: 1fr;
		grid-template-columns: 1fr;
		row-gap: 2.5rem
	}
	.medical-table tbody {
		display: -ms-grid;
		display: grid
	}
	.medical-table tr {
		display: contents
	}
	.medical-table tr th {
		width: 100%
	}
	.medical-table th:first-of-type {
		-webkit-box-ordinal-group: 2;
		-ms-flex-order: 1;
		order: 1
	}
	.medical-table th:nth-of-type(2) {
		-webkit-box-ordinal-group: 4;
		-ms-flex-order: 3;
		order: 3
	}
	.medical-table td:first-of-type {
		-webkit-box-ordinal-group: 3;
		-ms-flex-order: 2;
		order: 2
	}
	.medical-table td:nth-of-type(2) {
		-webkit-box-ordinal-group: 5;
		-ms-flex-order: 4;
		order: 4
	}
	.medical-rehab-img {
		height: 60px
	}
}
.hospital-top {
	margin: 50px auto clamp(3.75rem, 2.212rem + 7.69vw, 7.5rem);
	text-align: center
}
.icn_title_hospital {
	position: relative;
	padding-left: 50px
}
.icn_title_hospital:before {
	position: absolute;
	content: "";
	background: url("../img/hospital/icn_title_hospital.svg") no-repeat center;
	background-size: contain;
	width: 37px;
	height: 40px;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%)
}
.hospital-about {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding-right: clamp(6.25rem, -29.375rem + 47.5vw, 41.875rem);
	line-height: 1.5em;
	letter-spacing: 0.12em
}
.hospital-about-box {
	margin-left: 40px
}
.hospital-about-box span {
	display: block;
	color: #40A578;
	font-size: 25px;
	margin-bottom: 36px
}
.hospital-img {
	width: clamp(187.5rem, 109.375rem + 125vw, 250rem)
}
.hospital-about-list {
	margin: 100px auto 60px
}
.hospital-about-list ul {
	--column: 6;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: ;
	grid-template-columns: repeat(var(--column), 1fr);
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	gap: clamp(0.625rem, 0.047rem + 1.2vw, 0.875rem)
}
.hospital-about-list ul li a {
	min-height: 3.5714285714em;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	border: solid 1px #40A578;
	color: #333;
	-webkit-box-shadow: 0px 5px 10px 0px rgba(20, 73, 148, 0.1);
	box-shadow: 0px 5px 10px 0px rgba(20, 73, 148, 0.1);
	font-size: clamp(0.8125rem, 0.668rem + 0.3vw, 0.875rem);
	text-align: center;
	line-height: 1.3
}
.hospital-speech-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding-block: 100px 120px
}
.hospital-speech-wrap .h4-title {
	margin-top: 0
}
.hospital-speech-text p {
	line-height: 1.5em;
	letter-spacing: 0.12em
}
.hospital-speech__subtitle {
	color: #40A578;
	font-size: clamp(1rem, 0.643rem + 1.79vw, 1.5rem);
	font-weight: 400;
	max-width: 20em;
	word-break: keep-all;
	margin-bottom: 0.8333333333em
}
.hospital-philosophy {
	padding-block: 30px 80px
}
.hospital-philosophy .h4-title {
	margin-top: 0
}
.hospital-philosophy__subtitle {
	color: #40A578;
	font-size: clamp(1.25rem, 1.071rem + 0.89vw, 1.5rem);
	font-weight: 400;
	max-width: 20em;
	word-break: keep-all;
	margin-bottom: 0.8333333333em
}
.hospital-philosophy__subtitle:is(.hospital-philosophy-text+.hospital-philosophy__subtitle) {
	margin-top: 1.5em
}
.hospital-philosophy-ul {
	display: -ms-grid;
	display: grid;
	row-gap: 0.5rem
}
.hospital-philosophy-ul .__li {
	padding-left: 1.125em;
	position: relative
}
.hospital-philosophy-ul .__li:before {
	content: "";
	position: absolute;
	top: 0.6875em;
	left: 0.25em;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background-color: #40A578
}
.director-img {
	width: 274px;
	text-align: center
}
.director-img span {
	margin-top: 4px;
	font-size: 14px
}
.hospital-speech {
	width: 560px
}
.bg-hospital-informed_consent {
	background: url("../img/hospital/bg-hospital-philosophy.jpg") no-repeat center;
	background-size: cover
}
.hospital-informed_consent-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding: 80px 0
}
.hospital-informed_consent-img {
	width: 350px;
	margin-right: 80px
}
.hospital-informed_consent-about {
	width: calc(100% - 430px)
}
.hospital-informed_consent-text span {
	color: #40A578;
	font-size: 24px;
	margin-bottom: 20px
}
.hospital-informed_consent-text p {
	line-height: 1.5em;
	letter-spacing: 0.12em
}
.hospital-summary-wrap {
	padding: 100px 0
}
.hospital-summary-table {
	padding-top: 80px;
	color: #fff;
	font-size: 14px
}
.hospital-summary-table dl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: calc(30% + 20px) 1fr;
	grid-template-columns: calc(30% + 20px) 1fr
}
.hospital-summary-table dt {
	border-bottom: solid 1px #fff;
	padding: 20px 20px 10px 5px
}
.hospital-summary-table dd {
	border-bottom: dashed 1px #fff;
	padding: 20px 20px 10px 5px
}
.h4-title02 {
	font-size: 24px;
	font-weight: 500;
	position: relative;
	padding-left: 20px;
	padding-bottom: 7px;
	color: #fff
}
.h4-title02:after {
	position: absolute;
	content: "";
	width: 1px;
	height: 26px;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	border-left: solid 2px #90C31F
}
.h4-title02:before {
	position: absolute;
	content: "";
	width: 100%;
	height: 1;
	bottom: 0;
	left: 0;
	border-bottom: solid 1px #E5E6F3
}
.bg-hospital-info {
	background: url("../img/hospital/bg-hospital-info.jpg") no-repeat center;
	background-size: cover
}
.hospital-info-wrap {
	padding: 40px 0 100px
}
.hospital-info-list ul {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr clamp(0.75rem, -1.274rem + 4.22vw, 1.625rem) 1fr clamp(0.75rem, -1.274rem + 4.22vw, 1.625rem) 1fr;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(0.75rem, -1.274rem + 4.22vw, 1.625rem)
}
.hospital-info-list ul li {
	position: relative;
	display: -ms-grid;
	display: grid;
	-ms-grid-rows: auto 1fr;
	grid-template-rows: auto 1fr
}
.hospital-info-list-item {
	background: #fff;
	width: 90.5063291139%;
	-ms-grid-column-align: center;
	justify-self: center;
	margin-top: -2.25rem;
	padding: 40px 24px;
	-webkit-box-shadow: 0px 5px 10px 0px rgba(20, 73, 148, 0.1);
	box-shadow: 0px 5px 10px 0px rgba(20, 73, 148, 0.1)
}
.hospital-info-list-item span {
	text-align: center;
	font-size: 18px;
	font-weight: 500;
	position: relative;
	padding-bottom: 24px;
	display: block
}
.hospital-info-list-item span:after {
	position: absolute;
	content: "";
	width: 30px;
	height: 2px;
	border-top: solid 2px #90C31F;
	bottom: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%)
}
.hospital-info-list-item p {
	font-size: 14px;
	padding-top: 20px
}
.bg-nursing-info {
	background: url("../img/hospital/bg-nursing-info.jpg") no-repeat center;
	background-size: cover
}
.icn_nursing-info {
	position: relative;
	padding-left: 40px
}
.icn_nursing-info:before {
	position: absolute;
	content: "";
	background: url("../img/hospital/icn_nursing-info.svg") no-repeat center;
	background-size: contain;
	width: 26px;
	height: 28px;
	top: 6px;
	left: 0
}
@media screen and (max-width:1099.9px) {
	.hospital-top {
		margin: 50px auto 60px
	}
	.hospital-about {
		display: block;
		width: 95%;
		margin: 0 auto;
		padding-right: 0
	}
	.hospital-img {
		width: 95%
	}
	.hospital-about-box {
		margin-left: 0
	}
	.hospital-speech-wrap {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		row-gap: 1.25rem;
		width: 95%;
		margin: 0 auto
	}
	.hospital-speech {
		width: 100%
	}
	.director-img {
		width: 50%;
		margin: 0 auto
	}
	.hospital-informed_consent-wrap {
		display: block;
		width: 95%;
		margin: 0 auto
	}
	.hospital-informed_consent-img {
		width: 100%
	}
	.hospital-informed_consent-about {
		width: 100%
	}
	.hospital-summary-table {
		padding-top: 30px
	}
}
@media screen and (max-width:767.9px) {
	.hospital-philosophy {
		padding-top: 60px
	}
	.hospital-about-list ul {
		--column: 3
	}
	.hospital-info-list ul {
		-ms-grid-columns: 1fr;
		grid-template-columns: 1fr;
		row-gap: 2.5rem
	}
	.hospital-summary-table dl {
		-ms-grid-columns: 1fr;
		grid-template-columns: 1fr
	}
	.hospital-summary-table dt {
		border-bottom-style: dashed;
		border-bottom-color: rgba(255, 255, 255, 0.7)
	}
	.hospital-summary-table dd {
		border-bottom-style: solid;
		padding-block: 10px 20px
	}
}
@media screen and (max-width:479.9px) {
	.hospital-about-list ul {
		--column: 2
	}
}
.nursing-top {
	margin: 50px auto clamp(3.75rem, 2.212rem + 7.69vw, 7.5rem);
	text-align: center
}
.icn_title_nursing {
	position: relative;
	padding-left: 50px
}
.icn_title_nursing:before {
	position: absolute;
	content: "";
	background: url("../img/nursing/icn_title_nursing.svg") no-repeat center;
	background-size: contain;
	width: 37px;
	height: 40px;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%)
}
.nursing-speech-wrap {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr clamp(1.875rem, -18.366rem + 42.17vw, 10.625rem) clamp(15rem, 11.813rem + 6.64vw, 17.125rem);
	grid-template-columns: 1fr clamp(15rem, 11.813rem + 6.64vw, 17.125rem);
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-column-gap: clamp(1.875rem, -18.366rem + 42.17vw, 10.625rem);
	-moz-column-gap: clamp(1.875rem, -18.366rem + 42.17vw, 10.625rem);
	column-gap: clamp(1.875rem, -18.366rem + 42.17vw, 10.625rem);
	padding-block: 60px
}
.nursing-speech-wrap .h4-title {
	margin-top: 0
}
.nursing-speech-text p {
	line-height: 1.5em;
	letter-spacing: 0.12em
}
.nursing-img {
	text-align: center;
	display: -ms-grid;
	display: grid;
	place-content: center;
	place-items: center;
	row-gap: 0.25rem
}
.nursing-img img {
	display: block
}
.nursing-img span {
	font-size: 14px
}
.bg-nursing-philosophy {
	background: url("../img/nursing/bg-nursing-philosophy.jpg") no-repeat center;
	background-size: cover
}
.nursing-philosophy-wrap {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: clamp(18.75rem, 14.063rem + 9.77vw, 21.875rem) clamp(1.875rem, -2.813rem + 9.77vw, 5rem) 1fr;
	grid-template-columns: clamp(18.75rem, 14.063rem + 9.77vw, 21.875rem) 1fr;
	-webkit-column-gap: clamp(1.875rem, -2.813rem + 9.77vw, 5rem);
	-moz-column-gap: clamp(1.875rem, -2.813rem + 9.77vw, 5rem);
	column-gap: clamp(1.875rem, -2.813rem + 9.77vw, 5rem);
	padding-block: 5rem clamp(3.75rem, 2.857rem + 4.46vw, 5rem)
}
.nursing-philosophy-text {
	display: -ms-grid;
	display: grid;
	row-gap: 1.25rem
}
.nursing-philosophy-text span {
	color: #40A578;
	font-size: clamp(1.125rem, 0.971rem + 0.77vw, 1.5rem)
}
.nursing-philosophy-text p {
	line-height: 1.5em;
	letter-spacing: 0.12em
}
.nursing-system-flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding-left: clamp(6.25rem, -29.375rem + 47.5vw, 41.875rem);
	padding-top: 100px
}
.nursing-system-text {
	padding-right: 16px
}
.nursing-system-img {
	width: clamp(62.5rem, 83.33vw, 125rem)
}
.nursing-system-wrap {
	padding: 60px 0
}
.nursing-system-table {
	margin-bottom: 40px
}
.nursing-system-table dl {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: max(6em, 30%) 1fr;
	grid-template-columns: max(6em, 30%) 1fr;
	margin: 0
}
.nursing-system-table dt {
	color: #40A578;
	display: -ms-grid;
	display: grid;
	place-content: center;
	place-items: center
}
.nursing-system-table dd {
	padding: 28px 0px 28px 50px;
	margin: 0
}
.nursing-system-table dd ul li {
	position: relative;
	padding-left: 14px
}
.nursing-system-table dd ul li:after {
	position: absolute;
	content: "・";
	font-size: 14px;
	top: 0;
	left: 0
}
.nursing-system-table dt {
	border-top: solid 1px #40A578
}
.nursing-system-table dd {
	border-top: solid 1px #D5D5D5
}
.nursing-system-table .dt-border-bottom {
	border-bottom: solid 1px #40A578
}
.nursing-system-table .dd-border-bottom {
	border-bottom: solid 1px #D5D5D5
}
.nursing-charm-wrap {
	padding: 40px 0 100px
}
.nursing-charm-list {
	--column: 4;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: ;
	grid-template-columns: repeat(var(--column), 1fr);
	-ms-grid-rows: auto 3.75rem auto 3.75rem 1fr;
	grid-template-rows: auto auto 1fr;
	padding-top: 60px;
	gap: 3.75rem 1.25rem
}
.nursing-charm-list .list02 {
	display: contents
}
.nursing-charm-list li {
	background: #ECF6F2;
	-webkit-box-shadow: 0px 5px 10px 0px rgba(20, 73, 148, 0.1);
	box-shadow: 0px 5px 10px 0px rgba(20, 73, 148, 0.1);
	padding-inline: 0.875em;
	padding-bottom: 1.875em;
	text-align: center;
	display: -ms-grid;
	display: grid;
	-ms-grid-rows: subgrid;
	grid-template-rows: subgrid;
	row-gap: 0;
	-ms-grid-row-span: 3;
	grid-row: span 3
}
.nursing-charm-list-item {
	display: contents
}
.nursing-charm-list-item span {
	font-size: 1.125rem;
	font-weight: 500;
	position: relative;
	display: block;
	color: #40A578;
	margin-bottom: 0.5555555556em
}
.nursing-charm-list-item p {
	font-size: 14px
}
.nursing-charm-list div[class*=icn-nursing-charm] {
	width: 100px;
	height: 100px;
	-ms-grid-column-align: center;
	justify-self: center;
	border: solid 1px #40A578;
	border-radius: 50%;
	background: #fff;
	display: -ms-grid;
	display: grid;
	place-content: center;
	translate: 0 -30px;
	margin-bottom: -10px
}
.nursing-charm-list div[class*=icn-nursing-charm] img {
	width: 57px;
	height: 57px
}
@media screen and (max-width:1099.9px) {
	.nursing-charm-list {
		--column: 2;
		max-width: min(95%, 50rem);
		margin-inline: auto
	}
}
@media screen and (max-width:767.9px) {
	.nursing-philosophy-wrap {
		-ms-grid-columns: 1fr;
		grid-template-columns: 1fr;
		padding-top: 0.625rem;
		row-gap: 1rem
	}
	.nursing-philosophy-img {
		display: -ms-grid;
		display: grid;
		place-content: center;
		place-items: center;
		-ms-grid-row: 2;
		grid-row: 2
	}
	.nursing-philosophy-img img {
		width: min(80%, 350px)
	}
	.nursing-system-table dl {
		-ms-grid-columns: 1fr;
		grid-template-columns: 1fr
	}
	.nursing-system-table dt {
		min-height: 3em
	}
	.nursing-system-table dt.dt-border-bottom {
		border-bottom-width: 0
	}
	.nursing-system-table dd {
		padding-inline: 1em
	}
	.nursing-system-table dd.dd-border-bottom {
		border-bottom-color: #40A578
	}
}
@media screen and (max-width:499.9px) {
	.nursing-charm-list {
		--column: 1
	}
}
.nursing-work-wrap {
	margin-bottom: 100px
}
.nursing-work-list ul {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 26px 1fr;
	grid-template-columns: repeat(2, 1fr);
	gap: 26px
}
.nursing-work-list-item span {
	color: #40A578;
	font-size: 18px;
	position: relative;
	text-align: center;
	display: block;
	margin-top: 20px
}
@media screen and (max-width:1099.9px) {
	.nursing-system-flex {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		padding-left: 0;
		padding-top: 0;
		row-gap: 1.25rem;
		width: 95%;
		margin: 0 auto
	}
	.nursing-system-img {
		width: 100%
	}
	.nursing-work-list {
		margin-top: 1rem
	}
}
@media screen and (max-width:767.9px) {
	.nursing-speech-wrap {
		-ms-grid-columns: 1fr;
		grid-template-columns: 1fr;
		row-gap: 2.5rem;
		padding-block: 5rem
	}
	.nursing-img img {
		width: min(80%, 274px)
	}
	.nursing-work-list ul {
		-ms-grid-columns: 1fr;
		grid-template-columns: 1fr;
		row-gap: 1.875rem
	}
}
.bg-gray {
	background: #FAFAFA
}
.hospitalization-menu {
	position: sticky;
	top: 68px;
	height: 104px;
	z-index: 200
}
.hospitalization-menu-list {
	margin-top: 68px
}
.hospitalization-menu-list ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 40px 0;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}
.hospitalization-menu-list ul li {
	padding-right: 40px
}
.hospitalization-menu-list ul li a {
	color: #333;
	font-size: 14px;
	padding-left: 14px;
	position: relative
}
.hospitalization-menu-list ul li a:after {
	position: absolute;
	content: "";
	background: url("../img/hospitalization/icn_menu.svg") no-repeat center;
	background-size: contain;
	width: 5px;
	height: 5px;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%)
}
.hospitalization-top {
	margin: 50px auto clamp(3.75rem, 2.212rem + 7.69vw, 7.5rem);
	text-align: center
}
.icn_title_hospitalization {
	position: relative;
	padding-left: 50px
}
.icn_title_hospitalization:before {
	position: absolute;
	content: "";
	background: url("../img/hospitalization/icn_title_hospitalization.svg") no-repeat center;
	background-size: contain;
	width: 37px;
	height: 40px;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%)
}
.hospitalization-flow-wrap {
	margin-bottom: 100px
}
.hospitalization-flow-item {
	--padding-block: 33px;
	--padding-inline: clamp(0.875rem, -0.732rem + 8.04vw, 3.125rem);
	--step-size: clamp(3.75rem, 1.528rem + 11.11vw, 5rem);
	--img-size: 52px;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: var(--step-size) clamp(0.875rem, 0.161rem + 3.57vw, 1.875rem) var(--img-size) clamp(0.875rem, 0.161rem + 3.57vw, 1.875rem) 1fr;
	grid-template-columns: var(--step-size) var(--img-size) 1fr;
	-webkit-column-gap: clamp(0.875rem, 0.161rem + 3.57vw, 1.875rem);
	-moz-column-gap: clamp(0.875rem, 0.161rem + 3.57vw, 1.875rem);
	column-gap: clamp(0.875rem, 0.161rem + 3.57vw, 1.875rem);
	background: #ECF6F2;
	padding: var(--padding-block) var(--padding-inline);
	margin-bottom: 20px;
	position: relative
}
.hospitalization-flow-item:not(:last-of-type):before {
	content: "";
	position: absolute;
	top: var(--padding-block);
	left: var(--padding-inline);
	width: var(--step-size);
	translate: 50% 0;
	height: 100%;
	border-left: dashed 1px #989898
}
.hospitalization-flow-item:not(:first-of-type):after {
	content: "";
	position: absolute;
	top: 0;
	left: var(--padding-inline);
	width: var(--step-size);
	translate: 50% 0;
	height: var(--padding-block);
	border-left: dashed 1px #989898
}
.hospitalization-flow-step {
	background: #40A578;
	color: #fff;
	min-width: var(--step-size);
	height: var(--step-size);
	border-radius: 50%;
	font-size: 10px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	text-align: center;
	position: relative;
	z-index: 100
}
.hospitalization-flow-step .number {
	font-size: clamp(1.25rem, 0.583rem + 3.33vw, 1.625rem);
	display: block
}
.hospitalization-flow-img {
	width: var(--img-size)
}
.hospitalization-flow-box span {
	color: #40A578;
	font-size: 18px;
	font-weight: 500;
	display: block;
	margin-bottom: 1rem
}
.h5-title {
	color: #40A578;
	font-size: 18px;
	display: block;
	margin-bottom: 16px;
	font-weight: 500
}
.hospitalization-flow-table dl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 6.4em 1fr;
	grid-template-columns: 6.4em 1fr;
	margin-top: 0.75rem
}
.hospitalization-flow-table dl dt {
	font-weight: 500
}
.hospitalization-flow-table dl dd {
	margin: 0
}
@media screen and (max-width:767.9px) {
	.hospitalization-flow-item {
		--img-size: 40px;
		row-gap: 0.375rem
	}
	.hospitalization-flow-step {
		-ms-grid-row: 1;
		-ms-grid-row-span: 4;
		grid-row: 1/span 4
	}
	.hospitalization-flow-box {
		display: contents
	}
	.hospitalization-flow-box :not(span) {
		-ms-grid-column-span: 2;
		grid-column: span 2
	}
	.hospitalization-flow-box span {
		-ms-flex-item-align: center;
		-ms-grid-row-align: center;
		align-self: center;
		margin-bottom: 0
	}
}
.hospitalization-fee-list ul li {
	margin-bottom: 5px;
	line-height: 1.5em;
	letter-spacing: 0.12em;
	position: relative;
	padding-left: 20px
}
.hospitalization-fee-list ul li:after {
	position: absolute;
	content: "・";
	top: 0;
	left: 0
}
.hospitalization-prepare-table table {
	width: 100%
}
.hospitalization-prepare-table th {
	background: #40A578;
	color: #fff;
	text-align: center;
	padding: 14px 0;
	width: 50%
}
.hospitalization-prepare-table th:last-child {
	border-left: solid 1px #fff
}
.hospitalization-prepare-table td {
	padding: 20px 20px;
	width: 50%;
	vertical-align: baseline
}
.hospitalization-prepare-table td ul li {
	padding-left: 16px;
	position: relative
}
.hospitalization-prepare-table td ul li:after {
	position: absolute;
	content: "・";
	top: 0;
	left: 0
}
.hospitalization-prepare-table+.h5-title {
	margin-top: 2.5rem
}
.hospitalization-prepare-list {
	border: solid 1px #40A578;
	padding: 30px clamp(1.25rem, -0.196rem + 3.01vw, 1.875rem)
}
.hospitalization-prepare-box {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 0.625rem 1fr;
	grid-template-columns: repeat(2, 1fr);
	-webkit-column-gap: 0.625rem;
	-moz-column-gap: 0.625rem;
	column-gap: 0.625rem;
	row-gap: 0.3125rem;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: start;
	margin-bottom: 0.3125rem
}
.hospitalization-prepare-box ul {
	display: -ms-grid;
	display: grid;
	row-gap: 0.3125rem
}
.hospitalization-prepare-box li {
	padding-left: 20px;
	margin-bottom: 5px;
	position: relative
}
.hospitalization-prepare-box li:after {
	position: absolute;
	content: "";
	background: url("../img/hospitalization/icn_check.svg") no-repeat center;
	background-size: contain;
	width: 16px;
	height: 16px;
	top: 0.8125em;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%)
}
.bold {
	display: inline!important;
	font-weight: 500!important;
	color: #333!important;
	font-size: 16px!important
}
.hospitalization-prepare-sett {
	background: #fff;
	border: solid #ECF6F2;
	border-inline-width: 1.0625rem;
	border-block-width: 0.9375rem;
	border-radius: 3px;
	padding: clamp(1.5rem, 0.875rem + 3.13vw, 2.375rem) clamp(1.25rem, -3.087rem + 9.04vw, 3.125rem);
	margin-top: 40px;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 10rem clamp(1.25rem, -3.81rem + 10.54vw, 3.4375rem) 1fr;
	grid-template-columns: 10rem 1fr;
	gap: 1.5rem clamp(1.25rem, -3.81rem + 10.54vw, 3.4375rem)
}
@media screen and (max-width:767.9px) {
	.hospitalization-prepare-table tbody {
		display: -ms-grid;
		display: grid
	}
	.hospitalization-prepare-table tr {
		display: contents
	}
	.hospitalization-prepare-table tr th {
		width: 100%
	}
	.hospitalization-prepare-table th:first-of-type {
		-webkit-box-ordinal-group: 2;
		-ms-flex-order: 1;
		order: 1
	}
	.hospitalization-prepare-table th:nth-of-type(2) {
		-webkit-box-ordinal-group: 4;
		-ms-flex-order: 3;
		order: 3
	}
	.hospitalization-prepare-table td:first-of-type {
		-webkit-box-ordinal-group: 3;
		-ms-flex-order: 2;
		order: 2
	}
	.hospitalization-prepare-table td:nth-of-type(2) {
		-webkit-box-ordinal-group: 5;
		-ms-flex-order: 4;
		order: 4
	}
	.hospitalization-prepare-box {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-ms-grid-columns: 1fr;
		grid-template-columns: 1fr
	}
}
@media screen and (max-width:499.9px) {
	.hospitalization-prepare-sett {
		-ms-grid-columns: 1fr;
		grid-template-columns: 1fr;
		-ms-grid-rows: (auto)[2];
		grid-template-rows: repeat(2, auto)
	}
	.hospitalization-prepare-sett>:first-child {
		-ms-grid-row: 1;
		-ms-grid-column: 1
	}
	.hospitalization-prepare-sett>:nth-child(2) {
		-ms-grid-row: 2;
		-ms-grid-column: 1
	}
	.hospitalization-prepare-sett-img {
		-ms-grid-column-align: center;
		justify-self: center;
		width: min(80%, 10rem);
		-ms-grid-row: 2;
		grid-row: 2
	}
}
.hospitalization-facility-box, .hospitalization-life-table, .point-table {
	margin-top: 35px
}
.hospitalization-facility-box dl, .hospitalization-life-table dl, .point-table dl {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 12.5rem 1fr;
	grid-template-columns: 12.5rem 1fr
}
.hospitalization-facility-box dl:last-of-type dd, .hospitalization-facility-box dl:last-of-type dt, .hospitalization-life-table dl:last-of-type dd, .hospitalization-life-table dl:last-of-type dt, .point-table dl:last-of-type dd, .point-table dl:last-of-type dt {
	border-bottom-width: 1px
}
.hospitalization-facility-box dl+p, .hospitalization-life-table dl+p, .point-table dl+p {
	margin-top: 1em
}
.hospitalization-facility-box dd, .hospitalization-facility-box dt, .hospitalization-life-table dd, .hospitalization-life-table dt, .point-table dd, .point-table dt {
	padding-block: 1.75rem
}
.hospitalization-facility-box dt, .hospitalization-life-table dt, .point-table dt {
	border: 0 solid #40A578;
	border-top-width: 1px;
	display: -ms-grid;
	display: grid;
	place-content: center;
	font-weight: 500
}
.hospitalization-facility-box dd, .hospitalization-life-table dd, .point-table dd {
	border: 0 solid #D5D5D5;
	border-top-width: 1px;
	padding-inline: 3.125rem 1em
}
@media screen and (min-width:600px) {
	.hospitalization-life-img.is-pc {
		display: block!important
	}
}
@media screen and (min-width:600px) and (max-width:1099.9px) {
	.hospitalization-life-img.is-sp {
		display: none!important
	}
}
.hospitalization-life-img+p {
	margin-top: 1.25rem;
	font-size: 0.875rem
}
p:has(+.hospitalization-life-img) {
	margin-bottom: 0.625rem
}
.text-red {
	color: var(--wp--preset--color--vivid-red)
}
.icn_attention {
	position: relative;
	padding-left: 30px
}
.icn_attention:after {
	position: absolute;
	content: "";
	background: url("../img/hospitalization/icn_attention.svg") no-repeat center;
	background-size: contain;
	width: 20px;
	height: 20px;
	top: 0;
	left: 0
}
.hospitalization-life-box {
	margin-block: 20px 0
}
.hospitalization-life-box span.icn_attention {
	font-size: 18px;
	font-weight: 500
}
.hospitalization-life-box span.icn_attention:after {
	top: 0.2777777778em
}
.hospitalization-life-box ul {
	padding-left: 30px;
	margin-top: 0.8125rem
}
.hospitalization-life-box ul li {
	position: relative;
	padding-left: 16px;
	margin-bottom: 5px
}
.hospitalization-life-box ul li:after {
	position: absolute;
	content: "・";
	top: 0;
	left: 0
}
.hospitalization-facility-table {
	overflow-x: auto
}
.hospitalization-facility-table table {
	border-collapse: collapse;
	width: max(900px, 100%)
}
.hospitalization-facility-table table tr:nth-of-type(2n-1) td {
	background-color: #F9F9F9
}
.hospitalization-facility-table table tr:nth-of-type(2n-1) td:first-of-type {
	background-image: linear-gradient(to bottom, #F9F9F9 calc(100% - 1px), #40A578 calc(100% - 1px), #40A578 100%)
}
.hospitalization-facility-table table td:first-of-type, .hospitalization-facility-table table th:first-of-type {
	position: sticky;
	left: 0;
	z-index: 1
}
.hospitalization-facility-table table th {
	font-weight: normal;
	background-color: #40A578;
	color: #fff;
	width: 12.5%;
	padding: 20px 0;
	background-image: linear-gradient(to right, #40A578 calc(100% - 1px), #fff calc(100% - 1px), #fff 100%)
}
.hospitalization-facility-table table td {
	padding-block: 20px;
	text-align: center;
	background-color: #fff
}
.hospitalization-facility-table table td:first-of-type {
	background-image: linear-gradient(to bottom, #fff calc(100% - 1px), #40A578 calc(100% - 1px), #40A578 100%)
}
.hospitalization-facility-list {
	margin-top: 20px
}
.hospitalization-facility-list li {
	font-size: 14px;
	padding-left: 14px;
	position: relative
}
.hospitalization-facility-list li:after {
	position: absolute;
	content: "・";
	font-size: 14px;
	top: 0;
	left: 0
}
.hospitalization-facility-inner {
	background: #fff;
	border: 0 solid #ECF6F2;
	border-inline-width: 1.0625rem;
	border-block-width: 0.9375rem;
	border-radius: 3px;
	padding: clamp(1.5rem, 0.875rem + 3.13vw, 2.375rem) clamp(0.875rem, -0.732rem + 8.04vw, 3.125rem);
	margin-top: 40px
}
.hospitalization-facility-inner .precautions {
	color: #40A578;
	font-size: 18px;
	display: block;
	margin-bottom: 16px;
	font-weight: 500
}
.hospitalization-facility-list-number ul {
	margin-bottom: 16px;
	display: -ms-grid;
	display: grid;
	row-gap: 0.25rem
}
.hospitalization-facility-list-number li {
	position: relative;
	padding-left: 1.5rem;
	counter-increment: hospitalization-facility-list-number
}
.hospitalization-facility-list-number li:after {
	position: absolute;
	content: counter(hospitalization-facility-list-number) ".";
	top: 0;
	left: 0
}
.hospitalization-facility-inner a {
	color: #40A578;
	text-decoration: underline;
	font-size: 14px;
	position: relative
}
.hospitalization-facility-box {
	margin-top: 40px
}
.hospitalization-facility-box dl {
	width: min(100%, 31.25rem);
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 12.5rem 1fr;
	grid-template-columns: 12.5rem 1fr
}
@media screen and (max-width:767.9px) {
	.hospitalization-facility-box dl, .hospitalization-life-table dl, .point-table dl {
		width: 100%;
		-ms-grid-columns: 1fr;
		grid-template-columns: 1fr
	}
	.hospitalization-facility-box dl:last-of-type dt, .hospitalization-life-table dl:last-of-type dt, .point-table dl:last-of-type dt {
		border-bottom-width: 0
	}
	.hospitalization-facility-box dl:last-of-type dd, .hospitalization-life-table dl:last-of-type dd, .point-table dl:last-of-type dd {
		border-bottom-color: #40A578
	}
	.hospitalization-facility-box dt, .hospitalization-life-table dt, .point-table dt {
		padding-block: 0;
		min-height: 3em
	}
	.hospitalization-facility-box dd, .hospitalization-life-table dd, .point-table dd {
		padding-inline: 1em
	}
}
.hospitalization-prohibited .h5-title:not(:first-child) {
	margin-top: 1.875rem
}
.hospitalization-prohibited ul {
	display: -ms-grid;
	display: grid;
	row-gap: 0.25rem;
	margin-block: 1em
}
.hospitalization-prohibited li {
	padding-left: 1em;
	position: relative
}
.hospitalization-prohibited li:after {
	content: "";
	position: absolute;
	width: 0.1875rem;
	height: 0.1875rem;
	aspect-ratio: 1/1;
	border-radius: 50%;
	background-color: currentColor;
	top: 0.75em;
	left: 0;
	translate: 0 -50%
}
.medical-answer-item-list li {
	font-size: 14px;
	padding-left: 14px;
	position: relative;
	padding-bottom: 0px;
	margin-bottom: 0px;
	border-bottom: none;
	width: auto
}
.medical-answer-item-list li:after {
	position: absolute;
	content: "・";
	font-size: 14px;
	top: 0;
	left: 0
}
.answer-item-inner {
	width: 90%
}
.answer-item-inner a {
	color: #40A578;
	text-decoration: underline;
	font-size: 14px;
	position: relative
}
.answer-item-inner a:after {
	position: absolute;
	content: "";
	background: url("../img/hospitalization/icn_link_arrow.svg") no-repeat center;
	background-size: contain;
	width: 26px;
	height: 10px;
	top: 50%;
	right: -30px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%)
}
.pdf-btn a {
	color: #fff;
	background: #40A578;
	border-radius: 50vh;
	width: 200px;
	padding: 10px 0;
	text-align: center;
	display: block
}
.contact-top {
	margin: 50px auto clamp(3.75rem, 2.212rem + 7.69vw, 7.5rem);
	text-align: center
}
.icn_title_contact {
	position: relative;
	padding-left: 50px
}
.icn_title_contact:before {
	position: absolute;
	content: "";
	background: url("../img/contact/icn_title_contact.svg") no-repeat center;
	background-size: contain;
	width: 33px;
	height: 33px;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%)
}
.contact-step-list {
	margin-bottom: 60px
}
.contact-step-list ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}
.contact-step-list ul li {
	color: #D5D5D5;
	padding-right: 140px;
	text-align: center
}
.contact-step-list ul li:last-child {
	padding-right: 0
}
.contact-step-number {
	font-size: 12px;
	text-align: center
}
.contact-step-text {
	font-size: 12px;
	font-weight: 500
}
.contact-step-number span {
	font-size: 16px;
	display: block
}
.step-here .contact-step-number {
	color: #40A578
}
.step-here .contact-step-text {
	color: #333
}
.list-border {
	position: relative
}
.list-border:after {
	position: absolute;
	content: "";
	border-bottom: solid 1px #D5D5D5;
	width: 100px;
	height: 1px;
	top: 50%;
	right: 5px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%)
}
.contact-wrap {
	width: min(95%, 680px);
	padding: 60px 0 100px;
	margin: 0 auto
}
.form-group {
	padding-bottom: 28px
}
.form-group .form-label {
	color: #000;
	font-weight: 500;
	font-size: 14px;
	padding-right: 60px;
	display: inline-block;
	margin-bottom: 10px
}
.form-group .is-required {
	position: relative
}
.form-group .is-required:before {
	position: absolute;
	content: "必須";
	background: #40A578;
	color: #fff;
	width: 44px;
	height: 22px;
	font-size: 10px;
	top: 0;
	right: 0;
	font-weight: 500;
	text-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}
.form-item input:not([type=checkbox]):not([type=radio]):not([type=submit])::-webkit-input-placeholder, .form-item textarea::-webkit-input-placeholder {
	color: #ADADAD
}
.form-item input:not([type=checkbox]):not([type=radio]):not([type=submit])::-moz-placeholder, .form-item textarea::-moz-placeholder {
	color: #ADADAD
}
.form-item input:not([type=checkbox]):not([type=radio]):not([type=submit]):-ms-input-placeholder, .form-item textarea:-ms-input-placeholder {
	color: #ADADAD
}
.form-item input:not([type=checkbox]):not([type=radio]):not([type=submit])::-ms-input-placeholder, .form-item textarea::-ms-input-placeholder {
	color: #ADADAD
}
.form-item input:not([type=checkbox]):not([type=radio]):not([type=submit])::placeholder, .form-item textarea::placeholder {
	color: #ADADAD
}
.form-item input:not([type=checkbox]):not([type=radio]):not([type=submit]) {
	border: 1px solid #E1E1E1;
	padding: 10px 15px 10px 15px;
	width: 100%;
	border-radius: 3px;
	background-color: #fff;
	min-height: 2.75em;
	font-size: inherit
}
.form-item textarea {
	border: 1px solid #E1E1E1;
	padding: 10px 15px 10px 15px;
	width: 100%;
	border-radius: 3px;
	background-color: #fff;
	height: 10.625em;
	font-size: inherit
}
.form-border-top {
	border-top: solid 1px #333;
	width: 100%;
	padding-top: 30px
}
.form-item a {
	color: #40A578;
	text-decoration: underline
}
.form-item {
	min-height: 1.5em
}
.form-submit-btn {
	display: -ms-grid;
	display: grid;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto
}
.form-submit-btn input:is([type=submit], [type=button]) {
	cursor: pointer
}
.form-submit-btn .btn-back {
	margin-bottom: 1.5rem;
	font-size: inherit;
	border: none;
	background-color: rgba(255, 255, 255, 0);
	font-family: inherit;
	text-decoration: underline;
	text-underline-offset: 0.125em;
	color: #40A578
}
.form-submit-btn.icn_link_arrow:after {
	content: none
}
.form-submit-btn input[type=submit] {
	background: #fff;
	border: solid 1px #40A578;
	font-size: inherit;
	color: #333;
	padding-block: 0.625em;
	padding-inline: 1em 3.125em;
	-webkit-box-shadow: 0px 5px 10px 0px rgba(20, 73, 148, 0.1);
	box-shadow: 0px 5px 10px 0px rgba(20, 73, 148, 0.1);
	min-width: 11.4285714286em;
	background-image: url("../img/icn_arrow.svg");
	background-repeat: no-repeat;
	background-position: calc(100% - 0.625em) 50%;
	background-size: 1.625em auto
}
.form-submit-btn input[type=submit].is-disabled {
	pointer-events: none;
	-webkit-filter: brightness(0.8);
	filter: brightness(0.8)
}
.custom-error-message, .wpcf7-not-valid-tip {
	display: block;
	font-size: 0.6875rem;
	color: #A61C3C;
	position: absolute;
	top: 100%;
	left: 0
}
form.wpcf7-msg-hidden .wpcf7-not-valid-tip {
	display: none
}
.wpcf7-form-control-wrap {
	display: block
}
.wpcf7-spinner {
	position: absolute;
	top: calc(100% + 4px);
	left: 50%;
	translate: -50% 0;
	margin: 0
}
.form-submit {
	text-align: center;
	margin-top: 60px
}
.grecaptcha-badge {
	visibility: hidden;
	opacity: 0
}
.grecaptcha-add-text {
	font-size: 0.75rem;
	text-align: center;
	margin-top: 3em
}
.grecaptcha-add-text:has(wbr) {
	word-break: keep-all
}
.grecaptcha-add-text a {
	color: #40A578;
	text-decoration: underline;
	text-underline-offset: 0.125em
}
.half-box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-column-gap: clamp(0.5rem, -1.408rem + 8.14vw, 2.5rem);
	-moz-column-gap: clamp(0.5rem, -1.408rem + 8.14vw, 2.5rem);
	column-gap: clamp(0.5rem, -1.408rem + 8.14vw, 2.5rem);
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	width: 100%
}
.form-item-inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: min(100%, 476px);
	margin-bottom: 1.25em;
	-webkit-column-gap: clamp(0.5rem, -0.216rem + 3.05vw, 1.25rem);
	-moz-column-gap: clamp(0.5rem, -0.216rem + 3.05vw, 1.25rem);
	column-gap: clamp(0.5rem, -0.216rem + 3.05vw, 1.25rem)
}
.form-item-inner .custom-error-message, .form-item-inner .wpcf7-not-valid-tip {
	word-break: keep-all
}
@media screen and (max-width:1099.9px) {
	.contact-step-list ul li {
		padding-right: 50px
	}
	.list-border:after {
		display: none
	}
}
@media screen and (max-width:399.9px) {
	.form-item-inner {
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		row-gap: 1.25rem
	}
	.form-item-inner>:first-of-type {
		max-width: 9.125em
	}
}
.medical_personnel-top {
	margin: 50px auto clamp(3.75rem, 2.212rem + 7.69vw, 7.5rem);
	text-align: center
}
.icn_title_medical_personnel {
	position: relative;
	padding-left: 50px
}
.icn_title_medical_personnel:before {
	position: absolute;
	content: "";
	background: url("../img/medical_personnel/icn_title_medical_personnel.svg") no-repeat center;
	background-size: contain;
	width: 36px;
	height: 38px;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%)
}
.point-table dt {
	color: #40A578
}
.point-contact {
	background: #ECF6F2;
	border-radius: 3px;
	padding-block: 40px 60px;
	padding-inline: clamp(1rem, -0.83rem + 9.15vw, 3.5625rem);
	text-align: center;
	margin-block: clamp(3.125rem, 2.232rem + 4.46vw, 4.375rem) clamp(5rem, 4.107rem + 4.46vw, 6.25rem)
}
.point-contact-title {
	color: #40A578;
	font-size: 24px;
	margin-bottom: 1.25em;
	display: block
}
.point-contact-box {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 26px 1fr;
	grid-template-columns: 1fr 1fr;
	gap: 26px;
	margin-top: 1.875rem
}
.point-contact-inner {
	background: #fff;
	-webkit-box-shadow: 0px 5px 10px 0px rgba(20, 73, 148, 0.1);
	box-shadow: 0px 5px 10px 0px rgba(20, 73, 148, 0.1);
	padding: 30px 0.75rem
}
.point-contact-inner .__title {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-column-gap: 0.9375rem;
	-moz-column-gap: 0.9375rem;
	column-gap: 0.9375rem
}
.point-contact-inner .__no {
	font-size: clamp(1.25rem, 0.804rem + 2.23vw, 1.875rem);
	color: #40A578
}
.point-contact-inner .__no .__small {
	color: var(--font-color);
	font-size: 0.875rem
}
.point-contact-inner .__info {
	margin-top: 0.625rem;
	font-size: 0.875rem
}
@media screen and (max-width:1099.9px) {
	.icn_title_medical_personnel {
		padding-left: 30px
	}
}
@media screen and (max-width:767.9px) {
	.point-contact-box {
		-ms-grid-columns: 1fr;
		grid-template-columns: 1fr
	}
}
.question-top {
	margin: 50px auto clamp(3.75rem, 2.212rem + 7.69vw, 7.5rem);
	text-align: center
}
.icn_title_question {
	position: relative;
	padding-left: 50px
}
.icn_title_question:before {
	position: absolute;
	content: "";
	background: url("../img/question/icn_title_question.svg") no-repeat center;
	background-size: contain;
	width: 42px;
	height: 40px;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%)
}
.privacy-top {
	margin: 50px auto clamp(3.75rem, 2.212rem + 7.69vw, 7.5rem);
	text-align: center
}
.icn_title_privacy {
	position: relative;
	padding-left: 50px
}
.icn_title_privacy:before {
	position: absolute;
	content: "";
	background: url("../img/privacy/icn_title_privacy.svg") no-repeat center;
	background-size: contain;
	width: 31px;
	height: 40px;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%)
}
.privacy-wrap {
	margin-bottom: 100px
}
.privacy-list ul li {
	position: relative;
	padding-left: 16px
}
.privacy-list ul li:after {
	position: absolute;
	content: "・";
	top: 0;
	left: 0
}
.privacy-list-number ul li {
	position: relative;
	padding-left: 20px
}
.privacy-list-number ul li:first-child:after {
	position: absolute;
	content: "1.";
	top: 0;
	left: 0
}
.privacy-list-number ul li:nth-child(2):after {
	position: absolute;
	content: "2.";
	top: 0;
	left: 0
}
.privacy-list-number ul li:nth-child(3):after {
	position: absolute;
	content: "3.";
	top: 0;
	left: 0
}
.privacy-list-number ul li:nth-child(4):after {
	position: absolute;
	content: "4.";
	top: 0;
	left: 0
}
.social_media-top {
	margin: 50px auto clamp(3.75rem, 2.212rem + 7.69vw, 7.5rem);
	text-align: center
}
.icn_title_social_media {
	position: relative;
	padding-left: 50px
}
.icn_title_social_media:before {
	position: absolute;
	content: "";
	background: url("../img/social_media/icn_title_social_media.svg") no-repeat center;
	background-size: contain;
	width: 40px;
	height: 40px;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%)
}
.social_media-wrap {
	margin-bottom: 100px
}
.social_media-list ul li {
	position: relative;
	padding-left: 16px
}
.social_media-list ul li:after {
	position: absolute;
	content: "・";
	top: 0;
	left: 0
}
.insta_link {
	color: #40A578;
	text-decoration: underline
}
.cm-top {
	margin: 50px auto clamp(3.75rem, 2.212rem + 7.69vw, 7.5rem);
	text-align: center
}
.icn_title_cm {
	position: relative;
	padding-left: 50px
}
.icn_title_cm:before {
	position: absolute;
	content: "";
	background: url("../img/cm_library/icn_title_cm.svg") no-repeat center;
	background-size: contain;
	width: 43px;
	height: 32px;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%)
}
.cm-library-inner-wrap {
	width: 670px;
	margin: 0 auto
}
.youtube-top {
	width: 670px;
	aspect-ratio: 16/9;
	margin: 0 auto
}
.youtube-top iframe {
	width: 100%;
	height: 100%
}
.cm-library-title {
	color: #40A578;
	font-weight: 500;
	font-size: 18px
}
.cm-library-text {
	font-size: 14px
}
.cm-table {
	margin-top: 30px
}
.cm-table dl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex
}
.cm-table dt {
	border-top: solid 1px #40A578
}
.cm-table dt {
	width: 30%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	font-weight: 500
}
.cm-table dd {
	border-top: solid 1px #D5D5D5
}
.cm-table dd {
	width: 70%;
	padding: 20px 0px 20px 50px;
	margin: 0;
	text-align: left
}
.cm-table .dt-border-bottom {
	border-bottom: solid 1px #40A578
}
.cm-table .dd-border-bottom {
	border-bottom: solid 1px #D5D5D5
}
.cm-library-list-wrap {
	margin-bottom: 100px
}
.cm-library-list ul {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 26px 1fr 26px 1fr;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 26px
}
.youtube-library {
	width: 316px;
	aspect-ratio: 16/9;
	margin: 0 auto
}
.youtube-library iframe {
	width: 100%;
	height: 100%
}
@media screen and (max-width:1099.9px) {
	.cm-library-inner-wrap {
		width: 100%
	}
	.youtube-top {
		width: 100%
	}
	.cm-library-list ul {
		display: block
	}
	.cm-library-list ul li {
		margin-bottom: 20px
	}
	.cm-library-list ul li:last-child {
		margin-bottom: 0px
	}
	.youtube-library {
		width: 100%
	}
}
.omimai-top {
	margin: 50px auto 120px;
	text-align: center
}
.icn_title_omimai {
	position: relative;
	padding-left: 50px
}
.icn_title_omimai::before {
	position: absolute;
	content: '';
	background: url(../img/omimai/icn_title_omimai.svg) no-repeat center;
	background-size: contain;
	width: 40px;
	height: 40px;
	top: 50%;
	left: 0;
	transform: translateY(-50%)
}
.omimai-top-img {
	width: 100%
}
.omimai-text-wrap {
	text-align: center;
	padding: 40px 0 100px
}
.omimai-text-img {
	width: 722px;
	margin: 0 auto
}
.omimai-text {
	font-size: 14px;
	padding: 20px 0
}
.omimai-flow-wrap {
	margin-bottom: 100px
}
.omimai-flow-item {
	--padding-block: 33px;
	--padding-inline: 50px;
	--step-size: 80px;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: var(--step-size) clamp(.875rem, 0.161rem+3.57vw, 1.875rem) 1fr;
	grid-template-columns: var(--step-size) 1fr;
	-webkit-column-gap: 30px;
	-moz-column-gap: 30px;
	column-gap: 30px;
	background: #ECF6F2;
	padding: var(--padding-block) var(--padding-inline);
	margin-bottom: 20px;
	position: relative
}
.omimai-flow-item:not(:last-of-type):before {
	content: "";
	position: absolute;
	top: var(--padding-block);
	left: var(--padding-inline);
	width: var(--step-size);
	translate: 50% 0;
	height: 100%;
	border-left: dashed 1px #989898
}
.omimai-flow-item:not(:first-of-type):after {
	content: "";
	position: absolute;
	top: 0;
	left: var(--padding-inline);
	width: var(--step-size);
	translate: 50% 0;
	height: var(--padding-block);
	border-left: dashed 1px #989898
}
.omimai-flow-box span {
	color: #40A578;
	font-size: 18px;
	font-weight: 500;
	display: block;
	margin-bottom: 1rem
}
.omimai-link-wrap {
	margin-bottom: 100px
}
@media screen and (max-width:1099.9px) {
	.omimai-text-img {
		width: 100%
	}
}
@media screen and (max-width:767.9px) {
	.omimai-flow-item {
		--padding-inline: 22px;
		--step-size: 70px;
		row-gap: .375rem
	}
	.omimai-flow-box {
		display: contents
	}
}
.top-omimai-link {
	transition: 0.5s;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #fff;
	border: solid 10px #ECF6F2;
	border-radius: 3px;
	padding: 38px 50px;
	width: 1000px;
	margin: 0 auto 100px
}
.top-omimai-link-title {
	font-size: 24px;
	color: #40A578;
	border-bottom: solid 1px #E5E6F3;
	padding-bottom: 9px;
	margin-bottom: 18px
}
.top-omimai-link-img {
	width: 160px
}
.top-omimai-link-box {
	width: 609px
}
@media screen and (max-width:1099.9px) {
	.top-omimai-link {
		display: block;
		width: 95%
	}
	.top-omimai-link-img {
		width: 160px;
		margin: 0 auto
	}
	.top-omimai-link-box {
		width: 100%;
		margin-top: 20px
	}
	.top-omimai-link-title {
		text-align: center;
		margin-top: 20px
	}
	.top-omimai-link .link-hospital-arrow {
		margin-top: 20px;
		margin-left: auto
	}
}
.top-omimai-link:hover {
	border: solid 10px #40A578;
	transition: 0.5s
}
.top-omimai-link p {
	color: #333
}