@charset "UTF-8";
/* コンテンツ最大幅 */
/* color */
/* ============================================ */
/* font */
/* ============================================ */
.common-main__ttl {
  top: 41%;
  left: 23.5cqw;
}
@media (width < 1681px) {
  .common-main__ttl {
    left: 22.5cqw;
  }
}
@media screen and (max-width: 1024px) {
  .common-main__ttl {
    top: 39%;
  }
}
@media screen and (max-width: 767px) {
  .common-main__ttl {
    top: 35%;
    left: 20cqw;
  }
}
@media all and (max-width: 480px) {
  .common-main__ttl {
    top: 34%;
    left: 22cqw;
  }
}

.en_ttl {
  font-size: clamp(1.8rem, 0.85vw + 1.482rem, 2.5rem);
  letter-spacing: 0.2em;
  font-family: "Anton", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  color: #0073bc;
  padding-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .en_ttl {
    padding-bottom: 10px;
  }
}

.corner_top {
  position: absolute;
  top: 0px;
  right: 0px;
  width: 49%;
}
@media screen and (max-width: 767px) {
  .corner_top {
    right: -20px;
  }
}

.corner_bottom {
  position: absolute;
  bottom: 0px;
  left: 0px;
  width: 44%;
}
@media screen and (max-width: 767px) {
  .corner_bottom {
    position: relative;
    width: 80%;
    padding: 20px 0 0;
  }
}
.corner_bottom img {
  width: 100%;
  height: auto;
}

.concept {
  position: relative;
}
.concept-container {
  container-type: inline-size;
  text-align: left;
  position: relative;
  padding: 0 0 120px;
}
@media screen and (max-width: 1367px) {
  .concept-container {
    padding: 0 0 80px;
  }
}
@media screen and (max-width: 767px) {
  .concept-container {
    padding: 0 0 40px;
  }
}
.concept-container_column {
  padding: 80px 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 1367px) {
  .concept-container_column {
    padding: 60px 0;
  }
}
@media screen and (max-width: 767px) {
  .concept-container_column {
    grid-template-columns: repeat(1, 1fr);
    padding: 80px 0 25px;
  }
}
@media all and (max-width: 480px) {
  .concept-container_column {
    padding: 50px 0 25px;
  }
}
@media screen and (max-width: 767px) {
  .concept-container_column .blank {
    height: 0px;
  }
}
@media screen and (max-width: 767px) {
  .concept-container_column .side_img {
    padding-top: 16px;
  }
}
.concept-container_column-lead h2 {
  font-size: 3.5rem;
  line-height: 1.2em;
  font-weight: 700;
  letter-spacing: 0.1em;
  word-break: keep-all;
}
@media screen and (max-width: 1367px) {
  .concept-container_column-lead h2 {
    font-size: 2.8rem;
  }
}
@media all and (max-width: 480px) {
  .concept-container_column-lead h2 {
    font-size: min(6vw, 2rem);
  }
}
.concept-container_column-lead h3 {
  font-size: clamp(1.4rem, 0.97cqw + 1.036rem, 2.2rem);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.4em;
  padding-top: 10px;
}
@media screen and (max-width: 767px) {
  .concept-container_column-lead h3 {
    padding-top: 5px;
  }
}
.concept-container_column-lead p {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.8;
  margin-top: 30px;
  text-align: justify;
  padding-right: 8cqw;
}
@media screen and (max-width: 1367px) {
  .concept-container_column-lead p {
    font-size: 1.5rem;
    margin-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  .concept-container_column-lead p {
    padding-right: 0cqw;
  }
}
@media all and (max-width: 480px) {
  .concept-container_column-lead p {
    font-size: min(5vw, 1.4rem);
    margin-top: 10px;
  }
}
.concept-container_column-lead .common-col2 {
  margin-top: 30px;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .concept-container_column-lead .common-col2 {
    grid-template-columns: repeat(2, 1fr);
    gap: 5px;
  }
}
.concept-bggra {
  color: #fff;
  background: #1BB8CE;
  background: linear-gradient(90deg, rgb(27, 184, 206) 0%, rgb(0, 104, 183) 100%);
  padding-bottom: 100px;
  width: 100%;
  position: relative;
}
@media screen and (max-width: 1367px) {
  .concept-bggra {
    padding-bottom: 80px;
  }
}
@media screen and (max-width: 767px) {
  .concept-bggra {
    padding-bottom: 0px;
  }
}
.concept-bggra__en {
  margin: -20px -10px 0 0;
  text-align: right;
  font-family: "Anton", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  opacity: 0.15;
  line-height: 1;
  font-size: clamp(4.6rem, 5.33vw + 2.6rem, 9rem);
  letter-spacing: 0.05em;
}
@media all and (max-width: 480px) {
  .concept-bggra__en {
    margin: -20px 0px 0 0;
  }
}
.concept-bggra__txt {
  position: relative;
  width: 50%;
  margin: 0 0 0 auto;
  padding: 80px 0 0;
}
@media screen and (max-width: 1367px) {
  .concept-bggra__txt {
    padding: 40px 0 0;
  }
}
@media screen and (max-width: 767px) {
  .concept-bggra__txt {
    width: 100%;
    padding: 20px 0 0;
  }
}
@media all and (max-width: 480px) {
  .concept-bggra__txt {
    padding: 0px 0 0;
  }
}
.concept-bggra__txt h2 {
  font-size: clamp(2.5rem, 1.21vw + 2.045rem, 3.5rem);
  line-height: 1.2em;
  font-weight: 700;
  letter-spacing: 0.1em;
  word-break: keep-all;
}
.concept-bggra__txt h3 {
  font-size: clamp(1.6rem, 0.73vw + 1.327rem, 2.2rem);
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.4em;
  padding-top: 10px;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.concept-bggra__txt p {
  line-height: 2em;
  padding: 60px 0 0;
  word-break: keep-all;
}
@media screen and (max-width: 1367px) {
  .concept-bggra__txt p {
    padding: 30px 0 0;
  }
}
@media screen and (max-width: 767px) {
  .concept-bggra__txt p {
    padding: 10px 0 0;
  }
}
.concept-bggra__txt .sonomama {
  font-size: clamp(1.6rem, 0.73vw + 1.327rem, 2.2rem);
  line-height: 1.4em;
  padding: 60px 0 0;
  word-break: keep-all;
}
@media screen and (max-width: 1367px) {
  .concept-bggra__txt .sonomama {
    padding: 30px 0 0;
  }
}
@media all and (max-width: 480px) {
  .concept-bggra__txt .sonomama {
    padding: 10px 0 0;
  }
}

.mv_txt {
  font-size: clamp(3rem, 6.47vw + 0.573rem, 13rem);
  line-height: 1em;
  font-family: "Anton", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  position: absolute;
  right: 1vw;
  bottom: 0.5vw;
  color: #FFF;
  opacity: 0.5;
  text-shadow: 1px 1px 8px rgba(0, 0, 0, 0.7);
}