@charset "UTF-8";
@import url(https://fonts.googleapis.com/css?family=Kosugi+Maru&display=swap);
@-webkit-keyframes fuwari-md { 0% { -webkit-transform: translate(0, 0); transform: translate(0, 0); }
  100% { -webkit-transform: translate(0, -1.5rem); transform: translate(0, -1.5rem); } }
@keyframes fuwari-md { 0% { -webkit-transform: translate(0, 0); transform: translate(0, 0); }
  100% { -webkit-transform: translate(0, -1.5rem); transform: translate(0, -1.5rem); } }
@-webkit-keyframes recommendAnime { 0% { -webkit-transform: translateY(-10px); transform: translateY(-10px); }
  100% { -webkit-transform: translateY(0px); transform: translateY(0px); } }
@keyframes recommendAnime { 0% { -webkit-transform: translateY(-10px); transform: translateY(-10px); }
  100% { -webkit-transform: translateY(0px); transform: translateY(0px); } }
/*! 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 { 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; 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; }

/*# sourceMappingURL=sanitize.css.map */
:root, html, body { color: #444444; width: 100%; font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", verdana, Sans-Serif; font-size: 17.5px; }
@media (min-width: 376px) and (max-width: 414px) { :root, html, body { font-size: 17.45px; } }
@media (min-width: 361px) and (max-width: 375px) { :root, html, body { font-size: 17.35px; } }
@media (min-width: 321px) and (max-width: 360px) { :root, html, body { font-size: 17.25px; } }
@media (max-width: 320px) { :root, html, body { font-size: 17px; } }
@media (max-width: 767px) and (orientation: landscape) { :root, html, body { font-size: 16.5px; } }
@media (min-width: 768px), print { :root, html, body { font-size: 18px; } }
@media (min-width: 969px) and (max-width: 1109px) { :root, html, body { font-size: 15.5px; } }
@media (min-width: 969px) and (max-width: 1109px) and (orientation: landscape) { :root, html, body { font-size: 15.5px; } }

@media (min-width: 869px) and (max-width: 968px) { :root, html, body { font-size: 13.5px; } }
@media (min-width: 869px) and (max-width: 968px) and (orientation: landscape) { :root, html, body { font-size: 13.5px; } }

@media (min-width: 768px) and (max-width: 868px) { :root, html, body { font-size: 12.5px; } }
@media (min-width: 768px) and (max-width: 868px) and (orientation: landscape) { :root, html, body { font-size: 12.5px; } }

* { box-sizing: border-box; }

small a { font-size: inherit; }

li { list-style-type: none; }

a { color: #64483c; transition: .3s; word-break: break-all; }
@media (hover: hover) { a:hover { text-decoration: none; color: #5e5244; opacity: 0.8; } }
@media (hover: hover) { a img:hover { opacity: 0.8; } }

p { margin-bottom: 1.1111111111rem; }
@media (min-width: 768px), print { p { margin-bottom: 1.3888888889rem; } }

img { max-width: 100%; max-height: 100%; }

figcaption { margin-top: 0.5555555556rem; font-size: 90%; }

p, ul, ol, dl { line-height: 1.7; }
@media (min-width: 768px), print { p, ul, ol, dl { line-height: 1.8; } }

@media (min-width: 768.02px) and (hover: hover) { a[href^='tel:'] { pointer-events: none; } }
@font-face { font-family: 'fontello'; src: url("../font/fontello.eot?38497603"); src: url("../font/fontello.eot?38497603#iefix") format("embedded-opentype"), url("../font/fontello.woff2?38497603") format("woff2"), url("../font/fontello.woff?38497603") format("woff"), url("../font/fontello.ttf?38497603") format("truetype"), url("../font/fontello.svg?38497603#fontello") format("svg"); font-weight: normal; font-style: normal; }
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) { @font-face { font-family: 'fontello'; src: url('../font/fontello.svg?38497603#fontello') format('svg'); }
}
*/
[class^="icon-"]:before, [class*=" icon-"]:before { font-family: "fontello"; font-style: normal; font-weight: normal; speak: never; display: inline-block; text-decoration: inherit; width: 1em; margin-right: .2em; text-align: center; /* opacity: .8; */ /* For safety - reset parent styles, that can break glyph codes*/ font-variant: normal; text-transform: none; /* fix buttons height, for twitter bootstrap */ line-height: 1em; /* Animation center compensation - margins should be symmetric */ /* remove if not needed */ margin-left: .2em; /* you can be more comfortable with increased icons size */ /* font-size: 120%; */ /* Font smoothing. That was taken from TWBS */ -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; /* Uncomment for 3D effect */ /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ }

.icon-up-open-1:before { content: '\e801'; }

/* '' */
.icon-tel:before { content: '\e808'; }

/* '' */
/* Animation example, for spinners
*/
.animate-spin { -moz-animation: spin 2s infinite linear; -o-animation: spin 2s infinite linear; -webkit-animation: spin 2s infinite linear; animation: spin 2s infinite linear; display: inline-block; }

@-moz-keyframes spin { 0% { -moz-transform: rotate(0deg); -o-transform: rotate(0deg); -webkit-transform: rotate(0deg); transform: rotate(0deg); }
  100% { -moz-transform: rotate(359deg); -o-transform: rotate(359deg); -webkit-transform: rotate(359deg); transform: rotate(359deg); } }
@-webkit-keyframes spin { 0% { -moz-transform: rotate(0deg); -o-transform: rotate(0deg); -webkit-transform: rotate(0deg); transform: rotate(0deg); }
  100% { -moz-transform: rotate(359deg); -o-transform: rotate(359deg); -webkit-transform: rotate(359deg); transform: rotate(359deg); } }
@-o-keyframes spin { 0% { -moz-transform: rotate(0deg); -o-transform: rotate(0deg); -webkit-transform: rotate(0deg); transform: rotate(0deg); }
  100% { -moz-transform: rotate(359deg); -o-transform: rotate(359deg); -webkit-transform: rotate(359deg); transform: rotate(359deg); } }
@-ms-keyframes spin { 0% { -moz-transform: rotate(0deg); -o-transform: rotate(0deg); -webkit-transform: rotate(0deg); transform: rotate(0deg); }
  100% { -moz-transform: rotate(359deg); -o-transform: rotate(359deg); -webkit-transform: rotate(359deg); transform: rotate(359deg); } }
@keyframes spin { 0% { -moz-transform: rotate(0deg); -o-transform: rotate(0deg); -webkit-transform: rotate(0deg); transform: rotate(0deg); }
  100% { -moz-transform: rotate(359deg); -o-transform: rotate(359deg); -webkit-transform: rotate(359deg); transform: rotate(359deg); } }
.icon-up-open-1:before { content: '\e801'; }

/* '' */
.icon-tel:before { content: '\e808'; }

/* '' */
.icon-up-open-1 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe801;&nbsp;'); }

.icon-tel { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe808;&nbsp;'); }

[class^="icon-"], [class*=" icon-"] { font-family: 'fontello'; font-style: normal; font-weight: normal; /* fix buttons height */ line-height: 1em; /* you can be more comfortable with increased icons size */ /* font-size: 120%; */ }

.icon-up-open-1 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe801;&nbsp;'); }

.icon-tel { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe808;&nbsp;'); }

@font-face { font-family: 'fontello'; src: url("../font/fontello.eot?70719549"); src: url("../font/fontello.eot?70719549#iefix") format("embedded-opentype"), url("../font/fontello.svg?70719549#fontello") format("svg"); font-weight: normal; font-style: normal; }
@font-face { font-family: 'fontello'; src: url("data:application/octet-stream;base64,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") format("woff"), url("data:application/octet-stream;base64,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") format("truetype"); }
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) { @font-face { font-family: 'fontello'; src: url('../font/fontello.svg?70719549#fontello') format('svg'); }
}
*/
[class^="icon-"]:before, [class*=" icon-"]:before { font-family: "fontello"; font-style: normal; font-weight: normal; speak: never; display: inline-block; text-decoration: inherit; width: 1em; margin-right: .2em; text-align: center; /* opacity: .8; */ /* For safety - reset parent styles, that can break glyph codes*/ font-variant: normal; text-transform: none; /* fix buttons height, for twitter bootstrap */ line-height: 1em; /* Animation center compensation - margins should be symmetric */ /* remove if not needed */ margin-left: .2em; /* you can be more comfortable with increased icons size */ /* font-size: 120%; */ /* Font smoothing. That was taken from TWBS */ -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; /* Uncomment for 3D effect */ /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ }

.icon-up-open-1:before { content: '\e801'; }

/* '' */
.icon-tel:before { content: '\e808'; }

/* '' */
.l_col { padding: 0 0.5555555556rem; }
@media (min-width: 768px), print { .l_col { flex: 0 1 1150px; margin: 0 auto; padding: 0 1.1111111111rem; max-width: 1150px; } }

.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; }

@media (min-width: 768px), print { .l_half { 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; } }
@media (min-width: 768px), print { .l_half > * { width: 50%; } }

.l_col2 > :last-child { margin-bottom: 0 !important; }
.l_col2 > * { display: block; margin-bottom: 1.6666666667rem; }
@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: 56.3063063063%; margin-right: calc(100% - 56.3063063063%*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.6666666667rem; }
@media (min-width: 768px), print { .l_col3 > * { width: 27%; margin-right: calc((100% - 27%*3)/2); }
  .l_col3 > :nth-child(3n + 3) { margin-right: 0; }
  .l_col3 > :nth-last-child(-n+3) { margin-bottom: 0; } }

.time_tbl { table-layout: auto; width: 100%; text-align: center; margin-bottom: 0.5555555556rem; }
.time_tbl th, .time_tbl td { line-height: 1; padding: 0.8333333333rem 0.1111111111rem; font-size: 0.7777777778rem; }
@media (min-width: 768px), print { .time_tbl th, .time_tbl td { font-size: 1rem; padding: 1.1111111111rem 0.8333333333rem; } }
.time_tbl th { font-weight: normal; }
.time_tbl tr:first-child th { background: #b28146; color: #fff; padding-top: 0.5555555556rem; padding-bottom: 0.5555555556rem; }
@media (min-width: 768px), print { .time_tbl tr:first-child th { font-size: 0.8888888889rem; background: #d5e9ac; color: #444444; } }
.time_tbl tr:first-child th:last-child { padding-right: 0.5555555556rem; padding-left: 0.2777777778rem; white-space: nowrap; }
.time_tbl tr:not(:first-child) th, .time_tbl tr:not(:first-child) td { border-bottom: 1px solid #6f6f6f; }
.time_tbl caption { color: #b28146; text-align: left; line-height: 1; margin-bottom: 0.2777777778rem; }
@media (min-width: 768px), print { .time_tbl caption { font-size: 1.1111111111rem; } }
.time_tbl .time_tit { font-size: inherit; }
@media (min-width: 768px), print { .time_tbl .time_tit { display: none; } }

.time_tbl_txt > * { line-height: 1.2; font-size: 0.7777777778rem !important; }
@media (min-width: 768px), print { .time_tbl_txt > * { font-size: 0.8888888889rem !important; } }

body.access .time_tbl caption, body.access .time_tbl .time_tit { display: none; }

.gmap { width: 100%; overflow: hidden; position: relative; padding-top: 65.1890482399%; }
@media (min-width: 768px), print { .gmap { padding-top: 27.7777777778rem; } }
.gmap > iframe { position: absolute; top: 0; left: 0; width: 100% !important; height: 100% !important; }

@media (min-width: 768px), print { body.access .gmap { padding-top: 45.045045045%; } }

.map { padding-top: 70.6093189964%; background: url("../img/map.jpg") 50% 50%/100% 100% no-repeat; height: 0; text-indent: 100%; white-space: nowrap; overflow: hidden; }
@media (min-width: 768px), print { .map { max-width: 31rem; margin-left: auto; margin-right: auto; } }

.map_bg { background: #fff; padding: 0.5555555556rem; }

.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; }

.red { color: #C1090C; }

.img_c { display: block; text-align: center; margin-left: auto; margin-right: auto; max-width: 75%; }
@media (min-width: 768px), print { .img_c { max-width: none; } }

.img_l, .img_r { display: block; text-align: center; margin-bottom: 1.1111111111rem; }
@media (min-width: 768px), print { .img_l, .img_r { margin-top: 0.2777777778rem; margin-bottom: 0.5555555556rem; } }
.img_l.doctor_img, .img_r.doctor_img { max-width: 70%; margin: 2rem auto 1rem; }
@media (min-width: 768px), print { .img_l.doctor_img, .img_r.doctor_img { max-width: 20%; margin: 1rem 0 0 2rem; } }

@media (min-width: 768px), print { .img_l { float: left; margin-right: 3%; }
  .img_r { float: right; margin-left: 3%; }
  .img_l, .img_r { max-width: 32%; }
  .img_l_txt { margin-left: 35%; }
  .img_r_txt { width: 65%; } }
.ph_l, .ph_r { display: block; height: auto; text-align: center; margin: 0 auto; margin-bottom: 0.5555555556rem; }
@media (min-width: 768px), print { .ph_l, .ph_r { margin-top: 0.5555555556rem; margin-bottom: 0.8333333333rem; } }

.ph_l, .ph_r { max-width: 12.5rem; }

@media (min-width: 768px), print { .ph_l { float: left; margin-right: 1%; }
  .ph_r { float: right; margin-left: 1%; }
  .ph_l, .ph_r { max-width: 29%; }
  .ph_l_txt { margin-left: 30%; }
  .ph_r_txt { width: 70%; } }
.bn_c { display: block; text-align: center; max-width: 100%; }

.bn_col { display: block; text-align: center; padding: 0 0.5555555556rem; max-width: 100%; }
@media (min-width: 768px), print { .bn_col { flex: 0 1 1150px; margin: 0 auto; padding: 0 1.1111111111rem; max-width: 1150px; } }

.sp_n { display: none; }

@media (min-width: 768px), print { .sp_n { display: block; }
  .pc_n { display: none; } }
.mb0 { margin-bottom: 0px !important; }

.mb5 { margin-bottom: 5px !important; }

.mb10 { margin-bottom: 10px !important; }

.mb15 { margin-bottom: 15px !important; }

.mb20 { margin-bottom: 20px !important; }

.mb25 { margin-bottom: 25px !important; }

.mb30 { margin-bottom: 30px !important; }

.mb35 { margin-bottom: 35px !important; }

.mb40 { margin-bottom: 40px !important; }

.mb45 { margin-bottom: 45px !important; }

.mb50 { margin-bottom: 50px !important; }

.tit_01 { font-size: 1.3333333333rem; line-height: 1.2; font-weight: 500; color: #5e5244; }
@media (min-width: 768px), print { .tit_01 { font-size: 2.2222222222rem; } }

.tit_02_news { font-size: 1.2222222222rem; font-weight: 500; color: #64483c; line-height: 1; display: inline-block; background: url("../img/tit_02_news.png") center bottom/2.4074074074rem 0.6296296296rem no-repeat; padding-bottom: 0.8333333333rem; margin-bottom: 0.5555555556rem; }
@media (min-width: 768px), print { .tit_02_news { font-size: 1.8888888889rem; } }
@media (min-width: 768px), print { .tit_02_news { background-size: 3.6111111111rem 0.9444444444rem; padding-bottom: 1.9444444444rem; margin-bottom: 0; } }

.tit_02 { text-align: center; margin-bottom: 0.8333333333rem; }
@media (min-width: 768px), print { .tit_02 { margin-bottom: 1.6666666667rem; } }
.tit_02 span { display: inline-block; vertical-align: middle; font-size: 1.2222222222rem; font-weight: 500; color: #64483c; line-height: 1.2; background: url("../img/tit_02_l.png"), url("../img/tit_02_r.png"); background-position: left center,right center; background-size: 1.4444444444rem 0.3777777778rem, 1.4444444444rem 0.3777777778rem; background-repeat: no-repeat, no-repeat; padding-right: 1.8888888889rem; padding-left: 1.8888888889rem; }
@media (min-width: 768px), print { .tit_02 span { font-size: 1.8888888889rem; } }
@media (min-width: 768px), print { .tit_02 span { background-size: 3.6111111111rem 0.9444444444rem, 3.6111111111rem 0.9444444444rem; padding-right: 4.7222222222rem; padding-left: 4.7222222222rem; } }

body.index .tit_02 { margin-bottom: 1.6666666667rem; }
@media (min-width: 768px), print { body.index .tit_02 { margin-bottom: 3.3333333333rem; } }

.tit_03 { font-size: 1.1111111111rem; margin-bottom: 0.8333333333rem; line-height: 1.2; color: #6da102; border-bottom: 5px solid #6da102; padding-bottom: 0.2777777778rem; position: relative; }
@media (min-width: 768px), print { .tit_03 { font-size: 1.8888888889rem; } }
@media (min-width: 768px), print { .tit_03 { margin-bottom: 1.6666666667rem; } }
@media (min-width: 768px), print { .tit_03 { padding-bottom: 0.5555555556rem; } }
.tit_03::after { position: absolute; left: 0; top: calc(100% + 5px); width: 100%; height: 0; border-bottom: 4px solid #d5e9ac; content: ''; }

.tit_04 { font-size: 1rem; line-height: 1.2; color: #595757; border-bottom: 0.1111111111rem solid #d1d1d1; padding: 0.0555555556rem 0.5555555556rem 0.4444444444rem 1.1111111111rem; margin-bottom: 0.6666666667rem; position: relative; }
@media (min-width: 768px), print { .tit_04 { font-size: 1.6666666667rem; } }
@media (min-width: 768px), print { .tit_04 { padding: 0.1666666667rem 1.1111111111rem 0.5555555556rem; } }
.tit_04::before { display: block; content: ''; position: absolute; top: 0; left: 0.0555555556rem; width: 0.3888888889rem; height: 1.3888888889rem; background-color: #5e5244; border-radius: 0.1666666667rem; }

.kkm_i, .kkm { padding: 1.1111111111rem 0.8333333333rem; background: #f5f8fa; border-radius: 0.5555555556rem; }
.kkm_i > :last-child, .kkm > :last-child { margin-bottom: 0; }
@media (min-width: 768px), print { .kkm_i, .kkm { padding: 1.9444444444rem 2.5rem; } }

.kkm_i { background: #edf1f6; }

.disc > *, .disc_txt, .disc_inline > *, .disc_inline_lnk > * { line-height: 1.7 !important; margin-left: 0.8888888889rem; font-weight: bold; position: relative; }
.disc > *::before, .disc_txt::before, .disc_inline > *::before, .disc_inline_lnk > *::before { display: block; content: ''; position: absolute; top: 0.5rem; left: -0.5925925926rem; width: 0.2222222222rem; height: 0.2222222222rem; background-color: #444444; border-radius: 50%; }

.disc > :last-child { margin-bottom: 0 !important; }

.disc_txt { display: block; }

li.disc_n { margin-left: 0; }
li.disc_n::before { content: none; }

.suj { counter-reset: number; margin-left: 2.5px; }
.suj li { position: relative; line-height: 1.4em; 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.5 !important; margin-left: 1.1111111111rem; position: relative; }
@media (min-width: 768px), print { .dot > *, .dot_txt, .dot_inline > *, .dot_inline_lnk > * { margin-left: 1.6666666667rem; } }
.dot > *::before, .dot_txt::before, .dot_inline > *::before, .dot_inline_lnk > *::before { display: block; content: ''; position: absolute; top: 0.3333333333rem; left: -1.1111111111rem; width: 0.8333333333rem; height: 0.8333333333rem; background-color: #8dc21f; border-radius: 50%; }
@media (min-width: 768px), print { .dot > *::before, .dot_txt::before, .dot_inline > *::before, .dot_inline_lnk > *::before { top: 0.1666666667rem; left: -1.5rem; width: 1.0555555556rem; height: 1.0555555556rem; } }

.dot_inline > *, .dot_inline_lnk > * { margin-left: 0.8333333333rem; display: inline-block; line-height: 2.2 !important; margin-right: 0.4444444444rem; }
.dot_inline > *::before, .dot_inline_lnk > *::before { top: 0.6666666667rem; left: -0.8333333333rem; }
@media (min-width: 768px), print { .dot_inline > *::before, .dot_inline_lnk > *::before { top: 0.6666666667rem; } }

.dot_inline_lnk a, .dot_inline_lnk > * a.scr { text-decoration: underline !important; }
@media (hover: hover) { .dot_inline_lnk a:hover, .dot_inline_lnk > * a.scr:hover { text-decoration: none !important; }
  .dot_inline_lnk a:hover::before, .dot_inline_lnk > * a.scr:hover::before { background-color: #5e5244; } }

.dot_txt { display: block; }

.dot > :last-child { margin-bottom: 0 !important; }

.dot > *, .dot_txt { margin-bottom: 0.2777777778rem; }
@media (min-width: 768px), print { .dot > *, .dot_txt { margin-bottom: 0.5555555556rem; } }

.dot_n { margin-left: 0; }
.dot_n::before { content: none; }

.red { color: red; }

.marker, .marker_lst li strong { background: linear-gradient(transparent 65%, #f6e2e3 65%); }

.km, .km_lst li, .km_i { text-indent: -1.5rem; padding-left: 1.5rem; }
.km::before, .km_lst li::before, .km_i::before { content: '※'; margin-right: .5rem; }

.km { display: block; }

.km_i { margin-left: 4px; }

.bold { font-weight: bold !important; }

ruby > rt { display: block; font-size: 50%; text-align: start; }

.t_dl { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }
.t_dl dt { width: 1.5em; }
@media (min-width: 768px), print { .t_dl dt { width: 1.5em; } }
.t_dl dd { width: calc(100% - 1.5em); }
@media (min-width: 768px), print { .t_dl dd { width: calc(100% - 1.5em); } }

.koron { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }
.koron dt, .koron dd { padding: 3px 0; }
.koron dt { width: 5em; }
.koron dd { width: calc(100% - 5em); }
.koron dd::before { content: '：'; margin-left: -1em; }

.btn_i, .btn { display: inline-block; line-height: 1.3; text-align: center; color: #444444; background-color: #5e5244; transition: .3s; word-break: break-all; padding: 0.5555555556rem; padding-bottom: 0.6111111111rem; min-width: 12.2222222222rem; }
@media (hover: hover) { .btn_i:hover, .btn:hover { text-decoration: none; color: #fff; background-color: #6da102; opacity: 0.8; } }
@media (min-width: 768px), print { .btn_i, .btn { font-size: 1rem; padding: 0.8333333333rem 1.1111111111rem; padding-bottom: 0.8888888889rem; } }
.btn_i::after, .btn::after { font-family: "fontello"; content: '\e867'; margin-left: 0.8333333333rem; font-size: 0.4444444444rem; vertical-align: super; }

.btn_i { color: #64483c; background-color: #fff; transition: .3s; word-break: break-all; }
@media (hover: hover) { .btn_i:hover { text-decoration: none; color: #fff; background-color: #6da102; opacity: 0.8; } }

.more a { display: inline-block; color: #fff; background: #64483c; border-radius: 0.2777777778rem; line-height: 1; padding: 0.4444444444rem 0.5555555556rem; }
@media (min-width: 768px), print { .more a { font-size: 1.1111111111rem; } }

.pdf { text-decoration: underline; display: inline-block; margin-top: 0.5555555556rem; margin-bottom: 0.8333333333rem; padding-left: 50px; position: relative; }
.pdf::before { color: #fff; border-radius: 2px; text-decoration: none; padding-top: 0.1111111111rem; text-align: center; line-height: 1; font-size: 0.6666666667rem; display: inline-block; width: 1.9444444444rem; height: 0.8888888889rem; position: absolute; top: 0.3333333333rem; left: 0; }
@media (hover: hover) { .pdf:hover { text-decoration: none; } }

.pdf::before { content: 'PDF'; background: #b72e2e; }

.tbl { width: 100%; }
.tbl caption { font-size: 1.1111111111rem; margin-bottom: 0.8333333333rem; font-weight: bold; }
@media (min-width: 768px), print { .tbl caption { font-size: 1.8888888889rem; } }
@media (min-width: 768px), print { .tbl caption { margin-bottom: 1.6666666667rem; } }
.tbl th, .tbl td { display: block; width: 100%; padding: 0.4444444444rem 0.5555555556rem; }
@media (min-width: 768px), print { .tbl th, .tbl td { display: table-cell; padding: 0.5555555556rem 0.8333333333rem; } }
@media (min-width: 768px), print { .tbl tr.fst { border-top: 1px solid #6da102; border-bottom: 1px solid #6da102; } }
.tbl tr.fst th { display: none; }
@media (min-width: 768px), print { .tbl tr.fst th { display: table-cell; } }
.tbl th:first-of-type { background: #dce6f7; }
@media (min-width: 768px), print { .tbl th:first-of-type { width: 30%; } }
.tbl th { color: #6da102; }
.tbl tr:not(:first-of-type) th, .tbl tr:not(:first-of-type) td { border-bottom: 2px solid #fff; }

.tbl_recruit { width: 100%; }
.tbl_recruit th, .tbl_recruit td { display: block; width: 100%; padding: 0.4444444444rem 0.5555555556rem; }
@media (min-width: 768px), print { .tbl_recruit th, .tbl_recruit td { display: table-cell; padding: 0.5555555556rem 0.8333333333rem; } }
.tbl_recruit th:first-of-type { background: #dce6f7; }
@media (min-width: 768px), print { .tbl_recruit th:first-of-type { width: 30%; } }
.tbl_recruit th { color: #6da102; }
.tbl_recruit th, .tbl_recruit td { border-bottom: 2px solid #fff; }

.header_bg { background: url("../img/header_bg.jpg") center top/auto 62% no-repeat border-box; position: relative; z-index: 1; margin-bottom: 4.1666666667rem; }
@media (min-width: 768px), print { .header_bg { margin-bottom: 8.3333333333rem; } }
@media (max-width: 767px) and (orientation: landscape) { .header_bg { background-size: auto 67%; } }
@media (min-width: 768px), print { .header_bg { background-size: 111.1111111111rem 27.7777777778rem; } }

.logo { width: 70%; max-width: 24.6666666667rem; margin-left: auto; margin-right: auto; }
@media (min-width: 768px), print { .logo { width: 100%; margin-bottom: 4.1666666667rem; } }
.logo a { display: block; background: url("../img/logo.png") 50% 50%/contain no-repeat border-box; height: 0; padding-top: 48.1981981982%; text-indent: 100%; white-space: nowrap; overflow: hidden; }
@media (min-resolution: 2dppx), (-webkit-min-device-pixel-ratio: 2) { .logo a { background: url("../img/logo@2x.png") 50% 50%/contain no-repeat border-box; } }
@media (min-resolution: 3dppx), (-webkit-min-device-pixel-ratio: 3) { .logo a { background: url("../img/logo@3x.png") 50% 50%/contain no-repeat border-box; } }

.header { padding-top: 0.8333333333rem; padding-bottom: 0.4444444444rem; position: relative; }
@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; padding-top: 1.9444444444rem; padding-bottom: 0.8333333333rem; position: static; } }

.header_main { margin-bottom: 0.5555555556rem; position: relative; z-index: 10; }
@media (min-width: 768px), print { .header_main { flex: 0 1 auto; width: 24.6666666667rem; max-width: 40%; margin-bottom: 0; margin-right: 3%; } }

@media (min-width: 768px), print { .header_sub { flex: 0 1 57%; max-width: 35.3333333333rem; } }

.header_ls { text-align: center; position: absolute; bottom: -5.5555555556rem; left: 6%; }
@media (min-width: 768px), print { .header_ls { position: static; } }
.header_ls .adr { line-height: 1; color: #5e5244; font-size: 0.7777777778rem; }
@media (min-width: 768px), print { .header_ls .adr { font-size: 1.3333333333rem; } }
.header_ls .tel { margin-bottom: 0.4444444444rem; }
@media (min-width: 768px), print { .header_ls .tel { margin-bottom: 0.8333333333rem; } }

.tel { font-weight: 400; line-height: 1; font-size: 1.2222222222rem; color: #fff; display: inline-block; background: #5e5244; padding: 0.5555555556rem; border-radius: 0.8333333333rem 0 0.8333333333rem 0; }
@media (max-width: 320px) { .tel { font-size: 1.1111111111rem; } }
@media (min-width: 768px), print { .tel { font-size: 1.5555555556rem; } }
.tel::before { font-family: "fontello"; content: '\e808'; margin-right: 0.3888888889rem; }

.nav { position: fixed; z-index: 1030; top: 3.1666666667rem; right: 0px; width: 100%; }
@media (min-width: 768px), print { .nav { display: none; } }

#nav { display: none; }
@media (min-width: 768px), print { #nav { display: block; padding-top: 3.0555555556rem; } }

.gnav { display: none; background-color: #6da102; padding-left: 0.5555555556rem; padding-right: 0.2777777778rem; padding-top: 0.5555555556rem; padding-bottom: 0.3333333333rem; }
.gnav::before, .gnav::after { content: ''; display: block; clear: both; }
@media (min-width: 768px), print { .gnav { position: relative; background-color: transparent; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; padding: 0; }
  .gnav::before, .gnav::after { content: none; } }

.gnav .sp_global_nav_tit { width: calc(100% - 0.2777777778rem); color: #444444; background-color: #6da102; border-top: 1px solid #444444; font-size: 110%; line-height: 1; letter-spacing: 0.1666666667rem; margin-top: 0.2222222222rem; margin-bottom: 0.2222222222rem; padding-top: 0.4444444444rem; text-align: center; }
.gnav .sp_global_nav_tit a { font-size: inherit; color: inherit; padding: 0; }

.gnav > * { display: block; background-color: #fff; width: calc(50% - 0.2777777778rem); margin-right: 0.2777777778rem; margin-bottom: 0.2777777778rem; float: left; }
@media (min-width: 768px), print { .gnav > * { background-color: transparent; float: none; margin-right: 0; margin-bottom: 0; width: calc(100%/5); border-left: 0.0555555556rem dotted #5e5244; } }

@media (min-width: 768px), print { #nav .gnav > :last-child { border-right: 0.0555555556rem dotted #5e5244; } }

.gnav > * a { display: block; text-align: center; line-height: 1; padding: 0.8333333333rem 0; font-size: 0.8888888889rem; color: #5e5244; }
@media (min-width: 768px), print { .gnav > * a { color: #5e5244; font-size: 1rem; padding: 0; height: 3.3333333333rem; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } }

@media (min-width: 768px) and (hover: hover), print and (hover: hover) { body.index .gnav > :first-child a, body.price .gnav > :nth-child(4) a, body.recruitment .gnav > :nth-child(7) a, a.sub.close, .gnav > * a:hover { color: #5e5244; background: #d5e9ac; } }
.gnav > .treatment { display: none; }
@media (min-width: 768px), print { .gnav > .treatment { display: block; }
  .gnav > .treatment .subnav { display: none; position: absolute; z-index: 1000; width: 100%; left: 0; top: 100%; padding: 2.7777777778rem 2.2222222222rem; border-radius: 0 0 0.1666666667rem 0.1666666667rem; background: rgba(255, 255, 255, 0.85) border-box; overflow: hidden; box-shadow: 0 0 0 0.0555555556rem rgba(255, 255, 255, 0.15) inset, 0 0.5rem 1rem rgba(0, 0, 0, 0.3); text-shadow: 0 0.0555555556rem 0.0555555556rem rgba(255, 255, 255, 0.15); } }
@media (min-width: 768px) and (hover: hover), print and (hover: hover) { .gnav > .treatment .subnav a:hover { color: #fff; } }
@media (min-width: 768px), print { .gnav > .treatment .subnav .treatment_nav a { width: 100%; font-size: 1rem; height: 7.5rem; padding-top: 5.2777777778rem; }
  .gnav > .treatment .subnav .treatment_nav a.i::before { background-position: center top 1.5555555556rem; background-size: 3.2592592593rem 3rem; }
  .gnav > .treatment .subnav .treatment_nav a.j::before { background-position: center top 1.4444444444rem; background-size: 3.2592592593rem 2.962962963rem; }
  .gnav > .treatment .subnav .treatment_nav a.k::before { background-position: center top 1.2962962963rem; background-size: 2.5185185185rem 3.2592592593rem; }
  .gnav > .treatment .subnav .treatment_nav a.l::before { background-position: center top 1.3333333333rem; background-size: 4.6296296296rem 2.8888888889rem; } }

.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: 1.8333333333rem; height: 0.2222222222rem; background-color: #444444; display: block; transition: background-color 0.1s linear; }
.sp_btn > :nth-of-type(1) { top: 10px; transition: 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.4444444444rem; display: block; margin-top: 0.3611111111rem; color: #444444; }
.sp_btn > :nth-of-type(3) { top: 0; transition: transform 0.2s linear; }
.sp_btn.active :nth-of-type(1) { top: 40%; 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.4444444444rem; color: #444444; }
.sp_btn.active :nth-of-type(3) { top: 40%; transform: rotate(-135deg); }
@media (min-width: 768px), print { .sp_btn { display: none; } }

.mu { width: 2.3333333333rem; text-align: center; position: fixed; z-index: 1030; top: 0.2777777778rem; right: 0.2777777778rem; padding-top: 0.4444444444rem; padding-bottom: 0.7777777778rem; background: rgba(255, 255, 255, 0.85) border-box; overflow: hidden; border-radius: .3rem; box-shadow: 0 0 0 0.0555555556rem rgba(255, 255, 255, 0.15) inset, 0 0.5rem 1rem rgba(0, 0, 0, 0.3); text-shadow: 0 0.0555555556rem 0.0555555556rem 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); }
.mu a { color: #444444; }
@media (min-width: 768px), print { .mu { display: none; } }

.section { margin-bottom: 2.7777777778rem; }
@media (min-width: 768px), print { .section { margin-bottom: 4.4444444444rem; } }
.section_item { margin-bottom: 2.7777777778rem; }
@media (min-width: 768px), print { .section_item { margin-bottom: 4.4444444444rem; } }
.section_item:last-child { margin-bottom: 0; }

body.index .section { margin-bottom: 4.1666666667rem; }
@media (min-width: 768px), print { body.index .section { margin-bottom: 8.3333333333rem; } }

.box_b { margin-bottom: 2.2222222222rem; }
@media (min-width: 768px), print { .box_b { margin-bottom: 2.7777777778rem; } }

.tit_b { margin-bottom: 1.1111111111rem; }
@media (min-width: 768px), print { .tit_b { margin-bottom: 2.2222222222rem; } }

.txt_b, .txt_ls > * { margin-bottom: 1.1111111111rem; }
@media (min-width: 768px), print { .txt_b, .txt_ls > * { margin-bottom: 1.3888888889rem; } }

.last_b > :last-child, .txt_ls > :last-child { margin-bottom: 0 !important; }

.overview { background: url("../img/overview_bg_sp.jpg"); background-position: center top; background-size: cover; background-repeat: no-repeat; padding-top: 1.6666666667rem; padding-bottom: 2.2222222222rem; }
@media (min-width: 768px), print { .overview { background: url("../img/overview_bg.jpg"); background-position: center top; background-size: cover; background-repeat: no-repeat; padding: 0; } }

.ex_txt { margin: 1.4rem auto 0; }

@media (min-width: 768px), print { .overview_inner { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } }
.overview_inner .overviewL { width: 100%; }
@media (min-width: 768px), print { .overview_inner .overviewL { width: 34.2342342342%; padding-right: 1.6666666667rem; }
  .overview_inner .overviewL .logo { width: 70%; } }
.overview_inner .overviewR { width: 100%; background: #fdfbf2; padding: 1.6666666667rem 0.4444444444rem; }
@media (min-width: 768px), print { .overview_inner .overviewR { width: 65.7657657658%; padding-top: 2.7777777778rem; padding-bottom: 2.7777777778rem; padding-left: 2.2222222222rem; } }

.clinic_name .logo { margin: 0 auto; margin-bottom: 0.8333333333rem; }
@media (min-width: 768px), print { .clinic_name .logo { margin-bottom: 1.6666666667rem; } }

@media (min-width: 768px), print { .tbl_gaiyo { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-bottom: 1.6666666667rem; } }
.tbl_gaiyo dt, .tbl_gaiyo dd { width: 100%; }
@media (min-width: 768px), print { .tbl_gaiyo dt, .tbl_gaiyo dd { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; min-height: 4.2777777778rem; border-top: 1px solid #6f6f6f; }
  .tbl_gaiyo dt:last-of-type, .tbl_gaiyo dd:last-of-type { border-bottom: 1px solid #6f6f6f; } }
.tbl_gaiyo dt { color: #fff; background-color: #b28146; padding-top: 0.4444444444rem; padding-bottom: 0.4444444444rem; text-align: center; line-height: 1; letter-spacing: 0.1111111111rem; }
@media (min-width: 768px), print { .tbl_gaiyo dt { width: 18%; margin-right: 0%; color: #b28146; background-color: transparent; padding: 0; text-align: left; font-size: 1.1111111111rem; } }
.tbl_gaiyo dd { padding-top: 0.5555555556rem; padding-left: 0.5555555556rem; padding-bottom: 1.6666666667rem; line-height: 1.5; color: #444444; }
@media (min-width: 768px), print { .tbl_gaiyo dd { width: calc(100% - 18% - 0%); padding: 0; padding-top: 1.1111111111rem; padding-bottom: 1.1111111111rem; line-height: 1.3; } }
.tbl_gaiyo dd a[href^='tel:'] { color: #5e5244; font-size: 1.4444444444rem; font-weight: bold; }
@media (min-width: 768px), print { .tbl_gaiyo dd a[href^='tel:'] { font-size: 2rem; } }
.tbl_gaiyo dd span { font-size: inherit; }
.tbl_gaiyo dd span.flex > span { display: block; }
@media (min-width: 768px), print { .tbl_gaiyo dd span.flex { display: flex; justify-content: flex-start; align-items: flex-start; }
  .tbl_gaiyo dd span.flex > span { display: inline-block; } }
.tbl_gaiyo dd .tel::before { content: none; }

.footer { background: #937c6d; padding-top: 1.6666666667rem; }
@media (min-width: 768px), print { .footer { padding-top: 3.8888888889rem; } }

.footer_item { padding: 0 0.5555555556rem; padding-bottom: 0.5555555556rem; }
@media (min-width: 768px), print { .footer_item { flex: 0 1 1150px; margin: 0 auto; padding: 0 1.1111111111rem; max-width: 1150px; } }

.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: 0.0555555556rem; }
@media (min-width: 768px), print { .footer_nav { margin-bottom: 1.6666666667rem; }
  .footer_nav:last-of-type { margin-bottom: 5rem; } }
.footer_nav > * { position: relative; }
.footer_nav > *::before { position: absolute; content: ''; left: 0; top: 0; bottom: 0; margin: auto; width: 1px; height: 0.6666666667rem; background: #fff; }
@media (min-width: 768px), print { .footer_nav > *::before { height: 0.8888888889rem; } }
.footer_nav > *:first-child::before { content: none; }
.footer_nav > *:last-child::after { position: absolute; right: 0; top: 0; bottom: 0; margin: auto; width: 1px; height: 0.6666666667rem; background: #fff; }
@media (min-width: 768px), print { .footer_nav > *:last-child::after { height: 0.8888888889rem; } }
.footer_nav > * a { display: inline-block; padding: 0.4444444444rem 0.3333333333rem; font-size: 0.6666666667rem; color: #fff; transition: .3s; word-break: break-all; }
@media (hover: hover) { .footer_nav > * a:hover { text-decoration: none; color: #5e5244; opacity: 0.8; } }
@media (min-width: 768px), print { .footer_nav > * a { padding: 0.2777777778rem 0.7777777778rem; font-size: 0.8888888889rem; } }
.footer_nav > * a::before { content: none; }

.footer_copy { padding-bottom: 50px; background: #937c6d; }
@media (min-width: 768px), print { .footer_copy { padding-bottom: 0; } }

.copy { display: block; padding: 0.4444444444rem; font-size: 0.6666666667rem; color: #fff; }
@media (min-width: 768px), print { .copy { padding-top: 1.6666666667rem; padding-bottom: 1.3888888889rem; font-size: 0.8888888889rem; } }
.copy a { color: inherit; position: relative; display: inline-block; transition: 0.85s; }
.copy a::after { position: absolute; bottom: -0.0555555556rem; left: 50%; content: ''; width: 0; height: 1px; background-color: #5e5244; transition: 0.85s; transform: translateX(-50%); }
@media (hover: hover) { .copy a:hover::after { width: 100%; } }
@media (hover: hover) { .copy a:hover { color: #5e5244; } }

.pageup { display: inline-block; overflow: hidden; text-indent: 100%; white-space: nowrap; background: url("../img/pagetop.png") center center/2.6296296296rem 2.6296296296rem no-repeat; width: 2.6296296296rem; height: 2.6296296296rem; }
@media (min-width: 768px), print { .pageup { display: block; background-size: 3.9444444444rem 3.9444444444rem; width: 3.9444444444rem; height: 3.9444444444rem; } }

#pageup { display: none; }
@media (min-width: 768px), print { #pageup { position: fixed; z-index: 1030; margin: 0; width: auto; right: 1.6666666667rem; bottom: 12.2222222222rem; } }

.pageup_sp { display: block; position: absolute; top: -45px; right: 6px; }

.tel_up { position: fixed; bottom: 0; z-index: 1030; }
@media (min-width: 768px), print { .tel_up { display: none; } }

.tel_up_item { display: table; table-layout: fixed; width: 100%; height: 50px; padding-right: 0.2777777778rem; padding-left: 0.2777777778rem; background: rgba(255, 255, 255, 0.75) border-box; overflow: hidden; box-shadow: 0 0 0 0.0555555556rem 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; text-align: center; }
.tel_up_item > :first-child { width: 100%; text-align: center; }
.tel_up_item .tel { font-size: 1.5555555556rem; padding-top: 0.4444444444rem; padding-bottom: 0.4444444444rem; }
@media (min-width: 361px) and (max-width: 375px) { .tel_up_item .tel { font-size: 1.4444444444rem; } }
@media (min-width: 321px) and (max-width: 360px) { .tel_up_item .tel { font-size: 1.3888888889rem; } }
@media (max-width: 320px) { .tel_up_item .tel { font-size: 1.1111111111rem; } }

@media (min-width: 768px), print { .news_box::before, .news_box::after { content: ''; display: block; clear: both; }
  .news_box .news_head { float: left; width: 17.1171171171%; }
  .news_box .news_box { float: right; width: 82.8828828829%; } }

.news { border: 0.0555555556rem solid #aaaaaa; padding: 1.6666666667rem 1.3888888889rem; }

.news_title.close { padding-top: 0; padding-bottom: 0; }

.news_title { cursor: pointer; font-weight: 500; line-height: 1.3; color: #6da102; padding-bottom: 0.6666666667rem; position: relative; padding-left: 15px; }
.news_title::before { content: ''; position: absolute; top: 4px; left: 0; width: 12px; height: 7px; border-left: 7px solid transparent; border-right: 7px solid transparent; border-top: 12px solid #6da102; border-bottom: 0 solid #6da102; }
@media (min-width: 768px), print { .news_title::before { top: 6px; } }
@media (min-width: 768px), print { .news_title::before { border-top-color: #6da102; border-bottom-color: #6da102; } }
.news_title.close::before { border-left: 7px solid transparent; border-right: 7px solid transparent; border-top: 0 solid #6da102; border-bottom: 12px solid #6da102; }
@media (min-width: 768px), print { .news_title.close::before { border-top-color: #6da102; border-bottom-color: #6da102; } }
@media (min-width: 768px), print { .news_title { margin-bottom: .4rem; padding-bottom: 0; padding-left: 25px; font-size: 1.1111111111rem; } }

.news_title:first-of-type { padding-top: 0; }

.news_body { line-height: 1.6; padding-bottom: 1.1111111111rem; color: #444444; }
.news_body a { margin-bottom: 0.4444444444rem; display: inline-block; color: #6da102; background-color: transparent; transition: .3s; word-break: break-all; text-decoration: underline; }
@media (hover: hover) { .news_body a:hover { text-decoration: none; color: #5e5244; background-color: transparent; opacity: 0.8; } }
@media (hover: hover) { .news_body a:hover { text-decoration: none; } }
.news_body > :last-child { margin-bottom: 0; }

.info_bnr { margin: 1rem 0; background: url("../../img/index_info_bnrParts.png") no-repeat right 10px top 12px/auto 38%, #31a87d; border: 2px solid #74d8b4; padding: 1rem .4rem; color: #fff; }
.info_bnr p { margin: 0; font-size: 14px; }
.info_bnr p.tit { font-size: 16px; margin: 0 0 8px; }

@media (min-width: 768px), print { .info_bnr { margin: 0 0 50px; padding: 30px 23px; background: url("../../img/index_info_bnrParts.png") no-repeat right 10px center/auto 70%, #31a87d; border: 4px solid #74d8b4; }
  .info_bnr p { font-size: 22px; line-height: 1.4; }
  .info_bnr p.tit { font-size: 34px; margin-bottom: 10px; } }
.point_i { background: url("../img/point_01_sp.jpg"); }
@media (min-width: 768px), print { .point_i { background: url("../img/point_01.jpg"); } }

.point_j { background: url("../img/point_02_sp.jpg"); }
@media (min-width: 768px), print { .point_j { background: url("../img/point_02.jpg"); } }

.point_k { background: url("../img/point_03_sp.jpg"); }
@media (min-width: 768px), print { .point_k { background: url("../img/point_03.jpg"); } }

.point_i, .point_j, .point_k { width: 100%; max-width: 18.8888888889rem; margin-left: auto; margin-right: auto; background-size: contain; background-repeat: no-repeat; padding-top: 11.8888888889rem; }
@media (min-width: 768px), print { .point_i, .point_j, .point_k { max-width: none; background-size: 111.1111111111rem 19.4444444444rem; background-position: center center; min-height: 19.4444444444rem; padding-top: 0; } }

.point_i .point, .point_k .point { background: url("../img/point_r.jpg"); background-size: contain; background-repeat: no-repeat; padding-left: 1.9444444444rem; padding-top: 2.5rem; }
@media (min-width: 768px), print { .point_i .point, .point_k .point { background-image: none; margin-left: auto; margin-right: 0; padding-left: 3.6111111111rem; padding-top: 5.3888888889rem; } }

.point_j .point { background: url("../img/point_l.jpg"); background-position: right top; background-size: contain; background-repeat: no-repeat; text-align: right; padding-right: 2.5rem; padding-top: 2.5rem; }
@media (min-width: 768px), print { .point_j .point { background-image: none; padding-right: 3.3333333333rem; padding-top: 5.8333333333rem; } }

@media (min-width: 768px), print { .point_item { padding: 0 0.5555555556rem; } }
@media (min-width: 768px) and (min-width: 768px), print and (min-width: 768px), print and (min-width: 768px), print { .point_item { flex: 0 1 1150px; margin: 0 auto; padding: 0 1.1111111111rem; max-width: 1150px; } }

.point { min-height: 11.8888888889rem; margin-bottom: 1.6666666667rem; }
@media (min-width: 768px), print { .point { width: 50%; margin-bottom: 0; } }
.point > * { line-height: 1; font-size: 0.8888888889rem; }
@media (min-width: 768px), print { .point > * { font-size: 1.2222222222rem; } }
.point > * .main { font-size: 1.1111111111rem; color: #b28146; }
@media (min-width: 768px), print { .point > * .main { font-size: 1.9444444444rem; } }
.point > :first-child { margin-bottom: 1.1111111111rem; }
@media (min-width: 768px), print { .point > :first-child { margin-bottom: 1.3888888889rem; } }
.point > :nth-child(2) { margin-bottom: 1.3888888889rem; }
@media (min-width: 768px), print { .point > :nth-child(2) { margin-bottom: 1.9444444444rem; } }

.treatment .subnav .treatment_nav, .index_treatment .treatment_nav { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; max-width: 360px; margin-left: auto; margin-right: auto; }
@media (min-width: 768px), print { .treatment .subnav .treatment_nav, .index_treatment .treatment_nav { max-width: inherit; } }
.treatment .subnav .treatment_nav > :last-child, .index_treatment .treatment_nav > :last-child { margin-bottom: 0 !important; }
.treatment .subnav .treatment_nav > *, .index_treatment .treatment_nav > * { width: 49.5%; margin-bottom: 1.6666666667rem; line-height: 1; text-align: center; }
@media (min-width: 768px), print { .treatment .subnav .treatment_nav > *, .index_treatment .treatment_nav > * { width: 22.972972973%; margin-bottom: 2.7777777778rem; } }
@media (min-width: 768px), print { .treatment .subnav .treatment_nav > :nth-last-child(-n+4), .index_treatment .treatment_nav > :nth-last-child(-n+4) { margin-bottom: 0; } }
.treatment .subnav .treatment_nav a, .index_treatment .treatment_nav a { display: block; line-height: 1; border-radius: 0.5555555556rem; box-shadow: 0 0.1111111111rem 0.1111111111rem 0 rgba(0, 0, 0, 0.2); padding-top: 5.2777777778rem; font-size: 1.2222222222rem; width: 9.7222222222rem; height: 7.6111111111rem; margin-right: auto; margin-left: auto; transition: background-color 1s, box-shadow 1s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s, -webkit-transform 1s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s; transition: background-color 1s, transform 1s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s, box-shadow 1s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s; transition: background-color 1s, transform 1s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s, box-shadow 1s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s, -webkit-transform 1s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s; position: relative; }
.treatment .subnav .treatment_nav a:hover, .index_treatment .treatment_nav a:hover { box-shadow: 0 0.7rem 2.2rem -0.2rem #959ba0; -webkit-transform: translateY(-0.7rem); transform: translateY(-0.7rem); transition: background-color 0.4s, box-shadow 0.6s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1); transition: background-color 0.4s, transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.6s cubic-bezier(0.165, 0.84, 0.44, 1); transition: background-color 0.4s, transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.6s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1); }
@media (max-width: 320px) { .treatment .subnav .treatment_nav a, .index_treatment .treatment_nav a { width: 8.3333333333rem; height: 6.5555555556rem; padding-top: 5rem; font-size: 1rem; } }
@media (min-width: 768px), print { .treatment .subnav .treatment_nav a, .index_treatment .treatment_nav a { padding-top: 8.0555555556rem; font-size: 1.4444444444rem; width: 14.1666666667rem; height: 11.1111111111rem; max-width: 100%; } }
.treatment .subnav .treatment_nav a::before, .index_treatment .treatment_nav a::before { position: absolute; left: 0; right: 0; margin-right: auto; margin-left: auto; top: 0; width: 100%; height: 5.2777777778rem; background-repeat: no-repeat !important; content: ''; }
@media (min-width: 768px), print { .treatment .subnav .treatment_nav a::before, .index_treatment .treatment_nav a::before { height: 8.0555555556rem; } }
.treatment .subnav .treatment_nav a.i, .index_treatment .treatment_nav a.i { background: #f3f9ca; color: #6f8e03; }
.treatment .subnav .treatment_nav a.i::before, .index_treatment .treatment_nav a.i::before { background: url("../img/treatment_nav01.png"); background-position: center top 1.5555555556rem; background-size: 3.2592592593rem 3rem; }
@media (min-width: 768px), print { .treatment .subnav .treatment_nav a.i::before, .index_treatment .treatment_nav a.i::before { background-position: center top 2.3333333333rem; background-size: 4.8888888889rem 4.5rem; } }
.treatment .subnav .treatment_nav a.j, .index_treatment .treatment_nav a.j { background: #e5f9d1; color: #2d8805; }
.treatment .subnav .treatment_nav a.j::before, .index_treatment .treatment_nav a.j::before { background: url("../img/treatment_nav02.png"); background-position: center top 1.4444444444rem; background-size: 3.2592592593rem 2.962962963rem; }
@media (min-width: 768px), print { .treatment .subnav .treatment_nav a.j::before, .index_treatment .treatment_nav a.j::before { background-position: center top 2.1666666667rem; background-size: 4.8888888889rem 4.4444444444rem; } }
.treatment .subnav .treatment_nav a.k, .index_treatment .treatment_nav a.k { background: #d4f8d5; color: #047a33; }
.treatment .subnav .treatment_nav a.k::before, .index_treatment .treatment_nav a.k::before { background: url("../img/treatment_nav03.png"); background-position: center top 1.2962962963rem; background-size: 2.5185185185rem 3.2592592593rem; }
@media (min-width: 768px), print { .treatment .subnav .treatment_nav a.k::before, .index_treatment .treatment_nav a.k::before { background-position: center top 1.9444444444rem; background-size: 3.7777777778rem 4.8888888889rem; } }
.treatment .subnav .treatment_nav a.l, .index_treatment .treatment_nav a.l { background: #d5f4df; color: #029a75; }
.treatment .subnav .treatment_nav a.l::before, .index_treatment .treatment_nav a.l::before { background: url("../img/treatment_nav04.png"); background-position: center top 1.3333333333rem; background-size: 4.6296296296rem 2.8888888889rem; }
@media (min-width: 768px), print { .treatment .subnav .treatment_nav a.l::before, .index_treatment .treatment_nav a.l::before { background-position: center top 2rem; background-size: 6.9444444444rem 4.3333333333rem; } }

.lnk { text-decoration: underline; color: #444444; }
.lnk:hover { text-decoration: none; }

body:not(.index) main a:not([class]), body:not(.index) main a.scr { text-decoration: underline; }
body:not(.index) main a:not([class]):hover, body:not(.index) main a.scr:hover { text-decoration: none; }
body:not(.index) main .anchor_link a.scr, body:not(.index) main .anchor_link_i a.scr, body:not(.index) main .anchor_link_j a.scr { text-decoration: none; }
body:not(.index) main .anchor_link a.scr:hover, body:not(.index) main .anchor_link_i a.scr:hover, body:not(.index) main .anchor_link_j a.scr:hover { text-decoration: none; }
body:not(.index) main a:not([class])[href^='tel:'] { text-decoration: none; color: #444444; }

body.index .keyvsl_area { position: relative; }
@media (min-width: 768px), print { body.index .keyvsl_area { margin-top: -13.0555555556rem; } }

body:not(.index) .keyvsl_area { position: relative; }
@media (min-width: 768px), print { body:not(.index) .keyvsl_area { margin-top: -8.0555555556rem; } }

body.index .keyvsl { background: url("../img/index_keyvsl02.png") right bottom/cover no-repeat border-box; min-height: 14.7222222222rem; padding-bottom: 1.6666666667rem; position: relative; }
@media (min-width: 768px), print { body.index .keyvsl { background: url("../img/index_keyvsl02.png") center bottom/cover no-repeat border-box; background-size: 111.1111111111rem 33.3333333333rem; min-height: 33.3333333333rem; padding-bottom: 2.2222222222rem; } }

/*body.index2 .keyvsl { background: url('../img/index_keyvsl03.png') center bottom / cover no-repeat border-box;
	min-height: rem(265);
	padding-bottom: rem(30);
	position: relative;
	@include pc {
		background-size: rem(2000) rem(600);
		min-height: rem(600);
		padding-bottom: rem(40);
	}
}*/
body:not(.index) .keyvsl { background: url("../img/keyvsl.png") center bottom/cover no-repeat border-box; position: relative; }
@media (min-width: 768px), print { body:not(.index) .keyvsl { background-size: 111.1111111111rem 25rem; } }
body:not(.index) .keyvsl_tit { display: flex; align-items: center; min-height: 14.7222222222rem; }
@media (min-width: 768px), print { body:not(.index) .keyvsl_tit { min-height: 25rem; } }
body:not(.index) .keyvsl_tit .tit_01 { padding-left: 42%; }
@media (min-width: 768px), print { body:not(.index) .keyvsl_tit .tit_01 { padding-left: 30rem; } }

.keyvsl_control { padding-top: 6.3888888889rem; }
@media (max-width: 767px) and (orientation: landscape) { .keyvsl_control { padding-left: 1.1111111111rem; } }
@media (min-width: 768px), print { .keyvsl_control { padding-top: 19.7222222222rem; } }
.keyvsl_control .announcement01 { position: absolute; right: -0.2777777778rem; bottom: -0.8333333333rem; }
@media (min-width: 768px), print { .keyvsl_control .announcement01 { right: 0; bottom: 0; } }

.keyvsl_info { display: inline-block; background: rgba(255, 255, 255, 0.7); border-radius: 20px; box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3); padding: .6rem; text-align: center; font-size: 12px; color: #5e5244; margin-bottom: 0; position: absolute; top: 55%; transform: translateY(-50%); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); right: 9rem; }
@media (min-width: 768px), print { .keyvsl_info { font-size: 24px; width: 470px; line-height: 2; top: 58%; left: 64%; right: auto; transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); } }

.announcement01 { height: 0; text-indent: 100%; white-space: nowrap; overflow: hidden; background: url("../img/announcement01.png") 50% 50%/contain no-repeat border-box; width: 5.8888888889rem; padding-top: 3.6666666667rem; margin-bottom: 0; }
@media (min-width: 768px), print { .announcement01 { width: 11.7777777778rem; padding-top: 7.3333333333rem; } }

.index_treatment { padding: 0 0.5555555556rem; }
@media (min-width: 768px), print { .index_treatment { flex: 0 1 1150px; margin: 0 auto; padding: 0 1.1111111111rem; max-width: 1150px; } }

#clinicslide, #clinicslide01 { margin-bottom: 2.7777777778rem; }
@media (min-width: 768px), print { #clinicslide, #clinicslide01 { margin-bottom: 4.4444444444rem; } }
#clinicslide img, #clinicslide p, #clinicslide01 img, #clinicslide01 p { display: none; }

.sp-layer.sp-black.sp-padding { text-align: center; font-size: 1.6666666667rem; }

.sp-selected-thumbnail { border: 4px solid #000; }

.access .section_item .flex span { display: block; }
@media (min-width: 768px), print { .access .section_item .flex { display: flex; justify-content: flex-start; align-items: flex-start; }
  .access .section_item .flex span { display: inline-block; } }
