@charset "UTF-8";

/* ============================
*  Commom
* ========================== */
body {
  color: #2f2222;
  font-family: 'Zen Kaku Gothic New', sans-serif;
}

.l-inner {
  width: 100%;
  padding-inline: 6.08vw;
}
@media screen and (max-width: 768px) {
  .l-inner {
    width: 100%;
    padding-inline: 20px;
    margin-inline: auto;
  }
}

/* テキストの上のドット */
.dots {
  display: inline-flex;
  align-items: flex-end;
}
.dot {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
.dot::before {
  content: '';
  background-color: #b5a181;
  width: 7px;
  height: 7px;
  border-radius: 50%;
}
@media screen and (max-width: 768px) {
  .dot::before {
    width: 5px;
    height: 5px;
  }
}

.italic {
  padding-top: 8px;
  font-style: italic;
}

.diagonal {
  display: inline-block;
  padding-top: 6px;
  rotate: 35deg;
}

/* ============================
*  TOP
* ========================== */
/*-------------------------
  FV
-------------------------*/
.top__fv {
  position: relative;
  /* margin-top: 146px; */
  width: 100%;
  /* height: calc(100dvh - 146px); */
  padding-bottom: 1.04dvh;
  background-color: #fff;
  max-width: 1920px;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .top__fv {
    /* margin-top: 125px; */
    /* height: calc(100dvh - 125px); */
    padding-bottom: 0;
  }
}

/* FV images */
.top__fv-images {
  position: relative;
  z-index: 6;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .top__fv-images {
    display: flex;
    justify-content: center;
    width: 100%;
    height: 54.93vh;
    margin-bottom: 24px;
  }
}

.fv-images-swiper.swiper {
  display: block;
  width: 100%;
  height: 100%;
}
.top__fv-image--sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .fv-images-swiper.swiper {
    display: none;
  }
  .top__fv-image--sp {
    display: block;
    width: 100%;
    height: 100%;
  }

  .top__fv-img--sp {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: bottom;
  }
}

.fv-images-wrapper {
  position: relative;
  aspect-ratio: 1366 / 614;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .fv-images-wrapper {
    aspect-ratio: initial;
  }
}

.top__fv-swiper-slide-img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom;
  opacity: 0;
}
.top__fv-swiper-slide-img:first-of-type {
  opacity: 1;
}
@media screen and (max-width: 768px) {
  .top__fv-swiper-slide-img {
    opacity: 1;
    height: 54.93vh !important;
    object-position: center;
  }
}

/* FV catchcopy */
.top__fv-cathcopy {
  content: '';
  position: absolute;
  z-index: 7;
  display: flex;
  flex-direction: column;
  gap: 6px;
  top: 100px;
  left: 100px;
  width: 400px;
  height: 116px;
}
@media screen and (max-width: 768px) {
  .top__fv-cathcopy {
    position: relative;
    z-index: 6;
    top: auto;
    left: auto;
    width: 240px;
    height: auto;
    padding-inline: 20px;
  }
}

.top__fv-cathcopy--ja.top__fv-cathcopy-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .top__fv-cathcopy--ja.top__fv-cathcopy-img {
    width: 240px;
    object-fit: contain;
  }
}

.top__fv-cathcopy--en {
  font-size: 0.875rem;
  line-height: 1.357;
  letter-spacing: 0.1em;
  font-weight: 300;
  font-family: 'Roboto', sans-serif;
}
@media screen and (max-width: 768px) {
  .top__fv-cathcopy--en {
    font-size: 0.75rem;
    line-height: 1.5;
  }
}

/* FV new works */
.top__fv-new-works {
  content: '';
  position: absolute;
  z-index: 7;
  right: 20px;
  bottom: 5.21vh;
  max-width: 550px;
  width: 100%;
  height: 40px;
}
@media screen and (max-width: 768px) {
  .top__fv-new-works {
    position: relative;
    z-index: 6;
    right: auto;
    bottom: auto;
    max-width: 100%;
    height: auto;
    padding: 40px 20px 0;
  }
}

.top__fv-new-works-link {
  display: flex;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .top__fv-new-works-link {
    flex-direction: column;
    gap: 8px;
  }
}

.top__fv-new-works-date {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  max-width: 115px;
  width: 100%;
  padding-left: clamp(8px, 1.76vw, 24px);
  background-color: #b5a181;
  border-radius: 20px 0 0 20px;
  font-size: 0.813rem;
  font-weight: 500;
  line-height: 1.462;
  color: #fff;
  font-family: 'Prompt', sans-serif;
}
@media screen and (max-width: 768px) {
  .top__fv-new-works-date {
    justify-content: center;
    max-width: 100%;
    width: 93px;
    height: 29px;
    padding-left: 0;
    border-radius: 20px;
  }
}

.top__fv-new-works-title {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 435px;
  width: 100%;
  padding-inline: 16px;
  background-color: #efebea;
  border-radius: 0 20px 20px 0;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 40px;
  text-overflow: ellipsis;
  transition: 0.3s ease;
}
@media screen and (max-width: 768px) {
  .top__fv-new-works-title {
    -webkit-line-clamp: 2;
    max-width: 100%;
    padding-inline: 0;
    background-color: transparent;
    line-height: 1.5;
  }
}

/* ホバー時 */
.top__fv-new-works:hover .top__fv-new-works-title {
  text-decoration: underline;
}

/*-------------------------
  施工事例 p-top__works
-------------------------*/
.p-top__works__inner {
  padding-top: 68px;
  padding-bottom: 100px;
  max-width: 1366px;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-top__works__inner {
    padding-top: 120px;
    padding-bottom: 80px;
  }
}

/* タイトル */
.p-top__works-title {
  margin-bottom: 12px;
  padding-inline-start: 6.08vw;
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 700;
  font-family: 'Prompt', sans-serif;
  text-transform: uppercase;
}
@media screen and (max-width: 768px) {
  .p-top__works-title {
    margin-bottom: 24px;
  }
}

/* コンテンツ */
.p-top__works-content {
  width: 100%;
  margin-bottom: 64px;
}
@media screen and (max-width: 768px) {
  .p-top__works-content {
    margin-bottom: 40px;
  }
}

.c-works-list.p-top__works-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 768px) {
  .c-works-list.p-top__works-list {
    grid-template-columns: 1fr;
    row-gap: 24px;
  }
}

/* リンクボタン */
.p-top__works .c-button {
  margin-inline: auto;
}

/*-------------------------
  会社案内 p-top__company
-------------------------*/
.p-top__company {
  background-color: #f6f2ec;
}
.p-top__company-inner {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 64px;
  padding: 100px 6.08vw;
  background-color: #f6f2ec;
  max-width: 1920px;
  margin-inline: auto;
}
.p-top__company-inner::before {
  content: '';
  position: absolute;
  top: 0;
  inset: 0;
  background-image: url('../images/deco-top-company.svg');
  background-size: cover;
  width: 712px;
  height: 1081px;
  background-position: left max(-124px, -9.08vw) top;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .p-top__company-inner {
    gap: 24px;
    padding: 80px 20px;
  }

  .p-top__company-inner::before {
    width: 240px;
    height: 280px;
    background-position: left -77px top;
  }
}

.p-top__company-content {
  display: flex;
  flex-direction: column;
  gap: 40px;
  max-width: 1000px;
  width: 100%;
  margin-inline: auto;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-top__company-content {
    gap: 24px;
  }
}

/* キャッチコピー */
.p-top__company-catchcopy--ja {
  position: relative;
  z-index: 5;
  font-size: clamp(2rem, 3.07vw, 2.625rem);
  line-height: 1.69;
  letter-spacing: 0.024em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .p-top__company-catchcopy--ja {
    font-size: 1.875rem;
    line-height: 1.8;
  }
}

/* 本文 */
.p-top__company-descs {
  position: relative;
  display: flex;
  flex-direction: column;
  font-weight: 500;
  gap: 34px;
}
@media screen and (max-width: 768px) {
  .p-top__company-descs {
    gap: 27px;
  }
}

.p-top__company-desc {
  font-size: 1rem;
  line-height: 2.125;
}
@media screen and (max-width: 768px) {
  .p-top__company-desc {
    font-size: 0.875rem;
    line-height: 1.929;
  }
}
/* キャッチコピー 英文*/
.p-top__company-catchcopy--en {
  position: absolute;
  left: calc(100% - 30px);
  top: 50%;
  transform: rotate(90deg) translate(-50%, -50%);
  transform-origin: 0 100%;
  max-width: fit-content;
  font-size: 1.25rem;
  line-height: 1.5;
  font-weight: 300;
  letter-spacing: 0.1em;
  font-family: 'Prompt', sans-serif;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .p-top__company-catchcopy--en {
    display: none;
  }
}

/* リンクボタン */
.p-top__company .c-button {
  margin-inline: auto;
}

/*-------------------------
  コンセプト p-top__concept
-------------------------*/
.p-top__concept .l-inner {
  position: relative;
  padding-top: 100px;
  padding-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .p-top__concept .l-inner {
    height: fit-content;
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .p-top__concept .l-inner::before {
    content: '';
    position: absolute;
    top: 24px;
    left: 0;
    background-image: url('../images/deco-top-model-house-01.svg');
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 362.97px;
  }
}

.p-top__concept-content {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: space-between;
  gap: clamp(45px, 6.59vw, 90px);
  max-width: 1200px;
  width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-top__concept-content {
    display: flex;
    flex-direction: column;
    gap: 48px;
    justify-content: center;
  }

  .p-top__concept-item,
  .p-top__concept-item-text {
    position: relative;
    z-index: 5;
    display: flex;
    flex-direction: column;
    gap: 24px;
  }
}

.p-top__concept-item-text {
  position: relative;
  z-index: 5;
}

.p-top__concept-item-title {
  margin-bottom: 32px;
  font-size: clamp(1.25rem, 2.2vw, 1.875rem);
  line-height: 1.867;
  letter-spacing: 0.024em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .p-top__concept-item-title {
    margin-bottom: 0;
    font-size: 1.313rem;
    line-height: 1.714;
  }
}

.p-top__concept-item-desc {
  max-width: 492px;
  width: 100%;
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.125;
  letter-spacing: 0.024em;
}
@media screen and (max-width: 768px) {
  .p-top__concept-item-desc {
    font-size: 0.875rem;
    line-height: 1.929;
  }
}

.p-top__concept-item-image {
  width: 369px;
  height: auto;
}
@media screen and (max-width: 768px) {
  .p-top__concept-item-image {
    width: 100%;
    padding-inline: 18px;
  }
}

.p-top__concept-item-img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
}

/* リノベーション */
.p-top__concept-item--renovation {
  flex-shrink: 0;
  width: 100%;
}

.p-top__concept-item--renovation .p-top__concept-item-image {
  margin-top: -45px;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .p-top__concept-item--renovation .p-top__concept-item-image {
    margin-top: 0;
    margin-inline: auto;
  }
}

.p-top__concept-item-img,
.c-voice-card__img,
.p-top__staff-img,
.p-top__model-house-link-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-voice-card__img {
  aspect-ratio: 280 / 147;
}

/* アップグレード */
.p-top__concept-item--upgrade {
  flex-shrink: 0;
  display: flex;
  flex-direction: column-reverse;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-top__concept-item--upgrade {
    flex-direction: column;
  }
}

.p-top__concept-item--upgrade .p-top__concept-item-image {
  margin-bottom: -65px;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .p-top__concept-item--upgrade .p-top__concept-item-image {
    margin-bottom: 0;
    margin-inline: auto;
  }
}

/*-------------------------
  モデルハウス p-top__model-house
-------------------------*/
.p-top__model-house-inner {
  position: relative;
  padding-top: 68px;
  width: 100%;
  /* height: 60.03vh; */
}
.p-top__model-house-inner::after {
  position: absolute;
  z-index: -1;
  content: '';
  left: 11.42vw;
  top: 60.95vh;
  background-image: url('../images/deco-top-model-house-01.svg');
  background-repeat: no-repeat;
  width: clamp(300px, 38.53vw, 526.26px);
  height: clamp(300px, 66.31vh, 509.25px);
}
@media screen and (max-width: 768px) {
  .p-top__model-house-inner {
    padding-top: 170px;
    /* height: 51.6vh; */
  }
  .p-top__model-house-inner::after {
    display: none;
  }
}

.p-top__model-house-content {
  display: flex;
  align-items: center;
  /* padding: 12.04vh 0 13.15vh; */
  background-image: url('../images/bg-top-model-house.png?v1.0.1');
  background-repeat: no-repeat;
  width: 100%;
  background-size: cover;
  height: clamp(393px, 62.11vh, 768px);
  background-position: bottom;
  max-width: 1920px;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-top__model-house-content {
    background-size: cover;
	background-image: url('../images/bg-top-model-house-sp.png?v1.0.1');
    height: clamp(249px, 32.67vh, 598px);
    background-position: center;
  }
}

.p-top__model-house-link {
  position: relative;
  left: 10.5px;
  display: flex;
  align-items: center;
  width: 250px;
  height: auto;
  margin-inline: auto;
  transition: 0.3s ease;
}
@media screen and (max-width: 768px) {
  .p-top__model-house-link {
    bottom: auto;
  }
}
/* ホバー時 */
.p-top__model-house-link:hover {
  scale: 1.08;
}

.p-top__model-house-catchcopy-block {
  position: absolute;
  content: '';
  top: 0;
  right: 23.72vw;
}

.p-top__model-house-catchcopy-block-inner {
  display: flex;
  flex-direction: row-reverse;
  gap: 12px;
}
@media screen and (max-width: 768px) {
  .p-top__model-house-catchcopy-block {
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 20px;
    width: 190px;
    height: 170px;
  }

  .p-top__model-house-catchcopy-block::before,
  .p-top__model-house-catchcopy-block::after {
    content: '';
    background-repeat: no-repeat;
    background-size: contain;
    width: 40px;
    height: 60px;
    flex-shrink: 0;
    margin-bottom: 20px;
  }
  .p-top__model-house-catchcopy-block::before {
    background-image: url('../images/deco-top-model-house-sp.svg');
  }
  .p-top__model-house-catchcopy-block::after {
    background-image: url('../images/deco-top-model-house-sp-02.svg');
  }

  .p-top__model-house-catchcopy-block-inner {
    width: 70px;
    gap: 0;
    /* height: 170px; */
    justify-content: space-between;
  }
}

.p-top__model-house-catchcopy {
  font-size: 1.25rem;
  line-height: 1.3;
  color: #2f2222;
  font-weight: 700;
  letter-spacing: 0.26em;
  writing-mode: vertical-rl;
}
@media screen and (max-width: 768px) {
  .p-top__model-house-catchcopy {
    font-size: 1.188rem;
    line-height: 1.263;
  }

  .p-top__model-house-catchcopy:nth-of-type(2) {
    padding-top: 1em;
  }
}

/*-------------------------
  お客様の声 p-top__voice
-------------------------*/
.p-top__voice .l-inner {
  position: relative;
  max-width: 1366px;
  padding-top: 100px;
  padding-bottom: 100px;
  margin-inline: auto;
  overflow: hidden;
}
.p-top__voice .l-inner::after {
  position: absolute;
  z-index: -1;
  content: '';
  background-image: url('../images/deco-top-voice-02.svg');
  background-size: cover;
  left: 47%;
  bottom: -29px;
  width: 14.49vw;
  height: 32.18vh;
}
@media screen and (max-width: 768px) {
  .p-top__voice .l-inner {
    padding: 80px 20px;
  }
  .p-top__voice .l-inner::after {
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    background-image: url('../images/deco-top-model-house-01.svg');
    background-size: cover;
    width: 375px;
    height: 362.88px;
  }
}

.p-top__voice-heading {
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  margin-bottom: 64px;
}
@media screen and (max-width: 768px) {
  .p-top__voice-heading {
    grid-template-columns: 1fr;
    row-gap: 40px;
    margin-bottom: 40px;
  }
}

.p-top__voice-title {
  flex-shrink: 0;
}

.p-top__voice-desc {
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.125;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .p-top__voice-desc {
    font-size: 0.875rem;
    line-height: 1.929;
    text-align: left;
  }
}

.p-top__voice-content,
.p-top__voice-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
@media screen and (max-width: 768px) {
  .p-top__voice-content,
  .p-top__voice-list {
    grid-template-columns: 1fr;
  }
}

.p-top__voice-content {
  gap: 32px;
}
@media screen and (max-width: 768px) {
  .p-top__voice-content {
    gap: 24px;
  }
}

.p-top__voice-list-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .p-top__voice-list-wrapper {
    gap: 40px;
  }

  .p-top__voice-list {
    width: 100%;
  }
}

.p-top__voice-list {
  gap: 24px;
}

/*-------------------------
  スタッフ紹介 p-top__staff
-------------------------*/
.p-top__staff .l-inner {
  position: relative;
  padding-top: clamp(32px, 12.76vh, 98px);
  padding-bottom: clamp(32px, 12.76vh, 98px);
  background-image: url('../images/bg-top-staff.png');
  background-size: cover;
}
@media screen and (max-width: 768px) {
  .p-top__staff .l-inner {
    display: flex;
    flex-direction: column;
    gap: 40px;
    padding-top: 78px;
    padding-bottom: 78px;
    padding-inline: 0;
  }
}

.p-top__staff-content-wrapper {
  max-width: 1200px;
  width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-top__staff-content-wrapper {
    display: flex;
    flex-direction: column;
    gap: 40px;
  }
}

.p-top__staff-title {
  position: absolute;
  content: '';
  top: clamp(32px, 12.76vh, 98px);
}
@media screen and (max-width: 768px) {
  .p-top__staff-title {
    position: relative;
    top: auto;
  }
}

.p-top__staff-content {
  display: grid;
  grid-template-columns: minmax(auto, 525px) minmax(auto, 640px);
  align-items: center;
  column-gap: 35px;
}
@media screen and (max-width: 768px) {
  .p-top__staff-content {
    display: flex;
    flex-direction: column-reverse;
    gap: 40px;
  }

  .p-top__staff-text {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding-inline: 20px;
  }
}

.p-top__staff-catchcopy {
  font-size: clamp(1.25rem, 1.76vw, 1.5rem);
  line-height: 1.458;
  letter-spacing: 0.024em;
  font-weight: 700;
  margin-bottom: 1.25em;
}
@media screen and (max-width: 768px) {
  .p-top__staff-catchcopy {
    font-size: 1.188rem;
    line-height: 1.421;
    margin-bottom: 0;
  }
}

.p-top__staff-desc {
  font-size: clamp(0.875rem, 1.17vw, 1rem);
  font-weight: 500;
  line-height: 2.125;
  letter-spacing: 0.024em;
}
@media screen and (max-width: 768px) {
  .p-top__staff-desc {
    font-size: 0.875rem;
    line-height: 1.929;
  }
}

.p-top__staff .c-button {
  position: absolute;
  content: '';
  bottom: 98px;
}
@media screen and (max-width: 768px) {
  .p-top__staff .c-button {
    position: relative;
    bottom: auto;
  }
}
/*-------------------------
  イベント top__event
-------------------------*/
.p-top__event {
  position: relative;
}
.p-top__event::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  background-image: url('../images/deco-top-event-01.svg');
  width: clamp(209px, 30.6vw, 418px);
  height: clamp(96px, 24.87vh, 191px);
  aspect-ratio: 418 / 191;
}
.p-top__event .l-inner {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 64px;
  padding-top: 98px;
  padding-bottom: 98px;
  max-width: 1366px;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-top__news .l-inner,
  .p-top__event .l-inner {
    margin-inline: 0;
    padding-inline: 0;
    overflow-x: hidden;
    gap: 40px;
  }

  .p-top__event::after {
    width: 209px;
    height: 96px;
    aspect-ratio: 209 / 96;
    background-size: cover;
  }
}

.p-top__event-swiper {
  margin: 0 !important;
}

.p-top__event .c-button {
  margin-inline: auto;
}

/*-------------------------
  お知らせ p-top__news
-------------------------*/
.p-top__news {
  background-color: #f6f2ec;
}
.p-top__news .l-inner {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 64px;
  padding-top: 98px;
  padding-bottom: 98px;
  background-color: #f6f2ec;
  max-width: 1366px;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-top__news .l-inner {
    gap: 40px;
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

.p-top__news-swiper {
  margin: 0 !important;
}

.p-top__news-list {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr);
}

.p-top__news .c-button {
  margin-inline: auto;
}

.p-top__news + .c-contact .c-contact__inner {
  padding-top: 0;
}
@media screen and (max-width: 768px) {
  .p-top__news + .c-contact .c-contact__inner {
    padding-top: 80px;
  }
}

.list-new-entry__news-entry-area-article {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .list-new-entry__news-entry-area-article {
    width: auto;
  }
}

.list-new-entry__heading-images {
  position: relative;
  width: 100%;
  max-width: 282px;
  height: auto;
  max-height: 282px;
  margin-bottom: 16px;
  overflow: hidden;
  grid-area: list-new-entry__heading-images;
  z-index: 0;
}

@media screen and (max-width: 768px) {
  .list-new-entry__news-entry-area .list-new-entry__heading-images {
    max-width: 142px;
    max-height: 142px;
    margin-bottom: unset;
  }
}

.event-ended .list-new-entry__heading-images::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(47, 34, 34, 0.4);
  z-index: 1;
}

.event-ended .list-new-entry__heading-images::after {
  content: '開催終了';
  display: block;
  position: absolute;
  top: min(1.1713vw, 16px);
  left: min(1.1713vw, 16px);
  padding: 6px 24px;
  color: #ffffff;
  background-color: rgba(47, 34, 34, 1);
  border-radius: 16px;
  z-index: 1;
  font-size: 11px;
  font-weight: var(--font-weight-medium);
  /* line-height: calc( 32/ 11); */
  letter-spacing: 0.05em;
}

.list-new-entry__heading-images img {
  transition: all 0.25s;
  max-width: 100%;
}

.list-new-entry__news-entry-area-article-link {
  display: flex;
  flex-direction: column;
  height: 100%;
}

@media screen and (max-width: 768px) {
  .list-new-entry__news-entry-area .list-new-entry__news-entry-area-article-link {
    display: grid;
    grid-template-areas:
      'list-new-entry__heading-images list-new-entry__news-entry-area-article--header'
      'list-new-entry__heading-images list-new-entry__news-entry-area-heading'
      'list-new-entry__heading-images list-new-entry__footer-area';
    height: 100%;
    grid-template-columns: max-content 1fr;
    column-gap: min(4.26666vw, 16px);
    row-gap: min(2.1333vw, 8px);
  }
}

.list-new-entry__news-entry-area-article-link:hover .list-new-entry__heading-images img {
  transform: scale(1.1);
}
.list-new-entry__news-entry-area-article-link.event-ended:hover .list-new-entry__heading-images img {
  transform: scale(1);
}

.list-new-entry__news-entry-area-heading {
  margin-bottom: 8px;
  margin-top: -0.5em;
  font-size: 18px;
  line-height: calc(32 / 18);
  color: var(--color-black);
  font-weight: var(--font-weight-medium);
  grid-area: list-new-entry__news-entry-area-heading;
}

@media screen and (max-width: 768px) {
  .list-new-entry__news-entry-area .list-new-entry__news-entry-area-heading {
    margin-bottom: unset;
    font-size: 14px;
    line-height: calc(24 / 14);
    margin-top: unset;
  }
}

.list-new-entry__footer-area {
  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: center;
  gap: 8px;
  margin-top: auto;
  font-size: 12px;
  font-weight: var(--font-weight-regular);
  grid-area: list-new-entry__footer-area;
}

@media screen and (max-width: 768px) {
  .list-new-entry__news-entry-area .list-new-entry__footer-area {
    font-size: 11px;
    margin-top: unset;
    justify-content: start;
  }
}

.list-new-entry__footer-area--calendar {
  display: flex;
  justify-content: start;
  align-items: center;
  gap: 8px;
  margin-left: 1px;
}

.list-new-entry__footer-area--calendar::before {
  content: url('../images/icon-date.svg');
  display: block;
  display: inline-flex;
  flex-shrink: 0;
}

@media screen and (max-width: 768px) {
  .list-new-entry__footer-area--calendar::before {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 16px;
    height: 16px;
  }
}

.list-new-entry__footer-area--address {
  display: flex;
  justify-content: start;
  align-items: center;
  gap: 8px;
}

.list-new-entry__footer-area--address::before {
  content: '';
  display: block;
  display: inline-flex;
  background: url(../images/icon--location.svg) no-repeat center / contain;
  width: 20px;
  height: 20px;
}

@media screen and (max-width: 768px) {
  .list-new-entry__footer-area--address::before {
    width: 16px;
    height: 16px;
  }
}

.list-new-entry__news-entry-area-article--header {
  display: flex;
  justify-content: space-between;
  align-items: end;
  margin-bottom: 10px;
  grid-area: list-new-entry__news-entry-area-article--header;
}

@media screen and (max-width: 768px) {
  .list-new-entry__news-entry-area .list-new-entry__news-entry-area-article--header {
    flex-direction: column;
    align-items: start;
    margin-bottom: unset;
    justify-content: start;
    gap: 8px;
  }
}

.list-new-entry__news-entry-area-article--left {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

@media screen and (max-width: 768px) {
  .list-new-entry__news-entry-area-article--left {
    gap: 4px;
  }
}

.list-new-entry__news-entry-area-article--left span {
  padding: min(1.6vw, 6px) min(6.4vw, 24px);
  font-size: 11px;
  letter-spacing: 0.05em;
  border-radius: 16px;
  font-weight: var(--font-weight-medium);
}

@media screen and (max-width: 768px) {
  .list-new-entry__news-entry-area .list-new-entry__news-entry-area-article--left span {
    padding: min(1.6vw, 6px) min(5.3333vw, 20px);
  }
}
.list-new-entry__news-entry-area-article--right {
  flex-shrink: 0;
  padding: min(1.6vw, 6px) 0;
}

.type-event {
  display: inline-block;
  border: 1px solid var(--color-black);
  background: #ffffff;
}

.yoyaku-event {
  display: inline-block;
  border: 1px solid var(--color-yellow-orange);
  background: var(--color-yellow-orange);
  color: #ffffff;
}

.reception-event {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  letter-spacing: 0.05em;
  color: #a181b5;
  font-weight: var(--font-weight-medium);
}

.reception-event::before {
  content: '';
  display: block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: #a181b5;
}

.reception-event--ended {
  display: flex;
  align-items: center;
  color: #555;
  font-size: 12px;
  letter-spacing: 0.05em;
  font-weight: var(--font-weight-medium);
}
