﻿@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;500&display=swap');

.sp {
	display: none;
}
@media (max-width: 767px) {
	.sp {
		display: block;
	}
	.pc {
		display: none;
	}
}

main {
  margin: 0 auto;
  max-width: 108rem;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}
@media (max-width: 767px) {

}

/* mainVisual */
main .mainVisual {
  padding: 2.5rem 3.5rem 0;
  background-image: url(/assets/img/data_kbp/mv_bg.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top -5px center;
  background-color: #fffdf8;
  position: relative;
}
main .mainVisual .contentsNavi {
  display: flex;
  align-items: center;
  gap: 0 2rem;
}
main .mainVisual .contentsNavi .logo {
  width: 16.8rem;
}
main .mainVisual .contentsNavi ul {
  margin-left: auto;
  display: flex;
  font-size: 1.3rem;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 500;
  font-style: normal;
}
main .mainVisual .contentsNavi ul li + li {
  margin-left: 1rem;
  padding-left: 1rem;
  border-left: solid 2px #000;
}
main .mainVisual .contentsNavi .btn {
  width: 15rem;
  height: 3.7rem;
}
main .mainVisual .contentsNavi .btn a {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #ec4259;
  border-radius: 3rem;
  font-size: 1.5rem;
  color: #fff;
  text-align: center;
}
main .mainVisual .mv {
  margin-top: 6rem;
  display: flex;
  justify-content: center;
  gap: 0 3rem;
}
main .mainVisual .mv h1 {
  padding-top: 1rem;
  width: 39.4rem;
}
main .mainVisual .mv p {
  width: 50.5rem;
}
@media (max-width: 767px) {
  main .mainVisual {
    padding: 16.667vw 9.333vw 0;
    background-image: url(/assets/img/data_kbp/mv_bg_sp.png);
    background-position: top 0 center;
  }
  main .mainVisual .contentsNavi {
    margin-top: -8vw;
    margin-left: -4vw;
    margin-right: -4vw;
    margin-bottom: 8vw;
  }
  main .mainVisual .contentsNavi .logo {
    display: none;
  }
  main .mainVisual .contentsNavi ul {
    margin-left: 0;
    justify-content: center;
    font-size: 2.933vw;
  }
  main .mainVisual .contentsNavi ul li + li {
    margin-left: 1.333vw;
    padding-left: 1.333vw;
  }
  main .mainVisual .contentsNavi .btn {
    display: none;
  }
  main .mainVisual .mv {
    margin-top: 0;
    flex-direction: column;
    gap: 7.467vw 0;
  }
  main .mainVisual .mv h1 {
    padding-top: 0;
    width: 69.6vw;
  }
  main .mainVisual .mv p {
    margin-left: 2.667vw;
    width: 80.533vw;
  }
}

/* sec01 */
main .sec01 {
  scroll-margin-top: 4rem;
  margin-top: -7rem;
  padding: 12rem 1rem;
  background-color: #fffdf8;
}
main .sec01 .inner {
  margin: 0 auto;
  max-width: 92rem;
}
main .sec01 .wrap {
  display: flex;
  justify-content: center;
  gap: 0 1.5rem;
}
main .sec01 .secTtl {
  width: 49.4rem;
  min-width: 0;
}
main .sec01 .secTtl h2 {
  margin-left: 3rem;
  width: 37.8rem;
  max-width: 100%;
}
main .sec01 .secTtl h2 + p {
  margin-top: 1.5rem;
  width: 49.4rem;
  max-width: 100%;
}
main .sec01 .pic {
  width: 40.3rem;
}
main .sec01 .lead {
  margin-top: 2.5rem;
  font-size: 2rem;
  line-height: 1.7;
}
@media (max-width: 767px) {
  main .sec01 {
    scroll-margin-top: -6rem;
    margin-top: -16vw;
    padding: 22.667vw 0 16vw;
  }
  main .sec01 .inner {
    padding: 0 9.333vw;
  }
  main .sec01 .wrap {
    flex-direction: column;
    gap: 4vw 0;
  }
  main .sec01 .secTtl {
    width: 87.6vw;
  }
  main .sec01 .secTtl h2 {
    margin-left: 0;
    width: 66.667vw;
  }
  main .sec01 .secTtl h2 + p {
    margin-top: 2vw;
    margin-left: -4vw;
    width: 87.6vw;
  }
  main .sec01 .pic {
    width: 100%;
  }
  main .sec01 .lead {
    margin-top: 3.333vw;
    font-size: 4vw;
    line-height: 2.2;
  }
}

/* sec02 */
main .sec02 {
  scroll-margin-top: 4rem;
  margin-top: -8rem;
  padding: 12.5rem 1rem 14rem;
  background-image: url(/assets/img/data_kbp/sec02_bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-color: #fffdf8;
  position: relative;
}
main .sec02 .inner {
  margin: 0 auto;
  max-width: 96rem;
}
main .sec02 h2 {
  margin-left: 4rem;
  width: 58.9rem;
}
main .sec02 .wrap {
  display: flex;
  justify-content: space-between;
}
main .sec02 .secTxt {
  width: 57rem;
  min-width: 0;
}
main .sec02 .secTxt .pic {
  width: 49.9rem;
  max-width: 100%;
}
main .sec02 .secTxt h3 {
  margin-top: 3rem;
  margin-left: 4rem;
  width: 40.3rem;
  max-width: 100%;
}
main .sec02 .wrap .lead {
  margin-top: 1rem;
  margin-left: 4rem;
  font-size: 2rem;
  line-height: 1.7;
}
main .sec02 .wrap > .pic {
  margin-left: -5rem;
  margin-right: 3rem;
  width: 39.3rem;
}
main .sec02 .house {
  margin: -2.5rem auto 0;
  max-width: 88rem;
}
main .sec02 .house h3 {
  margin-left: 0.5rem;
  width: 68rem;
}
main .sec02 .house .list {
  margin-top: 2rem;
  display: flex;
  gap: 0 2.2rem;
}
main .sec02 .house .list li {
  width: 27.7rem;
  background-color: #fff;
  border-radius: 2.5rem;
}
main .sec02 .house .list li .pic + div {
  padding: 1.5rem 2rem;
}
main .sec02 .house .list li .ttl {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
}
main .sec02 .house .list li .txt {
  margin-top: 1rem;
  font-size: 1.5rem;
  line-height: 1.93;
}
@media (max-width: 900px) {
  main .sec02 .house {
    margin-top: 2rem;
  }
}
@media (max-width: 767px) {
  main .sec02 {
    scroll-margin-top: 0;
    margin-top: 0;
    padding: 8vw 0 36.667vw;
    background-image: url(/assets/img/data_kbp/sec02_bg_sp.png);
    background-position: top 43vw left 0;
    background-size: contain;
  }
  main .sec02 .inner {
    padding: 0 9.333vw;
  }
  main .sec02 h2 {
    margin-left: 0;
    width: 60.267vw;
  }
  main .sec02 .wrap {
    flex-direction: column;
    gap: 0;
  }
  main .sec02 .secTxt {
    width: 100%;
  }
  main .sec02 .secTxt .pic {
    margin-top: 1.333vw;
    margin-left: -2.667vw;
    width: 88.4vw;
    max-width: unset;
  }
  main .sec02 .secTxt h3 {
    margin-left: 0;
    width: 72.267vw;
  }
  main .sec02 .wrap .lead {
    margin-top: 3.333vw;
    margin-left: 0;
    font-size: 4vw;
    line-height: 2;
  }
  main .sec02 .wrap > .pic {
    margin-top: -1.333vw;
    margin-left: auto;
    margin-right: 0;
    width: calc(100% + 9.333vw);
    position: static;
  }
  main .sec02 .house {
    margin-top: 18.667vw;
  }
  main .sec02 .house h3 {
    margin: 0 auto;
    width: 72.933vw;
  }
  main .sec02 .house .list {
    margin-top: 4.667vw;
    flex-direction: column;
    gap: 11.333vw 0;
  }
  main .sec02 .house .list li {
    width: 100%;
    border-radius: 6.4vw;
    border: solid 0.533vw #ccc;
  }
  main .sec02 .house .list li .pic + div {
    padding: 4vw 6.667vw 13vw;
  }
  main .sec02 .house .list li .ttl {
    font-size: 5.333vw;
  }
  main .sec02 .house .list li .txt {
    margin-top: 1.333vw;
    font-size: 4vw;
  }
}

/* sec03 */
main .sec03 {
  margin-top: -7rem;
  padding: 17rem 1rem 19rem;
  background-color: #fffdf8;
}
main .sec03 .inner {
  margin: 0 auto;
  max-width: 100rem;
}
main .sec03 h2 {
  margin-left: 6rem;
  width: 64.3rem;
}
main .sec03 .wrap {
  margin-top: 3rem;
  margin-left: 6rem;
  display: flex;
  justify-content: space-between;
}
main .sec03 .wrap .lead {
  margin-right: -12rem;
  font-size: 2rem;
  line-height: 1.7;
  width: 62.8rem;
}
main .sec03 .wrap .pic {
  margin-top: -3rem;
  width: 39.2rem;
}
main .sec03 .numWrap {
  margin: -7rem auto 0;
  max-width: 88rem;
  position: relative;
}
main .sec03 .numWrap h3 {
  margin: 0 auto;
  width: 65rem;
}
main .sec03 .numWrap .numList {
  margin-top: 2.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 4rem 4.5%;
}
main .sec03 .numWrap .numBox {
  padding: 4rem 2rem;
  width: 47.7%;
  background-color: #fef3ee;
  border-radius: 3rem;
}
main .sec03 .numWrap .numBox.numBox04 {
  padding: 4rem 2rem 12rem;
  align-self: flex-start;
}
main .sec03 .numWrap .numBox h4 {
  padding-bottom: 1.5rem;
  border-bottom: solid 3px #ec4259;
}
main .sec03 .numWrap .numBox.numBox01 h4 img {
  width: 27.2rem;
}
main .sec03 .numWrap .numBox.numBox02 h4 img {
  width: 35.2rem;
}
main .sec03 .numWrap .numBox.numBox03 h4 img {
  width: 35.3rem;
}
main .sec03 .numWrap .numBox.numBox04 h4 img {
  width: 25.7rem;
}
main .sec03 .numWrap .numBox .txt {
  margin-top: 1rem;
  font-size: 1.8rem;
  line-height: 1.72;
}
main .sec03 .numWrap .numBox .pic {
  margin-top: 1rem;
}
main .sec03 .numWrap .numBox .note {
  margin-top: 0.5rem;
  font-size: 1.4rem;
  letter-spacing: -0.02em;
}
main .sec03 .numWrap > .pic {
  width: 51.9%;
  position: absolute;
  bottom: 7rem;
  right: 0;
}
main .sec03 .inner > .note {
  margin: 2.5rem auto 0;
  max-width: 88rem;
  font-size: 1.4rem;
  line-height: 1.57;
}
main .sec03 .inner > .note +  .note{
  margin-top: 0;
}
main .sec03 .inner > .bnr {
  margin: 2rem auto 0;
  max-width: 88rem;
}
@media (max-width: 1000px) {
  main .sec03 .wrap .lead {
    margin-right: 0;
    width: 60.8rem;
  }
  main .sec03 .wrap .pic {
    margin-top: -3rem;
    width: 39.2rem;
  }
  main .sec03 .numWrap {
    margin: 0 auto 0;
  }
}
@media (max-width: 767px) {
  main .sec03 {
    scroll-margin-top: -4rem;
    margin-top: 0;
    padding: 18.667vw 0 21.333vw;
  }
  main .sec03 .inner {
    padding: 0 9.333vw;
  }
  main .sec03 h2 {
    margin-left: 0;
    width: 75.333vw;
  }
  main .sec03 .wrap {
    margin-top: 4vw;
    margin-left: 0;
    flex-direction: column;
    gap: 2.667vw 0;
  }
  main .sec03 .wrap .lead {
    margin-right: -16vw;
    font-size: 4vw;
    line-height: 1.8;
    width: 100%;
  }
  main .sec03 .wrap .pic {
    margin-top: 0;
    margin-left: -2.667vw;
    margin-right: -8vw;
    width: 91.6vw;
  }
  main .sec03 .numWrap {
    margin: 2.667vw auto 0;
  }
  main .sec03 .numWrap h3 {
    width: 82.667vw;
  }
  main .sec03 .numWrap .numList {
    margin-top: 2.667vw;
    flex-direction: column;
    gap: 5.333vw 0;
  }
  main .sec03 .numWrap .numBox {
    padding: 7.333vw 3.333vw 8vw;
    width: 100%;
    border-radius: 4vw;
  }
  main .sec03 .numWrap .numBox.numBox01 h4 img {
    width: 54.4vw;
  }
  main .sec03 .numWrap .numBox.numBox02 h4 img {
    width: 68.933vw;
  }
  main .sec03 .numWrap .numBox.numBox03 h4 img {
    width: 68.267vw;
  }
  main .sec03 .numWrap .numBox.numBox04 h4 img {
    width: 51.333vw;
  }
  main .sec03 .numWrap .numBox .txt {
    margin-top: 2.667vw;
    font-size: 3.733vw;
    line-height: 1.79;
  }
  main .sec03 .numWrap .numBox .pic {
    margin-top: 2.667vw;
  }
  main .sec03 .numWrap .numBox .note {
    margin-top: 2vw;
    font-size: 2.667vw;
    letter-spacing: -0.02em;
  }
  main .sec03 .numWrap > .pic {
    margin-top: -13.333vw;
    margin-left: 2.667vw;
    width: 81.467vw;
    position: static;
  }
  main .sec03 .inner > .note {
    margin: 5.333vw auto 0;
    font-size: 2.4vw;
    line-height: 1.67;
  }
  main .sec03 .inner > .note +  .note{
    margin-top: 1.333vw;
    padding: 2vw 2.667vw;
    border: solid 1px #000;
    border-radius: 1.333vw;
  }
  main .sec03 .inner > .bnr {
    margin-top: 4vw;
  }
}

/* sec04 */
main .sec04 {
  scroll-margin-top: 2rem;
  margin-top: -7rem;
  padding: 14rem 1rem;
  background-image: url(/assets/img/data_kbp/sec04_bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-color: #fffdf8;
  position: relative;
}
main .sec04 .inner {
  margin: 0 auto;
  max-width: 92rem;
}
main .sec04 h2 {
  margin-left: 2rem;
  width: 43.8rem;
}
main .sec04 .wrap {
  margin-left: 2rem;
  display: flex;
  justify-content: space-between;
  gap: 0 1.5rem;
}
main .sec04 .wrap .secTxt {
  width: 49rem;
  min-width: 0;
}
main .sec04 .wrap .secTxt .pic {
  margin-left: -2rem;
  width: 49rem;
  max-width: 100%;
}
main .sec04 .wrap .secTxt h3 {
  margin-top: 1rem;
  width: 44.4rem;
  max-width: 100%;
}
main .sec04 .wrap .secTxt .lead {
  margin-top: 1rem;
  font-size: 2rem;
  line-height: 1.8;
}
main .sec04 .wrap .secTxt .note {
  margin-top: 0.5rem;
  font-size: 1.3rem;
}
main .sec04 .wrap .secTxt .list {
  width: 85%;
  margin-top: 3rem;
  padding-top: 2rem;
  padding-bottom: 2rem;
  border-top: solid 1px #000;
  border-bottom: solid 1px #000;
  font-size: 1.6rem;
  line-height: 1.81;
}
main .sec04 .wrap > .pic {
  margin-top: 1.5rem;
  width: 39rem;
}
@media (max-width: 767px) {
  main .sec04 {
    scroll-margin-top: -5rem;
    margin-top: 0;
    padding: 22.667vw 0 25.333vw;
    background-image: url(/assets/img/data_kbp/sec04_bg_sp.png);
    background-size: contain;
  }
  main .sec04 .inner {
    padding: 0 9.333vw;
  }
  main .sec04 h2 {
    margin-left: 0;
    width: 79.6vw;
  }
  main .sec04 .wrap {
    flex-direction: column;
    gap: 0;
  }
  main .sec04 .wrap .secTxt {
    width: 100%;
    min-width: 0;
  }
  main .sec04 .wrap .secTxt .pic {
    margin-left: -2.667vw;
    margin-right: -2.667vw;
    width: 83.2vw;
    max-width: unset;
  }
  main .sec04 .wrap .secTxt h3 {
    width: 77.067vw;
  }
  main .sec04 .wrap .secTxt .lead {
    font-size: 4vw;
    line-height: 1.67;
  }
  main .sec04 .wrap .secTxt .note {
    font-size: 3.067vw;
    line-height: 1.83;
  }
  main .sec04 .wrap .secTxt .list {
    margin-top: 4.667vw;
    padding-top: 4vw;
    width: 100%;
    font-size: 3.333vw;
    line-height: 1.77;
    letter-spacing: -0.02em;
  }
  main .sec04 .wrap > .pic {
    margin: 6.667vw auto 0;
    width: 73.067vw;
  }
}

/* sec05 */
main .sec05 {
  margin-top: -10rem;
  padding: 29rem 1rem 0;
  background-color: #fffdf8;
  background-image: url(/assets/img/data_kbp/sec05_bg.png);
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: contain;
}
main .sec05 .inner {
  margin: 0 auto;
  max-width: 88rem;
  position: relative;
}
main .sec05 h2 {
  width: 40.7rem;
}
main .sec05 .inner > .pic {
  width: 51.1%;
  position: absolute;
  top: -10.5rem;
  right: 2rem;
}
main .sec05 .wrap {
  margin-top: 2.5rem;
  display: flex;
  gap: 0 1rem;
}
main .sec05 .wrap .txt {
  margin-top: 1rem;
  width: 27.9rem;
}
main .sec05 .wrap .pic {
  width: 58.3rem;
}
main .sec05 .pic02 {
  margin-top: 13rem;
  margin-left: auto;
  width: 90%;
}
@media (max-width: 767px) {
  main .sec05 {
    scroll-margin-top: -8rem;
    padding: 29.333vw 0 0;
    background-image: url(/assets/img/data_kbp/sec05_bg_sp.png);
  }
  main .sec05 .inner {
    padding: 0 9.333vw;
  }
  main .sec05 h2 {
    width: 71.6vw;
  }
  main .sec05 .inner > .pic {
    width: 43.4%;
    top: 16.667vw;
    right: 2.667vw;
    mix-blend-mode: multiply;
  }
  main .sec05 .wrap {
    margin-top: 4vw;
    flex-direction: column;
    gap: 4vw 0;
  }
  main .sec05 .wrap .txt {
    margin-top: 0;
    width: 48vw;
  }
  main .sec05 .wrap .pic {
    width: 100%;
  }
  main .sec05 .pic02 {
    margin-top: 30.667vw;
    width: 100%;
  }
}

/* sec06 */
main .sec06 {
  margin-top: -7.5rem;
  padding: 13.4rem 1rem 8rem;
  background-image: url(/assets/img/data_kbp/sec06_bg.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-color: #000;
}
main .sec06 .inner {
  margin: 0 auto;
  max-width: 88rem;
}
main .sec06 p {
  width: 58.6rem;
}
@media (max-width: 767px) {
  main .sec06 {
    margin-top: -12vw;
    padding: 21.067vw 0 10.667vw;
    background-image: url(/assets/img/data_kbp/sec06_bg_sp.png);
    background-color: unset;
  }
  main .sec06 .inner {
    padding: 0 9.333vw;
  }
  main .sec06 p {
    width: 72.8vw;
  }
}