@charset "UTF-8";
/* ----------------------------------------------------------------------------------
リセット　_reset.scss
---------------------------------------------------------------------------------- */
html { -webkit-box-sizing: border-box; box-sizing: border-box; }

*, *::before, *::after { -webkit-box-sizing: inherit; 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; }

/* ----------------------------------------------------------------------------------
モジュール　_module.scss
---------------------------------------------------------------------------------- */
/* clearfix -------------------------------------- */
.cf::before, .cf::after { content: ''; display: block; }

.cf::after { clear: both; }

/* float -------------------------------------- */
.fl_l { float: left; }

.fl_r { float: right; }

/* txt -------------------------------------- */
.txt_c { text-align: center; }

.txt_l { text-align: left; }

.txt_r { text-align: right; }

.bold { font-weight: bold; }

.font_big { font-size: 1.6rem; }
@media screen and (min-width: 48em), print { .font_big { font-size: 2.0rem; } }

.sp_small { ont-size: 86%; }
@media screen and (min-width: 48em), print { .sp_small { font-size: 100%; } }

.red { color: #D90407; }

.align_items_center { -webkit-box-align: center !important; -ms-flex-align: center !important; align-items: center !important; }

/* 囲い文字 -------------------------------------- */
.frame_01 { background: #feeeef; padding: 1rem; margin-bottom: 2rem; }
@media screen and (min-width: 48em), print { .frame_01 { padding: 2.4rem 2rem 2rem; margin-bottom: 3rem; } }

.frame_02 { background: #fff6d5; padding: 1rem; margin-bottom: 2rem; }
@media screen and (min-width: 48em), print { .frame_02 { padding: 2.4rem 2rem 2rem; margin-bottom: 3rem; } }

.frame_03 { text-align: center; }

.frame_03 p, .frame_03_wrap { text-align: left; background: #fff6d5; border: 1px solid #f3c79c; padding: 1rem; margin-bottom: 2rem; border-radius: 5px; }
@media screen and (min-width: 48em), print { .frame_03 p, .frame_03_wrap { display: inline-block !important; padding: 2.4rem 2rem 2rem; margin-bottom: 1rem; font-size: 110%; } }

.frame_04 { background: #fff6d5; border: 3px solid #932e40; padding: 1rem; margin-bottom: 2rem; }
@media screen and (min-width: 48em), print { .frame_04 { padding: 2.4rem 2rem 2rem; margin-bottom: 3rem; } }

/* img -------------------------------------- */
.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; } }
/* PC・SP　表示・非表示 -------------------------------------- */
.sp_n { display: none; }

@media screen and (min-width: 48em), print { .sp_n { display: block; }
  .pc_n { display: none; } }
/* マージン・パディング回り -------------------------------------- */
.mt40 { margin-top: 4.0rem; }

.mt30 { margin-top: 3.0rem; }

.mt20 { margin-top: 2.0rem; }

.mt10 { margin-top: 1.0rem; }

.mb0 { margin-bottom: 0 !important; }

.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; } }
.color_wineRed { color: #796658 !important; }

.mt_0 { margin-top: 0rem !important; }

.mr_0 { margin-right: 0rem !important; }

.mb_0 { margin-bottom: 0rem !important; }

.ml_0 { margin-left: 0rem !important; }

.pt_0 { padding-top: 0rem !important; }

.pr_0 { padding-right: 0rem !important; }

.pb_0 { padding-bottom: 0rem !important; }

.pl_0 { padding-left: 0rem !important; }

.mt_1 { margin-top: 1rem !important; }

.mr_1 { margin-right: 1rem !important; }

.mb_1 { margin-bottom: 1rem !important; }

.ml_1 { margin-left: 1rem !important; }

.pt_1 { padding-top: 1rem !important; }

.pr_1 { padding-right: 1rem !important; }

.pb_1 { padding-bottom: 1rem !important; }

.pl_1 { padding-left: 1rem !important; }

.mt_2 { margin-top: 2rem !important; }

.mr_2 { margin-right: 2rem !important; }

.mb_2 { margin-bottom: 2rem !important; }

.ml_2 { margin-left: 2rem !important; }

.pt_2 { padding-top: 2rem !important; }

.pr_2 { padding-right: 2rem !important; }

.pb_2 { padding-bottom: 2rem !important; }

.pl_2 { padding-left: 2rem !important; }

.mt_3 { margin-top: 3rem !important; }

.mr_3 { margin-right: 3rem !important; }

.mb_3 { margin-bottom: 3rem !important; }

.ml_3 { margin-left: 3rem !important; }

.pt_3 { padding-top: 3rem !important; }

.pr_3 { padding-right: 3rem !important; }

.pb_3 { padding-bottom: 3rem !important; }

.pl_3 { padding-left: 3rem !important; }

.mt_4 { margin-top: 4rem !important; }

.mr_4 { margin-right: 4rem !important; }

.mb_4 { margin-bottom: 4rem !important; }

.ml_4 { margin-left: 4rem !important; }

.pt_4 { padding-top: 4rem !important; }

.pr_4 { padding-right: 4rem !important; }

.pb_4 { padding-bottom: 4rem !important; }

.pl_4 { padding-left: 4rem !important; }

.mt_5 { margin-top: 5rem !important; }

.mr_5 { margin-right: 5rem !important; }

.mb_5 { margin-bottom: 5rem !important; }

.ml_5 { margin-left: 5rem !important; }

.pt_5 { padding-top: 5rem !important; }

.pr_5 { padding-right: 5rem !important; }

.pb_5 { padding-bottom: 5rem !important; }

.pl_5 { padding-left: 5rem !important; }

.mt_6 { margin-top: 6rem !important; }

.mr_6 { margin-right: 6rem !important; }

.mb_6 { margin-bottom: 6rem !important; }

.ml_6 { margin-left: 6rem !important; }

.pt_6 { padding-top: 6rem !important; }

.pr_6 { padding-right: 6rem !important; }

.pb_6 { padding-bottom: 6rem !important; }

.pl_6 { padding-left: 6rem !important; }

.mt_7 { margin-top: 7rem !important; }

.mr_7 { margin-right: 7rem !important; }

.mb_7 { margin-bottom: 7rem !important; }

.ml_7 { margin-left: 7rem !important; }

.pt_7 { padding-top: 7rem !important; }

.pr_7 { padding-right: 7rem !important; }

.pb_7 { padding-bottom: 7rem !important; }

.pl_7 { padding-left: 7rem !important; }

.mt_8 { margin-top: 8rem !important; }

.mr_8 { margin-right: 8rem !important; }

.mb_8 { margin-bottom: 8rem !important; }

.ml_8 { margin-left: 8rem !important; }

.pt_8 { padding-top: 8rem !important; }

.pr_8 { padding-right: 8rem !important; }

.pb_8 { padding-bottom: 8rem !important; }

.pl_8 { padding-left: 8rem !important; }

.mt_9 { margin-top: 9rem !important; }

.mr_9 { margin-right: 9rem !important; }

.mb_9 { margin-bottom: 9rem !important; }

.ml_9 { margin-left: 9rem !important; }

.pt_9 { padding-top: 9rem !important; }

.pr_9 { padding-right: 9rem !important; }

.pb_9 { padding-bottom: 9rem !important; }

.pl_9 { padding-left: 9rem !important; }

.mt_10 { margin-top: 10rem !important; }

.mr_10 { margin-right: 10rem !important; }

.mb_10 { margin-bottom: 10rem !important; }

.ml_10 { margin-left: 10rem !important; }

.pt_10 { padding-top: 10rem !important; }

.pr_10 { padding-right: 10rem !important; }

.pb_10 { padding-bottom: 10rem !important; }

.pl_10 { padding-left: 10rem !important; }

@media screen and (min-width: 48em), print { .min_mt_0 { margin-top: 0rem !important; }
  .min_mr_0 { margin-right: 0rem !important; }
  .min_mb_0 { margin-bottom: 0rem !important; }
  .min_ml_0 { margin-left: 0rem !important; }
  .min_pt_0 { padding-top: 0rem !important; }
  .min_pr_0 { padding-right: 0rem !important; }
  .min_pb_0 { padding-bottom: 0rem !important; }
  .min_pl_0 { padding-left: 0rem !important; }
  .min_mt_1 { margin-top: 1rem !important; }
  .min_mr_1 { margin-right: 1rem !important; }
  .min_mb_1 { margin-bottom: 1rem !important; }
  .min_ml_1 { margin-left: 1rem !important; }
  .min_pt_1 { padding-top: 1rem !important; }
  .min_pr_1 { padding-right: 1rem !important; }
  .min_pb_1 { padding-bottom: 1rem !important; }
  .min_pl_1 { padding-left: 1rem !important; }
  .min_mt_2 { margin-top: 2rem !important; }
  .min_mr_2 { margin-right: 2rem !important; }
  .min_mb_2 { margin-bottom: 2rem !important; }
  .min_ml_2 { margin-left: 2rem !important; }
  .min_pt_2 { padding-top: 2rem !important; }
  .min_pr_2 { padding-right: 2rem !important; }
  .min_pb_2 { padding-bottom: 2rem !important; }
  .min_pl_2 { padding-left: 2rem !important; }
  .min_mt_3 { margin-top: 3rem !important; }
  .min_mr_3 { margin-right: 3rem !important; }
  .min_mb_3 { margin-bottom: 3rem !important; }
  .min_ml_3 { margin-left: 3rem !important; }
  .min_pt_3 { padding-top: 3rem !important; }
  .min_pr_3 { padding-right: 3rem !important; }
  .min_pb_3 { padding-bottom: 3rem !important; }
  .min_pl_3 { padding-left: 3rem !important; }
  .min_mt_4 { margin-top: 4rem !important; }
  .min_mr_4 { margin-right: 4rem !important; }
  .min_mb_4 { margin-bottom: 4rem !important; }
  .min_ml_4 { margin-left: 4rem !important; }
  .min_pt_4 { padding-top: 4rem !important; }
  .min_pr_4 { padding-right: 4rem !important; }
  .min_pb_4 { padding-bottom: 4rem !important; }
  .min_pl_4 { padding-left: 4rem !important; }
  .min_mt_5 { margin-top: 5rem !important; }
  .min_mr_5 { margin-right: 5rem !important; }
  .min_mb_5 { margin-bottom: 5rem !important; }
  .min_ml_5 { margin-left: 5rem !important; }
  .min_pt_5 { padding-top: 5rem !important; }
  .min_pr_5 { padding-right: 5rem !important; }
  .min_pb_5 { padding-bottom: 5rem !important; }
  .min_pl_5 { padding-left: 5rem !important; }
  .min_mt_6 { margin-top: 6rem !important; }
  .min_mr_6 { margin-right: 6rem !important; }
  .min_mb_6 { margin-bottom: 6rem !important; }
  .min_ml_6 { margin-left: 6rem !important; }
  .min_pt_6 { padding-top: 6rem !important; }
  .min_pr_6 { padding-right: 6rem !important; }
  .min_pb_6 { padding-bottom: 6rem !important; }
  .min_pl_6 { padding-left: 6rem !important; }
  .min_mt_7 { margin-top: 7rem !important; }
  .min_mr_7 { margin-right: 7rem !important; }
  .min_mb_7 { margin-bottom: 7rem !important; }
  .min_ml_7 { margin-left: 7rem !important; }
  .min_pt_7 { padding-top: 7rem !important; }
  .min_pr_7 { padding-right: 7rem !important; }
  .min_pb_7 { padding-bottom: 7rem !important; }
  .min_pl_7 { padding-left: 7rem !important; }
  .min_mt_8 { margin-top: 8rem !important; }
  .min_mr_8 { margin-right: 8rem !important; }
  .min_mb_8 { margin-bottom: 8rem !important; }
  .min_ml_8 { margin-left: 8rem !important; }
  .min_pt_8 { padding-top: 8rem !important; }
  .min_pr_8 { padding-right: 8rem !important; }
  .min_pb_8 { padding-bottom: 8rem !important; }
  .min_pl_8 { padding-left: 8rem !important; }
  .min_mt_9 { margin-top: 9rem !important; }
  .min_mr_9 { margin-right: 9rem !important; }
  .min_mb_9 { margin-bottom: 9rem !important; }
  .min_ml_9 { margin-left: 9rem !important; }
  .min_pt_9 { padding-top: 9rem !important; }
  .min_pr_9 { padding-right: 9rem !important; }
  .min_pb_9 { padding-bottom: 9rem !important; }
  .min_pl_9 { padding-left: 9rem !important; }
  .min_mt_10 { margin-top: 10rem !important; }
  .min_mr_10 { margin-right: 10rem !important; }
  .min_mb_10 { margin-bottom: 10rem !important; }
  .min_ml_10 { margin-left: 10rem !important; }
  .min_pt_10 { padding-top: 10rem !important; }
  .min_pr_10 { padding-right: 10rem !important; }
  .min_pb_10 { padding-bottom: 10rem !important; }
  .min_pl_10 { padding-left: 10rem !important; } }
.mx-auto { margin: auto !important; }

/* タイムテーブル -------------------------------------- */
.tbl_time { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 1.4rem; table-layout: fixed; }
.tbl_time caption { font-size: 85%; caption-side: bottom; text-align: left; margin-top: .4rem; }
.tbl_time caption span { color: #932e40; }
.tbl_time tr th { font-weight: normal; }
.tbl_time tr th[scope="col"] { padding: .4rem 0; background: #932e40; font-size: 1.2rem; color: #fff; font-weight: normal; }
.tbl_time tr th[scope="col"]:first-child { width: 35%; }
.tbl_time tr th.time { background: #fff; border-bottom: 1px solid #b5b5b5; line-height: 1; padding: .4rem .6rem; text-align: left; }
.tbl_time tr th.time span { display: block; font-size: 80%; text-align: center; }
.tbl_time tr td { text-align: center; padding: .6rem .4rem; background: #fff; color: #932e40; border-bottom: 1px solid #b5b5b5; line-height: 1.0; }

@media screen and (min-width: 48em), print { .tbl_time { font-size: 1.6rem; }
  .tbl_time caption { font-size: 1.6rem; letter-spacing: -.1rem; }
  .tbl_time tr th[scope="col"] { padding: .6rem 0; font-size: 1.6rem; }
  .tbl_time tr th[scope="col"]:first-child { width: 38%; }
  .tbl_time tr th.time span { display: inline; font-size: 100%; }
  .tbl_time tr td { padding: 1.0rem 0; } }
/* グーグルマップ -------------------------------------- */
.gmap { width: 100%; }
.gmap iframe { width: 100%; height: 100%; border: none; }

/* タイトル回り -------------------------------------- */
.tit_01 { background: url(../img/tit_01.jpg) no-repeat center top/cover; color: #7e1e2f; font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; font-size: 2.2rem; letter-spacing: .2rem; text-shadow: 0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff; padding: 3.0rem 1.0rem; margin: 0 0 1.0rem; text-align: center; position: relative; z-index: -1; }
.tit_01 svg { width: 100%; height: 5rem; position: absolute; bottom: -2rem; left: 0; }

.tit_02 { color: #932e40; font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; font-size: 2.0rem; text-align: center; margin: 0 0 1.0rem; padding: 1.0rem 0; line-height: 1.2; }
.tit_02 span:not(.bold) { font-family: 'Great Vibes', cursive; color: #cca061; font-size: 1.6rem; display: block; letter-spacing: .2rem; }

body:not(.index) .tit_02::after { content: ""; height: 2px; width: 3rem; margin: 1rem auto 0; display: block; background: #dab176; }

.tit_03 { color: #fff; font-size: 1.8rem; line-height: 1.2; margin: 0 0 1.0rem; padding: .5rem .8rem; font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; background: #932e40; }

.tit_04 { color: #85673c; font-size: 1.4rem; font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; line-height: 1.2; margin: 0 0 1.0rem; padding: 0; letter-spacing: .2rem; position: relative; }
.tit_04::before { content: ""; position: absolute; left: 0; bottom: -.3rem; width: 100%; height: 2px; background: #dab176; }
.tit_04::after { content: ""; position: absolute; left: 0; bottom: -.6rem; width: 100%; height: 1px; background: #dab176; }

.tit_05 { color: #932e40; font-size: 1.8rem; margin: 0 0 1rem; font-weight: bold; }

@media screen and (min-width: 48em), print { .tit_01 { background: url(../img/tit_01.jpg) no-repeat center top/auto auto; font-size: 3.4rem; letter-spacing: .3rem; padding: 12rem 4.0rem; margin: 0 auto 3.0rem; }
  .tit_01 svg { height: 17rem; bottom: -10rem; }
  .tit_02 { font-size: 3rem; margin: 0 0 2.0rem; letter-spacing: .3rem; }
  .tit_02 span:not(.bold) { font-size: 2rem; letter-spacing: .4rem; }
  body:not(.index) .tit_02::after { margin: 2rem auto 0; }
  .tit_03 { font-size: 2.6rem; margin: 0 0 2.0rem; padding: .8rem 1.8rem; letter-spacing: .2rem; }
  .tit_04 { font-size: 2.4rem; margin: 0 0 2.0rem; letter-spacing: .2rem; } }
/* リスト回り -------------------------------------- */
.lst_ul01 li { text-indent: -1.2rem; padding-left: 1.8rem; padding-bottom: 1.0rem; line-height: 1.8; }
@media screen and (min-width: 48em), print { .lst_ul01 li { text-indent: -1.5rem; } }
.lst_ul01 li::before { content: '●'; font-size: 60%; margin-right: .4rem; color: #932e40; vertical-align: middle; }
.lst_ul01 li.none::before { content: none; }

.lst_ol01 { margin: 1.0rem 0 1.0rem 2.6rem; line-height: 1.8; }
@media screen and (min-width: 48em), print { .lst_ol01 { margin: 1.0rem 0 1.0rem 3.0rem; } }
.lst_ol01 li { line-height: 1.4; counter-increment: number 1; text-indent: -1.0rem; padding: 0 0 1.0rem 0; }
.lst_ol01 li::before { display: inline-block; content: counter(number) "."; margin-right: .8rem; font-family: 'Lato', sans-serif; color: clr_blue; font-weight: bold; }

.lst_dl01 dt { font-weight: bold; }
.lst_dl01 dd { margin: 0 0 .6rem; }

@media screen and (min-width: 48em), print { .lst_dl01 dt { float: left; width: 15%; clear: left; }
  .lst_dl01 dd { margin: 0 0 .6rem; padding-left: 5.0rem; } }
/* フレックス回り -------------------------------------- */
.flex3 { 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; }
.flex3 > li { width: 46%; }

@media screen and (min-width: 48em), print { .flex2 { 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; }
  .flex2 > section, .flex2 > li { width: 48%; margin: 0 !important; }
  .flex3 li { width: 31%; } }
/* リンク -------------------------------------- */
.btn { display: block; margin: 0.5rem 0; }
.btn a { background: #dab176; color: #fff; text-align: center; padding: .4rem 2rem; display: inline-block; text-decoration: none !important; position: relative; }
.btn a::after { content: "\e8fd"; font-family: "fontello"; position: absolute; font-size: 1rem; top: 50%; right: .6rem; transform: translateY(-50%); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); }
@media screen and (min-width: 48em), print { .btn a { padding: .6rem 2.6rem; } }

.link_txt { font-weight: bold; color: #E0380A; text-decoration: underline; }

.anc_link { margin: 0 auto 3rem; text-align: center; }
.anc_link li { width: 90%; margin: 0 auto .4rem; }
.anc_link li a { width: 100%; font-size: 1.6rem; background: #84634d; }

@media screen and (min-width: 48em), print { .anc_link { width: 780px; margin: 0 auto 6rem; text-align: left; }
  .anc_link.center { text-align: center; }
  .anc_link li { width: auto; display: inline-block; }
  .anc_link li a { font-size: 1.8rem; } }
/* テーブル -------------------------------------- */
.tbl_01 { table-layout: fixed; border-collapse: collapse; width: 100%; }
.tbl_01 caption { caption-side: bottom; text-align: left; padding: .4rem .2rem; }
.tbl_01 tr th { width: 30%; background: #feeeef; color: #932e40; text-align: center; font-weight: bold; border: 1px solid #ccc; }
.tbl_01 tr td { padding: .8rem; border: 1px solid #ccc; }

.scroll_box { overflow: auto; }

.tbl_02 { table-layout: fixed; border-collapse: collapse; width: 600px; }
@media screen and (min-width: 48em), print { .tbl_02 { width: 80%; margin: 0; } }
.tbl_02 caption { caption-side: bottom; text-align: left; padding: .4rem .2rem; }
.tbl_02 tr th { width: 30%; background: #feeeef; color: #796658; text-align: center; font-weight: normal; border: 1px solid #ccc; }
.tbl_02 tr td { padding: .8rem; border: 1px solid #ccc; }

.price { width: 100%; margin: 0 auto; }
@media screen and (min-width: 48em), print { .price { width: 75%; margin: 0; } }
.price tr th { width: 45%; padding: .4rem .4rem; }
@media screen and (min-width: 48em), print { .price tr th { padding: .8rem 1rem; font-size: 110%; } }
.price tr th:first-child { width: 55%; }
.price tr th.tit { background: #963d50; color: #fff; padding: .4rem; font-size: 110%; }
.price tr td { width: 45%; }
.price tr td:first-child { width: 55%; }
.price ~ .price { margin-top: 3rem; }

.tbl_access { table-layout: fixed; border-collapse: separate; border-collapse: .2rem; }
.tbl_access tr th { width: 37%; background: #d9edac; text-align: center; font-weight: normal; padding: .8rem; }
.tbl_access tr td { padding: .8rem; }

@media screen and (min-width: 48em), print { .tbl_access tr th { width: 30%; } }
/* 保険診療・自費診療装飾 -------------------------------------- */
.hoken, .jihi { display: block; color: #fff; border-radius: 25px; padding: 0 .6rem; text-align: center; }

.hoken { background: #9d4252; }

.jihi { background: #dab176; }

@media screen and (min-width: 48em), print { .hoken, .jihi { display: inline; margin-left: .4rem; } }
/* ----------------------------------------------------------------------------------
共通　_common.scss
---------------------------------------------------------------------------------- */
html { font-size: calc( 100vw / 32 ); font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; }

body { background: #fff; color: #3c0009; -webkit-text-size-adjust: none; }

a { color: inherit; text-decoration: none; }

.wrap { padding: 0 1rem 0; }

.main { font-size: 1.2rem; line-height: 1.8; padding: 0 0 0; }
.main a:not([href*="tel"]) { text-decoration: underline; }
.main a[class*="btn_"] { text-decoration: none; }

#indextre ul li .nmn, #indextre ul li .victoza { display: none; }

@media screen and (min-width: 48em), print { html { font-size: 62.5%; }
  body { min-width: 1220px; }
  body > .wrap { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: nowrap; flex-wrap: nowrap; margin: 10rem auto 0; }
  a { -webkit-transition: .2s; transition: .2s; }
  a:hover { opacity: .8; }
  .wrap { width: 1200px; margin: 0 auto; }
  .main { font-size: 1.6rem; padding: 0 0 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 .logo { height: 4.0rem; margin: 1.6rem 0 2rem; }
.header .wrap .logo a { display: block; width: 100%; height: 100%; background: url(../img/logo.png) no-repeat left center/contain; text-indent: 100%; white-space: nowrap; overflow: hidden; }
.header .wrap .headC { color: #3c0009; }
.header .wrap .headC .head_address { margin: .4rem 0; font-size: 1rem; line-height: 1.2; }
.header .wrap .headC .head_time { background: #ffece6; padding: 1rem .6rem; margin: .2rem 0 1rem; font-size: 1.2rem; }
.header .wrap .headC .head_time span { border: 1px solid #932e40; padding: .1rem .4rem; margin: 0 0 .4rem; display: block; text-align: center; color: #932e40; }
.header .wrap .headC .head_time div { display: inline-block; font-size: 1.1rem; }
.header .wrap .headR { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin: 0 0 1rem; }
.header .wrap .headR > div { width: 48%; font-size: 1.4rem; font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; line-height: 1.6; }
.header .wrap .headR > div .tel { width: 100%; display: block; text-align: center; color: #fff; background: #932e40; border-radius: 3px; }
.header .wrap .headR > div .tel::before { content: "tel."; display: inline-block; font-size: 80%; }
.header .wrap .headR > div .tel > a { display: inline-block; padding: .2rem 0; }
.header .wrap .headR > div > a { width: 100%; display: block; text-align: center; color: #fff; background: #dab176; border-radius: 3px; padding: .2rem 0; }

@media screen and (min-width: 48em), print { .header { position: relative; z-index: 2; }
  .header .wrap { margin: 1.0rem auto 2rem; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
  .header .wrap .logo { width: 43%; height: 8.4rem; margin: 0; }
  .header .wrap .headC { width: 36%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
  .header .wrap .headC .head_address { text-align: center; font-size: 1.4rem; margin: 0; }
  .header .wrap .headC .head_time { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin: 0; padding: .6rem 1rem; }
  .header .wrap .headC .head_time div { font-size: 1.2rem; line-height: 1.4; }
  .header .wrap .headC .head_time span { font-size: 1.4rem; padding: .4rem .4rem; margin: 0 .6rem 0 0; }
  .header .wrap .headR { width: 15%; margin: 0; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
  .header .wrap .headR > div { width: 100%; font-size: 1.8rem; }
  .header .wrap .headR > div .tel { height: 4rem; 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; }
  .header .wrap .headR > div > a { height: 4rem; 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; } }
/* SP ドロップダウンメニュー（Slick Nav） -------------------------------------- */
.slicknav_menu { position: absolute; top: 1.0rem; right: 0; font-size: 4.4rem; display: inline-block; background: none; padding: 0; z-index: 30; }
.slicknav_menu .slicknav_btn { width: 5.0rem; height: 5.0rem; color: #fff; background: #932e40; text-shadow: none; border-radius: 0; text-align: center; line-height: 1.0; margin: 0 1.0rem; padding: 0; font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; }
.slicknav_menu .slicknav_btn.slicknav_collapsed::before { display: block; font-family: 'fontello'; content: '\e801'; 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: '\e802'; line-height: .8; }
.slicknav_menu .slicknav_btn.slicknav_open::after { display: block; content: 'CLOSE'; font-size: 1.0rem; }
.slicknav_menu .slicknav_nav { width: 100vw; background: #fef6e7; position: absolute; top: 6.0rem; right: 0; margin: auto; }
.slicknav_menu .slicknav_nav .gnav { margin: 0; }
.slicknav_menu .slicknav_nav .gnav li { border-bottom: 1px solid #932e40; }
.slicknav_menu .slicknav_nav .gnav li a { display: block; color: #932e40; padding: 1.0rem 0; font-size: 1.6rem; position: relative; }
.slicknav_menu .slicknav_nav .gnav li a span:not(.mark) { display: none; }
.slicknav_menu .slicknav_nav .gnav li a:not(.sub)::after { position: absolute; right: 1.0rem; top: 50%; transform: translateY(-50%); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); font-family: 'fontello'; content: '\e8fd'; font-size: 1.0rem; }
.slicknav_menu .slicknav_nav .gnav li a .sub::after { position: absolute; right: 1.0rem; top: 50%; transform: translateY(-50%); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); font-family: 'fontello'; content: '\e8fa'; font-size: 1.0rem; }
.slicknav_menu .slicknav_nav .gnav li a:hover { background: none; }
.slicknav_menu .slicknav_nav .gnav li.slicknav_parent a.slicknav_item { padding: 0; }
.slicknav_menu .slicknav_nav .gnav li.slicknav_parent ul li:last-child { border: none; }
.slicknav_menu .slicknav_nav .gnav li.slicknav_open > a.slicknav_item .sub::after { font-family: 'fontello'; content: '\e8fc'; }
.slicknav_menu .slicknav_nav .gnav .subnav { margin: 0; background: #feeeef; }
.slicknav_menu .slicknav_nav .gnav .subnav li:first-child { border-top: 1px solid #932e40; }
.slicknav_menu .slicknav_nav .gnav .subnav li .top_only { display: none; }
.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; background: rgba(147, 46, 64, 0.9); }
  #nav .gnav { width: 1200px; margin: auto; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
  #nav .gnav li { width: calc(100%/7); }
  #nav .gnav li a { display: block; text-align: center; font-size: 1.6rem; letter-spacing: .2rem; font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; color: #fff; padding: 1.4rem 0 .6rem; }
  #nav .gnav li a span:not(.mark) { display: block; font-family: 'Great Vibes', cursive; font-size: 1.8rem; margin: .4rem 0 0; }
  #nav .gnav li a:hover { background: #932e40; opacity: 1; }
  #nav .gnav li a .mark { position: relative; }
  #nav .gnav li a .mark::after { content: "\e8fa"; font-family: "fontello"; position: absolute; right: -2rem; top: 50%; transform: translateY(-50%); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); font-size: .6rem; }
  #nav .gnav li .subnav { width: 42rem; display: none; position: absolute; }
  #nav .gnav li .subnav li { width: 49%; float: left; border-bottom: 1px dotted #fff; border-right: 1px dotted #fff; }
  #nav .gnav li .subnav li:nth-child(even) { border-right: none; }
  #nav .gnav li .subnav li:nth-last-child(-n+2) { border-bottom: none; }
  #nav .gnav li .subnav li:nth-child(2n+1) { clear: left; }
  #nav .gnav li .subnav li a { display: block; width: 100%; background: rgba(157, 66, 82, 0.9); padding: 1.6rem 0; text-align: center; color: #fff; }
  #nav .gnav li .subnav li a span { display: none; }
  #nav .gnav li .subnav li a:hover { background: #932e40; opacity: 1; }
  #nav .gnav li .subnav li a.menstruation, #nav .gnav li .subnav li a.cosmetology { min-height: 6.8rem; line-height: 2; }
  /* Gナビ　ハイライト */
  .index #nav .home, .doctor #nav .doctor, .clinic #nav .clinic, .beginner #nav .beginner, .access #nav .access { pointer-events: none; background: #932e40; } }
/* カレンダー -------------------------------------- */
.cal { font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; }
.cal .wrap { padding: 0; }
.cal .wrap .flex { background: #f4efe4; padding: 1rem; }
.cal .wrap .flex .caledit { width: 100%; margin: 0 0 1rem; border-collapse: collapse; border-spacing: 0; color: #66444b; }
.cal .wrap .flex .caledit tr.month th { background: #932e40; }
.cal .wrap .flex .caledit tr.week th { background: #fff; border: 1px solid #eee; color: #66444b; }
.cal .wrap .flex .caledit tr td { border: 1px solid #eee; font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; }
.cal .wrap .flex .caledit tr td.open { background: #fff; }
.cal .wrap .flex .caledit tr td.notTheMonth { background: #fff; color: #fff; }
.cal .wrap .status { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; background: #f4efe4; padding: 0 1rem 1.4rem; font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; }
.cal .wrap .status li { display: inline-block; margin: 0 0 .4rem; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; color: #3c0009; }
.cal .wrap .status li::before { display: inline-block; content: ''; width: 2rem; height: 2rem; border: 1px solid #ccc; margin-right: .4rem; }
.cal .wrap .status li:not(:last-child) { margin-right: 1.0rem; }
.cal .wrap .status li.am_13::before { background: #e4f2a3; }
.cal .wrap .status li.am_14::before { background: #c895d7; }
.cal .wrap .status li.am_15::before { background: #fff0d2; }
.cal .wrap .status li.kyushin::before { background: #ffe6eb; }
.cal .wrap .status li.time_change::before { background: #d9f7fe; }

@media screen and (min-width: 48em), print { .cal .wrap { padding: 0 1rem; }
  .cal .wrap .flex { 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; width: 100%; padding: 4.5rem 7.7rem 0; }
  .cal .wrap .flex > div { width: 48%; }
  .cal .wrap .flex > div .caledit tr.month th { font-size: 2.4rem; padding: .8rem 0; }
  .cal .wrap .flex > div .caledit tr.week th { font-size: 1.8rem; padding: 1.2rem 0; }
  .cal .wrap .flex > div .caledit tr td { font-size: 1.8rem; padding: 1.2rem 0; }
  .cal .wrap .status { width: 100%; padding: 0 7.7rem 3.5rem; }
  .cal .wrap .status li.kyushin { margin-right: 2.2rem; font-size: 1.8rem; }
  .cal .wrap .status li.am { font-size: 1.6rem; } }
/* クリニック概要 -------------------------------------- */
.overview { padding: 2.0rem 1.0rem 4.0rem; font-size: 1.2rem; line-height: 1.6; background: #fef9ef; }
.overview .clinic_name { text-align: center; margin: 0 0 2.0rem; }
.overview .clinic_name img { max-width: 80%; height: auto; }
.overview .footer_address { color: #3c0009; }
.overview > .wrap .overviewL .tel_rsv { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; }
.overview > .wrap .overviewL .tel_rsv .tel_item { width: 48%; text-align: center; color: #fff; background: #932e40; padding: .2rem 0; border-radius: 3px; }
.overview > .wrap .overviewL .tel_rsv .tel_item::before { content: "tel."; display: inline-block; margin-right: .2rem; font-size: 80%; letter-spacing: .1rem; }
.overview > .wrap .overviewL .tel_rsv > a { width: 48%; text-align: center; text-decoration: none !important; color: #fff; background: #dab176; border-radius: 3px; padding: .2rem 0; }
.overview > .wrap .overviewL .comment { padding: 1rem; text-align: center; color: #932e40; border: 1px solid #932e40; border-radius: 3px; }
.overview > .wrap .overviewL .tbl_gaiyo { width: 100%; border-collapse: collapse; color: #3c0009; }
.overview > .wrap .overviewL .tbl_gaiyo th { width: 27%; text-align: left; padding: .4rem; font-weight: bold; }
.overview > .wrap .overviewL .tbl_gaiyo td { padding: .4rem; }
.overview > .wrap .overviewL .tbl_time { margin: 1.6rem 0; }
.overview > .wrap .overviewR { margin: 2.0rem 0 0; }
.overview > .wrap .overviewR .gmap { text-align: right; }
.overview > .wrap .overviewR .btn_map { text-align: center; display: block; margin: .4rem 0 1rem; }
.overview > .wrap .overviewR .btn_map a { display: inline-block; background: #932e40; border-radius: 3px; color: #fff; padding: .2rem 1rem; font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; }
.overview > .wrap .overviewR .btn_map a::before { content: "▶"; font-size: .8rem; margin-right: .4rem; color: #fff; vertical-align: middle; }
.overview .cal { margin-top: 3rem; }
.overview .bnr_area { margin: 2rem auto 0; padding: 0 1rem; }
.overview .bnr_area > li:not(:last-child) { margin-bottom: 1rem; }
.overview .bnr_area > li a { display: block; }

@media screen and (min-width: 48em), print { .overview { margin: 0 0 0; padding: 6.0rem 0 6rem; font-size: 1.6rem; }
  .overview .clinic_name { margin: 0; }
  .overview .clinic_name img { max-width: 50.0rem; }
  .overview .footer_address { margin: 0 0 1rem; text-align: center; }
  .overview > .wrap { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
  .overview > .wrap .overviewL, .overview > .wrap .overviewR { width: 48%; }
  .overview > .wrap .overviewL { padding: 0 0; }
  .overview > .wrap .overviewL .tel_rsv { font-size: 2.4rem; }
  .overview > .wrap .overviewL .tel_rsv .tel_item { padding: .8rem 0; pointer-events: none; }
  .overview > .wrap .overviewL .tel_rsv > a { padding: .8rem 0; }
  .overview > .wrap .overviewL .comment { padding: 1rem 0; line-height: 1.6; letter-spacing: .1rem; }
  .overview > .wrap .overviewL .tbl_gaiyo th { padding: 0 0 1.4rem; width: 18%; vertical-align: top; }
  .overview > .wrap .overviewL .tbl_gaiyo td { padding: 0 0 1.4rem; }
  .overview > .wrap .overviewR { padding: 0 0; }
  .overview > .wrap .overviewR .gmap iframe { height: 45.5rem; }
  .overview > .wrap .overviewR .btn_map { margin: 2.4rem 0 0; }
  .overview > .wrap .overviewR .btn_map a { padding: 1rem 6rem; font-size: 2.4rem; letter-spacing: .1rem; }
  .overview .cal { margin-top: 0; margin-bottom: 5rem; padding: 0; }
  .overview .bnr_area { margin: 2rem auto; width: 1200px; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; gap: 1rem; }
  .overview .bnr_area li:not(:last-child) { margin-bottom: auto; }
  .overview .bnr_area li img { width: auto; height: 10.3rem; }
  .overview .bnr_area.justify_ini { -webkit-box-pack: initial; -ms-flex-pack: initial; justify-content: initial; } }
/* フッター -------------------------------------- */
#pageup { display: none; position: fixed; bottom: 7.0rem; right: 1.0rem; z-index: 31; cursor: pointer; }
#pageup a { width: 5.0rem; height: 5.0rem; font-size: 1.2rem; text-align: center; padding: .4rem; background: #fff; border-radius: 50%; border: 1px solid #932e40; color: #932e40; 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; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
#pageup a::before { text-align: center; font-size: 1rem; font-family: 'fontello'; content: '\e8fc'; color: #932e40; margin-bottom: .6rem; }
#pageup a span { display: none; }

@media screen and (min-width: 48em), print { #pageup a { width: 6.4rem; height: 6.4rem; font-size: 1.2rem; }
  #pageup a::before { font-size: 1rem; } }
.f_tel_rsv { width: 100%; visibility: hidden; position: fixed; bottom: 0; left: 0; right: 0; z-index: 30; font-size: 1.4rem; border-top: 2px solid #fff; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.f_tel_rsv li { width: 33%; width: calc(100% / 3); list-style: none; font-size: 1.2rem; font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; text-align: center; }
.f_tel_rsv li:not(:last-of-type) { border-right: 2px solid #fff; }
.f_tel_rsv li a { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; width: 100%; height: 6rem; color: #fff; }
.f_tel_rsv li a::before { display: inline-block; margin-bottom: 0.3rem; font-family: "fontello"; font-size: 2.2rem; }
.f_tel_rsv li.telnum { background: #932e40; }
.f_tel_rsv li.telnum a::before { content: "\f2a0"; }
.f_tel_rsv li.rsv { background: #daaf70; }
.f_tel_rsv li.rsv a::before { content: "\f274"; }
.f_tel_rsv li.online { background: #6c504e; }
.f_tel_rsv li.online a::before { content: "\e800"; }

@media screen and (min-width: 48em), print { .f_tel_rsv { display: none !important; } }
.footer { text-align: center; padding: 0 0 5rem; }
.footer .copy { display: block; background: #932e40; color: #fff; padding: 1.6rem .4rem 2.6rem; font-size: 1.2rem; }
.footer ul { display: none; }

@media screen and (min-width: 48em), print { .footer { padding: 4rem 0 0; }
  .footer .copy { padding: 1.8rem 0; font-size: 1.6rem; }
  .footer ul { display: block; text-align: center; margin: 0 auto 0; }
  .footer ul ~ ul { margin: 1rem auto 2.4rem; }
  .footer ul li { display: inline-block; font-size: 1.6rem; }
  .footer ul li:not(:last-child)::after { content: '|'; margin: 0 .3rem; }
  .footer ul li a { opacity: 1.0; }
  .footer ul li a span { display: none; }
  .footer ul li a:hover { text-decoration: underline; }
  .footer ul li.treatment { display: none; }
  .footer ul li .top_only { display: none; } }
/* ----------------------------------------------------------------------------------
トップ　_top.scss
---------------------------------------------------------------------------------- */
/* キービジュアル -------------------------------------- */
#keyvsl { position: relative; overflow: hidden; }
#keyvsl .bg { background: url(../img/index_keyvsl01.jpg) no-repeat center top/cover; height: 24rem; margin: 0 0 13rem; }
#keyvsl .bg .wrap { position: relative; height: 100%; width: 100%; padding: 12rem 1rem 0; }
#keyvsl .bg .wrap .copy { width: 60%; color: #fff; text-align: center; font-size: 1.4rem; font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; line-height: 1.4; margin: 0 auto 0 0; letter-spacing: .1rem; text-shadow: 0px 0px 1px black, 0px 0px 1px black, 0px 0px 2px rgba(0, 0, 0, 0.9), 0px 0px 2px rgba(0, 0, 0, 0.9), 0px 0px 2px rgba(0, 0, 0, 0.9), 0px 0px 3px rgba(0, 0, 0, 0.8), 0px 0px 4px rgba(0, 0, 0, 0.8), 0px 0px 6px rgba(0, 0, 0, 0.8); }
#keyvsl .bg .wrap .copy span { display: block; font-size: 1.2rem; }
#keyvsl .bg .wrap .copy span::before { content: ""; display: block; width: 100%; height: 2rem; margin: .4rem auto; background: url("../img/index_kv_parts03.png") no-repeat center/contain; }
#keyvsl svg { width: 100%; height: 3rem; position: absolute; top: 22rem; }
#keyvsl .kv_info { width: 100%; padding: 0 1rem; position: absolute; bottom: -1rem; z-index: 11; 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; }
#keyvsl .kv_info p { width: 40%; height: 11rem; font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; color: #fff; text-align: center; font-size: 1.6rem; letter-spacing: .1rem; line-height: 1.4; display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
#keyvsl .kv_info p.info_01 { background: url("../img/index_kv_parts01.png") no-repeat center/contain; }
#keyvsl .kv_info p.info_02 { background: url("../img/index_kv_parts02.png") no-repeat center/contain; }
#keyvsl .kv_info p.info_02 a { display: block; }
#keyvsl .kv_info p.info_02 a::after { content: "\e8e5"; color: #ffd292; font-family: "fontello"; display: block; text-shadow: 0px 1px 4px #5d1f2a, 0px 1px 4px #5d1f2a, 0px 1px 4px #5d1f2a; }
#keyvsl .kv_info p .txt_large { font-size: 140%; line-height: 1; }

@media screen and (min-width: 48em), print { #keyvsl { margin: -6rem auto 0; padding: 0; }
  #keyvsl .bg { background: url(../img/index_keyvsl01.jpg) no-repeat center top/auto auto; height: 77rem; }
  #keyvsl .bg .wrap { width: 1200px; padding: 6rem 1rem; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
  #keyvsl .bg .wrap .copy { font-size: 2.6rem; letter-spacing: 1rem; line-height: 1.8; padding-top: 33rem; width: 30%; text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.6), 0px 0px 2px rgba(0, 0, 0, 0.6), 0px 0px 2px rgba(0, 0, 0, 0.6), 0px 0px 4px rgba(0, 0, 0, 0.6), 0px 0px 6px rgba(0, 0, 0, 0.6), 0px 0px 8px rgba(0, 0, 0, 0.5), 0px 0px 10px rgba(0, 0, 0, 0.5); }
  #keyvsl .bg .wrap .copy span { font-size: 2rem; letter-spacing: .4rem; }
  #keyvsl .bg .wrap .copy span::before { height: 1.8rem; margin: 1.6rem auto; }
  #keyvsl svg { width: 100%; height: 17rem; top: 68rem; }
  #keyvsl .kv_info { width: 1200px; bottom: 0; left: 0; right: 0; margin: auto; }
  #keyvsl .kv_info p { font-size: 2rem; letter-spacing: .3rem; position: absolute; right: 0; }
  #keyvsl .kv_info p.info_01 { background: url("../img/index_kv_parts01.png") no-repeat center/auto auto; height: 15rem; width: 15rem; right: 19rem; bottom: 8rem; z-index: 1; }
  #keyvsl .kv_info p.info_02 { background: url("../img/index_kv_parts02.png") no-repeat center/auto auto; height: 21rem; width: 21rem; bottom: 7rem; }
  #keyvsl .kv_info p.info_02 a::after { margin: .8rem 0 0; font-size: 160%; } }
/* バナーエリア -------------------------------------- */
.bnr_area .two_item { margin: 1rem 0 1rem; }
.bnr_area .two_item li { margin: 0 0 1rem; }
.bnr_area .four_item { 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; }
.bnr_area .four_item li { width: 48%; margin: 0 0 1rem; }

@media screen and (min-width: 48em), print { .bnr_area { position: relative; z-index: 30; margin: -6rem 0 8rem; }
  .bnr_area .two_item { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
  .bnr_area .two_item li { width: 48%; }
  .bnr_area .four_item li { width: 23%; }
  .calc3 li { width: calc(100% / 3 - 2rem) !important; } }
/* 当クリニックの感染症対策 -------------------------------------- */
.counter { padding: 2rem 0; background: url("../img/index_counter_bg.jpg") no-repeat bottom center/contain; }
.counter .flex { font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; }
.counter .flex > div .tit { color: #fff; font-size: 120%; text-align: center; padding: .8rem 0; margin: 0; }
.counter .flex > div ul { padding: 1rem; }
.counter .flex > div ul li { color: #3c0009; margin-bottom: .4rem; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.counter .flex > div ul li::before { font-family: "fontello"; display: inline-block; width: 3rem; height: 3rem; font-size: 1.8rem; line-height: 1.8; text-align: center; border-radius: 50%; background: #222; margin: 0 .4rem 0 0; color: #fff; }
.counter .flex > div ul li.item_01::before { content: "\e8ee"; }
.counter .flex > div ul li.item_02::before { content: "\e8e8"; }
.counter .flex > div ul li.item_03::before { content: "\e8e9"; }
.counter .flex > div ul li.item_04::before { content: "\e8ea"; }
.counter .flex > div ul li.item_05::before { content: "\e8eb"; }
.counter .flex > div ul li.item_06::before { content: "\e8ef"; }
.counter .flex > div ul li.item_07::before { content: "\e8e6"; }
.counter .flex > div ul li.item_08::before { content: "\ea03"; }
.counter .flex > div.counter_01 { margin-bottom: 1rem; }
.counter .flex > div.counter_01 .tit { background: #dab176; }
.counter .flex > div.counter_01 ul { background: rgba(254, 244, 225, 0.8); }
.counter .flex > div.counter_01 ul li::before { background: #dab176; }
.counter .flex > div.counter_02 .tit { background: #932e40; }
.counter .flex > div.counter_02 ul { background: rgba(254, 234, 235, 0.8); }
.counter .flex > div.counter_02 ul li::before { background: #932e40; }

@media screen and (min-width: 48em), print { .counter { padding: 0 0 5.6rem; }
  .counter .flex { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
  .counter .flex > div { width: 48%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
  .counter .flex > div .tit { font-size: 2.4rem; padding: 2rem 0; letter-spacing: .2rem; }
  .counter .flex > div ul { height: 100%; padding: 3.6rem 3rem 5.4rem; }
  .counter .flex > div ul li { font-size: 2rem; letter-spacing: .1rem; margin-bottom: 2rem; }
  .counter .flex > div ul li::before { min-width: 6rem; height: 6rem; margin-right: 2rem; font-size: 3.6rem; line-height: 1.7; }
  .counter .flex > div ul li.item_08::before { position: relative; top: -4rem; }
  .counter .flex > div.counter_01 { margin-bottom: 0; } }
/* PICK UP情報 -------------------------------------- */
.pickup { padding: 4.0rem 0 4rem; background: #932e40; }
.pickup div.frame_p { padding: 1rem; background: #feeaeb; border-radius: .4rem; }
.pickup div p { text-align: left; }
.pickup .tit_02 { letter-spacing: 15px; }

@media screen and (min-width: 48em), print { .pickup { padding: 3rem 0 4rem; }
  .pickup .wrap { margin: 0 auto 0; }
  .pickup div.frame_p { padding: 2rem 4.5rem; }
  .pickup div p { text-align: center; }
  .pickup .tit_02 { letter-spacing: 5px; } }
/* お知らせ -------------------------------------- */
.info { padding: 4.0rem 0 4rem; background: #fef9ef; }
.info dl { margin: 0; line-height: 1.4; padding: 0; height: 100%; }
.info dl dt { font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; color: #3c0009; padding: 0 0 0 1em; }
.info dl dt span { position: relative; margin-bottom: .4rem; font-weight: bold; color: #932e40; font-size: 110%; cursor: pointer; display: table; }
.info dl dt span:hover { opacity: .8; }
.info dl dt span::before { content: "\e8fa"; font-family: "fontello"; display: inline-block; position: absolute; left: -1.2rem; top: .2rem; color: #dab176; font-size: 1rem; }
.info dl dt.close span::before { content: "\e8fc"; font-family: "fontello"; display: inline-block; position: absolute; left: -1.2rem; top: .2rem; color: #dab176; font-size: 1rem; }
.info dl dd { padding: 0 0 1.0rem; margin: 0; }
.info dl dd:nth-of-type(n+4) { display: none; }
.info dl dd p { margin: 0; }

@media screen and (min-width: 48em), print { .info { padding: 3rem 0 4rem; }
  .info .wrap { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; margin: 0 auto 0; }
  .info .wrap .tit_02 { width: 20%; }
  .info .wrap dl { width: 77%; padding: 1.4rem; }
  .info .wrap dl dt { padding: 0; margin-top: 1.8rem; }
  .info .wrap dl dt span { font-size: 2rem; letter-spacing: .2rem; }
  .info .wrap dl dt span::before { left: -2.4rem; top: .6rem; width: 5rem; }
  .info .wrap dl dt:first-child { margin-top: 0; }
  .info .wrap dl dd { margin-bottom: 4.6rem; font-size: 1.6rem; letter-spacing: .2rem; line-height: 1.6; }
  .info .wrap dl dd:last-child { margin-bottom: 0; } }
/* 特長 -------------------------------------- */
.feature { padding: 4rem 0 4rem; background: url("../img/index_feature_bg01.jpg") no-repeat top/cover; }
.feature .tit_02 { color: #fff; }
.feature .tit_02 span { color: #fff; }
.feature ul { counter-reset: treatment_number; }
.feature ul li { margin: 5rem auto 0; counter-increment: treatment_number 1; position: relative; }
.feature ul li img { width: 42%; position: absolute; left: 1.4rem; top: -1.8rem; z-index: 5; }
.feature ul li > div { width: 100%; background: #fff; padding: 1rem; position: relative; z-index: 1; }
.feature ul li > div::before { content: counter(treatment_number) ""; font-family: 'Great Vibes', cursive; color: #b18f5e; font-size: 6rem; line-height: 1; display: inline-block; width: 2rem; margin: auto; text-align: center; position: absolute; right: -13rem; left: 0; top: -2rem; text-shadow: #fff 2px 0px, #fff -2px 0px, #fff 0px -2px, #fff 0px 2px, #fff 2px 2px, #fff -2px 2px, #fff 2px -2px, #fff -2px -2px, #fff 1px 2px, #fff -1px 2px, #fff 1px -2px, #fff -1px -2px, #fff 2px 1px, #fff -2px 1px, #fff 2px -1px, #fff -2px -1px; }
.feature ul li > div p { margin: 0; color: #3c0009; width: 100%; }
.feature ul li > div p.tit { text-align: center; font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; color: #7c1426; margin: 0 0 .6rem auto; padding: 3rem 0 0; font-size: 120%; width: 48%; height: 9rem; }
.feature .comment { text-align: center; color: #fff; font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; border-bottom: 1px solid #fff; padding: 1rem 0; position: relative; }
.feature .comment::before { content: ""; margin: 0 auto; display: block; width: 8rem; height: 3rem; background: url("../img/index_feature_line01.jpg.png") no-repeat center/contain; }
.feature .comment::after { content: ""; display: block; position: absolute; top: 2.5rem; left: 0; width: 100%; height: 1px; background: -webkit-gradient(linear, left top, right top, color-stop(34%, #fff), color-stop(34%, transparent), color-stop(66%, transparent), color-stop(66%, #fff)); background: linear-gradient(to right, #fff 34%, transparent 34%, transparent 66%, #fff 66%); }

@media screen and (min-width: 48em), print { .feature { padding: 4rem 0 2rem; background: url("../img/index_feature_bg01.jpg") no-repeat center top/auto auto; }
  .feature .wrap { padding: 0 0; }
  .feature .wrap ul { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; padding: 0 1rem; margin-top: 17.5rem; }
  .feature .wrap ul li { width: 23.5%; padding: 0 1.8rem; }
  .feature .wrap ul li img { width: 100%; top: -20rem; left: 0; right: 0; margin: auto; z-index: 1; }
  .feature .wrap ul li > div { left: 0; right: 0; top: 0; margin: auto; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; height: 100%; padding: 1rem 2rem 1rem; letter-spacing: .1rem; }
  .feature .wrap ul li > div::before { left: 0; right: 0; top: -3rem; margin: auto; text-align: center; }
  .feature .wrap ul li > div p.tit { width: 100%; height: 8rem; font-size: 2rem; line-height: 1.3; padding: 1.8rem 0 0; }
  .feature .comment { font-size: 2rem; padding: 1rem 0 2rem; }
  .feature .comment::before { width: 18rem; height: 4rem; margin: 0 auto 3rem; }
  .feature .comment::after { top: 4rem; background: -webkit-gradient(linear, left top, right top, color-stop(42%, #fff), color-stop(42%, transparent), color-stop(58%, transparent), color-stop(58%, #fff)); background: linear-gradient(to right, #fff 42%, transparent 42%, transparent 58%, #fff 58%); } }
/* ごあいさつ -------------------------------------- */
.greeting { background: url("../img/index_greeting_bg01.png") repeat-x top -6rem left/100%, url("../img/index_greeting_bg02.png") repeat-x bottom -6rem left/100%, #fef9ef; padding: 4rem 0; }
.greeting .flex { color: #3c0009; }
.greeting .flex img { display: block; margin: 0 auto; width: 80%; }
.greeting .flex .txt_r { font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; font-weight: bold; }

@media screen and (min-width: 48em), print { .greeting { background: url("../img/index_greeting_bg01.png") repeat-x top -23rem center/auto auto, url("../img/index_greeting_bg02.png") repeat-x bottom -23rem center/auto auto, #fef9ef; padding: 6rem 0; }
  .greeting .flex { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
  .greeting .flex img { width: 22%; margin: 2rem auto 0; }
  .greeting .flex > div { width: 68%; }
  .greeting .flex > div p { font-size: 1.6rem; letter-spacing: .1rem; line-height: 1.8; }
  .greeting .flex > div p.txt_r { font-size: 1.8rem; margin-top: 3rem; } }
/* 診療内容 -------------------------------------- */
.tre { padding: 4rem 0 4rem; background: url("../img/index_tre_bg01.jpg") no-repeat top right 120%/120%; }
.tre .wrap { padding: 0; }
.tre .wrap ul { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-flex-wrap: wrap; flex-wrap: wrap; }
.tre .wrap ul li { width: 49%; }
.tre .wrap ul li a { display: block; text-decoration: none !important; text-align: center; position: relative; z-index: 2; width: 100%; height: 16rem; padding: 3rem 0 0; color: #fff; font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; line-height: 1.2; }
.tre .wrap ul li a::before { content: "\e8f4"; font-family: "fontello"; font-size: 4.4rem; display: block; margin: 0 auto .6rem; line-height: 1.2; }
.tre .wrap ul li a.milena::before { content: "\e9e2"; }
.tre .wrap ul li a.abortion_surgery::before { content: "\e8f2"; }
.tre .wrap ul li a.pill::before { content: "\e8f7"; }
.tre .wrap ul li a.abnormal_vaginal_discharge::before { font-size: 3rem; content: "\e9e1"; }
.tre .wrap ul li a.menstruation::before { content: "\e8f6"; }
.tre .wrap ul li a.menopause::before { content: "\e8f8"; }
.tre .wrap ul li a.various_examinations::before { content: "\e8f4"; }
.tre .wrap ul li a.cosmetology::before { content: "\e8f5"; }
.tre .wrap ul li a::after { content: ""; background: url("../img/index_tre_bg02.png") no-repeat center center/contain; opacity: .9; display: block; width: 100%; height: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); z-index: -1; }
.tre .wrap ul li a span { display: block; font-size: 90%; font-family: 'Great Vibes', cursive; letter-spacing: .1rem; color: #dab176; }

@media screen and (min-width: 48em), print { .tre { padding: 6rem 0 3.5rem; background: url("../img/index_tre_bg01.jpg") no-repeat; background-position: calc(50% + 290px); }
  .tre .wrap ul li { width: 22%; margin: 0 0 3.4rem; }
  .tre .wrap ul li a { height: 25.5rem; font-size: 2.2rem; padding: 4rem 0 0; }
  .tre .wrap ul li a.abnormal_vaginal_discharge::before { font-size: 8rem; }
  .tre .wrap ul li a.various_examinations::before { font-size: 8rem; }
  .tre .wrap ul li a::before { margin: 0 auto .2rem; font-size: 10rem; }
  .tre .wrap ul li a span { font-size: 1.6rem; } }
/* ----------------------------------------------------------------------------------
下層　_lower.scss
---------------------------------------------------------------------------------- */
body:not(.index) .main { margin: 0 0.5rem 6rem; color: #796658; position: relative; z-index: 10; }
@media screen and (min-width: 48em), print { body:not(.index) .main { margin: 6rem 1.0rem 10rem; } }

@media screen and (min-width: 48em), print { .cf .img_l, .cf .img_r { max-width: 40%; height: auto; } }
/* H1直下バナー */
.bnr_img { margin: 0 auto 2rem; }

@media screen and (min-width: 48em), print { .bnr_img { text-align: center; margin: 0 auto 6rem; } }
/* ドクター紹介 */
.doctor .main section ~ section { margin-top: 4rem; }
.doctor .main .copy_txt { margin: 0 0 0; font-weight: bold; font-size: 1.8rem; text-align: center; }
.doctor .main .copy_txt ~ .txt_c { margin: .6rem 0 4rem; }
.doctor .main .copy_txt ~ .txt_c span { font-size: 120%; }
.doctor .main .btn { text-align: right; }
.doctor .main .btn a { margin: .2rem 0 0; padding: .1rem 2rem; }

@media screen and (min-width: 48em), print { .doctor .main section ~ section { margin-top: 4rem; }
  .doctor .main .img_copy { width: 67%; margin: 0 auto; }
  .doctor .main .img_copy .img_l { max-width: 30%; }
  .doctor .main .img_copy .copy_txt { margin: 0 0 6rem; font-size: 2.8rem; line-height: 1.6; }
  .doctor .main .lst_ul01 li { width: 56rem; position: relative; }
  .doctor .main .lst_ul01 li .btn { position: absolute; right: 0; top: 35%; transform: translateY(-50%); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); display: block; }
  .doctor .main .lst_ul01 li .btn a { width: 12rem; } }
/* クリニック紹介 */
.clinic .main .tit_03 { text-align: center; }

#clinicslide { margin-bottom: 8.0rem; }
#clinicslide img, #clinicslide p { display: none; }

.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 { .clinic .main .flex { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .clinic .main .flex > section { width: 48%; margin: 0 0 2rem; }
  .clinic .main .flex_02 { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .clinic .main .flex_02 > section { width: 23%; margin: 0 0 2rem; }
  .clinic .main .frame_02.bold { text-align: center; }
  .clinic .main .lst_ul01.frame_01 li { display: inline-block; margin-left: 1rem; }
  .device { 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; }
  .device li { width: 48%; }
  .device li img { margin: 0 auto 1.0rem; max-width: 100%; } }
/* 受診される方へ */
@media screen and (min-width: 48em), print { .beginner .main .frame_03 { text-align: left; }
  .beginner .main .frame_03 p { padding: .2rem .8rem; font-size: 100%; } }
.beginner .main .frame_03 p { margin: 0 auto 0; }
.beginner .main .btn.rsv { text-align: center; margin: .4rem auto .8rem; }
@media screen and (min-width: 48em), print { .beginner .main .btn.rsv { text-align: left; margin: .8rem auto 1rem; } }
.beginner .main .btn.rsv a { margin: 0 auto; display: block; }
@media screen and (min-width: 48em), print { .beginner .main .btn.rsv a { margin: 0 auto 0 0; display: inline-block; width: 24rem; } }

.flow dt { background: #ffece6; padding: .4rem .8rem; text-align: center; font-size: 110%; font-weight: bold; letter-spacing: .2rem; border-radius: 7px 7px 0 0; }
.flow dd { margin: 0 0 6.0rem; padding: 2rem 1rem 1rem; position: relative; background: #f2f2f2; border-radius: 0 0 7px 7px; }
.flow dd .lst_ul01 li { text-indent: -1.2rem; }
@media screen and (min-width: 48em), print { .flow dd { margin: 0 0 10.0rem; } }
.flow dd: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 #f2f2f2; border-right: 3.0rem solid transparent; border-bottom: 1.0rem solid transparent; border-left: 3.0rem solid transparent; margin: auto; }

/* 診療時間・アクセス */
.access .main .access_info li:first-child { font-size: 120%; margin-bottom: .8rem; }
.access .main .route li { margin: 0 0 1.8rem; }
.access .main .route li figure { margin: 0; }
.access .main .route li figure figcaption { padding: .2rem; }
.access .main .tel_rsv { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; }
.access .main .tel_rsv .tel_item { width: 48%; text-align: center; color: #fff; background: #932e40; padding: .2rem 0; border-radius: 3px; }
.access .main .tel_rsv .tel_item::before { content: "tel."; display: inline-block; margin-right: .2rem; font-size: 80%; letter-spacing: .1rem; }
.access .main .tel_rsv > a { width: 48%; text-align: center; color: #fff; background: #dab176; text-decoration: none; border-radius: 3px; padding: .2rem 0; }
.access .parking_map img { border: 1px solid #ccc; }
.access .gmap { margin: 0 auto 1rem; }

@media screen and (min-width: 48em), print { .access .main p:not(.txt_l) { text-align: center; }
  .access .main .tbl_time { width: 60%; margin: 0 auto; font-size: 1.8rem; }
  .access .main .tbl_time caption { font-size: 1.6rem; letter-spacing: .1rem; }
  .access .main .tbl_time tr th[scope="col"] { font-size: 1.8rem; }
  .access .main .tbl_time tr th.time { text-align: center; }
  .access .main .tbl_time tr th.time span { margin-left: .4rem; }
  .access .main .access_info { text-align: center; display: block; margin: 0 auto 4rem; }
  .access .main .access_info li { display: inline-block; width: 100%; }
  .access .main .route { margin: 2rem auto 0; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .access .main .route li { width: 49%; }
  .access .main .route li figure figcaption { padding: .8rem .4rem; }
  .access .main .tel_rsv { font-size: 2.4rem; }
  .access .main .tel_rsv .tel_item { padding: .8rem 0; pointer-events: none; }
  .access .main .tel_rsv > a { padding: .8rem 0; }
  .access .parking_map img { width: 51rem; }
  .access .gmap { text-align: center; margin: 0 auto 2rem; }
  .access .gmap + .btn { text-align: center; } }
/* おりもの異常・性感染症 */
.abnormal_vaginal_discharge .frame_01 p { text-align: center; }
@media screen and (min-width: 48em), print { .abnormal_vaginal_discharge .frame_01 { display: block; text-align: center; }
  .abnormal_vaginal_discharge .frame_01 p { font-size: 110%; margin: 0 0 1rem; }
  .abnormal_vaginal_discharge .frame_01 .lst_ul01 { text-align: center; }
  .abnormal_vaginal_discharge .frame_01 .lst_ul01 li { display: inline-block; text-align: left; }
  .abnormal_vaginal_discharge .frame_01 .lst_ul01 li ~ li { margin-left: .6rem; } }

/* 各種検（健）診 */
@media screen and (min-width: 48em), print { .various_examinations .main .img_c { width: 40%; margin: 0 auto 3rem; } }
.various_examinations .main .link li { margin: 0 0 1rem; }
.various_examinations .main .price tbody tr th { padding: 1rem .6rem; }
.various_examinations .main .price tbody tr th:first-child { width: 60%; }
.various_examinations .main .check_tbl { table-layout: auto; }
.various_examinations .main .check_tbl caption { caption-side: bottom; margin-top: .4rem; text-align: left; }
.various_examinations .main .check_tbl tbody tr th { padding: 1rem 1rem; width: 3%; }
@media screen and (min-width: 48em), print { .various_examinations .main .check_tbl tbody tr th { width: 15%; } }
.various_examinations .main .check_tbl tbody tr th:first-child { padding: 1rem .6rem; width: 40%; }
.various_examinations .main .check_tbl tbody tr td { text-align: center; }
.various_examinations .main .check_tbl tbody tr td[rowspan] { width: 3%; }
@media screen and (min-width: 48em), print { .various_examinations .main .check_tbl tbody tr td[rowspan] { width: 17%; } }
.various_examinations .main .check_tbl tbody tr td[rowspan] + td { width: 23%; }

.menopause .frame_01 .bold { text-align: center; }

@media screen and (min-width: 48em), print { .menopause .frame_01 { text-align: center; } }
.cosmetology .bnr_area { 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; }
@media screen and (min-width: 48em), print { .cosmetology .bnr_area { margin: 6rem auto 3rem; width: 1200px; } }
.cosmetology .bnr_area li { width: 48%; margin: 0 0 1rem; }
@media screen and (min-width: 48em), print { .cosmetology .bnr_area li { width: 23%; } }
.cosmetology .tit_02 span { color: #932e40; display: inline; font-size: 2.0rem; }
@media screen and (min-width: 48em), print { .cosmetology .tit_02 span { font-size: 3rem; } }
.cosmetology .tit_04 span { display: block; background: #932e40; padding: .2rem .8rem; border-radius: 7px; color: #fff; margin-left: .8rem; text-align: center; margin: .6rem 0; }
@media screen and (min-width: 48em), print { .cosmetology .tit_04 span { display: inline; margin-left: 1rem; } }
.cosmetology .buppan li { margin: 0 0 1rem; }
.cosmetology .buppan li .tit { background: #f2f2f2; padding: .6rem; margin: 0; }
.cosmetology .buppan li figure { border: 2px solid #f2f2f2; margin: 0; padding: .6rem; }
.cosmetology .buppan li figure img { display: block; margin: .4rem auto .8rem; }
.cosmetology .buppan li figure figcaption { margin: 0; }

@media screen and (min-width: 48em), print { .cosmetology .main .img_c { width: 30%; margin: 0 auto 3rem; }
  .cosmetology .main figure .img_c { margin: 0 auto .4rem; }
  .cosmetology .main figure figcaption { margin: 0 0 3rem; padding: .8rem .4rem; }
  .cosmetology .main .tbl_01.price.wide { width: 80%; }
  .cosmetology .main .tbl_01.price.wide tr th { width: 30%; }
  .cosmetology .main .tbl_01.price.wide tr th:first-child { width: 70%; }
  .cosmetology .buppan li { margin: 0 0 2rem; }
  .cosmetology .buppan li .tit { padding: .8rem 1.2rem; }
  .cosmetology .buppan li figure { padding: 1rem; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
  .cosmetology .buppan li figure img { width: 25%; margin: .4rem 1rem .4rem auto; }
  .cosmetology .buppan li figure figcaption { width: 74%; } }
.online_medical_care .tit_02 { background: #fff5f5; color: #da858b; }
.online_medical_care .tit_02::after { content: none !important; }
.online_medical_care .tit_02 + section { background: #fff8f1; padding: 2rem 1rem 1rem; border-radius: 7px; }
.online_medical_care .tit_02 + section ~ section { background: #fff8f1; padding: 2rem 1rem 1rem; border-radius: 7px; }
.online_medical_care .tit_03_online { font-weight: bold; font-size: 1.8rem; letter-spacing: .2rem; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.online_medical_care .tit_03_online span { padding: .4rem 1rem; background: #fdb1b6; color: #fff; margin-right: .8rem; border-radius: 7px; letter-spacing: .1rem; }
.online_medical_care .btn { margin: -1rem auto 1rem; text-align: center; }
.online_medical_care .frame_01 .btn { display: inline !important; margin: -1rem auto 0 -.4rem; }
.online_medical_care .lst_flow { margin: 3rem auto 1rem; }
.online_medical_care .lst_flow li { margin: 0 0 2rem; border: 2px solid #ad6066; }
.online_medical_care .lst_flow li figure { margin: 0; }
.online_medical_care .lst_flow li figure figcaption { padding: 1rem .8rem 1rem; background: #f7dbd0; font-weight: bold; }

@media screen and (min-width: 48em), print { .online_medical_care .tit_02 + section { padding: 2rem 2rem; }
  .online_medical_care .tit_02 + section ~ section { padding: 2rem 2rem; }
  .online_medical_care .tit_03_online { font-size: 2.8rem; margin: 0 0 2rem; }
  .online_medical_care .tit_03_online span { margin-right: 2rem; }
  .online_medical_care ul.frame_01 { display: inline-block; padding: 3rem; }
  .online_medical_care ul.frame_01 li ~ li { margin-top: 2rem; }
  .online_medical_care a.img { margin: 0 0 3rem; display: block; width: 40%; }
  .online_medical_care .btn { text-align: left; }
  .online_medical_care .lst_flow { margin: 6rem auto 2rem; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
  .online_medical_care .lst_flow li { width: 30%; margin-right: 6rem; }
  .online_medical_care .lst_flow li:nth-child(3n) { margin-right: 0; }
  .online_medical_care .lst_flow li figure img { width: 100%; }
  .online_medical_care .lst_flow li figure figcaption { padding: 2rem 2rem; } }
/*クレジットカード*/
ul.card { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; -webkit-box-pack: left; -ms-flex-pack: left; justify-content: left; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
ul.card li { margin-right: 5%; margin-bottom: 1%; width: 20%; vertical-align: baseline; }
ul.card li img { max-width: 100%; }

@media screen and (min-width: 48em), print { ul.card li { width: 8%; } }

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