@charset "utf-8";

/* ====================================================================

  Kodate Top PC Style - Modified 202504

==================================================================== */

/*
  Main
==================================================================== */

/* トピックス
----------------------------- */
.bnr_dmp {
  position: relative;
  display: none !important;
}
.bnr_dmp p {
  grid-area: 1 / 1;
}
.bnr_dmp dl {
  position: relative;
  z-index: 1;
  grid-area: 1 / 1;
  width: calc(289 / 671 * 100%);
  background: rgba(0,0,0,.71);
}
.bnr_dmp dl dt {
  position: absolute;
  top: 25%;
  left: 50%;
  transform: translate(-50%, -25%);
  font-size: 20px;
  font-weight: 600;
  letter-spacing: .2em;
  line-height: calc(36 / 20);
  color: #ffffff;
  white-space: nowrap;
  margin: 0;
}
.bnr_dmp dt a { color: #ffffff; }
.bnr_dmp dl dd { display: none; }
.bnr_dmp > em {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  width: fit-content;
  height: 20px;
  text-align: center;
  line-height: 20px;
  display: block;
  font-size: 9px;
  color: #ffffff;
  background-color: #333333;
  padding: 0 1em;
}
.bg-orange { background-color: #ed4805 !important; }

/* Slick Slider */
.dmp-slider { display: none; }
.dmp-slider .slick-slide {
  position: relative;
  width: 562px;
  margin: 0 30px 0 0;
  /* display: grid; */
}

/*
  Swiper Slider - Add 202504
---------------------------------------------------------- */
.topics-unit {
  position: relative;
  overflow: hidden;
  padding: 0 0 40px;
}
.topics-unit .inner { position: relative; }
.swiper.topics-slider { overflow: visible; }
.swiper-slide.topics-bnr { width: 568px; }
.swiper-slide.topics-bnr a img {
  width: 100%;
  height: auto;
}
.swiper-slide.topics-bnr:not(.swiper-slide-visible) a {
  pointer-events: none;
  opacity: .3;
}
.swiper-button-prev {
  position: absolute;
  z-index: 1;
  top: initial;
  bottom: -25px;
  left: 0;
  width: 58px;
  height: 11px;
  background: url(../images/prev.png) no-repeat 50% 50%;
  background-size: cover;
}
.swiper-button-next {
  position: absolute;
  z-index: 1;
  top: initial;
  bottom: -25px;
  right: 0;
  width: 58px;
  height: 11px;
  background: url(../images/next.png) no-repeat 50% 50%;
  background-size: cover;
}
.swiper-button-prev::after, .swiper-button-next::after { content: none; }

/* Introduction
----------------------------- */
#intro {
  position: relative;
  margin: 0;
  padding: 0 0 180px;
}
#intro::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  top: 30px;
  width: 100%;
  height: 0;
  padding: 0 0 calc(412 / 1500 * 100%);
  background-image: url(../images/start-here/start-here_bg_top.png); 
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
}
#intro::after {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0;
  padding: 0 0 calc(464 / 1500 * 100%);
  /*
  background-image: url(../images/start-here/start-here_bg_btm.png); 
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  */
  background: linear-gradient(to bottom,  rgba(255,255,255,0) 0%,rgba(221,221,221,1) 50%,rgba(221,221,221,1) 60%,rgba(221,221,221,1) 70%,rgba(255,255,255,0) 100%);
}

/* Shin Design */
.shin-design {
  margin: 0 !important;
  padding: 0;
}
.shin-design::before {
  content: none;
  /*
  padding: 0 0 calc(405 / 1500 * 100%);
  background-image: url(../images/kodate_2025_bg_top.png);
  */
}
.shin-design::after { content: none; }

/* 住まいづくりはこれから始まる */
.shin-design h3 {
  font-size: 48px !important;
  font-size: 4.8rem !important;
  letter-spacing: 0.075em;
  margin: 0 !important;
}
.sd-explanation { display: none; }

.shin-design .inner > p {
  font-size: 20px;
  font-size: 2.0rem;
  letter-spacing: .075em;
  text-align: center;
  margin: 90px auto;
}

.sd-unit {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 80px;
  margin: 80px 0 0;
}
.sd-item-wrap h4 {
  font-size: 38px;
  font-size: 3.8rem;
  font-weight: 300;
  letter-spacing: .05em;
  line-height: 1.0;
  text-align: center;
  margin: 0 0 10px;
}
.sd-item-wrap h4 img {
  width: 100%;
  height: auto;
}
.sd-item-wrap > div {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 20px;
}
.sd-item { width: initial; }
.sd-item dl {
  text-align: center;
  margin: 20px 0 0;
}
.sd-item dl dt {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.2;
}
.sd-item dl dd {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 2.0;
  color: #696969;
}
.sd-item ul { display: none; }
.sd-item figure { overflow: hidden; }
.sd-item figure img {
  width: 100%;
  height: auto;
  flex-shrink: 0;
  object-fit: cover;
}

/* サステナブル＆レジリエンス */
.sd-sub-unit {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 80px;
}
.sd-sub-item h4 {
  font-size: 38px;
  font-size: 3.8rem;
  font-weight: 300;
  letter-spacing: .05em;
  line-height: 1.0;
  margin: 0 0 20px;
}
.sd-sub-item h4 img {
  width: 100%;
  height: auto;
}
.sd-sub-item > p {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 300;
  letter-spacing: .05em;
  line-height: 1.0;
  margin: 0 0 20px;
}
.sd-sub-item > div {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 20px;
}
.sd-sub-item > div figure img {
  width: 100%;
  height: auto;
}
.sd-sub-item > div figure figcaption {
  font-size: 14px;
  font-size: 1.4rem;
  letter-spacing: .2em;
  color: #010101;
  margin: 1em 0 0;
}

p.annotation {
  margin-top: 1rem;
  text-align: right;
}