@charset "utf-8";

/* サイト共通 ページ構成オブジェクト --------------------------------------------------------------------------------*/

/* IEでスクロールバーがコンテンツに重なる問題を解決 */
@-ms-viewport {
	width: auto;
	initial-scale: 1;
}

html {
	cursor: auto;
	overflow: auto;	/* iOSでbodyにoverflow: hiddenが効かないとき */
	/*
	scroll-behavior: smooth;
	scroll-padding-top: 250px;	/＊ ヘッダーを固定した分、アンカーの表示位置をずらす ＊/
	*/
}

/*
html {
	visibility: hidden;
}

	html.wf-active,
	html.loading-delay {
		visibility: visible;	/＊ Adobe Fontsの読み込みが完了したら表示 ＊/
	}
*/

body {
	/*
	background-color: #fff;
	*/
	min-width: 1150px;
	overflow-x: hidden;
}

	.viewmode-mobile {
		border-top: none;
		min-width: 0px;
	}

	/* テーマカスタマイザーでの編集中は管理バーを非表示した分、空きスペースを詰める */
	body.customize-partial-edit-shortcuts-shown {
		margin-top: -32px;
	}

	/* クッキーへの同意が表示されている場合 */
	.has-cookie-bar body {
		padding-bottom: 70px;
	}

	@media screen {
		.header-fixed {
			padding-top: 81px;
		}

			.viewmode-mobile.header-fixed body {
				padding-top: 0px;
			}
	}


/* コンテンツのwrapper */
.container {
	clear: both;
	margin: 3em auto 120px auto;
	padding: 0px 0px 0px 0px;
	position: relative;
	/*
	max-width: 960px;
	*/
}

	.viewmode-mobile .container {
		margin: 30px auto 0px auto;
		width: auto;
	}

	/* CTAありの場合 */
	.page-template-page_cta .container {
		margin-bottom: 0;
	}

		.viewmode-mobile.page-template-page_cta .container {
			margin-bottom: 0;
		}

	/* 2カラムの場合 */
	.content-2col .container {
		align-items: flex-start;
		display: flex;
		gap: 0px 70px;
		justify-content: center;
	}

		.viewmode-mobile.content-2col .container {
			display: block;
		}

	/* サイドバーにウィジェットがある場合 */
	.has-sidebar-sidebar .container {
	}

		.viewmode-mobile.has-sidebar-sidebar .container {
		}

	/* トップバーにウィジェットがある場合 */
	.has-sidebar-topbar .container {
		margin-top: 45px;
	}

		.viewmode-mobile.has-sidebar-topbar .container {
			margin-top: 30px;
		}

	.content_wrapper {
		/*
		float: right;
		*/
		margin: 0px;
		padding: 50px 0px 0px 0px;
		position: relative;
		/*
		width: 820px;
		*/
	}

		.viewmode-mobile .content_wrapper {
			float: none;
			padding: 0px 0px 0px 0px;
			position: static;
			width: auto;
		}


/*
***********************************************************************************************
コンテンツ全体
***********************************************************************************************
*/

.content {
	/*
	background-color: #fff;
	font-size:100%;
	*/
	min-height: 360px;
	/*
	min-width: 820px;
	*/
	padding: 0px 0px 0px 0px;
	text-align: left;
}

	/* clearfix */
	.content::after {
		clear: both;
		content: " ";
		display: block;
		font-size: 0;
		height: 0;
		visibility: hidden;
	}

	.viewmode-mobile .content {
		min-height: 150px;
		min-width: 0px;
		padding: 0px var(--wp--style--root--padding-right) 3.5em var(--wp--style--root--padding-left);
		padding-left: 0;
		padding-right: 0;
	}

	/* 2カラムの場合 */
	.content-2col .content {
		margin-left: 0;
		margin-right: 0;
		text-align: left;
		width: 680px;
	}

		.viewmode-mobile.content-2col .content {
			width: auto;
		}

	/* サイドバーにウィジェットがある場合 */
	.has-sidebar-sidebar .content {
	}

		.viewmode-mobile.has-sidebar-sidebar .content {
		}

	.content h1:first-child {
		/*
		margin-bottom: 25px;
		*/
	}

	/* 投稿部分 */
	.content .entry {
		clear: both;
		padding: 0px;
	}

	/* ブロックエディターの投稿部分 */
	.entry-content {
	}


/*
***********************************************************************************************
サイドバー
***********************************************************************************************
*/

#sidebar {
	margin-top: 40px;
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: var(--wp--style--global--content-size);
	/*
	padding-right: var(--wp--style--root--padding-right);
	padding-left: var(--wp--style--root--padding-left);
	*/
}

	.viewmode-mobile #sidebar {
		background-color: var(--wp--preset--color--color-4);
		border-top: 5px solid var(--wp--preset--color--color-1);
		float: none;
		margin: 0px;
		padding: 35px 15px 35px 15px;
		position: static;
		width: auto;
	}

	/* 2カラムの場合 */
	.content-2col #sidebar {
		float: left;
		margin-top: 0;
		margin-left: 0 !important;
		margin-right: 0 !important;
		width: 300px;
		z-index: 1;	/* fix for jquery.sticky-sidebar.js */
	}

		.viewmode-mobile.content-2col #sidebar {
			float: none;
			width: auto;
		}

	.sidebar__inner {
		align-items: baseline;
		display: flex;
		gap: 0 40px;
		flex-wrap: wrap;
	}

		.viewmode-mobile .sidebar__inner {
			display: block;
		}

		/* 2カラムの場合 */
		.content-2col .sidebar__inner {
			display: block;
			padding-bottom: 4em;
		}

			.viewmode-mobile.content-2col .sidebar__inner {
				padding-bottom: 0;
			}

		.sidebar__inner > .widget {
			width: calc((100% - 40px)/2);
		}

			.viewmode-mobile .sidebar__inner > .widget {
				width: auto;
			}

			/* 2カラムの場合 */
			.content-2col .sidebar__inner > .widget {
				width: auto;
			}
