@charset "UTF-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@font-face { font-family: "fontello"; src: url("../css/fontello/font/fontello.woff2") format("woff2"); font-display: fallback; }
/*! sanitize.css v3.2.0 | CC0 1.0 Public Domain | github.com/10up/sanitize.css */
/* Normalization */
audio:not([controls]) { display: none; /* Chrome 44-, iOS 8+, Safari 9+ */ }

button { -webkit-appearance: button; /* iOS 8+ */ overflow: visible; /* Internet Explorer 11- */ }

details { display: block; /* Edge 12+, Firefox 40+, Internet Explorer 11-, Windows Phone 8.1+ */ }

html { -ms-overflow-style: -ms-autohiding-scrollbar; /* Edge 12+, Internet Explorer 11- */ overflow-y: scroll; /* All browsers without overlaying scrollbars */ -webkit-text-size-adjust: 100%; /* iOS 8+ */ }

input { -webkit-border-radius: 0; }

input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* iOS 8+ */ }

input[type="number"] { width: auto; /* Firefox 36+ */ }

input[type="search"] { -webkit-appearance: textfield; /* Chrome 45+, Safari 9+ */ }

input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; /* Chrome 45+, Safari 9+ */ }

main { display: block; /* Android 4.3-, Internet Explorer 11-, Windows Phone 8.1+ */ }

pre { overflow: auto; /* Internet Explorer 11- */ }

progress { display: inline-block; /* Internet Explorer 11-, Windows Phone 8.1+ */ }

small { font-size: 75%; /* All browsers */ }

summary { display: block; /* Firefox 40+, Internet Explorer 11-, Windows Phone 8.1+ */ }

svg:not(:root) { overflow: hidden; /* Internet Explorer 11- */ }

template { display: none; /* Android 4.3-, Internet Explorer 11-, iOS 7-, Safari 7-, Windows Phone 8.1+ */ }

textarea { overflow: auto; /* Edge 12+, Internet Explorer 11- */ }

[hidden] { display: none; /* Internet Explorer 10- */ }

/* Universal inheritance */
*, :before, :after { -webkit-box-sizing: inherit; box-sizing: inherit; }

* { font-size: inherit; line-height: inherit; }

:before, :after { text-decoration: inherit; vertical-align: inherit; }

/* Opinionated defaults */
/* specify the border style and width of all elements */
*, :before, :after { border-style: solid; border-width: 0; }

/* specify the core styles of all elements */
* { background-repeat: no-repeat; margin: 0; padding: 0; }

/* specify the root styles of the document */
:root { background-color: #ffffff; -webkit-box-sizing: border-box; box-sizing: border-box; color: #000000; cursor: default; font: 100%/1.5 sans-serif; }

/* specify the text decoration of anchors */
a { text-decoration: none; }

/* specify the alignment of media elements */
audio, canvas, iframe, img, svg, video { vertical-align: middle; }

/* specify the background color of form elements */
button, input, select, textarea { background-color: transparent; }

/* specify the inherited color and font of form elements */
button, input, select, textarea { color: inherit; font-family: inherit; font-style: inherit; font-weight: inherit; }

/* specify the minimum height of form elements */
button, [type="button"], [type="date"], [type="datetime"], [type="datetime-local"], [type="email"], [type="month"], [type="number"], [type="password"], [type="reset"], [type="search"], [type="submit"], [type="tel"], [type="text"], [type="time"], [type="url"], [type="week"], select, textarea { min-height: 1.5em; }

/* specify the font family of code elements */
code, kbd, pre, samp { font-family: monospace, monospace; }

/* specify the list style of nav lists */
nav ol, nav ul { list-style: none; }

/* specify the standard appearance of selects */
select { -moz-appearance: none; /* Firefox 40+ */ -webkit-appearance: none; }

select::-ms-expand { display: none; /* Edge 12+, Internet Explorer 11- */ }

select::-ms-value { color: currentColor; /* Edge 12+, Internet Explorer 11- */ }

/* specify the border styling of tables */
table { border-collapse: collapse; border-spacing: 0; }

/* specify the resizability of textareas */
textarea { resize: vertical; }

/* specify the background color, font color, and drop shadow of text selections */
::-moz-selection { background-color: #b3d4fc; /* required when declaring ::selection */ color: #ffffff; text-shadow: none; }

::selection { background-color: #b3d4fc; /* required when declaring ::selection */ color: #ffffff; text-shadow: none; }

/* specify the progress cursor of updating elements */
[aria-busy="true"] { cursor: progress; }

/* specify the pointer cursor of trigger elements */
[aria-controls] { cursor: pointer; }

/* specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled] { cursor: default; }

/* specify the style of visually hidden yet accessible elements */
[hidden][aria-hidden="false"] { clip: rect(0 0 0 0); display: inherit; position: absolute; }

[hidden][aria-hidden="false"]:focus { clip: auto; }

/* remove delay from tapping on clickable elements */
a, area, button, input, label, select, textarea, [tabindex] { -ms-touch-action: manipulation; touch-action: manipulation; }
:root, html, body { color: #515151; width: 100%; font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo", "sans-serif"; font-size: 14px; }
@media (min-width: 376px) and (max-width: 414px) { :root, html, body { font-size: 13.85px; } }
@media (min-width: 361px) and (max-width: 375px) { :root, html, body { font-size: 13.75px; } }
@media (min-width: 321px) and (max-width: 360px) { :root, html, body { font-size: 13.65px; } }
@media (max-width: 320px) { :root, html, body { font-size: 13.5px; } }
@media (max-width: 767px) and (orientation: landscape) { :root, html, body { font-size: 14px; } }
@media (min-width: 768px), print { :root, html, body { font-size: 16px; } }
@media (min-width: 768px) and (max-width: 1024px) { :root, html, body { font-size: 13.5px; } }
@media (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) { :root, html, body { font-size: 13.5px; } }

@media (min-width: 768px) and (max-width: 959px) { :root, html, body { font-size: 11.5px; } }
@media (min-width: 768px) and (max-width: 959px) and (orientation: landscape) { :root, html, body { font-size: 11.5px; } }

@media (min-width: 768px) and (max-width: 812px) { :root, html, body { font-size: 10.5px; } }
@media (min-width: 768px) and (max-width: 812px) and (orientation: landscape) { :root, html, body { font-size: 10.5px; } }

* { -webkit-box-sizing: border-box; box-sizing: border-box; font-size: 1rem; }

small a { font-size: inherit; }

li { list-style-type: none; }

a { color: #515151; -webkit-transition: .3s; transition: .3s; word-break: break-all; }
@media (hover: hover) { a:hover { text-decoration: none; color: #008084; opacity: 0.8; } }
@media (hover: hover) { a img:hover { opacity: 0.8; } }

p { margin-bottom: 0.9375rem; }

img { max-width: 100%; height: auto; }

@media (min-width: 768.02px) and (hover: hover) { a[href^='tel:'] { pointer-events: none; } }
.cf::before, .cf::after { content: ''; display: block; clear: both; }

.fl_l { float: left; }

.fl_r { float: right; }

.txt_c { text-align: center; }

.txt_l { text-align: left; }

.txt_r { text-align: right; }

.img_c, .ban_img { display: block; max-width: 90%; height: auto; margin: 1.25rem auto 0; padding-bottom: 0.9375rem; }
@media (min-width: 768px), print { .img_c, .ban_img { max-width: 400px; margin-top: 3.125rem; padding-bottom: 1.875rem; } }

.ban_img { max-width: 100%; text-align: center; }

.img_sp { display: block; width: 50%; margin-left: auto; margin-right: auto; }
@media (min-width: 768px), print { .img_sp { width: auto; } }

.img_l, .img_r, .photo_l, .photo_r { display: block; height: auto; text-align: center; margin: 0 auto; margin-bottom: 1.25rem; }
@media (min-width: 768px), print { .img_l, .img_r, .photo_l, .photo_r { margin-bottom: 3.125rem; } }
.img_l figcaption, .img_r figcaption, .photo_l figcaption, .photo_r figcaption { margin-top: 0.625rem; }

.img_l, .img_r { max-width: 75%; }

@media (min-width: 768px), print { .img_l { float: left; margin-right: 5%; }
  .img_r { float: right; margin-left: 5%; }
  .img_l, .img_r { max-width: 29%; }
  .img_float_txt { max-width: calc(100% - 29% - 5%); } }
.photo_l, .photo_r { max-width: 55%; }

@media (min-width: 768px), print { .photo_l { float: left; margin-right: 4%; }
  .photo_r { float: right; margin-left: 4%; }
  .photo_l, .photo_r { width: 46%; } }
.sp_n { display: none; }

@media (min-width: 768px), print { .sp_n { display: block; }
  .pc_n { display: none; } }
.button { background: #d1a974; color: #fff; border-radius: 0.3125rem; line-height: 1; font-weight: 500; font-size: 0.9375rem; padding: 0.5rem 1.25rem; margin: 8% 0.3125rem 5%; position: relative; }
@media (min-width: 768px), print { .button { font-size: 1.25rem; padding: 0.5rem 1.875rem; margin: 1.875rem 1.875rem 0.8125rem; } }
.button::before { content: ''; position: absolute; top: 0; bottom: 0; right: 0.625rem; margin: auto; width: 0.5rem; height: 0.5rem; border-top: 1px solid #fff; border-right: 1px solid #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
@media (min-width: 768px), print { .button::before { right: 0.75rem; width: 0.75rem; height: 0.75rem; } }

.tit_01 { color: #fff; font-size: 1.5625rem; font-weight: normal; line-height: 1.2; }
@media (min-width: 768px), print { .tit_01 { font-size: 2.25rem; } }
@media (min-width: 768px), print { .tit_01 { line-height: 1; } }

.tit_02_index_news, .tit_02_index_info, .tit_02_index_doctor, .tit_02 { font-size: 1.375rem; font-weight: normal; line-height: 1; color: #6e502f; margin-bottom: 0.9375rem; padding: 0.3125rem 0; padding-left: 2rem; position: relative; }
@media (min-width: 768px), print { .tit_02_index_news, .tit_02_index_info, .tit_02_index_doctor, .tit_02 { font-size: 2.0625rem; } }
@media (min-width: 768px), print { .tit_02_index_news, .tit_02_index_info, .tit_02_index_doctor, .tit_02 { margin-bottom: 1.5625rem; padding: 0.625rem 0; padding-left: 2.5rem; } }
.tit_02_index_news::before, .tit_02_index_info::before, .tit_02_index_doctor::before, .tit_02::before { position: absolute; top: 0; bottom: 0; left: 0; margin: auto; content: ''; margin-right: 0.375rem; }
@media (min-width: 768px), print { .tit_02_index_news::before, .tit_02_index_info::before, .tit_02_index_doctor::before, .tit_02::before { margin-right: 0.625rem; } }

.tit_02_index_news::before { background: url("../img/icon_index_news.gif") no-repeat; background-size: contain; width: 1.6826923077rem; height: 1.5865384615rem; }
@media (min-width: 768px), print { .tit_02_index_news::before { width: 2.1875rem; height: 2.0625rem; } }

.tit_02_index_info { color: #fff; }
.tit_02_index_info::before { background: url("../img/icon_index_info.png") no-repeat; background-size: contain; width: 1.2980769231rem; height: 1.5865384615rem; }
@media (min-width: 768px), print { .tit_02_index_info::before { width: 1.6875rem; height: 2.0625rem; } }

.tit_02_index_doctor::before { background: url("../img/icon_index_doctor.png") no-repeat; background-size: contain; width: 1.6826923077rem; height: 1.4423076923rem; }
@media (min-width: 768px), print { .tit_02_index_doctor::before { width: 2.1875rem; height: 1.875rem; } }

.tit_02 { margin-bottom: 0.9375rem; }
@media (min-width: 768px), print { .tit_02 { margin-bottom: 1.875rem; } }
.tit_02::before { background: url("../img/icon_tit_02.png") no-repeat; background-size: contain; width: 1.5384615385rem; height: 1.6826923077rem; }
@media (min-width: 768px), print { .tit_02::before { width: 2rem; height: 2.1875rem; } }
.tit_02 span { font-size: 70%; margin-left: 1.25rem; display: inline-block; }

.tit_03 { color: #00b2b8; font-size: 1.25rem; font-weight: normal; margin-bottom: 0.9375rem; line-height: 1.3; padding-top: 0.3125rem; padding-bottom: 0.3125rem; border-bottom: 0.1875rem solid #d1eced; }
@media (min-width: 768px), print { .tit_03 { font-size: 1.75rem; } }
@media (min-width: 768px), print { .tit_03 { margin-bottom: 1.875rem; } }
@media (min-width: 768px), print { .tit_03 { line-height: 1; } }
.tit_03 span { font-size: 70%; margin-left: 1.25rem; display: inline-block; }

.tit_04 { font-size: 1.125rem; font-weight: normal; margin-bottom: 0.9375rem; line-height: 1.3; color: #86705a; background: #f2eadf; padding: 0.5rem 0.625rem; }
@media (min-width: 768px), print { .tit_04 { font-size: 1.5rem; } }
@media (min-width: 768px), print { .tit_04 { margin-bottom: 1.875rem; } }
@media (min-width: 768px), print { .tit_04 { line-height: 1; } }
.tit_04 span { font-size: 70%; margin-left: 1.25rem; display: inline-block; }

.tit_05 { font-size: 1.125rem; font-weight: normal; padding-left: 1.5625rem; position: relative; }
.tit_05::before { display: block; content: ''; position: absolute; top: 0.375rem; left: 0.3125rem; width: 0.75rem; height: 0.75rem; background-color: #8c7659; border-radius: 50%; }

.kkm_i, .kkm { padding: 1.25rem 0.9375rem; background: #d1eced; margin-bottom: 1.875rem; }
@media (min-width: 768px), print { .kkm_i, .kkm { margin-bottom: 5rem; } }
.kkm_i > :last-child, .kkm > :last-child { margin-bottom: 0; }
@media (min-width: 768px), print { .kkm_i, .kkm { padding: 2.1875rem 2.8125rem; } }

.kkm_i { background: #f2eadf; }

.disc li, .disc_txt { margin-left: 1rem; position: relative; }
.disc li::before, .disc_txt::before { display: block; content: ''; position: absolute; top: .55em; left: -.7rem; width: 0.25rem; height: 0.25rem; background-color: currentColor; border-radius: 50%; }

.disc_txt { display: block; }

li.disc_n { margin-left: 0; }
li.disc_n::before { content: none; }

.circle { padding-left: 1.5625rem; position: relative; }
.circle::before { content: ''; position: absolute; top: 0.375rem; left: 0.3125rem; width: 0.75rem; height: 0.75rem; border-radius: 50%; border: 1px solid #8c7659; }

.suj { counter-reset: number; margin-left: 2.5px; }
.suj li { position: relative; margin-top: 5px; padding-left: 25px; }
@media (min-width: 768px), print { .suj li { padding-left: 35px; } }
.suj li:first-child { margin-top: 0; }
.suj li::before { position: absolute; left: .2rem; counter-increment: number; content: counter(number) "."; font-weight: 500; }
@media (min-width: 768px), print { .suj li::before { left: .3rem; } }
.suj li:nth-child(n+10)::before { left: 0; }

.dot > *, .dot_txt, .dot_inline > *, .dot_inline_lnk > * { line-height: 1.4; margin-left: 1.25rem; position: relative; }
.dot > *::before, .dot_txt::before, .dot_inline > *::before, .dot_inline_lnk > *::before { display: block; width: 0.75rem; height: 0.75rem; border-radius: 50%; content: ''; position: absolute; top: 0.375rem; left: -1.0625rem; background-color: #8c7659; }
@media (min-width: 768px), print { .dot > *::before, .dot_txt::before, .dot_inline > *::before, .dot_inline_lnk > *::before { left: -1.25rem; } }

.dot_inline > *, .dot_inline_lnk > * { margin-left: 1.125rem; display: inline-block; line-height: 2.2; margin-right: 0.5rem; }
.dot_inline > *::before, .dot_inline_lnk > *::before { top: 0.75rem; left: -1.125rem; }
@media (min-width: 768px), print { .dot_inline > *::before, .dot_inline_lnk > *::before { top: 0.625rem; } }

.dot_inline_lnk a { text-decoration: underline; }
@media (hover: hover) { .dot_inline_lnk a:hover { text-decoration: none; }
  .dot_inline_lnk a:hover::before { background-color: #008084; } }

.dot_txt { display: block; }

.dot > :last-child { margin-bottom: 0 !important; }

.dot > *, .dot_txt { margin-bottom: 0.5rem; }
@media (min-width: 768px), print { .dot > *, .dot_txt { margin-bottom: 0.625rem; } }

.dot_n { margin-left: 0; }
.dot_n::before { content: none; }

.red { color: red; }

.km, .km_lst li { font-size: 85%; text-indent: -1rem; padding-left: 1rem; }
.km::before, .km_lst li::before { content: '※'; margin-right: 5px; }

.km { display: block; }

.bold { font-weight: bold !important; }

.ast { font-size: 80%; text-indent: -1rem; padding-left: 1rem; }
.ast::before { content: '*'; margin-right: 5px; }

.t_dl { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }
.t_dl dt { width: 6rem; }
@media (min-width: 768px), print { .t_dl dt { width: 5.5rem; } }
.t_dl dd { width: calc(100% - 6rem); margin-bottom: 0.3125rem; }
@media (min-width: 768px), print { .t_dl dd { width: calc(100% - 5.5rem); } }

.t_dl_ck { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }
.t_dl_ck dt { width: 6rem; }
@media (min-width: 768px), print { .t_dl_ck dt { width: 6.5rem; } }
.t_dl_ck dd { width: calc(100% - 6rem); }
@media (min-width: 768px), print { .t_dl_ck dd { width: calc(100% - 6.5rem); } }

.arrow_b { position: relative; }
.arrow_b::after { position: absolute; content: " "; width: 32px; height: 17px; background-image: url("../img/arrow_b.gif"); background-repeat: no-repeat; bottom: -17px; left: 30px; background-size: 50% 50%; }
@media (min-width: 768px), print { .arrow_b::after { left: 50px; background-size: 100% 100%; } }
.arrow_b_tit { border-radius: 0.3125rem; font-size: 1.25rem; font-weight: normal; font-weight: normal; line-height: 1; color: #6e502f; padding: 7px 0 7px 70px; }
@media (min-width: 768px), print { .arrow_b_tit { font-size: 1.75rem; } }
@media (min-width: 768px), print { .arrow_b_tit { padding: 12px 0 10px 150px; } }
.arrow_b_body { margin-left: 30px; margin-top: 15px; border-left: 16px solid #b3b3b3; padding-left: 20px; padding-right: 15px; }
@media (min-width: 768px), print { .arrow_b_body { margin-left: 50px; padding-left: 70px; padding-right: 50px; border-left-width: 32px; } }
.arrow_b_body_span { display: block; height: 40px; }
.arrow_b_body_last { border-left: none; padding-left: 36px; }
@media (min-width: 768px), print { .arrow_b_body_last { padding-left: 102px; } }

.after_none::after { content: none; }

.before_none:before { content: none; }

.arrow_rw { position: relative; }
.arrow_rw::before { position: absolute; bottom: 0.625rem; right: -2.1875rem; content: ''; width: 0.5625rem; height: 0.0625rem; background: #6e502f; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
.arrow_rw::after { position: absolute; bottom: 0.4375rem; right: -2.125rem; margin: auto; content: ''; vertical-align: middle; width: 1.9375rem; border-bottom: 0.0625rem solid #6e502f; }

.arrow_rr_b { display: inline-block; line-height: 1; padding-right: 0.75rem; position: relative; border-bottom: 1px solid #515151; }
.arrow_rr_b::after { content: ""; position: absolute; top: 0; bottom: 0; margin: auto; right: 0; width: 0.3125rem; height: 0.3125rem; border-top: 1px solid #515151; border-right: 1px solid #515151; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
.arrow_rr_b::before { content: ""; position: absolute; top: 0; bottom: 0; margin: auto; right: 4px; width: 0.3125rem; height: 0.3125rem; border-top: 1px solid #515151; border-right: 1px solid #515151; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
@media (min-width: 768px), print { .arrow_rr_b::after { width: 0.5rem; height: 0.5rem; }
  .arrow_rr_b::before { width: 0.5rem; height: 0.5rem; } }
@media (hover: hover) { .arrow_rr_b:hover::after { border-top: 1px solid #001d1e; border-right: 1px solid #001d1e; }
  .arrow_rr_b:hover::before { border-top: 1px solid #001d1e; border-right: 1px solid #001d1e; } }
@media (hover: hover) { .arrow_rr_b:hover { color: #001d1e; } }

.arrow_rr { display: inline-block; line-height: 1; padding-right: 0.75rem; position: relative; }
.arrow_rr::after { content: ""; position: absolute; top: 0; bottom: 0; margin: auto; right: 0; width: 0.3125rem; height: 0.3125rem; border-top: 1px solid #515151; border-right: 1px solid #515151; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
.arrow_rr::before { content: ""; position: absolute; top: 0; bottom: 0; margin: auto; right: 4px; width: 0.3125rem; height: 0.3125rem; border-top: 1px solid #515151; border-right: 1px solid #515151; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
@media (min-width: 768px), print { .arrow_rr::after { width: 0.5rem; height: 0.5rem; }
  .arrow_rr::before { width: 0.5rem; height: 0.5rem; } }
@media (hover: hover) { .arrow_rr:hover::after { border-top: 1px solid #001d1e; border-right: 1px solid #001d1e; }
  .arrow_rr:hover::before { border-top: 1px solid #001d1e; border-right: 1px solid #001d1e; } }
@media (hover: hover) { .arrow_rr:hover { color: #001d1e; } }

.arrow_ll { display: inline-block; line-height: 1.2; padding-left: 15px; position: relative; }
.arrow_ll::after, .arrow_ll::before { content: ''; position: absolute; top: 0; bottom: 0; margin: auto; left: 0; width: 6px; height: 6px; border-top: 1px solid currentColor; border-right: 1px solid currentColor; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
.arrow_ll::after { left: 0; }
.arrow_ll::before { left: 4px; }

.link_anchor_menu { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; padding: 15px 0 10px 5px; background: #cbddf1; margin-bottom: 30px; }
.link_anchor_menu li a { display: inline-block; line-height: 1; padding: 5px 11px 5px 20px; background: #003894; color: #fff; border-radius: 3px; margin: 0 5px 5px 0; position: relative; }
.link_anchor_menu li a::before { content: ""; position: absolute; top: 0; bottom: 0; margin: auto; left: 8px; width: 6px; height: 6px; border-bottom: 1px solid #fff; border-right: 1px solid #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
.link_anchor_menu li a::after { content: ""; position: absolute; top: 25%; left: 8px; width: 6px; height: 6px; border-bottom: 1px solid #fff; border-right: 1px solid #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
@media (hover: hover) { .link_anchor_menu li a:hover { background: #008084; } }
@media (min-width: 768px), print { .link_anchor_menu { padding: 15px 40px 10px; } }

.target { color: #00b2b8; }
@media (hover: hover) { .target:hover { text-decoration: underline; color: #00b2b8; } }

.l_col { padding: 0 0.625rem; }
@media (min-width: 768px), print { .l_col { -webkit-box-flex: 0; -ms-flex: 0 1 1140px; flex: 0 1 1140px; margin: 0 auto; padding: 0 1.25rem; max-width: 1140px; } }

.l_row { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; margin: 0 auto; }

.l_col2 > :last-child { margin-bottom: 0 !important; }
.l_col2 > * { margin-bottom: 1.25rem; }
@media (min-width: 768px), print { .l_col2 { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
  .l_col2 > * { width: 48%; margin-right: calc(100% - 48%*2); }
  .l_col2 > :nth-child(2n + 2) { margin-right: 0; }
  .l_col2 > :nth-last-child(-n+2) { margin-bottom: 0; } }

.l_col3 { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
.l_col3 > :last-child { margin-bottom: 0 !important; }
.l_col3 > * { width: 100%; margin-bottom: 1.875rem; }
@media (min-width: 768px), print { .l_col3 > * { width: 31%; margin-right: calc((100% - 31%*3)/2); }
  .l_col3 > :nth-child(3n + 3) { margin-right: 0; }
  .l_col3 > :nth-last-child(-n+3) { margin-bottom: 0; } }

.z_default { position: relative; z-index: 1; }

.tbl_time { table-layout: auto; width: 100%; text-align: center; margin-bottom: 2.1875rem; }
@media (min-width: 768px), print { .tbl_time { margin-bottom: 1.5625rem; } }
.tbl_time th, .tbl_time td { line-height: 1; padding: 0.625rem 0.3125rem; }
.tbl_time tr { border-bottom: 1px solid #8c7659; }
.tbl_time th { font-weight: normal; }
.tbl_time tr:first-child th { padding: 0.625rem 0; border-top: 1px solid #8c7659; }
.tbl_time tr:first-child th:last-child { padding-right: 0.3125rem; padding-left: 0.125rem; white-space: nowrap; }
.tbl_time tr:not(:first-child) td { color: #8c7659; font-size: 80%; }
.tbl_time tr:nth-of-type(2) { border-bottom: 1px solid #8c7659; }
.tbl_time caption { caption-side: bottom; text-align: left; margin-top: 0.5rem; }
@media (min-width: 768px), print { .tbl_time caption { margin-top: 0.625rem; } }
.tbl_time caption .txt_b { display: block; }
.tbl_time .time { font-size: 1.25rem; }
.tbl_time .time span { display: block; font-size: 1rem; margin-top: 0.125rem; }

tr:not(:first-child) td.close { color: #515151; }

tr:not(:first-child) td.pm, .pm { color: #00b2b8; }

.gmap { width: 100%; border-radius: 10px; border: 3px solid #fff; overflow: hidden; position: relative; padding-top: 57.3663624511%; }
@media (min-width: 768px), print { .gmap { padding-top: 84.6153846154%; } }
.gmap > iframe { position: absolute; top: 0; left: 0; width: 100% !important; height: 100% !important; }
@media print { .gmap { overflow: hidden; }
  .gmap > iframe { bottom: 0; margin: auto 0; width: 100% !important; height: 100% !important; } }

.gmap_link { display: inline-block; width: 55%; border-radius: 0.5rem; padding: 0.625rem 0; text-align: center; font-size: 1.125rem; line-height: 1; color: #fff; background-color: #00b2b8; -webkit-transition: .3s; transition: .3s; word-break: break-all; line-height: 1.2; position: relative; }
@media (hover: hover) { .gmap_link:hover { text-decoration: none; color: #fff; background-color: #6e502f; opacity: 0.8; } }
.gmap_link::after { content: ''; position: absolute; top: 0; bottom: 0; margin: auto; right: 0.625rem; width: 10px; height: 10px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
@media (min-width: 768px), print { .gmap_link::after { right: 1.25rem; } }
@media (min-width: 768px), print { .gmap_link { padding: 1.25rem 0; width: 18.75rem; } }

.jq_ac { cursor: pointer; padding-left: 25px; position: relative; }
.jq_ac::before { content: ''; position: absolute; top: 3px; left: 0; width: 12px; height: 7px; border-left: 7px solid transparent; border-right: 7px solid transparent; border-top: 12px solid #4fcace; border-bottom: 0 solid #4fcace; }
@media (min-width: 768px), print { .jq_ac::before { top: 0; bottom: 0; left: 0; margin: auto 0; } }
@media (min-width: 768px), print { .jq_ac::before { border-top-color: #4fcace; border-bottom-color: #4fcace; } }
.jq_ac.open { color: #4fcace; }
@media (min-width: 768px), print { .jq_ac.open { color: #4fcace; } }
.jq_ac.open::before { border-left: 7px solid transparent; border-right: 7px solid transparent; border-top: 0 solid #4fcace; border-bottom: 12px solid #4fcace; }
@media (min-width: 768px), print { .jq_ac.open::before { border-top-color: #4fcace; border-bottom-color: #4fcace; } }

.jq_ac_i::before { border-left: 7px solid transparent; border-right: 7px solid transparent; border-top: 0 solid #4fcace; border-bottom: 12px solid #4fcace; }
@media (min-width: 768px), print { .jq_ac_i::before { border-top-color: #4fcace; border-bottom-color: #4fcace; } }

.jq_ac_i.open::before { border-left: 7px solid transparent; border-right: 7px solid transparent; border-top: 12px solid #4fcace; border-bottom: 0 solid #4fcace; }
@media (min-width: 768px), print { .jq_ac_i.open::before { border-top-color: #4fcace; border-bottom-color: #4fcace; } }

.anchor_link { 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; padding: 1.25rem 0.625rem 0.3125rem; background: #d1eced; margin-bottom: 30px; }
@media (min-width: 768px), print { .anchor_link { padding: 1.25rem 2.5rem 0.9375rem; } }
.anchor_link li a { display: inline-block; line-height: 1; font-size: 1.125rem; position: relative; padding: 8px 11px 8px 25px; background: #00b2b8; color: #fff !important; text-decoration: none !important; border-radius: 0.375rem; margin: 0 6px 8px 0; }
.anchor_link li a::before { content: ""; position: absolute; top: 30%; left: 12px; width: 6px; height: 6px; border-bottom: 1px solid #fff; border-right: 1px solid #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
.anchor_link li a::after { content: ""; position: absolute; top: 45%; left: 12px; width: 6px; height: 6px; border-bottom: 1px solid #fff; border-right: 1px solid #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
@media (hover: hover) { .anchor_link li a:hover { color: #fff; background: #78c5f6; }
  .anchor_link li a:hover::before { border-bottom-color: #fff; border-right-color: #fff; }
  .anchor_link li a:hover::after { border-bottom-color: #fff; border-right-color: #fff; } }

@media (min-width: 768px), print { .jq_header { position: relative; z-index: 1020; width: 100%; background-color: #fff; opacity: .975; }
  /* スティッキー状態のスタイル */
  .jq_header.sticky { position: fixed; z-index: 1020; top: 0; -webkit-box-shadow: 0 0 0 0.0625rem rgba(255, 255, 255, 0.15) inset, 0 0.5rem 1rem rgba(0, 0, 0, 0.3); box-shadow: 0 0 0 0.0625rem rgba(255, 255, 255, 0.15) inset, 0 0.5rem 1rem rgba(0, 0, 0, 0.3); } }
.logo { width: 64%; max-width: 23.125rem; margin-left: 10%; margin-right: auto; }
@media (min-width: 768px), print { .logo { width: 100%; margin-top: 0; margin-left: 0; } }
.logo a { display: block; background: url("../img/logo.png") 50% 50%/contain no-repeat border-box; height: 0; padding-top: 16.7567567568%; text-indent: 100%; white-space: nowrap; overflow: hidden; }
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) { .logo a { background: url("../img/logo@2x.png") 50% 50%/contain no-repeat border-box; } }
@media (-webkit-min-device-pixel-ratio: 3), (min-resolution: 3dppx) { .logo a { background: url("../img/logo@3x.png") 50% 50%/contain no-repeat border-box; } }

@media (min-width: 768px), print { .header { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; padding-top: 1.875rem; padding-bottom: 1.875rem; } }

.header_main ul > :first-child { color: #6f5736; line-height: 1; padding-left: 20%; margin-bottom: 0.25rem; margin-top: 0.75rem; }
@media (min-width: 768px), print { .header_main ul > :first-child { font-size: 1.0625rem; padding-left: 3.4375rem; margin-bottom: 0.625rem; margin-top: 0; } }
@media (min-width: 768px), print { .header_main { -webkit-box-flex: 0; -ms-flex: 0 3 33.6363636364%; flex: 0 3 33.6363636364%; margin-bottom: 0; } }

@media (min-width: 768px), print { .header_sub { -webkit-box-flex: 1; -ms-flex: 1 1 22.7272727273%; flex: 1 1 22.7272727273%; margin-bottom: 0; } }

.header_tel { margin-bottom: 0.4375rem; text-align: center; }
.header_tel > * { line-height: 1; }
.header_tel > :first-child { font-size: 1.0625rem; margin-bottom: 0.625rem; }
@media (min-width: 768px), print { .header_tel > :first-child { margin-bottom: 0.875rem; } }
@media (min-width: 768px), print { .header_tel { -webkit-box-flex: 1; -ms-flex: 1 1 23.6363636364%; flex: 1 1 23.6363636364%; margin-bottom: 0; -webkit-box-ordinal-group: 0; -ms-flex-order: -1; order: -1; text-align: left; } }

.header_sub_lnk { text-align: center; }
@media (min-width: 768px), print { .header_sub_lnk { text-align: right; } }

.header_sub_lnk > * { display: inline-block; width: 48%; }
@media (min-width: 768px), print { .header_sub_lnk > * { display: block; width: 100%; } }
.header_sub_lnk li:not(:last-child) { margin-right: 1%; }
@media (min-width: 768px), print { .header_sub_lnk li:not(:last-child) { margin-right: 0; margin-bottom: 0.5rem; } }
.header_sub_lnk li:nth-child(2) { font-size: 1.25rem; }

.tel_box > * { display: inline-block; vertical-align: middle; }
.tel_box .tel_txt { font-size: 1.125rem; }

.tel { font-weight: bold; line-height: 1; font-size: 2rem; }
@media (min-width: 768px), print { .tel { letter-spacing: 0.125rem; font-size: 2.125rem; } }

.yyk, .kks, .rks, .sme, .lme { display: block; text-align: left; font-size: 1.125rem; font-weight: 500; line-height: 1; border-radius: 0.3125rem; padding: 0.75rem 0 0.625rem 2.3125rem; margin-bottom: 0.8125rem; position: relative; }
@media (min-width: 768px), print { .yyk, .kks, .rks, .sme, .lme { display: inline-block; text-align: center; width: 15.625rem; padding: 0.875rem 0 0.75rem; margin-bottom: 0; } }
.yyk::before, .kks::before, .rks::before, .sme::before, .lme::before { position: absolute; left: 0.5rem; top: 0; bottom: 0; margin: auto; content: ''; width: 1.5625rem; height: 1.625rem; background: url("../img/icon_yyk.png") center center/contain no-repeat; }
@media (min-width: 768px), print { .yyk::before, .kks::before, .rks::before, .sme::before, .lme::before { left: 0.875rem; } }
.yyk::after, .kks::after, .rks::after, .sme::after, .lme::after { content: ''; position: absolute; top: 0; bottom: 0; left: 88%; margin: auto; width: 10px; height: 10px; border-top: 3px solid #fff; border-right: 3px solid #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
@media (min-width: 768px), print { .yyk::after, .kks::after, .rks::after, .sme::after, .lme::after { width: 0.9375rem; height: 0.9375rem; border-top-width: 0.25rem; border-right-width: 0.25rem; } }

.yyk { color: #fff; background-color: #7e674e; -webkit-transition: .3s; transition: .3s; word-break: break-all; }
@media (hover: hover) { .yyk:hover { text-decoration: none; color: #fff; background-color: #00b2b8; opacity: 0.8; } }

.kks { color: #9a7645; background-color: #efdcc1; -webkit-transition: .3s; transition: .3s; word-break: break-all; }
.kks::before { left: 0.625rem; width: 1.25rem; height: 1.6875rem; background: url("../img/icon_kks.png") center center/contain no-repeat; }
@media (min-width: 768px), print { .kks::before { left: 1.0625rem; } }
.kks::after { border-top: 4px solid #9a7645; border-right: 4px solid #9a7645; }
@media (hover: hover) { .kks:hover { text-decoration: none; color: #efdcc1; background-color: #9a7645; opacity: 0.8; } }
@media (hover: hover) { .kks:hover::before { background: url("../img/icon_kks_h.png") center center/contain no-repeat; }
  .kks:hover::after { border-top: 4px solid #efdcc1; border-right: 4px solid #efdcc1; } }

.rks { color: #9a7645; background-color: #efdcc1; -webkit-transition: .3s; transition: .3s; word-break: break-all; }
.rks::before { left: 0.625rem; font-size: 1.6875rem; font-family: "fontello"; content: "\E801"; font-weight: normal; background: none; }
@media (min-width: 768px), print { .rks::before { left: 1.0625rem; } }
.rks::after { border-top: 4px solid #9a7645; border-right: 4px solid #9a7645; }
@media (hover: hover) { .rks:hover { text-decoration: none; color: #efdcc1; background-color: #9a7645; opacity: 0.8; } }
@media (hover: hover) { .rks:hover::before { background: url("../img/icon_kks_h.png") center center/contain no-repeat; }
  .rks:hover::after { border-top: 4px solid #efdcc1; border-right: 4px solid #efdcc1; } }

.sme { background-color: #ae916a !important; color: #fff !important; color: #9a7645; background-color: #efdcc1; -webkit-transition: .3s; transition: .3s; word-break: break-all; }
@media (min-width: 768px), print { .sme { font-size: 1rem; }
  .sme small { font-size: 75%; } }
.sme::before { left: 0.625rem; width: 1.25rem; height: 1.6875rem; background: url("../img/icon_sme.png") center center/contain no-repeat; color: #fff !important; }
@media (min-width: 768px), print { .sme::before { left: 1.0625rem; } }
.sme::after { border-top: 4px solid #fff; border-right: 4px solid #fff; }
@media (hover: hover) { .sme:hover { text-decoration: none; color: #efdcc1; background-color: #9a7645; opacity: 0.8; } }
@media (hover: hover) { .sme:hover::before { background: url("../img/icon_sme_h.png") center center/contain no-repeat; }
  .sme:hover::after { border-top: 4px solid #efdcc1; border-right: 4px solid #efdcc1; } }

.lme { background-color: #ae916a !important; color: #fff !important; color: #9a7645; background-color: #efdcc1; -webkit-transition: .3s; transition: .3s; word-break: break-all; }
@media (min-width: 768px), print { .lme { font-size: 1rem; }
  .lme small { font-size: 75%; } }
.lme::before { left: 0.625rem; width: 1.25rem; height: 1.6875rem; background: url("../img/icon_lme.png") center center/contain no-repeat; }
@media (min-width: 768px), print { .lme::before { left: 1.0625rem; } }
.lme::after { border-top: 4px solid #fff; border-right: 4px solid #fff; }
@media (hover: hover) { .lme:hover { text-decoration: none; color: #efdcc1; background-color: #9a7645; opacity: 0.8; } }
@media (hover: hover) { .lme:hover::before { background: url("../img/icon_lme_h.png") center center/contain no-repeat; }
  .lme:hover::after { border-top: 4px solid #efdcc1; border-right: 4px solid #efdcc1; } }

@media (min-width: 768px), print { .nav { background: #f2eadf; } }

#nav { position: fixed; z-index: 1030; top: 3.9375rem; right: 0; }
@media (min-width: 768px), print { #nav { position: static; } }

.gnav { display: none; top: 4.1875rem; right: 0.5rem; background: #6e502f; padding: 0.625rem 0 0.3125rem; padding-left: 0.625rem; padding-right: 0.3125rem; padding-bottom: 0.9375rem; }
.gnav::before, .gnav::after { content: ''; display: block; clear: both; }
@media (min-width: 768px), print { .gnav { padding-top: 0; padding-bottom: 0; padding-left: 0; background: transparent; display: -webkit-box; display: -ms-flexbox; display: flex; padding-left: 0; width: 57.75rem; }
  .gnav::before, .gnav::after { content: none; } }

.gnav > .treatment_sp { background: #f2eadf; text-align: center; color: #fff; width: calc(100% - 0.3125rem); text-align: center; background-color: #00b2b8; color: #6e502f; }
@media (min-width: 768px), print { .gnav > .treatment_sp { display: none; } }
.gnav > .treatment_sp .subnav { padding: 0.5rem 0.3125rem 0.9375rem; background: #fff; text-align: left; }
.gnav > .treatment_sp .subnav > * { display: inline-block; }
.gnav > .treatment_sp .subnav a { padding: 0.625rem 0.1875rem 0.625rem 0.625rem; text-decoration: underline; color: #515151; }

.gnav .treatment_sp a.tit { color: #fff; font-size: 130%; font-weight: bold; letter-spacing: 0.1875rem; position: relative; }
.gnav .treatment_sp a.tit::before { content: ''; position: absolute; top: 0; bottom: 0; left: 93%; margin: auto 0; width: 0.75rem; height: 0.75rem; background: transparent; border-right: 0.1875rem solid #fff; border-top: 0.1875rem solid #fff; -webkit-transform: rotate(315deg); transform: rotate(315deg); }
@media (min-width: 768px), print { .gnav .treatment_sp a.tit::before { left: 83%; } }
@media (min-width: 768px), print { .gnav .treatment_sp a.tit::before { border-top-color: #fff; border-right-color: #fff; } }
.gnav .treatment_sp a.tit.close { color: #fff; }
@media (min-width: 768px), print { .gnav .treatment_sp a.tit.close { color: #fff; background-color: #fff; } }
.gnav .treatment_sp a.tit.close::before { border-top: 0.1875rem solid #fff; border-right: 0.1875rem solid #fff; -webkit-transform: rotate(135deg); transform: rotate(135deg); }
@media (min-width: 768px), print { .gnav .treatment_sp a.tit.close::before { border-top-color: #fff; border-bottom-color: #fff; } }

.gnav > * { display: inline-block; background-color: #fff; width: calc(50% - 0.3125rem); margin-right: 0.3125rem; margin-bottom: 0.3125rem; float: left; }
@media (min-width: 768px), print { .gnav > * { display: block; background-color: transparent; float: none; margin-right: 0; margin-bottom: 0; width: 14%; } }

.gnav > * a { display: block; font-size: 1.25rem; text-align: center; line-height: 1; padding: 0.9375rem 0; }
@media (min-width: 768px), print { .gnav > * a { font-size: 1.125rem; font-weight: bold; color: #6e502f; background-color: transparent; -webkit-transition: .3s; transition: .3s; word-break: break-all; padding-bottom: 1.5625rem; padding-top: 1.5625rem; } }
@media (min-width: 768px) and (hover: hover), print and (hover: hover) { .gnav > * a:hover { text-decoration: none; color: #008084; background-color: transparent; opacity: 0.8; } }
@media (min-width: 768px), print { .gnav > * a::before { content: none; } }
.gnav > * a span { display: none; }
@media (min-width: 768px), print { .gnav > * a span { display: block; font-size: 0.625rem; margin-top: 0.8125rem; } }

@media (min-width: 768px) and (hover: hover), print and (hover: hover) { body.index .gnav > :first-child a, body.doctor .gnav > :nth-child(2) a, body.clinic .gnav > :nth-child(4) a, body.access .gnav > :nth-child(5) a, body.blog .gnav > :nth-child(6) a, .gnav > * a:hover { color: #008084; }
  .gnav > * a:hover { color: #008084; } }
.gnav > .treatment { display: none; }
.gnav > .treatment .subnav { display: none; }
@media (min-width: 768px), print { .gnav > .treatment { display: block; position: relative; }
  .gnav > .treatment .subnav_item { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; position: absolute; z-index: 1000; top: 100%; width: 42.1875rem; left: -16.125rem; background: rgba(255, 255, 255, 0.902); border-radius: 0 0 0.1875rem 0.1875rem; padding: 0.625rem; }
  .gnav > .treatment .subnav_item > * { width: 33%; margin-right: calc((100% - 33%*3)/2); margin-bottom: 0.5rem; }
  .gnav > .treatment .subnav_item > :nth-child(2n + 2) { margin-right: calc((100% - 33%*3)/2); }
  .gnav > .treatment .subnav_item > :nth-child(3n + 3) { margin-right: 0; }
  .gnav > .treatment .subnav_item > :nth-last-child(-n+3) { margin-bottom: 0; }
  .gnav > .treatment .subnav_item a { text-align: left; font-size: 1rem; padding-bottom: 1.125rem; padding-top: 1.0625rem; background: #d1a974; color: #fff; border-radius: 0.3125rem; line-height: 1; font-weight: 500; padding: 0.75rem 0.5rem; position: relative; }
  .gnav > .treatment .subnav_item a::before { content: ''; position: absolute; top: 0; bottom: 0; margin: auto; right: 0.625rem; width: 0.5rem; height: 0.5rem; border-top: 1px solid #fff; border-right: 1px solid #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg); } }

.gnav > .treatment > a.sub::before { position: absolute; margin: auto; width: 0.75rem; height: 0.75rem; background: transparent; border-top: 3px solid #fff; border-right: 3px solid #fff; -webkit-transform: rotate(135deg); transform: rotate(135deg); }
@media (min-width: 768px), print { .gnav > .treatment > a.sub::before { border-top-color: #fff; border-right-color: #fff; } }
.gnav > .treatment > a.sub.close { color: #008084; }
@media (min-width: 768px), print { .gnav > .treatment > a.sub.close { color: #008084; background-color: #f2eadf; } }
.gnav > .treatment > a.sub.close::before { content: ''; left: 0; right: 0; bottom: 0.375rem; border-right: 3px solid #008084; border-top: 3px solid #008084; -webkit-transform: rotate(315deg); transform: rotate(315deg); }
@media (min-width: 768px), print { .gnav > .treatment > a.sub.close::before { border-top-color: #008084; border-bottom-color: #008084; } }

.sp_btn { height: 30px; display: block; font-family: '游ゴシック体', 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック', 'Hiragino Sans', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Meiryo', 'sans-serif'; position: relative; }
.sp_btn > * { position: absolute; left: 0; right: 0; margin: auto; width: 2.0625rem; height: 0.25rem; background-color: currentColor; display: block; -webkit-transition: background-color 0.1s linear; transition: background-color 0.1s linear; }
.sp_btn > :nth-of-type(1) { top: 10px; -webkit-transition: -webkit-transform 0.2s linear; transition: -webkit-transform 0.2s linear; transition: transform 0.2s linear; transition: transform 0.2s linear, -webkit-transform 0.2s linear; }
.sp_btn > :nth-of-type(2) { top: 20px; }
.sp_btn > :nth-of-type(2)::after { content: 'MENU'; font-weight: bold; font-size: 0.5625rem; display: block; margin-top: 0.40625rem; color: currentColor; }
.sp_btn > :nth-of-type(3) { top: 0; -webkit-transition: -webkit-transform 0.2s linear; transition: -webkit-transform 0.2s linear; transition: transform 0.2s linear; transition: transform 0.2s linear, -webkit-transform 0.2s linear; }
.sp_btn.active :nth-of-type(1) { top: 40%; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }
.sp_btn.active :nth-of-type(2) { background-color: transparent; }
.sp_btn.active :nth-of-type(2)::after { content: 'close'; font-weight: bold; font-size: 0.6875rem; color: currentColor; }
.sp_btn.active :nth-of-type(3) { top: 40%; -webkit-transform: rotate(-135deg); transform: rotate(-135deg); }
@media (min-width: 768px), print { .sp_btn { display: none; } }

.mu { width: 3rem; text-align: center; position: fixed; z-index: 1030; top: 0.625rem; right: 0.5rem; padding-top: 0.5rem; padding-bottom: 0.75rem; background: rgba(255, 255, 255, 0.55) border-box; overflow: hidden; border-radius: .3rem; -webkit-box-shadow: 0 0 0 0.0625rem rgba(255, 255, 255, 0.15) inset, 0 0.5rem 1rem rgba(0, 0, 0, 0.3); box-shadow: 0 0 0 0.0625rem rgba(255, 255, 255, 0.15) inset, 0 0.5rem 1rem rgba(0, 0, 0, 0.3); text-shadow: 0 0.0625rem 0.0625rem rgba(255, 255, 255, 0.15); }
.mu::before { content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: -10px -20px; z-index: -1; -webkit-filter: blur(20px); filter: blur(20px); }
@media (min-width: 768px), print { .mu { display: none; } }

.section { margin-bottom: 1.875rem; }
@media (min-width: 768px), print { .section { margin-bottom: 5rem; } }
.section_item { margin-bottom: 1.875rem; }
@media (min-width: 768px), print { .section_item { margin-bottom: 5rem; } }
.section_item:last-child { margin-bottom: 0; }

.box_b { margin-bottom: 1.25rem; }
@media (min-width: 768px), print { .box_b { margin-bottom: 3.125rem; } }

.tit_b { margin-bottom: 0.9375rem; }
@media (min-width: 768px), print { .tit_b { margin-bottom: 1.875rem; } }

.txt_b, .txt_ls li { margin-bottom: 0.9375rem; }

.last_b > :last-child { margin-bottom: 0 !important; }

.overview { background-color: #f2eadf; padding-top: 1.25rem; padding-bottom: 1.5625rem; margin-bottom: 2px; }
@media (min-width: 768px), print { .overview { padding-top: 6.25rem; padding-bottom: 5rem; } }

.overview_area .overviewL { width: 100%; }
@media (min-width: 768px), print { .overview_area .overviewL { -webkit-box-flex: 1; -ms-flex: 1 0 32.5rem; flex: 1 0 32.5rem; max-width: 47%; } }
.overview_area .overviewR { width: 100%; }
@media (min-width: 768px), print { .overview_area .overviewR { -webkit-box-flex: 1; -ms-flex: 1 0 32.875rem; flex: 1 0 32.875rem; max-width: 48%; }
  .overview_area .overviewR:nth-child(even) { margin-right: 0; } }

.clinic_name .logo { margin: 0 auto; }
@media (min-width: 768px), print { .clinic_name .logo { margin-bottom: 0.5rem; } }

.overview_tel { margin-bottom: 0.9375rem; }
@media (min-width: 768px), print { .overview_tel { margin-bottom: 2.6875rem; } }

.overview_lnk { margin-bottom: 0.625rem; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-line-pack: center; align-content: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin-bottom: 0.625rem; }
@media (min-width: 768px), print { .overview_lnk { margin-bottom: 2.5rem; } }
.overview_lnk > * { display: inline-block; width: 48.5%; }
.overview_lnk > * .yyk, .overview_lnk > * .kks, .overview_lnk > * .sme, .overview_lnk > * .lme, .overview_lnk > * .rks { /* width: 15.625rem; */ width: 100%; }
.overview_lnk li:nth-child(odd) { margin-right: 1%; }
.overview_lnk li:nth-child(even) { margin-bottom: 0; }
@media (min-width: 768px), print { .overview_lnk li:nth-child(even) { margin-bottom: 2%; } }
.overview_lnk li a { height: 3.75rem; }
.overview_lnk li a.yyk, .overview_lnk li a.kks, .overview_lnk li a.rks { padding: 1.25rem 0 1.25rem 2.25rem; }
@media (min-width: 768px), print { .overview_lnk li a.yyk, .overview_lnk li a.kks, .overview_lnk li a.rks { padding: 1.25rem 0; } }

.tbl_gaiyo { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }
@media (min-width: 768px), print { .tbl_gaiyo { margin-bottom: 1.5625rem; } }
.tbl_gaiyo > dt, .tbl_gaiyo > dd { width: 100%; font-size: 1rem; }
@media (min-width: 768px), print { .tbl_gaiyo > dt, .tbl_gaiyo > dd { font-size: 1.125rem; } }
.tbl_gaiyo > dt { text-align: center; color: #fff; background: #00b2b8; padding-top: 0.1875rem; padding-bottom: 0.1875rem; }
@media (min-width: 768px), print { .tbl_gaiyo > dt { width: 19%; text-align: left; font-weight: bold; padding-left: 0.9375rem; margin-bottom: 0; color: #00b2b8; background: transparent; } }
.tbl_gaiyo > dd { padding: 0.4375rem 0 1.125rem 0.5rem; font-weight: 500; }
@media (min-width: 768px), print { .tbl_gaiyo > dd { width: calc(100% - 19%); padding-right: 0.9375rem; } }
@media (min-width: 768px), print { .tbl_gaiyo dt, .tbl_gaiyo dd { background: #fff; margin-bottom: 0.625rem; padding-bottom: 0.625rem; padding-top: 0.625rem; }
  .tbl_gaiyo dt { border-radius: 0.625rem 0 0 0.625rem; }
  .tbl_gaiyo dd { border-radius: 0 0.625rem 0.625rem 0; } }

.footer { background: #fff; background-color: #f2eadf; padding-top: 0.625rem; }
@media (min-width: 768px), print { .footer { padding-top: 1.25rem; } }

.footer_nav { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -ms-flex-wrap: wrap; flex-wrap: wrap; line-height: 1; margin-bottom: 2.5rem; }
.footer_nav > * { position: relative; }
.footer_nav > *::before { position: absolute; content: ''; left: 0; top: 0; bottom: 0; margin: auto; width: 1px; height: 0.75rem; background: currentColor; }
@media (min-width: 768px), print { .footer_nav > *::before { content: none; } }
.footer_nav > *:first-child::before { content: none; }
.footer_nav > * a { display: block; margin: 0 0.375rem; font-size: 0.875rem; padding: 0.3125rem 0; }
.footer_nav > * a span { display: none; }
.footer_nav .treatment { display: none; }

.footer_nav:first-of-type { margin-bottom: 0.3125rem; }
@media (min-width: 768px), print { .footer_nav:first-of-type { margin-bottom: 0.5rem; } }

.footer_nav:last-of-type { margin-bottom: 0.625rem; }

.footer_copy { padding-bottom: 50px; }
@media (min-width: 768px), print { .footer_copy { padding-bottom: 0; } }

.copy { display: block; padding: 0.625rem; }

.pageup { display: inline-block; overflow: hidden; text-indent: 100%; white-space: nowrap; background: url("../img/pagetop.png") center center/2.8409090909rem 2.8409090909rem no-repeat; width: 3.125rem; height: 3.125rem; }
@media (min-width: 768px), print { .pageup { display: block; background-size: 3.125rem 3.125rem; } }

#pageup { display: none; }
@media (min-width: 768px), print { #pageup { position: fixed; z-index: 1030; margin: 0; width: auto; right: 1.875rem; bottom: 5.625rem; } }

.tel_up_item { display: table; table-layout: fixed; width: 100%; height: 50px; padding: 0 0.25rem; background: rgba(255, 255, 255, 0.75) border-box; overflow: hidden; -webkit-box-shadow: 0 0 0 0.0625rem rgba(255, 255, 255, 0.15) inset, 0.5rem 0.5rem 1rem rgba(0, 0, 0, 0.3); box-shadow: 0 0 0 0.0625rem rgba(255, 255, 255, 0.15) inset, 0.5rem 0.5rem 1rem rgba(0, 0, 0, 0.3); }
.tel_up_item::before { content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: -10px -20px; z-index: -1; -webkit-filter: blur(20px); filter: blur(20px); }
.tel_up_item > * { display: table-cell; vertical-align: middle; }
.tel_up_item > :first-child { width: 45%; }
.tel_up_item > :nth-child(2) { width: 27%; }
.tel_up_item > :last-child { width: 27%; }
.tel_up_item > :nth-child(2), .tel_up_item > :last-child { padding-right: 1%; }
.tel_up_item .yyk, .tel_up_item .kks, .tel_up_item .sme, .tel_up_item .lme { padding: 0.75rem 0; text-align: center; font-size: 0.9375rem; margin-bottom: 0; }
.tel_up_item .yyk::before, .tel_up_item .yyk::after, .tel_up_item .kks::before, .tel_up_item .kks::after, .tel_up_item .sme::before, .tel_up_item .sme::after, .tel_up_item .lme::before, .tel_up_item .lme::after { content: none; }
.tel_up_item .tel { font-size: 1.25rem; font-weight: 400; }

.pageup_sp { display: block; position: absolute; top: -42px; right: 0.375rem; }

.tel_up { position: fixed; bottom: 0; z-index: 1030; }
@media (min-width: 768px), print { .tel_up { display: none; } }

.news { border: 1px solid #e6e6e6; padding: 1.25rem 0.75rem; }
@media (min-width: 768px), print { .news { padding: 3.125rem; } }
.news_item { padding-right: 10px; height: 15.9375rem; overflow-y: scroll; }
@media (min-width: 768px), print { .news_item { padding-right: 25px; height: 20.4375rem; } }
.news_title { font-weight: bold; font-size: 1.125rem; line-height: 1.2; color: #4fcace; margin-bottom: 0.9375rem; }
@media (min-width: 768px), print { .news_title { font-size: 1.25rem; margin-bottom: 1.25rem; } }
.news_body { display: none; line-height: 1.7; margin-bottom: 0.9375rem; padding-bottom: 0.75rem; border-bottom: 1px solid #e6e6e6; margin-bottom: 1.875rem; }
.news_body p { margin-bottom: 5px; line-height: 1.7; color: #515151; }
@media (min-width: 768px), print { .news_body { margin-bottom: 1.6875rem; padding-bottom: 1.5625rem; } }

.news_body a { margin-bottom: 0.5rem; display: inline-block; color: #6e502f; background-color: transparent; -webkit-transition: .3s; transition: .3s; word-break: break-all; text-decoration: underline; }
@media (hover: hover) { .news_body a:hover { text-decoration: none; color: #008084; background-color: transparent; opacity: 0.8; } }
@media (hover: hover) { .news_body a:hover { text-decoration: none; } }

.info { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: start; -ms-flex-align: start; align-items: stretch; }
.info > * { width: 48.5%; margin-right: 3%; margin-bottom: 0.9375rem; }
.info > :nth-child(2n + 2) { margin-right: 0; }
.info > :last-child { margin-bottom: 0 !important; }
.info > * { margin-bottom: 1.875rem; }
@media (min-width: 768px), print { .info > * { width: 31%; margin-right: calc((100% - 31%*3)/2); }
  .info > :nth-child(2n + 2) { margin-right: calc((100% - 31%*3)/2); }
  .info > :nth-child(3n + 3) { margin-right: 0; }
  .info > :nth-last-child(-n+3) { margin-bottom: 0; } }

.info_i { background: url("../img/index_info_01.jpg"); }

.info_j { background: url("../img/index_info_02.jpg"); }

.info_k { background: url("../img/index_info_03.jpg"); }

.info_l { background: url("../img/index_info_04.jpg"); }

.info_m { background: url("../img/index_info_05.jpg"); }

.info_n { background: url("../img/index_info_06.jpg"); }

.info_o { background: url("../img/index_info_07.jpg"); }

.info_p { background: url("../img/index_info_08.jpg"); }

.info_q { background: url("../img/index_info_09.jpg"); }

.info_r { background: url("../img/index_info_10.jpg"); }

.info_s { background: url("../img/index_info_11.jpg"); }

.info_t { background: url("../img/index_info_12.jpg"); }

.info_u { background: url("../img/index_info_13.jpg"); }

.info_v { background: url("../img/index_info_14.jpg"); }

.info_w { background: url("../img/index_info_15.jpg"); }

.info_x { background: url("../img/index_info_16.jpg"); }

.info_y { background: url("../img/index_info_17.jpg"); }

.info > * { background-position: center top; background-size: 100% auto; background-repeat: no-repeat; background-origin: border-box; background-clip: border-box; background-color: #fff; padding-top: 25%; padding-bottom: 1.25rem; }
@media (min-width: 768px), print { .info > * { padding-top: 16%; padding-bottom: 1.875rem; } }
.info h3 { background: #d1a974; color: #fff; border-radius: 0.3125rem; line-height: 1; font-weight: 500; font-size: 0.9375rem; padding: 0.4375rem 0 0.3125rem 0.375rem; margin: 8% 0.3125rem 5%; position: relative; }
@media (min-width: 768px), print { .info h3 { font-size: 1.25rem; padding: 0.5rem 0.75rem; margin: 1.875rem 1.875rem 0.8125rem; } }
.info h3::before { content: ''; position: absolute; top: 0; bottom: 0; right: 0.625rem; margin: auto; width: 0.5rem; height: 0.5rem; border-top: 1px solid #fff; border-right: 1px solid #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
@media (min-width: 768px), print { .info h3::before { right: 0.75rem; width: 0.75rem; height: 0.75rem; } }
.info ol { margin-left: 0.375rem; margin-right: 0.625rem; }
@media (min-width: 768px), print { .info ol { margin: 0 1.75rem; } }
.info ol > * { font-size: 0.875rem; margin-left: 1rem; position: relative; }
.info ol > *::before { display: block; content: ''; position: absolute; top: .55em; left: -.7rem; width: 0.25rem; height: 0.25rem; background-color: currentColor; border-radius: 50%; }
.info ol > :not(:only-child):last-child { text-align: right; }
.info ol > :not(:only-child):last-child::before { content: none; }
.info ol > li.online::before { content: none; }

body:not(.index) main a:not([class]), body:not(.index) main a.scr { text-decoration: underline; color: #00b2b8; }
body:not(.index) main a:not([class]):hover, body:not(.index) main a.scr:hover { text-decoration: none; }
body:not(.index) main a:not([class])[href^='tel:'] { text-decoration: none; color: #515151; }

body.index .keyvsl { background: url("../img/index_keyvsl01.jpg") top center/100% auto no-repeat border-box; padding-top: 22%; padding-bottom: 22%; }
@media (min-width: 768px), print { body.index .keyvsl { background-size: cover; padding-top: 28%; padding-bottom: 28%; margin-bottom: 0; } }

body:not(.index) .keyvsl { background: url("../img/keyvsl.jpg") top center/150% auto no-repeat border-box; padding-top: 8%; padding-bottom: 8%; margin-bottom: 1.25rem; }
@media (min-width: 768px), print { body:not(.index) .keyvsl { padding-top: 8.125rem; padding-bottom: 8.5rem; margin-bottom: 3.75rem; background-size: cover; } }

@media (min-width: 768px), print { body.index .nav { margin-bottom: 5rem; } }

.keyvsl_info > * { font-size: 0.9375rem; color: #fff; text-shadow: 1px 3px 5px rgba(0, 0, 0, 0.85), -2px -2px 10px rgba(5, 0, 0, 0.85), 8px 7px 10px rgba(10, 0, 0, 0.85), -6px -4px 15px rgba(15, 0, 0, 0.85), 0 8px 16px black; }
@media (min-width: 768px), print { .keyvsl_info > * { font-size: 1.875rem; } }

.announcement { display: inline-block; background: #002973; border: 0.125rem solid #fff; border-radius: 50%; }
@media (min-width: 768px), print { .announcement { width: 11.25rem; height: 11.25rem; padding-top: 1.25rem; } }
.announcement > * { line-height: 1; color: #fff; font-weight: bold; }
.announcement > :first-child { margin-bottom: 0.25rem; }
.announcement > :nth-child(2) { font-size: 2.25rem; margin-bottom: 0.375rem; }
.announcement > :nth-child(3) { font-size: 1.875rem; margin-bottom: 0.625rem; }
.announcement > :nth-child(4) { font-size: 1.125rem; color: #f15a5d; }

.info_box { background: url("../img/index_info_bg.jpg") center top/cover no-repeat border-box; padding-top: 3.125rem; padding-bottom: 5rem; }
@media (min-width: 768px), print { .info_box { padding-top: 6.25rem; padding-bottom: 6.25rem; } }

.index_doctor_txt { font-size: 1.25rem; }
@media (min-width: 768px), print { .index_doctor_txt { font-size: 1.5rem; } }
.index_doctor_lin { color: #00b2b8; font-size: 1.125rem; border-bottom-color: #00b2b8; }
.index_doctor_lin::after { border-top-color: #00b2b8; border-right-color: #00b2b8; }
.index_doctor_lin::before { border-top-color: #00b2b8; border-right-color: #00b2b8; }
@media (hover: hover) { .index_doctor_lin:hover { border-bottom-color: #515151; }
  .index_doctor_lin:hover::after { border-top-color: #515151; border-right-color: #515151; }
  .index_doctor_lin:hover::before { border-top-color: #515151; border-right-color: #515151; } }

.index_mra h3 { font-size: 1.875rem; color: #00b2b8; margin-bottom: 0.625rem; }
.index_mra h3 > * { display: inline-block; vertical-align: middle; line-height: 1; }
.index_mra img { margin-bottom: 1.5625rem; }

#clinicslide, #clinicslide01 { margin-bottom: 8.0rem; }
#clinicslide img, #clinicslide p, #clinicslide01 img, #clinicslide01 p { display: none; }

.sp-layer.sp-black.sp-padding { text-align: center; font-size: 1.5rem; }

.sp-selected-thumbnail { border: 4px solid #000; }

/*********************************************/
/*追加*/
/*********************************************/
a.youtube { width: 100%; display: block; margin: 0 0 2rem 0; }
a.youtube img { width: 100%; }

@media screen and (min-width: 768px), print { a.youtube { width: 700px; display: block; margin: 0 auto 40px auto; }
  a.youtube img { width: 100%; } }
.page_lnk { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; /* 子要素をflexboxにより中央に配置する */ -webkit-box-align: top; -ms-flex-align: top; align-items: top; /* 子要素をflexboxにより中央に配置する */ }
.page_lnk li { width: 48%; margin: 0 1%; }
@media (min-width: 768px), print { .page_lnk li { width: 28%; } }
.page_lnk li a { display: block; width: 100%; height: auto; font-size: 120%; }

a.link { color: #e8236d; text-decoration: underline; }

.red { color: #e8236d; }

.mb2 { margin: 0 auto 2rem; }

/*-------------------------------------------------
flexbox
-------------------------------------------------*/
.flex3_area { position: relative; margin: 0 auto; padding: 0 2rem; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
.flex3_area .flexbox { width: 100%; margin: 0 auto 2rem; text-align: center; }

@media all and (min-width: 48em), print { .flex3_area { margin: 0 auto; padding: .5rem 0; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; width: 100%; }
  .flex3_area .flexbox { width: 33%; margin: 0 1rem; } }

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