@charset "UTF-8";

.concept {
  font-feature-settings: "palt";
}

.concept img {
  display : block;
  width : 100%;
  height : auto;
}

.mv-sub {
  min-height : 300px;
}

.concept .msn-pageTitleBanner2__img {
  min-height : 300px;
  object-fit : cover;
}

@media screen and (max-width: 767px) {
  .mv-sub {
    min-height : 160px;
  }
  .concept .msn-pageTitleBanner2__img {
    min-height : 160px;
  }
}

/* ------------------------
head（ロゴ・リード・ボックス・橘オレンジ）
---------------------------*/
.head {
  padding : 200px 0 100px;
  background : #2f2e2a url(../concept/img/bg-dark.jpg?v=1793949698) no-repeat center top;
  background-size : cover;
  color : #fff;
}

.head__inner {
  text-align : center;
}

.head__ttl {
  width : 450px;
  margin : 0 auto;
}

.head__copy {
  margin : 40px 0 0;
  font-size : 20px;
  letter-spacing : 0.3em;
}

.head__txt {
  display : inline-block;
  margin : 70px 0 0;
  font-size : 15px;
  line-height : 2;
  text-align: center;
}

.head__image {
  overflow : hidden;
  margin-top : 80px;
}

.concept .head__image img {
  width : 1000px;
  max-width : none;
  margin-left : calc(50% - 470px);
}

.concept .head__image .cap {
  right : auto;
  left : calc(50% + 358px);
  bottom : 76px;
}

.orange {
  width : 960px;
  max-width : calc(100% - 30px);
  margin : 100px auto 0;
  border : 1px solid #e5572e;
  background : #dedede;
  color : #000;
}

.orange__inner {
  padding : 70px 100px 60px;
}

.orange__ttl {
  margin : 0;
  padding-bottom : 15px;
  border-bottom : 1px solid #debcb2;
  color : #e5572e;
  font-size : 24px;
  font-weight : normal;
  text-align : center;
  letter-spacing : 0.1em;
}

.orange__txt {
  margin : 50px 0 0;
  font-size : 16px;
  color : #e5572e;
  line-height : 2;
  text-align: center;
}

.orange__image {
  margin-top : 25px;
}

.orange__cap {
  margin : 8px 0 0;
  font-size : 11px;
  text-align : right;
}

@media screen and (max-width: 767px) {
  .head {
    padding : 70px 0 50px;
  }
  .head__ttl {
    width : 230px;
  }
  .head__copy {
    margin-top : 20px;
    font-size : 12px;
    letter-spacing : 0.05em;
  }

  .head__txt {
    margin-top : 25px;
    font-size : 2.6vw;
    line-height : 1.9;
  }

  .head__image {
    margin-top : 30px;
  }
  .concept .head__image img {
    width : 130%;
    margin-left : -10%;
  }
  .concept .head__image .cap {
    left : 76%;
    bottom : 10px;
  }
  .orange {
    max-width : calc(100% - 70px);
    margin-top : 40px;
  }
  .orange__inner {
    padding : 25px 22px 15px;
  }
  .orange__ttl {
    padding-bottom : 12px;
    border-bottom : 1px solid #e5572e;
    font-size : 15px;
  }
  .orange__txt {
    margin-top : 20px;
    font-size : 11px;
    line-height : 1.8;
  }
  .orange__image {
    margin-top : 15px;
  }
  .orange__cap {
    margin-top : 5px;
    font-size : 10px;
    text-align : left;
  }
}

/* ------------------------
town（寺町・高台立地）
---------------------------*/
.town {
  padding : 100px 15px;
  background : #ebebeb;
  text-align : center;
}

.town__copy {
  margin : 0;
  font-size : 26px;
  line-height : 1.9;
  letter-spacing : 0.3em;
}

.town__item {
  max-width : 900px;
  margin : 100px auto 0;
}

.town__item + .town__item {
  margin-top : 100px;
}

.town__image .cap.cap-under {
  display : block;
  font-size : 11px;
  text-align: right;
  text-shadow : none;
}

.town__ttl {
  margin : 50px 0 0;
  font-size : 22px;
  font-weight : normal;
  letter-spacing : 0.2em;
}

.town__txt {
  margin : 30px 0 0;
  font-size: 16px;
  line-height : 1.9;
}

@media screen and (max-width: 767px) {
  .town {
    padding : 40px 0 60px;
  }
  .town__copy {
    font-size : 15px;
    line-height : 1.8;
    letter-spacing : 0.1em;
  }
  .town__item {
    margin-top : 25px;
  }
  .town__item + .town__item {
    margin-top : 40px;
  }
  .town__image .cap.cap-under {
    padding : 0 35px;
    font-size : 10px;
  }
  .town__ttl {
    margin-top : 30px;
    padding : 0 35px;
    font-size : 19px;
    line-height : 1.8;
    text-align: center;
    letter-spacing : 0.15em;
  }
  .town__txt {
    margin-top : 15px;
    padding : 0 35px;
    font-size : 12px;
    line-height : 1.8;
    text-align: center;
  }
}
