@charset "UTF-8";
/* リキッドレイアウト対応 */
html {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  color: #000;
  line-height: 1.5;
  font-weight: 500;
}

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

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

html {
  font-size: 16px;
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  html {
    font-size: 4.776119403vw;
  }
}
@media (min-width: 335px) {
  html {
    font-size: 16px;
  }
}

/* pcの電話番号発信対応 */
a[href^="tel:"] {
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  a[href^="tel:"] {
    pointer-events: unset;
  }
}

/* ホバー */
a {
  text-decoration: none;
  color: inherit;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  a:hover {
    opacity: 1;
  }
}

button {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
button:hover {
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  button:hover {
    opacity: 1;
  }
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Remove default type */
ul,
ol {
  list-style: none;
}

li, dd {
  list-style-type: none;
}

/* Remove default margin padding */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
}

/* Make images easier to work with */
img {
  display: block;
  width: 100%;
  height: auto;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* フォームリセット */
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

button {
  padding: 0;
}

.l-inner {
  width: 100%;
  max-width: 375px;
  padding-right: 20px;
  padding-left: 20px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .l-inner {
    padding-right: 20px;
    padding-left: 20px;
  }
}

/* footer */
.footer {
  text-align: center;
  padding: 35px 0;
}

.footer__link + .footer__link {
  margin-top: 17px;
}
.footer__link a {
  display: inline-block;
  font-weight: 700;
}

.footer__copyright {
  font-size: 14px;
  color: #453625;
  margin-top: 40px;
}

/* header */
.header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fff;
  padding: 0 12px;
  height: 40px;
}

.header__logo {
  width: 110px;
  max-width: 100%;
}
.header__logo a {
  display: block;
}

/* main */
.main {
  overflow: hidden;
}

/* modal */
.modal {
  display: none;
  z-index: 100;
  position: relative;
}
.modal.is-open {
  display: block;
  -webkit-animation-name: displayAnime;
          animation-name: displayAnime;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

@-webkit-keyframes displayAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes displayAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.modal__overlay {
  position: fixed;
  width: 100%;
  height: 100%;
  background: rgba(204, 1, 16, .7);
  left: 0;
  top: 0;
  z-index: 100;
}

.modal__content {
  position: absolute;
  width: 355px;
  max-width: 95%;
  max-height: 95%;
  overflow-y: auto;
  border-radius: 10px;
  background: #fff;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 100;
  padding: 70px 30px 40px;
}
.modal__content.narrow {
  padding-top: 50px;
}

.modal__title {
  width: 288px;
  max-width: 100%;
  margin: 5px auto 0;
}

.modal__subtext {
  font-size: 20px;
  line-height: 1.7;
  margin-top: 25px;
}

.modal__form {
  background: #F7F7F7;
  border-radius: 10px;
  margin-top: 25px;
  padding: 15px 20px 20px;
}

.modal__form-item + .modal__form-item {
  margin-top: 15px;
}

.modal__form-label label {
  display: inline-block;
  font-size: 20px;
  font-weight: 700;
  color: #CC0110;
}

.modal__form-input input[type=text], .modal__form-input select {
  width: 100%;
  height: 60px;
  font-size: 20px;
  border-radius: 10px;
  padding: 15px 10px;
}
.modal__form-input input[type=text] {
  background: #fff;
}
.modal__form-input input[type=text]::-webkit-input-placeholder {
  color: #999;
}
.modal__form-input input[type=text]::-moz-placeholder {
  color: #999;
}
.modal__form-input input[type=text]::-ms-input-placeholder {
  color: #999;
}
.modal__form-input input[type=text]::placeholder {
  color: #999;
}
.modal__form-input select {
  color: #999;
  background: url(../img/arrow-icon.png) no-repeat center right 18px/15px;
}
.modal__form-input select.active {
  color: #000;
}

.modal__form-select {
  background: #fff;
  border-radius: 10px;
}

.modal__btn {
  margin: 50px auto 0;
}

.modal__line-btn {
  width: 295px;
  margin: 30px auto 0;
}
.modal__line-btn.btn {
  background: #06C755;
}

.modal__close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: url(../img/close-icon.png) no-repeat center/contain;
}

.modal__caution {
  font-size: 14px;
  line-height: 1.6;
  margin-top: 15px;
  padding-left: 1em;
  text-indent: -1em;
}

/* text */
.text {
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.7;
}

/* area */
.area {
  background: #CC0110;
  padding: 30px 0;
}

.area__content {
  background: #fff;
  border-radius: 10px;
  padding: 30px 20px 30px;
}

.area__title {
  width: 298px;
  max-width: 100%;
  margin: 0 auto;
}

.area__text {
  margin-top: 22px;
}

.area__units {
  margin-top: 25px;
}

.area__unit + .area__unit {
  margin-top: 25px;
}

.area__input {
  display: block;
  width: 245px;
  max-width: 100%;
  height: 60px;
  font-size: 20px;
  border-radius: 10px;
  background: #F7F7F7;
  padding: 15px 20px;
  margin: 15px auto 0;
}
.area__input::-webkit-input-placeholder {
  color: #999;
}
.area__input::-moz-placeholder {
  color: #999;
}
.area__input::-ms-input-placeholder {
  color: #999;
}
.area__input::placeholder {
  color: #999;
}

.area__subtext {
  width: 245px;
  max-width: 100%;
  line-height: 1.63;
  margin: 10px auto 0;
  padding-left: 1em;
  text-indent: -1em;
}

.area__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 290px;
  max-width: 100%;
  height: 60px;
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  background: #CC0110;
  border-radius: 10px;
  margin-top: 25px;
}

/* benefits */
.benefits {
  background: #CC0110;
  padding-top: 30px;
}
.benefits .l-inner {
  padding: 0 30px;
}

.benefits__content {
  background: #fff;
  border-radius: 10px;
  padding: 30px 10px 25px;
}

.benefits__title {
  width: 144px;
  max-width: 100%;
  margin: 0 auto;
}

.benefits__img {
  width: 150px;
  max-width: 100%;
  margin: 20px auto 0;
}

.benefits__subtitle-wrapper {
  text-align: center;
}

.benefits__subtitle {
  display: inline-block;
  font-size: 22px;
  font-weight: 700;
  margin-top: 18px;
  position: relative;
}
.benefits__subtitle::before, .benefits__subtitle::after {
  position: absolute;
  content: "";
  background: #000;
  width: 2px;
  height: 32px;
}
.benefits__subtitle::before {
  left: -15px;
  -webkit-transform: rotate(-26deg);
          transform: rotate(-26deg);
}
.benefits__subtitle::after {
  right: -15px;
  -webkit-transform: rotate(26deg);
          transform: rotate(26deg);
}

.benefits__text {
  width: 263px;
  max-width: 100%;
  margin-top: 7px;
  margin-right: 10px;
  margin-left: auto;
}

.benefits__subtext {
  line-height: 1.63;
  margin-top: 15px;
  padding-left: 1em;
  text-indent: -1em;
}

/* btn */
.btn {
  text-align: center;
  width: 100%;
  max-width: 100%;
  min-height: 70px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  background: #CC0110;
  color: #fff;
  border-radius: 10px;
  padding: 5px;
}

/* faq */
.faq {
  background: #FDEDE4;
  padding: 30px 0 50px;
}

.faq__title {
  width: 216px;
  max-width: 100%;
  margin: 0 auto;
}

.faq__items {
  margin-top: 15px;
}

.faq__item-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 80px;
  font-size: 18px;
  font-weight: 700;
  border-bottom: 2px solid #CC0110;
  cursor: pointer;
  padding-right: 20px;
  position: relative;
}
.faq__item-title::after, .faq__item-title::before {
  position: absolute;
  content: "";
  width: 15px;
  height: 2px;
  background: #CC0110;
  top: 50%;
  right: 0;
  border-radius: 4px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.faq__item-title::before {
  top: 48%;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.faq__item-title.active::before {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}

.faq__item-text {
  display: none;
  font-size: 18px;
  line-height: 1.78;
  background: #fff;
  border-radius: 10px;
  padding: 12px 10px;
  margin-top: 10px;
  margin-bottom: 25px;
}

.faq__text {
  text-align: center;
  border-radius: 10px;
  color: #fff;
  background: #CC0110;
  margin-top: 50px;
  padding: 23px 0;
}

/* flow */
.flow {
  background: #CC0110;
  padding-top: 40px;
}

.flow__title {
  width: 216px;
  max-width: 100%;
  margin: 0 auto;
}

.flow__items {
  margin-top: 25px;
}

.flow__item {
  border: 4px solid #fff;
  border-radius: 10px;
  padding: 25px 0 30px;
}
.flow__item + .flow__item {
  margin-top: 20px;
}
.flow__item:first-child .flow__item-number {
  width: 232px;
}
.flow__item:nth-child(2) .flow__item-number {
  width: 282px;
}
.flow__item:nth-child(3) .flow__item-number {
  width: 248px;
}

.flow__item-number {
  margin-left: 32px;
  max-width: 100%;
}

.flow__item-text {
  color: #fff;
  margin-top: 15px;
}

/* message */
.message {
  background: #CC0110;
  padding-top: 35px;
}

.message__text {
  color: #fff;
}
.message__text:not(:first-child) {
  margin-top: 16px;
}

.message__img {
  margin-top: 22px;
}

/* mv */
.mv {
  background: #FDEDE4;
}

.mv__inner {
  width: 450px;
  max-width: 100%;
  margin: 0 auto;
  position: relative;
}

.mv__img02 {
  position: absolute;
  z-index: 1;
  width: 165px;
  max-width: 100%;
  left: 150px;
  bottom: -30px;
}
/*# sourceMappingURL=style.css.map */
