@charset "utf-8";
/* CSS Document */
.features #main section {
	margin-top: 0px;
	padding-top: 0px;
	margin-bottom: 0px;
}

.features #main section.sec01 {
  background-image: url("../features/img/mainBg_sp.png");
  background-repeat: no-repeat;
	margin-bottom: 30px;
}
.features .lead h2 {
	font-family: var(--zenkaku);
  font-weight: 500;
  position: relative;
  line-height: 2;
}
.features .lead h2::before {
  position: absolute;
  top: -30px;
  left: 0px;
  width: 50px;
  height: 5px;
  content: '';
  border-radius: 3px;
  background-color: #d65746;
}
.features .textArea h3 {
	font-family: var(--zenkaku);
  font-weight: 700;
  color: #d65746;
  margin-bottom: 1em;
}
.features .textArea .txt p {
  margin-bottom: 1em;
	text-indent: 1em;
}
@media (max-width: 750px) {
  .features .lead {
    padding: 30px;
  }
  .features .textArea {
    padding-inline: 30px;
  }
  .features .imgArea {
    padding-inline: 30px;
  }
}
@media (min-width: 751px) {
  .features .lead {
    max-width: 1400px;
    width: 95vw;
    margin: 0 auto 50px;
  }
  .features .lead h2 {
    font-size: 38px;
		padding-block: 80px;
  }
  .features .lead h2::before {
    width: 80px;
    height: 10px;
		top: 0px;
  }
  .features .textArea h3 {
		font-size: 24px;
  }
}
.features #main section.sec01 {
  background-image: url("../features/img/mainBg_sp.png");
  background-repeat: no-repeat;
	margin-bottom: 30px;
}
@media (max-width: 750px) {
  .features #main section.sec01 {
    background-size: auto 400px;
    background-position: top right;
    padding-top: 380px;
    border-top-left-radius: 30px;
    overflow: hidden;
  }
}

@media (min-width: 751px) {
  .features #main section.sec01 {
    background-image: url("../features/img/mainBg.png");
    background-position: left 45vw top;
    padding-top: 250px;
  }
  .features .sec01 .sec01_wrap {
    display: flex;
    justify-content: space-between;
    margin-bottom: 80px;
  }
  .features .sec01 .sec01_wrap .textArea {
    flex-basis: 60vw;
    background-color: #FFF3EF;
    border-top-right-radius: 30px;
    border-bottom-right-radius: 30px;
    padding: 80px 100px 80px 2.5vw;
    margin-bottom: 120px;
  }
  .features .sec01 .sec01_wrap .imgArea {
    flex-basis: 40vw;
    align-self: flex-end;
    margin-left: -20vw;
  }
}
@media (min-width: 1400px) {
  .features .sec01 .sec01_wrap .textArea {
    padding-left: calc((100vw - 1400px) / 2);
  }
  .features .sec01 .sec01_wrap .imgArea {
    padding-right: calc((100vw - 1400px) / 2);
  }
}
/*****section sec02*****/
.features #main section.sec02 {
  margin-bottom: 30px;
}
@media (min-width: 751px) {
  .features .sec02 .sec02_wrap {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    margin-bottom: 80px;
  }
  .features .sec02 .sec02_wrap .textArea {
    flex-basis: 60vw;
    background-color: #FFF3EF;
    border-top-left-radius: 30px;
    border-bottom-left-radius: 30px;
    padding: 80px 2.5vw 80px 100px;
    margin-bottom: 120px;
  }
  .features .sec02 .sec02_wrap .imgArea {
    flex-basis: 40vw;
    align-self: flex-end;
    margin-right: -20vw;
  }
}
@media (min-width: 1400px) {
  .features .sec02 .sec02_wrap .textArea {
    padding-right: calc((100vw - 1400px) / 2);
  }
  .features .sec02 .sec02_wrap .imgArea {
    padding-left: calc((100vw - 1400px) / 2);
  }
}
/*****section sec03*****/
.features #main section.sec03 {
  background-image: url("../features/img/sec03_bg_sp.png");
  background-repeat: no-repeat;
	margin-bottom: 30px;
}
@media (max-width: 750px) {
  .features #main section.sec03 {
    background-size: auto 400px;
    background-position: top right;
    padding-top: 380px;
    border-top-left-radius: 30px;
    overflow: hidden;
  }
}
@media (min-width: 751px) {
  .features #main section.sec03 {
    background-image: url("../features/img/sec03_bg.png");
    background-position: left 30vw top;
  }
  .features .sec03 .lead {
		min-height: 300px;
  }
  .features .sec03 .sec03_wrap {
    display: flex;
    justify-content: space-between;
    margin-bottom: 50px;
  }
  .features .sec03 .sec03_wrap .textArea {
    flex-basis: 60vw;
    background-color: #ecfbef;
    border-top-right-radius: 30px;
    border-bottom-right-radius: 30px;
    padding: 80px 100px 80px 2.5vw;
    margin-bottom: 120px;
  }
  .features .sec03 .sec03_wrap .imgArea {
    flex-basis: 40vw;
    align-self: flex-end;
    margin-left: -20vw
  }
}
@media (min-width: 1400px) {
  .features .sec03 .sec03_wrap .textArea {
    padding-left: calc((100vw - 1400px) / 2);
  }
  .features .sec03 .sec03_wrap .imgArea {
    padding-right: calc((100vw - 1400px) / 2);
  }
}
/*****section sec04*****/
.features #main section.sec04 {
  background-image: url("../features/img/sec04_bg_sp.png");
  background-repeat: no-repeat;
  margin-bottom: 30px;
}
@media (max-width: 750px) {
.features #main section.sec04 {
    background-size: auto 400px;
    background-position: top right;
    padding-top: 380px;
    border-top-left-radius: 30px;
    overflow: hidden;
}
}
@media (min-width: 751px) {
.features #main section.sec04 {
  background-image: url("../features/img/sec04_bg.png");
	background-position: right 50vw top;
	padding-top: 350px;
}
  .features .sec04 .lead {
		width: 40vw;
		margin-left: calc(40vw + 80px);
}
  .features .sec04 .sec04_wrap {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
  }
  .features .sec04 .sec04_wrap .textArea {
    flex-basis: 60vw;
    background-color: #FFF3EF;
    border-top-left-radius: 30px;
    border-bottom-left-radius: 30px;
    padding: 80px 2.5vw 80px 100px;
    margin-bottom: 280px;
  }
  .features .sec04 .sec04_wrap .imgArea {
    flex-basis: 40vw;
    align-self: flex-end;
    margin-right: -20vw;
  }
}
@media (min-width: 1400px) {
  .features .sec04 .sec04_wrap .textArea {
    padding-right: calc((100vw - 1400px) / 2);
  }
  .features .sec04 .sec04_wrap .imgArea {
    padding-left: calc((100vw - 1400px) / 2);
  }
}


