@charset "utf-8";
#hnMain{background: url("../img/top/news-bg.webp") no-repeat center top;}
.topFV{
	position:relative;
	max-width:1840px;
	margin:0 auto;
}
.topFV img{overflow:hidden;}
.fvTtl{
	display:block;
	line-height:1.6;
}
.newsSec{display: grid;}
.newsSec .markTtl{grid-area: newsTtl;}
.newsLink{grid-area: newsLink;}

.aboutSec img{overflow: hidden;}
.aboutTtl{
	display: block;
	color: var(--default-color);
	line-height: 1.0;
}
.aboutLead,
.aboutText{line-height: 2.0;}
.aboutLead:after{
	content: "";
	display: block;
	height: 2px;
	background-color: #e4e2de;
}
.featuresSec{background: url("../img/top/features-bg.webp") no-repeat;}
.featuresTtl{
	width: 100%;
	position: relative;
	background: url("../img/top/features-ttl.webp") no-repeat center center / cover;
	text-align: center;
}
.featuresTtl *{
	position: relative;
	z-index: 1;
}
.featuresTxt{font-weight:bold;}
.featuresTxt span{
	display: inline-block;
	background-color: var(--white-color);
	color: var(--default-color);
	line-height: 1.0;
}
.featuresBox figcaption{position: relative;}
.featureTtl:after{
	content: "";
	display: block;
	height: 2px;
	background-color: #999999;
}
.featureTtl{line-height: 1.4;}
.featureTtl strong{font-weight:700;}
.featureTxt{line-height: 1.6;}
.medicalSec{background-color:#fffcf0;}
.medicalSec .markTtl{text-align: center;}
.medicalBox{
	display: grid;
	margin:0 auto;
	background-color: var(--white-color);
}
.medicalTtl{
	grid-area: mediTtl;
	display: flex;
	align-items: center;
	line-height: 1.0;
	font-weight: 500;
}
.medicalTtl img{width:auto;}
.medicalLink{
	grid-area:mediLink;
	align-self: center;
}
.medicalLink a[data-btn]{color: var(--default-color);}
.medicalLink a[data-btn]:hover span{
	text-decoration: underline;
	text-underline-offset:6px;
}
.medicalInner{grid-area: mediList;}
.medicalSBox{background-color:#f9f9f9;}
.medicalSBox h4{
	display: block;
	line-height: 1.0;
	color: var(--default-color);
}
.medicalSBox p{line-height: 2.0;}
.faqBnr{
	max-width:1280px;
	margin:0 auto;
	text-align: center;
}
.faqBnr a[data-btn]{
	display: block;
	border:1px solid var(--default-color);
}
.faqBnr a[data-btn]:hover{color: var(--default-color);}
.faqBnr .inner{
	display: inline-flex;
	align-items: center;
	height: 100%;
	margin:0 auto;
}
.faqBnr img.logo{
	position:absolute;
	opacity: 0;
	transition: all 0.4s ease;
	z-index: 0;
}
.faqBnr a[data-btn]:hover img.logo{opacity: 0.07;}
.faqBnr img.man01,
.faqBnr img.man02{
	position: absolute;
	bottom: 0;
}
.schedulelSec{display: grid;}
.schedulelSec .markTtl{grid-area: scTtl;}
.scheduleLink{grid-area:scLink;}
.tblScroll{grid-area:scTbl;}
.scheduleTbl{
	width:100%;
	border-collapse:collapse;
	border:0px;
	font-weight:500;
	line-height:1.0;
}
.scheduleTbl th,
.scheduleTbl td{
	width: 10.572%;
	vertical-align: middle;
	text-align: center;
	border: 2px solid var(--white-color);
}
.scheduleTbl th:first-child{width:25.995%;}
.scheduleTbl td use{fill:var(--default-color);}
.scheduleTbl thead th{
	background-color: var(--default-color);
	color: var(--white-color);
}
.scheduleTbl thead th:first-child{font-weight: bold;}
.scheduleTbl thead th:not(:first-child),
.scheduleTbl tbody th{font-weight: 500;}
.scheduleTbl tbody th,
.scheduleTbl tbody td{background-color:#fffcf0;}
.grayBox{background-color:#f2f8fc;}
.grayBox[data-int="1"]{
	grid-area:grayBox1;
	width: 100%;
}
.grayBox[data-int="2"]{grid-area:grayBox2;}
.grayBox[data-int="3"]{grid-area:grayBox3;}
.hospitalTtl{
	display: flex;
	align-items: center;
	color: var(--default-color);
}
.hospitalTtl:before{
	content: "";
	display: inline-block;
	border-radius: 50%;
	background-color: var(--default-color);
}
.hospitalTxt{line-height: 2.0;}
.hospitalList li:before{
	content: "";
	display: inline-block;
	border-radius: 50%;
	background-color: var(--default-color);
}
.hospitalListMini{padding-left: 20px;}
.hospitalListMini li{
	list-style: disc;
	line-height: 2.0;
}
.hospitalMap{
	grid-area:scMap;
	position:relative;
}
.gMapFrame{
	position:relative;
	overflow:hidden;
}
.gMapFrame:before{
	content:"";
	display:block;
	width:100%;
	height:0;
}
.hospitalMap iframe{
	position: absolute;
	top: 0;
	left: 0;
	width:100%;
	height: 100%;
}
.hospitalAccess{
	grid-area:scAcc;
	width:100%;
}
.photoList{
	width:100%;
	overflow:hidden;
}
.photoList .inner{
	display: flex;
	justify-content: space-between;
}
.photoList img{overflow: hidden;}

@media screen and (max-width:767.98px){/*70%*/
	#hnMain .markTtl{
		margin-bottom: 36px;
		text-align: center;
	}
	.topFV{width:92vw;}
	.topFV img{
		aspect-ratio:3 / 2;
		object-fit:cover;
		object-position:center center;
		border-radius: 14px;
	}
	.topFV figcaption{
		padding:18px 1vw;
		font-size:20px;
		text-align:center;
	}
	.newsSec{
		grid-template: "newsTtl" auto "newsList" auto "newsLink" auto / 100%;
		margin-top: 70px;
	}
	.aboutSec{
		display: block;
		margin-top: 70px;
	}
	.aboutSec img{
		width:min(480px,80%);
		margin:0 auto;
		border-radius: 14px;
	}
	.aboutSec figcaption{
		width:100%;
		margin-top: 36px;
	}
	.aboutLead{
		margin-bottom:36px;
		font-size: 18px;
	}
	.aboutLead:after{
		width:156px;
		margin-top:36px;
	}
	.aboutTtl{
		margin: 36px 0 20px;
		font-size: 18px;
	}
	.featuresSec{
		margin: 70px auto;
		background-size:100vw auto;
		background-position: center 300px;
	}
	.featuresTtl{
		margin-bottom: 36px;
		padding: 45px 1vw;
	}
	.featuresTxt{font-size:20px;}
	.featuresTxt span{
		padding:4px;
		margin:6px;
	}
	.featuresBox{
		display:block;
		margin:48px 4vw 0;
	}
	.featuresBox > img{
		width:min(80%,480px);
		margin:0 auto;
		border-radius: 14px;
		overflow: hidden;
	}
	.featuresBox figcaption{margin-top:24px;}
	.featureTtl{font-size:20px;}
	.featureTtl strong{font-size:24px;}
	.featureTtl:after{
		width:158px;
		margin-top:16px;
	}
	.featureTxt{padding-top: 16px;}
	.featuresBox[data-int] figcaption{
		background-size: auto 100px;
	}
	.featuresBox[data-int] figcaption .inner{margin:0 auto;}
	.medicalSec{
		margin-top: 70px;
		padding: 40px 4vw;
	}
	.medicalSec .markTtl{margin-bottom: min(48px,3.75vw);}
	.medicalBox{
		grid-template: "mediTtl" auto "mediList" auto "mediLink" auto / auto;
		width:100%;
		padding: 24px 4vw 36px;
		border-radius: 14px;
	}
	.medicalBox:not(:first-of-type){margin-top: 40px;}
	.medicalTtl{
		justify-content: center;
		font-size: 20px;
	}
	.medicalTtl img{
		height: 40px;
		margin-right: 20px;
	}
	.medicalLink{
		margin-top: 24px;
		text-align: center;
	}
	.medicalInner{margin-top:24px;}
	.medicalSBox{
		width: 100%;
		padding: 12px 4vw;
	}
	.medicalSBox:nth-child(n+2){margin-top: 12px;}
	.medicalSBox h4{
		margin-bottom: 12px;
		font-size: 16px;
	}
	.faqBnr{
		width:100%;
		margin-top: 24px;
	}
	.faqBnr a[data-btn]{
		height: 80px;
		border-radius:14px;
	}
	.faqBnr a[data-btn] svg{margin-left:8px;}
	.faqBnr a[data-btn] span{font-size: 16px;}
	.faqBnr img.logo{
		width:40px;
		top: calc(50% - 20px);
		left: calc(50% - 20px);
	}
	.faqBnr img[class^="man"]{width:40px;}
	.faqBnr img.man01{left:4vw;}
	.faqBnr img.man02{right:4vw;}
	.schedulelSec{
		grid-template: "scTtl" auto "scTbl" auto "scLink" auto "grayBox1" auto "grayBox2" auto "grayBox3" auto "scMap" auto "scAcc" auto / 1fr;
		margin: 70px auto 48px;
	}
	.scheduleLink{
		margin: 16px auto 36px;
		text-align: center;
	}
	.tblScroll{
		overflow-x:scroll;
		overflow-y:hidden;
	}
	.scheduleTbl{
		display:grid;
		grid-template-columns:auto 1fr;
		font-size:14px;
	}
	.scheduleTbl th,
	.scheduleTbl td{
		min-height:40px;
		white-space:nowrap;
	}
	.scheduleTbl thead,
	.scheduleTbl thead th,
	.scheduleTbl tbody tr,
	.scheduleTbl tbody th,
	.scheduleTbl tbody td{display:block;}
	.scheduleTbl th,
	.scheduleTbl th:first-child,
	.scheduleTbl td{width:100%;}
	.scheduleTbl tbody{
		display:grid;
		grid-template-columns:repeat(3,1fr);
	}
	.scheduleTbl td svg{width:16px;}
	.scheduleTbl thead th,
	.scheduleTbl tbody th,
	.scheduleTbl tbody td{padding:8px 2vw;}
	.scheduleTbl thead th{line-height:1.4;}
	.scheduleTbl tbody td{font-size:16px;}
	.scheduleTbl thead th:first-child{border-top-left-radius:14px;}
	.scheduleTbl thead th:last-child{border-bottom-left-radius:14px;}
	.scheduleTbl tbody tr:last-child th:first-child{border-top-right-radius:14px;}
	.scheduleTbl tbody tr:last-child td:last-child{border-bottom-right-radius:14px;}
	.grayBox{padding: 20px 4vw;}
	.grayBox[data-int="1"]{
		display:block;
		text-align: center;
	}
	.grayBox[data-int="1"] img{
		width:min(200px,30%);
		margin:0 auto;
	}
	.grayBox[data-int="2"],
	.grayBox[data-int="3"]{margin-top: 12px;}
	.hospitalTtl{margin-bottom: 12px;}
	.hospitalTtl:before,
	.hospitalList li:before{
		width:14px;
		height:14px;
		margin-right:8px;
	}
	.hospitalList{margin-top:24px;}
	.hospitalList li{
		position:relative;
		padding-left: 16px;
		text-align: left;
	}
	.hospitalList li:before{
		position: absolute;
		top: 5px;
		left:0;
	}
	.hospitalMap{margin-top: 48px;}
	.gMapFrame{border-radius: 14px;}
	.gMapFrame:before{padding-top:80%;}
	.hospitalMap figcaption{margin-top: 12px;}
	.hospitalAccess{margin-top:36px;}
	.accessParking{
		margin:20px auto 14px;
		font-size:16px;
	}
	.photoList{
		width:100%;
		padding:0 4vw;
		margin-top:140px;
	}
	.photoList .inner{
		width:100%;
		flex-wrap: wrap;
	}
	.photoList img{
		width:48.5%;
		border-radius: 14px;
	}
	.photoList img:nth-child(n+3){margin-top:12px;}
	#hnBtm{margin-top:70px;}
}
@media screen and (min-width:768px){
	#hnMain{background-size: 2560px auto;}
	.topFV{
		width:96%;
		border-radius:min(20px,1.5625vw);
	}
	.topFV figcaption{
		position:absolute;
		bottom:0;
		left:0;
		padding:min(24px,1.875vw);
		background-color:var(--white-color);
		font-weight:bold;
		font-size:min(38px,2.96875vw);
		border-radius:0 min(20px,1.563vw) 0 0;
		z-index:1;
	}
	.newsSec{
		grid-template:"newsTtl newsList" auto "newsLink newsList" 1fr / min(238px,18.594vw) auto;
		margin-top: min(98px,7.656vw);
	}
	.newsList{width:min(1042px,100%);}
	.newsLink{margin-top: min(46px,3.594vw);}
	.aboutSec{
		display: flex;
		justify-content: space-between;
		flex-direction: row-reverse;
		margin-top: min(98px,7.656vw);
	}
	.aboutSec img{
		width:50%;
		border-radius: min(20px,1.563vw);
	}
	.aboutSec figcaption{
		width:50%;
		padding-right: min(50px,3.906vw);
	}
	.aboutLead{
		margin: min(30px,2.344vw) 0 min(36px,2.813vw);
		font-size: min(24px,1.875vw);
	}
	.aboutLead:after{
		width:min(225px,17.578vw);
		margin-top: min(35px,2.734vw);
	}
	.aboutTtl{
		margin: min(50px,3.906vw) 0 min(26px,2.031vw);
		font-size: min(24px,1.875vw);
	}
	.featuresSec{
		margin: min(100px,7.813vw) auto;
		background-size:min(2480px,150vw) auto;/*特殊処理-1920pxに対して処理*/
		background-position: center min(520px,40.625vw);
	}
	.featuresTtl{
		margin-bottom: min(100px,7.813vw);
		padding: min(150px,11.719vw) 0 min(154px,12.031vw);
	}
	.featuresTxt{
		margin-top: min(48px,3.75vw);
		font-size: min(48px,3.75vw);
	}
	.featuresTxt span{
		padding:min(10px,0.781vw);
		margin:0 min(6px,0.469vw);
	}
	.featuresBox{
		display: grid;
		grid-template-columns: 50% 50%;
		margin-top: min(40px,3.125vw);
	}
	.featuresBox > *{height:100%;}
	.featuresBox figcaption{align-self: center;}
	.featureTtl{font-size: min(48px,3.75vw);}
	.featureTtl strong{font-size: min(56px,4.063vw);}/*52px*/
	.featureTtl:after{
		width:min(225px,17.578vw);
		margin-top: min(38px,2.969vw);
	}
	.featureTxt{padding-top: min(38px,2.969vw);}
	.featuresBox[data-int] figcaption{
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		background-size: auto min(250px,19.531vw);
	}
	.featuresBox[data-int] figcaption .inner{margin:0 auto;}
	.featuresBox[data-int="1"] img,
	.featuresBox[data-int="3"] img{border-radius: 0 min(20px,1.563vw) min(20px,1.563vw) 0;}
	.featuresBox[data-int="2"]{grid-template-areas: "f2Txt f2Fg";}
	.featuresBox[data-int="2"] img{
		border-radius: min(20px,1.563vw) 0 0 min(20px,1.563vw);
		grid-area: f2Fg;
	}
	.medicalSec{
		margin-top: min(100px,7.813vw);
		padding: min(90px,7.031vw) 0 min(80px,6.25vw);
	}
	.medicalSec .markTtl{margin-bottom: min(48px,3.75vw);}
	.medicalBox{
		grid-template: "mediTtl mediLink" auto "mediList mediList" 1fr / 1fr auto;
		width:min(1280px,96vw);
		padding: min(40px,3.125vw) min(48px,3.75vw);
		border-radius: min(20px,1.563vw);
	}
	.medicalBox:not(:first-of-type){margin-top: min(40px,3.125vw);}
	.medicalTtl{font-size: min(40px,3.125vw);}
	.medicalTtl img{
		height: min(74px,5.781vw);
		margin-right: min(28px,2.188vw);
	}
	.medicalInner{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin-top:min(26px,2.031vw);
	}
	.medicalSBox{
		width: 48.31%;
		padding: min(22px,1.719vw) min(24px,1.875vw);
	}
	.medicalSBox:nth-child(n+3){margin-top: min(40px,3.125vw);}
	.medicalSBox h4{
		margin-bottom: min(6px,0.469vw);
		font-size: min(24px,1.875vw);
	}
	.faqBnr{
		width:min(1280px,96vw);
		margin-top: min(40px,3.125vw);
	}
	.faqBnr a[data-btn]{
		height: min(190px,14.844vw);
		border-radius: min(20px,1.563vw);
	}
	.faqBnr a[data-btn] svg{margin-left:min(24px,1.875vw);}
	.faqBnr a[data-btn] span{font-size: min(40px,3.125vw);}
	.faqBnr img.logo{
		width:min(145px,11.328vw);
		top: calc(50% - min(72.5px,5.664vw));
		left: calc(50% - min(72.5px,5.664vw));
	}
	.faqBnr img[class^="man"]{width:min(120px,9.375vw);}
	.faqBnr img.man01{left:min(180px,14.063vw);}
	.faqBnr img.man02{right:min(180px,14.063vw);}
	.schedulelSec{
		grid-template: "scTtl scTbl scTbl" auto "scLink scTbl scTbl" 1fr "grayBox1 grayBox1 grayBox1" auto "grayBox2 grayBox2 grayBox3" auto "scMap scMap scMap" auto "scAcc scAcc scAcc" auto / min(476px,37.1875%) min(156px,12.1875%) min(632px,49.375%);
		column-gap: min(16px,0.625%);
		margin: min(100px,7.813vw) 0 min(46px,3.594vw);
	}
	.scheduleLink{margin-top: min(48px,3.75vw);}
	.scheduleTbl{
		border-radius:min(20px,1.563vw);
		font-size:min(20px,1.563vw);
		overflow:hidden;
	}
	.scheduleTbl td svg{width:min(28px,2.188vw);}
	.scheduleTbl thead th{padding:min(30px,2.344vw) min(4px,0.313vw);}
	.scheduleTbl tbody td{
		padding: min(27px,2.109vw) min(4px,0.313vw);
		font-size: min(24px,1.875vw);
	}
	.grayBox[data-int="1"]{
		display: flex;
		margin: min(40px,3.125vw) auto min(16px,1.25vw);
		padding: min(38px,2.969vw) min(26px,2.031vw);
	}
	.grayBox[data-int="2"],
	.grayBox[data-int="3"]{padding:min(30px,2.344vw) min(25px,1.953vw);}
	.hospitalTtl{margin-bottom: min(17px,1.328vw);}
	.hospitalTtl:before,
	.hospitalList li:before{
		width:min(22px,1.719vw);
		height: min(22px,1.719vw);
		margin-right: min(8px,0.625vw);
	}
	.hospitalList{margin-left: min(44px,3.438vw);}
	.hospitalList li{
		display: flex;
		font-size:min(24px,1.875vw);
	}
	.hospitalList li:before{margin-top: min(8px,0.625vw);}
	.hospitalMap{margin-top:min(100px,7.813vw);}
	.gMapFrame{border-radius:min(20px,1.563vw);}
	.gMapFrame:before{padding-top:36.875%;}
	.hospitalMap figcaption{margin-top: 16px;}
	.hospitalAccess{margin-top:min(50px,3.90625vw);}
	.accessParking{
		margin:min(28px,2.1875vw) auto min(20px,1.5625vw);
		font-size:min(24px,1.875vw);
	}
	.photoList{margin-top:min(200px,15.625vw);}
	.photoList .inner{
		width:min(2072px,107.916vw);
		margin:0 min(-76px,-3.6679%);
	}
	.photoList img{
		width:min(500px,24.1312%);
		border-radius:min(20px,1.563vw);
	}
	.photoList img+img{margin-left:min(24px,1.1583%);}
	#hnBtm{margin-top:min(100px,7.8125vw);}
}
@media screen and (min-width:768px) and (max-width:1279.98px){
	.featuresBox[data-int] figcaption{padding:0 1vw;}
}
@media screen and (min-width:1280px){
}
@media screen and (min-width:2072px){
	.photoList .inner{margin:0 auto;}
}
