@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); -webkit-clip-path: inset(50%); 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 { -webkit-box-sizing: border-box; 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 1.0em; }

img { height: auto; border: none; -o-object-fit: contain; object-fit: contain; }

iframe { max-width: 100%; height: 100%; border: none; }

em, i { font-style: normal; }

@font-face { font-family: 'fontello'; src: url("fontello/font/fontello.woff2") format("woff2"); font-display: fallback; }
@font-face { font-family: 'Lora'; src: url("Lora/Lora-Medium.woff2") format("woff2"); font-weight: normal; font-style: normal; }
.sp_n { display: none; }

@media screen and (min-width: 48em), print { .sp_n { display: block; }
  .pc_n { display: none; } }
.cf::before, .cf::after { content: ''; display: block; }

.cf::after { clear: both; }

.fl_l { float: left; }

.fl_r { float: right; }

.txt_c { text-align: center !important; }

.txt_l { text-align: left !important; }

.txt_r { text-align: right !important; }

.bold { font-weight: bold; }

.txt_green { color: #55b4b5; }

.img_c { margin: 0 auto 1.2rem; }

.img_l, .img_r { max-width: 80%; margin: 1.2rem auto; }

@media screen and (min-width: 48em), print { .img_c { max-width: 500px; margin: 0 auto 40px; }
  .img_c.w100 { max-width: 100%; }
  .img_l { float: left; max-width: 500px; margin: 0 40px 20px 0; }
  .img_r { float: right; max-width: 500px; margin: 0 0 20px 40px; }
  .fit .img_l, .fit .img_r { margin-bottom: 0; } }
.mb40 { margin-bottom: 4.0rem; }

.mt40 { margin-top: 4.0rem; }

.mt30 { margin-top: 3.0rem; }

.mt20 { margin-top: 2.0rem; }

.mt10 { margin-top: 1.0rem; }

.mt5 { margin-top: 0.5rem; }

.mt0 { margin-top: 0; }

.mb0 { margin-bottom: 0; }

main.wrap > section ~ section { margin-top: 4.0rem; }
main.wrap > section section { margin-top: 3.0rem; }
main.wrap > section section section { margin-top: 2.5rem; }
main.wrap > section section section section { margin-top: 2.0rem; }
main.wrap > section h2 + section, main.wrap > section h3 + section, main.wrap > section h4 + section, main.wrap > section h5 + section { margin-top: 0 !important; }

article + article { margin-top: 4.0rem; }
article .intro { margin-bottom: 3.6rem; }
article > section ~ section { margin-top: 3.8rem; }
article > section > section { margin-top: 3.2rem; }
article > section > section > section { margin-top: 2.6rem; }
article > section > section > section > section { margin-top: 2.2rem; }
article h2 + section, article h3 + section, article h4 + section, article h5 + section { margin-top: 0 !important; }

@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; }
  main.wrap > section ~ section { margin-top: 80px; }
  main.wrap > section section { margin-top: 60px; }
  main.wrap > section section section { margin-top: 40px; }
  main.wrap > section section section section { margin-top: 30px; }
  article + article { margin-top: 80px; }
  article .intro { margin-bottom: 70px; }
  article > section ~ section { margin-top: 70px; }
  article > section > section { margin-top: 55px; }
  article > section > section > section { margin-top: 40px; }
  article > section > section > section > section { margin-top: 30px; } }
.flex2, .flex3 { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
.flex2 > *, .flex3 > * { width: 48%; }
.flex2 > *:nth-child(-n+2), .flex3 > *:nth-child(-n+2) { margin-top: 0 !important; }

.flex2_pc, .flex3_pc { display: block; }

@media screen and (min-width: 48em), print { .flex2_pc, .flex3_pc { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
  .flex2_pc > * { width: 48%; }
  .flex2_pc > *:nth-child(-n+2) { margin-top: 0 !important; }
  .flex3 > *, .flex3_pc > * { width: 30%; }
  .flex3 > *:nth-child(-n+3), .flex3_pc > *:nth-child(-n+3) { margin-top: 0 !important; } }
.tit_01 { margin: 0 0 3.0rem; padding: 3.0rem 1.0rem; font-size: 2.2rem; }

.tit_02, .information_tit, .feature_tit { position: relative; min-height: 3.4em; margin: 0 0 2.0rem; padding: 1.0em 0 0 0.9em; font-weight: normal; font-size: 2.0rem; line-height: 1.2; }
.tit_02::before, .information_tit::before, .feature_tit::before { position: absolute; top: 0; left: 0; display: block; width: 7.5em; height: 3.2em; content: ''; border-top: 2px solid #8bcccd; border-left: 2px solid #8bcccd; }

.tit_03, .exam_flow dt { margin: 0 0 1.4rem; padding: 0.7rem 1.4rem 0.6rem; font-weight: normal; font-size: 1.8rem; line-height: 1.2; background: #f2f4fb; border-left: 3px solid #8bcccd; }

.tit_04 { margin: 0 0 1.2rem; padding: 0.7rem 1.4rem; font-weight: normal; font-size: 1.6rem; line-height: 1.2; border-left: 3px solid #8bcccd; }

.tit_05 { margin: 0 0 1.0rem; padding: 0.4rem 1.2rem 0.8rem; font-weight: normal; font-size: 1.4rem; line-height: 1.2; border-bottom: 1px solid #707070; }

.tit_06 { margin: 0 0 1.0rem; font-size: 1.2rem; line-height: 1.2; }

@media screen and (min-width: 48em), print { .tit_01 { margin: 0 0 30px; padding: 40px 0; font-size: 3.2rem; }
  .tit_02, .information_tit, .feature_tit { min-height: 140px; margin: 0 0 28px; padding: 36px 0 0 45px; font-size: 3.4rem; }
  .tit_02::before, .information_tit::before, .feature_tit::before { width: 273px; height: 138px; }
  .tit_03, .exam_flow dt { margin: 0 0 20px; padding: 9px 20px 8px; font-size: 2.8rem; border-left-width: 5px; }
  .tit_04 { margin: 0 0 18px; padding: 12px 20px 10px; font-size: 2.4rem; border-left-width: 5px; }
  .tit_05 { margin: 0 0 16px; padding: 7px 19px 17px; font-size: 2.1rem; } }
.marker_dsc, .lst_ul > li, .lst_ul > dt { padding-left: 1.4em; text-indent: -1.2em; }
.marker_dsc::before, .lst_ul > li::before, .lst_ul > dt::before { display: inline-block; width: 1em; height: 1em; margin-right: 0.2em; content: ''; background: #8bcccd; border-radius: 50%; -webkit-transform: scale(0.6); transform: scale(0.6); vertical-align: -0.12em; }
.marker_dsc > *, .lst_ul > li > *, .lst_ul > dt > * { text-indent: 0; }

.lst_ul > li:first-child { margin-top: 0; }
.lst_ul > li.none, .lst_ul > li.etc { padding-left: 0; text-indent: 0; }
.lst_ul > li.none::before, .lst_ul > li.etc::before { display: none; }
.lst_ul > dd:not(:last-of-type) { margin-bottom: 1em; }
.lst_ul > dd :last-child { margin-bottom: 0; }
.lst_ul > dd > p { margin-bottom: 0.4em; }
p + .lst_ul { margin-top: -0.7em; }
.lst_ul + p { margin-top: 0.3em; }

.lst_ol > li { margin-left: 1.4em; list-style-type: decimal; }
.lst_ol > li::marker { font-weight: bold; }
p + .lst_ol { margin-top: -0.5em; }
.lst_ol + p { margin-top: 0.5em; }

.lst_check { line-height: 1.4; margin: 1.0rem 0; }
.lst_check > li { padding: 0 0 0 1.4em; position: relative; }
.lst_check > li:not(:last-child) { margin: 0 0 1.0rem; }
.lst_check > li::before { content: "●"; color: var(--clr_txt); position: absolute; left: 0; }
.lst_check.check > li::before { content: "✓"; color: var(--clr_txt); }

.lst_marker { margin-left: 1em; }
.lst_marker > li, .lst_marker dt { padding-left: 1em; text-indent: -1em; }
.lst_marker > li > *, .lst_marker dt > * { text-indent: 0; }
.lst_marker > li.none, .lst_marker dt.none { padding-left: 0; text-indent: 0; }
.lst_marker > li.none::before, .lst_marker dt.none::before { display: none; }
.lst_marker > dd { padding-left: 1em; }

.lst_line { margin: 1em 0; border: 1px solid #707070; }
.lst_line li { padding: 0.5em 1em; }
.lst_line li:not(:first-child) { border-top: 1px solid #707070; }

.dl_tbl { margin: 1em 0; border: 1px solid #707070; }
.dl_tbl > dt { padding: 0.5em 1em; background: #cbd3ef; }
.dl_tbl > dt:not(:first-of-type) { border-top: 1px solid #707070; }
.dl_tbl > dd { padding: 0.8em 1.0em; border-top: 1px solid #707070; }
.dl_tbl > dd :last-child { margin-bottom: 0; }

.tbl_, .tbl_def, .tbl_price, .tbl_three, .tbl_three01 { width: 100%; border-collapse: collapse; border-spacing: 0; margin: 1em 0; }
.tbl_ caption, .tbl_def caption, .tbl_price caption, .tbl_three caption, .tbl_three01 caption { text-align: left; }
.tbl_ th, .tbl_def th, .tbl_price th, .tbl_three th, .tbl_three01 th, .tbl_ td, .tbl_def td, .tbl_price td, .tbl_three td, .tbl_three01 td { padding: 0.5rem; text-align: left; font-weight: normal; }
@media screen and (min-width: 48em), print { .tbl_ th, .tbl_def th, .tbl_price th, .tbl_three th, .tbl_three01 th, .tbl_ td, .tbl_def td, .tbl_price td, .tbl_three td, .tbl_three01 td { padding: 15px 20px; } }
.tbl_def { border: 1px solid #707070; }
.tbl_def th { color: #fff; background: #8bcccd; border-bottom: 1px solid #707070; }
.tbl_def td { color: #333; background: #fff; border-bottom: 1px solid #707070; }
.tbl_price { border: 1px solid #707070; }
.tbl_price th { color: #fff; background: #8bcccd; border-bottom: 1px solid #707070; }
.tbl_price td { color: #333; background: #fff; border-bottom: 1px solid #707070; }
.tbl_price tr td:last-of-type { text-align: right; }
.tbl_.fixed, .fixed.tbl_def, .fixed.tbl_price, .fixed.tbl_three, .fixed.tbl_three01 { table-layout: fixed; }
.tbl_ .wid30, .tbl_def .wid30, .tbl_price .wid30, .tbl_three .wid30, .tbl_three01 .wid30 { width: 30%; }
.tbl_three { border: 1px solid #707070; }
.tbl_three th { width: 33%; color: #333; background: #fff; border-bottom: 1px solid #707070; border-right: 1px solid #707070; }
.tbl_three th:nth-of-type(2) { background: #FFF7F7; }
.tbl_three th:nth-of-type(3) { background: #E3ECFB; }
.tbl_three th:last-of-type { border-right: none; }
.tbl_three td { color: #333; background: #fff; border-bottom: 1px solid #707070; border-right: 1px solid #707070; }
.tbl_three td:nth-of-type(2) { background: #FFF7F7; }
.tbl_three td:nth-of-type(3) { background: #E3ECFB; }
.tbl_three td:last-of-type { border-right: none; }
.tbl_three01 { border: 1px solid #707070; }
.tbl_three01 th { color: #fff; background: #8bcccd; border-bottom: 1px solid #707070; text-align: center; }
.tbl_three01 td { color: #333; background: #fff; border-bottom: 1px solid #707070; border-right: 1px solid #707070; text-align: center; }

.box_, .box_symptoms, .box_disease, .box_notes { padding: 1.2rem; }
.box_ > :last-child, .box_symptoms > :last-child, .box_disease > :last-child, .box_notes > :last-child { margin-bottom: 0; }
.box_.lst_ul li:not(:first-child), .lst_ul.box_symptoms li:not(:first-child), .lst_ul.box_disease li:not(:first-child), .lst_ul.box_notes li:not(:first-child), .box_.lst_ol li:not(:first-child), .lst_ol.box_symptoms li:not(:first-child), .lst_ol.box_disease li:not(:first-child), .lst_ol.box_notes li:not(:first-child) { margin-top: 0.3em; }
@media screen and (min-width: 48em), print { .box_, .box_symptoms, .box_disease, .box_notes { padding: 30px; } }
.box_symptoms { background: #f2f4fb; }
.box_disease { background: #f2f9fb; }
.box_notes { background: #e4f3f3; }

.btn_, .btn_detail, .btn_back, .btn_ref, .rsv.btn a, .btn_rsv, .greeting_btn a { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; padding: 0.6em 0.8em; line-height: 1.2; text-decoration: none !important; color: #fff; background: #8bcccd; -webkit-transition: 0.3s; transition: 0.3s; }
.btn_::before, .btn_detail::before, .btn_back::before, .btn_ref::before, .rsv.btn a::before, .btn_rsv::before, .greeting_btn a::before, .btn_::after, .btn_detail::after, .btn_back::after, .btn_ref::after, .rsv.btn a::after, .btn_rsv::after, .greeting_btn a::after { -webkit-box-flex: 0; -ms-flex: none; flex: none; width: 1.6em; font-weight: normal; font-size: 80%; content: ''; }
.btn_::after, .btn_detail::after, .btn_back::after, .btn_ref::after, .rsv.btn a::after, .btn_rsv::after, .greeting_btn a::after { font-family: 'fontello'; content: '\e804'; text-align: right; }
@media screen and (min-width: 48em), print { .btn_, .btn_detail, .btn_back, .btn_ref, .rsv.btn a, .btn_rsv, .greeting_btn a { font-weight: bold; text-align: center; }
  .btn_:hover, .btn_detail:hover, .btn_back:hover, .btn_ref:hover, .rsv.btn a:hover, .btn_rsv:hover, .greeting_btn a:hover { background: #56b4b6; } }

.btn_ref { color: #fff; background: #acb9e5; }
.btn_ref::before { display: none; }
.btn_ref::after { width: 1em; }
.btn_ref:hover { background: #91a2dd; }

.lnk_, .lnk_to, .lnk_external, .lnk_url, .header_wrap .clinic_info_adr a, .news_body a { text-decoration: underline; }
.lnk_:hover, .lnk_to:hover, .lnk_external:hover, .lnk_url:hover, .header_wrap .clinic_info_adr a:hover, .news_body a:hover { text-decoration: none; }
.lnk_to { color: #55b4b5; }
.lnk_to::before { content: '≫'; }
@media screen and (min-width: 48em), print { .lnk_to { text-shadow: 0 0 0 #b7eced; }
  .lnk_to:hover { color: #3dcccd; } }
.lnk_url { font-family: sans-serif; font-size: 92%; word-break: break-all; color: #316b72; }
.lnk_url:hover { color: #89c5cc; }

em { font-weight: bold; }

mark { font-weight: bold; padding: 0 3px; background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #b7eced)); background: linear-gradient(transparent 60%, #b7eced 60%); }

.liner { text-decoration: underline; }

.marker { padding-left: 1em; text-indent: -1em; }
.marker > * { text-indent: 0; }

.tel { line-height: 1; white-space: nowrap; font-family: 'Lora', serif; }
.tel.ico a::before { display: inline-block; margin-right: 0.2em; font-family: 'fontello'; font-weight: normal; font-size: 120%; content: '\e800'; }
@media screen and (min-width: 48em), print { .tel.ico::before { margin-right: 0.36em; font-family: 'fontello'; font-weight: normal; font-size: 120%; content: '\e800'; }
  .tel.ico a::before { display: none; } }

.fax { line-height: 1; white-space: nowrap; font-family: 'Lora', serif; }
.fax.ico::before { display: inline-block; width: 2.2rem; margin-left: -0.1em; content: 'Fax.'; letter-spacing: -0.08em; font-size: 54%; }
@media screen and (min-width: 48em), print { .fax.ico::before { width: 38px; font-size: 60%; } }

.rsv { line-height: 1; }
.rsv.ico a::before { margin-right: 0.1em; font-family: 'fontello'; font-weight: normal; content: '\e801'; }

.tbl_time { width: 100%; border-collapse: collapse; line-height: 1; }
.tbl_time caption { caption-side: bottom; margin-top: 0.6em; font-size: 90%; text-align: left; }
.tbl_time thead th { width: 9%; padding: 0.6em 0; font-weight: normal; }
.tbl_time thead th:first-child { width: 32%; text-align: left; }
.tbl_time thead th:last-child { width: auto; letter-spacing: -0.25em; }
.tbl_time tbody th { padding: 0.6em 0; font-family: 'Lora', serif; font-weight: normal; white-space: nowrap; text-align: left; border-top: 1px solid #707070; }
.tbl_time tbody td { padding: 0.6em 0; text-align: center; border-top: 1px solid #707070; }

@media screen and (min-width: 48em), print { .tbl_time { table-layout: fixed; }
  .tbl_time thead th { padding: 0.8em 0; }
  .tbl_time thead th:first-child { width: 30%; }
  .tbl_time tbody th { padding: 1em 0; }
  .tbl_time tbody td { padding: 1em 0; } }
.gmap { width: 100%; }
.gmap iframe { width: 100%; height: 100%; border: none; }

html { font-size: calc(100vw / 32); font-family: YuMincho, 'Yu Mincho', '游明朝', 'Hiragino Mincho ProN', 'MS PMincho', serif; }

body { background: #fff; color: #333; word-wrap: break-word; }
body.spnav_modal { width: 100%; height: 100%; overflow: hidden; }

a { color: inherit; text-decoration: none; }

.main { font-size: 1.4rem; }
.main.wrap { padding: 1.0rem 1.3rem 3.0rem; }

@media screen and (min-width: 48em), print { html { font-size: 62.5%; }
  body { min-width: 1240px; }
  a, button { -webkit-transition: 0.4s; transition: 0.4s; }
  .wrap { width: 1200px; margin: auto; }
  .main { font-size: 1.8rem; }
  .main.wrap { padding: 40px 0 80px; line-height: 1.8; } }
.header_wrap { width: 100%; padding: 1.0rem 1.3rem; }
.header_wrap .logo { height: 3.5rem; margin: 0 0 0.6rem; }
.header_wrap .logo a { display: block; width: 100%; height: 100%; background: url(../img/logo_horizontal.svg) no-repeat left center/contain; text-indent: 100%; white-space: nowrap; overflow: hidden; }
.header_wrap .clinic_info { text-align: right; }
.header_wrap .clinic_info_adr { font-size: 1.1rem; }
.header_wrap .clinic_info_contact { display: none; }

@media screen and (min-width: 48em), print { .header_wrap { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; padding: 0; }
  .header_wrap .logo { width: 424px; height: 82px; margin: 0; padding: 14px 20px; }
  .header_wrap .logo a { background-size: auto 54px; }
  .header_wrap .clinic_info { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-column-gap: 54px; column-gap: 54px; padding-right: 20px; text-align: left; }
  .header_wrap .clinic_info_adr { margin-top: 0.3em; font-weight: bold; font-size: 1.6rem; line-height: 1.58; }
  .header_wrap .clinic_info_contact { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-column-gap: 20px; column-gap: 20px; }
  .header_wrap .clinic_info_contact .tel { font-size: 2.0rem; }
  .header_wrap .clinic_info_contact .rsv { font-size: 1.6rem; } }
@media screen and (min-width: 1241px) { .header_wrap { padding: 0 2%; } }
@media screen and (min-width: 2001px) { .header_wrap { padding: 0 4%; } }
.js-sp_modal { position: fixed; top: 0; left: 0; z-index: 10; -webkit-transition: all 0.2s; transition: all 0.2s; }
.js-sp_modal.is_overlay { bottom: 0; right: 0; width: 100vw; height: 100vh; background: rgba(0, 0, 0, 0.5); }

.js-sp_box { height: 0; opacity: 0; visibility: hidden; -webkit-transform: translateY(-3rem); transform: translateY(-3rem); -webkit-transition: 0.5s ease; transition: 0.5s ease; }
.js-sp_box.is_open { height: auto; opacity: 1; visibility: visible; -webkit-transform: translateY(0); transform: translateY(0); }

.js-menu_box { display: none; }

#nav { width: 100%; }
#nav #sp_menu { position: absolute; top: 1.1rem; right: 1.3rem; display: block; width: 3.2rem; height: 3.2rem; margin: 0; padding: 0 0 0.4rem; line-height: 0.6; text-align: center; color: #fff; background: #8bcccd; border: none; }
#nav #sp_menu::before, #nav #sp_menu::after, #nav #sp_menu span { display: inline-block; width: 2.0rem; height: 3px; background: #fff; content: ''; -webkit-transition: all 0.2s; transition: all 0.2s; }
#nav #sp_menu span { text-indent: 100%; white-space: nowrap; overflow: hidden; }
#nav #sp_menu.close::before { -webkit-transform: translateY(0.3rem) rotate(-45deg); transform: translateY(0.3rem) rotate(-45deg); }
#nav #sp_menu.close::after { -webkit-transform: translateY(-0.3rem) rotate(45deg); transform: translateY(-0.3rem) rotate(45deg); }
#nav #sp_menu.close span { display: none; }
#nav .gnav { position: absolute; top: 6.0rem; left: 3vw; overflow-y: auto; width: 94vw; max-height: 75vh; padding: 1.6rem; font-size: 1.4rem; color: #333; background: #fff; }
#nav .gnav li.sp_sns { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-pack: distribute; justify-content: space-around; }
#nav .gnav li:not(:last-child) { border-bottom: 1px solid #8bcccd; }
#nav .gnav li a { display: block; padding: 1.0rem; }
#nav .gnav li .sub_btn { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; padding: 1.0rem; cursor: pointer; }
#nav .gnav li .sub_btn::after { font-family: 'fontello'; content: '\e802'; color: #8bcccd; -webkit-transition: 0.2s; transition: 0.2s; }
#nav .gnav li .sub_btn.close::after { -webkit-transform: scale(-1, -1); transform: scale(-1, -1); }
#nav .gnav li .subnav { background: #f2f4fb; }
#nav .gnav li .subnav li { border-bottom-color: #fff; }
#nav .gnav li .subnav li br { display: none; }

@media screen and (min-width: 48em), print { .js-sp_modal { position: relative; -webkit-transition: initial; transition: initial; }
  .js-sp_modal.is_overlay { height: auto; background: transparent; }
  .js-sp_box { height: auto; opacity: 1; visibility: visible; -webkit-transform: translateY(0); transform: translateY(0); -webkit-transition: initial; transition: initial; }
  #nav { height: 60px; padding: 0; color: #fff; background: #8bcccd; }
  #nav #sp_menu { display: none; }
  #nav .gnav { position: static; top: 0; left: 0; overflow: visible; width: auto; padding: 0; font-size: 1.8rem; line-height: 1; color: inherit; background: inherit; }
  #nav .gnav > li { display: inline-block; vertical-align: top; }
  #nav .gnav > li.sp_sns { display: none; }
  #nav .gnav > li:not(:last-child) { border-bottom: none; }
  #nav .gnav > li.sub { position: relative; text-align: center; }
  #nav .gnav > li > a, #nav .gnav > li .sub_btn { display: block; height: 60px; padding: 20px 22px 0; }
  #nav .gnav > li > a:hover, #nav .gnav > li .sub_btn:hover { background: #56b4b6; }
  #nav .gnav > li .sub_btn { -webkit-transition: 0.4s; transition: 0.4s; }
  #nav .gnav > li .sub_btn::after { display: block; color: inherit; }
  #nav .gnav > li .sub_btn.close { background: #56b4b6; }
  #nav .gnav > li .subnav { position: absolute; top: 60px; left: 50%; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; width: 34em; color: #333; -webkit-transform: translateX(-50%); transform: translateX(-50%); }
  #nav .gnav > li .subnav li { width: 50%; border-bottom: 2px solid #fff; }
  #nav .gnav > li .subnav li:nth-child(2n+1) { border-right: 2px solid #fff; }
  #nav .gnav > li .subnav li:nth-child(2n+1):nth-last-child(1) { border-bottom: none; }
  #nav .gnav > li .subnav li a { height: 55px; padding: 0; line-height: 55px; }
  #nav .gnav > li .subnav li a:hover { color: #333; background: #dfe4f5; }
  #nav.is_sticky { position: fixed; top: 0; left: 0; right: 0; z-index: 20; width: 100%; margin: 0 !important; color: #55b4b5; background: #fff; -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); }
  #nav.is_sticky .gnav > li a:hover, #nav.is_sticky .gnav > li a.close, #nav.is_sticky .gnav > li .sub_btn:hover, #nav.is_sticky .gnav > li .sub_btn.close { color: #398384; background: #e4f3f3; } }
@media screen and (min-width: 1241px) { #nav { padding: 0 2%; } }
@media screen and (min-width: 2001px) { #nav { padding: 0 4%; } }
.overview { margin: 2.0rem 0 0; font-size: 1.3rem; line-height: 1.6; }
.overviewL { padding: 0 2.0rem 1.0rem; }
.overviewL .clinic_name { margin: 0 -0.5rem; }
.overviewL .clinic_name img { max-width: 100%; }
.overviewL .clinic_contact { margin: 1.5rem auto 0; }
.overviewL .clinic_contact li { margin-bottom: 0.8rem; text-align: center; }
.overviewL .clinic_contact li.tel, .overviewL .clinic_contact li.fax { font-size: 2.4rem; }
.overviewL .clinic_contact li.rsv a { width: 60%; font-weight: bold; font-size: 1.6rem; }
.overviewL .clinic_contact02 { margin: 0 0 2.5rem; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: left; -ms-flex-pack: left; justify-content: left; }
.overviewL .clinic_contact02 li { text-align: left; margin-right: 2rem; }
.overviewL .clinic_outline { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; line-height: 1.3; }
.overviewL .clinic_outline dt { min-width: 5.2em; }
.overviewL .clinic_outline dt::after { content: '：'; }
.overviewL .clinic_outline dd { width: calc(100% - 5.2em); margin-bottom: 1.0rem; }
.overviewL .clinic_outline dd a[class*="btn_"] { margin-top: 0.5em; }
.overviewL .tbl_time { margin: 1.5rem 0; }
.overviewL .Mynumber { font-size: 90%; line-height: 1.45; border-top: 1px solid #8bcccd; border-left: 1px solid #8bcccd; padding: 1rem 0.5rem 1rem 1rem; margin: 2rem -1rem; }
.overviewL .Mynumber .lst_ul li { padding-left: 1em; text-indent: -1em; }
.overviewL .Mynumber .lst_ul li::before { -webkit-transform: scale(0.4); transform: scale(0.4); margin-right: 0; }
.overviewR .gmap { height: 30.0rem; }

@media screen and (min-width: 48em), print { .overview { display: -webkit-box; display: -ms-flexbox; display: flex; margin: 74px 0 42px calc(50% - 600px); font-size: 1.7rem; }
  .overviewL { -webkit-box-flex: 0; -ms-flex: none; flex: none; width: 600px; padding: 0 90px 0 20px; }
  .overviewL .clinic_name { margin: 0; }
  .overviewL .clinic_name img { max-width: 380px; }
  .overviewL .clinic_contact { margin: 30px 0 40px; }
  .overviewL .clinic_contact li { text-align: left; }
  .overviewL .clinic_contact li.tel, .overviewL .clinic_contact li.fax { margin-bottom: 12px; font-size: 3.6rem; }
  .overviewL .clinic_contact li.rsv { margin-top: 25px; }
  .overviewL .clinic_contact li.rsv a { width: auto; }
  .overviewL .clinic_contact02 { margin: 0 0 40px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: left; -ms-flex-pack: left; justify-content: left; }
  .overviewL .clinic_contact02 li { text-align: left; }
  .overviewL .clinic_outline { row-gap: 5px; line-height: 1.6; }
  .overviewL .clinic_outline dd { margin-bottom: 0; }
  .overviewL .clinic_outline dd a[class*="btn_"] { font-size: 1.6rem; }
  .overviewL .tbl_time { width: 380px; margin: 35px 0 0; }
  .overviewL .Mynumber { font-size: 85%; margin: 35px auto 10px -10px; }
  .overviewR { -webkit-box-flex: 1; -ms-flex: 1 0; flex: 1 0; width: 50%; padding-left: 20px; }
  .overviewR .gmap { height: 100%; } }
.footer { padding: 0 0 3.7rem; font-size: 1.2rem; text-align: center; color: #fff; background: #8bcccd; }
.footer .tit, .footer ul { display: none; }
.footer .copyright { display: block; padding: 1.0rem; line-height: 1; color: #333; background: #fff; }

@media screen and (min-width: 48em), print { .footer { padding: 20px 0 0; font-weight: bold; font-size: 1.6rem; }
  .footer .tit { display: block; margin: 60px 0 20px; font-size: 2.2rem; line-height: 1; text-align: center; }
  .footer .tit::after { display: block; width: 2.2em; height: 18px; margin: 0 auto; content: ''; border-bottom: 1px solid #fff; }
  .footer ul { display: block; text-align: center; margin: 0 auto; }
  .footer ul li { display: inline-block; -webkit-text-size-adjust: none; }
  .footer ul li a:hover { text-decoration: underline; }
  .footer ul.gnav li { margin: 0 22px; }
  .footer ul.gnav li.sub { display: none; }
  .footer ul.gnav li.sp_sns { display: none; }
  .footer ul.subnav { width: 780px; line-height: 1.8; }
  .footer ul.subnav li br { display: none; }
  .footer ul.subnav li:not(:last-child)::after, .footer ul.subnav li:nth-child(5)::after { margin: 0 0.4em; content: '|'; letter-spacing: -0.4em; }
  .footer .copyright { margin: 50px 0 0; padding: 12px 0; font-size: 1.5rem; } }
#tel_up { position: fixed; bottom: 0; left: 0; z-index: 1; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; width: 100%; height: 3.7rem; color: #fff; background: #8bcccd; }
#tel_up ul { display: table; width: calc(100% - 3.7rem); height: 100%; }
#tel_up ul li { display: table-cell; text-align: center; border-right: 1px solid #fff; }
#tel_up ul li a { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; width: 100%; height: 100%; }
#tel_up ul li.tel { font-size: 1.6rem; letter-spacing: 0.05em; }
#tel_up ul li.rsv { font-weight: bold; font-size: 1.4rem; letter-spacing: -0.05em; }
#tel_up #pageup { display: block; width: 3.7rem; height: 3.7rem; padding: 0; line-height: 1; text-align: center; color: #fff; background: #8bcccd; border: none; cursor: pointer; }
#tel_up #pageup::before { display: inline-block; content: ''; width: 1.3rem; height: 1.3rem; border-left: 1px solid #fff; border-top: 1px solid #fff; -webkit-transform: rotate(45deg) translate(25%, 25%); transform: rotate(45deg) translate(25%, 25%); }
#tel_up #pageup span { display: none; }

@media screen and (min-width: 48em), print { #tel_up { position: static; width: 1200px; height: 50px; margin: 0 auto; padding: 0; background: none; }
  #tel_up ul { display: none; }
  #tel_up #pageup { position: fixed; left: calc(50% + 550px); bottom: 50px; z-index: 2; width: 50px; height: 50px; }
  #tel_up #pageup::before { width: 24px; height: 24px; }
  #tel_up #pageup:hover { background: #56b4b6; }
  #tel_up #pageup.pos { position: relative; bottom: 0; } }
#keyvsl { position: relative; max-width: 100%; height: 15.0rem; background: url(../img/index_keyvsl01.jpg) no-repeat center top/cover; }
#keyvsl span { position: absolute; right: 0; bottom: 0; z-index: -2; }
#keyvsl .catch { position: absolute; z-index: 999; top: 50px; right: 1rem; width: 10rem; }

@media screen and (min-width: 48em), print { #keyvsl { height: 575px; }
  #keyvsl .catch { top: 240px; right: 4rem; width: 30rem; } }
.news_title { cursor: pointer; }

.news_body { word-wrap: break-word; }
.news_body:not(:nth-of-type(-n+3)) { display: none; }

.information { padding: 4.0rem 0; }
.information .wrap { padding: 0 2.0rem; }
.information_tit { font-weight: bold; }
.information_box { max-height: 15.0rem; overflow-y: auto; }
.information_box dl { padding: 0 0 1.0rem; border-bottom: 1px solid #707070; }
.information_box dl dt { border-top: 1px solid #707070; padding: 1.0rem 0.5rem 0; font-weight: bold; color: #00b8ed; }
.information_box dl dt:not(:first-of-type) { margin: 0.8rem 0 0; }
.information_box dl dd { padding: 0 0.5rem; }
.information .announce { margin: 4.0rem 1.0rem 0; font-size: 1.7rem; text-align: center; }

@media screen and (min-width: 48em), print { .information { padding: 90px 0; }
  .information .wrap { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; padding: 0; }
  .information_tit { width: 273px; }
  .information_box { width: 787px; max-height: 246px; }
  .information_box dl { padding: 0 0 16px; font-size: 1.8rem; }
  .information_box dl dt { padding: 16px 0 0; }
  .information_box dl dt:not(:first-of-type) { margin: 16px 0 0; }
  .information_box dl dd { padding: 4px 0 0; font-weight: bold; }
  .information .announce { width: 1200px; margin: 80px auto 0; font-size: 2.2rem; letter-spacing: 0.04em; } }
.feature { padding: 4.0rem 0; background: #f2f4fb; }
.feature .wrap { padding: 0 2.0rem; }
.feature_tit { font-weight: bold; }
.feature_lst li { margin: 1.8rem 0; padding: 15.0rem 0 0; background-repeat: no-repeat; background-position: left top; background-size: contain; }
.feature_lst li p { margin-bottom: 0; padding: 1.0rem; background: #fff; }
.feature_lst li p a { border-bottom: 1px solid #333; }
.feature_lst_about { background-image: url(../img/index_ft_about.jpg); }
.feature_lst_endoscopy { background-image: url(../img/index_ft_endoscopy.jpg); }
.feature_lst_access { background-image: url(../img/index_ft_access.jpg); }
.feature_lst_parking { background-image: url(../img/index_ft_parking.jpg); }
.feature_lst_schedule { background-image: url(../img/index_ft_schedule.jpg); }

@media screen and (min-width: 48em), print { .feature { padding: 90px 0; }
  .feature .wrap { position: relative; padding: 0; }
  .feature_tit { position: absolute; top: 0; left: 0; width: 376px; }
  .feature_lst { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; gap: 40px 35px; width: 100%; }
  .feature_lst::before { width: 376px; height: 304px; content: ''; }
  .feature_lst li { width: 376px; margin: 0; padding: 194px 0 0; }
  .feature_lst li p { width: 19em; height: 110px; margin: 0 0 0 auto; padding: 12px 18px 0; font-weight: bold; line-height: 1.6; }
  .feature_lst li p a:hover { border-bottom: none; } }
.treatment { padding: 4.0rem 0; background: url(../img/index_ttt_bg.jpg) no-repeat center top/cover; }
.treatment_tit { width: 8em; margin: 0 auto 2.2rem; padding: 0.8em 0; font-weight: bold; font-size: 2.0rem; line-height: 1.2; text-align: center; border-top: 2px solid #8bcccd; border-bottom: 2px solid #8bcccd; }
.treatment_lst { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; gap: 1.8rem; }
.treatment_lst li { width: 40vw; height: 40vw; color: #333; background: #fff; }
.treatment_lst li a { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: center; -ms-flex-align: center; align-items: center; width: 100%; height: 100%; padding: 1.5rem; font-weight: bold; line-height: 1.3; text-align: center; }
.treatment_lst li a::before { height: 65%; font-family: 'fontello'; font-weight: normal; font-size: 3.8em; line-height: 1; }
.treatment_lst li a.ibd::before { content: '\e812'; -webkit-transform: translateX(0.1em); transform: translateX(0.1em); }
.treatment_lst li a.gastro::before { content: '\e811'; -webkit-transform: scale(0.9); transform: scale(0.9); }
.treatment_lst li a.internal::before { content: '\e814'; -webkit-transform: scale(0.8); transform: scale(0.8); }
.treatment_lst li a.endoscopy::before { content: '\e818'; -webkit-transform: scale(0.9); transform: scale(0.9); }
.treatment_lst li a.colonoscopy::before { content: '\e810'; }
.treatment_lst li a.pylori::before { content: '\e819'; }
.treatment_lst li a.checkup::before { content: '\e80f'; -webkit-transform: scale(0.85); transform: scale(0.85); }
.treatment_lst li a.vaccination::before { content: '\e816'; }
.treatment_lst li a.ibs::before { content: '\e813'; -webkit-transform: scale(0.85); transform: scale(0.85); }
.treatment_lst li a.aga::before { content: '\e805'; }
.treatment_lst li a.influenza::before { content: '\EAD5'; }

@media screen and (min-width: 48em), print { .treatment { padding: 60px 0 90px; }
  .treatment_tit { width: 274px; margin: 0 auto 60px; font-size: 3.2rem; }
  .treatment_lst { width: 1000px; margin: 0 auto; gap: 30px 36px; }
  .treatment_lst li { width: 170px; height: 170px; /*&:nth-child(1) { margin-left: 30px;
}
&:nth-child(4) { margin-right: 30px;
}*/ }
  .treatment_lst li a { padding: 23px 20px 12px; line-height: 1.4; }
  .treatment_lst li a::before { font-size: 4.2em; }
  .treatment_lst li a:hover { color: #64c4d0; -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); } }
.greeting { padding: 4.0rem 0; background: #f2f4fb; }
.greeting .wrap { padding: 0 2.0rem; }
.greeting .bnr_df { margin-top: 2rem; }
.greeting .bnr_df li { margin-bottom: 1rem; }
.greeting .bnr_df li img { width: 100%; margin: 0 auto; }
.greeting_tit { margin: 0 0 2.2rem; font-weight: bold; font-size: 2.0rem; line-height: 1.2; text-align: center; }
.greeting_tit::after { display: block; width: 3em; height: 0.7em; margin: 0 auto; content: ''; border-bottom: 2px solid #8bcccd; }
.greeting_img { width: 60%; margin: 0 auto 2.0rem; }
.greeting_img figcaption { padding: 0.3rem; font-size: 1.2rem; text-align: center; color: #333; background: #fff; }
.greeting_txt { margin: 0 0 2.0rem; }
.greeting_txt p:last-of-type { margin-bottom: 0; }

@media screen and (min-width: 48em), print { .greeting { padding: 88px 0; }
  .greeting .wrap { display: grid; grid-template-columns: 600px 600px; grid-template-rows: 100px 913px 40px; padding: 0; }
  .greeting .bnr_df li img { width: 60%; margin: 0 auto; }
  .greeting_tit { grid-column: 1/2; grid-row: 1/2; margin: 0; font-size: 3.2rem; text-align: left; }
  .greeting_tit::after { margin: 0; }
  .greeting_img { grid-column: 2/3; grid-row: 1/4; width: auto; margin: 0; }
  .greeting_img img { margin: 0 0 0 auto; }
  .greeting_img figure { position: relative; }
  .greeting_img figcaption { position: absolute; left: 24px; bottom: 0; padding: 16px 20px; font-weight: bold; font-size: 1.8rem; }
  .greeting_img figcaption span { font-size: 1.4rem; }
  .greeting_txt { grid-column: 1/2; grid-row: 2/5; margin: 0; }
  .greeting_txt p { max-width: 32em; margin-bottom: 1.2em; font-weight: bold; line-height: 1.68; }
  .greeting_btn { grid-column: 1/2; grid-row: 5/5; text-align: left; }
  .greeting_btn a { width: 154px; } }
@-webkit-keyframes Slider { 0% { background-position: 0 0; }
  100% { background-position: -1732px 0; } }
@keyframes Slider { 0% { background-position: 0 0; }
  100% { background-position: -1732px 0; } }
.loopslider { overflow-x: hidden; }
.loopslider_slides { display: block; width: 200%; height: 180px; text-align: center; background-repeat: repeat-x; background-image: url("../img/index_loopslider.jpg"); background-size: auto 180px; -webkit-animation: Slider 100s linear infinite both; animation: Slider 100s linear infinite both; }
.loopslider_slides span { visibility: hidden; }

@media screen and (min-width: 48em), print { .loopslider { margin: 54px 0 0; }
  .loopslider_slides { height: 235px; background-size: auto; } }
.heading { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; min-height: 10.0rem; font-weight: normal; font-size: 2.4rem; line-height: 1.2; text-shadow: 0 0 0 #fff, 0 1px 3px rgba(255, 255, 255, 0.3), 1px 1px 3px rgba(255, 255, 255, 0.3), 1px 0 3px rgba(255, 255, 255, 0.3), 0 -1px 3px rgba(255, 255, 255, 0.3), -1px -1px 3px rgba(255, 255, 255, 0.3), -1px 0 3px rgba(255, 255, 255, 0.3); background: url(../img/tit_heading.jpg) no-repeat center top/cover; }
@media screen and (min-width: 48em), print { .heading { min-height: 250px; font-size: 4.2rem; text-shadow: none; } }

.breadcrumbs { padding: 1.0rem 1.4rem; font-size: 1.0rem; }
.breadcrumbs li { display: inline-block; }
.breadcrumbs li:not(:first-child)::before { display: inline-block; margin: 0 0.2em; content: '＞'; }
@media screen and (min-width: 48em), print { .breadcrumbs { width: 1200px; margin: 0 auto; padding: 18px 0 8px; font-size: 1.6rem; }
  .breadcrumbs a:hover { text-decoration: underline; } }

.lst_anchor ul { margin: 0 0 4.0rem; font-size: 1.3rem; }
.lst_anchor ul li { margin: 0.5rem 0; }
.lst_anchor ul li a { display: block; padding: 0.8em 1.2rem; font-weight: bold; color: #55b4b5; background: #fff; border: 1px solid #8bcccd; }
.lst_anchor ul li a::before { display: inline-block; margin-right: 0.5em; font-family: 'fontello'; font-weight: normal; content: '\e802'; }
@media screen and (min-width: 48em), print { .lst_anchor ul { display: -webkit-box; display: -ms-flexbox; display: flex; gap: 10px; margin: 0 0 80px; font-size: 1.8rem; }
  .lst_anchor ul li { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; margin: 0; }
  .lst_anchor ul li a { padding: 15px 20px; border-width: 2px; }
  .lst_anchor ul li a:hover { background: #e4f3f3; } }

.exam_flow { margin: 1.0rem 0; }
.exam_flow dt { margin: 0; }
.exam_flow dd { position: relative; padding: 1.4rem; border: 1px solid #d5dae7; }
.exam_flow dd:not(:last-child) { margin-bottom: 6.0rem; }
.exam_flow dd:not(:last-child)::after { position: absolute; bottom: -5.0rem; left: 0; right: 0; display: block; width: 0; height: 0; margin: auto; content: ''; border-style: solid; border-width: 2.0rem 3.0rem 1.0rem 3.0rem; border-color: #8bcccd transparent transparent transparent; }
.exam_flow dd .lst_marker { margin-top: 0.5em; margin-left: 0; }
@media screen and (min-width: 48em), print { .exam_flow { margin: 20px 0; }
  .exam_flow dd { padding: 25px; font-size: 2.0rem; }
  .exam_flow dd:not(:last-child) { margin-bottom: 80px; }
  .exam_flow dd:not(:last-child)::after { bottom: -60px; } }

.ref { margin-top: 1.5em; }
.ref dt::before { display: inline-block; content: '▲'; -webkit-transform: rotate(90deg) scale(0.6) translateY(0.3em); transform: rotate(90deg) scale(0.6) translateY(0.3em); color: #8bcccd; }
.ref + p { margin-top: 1.5em; }

body:not(#page_index) article em { color: #ed3500; }

body#page_doctor .doctor_greeting { margin-bottom: 4.0rem; }
body#page_doctor .doctor_greeting .signature { text-align: right; }
body#page_doctor .doctor_profile p, body#page_doctor .doctor_profile dl, body#page_doctor .doctor_profile ul { font-size: 1.2rem; }
body#page_doctor .doctor_profile > :nth-child(2) section { margin-top: 3.0rem; }
body#page_doctor .doctor_profile > :nth-child(2) .lst_ul li { margin-top: 0.6rem; }
body#page_doctor .lst_bio { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; row-gap: 0.4em; }
body#page_doctor .lst_bio dt { width: 6.5em; white-space: nowrap; }
body#page_doctor .lst_bio dd { width: calc(100% - 7em); }
@media screen and (min-width: 48em), print { body#page_doctor .doctor_greeting { margin-bottom: 60px; }
  body#page_doctor .doctor_greeting::after { clear: both; display: block; content: ''; }
  body#page_doctor .doctor_greeting .img_r { max-width: 400px; margin: 5px 0 0 30px; }
  body#page_doctor .doctor_greeting .signature { margin-top: 2em; text-align: left; }
  body#page_doctor .doctor_profile { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
  body#page_doctor .doctor_profile p, body#page_doctor .doctor_profile dl, body#page_doctor .doctor_profile ul { font-size: 100%; }
  body#page_doctor .doctor_profile > :nth-child(1) { width: 680px; }
  body#page_doctor .doctor_profile > :nth-child(1) p, body#page_doctor .doctor_profile > :nth-child(1) .lst_bio { margin-left: 5px; }
  body#page_doctor .doctor_profile > :nth-child(2) { width: 470px; }
  body#page_doctor .doctor_profile > :nth-child(2) section:nth-child(1) { margin-top: 0; } }
body#page_doctor .bnr_df li { width: 80%; margin: 0 auto 1rem; }
@media screen and (min-width: 48em), print { body#page_doctor .bnr_df { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; gap: 20px; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  body#page_doctor .bnr_df li { width: 48%; }
  body#page_doctor .bnr_df li:first-child { width: 49%; text-align: center; } }

#clinic_slide img, #clinic_slide p, #device_slide img, #device_slide p { display: none; }
#clinic_slide .sp-black, #device_slide .sp-black { background: rgba(72, 167, 170, 0.7); }
#clinic_slide .sp-layer.sp-black.sp-padding, #device_slide .sp-layer.sp-black.sp-padding { text-align: center; font-size: 3.2rem; }
#clinic_slide .sp-selected-thumbnail, #device_slide .sp-selected-thumbnail { border: 4px solid rgba(72, 167, 170, 0.7); }
@media screen and (min-width: 48em), print { #clinic_slide .sp-layer.sp-black.sp-padding, #device_slide .sp-layer.sp-black.sp-padding { font-size: 2.4rem; } }

body#page_faq .lst_faq dt, body#page_faq .lst_faq dd { position: relative; min-height: 3.4rem; padding-left: 4.6rem; line-height: 1.5; }
body#page_faq .lst_faq dt::before, body#page_faq .lst_faq dd::before { position: absolute; top: 0; left: 0; display: block; width: 3.4rem; height: 3.4rem; font-size: 2.4rem; line-height: 3.4rem; text-align: center; vertical-align: top; color: #fff; border-radius: 5px; }
body#page_faq .lst_faq dt { margin-top: 1.8rem; }
body#page_faq .lst_faq dt::before { content: 'Q'; background: #0a9b7a; }
body#page_faq .lst_faq dd { margin-top: 1.2rem; }
body#page_faq .lst_faq dd::before { content: 'A'; background: #0db7ed; }
body#page_faq .lst_faq dd .tel { display: inline-block; }
body#page_faq .lst_faq dd .btn_rsv { padding: 0 0.5em; line-height: 1.5; vertical-align: middle; }
@media screen and (min-width: 48em), print { body#page_faq .lst_faq dt, body#page_faq .lst_faq dd { min-height: 70px; padding-left: 120px; line-height: 1.8; }
  body#page_faq .lst_faq dt::before, body#page_faq .lst_faq dd::before { width: 70px; height: 70px; font-size: 4.0rem; line-height: 70px; }
  body#page_faq .lst_faq dt { margin-top: 60px; }
  body#page_faq .lst_faq dd { margin-top: 40px; } }

body#page_access .access_imgs { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
body#page_access .access_imgs img { max-width: 48%; }
body#page_access .access_dl { margin-top: 2.0rem; }
body#page_access .access_dl > dt { padding: 0.8rem 1.0rem 0.5rem; background: #d2ebec; }
body#page_access .access_dl > dt:not(:first-of-type) { margin-top: 1.0rem; }
body#page_access .access_dl > dd { padding: 1.5rem 1.0rem; border-top: 1px solid #707070; }
body#page_access .access_dl > dd dt { padding-left: 1em; }
body#page_access .access_dl > dd dt::before { display: inline-block; margin-left: -1em; margin-right: 0.3rem; content: '■'; color: #49a8a9; }
body#page_access .access_dl > dd dt:not(:first-of-type) { margin-top: 0.8em; }
body#page_access .access_dl > dd dd { margin-top: 0.2rem; padding-left: 1.3em; font-size: 1.2rem; }
body#page_access .access_dl > dd dd::before { display: inline-block; margin-left: -1em; content: '・'; }
body#page_access .access_entrance_map img { max-width: 100%; margin: 1.5rem 0; }
body#page_access .gmap { height: 35.0rem; margin: 2.0rem 0 0; }
@media screen and (min-width: 48em), print { body#page_access .tbl_time { font-size: 2.2rem; }
  body#page_access .access_imgs { -webkit-box-pack: space-evenly; -ms-flex-pack: space-evenly; justify-content: space-evenly; }
  body#page_access .access_imgs img { max-width: 40%; }
  body#page_access .access_dl { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; font-size: 2.0rem; margin-top: 40px; }
  body#page_access .access_dl > dt { width: 12em; padding: 25px 30px; }
  body#page_access .access_dl > dt:not(:first-of-type) { margin-top: 0; border-top: 1px solid #707070; }
  body#page_access .access_dl > dd { width: calc(100% - 12em); padding: 25px 30px; }
  body#page_access .access_dl > dd:first-of-type { border-top: none; }
  body#page_access .access_dl > dd dd { font-size: 100%; }
  body#page_access .access_dl .tel, body#page_access .access_dl .fax { font-family: inherit; font-size: 2.4rem; line-height: 1.5; }
  body#page_access .access_entrance_map img { margin: 55px auto; }
  body#page_access .gmap { height: 50.0rem; margin: 40px 0 0; } }

body#page_404 .main { text-align: center; }
body#page_404 .main .tit_02, body#page_404 .main .information_tit, body#page_404 .main .feature_tit { display: inline-block; margin: 20px auto 100px; }

/*# sourceMappingURL=style.css.map */