@charset "utf-8";
/* CSS Document */

:root {
  --c-main: 220, 30%, 50%;
  --c-sub: 220, 40%, 20%;
  --ff-acumin: "acumin-pro-extra-condensed", sans-serif;
}

/* 
background-color: hsl(var(--c-main), 40%);

font-family: "acumin-pro-extra-condensed", sans-serif;
font-weight: 200;
font-style: normal;


 */


body {
  height: auto;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  background-color: #fff;
}

/*小規模物件テンプレート用ヘッダー*/

.header-propaty-sm {
  display: block;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1000;
}

/**/
.header-propaty-sm-row-1 {
  align-items: center;
  background-color: hsla(0, 0%, 100%, 1);
  -webkit-box-align: center;
  display: flex;
  -ms-flex-align: center;
  width: 100%;
}

.header-propaty-sm-row-1-logo {
  padding: 0.5em 0 0.5em 1em;
  width: 10em;
}

/**/
.header-propaty-sm-row-1-list-btns-1 {
  display: flex;
  margin: 0;
  margin-top: 1.5em;
  padding: 0;
  width: 100%;
}

.header-propaty-sm-row-1-list-btns-1-item {
  text-align: center;
  width: 50%;
}

.header-propaty-sm-row-1-list-btns-1-item:first-child {
  border-right: 1px solid hsl(0, 0%, 80%);
}

.header-propaty-sm-row-1-list-btns-1-item-link {
  display: block;
  padding: 0.8em 0;
}

/**/
.header-propaty-sm-row-1-list-btns-2 {
  list-style: none;
  margin: 0;
  margin-top: 1.5em;
  padding: 0;
}

.header-propaty-sm-row-1-list-btns-2-item+.header-propaty-sm-row-1-list-btns-2-item {
  margin-top: 1em;
}

.header-propaty-sm-row-1-list-btns-2-item-link {
  background: -moz-linear-gradient(50% 100% 90deg, rgba(30, 110, 71, 1) 0%, rgba(76, 143, 55, 1) 100%);
  background: -webkit-linear-gradient(90deg, rgba(30, 110, 71, 1) 0%, rgba(76, 143, 55, 1) 100%);
  background: -webkit-gradient(linear, 50% 100%, 50% 0%, color-stop(0, rgba(30, 110, 71, 1)), color-stop(1, rgba(76, 143, 55, 1)));
  background: -ms-linear-gradient(90deg, rgba(30, 110, 71, 1) 0%, rgba(76, 143, 55, 1) 100%);
  background: linear-gradient(0deg, rgba(30, 110, 71, 1) 0%, rgba(76, 143, 55, 1) 100%);
  color: #fff;
  display: flex;
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#1E6E47', endColorstr='#4C8F37' ,GradientType=0)";
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#4C8F37', endColorstr='#1E6E47', GradientType=0);
  padding: 0.8em 0;
}

.header-propaty-sm-row-1-list-btns-2-item-link:hover {
  background: rgba(30, 110, 71, 1);
  text-decoration: none;
}

.header-propaty-sm-row-1-list-btns-2-item-prepend {
  color: #fff;
  text-align: center;
  width: 2em;
}

.header-propaty-sm-row-1-list-btns-2-item-body {
  color: #ffff;
  text-align: center;
  width: 100%;
}

.header-propaty-sm-row-1-list-btns-2-item-append {
  color: #fff;
  text-align: center;
  width: 2em;
}

.header-propaty-sm-row-1-list-btns-2-item-link-alt {
  background: hsl(var(--c-sub), 100%);
}

.header-propaty-sm-row-1-list-btns-2-item-link-alt:hover {
  background-color: hsl(var(--c-sub), 80%);
}

/**/
.header-propaty-sm-row-1-btn-menu {
  background-color: #fff;
  color: #333;
  cursor: pointer;
  cursor: pointer;
  display: block;
  line-height: 1;
  margin-left: auto;
  padding-right: 1em;
}

.header-propaty-sm-row-1-btn-menu-prepend {
  display: block;
  font-size: 1.6em;
  text-align: center;
}

.header-propaty-sm-row-1-btn-menu .header-propaty-sm-row-1-btn-menu-prepend {
  transition: transform 0.3s ease-out;
}

.header-propaty-sm-row-1-btn-menu.active .header-propaty-sm-row-1-btn-menu-prepend {
  transform: rotate(-90deg);
}

.header-propaty-sm-row-1-btn-menu-body {
  display: block;
  font-size: 0.6em;
  margin-top: -0.4em;
  text-align: center;
}

.header-propaty-sm-row-1 .header-propaty-sm-phone {
  display: none;
}

/**/
.header-propaty-sm-row-2 {
  background-color: #fff;
  border-bottom: 1px solid #ccc;
  box-shadow: inset 0px 0.4em 0.2em -0.2em hsla(0, 0%, 0%, 0.15);
  display: none;
  max-height: 100vh;
  overflow-y: scroll;
  overscroll-behavior-y: contain;
}

.header-propaty-sm-row-2.active {
  display: block;
}

.header-propaty-sm-row-2-inner {
  padding: 1em 1em 20em;
}

/**/
.header-propaty-sm-row-2-nav {
  background-color: #fff;
  border-top: 1px solid hsl(0, 0%, 80%);
}

.header-propaty-sm-row-2-nav-list {
  margin: 0;
  padding: 0;
}

.header-propaty-sm-row-2-nav-list-item {
  border-bottom: 1px solid hsl(0, 0%, 80%);
}

.header-propaty-sm-row-2-nav-list-item+.header-propaty-sm-row-2-nav-list-item {
  border-top: 1px solid #fff;
}

.header-propaty-sm-row-2-nav-list-item-link {
  background-image: url("../../../images/ic-chevron-right.svg");
  background-position: right 0.5em top 50%;
  background-repeat: no-repeat;
  background-size: 1em auto;
  color: #333;
  display: block;
  padding: 1em;
  padding: 0.6em;
  position: relative
}

.header-propaty-sm-row-2-nav-list-item-link.active::after {
  background-color: #5D5B41;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 0.3em;
}

.header-propaty-sm-row-2-nav-list-item-link-new {
  display: inline-block;
  background-color: #9f4e56;
  color: #FFF;
  font-size: 0.6em;
  line-height: 1;
  padding: 0.3em 0.4em 0.2em;
}

/**/
.header-propaty-sm-phone {
  margin-top: 2em;
  text-align: center;
}

.header-propaty-sm-phone-num {
  font-family: "Times New Roman", Times, serif;
  font-size: 2.2em;
}

.header-propaty-sm-phone-num .material-icons {
  font-size: 0.9em;
}

.header-propaty-sm-phone-time {
  font-size: 0.8em;
}

/**/
.header-propaty-sm-row-3 {
  border-top: 1px solid hsl(0, 0%, 80%);
  margin-top: 2em;
  padding-top: 1.5em;
}

.header-propaty-sm-row-3-header {
  margin: 0 auto;
  max-width: 60%;
}

/**/
.header-propaty-sm-row-3-list-btns {
  border-bottom: 1px solid hsl(0, 0%, 80%);
  list-style: none;
  margin: 0;
  margin-top: 1.5em;
  padding: 0;
  ;
}

.header-propaty-sm-row-3-list-btns-item {
  border-top: 1px solid hsl(0, 0%, 80%);
}

.header-propaty-sm-row-3-list-btns-item-link {
  background-image: url("../../../images/ic-chevron-right.svg");
  background-position: right 0.5em top 50%;
  background-repeat: no-repeat;
  background-size: 1em auto;
  display: block;
  padding: 0.6em;
}

.header-propaty-sm-row-3-list-btns-item-link-nhas {
  background-image: url("../../../images/ic-window.png");
}

/**/
.header-propaty-sm-row-3-nhas {
  margin-top: 1.5em;
}

/*メインビジュアル*/
.section-mv {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: auto;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  position: relative;
  z-index: 10;
}

.section-mv-copy {
  left: 28%;
  padding: 0;
  position: absolute;
  top: 35%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 35%;
}

.section-mv-txt {
  text-align: center;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  font-size: clamp(1.1rem, 0.802rem + 0.62vw, 1.5rem);
  font-weight: 600;
  letter-spacing: 0.2em;
  line-height: 1.8em;
  color: hsl(var(--c-main), 100%);
  left: 26%;
  padding: 0;
  position: absolute;
  top: 64%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 40%;
}

.section-mv-banner {
  left: 28%;
  padding: 0;
  position: absolute;
  top: 80%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 35%;
}

.section-mv-banner:hover {
  opacity: 0.8;
}

.feature-img {
  background-image: url("../images/top/feature-bg.png");
  padding-top: 1.5em;
  padding-bottom: 1em;
}

.list-caption li+li {
  margin-top: 0.5rem;
}

.list-caption {
  margin-bottom: 2rem;
}

/*コンセプト*/


/*ロケーション*/
.flex-location-title {
  margin-top: 2em;
  padding-right: 1rem;
}

.flex-location-body {
  margin-top: 2em;
  padding-right: 0;
}

/**/
.tab-content-location {
  display: none;
}

.tab-content-location.active {
  display: block;
}

/**/
.map-outer {
  border: 1px solid #989898;
  position: relative;
  width: 100%;
  max-width: 63em;
}

#image1 {
  display: inline;
  height: 100%;
  max-width: none;
}

.leaflet-popup-content {
  font-family: -apple-system, BlinkMacSystemFont, YuGothic, "Yu Gothic Medium", "Yu Gothic", sans-serif
}

.leaflet-popup-content h4 {
  font-size: 1.4em;
}

.leaflet-popup-content p {
  font-size: 1.1em;
}

.leaflet-popup-content p strong {
  font-size: 1.2em;
  color: #009163;
}

.leaflet-popup-content a.green {
  display: block;
  width: fit-content;
  margin: 0.8em auto 0;
  background-color: #009163;
  color: #FFF;
  padding: 0.6em 2em;
  white-space: nowrap;
  border-radius: 0.4em;
}

.leaflet-popup-content a.pink {
  display: block;
  width: fit-content;
  margin: 0.8em auto 0;
  background-color: #e85e7c;
  color: #FFF;
  padding: 0.6em 2em;
  white-space: nowrap;
  border-radius: 0.4em;
}

.swiper-location .swiper-button-next,
.swiper-location .swiper-button-prev {
  top: 8em;
}

/*ロケーションのサブナビ（ボタンに変更）*/
.snav-location {
  border-top: 1px solid #333;
  border-left: 1px solid #333;
  display: flex;
  flex-wrap: wrap;
  font-size: 0.8em;
  list-style: none;
  margin: 0;
  padding: 0;
  margin-right: 1rem;
}

.snav-location-item {
  cursor: pointer;
  letter-spacing: 0.15em;
  line-height: 1;
  margin-bottom: 0;
  padding: 0.6em;
  position: relative;
  white-space: nowrap;
  border-right: 1px solid #333;
  flex-shrink: 0;
  width: 25%;
  text-align: center;
  border-bottom: 1px solid #333;
  margin-bottom: -1px;
}

.snav-location-item:hover {
  background-color: hsl(240, 2.9%, 76.7%);
}

.snav-location-item.active {
  background-color: hsl(0, 0%, 20%);
  color: #fff;
}

.snav-location-item.active::after {
  border-color: hsla(0, 0%, 20%, 1.00) hsla(0, 0%, 20%, 0.00) hsla(0, 0%, 20%, 0.00) hsla(0, 0%, 20%, 0.00);
  border-style: solid;
  border-width: 0.6em;
  bottom: 0;
  content: "";
  height: 0;
  left: 50%;
  position: absolute;
  -webkit-transform: translate(-50%, 98%);
  transform: translate(-50%, 98%);
  width: 0;
}

.ic-enlarge {
  display: block;
  position: relative;
}

.ic-enlarge::after {
  align-items: center;
  background-color: #333;
  -webkit-box-align: center;
  -webkit-box-pack: center;
  color: #fff;
  content: "+";
  display: flex;
  -ms-flex-align: center;
  -ms-flex-pack: center;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.4em;
  height: 1.2em;
  justify-content: center;
  line-height: 1;
  position: absolute;
  right: -0.5em;
  top: -0.5em;
  width: 1.2em;
}

.btn-expand {
  margin-left: 0.5em;
  display: inline-block;
  font-size: 0.8em;
  background-color: #333;
  color: #fff;
  font-weight: normal;
  line-height: 1;
  padding: 0.4em 0.6em;
  cursor: pointer;
}

.section-lifeinfo-list-photo [class^=col-] {
  margin-top: 2em;
}

.table-lifeinfo {
  width: 100%;
  margin-top: 2em;
}

.table-lifeinfo caption {
  background-color: #333;
  color: #fff;
  padding: 0.4em;
  font-size: 0.9em;
}

.table-lifeinfo th,
.table-lifeinfo td {
  border-bottom: 1px solid hsl(0, 0%, 50%);
  font-weight: normal;
  font-size: 0.9em;
  padding: 0.4em 0.4em !important;
}

.table-lifeinfo td {
  text-align: right;
  white-space: nowrap;
}

.section-lifeinfo-list {
  display: none;
}

/**/
.swiper-location {
  margin-right: -1rem;
  opacity: 0;
}

.swiper-location .swiper-slide {
  max-width: 20em;
}

.swiper-location-card-figcaption {
  font-size: 0.9em;
  margin-top: 1em;
}

.swiper-location.swiper-container-initialized {
  opacity: 1;
}

/**/
.div-lifeinfo-item {
  border-top: 1px solid #ccc;
  font-size: 0.9em;
  padding: 0.2em 0;
}

.div-lifeinfo {
  height: auto;
  overflow-y: auto;
  width: 100%;
}

/**/
.div-shift-1 {
  background-color: #dcdcde;
  box-shadow: -2em -2em 0em #dcdcde,
    2em 2em 0em #dcdcde,
    -2em 2em 0em #dcdcde,
    2em -2em 0em #dcdcde;
  margin-top: 2em;
  position: relative;
  z-index: 1;
}

/**/
.list-location-anchor {
  border-bottom: 1px solid #333;
  list-style: none;
  margin: 0;
  padding: 0;
}

.list-location-anchor-item {
  border-top: 1px solid #333;
}

.list-location-anchor-link {
  background-image: url("../../../images/outline_arrow_downward_black_24dp.png");
  background-position: right 0.5em top 50%;
  background-repeat: no-repeat;
  background-size: 0.8em auto;
  display: block;
  padding: 0.8em 0;
}

/**/
.div-shift-2 {
  background-color: #eaeaea;
  box-shadow: -2em -2em 0em #eaeaea,
    2em 2em 0em #eaeaea,
    -2em 2em 0em #eaeaea,
    2em -2em 0em #eaeaea;
  margin-top: 2em;
  position: relative;
  z-index: 1;
}

/**/
.div-shift-3 {
  background-color: #eaeaea;
  box-shadow: -2em -2em 0em #eaeaea,
    2em 2em 0em #eaeaea,
    -2em 2em 0em #eaeaea,
    2em -2em 0em #eaeaea;
  margin-top: 0;
  position: static;
  z-index: 1;
}

/**/
.viewport.leaflet-container {
  background-color: #fff;
}

/**/
.leaflet-top,
.leaflet-bottom {
  z-index: 999;
}

/*デザイン*/

/**/
.swiper-design-thumbnail-item {
  cursor: pointer;
  opacity: 1;
}

.swiper-slide-thumb-active {
  position: relative;
}

.swiper-slide-thumb-active::after {
  border: 0.2em solid #4c8f37;
  bottom: 0;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 1;
}

.swiper-design-thumbnail {
  margin-left: 1em;
  margin-right: 1em;
  max-width: 800px;
  overflow: hidden;
  padding: 1em 0;
}

.swiper-design .swiper-wrapper {
  transition-timing-function: linear
}

.swiper-design2 .swiper-wrapper {
  transition-timing-function: linear
}

/*設備・仕様*/
.list-equipment [class^=col-] {
  margin-top: 2em;
}

.article-equipment {
  background-color: #fff;
  height: 100%;
}

.article-equipment-body {
  padding: 1em;
}

.article-equipment-body-title {
  font-size: 1em;
  line-height: 1.4;
}

.article-equipment-body-copy {
  font-size: 0.9em;
  line-height: 1.4;
  margin-top: 1em;
}

/*区画図・間取り*/
.flex-plan-title {
  margin-top: 2em;
  padding-right: 1rem;
}

.flex-plan-body {
  margin-top: 0em;
  margin-right: 1rem;
}

/**/
.article-plan-block {
  text-align: center;
}

.article-plan-block-image {
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  padding-left: 0rem;
}

.article-plan-block-inner {
  display: inline-block;
  padding: 0;
  max-width: 45rem;
  margin-inline: auto;
}

/**/
.swiper-plan {
  margin-right: -1rem;
}

.swiper-plan .swiper-slide {
  padding-top: 0;
}

.swiper-plan-card {
  background-color: #fff;
  padding: 1em;
}

.swiper-plan-card-header-type {
  background-color: #333;
  color: #fff;
  line-height: 1;
  margin-top: -2em;
  padding: 0.8em 0.8em 0.4em;
  width: 38.2%;
}

.swiper-plan-card-header-type-text {
  font-size: 1em;
  letter-spacing: 0.2em;
}

.swiper-plan-card-header-type-num {
  font-size: 2em;
}

.swiper-plan-card-header-area {
  margin-top: 1em;
}

.swiper-plan-card-header-area-land strong {
  font-size: 1.4em;
  font-weight: normal;
}

.swiper-plan-card-header-area-building {
  font-size: 0.8em;
  margin-top: 0.5em;
}

.swiper-plan-card-header-elevation {
  margin-left: auto;
  margin-right: auto;
  margin-top: 1em;
  max-width: 80%;
}

.swiper-plan-card-body .col-sm-6 {
  margin-top: 2em;
}

/*区画図の特徴説明*/
/* .swiper-parcel-card{} */

.swiper-parcel-card {
  padding: 1.2rem;
}

.swiper-parcel-card-header {
  display: flex;
}

.swiper-parcel-card-header-title {
  font-weight: normal;
}

.swiper-parcel-card-header-num {
  background-color: hsl(var(--c-main), 100%);
  color: #FFF;
  font-size: 1.4em;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 50%;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-right: 0.5rem;
  font-family: var(--ff-acumin);
  position: absolute;
  left: -0.5em;
  top: -0.5em;
}

.swiper-parcel-card-header-description {
  font-weight: bold;
  margin-top: 1rem;
}

.swiper-parcel-card-body {
  font-size: 0.9em;
  margin-top: 0.5rem;
}

.swiper-plan .swiper-parcel-card {
  font-size: 0.9em;
}

/**/
.btn-plan {
  display: flex;
  position: absolute;
  background-color: #A25C22;
  color: #EBDF84;
  font-size: 1.2rem;
  width: 1.6rem;
  height: 1.6rem;
  transform-origin: 50% 50%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  cursor: pointer;
}

.btn-plan-1 {
  left: 35%;
  top: 7%;
}

.btn-plan-2 {
  left: 41%;
  top: 20%;
}

.btn-plan-3 {
  left: 37%;
  top: 39%;
}

.btn-plan-4 {
  left: 41%;
  top: 55%;
}

.btn-plan-5 {
  left: 61%;
  top: 26%;
}

.btn-plan-6 {
  left: 76%;
  top: 67%;
}

.btn-plan-7 {
  left: 63%;
  top: 83%;
}

.btn-plan-8 {
  left: 63%;
  top: 83%;
}

.btn-plan-9 {
  left: 63%;
  top: 83%;
}

.swiper-plan .swiper-button-next,
.swiper-plan .swiper-button-prev {
  top: auto;
  bottom: 0;
}

.imagephoto {
  position: absolute;
  right: 0.5em;
  bottom: 0;
  color: #FFF;
  font-size: 0.8em;
  letter-spacing: 0.1em;
}

/**/
.plan-circle {
  position: absolute;
  width: 4.966%;
  cursor: pointer;
  opacity: 0;
  mix-blend-mode: color;
}

.plan-circle:hover {
  opacity: 1;
}



/**/
.btn-open-plan {
  border: 1px solid hsl(0, 0%, 50%);
  display: block;
  padding: 0.5em 1em;
  background-color: #fff;
  height: 100%;
}

.btn-open-plan-header {
  font-size: 1.4em;
  font-weight: bold;
  letter-spacing: 0.1em;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

.btn-open-plan-header strong {
  display: inline-block;
  margin-right: 0em;
  width: 5em;
  white-space: nowrap;
  color: #5973a6;
}



.btn-open-plan-header span {
  background-color: #5973a6;
  font-size: 0.8em;
  display: inline-block;
  color: #FFF;
  padding: 0 0.6em;
  white-space: nowrap;
}



.btn-open-plan-body {
  color: #333;
}

.btn-open-plan.active,
.btn-open-plan:hover {
  text-decoration: none;
  background-color: #e4eaff;
  color: #1f2c47;
  border: 1px solid #1f2c47;
}

.btn-open-plan.active .btn-open-plan-body,
.btn-open-plan:hover .btn-open-plan-body {
  color: #2f3b68;
}

.btn-open-plan:hover * {
  filter: brightness(1);
}

.btn-open-plan-col-row {
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 100%;
  gap: 1rem
}

.btn-open-plan-body-elevation {
  margin-left: auto;
  width: 6em;
  flex-shrink: 0;
}

.btn-open-plan.active .btn-open-plan-header strong,
.btn-open-plan:hover .btn-open-plan-header strong {
  color: #2f3b68;
}

.btn-open-plan.active .btn-open-plan-header span,
.btn-open-plan:hover .btn-open-plan-header span {
  background-color: #2f3b68
}

.btn-open-plan:hover,
.btn-open-plan:active,
.btn-open-plan:focus,
.btn-open-plan:visited {
  text-decoration: none;
}

.btns-plan>div {
  min-height: 0;
}





/**/
.btn-open-plan-blue {
  background-color: #b7d7e8;
}

.btn-open-plan-blue .btn-open-plan-header strong {
  color: #333;
}

.btn-open-plan-blue .btn-open-plan-header span {
  background-color: #333;
}

.btn-open-plan-blue.active .btn-open-plan-header strong,
.btn-open-plan-blue:hover .btn-open-plan-header strong {
  color: #FFF;
}

.btn-open-plan-blue.active .btn-open-plan-header span,
.btn-open-plan-blue:hover .btn-open-plan-header span {
  background-color: #FFF;
  color: #95c6e1;
}

.btn-open-plan-blue.active,
.btn-open-plan-blue:hover {
  background-color: #95c6e1;
  border: 1px solid hsl(0, 0%, 50%);
}

.btn-open-plan-blue.active .btn-open-plan-body,
.btn-open-plan-blue:hover .btn-open-plan-body {
  color: #FFF;
}


.btn-open-plan.seccond strong {
color:#982e31;
}

.btn-open-plan.seccond span {
  background-color: #982e31;
}

.btn-open-plan.seccond.active .btn-open-plan-header strong,
.btn-open-plan.seccond:hover .btn-open-plan-header strong {
  color: #982e31;
}

.btn-open-plan.seccond.active .btn-open-plan-header span,
.btn-open-plan.seccond:hover .btn-open-plan-header span {
  background-color: #982e31
}

.btn-open-plan.seccond.active,
.btn-open-plan.seccond:hover {
background-color:#f6dfe0fa ;
}


.btn-open-plan.seccond.active .btn-open-plan-body,
.btn-open-plan.seccond:hover .btn-open-plan-body {
  color: #982e31;
}

.btn-open-plan.t3ldk strong {
color:#5e75a4;
}

.btn-open-plan.t3ldk span {
  background-color: #5e75a4;
}

.btn-open-plan.t3ldk.active .btn-open-plan-header strong,
.btn-open-plan.t3ldk:hover .btn-open-plan-header strong {
  color: #5e75a4;
}

.btn-open-plan.t3ldk.active .btn-open-plan-header span,
.btn-open-plan.t3ldk:hover .btn-open-plan-header span {
  background-color: #5e75a4
}

.btn-open-plan.t3ldk.active,
.btn-open-plan.t3ldk:hover {
background-color:#f1f8fe;
}


.btn-open-plan.t3ldk.active .btn-open-plan-body,
.btn-open-plan.t3ldk:hover .btn-open-plan-body {
  color: #5e75a4;
}





.btn-open-plan.t4ldk strong {
color:#8f2d33;
}

.btn-open-plan.t4ldk span {
  background-color: #8f2d33;
}

.btn-open-plan.t4ldk.active .btn-open-plan-header strong,
.btn-open-plan.t4ldk:hover .btn-open-plan-header strong {
  color: #8f2d33;
}

.btn-open-plan.t4ldk.active .btn-open-plan-header span,
.btn-open-plan.t4ldk:hover .btn-open-plan-header span {
  background-color: #8f2d33
}

.btn-open-plan.t4ldk.active,
.btn-open-plan.t4ldk:hover {
background-color:#f6dfe0fa ;
}


.btn-open-plan.t4ldk.active .btn-open-plan-body,
.btn-open-plan.t4ldk:hover .btn-open-plan-body {
  color: #8f2d33;
}


.btn-open-plan.tmisc strong {
color:#27772b;
}

.btn-open-plan.tmisc span {
  background-color: #27772b;
}

.btn-open-plan.tmisc.active .btn-open-plan-header strong,
.btn-open-plan.tmisc:hover .btn-open-plan-header strong {
  color: #27772b;
}

.btn-open-plan.tmisc.active .btn-open-plan-header span,
.btn-open-plan.tmisc:hover .btn-open-plan-header span {
  background-color: #27772b
}

.btn-open-plan.tmisc.active,
.btn-open-plan.tmisc:hover {
background-color:#e6f1e7 ;
}


.btn-open-plan.tmisc.active .btn-open-plan-body,
.btn-open-plan.tmisc:hover .btn-open-plan-body {
  color: #27772b;
}




/**/
.flex-selling-outer {
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.flex-selling-outer .flex-selling+.flex-selling {
  margin-left: 1.5em;
}

.flex-selling {
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 0.8em;
  line-height: 1;
}

.selling-block {
  width: 1.8em;
  height: 1.6em;
  background-color: #495893;
  display: inline-block;
  border: 1px solid #29345f;
  margin-bottom: 0.3em;
}

.selling-block_s2 {
  color: #5b322b;
  background-color: #832325;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #5b322b !important;
  padding: 0;
  padding-top: 0.1em;
}


.selling-block_4ldk {
  color: #922b32;
  background-color: #922b32;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #922b32 !important;
  padding: 0;
  padding-top: 0.1em;
}

.selling-block_3ldk {
  color: #5e75a4;
  background-color: #5e75a4;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #5e75a4 !important;
  padding: 0;
  padding-top: 0.1em;
}

.selling-block_misc {
  color: #25782a;
  background-color: #25782a;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #25782a !important;
  padding: 0;
  padding-top: 0.1em;
}


.selling-subdivision {
  width: 1.8em;
  display: i4line-block;
  margin-bottom: 0.3em;
}

.application-block {
  width: 1.8em;
  height: 1.6em;
  background-color: #b7d7e8;
  display: inline-block;
  border: 1px solid hsl(200.8, 51.6%, 61.4%);
  margin-bottom: 0.3em;
}

/* 物件概要////////////////////////////////////// */
.dl-outline {
  margin-top: 2em;
}

.dl-outline dt {
  border-bottom: 1px solid #333;
  font-size: 0.9em;
  padding: 0.8em 0;
}

/**/
.btn-cta {
  margin-top: 1em;
  position: relative;
}

/*swiper*/
.swiper-button-next:after,
.swiper-container-rtl .swiper-button-prev:after,
.swiper-button-prev:after,
.swiper-container-rtl .swiper-button-next:after {
  content: "";
}

.swiper-button-next {
  background-color: hsl(0deg 0% 100% / 70%);
  background-image: url("../../../images/slider-arrow-right.png");
  background-repeat: no-repeat;
  background-size: 2.4em auto;
  background-position: right 50% top 50%;
  right: 0;
}

.swiper-button-prev {
  background-color: hsl(0deg 0% 100% / 70%);
  background-image: url("../../../images/slider-arrow-left.png");
  background-repeat: no-repeat;
  background-size: 2.4em auto;
  background-position: right 50% top 50%;
  left: 0;
}

.swiper-button-disabled {
  display: none;
}


/*CTA*/




/*間取りページ*/
.header-plan-inner-num {
  margin-top: 0.5em;
  font-size: 2em
}

.header-plan-inner-num-1 {
  background-color: #a21030;
  color: #FFF;
  display: inline-block;
  padding: 0.4em 0.6em;
  margin-right: 0.5em;
}

.header-plan-inner-num-2 {
  color: #a21030;
}

/**/
.close-fixed {
  background-color: #DDD;
  position: fixed;
  top: 0;
  right: 0;
  line-height: 1;
  padding: 0.2em 0.6em;
  cursor: pointer;
}

.close-fixed .material-icons-outlined {
  font-size: 2.6em;
  text-align: center;
}

.close-fixed-label {
  display: block;
  text-align: center;
  font-size: 0.7em;
}

/**/
.flex-feature {
  display: inline-flex;
  margin-left: auto;
  width: 100%;
}

.flex-feature-1 {
  display: inline-flex;
  text-align: center;
  line-height: 1.2;
  background-color: #ce7d8d;
  color: #FFF;
  padding: 0.3em 1em;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  flex-grow: 1;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  flex-basis: 0;
  white-space: nowrap;
}

.flex-feature-2 {
  display: inline-flex;
  text-align: center;
  line-height: 1.2;
  background-color: #c47b00;
  color: #FFF;
  margin-left: 1em;
  padding: 0.3em 1em;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  flex-grow: 1;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  flex-basis: 0;
  white-space: nowrap;
}

.flex-feature-3 {
  display: inline-flex;
  text-align: center;
  line-height: 1.2;
  background-color: #64b6c8;
  color: #FFF;
  margin-left: 1em;
  padding: 0.3em 1em;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  flex-grow: 1;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  flex-basis: 0;
  white-space: nowrap;
}

/**/
.list-equipment {
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  width: auto;
}

.list-equipment li {
  font-size: 0.8em;
  width: 50%;
  padding: 0 0.5em;
}

.list-equipment li span {
  display: block;
  border-top: 1px dotted #000;
  height: 100%;
  padding: 0.3em 0
}



/**/
/* .row-price{} */
/* .row-price-col-1{} */
.row-price-col-2 {
  background-color: hsla(142.7, 100%, 29%, 0.2);
  padding: 0.4em 0.8em;
  display: inline-block;
}

.row-price-col-2 dd {
  font-size: 0.8em;
}

/**/
/* .section-mv-catch {position: absolute;width: 80%;top: 10%;left: 10%;z-index: 10;}
.section-mv-catch-1 {filter: blur(2rem);opacity: 0;transform: translateZ(0);}
.section-mv-catch-2 {filter: blur(2rem);opacity: 0;transform: translateZ(0);}
.btn-close-present {position: absolute;top: 0rem;right: -0rem;cursor: pointer;background-color: #fff;border-radius: 50%;width: 1.5rem;height: 1.5rem;overflow: hidden;}
.btn-close-present .material-icons{font-size: 1.5rem;color: hsl(41.8, 63.3%, 41%);line-height: 1;}
.section-mv-catch-2:hover img{filter: brightness(1);}

.section-mv-catch-2-btn{position: absolute;width: 52%;left: 24%;top: 85%;}
.section-mv-catch-2-btn-inner{position: relative;}
.section-mv-catch-2-btn-off{position: absolute;top: 0;left:1;opacity: 1;transition: opacity 0.3s ease-out;}
.section-mv-catch-2-btn-on{position: absolute;top: 0;left: 0;opacity: 0;transition: opacity 0.3s ease-out;}

.section-mv-catch-2:hover .section-mv-catch-2-btn-on{opacity: 1;}
.section-mv-catch-2:hover .section-mv-catch-2-btn-off{opacity: 0;} */


/**/
.swiper-mv-item-image {
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.container-asym-right-alt {
  margin-right: 0;
}

.btn-red {
  background: linear-gradient(0deg, rgb(112 27 27) 0%, rgb(153 39 39) 100%);
  color: #FFF;
  border-radius: 0;
  padding: 0.8em 0;
}

.btn-red:hover {
  color: #FFF;
  background: #780e1b;
}

/*長期優良住宅*/
.section-excellent-house {
  border: 2px solid #a21030;
  padding: 1em;
  background-color: #fff;
}

.c-rouge {
  color: #a21030 !important;
}

.ch-bg-rouge {
  background-color: #a21030;
  color: #fff;
  line-height: 1.2;
  padding: 0.4em;
  letter-spacing: 0.06em;
  font-size: 1.2em;
}

/**/
.arrow-down-ex-house-1 {
  text-align: center;
  color: #e1b7ae;
  font-size: 3em;
  line-height: 1;
}

/**/
.dl-ex-house-1 {
  line-height: 1.2;
  display: flex;
  width: 100%;
  gap: 1em
}

.dl-ex-house-1-dt {
  background-color: #333;
  flex-shrink: 0;
  color: #FFF;
  font-size: 0.8em;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
  width: 6em;
}

.dl-ex-house-1-dd {
  flex-grow: 1;
}

.dl-ex-house-1-dd-list {
  font-size: 0.8em;
  display: block;
  list-style: none;
  padding: 0;
  margin: 0;
}

.dl-ex-house-1-dd-list-item {
  border-bottom: 1px solid hsla(0, 0%, 75%, 1);
  display: block;
  padding: 0.3em 0;
}

/* .dl-ex-house-1-rouge{} */
.dl-ex-house-1-rouge .dl-ex-house-1-dt {
  background-color: #a21030;
}

.dl-ex-house-1-rouge .dl-ex-house-1-dd strong {
  color: #a21030;
  font-size: 1.2em;
}

/**/
.section-better {
  background-color: #f8f6ec;
  padding: 1em;
  margin: -1em;
}

.b-9 {
  margin: 0 -1em;
}

.swiper-container {
  opacity: 0;
}

.swiper-container-initialized {
  opacity: 1;
}

/**/
.leaf-1,
.leaf-2 {
  position: absolute;
  z-index: 1;
}

.leaf-1 {
  width: 24%;
  left: 0%;
  top: 90%;
}

.leaf-2 {
  width: 24%;
  right: 0%;
  top: 84%;
}


.btn-line-circle {
  border: 1px solid #919dc4;
  display: block;
  line-height: 1;
  padding: 1em 2em;
  display: flex;
  align-items: center;
  gap: 1rem;
  color: hsl(var(--c-sub), 100%);
  text-align: center;
  background-color: #fff;
}

.btn-line-circle__body {
  display: block;
  flex: 1 1 0;
  margin-left: 4rem;
  white-space: nowrap;
}

.btn-line-circle__append {
  display: block;
  width: 3rem;
  left: auto;
}


.content-copy-hinadan {
  font-size: 1.5em;
  color: hsl(var(--c-main), 100%);
  line-height: 1.7;
  letter-spacing: 0.1em;
}

.content-text-hinadan {
  line-height: 2;
}



/*メディアクエリ PC*/
@media (min-width: 768px) {

  /**/
  body {
    padding-top: 6.238em;
  }

  /*小規模物件テンプレート用ヘッダー*/
  .header-propaty-sm-row-1-logo {
    flex-shrink: 0;
    width: 12em;
  }

  .header-propaty-sm-row-1-btn-menu {
    display: none !important;
  }

  .header-propaty-sm-row-1 {
    background-color: initial;
    margin: 0 auto;
  }

  .header-propaty-sm-row-1-list-btns-1 {
    align-items: center;
    -webkit-box-align: center;
    display: flex;
    -ms-flex-align: center;
    font-size: 0.9em;
    margin-left: 2em;
    margin-top: 0;
    width: auto;
  }

  .header-propaty-sm-row-1-list-btns-1-item {
    width: auto;
  }

  .header-propaty-sm-row-1-list-btns-1-item:first-child {
    border: none;
  }

  .header-propaty-sm-row-1-list-btns-1-item+.header-propaty-sm-row-1-list-btns-1-item {
    margin-left: 1em;
  }

  .header-propaty-sm-row-1-list-btns-2-outer {
    margin-left: 1em;
    margin-right: 1em;
  }

  .header-propaty-sm-row-1-list-btns-2 {
    align-items: center;
    -webkit-box-align: center;
    display: flex;
    -ms-flex-align: center;
    margin-top: 0;
  }

  .header-propaty-sm-row-1-list-btns-2-item {
    width: 8em;
  }

  .header-propaty-sm-row-1-list-btns-2-item+.header-propaty-sm-row-1-list-btns-2-item {
    margin-left: 0.5em;
    margin-top: 0;
  }

  .header-propaty-sm-row-1-list-btns-2-item-link {
    padding: 0.4em 0;
  }

  .header-propaty-sm-row-1 .header-propaty-sm-phone {
    display: flex;
  }

  /**/
  .header-propaty-sm-row-2 {
    display: block;
    background-color: #eeeeee;
  }

  .header-propaty-sm-row-2 .header-propaty-sm-row-1-list-btns-1 {
    display: none;
  }

  .header-propaty-sm-row-2 .header-propaty-sm-row-1-list-btns-2 {
    display: none;
  }

  .header-propaty-sm-row-2-inner {
    padding: 0;
  }

  .header-propaty-sm-row-2-inner {
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
  }

  .header-propaty-sm-row-2-inner .header-propaty-sm-row-3 {
    -webkit-box-pack: center;
    display: none;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 0;
    opacity: 0;
    order: 1;
    padding: 0;
    transition: all 0.3s ease-out;
    width: 100%;
  }

  .header-propaty-sm-row-2-inner .header-propaty-sm-row-3.active {
    display: flex;
    opacity: 1;
  }

  .header-propaty-sm-row-2-inner .header-propaty-sm-row-2-nav {
    order: 2
  }

  .header-propaty-sm-row-3-inner {
    align-items: center;
    -webkit-box-align: center;
    -webkit-box-pack: justify;
    display: flex;
    -ms-flex-align: center;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .header-propaty-sm-row-2-nav {
    background: none;
    font-family: "Times New Roman", Times, serif;
    letter-spacing: 0.2rem;
  }

  .header-propaty-sm-row-2-nav-list {
    border: none;
    -webkit-box-pack: center;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
  }

  .header-propaty-sm-row-2-nav-list-item {
    border-bottom: none;
    width: 15%;
  }

  .header-propaty-sm-row-2-nav-list .header-propaty-sm-row-2-nav-list-item:first-child .header-propaty-sm-row-2-nav-list-item-link {
    border-left: 1px solid #ccc;
  }

  /*.header-propaty-sm-row-2-nav-list .header-propaty-sm-row-2-nav-list-item:last-child .header-propaty-sm-row-2-nav-list-item-link {border-right: none;}*/
  .header-propaty-sm-row-2-nav-list-item-link {
    background: none;
    border-right: 1px solid hsl(0, 0%, 80%);
    position: relative;
    position: relative;
    text-align: center;
  }

  .header-propaty-sm-row-2-nav-list-item-link::after {
    background-color: #fff;
    content: "";
    height: 1.2em;
    left: 0;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    width: 1px;
  }

  .header-propaty-sm-row-2-nav-list-item-link:hover,
  .header-propaty-sm-row-2-nav-list-item-link:focus,
  .header-propaty-sm-row-2-nav-list-item-link:active {
    color: #333;
    text-decoration: none;
  }

  .header-propaty-sm-row-2-nav-list-item-link::before {
    background-color: #5D5B41;
    bottom: 0;
    content: "";
    height: 0.2em;
    left: 0;
    position: absolute;
    top: auto;
    transition: width 0.3s ease-out;
    width: 0%;
  }

  .header-propaty-sm-row-2-nav-list-item-link:hover:before {
    width: 100%
  }

  .header-propaty-sm-row-2-nav-list-item-link.active::after {
    bottom: 0;
    height: 0.2em;
    left: 0;
    top: auto;
    width: 100%;
  }

  .header-propaty-sm-row-2-nav-list-item+.header-propaty-sm-row-2-nav-list-item {
    border: none;
  }

  .header-propaty-sm-row-2 {
    overflow: hidden;
  }

  .header-propaty-sm {
    background-color: hsla(0, 0%, 100%, 1);
  }

  .header-propaty-sm-row-2 .header-propaty-sm-phone {
    display: none;
  }

  .header-propaty-sm-phone {
    align-items: center;
    -webkit-box-align: center;
    display: flex;
    -ms-flex-align: center;
    margin-left: auto;
    margin-top: 0;
    text-align: left;
  }

  .header-propaty-sm-phone-num {
    font-family: "Times New Roman", Times, serif;
    font-size: 2em;
  }

  .header-propaty-sm-phone-num .material-icons {
    font-size: 0.9em;
  }

  .header-propaty-sm-phone-time {
    font-size: 0.7em;
    line-height: 1.2;
    margin-left: 1em;
  }

  .header-propaty-sm-row-2-nav-list-item-link-new {
    position: absolute;
    top: 0;
    left: 0;
  }

  .negative {
    pointer-events: none;
    color: #aaa;
  }

  /**/
  .header-propaty-sm-row-3-list-btns {
    border-bottom: none;
    display: flex;
    margin-left: 2em;
    margin-right: 2em;
    margin-top: 0;
    width: 100%;
  }

  .header-propaty-sm-row-3-list-btns-item {
    border-right: 1px solid hsl(0, 0%, 80%);
    border-top: none;
    width: 20%;
  }

  .header-propaty-sm-row-3-list-btns {
    border-left: 1px solid hsl(0, 0%, 80%);
  }

  .header-propaty-sm-row-3-list {
    align-items: center;
    -webkit-box-align: center;
    display: flex;
    -ms-flex-align: center;
    width: calc(100% - 20em)
  }

  .header-propaty-sm-row-3-header {
    margin-left: 0;
    margin-right: 0;
    padding: 0.6em 1em;
    width: 9em;
  }

  .header-propaty-sm-row-3-nhas {
    margin-top: 0;
    padding: 0.6em 1em;
    width: 10em;
  }

  .header-propaty-sm-row-3-list-btns-item-link {
    background-image: unset;
    padding: 0.6em 0;
    text-align: center;
    white-space: nowrap;
    width: auto;
  }

  .header-propaty-sm-row-3-list-btns-item-link:hover {
    text-decoration: none;
  }

  .header-propaty-sm-row-3-list-btns-item-link-nhas {
    background-image: url(../../../images/ic-window.png);
  }

  .header-propaty-sm-row-3-list-btns-item-link {
    position: relative;
  }

  .header-propaty-sm-row-3-list-btns-item-link::before {
    background-color: hsla(105.7, 44.4%, 58.8%, 1);
    bottom: 0;
    content: "";
    height: 0.2em;
    left: 0;
    position: absolute;
    top: auto;
    transition: width 0.3s ease-out;
    width: 0%;
  }

  .header-propaty-sm-row-3-list-btns-item-link:hover:before {
    width: 100%
  }

  /*コンセプト*/

  /*ロケーション*/
  .flex-location {
    display: flex;
    font-size: 0.9em;
    width: 100%;
  }

  .flex-location-title {
    flex-shrink: 0;
    padding-right: 2em;
    width: 18em;
  }

  .flex-location-body {
    border-left: 1px solid #333;
    padding-left: 2em;
    width: calc(100% - 16em);
  }

  .access-image {
    padding-right: 0;
    max-width: 63em;
  }

  /**/
  .flex-location-item {
    padding: 0.6em 1.5em;
  }

  /**/
  .div-shift-1 {
    margin-top: -4em;
  }

  /**/
  .div-shift-2 {
    margin-top: -2em;
  }

  /**/
  .div-shift-3 {
    margin-top: 0;
  }

  /**/
  .div-shift-4 {
    margin-top: -3.9em;
  }

  /**/
  .div-lifeinfo {
    height: 22em;
  }

  /**/
  .swiper-location {
    margin-right: 0;
  }

  /*ロケーションのサブナビ*/
  .snav-location {
    border-bottom: 1px solid #333;
    margin-right: 0;
  }

  .snav-location-item {
    width: 7em
  }

  /*デザイン*/
  .section_design {
    width: 100%;
    position: relative;
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .section_design .img02-bg {
    width: 10%;
    position: absolute;
    top: -9em;
    right: 10em;
  }

  .section_design .container {
    display: flex;
    flex-direction: row;
    justify-content: center;
    text-align: center;
  }

  .section_design .design-img {}

  .section_design .design-copy {

    align-items: center;

    font-size: 1.1em;

  }

  .section_design .design-copy-inner {
    margin: 0 auto;

  }

  .section_design .design-copy h3 {
    font-size: 5em;
    color: hsl(var(--c-main), 100%);
    font-weight: lighter;
    margin-bottom: 0.5rem;
    font-family: var(--ff-acumin);
  }

  .section_design .design-copy h3::first-letter {}

  .section_design .design-copy p {
    color: hsl(var(--c-main), 100%);
    letter-spacing: 0.2em;
    line-height: 3em;
    margin-top: 2em;
    margin-bottom: 2.5rem;
  }

  /* デザインスライダー */
  .swiper-container.swiper-design {
    max-width: 40em;
    overflow: hidden;
    margin-bottom: 0em;
  }

  .swiper-container.swiper-design2 {
    max-width: 50em;
    overflow: hidden;
    margin-bottom: 0em;
  }

  .swiper-container.swiper-design .swiper-slide {
    width: 60%;
  }

  .swiper-container.swiper-design2 .swiper-slide {
    width: 70%;
  }

  .swiper-design .swiper-wrapper,
  .swiper-design2 .swiper-wrapper {
    transition-timing-function: linear
  }

  .swiper-design-item {
    margin-left: auto;
    margin-right: auto;
    padding: 5px;
  }

  .swiper-design-item img {
    width: auto;
  }

  .slider-mv-arrow-left,
  .slider-mv-arrow-right {
    align-items: center;
    -webkit-box-align: center;
    -webkit-box-pack: center;
    cursor: pointer;
    display: flex;
    -ms-flex-align: center;
    -ms-flex-pack: center;
    height: 100%;
    justify-content: center;
    position: absolute;
    top: 0;
    width: 3em;
    z-index: 2;
  }

  .slider-mv-arrow-left:hover,
  .slider-mv-arrow-right:hover {
    background-color: hsla(0, 0%, 100%, 0.5);
  }

  .slider-mv-arrow-left {
    left: 0;
  }

  .slider-mv-arrow-right {
    right: 0;
  }

  .slider-box {
    padding: 1em 0em;
    background-color: #333333;
  }

  /* プラン */
  .section-plan {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    width: 100%;
    background: linear-gradient(to right, #FAFAFA, #EEEEEE);

  }

  .plan-copy h3 {
    font-size: 2.5em;
    font-family: var(--ff-acumin);
    color: hsl(var(--c-main), 100%);

    letter-spacing: 0.1em;
    font-weight: 200;

  }

  .plan-copy span {

    letter-spacing: 0.2em;
    margin-top: 0.5em;
  }

  .section-plan .h-line {
    width: 60px;
    height: 1px;
    background-color: hsl(var(--c-main), 100%);
    margin: 0 auto;
    margin-top: 2rem;
  }

  .plan-text {
    text-align: center;
    font-size: 1.2rem;
    letter-spacing: 0.2rem;
    margin-bottom: 2rem;
    color: hsl(var(--c-main), 100%);
  }

  .plan-inner {
    width: 100%;
    max-width: 1100px;
    display: flex;
    flex-direction: column;
  }




  .plan-inner .article-plan-block-inner img {
    width: 100%;
  }

  .plan-copy {
    text-align: center;
    margin: 0 auto;
    padding: 50px 0px;
  }

  .plan-copy h3 {
    font-size: 3rem;
    margin-bottom: 1rem;
  }

  .plan-copy span {
    font-size: 1rem;
  }

  .section-plan02 {
    background-color: #F0F0F0;
    padding: 50px 0px;
  }

  .section-plan02 .container {
    width: 100%;
    max-width: 1200px;
  }

  .plan02-copy {
    text-align: center;
  }

  .plan02-copy h3 {
    font-size: 2rem;
    letter-spacing: 0.2rem;
  }

  .plan02-copy span {
    font-family: "Times New Roman";
    font-style: italic;
    font-size: 1.3rem;
    color: #9A966D;
  }

  .plan02-text {
    text-align: center;
    font-size: 1.3rem;
    letter-spacing: 0.2rem;
    line-height: 2rem;
    padding: 3rem 0rem;
  }

  .plan02-image-box {
    width: 100%;
    max-width: 1200px;
    text-align: center;
  }

  /*設備・仕様*/
  .section-specification {
    background-color: #fff;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;

  }

  .specification-header-inner {
    width: 90%;
    max-width: 900px;
    padding: 50px 0px;
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    text-align: center;

  }

  .specification-header img {
    width: 100%;
    margin: 0 auto;

  }


  .specification-copy-box span {
    font-size: 1rem;
  }

  .specification-copy-box h3 {
    font-size: 5rem;

    color: hsl(var(--c-main), 100%);
    font-weight: 200;
    font-family: var(--ff-acumin);

    letter-spacing: 0.0em;
  }




  .specification-copy-box p {
    color: #A38F1B;
    letter-spacing: 0.2em;
    margin-top: 0.5em;
    margin-bottom: 2.5rem;
  }

  .specification-copy-box .h-line {
    width: 60px;
    height: 1px;
    background-color: hsl(var(--c-main), 100%);
    margin: 0 auto;
    margin-top: 2rem;
    margin-bottom: 3em;
  }

  .specification-text {
    font-size: 1.2rem;
  }

  .specification-body {




    background-image: url('data:image/svg+xml,%3Csvg%20id%3D%22uuid-9870000b-536d-44f5-a3e8-ee7d78f9285e%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%201%20156%22%3E%3Cdefs%3E%3Cstyle%3E.uuid-128e8fb1-0be3-4c36-a77c-07ec34646da0%7Bfill%3A%235365a3%3B%7D%3C/style%3E%3C/defs%3E%3Crect%20class%3D%22uuid-128e8fb1-0be3-4c36-a77c-07ec34646da0%22%20width%3D%221%22%20height%3D%22156%22/%3E%3C/svg%3E');

    background-repeat: repeat-y;
    background-position: center top;
    background-size: 1px 100px;
  }

  .spec-sec01 {
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    margin-bottom: 8rem;
    position: relative;
    padding: 0;
    padding-top: 8rem;
  }

  .spec-sec02 {
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    margin-bottom: 8rem;
    position: relative;
    padding: 0;
  }

  .spec-sec03 {
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    position: relative;
    0;
    padding: 0 0 8rem 0;
  }

  .title-quality {
    display: block;

    align-items: center;
    /* 子要素を縦方向に中央揃え */
    position: relative;
    /* 擬似要素の位置調整用 */
    font-family: var(--ff-acumin);

    font-weight: 200;
    color: hsl(var(--c-main), 100%);
    font-size: 3rem;
    padding-bottom: 0.5rem;
    z-index: 5;

  }

  .title-quality span {

    font-size: 1rem;
    font-weight: 600;
    font-style: normal;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;

    writing-mode: horizontal-tb;
    letter-spacing: 5px;
    display: block;
    margin-top: 0.3rem;
  }


  .title-confort {
    display: block;

    align-items: center;
    /* 子要素を縦方向に中央揃え */
    position: relative;
    /* 擬似要素の位置調整用 */
    font-family: var(--ff-acumin);

    font-weight: 200;
    color: var(--c-main);
    font-size: 3rem;
    padding-bottom: 0.5rem;
    z-index: 5;

    color: hsl(var(--c-main), 100%);

  }

  .title-confort span {
    font-size: 1rem;
    font-weight: 600;
    font-style: normal;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    color: var(--c-main);
    writing-mode: horizontal-tb;
    letter-spacing: 5px;

    top: -1rem;
    left: 0;

    display: block;
    font-size: 0.8rem;
    margin-top: 0.3rem;
  }




  .title-maintenance {
    display: block;

    align-items: center;
    /* 子要素を縦方向に中央揃え */
    position: relative;
    /* 擬似要素の位置調整用 */
    font-family: var(--ff-acumin);
    font-style: normal;
    font-weight: 200 !important;
    color: hsl(var(--c-main), 100%);
    font-size: 3rem;
    padding-bottom: 0.5rem;
    z-index: 5;
  }

  .title-maintenance span {


    font-weight: 600;
    font-style: normal;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    writing-mode: horizontal-tb;
    letter-spacing: 5px;
    display: block;
    font-size: 0.8rem;
    margin-top: 0.3rem;


  }

  .spec-sec01 .image-box {
    width: 60%;

    position: relative;
    z-index: 10;

    background-repeat: no-repeat;
    background-size: cover;
  }

  .spec-sec02 .image-box {
    width: 60%;

    position: relative;
    z-index: 10;

    background-repeat: no-repeat;
    background-size: cover;
  }

  .spec-sec03 .image-box {
    width: 60%;

    position: relative;
    z-index: 10;
    background-repeat: no-repeat;
    background-size: cover;
  }

  .spec-sec01 .content-box,
  .spec-sec03 .content-box {
    width: 40%;

  }

  .spec-sec02 .content-box {
    width: 40%;
  }

  .spec-content-copy {
    font-size: 1.2rem;
    letter-spacing: 0.1em;
    margin-top: 1rem;
    position: relative;
    z-index: 5;
  }

  .spec-content-text {
    font-size: 1rem;
    letter-spacing: 0.1rem;
    line-height: 2.2rem;
    white-space: pre-line;
    margin-bottom: 1rem;

    position: relative;
    z-index: 5;

  }


  /*区画図・間取り*/
  .landplan-inner {
    text-align: center;
    margin-bottom: 4em;
    color: hsl(var(--c-main), 100%);
  }

  .landplan-inner h3 {
    font-size: 5em;
    color: hsl(var(--c-main), 100%);
    font-weight: lighter;

    font-family: var(--ff-acumin);
  }

  .landplan-inner h3::first-letter {}

  .landplan-inner p {

    letter-spacing: 0.2em;
    margin-top: 0.5em;
    margin-bottom: 2.5rem;
  }

  .landplan-inner .h-line {
    width: 60px;
    height: 1px;
    background-color: hsl(var(--c-main), 100%);
    margin: 0 auto;
    margin-bottom: 3em;
  }

  .landplan-inner .content-copy {
    font-size: 1.5em;
    margin-bottom: 1em;
  }

  .flex-plan {
    align-items: center;
    -webkit-box-align: center;
    display: flex;
    -ms-flex-align: center;
    width: 100%;
    background-color: #eff6ff;
    margin-left: 0rem;
  }

  .flex-plan-title {
    flex-shrink: 0;
    padding-right: 2em;
    width: 18em;
  }

  .flex-plan-body {
    flex-shrink: 0;
    width: 30em;
  }

  .flex-plan-slider {
    width: calc(100% - 32em);
  }

  .swiper-plan .swiper-slide {
    width: 20em;
  }

  .swiper-plan-card-body .col-sm-6 {
    margin-top: 0;
  }


  /* 物件概要////////////////////////////////////// */
  .dl-outline {
    width: 100%;
display: grid;
grid-template-columns: 22% 1fr;
  }

  .dl-outline dt {
    border: none;
    border-right: 1px solid #333;
  }

  .dl-outline dd {
    padding-left: 1em;
  }

  /**/
  .btn-cta {
    margin-top: 2em;
    position: relative;
  }

  .swiper-container.swiper-design {
    overflow: visible;
  }

  .swiper-container.swiper-design2 {
    overflow: visible;
  }

  /*CTA*/




  /*子育てエコホーム事業関連*/
  .bnr-ecohome {
    width: 100%;
    max-width: 1000px;
    position: relative;
  }

  .eco_btn {
    width: 23%;
    max-width: 230px;
    position: absolute;
    bottom: 10px;
    right: 9px;
  }

  .plan-ecohome {
    position: absolute;
    width: 3%;
  }

  .ecohome-icon {
    position: absolute;
    width: 8%;
    left: 58%;
    top: 10%;
  }

  /* 住みよいわけ */
  .comfortable-header {
    text-align: center;
    margin-bottom: 3rem;
  }

  .comfortable-title p {
    font-family: "Futura PT";
    font-size: 1rem;
    letter-spacing: 0.2rem;
    color: #A38F1B;
  }

  .comfortable-title h3 {
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    font-size: 2.5rem;
    letter-spacing: 0.2rem;
    color: hsl(var(--c-main), 100%);
    margin-top: 1rem;
    margin-bottom: 2rem;
  }

  .comfortable-text {
    font-size: 1rem;
    letter-spacing: 0.2rem;
    color: hsl(var(--c-main), 100%);
  }

  .comfortable-image {
    width: 100%;
    margin-top: 1rem;
    margin-bottom: 10px;
  }

  .comfortable-grid-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-bottom: 20px;
  }

  .quotation {
    font-size: 0.8rem;
  }

  .map-box {
    width: 100%;
    max-width: 63em;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
  }

  .googlemapview {
    width: 48%;
    margin-left: auto;
  }

  .map-narrow {
    border: 1px solid #989898;
    width: 50%;
  }

  .googlemapview .header-propaty-sm-row-1-list-btns-2-item-link {
    padding: 1.5em 0em;
    margin-bottom: 1rem;
  }

}

@media (min-width:768px) {
  .pc-none {
    display: none;
  }
}

@media (max-width: 767px) {
  .sp-none {
    display: none;
  }

  .bnr-ecohome {
    width: 100%;
    position: relative;
  }

  .eco_btn {
    width: 60%;
    max-width: 750px;
    position: absolute;
    top: calc(205 / 520*(100vw - 8px));
    left: calc(95 / 520*(100vw - 8px));
  }

  .ecohome-icon {
    position: absolute;
    width: 10%;
    left: 59%;
    top: 8%;
  }



  /*メインビジュアル*/
  .section-mv {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
    position: relative;
    z-index: 10;
  }

  .section-mv-copy {
    left: 47%;
    padding: 0;
    position: absolute;
    top: 20%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 90%;
  }

  .section-mv-txt {
    text-align: center;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    font-size: clamp(1rem, 0.929rem + 0.36vw, 1.1rem);
    letter-spacing: 0.1em;
    line-height: 1.8em;
    color: hsl(var(--c-main), 100%);
    left: 50%;
    padding: 0;
    position: absolute;
    top: 45%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 90%;
  }

  .section-mv-banner {
    transform: translate(0%, 0%);
    width: 100%;
    position: static;
    margin: 0 auto;
  }

  .section-mv-banner:hover {
    opacity: 0.8;
  }

  .feature-img {
    background-image: url("../images/top/feature-bg.png");
    background-repeat: no-repeat;
    padding-top: 1.5em;
    padding-bottom: 1em;
  }

  /* コンセプト */
  .section_concept {
    position: relative;
    z-index: 0;
    width: 100%;
    height: auto;
    background-image: url(../images/concept/bgimg.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-color: rgba(255, 255, 255, 0.6);
    background-blend-mode: lighten;
    padding-bottom: 0;
    color: hsl(var(--c-main), 100%);
  }

  .concept-bg-title {
    width: 80%;
    position: absolute;
    left: 0px;
    bottom: 0px;
    z-index: 1;
  }

  .concept-container {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin: 0 auto;
  }

  .concept-copy {
    width: 100%;
    max-width: 750px;
    align-items: center;
    margin-right: 0px;
    padding: 1rem 0px;
  }

  .concept-copy h3 {
    width: 80%;
    color: #817D21;
    font-size: 1.5em;
    letter-spacing: 0.2em;
    margin: 0 auto;
    margin-bottom: 1em;
  }

  .concept-copy p {
    width: 90%;
    color: hsl(var(--c-main), 100%);
    font-size: 1.2em;
    line-height: 2.5em;
    letter-spacing: 0.2em;
    margin: 0 auto;
  }

  .concept-img-box {
    width: 90%;
    position: relative;
    margin: 0 auto;
    padding-bottom: 3em;
  }

  .concept-img1 {
    width: 70%;
    position: absolute;
    top: 0rem;
    right: 5rem;
    box-shadow: 0.8rem 0.8rem 0px #D8D6C6;
  }

  .concept-img2 {
    width: 25%;
    position: absolute;
    top: 8rem;
    right: 1rem;
    box-shadow: 0.8rem 0.8rem 0px #D8D6C6;
  }

  .concept-img3 {
    width: 50%;
    margin-top: 50%;
    margin-left: 0%;
    box-shadow: 0.8rem 0.8rem 0px #D8D6C6;
  }

  /* ランドプラン */
  .landplan-inner {
    text-align: center;
    margin-bottom: 2em;
    color: hsl(var(--c-main), 100%);
  }

  .landplan-inner h3 {
    font-size: 4em;
    color: hsl(var(--c-main), 100%);
    font-weight: lighter;
    letter-spacing: 0.1em;
    font-family: var(--ff-acumin);
  }

  .landplan-inner h3::first-letter {}

  .landplan-inner p {
    color: #A38F1B;
    letter-spacing: 0.2em;
    margin-top: 0.5em;
    margin-bottom: 2.5rem;
  }

  .landplan-inner .h-line {
    width: 60px;
    height: 1px;
    background-color: hsl(var(--c-main), 100%);
    margin: 0 auto;
    margin-bottom: 3em;
  }

  .landplan-inner .content-copy {
    font-size: 1.5em;
    margin-bottom: 1em;
  }

  .flex-plan {
    background-color: #eff6ff;
    padding: 1em;
  }

  .flex-plan-body {
    margin: 0;
  }

  .article-plan-block-image {
    padding-left: 0;
  }

  .flex-plan-title {
    padding-right: 0em;
  }

  .swiper-plan {
    margin-right: 0rem;
  }

  .article-plan-block-image {
    margin: 0 auto;
    width: 100%;
    padding-left: 0rem;
  }

  .container-asym-right {
    padding-left: 0 !important;
    /* 必要に応じて上書き */
  }

  .list-caption {
    width: 90%;
    margin: 0 auto;
  }

  /* デザイン */

  .section_design {
    width: 100%;
    background-image: url(../images/design/bg.jpg);
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: left bottom;
    position: relative;
    padding-top: 0rem;
    padding-bottom: 1rem;
  }

  .section_design .img02-bg {
    width: 25%;
    position: absolute;
    top: 0;
    right: 0;
    opacity: 0.6;
  }

  .section_design .container {
    display: flex;
    flex-direction: column-reverse;
  }

  .section_design .design-img {
    width: 100%;
    max-width: 700px;
  }

  .section_design .design-copy {
    width: 100%;
    max-width: 750px;
    align-items: center;
    padding-bottom: 2em;
    font-size: 1em;
    text-align: center;

  }

  .section_design .design-copy-inner {
    margin: 0 auto;
    padding-left: 0;
  }

  .section_design .design-copy h3 {
    font-size: 4em;
    color: hsl(var(--c-main), 100%);
    font-weight: lighter;
    letter-spacing: 0.1em;
    margin-bottom: 0.5rem;
    font-family: var(--ff-acumin);
  }

  .section_design .design-copy h3::first-letter {}

  .section_design .design-copy p {
    color: hsl(var(--c-main), 100%);
    letter-spacing: 0.2em;
    line-height: 3em;
    margin-top: 2em;
    margin-bottom: 2em;
  }

  /* デザインスライダー */
  .swiper-container.swiper-design {
    max-width: 40em;
    overflow: hidden;
    margin-bottom: 0em;
  }

  .swiper-container.swiper-design2 {
    max-width: 50em;
    overflow: hidden;
    margin-bottom: 0em;
  }

  .swiper-container.swiper-design .swiper-slide {
    width: 60%;
  }

  .swiper-container.swiper-design2 .swiper-slide {
    width: 70%;
  }

  .swiper-design .swiper-wrapper,
  .swiper-design2 .swiper-wrapper {
    transition-timing-function: linear
  }

  .swiper-design-item {
    margin-left: auto;
    margin-right: auto;
    padding: 5px;
  }

  .swiper-design-item img {
    width: auto;
  }

  .slider-mv-arrow-left,
  .slider-mv-arrow-right {
    align-items: center;
    -webkit-box-align: center;
    -webkit-box-pack: center;
    cursor: pointer;
    display: flex;
    -ms-flex-align: center;
    -ms-flex-pack: center;
    height: 100%;
    justify-content: center;
    position: absolute;
    top: 0;
    width: 3em;
    z-index: 2;
  }

  .slider-mv-arrow-left:hover,
  .slider-mv-arrow-right:hover {
    background-color: hsla(0, 0%, 100%, 0.5);
  }

  .slider-mv-arrow-left {
    left: 0;
  }

  .slider-mv-arrow-right {
    right: 0;
  }

  .slider-box {
    padding: 1em 0em;
    background-color: #333333;
  }

  /* プラン */
  .section-plan {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    width: 100%;
    background: linear-gradient(to right, #FAFAFA, #EEEEEE);

  }

  .plan-copy h3 {
    font-size: 2.5em;
    color: hsl(var(--c-main), 100%);
    font-weight: lighter;
    letter-spacing: 0.1em;
    font-family: var(--ff-acumin);
    font-size: 4em;
  }

  .plan-copy h3::first-letter {}

  .plan-copy span {

    letter-spacing: 0.2em;
    margin-top: 0.5em;
  }

  .section-plan .h-line {
    width: 60px;
    height: 1px;
    background-color: hsl(var(--c-main), 100%);
    margin: 0 auto;
    margin-top: 2rem;
  }

  .plan-text {
    text-align: center;
    font-size: 1rem;
    letter-spacing: 0.2rem;
    margin-bottom: 2rem;
    color: hsl(var(--c-main), 100%);
  }

  .plan-inner {
    width: 100%;
    max-width: 1100px;
    display: flex;
    flex-direction: column;
  }





  .plan-inner .article-plan-block-inner img {
    width: 100%;
  }

  .plan-copy {
    text-align: center;
    margin: 0 auto;
    padding: 50px 0px;
  }

  .plan-copy h3 {
    margin-bottom: 1rem;
  }

  /*設備・仕様*/
  .section-specification {
    background-color: #fff;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;

  }

  .specification-header-inner {
    width: 90%;
    max-width: 900px;
    padding: 50px 0px;
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    text-align: center;

  }

  .specification-header img {
    width: calc(100% + 2rem);
    max-width: 900px;
    margin-bottom: 6rem;
    display: block;
    aspect-ratio: 4/ 2.5;
    object-fit: cover;
    margin: 0 -1rem;

  }


  .specification-copy-box span {
    font-size: 1rem;
  }

  .specification-copy-box h3 {
    font-size: 4em;
    color: hsl(var(--c-main), 100%);
    font-weight: 200;
    font-family: var(--ff-acumin);

  }

  .specification-copy-box h3::first-letter {}

  .specification-copy-box p {
    color: #A38F1B;
    letter-spacing: 0.2em;
    margin-top: 0.5em;
    margin-bottom: 2.5rem;
  }

  .specification-copy-box .h-line {
    width: 60px;
    height: 1px;
    background-color: hsl(var(--c-main), 100%);
    margin: 0 auto;
    margin-top: 2rem;
    margin-bottom: 3em;
  }

  .specification-text {
    font-size: 1.2rem;
    text-wrap: balance;
    word-break: auto-phrase;
    overflow-wrap: anywhere;
    line-break: strict;
  }

  .specification-body {
    margin-top: 4rem;
    width: 100%;

    background-repeat: no-repeat;
    background-position: left top;
  }

  .spec-sec01 {
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 2rem;
    position: relative;
    padding: 0;
  }

  .spec-sec02 {
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    margin-bottom: 2rem;
    position: relative;
    padding: 0;
  }

  .spec-sec03 {
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    margin-bottom: 2rem;
    padding: 0;
  }

  .title-quality {
    display: block;
    align-items: center;
    position: relative;
    font-family: var(--ff-acumin);
    font-style: normal;
    font-weight: lighter;

    font-size: 3rem;
    padding-bottom: 0.5rem;
    margin-top: 0.5rem;

    z-index: 5;

  }

  .title-quality span {

    font-size: 1rem;
    font-weight: 600;
    font-style: normal;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    display: block;
    writing-mode: horizontal-tb;
    letter-spacing: 5px;

    top: 2.4rem;
    left: 0;
  }


  .title-confort {
    display: block;

    align-items: center;
    position: relative;
    font-family: var(--ff-acumin);
    font-style: normal;
    font-weight: 200;

    font-size: 3rem;
    padding-bottom: 0.5rem;
    margin-top: 0.5rem;

    z-index: 5;

  }

  .title-confort span {

    font-size: 1rem;
    font-weight: 600;
    font-style: normal;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    writing-mode: horizontal-tb;
    letter-spacing: 5px;


  }



  .title-maintenance {
    display: block;
    align-items: center;
    position: relative;
    font-family: var(--ff-acumin);
    font-style: normal;
    font-weight: lighter;

    font-size: 3rem;
    padding-bottom: 0.5rem;
    margin-top: 1rem;

    z-index: 5;

  }

  .title-maintenance span {
    font-size: 1rem;
    font-weight: 600;
    font-style: normal;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;

    writing-mode: horizontal-tb;
    letter-spacing: 5px;

    top: 2.3rem;
    left: 0;
  }

  .spec-sec01 .image-box {
    width: 100%;

    position: relative;
    z-index: 10;

    background-repeat: no-repeat;
    background-size: cover;
    background-position: 0 50%;
  }

  .spec-sec02 .image-box {
    width: 100%;


    position: relative;
    z-index: 10;

    background-repeat: no-repeat;
    background-size: cover;
  }

  .spec-sec03 .image-box {
    width: 100%;


    position: relative;
    z-index: 10;

    background-repeat: no-repeat;
    background-size: cover;
  }

  .spec-sec01 .content-box,
  .spec-sec03 .content-box {
    width: 100%;
    padding-right: 0;
  }

  .spec-sec02 .content-box {
    width: 100%;
    padding-left: 0;
  }

  .spec-content-copy {
    font-size: 1.2rem;
    margin-top: 1.5rem;
    position: relative;
    z-index: 5;
  }

  .spec-content-text {
    font-size: 1rem;
    letter-spacing: 0.1rem;
    line-height: 2.2rem;
    white-space: pre-line;
    margin-bottom: 1rem;
    position: relative;
    z-index: 5;
  }



  .comfortable-header {
    text-align: center;
    margin-bottom: 3rem;
  }

  .comfortable-title p {
    font-family: "Futura PT";
    font-size: 1rem;
    letter-spacing: 0.2rem;
    color: #A38F1B;
  }

  .comfortable-title h3 {
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    font-size: 2rem;
    letter-spacing: 0.2rem;
    color: hsl(var(--c-main), 100%);
    margin-top: 1rem;
    margin-bottom: 2rem;
  }

  .comfortable-text {
    text-align: left;
    font-size: 1rem;
    letter-spacing: 0.1rem;
    color: hsl(var(--c-main), 100%);
  }

  .comfortable-image {
    width: 100%;
    margin-top: 0.5rem;
    margin-bottom: 10px;
  }

  .comfortable-grid-container {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 10px;
    margin-bottom: 20px;
  }

  .quotation {
    font-size: 0.8rem;
  }

  .map-box {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
  }

  .map-narrow {
    border: 1px solid #989898;
    width: 100%;
    margin-bottom: 20px;
  }

  .googlemapview {
    width: 100%;
    margin-left: auto;
  }

  .googlemapview .header-propaty-sm-row-1-list-btns-2-item-link {
    padding: 1.5em 0em;
    margin-bottom: 1rem;
  }


}

.btn-open-plan-header__sub {
  color: #93070f;
  border: 1px solid #93070f;
  font-size: 0.8em;
  line-height: 1;
  display: block;
  padding: 0.1em 0.0em;
  white-space: nowrap;
  text-align: center;
  margin-bottom: 0.2em;
}

.btn-open-plan-header__sub span {
  border-bottom: 1px solid #93070f;
  display: block;
  margin-bottom: 0.2em;
  padding: 0.2em 0;
  width: fit-content;
  margin-inline: auto;
}

.btn-open-plan-body {
  color: #333;
}



/*  //////////*/


.bgc-gra1: {
  background-color: #000;

}

.shadow-1 {
  filter: drop-shadow(0 0 15px rgba(0, 0, 0, 0.15));

}

.ff-acumin {
  font-weight: 200;
  font-family: var(--ff-acumin);
  font-size: 2em;
}


/* MARK:コンセプト */
.concept {
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr;
}

.concept__image-container {}

.concept__image-container-2 {
  max-width: 80%;
  margin-inline: auto;
  margin-top: 2rem;
}

.concept__image {}

.concept__content {}

.concept__header {}

.concept__title {
  font-size: 4em;
  color: hsl(var(--c-main), 100%);
}

.concept__title::first-letter {}

.concept__subtitle {}

.concept__text {
  line-height: 1.9;
  font-size: 1.0em;
}

.concept__paragraph+.concept__paragraph {
  margin-top: 1rem;
}

.concept__call-to-action {}

.content-text-hinadan {
  margin-top: 1rem;
  max-width: 60rem;
  margin-inline: auto;
  text-wrap: balance;
  word-break: auto-phrase;
  overflow-wrap: anywhere;
  line-break: strict;
}

.design-img {
  margin-top: 2rem;
}

.design-img__copy {
  position: absolute;
  left: 1.5%;
  top: 10%;
  color: #FFF;
  text-align: center;
  font-size: 1.2em;
  text-align: left;
}


.main-catch {
  font-size: 1.6em;
  text-align: center;
  margin-top: 4rem;
  line-height: 1.9;
  letter-spacing: 0.1em;

}

.main-catch-img {
  margin-block: 2rem;
  margin-inline: -1rem;
}

.main-catch-img img {
  max-width: unset;
  width: 100%;
}

.main-lead {
  font-size: 1.05em;
  line-height: 2.3;
  text-align: center;
  margin-top: 0;
  text-wrap: balance;
  word-break: auto-phrase;
  overflow-wrap: anywhere;
  line-break: strict;
  letter-spacing: 0.05em
}


.main-catch__wrapper {position: relative;}


.main-catch__body {
opacity: 0;
margin-inline: -1rem;
background-color: #000;background-image: url("../images/concept/bg_photo.webp"); background-repeat: no-repeat; background-size:cover; background-position: right 50% top 50%;
color: #FFF;
padding: 1rem;
box-shadow:0em 0em 0.5em 0em hsla(0,0%,0%,0.5);
position: absolute;
inset: 0;
overflow-y: auto;
overscroll-behavior:contain;

}

.main-catch__header {}
.main-catch__footer button,
.main-catch__header button{
all:unset;
display: block;
cursor: pointer;
box-sizing: border-box;
margin-left: auto;
width: 1.5rem;
}

.main-catch-img-caprion {
text-align: right;
}

.main-lead span{opacity: 0;}

@media (min-width: 768px) {

.main-catch__wrapper {margin-inline: calc(50% - 50vw);}

.main-catch__footer{display: none;}

.main-catch__body {
inset:.0;
/* left: 50%;
top: 50%; */
/* transform: translate(-50%,-50%); */
container: container-abc / inline-size;
margin-inline: 0;
width: 100%;
padding: 4rem 2rem 4rem;
display: flex;
align-items: center;
justify-content: center;
}



.main-lead {font-size: 1.4cqw;}

.main-catch__header {
    position: absolute;
    right: 2rem;
    top: 2rem;
}


}







/* Enjyoyment */
.section-enjyoyment {
  padding-block: 4rem;
}

.section-enjyoyment-title {
  color: hsl(var(--c-main), 100%);
  text-align: center;
  font-size: 1.8em;
}

.section-enjyoyment-lead {
  margin-top: 1rem;
  text-align: center;
  font-size: 1.2em;
}

.enjyoyment-row {
  margin-top: 5rem;
  display: grid;
  gap: 5rem;
}

.enjyoyment-row__item {
  position: relative;
  margin-inline: -1rem;
}

.enjyoyment__golf {
  width: 20%;
  position: absolute;
  left: 0%;
  top: -40%;
}

.enjyoyment__soccer {
  width: 22%;
  position: absolute;
  right: 1%;
  bottom: -30%;
}

.enjyoyment__outdoor {
  width: 20%;
  position: absolute;
  right: 6%;
  top: -25%;
}

.enjyoyment__children {
  width: 15%;
  position: absolute;
  left: 10%;
  top: 0;
  transform: translate(0%, -74%);
}



/* デスクトップ */
@media (min-width: 768px) {


  /* Enjyoyment */
  .section-enjyoyment {
    padding-block: 6rem;
  }

  .section-enjyoyment-title {
    font-size: 2.5em;
    letter-spacing: 0.1em;
  }

  .section-enjyoyment-lead {
    font-size: 1.2em;
  }

  .enjyoyment-row {
    margin-inline: calc(50% - 50vw);
    gap: 0;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 4rem;
  }

  .enjyoyment-row__item {
    margin-inline: 0;
  }

  .enjyoyment-row+.enjyoyment-row {
    margin-top: 10vw;
  }

  .enjyoyment__golf {
    width: 30%;
    top: -60%;
  }

  .enjyoyment__soccer {
    width: 25%;
    z-index: 1;
  }

  .enjyoyment__outdoor {
    width: 30%;
    top: -60%;
    right: 8%;
    ;
  }

  .enjyoyment__children {
    width: 28%;
  }


  .main-catch {
    font-size: 1.9em;
    letter-spacing: normal;
    letter-spacing: 0.13em
  }


  .spec-sec01,
  .spec-sec02,
  .spec-sec03 {
    gap: 2rem
  }



  /* MARK:コンセプト */
  .concept {
    gap: 4rem;
    grid-template-columns: 50% 1fr;
    margin-inline: calc(50% - 50vw);
    padding: 0 4rem;
  }

  .concept__image-container {
    grid-area: 1 / 1 / 3 / 2;
  }

  .concept__header {
    grid-area: 1 / 2 / 2 / 3;
  }

  .content__content {
    grid-area: 2 / 2 / 3 / 3;
  }

  .concept__title {
    font-size: 5em;
  }

  .concept__paragraph {
    font-size: 1.1em;
  }

  .concept__image-container-2 {
    max-width: 60%;
    margin-inline: 0 auto;
    margin-top: 4rem;
  }

  .design-img__copy {
    left: 12%;
    top: 10%;
    color: #FFF;
    font-size: 1.4em;
    letter-spacing: 0.1em
  }


}


.hl-1st,
.hl-2nd {
  margin-top: 2rem;
}


.cta-a {
  background-color: #fff;
  background-image: url("../images/cta/bg-wrapper.webp");
  background-size: cover;
  background-repeat: no-repeat;
  box-shadow: 0em 0em 2rem 0em hsla(0, 0%, 0%, 0.15);
  margin-top: 2rem;
  padding: 0.5rem;
}

.cta-a-inner {
  background-image: url("../images/cta/bg-inner.webp?2025-01-27");
  background-size: cover;
  background-repeat: no-repeat;
  padding: 0.5rem 1.5rem 1.5rem 1.5rem
;
  box-shadow: inset 0 0 rem rgba(0, 0, 0, 0.5);
}


.cta-a-inner-row {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr;
  margin-top: 0.5rem;
}

.cta-a-inner-row__col-1 {}

.cta-a-inner-row__col-2 {}

/* デスクトップ */
@media (min-width: 768px) {


  .cta-a-inner-row {
    width: 80%;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    margin-inline: auto;
  }

  .cta-a-inner {
    padding: 0.5rem 1.5rem 2rem 1.5rem;
  }

  .cta-a-inner-row a img {
    display: block;
    transition: transform 0.3s ease-out;
  }

  .cta-a-inner-row a:hover img {
    transform: scale(1.1)
  }
}






.plan-inner .grid-container {
  margin-top: 1rem;
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr;
/* max-width: 50rem; */
margin-inline: auto;
}

@media (min-width: 768px) {
/* 3列用 */
  /* .plan-inner .grid-container {
    grid-template-columns: repeat(3, 1fr);
  } */
/* 2列用 */
  /* .plan-inner .grid-container {
    grid-template-columns: repeat(2, 1fr);
  } */
/* 2列用 */
  .plan-inner .grid-container {
    grid-template-columns: 1fr;
  }

}


/* スクロールダウン */
.scrolldown-chevron:before,
.scrolldown-chevron:after {
  background-color: #FFF;
  mix-blend-mode: exclusion;
}































/* MARK:アニメーション SP */

.hero {
  aspect-ratio: 1;
  position: relative;
  width: 100vw;
  overflow: hidden;
}

.hero img {
  object-fit: cover;
  max-width: unset;
  width: 100%;
  height: 100%;
}

.revealers {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  z-index: 4;
}

.revealer {
  flex: 1;
  width: 100%;
  background-color: #fff;
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}



.hero-images {
  width: 100%;
  height: 100%;
  position: relative;
}

.hero-images__item {
  position: absolute;
  width: 100%;
  height: 100%;
  transform-origin: 50%;
  will-change: transform;
  opacity: 0;
  transform: scale(1.1);
}

.hero-images__item-caption {
  position: absolute;
  z-index: 2;
  opacity: 1;
will-change: auto;
font-family: Georgia, 'Times New Roman', Times, serif;
color: #FFF;
font-size: 1.8em;
font-style: italic;
bottom: 2%;
right: 2%;
font-weight: 100;
letter-spacing:0.5ch;
text-align: right;
mix-blend-mode:hard-light;
opacity: 0;
white-space: nowrap;
}


.hero-title {
  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  /* 初期状態: 左側に隠す */
  position: absolute;
  left: 15%;
  top: 3%;
  z-index: 3;
  width: 70%;
}


/* CSS */
.hero-scroller {
  /* 3D表示の視点を設定 */
display: none;
  perspective: 1000px;
  width: 100%;
  height: 20vw;
  /* 適宜調整 */
  position: relative;
  position: absolute;
  left: 0;
  bottom: 7%;
  opacity: 0;
  transform: scale(1.2);
  z-index: 5;
}

.hero-scroller__inner {
  position: relative;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  /* 子要素を3Dで扱う */
}

.hero-scroller__item {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 25vw;
  /* 各アイテムの横幅(例) */
  transform-origin: center center;
  /* 画像を中央揃えするため */
  transform: translate(-50%, -50%);
  text-align: center;
}

.hero-scroller__item img {
  width: 100%;
  display: block;
}


.hero-img {
  height: 100%;
}


/* MARK:アニメーション DT */
@media (min-width: 768px) {

  .hero {
    aspect-ratio: unset;
    height: calc(100dvh - 10rem);
  }

  .hero-title {
    left: 7%;
    top: 8%;
    width: 45%;
  }

  .hero-scroller {
    width: 50%;
    bottom: auto;
    top: 20%;
    left: 7%;
display: block;
  }

  .hero-scroller__item {

    width: 6rem;
  }






}


.list-caption__outer {

  margin: 2rem auto;
  padding: 0 0;
}

.list-caption__outer-specification {
  ;
}

@media (min-width: 768px) {
  .list-caption__outer-specification {
    width: auto;
  }


  .list-caption__outer-specification div {
    ;
    

  }

}

.btn-message__wrapper {display: flex; justify-content: center; margin-top: 2rem;

}
.btn-message {
width: fit-content;
cursor: pointer;
visibility: hidden;
}



/* 2段 */
.cta-b {
  background-color: #FFF;
  background-image: url("../images/top/bgblue.webp");
  background-size: cover;
  margin-top: 0;
  background-repeat: no-repeat;
  padding: 0.5rem 1.5rem 1.5rem 1.5rem;
  box-shadow: inset 0 0 rem rgba(0, 0, 0, 0.5);
margin-inline: -1rem;
}

.cta-b-inner {

}

.cta-b__trance {
  background-image: radial-gradient(circle at 50% 100%, #901212, #840e13, #780b13, #6b0812, #5f0611, #53050f, #47050b, #3c0407);
  background-size: 100% 200%;
  background-position: top;
  background-repeat: no-repeat;
  display: block;
  width: fit-content;
  transition: background-position 1s ease-out;
  margin-inline: auto;
}

.cta-b__trance:hover {
  background-position: bottom;
}

.tx-uketsuke {
padding-block: 1rem 0.5rem;
}

.cta-b-inner-row {

}

.cta-b-inner-row__col-1 {}

.cta-b-inner-row__col-2 {}

/* デスクトップ */
@media (min-width: 769px) {

.cta-b {
margin-inline: calc(50% - 50vw);
padding: 0.5rem 2rem;
box-shadow: 
    inset 0 20px 20px -20px rgba(0, 0, 0, 0.5),
    inset 0 -20px 20px -20px rgba(0, 0, 0, 0.5); 

}

.cta-b  {padding-block: 1.5rem;}

.tx-uketsuke {
padding-block:0;
}

.cta-b__inner {
width: min(100%,calc((8 * 110))*1px);
margin-inline: auto;
display: grid;
grid-template-columns: 1fr;
gap: 1rem;
align-content: center;
align-items: center;
}
.cta-b-inner-row {display: flex;
justify-content: center;
}

.cta-b-inner-row__col-2 {width: 23rem;}


}

.caption-mv {position: absolute;
bottom: 0;right: 0;color: #FFF;
padding-right: 1rem;
}

.cta-btn__entry {
font-size: 1.4em;color: #FFF !important;
letter-spacing: 0.1em;
white-space:no-wrap;
padding: 0.4em 2rem;
display: block;
border: 1px solid #FFF;
text-align: center;

}



