body {
  background-color: var(--layer-color);
}
/* body {
  background-color: var(--layer-color);
  margin-top: 44px;
} */

input,
select {
  margin: 0;
  padding: 0;
  vertical-align: middle;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 0;
}

button {
  background: none;
  border: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* 予約モーダル共通設定 */
.modal--content.reserve-modal {
  padding: 0 0 83px;
}

.reserve-modal .modal--main {
  background-color: var(--palewhite-color);
  min-height: calc(100vh - 83px);
  min-height: calc(100svh - 83px);
  height: auto;
  padding: 0;
}

.reserve-modal .modal--main+.modal-btn-bottom {
  background-color: var(--white-color);
  border-top: 1px solid var(--palewhite-color);
  padding: 12px 20px 26px;
}

[class^="list--boxtext"] {
  border-radius: var(--box-borderradius);
  overflow: hidden;
}

[class^="reserve-input-wrapper"] {
  background-color: var(--palewhite-color);
  border-radius: 12px 12px 0 0;
  margin-bottom: 84px;
  height: calc(100vh - 127px);
  overflow-y: scroll;
}

[class^="reserve-input-wrapper"]>[class^="title--"] {
  margin: 20px 20px 0;
}

.modal-title {
  margin: 42px 20px 0;
}

.attention-area-get_point+[class^="title--"] {
  margin: 60px 20px 0;
}

.button-close-modal.icon-cross {
  background-color: rgba(0, 0, 0, 0.4);
  border-radius: 50%;
  height: 32px;
  line-height: 32px;
  position: fixed;
  text-align: center;
  top: 54px;
  right: 10px;
  z-index: 2;
  width: 32px;
}

.button-close-modal.icon-cross::before {
  color: var(--white-color);
}

[class^="title--"]+.form-caption {
  margin: 10px 20px 0;
  line-height: 132%;
}

.form-caption + .person-wrapper {
  margin: 44px 20px 0;
}

.attention-area-get_point {
  border-radius: 12px 12px 0 0;
  display: flex;
  overflow: hidden;
  position: fixed;
  width: 100%;
  z-index: 1;
  align-items: center;
}

.attention-area-get_point>[class^="text--"] {
  color: var(--white-color);
  display: inline-block;
  vertical-align: baseline;
}

.attention-area-get_point .icon-point::before {
  color: var(--white-color);
  margin-right: 10px;
}

.label--L--getpoint {
  background-color: var(--primary-color);
}

.label--L--getpoint.icon-point::before {
  color: var(--white-color);
}

[class^="boxtext--dual--between"]>span.total_point {
  font-weight: bold;
}

.list--boxtext [class^="boxtext--"]>span.plus_point {
  color: var(--primary-color);
}

/* 人数・時間選択 */
.person-wrapper, .time-wrapper{
  margin: 20px;
  width: calc(100% - 40px);
}

.calendar-wrapper ~ .time-wrapper,
.person-wrapper + .time-wrapper,
.calendar-wrapper ~ .person-wrapper,
.time-wrapper + .person-wrapper {
  width: calc(50% - 30px);
}

.calendar-wrapper ~ .time-wrapper {
  float: right;
  margin: 20px 20px 40px 10px;
}

.time-wrapper + .person-wrapper {
  float: left;
  margin: 20px 10px 40px 20px;
}

.person-wrapper ~ .calendar-wrapper + .time-wrapper{
  margin: 20px;
  width: calc(100% - 40px);
}

.person-wrapper>[class^="title--"],
.time-wrapper>[class^="title--"] {
  color: var(--gray-color);
  margin-bottom: 10px;
}

.selectbox {
  align-items: center;
  display: flex;
  justify-content: center;
  position: relative;
}

.selectbox select {
  background-color: var(--white-color);
  border-radius: var(--form-borderradius);
  color: var(--black-color);
  height: 44px;
  padding: 0 12px;
  width: 100%;
}

.selectbox.icon-arrow-down-a::after {
  color: var(--gray-color);
  font-size: 16px;
  pointer-events: none;
  position: absolute;
  right: 12px;
  top: 14px;
}

/* カレンダー */
.calendar-wrapper {
  padding: 20px 0 0;
}

.cp-pup {
  background-color: #FAECEC;
  border-radius: 22px;
  box-sizing: border-box;
  color: var(--secondary-color);
  display: inline-flex;
  align-items: center;
  margin: 0 20px 20px;
  padding: 6px;
  justify-content: flex-start;
}

.cp-pup.icon-point::before {
  color: var(--secondary-color);
  margin-right: 10px;
}

.calendar-header {
  margin: 0 auto;
}

.calendar-header .calendar-ttl .calendar-ttl-item {
  height: 20px;
  position: relative;
}

.calendar-header .calendar-ttl .calendar-ttl-item [class^="calendar-month-link"] {
  position: absolute;
}

.calendar-header .calendar-ttl .calendar-ttl-item .icon-arrow-left {
  left: 0;
}

.calendar-header .calendar-ttl .calendar-ttl-item .icon-arrow-right {
  right: 0;
}

.time-wrapper+ .calendar-wrapper .calendar-header:first-child {
  padding-top: 0;
}

.calendar-month-link--disabled {
  color: var(--disable-color);
}

.calendar-date-wrapper {
  display: flex;
  margin: 10px 20px 0;
}

.calendar-date-wrapper::-webkit-scrollbar {
  display: none;
}

.calendar-wrapper table {
  border-collapse: separate;
  border-spacing: 1px;
  width: calc(100vw - 40px);
  min-width: calc(100vw - 40px);
}

.calendar-date-wrapper table {
  margin-top: 10px;
}

.calendar-date-wrapper table:last-child {
  margin-right: 20px;
  position: relative;
}

.calendar-date-item {
  background-color: var(--white-color);
  border-radius: 4px;
  overflow: hidden;
  width: calc(100% / 7);
}

[class*="calendar-day-item"] {
  color: var(--gray-color);
  padding: 10px 0 0;
  text-align: center;
}

.calendar-day-item--sut {
  color: var(--calendarsut-color);
}

.calendar-day-item--sun {
  color: var(--calendarsun-color);
}

[class*="calendar-date-inner"] {
  align-items: center;
  box-sizing: border-box;
  color: var(--darkgray-color);
  display: flex;
  flex-direction: column;
  padding: 5px 0;
}

.calendar-date-item--active {
  background-color: var(--primary-color);
}

.calendar-date-item--active [class*="calendar-date-inner"],
.calendar-date-item.calendar-date-item--active .calendar-seat-info.icon,
.calendar-date-item.calendar-date-item--active .text--pup {
  color: var(--white-color);
}

.calendar-seat-info.icon {
  color: var(--primary-color);
}

.calendar-date-item--disabled .calendar-seat-info.icon {
  color: var(--lightgray-color);
}

.calendar-seat-info.icon::before {
  font-size: 16px;
}

.calendar-date-item .text--pup {
  color: var(--secondary-color);
  margin: 5px 0 0;
}

.calendar-date-item .no-grant-point-rate {
  color: var(--lightgray-color);
}

/* フロートボタン */
.float-button {
  bottom: 0;
  position: fixed;
  width: 100%;
}

.float-button-inner {
  background-color: var(--white-color);
  display: flex;
  justify-content: space-between;
}

.float-button-inner li {
  width: calc(calc(100% - 10px) / 2);
}

.float-button-inner li:only-child {
  width: 100%;
}

/* コース・席選択 */
.course-wrapper,
.seat-wrapper {
  margin: 20px 20px 40px;
}

.list--card-course,
.list--card-seat {
  border-radius: 8px;
  overflow: hidden;
}

.seat-only-reserve+.list--card-course {
  margin: 20px 0 0;
}

.card--course,
.card--seat {
  background-color: var(--white-color);
  display: flex;
  padding: 20px;
}

.card--course+.card--course,
.card--seat+.card--seat {
  margin: 1px 0 0;
}

.card--course>[class*="thumbnail--"],
.card--seat>[class*="thumbnail--"] {
  margin-right: 20px;
}

.course-info,
.seat-info {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  width: 100%;
}

.course-info>[class*="course-"]+[class*="course-"],
.seat-info>[class*="seat-"]+[class*="seat-"] {
  margin: 8px 0 0;
}

.course-info .course-title,
.seat-info .seat-title {
  margin-right: 0;
  width: 100%;
}

.course-info .course-title {
  word-break: break-all;
}

.course-info .course-detail,
.seat-info .seat-detail,
.seat-info .seat-price,
.seat-info .seat-smoking {
  width: 100%;
}

.seat-info .seat-price {
  color: var(--darkgray-color);
}

.course-info .course-price {
  color: var(--darkgray-color);
  width: 100%;
}

.course-info .course-price .price-discount-wrapper {
  color: var(--secondary-color);
}

.course-info .course-reserve,
.course-info .course-detail--modal,
.seat-info .seat-reserve {
  padding: 0 20px;
}

.seat-only-reserve,
.no-select-reserve {
  background-color: var(--white-color);
  color: var(--secondary-color);
  margin-top: 20px;
}

.course-info [class*="course-"].course-detail--modal {
  margin-right: 10px;
}

/* コース詳細・オプションモーダル・エラーモーダル */
.boxtext--course_coursedetail {
  background-color: var(--palewhite-color);
}

.boxtext--course_coursedetail>span {
  margin-left: 10px;
}

.course--modal,
.error--modal,
.attention--modal {
  background-color: var(--white-color);
  border-radius: 12px 12px 0 0;
}

.course-option--modal {
  background-color: var(--palewhite-color);
  border-radius: 12px 12px 0 0;
  overflow: hidden;
}

.course-option--modal .no-select-reserve {
  margin: 20px 20px 0;
}

.course--modal .modal--main,
.course-option--modal .modal--main,
.error--modal .modal--main,
.attention--modal .modal--main {
  background-color: transparent;
  max-height: calc(100vh - 167px);
  padding: 20px;
}

.course--modal .modal--main>.title--M {
  float: unset;
  word-break: break-all;
}

.attention--modal .modal-title {
  margin: 22px 0 20px;
}

.course-option--modal .modal--main {
  padding: 20px 0;
}

.course-option--modal .modal--main>.title--M {
  margin: 0 20px;
  float: unset;
}

.course-option--modal .modal--main>.text--S {
  margin: 10px 20px 0;
}

.course--modal .course-img {
  aspect-ratio: 16/9;
  border-radius: 8px;
  height: auto;
  margin: 20px 0 0;
}

.boxtext--course_coursedetail [class^="boxtext--dual--between"]>span {
  margin-left: 10px;
}

.course--modal .course-description {
  margin: 20px 0;
}

.course--modal .title--S+[class^="list--boxtext"] {
  margin: 10px 0 0;
}

.card--course_option {
  background-color: var(--white-color);
  margin: 20px 0 0;
  padding: 20px;
}

.card--course_option+.card--course_option {
  margin: 10px 0 0;
}

.course_option-description {
  margin: 10px 0 0;
}

.card--course_option .form-title {
  color: var(--darkgray-color);
  margin: 20px 0 0;
}

.card--course_option .form--textarea {
  margin: 10px 0 0;
}

.card--course_option .form--textarea[name="quantity"] {
  direction: rtl;
}

.card--course_option .input-text_field--wrapper {
  display: block;
  position: relative;
}

.card--course_option .input-text_field--wrapper::before {
  content: "数量";
  display: block;
  position: absolute;
  bottom: 12px;
  left: 12px;
  z-index: 1;
}

.error--modal .icon-cook {
  color: var(--primary-color);
}

.error--modal .icon-cook::before {
  font-size: 40px;
}

.error--modal .modal--main [class^="title--"],
.error--modal .modal--main [class^="title--"]+[class^="text--"],
.error--modal .modal--main [class^="button--"] {
  margin: 20px 0 0;
}

.error--modal .modal--main [class^="button--"]+[class^="button--"] {
  margin: 10px 0 0;
}


/* 予約情報確認 */
.login-status {
  box-sizing: border-box;
  color: var(--primary-color);
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--palegray-color);
  height: 32px;
  padding: 0 12px;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  width: 100%;
  z-index: 1;
}

.login-status.login {
  justify-content: space-between;
}

.login-status .login-text {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
}

.login-status .login-text .user-name {
  max-width: calc(100% - 146px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.login-status.logout {
  color: var(--error-color);
}

.login-status .user_icon {
  border-radius: 50%;
  height: 20px;
  margin-right: 10px;
  object-fit: cover;
  width: 20px;
}

.login-status .button-logout,
.login-status .button-login {
  color: var(--gray-color);
}

.login-status .button-login {
  position: absolute;
  right: 12px;
}

.login-status .button-login {
  color: var(--primary-color);
}

.list--boxtext+.list--boxtext {
  margin: 10px 0 0;
}

input[type="checkbox"]#agreement,
input[type="checkbox"]#default-flg-form-input,
input[type="checkbox"]#covid-19_check-form-input,
.point-select--item>input,
.question-list input {
  display: none;
}

.required {
  color: var(--error-color);
  margin-left: 10px;
}

.optional {
  color: var(--lightgray-color);
  margin-left: 10px;
}

.reserve-confirm-wrapper>.title--L {
  margin: 20px;
}

.list--boxtext [class^="boxtext--"] .status .mail-address,
.list--boxtext [class^="boxtext--"] .status .name {
  overflow: hidden;
  text-overflow: ellipsis;

  white-space: nowrap;
}

.list--boxtext [class^="boxtext--"] .status .name {
  flex: 1;
}

.list--boxtext [class^="boxtext--"] .status .mail-address {
  max-width: 40px;
}

.list--boxtext [class^="boxtext--"] .status .mail-address+.mail-address {
  max-width: 45px;
}

.reserve-confirm-wrapper .list--boxtext [class^="boxtext--"],
input[type="text"].input-text_field,
input[type="checkbox"]+.checkbox {
  background-color: var(--palewhite-color);
  color: var(--gray-color);
  font-weight: normal;
  width: 100%;
}

input[type="text"].input-text_field,
input[type="checkbox"]+.checkbox {
  color: var(--gray-color);
}

.list--boxtext .point-inner [class^="boxtext--"]+[class^="boxtext--"] {
  margin: 0;
  padding: 13px 12px 13px 42px;
  position: relative;
}

.list--boxtext .point-inner [class^="boxtext--"]+[class^="boxtext--"]::before {
  content: "";
  height: 1px;
  width: calc(100% - 42px);
  background-color: var(--white-color);
  position: absolute;
  top: 0;
  right: 0;
}

.confirm--register_member-wrapper .list--boxtext .point-inner [class^="boxtext--"]+[class^="boxtext--"]::before {
  background-color: var(--palewhite-color);
}

input[type="checkbox"]+.checkbox {
  border-radius: 8px;
}

input[type="text"].input-text_field,
select.input-text_field,
textarea.input-textarea {
  color: var(--black-color);
  margin: 10px 0 0;
  position: unset;
}

input[type="text"]:focus,
input[type="mail"]:focus,
input[type="tel"]:focus,
textarea:focus,
select:focus {
  border: 1px solid var(--primaryhighlight-color);
  outline: none;
}

textarea.input-textarea {
  height: 88px;
  background-color: var(--palewhite-color);
  border: 1px solid var(--disable-color);
  border-radius: 8px;
  color: var(--black-color);
  font-size: var(--text--S);
  line-height: 132%;
  margin: 10px 0 0;
  padding: 12px;
  width: 100%;
  box-sizing: border-box;
}

input[type="radio"]:checked+[class*="sausagelink--"] {
  background-color: var(--darkgray-color);
  color: var(--white-color);
  font-weight: bold;
}

.list--boxtext [class^="boxtext--"]+[class^="boxtext--"],
.reserve-confirm-wrapper [class^="form--"][class$="-wrapper"]+[class^="form--"][class$="-wrapper"] {
  margin: 1px 0 0;
}

.list--boxtext [class^="boxtext--"] .status {
  align-items: center;
  display: flex;
  color: var(--black-color);
  font-weight: bold;
  justify-content: flex-end;
  margin-left: 10px;
  min-width: 0;
  word-break: break-all;
}

.list--boxtext [class^="boxtext--"] .status.icon-arrow-right-a::after {
  color: var(--primary-color);
  font-size: 20px;
  margin-left: 5px;
}

[class*="--scrollx"] {
  display: flex;
  border-radius: 0;
  flex-wrap: nowrap;
  overflow-x: scroll;
  overflow-y: hidden;
  padding-left: 20px;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.list--boxtext--scrollx::-webkit-scrollbar {
  display: none;
}

.reserve-confirm-wrapper [class^="form--"][class$="-wrapper"].form--question-wrapper {
  padding: 20px 0;
}

.botton--wrapper,
.covid-19_status--wrapper {
  display: flex;
  align-items: center;
  margin: 10px 0 0;
}

.form--dpoint-wrapper .botton--wrapper [class^="button--"] {
  width: 50%;
}

.form--dpoint-wrapper .botton--wrapper [class^="button--"].action {
  background-color: var(--primary-color);
  color: var(--white-color);
}

.form--dpoint-wrapper .botton--wrapper [class^="button--"]+[class^="button--"] {
  margin-left: 10px;
}

.form--dpoint-wrapper .botton--wrapper [class^="button--"]:only-child {
  width: 100%;
}

.form--dpoint-wrapper .botton--wrapper .button--c-3.button-login {
  border: 1px solid var(--disable-color);
}

.form--dpoint-wrapper .text--error {
  font-size: var(--text--S);
  font-weight: bold;
}

.covid-19_status--wrapper .covid-19_status {
  width: 50%;
}

.botton--wrapper .button--c-3+.button--c-3,
.covid-19_status--wrapper .covid-19_status+.covid-19_status {
  margin-left: 10px;
}

[class*="--scrollx"]:after {
  content: "";
  display: block;
  min-width: 20px;
  height: 1px;
  opacity: 0;
}

.text--XS.text--caption {
  margin: 10px 0 0;
}

.title--M+.title--S,
.list--boxtext+.title--S,
.list--boxtext+.title--XS,
.form--checklist-wrapper .note--S+.title--S,
.form--remarks-wrapper textarea.input-textarea+.title--S,
input[type="text"].input-text_field+.text--S,
.course_option-description+.text--S {
  margin: 20px 0 0;
}

/* ご予約内容 */
.reserve-confirm-wrapper,
.reserve-finish-wrapper {
  background-color: var(--layer-color);
  min-height: calc(100vh - 44px);
}

.reserve-confirm-wrapper [class^="form--"][class$="-wrapper"] {
  background-color: var(--white-color);
  padding: 20px;
}

.reserve-confirm-wrapper [class^="form--"] .list--boxtext {
  border-radius: 8px;
  margin: 10px 0 0;
  overflow: hidden;
}

.reserve-confirm-wrapper [class^="form--"] .title--S+.list--boxtext,
.text--XS+.point-select,
.form--dpoint-wrapper .text--XS+.list--boxtext,
.title--S+.text--XS {
  margin: 10px 0 0;
}

/* ポイント */
.form--point-wrapper .list--boxtext .point-inner [class^="boxtext--"] {
  color: var(--black-color);
}

.form--point-wrapper .list--boxtext .point-inner [class^="boxtext--"] .point_name {
  position: relative;
}

.point-select--item+.point-select--item {
  margin: 1px 0 0;
}

.point-select input[type="radio"]+.checkbox {
  color: var(--black-color);
  position: relative;
}

.icon-point::before {
  color: var(--primary-color);
}

.point-text_field--wrapper {
  position: relative;
}

.point-text_field--wrapper .icon-cross::before {
  bottom: 15px;
  color: var(--lightgray-color);
  font-size: var(--text--S);
  position: absolute;
  right: 12px;
}

.point-text_field--wrapper .icon-cross:hover {
  cursor: pointer;
}

.point-text_field--wrapper::after {
  bottom: 17px;
  content: "pt";
  color: var(--lightgray-color);
  font-size: var(--text--S);
  position: absolute;
  right: 36px;
}

input[type="text"].input-text_field.point-text_field {
  padding: 12px 58px 12px 12px;
  text-align: right;
}

.point-select.list--boxtext [class^="boxtext--"] .status {
  color: var(--gray-color);
  justify-content: flex-end;
  flex: 1;
  font-weight: normal;
}

.list--boxtext [class^="boxtext--"] .status.earned_point {
  color: var(--secondary-color);
}

.list--boxtext [class^="boxtext--"] .disable_point {
  color: var(--lightgray-color);
  font-weight: bold;
  text-decoration: line-through;
}

.use_point {
  display: flex;
  justify-content: space-between;
}

.use_point .use_point_all {
  color: var(--primary-color);
}

.list--boxtext [class^="boxtext--"] .icon-question::before {
  color: var(--lightgray-color);
  font-size: var(--text--M);
  margin-left: 10px;
}

[class^="boxtext--dual--between"].vip_member {
  background-color: var(--palewhite-color);
  border-radius: 8px;
  margin-bottom: 20px;
}

[class^="boxtext--dual--between"].vip_member .text--S {
  color: var(--darkgray-color);
}

[class^="boxtext--dual--between"].vip_member::before {
  margin-right: 10px;
}

/* ログインボタン */
.form-sns-caption {
  margin: 20px 0 0;
}

.list--form-sns-btns {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  margin-top: 10px;
}

.form-sns-btns__item {
  margin: 0 0 10px;
  width: calc(50% - 5px);
}

.list--form-sns-btns .form-sns-btns__item:last-child {
  width: 100%;
}

.form-sns-btns__item .button--sns {
  background-color: var(--white-color);
  border: 1px solid var(--disable-color);
  line-height: 44px;
  height: 44px;
  padding: 0 12px;
}

.form-sns-btns__item .button--sns .btn__inner {
  color: #333;
  display: flex;
  align-items: center;
  width: 100%;
}

.form-sns-btns__item:last-child .button--sns .btn__inner {
  color: var(--primary-color);
  font-size: var(--title--XS);
  display: inline-block;
}

.form-sns-btns__item .button--sns .btn__inner .text {
  flex: 1;
  font-size: var(--title--XS);
}

.form-sns-btns__item .icon.icon-line {
  color: #06C755;
}

.form-sns-btns__item .icon.icon-fb {
  color: #4267b2;
}

/* dポイント */
.form--dpoint-wrapper .botton--wrapper [class*="icon-"] {
  margin-right: 10px;
}

/* 予約金額 */
.form--condition-wrapper .total_price {
  display: flex;
  justify-content: space-between;
}

.form--condition-wrapper .list--boxtext [class^="boxtext--"] {
  color: var(--black-color);
  font-weight: bold;
}

/* ワクチン接種状況 */
.covid-19_status input[type="checkbox"]+.checkbox {
  color: var(--black-color);
  margin: 10px 0 0;
  position: relative;
}

.covid-19_status .person-text_field--wrapper {
  position: relative;
}

.covid-19_status .person-text_field-inner {
  bottom: 13px;
  position: absolute;
  right: 12px;
}

.input-text_field.person-text_field {
  padding: 12px 78px 12px 12px;
  text-align: right;
}

.covid-19_status .person-text_field-inner span {
  color: var(--black-color);
}

.point-select input[type="radio"]+.checkbox::before,
.covid-19_status input[type="checkbox"]+.checkbox::before {
  background-color: var(--white-color);
  border: 1px solid var(--disable-color);
  border-radius: 50%;
  content: "";
  height: 16px;
  margin-right: 10px;
  width: 16px;
}

.point-select input[type="radio"]:checked+.checkbox::after,
.covid-19_status input[type="checkbox"]:checked+.checkbox::after {
  background-color: var(--primary-color);
  border-radius: 50%;
  content: "";
  left: 16px;
  height: 10px;
  position: absolute;
  width: 10px;
}

/* アンケート */
.reserve-confirm-wrapper .form--question-wrapper .question-list {
  display: flex;
  flex-wrap: wrap;
  margin: 0 20px;
  overflow: unset;
}

.form--question-wrapper .title--S {
  margin: 0 20px;
}

.form--question-wrapper .title--XS {
  margin: 20px 20px 0;
}

.question-list [class*="sausagelink--"] {
  background-color: var(--palewhite-color);
}

.question-list+.title--S {
  margin: 20px 20px 0;
}

.question-list li {
  margin: 10px 10px 0 0;
}

.question-list select {
  background-color: #fff;
  border-radius: 4px;
  border: none;
  height: 44px;
  line-height: 44px;
  padding: 0 12px;
  font-weight: 700;
  font-size: 16px;
  color: #8F8F8F;
  border: 1px solid #E8E2DC;
  width: 100%;
}

.question-list .pull {
  width: 220px;
  position: relative;
}

.pull::after {
  position: absolute;
  display: block;
  top: 18px;
  right: 15px;
  content: '';
  width: 4px;
  height: 4px;
  border: 0px;
  border-top: solid 2px #A57E49;
  border-right: solid 2px #A57E49;
  -ms-transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}

.text--question-list-caption {
  margin: 10px 20px;
}

/* 備考欄 */
.form--remarks-wrapper textarea.input-textarea {
  margin: 10px 0 0;
}

.form--remarks-wrapper .form-title {
  margin: 20px 0 0;
}

.form--remarks-wrapper>.form-title:first-child {
  margin: 0;
}

.form--remarks-wrapper .form-title+.form-description {
  margin: 10px 0 0;
}

/* 確認事項 */
.form--checklist-wrapper [class*="note--"] {
  background-color: var(--palewhite-color);
  border-radius: 8px;
  color: var(--darkgray-color);
  margin: 10px 0 0;
  padding: 12px;
  word-break: break-all;
}

input[type="checkbox"]+.checkbox.agreement_check {
  background-color: var(--white-color);
  border: 1px solid var(--error-color);
  color: var(--error-color);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  margin: 20px 0 0;
  position: relative;
}

input[type="checkbox"]+.checkbox.agreement_check::before {
  color: var(--disable-color);
  left: 12px;
  position: absolute;
}

input[type="checkbox"]:checked+.checkbox.agreement_check {
  background-color: var(--palewhite-color);
  border: 1px solid var(--palewhite-color);
  color: var(--black-color);
}

input[type="checkbox"]:checked+.checkbox.agreement_check::before {
  color: var(--error-color);
}

.form--checklist-wrapper [class*="note--"] .modal--btn {
  text-decoration: underline;
  color: var(--primary-color);
}

/* 確認事項モーダル内 */
.modal--content.attention--modal {
  border-radius: 0;
  padding: 0;
}

.modal--content.attention--modal .modal--main {
  min-height: calc(100vh - 83px);
}

.modal--content .title--L {
  color: var(--black-color);
}

.reserve_info_check {
  margin: 20px 0 0;
  text-align: center;
}

.reservation_button {
  margin: 10px 20px 120px;
  position: relative;
}

.reservation_button:active {
  background-color: #C65651;
}

.reservation_button-loader {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  height: auto;
  background-color: var(--secondaryhighlight-color);
  border-radius: 8px;
  height: 44px;
  width: 100%;
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
}

.reservation_button-loader .line-spin-fade-loader>div {
  background-color: var(--white-color);
}

/* 予約者情報編集 */
.boxtext--description {
  background-color: var(--layer-color);
  border-radius: 8px;
  color: var(--gray-color);
  font-weight: normal;
  margin: 0 20px;
}

.form--reserve-info-wrapper {
  background-color: var(--white-color);
  margin: 20px 0 0;
  padding: 20px;
}

.form--reserve-info-wrapper .card--shop_date {
  background-color: var(--palewhite-color);
  border-radius: 8px;
  display: flex;
  margin: 10px 0 0;
  padding: 12px;
}

.form--reserve-info-wrapper .card--shop_date .thumbnail--M {
  margin-right: 10px;
}

.user-wrapper .form--reserve-info-wrapper .form--contents{
  overflow: visible;
}

.form_title {
  margin: 20px 0 0;
}

.form_title:first-child {
  margin: 0;
}

.form--contents {
  border-radius: var(--form-borderradius);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 10px 0 0;
  overflow: hidden;
  position: relative;
}

.form--contents .name-wrapper {
  width: calc(50% - 5px);
}

input[class*="form--textarea"],
select[class*="form--textarea"] {
  background-color: var(--palewhite-color);
  border: 1px solid var(--disable-color);
  border-radius: var(--form-borderradius);
  box-sizing: border-box;
  color: var(--black-color);
  font-size: var(--text--S);
  margin: 10px 0 0;
  min-height: 44px;
  line-height: 132%;
  padding: 11px 12px;
  position: relative;
  width: 100%;
}

[class*="form--textarea"].error-form {
  border: 1px solid var(--error-color);
}

input[type="checkbox"]+.checkbox.save_to_default {
  background-color: var(--white-color);
  color: var(--primary-color);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  margin: 20px 20px 40px;
  position: relative;
  width: calc(100% - 40px);
}

input[type="checkbox"]+.checkbox.save_to_default::before {
  color: var(--disable-color);
  left: 12px;
  position: absolute;
}

input[type="checkbox"]:checked+.checkbox.save_to_default::before {
  color: var(--primary-color);
}

.reserve_info_check .text--attention {
  display: inline-block;
  margin-bottom: 4px;
  width: 100%;
}

/* 予約完了 */
.confirm--shop_info-wrapper,
.reserve-finish-wrapper .title--L,
.reserve-finish-wrapper [class*="confirm--"][class$="-wrapper"]+[class*="confirm--"][class$="-wrapper"],
.reserve-finish-wrapper .card--reserve_comp_info-wrapper+[class*="confirm--"][class$="-wrapper"] {
  margin: 20px 0 0;
}

.reserve-finish-wrapper [class^="card--reserve"].card--reserve_comp_info-wrapper {
  background-color: var(--white-color);
  margin: 40px 0 0;
  padding: 20px;
}

.card--reserve_comp_info-wrapper .tft-wrapper {
  margin: 20px 0 0;
}

.linktext--dpoint,
.tft-wrapper .linktext--tft {
  text-decoration: underline;
  font-size: var(--text--XS);
  font-weight: normal;
}

.card--reserve_comp_info-wrapper .tft-wrapper [class^="boxtext--"] {
  background-color: var(--palewhite-color);
}

.reserve-finish-wrapper .card--reserve_comp_info-wrapper+.card--reserve_comp_info-wrapper {
  margin: 20px 0 0;
}

.button--share {
  background-color: var(--white-color);
  border: 1px solid var(--disable-color);
}

.reserve-finish-wrapper .title--S+[class^="list--boxtext"] {
  margin: 10px 0 0;
}

.icon-cook.icon--L {
  align-items: center;
  background-color: var(--white-color);
  border-radius: 50%;
  color: var(--primary-color);
  display: flex;
  justify-content: center;
  height: 60px;
  width: 60px;
}

.reserve-finish-wrapper .icon-cook.icon--L {
  align-items: center;
  background-color: var(--white-color);
  border-radius: 50%;
  color: var(--primary-color);
  display: flex;
  justify-content: center;
  height: 60px;
  margin: 40px 0 0;
  width: 60px;
}

.reserve-finish-wrapper .icon-cook.icon--L::before {
  font-size: 36px;
}

.reserve-finish-wrapper [class^="card--reserve"] {
  overflow: unset;
  padding: 0;
}

.reserve-finish-wrapper .card--reserve>*:first-child {
  border-radius: 12px 12px 0 0;
  overflow: hidden;
}

.reserve-finish-wrapper .card--reserve>*:last-child {
  border-radius: 0 0 12px 12px;
  overflow: hidden;
}

.reserve-finish-wrapper .tip--content {
  display: none;
}

[class^="card--reserve"] {
  background-color: var(--white-color);
  border-radius: var(--box-borderradius);
  overflow: hidden;
  padding: 0 0 20px;
}

[class^="card--"]>.card--shop_date {
  display: flex;
  padding: var(--card-padding);
}

[class^="card--"]>.card--shop_date .shop_img {
  margin-right: 20px;
}

[class^="card--"]>.card--shop_date .shop_data {
  flex: 1;
}

.shop_data>.title--XS {
  color: var(--black-color);
  margin: 0 0 4px;
}

[class^="card--shop"] .shop_data .text--XS {
  color: var(--gray-color);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}

[class^="card--shop"] .shop_data [class^="icon-"]::before {
  font-size: var(--text--XS);
}

.action-button {
  display: flex;
  margin: 0 20px 10px;
  overflow: unset;
}

.action-button [class*="sausagelink--"] {
  background-color: var(--white-color);
  border: 1px solid;
  box-sizing: border-box;
  color: var(--primary-color);
  font-weight: bold;
  margin-bottom: 10px;
  margin-right: 10px;
  position: relative;
}

.action-button [class*="sausagelink--"].reserve {
  color: var(--secondary-color);
}

[class*="--scrollx"].action-button {
  padding: 0 0 20px 20px;
}

[class*="--scrollx"].action-button [class*="sausagelink--"] {
  margin-bottom: 0;
}

[class*="sausagelink--"]::before {
  margin: 0 10px 0 0;
}

.card-bottom-button {
  border-top: 1px solid var(--palewhite-color);
  display: flex;
}

.card-bottom-button>[class^="button--"] {
  border-radius: 0;
  width: 50%;
}

.card-bottom-button>[class^="button--"]:only-child {
  width: 100%;
}

.card-bottom-button>[class^="button--"]+[class^="button--"] {
  border-left: 1px solid var(--palewhite-color);
}

.card-bottom-button>[class^="button--"].cancel {
  color: var(--error-color);
}

.card-bottom-button>[class^="button--"].cancel:hover {
  background-color: var(--error-color);
  color: var(--white-color);
}

.register_member [class^="boxtext--dual--between"] [class*="icon-"]::before,
[class^="boxtext--dual--between"] p[class*="icon-"]::before {
  margin-right: 10px;
}

[class*="button--b"].link-top {
  margin: 20px 0;
}

[class*="list--boxtext"]>[class*="icon-"]::before {
  margin-right: 10px;
}

.confirm--condition-wrapper [class^="boxtext--dual--between"]>span {
  color: var(--black-color);
}

.card--reserve_comp_info-wrapper [class^="title--"]+[class^="text--"],
.card--reserve_comp_info-wrapper [class^="title--"]+[class^="button--"],
.card--reserve_comp_info-wrapper [class^="button--"]+[class^="button--"] {
  margin: 10px 0 0;
}

[class^="button--"][class*="icon-"]::before {
  margin-right: 10px;
}

[class^="button--"].link-shop {
  margin: 20px 0 0;
}

[class^="button--"].link-top {
  margin: 10px 0 40px;
}

/* トーストメッセージ */
#toast-bookmark {
  visibility: hidden;
  display: flex;
  justify-content: center;
  height: auto;
  width: 960px;
  z-index: 999;
  position: fixed;
  bottom: 20px;
  right: 0;
  left: 0;
  margin: 0 auto;
}

#toast-bookmark>p {
  background-color: rgba(0, 0, 0, 0.60);
  border-radius: 8px;
  display: inline-block;
  font-size: 14px;
  vertical-align: center;
  color: var(--white-color);
  letter-spacing: 0;
  line-height: 132%;
  padding: 13px 12px;
}

/* ポイント詳細ツールチップ */
.reserve-confirm-wrapper [class^="list--boxtext"].tooltip-wrapper,
[class^="list--boxtext"].tooltip-wrapper {
  overflow: unset;
}

[class^="list--boxtext"].tooltip-wrapper [class^="boxtext--"]:first-child,
[class^="list--boxtext"].tooltip-wrapper .point-inner [class^="boxtext--"]:first-child {
  border-radius: 8px 8px 0 0;
}

[class^="list--boxtext"].tooltip-wrapper [class^="boxtext--"]:last-child,
[class^="list--boxtext"].tooltip-wrapper .point-inner [class^="boxtext--"]:last-child {
  border-radius: 0 0 8px 8px;
}

[class^="list--boxtext"].tooltip-wrapper [class^="boxtext--"]:only-child,
[class^="list--boxtext"].tooltip-wrapper .point-inner [class^="boxtext--"]:only-child {
  border-radius: 8px;
}

.point_name {
  display: flex;
  align-items: center;
  position: relative;
}

.point_name button {
  background: none;
  position: relative;
  padding: 0;
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
}

.point_name .tooltip,
.button-tel .tooltip {
  bottom: 145%;
  left: 50%;
  margin-left: -130px;
  margin-bottom: 4px;
  position: absolute;
  opacity: 0;
  transition: opacity 0.3s;
  visibility: hidden;
  width: 260px;
  z-index: 1;
}

.button-tel .tooltip {
  bottom: 40px;
}

.point_name .tooltip>.text,
.button-tel .tooltip>.text {
  background-color: var(--white-color);
  color: var(--gray-color);
  padding: 10px 12px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: normal;
  display: inline-block;
  line-height: 132%;
  position: relative;
  box-shadow: 0px 2px 4px rgb(0 0 0 / 16%);
}

button:hover>.tooltip {
  visibility: visible;
  opacity: 1;
}

.point_name button .triangle,
.button-tel button .triangle {
  visibility: hidden;
  position: relative;
  left: -8px;
  z-index: 2;
  opacity: 0;
}

.point_name button .triangle::after,
.button-tel button .triangle::after {
  content: " ";
  position: absolute;
  top: -61%;
  left: 50%;
  margin-left: -8px;
  border-width: 8px;
  border-style: solid;
  border-color: #fff transparent transparent transparent;
}

.point_name .tooltip>.text::after,
.button-tel .tooltip>.text::after {
  content: " ";
  position: absolute;
  top: 99%;
  left: calc(50% + 5px);
  margin-left: -8px;
  border-width: 8px;
  border-style: solid;
  border-color: #fff transparent transparent transparent;
}

.tooltip>.text::before {
  content: " ";
  position: absolute;
  top: 100%;
  left: calc(50% + 5px);
  margin-left: -9px;
  border-width: 9px;
  border-style: solid;
  border-color: rgba(0 0 0 / 16%) transparent transparent transparent;
  filter: blur(2px);
  z-index: -1;
}

.point_name button .triangle::before,
.point_name button .triangle::before {
  content: " ";
  position: absolute;
  top: -50%;
  left: 50%;
  margin-left: -8px;
  border-width: 8px;
  border-style: solid;
  border-color: rgba(0 0 0 / 16%) transparent transparent transparent;
  filter: blur(2px);
  z-index: -1;
}

.tooltip>.text i {
  background-color: var(--primary-color);
  color: var(--white-color);
  font-style: normal;
  padding: 3px 7px;
  font-size: 10px;
  margin-right: 2px;
}

button:hover+.tooltip {
  visibility: visible;
  opacity: 1;
}

button:hover>.triangle {
  visibility: visible;
  opacity: 1;
}

/* ローディングアニメーション */
.calendar-loader {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  height: auto;
  background-color: var(--white-color);
  border-radius: 8px;
  height: 240px;
  width: 335px;
  z-index: 1;
}

.time-wrapper .calendar-loader,
.person-wrapper .calendar-loader {
  width: 100%;
  height: 44px;
  position: absolute;
  top: 0;
}

.calendar-date-wrapper,
.time-wrapper,
.person-wrapper {
  position: relative;
}

@-webkit-keyframes line-spin-fade-loader {
  50% {
    opacity: 0.3;
  }

  100% {
    opacity: 1;
  }
}

@keyframes line-spin-fade-loader {
  50% {
    opacity: 0.3;
  }

  100% {
    opacity: 1;
  }
}

.line-spin-fade-loader {
  position: relative;
  top: -5px;
  left: -4px;
}

.line-spin-fade-loader>div:nth-child(1) {
  top: 10px;
  left: 0;
  -webkit-animation: line-spin-fade-loader 1.2s 0s infinite ease-in-out;
  animation: line-spin-fade-loader 1.2s 0s infinite ease-in-out;
}

.line-spin-fade-loader>div:nth-child(2) {
  top: 6.81818px;
  left: 6.81818px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-animation: line-spin-fade-loader 1.2s -0.12s infinite ease-in-out;
  animation: line-spin-fade-loader 1.2s -0.12s infinite ease-in-out;
}

.line-spin-fade-loader>div:nth-child(3) {
  top: 0;
  left: 10px;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-animation: line-spin-fade-loader 1.2s -0.24s infinite ease-in-out;
  animation: line-spin-fade-loader 1.2s -0.24s infinite ease-in-out;
}

.line-spin-fade-loader>div:nth-child(4) {
  top: -6.81818px;
  left: 6.81818px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-animation: line-spin-fade-loader 1.2s -0.36s infinite ease-in-out;
  animation: line-spin-fade-loader 1.2s -0.36s infinite ease-in-out;
}

.line-spin-fade-loader>div:nth-child(5) {
  top: -10px;
  left: 0;
  -webkit-animation: line-spin-fade-loader 1.2s -0.48s infinite ease-in-out;
  animation: line-spin-fade-loader 1.2s -0.48s infinite ease-in-out;
}

.line-spin-fade-loader>div:nth-child(6) {
  top: -6.81818px;
  left: -6.81818px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-animation: line-spin-fade-loader 1.2s -0.6s infinite ease-in-out;
  animation: line-spin-fade-loader 1.2s -0.6s infinite ease-in-out;
}

.line-spin-fade-loader>div:nth-child(7) {
  top: 0;
  left: -10px;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-animation: line-spin-fade-loader 1.2s -0.72s infinite ease-in-out;
  animation: line-spin-fade-loader 1.2s -0.72s infinite ease-in-out;
}

.line-spin-fade-loader>div:nth-child(8) {
  top: 6.81818px;
  left: -6.81818px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-animation: line-spin-fade-loader 1.2s -0.84s infinite ease-in-out;
  animation: line-spin-fade-loader 1.2s -0.84s infinite ease-in-out;
}

.line-spin-fade-loader>div {
  background-color: var(--lightgray-color);
  border-radius: 50%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  position: absolute;
  width: 4px;
  height: 4px;
}

/* pc追加スタイル */
.modal--content {
  top: 0;
  width: 375px;
}

.calendar-wrapper table {
  width: 335px;
  min-width: 335px;
}

.calendar-wrapper table.calendar-active {
  display: table;
}

.calendar-wrapper table.calendar-active::before,
.calendar-wrapper table.calendar-active::after {
  content: "";
  display: block;
  background-color: var(--white-color);
  width: 10px;
  height: 100%;
  position: absolute;
  top: 0;
}

.calendar-wrapper table.calendar-active::before {
  border-radius: 0 8px 8px 0;
  left: -20px;
}

.calendar-wrapper table.calendar-active::after {
  border-radius: 8px 0 0 8px;
  right: -20px;
}

.calendar-wrapper table.calendar-active:first-child:before {
  display: none;
}

.calendar-wrapper table.calendar-active:last-child:after {
  display: none;
}

.calendar-date-wrapper table {
  display: none;
}

.modal--main+.modal--btn--close {
  width: 375px;
}

.button-close-modal.icon-cross {
  top: 12px;
}

.attention-area-get_point {
  border-radius: 0;
  width: 375px;
}

.course-modal--content {
  display: none;
}

.course-modal--content,
.error-modal--content {
  padding: 0;
  width: 375px;
}

.course-modal--content .modal--main {
  min-height: calc(100vh - 123px);
}

.error-modal--content .modal--main {
  max-height: calc(100vh - 123px);
  min-height: auto;
}

.course-info>.modal--bg-course,
.modal--bg-error {
  display: none;
  margin: 0;
  width: 375px;
  right: 0;
  left: auto;
}

.seat-only-reserve:hover,
.no-select-reserve:hover {
  color: var(--white-color);
}

.resrve-column-wrapper {
  /* background-color: var(--white-color); */
  display: flex;
  justify-content: center;
}

.resrve-column-wrapper .column-main {
  width: 560px;
}

.resrve-column-wrapper .column-main .form-wrapper {
  border-radius: var(--box-borderradius);
  overflow: hidden;
}

.resrve-column-wrapper .column-right {
  margin-left: 40px;
  width: 360px;
  z-index: 0;
}

.reserve-confirm-wrapper .column-right [class^="form--"][class$="-wrapper"] {
  border: 1px solid var(--palewhite-color);
  border-radius: 12px;
  margin: 40px 0 0;
  padding: 20px;
}

.reserve-confirm-wrapper .column-right [class^="form--"][class$="-wrapper"]+[class^="form--"][class$="-wrapper"] {
  margin: 20px 0 0;
}

.resrve-column-wrapper .title--L {
  margin: 40px 0 20px;
}

.resrve-column-wrapper .icon-cook.icon--L+.title--L {
  margin: 20px 0;
}

/* hover */
.selectbox select:hover,
.point-select input[type="radio"]+.checkbox,
input[type="checkbox"]+.checkbox:hover,
input[type="checkbox"]+.checkbox.save_to_default:hover {
  cursor: pointer;
}

.calendar-header .calendar-ttl .calendar-ttl-item [class^="calendar-month-link"]:hover {
  color: var(--primaryhighlight-color);
}

.calendar-header .calendar-ttl .calendar-ttl-item [class^="calendar-month-link"].calendar-month-link--disabled:hover {
  color: var(--disable-color);
  cursor: inherit;
}

.calendar-date-item:hover {
  background-color: var(--primary-color);
  cursor: pointer;
}
.calendar-date-item.calendar-date-item--disabled:hover {
  background-color: var(--white-color);
}
.calendar-date-item:hover a[class*="calendar-date-inner"],
.calendar-date-item:hover .calendar-seat-info.icon-circle,
.calendar-date-item:hover .calendar-seat-info.icon-triangle {
  color: var(--white-color);
}

a[class*="calendar-date-inner"]:hover .calendar-seat-info.icon,
.calendar-date-item a[class*="calendar-date-inner"]:hover .text--pup {
  color: var(--white-color);
}

a.card--shop_date:hover,
.reserve-confirm-wrapper .list--boxtext a[class^="boxtext--dual"]:hover,
.point-select input[type="radio"]+.checkbox:hover,
.question-list [class*="sausagelink--"]:hover {
  background-color: var(--palegray-color);
  cursor: pointer;
  transition: all .2s;
}

.linktext--dpoint:hover,
.tft-wrapper .linktext--tft:hover,
.login-status .button-login:hover {
  color: var(--primaryhighlight-color);
}

.button--share:hover {
  background-color: var(--primaryhighlight-color);
  color: var(--white-color);
}

.action-button [class*="sausagelink--"]:hover {
  background-color: var(--palewhite-color);
  cursor: pointer;
  transition: all .2s;
}

[class^="tip--content"] .list--boxtext a:hover {
  background-color: var(--palegray-color);
  z-index: 2;
}

#loading-view {
  width: 100%;
  height: 100%;
  z-index: 9999;
  position: fixed;
  top: 0;
  left: 0;
  filter: alpha(opacity=85);
  -moz-opacity: 0.85;
  -khtml-opacity: 0.85;
  opacity: 0.85;
  background-image: url(/common/img/loading.gif);
  background-position: center center;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

.label--course_no1, .label--course_recommend {
  color: var(--primary-color);
  display: flex;
  align-items: center;
  width: 100%;
  margin-bottom: 10px;
}

.label--course_no1 .icon-crown::before, .label--course_recommend .icon-good::before {
  font-size: var(--title--S);
  padding-right: 5px;
}
