@charset 'UTF-8';

/*  Miyasaka Custom CSS here.  */
/* ------------------------------------------------------------ */
/*  header  */
.social {
  top: 13px;
}

/* ------------------------------------------------------------ */
/*  design  */

.design-testsb .c-sec-fixed {
  position: relative;
}

.design-testsb .sec-banner__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  z-index: 1;
}

.design-testsb .sec-banner__bg img {
  width: 100%;
}

.design-testsb .c-sec-fixed>.sec-banner {
  position: relative;
  z-index: 2;
}

/* SP */
@media (max-width: 767px) {
  .header #logo img {
    width: 124px;
  }

  .hamberger {
    padding-top: 20px;
  }

  .hamberger span {
    width: 24px;
    height: 2px;
  }

  .social li .instagram {
    width: 21px;
  }

  .social li .facebook {
    width: 18px;
  }

  .social li .youtube {
    width: 21px;
  }

  .sec-home {
    margin-bottom: 120px;
  }

  /* パララックス：上部に到達したら固定 */
  .design-testsb .c-sec-fixed {
    position: relative;
    min-height: 120vh;
    background: var(--bk-color);
    overflow: hidden;
  }

  .design-testsb .sec-banner__bg {
    position: absolute;
    top: 0 !important;
    left: 0;
    width: 100%;
    height: 100vh;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    z-index: 2;
  }

  .design-testsb .c-sec-fixed>.sec-banner {
    position: relative;
    min-height: 100vh;
    margin-top: 0;
    background: transparent;
    z-index: 3;
  }
}

/* ------------------------------------------------------------ */
/*  concept  */
.concept-testsb .sec-fv .img {
  height: 100vh;
}

.concept-testsb .c-img-scroll-miya {
  position: relative;
  overflow: hidden;
}

.concept-testsb .c-img-scroll-miya img {
  position: absolute;
  top: -10%;
  width: 120% !important;
  height: 120%;
  margin: auto;
  object-fit: cover;
  will-change: transform;
  transition: opacity 0.15s, transform 0.01s !important;
}

/* 全体の背景を白 */
.concept-testsb main {
  background-color: #fff;
}

.concept-testsb .sec-concept3 {
  background: url("../img/common/common-renewal/bg.jpg");
  margin-top: 0;
  padding-top: 191px;
  padding-bottom: 241px;
}

.concept-testsb .sec-concept6 {
  margin-top: 0;
}

.concept-testsb .sec-concept7 .inbox .ttl-main {
  text-align: center;
}

.concept-testsb .sec-concept7 .inbox .txt {
  margin-top: 68px;
}

.concept-testsb .sec-concept7 .inbox .txt .txt1 {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 2.33333em;
  letter-spacing: 0em;
  font-weight: 400;
}

.concept-testsb .sec-concept7 .inbox .txt .txt2 {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 2.5em;
  letter-spacing: 0em;
  font-weight: 400;
  margin-top: 40px;
}

.concept-testsb .sec-concept7 .itembox1 .inbox .imgbox01,
.concept-testsb .sec-concept7 .itembox2 .inbox .imgbox01,
.concept-testsb .sec-concept7 .itembox3 .inbox .imgbox01,
.concept-testsb .sec-concept7 .itembox4 .inbox .imgbox01,
.concept-testsb .sec-concept7 .itembox5 .inbox .imgbox01 {
  grid-area: imgbox01;
}

.concept-testsb .sec-concept7 .itembox1 .inbox .txtbox,
.concept-testsb .sec-concept7 .itembox2 .inbox .txtbox,
.concept-testsb .sec-concept7 .itembox3 .inbox .txtbox,
.concept-testsb .sec-concept7 .itembox4 .inbox .txtbox,
.concept-testsb .sec-concept7 .itembox5 .inbox .txtbox {
  grid-area: txtbox;
}

.concept-testsb .sec-concept7 .itembox2 .inbox .imgbox02,
.concept-testsb .sec-concept7 .itembox3 .inbox .imgbox02,
.concept-testsb .sec-concept7 .itembox4 .inbox .imgbox02 {
  grid-area: imgbox02;
}

.concept-testsb .sec-concept7 .itembox1 {
  margin-top: clamp(5rem, 0.143rem + 15.179vw, 22rem);
  margin-bottom: clamp(5rem, 2.286rem + 8.482vw, 14.5rem);
}

.concept-testsb .sec-concept7 .itembox1 .imgbox01 {
  margin-left: clamp(1.6rem, -2.029rem + 11.339vw, 14.3rem);
}

.concept-testsb .sec-concept7 .itembox1 .image .img01 {
  width: 593px !important;
  height: auto;
  margin-left: 0;
}

.concept-testsb .sec-concept7 .itembox1 .inbox {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-areas: "imgbox01 txtbox";
}

.concept-testsb .sec-concept7 .itembox2 {
  margin-bottom: clamp(5rem, 2.286rem + 8.482vw, 14.5rem);
}

.concept-testsb .sec-concept7 .itembox2 .inbox {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-areas:
    "txtbox imgbox02"
    "txtbox imgbox01";
}

.concept-testsb .sec-concept7 .itembox3 {
  margin-bottom: clamp(6rem, 1.429rem + 14.286vw, 22rem);
}

.concept-testsb .sec-concept7 .itembox3 .imgbox02 {
  position: relative;
  height: clamp(17rem, 11.857rem + 16.071vw, 35rem);
}

.concept-testsb .sec-concept7 .itembox3 .inbox {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-areas:
    "imgbox02 txtbox"
    "imgbox01 txtbox";
}

.concept-testsb .sec-concept7 .itembox4 {
  margin-bottom: clamp(5rem, 4.4rem + 1.875vw, 7.1rem);
}

.concept-testsb .sec-concept7 .itembox4 .imgbox01 {
  position: relative;
  height: clamp(17rem, 12.857rem + 12.946vw, 31.5rem);
  margin-top: clamp(2.05rem, 0.864rem + 3.705vw, 6.2rem);
}

.concept-testsb .sec-concept7 .itembox4 .inbox {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-areas:
    "txtbox imgbox02"
    "txtbox imgbox01";
}

.concept-testsb .sec-concept7 .itembox5 {
  margin-bottom: clamp(8rem, 2.286rem + 17.857vw, 28rem);
}

.concept-testsb .sec-concept7 .itembox5 .imgbox01 {
  display: flex;
  position: relative;
  flex-direction: column;
  gap: clamp(2.4rem, -1.171rem + 11.161vw, 14.9rem);
}

.concept-testsb .sec-concept7 .itembox5 .inbox {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-areas: "imgbox01 txtbox";
}

.concept-testsb .sec-concept7 .itembox1 .imgbox01 .image::before {
  display: block;
  content: " ";
  width: 100%;
  padding-top: 142.33%;
}

.concept-testsb .sec-concept7 .itembox2 .imgbox02 .img01 .image::before {
  display: block;
  content: " ";
  width: 100%;
  padding-top: 89.82%;
}

.concept-testsb .sec-concept7 .itembox2 .imgbox02 .img02 .image::before {
  display: block;
  content: " ";
  width: 100%;
  padding-top: 149.56%;
}

.concept-testsb .sec-concept7 .itembox2 .imgbox01 .img01 .image::before {
  display: block;
  content: " ";
  width: 100%;
  padding-top: 65.17%;
}

.concept-testsb .sec-concept7 .itembox3 .imgbox02 .img01 .image::before {
  display: block;
  content: " ";
  width: 100%;
  padding-top: 126.59%;
}

.concept-testsb .sec-concept7 .itembox3 .imgbox01 .img01 .image::before {
  display: block;
  content: " ";
  width: 100%;
  padding-top: 71%;
}

.concept-testsb .sec-concept7 .itembox4 .imgbox02 .img01 .image::before {
  display: block;
  content: " ";
  width: 100%;
  padding-top: 150%;
}

.concept-testsb .sec-concept7 .itembox4 .imgbox01 .img01 .image::before {
  display: block;
  content: " ";
  width: 100%;
  padding-top: 71.23%;
}

.concept-testsb .sec-concept7 .itembox4 .imgbox01 .img02 .image::before {
  display: block;
  content: " ";
  width: 100%;
  padding-top: 66.7%;
}

.concept-testsb .sec-concept7 .itembox5 .imgbox01 .img01 .image::before {
  display: block;
  content: " ";
  width: 100%;
  padding-top: 66.7%;
}

.concept-testsb .sec-concept7 .itembox5 .imgbox01 .img02 .image::before {
  display: block;
  content: " ";
  width: 100%;
  padding-top: 69.39%;
}

/* PC */
@media (min-width: 768px) {
  .concept-testsb .sec-concept1 .content {
    margin-top: 162px;
  }

  .concept-testsb .sec-concept7 .inner {
    max-width: 1440px;
    padding: 0;
    margin: auto;
  }

  /* .concept-testsb .sec-concept7 .itembox1 .in-txt,
  .concept-testsb .sec-concept7 .itembox2 .in-txt,
  .concept-testsb .sec-concept7 .itembox3 .in-txt,
  .concept-testsb .sec-concept7 .itembox4 .in-txt,
  .concept-testsb .sec-concept7 .itembox5 .in-txt {
    width: 73%;
  } */

  .concept-testsb .sec-concept7 .itembox1 .in-txt .text,
  .concept-testsb .sec-concept7 .itembox2 .in-txt .text {
    width: 390px;
  }

  .concept-testsb .sec-concept7 .itembox3 .in-txt .text,
  .concept-testsb .sec-concept7 .itembox4 .in-txt .text,
  .concept-testsb .sec-concept7 .itembox5 .in-txt .text {
    width: 380px;
  }

  .concept-testsb .sec-concept7 .itembox1 .inbox .txtbox {
    padding-top: 26px;
  }

  .concept-testsb .sec-concept7 .itembox1 .in-txt {
    padding-left: 149px;
    margin-bottom: 138px;
  }

  .concept-testsb .sec-concept7 .itembox2 .inbox .txtbox {
    padding-top: 305px;
  }

  .concept-testsb .sec-concept7 .itembox2 .in-txt {
    padding-left: 167px;
  }

  .concept-testsb .sec-concept7 .itembox2 .imgbox02 .image {
    position: relative;
  }

  .concept-testsb .sec-concept7 .itembox4 .imgbox01 .image {
    position: relative;
  }

  .concept-testsb .sec-concept7 .itembox2 .imgbox02 {
    position: relative;
    height: 489px;
  }

  .concept-testsb .sec-concept7 .itembox2 .imgbox01,
  .concept-testsb .sec-concept7 .itembox2 .imgbox02 {
    align-self: end;
  }

  .concept-testsb .sec-concept7 .itembox1 .imgbox01 .img01 {
    width: min(100%, 593px) !important;
  }

  .concept-testsb .sec-concept7 .itembox2 .imgbox02 .img01 {
    position: absolute;
    top: -150px;
    right: 0;
    left: auto;
    width: min(100%, 334px) !important;
  }

  .concept-testsb .sec-concept7 .itembox2 .imgbox02 .img02 {
    position: absolute;
    top: 0;
    right: 391px;
    left: auto;
    width: min(100%, 226px) !important;
  }

  .concept-testsb .sec-concept7 .itembox2 .imgbox01 .img01 {
    width: min(100%, 623px) !important;
    height: 406px;
    bottom: 0;
  }

  .concept-testsb .sec-concept7 .itembox3 .inbox .txtbox {
    padding-top: 224px;
  }

  .concept-testsb .sec-concept7 .itembox3 .inbox .imgbox01,
  .concept-testsb .sec-concept7 .itembox3 .inbox .imgbox02 {
    align-self: end;
  }

  .concept-testsb .sec-concept7 .itembox3 .inbox .imgbox02 .img01 {
    position: absolute;
    left: 68.33%;
    width: min(100%, 188px) !important;
    height: 238px;
  }

  .concept-testsb .sec-concept7 .itembox3 .inbox .imgbox01 .img01 {
    width: min(100%, 790px) !important;
    height: 561px;
    bottom: 0;
  }

  .concept-testsb .sec-concept7 .itembox3 .in-txt {
    padding-left: 139px;
  }

  .concept-testsb .sec-concept7 .itembox4 .inbox .txtbox {
    padding-top: 121px;
  }

  .concept-testsb .sec-concept7 .itembox4 .inbox .imgbox02 .img01 {
    width: min(100%, 466px) !important;
    height: 699px;
    justify-self: center;
  }

  .concept-testsb .sec-concept7 .itembox4 .inbox .imgbox01 .img01 {
    position: absolute;
    top: 0;
    right: 107px;
    width: min(100%, 299px) !important;
    height: 213px;
  }

  .concept-testsb .sec-concept7 .itembox4 .inbox .imgbox01 .img02 {
    position: absolute;
    top: 143px;
    right: 446px;
    width: min(100%, 246px) !important;
    height: 164px;
  }

  .concept-testsb .sec-concept7 .itembox4 .in-txt {
    padding-left: 205px;
  }

  .concept-testsb .sec-concept7 .itembox5 .inbox .txtbox {
    padding-top: 179px;
  }

  .concept-testsb .sec-concept7 .itembox5 .inbox .imgbox01 .img01 {
    position: absolute;
    top: 0;
    left: 0;
    width: min(100%, 364px) !important;
    height: 243px;
  }

  .concept-testsb .sec-concept7 .itembox5 .inbox .imgbox01 .img02 {
    position: absolute;
    top: 392px;
    left: 122px;
    width: min(100%, 598px) !important;
    height: 415px;
  }

  .concept-testsb .sec-concept7 .itembox5 .in-txt {
    padding-left: 167px;
  }
}

@media (min-width: 768px) and (max-width: 1100px) {
  .concept-testsb .sec-concept7 .inner {
    padding: 0 40px;
  }

  .concept-testsb .sec-concept7 .itembox2 .in-txt {
    margin: 0 auto;
    padding-left: 0;
  }

  .concept-testsb .sec-concept7 .itembox3 .in-txt {
    margin: 0 auto;
    padding-left: 66px;
  }

  .concept-testsb .sec-concept7 .itembox4 .in-txt {
    margin: 0 auto;
    padding-left: 0;
  }
}

/* SP */
@media (max-width: 767px) {
  .concept-testsb .sec-concept1 .content {
    margin-top: 45px;
  }

  .concept-testsb .sec-concept7 .itembox1 .in-txt,
  .concept-testsb .sec-concept7 .itembox2 .in-txt,
  .concept-testsb .sec-concept7 .itembox3 .in-txt,
  .concept-testsb .sec-concept7 .itembox4 .in-txt,
  .concept-testsb .sec-concept7 .itembox5 .in-txt {
    margin-inline: auto;
    width: 78%;
  }

  .concept-testsb .sec-concept7 .inbox .txt {
    margin-top: 30px;
  }

  .concept-testsb .sec-concept7 .inbox .txt .txt1 {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 2em;
    letter-spacing: 0em;
    font-weight: 400;
  }

  .concept-testsb .sec-concept7 .itembox1 .inbox .imgbox01 .img01 {
    margin-bottom: 50px;
    width: 61.87%;
  }

  .concept-testsb .sec-concept7 .itembox2 .inbox .txtbox {
    padding-top: 50px;
    padding-bottom: 35px;
  }

  .concept-testsb .sec-concept7 .itembox2 .inbox .imgbox01 {
    width: 100%;
    justify-self: end;
  }

  .concept-testsb .sec-concept7 .itembox2 .inbox .imgbox01 .img01 {
    display: block;
    width: 90%;
    margin-left: auto;
  }

  .concept-testsb .sec-concept7 .itembox2 .imgbox02 {
    position: relative;
    aspect-ratio: 320 / 227;
  }

  .concept-testsb .sec-concept7 .itembox2 .imgbox02 .img01 {
    position: absolute;
    top: 0;
    right: 0;
    width: 52.5%;
  }

  .concept-testsb .sec-concept7 .itembox2 .imgbox02 .img02 {
    position: absolute;
    top: 38.3%;
    left: 11%;
    width: 29%;
  }

  .concept-testsb .sec-concept7 .itembox3 .inbox .imgbox02 .img01 {
    width: 32% !important;
    height: auto;
  }

  .concept-testsb .sec-concept7 .itembox3 .inbox .txtbox {
    padding-top: 50px;
    padding-bottom: 70px;
  }

  .concept-testsb .sec-concept7 .itembox4 .inbox .txtbox {
    padding-bottom: 52px;
  }

  .concept-testsb .sec-concept7 .itembox4 .inbox .imgbox02 {
    width: calc(100% - 35px);
    margin-right: 35px;
    justify-self: end;
  }

  .concept-testsb .sec-concept7 .itembox4 .inbox .imgbox02 .img01 {
    display: block;
    width: 67.8%;
    margin-left: auto;
  }

  .concept-testsb .sec-concept7 .itembox4 .inbox .imgbox01 .img01 {
    position: absolute;
    width: 53%;
    top: 0;
    left: 0;
  }

  .concept-testsb .sec-concept7 .itembox4 .inbox .imgbox01 .img02 {
    position: absolute;
    width: 36%;
    top: 99px;
    right: 6%;
  }

  .concept-testsb .sec-concept7 .itembox5 .inbox .txtbox {
    margin-top: 50px;
    margin-bottom: 38px;
  }

  .concept-testsb .sec-concept7 .itembox5 .inbox .imgbox01 .img01 {
    width: 43%;
    align-self: flex-end;
  }

  .concept-testsb .sec-concept7 .itembox5 .inbox .imgbox01 .img02 {
    width: 87.5%;
    margin-left: 20px;
  }

  .concept-testsb .sec-concept7 .itembox1 .inbox {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas: "imgbox01" "txtbox";
  }

  .concept-testsb .sec-concept7 .itembox2 .inbox,
  .concept-testsb .sec-concept7 .itembox3 .inbox {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas:
      "imgbox02" "txtbox" "imgbox01";
  }

  .concept-testsb .sec-concept7 .itembox4 .inbox {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas:
      "txtbox" "imgbox02" "imgbox01";
  }

  .concept-testsb .sec-concept7 .itembox5 .inbox {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas: "txtbox" "imgbox01";
  }
}

.footer .item .okinawa p {
  display: inline-block;
  border-bottom: 1px solid #0d133f;
}