@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 1.0em; }

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'; 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::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; }

.txt_red { color: #FE383B; }

.bold { font-weight: bold; }

.txt_small { font-size: 80%; line-height: 1.4; }

.inline { display: inline-block; }

.img_c { margin: 1.0rem auto; }

.img_l, .img_r { max-width: 80%; margin: 1.0rem auto; }
.img_l.big, .img_r.big { max-width: 100%; }

.tate { max-width: 60%; }

@media screen and (min-width: 48em), print { .img_c { max-width: 80%; margin: 1em auto; }
  .img_l { float: left; max-width: 40%; margin: 0 30px 20px 0; }
  .img_l.big { max-width: 40%; }
  .img_r { float: right; max-width: 40%; margin: 0 0 20px 30px; }
  .img_r.big { max-width: 40%; }
  .tate { max-width: 25% !important; } }
.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; }

article + article, .main + article { margin-top: 4.0rem; }
article > section ~ section, .main > section ~ section { margin-top: 4.0rem; }
article > section > section, .main > section > section { margin-top: 3.0rem; }
article > section > section > section, .main > section > section > section { margin-top: 2.0rem; }
article > section h2 + section, article > section h3 + section, article > section h4 + section, article > section h5 + section, article > section h6 + section, .main > section h2 + section, .main > section h3 + section, .main > section h4 + section, .main > section h5 + section, .main > section h6 + section { margin-top: 0 !important; }

@media screen and (min-width: 48em), print { .mt40 { margin-top: 80px; }
  .mt30 { margin-top: 60px; }
  .mt20 { margin-top: 40px; }
  .mt10 { margin-top: 20px; }
  .mt5 { margin-top: 10px; }
  article + article, .main + article { margin-top: 80px; }
  article > section ~ section, .main > section ~ section { margin-top: 80px; }
  article > section > section, .main > section > section { margin-top: 60px; }
  article > section > section > section, .main > section > section > section { margin-top: 40px; } }
.flex2, .flex3 { display: flex; flex-wrap: wrap; justify-content: space-between; }
.flex2 > *, .flex3 > * { width: 47%; }
.flex2 > *:nth-child(-n+2), .flex3 > *:nth-child(-n+2) { margin-top: 0 !important; }

.flex2_pc, .flex3_pc { display: block; }
.flex2_pc > *, .flex3_pc > * { margin-top: 2.0rem; }

@media screen and (min-width: 48em), print { .flex2_pc, .flex3_pc { display: flex; flex-wrap: wrap; justify-content: space-between; }
  .flex2 > *, .flex2_pc > * { width: 46%; }
  .flex2 > *:nth-child(-n+2), .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; } }
.tel { white-space: nowrap; }
.tel::before { display: inline-block; margin-right: 0.2em; font-family: 'fontello'; content: '\e808'; }

.tbl_time { width: 100%; border-collapse: collapse; line-height: 1.1; }
.tbl_time caption { caption-side: bottom; text-align: left; margin-top: 0.5em; line-height: 1.2; }
.tbl_time caption span.sat { display: inline-block; margin: 0 0 0 1rem; padding: .6rem .5rem .3rem; border: 1px solid; border-radius: .4rem; }
.tbl_time tr th { font-weight: normal; }
.tbl_time tr th[scope="col"] { padding: 0.4em 0; color: #fff; background: #8e806f; }
.tbl_time tr th[scope="col"]:first-child { color: transparent; width: 33%; }
.tbl_time tr th.time { padding: 0.6em 0.2em; text-align: left; border-bottom: 1px solid #8e806f; white-space: nowrap; }
.tbl_time tr td { padding: 0.6em 0; text-align: center; line-height: 1.0; border-bottom: 1px solid #8e806f; }
.tbl_time tr td.close { color: #c00; }

@media screen and (min-width: 48em), print { .tbl_time { table-layout: fixed; }
  .tbl_time caption span.sat { margin: 0 0 0 3rem; }
  .tbl_time tr th[scope="col"] { padding: 10px 0; }
  .tbl_time tr th[scope="col"]:first-child { width: 22%; }
  .tbl_time tr th[scope="col"]:last-child { width: 13%; padding-right: 4%; }
  .tbl_time tr th.time { padding: 20px 12px; }
  .tbl_time tr td { padding: 20px 0; }
  .tbl_time tr td:last-child { width: 13%; padding-right: 4%; } }
.gmap { width: 100%; }
.gmap iframe { width: 100%; height: 100%; border: none; }

.tit_01 { margin: 0 0 3.0rem; padding: 2.0rem 1.0rem; font-size: 2.2rem; }

.tit_02, .index_tit, .information_tit, .feature_tit, .treatments_tit { display: flex; justify-content: center; align-items: center; margin: 0 0 2.0rem; font-weight: normal; font-size: 1.8rem; line-height: 1.2; text-align: center; color: #7e6c61; }
.tit_02 span, .index_tit span, .information_tit span, .feature_tit span, .treatments_tit span { font-size: 70%; }
.tit_02::before, .index_tit::before, .information_tit::before, .feature_tit::before, .treatments_tit::before { flex: none; width: 4.4rem; height: 0.8rem; content: ''; background: url(../img/tit_02_l.svg) no-repeat left center/contain; }
.tit_02::after, .index_tit::after, .information_tit::after, .feature_tit::after, .treatments_tit::after { flex: none; width: 4.4rem; height: 0.8rem; content: ''; background: url(../img/tit_02_r.svg) no-repeat right center/contain; }

.tit_03 { margin: 0 0 2.0rem; padding: 0.5rem 0; font-weight: normal; font-size: 1.6rem; line-height: 1.2; color: #1fa5e9; border-bottom: 3px solid #1fa5e9; box-shadow: 0px 3px 0px 0px #ddf2fc; }

.tit_04 { margin: 0 0 2.0rem; padding: 0.5rem 0; font-weight: normal; font-size: 1.5rem; line-height: 1.2; color: #8e806f; border-bottom: 3px solid #937c6d; }

.tit_05 { margin: 0 0 2.0rem; font-weight: normal; font-size: 1.4rem; line-height: 1.2; color: #efb0ce; }
.tit_05::after { display: block; width: 100%; height: 4px; margin-top: 0.5rem; content: ''; background-image: linear-gradient(to right, #efb0ce, #efb0ce 4px, transparent 4px, transparent 8px); background-size: 8px 4px; background-repeat: repeat-x; }

@media screen and (min-width: 48em), print { .tit_01 { font-size: 3.2rem; padding: 40px 0; margin: 0 0 30px; }
  .tit_02, .index_tit, .information_tit, .feature_tit, .treatments_tit { column-gap: 18px; margin: 0 0 32px; font-size: 3.8rem; }
  .tit_02::before, .index_tit::before, .information_tit::before, .feature_tit::before, .treatments_tit::before, .tit_02::after, .index_tit::after, .information_tit::after, .feature_tit::after, .treatments_tit::after { width: 70px; height: 18px; }
  .tit_03 { margin: 0 0 30px; padding: 8px 0; font-size: 3.2rem; border-bottom-width: 5px; box-shadow: 0px 4px 0px 0px #ddf2fc; }
  .tit_04 { margin: 0 0 28px; padding: 8px 0; font-size: 3.0rem; border-bottom-width: 5px; }
  .tit_05 { margin: 0 0 28px; font-size: 2.8rem; } }
.marker_dsc, .lst_ul > li { display: inline-block; }
.marker_dsc::before, .lst_ul > li::before { display: inline-block; width: 1em; height: 1em; margin-right: 0.5em; content: ''; background: #8ad1f5; border-radius: 50%; transform: scale(1.1); vertical-align: -0.05em; }

.lst_ul > li { display: block; padding-left: 1.5em; text-indent: -1.5em; }
.lst_ul > li:not(:first-child) { margin-top: 0.5em; }
.lst_ul > li.none::before { display: none; }
.lst_ul > li > * { text-indent: 0; }

.lst_ol > li { margin-left: 1.5em; list-style-type: decimal; }
.lst_ol > li::marker { font-weight: bold; color: #8ad1f5; }

.lst_dl dt { font-weight: bold; }
.lst_dl dd { margin: 0 0 1.0rem; }

.tbl_, .tbl_normal, .tbl_price { width: 100%; border-collapse: collapse; border-spacing: 0; }
.tbl_ caption, .tbl_normal caption, .tbl_price caption { text-align: left; }
.tbl_ th, .tbl_normal th, .tbl_price th, .tbl_ td, .tbl_normal td, .tbl_price td { padding: 0.5rem; text-align: left; font-weight: normal; }
@media screen and (min-width: 48em), print { .tbl_ th, .tbl_normal th, .tbl_price th, .tbl_ td, .tbl_normal td, .tbl_price td { padding: 15px 20px; } }
.tbl_normal th { border-top: 1px solid #707070; background: #ddf2fc; }
.tbl_normal td { border-top: 1px solid #707070; }

.tbl_price { margin: 2em 0; border-bottom: 1px solid #707070; width: 100%; table-layout: fixed; }
.tbl_price tr th { background: #ddf2fc; border-top: 1px solid #707070; }
.tbl_price tr th.th2 { background: none; }
.tbl_price tr td { border-top: 1px solid #707070; padding: 0.5rem 0.5rem 0.5rem 1.5rem; width: 35%; }
.tbl_price.wauto { width: auto; min-width: 60%; }
.tbl_price caption { caption-side: bottom; text-align: left; margin-top: 0.5em; line-height: 1.2; }
.tbl_price.-ver2 { margin-top: 0; }
.tbl_price.-ver2 tr th { display: table-cell; }
.tbl_price.-ver2 tr td { width: 30%; padding: 0.5rem; white-space: normal; display: table-cell; text-align: right; }

@media screen and (min-width: 48em), print { .tbl_price tr th { padding: 15px 50px; }
  .tbl_price tr td { width: 30%; padding: 15px 15px 15px 150px; }
  .tbl_price.wauto { min-width: auto; }
  .tbl_price.wauto td { width: auto; padding: 15px 50px; }
  .tbl_price.-ver2 tr th.th2 { padding: 15px 20px; }
  .tbl_price.-ver2 tr td { width: 24%; padding: 10px 15px; } }
.box_, .box_notice { padding: 1.0rem; }
@media screen and (min-width: 48em), print { .box_, .box_notice { padding: 2.0rem; } }
.box_notice { background: #fff; border: 1px solid #8e806f; }

.btn_, .btn_detail, .btn_back { display: inline-block; padding: 0.6em 1.8em; text-decoration: none !important; color: #444; background: #fff; border: 1px solid #444; }
@media screen and (min-width: 48em), print { .btn_, .btn_detail, .btn_back { padding: 0.8em 1.8em; }
  .btn_:hover, .btn_detail:hover, .btn_back:hover { opacity: 0.8; } }

.btn_detail, .btn_back { color: #fff; background: #1fa5e9; border: 3px solid #8ad1f5; border-radius: 8px; }
@media screen and (min-width: 48em), print { .btn_detail, .btn_back { border-width: 4px; border-radius: 10px; } }

.lnk_, .information_box dd a { text-decoration: underline; }
.lnk_:hover, .information_box dd a:hover { text-decoration: none; }

html { font-size: calc(100vw / 32); font-family: Meiryo, 'メイリオ', Hiragino Sans, 'Hiragino Kaku Gothic ProN', 'Yu Gothic medium', YuGothic, sans-serif; }

body { color: #444; background: #fff4f2; word-wrap: break-word; }
body::after { visibility: hidden; width: 100%; height: 100%; content: ''; background: #fff4f2; position: fixed; top: 0; z-index: 2; opacity: 0; transition: all .2s ease-in-out 0s; }
body.spnav_modal { height: 100%; overflow: hidden; }
body.spnav_modal::after { visibility: visible; opacity: 1; }

a { color: inherit; text-decoration: none; }

.content_wrap { margin: 2.0rem 0 3.0rem; padding: 1.0rem 2.0rem; }

.main { font-size: 1.4rem; line-height: 1.6; }

@media screen and (min-width: 48em), print { html { font-size: 62.5%; }
  body { min-width: calc(1200px + 40px); }
  body::after { display: none; }
  a, button { transition: .5s; }
  .wrap { width: 1200px; margin: auto; }
  .content_wrap { display: flex; justify-content: space-between; width: 1200px; margin: auto; padding: 90px 0 100px; }
  .main { font-size: 1.6rem; order: 2; width: 892px; }
  .sidebar { display: block; order: 1; width: 274px; } }
.header_summary { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; padding: 1.0rem; }
.header_summary .logo { width: calc(100% - 5.0rem); height: 4.6rem; margin: 0 0 1.0rem; }
.header_summary .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_summary .clinic_address { min-width: 50%; font-size: 1.1rem; color: #8e806f; }
.header_summary .clinic_contact { flex-grow: 1; padding: 0.5rem; text-align: center; font-size: 1.2rem; color: #fff; background: #1fa5e9; border-radius: 5px; }

@media screen and (min-width: 48em), print { .header { display: flex; flex-wrap: wrap; }
  .header_visual, .header ._headline { order: 1; width: 100%; }
  .header #nav { order: 3; width: 100%; }
  .header_summary { order: 2; position: relative; z-index: 5; display: flex; flex-wrap: nowrap; width: 1200px; height: 276px; margin: -76px auto 0; padding: 0; }
  .header_summary::before { position: absolute; top: 0; left: calc(50% - 188px); display: block; width: 376px; height: 133px; margin: 0 auto; content: ''; border-radius: 50% 50% 50% 50% / 100% 100% 0% 0%; background: #fff4f2; box-shadow: 0px -5px 6px rgba(0, 0, 0, 0.16); }
  .header_summary .logo { position: relative; z-index: 10; flex: none; order: 2; width: 416px; height: 276px; margin: 0; padding: 0 20px; background: linear-gradient(to bottom, transparent, transparent 76px, #fff4f2 76px, #fff4f2); }
  .header_summary .logo a { background: url(../img/logo.svg) no-repeat center 29px/376px auto; }
  .header_summary .clinic_address { flex-grow: 1; order: 1; min-width: 300px; width: 300px; padding: 33px 0 0; font-size: 2.2rem; line-height: 1.36; text-align: left; }
  .header_summary .clinic_address br { display: block; }
  .header_summary .clinic_contact { order: 3; width: 300px; padding: 33px 0 0; color: inherit; background: transparent; text-align: right; }
  .header_summary .clinic_contact .tel { display: inline-block; min-width: 270px; padding: 5px 12px; text-align: center; font-size: 3.2rem; color: #fff; background: #1fa5e9; border-radius: 5px; } }
#nav { position: fixed; top: 0; left: 0; z-index: 15; width: 100%; }
#nav #sp_menu { position: absolute; top: 1.1rem; right: 1.0rem; width: 4.6rem; height: 4.4rem; padding: 0; font-size: 1.0rem; text-align: center; line-height: 1.0; color: #efb0ce; background: #fff4f2; border: none; border-radius: 0.5rem; }
#nav #sp_menu::before { display: block; font-family: 'fontello'; content: '\e802'; font-size: 3.6rem; }
#nav #sp_menu.close::before { content: '\e801'; }
#nav #sp_menu span { display: none; }
#nav .gnav_subnav { position: absolute; top: 6.0rem; left: 0; right: 0; z-index: 10; display: none; overflow-y: auto; width: 100vw; max-height: 80vh; margin: auto; padding: 0 1.6rem; font-size: 1.4rem; color: #444; background: #fff4f2; }
#nav .gnav_subnav .gnav li { border-bottom: 2px dotted #b5ada7; }
#nav .gnav_subnav .gnav li a, #nav .gnav_subnav .gnav li .sub_btn { display: block; width: 100%; text-align: left; padding: 0.8rem 1.0rem; color: #8e806f; background: none; border: none; }
#nav .gnav_subnav .gnav li a br, #nav .gnav_subnav .gnav li .sub_btn br { display: none; }
#nav .gnav_subnav .gnav li .js-menu_btn { display: flex; justify-content: space-between; }
#nav .gnav_subnav .gnav li .js-menu_btn::after { content: '▼'; display: inline-flex; justify-content: center; align-items: center; }
#nav .gnav_subnav .gnav li .js-menu_btn.close::after { content: '▲'; }
#nav .gnav_subnav .gnav li .sub_box { display: none; padding: 0.5rem 1.0rem; font-size: 1.3rem; background: #ddf2fc; border-radius: 8px; }
#nav .gnav_subnav .gnav li .sub_box .subnav li { border: none; }
#nav .gnav_subnav .gnav li .sub_box .subnav li a { padding: 0.5rem; }
#nav .gnav_subnav .gnav li .sub_box .subnav li .anchor { display: none; margin: 0 0 0.5rem; padding: 0.5rem; font-size: 1.2rem; background: #fff; border-radius: 5px; }
#nav .gnav_subnav .gnav li .sub_box .subnav li .anchor li { border: none; }
#nav .gnav_subnav .gnav li .sub_box .subnav li .anchor li a { padding: 0.2rem 0.5rem; }
#nav .gnav_subnav .gnav li .sub_box .subnav li .anchor li a::before { margin-right: 1.0rem; content: '≫'; }

@media screen and (min-width: 48em), print { #nav { position: static; }
  #nav #sp_menu { display: none; }
  #nav .gnav_subnav { display: block; position: static; top: auto; overflow: hidden; width: 100%; padding: 15px; }
  #nav .gnav_subnav .gnav { display: flex; justify-content: space-between; width: 1200px; margin: auto; border-right: 2px dotted #8e806f; }
  #nav .gnav_subnav .gnav li { width: 100%; background: linear-gradient(to right, transparent, #ffe9e5 10%, #ffe9e5 90%, transparent); border-left: 2px dotted #8e806f; border-bottom: 0; }
  #nav .gnav_subnav .gnav li.sub, #nav .gnav_subnav .gnav li.opt { display: none; }
  #nav .gnav_subnav .gnav li a { display: block; padding: 0 6px; text-align: center; font-size: 1.7rem; color: #8e806f; background: #fff4f2; }
  #nav .gnav_subnav .gnav li a:hover { color: #74401a; background: transparent; }
  #nav .gnav_subnav .gnav li > .subnav { width: 20.0rem; visibility: hidden; position: absolute; }
  #nav .gnav_subnav .gnav li > .subnav li { border-top: 1px solid #444; }
  #nav .gnav_subnav .gnav li > .subnav li a { color: #444; background: rgba(255, 255, 255, 0.8); padding: 1.6rem 0; }
  #nav .gnav_subnav .gnav li > .subnav li a:hover { color: #fff !important; background: #444; }
  #nav .gnav_subnav > .subnav { display: none; } }
.sidebar { display: none; }
.sidebar_calendar_top { margin-top: 40px; font-size: 1.3rem; line-height: 1; }
.sidebar_calendar_top .tab { display: flex; }
.sidebar_calendar_top .tab li { width: 3.5em; height: 2.0em; padding: 0.6em 0.2em 0; text-align: center; white-space: nowrap; background: #d4d5d5; border-radius: 5px 5px 0 0; cursor: pointer; }
.sidebar_calendar_top .tab li.selected { background: #d2ecf8; pointer-events: none; cursor: auto; }
.sidebar_calendar_top .tab_content { display: none; }
.sidebar_calendar_status { margin-top: 7px; }
.sidebar_calendar_status span { margin-right: 5px; font-size: 1.1rem; }
.sidebar_calendar_status span::before { display: inline-block; width: 15px; height: 15px; content: ''; vertical-align: middle; }
.sidebar_calendar_status span.outPatient::before { background: #f8dfec; }
.sidebar_calendar_status span.amOnly::before { background: #fee4b7; }
.sidebar_calendar_status span.pmOnly::before { background: #e8f19f; }

@media screen and (min-width: 48em), print { .sidebar { display: block; }
  .sidebar_nav { padding: 10px 20px 0; color: #8e806f; background: #ddf2fc; border-radius: 10px; }
  .sidebar_nav .tit { padding: 30px 0; font-size: 2.6rem; line-height: 1; text-align: center; }
  .sidebar_nav .subnav li { border-top: 2px dotted #b5ada7; background: linear-gradient(to right, transparent, #cbeafa 10%, #cbeafa 90%, transparent); }
  .sidebar_nav .subnav li > a { display: inline-flex; align-items: center; width: 100%; padding: 14px 0; font-size: 2.2rem; line-height: 1.36; white-space: nowrap; background: #ddf2fc; }
  .sidebar_nav .subnav li > a::before { padding-right: 16px; font-family: 'fontello'; font-size: 7.0rem; content: '\e89f'; line-height: 1; }
  .sidebar_nav .subnav li > a:hover { color: #74401a; background: transparent; }
  .sidebar_nav .subnav li .anchor { display: none; }
  .sidebar_nav .subnav li.treat01 > a::before { color: #8fccbe; }
  .sidebar_nav .subnav li.treat02 > a::before { color: #ffbe4f; }
  .sidebar_nav .subnav li.treat03 > a::before { color: #cdd96a; }
  .sidebar_nav .subnav li.treat04 > a::before { color: #98a9d6; }
  .sidebar_nav .subnav li.treat05 > a::before { color: #efb0ce; }
  .sidebar_nav .subnav li.treat06 > a::before { color: #d6baef; }
  .sidebar_banner { margin-top: 54px; }
  .sidebar_banner a { display: inline-block; border-radius: 10px; }
  .sidebar_banner a:hover { box-shadow: 0 0 10px rgba(255, 179, 166, 0.8); }
  .sidebar_calendar { margin-top: 30px; font-size: 1.8rem; line-height: 1; }
  .sidebar_calendar .tab { display: flex; }
  .sidebar_calendar .tab li { width: 3.5em; height: 2.0em; padding: 0.6em 0.2em 0; text-align: center; white-space: nowrap; background: #d4d5d5; border-radius: 5px 5px 0 0; cursor: pointer; }
  .sidebar_calendar .tab li.selected { background: #d2ecf8; pointer-events: none; cursor: auto; }
  .sidebar_calendar .tab_content { display: none; }
  .sidebar_calendar_top { display: none; }
  .sidebar_calendar_status span { font-size: 1.5rem; }
  .sidebar_calendar_status span::before { width: 20px; height: 20px; } }
.overview { font-size: 1.2rem; line-height: 1.6; background: url(../img/overview_bg.jpg) no-repeat center top; background-size: cover; }
.overview .wrap { padding: 3.0rem 1.0rem; }
.overviewL .clinic_name { text-align: center; margin: 0 0 3.0rem; }
.overviewL .clinic_name img { max-width: 60%; margin: auto; }
.overviewR .outline { display: flex; flex-wrap: wrap; border-top: 1px solid #8e806f; }
.overviewR .outline dt { width: 26%; padding: 1.0rem 0.2rem; color: #8e806f; border-bottom: 1px solid #8e806f; }
.overviewR .outline dd { width: 74%; padding: 1.0rem 0; border-bottom: 1px solid #8e806f; }
.overviewR .outline dd .tel { font-weight: bold; font-size: 2.0rem; line-height: 1; color: #1fa5e9; background: transparent; }
.overviewR .outline dd .tel::before { display: none; }
.overviewR .outline dd ul li:not(:first-child) { margin-top: 1.0rem; }
.overviewR .clinic_time dt { padding: 1.0rem 0.2rem; color: #8e806f; }
.overview .gmap { height: 30.0rem; }

@media screen and (min-width: 48em), print { .overview { font-size: 1.8rem; background-size: auto calc(100% - 500px); }
  .overview > .wrap { display: flex; justify-content: space-between; align-items: center; padding: 105px 0 102px; }
  .overviewL { width: 274px; }
  .overviewL .clinic_name { margin: 0; }
  .overviewL .clinic_name img { max-width: 100%; }
  .overviewR { width: 890px; }
  .overviewR .outline dt { display: flex; align-items: center; width: 200px; padding: 0; font-size: 2.0rem; }
  .overviewR .outline dd { width: 690px; padding: 30px 5px; }
  .overviewR .outline dd .tel { font-size: 3.0rem; }
  .overviewR .outline dd ul li:not(:first-child) { margin-top: 15px; }
  .overviewR .clinic_time dt { padding: 30px 0 10px; font-size: 2.0rem; }
  .overview .gmap { height: 500px; } }
#tel_up { visibility: hidden; position: fixed; bottom: 0; left: 0; right: 0; z-index: 1; display: table; width: 100%; height: 4.4rem; background: #fff; }
#tel_up div { display: table-cell; width: 100%; height: 4.4rem; padding: 0 0.5rem; font-weight: bold; font-size: 2.0rem; text-align: center; vertical-align: middle; }
#tel_up div.tel { color: #1fa5e9; background: #fff; }
#tel_up #pageup { cursor: pointer; display: table-cell; width: 5.0rem; height: 4.4rem; padding: 0; line-height: 1; text-align: center; color: #fff; background: #efb0ce; border: none; }
#tel_up #pageup::after { display: inline-block; width: 100%; height: 2.6rem; content: ''; background: url(../img/icon_pagetop.svg) no-repeat center center/contain; }
#tel_up #pageup span { display: block; padding-top: 0.3rem; font-weight: bold; font-size: 1.0rem; }

@media screen and (min-width: 48em), print { #tel_up { visibility: visible; position: static; display: block; width: auto; height: auto; background: transparent; }
  #tel_up div { display: none; }
  #tel_up #pageup { visibility: hidden; position: fixed; bottom: 15px; right: calc(50% - 600px); z-index: 15; display: block; width: 60px; height: 60px; background: #efb0ce; border-radius: 30px; }
  #tel_up #pageup::after { width: 32px; height: 34px; }
  #tel_up #pageup.pos { bottom: 200px; }
  #tel_up #pageup span { font-size: 1.4rem; }
  #tel_up #pageup:hover { background: #eb9bc1; } }
@media screen and (min-width: 1370px) { #tel_up #pageup { right: calc(50% - 685px); } }
.footer { margin: 0 0 4.4rem; font-size: 1.2rem; text-align: center; color: #fff; background: #8ad1f5; }
.footer .copyright { display: block; padding: .6rem 1.0rem; }
.footer ul { display: none; }

@media screen and (min-width: 48em), print { .footer { margin: 0; padding: 70px 0 35px; font-size: 1.8rem; }
  .footer .copyright { margin: 120px 0 0; }
  .footer ul { display: block; text-align: center; }
  .footer ul li { display: inline-block; -webkit-text-size-adjust: none; }
  .footer ul li:not(:first-child)::before { content: '|'; margin: 0 3px; }
  .footer ul li a br { display: none; }
  .footer ul li a:hover { text-decoration: underline; }
  .footer ul.gnav .sub { display: none; }
  .footer ul.subnav { margin-top: 30px; }
  .footer ul.subnav .anchor { display: none; } }
.header_visual { position: relative; height: 26.0rem; }
.header_visual::before { position: absolute; top: 0; left: 0; display: block; width: 100%; height: 1.0rem; content: ''; box-shadow: inset 0px 5px 6px rgba(0, 0, 0, 0.16); }

#keyvsl { z-index: -1; max-width: 100%; height: 20.0rem; background-position: center top; background-size: cover; }
#keyvsl > .wrap { position: relative; height: 100%; font-family: 'M PLUS Rounded 1c', sans-serif; }
#keyvsl .keyvsl_badge { position: absolute; bottom: -5.5rem; left: 1.0rem; width: calc(100% - 2.0rem); display: flex; justify-content: space-between; }
#keyvsl .keyvsl_badge span[class*="badge"] { display: inline-block; padding: 0.5rem; font-size: 1.4rem; line-height: 1.1; border-radius: 1.0rem 0; }
#keyvsl .keyvsl_badge span[class*="badge"]::before { display: inline-block; font-family: 'fontello'; font-size: 1.6rem; }
#keyvsl .keyvsl_notice { position: absolute; bottom: 1.0rem; left: 1.0rem; display: inline-block; color: #8e806f; background: rgba(255, 255, 255, 0.8); border-top: 2px solid #8e806f; border-bottom: 2px solid #8e806f; }
#keyvsl .keyvsl_notice p { margin: 0; padding: 0.8rem 0.3rem; font-weight: bold; font-size: 1.4rem; line-height: 1.1; }
#keyvsl .keyvsl_notice p + p { border-top: 2px solid #8e806f; }
#keyvsl .keyvsl_notice p span { font-size: 80%; }
#keyvsl .badge01 { color: #fff; background: #8fccbe; border: 3px solid #a4e6d7; }
#keyvsl .badge01::before { content: '\e8a1'; }
#keyvsl .badge02 { color: #fff; background: #98a9d6; border: 3px solid #abbeef; }
#keyvsl .badge02::before { content: '\e8a2'; }
#keyvsl .badge03 { color: #fff; background: #efb0ce; border: 3px solid #ffc4e0; }
#keyvsl .badge03::before { content: '\e8a3'; transform: scale(1.05); }

@media screen and (min-width: 48em), print { .header_visual { height: 750px; }
  .header_visual::before { display: none; }
  .header_visual::after { position: absolute; bottom: 0; left: 0; display: block; width: 100%; height: 20px; content: ''; box-shadow: inset 0px -5px 6px rgba(0, 0, 0, 0.16); }
  #keyvsl { height: 750px; }
  #keyvsl > .wrap { margin: 0 auto; }
  #keyvsl .keyvsl_badge { top: 40px; bottom: auto; left: 0; justify-content: normal; column-gap: 26px; width: auto; }
  #keyvsl .keyvsl_badge span[class*="badge"] { display: block; width: 160px; height: 130px; padding: 12px; font-weight: bold; font-size: 2.0rem; text-align: center; border-radius: 30px 0; box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16); }
  #keyvsl .keyvsl_badge span[class*="badge"]::before { display: block; height: 55px; font-weight: normal; font-size: 4.4rem; }
  #keyvsl .keyvsl_notice { bottom: 70px; left: 0; background: transparent; border: 0; }
  #keyvsl .keyvsl_notice::before, #keyvsl .keyvsl_notice::after { display: block; width: 100%; height: 3px; content: ''; background: #8e806f; box-shadow: 0px 1px 4px 0px #fff, 0px -1px 4px 0px #fff; }
  #keyvsl .keyvsl_notice p { padding: 18px 0; font-size: 3.6rem; text-shadow: 0 0 4px rgba(255, 255, 255, 0.8), 1px 1px 4px rgba(255, 255, 255, 0.8), -1px 1px 4px rgba(255, 255, 255, 0.8), 1px -1px 4px rgba(255, 255, 255, 0.8), -1px -1px 4px rgba(255, 255, 255, 0.8); }
  #keyvsl .keyvsl_notice p + p { border: none; padding: 0 0 18px; }
  #keyvsl .keyvsl_notice p + p::before { display: block; width: 100%; height: 3px; margin-bottom: 18px; content: ''; background: #8e806f; box-shadow: 0px 1px 4px 0px #fff, 0px -1px 4px 0px #fff; }
  #keyvsl .keyvsl_notice p + p.small { padding: 0 0 5px; }
  #keyvsl .keyvsl_notice p + p.small::before { margin-bottom: 5px; }
  #keyvsl .keyvsl_notice p.small { padding: 5px 0; font-size: 3.0rem; }
  #keyvsl .keyvsl_notice p span { font-size: 2.0rem; } }
@media screen and (min-width: 48em), print { .index_tit, .information_tit, .feature_tit, .treatments_tit { margin: 0 0 20px; } }

.bnr_parking { display: block; text-align: center; background: #7e6c61; color: #fff; padding: 0.5rem; border-radius: 5px; }
.bnr_parking::before, .bnr_parking::after { font-family: 'fontello'; margin: 0 0.5em; }
.bnr_parking::before { content: '\f1b9'; }
.bnr_parking::after { content: '\e8ae'; }
@media screen and (min-width: 48em), print { .bnr_parking { width: fit-content; margin: 0 auto; padding: 0.5em 1em; text-align: center; font-size: 3.2rem; }
  .bnr_parking:hover { opacity: 0.7; } }

.information { margin: 1.0rem 0 4.0rem; }
.information_box { padding: 1.5rem 1.0rem; background: #fff; line-height: 1.4; }
.information_box dt { display: flex; margin: 0 0 0.5rem; font-weight: normal; color: #1fa5e9; cursor: pointer; }
.information_box dt::before { content: '▼'; margin-right: 0.6rem; }
.information_box dt.close::before { content: '▲'; }
.information_box dd { word-wrap: break-word; }
.information_box dd:not(:last-of-type) { margin: 0 0 1.8rem; }
.information_box dd:not(:nth-of-type(-n+3)) { display: none; }

@media screen and (min-width: 48em), print { .information { margin: 0 0 100px; }
  .information_box { padding: 44px 28px; }
  .information_box dt { font-size: 2.0rem; }
  .information_box dd { font-size: 1.8rem; }
  .information_box dd:not(:last-of-type) { margin: 0 0 26px; } }
.feature { margin: 4.0rem 0; }
.feature .box { width: 100%; margin: 1.0rem 0 0; background-color: #fff; border-radius: 10px; border-width: 2px; border-style: solid; }
.feature .box::before { display: block; height: 7.0rem; content: ''; background-repeat: no-repeat; background-size: 100% auto; border-radius: 8px 8px 0 0; }
.feature .box_tit { margin: 1.5rem 1.0rem 1.0rem; font-family: 'M PLUS Rounded 1c', sans-serif; font-weight: normal; font-size: 1.8rem; line-height: 1; color: #8e806f; }
.feature .box_txt { margin: 1.0rem 1.0rem 1.5rem; font-size: 1.2rem; line-height: 1.4; }
.feature_doctor { border-color: #efb0ce; }
.feature_doctor::before { background-position: 0 0; background-image: url(../img/index_feature_doctor.jpg); }
.feature_weekend { border-color: #cdd96a; }
.feature_weekend::before { background-position: 0 -2.0rem; background-image: url(../img/index_feature_weekend.jpg); }
.feature_access { border-color: #98a9d6; }
.feature_access::before { background-position: 0 -2.0rem; background-image: url(../img/index_feature_access.jpg); }

@media screen and (min-width: 48em), print { .feature { margin: 96px 0; }
  .feature .box { position: relative; display: flex; flex-wrap: wrap; align-content: center; height: 300px; margin: 30px 0 0; padding: 60px 98px 60px 103px; background-repeat: no-repeat; background-position: left top; border: none; border-radius: 10px; }
  .feature .box::before { display: none; }
  .feature .box::after { position: absolute; top: 10px; left: 10px; width: calc(100% - 20px); height: 280px; content: ''; border-width: 2px; border-style: solid; border-radius: 10px; }
  .feature .box_tit { width: 100%; margin: 0 0 18px; font-size: 3.4rem; }
  .feature .box_txt { margin: 0; font-size: 2.0rem; line-height: 1.7; }
  .feature_doctor { justify-content: flex-end; text-align: right; background-image: url(../img/index_feature_doctor.jpg); }
  .feature_doctor::after { border-color: #efb0ce; }
  .feature_weekend { background-image: url(../img/index_feature_weekend.jpg); }
  .feature_weekend::after { border-color: #cdd96a; }
  .feature_access { justify-content: flex-end; text-align: right; background-image: url(../img/index_feature_access.jpg); }
  .feature_access::after { border-color: #98a9d6; } }
.treatments { margin: 4.0rem 0 0; }
.treatments_lst { display: flex; flex-wrap: wrap; justify-content: space-between; }
.treatments_lst > li { display: flex; flex-direction: column; width: 48.5%; margin: 0 0 1.0rem; line-height: 1.2; }
.treatments_lst > li > a { display: flex; align-items: center; width: 100%; margin: 0 0 0.5rem; padding: 0 0.2rem; font-size: 1.5rem; color: #fff; background: #8ad1f5; border-radius: 8px; box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.16); }
.treatments_lst > li > a::before { width: 2em; height: 2.5em; content: ''; background-repeat: no-repeat; background-position: left center; background-size: 90% auto; }
.treatments_lst > li .anchor { flex: 1; width: 100%; padding: 1.0rem 0.2rem 1.0rem 0.6rem; font-size: 1.1rem; background-color: #fff; background-repeat: no-repeat; background-position: right bottom; background-size: 72% auto; border-radius: 8px; border: 2px solid #ddf2fc; }
.treatments_lst > li .anchor li { display: flex; margin-bottom: 0.6em; }
.treatments_lst > li .anchor li::before { width: 1em; content: '≫'; }
.treatments_lst > li .anchor li i { display: inline-block; font-size: 80%; text-indent: -0.8em; }
.treatments_lst > li.treat01 > a::before { background-image: url(../img/index_treat01_ico.svg); }
.treatments_lst > li.treat01 .anchor { background-image: url(../img/index_treat01_bg.svg); }
.treatments_lst > li.treat02 > a::before { background-image: url(../img/index_treat02_ico.svg); }
.treatments_lst > li.treat02 .anchor { background-image: url(../img/index_treat02_bg.svg); }
.treatments_lst > li.treat03 > a::before { background-image: url(../img/index_treat03_ico.svg); }
.treatments_lst > li.treat03 .anchor { background-image: url(../img/index_treat03_bg.svg); }
.treatments_lst > li.treat04 > a::before { background-image: url(../img/index_treat04_ico.svg); }
.treatments_lst > li.treat04 .anchor { background-image: url(../img/index_treat04_bg.svg); }
.treatments_lst > li.treat05 > a::before { background-image: url(../img/index_treat05_ico.svg); }
.treatments_lst > li.treat05 .anchor { background-image: url(../img/index_treat05_bg.svg); }
.treatments_lst > li.treat06 > a::before { background-image: url(../img/index_treat06_ico.svg); }
.treatments_lst > li.treat06 .anchor { background-image: url(../img/index_treat06_bg.svg); }

@media screen and (min-width: 48em), print { .treatments { margin: 96px 0 0; }
  .treatments_lst > li { width: 273px; margin: 0 0 18px; }
  .treatments_lst > li > a { height: 80px; margin: 0 0 15px; padding: 0 5px; font-size: 2.4rem; border-radius: 10px; box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.16); }
  .treatments_lst > li > a::before { width: 85px; height: 80px; background-size: auto; }
  .treatments_lst > li > a:hover { background: #5fbeef; }
  .treatments_lst > li .anchor { min-height: 430px; padding: 30px 10px 10px 20px; font-size: 2.0rem; border-radius: 10px; }
  .treatments_lst > li .anchor li { margin-bottom: 0.9em; }
  .treatments_lst > li .anchor li a:hover { text-decoration: underline; } }
body:not(#page_index) .header_headline { width: 100%; height: 12.0rem; padding: 1.0rem; color: #8e806f; background: url(../img/tit_heading.jpg) no-repeat center top/cover; box-shadow: inset 0px 5px 6px rgba(0, 0, 0, 0.16); }
body:not(#page_index) .header_headline .heading { display: flex; justify-content: center; align-items: center; height: 100%; font-family: 'M PLUS Rounded 1c', sans-serif; font-weight: bold; font-size: 2.2rem; line-height: 1.2; }
body:not(#page_index) .cf > *:last-child { margin-bottom: 0; }
body:not(#page_index) .main article section:target::before { content: ''; display: block; height: 5.0rem; margin: -3.2rem 0 0; visibility: hidden; }
@media screen and (min-width: 48em), print { body:not(#page_index) .header_headline { height: 450px; padding: 0; box-shadow: inset 0px -5px 6px rgba(0, 0, 0, 0.16); }
  body:not(#page_index) .header_headline .heading { display: block; width: 1200px; margin: 0 auto; padding: 84px 0; font-size: 4.2rem; line-height: 1.4; } }

body#page_doctor .doctor_pic { width: 80%; margin: 0 auto 1.5rem; }
body#page_doctor .doctor_ps { margin: 1.5em 0; }
@media screen and (min-width: 48em), print { body#page_doctor .doctor_pic { width: 70%; margin: 0 auto 30px; } }

.marker_flow::after, body#page_first .first_flow .box:not(:last-of-type)::after { display: block; width: 0; height: 0; margin: auto; content: ''; border-style: solid; border-width: 2.0rem 6.0rem 0 6.0rem; border-color: #8e806f transparent transparent transparent; }
@media screen and (min-width: 48em), print { .marker_flow::after, body#page_first .first_flow .box:not(:last-of-type)::after { border-width: 33px 98px 0 98px; } }

body#page_first .first_flow .box { padding: 1.0rem; background: #fff; border: 1px solid #8e806f; }
body#page_first .first_flow .box:not(:last-of-type) { position: relative; margin-bottom: 6.0rem; }
body#page_first .first_flow .box:not(:last-of-type)::after { position: absolute; bottom: -4.0rem; left: 0; right: 0; }
body#page_first .first_flow .box .tit { margin: 0 0 0.5em; font-weight: normal; font-size: 1.8rem; line-height: 1.1; color: #937c6d; }
body#page_first .first_flow .box p { margin: 0; }
@media screen and (min-width: 48em), print { body#page_first .first_flow .box { padding: 30px; }
  body#page_first .first_flow .box:not(:last-of-type) { margin-bottom: 105px; }
  body#page_first .first_flow .box:not(:last-of-type)::after { bottom: -80px; }
  body#page_first .first_flow .box .tit { font-size: 2.8rem; } }

#clinic_slide img, #clinic_slide p { display: none; }
#clinic_slide .sp-layer.sp-black.sp-padding { text-align: center; font-size: 2.4rem; }
#clinic_slide .sp-black { background: rgba(69, 38, 15, 0.7); }
#clinic_slide .sp-selected-thumbnail { border: 4px solid #7e6c61; }

body#page_others .tbl_price.wauto caption { text-align: right; }
body#page_others .tbl_price.wauto tr th { width: 35%; }
body#page_others .tbl_price.wauto tr td { text-align: right; }
@media screen and (min-width: 48em), print { body#page_others .tbl_price.wauto { width: 65%; }
  body#page_others .tbl_price.wauto tr td { width: 50%; padding: 15px; } }
body#page_others #Earrings .tbl_price th:first-of-type { width: 54%; }
@media screen and (min-width: 48em), print { body#page_others #Earrings .tbl_price th:first-of-type { width: 38%; } }

.number_list ol { counter-reset: number; list-style-type: none !important; padding: 0.5em; }
.number_list ol li { position: relative; padding-left: 30px; line-height: 1.5em; padding: 0.5em 0.5em 0.5em 30px; }
.number_list ol li:before { position: absolute; counter-increment: number; content: counter(number); display: inline-block; background: #1fa5e9; color: white; font-family: 'Avenir','Arial Black','Arial',sans-serif; font-weight: bold; ont-size: 15px; border-radius: 50%; left: 0; width: 25px; height: 25px; line-height: 25px; text-align: center; }

body#page_access .tbl_time { font-size: 1.2rem; }
body#page_access .access_images, body#page_access .access_route { margin-top: 1.5rem; }
body#page_access .access_images > *, body#page_access .access_route > * { width: 100%; margin: 0 auto 1.0rem; }
body#page_access .access_images > * figcaption, body#page_access .access_route > * figcaption { margin: 0.5rem 0 0; text-align: center; font-size: 1.2rem; }
body#page_access .access_images .route_map, body#page_access .access_route .route_map { margin: 2.0rem 0; }
body#page_access .access_images .route_map img, body#page_access .access_route .route_map img { border: 1px solid #ddd; }
body#page_access .access_information { margin-top: 2.0rem; }
body#page_access .access_information .outline dd { margin-left: 1.0rem; margin-right: 0.5rem; }
body#page_access .access_information .outline dd:not(:last-child) { margin-bottom: 2.0rem; }
body#page_access .access_information .outline dd .station li { margin-bottom: 1.5rem; }
body#page_access .img_r.parking { max-width: 100%; }
body#page_access .gmap { height: 30.0rem; margin: 2.0rem 0 0; }
@media screen and (min-width: 48em), print { body#page_access .tbl_time { font-size: 2.0rem; }
  body#page_access .access_images { width: 430px; margin: 0 auto; }
  body#page_access .access_images figcaption { font-size: 1.6rem; }
  body#page_access .access_route { display: flex; justify-content: space-between; margin-top: 40px; }
  body#page_access .access_route > * { width: 430px; margin: 0; }
  body#page_access .access_route > * figcaption { font-size: 1.6rem; }
  body#page_access .access_route .route_map { margin: 0; }
  body#page_access .access_information { display: flex; justify-content: space-between; margin-top: 60px; }
  body#page_access .access_information .outline { width: calc(100% - 470px); }
  body#page_access .access_information .outline dd:not(:last-child) { margin-bottom: 30px; }
  body#page_access .access_information .outline dd .pc_n { display: block; }
  body#page_access .access_information .gmap { width: 430px; height: 600px; margin: 0; }
  body#page_access .img_r.parking { max-width: 40%; } }

#access_slide img, #access_slide p { display: none; }
#access_slide .sp-layer.sp-black.sp-padding { text-align: center; font-size: 2.8rem; }
#access_slide .sp-black { background: rgba(69, 38, 15, 0.7); }
#access_slide .sp-selected-thumbnail { border: 4px solid #7e6c61; }

body#page_404 .main { width: 100%; text-align: center; }
body#page_404 .main .tit_02, body#page_404 .main .index_tit, body#page_404 .main .information_tit, body#page_404 .main .feature_tit, body#page_404 .main .treatments_tit { margin-bottom: 100px; }
body#page_404 .sidebar { display: none; }

/*# sourceMappingURL=style.css.map */
