@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/*--------------------------------------------------
レイアウト変更
--------------------------------------------------*/
:root {
	--sidebar-width: 25%;
	--sidebar-padding: 20px;
	--sidebar-menu-current-border-width: 6px;
	--sidebar-bg: #f0f2f5;
	--breadcrumb-height: 2.25em;
}

.c-infoBar__text a.c-infoBar__btn {
	color: #000;
}
@media (max-width: 599px) {
	.c-infoBar__text {
		font-size: 2.25vw;
	}
}

.p-spMenu__body .swell-block-box-menu.is-style-default.main-menu {
	margin: -4vw;
}
.p-spMenu__inner::before {
	background-color: var(--sidebar-bg);
}

aside#sidebar .swell-block-box-menu.is-style-default.main-menu {
	margin: calc(-1 * var(--sidebar-padding));
}

aside#sidebar
	.swell-block-box-menu.is-style-default.main-menu
	.swell-block-box-menu__item,
.p-spMenu__body
	.swell-block-box-menu.is-style-default.main-menu
	.swell-block-box-menu__item {
	border: none;
}

aside#sidebar
	.swell-block-box-menu.is-style-default.main-menu
	.swell-block-box-menu__item
	a,
.p-spMenu__body
	.swell-block-box-menu.is-style-default.main-menu
	.swell-block-box-menu__item
	a {
	padding-left: calc(1em + var(--sidebar-menu-current-border-width));
}

aside#sidebar
	.swell-block-box-menu.is-style-default.main-menu
	.swell-block-box-menu__item.current,
.p-spMenu__body
	.swell-block-box-menu.is-style-default.main-menu
	.swell-block-box-menu__item.current {
	border-left: var(--sidebar-menu-current-border-width) solid
		var(--the-icon-color);
	background-color: #fff;
}

aside#sidebar
	.swell-block-box-menu.is-style-default.main-menu
	.swell-block-box-menu__item.current
	a,
.p-spMenu__body
	.swell-block-box-menu.is-style-default.main-menu
	.swell-block-box-menu__item.current
	a {
	padding-left: 1em;
}

/*PCのみ*/
@media (min-width: 960px) {
	#content {
		padding: 0 !important;
		display: flex;
		justify-content: space-between;
		min-height: 100vh;
		width: 100%;
		max-width: 100%;
		margin-bottom: 0;
	}

	.l-header__inner {
		padding: 0 20px;
		margin: 0;
		width: 100%;
		max-width: 100%;
	}

	#breadcrumb {
		margin-left: min(var(--sidebar-width), 300px);
		height: var(--breadcrumb-height);
	}
	#breadcrumb .p-breadcrumb__list {
		padding-left: 20px;
	}

	aside#sidebar {
		width: var(--sidebar-width) !important;
		max-width: 300px;
		background-color: var(--sidebar-bg);
		border-right: 1px solid #e5e9f2;
		padding: var(--sidebar-padding);
		flex-shrink: 0;
	}

	#breadcrumb + #content aside#sidebar {
		margin-top: calc(
			-1 * var(--breadcrumb-height) - 4px
		); /* パンくずリストずらした分上げる */
	}

	main#main_content {
		max-width: 1200px;
		margin: 0 auto;
		padding-top: 2em;
		margin-bottom: 5em;
	}
}

/*--------------------------------------------------
カスタムプロパティ類
--------------------------------------------------*/
:root {
	/*-- swellカスタムプロパティ上書き --*/
	--color_border: hsl(0deg 0.75% 50.17% / 73%);
	--swl-box_shadow: 0 2px 4px rgb(0 0 0 / 27%), 0 4px 4px -4px rgb(0 0 0 / 24%);
	/*-- 独自 --*/
	--my-sub-color-blue: #274470;
	--my-color-gray: #8f8b8b;
	--my-default-box-shadow: 0px 0px 9px -3px #3f3f3fbd;
	--my-border-color: #bdbdbd !important;
}

/*キーフレーム設定*/
@keyframes fadeIn {
	to {
		opacity: 1;
	}
}
@keyframes fadeOut {
	to {
		opacity: 0;
	}
}

/*--------------------------------------------------
カスタム
---------------------------------------------------*/
.item {
	background-color: white;
	border: solid 1px #616161;
	border-radius: 0.8rem;
	padding: 1.5rem;
}

.w3eden > a {
	display: inline;
}

.p-articleThumb {
	margin: 2em 0;
	text-align: center;
	width: 100%;
}

.p-articleThumb__img {
	max-height: 18em;
	width: auto;
	margin: 0 auto;
}

.c-fixBtn {
	color: #fff;
	background-color: var(--color_main);
	opacity: 1;
}
.c-fixBtn:hover {
	box-shadow: 1px 1px 4px #0000008f;
}

/*--------------------------------------------------
オプション
--------------------------------------------------*/
.hidden-item {
	display: none;
}
/*スマホのみ*/
@media (max-width: 599px) {
	.sp-other {
		display: none;
	}
}
/*スマホ以外*/
@media (min-width: 600px) {
	.my-sp_only {
		display: none;
	}
}
.column-style-none {
	border: none !important;
	padding: 0 !important;
	background: none !important;
}
.none-padding {
	padding: 0 !important;
}
.none-margin-top {
	margin-top: 0 !important;
}
/* 余白 */
.mb-1 {
	margin-bottom: 1em;
}
.mb-2 {
	margin-bottom: 2em;
}
.mt-0 {
	margin-top: 0 !important;
}
.mt-1 {
	margin-top: 1em !important;
}
/* 幅em */
.w10e {
	width: 1em !important;
}
.w20e {
	width: 2em !important;
}
.w30e {
	width: 3em !important;
}
.w40e {
	width: 4em !important;
}
/* 幅パーセント */
.w50p {
	width: 50% !important;
}
.w70p {
	width: 70% !important;
}
.w100p {
	width: 100% !important;
}
/* 角丸 */
.radius-1 {
	border-radius: 1rem !important;
}
/* 任意の角のみ角丸 */
.radius-lt a {
	border-radius: 1rem 0 0 0 !important;
}
.radius-lb a {
	border-radius: 0 0 0 1rem !important;
}
.radius-rt a {
	border-radius: 0 1rem 0 0 !important;
}
.radius-rb a {
	border-radius: 0 0 1rem 0 !important;
}
/*---左にインデント---*/
.indent-left-10 {
	margin-left: 1em !important;
}
.indent-left-15 {
	margin-left: 1.5em !important;
}
.indent-left-20 {
	margin-left: 2em !important;
}
.indent-left-25 {
	margin-left: 2.5em !important;
}
.indent-left-30 {
	margin-left: 3em !important;
}

/*--- 縦書き ---*/
p.vertical {
	writing-mode: vertical-rl;
	width: 100%;
	overflow-x: scroll;
	max-height: 90vh;
	line-height: 2.5;
}

@media not all and (min-width: 960px) {
	p.vertical {
		max-height: calc(90vh - 3.5em - var(--logo_size_sp));
	}
}

/*--------------------------------------------------
PCヘッダー調整
--------------------------------------------------*/
@media (min-width: 960px) {
	/*それぞれの字間、フォントウェイト*/
	.c-gnav > .menu-item > a .ttl {
		letter-spacing: 0.05em;
		font-weight: 700;
	}
}

/*--------------------------------------------------
メインビジュアル
---------------------------------------------------*/
.-height-img .p-mainVisual__img {
	border-radius: 15px;
}

#main_visual {
	padding-left: calc((100% - var(--container_size)) / 2);
	padding-right: calc((100% - var(--container_size)) / 2);
}

/*--------------------------------------------------
サイドバー
--------------------------------------------------*/
/* aside h2{
	margin-bottom: 0!important;
}
aside h2::after{
	display:none!important;
} */

aside .is-style-emboss_box .p-toc {
	padding: 0;
	border: none;
}

/* @media (min-width: 960px) {
	.-sidebar-on .l-mainContent {
		width: calc(100% - 25% - var(--swl-sidebar_margin));
	}
}
 */

/*--------------------------------------------------
スマホ固定フッターメニュー
--------------------------------------------------*/
#fix_bottom_menu .menu_list {
	height: 3.5em;
	min-height: 50px;
}

#fix_bottom_menu .menu_list span {
	font-size: 0.8em;
	font-weight: bold;
}

@media not all and (min-width: 960px) {
	#fix_bottom_menu + .p-fixBtnWrap {
		bottom: 3.75em;
	}
}
#fix_bottom_menu .menu_list .fix-home {
	height: 4em;
	width: 7em;
	bottom: 0;
	background-color: #fff;
	color: #000;
	position: absolute;
	right: calc(50% - 3.5em);
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 60px;
	box-shadow: 0 0 4px -2px #00000069;
	border-radius: 2.5em 2.5em 0 0;
}

#fix_bottom_menu .menu-item a {
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/*--------------------------------------------------
各ブロックカスタマイズ
--------------------------------------------------*/
/*--- アコーディオン ---*/
.swell-block-accordion.is-style-main .swell-block-accordion__body {
	background-color: #fff;
}

/*--- ブロック ---*/
/*線付*/
.has-border.-border01 {
	border-radius: 1em;
	background-color: #fff;
}

/*---段落ブロック---*/
.post_content p {
	margin-bottom: 1.5em !important;
}

/*---吹き出し---*/
.c-balloon__text p {
	margin-bottom: 0 !important;
}

/*---見出しデフォ設定---*/
.post_content h2 {
	margin-top: 3em;
	margin-bottom: 1.75em;
}
.post_content h3 {
	margin-top: 2.75em;
	margin-bottom: 1.25em;
}
.post_content h2 + h3 {
	margin-top: 1em;
}
.post_content p + h2 {
	margin-bottom: 1.25em;
}

/*---スクロールヒント---*/
.c-scrollHint span {
	opacity: 1;
}

/*---MOREボタン---*/
.is-style-more_btn a {
	color: #222;
	border: 1px solid #838383;
	font-weight: bold;
	box-shadow: 0px 4px 3px -4px #222;
}

.is-style-more_btn a:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1),
		0 12px 24px -12px rgba(0, 0, 0, 0.2); /*MOREボタンホバー時*/
}

/*--- 投稿リスト ---*/
/* なぜか3列スタイルが読み込まれなかったので */
@media (min-width: 960px) {
	.-type-card.-pc-col3 .p-postList__item {
		width: 33.3333333333%;
	}
}

/*---リンクリスト（通常）---*/
.swell-block-linkList.is-style-default.-flex span {
	text-decoration: underline var(--my-color-gray);
}
/*---ページ下用リンクリスト（ボタン）---*/
.swell-block-linkList.is-style-button.next-page-btn {
	padding: 2em 0;
	border-top: 1px gray solid;
	border-bottom: 1px gray solid;
	margin: 6em 0 2em;
}
/*---div.浮き出し---*/
.is-style-emboss_box {
	border-radius: 1em; /*角丸*/
	box-shadow: var(--my-default-box-shadow) !important;
	/* 	padding: 0 1em 1em; */
}
.is-style-emboss_box + h2.is-style-section_ttl {
}

/*---リッチカラム横スクロール---*/
.c-scrollHint span {
	opacity: 1;
}
.is-style-clmn-shadow > .swell-block-columns__inner > .swell-block-column {
	border-radius: 0.75em;
}

/*---リッチカラムborder---*/
.is-style-clmn-border > .swell-block-columns__inner > .swell-block-column {
	border-radius: 0.75em;
}

/*---区切り線---*/
hr.wp-block-separator {
	border-bottom: 1.5px solid var(--color_border);
}

/*--- ボックスメニュー ---*/
.swell-block-box-menu.is-style-default .swell-block-box-menu__item {
	border: 1px solid var(--my-border-color);
}

.swell-block-box-menu .swell-block-box-menu__item.x2 {
	width: calc(var(--the-box-width) * 2 - 1px - var(--the-gap));
}

.swell-block-box-menu .swell-block-box-menu__item.current {
	background-color: var(--swl-color_hov_gray);
	color: var(--the-icon-color);
}

/*- bg-wで背景白 -*/
.swell-block-box-menu.bg-w .swell-block-box-menu__item {
	background-color: #fff;
	/*ダークモードは下部*/
}

.swell-block-box-menu.boder-none .swell-block-box-menu__item {
	border: none;
	border-radius: 1em;
}
.swell-block-box-menu.boder-none .has-link > .swell-block-box-menu__link:hover {
	border: none;
	border-radius: 1em;
}

/*--------------------------------------------------
ウィジェット
--------------------------------------------------*/
.c-widget__title {
	text-align: center;
}

/*--------------------------------------------------
スマホ開閉メニュー
--------------------------------------------------*/
.-right .p-spMenu__closeBtn {
	background-color: #1e73be;
	color: white;
}

/* メニュー幅 */
/* .p-spMenu__inner {
	width: 92vw;
} */
/*---初期要素非表示---*/
.p-spMenu__nav {
	display: none;
}

/*---初期タイトル非表示---*/
.c-widget__title.-spmenu {
	display: none;
}

/*---見出し---*/
.p-spMenu__body h2.is-style-default {
	padding: 0.5em 0.8em;
	background-color: var(--my-sub-color-blue);
	color: #fff;
	border-left: none;
	margin-top: 1em;
}
.p-spMenu__body h2.is-style-default::before {
	display: none !important;
}

/*---初期要素非表示---*/
.p-spMenu__body h2.is-style-default::after {
	display: none !important;
}

/*---メニュー内では非表示にする---*/
.p-spMenu__body .sp-menu-hidden {
	display: none;
}

/*--------------------------------------------------
tablePress
--------------------------------------------------*/
.center.tablepress thead th,
.center.tablepress td {
	text-align: center;
}

.no-wrap.tablepress thead th,
.no-wrap.tablepress td {
	white-space: nowrap;
}

/*--------------------------------------------------
雑多
--------------------------------------------------*/
/*--- 最近見たページ ---*/
.historyContainer ol {
	list-style: auto;
	padding-left: 1.5em;
	color: var(--color_link);
}

/*--- pdfjs フルスクリーンリンク ---*/
.pdfjs-fullscreen a {
	border: solid 1px #0a65d5;
	padding: 0.5em;
	border-radius: 10px;
	background-color: var(--color_link);
	color: #fff;
	/* font-weight: bold; */
	box-shadow: var(--swl-box_shadow);
}

.pdfjs-fullscreen a:hover {
	box-shadow: 1px 1px 3px 0 #000;
}

/*--- recaptcha非表示 ---*/
.grecaptcha-badge {
	visibility: hidden;
}
/*--------------------------------------------------
み教え黒板
--------------------------------------------------*/
/*---全体---*/
.miosie-board {
	position: relative;
	max-width: 100%;
	min-height: 300px;
	color: #f5f5f5;
	background: #073107;
	padding: 15px;
	margin: auto;
	border-radius: 10px;
	border-bottom: 15px solid #996600;
}
/*---見出し---*/
.miosie-board h3 {
	margin-bottom: 1em;
}
.miosie-board h3::before {
	content: none;
}

/*---テキスト---*/
.miosie-board p.miosie-txt {
	margin-left: 1em;
	margin-right: 1em;
	font-weight: 600;
	line-height: 2;
}

/*---引用---*/
.miosie-board span.repletion {
	display: block;
	text-align: right;
	font-size: 0.75em;
}

/*---チョーク設定---*/
.miosie-board::before,
.miosie-board::after {
	position: absolute;
	content: "";
	bottom: 0;
}

/*---チョーク黄色---*/
.miosie-board::before {
	width: 20px;
	right: 10px;
	border: solid 3px #ffff55;
}

/*---チョーク白---*/
.miosie-board::after {
	width: 15px;
	right: 45px;
	border: solid 3px #fff;
}

/*--------------------------------------------------
ユーザー設定関係
--------------------------------------------------*/
/*----リンクハイライト----*/
html[data-link-highlight="true"] a,
html[data-link-highlight="true"] a * {
	background-color: #000 !important;
	color: #ffff00 !important;
	text-decoration: underline !important;
}

html[data-link-highlight="true"] a:has(> img) {
	background-color: #00000000 !important;
}
/*--------------------------------------
ダークモード
--------------------------------------*/
html[data-darkmode="true"],
html[data-darkmode="true"] [class*="is-style-btn_"] {
	--color_main: #07263c !important; /*テーマ色*/
	--color_text: #f7f7f7 !important; /*メイン文字色*/
	--color_link: #45b2ff !important; /*リンク色*/
	--color_gray: #333 !important; /*ブロック背景色*/
	/*--color_htag: #5f4924;*/ /*見出し色*/
	--color_bg: #1d1d1d !important; /*記事背景色*/
	--color_header_bg: var(--color_main) !important; /*ヘッダー色*/
	--sidebar-bg: var(--color_main) !important; /* サイドバー色 */
	--color_header_text: #ffffff !important; /*ヘッダー背景色*/
	--color_footer_bg: var(--color_main) !important; /*フッター背景色*/
	--color_footer_text: #ffffff !important; /*フッター文字色*/
	--the-btn-color: var(--color_link) !important;
	--the-btn-bg: var(--color_link) !important;
	--color_mark_yellow: #918600;
	--color_mark_orange: #9f4e00;
	--color_mark_green: #00650a;
	--color_mark_blue: #00426d;
}

html[data-darkmode="true"] #lp-content .post_content,
/* html[data-darkmode="true"] #main_content .post_content, */
html[data-darkmode="true"] .p-spMenu__inner,
html[data-darkmode="true"] .p-spMenu__body,
html[data-darkmode="true"] .swell-block-accordion.is-style-main .swell-block-accordion__body,
html[data-darkmode="true"] #breadcrumb,
html[data-darkmode="true"] .config-buttons span.current-int-view {
	background-color: var(--color_bg) !important;
	color: var(--color_text) !important;
}
html[data-darkmode="true"]
	.swell-block-accordion.is-style-main
	.swell-block-accordion__body {
	border-color: var(--color_text);
}

html[data-darkmode="true"] .item,
html[data-darkmode="true"] .has-border.-border01 {
	background-color: unset;
	border-color: var(--color_text);
}
html[data-darkmode="true"] .swell-block-box-menu {
	--the-icon-color: var(--color_link);
}
html[data-darkmode="true"]
	.swell-block-box-menu.bg-w
	.swell-block-box-menu__item,
html[data-darkmode="true"] .c-categoryList__link,
html[data-darkmode="true"] .swell-block-fullWide {
	background-color: unset !important;
}

html[data-darkmode="true"]
	.swell-block-box-menu
	.swell-block-box-menu__item.current {
	background-color: rgb(79 79 79) !important;
}

html[data-darkmode="true"]
	.swell-block-accordion.is-style-main
	.swell-block-accordion__title,
html[data-darkmode="true"] .swell-block-button.is-style-btn_normal a,
html[data-darkmode="true"] button[type="submit"],
html[data-darkmode="true"] .tag-cloud-link {
	background-color: var(--color_link) !important;
}

html[data-darkmode="true"] .has-black-color,
html[data-darkmode="true"] .c-categoryList {
	color: var(--color_text) !important;
}

html[data-darkmode="true"] .c-fixBtn {
	background-color: #fff;
	color: var(--color_main);
}

/* html[data-darkmode="true"]
	.swell-block-columns[data-scrollable="1"]
	> .swell-block-columns__inner
	> .swell-block-column, */
html[data-darkmode="true"] .is-style-balloon_box2,
html[data-darkmode="true"] .is-style-emboss_box,
html[data-darkmode="true"] input[type="search"],
html[data-darkmode="true"]
	.wp-block-table.is-style-stripes
	tbody
	tr:nth-child(odd),
html[data-darkmode="true"]
	.is-style-clmn-shadow
	> .swell-block-columns__inner
	> .swell-block-column {
	background-color: var(--color_gray);
	color: var(--color_text);
}

html[data-darkmode="true"] .is-style-bb > .c-tabList .c-tabList__button:hover,
.is-style-bb > .c-tabList .c-tabList__button[aria-selected="true"] {
	color: unset;
}

html[data-darkmode="true"]
	.swell-block-linkList.is-style-default
	.swell-block-linkList__icon {
	color: var(--color_link);
}

html[data-darkmode="true"] .is-style-crease {
	background-color: var(--color_gray);
}

html[data-darkmode="true"] aside#sidebar {
	border-right: 1px solid #051f59;
}
