/* =======================================
 top
======================================= */
.top-link-area{
  position: absolute;
  left: 0;
  width: 100%;
  background: #fff;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 60px;
  height: 4em;
  font-weight: 500;
  z-index: 2;
  padding-top: 0.5em;
}
.top-link-area + .fp-kv{
  margin-top: 4em;
  
}

.top-link-area a{
  background: url(../../img/info/arrow.png) no-repeat center right /1.067em auto;
  padding-right: 1.4em;
  padding-top: 0.2em;
  padding-bottom: 0.4em;
}

@media only screen and (max-width: 750px) {
  .top-link-area{
    padding-top: 0;
    top: 60px;
    height: 11vw;
    padding-top: 0.5vw;
    font-size: 3vw;
    padding-bottom: 0.2em;
  }
  .top-link-area + .fp-kv{
    margin-top: 80px;
  }
}
@media only screen and (min-width: 751px) {
  .contents.fornt-page {
    margin-top: 0;
  }
  .top-link-area a{
    transition: .4s ease;
    &:hover{
      opacity: 0.6;
    }
  }
}

.fp-kv {
  overflow: hidden;
  position: relative;
}

.fp-kv-bg {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
@media only screen and (min-width: 751px) {
  .fp-kv-bg img {
    height: 100%;
    max-width: 100%;
    object-fit: cover;
    width: inherit;
  }
}

.fp-kv-main {
  color: #fff;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 750px) {
  .fp-kv-main {
    height: 160vw;
    padding-top: 13.867vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-kv-main {
    height: 57.333em;
    padding-top: 9em;
  }
}

.fp-kv-lead {
  background: url(../../img/top/kv_no1@2x.png) 0 0/contain no-repeat;
  font-weight: 500;
  letter-spacing: 0.07em;
  margin: auto;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .fp-kv-lead {
    font-size: 4.267vw;
    height: 11.867vw;
    padding-top: 1.333vw;
    width: 75.733vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-kv-lead {
    font-size: 166.667%;
    height: 2.84em;
    padding-top: 0.24em;
    width: 18.04em;
  }
}
.fp-kv-lead .dots {
  background-image: radial-gradient(circle at center, #fff 15%, transparent 15%);
  background-position: 100% 0;
  background-repeat: repeat-x;
  background-size: 1.1em 0.5em;
  display: inline-block;
  padding-top: 0.6em;
}
@media only screen and (min-width: 751px) {
  .fp-kv-lead .fon28 {
    font-size: 112%;
  }
}
@media only screen and (max-width: 750px) {
  .fp-kv-lead .fon33 {
    font-size: 5.333vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-kv-lead .fon33 {
    font-size: 132%;
  }
}
@media only screen and (max-width: 750px) {
  .fp-kv-lead .fon45 {
    font-size: 7.733vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-kv-lead .fon45 {
    font-size: 180%;
  }
}
.fp-kv-lead sup {
  display: inline-block;
  vertical-align: top;
}
@media only screen and (max-width: 750px) {
  .fp-kv-lead sup {
    font-size: 2.667vw;
    margin: 0.2em 0 0 -0.4em;
  }
}
@media only screen and (min-width: 751px) {
  .fp-kv-lead sup {
    font-size: 44%;
    margin: 0.5em 0 0 -0.6em;
  }
}

.fp-kv-main {
  color: #fff;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 750px) {
  .fp-kv-main {
    height: 160vw;
    padding-top: 13.867vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-kv-main {
    height: 57.333em;
    padding-top: 9em;
  }
}

.fp-kv-title-area {
  text-align: center;
	span{
		display: block;
	}
	.xl,.large{
		display: inline;
	}
}
@media only screen and (max-width: 750px) {
  .fp-kv-title-area {
    background: url(../../img/top/kv_title_sp.png) 0 0/contain no-repeat;
    height: 47.733vw;
    margin: 4vw auto 0;
    width: 80vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-kv-title-area {
    background: url(../../img/top/kv_title@2x.png) 0 0/contain no-repeat;
    height: 22.133em;
    margin: 1.6em auto 0;
    width: 37.6em;
  }
}

.fp-kv-title-upper {
  font-weight: 700;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 750px) {
  .fp-kv-title-upper {
    font-size: 4.267vw;
    height: 25.6vw;
    padding: 5.333vw 0.667vw 0 0;
  }
}
@media only screen and (min-width: 751px) {
  .fp-kv-title-upper {
    font-size: 200%;
    height: 5.833em;
    padding: 1.333em 0 0 0.333em;
  }
}
.fp-kv-title-upper .xl {
  font-weight: 900;
  letter-spacing: 0.02em;
}
@media only screen and (max-width: 750px) {
  .fp-kv-title-upper .xl {
    font-size: 12.533vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-kv-title-upper .xl {
    font-size: 300%;
  }
}
.fp-kv-title-upper .large {
  font-weight: 900;
  letter-spacing: -0.025em;
}
@media only screen and (max-width: 750px) {
  .fp-kv-title-upper .large {
    font-size: 8.533vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-kv-title-upper .large {
    font-size: 206.667%;
  }
}

.fp-kv-title-under {
  font-weight: 700;
  letter-spacing: -0.025em;
}
@media only screen and (max-width: 750px) {
  .fp-kv-title-under {
    font-size: 7.067vw;
    padding: 6.667vw 1.467vw 0 0;
  }
}
@media only screen and (min-width: 751px) {
  .fp-kv-title-under {
    font-size: 340%;
    padding: 0.784em 0 0 0.392em;
  }
}

.fp-kv-type {
  align-items: center;
  display: flex;
  justify-content: center;
  position: relative;
}
@media only screen and (max-width: 750px) {
  .fp-kv-type {
    height: 14.667vw;
    margin-top: 33.6vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-kv-type {
    height: 5.333em;
    margin-top: 3.067em;
  }
}
.fp-kv-type::before, .fp-kv-type::after {
  background: rgba(255, 255, 255, 0.5);
  content: "";
  left: 50%;
  height: 100%;
  position: absolute;
  top: 0;
  width: 2px;
}
.fp-kv-type::before {
  margin-left: -2px;
}
.fp-kv-type::after {
  margin-left: 2px;
}

.fp-kv-type-item {
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .fp-kv-type-item {
    width: 50%;
  }
}
@media only screen and (min-width: 751px) {
  .fp-kv-type-item {
    align-items: center;
    display: flex;
    padding: 0 1.2em 0 2em;
  }
}
.fp-kv-type-item dt {
  font-weight: 500;
  letter-spacing: 0.045em;
}
@media only screen and (min-width: 751px) {
  .fp-kv-type-item dt {
    font-size: 113.333%;
  }
}
.fp-kv-type-item dd {
  font-weight: 700;
  letter-spacing: 0.005em;
}
@media only screen and (max-width: 750px) {
  .fp-kv-type-item dd {
    font-size: 7.733vw;
    margin-top: 1.6vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-kv-type-item dd {
    font-size: 306.667%;
    margin-left: 0.217em;
  }
}

.fp-kv-note {
  letter-spacing: 0.02em;
}
@media only screen and (max-width: 750px) {
  .fp-kv-note {
    font-size: 2.933vw;
    line-height: 1.591;
    margin: 2.667vw 3.333vw 0 auto;
    width: 70vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-kv-note {
    font-size: 86.667%;
    margin: 4.615em 5.385em 0 0;
    text-align: right;
  }
}
@media only screen and (max-width: 750px) {
  .fp-kv-note p {
    margin-left: 2.1em;
    text-indent: -2em;
  }
}

.starter {
  background: #fff;
  position: relative;
  z-index: 5;
}
@media only screen and (max-width: 750px) {
  .starter {
    margin: -14.667vw auto 0;
    padding: 6.667vw 0;
    width: 94.667vw;
  }
}
@media only screen and (min-width: 751px) {
  .starter {
    align-items: center;
    display: flex;
    justify-content: center;
    margin: -5.667em auto 0;
    max-width: 1060px;
    padding: 2.4em 0 3.467em;
    width: 89.831%;
  }
	.starter:has(.lead){
		padding-top: 3.8em;
	}
}
.starter::before {
  background: linear-gradient(45deg, rgb(255, 128, 140) 0%, rgb(185, 175, 255) 50%, rgb(84, 183, 255) 100%);
  content: "";
  display: block;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
@media only screen and (max-width: 750px) {
  .starter::before {
    height: 0.533vw;
  }
}
@media only screen and (min-width: 751px) {
  .starter::before {
    height: 4px;
  }
}

.starter-register{
	position: relative;
}
@media only screen and (min-width: 751px) {
  .starter-register {
    margin: 0 0.667em;
    position: relative;
  }
}
.starter-register dd {
  color: #a09891;
  letter-spacing: 0.02em;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .starter-register dd {
    font-size: 2.933vw;
    margin-top: 4vw;
  }
}
@media only screen and (min-width: 751px) {
  .starter-register dd {
    bottom: -1.923em;
    font-size: 86.667%;
    position: absolute;
    width: 100%;
  }
}

.starter-register .lead{
	font-weight: 600;
	text-align: center;
}

.starter-register .lead span{
	color: rgb(253, 92, 110);
}

@media only screen and (min-width: 751px) {
	.starter-register .lead{
		position: absolute;
		font-size: 1.4em;
		top: -1.6em;
		left: 1em;
	}
}

@media only screen and (max-width: 750px) {
	.starter-register .lead{
		margin-bottom: 2vw;
	}
}
.register-btn {
  background: rgb(253, 92, 110);
  color: #fff;
  display: block;
  font-weight: bold;
  position: relative;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .register-btn {
    border-radius: 8vw;
    font-size: 4.533vw;
    letter-spacing: 0.06em;
    line-height: 3.235;
    margin: auto;
    width: 81.333vw;
  }
}
@media only screen and (min-width: 751px) {
  .register-btn {
    border-radius: 1.429em;
    font-size: 186.667%;
    letter-spacing: 0.09em;
    line-height: 2.857;
    width: 14.286em;
  }
  .register-btn:hover {
    background: #fe8e9b;
  }
}
.register-btn svg {
  position: absolute;
  stroke: #fff;
  top: 50%;
  transform: translateY(-50%);
}
@media only screen and (max-width: 750px) {
  .register-btn svg {
    right: 4vw;
    width: 1.733vw;
  }
}
@media only screen and (min-width: 751px) {
  .register-btn svg {
    right: 0.714em;
    width: 0.286em;
  }
}

.starter-guide {
  background: #fff;
  border: 2px solid #cbcbcb;
  color: #a09891;
  display: block;
  position: relative;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .starter-guide {
    border-radius: 6vw;
    font-size: 4.267vw;
    letter-spacing: 0.06em;
    line-height: 2.688;
    margin: 4.667vw auto 0;
    width: 77.333vw;
  }
}
@media only screen and (min-width: 751px) {
  .starter-guide {
    border-radius: 1.875em;
    font-size: 106.667%;
    line-height: 3.5;
    margin: 0 0.938em;
    padding-right: 0.313em;
    width: 15.625em;
  }
  .starter-guide:hover {
    background-color: rgba(160, 152, 145, 0.1);
  }
}
.starter-guide svg {
  position: absolute;
  stroke: #a09891;
  top: 50%;
  transform: translateY(-50%);
}
@media only screen and (max-width: 750px) {
  .starter-guide svg {
    right: 5.333vw;
    width: 1.733vw;
  }
}
@media only screen and (min-width: 751px) {
  .starter-guide svg {
    right: 0.875em;
    width: 0.5em;
  }
}

.starter-app {
  display: flex;
}
@media only screen and (max-width: 750px) {
  .starter-app {
    justify-content: center;
    margin-top: 6.933vw;
  }
}

@media only screen and (max-width: 750px) {
  .starter-app-btn {
    margin: 0 1.333vw;
    width: 37.333vw;
  }
}
@media only screen and (min-width: 751px) {
  .starter-app-btn {
    margin: 0 0.333em;
    width: 9em;
  }
}

@media only screen and (max-width: 750px) {
  .information {
    margin: 20.667vw auto 0;
    width: 92vw;
  }
}
@media only screen and (min-width: 751px) {
  .information {
    margin-top: 4.667em;
    padding: 0 3.333em;
  }
}

@media only screen and (max-width: 750px) {
  .information-title {
    margin-left: 4vw;
    width: 50.933vw;
  }
}
@media only screen and (min-width: 751px) {
  .information-title {
    margin-left: 5.556%;
    width: 22.593%;
  }
}

.information-list {
  background: #f9f9f9;
  margin-top: -2px;
}
@media only screen and (max-width: 750px) {
  .information-list {
    padding: 2.667vw 6.667vw;
  }
}
@media only screen and (min-width: 751px) {
  .information-list {
    padding: 1.333em 4.63%;
  }
}

@media only screen and (max-width: 750px) {
  .information-item {
    padding: 4vw 0;
  }
}
@media only screen and (min-width: 751px) {
  .information-item {
    align-items: center;
    display: flex;
    justify-content: space-between;
    padding: 0.667em 1.333em;
  }
}
.information-item:not(:last-child) {
  border-bottom: 1px solid #cbcbcb;
}

.information-date,
.information-text {
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 750px) {
  .information-date,
  .information-text {
    display: block;
    line-height: 1.571;
  }
}
@media only screen and (min-width: 751px) {
  .information-date,
  .information-text {
    font-size: 106.667%;
    line-height: 1.625;
  }
}

@media only screen and (min-width: 751px) {
  .information-date {
    width: 5em;
  }
}

@media only screen and (min-width: 751px) {
  .information-text {
    width: 51.25em;
  }
  .information-text a:hover {
    text-decoration: underline;
  }
}

@media only screen and (max-width: 750px) {
  .bnr-slider-wrap {
    margin: 9.333vw auto 0;
    padding: 0 9.333vw;
  }
}
@media only screen and (min-width: 751px) {
  .bnr-slider-wrap {
    margin-top: 3.667em;
    padding: 0 13.667em;
  }
}

@media only screen and (max-width: 750px) {
  .bnr-slider {
    padding-bottom: 4vw;
  }
}
@media only screen and (min-width: 751px) {
  .bnr-slider {
    padding-bottom: 2em;
  }
}
.bnr-slider .slick-dotted.slick-slider {
  margin-bottom: 0;
}
.bnr-slider .slick-dots {
  bottom: 0;
  display: block;
  list-style: none;
  margin: 0;
  padding: 0;
  position: absolute;
  text-align: center;
  width: 100%;
}
.bnr-slider .slick-dots li {
  display: inline-block;
  cursor: pointer;
  padding: 0;
  position: relative;
}
@media only screen and (max-width: 750px) {
  .bnr-slider .slick-dots li {
    height: 1.6vw;
    margin: 0 1.333vw;
    width: 1.6vw;
  }
}
@media only screen and (min-width: 751px) {
  .bnr-slider .slick-dots li {
    height: 8px;
    margin: 0 10px;
    width: 8px;
  }
}
.bnr-slider .slick-dots li button {
  background: transparent;
  border: 0;
  color: transparent;
  cursor: pointer;
  display: block;
  font-size: 0;
  line-height: 0;
  outline: none;
  padding: 0;
}
@media only screen and (max-width: 750px) {
  .bnr-slider .slick-dots li button {
    height: 1.6vw;
    width: 1.6vw;
  }
}
@media only screen and (min-width: 751px) {
  .bnr-slider .slick-dots li button {
    height: 8px;
    width: 8px;
  }
}
.bnr-slider .slick-dots li button:hover,
.bnr-slider .slick-dots li button:focus {
  outline: none;
}
.bnr-slider .slick-dots li button:hover::before,
.bnr-slider .slick-dots li button:focus::before {
  opacity: 1;
}
.bnr-slider .slick-dots li button::before {
  content: "";
  background: #e5e5e5;
  border-radius: 50%;
  left: 0;
  position: absolute;
  text-align: center;
  top: 0;
}
@media only screen and (max-width: 750px) {
  .bnr-slider .slick-dots li button::before {
    height: 1.6vw;
    width: 1.6vw;
  }
}
@media only screen and (min-width: 751px) {
  .bnr-slider .slick-dots li button::before {
    height: 8px;
    width: 8px;
  }
}
.bnr-slider .slick-dots li.slick-active button::before {
  background: #0088d3;
}
.bnr-slider .prev-arrow,
.bnr-slider .next-arrow {
  cursor: pointer;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
@media only screen and (max-width: 750px) {
  .bnr-slider .prev-arrow,
  .bnr-slider .next-arrow {
    margin-top: -2vw;
    width: 2.267vw;
  }
}
@media only screen and (min-width: 751px) {
  .bnr-slider .prev-arrow,
  .bnr-slider .next-arrow {
    margin-top: -1em;
    width: 0.667em;
  }
}
.bnr-slider .prev-arrow svg,
.bnr-slider .next-arrow svg {
  stroke: #231f20;
}
@media only screen and (max-width: 750px) {
  .bnr-slider .prev-arrow {
    left: -5.333vw;
  }
}
@media only screen and (min-width: 751px) {
  .bnr-slider .prev-arrow {
    left: -2em;
  }
}
.bnr-slider .prev-arrow svg {
  transform: rotate(180deg);
}
@media only screen and (max-width: 750px) {
  .bnr-slider .next-arrow {
    right: -5.333vw;
  }
}
@media only screen and (min-width: 751px) {
  .bnr-slider .next-arrow {
    right: -2em;
  }
}
.bnr-slider .slick-prev:before svg,
.bnr-slider .slick-next:before svg {
  stroke: #0088d3;
}

.fp-intro {
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .fp-intro {
    margin-top: 22.667vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-intro {
    margin-top: 9em;
  }
}

.fp-intro-record {
  font-weight: 700;
}
@media only screen and (max-width: 750px) {
  .fp-intro-record {
    line-height: 9.067vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-intro-record {
    font-size: 133.333%;
  }
}
.fp-intro-record .blue {
  color: rgb(0, 136, 211);
}
@media only screen and (max-width: 750px) {
  .fp-intro-record .blue {
    font-size: 5.333vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-intro-record .blue {
    font-size: 150%;
  }
}
@media only screen and (max-width: 750px) {
  .fp-intro-record .blue .num {
    font-size: 8vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-intro-record .blue .num {
    font-size: 166.667%;
  }
}
.fp-intro-record .pink {
  color: rgb(253, 92, 110);
}
@media only screen and (max-width: 750px) {
  .fp-intro-record .pink {
    font-size: 8vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-intro-record .pink {
    font-size: 170%;
  }
}
@media only screen and (min-width: 751px) {
  .fp-intro-record .pink .num {
    font-size: 147.059%;
  }
}
@media only screen and (max-width: 750px) {
  .fp-intro-record .fon24 {
    font-size: 4.267vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-intro-record .fon24 {
    font-size: 120%;
  }
}

.fp-intro-lead {
  display: inline-block;
  font-weight: 700;
  letter-spacing: 0.04em;
  position: relative;
}
@media only screen and (max-width: 750px) {
  .fp-intro-lead {
    font-size: 8.533vw;
    line-height: 1.406;
    margin-top: 6vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-intro-lead {
    font-size: 333.333%;
    margin-top: 0.8em;
  }
}
.fp-intro-lead::before, .fp-intro-lead::after {
  background: rgb(48, 48, 48);
  bottom: 0;
  content: "";
  display: block;
  position: absolute;
  transform-origin: 50% 100%;
  width: 2px;
}
@media only screen and (max-width: 750px) {
  .fp-intro-lead::before, .fp-intro-lead::after {
    height: 16.4vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-intro-lead::before, .fp-intro-lead::after {
    height: 1.2em;
  }
}
@media only screen and (max-width: 750px) {
  .fp-intro-lead::before {
    left: -6.667vw;
    transform: rotate(-22deg);
  }
}
@media only screen and (min-width: 751px) {
  .fp-intro-lead::before {
    left: -0.7em;
    transform: rotate(-35deg);
  }
}
@media only screen and (max-width: 750px) {
  .fp-intro-lead::after {
    right: -6.667vw;
    transform: rotate(22deg);
  }
}
@media only screen and (min-width: 751px) {
  .fp-intro-lead::after {
    right: -0.7em;
    transform: rotate(35deg);
  }
}

.fp-intro-text01 {
  font-weight: 700;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 750px) {
  .fp-intro-text01 {
    font-size: 4.8vw;
    line-height: 1.75;
    margin-top: 8vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-intro-text01 {
    font-size: 186.667%;
    line-height: 1.893;
    margin-top: 1.607em;
  }
}
@media only screen and (max-width: 750px) {
  .fp-intro-text01 .marker::after {
    height: 1.6vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-intro-text01 .marker::after {
    height: 0.357em;
  }
}

.fp-intro-text02 {
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 750px) {
  .fp-intro-text02 {
    line-height: 1.429;
    margin-top: 8vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-intro-text02 {
    margin-top: 3em;
  }
}

.fp-intro-btn {
  background: rgb(253, 92, 110);
  color: #fff;
  display: block;
  font-weight: bold;
  position: relative;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .fp-intro-btn {
    border-radius: 8vw;
    font-size: 4.267vw;
    letter-spacing: 0.06em;
    line-height: 3.438;
    margin: 8vw auto 0;
    width: 92vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-intro-btn {
    border-radius: 1.944em;
    font-size: 120%;
    letter-spacing: 0.04em;
    line-height: 3.889;
    margin: 3.333em auto 0;
    width: 23.333em;
  }
  .fp-intro-btn:hover {
    background: #fe8e9b;
  }
}
.fp-intro-btn svg {
  position: absolute;
  stroke: #fff;
  top: 50%;
  transform: translateY(-50%);
}
@media only screen and (max-width: 750px) {
  .fp-intro-btn svg {
    right: 3.733vw;
    width: 1.733vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-intro-btn svg {
    right: 1.444em;
    width: 0.556em;
  }
}

@media only screen and (max-width: 750px) {
  .new-members {
    margin: 21.333vw auto 0;
    padding-bottom: 16vw;
    width: 92vw;
  }
}
@media only screen and (min-width: 751px) {
  .new-members {
    margin-top: 5.867em;
    padding: 0 7.333em 8.667em;
  }
}

.new-members-title {
  align-items: center;
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 750px) {
  .new-members-title {
    margin: auto;
    width: 92vw;
  }
}
.new-members-title::after {
  background: #7d7268;
  content: "";
  display: block;
  height: 1px;
  transform: translateY(2px);
}
@media only screen and (max-width: 750px) {
  .new-members-title::after {
    width: 27.867vw;
  }
}
@media only screen and (min-width: 751px) {
  .new-members-title::after {
    width: 68.351%;
  }
}

@media only screen and (max-width: 750px) {
  .new-members-title-en {
    width: 34.933vw;
  }
}
@media only screen and (min-width: 751px) {
  .new-members-title-en {
    width: 14.948%;
  }
}

.new-members-title-ja {
  color: #7d7268;
}
@media only screen and (max-width: 750px) {
  .new-members-title-ja {
    font-size: 4.267vw;
    margin-left: 2.133vw;
  }
}
@media only screen and (min-width: 751px) {
  .new-members-title-ja {
    font-size: 146.667%;
    margin-left: 0.682em;
  }
}

@media only screen and (max-width: 750px) {
  .member-list-wrap {
    margin-top: 8vw;
    padding: 0 9.333vw;
  }
}
@media only screen and (min-width: 751px) {
  .member-list-wrap {
    margin-top: 2.667em;
  }
}

@media only screen and (max-width: 750px) {
  .member-list .slick-dotted.slick-slider {
    margin-bottom: 0;
  }
  .member-list .prev-arrow,
  .member-list .next-arrow {
    background: #b1aaa4;
    border-radius: 50%;
    cursor: pointer;
    height: 7.733vw;
    margin: 0;
    padding: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 7.733vw;
  }
  .member-list .prev-arrow svg,
  .member-list .next-arrow svg {
    left: 50%;
    position: absolute;
    stroke: #fff;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 1.733vw;
  }
  .member-list .prev-arrow {
    left: -10.4vw;
  }
  .member-list .prev-arrow svg {
    transform: rotate(180deg) translate(50%, 50%);
  }
  .member-list .next-arrow {
    right: -10.4vw;
  }
  .member-list .slick-prev,
  .member-list .slick-next {
    background: #7d7268;
  }
}
@media only screen and (min-width: 751px) {
  .member-list {
    display: flex;
    justify-content: space-between;
  }
}

@media only screen and (max-width: 750px) {
  .member-card {
    box-sizing: content-box;
    padding-right: 4.667vw;
    width: 25.333vw;
  }
}
@media only screen and (min-width: 751px) {
  .member-card {
    width: 10.667em;
  }
}

.member-avatar {
  background: #faf5f1;
  overflow: hidden;
}
@media only screen and (max-width: 750px) {
  .member-avatar {
    border-radius: 1.333vw;
    height: 25.333vw;
    padding-top: 1.867vw;
    width: 25.333vw;
  }
}
@media only screen and (min-width: 751px) {
  .member-avatar {
    border-radius: 0.667em;
    height: 10.667em;
    padding-top: 0.8em;
    width: 10.667em;
  }
}
.member-avatar img {
  display: block;
  height: auto;
  margin: auto;
  object-fit: cover;
  object-position: top;
}
@media only screen and (max-width: 750px) {
  .member-avatar img {
    width: 20.267vw;
  }
}
@media only screen and (min-width: 751px) {
  .member-avatar img {
    width: 8.533em;
  }
}

.member-name {
  color: #fff;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .member-name {
    border-radius: 3.333vw;
    line-height: 1.607;
    margin: 2.667vw auto 0;
    width: 25.333vw;
  }
}
@media only screen and (min-width: 751px) {
  .member-name {
    border-radius: 0.929em;
    font-size: 93.333%;
    line-height: 1.857;
    margin: 1.429em auto 0;
    width: 9.286em;
  }
  .member-name .pc-only {
    margin-left: 0.5em;
  }
}

.member-data {
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .member-data {
    font-size: 3.467vw;
    line-height: 1.423;
    margin-top: 2vw;
  }
}
@media only screen and (min-width: 751px) {
  .member-data {
    display: flex;
    font-size: 93.333%;
    justify-content: center;
    margin-top: 1em;
  }
  .member-data li:not(:last-child)::after {
    content: "/";
    margin: 0 1em;
  }
}

.member-card.woman .member-name {
  background: rgb(253, 92, 110);
}
.member-card.man .member-name {
  background: rgb(0, 136, 211);
}
@media only screen and (min-width: 751px) {
  .member-card a:hover {
    opacity: 0.8;
  }
  .member-card a:hover .member-avatar img {
    transform: scale(1.1);
  }
}

@media only screen and (max-width: 750px) {
  .fp-message {
    background: url(../../img/top/message_bg_sp.jpg) 0 0/100% auto no-repeat #fef7f7;
    padding: 32.533vw 4vw 14.667vw 9.333vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-message {
    background: url(../../img/top/message_bg_pc.jpg) 50% 0/auto 100% no-repeat #fef7f7;
    height: 42em;
  }
}

@media only screen and (min-width: 751px) {
  .fp-message-inner {
    display: flex;
    flex-direction: column;
    height: 42em;
    justify-content: center;
    padding-left: 3.333em;
  }
}

.fp-message-title {
  font-weight: 700;
  letter-spacing: 0.15em;
}
@media only screen and (max-width: 750px) {
  .fp-message-title {
    font-size: 6.133vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-message-title {
    font-size: 240%;
  }
}
.fp-message-title .em {
  color: rgb(253, 92, 110);
}

.fp-message-text {
  font-weight: 700;
  letter-spacing: 0.15em;
  position: relative;
}
@media only screen and (max-width: 750px) {
  .fp-message-text {
    font-size: 4vw;
    line-height: 2.4;
    margin-top: 5.333vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-message-text {
    font-size: 173.333%;
    line-height: 2.308;
    margin-top: 2.692em;
  }
}

.fp-price {
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .fp-price {
    padding: 18.667vw 0;
  }
}
@media only screen and (min-width: 751px) {
  .fp-price {
    padding: 9.333em 0 8em;
  }
}

.fp-price-title {
  display: inline-block;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
}
@media only screen and (max-width: 750px) {
  .fp-price-title {
    font-size: 7.733vw;
    letter-spacing: 0.02em;
  }
}
@media only screen and (min-width: 751px) {
  .fp-price-title {
    font-size: 300%;
    letter-spacing: 0.04em;
  }
}
@media only screen and (max-width: 750px) {
  .fp-price-title.marker::after {
    height: 1.6vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-price-title.marker::after {
    height: 0.222em;
  }
}
.fp-price-title .em {
  color: rgb(253, 92, 110);
}
.fp-price-title sup {
  position: absolute;
}
@media only screen and (max-width: 750px) {
  .fp-price-title sup {
    font-size: 2.667vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-price-title sup {
    font-size: 24.444%;
  }
}

.fp-price-text {
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 750px) {
  .fp-price-text {
    line-height: 1.857;
    margin-top: 9.333vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-price-text {
    font-size: 100%;
    line-height: 2;
    margin-top: 2.667em;
  }
}

@media only screen and (max-width: 750px) {
  .fp-price-table {
    margin: 18.667vw auto 0;
    width: 92vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-price-table {
    margin: 6em auto 0;
    width: 82.203%;
  }
}
.fp-price-table th, .fp-price-table td {
  text-align: center;
  vertical-align: middle;
}
@media only screen and (max-width: 750px) {
  .fp-price-table td {
    width: 34vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-price-table td {
    width: 37.113%;
  }
}
@media only screen and (min-width: 751px) {
  .fp-price-table td.concoi {
    width: 38.763%;
  }
}
.fp-price-table thead td {
  background: #f4e9e0;
  font-weight: 700;
}
@media only screen and (max-width: 750px) {
  .fp-price-table thead td {
    font-size: 3.733vw;
    letter-spacing: 0.02em;
    line-height: 1.214;
    padding: 2.667vw 0 1.333vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-price-table thead td {
    font-size: 160%;
    letter-spacing: 0.04em;
    padding: 0.833em 0;
  }
}
.fp-price-table thead td.concoi {
  background: linear-gradient(45deg, #ffd9dc 0%, #eae7fe 50%, #cce9ff 100%);
  border-right: 4px solid #cce9ff;
  border-left: 4px solid #ffd9dc;
}
@media only screen and (max-width: 750px) {
  .fp-price-table thead td.concoi {
    padding: 2.667vw 0 3.333vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-price-table thead td.concoi {
    padding: 0.667em 0 0.833em;
  }
}
@media only screen and (max-width: 750px) {
  .fp-price-table thead td.concoi img {
    width: 26.133vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-price-table thead td.concoi img {
    width: 6.25em;
  }
}
.fp-price-table tbody th {
  background: #a09891;
  color: #fff;
}
@media only screen and (max-width: 750px) {
  .fp-price-table tbody th {
    font-size: 3.467vw;
    letter-spacing: 0.02em;
    line-height: 1.154;
    padding: 2vw 0;
    width: 24.133vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-price-table tbody th {
    font-size: 140%;
    letter-spacing: 0.04em;
    padding: 0.714em 0;
    width: 24.227%;
  }
}
.fp-price-table tbody td {
  background: #faf5f1;
}
@media only screen and (max-width: 750px) {
  .fp-price-table tbody td {
    font-size: 3.467vw;
    letter-spacing: 0.02em;
    line-height: 1.154;
    padding: 2vw 0;
    width: 34vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-price-table tbody td {
    font-size: 153.333%;
    letter-spacing: 0.04em;
    padding: 0.652em 0;
    width: 37.113%;
  }
}

@media only screen and (max-width: 750px) {
  .fp-price-table tbody td .small {
    font-size: 2.933vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-price-table tbody td .small {
    font-size: 78.261%;
  }
}

.fp-price-table tbody td.concoi {
  background: #fff;
  border-right: 4px solid #cce9ff;
  border-left: 4px solid #ffd9dc;
  color: rgb(253, 92, 110);
  font-weight: 700;
}
@media only screen and (min-width: 751px) {
  .fp-price-table tbody td.concoi {
    font-size: 160%;
    width: 38.763%;
  }
}
@media only screen and (max-width: 750px) {
  .fp-price-table tbody td.concoi .small {
    font-size: 2.933vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-price-table tbody td.concoi .small {
    font-size: 78.261%;
  }
}
.fp-price-table tbody tr:not(:last-child) th {
  border-bottom: 2px solid #fff;
}
.fp-price-table tbody tr:not(:last-child) td {
  border-bottom: 2px solid #eceae9;
}
.fp-price-table tbody tr:last-child td.concoi {
  background-clip: padding-box;
  position: relative;
}
.fp-price-table tbody tr:last-child td.concoi::after {
  background: linear-gradient(45deg, #ffd9dc 0%, #eae7fe 50%, #cce9ff 100%);
  bottom: 0;
  content: "";
  display: block;
  height: 4px;
  position: absolute;
  width: 101%;
}

.fp-price-note {
  color: #a09891;
  letter-spacing: 0.02em;
  text-align: left;
}
@media only screen and (max-width: 750px) {
  .fp-price-note {
    font-size: 2.933vw;
    line-height: 1.818;
    margin: 4vw 4.667vw 0 auto;
    width: 86.667vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-price-note {
    font-size: 86.667%;
    margin: 2.308em auto 0;
    width: 82.203%;
  }
}
@media only screen and (max-width: 750px) {
  .fp-price-note p {
    margin-left: 2.1em;
    text-indent: -2em;
  }
}

@media only screen and (max-width: 750px) {
  .fp-reason {
    background: url(../../img/top/reason_bg_sp.jpg) 0 0/100% auto no-repeat #fef7f7;
    padding: 16.667vw 0 13.333vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-reason {
    background: url(../../img/top/reason_bg_pc.jpg) 50% 0 no-repeat #fef7f7;
    background-size: 133.333em auto;
    padding: 6.333em 0;
  }
}

.fp-reason-lead {
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.2;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .fp-reason-lead {
    font-size: 5.067vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-reason-lead {
    font-size: 233.333%;
  }
}
.fp-reason-lead .em {
  color: rgb(253, 92, 110);
}

.fp-reason-title {
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  text-align: center;
  z-index: 5;
}
@media only screen and (max-width: 750px) {
  .fp-reason-title {
    font-size: 7.733vw;
    letter-spacing: 0.02em;
    margin-top: 4vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-reason-title {
    font-size: 333.333%;
    letter-spacing: 0.1em;
    margin-top: 0.6em;
  }
}
.fp-reason-title .marker::after {
  transform: translateY(-50%);
}
@media only screen and (max-width: 750px) {
  .fp-reason-title .marker::after {
    height: 1.6vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-reason-title .marker::after {
    height: 0.2em;
  }
}
@media only screen and (max-width: 750px) {
  .fp-reason-title .small {
    font-size: 6.133vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-reason-title .small {
    font-size: 76%;
  }
}
.fp-reason-title img {
  margin-right: 0.15em;
  vertical-align: baseline;
}
@media only screen and (max-width: 750px) {
  .fp-reason-title img {
    width: 33.6vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-reason-title img {
    width: 4.84em;
  }
}

.fp-reason-list {
  display: flex;
}
@media only screen and (max-width: 750px) {
  .fp-reason-list {
    flex-wrap: wrap;
    margin: 6.667vw 6vw 0;
  }
}
@media only screen and (min-width: 751px) {
  .fp-reason-list {
    justify-content: space-between;
    margin-top: 7.333em;
  }
}

.fp-reason-item {
  position: relative;
}
@media only screen and (max-width: 750px) {
  .fp-reason-item {
    margin: 12vw 2vw 0;
    width: 40vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-reason-item {
    width: 15.254%;
  }
}
.fp-reason-item dt {
  position: relative;
  z-index: 1;
}

.fp-reason-num {
  background: rgb(253, 92, 110);
  border-radius: 50%;
  color: #fff;
  font-weight: 700;
  left: 50%;
  line-height: 1.6;
  position: absolute;
  text-align: center;
  transform: translateX(-50%);
}
@media only screen and (max-width: 750px) {
  .fp-reason-num {
    font-size: 4.4vw;
    height: 15.467vw;
    top: -7.2vw;
    width: 15.467vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-reason-num {
    font-size: 133.333%;
    height: 3.5em;
    top: -1.5em;
    width: 3.5em;
  }
}

.fp-reason-text {
  font-weight: 500;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .fp-reason-text {
    letter-spacing: 0.02em;
    line-height: 1.571;
    margin-top: 3.333vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-reason-text {
    font-size: 106.667%;
    letter-spacing: 0.04em;
    line-height: 1.625;
    margin-top: 0.625em;
  }
}

@media only screen and (min-width: 751px) {
  .fp-reason-note {
    font-size: 81.25%;
  }
}
@media only screen and (max-width: 750px) {
  .fp-reason-note {
    font-size: 2.667vw;
  }
}

.fp-reason-note {
  display: block;
  margin-top: 5px;  
  line-height: 1.5;
}


.fp-reason-more {
  background: url(../../img/top/reason_arrow@2x.png) 50% 100%/contain no-repeat;
  letter-spacing: 0.3em;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .fp-reason-more {
    font-size: 4.533vw;
    height: 12.933vw;
    margin: 12vw auto 0;
    padding-top: 2vw;
    width: 59.867vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-reason-more {
    font-size: 166.667%;
    height: 3.04em;
    margin: 2.6em auto 0;
    padding-top: 0.6em;
    width: 15.24em;
  }
}

.fp-safety {
  background: #fff;
}
@media only screen and (max-width: 750px) {
  .fp-safety {
    margin: 6vw auto 0;
    padding: 12vw 3.333vw 10.667vw;
    width: 92vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-safety {
    margin: 2.667em auto 0;
    padding: 4em 2.667em 3.333em;
    width: 91.525%;
  }
}

.fp-safety-title {
  font-weight: 700;
  position: relative;
  text-align: center;
  z-index: 5;
}
@media only screen and (max-width: 750px) {
  .fp-safety-title {
    font-size: 6.667vw;
    letter-spacing: 0.02em;
    line-height: 1.52;
  }
}
@media only screen and (min-width: 751px) {
  .fp-safety-title {
    font-size: 233.333%;
    letter-spacing: 0.1em;
    line-height: 1.2;
  }
}
.fp-safety-title .marker::after {
  transform: translateY(-30%);
}
@media only screen and (max-width: 750px) {
  .fp-safety-title .marker::after {
    height: 1.6vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-safety-title .marker::after {
    height: 0.286em;
  }
}

.fp-safety-list {
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (min-width: 751px) {
  .fp-safety-list {
    margin-top: 1em;
  }
}

.fp-safety-item {
  position: relative;
}
@media only screen and (max-width: 750px) {
  .fp-safety-item {
    margin: 9.333vw 2vw 0;
    width: 38.667vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-safety-item {
    margin: 2em 1.333em 0;
    width: 19.333em;
  }
}

@media only screen and (max-width: 750px) {
  .fp-safety-text {
    margin-top: 2vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-safety-text {
    margin-top: 1em;
  }
}
.fp-safety-text dt {
  color: rgb(253, 92, 110);
  font-weight: 700;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 750px) {
  .fp-safety-text dt {
    font-size: 4.267vw;
    line-height: 1.563;
  }
}
@media only screen and (min-width: 751px) {
  .fp-safety-text dt {
    font-size: 120%;
    line-height: 1.444;
    margin-left: 1.111em;
  }
}
@media only screen and (max-width: 750px) {
  .fp-safety-text dd {
    letter-spacing: 0.02em;
    line-height: 1.714;
    margin-top: 4vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-safety-text dd {
    letter-spacing: 0.04em;
    line-height: 1.667;
    margin: 0.667em 1.333em 0;
  }
}

@media only screen and (max-width: 750px) {
  .fp-safety-item:nth-of-type(5) dt, .fp-safety-item:nth-of-type(6) dt {
    min-height: 4.5em;
  }
}
@media only screen and (min-width: 751px) {
  .fp-safety-item:nth-of-type(4) dt, .fp-safety-item:nth-of-type(5) dt, .fp-safety-item:nth-of-type(6) dt {
    min-height: 2.9em;
  }
}

@media only screen and (max-width: 750px) {
  .fp-service {
    padding: 14.667vw 0 13.333vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-service {
    padding: 8.667em 0;
  }
}

.fp-service-lead {
  font-weight: 700;
  letter-spacing: 0.04em;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .fp-service-lead {
    font-size: 5.067vw;
    line-height: 1.684;
  }
}
@media only screen and (min-width: 751px) {
  .fp-service-lead {
    font-size: 186.667%;
  }
}
.fp-service-lead .em {
  color: rgb(253, 92, 110);
}

.fp-service-title {
  font-weight: 700;
  letter-spacing: 0.04em;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .fp-service-title {
    font-size: 7.733vw;
    margin-top: 6vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-service-title {
    font-size: 286.667%;
    margin-top: 0.698em;
  }
}
.fp-service-title .marker::after {
  transform: translateY(-30%);
}
@media only screen and (max-width: 750px) {
  .fp-service-title .marker::after {
    height: 1.6vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-service-title .marker::after {
    height: 0.233em;
  }
}

.fp-service-contents {
  background: #faf5f1;
  position: relative;
}
@media only screen and (max-width: 750px) {
  .fp-service-contents {
    margin-top: 16vw;
    padding-bottom: 15.333vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-service-contents {
    margin-top: 6.333em;
    padding-bottom: 5em;
  }
}
.fp-service-contents::before {
  background: #fff;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
@media only screen and (max-width: 750px) {
  .fp-service-contents::before {
    height: 8.4vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-service-contents::before {
    height: 6.667em;
  }
}

.fp-service-list {
  margin: auto;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 750px) {
  .fp-service-list {
    width: 81.333vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-service-list {
    display: flex;
    justify-content: space-between;
    width: 94.915%;
  }
}

.fp-service-item {
  position: relative;
}
@media only screen and (max-width: 750px) {
  .fp-service-item {
    padding-bottom: 13.333vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-service-item {
    width: 36em;
  }
}

.fp-service-num {
  position: absolute;
}
@media only screen and (max-width: 750px) {
  .fp-service-num {
    left: 2vw;
    top: 40.667vw;
    width: 21.867vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-service-num {
    left: 1em;
    top: 20.333em;
    width: 9.533em;
  }
}

.fp-service-catch {
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 750px) {
  .fp-service-catch {
    font-size: 5.067vw;
    line-height: 1.417;
    margin: 3.333vw 0 0 26.667vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-service-catch {
    font-size: 186.667%;
    line-height: 1.351;
    margin: 1.071em 0 0 6.786em;
  }
}
.fp-service-catch .em {
  color: rgb(253, 92, 110);
}
@media only screen and (max-width: 750px) {
  .fp-service-catch .em {
    font-size: 6.4vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-service-catch .em {
    font-size: 132.143%;
  }
}

@media only screen and (max-width: 750px) {
  .fp-service-text {
    letter-spacing: 0.02em;
    line-height: 1.857;
    margin: 5.333vw auto 0;
    width: 74.667vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-service-text {
    letter-spacing: 0.04em;
    line-height: 2;
    margin: 2.333em auto 0;
    width: 30.333em;
  }
}

.fp-service-btn {
  border: 2px solid #7d7268;
  color: #7d7268;
  display: block;
  font-weight: 700;
  position: relative;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .fp-service-btn {
    border-radius: 6.667vw;
    font-size: 4.267vw;
    letter-spacing: 0.06em;
    line-height: 3;
    margin: 8.667vw auto 0;
    width: 68vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-service-btn {
    border-radius: 1.667em;
    font-size: 120%;
    letter-spacing: 0.04em;
    line-height: 2.556;
    margin: 2.5em auto 0;
    padding-right: 0.444em;
    width: 16.667em;
  }
  .fp-service-btn:hover {
    background-color: rgba(125, 114, 104, 0.1);
  }
}
.fp-service-btn svg {
  position: absolute;
  stroke: #7d7268;
  top: 50%;
  transform: translateY(-50%);
}
@media only screen and (max-width: 750px) {
  .fp-service-btn svg {
    right: 3.333vw;
    width: 1.733vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-service-btn svg {
    right: 1.556em;
    width: 0.556em;
  }
}

@media only screen and (max-width: 750px) {
  .fp-style {
    margin-top: 6vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-style {
    margin-top: 5.333em;
  }
}

.fp-style-title {
  align-items: baseline;
  color: #978e86;
  display: flex;
  font-weight: 700;
  justify-content: center;
  letter-spacing: 0.1em;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .fp-style-title {
    font-size: 4.533vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-style-title {
    font-size: 166.667%;
  }
}
.fp-style-title::before, .fp-style-title::after {
  background: url(../../img/top/style_deco.png) 50% 50%/contain no-repeat;
  content: "";
  display: block;
}
@media only screen and (max-width: 750px) {
  .fp-style-title::before, .fp-style-title::after {
    height: 1.6vw;
    margin: 0 1.6vw;
    width: 16.667vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-style-title::before, .fp-style-title::after {
    height: 0.48em;
    margin: 0 0.48em;
    width: 5em;
  }
}

@media only screen and (max-width: 750px) {
  .fp-style-list {
    margin-top: 24vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-style-list {
    display: flex;
    justify-content: space-between;
    margin: 2.333em auto 0;
    width: 91.525%;
  }
}

.fp-style-item {
  position: relative;
}
@media only screen and (max-width: 750px) {
  .fp-style-item {
    background: #fdfbf9;
    margin: 20vw auto 0;
    padding: 10.667vw 0 6.667vw;
    width: 86.667vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-style-item {
    background: url(../../img/top/style_bg_pc.png) 0 0/100% 100% no-repeat;
    height: 22.4em;
    padding: 2em 0 0 1.667em;
    width: 34.333em;
  }
}
@media only screen and (max-width: 750px) {
  .fp-style-item::before {
    background: url(../../img/top/style_bg_sp.png) 0 0/100% 100% no-repeat;
    content: "";
    display: block;
    height: 13.333vw;
    position: absolute;
    right: 0;
    top: -13.333vw;
    width: 86.8vw;
  }
}

.fp-style-catch {
  font-weight: 500;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 750px) {
  .fp-style-catch {
    font-size: 4.533vw;
    left: 5.333vw;
    line-height: 1.647;
    position: absolute;
    top: -8vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-style-catch {
    font-size: 153.333%;
    line-height: 1.478;
  }
}
.fp-style-catch .em {
  color: rgb(253, 92, 110);
  font-weight: 500;
}

@media only screen and (max-width: 750px) {
  .fp-style-main {
    align-items: flex-start;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    margin: auto;
    width: 76vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-style-main {
    margin-top: 1em;
    width: 19em;
  }
}

@media only screen and (max-width: 750px) {
  .fp-style-image {
    width: 22vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-style-image {
    position: absolute;
    right: 2em;
    top: 8em;
    width: 10em;
  }
}

@media only screen and (max-width: 750px) {
  .fp-style-text {
    letter-spacing: 0.02em;
    line-height: 1.714;
    width: 49.867vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-style-text {
    line-height: 2;
  }
}

.fp-style-btn {
  background: rgba(125, 114, 104, 0.5);
  color: #fff;
  display: block;
  font-weight: 500;
  position: relative;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .fp-style-btn {
    border-radius: 0.667vw;
    font-size: 4vw;
    letter-spacing: 0.06em;
    line-height: 3.333;
    margin: 6.667vw auto 0;
    width: 70vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-style-btn {
    border-radius: 0.333em;
    letter-spacing: -0.02em;
    line-height: 3.067;
    margin-top: 1.667em;
    padding-right: 0.533em;
    width: 17em;
  }
  .fp-style-btn:hover {
    background-color: rgba(125, 114, 104, 0.8);
  }
}
.fp-style-btn svg {
  position: absolute;
  stroke: #fff;
  top: 50%;
  transform: translateY(-50%);
}
@media only screen and (max-width: 750px) {
  .fp-style-btn svg {
    right: 2.667vw;
    width: 1.733vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-style-btn svg {
    right: 0.833em;
    width: 0.556em;
  }
}

.fp-plan {
  position: relative;
}
@media only screen and (max-width: 750px) {
  .fp-plan {
    border: 0.8vw solid #fff;
    border-radius: 2vw;
    margin: 20.667vw auto 0;
    padding: 10.667vw 0 10.667vw;
    width: 86.667vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-plan {
    border: 0.4em solid #fff;
    border-radius: 1em;
    margin: 6.333em auto 0;
    padding: 4.333em 0 2em;
    width: 83.051%;
  }
}

.fp-plan-title {
  background: #faf5f1;
  font-weight: 700;
  left: 50%;
  letter-spacing: 0.1em;
  transform: translateX(-50%);
  position: absolute;
  white-space: nowrap;
}
@media only screen and (max-width: 750px) {
  .fp-plan-title {
    font-size: 5.067vw;
    line-height: 1.579;
    padding: 0 3.333vw;
    top: -6.667vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-plan-title {
    font-size: 166.667%;
    padding: 0 1em;
    top: -0.72em;
  }
}
.fp-plan-title::after {
  background: linear-gradient(45deg, rgb(255, 128, 140) 0%, rgb(185, 175, 255) 50%, rgb(84, 183, 255) 100%);
  content: "";
  display: block;
}
@media only screen and (max-width: 750px) {
  .fp-plan-title::after {
    height: 0.533vw;
    margin: 3.333vw auto 0;
    width: 12vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-plan-title::after {
    height: 0.16em;
    margin: 1em auto 0;
    width: 3.6em;
  }
}

@media only screen and (min-width: 751px) {
  .fp-plan-list {
    display: flex;
    justify-content: center;
  }
}

@media only screen and (max-width: 750px) {
  .fp-plan-item {
    margin: 10.667vw auto 0;
    width: 70.667vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-plan-item {
    margin: 0 1.467em;
    width: 17.667em;
  }
}

@media only screen and (max-width: 750px) {
  .fp-plan-text {
    margin-top: 4.667vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-plan-text {
    margin-top: 1.333em;
  }
}
.fp-plan-text dt {
  font-weight: 700;
}
@media only screen and (max-width: 750px) {
  .fp-plan-text dt {
    font-size: 4.8vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-plan-text dt {
    font-size: 113.333%;
  }
}
@media only screen and (max-width: 750px) {
  .fp-plan-text dd {
    letter-spacing: 0.02em;
    line-height: 1.714;
    margin-top: 4vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-plan-text dd {
    font-size: 93.333%;
    letter-spacing: 0.04em;
    line-height: 1.714;
    margin-top: 1.429em;
  }
}

.fp-step {
  background: #f5f5f4;
}
@media only screen and (max-width: 750px) {
  .fp-step {
    padding: 16vw 0 14vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-step {
    padding: 5.333em 0 4.667em;
  }
}

.fp-step-lead {
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .fp-step-lead {
    font-size: 5.067vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-step-lead {
    font-size: 213.333%;
  }
}
.fp-step-lead .em {
  color: rgb(253, 92, 110);
}

.fp-step-title {
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  text-align: center;
  z-index: 1;
}
@media only screen and (max-width: 750px) {
  .fp-step-title {
    font-size: 7.733vw;
    letter-spacing: 0.02em;
    margin-top: 3.333vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-step-title {
    font-size: 300%;
    letter-spacing: 0.1em;
    margin-top: 0.333em;
  }
}
@media only screen and (min-width: 751px) {
  .fp-step-title .en {
    font-size: 111.111%;
  }
}
.fp-step-title .marker::after {
  transform: translateY(-30%);
}
@media only screen and (max-width: 750px) {
  .fp-step-title .marker::after {
    height: 1.6vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-step-title .marker::after {
    height: 0.222em;
  }
}

@media only screen and (max-width: 750px) {
  .fp-step-list {
    margin-top: -3.333vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-step-list {
    display: flex;
    justify-content: space-between;
    margin: 3.667em auto 0;
    width: 91.525%;
  }
}

.fp-step-item {
  background: 0 0/contain no-repeat;
  border-radius: 50%;
  position: relative;
}
@media only screen and (max-width: 750px) {
  .fp-step-item {
    height: 53.333vw;
    margin: 14.667vw auto 0;
    padding-top: 36vw;
    width: 53.333vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-step-item {
    height: 18.667em;
    padding-top: 13em;
    width: 18.667em;
  }
}
.fp-step-item.step01::after, .fp-step-item.step02::after {
  background: url(../../img/top/step_arrow.png) 50% 50%/contain no-repeat;
  content: "";
  display: block;
  position: absolute;
}
@media only screen and (max-width: 750px) {
  .fp-step-item.step01::after, .fp-step-item.step02::after {
    bottom: -12vw;
    height: 6vw;
    left: 50%;
    transform: translateX(-50%) rotate(90deg);
    width: 9.333vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-step-item.step01::after, .fp-step-item.step02::after {
    height: 3em;
    right: -6.333em;
    top: 50%;
    transform: translateY(-50%);
    width: 4.667em;
  }
}
.fp-step-item.step01 {
  background-image: url(../../img/top/step_bg_01.jpg);
}
.fp-step-item.step02 {
  background-image: url(../../img/top/step_bg_02.jpg);
}
.fp-step-item.step03 {
  background-image: url(../../img/top/step_bg_03.jpg);
}

.fp-step-num {
  align-items: center;
  background: rgb(253, 92, 110);
  border-radius: 50%;
  color: #fff;
  display: flex;
  flex-direction: column;
  font-weight: 700;
  justify-content: center;
  position: absolute;
}
@media only screen and (max-width: 750px) {
  .fp-step-num {
    height: 13.733vw;
    left: 0.667vw;
    top: 1.6vw;
    width: 13.733vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-step-num {
    height: 4.8em;
    left: 0.533em;
    top: 0.333em;
    width: 4.8em;
  }
}
@media only screen and (max-width: 750px) {
  .fp-step-num dt {
    font-size: 3.467vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-step-num dt {
    font-size: 120%;
  }
}
@media only screen and (max-width: 750px) {
  .fp-step-num dd {
    font-size: 4.8vw;
  }
}
@media only screen and (min-width: 751px) {
  .fp-step-num dd {
    font-size: 166.667%;
  }
}

.fp-step-text {
  align-items: center;
  display: flex;
  font-weight: 700;
  letter-spacing: 0.05em;
  justify-content: center;
  position: absolute;
  text-align: center;
  width: 100%;
}
@media only screen and (max-width: 750px) {
  .fp-step-text {
    font-size: 4vw;
    height: 15.333vw;
    line-height: 1.333;
  }
}
@media only screen and (min-width: 751px) {
  .fp-step-text {
    font-size: 133.333%;
    height: 3.5em;
    line-height: 1.4;
  }
}

@media only screen and (max-width: 750px) {
  .company {
    background: url(../../img/top/company_bg_sp.jpg) 0 100%/100% auto no-repeat #daecf9;
    margin-top: 13.333vw;
    min-height: 204vw;
    padding: 15.333vw 0 4vw;
  }
}
@media only screen and (min-width: 751px) {
  .company {
    background: url(../../img/top/company_bg_pc.jpg) 50% 100% no-repeat #daecf9;
    background-size: 133.333em auto;
    margin-top: 9em;
    min-height: 42.667em;
    padding: 6.667em 0 2.667em;
  }
}

@media only screen and (max-width: 750px) {
  .company-lead {
    margin-left: 6.667vw;
    width: 21.733vw;
  }
}
@media only screen and (min-width: 751px) {
  .company-lead {
    width: 11.525%;
  }
}

.company-title01 {
  font-weight: 700;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 750px) {
  .company-title01 {
    font-size: 4.533vw;
    margin: 8vw 0 0 6.667vw;
  }
}
@media only screen and (min-width: 751px) {
  .company-title01 {
    font-size: 186.667%;
    margin-top: 1.429em;
  }
}
.company-title01 .em {
  color: rgb(253, 92, 110);
}

.company-title02 {
  font-weight: 700;
  letter-spacing: 0.04em;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 750px) {
  .company-title02 {
    font-size: 6.667vw;
    line-height: 1.632;
    margin: 4vw 0 0 6.667vw;
  }
}
@media only screen and (min-width: 751px) {
  .company-title02 {
    font-size: 280%;
    line-height: 1.619;
    margin-top: 0.714em;
  }
}
.company-title02 .marker::after {
  transform: translateY(-30%);
}
@media only screen and (max-width: 750px) {
  .company-title02 .marker::after {
    height: 1.6vw;
  }
}
@media only screen and (min-width: 751px) {
  .company-title02 .marker::after {
    height: 0.238em;
  }
}
@media only screen and (max-width: 750px) {
  .company-title02 .small {
    font-size: 5.867vw;
  }
}
@media only screen and (min-width: 751px) {
  .company-title02 .small {
    font-size: 80.952%;
  }
}

@media only screen and (max-width: 750px) {
  .company-text {
    letter-spacing: 0.02em;
    line-height: 1.857;
    margin: 8.667vw 6.667vw 0;
  }
}
@media only screen and (min-width: 751px) {
  .company-text {
    font-size: 106.667%;
    letter-spacing: 0.04em;
    line-height: 2;
    margin-top: 3.125em;
  }
}

.company-btn-list {
  display: flex;
}
@media only screen and (max-width: 750px) {
  .company-btn-list {
    flex-wrap: wrap;
    margin: 62.667vw 2.667vw 0;
  }
}
@media only screen and (min-width: 751px) {
  .company-btn-list {
    justify-content: center;
    margin-top: 4em;
  }
}
@media only screen and (max-width: 750px) {
  .company-btn-list li {
    margin: 4vw 1.333vw 0;
    width: 44.667vw;
  }
}
@media only screen and (min-width: 751px) {
  .company-btn-list li {
    margin: 0 0.667em;
    width: 17em;
  }
}

.company-btn {
  background: rgba(255, 255, 255, 0.5);
  border: 2px solid #7d7268;
  color: #7d7268;
  display: block;
  font-weight: 700;
  position: relative;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .company-btn {
    border-radius: 6.667vw;
    letter-spacing: 0.06em;
    line-height: 3.429;
  }
}
@media only screen and (min-width: 751px) {
  .company-btn {
    border-radius: 1.438em;
    font-size: 106.667%;
    letter-spacing: 0.04em;
    line-height: 2.625;
    padding-right: 0.25em;
  }
  .company-btn:hover {
    background-color: rgba(125, 114, 104, 0.1);
  }
}
.company-btn svg {
  position: absolute;
  stroke: #7d7268;
  top: 50%;
  transform: translateY(-50%);
}
@media only screen and (max-width: 750px) {
  .company-btn svg {
    right: 4vw;
    width: 1.733vw;
  }
}
@media only screen and (min-width: 751px) {
  .company-btn svg {
    right: 1em;
    width: 0.563em;
  }
}

.top-media {
  background: #ebf5fa;
}
@media only screen and (min-width: 751px) {
  .top-media {
    max-width: 1180px;
    width: 98.333%;
    border-radius: 0.667em;
    margin: 6em auto 0;
    padding: 4.333em 3.333em;
  }
}
@media only screen and (max-width: 750px) {
  .top-media {
    border-radius: 1.333vw;
    margin: 20vw auto 0;
    padding: 8vw 0 10.667vw;
    width: 92vw;
  }
}

.top-media-lead {
  margin: auto;
}
@media only screen and (min-width: 751px) {
  .top-media-lead {
    width: 5.467em;
  }
}
@media only screen and (max-width: 750px) {
  .top-media-lead {
    width: 13.733vw;
  }
}

.top-media-title {
  font-weight: 700;
  text-align: center;
}
@media only screen and (min-width: 751px) {
  .top-media-title {
    font-size: 240%;
    letter-spacing: 0.05em;
    margin-top: 0.694em;
  }
}
@media only screen and (max-width: 750px) {
  .top-media-title {
    font-size: 6.133vw;
    letter-spacing: 0.1em;
    line-height: 1.522;
    margin-top: 2vw;
  }
}

.top-media-contents {
  align-items: center;
  display: flex;
}
@media only screen and (min-width: 751px) {
  .top-media-contents {
    justify-content: space-between;
    margin-top: 4.333em;
  }
}
@media only screen and (max-width: 750px) {
  .top-media-contents {
    flex-direction: column-reverse;
    margin-top: 8.667vw;
  }
}

.top-media-list {
  background: #fff;
}
@media only screen and (min-width: 751px) {
  .top-media-list {
    border: 5px solid #d1eaf7;
    border-radius: 0.667em;
    padding: 1.333em;
    width: 38em;
  }
}
@media only screen and (max-width: 750px) {
  .top-media-list {
    border: 0.667vw solid #d1eaf7;
    border-radius: 1.333vw;
    margin-top: 8vw;
    padding: 2.667vw;
    width: 85.333vw;
  }
}

.top-media-item {
  background: #fff;
  color: #7d7d7d;
}
@media only screen and (min-width: 751px) {
  .top-media-item {
    line-height: 1.41;
    letter-spacing: 0.04em;
    padding: 0.333em 0 0.333em 1em;
  }
}
@media only screen and (max-width: 750px) {
  .top-media-item {
    padding: 1.333vw 2.667vw;
  }
}
.top-media-item:not(:last-child) {
  border-bottom: 2px dotted #bebebe;
}
.top-media-item dl {
  display: flex;
  justify-content: space-between;
}

@media only screen and (min-width: 751px) {
  .top-media-date {
    width: 6em;
  }
}
@media only screen and (max-width: 750px) {
  .top-media-date {
    font-size: 3.2vw;
    letter-spacing: 0.04em;
    line-height: 1.667;
    width: 21.333vw;
  }
}

@media only screen and (min-width: 751px) {
  .top-media-name {
    width: 26.667em;
  }
}
@media only screen and (max-width: 750px) {
  .top-media-name {
    font-size: 3.467vw;
    letter-spacing: 0.04em;
    line-height: 1.538;
    width: 52vw;
  }
}

@media only screen and (min-width: 751px) {
  .top-media-image {
    width: 31.8em;
  }
}
@media only screen and (max-width: 750px) {
  .top-media-image {
    width: 77.333vw;
  }
}

.top-media-btn {
  color: #7d7268;
  cursor: pointer;
  display: block;
  font-weight: 700;
  letter-spacing: 0.06em;
  position: relative;
  text-align: center;
}
@media only screen and (min-width: 751px) {
  .top-media-btn {
    border: 1px solid #7d7268;
    border-radius: 1.389em;
    font-size: 120%;
    line-height: 2.667;
    margin: 2.5em auto 0;
    width: 23.333em;
  }
}
@media only screen and (max-width: 750px) {
  .top-media-btn {
    border: 2px solid #7d7268;
    border-radius: 6.667vw;
    font-size: 4.267vw;
    line-height: 3;
    margin: 8vw auto 0;
    padding-right: 1.6vw;
    width: 85.333vw;
  }
}
.top-media-btn svg {
  position: absolute;
  stroke: #7d7268;
  top: 50%;
  transform: translateY(-50%);
}
@media only screen and (min-width: 751px) {
  .top-media-btn svg {
    right: 1.556em;
    width: 0.556em;
  }
}
@media only screen and (max-width: 750px) {
  .top-media-btn svg {
    right: 3.733vw;
    width: 1.733vw;
  }
}
@media only screen and (min-width: 751px) {
  .top-media-btn:hover {
    background: rgba(125, 114, 104, 0.1);
  }
}


/* =======================================
 matching
======================================= */
.matching {
	background: #faf5f1;
}
@media only screen and (min-width: 751px) {
	.matching {
		padding: 5.333em 0 4em;
		margin-bottom: 6em;
		&.margin{
			margin-top: 5em;
			margin-bottom: 5em;
		}

	}
}
@media only screen and (max-width: 750px) {
	.matching {
		padding: 12vw 0 14vw;
	}
}

.matching-title {
	font-weight: 700;
	letter-spacing: 0.04em;
	text-align: center;
}
@media only screen and (min-width: 751px) {
	.matching-title {
		font-size: 226.667%;
	}
}
@media only screen and (max-width: 750px) {
	.matching-title {
		font-size: 6.133vw;
	}
}
.matching-title::after {
	background: linear-gradient(45deg, rgb(255, 128, 140) 0%, rgb(185, 175, 255) 50%, rgb(84, 183, 255) 100%);
	content: "";
	display: block;
}
@media only screen and (min-width: 751px) {
	.matching-title::after {
		height: 0.147em;
		margin: 0.588em auto 0;
		width: 2.353em;
	}
}
@media only screen and (max-width: 750px) {
	.matching-title::after {
		height: 0.667vw;
		margin: 2.667vw auto 0;
		width: 10.667vw;
	}
}

.matching-num {
	color: rgb(253, 92, 110);
	display: flex;
	font-weight: 700;
	justify-content: center;
	letter-spacing: 0.04em;
}
@media only screen and (min-width: 751px) {
	.matching-num {
		font-size: 133.333%;
		margin-top: 1em;
	}
}
@media only screen and (max-width: 750px) {
	.matching-num {
		font-size: 4vw;
		margin-top: 3.333vw;
	}
}
.matching-num dt, .matching-num dd {
	margin: 0 0.5em;
}

.matching-sec {
	position: relative;
}
@media only screen and (min-width: 751px) {
	.matching-sec {
		background: url(../img/matching_bg_01_pc.png) 0 0 no-repeat, url(../img/matching_bg_02_pc.png) 0 0 repeat-y;
		background-size: 100% auto;
		margin: 2.267em auto 0;
		padding: 1.533em 0 1.333em;
		width: 72.267em;
	}
}
@media only screen and (max-width: 750px) {
	.matching-sec {
		background: url(../img/matching_bg_01_sp.png) 0 0/100% auto no-repeat, url(../img/matching_bg_02_sp.png) 0 0/100% auto repeat-y;
		margin: 8.667vw auto 0;
		padding: 4.667vw 0 7.333vw;
		width: 92.133vw;
	}
}

.matching-sec-title {
	font-weight: 500;
	letter-spacing: 0.04em;
	text-align: center;
}
@media only screen and (min-width: 751px) {
	.matching-sec-title {
		font-size: 133.333%;
		margin: 0 0 0 0.3em;
		width: 16.8em;
	}
}
@media only screen and (max-width: 750px) {
	.matching-sec-title {
		font-size: 4.267vw;
		margin: 0 0 0 0.8vw;
		width: 67.467vw;
	}
}

/*area*/
@media only screen and (min-width: 751px) {
	.area-wrap {
		columns: 2;
		margin: 2.667em 0 0.667em auto;
		width: 70em;
	}
}

@media only screen and (min-width: 751px) {
	.area-sec {
		align-items: center;
		border-left: 2px solid;
		display: flex;
		margin: 0.733em 0;
	}
}
@media only screen and (max-width: 750px) {
	.area-sec {
		border-left: 3px solid;
		margin: 6.667vw 0 0 4vw;
		padding: 3.467vw 0 2.4vw;
	}
}

.area-title {
	font-weight: 500;
}
@media only screen and (min-width: 751px) {
	.area-title {
		font-size: 113.333%;
		padding-left: 0.706em;
		width: 7.941em;
	}
}
@media only screen and (max-width: 750px) {
	.area-title {
		font-size: 3.867vw;
		margin: 0 0 0 2.133vw;
	}
}

.area-list {
	display: flex;
	flex-wrap: wrap;
}
@media only screen and (min-width: 751px) {
	.area-list {
		width: 26em;
	}
}
@media only screen and (max-width: 750px) {
	.area-list {
		margin: 1.333vw 0 0 1.6vw;
	}
}

.area-item {
	text-align: center;
}
@media only screen and (min-width: 751px) {
	.area-item {
		font-size: 106.667%;
		line-height: 1.938;
		margin: 0.156em;
		width: 4.125em;
	}
}
@media only screen and (max-width: 750px) {
	.area-item {
		font-size: 3.6vw;
		line-height: 2.185;
		margin: 2vw 0.667vw 0;
		width: 15.333vw;
	}
}
.area-item a {
	border: 1px solid #c1c1c1;
	display: block;
}
@media only screen and (min-width: 751px) {
	.area-item a {
		border-radius: 6.6px;
	}
}
@media only screen and (max-width: 750px) {
	.area-item a {
		border-radius: 0.88vw;
	}
}

.area-sec.tohoku {
	border-left-color: #73a9c6;
}
@media only screen and (max-width: 750px) {
	.area-sec.tohoku {
		margin-top: 5.333vw;
	}
}
.area-sec.tohoku .area-title,
.area-sec.tohoku .area-title a {
	color: #73a9c6;
}
@media only screen and (min-width: 751px) {
	.area-sec.tohoku .area-item a:hover {
		background: rgba(115, 169, 198, 0.2);
	}
}
.area-sec.kanto {
	border-left-color: #5fa081;
}
.area-sec.kanto .area-title,
.area-sec.kanto .area-title a {
	color: #5fa081;
}
@media only screen and (min-width: 751px) {
	.area-sec.kanto .area-item a:hover {
		background: rgba(95, 160, 129, 0.2);
	}
}
.area-sec.tokai {
	border-left-color: #a8ce55;
}
.area-sec.tokai .area-title,
.area-sec.tokai .area-title a {
	color: #a8ce55;
}
@media only screen and (min-width: 751px) {
	.area-sec.tokai .area-item a:hover {
		background: rgba(168, 206, 85, 0.2);
	}
}
.area-sec.kansai {
	border-left-color: #ecbf37;
}
.area-sec.kansai .area-title,
.area-sec.kansai .area-title a {
	color: #ecbf37;
}
@media only screen and (min-width: 751px) {
	.area-sec.kansai .area-item a:hover {
		background: rgba(236, 191, 55, 0.2);
	}
}
.area-sec.chugoku {
	border-left-color: #ea8c8c;
}
.area-sec.chugoku .area-title,
.area-sec.chugoku .area-title a {
	color: #ea8c8c;
}
@media only screen and (min-width: 751px) {
	.area-sec.chugoku .area-item a:hover {
		background: rgba(234, 140, 140, 0.2);
	}
}
.area-sec.kyusyu {
	border-left-color: #b780ad;
}
.area-sec.kyusyu .area-title,
.area-sec.kyusyu .area-title a {
	color: #b780ad;
}
@media only screen and (min-width: 751px) {
	.area-sec.kyusyu .area-item a:hover {
		background: rgba(183, 128, 173, 0.2);
	}
}

/*job*/
.job-list {
	display: flex;
	flex-wrap: wrap;
}
@media only screen and (min-width: 751px) {
	.job-list {
		margin: 2em 0 0 1.2em;
	}
}
@media only screen and (max-width: 750px) {
	.job-list {
		margin: 1.333vw 0 0 3.067vw;
	}
}

.job-item {
	text-align: center;
}
@media only screen and (min-width: 751px) {
	.job-item {
		margin: 1em 0.333em 0;
		width: 6.333em;
	}
}
@media only screen and (max-width: 750px) {
	.job-item {
		margin: 6vw 0 0;
		width: 21.6vw;
	}
}
.job-item a {
	display: block;
}
@media only screen and (min-width: 751px) {
	.job-item dt {
		border-radius: 10px;
		height: 6.333em;
		overflow: hidden;
		width: 6.333em;
	}
}
@media only screen and (max-width: 750px) {
	.job-item dt {
		width: 19.6vw;
	}
}
@media only screen and (min-width: 751px) {
	.job-item dt img {
		transition: all 0.3s;
	}
}
@media only screen and (max-width: 750px) {
	.job-item dt img {
		border-radius: 1.333vw;
	}
}
.job-item dd {
	letter-spacing: 0.04em;
	text-align: center;
}
@media only screen and (min-width: 751px) {
	.job-item dd {
		font-size: 93.333%;
		line-height: 1.429;
		margin: 0.571em 0 0;
	}
}
@media only screen and (max-width: 750px) {
	.job-item dd {
		font-size: 3.333vw;
		line-height: 1.44;
		margin: 2vw 0 0;
	}
}
.job-item.man dd {
	color: rgb(0, 136, 211);
}
.job-item.woman dd {
	color: rgb(253, 92, 110);
}
@media only screen and (max-width: 750px) {
	.job-item a:hover dt img {
		transform: scale(1.1);
	}
}
.job-item a:hover dd {
	text-decoration: underline;
}

.job-btn {
	background: rgba(125, 114, 104, 0.5);
	color: #fff;
	display: block;
	font-weight: 500;
	letter-spacing: 0.06em;
	position: relative;
	text-align: center;
	&.acd_btn{
		&+div{
			display: none;
		}
		svg{
			transform: translateY(-50%) rotate(90deg);
		}
		&.open{
			svg{
				transform: translateY(-50%) rotate(270deg);
			}
			
		}
	}
}
@media only screen and (min-width: 751px) {
	.job-btn {
		border-radius: 5px;
		font-size: 93.333%;
		line-height: 2.5;
		margin: 1.786em 1.857em 0 auto;
		padding-right: 0.357em;
		width: 15em;
	}
}
@media only screen and (max-width: 750px) {
	.job-btn {
		border-radius: 0.667vw;
		font-size: 4vw;
		line-height: 3.333;
		margin: 8vw auto 0;
		width: 70vw;
	}
}
.job-btn svg {
	position: absolute;
	stroke: #fff;
	top: 50%;
	transform: translateY(-50%);
}
@media only screen and (min-width: 751px) {
	.job-btn svg {
		right: 1.2em;
		width: 0.467em;
	}
}
@media only screen and (max-width: 750px) {
	.job-btn svg {
		right: 2.667vw;
		transform: translateY(-50%);
		width: 1.333vw;
	}
}
@media only screen and (min-width: 751px) {
	.job-btn:hover {
		background: #7d7268;
	}
}

/*type*/
.type-list {
	display: flex;
	flex-wrap: wrap;
}
@media only screen and (min-width: 751px) {
	.type-list {
		margin: 2.667em 0.667em 1.067em;
		justify-content: center;
		&.fs{
			justify-content: flex-start;
			margin-top: 2em;
			margin-left: 1.5em;
			margin-right: 1.5em;
		}
	}
}
@media only screen and (max-width: 750px) {
	.type-list {
		margin: 4.667vw 0 0 3.467vw;
	}
}

.type-item {
	letter-spacing: 0.04em;
	text-align: center;
}
@media only screen and (min-width: 751px) {
	.type-item {
		font-size: 93.333%;
		line-height: 2.714;
		margin: 0.714em 0.357em 0;
		min-width: 8.571em;
	}
}
@media only screen and (max-width: 750px) {
	.type-item {
		font-size: 3.6vw;
		line-height: 2.593;
		margin: 3.333vw 0.667vw 0;
		min-width: 20vw;
	}
}
.type-item a {
	border: 1px solid #c1c1c1;
	display: block;
	padding: 0 0.5em;
}
@media only screen and (min-width: 751px) {
	.type-item a {
		border-radius: 1.333em;
	}
}
@media only screen and (max-width: 750px) {
	.type-item a {
		border-radius: 4.667vw;
	}
}
@media only screen and (min-width: 751px) {
	.type-item a:hover {
		background: rgba(125, 114, 104, 0.1);
	}
}
@media only screen and (max-width: 750px) {
	.type-item.middle {
		min-width: 27.2vw;
	}
}

/*invited*/
.invited-list {
	align-items: center;
	display: flex;
	justify-content: center;
}
@media only screen and (min-width: 751px) {
	.invited-list {
		margin: 3.333em 3.333em 1em;
	}
}
@media only screen and (max-width: 750px) {
	.invited-list {
		flex-wrap: wrap;
		margin-top: 3.333vw;
	}
}

@media only screen and (min-width: 751px) {
	.invited-item {
		margin: 0 1.067em;
	}
}
@media only screen and (max-width: 750px) {
	.invited-item {
		margin-top: 4.667vw;
	}
}
.invited-item select {
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2022.5%2011.25%22%3E%20%3Cpath%20fill%3D%22%23c1c1c1%22%20d%3D%22M22.5%200%2011.25%2011.25%200%200h22.5z%22%2F%3E%3C%2Fsvg%3E");
	background-position: 96.429% 50%;
	background-repeat: no-repeat;
	border: 1px solid #c1c1c1;
	cursor: pointer;
	font-size: 100%;
	letter-spacing: 0.04em;
}
@media only screen and (min-width: 751px) {
	.invited-item select {
		background-size: 0.8em auto;
		border-radius: 5px;
		padding: 0.867em 2em 0.867em 1em;
		width: 18.667em;
	}
}
@media only screen and (max-width: 750px) {
	.invited-item select {
		background-position: 96.522% 50%;
		background-size: 3vw auto;
		border-radius: 0.667vw;
		font-size: 3.6vw;
		padding: 4vw 6vw 4vw 4vw;
		width: 76.667vw;
	}
}

.invited-gender input[type=radio] {
	display: none;
}
.invited-gender .switch-gender {
	cursor: pointer;
	display: inline-block;
	position: relative;
}
@media only screen and (min-width: 751px) {
	.invited-gender .switch-gender {
		letter-spacing: 0.04em;
		line-height: 1.2;
		margin: 0 1.133em;
		padding-left: 1.867em;
	}
}
@media only screen and (max-width: 750px) {
	.invited-gender .switch-gender {
		font-size: 3.6vw;
		line-height: 1.481;
		margin-right: 5.333vw;
		padding-left: 9.067vw;
	}
}
.invited-gender .switch-gender::before, .invited-gender .switch-gender::after {
	border-radius: 50%;
	content: "";
	position: absolute;
}
.invited-gender .switch-gender::before {
	background: #fff;
	border: 1px solid #c1c1c1;
	top: 0;
}
@media only screen and (min-width: 751px) {
	.invited-gender .switch-gender::before {
		height: 1.2em;
		left: 0;
		width: 1.2em;
	}
}
@media only screen and (max-width: 750px) {
	.invited-gender .switch-gender::before {
		height: 5.333vw;
		left: 1.067vw;
		width: 5.333vw;
	}
}
.invited-gender .switch-gender::after {
	opacity: 0;
}
@media only screen and (min-width: 751px) {
	.invited-gender .switch-gender::after {
		height: 0.667em;
		left: 0.267em;
		top: 0.267em;
		width: 0.667em;
	}
}
@media only screen and (max-width: 750px) {
	.invited-gender .switch-gender::after {
		height: 4.267vw;
		left: 1.733vw;
		top: 0.667vw;
		width: 4.267vw;
	}
}
.invited-gender .switch-gender.man::after {
	background: rgb(0, 136, 211);
}
.invited-gender .switch-gender.woman::after {
	background: rgb(253, 92, 110);
}
.invited-gender input[type=radio]:checked + .switch-gender::after {
	opacity: 1;
}

.invited-btn {
	background: rgba(125, 114, 104, 0.5);
	color: #fff;
	cursor: pointer;
	display: block;
	font-weight: 500;
	position: relative;
	text-align: center;
}
@media only screen and (min-width: 751px) {
	.invited-btn {
		border-radius: 5px;
		font-size: 93.333%;
		letter-spacing: 0.04em;
		line-height: 2.5;
		padding-right: 0.357em;
		width: 9.286em;
	}
}
@media only screen and (max-width: 750px) {
	.invited-btn {
		border-radius: 0.667vw;
		font-size: 4vw;
		letter-spacing: 0.06em;
		line-height: 3.333;
		width: 32.667vw;
	}
}
.invited-btn svg {
	position: absolute;
	stroke: #fff;
	top: 50%;
	transform: translateY(-50%);
}
@media only screen and (min-width: 751px) {
	.invited-btn svg {
		right: 0.8em;
		width: 0.467em;
	}
}
@media only screen and (max-width: 750px) {
	.invited-btn svg {
		right: 2.667vw;
		width: 1.333vw;
	}
}
@media only screen and (min-width: 751px) {
	.invited-btn:hover {
		background: #7d7268;
	}
}

.matching-btn {
	background: rgb(253, 92, 110);
	color: #fff;
	display: block;
	font-weight: 700;
	letter-spacing: 0.06em;
	position: relative;
	text-align: center;
}
@media only screen and (min-width: 751px) {
	.matching-btn {
		border-radius: 1.944em;
		font-size: 120%;
		line-height: 3.889;
		margin: 3.056em auto 0;
		width: 23.333em;
	}
}
@media only screen and (max-width: 750px) {
	.matching-btn {
		border-radius: 8vw;
		font-size: 4.267vw;
		line-height: 3.438;
		margin: 10vw auto 0;
		width: 92vw;
	}
}
.matching-btn svg {
	stroke: #fff;
	top: 50%;
	transform: translateY(-50%);
}
@media only screen and (min-width: 751px) {
	.matching-btn svg {
		position: absolute;
		right: 1.611em;
		width: 0.556em;
	}
}
@media only screen and (max-width: 750px) {
	.matching-btn svg {
		position: absolute;
		right: 3.733vw;
		width: 1.733vw;
	}
}
@media only screen and (min-width: 751px) {
	.matching-btn:hover {
		background: #fe8e9b;
	}
}





