﻿
/* --- ベーススタイル（スマホ・1カラム） --- */

.case-container {
  width: 100%;
  max-width: 1160px;
  margin: 0 auto;
}
.case-item {
  display: flex;
  flex-direction: column-reverse; 
  gap: 24px;
  margin-bottom: 120px;
}
.case-item:last-child{
  margin-bottom: 0;
}
.case-item__image {
  width: 100%;
}
.case-item__image img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  border-radius: 8px;
}
.case-item__text-content {
  width: 100%;
}
.case-item__logo{
  margin-bottom: 21px;
}
.case-item__title {
  font-size: 20px;
  line-height: 1.7;
  margin-bottom: 21px;
  font-weight: 700;
  color: #1E293B;
}
.case-item__excerpt p {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.7;
  color: #334155;
  margin-bottom: 0;
}
.case-item__link-wrap{
  margin-top: 21px;
}
.button-more {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  color: #1E293B;
  font-weight: 400;
}

@media screen and (min-width: 769px) {
.single-case .section{
  padding-top: 24px;
}
  .case-item {
    flex-direction: row; 
    align-items: flex-start;
    gap: 100px;
  }
  .button-more{
    transition: color .3s ease;
  }
  .case-item:hover .button-more{
    color: #004AA6;
  }
  .case-item:nth-of-type(even) {
    flex-direction: row-reverse;
  }
  .case-item__text-content {
    flex: 1;
  }
  .case-item__image {
    flex: 0 0 45%;
    max-width: 517px;
  }
  .case-item__logo{
    margin-bottom: 10px;
  }
  .case-item__title {
    font-size: 24px;
    line-height: 1.6;
    margin-bottom: 32px;
  }
  .case-item__excerpt p {
    font-size: 16px;
  }
  .case-item__link-wrap{
    margin-top: 48px;
  }

}


/* =================================================================
   詳細ページ
================================================================== */

/* 全体のコンテナ */
.case-detail {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 8px;
}
/* ヘッダー周り */
.case-header {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 20px;
  .case-btn-link{
    display: flex;
    align-items: center;
    font-size: 14px;
    font-weight: 400;
    color: #1E293B;
    path{
      fill: #64758B;
    }
  }
  .case-btn-link svg{
    transform: rotate(180deg);
  }
}
.case-featured-img {
  margin-bottom: 24px;
}
.case-featured-img img {
  width: 100%;
  height: auto;
  border-radius: 8px;
}
.case-date {
  display: none;
}

/* 企業情報テーブル */
.case-company-info {
  margin-bottom: 16px;
}
.case-company-meta{
  display: flex;
  align-items: center;
  gap: 10px;
}
.case-company-logo{
  max-width: 84px;
  height: auto;
}
.case-company-name{
  font-size: 14px;
  font-weight: 700;
  color: #334155;
}
.case-title {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 32px;
  line-height: 1.7;
  color:#1E293B;
}
.case-body{
  p{
    font-size: 14px;
    font-weight: 400;
    line-height: 1.7;
    color: #334155;
    margin-bottom: 15px;
    padding: 0 !important;
  }
  h2.wp-block-heading{
    font-size: 20px;
    font-weight: 700;
    color: #1E293B;
    line-height: 1.7;
    margin-top: 100px;
    margin-bottom: 24px;
  }
  h3.wp-block-heading{
    display: inline-flex;
    font-size: 14px;
    font-weight: 700;
    color: #004AA6;
    line-height: 1;
    border-radius: 4px;
    background-color: #EDF2F6;
    padding: 4px 12px;
    margin-bottom: 12px;
    margin-top: 48px;
  }
  .wp-block-heading+*:not(.wp-block-heading){
    padding: 20px 0;
  }
  .wp-block-image img{
    border-radius: 12px;
    max-width: 800px;
  }
}
@media screen and (min-width: 769px) {
  .case-detail {
  padding: 0;
}
/* ヘッダー周り */
  .case-header {
    margin-bottom: 30px;
    padding: 0;
    .case-btn-link{
      font-size: 16px;
      transition: color 0.3s ease;
    }
  }
  .case-btn-link:hover{
    color: #005bac;
  }
  .case-featured-img {
    margin-bottom: 40px;
  }
  .case-featured-img img {
    border-radius: 12px;
  }
  .case-date {
    display: block;
    font-size: 16px;
    color: #666;
    text-align: right;
    margin-top: 8px;
  }
  /* 企業情報テーブル */
  .case-company-info {
    margin-bottom: 10px;
  }

  .case-company-name{
    font-size: 16px;
  }
  .case-title {
    font-size: 32px;
    margin-bottom: 72px;
  }
  .case-body{
    p{
      font-size: 16px;
    }
    h2.wp-block-heading{
      font-size: 24px;
      margin-top: 120px;

    }
    h3.wp-block-heading{
      font-size: 16px;
    }
  }
}