@charset "UTF-8";

/*
	* CMSスタイルシート
	* エディターに関するスタイル
	* ver1
	* Copyright (C) ●●など
	* 更新履歴
		└ 
*/
/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	CMS
//////////////////////////////////////////////////////////////////////////////////////////////////// */
:root {
	/* cmsの余白設定 */
	--cmsSpace_small: 10px;
	--cmsSpace_medium: 30px;
	--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 h2,
.st_editor h3,
.st_editor h4,
.st_editor h5,
.st_editor h6 {
	color: var(--black);
	font-weight: bold;
	letter-spacing: 1px;
}

/* ======================================================================
	H2
====================================================================== */
.st_editor h2,
.el_editorTitle_leftBorder {
	position: relative;
	width: 100%;
	padding: 15px 15px 15px 27px;
	background-color: var(--mainColor);
	color: #fff;
	font-weight: bold;
	font-size: var(--fontSize30);
	border-radius: 20px;
	background-image: url(../img/bg-h2.png);
	background-position: right;
	background-repeat: no-repeat;
}

@media (max-width: 576px) {

	.st_editor h2,
	.el_editorTitle_leftBorder {
		padding: 8px 5px 8px 16px;
		font-size: var(--fontSize22);
		border-radius: 15px;
		background-size: contain;
	}
}

/* ======================================================================
	H3
====================================================================== */
.st_editor h3 {
	position: relative;
	padding: 12px 12px 12px 40px;
	font-weight: bold;
	font-size: var(--fontSize26);
	border-radius: 20px;
}

.st_editor h3::before {
	content: "";
	background-image: url(../img/icon-h3.png);
	width: 30px;
	height: 40px;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	background-repeat: no-repeat;
	background-size: contain;
}


@media (max-width: 576px) {
	.st_editor h3 {
		font-size: var(--fontSize17);
		padding: 12px 12px 12px 23px;
	}

	.st_editor h3::before {
		width: 15px;
		height: 20px;
	}
}

/* ======================================================================
	H4
====================================================================== */
.st_editor h4 {
	position: relative;
	padding: 12px 12px 12px 27px;
	font-size: var(--fontSize20);
	background-color: #e6dea3;
	border-radius: 10px
}

/* .st_editor h4::after{
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	left: .5rem;
	width: 5px;
	height: 30px;
	margin: auto;
	background-color: var(--mainColor);
	border-radius: 3px;
} */
/* ======================================================================
	H5
====================================================================== */
.st_editor h5 {
	position: relative;
	padding: 12px 12px 12px 27px;
	border-bottom: 1px dotted var(--mainColor);
	font-size: var(--fontSize18);
	border-bottom: solid 1px var(--black);
}

/* .st_editor h5::after{
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	left: .5rem;
	width: 5px;
	height: 15px;
	margin: auto;
	background-color: var(--mainColor);
	border-radius: 3px;
} */
/* ======================================================================
	H6
====================================================================== */
.st_editor h6 {
	display: inline-block;
	padding: 10px 27px;
	font-size: var(--fontSize18);
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	galleryブロック
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption):before {
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	ボタンブロック
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ======================================================================
	デフォルトボタン設定
====================================================================== */
/* WordPressボタンブロック全体の設定 */
.st_editor .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	background-color: #36a853;
	color: #fff;
	font-size: 1rem;
	font-weight: 600;
	text-decoration: none;
	padding: .75rem .5rem .75rem 1.5rem;
	border-radius: 9999px;
	transition: background-color 0.3s ease;
	gap: 1rem;
	min-width: 200px;
}

/* 丸付き矢印 */
.st_editor .wp-block-button__link::after {
	content: "→";
	flex-shrink: 0;
	/* ← 矢印部分が潰れないように */
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.8em;
	height: 1.8em;
	border-radius: 50%;
	background-color: #fff;
	/* 丸の色 */
	color: #36a853;
	/* 矢印の色 */
	font-weight: bold;
	transition: all 0.3s ease;
}

/* ホバー時アニメーション */
.st_editor .wp-block-button__link:hover {
	background-color: #36a853;
}

.st_editor .wp-block-button__link:hover::after {
	background-color: #fff;
	color: #36a853;
	transform: translateX(4px);
}

/* ======================================================================
	オリジナルボタン
====================================================================== */
.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);
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	テキスト関係
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ======================================================================
	段落、リスト、引用、コード、詳細、整形済みテキスト、プルクオート、テーブル、詩
====================================================================== */
.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) {
	margin-bottom: var(--cmsSpace_medium);
}

@media (max-width: 576px) {

	.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) {
		font-size: var(--fontSize14);
		margin-bottom: 20px;
	}
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	メディア
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ======================================================================
	画像、ギャラリー、音声、カバー、ファイル、動画、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: var(--black);
	text-decoration: underline;
	position: relative;
	/* pdf等アイコンの基準設定 */
}

.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 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(--mainColor);
	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 #d7e9d9;
}


.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: #f3fdf4;
	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: #f3fdf4;
	color: var(--black);
	font-weight: bold;
}

/* 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 #999;
	}
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	左側に背景色
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.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;
}

/* ******************************************************************************************
	引用ブロック
****************************************************************************************** */
.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";
	    margin-right: 3px;
}

.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;
}



/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	オリジナルブロック
//////////////////////////////////////////////////////////////////////////////////////////////////// */

/* ******************************************************************************************
	flow diagram
****************************************************************************************** */
.flow-diagram-block .flow-step {
	border: solid 2px #f4ac98;
	padding: 2rem;
	border-radius: 20px;
}

.flow-diagram-block .step_num {
	font-size: var(--fontSize20);
	font-weight: bold;
	background-color: #fcdbd2;
	color: #ec8062;
	border-radius: 50vh;
	/* width: 8rem; */
	text-align: center;
	padding: 0 2rem;
	margin-bottom: 0;
}

.flow-diagram-block h3 {
	background-color: initial;
	line-height: 2;
}

.flow-diagram-block h3::after {
	content: none;
}

.flow-diagram-block .flow-step-top {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.flow-diagram-block .flow-arrow {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 2rem;
	/* 矢印の大きさを調整 */
	color: #888;
	/* 矢印の色を調整 */
	margin: 8px 0;
	/* 上下の余白を調整 */
	/* 下向き矢印のアイコン（FontAwesome等を使わない場合） */
}

.flow-diagram-block .flow-arrow::before {
	content: "";
	display: block;
	width: 24px;
	height: 16px;
	background: #ec8062;
	/* 矢印の色 */
	clip-path: polygon(50% 100%, 0 0, 100% 0);
}

.flow-step-top h3 {
	padding: 0;
	margin-bottom: 0;
}

.flow-step-top h3::before {
	display: none;
	content: none;
}

.flow-content {
	transform: rotate(0.03deg);
	transform: rotateZ(0.03deg);
}


@media (max-width: 576px) {
	.flow-diagram-block .flow-step {
		padding: 1rem;
	}

	.flow-diagram-block .step_num {
		font-size: var(--fontSize14);
		padding: 0 1rem;
	}

	.flow-content {
		font-size: var(--fontSize14);
	}


}



/* ******************************************************************************************
	vacancy
****************************************************************************************** */
.vacancy-list {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	padding-left: 0 !important;
}

.st_editor .vacancy-listitem {
	width: calc((100% - 2rem) / 3);
	list-style-type: none;
	border-bottom: solid 1px #9f9f9f;
}

.st_editor .vacancy-head {
	margin-bottom: .5rem;
}

.vacancy-listitem {
	display: flex;
	gap: 1rem;
	justify-content: space-between;
}

.vacancy-status {
	background-color: #f08d72;
	font-weight: bold;
	border-radius: 50vh;
	text-align: center;
}

.vacancy-status.manshitsu {
	background-color: #f08d72;
	border: solid 1px #f08d72;
	color: #fff;
}

.vacancy-status.kushitsu {
	background-color: #fff;
	border: solid 1px #f08d72;
	color: var(--black);
}

@media (max-width: 768px) {
	.st_editor .vacancy-listitem {
		width: calc((100% - 1rem) / 2);
	}
}

@media (max-width: 576px) {
	.vacancy-listitem {
		flex-direction: column;
		gap: 0;
		display: flex;
		align-items: center;
	}
}




/* ******************************************************************************************
	サービスリスト
****************************************************************************************** */
.service__list {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
	list-style: none;
	padding: 0;
	justify-content: center;
}

.service__list .service-txt {
	text-align: center;
	/* font-size: var(--fontSize20); */
	font-weight: 600;
	margin-bottom: 0;
}


.service__item {
	width: calc((100% - 4rem) / 3);
}

.service__item img {
	max-width: 100px;
	margin-bottom: 0.5rem;
}

.st_editor ul.service__list {
	padding-left: 0;
}

.st_editor ul.service__list>li {
	background-color: #f4f8f9;
	list-style-type: none;
	display: flex;
	justify-content: center;
	flex-direction: column;
	align-items: center;
	/* aspect-ratio: 3 / 2; */
	gap: 1rem;
	padding: 2rem;
	border-radius: 5px;
	/* font-size: 16px;
}