/* 患者側・管理画面　共通======================= */
body {
 font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
	min-width: 1200px!important;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	overflow:visible!important;
	position: relative;
   -webkit-text-size-adjust: 100%;
   animation: fadeIn 1s ease 0s 1 normal;
    -webkit-animation: fadeIn 1s ease 0s 1 normal;
	}

@keyframes fadeIn {
	0% {opacity: 0}
	100% {opacity: 1}
   }

@-webkit-keyframes fadeIn {
	0% {opacity: 0}
	100% {opacity: 1}
   }

html{height: 100%;}

p{
	font-size:18px;
	color:#636363;
	line-height:1.8em;
	margin:0;
	padding:0;
	}

a{
	color:#24292c;
	overflow:hidden!important;
	outline:none!important;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0)!important;
	text-decoration:none;
	transition-duration: .2s;
	}
a:hover{
	outline:none!important;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0)!important;
	transition-duration: .2s;
	}
a:focus{
	outline:none!important;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0)!important
	}
	
table{
	width: 100%;
	font-size: 20px;
	line-height:1.5em;
	color: #636363;
	}
table th,
table td{
	vertical-align: middle;
	padding: 10px 20px;
	border-bottom: #ebebeb 1px solid;
	}

ul li,
ol li{
	list-style-position: inside;
	list-style-type: none;
	font-size: 20px;
	line-height: 2rem;
	color: #636363;
	}

ul.disc li{
	list-style-type: disc;
	}
	

h1{
	font-weight: bold;
	line-height: 1.4em;
	margin: 0 0 0 0;
	}

h1 span {
	max-width: 650px;
	display: table;
	font-weight: normal;
	font-size: 16px;
	line-height: 1.4em;
	letter-spacing: 2px;
	text-align: center;
	background-color: rgba(255,255,255,0.2);
	border-radius: 30px;
	box-sizing: border-box;
	padding: 5px 30px;
	margin-bottom: 10px;
	}
	
h2{
	width: 600px;
	font-size: 26px;
	line-height: 1.4em;
	font-weight: bold;
	text-align: center;
	padding: 0;
	margin: 0 auto 50px;
	border-bottom: #043C6D 1px solid;
	}
h3{
	font-size: 22px;
	padding: 15px 20px;
	line-height: 1.4em;
	}
h4{}

.main{
	width: 100%;
	padding: 80px 0;
	}

section{
   width: 100%;
	margin-bottom: 150px;
	}
section:last-child{margin-bottom: 0;}

.wrap{
	width: 800px;
	background-color: #FFF;
	box-sizing: border-box;
	padding: 50px 70px;
   margin: 0px auto;
	}

.inner{}

.bfIcon{margin-left: 1em;}
.bfIcon::before{
	display: inline-block;
	content: "";
	background-size: contain;
	vertical-align: middle;
	background-repeat: no-repeat;
	 margin-left: -1em;
	}

.aftIcon::after{
	display: inline-block;
	content: "";
	background-size: contain;
	vertical-align: middle;
	background-repeat: no-repeat;
	}

.bgWhite{background-color: #FFF;}
.bgGray{background-color: #F1F3FB;}
.bgBlue{background-color: #2F427A;}
.bgBrown{background-color: #F5F2EA;}

.fc_white{color: #FFF;}
.fc_red{color: #B20000;}
.fc_blue{color: #0000FF;}
.fc_black{color: #000000;}
.bold{font-weight: bold;}



/*table-------------------------*/
/* カレンダーページャー */
ul.calLink{
	margin: 50px 0 20px;
	display: flex;
	align-items: center;
	}
/*ul.calLink::after{
	display: table;
	content: "";
	clear: both;
	}*/
ul.calLink li{
	line-height: 1.2em;
	}
/*ul.calLink li{float: left;}*/
ul.calLink li:nth-child(1),
ul.calLink li:nth-child(3){width: 15%;}

ul.calLink li:nth-child(2){
	width: 70%;
	font-size: 26px;
	font-weight: bold;
	text-align: center;
	}
ul.calLink li:nth-child(2) span{
	font-size: 80%;
	font-weight: normal;
	margin: 0 10px;
	}
ul.calLink li:nth-child(3){text-align: right;}

ul.calLink li:nth-child(2) a{
	background-color: #FFF;
	}
ul.calLink li:nth-child(1) a,
ul.calLink li:nth-child(3) a{
	display: block;
	color: #444;
	font-size: 16px;
	padding: 8px 10px;
	}
ul.calLink li a:hover{opacity: .8;}

ul.calLink li:nth-child(1) a::before,
ul.calLink li:nth-child(3) a::after{
	display: inline-block;
	content: "";
	background-size: contain;
	vertical-align: middle;
	background-repeat: no-repeat;
	background-image: url("../img/arrow_prev.png");
	width: 10px;
	height: 20px;
	margin: 0 20px 0 0;
	}
ul.calLink li:nth-child(3) a::after{
	background-image: url("../img/arrow_next.png");
	margin: 0 0 0 20px
	}

.selectCal{
	display: block;
	width: 80%;
	color: #FFF;
	line-height: 1.2em;
	font-size: 20px;
	text-align: center;
	background-color: #555;
	background-repeat: no-repeat;
	background-size: 30px;
	background-position: 10% center;
	border-radius: 50px;
	padding: 10px 0;
	box-sizing: border-box;
	margin: 0 auto;
	}
.selectCal span{font-weight: bold;}
.selectCal.calMonth{background-image: url("../img/icon_cal.png");}
.selectCal.calweek{background-image: url("../img/icon_calweek.png");}

.selectCal:hover{opacity: 0.7;}

/*カレンダー　日付選択*/
table.cal{
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
	margin-bottom: 20px;
	}

table.cal th,
table.cal td{
	text-align: center;
	border: #808080 1px solid;
	vertical-align: middle;
	}

table.cal th{
	padding: 5px 5px;
	font-weight: normal;
	font-weight: bold;
	}
table.cal td{padding: 10px 5px;}

table.cal td a{display: block;}
table.cal td img{
	display: block;
	max-width: 30px;
	margin: 0 auto;
	}

table.cal th{background-color: #F5F5F5;}/*平日*/
table.cal th:first-child{/*日曜*/
	background-color: #C74345;
	color: #FFF;
	}
table.cal th:last-child{/*土曜*/
	background-color: #5990A4;
	color: #FFF;
	}

table.cal td p:first-child{/*日付*/
	font-size: 20px;
	font-weight: bold;
	}

table.cal td{background-color: #FFF;}/*平日*/
table.cal td:first-child{background-color: #FAF2F3;}/*日曜*/
table.cal td:last-child{background-color: #DAEEF2;}/*土曜*/
table.cal td.today{background-color: #FFDDDD;}/*今日*/
table.cal td.noday{background-color: #F5F5F5;}/*日付以外*/

/*カレンダー　時間選択*/
.timeArea{
	display: flex;
	align-items: flex-start;
	margin-bottom: 50px;
	}

table.time{
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
	margin-right: 2%;
	}
.timeArea table.time:last-child{margin-right: 0;}

table.time th,
table.time td{
	text-align: center;
	border: #808080 1px solid;
	padding: 10px 10px;
	vertical-align: middle;
	}

table.time th{background-color: #B4DFDF;}

table.time td a{display: block;}
table.time td img{
	display: block;
	max-width: 30px;
	margin: 0 auto;
	}

.hv:hover{
	background-color: #FFFAB6!important;
	transition-duration: .1s;
	}

/* カレンダー　週＋時間選択 */
table.calWeek{
	width: 100%;
	table-layout: fixed;
	margin-bottom: 20px;
	}
table.calWeek td a{display: block;}
table.calWeek td img{
	display: block;
	width: 30px;
	margin: 0 auto;
	}

table.calWeek th,
table.calWeek td{
	text-align: center;
	border: #808080 1px solid;
	padding: 10px 10px;
	vertical-align: middle;
	}

table.calWeek th:nth-child(1),
table.calWeek td:nth-child(1){width: 100px;}
table.calWeek th:nth-child(8){/*土曜*/
	background-color: #5990A4;
	color: #FFF;
	}
table.calWeek th:nth-child(2){/*日曜*/
	background-color: #C74345;
	color: #FFF;
	}
table.calWeek th{background-color: #F5F5F5;}/*平日*/

table.calWeek td{background-color: #FFF;}/*平日*/
table.calWeek td:nth-child(8){background-color: #DAEEF2;}/*土曜*/
table.calWeek td:nth-child(2){background-color: #FAF2F3;}/*日曜*/


/* カレンダー凡例 */
.markGuide img{
	width: 30px;
	height: 100%;
	}
	
/* 入力 */
table.inputInfo{
	width: 100%;
	table-layout: fixed;
	margin-bottom: 30px;
	}
table.inputInfo th{
	width: 220px;
	font-size: 18px;
	text-align: left;
	line-height: 1.2em;
	vertical-align: middle;
	padding: 10px 10px;
	box-sizing: border-box;
	}

table.inputInfo th p{line-height: 1em;}
table.inputInfo td{padding: 10px 20px 10px 0;}

table.inputInfo th::before{background-color: #565656;}

/* HEADER --------------------------------------------------- */
header{
	width: 100%;
	padding: 20px 0;
	box-sizing: border-box;
	}
.hdWrap{
	width: 1100px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	}

ul.menu li:not(:last-child){margin-right: 20px;}

.hdWrap h1{
	font-size: 24px;
	color: #FFF;
	}

nav{margin-left: auto;}
nav ul{
	display: flex;
	}
nav ul li{
	display: block;
	padding: 0 1em;
	border-radius: 5px;
	transition-duration: .2s;
	}
nav ul li:hover{
	background-color:rgba(255,255,255,0.2);
	transition-duration: .2s;
	}
nav ul li::before{
	display: inline-block;
	content: "";
	background-size: contain;
	vertical-align: middle;
	background-repeat: no-repeat;
	margin-right: 10px;
	}
nav ul li.top::before{
	background-image: url("../img/icon_cal.png");
	width: 26px;
	height: 30px;
	}
nav ul li.home::before{
	background-image: url("../img/icon_home_w.png");
	width: 24px;
	height: 30px;
	}
nav ul li a{
	color: #FFF;
	font-size: 18px;
	}


/* HELPER --------------------------------------------------- */
.m0{margin:0!important;}
.mb0{margin-bottom:0px!important;}
.mb5{margin-bottom:5px!important;}
.mb10{margin-bottom:10px!important;}
.mb15{margin-bottom:15px!important;}
.mb20{margin-bottom:20px!important;}
.mb25{margin-bottom:25px!important;}
.mb30{margin-bottom:30px!important;}
.mb40{margin-bottom:40px!important;}
.mb50{margin-bottom:50px!important;}
.mb80{margin-bottom:80px!important;}
.mb100{margin-bottom:100px!important;}
.mb300{margin-bottom:300px!important;}
.mb400{margin-bottom:400px!important;}

.mt0{margin-top:0!important;}
.mt5{margin-top:5px!important;}
.mt10{margin-top:10px!important;}
.mt15{margin-top:15px!important;}
.mt20{margin-top:20px!important;}
.mt30{margin-top:30px!important;}
.mt50{margin-top:50px!important;}
.mt100{margin-top:100px!important;}

.mtb0{margin: 0 auto!important;}
.mtb50{margin: 50px auto!important;}

.mr5{margin-right: 5px!important;}
.mr10{margin-right: 10px!important;}
.mr20{margin-right: 20px!important;}
.mr25{margin-right: 25px!important;}
.mr50{margin-right: 50px!important;}

.ml5{margin-left: 5px!important;}
.ml10{margin-left: 10px!important;}
.ml20{margin-left: 20px!important;}
.ml25{margin-left: 25px!important;}
.ml50{margin-left: 50px!important;}

.pb0{padding-bottom:0!important;}
.pb30{padding-bottom:30px!important;}
.pb50{padding-bottom:50px!important;}
.pb300{padding-bottom:300px!important;}

.pt0{padding-top:0px!important;}
.pt10{padding-top:10px!important;}
.pt50{padding-top:50px!important;}
.pt100{padding-top:100px!important;}

.ptb0{padding:0 auto!important;}
.ptb15{padding:15px 0!important;}
.ptb23{padding:23px 0!important;}
.ptb30{padding:30px 0!important;}
.ptb50{padding:50px 0!important;}
.ptb60{padding:60px 0!important;}
.ptb80{padding:80px 0!important;}

.noPadding{padding: 0!important}

.w3{width: 3%!important;}
.w5{width: 5%!important;}
.w10{width: 10%!important;}
.w15{width: 15%!important;}
.w20{width: 20%!important;}
.w25{width: 25%!important;}
.w30{width: 30%!important;}
.w40{width: 40%!important;}
.w50{width: 50%!important;}
.w80{width: 80%!important;}
.w100{width: 100%!important;}

.w60px{width: 60px!important;}

.noPadding{padding: 0!important}

.floatRight{float: right!important;}
.floatLeft{float: left!important;}

.alignLeft{text-align:left!important;}
.alignRight{text-align:right!important;}
.alignCenter{text-align:center!important;}

.mCenter{margin: 0 auto;}
.imgCenter{
	display:block;
	margin:0 auto;
	}

.rpImg{
	max-width: 100%!important;
	height: auto;
	}

.textLink{text-decoration: underline;}
.textLink:hover{text-decoration: none;}
.textNoLink{
	pointer-events: none;
	text-decoration: none;
	}

.hide{visibility: hidden;}

.fc_white{color: #FFF;}
.fc_red{color: #B20000;}

.bold{font-weight: bold;}

.block{display: block!important;}

.pagetop{
	display: block;
	position: fixed;
	bottom: 50px;
	right: 50px;
	width: 80px;
	height: 80px;
	text-align: center;
	background-color: #333;
	}
.pagetop img{
	display: block;
	width: 50%;
	margin: 12px auto 2px;
	}
.pagetop p{color: #FFF;}


/* PAGE ================================================================================*/
ul.rsvMenu li{
	margin-bottom: 40px;
	line-height: 1.4em;
	}

.linkBtn{
	display: block;
	font-size: 18px;
	color: #FFF;
	border-radius:15px;
	padding: 5px;
	}

.menuBtn{
	position: relative;
	width: 100%;
	display: block;
	font-size: 24px;font-weight: bold;
	color: #FFF;
	text-align: center;
	text-indent: -1em;
	letter-spacing: 1px;
	padding: 25px 30px;
	box-sizing: border-box;
	margin-bottom: 25px;
	border-radius: 10px;
	}
.menuBtn span{
	display: block;
	font-size: 18px;
	font-weight: normal;
	letter-spacing: 0;
	line-height: 2em;
	}
.menuBtn:hover{opacity: 0.8;}

.menuBtn::before{
	position: absolute;
	display: block;
	content: "";
	background-size: contain;
	vertical-align: middle;
	background-repeat: no-repeat;
	margin: 0 15px 0 0;
	top: 50%;
	left: 5%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	width: 32px;
	height: 32px;
	}
.icon_none.menuBtn::before{
	background-image: none;
	width: 0;
	margin: 0;
	}
.icon_arrow.menuBtn::before{
	background-image: url("../img/icon_arrow.png");
	}
.icon_check01.menuBtn::before{
	background-image:url("../img/icon_check01.png");
	}
.icon_check02.menuBtn::before{
	background-image: url("../img/icon_check02.png");
	}
.icon_vaccine.menuBtn::before{
	background-image: url("../img/icon_vaccine.png");
	width: 26px;
	}
.icon_medical.menuBtn::before{
	background-image: url("../img/icon_medical.png");
	width: 28px;
	}
.icon_cal.menuBtn::before{
	background-image: url("../img/icon_cal.png");
	}
.icon_karte.menuBtn::before{
	background-image: url("../img/icon_karte.png");
	}
.icon_doc.menuBtn::before{
	background-image: url("../img/icon_doc.png");
	}
.icon_user.menuBtn::before{
	background-image: url("../img/icon_user_w.png");
	}
.icon_setting.menuBtn::before{
	background-image: url("../img/icon_setting_w.png");
	}
	
.cancelBtn{
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 2em;
	}
.cancelBtn:hover{opacity: 0.7;}

.cancelBtn.s{
	width: 60%;
	color: #FFF;
	font-size: 22px;
	border-radius: 50px;
	text-align: center;
	font-weight: bold;
	padding: 5px 10px;
	margin: 0 auto;
	}

.cancelBtn.l{
	width: 90%;
	font-size: 20px;
	border-radius: 50px;
	padding: 5px 10px;
	margin: 0 auto;
	}
.cancelBtn.l p{color: #FFF;}
.cancelBtn.l p:nth-child(1){font-size: 22px;}
.cancelBtn.l p:nth-child(2){font-weight: bold;}

.blue{background-color: #2284B5;}
.green{background-color: #73AD21;}
.orange{background-color: #F0A92E;}
.pink{background-color: #FF6E6E;}
.gray{background-color: #999999;}

.rsvTime {
	position: relative;
	text-align: center;
	margin: 0 0 2em 0;
	padding: 20px 10px;
	max-width: 100%;
	}
.rsvTime:before {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -15px;
	border: 15px solid transparent;
	}
.rsvTime p {
	color: #333;
	font-size: 24px;
	margin: 0;
	padding: 0;
	}

/* 再診複数入力 */
dl.add{}
dl.add dt{
	color: #fff;
	font-size: 20px;
	background-color: #787878;
	margin: 20px 0 0 0;
	padding: 10px 10px;
	cursor: pointer;
	transition-duration: .2s;
	}
dl.add dt:first-child{margin: 0;}
dl.add dt::before{
	display: inline-block;
	content: "";
	background-image: url("../img/icon_add.png");
	background-size: contain;
	vertical-align: middle;
	background-repeat: no-repeat;
	margin-left: -1rem;
	width: 25px;
	height: 20px;
	margin: -5px 10px 0 10px;
	}
dl.add dt:hover{
	opacity: 0.7;
	transition-duration: .2s;
	}
dl.add dd{
	display: none;
	border-color: #787878;
	border-width: 0 1px 1px 1px;
	border-style: solid;
	padding: 20px 20px;
	}

dl.add dd table.inputInfo{margin: 0;}

/* 予約済一覧 */
table.rsvList{width: 100%;}
table.rsvList th,
table.rsvList td{
	border: #ccc 1px solid;
	padding: 10px 10px;
	}

table.rsvList th{background-color: #ebebeb;}
table.rsvList th:first-child{
	width: 10%;
	box-sizing: border-box;
	text-align: center;
	}
table.rsvList td:first-child{
	text-align: center;
	vertical-align: middle;
	}
table.rsvList td p span{font-weight: bold;}

table.rsvList ul.btnArea{margin: 10px 0 0;}
table.rsvList ul.btnArea li [type="button"]{
	font-size: 16px!important;
	padding: 3px 20px;
	}
	
/*ul.btnArea li [type="submit"],
ul.btnArea li [type="button"]{
	font-size: 20px;
	padding: 5px 30px;
	}*/


/* メインカラー 青 */
#typeBlue{background-color: #EDF1F4;}
#typeBlue header,
#typeBlue .pagetop{
	background: rgb(16,123,182);
	background: linear-gradient(149deg, rgba(16,123,182,1) 0%, rgba(1,53,88,1) 55%); 
	}
#typeBlue h2{
	color: #0F76AF;
	border-color: #0F76AF;
	}
#typeBlue h3{
	color: #043C6D;
	border-left: #DDEDF0 8px solid;
	}

#typeBlue ul.calLink li a{background-color: #DDEDF0;}

#typeBlue .rsvTime{background-color: #CAE0E8;}
#typeBlue .rsvTime:before{border-top: #CAE0E8 15px solid;}

#typeBlue [type="button"],
#typeBlue [type="submit"],
#typeBlue [type="reset"]{
	background-color: #0F76AF;
	border: #0F76AF 1px solid;
	}
#typeBlue [type="button"]:hover,
#typeBlue [type="submit"]:hover,
#typeBlue [type="reset"]:hover{
	background-color: #FFF;
	color: #0F76AF;
	}

#typeBlue table.inputInfo th::before{background-color: #07507D;}


/* メインカラー グレー */
#typeGray{background-color: #ebebeb;}
#typeGray header,
#typeGray .pagetop{
	background: rgb(186,186,186);
	background: linear-gradient(149deg, rgba(186,186,186,1) 0%, rgba(56,56,56,1) 55%);
	}
#typeGray h1 a{color: #565656;}
#typeGray h2{
	color: #565656;
	border-color: #565656;
	}
#typeGray h3{
	color: #565656;
	border-left: #EBEBEB 8px solid;
	}

#typeGray ul.calLink li a{background-color: #CCC;}

#typeGray .rsvTime{background-color: #CBCBCB;}
#typeGray .rsvTime:before{border-top: 15px solid #CBCBCB;}

#typeGray [type="button"],
#typeGray [type="submit"],
#typeGray [type="reset"]{
	background-color: #333;
	border: #333 1px solid;
	}
#typeGray [type="button"]:hover,
#typeGray [type="submit"]:hover,
#typeGray [type="reset"]:hover{
	background-color: #FFF;
	color: #333;
	}

#typeGray table.inputInfo th::before{background-color: #565656;}



/* メインカラー 緑 */
#typeGreen{background-color: #EEF2E6;}
#typeGreen header,
#typeGreen .pagetop{
	background: rgb(189,240,196);
background: linear-gradient(149deg, rgba(189,240,196,1) 0%, rgba(22,79,30,1) 55%);
	}

#typeGreen h1 a{color: #255620;}
#typeGreen h2{
	color: #255620;
	border-color: #255620;
	}
#typeGreen h3{
	color: #255620;
	border-left: #B8EBBF 8px solid;
	}

#typeGreen ul.calLink li a{background-color: #D5DEE0;}

#typeGreen .rsvTime{background-color: #D0F0A6;}
#typeGreen .rsvTime:before{border-top: 15px solid #D0F0A6;}

#typeGreen [type="button"],
#typeGreen [type="submit"],
#typeGreen [type="reset"]{
	background-color: #029A62;
	border: #029A62 1px solid;
	}
#typeGreen [type="button"]:hover,
#typeGreen [type="submit"]:hover,
#typeGreen [type="reset"]:hover{
	background-color: #FFF;
	color: #029A62;
	}

#typeGreen table.inputInfo th::before{background-color: #E8F2D3;}


/* メインカラー 茶系 */
#typeBrown{background-color: #F5F2EA;}
#typeBrown header,
#typeBrown .pagetop{
	background: rgb(175,168,148);
	background: linear-gradient(149deg, rgba(175,168,148,1) 0%, rgba(75,57,0,1) 55%);
	}

#typeBrown h1 a{color: #492202;}
#typeBrown h2{
	color: #492202;
	border-color: #492202;
	}
#typeBrown h3{
	color: #492202;
	border-left: #DECBAB 8px solid;
	}

#typeBrown ul.calLink li a{background-color: #F5F2EA;}

#typeBrown .rsvTime{background-color: #F5F2EA;}
#typeBrown .rsvTime:before{border-top: 15px solid #F5F2EA;}

#typeBrown [type="button"],
#typeBrown [type="submit"],
#typeBrown [type="reset"]{
	background-color: #492202;
	border: #492202 1px solid;
	}
#typeBrown [type="button"]:hover,
#typeBrown [type="submit"]:hover,
#typeBrown [type="reset"]:hover{
	background-color: #FFF;
	color: #492202;
	}

#typeBrown table.inputInfo th::before{background-color: #F5F2EA;}

/*待ち状況の確認*/
.timeBox{margin-bottom: 20px;}
.timeBox p{
	font-weight: bold;
	text-align: right;
	line-height: 1.4em;
	}

.nowInfo{
	border: #ccc 3px solid;
	padding: 20px 20px;
	margin-bottom: 50px;
	}
.nowInfo p{
	text-align: center;
	}
.nowInfo p:nth-child(1){
	font-size: 36px;
	font-weight: bold;
	}
.nowInfo p:nth-child(1) span{
	display: block;
	font-size: 26px;
	font-weight: normal;
	border-top: #ccc 1px solid;
	}

.panelArea{
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 50px;
	}
.panelArea > p{
	width: 116px;
	color: #FFF;
	font-size: 40px;
	font-weight: bold;
	text-align: center;
	line-height: 1em;
	border-radius: 10px;
	padding: 15px 0 10px;
	margin: 0 20px 20px 0;
	}
.panelArea > p:nth-child(5n){margin: 0 0 20px 0;}

.panelArea > p:after{
	content: "番";
	font-size: 20px;
	margin: 0 0 0 5px;
	}

#typeBlue .wait > p{background-color: #043C6D;}
#typeGray .wait > p{background-color: #565656;}
#typeGreen .wait > p{background-color: #255620;}
#typeBrown .wait > p{background-color: #492202;}
.goout > p{background-color: #636363;}
.absence > p{background-color: #B20000;}


/* Media Query
================================================================================*/
.hide_largeOnly{display: none!important;}
.hide_smallOnly{display: block!important;}


@media only screen and (max-width: 479px){
	.hide_largeOnly{display: block!important;}
}

@media only screen and (min-width: 480px) and (max-width: 599px) {
	.hide_largeOnly{display: block!important;}	
}

@media only screen and (max-width : 599px) {
	.hide_largeOnly{display: block!important;}
	.hide_smallOnly{display: none!important;}
	
	body{min-width:inherit!important;}
	
	.main{
		width: 94%;
		margin: 0 auto;
		padding: 10% 0;
		}
	
	.main.sub{padding: 60% 0 0 0;}
	
	.logoArea{padding: 10px;}
	.logoArea::after{
		display: table;
		content: "";
		clear: both;
		}
	
	h1{}
	h1 span {
		max-width: 90%;
		font-size: 4vw;
		padding: 1% 10%;
		margin: 0 auto 3%;
	}
	h2{
		width: 90%;
		font-size: 6.0vw;
		margin: 0 auto 10%;
		}
	h3{
		font-size: 6vw;
		padding: 5% 5%;
		font-weight: normal;
		}

	h4{font-size: 5vw;}
	
	table,
	table.time{
		font-size: 5vw;
		line-height: 1.4em;
		}
	
	table.inputInfo th,
	table.inputInfo td{
		border-bottom: none!important;
		}
		
	table.inputInfo th::before{
		display: inline-block;
		content: "";
		background-image: url("../img/arrow02.png");
		background-size: 8px auto;
		background-repeat: no-repeat;
		background-position: center center;
		width: 25px;
		height: 25px;
		border-radius: 3px;
		margin: 0px 11px -5px 0px;
		}
	table.inputInfo th{
		width: 100%;
		display: block;
		font-size: 4.5vw;
		text-align: left;
		padding: 0 0;
		font-weight: bold;
		}
	table.inputInfo th p{display: inline;}
	
	table.inputInfo td{
		display: block;
		padding: 10px 0 30px;
		}
	
	p,
	ol li,
	ul li{
		font-size: 5vw;
		line-height: 1.8em;
		}
	
	ul.disc{margin-left: 6%;}
	ul.disc li{
		font-size: 5vw;
		margin-bottom: 3%;
		line-height: 1.8em;
		}
	
	section{margin-bottom: 20%;}
	
	.wrap{
		width: 100%!important;
		margin: 0 auto;
		padding: 10% 6%;
		}
	
	.size_l{font-size:6vw;}
	
	/* header */
	header{padding: 0;}
	.hdWrap{
		width: 100%;
		display: block;
		}
	
	.hdWrap h1{
		/*font-size: 6.5vw;*/
		font-size: 6.0vw;
		text-align: center;
		padding-top: 3%;
		}
	
	nav{
		margin-top: 3%;
		padding: 3% 0;
		border-top: #fff 1px dotted;
		}
	nav ul{justify-content: center;}
	nav ul li a{font-size: 4.5vw;}
	
	
	/* カレンダーページャー */
	ul.calLink{align-content: stretch;}
	ul.calLink li:nth-child(1),
	ul.calLink li:nth-child(3){width: 20%;}
	ul.calLink li:nth-child(2){
		width: 59%;
		font-size: 5.6vw;
		}
	ul.calLink li:nth-child(2) span{margin: 0;}
	ul.calLink li:nth-child(1) a,
	ul.calLink li:nth-child(3) a{
		font-size: 4vw;
		padding: 45% 10%;
		}
	ul.calLink li:nth-child(1) a::before,
	ul.calLink li:nth-child(3) a::after{margin: 0 10% 0 0;}
	ul.calLink li:nth-child(3) a::after{margin: 0 0 0 10%}

.selectCal{
		width: 100%;
	}
	
	/*カレンダー　時間選択*/
	.timeArea{
		display: block;
		align-items: flex-start;
		}

	table.time{
		width: 100%;
		table-layout: fixed;
		border-collapse: collapse;
		margin-right: 0%;
		margin-bottom: 10%;
		}

	table.time th,
	table.time td{padding: 2% 2%;}
	
	table.time td img{max-width: 20%;}
	
	/*カレンダー　日付選択*/
	table.cal th,
	table.cal td{
		font-size: 5vw;
		vertical-align: top;
		}
	
	table.cal td{padding: 5% 2%;}
	
	table.cal td img{max-width: 80%;}
	table.cal td p:first-child{
		margin-bottom: 10px;
		font-size: 6vw;
		}
	table.cal td p,
	table.cal td a{
		font-size: 5vw;
		line-height: 1em!important;
		}
	
	
	.hv:hover{background-color: transparent;}
	
	/* カレンダー　週＋時間選択 */
	table.calWeek{
		width: 100%;
		table-layout: fixed;
		line-height: 1.4em;
		}
	table.calWeek th,
	table.calWeek td{padding: 4% 0}
	
	table.calWeek th{
		font-size: 4vw;
		line-height: 1.4em;
		}
	table.calWeek th:nth-child(1),
	table.calWeek td:nth-child(1){width: 17%;}
	
	table.calWeek td{
		font-size: 4vw;	
		}
	table.calWeek td a{display: block;}
	table.calWeek td img{width: 70%}
	
	/* 予約済一覧 */
	table.rsvList th{padding: 3% 3%;}
	table.rsvList th:first-child{width: 15%;}
	table.rsvList td{padding: 5% 3%;}
	table.rsvList td p span{display: block;}
	table.rsvList ul.btnArea li{margin: 0 0 0 5%;}
	table.rsvList ul.btnArea li [type="button"]{font-size: 4vw!important;}
	
	
	/* 再診複数入力 */
	dl.add{}
	dl.add dt{
		font-size: 5vw;
		text-align: center;
		padding: 3% 3%;
		}
	dl.add dd{padding: 8% 3% 0;}
	
	/*ページトップボタン*/
	.pagetop{
		position: inherit;
		width: 40%;
		height: 30%;
		margin: 0 auto;
		}
	.pagetop img{width: 20%;}

	
	/*PAGE*/
	.menuBtn{
		position: relative;
		font-size: 5vw;
		line-height: 1.4em;
		text-align: left;
		text-indent: 0;
		letter-spacing: 0px;
		padding: 6% 10% 6% 18%;
		margin-bottom: 20px;
		}
	.menuBtn span{font-size: 4vw;}
	.menuBtn:hover{opacity: 1;}
	.menuBtn::before{width: 9%!important;}
	
	.icon_none.menuBtn{padding: 6% 6%!important;}
	
	.cancelBtn{
		display: block;
		line-height: 1.4em;
		}
	.cancelBtn.s{
		width: 100%;
		font-size: 5vw;
		border-radius: 10px;
		padding: 10px 0;
		}
	.cancelBtn.s span{
		display: none;
		height: 0;
		}
	
	.cancelBtn.l{
		width: 100%;
		font-size: 5vw;
		text-align: center;
		border-radius: 10px;
		padding: 5px;
		}
	.cancelBtn.l p:nth-child(1){font-size: 4vw;}
	
	.cancelBtn.l p:nth-child(1){
		font-size: 6vw;
		}
	.cancelBtn.l p:nth-child(2){
		font-weight: bold;
		font-size: 4.6vw;
		}
		
	.rsvTime p{
	font-size: 7vw;
	line-height: 1.2em;
	}
	.rsvTime p span{font-weight: bold;}
	
	/*待ち状況の確認*/
	.timeBox{
		margin-bottom: 10%;
		}
	.timeBox p{
		text-align: center;
		}
	.nowInfo{
		padding: 10% 5%;
		margin-bottom: 20%;
		}
	.nowInfo p:nth-child(1){
		font-size: 7.6vw;
		}
	.nowInfo p:nth-child(1) span{
		font-size: 5.4vw;
		}
	.nowInfo p:nth-child(2){line-height: 1.4em;}

	.panelArea{
		align-items: flex-start;
		margin-bottom: 20%;
		}
	.panelArea > p{
		width: calc( 90%/3 );
		font-size: 8vw;
		padding: 5% 0 5%;
		margin: 0 5% 5% 0;
		}
	.panelArea > p:nth-child(5n){margin: 0 5% 5% 0}
	.panelArea > p:nth-child(3n){margin: 0 0 5% 0;}

	.panelArea > p:after{
		font-size: 5vw;
		margin: 0 0 0 2%;
		}
		
}

@media only screen and (max-width : 992px){
	body{min-width: 900px;}
}


@media print, only screen and (min-width:1351px){
	body{min-width: 900px;}
}