@charset "utf-8";

.page_contents_inner .boufu_inner{
    display: flex !important; /* flexを強制 */
    flex-direction: row-reverse;
    gap: 4%;
    align-items: stretch !important; /* これが「赤い背景」を伸ばす鍵 */
    position: relative;
    
}

.page_contents_inner .boufu_inner .boufu_right h2 span {
    border-bottom: 4px solid #000;
    padding-bottom: 5px;
}

.page_contents_inner .boufu_inner .boufu_right{
    width: 800px;
}


.page_contents_inner .boufu_inner .boufu_right h2 {
  text-align: center;
  font-size: 28px;
  font-weight: 500;
  margin-bottom: 45px;
}


.page_contents_inner .boufu_inner .boufu_right p{
    margin-left: 25px;
	margin-right: 25px;
}

.page_contents_inner .boufu_inner .boufu_right h3{
    color: white;
    background-color: #0052AA;
    font-size: 25px;
    padding: 10px 25px;
    margin-bottom: 30px;
}

.page_contents_inner .boufu_inner .boufu_right .p_mb_1{
    margin-bottom: 95px;
	font-size:18px;
	text-align: justify;
}

.page_contents_inner .boufu_inner .boufu_right .p_mb_2{
    margin-bottom: 30px;
	font-size:18px;
	text-align: justify;
}

.agent-block2{
    margin-left: 25px;
	margin-bottom:50px;
}

.agent-box2{
	display:flex;
	gap:4%;
}

.agent-box2 .text{
	width:60%;
	font-size:18px;
}

.agent-box2 .agent-box{
	width:34%;
}

.agent-block2 .agent-box2 .text p{
	margin-left: 0;
	margin-right:0;
}

.page_contents_inner .boufu_inner .boufu_movie{
    margin-left: 25px;
    margin-right: 25px;
    margin-bottom: 70px;
}

.page_contents_inner .boufu_inner .boufu_movie img{
    width: 100%;

}

.page_contents_inner .boufu_inner .process-title-area {
  display: flex;
  align-items: center;
  gap: 15px;
  width: 100%;
  margin-bottom: 30px;
}

.page_contents_inner .boufu_inner .label-capsule {
  background-color: #000;
  color: #fff;
  font-weight: bold;
  padding: 8px 24px;
  border-radius: 100vh;
  font-size: 1.2rem;
  white-space: nowrap;
  margin-left:25px;
}

.page_contents_inner .boufu_inner .main-title-text {
  margin: 0;
  font-size: 1.5rem;
  font-weight: bold;
  white-space: nowrap;
  letter-spacing: 0.1em;
  color: #000;
}

.page_contents_inner .boufu_inner .title-line {
  flex-grow: 1;
  height: 1px;
  background-color: #333;
  margin-right: 25px;
}

/* スマホ対応 */
@media (max-width: 480px) {
  .page_contents_inner .boufu_inner .process-title-area {
    gap: 10px;
  }
  .page_contents_inner .boufu_inner .label-capsule {
    font-size: 0.9rem;
    padding: 5px 15px;
  }
  .page_contents_inner .boufu_inner .main-title-text {
    font-size: 1.1rem;
  }
}


.page_contents_inner .boufu_inner .process-grid {
  display: flex;
  gap: 20px; /* カード同士の間隔 */
  align-items: stretch; /* すべてのカードの高さを揃える */
  margin-bottom: 95px;
  
      margin-left: 25px;
	margin-right: 25px;
}

.page_contents_inner .boufu_inner .process-item {
  flex: 1; /* 3つの要素を均等幅に */
  display: flex;
  flex-direction: column;
}

.page_contents_inner .boufu_inner .item-header {
  background-color: #c5d3f5; /* 画像に近い薄い青 */
  color: #000;
  text-align: center;
  padding: 10px;
  font-weight: bold;
  font-size: 1.1rem;
}

.page_contents_inner .boufu_inner .item-image img {
  width: 100%;
  height: auto;
  display: block; /* 下に隙間ができないように設定 */
}

.page_contents_inner .boufu_inner .item-body {
  background-color: #ececec; /* 薄いグレーの背景 */
  padding: 20px 15px;
  flex-grow: 1; /* テキスト量に差があっても高さを揃える */
}

.page_contents_inner .boufu_inner .item-body p {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.6;
  text-align: left;
}

@media (max-width: 768px) {
  .page_contents_inner .boufu_inner .process-grid {
    flex-direction: column; /* スマホでは縦並びにする */
    gap: 30px;
  }
}

.page_contents_inner .boufu_inner .agent-container {
  background-color: #ededed; /* グレー背景 */
  padding: 40px 40px 0;
  margin-bottom: 50px;
      margin-left: 25px;
    margin-right: 25px;
}

.page_contents_inner .boufu_inner .agent-grid {
    position: relative;
/*  display: grid;
  grid-template-columns: 1fr 1fr;
*/}

.page_contents_inner .boufu_inner .agent-grid::before {
  display: none; 
}



.boufu_inner .agent-block {
    border-bottom: 1px solid #999;
  }

.boufu_inner .agent-block:last-child{
	border-bottom:none;
	padding-top:40px;
	
}

.boufu_inner .agent-block .agent-box{
	display:flex;
	gap:20px;
	padding-bottom:40px;
}



.page_contents_inner .boufu_inner .agent-block {

  align-items: center;
  position: relative;
  z-index: 1; /* 線よりも上に配置 */
}

/* ラベルの設定：ここが重要です */
.page_contents_inner .boufu_inner .agent-label {
  color: #fff;
  font-weight: bold;
  padding: 8px 0 8px 20px;      /* 左右のパディングは不要（幅で制御するため） */
  border-radius: 50px;
  margin-bottom: 25px;
  white-space: nowrap;
  position: relative;
  font-size: 20px;
  
  /* 幅を固定して中央揃えにする */
  width: 100%;        /* ラベルの横幅をすべて240pxに固定 */
  /*max-width:240px;*/
  text-align: left;
  display: block;      /* margin: 0 auto を効かせるため */
  margin-left: auto;
  margin-right: auto;
}

/* 下の2つのラベルのみ、背景と同じグレーの「座布団」を敷いて線を隠す */
.page_contents_inner .boufu_inner .agent-block:nth-child(3) .agent-label,
.page_contents_inner .boufu_inner .agent-block:nth-child(4) .agent-label {
  /* ラベルの背後にグレーの背景を少し広めに敷く */
  box-shadow: 0 0 0 10px #ededed; 
  background-clip: padding-box;
}

.boufu_inner .label-blue { background-color: #8999c8; }
.boufu_inner .label-green { background-color: #6fb65b; }
.boufu_inner .label-gray { background-color: #999; }

.page_contents_inner .boufu_inner .agent-name {
  font-weight: bold;
  margin-bottom: 15px;
}

.page_contents_inner .boufu_inner .agent-placeholder {
  background-color: #fff;
  width: 100%;
  aspect-ratio: 1.5/1;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 15px;
}



.page_contents_inner .boufu_inner .agent-text {
  /*font-size: 0.8rem;*/
  font-size:18px;
  line-height: 1.6;
  width: 100%;
  text-align: justify;
}

.page_contents_inner .boufu_inner .agent-text-caption{
	font-size: 0.95rem;
	padding: 20px 15px;
}

.page_contents_inner .boufu_inner .agent-image {
  width: 100%;
  /*max-width: 300px;*/
  aspect-ratio: 1.6 / 1;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  margin-bottom: 0;
  /* overflow: hidden; */
}

.page_contents_inner .boufu_inner .agent-image img {
	width:100%;
	height:auto;
  /*
  width: 100%;
  height: 100%;
  object-fit: cover;
  */
}




/* スマホ対応 */
@media (max-width: 768px) {
  .boufu_inner .agent-grid::before, .agent-grid::after { display: none; }
  .boufu_inner .agent-grid { grid-template-columns: 1fr; }
  .boufu_inner .agent-block { border-bottom: 1px solid #999; padding: 30px 20px; }
  .boufu_inner .agent-block:last-child { border-bottom: none; }
  .boufu_inner .agent-block:nth-child(3) .agent-label,
  .boufu_inner .agent-block:nth-child(4) .agent-label { box-shadow: none; }
}




.page_contents_inner .boufu_inner .spec-table {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  border-collapse: collapse; /* 枠線を1本にする */
  font-family: sans-serif;
  table-layout: fixed; /* 列の幅を均等にする */
  font-size:18px;
}

/* 上部ヘッダー（グレー） */
.page_contents_inner .boufu_inner .spec-table thead th {
  background-color: #e0e0e0;
  padding: 15px;
  /* border: 1px solid #999; */
  font-weight: bold;
  text-align: center;
  border-right: 1px solid #fff;
  vertical-align: middle;
}

/* 左上の空欄（境界線を消して背景を馴染ませる場合） */
.page_contents_inner .boufu_inner .spec-table thead th:first-child {
  background-color: #e0e0e0;
  border-right: 1px solid #fff; /* 中央の白線を強調 */
}

/* 左側ヘッダー（薄い青） */
.page_contents_inner .boufu_inner .side-header {
  background-color: #d1e1f7;
  font-weight: bold;
  width: 20%; /* 項目の幅を調整 */
  text-align: center;
  vertical-align: middle;
}

/* データセル */
.page_contents_inner .boufu_inner .spec-table td {
  padding: 15px;
  /* border: 1px solid #999; */
  text-align: center;
  line-height: 1.6;
  vertical-align: middle;
}

/* 中央の太い白線を再現（1列目と2列目の間） */
.page_contents_inner .boufu_inner .spec-table th:nth-child(1),
.page_contents_inner .boufu_inner .spec-table td:nth-child(1) {
  /* border-right: 1px solid #fff; */
  border-left: 1px solid #fff; 
}

/* 全体の枠線 */
.page_contents_inner .boufu_inner tbody {
  border: 1px solid #999;
}

.page_contents_inner .boufu_inner tbody td{
  border: 1px solid #999;
}

.t_text_left{
	text-align:left!important;
}

.bg-gray{
	background-color: #e0e0e0!important;
}

.bg-blue{
	background-color: #d1e1f7!important;
}

/* レスポンシブ対応：スマホで横スクロール可能にする */
@media screen and (max-width: 600px) {
  .page_contents_inner .boufu_inner .spec-table {
    display: block;
    overflow-x: auto;
    /*white-space: nowrap;*/
  }
}

.page_contents_inner .boufu_inner .table-wrapper {
  width: calc(100% - 50px);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
	margin-left: 25px;
	margin-right: 25px;
}

.boufu_inner .table-wrapper{
    margin-bottom: 70px;
}


.boufu_inner .label-aac {
  /* インラインブロック化して文字量に合わせる */
  display: inline-block;
  
  /* 背景色（画像から抽出した青灰色） */
  background-color: #7a8ebf;
  
  /* 文字装飾 */
  color: #ffffff;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: bold;
  font-size: 18px;
  line-height: 1;

  margin-left: 25px;
  
  /* 余白（上下 左右） */
  padding: 12px 30px;
  
  /* 角を丸める（カプセル型） */
  border-radius: 9999px;
  
  /* 文字の滑らかさ（任意） */
  -webkit-font-smoothing: antialiased;
}

.boufu_inner .label-aac.is-tanaris {
  background-color: #58B54B; /* ここにお好きな色コードを入れてください */
  /* 文字色も変えたい場合はここに追加 */
  /* color: #ffffff; */
}

/* タナリスCY用の色指定（ラベルとヘッダー共通） */
.boufu_inner .label-aac.is-tanaris,
.boufu_inner .card-header-bar.is-tanaris {
  background-color: #58B54B; /* ラベルとヘッダーを同じ色に設定 */
}

/* もし、カード内のタイトル下線の色も変えたい場合 */
.boufu_inner .case-card:has(.is-tanaris) .card-main-title {
  border-bottom-color: #58B54B;
}

/* --- 全体コンテナ --- */
.boufu_inner .case-study-section {
  padding: 40px 25px;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  color: #333;
}

/* --- 01. 見出しラベル（カプセル型） --- */
.boufu_inner .case-label {
  display: inline-block;
  background-color: #7a8ebf;
  color: #ffffff;
  font-weight: bold;
  font-size: 18px;
  padding: 10px 30px;
  border-radius: 9999px;
  margin-bottom: 40px;
}

/* --- 02. カードの並び（Flexbox） --- */
.boufu_inner .case-card-container {
  display: flex;
  gap: 30px;
  justify-content: flex-start;
  flex-wrap: wrap; /* スマホで縦に並ぶ */
}

/* --- 03. カード本体 --- */
.boufu_inner .case-card {
  width: 47%; /* カードの最大幅 */
  border: 2px solid #a0a0a0;
  background-color: #ffffff;
  box-sizing: border-box;
}

/* カード上部の青いバー */
.boufu_inner .card-header-bar {
  background-color: #7a8ebf;
  color: #ffffff;
  padding: 12px 20px;
  font-weight: bold;
  font-size: 18px;
}

/* カードの中身の余白 */
.boufu_inner .card-inner {
  padding: 30px 25px;
  display: flex;
  flex-direction: column;
}

/* 画像エリア */
.boufu_inner .card-img-wrapper {
  width: 100%;
  margin-bottom: 25px;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.boufu_inner .card-img-wrapper img {
  width: 80%;
  height: auto;
  text-align: center;
}

/* カード内のタイトル（divで作成） */
.boufu_inner .card-main-title {
  display: block;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
  padding-bottom: 8px;
  border-bottom: 2px solid #7a8ebf;
  line-height: 1.4;
}

/* 説明文 */
.page_contents_inner .boufu_inner p.card-description {
  font-size: 18px;
  line-height: 1.6;
  margin-bottom: 20px;
  text-align: left;
  margin-left: 15px;
  overflow-wrap: break-word; /* 基本はこれ */
  word-break: break-all;
  text-align: justify;
}
.boufu_inner .card-description.small-text {
  font-size: 14px;
}

/* PDFリンクエリア */
.boufu_inner .card-pdf-area {
  margin-top: auto; /* コンテンツが短くても下部に固定 */
}
.boufu_inner .pdf-button {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  color: #000;
  font-weight: bold;
}
.boufu_inner .pdf-button span {
  border-bottom: 1px solid #000; /* テキストのみに下線 */
  margin-left: 8px;
}
.boufu_inner .pdf-icon {
  width: 28px;
  height: auto;
}



/* --- 04. レスポンシブ調整（スマホ） --- */
@media (max-width: 768px) {
  .boufu_inner .case-card-container {
    justify-content: center;
  }
  .boufu_inner .case-card {
    max-width: 100%;
  }
  .boufu_inner .case-label {
    font-size: 16px;
  }
}


/* リスト全体のスタイル */
.boufu_inner .pdf-list-container {
  max-width: 500px;
  margin: 20px 0 70px 25px;
  font-family: sans-serif;
}

.boufu_inner .pdf-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* 各行のスタイル */
.boufu_inner .pdf-item,
.boufu_inner .link-item {
  border-bottom: 1px solid #a0a0a0; /* 下の区切り線 */
  padding: 10px 0;
}

.boufu_inner .pdf-link,
.boufu_inner .link-link {
  display: flex;
  justify-content: space-between; /* テキストとアイコンを両端に */
  align-items: center;
  text-decoration: none;
  color: #000;
  transition: opacity 0.2s;
}

.boufu_inner .pdf-link:hover,
.boufu_inner .link-link:hover {
  opacity: 0.7;
}

/* タイトルと丸マークのグループ */
.boufu_inner .pdf-title-group,
.boufu_inner .link-title-group {
  display: flex;
  align-items: center;
  flex: 1;
  padding-right: 20px;
}

/* 青い丸（または緑の丸） */
.boufu_inner .pdf-marker,
.boufu_inner .link-marker  {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background-color: #7a8ebf; /* デフォルト：青 */
  flex-shrink: 0; /* 丸が潰れないように固定 */
  margin-right: 15px;
}

/* 色変え用クラス */
.boufu_inner .pdf-marker.is-tanaris,
.boufu_inner .link-marker.is-tanaris {
  background-color: #0052AA; /* タナリス用の緑 */
}

/* テキスト部分 */
.boufu_inner .pdf-item-text,
.boufu_inner .link-item-text {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.4;
  word-break: break-all; /* ●●●などの連続貫通対策 */
}

/* PDFアイコン LINKアイコン*/
.boufu_inner .pdf-icon-img,
.boufu_inner .link-icon-img {
  width: 32px;
  height: auto;
  flex-shrink: 0;
}

/* スマホ調整 */
@media (max-width: 480px) {
  .boufu_inner .pdf-item-text,
  .boufu_inner .link-item-text {
    font-size: 15px;
  }
  .boufu_inner .pdf-marker,
  .boufu_inner .link-marker {
    width: 10px;
    height: 10px;
    margin-right: 10px;
  }
}




.page_contents_inner .boufu_inner .relation_site h4{
  font-size: 28px;
  font-weight: 500;
  margin-bottom: 25px;
}



/* お問い合わせセクション全体 */
.boufu_contact .contact-section {
  width: 100%;
  background-color: #e8f1f9; /* 薄い水色の背景 */
  padding: 60px 20px;
  box-sizing: border-box;
  text-align: center;
  font-family: sans-serif;
}

.boufu_contact .contact-inner {
  max-width: 1000px;
  margin: 0 auto;
}

/* セクションタイトル */
.boufu_contact .contact-title {
  display: inline-block;
  font-size: 24px;
  font-weight: bold;
  padding-bottom: 10px;
  margin-bottom: 20px;
  border-bottom: 3px solid #000; /* 太い下線 */
  line-height: 1.4;
}

/* リード文 */
.boufu_contact .contact-lead {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 40px;
  line-height: 1.6;
}

/* ボタンの並び（横並び） */
.boufu_contact .contact-btn-group {
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap; /* スマホで縦並びにする */
}

/* ボタン共通設定 */
.boufu_contact .contact-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 320px; /* ボタンの幅 */
  height: 70px;
  border-radius: 8px;
  text-decoration: none;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  transition: opacity 0.3s;
  position: relative;
}

.boufu_contact .contact-btn:hover {
  opacity: 0.8;
}

/* 青ボタン（お問い合わせ） */
.boufu_contact .btn-blue {
  background-color: #0055aa;
}

/* 緑ボタン（資料請求） */
.boufu_contact .btn-green {
  background-color: #009944;
}

/* 右側の矢印アイコン */
.boufu_contact .arrow {
  font-size: 12px;
  margin-left: 15px;
}

/* スマホ対応 */
@media (max-width: 768px) {
  .boufu_contact .contact-title {
    font-size: 20px;
  }
  .boufu_contact .contact-btn {
    width: 100%; /* スマホではボタンを全幅に */
    max-width: 400px;
  }
}

.page-specific .page_contents {
  margin-bottom: 0;
}





/* 3. サイドバーの通り道 */
.page_contents_inner .boufu_inner .boufu_left {
    width: 250px;
    /* background-color: #F2F2F2; */
    position: relative; /* 子要素stickyの基準 */
    flex-shrink: 0;
  /* 重要：親要素に高さがないとstickyは効きません。
     右側のメインコンテンツと同じ高さになるようにしてください */
    height: auto; 
}

/* 4. サイドバー本体（sticky発動） */
.boufu_inner .side-nav-container {
    position: -webkit-sticky;
    position: sticky;
    
    top: 20px; /* 画面の一番上からどれくらい空けて止まるか */
    z-index: 10;
    align-self: flex-start; /* 自身の高さで固定するために必須 */
    
    /* デザイン設定（変更なし） */
    width: 100%;
    border: 2px solid #0055aa;
    background-color: #fff;
    box-sizing: border-box;
}

/* ==========================================================================
   デザインパーツ（以前修正した数値をそのまま維持）
   ========================================================================== */

/* 見出し設定 */
.page_contents_inner .boufu_inner .boufu_right h2 span {
    border-bottom: 4px solid #000;
    padding-bottom: 5px;
}
.page_contents_inner .boufu_inner .boufu_right {
    width: 950px;
}
.page_contents_inner .boufu_inner .boufu_right h2 {
    text-align: center;
    font-size: 28px;
    font-weight: 500;
    margin-bottom: 45px;
}
.page_contents_inner .boufu_inner .boufu_right h3 {
    color: white;
    background-color: #0052AA;
    font-size: 25px;
    padding: 10px 25px;
    margin-bottom: 30px;
}


/* 事例カード（修正した2列維持設定） */
.boufu_inner .case-card-container {
    display: flex;
    gap: 4%; 
    justify-content: space-between;
    flex-wrap: wrap;
}
.boufu_inner .case-card {
    width: 47%; /* 2列維持のために調整 */
    border: 2px solid #a0a0a0;
    background-color: #ffffff;
    box-sizing: border-box;
    margin-bottom: 20px;
}

/* サイドバー本体 */
.boufu_inner .side-nav-container {
    /* position: sticky 等は削除 */
    width: 100%;
    border: 2px solid #0055aa;
    background-color: #fff;
    box-sizing: border-box;
    z-index: 100; /* 重なり順を一番上に */
}

/* スマホの時はJSの固定を無効化したい場合（メディアクエリ） */
@media (max-width: 768px) {
    .boufu_inner .side-nav-container {
        position: static !important; /* JSの指定を強制的に上書き */
        width: 100% !important;
        margin-bottom: 40px;
    }
}

.boufu_inner .side-nav-header{
    color: white;
    background-color: #0055aa;
    font-size: 18px;
    padding: 10px;
}

.boufu_inner .side-nav-list{
    padding: 5px 10px;
}

.boufu_inner .side-nav-list li{
    border-bottom: 2px solid #0055aa;
    padding: 10px 0;
}

.boufu_inner .side-nav-list li:last-child {
    border-bottom: none;
}

.boufu_inner .side-nav-item a {
    font-size: 14px;
    position: relative;
    display: flex;
    align-items: center;
    padding: 10px 20px 10px 0px; /* 左側にも余白を作ると背景色がきれいに見えます */
    color: #333;
    text-decoration: none;
    background-color: transparent; /* 初期状態は透明 */
    
    /* 背景色と文字色の変化を滑らかにする */
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* マウスオーバー時のスタイル */
.boufu_inner .side-nav-item a:hover {
    background-color: #e6f2ff; /* 画像のような薄い水色 */
}

/* 矢印（通常時） */
.boufu_inner .side-nav-item a::after {
    content: "";
    position: absolute;
    right: 15px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #0055aa;
    border-right: 2px solid #0055aa;
    transform: rotate(45deg);
    
    /* 矢印の位置移動を滑らかにする */
    transition: right 0.3s ease;
}

/* マウスオーバー時の矢印の動き */
.boufu_inner .side-nav-item a:hover::after {
    right: 10px; /* 5px分、左へスライド（右からの距離を縮める） */
}


/* 1180px以下でサイドバーを消し、中身を広げる設定 */
@media screen and (max-width: 1180px) {
    
    /* 1. サイドバー（親）を完全に消す */
    .boufu_inner .boufu_left {
        display: none !important;
    }

    /* 2. JavaScriptが制御しているナビゲーション自体も強制的に消す */
    .boufu_inner .side-nav-container {
        display: none !important;
        position: static !important;
        width: 0 !important;
    }

    /* 3. 横並び（flex）を解除して、右側コンテンツを100%に広げる */
    .boufu_inner .boufu_inner {
        display: block !important; /* flexを解除 */
    }

    .boufu_inner .boufu_right {
        width: 100% !important;
        margin-left: 0 !important;
        padding-left: 0 !important;
    }

    /* 4. コンテンツ全体のパディングを調整（必要に応じて） */

}

@media screen and (max-width: 890px) {
	
	.page_contents_inner .boufu_inner .agent-grid::before,
	.page_contents_inner .boufu_inner .agent-grid::after {
		display:none;
	}
	
	 .page_contents_inner .boufu_inner .agent-grid {
		grid-template-columns: 1fr;
	 }
	 
	 .page_contents_inner .boufu_inner .agent-container {
		padding: 0px;
		
				margin-left:0;
		margin-right:0;
	}
	
	.page_contents_inner .boufu_inner .agent-block:nth-child(1),
	.page_contents_inner .boufu_inner .agent-block:nth-child(2) {
		margin-left:0;
		margin-right:0;
		margin-bottom:0;
	}
	
	.boufu_inner .case-study-section {
		padding: 40px 0;
	}
	
	.page_contents_inner .boufu_inner .spec-table .font-ta-ttl{
		font-size:14px;
	}
	
}

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

    .page_contents_inner .boufu_inner .boufu_right h2{
        font-size: 20px;
        margin-bottom: 40px;
    }

    .page_contents_inner .boufu_inner .boufu_right h3 {
		font-size: 20px;
		padding: 10px 25px;
		margin-bottom: 30px;
	}
	
	.page_contents_inner .boufu_inner .boufu_right .p_mb_1 {
		font-size:16px;
		margin-bottom:30px;
		margin-right:0;
	}
	
	.page_contents_inner .boufu_inner .boufu_right .p_mb_2 {
		font-size:16px;
		margin-right:0;
	}
	
	.page_contents_inner .boufu_inner .boufu_right p{
		margin-left: 0;
		margin-right:0;
	}
	
	.page_contents_inner .boufu_inner .boufu_movie {
		margin-left: 0px;
		margin-right: 0px;
		margin-bottom: 30px;
	}
	
	.page_contents_inner .boufu_inner .title-line {
		display:none;
	}
	
	.page_contents_inner .boufu_inner .process-title-area {
		margin-left:15px;
		margin-right:15px;
	}
	
	.page_contents_inner .boufu_inner .process-grid {
		margin-bottom: 50px;
		margin-left:0;
		margin-right:0;
	}

	
	
	 .boufu_inner .case-card-container {
		flex-direction: column; 
	}
	
	 .boufu_inner .case-card {
		width: 100%;
	}
	
	.boufu_inner .label-aac {
		width:100%;
		margin-left:0;
	}
	
	.boufu_inner .pdf-list-container {
		max-width: 100%;
		margin-left:0;
	}
	
	.boufu_inner .relation_site {
		border: none;
		padding: 0;
	}
	
	.page_contents_inner .boufu_inner .relation_site h4 {
		font-size:20px;
	}
	
	.boufu_inner .relation_site img{
		width:80%;
	}
	
	 .sp_boufu_br {
		display: block;
		content: "";
		margin-top: -20px; /* 必要に応じてマイナス値を調整してください */
	}
	
	
	.page_contents_inner .boufu_inner .label-capsule {
		margin-left: 0;
	}
	
}

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

.page_contents_inner .boufu_inner .agent-image {
	margin-left:auto;
	margin-right:auto;
	margin-bottom:20px;
}

.boufu_inner .agent-block .agent-box {
  width: 100%;
  display: block;
  padding-bottom: 0;
}

 .boufu_inner .agent-block {
    padding: 30px 20px;
  }

}


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

	
.agent-block2 {
  margin-left: 0;
}	
	
.agent-box2 {
	display: block;
}

.agent-box2 .text {
  width: 100%;
  margin-bottom:20px;
  font-size:16px;
}

.page_contents_inner .boufu_inner .agent-text{
	font-size: 16px;	
}


.page_contents_inner .agent-box .agent-text-caption {
	font-size: 0.95rem;
	padding-top:0;
}



.page_contents_inner .boufu_inner .spec-table {
	  font-size:16px;
}

.page_contents_inner .boufu_inner p.card-description {
	  font-size:16px;	
}

.boufu_inner .agent-block .agent-box {
  display: block; 
}

.font-m {
  font-size: 18px;
}

.agent-box2 .agent-box {
  width: 100%;
}


}

/* 加圧注入 */

.pressure_injection{
	margin-bottom:50px;
}


.pressure_injection img{
	width:100%;
	height:auto;
}


.boufu-bougi_page .page_contents_inner {
  padding-left: 25px;
  padding-right: 25px;
}

@media screen and (max-width: 767px) {
.boufu-bougi_page .page_contents_inner {
  padding-left: 0;
  padding-right: 0;
}

}

.sp-ttl-spec-table{
	display:none;
}

@media screen and (max-width: 768px) {
	
	.sp-ttl-spec-table{
		display:block;
		margin-bottom:20px;
		font-weight:bold;
	}
	
    /* テーブルの構造を解除 */
    .spec-table, 
    .spec-table thead, 
    .spec-table tbody, 
    .spec-table th, 
    .spec-table td, 
    .spec-table tr {
        display: block;
        width: 100% !important;
        box-sizing: border-box; /* 幅の計算を正確に */
    }

    /* PC用のヘッダーは隠す */
    .spec-table thead {
        display: none;
    }

    .spec-table tr {
        margin-bottom: 30px; /* カードごとの隙間 */
        border: 1px solid #ccc;
        background: #fff;
    }

    .spec-table td {
        padding: 10px 15px; /* 内側の余白 */
        border: none;
        border-bottom: 1px solid #eee;
        text-align: left;
		
		text-align: left !important; 
        box-sizing: border-box;
    }

    /* 共通：ラベル（見出し）のスタイル */
    .spec-table td::before {
        display: block; /* ブロック化して上に積む */
        font-weight: bold;
        font-size: 0.85em;
        color: #666;
        margin-bottom: 5px; /* 本文との隙間 */
    }

    /* 1列目（K1など）をタイトル風にする */
    .spec-table td:nth-of-type(1) {
        background: #e0e0e0; /* グレーの背景 */
        font-weight: bold;
        font-size: 1.1em;
        text-align: center;
    }
    .spec-table td:nth-of-type(1)::before {
        content: "JAS区分";
        font-size: 0.7em;
        margin-bottom: 2px;
    }

    /* 各セルのラベルを設定 */
    /*.spec-table td:nth-of-type(2)::before { content: "保存処理木材の使用状態"; }*/
    .spec-table td:nth-of-type(3)::before { content: "具体的内容"; }
    .spec-table td:nth-of-type(4)::before { content: "AQ性能区分"; }

    /* 最後のセルの線は不要 */
    .spec-table td:last-child {
        border-bottom: none;
    }
	
	
	.page_contents_inner .boufu_inner tbody {
		border: none;
	}
	
	.page_contents_inner .boufu_inner .spec-table th:nth-child(1),
	.page_contents_inner .boufu_inner .spec-table td:nth-child(1) {
		border-right: none;
		border-left: none;
	}
	
	.page_contents_inner .boufu_inner tbody td {
		border: none;
	}
}

.sp-spec-table{
	display:none;
}

.pc-spec-table{
	display:block;
}

@media screen and (max-width: 768px) {
	
	.pc-spec-table{
		display: none;
	}
	
	.sp-spec-table{
		display: block;
	}
	

	
    /* テーブル全体の解除 */
    .spec-table-2, 
    .spec-table-2 tbody, 
    .spec-table-2 tr, 
    .spec-table-2 td {
        display: block;
        width: 100% !important;
    }
	
	.spec-table-2 tr{
		border: 1px solid #ccc;
	}

    .spec-table-2 thead {
        display: none; /* ヘッダーを隠す */
    }

    /* 製品ごとの塊（ブロック）の設定 */
    .product-group {
        margin-bottom: 30px;
        border: 1px solid #ccc;
        background: #fff;
        display: block;
    }

    /* 製品名（薄紫のヘッダー部分） */
    .spec-table-2 td.product-name {
        background: #d1e1f7; 
        font-weight: bold;
        text-align: center;
        padding: 15px;
        font-size: 1.2em;
        border-bottom: 1px solid #ccc;
    }

    /* 各データ行 */
    .spec-table-2 td:not(.product-name) {
        padding: 10px 15px;
        border-bottom: 1px solid #eee;
        position: relative;
    }

    /* ラベル（主成分、認定番号など） */
    .spec-table-2 td:not(.product-name)::before {
        content: attr(data-label); /* HTMLのdata-labelを表示 */
        display: block;
        font-weight: bold;
        font-size: 0.85em;
        color: #666;
        margin-bottom: 5px;
    }

    .spec-table-2 td:last-child {
        border-bottom: none;
    }
	
	
	
}

/* youtube */

.hero-video {
  width: 100%;                /* 親要素の幅いっぱいに広げる */
  max-width: 800px;           /* 必要であれば最大幅を制限 */
  margin: 0 auto;             /* 中央寄せ */
}

.hero-video iframe {
  width: 100%;                /* コンテナの幅いっぱいに */
  aspect-ratio: 16 / 9;       /* 16:9の比率を固定 */
  height: auto;               /* 高さを自動調整 */
}
