@charset "UTF-8";
a:hover {
  color: #B9222F;
  text-decoration: none;
}
.m-present {
  position: relative;
}
.m-present__cont {
  background-color: #FFFFFF;
}
.m-present__ttl {
  position: relative;
  text-align: center;
  color: #B9222F;
}
.m-present__ttl::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: #B9222F;
}
.m-present__item {
  text-align: center;
}
.col-form-label {
  padding: 0;
  margin-bottom: 12px;
}
.badge-danger {
  background-color: #E15241;
  padding: 4px 8px;
}
input[type^=text], textarea {
  border-radius: 5px;
}
.form-btn {
  text-align: center;
}
.btn-primary {
  position: relative;
  background-color: #B9222F;
  border: #B9222F;
  width: 90%;
  border-radius: 40px;
  padding: 15px 0;
}
.btn-primary:hover {
  background-color: #B9222F;
  opacity: .7;
}
.form-btn-arw {
  content: "";
  display: inline-block;
  background-image: url(../img/present/arw_btn.svg);
  background-size: contain;
  width: 15px;
  height: 12px;
  position: absolute;
  top: 50%;
  right: 40px;
  transform: translateY(-50%);
}
.m-present__form__confirm {
  text-align: center;
}
.m-present__form__confirm .col-form-label {
  font-weight: 600;
}
.btn-secondary {
  padding: 14px 28px;
}
.m-present__form__thanks {
  text-align: center;
}
.m-present__form__thanks__top {
  margin-top: 50px;
}
.m-present__form__thanks__top a {
  color: #B9222F;
  text-decoration: underline;
}
.input-group-text {
  padding: 0.275rem .75rem;
}
.m-present__item__image {
  font-family: "Kaisei Opti", serif;
}
dl.m-present__note {
  margin-top: 1em;
}
dl.m-present__note dt {
  font-weight: 700;
}
dl.m-present__note dd:not(:last-child) {
  margin-bottom: 1em;
}

@media screen and (min-width: 769px) {
  .m-present::after {
    content: none;
  }
  .m-present:first-of-type {
    margin-bottom: 50px;
  }
  .m-present:first-of-type::after {
    content: none;
  }
  .m-present__wrap {
    max-width: 1700px;
    width: 100%;
    margin: 0 auto;
    padding: 0 50px;
  }
  .m-present__cont {
    padding: 100px 0;
    border-radius: 20px;
  }
  .m-present__inner {
    max-width: 1300px;
    width: 100%;
    margin: 0 auto;
    padding: 0 150px;
  }
  .m-present__ttl {
    padding-bottom: 22px;
    font-size: 30px;
    line-height: 1.4666666667em;
    margin-bottom: 60px;
  }
  .m-present__ttl::after {
    width: 150px;
    height: 3px;
  }
  .m-present__form {
    margin-top: 70px;
  }
  .badge-danger {
    margin-left: 10px;
  }
  .form-group {
    margin-bottom: 40px;
  }
  .btn-primary {
    width: 350px;
  }
  .form-btn-arw {
    right: calc(50% - 160px);
    transform: translate(-50%, -50%);
  }
  .btn-secondary + .btn-primary {
    margin-left: 20px;
  }
  .m-present__item__image {
    margin-top: 70px;
  }
  .m-present__item__image p {
    font-size: 20px;
  }
}

@media screen and (max-width: 768px) {
  .m-present {
    margin-bottom: max(-60px, -16vw);
  }
  .m-present:first-of-type {
    margin-bottom: 40px;
  }
  .m-present__wrap {
    width: 100%;
    padding: 0 min(15px, 4vw);
  }
  .m-present__cont {
    padding: min(47px, 12.5333333333vw) 0 min(50px, 13.3333333333vw);
    border-radius: min(10px, 2.6666666667vw);
  }
  .m-present__inner {
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }
  .m-present__ttl {
    padding-bottom: min(8px, 2.1333333333vw);
    font-size: min(20px, 5.3333333333vw);
    line-height: 1.75em;
    margin-bottom: 25px;
  }
  .m-present__ttl-inline {
    display: inline-block;
  }
  .m-present__ttl::after {
    width: min(100px, 26.6666666667vw);
    height: min(1.5px, 0.4vw);
  }
  .m-present__form {
    margin-top: 40px;
  }
  .badge-danger {
    margin-left: 12px;
  }
  .form-group {
    margin-bottom: 35px;
  }
  .btn-primary {
    width: 90%;
  }
  .form-btn-arw {
    right: 40px;
    transform: translateY(-50%);
  }
  .btn-secondary + .btn-primary {
    margin-top: 20px;
  }
  .m-present__item__image {
    margin-top: 30px;
  }
  .m-present__item__image p {
    font-size: 14px;
  }
}