@charset "UTF-8";
/*PC,タブレット*/
/*スマホ縦横*/
/*iPhone5以前*/
[ng\:cloak],
[ng-cloak],
[data-ng-cloak],
[x-ng-cloak],
.ng-cloak,
.x-ng-cloak {
  display: none !important;
}

* {
  margin: 0;
  padding: 0;
  border: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-family: "Hiragino Sans", Meiryo, "Noto Sans CJK JP", sans-serif;
  outline: none;
  word-wrap: break-word;
  word-break: break-all;
  text-decoration: none;
  font-weight: normal;
}

img {
  padding: 0;
  border: 0;
  vertical-align: bottom;
}

button {
  color: #333;
}

html {
  width: 100%;
  height: 100%;
  font-size: 14px;
  line-height: 1.5em;
}

body {
  position: relative;
  width: 100%;
  height: 100%;
  font-size: 1rem;
  line-height: 1.5em;
  -webkit-text-size-adjust: 100%;
}

html.body-scroll-disabled,
body.body-scroll-disabled {
  overflow: hidden;
}

header {
  width: 100%;
  padding: 0;
}

section {
  width: 100%;
  min-height: 600px;
  padding: 0px;
  background-color: #fff;
  color: #333;
  line-height: 1.5em;
}

@media only screen and (max-width: 640px) {
  section {
    padding: 0px;
  }
}
.app-body {
  width: 100%;
  height: 100%;
}

.mainSection {
  width: 100%;
  padding-top: 16px;
  padding-bottom: calc(44px + 0px + 16px);
  padding-bottom: calc(env(safe-area-inset-bottom) + 44px + 0px + 16px);
}
.mainSection.reservation {
  padding-bottom: calc(
      44px + 0px + 70px + 16px
    );
  padding-bottom: calc(
      env(safe-area-inset-bottom) + 44px + 0px + 70px + 16px
    );
}

.loginScreen {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 75%;
}

.loginScreen iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.container {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
  max-width: 1024px;
  left: 0;
  right: 0;
}
.container.salonList {
  padding-left: 5px;
  padding-right: 6px;
}

.layoutTable,
.layout {
  display: table;
}
.layoutTable.layoutFixed,
.layout.layoutFixed {
  table-layout: fixed;
}
.layoutTable.withCellPadding .layoutCell .cell, .layoutTable.withPadding .layoutCell .cell, .layoutTable.padding .layoutCell .cell,
.layout.withCellPadding .layoutCell .cell,
.layout.withPadding .layoutCell .cell,
.layout.padding .layoutCell .cell {
  padding-left: 5px;
  padding-right: 5px;
}
.layoutTable.withCellPadding .layoutCell .cell:first-of-type, .layoutTable.withPadding .layoutCell .cell:first-of-type, .layoutTable.padding .layoutCell .cell:first-of-type,
.layout.withCellPadding .layoutCell .cell:first-of-type,
.layout.withPadding .layoutCell .cell:first-of-type,
.layout.padding .layoutCell .cell:first-of-type {
  padding-left: 0;
}
.layoutTable.withCellPadding .layoutCell .cell:last-of-type, .layoutTable.withPadding .layoutCell .cell:last-of-type, .layoutTable.padding .layoutCell .cell:last-of-type,
.layout.withCellPadding .layoutCell .cell:last-of-type,
.layout.withPadding .layoutCell .cell:last-of-type,
.layout.padding .layoutCell .cell:last-of-type {
  padding-right: 0;
}
.layoutTable.horizontal-padding .layoutCell,
.layoutTable.horizontal-padding .cell,
.layout.horizontal-padding .layoutCell,
.layout.horizontal-padding .cell {
  padding-left: 5px;
  padding-right: 5px;
}
.layoutTable.horizontal-padding .layoutCell:first-child,
.layoutTable.horizontal-padding .cell:first-child,
.layout.horizontal-padding .layoutCell:first-child,
.layout.horizontal-padding .cell:first-child {
  padding-left: 0;
}
.layoutTable.horizontal-padding .layoutCell:last-child,
.layoutTable.horizontal-padding .cell:last-child,
.layout.horizontal-padding .layoutCell:last-child,
.layout.horizontal-padding .cell:last-child {
  padding-right: 0;
}

.layoutInlineTable {
  display: inline-table;
  vertical-align: middle;
}
.layoutInlineTable.layoutFixed {
  table-layout: fixed;
}
.layoutInlineTable.withMarginTop {
  margin-top: 15px;
}
.layoutInlineTable.withMarginBottom {
  margin-bottom: 15px;
}
.layoutInlineTable.withCellPadding .layoutCell, .layoutInlineTable.withPadding .layoutCell {
  padding-left: 5px;
  padding-right: 5px;
}
.layoutInlineTable.withCellPadding .layoutCell:first-of-type, .layoutInlineTable.withPadding .layoutCell:first-of-type {
  padding-left: 0;
}
.layoutInlineTable.withCellPadding .layoutCell:last-of-type, .layoutInlineTable.withPadding .layoutCell:last-of-type {
  padding-right: 0;
}

.layoutRow,
.row {
  display: table-row;
}

.layoutCell,
.cell {
  display: table-cell;
}
.layoutCell.withPadding,
.cell.withPadding {
  padding: 5px;
}
.layoutCell.withPadding:first-of-type,
.cell.withPadding:first-of-type {
  padding-left: 0;
}
.layoutCell.withPadding:last-of-type,
.cell.withPadding:last-of-type {
  padding-right: 0;
}

a {
  text-decoration: none;
  color: #3399ff;
  cursor: pointer;
}
a a:hover,
a a:active {
  color: #333;
  text-decoration: none;
}
a.danger {
  color: #f00;
}
a.danger a:hover,
a.danger a:active {
  color: #cc0000;
}
a.decoration {
  text-decoration: underline;
}
a.decoration a:hover,
a.decoration a:active {
  text-decoration: underline;
}

hr {
  margin-top: 5px;
  margin-bottom: 5px;
}

.description {
  position: relative;
  font-size: 13px;
  margin-bottom: 5px;
}
.description.caution {
  font-size: 14px;
  font-weight: bold;
  vertical-align: middle;
  position: relative;
  padding-left: 24px;
}
.description.caution:before {
  position: absolute;
  top: 0px;
  left: 0px;
  content: url("../img/icon_caution.svg");
  display: inline;
  vertical-align: middle;
}

.underDescription {
  font-size: 13px;
  margin-top: -7px;
  margin-bottom: 5px;
}

.listMark {
  display: inline-block;
  padding: 4px 9px;
  margin-right: 2px;
  margin-bottom: 5px;
  font-size: 16px;
  font-weight: bold;
  color: #333;
  background-color: #eee;
  border-radius: 5px;
  -webkit-box-shadow: 1px 1px 0 0 rgba(0, 0, 0, 0.2);
          box-shadow: 1px 1px 0 0 rgba(0, 0, 0, 0.2); /* xOffset yOffset blurDistance spreadDistance color */
}
.listMark.default {
  color: #333;
  background-color: #eee;
  border: 1px solid #ccc;
}
.listMark.primary {
  color: #fff;
  background-color: #bbb;
  border: none;
}
.listMark.small {
  padding: 2px 6px;
  font-size: 14px;
}

.listTable {
  display: table;
  width: 100%;
}
.listTable .listCell {
  display: table-cell;
}
.listTable .listCell.listMarkCell {
  width: 44px;
}

.textButton {
  padding: 5px 0;
  cursor: pointer;
  color: #333;
  font-weight: normal;
  background: transparent;
  text-align: left;
  position: relative;
  font-size: 14px;
}
.textButton.small {
  font-size: 10px;
}
.textButton.basic {
  font-size: 12px;
}
.textButton.large {
  font-size: 14px;
}
.textButton.large2 {
  font-size: 16px;
}
.textButton.exLarge {
  font-size: 18px;
}
.textButton.linkColor {
  color: #3399ff;
}
.textButton.linkColor .mark:after {
  color: #3399ff;
  opacity: 0.7;
}
.textButton.linkColor:active:enabled {
  color: #333;
}
.textButton.linkColor:active:enabled .mark:after {
  color: #333;
  opacity: 0.7;
}
.textButton.blankPageLeft {
  background: url("../img/icon_blank_page_blue.svg") no-repeat left center;
  padding-left: 20px !important;
}
.textButton.blankPageLeft:active:enabled {
  background: url("../img/icon_blank_page_black.svg") no-repeat left center;
}
.textButton.blankPageRight:after {
  content: url("../img/icon_blank_page_blue.svg");
  position: relative;
  top: 3px;
}
.textButton.mapMarkerLeft {
  padding-left: 20px !important;
}
.textButton.mapMarkerLeft:before {
  position: absolute;
  font-family: "FontAwesome";
  content: "\f041";
  font-size: 18px;
  left: 3px;
}
.textButton.mapMarkerLeft.largeMark {
  padding-left: 28px !important;
}
.textButton.mapMarkerLeft.largeMark:before {
  padding-top: 4px;
  font-size: 32px;
}
.textButton.arrowCircleRight {
  padding-left: 1.4em !important;
}
.textButton.arrowCircleRight:before {
  position: absolute;
  font-family: "FontAwesome";
  content: "\f18e";
  font-size: 1.2em;
  left: 3px;
  top: 0.3em;
}
.textButton:active:enabled {
  color: #3399ff;
}
.textButton:active:enabled .mark:after {
  color: #3399ff;
  opacity: 0.7;
}
.textButton:disabled {
  cursor: default;
  color: #333 !important;
  opacity: 0.2;
}
.textButton:disabled.notUseDisabledAlpha {
  opacity: 1 !important;
}
.textButton .mark {
  background: transparent;
}
.textButton .mark:after {
  margin-left: 0px;
  padding: 0 1px;
  font-family: "FontAwesome";
  color: #333;
  opacity: 0.7;
}
.textButton .mark.closed:after {
  font-size: 18px;
  content: "\f138";
}
.textButton .mark.opened:after {
  font-size: 18px;
  content: "\f13a";
}
.textButton .mark.deleteItem:after {
  font-size: 18px;
  content: "\f057";
}

.button {
  margin-right: 7px;
  margin-bottom: 15px;
  padding: 0 10px;
  color: #333;
  background: #fff;
  border: 1px solid #ccc;
  cursor: pointer;
  position: relative;
  vertical-align: middle;
  /* イメージを内包するボタンにhover active反応をつける */
  /*FBでログインボタン*/
  /*FBに投稿ボタン*/
}
.button.limitWidth {
  max-width: 500px !important;
}
.button.square {
  border-radius: 2px !important;
}
.button.rounded {
  border-radius: 100px !important;
}
.button:hover:enabled {
  background-color: #f6f6f6;
}
.button:active:enabled {
  background-color: #eee;
}
.button:disabled {
  cursor: default;
  opacity: 0.2;
}
.button.unuseDisabledView:disabled {
  opacity: 1;
}
.button.transparentButton {
  padding: 0;
  border: none;
  border-radius: 2px;
}
.button.transparentButton:hover:enabled {
  background-color: rgba(0, 0, 0, 0.08);
}
.button.transparentButton:active:enabled {
  background-color: rgba(0, 0, 0, 0.15);
}
.button.imgButton {
  padding: 0 !important;
  margin: 0 !important;
  border: none;
}
.button.imgButton:disabled {
  background-color: transparent;
  opacity: 1;
}
.button.imgButton:hover:enabled * {
  opacity: 0.95;
}
.button.imgButton:active:enabled * {
  opacity: 0.9;
}
.button.smallButton {
  padding: 0 3px;
  min-height: 22px;
  font-size: 12px;
  margin-bottom: 7px;
  border-radius: 2px;
}
.button.basicButton {
  min-height: 32px;
  font-size: 14px;
  border-radius: 2px;
}
.button.replayButton {
  height: 32px;
  width: 78px;
  font-size: 14px;
  border-radius: 2px;
}
.button.largeButton {
  min-height: 44px;
  font-size: 18px;
  border-radius: 2px;
}
.button.largeButton2 {
  min-height: 54px;
  font-size: 22px;
  border-radius: 2px;
}
.button.exLargeButton {
  min-height: 84px;
  font-size: 24px;
  border-radius: 2px;
}
.button.default {
  color: #333;
  background: #fff;
  border: 1px solid #ccc;
}
.button.default:active:enabled {
  background-color: #eee;
}
.button.default.noborder {
  border: 1px transparent;
}
.button.default.lightBorder {
  border: 1px solid rgba(204, 204, 204, 0.5);
}
.button.primary {
  color: #fff;
  background: #333333;
  border: 1px solid #333333;
}
.button.primary:hover:enabled {
  background-color: rgba(51, 51, 51, 0.9);
}
.button.primary:active:enabled {
  background-color: rgba(51, 51, 51, 0.8);
}
.button.important {
  color: #fff;
  background: #3399ff;
  border: 1px solid rgba(204, 204, 204, 0);
}
.button.important:hover:enabled {
  background-color: #4da6ff;
}
.button.important:active:enabled {
  background-color: #2270d0;
}
.button.importantGreen {
  color: #fff;
  background: #080;
  border: 1px solid rgba(204, 204, 204, 0);
}
.button.importantGreen:hover:enabled {
  background-color: #00a200;
}
.button.importantGreen:active:enabled {
  background-color: #006f00;
}
.button.fbLoginButton {
  background: #3b5998 url("../img/entrance/text_fb_login.svg") no-repeat center center;
  background-size: auto 18px;
  height: 44px;
  font-size: 18px;
  overflow: hidden;
  vertical-align: middle;
  border: none;
  border-radius: 7px;
  /*FB白抜きボタン*/
}
.button.fbLoginButton:hover:enabled {
  background-color: #4c70ba;
}
.button.fbLoginButton:active:enabled {
  background-color: #2d4373;
}
.button.fbLoginButton.white {
  border-radius: 6px;
  background: #fff url("../img/entrance/text_fb_login_blue.svg") no-repeat center center;
  border: 2px solid #3b5998;
}
.button.fbLoginButton.white:hover:enabled {
  background-color: rgba(59, 89, 152, 0.1);
}
.button.fbLoginButton.white:active:enabled {
  background-color: rgba(59, 89, 152, 0.3);
}
.button.fbPostButton {
  background: #3b5998 url("../img/text_fb_post.svg") no-repeat center center;
  border: 1px solid rgba(204, 204, 204, 0);
  height: 44px;
  font-size: 18px;
  overflow: hidden;
  vertical-align: middle;
}
.button.fbPostButton:active:enabled {
  background-color: #2d4373;
}
.button.fbPostButton:active:enabled {
  background-color: #2d4373;
}
.button.lineNotifyButton {
  color: #fff;
  background: #05c755;
  background-size: contain;
  vertical-align: middle;
  height: 44px;
  font-size: 18px;
  overflow: hidden;
  border: none;
  position: relative;
  border-radius: 7px;
  text-align: center;
}
.button.lineNotifyButton:hover:enabled {
  background-color: #02b34c;
}
.button.lineNotifyButton:active:enabled {
  background-color: #038b3b;
}
.button.receipt {
  background: #fff url("../img/icon_receipt.svg") no-repeat 5px center;
  background-size: 32px;
  padding-left: 32px;
}
.button.detail {
  background: #fff url("../img/icon_detail.svg") no-repeat 5px center;
  background-size: 32px;
  padding-left: 32px;
}

.helpButton {
  position: relative;
  display: inline-block;
  width: 18px;
  height: 18px;
  margin-left: 2px;
  margin-bottom: 1px;
  border-radius: 7px;
  background: #fc0 url("../img/icon_help.svg") no-repeat center center;
  vertical-align: middle;
  top: -2px;
  cursor: pointer;
}
.helpButton:hover {
  background-color: #fb0;
}
.helpButton:active {
  background-color: #e6a800;
}
.helpButton.blue {
  background: #39f url("../img/icon_help_white.svg") no-repeat center center;
}
.helpButton.blue:hover {
  background-color: #4da6ff;
}
.helpButton.blue:active {
  background-color: #1a8cff;
}
.helpButton.blue.outline {
  width: 22px;
  height: 22px;
  border: 2px solid #09f;
  background: transparent url("../img/icon_help_blue.svg") no-repeat center center;
}
.helpButton.blue.outline:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.helpButton.blue.outline:active {
  background-color: rgba(0, 0, 0, 0.1);
}

.colorSample {
  display: inline-block;
  width: 10px;
  height: 2.5em;
  margin: 2px 0.5em;
  vertical-align: middle;
  background: #fff;
  border-radius: 2px;
}
.colorSample.messageColor.white {
  border: 1px solid #ccc;
}
.colorSample.messageColor.yellow {
  background-color: #fcdc59;
}
.colorSample.messageColor.blue {
  background: #5abdfc;
}
.colorSample.messageColor.green {
  background: #0c0;
}

/*Copyright (c) 2014 by Mauricio Allende (http://codepen.io/mallendeo/pen/eLIiG)*/
.tgl {
  display: none;
}
.tgl, .tgl:after, .tgl:before, .tgl *, .tgl *:after, .tgl *:before, .tgl + .tgl-btn {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.tgl::-moz-selection, .tgl:after::-moz-selection, .tgl:before::-moz-selection, .tgl *::-moz-selection, .tgl *:after::-moz-selection, .tgl *:before::-moz-selection, .tgl + .tgl-btn::-moz-selection {
  background: none;
}
.tgl::selection, .tgl:after::selection, .tgl:before::selection, .tgl *::selection, .tgl *:after::selection, .tgl *:before::selection, .tgl + .tgl-btn::selection {
  background: none;
}
.tgl + .tgl-btn {
  outline: 0;
  display: block;
  width: 4em;
  height: 2em;
  position: relative;
  cursor: pointer;
}
.tgl + .tgl-btn:after, .tgl + .tgl-btn:before {
  position: relative;
  display: block;
  content: "";
  width: 50%;
  height: 100%;
}
.tgl + .tgl-btn:after {
  left: 0;
}
.tgl + .tgl-btn:before {
  display: none;
}
.tgl:checked + .tgl-btn:after {
  left: 50%;
}

.tgl-light + .tgl-btn {
  margin: -4px 0 0 0;
  background: #ddd;
  border-radius: 2em;
  padding: 2px;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
.tgl-light + .tgl-btn:after {
  border-radius: 50%;
  background: #fff;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.tgl-light:checked + .tgl-btn {
  background: #3399ff;
}

ul.custom-mark {
  list-style: none;
}
ul.custom-mark li {
  padding-left: 1.3em;
  position: relative;
  line-height: 1.3em;
  margin-bottom: 0.4em;
}
ul.custom-mark.highLiMarginBottom > li {
  margin-bottom: 1em;
}
ul.custom-mark.noMarginBottom > li:last-child {
  margin-bottom: 0;
}
ul.custom-mark.inline > li {
  display: inline-block;
  margin-right: 1em;
}
ul.custom-mark.dotCircle > li:before {
  position: absolute;
  width: 1em;
  height: 1em;
  top: 0;
  left: 0;
  margin-right: 4px;
  content: "\f192";
  color: #ffb300;
  font-family: FontAwesome;
  font-size: 1.1em;
  vertical-align: middle;
}
ul.custom-mark.dotCircle.verticalCenter > li {
  padding-left: 2px;
}
ul.custom-mark.dotCircle.verticalCenter > li:before {
  position: static;
}
ul.custom-mark.arrow > li:before {
  position: absolute;
  width: 1em;
  height: 1em;
  top: 0;
  left: 0.1em;
  margin-right: 4px;
  content: "\f061";
  font-family: FontAwesome;
  font-size: 0.9em;
  vertical-align: middle;
}
ul.custom-mark.arrow > li.upArrow:before {
  content: "\f062";
}
ul.custom-mark.arrow > li.downArrow:before {
  content: "\f063";
}
ul.custom-mark.arrow.verticalCenter > li {
  padding-left: 2px;
}
ul.custom-mark.arrow.verticalCenter > li:before {
  position: static;
}
ul.custom-mark.dot > li:before {
  position: absolute;
  width: 1em;
  height: 1em;
  top: 0;
  left: 0.2em;
  margin-right: 4px;
  content: "\f111";
  font-family: FontAwesome;
  font-size: 0.3em;
  vertical-align: middle;
}
ul.custom-mark.dot.verticalCenter > li {
  padding-left: 2px;
}
ul.custom-mark.dot.verticalCenter > li:before {
  position: static;
}
ul.custom-mark.info > li:before {
  position: absolute;
  width: 1em;
  height: 1em;
  top: 0;
  left: 0.2em;
  margin-right: 4px;
  content: "\f05a";
  font-family: FontAwesome;
  font-size: 1em;
  vertical-align: middle;
}
ul.custom-mark.info.verticalCenter > li {
  padding-left: 2px;
}
ul.custom-mark.info.verticalCenter > li:before {
  position: static;
}
ul.custom-mark.bad > li:before {
  position: absolute;
  width: 1em;
  height: 1em;
  top: 0;
  left: 0.2em;
  margin-right: 4px;
  content: "\f00d";
  color: #b33;
  font-family: FontAwesome;
  font-size: 0.3em;
  vertical-align: middle;
}
ul.custom-mark.bad.verticalCenter > li {
  padding-left: 2px;
}
ul.custom-mark.bad.verticalCenter > li:before {
  position: static;
}
ul.custom-mark.no-mark > li {
  padding-left: 0;
}
ul.custom-mark.black-square > li {
  background: url("../img/list_mark_black.svg") no-repeat 3px 6px;
}
ul.custom-mark.white-square > li {
  background: url("../img/list_mark_white.svg") no-repeat 3px 6px;
}
ul.custom-mark.yellow-square > li {
  background: url("../img/list_mark_yellow.svg") no-repeat 3px 6px;
}
ul.custom-mark.double-circle > li::before {
  position: absolute;
  content: "◎";
  top: 0;
  left: 0;
  opacity: 0.5;
}
ul.custom-mark.small-list {
  font-size: 0.8em;
}

.accordionList label {
  position: relative;
  display: block;
  width: 100%;
  height: 32px;
  color: #fff;
  background: #aaa;
  padding: 6px 10px;
  margin-top: 2px;
  cursor: pointer;
}
.accordionList label.labelColor {
  padding-left: 16px;
}
.accordionList label.labelColor:before {
  position: absolute;
  content: "";
  width: 6px;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #333;
  z-index: 2;
}
.accordionList label.labelColor.docomo:before {
  background-color: #c03;
}
.accordionList label.labelColor.au:before {
  background-color: #eb5505;
}
.accordionList label.labelColor.softbank:before {
  background-color: #333;
}
.accordionList label:after {
  position: absolute;
  font-family: "FontAwesome";
  content: "\f0fe";
  top: 6px;
  right: 10px;
  color: #fff;
  z-index: 3;
}
.accordionList ul {
  margin: 0;
  padding: 0;
  background: #fcfcfc;
  list-style: none;
}
.accordionList li {
  max-height: 0;
  overflow-y: hidden;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.accordionList li span {
  position: relative;
  display: block;
  padding: 10px 10px;
}
.accordionList li span.arrow {
  padding: 4px 10px;
  padding-left: 32px;
}
.accordionList li span.arrow:before {
  position: absolute;
  font-family: "FontAwesome";
  content: "\f061";
  top: 5px;
  left: 10px;
  color: #399;
}
.accordionList input {
  display: none;
}
.accordionList input:checked ~ label:after {
  content: "\f146";
}
.accordionList input:checked ~ ul li {
  max-height: 100px;
}

.numberList label {
  display: block;
  width: 100%;
  height: 32px;
  color: #fff;
  background: #333;
  padding: 6px 10px;
}
.numberList ol {
  counter-reset: my-counter;
  list-style: none;
  padding: 15px 10px;
  background-color: #fcfcfc;
}
.numberList ol li {
  position: relative;
  padding-left: 28px;
}
.numberList ol li:not(:last-child) {
  margin-bottom: 1em;
}
.numberList ol li:before {
  content: counter(my-counter);
  counter-increment: my-counter;
  background-color: #aaa;
  color: #ffffff;
  display: block;
  float: left;
  line-height: 22px;
  margin-left: -30px;
  text-align: center;
  height: 22px;
  width: 22px;
}

.clipboardCopyButtonContainer {
  position: relative;
  display: inline;
  padding-left: 5px;
}
.clipboardCopyButtonContainer .resultBalloon {
  position: absolute;
  width: 100px;
  padding: 5px 3px;
  color: #fff;
  background: #333;
  font-size: 11px;
  line-height: 1.5em;
  bottom: 34px;
  left: 50%;
  -webkit-transform: translate(-50%, 0%);
          transform: translate(-50%, 0%);
  text-align: center;
  display: none;
  cursor: pointer;
  border-radius: 2px;
}
.clipboardCopyButtonContainer .resultBalloon:before {
  content: "";
  position: absolute;
  bottom: -14px;
  left: 50%;
  -webkit-transform: translate(-50%, 0%);
          transform: translate(-50%, 0%);
  height: 0;
  width: 0;
  border: 7px solid transparent;
  border-top: 7px solid #444;
}
.clipboardCopyButtonContainer .resultBalloon.failed {
  width: 150px;
}
.clipboardCopyButtonContainer .resultBalloon .title {
  color: #fc0;
  font-weight: bold;
  text-align: center;
}
.clipboardCopyButtonContainer .resultBalloon .body {
  text-align: left;
}

.select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin-right: 7px;
  margin-bottom: 15px;
  padding: 0 15px 0 5px;
  color: #333;
  background: #fff url("../img/select_arrow.svg") no-repeat 98% center;
  border: 1px solid #ccc;
  cursor: pointer;
  position: relative;
}
.select::-ms-expand {
  display: none;
}
.select:disabled {
  cursor: default;
  opacity: 0.2;
}
.select.basicSelect {
  min-height: 30px;
  font-size: 16px;
  border-radius: 5px;
}
.select.largeSelect {
  min-height: 44px;
  font-size: 18px;
  border-radius: 7px;
}
.select:after {
  position: absolute;
  color: #f00;
  font-family: "FontAwesome";
  font-size: 20px;
  content: "\f105";
  top: 0px;
  left: 0px;
}

.input-append {
  display: table;
}
.input-append .input-wrapper {
  display: table-cell;
  text-align: left;
  vertical-align: top;
}
.input-append .input-wrapper .input {
  margin-right: 0;
  border-right: transparent;
  width: 100%;
}
.input-append .input-wrapper .input.basicInput {
  border-radius: 5px 0px 0px 5px, 5px 0px 0px 5px;
}
.input-append .input-wrapper .input.largeInput {
  border-radius: 7px 0px 0px 7px, 7px 0px 0px 7px;
}
.input-append .button-wrapper {
  display: table-cell;
  vertical-align: top;
  width: 50px;
}
.input-append .button-wrapper.wide {
  width: 80px;
}
.input-append .button-wrapper .button {
  display: table-cell;
  margin: 0;
  padding: 0;
  width: 100%;
}
.input-append .button-wrapper .button.basicButton {
  border-radius: 0px 5px 5px 0px, 0px 5px 5px 0px;
}
.input-append .button-wrapper .button.largeButton {
  border-radius: 0px 7px 7px 0px, 0px 7px 7px 0px;
}
.input-append .button-wrapper .button.primary {
  border: 1px solid #333333;
  background-color: #333;
}
.input-append .button-wrapper .button.primary:disabled {
  opacity: 1;
  border: 1px solid #ccc;
  border-left: none;
  background: rgba(51, 51, 51, 0.2);
}
.input-append .button-wrapper .button.primary.unuseDisabledView:disabled {
  opacity: 1;
  border: 1px solid rgba(51, 51, 51, 0.6);
  border-left: none;
  background: #333333;
}

input[type=text],
input[type=tel],
input[type=number],
input[type=search] {
  -webkit-user-select: auto;
     -moz-user-select: auto;
      -ms-user-select: auto;
          user-select: auto;
}

.input {
  margin-right: 7px;
  margin-bottom: 10px;
  padding: 0 5px;
  border: 1px solid #ccc;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.input:disabled {
  cursor: default;
  opacity: 0.2;
}
.input.basicInput {
  min-height: 32px;
  font-size: 16px;
  border-radius: 5px;
}
.input.largeInput {
  min-height: 44px;
  font-size: 18px;
  border-radius: 7px;
}

textarea {
  width: 100%;
  height: 100px;
  border: 1px solid #ccc;
  border-radius: 5px;
  -webkit-user-select: auto;
     -moz-user-select: auto;
      -ms-user-select: auto;
          user-select: auto;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 5px;
  font-size: 16px;
}

input[type=radio],
input[type=checkbox] {
  display: none;
}
input[type=radio]:disabled + label,
input[type=checkbox]:disabled + label {
  cursor: default;
  opacity: 0.2;
}
input[type=radio]:disabled + label:hover,
input[type=checkbox]:disabled + label:hover {
  background-color: transparent;
}
input[type=radio]:disabled + label:hover:before,
input[type=checkbox]:disabled + label:hover:before {
  border-color: transparent;
}

label.radio,
label.checkbox {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: background-color 0.1s linear;
  transition: background-color 0.1s linear;
  position: relative;
  display: inline-block;
  min-height: 28px;
  margin: 0 8px 15px 0;
  padding: 3px 12px 3px 32px;
  border-radius: 12px;
  background-color: transparent;
  vertical-align: top;
  cursor: pointer;
}
label.radio.markOnly,
label.checkbox.markOnly {
  width: 24px;
  padding-left: 0 !important;
  margin: 0 !important;
}
label.radio:hover,
label.checkbox:hover {
  background-color: rgba(51, 153, 255, 0.2);
}
label.radio:hover:before,
label.checkbox:hover:before {
  border-color: #3399ff;
}
label.radio + .formDescription,
label.checkbox + .formDescription {
  margin-top: -15px;
  padding: 0px 12px 15px 32px;
  font-size: 13px;
  line-height: 1.5em;
}

label.radio:before {
  -webkit-transition: border-color 0.1s linear;
  transition: border-color 0.1s linear;
  position: absolute;
  top: 0px;
  left: 0px;
  display: block;
  width: 24px;
  height: 24px;
  background: white;
  border: 1px solid #999;
  border-radius: 12px;
  content: "";
}
input[type=radio]:checked + label.radio.inverse:before {
  background: #3399ff;
  border-color: #3399ff;
}
label.radio:after {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  position: absolute;
  top: 8px;
  left: 8px;
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #3399ff;
  content: "";
  opacity: 0;
}
input[type=radio]:checked + label.radio:after {
  opacity: 1;
}
label.radio.inverse:after {
  background-color: #fff;
}

label.checkbox {
  border-radius: 6px;
}
label.checkbox:before {
  -webkit-transition: border-color 0.1s linear;
  transition: border-color 0.1s linear;
  position: absolute;
  top: 0;
  left: 0px;
  display: block;
  width: 24px;
  height: 24px;
  background: white;
  border: 1px solid #999;
  border-radius: 6px;
  content: "";
}
input[type=checkbox]:checked + label.checkbox.inverse:before {
  background: #3399ff;
  border-color: #3399ff;
}
label.checkbox:after {
  position: absolute;
  top: 3px;
  left: 8px;
  display: block;
  width: 8px;
  height: 14px;
  border-right: 3px solid #3399ff;
  border-bottom: 3px solid #3399ff;
  content: "";
  opacity: 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
input[type=checkbox]:checked + label.checkbox:after {
  opacity: 1;
}
label.checkbox.inverse:after {
  border-color: #fff;
}
label.checkbox.small {
  padding: 1px 3px 1px 20px;
  min-height: 16px;
}
label.checkbox.small:before {
  width: 16px;
  height: 16px;
  border-radius: 4px;
}
label.checkbox.small:after {
  position: absolute;
  top: 1px;
  left: 6px;
  width: 6px;
  height: 9px;
  border-right: 2px solid #3399ff;
  border-bottom: 2px solid #3399ff;
}

.formTitle {
  display: block;
  margin-bottom: 5px;
  font-size: 14px;
  font-weight: bold;
}
.formTitle.requiredMark:before {
  content: "必須";
  display: inline;
  margin-right: 4px;
  padding: 4px;
  font-size: 11px;
  font-weight: normal;
  background-color: rgba(238, 0, 119, 0.5);
  color: #fff;
  border-radius: 2px;
}
.formTitle.optionalMark:before {
  content: "任意";
  display: inline;
  margin-right: 4px;
  padding: 4px;
  font-size: 11px;
  font-weight: normal;
  background-color: rgba(170, 170, 170, 0.7);
  color: #fff;
  border-radius: 2px;
}
.formTitle.newMark:before {
  content: "New";
  display: inline;
  margin-right: 4px;
  padding: 4px;
  font-size: 11px;
  font-weight: normal;
  background-color: #5ea10a;
  color: #fff;
  border-radius: 2px;
}
.formTitle.framed {
  display: table;
  font-size: 11px;
  padding: 4px;
  font-weight: normal;
  line-height: 1em;
  background-color: rgba(170, 170, 170, 0.7);
  color: #fff;
  border-radius: 2px;
}
.formTitle.framed.caution {
  color: #333;
  background: #fcd555;
}

.formDescription {
  margin-top: -2px;
  margin-bottom: 5px;
  margin-right: 3px;
  font-size: 13px;
  vertical-align: middle;
  position: relative;
}
.formDescription.withInfoIcon {
  padding-left: 18px;
}
.formDescription.withInfoIcon:before {
  position: absolute;
  top: 0;
  left: 0;
  margin-right: 4px;
  content: "\f192";
  color: #ffb300;
  font-family: FontAwesome;
  font-size: 15px;
  vertical-align: middle;
}
.formDescription.withWarningIcon {
  padding-left: 18px;
  color: #f33;
}
.formDescription.withWarningIcon:before {
  content: url("../img/icon_warning.svg");
  margin-right: 4px;
  position: absolute;
  top: -2px;
  left: -2px;
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
}
.formDescription.disabledColor {
  color: #999;
}

.formGroup {
  padding-top: 5px;
  margin-bottom: 15px;
  background-color: transparent;
  border-radius: 2px;
}
.formGroup.default {
  background-color: transparent;
}
.formGroup.important {
  background-color: #fcf;
  padding: 15px 15px 0 15px;
}
.formGroup.caution {
  background-color: #fe7;
  padding: 15px 15px 0 15px;
}
.alert {
  margin-top: 15px;
  margin-bottom: 15px;
  padding: 15px 15px 15px 50px;
  border-color: transparent;
  background-color: #e6e6e6;
  border-radius: 5px;
  line-height: 1.4em;
  /*アラート内をタイトル/本文で分けたいときに使用する--タイトル*/
  /*アラート内をタイトル/本文で分けたいときに使用する--本文*/
}
.alert.useInnerDivision {
  padding: 15px;
}
.alert.alert-ok {
  color: #fff;
  background: #390 url("../img/icon_alert_ok.svg") no-repeat 10px 8px;
}
.alert.alert-warning, .alert.alert-caution {
  color: #333;
  background: #fcd555 url("../img/icon_alert_caution.svg") no-repeat 10px 10px;
}
.alert.alert-danger {
  color: #fff;
  background: #f33 url("../img/icon_alert_caution.svg") no-repeat 10px 10px;
}
.alert.alert-gray-warning {
  color: #333;
  background: #e6e6e6 url("../img/icon_alert_caution_yellow.svg") no-repeat 10px 10px;
}
.alert.alert-gray-danger {
  color: #333;
  background: #e6e6e6 url("../img/icon_alert_caution_red.svg") no-repeat 10px 10px;
}
.alert.noIcon {
  padding: 15px;
  background-image: none;
}
.alert .title {
  font-size: 16px;
  font-weight: bold;
  padding-left: 35px;
}
.alert .body {
  margin: 0;
  width: 100%;
  padding-top: 10px;
}

.titlebar-app {
  width: 100%;
  margin-bottom: 10px;
  text-align: center;
}
.titlebar-app .titlebar-app-bar {
  width: 100%;
  height: 100%;
  background: #fff;
  position: relative;
}
.titlebar-app .titlebar-app-bar i.back-message-button {
  font-size: 16px;
  position: absolute;
  top: 0;
  left: 10px;
}
.titlebar-app .titlebar-app-bar .titlebar-title {
  margin-top: 10px;
  font-size: 17px;
}
.titlebar-app .titlebar-app-bar button.helpButton {
  position: absolute;
  top: 0;
  right: 10px;
}

.titlebar {
  width: 100%;
  height: 80px;
  text-align: center;
}
.titlebar .helpButton,
.titlebar .textButton {
  position: absolute;
  top: 32px;
  right: 15px;
}
.titlebar .titlebar-bar {
  width: 100%;
  height: 100%;
  background: #fff;
  border-bottom: 1pt solid #ccc;
}
.titlebar .titlebar-bar.noborder {
  border-bottom: none;
}
.titlebar .titlebar-bar.message-title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
.titlebar .titlebar-bar.message-title .back-message-button {
  padding-left: 1em;
  padding-top: 12px;
  position: absolute;
}
.titlebar .titlebar-title {
  padding-top: 24px;
  color: #333;
  font-size: 20px;
}
.titlebar .titlebar-title.noIndicator {
  padding-top: 28px;
  margin: auto;
}
.titlebar.lowHeight {
  height: 50px;
}
.titlebar.lowHeight .titlebar-title {
  padding-top: 7px;
}
.titlebar.lowHeight .titlebar-title.noIndicator {
  padding-top: 12px;
}
.titlebar .indicators {
  letter-spacing: -0.4em;
}
.titlebar .indicators .dot {
  letter-spacing: normal;
  display: inline-block;
  margin: 0 3px;
  width: 7px;
  height: 7px;
  border-radius: 2px;
  background: #ccc;
  vertical-align: middle;
}
.titlebar .indicators .dot.current {
  background: #333;
}
.titlebar.topTitlebar {
  height: 91px;
}
.titlebar.topTitlebar .titlebar-bar {
  border-bottom: none;
}
.titlebar.topTitlebar .titlebar-title {
  padding-top: 0;
  width: 100%;
  height: 100%;
  color: #333;
  background: url("../img/main_logo.svg") no-repeat center 24px;
  -webkit-transform: scale(0.95);
          transform: scale(0.95);
}

.topNavbar {
  position: relative;
  display: -ms-flexbox;
  display: flex; /* Flex */
  -ms-flex-pack: justify;
      justify-content: space-between; /* Flex */
  -ms-flex-align: stretch;
      align-items: stretch; /* Flex */
  display: -webkit-flex; /* safari */
  -webkit-justify-content: space-between; /* Safari */
  -webkit-align-items: stretch; /* Safari */
  display: -webkit-box; /* box */
  -webkit-box-pack: justify; /* box */
  -webkit-box-align: stretch; /* box */
  width: 100%;
  height: 44px;
  background: #fff;
  text-align: center;
  padding: 0 15px;
}

.floatButtons {
  position: fixed;
  width: 100%;
  padding: 15px 5px;
  background: rgba(255, 255, 255, 0.6);
  -webkit-box-shadow: 2px 2px 7px 0 rgba(0, 0, 0, 0.4);
          box-shadow: 2px 2px 7px 0 rgba(0, 0, 0, 0.4);
  left: 0;
  bottom: calc(constant(safe-area-inset-bottom));
  bottom: calc(env(safe-area-inset-bottom));
  text-align: right;
  display: block;
}
.floatButtons .button {
  margin-bottom: 0;
  -webkit-box-shadow: 2px 2px 7px 0 rgba(0, 0, 0, 0.4);
          box-shadow: 2px 2px 7px 0 rgba(0, 0, 0, 0.4);
}
.floatButtons.ng-hide-remove {
  -webkit-animation: floatButtonsAtShowing 0.5s;
          animation: floatButtonsAtShowing 0.5s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
}
.floatButtons.ng-hide-add {
  -webkit-animation: floatButtonsAtHiding 0.5s;
          animation: floatButtonsAtHiding 0.5s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
}
@-webkit-keyframes floatButtonsAtShowing {
  0% {
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes floatButtonsAtShowing {
  0% {
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes floatButtonsAtHiding {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
}
@keyframes floatButtonsAtHiding {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
}

.button.backButton {
  position: fixed;
  background: #444;
  color: #fff;
  border: 3px solid white;
  border-radius: 16px !important;
  -webkit-box-shadow: 1px 1px 2px 2px rgba(0, 0, 0, 0.2);
          box-shadow: 1px 1px 2px 2px rgba(0, 0, 0, 0.2);
  left: 5px;
  bottom: calc(constant(safe-area-inset-bottom) + 70px);
  bottom: calc(env(safe-area-inset-bottom) + 70px);
  display: block;
  z-index: 50;
  cursor: pointer;
  -webkit-transform: translateY(100px);
          transform: translateY(100px);
  -webkit-animation: backButtonAtShowing 0.5s;
          animation: backButtonAtShowing 0.5s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
}
.button.backButton.delayShow {
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
}
@-webkit-keyframes backButtonAtShowing {
  0% {
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes backButtonAtShowing {
  0% {
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.button.backButton:hover {
  background: #555;
}
.button.backButton:active {
  background: #666;
}
.button.nextButton {
  background: #444;
  color: #fff;
  border: 3px solid white;
  border-radius: 16px !important;
  -webkit-box-shadow: 1px 1px 2px 2px rgba(0, 0, 0, 0.2);
          box-shadow: 1px 1px 2px 2px rgba(0, 0, 0, 0.2);
}
.button.nextButton:hover {
  background: #555;
}
.button.nextButton:active {
  background: #666;
}

.footer {
  width: 100%;
  position: fixed;
  bottom: 0;
  z-index: 60;
  pointer-events: none;
}
.footer * {
  pointer-events: auto;
}

.footerbar {
  position: relative;
  z-index: 3;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: 100%;
  height: 70px;
  height: calc(70px + env(safe-area-inset-bottom));
  background: rgba(255, 255, 255, 0.9);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
          backdrop-filter: saturate(180%) blur(20px);
  text-align: center;
  border-top: solid 1px #ddd;
  padding-top: 12px;
}
.footerbar .container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.pushNotification {
  display: block;
  position: fixed;
  z-index: 1;
  left: 15px;
  right: 15px;
  bottom: 80px;
  background-color: rgba(252, 213, 85, 0.9);
  border-radius: 15px;
  -webkit-filter: drop-shadow(rgba(117, 84, 28, 0.4) 0px 1px 1px);
          filter: drop-shadow(rgba(117, 84, 28, 0.4) 0px 1px 1px);
  /*フキダシヒゲ*/
  /*最終行隠しグラデマスク*/
}
.pushNotification:before {
  content: "";
  position: absolute;
  bottom: -38px;
  right: 24%;
  height: 0;
  width: 0;
  border: 15px solid transparent;
  border-top: 27px solid #fcd555;
}
.pushNotification:after {
  content: "";
  position: absolute;
  bottom: 0px;
  left: 0px;
  height: 26px;
  width: 100%;
  z-index: 10;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(252, 213, 85, 0)), to(#fcd555));
  background: -webkit-linear-gradient(top, rgba(252, 213, 85, 0), #fcd555);
  background: linear-gradient(to bottom, rgba(252, 213, 85, 0), #fcd555);
  border-radius: 0 0 15px 15px/0 0 15px 15px;
}
.pushNotification .inner {
  display: table;
  width: 100%;
  height: 100%;
}
.pushNotification .body {
  display: table-cell;
  text-align: left;
  padding: 5px 10px 5px 10px;
  cursor: pointer;
  position: relative;
  z-index: 3;
}
.pushNotification .body .bodyInner {
  font-size: 12px;
  line-height: 1.3em;
  color: #333;
  width: 100%;
  height: 7.6em;
  overflow: hidden;
}
.pushNotification .nav {
  display: table-cell;
  width: 35px;
}
.pushNotification .nav .nav-icon {
  margin-top: 2px;
}
.pushNotification.ng-hide-remove {
  -webkit-animation: pushNotificationShowAnimation 0.5s;
  -webkit-animation-iteration-count: 1;
  -webkit-animation-timing-function: ease-out;
}
.pushNotification.ng-hide-remove .nav {
  opacity: 1;
}
.pushNotification.ng-hide-add {
  -webkit-animation: pushNotificationHideAnimation 0.5s;
  -webkit-animation-iteration-count: 1;
  -webkit-animation-timing-function: ease-out;
}
.pushNotification.ng-hide-add .nav {
  opacity: 0;
}
@-webkit-keyframes pushNotificationShowAnimation {
  0% {
    -webkit-transform: scale(0.5, 0.5) translate(0px, 100px);
    opacity: 0;
  }
  60% {
    -webkit-transform: scale(1.1, 1.1) translate(0px, 0px);
  }
  100% {
    -webkit-transform: scale(1, 1);
    opacity: 1;
  }
}
@-webkit-keyframes pushNotificationHideAnimation {
  0% {
    -webkit-transform: translate(0, 0);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(0.8, 0.8) translate(0, 100px);
    opacity: 0;
  }
}

.nav {
  position: relative;
  width: 60px;
  height: 100%;
  vertical-align: top;
}
.nav.wide {
  width: 80px;
}
.nav.exWide {
  width: 90px;
}
.nav button {
  position: relative;
  width: 100%;
  height: 100%;
  background: transparent;
  cursor: pointer;
}
.nav button:disabled {
  cursor: default;
}
.nav button.disabled-look {
  cursor: default;
  opacity: 0.2;
}
.nav button.use-disabled-alpha:disabled {
  opacity: 0.2;
}
.nav button.invisible-at-disabled:disabled {
  cursor: default;
  visibility: hidden;
}
.nav button.highlight::before {
  position: absolute;
  content: "";
  width: 55px;
  height: 55px;
  background: rgba(0, 0, 0, 0.15);
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: -1;
  border-radius: 15px;
  -webkit-animation: nav-hilight-anime 0.7s ease 0s infinite alternate;
          animation: nav-hilight-anime 0.7s ease 0s infinite alternate;
}
@-webkit-keyframes nav-hilight-anime {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes nav-hilight-anime {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
.nav .nav-badge {
  position: absolute;
  display: inline-block;
  padding: 1px 4px;
  min-width: 18px;
  top: 10px;
  right: 5px;
  color: #fff;
  font-size: 10px;
  font-weight: bold;
  text-align: center;
  vertical-align: middle;
  background: #f39;
  border-radius: 10px;
}
.nav .nav-icon {
  width: 100%;
  height: 30px;
}
.nav .nav-icon .nav-icon-search {
  width: 100%;
  height: 100%;
  background: url("../img/nav_search.svg") no-repeat center top;
}
.nav .nav-icon .nav-icon-reservationList {
  width: 100%;
  height: 100%;
  background: url("../img/nav_reservationList.svg") no-repeat center top;
}
.nav .nav-icon .nav-icon-handshake {
  width: 100%;
  height: 100%;
  background: url("../img/nav_handshake.svg") no-repeat center top;
}
.nav .nav-icon .nav-icon-none {
  width: 100%;
  height: 100%;
}
.nav .nav-icon .nav-icon-top {
  width: 100%;
  height: 100%;
  background: url("../img/nav_home.svg") no-repeat center top;
}
.nav .nav-icon .nav-icon-top:active:enabled {
  background: url("../img/nav_home_active.svg") no-repeat center top;
}
.nav .nav-icon .nav-icon-back {
  width: 100%;
  height: 100%;
  background: url("../img/nav_back.svg") no-repeat center top;
}
.nav .nav-icon .nav-icon-back:active:enabled {
  background: url("../img/nav_back_active.svg") no-repeat center top;
}
.nav .nav-icon .nav-icon-next {
  width: 100%;
  height: 100%;
  background: url("../img/nav_next.svg") no-repeat center top;
}
.nav .nav-icon .nav-icon-next:active:enabled {
  background: url("../img/nav_next_active.svg") no-repeat center top;
}
.nav .nav-icon .nav-icon-news {
  width: 100%;
  height: 100%;
  background: url("../img/nav_news.svg") no-repeat center top;
}
.nav .nav-icon .nav-icon-news:active:enabled {
  background: url("../img/nav_news_active.svg") no-repeat center top;
}
.nav .nav-icon .nav-icon-mail {
  width: 100%;
  height: 100%;
  background: url("../img/nav_mail.svg") no-repeat center top;
}
.nav .nav-icon .nav-icon-mail:active:enabled {
  background: url("../img/nav_mail_active.svg") no-repeat center top;
}
.nav .nav-icon .nav-icon-menu {
  width: 100%;
  height: 100%;
  background: url("../img/nav_menu.svg") no-repeat center center;
}
.nav .nav-icon .nav-icon-menu:active:enabled {
  background: url("../img/nav_menu_active.svg") no-repeat center center;
}
.nav .nav-icon .nav-icon-setting {
  width: 100%;
  height: 100%;
  background: url("../img/nav_setting.svg") no-repeat center center;
}
.nav .nav-icon .nav-icon-setting:active:enabled {
  background: url("../img/nav_setting_active.svg") no-repeat center center;
}
.nav .nav-icon .nav-icon-info {
  width: 100%;
  height: 100%;
  background: url("../img/nav_info.svg") no-repeat center center;
}
.nav .nav-icon .nav-icon-info:active:enabled {
  background: url("../img/nav_info_active.svg") no-repeat center center;
}
.nav .nav-icon .nav-icon-help {
  width: 100%;
  height: 100%;
  background: url("../img/nav_help.svg") no-repeat center center;
}
.nav .nav-icon .nav-icon-help:active:enabled {
  background: url("../img/nav_help_active.svg") no-repeat center center;
}
.nav .nav-icon .nav-icon-close {
  width: 100%;
  height: 100%;
  background: url("../img/control_close.svg") no-repeat center center;
}
.nav .nav-label {
  position: relative;
  margin: 2px 5px;
  color: #333;
  font-size: 11px;
  line-height: 1em;
  text-align: center;
}
.nav .nav-label.closed:after {
  position: absolute;
  top: -2px;
  margin-left: 4px;
  content: url("../img/carret_right_s.svg");
  opacity: 0.4;
  -webkit-transition: -webkit-transform 0.3s;
  -webkit-transform-origin: 45%, 40%;
          transform-origin: 45%, 40%;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}
.nav .nav-label.opened:after {
  position: absolute;
  top: -2px;
  margin-left: 4px;
  content: url("../img/carret_right_s.svg");
  opacity: 0.4;
  -webkit-transition: -webkit-transform 0.3s;
  -webkit-transform-origin: 45%, 40%;
          transform-origin: 45%, 40%;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.topButton-group .topButton:last-child {
  border-bottom: 1pt solid #ccc;
}
.topButton-group .topButton:last-child:active {
  background-color: rgba(0, 0, 0, 0.15);
}

.topButton {
  margin: 0;
  width: 100%;
  height: 90px;
  background: #f0f0f0;
  border-bottom: 1pt solid #ccc;
  vertical-align: middle;
}
.topButton:active {
  background: rgba(0, 0, 0, 0.1);
}
.topButton .inner {
  margin: 0;
  padding: 0;
  display: inline-table;
  width: 100%;
  height: 100%;
}
.topButton .topButton-icon {
  display: table-cell;
  width: 68px;
  text-align: center;
  vertical-align: middle;
  background: #777;
}
.topButton .topButton-icon .topButton-icon-newReservation {
  width: 100%;
  height: 44px;
  background: url("../img/icon_selectSalon.svg") no-repeat center center;
}
.topButton .topButton-icon .topButton-icon-reservation {
  width: 100%;
  height: 44px;
  background: url("../img/icon_reservation.svg") no-repeat center center;
}
.topButton .topButton-label {
  display: table-cell;
  padding: 0 7px;
  text-align: left;
  vertical-align: middle;
  color: #333;
  font-size: 22px;
}
.topButton .topButton-linkMark {
  display: table-cell;
  width: 60px;
  color: #000;
  opacity: 0.3;
  text-align: center;
  vertical-align: middle;
}
.topButton .topButton-linkMark:after {
  font-family: "FontAwesome";
  font-size: 28px;
  content: "\f18e";
}

.iconButton-group {
  padding-top: 25px;
  margin-bottom: 0;
}
.iconButton-group.formGroup {
  padding-top: 10px;
  margin-bottom: 15px;
}

.iconButton {
  display: inline-block;
  width: 80px;
  background: transparent;
  text-align: center;
  vertical-align: top;
}
.iconButton.narrow {
  width: 48px;
}
.iconButton.narrow div {
  width: 48px;
  margin: 2px 0px;
}
.iconButton .iconButton-icon-handShake {
  width: 80px;
  height: 50px;
  background: url("../img/icon_handshake.svg") no-repeat center top;
}
.iconButton .iconButton-icon-qrcode {
  width: 80px;
  height: 50px;
  background: url("../img/icon_qrcode.svg") no-repeat center top;
}
.iconButton:active:enabled .iconButton-icon-handShake {
  background: url("../img/icon_handshake_active.svg") no-repeat center top;
}
.iconButton:active:enabled .iconButton-icon-qrcode {
  background: url("../img/icon_qrcode_active.svg") no-repeat center top;
}
.iconButton .iconButton-label {
  margin: 2px 5px;
  font-size: 9px;
  color: #333;
  line-height: 1.5em;
  text-align: center;
}

.iconAndLabelButton {
  display: inline-block;
  width: 50px;
  margin-right: 5px;
  text-align: center;
  background: transparent;
}
.iconAndLabelButton:last-of-type {
  margin-right: 0;
}
.iconAndLabelButton:disabled .icon {
  opacity: 0.3;
}
.iconAndLabelButton .icon {
  width: 100%;
  height: 30px;
  margin: 0;
  margin-bottom: 3px;
}
.iconAndLabelButton .icon.download {
  background: url("../img/icon_download_large.svg") no-repeat center center;
  background-size: auto;
}
.iconAndLabelButton .icon.share {
  background: url("../img/icon_share.svg") no-repeat center center;
  background-size: auto;
}
.iconAndLabelButton .label {
  width: 100%;
  font-size: 9px;
  text-align: center;
  line-height: 1.3em;
  margin: 0;
}
.iconAndLabelButton.white .icon.download {
  background: url("../img/icon_download_large_white.svg") no-repeat center center;
}
.iconAndLabelButton.white .icon.share {
  background: url("../img/icon_share_white.svg") no-repeat center center;
}
.iconAndLabelButton.white .label {
  color: #fff;
}
.iconAndLabelButton:active .icon,
.iconAndLabelButton:active .label {
  opacity: 0.8;
}

.listButton {
  margin: 0;
  width: 100%;
  height: 54px;
  background: #fff;
  border-bottom: 1pt solid #ccc;
}
.listButton:active {
  background: rgba(0, 0, 0, 0.1);
}
.listButton .inner {
  margin: 0;
  padding: 0;
  display: inline-table;
  width: 100%;
  height: 100%;
}
.listButton .listButton-label {
  display: table-cell;
  padding: 0 15px;
  text-align: left;
  vertical-align: middle;
  color: #333;
}
.listButton .listButton-linkMark {
  display: table-cell;
  width: 60px;
  color: #000;
  opacity: 0.3;
  text-align: center;
  vertical-align: middle;
}
.listButton .listButton-linkMark:after {
  font-family: "FontAwesome";
  font-size: 20px;
  content: "\f18e";
}

.textBar {
  padding: 10px 15px;
  background: #ccc;
  color: #333;
  font-family: "Hiragino Sans", Meiryo, "Noto Sans CJK JP", sans-serif;
  font-size: 14px;
}

.loginTitle {
  text-decoration: underline;
  font-weight: bold;
}

.loginDescription {
  color: #3399ff !important;
  text-align: right;
}

.sectionBlock {
  width: 100%;
  padding: 10px 0;
  min-height: 60px;
  border-bottom: 1pt solid #ccc;
  color: #333;
  line-height: 1.5em;
}
.sectionBlock.noborder {
  border-bottom: none;
}
.sectionBlock.topBorder {
  border-top: 1pt solid #ccc;
}
.sectionBlock.lightLineColor {
  border-bottom: 1pt solid #eee;
}
.sectionBlock.noMinHeight {
  min-height: 0px;
}
.sectionBlock.withMarginBottom {
  margin-bottom: 15px;
}
.sectionBlock .sectionBlock-title {
  margin-bottom: 10px;
  font-size: 16px;
  font-weight: bold;
}
.sectionBlock .sectionBlock-title span {
  font-size: 16px;
}
.sectionBlock .itemBlock {
  margin-bottom: 10px;
}
.sectionBlock .itemBlock.leftIndent {
  padding-left: 15px !important;
}
.sectionBlock .itemBlock.topBorder {
  border-top: 1pt solid #ccc;
  padding: 5px 0;
  padding: 4px 0;
  margin-top: 4px;
}
.sectionBlock .itemBlock.topBorder .itemBlock-title {
  font-size: 12px;
  font-weight: bold;
  color: #aaa;
}
.sectionBlock .itemBlock.topBorder .itemBlock-title span {
  font-size: 12px;
}
.sectionBlock .itemBlock .itemBlock-description {
  font-size: 12px;
}
.sectionBlock .columnBlock {
  margin-bottom: 0;
}
.sectionBlock .itemBlockTable {
  display: table;
  width: 100%;
  margin-bottom: 10px;
}
.sectionBlock .itemBlockTable .inner {
  display: table-cell;
}
.sectionBlock .itemBlockTable .inner.controlBlock {
  width: 60px;
  text-align: right;
}
.sectionBlock .itemBlock-title {
  margin-bottom: 5px;
  font-size: 14px;
  font-weight: bold;
}
.sectionBlock .itemBlock-title span {
  font-size: 14px;
}
.sectionBlock .itemBlock-description {
  font-size: 12px;
}
.sectionBlock .sectionBlock-list {
  padding: 16px 15px;
  min-height: 54px;
  border-bottom: 1pt solid #ccc;
  color: #333;
}
.sectionBlock .sectionBlock-list:first-child {
  border-top: 1pt solid #ccc;
}

.sectionToggleButton {
  width: 100%;
  height: 44px;
  margin: 0;
  font-size: 16px !important;
  font-weight: bold;
  background: #fff;
  text-align: left;
  position: relative;
}
.sectionToggleButton span {
  font-size: 16px;
  display: inline;
}
.sectionToggleButton.closed {
  background: #fff;
  border-bottom: 1px solid #ccc;
}
.sectionToggleButton.closed span:after {
  position: absolute;
  top: 12px;
  margin-left: 20px;
  content: url("../img/carret_right.svg");
  opacity: 0.4;
  -webkit-transition: -webkit-transform 0.3s;
  -webkit-transform-origin: 50%, 40%;
          transform-origin: 50%, 40%;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}
.sectionToggleButton.opened {
  background: #fff;
  border-bottom: 1px solid transparent;
}
.sectionToggleButton.opened span:after {
  position: absolute;
  top: 12px;
  margin-left: 20px;
  content: url("../img/carret_right.svg");
  opacity: 0.4;
  -webkit-transition: -webkit-transform 0.3s;
  -webkit-transform-origin: 50%, 40%;
          transform-origin: 50%, 40%;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.columnBlock {
  padding: 15px;
  font-size: 14px;
  line-height: 1.4em;
  color: #333;
  background-color: #f2f2f2;
  border-radius: 2px;
  margin-bottom: 15px;
}
.columnBlock.block {
  border-radius: 0px;
  padding: 0;
}
.columnBlock.white {
  background-color: #fff;
  border: 1px solid #ddd;
}
.columnBlock.transparent {
  padding-left: 0;
  padding-right: 0;
  margin-bottom: 0;
  background: transparent;
}
.columnBlock .inner {
  margin-bottom: -15px;
}
.columnBlock .columnBlock-item {
  margin-bottom: 15px;
}
.columnBlock .columnBlock-innerColumn {
  padding: 10px;
  min-height: 80px;
  background-color: #fff;
  border-radius: 3px;
  margin-bottom: 15px;
}
.columnBlock .columnBlock-title {
  margin-bottom: 0.2em;
  font-weight: bold;
  line-height: 1.4em;
}
.columnBlock .columnBlock-title.withUnderLine {
  padding-bottom: 0.5em;
  margin-bottom: 0.5em;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.centerMessage {
  width: 100%;
  margin: 30px auto;
  font-size: 18px;
  line-height: 1.5em;
  font-weight: bold;
  color: #333;
  text-align: center;
  border-radius: 3px;
}
.centerMessage.block {
  margin: 20px 0;
  padding: 0;
}
.centerMessage.extraSmallMessage {
  margin: 15px auto;
  font-size: 12px;
}
.centerMessage.smallMessage {
  margin: 20px auto;
  font-size: 14px;
}
.centerMessage.largeMessage {
  font-size: 22px;
}
.centerMessage.extraLargeMessage {
  font-size: 64px;
}

.salonPlate {
  margin: 4px 0 15px 0;
  display: table;
  padding: 5px;
  width: 100%;
  min-height: 105px;
  background: #edeae8;
  border-radius: 2px;
  border-bottom: 1px solid #ccc;
}
.salonPlate.lowMarginBottom {
  margin-bottom: 8px;
}
.salonPlate .salonHeaderImage {
  width: 100%;
  height: 60px;
  position: relative;
}
.salonPlate .salonHeaderImage:before {
  content: "";
  position: absolute;
  width: 100.1%;
  height: 20px;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(237, 234, 232, 0)), to(#edeae8));
  background: -webkit-linear-gradient(top, rgba(237, 234, 232, 0), #edeae8);
  background: linear-gradient(to bottom, rgba(237, 234, 232, 0), #edeae8);
  bottom: -1px;
}
.salonPlate.searched {
  background: #fe7;
}
.salonPlate.searched .salonHeaderImage:before {
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 238, 119, 0)), to(#ffee77));
  background: -webkit-linear-gradient(top, rgba(255, 238, 119, 0), #ffee77);
  background: linear-gradient(to bottom, rgba(255, 238, 119, 0), #ffee77);
}
.salonPlate .headerBlock {
  display: table;
  position: relative;
  margin-top: -5px;
  padding: 5px;
  width: 100%;
  font-size: 16px;
  font-weight: bold;
}
.salonPlate .headerBlock .cell {
  display: table-cell;
  font-size: 16px !important;
}
.salonPlate .headerBlock .cell .textButton {
  font-size: 16px !important;
  font-weight: bold;
}
.salonPlate .headerBlock .saloneLogoImage {
  display: table-cell;
  width: 60px; /*右に余白を設ける*/
}
.salonPlate .headerBlock .saloneLogoImage .inner {
  width: 50px;
  height: 50px;
  padding: 2px;
  background: #fff;
  vertical-align: middle;
}
.salonPlate .headerBlock .saloneLogoImage .inner img {
  width: 100%;
  vertical-align: middle;
}
.salonPlate .headerBlock .salonName {
  display: table-cell;
  padding: 5px 5px 5px 0px;
  font-size: 16px !important;
  line-height: 1.25em;
  vertical-align: middle;
  text-align: left;
}
.salonPlate .headerBlock .textButton {
  font-size: 16px !important;
  font-weight: bold;
}
.salonPlate .infoBlock {
  display: table;
  padding: 0px 5px 5px 5px;
  width: 100%;
  min-height: 2em;
  line-height: 1.4em;
  font-size: 13px;
  overflow-y: hidden;
  margin-bottom: 6px;
  vertical-align: top;
}
.salonPlate .infoBlock .cell {
  display: table-cell;
  vertical-align: top;
}
.salonPlate .reserveButton {
  position: relative;
  width: 56px;
  height: 56px;
  color: #fff;
  vertical-align: top;
  background: #ee5d8d url("../img/reserve_button_content.svg") no-repeat center 14.5px;
  border-radius: 50%;
  font-size: 20.5px;
  font-weight: bold;
  cursor: pointer;
}
.salonPlate .reserveButton:active {
  background-color: #e6185c;
}
.salonPlate .footerBlock {
  display: table;
  width: 100%;
  margin-bottom: 5px;
}
.salonPlate .footerBlock .cell {
  display: table-cell;
  padding: 0 3px;
}
.salonPlate .footerBlock .leftAlignedCell {
  display: inline-block;
  padding: 0 3px;
}
.salonPlate .footerBlock .button.salonPlateFooterButton {
  min-width: 80px;
  margin: 0;
  color: #fff;
  background: #aaa;
  border: 1px solid rgba(204, 204, 204, 0);
}
.salonPlate .footerBlock .button.salonPlateFooterButton:active:enabled {
  background-color: #444;
}
.salonPlate .footerBlock .button.pointButton {
  width: 130px;
}
.salonPlate .footerBlock .button.pointButton.pointDisplayed {
  background: #fff;
  color: #e30;
  font-weight: bold;
  border: 1px solid rgba(204, 204, 204, 0.4);
}
.salonPlate .headerBlock .controlBlock,
.salonPlate .infoBlock .controlBlock,
.salonPlate .footerBlock .controlBlock {
  width: 70px;
  text-align: right;
}
.salonPlate .button {
  margin-bottom: 8px;
}
.salonPlate .button.default {
  border-color: #ccc;
}

.reservationPlate {
  position: relative;
  margin: 4px 0 15px 0;
  display: block;
  padding: 8px;
  width: 100%;
  min-height: 15px;
  background: #eae0d3;
  border-radius: 7px;
}
.reservationPlate.past {
  background: #eee;
}
.reservationPlate .attachImagesMark {
  position: absolute;
  top: -5px;
  right: 5px;
  width: 32px;
  height: 32px;
  cursor: pointer;
}
.reservationPlate .attachImagesMark:after {
  position: absolute;
  content: url("../img/icon_shared_photo.svg");
  top: 0;
  left: 0;
}
.reservationPlate .layoutTable {
  display: table;
  width: 100%;
}
.reservationPlate .infoBlock {
  padding: 5px;
  display: block;
}
.reservationPlate .infoBlock .salonName {
  font-family: "Hiragino Sans", Meiryo, "Noto Sans CJK JP", sans-serif;
  font-weight: bold;
  font-size: 16px;
  line-height: 1.2em;
}
.reservationPlate .infoBlock .info {
  font-size: 13px;
  line-height: 1.4em;
  padding-bottom: 5px;
}
.reservationPlate .footerBlock .buttons {
  margin-top: 0 !important;
  margin-bottom: -10px !important;
}
.reservationPlate .footerBlock .buttons .button {
  margin-bottom: 10px !important;
}
.reservationPlate .footerBlock .buttons .button.default {
  border-color: #ccc;
}

@media only screen and (max-width: 560px) {
  .reservationPlate .buttonBlock {
    width: 80px;
  }
  .reservationPlate .buttonBlock button {
    text-align: center;
  }
  .reservationPlate .buttonBlock button span {
    display: block;
    padding: 2px;
  }
}
.circleReserveButton {
  position: relative;
  width: 52px;
  height: 52px;
  color: #fff;
  vertical-align: top;
  background: #ee5d8d url("../img/select_button_content.svg") no-repeat center 12px;
  border-radius: 50%;
  font-size: 20.5px;
  font-weight: bold;
  cursor: pointer;
}
.circleReserveButton:active {
  background-color: #e6185c;
}

.bg-message {
  background: #eee !important;
}

.bg-news {
  background: #def !important;
}

.messagePlate,
.newsPlate {
  position: relative;
  display: table;
  padding-left: 10px;
  width: 100%;
  height: 80px;
  border-bottom: 1px solid #ddd;
  /*一覧左側の色帯　*/
  /* プレート一番左（現状写真がないため幅の狭い帯のみ）*/
  /*　thumbnail右の色帯　*/
  /*　プレートメインエリア　*/
}
.messagePlate .messageColor,
.newsPlate .messageColor {
  padding: 0;
  position: absolute;
  display: table-cell;
  top: 0;
  left: 0;
  width: 6px;
  height: 100%;
  background: #fcdc59;
}
.messagePlate .messageColor.green,
.newsPlate .messageColor.green {
  background: #0c0;
}
.messagePlate .messageColor.blue,
.newsPlate .messageColor.blue {
  background: #5abdfc;
}
.messagePlate .salonThumbnail,
.newsPlate .salonThumbnail {
  padding: 0;
  display: table-cell;
  width: 7px;
  background: #ccc;
}
.messagePlate .specialMark,
.newsPlate .specialMark {
  padding: 0;
  display: table-cell;
  width: 8px;
  background: #fcdc59;
}
.messagePlate .mainArea,
.newsPlate .mainArea {
  display: table-cell;
  padding: 3px 10px 6px 10px;
  cursor: pointer;
  /* タイトルと本文用ブロック */
}
.messagePlate .mainArea:active,
.newsPlate .mainArea:active {
  background: #eee;
}
.messagePlate .mainArea .headerBlock,
.newsPlate .mainArea .headerBlock {
  display: table;
  width: 100%;
  margin-bottom: 0;
}
.messagePlate .mainArea .headerBlock .inner,
.newsPlate .mainArea .headerBlock .inner {
  display: table-cell;
}
.messagePlate .mainArea .messageBlock,
.newsPlate .mainArea .messageBlock {
  display: table;
  width: 100%;
}
.messagePlate .mainArea .messageBlock .inner,
.newsPlate .mainArea .messageBlock .inner {
  display: table-cell;
}
.messagePlate .mainArea .headerBlock .controlBlock,
.messagePlate .mainArea .messageBlock .controlBlock,
.newsPlate .mainArea .headerBlock .controlBlock,
.newsPlate .mainArea .messageBlock .controlBlock {
  width: 50px;
  text-align: right;
}
.messagePlate .mainArea .salonName,
.newsPlate .mainArea .salonName {
  font-size: 11px;
  font-weight: bold;
  line-height: 1.2em;
  height: 1.2em;
  color: #333;
  overflow: hidden;
  text-overflow: ellipsis;
}
.messagePlate .mainArea .salonName span,
.newsPlate .mainArea .salonName span {
  font-size: inherit;
  font-weight: normal;
}
.messagePlate .mainArea .salonName span.sent,
.newsPlate .mainArea .salonName span.sent {
  color: #07c;
}
.messagePlate .mainArea .salonName span.received,
.newsPlate .mainArea .salonName span.received {
  color: #a33;
}
.messagePlate .mainArea .unread:after,
.newsPlate .mainArea .unread:after {
  font-family: "FontAwesome";
  color: #3399ff;
  content: "\f111";
}
.messagePlate .mainArea .subject,
.newsPlate .mainArea .subject {
  font-size: 14px !important;
  font-weight: bold;
  line-height: 1.5em;
  color: #333;
  height: 1.5em;
  margin-bottom: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.messagePlate .mainArea .body,
.newsPlate .mainArea .body {
  text-decoration: none;
  font-size: 13px;
  color: #777;
  line-height: 1.4em;
  height: 4.2em;
  overflow: hidden;
  text-overflow: ellipsis;
}
.messagePlate .mainArea .dateAndTime,
.newsPlate .mainArea .dateAndTime {
  width: 100%;
  font-size: 11px;
  font-weight: normal;
  text-align: right;
}

.messageDetail,
.newsDetail {
  display: table;
  width: 100%;
}
.messageDetail.header,
.newsDetail.header {
  background-color: #fff;
  border-bottom: 1px solid #ccc;
}
.messageDetail.header .salonThumbnail,
.newsDetail.header .salonThumbnail {
  padding: 0;
  display: table-cell;
  width: 10px;
  background: #ccc;
}
.messageDetail.header .specialIndicator,
.newsDetail.header .specialIndicator {
  padding: 0;
  display: table-cell;
  width: 10px;
  background: #fcdc59;
}
.messageDetail.header .mainArea,
.newsDetail.header .mainArea {
  display: table-cell;
  padding: 7px 10px;
}
.messageDetail.header .mainArea .salonName,
.newsDetail.header .mainArea .salonName {
  width: 100%;
  height: 44px;
  font-size: 16x;
  font-weight: bold;
}
.messageDetail.header .mainArea .dateAndTime,
.newsDetail.header .mainArea .dateAndTime {
  width: 100%;
  font-size: 13px;
  text-align: right;
}
.messageDetail.body,
.newsDetail.body {
  margin: 10px 0;
}
.messageDetail.body .title,
.newsDetail.body .title {
  margin: 5px 0;
  font-size: 16px;
  font-weight: bold;
}
.messageDetail.body .message,
.newsDetail.body .message {
  font-size: 14px;
}

.controlBar {
  padding: 2px 10px;
  width: 100%;
  height: 40px;
  background: #333;
  color: #fff;
  text-align: left;
}
.controlBar.transparent {
  background-color: transparent;
}

.controlButton {
  width: 40px;
  height: 40px;
  font-size: 16px;
  background: transparent;
  cursor: pointer;
  vertical-align: middle;
  position: relative;
  /* ie対策のためcontent改めbackgroundに　他は今すぐ予約では使っていないので様子をみて検討 */
}
.controlButton:disabled {
  cursor: default;
}
.controlButton.prevButton {
  vertical-align: middle;
}
.controlButton.prevButton:after {
  position: absolute;
  content: url("../img/control_prev.svg");
  top: 5px;
}
.controlButton.prevButton.black:after {
  position: absolute;
  content: url("../img/control_prev_black.svg");
  top: 5px;
}
.controlButton.nextButton:after {
  position: absolute;
  content: url("../img/control_next.svg");
  top: 5px;
}
.controlButton.nextButton.black:after {
  position: absolute;
  content: url("../img/control_next_black.svg");
  top: 5px;
}
.controlButton.closeButton {
  background: url("../img/control_close.svg") no-repeat right 8px;
}
.controlButton.closeButton.black {
  background: url("../img/control_close_black.svg") no-repeat right 8px;
}
.controlButton.circleCloseButton:after {
  position: absolute;
  content: url("../img/control_circle_close.svg") center top;
  top: 5px;
  right: 0px;
}
.controlButton.circleCloseButton.black:after {
  position: absolute;
  content: url("../img/control_circle_close_black.svg");
  top: 5px;
  right: 0px;
}

.calendarBox {
  display: block;
  background: #f6f6f6;
  border-top: 1px solid rgba(0, 0, 0, 0.02);
  border-bottom: 1px solid rgba(0, 0, 0, 0.02);
  margin-bottom: 16px;
}

.clndr {
  display: block;
  margin: 0 auto;
}
.clndr .clndr-controls {
  position: relative;
}
.clndr .clndr-controls.top {
  border-bottom: 2px solid #fff;
}
.clndr .clndr-controls.bottom {
  border-top: 2px solid #fff;
}
.clndr .clndr-controls .month {
  padding: 9px 0;
  text-align: center;
  font-size: 17px;
  vertical-align: middle;
}
.clndr .clndr-controls .clndr-previous-button,
.clndr .clndr-controls .clndr-next-button {
  cursor: pointer;
  top: 2px;
  left: 0px;
  font-size: 23px;
  margin: 2px 5px;
  padding: 3px 12px;
  position: absolute;
  width: 60px;
  height: 32px;
  background-color: transparent;
  vertical-align: middle;
  border-radius: 7px;
}
.clndr .clndr-controls .clndr-previous-button:active,
.clndr .clndr-controls .clndr-next-button:active {
  background-color: #ddd;
}
.clndr .clndr-controls .clndr-next-button {
  left: auto;
  right: 0px;
  text-align: right;
}
.clndr .prevNextButtonContainer {
  vertical-align: middle;
}
.clndr .prevNextButtonContainer .prevMonthButton,
.clndr .prevNextButtonContainer .nextMonthButton {
  width: 100%;
  background: #fff;
  border-radius: 50%;
  min-width: 100px;
  min-height: 100px;
}
.clndr .clndr-grid {
  width: 100%;
  padding-top: 2px;
  padding-bottom: 2px;
}
.clndr .clndr-grid .days-of-the-week .header-day {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 12.9%;
  height: 28px;
  font-size: 14px;
  padding: 2px 0;
  margin: 2px 2px;
  text-align: center;
}
.clndr .days {
  margin-bottom: 10px;
}
.clndr .days .day,
.clndr .days .empty {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 12.9%;
  height: 30px;
  padding: 2px 0;
  margin: 2px 2px;
  position: relative;
  text-align: center;
  border-radius: 2px;
  background-color: transparent;
  border: 1px transparent;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.clndr .days .day {
  cursor: pointer;
  /*先月の日、または次月の日*/
  /* スタッフ休日 */
  /* 閉店日 */
  /* 満席 */
}
.clndr .days .day span {
  font-size: 19px;
  z-index: 1;
}
.clndr .days .day:active:enabled {
  color: #fff;
  background-color: #91c9ff;
}
.clndr .days .day.selected {
  background-color: #c4e2ff;
}
.clndr .days .day.today:after {
  content: "";
  border-bottom: 5px solid #465fc2;
  width: 100%;
  height: 30px;
  position: absolute;
  margin: auto;
  left: 0;
  top: 0;
  bottom: 2px;
  right: 0;
}
.clndr .days .day.adjacent-month {
  opacity: 0.6;
}
.clndr .days .day.past {
  opacity: 0.2;
  cursor: default;
}
.clndr .days .day.holiday, .clndr .days .day.calendar-dow-0 {
  color: #e28;
}
.clndr .days .day.calendar-dow-6 {
  color: #39f;
}
.clndr .days .day.staffsHoliday, .clndr .days .day.closeday, .clndr .days .day.fullReserved {
  color: rgba(47, 147, 0, 0.5);
}
.clndr .days .day.staffsHoliday.calendar-dow-0, .clndr .days .day.closeday.calendar-dow-0, .clndr .days .day.fullReserved.calendar-dow-0 {
  color: rgba(210, 26, 118, 0.8);
}
.clndr .days .day.staffsHoliday.calendar-dow-6, .clndr .days .day.closeday.calendar-dow-6, .clndr .days .day.fullReserved.calendar-dow-6 {
  color: rgba(18, 98, 177, 0.8);
}
.clndr .days .day.staffsHoliday:before {
  width: 100%;
  height: 100%;
  background: url("../img/icon_staffs_holiday.svg") no-repeat center center;
  content: "";
  position: absolute;
  margin: auto;
  left: 7px;
  top: 0px;
  bottom: 0;
  right: 0;
  opacity: 0.3;
  background-size: contain;
}
.clndr .days .day.closeday:before {
  width: 100%;
  height: 100%;
  background: url("../img/icon_closeday.svg") no-repeat center center;
  content: "";
  position: absolute;
  margin: auto;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  opacity: 0.15;
  background-size: contain;
}
.clndr .days .day.fullReserved:before {
  width: 100%;
  height: 100%;
  background: url("../img/icon_full_reserved.svg") no-repeat center center;
  content: "";
  position: absolute;
  margin: auto;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  opacity: 0.15;
  background-size: contain;
}

.timeSelectorBox {
  margin-bottom: 20px;
  padding-bottom: 20px;
  width: 100%;
  min-height: 290px;
  position: relative;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}
.timeSelectorBox::-webkit-scrollbar {
  height: 8px;
  background: #eee;
}
.timeSelectorBox::-webkit-scrollbar-thumb {
  background: #ccc;
}
.timeSelectorBox .inner {
  min-height: 290px;
  overflow-x: hidden;
  overflow-y: hidden;
}
.timeSelectorBox .otherAvailabilityDescription {
  position: absolute;
  left: 130px;
  top: 17px;
  width: auto;
  height: 280px;
  max-height: 280px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.timeSelectorBox .otherAvailabilityDescription.scrollDescriptionOnly {
  top: 90px;
  height: auto;
}
.timeSelectorBox .otherAvailabilityDescription.scrollDescriptionOnly .description::before, .timeSelectorBox .otherAvailabilityDescription.scrollDescriptionOnly .description::after {
  top: 30px;
}
.timeSelectorBox .otherAvailabilityDescription.noTitleHeight {
  height: 262px;
  max-height: 262px;
}
.timeSelectorBox .otherAvailabilityDescription.noTitleHeight .description.long + .arrow {
  min-height: 15px;
  width: 15%;
}
.timeSelectorBox .otherAvailabilityDescription .description {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  border: 2px dotted #6eae37;
  border-radius: 30px;
  color: #6eae37;
  background: rgba(110, 174, 55, 0.1);
  font-size: 14px;
  line-height: 1.6em;
  padding: 10px;
  text-align: center;
  margin: 0;
}
.timeSelectorBox .otherAvailabilityDescription .description::before {
  position: absolute;
  content: "";
  width: 10px;
  border-top: 2px dotted #6eae37;
  top: 40px;
  left: -13px;
  pointer-events: none;
}
.timeSelectorBox .otherAvailabilityDescription .description:after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6.5px 14px 6.5px 0;
  border-color: transparent #6eae37 transparent transparent;
  left: -25px;
  top: 40px;
  -webkit-transform: translateY(-50%) rotate(0deg);
          transform: translateY(-50%) rotate(0deg);
  pointer-events: none;
}
.timeSelectorBox .otherAvailabilityDescription .description div:not(:last-of-type) {
  padding-bottom: 0.5em;
  border-bottom: 1px solid #6eae37;
  margin-bottom: 0.5em;
}
.timeSelectorBox .otherAvailabilityDescription .description.long + .arrow {
  min-height: 20px;
  width: 20%;
}
.timeSelectorBox .otherAvailabilityDescription .arrow {
  position: relative;
  -webkit-box-flex: 0;
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  min-height: 80px;
  width: 50%;
  border: 2px dotted #6eae37;
  border-top: none;
  border-left: none;
  border-radius: 0 0 100% 0/0 0 100% 0;
  margin-top: 1px;
}
.timeSelectorBox .otherAvailabilityDescription .arrow:after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7.5px 20px 7.5px 0;
  border-color: transparent #6eae37 transparent transparent;
  left: -17px;
  bottom: 0;
  -webkit-transform: translateY(55%) rotate(0deg);
          transform: translateY(55%) rotate(0deg);
}
.timeSelectorBox .timeSelectorUnitGroup {
  position: relative;
  display: inline-block;
  padding: 0;
  margin: 0;
  margin-right: 25px;
  vertical-align: top;
}
.timeSelectorBox .timeSelectorUnitGroup:last-child {
  margin-right: 0;
}
.timeSelectorBox .timeSelectorUnit {
  position: relative;
  margin-right: 25px;
  display: block;
  width: 115px;
  background: #f6f6f6;
  float: left;
  vertical-align: top;
  -webkit-box-shadow: 1px 1px 1px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 1px 1px 1px 0 rgba(0, 0, 0, 0.1);
}
.timeSelectorBox .timeSelectorUnit:not(:first-of-type):before {
  position: absolute;
  content: "";
  width: 3px;
  height: 15px;
  background: #ccc;
  top: 14px;
  left: -23px;
  -webkit-box-shadow: 6px 0 0 #ccc, 12px 0 0 #ccc, 18px 0 0 #ccc;
          box-shadow: 6px 0 0 #ccc, 12px 0 0 #ccc, 18px 0 0 #ccc;
}
.timeSelectorBox .timeSelectorUnit.loaded.ng-enter {
  -webkit-animation: timeSelectorShowAnimation 0.4s;
          animation: timeSelectorShowAnimation 0.4s;
  -webkit-animation-iteration-count: 2;
          animation-iteration-count: 2;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}
@-webkit-keyframes timeSelectorShowAnimation {
  0% {
    opacity: 1;
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
  50% {
    opacity: 0.5;
    -webkit-transform: translate(0%, -15%);
            transform: translate(0%, -15%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
}
@keyframes timeSelectorShowAnimation {
  0% {
    opacity: 1;
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
  50% {
    opacity: 0.5;
    -webkit-transform: translate(0%, -15%);
            transform: translate(0%, -15%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
}
.timeSelectorBox .timeSelectorUnit:last-child {
  margin-right: 0;
}
.timeSelectorBox .timeSelectorUnit .date {
  width: 100%;
  height: 36px;
  font-size: 14px;
  padding: 5px;
  color: #333;
  background: #c4e2ff;
  border-bottom: 1px solid #91c9ff;
  text-align: left;
  cursor: pointer;
  position: relative;
}
.timeSelectorBox .timeSelectorUnit .date.holiday, .timeSelectorBox .timeSelectorUnit .date.calendar-dow-0 {
  color: #e28;
}
.timeSelectorBox .timeSelectorUnit .date.calendar-dow-6 {
  color: #03c;
}
.timeSelectorBox .timeSelectorUnit .date:after {
  position: absolute;
  width: 18px;
  font-family: "FontAwesome";
  color: rgba(51, 51, 51, 0.6);
  font-size: 18px !important;
  content: "\f057";
  top: 9px;
  right: 5px;
}
.timeSelectorBox .timeSelectorUnit .twoStaffMark {
  height: 0;
  overflow: hidden;
}
.timeSelectorBox .timeSelectorUnit .timeListContainer {
  position: relative;
}
.timeSelectorBox .timeSelectorUnit .timeListContainer.scroll::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 34px;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(221, 221, 221, 0)), color-stop(80%, rgba(221, 221, 221, 0.95)));
  background: -webkit-linear-gradient(top, rgba(221, 221, 221, 0), rgba(221, 221, 221, 0.95) 80%);
  background: linear-gradient(to bottom, rgba(221, 221, 221, 0), rgba(221, 221, 221, 0.95) 80%);
  mix-blend-mode: luminosity;
  left: 0;
  bottom: 0;
  pointer-events: none;
}
.timeSelectorBox .timeSelectorUnit .timeList {
  padding-top: 5px;
  padding-bottom: 45px;
  height: 190px;
  overflow-y: scroll;
  -webkit-overflow-scrolling: auto;
  background: #f6f6f6;
}
.timeSelectorBox .timeSelectorUnit .timeList .candidateTime {
  width: 100%;
  padding: 0 5px;
  text-align: right;
  font-size: 18px;
  line-height: 36px;
  background: transparent;
  cursor: pointer;
}
.timeSelectorBox .timeSelectorUnit .timeList .candidateTime:disabled {
  cursor: default;
  opacity: 0.3;
}
.timeSelectorBox .timeSelectorUnit .timeList .candidateTime:active {
  color: #fff;
  background-color: #3399ff;
}
.timeSelectorBox .timeSelectorUnit .timeList .candidateTime.selected {
  color: #fff;
  background-color: rgba(51, 153, 255, 0.7);
}
.timeSelectorBox .timeSelectorUnit .timeList .candidateTime.unavailable {
  background: #ccc;
  color: #fff;
  font-size: 12px;
  opacity: 1;
}
.timeSelectorBox .timeSelectorUnit .timeList .candidateTime.unavailable:disabled {
  opacity: 1;
}
.timeSelectorBox .timeSelectorUnit .timeList .noTime {
  margin: 5px 3px;
  padding: 3px;
  font-size: 14px;
  text-align: center;
  line-height: 1.5em;
  color: black;
}
.timeSelectorBox .timeSelectorUnit .timeList .notice {
  margin: 5px 3px;
  padding: 5px 3px;
  background: rgba(255, 255, 255, 0.7);
  border-radius: 2px;
  font-size: 11px;
  text-align: left;
  line-height: 1.5em;
  color: black;
}
.timeSelectorBox .timeSelectorUnit .timeList .notice .prompt {
  font-size: 12px;
  font-weight: bold;
  text-align: center;
  color: #bb3377;
  margin-bottom: 0.5em;
  line-height: 1.2em;
}
.timeSelectorBox .timeSelectorUnit .staffNameContainer {
  position: relative;
  min-height: 32px;
  padding: 5px;
  background: #c4e2ff;
  color: #333;
  border-top: 1px solid #91c9ff;
}
.timeSelectorBox .timeSelectorUnit .staffNameContainer .staffName {
  font-size: 14px;
  font-weight: normal;
  line-height: 1.3em;
  max-height: 2.6em;
  overflow: hidden;
  -webkit-line-clamp: 2;
}
.timeSelectorBox .timeSelectorUnit .buttonsContainer {
  background: #6eae37;
  color: #fff;
  padding: 0px;
  letter-spacing: -0.4em;
}
.timeSelectorBox .timeSelectorUnit .buttonsContainer .title {
  width: 100%;
  text-align: center;
  font-size: 10.5px;
  color: #fff;
  line-height: 1.2em;
  letter-spacing: normal;
  white-space: nowrap;
  overflow: hidden;
  padding: 5px;
  padding-bottom: 0;
}
.timeSelectorBox .timeSelectorUnit .buttonsContainer .buttons {
  padding: 6px;
}
.timeSelectorBox .timeSelectorUnit .buttonsContainer .buttons.glay {
  background: #777;
}
.timeSelectorBox .timeSelectorUnit .buttonsContainer .buttons.glay button {
  color: #777;
}
.timeSelectorBox .timeSelectorUnit .buttonsContainer button {
  letter-spacing: normal;
  height: 28px;
  padding-left: 0px;
  padding-right: 0px;
  background: white;
  color: #6eae37;
  border-radius: 15px;
  margin-bottom: 5px;
  font-weight: bold;
  width: 100%;
  font-size: 13px;
  cursor: pointer;
}
.timeSelectorBox .timeSelectorUnit .buttonsContainer button:hover:enabled {
  background: rgba(255, 255, 255, 0.9);
}
.timeSelectorBox .timeSelectorUnit .buttonsContainer button:active:enabled {
  background: rgba(255, 255, 255, 0.8);
}
.timeSelectorBox .timeSelectorUnit .buttonsContainer button:disabled {
  background: rgba(255, 255, 255, 0.5);
  cursor: default;
}
.timeSelectorBox .timeSelectorUnit .buttonsContainer button.smallFontSize {
  font-size: 11.5px;
}
.timeSelectorBox .timeSelectorUnit .buttonsContainer button:first-of-type {
  margin-left: 0;
}
.timeSelectorBox .timeSelectorUnit .buttonsContainer button:last-of-type {
  margin-bottom: 0;
}
.timeSelectorBox .timeSelectorUnit.otherSalon, .timeSelectorBox .timeSelectorUnit.otherStaff {
  margin-top: 20px;
}
.timeSelectorBox .timeSelectorUnit.otherSalon .date, .timeSelectorBox .timeSelectorUnit.otherStaff .date {
  background: #dbf5b1;
  border-bottom-color: #a1e532;
}
.timeSelectorBox .timeSelectorUnit.otherSalon .salonNameContainer, .timeSelectorBox .timeSelectorUnit.otherStaff .salonNameContainer {
  position: relative;
  z-index: 10;
  height: 38px;
  margin-top: -3px;
  margin-bottom: 0;
  color: #333;
  background: #dbf5b1;
  padding: 0px 5px 5px 5px;
  border-bottom: 1px solid #a1e532;
}
.timeSelectorBox .timeSelectorUnit.otherSalon .salonNameContainer .salonName, .timeSelectorBox .timeSelectorUnit.otherStaff .salonNameContainer .salonName {
  font-size: 12px;
  font-weight: normal;
  line-height: 1.3em;
  height: 2.6em;
  overflow: hidden;
  -webkit-line-clamp: 2;
}
.timeSelectorBox .timeSelectorUnit.otherSalon .twoStaffMark, .timeSelectorBox .timeSelectorUnit.otherStaff .twoStaffMark {
  height: auto;
  padding: 3px 3px 5px 3px;
  font-size: 11px;
  text-align: center;
  background: #81c119;
  color: #fff;
  line-height: 1em;
  white-space: nowrap;
  overflow: hidden;
}
.timeSelectorBox .timeSelectorUnit.otherSalon .timeList, .timeSelectorBox .timeSelectorUnit.otherStaff .timeList {
  height: 203px;
}
.timeSelectorBox .timeSelectorUnit.otherSalon .timeList.otherSalon, .timeSelectorBox .timeSelectorUnit.otherStaff .timeList.otherSalon {
  height: 168px;
}
.timeSelectorBox .timeSelectorUnit.otherSalon .timeList.twoStaff, .timeSelectorBox .timeSelectorUnit.otherStaff .timeList.twoStaff {
  height: 184px;
}
.timeSelectorBox .timeSelectorUnit.otherSalon .timeList .candidateTime:active, .timeSelectorBox .timeSelectorUnit.otherStaff .timeList .candidateTime:active {
  background-color: #7bbe12;
}
.timeSelectorBox .timeSelectorUnit.otherSalon .timeList .candidateTime.selected, .timeSelectorBox .timeSelectorUnit.otherStaff .timeList .candidateTime.selected {
  background-color: rgba(123, 190, 18, 0.8);
}
.timeSelectorBox .timeSelectorUnit.otherSalon .staffNameContainer, .timeSelectorBox .timeSelectorUnit.otherStaff .staffNameContainer {
  background: #dbf5b1;
  border-top-color: #a1e532;
}
.timeSelectorBox .timeSelectorUnit .hourSelector {
  position: absolute;
  top: 32px;
  bottom: 2px;
  left: 0;
  right: 0;
  background: #444;
  border-radius: 15px;
  padding: 5px;
}
.timeSelectorBox .timeSelectorUnit .hourSelector.with-animation.ng-hide-remove {
  -webkit-animation: subTimeSelectorAtShowing 0.5s;
          animation: subTimeSelectorAtShowing 0.5s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-timing-function: ease-out;
          animation-timing-function: ease-out;
}
.timeSelectorBox .timeSelectorUnit .hourSelector.with-animation.ng-hide-add {
  -webkit-animation: subTimeSelectorAtHiding 0.5s;
          animation: subTimeSelectorAtHiding 0.5s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-timing-function: ease-in;
          animation-timing-function: ease-in;
}
@-webkit-keyframes subTimeSelectorAtShowing {
  0% {
    -webkit-transform: translate(0, 100%);
            transform: translate(0, 100%);
    opacity: 0;
  }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 1;
  }
}
@keyframes subTimeSelectorAtShowing {
  0% {
    -webkit-transform: translate(0, 100%);
            transform: translate(0, 100%);
    opacity: 0;
  }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 1;
  }
}
@-webkit-keyframes subTimeSelectorAtHiding {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 1;
  }
  100% {
    -webkit-transform: translate(0, 100%);
            transform: translate(0, 100%);
    opacity: 0;
  }
}
@keyframes subTimeSelectorAtHiding {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 1;
  }
  100% {
    -webkit-transform: translate(0, 100%);
            transform: translate(0, 100%);
    opacity: 0;
  }
}
.timeSelectorBox .timeSelectorUnit .hourSelector .controlBar {
  position: relative;
  height: 20px;
  background: transparent;
  text-align: right;
  margin-bottom: 5px;
}
.timeSelectorBox .timeSelectorUnit .hourSelector .controlBar button.close {
  width: 44px;
  height: 36px;
  background: transparent;
  cursor: pointer;
}
.timeSelectorBox .timeSelectorUnit .hourSelector .controlBar button.close:after {
  position: absolute;
  width: 18px;
  font-family: "FontAwesome";
  color: rgba(255, 255, 255, 0.6);
  font-size: 18px;
  content: "\f057";
  top: 3px;
  right: 2px;
}
.timeSelectorBox .timeSelectorUnit .hourSelector .controlBar button.close:disabled {
  opacity: 0.1;
}
.timeSelectorBox .timeSelectorUnit .hourSelector .description {
  text-align: center;
  font-size: 11.5px;
  color: #fff;
  line-height: 1.5em;
}
.timeSelectorBox .timeSelectorUnit .hourSelector .timeList {
  margin-bottom: 5px;
  height: 185px;
}

.salonName {
  margin-bottom: 5px;
  font-size: 16px;
  font-weight: bold;
}
.salonName span {
  font-size: 16px;
}

.salonPhone {
  margin-bottom: 5px;
  font-size: 16px;
  font-weight: bold;
}
.salonPhone span {
  font-size: 16px;
}

.salonAddress {
  margin-bottom: 5px;
  font-size: 14px;
  line-height: 1.2em;
  -webkit-user-select: all;
     -moz-user-select: all;
          user-select: all;
}
.salonAddress span {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  font-size: 14px;
}

.salonWeb {
  margin-bottom: 5px;
  font-size: 16px;
}
.salonWeb span {
  font-size: 16px;
}

.overlay {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  position: fixed;
  padding: 15px;
  padding-top: calc(constant(safe-area-inset-top) + 15px);
  padding-top: calc(env(safe-area-inset-top) + 15px);
  padding-bottom: calc(constant(safe-area-inset-bottom) + 15px);
  padding-bottom: calc(env(safe-area-inset-bottom) + 15px);
  background: rgba(0, 0, 0, 0.4);
  z-index: 2000;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.overlay.white {
  background: rgba(255, 255, 255, 0.6);
}
.overlay.opaque {
  background: #444;
  color: #fff;
}
.overlay.pageLook {
  background: #eee !important;
  padding: 0;
  -webkit-animation: none;
          animation: none;
}
.overlay.pageLook .dialog {
  -webkit-animation: none;
          animation: none;
  border-radius: 0;
  -webkit-box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, 0.2);
          box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, 0.2);
}
.overlay.pageLook .dialog .body .title {
  height: 70px;
  padding-top: 20px;
}
.overlay.inline {
  display: block;
  position: relative;
  padding: 0;
  background: transparent;
  -webkit-animation: none;
          animation: none;
}
.overlay.inline .dialog {
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-animation: none;
          animation: none;
  border-radius: 0;
}
.overlay.inline .dialog .body {
  padding: 0;
}
@media only screen and (max-width: 680px) {
  .overlay.pageLook .dialog {
    max-height: 100%;
  }
  .overlay.pageLook .dialog .body .title {
    height: 44px;
    padding-top: 10px;
  }
}
.overlay.dialConfirm {
  display: none;
  padding: 30px;
  background: white;
}
.overlay .backdrop {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
.overlay.ng-hide-remove {
  -webkit-animation: overlayAtShowing 0.3s;
          animation: overlayAtShowing 0.3s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}
.overlay.ng-hide-remove .dialog {
  -webkit-animation: overlayDialogAtShowing 0.3s;
          animation: overlayDialogAtShowing 0.3s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
@-webkit-keyframes overlayAtShowing {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes overlayAtShowing {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes overlayDialogAtShowing {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20%);
            transform: translateY(20%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}
@keyframes overlayDialogAtShowing {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20%);
            transform: translateY(20%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}
.overlay .dialog {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  max-width: 500px;
  min-height: 140px;
  max-height: 94%;
  background: #fff;
  border-radius: 7px;
  -webkit-box-shadow: 5px 5px 15px 0 rgba(0, 0, 0, 0.3);
          box-shadow: 5px 5px 15px 0 rgba(0, 0, 0, 0.3);
  position: relative;
  overflow: hidden;
}
.overlay .dialog.wide {
  max-width: 960px;
}
.overlay .dialog.noControlBar {
  padding-top: 15px;
}
.overlay .dialog.tall {
  padding-top: 45px;
  padding-bottom: 30px;
}
.overlay .dialog.transparent {
  -webkit-box-shadow: none;
          box-shadow: none;
  background: transparent;
}
.overlay .dialog.overflow-visible {
  overflow: visible;
}
.overlay .dialog .controlBar {
  position: relative;
  height: 40px;
  background: transparent;
  z-index: 10000;
}
.overlay .dialog .controlBar.noButton {
  height: 10px;
}
.overlay .dialog .controlBar.outside {
  position: absolute;
  top: -40px;
}
.overlay .dialog .controlBar.outside .closeButton {
  background-size: 28px;
}
.overlay .dialog .header {
  padding: 7px 15px;
  width: 100%;
  height: 44px;
  overflow: hidden;
  font-size: 16px;
  line-height: 1.4em;
  border-bottom: 1px solid #ccc;
}
.overlay .dialog .body {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  padding: 15px;
  padding-top: 5px;
  width: 100%;
  height: auto;
  overflow: auto;
  line-height: 1.4em;
  -webkit-overflow-scrolling: touch;
}
.overlay .dialog .body::-webkit-scrollbar {
  width: 6px;
  background: rgba(0, 0, 0, 0.05);
  border-radius: 3px;
}
.overlay .dialog .body::-webkit-scrollbar-thumb {
  background: #bbb;
  border-radius: 3px;
}
.overlay .dialog .body .title {
  font-size: 20px;
  line-height: 1.4em;
  padding: 0 0 5px 0;
  margin-bottom: 5px;
  color: #333;
  text-align: center;
}
.overlay .dialog .body .miniTitle {
  font-size: 16px;
  line-height: 1.4em;
  padding: 0 0 5px 0;
  margin-bottom: 5px;
  color: #333;
  text-align: center;
}
.overlay .dialog .body .description {
  font-size: 10px;
  line-height: 1.4em;
  padding: 0 0 5px 0;
  margin-bottom: 5px;
  color: #333;
}
.overlay .dialog .body .text {
  font-size: 16px;
  line-height: 1.4em;
  margin-bottom: 15px;
  color: #333;
}
.overlay .dialog .body .buttons {
  position: relative;
  margin-top: 30px;
  margin-bottom: -15px;
}
.overlay .dialog .body .buttons.sticky-bottom {
  position: -webkit-sticky;
  position: sticky;
  bottom: -15px;
  padding-top: 15px;
  z-index: 1;
}
.overlay .dialog .body .buttons.sticky-bottom::before {
  position: absolute;
  content: "";
  width: calc(100% + 15px * 2);
  height: 100%;
  top: 0;
  left: -15px;
  background: #fff;
  -webkit-box-shadow: 0 -5px 10px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 -5px 10px 0 rgba(0, 0, 0, 0.1);
}
.overlay .dialog .body .buttons.lowMarginTop {
  margin-top: 15px;
}
.overlay .dialog .body .buttons .button {
  margin-bottom: 15px;
}
.overlay .dialog .body .buttons .button.default {
  border-color: #ccc;
}
.overlay .dialog.salonDetail {
  min-height: 100px;
  line-height: 2em;
}
.overlay .dialog.dialConfirm {
  background: #acd;
}
.overlay .dialog.dialConfirm .text {
  font-size: 20px;
  font-weight: bold;
}
.overlay .dialog.dialConfirm .buttons {
  margin-top: 15px;
  margin-bottom: -15px;
}
.overlay .dialog.dialConfirm .button {
  margin-bottom: 15px;
}
.overlay .dialog.dialConfirm .button.default {
  border: transparent;
}
.overlay .dialog.dialConfirm.ng-hide-remove {
  -webkit-animation: dialConfirmShowAnimation 0.5s;
  -webkit-animation-iteration-count: 1;
  -webkit-animation-timing-function: ease-out;
}
@-webkit-keyframes dialConfirmShowAnimation {
  0% {
    -webkit-transform: scale(0.5, 0.5) translate(0px, 100px);
    opacity: 0;
  }
  60% {
    -webkit-transform: scale(1.1, 1.1) translate(0px, 0px);
  }
  100% {
    -webkit-transform: scale(1, 1);
    opacity: 1;
  }
}
.overlay .dialog .footer {
  padding: 16px;
  padding-top: 8px;
  position: relative;
  z-index: auto;
}

.progressMask {
  position: fixed;
  background: rgba(255, 255, 255, 0.6);
  color: DEFAULT_COLOR;
  z-index: 2000;
  margin: auto;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.progressMask.opaque {
  background: #fff;
}
.progressMask.part {
  position: absolute;
  bottom: 0;
  z-index: auto;
}
.progressMask.part.radius {
  border-radius: 7px;
}
.progressMask.ng-hide-add {
  display: block !important;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
  opacity: 1;
}
.progressMask.ng-hide-add.ng-hide-add-active {
  opacity: 0;
}
.progressMask.ng-hide-remove {
  display: block !important;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
  opacity: 0;
}
.progressMask.ng-hide-remove.ng-hide-remove-active {
  opacity: 1;
}
.progressMask .progressIcon {
  width: 100%;
  height: 100%;
  background: url("../img/progressIcon.gif") no-repeat center center;
}
.progressMask .dialog {
  width: 240px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background: #fff;
  border-radius: 2px;
  -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
}
.progressMask .dialog .cell {
  position: relative;
  display: table-cell;
  text-align: center;
  vertical-align: middle;
}
.progressMask .dialog .message {
  display: table;
  width: 100%;
  height: 70px;
}
.progressMask .dialog .message .iconCell {
  width: 80px;
  padding: 15px;
  padding-left: 25px;
}
.progressMask .dialog .message .messageCell {
  text-align: left;
  padding: 15px;
}
.progressMask .dialog .buttons {
  display: table;
  width: 100%;
}
.progressMask .dialog .buttons .cell {
  width: 100%;
  padding: 15px;
}
.progressMask .dialog .buttons .cell button {
  margin: 0;
}

.infinite-loading {
  position: relative;
  height: 50px;
}

.errorMark {
  display: inline-block;
  padding: 0;
  margin: 0;
  position: relative;
  vertical-align: top;
  width: 12px; /*アイコン幅 18px*0.7を確保*/
}
.errorMark:after {
  position: absolute;
  top: -1px;
  left: -2px;
  content: url("../img/icon_warning.svg");
  -webkit-transform: scale(0.7);
          transform: scale(0.7);
}
.errorMark.yellow:after {
  position: absolute;
  top: -1px;
  left: -2px;
  content: url("../img/icon_caution_light_yellow.svg");
  -webkit-transform: scale(0.7);
          transform: scale(0.7);
}

.changeArrow {
  margin-left: 15px;
}
.changeArrow:before {
  font-size: 16px;
  font-family: "FontAwesome";
  color: #f50;
  opacity: 0.7;
  content: "\f063";
}

.changeItem {
  color: #f50;
  font-weight: bold;
}

.dial-link-container {
  display: inline-block;
  padding: 5px 0;
}

.dummySvgForSafari {
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
  margin: 0;
  padding: 0;
}

.displayNone {
  display: none !important;
}

.invisible {
  visibility: hidden;
}

.visible {
  visibility: visible !important;
}

.displayBlock {
  display: block !important;
}

.displayFlex {
  display: -webkit-box !important;
  display: -webkit-flex !important;
  display: -ms-flexbox !important;
  display: flex !important;
}

.block {
  width: 100% !important;
}

.inlineBlock {
  display: inline-block !important;
}

.inline {
  display: inline !important;
}

.alignLeft {
  text-align: left !important;
}

.alignRight {
  text-align: right !important;
}

.alignCenter {
  text-align: center !important;
}

.verticalAlignMiddle {
  vertical-align: middle !important;
}

.verticalAlignBottom {
  vertical-align: bottom !important;
}

.spacer {
  display: inline-block;
  width: 15px;
}
.spacer.exSmall {
  width: 5px;
}
.spacer.small {
  width: 10px;
}
.spacer.large {
  width: 15px;
}
.spacer.w30px {
  width: 30px;
}
.spacer.w40px {
  width: 40px;
}
.spacer.w50px {
  width: 50px;
}
.spacer.w60px {
  width: 60px;
}
.spacer.w120px {
  width: 150px;
}
.spacer.w150px {
  width: 150px;
}
.spacer.w200px {
  width: 200px;
}
.spacer.w300px {
  width: 300px;
}

.verticalSpacer {
  height: 15px;
}
.verticalSpacer.exSmall {
  height: 5px;
}
.verticalSpacer.small {
  height: 10px;
}
.verticalSpacer.large {
  height: 15px;
}
.verticalSpacer.h30px {
  height: 30px;
}
.verticalSpacer.h60px {
  height: 60px;
}
.verticalSpacer.h120px {
  height: 150px;
}
.verticalSpacer.h150px {
  height: 150px;
}
.verticalSpacer.h200px {
  height: 200px;
}
.verticalSpacer.h300px {
  height: 300px;
}

.defaultWidth {
  width: auto !important;
}

.w40 {
  width: 40px !important;
}

.w50 {
  width: 50px !important;
}

.w60 {
  width: 60px !important;
}

.w70 {
  width: 70px !important;
}

.w80 {
  width: 80px !important;
}

.w90 {
  width: 90px !important;
}

.w100 {
  width: 100px !important;
}

.w120 {
  width: 120px !important;
}

.w150 {
  width: 150px !important;
}

.w200 {
  width: 200px !important;
}

.w250 {
  width: 250px !important;
}

.w300 {
  width: 300px !important;
}

.w350 {
  width: 350px !important;
}

.maxW400 {
  max-width: 400px;
}

.maxW500 {
  max-width: 500px;
}

.maxW760 {
  max-width: 760px;
}

.w33per {
  width: 33% !important;
}

.w40per {
  width: 40% !important;
}

.w50per {
  width: 50% !important;
}

.min100vh {
  min-height: 100vh;
}

.noScroll {
  overflow: visible !important;
}

.noMargin {
  margin: 0 !important;
}

.noMarginTop {
  margin-top: 0 !important;
}

.noMarginLeft {
  margin-left: 0 !important;
}

.noMarginRight {
  margin-right: 0 !important;
}

.noMarginBottom {
  margin-bottom: 0 !important;
}

.noPadding {
  padding: 0 !important;
}

.noPaddingTop {
  padding-top: 0 !important;
}

.noPaddingLeft {
  padding-left: 0 !important;
}

.noPaddingRight {
  padding-right: 0 !important;
}

.noPaddingBottom {
  padding-bottom: 0 !important;
}

.noBorderRadius {
  border-radius: 0px;
}

.relative {
  position: relative !important;
}

.highlightLine.pink {
  border-bottom: 3px solid #ff8d8d;
}

.color-caution {
  color: #f01b81 !important;
}

.color-holiday {
  color: #ff3399 !important;
}

.color-white {
  color: white !important;
}

.color-red {
  color: #f00 !important;
}

.color-c00 {
  color: #c00 !important;
}

.color-greenGray {
  color: #85aaa7 !important;
}

.color-g4 {
  color: #444 !important;
}

.color-g7 {
  color: #777 !important;
}

.color-g9 {
  color: #999 !important;
}

.color-gA {
  color: #aaa !important;
}

.color-gC {
  color: #ccc !important;
}

.linkColor {
  color: #3399ff !important;
}

.bg-transparent {
  background: transparent !important;
}

.bg-blue {
  background: #59d !important;
}

.bg-gray {
  background-color: #eee !important;
}

.bg-gray-f6 {
  background-color: #f6f6f6 !important;
}

.bg-white {
  background-color: #fff !important;
}

.bg-cream {
  background-color: #fff6bb !important;
}

.bg-beige {
  background-color: #d7d1c7 !important;
}

.bg-lightBeige {
  background-color: #f5eedd !important;
}

.bg-specialOption {
  background-color: #fcf !important;
}

.bg-basicOption {
  background-color: #fe7 !important;
}

.bg-g4 {
  background-color: #444 !important;
}

.bg-g4a {
  background-color: rgba(0, 0, 0, 0.7) !important;
}

.bg-g6 {
  background-color: #666 !important;
}

.bg-g6a {
  background-color: rgba(0, 0, 0, 0.5) !important;
}

.bg-g7 {
  background-color: #777 !important;
}

.bg-g7a {
  background-color: rgba(0, 0, 0, 0.4) !important;
}

.bg-g9 {
  background-color: #999 !important;
}

.bg-g9a {
  background-color: rgba(0, 0, 0, 0.3) !important;
}

.bg-gD {
  background-color: #ddd !important;
}

.bg-gDa {
  background-color: rgba(0, 0, 0, 0.15) !important;
}

.bg-gE6 {
  background-color: #e6e6e6 !important;
}

.bg-gE {
  background-color: #eee !important;
}

.bg-gEa {
  background-color: rgba(0, 0, 0, 0.1) !important;
}

.bg-gF6 {
  background-color: #f6f6f6 !important;
}

.floatRight {
  float: right !important;
}

.smallFontSize {
  font-size: 12px;
}

.defaultFontSize {
  font-size: 14px !important;
}

.middleFontSize {
  font-size: 16px !important;
}

.largeFontSize {
  font-size: 18px !important;
}

.exLargeFontSize {
  font-size: 24px !important;
}

.fontSize32 {
  font-size: 32px !important;
}

.bold {
  font-weight: bold !important;
}

.fontWeightNormal {
  font-weight: normal !important;
}

.imeOn {
  ime-mode: active;
}

.imeOff {
  ime-mode: inactive;
}

.margin-bottom-15 {
  margin-bottom: 15px;
}

.fade-in-fast.ng-hide-remove {
  -webkit-animation: 0.3s "fade-in-animation";
          animation: 0.3s "fade-in-animation";
}

@-webkit-keyframes fade-in-animation {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fade-in-animation {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes bgCautionBlink {
  0% {
    background-color: rgba(255, 0, 0, 0);
  }
  50% {
    background-color: rgba(255, 0, 0, 0.5);
  }
  100% {
    background-color: rgba(255, 0, 0, 0);
  }
}
.bg-cautionBlink {
  -webkit-animation-name: bgCautionBlink;
  -webkit-animation-duration: 1.5s;
  -webkit-animation-iteration-count: infinite;
  background-color: rgba(255, 0, 0, 0.5);
}

.slide-animation-next.ng-enter {
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
  -webkit-transform: translate(100%, 0px);
          transform: translate(100%, 0px);
  opacity: 0;
  position: absolute;
}
.slide-animation-next.ng-enter.ng-enter-active {
  -webkit-transform: translate(0px, 0px);
          transform: translate(0px, 0px);
  opacity: 1;
  position: absolute;
}

.slide-animation-next.ng-leave {
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
  -webkit-transform: translate(0px, 0px);
          transform: translate(0px, 0px);
  opacity: 1;
  position: absolute;
}
.slide-animation-next.ng-leave.ng-leave-active {
  -webkit-transform: translate(-100%, 0px);
          transform: translate(-100%, 0px);
  opacity: 0;
  position: absolute;
}

.slide-animation-back.ng-enter {
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
  -webkit-transform: translate(-100%, 0px);
          transform: translate(-100%, 0px);
  opacity: 0;
  position: absolute;
}
.slide-animation-back.ng-enter.ng-enter-active {
  -webkit-transform: translate(0px, 0px);
          transform: translate(0px, 0px);
  opacity: 1;
  position: absolute;
}

.slide-animation-back-leave {
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
  -webkit-transform: translate(0px, 0px);
          transform: translate(0px, 0px);
  opacity: 1;
  position: absolute;
}
.slide-animation-back-leave.ng-leave-active {
  -webkit-transform: translate(100%, 0px);
          transform: translate(100%, 0px);
  opacity: 0;
  position: absolute;
}

.pre-wrap {
  white-space: pre-wrap;
}

.pre-line {
  white-space: pre-line;
}

.point {
  text-align: center;
}

.header {
  padding: 7px 15px;
  width: 100%;
  height: 44px;
  overflow: hidden;
  font-size: 16px;
  line-height: 1.4em;
  border-bottom: 1px solid #ccc;
}

.receipt-image {
  width: 100%;
}

.checkArea {
  display: table-cell;
  width: 37px;
  height: 100%;
  padding-left: 5px;
  overflow: hidden;
  opacity: 1;
}
.checkArea.ng-hide-add, .checkArea.ng-hide-remove {
  transition: -webkit-transform, transform 0.2s ease;
}
.checkArea.ng-hide {
  -webkit-transform: translate(-30%, 0%);
          transform: translate(-30%, 0%);
  opacity: 0;
}
.checkArea .checkbox {
  top: 7px;
  width: 100%;
  height: 100%;
  vertical-align: top;
}
.checkArea .checkbox:hover, .checkArea .checkbox:active {
  background: transparent;
}

.messageEditorContainer {
  width: 100%;
  margin-top: -5px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
  padding-bottom: 5px;
  left: 0;
  right: 0;
  border-bottom: 1px solid #ddd;
}
.messageEditorContainer.ng-hide-add, .messageEditorContainer.ng-hide-remove {
  transition: -webkit-transform, transform 0.2s ease;
}
.messageEditorContainer.ng-hide {
  -webkit-transform: translate(0%, -30%);
          transform: translate(0%, -30%);
  opacity: 0;
}

.messageEditButton {
  position: relative;
  display: inline-block;
  width: 32px;
  height: 32px;
  background: transparent;
  float: right;
  cursor: pointer;
}
.messageEditButton:before {
  position: absolute;
  top: 4px;
  right: 0;
  display: block;
  width: 24px;
  height: 24px;
  background: transparent;
  border: 1px solid #333;
  border-radius: 6px;
  content: "";
}
.messageEditButton:after {
  position: absolute;
  top: 7px;
  right: 7px;
  display: block;
  width: 8px;
  height: 14px;
  border-right: 3px solid #333;
  border-bottom: 3px solid #333;
  content: "";
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

[v-cloak] {
  display: none;
}