@charset "utf-8";

/* ==================================================
elements
================================================== */
a {
  text-decoration: none; /* デフォルトリンクの下線を消す */
}

/* ==================================================
section
================================================== */
.cntSec {
  padding: 0 0 0;
}
.cntSec_inner {
  padding: 0 20px;
}
.bgCnt {
  background-image: url(/common/images/bg_white.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: top left;
}

.newsPage {
  padding-top: 35px;
}

/* ==================================================
MV
================================================== */
.newsPage .mv {
  position: relative;
  height: 156px;
  background: #333333;
  background-image: url(/common/images/bg_black.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  margin-top: 58px; /* ヘッダー高さ分の余白 */
  z-index: 0;
}

.newsPage .mv_title {
  position: absolute;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #fff;
  top: 50%;
  transform: translateY(-50%);
  left: 20px;
  z-index: 1;
}

/* ==================================================
backnumber
================================================== */
.backnumber {
  margin-bottom: -16px;
}
.backnumber_text {
  font-size: 14px;
  line-height: 1.71;
}
.backnumber_list {
  display: flex;
  flex-direction: column;
  gap: 10px 0;
  margin-top: 20px;
}
.backnumber_item {
  flex: 1;
}
.backnumber_link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: #fff;
  color: #333333;
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  line-height: 1.5;
  min-height: 72px;
  padding: 8px 35px;
  transition: 500ms;
  text-decoration: none; /* 下線消す */
}
.backnumber_link::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    45deg,
    rgba(100, 124, 163, 1) 0%,
    rgba(240, 192, 179, 1) 53%,
    rgba(220, 157, 157, 1) 75%,
    rgba(224, 215, 216, 1) 100%
  );
  opacity: 0;
  transition: opacity 0.4s ease;
  z-index: 0;
  pointer-events: none;
  border-radius: 8px;
}
.backnumber_link:hover::before,
.backnumber_link:focus::before {
  opacity: 0.5;
}
.backnumber_link > * {
  position: relative;
  z-index: 1;
}
.backnumber_link::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  border: 2px solid #CCCCCC;
  pointer-events: none;
  border-radius: 8px;
  transition: border-color 400ms;
}
.backnumber_link:hover::after {
  border: transparent;
}

.backnumber_linkIcon {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
}
.backnumber_linkIcon::after {
  content: '';
  display: block;
  background-repeat: no-repeat;
  background-size: 100% auto;
}

/* 矢印アイコン */
.backnumber_linkIcon-arrow::after {
  background-image: url(/common/images/icon_right.svg);
  width: 11px;
  height: 16px;
}
/* PDFイコン */
.backnumber_linkIcon-pdf::after {
  background-image: url(/common/images/icon_pdf.svg);
  width: 16px;
  height: 16px;
}
/* 別タブアイコン */
.backnumber_linkIcon-blank::after {
  background-image: url(/common/images/icon_blank.svg);
  width: 16px;
  height: 16px;
}

/* ==================================================
スマホ用：画面幅767px以下
================================================== */
@media screen and (max-width: 767px) {

  /* 事例紹介リストは縦並びに */
  .caseList {
    display: block;
    max-width: 100%;
    padding: 0 20px;
  }

  .caseItem {
    width: 100% !important;
    flex: none;
    margin-bottom: 24px;
    text-align: center;
  }

  .caseThumb img {
    width: 100%;
    max-width: 240px;
    height: auto;
    margin: 0 auto;
    display: inline-block;
  }

  .caseTitle,
  .caseText {
    margin-left: 0;
    margin-right: 0;
    text-align: center;
  }

  .caseLinkBtn {
    width: 100% !important;
    max-width: none;
    padding: 12px 0;
    text-decoration: none; /* 下線消す */
  }

  /* 一覧に戻るボタン */
  .caseDetail_backBtn {
    display: block;
    width: 100%;
    max-width: none;
    padding: 12px 0;
    margin: 16px auto;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    color: #333;
    background: #fff;
    text-decoration: none; /* 下線消す */
  }
  .caseDetail_backBtn::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
      45deg,
      rgba(100, 124, 163, 1) 0%,
      rgba(240, 192, 179, 1) 53%,
      rgba(220, 157, 157, 1) 75%,
      rgba(224, 215, 216, 1) 100%
    );
    opacity: 0;
    transition: opacity 0.4s ease;
    z-index: 0;
    pointer-events: none;
    border-radius: 8px;
  }
  .caseDetail_backBtn:hover::before,
  .caseDetail_backBtn:focus::before {
    opacity: 0.5;
  }
  .caseDetail_backBtn > * {
    position: relative;
    z-index: 1;
  }

  /* タイトル・本文調整 */
  .caseTitle {
    font-size: 18px;
    font-weight: 600;
    margin: 12px 0 8px;
    text-align: left;
    color: #333;
  }
  .caseText {
    font-size: 14px;
    color: #666;
    text-align: left;
    margin: 0 0 12px;
  }

  /* 全体文字 */
  .cntSec_inner,
  .caseList,
  .caseTitle,
  .caseText {
    font-family: "ヒラギノ角ゴ ProN","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
    font-weight: normal;
    line-height: 1.5;
    color: #333333;
  }

  /* 見出し・段落 */
  .cntSec_inner h2 {
    font-size: 20px;
    font-weight: 600;
    margin: 20px 0 12px;
    color: #333333;
  }
  .cntSec_inner p {
    margin: 0 0 12px;
    text-align: left;
  }
  .cntSec_inner ul,
  .cntSec_inner ol {
    margin: 0 0 12px 20px;
  }

  /* 見出し装飾 */
  h2, h3 {
    border-left: 4px solid #E29191;
    padding-left: 10px;
    margin-bottom: 10px;
    font-weight: 600;
    color: #333;
  }
  p {
    margin-bottom: 1em;
    line-height: 1.6;
    color: #333;
    font-size: 16px;
  }

}

/* 事例詳細ページの見出し */
.caseDetail h2 {
  border-left: 4px solid #E29191;
  padding-left: 10px;
  margin-bottom: 10px;
  font-weight: 600;
  color: #333;
}

@media screen and (max-width: 767px) {

  /* 吹き出し全体 */
  .talkRow {
    display: flex;
    flex-direction: column; /* 縦並び */
    margin-bottom: 12px;
  }

  /* 自分の吹き出し（回答者1） */
  .talkRow.answer .talkText {
    background-color: #f0f8ff; /* 水色 */
    color: #000;
    padding: 8px 12px;
    border-radius: 12px;
    max-width: 100%;
    word-wrap: break-word;
    box-sizing: border-box;
    margin-bottom: 6px;
  }

  /* 相手の吹き出し（回答者2） */
  .talkRow.question .talkText {
    background-color: #fff0f0; /* ピンク */
    color: #000;
    padding: 8px 12px;
    border-radius: 12px;
    max-width: 100%;
    word-wrap: break-word;
    box-sizing: border-box;
    margin-bottom: 6px;
  }

  /* 吹き出し内リンク */
  .talkText a {
    color: #007acc;
    text-decoration: underline;
    word-break: break-all;
  }

  /* 吹き出し内強調 */
  .talkText strong {
    font-weight: bold;
  }

  /* 吹き出しアイコン */
  .talkIcon img {
    width: 36px;
    height: 36px;
  }

  /* case detail intro を記事タイトル風に */
  .caseDetail .intro {
    font-size: 20px;
    font-weight: bold;
    color: #333333;
    margin-bottom: 12px;
    line-height: 1.3;
  }

  /* 質問文タイトルの背景リセット */
  .talkRow.question h2,
  .talkRow.question .title {
    background-color: transparent !important;
    color: #333333; /* 必要に応じて文字色 */
    font-weight: bold;
  }
}
@media screen and (max-width: 767px) {
  /* 質問文：背景なし（PC版と合わせる） */
  .talkRow.question .talkText {
    background: none;
    color: #333;
    font-weight: 700;
    padding: 0;
    margin-bottom: 8px;
  }

  /* 回答者1：淡いピンク */
  .talkRow.answer1 .talkText {
    background-color: #fff3f5;
    color: #333;
    padding: 12px 16px;
    border-radius: 12px;
  }

  /* 回答者2：淡いブルー */
  .talkRow.answer2 .talkText {
    background-color: #f0f6ff;
    color: #333;
    padding: 12px 16px;
    border-radius: 12px;
  }
}