@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Source+Sans+Pro:wght@600&display=swap");
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

body {
  overflow-x: hidden;
}

body .sp-item {
  display: none !important;
}

body .pc-item {
  display: block !important;
}

@media screen and (max-width: 767px) {
  body {
    min-width: inherit;
    height: 100%;
  }
  body .sp-item {
    display: block !important;
  }
  body .pc-item {
    display: none !important;
  }
  body .sp-item img {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .sp img {
    max-width: 90%;
  }
  .sp02 img {
    max-width: 100%;
  }
  .sp03 img {
    max-width: 70%;
  }
}
img {
  width: 100%;
  line-height: 0;
  padding: 0;
  margin: 0;
}

hr {
  height: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.content {
  width: 100%;
  margin: 0 auto;
  -webkit-box-shadow: 0 0 10px 2px #d6d6d6;
          box-shadow: 0 0 10px 2px #d6d6d6;
}
@media only screen and (min-width: 736px) {
  .content {
    width: 750px;
    margin: 0 auto;
  }
}

.w-85 {
  width: 85%;
  margin: 0 auto;
}

.w-90 {
  width: 90%;
  margin: 0 auto;
}

.w-93 {
  width: 93%;
  margin: 0 auto;
}

.w-95 {
  width: 95%;
  margin: 0 auto;
}

.ttl-blk {
  background: #00000f;
  color: #fff;
  text-align: center;
  font-size: 3.6rem;
  font-weight: 700;
  padding: 1.2rem 0 1.2rem 0;
  position: relative;
}
@media screen and (min-width: 999px) {
  .ttl-blk {
    font-size: 4.8rem;
  }
}
.ttl-blk .line {
  position: relative;
}
.ttl-blk .line::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #fff;
  position: absolute;
  top: -1.5rem;
  left: 0;
  z-index: 0;
}
.ttl-blk .line::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #fff;
  position: absolute;
  bottom: -0.7rem;
  left: 0;
}

/* ----------------------------------------------------

    color setting

---------------------------------------------------- */
body::before {
  content: "";
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background: url(../images/WPL_bg01.jpg) repeat left top/198px auto, #f4f4f4;
  z-index: -1;
  opacity: 0.6;
}

.content {
  position: relative;
  overflow: hidden;
}

.head {
  padding-top: 5%;
  padding-bottom: 2.5%;
  position: relative;
}
.head::before {
  content: "";
  display: block;
  width: 100%;
  height: 7px;
  background-color: #00000f;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.head::after {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background-color: #e70012;
  position: absolute;
  top: 10px;
  left: 0;
  z-index: -1;
}
.head_line {
  padding-bottom: 16%;
  position: relative;
}
.head_line::before {
  content: "";
  display: block;
  width: 100%;
  height: 7px;
  background-color: #00000f;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
.head_line::after {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background-color: #e70012;
  position: absolute;
  bottom: 10px;
  left: 0;
  z-index: -1;
}
.head_txt {
  position: relative;
}
.head_txt::before {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-image: url(../images/WPL_top-img03.png);
  background-size: contain;
  position: absolute;
  width: 92%;
  z-index: 100;
  bottom: -20%;
  left: 4%;
  padding-top: 6.5399361022%;
}
.head_txt::after {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-image: url(../images/WPL_top-img01.png);
  background-size: contain;
  position: absolute;
  width: 62%;
  z-index: 10;
  top: -5%;
  right: -31%;
  padding-top: 64.4166666667%;
}
.head_txt-img {
  width: 73%;
  margin-left: 2%;
}

.feature-img {
  width: 92%;
  margin: 0 auto;
  margin-top: 2%;
  margin-bottom: 5%;
}

.recommend-ttl {
  width: 95%;
  margin: 0 auto;
  position: relative;
  margin-top: 8%;
  margin-bottom: 4%;
}
.recommend-ttl::after {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-image: url(../images/WPL_elements05.png);
  background-size: contain;
  position: absolute;
  width: 36%;
  z-index: 100;
  left: 50%;
  bottom: -47%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  padding-top: 6.2779291553%;
}
@-webkit-keyframes pyoko {
  0% {
    -webkit-transform: translate(-50%, 0);
  }
  50% {
    -webkit-transform: translate(-50%, -5px);
  }
  100% {
    -webkit-transform: translate(-50%, 0);
  }
}
@keyframes pyoko {
  0% {
    -webkit-transform: translate(-50%, 0);
  }
  50% {
    -webkit-transform: translate(-50%, -5px);
  }
  100% {
    -webkit-transform: translate(-50%, 0);
  }
}
.recommend-list {
  width: 95%;
  margin: 0 auto;
  background: #e70012;
  padding-top: 3%;
  padding-bottom: 3%;
  margin-top: 3%;
}
.recommend-item {
  background: #fff;
  width: 93%;
  margin: 0 auto;
  padding: 2%;
}
.recommend-item ul {
  list-style-type: none;
  padding-left: 0;
  margin-bottom: 2rem;
  position: relative;
}
.recommend-item li {
  position: relative;
  font-size: 1.7rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.02rem;
  background-image: linear-gradient(to right, #717171, #717171 3px, transparent 3px, transparent 5px);
  background-size: 6px 1px;
  background-position: left bottom;
  background-repeat: repeat-x;
  width: 100%;
  margin: 0 auto;
  margin-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 3rem;
  padding-right: 0.6rem;
}
@media screen and (min-width: 999px) {
  .recommend-item li {
    font-size: 2.4rem;
    width: 95%;
  }
}
.recommend-item li::before {
  position: absolute;
  left: 3px;
  top: 6px;
  content: "";
  display: inline-block;
  width: 2rem;
  height: 2rem;
  background: url(../images/WPL_elements02.png) no-repeat;
  background-size: contain;
}

.merit {
  margin-top: 6%;
}
.merit-ttl {
  position: relative;
  padding-top: 1.8rem;
}
@media screen and (min-width: 999px) {
  .merit-ttl {
    padding-top: 3.6rem;
  }
}
.merit-ttl::before {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-image: url(../images/WPL_elements03.png);
  background-size: contain;
  position: absolute;
  width: 55%;
  z-index: 100;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: -11%;
  padding-top: 8.3883647799%;
}
@media screen and (min-width: 768px) {
  .merit-ttl::before {
    width: 36%;
    padding-top: 5.4905660377%;
  }
}
@media screen and (min-width: 999px) {
  .merit-ttl::before {
    width: 44%;
    padding-top: 6.7106918239%;
  }
}
.merit-ttl .line {
  position: relative;
}
@media screen and (min-width: 999px) {
  .merit-ttl .line::before {
    top: -3rem;
  }
}
.merit-allow {
  width: 14%;
  margin-right: 5%;
  margin-left: auto;
  margin-top: -6%;
}
.merit-item {
  width: 90%;
  margin: 0 auto;
}
.merit-item_ttl {
  background: #fff;
  font-size: 2rem;
  font-weight: 700;
  border: 1px solid #00000f;
  padding: 0.6rem 0.8rem 0.6rem 9rem;
  position: relative;
}
.merit-item_ttl::before {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  width: 18%;
  z-index: 100;
  left: 3%;
  top: 19%;
  padding-top: 7.5704697987%;
}
@media screen and (min-width: 768px) {
  .merit-item_ttl::before {
    width: 10%;
    padding-top: 4.2058165548%;
  }
}
@media screen and (min-width: 999px) {
  .merit-item_ttl::before {
    width: 9%;
    padding-top: 3.7852348993%;
  }
}
.merit-item_container {
  background: #fff;
  border: 1px solid #00000f;
  border-top: none;
  padding: 0.6rem 2rem 0.6rem 2rem;
}
.merit-item_txt {
  padding-top: 1.2rem;
  padding-bottom: 1.2rem;
}
.merit-item_img {
  padding-bottom: 1.2rem;
}
.merit-item01 .merit-item_ttl::before {
  background-image: url(../images/WPL_elements06.png);
}
.merit-item02 {
  margin-top: 3%;
}
.merit-item02 .merit-item_ttl::before {
  background-image: url(../images/WPL_elements07.png);
}
.merit-item03 {
  margin-top: 3%;
}
.merit-item03 .merit-item_ttl::before {
  background-image: url(../images/WPL_elements08.png);
}
.merit-item03 .merit-item_container {
  position: relative;
}
.merit-item03 .merit-item_container::after {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-image: url(../images/WPL_elements05.png);
  background-size: contain;
  position: absolute;
  width: 50%;
  z-index: 100;
  left: 50%;
  bottom: -9%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-animation-name: pyoko;
          animation-name: pyoko;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-timing-function: ease;
          animation-timing-function: ease;
  padding-top: 8.719346049%;
}

.jisseki-lead {
  width: 84%;
  margin: 0 auto;
  margin-top: 10%;
}
.jisseki-txt li {
  padding-left: 1em;
  text-indent: -1em;
}
.jisseki-txt02 {
  width: 85%;
  margin: 0 auto;
  margin-top: 5%;
  margin-bottom: 5%;
}
.jisseki-txt02 li {
  padding-left: 1em;
  text-indent: -1em;
}
.jisseki-item {
  width: 90%;
  margin: 0 auto;
  padding: 8% 2% 2% 2%;
  border: 1px solid #00000f;
  margin-top: 8%;
  position: relative;
}
.jisseki-item::before {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  width: 65%;
  z-index: 100;
  left: -6%;
  top: -1.5rem;
  padding-top: 9.6752368065%;
}
.jisseki-img {
  margin: 0 auto;
  margin-top: 4%;
}
.jisseki-img01 {
  position: relative;
}
.jisseki-img01::before {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-image: url(../images/WPL_elements11.png);
  background-size: contain;
  position: absolute;
  width: 15%;
  z-index: 100;
  right: 10%;
  padding-top: 18.1818181818%;
  top: 14%;
  -webkit-animation-name: allow-anime;
          animation-name: allow-anime;
  -webkit-animation-duration: 0.7s;
          animation-duration: 0.7s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-timing-function: ease;
          animation-timing-function: ease;
}
.jisseki-img02 {
  position: relative;
  margin-top: 22%;
}
.jisseki-img02::before {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-image: url(../images/WPL_elements11.png);
  background-size: contain;
  position: absolute;
  width: 15%;
  z-index: 100;
  right: 10%;
  padding-top: 18.1818181818%;
  top: -100%;
  -webkit-animation-name: allow-anime;
          animation-name: allow-anime;
  -webkit-animation-duration: 0.7s;
          animation-duration: 0.7s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-timing-function: ease;
          animation-timing-function: ease;
}
.jisseki-item01::before {
  background-image: url(../images/WPL_elements09.png);
}
.jisseki-item02::before {
  background-image: url(../images/WPL_elements10.png);
}
.jisseki-item02 .jisseki-img {
  width: 95%;
}

@-webkit-keyframes allow-anime {
  0% {
    -webkit-transform: translate(0, 0);
  }
  50% {
    -webkit-transform: translate(0, -5px);
  }
  100% {
    -webkit-transform: translate(0, 0);
  }
}

@keyframes allow-anime {
  0% {
    -webkit-transform: translate(0, 0);
  }
  50% {
    -webkit-transform: translate(0, -5px);
  }
  100% {
    -webkit-transform: translate(0, 0);
  }
}
.flow-ttl {
  font-size: 2.8rem;
  position: relative;
  margin-bottom: 30px;
  margin-top: 20px;
}
@media screen and (min-width: 999px) {
  .flow-ttl {
    font-size: 4.6rem;
    margin-top: 35px;
  }
}
.flow-ttl::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #fff;
  position: absolute;
  top: 0.5rem;
  left: 0;
  z-index: 0;
}
.flow-ttl::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #fff;
  position: absolute;
  bottom: 0.5rem;
  left: 0;
  z-index: 0;
}
.flow .triangle {
  position: relative;
}
.flow .triangle::after {
  content: "";
  position: absolute;
  bottom: 16px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 16px 50px 0 50px;
  border-color: #00000f transparent transparent transparent;
}
.flow .flow-item {
  width: 85%;
  margin: 0 auto;
}
.flow .flow-item_section {
  position: relative;
  padding: 0 0 1.5em 2em;
}
.flow .flow-item_section:not(:last-child)::before, .flow .flow-item_section::after {
  position: absolute;
  content: "";
}
.flow .flow-item_section:not(:last-child)::before {
  bottom: 0;
  left: 11px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 3px;
  height: 100%;
  background-color: #d6dde3;
}
.flow .flow-item_section::after {
  top: 0;
  left: 0;
  width: 14px;
  height: 14px;
  border: 4px solid #fff;
  border-radius: 50%;
  background-color: #e70012;
}
.flow .flow-item_content {
  border-bottom: dashed 1px #c6cdd3;
  padding-bottom: 0.8em;
  padding-top: 0.5em;
}
.flow .flow-item_label01 {
  margin-bottom: 0.1em;
  color: #bcbfc7;
  font-size: 0.85em;
  width: 22%;
}
@media screen and (min-width: 999px) {
  .flow .flow-item_label01 {
    width: 17%;
  }
}
.flow .flow-item_label02, .flow .flow-item_label03 {
  margin-bottom: 0.1em;
  color: #bcbfc7;
  font-size: 0.85em;
  width: 33%;
}
@media screen and (min-width: 999px) {
  .flow .flow-item_label02, .flow .flow-item_label03 {
    width: 25%;
  }
}
.flow .flow-item li {
  padding-left: 1em;
  text-indent: -1em;
}

.service-ttl {
  font-size: 3.4rem;
  position: relative;
  margin-bottom: 30px;
  margin-top: 20px;
  letter-spacing: 0.5rem;
}
@media screen and (min-width: 999px) {
  .service-ttl {
    font-size: 4.6rem;
  }
}
.service-ttl::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #fff;
  position: absolute;
  top: 0.5rem;
  left: 0;
  z-index: 0;
}
.service-ttl::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #fff;
  position: absolute;
  bottom: 0.5rem;
  left: 0;
  z-index: 0;
}
.service .triangle {
  position: relative;
}
.service .triangle::after {
  content: "";
  position: absolute;
  bottom: 16px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 16px 50px 0 50px;
  border-color: #00000f transparent transparent transparent;
}
.service-item_ttl {
  position: relative;
  padding: 0 1.2rem 0.5rem 6.2rem;
  font-size: 2rem;
}
@media screen and (min-width: 999px) {
  .service-item_ttl {
    font-size: 2.6rem;
  }
}
.service-item_ttl::before {
  position: absolute;
  left: 20px;
  top: 0px;
  content: "";
  display: inline-block;
  width: 3.5rem;
  height: 3.5rem;
  background: url(../images/WPL_elements15.png) no-repeat;
  background-size: contain;
}
@media screen and (min-width: 999px) {
  .service-item_ttl::before {
    top: 5px;
  }
}
.service-item_ttl::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-color: #cecece;
  position: absolute;
  bottom: -4px;
  left: 0;
}
.service-item_txt {
  padding: 1rem 2rem 0 2rem;
}
.service-item_img {
  padding: 2rem 2rem 2rem 2rem;
}

.introduction-ttl {
  font-size: 3.4rem;
  position: relative;
  margin-top: 20px;
  z-index: 200;
  letter-spacing: 0.5rem;
}
@media screen and (min-width: 999px) {
  .introduction-ttl {
    font-size: 4.6rem;
  }
}
.introduction-ttl::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #fff;
  position: absolute;
  top: 0.5rem;
  left: 0;
  z-index: 0;
}
.introduction-ttl::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #fff;
  position: absolute;
  bottom: 0.5rem;
  left: 0;
  z-index: 0;
}
.introduction-name_container {
  position: relative;
}
.introduction-name_container::before {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-image: url(../images/WPL_elements18.png);
  background-size: contain;
  position: absolute;
  width: 26%;
  z-index: 0;
  left: 29%;
  top: -2%;
  padding-top: 65.6610169492%;
}
.introduction-name_container::after {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-image: url(../images/WPL_elements16.png);
  background-size: contain;
  position: absolute;
  width: 50.8%;
  z-index: -1;
  left: 0;
  top: 0%;
  padding-top: 64.265060241%;
}
.introduction-name_img {
  width: 42%;
  margin-right: 4%;
  margin-left: auto;
  padding: 18% 0 30.5% 0;
}
.introduction-txt {
  width: 100%;
  margin: 0 auto;
  background: #fff;
  margin-top: -10%;
  z-index: 999999;
  position: relative;
  padding: 20px;
  border-top: 3px solid #e70012;
  border-bottom: 3px solid #e70012;
  margin-bottom: 13px;
}
.introduction-txt p {
  background-color: #fff;
  background-image: linear-gradient(90deg, transparent 0%, transparent 50%, #fff 50%, #fff 100%), linear-gradient(180deg, #ccc 1px, transparent 1px);
  background-size: 8px 100%, 100% 3.3rem;
  line-height: 3.3rem;
}

@media screen and (min-width: 999px) {
  .voice {
    margin-top: 50px;
  }
}
.voice-ttl {
  font-size: 3.4rem;
  position: relative;
  margin-top: 35px;
  z-index: 200;
  padding-top: 1.8rem;
  letter-spacing: 0.5rem;
}
@media screen and (min-width: 999px) {
  .voice-ttl {
    font-size: 4.6rem;
    padding-top: 2rem;
  }
}
.voice-ttl::before {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-image: url(../images/WPL_elements19.png);
  background-size: contain;
  position: absolute;
  width: 85%;
  z-index: 100;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  padding-top: 6.933685446%;
  top: -10%;
}
@media screen and (min-width: 999px) {
  .voice-ttl::before {
    width: 70%;
    padding-top: 5.7100938967%;
  }
}
.voice-item {
  margin-top: 20px;
}
.voice-item_container {
  width: 90%;
  margin: 0 auto;
  border: 2px solid #00000f;
  margin-top: -5%;
  padding: 8px 10px 15px 10px;
  background: #fff;
}
@media screen and (min-width: 999px) {
  .voice-item_container {
    padding-bottom: 25px;
  }
}
.voice-item_ttl {
  width: 85%;
  margin: 0 auto;
}
@media screen and (min-width: 999px) {
  .voice-item_ttl {
    width: 55%;
  }
}
.voice-item_subttl {
  font-size: 1.7rem;
  font-weight: 700;
  position: relative;
  padding: 20px 3px 7px 20px;
}
@media screen and (min-width: 999px) {
  .voice-item_subttl {
    font-size: 2.2rem;
    padding: 35px 3px 7px 25px;
  }
}
.voice-item_subttl::before {
  content: "";
  top: 54%;
  left: 3px;
  border-top: 0.6em solid #00000f;
  border-left: 0.6em solid #00000f;
  position: absolute;
  z-index: 100;
}
@media screen and (min-width: 999px) {
  .voice-item_subttl::before {
    top: 60%;
  }
}
.voice-item_txt li {
  padding-left: 1em;
  text-indent: -1em;
}

.price-ttl {
  font-size: 3.4rem;
  position: relative;
  margin-top: 30px;
  z-index: 200;
  padding-top: 1.8rem;
  letter-spacing: 0.5rem;
}
@media screen and (min-width: 999px) {
  .price-ttl {
    font-size: 4.6rem;
    padding-top: 2rem;
  }
}
.price-ttl::before {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-image: url(../images/WPL_elements23.png);
  background-size: contain;
  position: absolute;
  width: 55%;
  z-index: 100;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  padding-top: 8.4316037736%;
  top: -15%;
}
@media screen and (min-width: 999px) {
  .price-ttl::before {
    width: 40%;
    padding-top: 6.1320754717%;
  }
}
.price-lead {
  width: 95%;
  margin: 0 auto;
  margin-top: 3%;
}
.price-reg {
  width: 78%;
  margin: 0 auto;
  margin-top: 3%;
}
.price-lead02 {
  background: #00000f;
  color: #fff;
  text-align: center;
  font-size: 2.2rem;
  margin-top: 15px;
  padding: 3px 0;
}
@media screen and (min-width: 999px) {
  .price-lead02 {
    font-size: 2.6rem;
  }
}
.price .triangle {
  position: relative;
}
.price .triangle::after {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 23px 30px 0 30px;
  border-color: #00000f transparent transparent transparent;
  z-index: -1;
}
.price-open {
  position: relative;
}
.price-open::before {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-image: url(../images/WPL_elements27.png);
  background-size: contain;
  position: absolute;
  width: 17%;
  z-index: -1;
  left: 7%;
  top: 1%;
  padding-top: 16.9628008753%;
}
.price-open::after {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-image: url(../images/WPL_elements28.png);
  background-size: contain;
  position: absolute;
  width: 17%;
  z-index: -1;
  right: 6%;
  top: -1%;
  padding-top: 14.6576200418%;
  -webkit-animation: icon_animation_r 1.5s ease-in-out infinite alternate;
          animation: icon_animation_r 1.5s ease-in-out infinite alternate;
}
.price-open_img {
  width: 76%;
  margin: 0 auto;
  margin-top: 6%;
  margin-bottom: 4%;
}

@-webkit-keyframes icon_animation_r {
  20% {
    -webkit-transform: rotate(20deg);
            transform: rotate(20deg);
  }
  50% {
    -webkit-transform: rotate(-20deg);
            transform: rotate(-20deg);
  }
  60% {
    -webkit-transform: rotate(-20deg);
            transform: rotate(-20deg);
  }
  100% {
    -webkit-transform: rotate(20deg);
            transform: rotate(20deg);
  }
}

@keyframes icon_animation_r {
  20% {
    -webkit-transform: rotate(20deg);
            transform: rotate(20deg);
  }
  50% {
    -webkit-transform: rotate(-20deg);
            transform: rotate(-20deg);
  }
  60% {
    -webkit-transform: rotate(-20deg);
            transform: rotate(-20deg);
  }
  100% {
    -webkit-transform: rotate(20deg);
            transform: rotate(20deg);
  }
}
.qa {
  margin-bottom: 35px;
}
.qa-ttl {
  font-size: 3.4rem;
  position: relative;
  margin-bottom: 30px;
  margin-top: 20px;
  letter-spacing: 0.3rem;
}
@media screen and (min-width: 999px) {
  .qa-ttl {
    font-size: 4.6rem;
  }
}
.qa-ttl::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #fff;
  position: absolute;
  top: 0.5rem;
  left: 0;
  z-index: 0;
}
.qa-ttl::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #fff;
  position: absolute;
  bottom: 0.5rem;
  left: 0;
  z-index: 0;
}
.qa .triangle {
  position: relative;
}
.qa .triangle::after {
  content: "";
  position: absolute;
  bottom: 16px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 16px 50px 0 50px;
  border-color: #00000f transparent transparent transparent;
}
.qa-item {
  width: 90%;
  margin: 0 auto;
  margin-top: 25px;
}
.qa .q-item {
  padding-left: 2.8em;
  text-indent: -2em;
  background: #e70012;
  color: #fff;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-right: 8px;
  font-size: 1.8rem;
  line-height: 1.4;
}
@media screen and (min-width: 999px) {
  .qa .q-item {
    font-size: 2.4rem;
    padding-left: 3.8em;
    text-indent: -2em;
    background: #e70012;
    color: #fff;
    padding-top: 8px;
    padding-bottom: 8px;
    padding-right: 20px;
  }
}
.qa .a-item {
  background: #ebebeb;
  font-size: 1.6rem;
  padding: 8px 15px;
}
@media screen and (min-width: 999px) {
  .qa .a-item {
    font-size: 2rem;
    padding: 8px 35px;
  }
}

@media screen and (min-width: 999px) {
  .message {
    margin-bottom: 35px;
  }
}
.message-ttl {
  font-size: 3.8rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: 1.5rem;
  text-indent: 1.5rem;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.message-ttl::before, .message-ttl::after {
  content: "";
  height: 1px;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  background-color: #666;
}
.message-ttl::before {
  margin-right: 1.5rem;
  margin-left: 2rem;
}
.message-ttl::after {
  margin-left: 1.5rem;
  margin-right: 2rem;
}
.message-txt {
  background: #fff;
  border: 2px solid #00000f;
  width: 90%;
  margin: 0 auto;
  padding: 20px 15px 35px 15px;
  margin-top: 15px;
  font-size: 1.5rem;
  margin-bottom: 20px;
}
@media screen and (min-width: 999px) {
  .message-txt {
    font-size: 2rem;
  }
}
.message-txt p {
  background-color: #fff;
  background-image: linear-gradient(90deg, transparent 0%, transparent 50%, #fff 50%, #fff 100%), linear-gradient(180deg, #ccc 1px, transparent 1px);
  background-size: 8px 100%, 100% 3.3rem;
  line-height: 3.3rem;
}
.message-name {
  font-size: 2rem;
}
@media screen and (min-width: 999px) {
  .message-name {
    font-size: 3.2rem;
  }
}

#footer {
  background: #00000f;
  color: #fff;
  border-top: solid 1px lightgray;
  padding-bottom: 10px;
  text-align: center;
  margin-top: 35px;
}

html {
  font-size: 62.5%; /* -> 10px */
}

body {
  font-family: "Noto Sans JP", sans-serif;
  color: #00000f;
  line-height: 1.7;
  font-size: 1.6rem;
  text-align: left;
  letter-spacing: 0.05em;
  font-weight: 500;
}
@media screen and (min-width: 999px) {
  body {
    font-size: 2.2rem;
  }
}

/* ----------------------------------------------------

    text

---------------------------------------------------- */
.red {
  color: #e70012;
}

.gray {
  color: #666666;
}

.normal {
  font-weight: 400;
}

.bold {
  font-weight: bold;
}

strong {
  font-weight: bold;
}

.ac {
  text-align: center !important;
}

.ar {
  text-align: right !important;
}

.al {
  text-align: left !important;
}

.q {
  font-family: "Source Sans Pro", sans-serif;
  font-size: 2.4rem;
}
@media screen and (min-width: 999px) {
  .q {
    font-size: 2.6rem;
  }
}

.cta-button {
  width: 90%;
  margin: 0 auto;
  margin-top: 3%;
  margin-bottom: 3%;
  -webkit-animation: bounce 1s ease-out infinite;
          animation: bounce 1s ease-out infinite;
}

@-webkit-keyframes bounce {
  0%, 100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}

@keyframes bounce {
  0%, 100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}