@charset "UTF-8";

/*
	* CMSスタイルシート
	* エディターに関するスタイル
	* ver1
	* Copyright (C) ●●など
	* 更新履歴
		└ 
*/
/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	CMS
//////////////////////////////////////////////////////////////////////////////////////////////////// */
:root {
	/* cmsの余白設定 */
	--cmsSpace_small: 10px;
	--cmsSpace_medium: 20px;
	--cmsSpace_minusMedium: -30px;
	--cmsSpace_large: 50px;
	--cmsSpace_minusLarge: -50px;
}

/* ******************************************************************************************
	必須設定
****************************************************************************************** */
.aligncenter {
	display: block;
	margin: 0 auto;
}

.alignright {
	float: right;
}

.alignleft {
	float: left;
}

.st_editor {
	/* 最後の要素のmargin-bottom相殺 */
	margin-bottom: var(--cmsSpace_minusMedium);
}

.st_editor a:not([class]) {
	/* aタグにクラスが付いていなければinlineにする */
	display: inline;
	/* common.cssのinline-blockリセット */
	color: #2271b1;
}

.st_editor::after {
	/* ブロックの最後で画像を左右寄せにした場合回り込み対策 */
	content: "";
	display: block;
	clear: both;
}

/* ******************************************************************************************
	初期設定（サイトによって適宜修正）
****************************************************************************************** */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	改行設定
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.st_editor {
	/* ボックス内に収まらない場合の折り返し設定 */
	overflow-wrap: anywhere;
	/* 文章内の単語がどの位置で折り返すかの設定 */
	word-break: break-all;
	/* 文章の禁則処理の設定 */
	/* line-break: strict; */
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	見出しブロック
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ======================================================================
	共通スタイル
====================================================================== */
.st_editor :is(h2, h3, h4, h5, h6) {
	color: var(--black);
	font-weight: 500;
	letter-spacing: 1px;
	font-family: var(--font-design);
}

/* ======================================================================
	記事ページタイトル
====================================================================== */
.el_editorTitle_leftBorder.el_editor_single_Title {
	margin-top: 0;
	font-size: var(--fontSize30);
}

.single_date {
	margin-bottom: .5rem;
	color: #857a7c;
}

@media (max-width: 992px) {
	.el_editorTitle_leftBorder.el_editor_single_Title {
		font-size: clamp(1.75rem, 1.3rem + 1.9vw, 2.75rem);
	}
}

@media (max-width: 576px) {
	.el_editorTitle_leftBorder.el_editor_single_Title {
		font-size:var(--fontSize20);
	}
}


/* ======================================================================
	H2
====================================================================== */
.st_editor h2,
.el_editorTitle_leftBorder {
	position: relative;
	width: 100%;
	position: relative;
	z-index: 0;
	padding: 0.75em 1em;
	margin: 2.5em 0 1.4em;
	font-weight: 500;
	font-size: clamp(1.333rem, calc(1.279rem + 0.259vw), 1.556rem);
	/* 24px,28px,18px,375px,1920px; */
	border-radius: 5px;
	border-radius: 12px;
	isolation: isolate;
}

.st_editor h2::before,
.el_editorTitle_leftBorder::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	content: "";
	background:linear-gradient(299deg, rgba(66, 236, 255, 0.2) 0%, rgba(174, 245, 181, 0.2) 50%, rgba(255, 143, 71, 0.2) 100%);;
	-webkit-backdrop-filter: blur(20px);
	backdrop-filter: blur(20px);
	border-radius: 10px;
}

.st_editor>h2:first-child {
	margin-top: 0;
}

/* ======================================================================
	H3
====================================================================== */
.st_editor h3 {
	position: relative;
	padding: 12px 12px 12px 27px;
	background-color: #fbf6f0;
	font-weight: 500;
	font-size: clamp(1.111rem, calc(1.057rem + 0.259vw), 1.333rem);
	/* 20px,24px,18px,375px,1920px; */
	border-radius: 10px;
}

.st_editor h3::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	left: .5rem;
	width: 5px;
	height: 30px;
	margin: auto;
	background: var(--heading-gradient-solid);
	border-radius: 3px;
}

/* ======================================================================
	H4
====================================================================== */
.st_editor h4 {
	position: relative;
	padding-bottom: 0.55em;
	margin: 2em 0 1em;
	font-size: clamp(1.111rem, calc(1.057rem + 0.259vw), 1.333rem);
}

.st_editor h4::before {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 1px;
	content: "";
	background-color: #ddd;
}

.st_editor h4::after {
	position: absolute;
	bottom: -1px;
	left: 0;
	width: min(35%, 160px);
	height: 3px;
	content: "";
	background: var(--heading-gradient-solid);
	border-radius: 100vmax;
}


/* ======================================================================
	H5
====================================================================== */
.st_editor h5 {
	position: relative;
	z-index: 0;
	width: fit-content;
	padding: 0.2em 0.35em;
	margin: 1.8em 0 0.8em;
	isolation: isolate;
	font-size: var(--fontSize20);

}

.st_editor h5::after {
	position: absolute;
	right: 0;
	bottom: 0.15em;
	left: 0;
	z-index: -1;
	height: 0.55em;
	content: "";
	background: var(--heading-gradient);
	border-radius: 100vmax;
}

/* ======================================================================
	H6
====================================================================== */
.st_editor h6 {
	position: relative;
	padding-left: 1.25em;
	margin: 1.6em 0 0.7em;
	font-size: var(--fontSize20);
}

.st_editor h6::before {
	position: absolute;
	top: 0.75em;
	left: 0;
	width: 0.65em;
	height: 0.65em;
	content: "";
	background: var(--heading-gradient-solid);
	border-radius: 50%;
	transform: translateY(-50%);
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	ボタンブロック
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ======================================================================
	デフォルトボタン設定
====================================================================== */
.st_editor .wp-block-button__link {
	display: inline-block;
	color: #fff;
	font-weight: bold;
}

/* ======================================================================
	オリジナルボタン
====================================================================== */
.st_editor .is-style-el_btn_normal>a {
	display: inline-block;
	position: relative;
	padding: 10px;
	border-radius: 5px;
	background-color: var(--mainColor);
	color: #fff;
	font-weight: bold;
	font-size: 1.125rem;
	text-decoration: none;
	text-align: center;
}

/* ======================================================================
	ダウンロードボタン
====================================================================== */
.wp-block-file .wp-block-file__button {
	display: inline-block;
	box-sizing: border-box;
	padding: .3rem 1rem;
	border: 1px solid rgb(0 0 0 / 20%);
	border-radius: 5px;
	box-shadow: 2px 2px 1px 0px #ccc;
	background-color: #fff;
	color: var(--black);
	font-size: .9rem;
	text-decoration: none;
}

.wp-block-file__button+.fileInfo {
	/* ダウンロードボタンのファイルサイズ非表示 */
	display: none;
}

/* ******************************************************************************************
	YouTube,googlemapの初期値のサイズ設定
	max-widthを適宜変更
****************************************************************************************** */
/* YouTube,googlemap 埋め込みの際「cms_media」が付与される */
/* YouTube,googlemap レスポンシブ対応 */
.cms_media {
	position: relative;
	width: 100%;
	/* max-width: 500px; */
	aspect-ratio: 3/2;
}

/* 配置を中央寄せにした場合 */
.aligncenter .cms_media {
	margin-right: auto;
	margin-left: auto;
}

/* 配置を右または左にした場合 */
/* .wp-block-embed.alignleft .cms_media,
.wp-block-embed.alignright .cms_media {
	max-width: 500px;
} */

.wp-block-columns .cms_media {
	/* カラムブロック内の場合 */
	width: 100%;
}

.cms_media iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

/* ******************************************************************************************
	余白（マージン）
****************************************************************************************** */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	見出し
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ======================================================================
	margin-top
====================================================================== */
.st_editor>*+h2 {
	margin-top: var(--cmsSpace_large);
}

.st_editor>*+h3 {
	margin-top: var(--cmsSpace_large);
}

.st_editor>*+h4 {
	margin-top: var(--cmsSpace_medium);
}

@media screen and (max-width: 576px) {
	.st_editor>*+h3 {
		margin-top: var(--cmsSpace_medium);
	}
}

/* ======================================================================
	margin-bottom
====================================================================== */
.st_editor :is(h2, h3, h4, h5, h6) {
	margin-bottom: var(--cmsSpace_medium);
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	テキスト関係
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ======================================================================
	段落、リスト、引用、コード、詳細、整形済みテキスト、プルクオート、テーブル、詩、プラグイン（Flexible Table Block）
====================================================================== */
.st_editor :is(p,
	ul,
	ol,
	.wp-block-quote,
	.wp-block-code,
	.wp-block-details,
	.wp-block-preformatted,
	.wp-block-pullquote,
	.wp-block-table,
	.wp-block-verse,
	.wp-block-flexible-table-block-table) {
	margin-bottom: var(--cmsSpace_medium);
	line-height: 2;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	メディア
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ======================================================================
	画像、ギャラリー、音声、カバー、ファイル、動画、WP VRプラグイン、YouTube、GoogleMap埋め込み
====================================================================== */
.st_editor :is(.wp-block-image,
	.wp-block-gallery,
	.wp-block-audio,
	.wp-block-cover,
	.wp-block-file,
	.wp-block-video,
	.wpvr-cardboard,
	.cms_media) {
	margin-bottom: var(--cmsSpace_medium);
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	デザイン
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ======================================================================
	グループ、ボタン、続き、ページ区切り、区切り
====================================================================== */
.st_editor :is(.wp-block-group,
	.wp-block-button,
	.wp-block-more,
	.wp-block-nextpage,
	.wp-block-separator) {
	margin-bottom: var(--cmsSpace_medium);
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	包括系ブロック
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ======================================================================
	カラム
====================================================================== */
.st_editor .wp-block-columns {
	margin-bottom: 0;
}

.st_editor .wp-block-column {
	margin-bottom: var(--cmsSpace_medium);
}

.st_editor .wp-block-column>*:last-child {
	/* 個別カラムの最後の要素のmargin-bottom相殺 */
	margin-bottom: 0;
}

/* ======================================================================
	メディアとテキスト
====================================================================== */
.st_editor .wp-block-media-text .wp-block-media-text__content {
	margin-bottom: var(--cmsSpace_minusMedium);
}

.st_editor .wp-block-media-text {
	margin-bottom: var(--cmsSpace_large);
}

@media screen and (max-width: 768px) {
	.st_editor .wp-block-media-text.is-stacked-on-mobile {
		gap: var(--cmsSpace_medium);
	}

	.st_editor .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
		padding: 0;
	}
}

/* ******************************************************************************************
	余白（パディング）
****************************************************************************************** */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	背景色選択時
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.st_editor .has-background {
	padding: 2em;
}

/* ボタンの背景色の場合初期値にする */
.st_editor .wp-block-button__link.has-background {
	padding: calc(.667em + 2px) calc(1.333em + 2px);
}

/* 画像の上にテキスト追加した際の左右の余白 */
.st_editor .wp-block-cover,
.st_editor .wp-block-cover-image {
	padding: 2em;
}

@media screen and (max-width: 576px) {
	.st_editor .has-background {
		padding: 2em 1em;
	}

	.st_editor .wp-block-cover,
	.st_editor .wp-block-cover-image {
		padding: 1em;
	}
}

/* ******************************************************************************************
	リンク
****************************************************************************************** */
.st_editor a {
	color: #003399;
	/* 未訪問リンク */
	text-decoration: underline;
	position: relative;
	/* pdf等アイコンの基準設定 */
}
	/* 訪問済みリンク */

/* .st_editor a:visited {
	color: #800080;
} */

.st_editor a:hover {
	color: #0000CC;
	/* ホバー */
}

.st_editor a:active {
	color: #FF0000;
	/* クリック中 */
}

.st_editor a[href^="tel:"] {
	text-decoration: none;
}

/*ページ内リンクのジャンプ先がグローバルナビに隠れないようにする*/
/* .st_editor a.anchor{ display: block;padding-top: 4rem;margin-top: -4rem; } */
@media screen and (max-width: 768px) {
	.st_editor a[href^="tel:"] {
		text-decoration: underline;
	}
}

/* ******************************************************************************************
	リストブロック
****************************************************************************************** */
/* リストが入れ子の場合、margin-bottom削除 */
.st_editor .wp-block-list .wp-block-list {
	margin-bottom: 0;
}

/* list-style領域確保 */
.st_editor ul,
.st_editor ol {
	padding-left: 2em;
}

/* 余白 */
.st_editor li {
	margin-top: 5px;
}

/* 最初の余白は削除 */
.st_editor>.wp-block-list>li:first-of-type {
	margin-top: 0;
}

/* 順序付きの場合数字 */
.st_editor ol {
	list-style-type: decimal;
}

/* 第1階層（塗りつぶしの丸） */
.st_editor ul>li {
	list-style-type: disc;
}

/* 第2階層（塗りつぶしなしの丸） */
.st_editor ul>li>ul>li {
	list-style-type: circle;
}

/* 第3階層（塗りつぶしの四角） */
.st_editor ul>li>ul>li>ul>li {
	list-style-type: square;
}

/* list-style調整 */
.st_editor ul>li::marker {
	color: var(--black);
	font-size: 1.125rem;
}

/* list-style調整 */
.st_editor ol>li::marker {
	font-size: 1rem;
}

/* ヘルパーCSS【hp_listStyleNone】行頭スタイルを消す */
.st_editor .hp_listStyleNone li {
	list-style-type: none;
}

/* ******************************************************************************************
	テーブルブロック
****************************************************************************************** */
.st_editor .wp-block-table td,
.st_editor .wp-block-table th {
	padding: 1em;
	border: 1px solid #f1e8dd;
}

.st_editor .wp-block-table thead {
	border-bottom: 1px solid var(--black);
}

.st_editor .wp-block-table tfoot {
	border-top: 1px solid var(--black);
}

.st_editor .wp-block-table tfoot td {
	background-color: #efefef;
}

.st_editor .wp-block-table {
	background-color: #fff;
}

.st_editor .wp-block-table table {
	width: 100%;
}

.st_editor .wp-block-table th {
	vertical-align: middle;
	padding: 15px;
	background-color: #fbf6f0;
	font-weight: bold;
	text-align: center;
}

.st_editor .wp-block-table td {
	vertical-align: middle;
	padding: 15px;
}

@media screen and (max-width: 768px) {
	.st_editor .wp-block-table {
		overflow-x: auto;
	}

	.st_editor .wp-block-table th {
		text-align: initial;
	}

	.st_editor .wp-block-table th,
	.st_editor .wp-block-table td {
		white-space: nowrap;
	}
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	2カラム比率CSS
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* 共通 */
.st_editor [class*="is-style-hp_tableWidth"] table tbody th,
.st_editor [class*="is-style-hp_tableWidth"] table thead th,
.st_editor [class*="is-style-hp_tableWidth"] table tbody td:nth-child(2n+1) {
	background-color: #fbf6f0;
	color: var(--black);
	font-weight: 600;
}

/* 2:8 */
.st_editor .is-style-hp_tableWidth_28 table th,
.st_editor .is-style-hp_tableWidth_28 table td:nth-child(2n+1) {
	width: 20%;
}

.st_editor .is-style-hp_tableWidth_28 table td:nth-child(2n) {
	width: 80%;
}

/* 3:7 */
.st_editor .is-style-hp_tableWidth_37 table th,
.st_editor .is-style-hp_tableWidth_37 table td:nth-child(2n+1) {
	width: 30%;
}

.st_editor .is-style-hp_tableWidth_37 table td:nth-child(2n) {
	width: 70%;
}

/* 4:6 */
.st_editor .is-style-hp_tableWidth_46 table th,
.st_editor .is-style-hp_tableWidth_46 table td:nth-child(2n+1) {
	width: 40%;
}

.st_editor .is-style-hp_tableWidth_46 table td:nth-child(2n) {
	width: 60%;
}

/* 5:5 */
.st_editor .is-style-hp_tableWidth_55 table th,
.st_editor .is-style-hp_tableWidth_55 table td:nth-child(2n+1) {
	width: 50%;
}

.st_editor .is-style-hp_tableWidth_55 table td:nth-child(2n) {
	width: 50%;
}

/* 6:4 */
.st_editor .is-style-hp_tableWidth_64 table th,
.st_editor .is-style-hp_tableWidth_64 table td:nth-child(2n+1) {
	width: 60%;
}

.st_editor .is-style-hp_tableWidth_64 table td:nth-child(2n) {
	width: 40%;
}

/* 7:3 */
.st_editor .is-style-hp_tableWidth_73 table th,
.st_editor .is-style-hp_tableWidth_73 table td:nth-child(2n+1) {
	width: 70%;
}

.st_editor .is-style-hp_tableWidth_73 table td:nth-child(2n) {
	width: 30%;
}

/* 8:2 */
.st_editor .is-style-hp_tableWidth_82 table th,
.st_editor .is-style-hp_tableWidth_82 table td:nth-child(2n+1) {
	width: 80%;
}

.st_editor .is-style-hp_tableWidth_82 table td:nth-child(2n) {
	width: 20%;
}

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

	/* 表設定>表のセル幅を固定を解除 */
	.st_editor .wp-block-table .has-fixed-layout {
		table-layout: initial;
	}

	/* 幅指定がある2列表の場合1列の100%にする */
	/* ヘッダー、フッターセクションがある場合はスクロール */
	.st_editor [class*="is-style-hp_tableWidth"] table tbody:first-child th,
	.st_editor [class*="is-style-hp_tableWidth"] table tbody:first-child td:nth-child(2n+1),
	.st_editor [class*="is-style-hp_tableWidth"] table tbody:first-child td:nth-child(2n) {
		width: 100%;
		display: block;
		white-space: initial;
	}

	.st_editor [class*="is-style-hp_tableWidth"] table tbody:first-child td {
		border-top: none;
	}

	.st_editor [class*="is-style-hp_tableWidth"] table tbody:first-child tr:first-child td:first-child {
		border-top: 1px solid #f1e8dd;
	}
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	左側に背景色
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.st_editor .is-style-hp_tableLeftColor tbody tr td:first-child {
	background-color: var(--accentColor);
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	キャプション
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.st_editor .wp-block-table figcaption {
	font-size: .9rem;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	デフォルトの表のセル幅を固定を解除
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
@media screen and (max-width: 768px) {
	.st_editor .wp-block-table .has-fixed-layout {
		table-layout: initial;
	}
}

/* ******************************************************************************************
	メディアとテキストブロック
****************************************************************************************** */
.st_editor .wp-block-media-text .wp-block-media-text__content {
	padding: 0;
	padding-right: 5%;
}

.st_editor .wp-block-media-text__media+.wp-block-media-text__content {
	padding-right: 0;
	padding-left: 5%;
}

.st_editor .wp-block-media-text__media img,
.st_editor .wp-block-media-text__media video {
	/* スマホ版の時画像本来の大きさにする */
	width: initial;
	max-width: 100%;
}

/* ******************************************************************************************
	画像ブロック
****************************************************************************************** */
/* 画像本来の大きさにする */
.st_editor .wp-block-image img {
	width: initial;
}

/* キャプション */
.st_editor .wp-caption {
	padding: .75rem;
	border-radius: 4px;
}

.st_editor .wp-caption-text {
	margin: .5rem 0 0 0;
	text-align: center;
}

.st_editor .wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
	/* デフォルトmarginをリセット */
	margin-top: 0;

	/* デフォルトpaddingを再定義 */
	padding: 8px;
	/* デフォルト背景を再定義 */
	background: initial;
	background-color: rgb(0 0 0 / 70%);
}

@media screen and (max-width: 768px) {
	.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
		pointer-events: none;
		/* スマホ版の時キャプションが重なり画像リンクが押せないため */
	}
}

/* ******************************************************************************************
	詩ブロック
****************************************************************************************** */
.wp-block-verse {
	overflow: auto;
	padding: 20px;
	background-color: #f5f5f5;
}

/* ******************************************************************************************
	音声ブロック
****************************************************************************************** */
.wp-block-audio figcaption {
	margin-top: 0;
	font-size: .75rem;
	text-align: center;
}

/* ******************************************************************************************
	ファイルブロック
****************************************************************************************** */
/* デフォルトスタイルリセット */
.st_editor .wp-block-file:not(.wp-element-button) {
	font-size: 1rem;
}

/* ファイルが続いた場合は余白を消す */
.st_editor .wp-block-file:has(+.wp-block-file) {
	margin-bottom: 5px;
}

/* ******************************************************************************************
	引用ブロック
****************************************************************************************** */
.wp-block-quote {
	position: relative;
	padding: 1rem 1.5rem;
}

.wp-block-quote,
.wp-block-quote p {
	font-style: italic;
}

/* ******************************************************************************************
	カラムブロック
****************************************************************************************** */
@media screen and (max-width: 781px) {
	.st_editor div[class^="wp-container-"] {
		gap: 0;
	}

	.st_editor .wp-block-columns.is-not-stacked-on-mobile.is-layout-flex {
		gap: 1rem;
		/* スマホ時、縦並びしない場合のカラム間余白調整 */
	}

	.st_editor .wp-block-columns.is-layout-flex {
		gap: 0rem;
		/* スマホ時、縦並びカラム間の余白調整 */
	}
}

/* ******************************************************************************************
	ギャラリーブロック
****************************************************************************************** */
/* 奇数対策 */
.st_editor :is(.blocks-gallery-grid .blocks-gallery-image,
	.blocks-gallery-grid .blocks-gallery-item,
	.wp-block-gallery .blocks-gallery-image,
	.wp-block-gallery .blocks-gallery-item,
	.wp-block-gallery .wp-block-image) {
	flex-grow: 0 !important;
}

/* 角丸適用時キャプション黒文字対策 */
.st_editor .wp-block-gallery .is-style-rounded {
	color: #fff;
}

/* ******************************************************************************************
	インラインコード
****************************************************************************************** */
.st_editor .wp-block-code {
	background-color: #f5f4f4;
	padding: 20px;
	border-radius: 0;
	font-size: 15px;
}

/* ******************************************************************************************
	詳細ブロック
****************************************************************************************** */
.st_editor .wp-block-details>summary::marker {
	color: var(--mainColor);
	font-size: 1.125rem;
}

/* ******************************************************************************************
	パスワード保護
****************************************************************************************** */
[id^="pwbox"] {
	/* セレクタ名の前方一致 */
	/* パスワード入力ボックス余白 */
	padding: 2px 10px;
	background-color: #fff;
}

label[for^="pwbox"]+input[type="submit"] {
	margin-left: 0;
	padding: 2px 10px;
	border: 1px solid rgb(0 0 0 / 20%);
}

/* ******************************************************************************************
	画像にリンクがあった場合アイコン付与（画像ブロック、メディアとテキスト）
****************************************************************************************** */
/* WPデフォルトライトボックスが付与されてる場合 */
.st_editor .wp-lightbox-container button {
	opacity: 1;
}

/* 画像にリンクがあったらリンクアイコンを表示 */
.st_editor .wp-block-image,
.st_editor .wp-block-media-text__media {
	position: relative;
}

.st_editor .wp-block-image a,
.st_editor .wp-block-media-text__media a {
	display: inline-block;
}

.st_editor .wp-block-image a[target="_blank"]:not([class]),
.st_editor .wp-block-media-text__media a[target="_blank"]:not([class]) {
	padding-left: 0px;
	/* アイコン領域確保0 */
	padding-right: 0px;
	/* アイコン領域確保0 */
}

.st_editor .wp-block-image a::after,
.st_editor .wp-block-media-text__media a::after {
	content: "\f0c1";
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 5px;
	right: 5px;
	width: 30px;
	height: 30px;
	padding: 0;
	border-radius: 5px;
	background-color: #aaa;
	color: #fff;
	font-weight: bold;
	font-size: 1rem;
	font-family: "Font Awesome 5 Free";
}

.st_editor .wp-block-image a::before,
.st_editor .wp-block-media-text__media a::before {
	content: "";
	left: 5px;
}

/* 外部リンク */
.st_editor .wp-block-image a[target="_blank"]:not([class]):after,
.st_editor .wp-block-media-text__media a[target="_blank"]:not([class]):after {
	content: "\f35d";
	color: #fff;
	bottom: initial;
	right: 5px;
}

/* 余白リセット */
.st_editor .wp-block-image> :is(a[href$=".pdf"],
	a[href$=".xlsx"],
	a[href$=".xlsm"],
	a[href$=".xlsb"],
	a[href$=".xltx"],
	a[href$=".xltm"],
	a[href$=".xls"],
	a[href$=".xlt"],
	a[href$=".xml"],
	a[href$=".xlam"],
	a[href$=".xla"],
	a[href$=".xlw"],
	a[href$=".xlr"],
	a[href$=".doc"],
	a[href$=".docm"],
	a[href$=".docx"],
	a[href$=".dot"]) {
	padding-left: 0;
}

/* 余白リセット */
.st_editor .wp-block-media-text__media> :is(a[href$=".pdf"],
	a[href$=".xlsx"],
	a[href$=".xlsm"],
	a[href$=".xlsb"],
	a[href$=".xltx"],
	a[href$=".xltm"],
	a[href$=".xls"],
	a[href$=".xlt"],
	a[href$=".xml"],
	a[href$=".xlam"],
	a[href$=".xla"],
	a[href$=".xlw"],
	a[href$=".xlr"],
	a[href$=".doc"],
	a[href$=".docm"],
	a[href$=".docx"],
	a[href$=".dot"]) {
	padding-left: 0;
}

/* pdf */
.st_editor .wp-block-image> :is(a[href$=".pdf"],
	a[href$=".xlsx"],
	a[href$=".xlsm"],
	a[href$=".xlsb"],
	a[href$=".xltx"],
	a[href$=".xltm"],
	a[href$=".xls"],
	a[href$=".xlt"],
	a[href$=".xml"],
	a[href$=".xlam"],
	a[href$=".xla"],
	a[href$=".xlw"],
	a[href$=".xlr"],
	a[href$=".doc"],
	a[href$=".docm"],
	a[href$=".docx"],
	a[href$=".dot"]):before {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 5px;
	left: 5px;
	width: 30px;
	height: 30px;
	padding: 0;
	border-radius: 5px;
	background-color: #fff;
	color: #fff;
	transform: initial;
}

/* pdf */
.st_editor .wp-block-media-text__media> :is(a[href$=".pdf"],
	a[href$=".xlsx"],
	a[href$=".xlsm"],
	a[href$=".xlsb"],
	a[href$=".xltx"],
	a[href$=".xltm"],
	a[href$=".xls"],
	a[href$=".xlt"],
	a[href$=".xml"],
	a[href$=".xlam"],
	a[href$=".xla"],
	a[href$=".xlw"],
	a[href$=".xlr"],
	a[href$=".doc"],
	a[href$=".docm"],
	a[href$=".docx"],
	a[href$=".dot"]):before {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 5px;
	left: 5px;
	width: 30px;
	height: 30px;
	padding: 0;
	border-radius: 5px;
	background-color: #fff;
	color: #fff;
	transform: initial;
	z-index: 1;
}

/* pdf */
.st_editor .wp-block-image>a[href$=".pdf"]:before,
.st_editor .wp-block-media-text__media>a[href$=".pdf"]:before {
	content: "\f1c1";
	/*pdfアイコン*/
	color: #ff2116;
}

/* excel */
.st_editor .wp-block-image> :is(a[href$=".xlsx"],
	a[href$=".xlsm"],
	a[href$=".xlsb"],
	a[href$=".xltx"],
	a[href$=".xltm"],
	a[href$=".xls"],
	a[href$=".xlt"],
	a[href$=".xml"],
	a[href$=".xlam"],
	a[href$=".xla"],
	a[href$=".xlw"],
	a[href$=".xlr"],
):before {
	content: "\f1c3";
	color: #107c41;
}

/* excel */
.st_editor .wp-block-media-text__media> :is(a[href$=".xlsx"],
	a[href$=".xlsm"],
	a[href$=".xlsb"],
	a[href$=".xltx"],
	a[href$=".xltm"],
	a[href$=".xls"],
	a[href$=".xlt"],
	a[href$=".xml"],
	a[href$=".xlam"],
	a[href$=".xla"],
	a[href$=".xlw"],
	a[href$=".xlr"],
):before {
	content: "\f1c3";
	color: #107c41;
}

/* Word */
.st_editor .wp-block-image> :is(a[href$=".doc"],
	a[href$=".docm"],
	a[href$=".docx"],
	a[href$=".dot"]):before {
	content: "\f1c2";
	color: #185abd;
}

/* Word */
.st_editor .wp-block-media-text__media> :is(a[href$=".doc"],
	a[href$=".docm"],
	a[href$=".docx"],
	a[href$=".dot"]):before {
	content: "\f1c2";
	color: #185abd;
}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	cms > アイコン表示
//////////////////////////////////////////////////////////////////////////////////////////////////// */
.st_editor a[target="_blank"]:not([class]) {
	/* アイコン領域確保 */
	padding-right: 20px;
}

.st_editor a[target="_blank"]:not([class]):after {
	/* 新しいタブで開くリンクにクラスが付いていなければ表示させる */
	content: "\f35d";
	/*blankアイコン*/
	color: #aaa;
	font-weight: bold;
	font-size: .7rem;
	font-family: "Font Awesome 5 Free";
	position: absolute;
	bottom: -3px;
	right: 0;
}

.st_editor a[download]:after {
	content: "\f56d";
	display: inline-block;
	padding-left: .45rem;
	font-weight: bold;
	font-size: 1rem;
	font-family: "Font Awesome 5 Free";
}

/* アイコン領域確保 */
.st_editor :is(a[href$=".pdf"],
	a[href$=".xlsx"],
	a[href$=".xlsx"],
	a[href$=".xlsm"],
	a[href$=".xlsb"],
	a[href$=".xltx"],
	a[href$=".xltm"],
	a[href$=".xls"],
	a[href$=".xlt"],
	a[href$=".xml"],
	a[href$=".xlam"],
	a[href$=".xla"],
	a[href$=".xlw"],
	a[href$=".xlr"],
	a[href$=".zip"],
	a[href$=".doc"],
	a[href$=".docm"],
	a[href$=".docx"],
	a[href$=".dot"],
) {
	padding-left: calc(15px + 5px);
	/* アイコン幅 + 余白 */
}

/* アイコン位置調整 */
.st_editor :is(a[href$=".pdf"],
	a[href$=".zip"],
	a[href$=".txt"],
	a[href$=".xlsx"],
	a[href$=".xlsm"],
	a[href$=".xlsb"],
	a[href$=".xltx"],
	a[href$=".xltm"],
	a[href$=".xls"],
	a[href$=".xlt"],
	a[href$=".xml"],
	a[href$=".xlam"],
	a[href$=".xla"],
	a[href$=".xlw"],
	a[href$=".xlr"],
	a[href$=".doc"],
	a[href$=".docm"],
	a[href$=".docx"],
	a[href$=".dot"]):before {
	position: absolute;
	top: calc(50% + 3px);
	/* 中央値 + 微調整 */
	left: 0px;
	transform: translateY(-50%);
	font-weight: bold;
	font-size: 1rem;
	font-family: "Font Awesome 5 Free";
}

.st_editor a[href$=".pdf"]:before {
	content: "\f1c1";
	/*pdfアイコン*/
	color: #ff2116;
}

.st_editor a[href$=".zip"]:before {
	content: "\f1c6";
	/*zipアイコン*/
	color: #444;
}

.st_editor a[href$=".txt"]:before {
	content: "\f15c";
	/*txtアイコン*/
	color: #444;
}

/* ダウンロードボタンのbefore、アイコン非表示 */
.wp-block-file__button::before {
	display: none;
}

/* excelアイコン */
.st_editor :is(a[href$=".xlsx"],
	a[href$=".xlsm"],
	a[href$=".xlsb"],
	a[href$=".xltx"],
	a[href$=".xltm"],
	a[href$=".xls"],
	a[href$=".xlt"],
	a[href$=".xml"],
	a[href$=".xlam"],
	a[href$=".xla"],
	a[href$=".xlw"],
	a[href$=".xlr"]):before {
	content: "\f1c3";
	color: #107c41;

}

/* wordアイコン */
.st_editor :is(a[href$=".doc"],
	a[href$=".docm"],
	a[href$=".docx"],
	a[href$=".dot"]):before {
	content: "\f1c2";
	color: #185abd;
}

/* ファイルサイズ */
.fileInfo {
	margin-left: 15px;
	color: #888;
}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	レスポンシブ補完（1200px / 768px / 576px）
//////////////////////////////////////////////////////////////////////////////////////////////////// */
@media screen and (max-width: 1200px) {
	.st_editor :is(h2, h3, h4, h5, h6) {
		box-sizing: border-box;
		max-width: 100%;
	}
}

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

	/* 標準外のtableとFlexible Table Blockにも横スクロールを保証する */
	.st_editor>table,
	.st_editor .wp-block-flexible-table-block-table {
		display: block;
		width: 100%;
		max-width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.st_editor>table :is(th, td),
	.st_editor .wp-block-flexible-table-block-table :is(th, td) {
		white-space: nowrap;
	}

	.st_editor :is(iframe, video, object, embed) {
		max-width: 100%;
	}

	.st_editor video {
		height: auto;
	}
}

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

	.st_editor .wp-block-table :is(th, td),
	.st_editor>table :is(th, td),
	.st_editor .wp-block-flexible-table-block-table :is(th, td) {
		padding: 10px;
		/* font-size: 0.875rem; */
	}

	.st_editor h2,
	.el_editorTitle_leftBorder {
		padding: 0.7em 0.8em;
	}

	.st_editor h3 {
		padding: 10px 10px 10px 24px;
	}
}

/* ******************************************************************************************
	WordPressデフォルトボタン（bl_roundButton準拠）
****************************************************************************************** */
.st_editor .wp-block-button__link {
	display: inline-grid;
	grid-template-columns: minmax(0, 1fr) 30px;
	gap: 1rem;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: fit-content;
	min-width: 250px;
	min-height: 72px;
	padding: 25px;
	position: relative;
	color: var(--black);
	font-family: var(--font-base);
	font-size: var(--fontSize18);
	font-weight: 500;
	line-height: 1.5;
	text-align: center;
	text-decoration: none;
	background-color: #fff;
	border: 1px solid #777;
	border-radius: 100vmax;
	transition: color 0.3s ease, background-color 0.3s ease;
}

/* 矢印の横線 */
.st_editor .wp-block-button__link::before {
	grid-column: 2;
	grid-row: 1;
	justify-self: end;
	display: block;
	width: 30px;
	height: 1px;
	content: "";
	background-color: var(--accentColor);
	transition: transform 0.3s ease;
}

/* 矢印の先端 */
.st_editor .wp-block-button__link::after {
	grid-column: 2;
	grid-row: 1;
	justify-self: end;
	display: block;
	box-sizing: border-box;
	width: 9px;
	height: 9px;
	content: "";
	border-top: 1px solid var(--accentColor);
	border-right: 1px solid var(--accentColor);
	transform: rotate(45deg);
	transition: transform 0.3s ease;
}

@media (hover: hover) {
	.st_editor .wp-block-button__link:hover {
		color: var(--black);
	}

	.st_editor .wp-block-button__link:hover::before {
		transform: translateX(6px);
	}

	.st_editor .wp-block-button__link:hover::after {
		transform: translateX(6px) rotate(45deg);
	}
}

.st_editor .wp-block-button__link:focus-visible {
	outline: 2px solid var(--accentColor);
	outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {

	.st_editor .wp-block-button__link,
	.st_editor .wp-block-button__link::before,
	.st_editor .wp-block-button__link::after {
		transition: none;
	}
}

@media screen and (max-width: 992px) {
	.st_editor .wp-block-button__link {
		max-width: 100%;
		min-width: min(250px, 100%);
		min-height: 52px;
		padding: 16px 22px;
	}
}

@media screen and (max-width: 576px) {
	.st_editor .wp-block-button__link {
		        grid-template-columns: minmax(0, 1fr) 24px;
        width: 100%;
        min-width: 0;
        min-height: 50px;
        padding: 13px 20px;
        font-size: var(--fontSize16);
        gap: 2rem;
	}

	.st_editor .wp-block-button__link::before {
		width: 24px;
	}
}