/* CSS Document */
@media (min-width: 641px) and (max-width: 1024px) {
    body,
    .nav_wrap.fixed,
    .mainvisual_wrap,
    #mainvisual,
    header,
    footer {
        min-width: 1300px;
    }

    .tgl_menu_list ul li.nav_mega_menu .mega_menu_wrap {
        width: 1300px;
    }
}

@media screen and (max-width:640px) {
    body {
        font-size: 14px;
    }
    body,
    .nav_wrap.fixed,
    #mainvisual .inner,
    header,
    footer {
        min-width: 100%;
    }
    
    a {
        word-wrap: break-word;
    }
	.nav_wrap.fixed {
		padding: 20px 0;
	}

/* ナビ展開時スクロール禁止処理 */
body.nav-open {
    overflow: hidden !important;
}
/*============================================================================

  header

============================================================================*/
header {
    height: auto;
}
header .inner {
    display: none;
}
header .header_logo {
    z-index: 1;
}

/*============================================================================

  nav

============================================================================*/
.nav_wrap {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000;
    width: 100%;
    min-width: initial;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    background: #fff;
}
.nav_wrap .header_logo {
    top: 0;
    width: calc(100% - 56px);
    background-color: #fff;
}
.nav_wrap .header_logo a {
    display: block;
    /*width: 100%;*/
    height: 100%;
    padding: 0 0 10px;
}
.nav_wrap .header_logo img {
    width: 100%;
    height: 45px;
}
	
	.nav_wrap .flex_area {
		width: 96%;
		max-width: 600px;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
		align-items: center;
		column-gap: 24px;
	}
	
	.nav_wrap .flex_area a.tel_icon img {
		width: 40px;
		height: 50px;
	}
	
	
/* ハンバーガーボタン */
.btn_tgl_menu {
    position: absolute;
    z-index: 2;
    right: 0;
    color: #fff;
    width: 55px;
    height: 55px;
    background: #b27f36;
    border: none;
    padding: 0;
    margin: 0;
    text-align: center;
    transition: right 0.6s cubic-bezier(.19, 1, .22, 1);
}
.btn_tgl_menu i {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 5px;
    margin: auto;
    font-style: normal;
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 0.1em;
}
.btn_tgl_menu span {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    display: block;
    width: 35px;
    height: 2px;
    background: #fff;
    transition: all 0.6s cubic-bezier(.19, 1, .22, 1);
    opacity: 1;
}
.btn_tgl_menu span:nth-of-type(1) {
    top: 10px;
}
.btn_tgl_menu span:nth-of-type(2) {
    top: 20px;
}
.btn_tgl_menu span:nth-of-type(3) {
    top: 30px;
}
/* MENUボタン押下時 */
.btn_tgl_menu.active {
    right: 18rem;
}
.btn_tgl_menu.active span:nth-of-type(1) {
    top: 20px;
    transform: rotate(225deg);
}
.btn_tgl_menu.active span:nth-of-type(2) {
    opacity: 0;
}
.btn_tgl_menu.active span:nth-of-type(3) {
    top: 20px;
    transform: rotate(-225deg);
}

/* ドロップダウンメニュー */
.tgl_menu_list {
    position: fixed;
    top: 0;
    right: -18rem;
    z-index: 2;
    overflow: hidden;
    width: 18rem;
    height: 100%;
    transition: right 0.6s cubic-bezier(.19, 1, .22, 1);
    background: #b27f36;
    padding: 15px;
}
.tgl_menu_list ul {
    flex-flow: column wrap;
    gap: 0;
}
.tgl_menu_list ul li {
    display: block;
    border-bottom: 1px solid #fff;
    width: 100%;
}
.tgl_menu_list ul li:first-child {
    border-top: 1px solid #fff;
}
.tgl_menu_list ul li::after {
    display: none;
}
.tgl_menu_list ul li a, .tgl_menu_list ul li p {
    display: block;
    text-align: left;
    padding: 15px 10px;
    width: auto;
    color: #fff;
    font-weight: normal;
}
.tgl_menu_list ul li a span, 
.tgl_menu_list ul li p span {
    display: none;
}
.tgl_menu_list ul li a:hover {
    color: #fff;
}
body.nav-open .tgl_menu_list {
    overflow-y: scroll;
    overscroll-behavior-y: none;
    right: 0;
}
.pagetop {
        right: 10px;
        bottom: 60px;
        width: 80px;
    }
/* ------- スライドメニュー メガ------- */
.mega_menu_inner .menu_wrap01 {
    width: 100%;
}
.mega_menu_inner .menu_wrap02 {
    width: 100%;
}
.tgl_menu_list .menu_list.long ul li,
.tgl_menu_list .menu_list.long ul li.full {
    width: 100%;
}
	.tgl_menu_list .menu_list p {
    padding: 12px 0;
	}
	.tgl_menu_list .menu_list ul li a {
		padding: 12px 0;
	}
.tgl_menu_list .nav_mega_menu {
    position: relative;
}
.tgl_menu_list .nav_mega_menu .mega_menu_wrap {
    display: block;
    position: static;
    opacity: 1;
    visibility: visible;
    background: none;
    box-shadow: none;
    transition: height 0.5s cubic-bezier(.19, 1, .22, 1);
}
.tgl_menu_list .mega_menu_inner {
    display: block;
    padding: 0 0 10px 0;
    width: 100%;
}
.tgl_menu_list .menu_list {
    margin-left: 0;
}
.tgl_menu_list .menu_wrap01 .menu_list {
    background-color: #cc9541;
    padding-left: 10px;
    padding-right: 10px;
}
.tgl_menu_list .menu_wrap01 .menu_list.l_blue {
    background-color: #d0a331;
}
.tgl_menu_list .menu_wrap02 .menu_list {
    background-color: #d0a331;
    padding-left: 10px;
    padding-right: 10px;
}
.menu_wrap01 .menu_list p,
.menu_wrap01 .menu_list:not(:first-of-type) p, 
.menu_wrap02 .menu_list:not(:first-of-type) p {
    position: relative;
    margin: 0 0;
}
.tgl_menu_list .menu_wrap01 .menu_list p,
.tgl_menu_list .menu_wrap02 .menu_list p {
    position: relative;
    font-weight: normal;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.3);
    margin-bottom: 0;
}
.tgl_menu_list .menu_wrap01 .menu_list p.active,
.tgl_menu_list .menu_wrap02 .menu_list p.active {
    border-bottom: none;
}
.tgl_menu_list ul li.nav_mega_menu .menu_list p::before {
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f067";
}
.tgl_menu_list ul li.nav_mega_menu .menu_list p.active::before {
    content: "\f068";
}
.tgl_menu_list .nav_mega_menu .mega_menu_inner .menu_list li {
    border-top: none;
    border-bottom: none;
}
.tgl_menu_list .nav_mega_menu .mega_menu_inner .menu_list li a {
    padding: 5px 0;
    margin-left: 30px;
    font-size: 13px;
    line-height: 1.5;
    border-bottom: none;
    border-top: none;
}
.tgl_menu_list .nav_mega_menu div a {
    margin-left: 15px;
    background: none;
    padding: 3px;
    line-height: 2;
    text-indent: -1.2em;
    padding-left: 1.2em;
}
.tgl_menu_list .mega_menu_inner .menu_list ul {
    display: none;
}


/* ナビ展開時の後ろの背景 */
.nav_overlay {
    display: none;
    opacity: 0;
    visibility: hidden;
    z-index: 10;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.2);
}
body.nav-open .nav_overlay {
    display: block;
    opacity: 1;
    visibility: visible;
}

/* ヘッダー固定ボタンエリア */
.btn_area {
    position: absolute;
    top: 55px;
    width: 100%;
}
.btn_area ul {
    display: flex;
    background: #fff;
    padding: 5px 2.5px;
}
.btn_area li.btn {
    width: 100%;
    border-radius: 5px;
    margin: 0 2.5px;
}
.btn_area li.btn a {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    line-height: 1;
    color: #fff;
    text-align: center;
    font-weight: bold;
    font-size:min(3.2vw,15px);
    padding: 6px 2%;
}
.btn_area li.btn a i {
    display: block;
    width: 100%;
    font-size: 15px;
    margin-bottom: 5px;
}
.btn_area li.btn_yoyaku01 {
    background: #f5b754;
}
.btn_area li.btn_yoyaku02 {
    background: #6dbcf3;
}
.btn_area li.btn_yoyaku03 {
    background: #ffadad;
}
.nav_wrap.fixed {
    height: 55px;
    padding: 0 0px;
    background-color: #fff;
}
.sp_under_telbtn {
    position: fixed;
    bottom: 0;
    display: block;
    width: 100%;
    z-index: 10;
    height: 50px;
}
.sp_under_telbtn ul {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    width: 100%;
    margin: 0 auto;
}
.sp_under_telbtn ul li {
    display: block;
		width: calc(100% / 2) !important;
   /* width: calc(100% / 3) !important;*/
    text-align: center;
    font-weight: bold;
}
.sp_under_telbtn ul li a {
    display: grid;
    align-items: center;
    height: 50px;
    font-size: 13px;
    line-height: 1.4;
    color: #7d5846;
    background-color: #ffb25f;
}
	.sp_under_telbtn ul li a span {
		position: relative;
		bottom: 6px;
		font-size: 11px;
	}
.sp_under_telbtn ul li:nth-of-type(2) a {
	align-items: end;
    background-color: #ffda2a;
}
.sp_under_telbtn ul li:nth-of-type(3) a {
    background-color: #06c755;
	color: #fff;
}


/*============================================================================

#mainvisual

============================================================================*/
#mainvisual {
    width: calc(100% - 20px);
    height: 160px;
    margin-top: 130px;
    border-radius: 20px;
	background-position: center;
}
#mainvisual .inner {
    width: auto;
    height: inherit;
}

/* 下層ページヘッドライン */
.mainvisual_headline{
	text-shadow:
  -1px -1px 1px white,
   1px -1px 1px white,
  -1px  1px 1px white,
   1px  1px 1px white;	
	}
.mainvisual_headline p.headline {
    margin-bottom: 0;
    font-size: 24px;
    letter-spacing: 0.05em;
}
.mainvisual_headline p {
    font-size: 14px;
    line-height: 1;
}

/*============================================================================

#contents

============================================================================*/
.box1 {
    width: auto;
    margin: 0 0 80px;
}
.box2 {
    width: auto;
    margin: 0 0 80px;
}
#container {
    padding-top: 20px;
}
#contents {
    width: auto;
    padding: 10px 5% 60px;
}
#contents_left {
    width: auto;
    float: none;
    margin-right: 0;
}
#contents_right {
    width: auto;
    padding: 0 6%;
    float: none;
}

/*============================================================================

footer

============================================================================*/
.foot_bna {
    padding: 40px 5% 50px;
}
.foot_bna h2 {
    margin-bottom: 20px;
}
.foot_bna_list {
    flex-direction: column;
    text-align: center;
    width: 100%;
    gap: 6px;
}
.foot_bna_link .foot_bna_list {
    margin-bottom: 30px;
    padding-bottom: 30px;
}
footer .inner {
    width: 100%;
    padding: 40px 5%;
}
.fnav_list {
    display: flex;
    flex-wrap: wrap;
    gap: 0 2%;
}
.fnav_list li {
    width: 49%;
}
.footer_navi {
    display: block;
    margin-bottom: 20px;
}
.footer_navi .footer_navi_box:nth-of-type(3) .fnav_list li,
.footer_navi .footer_navi_box:last-of-type .fnav_list li {
    width: 100%;
}
.fnav_list li:not(:last-of-type) a,
.fnav_list li:last-of-type a {
    margin-bottom: 20px;
}
.fnav_tit a {
    margin-bottom: 14px;
}
.fnav_sublist_wrap {
    display: block;
    margin-bottom: 25px;
}
.fnav_sublist {
    display: flex;
    flex-wrap: wrap;
    gap: 2%;
    min-width: 80px;
}
.fnav_sublist:not(:last-of-type){
  margin-bottom: 20px;
}
.fnav_sublist li {
    width: 49%;
}
.footer_info_tel_wrap {
    width: 100%;
    padding: 24px 5% 16px;
}
.footer_info_tel_wrap p {
    margin-bottom: 8px;
    font-size: 15px;
}
.footer_info_tel_wrap p::before, 
.footer_info_tel_wrap p::after {
    width: 20px;
    font-size: 15px;
}
.footer_info_tel_wrap a {
    font-size: 30px;
    letter-spacing: 0.05em;
}
.footer_info_tel_wrap a span {
    font-size: 16px;
    color: #5b504a;
}
.footer_info_tel p.note {
    margin-top: 4px;
    text-align: left;
}
.footer_info_text {
    margin-left: 0;
    padding-top: 20px;
}
.footer_info_schedule {
    margin-top: 25px;
    padding-left: 0;
}
.footer_info_schedule a {
    width: 80%;
    margin: 0 auto;
}
.footer_map {
    height: 320px;
}
.copy {
    padding: 10px 0 66px;
}

/* 追加分 */
/*.footer_info{
    flex-flow;
}*/
.footer_info_left{
    flex-flow:column;
}
.footer_info_tel{
    width: 100%;
}
.footer_info_tel_wrap p.title::before, .footer_info_tel_wrap p.title::after{
    width: 20px;
}
.footer_info_right{
    width: 100%;
}
/*============================================================================

$top

============================================================================*/
.top_info_wrap {
    display: block;
    width: 90%;
    margin: 0 auto 54px;
}
.top_info_wrap section {
    width: 100%;
}
.top_info_wrap h2 {
	margin-top: 50px;
    margin-bottom: 50px;
}
.top_info_wrap h2::before,
.top_topics h2:before {
    margin-bottom: 10px;
    padding-top: 30px;
    font-size: 40px;
}
/* ▼MV下のTopics */
.top_topics{
    width: 90%;
    padding: 0 15px 30px;
}
.top_topics h3{
    font-size: 16px;
    width: 65%;	
}

/* ▲MV下のTopics */
.top_news {
    margin-bottom: 30px;
}
.top_info_btn a {
    top: 110px;
    right: 0;
}
.top_info_bnr_inner {
	width: 320px;
	margin-top: 16px;
	padding-left: 0;
	gap: none;
}
.top_info_bnr_inner a {
  width: 20%;
}
.top_info_bnr_inner a:nth-child(3) {
  width: 60%;
}
.top_info_bnr_area{
	margin: 0 auto 16px;
	display: block;
	}
.top_info_bnr_area a:nth-child(2) img{
		margin-top: 16px;
	}
.top_info_bnr_area_flex{
	flex-wrap: wrap;
	margin: 0 auto 16px;
    width: 90%;
    max-width: 640px;
	}
.top_info_bnr_area_flex a:nth-of-type(1),.top_info_bnr_area_flex a:nth-of-type(2){
		width: 48%;
	}
.mv_bnr_area{
	right: 0;
    left: 0;
	text-align: center;
	}
.mv_bnr_area img {
    width: 77%;
    margin: auto;
}
.top_mv_catch{
	top: 75px;
    width: fit-content;
    max-width: 90%;
	font-size: 18px;
	text-shadow:  0 0 2px #fff,  0 0 4px #fff,  0 0 6px #fff,  0 0 10px #fff,  0 0 15px #fff,  0 0 20px #fff,  0 0 30px #fff,  0 0 40px #fff;
	filter:none;
	}
.top_mv_catch_text span{
	font-size: 20px;	
	}
.top_mv_catch_text_sub{
		font-size: 15px;
	line-height: 1.8em;
	}
.scroll_area, 
.top_column_list {
    width: calc(100% - 1px) !important;
	padding-right: 2% !important;
}
.top_news_list li a, 
.top_column_list li a {
    height: auto;
    padding: 12px 12px;
}
.top_news_list li span, 
.top_column_list li span {
    margin-right: 14px;
    font-size: 14px;
}
.top_news_list li em, 
.top_column_list li em {
    line-height: 22px;
    font-size: 13px;
}
.top_news_list li strong, 
.top_column_list li strong {
    margin-top: 8px;
    font-size: 15px;
}
.top_info_wrap .scroll_area,.top_info_wrap .top_column_list {
    height: 230px;
}
.top_column_btn a {
    width: 90%;
}

/* 追加分ここから */
.top_clinic{
  background: none;
}
.top_clinic .inner{
    width: 100%;
    flex-flow: column;
}
.top_clinic .inner > * {
    width: 100%;
}
	/*診療表ページ移行につき解除*/
.clinic_left,
.clinic_right{
/*
    padding: 50px 20px;
*/
	padding: 0;
}
.clinic_left{
  background: #ffedd3;
}
.clinic_right{
  background: #e7f4e7 ;
}
.clinic_box .clinic_left{
  background: none;
}
	.clinic_box .clinic_right{
  background: none;
}
	
	
.top_clinic h3{
  font-size: 22px;
}
.clinic_tel{
  flex-flow: column;
  gap: 0;
}
.clinic_tel p{
  padding: 0;
  text-align: center;
}
.clinic_tel a{
  font-size: min(8vw, 30px);
  text-align: center;
}
.top_clinic .schedule tr{
    display: table;
    width: 100%;
}
.top_clinic .schedule tr th{
    width: 25%;
	line-height: 1.6;
}
.top_clinic .schedule tr td{
    /*width: auto;*/
	width: calc(75% / 7);
	text-align: center;
}
.top_clinic .schedule tr td:nth-of-type(1){
  border-radius: 0;
}
.clinic_left .btn_yoyaku_orange a,
.clinic_right .btn_yoyaku_green a{
    width: auto;
    padding: 10px 40px 10px 15px;
    line-height: 1.5;
    font-size: 16px;
}
.clinic_left .btn_yoyaku_orange a::after,
.clinic_left .btn_yoyaku_green a::after{
  right: 10px;
}
.clinic_right .kamoku_list li{
  flex-flow: column;
}
.clinic_right .kamoku_left,.clinic_right .kamoku_right{
  width: 100%!important;
}
.clinic_right .kamoku_list li:not(:last-of-type):not(.senmongairai){
  margin: 0 auto 20px;
}
	.top_clinic .schedule tr th.long_tit{
		padding: 0;
	}
	.top_clinic .schedule tr th.long_tit span{
		font-size: 10px;
	}
/* 追加分ここまで */


.top_covid {
    width: 92%;
    margin: 0 auto 50px;
    padding: 6px;
}
.top_covid .inner {
    padding: 44px 5% 20px;
    background-position: left 10% top 10px, right 10% top 10px, left top, right top;
    background-size: 15% auto, 15% auto, 36% auto, 36% auto;
}
.top_covid h2 {
    margin: 0 auto 18px;
    padding: 0 6px 20px;
    font-size: 23px;
    text-align: center;
}
.top_medical {
    flex-flow: column;
    width: 100%;
}
.top_medical::before{
  width: 300px;
  height: 300px;
}
	
	
/*==================================================================

  .top_bnr_area

==================================================================*/
	
.top_bnr_area {
	width: 90%;
	max-width: 640px;
	margin: 0 auto;
	padding-right: 0;
}
.top_bnr_area .flex_area {
	flex-direction: column;
	align-items: center;
	grid-row-gap: 16px;
}
.top_bnr_area .flex_area .item_01 {
	width: 100%;
	max-width: 420px;
}
	.top_bnr_area .top_info_bnr{
		justify-content: center;
		align-items: center;
	}
	.top_bnr_area .top_info_bnr li{
    width: 100%;
		max-width: 350px;
}	
	.top_bnr_area .item_02 .top_info_bnr li:nth-of-type(1) a {
		width: 320px;
}
.top_bnr_area .item_02 .top_info_bnr li:nth-of-type(2) a {
	width: 320px;
}
.top_bnr_area .item_03 .top_info_bnr li:nth-of-type(1) a {
	width: 320px;
}
.top_bnr_area .item_04 .top_info_bnr li:nth-of-type(1) a {
	width: 320px;
}
	
.top_medical_wrap .inner {
    display: block;
    width: 100%;
    padding: 50px 20px;
}
.top_medical h2 {
    margin-bottom: 30px;
    font-size: 22px;
    background-position: right top 20px;
    background-size: auto 11px;
}
.top_medical h2::before {
    margin-bottom: 14px;
    font-size: 40px;
}
.top_medical_link {
    display: block;
    width: 100%;
}
.top_medical_link.medical01{
  width: 100%;
  padding: 200px 20px 50px;
}
.top_medical_link.medical02{
  width: 100%;
  padding: 50px 20px;
}
.top_medical_link.medical01::before,
.top_medical_link.medical02::before{
  left: 0;
  right: 0;
  width: 100%;
  border-radius: 0;
}
.top_medical_list {
    gap: 10px;
    width: 100%;
    margin: 0 auto;
}
.medical01 .top_medical_list li,
.medical02 .top_medical_list li {
  width: 100%;
}
.medical01 .top_medical_list li a {
    flex-flow: column;
    width: 100%;
    height: auto;
    padding: 15px 30px;
    line-height: 1.5;
    font-size: 18px;
}
.medical02 .top_medical_list li a{
  flex-flow: column;
  width: 100%;
  height: auto;
  padding: 15px 30px;
  line-height: 1.5;
  font-size: 18px;
}
.medical02 .top_medical_list li.tline a{
  font-size: 18px;
}
.medical01 .top_medical_list li a::before,
.medical02 .top_medical_list li a::before{
  margin: 0 auto 5px!important;
}
.medical01 .top_medical_list li a::after,
.medical02 .top_medical_list li a::after{
  right: 10px;
}
.medical02 .top_medical_list li a .medical_sub,.medical01 .top_medical_list li a .medical_sub{
  margin: 0 auto 5px;
}
.top_doctor {
}
.top_doctor .inner{
    width: 100%;
    padding: 50px 5%;
    background-position: bottom 0 right 0;
}
.top_doctor h2 {
    margin-bottom: 25px;
    padding: 0 0 24px;
    font-size: 22px;
    background-size: 220px auto, 220px auto, 79px auto;
    background-position: left calc(50% - 230px) top, right calc(50% - 230px) top, center bottom;
}
.top_doctor h2::before {
    margin-bottom: 12px;
    font-size: 40px;
}
.top_doctor .doctor_flex {
    flex-flow: column;
    width: 100%;
    gap: 60px;
}
.top_doctor_bna{
  justify-content: center;
}
.top_doctor_bna::before{
  top: -30px;
  left: 50%;
  bottom: auto;
  width: 100%;
  transform: translate(-50%,0) rotate(0);
}

/*============================================================================

$breadcrumbs ぱんくず

============================================================================*/
.breadcrumbs {
    width: 100%;
    margin: 0 0 20px;
}
.breadcrumbs li {
    display: inline-block;
}

/*============================================================================

$共通

============================================================================*/
.text {
    float: none;
    width: auto;
}

/*============================================================================

$見出し

============================================================================*/
h1 {
    font-size: 12px;
    width: auto;
    padding: 8px 5% !important;
    text-align: center;
    position: static;
    margin-top: 0 !important;
}
.tit01 {
    margin-bottom: 30px;
    padding-bottom: 20px;
    font-size: 21px;
    background-size: auto 7px;
}
.tit01::before {
    margin-bottom: 12px;
    font-size: 35px;
}
.tit02 {
    margin-bottom: 16px;
    padding: 0 0 12px 28px;
    font-size: 20px;
    letter-spacing: 0.1em;
}
.tit02::after {
    top: 4px;
    width: 20px;
    height: 19px;
    background-size: cover;
}
.tit03 {
    margin-bottom: 10px;
    font-size: 19px;
}
.nowrap {
    white-space: normal;
}

/* テーブル */
.tb01 {
    white-space: inherit;
}
.tb01 th {
    width: 30%;
    font-size: 13px;
}
.tb01 td {
    font-size: 14px;
    text-align: center;
}
.schedule_note li {
    font-size: 14px;
}
.schedule_note li strong {
    padding-bottom: 0;
}

.tb03 {
    border: none;
}
.tb03,
.tb03 th {
    white-space: inherit;
}
.tb03 td, .tb03 th {
    padding: 10px 2%;
}
.tb03.w075par {
    width: 100%;
}

/* 縦積みにした時 */
.tb03.ver th, 
.tb03.ver td {
    display: block;
    width: 100%;
}
.tb03.ver tr:last-of-type td:last-of-type {
    border-bottom: 1px solid #ccc;
}
.tb03.ver td {
    border-top: none;
    border-bottom: none;
}
.tb03.ver th {
    text-align: center;
}

.tb03.ver th:not(:first-child) {
    border-bottom: none;
    border-top: none;
}
.tb03.ver02 thead th{
    width: 8%;
}
.tb03.ver02 tbody th{
    width: 12%;
}


/* 横スクロール */
.scroll_tb {
    overflow-x: scroll;
}
.scroll_tb table {
    width: 760px !important;
}

.tb04,
.tb04 th {
    white-space: normal;
}
.tb04 th {
    font-size: 13px;
}
.tb04 td,
.tb04 th {
    padding: 2%;
}
/* リスト */
.list06 {
    padding: 25px 6% 15px;
}
.list06 li {
    margin-bottom: 10px;
}
.list06.ver02 li{
    width: 100%;
}
.list08 {
    padding: 25px 6% 15px;
}
.list08 li {
    margin-right: 4%;
    margin-bottom: 15px;
    font-size: 15.5px;
}
.list10 {
    padding: 20px 6%;
}
.list11 {
    padding: 20px 6%;
}
.box_style01,
.box_style02,
.box_style03 {
    padding: 20px 6%;
}

/* ボタン */
.btn01 a {
    display: block;        
    text-align: left;
}

/* アンカーリンク */
.ank02 {
    width: 100%;
}
.ank02 li {
    width: 100%;
}
.ank03 {
    width: 100%;
}
.ank03 li {
    width: 100%;
}
.ank04 {
    width: 100%;
}
.ank04 li {
    width: 100%;
}

/* 画像右寄せ */
.img_fr {
    float: none;
    margin-left: 0;
    text-align: center;
    max-width: 100%;
}
.img_fr img {
    margin-bottom: 15px;
}

/*============================================================================

$doctor

============================================================================*/
.doctor_flex{
  align-items: center;
  justify-content: center;
}
.doctor_bna{
  justify-content: center;
  gap: 20px;
  margin: 40px 0;
  padding: 0;
}
.doctor_text h3 {
    margin-bottom: 10px;
    font-size: 22px;
    line-height: 1.8;
    letter-spacing: 0.13em;
}
/* ごあいさつ */
.doctor_greet .text {
    float: none;
    width: auto;
}
/* 経歴、資格 */
.doctor_carr {
    margin-top: 20px;
}
.doctor_carr_sec1 {
    float: none;
    width: 100%;
    margin-right: 0;
    margin-bottom: 20px;
    padding: 20px 6% 30px;
}
/*
.doctor_list li span {
    display: block;
}
	*/
	.doctor_list li {
		flex-direction: column;
	}
	.doctor_list li span.name {
		width: 100%;
	}
	.doctor_list li span.position {
		width: 100%;
	}
	
	.attending_list tbody th {
	width: 160px;
}
 .attending_list tbody td {
	width: 500px;
}
	
	/* 院長経歴・資格欄 */
	
	.director_carr_box .box_carr_left,
	.director_carr_box .box_carr_right {
	width: 100%;
}
	
	.director_carr_box .box_carr_right .doctor_carr_sec1 {
	height: 100%;
}
	
	
/* その他医師紹介 */

.doc_int {
	flex-direction: column;
	grid-row-gap: 24px;
}

.box_doc_left,
.box_doc_right {
	width: 100%;
}
	.box_doc_right {
		grid-row-gap: 24px;
	}

/*============================================================================

$clinic

============================================================================*/
table[class*="schedule"] {
    width: 100%;
    margin-bottom: 12px;
}
.clinic_sec1 {
    max-width: 100%;
}

/* 医院概要 */
.clinic_sec1 dt,
.clinic_sec1 dd {
    width: 100%;
}
.clinic_sec1 dd a:hover {
    color: inherit;
}
.clinic_sec1 .schedule {
    width: 100%;
    margin: auto;
}
.clinic_sec1 .schedule .tb01 {
    width: 100%;
}
[class^="clinic_slide_wrap"]:not(.clinic_slide_wrap_flex) {
    max-width: 100%;
}

.clean.tb01 {
    width: 100%;
}
	
	/*診療表*/
	.table_area {
		overflow-x: scroll;
		padding: 16px;
	}
	
	/* 助成に関する表 */
	
	.tb_jhosei {
    border: none;
	}
	.tb_jhosei,
	.tb_jhosei th {
		white-space: inherit;
	}
	.tb_jhosei td, .tb_jhosei th {
    padding: 10px 2%;
	}
	.tb_jhosei.w075par {
    width: 100%;
}
	.clinic_box {
	background: none;
}

.corp_list {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0 4%;
  }
  .corp_list li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 200px;
            flex: 1 1 200px;
    margin: 0 1% 2%;
  }
  .corp_list li:nth-child(4n) {
    margin-right: 1%;
  }
  .corp_list li a img {
    width: 100%;
    height: 72px;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .corp_list.col3 li:nth-child(3n) {
    margin-right: 1%;
  }
  .corp_list.col3 li:nth-child(4n) {
    margin-right: 1%;
  }
  .corp_list.col3 li:last-child {
    margin-right: 1%;
  }
/*============================================================================

$facilities

============================================================================*/
.facilities_equip dl {
    width: 100%;
    margin-left: 0;
    padding: 6% 10% 10%;
}
.facilities_equip_img {
    width: 100%;
    margin-bottom: 8%;
    margin-left: 0;
}
.facilities_equip2 {
    gap: 20px 3.5%;
}
.facilities_equip2 dl, 
.facilities_equip2 dl:nth-child(3n) {
    width: 100%;
    margin: 0 0 0;
}
.facilities_equip2 dl:nth-child(even) {
    margin-right: 0;
}
.facilities_equip3 dl {
    width: 100%;
    margin: 0 0 0;
}
.facilities_equip3 dl:nth-child(even) {
    margin-right: 0;
}
.facilities_equip3 dl, 
.facilities_equip3 dl:nth-child(3n) {
    width: 100%;
    margin: 0 0 0;
}

/*============================================================================

$access

============================================================================*/
.access_guide {
    margin-bottom: 15px;
    font-size: 19px;
    line-height: 1.6;
}
.access_map {
    margin-bottom: 20px;
}
.access_map dt {
    font-size: 15px;
}
.access_map dd {
    /*height: 340px;*/
}
.access_list {
    padding: 30px 15px 0;
}
.access_list dl {
    width: 100%;
    margin-bottom: 30px;
}
.access_train, .access_bus, .access_car, .access_bike {
    margin-bottom: 10px;
    padding: 20px 6%;
}
.access_train dt, .access_bus dt, .access_car dt, .access_bike dt {
    margin-bottom: 5px;
    font-size: 18px;
    line-height: 1.3;
}
.access_info dd .btn01 a:first-of-type {
    margin-bottom: 10px;
}

  .map_flex_item{
    width: 100%;
  }
  .map_flex_item:first-child{
    margin-bottom: 20px;
  }

/*============================================================================

$medical

============================================================================*/
.medi_qalist dt, 
.medi_qalist dd .qa_tit {
    margin-bottom: 15px;
    padding-bottom: 15px;
    font-size: 19px;
    line-height: 1.4;
    letter-spacing: 0;
}
	
/*==================================================================

  $reservation

==================================================================*/
.faq_wrapper {
	margin-top: 96px;
	padding: 10px 20px 20px;
}
	.faq_wrapper h5.tit_faq {
		min-width: 320px;
	  top: -20px;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	padding: 12px 48px;
	font-size: 1.05em;
}
	.faq_wrapper h5.tit_faq span {
		font-size: 1em;
	}
.faq_wrapper .list_faq dt,
.faq_wrapper .list_faq dd {
	position: relative;
	padding: 20px 0 20px 40px;
	font-size: 1.05em;
}
	.faq_wrapper .list_faq dd {
	padding-top: 4px;
	}
	
.faq_wrapper .list_faq dt::before {
	top: 17px;
	left: 0;	
	width: 30px;
	height: 30px;
}
.faq_wrapper .list_faq dt::after {
	top: 13px;
	left: 6px;	
	font-size: 1.5em;
}
.faq_wrapper .list_faq dd::before {
	top: 0;
	left: 0;	
	width: 30px;
	height: 30px;
}
.faq_wrapper .list_faq dd::after {
	top: -4px;
	left: 7px;	
	font-size: 1.5em;
}

	p.sp_reserve_info span {
		font-size: 1em;
	}

/*============================================================================

  $qa

============================================================================*/
.qa1 dl dt {
		padding-right: 32px;
    margin-bottom: 10px;
    padding-left: 40px;
    line-height: 1.5;
    font-size: 19px;
    letter-spacing: 0;
}


/*============================================================================

$price

============================================================================*/
.tb03.price {
    width: 100%;
    font-size: 14px;
}
.tb03.price td {
    min-width: 100px;
}

/*============================================================================

$interview

============================================================================*/
.guide_list {
    display: block;
    margin-bottom: 60px;
}
.guide_list .step_box {
    width: 100%;
    margin-bottom: 50px;
}
.guide_list .step_box:last-of-type {
    margin-bottom: 0;
}
.step_box dl.box01,
.step_box dl.box02,
.step_box dl.box03 {
    height: auto;
}
.guide_list.per100 {
    margin-bottom: 0;
}

/*==================================================================

.layout

==================================================================*/
.layout_tit {
    font-size: 18px;
}
.layout_tit em {
    font-size: 24px;
}

/* 1つ並びのレイアウト。画像は無し、左にタイトル、右に文章 */
.layout01 .layout01_box {
    display: block;
}
.layout01 .layout01_title {
    width: 100%;
    padding: 3% 2%;
}
.layout01 .layout01_title.linklist {
}
.layout01 .layout01_text {
    width: 100%;
}
.layout01.linklist .layout01_text p {
    font-size: 15px;
}
.layout01 .layout01_text .list06 {
    padding: 20px 4% 5px;
}
.layout01 .layout01_text img {
    width: 70%;
    margin: 0 auto;
    display: block;
}

/* 2つ並びのレイアウト。最初(dt)にタイトル、画像がその下(dd)、画像の下に文章 */
.layout02 {
    display: block;
}
.layout02 .layout02_box {
    width: 100%;
}
.layout02 .layout02_box img {
    width: 70%;
    margin: 0 auto;
    display: block;
}

/* 1つ並びのレイアウト。画像が左、右にタイトル、タイトル下に文章 */
.layout03 {
    margin: 0 0 15px;
}
.layout03 .layout03_box {
    display: block;
}
.layout03 .layout03_title {
    width: 100%;
}
.layout03 .layout03_title img {
    width: 70%;
    margin: 0 auto;
    display: block;
    padding: 0;
}
.layout03 .layout03_text {
    width: 100%;
    padding: 15px 3% 1%;
}

/* 1つ並びのレイアウト。画像が左、右にタイトル、タイトル下に文章、タイトルと文章のエリア(dd)は背景色が別の色 */
.layout04 .layout04_box {
    display: block;
}
.layout04 .layout04_title {
    width: 100%;
    padding: 2%;
}
.layout04 .layout04_title img {
    width: 70%;
    margin: 0 auto;
    display: block;
}
.layout04 .layout04_text {
    width: 100%;
}

/* 1つ並びで3列に区切られたレイアウト。画像が左、画像の下にタイトル、右に文章 */
.layout05 .layout05_box {
    display: block;
}
.layout05 .layout05_title {
    width: 100%;
    text-align: center;
    display: block;
}
.layout05 .layout05_title img {
    width: 70%;
    margin: 0 auto;
    display: block;
}
.layout05 .layout05_text1:nth-child(2) {
    width: 100%;
    margin-top: 10px;
}
.layout05 .layout05_text1:nth-child(3) {
    width: 100%;
    border-left: none;
}

/* 1つ並びで3列に区切られたレイアウト。左がタイトル、真ん中と右に文章 */
.layout06 {
    margin: 0 0 15px;
}
.layout06 .layout06_box {
    display: block;
}
.layout06 .layout06_title {
    width: 100%;
    padding: 3%;
    display: block;
    text-align: center;
}
.layout06 .layout06_title img {
    width: 70%;
    margin: 0 auto;
    display: block;
}

/* 数字 */
.layout06 .layout06_text1:nth-child(2) {
    width: 100%;
    margin-top: 10px;
}
.layout06 .layout06_text1:nth-child(3) {
    width: 100%;
    border-left: none;
}

/* 3つ並びのレイアウト。 */
.layout07 {
    display: block;
}
.layout07 .layout07_box {
    display: block;
    width: 100%;
}

/* layout09 */
.layout09 .layout09_box {
    display: block;
}
.layout09 .layout09_title {
    width: 100%;
    text-align: center;
    display: block;
}
.layout09 .layout09_title img {
    width: 70%;
    margin: 0 auto;
    display: block;
}
.layout09 .layout09_text1 {
    width: 100%;
    margin-top: 10px;
}

/* layout10 */
.layout10 .flow_box {
    justify-content: space-between;
    padding: 6%;
}
.layout10 .flow_box::before {
    display: none;
}
.layout10 .flow_box .number {
    width: 42px;
    height: 42px;
    margin-right: 0;
    font-size: 20px;
}
.layout10 .flow_box .layout10_box {
    width: 80%;
}
.layout10 .flow_box .layout10_text .title {
    font-size: 14px;
    line-height: 1.4;
}
.layout10 .flow_box .layout10_text .title span {
    display: block;
    padding-bottom: 8px;
    font-weight: bold;
}
.layout10 .flow_box .layout10_text .title span::after {
    display: none;
}
.course_ablation::before {
    display: none;
}

/* layout11 */
[class^="layout11_text"] dl dt, 
[class^="layout11_text"] dl dd {
    margin-left: 0;
    width: 100%;
}
[class^="layout11_text"] dl dt {
    margin-bottom: 0;
}
[class^="layout11_text"] dl dd {
    margin-bottom: 10px;
}
.layout11_image02 {
    flex-wrap: wrap;
}
.layout11_image02 span {
    width: 100%;
}
.layout11_image02 span:last-child {
    margin-top: 40px;
}
.layout11_image02 span:last-child::before {
    top: -32px;
    bottom: auto;
    left: 0;
    right: 0;
    justify-content: center;
    content: "\f078";
}

.caution {
    padding: 20px 5%;
}
.caution span {
    width: 50px;
    height: 50px;
    top: -10px;
    left: -10px;
}
.caution p:nth-of-type(1):not(.notit) {
    font-size: 19px;
    padding: 0 0 0 32px;
    letter-spacing: 0;
}
.list_img_flex{
    flex-direction: column;
}
	
/*============================================================================

$contact

============================================================================*/	
	
.suggestion td {
    display: block;
}
.suggestion tr {
    width: 100%;
    display: block;	
    padding: 6%;
	margin: 0;
}
.suggestion input {
    width: 100%;
    padding: 5px;
}	
.suggestion p {
    width: 100%;
}	
.suggestion textarea {
    width: 100%;
    padding: 5px;
}
/*============================================================================

$news

============================================================================*/

.news_list li a {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

/*============================================================================

$mpcloud_schedule

============================================================================*/

#mpcloud_schedule {
    width: 100%;
    right: 0;
    left: 0;
    border-radius: 0;
}
.time_close {
    right: 20px;
    font-size: 17px;
}
.schedule_time {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}
.schedule_time dt {
    width: 35%;
    margin-bottom: 5px;
}
.schedule_time dd {
    width: 65%;
    margin-bottom: 5px;
}
.schedule_time dd i {
    margin: 0 3px 0 15px;
    vertical-align: text-bottom;
}

/*common*/
.pc{display:none!important}.sp{display:block!important}.pc_inline{display:none!important}.sp_inline{display:inline!important}.pc_table{display:table!important}.sp_table{display:table!important}img{max-width:100%;height:auto}.sp_mb00{margin-bottom:0!important}.sp_mr00{margin-right:0!important}.sp_ml00{margin-left:0!important}.sp_mt00{margin-top:0!important}.sp_pb00{padding-bottom:0!important}.sp_pr00{padding-right:0!important}.sp_pl00{padding-left:0!important}.sp_pt00{padding-top:0!important}.sp_center{text-align:center}


}

@media screen and (max-width:320px) {
    .sp_inline_iP {
        display: inline !important
    }
}