@charset "UTF-8";
.spacer10{
	height: 10px
}
.spacer20{
	height: 20px
}
.spacer30{
	height: 30px
}
.spacer40{
	height: 40px
}
.spacer60{
	height: 60px
}
.spacer80{
	height: 80px
}
.ib{
	display: inline-block
}

.gray-list{
	background: #f7f7f7;
	padding: 20px;
	border-radius: 10px;
	margin-top: 10px;
}
.gray-list li{
	display: flex;
}
.gray-list li h5{
	font-size: 15px;
	line-height: inherit
}
.gray-list li h5::before{
	content: "・"
}
.gray-list li h5+p::before{
	content: "："
}
.basic-list{
	margin-top: 10px;
}
.basic-list li{
	display: flex;
}
.basic-list li::before{
	content: "・"
}

.num-list li{
	display: flex
}

.flow-list{
	display: flex;
	gap:40px;
	flex-wrap: wrap;
	font-weight: bold;
}
.flow-list li{
	width: calc((100% - 120px) / 4);
	border-radius: 10px;
	background: #EEE;
	position: relative;
	padding: 35px 10px 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	text-align: center;
	border: solid 2px #0F4C81;
}
.flow-list li+li:before {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 12px 0 12px 16px;
  border-color: transparent transparent transparent #0F4C81;
  position: absolute;
  top: 0;
  left: -28px;
  bottom: 0;
  margin: auto;
	pointer-events: none;
}
.flow-list li strong{
	border: solid 2px #0F4C81;
	position: absolute;
	padding: 5px 10px;
	background: #0F4C81;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 30px;
	top: -15px;
	left: 0;
	right: 0;
	border-radius: 100px;
	margin: auto;
	width: 120px;
	font-size: 16px;
}
@media screen and (max-width: 768px){
	.flow-list{
	gap:40px;
}
.flow-list li{
	width: 100%;
	padding: 35px 10px 20px;
}
.flow-list li+li:before {
  content: '\25BC';
  width: auto;
  height: auto;
	text-align: center;
	border: none;
  top: -54px;
  left: 0;
  bottom: 0;
	right: 0;
  margin: auto;
	color: #0F4C81;
	
}
}

.flex-title{
	font-size: inherit;
}
.flex-title + p{
	padding-left: 30px
}
p + .flex-title{
	margin-top: 10px;
}
/* ---------------------------------------------------------------------------
//  top
--------------------------------------------------------------------------- */
.mv {
  background: url(../img/mv.jpg) center bottom / cover no-repeat;
  width: 100%;
  height: calc(100% - 85px);
  position: relative;
  top: -98px;
}
.mv .text {
  text-align: center;
  color: #fff;
  padding-top: 140px;
}
.mv .text h1 {
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  font-size: 55px;
}
.mv .text h2 {
  font-size: 18px;
}
.mv .reception {
  position: absolute;
  bottom: -50px;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  padding: 30px 40px;
  width: 800px;
  background: rgba(15,76,129,0.5);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.mv .reception h2 {
  font-size: 18px;
}
.mv .reception .title {
  margin-right: 20px;
}
.mv .reception .phone p {
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  font-size: 24px;
  letter-spacing: .1em;
  line-height: 1.2;
  display: inline-block;
}
.mv .reception .phone span {
  font-size: 13px;
  letter-spacing: 0;
  display: block;
}
.mv .reception .phone::before {
  content: "\f879";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 30px;
  display: inline-block;
  vertical-align: 6px;
  transform: rotate(40deg);
}
.mv .reception dl { line-height: 1.4; }
.mv .reception dl dt { width: 4em; float: left; clear: left; }
.mv .reception dl dd { padding: 0 0 5px 4em; }

.mv .reception .faq-bnr {
  margin-top: 10px;
  display: flex;
  align-items: center;
  width: 240px;
  background: #FCF325;
  border: 1px solid #184C81;
  padding: 2px 10px;
  color: #184C81;
  font-weight: 700;
}
.mv .reception .faq-bnr .fa-arrow-right {
  margin-left: auto;
}
.mv .reception .faq-bnr .fa-question-circle {
  margin-right: 5px;
}


.top-news {
  margin-top: 200px;
}
.top-news h2.head::after {
  content: "";
  background: url(../img/diagonal.jpg) center center repeat;
  width: 320px;
  height: 370px;
  position: absolute;
  top: -85px;
  left: -65px;
  z-index: -1;
}

.top-news .title { width: 37%; }
.top-news .pickup-item { width: 100%; }
.top-news .pickup-item a {
  display: block;
  background: #fff;
  box-shadow: 0 30px 30px 2px rgba(0,0,0,0.1);
}
.top-news .pickup-item .text {
  font-size: 14px;
  line-height: 1.2;
  padding: 15px;
  position: relative;
}
.top-news .pickup-item .text::after {
  content: "Pick up";
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 16px;
}
.top-news .pickup-item .text p {
  width: 80%;
}

.news-list { width: 55%; /*min-height: 485px;*/ position: relative; }
.news-list.nopickup { width: 65%; }
.news-menu { margin-bottom: 30px; }
.news-menu li { font-weight: 700; cursor: pointer; }
.news-menu li:hover { opacity: .7; }
.news-menu li.all.tab-active { color: #FFD338; border-bottom: 2px solid #FFD338; }
.news-menu li.cat1.tab-active { color: #FB9130; border-bottom: 2px solid #FB9130; }
.news-menu li.cat2.tab-active { color: #56D47E; border-bottom: 2px solid #56D47E; }
.news-menu li.cat3.tab-active { color: #00B2C4; border-bottom: 2px solid #00B2C4; }
.news-menu li.cat4.tab-active { color: #777; border-bottom: 2px solid #777; }
.news-menu li.cat5.tab-active { color: deepskyblue; border-bottom: 2px solid deepskyblue; }
.news-menu li.cat5{
	display: none
}
.news-items li { border-bottom: 1px solid #A9A9A9; padding-bottom: 20px; margin-bottom: 20px; }
.news-items li:last-child { border-bottom: none; 
/*  padding-bottom: 0;*/
  margin-bottom: 0; }
.news-items li a { display: block; }
.news-items li a .cats{
  display: flex;
  gap:10px;
  margin-bottom: 5px;
}
.news-items li a .cats .cat{
  width: calc((100% - 40px) / 5);
    padding: 2px;
  border-radius: 5px;
  text-align: center;
    font-size: 12px;
  max-width: 102px;
  font-weight: bold;
}
.news-items li a .cats .cat1{
  border: 1px solid #FB9130;
  color: #FB9130;
}.news-items li a .cats .cat2{
 color: #56D47E; border: 1px solid #56D47E;
}.news-items li a .cats .cat3{
  color: #00B2C4; border: 1px solid #00B2C4; 
}.news-items li a .cats .cat4{
  color: #777; border: 1px solid #777;
}.news-items li a .cats .pickup{
  color: red; border: 1px solid red;
  font-size: 0!important;
}
.news-items li a .cats .pickup::before{
  content: "Pick Up";
  font-size: 12px!important;
}
.news-items li dl{display: flex;}
.news-items li dl dt {
  width: 100px;
/*
  float: left;
  clear: left;
*/
  color: #A9A9A9;
  position: relative;
  padding-left: 0
}
.news-items li dl dd {
  /*white-space: nowrap;
  text-overflow: ellipsis;*/
  overflow: hidden;
  width: calc(100% - 100px);
  max-height: 60px;
}

.news-items li dt::before {
  display: block;
  text-align: center;
  font-size: 13px;
  font-size: 12px;
  width: 90px;
  padding: 2px;
  border-radius: 5px;
  position: absolute;
  top: 0;
  left: 0;
  display: none
}
/*
.news-items li.cat1 dt::before { content: "患者様へ"; color: #FB9130; border: 1px solid #FB9130; }
.news-items li.cat2 dt::before { content: "ご家族の方へ"; color: #56D47E; border: 1px solid #56D47E; }
.news-items li.cat3 dt::before { content: "医療関係者様へ"; color: #00B2C4; border: 1px solid #00B2C4; }
.news-items li.cat4 dt::before { content: "採用情報"; color: #777; border: 1px solid #777; }
.news-items li.cat5 dt::before { content: "お知らせ"; color: deepskyblue;; border: 1px solid deepskyblue;; }
*/

.news-list a.btn {
  display: block;
  text-align: center;
  padding: 10px;
  background: #0F4C81;
  color: #fff;
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  bottom: -60px;
}



.news-single .date {
  position: relative;
/*  padding-left: 110px;*/
}
.news-single .date::before {
  display: block;
  text-align: center;
  font-size: 13px;
  width: 100px;
  padding: 2px;
  border-radius: 5px;
  position: absolute;
  top: 0;
  left: 0;
  display: none
}
/*
.news-single .cat1::before { content: "患者様へ"; color: #FB9130; border: 1px solid #FB9130; }
.news-single .cat2::before { content: "ご家族の方へ"; color: #56D47E; border: 1px solid #56D47E; }
.news-single .cat3::before { content: "医療関係者様へ"; color: #00B2C4; border: 1px solid #00B2C4; }
.news-single .cat4::before { content: "採用情報"; color: #777; border: 1px solid #777; }
.news-single .cat5::before { content: "お知らせ"; color: deepskyblue; border: 1px solid deepskyblue; }
*/
.news-single .cats{
  display: flex;
  gap:10px;
  margin-bottom: 5px;
}
.news-single .cats .cat{
  width: calc((100% - 40px) / 5);
    padding: 2px;
  border-radius: 5px;
  text-align: center;
    font-size: 12px;
  max-width: 102px;
}
.news-single .cats .cat1{
  border: 1px solid #FB9130;
  color: #FB9130;
}.news-single .cats .cat2{
 color: #56D47E; border: 1px solid #56D47E;
}.news-single .cats .cat3{
  color: #00B2C4; border: 1px solid #00B2C4; 
}.news-single .cats .cat4{
  color: #777; border: 1px solid #777;
}.news-single .cats .pickup{
  color: red; border: 1px solid red;
 font-size: 0!important;
}
.news-single .cats .pickup::before{
  content: "Pick Up";
  font-size: 12px!important;
}
.news-single h1 {
  font-size: 20px;
  color: #0F4C81;
  margin: 20px 0 30px;
  margin-top: 0
}
.news-single .content img { max-width: 100%; height: auto; }

.news-single .backbtn ul { display: flex; justify-content: flex-end; margin-top: 30px;flex-wrap: wrap}
.news-single .backbtn ul li { margin-left: 10px; }
.news-single a.btn {
  display: block;
  font-size: 14px;
  color: #0F4C81;
  padding: 5px 15px;
  width: 100%;
  border: 1px solid #0F4C81;
  position: relative;
}
.news-single a.btn:hover {
  background: #0F4C81;
  color: #fff;
}

.top-contents {
  padding-top: 120px;
  background: url(../img/top-contents-bg.jpg) center center / 1100px auto no-repeat;
}
.top-contents .btns {
  margin-top: 280px;
}
.top-contents .btns a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 50px 0;
  font-size: 16px;
  letter-spacing: .2em;
  padding-left: .2em;
  box-shadow: 0 20px 30px 2px rgba(0,0,0,0.1), 0 0 0 2px #A2E4E8 inset;
}
.top-contents .btns a:hover {
  opacity: 1;
  color: #fff;
  box-shadow: 0 20px 30px 2px rgba(0,0,0,0.1);
}

.top-contents .btns a:nth-child(1) { background: url(../img/top-contents-outpatient.png) center center / cover no-repeat #fff; }
.top-contents .btns a:nth-child(2) { background: url(../img/top-contents-hospitalization.png) center center / cover no-repeat #fff; }
.top-contents .btns a:nth-child(3) { background: url(../img/top-contents-schedule.png) center center / cover no-repeat #fff; }
.top-contents .btns a:nth-child(4) { background: url(../img/top-contents-closed.png) center center / cover no-repeat #fff; }
.top-contents .btns a:hover:nth-child(1) { background: url(../img/top-contents-outpatient2.png) center center / cover no-repeat #0F4C81; }
.top-contents .btns a:hover:nth-child(2) { background: url(../img/top-contents-hospitalization2.png) center center / cover no-repeat #0F4C81; }
.top-contents .btns a:hover:nth-child(3) { background: url(../img/top-contents-schedule2.png) center center / cover no-repeat #0F4C81; }
.top-contents .btns a:hover:nth-child(4) { background: url(../img/top-contents-closed2.png) center center / cover no-repeat #0F4C81; }

.top-other { margin-top: 140px; padding-top: 100px; position: relative; }
.top-other .bg { position: absolute; top: 0; left: 0; z-index: -1; width: 100%; height: 390px; }
.top-other .bg div:nth-child(1) { background: #A2E4E8; height: 100%; }
.top-other .bg div:nth-child(2) { background: url(../img/top-other-bg.png) top right / cover no-repeat; height: 100%; }
.top-other .btns a { color: #0F4C81; text-align: center; }
.top-other .other-bnr{
	transition: .2s;
	display: block
}
.top-other .other-bnr+.other-bnr{
	margin-top: 30px;
}
.top-other .other-bnr:hover{
	opacity: .8!important
}
.top-facilities { margin-top: 140px; padding-top: 100px; position: relative; background: linear-gradient(to bottom, #eee 0%, #fff 500px); }
#facilities-slide .filter { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(15,76,129,0.5); transition: .3s; }
#facilities-slide .filter p { color: #fff; font-weight: 700; position: absolute; left: 20px; bottom: 20px; }
#facilities-slide .slick-slide a:hover { opacity: 1; }
#facilities-slide .slick-slide a:hover .filter { background: none; }
#facilities-slide .slick-slide a:hover .filter::after {
  content: "\f00e";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 30px;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: rgba(0,178,196,0.8);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.top-group { margin-top: 200px; background: url(../img/top-group-bg.jpg) center bottom / cover no-repeat; }
.top-group .bnrs a { margin-bottom: 20px; }
.top-group .bnrs a .text { width: 47%; text-align: center; padding: 30px; }
.top-group .bnrs a .text h3 { font-family: "Noto Serif JP", serif; font-size: 24px; font-weight: 400; margin-bottom: 5px; }
.top-group .bnrs a .text .cat { display: table; padding: 2px 20px; color: #fff; font-weight: 700; border-radius: 30px; margin: 0 auto 10px; }
.top-group .bnrs a .text p { font-size: 14px; line-height: 1.6; }
.top-group .bnrs a .image { width: 53%; position: relative; }
.top-group .bnrs a .image p {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: #0F4C81;
  font-size: 13px;
  color: #fff;
  padding: 3px 10px;
  z-index: 2;
}
.top-group .bnrs a:nth-child(1) .text { background: #e4d3af; }
.top-group .bnrs a:nth-child(2) .text { background: #e5eea6; }
.top-group .bnrs a:nth-child(3) .text { background: #cce9b3; }
.top-group .bnrs a:nth-child(4) .text { background: #b1d2b9; }
.top-group .bnrs a:nth-child(5) .text { background: #c5d5e4; }
.top-group .bnrs a:nth-child(1) .text .cat { background: #c6b09d; }
.top-group .bnrs a:nth-child(2) .text .cat { background: #cbd566; }
.top-group .bnrs a:nth-child(3) .text .cat { background: #c0d187; }
.top-group .bnrs a:nth-child(4) .text .cat { background: #96c691; }
.top-group .bnrs a:nth-child(5) .text .cat { background: #8fabd2; }

.top-access { margin-top: 200px; }
.googlemap { width: 100%; height: 560px; padding-top: 29px; position: relative; padding-top: 0;}
.googlemap::before {
  content: "";
  display: block;
  width: 1000px;
  height: 58px;
  background: #0F4C81;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);content: none;
}
.googlemap > iframe { width: 100%; height: 100%; }
.page__access .googlemap { padding-top: 0; }
.page__access .googlemap::before { content: none; }

.top-access .proflile { display: table; text-align: center; margin: 50px auto; }
.top-access .proflile h3 { font-size: 24px; margin-bottom: 10px; }
.top-access .proflile p.tel { font-size: 24px; margin-right: 60px; }
.top-access .fas { color: #00B2C4; font-size: 24px; }
.top-access .access-list { border-top: 1px solid #A9A9A9; padding-top: 50px; }
.top-access .access-list h4 { font-size: 15px; margin-bottom: .5em; }

/* ---------------------------------------------------------------------------
//  sec
--------------------------------------------------------------------------- */
.cat__department h3.base { font-size: 18px; margin-bottom: 5px; }
.cat__department .staff { margin-bottom: 100px; font-family: "Noto Serif JP", serif; font-weight: 400; }
.cat__department .staff .photo { margin-bottom: 20px; }
.cat__department .staff .name { text-align: center; font-size: 20px; font-weight: 500; margin-bottom: 20px; }
.cat__department .staff .name span { display: block; font-size: 15px; }
.cat__department .staff dl { margin-bottom: 1em; }
.cat__department .staff dl dt { width: 5em; float: left; clear: left; color: #0F4C81; }
.cat__department .staff dl dd { padding: 0 0 5px 5em; }
.cat__department .no-photo { padding-top: 100px; border-top: 1px solid #A9A9A9; }
.cat__department .intro p + p { margin-top: 1em; }
.cat__department .photos { margin-top: 80px; }
.cat__department .photos.half { justify-content: center; }
.cat__department .photos.half > div { width: 30%; }
.cat__department .photos.half > div:nth-child(1) { margin-right: 5%; }

.page__internal .intro p { margin-bottom: 2.5em; }

/* --------------------------------------------------------------------------- */

.page__rehabilitation .intro .item { margin-top: 80px; }

.page__greeting .greeting h2.copy { font-family: "Noto Serif JP", serif; font-size: 30px; font-weight: 400; }
.page__greeting .greeting p { font-family: "Noto Serif JP", serif; font-size: 16px; line-height: 2.4; }
.page__greeting .greeting .name { margin: 40px 0 0 auto; width: 180px; }
.greeting01 { position: relative; }
.greeting01 .inner { padding-top: 200px; }
.greeting01 .bg { position: absolute; top: 0; left: 0; z-index: -1; width: 100%; height: 700px; background: url(../img/greeting01.jpg) center bottom / cover no-repeat; }

.page__outline .outline dt { width: 10em; float: left; clear: left; color: #0F4C81; }
.page__outline .outline dd { padding: 0 0 20px 10em; margin-bottom: 20px; border-bottom: 1px dotted #A9A9A9; }
.page__outline .history > dt { width: 100px; float: left; clear: left; color: #0F4C81; font-family: "Noto Serif JP", serif; font-size: x-large; line-height: 1; }
.page__outline .history > dd { padding: 0 0 20px 100px; margin-bottom: 20px; border-bottom: 1px dotted #A9A9A9; min-height: 40px; }
.page__outline .history .month dt { color: #0F4C81; width: 3em; float: left; }
.page__outline .history .month dd { padding: 0 0 10px 3em; }

.page__philosophy .philosophy { font-family: "Noto Serif JP", serif; font-size: 24px; text-align: center; }
.page__philosophy .basic-policy { font-family: "Noto Serif JP", serif; font-size: 18px; display: table; margin: 0 auto; }
.page__philosophy .basic-policy li { line-height: 1.6; padding-bottom: .5em; }
.page__philosophy .conduct-frame { display: table; margin: 0 auto 30px; padding: 40px 100px; background: #deebf5; border-radius: 10px; }
.page__philosophy h3.conduct { font-family: "Noto Serif JP", serif; font-size: 20px; color: #00B2C4; text-align: center; margin-bottom: 30px; }
.page__philosophy dl.conduct { font-family: "Noto Serif JP", serif; font-size: 18px; }
.page__philosophy dl.conduct > dt { width: 8em; float: left; clear: left; }
.page__philosophy dl.conduct > dd { padding: 0 0 5px 8em; }
.page__philosophy dl.conduct > dd:first-letter { color: #00B2C4; font-weight: 700; }
.page__philosophy .name { text-align: right; margin-top: 1em; }
.page__philosophy div.rights { display: table; margin: 0 auto; }
.page__philosophy div.rights h3.copy { font-family: "Noto Serif JP", serif; font-size: 20px; font-weight: 400; color: #0F4C81; }
.page__philosophy ul.rights { font-family: "Noto Serif JP", serif; font-size: 16px; }
.page__philosophy ul.rights li { line-height: 1.6; padding-bottom: .5em; }

.page__standard .intro .flex + h2.letter { margin-top: 80px; }

.page__recognition .images { margin: 0 auto 40px; width: 50%; }
.page__recognition .images .btn { display: block; margin-top: 10px; padding: 5px; background: #00B2C4; color: #fff; text-align: center; }
.page__recognition .intro p + p { margin-top: 1em; }

.page__safety dl.staff > dt { width: 25em; float: left; clear: left; }
.page__safety dl.staff > dd { padding: 0 0 5px 25em; }

.page__nst .intro .image { width: 500px; margin: 30px auto 0; }
.page__nst .list { display: table; margin: 0 auto 60px; font-family: "Noto Serif JP", serif; font-size: 18px; }
.page__nst .rounding { margin-top: 10px; font-weight: 700; color: #0F4C81; }
.page__nst .right { margin-top: 20px; text-align: right; }

.page__infection .intro h2 { font-family: "Noto Serif JP", serif; font-size: 18px; font-weight: 400; color: #0F4C81; margin: 2em 0 5px; }
.page__infection .intro h2:first-child { margin-top: 0; }
.page__infection .intro ul.default li { text-indent: -3em; padding-left: 3em; }

.page__sakuranbo .annual li::before { content: "●"; font-size: 8px; color: #0F4C81; vertical-align: 2px; margin-right: 5px; }
.page__sakuranbo .image { border-radius: 10px; overflow: hidden; }
.page__sakuranbo .fee .t1 { width: calc(100% * 2 / 3); }
.page__sakuranbo .fee .t1 th,
.page__sakuranbo .fee .t1 td { width: 50%; }
.page__sakuranbo .fee .t2 th,
.page__sakuranbo .fee .t2 td { width: calc(100% / 3); }
.page__sakuranbo .fee ul + table.basic { margin-top: 60px; }
.page__sakuranbo .day { position: relative; }
.page__sakuranbo .day dl { max-width: 550px; }
.page__sakuranbo .day dt { width: 8em; float: left; clear: left; color: #0F4C81; }
.page__sakuranbo .day dd { padding: 0 0 20px 8em; margin-bottom: 20px; border-bottom: 1px dotted #A9A9A9; }
.page__sakuranbo .day .image { position: absolute; z-index: 1; width: 35%; }
.page__sakuranbo .day .i1 { top: 0; right: 50px; }
.page__sakuranbo .day .i2 { top: 500px; right: 0; }
.page__sakuranbo .annual > dl {
  display: flex;
  min-height: 120px;
  margin-bottom: 40px;
}
.page__sakuranbo .annual > dl dt {
  border: 2px solid #0F4C81;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  font-family: 'Kosugi Maru', sans-serif;
  font-weight: 400;
  font-size: 34px;
  color: #0F4C81;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  margin-right: 20px;
}
.page__sakuranbo .annual > dl dt p { margin-right: -12px; }
.page__sakuranbo .annual > dl dt span { font-size: 18px; }
.page__sakuranbo .right { text-align: right; }
.page__sakuranbo .photos { margin-top: 60px; }
.page__sakuranbo .goals h3 { font-size: 18px; color: #0F4C81; }
.page__sakuranbo .goals p + h3 { margin-top: 40px; }

.page__privacy .intro h2 { font-family: "Noto Serif JP", serif; font-weight: 500; }
.page__privacy .intro h3 { font-family: "Noto Serif JP", serif; font-size: 20px; font-weight: 400; color: #0F4C81; text-align: center; margin: 4em 0 2em; }
.page__privacy .intro h3 + p { font-family: "Noto Serif JP", serif; font-size: 24px; text-align: center; margin-bottom: 2em; }
.page__privacy .intro h4 { font-family: "Noto Serif JP", serif; font-size: 18px; font-weight: 400; margin: 4em 0 10px; border-bottom: 1px dotted #A9A9A9; padding-bottom: 10px; }
.page__privacy .intro h4:last-of-type { border-bottom: none; }
.page__privacy .intro h5 { font-family: "Noto Serif JP", serif; font-size: 16px; font-weight: 400; margin-top: 2em; }
.page__privacy .intro .right { margin-top: 1em; text-align: right; }

.page__safety .base h3 { font-size: 18px; margin-bottom: 5px; }
.page__safety .text h2 { font-family: "Noto Serif JP", serif; font-size: 20px; font-weight: 400; color: #0F4C81; text-align: center; margin: 4em 0 2em; }
.page__safety .text h3 { font-family: "Noto Serif JP", serif; font-size: 18px; font-weight: 400; margin: 4em 0 10px; border-bottom: 1px dotted #A9A9A9; padding-bottom: 10px; }
.page__safety .text h4 { font-family: "Noto Serif JP", serif; font-size: 16px; font-weight: 400; margin-top: 2em; }

.cat__patient .bottom { margin-bottom: 1em; }
.cat__patient .cashcard { justify-content: flex-end; }
.cat__patient .cashcard > div { margin-left: 15px; }

.page__outpatient .outpatient1 { width: 270px; }
.page__outpatient .outpatient1 { width: 285px; }

.page__outpatient .outpatient1 dt { width: 5em; float: left; clear: left; }
.page__outpatient .outpatient1 dd { padding: 0 0 0 5em; text-align: right; }
.page__outpatient .outpatient2 { margin-bottom: 1em; }
.page__outpatient .outpatient2 dt { width: 7em; float: left; clear: left; }
.page__outpatient .outpatient2 dd { padding: 0 0 0 7em;  }
.page__outpatient h3 { font-size: 15px; margin-bottom: .5em; }
.page__outpatient .big { font-size: 16px; }

.page__hospitalization .frame { margin: 1em; padding: 20px; }
.page__hospitalization .time {
  display: table;
  margin: 1em auto;
  font-size: 20px;
  text-align: center;
}
.page__hospitalization .time dt { width: 7em; float: left; clear: left; padding: 10px; background: #0F4C81; color: #fff; }
.page__hospitalization .time dd { padding: 10px 2em 10px 9em; background: #EEEEEE; }

.page__hospitalization .sub{
	font-size: 15px;
	text-indent: -1em
}
.page__hospitalization .flex-list li{
	display: flex;
		text-indent: 0
}
.page__staff .title { margin-bottom: -50px; }
.page__staff .title h3 {
  font-size: 20px;
  color: #0F4C81;
}
/*
table.staff { width: 100%; margin: 60px 0 5px; }
table.staff th,
table.staff td { border: 1px solid #A9A9A9; text-align: center; padding: 10px 3px; }
table.staff th { background: #0F4C81; color: #fff; font-weight: 500; width: 50px; }
table.staff td { background: #fff; line-height: 1.6; }
table.staff td:nth-last-child(-n+7) { width: 115px; }
table.staff td.ampm { background: #EEE; }
table.staff td.vertical { width: 45px; }
table.staff td.vertical span { -ms-writing-mode: tb-rl; writing-mode: vertical-rl; min-height: 3em; }
table.staff td.title { background: #eaf3fd; }
table.staff td .reservation { display: inline-block; vertical-align: 2px; background: #f27474; font-size: 10px; padding: 1px 3px; margin-left: .5em; border-radius: 5px; color: #fff; }
*/

table.staff { width: 100%; margin: 60px 0 5px; }
table.staff tbody td { border: 1px solid #A9A9A9; text-align: center; padding: 10px 3px; vertical-align: middle; }
table.staff tbody td { background: #fff; line-height: 1.6; }
table.staff tbody td:nth-last-child(-n+7) { width: 115px; }
table.staff tbody td.title { background: #eaf3fd; }
table.staff tbody td .reservation { display: inline-block; vertical-align: 2px; background: #f27474; font-size: 10px; padding: 1px 3px; margin-left: .5em; border-radius: 5px; color: #fff; }

table.staff .row-2 .column-1 { background: #0F4C81; color: #fff; font-weight: 500; width: 50px; }
#tablepress-1 .row-2 .column-2 { background: #EEE; width: 45px; }
#tablepress-1 .row-9 .column-2 { background: #DDD; width: 45px; }
#tablepress-1 .row-9 .column-2 span { -ms-writing-mode: tb-rl; writing-mode: vertical-rl; min-height: 3em; }
#tablepress-1 .row-2 .column-3,
#tablepress-1 .row-3 .column-3,
#tablepress-1 .row-4 .column-3,
#tablepress-1 .row-5 .column-3,
#tablepress-1 .row-6 .column-3,
#tablepress-1 .row-7 .column-3,
#tablepress-1 .row-8 .column-3,
#tablepress-1 .row-9 .column-3,
#tablepress-1 .row-10 .column-3,
#tablepress-1 .row-11 .column-3,
#tablepress-1 .row-12 .column-3,
#tablepress-1 .row-13 .column-3,
#tablepress-1 .row-14 .column-3{ background: #eaf3fd; }

#tablepress-2 .row-2 .column-2 { background: #EEE; }
#tablepress-2 .row-3 .column-2 { background: #DDD; }

#tablepress-3 .row-2 .column-2 { background: #EEE; }
#tablepress-3 .row-4 .column-2 { background: #DDD; }
#tablepress-3 .row-2 .column-3,
#tablepress-3 .row-3 .column-3,
#tablepress-3 .row-4 .column-3 { background: #eaf3fd; }

#tablepress-4 .row-2 .column-2 { background: #EEE; }
#tablepress-4 .row-3 .column-2 { background: #DDD; }
#tablepress-4 .row-2 .column-3,
#tablepress-4 .row-3 .column-3,
#tablepress-4 .row-4 .column-3 { background: #eaf3fd; }

#tablepress-5 .row-2 .column-2 { background: #EEE; }
#tablepress-5 .row-8 .column-2 { background: #DDD; }
#tablepress-5 .row-2 .column-3,
#tablepress-5 .row-3 .column-3,
#tablepress-5 .row-4 .column-3,
#tablepress-5 .row-5 .column-3,
#tablepress-5 .row-6 .column-3,
#tablepress-5 .row-7 .column-3,
#tablepress-5 .row-8 .column-3,
#tablepress-5 .row-9 .column-3,
#tablepress-5 .row-10 .column-3,
#tablepress-5 .row-11 .column-3,
#tablepress-5 .row-12 .column-3,
#tablepress-5 .row-13 .column-3,
#tablepress-5 .row-14 .column-3{ background: #eaf3fd; }

#tablepress-6 .row-2 .column-2 { background: #EEE; }
#tablepress-6 .row-3 .column-2 { background: #DDD; }
#tablepress-7 .row-2 .column-2 { background: #EEE; }
#tablepress-7 .row-3 .column-2 { background: #DDD; }
#tablepress-8 .row-2 .column-2 { background: #EEE; }
#tablepress-8 .row-3 .column-2 { background: #DDD; }

table.record { width: 100%; }
table.record tbody td { border: 1px solid #A9A9A9; text-align: left; padding: 10px; vertical-align: middle; line-height: 1.6; }
table.record tbody td:last-child { width: 200px; text-align: right; }
table.record tbody tr:last-child { background: #ffeed8; font-weight: 700; }
.tablepress-table-description.tablepress-table-description-id-9,
.tablepress-table-description.tablepress-table-description-id-10,
.tablepress-table-description.tablepress-table-description-id-11,
.tablepress-table-description.tablepress-table-description-id-12,
.tablepress-table-description.tablepress-table-description-id-13 { text-align: right; }
/*#tablepress-9 .row-1 td,
#tablepress-9 .row-8 td,
#tablepress-9 .row-14 td,
#tablepress-9 .row-27 td { background: #eaf3fd; font-weight: 700; }*/

#tablepress-9 .row-1 td,
#tablepress-9 .row-16 td,
#tablepress-9 .row-28 td,
#tablepress-9 .row-31 td,
#tablepress-9 .row-32 td,
#tablepress-9 .row-45 td { background: #eaf3fd; font-weight: 700; }

/*#tablepress-12 .row-1 td,
#tablepress-12 .row-6 td,
#tablepress-12 .row-11 td,
#tablepress-12 .row-14 td,
#tablepress-12 .row-15 td,
#tablepress-12 .row-16 td,
#tablepress-12 .row-17 td,
#tablepress-12 .row-18 td,
#tablepress-12 .row-19 td { background: #eaf3fd; font-weight: 700; }*/

#tablepress-13 .row-1 td { background: #eaf3fd; font-weight: 700; text-align: center; }
#tablepress-13 .column-2,
#tablepress-13 .column-3 { width: 150px; text-align: right; }

table.price { width: 100%; }
table.price tbody td { border: 1px solid #A9A9A9; text-align: left; padding: 10px; vertical-align: middle; line-height: 1.6; }
table.price tbody td:last-child { width: 200px; text-align: right; }
#tablepress-11 .row-1 td,
#tablepress-11 .row-4 td,
#tablepress-11 .row-6 td,
#tablepress-11 .row-8 td,
#tablepress-11 .row-12 td,
#tablepress-11 .row-16 td,
#tablepress-11 .row-20 td { background: #0F4C81; color: #fff; font-weight: 700; text-align: left; }
/*#tablepress-11 .row-4 .column-2,
#tablepress-11 .row-9 .column-2 { text-align: center; }*/

.page__schedule .day { font-size: 16px; font-weight: 700; }
.page__schedule table.schedule + .day { margin-top: 2em; }
.page__schedule table.schedule { width: 100%; }
.page__schedule table.schedule th,
.page__schedule table.schedule td { border: 1px solid #A9A9A9; padding: 10px; }
.page__schedule table.schedule td:nth-of-type(1) { width: 250px; }
.page__schedule table.schedule th { font-weight: 500; width: 200px; }
.page__schedule table.schedule th.internal { background: #f5f5c4; }
.page__schedule table.schedule th.surgery { background: #e5eeb9; }
.page__schedule table.schedule th.plastic { background: #f7e8f5; }
.page__schedule table.schedule th.orthopedic { background: #dfdff0; }
.page__schedule table.schedule th.dermatology { background: #f0dfd3; }
.page__schedule table.schedule th.anesthesia { background: #d1e7f8; }
.page__schedule table.schedule th.ophthalmology { background: #f0dca7; }
.page__schedule table.schedule th.rehabilitation { background: #e4e4e4; }
.page__schedule table.schedule th.general { background: #A2E4E8; }

.page__consultation .msw { margin: 1em; display: table; }
.page__consultation .msw > li {
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  background: #00B2C4;
  padding: 2px 15px 2px 5px;
  border-radius: 5px;
  margin-bottom: 10px;
}

.page__corporates section h3 { font-size: 16px; margin-bottom: .5em; }
.frame.checkup { padding: 40px; }
ul + .frame.checkup,
p + .frame.checkup { margin-top: 1em; }
.frame.checkup > .flex { justify-content: flex-start; }
.frame.checkup > .flex > ul:first-child { margin-right: 4em; }
.frame.checkup .price { display: flex; flex-wrap: wrap; margin: 2em 0; }
.frame.checkup .price dt { width: 200px; padding: 10px; background: #0F4C81; color: #fff; text-align: center; display: flex; justify-content: center; align-items: center; }
.frame.checkup .price dd { width: calc(100% - 200px); background: #EEEEEE; text-align: right; padding: 10px; font-size: 18px; }
.frame.checkup .option { display: flex; flex-wrap: wrap; margin: 2em 0; }
.frame.checkup .option dt { width: 200px; padding: 10px; background: #00B2C4; color: #fff; text-align: center; display: flex; justify-content: center; align-items: center; }
.frame.checkup .option dd { width: calc(100% - 200px); background: #EEEEEE; text-align: right; padding: 10px; }

.page__kyoukaikenpo h3  { font-size: 16px; }
.page__kyoukaikenpo .flow  { margin-top: 1em; }
.page__kyoukaikenpo .flow dl { display: flex; flex-wrap: wrap; margin-bottom: 2em; background: #EEEEEE; padding: 20px; }
.page__kyoukaikenpo .flow dl dt { text-align: center; display: flex; justify-content: center; align-items: center; }
.page__kyoukaikenpo .flow dl dt p { width: 50px; height: 50px; font-family: 'Oswald', sans-serif; border: 2px solid #0F4C81; border-radius: 50%; color: #0F4C81; font-size: 20px; text-align: center; display: flex; justify-content: center; align-items: center; margin-right: 20px; }
.page__kyoukaikenpo .flow dl dd { width: calc(100% - 70px); }
.page__kyoukaikenpo .attention dt { width: 4em; float: left; clear: left; }
.page__kyoukaikenpo .attention dd { padding: 0 0 0 4em; }
.page__kyoukaikenpo .btn { display: table; margin: 20px auto; padding: 10px 50px; background: #00B2C4; color: #fff; text-align: center; }

.page__doc .flex.row { margin-top: 100px; }
.doc-menu { margin: 100px 0 60px; }
.doc-menu .btn {
  text-align: center;
  background: #fff;
  box-shadow: 0 0 0 3px #A9A9A9 inset;
  padding: 20px;
  cursor: pointer;
  width: 18%;
}
.doc-menu .btn:hover { opacity: .7; }
.doc-menu .btn.tab-active { background: #00B2C4; box-shadow: none; color: #fff; }
.doc-content table.basic td { width: 20%; }
.doc-content .price { font-size: 20px; }
.doc-content .flex.marker { border-bottom: 1px dotted #A9A9A9; padding-bottom: 5px; margin-bottom: 5px; }
.doc-content .flex.marker > p:nth-child(1) { width: 100px; }
.doc-content .flex.marker > p:nth-child(2) { width: calc(100% - 300px); }
.doc-content .flex.marker > p:nth-child(3) { width: 200px; }

.page__mammography .intro p + h2.letter,
.page__mammography .intro .flex + h2.letter,
.page__custom .intro p + h2.letter,
.page__custom .intro .flex + h2.letter,
.page__cooperation .intro h2.letter,
.page__karte .intro h2.letter { margin-top: 80px; }

.page__plan .base h3 { font-size: 18px; margin-bottom: 5px; }
.page__plan .base p + h3 { margin-top: 40px; }

.page__plan .base dt {
  color: #0F4C81;
  font-weight: 700;
  width: 5em;
	width: 7em;
  float: left;
  clear: left;
}
.page__plan .base dd {
  padding: 0 0 0 5em;
	padding: 0 0 0 7em;
}
.page__plan .base dd li{gap:8px;}
.page__plan .base dd li span{
	width: 100px;
	flex-shrink: 0;
	white-space: nowrap
}
@media screen and (max-width: 768px){
	.page__plan .base dt {
float: none;
		width: 100%;
}
.page__plan .base dd {
	padding: 0;
}
	.page__plan .base dd li{
	display: block!important}
.page__plan .base dd li span{
	width: 100%;
	display: block
}
}
.page__plan .target {
  border: 1px solid #A9A9A9;
  padding: 20px;
}
.page__plan .measures {
  padding: 20px;
  margin-bottom: 40px;
}
.page__floor .floor {
  margin-top: 80px;
}
.page__floor .floor > div {
  margin-bottom: 80px;
}
.page__floor .floor > div a {
  display: block;
  position: relative;
}
.page__floor .floor > div a:hover::after {
  content: "\f00e";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 30px;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: rgba(0,178,196,0.8);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.page__access .parking { padding: 60px; }

.page__karte .intro dt {
  width: 13em;
  float: left;
  clear: left;
}
.page__karte .intro dd {
  padding: 0 0 0 13em;
}

.page__regeneration .regeneration01 h3 {
  border: 1px solid #0F4C81;
  text-align: center;
  padding: 5px;
  font-size: 18px;
  color: #0F4C81;
  margin-bottom: 10px;
}
.page__regeneration .regeneration01 h4 {
  border: 1px solid #0F4C81;
  text-align: center;
  padding: 20px 10px;
  font-size: 18px;
  color: #0F4C81;
}
.page__regeneration .regeneration01-1::after,
.page__regeneration .regeneration01-2::after {
  content: "";
  background: url(../img/down.png) center center / contain no-repeat;
  display: block;
  width: 100%;
  height: 70px;
  margin: 30px 0;
}

.page__regeneration .regeneration01-1 ul li {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}
.page__regeneration .regeneration01-1 ul li em {
  font-size: 120%;
  margin-left: 10px;
}

.page__regeneration .regeneration02 dt,
.page__regeneration .regeneration03 dt,
.page__regeneration .regeneration04 h3 {
  font-size: 18px;
  color: #0F4C81;
  font-weight: 700;
  margin-top: 30px;
  border-bottom: 1px dashed #A9A9A9;
  margin-bottom: 5px;
}

.page__regeneration section table { table-layout: fixed; }
.page__regeneration .regeneration04-1 dt { font-weight: 700; }
.page__regeneration .regeneration04-1 dd { margin: 0 0 30px 1em; }
.page__regeneration .regeneration04 .row dt { width: 5em; float: left; clear: left; font-weight: 700; }
.page__regeneration .regeneration04 .row dd { padding: 0 0 5px 5em; }

.page__regeneration .faq dt {
  font-weight: 700;
  color: #0F4C81;
  font-size: 18px;
  margin-bottom: 10px;
}
.page__regeneration .faq dt::before {
  content: "Q";
  font-size: 14px;
  font-weight: 500;
  color: #fff;
  display: inline-block;
  text-align: center;
  width: 26px;
  height: 26px;
  background: #0F4C81;
  border-radius: 50%;
  margin-right: 5px;
}
.page__regeneration .faq dd { margin-bottom: 40px; }
.page__regeneration .faq dd::before {
  content: "A";
  font-size: 14px;
  color: #fff;
  display: inline-block;
  text-align: center;
  width: 26px;
  height: 26px;
  background: #F05C5C;
  border-radius: 50%;
  margin-right: 5px;
}
.page__regeneration .notice h3 {
  font-size: 18px;
  color: #F05C5C;
  margin-bottom: 10px;
}

.page__sas table.schedule { table-layout: fixed; border-bottom: 1px solid #d5dde8; }
.page__sas table.schedule th,
.page__sas table.schedule td {
  padding: 10px;
  text-align: center;
  border-top: 1px solid #d5dde8;
}
.page__sas table.schedule th { text-align: left; }
.clinic-info .closed {
  border: 1px solid #d5dde8;
  border-radius: 5px;
  overflow: hidden;
}

.page__sas .bored { border: 2px solid #F05C5C; padding: 30px; }
.page__sas .sas06-1 { border: 1px solid #A9A9A9; padding: 20px; margin-bottom: 40px; }
.page__sas .sas06-2 { border: 1px solid #A9A9A9; padding: 20px; }
.page__sas .sas06-2 dt { font-weight: 700; color: #0F4C81; font-size: 16px; }
.page__sas .sas06-2 dd { margin: 0 0 20px 0; }
.page__sas .sas08 dt { font-weight: 700; color: #0F4C81; font-size: 16px; }
.page__sas .sas08 dd { margin: 0 0 30px 1.2em; }

.page__disp section .item .date {
  font-size: 13px;
  border: 1px solid #757575;
  color: #757575;
  padding: 2px 8px;
  margin-right: 10px;
  vertical-align: 2px;
}
.page__disp section .item a.btn {
  display: block;
  text-align: center;
  padding: 20px;
  background: #00B2C4;
  color: #fff;
}
.page__disp section .crossword {
  border: 2px dashed #0F4C81;
  padding: 30px;
  margin-top: 40px;
}
.page__disp section a.backnumber-btn {
  margin-top: 80px;
  display: block;
  text-align: center;
  padding: 20px;
  background: #0F4C81;
  color: #fff;
}
.page__disp section .item.list h2.letter {
  margin-bottom: 0;
  padding-bottom: 0;
  border: none;
}
.page__disp section .item.list a {
  display: block;
  padding-bottom: 5px;
  border-bottom: 1px dashed #A9A9A9;
  margin-bottom: 15px;
}



.page__data .data-list {
  display: flex;
  flex-wrap: wrap;
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px dotted #A9A9A9;
}
.page__data .data-list > dt {
  width: 25%;
  font-size: 16px;
  font-weight: 700;
  color: #0F4C81;
}
.page__data .data-list > dd {
  width: 75%;
  padding-left: 20px;
  font-size: 16px;
}
.page__data .data-single { display: flex; flex-wrap: wrap; width: 16em; }
.page__data .data-single > dt {
  width: 12em;
  color: #0F4C81;
}
.page__data .data-single > dd {
  width: 4em;
  text-align: right;
}
.page__data a.btn {
  display: block;
  margin-top: 50px;
  padding: 10px;
  background: #0F4C81;
  color: #fff;
  text-align: center;
}

.page__clinic .row dt { width: 8em; float: left; clear: left; font-weight: 700; }
.page__clinic .row dd { padding: 0 0 5px 8em; }
.page__clinic .frame dt { font-weight: 700; }
.page__clinic .map { margin: 60px 0; height: 460px; }
.page__clinic .map > iframe { width: 100%; height: 100%; }

.page__sitemap .intro ul + h2 { margin-top: 60px; }
.page__sitemap .intro ul li a {
  display: block;
  margin-top: 10px;
  padding: 10px;
  border: 1px solid #0F4C81;
  color: #0F4C81;
  text-align: center;
}

table.recruit { width: 100%; margin-bottom: 10px; }
table.recruit th,
table.recruit td { border: 2px solid #fff; padding: 10px; }
table.recruit th { background: #0F4C81; color: #fff; text-align: center; font-weight: 500; width: 10em; }
table.recruit td { background: #EEEEEE; padding: 10px 25px; }

table.contact { width: 100%; margin-bottom: 10px; }
table.contact th,
table.contact td { border: 2px solid #fff; padding: 15px; }
table.contact th { background: #0F4C81; color: #fff; text-align: center; font-weight: 500; width: 10em; }
table.contact td { background: #EEEEEE; padding: 10px 25px; }

table.form th { width: 15em; }
table.form td { line-height: 2.5; }
table.form input[type="text"],
table.form input[type="email"],
table.form input[type="tel"] {
  font-size: 15px;
  padding: 5px;
  border: none;
  width: 100%;
}
table.form select {
  border-radius: none;
  font-size: 15px;
  background: #fff;
  padding: 5px;
  border: none;
}
table.form textarea {
  font-size: 15px;
  padding: 5px;
  border: none;
  width: 100%;
  height: 200px;
}
.submit input[type="submit"] {
  appearance: none;
  font-size: 18px;
  padding: 30px 200px;
  border: none;
  background: #0F4C81;
  color: #fff;
}
.submit {
  margin-top: 50px;
  text-align: center;
}
table.form input[type="text"].num { width: 6em; }
table.form input[type="text"].add { width: calc(100% - 10em); }
table.form input[type="text"].name { width: 10em; }
table.form input[type="text"].other { width: 10em; }
table.form input[type="text"].day { width: 10em; }
table.form input[type="text"].half,
table.form input[type="tel"].half,
table.form input[type="email"].half { width: 20em; }


table.form .date-area{
	display: flex;
	gap:10px;
}
table.form .date-area dl{
	display: flex;
	align-items: center;
	width: calc((100% - 20px) / 3)
}
table.form .date-area dl dd{
	width: 120px;
}

.page__requirements:not(.page__md-requirements) section.base h2 {
  font-size: 20px;
  color: #0F4C81;
  margin-bottom: 10px;
}
.page__md-requirements section.base .subttl {
  font-size: 20px;
  color: #0F4C81;
  margin-bottom: 10px;
}
.page__requirements section.base a.btn {
  margin-top: 20px;
  display: block;
  text-align: center;
  padding: 20px;
  border: 1px solid #0F4C81;
  font-size: 20px;
  color: #0F4C81;
}

body span.wpcf7-list-item { margin: 0 1em 0 0; }
table.form .radio1box {
  display: flex;
  flex-wrap: wrap;
}
table.form .radio1box .wpcf7-list-item {
  width: 180px;
}
table.form .checkbox1box {
  display: flex;
  flex-wrap: wrap;
  margin-left: 2em;
}
table.form .checkbox1box .wpcf7-list-item {
  width: 200px;
}

/* --------------------------------------------------------------------------- */

.top-en-info dl dt { width: 14em; float: left; clear: left; color: #0F4C81; }
.top-en-info dl dd { padding-left: 14em; margin-bottom: .5em; }

/* /////////////////////////////////////////////////////////////////////////// */
/* /////////////////////////////////////////////////////////////////////////// */
/* /////////////////////////////////////////////////////////////////////////// */

@media screen and (max-width: 768px) {

.mv .reception h2 { font-size: 16px; }
.mv .reception .phone span { font-size: 11px; }
.mv .reception .phone::before { font-size: 22px; }
.mv .reception .faq-bnr { margin: 10px auto 0; }
.top-news .pickup-item .text { font-size: 12px; }
.top-news .pickup-item .text::after { font-size: 14px; }
.news-items li dt::before { font-size: 11px; }
.news-single .date::before { font-size: 11px; }
.news-single h1 { font-size: 18px; }
.news-single a.btn { font-size: 12px; }
.top-contents .btns a { font-size: 14px; }
#facilities-slide .slick-slide a:hover .filter::after { font-size: 22px; }
.top-group .bnrs a .text h3 { font-size: 20px; }
.top-group .bnrs a .text p { font-size: 12px; }
.top-group .bnrs a .image p { font-size: 11px; }
.top-access .proflile h3 { font-size: 20px; }
.top-access .proflile p.tel { font-size: 20px; }
.top-access .fas { font-size: 20px; }
.top-access .access-list h4 { font-size: 14px; }
.cat__department h3.base { font-size: 16px; }
.cat__department .staff .name { font-size: 18px; }
.cat__department .staff .name span { font-size: 14px; }
.page__greeting .greeting h2.copy { font-size: 22px; }
.page__greeting .greeting p { font-size: 14px; }
.page__philosophy .philosophy { font-size: 20px; }
.page__philosophy .basic-policy { font-size: 16px; }
.page__philosophy h3.conduct { font-size: 18px; }
.page__philosophy dl.conduct { font-size: 16px; }
.page__philosophy div.rights h3.copy { font-size: 18px; }
.page__philosophy ul.rights { font-size: 14px; }
.page__nst .list { font-size: 16px; }
.page__infection .intro h2 { font-size: 16px; }
.page__sakuranbo .annual li::before { font-size: 8px; }
.page__sakuranbo .annual > dl dt { font-size: 28px; }
.page__sakuranbo .annual > dl dt span { font-size: 16px; }
.page__sakuranbo .goals h3 { font-size: 16px; }
.page__privacy .intro h3 { font-size: 18px; }
.page__privacy .intro h3 + p { font-size: 20px; }
.page__privacy .intro h4 { font-size: 16px; }
.page__privacy .intro h5 { font-size: 14px; }
.page__safety .base h3 { font-size: 16px; }
.page__safety .text h2 { font-size: 18px; }
.page__safety .text h3 { font-size: 16px; }
.page__safety .text h4 { font-size: 14px; }
.page__outpatient h3 { font-size: 14px; }
.page__outpatient .big { font-size: 14px; }
.page__staff .title h3 { font-size: 18px; }
table.staff tbody td .reservation { font-size: 10px; }
.page__schedule .day { font-size: 14px; }
.page__consultation .msw > li { font-size: 14px; }
.page__corporates section h3 { font-size: 14px; }
.page__kyoukaikenpo h3  { font-size: 14px; }
.doc-content .price { font-size: 18px; }
.page__plan .base h3 { font-size: 16px; }
.page__floor .floor > div a:hover::after { font-size: 22px; }
.page__regeneration .regeneration01 h3 { font-size: 16px; }
.page__regeneration .regeneration01 h4 { font-size: 16px; }
.page__regeneration .regeneration04 h3 { font-size: 16px; }
.page__regeneration .faq dt { font-size: 16px; }
.page__regeneration .faq dt::before { font-size: 12px; }
.page__regeneration .faq dd::before { font-size: 12px; }
.page__regeneration .notice h3 { font-size: 16px; }
.page__sas .sas06-2 dt { font-size: 14px; }
.page__sas .sas08 dt { font-size: 14px; }
.page__disp section .item .date { font-size: 11px; }
.page__data .data-list > dt { font-size: 14px; }
.page__data .data-list > dd { font-size: 14px; }
table.form th { width: 15em; }
table.form td { line-height: 2.5; }
table.form input[type="text"],
table.form input[type="email"],
table.form input[type="tel"] { font-size: 14px; }
table.form select { font-size: 14px; }
table.form textarea { font-size: 14px; }
.submit input[type="submit"] { font-size: 16px; }
.page__requirements section.base h2 { font-size: 18px; }
.page__requirements section.base a.btn { font-size: 18px; }



.mv { background: none; width: 100%; height: auto; top: 0; }
.mv::before {
  content: "";
  display: block;
  background: url(../img/mv-sp.jpg) center center / cover no-repeat;
  width: 100%;
  height: 360px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.mv .text { padding-top: 50px; }
.mv .text h1 { font-size: 36px; }
.mv .text h2 { font-size: 14px; }

.mv .reception {
  position: static;
  transform: none;
  padding: 20px;
  margin-top: 200px;
  width: 100%;
}
.mv .reception > .flex {
  justify-content: center;
  flex-wrap: wrap;
}
.mv .reception > .flex > .flex,
.mv .reception > .flex > .tel {
  vertical-align: top;
  margin: 10px;
}
.mv .reception .title { margin: 0 0 5px; }
.mv .reception dl { font-size: 18px; }
.mv .reception .phone p { font-size: 32px; }

.top-news { margin-top: 40px; }
.top-news h2.head::after { width: 220px; height: 260px; position: absolute; top: -40px; left: -30px; }
.top-news .title { width: 100%; }
.top-news .pickup-item a { box-shadow: 0 20px 20px 2px rgba(0,0,0,0.1); }
/*.top-news .pickup-item .image { height: 200px; }*/

.news-list { width: 100%; margin-top: 40px; min-height: initial; }
.news-list.nopickup { width: 100%; }
.news-menu li { padding: 3px; border-radius: 3px; /*font-size: 14px;*/font-size: 10px; flex-grow: 1; margin-right: 5px; text-align: center; }
.news-menu li:last-child { margin-right: 0; }
.news-menu li.all { color: #fff; background: #FFD338; border-bottom: none; }
.news-menu li.cat1 { color: #fff; background: #FB9130; border-bottom: none; }
.news-menu li.cat2 { color: #fff; background: #56D47E; border-bottom: none; }
.news-menu li.cat3 { color: #fff; background: #00B2C4; border-bottom: none; }
.news-menu li.cat4 { color: #fff; background: #777; border-bottom: none; }
.news-menu li.cat5 { color: #fff; background: deepskyblue; border-bottom: none; }
.news-menu li.all.tab-active { color: #fff; background: #FFD338; border-bottom: none; }
.news-menu li.cat1.tab-active { color: #fff; background: #FB9130; border-bottom: none; }
.news-menu li.cat2.tab-active { color: #fff; background: #56D47E; border-bottom: none; }
.news-menu li.cat3.tab-active { color: #fff; background: #00B2C4; border-bottom: none; }
.news-menu li.cat4.tab-active { color: #fff; background: #777; border-bottom: none; }
.news-menu li.cat5.tab-active { color: #fff; background: deepskyblue; border-bottom: none; }
  .news-items li a .cats {
    gap:5px;
  }
  .news-items li a .cats .cat {
        width: calc((100% - 15px) / 4);
    padding: 1px 0;
    font-size: 10px;
  }
  .news-items li a .cats .pickup::before{
  font-size: 10px!important;
}
.news-items li dl dt { width: 100%; float: none; clear: none; }
.news-items li dl dd { 
/*  margin-top: 5px;*/
  }
.news-list a.btn { position: static; margin-top: 20px; }
  .news-single .cats {
    gap:5px;
  }
  .news-single .cats .cat {
        width: calc((100% - 15px) / 4);
    padding: 1px 0;
    font-size: 10px;
  }
    .news-single .cats .pickup::before{
  font-size: 10px!important;
}
.top-contents { padding-top: 80px; background: url(../img/top-contents-bg.jpg) center top 60px / contain no-repeat; }
.top-contents .btns { margin-top: 0; padding-top: 22%; }
.top-contents .btns a { padding: 30px 0; box-shadow: 0 20px 20px 2px rgba(0,0,0,0.1), 0 0 0 2px #A2E4E8 inset; margin-bottom: 10px; }
.top-contents .btns a:nth-child(1) { background: url(../img/top-contents-outpatient.png) right 30px center / auto 100% no-repeat #fff; }
.top-contents .btns a:nth-child(2) { background: url(../img/top-contents-hospitalization.png) right 30px center / auto 100% no-repeat #fff; }
.top-contents .btns a:nth-child(3) { background: url(../img/top-contents-schedule.png) right 30px center / auto 100% no-repeat #fff; }
.top-contents .btns a:nth-child(4) { background: url(../img/top-contents-closed.png) right 30px center / auto 100% no-repeat #fff; }
.top-contents .btns a:hover:nth-child(1) { background: url(../img/top-contents-outpatient2.png) right 30px center / auto 100% no-repeat #0F4C81; }
.top-contents .btns a:hover:nth-child(2) { background: url(../img/top-contents-hospitalization2.png) right 30px center / auto 100% no-repeat #0F4C81; }
.top-contents .btns a:hover:nth-child(3) { background: url(../img/top-contents-schedule2.png) right 30px center / auto 100% no-repeat #0F4C81; }
.top-contents .btns a:hover:nth-child(4) { background: url(../img/top-contents-closed2.png) right 30px center / auto 100% no-repeat #0F4C81; }

.top-other { margin-top: 80px; padding-top: 40px; }
.top-other .bg { height: 220px; }
.top-other .bg div:nth-child(1) { display: none; }
.top-other .btns a { color: #0F4C81; text-align: center; }

.top-facilities { margin-top: 60px; padding-top: 40px; background: linear-gradient(to bottom, #eee 0%, #fff 300px); }

.top-group { margin-top: 80px; background: none; }
.top-group .bnrs a { margin-bottom: 10px; }
.top-group .bnrs a .text { width: 100%; padding: 20px; margin-bottom: 0; }
.top-group .bnrs a .text .cat { margin: 0 auto 5px; }
.top-group .bnrs a .image { display: none; }

.top-access { margin-top: 80px; }
.googlemap { width: calc(100% + 40px); margin: 0 -20px; height: 250px; padding-top: 10px; }
.googlemap::before { width: calc(100% - 40px); height: 20px; }
.top-access .maplink {
  display: block;
  width: 90%;
  margin: 15px auto 0;
  border: 1px solid #A9A9A9;
  padding: 5px;
  text-align: center;
  color: #0F4C81;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: .1em;
}
.top-access .maplink .fas { color: #b5c8d8; }

.top-access .proflile { margin: 30px auto; }
.top-access .proflile p.tel { margin: 0; }
.top-access .access-list { padding-top: 30px; }

/* --------------------------------------------------------------------------- */

.frame > ul.default { margin-bottom: 0; }

.cat__department .staff { margin-bottom: 40px !important; padding-bottom: 40px; border-bottom: 1px solid #A9A9A9; }
.cat__department .photos.half > div { width: 100%; }

.page__data .data-single { width: 100%; }
.page__data .data-single > dd { width: calc(100% - 12em); }

.page__outpatient .outpatient1 { width: 100%; }
	.page__outpatient .outpatient1 dd { padding: 0 0 0 5em; text-align: left; }

.page__safety dl.staff > dt { width: 21em; }
.page__safety dl.staff > dd { padding: 0 0 5px 21em; }

.page__nst .intro .image { width: 100%; }

.page__philosophy .conduct-frame { padding: 20px; }

.page__recognition .images { min-width: 240px; }

.page__access .parking { padding: 0; margin-top: 20px; }

.page__sakuranbo .day dt { width: 6em;  }
.page__sakuranbo .day dd { padding: 0 0 20px 6em; }
.page__sakuranbo .day .i1 { top: 0; right: 0; }
.page__sakuranbo .day .i2 { top: 500px; right: 0; }
.page__sakuranbo .annual.flex.third { justify-content: center; }
.page__sakuranbo .annual.flex.third > dl { width: 220px; margin: 0 10px 20px; }
.page__sakuranbo .annual.flex.third.fwrap::after { content: none; }
.page__sakuranbo .annual > dl dt { width: 60px; height: 60px; font-size: 24px; }
.page__sakuranbo .annual > dl dt p { margin-right: -5px; }

.page__hospitalization .frame { margin: 1em 0; padding: 20px; }
.page__hospitalization .frame .flex.third { justify-content: flex-start; }
.page__hospitalization .frame .flex.third > li { width: 14em; }
.page__hospitalization .time { font-size: 18px; }
.page__hospitalization .time dt { width: 6em; }
.page__hospitalization .time dd { padding: 10px 1em 10px 7em; }

table.record tbody td:last-child { width: 70px; }
table.price tbody td:last-child { width: 100px; }
#tablepress-13 .column-2,
#tablepress-13 .column-3 { width: 80px; text-align: right; }

.page__schedule table.schedule { width: 100%; border-bottom: 1px solid #A9A9A9; }
.page__schedule table.schedule th,
.page__schedule table.schedule td { border-bottom: none; display: block; width: 100%; }
.page__schedule table.schedule td:nth-of-type(1) { width: 100%; }
.page__schedule table.schedule th { width: 100%; }

.frame.checkup { padding: 15px; }
.frame.checkup > .flex > ul:first-child { margin: 0; }
.frame.checkup .price { display: block; }
.frame.checkup .price dt { width: 100%; }
.frame.checkup .price dd { width: 100%; }
.frame.checkup .option { display: block; }
.frame.checkup .option dt { width: 100%; }
.frame.checkup .option dd { width: 100%; }

.doc-menu .btn { padding: 10px; width: 49%; margin-bottom: 5px; }
.doc-menu { margin: 60px 0 30px; flex-wrap: wrap; }

.page__regeneration .regeneration01-1::after { content: none; }

.page__sas .bored { padding: 20px; }
.page__sas .bored ul.flex li { width: 50%; }

.page__disp section .item a.btn { padding: 10px; }

table.form th { display: block; width: 100%; }
table.form td { display: block; }
table.recruit th { display: block; width: 100%; }
table.recruit td { display: block; }
table.form select { -webkit-appearance: none; appearance: none; }

table.recruit td,
table.recruit td,
table.contact td { padding: 10px; }
	
	table.form .date-area{
	display: block;
}
table.form .date-area dl{
	width: 100%;
}
table.form .date-area dl dd{
	width: auto;
}

.submit input[type="submit"] { padding: 30px; width: 100%; }

.page__eng .mv { height: 580px; }
.page__eng .mv::before { background: url(../img/mv-sp.jpg) center bottom / cover no-repeat; }
.top-en-info dl dt { width: 100%; none: left; clear: none; }
.top-en-info dl dd { padding-left: 0; margin-bottom: 15px; line-height: 1.6; }


/* --------------------------------------------------------------------------- */

}/* 768px */




/*231225追加:健康診断の判定基準について*/
.pic__wrap{
	float: right;
	width: 35%;
	margin-left: 40px;
}

@media screen and (max-width: 768px){
	.pic__wrap{
	float: none;
	width: 100%;
	margin-left: 0;
	margin-bottom: 10px
}
}

table.basic__table{
	border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
    margin-bottom: 1em;
	border: none;
}
table.basic__table th,td{
	border: solid 1px #A9A9A9;
	padding: 5px;
}
.link__text{
	text-decoration: underline;
	
}

.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}

.rosa_bnr{
	display: block;
	margin: 80px 0;
}
.rosa_bnr img{
	width: 100%;
	max-width: 100%;
}

table.table01 th{
	padding: 0 10px;
	text-align: left;
	background: #f7f7f7;
}
table.table01 td{
	padding: 0 10px;
}
.section-training{
	padding: 100px 0;
}
.training01-bnrs{
	display: flex;
	justify-content: center;
	
}
.training01-bnrs a{
	width: calc(50% - 90px);
	margin: 0 45px;
	position: relative;
	color: #fff;
	height: 88px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 22px;
	text-align: center;
	line-height: 1
}
.training01-bnrs a img{position: absolute;
	margin: auto;
	top: 0;
	bottom: 0;
	left: 30px;
}
.training_bnr{
	background: #0F4C81;
}
.training_bnr img{
	width: 48px;
}
.recruit_bnr{
	background: #1F5C9B;
}
.recruit_bnr img{
	width: 60px;
}
.training_bnr small{
	font-size: 20px;
	display: block;
	margin-bottom: 10px;
}
.flex-h4{
	display: flex;
}
.image-area{
	text-align: center;
}
.image-area img{
	max-width: 100%;
}


/* ---------------------------------------------------------------------------
//  faq
--------------------------------------------------------------------------- */
.faq .title {
  font-family: "Noto Serif JP", serif;
  font-size: 28px;
  font-weight: 400;
  padding-top: 100px;
  margin-top: -20px;
  margin-bottom: 20px;
  display: table;
  position: relative;
}
.faq .title::after {
  content: "";
  display: block;
  width: 300px;
  border-top: 1px solid #0F4C81;
  position: absolute;
  bottom: 20px;
  right: -320px;
}
.faq-item {
  border: 1px solid #A9A9A9;
  padding: 10px 20px;
  margin-bottom: 20px;
}
.faq-item dt {
  display: flex;
  cursor: pointer;
}
.faq-item dt::before {
  content: "Q";
  font-weight: 700;
  font-size: 20px;
  color: #0F4C81;
  width: 25px;
}
.faq-item dt::after {
  content: "";
  background: url(../img/arw-down.svg) center center / contain no-repeat;
  width: 15px;
}
.faq-item dt.active::after {
  background: url(../img/arw-up.svg) center center / contain no-repeat;
}
.faq-item dt a {
  display: block;
  width: calc(100% - 40px);
  padding: 7px 10px 0 0;
}

.faq-item dd {
  display: none;
}
.faq-item dd .faq-flex {
  display: flex;
}
.faq-item dd .faq-flex::before {
  content: "A";
  font-weight: 700;
  font-size: 20px;
  color: #0F4C81;
  width: 25px;
}
.faq-item dd {
  border-top: 1px solid #A9A9A9;
  margin-top: 10px;
  padding-top: 10px;
}
.faq-item dd .contents {
  width: calc(100% - 25px);
  padding-top: 7px;
}
.faq-item dd .contents a {
  color: #18C3EB;
}
.faq-item dd .contents h1 {
  font-size: 22px;
}
.faq-item dd .contents h2 {
  font-size: 20px;
}
.faq-item dd .contents h3 {
  font-size: 18px;
}
.faq-item dd .contents h4 {
  font-size: 17px;
}
.faq-item dd .contents h5 {
  font-size: 16px;
}
.faq-item dd .contents h6 {
  font-size: 15px;
}



@media screen and (max-width: 768px) {

.faq .title {
  font-size: 22px;
  padding-top: 80px;
  display: flex;
  align-items: center;
}
.faq .title::after {
  content: "";
  flex: 1;
  width: auto;
  margin-left: 10px;
  position: static;
}

} /*@*/





.medical_doc img{
  width: 100%;
  max-width: 100%;
  height: auto;
}
.medical_doc01 .fv{
  max-width: 1170px;
  margin: 0 auto;
}
.medical_doc02{
  margin-top: -80px;
/*
  background-image: url(../img/medical_doc/links_bg.png);
background-repeat: no-repeat;
background-size: cover;
*/
	background: url(../img/diagonal.jpg) center center repeat;
max-width: 1100px;
margin: -80px auto 0;
padding: 70px 20px;
position: relative;
background-color: #fff;
}
.medical_doc02 .links{
max-width: 1000px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
gap: 33px 0;
}
.medical_doc02 .links .link{
box-shadow: 0 3px 6px rgba(0,0,0,0.16);
width: 315px;
aspect-ratio: 315/76;
overflow: hidden;
}
.medical_doc02 .links .link img{
  transition: .3s;
}
.medical_doc02 .links .link:hover img{
transform: scale(1.04);
}
.medical_doc03{
  max-width: 1170px;
  margin: 80px auto 0;
  background: #EDF8FD;
  padding: 70px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.medical_doc03 .ttl{
font-size: 16px;
color: #0F4C81;
text-align: center;
display: flex;
flex-direction: column;
align-items: center;
font-weight: 500;
margin-bottom: 40px;
}
.medical_doc03 .ttl img{
  width: auto;
}
.medical_doc03 .flex{
  display: flex;
  justify-content: center;
  gap: 30px;
}
.medical_doc03 .flex .links{
  width: 529px;
  background: #fff;
  padding: 0 30px;
}
.medical_doc03 .flex .links .link{
  padding: 20px 15px;
  display: flex;
  font-size: 16px;
  font-weight: 500;
}
.medical_doc03 .flex .links .link+.link{
  border-top: solid 1px #A9A9A9;
}
.medical_doc03 .flex .links .link time{
  color: #A9A9A9; width: 125px;
}
.medical_doc03 .flex .links .link span{
  color: #101010;
  width: calc(100% - 125px);
  display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
 
}
.medical_doc03 .flex .contacts{
  background: rgba(55,214,230,.85);
  width: 380px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
	padding: 20px;
}
.medical_doc03 .flex .contacts .sub{
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
}
.medical_doc03 .flex .contacts .tel{
  width: 230px;
  margin-top: 16px;
  margin-bottom: 10px;
}
.medical_doc03 .flex .contacts .arrow{
  color: #fff;
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: bold;
}
.medical_doc03 .flex .contacts .arrow::after{
  background-image: url(../img/medical_doc/arrow01.svg);
background-position: center;
background-repeat: no-repeat;
background-size: contain;
content: '';
width: 10px;
height: 16px;
}
.medical_doc03 .more{
  max-width: 576px;
  width: 100%;
  height: 76px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 60px auto 0;
  color: #fff;
  background: #0F4C81;
  font-size: 18px;
  font-weight: bold;
}
.medical_doc04{
  max-width: 1170px;
  margin: 160px auto 0;
  padding: 0 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.medical_doc04 .ttl{
font-size: 16px;
color: #0F4C81;
text-align: center;
display: flex;
flex-direction: column;
align-items: center;
font-weight: 500;
margin-bottom: 40px;
}
.medical_doc03 .ttl img{
  width: auto;
}
.medical_doc04 .map{
  width: 100%;
 height: 560px;
}
.medical_doc04 .map iframe{
  width: 100%;
  height: 100%;
}
.medical_doc04+.top-access{
  margin-top: 80px;
}
@media screen and (max-width: 768px){
  .medical_doc01 .fv{
    aspect-ratio: 3/2;
  }
  .medical_doc01 .fv img{
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
  .medical_doc02{
  padding: 40px 20px;
  margin: 0;
  }
  .medical_doc02 .links{
  gap: 20px;
  }
  .medical_doc02 .links .link{
  width: 100%;
  }
  .medical_doc03{
    margin: 0 auto;
    padding: 70px 20px;
  }
  .medical_doc03 .ttl{
  margin-bottom: 30px;
  }
  .medical_doc03 .flex{
    flex-direction: column;
    gap: 0;
    width: 100%;
  }
  .medical_doc03 .flex .links{
    width: 100%;
    background: #fff;
    padding: 0 10px;
  }
  .medical_doc03 .flex .links .link{
    padding: 20px 10px;
    display: block;
  }
  .medical_doc03 .flex .links .link time{
   width: 100%;
  }
  .medical_doc03 .flex .links .link span{
    width: 100%;
      -webkit-line-clamp: 2;
   
  }
  .medical_doc03 .flex .contacts{
    padding: 20px;
    width: 100%;
  }
  .medical_doc03 .more{
    margin: 20px auto 0;
  }
  .medical_doc04{
    margin: 70px auto 0;
  }
  .medical_doc04 .map{
   height:250px;
  }
}
.page__md-requirements .tel_btn{
	max-width: 576px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 122px;
	background: linear-gradient(#0F4C81,#1F68AA);
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	margin: 0 auto;
	line-height: 1.5
}
.page__md-requirements .tel_btn span{
	font-size: 35px;
	display: flex;
	align-items: center;
	gap:11px;
}
.page__md-requirements .tel_btn span::before{
	background-image: url("../img/medical_doc/tel.png");
background-position: center;
background-repeat: no-repeat;
background-size: contain;
content: '';
	width: 39px;
	height: 39px;
}

/* ポップアップ */
#popup {
  display: none;
  position: fixed;
  bottom: 30px;
  right: 30px;
  z-index: 2000;
  animation: fadeIn 0.5s ease;
  width: 270px;
  /* opacity: 1!important; */
}
#popup img{
  filter: drop-shadow( 3px 3px 12px #0F4C81);
  max-width: 100%;
  height: auto;
  transition: .2s;
}
/* #popup:hover img{
  filter: drop-shadow( 3px 3px 20px #0F4C81);
} */

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

#popup button {
  width: 27px;
  height: 27px;
  position: absolute;
  top: -13.5px;
  right: -13.5px;
  background-image: url(../img/popup_close.png);
  border-radius: 100%;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  font-size: 0;
  border: none;
  cursor: pointer;
  transition: .2s;
}
#popup button:hover{
  opacity: .7;
}
@media screen and (max-width: 768px){
  #popup {
    bottom: 80px;
    right: 0;
    left: 0;
    margin: auto;
  }
  #popup button {
    width: 40px;
    height: 40px;
    top: -18px;
    right: -20px;
  }
}