/****************************************************************************************************************************************************************************************
************* 01 *******************
*****************************************************************************************************************************************************************************************/
.concept-sec-01 {
  position: relative;
}
.concept-sec-01 figure {
  overflow: hidden;
  width: 100%;
}
.concept-sec-01 figure img {
  height: auto;
  width: 100%;
}
@media screen and (max-width: 639px) {
  .concept-sec-01 figure img {
    margin-left: -17.8%;
    max-width: inherit;
    height: auto;
    width: 130%;
  }
}
.concept-sec-01 figure figcaption {
  position: absolute;
  right: 0;
  bottom: 15px;
  color: #fff;
  margin: 0;
  padding: 0 15px 0 0;
  max-width: inherit;
  font-size: 10px;
}
@media screen and (max-width: 639px) {
  .concept-sec-01 figure figcaption {
    font-size: 8px;
  }
}

/****************************************************************************************************************************************************************************************
************* 02 *******************
*****************************************************************************************************************************************************************************************/
.concept-sec-02 {
  background-color: #000000;
  position: relative;
  padding: min(6.25vw, 100px) 0 min(12.5vw, 200px);
  margin-top: -2px;
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "HiraMinProN-W3", "Yu Mincho", "YuMincho", "BIZ UDPMincho", "MS PMincho", "GaramondPro", serif;
}
@media screen and (max-width: 639px) {
  .concept-sec-02 {
    padding: 12.5vw 5vw;
  }
}
.concept-sec-02 .inner {
  position: relative;
  text-align: center;
}
.concept-sec-02 .inner::before {
  content: "";
  background-color: #c6ae71;
  display: block;
  height: min(14.375vw, 230px);
  width: 2px;
  margin: 0 auto 30px;
}
@media screen and (max-width: 639px) {
  .concept-sec-02 .inner::before {
    height: 23.75vw;
  }
}
.concept-sec-02 .inner h2 {
  margin: 0 auto min(7.5vw, 120px);
  width: min(41.875vw, 670px);
}
@media screen and (max-width: 639px) {
  .concept-sec-02 .inner h2 {
    margin: 0 auto 7.5vw;
    width: 56.25vw;
  }
}
.concept-sec-02 .inner .lead {
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "HiraMinProN-W3", "Yu Mincho", "YuMincho", "BIZ UDPMincho", "MS PMincho", "GaramondPro", serif;
  color: #ffffff;
  font-size: min(1.375vw, 22px);
  line-height: 3;
  letter-spacing: 0.3em;
  text-align: center;
}
@media screen and (max-width: 639px) {
  .concept-sec-02 .inner .lead {
    font-size: 3.4375vw;
    letter-spacing: 0.2em;
  }
}

/****************************************************************************************************************************************************************************************
************* 03 *******************
*****************************************************************************************************************************************************************************************/
.concept-sec-03 {
  background-color: #000000;
  padding: 0 0 min(10vw, 160px);
}
.concept-sec-03 figure {
  overflow: hidden;
  position: relative;
}
.concept-sec-03 figure img {
  height: auto;
  width: 100%;
}
@media screen and (max-width: 639px) {
  .concept-sec-03 figure img {
    max-width: inherit;
    height: auto;
    width: 130%;
  }
}
.concept-sec-03 figure figcaption {
  font-size: 10px;
  position: absolute;
  right: 0;
  bottom: 15px;
  color: #fff;
  margin: 0;
  padding: 0 15px 0 0;
  max-width: inherit;
}
@media screen and (max-width: 639px) {
  .concept-sec-03 figure figcaption {
    font-size: 8px;
  }
}

/****************************************************************************************************************************************************************************************
************* 04 *******************
*****************************************************************************************************************************************************************************************/
.concept-sec-04 {
  background-color: rgba(0, 0, 0, 0.85);
  position: relative;
  padding: min(11.5625vw, 185px) 0;
}
@media screen and (max-width: 639px) {
  .concept-sec-04 {
    padding: 16.25vw 0;
  }
}
.concept-sec-04 .inner {
  position: relative;
  align-items: center;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 639px) {
  .concept-sec-04 .inner {
    display: block;
    padding: 0 7.5vw;
  }
}
@media screen and (max-width: 639px) {
  .concept-sec-04 .inner .title-box {
    margin-bottom: 6.25vw;
  }
}
.concept-sec-04 .inner .title-box h2 {
  width: min(15.9375vw, 255px);
}
@media screen and (max-width: 639px) {
  .concept-sec-04 .inner .title-box h2 {
    width: 62.5vw;
  }
}
@media screen and (max-width: 639px) {
  .concept-sec-04 .inner .title-box {
    border-left: 2px solid #C6AE71;
    padding-left: 3.75vw;
  }
}
@media screen and (max-width: 639px) and (max-width: 639px) {
  .concept-sec-04 .inner .title-box h3 {
    font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "HiraMinProN-W3", "Yu Mincho", "YuMincho", "BIZ UDPMincho", "MS PMincho", "GaramondPro", serif;
    color: #ffffff;
    font-size: 4.0625vw;
    line-height: 1.8;
    letter-spacing: 0.3em;
    margin-top: 3.75vw;
  }
}
.concept-sec-04 .inner .text-box {
  border-left: 2px solid #c6ae71;
  margin-left: min(3.125vw, 50px);
  padding-left: min(3.125vw, 50px);
}
@media screen and (max-width: 639px) {
  .concept-sec-04 .inner .text-box {
    margin-top: 5vw;
    padding-top: 5vw;
    border-left: none;
    margin-left: 0;
    padding-left: 0;
  }
}
.concept-sec-04 .inner .text-box h3 {
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "HiraMinProN-W3", "Yu Mincho", "YuMincho", "BIZ UDPMincho", "MS PMincho", "GaramondPro", serif;
  color: #ffffff;
  font-size: min(2.1875vw, 35px);
  margin-bottom: min(1.875vw, 30px);
  line-height: 1.8;
  letter-spacing: 0.3em;
}
@media screen and (max-width: 639px) {
  .concept-sec-04 .inner .text-box h3 {
    font-size: 4.6875vw;
    margin-bottom: 3.75vw;
  }
}
.concept-sec-04 .inner .text-box .lead {
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "HiraMinProN-W3", "Yu Mincho", "YuMincho", "BIZ UDPMincho", "MS PMincho", "GaramondPro", serif;
  color: #ffffff;
  font-size: min(1.375vw, 22px);
  line-height: 2.2;
  letter-spacing: 0.3em;
}
@media screen and (max-width: 639px) {
  .concept-sec-04 .inner .text-box .lead {
    font-size: 3.125vw;
    letter-spacing: 0.2em;
  }
  .concept-sec-04 .inner .text-box .lead .sp-hide {
    display: none;
  }
}

/****************************************************************************************************************************************************************************************
************* 05 *******************
*****************************************************************************************************************************************************************************************/
.concept-sec-05 {
  background-color: #000;
  padding: min(25vw, 400px) 0 min(37.5vw, 600px);
  position: relative;
}
@media screen and (max-width: 639px) {
  .concept-sec-05 {
    overflow: hidden;
    width: 100%;
  }
}
.concept-sec-05::after {
  content: "";
  background-color: #c6ae71;
  display: block;
  height: min(8.125vw, 130px);
  width: 2px;
  margin: 0 auto 30px;
  position: absolute;
  bottom: 2.5vw;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}
@media screen and (max-width: 639px) {
  .concept-sec-05::after {
    height: 15.625vw;
  }
}
.concept-sec-05 .inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 639px) {
  .concept-sec-05 .inner {
    display: block;
    padding: 0 5vw;
  }
}
.concept-sec-05 .inner .box {
  position: relative;
  z-index: 2;
  margin-top: min(8.75vw, 140px);
  width: calc((100% - 8.125vw) / 2);
}
.concept-sec-05 .inner .box:nth-child(-n+2) {
  margin-top: 0;
}
@media screen and (max-width: 639px) {
  .concept-sec-05 .inner .box {
    box-sizing: border-box;
    padding: 0 6.25vw;
    margin-top: 10vw;
    width: 100%;
  }
  .concept-sec-05 .inner .box:first-child {
    margin-top: 0;
  }
  .concept-sec-05 .inner .box:nth-child(2) {
    margin-top: 11.25vw;
  }
}
.concept-sec-05 .inner .box .number {
  line-height: 1;
  position: relative;
  margin-bottom: min(2.1875vw, 35px);
  width: 100%;
}
@media screen and (max-width: 639px) {
  .concept-sec-05 .inner .box .number {
    margin-bottom: 4.375vw;
  }
}
.concept-sec-05 .inner .box .number img {
  width: min(2.25vw, 36px);
}
@media screen and (max-width: 639px) {
  .concept-sec-05 .inner .box .number img {
    width: 5vw;
  }
}
.concept-sec-05 .inner .box .number::after {
  background-color: #c6ae71;
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 2px;
  width: 100%;
}
.concept-sec-05 .inner .box h3 {
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "HiraMinProN-W3", "Yu Mincho", "YuMincho", "BIZ UDPMincho", "MS PMincho", "GaramondPro", serif;
  color: #c6ae71;
  font-size: min(1.5vw, 24px);
  line-height: 1.8;
  letter-spacing: 0.18em;
  margin-bottom: min(1.25vw, 20px);
}
@media screen and (max-width: 639px) {
  .concept-sec-05 .inner .box h3 {
    font-size: 3.75vw;
    margin-bottom: 3.125vw;
  }
}
.concept-sec-05 .inner .box .text {
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "HiraMinProN-W3", "Yu Mincho", "YuMincho", "BIZ UDPMincho", "MS PMincho", "GaramondPro", serif;
  color: #ffffff;
  font-size: min(1.125vw, 18px);
  line-height: 2.2;
  letter-spacing: 0.16em;
}
@media screen and (max-width: 639px) {
  .concept-sec-05 .inner .box .text {
    font-size: 3.4375vw;
  }
}
.concept-sec-05 .inner .image {
  position: absolute;
  z-index: 1;
  top: 2.5vw;
  left: 50%;
  transform: translateX(-50%);
  width: min(66.875vw, 1070px);
}
@media screen and (max-width: 639px) {
  .concept-sec-05 .inner .image {
    top: 0;
    bottom: auto;
    padding: 7.5vw 1.25vw;
    width: 100%;
  }
}
.concept-sec-05 .inner .image img {
  height: auto;
  width: 100%;
}

/****************************************************************************************************************************************************************************************
************* 06 *******************
*****************************************************************************************************************************************************************************************/
.concept-sec-06 {
  background-color: #000;
  padding: min(3.125vw, 50px) 0 min(9.375vw, 150px);
}
@media screen and (max-width: 639px) {
  .concept-sec-06 {
    padding: 6.25vw 0 18.75vw;
  }
}
.concept-sec-06 .inner {
  text-align: center;
}
.concept-sec-06 .inner .lead {
  color: #fff;
  font-size: min(2.375vw, 38px);
  font-family: "Hiragino Mincho Pro", "Hiragino Mincho ProN", "HiraMinProN-W3", "Yu Mincho", "YuMincho", "BIZ UDPMincho", "MS PMincho", "GaramondPro", serif;
  letter-spacing: 0.2em;
  margin-bottom: min(2.8125vw, 45px);
}
@media screen and (max-width: 639px) {
  .concept-sec-06 .inner .lead {
    font-size: 4.375vw;
    margin-bottom: 5vw;
  }
}
.concept-sec-06 .inner .ttl {
  margin: 0 auto;
  width: min(66.875vw, 1070px);
}
@media screen and (max-width: 639px) {
  .concept-sec-06 .inner .ttl {
    width: 81.25vw;
  }
}