@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: auto;
  opacity: 1;
}
.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;
}

p.intro_lead{
  margin:0 !important;
  padding: 20px 0;
  }
div.lineup_link{
  background:#f1f2f2;
  position:absolute;
  bottom:-150px;
  left:50%;
  transform:translateX(-50%);
  width:300px;
}

div.lineup_link a{
  display:block;
  padding:25px 20px;
  text-align:center;
  font-family: "Noto Sans JP", sans-serif !important;
  font-weight: 400;
  font-size:2.0rem;
  color:#333;
  text-decoration:none;
  line-height: normal;
  margin: auto;
}


/* =========================================================
   Contact Area
========================================================= */

#contact{
  padding:60px 0 70px;
  margin:0 0 120px;
}

#contact .contact_area{
  width:1200px;
  margin:0 auto;
}

#contact .contact_ttl{
  display:flex;
  align-items: self-end;
  gap:40px;
  margin:0 0 30px;
}

#contact .contact_ttl h2{
  font-size:58px;
  font-weight:300;
  color:#a8a8a8;
  line-height:1;
  margin:0;
}

#contact .contact_ttl p{
  margin:0;
  font-size:14px;
  line-height:2;
  color:#111;
  padding-bottom: 8px;
}

#contact ul{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:80px;
  margin:0;
  padding:0;
}

#contact li{
  list-style:none;
}

#contact li a{
  display:block;
  background:#fff;
  text-decoration:none;
  transition:.3s;
}

#contact li a:hover{
  opacity:.8;
}

#contact .contact_box{
  display:flex;
  align-items:center;
  min-height:150px;
  padding:10px;
  background: #efefef;
}

#contact .contact_img{
  width:52%;
  flex-shrink:0;
}

#contact .contact_img img{
  display:block;
  width:100%;
  height:auto;
}

#contact .contact_txt{
  width:48%;
  padding:0 20px;
  box-sizing:border-box;
}

#contact .contact_txt h3{
  margin:0;
  text-align: left !important;
  line-height:1.6;
  color:#111;
  text-align:center;
  font-family: "Noto Sans JP", sans-serif !important;
  font-weight: 400;
  font-size:2.0rem;
}

#contact li > p{
  margin:15px 0 0;
  font-size:14px;
  line-height:1.8;
  color:#111;
}

.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 { width: initial; }
.sd-item dl {
  text-align: center;
  margin: 20px 0 0;
}
.sd-item dl dt {
  font-size: 24px;
  font-size: 4rem;
  line-height: 1.2;
  font-weight: 200;
}
.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;
}