@charset "UTF-8";

/* =========================================================
   カードレイアウト（子ページ & 施工事例）
   ========================================================= */

/* 共通：グリッド（4 → 2 → 1列） */
.cards-grid--child-pages,
.cards-grid--works {
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:24px;
}

@media (max-width: 1023px) {
  .cards-grid--child-pages,
  .cards-grid--works {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 599px) {
  .cards-grid--child-pages,
  .cards-grid--works {
    grid-template-columns: 1fr;
  }
}

/* 共通：カード本体 */
.card--child-page,
.card--works {
  background:#fff;
  border:1px solid #e3e3e3;
  display:flex;
  flex-direction:column;
  height:100%;
}

.card--child-page .card__link,
.card--works .card__link {
  display:flex;
  flex-direction:column;
  height:100%;
  text-decoration:none;
  color:inherit;
}

.card--child-page .card__thumb img,
.card--works .card__thumb img {
  display:block;
  width:100%;
  height:auto;
}

.card--child-page .card__body,
.card--works .card__body {
  padding:12px 14px 16px;
}

/* 子ページカード専用 */
.card--child-page .card__code {
  font-weight:bold;
  font-size:13px;
  text-align:center;
  margin-bottom:4px;
}

.card--child-page .card__title {
  font-size:14px;
  text-align:center;
  margin:0 0 6px;
  font-weight: 500;
}

.card--child-page .card__copy {
  font-size:12px;
  margin:0 0 8px;
}

.card--child-page .card__spec {
  margin:0;
  font-size:12px;
}

.card--child-page .card__spec-row {
  display:flex;
  justify-content:space-between;
}

.card--child-page .card__spec dt {
  font-weight:bold;
}

.card--child-page .card__spec dd {
  margin:0;
  text-align:right;
}

/* 施工事例カード専用 */
.card--works .card__title {
  font-size:14px;
  /*text-align:center;*/
  margin:0 0 6px;
  font-weight: 500;
}

.card--works .card__excerpt {
  font-size:12px;
  margin:0;
}

/* ===== TOP: ダイワ化成からのお知らせ（旧TOP寄せ） ===== */
.newsIndex {
  margin-top: 16px;
	padding: 1em 0;
	border-top: #e24040 solid 1px;
	border-bottom: #e24040 solid 1px;
 }
 .newsIndex p {
  content: '';
  display: block;
  clear: both;
  text-align: right;
  color: #e24040;
  font-family: cabin;
}
.newsIndex p a:after {
  float: right;
  content: '';
  display: block;
  position: relative;
  top: .4em;
  margin-left: .5em;
  width: .8em;
  height: .8em;
  border-width: 1px;
  border-style: solid;
  border-color: #e24040 #e24040 transparent transparent;
  transform: rotate(45deg);
}

.newsList{
  list-style:none;
  margin:0;
  padding:0;
}
.newsList > li{ border-bottom:1px solid rgba(0,0,0,.12); }
.newsList > li > a{
  display:flex;
  gap:16px;
  align-items:baseline;
  padding:14px 0;
  text-decoration:none;
  color:inherit;
}
.newsList .newsDate{
  flex:0 0 120px;
  opacity:.75;
  font-variant-numeric: tabular-nums;
}
.newsList .newsTitle{
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.newsList > li > a:hover .newsTitle{ text-decoration:underline; }

.newsMore{ margin-top: 12px; }
.newsMore > a{ text-decoration:none; }
.newsMore > a:hover{ text-decoration:underline; }

/* SP: 縦積み */
@media (max-width:767px){
  .newsList > li > a{ flex-direction:column; gap:6px; }
  .newsList .newsTitle{
    white-space:normal;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
  }
}

/* ===== /news/: 一覧（詳しくはこちら付き） ===== */
.newsItem{ padding:18px 0; border-bottom:1px solid rgba(0,0,0,.12); }
.newsItem__title{ margin:0 0 8px; font-size:1.05rem; line-height:1.4; }
.newsItem__date{ display:inline-block; margin-right:10px; opacity:.75; font-variant-numeric: tabular-nums; }
.newsItem__excerpt{ opacity:.9; }
.newsItem__more{ margin-top:10px; }

/* =========================================================
   /news/：News Index テンプレート（.newsItem/.pagination）整形
   ========================================================= */

/* 1カラムの読みやすい幅に（.wrap全体へ影響させない） */
.news-archive{
  max-width: 980px;
  margin: 0 auto;
}

.newsItem{
  padding: 22px 0;
  border-bottom: 1px solid rgba(0,0,0,.12);
}

.newsItem__title{
  margin: 0 0 10px;
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: 600;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: baseline;
}

.newsItem__date{
  opacity: .75;
  font-variant-numeric: tabular-nums;
  flex: 0 0 auto;
}

.newsItem__excerpt{
  opacity: .9;
  line-height: 1.9;
}

.newsItem__more{
  margin-top: 12px;
  text-align: right;
}

.newsItem__more .btnLinkMore{
  display: inline-block;
  text-decoration: none;

  font-weight: 500;
  position: relative;
  padding-right: 1.2em;
}

.pagination{
  margin-top: 24px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.pagination .page-numbers{
  display: inline-block;
  padding: 6px 10px;
  border: 1px solid rgba(0,0,0,.18);
  text-decoration: none;
  line-height: 1;
}

.pagination .page-numbers.current{
  opacity: .7;
}

@media (max-width: 767px){
  .newsItem{ padding: 18px 0; }
  .newsItem__title{ font-size: 1.7rem; }
}

/* =========================================================
   Slick UI overrides (from common.legacy.css)
========================================================= */
.slick-arrow{
  position:absolute;
  top:0;
  bottom:0;
  z-index:3;
  width:52px;
  height:0;
  padding-top:72px;
  overflow:hidden;
  margin:auto;
}
.slick-arrow.slick-disabled{ opacity:.5; }
.slick-arrow:focus{ outline:none; }

.slick-prev{
  left:-4em;
  background: url("/img/arrowLeftBox.png") center no-repeat;
}
.slick-next{
  right:-4em;
  background: url("/img/arrowRightBox.png") center no-repeat;
}

@media (max-width:1200px){
  .slick-prev{ left:-3em; }
  .slick-next{ right:-3em; }
}
@media (max-width:1168px){
  .slick-prev{ left:-2em; }
  .slick-next{ right:-2em; }
}
@media (max-width:1120px){
  .slick-prev{ left:-1em; }
  .slick-next{ right:-1em; }
}
@media (max-width:1090px){
  .slick-prev{ left:0; }
  .slick-next{ right:0; }
}
@media (max-width:1042px){
  .slick-prev{ left:1em; }
  .slick-next{ right:1em; }
}

.captionSlideshow .slick-slide p b{ display:block; }

.slick-dots{
  margin:1em 0;
  display:flex;
  justify-content:center;
}
.slick-dots li{ margin:0 .5em; }
.slick-dots li button{
  height:0;
  overflow:hidden;
  width:.8em;
  padding-top:.8em;
  border-radius:50%;
  background-color:#e6e6e6;
}
.slick-dots li.slick-active button{ background-color:#e24040; }

/* 20181122追加｜スライダー内がアクティブである場合にリンクポインターを表示 */
.slick-active,
.slick-arrow{
  cursor:pointer;
}
.slick-disabled{
  cursor:default !important;
}
