@charset "UTF-8";
.pc {
  display: block;
}

.sp {
  display: none;
}

html {
  font-size: 1px;
  overflow-x: hidden;
}
html.lock {
  overflow-y: hidden;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  line-height: 1.6;
  /*letter-spacing: -0.05em;*/
  max-width: 100vw;
  min-height: 100vh;
  color: #313131;
  font-size: 16rem;
  overflow: hidden;
  background-color: #F4F3F0;
}

p {
  line-height: 1.6;
}

.oswald {
  font-family: "Oswald", sans-serif;
}

select,
input,
textarea,
button {
  font: inherit;
}

img {
  backface-visibility: hidden;
}

img,
svg {
  max-width: 100%;
  vertical-align: bottom;
}

a {
  color: #000;
  text-decoration: none;
  -webkit-text-decoration: underline transparent;
          text-decoration: underline transparent;
  transition: 0.2s linear;
  backface-visibility: hidden;
}
@media (hover: hover) and (pointer: fine) {
  a:hover {
    opacity: 0.7;
  }
  a.tel_link {
    pointer-events: none;
  }
}

.link {
  color: #002C74;
  text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
  .link:hover {
    color: #002e73;
    opacity: 1;
    text-decoration: none;
  }
}

main {
  display: block;
}

table {
  /*border-collapse: collapse;
     border-spacing: 0;*/
}
table th,
table td {
  border: none;
  background: none;
  vertical-align: middle;
}

* {
  box-sizing: border-box;
}

.inner {
  /*width: 960rem;*/
  width: 1000rem;
  margin-left: auto;
  margin-right: auto;
}

/***フォントがカンプと違うので、ウェイト繰り上げ***/
/*カンプのw2*/
.w3 {
  font-weight: 300;
}

/*カンプのw3*/
.w4 {
  /*font-weight: normal;*/
  /*font-weight: bolder;*/
  font-weight: 400;
}

/*カンプのw4*/
.w5 {
  font-weight: 500;
}

/*カンプのw6*/
.w7 {
  /*font-weight: bold;*/
  font-weight: 700;
}

/*カンプのw8*/
.w9 {
  font-weight: 900;
}

/***上記classは目安なので、使わなくてもOK***/
b,
h2,
h3 {
  font-weight: bold;
}

.ttl2 {
  font-size: 32rem;
  border-radius: 100rem;
  display: inline-block;
  padding: 0.8em 4em;
}

.red {
  color: #FF0000;
}

.navy {
  color: #002C74;
}

.btn_navy a,
.btn_navy button,
.btn_yellow a,
.btn_yellow button,
.btn_purple a,
.btn_purple button {
  box-shadow: 0 10rem 5rem rgba(0, 0, 0, 0.1);
  display: block;
  font-size: 24rem;
  font-weight: bold;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  height: 90rem;
  width: 450rem;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  position: relative;
}
.btn_navy a::after,
.btn_navy button::after,
.btn_yellow a::after,
.btn_yellow button::after,
.btn_purple a::after,
.btn_purple button::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 25rem;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10rem 0 10rem 20rem;
  border-color: transparent transparent transparent #333;
  transition: 0.2s linear;
}
@media (hover: hover) and (pointer: fine) {
  .btn_navy a:hover::after,
  .btn_navy button:hover::after,
  .btn_yellow a:hover::after,
  .btn_yellow button:hover::after,
  .btn_purple a:hover::after,
  .btn_purple button:hover::after {
    right: 20rem;
  }
}

.btn_navy a,
.btn_navy button {
  color: #fff;
  background: #002C74;
}
.btn_navy a::after,
.btn_navy button::after {
  border-color: transparent transparent transparent #fff;
}

.btn_purple a,
.btn_purple button {
  color: #fff;
  background: #A0005D;
}
.btn_purple a::after,
.btn_purple button::after {
  border-color: transparent transparent transparent #fff;
}

.btn_yellow a,
.btn_yellow button {
  background: #FFE83C;
}

.content_ttl {
  margin-left: auto;
  margin-right: auto;
}

.notes {
  font-size: 13rem;
}

.btn_more a {
  width: 450rem;
  height: 98rem;
  border-radius: 49rem;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  background-color: #C2584A;
  font-weight: bold;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  position: relative;
  margin-left: auto;
  margin-right: auto;
  border: 1px solid #C2584A;
}
.btn_more a::after {
  content: "";
  display: block;
  width: 20rem;
  height: 18rem;
  position: absolute;
  top: 50%;
  right: 90rem;
  transform: translateY(-50%);
  transition: 0.3s;
}
.btn_more a:hover {
  filter: brightness(1.15);
  opacity: 1;
  letter-spacing: 0.16em;
}
.btn_more a:hover::after {
  right: 70rem;
}

/*----- flbtn -----*/
.flbtn {
  display: none;
  position: fixed;
  right: 0;
  bottom: 100rem;
  z-index: 2;
}

/*フェードイン*/
.delay1 {
  animation: delay1 2s ease 0s 1 forwards;
  opacity: 0;
}

.delay2 {
  animation: delay2 2s ease 0.5s 1 forwards;
  opacity: 0;
}

@keyframes delay1 {
  100% {
    opacity: 1;
  }
}
@keyframes delay2 {
  100% {
    opacity: 1;
  }
}
/*スクロールしたらフェードイン*/
.fadein {
  opacity: 0;
  transform: translateY(80rem);
  transition: all 1s;
}

.fadein.effect-scroll {
  opacity: 1;
  transform: translate(0);
}

/*----- pageTop -----*/
#pageTop {
  position: fixed;
  bottom: 20rem;
  right: 20rem;
  z-index: 99;
}
#pageTop a {
  color: #fff;
  font-size: 20rem;
  /*background-color: #4285f4;*/
  background-color: #999;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 60rem;
  width: 60rem;
  z-index: 2;
  text-decoration: none;
}

header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #F4F3F0;
  z-index: 100;
}
header .h_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 80rem;
  padding: 0 30rem;
}
header .h_inner .logo {
  width: 135rem;
}
header .h_inner .right_wrap {
  display: flex;
  gap: 40rem;
  align-items: center;
}
header .h_inner .right_wrap nav ul {
  display: flex;
  gap: 40rem;
}
header .h_inner .right_wrap nav ul li a {
  font-weight: bold;
}
header .h_inner .right_wrap .btn_contact {
  width: 184rem;
}

/*/header*/
.mv_area {
  text-align: center;
  padding: 200rem 0 0;
  position: relative;
  z-index: 1;
}
.mv_area .mv {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 1190rem;
  position: relative;
  z-index: 1;
}
.mv_area .mv .logo_wrap {
  width: 528rem;
  margin-left: 50rem;
}
.mv_area .mv .logo_wrap .logo {
  width: 410rem;
}
.mv_area .mv .logo_wrap .mv_txt {
  margin-top: 58rem;
  letter-spacing: 0.5rem;
}
.mv_area .mv .logo_wrap .mv_txt .box {
  color: #fff;
  font-weight: bold;
  padding: 0 40rem;
  font-size: 32rem;
  background-color: #C2584A;
  width: -moz-fit-content;
  width: fit-content;
}
.mv_area .mv .logo_wrap .mv_txt .txt {
  text-align: left;
  margin-top: 17rem;
  line-height: 1.8;
  font-size: 22rem;
  font-weight: 900;
}
.mv_area .mv .pic {
  width: 607rem;
  margin-right: -50rem;
}
.mv_area .mv .tex {
  width: 382rem;
  position: absolute;
  right: -153rem;
  top: -75rem;
  z-index: -1;
}
.mv_area .mv_cta {
  width: 679rem;
  margin: 81rem auto 0;
}
.mv_area .mv_cta .btn_wrap {
  text-align: center;
}
.mv_area .mv_cta .btn_wrap .txt {
  width: 312rem;
  margin-left: auto;
  margin-right: auto;
}
.mv_area .mv_cta .btn_wrap .btn_more {
  margin-top: 12rem;
}
.mv_area .mv_cta .btn_wrap .btn_more a {
  width: 658rem;
  height: 99rem;
  border-radius: 17rem;
  font-size: 28rem;
}
.mv_area .mv_cta .btn_wrap .btn_more a::after {
  width: 15rem;
  height: 15rem;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
}

/*/mv_area*/
main {
  /*------------------------------*/
  /*----------ここから追加----------*/
  /*------------------------------*/
  /*/intro*/
  /*/service*/
  /*/plan*/
  /*/flow*/
  /*faq*/
  /*/contact*/
}
main .intro {
  padding: 80rem 0 80rem;
  text-align: center;
  position: relative;
}
main .intro::before {
  content: "";
  display: block;
  width: 1920rem;
  height: 1658rem;
  background: url(/assets/img/bg_intro.png) no-repeat center;
  background-size: contain;
  position: absolute;
  top: -263rem;
  left: 50%;
  transform: translateX(-50%);
}
main .intro::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -74rem;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 110rem solid transparent;
  border-right: 110rem solid transparent;
  border-top: 75rem solid #C2584A;
}
main .intro .catch {
  width: 563rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
main .intro ul {
  margin-top: 80rem;
  max-width: 690rem;
  position: relative;
}
main .intro ul li {
  /*font-size: 23rem;*/
  font-size: 22rem;
  font-weight: bold;
  letter-spacing: -0.1em;
  text-align: left;
  display: flex;
  align-items: center;
}
main .intro ul li::before {
  content: "";
  background: url(/assets/img/ico_check.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 58rem;
  height: 58rem;
  margin: 0 1em 0 0;
}
main .intro ul li + li {
  margin-top: 2em;
}
main .intro ul li span {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  padding-bottom: 18rem;
}
main .intro ul li span::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: url(/assets/img/pic_intro_dotted.svg) center;
  position: absolute;
  bottom: 0;
  left: 0;
}
main .service {
  padding: 110rem 0 30rem;
  text-align: center;
}
main .service .catch_wrap {
  margin-top: 75rem;
  display: flex;
  justify-content: space-between;
}
main .service .catch_wrap .txt {
  width: 500rem;
}
main .service .catch_wrap .pic {
  width: 457rem;
}
main .service .content_ttl {
  margin-top: 160rem;
  width: 322rem;
}
main .service ol {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 80rem;
}
main .service ol li {
  padding: 2.5em 1.5em;
  width: 480rem;
  background: url(/assets/img/bg_service_box.png) no-repeat center/100% 100%;
}
main .service ol li:nth-of-type(even) {
  margin-left: 2.5em;
}
main .service ol li:nth-of-type(n+3) {
  margin-top: 2em;
}
main .service ol li .num {
  width: 64rem;
  margin-left: auto;
  margin-right: auto;
}
main .service ol li h3 {
  font-size: 32rem;
  margin-top: 26rem;
}
main .service ol li p {
  margin-top: 2em;
  text-align: left;
}
main .plan {
  padding: 70rem 0 120rem;
  text-align: center;
  position: relative;
  z-index: 1;
}
main .plan::after {
  content: "";
  display: block;
  width: 1920rem;
  height: 1814rem;
  background: url(/assets/img/bg_plan.png) no-repeat center;
  background-size: contain;
  position: absolute;
  top: 70px;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}
main .plan .content_ttl {
  width: 322rem;
}
main .plan .box_wrap {
  margin-top: 60rem;
  display: flex;
  justify-content: space-between;
}
main .plan .box_wrap .box {
  width: 485rem;
  border-radius: 16rem;
  background-color: #fff;
  box-shadow: 0 0 17rem rgba(0, 0, 0, 0.16);
  overflow: hidden;
}
main .plan .box_wrap .box .heading {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 150rem;
  color: #fff;
  font-weight: bold;
  font-size: 42rem;
  letter-spacing: 0.05rem;
  background-color: #73A580;
}
main .plan .box_wrap .box .detail_wrap {
  padding: 10rem 46rem 50rem;
}
main .plan .box_wrap .box .detail_wrap .price {
  font-size: 82rem;
  font-weight: bold;
  color: #73A580;
}
main .plan .box_wrap .box .detail_wrap .price .txt1 {
  font-size: 48rem;
  font-weight: 900;
}
main .plan .box_wrap .box .detail_wrap .price .txt2 {
  font-size: 20rem;
  color: #686868;
}
main .plan .box_wrap .box .detail_wrap .desc {
  margin-top: 18rem;
  text-align: center;
  font-size: 14rem;
  font-weight: 500;
  min-height: 90rem;
}
main .plan .box_wrap .box .detail_wrap .desc span {
  color: #73A580;
}
main .plan .box_wrap .box .detail_wrap .check {
  margin-top: 50rem;
}
main .plan .box_wrap .box .detail_wrap .check li {
  text-align: left;
  font-size: 18rem;
  font-weight: 500;
  position: relative;
  padding-left: 56rem;
  width: -moz-fit-content;
  width: fit-content;
}
main .plan .box_wrap .box .detail_wrap .check li::before {
  content: "";
  display: block;
  width: 29rem;
  height: 29rem;
  background: url(/assets/img/ico_plan_check.svg) no-repeat center;
  background-size: contain;
  position: absolute;
  top: -2rem;
  left: 0;
}
main .plan .box_wrap .box .detail_wrap .check li .txt {
  font-size: 14rem;
  margin-top: 10rem;
  color: #545454;
}
main .plan .box_wrap .box .detail_wrap .check li + li {
  margin-top: 32rem;
}
main .plan .box_wrap .box .detail_wrap .notes_wrap {
  border-top: 1px solid #C4C4C4;
  margin-top: 50rem;
  padding-top: 28rem;
  text-align: left;
}
main .plan .box_wrap .box.marunage .heading {
  background-color: #C2584A;
}
main .plan .box_wrap .box.marunage .detail_wrap .price {
  color: #C2584A;
}
main .plan .box_wrap .box.marunage .detail_wrap .desc span {
  color: #C2584A;
}
main .plan .box_wrap .box.marunage .detail_wrap .check li .font_color {
  color: #C2584A;
}
main .plan .box_wrap .box.marunage .detail_wrap .check li::before {
  background-image: url(/assets/img/ico_plan_check_red.svg);
}
main .plan .box_wrap .box.marunage .detail_wrap .check li:nth-child(2) {
  margin-top: 80rem;
  position: relative;
}
main .plan .box_wrap .box.marunage .detail_wrap .check li:nth-child(2)::after {
  content: "";
  display: block;
  width: 33rem;
  height: 33rem;
  background: url(/assets/img/ico_plan_plus.svg) no-repeat center;
  background-size: contain;
  position: absolute;
  top: -57rem;
  left: 165rem;
}
main .plan .btn_demo {
  margin-top: 46rem;
}
main .plan .support_wrap {
  margin-top: 105rem;
}
main .plan .support_wrap .heading {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 30rem;
  font-weight: bold;
  margin-left: auto;
  margin-right: auto;
  padding-left: 56rem;
  padding-right: 56rem;
}
main .plan .support_wrap .heading::before, main .plan .support_wrap .heading::after {
  content: "";
  display: block;
  width: 300rem;
  height: 1px;
  background-color: #A5A5A5;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(-100%, -50%);
}
main .plan .support_wrap .heading::after {
  left: auto;
  right: 0;
  transform: translate(100%, -50%);
}
main .plan .support_wrap .price {
  margin-top: 20rem;
  font-size: 82rem;
  font-weight: bold;
  color: #C2584A;
}
main .plan .support_wrap .price .txt1 {
  font-size: 48rem;
  font-weight: 900;
}
main .plan .support_wrap .price .txt2 {
  font-size: 20rem;
  color: #686868;
}
main .plan .support_wrap .desc {
  margin-top: 20rem;
}
main .plan .support_wrap .desc strong {
  font-weight: bold;
}
main .plus {
  padding: 100rem 0;
  text-align: center;
  position: relative;
  z-index: 1;
}
main .plus::after {
  content: "";
  background: url(/assets/img/ico_plus.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  top: -50rem;
  left: 50%;
  transform: translateX(-50%);
  width: 100rem;
  height: 100rem;
}
main .plus .content_ttl {
  font-size: 30rem;
  font-weight: bold;
}
main .plus .cont {
  margin-top: 84rem;
}
main .plus .cont ul {
  gap: 74rem 38rem;
  display: flex;
  flex-wrap: wrap;
}
main .plus .cont ul li {
  width: 480rem;
  border-radius: 16rem;
  background-color: #fff;
  position: relative;
  text-align: center;
  min-height: 170rem;
}
main .plus .cont ul li .ico {
  width: 155rem;
  position: absolute;
  top: -44rem;
  left: 50%;
  transform: translateX(-50%);
}
main .plus .cont ul li .heading {
  font-size: 20rem;
  font-weight: bold;
  color: #C2584A;
  margin-top: 26rem;
  position: relative;
  z-index: 1;
}
main .plus .cont ul li .desc {
  margin-top: 23rem;
  position: relative;
  z-index: 1;
}
main .structure {
  background-color: #D4B987;
  padding-top: 100rem;
  padding-bottom: 100rem;
}
main .structure .content_box {
  background-color: #fff;
  border-radius: 30rem;
  padding: 34rem 0 54rem;
  text-align: center;
}
main .structure .content_box .content_ttl {
  width: 332rem;
}
main .structure .content_box .ttl_lead {
  margin-top: 34rem;
  font-weight: 500;
}
main .structure .content_box .kousei {
  margin: 54rem auto 0;
}
main .structure .content_box .kousei .item_wrap {
  display: flex;
  justify-content: center;
  gap: 9rem;
}
main .structure .content_box .kousei .item_wrap li {
  color: #C2584A;
  height: 48rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #C2584A;
  border-radius: 24rem;
  font-weight: bold;
  padding: 0 20rem;
}
main .structure .content_box .kousei .ico_plus {
  margin: 20rem auto 0;
  width: 25rem;
}
main .structure .content_box .kousei .txt {
  margin-top: 20rem;
  margin-left: auto;
  margin-right: auto;
  width: 462rem;
  height: 48rem;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-weight: bold;
  border-radius: 24rem;
  background-color: #C2584A;
}
main .structure .content_box .example_page {
  margin: 85rem auto 0;
  display: flex;
  justify-content: center;
  gap: 47rem;
}
main .structure .content_box .example_page .img_box {
  width: 321rem;
}
main .structure .content_box .example_page .txt_box {
  position: relative;
  width: 299rem;
}
main .structure .content_box .example_page .txt_box::before, main .structure .content_box .example_page .txt_box::after {
  content: "";
  display: block;
  width: 27rem;
  height: 296rem;
  background: url(/assets/img/pic_structure_example_kakko.svg) no-repeat center;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
}
main .structure .content_box .example_page .txt_box::after {
  left: auto;
  right: 0;
  transform: rotate(180deg);
}
main .structure .content_box .example_page .txt_box .heading {
  font-weight: bold;
  font-size: 24rem;
  text-align: center;
  margin-top: -3rem;
}
main .structure .content_box .example_page .txt_box ul {
  margin: 20rem auto 0;
  width: -moz-fit-content;
  width: fit-content;
}
main .structure .content_box .example_page .txt_box ul li {
  font-size: 18rem;
  text-align: left;
}
main .structure .content_box .example_page .txt_box ul li + li {
  margin-top: 5rem;
}
main .structure .content_box .kasou {
  margin-top: 72rem;
}
main .structure .content_box .kasou .heading {
  line-height: 1.9;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 28rem;
  font-weight: bold;
  margin-left: auto;
  margin-right: auto;
  padding-left: 37rem;
  padding-right: 37rem;
}
main .structure .content_box .kasou .heading span {
  display: block;
  color: #C2584A;
  font-weight: bold;
  font-size: 16rem;
}
main .structure .content_box .kasou .heading::before, main .structure .content_box .kasou .heading::after {
  content: "";
  display: block;
  width: 200rem;
  height: 1px;
  background-color: #A5A5A5;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(-100%, -50%);
  margin-top: 12rem;
}
main .structure .content_box .kasou .heading::after {
  left: auto;
  right: 0;
  transform: translate(100%, -50%);
}
main .structure .content_box .kasou ul {
  margin-top: 52rem;
  display: flex;
  flex-wrap: wrap;
  gap: 18rem 7rem;
  width: 710rem;
  margin-left: auto;
  margin-right: auto;
}
main .structure .content_box .kasou ul li {
  color: #fff;
  font-weight: bold;
  width: 136rem;
  height: 48rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 24rem;
  background-color: #D4B987;
}
main .structure .content_box .btn_demo {
  margin-top: 85rem;
}
main .flow {
  background-color: #C2584A;
  padding: 50rem 0 90rem;
  text-align: center;
}
main .flow .content_ttl {
  width: 322rem;
}
main .flow ol {
  margin-top: 90rem;
}
main .flow ol li {
  display: flex;
  justify-content: space-between;
}
main .flow ol li + li {
  margin-top: 50rem;
}
main .flow ol li .desc {
  color: #fff;
  text-align: left;
}
main .flow ol li .desc h3 {
  font-size: 30rem;
  display: flex;
  align-items: center;
}
main .flow ol li .desc h3 .circle {
  color: #C2584A;
  border-radius: 50%;
  background-color: #fff;
  margin-right: 0.5em;
  height: 3em;
  width: 3em;
  display: flex;
  justify-content: center;
  align-items: center;
}
main .flow ol li .desc p {
  margin: 1em 0 0 3em;
  width: 527rem;
}
main .flow ol li .desc p .tel_link {
  color: #fff;
  font-size: 16rem;
}
main .flow ol li .ph {
  width: 370rem;
}
main .faq {
  padding: 77rem 0 98rem;
  text-align: center;
}
main .faq .content_ttl {
  width: 322rem;
}
main .faq dl {
  text-align: left;
  font-size: 22rem;
  margin-top: 60rem;
}
main .faq dl span {
  display: block;
}
main .faq dl dt {
  color: #C2584A;
  border-bottom: 2px solid #C2584A;
  font-weight: bold;
  padding: 0 0.5em 0.5em 0;
  margin: 2em 0 0.5em;
  display: flex;
  align-items: flex-end;
  position: relative;
  cursor: pointer;
}
main .faq dl dt span {
  font-size: 30rem;
  font-weight: normal;
  margin-right: 0.9em;
}
main .faq dl dt::before {
  background-color: #C2584A;
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 2em;
  height: 2em;
}
main .faq dl dt::after {
  content: "";
  position: absolute;
  right: 0.7em;
  bottom: 0.8em;
  width: 0.5em;
  height: 0.5em;
  border-top: 1px solid;
  border-right: 1px solid;
  transform: rotate(135deg);
  border-color: #fff;
}
main .faq dl dt.active::after {
  bottom: 0.5em;
  transform: rotate(-45deg);
}
main .faq dl dd {
  display: flex;
  align-items: baseline;
}
main .faq dl dd span {
  font-size: 30rem;
  margin-right: 1em;
}
main .contact {
  color: #fff;
  background-color: #C2584A;
  padding: 49rem 0 105rem;
  color: #fff;
}
main .contact .content_ttl {
  font-size: 28rem;
  text-align: center;
  font-weight: bold;
}
main .contact .ttl_lead {
  font-size: 22px;
  margin-top: 33px;
  text-align: center;
}
main .contact .wrapper {
  margin-top: 62rem;
  display: flex;
  justify-content: center;
  gap: 75rem;
  align-items: center;
}
main .contact .wrapper .tel .num {
  width: 327rem;
}
main .contact .wrapper .tel .txt {
  text-align: center;
  margin-top: 18rem;
}
main .contact .wrapper .btn_more a {
  background-color: #fff;
  color: #C2584A;
  font-size: 20rem;
  width: 350rem;
  height: 76rem;
  border-radius: 60rem;
}
main .contact .wrapper .btn_more a::after {
  width: 10rem;
  height: 10rem;
  border-top: 1px solid #C2584A;
  border-right: 1px solid #C2584A;
  top: 50%;
  right: 30rem;
  transform: translateY(-50%) rotate(45deg);
}
main .contact .wrapper .btn_more a:hover::after {
  right: 20rem;
}
main .about {
  padding: 90rem 0 90rem;
}
main .about table th,
main .about table td {
  border-bottom: 1px solid #ccc;
  padding: 1.5em 3em;
}
main .about table th {
  color: #C2584A;
  position: relative;
  text-align: center;
  width: 18%;
}
main .about table th::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 5rem;
  right: 0;
  height: calc(100% - 30rem);
  border-right: 1px dotted #C4C4C4;
}

/*----- フッター -----*/
footer {
  padding: 30rem 0 20rem;
  text-align: center;
}
footer .logo_wrap {
  margin-left: auto;
  margin-right: auto;
  width: 310rem;
}
footer .logo_wrap .desc {
  font-size: 13rem;
  font-weight: bold;
  margin: 0 calc(50% - 50vw) 1.5em;
  width: 100vw;
}
footer .nav {
  display: flex;
  justify-content: center;
  margin-top: 60rem;
}
footer .nav li + li {
  margin-left: 2em;
}
footer .nav li a {
  font-size: 14rem;
  text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
  footer .nav li a:hover {
    opacity: 1;
    text-decoration: none;
  }
}
footer small {
  display: block;
  font-size: 14rem;
  margin-top: 1em;
}

/*/footer*/
@media screen and (max-width: 1279px) {
  html {
    font-size: 0.0781860829vw;
  }
}
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  html {
    font-size: 0.1333333333vw;
  }
  body {
    /*line-height: 1.4;*/
    font-size: 26rem;
  }
  p {
    /*line-height: 1.4;*/
  }
  img {
    /*width: 100%;*/
  }
  .inner {
    width: 670rem;
  }
  .ttl2 {
    font-size: 45rem;
    margin-left: auto;
    margin-right: auto;
    padding: 0.7em 0;
    width: 670rem;
  }
  .tel_link {
    /*text-decoration: underline;*/
  }
  .btn_navy a,
  .btn_navy button,
  .btn_purple a,
  .btn_purple button,
  .btn_yellow a,
  .btn_yellow button {
    font-size: 35rem;
    height: 140rem;
    width: 670rem;
  }
  .btn_navy a::after,
  .btn_navy button::after,
  .btn_purple a::after,
  .btn_purple button::after,
  .btn_yellow a::after,
  .btn_yellow button::after {
    right: 40rem;
    border-width: 17rem 0 17rem 30rem;
  }
  .btn_yellow a,
  .btn_yellow button {
    background: #FFE83C;
  }
  .notes {
    font-size: 20rem;
  }
  /*スクロールしたらフェードイン*/
  .s_fadein {
    /*transform: translateY(0%);*/
    transition: all 1s;
  }
  /*----- pageTop -----*/
  #pageTop {
    bottom: 120rem;
    right: 20rem;
  }
  #pageTop a {
    font-size: 40rem;
    height: 100rem;
    width: 100rem;
  }
  /*----- flbtn -----*/
  .flbtn_wrap .flbtn {
    bottom: 0;
  }
  header .h_inner {
    height: 95rem;
  }
  header .h_inner .logo {
    width: 190rem;
    position: relative;
    z-index: 1;
    opacity: 0;
    pointer-events: none;
    transition: 0.3s;
  }
  header .h_inner .logo.on {
    opacity: 1;
    pointer-events: all;
  }
  header .h_inner .right_wrap nav {
    position: fixed;
    right: 0;
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    background: rgba(255, 255, 255, 0.9);
    transition: ease 0.6s;
    margin-top: 0;
    opacity: 0;
    pointer-events: none;
  }
  header .h_inner .right_wrap nav ul {
    display: block;
    position: absolute;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: left;
  }
  header .h_inner .right_wrap nav ul li {
    font-weight: 500;
  }
  header .h_inner .right_wrap nav ul li a {
    color: #313131;
    font-size: 32rem;
  }
  header .h_inner .right_wrap nav ul li + li {
    margin-top: 52rem;
  }
  header .h_inner .right_wrap .icons .hamburger {
    background-color: transparent;
    width: 50rem;
    padding: 0;
    border: none;
  }
  header .h_inner .right_wrap .icons .hamburger span {
    width: 100%;
    height: 3rem;
    border-radius: 10%;
    border: 1px solid #000;
    background-color: #000;
    position: relative;
    transition: ease 0.4s;
    display: block;
  }
  header .h_inner .right_wrap .icons .hamburger span + span {
    margin-top: 14rem;
  }
  header.active {
    background-color: transparent;
  }
  header.active .h_inner .logo {
    opacity: 1 !important;
    pointer-events: all !important;
  }
  header.active .h_inner .right_wrap nav {
    opacity: 1;
    transition: ease 0.6s;
    pointer-events: auto;
  }
  header.active .h_inner .right_wrap .icons button span:nth-child(1) {
    top: 14rem;
    transform: rotate(45deg);
  }
  header.active .h_inner .right_wrap .icons button span:nth-child(2) {
    display: none;
  }
  header.active .h_inner .right_wrap .icons button span:nth-child(3) {
    top: -4rem;
    transform: rotate(-45deg);
  }
  /*/header*/
  .mv_area {
    padding: 95rem 0 0;
  }
  .mv_area .mv {
    width: 100%;
    flex-direction: column;
  }
  .mv_area .mv .logo_wrap {
    display: contents;
  }
  .mv_area .mv .logo_wrap .logo {
    margin-left: auto;
    margin-right: auto;
  }
  .mv_area .mv .logo_wrap .mv_txt {
    order: 1;
    margin: 86rem auto 0;
    width: 670rem;
  }
  .mv_area .mv .logo_wrap .mv_txt .box {
    font-size: 40rem;
    padding: 0;
    width: 100%;
  }
  .mv_area .mv .logo_wrap .mv_txt .txt {
    font-size: 32rem;
    text-align: center;
    margin-top: 20rem;
  }
  .mv_area .mv .pic {
    margin-left: auto;
    margin-right: auto;
    width: 607rem;
    margin-top: 88rem;
  }
  .mv_area .mv_cta {
    width: 580rem;
    margin-top: 80rem;
  }
  .mv_area .mv_cta .btn_wrap .txt {
    width: 466rem;
  }
  .mv_area .mv_cta .btn_wrap .btn_more {
    margin-top: 17rem;
  }
  .mv_area .mv_cta .btn_wrap .btn_more a {
    width: 580rem;
    height: 140rem;
    border-radius: 27rem;
    font-size: 34rem;
  }
  .mv_area .mv_cta .btn_wrap .btn_more a::after {
    right: 45rem;
  }
  /*/mv_area*/
  main {
    /*------------------------------*/
    /*----------ここから追加----------*/
    /*------------------------------*/
    /*/intro*/
    /*/service*/
    /*/plan*/
    /*/plus*/
    /*/flow*/
    /*faq*/
    /*/contact*/
    /*/about*/
  }
  main .intro {
    padding: 70rem 0 70rem;
  }
  main .intro::before {
    background-image: url(/assets/img/bg_intro_sp.png);
    width: 100vw;
    height: 2560rem;
    top: -355rem;
  }
  main .intro::after {
    bottom: -108rem;
    border-left: 162.5rem solid transparent;
    border-right: 162.5rem solid transparent;
    border-top: 109rem solid #C2584A;
  }
  main .intro .catch {
    width: 430rem;
  }
  main .intro ul {
    margin-top: 70rem;
  }
  main .intro ul li {
    font-size: 26rem;
    letter-spacing: 0;
    padding: 0.5em;
  }
  main .intro ul li + li {
    margin-top: 0;
  }
  main .intro ul li::before {
    width: 85rem;
    height: 72rem;
    margin: 0 35rem 0 0;
  }
  main .intro ul li span {
    padding-top: 26rem;
    min-height: 125rem;
    display: flex;
    align-items: center;
  }
  main .intro ul li span::after {
    width: 648rem;
    left: auto;
    right: 0;
  }
  main .service {
    padding: 150rem 0 30rem;
  }
  main .service .catch_wrap {
    flex-direction: column;
    margin-top: 12rem;
  }
  main .service .catch_wrap .txt {
    width: 568rem;
    margin-left: auto;
    margin-right: auto;
  }
  main .service .catch_wrap .pic {
    width: 457rem;
    margin: 55rem auto 0;
  }
  main .service .content_ttl {
    width: 417rem;
    margin-top: 232rem;
  }
  main .service ol {
    display: block;
    margin-top: 68rem;
  }
  main .service ol li {
    padding: 2.5em 2em;
    width: auto;
  }
  main .service ol li .num {
    width: 120rem;
  }
  main .service ol li:nth-of-type(even) {
    margin-left: 0;
  }
  main .service ol li:nth-of-type(n+3) {
    margin-top: 0;
  }
  main .service ol li + li {
    margin-top: 50rem !important;
  }
  main .service ol li h3 {
    font-size: 44rem;
    margin-top: 38rem;
    line-height: 1.6;
  }
  main .service ol li p {
    font-size: 26rem;
    margin-top: 35rem;
  }
  main .plan {
    padding: 70rem 0 120rem;
  }
  main .plan::before {
    content: "";
    display: block;
    width: 750rem;
    height: 474rem;
    background: url(/assets/img/bg_plan_top_sp.png) no-repeat center;
    background-size: contain;
    position: absolute;
    top: 81rem;
    left: 0;
    z-index: -1;
  }
  main .plan::after {
    content: "";
    display: block;
    width: 755rem;
    height: 641rem;
    background: url(/assets/img/bg_plan_btm_sp.png) no-repeat center;
    background-size: contain;
    position: absolute;
    top: auto;
    transform: translate(0);
    bottom: -197rem;
    left: 0;
    z-index: -1;
  }
  main .plan .content_ttl {
    width: 414rem;
  }
  main .plan .box_wrap {
    margin-top: 80rem;
    flex-direction: column;
    gap: 76rem;
    position: relative;
    z-index: 1;
  }
  main .plan .box_wrap::after {
    content: "";
    display: block;
    width: 100vw;
    height: 115%;
    background-color: #fff;
    position: absolute;
    top: 115rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
  }
  main .plan .box_wrap .box {
    width: 670rem;
    margin-left: auto;
    margin-right: auto;
  }
  main .plan .box_wrap .box .heading {
    height: 207rem;
    font-size: 57rem;
  }
  main .plan .box_wrap .box .detail_wrap {
    padding: 25rem 40rem 70rem;
  }
  main .plan .box_wrap .box .detail_wrap .price {
    font-size: 128rem;
  }
  main .plan .box_wrap .box .detail_wrap .price .txt1 {
    font-size: 75rem;
  }
  main .plan .box_wrap .box .detail_wrap .price .txt2 {
    font-size: 30rem;
  }
  main .plan .box_wrap .box .detail_wrap .desc {
    font-size: 26rem;
    white-space: nowrap;
  }
  main .plan .box_wrap .box .detail_wrap .check {
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
  }
  main .plan .box_wrap .box .detail_wrap .check li {
    font-size: 30rem;
    margin-top: 52rem;
    padding-left: 75rem;
  }
  main .plan .box_wrap .box .detail_wrap .check li::before {
    width: 49rem;
    height: 49rem;
  }
  main .plan .box_wrap .box .detail_wrap .check li + li {
    margin-top: 50rem;
  }
  main .plan .box_wrap .box .detail_wrap .check li .txt {
    font-size: 22rem;
    width: 494rem;
    margin-top: 30rem;
    margin-left: -70rem;
  }
  main .plan .box_wrap .box.marunage .detail_wrap .check li:nth-child(2) {
    margin-top: 145rem;
  }
  main .plan .box_wrap .box.marunage .detail_wrap .check li:nth-child(2)::after {
    width: 61rem;
    height: 61rem;
    top: -106rem;
    left: 220rem;
  }
  main .plan .btn_demo {
    margin: 75rem auto 0;
    width: 580rem;
    position: relative;
    z-index: 1;
  }
  main .plan .support_wrap {
    margin-top: 62rem;
    position: relative;
    z-index: 1;
  }
  main .plan .support_wrap .heading {
    font-size: 40rem;
    padding-left: 32rem;
    padding-right: 32rem;
  }
  main .plan .support_wrap .heading::before, main .plan .support_wrap .heading::after {
    width: 110rem;
  }
  main .plan .support_wrap .price {
    font-size: 108rem;
  }
  main .plan .support_wrap .price .txt1 {
    font-size: 63rem;
  }
  main .plan .support_wrap .price .txt2 {
    font-size: 26rem;
  }
  main .plan .support_wrap .desc {
    font-size: 26rem;
  }
  main .plan .support_wrap .desc span {
    display: none;
  }
  main .plus {
    padding: 140rem 0 170rem;
  }
  main .plus::after {
    top: -76rem;
    width: 136rem;
    height: 136rem;
  }
  main .plus .content_ttl {
    font-size: 40rem;
  }
  main .plus .cont ul {
    gap: 78rem 18rem;
  }
  main .plus .cont ul li {
    width: 325rem;
    min-height: 340rem;
  }
  main .plus .cont ul li .heading {
    font-size: 26rem;
    margin-top: 40rem;
    min-height: 70rem;
  }
  main .plus .cont ul li .desc {
    margin-top: 20rem;
    font-size: 24rem;
    padding-left: 24rem;
    padding-right: 24rem;
  }
  main .structure .content_box .content_ttl {
    width: 417rem;
  }
  main .structure .content_box .kousei .item_wrap li {
    width: 200rem;
    height: 90rem;
    border-radius: 45rem;
  }
  main .structure .content_box .kousei .ico_plus {
    width: 49rem;
  }
  main .structure .content_box .kousei .txt {
    width: 620rem;
    height: 78rem;
    border-radius: 39rem;
  }
  main .structure .content_box .example_page {
    flex-direction: column;
  }
  main .structure .content_box .example_page .img_box {
    width: 409rem;
    margin-left: auto;
    margin-right: auto;
  }
  main .structure .content_box .example_page .txt_box {
    width: 453rem;
    margin-left: auto;
    margin-right: auto;
  }
  main .structure .content_box .example_page .txt_box::before, main .structure .content_box .example_page .txt_box::after {
    width: 41rem;
    height: 417rem;
    background-image: url(/assets/img/pic_structure_example_kakko_sp.svg);
  }
  main .structure .content_box .example_page .txt_box .heading {
    font-size: 34rem;
  }
  main .structure .content_box .example_page .txt_box ul li {
    font-size: 26rem;
  }
  main .structure .content_box .kasou .heading {
    font-size: 40rem;
  }
  main .structure .content_box .kasou .heading::before, main .structure .content_box .kasou .heading::after {
    width: 120rem;
  }
  main .structure .content_box .kasou .heading span {
    font-size: 22rem;
  }
  main .structure .content_box .kasou ul {
    gap: 20rem 7rem;
    width: 618rem;
  }
  main .structure .content_box .kasou ul li {
    font-size: 24rem;
    font-weight: 600;
    width: 200rem;
    height: 65rem;
    border-radius: 33rem;
  }
  main .structure .content_box .btn_demo {
    width: 580rem;
    margin-left: auto;
    margin-right: auto;
  }
  main .flow {
    padding: 60rem 0 100rem;
  }
  main .flow .content_ttl {
    width: 417rem;
  }
  main .flow ol {
    margin-top: 70rem;
  }
  main .flow ol li {
    display: block;
  }
  main .flow ol li + li {
    margin-top: 70rem;
  }
  main .flow ol li .desc h3 {
    /*font-size: 50rem;*/
    font-size: 48rem;
    /*letter-spacing: -0.05em;*/
  }
  main .flow ol li .desc h3 .circle {
    margin-right: 0.3em;
    height: 2.5em;
    width: 2.5em;
  }
  main .flow ol li .desc p {
    margin: 1.5em 0 2em;
    width: auto;
  }
  main .flow ol li .desc p .tel_link {
    font-size: 26rem;
    text-decoration: underline;
  }
  main .flow ol li .ph {
    margin-left: auto;
    margin-right: auto;
    width: 500rem;
  }
  main .faq {
    padding: 60rem 0 100rem;
  }
  main .faq .content_ttl {
    width: 417rem;
  }
  main .faq dl {
    font-size: 35rem;
  }
  main .faq dl dt {
    align-items: baseline;
    padding: 0 0.5em 0.5em 0;
    margin: 2em 0 0.5em;
    font-size: 34rem;
  }
  main .faq dl dt span {
    font-size: 40rem;
    margin-right: 0.5em;
  }
  main .faq dl dd {
    font-size: 26rem;
  }
  main .faq dl dd span {
    font-size: 30rem;
    margin-right: 0.5em;
  }
  main .contact {
    padding: 100rem 0;
  }
  main .contact .content_ttl {
    font-size: 40rem;
  }
  main .contact .ttl_lead {
    font-size: 30rem;
  }
  main .contact .wrapper {
    flex-direction: column;
  }
  main .contact .wrapper .tel .num {
    width: 519rem;
  }
  main .contact .wrapper .tel .txt {
    font-size: 25rem;
  }
  main .contact .wrapper .btn_more a {
    font-size: 30rem;
    width: 588rem;
    height: 122rem;
    border-radius: 80rem;
  }
  main .contact .wrapper .btn_more a::after {
    width: 16rem;
    height: 16rem;
    right: 65rem;
  }
  main .about {
    padding: 100rem 0 20rem;
  }
  main .about .f_logo {
    width: 410rem;
    margin-left: auto;
    margin-right: auto;
    margin-top: 80rem;
  }
  main .about table th {
    padding: 1.5em 0;
    width: 25%;
  }
  main .about table td {
    padding: 1.5em 0 1.5em 1em;
  }
  /*----- フッター -----*/
  footer {
    padding: 30rem 0 40rem;
  }
  footer .logo_wrap {
    width: 608rem;
  }
  footer .logo_wrap .desc {
    font-size: 30rem;
  }
  footer .nav {
    margin-top: 45rem;
  }
  footer .nav li a {
    font-size: 26rem;
  }
  footer small {
    font-size: 21rem;
    margin-top: 2em;
  }
  /*/footer*/
}/*# sourceMappingURL=style.css.map */