@charset "UTF-8";
html {
  font-size: 10px;
  box-sizing: border-box;
  color: #333333;
}

@media screen and (min-width: 767px) {
  html {
    font-size: 0.90909vw;
  }
}

@media (min-width: 1100px) {
  html {
    font-size: 10px;
  }
}

a {
  text-decoration: none;
  color: #333333;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
  object-fit: cover;
}

.body__wrapper {
  position: relative;
  max-width: 128rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
}

.header__wrapper {
  background-color: #F6F6F6;
}

.header__inner {
  max-width: 102.9rem;
  width: 100%;
  height: 47.2rem;
  margin-left: auto;
  margin-right: auto;
  background-image: url(../images/fv.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}

@media screen and (max-width: 767px) {
  .header__inner {
    max-width: 60rem;
    background-size: cover;
    height: 35.7rem;
  }
}

.header__title {
  font-size: 2rem;
  position: absolute;
  top: 1.5rem;
  left: 3.7rem;
}

@media screen and (max-width: 767px) {
  .header__title {
    font-size: 1.4rem;
    top: 0.3rem;
    left: 0.8rem;
  }
}

.footer__inner {
  background-color: #F6F6F6;
  padding: 6.8rem 0 7.2rem;
}

@media screen and (max-width: 767px) {
  .footer__inner {
    padding: 4.8rem 0 7.2rem;
  }
}

.footer__flex {
  display: flex;
  justify-content: space-between;
  width: 59%;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 767px) {
  .footer__flex {
    display: block;
  }
}

.footer__text {
  font-size: 1.6rem;
  margin-bottom: 2rem;
}

@media screen and (max-width: 767px) {
  .footer__text {
    font-size: 1.4rem;
    max-width: 18.2rem;
    margin-right: auto;
    margin-left: auto;
  }
}

@media screen and (max-width: 767px) {
  .footer__textSp {
    display: none;
  }
}

.footer__logoArea {
  text-align-last: right;
}

@media screen and (max-width: 767px) {
  .footer__logoArea {
    text-align-last: center;
  }
}

.footer__logoBox {
  margin-top: 8.5rem;
}

@media screen and (max-width: 767px) {
  .footer__logoBox {
    margin-top: 5.5rem;
  }
}

.footer__logo {
  margin-left: auto;
  width: 9rem;
  padding: 0.5rem 2rem;
}

@media screen and (max-width: 767px) {
  .footer__logo {
    padding: 0;
    margin: 4rem auto 0;
    width: 7rem;
  }
}

.footer__lead {
  font-size: 1.6rem;
  color: #8E8E8E;
  margin: 1rem 1rem 0 0;
}

@media screen and (max-width: 767px) {
  .footer__lead {
    font-size: 1.2rem;
    text-align: center;
    margin: 1.5rem 0 0 0;
  }
}

.font__bold {
  font-family: 'M PLUS Rounded 1c', sans-serif;
  font-weight: bold;
}

.font__med {
  font-family: 'M PLUS Rounded 1c', sans-serif;
  font-weight: normal;
}

.font__light {
  font-family: 'M PLUS Rounded 1c', sans-serif;
  font-weight: lighter;
}

/* 小文字を大文字に変換 */
.font__up {
  text-transform: uppercase;
}

/* 頭文字だけ大文字に変換 */
.offering__inner {
  position: absolute;
  z-index: 40;
  top: 16.5rem;
  left: 50%;
  width: 56.4rem;
  margin-left: -28.2rem;
}

@media screen and (max-width: 767px) {
  .offering__inner {
    top: 10rem;
  }
}

@media screen and (max-width: 540px) {
  .offering__inner {
    top: 9rem;
  }
}

@media screen and (max-width: 390px) {
  .offering__inner {
    width: 21.4rem;
    top: 9rem;
    margin-left: -10.7rem;
  }
}

.offering__text {
  font-size: 3.1rem;
  margin-bottom: 2rem;
  z-index: 50;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .offering__text {
    font-size: 1.7rem;
    margin-bottom: 1rem;
  }
}

.offering__title {
  font-size: 4.7rem;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .offering__title {
    font-size: 2.4rem;
    line-height: 1.3;
  }
}

@media screen and (max-width: 767px) {
  .offering__span {
    display: block;
  }
}

.offering__imgArea {
  position: absolute;
  top: 9rem;
  left: 0;
  max-width: 140rem;
}

@media screen and (max-width: 767px) {
  .offering__imgArea {
    top: 0;
  }
}

.offering__imgBox {
  width: 140rem;
}

@media screen and (max-width: 767px) {
  .offering__imgBox {
    width: 124rem;
  }
}

.offering__img {
  opacity: 0.5;
  width: 100%;
}

.offering__balloonArea {
  position: absolute;
  top: -14.3rem;
  left: -13rem;
}

@media screen and (max-width: 767px) {
  .offering__balloonArea {
    display: none;
  }
}

.offering__balloonBox {
  width: 21.5rem;
  transform: rotate(-6deg);
}

/* 左から出てくる クラス名 fadeLeft*/
.fadeLeft {
  animation-name: fadeLeftAnime;
  animation-duration: 2s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeLeftAnime {
  from {
    opacity: 0;
    transform: translateX(-500px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.fadeLeft2 {
  animation-name: fadeLeftAnime;
  animation-duration: 2s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeLeftAnime {
  from {
    opacity: 0;
    transform: translateX(-1000px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.information__inner {
  display: inline-block;
  position: relative;
  top: -3rem;
  left: 27%;
  z-index: 40;
}

@media screen and (max-width: 767px) {
  .information__inner {
    top: -10rem;
    left: 0;
    display: block;
    max-width: 30rem;
    margin-left: auto;
    margin-right: auto;
    margin-top: 8rem;
  }
}

.information__imgBox {
  width: 41rem;
  position: absolute;
  top: -12rem;
  left: -11.5rem;
}

@media screen and (max-width: 767px) {
  .information__imgBox {
    width: 32rem;
    top: -10rem;
    left: -1.5rem;
  }
}

.information__content {
  max-width: 52rem;
  /* background-color: #F0DACF; */
  background-color: #BB2B11;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 3rem 2rem 3rem 3rem;
  border-radius: 2.6rem;
  border: 1px solid #C9B9B1;
  box-shadow: 0px 4px #C9B9B1;
}

@media screen and (max-width: 767px) {
  .information__content {
    max-width: 35rem;
    padding: 2rem 0rem;
    box-shadow: 0px 4px #C9B9B1;
  }
}

.information__text2 {
  /* font-size: 1.6rem; */
  font-size: 3rem;
  color: #fff;
  line-height: 1.6;
  letter-spacing: 0.08em;
  margin-bottom: 1.35rem;
}

@media screen and (max-width: 767px) {
  .information__text2 {
    font-size: 1.8rem;
    letter-spacing: normal;
  }
}

.information__name2 {
  font-size: 1.6rem;
  color: #fff;
  text-align: center;
  
}
.information__name2 br {
  display: none;
}

@media screen and (max-width: 767px) {
  .information__name2 {
    font-size: 1.5rem;
    line-height: 1.6;
    letter-spacing: normal;
  }
  .information__name2 br{
    display: block;
  }
}

.information__btnArea {
  position: absolute;
  top: 68rem;
  left: 31%;
  z-index: 50;
}

@media screen and (max-width: 767px) {
  .information__btnArea {
    position: relative;
    top: -11.5rem;
    left: 0;
    max-width: 29rem;
    margin: 3rem auto 0;
  }
}

@media screen and (max-width: 767px) {
  .information__btnPc {
    display: none;
  }
}

.information__btnSp {
  display: none;
}

@media screen and (max-width: 767px) {
  .information__btnSp {
    display: block;
  }
}

.concept__wrapper {
  max-width: 85.5rem;
  width: 100%;
  margin: 16rem auto 8rem;
}

@media screen and (max-width: 767px) {
  .concept__wrapper {
    margin: -6rem auto 3rem;
  }
}

.concept__imgArea {
  position: relative;
  max-width: 66rem;
  margin-right: auto;
  margin-left: auto;
}

@media screen and (max-width: 767px) {
  .concept__imgArea {
    max-width: 40.4rem;
  }
}

.concept__imgBox {
  max-width: 42.6rem;
}

@media screen and (max-width: 767px) {
  .concept__imgBox {
    max-width: 24.1rem;
    margin-left: 5%;
  }
}

.concept__imgBox2 {
  max-width: 27.7rem;
  position: absolute;
  top: 15.5rem;
  left: 58%;
  z-index: 20;
}

@media screen and (max-width: 767px) {
  .concept__imgBox2 {
    max-width: 14.8rem;
    top: 7rem;
    left: 60%;
  }
}

.concept__imgArea2 {
  position: relative;
  max-width: 68rem;
  margin-right: auto;
  margin-left: auto;
}

@media screen and (max-width: 767px) {
  .concept__imgArea2 {
    max-width: 40.4rem;
    margin-bottom: 35rem;
  }
}

.concept__imgBox4 {
  max-width: 26.8rem;
}

@media screen and (max-width: 767px) {
  .concept__imgBox4 {
    max-width: 18.3rem;
    position: absolute;
    z-index: 20;
    margin-left: 5%;
  }
}

.concept__imgBox5 {
  max-width: 25.5rem;
  position: absolute;
  top: 18rem;
  left: 42%;
  z-index: 20;
}

@media screen and (max-width: 767px) {
  .concept__imgBox5 {
    max-width: 15rem;
    top: 5rem;
    left: 46%;
    z-index: 10;
  }
}

.concept__imgBox3 {
  max-width: 18.7rem;
  position: absolute;
  top: 28.5rem;
  left: 72.5%;
  z-index: 10;
}

@media screen and (max-width: 767px) {
  .concept__imgBox3 {
    max-width: 10rem;
    top: 13rem;
    left: 72%;
    z-index: 5;
  }
}

.concept__img {
  width: 100%;
}

.concept__content {
  margin-top: 13.3rem;
}

@media screen and (max-width: 767px) {
  .concept__content {
    margin-top: 8rem;
  }
}

.concept__title {
  font-size: 3.3rem;
  text-align: center;
  margin-bottom: 2.7rem;
}

@media screen and (max-width: 767px) {
  .concept__title {
    font-size: 2.8rem;
    margin-bottom: 1.5rem;
  }
}

.concept__text {
  font-size: 1.6rem;
  line-height: 2.2;
  letter-spacing: 1.2px;
  max-width: 66rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 3rem;
}

@media screen and (max-width: 767px) {
  .concept__text {
    width: 88%;
    margin-bottom: 2rem;
    line-height: 2;
  }
}

.concept__nextArea {
  max-width: 76rem;
  margin-bottom: 3rem;
}

@media screen and (max-width: 767px) {
  .concept__nextArea {
    margin-right: 1rem;
    margin-bottom: 6rem;
  }
}

.concept__next {
  max-width: 27.7rem;
  width: 100%;
  margin-left: auto;
  position: relative;
}

.concept__next::before {
  content: "";
  /*絶対配置で線の位置を決める*/
  position: absolute;
  bottom: 0;
  /*線の形状*/
  width: 100%;
  height: 1px;
  background: #333;
}

.concept__next::after {
  content: "";
  margin: auto;
  position: absolute;
  top: 2.5rem;
  bottom: 0;
  left: 95%;
  width: 13px;
  /* くの字を山なりに見た時、左側の長さ */
  border-top: 1px solid #000;
  /* くの字を山なりに見た時、左側の太さと色 */
  transform: rotate(45deg);
  /* くの字の向き */
}

.concept__link {
  font-size: 1.6rem;
  line-height: 2;
}

.concept__tag {
  font-size: 1.3rem;
  line-height: 2;
  text-align: right;
}

.support__inner {
  padding: 10.5rem 0 13rem;
  background-image: url(../images/require-bg2.png);
  background-repeat: no-repeat;
  background-size: cover;
}

@media screen and (max-width: 767px) {
  .support__inner {
    padding: 8.2rem 0 14rem;
  }
}

.support__title {
  font-size: 3.3rem;
  text-align: center;
  position: relative;
}

@media screen and (max-width: 767px) {
  .support__title {
    font-size: 2.8rem;
  }
}

.support__title::after {
  content: "";
  position: absolute;
  background-image: url(../images/boder_1.png);
  background-repeat: no-repeat;
  background-size: contain;
  top: 5rem;
  left: 25%;
  width: 50%;
  /*画像の幅*/
  height: 3rem;
}

@media screen and (max-width: 767px) {
  .support__title::after {
    left: 7%;
    width: 84%;
  }
}

.support__box {
  margin-top: 5rem;
}

@media screen and (max-width: 767px) {
  .support__box {
    margin-top: 5rem;
  }
}

.support__unit {
  display: flex;
  align-items: baseline;
  max-width: 66rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 767px) {
  .support__unit {
    max-width: 38rem;
  }
}

.support__unit2 {
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .support__unit2 {
    max-width: 38rem;
  }
}

.support__lead {
  font-size: 1.8rem;
  margin-right: 3.1rem;
  
}

@media screen and (max-width: 767px) {
  .support__lead {
    font-size: 1.6rem;
    line-height: 1.5;
    /* width: 44%; */
    width: 25%;
    margin: 0 1rem 2rem 0;
  }
}

.support__lead2 {
  margin-right: 1.5rem;
}

@media screen and (max-width: 767px) {
  .support__lead2 {
    width: 22%;
    margin-right: 0;
  }
}

.support__list {
  font-size: 1.6rem;
  line-height: 2;
  
}

@media screen and (max-width: 767px) {
  .support__list {
    line-height: 1.8;
    width: 65%;
    font-size: 1.4rem;
  }
  .support__list br {display: none;}
}

.support__list2 {
  line-height: 0.5;
}
@media screen and (max-width: 767px) {
  .support__list2 {
    width: 100%;
    font-size: 1.4rem;
  }
}

.text_center{
  text-align: center;
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .text_center {
    width: 100%;
  }
}


.support__list2::before {
  content: url(../images/light2.png);
  vertical-align: middle;
  display: inline-block;
  transform: scale(0.4);
}

@media screen and (max-width: 767px) {
  .support__list2::before {
    transform: scale(0.3);
  }
}

.support__sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .support__sp {
    display: block;
    max-width: 19rem;
    margin: 3rem auto 0;
  }
}

@media screen and (max-width: 767px) {
  .support__textSp {
    font-size: 1.8rem;
  }
}

.support__btnArea {
  margin: 6rem 0 9rem;
}

@media screen and (max-width: 767px) {
  .support__btnArea {
    max-width: 37.1rem;
    margin-left: auto;
    margin-right: auto;
    margin-top: 2rem;
    margin: 0 auto;
  }
}

@media screen and (max-width: 767px) {
  .support__btnPc {
    display: none;
  }
}

.support__btnSp {
  display: none;
}

@media screen and (max-width: 767px) {
  .support__btnSp {
    display: block;
  }
}

.support__pseudo {
  position: relative;
  text-align: center;
  z-index: 10;
}

.support__pseudo::before {
  content: '';
  display: inline-block;
  background-image: url(../images/gg_sapo_022.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 9.6rem;
  height: 9.6rem;
  position: absolute;
  z-index: 20;
  top: -4rem;
  left: 27%;
}

@media screen and (max-width: 767px) {
  .support__pseudo::before {
    left: 15%;
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .support__pseudo {
    text-align: inherit;
    max-width: 33rem;
    margin: 1.5rem auto 0;
  }
}

.flow__inner {
  background-size: cover;
}

.flow__head {
  text-align: center;
}

.flow__title {
  font-size: 3.3rem;
  display: inline-block;
  position: relative;
  padding: 0 20rem;
  margin-bottom: 4.5rem;
}

@media screen and (max-width: 767px) {
  .flow__title {
    font-size: 2.8rem;
    padding: 0;
    margin-bottom: 2rem;
  }
}

.flow__title::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  display: inline-block;
  width: 16rem;
  height: 0.1rem;
  background-color: #666;
}

@media screen and (max-width: 767px) {
  .flow__title::before {
    width: 2.4rem;
    left: -4rem;
  }
}

.flow__title::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  display: inline-block;
  width: 16rem;
  height: 0.1rem;
  background-color: #666;
}

@media screen and (max-width: 767px) {
  .flow__title::after {
    width: 2.4rem;
    right: -4rem;
  }
}

.flow__imbArea {
  max-width: 80.9rem;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .flow__imbArea {
    max-width: 23rem;
    flex-direction: column;
  }
}

.flow__pseudo {
  position: relative;
}

.flow__pseudo::after {
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -3rem;
  width: 13px;
  /* くの字を山なりに見た時、左側の長さ */
  height: 13px;
  /* くの字を山なりに見た時、右側の長さ */
  border-top: 2px solid #707070;
  /* くの字を山なりに見た時、左側の太さと色 */
  border-right: 2px solid #707070;
  /* くの字を山なりに見た時、右側の太さと色 */
  transform: rotate(45deg);
  /* くの字の向き */
}

@media screen and (max-width: 767px) {
  .flow__pseudo::after {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .flow__pseudo {
    position: static;
  }
}

.flow__imgBox {
  max-width: 23rem;
  margin-bottom: 1.7rem;
}

@media screen and (max-width: 767px) {
  .flow__imgBox {
    margin-bottom: 1rem;
  }
}

@media screen and (max-width: 767px) {
  .flow__imgBox2 {
    margin-top: 1rem;
  }
}

@media screen and (max-width: 767px) {
  .flow__imgBox3 {
    margin-top: 2rem;
  }
}

.flow__img {
  width: 100%;
}

.flow__text {
  font-size: 1.6rem;
  max-width: 21rem;
  margin: 5rem auto 0;
  line-height: 1.3;
}

@media screen and (max-width: 767px) {
  .flow__text {
    margin: 1rem auto 1rem;
  }
}

.flow__text2 {
  text-align: center;
}

@media screen and (max-width: 767px) {
  .flow__text2 {
    margin-top: 2rem;
  }
}

.back__img {
  background-image: url(../images/bg-img022.jpg);
  height: 50%;
  padding: 0%;
  background-attachment: fixed;
  background-size: cover;
  background-repeat: no-repeat;
}

.recommend__inner {
  padding: 22rem 0 14rem;
  background-image: url(../images/support_ppl-bg.png);
  background-size: cover;
  background-repeat: no-repeat;
}

@media screen and (max-width: 767px) {
  .recommend__inner {
    padding: 9rem 0 7.3rem;
  }
}

.recommend__title {
  font-size: 3.3rem;
  text-align: center;
  position: relative;
  margin: 8rem 0 4.5rem;
}

@media screen and (max-width: 767px) {
  .recommend__title {
    font-size: 2.3rem;
    margin: 8rem 0 5.5rem;
  }
}

.recommend__title::after {
  content: "";
  position: absolute;
  background-image: url(../images/boder_1.png);
  background-repeat: no-repeat;
  background-size: contain;
  top: 5rem;
  left: 25%;
  width: 50%;
  /*画像の幅*/
  height: 3rem;
}

@media screen and (max-width: 767px) {
  .recommend__title::after {
    left: 7%;
    width: 84%;
  }
}

.recommend__pseudo {
  position: relative;
  margin-right: 2px;
}

.recommend__pseudo::before {
  content: '';
  display: inline-block;
  background-image: url(../images/light.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 6rem;
  height: 7.7rem;
  position: absolute;
  top: -4.4rem;
  left: 23%;
}

@media screen and (max-width: 767px) {
  .recommend__pseudo::before {
    width: 5.2rem;
    height: 5.7rem;
    top: -6rem;
    left: 7%;
  }
}

.recommend__imgBox {
  max-width: 90.6rem;
  margin-right: auto;
  margin-left: auto;
}

@media screen and (max-width: 767px) {
  .recommend__imgBox {
    max-width: 39.6rem;
  }
}

.registration__inner {
  padding: 5rem 0 6rem;
  background-image: url(../images/btom_img.jpg);
  background-size: cover;
  background-repeat: no-repeat;
}

@media screen and (max-width: 767px) {
  .registration__inner {
    padding: 5rem 0 4.5rem;
  }
}

.registration__textArea {
  margin-top: 2rem;
}

@media screen and (max-width: 767px) {
  .registration__textArea {
    max-width: 40rem;
    margin-left: auto;
    margin-right: auto;
  }
}

.registration__text2 {
  font-size: 2rem;
  text-align: center;
  line-height: 1.5;
}

.registration__text {
  font-size: 2rem;
  text-align: center;
  line-height: 1.5;
  position: relative;
}

.registration__text::before {
  position: relative;
  display: inline-block;
  content: "";
  background: #707070;
  width: 0.2rem;
  height: 5.7rem;
  margin: 0 2em;
  margin-top: -1.2em;
  vertical-align: middle;
  transform: rotate(-24deg);
}

@media screen and (max-width: 767px) {
  .registration__text::before {
    height: 4.7rem;
    margin: 0 1.5em;
  }
}

.registration__text::after {
  position: relative;
  display: inline-block;
  content: "";
  background: #707070;
  width: 0.2rem;
  height: 5.7rem;
  margin: 0 2em;
  margin-top: -1.2em;
  vertical-align: middle;
  transform: rotate(24deg);
}

@media screen and (max-width: 767px) {
  .registration__text::after {
    height: 4.7rem;
    margin: 0 1.5em;
  }
}

.registration__span {
  background: linear-gradient(transparent 35%, #fff 35%);
}

.registration__btnAre {
  text-align: center;
  margin-top: 1rem;
}

@media screen and (max-width: 767px) {
  .registration__btnAre {
    text-align: inherit;
    max-width: 33rem;
    margin: 3rem auto 0;
  }
}

@media screen and (max-width: 767px) {
  .registration__btnPc {
    display: none;
  }
}

.registration__btnSp {
  display: none;
}

@media screen and (max-width: 767px) {
  .registration__btnSp {
    display: block;
  }
}

.img_radius {
  border-radius: 28px;
}

@media screen and (max-width: 767px) {
  .img_radius {
    border-radius: 15px;
  }
}

.btn__top {
  font-size: 2.2rem;
  color: #AC3820;
  position: relative;
  border-radius: 25px;
  border: 3px solid #AC3820;
  padding: 1.8rem 5rem 1.6rem 11rem;
  /*アニメーションの設定 1*/
  transition: all .4s;
  /*アニメーションの設定 2*/
}

@media screen and (max-width: 767px) {
  .btn__top {
    font-size: 2rem;
    padding: 1.5rem 7rem 1.5rem 10rem;
    border-radius: 30px;
  }
}

.btn__top::before {
  content: "";
  position: absolute;
  width: 3.6rem;
  height: 2.7rem;
  display: inline-block;
  background-image: url(../images/btn_parts2.png);
  background-size: contain;
  background-repeat: no-repeat;
  top: 2rem;
  left: 5rem;
}

@media screen and (max-width: 767px) {
  .btn__top::before {
    top: 3rem;
    left: 3.5rem;
  }
}

.btn__top:hover {
  transform: translateY(-6px);
  box-shadow: 0 6px 6px rgba(0, 0, 0, 0.3);
}

@media screen and (max-width: 767px) {
  .btn__topSp {
    display: inline-block;
    align-items: center;
    font-size: 2.2rem;
    line-height: 1.5;
    color: #AC3820;
    position: relative;
    border-radius: 15px;
    border: 3px solid #AC3820;
    /*アニメーションの設定 1*/
    transition: all .4s;
    /*アニメーションの設定 2*/
    font-size: 2.1rem;
    padding: 1.5rem 1rem 1.5rem 5rem;
    border-radius: 30px;
  }
}

.btn__topSp::before {
  content: "";
  position: absolute;
  width: 3.6rem;
  height: 2.7rem;
  display: inline-block;
  background-image: url(../images/btn_parts2.png);
  background-size: contain;
  background-repeat: no-repeat;
  top: 1.5rem;
  left: 3.2rem;
}

@media screen and (max-width: 767px) {
  .btn__topSp::before {
    width: 2.4rem;
    top: 3.5rem;
    left: 1.5rem;
  }
}

.btn__topSp:hover {
  transform: translateY(-6px);
  box-shadow: 0 6px 6px rgba(0, 0, 0, 0.3);
}

.btn__span {
  /* padding-left: 5rem; */
}

.btn {
  display: inline-block;
  align-items: center;
  padding: 2.2rem 3rem 2.2rem 7rem;
  box-shadow: 0 5px 0 rgba(0, 0, 0, 0.3);
  color: #FFFFFF;
  font-size: 2.4rem;
  text-shadow: 2px 2px 1px #0000004D;
  background-image: linear-gradient(to top, #A5422F, #CF543B, #EA6C54, #EA6C54, #CF543B);
  border-radius: 40px;
  line-height: 1.25;
  border: 1px solid #AC3820;
  position: relative;
}

@media screen and (max-width: 767px) {
  .btn {
    font-size: 2.1rem;
    padding: 1.5rem 7rem 1.5rem 10rem;
    border-radius: 30px;
  }
}

.btn::before {
  content: "";
  position: absolute;
  width: 3.6rem;
  height: 2.7rem;
  display: inline-block;
  background-image: url(../images/btn_parts.png);
  background-size: contain;
  background-repeat: no-repeat;
  top: 4rem;
  left: 2.2rem;
  filter: drop-shadow(5px 5px 4px rgba(0, 0, 0, 0.3));
}

@media screen and (max-width: 767px) {
  .btn::before {
    top: 3rem;
    left: 3.5rem;
  }
}

.btn:hover {
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.3);
  transition: 0.3s;
  transform: translate3d(0, 5px, 0);
}

.btn__cat {
  display: inline;
  font-size: 1.8rem;
}

.btn_2 {
  display: inline-block;
  align-items: center;
  text-align: center;
  padding: 2.2rem 10.2rem 3.2rem 9rem;
  box-shadow: 0 5px 0 rgba(0, 0, 0, 0.3);
  color: #FFFFFF;
  font-size: 2.4rem;
  text-shadow: 2px 2px 1px #0000004D;
  background-image: linear-gradient(to top, #A5422F, #CF543B, #EA6C54, #EA6C54, #CF543B);
  border-radius: 2rem;
  border: 1px solid #AC3820;
  position: relative;
}

@media screen and (max-width: 767px) {
  .btn_2 {
    font-size: 2rem;
    padding: 2.2rem 4.2rem 2.9rem 7rem;
  }
}

.btn_2::after {
  content: "";
  position: absolute;
  width: 3.6rem;
  height: 2.7rem;
  display: inline-block;
  background-image: url(../images/btn_parts.png);
  transform: rotate(-135deg);
  background-size: contain;
  background-repeat: no-repeat;
  top: 2rem;
  left: 38.2rem;
  filter: drop-shadow(-3px -6px 4px rgba(0, 0, 0, 0.3));
}

@media screen and (max-width: 767px) {
  .btn_2::after {
    left: 30.5rem;
  }
}

.btn_2:hover {
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.3);
  transition: 0.3s;
  transform: translate3d(0, 5px, 0);
}

.btn2_cat {
  font-size: 1.8rem;
}

@media screen and (max-width: 767px) {
  .btn2_cat {
    font-size: 1.6rem;
  }
}

.hand__point {
  width: 3.6rem;
}

.form {
  max-width: 60rem;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 767px) {
  fieldset {
    padding: 0 !important;
  }
}

.c-modal {
  display: none;
  height: 100vh;
  position: fixed;
  top: 0;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 999;
}

.c-modal_bg {
  background: rgba(0, 0, 0, 0.6);
  height: 100vh;
  width: 100%;
}

.c-modal_content {
  background: #fff;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 5px;
}

.c-modal_content._sm {
  width: 30%;
}

.c-modal_content._md {
  width: 50%;
}

.c-modal_content._lg {
  width: 70%;
}

.c-modal_content_inner {
  position: relative;
  padding: 24px;
}

.c-modal_close {
  position: absolute;
  top: 13px;
  right: 10px;
}
/*# sourceMappingURL=style.css.map */