@charset "utf-8";
/* ==========================
main部分
 ========================== */
/* ボタン部分[トップページ] */
.sp-main-wrap-btn {
	display: table;
	table-layout: fixed;
	width: 100%;
	margin-bottom: 10px;
}
.sp-main-wrap-btn.adjust-height-with-row {
  display: flex;
}
.sp-main-wrap-btn.adjust-height-with-row .sp-main-btn {
  min-height: 100%;
}
.sp-main-wrap-btn:last-of-type {
	margin-bottom: 5px;
}
.sp-main-row-btn {
	position: relative;
	display: table-cell;
	vertical-align: middle;
	width: 50%;
}
.sp-main-row-btn:first-of-type {
	padding-right: 3px;
}
.sp-main-row-btn:last-of-type {
	padding-left: 3px;
}
.sp-main-wrap-btn.topmenu-btn-no-margin-pattern-0 {
	margin-bottom: 1px;
}
.sp-main-wrap-btn.topmenu-btn-no-margin-pattern-0 .sp-main-row-btn:first-of-type {
	padding-right: 1px;
}
.sp-main-wrap-btn.topmenu-btn-no-margin-pattern-0 .sp-main-row-btn:last-of-type {
	padding-left: 1px;
}
.sp-main-wrap-btn.topmenu-btn-no-margin-pattern-1 {
	margin-bottom: 3px;
}
.sp-main-wrap-btn.topmenu-btn-no-margin-pattern-1 .sp-main-row-btn:first-of-type {
	padding-right: 2px;
}
.sp-main-wrap-btn.topmenu-btn-no-margin-pattern-1 .sp-main-row-btn:last-of-type {
	padding-left: 2px;
}
.sp-main-wrap-btn.topmenu-btn-no-margin-pattern-2 {
	margin-bottom: 4px;
}
.sp-main-wrap-btn.topmenu-btn-no-margin-pattern-2 .sp-main-row-btn:first-of-type {
	padding-right: 2px;
}
.sp-main-wrap-btn.topmenu-btn-no-margin-pattern-2 .sp-main-row-btn:last-of-type {
	padding-left: 2px;
}
.sp-main-btn,
.sp-main-btn-item {
	width: 100%;
	height: 84px;
	overflow: hidden;
}
.sp-main-btn {
	display: table;
	table-layout: fixed;
	text-align: center;
	background-color: #fff;
	border: none;
	border-radius: 20px;
	box-shadow: 2px 2px 2px 0px #999;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.sp-main-wrap-btn .sp-main-btn.topmenu-btn-round-type-0 {
	border-radius: 0;
}
.sp-main-wrap-btn .sp-main-btn.topmenu-btn-round-type-1 {
	border-radius: 10px;
}
.sp-main-wrap-btn .sp-main-btn.topmenu-btn-round-type-2 {
	border-radius: 20px;
}
.sp-main-wrap-btn .sp-main-btn.topmenu-btn-round-type-3 {
	border-radius: 30px;
}
.sp-main-wrap-btn .sp-main-btn.topmenu-btn-round-type-4 {
	border-radius: 40px;
}
.sp-main-wrap-btn .sp-main-btn.topmenu-btn-shadow-type-0 {
	box-shadow: none;
}
.sp-main-wrap-btn .sp-main-btn.topmenu-btn-shadow-type-1 {
	box-shadow: 2px 2px 2px 0px #999;
}
.sp-main-wrap-btn .sp-main-btn.topmenu-btn-shadow-type-2 {
	box-shadow: 3px 3px 2px 0px #999;
}
.sp-main-btn-inner-large,
.sp-main-btn-inner-small {
	display: table-cell;
	vertical-align: middle;
	border-radius: inherit;
	overflow: hidden;
}
.sp-main-btn-inner-large.right,
.sp-main-btn-inner-small.right {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}
.sp-main-btn-inner-large.left,
.sp-main-btn-inner-small.left {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}
.sp-main-btn-inner-large.right {
	width: 25%;
}
.sp-main-btn-inner-small.right {
	width: 34%;
}
.sp-main-btn-item {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-content: center;
}
.sp-main-btn-item.large-text {
	padding-left: 10px;
}
.sp-main-btn-item.small-text {
	padding-left: 5px;
}
.sp-main-btn-item.large-text-only {
	padding: 0 10px;
}
.sp-main-btn-item.small-text-only {
	padding: 0 5px;
}
.sp-main-btn-item.large-icon,
.sp-main-btn-item.small-icon {
	overflow: hidden;
	margin: auto auto auto 0;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}
.sp-main-btn-item.large-icon {
	width: 58px;
	height: 58px;
}
.sp-main-btn-item.small-icon {
	width: 46px;
	height: 46px;
}
.icon-right-placement .sp-main-btn-item {
	margin: auto 0px auto auto;
}
.btn-string-hidden {
  visibility: hidden;
}
.sp-body .btn-text {
	display: block;
	line-height: 1.1;
}
.sp-body .btn-text.bottom {
  font-size: 13px;
}
#busy-wait {
  margin-top: 4px;
}
.sp-body .btn-text > span {
	display: inline-block;
	vertical-align: middle;
}
.sp-body .btn-text .strong {
	margin: 0 5px;
	font-size: 18px;
	font-weight: bold;
}
.sp-btn-num {
	font-size: 28px;
}
.busyMessageMaru {
	display: none !important;
}
/* ダミーボックス */
.sp-box-dummy {
	text-align: center;
}
.sp-main .sp-box-dummy {
	padding: 94px 0;
}
.sp-main .sp-box-dummy.large {
	padding: 113px 0;
}
.sp-submain .sp-box-dummy {
	padding: 50px 0;
}
/* タイトル部分[トップページ:FAQ] */
.sp-footer-wrap-title {
	padding: 5px 15px;
}
.sp-footer-title {
	font-size: 16px;
}
/* ボタン関係[トップページ:FAQ] */
.sp-footer-wrap-btn {
	display: table;
	table-layout: fixed;
	width: 100%;
}
.sp-footer-wrap-btn.adjust-height-with-row {
  /* 段ごとのボタン高さ調整機能が有効時 */
  display: flex;
}
.sp-footer-wrap-btn:not(:first-child) {
	margin-top: 10px;
}
.sp-footer-row-btn {
	position: relative;
	display: table-cell;
	vertical-align: middle;
	width: 50%;
}
/* ボタン余白 */
.sp-footer-row-btn:first-child {
	padding-right: 3px;
}
.sp-footer-row-btn:last-child {
	padding-left: 3px;
}
.sp-footer-row-btn.xsmall:first-child {
	padding-right: 4px;
}
.sp-footer-row-btn.xsmall:nth-child(2) {
	padding: 0 2px;
}
.sp-footer-row-btn.xsmall:last-child {
	padding-left: 4px;
}
.sp-footer-wrap-btn.topmenu-btn-no-margin-pattern-0:not(:first-child) {
	margin-top: 1px;
}
.sp-footer-wrap-btn.topmenu-btn-no-margin-pattern-0 .sp-footer-row-btn:first-child {
	padding-right: 1px;
}
.sp-footer-wrap-btn.topmenu-btn-no-margin-pattern-0 .sp-footer-row-btn:last-child {
	padding-left: 1px;
}
.sp-footer-wrap-btn.topmenu-btn-no-margin-pattern-0 .sp-footer-row-btn.xsmall:first-child {
	padding-right: 1px;
}
.sp-footer-wrap-btn.topmenu-btn-no-margin-pattern-0 .sp-footer-row-btn.xsmall:nth-child(2) {
	padding: 0 1px;
}
.sp-footer-wrap-btn.topmenu-btn-no-margin-pattern-0 .sp-footer-row-btn.xsmall:last-child {
	padding-left: 1px;
}
.sp-footer-wrap-btn.topmenu-btn-no-margin-pattern-1:not(:first-child) {
	margin-top: 4px;
}
.sp-footer-wrap-btn.topmenu-btn-no-margin-pattern-1 .sp-footer-row-btn:first-child {
	padding-right: 2px;
}
.sp-footer-wrap-btn.topmenu-btn-no-margin-pattern-1 .sp-footer-row-btn:last-child {
	padding-left: 2px;
}
.sp-footer-wrap-btn.topmenu-btn-no-margin-pattern-1 .sp-footer-row-btn.xsmall:first-child {
	padding-right: 2px;
}
.sp-footer-wrap-btn.topmenu-btn-no-margin-pattern-1 .sp-footer-row-btn.xsmall:nth-child(2) {
	padding: 0 2px;
}
.sp-footer-wrap-btn.topmenu-btn-no-margin-pattern-1 .sp-footer-row-btn.xsmall:last-child {
	padding-left: 2px;
}
.sp-footer-wrap-btn.topmenu-btn-no-margin-pattern-2:not(:first-child) {
	margin-top: 5px;
}
.sp-footer-wrap-btn.topmenu-btn-no-margin-pattern-2 .sp-footer-row-btn:first-child {
	padding-right: 2px;
}
.sp-footer-wrap-btn.topmenu-btn-no-margin-pattern-2 .sp-footer-row-btn:last-child {
	padding-left: 2px;
}
.sp-footer-wrap-btn.topmenu-btn-no-margin-pattern-2 .sp-footer-row-btn.xsmall:first-child {
	padding-right: 2px;
}
.sp-footer-wrap-btn.topmenu-btn-no-margin-pattern-2 .sp-footer-row-btn.xsmall:nth-child(2) {
	padding: 0 2px;
}
.sp-footer-wrap-btn.topmenu-btn-no-margin-pattern-2 .sp-footer-row-btn.xsmall:last-child {
	padding-left: 2px;
}
.sp-footer-btn {
	position: relative;
	display: table;
	table-layout: fixed;
	text-align: center;
	width: 100%;
	height: 60px;
	overflow: hidden;
	background-color: #fff;
	border: none;
	border-radius: 15px;
	box-shadow: 2px 2px 2px 0px #999;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.sp-footer-wrap-btn.adjust-height-with-row .sp-footer-btn {
  /* 段ごとのボタン高さ調整機能が有効時 */
  min-height: 100%;
}
/* ボタン角丸み */
.sp-footer-btn.topmenu-btn-round-type-0 {
	border-radius: 0;
}
.sp-footer-btn.topmenu-btn-round-type-1 {
	border-radius: 10px;
}
.sp-footer-btn.topmenu-btn-round-type-2 {
	border-radius: 15px;
}
.sp-footer-btn.topmenu-btn-round-type-3 {
	border-radius: 20px;
}
.sp-footer-btn.xlarge.topmenu-btn-round-type-3 {
	border-radius: 30px;
}
.sp-footer-btn.topmenu-btn-round-type-4 {
	border-radius: 30px;
}
.sp-footer-btn.xlarge.topmenu-btn-round-type-4 {
	border-radius: 50px;
}
/* ボタン影 */
.sp-footer-btn.topmenu-btn-shadow-type-0 {
	box-shadow: none;
}
.sp-footer-btn.topmenu-btn-shadow-type-1 {
	box-shadow: 2px 2px 2px 0px #999;
}
.sp-footer-btn.topmenu-btn-shadow-type-2 {
	box-shadow: 3px 3px 2px 0px #999;
}
.sp-footer-btn.xlarge {
	height: 100px;
}
.sp-footer-btn-inner-large,
.sp-footer-btn-inner-small,
.sp-footer-btn-inner-xsmall {
	display: table-cell;
	vertical-align: middle;
}
.sp-footer-btn-line {
	position: absolute;
	height: 4px;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto auto;
}
.sp-footer-btn-line.xsmall,
.sp-footer-btn-line.large,
.sp-footer-btn-line.small {
	top: 32px;
}
.sp-footer-btn-line.xlarge {
	top: 74px;
}
.sp-footer-btn-line.xsmall {
	width: 87px;
}
.sp-footer-btn-line.small {
	width: 140px;
}
.sp-footer-btn-line.large,
.sp-footer-btn-line.xlarge {
	width: 298px;
}
.sp-footer-btn-line .line {
	display: block;
}
.sp-footer-btn-line .line.top {
	border: 1px solid transparent;
}
.sp-footer-btn-line .line.bottom {
	margin-left: auto;
	border: 1px solid transparent;
}
.sp-footer-btn-line.xsmall .line {
	width: 86px;
}
.sp-footer-btn-line.small .line {
	width: 139px;
}
.sp-footer-btn-line.large .line,
.sp-footer-btn-line.xlarge .line {
	width: 297px;
}
.sp-footer-btn-item {
	margin: 0 5px;
	font-size: 10px;
}
/* ボタン部分[トップページ以外] */
.spmain .spbtn {
	border: none;
	/* background: linear-gradient(#0288d1, #01579b); */
	background-color:  #1070bc;
	font-weight: bold;
	color: #fff;
}
.spmain .spbtn.link {
	/* background: linear-gradient(#AED581, #8BC34A); */
	background-color: #a1d662;
	background-image: linear-gradient(rgba(255,255,255,.1) 0%,transparent 30%,transparent 10%,rgba(0,0,0,.2) 100%);

}
.spmain.foot .spbtn {
	padding: 15px 10px 13px;
	font-size: 24px;
}
@media screen and (min-width: 768px) {
	a[href^='tel:'] {
		pointer-events: none;
	}
}
/* セクション要素 */
.spmain.head,
.spmain.foot {
	margin-bottom: 20px;
}
/* 内部ヘッド部分 */
.sptitle {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 10px;
	padding: 6px 6px 4px;
	background-color: #03a9f4;
	border-radius: 4px;
	color: #fff;
}
.spcc-busy .sptitle,
.spcc-waitinq .sptitle {
	min-height: 70px;
	overflow: hidden;
}
.sptitle .lead {
	font-size: 18px;
	font-weight: bold;
	line-height: 1.4;
}
.sptitle-inner {
	display: inline-block;
	vertical-align: middle;
	text-align: center;
}
.sptitle-inner .img-wrap {
	margin-right: 9px;
}
.sptitle-inner .sub-lead {
	font-size: 15px;
}
.sptitle-inner .sub-lead .strong {
	display: inline-block;
	height: 34px;
	margin: 0 3px 0 7px;
	font-size: 28px;
}
.sptitle-inner .current-busy-status {
	display: inline-block;
	vertical-align: middle;
}
.spmain.head .spcontainer .sptext {
	font-size: 14px;
}
.spmain.head .spcontainer .sptext:not(:first-child) {
	margin-top: 20px;
}
/* 内部メイン部分 */
.spcontainer {
	margin-bottom: 10px;
}
.spcontainer:last-of-type {
	margin-bottom: 0;
}
.spcontent {
	position: relative;
	display: block;
	width: 100%;
}
.spcontent:last-of-type {
	margin-bottom: 0;
}
.spcontent.head {
	margin-bottom: 10px;
	padding: 5px 10px 3px;
	background-color: #b3e5fc;
	border-radius: 4px;
}
.spcontent.head .splead {
	display: inline-block;
	vertical-align: middle;
	/*width: calc(100% - 32px);*/
	font-size: 15px;
	font-weight: bold;
}
.spcontent.head .required {
	display: inline-block;
	vertical-align: middle;
	float: right;
	/* width: 32px; */
	padding: 1px 3px;
	background-color: #ff0c0c;
	border-radius: 4px;
	color: #fff;
	font-size: 13px;
	font-weight: bold;

}
.spcontent.body {
	padding: 0 10px;
}
/* メッセージボックス */
.spmsg-wrap {
	text-align: left;
	padding: 10px;
	border: 3px solid #e2e2e2;
	border-radius: 4px;
}
.spmsg-wrap p {
	font-weight: bold;
	font-size: 14px;
}
/* table関係 */
.sp-main table {
  margin-bottom: 5px;
  --bs-table-bg: transparent;
  --bs-table-color: initial;
  --bs-table-border-color: #ddd;
}
.sp-main .table-bordered>thead>* {
  border-bottom-width: calc(var(--bs-border-width)* 2);
}
.sp-main table:last-of-type {
	margin-bottom: 0;
}
.sp-main tbody > tr:nth-of-type(odd) {
	background-color: #e8f5e9;
	color: #000000;
}
.sp-main tbody > tr:nth-of-type(even){
	background-color: #FFFFFF;
	color: #000000;
}
.sp-main thead > tr > td,
.sp-main thead > tr > th,
.sp-main tbody > tr > td,
.sp-main tbody > tr > th,
.sp-main tfoot > tr > td,
.sp-main tfoot > tr > th {
	padding: 3px 5px;
}
.sp-main thead th {
	text-align: center;
	font-size: 14px;
}
.sp-main thead .sat {
	color: #0091ea;
}
.sp-main thead .sun,
.sp-main thead .hol {
	color: #eb0096;
}
.sp-main tbody td {
	font-size: 18px;
}
.sp-main .sptd-img {
	text-align: center;
	vertical-align: middle;
  width: 21.58%;
  position: absolute;
  top:51%;
  transform: translateY(-60%);
}
/* 入力内容表示部分 */
.sp-main .output-parts {
	display: block;
	width: 100%;
	min-height: 64px;
	padding: 7px 12px 5px;
	font-size: 18px;
	background-color: #e1f5fe;
	border: 1px solid #ccc;
	border-radius: 4px;
	color: #000000;
}
.sp-main .sptd-output .output-parts {
	word-break: break-word
}
.dl-menuwrapper .output-blank-parts {
  margin-top: 2px;
}
.sp-main .output-banner {
	display: block;
	text-align: center;
	padding: 17px 0 15px;
}
/* フォーム部品の外側の要素。該当する要素が不明だが、任意入力可能なコードに該当する可能性があるため念のため残す。 */
.sp-main .form-inline .form-group {
	display: inline-block;
	vertical-align: middle;
	margin-bottom: 0;
}
/* フォーム部品の外側の要素。該当する要素が不明だが、任意入力可能なコードに該当する可能性があるため念のため残す。 */
.sp-main .form-inline .form-control {
	display: inline-block;
	vertical-align: middle;
}
/* label要素と input要素 */
.sp-main .form-group .splabel,
.sp-main .form-group .form-control,
.sp-main .form-group .form-group {
	display: inline-block;
	vertical-align: middle;
	margin-bottom: 0;
}
/* label要素 */
.sp-main .splabel {
	margin-bottom: 0;
}
.sp-main .splabel.mr {
	margin-right: 3px;
}
/* input要素 */
.sp-main .form-control,
.sp-main .form-select {
	padding: 7px 12px 5px;
	font-size: 18px;
	background-color: #fcebe3;
	letter-spacing: -0.1em;
}
.sp-main .form-select {
	padding: 6px 3px 0;
}
 .sp-main #affair-select.form-select {
	height: 52px;
}
.sp-main textarea.form-control {
	resize: none;
}
/* ラジオボタンの装飾 */
.sp-main .rb-input {
	display: none;
}
.sp-main .rb-parts {
	position: relative;
	display: block;
	text-align: right;
	width: 134px;
}
.sp-main .rb-parts::before {
	content: '';
	display: block;
	position: absolute;
	width: 15px;
	height: 15px;
	top: 5px;
	left: 0;
	border: 1px solid #0288d1;
	border-radius: 50%;
}
.sp-main .rb-input:checked + .rb-parts {
	color: #0288d1;
}
.sp-main .rb-input:checked + .rb-parts::before {
	background-color: #0288d1;
}
/* リスト関係 */
.sp-main li {
	list-style: none;
}
/* エラー部分 */
.sp-main .form-control.error,
.sp-main .form-select.error {
	background-color: #FFFF00 !important;
}
/* 非活性部分 */
.sp-main .form-control.disabled,
.sp-main .form-select.disabled {
	background-color: #dadada !important;
	color: #aaaaaa;
}
.sp-main .rb-input:checked + .disabled::before {
	background-color: #dadada !important;
}
.sp-main .rb-input + .disabled::before {
	border: 1px solid #b1b1b1 !important;
}
.spinput-time ul:last-child .disabled {
	color: #aaaaaa !important;
}
.spcontent.body.spcbre .disabled {
	background-color: #dadada !important;
	color: #aaaaaa !important;
}
.spcontent.body.spcbre .disabled .none-reserve-link{
	color: #aaaaaa;
}
.spcontent .disabled,
.wrap-spbtn .disabled {
	background-color: #dadada !important;
	color: #aaaaaa !important;
}
.readonly-parent {
	cursor: not-allowed;
}
.sp-main .form-control.readonly-child {
	background-color: #dadada !important;
	color: #aaaaaa;
	pointer-events: none;
}

/* 内部フット部分 */
.spmain.foot .wrap-spbtn {
	width: 60%;
	margin: 0 auto;
}
.spmain.foot .sptext {
	text-align: center;
	max-width: 100%;
	margin: 0 auto 20px;
	padding: 0 10px
}
.spmain.foot .sptext > p {
	display: inline-block;
	text-align: left;
	font-size: 15px;
	font-weight: bold;
	color: #0091ea;
}
@media screen and (max-width: 320px) {
	.spmain.foot .sptext > p {
		letter-spacing: -0.1em;
	}
}
/* ==========================
混雑状況アイコン
 ========================== */
/* アイコン */
.sptitle-inner .icon-wrap {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	width: 22px;
	height: 22px;
	background-color: #fcfcfc;
	border-radius: 4px;
}
.sp-main .icon {
	display: inline-block;
	vertical-align: middle;
	width: 18px;
	height: 18px;
}
.sptitle-inner .icon-wrap .icon {
	position: absolute;
	top: 2px;
	left: 2px;
}
.sp-main table .icon {
	margin-bottom: 3px;
}
.sp-main .icon.busy-lev1 {
	background: url(/image/icon/cc_busy_1.svg) center no-repeat;
	background-size: contain;
}
.sp-main .icon.busy-lev2 {
	background: url(/image/icon/cc_busy_2.svg) center no-repeat;
	background-size: contain;
}
.sp-main .icon.busy-lev3 {
	background: url(/image/icon/cc_busy_3.svg) center no-repeat;
	background-size: contain;
}
.sp-main .icon.busy-lev4 {
	background: url(/image/icon/cc_busy_4.svg) center no-repeat;
	background-size: contain;
}
.sp-main .icon.busy-off {
	background: url(/image/icon/cc_busy_5.svg) center no-repeat;
	background-size: contain;
}
.sp-main .table thead{
	background: #fcfcfc;
	color: #000000;
}

/* 凡例 */
.sp-main .legend {
	text-align: center;
	margin-bottom: 10px;
}
.sp-main .legend-inner {
	display: inline-block;
	padding: 5px;
	border: 1px solid #ccc;
	border-radius: 4px;
}
.sp-main .legend-items {
	display: block;
	text-align: left;
	margin-bottom: 0;
	padding-left: 0;
}
.sp-main .legend-items > li {
	display: inline-block;
	margin-top: 2px;
	margin-right: 12px;
}
.sp-main .legend-items > li .icon {
	margin-bottom: 2px;
}
.sp-main .legend-items > li > span:not(.icon) {
	display: inline-block;
	vertical-align: middle;
}
@media screen and (min-width: 321px) {
	/* .sp-main .legend-items > li:not(:first-child) {
		padding-left: 10px;
	} */
}
/* ==========================
スマホコールバック予約
 ========================== */
/* ご予約日部分 */
.spinput-date .form-select {
	width: 210px;
	margin: 0 auto;
}
/* ご予約日テーブル部分 */
.spcontent.body.spcbre {
	/* font-family: meiryo; */
	font-size: 14px;
	font-family: 'ヒラギノ角ゴシック',
				 'YuGothic',
				 'Yu Gothic',
				 'メイリオ',
				 'Meiryo',
				 'ＭＳ Ｐゴシック',
				 'MS PGothic',
				 'Avenir',
				 'Helvetica Neue',
				 'Helvetica',
				 'Arial',
				 'Hiragino Sans';
}
.spcontent.body.spcbre tr>td{
	font-size: 16px;
}
.table.table-bordered.table-spcbre{
	table-layout: fixed;
}
.spcontent.body.spcbre p {
	margin-bottom: 2.5px;
}
.table-spcbre thead th {
	font-size: 10px;
	width: 14.28%;
}
#cbreserve-form .table-spcbre thead {
	background: #ffffcc;
}
.table-spcbre thead th.saturday {
	background: #85c8f2;
}
.table-spcbre thead th.sunday,
.table-spcbre thead th.holiday {
	background: #ff899b;
}
.table-spcbre tbody td {
	background-color: #fff;
	color: #111;
	text-align: center;
	width: 14.28%;
}
.table-spcbre tbody td .reserve-link {
	text-decoration: underline;
}
.table-spcbre thead th.is-clicked,
.table-spcbre tbody td.is-clicked{
	background-color: #FFCC84;
}
.table-spcbre tbody td.error{
	background: #FFFF00;
}
/* ご希望の時間帯部分 */
.spinput-time .spcontent.cblist {
	text-align: center;
}
.spinput-time ul {
	display: inline-block;
	vertical-align: top;
	width: 143px;
	margin-bottom: 0;
	padding-left: 0;
}
.spinput-time li {
	margin-bottom: 15px;
}
.spinput-time li:last-child {
	margin-bottom: 0;
}
.spinput-time li .rb-wrap .splabel {
	display: block;
	font-size: 18px;
	font-weight: normal;
}
.spinput-time ul:last-child .rb-parts {
	margin-left: auto;
}
#cbreserve-form .spmain.body,
#cbreserve-confirm-form .spmain.body {
	margin-bottom: 20px;
}
.spcontent .regist-reserve-date{
	width:70%;
	text-align:center;
	background:#FFC;
	padding:10px 0px 0px 0px;
	border:1px solid #777;
	margin-top:15px;
	margin-left:auto;
	margin-right:auto;
}
.spcontent .regist-reserve-date ul {
	padding-left:0;
}
.spcontent .regist-reserve-date ul li {
	margin-top:5px;
}
.spcontent .regist-reserve-date ul p {
	color: #f00;
	text-align: left;
	padding: 0px 6px;
	margin-top:5px;
}
.spcontent #reserve-cancel{
	width: 35%;
	padding-top: 10px;
	padding-bottom: 10px;
	margin-right: auto;
	margin-left: auto;
}
.sptext-change {
	font-size: 14px;
	margin: 15px auto 10px auto;
}
.wrap-spbtn #reserve-change-btn {
	width: 45%;
	font-size: 14px;
    font-weight: bold;
    color: #fff;
	background: #a1d662;
	background-image: linear-gradient(rgba(255,255,255,.1) 0%,transparent 30%,transparent 10%,rgba(0,0,0,.2) 100%);
	border-radius: 4px;
	padding: 10px 5px;
	border: none;
	margin: 0 auto;
	display: block;
}

/* ==========================
コールセンター混雑状況
+
コールセンター待ち時間照会
+
コールセンター電話番号表示
 ========================== */
.spcc-busy .spmain.head,
.spcc-waitinq .spmain.head,
.spcc-tel .spmain.head,
.spcustom-menu .spmain.head{
	margin-bottom: 10px;
}
/* ==========================
コールセンター混雑状況
+
コールセンター待ち時間照会
 ========================== */
@media screen and (min-width: 321px) {
	.spcc-busy tbody td:nth-child(n+2),
	.spcc-waitinq tbody td:nth-child(n+2) {
		width: 15%;
	}
}
@media screen and (max-width: 320px) {
	.spcc-busy tbody td:nth-child(n+2),
	.spcc-waitinq tbody td:nth-child(n+2) {
		width: 13%;
	}
}
.spcc-busy tbody td,
.spcc-waitinq tbody td {
	text-align: center;
}
/* ==========================
コールセンター待ち時間照会
 ========================== */
@media screen and (max-width: 320px) {
	.spcc-waitinq .sptitle-inner .sub-lead {
		font-size: 14px;
	}
}
/* ==========================
コールセンター電話番号表示
 ========================== */
.spcc-tel .spmain.body .spcontainer:first-of-type,
.spcustom-menu .spmain.body .spcontainer:first-of-type {
    margin-bottom: 8px;
}
.spcc-tel .spmain.body .spcontainer:last-of-type,
.spcustom-menu .spmain.body .spcontainer:last-of-type {
	margin-top: 8px;
}
.spcc-tel .wrap-spbtn.head,
.spcustom-menu .wrap-spbtn.head {
	width: 44%;
	margin: 0 auto 10px;
}
.spcc-tel .wrap-spbtn.head .spbtn,
.spcustom-menu .wrap-spbtn.head .spbtn {
	padding: 8px 10px 6px;
	font-size: 15px;
}
.spcc-tel .img-parts,
.spcustom-menu .img-parts {
	display: inline-block;
	vertical-align: top;
	height: 65px;
	width: 65px;
	background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
	border: 1px solid #ccc;
}
@media screen and (min-width: 321px) {
	.spcc-tel tbody td:nth-child(n+2),
	.spcustom-menu tbody td:nth-child(n+2) {
		width: 78%;
	}
}
@media screen and (max-width: 320px) {
	.spcc-tel tbody td:nth-child(n+2),
	.spcustom-menu tbody td:nth-child(n+2) {
		width: 74%;
	}
}
.spmain .spbtn.tel-num {
	margin-top: 3px;
	padding: 23px 12px 20px;
	font-size: 20px;
}
.spcc-tel .output-parts.tel-com,
.spcustom-menu .output-parts.tel-com {
	min-height: 36px;
	font-size: 16px;
}
/* ==========================
チャット案内
 ========================== */
.spchat-info {
	margin-top: 10px;
}
.spchat-info .output-parts {
	min-height: 400px;
}
/* ==========================
SP画面色デザイン設定用
 ========================== */
.desc-color{
	color: #111;
}
.exec-btn{
	background-color:  #1070bc;
	background-image: linear-gradient(rgba(255,255,255,.1) 0%,transparent 30%,transparent 10%,rgba(0,0,0,.2) 100%);
	border: 1px solid rgba(0,0,0,.2);
	color: #ffffff;
}
/* ==========================
メールアドレス入力補完用
 ========================== */
 .ui-widget-content{
	 width: 50%;
	 font-size: 20px;
	 padding: 3px 5px;
	 border: 1px solid #c5c5c5;
	 background: #ffffff;
	 color: #333333;
 }
 .ui-widget-content li{
	 list-style-type: none;
 }
 .ui-helper-hidden-accessible{
	 display: none;
 }
 /* ==========================
Datepicker CSS変更
 ========================== */
.ui-datepicker {
	width: 23em !important;
 }
.ui-datepicker .ui-datepicker-title {
	font-size: 1.4em !important;
 }
.ui-datepicker .ui-datepicker-next,
.ui-datepicker .ui-datepicker-prev  {
    width: 2.5em !important;
    height: 2.5em !important;
 }
.ui-datepicker .ui-icon {
	text-indent: 0 !important;
	background-image: none !important;
 }
.ui-datepicker th {
	font-size: 1.4em !important;
}
.ui-datepicker-week-end:first-child span {
	color: #ff0000 !important;
}
.ui-datepicker-week-end:last-child span {
	color: #0000ff !important;
}
.ui-datepicker td a {
	font-size: 1.8em !important;
 }
.ui-datepicker-week-end:first-child .ui-state-default{
	color: #ff0000 !important;
}
.ui-datepicker-week-end:last-child .ui-state-default{
	color: #0000ff;
}
.holiday-color > .ui-state-default {
	color: #ff0000 !important;
}
.ui-state-disabled {
	font-size: 1.8em !important;
}
 /* ==========================
ResponsiveMultiLevelMenu用
 ========================== */
.dl-menuwrapper .dl-menu li {
	width: 100%;
}
.responsive-menu {
	transition-duration: 0.8s;
    overflow: hidden;
}
li.first {
	border: 1px solid #ddd;
  margin-top: 3px;
}
li.next {
	border-left: 1px solid #ddd;
	border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
span.dan {
	float: left;
}
span.dan .img-parts {
	position: relative;
	margin-top: 11px;
}
span.dan2 {
	display: block;
	margin-left: 22%;
	padding: 1px 5px;
  border-left: 1px solid #ddd;
}
@media screen and (max-width: 400px) {
  span.dan2 {
    margin-left: 76px;
  }
  .sp-main .sptd-img {
    margin-left: 5px;
    width: 0%;
  }
}
.dl-menuwrapper div.spcontent.body {
  padding-left: 0px;
  padding-right: 0px;
}
span.dan2 .output-parts {
	margin-bottom: 2px;
	margin-top:2px;
}
span.category {
	display: block;
	padding: 2px 5px;
	border: 1px solid #ddd;
}
li.color:nth-child(odd) {
  background-color: #e8f5e9;
  position: relative;
}
li.color:nth-child(even) {
  background-color: #fff;
  position: relative;
}
.dl-menuwrapper .cgtitle {
	display: flex;
	flex-direction: column;
	justify-content: center;
	background-color: #03a9f4;
	background-image: linear-gradient(
		rgba(255,255,255,.1) 0%,
		transparent 30%,
		transparent 10%,
		rgba(0,0,0,.2) 100%);
		font-size: 15px;
	border-radius: 4px;
	word-break: break-all;
	overflow: hidden;
}
.cgtitle p {
	pointer-events: none;
}
.dl-menuwrapper .category-title {
  /* vivr-tree-list.js::restoreCategoryTitleTextAlign() によるインラインCSSで上書きする挙動がある。 */
  text-align: center;
  min-height: 40px;
  background-image : unset;
  background-color: #FFA500;
  color: #FFFFFF;
}

.dl-menuwrapper .link-btn {
	display: flex;
	flex-direction: column;
	justify-content: center;
	background-color: #FF8119;
	background-image: linear-gradient(
		rgba(255,255,255,.1) 0%,
		transparent 30%,
		transparent 10%,
		rgba(0,0,0,.2) 100%);
	font-size: 15px;
	word-break: break-all;
	overflow: hidden;
}
.dl-menuwrapper .rich-text {
  width:100%;
  font-size: 15px;
  word-break: break-all;
  padding: 3px;
  margin-bottom: 2px;
  margin-top: 3px;
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid transparent;
}
.dl-menuwrapper .rich-text a {
  min-height: unset;
  display: unset;
  line-height: unset;
  color: unset;
  outline: unset;
  padding: unset;
  margin-bottom: unset;
  margin-top: unset;
}
.dl-menuwrapper li.dl-back > a {
  background-color: #649fbb;
}
.dl-menuwrapper li.dl-back.round,
.dl-menuwrapper li.dl-back.round > a {
	border-radius: 30px;
}
.dl-menuwrapper li.dl-back.fit {
	width: fit-content;
}
.dl-menuwrapper li.dl-back.fit > a {
	min-height: 46px;
}
.dl-menuwrapper li.dl-back.left {
	margin-left: 0;
	margin-right: auto;
}
.dl-menuwrapper li.dl-back.center {
	margin-left: auto;
	margin-right: auto;
}
.dl-menuwrapper li.dl-back.right {
	margin-left: auto;
	margin-right: 0;
}
.dl-menuwrapper ul li.dl-back:after,
.dl-menuwrapper li > a:not(:only-child):after {
	font-size: 15px;
	color: #fff;
}
.dl-menuwrapper ul li.dl-back:after {
	filter: grayscale(60%);
}

