@charset "utf-8";
:root {
	--main-color:#333;
	--default-color:#007BC7;
	--sub-color:#f8b300;
	--sub-color2:#bbb771;
	--sub-light:#fffcf0;
	--white-color:#fff;
}
@keyframes navBtns{100% {height:0;}}

*,*::before,*::after{box-sizing:border-box}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}ul[role='list'],ol[role='list']{list-style:none}body{min-height:100vh;line-height:1.5}h1,h2,h3,h4,h5,h6,button,input,label{line-height:1.1}a:not([class]){text-decoration-skip-ink:auto;}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}textarea:not([rows]){min-height:10em}:target{scroll-margin-block:5ex}


/*style.css*/
html{width:100%;}
body{
	position:relative;
	width:100%;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	color:var(--main-color);
	overflow-x:hidden;
	overflow-y:auto;
}
strong{color:var(--default-color);}
address{font-style:normal;}
menu,ul,li,ol{padding:0;margin:0;list-style:none;}
details::details-content {
  content-visibility: unset;
  display: block grid;
  transition:height 0.4s,opacity 0.4s,content-visibility 0.4s allow-discrete;
  opacity: 0;
  max-height:0;
  overflow: clip;
}
@media (prefers-reduced-motion: no-preference) {
	details::details-content {
	  transition-duration: 300ms;
  	transition-property: grid-template-rows;
  }
}
details:not([open])::details-content{grid-template-rows: 0fr;}
details[open]::details-content {
	opacity: 1;
	max-height:99999px;
	grid-template-rows: 1fr;
}
summary::marker{content:none;}
a,label,button{
  color:var(--main-color);
  transition:all 0.5s ease;
  text-decoration:none;
}
a:hover, a:focus{
  opacity: 0.7;
}
button{
  padding:0;
  border:none;
  outline:transparent;
  font-family:"Noto Sans JP", sans-serif;
}
a use{
	fill:var(--default-color);
	transition: all 0.4s ease;
}
*[hidden]{
	position:fixed;
	top:-9999px;
	left:0;
	opacity:0;
}
*[data-btn]{
	position: relative;
  display: inline-flex;
  align-items: center;
  background-color: var(--white-color);
  color: var(--default-color);
  line-height: 1.0;
  font-weight: bold;
  white-space: nowrap;
}
*[data-btn]:hover{
  color: var(--main-color);
  text-decoration: none;
  opacity: 1.0;
}
*[data-btn] svg:not([class]){
	border-radius:50%;
	border:1px solid var(--default-color);
	transition:all 0.4s ease;
}
*[data-btn]:hover svg:not([class]){background-color:var(--default-color);}
*[data-btn] svg:not([class]) use{
	fill:var(--default-color);
	transition:fill 0.4s ease;
}
*[data-btn]:hover svg use{fill:var(--white-color);}
*[data-font="serif"]{
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}
.hdTel *,
.telNumBox{line-height:1.0;}
.telNumBox{
	display:flex;
	align-items:center;
}
.telNumBox span{
	background-color:var(--default-color);
	color:var(--white-color);
	font-weight:bold;
}
.telCaution{font-feature-settings:"palt";}
#hnHeader{
	width:100%;
	position:fixed;
	top:0;
	left:0;
	background-color:var(--white-color);
	z-index:1000;
}
#hnHeader a,
#globalNavi a{display:block;}
#globalNavi{
	position:fixed;
	width:100%;
}
.mainList{font-weight:bold;}
.mainList > li > a,
.mainList summary{
	color:var(--main-color);
	cursor:pointer;
}
.mainList summary{
	display:flex;
	align-items:center;
}
.mainList summary:after{
	content:"";
	display:block;
	background:url("../img/common/angle.svg") no-repeat center center / contain;
	transition:all 0.4s;
}
.mainList details[open] summary:after{transform:rotate(180deg);}
.mainSub{
	position:relative;
	font-weight:500;
}
#globalNavi .mainSub a{display:flex;}
.mainSub a{
	width:100%;
	align-items:center;
	justify-content:space-between;
	color:var(--main-color);
}
.mainSub a:hover{opacity: 1.0;}
.mainSub a span{font-weight: 500;}
.mainSub a svg:not([class]){
	border:1px solid var(--default-color);
	border-radius:50%;
	transition: all 0.4s ease;
}
.mainSub a:hover svg:not([class]){background-color: var(--default-color);}
.mainSub a:hover use{fill: var(--white-color);}
.hdTel .telNumBox a{font-weight:500;}
*[data-low],
*[data-large]{
	width:100%;
	position: relative;
}
.markTtl{font-weight:bold;}
.secBox h2.markTtl.wp-block-heading:before{content:none;}
.markTtl small{
	display:inline-flex;
	align-items:center;
	color:var(--default-color);
	line-height:1.0;
}
.markTtl small:before{
	content:"";
	display:block;
	background:url("../img/common/logo-mark.svg") no-repeat center center / contain;
}
.markTtl strong{
	display:block;
	line-height:1.0;
	color:var(--main-color);
}
#hnBtm{
	position:relative;
	background:url("../img/common/contact-bg.webp") no-repeat center center / cover;
	text-align:center;
}
#hnBtm .telNumBox a{color:var(--default-color);}
.ftAdd{line-height:1.5;}
#copyrights{
	display:block;
	text-align:center;
}
.telBtmBox{
	width:80%;
	max-width:800px;
	margin:0 auto;
	background-color:var(--sub-light);
	border-radius:20px;
	font-weight:bold;
}
.telNumBox{justify-content:center;}
.telCaution{font-weight:500;}
.breadcrumbs{
	display:block;
	line-height:1.5;
}
.breadcrumbs li{
	position:relative;
	display:inline;
}
.breadcrumbs li:not(:first-child):before{
	content:"";
	display: inline-block;
	background: url(../img/common/angle.svg) no-repeat center center / contain;
	transform:rotate(-90deg);
}
.breadcrumbs a:not(.breadcrumbsTarget){color:var(--default-color);}
.breadcrumbs .breadcrumbsTarget{color:var(--main-color);}
body:not(.home) #hnMain{background:url("../img/common/square-bg.webp") no-repeat center top;}
.secBox{background-color:var(--white-color);}
.newsLink a[data-btn]{background-color: transparent;}
.newsList{grid-area: newsList;}
.newsList li{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	border-bottom:2px dotted #b3b5b7;
}
.newsList a[data-btn]{
	display: block;
	width:100%;
	position: relative;
	background-color: transparent;
	color: var(--main-color);
}
.newsList a[data-btn]:hover{color:var(--default-color);}
.newsList time,
.newsTag{
	display: inline-block;
	line-height: 1.0;
}
.newsTag{
	position:relative;
	color: var(--default-color);
	z-index:1;
}
.newsTag a{
	display: block;
	width:100%;
	height:100%;
	border: 1px solid var(--default-color);
	color: var(--default-color);
	overflow:hidden;
}
.newsTag a:hover{
	background-color:var(--default-color);
	color:var(--white-color);
}
.newsTxt{
	display: block;
	line-height: 2.0;
	white-space: break-spaces;
}
.newsList a[data-btn] svg{
	position: absolute;
	right: 0;
}
.pageTtl{
	display:block;
	text-align:center;
	line-height:1.6;
}
.medicalList{
	grid-area: mediList;
	display: grid;
}
.medicalBoxLink{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	border:1px solid var(--default-color);
	background-color: var(--default-color);
	color: var(--white-color);
	text-align: center;
	line-height: 1.0;
}
.medicalBoxLink:hover{
	background-color:var(--white-color);
	color: var(--default-color);
	opacity: 1.0;
}
.medicalBoxLink svg{position:absolute;}
.medicalBoxLink svg:not([class]){width:33px;}
.medicalBoxLink use{fill:var(--white-color);}
.medicalBoxLink:hover use{fill:var(--default-color);}
.medicalBoxLink .logo{opacity:0.07;}
.medicalBoxLink:hover .logo{mix-blend-mode:plus-lighter;}
.medicalBoxLink small{display:block;}
.dutyTbl{
	width:100%;
	border-collapse:collapse;
	table-layout:fixed;
	text-align:center;
	overflow:hidden;
}
.dutyTbl th,
.dutyTbl td{border:2px solid var(--white-color);}
.dutyTbl thead th{
	background-color:var(--default-color);
	color:var(--white-color);
}
.dutyTbl tbody th,
.dutyTbl tbody td{background-color:#fffcf0;}
.dutyTbl tbody td{width:13%;}
.dutyTbl th:last-child,
.dutyTbl td:last-child{display:none;}

@media screen and (max-width:1279.98px){
	body{padding-top:76px;}
	body.navOpen{overflow:hidden;}
	body:before{
		content:"";
		display:block;
		position:fixed;
		top:0;
		left:0;
		width:100%;
		height:100vh;
		background:rgba(0,0,0,0.4);
		pointer-events: none;
		opacity:0;
		transition:all 0.4s ease;
		z-index:990;
	}
	body.navOpen:before{opacity:1;}
	*[data-pc]{display:none!important;}
	#hnHeader{
		display:grid;
		grid-template-columns:1fr 34px;
		padding:12px 2vw;
	}
	.hdLogo a{width:180px;}
	.gNavBtn {
	  position: relative;
	  width:34px;
	  height:26px;
	  align-self: center;
	  cursor:pointer;
	}
	.gNavBtn:before,
	.gNavBtn:after,
	.gNavBtn span{
		content:"";
		display:block;
		position: absolute;
		left:0;
		width:100%;
		height:2px;
		background-color: var(--default-color);
		border-radius:4px;
	}
	.gNavBtn,
	.gNavBtn:before,
	.gNavBtn:after,
	.gNavBtn span{
	  display: inline-block;
	  transition: all .5s;
	  box-sizing: border-box;
	}
	.gNavBtn:before{top:0;}
	.gNavBtn span{top:calc(50% - 1px);}
	.gNavBtn:after{bottom:0;}
	#gNavCheck:checked ~ #hnHeader .gNavBtn:before{transform:translateY(12px) rotate(-45deg);}
	#gNavCheck:checked ~ #hnHeader .gNavBtn span{
	  left: 50%;
	  opacity: 0;
	  animation: navBtns .8s forwards;
	}
	#gNavCheck:checked ~ #hnHeader .gNavBtn:after{transform: translateY(-12px) rotate(45deg);}

	#globalNavi{
		top:0;
		right:0;
		padding:80px 4vw 40px;
		background-color:var(--white-color);
		pointer-events:none;
		transition:all 0.4s ease;
		opacity:0;
		z-index:999;
	}
	#gNavCheck:checked ~ #globalNavi{
		max-height:100vh;
		overflow-y:auto;
		opacity:1;
		pointer-events:auto;
	}
	.mainList{font-size:18px;}
	.mainList > li{padding:12px 0;}
	.mainList > li+li{border-top:2px #b7b7b7 dotted;}
	.mainList summary{
		width:100%;
		justify-content:space-between;
	}
	.mainList summary:after{
		width:22px;
		height:14px;
	}
	.mainSub{padding:12px 0 0 20px;}
	.mainSub li{padding:8px 0;}
	.mainSub li svg{width:22px;}
	.hdTel{
		margin-top:26px;
		text-align:center;
	}
	.hdTel .telNumBox{justify-content:center;}
	.hdTel .telNumBox span{
		padding:4px 12px;
		border-radius:10px;
		font-size:13px;
	}
	.hdTel .telNumBox a{
		margin-left:12px;
		font-size:24px;
	}
	.hdTel .telCaution{
		margin-top:10px;
		font-size:12px;
	}
	#hnFooter{padding:32px 4vw 40px;}
	.ftLogo{
		width:180px;
		margin:0 auto;
	}
	.ftAdd{
		margin:16px auto 0;
		text-align:center;
	}
	#copyrights{margin-top:30px;}
}
@media screen and (max-width:767.98px){
	body{font-size:14px;}
	*[data-tb]{display:none!important;}
	*[data-btn] span{font-size:14px;}
	*[data-btn] svg{margin-left: 12px;}
	*[data-btn] svg:not([class]){width:28px;}
	*[data-low]{padding:0 4vw;}
	*[data-large]{}
	.markTtl small{font-size:16px;}
	.markTtl small:before{
		width:14px;
		height:14px;
		margin-right:7px;
	}
	.markTtl strong{
		margin-top:12px;
		font-size:28px;
	}
	body:not(.home) #hnMain{background-size:120% auto;}
	#hnMain{padding-bottom:70px;}
	#hnBtm{padding:70px 0 66px;}
	.telBtmBox{
		margin-top:34px;
		padding:30px 2vw;
	}
	.telNumBox span{
		padding:3px 12px;
		font-size:16px;
		border-radius:12px;
	}
	.telNumBox a{
		margin-left:20px;
		font-size:28px;
	}
	.telCaution{
		margin-top:14px;
		font-size:14px;
	}
	.breadcrumbs{
		width:92vw;
		margin:20px auto 46px;
		font-size:13px;
	}
	.breadcrumbs li:not(:first-child):before{
		width:8px;
		height:8px;
		margin:0 4px;
	}
	.secBox{
		padding:40px 6.0%;
		border-radius:16px;
	}
	.newsList a[data-btn]{padding-right: 40px;}
	.newsList a[data-btn] svg{top:calc(50% - 14px);}
	.newsLink{
		margin-top: 36px;
		text-align: center;
	}
	.newsList li{padding-bottom:20px;}
	.newsList li+li{padding-top:20px;}
	.newsList time{font-size: 16px;}
	.newsTag{
		margin-left: 10px;
		font-size: 16px;
	}
	.newsTag a{
		padding:4px 12px;
		border-radius: 15px;
	}
	.newsList a[data-btn]{
		margin-top:-26px;
		padding-top:26px;
	}
	.newsTxt{margin-top:12px;}
	.pageTtl{
		margin-bottom:36px;
		font-size:32px;
	}
	.medicalList{
		grid-template-rows: repeat(auto-fill,auto);
		margin-top:24px;
	}
	.medicalBoxLink{
		height: 60px;
		border-radius:8px;
	}
	.medicalBoxLink .logo{
		width:30px;
		top:8px;
		left:8px;
	}
	.medicalBoxLink svg:not([class]){
		width:30px;
		bottom: 8px;
		right: 8px;
	}
	.medicalBoxLink small{
		margin-top:6px;
		font-size:min(10px,2.564vw);
	}
	.tblScroll{
		width:100%;
		overflow-x:auto;
		overflow-y:hidden;
	}
	.dutyTbl{
		min-width:840px;
		border-radius:10px;
	}
	.dutyTbl th{font-size:14px;}
	.dutyTbl td{font-size:13px;}
}
@media screen and (max-width:479.98px){
	.medicalList{
		grid-template-columns:repeat(2,48.5%);
		gap:12px 3%;
	}
	.medicalBoxLink{font-size: min(15px,3.3vw);}
}
@media screen and (min-width:480px) and (max-width:767.98px){
	.medicalList{
		grid-template-columns:repeat(3,32%);
		gap:12px 2%;
	}
	.medicalBoxLink{font-size: min(15px,2.4vw);}
}
@media screen and (min-width:768px){
	body{font-size:min(1.25vw,16px);}/*÷1280*/
	*[data-notb]{display:none!important;}
	*[data-btn] span{font-size:min(20px,1.5625vw);}
	*[data-btn] svg{margin-left:min(16px,1.25vw);}
	*[data-btn] svg:not([class]){width:min(42px,3.28125vw);}
	.markTtl small{font-size:min(24px,1.875vw);}
	.markTtl small:before{
		width:min(21px,1.641vw);
		height:min(21px,1.641vw);
		margin-right:min(10px,0.781vw);
	}
	.markTtl strong{
		margin-top:min(16px,1.25vw);
		font-size:min(40px,3.125vw);
	}
	#hnMain{padding-bottom:min(100px,7.813vw);}
	#hnBtm{padding:min(80px,6.25vw) 0 min(95px,7.422vw);}
	.telBtmBox{
		margin-top:min(48px,3.75vw);
		padding:min(44px,3.438vw) min(10px,0.781vw);
	}
	.telNumBox span{
		padding:min(4px,0.313vw) min(16px,1.25vw);
		font-size:min(24px,1.875vw);
		border-radius:min(16px,1.25vw);
	}
	.telNumBox a{
		margin-left:min(30px,2.344vw);
		font-size:min(56px,4.375vw);
	}
	.telCaution{
		margin-top:min(20px,1.563vw);
		font-size:min(20px,1.563vw);
	}
	.breadcrumbs{
		width:min(92%,1280px);
		margin:min(24px,1.876vw) auto min(94px,7.34375vw);
		font-size: min(16px,1.25vw);
	}
	.breadcrumbs li:not(:first-child):before{
		width:min(12px,0.9375vw);
		height:min(12px,0.9375vw);
		margin:0 min(4px,0.3125vw);
	}
	.secBox{
		padding:min(80px,6.25vw);
		border-radius:min(16px,1.25vw);
	}
	.newsList li{padding-bottom: min(14px,1.094vw);}
	.newsList li+li{padding-top: min(22px,1.719vw);}
	.newsList a[data-btn]{padding-right: min(90px,7.031vw);}
	.newsList a[data-btn] svg{top: calc(50% - min(21px,1.641vw));}
	.newsList time{font-size: min(20px,1.563vw);}
	.newsTag{
		margin-left: min(16px,1.25vw);
		font-size: min(16px,1.25vw);
	}
	.newsTag a{
		padding:min(6px,0.469vw) min(12px,0.938vw);
		border-radius: min(15px,1.172vw);
	}
	.newsList a[data-btn]{
		margin-top:max(-28px,-2.1875vw);
		padding-top:min(28px,2.1875vw);
	}
	.newsTxt{
		margin-top: min(12px,0.938vw);
		font-size: min(16px,1.25vw);
	}
	.pageTtl{
		margin-bottom:min(48px,3.75vw);
		font-size:min(40px,3.125vw);
	}
	.medicalList{
		grid-template-columns:repeat(4,22.297%);
		grid-template-rows: repeat(auto-fill,auto);
		gap:min(16px,1.25vw) 3.604% ;
		margin-top:min(26px,2.031vw);
	}
	.medicalBoxLink{
		height: min(84px,6.563vw);
		border-radius: min(10px,0.781vw);
		font-size: min(20px,1.563vw);
	}
	.medicalBoxLink .logo{
		width:min(42px,3.281vw);
		top:calc(50% - min(21px,1.641vw));
		left:min(13px,1.016vw);
	}
	.medicalBoxLink svg:not([class]){
		width:min(33px,2.578vw);
		bottom: min(8px,0.625vw);
		right: min(9px,0.703vw);
	}
	.medicalBoxLink small{
		margin-top: min(7px,0.547vw);
		font-size: min(14px,1.094vw);
	}
	.dutyTbl{border-radius:min(20px,1.5625vw);}
	.dutyTbl th,
	.dutyTbl td{padding:min(16px,1.25vw) min(8px,0.625vw);}
	.dutyTbl th{font-size:min(20px,1.5625vw);}
	.dutyTbl td{font-size:min(16px,1.25vw);}
}
@media screen and (min-width:768px) and (max-width:1279.98px){
	*[data-low]{
		padding-right: 2vw;
		padding-left: 2vw;
	}
}
@media screen and (min-width:768px) and (max-width:1919.98px){
	body:not(.home) #hnMain{background-size:120% auto;}
}
@media screen and (min-width:1280px){
	body{padding-top:100px;}
	*[data-sp]{display:none!important;}
	*[data-low]{
		padding-right: calc(50% - 640px);
		padding-left: calc(50% - 640px);
	}
	#hnHeader,
	#globalNavi{padding:17px 40px;}
	.hdLogo{width:230px;}
	#globalNavi{
		width:calc(100% - 290px);
		display:grid;
		grid-template:"gnav hdTel" auto / 1fr 290px;
		column-gap:80px;
		top:0;
		right:0;
		padding-left:0;
		z-index:1001;
	}
	.mainList{
		grid-area:gnav;
		display:flex;
		align-items:center;
		justify-content:flex-end;
		font-size:16px;
	}
	.mainList > li{position:relative;}
	.mainList summary:before{
		content:"";
		display:block;
		width:100%;
		height:50px;
		position:absolute;
		top:100%;
		left:0;
	}
	.mainList summary:after{
		width:11px;
		height:7px;
		margin-left:8px;
	}
	.mainSub{
		width:264px;
		position:absolute;
		top:calc(100% + 42px);
		left:calc(50% - 132px);
		padding:12px 24px;
		background-color:var(--white-color);
		border-radius:20px;
		box-shadow: 0px 8px 10px -6px rgba(0, 0, 0, 0.3);
		pointer-events:none;
	}
	.mainList details[open] .mainSub{pointer-events:auto;}
	.mainSub li+li{border-top:2px #b7b7b7 dotted;}
	.mainSub a{padding:18px 0;}
	.mainSub a svg:not([class]){width:22px;}
	.hdTel{grid-area:hdTel;}
	.hdTel .telNumBox span{
		padding:4px 16px;
		border-radius:11px;
		font-size:14px;
	}
	.hdTel .telNumBox a{
		margin-left:16px;
		font-size:32px;
		letter-spacing:0.5px;
	}
	.hdTel .telCaution{
		margin-top:12px;
		font-size:14px;
	}
	#hnFooter{
		display:grid;
		grid-template:"ftLogo ftNavi" auto "ftAdd ftNavi" 1fr "copy copy" auto / 230px 1fr;
		padding:40px calc(50% - 631px) 52px;
	}
	.ftLogo{grid-area:ftLogo;}
	.ftAdd{
		grid-area:ftAdd;
		margin-top:20px;
	}
	.ftMenu{
		grid-area:ftNavi;
		display:flex;
		justify-content:flex-end;
	}
	.ftMenu a{color:var(--main-color);}
	.ftMenu > li > a,
	.ftMenuTtl{
		margin-bottom:20px;
		font-weight:bold;
		font-size:16px;
	}
	.ftMenu > li+li{margin-left:38px;}
	.ftSub{font-size:14px;}
	.ftSub li{margin-bottom:14px;}
	.ftSub li:before{
		content:"-";
		display:inline-block;
		margin-right:2px;
	}
	#copyrights{
		grid-area:copy;
		margin-top:60px;
		font-size:16px;
	}
}
@media screen and (min-width:1280px) and (max-width:1339.98px){
	.mainList > li+li{margin-left:16px;}
}
@media screen and (min-width:1340px){
	.mainList > li+li{margin-left:38px;}
}
@media screen and (min-width:1980px){
	body:not(.home) #hnMain{background-size:1920px auto;}
}