/**
 * 「co-buy メガウルエンサー」プロダクトランディングページ
 * （page-product-audience-plus.php）専用CSS。仮組み。
 *
 * ヘッダーはこのページ全体を通して常に白背景（他ページにあるような、
 * ヒーロー通過で見た目が切り替わる透過ヘッダーの仕組みは使用しない）。
 * そのため .page-wrapper の共通オフセット（padding-top: var(--header-height)）は
 * そのまま活かしている。
 *
 * 数値・コンテナ幅（l-container: max-width 1300px）は取り組み事例一覧
 * （css/case-list.css）に準拠。PCは min(px, vw) のクランプ、SPは
 * @media (max-width: 767px) 内でvw指定、という書式もサイト全体の慣例に合わせている。
 *
 * 未支給のイラスト/アイコン画像（images/product/audience-plus/ 配下）は、届くまで
 * 表示が崩れます。詳細はpage-product-audience-plus.php冒頭のコメント参照。
 */

.p-audience {
  overflow: hidden;
  color: var(--color-black);
  background: var(--color-white);
}

/* ====================================================================
   ヒーロー（キャッチコピー・ロゴ・3ステップ）
   ==================================================================== */
.p-audience-hero {
  background-color: var(--color-white);
  background-image: url("../images/product/audience-plus/audience-title-bg.webp");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100% auto;
}

.audience_sp_botted{
	display:none;
}

@media (max-width: 767px) {
	.p-audience-hero {
	 background-image: url("../images/product/audience-plus/audience-title-bg_sp.webp");
	}
}

.p-audience-hero__inner {
  margin-inline: auto;
  padding-top: min(120px, 7.5vw);
  text-align: center;
}

.p-audience-hero__catch {
  font-size: min(30px, 1.875vw);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.02em;
}

.p-audience-hero__lead,.p-audience-hero__text {
  margin-top: min(70px, 4.375vw);
  font-size: min(24px, 1.5vw);
  font-weight: 700;
  line-height: 2;
}

.p-audience-hero__text{
	margin-top:0;
}


.p-audience-hero__highlight {
  background: linear-gradient(transparent 58%, var(--color-primary) 58%);
  padding-inline: 0.1em;
}

@media (max-width: 767px) {
  .p-audience-hero__inner {
    width: 89.3333333333vw;
    padding-top: 13.333333vw;
  }
  .p-audience-hero__catch {
    font-size: 5.3333333vw;
    line-height: 1.5;
  }
  .p-audience-hero__lead {
    margin-top: 6.4vw;
    font-size: 3.7333333333vw;
    line-height: 1.8;
  }
  .p-audience-hero__text {
    font-size: 3.7333333333vw;
    line-height: 1.8;
  }
}

/* --- ロゴ（audience-plus-title.webp 1枚絵）--- */
.p-audience-logo {
  display: inline-flex;
  align-items: center;
  vertical-align: top;
}
.p-audience-logo__image {
  display: block;
  width: auto;
  height: auto;
}

.p-audience-logo__cobuy{
	width:min(624px, 39vw);
}

.p-audienceuru-step{
width:min(1300px,81.25vw);
}

.p-audience-logo--large {
  margin-top: min(40px, 2.5vw);
}
.p-audience-logo--large .p-audience-logo__image {
  width: min(360px, 26.8656716418vw);
}

.p-audience-logo--small .p-audience-logo__image {
  width: min(200px, 14.9253731343vw);
}

@media (max-width: 767px) {
  .p-audience-logo--large {
    margin-top: 9.3333vw;
  }

	.p-audience-logo__cobuy {
    width: 89.333333vw;
}

  .p-audience-logo--large .p-audience-logo__image {
    width: 62.6666666667vw;
  }
  .p-audience-logo--small .p-audience-logo__image {
    width: 34.6666666667vw;
  }
}

/* --- 3ステップ --- */
.p-audience-hero__steps {
  margin-top: min(97px, 6.0625vw);
  padding-bottom: min(90px,5.625vw);
}

.p-audience-steps {
  display: flex;
	justify-content:center;
	position:relative;
  margin: 0;
  padding: 0;
	background-image: url(../images/product/audience-plus/steps_bg.webp);
    background-repeat: no-repeat;
    background-position: 13.5625vw 4vw;
    background-size: 56vw auto;
}

.p-audience-step {
  text-align: center;
	padding-top:min(54px,3.375vw);
	position:relative;
}

.p-audience-step__next {
  position: absolute;
  top: 50%;
  z-index: 1;
  width: min(60px, 3.75vw);
	aspect-ratio:1/1;
  transform: translatey(-50%);
  background-image: url("../images/product/audience-plus/p-audience-step-arrow.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  pointer-events: none;
}

.p-audience-step__next.left{
	right:-13.15%;
}

.p-audience-step__next.right{
	right:-13.15%;
}

.p-audience-step.one,
.p-audience-step.two,
.p-audience-step.three {
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.p-audience-step.three{
	overflow:visible;
	height: auto;
	flex-shrink: 0;
	width:min(395px,24.6875vw);
}

.step3-botted-line{
	border-bottom: 1px dotted #dcdcdc;
	display:block;
	width:100%;
	margin-top: min(28px, 1.75vw);
}

/* ここから新規追加 */
.p-audience-steps__title {
	display: none;
}

@media (min-width: 768px) {
	.p-audience-hero__steps {
		background: var(--color-white);
		border: 1.5px solid #dcdddd;
		padding: min(74px, 4.625vw) min(70px, 4.375vw) min(54px,3.375vw);
		width:min(1300px,81.25vw);
		margin-bottom:min(90px,5.625vw);
	}

	.p-audience-steps__title {
		display: flex;
		align-items: center;
		text-align: left;
		font-size: min(32px, 2vw);
		font-weight: 700;
		margin-bottom: min(32px, 2vw);
	}
	.p-audience-steps__title-logo {
		height: min(39px, 2.4375vw);
		width: auto;
		margin:0 auto;
	}

	.p-audience-step {
		text-align: left;
	}
	
	.p-audience-step.two{
		margin:0 min(80px,5vw) 0;
	}

	.p-audience-step__badge {
		display: none;
	}

	.p-audience-step__next {
		display: none;
	}

	.p-audience-step.one::after,
.p-audience-step.two::after {
		content: "";
  position: absolute;
  top: 50%;
  width: min(30px,1.875vw);
  height: min(80px,5vw);
  background-color: #cbcbcb;
  clip-path: polygon(0 0, 0 100%, 100% 50%);
	}
	
	.p-audience-step.one::after {
  right: -3.5vw;
  transform: translate(50%, -50%);
}
.p-audience-step.two::after {
  right: -2.5vw;
  transform: translate(50%, -50%);
}
}

/* --- STEP03だけの追加要素：活用例カード・拡張ターゲティングのタグ --- */
.p-audience-step__subheading {
	margin-top: min(28px, 1.75vw);
	font-size: min(16px, 1vw);
	font-weight: 700;
	text-align:center;
}

.p-audience-step__usecase {
	display: flex;
	justify-content: center;
	gap: min(30px, 1.875vw);
	margin-top: min(30px, 1.875vw);
}
.p-audience-step__usecase-item {
	width: min(180px, 11.25vw);
}
.p-audience-step__usecase-badge {
	display: inline-flex;
	align-items: center;
	justify-content:center;
	gap: 0.2em;
	background: #222222;
	color: var(--color-white);
	font-size: min(15px, 0.9vw);
	font-weight: 400;
	width:min(172px,10.75vw);
	height:min(26px,1.625vw);
	border-radius:13px;
	line-height:1;
}
.p-audience-step__usecase-num {
	font-size: 1.3em;
}
.p-audience-step__usecase-text {
	margin-top: min(11px, 0.6875vw);
	font-size: min(12px, 0.75vw);
	font-weight: 500;
	line-height: 1.6;
	text-align: center;
}
.p-audience-step__usecase-tags {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: min(4px, 0.25vw);
	margin-top: min(8px, 0.5vw);
}
.p-audience-step__usecase-tag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #f0e00c;
	font-size: min(10px, 0.625vw);
	font-weight: 700;
	line-height: 1.3;
	padding: 0.3em 0.6em;
}
.p-audience-step__usecase-tag--main {
	background: var(--color-black);
	color: var(--color-white);
}
.p-audience-step__usecase-plus {
	font-size: min(10px, 0.625vw);
	font-weight: 700;
	color: #767676;
}
.p-audience-step__usecase-item img {
	display: block;
	margin: min(10px, 0.625vw) auto 0;
	width: min(173px, 10.8125vw);
	height: auto;
}

.data-combo {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* 上段：左ボックス ＋ プラス ＋ タグ */
.data-combo__formula {
  display: flex;
  align-items: center;
  gap: min(8px, 0.5vw);
	margin-top:min(12px,0.75vw);
}

@media (max-width: 768px) {
	.data-combo__formula {
margin-top:4vw;
		gap: 1.33333vw;
}
}

/* ===== 実購買データ：枠 ===== */
.data-combo__main {
  --bridge-gradient: linear-gradient(90deg, var(--color-primary), var(--color-secondary));
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(78px, 4.875vw);
  height: min(52px, 3.25vw);
  border-radius: 5px;
}

/* グラデーション枠（中は透明） */
.data-combo__main::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: min(1.5px, 0.09375vw); /* 枠線の太さ */
  border-radius: inherit;
  background: var(--bridge-gradient);
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}

@media (max-width: 768px) {
	.data-combo__main {
width: 26.66667vw;
  height: 9.3333vw;
}
	.data-combo__main::before {
		padding: 0.3vw;		
	}
}

/* ===== 実購買データ：文字 ===== */
.data-combo__main-text {
  margin: 0;
	color:#f1b300;
  font-size: min(13px, 0.8125vw);
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
}

@media (max-width: 768px) {
	.data-combo__main-text {
font-size: 2.9333vw;	
}
}
/* ===== プラス（画像） ===== */
.data-combo__formula .data-combo__plus {
  display: block;
  flex-shrink: 0;
  width: min(13px, 0.8125vw);
aspect-ratio:1/1;
	margin-top:0;
}

@media (max-width: 768px) {
	.data-combo__formula .data-combo__plus {
width: 2.666667vw;
}
}

/* ===== 右：タグ ===== */
.data-combo__tags {
  display: flex;
  flex-direction: column;
  gap: min(6px, 0.375vw);
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (max-width: 768px) {
	.data-combo__tags {
 gap: 1.3333vw;
		flex-direction:row;
}
}

.data-combo__tag {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(75px, 4.6875vw);
  height: min(23px, 1.4375vw);
  border-radius: 5px;
  color: #000;
  font-size: min(13px, 0.8125vw);
  line-height: 1;
}

@media (max-width: 768px) {
	.data-combo__tag  {
  width: 22.666667vw;
  height: 9.33333vw;
		font-size: 2.93333vw;
}
}

.data-combo__tag--gray   { background-color: #ebebed; }
.data-combo__tag--yellow { background-color: #f7e9b0; }

/* ===== 下：アイコン画像 ===== */
.data-combo__icon img{
  display: block;
  width: min(71px, 4.4375vw);
  height: min(41px, 2.5625vw);
  margin-top: min(10px, 0.625vw);
}

.data-combo__icon.two img{
  display: block;
  width: min(126px, 7.875vw);
  height: auto;
}		

.p-audience-step__usecase-caption {
	margin-top: min(8px, 0.5vw);
	font-size: min(13px, 0.8125vw);
	color: #222222;
	line-height: 1.5;
	font-weight:500;
	text-align:center;
	font-feature-settings: "palt";
}

.p-audience-step__expand-tags {
	display: flex;
	justify-content: center;
	gap: min(17px, 1.0625vw);
	margin-top: min(20px, 1.25vw);
	    background-image: url(../images/product/audience-plus/approach_bg.png);
    background-repeat: no-repeat;
    background-position: min(11px,0.6875vw) min(59.2px,3.7vw);
    background-size: min(335px,20.9375vw) auto;
}
.p-audience-step__expand-tag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #222222;
	font-size: min(11px, 0.6875vw);
	font-weight: 600;
	padding: 0.3em 0;
	white-space: nowrap;
	border-radius:13px;
	flex-direction:column;
}

.p-audience-step__expand-tag span{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:min(120px,7.5vw);
	height:min(26px,1.625vw);
	border-radius:13px;
	margin-bottom:min(16px,1vw);
}

@media (max-width: 768px) {
	.p-audience-step__expand-tag span{
  width: 22.666667vw;
  height: 4.8vw;
		font-size: 2.266667vw;
		border-radius:18px;
		margin-bottom:1.86667vw;
}
}

.p-audience-step__expand-tag.first span{
	background-color:#eeecec;
}

.p-audience-step__expand-tag.second span{
	background-color:#f5dc6f;
}

.p-audience-step__expand-tag--highlight span{
	background-color:#f1b300;
}

.p-audience-step__badge {
  display: none;
	width:min(160px,10vw);
	aspect-ratio:4/1;
	align-items:center;
	justify-content:center;
  padding: min(6px, 0.4477611940vw) min(22px, 1.6417910448vw);
  background: linear-gradient(270deg, var(--color-secondary), var(--color-primary));
  color: white;
  font-weight: 700;
  font-size: min(24px, 1.5vw);
	line-height:1;
position:absolute;
	top:0;
	left:50%;
	transform:translate(-50%,-50%);

}

.p-audience-step__title {
  font-size: min(20px, 1.25vw);
  font-weight: 700;
  line-height: 1.6;
	text-align:center;
}

.p-audience-step__figure {
  display: flex;
  align-items: center;
	justify-content:center;
	gap:min(23px,1.4375vw);
}

.p-audience-step__figure.approach {
background: url(../images/product/audience-plus/approach_bg.png) no-repeat right top;
	width:100%;
	justify-content:flex-start;
	gap:min(37px,2.3125vw);
	margin:auto;
}

.p-audience-step__expand-tag  .approach_img{
	display:inline-block;
	width:min(100px,6.25vw);
	aspect-ratio:1/1;
}

@media (max-width: 768px) {
	.p-audience-step__expand-tag  .approach_img{
  width: 16vw;
}
}

.step01-img_1{
	margin: min(128px, 8vw) 0 0;
	display:block;
	height:min(245px,15.3125vw);
	width:auto;
}

.step01-text_1{
	color: #f1b300;
    font-size: min(24px, 1.5vw);
	font-weight:bold;
}

.step01-img_2{
	display:block;
	height:min(110px,6.875vw);
	margin-top:min(23px,1.4375vw);
	width:auto;
}

.step02-img_1{
	display:block;
	margin-top:min(42px,2.625vw);
	height:min(241px,15.0625vw);
	width:auto;
	background-color:white;
	padding:min(4px,0.25vw);
	border-radius:50%;
}

.step02-img_2{
	display:block;
	height:min(200px,12.5vw);
	width:auto;
	background-color:white;
	padding:min(4px,0.25vw);
	border-radius:50%;
}

.p-audience-step__abtest{
	display:flex;
	align-items:flex-end;
	justify-content:center;
	gap:min(4px,0.25vw);
}

.step03-text_3{
	writing-mode: vertical-rl;
	font-size:min(14px,0.875vw);
	font-weight:500;
}

.p-audience-step__figure-label {
  font-size: min(14px, 1.0447761194vw);
  font-weight: 700;
  color: var(--color-secondary);
}

.p-audience-step__figure--pair {
  flex-direction: row;
  justify-content: center;
  gap: min(26px, 1.9402985075vw);
}
.p-audience-step__influencer {
  position: relative;
  display: inline-flex;
}

.p-audience-step__influencer-tag {
  position: absolute;
  top: -0.4em;
  right: -1.3em;
  font-family: var(--font-en);
  font-style: italic;
  font-size: min(13px, 0.9701492537vw);
  font-weight: 700;
  color: var(--color-secondary);
  white-space: nowrap;
}

.p-audience-step__divider {
  display: block;
  margin: 0 auto;
  width: min(80px, 5vw);
  aspect-ratio:4/1;
  background-image: url("../images/product/audience-plus/step-divider.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.p-audience-step__caption {
  margin-top: min(20px,1.25vw);
	margin-bottom:min(16px,1vw);
  font-size: min(16px, 1vw);
  font-weight: 700;
  color: #222222;
	text-align:center;
}

.p-audience-step__sns {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(14px, 1.0447761194vw);
}
.p-audience-step__sns-post {
  width: min(64px, 4.7761194030vw);
}
.p-audience-step__sns-icons {
  display: flex;
  align-items: center;
  gap: min(14px, 1.0447761194vw);
}
.p-audience-step__sns-icon svg {
  display: block;
  width: min(24px, 1.7910447761vw);
  height: min(24px, 1.7910447761vw);
  fill: var(--color-black);
}

.p-audience-step__scale-labels {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-weight: 500;
	font-size:min(16px,1vw);
}


@media (max-width: 767px) {
  .p-audience-hero__steps {
    margin-top: 16vw;
    padding-bottom: 13.3333333333vw;
  }
	
	.p-audience-steps__title-logo{
		width:76.533333vw;
		margin:0 auto;
		margin-bottom:5.33333vw;
	}
  .p-audience-steps {
    display: flex;
    flex-direction: column;
    gap: 5.86666667vw;
	  background-image:unset;
  }
  .p-audience-step {
    padding: 8vw 0;
	  width:89.333333vw;
	  margin:auto;
	  height:100vw;
  }
 .p-audience-step__next {
    top: auto;
    right: 50%;
    bottom: 0;
    width: 8vw;
    height: 8vw;
	 transform:translatex(-50%);
  }
  .p-audience-step__badge {
	  display:inline-flex;
    padding: 1.6vw 5.8666666667vw;
    font-size: 4vw;
	      width: 26.666667vw;
    aspect-ratio: 10/3;
position:static;
	  transform:unset;
  }
  .p-audience-step__title {
    margin-top: 5.3333333vw;
    font-size: 4vw;
  }

	.p-audience-step.one {
		    background-image: url(../images/product/audience-plus/audience-step1-bg_sp.png);
		height:62.4vw;
		padding: 5.3333333vw 0;
	}

	.p-audience-step.two {
		    background-image: url(../images/product/audience-plus/audience-step2-bg_sp.png);
		height:126.866667vw;
	}

	.p-audience-step.three {
		    background-image: url(../images/product/audience-plus/audience-step3-bg_sp.png);
		height:auto;
		padding: 8vw 5.333333vw 8vw;
		width: 89.333333vw;
		height:205.73333vw;
	}
	
	.step3-botted-line.bigsp{
		margin-top:6vw;
}
	
	.step3-botted-line.sp{
		margin-top:5.3333333vw;
}
	
	.step3-botted-line-last.sp{
		margin-top:4.3333333vw;
}

	.p-audience-step__subheading {
		margin-top: 5.4vw;
		font-size: 3.7333333333vw;
		line-height:1;
	}
	.p-audience-step__usecase {
		flex-direction: column;
		align-items: center;
		gap: 0;
		margin-top: 5.333333vw;
	}
	.p-audience-step__usecase-item {
		width: 100%;
	}
	.p-audience-step__usecase-badge {
		font-size: 2.66667vw;
flex-direction:column;
		width: 12vw;
    height: 12vw;
		border-radius: 50%;
		padding-top:1.5vw;
	}
	.p-audience-step__usecase-text {
		margin-top:0;
		font-size: 3.2vw;
		text-align:left;
	}
	.p-audience-step__usecase-tags {
		margin-top: 2.6666666667vw;
	}
	.p-audience-step__usecase-tag,
	.p-audience-step__usecase-plus {
		font-size: 3.2vw;
	}
	.p-audience-step__usecase-item img {
		margin-top: 4vw;
		width: 78.66667vw;
		height:auto;
	}
	
	.data-combo__icon img {
		width:16.26667vw;
	}
	
	.data-combo__icon.two img{
		width:28.8vw;
		margin-top: 4vw;
}
	
	.p-audience-step__usecase-caption {
		margin-top: 4vw;
		font-size: 2.933333vw;
	}
	.p-audience-step__expand-tags {
		flex-wrap: wrap;
		gap: 2.6666666667vw;
		margin-top: 5.33333vw;
		justify-content:space-between;
		background-image: url(../images/product/audience-plus/approach_bg_sp.png);
		background-position: 6.5vw 9.6vw;
    background-size: 62.13333vw auto;
	}
	.p-audience-step__expand-tag {
		font-size: 2.2vw;
		border-radius:18px;
		padding:0;
	}
	.step03-img_3 {
		margin-top: 1.8vw;
		width: 69vw;
	}

	.step01-img_1{
height:18.4vw;
		margin:0 0 0;
	}
	
	.p-audience-step__figure-row {
  display: flex;
		flex-direction:row-reverse;
		justify-content:center;
  align-items: center;
  gap: 2.6666667vw;
}
.p-audience-step__figure-row .p-audience-step__caption {
  margin: 0; /* 縦積み用の上下marginを、横並びのときだけ打ち消す */
}

	.step01-text_1{
		font-size:4.53333vw;
	}

	.step01-img_2{
height:19vw;
		margin:3vw auto 0;
	}

	.step02-img_1{
height:36.46666667vw;
		margin:0 auto 0;
	}
	
	.step02-img_2{
height:36.46666667vw;
		margin:0 auto 0;
	}
	
	.p-audience-step__figure-row {
		padding:0 5.3333vw;
		justify-content:space-between;
		margin-top:5.3333vw;
	}
	
	.p-audience-step__figure-row.step3 {
		flex-direction:row;
		width:100%;
		padding:0;
		justify-content:flex-start;
		gap:2.66667vw;
		margin-top:0;
	}
	
	.p-audience-step__figure-row.step3.two{
		margin-top:5.333333vw;
	}

	.step03-img_1{
height:88vw;
		margin:4vw auto 0;
	}

	.step03-img_2{
height:20vw;
		margin:4vw 0 0;
	}

	.step03-text_1,.step03-text_2{
		font-size:3.2vw;
		margin-bottom:4vw;
	}

	.step03-text_3{
		font-size:2.3vw;
	}

  .p-audience-step__figure-label {
    font-size: 3.7333333333vw;
  }
  .p-audience-step__figure--pair {
    gap: 8vw;
  }
  .p-audience-step__influencer-tag {
    font-size: 3.4666666667vw;
  }
  .p-audience-step__divider {
width: 16vw;
  }
  .p-audience-step__caption {
    margin: 3.2vw 0 3.2vw;
    font-size: 3.38vw;
  }

  .p-audience-step__sns-post {
    width: 17.0666666667vw;
  }
  .p-audience-step__sns-icons {
    gap: 3.7333333333vw;
  }
  .p-audience-step__sns-icon svg {
    width: 6.4vw;
    height: 6.4vw;
  }

	.audience_sp_botted{
		display:inline-block;
		margin:0 auto 0;
		width:70.66667vw;
		border-bottom: 2px dotted #dcdddd;
	}
	.p-audience-step__next{
		background-image: url(../images/product/audience-plus/audience-step-arrow_sp.png);
	}

	.p-audience-step__next.left {
		top:61.4vw;
		left:50%;
	}

	.p-audience-step__next.right {
		top:125.7vw;
		left:50%;
	}}

/* ====================================================================
   お悩みセクション
   ==================================================================== */
.p-audience-pain {
  background: #f7f7f8;
  padding-top: min(100px, 7.4626865672vw);
}

.p-audience-pain__inner {
  margin-inline: auto;
	position:relative;
		position:relative;
}

.p-audience-pain__heading {
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.p-audience-pain__title {
  font-size: min(50px,3.125vw);
  font-weight: 700;
  line-height: 1.4;
}
.p-audience-pain__illust {
  width: min(150px, 11.1940298507vw);
}

.p-audience-pain__list {
  list-style: none;
  margin: min(48px, 3.5820895522vw) auto 0;
  padding: 0;
	padding-bottom:min(120px,7.5vw);
  display: flex;
  gap: min(35px, 2.1875vw);
	justify-content:center;
}

.p-audience-pain__icon{
	position:absolute;
	display:block;
	height:auto;
}

.p-audience-pain__icon.left{
	width:min(80px,5vw);
	top:33%;
	left:-15%;
}

.p-audience-pain__icon.right{
	width:min(65px,4vw);
	top:33%;
	right:-14.6%;
}

.p-audience-pain__item {
	width:min(410px,25.625vw);
	aspect-ratio:41/28;
  display: flex;
	flex-direction:column;
  gap: min(24px, 1.7910447761vw);
  background: var(--color-white);
  padding: min(30px, 1.875vw);
	border:solid 1px #dcdddd;
	position:relative;
}
.p-audience-pain__number {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(40px, 2.5vw);
	aspect-ratio:1/1;
  background: #8989a7;
  color: var(--color-white);
  font-family: var(--font-en);
  font-weight: 700;
  font-size: min(18px, 1.125vw);
}
.p-audience-pain__text {
  margin: 0;
  font-size: min(23px, 1.4375vw);
  font-weight: 700;
  line-height: 1.8;
}

.p-audience-pain__arrow {
	position:absolute;
	bottom:0;
	left:50%;
	transform:translate(-50%,50%);
  display: block;
  width: min(350px, 21.875vw);
  height: min(70px, 4.375vw);
  background: linear-gradient(90deg, var(--color-primary), var(--color-secondary));
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}

.p-audience-pain__solution {
  margin: 0 auto min(60px,3.75vw);
  text-align: center;
  font-size: min(42px,2.625vw);
  font-weight: 700;
  line-height: 2.2;
	vertical-align:bottom;
	font-feature-settings: "palt"
}

.p-audience-solution-lead {
  display: inline-flex;
  align-items: center;
	gap:min(16px,1vw);
}

.second-title-aud{
	line-height:1;
	margin-top:min(40px,2.5vw);
}

.p-audience-pain__solution .p-audience-logo .p-audience-logo__cobuy{
	width:min(624px,39vw);
}

@media (max-width: 767px) {

  .p-audience-pain {
    padding-top: 13.3333333333vw;
	  padding-bottom:18.933333vw;
  }
  .p-audience-pain__inner {
    width: 89.3333333333vw;
  }
  .p-audience-pain__heading {
    gap: 3.2vw;
	  justify-content:flex-start;
	  padding-left:5.3333vw;
  }
  .p-audience-pain__title {
    font-size: 6.4vw;
  }
  .p-audience-pain__illust {
    width: 22.6666666667vw;
  }
  .p-audience-pain__list {
    margin-top: 6.4vw;
    gap: 4vw;
    max-width: none;
	  flex-direction:column;
	  padding-bottom:0;
  }
 .p-audience-pain__item {
	width:100%;
	aspect-ratio:unset;
  gap: 2.933333vw;
  padding: 4vw;
}

	.p-audience-pain__icon.left{
		width:12.6666667vw;
		top:-26.667vw;
		left:57vw;
	}
	.p-audience-pain__icon.right{
		width:9.33333vw;
		top:-106.8vw;
		left:71.3333333vw;
	}
  .p-audience-pain__number {
    width: 6.9333333333vw;
    height: 6.9333333333vw;
    font-size: 3.2vw;
  }
  .p-audience-pain__text {
    font-size: 4.5vw;
    line-height: 1.7;
	  font-feature-settings: "palt";
  }
  .p-audience-pain__arrow {
    bottom:-24vw;
    width: 53.3333333333vw;
    height: 10.666667vw;
	  transform:translatex(-50%);
  }
  .p-audience-pain__solution {
    max-width: none;
    font-size: 4.4vw;
    line-height: 2;
	  vertical-align:bottom;
	  margin-bottom:6vw;
  }
}

/* ====================================================================
   3つの特徴
   ==================================================================== */
.p-audience-features {
  padding: min(150px, 9.375vw) 0 min(100px,6.25vw);
}
.p-audience-features__inner {
  margin-inline: auto;
}

.p-audience-feature {
  padding-block: min(60px, 3.75vw);
	padding-left:min(55px,3.4375vw);
  border-top: 1px solid #dcdddd;
	width:81.25vw;
	margin:0 auto;
	display:flex;
	align-items:center;
	gap:min(65px,4vw);
	max-width:1300px;
}

.p-audience-feature.last{
border-bottom: 1px solid #dcdddd;
}

.p-audience-feature.last .p-audience-feature__icon{
	display:flex;
	flex-direction:column;
	gap:min(22px,1.375vw);
	align-items:center;
}

@media (max-width: 767px) {
	.p-audience-feature.last .p-audience-feature__icon{
		gap:2.2666667vw;
	}
}

.feature__icon_last_top{
	display:inline-block;
	width:100%;
	height:auto;
}

.feature__icon_last_bottom{
	display:inline-block;
	width:88.75%;
	height:auto;
}

.p-audience-feature > div {
  min-width: 0;
}
.p-audience-feature:last-child {
  border-bottom: 1px solid #dcdddd;
}
.p-audience-feature__icon {
  width: min(150px, 9.375vw);
	height:auto;
	position:relative;
}

.audience_dpoint_bg{
	display:inline-block;
	width:100%;
	height:auto;
}

.audience_dpoint_logo{
	display:inline-block;
	width:40%;
	height:auto;
	position:absolute;
	left:11.3%;
	top:30.125%;
}

.p-audience-feature__title {
  display: flex;
  align-items: baseline;
  gap: min(16px, 1.1940298507vw);
  font-size: min(24px, 1.7910447761vw);
  font-weight: 700;

}
.p-audience-feature__number {
  font-family: var(--font-en);
  color: linear-gradient(90deg, var(--color-primary), var(--color-secondary));
  font-size: min(40px, 2.5vw);
	background-image: linear-gradient(90deg, var(--color-primary), var(--color-secondary));
  background-clip: text;
  -webkit-background-clip: text; /* Safari対応 */
  color: transparent;
  -webkit-text-fill-color: transparent; /* Safari対応 */
}

.p-audience-feature__text_bold{
font-weight:700;}

 .p-audience-feature__text.pc{
display:inline-block;
  }

  .p-audience-feature__text.sp{
	  display:none;
  }

.p-audience-feature__text {
  font-size: min(18px, 1.125vw);
  line-height: 1.9;
  color: #222222;
}

.p-audience-features__note {
	display:block;
	margin: min(20px, 1.25vw) auto 0;
	text-align: right;
	font-size: min(14px, 0.875vw);
	color: #222222;
	width: 81.25vw;
}

.p-audience-case__title .p-audience-logo__cobuy {
	width: min(439px, 27.4375vw); 
}

@media (max-width: 767px) {
	.second-title-aud{
		margin-top:4.5vw;
		line-height:1;
	}

	.p-audience-pain__solution .p-audience-logo .p-audience-logo__cobuy{
		width:63vw;
	}
	.p-audience-features__note {
		margin-top: 4vw;
		font-size: 3.1vw;
		text-align:left;
		width:100%;
	}
	
	.p-audience-case__title .p-audience-logo__cobuy {
	width: 63vw;
}
  .p-audience-features {
    padding-block: 13.3333333333vw;
	  padding-bottom:0;
  }
  .p-audience-features__inner {
    width: 89.3333333333vw;
  }
  .p-audience-feature {
  flex-wrap: wrap;
    padding-block: 8vw;
	  width:100%;
	  padding-left:0;
	  gap:4vw;
	  position:relative;
  }
  .p-audience-feature__icon {
    width: 16vw;
  }
  .p-audience-feature__title {
    gap: 2.66667vw;
    font-size: 4.4vw;
	  font-feature-settings: "palt";
  }
  .p-audience-feature__number {
    font-size: 6.66667vw;
  }

	 .p-audience-feature__text.pc{
display:none;
  }

  .p-audience-feature__text.sp{
	  display:inline-block;
    font-size: 3.7333333333vw;
    line-height: 1.6;
  }
}

/* ====================================================================
   活用事例
   ==================================================================== */
.p-audience-case {
  background: #f7f7f8;
  padding-block: min(100px, 7.4626865672vw);
}
.p-audience-case__inner {
  margin-inline: auto;
  text-align: center;
}
.p-audience-case__title {
  display: flex;
	flex-direction:column;
  align-items: center;
  justify-content: center;
  gap: min(30px, 1.875vw);
  margin: 0;
  font-size: min(50px, 3.125vw);
  font-weight: 700;
}

.p-audience-case__slider {
  margin-top: min(40px, 2.5vw);
}
.p-audience-case__track {
  overflow: hidden;
}
.p-audience-case__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(30px, 1.875vw);
  margin: 0 auto;
	width:min(1300px,81.25vw);
  padding: 0;
  list-style: none;
}
.p-audience-case__card {
  text-align: left;
	position:relative;
}
/* ニュース一覧（.p-news-archive__row）と同じ、サムネ＋本文＋矢印の
   横並び行レイアウトに合わせている。 */
.p-audience-case__card-link {
  display: flex;
  align-items: center;
  gap: min(20px, 1.4925373134vw);
  padding: min(20px, 1.4925373134vw);
  background-color: var(--color-white);
}
.p-audience-case__card-arrow {
  display: none;
}
.p-audience-case__card-thumb {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(300px, 18.75vw);
	aspect-ratio:3/2;
  overflow: hidden;
  background-color: #f7f7f8;
}
.p-audience-case__card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-audience-case__card-body {
  flex: 1 1 auto;
  min-width: 0;
	display:flex;
	flex-direction:column;
	gap:min(8px,0.5vw);
	justify-content:center;
}
.p-audience-case__card-client {
  display: block;
  font-size: min(12px, 0.8955223881vw);
  color: #898989;
}
.p-audience-case__card-title {
  display: block;
  font-size: min(20px, 1.25vw);
  font-weight: bold;
  line-height: 1.6;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
}
.p-audience-case__card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: min(6px,0.375vw);
}
.p-audience-case__card-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: min(26px,1.625vw);
  padding-inline: 1em;
  border: 1px solid #767676;
  color: #767676;
  font-size: min(14px,0.875vw);
  font-weight: 500;
  white-space: nowrap;
}
.p-audience-case__card-tag--co-buy {
  border: 1px solid transparent;
  border-image: linear-gradient(270deg, #f0e00c, #f1b300) 1;
  background-image: linear-gradient(270deg, #f0e00c, #f1b300);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
.p-audience-case__card-tag--famimatv {
  border: 1px solid transparent;
  border-image: linear-gradient(90deg, #00a33e, #008cd6) 1;
  background-image: linear-gradient(90deg, #00a33e, #008cd6);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

.p-audience-case__back {
  padding: min(40px, 2.5vw) 0 min(100px, 6.25vw);
  background-color: var(--color-white);
}
.p-audience-case__back-link {
  display: flex;
    justify-content: center;
    align-items: center;
    width: min(300px,18.75vw);
    height: min(60px,3.75vw);
    background-color: white;
    position: relative;
    border: solid 1px #222222;
	margin:auto;
	font-size:min(16px,1vw);
	font-weight:500;
	padding-left:min(20px,1.25vw);
}

.p-product-single__back-btn {
    position: absolute;
    background: url(../images/common/top-back-icon.png) no-repeat center center;
    display: inline-block;
    width: min(30px,1.875vw);
    height: min(30px,1.875vw);
    background-size: contain;
    top: 50%;
    transform: translatey(-50%);
    left: min(20px,1.25vw);
}
.p-audience-case__back-link:hover {
  opacity: 0.7;
}
.p-audience-case__back-icon {
  position: relative;
  width: min(28px, 2.0895522388vw);
  height: min(28px, 2.0895522388vw);
  border-radius: 50%;
  background: var(--color-black);
  flex-shrink: 0;
}
.p-audience-case__back-icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  border-top: 2px solid var(--color-white);
  border-right: 2px solid var(--color-white);
  transform: translate(-35%, -50%) rotate(225deg);
}

@media (max-width: 767px) {
  .p-audience-case {
    padding-block: 13.3333333333vw;
  }
  .p-audience-case__inner {
    width: 100%;
  }
  .p-audience-case__title {
    gap: 3vw;
    padding-inline: 5.3333333333vw;
    font-size: 5.0666666667vw;
  }

	.p-audience-case__slider {
    margin-top: 6.4vw;
    overflow: hidden;
		visibility: hidden;
  }
	.p-audience-case__slider.is-ready {
    visibility: visible; /* 追加：初期位置が決まったら表示 */
  }
  .p-audience-case__list {
    display: flex;
    width: 100%;
    max-width: none;
    gap: 4vw;
    touch-action: pan-y;
    cursor: grab;
  }
  .p-audience-case__card {
    flex-shrink: 0;
    width: 78.6667vw;
	  aspect-ratio:59/80;
    padding: 4vw;
    background-color: #fff;
  }


  /* SPはSplideで1枚ずつ表示になるため、ニュース一覧のSP時と同じく
     サムネ上・本文下の縦積みに戻す */
  .p-audience-case__card-link {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 0;
  }
  .p-audience-case__card-thumb {
    width: 100%;
    height: auto;
    aspect-ratio: 61 / 43;
  }
  .p-audience-case__card-body {
	  gap:2vw;
    margin-top: 3vw;
  }
  .p-audience-case__card-client {
    font-size: 3.2vw;
  }
  .p-audience-case__card-title {
    font-size: 4vw;
  }
  .p-audience-case__card-tags {
	   gap:1.3333vw;
  }
  .p-audience-case__card-tag {
    font-size: 3.2vw;
    height: auto;
    padding: 0.6vw 2vw;
	  line-height:1;
  }
  .p-audience-case__card-arrow {
    position: absolute;
    right: 4vw;
    bottom: 5.333333vw;
    width: 8vw;
    height: 8vw;
    border-radius: 50%;
    background-color: black;
	  display: inline-block;
    background-image: url(/wp/wp-content/themes/dataone/images/common/news-arrow-icon.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-color: black;
  }

  .p-audience-case__back {
            width: 100%;
    padding: 10.7vw 0;
  }
  .p-audience-case__back-link {
    padding: 3.4666666667vw 6.4vw;
	  padding-left:11vw;
    font-size: 3.46333333333vw;
	  width: 60vw;
    height: 12vw;
  }

	.p-product-single__back-btn{
		width: 5.3vw;
        height: 5.3vw;
        left: 4vw;
	}
}

@media (max-width: 767px) {
  body.page-template-page-product-audience-plus-php .page-wrapper {
    padding-bottom: 0;
  }
}
