@charset "UTF-8";

/* ===================================================

	Date: 2018-7-1
	CSS Document ： 基礎CSS

	----------------------------------------------
	----------------------------------------------

	【00】 reset
	【01】 header
	【02】 footer
	【03】 header/footer
	【10】 基本ベース

====================================================== */

@media (max-width: 991px) {
p { font-size: 240%; }
p.sub { font-size: 220%; }
p.txt_mid { font-size: 180%; }
dl.normal { font-size: 200%; }
}

/* ----------------------------------------
	【03】 header/footer
---------------------------------------- */
@media (min-width: 992px) {
.navbar-expand-lg .navbar-nav > li { width: 25%; }
}

/* ========================
　【10】基本ベース
======================== */

/* ----------------------------------------
	FONT
---------------------------------------- */
.f_en { font-family: 'Lora', sans-serif; }
.f_num { font-family: 'Oswald', sans-serif;letter-spacing: 0.05em; }

/* ----------------------------------------
common
---------------------------------------- */
#wrapper { font-size: 100%;width: 100%;position: relative;overflow: hidden; }
@media (min-width: 1200px) {
.container { max-width: 1030px; }
}

/* ----------------------------------------
	共通レイアウト
---------------------------------------- */
.fil { background:rgba(255,255,255,0.8);filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#88ffffff,EndColorStr=#88ffffff); }
.fil.gray { background:rgba(242,242,242,0.8);filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#88F2F2F2,EndColorStr=#88F2F2F2); }
.bg_wide { margin-left:-500%;margin-right:-500%;padding-left:500%;padding-right:500%; }
.bg_gray { background: #F2F2F2; }
@media (min-width: 992px) {
/* 画面サイズの100% */
.abs100:not(.bg_wide),
.abs100::after,
.abs100::before { width: 100vw;position: relative;margin-left: -50vw;margin-right: -50vw;left: 50%;right: 50%; }
/* 上下中央 */
.vAlignMid { position: absolute;top: 50%;transform: translateY(-50%); }
/* 上下左右中央 */
.vAlignMidCenter { position: absolute;top: 50%;left: 50%;transform: translateY(-50%) translateX(-50%); }
}
@media (max-width: 991px) {
#header .bg_wide { margin-left: 0 !important;margin-right: 0 !important;padding-left: 0 !important;padding-right: 0 !important; }
.bg_wide_sp { margin-left:-500%;margin-right:-500%;padding-left:500%;padding-right:500%; }
}

/* ↓ googleMap */
.ggmap { position: relative;padding-bottom: 56.25%;padding-top: 30px;height: 0;overflow: hidden; }
.ggmap iframe,
.ggmap object,
.ggmap embed { position: absolute;top: 0;left: 0;width: 100%;height: 100%; }
@media (min-width: 992px) {
.ggmap { padding-bottom: 26.25%; }
}
/* ↓ colBox（タイトル帯付きボタン） */
.colBox a { position: relative; }
.colBox img { width: 100%; }
.colBox span { font-size: 200%;position: absolute; top: 0; left: 0;width: 100%;text-align: center;letter-spacing: 0.03em; padding: 6% 0; }
.colBox span.btm { bottom: 0; top: auto; }
/* ↓ 診察案内系ボックススタイル */
#annai .bgOuter { min-height: 940px;max-height: 940px; }
#annaiInner .title_s { border-bottom: 1px solid #999; padding-bottom: 10px;margin-bottom: 20px; }
#annaiInner #cyuui { border-top: 1px solid #999; }
#annaiInner #annaiBody #uketsuke .tell { font-size: 280%; }
#annaiInner #annaiBody #uketsuke .tell i.t_txt { font-size: 55%;padding-right: 8px;vertical-align: middle; }
/* ↓ 診察表 */
table#medicalTable { font-size: 170%; }
table#medicalTable th,
table#medicalTable td { border-color:#B3B3B3; padding: 10px 0; }
table#medicalTable th { line-height: 1.3;padding: 15px 0; }
table#medicalTable td { width: 12%; }
table#medicalTable td i { font-size: 160%;color: #666;font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Meiryo","ＭＳ Ｐゴシック","sans-serif"; }
/* ↓ 背景画像幅いっぱいエリア */
.bgOuter { position: relative;min-width: 320px;margin: 0px auto; box-sizing: border-box;height: 100vh;min-height: 940px;max-height: 940px;position: relative; }
.bgOuter .bgInner { position: absolute;top: 0px;left: 0;right: 0;bottom:0; }
.bgOuter .bgInner .bgBox { width: 100%;height: 100%;overflow: hidden;position: relative; }
.bgOuter .bgInner .bgBox .imgArea { width: 100%;height: 100%;background-size: cover;background-position: center center;position: absolute;top: 0;left: 0;z-index: -10; }
/* 詳しく見るボタン */
.detailBtn { margin-top: 20px;border: 3px solid #29ABE2;background: #29ABE2; }
.detailBtn i { font-size: 220%; display: inline-block; padding: 25px 0; color: #fff; }
@media (min-width: 992px) {
.detailBtn:hover { background: #fff;border: 3px solid #29ABE2; }
.detailBtn:hover i { color: #29ABE2; }
a,.trsn { -webkit-transition: all 0.3s;-moz-transition: all 0.3s;-ms-transition: all 0.3s;-o-transition: all 0.3s;transition: all 0.3s; }
a.opacity:hover,i.opacity:hover,.opacity a:hover { opacity: 0.7; filter: alpha(opacity=70); }
.txt_link a:hover { text-decoration: underline !important; }
}

/* ----------------------------------------
	title
---------------------------------------- */
.title_l { font-size: 340%; }
.title_l i { border-bottom: 3px solid;padding: 0 40px 10px; display: inline-block; }
.title_m { font-size: 300%; }
.title_s { font-size: 260%; }
.title_lrg { font-size: 230%; }
.title_min { font-size: 200%; }

.titleMidLine { text-align: center;position: relative; }
.titleMidLine::after { content: "";display: block;width: 100%;height: 1px;background: #29abe2;position: absolute;top: 50%;left: 0;transform: translateY(-50%) translateX(0);-webkit- transform: translateY(-50%) translateX(0); }
.titleMidLine span { display: inline-block;line-height: 1.6em;background: #fff;position: relative;z-index: 1;padding: 0 30px; }

.titBlock span { display: block;text-align: center;font-size: 300%;font-weight: bolder;line-height: 1;margin-top: 10px; }

/* 下層ページのメイン部分 */
/*
#subPageMain { padding-right: 0;padding-left: 0; }
*/
#subPageMain .pageImg { display: block; margin-bottom: 2px; }
#subPageMain .pageTitle { bottom: 0; }
#subPageMain .pageTitle span { font-size: 300%;line-height: 1;padding: 2.5% 0;display: block;letter-spacing: 0.05em; }

@media (max-width: 991px) {
.title_min { font-size: 240%; }

}

/* ----------------------------------------
	lead
---------------------------------------- */
.txt_lrg { font-size: 160%; }
.txt_mid { font-size: 140%; }
.txt_min { font-size: 120%; }

.bubbleTxt { position: relative; display: inline-block; font-weight: bolder; }
.bubbleTxt::before,
.bubbleTxt::after { content: ""; display: block; height: 100%; width: 1px; background: #75d2ec; position: absolute;top: 5px; }
.bubbleTxt::before { left: -20px;transform: rotate(-35deg); }
.bubbleTxt::after { right: -15px;transform: rotate(35deg); }

@media (max-width: 991px) {
.txt_lrg { font-size: 200%; }
.txt_mid { font-size: 180%; }
.txt_min { font-size: 160%; }

}



/* ----------------------------------------
	p_list
---------------------------------------- */

/* ----------------------------------------
	contents
---------------------------------------- */
.flexBox { display: flex; flex-wrap: wrap; }
.flexBox.center { align-items: center; }



.fxBox { display: flex;padding: 0px 50px;flex-wrap: wrap;align-items: end; }
.fxBox .inner.b1 { width: 60%; }
.fxBox .inner.b2 { width: 40%; }
.fxBox .inner a { padding: 0; }
.fxBox .inner span { margin: 10px 0 0 !important; }



/* ----------------------------------------
	sideBar
---------------------------------------- */

/* ----------------------------------------
	others
---------------------------------------- */
.close_alert { width: 36%;padding: 2%;background: #efefef;color: #666;text-align: center;border: 2px solid #ccc;margin: 30px auto 0; }


