/* カレンダー準備時メッセージ */
.preCal{ display: flex; align-items: center; justify-content: center; min-height: 264px; }
/* PC用 カレンダー描画エリア */
.pcCalBox{}
/* PCサブ用 カレンダー描画エリア */
.pcSubCalBox {}
/* スマートフォン用 カレンダー描画エリア */
.spCalBox{}
/***********************/
/* calender year-month         */
/***********************/
.pcyBox { text-align:center; }
.pcSubyBox {}
.spyBox {}
/* PC */
p.pcYear { margin-bottom: 24px; }
p.pcMonth {}
p.pcMonth span#pcMonth1 {}
p.pcMonth span#pcMonth2 {}
/* PCサブ */
p.pcSubYear {}
p.pcSubMonth {}
p.pcSubMonth span {}
/* スマートフォン */
p.spYear {}
p.spMonth {}
p.spMonth span {}
/* 切替ボタン PC */
.clrPcBtn {}
/* 切替ボタン PCサブ */
.clrPcSubBtn {}
/* 切替ボタン スマートフォン */
.clrSpBtn {}
/***********************/
/* calendertable       */
/***********************/
.pcCalCmn { margin-bottom:0; }/*PC共通*/
.pcCalSubCmn { }/*PCサブ共通*/
.spCalCmn { }/*スマートフォン共通*/
table.calTbl{ width:100%; border-collapse:collapse; border-spacing:2px; }
table.calTbl th, table.calTbl td{ line-height:42px; text-align:center; width:calc(100% / 7); vertical-align:middle; font-size:1.6rem; font-family:Verdana, Geneva, "sans-serif"; }
table.calTbl th{ } 
table.calTbl td{ background:#FEF3F3; color:#555; font-family: "zen-kaku-gothic-new", sans-serif; font-weight: 700; font-style: normal; }
/*診療日クラス*/
table.calTbl th.sat { }/*土曜日*/
table.calTbl td.sat { }/*土曜日*/
/* table.calTbl th.sun { color:red; } 日曜 */
/* table.calTbl td.sun { color: #ff7857; }日曜 */
/* table.calTbl td.holiday { color: red; }祝日 */
table.calTbl td.child1, div.child1 { background: #ffd0e8; }/*小児治療日*/
table.calTbl td.child2, div.child2 { background: #f4faf9; }/*その他*/
table.calTbl td.day1, div.day1 { background: #FEF3F3; }/*通常診療日*/
table.calTbl td.day2, div.day2 { }/*時短診療日*/
table.calTbl td.day3, div.day3 { background: #FFF; }/*その他*/
table.calTbl td.half1, div.half1 { background: #bbb; }/*午後休診*/
table.calTbl td.half2, div.half2 { background: #ede4da; }/*午前休診*/
table.calTbl td.half3, div.half3 { background: #ffd8b7; }/*半休日*/
table.calTbl td.hday1, div.hday1 { position: relative; z-index: 1; }/*休診日*/

td.hday1::before {
	border-radius: 50%;
    content: "";
    display: block;
    position: absolute;
    background: #E5939E;
    width: 37px;
    height: 37px;
    left: 50%;
    top: 50%;
    z-index: -1;
    transform: translate(-50%, -50%);
}
table.calTbl td.hday2, div.hday2 { background: #FFF; }/*特別休診日*/
table.calTbl td.ortho1, div.ortho1 { background: #e0f4d6; }/*矯正治療日*/
table.calTbl td.ortho2, div.ortho2 { background: #11d1d6; }/*矯正治療日*/
table.calTbl td.other1, div.other1 { color: #fff; position: relative; z-index: 1; }/*その他*/

td.other1::before {
	border-radius: 50%;
    content: "";
    display: block;
    position: absolute;
    background: #222;
    width: 37px;
    height: 37px;
    left: 50%;
    top: 50%;
    z-index: -1;
    transform: translate(-50%, -50%);
}
table.calTbl td.other2, div.other2 { background: #FFF; }/*その他*/
/* original */

.pcCalBox{ background-color: #FEF3F3; border-radius: 30px; margin: 0 auto 24px; width: calc(100% - 128px);}
.pcyBox{ position:relative; display: flex; justify-content: center; flex-direction: column; font-family: "zen-kaku-gothic-new", sans-serif;
font-weight: 700; font-style: normal;}
.pcyBox p{ display:inline-block; font-size:2.0rem; font-weight:bold; line-height:1.1em; }

.eDay1, .eHalf1, .eHalf3, .eHday1{ font-size:1.6rem; line-height:24px; padding-left: 48px; position:relative; margin-bottom: 14px; margin-right:24px; }
.eDay1::before{ content:""; background:#FEF3F3; border: 1px solid #dcdcdc; display:block; position:absolute; top:0; left: 0; width:40px; height:24px; }
.eHalf1::before{ content:""; background: #222; display:block; position:absolute; top:0; left: 0; width:40px; height:24px; }
.eHalf3::before{ content:""; background: #ffd8b7; display:block; position:absolute; top:0; left: 0; width:40px; height:24px; }
.eHday1::before{ content:""; background: #dcdcdc; display:block; position:absolute; top:0; left: 0; width:40px; height:24px; }

/* カレンダーチェック用 */
body#calcheck section{ display: flex; flex-wrap: nowrap; justify-content: space-between; width: 1360px; }
body#calcheck div.pcCalBox{ width:400px; }
body#calcheck div.pcyBox p{ font-size: 1.2rem; }
body#calcheck div.pcyBox p span{ font-size: 1.2rem; }
body#calcheck table.calTbl th, body#calcheck table.calTbl td{ font-size: 1.0rem; }
body#calcheck div.pcSubCalBox{ width:400px; }
body#calcheck div.spCalBox{ width:400px; }

.infotxt { text-align: center; margin-bottom: 40px;}
.infotxt span {display: inline-block;}
.infotxt span img {margin: 0;}


/* .home-calender { max-width: 1600px; } */
.ftr-calender { max-width: 1600px; }
.ftr-calender { padding: 32px 0 0; }

/*******************************************/
/* responsive                              */
/*******************************************/
@media screen and (max-width:1280px) {
	.pcCalBox{ margin: 0 auto 48px; padding: 16px; width: calc(100% - 64px); }
	.pcyBox p{ margin-bottom:12px; }
	.eDay1, .eHalf1, .eHalf3, .eHday1{ padding-left: 30px; margin-right:8px; }
	.eDay1::before{ width:24px; }
	.eHalf1::before{ width:24px; }
    .eHalf3::before{ width:24px; }
	.eHday1::before{ width:24px; }
	.infotxt { margin: 0 auto 40px; width: calc(100% - 64px);}
    
}

@media screen and (min-width:1280px) {
    /* .homeBlock-calender { display: flex; gap: 10px; } */
    .ftrBlock-calender { display: flex; gap: 10px; }
    /* .home-calender { margin: 0 auto; width: calc(100% - 360px); } */
    .ftr-calender { margin: 0 auto; padding: 72px 0 0; width: calc(100% - 360px); }
	.pcCalBox { padding: 40px 88px; }
}
