@charset "UTF-8";

/* loadion */


#loading_Wrap {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: #000;
  z-index: 999;
}

.loading_in {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.loading_in figure {
  max-width: 300px;
  width: 100%;
  margin: 0 auto;
}

.loader,
.loader:before,
.loader:after {
  border-radius: 50%;
  width: 2em;
  height: 2em;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation: load7 1.8s infinite ease-in-out;
  animation: load7 1.8s infinite ease-in-out;
}

.loader {
  color: #ffffff;
  font-size: 10px;
  margin: 10px auto 0;
  position: relative;
  text-indent: -9999em;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}

.loader:before,
.loader:after {
  content: '';
  position: absolute;
  top: 0;
}

.loader:before {
  left: -3.5em;
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}

.loader:after {
  left: 3.5em;
}

@-webkit-keyframes load7 {

  0%,
  80%,
  100% {
    box-shadow: 0 2.5em 0 -1.3em;
  }

  40% {
    box-shadow: 0 2.5em 0 0;
  }
}

@keyframes load7 {

  0%,
  80%,
  100% {
    box-shadow: 0 2.5em 0 -1.3em;
  }

  40% {
    box-shadow: 0 2.5em 0 0;
  }
}

#main_Img {
  width: 100%;
  /* margin-top: 120px; */
  margin-top: 158px;
}

.main_Block {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
}

.video_pc {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  width: 100%;
}

.video_pc video {
  width: 100%;
}

.slide_pc {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 4;
  width: 100%;
}

.slide_pc li {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
}

/* MVの仕様を通常のスライドに変更_20240221 */
.main {
  margin-top: 158px;
  position: relative;
  overflow: hidden;
}

.mainslide_pc {
  display: block;
}

.mainslide_sp {
  display: none;
}

.main_fix .slide {
  width: 100vw;
}

.position_brand {
  position: absolute;
  bottom: 16.8%;
  /* bottom: 10px; */
  right: 0;
  /* width: 22vw; */
  width: 30vw;
  /* width: 34vw; */
  transition: .3s;
  z-index: 5;
}

.position_brand:hover {
  opacity: .6;
}

.movieBtn {
  display: none;
  position: absolute;
  bottom: 10px;
  left: 10px;
  padding: 5px 10px;
  background-color: #fff;
  border: none;
  border-radius: 0;
  font-size: 11px;
  box-shadow: none;
  box-sizing: border-box;
  cursor: pointer;
  z-index: 6;
}

#top_Block01 {
  width: 100%;
  padding: 70px 0;
  background: url(../img/top/bg01.jpg) no-repeat;
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
}

.head_Txt {
  padding: 0 0 50px;
  color: #7e100a;
  text-align: center;
}

.head_Txt h2 {
  font-size: 48px;
  letter-spacing: 0.2em;
  line-height: 1;
}

.head_Txt h2::before,
.head_Txt h2::after {
  display: inline-block;
  content: '';
  width: 55px;
  height: 2px;
  background-color: #7e100a;
  vertical-align: super;
}

.head_Txt h2::before {
  margin-right: 15px;
}

.head_Txt h2::after {
  margin-left: 5px;
}

.head_Txt h3 {
  padding: 20px 0 0;
  font-size: 30px;
  letter-spacing: 0.1em;
  line-height: 1.5;
}

.copy {
  max-width: 500px;
  width: 90%;
  margin: 0 auto;
}

.top_headCopy {
  padding: 70px 0 60px;
  text-align: center;
}

.top_headCopy h4 {
  padding: 0 0 30px;
  color: #6f5000;
  font-size: 40px;
  letter-spacing: 0.1em;
  line-height: 1;
}

.top_headCopy p {
  font-size: 20px;
  line-height: 2.5;
}

.premium_teiki {
  background: #231815;
  padding: 30px 0 0 0;
}

.premium_teiki a {
  display: block;
  width: 90%;
  max-width: 1040px;
  margin: 0 auto;
}

/* .premium_teiki .premium_teiki_btn {
  display: block;
  width: 280px;
  text-align: center;
  background-image: -moz-linear-gradient(0deg, rgb(189, 12, 22) 0%, rgb(153, 6, 11) 40%, rgb(117, 0, 0) 100%);
  background-image: -webkit-linear-gradient(0deg, rgb(189, 12, 22) 0%, rgb(153, 6, 11) 40%, rgb(117, 0, 0) 100%);
  background-image: -ms-linear-gradient(0deg, rgb(189, 12, 22) 0%, rgb(153, 6, 11) 40%, rgb(117, 0, 0) 100%);
  padding: 10px 0 12px 0;
  margin: 20px auto 0;
  position: relative;
  transition: all .5s;
}

.premium_teiki .premium_teiki_btn::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  border: 5px solid transparent;
  border-left: 8px solid #dbba8a;
}

.premium_teiki .premium_teiki_btn:hover {
  opacity: 0.7;
}

.premium_teiki .premium_teiki_btn .grade {
  background-image: -moz-linear-gradient(90deg, rgb(233, 212, 170) 0%, rgb(226, 197, 151) 40%, rgb(218, 182, 132) 100%);
  background-image: -webkit-linear-gradient(90deg, rgb(233, 212, 170) 0%, rgb(226, 197, 151) 40%, rgb(218, 182, 132) 100%);
  background-image: -ms-linear-gradient(90deg, rgb(233, 212, 170) 0%, rgb(226, 197, 151) 40%, rgb(218, 182, 132) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
} */

.point_List {
  max-width: 1000px;
  width: 94%;
  margin: 0 auto;
}

/* .point_List {
justify-content: center;
align-items: stretch;
color: #6f5000;
font-size: 22px;
letter-spacing: 0.1em;
line-height: 1.5;
text-align: center;
}
.point_List li {
padding: 10px 30px;
border-right: 1px solid #6f5000;
box-sizing: border-box;
}
.point_List li:first-child { border-left: 1px solid #6f5000;} */

#top_Block02 {
  width: 100%;
  padding: 0 0 70px 0;
  background: url(../img/top/bg02.jpg) no-repeat center top;
  background-size: cover;
}

a.concept:hover #top_Block03 .content_Area .left .title p:after {
  right: -20px;
}

#top_Block03 {
  width: 100%;
  background-color: #000;
  padding-bottom: 60px;
  overflow-x: hidden;
}

#top_Block03 .content_Area {
  flex-wrap: wrap;
}

#top_Block03 .content_Area .left {
  width: 50%;
  padding: 50px 0;
}

#top_Block03 .content_Area .left p.c_logo {
  max-width: 216px;
  margin: 0 auto;
}


#top_Block03 .content_Area .left p.txt {
  font-size: 20px;
  color: #fff;
  line-height: 2;
  text-align: center;
  margin-top: 40px;
}

#top_Block03 .content_Area .left .title {
  text-align: center;
}

#top_Block03 .content_Area .left .title p {
  display: inline-block;
  font-size: 45px;
  font-family: 'Lato', sans-serif;
  color: #cfa26c;
  letter-spacing: 0.05em;
  text-align: center;
  margin-top: 80px;
  padding-right: 100px;
  position: relative;
}


#top_Block03 .content_Area .left .title p::after {
  display: inline-block;
  content: "";
  width: 80px;
  height: 8px;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: skew(45deg);
  position: absolute;
  top: 30%;
  right: 0;
  transition: all .3s;
}

#top_Block03 .content_Area .right {
  width: 50%;
}

#top_Block04 {
  width: 100%;
  flex-wrap: wrap;
}

#top_Block04 .con {
  width: 50%;
}

#top_Block04 a {
  display: inline-block;
}

#top_Block04 a p.txt {
  font-size: 20px;
  color: #fff;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: center;
}

#top_Block04 a .title {
  text-align: center;
}

#top_Block04 a .title p {
  display: inline-block;
  font-size: 45px;
  font-family: 'Lato', sans-serif;
  color: #cfa26c;
  letter-spacing: 0.05em;
  text-align: center;
  margin-top: 80px;
  padding-right: 100px;
  position: relative;
}

#top_Block04 a .title p::after {
  display: inline-block;
  content: "";
  width: 80px;
  height: 8px;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: skew(45deg);
  position: absolute;
  top: 30%;
  right: 0;
  transition: all .3s;
}

#top_Block04 a.location {
  width: 100%;
  background-color: #000;
  background-image: url(../img/top/location.jpg);
  background-size: cover;
  padding: 120px 0;
}

#top_Block04 .con:hover a.location .title p::after {
  right: -20px;
}

#top_Block04 a.plan {
  width: 100%;
  background-color: #000;
  background-image: url(../img/top/plan.jpg);
  background-size: cover;
  background-position: left top;
  padding: 120px 0;
  position: relative;
}

#top_Block04 a.plan::after {
  content: "image";
  display: block;
  position: absolute;
  bottom: 5px;
  right: 5px;
  color: #fff;
  font-size: 11px;
}

#top_Block04 .con:hover a.plan .title p::after {
  right: -20px;
}

#top_Block04 a.design {
  width: 100%;
  background-color: #000;
  background-image: url(../img/top/design.jpg);
  background-size: cover;
  background-position: left top;
  padding: 120px 0;
  position: relative;
}

#top_Block04 .con:hover a.design .title p::after {
  right: -20px;
}

#top_Block04 a.design::after {
  content: "エントランスアプローチ完成予想図";
  display: block;
  position: absolute;
  bottom: 5px;
  right: 5px;
  color: #fff;
  font-size: 11px;
}


#top_Block04 a.quality {
  width: 100%;
  background-color: #000;
  background-image: url(../img/top/quality.jpg);
  background-size: cover;
  background-position: left top;
  padding: 120px 0;
  position: relative;
}

#top_Block04 .con:hover a.quality .title p::after {
  right: -20px;
}

#top_Block04 a.quality::after {
  content: "当社分譲例写真";
  display: block;
  position: absolute;
  bottom: 5px;
  right: 5px;
  color: #fff;
  font-size: 11px;
}

/* #top_Block04 .con:hover a.quality .title p::after {
  right: -20px;
} */



.main_Icon {
  width: 180px;
  height: 180px;
  margin: 0 auto 50px;
}

.point_Area {
  background-color: #fff;
}

.point_Area p {
  max-width: 1168px;
  width: 90%;
  padding: 20px 0;
  margin: 0 auto;
}

.teiki_Area {
  background-image: -moz-linear-gradient(-180deg, rgb(221, 188, 147) 0%, rgb(242, 230, 201) 100%);
  background-image: -webkit-linear-gradient(-180deg, rgb(221, 188, 147) 0%, rgb(242, 230, 201) 100%);
  background-image: -ms-linear-gradient(-180deg, rgb(221, 188, 147) 0%, rgb(242, 230, 201) 100%);
  /* background-image: -moz-linear-gradient(-180deg, rgb(191, 12, 34) 0%, rgb(123, 0, 7) 100%);
  background-image: -webkit-linear-gradient(-180deg, rgb(191, 12, 34) 0%, rgb(123, 0, 7) 100%);
  background-image: -ms-linear-gradient(-180deg, rgb(191, 12, 34) 0%, rgb(123, 0, 7) 100%); */
  padding: 35px 0;
  margin-bottom: 60px;
  border-top: 1px solid #ead8af;
  border-bottom: 1px solid #ead8af;
  /* color: #5f483a;
  text-align: center; */
  overflow: hidden;
  position: relative;
}

.teiki_Area::before {
  display: block;
  content: "";
  width: 12%;
  background-image: url(../img/common/icon02.svg);
  background-repeat: no-repeat;
  background-size: contain;
  padding-top: 12%;
  position: absolute;
  top: 50%;
  right: 28%;
  transform: translateY(-50%);
  z-index: 2;
}

.teiki_Area p {
  max-width: 752px;
  width: 90%;
  margin: 0 auto;
  position: relative;
  z-index: 3;
}

/* .teiki_Area h3 {
  padding: 0 0 40px;
  font-size: 36px;
  letter-spacing: 0.2em;
  line-height: 1;
} */

.teiki_Box h4 {
  display: inline-block;
  font-size: 32px;
  letter-spacing: 0.1em;
  line-height: 1;
}

.teiki_Box h4 small {
  font-size: 24px;
}

.teiki_Box p {
  font-size: 28px;
  letter-spacing: 0.15em;
  line-height: 1;
}

.teiki_Box p small {
  font-size: 20px;
}

.bnr_Area a {
  display: block;
  width: 90%;
  max-width: 800px;
  margin: 0 auto 40px;
  transition: all .5s;
}

.bnr_Area a:hover {
  opacity: 0.7;
}

.r-canpaign a {
  display: block;
  width: 90%;
  max-width: 800px;
  margin: 0 auto 40px;
  transition: all .5s;
}

.r-canpaign a:hover {
  opacity: 0.7;
}

#info_Area h5 {
  padding: 0 0 10px;
  color: #5f483a;
  font-size: 15px;
  font-family: 'Lato', sans-serif;
  text-align: center;
}

#info_Area>div {
  max-width: 800px;
  /* max-height: 240px; */
  overflow-y: scroll;
  width: 90%;
  padding: 20px;
  margin: 0 auto;
  background-color: #fff;
  box-sizing: border-box;
  /* IE, Edge 対応 */
  /* -ms-overflow-style: none; */
  /* Firefox 対応 */
  /* scrollbar-width: none; */
}

/* #info_Area>div::-webkit-scrollbar {
  display:none;
 } */

.scrollBox {
  overflow-y: scroll;
  height: 200px;
}

.info_List li:not(:first-child) {
  padding: 15px 0 0;
}

.info_List dl {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  font-size: 14px;
}

.info_List dt {
  padding: 0 10px 0 0;
  box-sizing: border-box;
}

/* プレミアムプランボタン */
.premium_btn {
  display: block;
  position: absolute;
  right: 0;
  bottom: 10px;
  /* bottom: 32%; */
  /* bottom: 23%; */
  /* width: 30vw; */
  width: 30vw;
  padding: 0;
  margin: 0;
  background-color: unset;
  border: none;
  cursor: pointer;
  transition: .3s;
  z-index: 5;
}

/* モーダル記述 */
.modalBtn {
  display: block;
  position: absolute;
  right: 0;
  /* bottom: 30vh; */
  bottom: 32%;
  width: 30vw;
  /* max-width: 30vw; */
  padding: 0;
  margin: 0;
  background-color: unset;
  border: none;
  cursor: pointer;
  transition: .3s;
  z-index: 5;
}

#modal_Wrap {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 10;
}

#modal_Wrap.open {
  display: block;
}

.modal_bg {
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, .8);
}

.modal_video {
  position: absolute;
  top: 50%;
  left: 50%;
  /* max-width: 800px; */
  max-width: 1200px;
  width: 100%;
  height: 0;
  /* padding-top: 25.30%; */
  padding-top: 46.3%;
  transform: translate(-50%, -50%);
}

.modal_video video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.close_Btn {
  display: block;
  position: absolute;
  bottom: 5vh;
  left: 50%;
  padding: 5px 20px;
  color: #000;
  background-color: #fff;
  cursor: pointer;
  box-sizing: border-box;
  transform: translateX(-50%);
}

/* バナー追加 */
.bnr_Block {
  max-width: 800px;
  width: 90%;
  margin: 40px auto 0;
  box-sizing: border-box;
}

.bnr_Block a {
  display: block;
  transition: 0.3s;
}

.bnr_Block a:hover {
  opacity: 0.7;
}

/* お知らせ追加 */
.holiday_Box {
  width: 90%;
  max-width: 800px;
  text-align: center;
  margin: 50px auto;
  padding: 20px 10px;
  border: 1px solid #870000;
}

.holiday_Box h3 {
  display: inline-block;
  color: #870000;
  font-size: 22px;
  position: relative;
}

.holiday_Box h3::before {
  content: "";
  display: inline-block;
  width: 50px;
  border-top: 1px solid #870000;
  position: absolute;
  top: 50%;
  left: -60px;
  transform: translateY(-50%);
}

.holiday_Box h3::after {
  content: "";
  display: inline-block;
  width: 50px;
  border-top: 1px solid #870000;
  position: absolute;
  top: 50%;
  right: -60px;
  transform: translateY(-50%);
}

.holiday_Box p {
  font-size: 16px;
  line-height: 1.3;
  margin-top: 20px;
}

.holiday_Box p span.date {
  font-size: 1.2em;
}

.holiday_Box p small {
  font-size: 0.9em;
}

.holiday_Box .holiday_note {
  font-size: 14px;
}

/* コンセプトムービー動画 */
/*動画*/
.modal {
  display: none;
  height: 100vh;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 9999;
}

.modal__bg {
  background: rgba(0, 0, 0, 0.8);
  height: 100vh;
  position: absolute;
  width: 100%;
}

.modal__content {
  left: 50%;
  padding: 0 40px;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 70%;
}

.modal__content a {
  position: absolute;
  top: 105%;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  font-size: 15px;
  letter-spacing: 4px;
  border: solid 1px #fff;
  padding: 10px 20px 10px 25px;
}

.modal__content video {
  width: 100%;
}

/* フロートバナー追加 */
.float_cam_bnr {
  position: fixed;
  width: 50%;
  max-width: 400px;
  z-index: 99;
}

.float_cam_bnr.float01 {
  right: 10px;
  /* bottom: 5%; */
}

.float_cam_bnr.float02 {
  right: 10px;
  /* bottom: 33%; */
  bottom: 5%;
}

.float_cam_bnr a {
  display: block;
  width: 100%;
  transition: all .5s;
}

.float_cam_bnr a:hover {
  opacity: 0.9;
}

.float_cam_bnr .btn_close {
  position: absolute;
  top: -10px;
  right: -5px;
  width: 30px;
  cursor: pointer;
}

/* ロード時ポップアップ表示 */
.load_Box {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 9999;
}

.load_Box .bg {
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .5);
  z-index: 0;
}

.load_Itm {
  position: absolute;
  top: 50%;
  left: 50%;
  text-align: center;
  transform: translate(-50%, -50%);
}

.load_Itm a {
  display: block;
  /* max-width: 800px; */
  max-width: 960px;
  width: 90vw;
  transition: .3s;
}

.load_Itm a:hover {
  opacity: .6;
}

.load_Itm img {
  width: 100%;
}

.closeBtn {
  box-sizing: border-box;
  display: inline-block;
  color: #000;
  letter-spacing: 4px;
  background-color: #fff;
  padding: 10px 30px;
  margin: 10px auto 0;
  cursor: pointer;
}

@media (max-width: 1200px) {
  #main_Img {
    margin-top: 265px;
  }

  .main {
    margin-top: 265px;
  }
}

/*=======================================
TAB
=======================================*/
@media (max-width: 1180px) {
  #main_Img {
    margin-top: 250px;
  }

  .main {
    margin-top: 250px;
  }

  .modal__content {
    width: 94%;
  }
}

@media (max-width: 1180px) and (min-width: 821px) {
  .tab {
    display: block;
  }

  #top_Block03 .content_Area .left {
    padding: 15px 0;
  }

  #top_Block04 a.quality {
    padding: 100px 0;
  }
}

/*=======================================
SP
=======================================*/
@media (max-width: 820px) {
  #main_Img {
    margin-top: 85px;
    /* margin-top: 55px; */
  }

  .main_Block {
    padding-top: 100%;
  }

  .video_sp {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 5;
  }

  .video_sp video {
    /* width: 100%; */
    width: 100vw;
  }

  .slide_sp {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 4;
  }

  .slide_sp li {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
  }

  /* MVを通常スライドに変更_20240221 */
  /* mainvisual */
  .main {
    margin-top: 85px;
  }

  .mainslide_pc {
    display: none;
  }

  .mainslide_sp {
    display: block;
  }

  .sp_brand {
    transition: .3s;
  }

  .sp_brand:hover {
    opacity: .6;
  }

  #top_Block01 {
    padding: 40px 0;
  }

  .head_Txt {
    padding: 0 0 30px;
  }

  .head_Txt h2 {
    font-size: 36px;
  }

  .head_Txt h2::before,
  .head_Txt h2::after {
    width: 22px;
  }

  .head_Txt h3 {
    padding: 20px 0 0;
    font-size: 22px;
    line-height: 1.4;
  }

  .copy {
    width: 80%;
  }

  .top_headCopy {
    padding: 40px 0 30px;
    text-align: center;
  }

  .top_headCopy h4 {
    padding: 0 0 20px;
    font-size: 22px;
  }

  .top_headCopy p {
    font-size: 14px;
    line-height: 2.2;
  }

  .point_List {
    width: 80%;
    margin: 0 auto;
  }

  /* .point_List {
flex-direction: column;
font-size: 18px;
}
.point_List li {
width: 90%;
padding: 10px 0;
margin: 0 auto;
border-right: none;
border-bottom: 1px solid #6f5000;
}
.point_List li:first-child {
border-left: none;
border-top: 1px solid #6f5000;
} */

  #top_Block02 {
    padding: 0 0 40px 0;
  }

  #top_Block03 {
    padding-bottom: 30q;
  }

  #top_Block03 .content_Area .left {
    padding: 20px 0;
  }

  #top_Block03 .content_Area .left p.c_logo {
    width: 28%;
  }

  #top_Block03 .content_Area .left p.txt {
    font-size: 16px;
    margin-top: 20px;
  }

  #top_Block03 .content_Area .left .title p {
    font-size: 26px;
    margin-top: 40px;
    padding-right: 60px;
  }

  #top_Block03 .content_Area .left .title p::after {
    width: 40px;
  }


  #top_Block04 a p.txt {
    font-size: 16px;
  }

  #top_Block04 a .title p {
    font-size: 26px;
    padding-right: 60px;
    margin-top: 25px;
  }

  #top_Block04 a .title p::after {
    width: 40px;
  }

  #top_Block04 a.quality {
    /* padding: 104px 0; */
    padding: 88px 0;
  }

  .main_Icon {
    width: 150px;
    height: 150px;
    margin: 0 auto 30px;
  }

  .premium_teiki {
    padding: 0 0 0 0;
  }

  .premium_teiki a {
    width: 100%;
  }

  /* .premium_teiki .premium_teiki_btn {
    width: 190px;
    font-size: 14px;
  } */

  .point_Area p {
    width: 92%;
  }

  .teiki_Area {
    padding: 20px 0 20px 0;
  }

  .teiki_Area::before {
    width: 40%;
    padding-top: 40%;
    right: initial;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .teiki_Area p {
    width: 90%;
  }

  /* .teiki_Area h3 {
    padding: 0 0 30px;
    font-size: 32px;
  } */

  .teiki_Box h4 {
    padding: 0 10px 15px;
    font-size: 22px;
    line-height: 1.4;
    letter-spacing: 0.07em;
    box-sizing: border-box;
  }

  .teiki_Box h4 small {
    font-size: 20px;
    vertical-align: baseline;
  }

  .teiki_Box p {
    font-size: 24px;
    line-height: 1.4;
  }

  .teiki_Box p small {
    font-size: 18px;
  }

  .info_List dl {
    flex-direction: column;
  }

  .info_List dt {
    padding: 0 0 8px 0;
  }

  /* プレミアムボタン */
  .premium_btn {
    width: 70vw;
    bottom: 2%;
    right: 5px;
    z-index: 4;
    display: none;
  }

  /* モーダル記述 */
  .modalBtn {
    width: 60vw;
    bottom: 2%;
    right: 5px;
    z-index: 4;
  }

  .Android .modalBtn {
    width: 60vw;
    bottom: 2%;
    right: 5px;
    z-index: 4;
  }

  .Android .modal_video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  /* コンテンツムービー動画 */
  .modal {
    display: none;
    height: 100vh;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 9999;
  }

  .modal__bg {
    background: rgba(0, 0, 0, 0.8);
    height: 100vh;
    position: absolute;
    width: 100%;
  }

  .modal__content {
    left: 50%;
    padding: 0 0;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
  }

  .modal__content video {
    width: 100%;
    height: auto;
  }

  .modal__content a {
    position: absolute;
    top: -55px;
    left: auto;
    right: 0;
    color: #fff;
    font-size: 50px;
    border: none;
    padding: 0;
    transform: none;
  }

  /* floatバナー */
  .float_cam_bnr {
    /* width: 90%; */
    width: 74%;
    right: initial;
    left: 50%;
    transform: translateX(-50%);
  }

  /* .float_cam_bnr.float01 {
      bottom: 10%;
    } */

  .float_cam_bnr.float02 {
    /* bottom: 23.5%; */
    bottom: 10%;
  }

  .float_cam_bnr .btn_close {
    right: -7px;
    width: 20px;
  }

  .load_Box {
    position: fixed;
  }

  .closeBtn {
    font-size: 50px;
    color: #fff;
    letter-spacing: 4px;
    border: none;
    background: none;
    padding: 0;
    margin: 0;
    position: absolute;
    top: -55px;
    left: auto;
    right: 0;
    transform: none;
  }


}

@media (max-width: 500px) {
  #top_Block03 .content_Area .left {
    width: 100%;
    padding: 40px 0;
  }

  #top_Block03 .content_Area .right {
    width: 100%;
  }

  #top_Block04 .con {
    width: 100%;
  }

  #top_Block04 a.location {
    padding: 70px 0;
  }

  #top_Block04 a.plan {
    padding: 70px 0;
  }

  #top_Block04 a.design {
    padding: 70px 0;
  }

  #top_Block04 a.quality {
    padding: 54px 0;
  }

  /* バナー追加 */
  .bnr_Block {
    margin: 50px auto 0;
  }

  /* お知らせ追加 */

  .holiday_Box h3 {
    display: inline-block;
    font-size: 18px;
    position: relative;
  }

  .holiday_Box h3::before {
    content: "";
    display: inline-block;
    width: 20px;
    position: absolute;
    top: 50%;
    left: -30px;
    transform: translateY(-50%);
  }

  .holiday_Box h3::after {
    content: "";
    display: inline-block;
    width: 20px;
    position: absolute;
    top: 50%;
    right: -30px;
    transform: translateY(-50%);
  }

  .holiday_Box p {
    font-size: 14px;
    line-height: 1.5;
    margin-top: 10px;
  }

  .holiday_Box p small {
    font-size: 0.9em;
  }

  .holiday_Box .holiday_note {
    font-size: 12px;
    text-align: left;
  }
}