/* CSS Document */
@media (min-width: 641px) and (max-width: 1024px) {
  body,
  .mainvisual_wrap,
  #mainvisual,
  header,
  footer {
    min-width: 1330px;
  }
  .tgl_menu_list ul li.nav_mega_menu .mega_menu_wrap {
    width: 1300px;
  }
  .mainvisual_wrap {
    padding: 0 3%;
  }
}
@media screen and (max-width: 640px) {
  body {
    font-size: 14px;
  }

  body,
  #mainvisual .inner,
  header,
  footer {
    min-width: 100%;
  }

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

	header

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

  header {
    display: none;
  }

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

	nav

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

  .nav_wrap {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000;
    width: 100%;
    min-width: auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    background: #fff;
  }
  .nav_wrap .header_logo {
    width: calc(100% - 56px);
  }
  .nav_wrap .header_logo a {
    display: block;
    width: 100%;
    height: 100%;
    padding: 5px 0;
  }
  .nav_wrap .header_logo img {
    width: 100%;
    height: 45px;
  }

  /* ハンバーガーボタン */
  .btn_tgl_menu {
    position: relative;
    right: 0;
    color: #fff;
    width: 55px;
    background: #177abd;
    border: none;
    padding: 0;
    margin: 0;
    text-align: center;
    transition: right 0.6s cubic-bezier(0.19, 1, 0.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(0.19, 1, 0.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: 16.25rem;
  }
  .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: 0;
    right: -16.25rem;
    z-index: 2;
    overflow: hidden;
    width: 16.25rem;
    height: 100%;
    transition: right 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    background: #177abd;
    padding: 15px;
    min-width: auto;
  }
  .tgl_menu_list ul {
    flex-flow: column wrap;
  }
  .tgl_menu_list ul li {
    display: block;
    border-bottom: 1px solid #fff;
    width: 100%;
    margin-left: 0;
  }
  .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.is_accord a:before,
  .tgl_menu_list ul li.is_accord p:before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f067";
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: auto;
    height: auto;
    border: none;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
  }
  .tgl_menu_list ul li.is_accord.active .parent_menu::before {
    content: "\f068";
  }
  .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;
  }
  .tgl_menu_list ul li.is_accord .child_menu {
    display: none;
    padding: 0 0 10px 15px;
    opacity: 0;
    visibility: hidden;
    transition: height 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  }
  .tgl_menu_list ul li.is_accord.active .child_menu {
    opacity: 1;
    visibility: visible;
  }

  body.nav-open .tgl_menu_list {
    overflow-y: scroll;
    right: 0;
  }

  /* ------- スライドメニュー シングル------- */
  .tgl_menu_list ul li.nav_single_menu div {
    position: static;
    opacity: 1;
    visibility: visible;
    width: 100%;
    padding-bottom: 10px;
    box-shadow: none;
  }
  .tgl_menu_list ul li.nav_single_menu div a {
    margin-left: 15px;
    background: none;
    padding: 3px;
    line-height: 2;
    text-indent: -1.2em;
    padding-left: 1.2em;
    border-bottom: none;
  }
  .tgl_menu_list ul li.nav_single_menu div a::before {
    position: static;
    display: inline;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f105";
    margin-right: 10px;
  }
  .tgl_menu_list ul li.nav_single_menu div a i.nav_arrow {
    display: none;
  }
  .tgl_menu_list ul li.nav_single_menu div a:hover {
    color: #fff;
    background: none;
  }

  /* ------- スライドメニュー メガ------- */
  .tgl_menu_list ul li.nav_mega_menu {
    position: relative;
  }
  .tgl_menu_list ul li.nav_mega_menu p::before {
    position: absolute;
    display: flex;
    align-items: center;
    width: auto;
    height: auto;
    border: none;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f067";
  }
  .tgl_menu_list ul li.nav_mega_menu .mega_menu_wrap {
    display: none;
    position: static;
    opacity: 0;
    visibility: hidden;
    background: none;
    box-shadow: none;
    transition: height 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  }
  .tgl_menu_list ul li.nav_mega_menu.active .mega_menu_wrap {
    opacity: 1;
    visibility: visible;
  }
  .tgl_menu_list .mega_menu_inner {
    display: block;
    padding: 0 0 10px 0;
    width: 100%;
  }
  .tgl_menu_list .mega_menu_top a {
    padding: 12px 12px 12px 0;
  }
  .tgl_menu_list .mega_menu_top a::before {
    position: static;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f105";
    border: none;
    margin-right: 10px;
  }
  .tgl_menu_list .menu_list {
    margin-left: 0;
  }
  .tgl_menu_list ul li.nav_mega_menu .mega_menu_inner .menu_list p {
    display: none;
  }
  .tgl_menu_list ul li.nav_mega_menu .mega_menu_inner .menu_list li {
    border: none !important;
  }
  .tgl_menu_list ul li.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 ul li.nav_mega_menu.active p::before {
    content: "\f068";
  }

  /* ナビ展開時の後ろの背景 */
  .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 {
    width: 100%;
  }
  .btn_area.under_fixed {
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 10;
  }
  .btn_area ul {
    display: flex;
    background: #fff;
  }
  .btn_area li.btn {
    width: 100%;
  }
  .btn_area li.btn a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    /* gap: 3px; */
    width: 100%;
    height: 100%;
    color: #fff;
    text-align: center;
    font-weight: bold;
    padding: 13px 2%;
  }
  .btn_area li.btn a i {
    width: 15px;
    margin-right: /*3*/6px;
  }
  .btn_area li.btn_tel {
    background: rgba(19, 141, 222, 1);
  }
  .btn_area li.btn_yoyaku {
    background: url(../images/web_yoyaku_btn_bg.jpg) top center no-repeat;
    background-size: cover;
  }
  .btn_area li.btn_yoyaku a {
    color: #002870;
  }
  .btn_area li.btn_monshin {
    background: #00a3bb;
  }
  .btn_area li.btn_access {
    background: #002870;
  }
  .btn_area li.btn_check {
    background: url(../images/fixed_web_check_btn_bg.jpg) top center / cover no-repeat;
  }
  .btn_area li.btn_check a {
    color: #4e3104;
  }

  /* 準備中用のクラス */
  .btn_area li.btn.coming {
    background: #aaa !important;
  }
  .btn_area li.btn.coming a {
    pointer-events: none;
    padding: 4px 2% 22px;
  }
  .btn_area li.btn.coming a::before {
    content: "（準備中）";
    position: absolute;
    bottom: 4px;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center;
    font-size: 90%;
  }
  /*============================================================================

	#mainvisual

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

  #mainvisual {
    background-position: center;
    background-attachment: scroll;
    height: /*200*/100px;
    margin-top: calc(150px + 3%);
  }
  #mainvisual .inner {
    width: auto;
    height: inherit;
  }
  /* 下層ページヘッドライン */
  #mainvisual h2 {
    font-size: 22px;
  }

  .mainvisual_headline p{
    font-size: 12px;
  }
  .mainvisual_headline p.headline{
    font-size: 22px;
  }

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

	#contents

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

  .box1 {
    width: 92%;
  }
  .box2 {
    margin-bottom: 50px;
  }
  .box3 {
    margin-bottom: 50px;
  }
  #contents {
    width: auto;
  }
  #contents_left {
    width: auto;
    float: none;
    margin-right: 0;
  }
  #contents_right {
    width: auto;
    padding: 0 6%;
    float: none;
  }
  /*============================================================================

	footer

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

  .footer_info {
    width: auto;
    padding: 40px 6%;
  }
  .footer_info_left,
  .footer_info_right {
    width: 100%;
  }
  .footer_info_left {
    margin-bottom: 20px;
  }
  .footer_info_right {
    margin-top: 20px;
  }
  .footer_info_logo,
  .footer_info_logo img {
    width: 222px;
    height: 148px;
  }
  .footer_info_sche {
    float: none;
    width: 100%;
  }
  .footer_info_overview_logo {
    margin-bottom: 20px;
  }
  .footer_info_overview_tel {
    margin-bottom: 20px;
  }
  footer .c-web_yoyaku_btn {
    width: 40%;
  }
  footer .c-web_check_state_btn {
    width: 54%;
  }
  .footer_info_left .c-more_morebtn {
    position: static;
    margin-top: 10px;
  }
  .footer_info_sche {
    margin-top: 40px;
  }
  .footer_info_access_detail {
    display: block;
  }
  .footer_info_access_detail dt,
  .footer_info_access_detail dd {
    width: 100%;
  }
  .footer_info_access_detail dt {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
  }
  .footer_info_access_detail dd {
    padding: 10px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
  }

  .footer_info_sns_link {
    position: static;
    text-align: center;
    justify-content: center;
    margin-bottom: 25px;
  }
  .copy {
    margin-top: 0;
    padding-bottom: 30px;
  }
  .pagetop {
    bottom: 35px;
    zoom: 0.8;
  }
  /*============================================================================

	$top

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

  /* .top_catch*/
  .top_clinic_catch {
    position: static;
    display: block;
    width: 90%;
    margin: auto;
    transform: unset;
  }

  .top_clinic_catch_bnr:not(:first-of-type) {
    margin-top: 15px;
  }

  .top_clinic_catch_bnr,
  .top_clinic_catch_bnr img {
    margin: 0 auto;
    text-align: center;
  }

  .top_clinic_catch__item:first-child {
    margin-bottom: 80px;
  }
  .top_clinic_catch__item {
    width: 100%;
  }
  .top_clinic_catch__item_text {
    font-size: 14px;
    left: 0;
    margin-top: -40px;
  }
  .top_clinic_catch__item_tit {
    margin-top: 0;
  }
  .top_clinic_catch__item_tit img {
    position: relative;
    top: -30px;
  }
  /*
.top_clinic_catch__item {
  margin: 0;
}
.top_clinic_catch__item_text {
  font-size: 11px;
  left: 0;
}
*/

  /* .top_news*/
  .top_news {
    margin-top: 0;
    margin-bottom: 10px;
  }
  .top_news::before {
    top: -180vw;
    height: calc(100% + 180vw);
  }
  .top_news .box1 {
    display: block;
  }
  .top_news_tit_wrap {
    width: 100%;
  }
  .top_news_frame {
    width: 100%;
    background: #fff;
    padding-top: 30px;
    padding-left: 7%;
    border-top-left-radius: 40px;
  }

  .top_news_suppy {
    position: static;
    justify-content: flex-end;
  }
  .top_news_suppy_img {
    zoom: 0.7;
  }
  .top_news_tit_wrap {
    padding-top: 30%;
    padding-bottom: 10px;
  }

  .top_news_tit::before {
    bottom: 40px;
    transform: translateX(-50%);
    left: 50%;
    background-size: 89% auto;
  }
  .news_list {
    font-size: 14px;
  }

  /* .top_content*/
  .top_concept {
    margin-bottom: 20px;
  }
  .top_content_inner {
    display: block;
    margin-top: 20px;
  }

  .top_concept_img_wrap {
    position: static;
    width: 100%;
    margin-bottom: 20px;
  }
  .top_concept .c-more_morebtn {
    left: 0;
    width: 80%;
    margin: 20px auto 0;
  }
  .top_concept_text {
    width: 100%;
    font-size: 14px;
  }
  .top_concept_img::before {
    display: none;
  }

  /* .top_features */
  .top_features {
    padding-top: 45px;
    padding-bottom: 30px;
  }
  /*.top_features::after {
  height: 300px;
}*/
  .top_features .box1 {
    z-index: 3;
    margin-bottom: 30px;
  }
  .top_features_suppy01,
  .top_features_suppy02 {
    right: 0;
    zoom: 0.8;
  }
  .top_features_list_wrap::before {
    width: 100%;
    left: 0;
    background-position: top right -51vw;
  }
  .top_features_list {
    display: block;
    width: 84%;
    margin: auto;
  }
  .top_features_list_item {
    width: 100%;
    height: auto;
    margin-bottom: 30px;
    padding-bottom: 25px;
  }
  .top_features_list_text {
    margin-top: 20px;
    font-size: 15px;
  }
  .top_features_list_wrap02 .top_features_list_item {
    background: #f7f7f7;
  }
  .top_features_list_wrap02 .top_features_list_num::before {
    background: url("../images/top_features_list_num_bg_gray.png") top center no-repeat;
  }
  .top_features_list_text_line01 {
    top: 0;
  }
  .top_features_list_text_line01 .top_features_list_num {
    top: -50px;
  }

  /* .top_medical*/
  .top_medical {
    padding-top: 50px;
  }
  .top_medical_list {
    flex-wrap: wrap;
    padding-top: 30px;
    margin-bottom: 70px;
  }
  .top_medical_list_item {
    width: 49%;
    margin-bottom: 30px;
  }
  .top_medical_list_item:nth-of-type(1),
  .top_medical_list_item:nth-of-type(5) {
    margin-left: 0;
  }
  .top_medical_list_item:nth-of-type(4),
  .top_medical_list_item:nth-of-type(8) {
    margin-right: 0;
  }
  .top_medical_list_item img {
    padding-bottom: 10px;
  }
  .top_medical_list_item a {
    font-size: 14px;
  }

  /* ..top_medical02 */
  .top_medical02 {
    background-size: cover;
    padding-bottom: 10px;
  }

  .top_medical02_tit {
    font-size: 22px;
  }
  .top_medical02_sub_tit::before {
    /*right: -18%;
  top: -50vw;
  zoom: 0.75;
  right: -12%;
  top: -130px;
  width: min(33vw, 130px);*/
    right: 28px;
    top: -51px;
    /* width: min(20vw, 130px); */
    width: 40px;
  }
  .top_medical02_sub_tit {
    margin-bottom: 25px;
    text-align: left;
  }
  .top_medical02_list {
    width: 98%;
    gap: 0 10px;
  }
  .top_medical02_list_item {
    /* width: 47%; */
    width: calc(98% / 2 - 10px);
    /* margin-right: 3% !important; */
    height: 150px;
  }
  .top_medical02_list_item:nth-child(even),
  .top_medical02_list_item:last-child {
    margin-right: 0 !important;
  }
  .top_medical02_list_item:last-child {
    /* width: 60%; */
  }
  .top_medical02_list_item a {
    /* font-size: 14px; */
    font-size: clamp(11px, 3vw, 14px);
    height: 165px;
  }

  .top_medical02_list_text {
    font-size: 15px;
  }
  .top_medical02_list_item:nth-of-type(1) .top_medical02_list_text,
  .top_medical02_list_item:nth-of-type(2) .top_medical02_list_text,
  .top_medical02_list_item:nth-of-type(4) .top_medical02_list_text,
  .top_medical02_list_item:nth-of-type(5) .top_medical02_list_text,
  .top_medical02_list_item:nth-of-type(6) .top_medical02_list_text {
    line-height: 1.5rem;
  }
  .top_medical02_list_text span {
    padding-left: /*10px*/ 5px;
  }
  .top_medical02_list_text span::before {
    top: 8px;
    left: -15px;
    zoom: 0.9;
    background: url(../images/medical_list_checkmark.png) no-repeat top center / contain;
    width: 16px;
    height: 13px;
  }

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

	$breadcrumbs ぱんくず

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

  .breadcrumbs {
    width: 92%;
    margin: -10px 4% 40px;
  }
  .breadcrumbs li {
    display: inline-block;
  }
  /*============================================================================

	$共通

============================================================================*/
  #container {
    margin-top: 50px;
    margin-bottom: 50px;
  }

  .box {
    width: auto;
    padding: 0 6% 8%;
  }
  .text {
    float: none;
    width: auto;
    padding: 0;
    border: none;
  }
  .waku02 {
    padding: 5%;
  }
  .waku {
    padding: 5%;
  }
  .waku .tit02_1 {
    border-radius: 20px;
  }
  /*============================================================================

	$見出し

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

  h1 {
    font-size: 11px;
    width: auto;
    padding: 0px 15px;
    text-align: left;
    position: absolute;
    top: 115px;
  }

  .tit01 {
    font-size: 24px;
    padding-left: 17px;
    padding-bottom: 10px;
    padding-top: 10px;
  }
  .tit01_en {
    padding-left: 17px;
    padding-top: 10px;
    padding-bottom: 10px;
    margin-bottom: 20px;
  }
  .tit01.small {
    font-size: 20px;
    padding: 5px 10px;
  }
  .tit02 {
    font-size: 20px;
    margin-bottom: 20px;
    letter-spacing: 0.03em;
    border-radius: 20px;
  }
  .tit02_1 {
    font-size: 20px;
  }
  .tit03 {
    font-size: 18px;
  }
  .tit04 {
    font-size: 17px;
  }

  .nowrap {
    white-space: normal;
  }

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

  .tb03,
  .tb03 th {
    white-space: inherit;
  }
  .tb03.w075par {
    width: 100%;
  }

  /* 縦積みにした時 */
  .tb03.ver th,
  .tb03.ver td {
    display: block;
    width: 100%;
  }
  .tb03.ver td {
    border-top: none;
  }
  .tb03.ver th:not(:first-child) {
    border-top: none;
  }

  /* 横スクロール */
  .scroll_tb {
    overflow-x: scroll;
  }
  .scroll_tb table {
    width: 816px;
  }
  .scroll_tb table th {
    position: sticky;
    left: 0;
  }
  .scroll_tb table th::before {
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    width: calc(100% + 2px);
    height: calc(100% + 2px);
    border: 1px solid #00408f;
  }

  .tb04,
  .tb04 th {
    white-space: normal;
  }
  .tb04 th {
    font-size: 13px;
  }
  .tb04 td,
  .tb04 th {
    padding: 2%;
  }
  /* ボタン */
  .btn01 a {
    display: block;
  }

  /* アンカーリンク */
  .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;
  }

  /* 写真3枚横並び */
.img_flex.ver02{
  flex-direction: column;
}
.img_flex.ver02 .img_flex_item {
  width: 100%;
  margin-bottom: 0;
}
  /*============================================================================

	$doctor

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

  /* ごあいさつ */
  .doctor_greet .text {
    float: none;
    width: auto;
  }
  /* 経歴、資格 */
  .doctor_carr_sec1 {
    float: none;
    width: 100%;
    margin-right: 0;
    margin-bottom: 30px;
    padding: 5%;
  }
  .doctor_carr dt {
    width: 26%;
    text-align: left;
  }
  .doctor_carr dd {
    width: 74%;
  }
  .doctor_flex {
    display: block;
    margin-bottom: 40px;
  }
  .doctor_flex > * {
    width: 100% !important;
  }
  .doctor_greet .text {
    margin-bottom: 15px;
  }

  .doctor_list {
    display: flex;
  }
  .doctor_list_item {
    width: 100%;
    padding: 5%;
  }
  .doctor_list_item:last-child {
    margin-bottom: 0;
  }
  .top_doctor_img img {
    display: block;
    width: 70%;
    margin: auto;
  }
  .doctor_name {
    margin-bottom: 20px;
  }
  .doctor_list + img {
    padding-top: 30px;
  }
  /*============================================================================

	$clinic

============================================================================*/
  .clinic_sec1 {
    max-width: 100%;
  }

  /* 医院概要 */
  .clinic_sec1 dt {
    width: 30%;
  }
.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%;
  }

  /* 院内スライド横 */
  .clinic_slide_wrap2 .clinic_slide_wrap_flex .slick-slider {
    display: block !important;
  }
  .clinic_slide_wrap2 .clinic_slide_wrap_flex .slick-list {
    width: 100%;
  }
  .clinic_slide_wrap2 .clinic_slide_wrap_flex .slick-dots {
    margin-top: 20px;
    width: 100%;
    justify-content: space-between;
  }
  .clinic_slide_wrap2 .clinic_slide_wrap_flex .slick-dots li {
    width: 15%;
    margin-bottom: 10px;
  }
  .clinic_cal .tb03.sp {
    display: table !important;
  }
  .clinic_cal .tb03 th {
    padding: 0;
    /*
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
*/
  }
  .clinic_cal .tb03 td,
  .clinic_cal .tb03 th {
    padding: 5px 0;
    font-size: 0.9em;
  }
  .clinic_cal .tb03 th.bg {
    background-color: #0168b7;
  }
  .clinic_cal .tb03 tr:first-child th:nth-child(even) {
    background: #00286f;
  }
  .clinic_logomark_inner {
    display: block;
  }
  .clinic_logomark_text {
    width: 100%;
  }
  .clinic_logomark_img {
    width: 50%;
    margin: auto;
  }
  .clinic_philosophy h4 {
    width: 90%;
    margin-bottom: 40px;
  }
  .clinic_logomark_img_disc {
    text-align: left;
  }
  /*============================================================================

	$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 dl,
  .facilities_equip2 dl:nth-child(3n) {
    width: 90%;
    margin: 0 5% 30px;
  }
  .facilities_equip2 dl:nth-child(even) {
    margin-right: 5%;
  }
  .facilities_equip3 dl {
    width: 90%;
    margin: 0 5% 30px;
  }
  .facilities_equip3 dl:nth-child(even) {
    margin-right: 5%;
  }
  .facilities_equip3 dl,
  .facilities_equip3 dl:nth-child(3n) {
    width: 90%;
    margin: 0 5% 30px;
  }
  .facilities_equip4 {
    justify-content: space-between;
  }
  .facilities_equip4 > dl {
    width: 48%;
    margin-right: 0;
    margin-bottom: 15px;
  }
  .facilities_equip4 dd h3 {
    font-size: 14px !important;
  }

  .movie_wrap {
    margin: 0 5%;
  }
  /*============================================================================

	$access

============================================================================*/
  .access_wrap [class^="access"] {
    margin-bottom: 40px;
    width: 100%;
  }
  .access_wrap [class^="access"]:last-child {
    margin-bottom: 0;
  }
  .access_wrap [class^="access"] iframe {
    height: 300px;
  }
  .access_list {
    padding: 30px 15px 0;
  }
  .access_list dl {
    width: 100%;
    margin-bottom: 30px;
  }
  .access_map iframe {
    height: 280px !important;
  }
  .access_flex_box {
    display: block;
  }
  .access_flex_box > * {
    width: 100% !important;
  }
  /*============================================================================

	$actual_results

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

  .actual_results_list table {
    table-layout: fixed;
  }
  .actual_results_list table td,
  .actual_results_list table th {
    padding: 5px 0;
    font-size: 0.9em;
  }

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

	$reuruit

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

  .reuruit_img_wrap {
    display: block;
  }
  .reuruit_img_wrap > li {
    margin-bottom: 10px;
    background: #ddd;
  }

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

	$qa

============================================================================*/
  .qa1 {
    padding: 6% 5% 4%;
  }
  /*============================================================================

	$first

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

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

	$medical

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

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

	$contact

============================================================================*/
  .contact th,
  .contact td {
    display: block;
    width: 100%;
    border-top: none;
    border-left: none;
    border-right: none;
    border-bottom: 1px solid #177abd;
    padding: 10px 5%;
  }
  .contact tr:last-child td {
    border-bottom: none;
  }
  .contact input[type="date"] {
    display: block;
    margin-bottom: 10px;
  }
  .contact select {
    display: block;
    margin-bottom: 20px;
  }
  .submit_btn input {
    max-width: 110px;
  }
  /*==================================================================

	.layout

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

  .layout_tit em {
    font-size: 24px;
  }

  /* 1つ並びのレイアウト。画像は無し、左にタイトル、右に文章 */
  .layout01 dl {
    display: block;
  }

  .layout01 dt {
    width: 100%;
  }

  .layout01 dd {
    width: 100%;
  }

  .layout01 dd 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%;
  }
  /* 3つ並びのレイアウト。矢印付き */
  .layout08 {
    display: block;
  }

  .layout08 dl {
    position: relative;
    width: 100%;
    margin-right: 0;
    margin-bottom: 35px;
  }
  .layout08 dl::before {
    position: absolute;
    right: 0;
    left: 0;
    margin: auto;
    top: 110%;
    height: 7px;
    width: 7px;
    transform: rotate(135deg);
    background-color: transparent;
    border-top: 2px solid #177abd;
    border-right: 2px solid #177abd;
    content: "";
    bottom: 0;
    margin: auto;
  }

  .layout08 dl:nth-child(3n)::before {
    display: none;
  }

  .layout08 dl dt {
    margin-bottom: 7px;
    padding-bottom: 7px;
    border-bottom: 1px dashed #ddd;
    font-size: 17px;
    font-weight: bold;
    text-align: center;
  }

  .layout08 dl dt em {
    margin-right: 8px;
    font-size: 24px;
    font-family: "Quicksand", sans-serif;
  }

  .layout08 dl dd {
    line-height: 1.5;
  }

  /* 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";
  }
  .layout12 > dt {
    font-size: 16px;
    margin-bottom: 20px;
  }
  .c-listnum {
    zoom: 0.8;
  }
  .list08,
  .list06,
  .list03,
  .list07 {
    padding: 15px;
  }
  .list03 {
    margin-left: 0;
  }
  .list_flow li {
    font-size: 14px;
  }

  .list_hyou dd {
    padding-left: 55%;
  }
  /*============================================================================

	$news

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

  .news_list li a {
    display: block;
    /*overflow: hidden;
    white-space: nowrap;*/
    margin-top: 10px;
    white-space: pre-wrap;
    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) {
  .top_news_tit::before {
    right: 0;
    left: auto;
  }
  .top_medical02_sub_tit::before {
    right: -5%;
    zoom: 0.55;
  }
  .main_open {
    position: absolute;
    top: auto;
    bottom: 50px;
    right: 0;
    left: 0;
    width: 50%;
    margin: auto;
  }
  .sp_inline_iP {
    display: inline !important;
  }
}
