/**************************************************
    sass
***************************************************/
/* ---------- Media Query --------- */
/* ---------- CSS Hack --------- */
/* ---------- Common --------- */
/* ---------- Arrow --------- */
/* ---------- Image --------- */
/* ---------- Animation --------- */
.request-container {
  max-width: 75rem;
  padding: 3.75rem 1.875rem 0;
  margin: 0 auto;
  font-weight: 700;
  line-height: 1.7;
  font-style: normal;
}
@media (max-width: 767px) {
  .request-container {
    padding: 1.875rem 0.9375rem 0;
  }
}

.request-headline {
  font-size: 2.5rem;
  font-weight: 900;
  line-height: 1.7;
  margin-bottom: 1.125rem;
  font-feature-settings: "palt";
}
@media (max-width: 767px) {
  .request-headline {
    font-size: 2rem;
    margin-bottom: 0.625rem;
  }
}

.request-intro {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[2];
  grid-template-columns: repeat(2, 1fr);
  -ms-grid-rows: (auto)[3];
  grid-template-rows: repeat(3, auto);
  margin-bottom: 3.75rem;
}

.request-intro > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}

.request-intro > *:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
}

.request-intro > *:nth-child(3) {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
}

.request-intro > *:nth-child(4) {
  -ms-grid-row: 2;
  -ms-grid-column: 2;
}

.request-intro > *:nth-child(5) {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
}

.request-intro > *:nth-child(6) {
  -ms-grid-row: 3;
  -ms-grid-column: 2;
}
@media (max-width: 767px) {
  .request-intro {
    -ms-grid-columns: none;
    grid-template-columns: none;
    -ms-grid-rows: (auto)[4];
    grid-template-rows: repeat(4, auto);
  }
  .request-intro > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .request-intro > *:nth-child(2) {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .request-intro > *:nth-child(3) {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .request-intro > *:nth-child(4) {
    -ms-grid-row: 4;
    -ms-grid-column: 1;
  }
}
.request-intro > .sub {
  font-size: 2rem;
  font-weight: 900;
  line-height: 1.7;
  margin-bottom: 1.5rem;
}
@media (max-width: 767px) {
  .request-intro > .sub {
    font-size: 1.5rem;
    margin-bottom: 1.875rem;
  }
}
@media (min-width: 768px) {
  .request-intro > .img {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-area: 1/2/4/3;
    padding-top: 1.6875rem;
    width: 41.0625rem;
  }
}
@media (max-width: 767px) {
  .request-intro > .img {
    margin-bottom: 1.875rem;
  }
}
.request-intro > .statement {
  font-size: 1.25rem;
  letter-spacing: 0.05em;
  margin-bottom: 1.6875rem;
}
@media (max-width: 767px) {
  .request-intro > .statement {
    font-size: 0.9375rem;
  }
}
.request-intro > .lead {
  font-size: 1.5rem;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .request-intro > .lead {
    font-size: 1.25rem;
  }
}

.request-buttons {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 2.125rem 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.125rem;
  margin-bottom: 2.8125rem;
}
@media (max-width: 767px) {
  .request-buttons {
    -ms-grid-columns: none;
    grid-template-columns: none;
    -ms-grid-rows: (1fr)[2];
    grid-template-rows: repeat(2, 1fr);
  }
  .request-buttons > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .request-buttons > *:nth-child(2) {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
}
.request-buttons .button {
  position: relative;
  display: flex;
  flex-direction: column;
  background: #FEE4E4;
  border-radius: 12px;
  color: #323334;
  padding: 2.5rem 5rem 2.8125rem 10.625rem;
  transition: all 0.5s;
}
@media (max-width: 767px) {
  .request-buttons .button {
    padding: 1.25rem 2.5rem 1.5625rem 6.5625rem;
  }
}
.request-buttons .button::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 1.25rem;
  transform: translateY(-50%);
  width: 7.5rem;
  height: 7.5rem;
  background-repeat: no-repeat;
  background-size: cover;
}
@media (max-width: 767px) {
  .request-buttons .button::before {
    left: 0.625rem;
    width: 5rem;
    height: 5rem;
  }
}
.request-buttons .button > .title {
  font-size: 1.75rem;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .request-buttons .button > .title {
    font-size: 1.125rem;
  }
}
.request-buttons .button > .lead {
  font-size: 1rem;
}
@media (max-width: 767px) {
  .request-buttons .button > .lead {
    font-size: 0.9375rem;
    font-weight: 500;
  }
}
.request-buttons .button::after {
  content: "";
  width: 1.0625rem;
  height: 1.0625rem;
  border-top: solid 2px #323334;
  border-right: solid 2px #323334;
  position: absolute;
  right: 0.9375rem;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  transform-origin: 0 0;
}
@media (max-width: 767px) {
  .request-buttons .button::after {
    width: 0.625rem;
    height: 0.625rem;
    right: 0.625rem;
  }
}
.request-buttons .button:hover {
  text-decoration: none;
  background: #fdcbcb;
}
.request-buttons .button.-request::before {
  background-image: url(../img/request_icon1.svg);
}
.request-buttons .button.-revival::before {
  background-image: url(../img/request_icon2.svg);
}

.request-notice {
  font-size: 0.875rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .request-notice {
    font-size: 0.75rem;
    padding: 0.625rem;
  }
}
.request-notice > li {
  margin: 0.5em 0;
  text-indent: -1em;
  padding-left: 1em;
}
.request-notice a {
  color: #E67F95;
  text-decoration: underline;
}