/* Variable */
/*COLORS*/
/*FONT SIZES*/
/*BREAKPOINTS*/
/* Tools */
/* LIST OF COMPONENTS */
.styleguide {
  padding-bottom: 50px; }
  .styleguide__list {
    padding: 15px 20px;
    margin-bottom: 2px;
    width: 100%; }
  .styleguide__title {
    font-size: 35px; }
    @media screen and (max-width: 767px) {
      .styleguide__title {
        font-size: 8.75vw; } }
  .styleguide__subtitle {
    font-size: 28px; }
    @media screen and (max-width: 767px) {
      .styleguide__subtitle {
        font-size: 7.5vw; } }
  .styleguide__subtext {
    font-size: 24px; }
    @media screen and (max-width: 767px) {
      .styleguide__subtext {
        font-size: 5.625vw; } }
  .styleguide__primary {
    font-size: 18px; }
    @media screen and (max-width: 767px) {
      .styleguide__primary {
        font-size: 5.625vw; } }
  .styleguide__smaller {
    font-size: 16px; }
    @media screen and (max-width: 767px) {
      .styleguide__smaller {
        font-size: 4.375vw; } }
  .styleguide__smallest-size {
    font-size: 14px; }
    @media screen and (max-width: 767px) {
      .styleguide__smallest-size {
        font-size: 3.75vw; } }
  .styleguide__primary-color {
    background: #FFEF00; }
  .styleguide__secondary-color {
    background: #8E1F15; }
  .styleguide__dark-gray {
    background: #CCCCCC; }
  .styleguide__light-gray {
    background: #F8FBF2; }
  .styleguide__white-color {
    background: #FFFFFF; }

.button {
  display: inline-block;
  width: 100%;
  padding: 15px;
  font-size: 16px;
  text-align: center;
  background: url("../../images/common/button_arrow.png") no-repeat;
  background-size: 4%;
  background-position: 33%;
  background-color: #FFEF00;
  border: 1px solid #CCCCCC;
  border-radius: 5px;
  cursor: pointer;
  outline: none; }
  .button:hover {
    background-color: #FFCC00; }
  @media screen and (max-width: 767px) {
    .button {
      padding: 10px 0;
      font-size: 4.375vw; } }
  .button__icon {
    display: inline-block;
    margin-right: 10px;
    width: 25px;
    height: 25px;
    background: url("../../images/common/button_arrow.png") no-repeat;
    vertical-align: middle; }
  .button__text {
    display: inline-block;
    margin-left: 30px;
    vertical-align: middle; }
  .button__label-number {
    display: block;
    font-size: 14px;
    padding-bottom: 5px; }
    @media screen and (max-width: 767px) {
      .button__label-number {
        font-size: 3.75vw; } }
  .button__phone-number {
    display: inline-block;
    border-bottom: 1px solid #8E1F15;
    font-weight: 600;
    font-size: 28px; }
    @media screen and (max-width: 767px) {
      .button__phone-number {
        font-size: 5vw; } }

.button.button--contact {
  padding: 12px 15px;
  text-align: left;
  color: #8E1F15;
  border: none;
  background: url("../../images/common/nav-arrow.png") no-repeat;
  background-color: #FFEF00;
  background-position: 95% center;
  background-size: 10px; }
  @media screen and (max-width: 767px) {
    .button.button--contact {
      background-position: 95% center;
      background-size: 4%;
      padding: 7% 5%; } }

.button.button--more {
  padding: 10px;
  width: 50%;
  background-image: none; }
  @media screen and (max-width: 767px) {
    .button.button--more {
      width: 90%; } }

.button__icon.button__icon-down {
  transform: translateX(-50%) rotate(90deg);
  background-position: center;
  background-size: 65%; }
  @media screen and (max-width: 767px) {
    .button__icon.button__icon-down {
      transform: translateX(0) rotate(90deg); } }

.button.button--navigation {
  display: inline-block;
  width: 90%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }
  @media screen and (max-width: 767px) {
    .button.button--navigation {
      padding: 10px; } }

.button__icon.button__icon--change {
  position: absolute;
  left: 38%;
  top: 30%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }
  @media screen and (max-width: 767px) {
    .button__icon.button__icon--change {
      left: 25%;
      width: 100%;
      font-size: 5.625vw;
      padding: 12px;
      border: none; } }

.button__icon.button__icon--submit {
  position: absolute;
  left: 25%;
  top: 30%; }
  @media screen and (max-width: 767px) {
    .button__icon.button__icon--submit {
      left: 16%; } }

.button.button--navigation-link {
  width: 100%; }
  @media screen and (max-width: 767px) {
    .button.button--navigation-link {
      background-position: 27%; } }

.button.button--cancel,
.button.button--submit {
  padding: 10px;
  font-size: 16px;
  background-color: #EEEEEE;
  border: 1px solid #CCCCCC; }

.button.button--cancel {
  background-position: 25%; }
  @media screen and (max-width: 767px) {
    .button.button--cancel {
      background-position: 20%; } }

.button.button--submit {
  background-color: #FFEF00;
  border: none; }

.button.button--seemore {
  width: 90%;
  background-position: 25%;
  background-size: 3%; }
  @media screen and (max-width: 767px) {
    .button.button--seemore {
      width: 100%;
      background-position: 11%;
      background-size: 4%; } }

.button.button--disabled {
  background-position: 25%; }

.button.button--has-icon {
  background-image: none; }

.back_btn_box .button.button--has-icon i {
  margin-right: 10px; }

.button.button--reservation {
  width: 100%;
  padding: 8px 1px;
  text-align: center;
  background-image: none;
  background-color: #00B050;
  border-radius: 5px;
  cursor: pointer;
  outline: none;
  line-height: 17px; }
  @media screen and (max-width: 767px) {
    .button.button--reservation {
      margin-top: 10px;
      padding: 7% 1px;
      line-height: 25px; } }
  @media screen and (max-width: 480px) {
    .button.button--reservation {
      padding: 3% 1px;
      line-height: 17px; } }
  .button.button--reservation .button__text {
    margin: 0;
    font-size: 14px;
    color: #FFF; }
    @media screen and (max-width: 767px) {
      .button.button--reservation .button__text {
        font-size: 3.125vw; } }
    @media screen and (max-width: 480px) {
      .button.button--reservation .button__text {
        font-size: 3.75vw; } }
  .button.button--reservation .button__subtext {
    font-size: 12px;
    color: #FFF; }
    @media screen and (max-width: 767px) {
      .button.button--reservation .button__subtext {
        font-size: 3.125vw; } }
  .button.button--reservation.list {
    margin-left: 25px;
    width: 40%;
    vertical-align: middle; }
    @media screen and (max-width: 767px) {
      .button.button--reservation.list {
        margin-left: 20px;
        width: 35%; } }
    @media screen and (max-width: 480px) {
      .button.button--reservation.list {
        margin-left: 2px;
        width: 40%; } }
  .button.button--reservation.detail {
    margin-top: 5px; }

.total-points {
  background: url("../../images/totalpoints/totalpoints.png") no-repeat;
  background-size: cover;
  background-position: center;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .total-points {
      position: relative;
      width: 100%;
      background: url("../../images/totalpoints/points-bg.png") no-repeat;
      background-size: 100%;
      text-align: center; } }
  .total-points__content {
    margin: 0 auto;
    max-width: 1008px;
    padding: 6% 0 5%; }
    @media screen and (max-width: 768px) {
      .total-points__content {
        padding: 0;
        padding-top: 10%;
        padding-bottom: 4%; } }
  .total-points__name {
    font-size: 2.5vw;
    padding: 0 0 3% 2%; }
    @media screen and (max-width: 1350px) {
      .total-points__name {
        padding: 0 0 5% 2%; } }
    @media screen and (max-width: 767px) {
      .total-points__name {
        font-size: 14px;
        padding: 0; } }
  .total-points__logo-text {
    font-size: 2.5vw;
    font-weight: 600; }
    @media screen and (max-width: 767px) {
      .total-points__logo-text {
        font-size: 14px; } }
  .total-points__amount {
    font-size: 0; }
  .total-points__amount-number {
    font-size: 5.625vw;
    color: #8E1F15;
    font-weight: 600; }
    @media screen and (max-width: 767px) {
      .total-points__amount-number {
        font-size: 11vw;
        line-height: 1.5em;
        font-weight: bold; } }
  @media screen and (max-width: 767px) {
    .total-points__logo-img {
      width: 100%; } }
  .total-points__icon {
    display: inline-block;
    margin-right: 10px;
    vertical-align: middle; }
    @media screen and (max-width: 767px) {
      .total-points__icon {
        margin-right: 2%;
        vertical-align: top;
        width: 5%; } }
  .total-points__text {
    display: inline-block;
    vertical-align: middle; }
  .total-points__pt {
    font-size: 3.125vw;
    color: #8E1F15;
    font-weight: 600; }
    @media screen and (max-width: 767px) {
      .total-points__pt {
        font-size: 11vw;
        font-weight: bold; } }
  .total-points__logo {
    padding: 2% 0 3%; }
    @media screen and (max-width: 1350px) {
      .total-points__logo {
        padding: 0 0 3%; } }
    @media screen and (max-width: 767px) {
      .total-points__logo {
        padding: 0;
        margin-top: 5%; } }
  .total-points__alert {
    margin: 4% auto 0;
    width: 65%;
    background: #FF0000;
    padding: 12px;
    border-radius: 10px;
    position: relative;
    cursor: pointer;
    visibility: hidden; }
    @media screen and (max-width: 1350px) {
      .total-points__alert {
        margin: 3.5% auto 0; } }
    @media screen and (max-width: 767px) {
      .total-points__alert {
        margin: 0 auto;
        width: 85%;
        border-radius: 10px;
        background: #FF0000;
        padding: 10px 5px;
        text-align: center; } }
  .total-points__alert-icon {
    display: inline;
    margin-right: 10px;
    vertical-align: middle; }
    @media screen and (max-width: 767px) {
      .total-points__alert-icon {
        margin-right: 0;
        width: 7%; } }
  .total-points__alert-text {
    display: inline;
    vertical-align: middle;
    color: #FFFFFF;
    font-size: 24px; }
    @media screen and (max-width: 1350px) {
      .total-points__alert-text {
        font-size: 20px; } }
    @media screen and (max-width: 767px) {
      .total-points__alert-text {
        font-size: 3.125vw;
        font-weight: 600; } }
  .total-points__arrow {
    width: 0;
    height: 0;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-bottom: 15px solid #FF0000;
    position: absolute;
    top: -15px;
    left: 48%; }
    @media screen and (max-width: 767px) {
      .total-points__arrow {
        border-left: 10px solid transparent;
        border-right: 10px solid transparent;
        border-bottom: 10px solid #FF0000;
        top: -10px; } }

.total-points__alert.total-points__alert--show {
  visibility: visible; }

.section {
  width: 100%; }
  .section__content {
    margin: 0 auto;
    max-width: 1008px;
    padding: 70px 24px 35px; }
    @media screen and (max-width: 767px) {
      .section__content {
        padding: 40px 10px 35px; } }
  .section__title-container {
    margin: 0 auto;
    max-width: 1008px;
    text-align: center;
    padding: 62px 24px 32px; }
  .section__head-title {
    font-size: 40px; }
    @media screen and (max-width: 767px) {
      .section__head-title {
        font-size: 8.75vw; } }
  .section__title {
    text-align: center;
    color: #8E1F15;
    font-size: 35px;
    font-weight: 600; }
    @media screen and (max-width: 767px) {
      .section__title {
        font-size: 7.5vw; } }
  .section__form {
    background: #F6F6EE;
    font-size: 0; }
  .section__form-content {
    margin: 0 auto;
    max-width: 1008px;
    padding: 0 24px; }
    @media screen and (max-width: 767px) {
      .section__form-content {
        padding: 0; } }
  .section__link {
    line-height: 18px; }
  .section__list {
    padding-bottom: 20px !important; }

@media screen and (max-width: 767px) {
  .section__content.section__content--fullwidth {
    padding: 0 0 35px; } }

.section.section--order-history {
  background: #F6F6EE;
  padding: 50px 0 100px; }
  @media screen and (max-width: 767px) {
    .section.section--order-history {
      padding: 0; } }

.section.section--yellow {
  background: #FFEF00; }
  .section.section--yellow .section__content {
    padding: 20px 10px; }

.section__content.section__content--address {
  padding: 20px 24px 35px; }

.current-points {
  background: #F8FBF2;
  height: 180px; }
  @media screen and (max-width: 947px) {
    .current-points {
      height: inherit;
      border: 1px dashed #CCCCCC;
      border-right: none;
      border-left: none; } }
  @media screen and (max-width: 640px) {
    .current-points {
      height: 150px;
      border: 1px dashed #CCCCCC;
      border-right: none;
      border-left: none; } }
  @media screen and (max-width: 480px) {
    .current-points {
      height: inherit; } }
  .current-points__content {
    margin: 0 auto;
    max-width: 1008px;
    padding: 0 24px;
    font-size: 0; }
    @media screen and (max-width: 767px) {
      .current-points__content {
        padding: 0 10px; } }
  .current-points__list {
    display: inline-block;
    width: 50%;
    vertical-align: top;
    border-left: 1px dashed #CCCCCC;
    text-align: center;
    height: 180px; }
    @media screen and (max-width: 767px) {
      .current-points__list {
        height: inherit; } }
    .current-points__list:first-child {
      border-left: 1px dashed #000000; }
      @media screen and (max-width: 767px) {
        .current-points__list:first-child {
          border-left: none;
          border-right: 1px dashed #CCCCCC;
          height: inherit; } }
    .current-points__list:last-child {
      border-right: 1px dashed #000000; }
      @media screen and (max-width: 767px) {
        .current-points__list:last-child {
          border-left: none;
          border-right: none; } }
  .current-points__list-items {
    padding: 30px 60px; }
    @media screen and (max-width: 947px) {
      .current-points__list-items {
        padding: 20px 4px; } }
    @media screen and (max-width: 640px) {
      .current-points__list-items {
        padding: 22px 4px; } }
  .current-points__title {
    display: block;
    margin: 0 auto;
    width: 60%;
    font-size: 24px;
    text-align: right;
    font-weight: 600; }
    @media screen and (max-width: 947px) {
      .current-points__title {
        width: 100%;
        font-size: 3.75vw;
        text-align: center; } }
    @media screen and (max-width: 767px) {
      .current-points__title {
        width: 100%;
        font-size: 3.125vw; } }
  .current-points__amount {
    display: inline-block;
    color: #8E1F15;
    vertical-align: bottom;
    font-weight: 600; }
  .current-points__amount-number {
    display: inline-block;
    font-size: 54px; }
    @media screen and (max-width: 947px) {
      .current-points__amount-number {
        font-size: 6.875vw; } }
  .current-points__pt {
    display: inline-block;
    font-size: 28px; }
    @media screen and (max-width: 947px) {
      .current-points__pt {
        font-size: 4.375vw; } }
  .current-points__icon {
    display: inline-block;
    margin-right: 5%;
    vertical-align: baseline; }
    @media screen and (max-width: 947px) {
      .current-points__icon {
        width: 20%; } }
  @media screen and (max-width: 947px) {
    .current-points__image {
      width: 100%; } }
  .current-points__date {
    display: block;
    margin: 0 auto;
    width: 75%;
    text-align: right;
    padding: 15px;
    font-size: 18px;
    color: #808080; }
    @media screen and (max-width: 947px) {
      .current-points__date {
        width: 100%;
        font-size: 3.125vw;
        padding: 15px 0 0;
        text-align: center; } }
    @media screen and (max-width: 640px) {
      .current-points__date {
        font-size: 3.125vw; } }

.current-points__image.current-points__image--bonus {
  height: 67px; }
  @media screen and (max-width: 767px) {
    .current-points__image.current-points__image--bonus {
      height: inherit; } }

.about-points {
  font-size: 0;
  text-align: center; }
  .about-points__list {
    display: inline-block;
    width: 50%;
    vertical-align: top;
    text-align: center; }
  .about-points__link {
    display: inline-block;
    font-size: 18px;
    vertical-align: middle;
    border-bottom: 1px solid #000000;
    padding-bottom: 3px; }
    @media screen and (max-width: 767px) {
      .about-points__link {
        padding: 0;
        font-size: 3.75vw;
        text-align: left; } }
  .about-points__icon {
    display: inline-block;
    margin-right: 15px;
    vertical-align: middle; }
    @media screen and (max-width: 767px) {
      .about-points__icon {
        margin-right: 5%;
        width: 13%; } }

.previous-treatment__content {
  margin: 0 auto;
  width: 70%; }
  @media screen and (max-width: 767px) {
    .previous-treatment__content {
      width: 100%; } }

.board {
  background: #C8A46D;
  padding: 18px;
  position: relative; }
  .board__clip {
    position: absolute;
    top: -20px;
    left: 33%; }
    @media screen and (max-width: 480px) {
      .board__clip {
        top: -3%;
        left: 30%;
        width: 40%; } }
    @media screen and (max-width: 480px) {
      .board__clip {
        top: -3%;
        left: 25%;
        width: 55%; } }
  @media screen and (max-width: 767px) {
    .board {
      padding: 3%; } }
  .board__content {
    background: #FFFFFF;
    border-radius: 8px;
    padding: 0 50px; }
    @media screen and (max-width: 767px) {
      .board__content {
        padding: 0 5%; } }
  .board__title {
    padding-top: 50px;
    text-align: center;
    font-size: 35px;
    color: #8E1F15; }
    @media screen and (max-width: 767px) {
      .board__title {
        font-size: 7.5vw; } }
  .board__list {
    padding-top: 35px;
    font-size: 0; }
  .board__item {
    padding: 15px 0;
    border-bottom: 2px dashed #CCCCCC; }
    .board__item:last-child {
      border-bottom: none; }
  .board__item-text {
    display: block;
    padding-bottom: 8px; }
  .board__label {
    display: inline-block;
    margin-right: 8%;
    width: 18%;
    font-size: 16px;
    vertical-align: top; }
    @media screen and (max-width: 767px) {
      .board__label {
        width: 25%;
        font-size: 4.375vw; } }
  .board__item-description, .board__image-list {
    display: inline-block;
    width: 74%;
    font-size: 18px;
    vertical-align: top; }
    @media screen and (max-width: 767px) {
      .board__item-description, .board__image-list {
        width: 67%;
        font-size: 5vw; } }
  .board__image {
    width: 90%; }
  .board__image-list {
    font-size: 0; }
  .board__image-item {
    display: inline-block;
    width: 25%;
    margin-bottom: 3%; }
  .board__button {
    padding: 15px 0;
    text-align: center; }
  .board__item-button {
    padding: 10px 0 0; }

.board.board--order-history .board__content {
  padding: 0 25px; }

.board.board--order-history .board__label {
  font-size: 14px;
  line-height: 1.5em; }

.board.board--order-history .board__item {
  border-bottom: 1px dotted #CCCCCC; }

.guide {
  background: #FFEF00; }
  .guide__content {
    margin: 0 auto;
    max-width: 1008px;
    padding: 35px 24px 70px;
    font-size: 0; }
  .guide__list {
    display: inline-block;
    margin-right: 4.3%;
    width: 30.3%;
    vertical-align: top; }
    @media screen and (max-width: 767px) {
      .guide__list {
        margin-right: 0;
        margin-bottom: 30px;
        width: 100%; } }
    .guide__list:last-child {
      margin-right: 0; }
      @media screen and (max-width: 767px) {
        .guide__list:last-child {
          margin-bottom: 0; } }
  .guide__text {
    font-size: 18px;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .guide__text {
        font-size: 5.625vw; } }
  .guide__image {
    display: inline-block;
    width: 100%; }

.download-app {
  font-size: 0;
  text-align: center;
  padding: 50px 0; }
  @media screen and (max-width: 767px) {
    .download-app {
      padding: 50px 15px 0; } }
  .download-app__list {
    display: inline-block;
    width: 45%;
    vertical-align: top;
    margin-right: 5%; }
    @media screen and (max-width: 767px) {
      .download-app__list {
        margin-right: 0;
        margin-bottom: 50px;
        width: 100%; } }
  .download-app__store {
    display: inline-block;
    width: 50%;
    vertical-align: top;
    text-align: left; }
    @media screen and (max-width: 767px) {
      .download-app__store {
        width: 100%; } }
  .download-app__description {
    display: block;
    font-size: 24px;
    padding-top: 20px; }
    @media screen and (max-width: 767px) {
      .download-app__description {
        width: 100%;
        font-size: 5.625vw; } }
  .download-app__text {
    display: block;
    padding: 5px;
    text-decoration: underline;
    line-height: 1.5em;
    font-weight: 600; }
  .download-app__image {
    width: 100%; }
  .download-app__store-text {
    font-size: 24px;
    padding-bottom: 10px; }
    @media screen and (max-width: 767px) {
      .download-app__store-text {
        font-size: 5.625vw; } }
  .download-app__logo {
    margin: 0 auto;
    width: 212px; }
  .download-app__store-logo {
    display: inline-block;
    margin-right: 5%;
    width: 60%;
    vertical-align: top; }
    @media screen and (max-width: 767px) {
      .download-app__store-logo {
        width: 70%; } }
  .download-app__store-code {
    display: inline-block;
    width: 18.6%;
    vertical-align: top; }
    @media screen and (max-width: 767px) {
      .download-app__store-code {
        width: 22.6%; } }
  .download-app__store-list {
    padding: 0 0 20px; }
  .download-app__store-image {
    width: 100%; }
  .download-app__qrcode {
    width: 89px; }
    @media screen and (max-width: 767px) {
      .download-app__qrcode {
        width: 100%; } }

.menu {
  padding: 20px 50px;
  font-size: 0; }
  @media screen and (max-width: 767px) {
    .menu {
      padding: 20px 0; } }
  .menu__list {
    display: inline-block;
    width: 25%;
    vertical-align: middle; }
  .menu__item {
    display: block;
    width: 100%;
    height: 80px;
    padding: 20px;
    text-align: center;
    border-right: 1px dashed #000000; }
    @media screen and (max-width: 767px) {
      .menu__item {
        height: 50px;
        padding: 10px 5px; } }
  .menu__text {
    display: block;
    font-size: 16px;
    text-decoration: underline;
    line-height: 1.5em; }
    @media screen and (max-width: 767px) {
      .menu__text {
        display: inline-block;
        font-size: 3.125vw; } }

.menu__item.menu__item--last-child {
  border-right: none; }

.order-history__content {
  font-size: 0; }

.order-history__list {
  display: inline-block;
  margin: 1% 1% 0 0;
  width: 49.5%;
  vertical-align: top; }
  @media screen and (max-width: 767px) {
    .order-history__list {
      margin: 1% 0 0 0;
      width: 100%; } }
  .order-history__list:nth-child(2n) {
    margin-right: 0; }

.order-history__button {
  text-align: center;
  padding: 10% 0 0;
  position: relative; }
  @media screen and (max-width: 767px) {
    .order-history__button {
      padding: 20% 0; } }

.order-history__loadmore {
  display: none;
  margin: 0 auto;
  width: 80px;
  padding: 20px;
  position: absolute;
  left: 46%;
  top: 10%; }
  @media screen and (max-width: 767px) {
    .order-history__loadmore {
      width: 70px;
      left: 38%;
      top: 0; } }

.order-history__list.order-history__list--hide {
  display: none; }

.alert-modal {
  display: none;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  position: fixed;
  top: 0;
  z-index: 999; }
  .alert-modal__content {
    margin: 0 auto;
    width: 50%;
    background: #FFFFFF;
    padding: 50px;
    position: absolute;
    top: 10%;
    left: 25%;
    right: 25%;
    border-top: 10px solid #F9C026;
    border-bottom: 10px solid #F9C026; }
    @media screen and (max-width: 767px) {
      .alert-modal__content {
        width: 85%;
        left: 7.5%;
        right: 7.5%;
        padding: 10%; } }
  .alert-modal__close {
    position: absolute;
    top: -25px;
    right: -20px;
    background: #FFFFFF;
    color: #8E1F15;
    border: 4px solid #8E1F15;
    border-radius: 50%;
    padding: 8px 13px;
    font-size: 24px;
    font-weight: 700;
    cursor: pointer; }
    @media screen and (max-width: 767px) {
      .alert-modal__close {
        font-size: 5.625vw;
        border-width: 2px;
        padding: 5px 9px;
        right: -15px; } }
  .alert-modal__image-container {
    text-align: center; }
  .alert-modal__image {
    width: 50%; }
    @media screen and (max-width: 767px) {
      .alert-modal__image {
        width: 100%; } }
  .alert-modal__title {
    text-align: center;
    padding: 40px 0 20px; }
  .alert-modal__title-text {
    font-size: 28px;
    color: #FF0000;
    font-weight: 700;
    line-height: 1.5em; }
    @media screen and (max-width: 767px) {
      .alert-modal__title-text {
        font-size: 5.625vw; } }
  .alert-modal__description {
    text-align: center;
    line-height: 1.5em;
    font-size: 18px; }
    @media screen and (max-width: 767px) {
      .alert-modal__description {
        font-size: 4.375vw; } }
  .alert-modal__close-button {
    padding: 50px 0 0;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .alert-modal__close-button {
        font-size: 4.375vw; } }
  .alert-modal__exit {
    cursor: pointer; }

.points {
  font-size: 0; }
  .points__list {
    display: inline-block;
    width: 48%;
    vertical-align: middle;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .points__list {
        text-align: left; } }
  .points__list-amount {
    display: inline-block;
    width: 52%;
    vertical-align: middle; }
  .points__title {
    display: inline-block;
    font-size: 24px;
    vertical-align: middle;
    line-height: 1.5em;
    text-align: left; }
    @media screen and (max-width: 767px) {
      .points__title {
        font-size: 5vw;
        font-weight: 600; } }
  .points__logo {
    display: inline-block;
    width: 35%;
    text-align: center;
    vertical-align: middle; }
    @media screen and (max-width: 767px) {
      .points__logo {
        margin-right: 5%; } }
  .points__image {
    width: 65%; }
    @media screen and (max-width: 767px) {
      .points__image {
        width: 80%; } }
  .points__amount {
    font-size: 72px;
    color: #8E1F15;
    font-weight: 600; }
    @media screen and (max-width: 767px) {
      .points__amount {
        font-size: 10.625vw; } }
  .points__pt {
    font-size: 40px; }
    @media screen and (max-width: 767px) {
      .points__pt {
        font-size: 6.25vw; } }

.points-history {
  background: #F6F6EE;
  padding: 50px 65px 100px; }
  @media screen and (max-width: 767px) {
    .points-history {
      padding: 50px 5% 8%; } }
  .points-history__title {
    text-align: center;
    color: #8E1F15;
    font-size: 28px;
    margin-bottom: 50px; }
    @media screen and (max-width: 767px) {
      .points-history__title {
        font-size: 5.625vw; } }
  .points-history__content {
    padding: 20px 50px 50px;
    font-size: 0;
    background: #FFFFFF; }
    @media screen and (max-width: 767px) {
      .points-history__content {
        padding: 5% 5% 10%; } }
  .points-history__list {
    padding: 25px 20px 10px;
    border-bottom: 1px dashed #CCCCCC; }
    @media screen and (max-width: 767px) {
      .points-history__list {
        padding: 25px 0 15px; } }
  .points-history__item {
    display: inline-block;
    width: 75%; }
    @media screen and (max-width: 767px) {
      .points-history__item {
        width: 55%;
        vertical-align: middle; } }
  .points-history__date {
    display: inline-block;
    width: 35%;
    font-size: 18px; }
    @media screen and (max-width: 767px) {
      .points-history__date {
        width: 100%;
        font-size: 3.75vw;
        padding-bottom: 5px; } }
  .points-history__text {
    display: inline-block;
    width: 65%;
    font-size: 24px; }
    @media screen and (max-width: 767px) {
      .points-history__text {
        width: 100%;
        font-size: 3.75vw; } }
  .points-history__amount {
    display: inline-block;
    width: 25%;
    font-size: 35px;
    text-align: right;
    color: #8E1F15; }
    @media screen and (max-width: 767px) {
      .points-history__amount {
        width: 45%;
        font-size: 7.5vw;
        vertical-align: middle; } }
  .points-history__pt {
    font-size: 18px; }
    @media screen and (max-width: 767px) {
      .points-history__pt {
        font-size: 4.375vw; } }
  .points-history__button {
    padding-top: 70px;
    text-align: center;
    position: relative; }
  .points-history__loadmore {
    display: none;
    margin: 0 auto;
    width: 80px;
    padding: 20px;
    position: absolute;
    left: 46%;
    top: 0; }
    @media screen and (max-width: 767px) {
      .points-history__loadmore {
        width: 70px;
        left: 38%;
        top: 0; } }

.points-history__list.points-history__list--hide {
  display: none; }

.form-page {
  margin: 0 auto;
  max-width: 730px; }
  .form-page__list {
    padding: 5px 0 15px; }
    @media screen and (max-width: 767px) {
      .form-page__list {
        padding: 5px 0; } }
  .form-page__label {
    display: inline-block;
    width: 100%;
    padding-bottom: 5px; }
    @media screen and (max-width: 767px) {
      .form-page__label {
        font-size: 4.375vw; } }
  .form-page__selectbox {
    height: 54px;
    width: 40%;
    padding: 0 10px;
    border-radius: 5px;
    border: 2px solid #8E1F15; }
    @media screen and (max-width: 767px) {
      .form-page__selectbox {
        width: 60%;
        height: 45px; } }
  .form-page__input {
    margin-bottom: 0;
    border-radius: 5px;
    border: 2px solid #8E1F15; }
    @media screen and (max-width: 767px) {
      .form-page__input {
        padding: 15px 5px; } }
  .form-page__button-wrapper {
    position: relative; }
  .form-page__button {
    padding: 40px 0;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .form-page__button {
        padding: 10px 0; } }
  .form-page__error {
    display: block;
    color: #FF0000;
    font-size: 14px;
    padding: 5px; }
    @media screen and (max-width: 767px) {
      .form-page__error {
        font-size: 3.75vw; } }

.login-form {
  display: inline-block;
  margin-right: 10%;
  width: 40%;
  vertical-align: top; }
  @media screen and (max-width: 767px) {
    .login-form {
      margin-right: 0;
      width: 100%;
      padding: 0 15px; } }
  .login-form__title {
    text-align: center;
    font-size: 24px;
    color: #8E1F15;
    padding: 50px 20px;
    font-weight: 600; }
    @media screen and (max-width: 767px) {
      .login-form__title {
        font-size: 5.625vw; } }
  .login-form__list {
    padding-bottom: 25px; }
  .login-form__label {
    display: inline-block;
    padding-bottom: 5px;
    font-size: 18px;
    color: #8E1F15; }
    @media screen and (max-width: 767px) {
      .login-form__label {
        font-size: 5vw; } }
  .login-form__note {
    font-size: 14px; }
    @media screen and (max-width: 767px) {
      .login-form__note {
        font-size: 3.75vw; } }
  .login-form__input {
    margin: 0;
    font-size: 18px;
    border-radius: 5px;
    border: 2px solid #8E1F15; }
  .login-form__button {
    text-align: center; }
  .login-form__terms {
    padding: 40px 0;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .login-form__terms {
        padding: 15% 0; } }
  .login-form__terms-icon, .login-form__terms-link {
    display: inline-block;
    vertical-align: middle; }
  @media screen and (max-width: 767px) {
    .login-form__icon {
      width: 75%; } }
  .login-form__terms-icon {
    margin-right: 3%; }
  .login-form__terms-text {
    display: inline-block;
    padding-bottom: 2px;
    border-bottom: 1px solid #000000;
    font-size: 16px; }
    @media screen and (max-width: 767px) {
      .login-form__terms-text {
        font-size: 4.375vw; } }
  .login-form__button-wrapper {
    position: relative; }
  .login-form__error {
    display: block;
    color: #FF0000;
    font-size: 14px;
    padding: 10px 5px 0; }

.signup {
  display: inline-block;
  width: 50%;
  background: #8E1F15;
  vertical-align: top; }
  @media screen and (max-width: 767px) {
    .signup {
      width: 100%; } }
  .signup__content {
    padding: 50px 10% 65%; }
    @media screen and (max-width: 767px) {
      .signup__content {
        padding: 15% 10%; } }
  .signup__title {
    font-size: 24px;
    color: #FFFFFF;
    padding-bottom: 12%; }
    @media screen and (max-width: 767px) {
      .signup__title {
        font-size: 5vw;
        font-weight: 600; } }
  .signup__description {
    padding-bottom: 15%;
    font-size: 16px;
    color: #FFFFFF;
    line-height: 1.5em;
    text-align: left; }
    @media screen and (max-width: 767px) {
      .signup__description {
        font-size: 3.75vw; } }

.common-modal {
  display: none;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999; }
  .common-modal__content {
    margin: 0 auto;
    width: 50%;
    background: #FFFFFF;
    padding: 50px;
    position: absolute;
    top: 10%;
    left: 25%;
    right: 25%;
    border-top: 10px solid #F9C026;
    border-bottom: 10px solid #F9C026; }
    @media screen and (max-width: 767px) {
      .common-modal__content {
        width: 85%;
        left: 7.5%;
        right: 7.5%;
        top: 5%;
        padding: 10%; } }
  .common-modal__close {
    position: absolute;
    top: -25px;
    right: -20px;
    background: #FFFFFF;
    color: #8E1F15;
    border: 4px solid #8E1F15;
    border-radius: 50%;
    padding: 8px 13px;
    font-size: 24px;
    font-weight: 700;
    cursor: pointer; }
    @media screen and (max-width: 767px) {
      .common-modal__close {
        font-size: 5.625vw;
        border-width: 2px;
        padding: 5px 9px;
        right: -15px; } }
  .common-modal__title {
    text-align: center;
    font-size: 35px;
    color: #FF0000;
    font-weight: 600; }
    @media screen and (max-width: 767px) {
      .common-modal__title {
        font-size: 5.625vw; } }
  .common-modal__notes {
    margin-top: 20px;
    border: 1px solid #FF0000;
    border-radius: 5px;
    padding: 25px 20px; }
    @media screen and (max-width: 767px) {
      .common-modal__notes {
        padding: 25px 0; } }
  .common-modal__notes-title {
    text-align: center;
    color: #FF0000;
    font-size: 24px;
    font-weight: 600;
    padding-bottom: 25px; }
    @media screen and (max-width: 767px) {
      .common-modal__notes-title {
        font-size: 5vw; } }
  .common-modal__note-wrapper {
    font-size: 0;
    padding: 10px 20px; }
  .common-modal__note-list {
    padding-bottom: 20px; }
  .common-modal__list-disc {
    display: inline-block;
    width: 20px;
    height: 20px;
    background: #CCCCCC;
    border-radius: 50%;
    margin-right: 5%;
    vertical-align: top; }
    @media screen and (max-width: 767px) {
      .common-modal__list-disc {
        width: 15px;
        height: 15px; } }
  .common-modal__list-text {
    display: inline-block;
    width: 90%;
    vertical-align: top;
    font-size: 18px;
    line-height: 1.5em; }
    @media screen and (max-width: 767px) {
      .common-modal__list-text {
        width: 85%;
        font-size: 3.125vw; } }
  .common-modal__button {
    font-size: 0;
    padding: 40px 20px 10px; }
    @media screen and (max-width: 767px) {
      .common-modal__button {
        padding: 25px 0 10px; } }
  .common-modal__button-wrapper {
    display: inline-block;
    margin-right: 4%;
    width: 48%; }
    @media screen and (max-width: 767px) {
      .common-modal__button-wrapper {
        width: 100%;
        margin-bottom: 15px; } }
    .common-modal__button-wrapper:last-child {
      margin-right: 0; }
      @media screen and (max-width: 767px) {
        .common-modal__button-wrapper:last-child {
          margin-bottom: 0; } }

.survey__title {
  margin-bottom: 30px;
  text-align: center;
  font-size: 0; }

.survey__title-image {
  margin: 0 auto;
  max-width: 480px;
  color: #8E1F15;
  text-align: left; }

.survey__logo {
  display: inline-block;
  background: url("/images/survey/surveyimage.png") no-repeat;
  background-size: contain;
  width: 110px;
  height: 85px;
  vertical-align: middle; }
  @media screen and (max-width: 767px) {
    .survey__logo {
      width: 70px;
      height: 60px; } }

.survey__text-logo {
  display: inline-block;
  vertical-align: middle;
  font-size: 30px;
  padding-top: 20px;
  position: relative; }
  @media screen and (max-width: 767px) {
    .survey__text-logo {
      font-size: 5.625vw; } }
  .survey__text-logo::before {
    margin: 0 auto;
    width: 100%;
    border-top: 8px solid #FFEF00;
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 2px;
    z-index: -1; }

.survey__getpoint {
  display: block; }

.survey__getpoint-text {
  display: inline-block; }

.survey__title-text {
  font-size: 60px;
  color: #8E1F15;
  vertical-align: top;
  position: relative; }
  @media screen and (max-width: 767px) {
    .survey__title-text {
      font-size: 9.375vw; } }
  .survey__title-text::before {
    margin: 0 auto;
    width: 100%;
    border-top: 10px solid #FFEF00;
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 20px;
    z-index: -1; }
    @media screen and (max-width: 767px) {
      .survey__title-text::before {
        bottom: 11px; } }

.survey__slash {
  display: inline-block;
  margin: 0 5px;
  width: 45px;
  height: 30px;
  background: url("/images/survey/survey-slash.png") no-repeat;
  background-size: contain;
  background-position: center;
  position: relative;
  vertical-align: bottom; }
  @media screen and (max-width: 767px) {
    .survey__slash {
      margin: 0;
      width: 25px;
      height: 20px; } }

.survey__paragraph {
  margin: 0 auto;
  max-width: 760px;
  padding: 20px 0;
  text-align: center;
  border-top: 2px dashed #CCCCCC;
  border-bottom: 2px dashed #CCCCCC;
  font-size: 18px;
  line-height: 1.5em;
  font-weight: 600; }
  @media screen and (max-width: 767px) {
    .survey__paragraph {
      font-size: 5vw; } }

.survey__textbox {
  padding: 3px;
  text-indent: 10px;
  font-size: 18px;
  width: 85%; }
  @media screen and (max-width: 767px) {
    .survey__textbox {
      width: 100; } }

.survey__slash.survey__slash--after {
  background: url("/images/survey/slash-after.png") no-repeat;
  background-size: contain;
  background-position: center; }

.survey__paragraph.survey__paragraph--noborder {
  border: none;
  font-weight: normal; }

.survey__paragraph.survey__paragraph--already-answered {
  margin-top: -60px; }

.questions {
  margin: 50px auto 0;
  max-width: 760px; }
  .questions__item {
    padding: 20px; }
  .questions__textarea {
    width: 100%;
    height: 100px;
    resize: none;
    border: 2px solid #8E1F15; }
  .questions__list {
    margin-top: 50px; }
    @media screen and (max-width: 767px) {
      .questions__list {
        margin-top: 15px; } }
  .questions__text {
    font-size: 18px;
    color: #8E1F15;
    font-weight: 600; }
    @media screen and (max-width: 767px) {
      .questions__text {
        font-size: 5vw; } }
  .questions__chooseone {
    display: inline-block;
    vertical-align: top;
    width: 47%;
    padding-bottom: 20px; }
    .questions__chooseone:last-child {
      padding-bottom: 0; }
    @media screen and (max-width: 767px) {
      .questions__chooseone {
        width: 100%;
        padding: 10px 0; } }
  .questions__radio {
    display: inline-block;
    margin-right: 10px;
    width: 100%; }
  .questions__radiobutton, .questions__checkinput {
    margin-right: 15px;
    vertical-align: top; }
  .questions__label-wrapper {
    display: inline-block;
    vertical-align: top;
    width: 85%; }
  .questions__label {
    cursor: pointer;
    font-size: 18px;
    word-break: break-all; }
    @media screen and (max-width: 767px) {
      .questions__label {
        font-size: 5vw; } }
  .questions__checkbox-list {
    display: inline-block;
    width: 45%;
    vertical-align: top;
    padding: 20px; }
    @media screen and (max-width: 767px) {
      .questions__checkbox-list {
        width: 100%; } }
  .questions__checkbox-wrapper {
    display: inline-block;
    width: 100%; }
  .questions__checkbox {
    display: inline-block;
    margin-right: 10px;
    width: 100%; }
  .questions__button {
    margin: 0 auto;
    max-width: 500px;
    text-align: center;
    padding: 50px; }
    @media screen and (max-width: 767px) {
      .questions__button {
        padding: 50px 0;
        max-width: 100%; } }

.point-modal {
  display: none;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  position: fixed;
  top: 0;
  z-index: 999; }
  .point-modal__content {
    margin: 0 auto;
    width: 30%;
    padding: 3% 0 0;
    position: absolute;
    top: 5%;
    left: 35%;
    right: 35%;
    border-top: 10px solid #F9C026;
    border-bottom: 10px solid #F9C026;
    background: url("/images/survey/point-review.png");
    background-position: center;
    background-size: cover; }
    @media screen and (max-width: 767px) {
      .point-modal__content {
        width: 85%;
        left: 7.5%;
        right: 7.5%;
        top: 10%;
        padding: 8% 5%; } }
  .point-modal__close {
    position: absolute;
    top: -25px;
    right: -20px;
    background: #FFFFFF;
    color: #8E1F15;
    border: 4px solid #8E1F15;
    border-radius: 50%;
    padding: 8px 13px;
    font-size: 24px;
    font-weight: 700;
    cursor: pointer; }
    @media screen and (max-width: 767px) {
      .point-modal__close {
        font-size: 5.625vw;
        border-width: 2px;
        padding: 5px 9px;
        right: -15px; } }
  .point-modal__title {
    margin: 10px 0;
    color: #FB640F;
    font-size: 1.5625vw;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .point-modal__title {
        font-size: 4.375vw; } }
  .point-modal__subtitle {
    line-height: 1.5em;
    font-size: 0.9375vw;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .point-modal__subtitle {
        font-size: 3.75vw; } }
  .point-modal__earned {
    margin: 20% 0 10px;
    font-weight: 600;
    font-size: 1.5625vw;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .point-modal__earned {
        margin: 32% 0 10px;
        font-size: 5vw; } }
  .point-modal__earned-number {
    font-size: 0;
    text-align: center;
    color: #8E1F15; }
  .point-modal__amount {
    font-size: 12.5vw;
    line-height: 1em;
    font-weight: 600; }
    @media screen and (max-width: 767px) {
      .point-modal__amount {
        font-size: 32.8125vw; } }
  .point-modal__pt {
    font-size: 2.5vw;
    font-weight: 600; }
    @media screen and (max-width: 767px) {
      .point-modal__pt {
        font-size: 7.5vw; } }
  .point-modal__close-button {
    padding: 25% 0 13%;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .point-modal__close-button {
        font-size: 4.375vw; } }
  .point-modal__exit {
    cursor: pointer; }
