@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap");
/*=================
font
=================*/
body {
  font-family: "Noto Sans JP", sans-serif;
  color: #000;
}

/*=================
utility
=================*/
.u-tac {
  text-align: center;
}

.u-df {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.u-cf {
  color: #fff;
}

.u-cr {
  color: #AF1E26;
}

/*=================
common
=================*/
.c-inner {
  max-width: 1160px;
  margin: 0 auto;
  padding-left: 80px;
  padding-right: 80px;
}
@media screen and (max-width: 1200px) {
  .c-inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media screen and (max-width: 800px) {
  .c-inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.c-btn-block {
  position: relative;
  text-align: center;
}

.c-btn {
  display: inline-block;
  background: #AF1E26;
  padding: 16px 96px 16px 46px;
  font-weight: 700;
  font-size: 24px;
  letter-spacing: 1.44px;
  border-radius: 60px;
  position: relative;
  text-align: center;
}
@media screen and (max-width: 800px) {
  .c-btn {
    font-size: 14px;
    padding: 16px 60px 16px 40px;
  }
}
.c-btn::before {
  content: "";
  width: 14px;
  height: 24px;
  background: url(/wp-content/uploads/2023/09/arrow-white-right.svg) no-repeat center center/contain;
  position: absolute;
  top: 50%;
  right: 46px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
@media screen and (max-width: 800px) {
  .c-btn::before {
    width: 10px;
    height: 20px;
    right: 30px;
  }
}
.c-btn:hover::before {
  right: 38px;
}
@media screen and (max-width: 800px) {
  .c-btn:hover::before {
    right: 26px;
  }
}

.c-btn-bk {
  display: inline-block;
  color: #000;
  background: #eee;
  padding: 12px 40px 12px 0;
  font-weight: 700;
  font-size: 18px;
  letter-spacing: 1.44px;
  border-radius: 60px;
  position: relative;
  text-align: center;
}
@media screen and (max-width: 1380px) {
  .c-btn-bk {
    font-size: 14px;
  }
}
@media screen and (max-width: 800px) {
  .c-btn-bk {
    font-size: 10px;
    padding: 12px 30px 12px 0;
  }
}
.c-btn-bk::before {
  content: "";
  width: 10px;
  height: 20px;
  background: url(/wp-content/uploads/2023/10/arrow-black.svg) no-repeat center center/contain;
  position: absolute;
  top: 50%;
  right: 30px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
@media screen and (max-width: 800px) {
  .c-btn-bk::before {
    width: 6px;
    right: 24px;
  }
}
.c-btn-bk:hover::before {
  right: 20px;
}
@media screen and (max-width: 800px) {
  .c-btn-bk:hover::before {
    right: 18px;
  }
}

.c-subbtn {
  display: inline-block;
  position: absolute;
  bottom: 46px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 10;
}
@media screen and (max-width: 800px) {
  .c-subbtn {
    bottom: 34px;
  }
}

.c-subbtn:hover + .c-btn::before {
  right: 38px;
}
@media screen and (max-width: 800px) {
  .c-subbtn:hover + .c-btn::before {
    right: 26px;
  }
}

.c-cta-btn {
  display: inline-block;
  border: 1px solid #fff;
  padding: 24px 84px 24px 46px;
  font-weight: 700;
  font-size: 20px;
  letter-spacing: 1.2px;
  border-radius: 60px;
  position: relative;
  text-align: center;
  margin-top: 60px;
}
@media screen and (max-width: 800px) {
  .c-cta-btn {
    font-size: 14px;
  }
}
.c-cta-btn::before {
  content: "";
  width: 14px;
  height: 24px;
  background: url(/wp-content/uploads/2023/09/arrow-white-right.svg) no-repeat center center/contain;
  position: absolute;
  top: 50%;
  right: 46px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
.c-cta-btn:hover {
  background: #fff;
  color: #AF1E26;
  border: 1px solid #AF1E26;
}
.c-cta-btn:hover::before {
  background: url(/wp-content/uploads/2023/09/arrow-red-right.svg) no-repeat center center/contain;
  right: 38px;
}

.c-subbtn-img {
  width: 252px;
  display: inline-block;
}

.c-subbtn-lead {
  display: inline;
  color: #000;
  text-align: center;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.64px;
  position: absolute;
  top: 14px;
  left: 11px;
  white-space: nowrap;
}
.c-subbtn-lead span {
  color: #AF1E26;
  position: relative;
}
.c-subbtn-lead span::before {
  content: "";
  width: 4px;
  height: 4px;
  border-radius: 4px;
  background: #AF1E26;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.c-section__tit {
  color: #000;
  text-align: center;
  font-size: 30px;
  font-style: normal;
  font-weight: 700;
  line-height: 40.8px; /* 136% */
  letter-spacing: 1.8px;
  margin-top: 24px;
  margin-bottom: 80px;
}
@media screen and (max-width: 1200px) {
  .c-section__tit {
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 800px) {
  .c-section__tit {
    margin-top: 12px;
    font-size: 24px;
  }
}
@media screen and (max-width: 425px) {
  .c-section__tit {
    font-size: 20px;
  }
}

.c-section__subtit {
  color: #AF1E26;
  text-align: center;
  font-family: Roboto;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 21px; /* 150% */
  letter-spacing: 0.84px;
  padding-bottom: 10px;
  position: relative;
}
.c-section__subtit::before {
  content: "";
  background: #AF1E26;
  width: 30px;
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}