* {
	-webkit-user-select: none;
	user-select:none;
	-webkit-touch-callout: none;
  font-family: 'Noto Sans JP', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  /* color: #4e1F00; */
  font-weight: 400;
}
html {
	touch-action: manipulation;
}

input, textarea {
	-webkit-user-select: auto;
	user-select: auto;
}
:root {
  --ion-color-primary: #ea5e00;
  --ion-color-primary-shade: #ffae00;
  --ion-color-primary-tint: #ba3e00;
}
ion-menu {
  backdrop-filter: blur(2px);
}
.form ion-label:not(.label-stacked) {
  font-size: 0.9rem !important;
}
.hidden {
  display: none !important;
}

.loading {
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: 10001;
	display: flex;
	align-items: center;
	justify-content: center;
}
.loading > .bkg {
	position: absolute;
	width: 100%;
	height: 100%;
	background: black;
	opacity: 0.5;
	left: 0;
}
@keyframes loadingSpinner {
	0% { transform: rotate(0deg); }
	100% {transform: rotate(360deg);}
}
.loading > .spinner {
	font-size: 10px;
	position: relative;
	text-indent: -9999em;
	border-top: 1.1em solid rgba(255, 255, 255, 0.2);
	border-right: 1.1em solid rgba(255, 255, 255, 0.2);
	border-bottom: 1.1em solid rgba(255, 255, 255, 0.2);
	border-left: 1.1em solid #ffffff;
	transform: translateZ(0);
	animation-name: loadingSpinner;
	animation-duration: 1.1s;
	animation-iteration-count: infinite;
	border-radius: 50%;
	width: 10em;
	height: 10em;
}
.loading > .spinner::after {
  border-radius: 50%;
  width: 10em;
  height: 10em;
}
.fwBold {
  font-weight: 700;
}


.zoomView {
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	font-size: 2rem;
	color: white;
	background-color: black;
	overflow-x: auto;
	z-index: 10000;
}
.zoomView > .snapshots {
	height: 90%;
	position: relative;
	top: 5%;
	display: flex;
	justify-content: space-around;
	align-items: center;
}
.zoomView .snapshot {
	position: relative;
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	display: flex;
	align-items: center;
	justify-content: center;
}
.zoomView .snapshot > .btnClose {
	position: absolute;
	right: 8px;
	top: 4px;
	color: white;
}
.zoomView .snapshot i.fa-times-circle:before {
	background-color: rgba(0, 0, 0, 0.5);
}
.zoomView .snapshot > img ,
.zoomView .snapshot > video {
	width: 100%;
}

.zoomView .snapshot > .bottomPanel {
	position: absolute;
	bottom: 0;
	width: 100%;
	text-align: center;
	background-color: rgba(0, 0, 0, 0.5);
}
.sDialog {
	position: fixed;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 10001;
	overflow: hidden;
	transition: all 0.1s linear;
	opacity: 0;
	pointer-events: none;
}
.sDialog > .bkg {
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
}
.sDialog > .contentFrame {
	position: relative;
	width: 80%;
	background-color: white;
	border-radius: 8px;
	box-shadow: 0 0 8px 4px rgba(0, 0, 0, 0.5);
}
.sDialog > .contentFrameL {
	position: relative;
	width: 96%;
	height: 96%;
	background-color: white;
	border-radius: 8px;
	box-shadow: 0 0 8px 4px rgba(0, 0, 0, 0.5);
}
.sDialog > .contentFrame .section {
	padding: 8px;
}

.sDialog .bottomPanel {
	display: flex;
	position: relative;
	border-top: solid 1px #ccc;
}
.sDialog .bottomPanel > div {
	width: 50%;
	text-align: center;
	padding: 4px;
	color: #066;
	cursor: pointer;
	margin: auto;
}
.sDialog .bottomPanel > div:first-child {
	border-right: 1px solid #ccc;
	border-bottom-left-radius: 8px;
}
.sDialog .bottomPanel > div:last-child {
	border-bottom-right-radius: 8px;
}
.sDialog .bottomPanel > div:active {
	background-color: #CFC;
}
.text-g {
	color: #066;
}

.formView .contactList {
	min-height: 38px;
}

.sDialog .dateSelections .selections {
	display: flex;
}

.sDialog .contentFrameL {
	padding: 8px;
	display: flex;
	flex-direction: column;
}
.sDialog .contentFrameL > .header {
	background-color: aqua;
	color: black;
	text-align: center;
	display: flex;
	justify-content: space-around;
	padding: 8px;
}
.sDialog .contentFrameL > .content {
	flex-grow: 1;
	overflow: auto;
}
.sDialog .contentFrameL .insurances table {
	font-size: 0.9rem;
	margin-bottom: 0;
}
.sDialog .contentFrameL .insurances td:nth-child(1) {
	width: 65%;
}
.sDialog .contentFrameL .insurances td:nth-child(2) {
	text-align: right;
	padding-right: 16px;
}
.sDialog .contentFrameL > .footer .desc {
	font-size: 0.9rem;
	line-height: 1rem;
}
.sDialog .contentFrameL > .footer .btnInsuranceOK {
	text-align: center;
	font-size: 1.1rem;
	color: #066;
	font-weight: 700;
	border-top: solid 1px #ccc;
	padding-top: 8px;
	cursor: pointer;
}
/* Set the flex in order to size the text width to its content */
ion-select::part(placeholder),
ion-select::part(text) {
  flex: 0 0 auto;
}


.footer-md::before {
  background-image: none;
}

.snapShotView {
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

.snapShotView > .bkg {
	position: absolute;
	width: 100%;
	height: 100%;
	background: black;
	opacity: 0.8;
	left: 0;
}
.snapShotView > .contentFrame {
	position: relative;
	width: 90%;
	pointer-events: none;
}
.snapShotView > .contentFrame > img {
	width: 100%;
}
.snapShotView > .contentFrame > video {
	width: 100%;
}
.snapShotView.show > .contentFrame > video {
	pointer-events: auto;
}
.snapShotView > .panelFrame {
	width: 100%;
	position: absolute;
	bottom: 0;
	display: flex;
	justify-content: space-evenly;
	padding: 8px;
	background-color: rgba(0, 0, 0, 0.8);
}
