@charset "utf-8";
html {
  font-size: 6.25%;
  overflow-x: hidden;
	scroll-padding-top: 95px;
}
body {
  color: #2f2013;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(14rem, 1.5vw, 16rem);
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.05em;
  text-align: justify;
  background: #fff;
	overflow: hidden;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
}
.maruG {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-style: normal;
}
img {
  max-width: 100%;
  height: auto;
}
.pcno {
  display: none;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
@media only screen and (max-width:768px) {
	.pcno {
    display: inherit;
  }
  .spno {
    display: none;
  }
}

/**--- Container---**/
main {
	max-width: 1200px;
	width: 100%;
  margin: 0 auto;
  position: relative;
}
section {
	margin: 0 calc(50% - 50vw);
	padding-top: 8%;
	padding-bottom: 8%;
  padding-left: calc((50vw - 50%) + 1em);
  padding-right: calc((50vw - 50%) + 1em);
}
.bkgrBwbt {
  background: linear-gradient(180deg,rgba(243, 241, 240, 1) 80%, rgba(243, 241, 240, 0) 100%);
}
.bkBw {
  background: #f3f1f0;
}
.wfgrBw {
  background: linear-gradient(180deg,rgba(255, 255, 255, 1) 80%, rgba(243, 241, 240, 1) 100%);
}

/**--- Text ---**/
/*basewidth1000*/
h1 {
  font-size: clamp(30rem, 2.91vw, 40rem);
  font-weight: 700;
}
h2 {
  margin-bottom: 1.5em;
  font-size: clamp(25rem, 3vw, 35rem);
  font-weight: 700;
	line-height: 1.5;
}
h3 {
  margin-bottom: 0.75em;
  font-size: 20rem;
  font-weight: 700;
}
p {
  margin-bottom: 1em;
}
.note {
  padding-left: 1em;
  text-indent: -1em;
}
.no-wrap {
	white-space: nowrap;
}
.lineTtl{
	width: fit-content;
	margin: 0 auto 1.5em;
	padding: 0 3em;
	text-align: center;
	letter-spacing: 0.07em;
	position: relative;
}
.lineTtl span{
	background: linear-gradient(180deg,#8B847C 0%, #57524C 80%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	text-fill-color: transparent;
	filter:drop-shadow(0 1px 2px #bdb6b0);
}
.lineTtl::before,
.lineTtl::after {
  position: absolute;
  content: '';
  top: 50%;
  width: 70px;
  height: 3px;
	background: linear-gradient(90deg,rgba(113, 106, 98, 1) 0%, rgba(113, 106, 98, 0) 100%);
}
.lineTtl::before {
  left:0;
  transform: rotate(180deg);
}
.lineTtl::after {
  right: 0;
}

/**--- Link ---**/
a {
  color: #2f2013;
}
/*ボタン*/
.more {
  display: block;
  max-width: 400px;
  width: 80%;
  margin: 2em auto 1em;
  padding: 1.5em 1em;
	color: #55504a;
	font-weight: 700;
	text-align: center;
  background: #fff;
  border-radius: 100px;
	box-shadow: 0 3px 4px #e8e2dc;
  position: relative;
  transition: all .5s;
}
.more::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 1em;
	width: 26px;
	height: 26px;
	background: url("../img/arrow.png") no-repeat center center / cover;
	transform: translateY(-50%);
}
.more:hover, a:hover p.more {
	color: #fff;
  background: #716a62;
}

/**--- Component---**/
.map {
  margin: 6em auto 0;
  position: relative;
  aspect-ratio: 16 / 5;
}
.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.imgsd {
	border-radius: 10px;
	box-shadow: 0px 12px 20px 0px rgba(0, 0, 0, 0.12);
}

@media only screen and (max-width:767px) {
  .map {
    aspect-ratio: 16 / 9;
  }
}

/**--- Footer ---**/
footer {
	width: 100%;
	text-align: center;
  background: #fff;
}
footer ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	text-align: center;
}
footer li a{
	display: block;
	margin: 0 1em;
	padding: 1em 0;
	font-size: 14rem;
}
footer .copyright {
	margin-bottom: 0;
	padding: 1em 0;
	color: #fff;
  font-size: clamp(12rem, 1.16vw, 14rem);
	letter-spacing: 0;
	line-height: 1;
	text-align: center;
	background: #716a62;
}
@media only screen and (max-width:767px) {
	footer ul {
		display: inherit;
		padding: 1em;
		text-align: left;
	}
	footer li{
		border-bottom: 1px solid #e1e1e1;
	}
	footer li a:last-child {
		border-bottom: none;
	}
}

/**--- TOP ---**/
#mainImg {
	height: 80vh;
	background: linear-gradient(180deg,rgba(85, 80, 74, 0) 60%, rgba(85, 80, 74, 1) 100%),
	url("../img/main.jpg") no-repeat center center / cover;
	position: relative;
}
#mainImg ul{
	max-width: 1200px;
	width: 100%;
	position: absolute;
	bottom: 0;
	display: flex;
	justify-content: space-between;
}
#mainImg li{
	width: 50%;
	position: relative;
}
#mainImg li:first-child::after {
	content: '';
	position: absolute;
	right: 0;
	top: 0;
	width: 3px;
	height: 100%;
	background: linear-gradient(180deg,rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
}
#mainImg li a{
	display: block;
	width: 100%;
	padding: 1em 0;
	color: #fff;
	font-size: clamp(40rem, 5vw, 60rem);
	text-align: center;
}
#mainImg li a::after {
	content: '';
	position: absolute;
	right: 1em;
	top: 50%;
	width: 18px;
	height: 37px;
	background: url("../img/arrow2.png") no-repeat center center / cover;
	transform: translateY(-50%);
}
#mainImg li .gr{
	display: block;
	font-weight: 400;
	letter-spacing: 0.05em;
	background: linear-gradient(180deg,rgba(222, 222, 220, 1) 0%, rgba(255, 255, 255, 1) 50%, rgba(174, 174, 174, 1) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	text-fill-color: transparent;
	filter:drop-shadow(0 1px 2px #333);
}
#mainImg li small {
	display: block;
	font-size: 0.4em;
	color: #fff;
}
#mainTtl {
	padding-top:4em;
	padding-bottom: 4em;
	background: url("../img/main_under.jpg") no-repeat center center / cover;
	position: relative;
}
#mainTtl h1{
	color: #fff;
	text-shadow: 0 0 6px #55504a;
}
#news{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 5px;
	background: #f9f9f9;
}
#news h2{
	display:flex;
	justify-content: center;
	align-content: center;
	flex-wrap: wrap;
	width: 190px;
	height: 190px;
	margin: 0;
	font-size: clamp(20rem, 2.25vw, 25rem);
	color: #fff;
	text-align: center;
	background: linear-gradient(180deg,#8B847C 0%, #57524C 100%);
	border-radius: 100%;
}
#news h2 small{
	align-self:flex-start;
	display: block;
	width: 100%;
	font-size: .5em;
}
#news ul{
	width: calc(100% - 250px);
}
#news .newsBody{
	width: calc(100% - 250px);
}
#news .newsBody ul{
	width: 100%;
}
#news li{
	display: flex;
	padding: .85em .5em;
}
#news li .day {
	flex-basis: 10em;
	flex-shrink: 0;
}
#news li small {
	align-self:flex-start;
	flex-basis: 8em;
	flex-shrink: 0;
	margin: 0 3.5em;
	padding:.6em 1em .7em;
	font-size: .8em;
	color: #fff;
	text-align: center;
	line-height: 1;
	border-radius: 100px;
}
#news li span a{
	text-decoration: underline dotted 2px #8B847C;
	text-underline-offset: 5px;
}
#news li .info {
	background: #c2a584;
}
#news li .orthopedic {
	background: #24bcef;
}
#news li .regenerative {
	background: #51b336;
}
#news .newsMore{
	flex-basis: 100%;
	width: 100%;
	margin: 2.5em auto 0;
}

#time h3 {
	width: fit-content;
	margin: 0 auto 1em;
	padding: .1em 1.5em .2em;
	color: #fff;
	text-align: center;
	border-radius: 100px;
}
#time h3.orthopedic {
	background: #24bcef;
}
#time h3.regenerative {
	background: #51b336;
}
#time p{
	margin: 0;
}
#time img{
	margin-bottom: 1.5em;
}
#aboutInfo .greeting p{
	margin-bottom: 2em;
	font-size: clamp(16rem, 1.7vw, 18rem);
}
#aboutInfo .greeting img{
	width: 75%;
	margin-bottom: 8em;
}
#aboutInfo .orthopedic,
#aboutInfo .regenerative{
	padding: 3.5em 2em 0;
	border-radius: 10px;
}
#aboutInfo .orthopedic {
	background: url("../img/orthopedic_bk.png") no-repeat center top;
}
#aboutInfo .regenerative {
	background: url("../img/regenerative_bk.png") no-repeat center top;
}
#aboutInfo .orthopedic h3,
#aboutInfo .regenerative h3{
	margin-bottom: 1.5em;
	padding: .5em;
	color: #fff;
	font-size: clamp(25rem, 2.75vw, 30rem);
	text-align: center;
	text-shadow: 0 0 6px rgba(255, 255, 255, 0.6);
}
#aboutInfo .orthopedic h3{
	background: linear-gradient(90deg,rgba(36, 188, 239, 0) 0%, rgba(36, 188, 239, 0.90) 50%, rgba(36, 188, 239, 0) 100%);
}
#aboutInfo .regenerative h3{
	background: linear-gradient(90deg,rgba(81, 179, 54, 0) 0%, rgba(81, 179, 54, 0.90) 50%, rgba(81, 179, 54, 0) 100%);
}
#access dl {
	display: flex;
	flex-wrap: wrap;
	margin-top: 2em;
}
#access dt,
#access dd {
	margin-bottom: .5em;
	padding: 1em;
}
#access h3 {
	font-family: "Noto Sans JP", sans-serif !important;
	font-weight: 700 !important;
}
#access dt {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 5em;
	background: #fff;
	text-align: center;
	border-radius: 10px;
}
#access dd {
	width: calc(100% - 5em);
}
#staff .row{
	margin-bottom: 4em;
}
#staff .mainProfile h3{
	margin-bottom: 1em;
	font-size: clamp(25rem, 2.75vw, 30rem);
}
#staff .mainProfile h3 span{
	display: inline-block;
	margin-right: 1em;
	padding: .5em 1em;
	color: #fff;
	font-size: 0.65em;
	background: #55504a;
	border-radius: 100px;
}
#staff .row.mainProfile {
 	--bs-gutter-x:8%;
}
#staff h3{
	margin-top: 1em;
}
#staff h3 span{
	display: block;
	margin-bottom: .5em;
	padding: .3em 1em;
	color: #fff;
	font-size: 0.8em;
	text-align: center;
	background: #55504a;
	border-radius: 100px;
}
#staff dt{
	margin-bottom: .5em;
	padding: .5em 1em;
	color: #fff;
	background: #c2a584;
	border-radius: 10px;
}
#staff dd{
	margin-bottom: 1.5em;
}

#recLink {
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
	margin-top: 6em;
	padding: 1em 4em 1em 0;
	background: linear-gradient(90deg,rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, 1) 40%),
	url("../img/recruit_bk.jpg") no-repeat left center / contain;
	border:1px solid #716a62;
	border-radius: 10px;
	position: relative;
}
#recLink::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 2.5em;
	height: 100%;
	background:#716a62 url("../img/arrow2.png") no-repeat center center / 10px auto;
	border-radius: 0 10px 10px 0;
}
#recLink .txt{
	width: 60%;
}
#recLink ul{
	display: flex;
	margin-bottom: .5em;
}
#recLink li{
	margin-right: .5em;
	padding: .1em 1em .2em;
	color: #fff;
	font-size: clamp(16rem, 1.7vw, 18rem);
	font-weight: 500;
	text-align: center;
	background: #24bcef;
	border-radius: 100px;
}
#recLink h3{
	margin:0 0 .5em;
	font-size: clamp(25rem, 2.75vw, 30rem);
}
#recLink p{
	margin-bottom: 0;
}
.banner {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 3em 0 0;
	text-align: center;
}
.banner p{
	margin: 0 1.5em 0;
	font-size: clamp(18rem, 1.9vw, 20rem);
	font-weight: 700;
}
@media only screen and (max-width:991px) {
	#news h2{
		width: 150px;
		height: 150px;
	}
	#news ul{
		width: calc(100% - 210px);
	}
	#news li {
		flex-wrap: wrap;
	}
	#news li small {
		margin: 0 1.5em;
	}
	#news li span {
		width: 100%;
		padding-top: .5em;
	}
}
@media only screen and (max-width:767px) {
	#mainImg {
	height: 60vh;
	}
	#mainImg li a{
		padding-right: .5em;
		color: #fff;
		font-size: clamp(40rem, 5vw, 60rem);
		text-align: center;
	}
	#mainImg li a::after {
		right: .5em;
		width: 10px;
		height: 20px;
	}
	#mainImg li .gr {
		line-height: 1.2;
	}
	#news{
		display: inherit;
	}
	#news h2{
		display:inherit;
		width: fit-content;
		height: auto;
		margin:0 auto 1em;
		padding: .5em 2em;
		border-radius: 100px;
	}
	#news .newsBody{
		width: 100%;
	}
	#news ul{
		width: 100%;
	}
	#aboutInfo .greeting img{
		width: 60%;
		margin:0 auto 2em;
	}
	#greeting img{
		width: 60%;
	}
	#staff .mainProfile h3{
		text-align: center;
	}
	#staff .mainProfile h3 span{
		display: block;
		margin:0 0 .5em;
	}
	#staff .staffList img,
	#staff .mainProfile img{
		width: 60%;
	}
	#recLink {
		display: block;
		margin-top: 4em;
		padding: 0 0 3.5em 0;
		background:#fff;
	}
	#recLink::after {
		content: '';
		position: absolute;
		top: auto;
		bottom: 0;
		right: 0;
		width: 100%;
		height: 3em;
		border-radius: 0 0 10px 10px;
	}
	#recLink img{
		margin-bottom: 1em;
		border-radius: 10px 10px 0 0;
	}
	#recLink .txt{
		margin: 0 auto;
		width:90%;
	}
	#recLink ul{
		justify-content: space-between;
		flex-wrap: wrap;
	}
	#recLink li{
		width: 48%;
		margin:0 0 .5em;
		color: #fff;
		font-size: clamp(16rem, 1.7vw, 18rem);
		font-weight: 500;
		background: #24bcef;
		border-radius: 100px;
	}
	#recLink h3{
		text-align: center;
	}
	#recLink p{
		margin-bottom: 0;
	}
	.banner {
		display: inherit;
		text-align: center;
	}
	.banner p{
		margin-bottom: 1em;
	}
}
#soon p {
	margin-bottom: 3em;
	font-size: clamp(20rem, 2.25vw, 25rem);
	text-align: center;
}

.pagetop {
	position: fixed;
	z-index: 999;
	right: 20px;
	bottom: 20px;
	opacity: 0;
}

.pagetop a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	color: #fff;
	font-size: 2rem;
	text-decoration: none;
	background: rgba(100, 98, 95, .8);
	border-radius: 50%;
}

.pagetop i {
	display: none;
}

.pagetop a::before {
	content: "";
	width: 12px;
	height: 12px;
	margin-top: 6px;
	border-top: 3px solid currentColor;
	border-left: 3px solid currentColor;
	transform: rotate(45deg);
}

@media only screen and (max-width:767px) {
	.pagetop a {
		width: 40px;
		height: 40px;
	}
}
