@charset "UTF-8";
/*  Target: SEO Article Content
-------------------------------------------- */
/* reset style */
dl, dt, dd, ol, ul, li {
	outline: 0;
	background: transparent;
}
p, ul, ol, dl {
	line-height: 1.3rem;
}
nav ul {
	list-style: none;
}
a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
table {
	border-collapse: separate;
	border-spacing: 0.25rem;
}
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 1rem 0.1rem 1rem 0.1rem;
	padding: 0;
}
h2 {
	font-size: 1.75rem;
	font-weight: normal;
	line-height: 1.5;
	border-bottom: 2px solid #666666;
	margin-bottom: 1rem;
}
h3 {
	font-size: 1.25rem;
	font-weight: normal;
	line-height: 1.5;
	border-bottom: 1px solid #AAAAAA;
	margin-top: 2rem;
	margin-bottom: 1rem;
}
mark {
	background: linear-gradient(transparent 50%, #FFC94C 0%);
	font-weight: bold;
}
picture, img {
	vertical-align: bottom;
	line-height: 0;
}
br.u-br--sp {
	display: none;
}
br.u-br--pc {
	display: inline;
}
.point-list {
	list-style: none;
	margin: 2rem 0;
	padding: 0;
}
.point-list li {
	position: relative;
	padding-left: 1.25em !important;
}
.point-list li::before {
	content: "・";
	position: absolute;
	left: 0;
	top: 0.1em;
}

/* banner */
.banner-full {
	margin: 1rem 0;
}
.banner-full a {
	display: block;
	text-decoration: none;
}
.banner-full img {
	display: block;
	width: 100%;
	height: auto;
}
.banner-full__caption {
	margin-top: 1rem;
	font-size: 1rem;
	line-height: 1.5;
	text-align: center;
}
.banner-full__caption-link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}
.banner-full__caption .banner-full__caption-link {
	display: inline-flex;
	align-items: baseline;
	gap: 0.5rem;
	color: #222;
	text-decoration: underline;
	text-underline-offset: 0.15em;
	text-decoration-thickness: 0.08em;
}
.banner-full__caption .banner-full__caption-link:hover,
.banner-full__caption .banner-full__caption-link:focus {
	color: #222;
	text-decoration: underline;
}
.banner-full__caption .banner-full__caption-link::after {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	background: url(/products/pos/common/img/btn_tab_b.svg) no-repeat center / contain;
	position: relative;
	top: 0.02em;
}

/* holdings Area */
.holdings-header__nav.pulldown .holdings-header__nav__list__item .item-link {
	flex-grow: 0;
}
body.bottomlink_pagetop_off .holdings-footer__pagetop {	/* オリジナルページトップ使用 */
	display: none;
}
#bottomlink {
	display: block;
	min-width: 0;
}
#bottomlink.bottomlink_special {
	padding-top: 0;
	padding-bottom: 0.7rem;
}
#bottomlink.bottomlink_special .bottomlink-section .bottomlink-etclinks {
	margin-top: 0;
	border-top: none;
}
#bottomlink .bottomlink-etclinks ul li {
	display: inline-block;
}
#bottomlink.bottomlink_special .bottomlink-etclinks ul {
	margin-top: 0.5em;
	margin-bottom: 0;
}
#bottomlink .bottomlink-etclinks a {
	font-size: 0.625rem;
}
#bottomlink .bottomlink-etclinks a.link-blank {
	padding-right: 1.5rem;
	background: url("/etc/designs/panasonic/holdings/images/holdings-icn-blank-sp-footer.svg") no-repeat right center;
	background-size: auto 0.8rem;
}
.holdings-footer__links__list__item {
	line-height: 1.3;
}
.holdings-footer__links__list > .holdings-footer__links__list__item:nth-last-child(-n + 2) {
	line-height: 1.26;
}
.holdings-header a.link-blank {
	vertical-align: text-bottom;
}

/* SEO Article Content style
-------------------------------------------- */
body .xealt_common main {
	background: #FFFFFF;
}
body .xealt_common main img {
	width: auto\9;
	max-width: 100%;
	height: auto;
	line-height: 0;
	font-size: 0;
}
.xealt_common main a {
	opacity: 1;
	pointer-events: auto;
	-webkit-transition: opacity .3s ease;
	transition: opacity 0.3s ease;
}
.xealt_common main a:hover {
	opacity: 0.5;
	-webkit-transition: opacity .3s ease-out;
	transition: opacity 0.3s ease-out;
}
.xealt_common main #pager_top {
	position: fixed;
	right: 5%;
	bottom: 5%;
	z-index: 1100;
	display: none;
	width: 3.125rem;
	height: 3.125rem;
	background-color: #333;
	text-align: center;
}
.xealt_common main #pager_top a {
	position: relative;
	display: inline-block;
	width: 100%;
	height: 100%;
}
.xealt_common main #pager_top a:hover {
	opacity: .7;
}
.xealt_common main #pager_top a:before {
	content: "";
	position: absolute;
	top: 1.375rem;
	right: 0;
	left: 0;
	margin: auto;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	width: 0.625rem;
	height: 0.625rem;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
body .xealt_common main header {
	position: relative;
}
.xealt_common main header#xealt_global {
	z-index: 10;
	padding: 0.5625rem 0.4375rem;
	background-color: #000000;
}
.xealt_common main header#xealt_global .navwrap {
	position: relative;
	margin: 0 auto;
}
.xealt_common main header#xealt_global nav {
	position: static;
	margin: 0 auto;
	width: 100%;
	padding: 0.34rem 0;
}
.xealt_common main header#xealt_global nav .navbar-brand {
	display: block;
	width: 8.75rem;
}
.xealt_common main header#xealt_global nav .navbar-brand img {
	vertical-align: middle !important;
	max-width: 100%;
	height: auto;
}
#xealt_top * {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
#xealt_top > article {
	margin: 1rem;
}
#xealt_top figure {
	line-height: 1.0;
}
.xealt_common main p,
.xealt_common main dl,
.xealt_common main dt,
.xealt_common main dd,
.xealt_common main li {
	line-height: 1.5;
	font-size: 1rem;
	margin: 0 auto 0.5rem;
	padding: initial;
}
.xealt_common main .u-marker > li {
	display: list-item;
	list-style: disc;
	text-indent: -1.5rem;
	padding-left: 1rem;
}
.xealt_common main .u-marker--inside {
	margin: 1rem;
}
.xealt_common main .u-marker--inside > li {
	list-style-position: inside;
}
.xealt_common main strong {
	font-weight: bold;
}
#xealt_top #hero {
	height: auto;
	cursor: auto;
}
#xealt_top #hero img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}
.article-intro {
	margin: 2rem 0;
}


/* table of contents */
.toc {
	border: 1px solid #AAAAAA;
	border-radius: 0.5rem;
	background: #F5F5F5;
	padding: 0 1rem;
	margin: 1rem 0 8rem;
	--toc-ease: cubic-bezier(.22,.61,.36,1);
	--toc-dur-open: 240ms;
	--toc-dur-close: 420ms;
}
.toc[open] { padding: 0 1rem 1rem; }

.toc > summary {
	list-style: none;
	cursor: pointer;
	padding: 1rem 0;
	outline: none;
	text-align: center;
	line-height: 1;
	user-select: none;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
}
.toc > summary::-webkit-details-marker { display: none; }

.toc > summary .toc__title {
	font-weight: 600;
	color: #222;
	letter-spacing: .02rem;
}

.toc__toggle {
	display: inline-flex;
	align-items: baseline;
	gap: 0;
	letter-spacing: normal;
}
.toc__toggle .bracket { color: #222222; text-decoration: none; }
.toc__toggle .label { color: #222222; text-decoration: underline; }

/* ネイティブの [open] に加え、JS で付ける .is-open でも制御できるようにする */
.toc .label--hide { display: none; }
.toc[open] .label--show,
.toc.is-open .label--show { display: none; }
.toc[open] .label--hide,
.toc.is-open .label--hide { display: inline; }

.toc__list, .toc__list ol { margin: 0; }
.toc__list li { margin: 0 !important; }

.toc__list a {
	color: #222;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.toc__list > li {
	margin-top: 1.5rem !important;
}
.toc__list > li:first-child {
	margin-top: 0 !important;
}
.toc__list > li > a { /* h2 -1st layer- */
	font-size: 1rem;
	font-weight: bold;
}
.toc__list > li > ol > li:last-of-type {
	margin: 0.25rem 0 1.5rem !important;
}
.toc__list > li > ol > li > a { /* h3 - 2nd layer - */
	display: inline-block;
	font-size: 0.875rem;
	font-weight: normal;
	margin-left: 0;
}
.toc__list > li > ol > li > a:first-child {
	margin-top: 0.5rem;
}
.toc__list a,
.toc__list a:hover,
.toc__list a:focus,
.toc__list a:visited {
	color: #222 !important;
	text-decoration: underline !important;
}

/* アニメ対象の nav */ 
.toc nav {
	will-change: height;
	transition: opacity .18s ease; /* 既存 */
	/* 高さのトランジションは JS 側で都度セット（open/close で時間が違うため） */
}

/* 閉じたときはフェードのみ	*/
.toc[open] nav,
.toc.is-open nav { opacity: 1; }
.toc:not([open]) nav:not(.force-visible) { opacity: 0; }

/* アニメ中はオーバーフローを切る（JS から inline でも設定） */
.toc.is-animating nav { overflow: hidden; }


/* Hero Title */
.c-heroTitle {
	margin: 1.5rem auto 1rem;
	font-size: 1.25rem;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
}
.c-heroTitle__catch {
	display: block;
	font-size: 1rem;
	font-weight: normal;
	margin-bottom: 0.5rem;
}
.c-heroTitle__catch {
	--line-color: currentColor;
	--line-width: 2rem;
	--line-thick: 1px;
	--gap: 0.5rem;
	text-align: center;
	line-height: 1.4;
}
.c-heroTitle__catch::before,
.c-heroTitle__catch::after {
	content: "";
	display: inline-block;
	width: var(--line-width);
	height: var(--line-thick);
	background: var(--line-color);
	vertical-align: middle;
	margin-inline: var(--gap);
}
.c-heroTitle__reading {
	font-size: 1rem;
	font-feature-settings: "palt";
	font-variant-east-asian: proportional-width;
}

/* Each chapter */
#article-body section {
	margin-bottom: 8rem;
}
#article-body section:last-of-type {
	margin-bottom: 0;
}
section > h2 ~ p {
	margin: 0 !important;
}
.figure-desc {
	margin: 2rem 0 4rem;
}
.figure-desc .notes,
.voice-panel .notes {
	margin-top: 1rem;
	font-size: 0.9rem;
	list-style: none;
	padding: 0;
}
.figure-desc aside.meta,
.voice-panel aside.meta {
	margin-top: 2rem;
	margin-bottom: 2rem;
}
.figure-desc aside.meta:last-of-type:not(:first-of-type),
.voice-panel aside.meta:last-of-type:not(:first-of-type) {
	margin-bottom: 0;
}
.figure-desc .notes > li,
.voice-panel .notes > li {
	position: relative;
	font-size: 0.75rem;
	padding-left: 1rem;
}
.figure-desc .notes > li::before,
.voice-panel .notes > li::before {
	content: "※";
	position: absolute;
	left: 0;
	top: 0;
}
.figure-desc .meta .references,
.voice-panel .meta .references {
	margin-top: 1rem;
}
.figure-desc .meta .references > li,
.voice-panel .meta .references > li {
	display: grid;
	grid-template-columns: max-content 1fr;
	column-gap: 0;
	align-items: start;
	font-size: 0.75rem;
}
.figure-desc .references .label,
.voice-panel .references .label {
	white-space: nowrap;
}
.figure-desc .meta .references a,
.figure-desc .meta .references a:hover,
.figure-desc .meta .references a:focus,
.figure-desc .meta .references a:visited,
.voice-panel .meta .references a,
.voice-panel .meta .references a:hover,
.voice-panel .meta .references a:focus,
.voice-panel .meta .references a:visited {
	color: #222 !important;
	text-decoration: underline !important;
	overflow-wrap: anywhere;
	text-decoration-thickness: .08em;
}
.figure-desc .meta .references a:focus-visible,
.voice-panel .meta .references a:focus-visible {
	outline: 2px solid #0a66c2; /* コントラスト確保（色は運用色に合わせて） */
	outline-offset: 2px;
}

/* User reviews */
.voice-panel {
	--gap: 1rem;
	--bubble-bg: #A8D7DF;
	--bubble-fg: #1A1A1A;
	--bubble-radius: 0.75rem;
	--panel-bg: #F5F5F5;
	--card-bg: #FFFFFF;
	--shadow: 0 2px 10px rgba(0,0,0,.06);
	--arrow-w: 12px;
	--arrow-h: 20px;
	background-color: var(--panel-bg);
	border-radius: 0.5rem;
	margin: 4rem auto 1rem;
	padding: 1rem;
}
.voice-panel__title {
	margin-top: 0;
	margin-bottom: 1rem;
	font-size: 1.5rem;
	line-height: 1.5;
	text-align: center;
	font-weight: normal;
	border-bottom: 1px solid #666666;
}
.voice-panel__list {
	margin: auto auto 1rem 1.5rem;
}
.voice-panel__list > li {
	display: list-item;
	list-style: disc;
}
.voice-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	margin: 1rem 0;
	padding: 1rem;
	list-style: none;
	background: var(--card-bg);
	border-radius: 0.5rem;
}
.voice-list > li {
	margin: 0 auto 1rem !important;
}
/* === SP: 基準（縦積み）=== */
.voice-item__container {
	margin: 0;
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto auto;
	row-gap: 0;
	justify-items: center;
}
.voice-item__avatar {
	width: auto;
	height: auto;
	border-radius: 0;
	background: transparent;
	object-fit: contain;
	display: block;
}
.bubble,
.voice-item__bubble {
	position: relative;
	color: var(--bubble-fg);
	background-color: var(--bubble-bg);
	border-radius: var(--bubble-radius);
	padding: 1rem;
	margin-top: 1rem;
	line-height: 1.5;
	box-shadow: var(--shadow);
	font-size: 1rem;
	font-weight: 600;
	width: auto;
	max-width: min(42rem, 92vw);
}
.bubble::after {
	content: "";
	position: absolute;
	inset-block-start: calc(-1 * var(--arrow-h, 12px));	/* 上に突き出す量（矢印の高さ） */
	inset-inline-start: 50%;
	transform: translateX(-50%) translateY(0.5px);
	border-style: solid;	/* まずは全体を透明にしてから、下だけ色を付ける */
	border-color: transparent;
	border-block-start-width: 0;
	border-inline-start-width: var(--arrow-w, 8px);
	border-inline-end-width: var(--arrow-w, 8px);
	border-block-end-width: var(--arrow-h, 12px);
	border-block-end-color: var(--bubble-bg);
	border-top-width: 0;	/* 物理プロパティのフォールバック（古いブラウザ想定。重複定義OK） */
	border-left-width: var(--arrow-w, 8px);
	border-right-width: var(--arrow-w, 8px);
	border-bottom-width: var(--arrow-h, 12px);
	border-bottom-color: var(--bubble-bg);
}

/* SECTION HEADING（専用）
-------------------------------------------- */
.c-section-heading {
	position: relative;
	text-align: center;
	margin: 0 0 2rem;
	padding: 1rem 0;
	color: #222222;
	border: none;
}
.c-section-heading::before,
.c-section-heading::after {
	content: "";
	position: absolute;
	left: 0;
	width: 100%;
	height: 1px;
	background: #222222;
	pointer-events: none;
}
.c-section-heading::before { top: 0; }
.c-section-heading::after	{ bottom: 0; }
.c-section-heading__lead {
	position: absolute;
	left: 50%;
	top: 0;
	transform: translate(-50%, -50%);
	display: inline-block;
	padding: 0 0.5rem;
	background: #fff;
	line-height: 1.6;
	font-weight: normal;
	font-size: 1rem;
	color: #222222;
	z-index: 1;
	box-shadow: 0 0 0 1px #fff;
}
.c-section-heading__main {
	display: block;
	margin-top: 0.75rem;
	font-size: 1.5rem;
	letter-spacing: 0.01em;
	color: #222222;
}

/* CTA button
-------------------------------------------- */
.cta-with-note {
	width: 100%;
	padding: 2rem 1rem;
	margin: 0 auto 12rem;
	text-align: center;
	transform: translateY(1.25rem);
	transition: opacity 0.4s ease, transform 0.4s ease;
	border: 1px solid #AAAAAA;
	border-radius: 0.5rem;
	box-sizing: border-box;
}
.cta-with-note:last-of-type {
	margin: 0 auto 6rem;
}
.cta-with-note .search_btn {
	display: block;
	width: 100%;
	padding: 1rem 0;
	background-color: #EC6300;
	border: none;
	margin: 0 auto;
	box-sizing: border-box;
	border-radius: 1.5625rem;
	font-size: 1rem;
	line-height: 1;
	cursor: pointer;
	transition: background-color 0.3s ease;
	color: white;
	box-shadow: 0 0.3125rem 0.9375rem 0 rgba(0, 0, 0, 0.35);
}
.cta-with-note .search_btn a {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0.375rem;
	line-height: 1.4;
	font-size: 1rem;
	font-weight: bold;
	color: white !important;
	text-decoration: none !important;
}
.cta-with-note .search_btn a::after {
	content: "";
	display: block;
	width: 1.25rem;
	height: 1.1875rem
;
	background: url(/common/img/btn_search_w.svg) no-repeat;
}
.cta-with-note .search_btn:hover {
	opacity: .8;
}
.cta-with-note__note {
	display: inline-block;
	position: relative;
	padding: 0 1rem !important;
}
.cta-with-note__note::before,
.cta-with-note__note::after {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	color: inherit;
	font-size: 1em;
}
.cta-with-note__note::before {
	content: "\\";
	left: 0;
}
.cta-with-note__note::after {
	content: "/";
	right: 0;
}
.cta-with-note--cards {
	margin: 1rem auto 4rem;
	padding: 2rem 1rem 0;
}
.cta-with-note--cards .cta-with-note__aside .cta-with-note__note--sub {
	margin-top: 3rem;
	margin-bottom: 0.75rem;
	font-size: 1rem;
	border: none;
}
.cta-with-note--cards .cta-with-note__aside .cta-cards {
	--gap: 0.75rem;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--gap);
	margin: 0.75rem 0;
	padding: 0;
	list-style: none;
}
.cta-with-note--cards .cta-with-note__aside .cta-cards__item {
	margin: 0;
	padding: 0;
}
.cta-with-note--cards .cta-with-note__aside .cta-cards__link {
	display: grid;
	grid-template-rows: auto auto;
	grid-template-columns: 1fr;
	align-items: center;
	gap: 0.5rem;
	padding: 0.5rem;
	background: #fff;
	border: 1px solid #AAAAAA;
	border-radius: 0.5rem;
	box-shadow: 0 1.1px 2.2px 0 rgba(0,0,0,0.15);
	color: #222;
	font-weight: bold;
	text-decoration: none;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.cta-with-note--cards .cta-with-note__aside .cta-cards__link:hover,
.cta-with-note--cards .cta-with-note__aside .cta-cards__link:focus-visible {
	text-decoration: none !important;
}
.cta-with-note--cards .cta-with-note__aside .cta-cards__thumb {
	display: block;
	grid-row: 1; 
	grid-column: 1 / -1;
	aspect-ratio: 3 / 2;
	border-radius: 0.375rem;
	overflow: hidden;
	margin-bottom: 0;
}
.cta-with-note--cards .cta-with-note__aside .cta-cards__thumb img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}
.cta-with-note--cards .cta-with-note__aside .cta-cards__title {
	grid-row: 2;
	grid-column: 1 / -1;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.5rem;
	font-weight: bold;
	font-size: 1rem;
	line-height: 1.2;
	text-align: center;
	padding: 0 0.25rem 0.25rem;
	margin: 0;
	color: #000000;
}
.cta-with-note--cards .cta-with-note__aside .cta-cards__title::after {
	content: "";
	display: inline-block;
	width: 0.5rem;
	height: 0.8125rem;
	background: url(/products/xealt/contents/common/img/btn_next_b.svg) no-repeat;
	margin-left: 0.25rem;
}
.cta-with-note--cards .cta-with-note__aside .cta-with-note__more {
	margin: 1rem 0 2rem;
}
.cta-with-note--cards .cta-with-note__aside .cta-with-note__more a {
	display: inline-flex;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.625rem 1.6875rem;
	border-radius: 0.3125rem;
	border:1px solid #666666;
	color:#222 !important;
	font-size: 0.75rem;
	text-decoration: none !important;
	line-height: 1;
}
.cta-with-note--cards .cta-with-note__aside .cta-with-note__more a::after {
	content: "";
	display: block;
	width: 0.5rem;
	height: 0.8125rem;
	background: url(/products/xealt/contents/common/img/btn_next_b.svg) no-repeat;
}
.cta-with-note--cards .cta-with-note__aside .cta-with-note__more a:hover {
	opacity: 0.7;
}

/* 省Motion配慮 */
@media (prefers-reduced-motion: reduce) {
	.cta-with-note--cards .cta-with-note__aside .cta-cards__link,
	.cta-with-note--cards .cta-with-note__aside .cta-with-note__more a {
		transition: none !important;
	}
}

@media screen and (min-width: 768px) {
	br.u-br--sp {
		display: inline;
	}
	br.u-br--pc {
		display: none;
	}

	/* banner */
	.banner-full {
		margin: 2rem 0;
	}

	/* holdings Area */
	#bottomlink.bottomlink_special .bottomlink-etclinks ul {
		margin-bottom: 0.8rem;
	}	#bottomlink .bottomlink-etclinks a.link-blank {
		padding-right: 1.25rem;
		background: url("/etc/designs/panasonic/holdings/images/holdings-icn-blank-pc.svg") no-repeat right center;
		font-size: 0.75rem;
	}

	/* SEO Article Content style */
	.xealt_common main header#xealt_global {
		padding: 0;
		line-height: 4.375rem;
	}
	.xealt_common main header#xealt_global .navwrap {
		max-width: 75rem;
	}
	.xealt_common main header#xealt_global nav {
		position: relative;
		max-width: 61rem;
		padding: 1.7rem 0;
	}
	.xealt_common main header#xealt_global nav .navbar-brand {
		width: 9.375rem;
		line-height: 1;
	}
	#xealt_top > article {
		max-width: 61rem;
		margin: 0 auto;
	}
	h2 {
		font-size: 2rem;
	}
	h3 {
		font-size: 1.5rem;
	}

	/* Hero Title */
	.c-heroTitle {
		margin: 2rem auto 1rem;
		font-size: 2.25rem;
		line-height: 1.5;
	}
	.c-heroTitle__catch {
		font-size: 1.5rem;
		--line-width: 1.75rem;
		--gap: 1rem;
	}

	.article-intro {
		margin: 2rem 1rem;
	}

	.toc {
		margin: 1rem 0 12rem;
	}
	.toc__list > li > a {	/* h2 -1st layer- */
		font-size: 1.25rem;
	}
	.toc__list > li > ol > li > a {	/* h3 - 2nd layer - */
		font-size: 1rem;
		margin-left: 1rem;
	}

	#article-body section {
		margin-bottom: 12rem;
	}
	section > h2 ~ p {
		margin: 0 1rem !important;
	}
	.figure-desc {
		margin: 2rem 1rem 4rem;
	}

	/* User reviews */
	.voice-panel { 
		--gap: 2.5rem;
		--arrow-w: 18px;
		--arrow-h: 30px;
		margin: 4rem auto 1.5rem;
	}
	.voice-list > li {
		margin: 0 auto !important;
	}
	.voice-item:nth-child(odd) .voice-item__container,
	.voice-item:nth-child(even) .voice-item__container {
		grid-template-rows: auto;
		column-gap: var(--gap);
		row-gap: 0;
		align-items: center;
	}
	/* 奇数行：アイコン→吹き出し（左三角） */
	.voice-item:nth-child(odd) .voice-item__container {
		grid-template-columns: auto 1fr;
		justify-items: start;
	}
	/* 偶数行：吹き出し→アイコン（右三角） */
	.voice-item:nth-child(even) .voice-item__container {
		grid-template-columns: 1fr auto;
		justify-items: end;
	}
	.bubble,
	.voice-item__bubble {
		font-size: 1.25rem;
		padding: 1rem;
	}
	.voice-item:nth-child(even) .voice-item__bubble {
		order: 1;
		justify-self: end;
	}
	.voice-item:nth-child(even) .voice-item__avatar { order: 2; }
	/* PC時の三角：奇数行=左向き、偶数行=右向き に切り替え */
	.voice-item:nth-child(odd) .bubble::after {	/* 奇数行＝左向き三角 */
		inset-block-start: 50%;
		transform: translateY(-50%) translateX(0.5px);
		inset-inline-start: calc(-1 * var(--arrow-h));
		inset-inline-end: auto;
		/* 三角形の形状（左右三角） */
		border-style: solid;
		border-color: transparent;
		border-top-width: var(--arrow-w);
		border-bottom-width: var(--arrow-w);
		border-right-width: var(--arrow-h);
		border-left-width: 0;
		border-right-color: var(--bubble-bg);
}
	.voice-item:nth-child(even) .bubble::after {	/* 偶数行＝右向き三角 */
		inset-block-start: 50%;
		transform: translateY(-50%) translateX(-0.5px);
		inset-inline-end: calc(-1 * var(--arrow-h));
		inset-inline-start: auto;
		border-style: solid;
		border-color: transparent;
		border-top-width: var(--arrow-w);
		border-bottom-width: var(--arrow-w);
		border-left-width: var(--arrow-h);
		border-right-width: 0;
		border-left-color: var(--bubble-bg);
	}
	.voice-panel__list {
		margin: auto auto 1rem 2rem;
	}
	.voice-list { gap: 1.25rem; margin: 1rem 3rem; }

	/* SECTION HEADING（専用）
	-------------------------------------------- */
	.c-section-heading {
		padding: 1.5rem 0;
	}
	.c-section-heading__lead {
		font-size: 1.25rem;
		padding: 0 1.25rem;
	}
	.c-section-heading__main {
		font-size: 1.75rem;
	}

	/* CTA button
	-------------------------------------------- */
	.cta-with-note {
		margin: 0 auto 8rem;
		padding: 2rem 1rem;
	}
	.cta-with-note:last-of-type {
		margin: 0 auto 8rem;
	}
	.cta-with-note .search_btn {
		margin: 0 auto;
		width: 37.5rem;
		padding: 1rem 0;
	}
	.cta-with-note--cards {
		padding: 2rem 1rem 1rem;
	}
	.grid-cols-1 { --cols: 1; }
	.grid-cols-2 { --cols: 2; }
	.grid-cols-3 { --cols: 3; }
	.grid-cols-4 { --cols: 4; }
	.grid-cols-5 { --cols: 5; }
	.grid-justify-center { justify-content: center !important; }
	.grid-gap-pc { gap: 0.5rem !important; }
	.cta-with-note--cards .cta-with-note__aside .cta-cards {
		grid-template-columns: repeat(var(--cols, 3), 11.375rem);
		gap: 0.5rem;
		width: calc(11.375rem * var(--cols, 3) + 0.5rem * (var(--cols, 3) - 1));
		margin-inline: auto;
		padding-inline: 1rem;
		box-sizing: border-box;
	}
	.cta-with-note--cards .cta-with-note__aside .cta-with-note__note--sub {
		margin-top: 1.5rem;
		margin-bottom: 0.75rem;
	}
	.cta-with-note--cards .search_btn {
		margin-bottom: 1.5rem;
	}
}
