@charset "UTF-8";
/* ==========================================================
  color
========================================================== */
:root {
  --GRN: #085C2F;
  --paleGRN: #DDE1D7;
  --GRD: #C2996B;
  --paleBG: #F3F4F1;
  --uspBG: linear-gradient(120deg, #221714, #595857, #221714);
  --BLK: #231815;
}

/* ==========================================================
  フォント設定
========================================================== */
#contentsWrapper {
  font-family: YakuHanMP, "リュウミン R-KL", "Ryumin Regular KL", serif !important;
  letter-spacing: 0.08em;
  color: var(--BLK);
}

.font-M {
  font-family: YakuHanMP, "リュウミン M-KL", "Ryumin Medium KL", serif !important;
}

.font-B {
  font-family: YakuHanMP, "リュウミン B-KL", "Ryumin Bold KL", serif !important;
}

.font-CINZEL {
  font-family: "Cinzel", serif;
}

.font-garamond {
  font-family: "EB Garamond", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
}

/* ==========================================================
  物件個別サイト読み込みの見出しタイトル矯正変換
========================================================== */
#contentsWrapper h2.page_ttl {
  font-size: 40px !important;
  font-family: "Cinzel", serif !important;
  color: var(--GRN) !important;
  font-weight: normal !important;
  text-align: center !important;
  line-height: 1 !important;
  letter-spacing: 0.1em !important;
  margin-bottom: 20px !important;
}
@media screen and (max-width: 768px) {
  #contentsWrapper h2.page_ttl {
    font-size: 28px !important;
  }
}
#contentsWrapper h2.page_ttl span {
  font-size: 0.4em !important;
  font-family: YakuHanMP, "リュウミン M-KL", "Ryumin Medium KL", serif !important;
  display: block !important;
  margin-top: 8px !important;
  position: relative !important;
}
#contentsWrapper h2.page_ttl span::after {
  content: "";
  display: none !important;
}

.panorama h3 {
  font-family: YakuHanMP, "リュウミン R-KL", "Ryumin Regular KL", serif !important;
}

/* ==========================================================
  共通
========================================================== */
/* 画像とキャプション */
figure {
  position: relative;
}
figure figcaption {
  font-family: YakuHanMP, "リュウミン B-KL", "Ryumin Bold KL", serif;
  font-size: 11px;
  line-height: 1.3;
  position: absolute;
  bottom: 5px;
  right: 5px;
}
figure figcaption.WH {
  color: #fff;
  text-shadow: 0 0 3px var(--BLK), 0 0 3px var(--BLK), 0 0 3px var(--BLK);
}

.cap {
  position: absolute;
  bottom: 5px;
  right: 5px;
  font-size: 11px;
  color: #fff;
  text-shadow: 0 0 3px var(--BLK), 0 0 3px var(--BLK), 0 0 3px var(--BLK);
  z-index: 2;
}

/* 見出しタイトル */
.contentsHeadline {
  font-size: 40px;
  color: var(--GRN);
  font-weight: normal;
  text-align: center;
  line-height: 1;
  letter-spacing: 0.1em;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .contentsHeadline {
    font-size: 28px;
  }
}
.contentsHeadline--WH {
  color: #fff;
}
.contentsHeadline span {
  font-size: 0.4em;
  display: block;
  margin-top: 8px;
}

/* 下層小見出し・文章 */
.contentsLead {
  font-size: clamp(20px, 2vw, 26px);
  line-height: 2;
  text-align: center;
  margin: clamp(20px, 2vw, 30px) auto;
}

.contentsTxt {
  font-size: clamp(16px, 1.6vw, 18px);
  line-height: 2;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .contentsTxt {
    text-align: left;
  }
}
.contentsTxt sup {
  font-size: 0.6em;
  vertical-align: super;
}
.contentsTxt .note {
  display: block;
  font-size: 11px;
  margin-top: 10px;
}

/* ==========================================================
  コンテンツリンク
========================================================== */
.contentsLink {
  font-family: YakuHanMP, "リュウミン R-KL", "Ryumin Regular KL", serif !important;
}
.contentsLink .contentsLink__list {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: clamp(20px, 2vw, 40px);
}
.contentsLink .contentsLink__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(20px, 2vw, 30px);
  margin-top: clamp(20px, 2vw, 40px);
}
@media screen and (max-width: 768px) {
  .contentsLink .contentsLink__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
.contentsLink .contentsLink-item {
  overflow: hidden;
}
.contentsLink .contentsLink-item a.link {
  display: block;
  height: 100%;
  color: #fff;
  text-shadow: 0 0 8px var(--BLK), 0 0 5px var(--BLK);
  padding: clamp(20px, 2vw, 40px) 10px clamp(10px, 1vw, 30px);
  position: relative;
  z-index: 0;
}
.contentsLink .contentsLink-item a.link--grid {
  padding: 0;
  height: 160px;
}
@media screen and (max-width: 768px) {
  .contentsLink .contentsLink-item a.link--grid {
    height: 120px;
  }
}
.contentsLink .contentsLink-item a.link .bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: transform 0.3s;
}
.contentsLink .contentsLink-item a.link .bg--concept {
  background: url(../img/common/link-concept.jpg) center/cover no-repeat;
  background: url(../img/common/link-concept.webp) center/cover no-repeat;
}
.contentsLink .contentsLink-item a.link .bg--access {
  background: url(../img/common/link-access.jpg) center/cover no-repeat;
  background: url(../img/common/link-access.webp) center/cover no-repeat;
}
.contentsLink .contentsLink-item a.link .bg--plan {
  background: url(../img/common/link-plan.jpg) center/cover no-repeat;
  background: url(../img/common/link-plan.webp) center/cover no-repeat;
}
.contentsLink .contentsLink-item a.link .bg--equip {
  background: url(../img/common/link-equip.jpg) center/cover no-repeat;
  background: url(../img/common/link-equip.webp) center/cover no-repeat;
}
.contentsLink .contentsLink-item a.link .bg--gallery {
  background: url(../img/common/link-gallery.jpg) center/cover no-repeat;
  background: url(../img/common/link-gallery.webp) center/cover no-repeat;
}
.contentsLink .contentsLink-item a.link .bg--brand {
  background: url(../img/common/link-brand.jpg) center/cover no-repeat;
  background: url(../img/common/link-brand.webp) center/cover no-repeat;
}
.contentsLink .contentsLink-item a.link .bg--top {
  background: url(../img/common/link-top.jpg) center/cover no-repeat;
  background: url(../img/common/link-top.webp) center/cover no-repeat;
}
.contentsLink .contentsLink-item a.link .comingsoon {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(25, 30, 22, 0.8);
  z-index: 1;
}
.contentsLink .contentsLink-item a.link .item-inner {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2;
}
.contentsLink .contentsLink-item a.link .item-inner .ttl {
  font-size: clamp(22px, 2.2vw, 30px);
  line-height: 1.2;
  text-align: center;
}
.contentsLink .contentsLink-item a.link .item-inner .ttl--grid {
  font-size: clamp(18px, 1.8vw, 24px);
}
.contentsLink .contentsLink-item a.link .item-inner .txt {
  font-size: clamp(14px, 1.4vw, 18px);
  line-height: 2;
  text-align: center;
  margin: clamp(8px, 0.8vw, 20px) auto clamp(20px, 2vw, 40px);
}
.contentsLink .contentsLink-item a.link .item-inner .txt--grid {
  margin: 10px auto 0;
}
.contentsLink .contentsLink-item a.link .item-inner .more {
  display: flex;
  align-items: center;
  gap: 10px;
}
.contentsLink .contentsLink-item a.link .item-inner .more span {
  font-size: clamp(14px, 1.4vw, 18px);
  text-align: center;
}
.contentsLink .contentsLink-item a.link .item-inner .more .arw {
  position: relative;
  width: 28px;
  height: 12px;
  background: url(../img/common/icon-arw.svg) center/cover no-repeat;
  transition: transform 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  .contentsLink .contentsLink-item a.link:hover:hover .bg {
    transform: scale(1.05);
  }
  .contentsLink .contentsLink-item a.link:hover:hover .arw {
    transform: translateX(5px);
  }
}

/* ==========================================================
  リンクボタン
========================================================== */
.link-btn {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  width: min(100%, 450px);
  height: 50px;
  background: var(--GRN);
  border: 1px solid var(--GRN);
  margin: 0 auto;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .link-btn {
    height: 44px;
  }
}
.link-btn::before {
  content: "";
}
.link-btn span {
  font-size: clamp(16px, 1.6vw, 20px);
  color: #fff;
  text-align: center;
}
.link-btn .arw {
  display: block;
  width: 12px;
  height: 12px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  transform: rotate(-45deg);
  position: relative;
  right: 20px;
}
@media (hover: hover) and (pointer: fine) {
  .link-btn:hover:hover {
    background: #fff;
  }
  .link-btn:hover:hover span {
    color: var(--GRN);
  }
  .link-btn:hover:hover .arw {
    border-right: 1px solid var(--GRN);
    border-bottom: 1px solid var(--GRN);
  }
}/*# sourceMappingURL=common.css.map */