@charset "UTF-8";
/* ========================================================================== base ========================================================================== */
/* --------------------------------
	RESET
-------------------------------- */
* { box-sizing: border-box; }

body, dl, dd, figure, ol, ul, pre { margin: 0; padding: 0; border: 0; }

p { margin: 0; }

p + p { margin-top: 1em; }

ol, ul { list-style-type: none; padding: 0; margin: 0; vertical-align: top; }

h1, h2, h3, h4, h5, h6 { margin-top: 0; margin-bottom: 0; border: 0; }

button, input, select, textarea { font-family: inherit; font-size: 16px; }

table { border-collapse: collapse; }

iframe { border: 0; width: 100%; height: 100%; }

/* ========================================================================== module ========================================================================== */
/* ==========================================================================
	module helper ========================================================================== */
/* display */
.d_b { display: block; }

.d_i { display: inline; }

.d_ib { display: inline-block; }

.d_flex { display: flex; }

.d_if { display: inline-flex; }

@media (min-width: 769px), print { .nopc { display: none; } }

@media (max-width: 768px) { .nosp { display: none; } }

/* clearfix */
.cf:after { content: ""; display: block; clear: both; }

/* img */
img { max-width: 100%; height: auto; vertical-align: bottom; }

/* font */
.font-400 { font-weight: 400; }

.font-500 { font-weight: 500; }

.font-600 { font-weight: 600; }

.fs-0_85 { font-size: .85em; }

.fs-1_2 { font-size: 1.2em; }

.fs-150 { font-size: 150%; }

.font-min { font-family: "游明朝","Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif; }

/* align */
.txt_r { text-align: right; }

.txt_l { text-align: left; }

.txt_c { text-align: center; }
@media (max-width: 768px) { .txt_c_sp { text-align: center; } }

.text_r { color: #cc7266; }

.w-screen { width: 100vw; }

.w-full { width: 100%; }

.w-90 { width: 90%; margin: 0 auto; }

.w-half { width: 50%; }

.w-auto { width: auto; }

/* Sizing height */
.h-screen { height: 100vh; }

.h-full { height: 100%; }

.height-auto { height: auto; }

/* Sizing margin */
.m0 { margin: 0; }

.mt0 { margin-top: 0; }

.mr0 { margin-right: 0; }

.mb0 { margin-bottom: 0 !important; }

.ml0 { margin-left: 0; }

.mx0 { margin-left: 0; margin-right: 0; }

.my0 { margin-top: 0; margin-bottom: 0; }

.m1 { margin: 1em; }

.mt1 { margin-top: 1em; }

.mr1 { margin-right: 1em; }

.mb1 { margin-bottom: 1em; }

.ml1 { margin-left: 1em; }

.mx1 { margin-left: 1em; margin-right: 1em; }

.my1 { margin-top: 1em; margin-bottom: 1em; }

.m2 { margin: 2em; }

.mt2 { margin-top: 2em; }

.mr2 { margin-right: 2em; }

.mb2 { margin-bottom: 2em; }

.ml2 { margin-left: 2em; }

.mx2 { margin-left: 2em; margin-right: 2em; }

.my2 { margin-top: 2em; margin-bottom: 2em; }

.m3 { margin: 3em; }

.mt3 { margin-top: 3em; }

.mr3 { margin-right: 3em; }

.mb3 { margin-bottom: 3em; }

.ml3 { margin-left: 3em; }

.mx3 { margin-left: 3em; margin-right: 3em; }

.my3 { margin-top: 3em; margin-bottom: 3em; }

.m4 { margin: 4em; }

.mt4 { margin-top: 4em; }

.mr4 { margin-right: 4em; }

.mb4 { margin-bottom: 4em; }

.ml4 { margin-left: 4em; }

.mx4 { margin-left: 4em; margin-right: 4em; }

.my4 { margin-top: 4em; margin-bottom: 4em; }

.m5 { margin: 5em; }

.mt5 { margin-top: 5em; }

.mr5 { margin-right: 5em; }

.mb5 { margin-bottom: 5em; }

.ml5 { margin-left: 5em; }

.mx5 { margin-left: 5em; margin-right: 5em; }

.my5 { margin-top: 5em; margin-bottom: 5em; }

.ml-auto { margin-left: auto; }

.mr-auto { margin-right: auto; }

.mx-auto { margin-left: auto; margin-right: auto; }

/* Sizing padding */
.p0 { padding: 0; }

.pt0 { padding-top: 0; }

.pr0 { padding-right: 0; }

.pb0 { padding-bottom: 0; }

.pl0 { padding-left: 0; }

.px0 { padding-left: 0; padding-right: 0; }

.py0 { padding-top: 0; padding-bottom: 0; }

.p1 { padding: 1em; }

.pt1 { padding-top: 1em; }

.pr1 { padding-right: 1em; }

.pb1 { padding-bottom: 1em; }

.pl1 { padding-left: 1em; }

.px1 { padding-left: 1em; padding-right: 1em; }

.py1 { padding-top: 1em; padding-bottom: 1em; }

.p2 { padding: 2em; }

.pt2 { padding-top: 2em; }

.pr2 { padding-right: 2em; }

.pb2 { padding-bottom: 2em; }

.pl2 { padding-left: 2em; }

.px2 { padding-left: 2em; padding-right: 2em; }

.py2 { padding-top: 2em; padding-bottom: 2em; }

.p3 { padding: 3em; }

.pt3 { padding-top: 3em; }

.pr3 { padding-right: 3em; }

.pb3 { padding-bottom: 3em; }

.pl3 { padding-left: 3em; }

.px3 { padding-left: 3em; padding-right: 3em; }

.py3 { padding-top: 3em; padding-bottom: 3em; }

.p4 { padding: 4em; }

.pt4 { padding-top: 4em; }

.pr4 { padding-right: 4em; }

.pb4 { padding-bottom: 4em; }

.pl4 { padding-left: 4em; }

.px4 { padding-left: 4em; padding-right: 4em; }

.py4 { padding-top: 4em; padding-bottom: 4em; }

.p5 { padding: 5em; }

.pt5 { padding-top: 5em; }

.pr5 { padding-right: 5em; }

.pb5 { padding-bottom: 5em; }

.pl5 { padding-left: 5em; }

.px5 { padding-left: 5em; padding-right: 5em; }

.py5 { padding-top: 5em; padding-bottom: 5em; }

/* list */
.asta { position: relative; display: block; padding-left: 1em; }
.asta:before { position: absolute; left: 0; content: "※"; display: block; width: 1em; text-align: center; color: tomato; font-weight: 500; }

.relative { position: relative; }

/* ------------------------ grid ------------------------ */
.grid_border { grid-gap: 0; border-style: solid; border-color: #363636; border-width: 1px 0 0 1px; }
.grid_border li { padding: .5em 1em; border-style: solid; border-color: #363636; border-width: 0 1px 1px 0; }

.grid_list { display: grid; grid-gap: 1.5em; }
.grid_list.gap0 { grid-gap: 0; }
.grid_list.gap1 { grid-gap: 1em; }
.grid_list.gap2 { grid-gap: 2em; }
.grid_list.gap3 { grid-gap: 3em; }
.grid_list.col_2 { grid-template-columns: repeat(2, 1fr); }
.grid_list.col_3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 768px) { .grid_list.col_sp_1 { grid-template-columns: 1fr; }
  .grid_list.col_sp_2 { grid-template-columns: repeat(2, 1fr); }
  .grid_list.col_sp_3 { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 543px) { .grid_list.col_xs_1 { grid-template-columns: 1fr; }
  .grid_list.col_xs_2 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 769px), print { .grid_list.col_sm_1 { grid-template-columns: 1fr; }
  .grid_list.col_sm_2 { grid-template-columns: repeat(2, 1fr); }
  .grid_list.col_sm_3 { grid-template-columns: repeat(3, 1fr); }
  .grid_list.col_sm_4 { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 851px), print { .grid_list.col_md_1 { grid-template-columns: 1fr; }
  .grid_list.col_md_2 { grid-template-columns: repeat(2, 1fr); }
  .grid_list.col_md_3 { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1200px), print { .grid_list.col_lg_1 { grid-template-columns: 1fr; }
  .grid_list.col_lg_2 { grid-template-columns: repeat(2, 1fr); }
  .grid_list.col_lg_3 { grid-template-columns: repeat(3, 1fr); } }

/* ------------------------ flex_list ------------------------ */
.flex_list { display: flex; flex-wrap: wrap; }
.flex_list.col_2 .item { width: 50%; }
.flex_list.col_3 .item { width: 33%; }
.flex_list.col_4 .item { width: 25%; }
@media (max-width: 768px) { .flex_list.col_sp_1 .item { width: 100%; }
  .flex_list.col_sp_2 .item { width: 50%; }
  .flex_list.col_sp_3 .item { width: 33%; } }
@media (max-width: 543px) { .flex_list.col_xs_1 .item { width: 100%; }
  .flex_list.col_xs_2 .item { width: 50%; } }
@media (min-width: 769px), print { .flex_list.col_sm_1 .item { width: 100%; }
  .flex_list.col_sm_2 .item { width: 50%; }
  .flex_list.col_sm_3 .item { width: 33%; }
  .flex_list.col_sm_4 .item { width: 25%; } }
@media (min-width: 851px), print { .flex_list.col_md_1 .item { width: 100%; }
  .flex_list.col_md_2 .item { width: 50%; }
  .flex_list.col_md_3 .item { width: 33%; } }
@media (min-width: 1200px), print { .flex_list.col_lg_1 .item { width: 100%; }
  .flex_list.col_lg_2 .item { width: 50%; }
  .flex_list.col_lg_3 .item { width: 33%; } }

/* ------------------------ flexBox ------------------------ */
.flexBox { display: -webkit-flex; display: flex; justify-content: space-between; margin: 0 auto 2.5rem; }
.flexBox .flexBox_L, .flexBox .flexBox_R { width: 49%; }

.frame_solidline { border: solid 1px #363636; padding: 1.5rem; }
.frame_solidline span { display: block; font-size: 1.8rem; font-weight: bold; margin: 0 auto; text-align: center; }

/* ------------------------ list ------------------------ */
.list li { position: relative; padding-left: 2rem; margin-bottom: .6em; }
.list li:last-of-type { margin-bottom: 0; }
.list_key li::before { color: #cc7266; }
.list.ideographic { list-style-type: cjk-ideographic; }
.list.katakana-iroha { list-style-type: katakana-iroha; }
.list.decimal { counter-reset: li_count; }
.list.decimal li::before { counter-increment: li_count; content: counter(li_count) "."; position: absolute; left: 0; font-weight: bold; }
.list.disc li::before { content: "●"; width: 1em; position: absolute; left: 0; transform: scale(0.6); }
.list.disc2 li::before { content: "〇"; width: 1em; position: absolute; left: 0; transform: scale(0.6); }

/* icon */
.ext:after { content: ""; display: inline-block; width: 1em; height: 1em; -webkit-mask: url(../images/icon/external-link-alt.svg) no-repeat center; mask: url(../images/icon/external-link-alt.svg) no-repeat center; -webkit-mask-size: 1em; mask-size: 1em; background: #363636; }

/* ------------------------ btn ------------------------ */
.btn { display: inline-block; padding: .5rem 1.2rem; border-radius: 4px; text-decoration: none; transition: ease-out all 0.15s; cursor: pointer; }
.btn_ext { padding-right: 2em; position: relative; }
.btn_ext::after { content: ""; position: absolute; top: calc(50% - .5em); right: .5em; display: inline-block; width: 1em; height: 1em; -webkit-mask: url(../images/icon/external-link-alt.svg) no-repeat center; mask: url(../images/icon/external-link-alt.svg) no-repeat center; -webkit-mask-size: 1em; mask-size: 1em; background: #fff; }
.btn_arrow { padding-left: 2em; position: relative; }
.btn_arrow::before { content: ""; position: absolute; top: calc(50% - .5em); left: .5em; display: inline-block; width: 1em; height: 1em; background: #fff; -webkit-mask-size: 1em; mask-size: 1em; }
.btn_arrow.arrow_base::before { background: #363636; }
.btn_arrow_b::before { -webkit-mask: url(../images/icon/arrow_circle_b.svg) no-repeat center/cover; mask: url(../images/icon/arrow_circle_b.svg) no-repeat center/cover; }
.btn_arrow_r::before { -webkit-mask: url(../images/icon/arrow_circle_r.svg) no-repeat center/cover; mask: url(../images/icon/arrow_circle_r.svg) no-repeat center/cover; }
.btn_key { background: #cc7266; color: #fff; }
.btn_key:hover { color: #fff; background: #e06252; }
.btn_white { background: #fff; color: #cc7266; }
.btn_white:hover { background: #d9d9d9; }
.btn_base { background: #fff; color: #363636; }
.btn_base::before, .btn_base::after { background: #363636; transition: ease all 0.15s; }
.btn_base:hover { color: #cc7266; }
.btn_base:hover::before, .btn_base:hover::after { background: #cc7266; }

.btn_txt { display: inline-block; padding: 0px 5px; border: 1px solid #333; text-decoration: none; margin: 1px 5px; }

.btn_txt:hover { background-color: #cc7266; border: 1px solid #cc7266; color: #fff; }

.btn_modal_red { padding: 10px; cursor: pointer; text-align: center; background-color: #ec6d81; border-radius: 5px; color: #fff; margin-bottom: 20px; font-weight: bold; letter-spacing: 0.1rem; display: block; }

.btn_modal_green { padding: 10px; cursor: pointer; text-align: center; background-color: #49CA49; border-radius: 5px; color: #fff; margin-bottom: 20px; font-weight: bold; letter-spacing: 0.1rem; display: block; }

.btn_modal_red a, .btn_modal_green a { color: #fff; text-decoration: none; }

.popup { position: fixed; left: 0; top: 0; width: 100%; height: 100%; z-index: 9999; opacity: 0; visibility: hidden; transition: .6s; }

.popup.is-show { opacity: 1; visibility: visible; }

.popup-inner { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 80%; max-width: 380px; padding: 30px 10px; background-color: #fff; box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.16); z-index: 2; font-weight: normal; line-height: 1.3; }
@media (min-width: 769px), print { .popup-inner { padding: 35px 10px; } }
.popup-inner .pop_tit { font-size: 1.2em; color: #CC7266; font-weight: bold; text-align: center; line-height: 1.5; letter-spacing: 0.07em; position: relative; }
.popup-inner .pop_tit::after { content: ""; display: block; height: 1px; width: 80%; max-width: 250px; margin: 0.3em auto 0; border-bottom: 1px solid #CC7266; }
@media (min-width: 769px), print { .popup-inner .pop_tit { font-size: 1.45em; } }
.popup-inner .pop_txt { text-align: center; margin-top: 0.6em; }
@media (min-width: 769px), print { .popup-inner .pop_txt { letter-spacing: 0.03em; } }
.popup-inner .pop_btn_lst { display: flex; gap: 0.5em; flex-direction: column; margin: 1em 1.5em 0; }
@media (min-width: 769px), print { .popup-inner .pop_btn_lst { margin: 1em 1.7em 0; } }
.popup-inner .pop_btn_lst li a { display: flex; align-items: center; text-decoration: none; width: 100%; font-size: 1.15em; line-height: 1; text-align: left; color: #fff; background: url(../images/icon_arrow.png) center right 0.3em/1.2em auto no-repeat, #CC7266; padding: 0.5em 1.7em 0.5em 0.5em; transition: ease all 0.15s; }
.popup-inner .pop_btn_lst li a::before { content: ""; display: inline-block; width: 1.1em; height: 1.1em; margin-right: 0.25em; }
.popup-inner .pop_btn_lst li a.pop_tel::before { background: url(../images/icon_tel.png) center center/contain no-repeat; transform: translateY(-1px); }
.popup-inner .pop_btn_lst li a.pop_acs::before { background: url(../images/icon_acs.png) center center/contain no-repeat; transform: translateY(-1px); }
.popup-inner .pop_btn_lst li a.pop_rsv::before { background: url(../images/icon_rsv.png) center center/contain no-repeat; }
.popup-inner .pop_btn_lst li a:hover, .popup-inner .pop_btn_lst li a:focus, .popup-inner .pop_btn_lst li a:active { color: #fff; opacity: 0.9; filter: brightness(110%) contrast(80%); }
@media (min-width: 769px), print { .popup-inner .pop_btn_lst li a { font-size: 1.4em; } }

.close-btn { position: absolute; z-index: 1; top: -20px; right: -20px; width: 50px; height: 50px; cursor: pointer; transition: ease all 0.15s; }
.close-btn:hover { filter: brightness(110%) contrast(80%); }

.black-background { position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: rgba(103, 103, 103, 0.73); z-index: 1; cursor: pointer; }

/* ------------------------ calendar
------------------------ */
/* .calendar */
.calendar { display: flex; flex-wrap: wrap; }
@media (min-width: 769px), print { .calendar { margin: 0 -1em; }
  .calendar .item { width: 50%; padding: 0 1em; } }
@media (min-width: 1200px), print { .calendar .item { width: 33%; } }
@media (max-width: 768px) { .calendar .item { width: 100%; } }

.calendar_annotation { display: flex; flex-wrap: wrap; justify-content: center; margin-bottom: 1.5em; }
.calendar_annotation li:not(:last-of-type) { margin-right: 1em; }
.calendar_annotation .cl_holiday span { color: #cc7266; }
.calendar_annotation .cl_info span { color: #006bb5; }

.caledit { width: 100%; }
.caledit th, .caledit td { padding: 8px 6px; text-align: center; }
.caledit .month { font-size: 1.2em; }
.caledit .week { background: #585858; color: #fff; }
.caledit .week th { border: 1px solid #f2f2f2; }
.caledit .week th:nth-of-type(7) { color: #cc7266; }
.caledit td { background: #fff; border: 1px solid #f2f2f2; }
.caledit .outPatient { background: #cc7266; color: #fff; }
.caledit .today { background: #ffc107; }
.caledit .notTheMonth { background: #ccc; color: #a0a0a0; }
.caledit .confirmation { color: #fff; background: #006bb5; }

.anc_box { margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: space-between; }
.anc_box li { text-align: center; width: 24.5%; }
.anc_box li a { color: #FFF; text-decoration: none; }
.anc_box .long { width: 40%; }

@media (max-width: 768px) { .anc_box { width: 100%; }
  .anc_box li { width: 100%; margin-right: 0rem; }
  .anc_box .long { width: 100%; } }
/* img -------------------------------------- */
.img_c { display: block; max-width: 100%; height: auto; margin: 1rem auto; }

.img_l, .img_r { display: block; max-width: 80%; height: auto; margin: 1rem auto; }

@media (min-width: 1200px), print { .img_l { float: left; margin: 0 2rem 2rem 0; }
  .img_r { float: right; margin: 0 0 2rem 2rem; } }

/*# sourceMappingURL=common.css.map */
