/* WordPress ブロックエディタ追加スタイル
   accordion / フォントサイズ / テキスト配置 を .details-content 内でサポート */


/* ============================================================
   アコーディオンブロック（WordPress core accordion block）
   ============================================================ */

/* h3リセット（.details-content h3 のスタイルを打ち消す） */
.details-content .wp-block-accordion-heading {
	display: block;
	margin-block-start: 0;
	margin-block-end: 0;
	margin-bottom: 0;
	padding: 0;
	border: none;
	font-size: inherit;
	letter-spacing: normal;
}

.details-content .wp-block-accordion-heading::before {
	display: none;
}

/* アイテム */
.details-content .wp-block-accordion {
	margin-bottom: 20px;
}

.details-content .wp-block-accordion-item:not(:last-child) {
	margin-bottom: 27px;
}

/* トグルボタン */
.details-content .wp-block-accordion-heading__toggle {
	position: relative;
	display: block;
	width: 100%;
	background: #E8F5FA;
	border: none;
	padding: 26px 70px 25px 30px;
	cursor: pointer;
	font-weight: 500;
	font-size: 1.8rem;
	line-height: 1.625;
	letter-spacing: 0.1em;
	text-align: left;
	color: #222;
}

/* +/− アイコン（疑似要素で再現） */
.details-content .wp-block-accordion-heading__toggle::before,
.details-content .wp-block-accordion-heading__toggle::after {
	content: "";
	position: absolute;
	right: 25px;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
	height: 4px;
	background: #707070;
	transition: 0.3s ease;
}

.details-content .wp-block-accordion-heading__toggle::after {
	transform: translateY(-50%) rotate(90deg);
}

/* 元の「+」テキストは非表示 */
.details-content .wp-block-accordion-heading__toggle-title {
	display: block;
}

.details-content .wp-block-accordion-heading__toggle-icon {
	display: none;
}

/* パネル（コンテンツ） */
.details-content .wp-block-accordion-panel {
	padding: 26px 70px 25px 30px;
	font-size: 1.4rem;
	line-height: 1.571;
}

.details-content .wp-block-accordion-panel[inert] {
	display: none;
}

/* 開いた状態：縦線を水平に（−になる） */
.details-content .wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle::after {
	transform: translateY(-50%);
}

/* SP対応 */
@media (max-width: 834px) {
	.details-content .wp-block-accordion-heading__toggle {
		padding: 15px 45px 15px 20px;
		font-size: 1.6rem;
	}

	.details-content .wp-block-accordion-heading__toggle::before,
	.details-content .wp-block-accordion-heading__toggle::after {
		right: 15px;
		width: 16px;
		height: 2px;
	}

	.details-content .wp-block-accordion-panel {
		padding: 15px 30px 15px 20px;
	}
}


/* ============================================================
   フォントサイズ（has-*-font-size）
   ============================================================ */

.details-content .has-small-font-size,
.details-content p.has-small-font-size {
	font-size: 13px !important;
	font-size: 1.3rem !important;
}
.details-content .has-normal-font-size,
.details-content p.has-normal-font-size {
	font-size: 16px !important;
	font-size: 1.6rem !important;
}
.details-content .has-medium-font-size,
.details-content p.has-medium-font-size {
	font-size: 20px !important;
	font-size: 2rem !important;
}
.details-content .has-large-font-size,
.details-content p.has-large-font-size {
	font-size: 28px !important;
	font-size: 2.8rem !important;
}
.details-content .has-x-large-font-size,
.details-content p.has-x-large-font-size {
	font-size: 36px !important;
	font-size: 3.6rem !important;
}
.details-content .has-huge-font-size,
.details-content p.has-huge-font-size {
	font-size: 42px !important;
	font-size: 4.2rem !important;
}


/* ============================================================
   テキスト配置（has-text-align-*）
   ============================================================ */

.details-content .has-text-align-center {
	text-align: center !important;
}
.details-content .has-text-align-right {
	text-align: right !important;
}
.details-content .has-text-align-left {
	text-align: left !important;
}


/* ============================================================
   ボタンブロック（wp-block-buttons）
   ============================================================ */

.details-content .wp-block-buttons {
	display: flex !important;
	flex-wrap: wrap;
	gap: 0.5em;
}

.details-content .wp-block-buttons.is-content-justification-center {
	justify-content: center !important;
}

.details-content .wp-block-buttons.is-content-justification-right {
	justify-content: flex-end !important;
}

.details-content .wp-block-buttons.is-content-justification-left {
	justify-content: flex-start !important;
}

/* ボタン単体：幅をコンテンツに合わせる */
.details-content .wp-block-button {
	display: inline-flex;
}

.details-content .wp-block-button__link {
	display: inline-block !important;
}
