@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 { 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; }

.txt_l { text-align: left; }

.txt_r { text-align: right; }

.bold { font-weight: bold; }

.txt_blue { color: #7cc9eb; }

.txt_org { color: #f8bf63; }

.txt_green { color: #c1d97e; }

.notice { font-size: 85%; color: #666; }

.fontello-none:after { content: none !important; }

.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; }

@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; } }
.sp_n { display: none; }

@media screen and (min-width: 48em), print { .sp_n { display: block; }
  .pc_n { display: none; } }
.mb0 { margin-bottom: 0; }

.mb05 { margin-bottom: 0.5rem; }

.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; } }
.timetable { font-size: 1.4rem; }
.timetable .dept { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: flex-end; align-items: flex-end; font-size: 1.2rem; margin: 0 0 .4rem; }
.timetable .dept .txt_blue, .timetable .dept .txt_org { font-size: 1.8rem; font-weight: bold; line-height: 1.2; }
.timetable .tbl_time { width: 100%; border-collapse: separate; border-spacing: 0; }
.timetable .tbl_time caption { font-size: 85%; caption-side: bottom; text-align: left; margin-top: .4rem; }
.timetable .tbl_time tr th[scope="col"] { padding: .4rem 0; color: #fff; }
.timetable .tbl_time tr th:first-child { font-weight: normal; width: 35%; }
.timetable .tbl_time tr td { text-align: center; padding: .6rem .4rem; line-height: 1.0; }
.timetable .seikei_time .tbl_time { background: #ecf7fc; }
.timetable .seikei_time .tbl_time tr th[scope="col"] { background: #7cc9eb; }
.timetable .seikei_time .tbl_time tr td { color: #7cc9eb; }
.timetable .naika_time { margin: 2.0rem 0 0; }
.timetable .naika_time .tbl_time { background: #fef5e8; }
.timetable .naika_time .tbl_time tr th[scope="col"] { background: #f8bf63; }
.timetable .naika_time .tbl_time tr td { color: #f8bf63; }

@media screen and (min-width: 48em), print { .timetable { font-size: 1.8rem; }
  .timetable .dept { font-size: 1.4rem; }
  .timetable .dept .txt_blue, .timetable .dept .txt_org { font-size: 2.4rem; }
  .timetable .tbl_time { table-layout: fixed; }
  .timetable .tbl_time caption { margin-top: 1.0rem; }
  .timetable .tbl_time tr th { padding: 1.0rem 0; }
  .timetable .tbl_time tr th[scope="col"] { padding: .6rem 0; }
  .timetable .tbl_time tr th:first-child { width: 30%; }
  .timetable .tbl_time tr td { padding: 1.0rem 0; } }
.tbl_def { width: 100%; border-collapse: separate; border-spacing: 0; }
.tbl_def caption { font-size: 85%; caption-side: bottom; text-align: left; margin-top: .4rem; }
.tbl_def tr th { background: #87ba1c; color: #fff; border-right: 1px solid #Fff; border-bottom: 1px solid #Fff; }
.tbl_def tr td { background: #f5f5f5; text-align: center; padding: .6rem .4rem; border-right: 1px solid #Fff; border-bottom: 1px solid #Fff; }
.tbl_def.price tr th { text-align: left; }
.tbl_def.price tr td:last-of-type { text-align: right; }

@media screen and (min-width: 48em), print { .tbl_def { table-layout: fixed; }
  .tbl_def caption { margin-top: 1.0rem; }
  .tbl_def tr th { padding: 1.0rem; }
  .tbl_def tr td { padding: 1.0rem; } }
.gmap { width: 100%; }
.gmap iframe { width: 100%; height: 100%; border: none; }

.tit_01 { background: url(../img/tit_01.jpg) no-repeat center top/auto 100%; text-align: center; color: #4b362a; font-size: 2.2rem; padding: 4.0rem 1.0rem; margin: 0 0 3.0rem; }

.tit_02 { background: url("../img/tit_02.svg") no-repeat center bottom/10rem auto; color: #4b362a; text-align: center; font-size: 2.2rem; margin: 0 0 3.0rem; padding: 0 0 1.2rem; line-height: 1.2; }
.tit_02 span { font-size: 70%; }

.tit_03 { color: #222; background: #c1d97e; border-radius: .3rem; padding: .4rem 1.0rem; font-size: 1.8rem; line-height: 1.2; margin: 0 0 2.0rem; }

.tit_04 { color: #8bc34a; font-size: 1.6rem; line-height: 1.2; font-weight: bold; border-bottom: 2px solid #c1d97e; padding: 0 0 .4rem; margin: 0 0 2.0rem; }
.tit_04 span { font-size: 75%; }

.tit_05 { color: #222; font-weight: bold; font-size: 1.6rem; margin: 0 0 1.0rem; }

@media screen and (min-width: 48em), print { .tit_01 { background: url(../img/tit_01.jpg) no-repeat center top/auto; font-size: 3.4rem; padding: 8.0rem 4.0rem; margin: 0 0 6.0rem; }
  .tit_02 { background: url("../img/tit_02.svg") no-repeat center bottom/18rem auto; font-size: 3.4rem; padding: 0 0 3.0rem; margin: 0 0 3.0rem; }
  .tit_03 { font-size: 3.0rem; padding: .8rem 1.6rem; margin: 0 0 3.0rem; }
  .tit_04 { font-size: 2.4rem; margin: 0 0 3.0rem; }
  .tit_05 { font-size: 2.2rem; margin: 0 0 1.0rem; } }
.lst_ul01 li { text-indent: -1.8rem; padding-left: 2.2rem; padding-bottom: 1.0rem; line-height: 1.4; }
.lst_ul01 li::before { content: '●'; margin-right: .4rem; color: #a6937c; }

.lst_ol01 { counter-reset: number 0; margin: 1.0rem 0 1.0rem 2.6rem; }
.lst_ol01 > li { line-height: 1.4; counter-increment: number 1; text-indent: -1.6rem; padding: 0 0 1.0rem 1.6rem; }
.lst_ol01 > li::before { display: inline-block; content: counter(number,decimal-leading-zero) "."; color: #4b362a; font-weight: bold; margin-right: .6rem; }

.lst_dl01 dt { font-weight: bold; color: #4b362a; }
.lst_dl01 dd { margin: 0 0 1.0rem; }

@media screen and (min-width: 48em), print { .lst_ul01 li { text-indent: -2.2rem; padding-left: 2.4rem; }
  .lst_ol01 { margin: 1.0rem 0 1.0rem 3.0rem; }
  .lst_ol01 li { text-indent: -1.8rem; padding: 0 0 1.4rem 1.8rem; }
  .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: 25%; padding: 0 1.0rem; }
  .lst_dl01 dd { width: 75%; padding: 0 1.0rem; } }
.flex2_li { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.flex2_li > li { width: 48%; }

.flex3, .flex4 { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.flex3 > li, .flex4 > 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, .flex2 > .lst_ol01 { width: 48%; margin: 0 !important; }
  .flex3 { -webkit-justify-content: flex-start; justify-content: flex-start; }
  .flex3 li { width: 32%; }
  .flex3 li:not(:nth-child(3n)) { margin: 0 2.0rem 0 0; }
  .flex4 { -webkit-justify-content: flex-start; justify-content: flex-start; }
  .flex4 li { width: 23%; }
  .flex4 li:not(:nth-child(4n)) { margin: 0 2.0rem 0 0; } }
.tel::before { font-family: 'fontello'; content: '\e800'; margin: 0 .4rem 0 0; color: #c1d97e; }

.box_blue { background: #ecf7fc; padding: 1.0rem; }
@media screen and (min-width: 48em), print { .box_blue { padding: 4.0rem; } }

.box_grn { background: #f5f5f5; padding: 1.0rem; }
@media screen and (min-width: 48em), print { .box_grn { padding: 4.0rem; } }

.box_org { background: #fef5e8; padding: 1.0rem; }
@media screen and (min-width: 48em), print { .box_org { padding: 4.0rem; } }

.btn_green { display: inline-block; background: #c1d97e; color: #fff; border-radius: .6rem; padding: 1.0rem 3.0rem; border: 1px solid #c1d97e; }
.btn_green::after { font-family: 'fontello'; content: '\e801'; margin: 0 0 0 1.0rem; }
.btn_green:hover { background: #fff; color: #c1d97e; }

.btn_blue { display: inline-block; background: #7cc9eb; color: #fff; border-radius: .6rem; padding: 1.0rem 3.0rem; border: 1px solid #7cc9eb; }
.btn_blue::after { font-family: 'fontello'; content: '\e801'; margin: 0 0 0 1.0rem; }
.btn_blue:hover { background: #fff; color: #7cc9eb; }

.btn_org { display: inline-block; background: #f8bf63; color: #fff; border-radius: .6rem; padding: 1.0rem 3.0rem; border: 1px solid #f8bf63; }
.btn_org::after { font-family: 'fontello'; content: '\e801'; margin: 0 0 0 1.0rem; }
.btn_org:hover { background: #fff; color: #f8bf63; }

.btn_green02 { display: inline-block; background: #8bc34a; color: #fff; border-radius: .6rem; padding: 1.0rem 3.0rem; border: 1px solid #c1d97e; }
.btn_green02::after { font-family: 'fontello'; content: '\e801'; margin: 0 0 0 1.0rem; }
.btn_green02:hover { background: #fff; color: #c1d97e; }

.bnr_box { display: block; margin-top: 3rem; justify-content: center; }
@media screen and (min-width: 48em), print { .bnr_box { display: flex; } }
.bnr_box a { width: 100%; margin: 0 auto 1rem; text-align: center; }
@media screen and (min-width: 48em), print { .bnr_box a { width: auto; margin: 0 1rem; } }

.credit { border: 2px solid #87ba1c; }
.credit dt { background: #87ba1c; color: #fff; font-size: 1.4rem; font-weight: bold; text-align: center; padding: .6rem 0; }
.credit dd { margin: 0; padding: 1.0rem; text-align: center; }

@media screen and (min-width: 48em), print { .credit dt { font-size: 1.6rem; padding: .8rem; }
  .credit dd { padding: 1.0rem 2.0rem; } }
.flow_wrap .flow_box { position: relative; margin: 0 0 4rem; }
.flow_wrap .flow_box:last-of-type { margin: 0; }
.flow_wrap .flow_box:not(:last-of-type)::after { display: block; line-height: 1; font-size: 2rem; font-family: 'fontello'; content: '\e812'; -ms-transform: rotate(180deg); -webkit-transform: rotate(180deg); transform: rotate(180deg); width: 100%; text-align: center; color: #87ba1c; position: absolute; bottom: -3rem; left: 0; }

@media screen and (min-width: 48em), print { .flow_wrap .flow_box { margin: 0 0 8rem; }
  .flow_wrap .flow_box:not(:last-of-type)::after { font-size: 4rem; bottom: -6rem; } }
html { font-size: calc(100vw / 32); font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; }

body { background: #fff; color: #333; }
body::after { visibility: hidden; width: 100%; height: 100%; content: ''; background: rgba(0, 0, 0, 0.5); 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 { overflow: hidden; height: 100%; }
body.noscr::after { visibility: visible; opacity: 1; }

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(1200px + 40px); }
  a, button { transition: .2s; }
  a:hover, button:hover { opacity: .8; }
  .wrap { width: 1200px; margin: auto; }
  .main { font-size: 1.8rem; padding: 0; } }
@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: 6.4rem; }
.header .wrap .logo a { display: block; width: 100%; height: 100%; background: url(../img/logo.svg) no-repeat left center/contain; text-indent: 100%; white-space: nowrap; overflow: hidden; }
.header .wrap .headR { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-align-items: center; align-items: center; margin: 1.0rem 0 0; }
.header .wrap .headR .add { width: 46%; font-size: 1.0rem; }
.header .wrap .headR .tel { width: 52%; font-size: 1.8rem; }
.header .wrap .headR .tel a { display: inline-block; }
.header .wrap .headR .jiko { width: 100%; font-size: 1.3rem; text-align: center; margin: .4rem 0 0; }

@media screen and (min-width: 48em), print { .header .wrap { margin: 2.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: 37.0rem; height: 10.0rem; }
  .header .wrap .headC { width: 36.0rem; margin: 0 1.0rem 0 auto; }
  .header .wrap .headR { width: 36.0rem; text-align: center; -webkit-flex-direction: column; flex-direction: column; -webkit-justify-content: space-around; justify-content: space-around; }
  .header .wrap .headR .add { width: 100%; font-size: 1.6rem; }
  .header .wrap .headR .tel { width: 100%; font-size: 3.0rem; }
  .header .wrap .headR .jiko { font-size: 1.6rem; } }
.slicknav_menu { position: fixed; top: 2.0rem; 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: #4b362a; background: #fff; border: 1px solid #4b362a; 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: '\e804'; line-height: .8; }
.slicknav_menu .slicknav_btn.slicknav_open::after { display: block; content: 'CLOSE'; font-size: 1.0rem; }
.slicknav_menu .slicknav_nav { width: 100vw; height: calc( 100vh - 14.0rem ); background: #fff; padding: 1.6rem; position: absolute; top: 6.0rem; right: 0; overflow-y: auto; margin: auto; }
.slicknav_menu .slicknav_nav .gnav { border-top: 1px solid #e0e0e0; margin: 0; }
.slicknav_menu .slicknav_nav .gnav li { border-bottom: 1px solid #e0e0e0; }
.slicknav_menu .slicknav_nav .gnav li a { display: block; color: #4b362a !important; padding: 1.0rem 0; font-size: 1.6rem; text-align: center; position: relative; }
.slicknav_menu .slicknav_nav .gnav li a:hover { color: inherit; background: none; }
.slicknav_menu .slicknav_nav .subnav { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-wrap: wrap; flex-wrap: wrap; margin: 0; }
.slicknav_menu .slicknav_nav .subnav li { width: 50%; }
.slicknav_menu .slicknav_nav .subnav li a { margin: 0; text-align: center; padding: 1.0rem 0; font-size: 1.6rem; }
.slicknav_menu .slicknav_nav .subnav li a:hover { color: #333 !important; background: none; }
.slicknav_menu .slicknav_nav .subnav.seikei { background: #ecf7fc; }
.slicknav_menu .slicknav_nav .subnav.seikei li a { color: #7cc9eb !important; }
.slicknav_menu .slicknav_nav .subnav.seikei li:first-child { width: 100%; }
.slicknav_menu .slicknav_nav .subnav.seikei li:first-child a { background: #7cc9eb; color: #fff !important; }
.slicknav_menu .slicknav_nav .subnav.naika { background: #fef5e8; }
.slicknav_menu .slicknav_nav .subnav.naika li a { color: #f8bf63 !important; }
.slicknav_menu .slicknav_nav .subnav.naika li:first-child { width: 100%; }
.slicknav_menu .slicknav_nav .subnav.naika li:first-child a { background: #f8bf63; color: #fff !important; }
.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-top: 1px solid #e0e0e0; padding: 2.0rem 0 0; }
  #nav .gnav { width: 1200px; margin: auto; display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; }
  #nav .gnav li { padding: 0 3.0rem 0 0; display: -webkit-flex; display: flex; }
  #nav .gnav li:not(:last-child)::after { display: inline-block; content: ''; width: .1rem; height: 1.8rem; background: #e0e0e0; margin: 0 0 0 3.0rem; }
  #nav .gnav li a { display: block; text-align: center; padding: 0 0 1.4rem; font-size: 1.8rem; color: #4b362a; border-bottom: 6px solid transparent; }
  #nav .gnav li a:hover { border-bottom: 6px solid #f8bf63; opacity: 1.0; }
  #nav .subnav { display: none; }
  .index #nav .home, .doctor #nav .doctor, .treatment #nav .treatment, .facility #nav .facility, .access #nav .access { border-bottom: 6px solid #f8bf63; } }
.overview { padding: 4.0rem 1.0rem; font-size: 1.4rem; line-height: 1.6; border-top: 1px solid #e0e0e0; }
.overview .clinic_name { text-align: center; margin: 0 0 2.0rem; }
.overview .clinic_name img { max-width: 80%; height: auto; }
.overview > .wrap .overviewL .gaiyo { width: 100%; display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.overview > .wrap .overviewL .gaiyo dt { width: 27%; padding: .4rem; border-radius: .4rem; color: #fff; text-align: center; background: #a6937c; font-weight: bold; margin: 0 0 1.0rem; display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; }
.overview > .wrap .overviewL .gaiyo dd { width: 73%; padding: .4rem 0 .4rem 1.0rem; margin: 0 0 1.0rem; }
.overview > .wrap .overviewL .timetable { margin: 1.6rem 0 2.0rem; }
.overview > .wrap .overviewR { margin: 2.0rem 0 0; text-align: center; }
.overview > .wrap .overviewR .credit dt { font-size: 130%; }
.overview > .wrap .overviewR .gmap { height: 30.0rem; margin: 2.0rem 0 1.0rem; }

@media screen and (min-width: 48em), print { .overview { padding: 6.0rem 0; font-size: 1.6rem; }
  .overview .clinic_name { margin: 0 0 6.0rem; }
  .overview .clinic_name img { max-width: 38.0rem; }
  .overview > .wrap { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; }
  .overview > .wrap .overviewL, .overview > .wrap .overviewR { width: 48%; }
  .overview > .wrap .overviewL .gaiyo dt { width: 23%; padding: .6rem 0; }
  .overview > .wrap .overviewL .gaiyo dd { width: 77%; }
  .overview > .wrap .overviewL .gaiyo dd span { display: block; }
  .overview > .wrap .overviewL .timetable { margin: 2.0rem 0 0; }
  .overview > .wrap .overviewR { margin: 0; }
  .overview > .wrap .overviewR .gmap { margin: 3.0rem 0 1.0rem; height: 57.6rem; } }
.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: 80%; font-size: 2.4rem; line-height: 1.0; }
.tel_up .pageup { cursor: pointer; }
.tel_up .pageup a { display: block; width: 5.0rem; font-size: 2.6rem; text-align: center; padding: 1.0rem .4rem; line-height: 1.0; color: #fff; background: #8bc34a; }
.tel_up .pageup a::before { font-family: 'fontello'; content: '\e812'; }
.tel_up .pageup a span { display: none; }

@media screen and (min-width: 48em), print { .tel_up { display: block; width: 6.0rem; bottom: 2.0rem; right: 2.0rem; left: auto; background: none; padding: 0; }
  .tel_up .tel { display: none; }
  .tel_up .pageup a { width: 100%; height: 6.0rem; font-size: 3.6rem; border-radius: 50%; } }
.footer { padding: 1.0rem 0 0; background: #f5f5f5; font-size: 1.2rem; }
.footer .copy { display: block; margin: 1.0rem 0 0; background: #c1d97e; padding: .6rem 1.0rem 5.2rem; font-size: 1.2rem; text-align: center; }
.footer .wrap { margin: 0 1.0rem; }
.footer .wrap ul.gnav, .footer .wrap ul.subnav { display: none; }
.footer .wrap ul li { display: inline-block; line-height: 2.0; margin: 0 1.0rem 0 0; }
.footer .wrap ul li::before { content: '- '; }

@media screen and (min-width: 48em), print { .footer { padding: 2.0rem 0 0; font-size: 1.4rem; }
  .footer .copy { padding: 5.0rem 0; margin: 2.0rem 0 0; font-size: 1.4rem; }
  .footer .wrap { margin: auto; }
  .footer .wrap ul.gnav, .footer .wrap ul.subnav { display: block; }
  .footer .wrap ul li { display: inline-block; margin: 0 2.0rem 0 0; }
  .footer .wrap ul li::before { content: '- '; margin: 0 .6rem 0 0; }
  .footer .wrap ul li a { opacity: 1.0; }
  .footer .wrap ul li a:hover { text-decoration: underline; }
  .footer .wrap .shokai { border-top: 1px solid #ccc; margin: 0; padding: 2.0rem 0 0; } }
#keyvsl { margin: 1.0rem 0 0; max-width: 100%; background: url(../img/index_keyvsl01.jpg) no-repeat left top/200% auto; padding: 10.0rem 0 0; }
#keyvsl .wrap { margin: 0 1.0rem; }
#keyvsl .wrap ul li.open { width: 90%; margin: 0 auto 1.4rem; font-size: 1.4rem; text-align: center; color: #4b362a; line-height: 1.4; background: rgba(255, 255, 255, 0.8); padding: 1.0rem; }
#keyvsl .wrap ul li.catchcopy { font-size: 1.8rem; color: #4b362a; text-align: center; 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 ul li.catchcopy span { font-size: 120%; color: #87ba1c; }
#keyvsl .wrap .box_white { margin: 3.0rem 0 1.0rem; }
#keyvsl .wrap .box_white .tbl_time { line-height: 1.4; }
#keyvsl .catch { background: #c1d97e; color: #fff; font-size: 1.6rem; padding: 1.0rem; line-height: 1.4; margin: 0; }

@media screen and (min-width: 48em), print { #keyvsl { height: 69.8rem; margin: 0; padding: 0; background: url(../img/index_keyvsl01.jpg) no-repeat center top/auto; position: relative; }
  #keyvsl .wrap { margin: 0 auto; 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 ul li.open { width: 70%; margin: 0 0 2.0rem; font-size: 2.2rem; padding: 1.6rem 2.0rem; }
  #keyvsl .wrap ul li.catchcopy { font-size: 3.0rem; }
  #keyvsl .wrap .box_white { width: 38%; background: rgba(255, 255, 255, 0.9); padding: 2.0rem 2.0rem 0; margin: 2.6rem 0 0 auto; }
  #keyvsl .wrap .box_white .tbl_time { line-height: 1.4; }
  #keyvsl .catch { text-align: center; font-size: 2.4rem; padding: 2.6rem; position: absolute; bottom: 0; left: 0; right: 0; } }
.info { background: #f9f8f2; /*padding: 4.0rem 1.0rem;*/ padding: 2.0rem 1.0rem; }
.info .wrap dl { margin: 0; line-height: 1.4; }
.info .wrap dl dt { margin-bottom: .4rem; }
.info .wrap dl dt .date { font-size: 85%; color: #565656; }
.info .wrap dl dt .cat { display: inline-block; padding: 0 1.0rem; color: #565656; border: 1px solid #565656; margin: 0 0 0 1.0rem; }
.info .wrap dl dt .tit { display: block; font-weight: bold; color: #4b362a; margin: .4rem 0 0; }
.info .wrap dl dd { margin: 0 0 1.0rem; padding-bottom: 1.0rem; border-bottom: 1px solid #e5e5e5; word-wrap: break-word; }
.info .bnr { margin: 4.0rem 0 0; }
.info .bnr li { margin: 0 0 1.6rem; }
.info .bnr li a { border-radius: .3rem; }
.info .bnr li a.bnr_yobo { display: block; background: url("../img/bnr_yobo.jpg") no-repeat right center/auto 100% #8bc34a; border: 3px solid #8bc34a; text-decoration: none !important; color: #fff; font-size: 1.6rem; padding: 2.0rem 1.0rem; }
.info .bnr li a.bnr_yobo::after { font-family: 'fontello'; content: '\e801'; margin: 0 0 0 .6rem; }
.info .bnr2 { margin-bottom: 2em; text-align: center; }

@media screen and (min-width: 48em), print { .info { padding: 8.0rem 0; }
  .info .wrap { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; }
  .info .wrap .tit_02 { width: 22.0rem; text-align: left; padding: 0 0 0 1.0rem; background: url("../img/index_info_tit.svg") no-repeat left top 2rem/7rem auto; }
  .info .wrap dl { -webkit-flex: 1; flex: 1; }
  .info .wrap dl dt .tit { margin: 1.0rem 0; }
  .info .wrap dl dd { margin: 0 0 3.0rem; padding-bottom: 3.0rem; }
  .info .bnr { width: 1200px; margin: 4.0rem auto 0; display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; }
  .info .bnr li { width: 48%; margin: 0 1.6rem; }
  .info .bnr li a { border-radius: .6rem; }
  .info .bnr li a.bnr_yobo { height: 100%; font-size: 3.0rem; padding: 3.6rem 4.0rem; }
  .info .bnr li a img { border: 2px solid #96d009; border-radius: .6rem; }
  .info .bnr2 { margin-bottom: 5em; text-align: center; } }
.placenta { margin-top: 4.0rem; text-align: center; }
.placenta a { border-radius: .3rem; width: 100%; }
.placenta a.bnr_placenta { display: inline-block; border: 3px solid #8bc34a; background-color: #8bc34a; text-decoration: none !important; color: #fff; font-size: 1.5rem; padding: 1.0rem 0; }
.placenta a.bnr_placenta::after { font-family: 'fontello'; content: '\e801'; margin: 0 0 0 .6rem; }
.placenta a.bnr_placenta span { font-size: 2.0rem; }

@media screen and (min-width: 48em), print { .placenta { /*margin: 4.0rem 0 0;*/ margin-top: 4.0rem; text-align: center; }
  .placenta a { border-radius: .3rem; width: 600px; }
  .placenta a.bnr_placenta { display: inline-block; border: 3px solid #8bc34a; background-color: #8bc34a; text-decoration: none !important; color: #fff; font-size: 2.0rem; padding: 1.0rem 0; }
  .placenta a.bnr_placenta::after { font-family: 'fontello'; content: '\e801'; margin: 0 0 0 .6rem; }
  .placenta a.bnr_placenta span { font-size: 3.0rem; } }
.prp_fd_bnr { margin: 0 auto 4.0rem; }
.prp_fd_bnr a { display: block; border: 3px solid #4981be; background-color: #f3f8fe; background-image: url(../img/bnr_prp_fd_sp_bg.jpg); background-repeat: no-repeat; background-position: right -90% bottom; background-size: auto 100%; text-decoration: none !important; border-radius: .3rem; }
.prp_fd_bnr a dl { margin: 0; }
.prp_fd_bnr a dl dt { background: #4981be; color: #fff; line-height: 1.3; padding: 1rem; }
.prp_fd_bnr a dl dt span { font-size: 1.5em; font-weight: bold; padding: 0 0.2em 0 0; }
.prp_fd_bnr a dl dd { margin: 0; padding: 1rem; overflow: hidden; text-shadow: #f3f8fe 2px 0px 2px, #f3f8fe -2px 0px 2px, #f3f8fe 0px -2px 2px, #f3f8fe -2px 0px 2px, #f3f8fe 2px 2px 2px, #f3f8fe -2px 2px 2px, #f3f8fe 2px -2px 2px, #f3f8fe -2px -2px 2px, #f3f8fe 1px 2px 2px, #f3f8fe -1px 2px 2px, #f3f8fe 1px -2px 2px, #f3f8fe -1px -2px 2px, #f3f8fe 2px 1px 2px, #f3f8fe -2px 1px 2px, #f3f8fe 2px -1px 2px, #f3f8fe -2px -1px 2px, #f3f8fe 1px 1px 2px, #f3f8fe -1px 1px 2px, #f3f8fe 1px -1px 2px, #f3f8fe -1px -1px 2px; }
.prp_fd_bnr a dl dd span { float: right; display: inline-block; background: #7dc9eb; color: #fff; font-size: 0.9em; text-shadow: none; border-radius: 2em; position: relative; margin: 0.3em 0 0; padding: 0.3em 2.5em 0.3em 1em; }
.prp_fd_bnr a dl dd span::after { position: absolute; right: 1em; font-family: 'fontello'; content: '\e801'; }
@media screen and (min-width: 48em), print { .prp_fd_bnr { width: 1200px; margin: 0 auto 10.0rem; }
  .prp_fd_bnr a { background-image: url(../img/bnr_prp_fd_pc_bg.jpg); background-position: left center; border-radius: .6rem; padding: 0 0 0 20%; }
  .prp_fd_bnr a dl dt { padding: 1rem 2rem; font-size: 1.1em; letter-spacing: 0.05em; }
  .prp_fd_bnr a dl dt br { display: none; }
  .prp_fd_bnr a dl dt span { padding: 0 0.2em; }
  .prp_fd_bnr a dl dd { padding: 2rem; background-color: #f3f8fe; }
  .prp_fd_bnr a dl dd span { margin: 0; } }

.aisatsu { margin: 0 !important; padding: 4.0rem 1.0rem; background: url("../img/logo_mark.svg") no-repeat left 1rem bottom 4rem/20% auto; }
.aisatsu .name { text-align: right; }
.aisatsu .name span { font-size: 150%; }

@media screen and (min-width: 48em), print { .aisatsu { width: 1200px; margin: auto !important; padding: 8.0rem 0 16.0rem; background: url("../img/logo_mark.svg") no-repeat left bottom 8rem/20% auto; } }
.tre { margin: 4.0rem 1.0rem; }
.tre .flex2 dl { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-flex-wrap: wrap; flex-wrap: wrap; border-radius: .4rem; margin: 0; }
.tre .flex2 dl a { display: block; text-decoration: none !important; }
.tre .flex2 dl dt { width: 100%; margin: 0 0 1.0rem; }
.tre .flex2 dl dt a { color: #fff; font-weight: bold; text-align: center; padding: .6rem; font-size: 120%; border-radius: .4rem .4rem 0 0; }
.tre .flex2 dl dt a::after { font-family: 'fontello'; content: '\e801'; margin: 0 0 0 .6rem; }
.tre .flex2 dl dd { width: 46%; border-radius: .6rem; padding: 7.0rem 0 0; margin: 0 0 1.0rem; }
.tre .flex2 dl dd:nth-child(even) { margin: 0 1.0rem 1.0rem 0; }
.tre .flex2 dl dd a { height: 100%; background: #fff; padding: 1.0rem 1.0rem 0; display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; }
.tre .flex2 dl dd a .midashi { display: block; font-weight: bold; text-align: center; }
.tre .flex2 dl dd a p { margin: .6rem 0; }
.tre .flex2 dl dd a .more { display: block; text-align: center; font-size: 85%; margin: auto -1.0rem 0; padding: .4rem; color: #fff; border-radius: 0 0 .6rem .6rem; }
.tre .flex2 dl dd a .more::after { font-family: 'fontello'; content: '\e801'; margin: 0 0 0 .6rem; }
.tre .flex2 dl.seikei_area { background: #ecf7fc; }
.tre .flex2 dl.seikei_area dt a { background: #7cc9eb; }
.tre .flex2 dl.seikei_area dd.osteoporosis { background: url("../img/index_tre_kotsu.jpg") no-repeat center top/100% auto; }
.tre .flex2 dl.seikei_area dd.arthrosis { background: url("../img/index_tre_hiza.jpg") no-repeat center top/100% auto; }
.tre .flex2 dl.seikei_area dd.blockinjection { background: url("../img/index_tre_block.jpg") no-repeat center top/100% auto; }
.tre .flex2 dl.seikei_area dd.rehabilitation { background: url("../img/index_tre_riha.jpg") no-repeat center top/100% auto; }
.tre .flex2 dl.seikei_area dd a .midashi { color: #7cc9eb; }
.tre .flex2 dl.seikei_area dd a .more { background: #7cc9eb; }
.tre .flex2 dl.naika_area { background: #fef5e8; }
.tre .flex2 dl.naika_area dt a { background: #f8bf63; }
.tre .flex2 dl.naika_area dd.cardiovascular { background: url("../img/index_tre_junkan.jpg") no-repeat center top/100% auto; }
.tre .flex2 dl.naika_area dd.lifestyle { background: url("../img/index_tre_seikatsu.jpg") no-repeat center top/100% auto; }
.tre .flex2 dl.naika_area dd.wakuchin { background: url("../img/index_tre_wakuchin.jpg") no-repeat center top/100% auto; }
.tre .flex2 dl.naika_area dd.kensa { background: url("../img/index_tre_kensa.jpg") no-repeat center top/100% auto; }
.tre .flex2 dl.naika_area dd a .midashi { color: #f8bf63; }
.tre .flex2 dl.naika_area dd a .more { background: #f8bf63; }
.tre .monshin_area { margin: 4.0rem auto 0; }
.tre .monshin_area h4 { text-align: center; }
.tre .monshin_area ul li a { display: block; text-align: center; padding: 0.4rem; box-sizing: border-box; }
.tre .monshin_area ul li:last-of-type { margin: 1rem 0 0; }

@media screen and (min-width: 48em), print { .tre { width: 1200px; margin: 8.0rem auto; }
  .tre .flex2 { -webkit-align-items: flex-start; align-items: flex-start; }
  .tre .flex2 dl { width: 49%; border-radius: .8rem; }
  .tre .flex2 dl a { opacity: 1; }
  .tre .flex2 dl dt { margin: 0 0 2.0rem; }
  .tre .flex2 dl dt a { font-size: 130%; padding: 1.0rem; border-radius: .8rem .8rem 0 0; }
  .tre .flex2 dl dd { width: 45%; min-height: 32.6rem; padding: 14.0rem 0 0; margin: 0 0 2.0rem; }
  .tre .flex2 dl dd:nth-child(even) { margin: 0 2.0rem 2.0rem 0; }
  .tre .flex2 dl dd a { padding: 1.0rem 2.0rem 0; }
  .tre .flex2 dl dd a .midashi { font-size: 120%; }
  .tre .flex2 dl dd a .more { padding: 1.0rem; margin: auto -2.0rem 0; }
  .tre .flex2 dl dd a:hover .more { transition: .2s; opacity: .8; }
  .tre .monshin_area { margin: 4.0rem auto 0; }
  .tre .monshin_area p { text-align: center; }
  .tre .monshin_area ul { text-align: center; }
  .tre .monshin_area ul li { display: inline-block; margin: 0 1em; }
  .tre .monshin_area ul li a { display: inline-block; padding: 1rem; width: 12em; }
  .tre .monshin_area ul li:last-of-type { margin: 0; } }
.feature { background: #f2f5de; padding: 4.0rem 1.0rem; }
.feature .wrap ul li { padding: 20.0rem 0 0; margin: 0 0 2.0rem; }
.feature .wrap ul li span { display: block; text-align: center; color: #87ba1c; font-weight: bold; font-size: 120%; }
.feature .wrap ul li.hiza { background: url("../img/index_feature_hiza.jpg") no-repeat center top/90% auto; }
.feature .wrap ul li.josei { background: url("../img/inde_feature_josei.jpg") no-repeat center top/90% auto; }
.feature .wrap ul li.chiiki { background: url("../img/index_feature_chiiki.jpg") no-repeat center top/90% auto; }

@media screen and (min-width: 48em), print { .feature { background: #f2f5de; padding: 8.0rem 0; }
  .feature .wrap ul { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; }
  .feature .wrap ul li { width: 30%; padding: 27.0rem 0 0; margin: 0; }
  .feature .wrap ul li span { font-size: 140%; }
  .feature .wrap ul li.hiza { background: url("../img/index_feature_hiza.jpg") no-repeat center top/100% auto; }
  .feature .wrap ul li.josei { background: url("../img/inde_feature_josei.jpg") no-repeat center top/100% auto; }
  .feature .wrap ul li.chiiki { background: url("../img/index_feature_chiiki.jpg") no-repeat center top/100% auto; } }
body:not(.index) .main { margin: 0 1.0rem 6.0rem; }
@media screen and (min-width: 48em), print { body:not(.index) .main { margin: 0 0 10.0rem; } }

@media screen and (min-width: 48em), print { .cf .img_l, .cf .img_r { max-width: 40%; height: auto; } }
.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 { .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: 31%; }
  .device li img { margin: 0 auto 1.0rem; max-width: 100%; } }
#baguetteBox-overlay .full-image figcaption { font-size: 1.6rem; }
@media screen and (min-width: 48em), print { #baguetteBox-overlay .full-image figcaption { font-size: 2.0rem; } }

.treatment .main .btn_blue, .treatment .main .btn_org { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; font-size: 120%; padding: 1.0rem 2.0rem; }
.treatment .main .btn_blue::before, .treatment .main .btn_org::before { display: inline-block; content: ''; width: 3.0rem; height: 3.0rem; margin: 0 .6rem 0 0; }
.treatment .main .btn_blue.ortho::before, .treatment .main .btn_org.ortho::before { background: url("../img/icon_seikei.svg") no-repeat center top/auto 100%; }
.treatment .main .btn_blue.osteoporosis::before, .treatment .main .btn_org.osteoporosis::before { background: url("../img/icon_kotsu.svg") no-repeat center top/auto 100%; }
.treatment .main .btn_blue.arthrosis::before, .treatment .main .btn_org.arthrosis::before { background: url("../img/icon_hiza.svg") no-repeat center top/auto 100%; }
.treatment .main .btn_blue.blockinjection::before, .treatment .main .btn_org.blockinjection::before { background: url("../img/icon_block.svg") no-repeat center top/auto 100%; }
.treatment .main .btn_blue.rehabilitation::before, .treatment .main .btn_org.rehabilitation::before { background: url("../img/icon_riha.svg") no-repeat center top/auto 100%; }
.treatment .main .btn_blue.internal::before, .treatment .main .btn_org.internal::before { background: url("../img/icon_naika.svg") no-repeat center top/auto 100%; }
.treatment .main .btn_blue.cardiovascular::before, .treatment .main .btn_org.cardiovascular::before { background: url("../img/icon_junkan.svg") no-repeat center top/auto 100%; }
.treatment .main .btn_blue.lifestyle::before, .treatment .main .btn_org.lifestyle::before { background: url("../img/icon_seikatsu.svg") no-repeat center top/auto 100%; }
.treatment .main .btn_blue.wakuchin::before, .treatment .main .btn_org.wakuchin::before { background: url("../img/icon_wakuchin.svg") no-repeat center top/auto 100%; }
.treatment .main .btn_blue.kensa::before, .treatment .main .btn_org.kensa::before { background: url("../img/icon_kensa.svg") no-repeat center top/auto 100%; }
@media screen and (min-width: 48em), print { .treatment .main .btn_blue, .treatment .main .btn_org { width: 38.0rem; margin: 0 0 0 auto; }
  .treatment .main .btn_blue::before, .treatment .main .btn_org::before { width: 4.0rem; height: 4.0rem; }
  .treatment .main .btn_blue:hover { color: #fff; background: #7cc9eb; }
  .treatment .main .btn_org:hover { color: #fff; background: #f8bf63; } }

.access .main .tel { font-size: 150%; }
.access .main .gmap { height: 30.0rem; margin: 2.0rem 0; }
@media screen and (min-width: 48em), print { .access .main .gmap { height: 50.0rem; } }

.osteoporosis .main .lst_ol01 + .lst_ol01 { counter-reset: number 6; }

.covid .txt_lead { padding: 0 0 13.0rem; background: url("../img/covid_01.jpg") no-repeat right bottom/150% auto; }
@media screen and (min-width: 48em), print { .covid .txt_lead { font-size: 110%; line-height: 2.0; padding: 10.0rem 50% 10.0rem 3.0rem; background: url("../img/covid_01.jpg") no-repeat center center/auto; }
  .covid .txt_lead .tit_04 { font-size: 140%; } }

.recruit_tbl { width: 100%; border-collapse: separate; border-spacing: 0; }
.recruit_tbl tr th { background: #c1d97e; border-right: 1px solid #Fff; border-bottom: 1px solid #Fff; text-align: left; font-weight: normal; width: 20%; white-space: nowrap; padding: 0.8rem; }
.recruit_tbl tr td { background: #f5f5f5; text-align: left; padding: .6rem .4rem; border-right: 1px solid #Fff; border-bottom: 1px solid #Fff; padding: 0.8rem; }

@media screen and (min-width: 48em), print { .recruit_tbl { table-layout: fixed; }
  .recruit_tbl caption { margin-top: 1.0rem; }
  .recruit_tbl tr th { padding: 1.5rem 2rem; width: 20%; }
  .recruit_tbl tr td { padding: 1.5rem 2rem; } }

/*# sourceMappingURL=style.css.map */
