@charset "UTF-8";
/* ==========================================================
!下層ページ共通
========================================================== */
.c-section .c-gridArea02 img.m-0{
    margin: 0;
}
.m-b0{
    margin-bottom: 0!important;
}
@media screen and (max-width: 767px){
    .reverse .m-b0:first-of-type{margin-bottom: 20px!important}
}
.c-section .member-column1,
.c-section .member-column3 {
    margin-top: 3.0rem;
}
.c-section .c-gridArea02 *:last-of-type,
.c-section .member-column1 *:last-of-type,
.c-section .member-column2 *:last-of-type,
.c-section .member-column3 *:last-of-type{
    margin-bottom: 0;
}

.link_noimg .p-topDepartmentsGrid__item a{
    padding-left: 1.5em;
}
.flow_box .flow_list{
    border-top: 1px dotted #454545;
    display: flex;
    align-items: baseline;
    padding: 1em 1em;
    position: relative;
}
.flow_box .flow_list dt {
    padding: 5px;
}
.flow_box .flow_list dd {
    flex: 1;
    padding: 5px;
}
.flow_list .job img{
    width: auto;
    margin: 0;
}
.flow_box.workflow_list .flow_list.bk_gray{
    background-color: #F7F7F7;
}
.flow_box.workflow_list .flow_list dt{
    font-weight: 700;
}
@media screen and (max-width: 767px){
    .c-section .member-column3 {
        margin-top: 1.5rem;
    }
    .u-wrap .c-section div dl.flow_box{
        margin-top: 3.0rem;
    }
    #hospitalization .flow_box .flow_list ,
    #discharge .flow_box .flow_list,
    .re_reha_flow.flow_box .flow_list,
    .outpatient_flow.flow_box .flow_list {
        display: block;
    } 
    .flow_list .job img{
        display: block;
        margin: auto;
    }
}
.float-link{
    position: absolute;
    top: 20px;
    right: 40px;
    align-items: baseline;
}
.float-link .c-buttonBlue01{
    line-height: 1.0;
}
.float-link .reha_snslink a{
    margin-right: 15px;
}
.float-link .reha_snslink a img{
    width: 2.8rem;
    height: 2.9rem;
}
.l-contents .m-orange {
  --featureColor: #E4713F;
  --featureLightColor: #FFE9E0;
  --featureGradColor: linear-gradient(0deg,rgba(248, 171, 139, 1) 0%, rgba(226, 109, 58, 1) 100%);
}
.l-contents .anchor {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 2rem 3.5rem;
  background-color: #114D9D;
  color: #fff;
  padding: 16px 0;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
    .float-link{
        position: unset;
        margin: 1.7rem auto;
    }
    .float-link.flex{
        display: flex;
    }
    .float-link .c-buttonBlue01{
        width: 70%;
    }
    .float-link .c-buttonBlue01 a{
        width: 100%;
    }
    .float-link .reha_snslink{
        display: block;
        text-align: center;
        margin-top: 1.7rem;
    }
    .float-link .reha_snslink a{
        margin-right: 20px;
    }
    .float-link .reha_snslink a:last-of-type{
        margin-right: 10px;
    }
  .l-contents .anchor {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 2rem 1.5rem;
	  padding: 20px 20px;
  }
}
.l-contents .anchor__item {
  position: relative;
  padding-left: 3.0rem;
  line-height: 1;
  font-size: 1.35rem;
}
.l-contents .anchor__item::before,
.l-contents .anchor__item::after {
  position: absolute;
  top: calc((1em - 1.1rem) / 2 + 0.55rem);
  translate: -50% -50%;
  content: "";
}
.l-contents .anchor__item::before {
  width: 1.8rem;
  aspect-ratio: 1 / 1;
  background: #fff;
  left: 0.8rem;
  border-radius: 50%;
}
.l-contents .anchor__item::after {
  width: 0.6rem;
  aspect-ratio: 1 / 1;
  border-top: 2px solid #01357B;
  border-right: 2px solid #01357B;
  left: 0.5em;
  rotate: 45deg;
}
.l-contents .anchor__item.link_inpage::after{
    rotate: 135deg;
    top: calc((1em - 1.1rem) / 2 + 0.45rem);
    left: 0.6em;
}

@media (any-hover: hover) {
  .l-contents .anchor__item a {
    -webkit-transition: color var(--duration03);
    transition: color var(--duration03);
  }
  .l-contents .anchor__item a:hover {
    color: var(#DBDBDB);
    text-decoration: underline;
    text-underline-offset: 0.3rem;
  }
}
@media screen and (max-width: 767px) {
  .l-contents .anchor__item a {
    font-size: 1.4rem;
  }
}

/*ページ下部ナビ*/
.l-contents .anchorunder {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 2rem 1.5rem;
	  padding: 20px 20px;
  }
}
.l-contents .anchorunder__item {
  position: relative;
  padding-left: 3.0rem;
  line-height: 1;
  font-size: 1.35rem;
}
.l-contents .anchorunder__item::before,
.l-contents .anchorunder__item::after {
  position: absolute;
  top: calc((1em - 1.1rem) / 2 + 0.55rem);
  translate: -50% -50%;
  content: "";
}
.l-contents .anchorunder__item::before {
  width: 1.8rem;
  aspect-ratio: 1 / 1;
  background: #fff;
  left: 0.8rem;
  border-radius: 50%;
}
.l-contents .anchorunder__item::after {
  width: 0.6rem;
  aspect-ratio: 1 / 1;
  border-top: 2px solid #01357B;
  border-right: 2px solid #01357B;
  left: 0.5em;
  rotate: 45deg;
}
.l-contents .anchorunder__item.link_inpage::after{
    rotate: 135deg;
    top: calc((1em - 1.1rem) / 2 + 0.45rem);
    left: 0.6em;
}

@media (any-hover: hover) {
  .l-contents .anchorunder__item a {
    -webkit-transition: color var(--duration03);
    transition: color var(--duration03);
  }
  .l-contents .anchorunder__item a:hover {
    color: var(#DBDBDB);
    text-decoration: underline;
    text-underline-offset: 0.3rem;
  }
}
@media screen and (max-width: 767px) {
  .l-contents .anchorunder__item a {
    font-size: 1.4rem;
  }
}
/* ページ下部ナビ*/
.l-contents .related_anchor{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 2rem 3.5rem;
    color: #01357B;
    padding: 16px 0;
    border-radius: 10px;
    background-color: #fff;
    box-shadow: 0 5px 30px #00000012;
}
.l-contents .related_anchor .anchor__item::before {
    width: 1.8rem;
    aspect-ratio: 1 / 1;
    background: #01357B;
    left: 0.8rem;
    border-radius: 50%;
}
.l-contents .related_anchor .anchor__item::after {
    width: 0.6rem;
    aspect-ratio: 1 / 1;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}
@media screen and (max-width: 767px) {
    .l-contents .related_anchor{
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: start;
    }
}

/* ==========================================================
!news
========================================================== */
@media screen and (min-width: 768px) {
  body:has(.p-news) {
    --footerMargin: 26rem;
  }
}

/* ==========================================================
!news
========================================================== */
body:has(.p-schedule) .p-scheduleTable {
  margin-inline: auto;
  border-bottom: 1px solid #CCC;
  border-left: 1px solid #CCC;
}
body:has(.p-schedule) .p-scheduleTable thead th {
  background: rgba(0, 133, 199, 0.2);
  font-weight: 700;
}
body:has(.p-schedule) .p-scheduleTable thead th:nth-child(1) {
  width: 13rem;
}
@media screen and (max-width: 767px) {
  body:has(.p-schedule) .p-scheduleTable thead th:nth-child(1) {
    width: 11.5rem;
  }
}
body:has(.p-schedule) .p-scheduleTable thead th:nth-child(2) {
  width: 20rem;
}
@media screen and (max-width: 767px) {
  body:has(.p-schedule) .p-scheduleTable thead th:nth-child(2) {
    width: 10.2rem;
  }
}
body:has(.p-schedule) .p-scheduleTable tbody th {
  font-weight: 400;
}
body:has(.p-schedule) .p-scheduleTable tbody th.m-am {
  background: #F7F7F7;
}
body:has(.p-schedule) .p-scheduleTable tbody th.m-pm {
  background: #E8E8E8;
}
body:has(.p-schedule) .p-scheduleTable th, body:has(.p-schedule) .p-scheduleTable td {
  border-top: 1px solid #CCC;
  border-right: 1px solid #CCC;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  body:has(.p-schedule) .p-scheduleTable th, body:has(.p-schedule) .p-scheduleTable td {
    font-size: 1.4rem;
    line-height: 1.4285714286;
  }
}
body:has(.p-schedule) .p-scheduleTable th {
  padding: 1.2rem 0.5rem;
}
@media screen and (max-width: 767px) {
  body:has(.p-schedule) .p-scheduleTable th {
    padding: 1.4rem 0.5rem;
  }
}
body:has(.p-schedule) .p-scheduleTable td {
  padding: 1.2rem 1.7rem;
}
@media screen and (max-width: 767px) {
  body:has(.p-schedule) .p-scheduleTable td {
    padding: 1rem 0.7rem;
  }
  .iphone body:has(.p-schedule) .p-scheduleTable td {
    border-bottom: 1px solid #CCC;
  }
}
body:has(.p-schedule) .p-scheduleTable td:empty::before {
  content: "ー";
}
@media screen and (max-width: 767px) {
  body:has(.p-schedule) .SP .c-table01 {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  body:has(.p-schedule) .SP .c-table01 td {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  body:has(.p-schedule) .SP .c-table01 th {
    letter-spacing: 0.5em;
  }
}
body:has(.p-schedule) .btn_pdflink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
    margin-top: 3.0rem;
}
@media screen and (max-width: 767px) {
  body:has(.p-schedule) .btn_pdflink {
    display: block;
    padding: 0;
  }
}
body:has(.p-schedule) .btn_pdflink li {
  width: 20%;
  padding-right: 5em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  body:has(.p-schedule) .btn_pdflink li {
    width: 100%;
    padding-right: 0;
    margin-bottom: 3em;
  }
}
body:has(.p-schedule) .btn_pdflink li img {
  margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
  body:has(.p-schedule) .btn_pdflink li img {
    width: 50%;
    display: block;
    margin: auto auto 1em;
  }
}
.btn_pdflink2{
    margin-bottom: 40px;
}
.btn_pdflink2 a{
    display: flex;
    align-items: center;
}
.btn_pdflink2 a img{
    width: 5%!important;
    margin: 0;
}
/* ==========================================================
!news
========================================================== */
.p-jobInformation .m-orange {
  --jobInformationColor: #E4713F;
  --jobInformationLightColor: #FFE9E0;
  --jobInformationGradColor: linear-gradient(0deg,rgba(248, 171, 139, 1) 0%, rgba(226, 109, 58, 1) 100%);
}
.p-jobInformation .m-blue {
  --jobInformationColor: #1786C5;
  --jobInformationLightColor: #ECF6FB;
  --jobInformationGradColor: linear-gradient(0deg,rgba(150, 220, 255, 1) 0%, rgba(20, 129, 183, 1) 100%);
}
.p-jobInformation .m-lightGreen {
  --jobInformationColor: #29C799;
  --jobInformationLightColor: #E9F5F2;
  --jobInformationGradColor: linear-gradient(0deg,rgba(108, 247, 206, 1) 0%, rgba(18, 173, 128, 1) 100%);
}
.p-jobInformation .m-green {
  --jobInformationColor: #6B9A34;
  --jobInformationLightColor: #E9F4DC;
  --jobInformationGradColor: linear-gradient(0deg,rgba(173, 216, 123, 1) 0%, rgba(108, 162, 47, 1) 100%);
}
.p-jobInformation .m-yellow {
  --jobInformationColor: #CCBF30;
  --jobInformationLightColor: #F8F6DC;
  --jobInformationGradColor: linear-gradient(0deg,rgba(237, 228, 129, 1) 0%, rgba(188, 176, 42, 1) 100%);
}

.p-jobInformation .c-fv01 {
  margin-bottom: 4.3rem;
}
@media screen and (max-width: 767px) {
  .p-jobInformation .c-fv01 {
    margin-bottom: 3rem;
  }
}

.p-jobInformationAnchor {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2rem 4.5rem;
}
@media screen and (max-width: 767px) {
  .p-jobInformationAnchor {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 2rem 1.5rem;
  }
}

.p-jobInformationAnchor__item {
  position: relative;
  padding-left: 2.3rem;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-jobInformationAnchor__item {
    padding-left: 2.4rem;
  }
}
.p-jobInformationAnchor__item::before {
  content: "";
  position: absolute;
  top: calc((1em - 1.1rem) / 2);
  left: 0;
  width: 1.1rem;
  aspect-ratio: 1/1;
  border-top: 3px solid var(--jobInformationColor);
  border-right: 3px solid var(--jobInformationColor);
  rotate: 45deg;
  margin-top: 0.05em;
}
@media (any-hover: hover) {
  .p-jobInformationAnchor__item a {
    -webkit-transition: color var(--duration03);
    transition: color var(--duration03);
  }
  .p-jobInformationAnchor__item a:hover {
    color: var(--gray01);
    text-decoration: underline;
    text-underline-offset: 0.3rem;
  }
}
@media screen and (max-width: 767px) {
  .p-jobInformationAnchor__item a {
    font-size: 1.4rem;
  }
}

.p-jobInformationArea__item {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .p-jobInformationArea__item {
    margin-top: 4.5rem;
  }
}

.p-jobInformationArea__title {
  position: relative;
  background: var(--jobInformationLightColor);
  padding: 1.7rem 1.7rem 1.7rem 4.4rem;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.5;
  margin-block: 0 2.8rem;
}
@media screen and (max-width: 767px) {
  .p-jobInformationArea__title {
    font-size: 1.6rem;
    padding: 1.8rem 1.8rem 1.8rem 3rem;
    margin-block: 0 2rem;
  }
}
.p-jobInformationArea__title::before {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  left: 2rem;
  width: 8px;
  height: calc(100% - 3rem);
  border-left: 8px solid var(--jobInformationColor);
}
@media screen and (max-width: 767px) {
  .p-jobInformationArea__title::before {
    left: 1rem;
  }
}

.p-jobInformation .c-table01 {
  width: 107.5rem;
}
@media screen and (max-width: 767px) {
  .p-jobInformation .c-table01 {
    width: 100%;
  }
}

.p-jobInformationArea__button a {
  position: relative;
  margin: 3rem auto 0;
  width: 42rem;
  height: 7.1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  align-items: center;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1;
  color: white;
  background: var(--jobInformationGradColor);
  border-radius: calc(infinity * 1px);
}
@media screen and (max-width: 767px) {
  .p-jobInformationArea__button a {
    width: 34.5rem;
    height: 5.8rem;
    font-size: 1.8rem;
  }
}
.p-jobInformationArea__button a::before {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  right: 3.1rem;
  width: 1rem;
  aspect-ratio: 8/12;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 7.12 11.6"><path fill="%23F5F3ED" d="M1.43,11.6l-1.43-1.4,4.31-4.4L0,1.4,1.43,0l5.69,5.8L1.43,11.6Z" /></svg>') no-repeat center center/contain;
}
@media (any-hover: hover) {
  .p-jobInformationArea__button a::before {
    -webkit-transition: right var(--duration03) ease-in-out;
    transition: right var(--duration03) ease-in-out;
    will-change: right;
  }
  .p-jobInformationArea__button a:hover::before {
    right: 2.5rem;
  }
}
/* ==========================================================
!病院のご案内
========================================================== */
.column_message li:first-of-type{
    width: 20%;
}
.column_message li:last-of-type{
    width: 78%;
}
.philosophy .c-fv01__text.list{
    padding-left: 1.7em;
    text-indent: -1.7em;
}
.number_circle{
    padding-left: 0;
}
.number_circle li{
    padding-left: 1em;
    text-indent: -1em;
}
@media screen and (max-width: 767px){
    .flex.column_message li{
        width: 100%;
    }
	.flex.column_message li img{
        width: 60%;
		margin: 0 auto 17px;
		text-align: center;
        display: block;
    }
}
.surgery_experience .c-table02 td:last-of-type{
    width: 10%;
    text-align: right;
}
.surgery_experience .c-table02 tr:last-of-type{
    background: #F7F7F7;
}
.table-wrapper {
  width: 100%;
}
@media screen and (max-width: 767px){
    .table-wrapper {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .c-table02 {
        min-width: 600px;
    }
    .surgery_experience .c-table02 td {
        padding: 1.2rem 1.0rem;
    }

    .surgery_experience .c-table02 td:last-of-type{
        width: 18%;
    }
}
.c-fv01 .c-titleOrange{
    color: #E3645F;
    padding-right: 2em;
	margin: 0;
}
.c-fv01 .c-titleBule{
    color: #1786C5;
    padding-right: 2em;
	margin: 0;
}
.c-fv01 .c-titleGreen{
    color: #29C799;
    padding-right: 2em;
	margin: 0;
}
.c-fv01 .c-titleLightgreen{
    color: #6B9A34;
    padding-right: 2em;
	margin: 0;
}
.floor_info .flex .flex{
    align-items: baseline;
    justify-content: flex-start;
}
@media screen and (max-width: 767px){
    .floor_info img{
        display: block;
    }
    .c-fv01 .c-titleOrange, .c-fv01 .c-titleBule, .c-fv01 .c-titleGreen, .c-fv01 .c-titleLightgreen{
        margin-bottom: 0;
    }
}
section.c-section .facility_box div.box_item{
    min-width: 381px;
}
@media screen and (max-width: 767px){
    section.c-section.sp_m-b0 .facility_box div.box_item{
        margin-bottom: 4.5em;
        min-width: auto;
    }
}
.flex.box_alignTOP{
    align-items: flex-start;
}
.member-column3.flex:has(> :nth-child(2):last-child) {
    justify-content: flex-start;
    gap: 25.5px; /* 左寄せ時の間隔 */
}
.member-column3.flex.facility_box:has(> :nth-child(2):last-child) {
    justify-content: flex-start;
    gap: 48.5px; /* 左寄せ時の間隔 */
}
.facilityname{
    color: var(--blue03);
    font-size: 2.0rem;
    line-height: 1.4545454545;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin-top: 0;
}
.facilityname span{
    font-size: 1.8rem;
}
.facility_txt .c-buttonBlue01{
    margin-top: 10px;
    text-align: right;
}
@media screen and (max-width: 767px){
    .facility_txt .c-buttonBlue01 {
        text-align: center;
    }
}
/*病院指標*/
.contents {
	margin-bottom: 25px;
}

.template-table {
	border-collapse : collapse;
	/*width: 100%;*/
}

.template-table th {
	border: 1px solid #A9A9A9;
	background-color: #D9F1FF;
	padding: 5px;
	font-weight: bold;/*normal;*/
	font-size: small;
	color: #696969;
}

.template-table th.left_align {
	text-align: left;
}

.template-table td {
	border: 1px solid #A9A9A9;
	padding: 5px;
}

.number-cell {
	text-align: right;
	width: 75px;
}

.out_link {
	text-align: right;
}

.comment {
	background-color: #ECF6FB;
	margin-top: 15px;
	margin-bottom: 15px;
	padding: 10px 15px 10px 15px;
}

a 
.indicators a.csv_btn {
	border: 1px solid #008000;
	color: #008000;
	background-color: #b8f28c;
	width: 75px;
	font-size: x-small;
	font-weight: bold;
	padding: 5px;
	margin-left: 20px;
	position: relative;
	top: -2px;
}

span.kome {
	font-size: x-small;
}

.hist_list dt {
	clear: both;
	float: left;
	width: 130px;
	
}

.hist_list dd {
	margin-left: 140px;
	margin-bottom: 25px;
}

div[id^="cd_top3_nm_"], div[id^="ope_top3_nm_"], div[id^="cd_top5_nm_"], div[id^="ope_top5_nm_"] {
	padding: 5px;
}

div[id^="cd_top3_nm_"]:before, div[id^="ope_top3_nm_"]:before, div[id^="cd_top5_nm_"]:before, div[id^="ope_top5_nm_"]:before {
	content: "■";
	/*color: #1AAB8A;*/
	font-size: large;
}

/* 2024年6月5日 add */
.template-table-shitsu {
	border-collapse : collapse;
	/*width: 100%;*/
}

.template-table-shitsu th {
	border: 1px solid #A9A9A9;
	background-color: #bdecd9;
	padding: 5px;
	font-weight: bold;/*normal;*/
	font-size: small;
	color: #696969;
}

.template-table-shitsu th.left_align {
	text-align: left;
}

.template-table-shitsu td {
	border: 1px solid #A9A9A9;
	padding: 5px;
}
@media screen and (max-width: 768px) {
  .template-table-shitsu {
    width: 100%;
    border-collapse: collapse;
  }

  .template-table-shitsu tr {
    display: block;
  }

  .template-table-shitsu th,
  .template-table-shitsu td {
    display: block;
    width: 100%;
    box-sizing: border-box;
    text-align: center;
  }
}
.comment-shitsu {
	background-color: #E9F5F2;
	margin-top: 15px;
	margin-bottom: 15px;
	padding: 10px 15px 10px 15px;
}
/*施設概要*/
.flex.price_box div{
    width: 48%;
}
.flex.price_box .c-titleBule01{
    margin-bottom: 0;
}
.price_table {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 20px;
  font-size: 15px;
}

.price_table th,
.price_table td {
  border: 1px solid #ccc;
  padding: 10px;
}

.price_table th {
  background-color: #F7F7F7;
  text-align: left;
  font-weight: bold;
}

.price_table td:last-child {
  text-align: right;
  white-space: nowrap;
}
.price_table.info_desk th{
    width: 25rem;
}
@media screen and (max-width: 768px) {
    section.c-section .facility_box div.box_item{
        display: block;
        min-width: auto;
    }
    .flex.price_box div {
        width: 100%;
    }
    .price_table {
        font-size: 14px;
    }
    .price_table th,
    .price_table td {
        padding: 8px;
    }
    .price_table td:last-child {
        white-space: inherit;
    }
    .price_table.info_desk th {
        width: 14rem;
    }
}
ul.dot_style li{
    list-style: disc;
}
/* ==========================================================
!外来・救急診療
========================================================== */
#schedule::before {
  content: "";
  display: block;
  height: 110px;      /* ずらしたい分 */
  margin-top: -110px; /* 高さと同じ数値 */
}
.flow_box.outpatient_flow .flow_list dt{
    width: 250px;
}
.job .flex{
    align-items: baseline;
}
.job .flex div{
    width: 48%;
}
.job .flex span{
    display: inline-block;
}
.job .flex p span.caption{
    color: white;
    border-radius: calc(infinity * 1px);
    font-weight: 500;
    padding: 0 2em;
}
.first_consultation, .follow-up_consultation{
    margin-top: .5rem;
}
.caption.cap_blue{
    background: var(--blue02);
}
.caption.cap_lightblue{
    background: var(--blue01);
}
.job .flex ul li{
    list-style: disc;
}
.job .flex .c-buttonBlue01{
    padding-bottom: 1.5em;
}
.ckeck_flow .ckeckflow_item div:first-of-type {
    width: 50%;
}
@media screen and (max-width: 767px){
    .job .flex div{
        width: 100%;
    }
    .job .flex .c-buttonBlue01 a{
        width: 80%;
    }
    .ckeck_flow .ckeckflow_item div:first-of-type {
        width: 100%;
    }
}
.emergency_tel{
    line-height: 1.5;
    margin: 40px auto;
    font-weight: 700;
    font-size: 2.2rem;
}
.emergency_tel .u-textRed01{
    font-size: 3.2rem;
}
.facility_box .flex .facility_img{
    width: 42.4%;
}
.facility_box .flex .facility_txt{
    width: 57.6%
}
@media screen and (max-width: 767px){
   .facility_box .flex .facility_img{
        width: 100%;
    }
    .facility_box .flex .facility_txt{
        width: 100%
    } 
}
/* ==========================================================
!診療科・部門第３階層（特徴・主な対応疾患ページ）
========================================================== */
.p-feature .c-titleLine02 {
  margin-block: 2.5rem 3rem 2.5rem;
}
.p-feature img {
    margin: auto;
    margin-bottom: 20px;
}
.p-feature img.featureright {
	float: right;
	margin: 0 0 10px 15px;
}
.p-feature .c-table01 {
  width: 100%;
}
.p-feature .c-table01 th {
  width: 25rem;
}
@media screen and (max-width: 767px) {
  .p-feature .c-table01 th {
    width: 100%;
  }
}
.p-feature .c-gridArea02 img {
    display: block;
    width: auto;
    margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .p-feature .c-gridArea02 img {
    margin-top: 2.5rem;
  }
}
.p-feature .member-column1 div.flex {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-bottom: 1.5em;
}
.p-feature .member-column1 div.flex.voice_box{
    justify-content: center;
}
@media screen and (max-width: 767px) {
  .p-feature .member-column1 div.flex {
    display: -ms-grid;
    display: grid;
  }
}
.p-feature .member-column1 div.flex img {
  margin: 0 70px auto 0;
  width: auto;
}
@media screen and (max-width: 767px) {
  .p-feature .member-column1 div.flex img {
    margin: auto;
    margin-bottom: 1em;
  }
}
.p-feature .member-column1 div.flex div.member_txt{
    width: 74%;
}
.p-feature .member-column3.flex div.member_txt{
    width: 32%;
}
@media screen and (max-width: 767px) {
    .p-feature .member-column1 div.flex div.member_txt{
        width: 100%;
    }
    .p-feature .member-column3.flex div.member_txt{
        width: 100%;
    }
}
.p-feature .member-column3 div {
  margin-bottom: 1.5em;
}
.p-feature .name {
  font-size: 2.2rem;
  line-height: 1.4545454545;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-top: 0;
}
.p-feature .name span {
  color: var(--green03);
  display: block;
}
.p-feature div.detail {
  margin-bottom: 0;
	  border-bottom: 1px dotted #454545;
  padding: 0 0 10px;
}
.p-feature div.detail p:first-of-type {
  font-size: 1.6rem;
  font-weight: 500;
  margin-bottom: 0;
}
.p-feature div.detail p:last-of-type {
  margin-top: 0em;
}
/*脳血管内治療科*/
.neuroend .c-section .flex{
    justify-content: center;
}
/* ==========================================================
!リハビリテーション
========================================================== */
.flex.column2.re_reha li .ttl_img{
    width: auto;
    height: 100%;
    display: block;
}
.re_reha_flow .flow_list{
    position: relative;
    padding: 1em 0;
}
.flow_box.workflow_list.re_reha_flow .flow_list dt{
    width: 320px;
    font-size: 2.0rem;
}
.flow_box.workflow_list.re_reha_flow .flow_list dt span{
    color: var(--blue01);
	padding-right: 10px;
  margin-left: 10px;
}
.re_reha_flow .flow_list .job{
    align-items: baseline;
    font-size: 1.6rem;
}
.re_reha_flow .flow_list .job ul{
    margin: 0;
}
.re_reha_flow .flow_list .job .c-listDotSquare01 li{
    font-weight: 700;
}
.re_reha_flow .flow_list p{
    margin-top: 0;
}
.re_reha_flow .flow_list p.c-fv01__lead.c-hgroup01{
    position: absolute;
    top: -0.8em;
    left: 1.65em;
    margin: 0 auto;
}
.list_imgbox img{
    display: block;
    height: 250px;
    width: auto;
    margin: auto;
}
.reha_grant{
    margin: 0;
    padding: 0;
}
.reha_grant li{
    position: relative;
    padding-left: 1.5em;
}
.reha_grant li::before{
    content: "▶︎";
    position: absolute;
    left: 0;
}
@media screen and (max-width: 767px) {
    .flow_box.workflow_list:before {
        top: 22.8%;
        left: 44.0px;
        height: 61.8%;
    }
	.flow_box.workflow_list.re_reha_flow .flow_list dt{
    width: 100%;
    font-size: 2.0rem;
	}
    .re_reha_flow .flow_list .job{
        padding-left: 50px;
    }
    .re_reha_flow .flow_list p.c-fv01__lead.c-hgroup01 {
        left: -0.18em;
    }
    .list_imgbox{
        margin-bottom: 3rem;
    }
	.re_reha_flow .flow_list p.c-fv01__lead.c-hgroup01{
    position: absolute;
    top: -0.8em;
    left: 1.85em;
    margin: 0 auto;
		letter-spacing:0;
			}
}
.flex.reha-fee p:first-of-type{
    margin-right: 20px;
}
.flex.reha-fee p:last-of-type{
    text-indent: -5em;
    padding-left: 5em;
}
.visit_reha_flow .flow_list{
    position: relative;
    padding: 1em 0;
}
.flow_box.workflow_list.visit_reha_flow .flow_list dt{
    width: 100%;
    font-weight: initial;
}
.flow_box.workflow_list.visit_reha_flow .flow_list dt span{
    color: var(--blue01);
	padding-right: 10px;
  margin-left: 10px;
}
.visit_reha_flow .flow_list .job{
    align-items: baseline;
    font-size: 1.6rem;
}
.visit_reha_flow .flow_list .job ul{
    margin: 0;
}

@media screen and (max-width: 767px){
    .visit_reha_flow .flow_list .job{
        padding-left: 50px;
    }
}
/* ==========================================================
!入院・面会・病棟について
========================================================== */
.padding20{
    padding-left: 20px;
    padding-bottom: 20px;
}
.room_fee{
    margin: auto 200px;
}
.indent5{
    text-indent: 4.5em;
}
.room_img{
    width: 50%;    
}
.room_img.flex div{
    width: 46%;
    margin-left: 2%;
}
#hospitalization .flow_box .flow_list dt,
#discharge .flow_box .flow_list dt{
    width: 420px;
}
#hospitalization .flow_box .flow_list .job,
#discharge .flow_box .flow_list .job{
    padding-left: 0;
}
.flow_box .flow_list .job .c-buttonBlue01{
    margin-top: 10px;
}
#nursing, #rehabilitation,
#medicalprofessional{
    scroll-margin-top: 100px;
}
#approach,
#rule, #guidelines, #basicpolicy, #orthopedic_surgery{
    scroll-margin-top: 120px;
}
@media screen and (max-width: 767px){
    .marginB20{
        margin-bottom: 20px;
    }
    .room_fee{
        margin: auto 20px;
    }
    .room_fee li p{
        text-indent: -1em;
        padding-left: 1em;
    }
    .indent5{
        text-indent: 0;
    }
    .room_img{
        width: 100%;    
    }
    .room_img.flex div{
        width: 100%;
        margin-left: 0;
    }
    #hospitalization .flow_box .flow_list dt,
    #discharge .flow_box .flow_list dt{
        width: 100%;
        text-indent: -2em;
        padding-left: 4.3em;
    }
    #hospitalization .flow_box .flow_list .job,
    #discharge .flow_box .flow_list .job,
    .flow_box.outpatient_flow .flow_list .job {
        padding-left: 50px;
    }
    #hospitalization .flow_box .flow_list .job ul li,
    #discharge .flow_box .flow_list .job ul li{
        padding-left: 1em;
        text-indent: 0em;
    }
    .flow_box.outpatient_flow .flow_list .job ul {
        padding-left: 1em;
    }
    #nursing, #rehabilitation,
    #medicalprofessional {
        scroll-margin-top: 60px;
    }
    #approach,
    #rule, #guidelines, #basicpolicy{
        scroll-margin-top: 60px;
    }
}
/*流れの縦線別案に対するcss（2026/3/24）*/
.c-section .flow_box .day{
    padding-left: 40px;
}
.flow_box .day:before {
    background: #fff;
    border-radius: 20px;
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    position: absolute;
    top: 1.6em;
    left: 19px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 1;
}
#workflow .flow_box .day:before{
    top: 50%;
    left: 29px;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.flow_box .day:after {
    border-radius: 30px;
    content: "";
    display: block;
    width: 28px;
    height: calc(100% + 40px);
    position: absolute;
    top: -20px;
    left: 5px;
}
#workflow .flow_box .day:after{
    left: 15px;
}
.c-section .flow_box .day:after {
    background: #0085C7;
}
#workflow .flow_box.recruit_nursing_flow .day:after {
    background: #E4713F;
}
#workflow .flow_box.recruit_reha_flow .day:after,
#workflow .flow_box.recruit_reha_flow2 .day:after {
    background: #CCBF30;
}
@media screen and (max-width: 767px){
    .c-section .flow_box .day{
        padding-left: 45px;
    }
    .flow_box .day:before {
        top: 1.7em;
    }
    #workflow .flow_box .day:before{
        top: 3.0rem;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }
    .flow_box .day:after {
        top: -15px;
    }
}
/* ==========================================================
!採用情報
========================================================== */
#skills::before, #voice::before, #workflow::before, #development::before {
  content: "";
  display: block;
  height: 110px;      /* ずらしたい分 */
  margin-top: -110px; /* 高さと同じ数値 */
}
.underLinks {
    margin-top: 9.1rem;
}
.underLinksGrid {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 7.9% 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 7.9%;
}
.underLinksGrid__texts {
    position: relative;
    margin-top: 2.7rem;
}
.underLinksGrid__text {
    font-size: 1.8rem;
    margin: 1rem 0;
}
.underLinks .c-hgroup02 {
    text-align: left;
}
.underLinks .c-buttonBlue01 {
    position: absolute;
    top: 0;
    right: 0;
}
.voice_txt .name{
    margin-bottom: 10px;
}
.voice_txt div{
    margin-bottom: 30px;
}
section.c-section .pic80 img{
    width: 70%;
	margin: auto;
	display: block;
	margin-bottom: 45px;
}
@media screen and (max-width: 767px){
    section.c-section .pic80 img{
        width: 90%;
		margin-bottom: 30px;
    }
}

.flow_box.workflow_list.recruit_reha_flow,
.flow_box.workflow_list.recruit_reha_flow2,
.flow_box.workflow_list.recruit_nursing_flow {
    width: 94%;
    margin: auto;
}
.flowbox_txt{
    width: 94%;
    margin: auto auto auto 7.5%;
}
.flow_box.workflow_list.recruit_reha_flow:before {
    top: 41.8%;
    left: 105.0px;
    height: 15.7%;
	background-color: #CCBF30;
}
.flow_box.workflow_list.recruit_reha_flow2:before {
    top: 63.8%;
    left: 104.5px;
    height: 30.5%;
	background-color: #CCBF30;
}
.recruit_reha_flow .flow_list .day span,
.recruit_reha_flow2 .flow_list .day span{
    color: #CCBF30;
}
.bk_yellow{
    background-color: #F8F6DC;
}
.flow_box.workflow_list.recruit_nursing_flow:before {
    top: 53.5%;
    left: 104.7px;
    height: 38.5%;
	background-color: #E4713F;
}
.recruit_nursing_flow .flow_list .day span{
    color: #E4713F;
}
.bk_orange{
    background-color: #FFE9E0;
}
.flow_box.workflow_list .flow_list dt {
    width: 100px;
}
.flow_box.career_list .flow_list dt {
    width: 300px;
    padding: 5px;
    font-weight: 700;
}
.career_list .flow_list dd ul{
    padding-left: 2.0em;
}
.career_list .flow_list dd ul li{
    list-style: disc;
}
#entry .l-footerLeftTel{
    justify-content: center;
    margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
    .underLinksGrid {
        display: block;
    }
    .underLinksGrid section:first-of-type{
        margin-bottom: 9.1rem;
    }
    .underLinks .c-buttonBlue01 {
        position: static;
    }
    .flow_box.workflow_list.recruit_reha_flow,
    .flow_box.workflow_list.recruit_reha_flow2,
    .flow_box.workflow_list.recruit_nursing_flow,
    .flowbox_txt{
        width: 100%;
    }
    .flow_box.workflow_list.recruit_reha_flow:before {
        top: 48.1%;
        left: 47.8px;
        height: 14.6%;
    }
    .flow_box.workflow_list.recruit_reha_flow2:before {
        top: 66.6%;
        left: 47.3px;
        height: 29.2%;
    }
    .recruit_reha_flow .flow_list .job p,
    .recruit_reha_flow2 .flow_list .job p{
        padding-left: 16px;
    }
    .flow_box.workflow_list.recruit_nursing_flow:before {
        top: 57.3%;
        left: 47.2px;
        height: 36.5%;
    }
    .recruit_nursing_flow .flow_list .job p{
        padding-left: 16px;
    }
    .flow_box.career_list .flow_list{
        display: block;
    }
}
/* ==========================================================
!問い合わせフォーム
========================================================== */
.smf-form--business .smf-item__col--label {
    flex: 0 0 20em;
    max-width: 20em;
}
.required div span.smf-item__label__text::after{
    content: "必須";
    color: #FF0004;
    font-size: 1.0rem;
    padding: 0 4px;
    border: #FF0004 1px solid;
    margin-left: 5px;
}
.smf-item__controls .wp-block-group{
    padding-bottom: 5px;
}
.smf-item__controls .wp-block-group:last-of-type{
    padding-bottom: 0;
}
.smf-form .smf-radio-button-control,
.smf-form .smf-checkbox-control{
    align-items: center;
}
.smf-action .smf-button-control__control{
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    min-width: var(--buttonBlue01Width);
    height: var(--buttonBlue01Height);
    background: -webkit-gradient(linear, left bottom, left top, from(rgb(0, 65, 150)), to(rgb(22, 133, 199)));
    background: linear-gradient(0deg, rgb(0, 65, 150) 0%, rgb(22, 133, 199) 100%);
    border-radius: calc(infinity * 1px);
    color: white;
    font-size: var(--buttonBlue01Size);
    font-weight: 500;
    padding-inline: 2em;
}
@media screen and (max-width: 767px){
    .smf-form--business .smf-item__col--label {
        max-width: 100%;
    }
    .smf-item__controls .wp-block-group.flex{
        display: block;
    }
}
/* ==========================================================
!交通アクセス
========================================================== */
/*Google Map*/
.gmap {
  position: relative;
  width: 100%;
  /* 高さはアスペクト比16:9に設定 */
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.gmap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
@media screen and (max-width: 767px){
    .gmap {
      padding-bottom: 133.33%;
    }

}
.box_alignTOP img{
    margin-top: 1.3em;
}
/* ==========================================================
!個人情報保護方針・サイトポリシー
========================================================== */
.privacy_box{
    margin: 0 auto;
    width: 65%;
}
.privacy_box ul{
    padding: 0;
}
@media screen and (max-width: 767px){
    .privacy_box{
        width: 100%;
    }
}