@charset "EUC-JP";

/* reset */
*:where(:not(iframe, canvas, img, svg, video):not(svg *)){
  all: unset;
  display: revert;
}
*,
*::before,
*::after{
  box-sizing: border-box;
}
a {
  cursor: pointer;
}
ol, ul {
  list-style: none;
}
img {
  max-width: 100%;
}
/* common */
body {
  font-family: 'Noto Sans', 'Noto Sans JP', sans-serif;
  font-size: 16px;
  font-weight: 400;
  font-feature-settings: "palt";
  background: #fff;
  color: #2c3849;
  line-height: 1.7;
  position: relative;
}
.section-wrap {
  width: 100%;
}
.section-wrap:last-of-type {
  margin-bottom: 240px;
}
.section-inner {
  width: 100%;
  max-width: 1080px;
  margin: 100px auto;
  padding: 0 16px;
}
.text-notes {
  font-size: 14px;
}
.text-orange {
  color: #fcad05;
}
.cta-btn {
  width: 100%;
  max-width: 400px;
  font-size: 18px;
  font-weight: 700;
  color: #2c3849;
  background: #fcad05;
  border: solid 2px #fcad05;
  border-radius: 100px;
  padding: 20px 24px;
  text-align: center;
  display: inline-block;
  transition: .3s;
}
.cta-btn:hover, .cta-btn:active {
  color: #fcad05;
  background: #2c3849;
  border: solid 2px #fcad05;
}
.content-title {
  font-size: 32px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 60px;
}
.content-sub-title {
  font-size: 22px;
  font-weight: 700;
}
.text-link {
  text-decoration: underline;
}
.text-link:hover, .text-link:active {
  text-decoration: none;
}
.pc {
  display: inline-block;
}
.sp, .tb {
  display: none;
}
/* fixarea */
.fixarea {
  width: 100%;
  color: #fff;
  background: rgba(44,56,73,.9);
  text-align: center;
  padding: 20px;
  position: fixed;
  bottom: 0;
  opacity: 0;
  z-index: 0;
  transition: .5s;
}
.fixarea.show {
  opacity: 1;
  z-index: 1;
}
.fixarea-cta-btn {
  margin-top: 8px;
}
/* top */
.top-logo {
  position: absolute;
  top: 40px;
  right: 40px;
}
.top-wrap {
  width: 100%;
  color: #fff;
  background: #2c3849;
  padding: 40px;
  position: relative;
  z-index: 1;
}
.top-wrap:after {
  width: 32vw;
  height: 100%;
  content: "";
  background: #f4f4f4;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -2;
}
.top-inner {
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  gap: 4vw;
  align-items: center;
  position: relative;
}
.top-textarea {
  text-align: center;
  filter: drop-shadow(0 0 5px rgba(44,56,73,.9));
}
.top-sb-image {
  width: 156px;
}
.top-title {
  font-size: 3.25vw;
  font-weight: 700;
  line-height: 1.5;
}
.top-text {
  margin-top: 32px;
  font-size: 18px;
}
.top-btnarea {
  margin-top: 32px;
}
.top-btnarea-text {
  margin-bottom: 8px;
}
.top-cta-btn {
  width: 100%;
  max-width: 400px;
  padding: 20px;
}
.top-notes {
  margin-top: 32px;
  opacity: .8;
}
.top-image {
  width: 32vw;
  right: 0;
  text-align: center;
  z-index: -1;
}
.top-image img {
  width: 100%;
  max-width: 550px;
}
/* trouble */
.trouble-inner {
  text-align: center;
  padding-bottom: 48px;
  position: relative;
}
.trouble-inner::after {
  width: 20px;
  height: 49px;
  content: "";
  background: url("../images/arrow-down.svg");
  position: absolute;
  bottom: -48px;
  right: 50%;
}
.trouble-list-wrap {
  width: 100%;
  max-width: 900px;
  display: inline-flex;
  justify-content: space-between;
  position: relative;
}
.trouble-list-item {
  width: calc(100% / 3 - 32px);
  min-width: 260px;
  min-height: 150px;
  line-height: 1.5;
  background: url("../images/content-sb.svg") no-repeat center / contain;
  position: relative;
  z-index: -1;
}
.trouble-list-text {
  width: 195px;
  height: 60px;
  margin: 0 auto;
  position: relative;
  top: 22%;
  transform: rotate(3deg);
  white-space: nowrap;
}
/* service */
.em-dot {
  position: relative;
}
.em-dot::before {
  content: "¡¦¡¦";
  position: absolute;
  top: -1em;
  left: 0;
}
.service-wrap {
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  padding-top: 24px;
}
.service-item {
  display: flex;
  justify-content: space-between;
  margin-bottom: 60px;
}
.service-item:last-of-type {
  margin-bottom: 0;
}
.service-item-text {
  max-width: 600px;
}
.service-item-title {
  margin-bottom: 24px;
}
.service-item-title.em-left, .service-item-title.em-left + .service-text {
  width: calc(100% - 30px);
  display: inline-block;
  position: relative;
  left: 30px;
}
.service-item-title.em-left + .service-text {
  max-width: 550px;
}
.em-left, .em-right {
  position: relative;
}
.em-left::before {
  width: 30px;
  height: 30px;
  content: "";
  background: url("../images/em-image.svg") no-repeat;
  position: absolute;
  top: -24px;
  left: -32px;
}
.em-right::after {
  width: 30px;
  height: 30px;
  content: "";
  background: url("../images/em-image.svg") no-repeat;
  transform: scale(-1, 1);
  position: absolute;
  top: -24px;
  left: 370px;
}
.service-item-image {
  width: 42%;
  min-width: 260px;
  text-align: center;
}
.service-item-image img {
  max-width: 260px;
}
/* flowlist */
.flowlist-item {
  padding: 40px;
}
.flowlist-item:nth-child(2n+1) {
  background: #f4f4f4;
  position: relative;
}
.flowlist-item:nth-child(2n) {
  background: #e7e8ea;
  position: relative;
}
.flowlist-item.arrow-light::before {
  width: 0;
  height: 0;
  content: "";
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 20px solid #f4f4f4;
  position: absolute;
  top: 0;
  left: 48px;
}
.flowlist-item.arrow-dark::before {
  width: 0;
  height: 0;
  content: "";
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 20px solid #e7e8ea;
  position: absolute;
  top: 0;
  left: 48px;
}
.flowlist-number {
  font-size: 24px;
  margin-right: 8px;
}
.flowlist-text {
  margin: 16px 0;
}
.flowlist-item .btn-area {
  width: 100%;
  text-align: center;
  margin-top: 32px;
}
.flowlist-step-wrap {
  background: #fff;
  padding: 24px;
  margin-top: 20px;
  display: flex;
  justify-content: space-between;
}
.flowlist-step-item {
  position: relative;
}
.flowlist-step-item.arrow {
  width:100%;
  max-width: 22px;
  margin: 0 auto;
  padding: 4px;
  display: flex;
  align-items: center;
}
.flowlist-step {
  font-weight: 700;
}
.step-text {
  width: 100%;
  max-width: 240px;
  font-size: 15px;
  margin-top: 4px;
}
/* faq */
.faq-q {
  margin-top: 48px;
}
.faq-q:first-of-type {
  margin-top: 0;
}
.faq-a {
  background: #f4f4f4;
  padding: 24px;
  margin-top: 24px;
}
@media (max-width: 800px) {
  /* common */
  body {
    font-size: 14px;
  }
  .section-inner {
    margin: 60px auto;
  }
  .content-title {
    font-size: 21px;
    margin-bottom: 48px;
  }
  .content-sub-title {
    font-size: 16px;
  }
  .cta-btn {
    width: 100%;
    font-size: 14px;
    padding: 12px 0;
    display: inline-block;
  }
  .pc {
    display: none;
  }
  .tb {
    display: inline-block;
  }
  /* top */
  .top-logo {
    top: 38px;
    right: 38px;
  }
  .top-wrap {
    padding: 24px;
  }
  .top-textarea {
    text-align: left;
  }
  .top-text {
    font-size: 15px;
  }
  .top-wrap::after {
    width: 185px;
    height: 50px;
    top: 24px;
    right: 24px;
  }
  .top-title {
    font-size: 24px;
  }
  .top-image {
    width: 50%;
    position: absolute;
    bottom: 16px;
  }
  .top-cta-btn {
    max-width: 312px;
  }
  /* trouble */
  .trouble-inner::after {
    bottom: -5%;
  }
  .trouble-list-wrap {
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
  }
  .trouble-list-item {
    min-width: 220px;
    min-height: 150px;
  }
  .trouble-list-text {
    top: 28%;
  }
  /* service */
  .service-item {
    flex-wrap: wrap;
    justify-content: center;
  }
  .service-item:nth-child(2) {
    flex-direction: column-reverse;
    align-items: center;
  }
  .service-item-image {
    margin-top: 20px;
  }
  .service-item-title.em-left + .service-text {
    width: 100%;
    left: auto;
  }
  .em-right::after {
    background: url(../images/em-image.svg) no-repeat;
    transform: scale(1, 1);
    left: -32px;
  }
  .service-item-title.em-right {
    width: calc(100% - 30px);
    position: relative;
    left: 30px;
  }
  /* flowlist */
  .flowlist-item {
    padding: 24px;
  }
  .flowlist-number {
    font-size: 18px;
  }
  .flowlist-item .btn-area {
    margin-top: 16px;
  }
  .flowlist-step-wrap {
    flex-direction: column;
  }
  .flowlist-step-item.arrow {
    transform: rotate(90deg);
  }
  .step-text {
    max-width: 100%;
  }
  /* faq */
  .faq-a {
    padding: 16px;
  }
}
@media (max-width: 480px) {
  .sp {
    display: inline-block;
  }
  .fixarea {
    font-size: .95em;
    font-feature-settings: "palt";
  }
  .top-sb-image {
    width: 100px;
  }
  .top-image {
    bottom: auto;
  }
}