@charset "utf-8";
/*
 * "03スマートフォントUI / SmartFontUI" licensed under the IPA Font License Agreement v1.0
 * https://www.flopdesign.com/freefont/smartfont.html（配布元のURL）
 * http://ipafont.ipa.go.jp/（IPAフォントのURL）
 * http://ipafont.ipa.go.jp/ipa_font_license_v1.html（IPAフォントライセンスv1.0のURL）
 */
@font-face {
  font-family: 'smartfontUI';
  src: url('../font/smartfontUI.eot');
  src: url('../font/smartfontUI.eot?#iefix') format('embedded-opentype'), url('../font/smartfontUI.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}
/* モジュール */
.txR {
  text-align: right;
}
/* 施設紹介スライド */
#clinicslide {
  margin-bottom: 8.0rem;
}
#clinicslide img, #clinicslide p {
  display: none;
}
.sp-layer.sp-black.sp-padding {
  text-align: center;
  font-size: 1.8rem;
}
.sp-selected-thumbnail {
  border: 4px solid #000;
}
@media screen and (min-width:1366px) {
  /* :::::::::: フォント :::::::::: */
  p, li, dt, dd, th, td, caption, figcaption {
    -webkit-text-size-adjust: none;
    font-size: 1.6em;
  }
  li li, dd li {
    font-size: 100%;
  }
  /* -----------------------------------------------------------------------
　構造
----------------------------------------------------------------------- */
  html {
    overflow: scroll;
  }
  body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-family: 'smartfontUI', sans-serif;
    color: #7f7f7f;
    font-size: 62.5%;
    overflow: hidden;
  }
  header {
    width: 100%;
  }
  nav {}
  .mainVisual {
    clear: both;
  }
  .content {
    width: 90%;
    max-width: 1500px;
    margin: 0 auto;
    overflow: hidden;
  }
  aside {
    width: 35%;
    float: left;
  }
  main {
    display: block;
    width: 61%;
    float: right;
  }
  /* -----------------------------------------------------------------------
　見出し
----------------------------------------------------------------------- */
  h1 {
    float: left;
    width: 340px;
    height: 70px;
    margin: 15px 0 0 15px;
  }
  h1 a {
    display: block;
    background: url(../images/logo.svg) no-repeat;
    background-size: 100% auto;
    width: 340px;
    height: 70px;
    text-indent: 100%;
    overflow: hidden;
    white-space: nowrap;
  }
  h2 {
    color: #1e2382;
    border-top: 1px solid #1e2382;
    border-bottom: 1px solid #1e2382;
    font-size: 2.4em;
    text-align: center;
    padding: 20px 0;
    margin: 0 0 60px;
  }
  h3 {
    font-size: 2.4em;
    color: #1e2382;
  }
  h4 {
    font-size: 2em;
    color: #1e2382;
  }
  h5 {}
  h6 {}
  /* =======================================================================

   全体
   
======================================================================= */
  /* -----------------------------------------------------------------------
　header
----------------------------------------------------------------------- */
  .h_contact {
    width: 20%;
    max-width: 260px;
    float: right;
  }
  .h_contact p {
    height: 50px;
    text-align: center;
    box-sizing: border-box;
  }
  .h_contact p:first-child {
    font-size: 2.2em;
  }
  .h_contact .phoneTapping {
    display: block;
    background: #ffff41;
    color: #1e2382;
    height: 50px;
    padding: 15px 0 0;
    box-sizing: border-box;
  }
  .h_contact p:last-child {
    font-size: 1.4em;
    background: #1e2382;
    color: #fff;
    padding: 7px 0 0;
    box-sizing: border-box;
    line-height: 1.4em;
  }
  /* :::::::::: nav :::::::::: */
  nav {
    float: right;
  }
  nav > ul {}
  nav > ul > li {
    float: left;
  }
  nav > ul > li > a, nav > ul > li > label {
    display: block;
    height: 100px;
    box-sizing: border-box;
    border-left: 1px solid rgba(30, 35, 130, 0.12);
    color: #1e2382;
    padding: 40px 1.2vw 0;
    position: relative;
  }
  nav > ul > li > a:hover {
    color: #ffff41;
    background: #1e2382;
  }
  nav > ul > li > label:after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 5px 0 5px;
    border-color: #1e2382 transparent transparent transparent;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 20px;
    margin: auto;
  }
  .closeMenu {
    display: none;
  }
  .drawer-hamburger {
    display: none !important;
  }
  /* :::::::::: accordion :::::::::: */
  .nav03 {
    position: relative;
  }
  .nav03 .dropdownmenu {
    visibility: hidden;
    opacity: 0;
    width: 260px;
    position: absolute !important;
    top: 100px;
    left: 0;
    margin: auto;
    z-index: 1;
    transition-duration: 0.3s;
    cursor: pointer;
    background: #1e2382;
  }
  .nav03:hover .dropdownmenu {
    visibility: visible;
    opacity: 1;
    box-sizing: border-box;
    padding: 10px 0 0;
  }
  .dropdownmenu li {}
  .dropdownmenu li a {
    display: block;
    padding: 15px 20px;
    color: #fff;
  }
  .dropdownmenu li a:hover {
    text-decoration: underline;
    color: #ffff41;
  }
  .on-off1 {
    display: none;
  }
  .drawer-hamburger {
    display: none !important;
  }
  /* :::::::::: key visual :::::::::: */
  .mainVisual {
    height: 630px;
    margin: 0 0 260px;
    position: relative;
    background: url(../images/keyv.jpg) no-repeat;
    background-size: cover;
    background-position: center;
    box-sizing: border-box;
    padding: 110px 0 0;
    dl {
      background: #1e2382;
      color: #fff;
      width: 220px;
      height: 155px;
      margin: 0 auto 40px;
      text-align: center;
      box-sizing: border-box;
      padding: 20px 10px 0;
      dt {
        font-family: 'Capriola', sans-serif;
        font-size: 2.2em;
        margin: 0 0 10px;
        line-height: 1.6em;
        border-bottom: 1px solid #fff;
      }
      dd {
        line-height: 1.8em;
        font-size: 1.8em;
      }
    }
    .line {
      border-bottom: 1px solid #fff;
      padding-bottom: 10px;
    }
    p {
      color: #1e2382;
      text-align: center;
      text-shadow: 1px 1px 0 #fff;
      font-size: 3.2em;
    }
  }
  .feature {
    width: 80%;
    max-width: 1500px;
    position: absolute;
    right: 0;
    bottom: -170px;
    left: 0;
    margin: auto;
    background: #fff;
    overflow: hidden;
  }
  .feature li {
    height: 280px;
    float: left;
    width: 33.33%;
    box-sizing: border-box;
    border-left: 1px solid rgba(30, 35, 130, 0.12);
    text-align: center;
    font-size: 2em;
    padding: 160px 0 0;
  }
  .feature li:first-child {
    background: url(../images/feature_image01.png) no-repeat;
    background-size: 70px auto;
    background-position: center 50px;
  }
  .feature li:nth-child(2) {
    background: url(../images/feature_image02.png) no-repeat;
    background-size: 70px auto;
    background-position: center 50px;
  }
  .feature li:last-child {
    background: url(../images/feature_image03.png) no-repeat;
    background-size: 70px auto;
    background-position: center 50px;
    border-right: 1px solid rgba(30, 35, 130, 0.12);
  }
  .feature li a {
    display: block;
    box-sizing: border-box;
    border: 1px solid #1e2382;
    color: #1e2382;
    width: 42%;
    margin: 30px auto 0;
    font-size: 0.8em;
    padding: 10px 0;
    position: relative;
    z-index: 1;
    overflow: hidden;
  }
  .feature li a:after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    background-color: #ffff41;
    z-index: -1;
  }
  .feature li a:hover:after {
    width: 100%;
    height: 40px;
  }
  /* -----------------------------------------------------------------------
  aside
----------------------------------------------------------------------- */
  aside p {
    border-top: 1px solid #1e2382;
    border-bottom: 1px solid #1e2382;
    font-size: 2.4em;
    text-align: center;
    color: #1e2382;
    padding: 20px 0;
  }
  .sidenav_bnr {
    text-align: center;
  }
  .sidenav_bnr_img {
    width: 100%;
    margin: 10px 0;
  }
  aside ul {
    overflow: hidden;
    padding: 30px 0 15px;
  }
  aside li {
    width: 32%;
    float: left;
    margin: 0 2% 2% 0;
  }
  aside li:nth-child(3n) {
    margin: 0 0 2%;
  }
  aside li a {
    display: block;
    text-align: center;
    color: #1e2382;
    border: 1px solid rgba(30, 35, 130, 0.12);
    box-sizing: border-box;
    padding: 100px 0 25px;
    position: relative;
    overflow: hidden;
  }
  .sidenav_01 li:first-child {
    background: url(../images/sidenav1_01.png) no-repeat;
    background-size: 50px auto;
    background-position: center 25px;
  }
  .sidenav_01 li:nth-child(2) {
    background: url(../images/sidenav1_03.png) no-repeat;
    background-size: 50px auto;
    background-position: center 25px;
  }
  .sidenav_01 li:nth-child(3) {
    background: url(../images/sidenav1_04.png) no-repeat;
    background-size: 50px auto;
    background-position: center 25px;
  }
  .sidenav_01 li:nth-child(4) {
    background: url(../images/sidenav1_05.png) no-repeat;
    background-size: 50px auto;
    background-position: center 25px;
  }
  .sidenav_01 li:nth-child(5) {
    background: url(../images/sidenav1_07.png) no-repeat;
    background-size: 50px auto;
    background-position: center 25px;
  }
  .sidenav_01 li:nth-child(5) a {
    /*padding: 67% 2% 10%;*/
    padding: 62% 2% 10%;
  }
  .sidenav_01 li:nth-child(6) {
    background: url(../images/sidenav1_06.png) no-repeat;
    background-size: 50px auto;
    background-position: center 25px;
  }
  .sidenav_01 li:nth-child(7) {
    background: url(../images/sidenav1_08.png) no-repeat;
    background-size: 60px auto;
    background-position: center 25px;
  }
  .sidenav_01 li:nth-child(8) {
    background: url(../images/sidenav1_11.png) no-repeat;
    background-size: 60px auto;
    background-position: center 10px;
  }
  .sidenav_02 li:first-child {
    background: url(../images/sidenav2_01.png) no-repeat;
    background-size: 50px auto;
    background-position: center 25px;
  }
  .sidenav_02 li:nth-child(2) {
    background: url(../images/sidenav2_02.png) no-repeat;
    background-size: 50px auto;
    background-position: center 25px;
  }
  .sidenav_02 li:nth-child(3) {
    background: url(../images/sidenav2_03.png) no-repeat;
    background-size: 50px auto;
    background-position: center 25px;
  }
  .sidenav_02 li:nth-child(4) {
    background: url(../images/sidenav2_04.png) no-repeat;
    background-size: 50px auto;
    background-position: center 25px;
  }
  .sidenav_02 li:nth-child(4) a {
    padding: 83px 0 25px;
  }
  .sidenav_02 li:nth-child(5) {
    background: url(../images/sidenav2_05.png) no-repeat;
    background-size: 50px auto;
    background-position: center 25px;
  }
  aside li a:after {
    content: "";
    display: block;
    color: #1e2382;
    background-color: #ffff41;
    width: 0;
    height: 0;
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
  }
  aside li a:hover:after {
    width: 100%;
    height: 150px;
  }
  /* -----------------------------------------------------------------------
  footer
----------------------------------------------------------------------- */
  .pageup {
    display: none;
    position: fixed;
    bottom: 2.4rem;
    right: 1.0rem;
    z-index: 1;
    cursor: pointer;
  }
  .pageup a {
    display: block;
    width: 5rem;
    height: 5rem;
    padding: 1rem;
    border-radius: 50%;
    background: #1E2382;
    text-align: center;
    font-size: 2rem;
    color: #fff;
  }
  .pageup a span {
    display: block;
    text-align: center;
    font-size: 1rem;
    color: #fff;
  }
  footer {
    clear: both;
    background: #1e2382;
    padding: 80px 0 0;
  }
  .footer_nav {
    width: 65%;
    max-width: 1000px;
    margin: 0 auto 80px;
    overflow: hidden;
  }
  .footer_nav ul {
    width: 33.33%;
    float: left;
    box-sizing: border-box;
    border-left: 1px solid #fff;
    padding: 0 4%;
  }
  .footer_nav ul:last-child {
    border-right: 1px solid #fff;
  }
  .footer_nav li:not(:last-child) {
    margin: 0 0 15px;
  }
  .footer_nav li a {
    color: #fff;
  }
  .footer_nav li a:hover {
    color: #ffff41;
  }
  footer p {
    text-align: center;
    color: #fff;
    padding: 0 0 40px;
    font-size: 1.4em;
  }
  /* =======================================================================

   個別
   
======================================================================= */
  article > section {
    margin: 0 0 80px;
    overflow: hidden;
  }
  article > section > section:not(:last-child) {
    margin: 0 0 80px;
  }
  article > section > section > section:not(:last-child) {
    margin: 0 0 40px;
  }
  /* :::::::::: index.html :::::::::: */
  .notice dt {
    color: #1e2382;
    font-weight: bold;
    padding: 0 0 15px 15px;
    cursor: pointer;
    position: relative;
    display: block;
  }
  .notice dt:not(:first-of-type) {
    border-top: 1px dotted rgba(30, 35, 130, 0.6);
    padding: 15px 0 15px 15px;
  }
  .notice dt::before {
    content: '';
    width: 0;
    height: 0;
    border: solid 4px transparent;
    border-left: solid 6px #1e2382;
    position: absolute;
    top: 20px;
    left: 0;
  }
  .notice dt:first-of-type::before {
    top: 5px;
  }
  .notice dt.active::before {
    -ms-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    top: 22px;
  }
  .notice dt.active:first-of-type::before {
    top: 7px;
  }
  .notice dt.cat_corona span::before {
    position: relative;
    display: inline-block;
    content: 'コロナ関連';
    background: #ffff41;
    color: #1e2382;
    font-size: 0.9em;
    padding: 0.3em 0.5em;
    margin: -0.5em 0.5em 0 0;
  }
  .notice dd {
    padding: 0 0 15px;
    line-height: 2em;
    display: none;
  }
  .notice .notice_table_def {
    width: 100%;
    border: 1px solid rgba(30, 35, 130, 0.12);
  }
  .notice .notice_table_def th, .notice .notice_table_def td {
    border: 1px solid rgba(30, 35, 130, 0.12);
    text-align: center;
    padding: 0.5em;
    font-size: inherit;
  }
  .notice .notice_table_def thead th {
    background: #1e2382;
    color: #fff;
  }
  .notice .notice_table_def tbody th {
    background: rgba(30, 35, 130, 0.05);
    color: #1e2382;
  }
  .clinic {
    width: 50%;
    height: 1100px;
    float: left;
    box-sizing: border-box;
    padding: 60px 0;
    border: 1px solid #1e2382;
  }
  .clinic dl {
    width: 80%;
    max-width: 650px;
    margin: 0 auto;
    overflow: hidden;
  }
  .clinic dt {
    float: left;
    clear: both;
    border-left: 1px solid #1e2382;
    color: #1e2382;
    width: 25%;
    box-sizing: border-box;
    padding: 10px 20px;
    margin: 0 0 20px;
  }
  .clinic dd {
    float: left;
    width: 75%;
    box-sizing: border-box;
    padding: 10px 20px;
    margin: 0 0 20px;
  }
  .timetable {
    background: rgba(30, 35, 130, 0.05);
    width: 80%;
    max-width: 650px;
    margin: 0 auto 20px;
    box-sizing: border-box;
    padding: 40px;
  }
  .timetable table {
    width: 100%;
    color: #1e2382;
  }
  .timetable table th {
    font-weight: normal;
    text-align: center;
    width: 10%;
    padding: 0 0 15px;
  }
  .timetable table th:first-child {
    text-align: left;
    width: 30%;
  }
  .timetable table td {
    text-align: center;
    width: 10%;
    padding: 0 0 15px;
  }
  .timetable table td:first-child {
    text-align: left;
    width: 30%;
  }
  .timetable table caption {
    color: #1e2382;
    caption-side: bottom;
    border-top: 1px solid #1e2382;
    padding: 20px 0 0;
  }
  .clinic dd li {
    margin: 0 0 10px;
  }
  .clinic dd li a {
    text-decoration: underline;
  }
  .map {
    width: 50%;
    height: 1100px;
    float: left;
  }
  .map iframe {
    width: 100%;
    height: 100%;
    border: 0;
  }
  /* =======================================================================

   下層
   
======================================================================= */
  /* -----------------------------------------------------------------------
  共通
----------------------------------------------------------------------- */
  .subpage .content {
    padding: 50px 0 0;
  }
  .subpage main section {
    overflow: hidden;
  }
  .subpage main h3 {
    text-align: center;
    padding: 40px 0;
  }
  .subpage main h4 {
    padding: 20px 0;
  }
  .subpage main p, .subpage main li, .subpage main dt, .subpage main dd, .subpage main caption {
    line-height: 2em;
  }
  .subpage main p {
    margin: 0 0 10px;
  }
  .subpage main li {}
  .subpage main dl {
    clear: both;
  }
  .subpage main dt {
    color: #1e2382;
  }
  .subpage main dd {
    border-bottom: 1px solid rgba(30, 35, 130, 0.12);
    padding: 0 0 10px;
    margin: 0 0 10px;
  }
  .normal_list li {
    background: rgba(30, 35, 130, 0.05);
    padding: 10px 15px;
    margin: 0 0 5px;
  }
  .normal_list li:before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #1e2382;
    margin: 0 5px 0 0;
  }
  .imageright {
    width: 320px;
    height: auto;
    float: right;
    margin: 0 0 30px 30px;
  }
  .imageright_r {
    width: 240px;
    height: auto;
    float: right;
    margin: 0 0 30px 30px;
  }
  .subpage main ol {
    background: rgba(30, 35, 130, 0.05);
    padding: 10px 15px;
    margin: 0 0 5px;
    color: #1e2382;
  }
  .caution {
    background: #ffff41;
    color: #1e2382;
    padding: 10px 20px;
    clear: both;
  }
  .annotation {
    text-decoration: underline;
    clear: both;
  }
  .text_link {
    text-decoration: underline;
  }
  /* -----------------------------------------------------------------------
  doctor.html
----------------------------------------------------------------------- */
  .history {
    width: 100%;
  }
  .history th {
    font-weight: normal;
    text-align: left;
    width: 15%;
    vertical-align: top;
    line-height: 2em;
    padding: 0 0 10px;
  }
  .history td {
    line-height: 2em;
    padding: 0 0 10px;
  }
  /* -----------------------------------------------------------------------
  access.html
----------------------------------------------------------------------- */
  .subpage main .timetable {
    width: 100%;
    max-width: inherit;
  }
  .accessmap {
    width: 100%;
    height: 400px;
  }
  .accessmap iframe {
    width: 100%;
    height: 100%;
    border: 0;
  }
  /* -----------------------------------------------------------------------
  prolonged-cough.html
----------------------------------------------------------------------- */
  .cough_table {
    width: 100%;
  }
  .cough_table th {
    background: rgba(30, 35, 130, 0.05);
    text-align: left;
    font-weight: normal;
    color: #1e2382;
    width: 50%;
    padding: 10px;
    border: 1px solid #1e2382;
  }
  .cough_table thead th {
    background: rgba(30, 35, 130, 0.15);
  }
  .cough_table td {
    width: 50%;
    padding: 10px;
    border: 1px solid #1e2382;
  }
  .btn_print { /* アクセスページ印刷ボタン */
    display: block;
    background: #1e2382;
    color: #ffff41;
    text-align: center;
    font-size: 2.4em;
    margin-top: 1.0em;
    padding: .6em 1.0em;
  }
  /* -----------------------------------------------------------------------
  sas.html
----------------------------------------------------------------------- */
  .sas_table {
    width: 99%;
    display: block;
    /*overflow-x: scroll;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;*/
    margin-bottom: 10px;
  }
  .sas_table tbody {
    width: 100%;
    display: table;
  }
  .sas_table tr.head th {
    background: #1e2382;
    color: #fff !important;
    text-align: center;
  }
  .sas_table th {
    background: rgba(30, 35, 130, 0.05);
    text-align: left;
    font-weight: bold;
    color: #1e2382;
    padding: 10px;
    border: 1px solid #1e2382;
  }
  .sas_table td {
    padding: 10px;
    border: 1px solid #1e2382;
    vertical-align: top;
  }
  .sas_table tr.foot td {
    color: #1e2382 !important;
    text-align: center;
    font-weight: bold;
  }
}
@media screen and (min-width:641px) and (max-width:1365px) {
  /* :::::::::: フォント :::::::::: */
  p, li, dt, dd, th, td, caption, figcaption {
    -webkit-text-size-adjust: none;
    font-size: 1.4vw;
  }
  li li, dd li {
    font-size: 100%;
  }
  /* -----------------------------------------------------------------------
　構造
----------------------------------------------------------------------- */
  body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-family: 'smartfontUI', sans-serif;
    color: #7f7f7f;
    font-size: 62.5%;
  }
  header {
    width: 100%;
    position: relative;
  }
  nav {}
  .mainVisual {
    clear: both;
  }
  .content {
    width: 90%;
    max-width: 1500px;
    margin: 0 auto;
    overflow: hidden;
  }
  aside {
    width: 33%;
    float: left;
    margin: 0 0 6%
  }
  main {
    display: block;
    width: 63%;
    float: right;
  }
  /* -----------------------------------------------------------------------
　見出し
----------------------------------------------------------------------- */
  h1 {
    width: 24%;
    height: 4.9vw;
    margin: 0.5% 0 0.5% 0.5%;
  }
  h1 a {
    display: block;
    background: url(../images/logo.svg) no-repeat;
    background-size: 100% auto;
    width: 100%;
    height: 4.9vw;
    text-indent: 100%;
    overflow: hidden;
    white-space: nowrap;
  }
  h2 {
    color: #1e2382;
    border-top: 1px solid #1e2382;
    border-bottom: 1px solid #1e2382;
    font-size: 2.4vw;
    text-align: center;
    padding: 3% 0;
    margin: 0 0 6%;
  }
  h3 {
    font-size: 2.4vw;
    color: #1e2382;
  }
  h4 {
    font-size: 2vw;
    color: #1e2382;
  }
  h5 {}
  h6 {}
  /* =======================================================================

   全体
   
======================================================================= */
  /* -----------------------------------------------------------------------
　header
----------------------------------------------------------------------- */
  .h_contact {
    width: 50%;
    position: absolute;
    top: -5%;
    right: 0;
    overflow: hidden;
  }
  .h_contact p {
    width: 50%;
    height: 5.9vw;
    float: left;
    text-align: center;
    box-sizing: border-box;
  }
  .h_contact p:first-child {
    font-size: 2.2vw;
  }
  .h_contact .phoneTapping {
    height: 5.9vw;
    display: block;
    background: #ffff41;
    color: #1e2382;
    box-sizing: border-box;
    padding: 8% 0 0;
  }
  .h_contact p:last-child {
    font-size: 1.4vw;
    background: #1e2382;
    color: #fff;
    box-sizing: border-box;
    line-height: 1.4em;
    padding: 2% 0 0;
  }
  /* :::::::::: nav :::::::::: */
  nav > ul {
    text-align: center;
    width: 100% !important;
    max-width: 1500px;
    margin: 0 auto !important;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
  }
  nav > ul > li {
    -webkit-flex: 1;
    flex: 1;
    position: relative;
  }
  nav > ul > li > a, nav > ul > li > label {
    display: block;
    box-sizing: border-box;
    border-left: 1px solid rgba(30, 35, 130, 0.12);
    color: #1e2382;
    padding: 10% 0;
    position: relative;
  }
  nav > ul > li > a:hover {
    color: #ffff41;
    background: #1e2382;
  }
  nav > ul > li > label:after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0.6vw 0.5vw 0 0.5vw;
    border-color: #1e2382 transparent transparent transparent;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0.5vw;
    margin: auto;
  }
  .closeMenu {
    display: none;
  }
  .drawer-hamburger {
    display: none !important;
  }
  /* :::::::::: accordion :::::::::: */
  .nav03 {
    position: relative;
  }
  .nav03 .dropdownmenu {
    visibility: hidden;
    opacity: 0;
    width: 24vw;
    position: absolute !important;
    top: 4.9vw;
    left: 0;
    margin: auto;
    z-index: 1;
    transition-duration: 0.3s;
    cursor: pointer;
    background: #1e2382;
    text-align: left;
  }
  .nav03:hover .dropdownmenu {
    visibility: visible;
    opacity: 1;
    box-sizing: border-box;
    padding: 1% 0 0;
  }
  .dropdownmenu li {}
  .dropdownmenu li a {
    display: block;
    padding: 6% 8%;
    color: #fff;
  }
  .dropdownmenu li a:hover {
    text-decoration: underline;
    color: #ffff41;
  }
  .on-off1 {
    display: none;
  }
  .drawer-hamburger {
    display: none !important;
  }
  /* :::::::::: key visual :::::::::: */
  .mainVisual {
    height: 50vw;
    margin: 0 0 22%;
    position: relative;
    background: url(../images/keyv.jpg) no-repeat;
    background-size: cover;
    background-position: center;
    box-sizing: border-box;
    padding: 8% 0 0;
    dl {
      background: #1e2382;
      color: #fff;
      width: 18%;
      height: 14vw;
      margin: 0 auto 40px;
      text-align: center;
      box-sizing: border-box;
      padding: 2.5% 10px 0;
      dt {
        font-family: 'Capriola', sans-serif;
        font-size: 2vw;
        margin: 0 0 2.5%;
        line-height: 3vw;
        border-bottom: 1px solid #fff;
      }
      dd {
        line-height: 2.4vw;
      }
    }
    .line {
      border-bottom: 1px solid #fff;
    }
    p {
      color: #1e2382;
      text-align: center;
      text-shadow: 1px 1px 0 #fff;
      font-size: 2.8vw;
      img {
        margin-top: 1rem;
      }
    }
  }

  .feature {
    width: 80%;
    position: absolute;
    right: 0;
    bottom: -33%;
    left: 0;
    margin: auto;
    background: #fff;
    overflow: hidden;
  }
  .feature li {
    height: 22vw;
    float: left;
    width: 33.33%;
    box-sizing: border-box;
    border-left: 1px solid rgba(30, 35, 130, 0.12);
    text-align: center;
    font-size: 2vw;
    padding: 15% 0 0;
  }
  .feature li:first-child {
    background: url(../images/feature_image01.png) no-repeat;
    background-size: 21% auto;
    background-position: center 22%;
  }
  .feature li:nth-child(2) {
    background: url(../images/feature_image02.png) no-repeat;
    background-size: 21% auto;
    background-position: center 22%;
  }
  .feature li:last-child {
    background: url(../images/feature_image03.png) no-repeat;
    background-size: 21% auto;
    background-position: center 22%;
    border-right: 1px solid rgba(30, 35, 130, 0.12);
  }
  .feature li a {
    display: block;
    box-sizing: border-box;
    border: 1px solid #1e2382;
    color: #1e2382;
    width: 42%;
    margin: 8% auto 0;
    font-size: 0.8em;
    padding: 3% 0;
    position: relative;
    z-index: 1;
    overflow: hidden;
  }
  .feature li a:after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    background-color: #ffff41;
    z-index: -1;
  }
  .feature li a:hover:after {
    width: 100%;
    height: 4vw;
  }
  /* -----------------------------------------------------------------------
  aside
----------------------------------------------------------------------- */
  aside p {
    border-top: 1px solid #1e2382;
    border-bottom: 1px solid #1e2382;
    font-size: 2.4vw;
    text-align: center;
    padding: 5.6% 0;
    margin: 0;
    color: #1e2382;
  }
  .sidenav_bnr {
    text-align: center;
  }
  .sidenav_bnr_img {
    width: 100%;
    margin: 10px 0;
  }
  aside ul {
    overflow: hidden;
    border-bottom: 1px solid #1e2382;
    padding: 6% 0 3%;
  }
  aside li {
    width: 48%;
    float: left;
    margin: 0 4% 4% 0;
  }
  aside li:nth-child(2n) {
    margin: 0 0 4%;
  }
  aside li a {
    display: block;
    text-align: center;
    color: #1e2382;
    border: 1px solid rgba(30, 35, 130, 0.12);
    box-sizing: border-box;
    padding: 65% 1.5% 15%;
    position: relative;
    overflow: hidden;
  }
  .sidenav_01 li:first-child {
    background: url(../images/sidenav1_01.png) no-repeat;
    background-size: 35% auto;
    background-position: center 25%;
  }
  .sidenav_01 li:nth-child(2) {
    background: url(../images/sidenav1_03.png) no-repeat;
    background-size: 35% auto;
    background-position: center 25%;
  }
  .sidenav_01 li:nth-child(3) {
    background: url(../images/sidenav1_04.png) no-repeat;
    background-size: 35% auto;
    background-position: center 25%;
  }
  .sidenav_01 li:nth-child(4) {
    background: url(../images/sidenav1_05.png) no-repeat;
    background-size: 35% auto;
    background-position: center 25%;
  }
  .sidenav_01 li:nth-child(5) {
    background: url(../images/sidenav1_07.png) no-repeat;
    background-size: 35% auto;
    background-position: center 25%;
  }
  .sidenav_01 li:nth-child(5) a {
    padding: 60% 2% 10%;
  }
  .sidenav_01 li:nth-child(6) {
    background: url(../images/sidenav1_06.png) no-repeat;
    background-size: 35% auto;
    background-position: center 25%;
  }
  .sidenav_01 li:nth-child(7) {
    background: url(../images/sidenav1_08.png) no-repeat;
    background-size: 35% auto;
    background-position: center 25px;
  }
  .sidenav_01 li:nth-child(8) {
    background: url(../images/sidenav1_11.png) no-repeat;
    background-size: 35% auto;
    background-position: center 25px;
  }
  .sidenav_02 li:first-child {
    background: url(../images/sidenav2_01.png) no-repeat;
    background-size: 35% auto;
    background-position: center 25%;
  }
  .sidenav_02 li:nth-child(2) {
    background: url(../images/sidenav2_02.png) no-repeat;
    background-size: 35% auto;
    background-position: center 25%;
  }
  .sidenav_02 li:nth-child(3) {
    background: url(../images/sidenav2_03.png) no-repeat;
    background-size: 35% auto;
    background-position: center 25%;
  }
  .sidenav_02 li:nth-child(4) {
    background: url(../images/sidenav2_04.png) no-repeat;
    background-size: 35% auto;
    background-position: center 25%;
  }
  .sidenav_02 li:nth-child(4) a {
    padding: 56.5% 1.5% 12%;
  }
  .sidenav_02 li:nth-child(5) {
    background: url(../images/sidenav2_05.png) no-repeat;
    background-size: 35% auto;
    background-position: center 25%;
  }
  aside li a:after {
    content: "";
    display: block;
    color: #1e2382;
    background-color: #ffff41;
    width: 0;
    height: 0;
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
  }
  aside li a:hover:after {
    width: 100%;
    height: 15vw;
  }
  /* -----------------------------------------------------------------------
  footer
----------------------------------------------------------------------- */
  .pageup {
    display: none;
    position: fixed;
    bottom: 2.4rem;
    right: 1.0rem;
    z-index: 1;
    cursor: pointer;
  }
  .pageup a {
    display: block;
    width: 5rem;
    height: 5rem;
    padding: 1rem;
    border-radius: 50%;
    background: #1E2382;
    text-align: center;
    font-size: 2rem;
    color: #fff;
  }
  .pageup a span {
    display: block;
    text-align: center;
    font-size: 1rem;
    color: #fff;
  }
  footer {
    clear: both;
    background: #1e2382;
    padding: 8% 0 0;
  }
  .footer_nav {
    width: 80%;
    margin: 0 auto 8%;
    overflow: hidden;
  }
  .footer_nav ul {
    width: 33.33%;
    float: left;
    box-sizing: border-box;
    border-left: 1px solid #fff;
    padding: 0 3%;
  }
  .footer_nav ul:last-child {
    border-right: 1px solid #fff;
  }
  .footer_nav li:not(:last-child) {
    margin: 0 0 8%;
  }
  .footer_nav li a {
    color: #fff;
  }
  .footer_nav li a:hover {
    color: #ffff41;
  }
  footer p {
    text-align: center;
    color: #fff;
    padding: 0 0 4%;
    font-size: 1.4vw;
  }
  /* =======================================================================

   個別
   
======================================================================= */
  article > section {
    margin: 0 0 8%;
    overflow: hidden;
  }
  article > section > section:not(:last-child) {
    margin: 0 0 8%;
  }
  article > section > section > section:not(:last-child) {
    margin: 0 0 4%;
  }
  /* :::::::::: index.html :::::::::: */
  .notice dt {
    color: #1e2382;
    font-weight: bold;
    padding: 0 0 1em 15px;
    cursor: pointer;
    position: relative;
    display: block;
  }
  .notice dt:not(:first-of-type) {
    border-top: 1px dotted rgba(30, 35, 130, 0.6);
    padding: 1em 0 1em 15px;
  }
  .notice dt::before {
    content: '';
    width: 0;
    height: 0;
    border: solid 4px transparent;
    border-left: solid 6px #1e2382;
    position: absolute;
    top: 1.2em;
    left: 0;
  }
  .notice dt:first-of-type::before {
    top: .25em;
  }
  .notice dt.active::before {
    -ms-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    top: 1.4em;
  }
  .notice dt.active:first-of-type::before {
    top: 0.45em;
  }
  .notice dt.cat_corona span::before {
    position: relative;
    display: inline-block;
    content: 'コロナ関連';
    background: #ffff41;
    color: #1e2382;
    font-size: 0.9em;
    padding: 0.3em 0.5em;
    margin: -0.5em 0.5em 0 0;
  }
  .notice dd {
    padding: 0 0 3%;
    line-height: 2em;
    display: none;
  }
  .notice .notice_table_def {
    width: 100%;
    border: 1px solid rgba(30, 35, 130, 0.12);
  }
  .notice .notice_table_def th, .notice .notice_table_def td {
    border: 1px solid rgba(30, 35, 130, 0.12);
    text-align: center;
    padding: 0.5em;
  }
  .notice .notice_table_def thead th {
    background: #1e2382;
    color: #fff;
  }
  .notice .notice_table_def tbody th {
    background: rgba(30, 35, 130, 0.05);
    color: #1e2382;
  }
  .clinic {
    width: 100%;
    box-sizing: border-box;
    padding: 6% 6% 4%;
    border: 1px solid #1e2382;
    overflow: hidden;
  }
  .clinic dl {
    width: 48%;
    float: left;
    overflow: hidden;
    clear: both;
  }
  .clinic dt {
    float: left;
    clear: both;
    border-left: 1px solid #1e2382;
    color: #1e2382;
    width: 30%;
    box-sizing: border-box;
    padding: 2% 4%;
    margin: 0 0 6%;
  }
  .clinic dd {
    float: left;
    width: 70%;
    box-sizing: border-box;
    padding: 2% 0;
    margin: 0 0 6%;
  }
  .timetable {
    background: rgba(30, 35, 130, 0.05);
    margin: 0 auto;
    box-sizing: border-box;
    padding: 4%;
    width: 48%;
    float: right;
  }
  .timetable table {
    width: 100%;
    color: #1e2382;
  }
  .timetable table th {
    font-weight: normal;
    text-align: center;
    width: 10%;
    padding: 0 0 4%;
  }
  .timetable table th:first-child {
    text-align: left;
    width: 30%;
  }
  .timetable table td {
    text-align: center;
    width: 10%;
    padding: 0 0 4%;
  }
  .timetable table td:first-child {
    text-align: left;
    width: 30%;
  }
  .timetable table caption {
    color: #1e2382;
    caption-side: bottom;
    border-top: 1px solid #1e2382;
    padding: 4% 0 0;
  }
  .timetable table .holiday {
    letter-spacing: -0.7vw;
    text-indent: -0.7vw;
  }
  .clinic dd li {
    margin: 0 0 2%;
  }
  .clinic dd li a {
    text-decoration: underline;
  }
  .map {
    width: 100%;
    height: 36vw;
  }
  .map iframe {
    width: 100%;
    height: 100%;
    border: 0;
  }
  /* =======================================================================

   下層
   
======================================================================= */
  /* -----------------------------------------------------------------------
  共通
----------------------------------------------------------------------- */
  .subpage .content {
    padding: 5% 0 0;
  }
  .subpage main section {
    overflow: hidden;
  }
  .subpage main h3 {
    text-align: center;
    padding: 4% 0;
  }
  .subpage main h4 {
    padding: 2% 0;
  }
  .subpage main p, .subpage main li, .subpage main dt, .subpage main dd, .subpage main caption {
    line-height: 3vw;
  }
  .subpage main p {
    margin: 0 0 2%;
  }
  .subpage main li {}
  .subpage main dl {
    clear: both;
  }
  .subpage main dt {
    color: #1e2382;
  }
  .subpage main dd {
    border-bottom: 1px solid rgba(30, 35, 130, 0.12);
    padding: 0 0 2%;
    margin: 0 0 2%;
  }
  .normal_list li {
    background: rgba(30, 35, 130, 0.05);
    padding: 1% 1.5%;
    margin: 0 0 0.75%;
  }
  .normal_list li:before {
    content: "";
    display: inline-block;
    width: 1vw;
    height: 1vw;
    border-radius: 50%;
    background: #1e2382;
    margin: 0 1% 0 0;
  }
  .imageright {
    width: 38%;
    height: auto;
    float: right;
    margin: 0 0 3% 3%;
  }
  .imageright_r {
    width: 27%;
    height: auto;
    float: right;
    margin: 0 0 3% 3%;
  }
  .subpage main ol {
    background: rgba(30, 35, 130, 0.05);
    padding: 1% 1.5%;
    margin: 0 0 0.75%;
    color: #1e2382;
  }
  .subpage main ol li {
    text-indent: -2.3vw;
    padding: 0 0 0 2.3vw;
  }
  .caution {
    background: #ffff41;
    color: #1e2382;
    padding: 2% 3%;
    clear: both;
  }
  .annotation {
    text-decoration: underline;
    clear: both;
  }
  .text_link {
    text-decoration: underline;
  }
  /* -----------------------------------------------------------------------
  doctor.html
----------------------------------------------------------------------- */
  .history {
    width: 100%;
  }
  .history th {
    font-weight: normal;
    text-align: left;
    width: 18%;
    vertical-align: top;
    line-height: 3vw;
    padding: 0 0 2%;
  }
  .history td {
    line-height: 3vw;
    padding: 0 0 2%;
  }
  /* -----------------------------------------------------------------------
  access.html
----------------------------------------------------------------------- */
  .subpage main .timetable {
    width: 100%;
    max-width: inherit;
  }
  .accessmap {
    width: 100%;
    height: 30vw;
  }
  .accessmap iframe {
    width: 100%;
    height: 100%;
    border: 0;
  }
  /* -----------------------------------------------------------------------
  prolonged-cough.html
----------------------------------------------------------------------- */
  .cough_table {
    width: 100%;
  }
  .cough_table th {
    background: rgba(30, 35, 130, 0.05);
    text-align: left;
    font-weight: normal;
    color: #1e2382;
    width: 50%;
    padding: 1.5%;
    border: 1px solid #1e2382;
  }
  .cough_table thead th {
    background: rgba(30, 35, 130, 0.15);
  }
  .cough_table td {
    width: 50%;
    padding: 1.5%;
    border: 1px solid #1e2382;
  }
  .btn_print { /* アクセスページ印刷ボタン */
    display: block;
    background: #1e2382;
    color: #ffff41;
    text-align: center;
    font-size: 1.8em;
    margin-top: 1.0em;
    padding: .6em 1.0em;
  }
  /* -----------------------------------------------------------------------
  sas.html
----------------------------------------------------------------------- */
  .sas_table {
    width: 99%;
    display: block;
    /*overflow-x: scroll;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;*/
    margin-bottom: 10px;
  }
  .sas_table tbody {
    width: 100%;
    display: table;
  }
  .sas_table tr.head th {
    background: #1e2382;
    color: #fff !important;
    text-align: center;
  }
  .sas_table th {
    background: rgba(30, 35, 130, 0.05);
    text-align: left;
    font-weight: bold;
    color: #1e2382;
    padding: 10px;
    border: 1px solid #1e2382;
  }
  .sas_table td {
    padding: 10px;
    border: 1px solid #1e2382;
    vertical-align: top;
  }
  .sas_table tr.foot td {
    color: #1e2382 !important;
    text-align: center;
    font-weight: bold;
  }
}
@media screen and (max-width:640px) {
  /* :::::::::: フォント :::::::::: */
  p, li, dt, dd, th, td, caption, figcaption {
    -webkit-text-size-adjust: none;
    font-size: 3.7vw;
  }
  li li, dd li {
    font-size: 100%;
  }
  /* -----------------------------------------------------------------------
　構造
----------------------------------------------------------------------- */
  html {
    overflow: scroll;
  }
  body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-family: 'smartfontUI', sans-serif;
    color: #7f7f7f;
    /* overflow: hidden; */
  }
  header {
    width: 100%;
    position: sticky;
    top: 0;
    z-index: 999;
    background: #fff;
    div{
      width: 100%;
      min-height: 60px;
      background: #fff;
    }
  }
  nav {}
  .mainVisual {
    clear: both;
  }
  .content {
    width: 90%;
    margin: 0 auto;
    overflow: hidden;
  }
  aside {
    margin: 0 0 4%;
  }
  main {
    display: block;
  }
  /* -----------------------------------------------------------------------
　見出し
----------------------------------------------------------------------- */
  h1 {
    width: 64.5%;
    height: 13.5vw;
    float: left;
    margin: 1.25% 0 1.25% 1.5%;
  }
  h1 a {
    display: block;
    background: url(../images/logo.svg) no-repeat;
    background-size: 100% auto;
    width: 100%;
    height: 13.5vw;
    text-indent: 100%;
    overflow: hidden;
    white-space: nowrap;
  }
  h2 {
    color: #1e2382;
    border-top: 1px solid #1e2382;
    border-bottom: 1px solid #1e2382;
    font-size: 5vw;
    line-height: 8vw;
    text-align: center;
    padding: 5%;
    margin: 0 0 8%;
  }
  h3 {
    font-size: 5vw;
    line-height: 8vw;
    color: #1e2382;
  }
  h4 {
    font-size: 4vw;
    color: #1e2382;
  }
  h5 {}
  h6 {}
  /* =======================================================================

   全体
   
======================================================================= */
  /* -----------------------------------------------------------------------
　header
----------------------------------------------------------------------- */
  .h_contact p {
    float: left;
    text-align: center;
    box-sizing: border-box;
  }
  .h_contact p:first-child {
    font-size: 2.2em;
  }
  .h_contact .phoneTapping {
    display: block;
    color: #1e2382;
    width: 16%;
    height: 16vw;
    box-sizing: border-box;
    text-indent: 100%;
    overflow: hidden;
    white-space: nowrap;
    position: absolute;
    top: 0;
    right: 15%;
    background: url(../images/s/icon_tel.jpg) no-repeat !important;
    background-size: 100% auto !important;
  }
  .h_contact p:last-child {
    width: 100%;
    font-size: 3.7vw;
    background: #1e2382;
    color: #fff;
    padding: 4% 0;
    box-sizing: border-box;
  }
  .h_contact p:last-child br {
    display: none;
  }
  /* :::::::::: nav :::::::::: */
  nav {
    width: 100%;
    height: 100vh !important;
    background: #1e2382 !important;
    box-sizing: border-box;
    padding: 5%;
    overflow: scroll !important;
  }
  nav > ul {
    background: #fff;
    overflow: scroll;
  }
  nav > ul > li > a, nav > ul > li > label {
    display: block;
    box-sizing: border-box;
    border-top: 1px solid rgba(30, 35, 130, 0.12);
    color: #1e2382;
    padding: 3%;
    position: relative;
  }
  nav > ul > li input {
    display: none;
  }
  .dropdownmenu {
    overflow: hidden;
  }
  .dropdownmenu li {
    width: 50%;
    float: left;
    box-sizing: border-box;
    padding: 3% 4%;
  }
  .closeMenu {
    cursor: pointer;
    padding: 4%;
    background: rgba(30, 35, 130, 0.12);
    color: #1e2382;
  }
  .drawer-hamburger {
    width: 16% !important;
    height: 16vw !important;
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    background: url(../images/s/icon_menu.jpg) no-repeat !important;
    background-size: 100% auto !important;
  }
  .drawer-hamburger-icon {
    display: none !important;
  }
  /* :::::::::: key visual :::::::::: */
  .mainVisual {
    position: relative;
    background: url(../images/keyv.jpg) no-repeat;
    background-size: 150%;
    background-position: center top;
    box-sizing: border-box;
    padding: 17% 0 0;
    /* margin: 100px 0 5%; */
    /* top: 100px; 138px */
    dl {
      background: #1e2382;
      color: #fff;
      width: 35%;
      height: 23vw;
      margin: 0 auto 8%;
      text-align: center;
      box-sizing: border-box;
      padding: 3% 10px 0;
      dt {
        font-family: 'Capriola', sans-serif;
        font-size: 3.4vw;
        margin: 0 0 3%;
        line-height: 5vw;
        border-bottom: 1px solid #fff;
      }
      dd {
        font-size: 2.8vw;
        line-height: 4.5vw;
      }
    }
    .line {
      border-bottom: 1px solid #fff;
      padding: 3% 0;
    }
    p {
      color: #1e2382;
      text-align: center;
      text-shadow: 1px 1px 0 #fff;
      font-size: 5vw;
      padding: 0 24%;
      line-height: 9vw;
      margin: 0 0 27%;
      img {
        margin-top: 1rem;
        width: 100%;
      }
    }
  }

  .feature {
    width: 100%;
    background: #fff;
    overflow: hidden;
  }
  .feature li {
    width: 100%;
    box-sizing: border-box;
    border-bottom: 1px solid rgba(30, 35, 130, 0.12);
    text-align: center;
    font-size: 5vw;
    padding: 25% 0 6%;
  }
  .feature li:first-child {
    background: url(../images/feature_image01.png) no-repeat;
    background-size: 14% auto;
    background-position: center 15%;
  }
  .feature li:nth-child(2) {
    background: url(../images/feature_image02.png) no-repeat;
    background-size: 14% auto;
    background-position: center 15%;
  }
  .feature li:last-child {
    background: url(../images/feature_image03.png) no-repeat;
    background-size: 14% auto;
    background-position: center 15%;
  }
  .feature li a {
    display: block;
    border: 1px solid #1e2382;
    color: #1e2382;
    width: 42%;
    margin: 4% auto 0;
    font-size: 0.8em;
    padding: 10px 0;
  }
  /* -----------------------------------------------------------------------
  aside
----------------------------------------------------------------------- */
  aside p {
    border-top: 1px solid #1e2382;
    border-bottom: 1px solid #1e2382;
    font-size: 5vw;
    text-align: center;
    color: #1e2382;
    padding: 5% 0;
  }
  .sidenav_bnr {
    text-align: center;
  }
  .sidenav_bnr_img {
    width: 100%;
    margin: 10px 0;
  }
  aside ul {
    width: 90%;
    margin: 0 auto;
    overflow: hidden;
    padding: 8% 0 6%;
  }
  aside li {
    width: 32%;
    float: left;
    margin: 0 2% 2% 0;
    font-size: 3.3vw;
  }
  aside li:nth-child(3n) {
    margin: 0 0 2%;
  }
  aside li a {
    display: block;
    text-align: center;
    color: #1e2382;
    border: 1px solid rgba(30, 35, 130, 0.12);
    box-sizing: border-box;
    padding: 75% 2% 10%;
  }
  .sidenav_01 li:first-child {
    background: url(../images/sidenav1_01.png) no-repeat;
    background-size: 40% auto;
    background-position: center 5vw;
  }
  .sidenav_01 li:nth-child(2) {
    background: url(../images/sidenav1_03.png) no-repeat;
    background-size: 40% auto;
    background-position: center 5vw;
  }
  .sidenav_01 li:nth-child(3) {
    background: url(../images/sidenav1_04.png) no-repeat;
    background-size: 40% auto;
    background-position: center 5vw;
  }
  .sidenav_01 li:nth-child(4) {
    background: url(../images/sidenav1_05.png) no-repeat;
    background-size: 40% auto;
    background-position: center 5vw;
  }
  .sidenav_01 li:nth-child(5) {
    background: url(../images/sidenav1_07.png) no-repeat;
    background-size: 40% auto;
    background-position: center 5vw;
  }
  .sidenav_01 li:nth-child(5) a {
    padding: 62% 2% 10%;
  }
  .sidenav_01 li:nth-child(6) {
    background: url(../images/sidenav1_06.png) no-repeat;
    background-size: 40% auto;
    background-position: center 5vw;
  }
  .sidenav_01 li:nth-child(7) {
    background: url(../images/sidenav1_08.png) no-repeat;
    background-size: 45% auto;
    background-position: center 5vw;
  }
  .sidenav_01 li:nth-child(8) {
    background: url(../images/sidenav1_11.png) no-repeat;
    background-size: 45% auto;
    background-position: center 5vw;
  }
  .sidenav_02 li:first-child {
    background: url(../images/sidenav2_01.png) no-repeat;
    background-size: 40% auto;
    background-position: center 5vw;
  }
  .sidenav_02 li:nth-child(2) {
    background: url(../images/sidenav2_02.png) no-repeat;
    background-size: 40% auto;
    background-position: center 5vw;
  }
  .sidenav_02 li:nth-child(3) {
    background: url(../images/sidenav2_03.png) no-repeat;
    background-size: 40% auto;
    background-position: center 5vw;
  }
  .sidenav_02 li:nth-child(4) a {
    padding: 61% 2% 10%;
  }
  .sidenav_02 li:nth-child(4) {
    background: url(../images/sidenav2_04.png) no-repeat;
    background-size: 40% auto;
    background-position: center 3vw;
  }
  .sidenav_02 li:nth-child(5) {
    background: url(../images/sidenav2_05.png) no-repeat;
    background-size: 35% auto;
    background-position: center 5vw;
  }
  /* -----------------------------------------------------------------------
  footer
----------------------------------------------------------------------- */
  .pageup {
    display: none;
    position: fixed;
    bottom: 8.4rem;
    right: 1.0rem;
    z-index: 1;
    cursor: pointer;
  }
  .pageup a {
    display: block;
    width: 4.5rem;
    height: 4.5rem;
    padding: 1rem;
    border-radius: 50%;
    background: #1E2382;
    text-align: center;
    font-size: 2rem;
    color: #fff;
  }
  .pageup a span {
    display: block;
    text-align: center;
    font-size: 1rem;
    color: #fff;
  }
  footer {
    clear: both;
    padding: 0 0 4rem;
    background: #1e2382;
  }
  .footer_nav {
    display: none;
  }
  footer p {
    text-align: center;
    color: #fff;
    font-size: 3vw;
    padding: 3.5% 0;
  }
  /* =======================================================================

   個別
   
======================================================================= */
  article > section {
    margin: 0 0 12%;
    overflow: hidden;
  }
  article > section > section:not(:last-child) {
    margin: 0 0 12%;
  }
  article > section > section > section:not(:last-child) {
    margin: 0 0 6%;
  }
  /* :::::::::: index.html :::::::::: */
  .notice dt {
    color: #1e2382;
    font-weight: bold;
    padding: 0 0 1em 15px;
    cursor: pointer;
    position: relative;
    display: block;
  }
  .notice dt:not(:first-of-type) {
    border-top: 1px dotted rgba(30, 35, 130, 0.6);
    padding: 1em 0 1em 15px;
  }
  .notice dt::before {
    content: '';
    width: 0;
    height: 0;
    border: solid 4px transparent;
    border-left: solid 6px #1e2382;
    position: absolute;
    top: 1.2em;
    left: 0;
  }
  .notice dt:first-of-type::before {
    top: .25em;
  }
  .notice dt.active::before {
    -ms-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    top: 1.4em;
  }
  .notice dt.active:first-of-type::before {
    top: 0.45em;
  }
  .notice dt.cat_corona span::before {
    position: relative;
    display: inline-block;
    content: 'コロナ関連';
    background: #ffff41;
    color: #1e2382;
    font-size: 0.9em;
    padding: 0.3em 0.5em;
    margin: -0.5em 0.5em 0 0;
  }
  .notice dd {
    padding: 0 0 6%;
    line-height: 7vw;
    display: none;
  }
  .notice .notice_table_def {
    width: 100%;
    border: 1px solid rgba(30, 35, 130, 0.12);
  }
  .notice .notice_table_def th, .notice .notice_table_def td {
    border: 1px solid rgba(30, 35, 130, 0.12);
    text-align: center;
    padding: 0.5em;
  }
  .notice .notice_table_def thead th {
    background: #1e2382;
    color: #fff;
  }
  .notice .notice_table_def tbody th {
    background: rgba(30, 35, 130, 0.05);
    color: #1e2382;
  }
  .clinic {
    width: 100%;
    box-sizing: border-box;
    padding: 12% 0;
    border-top: 1px solid #1e2382;
    border-bottom: 1px solid #1e2382;
  }
  .clinic dl {
    width: 80%;
    margin: 0 auto 2%;
    overflow: hidden;
  }
  .clinic dt {
    float: left;
    clear: both;
    border-left: 1px solid #1e2382;
    color: #1e2382;
    width: 40%;
    box-sizing: border-box;
    padding: 3% 5%;
    margin: 0 0 8%;
    line-height: 7vw;
  }
  .clinic dd {
    float: left;
    width: 60%;
    box-sizing: border-box;
    padding: 3% 0;
    margin: 0 0 8%;
    line-height: 7vw;
  }
  .timetable {
    background: rgba(30, 35, 130, 0.05);
    width: 80%;
    margin: 0 auto 8%;
    box-sizing: border-box;
    padding: 4%;
  }
  .timetable table {
    width: 100%;
    color: #1e2382;
  }
  .timetable table th {
    font-weight: normal;
    text-align: center;
    width: 9%;
    padding: 0 0 15px;
  }
  .timetable table th:first-child {
    text-align: left;
    width: 37%;
  }
  .timetable table td {
    text-align: center;
    width: 9%;
    padding: 0 0 15px;
  }
  .timetable table td:first-child {
    text-align: left;
    width: 37%;
  }
  .timetable table .holiday {
    letter-spacing: -0.5em;
    text-indent: -0.5em;
  }
  .timetable table caption {
    color: #1e2382;
    caption-side: bottom;
    border-top: 1px solid #1e2382;
    padding: 4% 0 0;
    line-height: 7vw;
  }
  .clinic dd li {
    margin: 0 0 4%;
  }
  .clinic dd li a {
    text-decoration: underline;
  }
  .map {
    width: 100%;
    height: 125vw;
    float: left;
  }
  .map iframe {
    width: 100%;
    height: 100%;
    border: 0;
  }
  /* =======================================================================

   下層
   
======================================================================= */
  /* -----------------------------------------------------------------------
  共通
----------------------------------------------------------------------- */
  .subpage .content {
    padding: 5% 0;
  }
  .subpage main section {
    overflow: hidden;
  }
  .subpage main h3 {
    text-align: center;
    padding: 6% 0;
  }
  .subpage main h4 {
    padding: 3% 0;
  }
  .subpage main p, .subpage main li, .subpage main dt, .subpage main dd, .subpage main caption {
    line-height: 7vw;
  }
  .subpage main p {
    margin: 0 0 5%;
  }
  .subpage main li {}
  .subpage main dt {
    color: #1e2382;
  }
  .subpage main dd {
    border-bottom: 1px solid rgba(30, 35, 130, 0.12);
    padding: 0 0 2%;
    margin: 0 0 2%;
  }
  .normal_list li {
    background: rgba(30, 35, 130, 0.05);
    padding: 1% 2%;
    margin: 0 0 1%;
  }
  .normal_list li:before {
    content: "";
    display: inline-block;
    width: 2vw;
    height: 2vw;
    border-radius: 50%;
    background: #1e2382;
    margin: 0 1% 0 0;
  }
  .imageright {
    display: block;
    width: 50%;
    height: auto;
    margin: 0 auto 5%;
  }
  .imageright_r {
    display: block;
    width: 50%;
    height: auto;
    margin: 0 auto 5%;
  }
  .subpage main ol {
    background: rgba(30, 35, 130, 0.05);
    padding: 1% 2%;
    margin: 0 0 1%;
    color: #1e2382;
  }
  .subpage main ol li {
    text-indent: -5.5vw;
    padding: 0 0 0 5.5vw;
  }
  .caution {
    background: #ffff41;
    color: #1e2382;
    padding: 2.5% 4%;
  }
  .annotation {
    text-decoration: underline;
  }
  .text_link {
    text-decoration: underline;
  }
  /* -----------------------------------------------------------------------
  doctor.html
----------------------------------------------------------------------- */
  .history {
    width: 100%;
  }
  .history th {
    font-weight: normal;
    text-align: left;
    width: 25%;
    vertical-align: top;
    line-height: 7vw;
    padding: 0 0 2%;
  }
  .history td {
    line-height: 7vw;
    padding: 0 0 2%;
  }
  /* -----------------------------------------------------------------------
  access.html
----------------------------------------------------------------------- */
  .subpage main .timetable {
    width: 100%;
    max-width: inherit;
  }
  .accessmap {
    width: 100%;
    height: 100vw;
  }
  .accessmap iframe {
    width: 100%;
    height: 100%;
    border: 0;
  }
  /* -----------------------------------------------------------------------
  prolonged-cough.html
----------------------------------------------------------------------- */
  .cough_table {
    width: 100%;
  }
  .cough_table th {
    background: rgba(30, 35, 130, 0.05);
    text-align: left;
    font-weight: normal;
    color: #1e2382;
    width: 50%;
    padding: 2.5%;
    border: 1px solid #1e2382;
  }
  .cough_table thead th {
    background: rgba(30, 35, 130, 0.15);
  }
  .cough_table td {
    width: 50%;
    padding: 2.5%;
    border: 1px solid #1e2382;
  }
  .btn_print { /* アクセスページ印刷ボタン */
    display: block;
    background: #1e2382;
    color: #ffff41;
    text-align: center;
    font-size: 1.0em;
    margin-top: 1.0em;
    padding: .6em 1.0em;
  }
  /* -----------------------------------------------------------------------
  sas.html
----------------------------------------------------------------------- */
  .sas_table {
    width: 100%;
    display: block;
    overflow-x: scroll;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 10px;
  }
  .sas_table tbody {
    width: 100%;
    display: table;
  }
  .sas_table tr.head th {
    background: #1e2382;
    color: #fff !important;
    text-align: center;
  }
  .sas_table th {
    background: rgba(30, 35, 130, 0.05);
    text-align: left;
    font-weight: bold;
    color: #1e2382;
    padding: 10px;
    border: 1px solid #1e2382;
  }
  .sas_table td {
    padding: 10px;
    border: 1px solid #1e2382;
    vertical-align: top;
  }
  .sas_table tr.foot td {
    color: #1e2382 !important;
    text-align: center;
    font-weight: bold;
  }
}
@media print { /* アクセスページ印刷 */
  header, aside, footer, .btn_print {
    display: none;
  }
  .content {
    width: 100%;
    max-width: auto;
    margin: 0 auto;
    overflow: hidden;
    font-size: 14px;
  }
  h2 {
    color: #1e2382;
    border-top: 1px solid #1e2382;
    border-bottom: 1px solid #1e2382;
    font-size: 14px;
    text-align: center;
    padding: 2% 0;
    margin: 0 0 6%;
  }
  .timetable {
    background: rgba(30, 35, 130, 0.05);
    width: 100%;
    max-width: auto;
    margin: 0 auto 20px;
    box-sizing: border-box;
    padding: 10px;
  }
  .timetable table {
    width: 100%;
    color: #1e2382;
  }
  .timetable table th {
    font-weight: normal;
    text-align: center;
    width: 10%;
    padding: 0 0 15px;
  }
  .timetable table th:first-child {
    text-align: left;
    width: 30%;
  }
  .timetable table td {
    text-align: center;
    width: 10%;
    padding: 0 0 15px;
  }
  .timetable table td:first-child {
    text-align: left;
    width: 30%;
  }
  .timetable table caption {
    color: #1e2382;
    caption-side: bottom;
    border-top: 1px solid #1e2382;
    padding: 20px 0 0;
  }
  .subpage main dl {
    clear: both;
  }
  .subpage main dt {
    color: #1e2382;
  }
  .subpage main dd {
    border-bottom: 1px solid rgba(30, 35, 130, 0.12);
    padding: 0 0 2%;
    margin: 0 0 2%;
  }
  /*.map {
	width:100%!important;
	height:350px!important;
	display: block!important;
}
.map iframe {
	width:100%!important;
	height:100%!important;
	border:0!important;
	display: block!important;
}*/
  /* -----------------------------------------------------------------------
  access.html
----------------------------------------------------------------------- */
  .subpage main .timetable {
    width: 100%;
    max-width: inherit;
  }
  .accessmap {
    width: 100%;
    height: 350px;
  }
  .accessmap iframe {
    width: 100%;
    height: 100%;
    border: 0;
  }
}
@media print {
  iframe {
    width: 100%;
    height: 100%;
    border: 0;
  }
}
.pc_n {
  display: none;
}
.sp_n {
  display: block;
}
.sp_n.inline {
  display: inline-block;
}
@media screen and (max-width:640px) {
  .pc_n {
    display: block;
  }
  .pc_n.inline {
    display: inline-block;
  }
  .sp_n {
    display: none;
  }
}
.mtb1em {
  margin-top: 1em;
  margin-bottom: 1em;
}
.anc_nav ul {
  display: flex;
  justify-content: space-between;
}
.anc_nav ul li {
  background: #1e2382;
  padding: 10px 0;
  text-align: center;
  width: 32%;
}
.anc_nav ul li a {
  color: #FFF;
}
/* CSSバナー */
a.bnr_txt {
  display: block;
  margin: 0 auto 3rem;
  padding: 0.8rem 1rem 1.2rem 1rem;
  background: #FFFF41;
  color: #1e2382;
  border-radius: .2rem;
  border: 3px solid #1e2382;
  font-size: 1.2rem;
	text-align: center;
}
a.bnr_txt span {
  font-size: 1rem;
}
@media screen and (max-width:640px) {
  a.bnr_txt {
		margin: 2rem auto;
    padding: .5rem .5rem .8rem;
    font-size: 1.2rem;
  }
  a.bnr_txt span {
    font-size: .8rem;
  }
}
.w10 {
  width: 10% !important;
}
.w20 {
  width: 20% !important;
}
.w30 {
  width: 30% !important;
}
.w40 {
  width: 40% !important;
}
.w50 {
  width: 50% !important;
}
.w60 {
  width: 60% !important;
}
.w70 {
  width: 70% !important;
}
.w80 {
  width: 80% !important;
}
.w90 {
  width: 90% !important;
}
/*クレジットカード*/
ul.card {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
  justify-content: left; /* 子要素をflexboxにより中央に配置する */
  align-items: center; /* 子要素をflexboxにより中央に配置する */
}
ul.card li {
  margin-right: 2%;
  margin-bottom: 1%;
  width: 14%;
  vertical-align: baseline;
}
ul.card li img {
  max-width: 100%;
}
@media screen and (max-width:640px) {
  ul.card li {
    width: 22%;
  }
}

/* 固定フローティングバナー */
@media screen and (min-width: 48em), print {
  #rsv_up {
	position: fixed;
    width: auto;
    height: auto;
    top: 18vh;
    bottom: auto;
    right: 0rem;
    left: auto;
    margin: auto;
    padding: 0;
    writing-mode: vertical-rl;
    text-orientation: upright;
  }
  #rsv_up .menu {
    width: 100%;
    height: 100%;
  }
  #rsv_up .menu li {
    border-top: none;
    width: 3.5rem;
    height: 12rem;
  }
  #rsv_up .menu li a {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.6rem;
    font-weight: bold;
  }
  #rsv_up .menu li a::before {
    margin-bottom: 0.5rem;
  }
  #rsv_up .menu li a.rvs {
    color: #1e2382;
    background: #deebf7;
    padding: 0 1rem;
  }
}
@media screen and (max-width:640px) {
  #rsv_up {
    width: 100%;
    height: 4rem;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: 9999;
    font-size: 1.4rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #rsv_up .menu {
    width: 100%;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
  }
  #rsv_up .menu li {
    width: 100%;
    height: auto;
    text-align: center;
    border-top: 1px solid #fff;
    line-height: 1.2;
  }
  #rsv_up .menu li a {
    display: block;
    padding: 1.2rem 0;
    width: 100%;
    height: auto;
    font-size: 1.4rem;
    font-weight: bold;
  }
  #rsv_up .menu li a::before {
    display: block;
  }
  #rsv_up .menu li a.rvs {
    color: #1e2382;
    background: #deebf7;
  }
}

/* 流れ▼ */
.nagare {
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 20px solid transparent;
  border-left: 20px solid transparent;
  border-top: 20px solid #1e2382;
  border-bottom: 0;
  margin: 2rem auto 1rem;
}
@media screen and (max-width:640px) {
.nagare {
  border-right: 13px solid transparent;
  border-left: 13px solid transparent;
  border-top: 15px solid #1e2382;
  margin: 1.5rem auto 0.5rem;
}
}



/* apoco 上書き用 */
body.index .content {
  width: 96%;
  padding: 0;
  margin: 0 auto;
}
.apoco {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
}
.apoco p {
  font-size: 1.2rem;
}
.apoco ul,
.apoco li {
  font-size: 1.2rem;
}
@media screen and (max-width: 768px) {
.apoco ul,
.apoco li {
  font-size: .8rem;
}
}
.apoco-label {
  font-size: 1rem;
}
.apoco .apoco-cal {
  font-size: 1rem;
}
.apoco .apoco-cal__dow {
  padding: .5rem;
  font-weight: bold;
}
.apoco .apoco-cal__day {
  padding: .5rem;
}