@charset "utf-8";

/******
フォント

Zen Maru Gothic
font-family: "Zen Maru Gothic", serif;
font-weight: 400;regular
font-weight: 500;medium
	font-weight: 700;bold

	Noto Sans JP
	font-family: "Noto Sans JP", sans-serif;

*******/

body {
  color: #50494b;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 500;
  font-style: normal;
}

.img {
  width: 100%;
  height: auto;
  display: block;
}

.inner--1240 {
  max-width: 86.111vw;
  margin-left: auto;
  margin-right: auto;
}

.img--sp {
  display: none;
}

.ilblk {
  display: inline-block;
}

.hover--opacity {
  transition: opacity 0.3s;
}

.hover--opacity:hover {
  opacity: 0.7;
}

/*-----------
fv
------------*/
.fv {
  padding: 46px 0 20px;
  position: relative;
  background-color: #ec6d5e;
}
.fv__img {
  max-width: 97.708vw;
  margin: 0 auto 0 0;
}
.fv__img--sp {
  display: none;
}
.illust__img1 {
  width: 100%;
  max-width: 9.166vw;
  position: absolute;
  bottom: -2.847vw;
  left: 12.152vw;
}

/*-----------
intro
------------*/
.intro {
  position: relative;
  padding: 4.583vw 0 5.555vw;
}
.intro__heading {
  color: #ec6d5e;
  font-size: 2.777vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.75;
}
.line--dotted {
  width: 29.166vw;
  height: 0.347vw;
  margin: 1.111vw auto 1.875vw;
  background: url("../imgs/line_dotted.png") center center / contain no-repeat;
}
.intro__text {
  color: #50494b;
  font-size: 1.736vw;
  font-weight: 500;
  text-align: center;
  line-height: 1.75;
}
.deco--type01 {
  max-width: 12.013vw;
  position: absolute;
  top: -4.027vw;
  right: 11.111vw;
}

/*-----------
worries
------------*/
.worries {
  position: relative;
  padding: 6.875vw 0 41.527vw;
  background-color: #a0d7dc;
}
.worries__wrap {
  width: 100%;
  max-width: 84.513vw;
  margin: 0 auto;
}
.worries__heading--img {
  max-width: 40.902vw;
}
.worries--img {
  position: absolute;
  z-index: 2;
}
.worries--img1 {
  max-width: 24.583vw;
  top: 2.638vw;
  right: 19.513vw;
}
.worries--img2 {
  max-width: 25.555vw;
  top: 21.527vw;
  left: 7.152vw;
}
.worries--img3 {
  max-width: 23.611vw;
  top: 22.638vw;
  left: 39.583vw;
}
.worries--img4 {
  max-width: 23.611vw;
  right: 8.333vw;
  bottom: 7.222vw;
}
.worries--img5 {
  max-width: 26.388vw;
  bottom: -0.833vw;
  left: 13.888vw;
}
.worries__deco--type01 {
  max-width: 8.541vw;
  top: 17.083vw;
  left: 33.888vw;
}
.worries__deco--type02 {
  max-width: 7.013vw;
  top: 19.027vw;
  right: 10.416vw;
}
.worries__deco--type03 {
  max-width: 7.777vw;
  bottom: -2.361vw;
  left: 40.486vw;
}

/*-----------
type
------------*/
.type {
  padding: 11.041vw 0 11.111vw;
  position: relative;
  background: url("../imgs/bg_2.png") center center / cover no-repeat;
}
.type__wrap {
  width: 100%;
  max-width: 86.111vw;
  padding: 5.277vw 6% 5.902vw;
  margin: 0 auto;
  position: relative;
  background-color: #fff;
  border: 8px solid #a0d7dc;
  border-radius: 96px;
}
.type__text {
  color: #50494b;
  font-size: 1.736vw;
  font-weight: 700;
  text-align: center;
  margin-bottom: 1.666vw;
  line-height: 1.4;
}
.type__title--img {
  margin: 0 auto 2.777vw;
  max-width: 40.277vw;
}
.type__list {
  width: 100%;
  max-width: 70.625vw;
  margin: 0 auto;
  display: flex;
}
.type__list-item {
  width: 20%;
  max-width: 14.124vw;
}
.bg__wave--type01 {
  position: absolute;
  top: 0;
}
.bg__wave--type03 {
  position: absolute;
  bottom: 0;
}
.type__deco--type01 {
  max-width: 12.361vw;
  position: absolute;
  top: 4.861vw;
  left: -2.569vw;
}

/*-----------
flow
------------*/
.flow__back {
  background-color: #ec6d5e;
  padding-top: 12px;
}

.flow__wrap {
  position: relative;
  padding-bottom: 45px;
}
.flow__heading {
  width: 29.375vw;
  margin: 0 auto 1.597vw;
}
.flow__list--img {
  max-width: 79.103vw;
  margin: 0 auto 3.402vw;
}
.flow_heading--img {
  max-width: 63.472vw;
  margin: 0 auto;
}
.flow__deco--img {
  position: absolute;
}
.flow__deco--type01 {
  max-width: 12.013vw;
  top: -9.722vw;
  left: 13.819vw;
}
.flow__deco--type02 {
  max-width: 12.361vw;
  bottom: 10.902vw;
  right: 3.333vw;
}

.flow__guide {
  padding-top: 138px;
  padding-bottom: 134px;
  background-image: url(../imgs/mask.png);
  background-position: center top;
  background-color: #fff;
  background-repeat: no-repeat;
  background-size: 100% auto;
}
.icon--img1 {
  max-width: 77px;
  margin: 0 auto 30px;
}

.flow__intro {
  background-color: #fff;
  padding-bottom: 118px;
  position: relative;
}

.intro__human {
  width: 90px;
  position: absolute;
  right: 150px;
  bottom: 0;
}

.intro__inner {
  max-width: 65.277vw;
  margin-left: auto;
  margin-right: auto;
}

.intro__overview-item {
  display: flex;
  align-items: center;
  padding-bottom: 10px;
  border-bottom: 1px solid #a0d7dc;
  position: relative;
  font-family: "Zen Maru Gothic", serif;
  font-size: 18px;
}

.intro__overview-item:not(:last-child) {
  margin-bottom: 50px;
}

.intro__overview-label {
  font-weight: 700;
  min-width: 190px;
  margin-right: 20px;
  line-height: 1.94;
}
.intro__overview-field {
  font-weight: 500;
  line-height: 1.66;
}

.intro__overview-label::before {
  display: block;
  content: "";
  height: 5px;
  width: 190px;
  background-color: #a0d7dc;
  position: absolute;
  left: 0;
  bottom: -2.5px;
}

.flow__intro--heading {
  font-size: 30px;
  font-family: "Zen Maru Gothic", serif;
  color: #50494b;
  font-weight: 700;
  text-align: center;
  padding-bottom: 24px;
  position: relative;
}

.intro__heading--2 {
  margin-bottom: 60px;
}

.intro__heading--3 {
  margin-bottom: 52px;
}

.flow__intro--heading::after {
  display: block;
  width: 168px;
  height: 17.5px;
  content: "";
  background-image: url(../imgs/sec_line.png);
  background-size: 100% 100%;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  bottom: -8px;
}

.intro__overview--type02 {
  margin-bottom: 34px;
}
.intro__overview--type02 .intro__overview-item {
  border-bottom: 1px solid #ec6d5e;
}

.intro__overview--type02 .intro__overview-label {
  font-size: 25px;
  font-weight: 700;
  min-width: 229px;
}

.intro__overview--type02 .intro__overview-label::before {
  width: 229px;
  background-color: #ec6d5e;
}
.flow__guideText {
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 57px;
  line-height: 1.94;
}
.flow__guide--btn {
  color: #fff;
  font-size: 25px;
  font-weight: 700;
  width: 100%;
  max-width: 500px;
  padding: 21px 10px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background-color: #ec6d5e;
  border-radius: 35px;
}
.flow__guide--btn:after {
  content: "";
  display: inline-block;
  width: 14px;
  height: 16px;
  position: absolute;
  right: 36px;
  background: url("../imgs/element.png") center center / cover no-repeat;
}

@media screen and (max-width: 1440px) {
  .intro__inner {
    max-width: 940px;
  }
}

@media screen and (max-width: 1380px) {
  .flow__intro {
    padding-bottom: 215px;
  }
}

@media screen and (max-width: 1040px) {
  .intro__inner {
    max-width: 100%;
    margin-left: 4%;
    margin-right: 4%;
  }
}

@media screen and (max-width: 1008px) {
  .inner--908 {
    max-width: 100%;
    margin-left: 4%;
    margin-right: 4%;
  }
}

@media screen and (max-width: 860px) {
  .inner--1240 {
    max-width: 100%;
    margin-left: 4%;
    margin-right: 4%;
  }

  .img--sp {
    display: block;
  }
  .img--pc {
    display: none;
  }
  /*-----------
intro
------------*/
  .intro {
    padding: 40px 0 47px;
  }
  .intro__heading {
    font-size: 23px;
  }
  .line--dotted {
    width: 248px;
    height: 3px;
    margin: 9px auto 16px;
  }
  .intro__text {
    font-size: 15px;
  }
  /*-----------
worries
------------*/
  .worries {
    padding: 60px 0 0px;
  }
  .worries__wrap {
    max-width: 727px;
  }
  .worries__heading--img {
    max-width: 348px;
  }
  .worries--img6 {
    width: 100%;
    max-width: 536px;
    margin: 0 auto;
  }

  .worries__deco--type01 {
    width: 12%;
    max-width: 73px;
    top: 180px;
    left: 8%;
  }
  .worries__deco--type02 {
    width: 8%;
    max-width: 60px;
    top: 44%;
    right: 7%;
  }
  .worries__deco--type03 {
    width: 8%;
    max-width: 66px;
    bottom: 10%;
    left: 15%;
  }

  /*-----------
type
------------*/
  /* .type {
  padding: 95px 0;
} */
  .type__wrap {
    width: 100%;
    max-width: 740px;
    padding: 45px 6% 50px;
    border-radius: 86px;
    border: 6px solid #a0d7dc;
  }
  .type__text {
    font-size: 15px;
    margin-bottom: 14px;
  }
  .type__title--img {
    margin: 0 auto 24px;
    max-width: 346px;
  }
  .type__list {
    width: 100%;
    max-width: 318px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  .type__list-item {
    width: calc(100% / 2);
    max-width: 159px;
  }
  .type__deco--type01 {
    width: 18%;
    max-width: 106px;
    top: 4.861vw;
    left: -5%;
  }

  /*-----------
flow
------------*/
  .flow__intro {
    padding-bottom: 185px;
  }
  .flow__heading {
    width: 100%;
    max-width: 252px;
    margin: 0 auto 15px;
  }
  .flow__list--img {
    max-width: 320px;
    margin: 0 auto 29px;
  }
  .flow_heading--img {
    max-width: 545px;
    margin: 0 auto;
  }
  .flow__deco--type02 {
    display: none;
  }

  .intro__overview-label {
    min-width: 165px;
  }
  .intro__overview-label::before {
    width: 165px;
  }

  .flow__guide {
    padding-top: 108px;
    padding-bottom: 84px;
  }
  .icon--img1 {
    max-width: 67px;
  }
  .flow__intro--heading {
    font-size: 24px;
    padding-bottom: 19px;
  }
  .intro__heading--2 {
    margin-bottom: 50px;
  }
  .intro__heading--3 {
    margin-bottom: 42px;
  }
  .flow__intro--heading::after {
    width: 138px;
    height: 12.5px;
    bottom: -8px;
  }
  .intro__overview-item {
    padding-bottom: 10px;
    font-size: 16px;
  }
  .intro__overview--type02 {
    margin-bottom: 24px;
  }
  .intro__overview--type02 .intro__overview-label {
    font-size: 21px;
    min-width: 199px;
  }
  .intro__overview--type02 .intro__overview-label::before {
    width: 199px;
  }
  .flow__guideText {
    font-size: 16px;
    margin-bottom: 57px;
  }
  .flow__guide--btn {
    font-size: 21px;
    padding: 18px 10px;
  }
  .flow__guide--btn:after {
    width: 12px;
    height: 14px;
  }

  .intro__human {
    width: 70px;
    right: 40px;
  }
}

@media screen and (max-width: 640px) {
  /*-----------
fv
------------*/
  .fv {
    padding: 16px 0 15px;
    position: relative;
    background-color: #ec6d5e;
  }
  .fv__img--pc {
    display: none;
  }
  .fv__img--sp {
    display: block;
  }

  /*-----------
flow
------------*/
  .flow__intro {
    padding-bottom: 145px;
  }

  .intro__overview-item {
    display: block;
  }
  .intro__overview-item:not(:last-child) {
    margin-bottom: 30px;
  }
  .intro__overview-label,
  .intro__overview-field {
    display: block;
  }
  .intro__overview-label {
    position: relative;
    padding-bottom: 7px;
    margin-bottom: 12px;
  }

  .intro__overview-label {
    min-width: 155px;
  }
  .intro__overview-label::before {
    width: 155px;
  }

  .flow__guide {
    padding-top: 88px;
  }
  .icon--img1 {
    max-width: 56px;
  }
  .flow__intro--heading {
    font-size: 20px;
    padding-bottom: 19px;
  }
  .intro__heading--2 {
    margin-bottom: 40px;
  }
  .intro__heading--3 {
    margin-bottom: 32px;
  }
  .flow__intro--heading::after {
    width: 118px;
    height: 10.7px;
  }
  .intro__overview--type02 .intro__overview-label {
    font-size: 17px;
    min-width: 159px;
  }
  .intro__overview--type02 .intro__overview-label::before {
    width: 159px;
  }
  .intro__overview-item {
    font-size: 15px;
  }
  .flow__guideText {
    font-size: 15px;
    margin-bottom: 37px;
  }
  .flow__guide--btn {
    font-size: 17px;
    padding: 15px 10px;
  }
  .flow__guide--btn:after {
    width: 10px;
    height: 12px;
    right: 20px;
  }

  .intro__human {
    width: 50px;
  }
}

@media screen and (max-width: 480px) {
  /*-----------
intro
------------*/
  .intro__heading {
    font-size: 20px;
  }
  .line--dotted {
    width: 208px;
  }
  .intro__text {
    font-size: 14px;
  }

  /*-----------
worries
------------*/
  .worries {
    padding: 50px 0 0px;
  }
  .worries__heading--img {
    width: 96%;
  }
  .worries__deco--type01 {
    min-width: 47px;
    top: 27%;
    left: 4%;
  }
  .worries__deco--type02 {
    min-width: 28px;
    top: 47%;
    right: 4%;
  }
  .worries__deco--type03 {
    min-width: 28px;

    left: 4%;
  }

  /*-----------
type
------------*/
  .type__wrap {
    border-radius: 76px;
  }
  .type__deco--type01 {
    top: 0;
  }
}

@media screen and (max-width: 375px) {
}
