/* 黄色マーカー 太字、または太字に下線を引いていたような要素の代わり
<span class="marker"></span>*/
.marker {
display: inline;
background: linear-gradient(transparent 50%, #fff596 50%);
}


/*赤色下線　(<u> 下線の代わり)　※基本的には 赤字の注意喚起と併せて使う 
<p class="u-red"></p>*/
.u-red {
text-decoration:underline;
text-decoration-color: #dc3545;
color: #dc3545;
}


/*注意喚起の赤枠 ※div に対してclass付与する
<div class="frame-caution"> </div>*/
.frame-caution {
border: 2px solid #dc3545;
background-color: #fff4f6;
padding : 1em;
margin: 1.5em 0;
}


/*インフォメーションの青枠 ※div に対してclass付与する*/
.frame-info {
border: 2px solid #78bbd7;
background-color: #f1fbff;
padding : 1em;
margin: 1.5em 0;
}


/*問合わせの際に教えてほしい情報の緑枠 ※div に対してclass付与する
<div class="frame-require"> </div>*/
.frame-require {
border: 2px solid #f19071;
background-color: #fff7f5;
padding : 1em;
margin: 1.5em 0;
}


/*その他用の灰色枠 ※div に対してclass付与する
<div class="frame-other"> </div>*/
.frame-other {
border: 2px solid #dcd2cb;
background-color: #fafafa;
padding : 1em;
margin: 1.5em 0;
}

/*枠の中身を消さないようにするための p
<p class="frame-inside"> </div>*/

.frame-in {
	margin-bottom:0;
}


/* h3 中見出し (カスタムフィールド内での使用) 
<h3 class="t-subtit""> </h3>"*/
.t-subtit {
	margin: 0;
  padding: 5px 20px 5px 0;/* padding-left を 0に変更し行頭揃え */
  font-family: "Noto Sans JP";
  font-weight: bold;
  font-size: 22px;
  text-align: left;
  color: #172d74;
}


/*小見出し ※文頭に青い線 【】の代わり
<h4 class="subhead"> </h4>*/
.subhead{  
padding:.25em .5em .25em 1em;
margin-top:.5em;
margin-bottom:1em;
border-left: #172d74 solid 10px;
font-size: 1.2em;
}

/*製品種類装飾 ※文頭に青い四角 
<h5 class="lineup"> </h5>*/

.lineup {
    font-weight: bold;
	margin-top:.5em;
	margin-bottom:1em;
	padding:.5em 0;
}

.lineup::before{
    content: "■";
    color: #172d74;
    padding-right:.5em;
}


/*主な用途・機能・特徴 ※青い二重下線
<h6 class="features"> </h6>*/
.features {
    border-bottom: #172d74 double;
	padding-bottom:3px;
    display: inline-block;
	margin-top:.5em;
	margin-bottom:1em;
}

/* 外部リンクの末尾にアイコン付与 ※自動*/
.externalLink::after {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
	margin-left:.5em;
  background-image: url(/wp-content/uploads/external-links-icon.png);
  background-size: contain;
  vertical-align: middle;
}


/* 本製品の提供は研究用途のみに限定されます*/
.research-only {
  display: inline-block;
	padding:.5em 1em;
	background-color:#d54656;
	color:#fff;
	font-weight:bold;
}

/* 段落の最後のmargin 削除*/
.mb-0 {
	margin-bottom:0 !important;
}


.mb-2x {
	margin-bottom: 60px !important;
}

.mb-3x {
	margin-bottom: 90px !important;
}


/* 以下テガカリ用の css */

/* toc 表示調整 */

#toc_container ul li{
	padding-top:.8em;
}


/* 下部枠 商品ページリンク */

.tegakari-products-link {
	margin-bottom:2em;
	display:inline-block;
}

/* 下部枠 商品ページリンク */

.tegakari-products-link {
	margin-bottom:2em;
	display:inline-block;
}

/* 既存 class 引継ぎ */

p.ps1{
   margin-bottom: 1em!important;
}

p.ps2{
   margin-bottom: 2em!important;
}

p.ps3{
   margin-bottom: 3em!important;
}

table.link_table{
	width: 90%;
	margin: 50px 10px 50px 0 ;
}

table.link_table th {
}

table.link_table td {
  padding: 20px 10px 20px 20px;
	background-color:#f5f5f5;
		border:1px solid #e3e3e3;
 }

hr.dot {
	border: 1px dashed #8c8b8b;
	margin-top: 10px;
	margin-bottom:30px;
}

/* サービス一覧 バナー*/

.inner--sub .card-wrap--custom ul .item11 a {
background: url("../../common/img/img_service11.jpg") no-repeat center top / cover; } 


/* Burp Suite 記事用*/


.burp_suite .feature {
	width:90%;
	box-shadow: 0 0 6px #00000029;
	margin:10px 20px 30px 10px;
}


.burp_suite .edition {
	display:flex;
	align-items: center;
}

.burp_suite .edition p{
	display:inline-block;
	margin:0 20px;
}

.burp_suite h3 {
	font-size:1.2em;
	font-weight:bold;
	color:#001350;
	line-height:28px;
}

.burp_suite li {
list-style-type: none;
background: url(https://www.tegakari.net/wp-content/uploads/check_circle.svg) no-repeat left;
background-size: 1.5em;
padding-left: 3em !important;
margin-bottom: 1em;
}

.burp_suite .enterprise .container-border-top-centered{
  border-top: 4px solid;
  border-top-color: #06c;
  padding:20px 10px;
}

.burp_suite .enterprise .label {
    background-color: #06c;
    border: 1px solid transparent;
    border-radius: 4px;
    font-size: 15px;
    font-weight: normal;
    color: #fff;
    padding: 0 4px;
}


.burp_suite .professional .container-border-top-centered {
    border-top: 4px solid;
    border-top-color: #4c4fb1;
	padding:20px 10px;
}

.burp_suite .professional .label {
    background-color: #4c4fb1;
    border: 1px solid transparent;
    border-radius: 4px;
    font-size: 15px;
    font-weight: normal;
    color: #fff;
    padding: 0 4px;
}

/* インタビュー 記事用*/

.interview_heading {
	display:flex;
	align-items:center;
	border-bottom:2px solid #527ed1;
	padding-bottom:5px;
	margin:1em 0 2em 0;
}

.interview_heading .q_num{
	margin-bottom: 0; 
	font-weight: bold; 
	color: #527ed1;
	font-size:3rem;
}

.interview_heading .q_sen {
	margin-bottom: 0; 
	padding-left:1em;
	font-size:1.5rem;
	font-weight:700;
}

/* バナーコーナーのレイアウト*/

.related_banner {
	display: flex; 
	flex-wrap: wrap;
	margin-top:2em;
	padding:1em 0;
	border-top:1px solid #d4d4d4;
	border-bottom:1px solid #d4d4d4;
}

.related_banner .bnr {
	width: 50%; 
	padding: .5em;
}

.related_banner .bnr img {
	max-width: 100% !important;
}

@media (max-width: 768px) {
  .related_banner .bnr {
    width: 100%;
  }
}

/* flex レイアウト*/

.d-flex {
	display: flex;
}


@media (max-width: 768px) {
  .d-flex {
    display: block;
  }
}





/* 作成パーツ */


/* ====================
   カード
==================== */
.tg-card {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 20px;
  margin: 20px 0;
  box-shadow: 0 3px 6px rgba(0,0,0,0.08);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.tg-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 12px rgba(0,0,0,0.12);
}

/* ====================
   ボタン
==================== */
.tg-btn,
.tg-cta-btn {
  display: inline-block;
  background: #172d74;
  color: #fff;
  padding: 12px 24px;
  border-radius: 4px;
  font-weight: bold;
  text-decoration: none;
  transition: background 0.3s, transform 0.2s;
  max-width: 100%; /* ✅ はみ出し防止 */
}
.tg-btn:hover,
.tg-cta-btn:hover {
  background: #0f1f52;
  transform: translateY(-2px);
}

/* CTA ボタン（ライト版だけ色違い） */
.tg-cta-section .tg-cta-btn {
  background: #172d74;
}
.tg-cta-section .tg-cta-btn:hover {
  background: #0f1f52;
}

/* ====================
   セクション区切り
==================== */
.tg-section-divider {
  border-top: 1px solid #172d74;
  margin: 40px 0;
}

/* ====================
   リスト装飾 - チェック付
==================== */
.tg-list-check {
  list-style: none;
  padding-left: 0;
}
.tg-list-check li {
  position: relative;
  padding-left: 24px;
  margin-bottom: 1.5em;
  line-height: 1.5;
}
.tg-list-check li::before {
  content: "✔";
  position: absolute;
  left: 0;
  top: 0;
  color: #172d74;
  font-weight: bold;
}

/* ====================
   CTA セクション（ライト版）
==================== */
.tg-cta-section {
  background: #f9f9f9;
  padding: 60px 20px;
  text-align: center;
}
.tg-cta-section h2 {
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 20px;
  line-height: 1.5;
  color: #172d74;
}
.tg-cta-section p {
  font-size: 18px;
  margin-bottom: 30px;
  line-height: 1.6;
}

/* ====================
   ポイント（複数）
==================== */
.tg-points {
  display: flex;
  gap: 20px;
  margin: 40px 0;
}
.tg-point-item {
  flex: 1;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 20px;
  text-align: center;
  box-shadow: 0 3px 6px rgba(0,0,0,0.08);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.tg-point-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 12px rgba(0,0,0,0.12);
}
.tg-point-item .tg-icon {
  margin-bottom: 15px;
}
.tg-point-item .tg-icon svg {
  width: 48px;
  height: 48px;
  fill: #172d74;
  display: block;
  margin: 0 auto;
}
.tg-point-item h3 {
  font-size: 20px;
  font-weight: bold;
  color: #172d74;
  margin-bottom: 10px;
}
.tg-point-item p {
  font-size: 16px;
  line-height: 1.6;
  margin: 0;
}

/* ====================
   単一ポイント
==================== */
.tg-point-single {
  max-width: 800px;
  margin: 40px auto;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 25px 20px;
  box-shadow: 0 3px 6px rgba(0,0,0,0.08);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.tg-point-single:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 12px rgba(0,0,0,0.12);
}
.tg-point-single-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 15px;
  justify-content: center;
}
.tg-point-single-header .tg-icon svg {
  width: 28px;
  height: 28px;
  fill: currentColor;
  color: #172d74;
  flex-shrink: 0;
}
.tg-point-single-header h3 {
  font-size: 22px;
  font-weight: bold;
  color: #172d74;
  margin: 0;
}
.tg-point-single p {
  font-size: 17px;
  line-height: 1.6;
  text-align: center;
}

/* ====================
   商品カード
==================== */
/* 商品カードリスト */
.tg-product-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 3列固定 */
  gap: 20px;
  margin: 40px 0;
}

/* 商品カード */
.tg-product-card {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 15px;
  box-shadow: 0 3px 6px rgba(0,0,0,0.08);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  display: flex;
  flex-direction: column;
  text-decoration: none !important;
  color: inherit;
}


.tg-product-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 12px rgba(0,0,0,0.12);
}

/* 商品ヘッダー */
.tg-product-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.tg-product-header img {
  width: 150px !important;
  height: auto;
  object-fit: contain;
  border-radius: 4px;
}
.tg-product-header h3 {
  font-size: 18px !important;
  font-weight: bold;
  color: #172d74;
  margin: 0;
}

/* 商品説明 */
.tg-product-card p {
  font-size: 15px;
  line-height: 1.6;
  margin: 0;
}

/* ====================
   レスポンシブ対応
==================== */
@media (max-width: 767px) {
  .tg-card {
    padding: 15px;
    margin: 15px 0;
  }
  .tg-btn {
    display: block;
    width: 100%;
    text-align: center;
    padding: 14px;
    font-size: 16px;
  }
  .tg-list-check li {
    font-size: 15px;
    padding-left: 20px;
  }
  .tg-cta-section {
    padding: 40px 15px;
  }
  .tg-cta-section h2 {
    font-size: 22px;
  }
  .tg-cta-section p {
    font-size: 16px;
  }
  .tg-cta-section .tg-cta-btn {
    display: block;
    width: 100%;
    max-width: 320px;
    margin: 0 auto;
  }
  .tg-points {
    flex-direction: column;
  }
  .tg-point-item .tg-icon svg {
    width: 40px;
    height: 40px;
  }
  .tg-point-item h3 {
    font-size: 18px;
  }
  .tg-point-item p {
    font-size: 15px;
  }
  .tg-point-single {
    padding: 20px 15px;
  }
  .tg-point-single-header h3 {
    font-size: 20px;
  }
  .tg-point-single p {
    font-size: 15px;
  }
  .tg-point-single-header .tg-icon svg {
    width: 24px;
    height: 24px;
  }
 .tg-product-list {
    grid-template-columns: 1fr; /* スマホ: 1列 */
  }

  .tg-product-header h3 {
    font-size: 16px;
  }
  .tg-product-card p {
    font-size: 14px;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .tg-card {
    padding: 18px;
  }
  .tg-btn {
    padding: 12px 20px;
    font-size: 15px;
  }
  .tg-list-check li {
    font-size: 16px;
  }
  .tg-cta-section {
    padding: 50px 20px;
  }
  .tg-cta-section h2 {
    font-size: 24px;
  }
  .tg-cta-section p {
    font-size: 17px;
  }
  .tg-points {
    flex-direction: column;
  }
   .tg-product-list {
    grid-template-columns: repeat(2, 1fr); /* タブレット: 2列 */
  }
}
