@charset "UTF-8";
@import url("common.css");

/*
HEADER
=====================================================*/
header .header-left {
  display: flex;
  align-items: center;
}
header .header-left .header-txt {
  margin-top: 0;
  margin-left: 40px;
}
@media screen and (768px < width < 1280px) {
  header .header-left .header-txt {
    margin-left: calc(40 / 1280 * 100vw);
  }
}

header .gpt_header_logo {
  position: relative;
  width: 250px;
}
@media screen and (max-width: 1280px) {
  header .gpt_header_logo {
    width: calc(250 / 1280 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  header .gpt_header_logo {
    margin: 0;
  }
}
header .gpt_header_logo img {
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
  width: 100%;
}
@media screen and (max-width: 767px) {
  header .gpt_header_logo img {
    width: 32.53333vw;
  }
}
header .gpt_header_logo .onscroll_title {
  position: absolute;
  opacity: 0;
  top: 0;
  left: 0;
}

/*
footer
====================================*/
footer .components-inner {
  padding-top: 65px;
}
@media screen and (768px < width < 1260px) {
  footer .components-inner {
    padding-top: calc(65 / 1260 * 100vw);
  } 
}
footer .footer-site-title {
  margin-right: 178px; 
  width: 200px;
}

footer .footer-site-title .filter {
  filter: brightness(0) invert(1);
}

@media screen and (768px < width < 1260px) {
  footer .footer-site-title {
    margin-right: calc(200px / 1260 * 100vw);
  } 
}
@media screen and (max-width: 767px) {
  footer .footer-site-title {
    margin-right: 0; 
  } 
}
footer .footer-nav dl:first-of-type {
  margin-right: 90px; 
}
@media screen and (max-width: 1260px) {
  footer .footer-nav dl:first-of-type {
    margin-right: calc(90 / 1260 * 100vw);
    white-space: nowrap; 
  } 
}

.component-body .component-inner {
  position: relative;
  max-width: 1200px;
  width: 95.2381vw;
  margin: 0 auto 70px; }
  @media screen and (max-width: 1260px) {
    .component-body .component-inner {
      margin: 0 auto 5.55556vw; } }
  @media screen and (max-width: 767px) {
    .component-body .component-inner {
      width: 100%; } }

.component-body .component-lead {
  text-align: center; }
  .component-body .component-lead .component-inner {
    padding: 38px 0 58px; }
    @media screen and (max-width: 1260px) {
      .component-body .component-lead .component-inner {
        padding: 3.01587vw 0 4.60317vw; } }
    @media screen and (max-width: 767px) {
      .component-body .component-lead .component-inner {
        padding: 2.66667vw 5.33333vw 1.33333vw;
        -webkit-box-sizing: border-box;
        box-sizing: border-box; } }
  .component-body .component-lead .component-title {
    font-size: 3.2rem; }
    @media screen and (max-width: 1260px) {
      .component-body .component-lead .component-title {
        font-size: 2.53968vw; } }
    @media screen and (max-width: 767px) {
      .component-body .component-lead .component-title {
        font-size: 5.33333vw;
        letter-spacing: 0.02em;
        line-height: 1.425; } }
  .component-body .component-lead .component-lead_text {
    margin-top: 25px;
    font-size: 1.4rem;
    line-height: 2.07; }
    @media screen and (max-width: 1260px) {
      .component-body .component-lead .component-lead_text {
        margin-top: 1.98413vw;
        font-size: 1.11111vw; } }
    @media screen and (max-width: 767px) {
      .component-body .component-lead .component-lead_text {
        margin-top: 2.66667vw;
        text-align: left;
        line-height: 1.78571;
        font-size: 3.73333vw; } }

@media screen and (max-width: 767px) {
  .subpage {
    padding-top: 13.06667vw; } }

.main-head .main-head-inner {
  width: 96vw;
  height: 27.38095vw;
  margin-top: 100px;
  background-repeat: no-repeat;
  background-size: cover; }
  @media screen and (min-width: 768px) {
    .main-head .main-head-inner {
      max-height: 345px; } }
  @media screen and (max-width: 1280px) {
    .main-head .main-head-inner {
      margin-top: calc(100 / 1280 * 100vw); } }
  @media screen and (max-width: 767px) {
    .main-head .main-head-inner {
      width: 100%;
      height: 32.93333vw;
      margin-top: 0; } }

.main-head .head-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding-right: 7.66%;
  color: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  @media screen and (max-width: 767px) {
    .main-head .head-title {
      display: block;
      padding: 11.2vw 0 0;
      text-align: center; } }
  .main-head .head-title .ja {
    font-size: 3.2rem;
    letter-spacing: 0.3em;
    margin-right: 40px; }
  .main-head .head-title .en {
    font-size: 2.3rem;
    font-weight: normal;
    letter-spacing: 0.74em;
    font-family: 'Fjalla One', sans-serif;
    opacity: .6; }
  @media screen and (max-width: 1260px) {
    .main-head .head-title .ja {
      margin-right: 3.1746vw;
      font-size: 2.53968vw; }
    .main-head .head-title .en {
      font-size: 1.8254vw; } }
  @media screen and (max-width: 767px) {
    .main-head .head-title .ja {
      display: block;
      margin: 0 0 3.33333vw;
      font-size: 5.86667vw;
      line-height: 1.13636; }
    .main-head .head-title .en {
      display: block;
      font-size: 3.73333vw;
      opacity: .6; } }

@media screen and (max-width: 767px) {
  .jaonly .main-head .head-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 100%;
    padding: 0; } }

@media screen and (max-width: 767px) {
  .jaonly .main-head .head-title .ja {
    margin: 0;
    letter-spacing: 0; } }

.smallhead .main-head .main-head-inner {
  width: 96vw;
  height: 19.60317vw;
  margin-top: 100px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top; }
  @media screen and (min-width: 768px) {
    .smallhead .main-head .main-head-inner {
      max-height: 247px; } }
  @media screen and (max-width: 1280px) {
    .smallhead .main-head .main-head-inner {
      margin-top: calc(100 / 1280 * 100vw); } }
  @media screen and (max-width: 767px) {
    .smallhead .main-head .main-head-inner {
      width: 100%;
      height: 32.93333vw;
      margin-top: 0; } }

.effect-scroll {
  -webkit-transform: translateY(50px);
  transform: translateY(50px);
  -webkit-transition: all 1s ease-in-out;
  transition: all 1s ease-in-out;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  opacity: 0; }
  @media screen and (max-width: 767px) {
    .effect-scroll {
      -webkit-transform: translateY(6.66667vw);
      transform: translateY(6.66667vw); } }

.animated {
  opacity: 1 !important;
  -webkit-transform: translateY(0);
  transform: translateY(0); }

.slide {
  overflow: hidden;
  visibility: hidden; }
  .slide img {
    visibility: hidden;
    opacity: 0; }
  .slide > span {
    visibility: hidden;
    opacity: 0; }

.slide::after {
  background: #ff495b;
  bottom: 0;
  content: '';
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  -webkit-transform: translate(0, 101%);
  transform: translate(0, 101%); }

h3.animated .slide {
  -webkit-animation: slide-img 100ms cubic-bezier(0.77, 0, 0.175, 1) both;
  animation: slide-img 100ms cubic-bezier(0.77, 0, 0.175, 1) both; }

h3.animated .slide > span {
  -webkit-animation: slide-img 1600ms cubic-bezier(0.77, 0, 0.175, 1) both;
  animation: slide-img 1600ms cubic-bezier(0.77, 0, 0.175, 1) both; }

h3.animated .slide img {
  -webkit-animation: slide-img 1600ms cubic-bezier(0.77, 0, 0.175, 1) both;
  animation: slide-img 1600ms cubic-bezier(0.77, 0, 0.175, 1) both; }

h3.animated .slide::after {
  -webkit-animation: masking 1600ms cubic-bezier(0.77, 0, 0.175, 1) both;
  animation: masking 1600ms cubic-bezier(0.77, 0, 0.175, 1) both; }

@-webkit-keyframes masking {
  0% {
    -webkit-transform: translate(0, 101%);
    transform: translate(0, 101%); }
  42%, 58% {
    -webkit-transform: translate(0, 0%);
    transform: translate(0, 0%); }
  100% {
    -webkit-transform: translate(0, -101%);
    transform: translate(0, -101%); } }

@keyframes masking {
  0% {
    -webkit-transform: translate(0, 101%);
    transform: translate(0, 101%); }
  42%, 58% {
    -webkit-transform: translate(0, 0%);
    transform: translate(0, 0%); }
  100% {
    -webkit-transform: translate(0, -101%);
    transform: translate(0, -101%); } }

@-webkit-keyframes slide-img {
  from {
    opacity: 0;
    visibility: hidden; }
  to {
    opacity: 1;
    visibility: visible; } }

@keyframes slide-img {
  from {
    opacity: 0;
    visibility: hidden; }
  to {
    opacity: 1;
    visibility: visible; } }

.effect-underline:after {
  -webkit-transform-origin: center;
  transform-origin: center;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transition: .6s ease-in-out;
  transition: .6s ease-in-out;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  -webkit-transition-delay: .6s;
  transition-delay: .6s; }

.animated.effect-underline:after {
  -webkit-transform: scaleX(1);
  transform: scaleX(1); }

.effect-underline02 .ja:before {
  -webkit-transform-origin: center;
  transform-origin: center;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transition: .6s ease-in-out;
  transition: .6s ease-in-out;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  -webkit-transition-delay: .6s;
  transition-delay: .6s; }

.animated.effect-underline02 .ja:before {
  -webkit-transform: scaleX(1);
  transform: scaleX(1); }

.vision .effect-title .subtitle:before {
  -webkit-transform-origin: center;
  transform-origin: center;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transition: .6s ease-in-out;
  transition: .6s ease-in-out;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  -webkit-transition-delay: .6s;
  transition-delay: .6s; }

.vision .animated.effect-title .subtitle:before {
  -webkit-transform: scaleX(1);
  transform: scaleX(1); }

@keyframes btn_hover {
  0% {
    -webkit-transform: translate(0, 0) rotate(0deg) scaleX(0);
    transform: translate(0, 0) rotate(0deg) scaleX(0);
    -webkit-transform-origin: left center;
    transform-origin: left center; }
  35% {
    -webkit-transform: translate(0, 0) rotate(0deg) scaleX(1);
    transform: translate(0, 0) rotate(0deg) scaleX(1);
    -webkit-transform-origin: left center;
    transform-origin: left center; }
  36%, 60% {
    -webkit-transform: translate(0, 0) rotate(0deg) scaleX(1);
    transform: translate(0, 0) rotate(0deg) scaleX(1);
    -webkit-transform-origin: right center;
    transform-origin: right center; }
  to {
    -webkit-transform: translate(0, 0) rotate(0deg) scaleX(0);
    transform: translate(0, 0) rotate(0deg) scaleX(0);
    -webkit-transform-origin: right center;
    transform-origin: right center; } }

/*---------- contact ----------*/
@media screen and (max-width: 767px) {
  .news.subpage {
    padding-top: 0; } }

@media screen and (max-width: 767px) {
  .news.smallhead .head-title {
    padding-top: 8.4vw; } }

.news.smallhead .main-head-inner {
  margin-top: 0;
  background-image: url(../../../public/img/top/main_2.jpg); 
  background-position: 0 33%;}
  @media screen and (max-width: 767px) {
    .news.smallhead .main-head-inner {
      height: 26.53333vw;
      background-image: url(../../../public/img/top/main_sp_2.jpg); 
      } }

.news.smallhead .head-title .ja {
  color: #000; }
  @media screen and (max-width: 767px) {
    .news.smallhead .head-title .ja {
      margin-bottom: 2.66667vw;
      letter-spacing: 0; } }

.news.smallhead .head-title .en {
  color: #000;
  opacity: .2; }
  @media screen and (max-width: 767px) {
    .news.smallhead .head-title .en {
      letter-spacing: 0.5em; } }

.component-body .component-lead .component-inner {
  margin-bottom: 40px;
  padding-bottom: 0; }
  @media screen and (max-width: 1260px) {
    .component-body .component-lead .component-inner {
      margin-bottom: 3.1746vw; } }
  @media screen and (max-width: 767px) {
    .component-body .component-lead .component-inner {
      padding-top: 13.06667vw; } }

.main-container {
  margin-top: 44px;
  margin-bottom: 64px;}
  @media screen and (max-width: 1260px) {
    .main-container {
      margin-top: 2.77778vw; 
      margin-bottom: 2.77778vw;} }
  @media screen and (max-width: 767px) {
    .main-container {
      margin-top: 8vw; 
      margin-bottom: 8vw;} }

.main-container article {
  max-width: 1064px;
  margin: auto;
  padding: 0 32px 0 32px;
}
@media screen and (max-width: 1260px) {
  .main-container article {
      padding: 0 2.77778vw 0 2.77778vw;
    } }
@media screen and (max-width: 767px) {
  .main-container article{
    padding: 0 2.77778vw 0 2.77778vw;
    } }

.news-list{
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}
.news-article{
  position: relative;
  width: 100%;
  transition: background-color 0.2s;
  border-bottom: solid 1px #d6d6d6;
}

.news-article:hover{
  background-color: #fafafa;
}

.news-article:before {
    content: '';
    width: 10px;
    height: 10px;
    border: 0px;
    border-top: solid 2px #d6d6d6;
    border-right: solid 2px #d6d6d6;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: -6px;
    margin-right: 32px; 
}

.news-article a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 16px 32px;
  box-sizing: border-box;
  border-radius: 8px;
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
}

@media screen and (max-width: 1260px) {
    .news-article a {
        padding: 2.5vw 4vw;
      } 
  }
@media screen and (max-width: 767px) {
    .news-article a {
      padding: 2.5vw 4vw
    } 
  }

.news-date {
  color: #999;
  font-family: "Pathway Gothic One", sans-serif;
  font-size: 1.7rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1260px) {
  .news-date {
    font-size: calc(18 / 1260 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .news-date {
    font-size: calc(30 / 750 * 100vw);
  }
}
.news-title {
  margin-top: 8px;
  margin-right: 48px;
  font-size: 1.7rem;
  font-weight: 700;
  line-height: calc(31 / 20);
  color: #000;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 2;   /* ここで2行までに指定 */
  line-clamp: 2;           /* 互換性用（モダンブラウザは-webkit-でOK） */
}
@media screen and (max-width: 1260px) {
  .news-title {
    margin-top: calc(12 / 1260 * 100vw);
    font-size: calc(21 / 1260 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .news-title {
    margin-top: calc(10 / 750 * 100vw);
    font-size: calc(23 / 750 * 100vw);
    line-height: calc(46 / 30);
  }
}

.news-link{
  font-size: 1.2rem;
  color: #9B9B9B;
  font-weight: 600;
  text-decoration:underline;
  display: inline-block;
  margin-top: 4px;
}


#pager {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin: 24px 0;
  align-items: center;
}

#pager .pager-btn {
  border: 1px solid #FF6D5F;
  background: #FF6D5F;
  color: #fff;
  padding: 4px 8px;
  border-radius: 12px;
  cursor: pointer;
  transition: background 0.2s;
  min-width: 40px;
  font-size: 18px;
  font-weight: 500;
  font-family: "Pathway Gothic One", sans-serif;
}
#pager .pager-btn:hover {
  background: #FFB4AD;
  color: #fff;
  border-color: #FFB4AD;
}

#pager .pager-btn.selected, .pager-btn:disabled {
  background: #FFB4AD;
  color: #fff;
  border-color: #FFB4AD;
  cursor: default;
}

#pager .pager-ellipsis {
  padding: 0 0.7em;
  color: #6b7280;
  font-size: 1.2em;
  user-select: none;
}

::-webkit-input-placeholder {
  /* WebKit, Blink, Edge */
  color: #d6d6d6; }

:-ms-input-placeholder {
  /* Internet Explorer 10-11 */
  color: #d6d6d6; }

::-ms-input-placeholder {
  /* Others */
  color: #d6d6d6; }

::placeholder {
  /* Others */
  color: #d6d6d6; }

.component-contact_btm {
  margin: 55px 0 75px;
  text-align: center; }
  @media screen and (max-width: 1260px) {
    .component-contact_btm {
      margin: 4.36508vw 0 5.95238vw; } }
  @media screen and (max-width: 767px) {
    .component-contact_btm {
      margin: 8.66667vw 0 9.6vw; } }
  .component-contact_btm p {
    font-size: 1.4rem;
    line-height: 2.07143; }
    @media screen and (max-width: 1260px) {
      .component-contact_btm p {
        font-size: 1.11111vw; } }
    @media screen and (max-width: 767px) {
      .component-contact_btm p {
        font-size: 3.73333vw;
        line-height: 1.42857; } }
  .component-contact_btm .form-submit {
    width: 280px;
    margin: 22px auto 0;
    text-align: center; }
    @media screen and (max-width: 1260px) {
      .component-contact_btm .form-submit {
        width: 22.22222vw;
        margin: 1.74603vw auto 0; } }
    @media screen and (max-width: 767px) {
      .component-contact_btm .form-submit {
        width: 48vw;
        margin: 4.66667vw auto 0; } }
    .component-contact_btm .form-submit button {
      position: relative;
      padding: 18px 0;
      border-radius: 7px;
      overflow: hidden;
      width: 100%;
      height: 100%;
      font-weight: bold;
      font-size: 1.6rem;
      letter-spacing: 0.2em;
      color: #fff;
      background-image: -webkit-gradient(linear, right top, left top, from(#ff475d), color-stop(48%, #ff5454), to(#ff785d));
      background-image: -webkit-linear-gradient(right, #ff475d 0%, #ff5454 48%, #ff785d 100%);
      background-image: linear-gradient(-90deg, #ff475d 0%, #ff5454 48%, #ff785d 100%);
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      z-index: 1; }
      @media screen and (max-width: 1260px) {
        .component-contact_btm .form-submit button {
          padding: 1.42857vw 0;
          font-size: 1.26984vw; } }
      @media screen and (max-width: 767px) {
        .component-contact_btm .form-submit button {
          padding: 2.53333vw;
          font-size: 4vw; } }
    .component-contact_btm .form-submit button:before {
      content: '';
      width: 6px;
      height: 6px;
      border: 0px;
      border-top: solid 2px #ffffff;
      border-right: solid 2px #ffffff;
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg);
      position: absolute;
      top: 50%;
      right: 0;
      margin-top: -4px;
      margin-right: 23px; }
      @media screen and (max-width: 1260px) {
        .component-contact_btm .form-submit button:before {
          width: 0.47619vw;
          height: 0.47619vw;
          margin: -0.31746vw 1.8254vw 0 0; } }
      @media screen and (max-width: 767px) {
        .component-contact_btm .form-submit button:before {
          border-width: 1px;
          width: 1.86667vw;
          height: 1.86667vw;
          margin-top: -1.06667vw;
          margin-right: 3.33333vw; } }
    .component-contact_btm .form-submit button:after {
      content: "";
      width: 100%;
      height: 100%;
      background-color: #ff9072;
      position: absolute;
      border-radius: 7px;
      top: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      z-index: -1;
      -webkit-transform-origin: left center;
      transform-origin: left center;
      -webkit-transform: scaleX(0);
      transform: scaleX(0); }
    .component-contact_btm .form-submit button:hover:after {
      -webkit-animation: btn_hover 0.6s cubic-bezier(0.04, 0.435, 0.315, 0.9) both;
      animation: btn_hover 0.6s cubic-bezier(0.04, 0.435, 0.315, 0.9) both; }

header {
  position: static;
  background: transparent; }
  header .header_inner {
    height: 100px;
    position: static;
    background: transparent;
    border: none; }
    @media screen and (max-width: 1260px) {
      header .header_inner {
        height: 7.93651vw; } }
    @media screen and (max-width: 767px) {
      header .header_inner {
        height: 13.06667vw; } }

footer .components-inner {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-top: 35px;
  margin-bottom: 35px; }
  @media screen and (max-width: 1260px) {
    footer .components-inner {
      padding-top: 2.38095vw;
      margin-bottom: 2.38095vw; } }
  @media screen and (max-width: 767px) {
    footer .components-inner {
      -webkit-box-pack: start;
      -ms-flex-pack: start;
      justify-content: flex-start;
      padding-top: 4.4vw;
      margin-bottom: 4.26667vw; } }
  footer .components-inner .footer-site-title {
    margin-right: 0; }

.confirm .component-contact_btm {
  margin-bottom: 25px; }
  @media screen and (max-width: 1260px) {
    .confirm .component-contact_btm {
      margin-bottom: 1.98413vw; } }
  @media screen and (max-width: 767px) {
    .confirm .component-contact_btm {
      margin-bottom: 4vw; } }

.confirm .component-contact_back {
  margin-bottom: 75px; }
  @media screen and (max-width: 1260px) {
    .confirm .component-contact_back {
      margin-bottom: 5.95238vw; } }
  @media screen and (max-width: 767px) {
    .confirm .component-contact_back {
      margin-bottom: 9.6vw; } }

.confirm .back-btn {
  position: relative;
  width: 280px;
  margin: 0 auto;
  border-radius: 7px;
  border: 2px solid #ff495c;
  text-align: center;
  background: #fff;
  overflow: hidden;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  @media screen and (max-width: 1260px) {
    .confirm .back-btn {
      width: 22.22222vw; } }
  @media screen and (max-width: 767px) {
    .confirm .back-btn {
      width: 48vw;
      margin: 0 auto;
      border-width: 0.31746vw; } }
  .confirm .back-btn button {
    display: block;
    width: 100%;
    height: 100%;
    padding: 8px;
    font-size: 1.6rem;
    font-weight: bold;
    color: #ff495c;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    @media screen and (max-width: 1260px) {
      .confirm .back-btn button {
        padding: 0.63492vw;
        font-size: 1.26984vw; } }
    @media screen and (max-width: 767px) {
      .confirm .back-btn button {
        padding: 0.93333vw;
        font-size: 4vw; } }
  .confirm .back-btn span {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    z-index: 2; }
  .confirm .back-btn button span:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 10px;
    width: 6px;
    height: 6px;
    margin: auto;
    border-left: 2px solid #ff495c;
    border-bottom: 2px solid #ff495c;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg); }
    @media screen and (max-width: 1260px) {
      .confirm .back-btn button span:before {
        width: 0.47619vw;
        height: 0.47619vw;
        left: 0.79365vw; } }
    @media screen and (max-width: 767px) {
      .confirm .back-btn button span:before {
        border-width: 1px;
        width: 1.86667vw;
        height: 1.86667vw;
        left: 1.33333vw; } }
  .confirm .back-btn button:after {
    content: "";
    width: calc(100% + 4px);
    height: calc(100% + 4px);
    background-color: #ff495c;
    position: absolute;
    border-radius: 7px;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    z-index: 1;
    -webkit-transform-origin: left center;
    transform-origin: left center;
    -webkit-transform: scaleX(0);
    transform: scaleX(0); }
  .confirm .back-btn button:hover {
    -webkit-animation: btn_hover_color 0.6s cubic-bezier(0.04, 0.435, 0.315, 0.9) both;
    animation: btn_hover_color 0.6s cubic-bezier(0.04, 0.435, 0.315, 0.9) both; }
  .confirm .back-btn button:hover span:before {
    -webkit-animation: btn_hover_arrow 0.6s cubic-bezier(0.04, 0.435, 0.315, 0.9) both;
    animation: btn_hover_arrow 0.6s cubic-bezier(0.04, 0.435, 0.315, 0.9) both; }
  .confirm .back-btn button:hover:after {
    -webkit-animation: btn_hover 0.6s cubic-bezier(0.04, 0.435, 0.315, 0.9) both;
    animation: btn_hover 0.6s cubic-bezier(0.04, 0.435, 0.315, 0.9) both; }

@-webkit-keyframes btn_hover_color {
  0% {
    color: #ff495c; }
  35%, 36%, 60% {
    color: #fff; }
  to {
    color: #ff495c; } }

@keyframes btn_hover_color {
  0% {
    color: #ff495c; }
  35%, 36%, 60% {
    color: #fff; }
  to {
    color: #ff495c; } }

@-webkit-keyframes btn_hover_arrow {
  0% {
    border-color: #ff495c; }
  35%, 36%, 60% {
    border-color: #fff; }
  to {
    border-color: #ff495c; } }

@keyframes btn_hover_arrow {
  0% {
    border-color: #ff495c; }
  35%, 36%, 60% {
    border-color: #fff; }
  to {
    border-color: #ff495c; } }