@charset "UTF-8";
/* フォント仮置き */
html {
  font-size: 62.5%;
}

body {
  background: #F2F2F2 !important;
}

section {
  margin-top: 0 !important;
}

div {
  box-sizing: border-box;
}

a {
  transition: 0.3s;
  text-decoration: none;
  color: #000;
  cursor: pointer;
}
a:hover {
  opacity: 0.8;
  text-decoration: none;
}

button {
  appearance: button;
  cursor: pointer;
}

.flex {
  display: flex;
}

.float:after {
  display: block;
  content: "";
  width: 0;
  height: s0;
}

.floatL {
  float: left;
}

.floatR {
  float: right;
}

.spBlock {
  display: none;
}

.w10 {
  width: 10%;
}

.w20 {
  width: 20%;
}

.w30 {
  width: 30%;
}

.w40 {
  width: 40%;
}

.w50 {
  width: 50%;
}

.w60 {
  width: 60%;
}

.w70 {
  width: 70%;
}

.w80 {
  width: 80%;
}

.w90 {
  width: 90%;
}

.mr0 {
  margin-right: 0px;
}

.mr2 {
  margin-right: 2px;
}

.mr4 {
  margin-right: 4px;
}

.mr6 {
  margin-right: 6px;
}

.mr8 {
  margin-right: 8px;
}

.mr10 {
  margin-right: 10px;
}

.mr12 {
  margin-right: 12px;
}

.mr14 {
  margin-right: 14px;
}

.mr16 {
  margin-right: 16px;
}

.mr18 {
  margin-right: 18px;
}

.mr20 {
  margin-right: 20px;
}

.mr22 {
  margin-right: 22px;
}

.mr24 {
  margin-right: 24px;
}

.mr26 {
  margin-right: 26px;
}

.mr28 {
  margin-right: 28px;
}

.mr30 {
  margin-right: 30px;
}

.mr32 {
  margin-right: 32px;
}

.mr34 {
  margin-right: 34px;
}

.mr36 {
  margin-right: 36px;
}

.mr38 {
  margin-right: 38px;
}

.mr40 {
  margin-right: 40px;
}

.mr42 {
  margin-right: 42px;
}

.mr44 {
  margin-right: 44px;
}

.mr46 {
  margin-right: 46px;
}

.mr48 {
  margin-right: 48px;
}

.mr50 {
  margin-right: 50px;
}

.mr52 {
  margin-right: 52px;
}

.mr54 {
  margin-right: 54px;
}

.mr56 {
  margin-right: 56px;
}

.mr58 {
  margin-right: 58px;
}

.mr60 {
  margin-right: 60px;
}

.mr62 {
  margin-right: 62px;
}

.mr64 {
  margin-right: 64px;
}

.mr66 {
  margin-right: 66px;
}

.mr68 {
  margin-right: 68px;
}

.mr70 {
  margin-right: 70px;
}

.mr72 {
  margin-right: 72px;
}

.mr74 {
  margin-right: 74px;
}

.mr76 {
  margin-right: 76px;
}

.mr78 {
  margin-right: 78px;
}

.mr80 {
  margin-right: 80px;
}

.mr82 {
  margin-right: 82px;
}

.mr84 {
  margin-right: 84px;
}

.mr86 {
  margin-right: 86px;
}

.mr88 {
  margin-right: 88px;
}

.mr90 {
  margin-right: 90px;
}

.mr92 {
  margin-right: 92px;
}

.mr94 {
  margin-right: 94px;
}

.mr96 {
  margin-right: 96px;
}

.mr98 {
  margin-right: 98px;
}

.mr100 {
  margin-right: 100px;
}

.mb0 {
  margin-bottom: 0px;
}

.mb2 {
  margin-bottom: 2px;
}

.mb4 {
  margin-bottom: 4px;
}

.mb6 {
  margin-bottom: 6px;
}

.mb8 {
  margin-bottom: 8px;
}

.mb10 {
  margin-bottom: 10px;
}

.mb12 {
  margin-bottom: 12px;
}

.mb14 {
  margin-bottom: 14px;
}

.mb16 {
  margin-bottom: 16px;
}

.mb18 {
  margin-bottom: 18px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb22 {
  margin-bottom: 22px;
}

.mb24 {
  margin-bottom: 24px;
}

.mb26 {
  margin-bottom: 26px;
}

.mb28 {
  margin-bottom: 28px;
}

.mb30 {
  margin-bottom: 30px;
}

.mb32 {
  margin-bottom: 32px;
}

.mb34 {
  margin-bottom: 34px;
}

.mb36 {
  margin-bottom: 36px;
}

.mb38 {
  margin-bottom: 38px;
}

.mb40 {
  margin-bottom: 40px;
}

.mb42 {
  margin-bottom: 42px;
}

.mb44 {
  margin-bottom: 44px;
}

.mb46 {
  margin-bottom: 46px;
}

.mb48 {
  margin-bottom: 48px;
}

.mb50 {
  margin-bottom: 50px;
}

.mb52 {
  margin-bottom: 52px;
}

.mb54 {
  margin-bottom: 54px;
}

.mb56 {
  margin-bottom: 56px;
}

.mb58 {
  margin-bottom: 58px;
}

.mb60 {
  margin-bottom: 60px;
}

.mb62 {
  margin-bottom: 62px;
}

.mb64 {
  margin-bottom: 64px;
}

.mb66 {
  margin-bottom: 66px;
}

.mb68 {
  margin-bottom: 68px;
}

.mb70 {
  margin-bottom: 70px;
}

.mb72 {
  margin-bottom: 72px;
}

.mb74 {
  margin-bottom: 74px;
}

.mb76 {
  margin-bottom: 76px;
}

.mb78 {
  margin-bottom: 78px;
}

.mb80 {
  margin-bottom: 80px;
}

.mb82 {
  margin-bottom: 82px;
}

.mb84 {
  margin-bottom: 84px;
}

.mb86 {
  margin-bottom: 86px;
}

.mb88 {
  margin-bottom: 88px;
}

.mb90 {
  margin-bottom: 90px;
}

.mb92 {
  margin-bottom: 92px;
}

.mb94 {
  margin-bottom: 94px;
}

.mb96 {
  margin-bottom: 96px;
}

.mb98 {
  margin-bottom: 98px;
}

.mb100 {
  margin-bottom: 100px;
}

.flex {
  display: flex;
}

.boxBorderBlue {
  position: relative;
  border: 2px solid #8DC8E8;
  border-radius: 8px;
}

.boxBorderGray {
  position: relative;
  border: 2px solid #CCC;
  border-radius: 8px;
}

.boxShadow {
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
  border-radius: 8px;
}

.bgWhite {
  background: #FFF;
}

/* btn */
.btnInner {
  width: 100%;
  margin: 0 auto;
}

.btnTypeBlue {
  appearance: none;
  width: 100%;
  max-width: 312px;
  border: none;
  border-radius: 8px;
  background: #36749D;
  color: #FFF;
  font-size: 1.8rem;
  text-align: center;
  text-decoration: none;
  line-height: 4.2rem;
  transition: 0.3s;
  cursor: pointer;
}
.btnTypeBlue:visited {
  color: #FFF;
}

.btnTypeBorder {
  appearance: none;
  width: 100%;
  max-width: 280px;
  border: 2px solid #36749D;
  border-radius: 8px;
  box-sizing: border-box;
  background: #FFF;
  color: #36749D;
  font-size: 1.8rem;
  text-align: center;
  line-height: 3.8rem;
}

.btnReload {
  display: block;
  appearance: none;
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 4px;
  background: #36749D url(/images/icon_reload.png) center no-repeat;
  background-size: 24px auto;
  transition: 0.3s;
}
.btnReload:hover {
  background: #9AB9CE url(/images/icon_reload.png) center no-repeat;
  background-size: 24px auto;
}

.btnRegister {
  position: relative;
  border: 2px solid #36749D;
  border-radius: 12px;
  background-size: 100% auto;
  overflow: hidden;
}
.btnRegister__txt {
  width: 100%;
}
.btnRegister__txt img {
  max-width: 312px;
  margin: 0 auto;
}

.btnLogin {
  appearance: none;
  width: 100%;
  height: 36px;
  border: none;
  border-radius: 8px;
  background: #E5554F;
}
.btnLogin img {
  display: block;
  width: auto;
  max-height: 36px;
  margin: 0 auto;
  border-radius: 8px;
}

/* txt */
.txtCenter {
  text-align: center;
}

.txtRight {
  text-align: right;
}

.txtBold {
  font-weight: bold;
}

.txtRed {
  color: #E5554F;
}
.txtRed:visited {
  color: #E5554F;
}

.txtBlue {
  color: #36749D;
}
.txtBlue:visited {
  color: #36749D;
}

.txtUnderline {
  text-decoration: underline;
}
.txtUnderline:hover {
  text-decoration: underline;
}

/* 見出し系 */
.subtitle {
  font-size: 1.8rem;
  line-height: 2.8rem;
}

/* 補足系 */
.supplement {
  font-size: 1.4rem;
}

.txtSmall {
  font-size: 1.2rem;
}

.more {
  display: block;
  margin: 0 auto;
  padding: 0 10% 6px 0;
  border-bottom: 2px solid #36749D;
  text-decoration: none;
  background: url(/images/icon_arrow_blue_r.svg) no-repeat;
  background-position: top calc(50% - 2px) right 4px;
}
.more:hover {
  background-position: top calc(50% - 2px) right;
}

.contentSection {
  width: 100%;
  margin-bottom: 24px;
}
.contentSection:first-of-type {
  padding-top: 124px;
}
.contentSection:last-of-type {
  padding-bottom: 32px;
}

.content {
  margin-top: 0;
  padding: 0;
  width: 100%;
}
.content__inner {
  position: relative;
  max-width: 640px;
  margin: 0 auto;
  font-size: 1.4rem;
  line-height: 2rem;
}
.content__title {
  font-family: "fot-tsukubrdgothic-std", sans-serif;
  font-weight: 700;
  font-style: normal;
  position: absolute;
  top: -16px;
  left: 50%;
  padding: 0 32px;
  border-radius: 16px;
  transform: translateX(-50%);
  background: #8DC8E8;
  font-size: 1.6rem;
  line-height: 3.2rem;
}
.content__border {
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
.content__loginBox {
  position: relative;
}
.content__loginBox .loginBoxL, .content__loginBox .loginBoxR {
  max-width: calc(50% - 8px);
}
.content__loginBox .loginBoxL {
  position: absolute;
  top: 0;
  left: 0;
}
.content__loginBox .loginBoxR {
  margin-left: auto;
  margin-bottom: 60px;
  padding: 0 !important;
}
.content__box {
  margin-bottom: 8px;
  padding: 16px;
}
.content__box input[type=mail], .content__box input[type=password] {
  width: 100%;
  border: 1px solid #999999;
  border-radius: 4px;
  padding-inline: 16px;
  line-height: 3.6rem;
}
.content .txtRed {
  margin-bottom: 8px;
}
.content h3 {
  margin-bottom: 16px;
  font-size: 1.8rem;
  line-height: 2.8rem;
}

/* general */
.general:not(.general--economical).content .content__box {
  margin-bottom: 0;
  padding: 16px 0;
}

/* 「こんなにお得」ページのみ */
.general--economical.content .content__box {
  margin-bottom: 39px;
  padding: 25px 16px 16px;
}
.general--economical.content .content__border {
  margin: 16px 0;
}

.general {
  /* generalのリンク関係 */
}
.general .faqSub {
  margin-top: 16px;
}
.general .indentNum {
  display: inline-block;
  width: 28px;
}
.general--economical .btnTypeBlue {
  display: block;
  margin: 0 auto 8px;
}
.general--economical h3 {
  margin-bottom: 32px;
}
.general a.generalLink {
  display: block;
  margin-top: 8px;
  font-size: 1.8rem;
  line-height: 2.6rem;
}
.general .btnInner {
  margin-top: 24px;
}
.general .btnInner.float .btnTypeBlue, .general .btnInner.float .btnTypeBorder {
  width: 100%;
  max-width: calc(50% - 4px);
}
.general .btnTypeBlue:not(.floatL):not(.floatR) {
  display: block;
  max-width: 280px;
  margin: 0 auto;
}

/* contents */
.reserve.content .content__border {
  margin-top: 24px;
}

.reserve {
  /* 一覧に戻る */
}
.reserve__box {
  padding: 33px 16px 24px 16px;
}
.reserve h3 {
  margin-bottom: 32px;
}
.reserve .btnTypeBlue:not(.floatL):not(.floatR) {
  display: block;
  margin: 16px auto 0;
}
.reserve .txtBlue {
  margin-bottom: 16px;
}
.reserve .txtRed {
  text-decoration: underline;
}
.reserve .txtRed p {
  /* 予約のキャンセル */
  margin: 24px 0 8px;
}
.reserve .flex {
  gap: 16px;
}
.reserve .flex .btnTypeBlue, .reserve .flex .btnTypeBorder {
  max-width: 100%;
  margin: 0 auto;
}
.reserve a.txtBlue:not(.more) {
  display: block;
  margin-top: 92px;
  font-size: 1.8rem;
}

.reserve.form span.txtRed {
  margin-left: 10px;
}
.reserve.form .txtRed {
  text-decoration: none;
}
.reserve.form h3 {
  margin-bottom: 16px;
}

.favorite.content .content__box:last-of-type {
  margin-bottom: 24px;
}

.favorite .boxBorderGray {
  position: relative;
  height: 160px;
}
.favorite .boxBorderGray p {
  /* 店舗なしテキスト */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.favorite .btnTypeBlue {
  display: block;
  margin: 0 auto 8px;
}
.favorite .boxBorderGray {
  margin-bottom: 24px;
}
.favorite h3 {
  margin-bottom: 16px;
}

.coupon .subtitle span {
  margin: 0 4px;
  font-size: 2.8rem;
}

.search.content .content__box {
  padding: 0;
}
.search.content .content__border {
  margin-bottom: 24px;
}

.search__form {
  margin-bottom: 24px;
}
.search__form__input {
  margin: 16px 0 16px;
}
.search__form__input.error {
  margin-top: 8px;
}
.search__item {
  margin-bottom: 8px;
  line-height: 4.2rem;
  padding-left: 16px;
  border-radius: 8px;
  background: #FFF url(/images/icon_arrow_blue_r.svg) no-repeat;
  background-position: center right 16px;
  transition: 0.3s;
}
.search__item:hover {
  background-position: center right 11px;
}
.search .btnTypeBlue {
  display: block;
  margin: 0 auto;
  max-width: 312px;
}

.result.content .content__inner a {
  display: block;
}
.result.content .content__inner a:last-of-type {
  margin-bottom: 24px;
}
.result.content .content__border {
  margin-bottom: 24px;
}

.result .btnTypeBlue {
  display: block;
  margin: 0 auto;
}

.detail.content .content__box:not(.boxBorderBlue) {
  padding: 16px 0;
}
.detail.content .content__border {
  margin-bottom: 24px;
}

.detail {
  padding-bottom: 32px;
  /* 予約フォーム */
}
.detail__favorite {
  display: inline-block;
  background: #36749D;
  color: #FFF;
  margin-left: 8px;
  padding: 0 8px;
  border-radius: 4px;
  font-size: 1.4rem;
  line-height: 2.4rem;
}
.detail .btnInner {
  margin-bottom: 24px;
  text-align: center;
}
.detail .btnReloadInner {
  justify-content: space-between;
  align-items: center;
}
.detail .btnReload {
  vertical-align: middle;
}
.detail .btnTypeBlue, .detail .btnTypeBorder {
  display: block;
  margin: 0 auto;
}
.detail .btnRegister {
  margin-bottom: 15px;
}
.detail .boxBorderBlue {
  padding: 24px 16px;
}
.detail .boxBorderBlue .btnInner:last-of-type {
  margin-bottom: 0;
}
.detail .flex {
  gap: 16px;
}
.detail .flex .content__box {
  width: 100%;
}
.detail .flex .content__box:last-of-type {
  padding: 0;
}
.detail .flex a.txtBlue {
  font-size: 1.4rem;
  text-decoration: none;
}
.detail .flex .btnTypeBlue, .detail .flex .btnTypeBorder {
  max-width: 100%;
}
.detail a.txtBlue:not(.more) {
  font-size: 1.8rem;
  text-decoration: underline;
}
.detail address {
  font-style: normal;
}
.detail address a.txtBlue:not(.more) {
  font-size: 1.4rem;
}
.detail .txtRed.txtBold {
  /* 予約のキャンセル */
  font-size: 1.8rem;
  text-decoration: underline;
}
.detail .txtRed.txtBold p {
  margin: 24px 0;
}
.detail .txtRed.txtBold:last-of-type p {
  margin: 24px 0 0;
}
.detail label {
  display: block;
}

.form.content .content__border:not(.mb24) {
  margin-bottom: 16px;
}

.form__inputDetail {
  padding-left: 14px;
  font-size: 1.8rem;
  line-height: 2.8rem;
}
.form__confirmTxt {
  padding-left: 14px;
  font-size: 1.8rem;
  line-height: 2.8rem;
}
.form__shopName {
  padding-left: 14px;
  font-size: 1.8rem;
}
.form .btnInner.flex {
  gap: 16px;
}
.form .btnInner.flex .btnTypeBlue, .form .btnInner.flex .btnTypeBorder {
  max-width: 100%;
}
.form .btnInner.float .btnTypeBlue, .form .btnInner.float .btnTypeBorder {
  width: 100%;
  max-width: calc(50% - 4px);
}
.form .label-inline {
  display: inline-block;
}
.form label {
  cursor: pointer;
}
.form input[type=text], .form input[type=mail], .form input[type=password], .form input[type=tel] {
  display: block;
  width: 100%;
  padding: 0 16px;
  border: 1px solid #999;
  border-radius: 4px;
  box-sizing: border-box;
  line-height: 3.6rem;
}
.form input[type=text]::placeholder, .form input[type=password]::placeholder {
  font-size: 1.8rem;
}
.form select {
  appearance: none;
  display: block;
  width: 100%;
  padding: 0 16px;
  border: 1px solid #999999;
  border-radius: 4px;
  box-sizing: border-box;
  font-size: 1.8rem;
  line-height: 3.6rem;
  background: #FFF url(/images/icon_arrow_dark_b.svg) center right 14px no-repeat;
}
.form input[type=checkbox] {
  position: relative;
  margin-right: 6px;
  width: 20px;
  height: 20px;
  border-radius: 2px;
  vertical-align: middle;
}
.form input[type=checkbox]:before, .form input[type=checkbox]:after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  content: "";
  width: 20px;
  height: 20px;
  border-radius: 2px;
  box-sizing: border-box;
  cursor: pointer;
}
.form input[type=checkbox]:before {
  z-index: 1;
  border: 2px solid #9AB9CE;
  background: #FFF;
}
.form input[type=checkbox]:checked:after {
  z-index: 2;
  background: #36749D url(/images/icon_check.svg) center left calc(50% + 1px) no-repeat;
}
.form input[type=radio] {
  position: relative;
  width: 20px;
  height: 20px;
  margin-right: 4px;
  vertical-align: middle;
}
.form input[type=radio]:before, .form input[type=radio]:after {
  position: absolute;
  display: block;
  content: "";
  border-radius: 50%;
  box-sizing: border-box;
  cursor: pointer;
}
.form input[type=radio]:before {
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  border: 2px solid #9AB9CE;
  background: #FFF;
}
.form input[type=radio]:after {
  opacity: 0;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 10px;
  height: 10px;
  background: #36749D;
}
.form input[type=radio]:checked:before {
  border: 2px solid #36749D;
}
.form input[type=radio]:checked:after {
  opacity: 1;
}
.form textarea {
  width: 100%;
  max-width: 100%;
  min-height: 68px;
  padding: 4px 16px;
  border: 1px solid #999999;
  border-radius: 4px;
  resize: vertical;
}

.complete .btnTypeBlue:not(.floatL):not(.floatR) {
  margin: 4px auto 0;
}

/* responsive */
@media screen and (max-width: 768px) {
  .spW10 {
    width: 10%;
  }
  .spW20 {
    width: 20%;
  }
  .spW30 {
    width: 30%;
  }
  .spW40 {
    width: 40%;
  }
  .spW50 {
    width: 50%;
  }
  .spW60 {
    width: 60%;
  }
  .spW70 {
    width: 70%;
  }
  .spW80 {
    width: 80%;
  }
  .spW90 {
    width: 90%;
  }
  .spMr0 {
    margin-right: 0px;
  }
  .spMr2 {
    margin-right: 2px;
  }
  .spMr4 {
    margin-right: 4px;
  }
  .spMr6 {
    margin-right: 6px;
  }
  .spMr8 {
    margin-right: 8px;
  }
  .spMr10 {
    margin-right: 10px;
  }
  .spMr12 {
    margin-right: 12px;
  }
  .spMr14 {
    margin-right: 14px;
  }
  .spMr16 {
    margin-right: 16px;
  }
  .spMr18 {
    margin-right: 18px;
  }
  .spMr20 {
    margin-right: 20px;
  }
  .spMr22 {
    margin-right: 22px;
  }
  .spMr24 {
    margin-right: 24px;
  }
  .spMr26 {
    margin-right: 26px;
  }
  .spMr28 {
    margin-right: 28px;
  }
  .spMr30 {
    margin-right: 30px;
  }
  .spMr32 {
    margin-right: 32px;
  }
  .spMr34 {
    margin-right: 34px;
  }
  .spMr36 {
    margin-right: 36px;
  }
  .spMr38 {
    margin-right: 38px;
  }
  .spMr40 {
    margin-right: 40px;
  }
  .spMr42 {
    margin-right: 42px;
  }
  .spMr44 {
    margin-right: 44px;
  }
  .spMr46 {
    margin-right: 46px;
  }
  .spMr48 {
    margin-right: 48px;
  }
  .spMr50 {
    margin-right: 50px;
  }
  .spMr52 {
    margin-right: 52px;
  }
  .spMr54 {
    margin-right: 54px;
  }
  .spMr56 {
    margin-right: 56px;
  }
  .spMr58 {
    margin-right: 58px;
  }
  .spMr60 {
    margin-right: 60px;
  }
  .spMr62 {
    margin-right: 62px;
  }
  .spMr64 {
    margin-right: 64px;
  }
  .spMr66 {
    margin-right: 66px;
  }
  .spMr68 {
    margin-right: 68px;
  }
  .spMr70 {
    margin-right: 70px;
  }
  .spMr72 {
    margin-right: 72px;
  }
  .spMr74 {
    margin-right: 74px;
  }
  .spMr76 {
    margin-right: 76px;
  }
  .spMr78 {
    margin-right: 78px;
  }
  .spMr80 {
    margin-right: 80px;
  }
  .spMr82 {
    margin-right: 82px;
  }
  .spMr84 {
    margin-right: 84px;
  }
  .spMr86 {
    margin-right: 86px;
  }
  .spMr88 {
    margin-right: 88px;
  }
  .spMr90 {
    margin-right: 90px;
  }
  .spMr92 {
    margin-right: 92px;
  }
  .spMr94 {
    margin-right: 94px;
  }
  .spMr96 {
    margin-right: 96px;
  }
  .spMr98 {
    margin-right: 98px;
  }
  .spMr100 {
    margin-right: 100px;
  }
  .spMb0 {
    margin-bottom: 0px;
  }
  .spMb2 {
    margin-bottom: 2px;
  }
  .spMb4 {
    margin-bottom: 4px;
  }
  .spMb6 {
    margin-bottom: 6px;
  }
  .spMb8 {
    margin-bottom: 8px;
  }
  .spMb10 {
    margin-bottom: 10px;
  }
  .spMb12 {
    margin-bottom: 12px;
  }
  .spMb14 {
    margin-bottom: 14px;
  }
  .spMb16 {
    margin-bottom: 16px;
  }
  .spMb18 {
    margin-bottom: 18px;
  }
  .spMb20 {
    margin-bottom: 20px;
  }
  .spMb22 {
    margin-bottom: 22px;
  }
  .spMb24 {
    margin-bottom: 24px;
  }
  .spMb26 {
    margin-bottom: 26px;
  }
  .spMb28 {
    margin-bottom: 28px;
  }
  .spMb30 {
    margin-bottom: 30px;
  }
  .spMb32 {
    margin-bottom: 32px;
  }
  .spMb34 {
    margin-bottom: 34px;
  }
  .spMb36 {
    margin-bottom: 36px;
  }
  .spMb38 {
    margin-bottom: 38px;
  }
  .spMb40 {
    margin-bottom: 40px;
  }
  .spMb42 {
    margin-bottom: 42px;
  }
  .spMb44 {
    margin-bottom: 44px;
  }
  .spMb46 {
    margin-bottom: 46px;
  }
  .spMb48 {
    margin-bottom: 48px;
  }
  .spMb50 {
    margin-bottom: 50px;
  }
  .spMb52 {
    margin-bottom: 52px;
  }
  .spMb54 {
    margin-bottom: 54px;
  }
  .spMb56 {
    margin-bottom: 56px;
  }
  .spMb58 {
    margin-bottom: 58px;
  }
  .spMb60 {
    margin-bottom: 60px;
  }
  .spMb62 {
    margin-bottom: 62px;
  }
  .spMb64 {
    margin-bottom: 64px;
  }
  .spMb66 {
    margin-bottom: 66px;
  }
  .spMb68 {
    margin-bottom: 68px;
  }
  .spMb70 {
    margin-bottom: 70px;
  }
  .spMb72 {
    margin-bottom: 72px;
  }
  .spMb74 {
    margin-bottom: 74px;
  }
  .spMb76 {
    margin-bottom: 76px;
  }
  .spMb78 {
    margin-bottom: 78px;
  }
  .spMb80 {
    margin-bottom: 80px;
  }
  .spMb82 {
    margin-bottom: 82px;
  }
  .spMb84 {
    margin-bottom: 84px;
  }
  .spMb86 {
    margin-bottom: 86px;
  }
  .spMb88 {
    margin-bottom: 88px;
  }
  .spMb90 {
    margin-bottom: 90px;
  }
  .spMb92 {
    margin-bottom: 92px;
  }
  .spMb94 {
    margin-bottom: 94px;
  }
  .spMb96 {
    margin-bottom: 96px;
  }
  .spMb98 {
    margin-bottom: 98px;
  }
  .spMb100 {
    margin-bottom: 100px;
  }
  .spNone {
    display: none;
  }
  .spBlock {
    display: block;
  }
  .btnInner.flex {
    display: block;
  }
  .btnRegister {
    display: block;
  }
  .more {
    padding: 0 0 6px;
  }
  .contentSection:first-of-type {
    padding-top: 88px;
  }
  .contentSection:last-of-type {
    padding-bottom: 0;
  }
  .content__inner {
    max-width: calc(100% - 48px);
  }
  .content__title {
    width: 100%;
    max-width: 118px;
    padding: 0 0;
    text-align: center;
  }
  .content__loginBox {
    position: relative;
  }
  .content__loginBox .loginBoxL, .content__loginBox .loginBoxR {
    max-width: 100%;
  }
  .content__loginBox .loginBoxL {
    position: relative;
  }
  .content__loginBox .loginBoxL .more {
    max-width: calc(100% - 34px);
  }
  .content__loginBox .loginBoxR {
    margin-left: 0;
    margin-bottom: 24px;
    padding: 0 !important;
  }
  .general .btnInner.float .floatL, .general .btnInner.float .floatR {
    float: none;
  }
  .general .btnInner.float .btnTypeBorder, .general .btnInner.float .btnTypeBlue {
    max-width: 280px;
  }
  .general .btnTypeBorder:not(.floatL):not(.floatR), .general .btnTypeBlue:not(.floatL):not(.floatR) {
    display: block;
    max-width: 280px;
  }
  .favorite .boxBorderGray p {
    width: 100%;
  }
  .coupon p.txtRed {
    margin-bottom: 16px;
  }
  .reserve {
    /* 一覧に戻る */
  }
  .reserve a.txtBlue:not(.more) {
    margin-top: 0;
  }
  .detail .flex .btnTypeBlue, .detail .flex .btnTypeBorder {
    max-width: 312px;
  }
  .detail .flex .btnTypeBorder {
    margin: 0 auto 8px;
  }
  .form .btnInner.float .floatL, .form .btnInner.float .floatR {
    float: none;
  }
  .form .btnInner.float .btnTypeBorder, .form .btnInner.float .btnTypeBlue {
    display: block;
    max-width: 312px;
  }
  .form .btnInner.float .btnTypeBlue {
    margin: 0 auto 8px;
  }
  .form .btnInner.float .btnTypeBorder {
    display: block;
    margin: 0 auto;
  }
}/*# sourceMappingURL=style2.css.map */