@charset "UTF-8";
html { box-sizing: border-box; }

*, *::before, *::after { box-sizing: inherit; }

ol, ul { margin: 0; padding: 0; list-style: none; }

h1, h2, h3, h4, h5, h6 { margin: 0; padding: 0; font-weight: normal; font-size: inherit; }

img, iframe { max-width: 100%; height: auto; vertical-align: bottom; }

.cf::before, .cf::after { content: ''; display: block; }

.cf::after { clear: both; }

.fl_l { float: left; }

.fl_r { float: right; }

.txt_c { text-align: center !important; }

.txt_l { text-align: left; }

.txt_r { text-align: right; }

.bold { font-weight: bold; }

.txt_org { color: #fe9e2d; }

.img_c { display: block; max-width: 100%; height: auto; margin: 1.0rem auto; }

.img_l, .img_r { display: block; max-width: 80%; height: auto; margin: 1.0rem auto; }

.tate { max-width: 60%; }

@media screen and (min-width: 48em), print { .img_l { float: left; margin: 0 2.0rem 2.0rem 0; }
  .img_r { float: right; margin: 0 0 2.0rem 2.0rem; }
  .tate { max-width: 25% !important; } }
.sp_n { display: none !important; }

@media screen and (min-width: 48em), print { .sp_n { display: block !important; }
  .pc_n { display: none !important; } }
.mt40 { margin-top: 4.0rem; }

.mt30 { margin-top: 3.0rem; }

.mt20 { margin-top: 2.0rem; }

.mt10 { margin-top: 1.0rem; }

.main > section ~ section, .flex2 > section ~ section { margin-top: 4.0rem; }

.main > section section ~ section, .flex2 > section section ~ section { margin-top: 3.0rem; }

.main > section > section section ~ section, .flex2 > section > section section ~ section { margin-top: 2.0rem; }

.main > section > section > section section ~ section, .flex2 > section > section > section section ~ section { margin-top: 2.0rem; }

@media screen and (min-width: 48em), print { .mt40 { margin-top: 8.0rem; }
  .mt30 { margin-top: 6.0rem; }
  .mt20 { margin-top: 4.0rem; }
  .mt10 { margin-top: 2.0rem; }
  .main > section ~ section, .flex2 > section ~ section { margin-top: 8.0rem; }
  .main > section section ~ section, .flex2 > section section ~ section { margin-top: 6.0rem; }
  .main > section > section section ~ section, .flex2 > section > section section ~ section { margin-top: 4.0rem; }
  .main > section > section > section section ~ section, .flex2 > section > section > section section ~ section { margin-top: 2.0rem; } }
.tbl_time { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 1.4rem; }
.tbl_time caption { font-size: 85%; caption-side: bottom; text-align: left; margin-top: .4rem; }
.tbl_time tr th { font-weight: normal; }
.tbl_time tr th[scope="col"] { padding: .4rem 0; background: #b4b4b4; font-size: 90%; color: #fff; }
.tbl_time tr th[scope="col"]:first-child { width: 35%; }
.tbl_time tr th.time { border-bottom: 1px solid #b4b4b4; }
.tbl_time tr td { text-align: center; padding: .6rem .4rem; border-bottom: 1px solid #b4b4b4; line-height: 1.0; font-size: 80%; }

@media screen and (min-width: 48em), print { .tbl_time { table-layout: fixed; font-size: 1.8rem; }
  .tbl_time tr th[scope="col"] { padding: .6rem 0; }
  .tbl_time tr th[scope="col"]:first-child { width: 30%; }
  .tbl_time tr td { padding: 1.0rem 0; } }
.gmap { width: 100%; }
.gmap iframe { width: 100%; height: 100%; border: 1px solid #b4b4b4; }

.tit_01 { background: url(../img/tit_01.jpg) no-repeat center center/160% auto; color: #897354; font-size: 2.2rem; padding: 3.0rem 1.0rem 5.0rem; -webkit-box-shadow: 0 0.2rem 0.2rem rgba(204, 204, 204, 0.5) inset; box-shadow: 0 0.2rem 0.2rem rgba(204, 204, 204, 0.5) inset; }

.tit_02 { background: url("../img/tit_02.svg") no-repeat center center/7.6rem auto; font-size: 2.0rem; text-align: center; padding: 1.6rem 0; line-height: 1.2; margin: 0 0 2.0rem; }

.tit_03 { color: #665a49; font-size: 1.8rem; line-height: 1.2; padding: 0 0 .4rem; border-bottom: 2px solid #ddceac; margin: 0 0 2.0rem; position: relative; }
.tit_03::after { display: block; content: ''; width: 100%; height: .1rem; border-bottom: 2px solid #a58a65; position: absolute; bottom: 0; }

.tit_04 { color: #2d8a7b; font-size: 1.6rem; line-height: 1.2; padding: 0 0 .4rem; border-bottom: 2px solid #2d8a7b; margin: 0 0 2.0rem; }

@media screen and (min-width: 48em), print { .tit_01 { background: url(../img/tit_01.jpg) no-repeat center bottom/cover; font-size: 4.0rem; padding: 8.0rem 0 20.0rem; -webkit-box-shadow: 0 0.2rem 0.2rem rgba(204, 204, 204, 0.8) inset; box-shadow: 0 0.2rem 0.2rem rgba(204, 204, 204, 0.8) inset; }
  .tit_01 span { display: block; width: 1110px; margin: auto; }
  .tit_02 { font-size: 3.2rem; padding: 2.0rem 0; background: url("../img/tit_02.svg") no-repeat center center/10rem auto; margin: 0 0 3.0rem; }
  .tit_03 { font-size: 2.8rem; padding: 0 0 .8rem; border-bottom: 4px solid #ddceac; margin: 0 0 3.0rem; }
  .tit_03::after { border-bottom: 4px solid #a58a65; }
  .tit_04 { font-size: 2.6rem; border-bottom: 3px solid #2d8a7b; margin: 0 0 3.0rem; } }
.lst_ul01 > li { padding: 0 0 1.0rem 1.4em; line-height: 1.4; position: relative; }
.lst_ul01 > li:last-child { padding: 0 0 0 1.4em; }
.lst_ul01 > li::before { content: '●'; margin-right: .4rem; color: #b9e5de; position: absolute; left: 0; }
.lst_ul01.kome > li::before { content: '※'; color: #444; }

.lst_ol01 { counter-reset: number 0; margin: 1.0rem 0; }
.lst_ol01 > li { line-height: 1.4; counter-increment: number 1; padding: 0 0 1.0rem 1.8em; position: relative; }
.lst_ol01 > li:last-child { padding: 0 0 0 1.8em; }
.lst_ol01 > li::before { display: inline-block; content: counter(number,decimal-leading-zero) "."; position: absolute; left: 0; }

.lst_dl01 dt { font-weight: bold; }
.lst_dl01 dd { margin: 0 0 1.0rem; }

@media screen and (min-width: 48em), print { .lst_ol01 li { padding: 0 0 1.0rem 3.6rem; }
  .lst_ol01 li:last-child { padding: 0 0 0 3.6rem; }
  .lst_dl01 { width: 100%; display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
  .lst_dl01 dt { width: 20%; }
  .lst_dl01 dd { width: 80%; padding: 0 1.0rem; } }
.flex3 { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.flex3 > li { width: 46%; }

@media screen and (min-width: 48em), print { .flex2 { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
  .flex2 > section, .flex2 > li { width: 48%; margin: 0 !important; }
  .flex3 { -webkit-justify-content: flex-start; justify-content: flex-start; }
  .flex3 li { width: 31%; }
  .flex3 li:not(:nth-child(3n)) { margin: 0 2.0rem 0 0; } }
.tel { color: #fe9e2d; }
.tel::before { font-family: 'fontello'; content: '\e808'; }

.box_ { padding: 1.0rem; }
@media screen and (min-width: 48em), print { .box_ { padding: 2.0rem; } }

.btn_detail { display: inline-block; padding: .4rem 2.0rem; background: #42b6a3; border: 3px solid #b9e5de; color: #fff; text-decoration: none !important; }

html { font-size: calc(100vw / 32); font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic medium", "游ゴシック Medium", Meiryo, sans-serif; }

body { background: #fff; color: #444; word-wrap: break-word; }
body::after { visibility: hidden; width: 100%; height: 100%; content: ''; background: rgba(51, 51, 51, 0.6); position: fixed; top: 0; z-index: 2; opacity: 0; -webkit-transition: all .2s ease-in-out 0s; transition: all .2s ease-in-out 0s; }
body.noscr { height: 100%; overflow: hidden; }
body.noscr::after { visibility: visible; opacity: 1; }
body .bg_tree { padding: 4.0rem 1.0rem 6.0rem; background: url("../img/bg_tree.png") no-repeat right bottom/130% auto; }
body .bg_tree > .wrap .sidebar { display: none; }

a { color: inherit; text-decoration: none; }

.main { font-size: 1.4rem; line-height: 1.6; }
.main a:not([href*="tel"]) { text-decoration: underline; }
.main a[class*="btn_"] { text-decoration: none; }

@media screen and (min-width: 48em), print { html { font-size: 62.5%; }
  body { min-width: calc(1110px + 40px); }
  body::after { display: none; }
  body .bg_tree { padding: 0 0 8.0rem; background: url("../img/bg_tree.png") no-repeat center bottom/auto, url("../img/bg.png") repeat-y center top; }
  body .bg_tree > .wrap { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; }
  body .bg_tree > .wrap .sidebar { display: block; }
  a, button { transition: .2s; }
  a:hover, button:hover { opacity: .8; }
  .wrap { width: 1110px; margin: auto; }
  .main { padding: 7.0rem 0 0; font-size: 1.8rem; order: 2; width: 72%; }
  .sidebar { order: 1; width: 23%; } }
@font-face { font-family: 'fontello'; src: url("fontello/font/fontello.eot"); src: url("fontello/font/fontello.eot#iefix") format("embedded-opentype"), url("fontello/font/fontello.woff2") format("woff2"), url("fontello/font/fontello.woff") format("woff"), url("fontello/font/fontello.ttf") format("truetype"), url("fontello/font/fontello.svg#fontello") format("svg"); }
.header > .wrap { margin: 1.0rem; }
.header > .wrap .logo { height: 3.4rem; }
.header > .wrap .logo a { display: block; width: 100%; height: 100%; background: url(../img/logo.svg) no-repeat center center/contain; text-indent: 100%; white-space: nowrap; overflow: hidden; }
.header > .wrap .headC { width: 80%; margin: 1.0rem 0; text-align: center; }
.header > .wrap .headC .tel { display: inline-block; font-size: 1.8rem; padding: .4rem 1.0rem; border-top: 1px solid #fe9e2d; border-bottom: 1px solid #fe9e2d; }
.header > .wrap .headC .tel a { display: inline-block; }
.header > .wrap .headR { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-flex-wrap: wrap; flex-wrap: wrap; font-size: 1.2rem; line-height: 1.4; color: #818181; }
.header > .wrap .headR .parking { background: #fe9e2d; color: #fff; padding: .4rem 1.0rem; display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; margin: 0 0 0 1.0rem; }
.header > .wrap .headR .parking::after { font-family: 'fontello'; content: '\e88a'; font-size: 2.0rem; margin: 0 0 0 .6rem; }

@media screen and (min-width: 48em), print { .header > .wrap { margin: 1.0rem auto; display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center; }
  .header > .wrap .logo { width: 45%; height: 7.4rem; }
  .header > .wrap .headC { width: 25%; }
  .header > .wrap .headC .tel { font-size: 2.6rem; padding: .6rem 1.0rem; border-top: 2px solid #fe9e2d; border-bottom: 2px solid #fe9e2d; }
  .header > .wrap .headR { width: 30%; font-size: 1.6rem; }
  .header > .wrap .headR .parking { width: 10.0rem; line-height: 1.2; }
  .header > .wrap .headR .parking::after { font-size: 3.0rem; margin: 0; } }
.slicknav_menu { position: absolute; top: 4.2rem; right: 0; font-size: 4.4rem; display: inline-block; background: none; padding: 0; z-index: 100; }
.slicknav_menu .slicknav_btn { width: 5.0rem; height: 5.0rem; color: #6ee4d0; background: #fff; text-shadow: none; border-radius: 0; text-align: center; line-height: 1.0; margin: 0 1.0rem; padding: 0; }
.slicknav_menu .slicknav_btn.slicknav_collapsed::before { display: block; font-family: 'fontello'; content: '\e803'; line-height: .8; }
.slicknav_menu .slicknav_btn.slicknav_collapsed::after { display: block; content: 'MENU'; font-size: 1.0rem; }
.slicknav_menu .slicknav_btn.slicknav_open::before { display: block; font-family: 'fontello'; content: '\e807'; line-height: .8; }
.slicknav_menu .slicknav_btn.slicknav_open::after { display: block; content: 'CLOSE'; font-size: 1.0rem; }
.slicknav_menu .slicknav_nav { width: 94vw; max-height: 70vh; overflow-y: auto; background: #fff; padding: 1.6rem; position: absolute; top: 6.0rem; right: 1.0rem; margin: auto; }
.slicknav_menu .slicknav_nav a { color: inherit; }
.slicknav_menu .slicknav_nav .gnav { border-top: 1px solid #c1c1c1; border-bottom: 1px solid #c1c1c1; margin: 0; }
.slicknav_menu .slicknav_nav .gnav li:not(:last-child) { border-bottom: 1px solid #c1c1c1; }
.slicknav_menu .slicknav_nav .gnav li a { display: block; text-align: center; color: #444 !important; padding: 1.0rem 0; font-size: 1.6rem; margin: 0; position: relative; }
.slicknav_menu .slicknav_nav .gnav li a:hover { color: inherit; background: none; }
.slicknav_menu .slicknav_nav .sidebar { padding: 0; }
.slicknav_menu .slicknav_nav .sidebar .subnav { margin: 1.0rem 0 0; display: -webkit-flex; display: flex; -webkit-justify-content: flex-start; justify-content: flex-start; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.slicknav_menu .slicknav_nav .sidebar .subnav li { width: 49%; margin: 0 0 .5rem 0; }
.slicknav_menu .slicknav_nav .sidebar .subnav li:not(:nth-child(2n)) { margin: 0 .5rem .5rem 0; }
.slicknav_menu .slicknav_nav .sidebar .subnav li a { height: 6.0rem; padding: 0 0 0 .4rem; font-size: 1.2rem; margin: 0; background: linear-gradient(155deg, #fff 50%, #fdf7e3 51%); }
.slicknav_menu .slicknav_icon, .slicknav_menu .slicknav_icon-bar, .slicknav_menu .slicknav_arrow, .slicknav_menu .slicknav_row:after { display: none !important; }

#nav { display: none; }

@media screen and (min-width: 48em), print { .slicknav_menu { display: none; }
  #nav { display: block; border-bottom: 3px solid #ddceac; position: relative; z-index: 1; -webkit-box-shadow: 0 0.4rem 0.2rem rgba(153, 153, 153, 0.6); box-shadow: 0 0.4rem 0.2rem rgba(153, 153, 153, 0.6); }
  #nav .gnav { width: 1110px; margin: auto; display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; }
  #nav .gnav li { width: 100%; padding: 2.0rem 0 1.5rem; position: relative; border-bottom: .5rem solid transparent; transition: .2s; }
  #nav .gnav li:hover { border-bottom: .5rem solid #ddceac; }
  #nav .gnav li a { display: block; text-align: center; font-size: 2.0rem; padding: 2.0rem 0; border-left: 1px solid #c1c1c1; }
  #nav .gnav li:last-child a { border-right: 1px solid #c1c1c1; }
  #nav .sidebar { display: none; }
  .index #nav .home, .doctor #nav .doctor, .clinic #nav .clinic, .first #nav .first, .access #nav .access { border-bottom: .5rem solid #ddceac; } }
.sidebar { padding: 7.0rem 2.0rem 4.0rem 0; }
.sidebar .tit { color: #a58a65; font-weight: bold; text-align: center; padding: .8rem 0; font-size: 2.2rem; border-top: 2px solid #a58a65; border-bottom: 2px solid #a58a65; margin: 0 0 2.0rem; }
.sidebar .subnav li { margin: 0 0 1.0rem; }
.sidebar .subnav li:not(:nth-child(3n)) { margin: 0 0 1.0rem; }
.sidebar .subnav li a { height: 8.0rem; font-size: 2.0rem; line-height: 1.4; padding: 0 .6rem 0 1.6rem; font-weight: bold; color: #8f8475; border: 1px solid #ddceac; background: linear-gradient(162deg, #fff 50%, #fdf7e3 51%); display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; }
@media screen and (min-width: 48em), print { .sidebar .subnav li a:hover { color: #fe9e2d; opacity: 1; } }

@media screen and (min-width: 48em), print { .internal .sidebar .internal, .neurology .sidebar .neurology, .rehabilitation .sidebar .rehabilitation, .pediatrics .sidebar .pediatrics, .forgetfulness .sidebar .forgetfulness, .headache .sidebar .headache, .botox .sidebar .botox, .dizzy .sidebar .dizzy, .stroke .sidebar .stroke, .epilepsy .sidebar .epilepsy, .sas .sidebar .sas, .vaccination .sidebar .vaccination, .private .sidebar .private, .nonsmoking .sidebar .nonsmoking { color: #fe9e2d; } }
.overview { padding: 4.0rem 1.0rem 2.0rem; font-size: 1.4rem; line-height: 1.6; background: linear-gradient(to bottom, #e5f8f5 0%, #fff 100%); }
.overview > .wrap .overviewL .clinic_name { text-align: center; margin: 0 0 2.0rem; }
.overview > .wrap .overviewL .clinic_name img { display: block; max-width: 70%; height: auto; margin: 0 auto 1.6rem; }
.overview > .wrap .overviewL .clinic_name ul li.acs { margin: 1.0rem 0 0; }
.overview > .wrap .overviewL .tel { font-size: 150%; }
.overview > .wrap .overviewL .gaiyo { width: 100%; margin: 0; display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-wrap: wrap; flex-wrap: wrap; border-top: 1px solid #b4b4b4; }
.overview > .wrap .overviewL .gaiyo dt { width: 30%; font-size: 110%; padding: .4rem; color: #a58a65; border-bottom: 1px solid #b4b4b4; }
.overview > .wrap .overviewL .gaiyo dd { width: 70%; padding: .4rem; margin: 0; border-bottom: 1px solid #b4b4b4; }
.overview > .wrap .overviewL .tbl_time { margin: 1.6rem 0 0; }
.overview > .wrap .overviewR { margin: 2.0rem 0 0; }
.overview > .wrap .overviewR .gmap { height: 30.0rem; }

@media screen and (min-width: 48em), print { .overview { padding: 8.0rem 0; font-size: 1.8rem; }
  .overview > .wrap { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; }
  .overview > .wrap .overviewL { width: 55%; }
  .overview > .wrap .overviewL .clinic_name { display: -webkit-flex; display: flex; text-align: left; margin: 0 0 2.0rem 0; }
  .overview > .wrap .overviewL .clinic_name img { max-width: 29.0rem; margin: 0 2.0rem 0 0; }
  .overview > .wrap .overviewL .gaiyo dt { width: 20%; padding: 1.0rem 0; }
  .overview > .wrap .overviewL .gaiyo dd { width: 80%; padding: 1.0rem 0; }
  .overview > .wrap .overviewL .tbl_time { margin: 2.0rem 0 0; }
  .overview > .wrap .overviewR { width: 42%; margin: 0; }
  .overview > .wrap .overviewR .gmap { height: 100%; } }
.tel_up { width: 100%; background: #fff; visibility: hidden; position: fixed; bottom: 0; left: 0; right: 0; z-index: 1; font-size: 1.4rem; display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center; }
.tel_up .tel { display: block; text-align: center; width: 85%; font-size: 2.2rem; line-height: 1.0; }
.tel_up .pageup { cursor: pointer; }
.tel_up .pageup a { display: block; width: 4.0rem; font-size: 1.6rem; text-align: center; padding: 1.0rem .4rem; line-height: 1.0; color: #fff; background: #fe9e2d; }
.tel_up .pageup a::before { font-family: 'fontello'; content: '\e801'; }
.tel_up .pageup a span { display: none; }

@media screen and (min-width: 48em), print { .tel_up { display: block; width: 5.0rem; bottom: 4.0rem; right: 2.0rem; left: auto; background: none; padding: 0; }
  .tel_up .tel { display: none; }
  .tel_up .pageup a { width: 100%; height: 5.0rem; font-size: 2.4rem; border-radius: 50%; } }
.footer { text-align: center; padding: 0 0 3.6rem; color: #fff; background: #42b6a3; }
.footer .copy { display: block; padding: .6rem 1.0rem; font-size: 1.2rem; }
.footer .copy a { color: inherit; }
.footer ul { display: none; }

@media screen and (min-width: 48em), print { .footer { padding: 4.0rem 0 1.0rem; }
  .footer .copy { margin: 3.0rem 0 0; }
  .footer ul { display: block; width: 86.0rem; text-align: center; margin: 0 auto; }
  .footer ul li { display: inline-block; font-size: 1.4rem; margin: 0 0 1.6rem; }
  .footer ul li:not(:last-child)::after { content: '|'; margin: 0 1.0rem; }
  .footer ul li a { opacity: 1.0; }
  .footer ul li a br { display: none; }
  .footer ul li a:hover { text-decoration: underline; }
  .footer ul li.treatment { display: none; }
  .footer ul.subnav li:nth-child(8)::after { content: none; } }
#keyvsl { padding: 16.0rem 1.0rem 0; max-width: 100%; background: url(../img/index_keyvsl01.jpg) no-repeat center top/150% auto; -webkit-box-shadow: 0 0.2rem 0.2rem rgba(204, 204, 204, 0.5) inset; box-shadow: 0 0.2rem 0.2rem rgba(204, 204, 204, 0.5) inset; }
#keyvsl > .wrap .catch { text-align: center; color: #897354; line-height: 1.6; font-size: 1.4rem; }
#keyvsl > .wrap .open { width: 48%; margin: auto; background: rgba(66, 182, 163, 0.7); padding: 1.6rem 0 1.0rem .6rem; line-height: 1.4; color: #fff; font-weight: bold; font-size: 1.6rem; text-align: center; position: relative; -webkit-box-shadow: 0 0 0.2rem 0.2rem rgba(255, 255, 255, 0.1); box-shadow: 0 0 0.2rem 0.2rem rgba(255, 255, 255, 0.1); }
#keyvsl > .wrap .open::before { content: ''; display: block; width: 100%; height: 100%; background: rgba(66, 182, 163, 0.7); position: absolute; top: .5rem; left: .5rem; -webkit-box-shadow: 0 0 0.2rem 0.2rem rgba(255, 255, 255, 0.3); box-shadow: 0 0 0.2rem 0.2rem rgba(255, 255, 255, 0.3); z-index: 0; }
#keyvsl > .wrap .open > span { display: block; position: relative; z-index: 1; }

@media screen and (min-width: 48em), print { #keyvsl { height: 67.0rem; padding: 0 0 4.0rem; background: url(../img/index_keyvsl01.jpg) no-repeat center top/auto; -webkit-box-shadow: 0 0.2rem 0.2rem rgba(204, 204, 204, 0.8) inset; box-shadow: 0 0.2rem 0.2rem rgba(204, 204, 204, 0.8) inset; }
  #keyvsl > .wrap { height: 100%; display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: flex-end; align-items: flex-end; }
  #keyvsl > .wrap .catch { text-align: left; font-size: 3.2rem; text-shadow: 0 0 .6rem #fff, 0 0 .6rem #fff, 0 0 .6rem #fff, 0 0 .6rem #fff, 0 0 .6rem #fff, 0 0 .6rem #fff, 0 0 .6rem #fff, 0 0 .6rem #fff, 0 0 .6rem #fff, 0 0 .6rem #fff, 0 0 .6rem #fff, 0 0 .6rem #fff, 0 0 .6rem #fff, 0 0 .6rem #fff, 0 0 .6rem #fff; }
  #keyvsl > .wrap .open { width: 22.0rem; padding: 4.0rem 0 3.4rem .6rem; font-size: 2.6rem; margin: 0; }
  #keyvsl > .wrap .open::before { top: .8rem; left: .8rem; }
  #keyvsl > .wrap .open .small { display: inline-block; font-size: 70%; }
  #keyvsl > .wrap .open .big { font-size: 150%; } }
.info { margin: 0 0 4.0rem; }
.info dl { background: #fff; margin: 0; padding: 1.6rem 0; line-height: 1.4; border-top: 1px solid #888; border-bottom: 1px solid #888; }
.info dl dt { margin: 0 0 .6rem; color: #42b6a3; cursor: pointer; display: -webkit-flex; display: flex; }
.info dl dt::before { content: '▼'; margin-right: .6rem; }
.info dl dt.close::before { content: '▲'; }
.info dl dt:not(:first-of-type) { margin: 1.6rem 0 .6rem; }
.info dl dd { margin: 0 0 1.6rem; word-wrap: break-word; }
.info dl dd:not(:nth-of-type(-n+3)) { display: none; }

@media screen and (min-width: 48em), print { .info dl { padding: 2.0rem 0; }
  .info dl dt { margin: 0 0 1.0rem; }
  .info dl dt::before { margin-right: 1.0rem; }
  .info dl dt:not(:first-of-type) { padding: 1.6rem 0 0; }
  .info dl dd { margin: 0 0 2.0rem; } }
.feature ul { width: 95%; margin: auto; }
.feature ul li { padding: 18.0rem 1.0rem 1.0rem; margin: 0 0 2.0rem; }
.feature ul li.kakaritsuke { background: url("../img/index_feature_kakaritsuke.png") no-repeat center top 1rem/100% auto #f0fdde; border-bottom: 3px solid #d1e5b9; }
.feature ul li.senmon { background: url("../img/index_feature_senmon.png") no-repeat center top 1rem/100% auto #e1fce7; border-bottom: 3px solid #b9e5c3; }
.feature ul li.qol { background: url("../img/index_feature_qol.png") no-repeat center top 1rem/100% auto #d9fcf6; border-bottom: 3px solid #a1dfe2; }
.feature ul li.yasashi { background: url("../img/index_feature_yasashi.png") no-repeat center top 1rem/100% auto #dbf5fd; border-bottom: 3px solid #a9cbe0; }

@media screen and (min-width: 48em), print { .feature ul { width: 100%; display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
  .feature ul li { width: 48%; font-size: 1.9rem; line-height: 1.4; padding: 25.0rem 1.6rem 2.0rem; margin: 0 0 3.0rem; }
  .feature ul li:last-child, .feature ul li:nth-last-child(2) { margin: 0; }
  .feature ul li.kakaritsuke { border-bottom: 5px solid #d1e5b9; }
  .feature ul li.senmon { border-bottom: 5px solid #b9e5c3; }
  .feature ul li.qol { border-bottom: 5px solid #a1dfe2; }
  .feature ul li.yasashi { border-bottom: 5px solid #a9cbe0; } }
.aisatsu .btn_dr { display: inline-block; padding: .4rem 1.0rem; border-radius: .2rem; color: #fff; background: #42b6a3; }
.aisatsu .btn_media { margin: 3.0rem 0 0; display: block; font-size: 1.6rem; padding: .2rem; background: url("../img/btn_media.jpg") no-repeat center center/cover; border: 2px solid #a58a65; }
.aisatsu .btn_media span { display: block; text-align: center; padding: 2.0rem 6.0rem 2.0rem 1.0rem; border: 1px solid #a58a65; }

@media screen and (min-width: 48em), print { .aisatsu { line-height: 2.0; }
  .aisatsu .img_r { width: 28.0rem; }
  .aisatsu .btn_dr { padding: .4rem 2.0rem; }
  .aisatsu .btn_media { width: 63.0rem; font-size: 2.6rem; padding: .3rem; margin: 4.0rem auto 0; }
  .aisatsu .btn_media span { padding: 3.0rem 14.0rem 3.0rem 3.0rem; } }
@media screen and (min-width: 48em), print { body:not(.index) .main { margin: 0; }
  body:not(.index) .cf .img_l, body:not(.index) .cf .img_r { max-width: 40%; height: auto; } }

#clinicslide01 img, #clinicslide01 p, #clinicslide02 img, #clinicslide02 p { display: none; }

.sp-slide, .sp-mask { padding-bottom: 2.3rem; }

.sp-layer.sp-black.sp-padding { text-align: center; font-size: 2.4rem; }

.sp-selected-thumbnail { border: 4px solid #000; }

.device li { margin: 0 0 2.0rem; text-align: center; }
.device li img { display: block; margin: 0 auto .6rem; max-width: 80%; height: auto; }

@media screen and (min-width: 48em), print { .sp-slide, .sp-mask { padding-bottom: 5.3rem; }
  .device { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
  .device li { width: 48%; }
  .device li img { margin: 0 auto 1.0rem; max-width: 100%; } }
.flow section { margin: 0; padding: 1.0rem; background: #fff; border: 1px solid #42b6a3; position: relative; }
.flow section:not(:last-child) { margin: 0 0 6.0rem; }
.flow section:not(:last-child)::after { display: block; width: 0; height: 0; content: ""; position: absolute; bottom: -5.0rem; left: 0; right: 0; border-top: 2.0rem solid #b9e5de; border-right: 5.0rem solid transparent; border-bottom: 1.0rem solid transparent; border-left: 5.0rem solid transparent; margin: auto; }
.flow section .tit { font-size: 120%; color: #2d8a7b; }

@media screen and (min-width: 48em), print { .flow section { padding: 3.0rem 2.0rem 2.0rem; border: 2px solid #42b6a3; }
  .flow section:not(:last-child) { margin: 0 0 10.0rem; }
  .flow section:not(:last-child)::after { bottom: -8.0rem; border-top: 3.0rem solid #b9e5de; border-right: 10.0rem solid transparent; border-bottom: 1.0rem solid transparent; border-left: 10.0rem solid transparent; } }
.access .main .gmap { height: 30.0rem; margin: 2.0rem 0; }
@media screen and (min-width: 48em), print { .access .main .tbl_time { font-size: 2.0rem; }
  .access .main .gmap { height: 50.0rem; } }

.tbl_price { width: 100%; border-collapse: collapse; table-layout: fixed; }
.tbl_price tr th { text-align: left; font-weight: normal; background: #e6dec9; padding: .4rem 1.0rem; border: 1px solid #fff; }
.tbl_price tr td { text-align: right; padding: .4rem 1.0rem; border-bottom: 1px solid #737373; }
.tbl_price .midashi { background: #e5f8f5; }
.tbl_price.vacc { font-size: 1.2rem; }
.tbl_price.vacc tr th[scope="col"]:last-child { width: 47%; }
.tbl_price.vacc tr td { text-align: left; }

@media screen and (min-width: 48em), print { .tbl_price tr th, .tbl_price tr td { padding: 1.0rem 1.6rem; }
  .tbl_price.vacc { font-size: 1.4rem; } }
.sp_scr { width: 100%; overflow-x: auto; }
.sp_scr .tbl_price.vacc { width: 75.0rem; }

@media screen and (min-width: 48em), print { .sp_scr .tbl_price.vacc { width: 100%; } }

/*# sourceMappingURL=style.css.map */
