@charset "UTF-8";
*:focus:not(:focus-visible),
*::before:focus:not(:focus-visible),
*::after:focus:not(:focus-visible) {
  outline: none;
}

/* https://medium.com/@matuzo/writing-css-with-accessibility-in-mind-8514a0007939 */
.visually-hidden {
  position: absolute;
  white-space: nowrap;
  width: 1px;
  height: 1px;
  overflow: hidden;
  border: 0;
  padding: 0;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  margin: -1px;
}

/* https://www.scottohara.me/blog/2019/01/12/lists-and-safari.html */
.plain-list {
  list-style: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'/%3E");
  padding-left: 0;
}

/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=list],
ol[role=list] {
  list-style: none;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Remove all animations and transitions for people that prefer not to see them */
html {
  -webkit-text-size-adjust: 100%;
}

h5, h6 {
  margin: 0;
}

ul, ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

p {
  margin: 0 0 1em;
}

img {
  height: auto;
  border: none;
  object-fit: contain;
}

iframe {
  max-width: 100%;
  height: 100%;
  border: none;
}

em, i {
  font-style: normal;
}

@font-face {
  font-family: "fontello";
  font-weight: normal;
  src: url("fontello/font/fontello.woff2") format("woff2");
  font-display: fallback;
}
.sp_n {
  display: none;
}

@media screen and (min-width: 48em), print {
  .sp_n {
    display: block;
  }
  .pc_n {
    display: none;
  }
}
.cf::after {
  clear: both;
  display: block;
  content: "";
}

.l-cf {
  display: flow-root;
}

.fl_l {
  float: left;
}

.fl_r {
  float: right;
}

.txt_l {
  text-align: left !important;
}

.txt_r {
  text-align: right !important;
}

.txt_c {
  text-align: center !important;
}

.txt_b {
  font-size: 120% !important;
}

@media screen and (min-width: 48em), print {
  .pc_txt_l {
    text-align: left !important;
  }
  .pc_txt_r {
    text-align: right !important;
  }
  .pc_txt_c {
    text-align: center !important;
  }
}
.img_c {
  margin: 0 auto 1.2rem;
}
.img_c figcaption {
  margin: 0.2em 0;
  font-size: 86%;
  text-align: right;
}

.img_l, .img_r {
  max-width: 80%;
  margin: 0 auto 1.2rem;
}

@media screen and (max-width: 47.99em) {
  .img_c.mb0, .img_l.mb0, .img_r.mb0 {
    margin-bottom: 1.2rem;
  }
}
@media screen and (min-width: 48em), print {
  .img_c {
    max-width: 750px;
    margin: 0 auto 20px;
  }
  .img_c.w100 {
    max-width: 100%;
  }
  .img_l {
    float: left;
    max-width: 40%;
    margin: 8px 30px 20px 0;
  }
  .img_r {
    float: right;
    max-width: 40%;
    margin: 8px 0 20px 30px;
  }
}
.bg_b {
  display: block;
  background: #005dab;
  margin: 0 auto;
  padding: 1.5rem;
  color: #fff;
}

.frame_bg_b {
  display: block;
  border-radius: 1.4rem;
  background: #005dab;
  margin: 0 auto 1rem;
  padding: 1.5rem;
  color: #fff;
  text-align: center;
}

.mb40 {
  margin-bottom: 4rem;
}

.mb0 {
  margin-bottom: 0;
}

.mt40 {
  margin-top: 4rem;
}

.mt30 {
  margin-top: 3rem;
}

.mt20 {
  margin-top: 2rem;
}

.mt10 {
  margin-top: 1rem;
}

.mt5 {
  margin-top: 0.5rem;
}

.mt0 {
  margin-top: 0;
}

@media screen and (min-width: 48em), print {
  .mb40 {
    margin-bottom: 80px;
  }
  .mt40 {
    margin-top: 80px;
  }
  .mt30 {
    margin-top: 60px;
  }
  .mt20 {
    margin-top: 40px;
  }
  .mt10 {
    margin-top: 20px;
  }
  .mt5 {
    margin-top: 10px;
  }
}
.l-flex {
  display: flex;
  flex-wrap: wrap;
}
.l-flex > * {
  flex: 1;
}

.l-flex2, .l-flex3 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.l-flex2 > *, .l-flex3 > * {
  width: 48%;
}
.l-flex2 > *:nth-child(-n+2), .l-flex3 > *:nth-child(-n+2) {
  margin-top: 0 !important;
}

.l-flex2_pc, .l-flex3_pc {
  display: block;
}

@media screen and (min-width: 48em), print {
  .l-flex2_pc, .l-flex3_pc {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .l-flex2_pc > * {
    width: 48%;
  }
  .l-flex2_pc > *:nth-child(-n+2) {
    margin-top: 0 !important;
  }
  .l-flex3 > *, .l-flex3_pc > * {
    width: 30%;
  }
  .l-flex3 > *:nth-child(-n+3), .l-flex3_pc > *:nth-child(-n+3) {
    margin-top: 0 !important;
  }
}
article > section ~ section {
  margin-top: 3.8rem;
}
article > section > section {
  margin-top: 3.4rem;
}
article > section > section > section {
  margin-top: 2.8rem;
}
article > section > section > section > section {
  margin-top: 2.5rem;
}
article h2 + section, article h3 + section {
  margin-top: 1.5rem !important;
}

@media screen and (min-width: 48em), print {
  article .lead {
    display: flow-root;
  }
  article > section ~ section {
    margin-top: 80px;
  }
  article > section > section {
    margin-top: 60px;
  }
  article > section > section > section {
    margin-top: 40px;
  }
  article > section > section > section > section {
    margin-top: 30px;
  }
}
.tit_01 {
  font-size: 2.2rem;
}

.tit_02, .information_tit, .feature_tit, .treatment_tit {
  display: flex;
  justify-content: center;
  align-items: baseline;
  margin: 0 auto 2rem;
  font-weight: 900;
  font-size: 2rem;
  line-height: 1.2;
  text-align: center;
  color: #005dab;
}
.tit_02::before, .information_tit::before, .feature_tit::before, .treatment_tit::before {
  flex: none;
  width: 1.2em;
  height: 1.9em;
  content: "";
}
.tit_02::after, .information_tit::after, .feature_tit::after, .treatment_tit::after {
  flex: none;
  width: 2.14em;
  height: 1.9em;
  margin-left: -0.84em;
  background-image: url(../img/tit_02.svg);
  background-repeat: no-repeat;
  background-position: right top 0.1em;
  background-size: contain;
  content: "";
}

.tit_03 {
  margin: 0 0 1.2rem;
  padding: 0.5rem 0.8rem;
  font-weight: 900;
  font-size: 1.7rem;
  line-height: 1.2;
  color: #005dab;
  background: #dff1ff;
  border: 2px solid #005dab;
  border-radius: 0.5rem;
}

.tit_04 {
  margin: 0 0 0.8rem;
  padding-left: 1.2em;
  font-weight: 900;
  font-size: 1.6rem;
  line-height: 1.2;
  color: #c84654;
}
.tit_04::before {
  display: inline-block;
  margin-left: -1em;
  margin-right: 0.2em;
  font-family: "fontello";
  font-weight: normal;
  content: '\e80b';
}

.tit_05 {
  margin: 0 0 1.6rem;
  padding-bottom: 0.2rem;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.2;
  border-bottom: 2px dotted #005dab;
}

@media screen and (min-width: 48em), print {
  .tit_01 {
    font-size: 3.2rem;
  }
  .tit_02, .information_tit, .feature_tit, .treatment_tit {
    margin: 0 0 30px;
    font-size: 3.5rem;
  }
  .tit_03 {
    margin: 0 0 20px;
    padding: 10px 15px;
    font-size: 2.8rem;
    border-radius: 10px;
  }
  .tit_04 {
    margin: 0 0 18px;
    font-size: 2.4rem;
  }
  .tit_05 {
    margin: 0 0 16px;
    padding-bottom: 4px;
    font-size: 2rem;
  }
}
.lst_ul li {
  padding-left: 1.4em;
}
.lst_ul li::before {
  display: inline-block;
  margin-left: -1.2em;
  margin-right: 0.2em;
  font-size: 1.2em;
  line-height: 0.83;
  content: "●";
  color: #c84654;
}
@media screen and (min-width: 48em), print {
  .lst_ul li::before {
    font-size: 1.6rem;
  }
}

.lst_ul li ~ li {
  margin-top: 0.5em;
}
.lst_ul li.none::before, .lst_ul li.etc::before {
  display: none;
}
@media screen and (min-width: 48em), print {
  .lst_ul.cols {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em 1em;
  }
  .lst_ul.cols li ~ li {
    margin-top: 0;
  }
  .lst_ul.cols2 {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em 4%;
  }
  .lst_ul.cols2 li {
    width: 48%;
  }
  .lst_ul.cols2 li ~ li {
    margin-top: 0;
  }
}

.lst_ol > li {
  margin-left: 1.4em;
  list-style-type: decimal;
}
.lst_ol > li:not(:first-child) {
  margin-top: 0.5em;
}
.lst_ol > li.none, .lst_ol > li.etc {
  list-style-type: none;
}

.lst_marker {
  margin-left: 1em;
}
.lst_marker > li {
  padding-left: 1em;
  text-indent: -1em;
}
.lst_marker > li > * {
  text-indent: 0;
}
.lst_marker > li.none {
  padding-left: 0;
  text-indent: 0;
}
.lst_marker > li.none::before {
  display: none;
}

.lst_dl {
  margin: 1em 0;
}
.lst_dl dt {
  margin-bottom: 0.3em;
  font-weight: bold;
}
.lst_dl dt ~ dt {
  margin-top: 1em;
}
.lst_dl dd[class*=box_], .lst_dl dd [class*=box_] {
  margin: 0;
}

.dl_tbl {
  margin: 1em 0;
  border: 1px solid #d6e4ef;
}
.dl_tbl dt {
  padding: 0.5em 1em;
  font-weight: 700;
  background: #dff1ff;
}
.dl_tbl dt ~ dt {
  border-top: 1px solid #d6e4ef;
}
.dl_tbl dd {
  padding: 0.8em 1em;
}
.dl_tbl_2col {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  margin: 1em 0;
}
.dl_tbl_2col dt {
  flex-grow: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40%;
  padding: 0.5em;
  text-align: center;
  background: #fffeef;
  border: 1px solid #e8e2ba;
  border-radius: 0.5em;
}
.dl_tbl_2col dd {
  flex-grow: 1;
  width: 55%;
  padding: 0.5em;
}
@media screen and (min-width: 48em), print {
  .dl_tbl_2col {
    align-items: center;
    gap: 10px;
    margin: 25px auto;
  }
  .dl_tbl_2col dt {
    width: 22%;
  }
  .dl_tbl_2col dd {
    width: 70%;
  }
}

body#page_first .about_reserve .digisma_flow ol > li, body#page_first .about_reserve .digisma_flow ol > dd {
  position: relative;
}
body#page_first .about_reserve .digisma_flow ol > li:not(:last-child), body#page_first .about_reserve .digisma_flow ol > dd:not(:last-child) {
  margin-bottom: 4rem;
}
body#page_first .about_reserve .digisma_flow ol > li:not(:last-child)::after, body#page_first .about_reserve .digisma_flow ol > dd:not(:last-child)::after {
  position: absolute;
  bottom: -3rem;
  left: 0;
  right: 0;
  display: block;
  width: 0;
  height: 0;
  margin: auto;
  content: "";
  border-style: solid;
  border-width: 1.6rem 2.5rem 0 2.5rem;
  border-color: #005dab transparent transparent transparent;
}
@media screen and (min-width: 48em), print {
  body#page_first .about_reserve .digisma_flow ol > li:not(:last-child), body#page_first .about_reserve .digisma_flow ol > dd:not(:last-child) {
    margin-bottom: 80px;
  }
  body#page_first .about_reserve .digisma_flow ol > li:not(:last-child)::after, body#page_first .about_reserve .digisma_flow ol > dd:not(:last-child)::after {
    bottom: -55px;
    border-width: 25px 40px 0 40px;
  }
}

.tbl_data {
  width: 100%;
  border-collapse: collapse;
}
.tbl_data th, .tbl_data td {
  padding: 0.5rem;
  text-align: left;
  font-weight: normal;
}
@media screen and (min-width: 48em), print {
  .tbl_data th, .tbl_data td {
    padding: 8px 30px;
  }
}
.tbl_c.tbl_data th, .tbl_c.tbl_data td {
  text-align: center;
}
@media screen and (min-width: 48em), print {
  .tbl_c.tbl_data {
    padding: 8px;
  }
}

.tbl_data {
  margin-bottom: 1.5em;
  color: #3a3a3a;
  background: #fff;
}
.tbl_data caption {
  caption-side: bottom;
  margin-top: 0.3em;
  font-size: 88%;
  text-align: right;
}
.tbl_data th, .tbl_data td {
  border: 1px solid #dfe2e6;
}
.tbl_data thead th {
  font-weight: 900;
  color: #fff;
  background: #527797;
  border-color: #cdd6de;
}
.tbl_data thead .subhead th {
  background: #425f79;
}
.tbl_data tbody th {
  font-weight: 700;
  background: #dff1ff;
}
.tbl_data tbody th.thead {
  color: #fff;
  background: #527797;
}

@media screen and (max-width: 47.99em) {
  .sp_frame {
    width: 100%;
    overflow-x: auto;
  }
  .sp_frame > table {
    width: 200%;
  }
}
@media screen and (min-width: 48em), print {
  .sp_frame > table {
    width: 100%;
  }
}

.box_notes, .box_notice, .box_disease, .box_symptoms {
  margin: 1em 0;
  padding: 1.2rem 1.5rem;
}
.box_notes > :last-child, .box_notice > :last-child, .box_disease > :last-child, .box_symptoms > :last-child {
  margin-bottom: 0;
}
.box_notes li:not(:first-child), .box_notice li:not(:first-child), .box_disease li:not(:first-child), .box_symptoms li:not(:first-child) {
  margin-top: 0.5em;
}
@media screen and (min-width: 48em), print {
  .box_notes, .box_notice, .box_disease, .box_symptoms {
    padding: 30px;
  }
}

.box_c {
  display: table !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.box_symptoms {
  background: #fffeef;
}

.box_disease {
  background: #dff1ff;
}

.box_notice {
  background: #ffeff0;
  border-radius: 0.3em;
  box-shadow: inset 0 0 3px #c84654;
}

.box_notes {
  background: #fefefe;
  border: 3px solid #a4c8e6;
  border-radius: 1em;
  box-shadow: 0 0 2px #a4c8e6;
}

.btn_detail, .btn_back {
  display: inline-block;
  padding: 0.6em 1em;
  text-decoration: none;
  line-height: 1.2;
  border-radius: 0.5rem;
}
.btn_detail::after, .btn_back::after {
  font-family: "fontello";
  font-weight: normal;
  content: '\e4a2';
  margin-left: 0.4em;
}
@media screen and (min-width: 48em), print {
  .btn_detail, .btn_back {
    padding: 0.8em 1.5em;
    border-radius: 8px;
    transition: 0.3s;
  }
}

@media screen and (min-width: 48em), print {
  .btn_detail, .btn_back {
    color: #fff;
    background: #005dab;
  }
  .btn_detail:hover, .btn_back:hover {
    filter: saturate(1.5);
  }
}

.js-news dd a, .lnk_to {
  text-decoration: underline;
}
@media screen and (min-width: 48em), print {
  .js-news dd a, .lnk_to {
    transition: 0.3s;
  }
  .js-news dd a:hover, .lnk_to:hover {
    filter: brightness(1.5);
  }
}

.lnk_to {
  color: #527797;
}

em, .em {
  font-weight: bold;
}

.notice {
  color: #c84654;
}

.marker {
  padding-left: 1em;
  text-indent: -1em;
}
.marker > * {
  text-indent: 0;
}
span.marker {
  display: inline-block;
}

.js-tel {
  white-space: nowrap;
}

.rsv_btn {
  display: inline-block;
  padding: 0.6em 1.2em;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #fff;
  background: #005dab;
}
.rsv_btn::before {
  display: inline-block;
  margin-right: 5px;
  line-height: 1;
  font-family: "fontello";
  font-weight: normal;
  content: '\e809';
}
@media screen and (min-width: 48em), print {
  .rsv_btn {
    transition: 0.3s;
  }
  .rsv_btn:hover {
    filter: saturate(1.5);
  }
}

.timetable {
  width: 100%;
  border-collapse: collapse;
  line-height: 1;
  background: #fff;
}
.timetable caption {
  font-weight: 500;
  font-size: 85%;
  caption-side: bottom;
  text-align: left;
  margin-top: 0.5em;
}
.timetable thead th {
  width: 10%;
  padding: 0.3rem 0;
  font-weight: bold;
  text-align: center;
  color: #fff;
  background: #005dab;
  border: 1px solid #707070;
}
.timetable thead th:first-child {
  width: 30%;
}
.timetable tbody th {
  font-weight: 500;
  font-size: 85%;
  text-align: center;
  border: 1px solid #707070;
}
.timetable tbody td {
  text-align: center;
  padding: 0.6rem 0;
  font-size: 112.5%;
  text-align: center;
  border: 1px solid #707070;
}

@media screen and (min-width: 48em), print {
  .timetable {
    table-layout: fixed;
  }
  .timetable caption {
    font-size: 87.5%;
  }
  .timetable thead th {
    width: 10%;
    padding: 8px 0;
  }
  .timetable tbody th {
    padding: 14px 0;
    font-size: 87.5%;
    letter-spacing: 0.1em;
  }
  .timetable tbody td {
    padding: 14px 0;
  }
}
.gmap {
  width: 100%;
}
.gmap iframe {
  width: 100%;
  height: 100%;
  border: none;
}

#open-chatbot {
  cursor: pointer;
  appearance: none;
  border: 0;
  border-radius: 0;
  color: inherit;
  background: none;
  margin: 0;
  padding: 0;
  touch-action: manipulation;
  position: fixed;
  inset: auto auto 4rem 0;
}
#open-chatbot img {
  width: 13rem;
  height: auto;
}

@media screen and (min-width: 48em), print {
  #open-chatbot {
    inset: auto auto 4rem 0;
  }
  #open-chatbot img {
    width: 23rem;
    height: auto;
  }
}
html {
  font-size: 3.125vw;
  font-family: "M PLUS 2", sans-serif;
}

body {
  color: #535353;
  background: #fff;
  word-wrap: break-word;
}
body.spnav_modal {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

a {
  color: inherit;
  text-decoration: none;
}

.main {
  font-size: 1.3rem;
}
.main.contents {
  padding: 2rem 1.5rem 4rem;
}

@media screen and (min-width: 48em), print {
  html {
    font-size: 62.5%;
  }
  body {
    min-width: 1320px;
  }
  .wrap {
    width: 1280px;
    margin: auto;
  }
  .main {
    font-size: 1.8rem;
  }
  .main.contents {
    width: 1000px;
    margin: 0 auto;
    padding: 100px 0;
  }
}
.header .wrap {
  padding: 1rem;
}
.header .wrap .logo {
  width: calc(100% - 6rem);
  height: 4rem;
  margin-bottom: 1rem;
}
.header .wrap .logo a {
  display: grid;
  align-items: center;
  width: 100%;
  height: 100%;
}
.header .wrap .logo a img {
  width: 100%;
  max-height: 100%;
}
.header .wrap .clinic_tel {
  display: flex;
  justify-content: center;
  column-gap: 0.7rem;
  margin-bottom: 0.6rem;
}
.header .wrap .clinic_tel > div {
  display: flex;
  align-items: center;
  column-gap: 0.2rem;
  line-height: 1;
}
.header .wrap .clinic_tel > div.mnumber {
  color: #c84654;
}
.header .wrap .clinic_tel > div.pickup {
  color: #005dab;
}
.header .wrap .clinic_tel dt {
  padding: 0.2rem 0.4rem;
  font-weight: 500;
  font-size: 0.9rem;
  border: 1px solid currentColor;
  border-radius: 1em;
}
.header .wrap .clinic_tel dd {
  font-weight: 900;
  font-size: 1.5rem;
}
.header .wrap .clinic_adr {
  font-size: 1.2rem;
  text-align: center;
}
.header .wrap_col > .top_bnr {
  display: none;
}

@media screen and (min-width: 48em), print {
  .header .wrap {
    display: flex;
    justify-content: space-between;
    height: 173px;
    margin: 0 auto;
    padding: 0;
  }
  .header .wrap_col:nth-of-type(1) {
    width: 540px;
    padding: 20px 0 18px;
  }
  .header .wrap_col:nth-of-type(2) {
    width: 710px;
    padding: 30px 0 0;
  }
  .header .wrap .logo {
    width: 445px;
    height: 63px;
    margin-bottom: 18px;
  }
  .header .wrap .logo a {
    display: block;
  }
  .header .wrap .clinic_tel {
    justify-content: normal;
    margin-bottom: 12px;
  }
  .header .wrap .clinic_tel > div {
    column-gap: 5px;
  }
  .header .wrap .clinic_tel dt {
    padding: 2px 8px 3px;
    font-weight: 900;
    font-size: 1.3rem;
    border-width: 2px;
    border-radius: 10px;
  }
  .header .wrap .clinic_tel dd {
    font-size: 2rem;
    letter-spacing: 0.05em;
  }
  .header .wrap .clinic_tel dd::before {
    content: "tel.";
  }
  .header .wrap .clinic_adr {
    font-weight: 500;
    font-size: 1.4rem;
    letter-spacing: 0.1em;
    line-height: 1;
    text-align: left;
  }
  .header .wrap .sns {
    display: flex;
    justify-content: flex-end;
    column-gap: 20px;
  }
  .header .wrap .sns li {
    width: 40px;
  }
  .header .wrap .sns li a {
    transition: 0.3s;
  }
  .header .wrap .sns li a:hover {
    opacity: 0.7;
  }
  .header .wrap .top_bnr {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    padding-bottom: 10px;
  }
  .header .wrap .doctorsfile {
    width: 190px;
    margin: 0 20px;
  }
}
@media screen and (max-width: 47.99em) {
  .js-sp_modal {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2;
    transition: all 0.5s;
  }
  .js-sp_modal.is_overlay {
    position: fixed;
    bottom: 0;
    right: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 93, 171, 0.9);
  }
  .js-sp_box {
    height: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-3rem);
    transition: 0.5s ease;
  }
  .js-sp_box.is_open {
    height: auto;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
  .js-menu_box {
    display: none;
  }
}
@media screen and (min-width: 48em), print {
  .js-pc_sticky {
    position: relative;
    z-index: 1;
  }
  .js-pc_sticky.is_sticky {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 5;
    width: 100%;
  }
  .js-menu_box {
    display: none;
  }
}
#nav {
  width: 100%;
}
#nav .gnav {
  font-weight: 500;
  font-size: 1.3rem;
  color: #535353;
  background: #fff;
}
#nav .gnav > li {
  text-align: center;
}
#nav .gnav a {
  display: block;
}
#nav .gnav .sub {
  position: relative;
}
#nav .gnav .sub_btn {
  display: block;
  width: 100%;
  color: inherit;
  background: transparent;
  border: 0 none;
  cursor: pointer;
}
#nav .gnav .sub_btn.close {
  color: #005dab;
}
#nav .gnav .sub_box {
  color: #527797;
  background: #fff;
  line-height: 1.2;
}
#nav .gnav .subnav {
  display: flex;
  flex-wrap: wrap;
}
#nav .gnav .subnav li a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}
#nav .gnav .subnav li a i {
  display: inline-block;
}
#nav .gnav .sns {
  text-align: center;
  padding: 1.5rem 0;
}
#nav .gnav .sns li {
  display: inline-block;
  margin: 0 1rem;
}
#nav .gnav .sns li img {
  max-width: 3rem;
}
#nav .gnav .doctorsfile {
  width: 60%;
  min-width: 180px;
  margin: 0 auto 1.5rem;
}

@media screen and (max-width: 47.99em) {
  #nav #sp_menu {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 4.4rem;
    height: 4.4rem;
    margin: 0;
    padding: 0 0 0.2rem;
    line-height: 0.7;
    color: #005dab;
    background: #fff;
    border: 1px solid #005dab;
    border-radius: 0.5rem;
  }
  #nav #sp_menu::before {
    display: block;
    font-family: "fontello";
    font-weight: normal;
    content: '\e802';
    font-size: 3.6rem;
    transition: 0.3s;
  }
  #nav #sp_menu::after {
    font-size: 0.9rem;
    content: "MENU";
  }
  #nav #sp_menu.close::before {
    content: "\e806";
    transform: rotate(180deg);
  }
  #nav #sp_menu.close::after {
    content: "CLOSE";
  }
  #nav #sp_menu span {
    display: none;
  }
  #nav .gnav {
    position: absolute;
    top: 6rem;
    left: 0;
    overflow-y: auto;
    width: 100vw;
    max-height: 75vh;
    font-size: 1.3rem;
  }
  #nav .gnav > li:not(:last-child) {
    border-bottom: 1px solid #005dab;
    box-shadow: 0 1px 1px 1px rgba(0, 93, 171, 0.3);
  }
  #nav .gnav > li > a {
    padding: 0.8rem;
  }
  #nav .gnav > li .sub_btn {
    padding: 0.8rem;
  }
  #nav .gnav > li .sub_btn::after {
    margin-left: 5px;
    font-family: "fontello";
    font-weight: bold;
    content: '\f004';
    font-size: 80%;
    color: #005dab;
  }
  #nav .gnav > li .sub_btn.close::after {
    content: "\f005";
  }
  #nav .gnav > li .sub_box {
    border-top: 1px solid #707070;
  }
  #nav .gnav > li .subnav {
    gap: 1rem 0;
    padding: 1.5rem 0;
  }
  #nav .gnav > li .subnav li {
    width: 50%;
  }
  #nav .gnav > li .subnav li:nth-child(odd) {
    border-right: 2px dotted #707070;
  }
  #nav .gnav > li .subnav li a {
    padding: 0.5rem;
  }
  #nav .gnav > li .subnav li a i {
    font-size: 86%;
  }
}
@media screen and (min-width: 48em), print {
  #nav {
    transition: background 0.5s;
  }
  #nav #sp_menu {
    display: none;
  }
  #nav .gnav {
    position: relative;
    top: 0;
    left: 0;
    overflow-y: visible;
    display: flex;
    justify-content: space-between;
    width: 100%;
    font-weight: 500;
    font-size: 2rem;
    letter-spacing: 0.05em;
    background: transparent;
  }
  #nav .gnav > li > a, #nav .gnav > li .sub_btn {
    padding: 8px 0;
    transition: 0.3s;
  }
  #nav .gnav > li > a:hover, #nav .gnav > li > a:focus, #nav .gnav > li .sub_btn:hover, #nav .gnav > li .sub_btn:focus {
    color: #005dab;
  }
  #nav .gnav > li .sub_box {
    position: absolute;
    top: 50px;
    left: -218px;
    width: 520px;
    padding: 30px 0;
    font-size: 1.6rem;
    border: 1px solid #707070;
  }
  #nav .gnav > li .sub_box .subnav {
    gap: 10px 0;
  }
  #nav .gnav > li .sub_box .subnav li {
    width: 172px;
    height: 56px;
  }
  #nav .gnav > li .sub_box .subnav li:not(:nth-child(3n+3)) {
    border-right: 2px dotted #707070;
  }
  #nav .gnav > li .sub_box .subnav li a {
    padding: 0;
    transition: 0.3s;
  }
  #nav .gnav > li .sub_box .subnav li a:hover, #nav .gnav > li .sub_box .subnav li a:focus {
    background: #dff1ff;
  }
  #nav .gnav > li .sub_box .subnav li a.a_homecare, #nav .gnav > li .sub_box .subnav li a.a_online {
    color: #c46f78;
  }
  #nav .gnav > li .sub_box .subnav li a.a_homecare:hover, #nav .gnav > li .sub_box .subnav li a.a_homecare:focus, #nav .gnav > li .sub_box .subnav li a.a_online:hover, #nav .gnav > li .sub_box .subnav li a.a_online:focus {
    background: #ffeff0;
  }
  #nav .gnav > li .sub_box .subnav li a i {
    font-size: 1.2rem;
  }
  #nav.is_sticky {
    padding: 20px 0;
    background: #fff;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  }
  #nav.is_sticky .gnav {
    width: 710px;
    margin: 0 auto;
  }
  #nav.is_sticky .gnav .subnav {
    top: 66px;
  }
}
@media print {
  #nav.is_sticky {
    position: relative;
    padding: 0;
    box-shadow: none;
  }
  #nav.is_sticky .gnav {
    width: 100%;
  }
}
.overview {
  padding: 2.5rem 2rem 6rem;
  font-size: 1.2rem;
  background: #f5faff;
  border-top: 1px solid #b2b4b7;
}
.overview .clinic_name {
  text-align: center;
  margin: 0 0 1.5rem;
}
.overview .clinic_name img {
  margin: auto;
}
.overview .clinic_outline {
  width: 100%;
  margin: 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.overview .clinic_outline > dt {
  width: 30%;
  padding: 0.8rem 0 0.6rem;
  font-weight: 500;
  color: #005dab;
  border-bottom: 1px dotted #b2b4b7;
}
.overview .clinic_outline > dd {
  width: 70%;
  padding: 0.8rem 0 0.6rem;
  border-bottom: 1px dotted #b2b4b7;
}
.overview .clinic_outline > dd .telephone {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-left: -0.8rem;
  line-height: 1.2;
}
.overview .clinic_outline > dd .telephone dt {
  font-size: 80%;
}
.overview .clinic_outline > dd .telephone dd {
  font-weight: 700;
  font-size: 150%;
}
.overview .timetable {
  margin: 2rem 0;
}
.overview .gmap {
  height: 30rem;
  border: 2px solid #005dab;
  border-radius: 1rem;
}
.overview .gmap iframe {
  overflow: hidden;
  border-radius: 1rem;
}

@media screen and (min-width: 48em), print {
  .overview {
    padding: 120px 0;
    font-size: 1.6rem;
  }
  .overview .wrap {
    display: flex;
    justify-content: space-between;
  }
  .overview .wrap_col:nth-child(1) {
    width: 530px;
  }
  .overview .wrap_col:nth-child(2) {
    width: 640px;
  }
  .overview .clinic_name {
    margin: 0 0 25px;
  }
  .overview .clinic_name img {
    max-width: 480px;
    margin: 0;
  }
  .overview .clinic_outline {
    font-weight: 500;
  }
  .overview .clinic_outline > dt {
    width: 108px;
    padding: 10px 0;
    border-width: 2px;
  }
  .overview .clinic_outline > dd {
    width: 422px;
    padding: 10px 0;
    border-width: 2px;
  }
  .overview .clinic_outline > dd .telephone dt {
    font-weight: 700;
    font-size: 100%;
    letter-spacing: 0.1em;
  }
  .overview .clinic_outline > dd .telephone dd {
    min-width: 320px;
    font-weight: 900;
    font-size: 150%;
    letter-spacing: 0.1em;
  }
  .overview .timetable {
    margin: 30px 0 0;
  }
  .overview .gmap {
    height: 570px;
    border-radius: 20px;
  }
  .overview .gmap iframe {
    border-radius: 20px;
  }
}
#side_bnr {
  display: none;
}
@media screen and (min-width: 48em), print {
  #side_bnr {
    position: fixed;
    top: 173px;
    right: 0;
    z-index: 1;
    display: block;
    width: 60px;
  }
  #side_bnr .rsv_btn {
    display: block;
    width: 100%;
    padding: 15px 12px;
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-size: 2.2rem;
    letter-spacing: 0;
    line-height: 1;
  }
  #side_bnr .rsv_btn::before {
    margin: 0 auto 8px;
    font-size: 3.6rem;
  }
}

.footer {
  padding: 0 0 4rem;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  background: #a4c8e6;
}
.footer ul {
  display: none;
}
.footer .copyright {
  display: block;
  padding: 0.6rem 1rem;
  font-size: 1.1rem;
  line-height: 1;
}

@media screen and (min-width: 48em), print {
  .footer {
    padding: 30px 0;
    font-size: 1.4rem;
    line-height: 1.71;
    letter-spacing: 0.1em;
  }
  .footer ul {
    display: block;
    width: 700px;
    margin: 0 auto;
    text-align: center;
    letter-spacing: -0.04em;
  }
  .footer ul li {
    display: inline-block;
    -webkit-text-size-adjust: none;
    letter-spacing: 0;
  }
  .footer ul li:not(:last-child)::after {
    content: " /";
  }
  .footer ul li a span, .footer ul li a br {
    display: none;
  }
  .footer ul li a:hover {
    text-decoration: underline;
  }
  .footer ul.gnav .sub {
    display: none;
  }
  .footer ul.subnav li:nth-child(8)::after, .footer ul.subnav li:nth-child(12)::after {
    display: none;
  }
  .footer .copyright {
    margin-top: 50px;
    padding: 0;
    font-size: 1.4rem;
    letter-spacing: 0.1em;
  }
}
.js-pageup {
  opacity: 0;
  visibility: hidden;
  position: fixed;
  right: 0.2rem;
  bottom: 4.2rem;
  z-index: 1;
  transition: 0.3s;
}
.js-pageup.is_active {
  opacity: 1;
  visibility: visible;
}
@media screen and (min-width: 48em), print {
  .js-pageup {
    right: 10px;
    bottom: 15px;
  }
}

#pageup {
  display: block;
  width: 4rem;
  height: 4rem;
  padding: 0;
  line-height: 1;
  text-align: center;
  background-color: transparent;
  background-image: url(../img/icon_pageup.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 98% auto;
  border-radius: 50%;
  border: none;
  cursor: pointer;
}
#pageup span {
  display: none;
}
@media screen and (min-width: 48em), print {
  #pageup {
    width: 54px;
    height: 54px;
    background-size: 52px auto;
  }
  #pageup:hover {
    filter: saturate(1.5);
  }
}

#tel_up {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 4rem;
  font-size: 1.2rem;
  line-height: 1.1;
  background: #fff;
}
#tel_up ul {
  display: flex;
  column-gap: 1px;
  width: 100%;
}
#tel_up ul li {
  flex-grow: 1;
}
#tel_up ul li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 4rem;
  padding: 0 0.5rem;
  text-align: center;
  color: #fff;
  background: #005dab;
}
@media screen and (min-width: 48em), print {
  #tel_up {
    display: none;
  }
}

#keyvsl {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 100%;
  height: 18rem;
  background-image: url(../img/index_keyvsl.webp);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}
#keyvsl > p {
  position: relative;
  width: 30vw;
  height: 30vw;
  background: rgba(255, 255, 255, 0.8);
  margin: 0;
  padding: 7vw 0;
  font-weight: 900;
  text-align: center;
  border-radius: 50%;
}
#keyvsl .catch {
  left: 0.3rem;
  color: #c84654;
  font-size: 1.2rem;
  line-height: 1.4;
}
#keyvsl .new {
  right: 0.3rem;
  color: #005dab;
  font-size: 1.6rem;
}
#keyvsl .new .y {
  font-size: 0.8rem;
}
#keyvsl .new .m {
  font-size: 1.1rem;
}

@media screen and (min-width: 48em), print {
  #keyvsl {
    height: 710px;
    background-size: auto;
  }
  #keyvsl > p {
    position: relative;
    width: 300px;
    height: 300px;
    padding: 88px 0;
  }
  #keyvsl .catch {
    left: 10px;
    font-size: 2.8rem;
    letter-spacing: 0.1em;
  }
  #keyvsl .new {
    right: 10px;
    font-size: 4.6rem;
    line-height: 1.2;
  }
  #keyvsl .new .y {
    font-size: 2rem;
  }
  #keyvsl .new .m {
    font-size: 4rem;
  }
}
@media screen and (min-width: 2001px) {
  #keyvsl {
    background-size: cover;
  }
}
.treatment_tit, .feature_tit, .information_tit {
  position: relative;
  padding-bottom: 1.4rem;
}
.treatment_tit span, .feature_tit span, .information_tit span {
  position: absolute;
  bottom: 0;
  display: block;
  width: 100%;
  font-size: 1.3rem;
  text-align: center;
  color: #dc000c;
}
@media screen and (min-width: 48em), print {
  .treatment_tit, .feature_tit, .information_tit {
    padding-bottom: 2.2rem;
    letter-spacing: 0.1em;
  }
  .treatment_tit span, .feature_tit span, .information_tit span {
    font-size: 2rem;
    letter-spacing: 0.1em;
  }
}

.js-news dt {
  cursor: pointer;
}
.js-news dd {
  word-wrap: break-word;
}
.js-news:not(:nth-of-type(-n+3)) dd {
  display: none;
}

.information {
  padding: 2.5rem 1.5rem 4rem;
}
.information_box {
  max-height: 35rem;
  overflow-y: auto;
}
.information_box dl {
  padding: 0.8rem 1rem;
  border-radius: 0.8rem;
  border: 2px solid #a4c8e6;
}
.information_box dl:not(:first-of-type) {
  margin-top: 1rem;
}
.information_box dl dt {
  font-weight: 700;
  font-size: 1.4rem;
  color: #005dab;
}
.information_box dl dt::after {
  font-family: "fontello";
  font-weight: normal;
  content: '\e800';
  margin-left: 0.3rem;
  font-size: 80%;
  vertical-align: 0.2rem;
}
.information_box dl dt.close::after {
  content: "\e803";
}
.information_box dl dd {
  font-size: 1.2rem;
  line-height: 1.25;
}

@media screen and (min-width: 48em), print {
  .information {
    padding: 100px 0;
  }
  .information .wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 0 40px;
  }
  .information_tit {
    display: block;
    width: 230px;
    margin: 0;
    padding: 70px 64px 20px 0;
    background-image: url(../img/tit_02.svg);
    background-repeat: no-repeat;
    background-position: right top;
    background-size: 178px auto;
  }
  .information_tit::before, .information_tit::after {
    display: none;
  }
  .information_tit span {
    position: static;
  }
  .information_box {
    width: 876px;
    max-height: 330px;
  }
  .information_box dl {
    width: 830px;
    padding: 18px 20px 20px;
    border-radius: 10px;
  }
  .information_box dl:not(:first-of-type) {
    margin-top: 15px;
  }
  .information_box dl dt {
    font-weight: 500;
    font-size: 2.2rem;
    letter-spacing: 0.05em;
  }
  .information_box dl dd {
    font-weight: 500;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
  }
}
.feature {
  padding: 4rem 1.5rem;
  background: linear-gradient(#e5f5f9, #f4f9fc);
}
.feature_lst {
  counter-reset: fNum 0;
}
.feature_lst li {
  counter-increment: fNum 1;
  position: relative;
  overflow: hidden;
  padding: 13rem 0 0;
  background-repeat: no-repeat;
  background-position: 0 -2rem;
  background-size: auto 20rem;
  border-radius: 1rem;
}
.feature_lst li:not(:first-of-type) {
  margin-top: 2rem;
}
.feature_lst li::before, .feature_lst li::after {
  position: absolute;
  left: 5px;
  top: 5px;
  display: block;
  width: 50px;
  text-align: center;
}
.feature_lst li::before {
  font-family: "fontello";
  font-weight: normal;
  content: '\e80b';
  font-size: 42px;
  line-height: 1;
}
.feature_lst li::after {
  font-weight: 900;
  line-height: 38px;
  color: #fff;
  content: counter(fNum);
}
.feature_lst li p {
  margin: 0;
  padding: 1rem 1.3rem;
  font-weight: 500;
}
.feature_lst li p em {
  font-weight: 900;
}
.feature_lst li:nth-child(odd)::before {
  color: #005dab;
}
.feature_lst li:nth-child(odd) {
  background-color: #e1eff9;
  box-shadow: 5px 5px 0px #ccdeee;
}
.feature_lst li:nth-child(odd) p {
  background-color: #e1eff9;
}
.feature_lst li:nth-child(odd) p em {
  color: #005dab;
}
.feature_lst li:nth-child(even)::before {
  color: #dc000c;
}
.feature_lst li:nth-child(even) {
  background-color: #ffeff0;
  box-shadow: 5px 5px 0px #eeccd1;
}
.feature_lst li:nth-child(even) p {
  background-color: #ffeff0;
}
.feature_lst li:nth-child(even) p em {
  color: #dc000c;
}
.feature_lst01 {
  background-image: url(../img/index_feature01.webp);
}
.feature_lst02 {
  background-image: url(../img/index_feature02.webp);
}
.feature_lst03 {
  background-image: url(../img/index_feature03.webp);
}
.feature_lst04 {
  background-image: url(../img/index_feature04.webp);
}

@media screen and (min-width: 48em), print {
  .feature {
    padding: 120px 0;
  }
  .feature_lst li {
    display: flex;
    align-items: center;
    width: 940px;
    height: 300px;
    padding: 0 50px 0 490px;
    background-position: left top;
    background-size: auto;
    border-radius: 20px;
  }
  .feature_lst li:not(:first-of-type) {
    margin-top: 50px;
  }
  .feature_lst li::before, .feature_lst li::after {
    left: auto;
    top: auto;
    right: 15px;
    bottom: 10px;
  }
  .feature_lst li::before {
    font-size: 50px;
  }
  .feature_lst li::after {
    font-size: 2rem;
    line-height: 55px;
  }
  .feature_lst li p {
    padding: 0;
    font-size: 2rem;
    letter-spacing: 0.1em;
  }
  .feature_lst li:nth-child(even) {
    margin-left: 340px;
  }
}
.treatment {
  padding: 4rem 1.5rem;
}
.treatment_lst {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
}
.treatment_lst > li {
  width: 48%;
}
.treatment_lst > li a {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 4em;
  font-weight: 700;
  line-height: 1.1;
  text-align: center;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 70% auto;
  border: 2px solid currentColor;
  border-radius: 0.8rem;
}
.treatment_lst > li a.a_internal {
  background-image: url(../img/index_ttt_internal.svg);
}
.treatment_lst > li a.a_hypertension {
  background-image: url(../img/index_ttt_hypertension.svg);
}
.treatment_lst > li a.a_diabetes {
  background-image: url(../img/index_ttt_diabetes.svg);
}
.treatment_lst > li a.a_abnormality {
  background-image: url(../img/index_ttt_abnormality.svg);
}
.treatment_lst > li a.a_heartfailure {
  background-image: url(../img/index_ttt_heartfailure.svg);
}
.treatment_lst > li a.a_ischemicdisease {
  background-image: url(../img/index_ttt_ischemicdisease.svg);
}
.treatment_lst > li a.a_valvulardisease {
  background-image: url(../img/index_ttt_valvulardisease.svg);
}
.treatment_lst > li a.a_arrhythmia {
  background-image: url(../img/index_ttt_arrhythmia.svg);
}
.treatment_lst > li a.a_sas {
  background-image: url(../img/index_ttt_sas.svg);
}
.treatment_lst > li a.a_kidneydisease {
  background-image: url(../img/index_ttt_kidneydisease.svg);
}
.treatment_lst > li a.a_gout {
  background-image: url(../img/index_ttt_gout.svg);
}
.treatment_lst > li a.a_peripheralarterialdisease {
  background-image: url(../img/index_ttt_peripheralarterialdisease.svg);
}
.treatment_lst > li a.a_deepveinthrombosis {
  background-image: url(../img/index_ttt_deepveinthrombosis.svg);
}
.treatment_lst > li a.a_syncope {
  background-image: url(../img/index_ttt_syncope.svg);
}
.treatment_lst > li a.a_pacemaker {
  background-image: url(../img/index_ttt_pacemaker.svg);
}
.treatment_lst > li a.a_vaccination {
  background-image: url(../img/index_ttt_vaccination.svg);
}
.treatment_lst > li a.a_checkup {
  background-image: url(../img/index_ttt_checkup.svg);
}
.treatment_lst > li a.a_homecare {
  background-image: url(../img/index_ttt_homecare.svg);
}
.treatment_lst > li a.a_online {
  background-image: url(../img/index_ttt_online.svg);
}

@media screen and (min-width: 48em), print {
  .treatment {
    padding: 120px 0;
  }
  .treatment_lst {
    justify-content: normal;
    gap: 30px 40px;
  }
  .treatment_lst > li {
    width: 290px;
  }
  .treatment_lst > li a {
    height: 84px;
    font-weight: 900;
    font-size: 2rem;
    border-radius: 10px;
    background-position: right center;
    background-size: contain;
    transition: 0.3s;
  }
  .treatment_lst > li a:hover {
    color: #005dab;
    background-color: #dff1ff;
  }
  .treatment_lst > li a.a_homecare:hover, .treatment_lst > li a.a_online:hover {
    color: #c84654;
    background-color: #ffeff0;
  }
  .treatment_lst > li a br {
    display: none;
  }
}
.slick-slider {
  position: relative;
  display: block;
  -webkit-touch-callout: none;
  user-select: none;
  touch-action: pan-y;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

.slick-loading .slick-list {
  background: #fff url("./../js/slick/image/ajax-loader.gif") center center no-repeat;
}

@font-face {
  font-family: "slick";
  src: url("../js/slick/image/fonts/slick.eot");
  src: url("../js/slick/image/fonts/slick.eot?#iefix") format("embedded-opentype"), url("../js/slick/image/fonts/slick.woff") format("woff"), url("../js/slick/image/fonts/slick.ttf") format("truetype"), url("../js/slick/image/fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal;
}
.slick-prev,
.slick-next {
  position: absolute;
  z-index: 1;
  display: block;
  height: 2.5rem;
  width: 2.4rem;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  top: 50%;
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
}
.slick-prev:hover, .slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  outline: none;
  background: transparent;
}
.slick-prev:hover:before, .slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}
.slick-prev:before,
.slick-next:before {
  font-family: "slick";
  font-size: 2.4rem;
  line-height: 1;
  color: white;
  opacity: 0.2;
  -webkit-font-smoothing: antialiased;
  transition: 0.5s;
}

.slick-prev {
  left: 3px;
}
[dir=rtl] .slick-prev {
  left: auto;
  right: 3px;
}
.slick-prev:before {
  content: "←";
}
[dir=rtl] .slick-prev:before {
  content: "→";
}

.slick-next {
  right: 3px;
}
[dir=rtl] .slick-next {
  left: 3px;
  right: auto;
}
.slick-next:before {
  content: "→";
}
[dir=rtl] .slick-next:before {
  content: "←";
}

.heading {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 10rem;
  padding: 0.5rem 1rem;
  font-weight: 700;
  font-size: 2.2rem;
  line-height: 1.2;
  color: #005dab;
  background-image: url(../img/heading_bg.webp);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
@media screen and (min-width: 48em), print {
  .heading {
    min-height: 400px;
    padding: 20px calc(50% - 500px);
    font-weight: 900;
    font-size: 4.6rem;
    text-align: center;
  }
}

@media screen and (max-width: 47.99em) {
  body#page_peripheralarterialdisease .heading,
  body#page_ischemicdisease .heading {
    font-size: 1.8rem;
  }
}
.breadcrumbs {
  padding: 0.5rem 1rem;
  background: transparent;
  font-weight: 500;
}
.breadcrumbs li {
  display: inline-block;
}
.breadcrumbs li:not(:first-child)::before {
  display: inline-block;
  margin: 0 0.2em;
  content: "＞";
}
.breadcrumbs li a {
  color: #005dab;
}
@media screen and (min-width: 48em), print {
  .breadcrumbs {
    padding: 10px 0;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
  }
  .breadcrumbs ol {
    width: 1000px;
    margin: 0 auto;
  }
  .breadcrumbs ol a:hover {
    text-decoration: underline;
  }
}

.dl_application .box_notes {
  margin-top: 0;
  text-align: center;
}
.dl_application .box_notes li img {
  display: inline-block;
  max-width: 50%;
  margin-top: 1rem;
}
.dl_application .box_notes li.qr {
  display: none;
}
.dl_application p {
  margin-bottom: 0;
}
@media screen and (min-width: 48em), print {
  .dl_application .box_notes {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
  }
  .dl_application .box_notes li {
    margin: 0;
  }
  .dl_application .box_notes li img {
    max-width: 100%;
    margin-top: 0;
  }
  .dl_application .box_notes li.qr {
    display: block;
  }
  .dl_application p {
    text-align: center;
  }
}

body#page_doctor .doctor_greeting img {
  max-width: 60%;
  margin: -8% auto;
  clip-path: inset(8% 0 14% 0);
}
body#page_doctor .doctor_greeting .signature {
  text-align: right;
}
body#page_doctor .doctor_profile section {
  margin-top: 3rem;
}
body#page_doctor .doctor_profile .bio {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  row-gap: 0.4em;
  margin-bottom: 3rem;
}
body#page_doctor .doctor_profile .bio dt {
  width: 6.5em;
  white-space: nowrap;
}
body#page_doctor .doctor_profile .bio dd {
  width: calc(100% - 7em);
}
@media screen and (min-width: 48em), print {
  body#page_doctor .doctor_greeting {
    display: flow-root;
  }
  body#page_doctor .doctor_greeting img {
    float: right;
    max-width: 380px;
    margin: 0 0 0 80px;
    clip-path: none;
  }
  body#page_doctor .doctor_profile {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    column-gap: 40px;
  }
  body#page_doctor .doctor_profile section {
    margin-top: 60px;
  }
  body#page_doctor .doctor_profile > section {
    width: 520px;
  }
  body#page_doctor .doctor_profile > section .bio {
    margin: 0 15px;
  }
  body#page_doctor .doctor_profile > div .lst_ul {
    margin: 0 10px;
  }
}

#clinicSlide, #deviceSlide {
  visibility: hidden;
  width: auto;
}
#clinicSlide .slider-panel .slick-prev.slick-disabled, #clinicSlide .slider-panel .slick-next.slick-disabled, #deviceSlide .slider-panel .slick-prev.slick-disabled, #deviceSlide .slider-panel .slick-next.slick-disabled {
  pointer-events: none;
  opacity: 0;
}
#clinicSlide .slider-nav, #deviceSlide .slider-nav {
  margin-top: 0.5rem;
}
#clinicSlide .slider-nav .slick-list .slick-slide, #deviceSlide .slider-nav .slick-list .slick-slide {
  overflow: hidden;
  padding: 4px;
  cursor: pointer;
}
#clinicSlide .slider-nav .slick-list .slick-slide.slick-current, #deviceSlide .slider-nav .slick-list .slick-slide.slick-current {
  background: #527797;
}
#clinicSlide figcaption, #deviceSlide figcaption {
  display: block;
  margin: 0;
  padding: 0.3rem;
  text-align: center;
  color: #fff;
  background: #527797;
}
@media screen and (max-width: 47.99em) {
  #clinicSlide .slider-panel .slick-prev::before, #clinicSlide .slider-panel .slick-next::before, #deviceSlide .slider-panel .slick-prev::before, #deviceSlide .slider-panel .slick-next::before {
    opacity: 1;
  }
}
@media screen and (min-width: 48em), print {
  #clinicSlide, #deviceSlide {
    width: 750px;
    margin: 0 auto;
  }
  #clinicSlide .slider-panel .slick-prev, #clinicSlide .slider-panel .slick-next, #deviceSlide .slider-panel .slick-prev, #deviceSlide .slider-panel .slick-next {
    width: 5rem;
    height: 5rem;
  }
  #clinicSlide .slider-panel .slick-prev::before, #clinicSlide .slider-panel .slick-next::before, #deviceSlide .slider-panel .slick-prev::before, #deviceSlide .slider-panel .slick-next::before {
    font-size: 5rem;
    color: #527797;
  }
  #clinicSlide .slider-panel .slick-prev, #deviceSlide .slider-panel .slick-prev {
    left: -60px;
  }
  #clinicSlide .slider-panel .slick-next, #deviceSlide .slider-panel .slick-next {
    right: -60px;
  }
  #clinicSlide figcaption, #deviceSlide figcaption {
    font-size: 2.4rem;
  }
}

@media screen and (min-width: 48em), print {
  #deviceSlide .slider-nav .slick-track {
    transform: unset !important;
  }
}

body#page_first .first_guide img {
  max-width: 80%;
  margin: 0 auto;
}
body#page_first .first_guide .lst_ul {
  max-width: 82%;
  margin: 1.5rem auto;
}
body#page_first .first_guide .marker {
  font-size: 90%;
  text-align: center;
}
body#page_first .about_reserve > p em {
  font-size: 125%;
}
body#page_first .about_reserve .reservation .box_notes {
  font-size: 1.5rem;
  text-align: center;
}
body#page_first .about_reserve .reservation .box_notes .telephone {
  margin-bottom: 1.5rem;
}
body#page_first .about_reserve .reservation .box_notes .telephone dt {
  display: inline-block;
}
body#page_first .about_reserve .reservation .box_notes .telephone dt::after {
  content: "：";
}
body#page_first .about_reserve .reservation .box_notes .telephone dd {
  display: inline-block;
  font-weight: bold;
  font-size: 125%;
}
body#page_first .about_reserve .reservation .box_notes .qr {
  display: none;
}
body#page_first .about_reserve .digisma_flow ol {
  background: #e6f0fa;
}
body#page_first .about_reserve .digisma_flow ol img {
  margin: auto;
}
@media screen and (min-width: 48em), print {
  body#page_first .first_guide {
    display: flex;
    justify-content: space-evenly;
    column-gap: 80px;
  }
  body#page_first .first_guide img {
    max-width: 380px;
    margin: 0;
  }
  body#page_first .first_guide div {
    width: 400px;
  }
  body#page_first .first_guide div .lst_ul {
    max-width: 100%;
  }
  body#page_first .about_reserve > p {
    font-size: 1.8rem;
    line-height: 1.7;
    text-align: center;
  }
  body#page_first .about_reserve .reservation .box_notes {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    padding: 25px 40px;
    font-size: 2.4rem;
  }
  body#page_first .about_reserve .reservation .box_notes .telephone {
    margin-bottom: 25px;
  }
  body#page_first .about_reserve .reservation .box_notes .qr {
    display: block;
    margin-top: 10px;
  }
  body#page_first .about_reserve .reservation .box_notes .qr img {
    display: inline-block;
    max-width: 100%;
  }
  body#page_first .about_reserve .digisma > p {
    font-size: 1.8rem;
    line-height: 1.7;
    text-align: center;
  }
  body#page_first .about_reserve .digisma_flow {
    margin: 50px auto;
  }
  body#page_first .about_reserve .digisma_flow ol {
    padding-bottom: 20px;
  }
}

body#page_access .access_info {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  color: #3a3a3a;
  background: #fff;
  border: 1px solid #eee;
}
body#page_access .access_info dt {
  padding: 0.5rem 1rem;
  font-weight: 700;
  background: #dff1ff;
}
body#page_access .access_info dd {
  padding: 0.5rem 1rem 0.8rem;
}
body#page_access .timetable {
  margin: 2rem 0;
}
body#page_access .gmap {
  height: 30rem;
  margin: 2rem 0;
}
@media screen and (min-width: 48em), print {
  body#page_access .access_info {
    flex-direction: row;
  }
  body#page_access .access_info dt {
    width: 25%;
    padding: 20px 30px;
    letter-spacing: 0.2em;
  }
  body#page_access .access_info dd {
    width: 75%;
    padding: 20px 30px;
  }
  body#page_access .access_info dt:not(:first-of-type), body#page_access .access_info dd:not(:first-of-type) {
    border-top: 1px solid #eee;
  }
  body#page_access .timetable {
    font-size: 2rem;
  }
  body#page_access .gmap {
    height: 50rem;
  }
}

body#page_404 .notfound {
  padding: 3rem 1rem;
  text-align: center;
}
body#page_404 .notfound .btn_back {
  margin-top: 2em;
}

.checkup {
  width: 100%;
  border-collapse: collapse;
  line-height: 1;
  background: #005dab;
  color: #fff;
  line-height: 1.5;
}
.checkup tr {
  border-bottom: 1px solid #fff;
  /*&:first-child {
  border-bottom: none;
  }*/
}
.checkup tr td {
  text-align: center;
  padding: 0.6rem 0;
  text-align: center;
}

@media screen and (min-width: 48em), print {
  .checkup tr td {
    padding: 1.5rem;
  }
}
.hypertension_flex2 {
  display: block;
  margin: 0 auto;
}
.hypertension_flex2 .hypertension {
  background: #005dab;
  border-radius: 1em;
  color: #ffffff;
  padding: 20px 10px 10px;
  text-align: center;
  width: 100%;
  margin-bottom: 2rem;
}
.hypertension_flex2 .hypertension p {
  font-size: 120%;
}

@media screen and (min-width: 48em), print {
  .hypertension_flex2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2rem;
  }
  .hypertension_flex2 .hypertension {
    padding: 20px 10px 10px;
    width: 38%;
  }
}