/* ==================================================
   Swell CSS
================================================== */


/* ==================================================
   一部カスタマイズ内設定上書で全サイト一括適用
   ブレイクポイントは「960px」と「600px」
================================================== */


/* カスタムプロパティ（ cs は custom style の略） */
:root {	
	--cs-trans50: all 0.3s ease !important;
	--cs-gray10: #f4f5f7 !important;
	--cs-gray20: #edecef !important;
	--cs-gray40: #dfdee3 !important;
	--cs-gray50: #d2d1d7 !important;
	--cs-gray70: #b1afb6 !important;
	--cs-gray75: #adb5c2 !important;
	--cs-gray80: #545356 !important;
	--cs-aqua10: #9ddede !important;
	--cs-aqua20: #85d6d6 !important;
	--cs-aqua30: #66cccc !important;
	--cs-aqua50: #3abec1 !important;
	--cs-blue30: #61b0ff !important;
	--cs-blue50: #0074e0 !important;
	--cs-green50: #52ce92 !important;
	--cs-green60: #3fc986 !important;
	--cs-orange50: #fd9326 !important;
	--color_bg: #fff !important;
	--color_header_bg: #fff !important;
	--color_content_bg: #fff !important; /* エディター背景 */
	--color_main: var(--cs-gray75) !important;
	--color_gray: var(--cs-gray10) !important;
	--color_border: var(--cs-gray40) !important;
	--color_gradient1: var(--color_main) !important;
	--color_gradient2: #fff !important;
	--swl-font_family: 'Quicksand', "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif !important;
}

/* 表示制御：スマホのみ適用 */
.cs-sp-only { display: block; }
.cs-tb-only { display: none; }
.cs-pc-only { display: none; }

html {
	background-color: #111;
}

/* リンク：ホバー設定 */
a:not(.hov-flash):not(.hov-flash-up):not(.p-postList__link):not(.c-bannerLink):not(.post-page-numbers):hover {
	opacity: 0.8;
}
.hov-flash:hover, .hov-flash-up:hover {
	box-shadow: none;
}
/* ヘッダーロゴ：ホバー設定 */
.-img .c-headLogo__link:hover {
	opacity: 0.8;
}
/* ホバー時拡大無効化 */
.p-postList__link:hover .c-postThumb__img, a.c-bannerLink:hover .c-bannerLink__img {
	-webkit-transform: none;
	transform: none;
}

/* トップバー（カスタマイズ内設定を上書き） */
.l-header__bar {
	background: #111;
	padding: 5px 0 3px;
	color: #fff;
}
.l-header__barInner {
	padding-left: 1.5vw;
	padding-right: 1vw;
}
.l-header__bar .c-catchphrase {
	padding: 3px 0 4px;
}

/* パンくずリスト */
.-body-solid .p-breadcrumb.-bg-on {
	padding: 8px 0 6px;
	box-shadow: inset 0 -1px 5px rgba(0, 0, 0, 0.2);
}

/* 構造 */
.top #content {
	padding-top: 0;
}
.l-content {
	margin: 0 auto;
	padding: 0;
}
.l-container {
	max-width: none;
}
.l-mainContent {
	width: 100%;
	margin: 0;
	padding: 4rem 4vw 4rem;
}
/* 全幅目次トップ配置を無効化：無効化番号01
body:has(#top_title_area) .-sidebar-on .l-mainContent {
	padding: 0 4vw 4rem;
}
*/
.l-mainContent__inner > .post_content {
	padding: 0;
}
.-sidebar-on #sidebar {
	width: 100%;
	margin: 0;
	padding: 4rem 4vw 4rem;
	background: var(--cs-gray10);
}
.l-articleBottom__section {
	margin-top: 4rem;
}

/* トップページメインビジュアル */
.p-mainVisual__inner {
	height: 20rem;
}
.p-mainVisual__slideTitle {
	padding-top: 10px;
}
.c-filterLayer.-texture-dot:after {
	background-color: rgba(0,0,0,0.5);
}

/* トップページスライダー */
#post_slider.p-postSlider {
	background: #000;
	padding: 10px 0;
}
#post_slider.p-postSlider .swiper {
	padding-bottom: 0;
}
#post_slider.p-postSlider .p-postList__item {
	padding: 0;
}
#post_slider.p-postSlider a.p-postList__link:hover, #post_slider.p-postSlider a.p-postList__link:hover * {
	opacity: 1;
}
#post_slider.p-postSlider a.p-postList__link .c-postThumb__img {
	z-index: 1;
	filter: brightness(70%);
	transition: var(--cs-trans50);
}
#post_slider.p-postSlider a.p-postList__link:hover .c-postThumb__img {
	filter: brightness(90%);
	transition: var(--cs-trans50);
}
#post_slider.p-postSlider .p-postList__thumb:before {
	content: none;
}
#post_slider.p-postSlider .c-postThumb__cat {
	background: none;
	border: 1px solid #fff;
	border-radius: 3px;
	line-height: 1;
	margin: 5px 5px 0 0;
	font-size: 0.7em;
	-webkit-transform: none;
	transform: none;
	padding: 4px 4px 2px 4px;
}
#post_slider.p-postSlider .c-postThumb__cat::before {
	content: none;
}
#post_slider.p-postSlider .p-postList__body {
	position: absolute;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	background: rgba(0,0,0,0.3);
	color: #fff;
	padding: 0.5em;
	margin: 0;
	width: 100%;
	height: 100%;
}
#post_slider.p-postSlider .p-postList__title {
	color: #fff;
	font-size: 0.8em;
}
.p-postSlider .swiper-pagination {
	display: none;
}

/* ピックアップバナー（PUB） */
.p-pickupBanners {
	margin-bottom: 0;
}
.p-pickupBanners__list {
	margin: 0;
}
.p-pickupBanners__item {
	padding: 0;
	margin: -1px 0; /* モバイル白線対策 */
	z-index: 1;
}
.-border-inside .c-bannerLink:after {
	height: calc(100% - 14px);
	top: 7px;
	width: calc(100% - 14px);
	left: 7px;
}
.-cap-top_left .c-bannerLink__label {
	top: 7px;
	left: 7px;
	font-size: 0.8em;
	padding: 5px 12px 3px;
	border-radius: 0 0 10px 0;
}
.c-bannerLink__img {
	object-fit: cover;
	filter: brightness(70%);
	height: 28vw;
}
a.c-bannerLink:hover .c-bannerLink__figure {
	opacity: 0.9;
}

/* コンテンツ直前ナビ */
.before-content-nav {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(17, 17, 17, 0.96);
	padding: 1rem;
	z-index: 10;
	align-items: center;
	justify-content: center;
	display: none; /* 最初は非表示 */
}
.before-content-nav ul {
	display: flex;
	flex-direction: column;
	list-style: none;
	padding: 0;
	margin: 0;
	align-items: center;
	justify-content: center;
	gap: 0;
}
.before-content-nav ul li a {
	display: block;
	padding: 1.05rem 1rem 0.95rem;
	color: #fff;
	font-size: 1em;
	font-weight: 600;
	line-height: 2;
	transition: var(--cs-trans50);
}
.before-content-nav ul li a:hover {
	color: var(--cs-aqua50);
	transition: var(--cs-trans50);
	opacity: 1 !important;
}
.before-content-nav button.hamburger.inner-btn {
	position: absolute;
	bottom: 3rem;
	background: none;
	border: none;
	color: #fff;
	font-size: 2em;
}
.before-content-nav + button.hamburger.outer-btn {
	background: #111;
	border: none;
	color: #fff;
	font-size: 1.3em;
	width: 100%;
	height: 3rem;
	padding: 0.3rem 0.5rem 0.5rem;
	margin: -1px 0; /* モバイル白線対策 */
}

/* 通知（PR） */
.before-content-notice {
	background: #333;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
}
.before-content-notice::before {
	content: "本サイトは一部プロモーションが含まれます.";
	color: #888;
	font-size: 0.7em;
	line-height: 1;
	padding: 9px 10px 8px 10px;
}
.before-content-notice::after {
	content: "PR";
	position: absolute;
	right: 5px;
	font-size: 11px;
	line-height: 1;
	color: #666;
	border: 1px solid #666;
	border-radius: 3px;
	padding: 3px 5px 2px 5px;
}

/* 記事一覧 */
.-type-card .p-postList__item .p-postList__thumb {
	border-radius: 10px;
}
.-type-card .p-postList__item .c-postThumb__img {
	filter: brightness(90%);
}
.-type-card .p-postList__item .c-postThumb__cat {
	background: var(--color_main);
	background: rgba(33, 33, 33, 0.7);
	border-radius: 0 10px 0 10px;
	padding: 0.3em 0.7em 0.2em;
	font-size: 0.9em;
	-webkit-transform: none;
	transform: none;
}
.-type-card .p-postList__item .c-postThumb__cat:before {
	content: none;
}
.c-postAuthor.p-postList__author {
	position: absolute;
	left: 0;
	bottom: 0;
	margin: 0;
	padding: 0 0 0.5em 0.6em;
	display: flex;
	align-items: center;
}
.c-postAuthor.p-postList__author .c-postAuthor__figure {
	margin: 0 0.3em 0 0;
	height: 25px;
	width: 25px;
}
.c-postAuthor.p-postList__author .c-postAuthor__name {
	color: #fff;
	font-weight: 800;
	font-size: 14px;
	margin-top: 2px;
	opacity: 1;
}
.-type-card .p-postList__excerpt, .-type-card .p-postList__meta {
	display: none;
}
.c-pagination {
	margin: 2rem 0;
}
[class*="page-numbers"] {
	border-radius: 5px;
}

/* 投稿ページ */
.p-articleHead.c-postTitle .c-postTitle__date, .p-articleMetas.-top, .c-shareBtns__message {
	display: none;
}
.p-articleThumb {
	margin: 4rem 0;
}
.p-articleFoot {
	border-top: 0;
	padding-top: 0;
}
/* 目次 */
#main_content p + .p-toc, #main_content h6 + .p-toc {
	margin: 4rem auto 5rem;
}
.p-toc__ttl {
	font-size: 1.1em;
	padding-right: 0.5rem;
}
.p-toc__ttl:before {
	font-size: 1.1em;
}
#main_content .p-toc ol li:before {
	border-color: var(--cs-gray50);
}
a.p-toc__link {
	transition: var(--cs-trans50);
}
a.p-toc__link:hover {
	color: var(--cs-aqua50);
	opacity: 1 !important;
	transition: var(--cs-trans50);
}
.p-toc .p-toc__expandBtn {
	padding: 0.5em 1em 0.4em;
}
[class*="single-paged-"] #main_content .p-toc {
	display: none;
}
/* 全幅目次トップ配置を無効化：無効化番号01
#main_content .p-toc {
	max-width: none;
	border-radius: 0;
	border-color: var(--cs-gray20);
}
body:has(#top_title_area) #main_content .p-toc {
	width: calc(100% + 8vw);
	margin: 0 0 4rem -4vw;
	padding: 2em;
}
#main_content .p-toc a {
	transition: var(--cs-trans50);
}
#main_content .p-toc a:hover {
	color: var(--cs-aqua50);
	transition: var(--cs-trans50);
}
#main_content .p-toc + * {
	margin-top: 4rem;
}
*/
.single-post .l-article .c-pagination {
	margin: 4rem 0;
}
/* 著者 */
section.l-articleBottom__section.-author {
	margin: 0;
}
section.l-articleBottom__section.-author h2 {
	display: none;
}
.p-authorBox {
	border: 1px solid var(--cs-gray40);
	padding: 2rem 1.5rem 1.5rem;
}
.p-authorBox__l {
	line-height: 0;
	margin: 0 0 1.5rem;
}
.p-authorBox .avatar {
	border: none;
	border-radius: 50px;
	box-shadow: 0 0 7px rgba(0, 0, 0, 0.07);
}
.p-authorBox__name {
	font-size: 0.9em !important;
	font-weight: 500;
	color: #777f8e;
	margin-top: 1rem;
	transition: var(--cs-trans50);
}
.p-authorBox__name:hover {
	color: #111 !important;
	opacity: 1 !important;
	transition: var(--cs-trans50);
}
.p-authorBox__r {
	border-top: 1px solid var(--cs-gray20);
	padding-top: 1.5rem;
}
.p-authorBox__desc {
	font-size: 0.9em;
	color: #777f8e;
}
/* メタ情報 */
.p-articleFoot .p-articleMetas__times {
	font-size: 12px;
	color: var(--cs-gray75);
	margin-top: 0.75em;
	margin-bottom: 2em;
}
.c-categoryList:before, .c-tagList:before, .c-taxList:before {
	content: none;
}
.c-categoryList__link, .c-tagList__link, .c-taxList__link {
	border-radius: 2px;
	padding: 5px 0.5em 4px;
}
.c-categoryList__link {
	border: 1px solid var(--color_main);
}
.c-tagList__link {
	border: 1px solid var(--cs-gray40);
	background: #fff;
}
.c-taxList__link {
	border: 1px solid #eaecf0;
	background: #eaecf0;
	color: #2F3448;
}
.p-pnLinks .-prev .p-pnLinks__link:hover, .p-pnLinks .-next .p-pnLinks__link:hover {
	box-shadow: none;
}
/* 記事下シェアボタン */
.c-shareBtns__btn {
	padding: 8px 0 6px;
}
/* 前／次の記事 */
.p-pnLinks__link {
	padding: 0.6em 1em 0.3em;
}
/* 関連記事 */
.p-postList__title + .p-postList__meta {
	display: none;
}
/* コメント */
.p-commentArea {
	background: var(--cs-gray10);
}
.comment-form-url, .comment-form-cookies-consent {
	display: none;
}
.comment-respond #submit {
	border-radius: 3px;
}

/* アーカイブページ */
.archive.category .c-pageTitle__subTitle, .archive.tag .c-pageTitle__subTitle, .archive.author .c-pageTitle__subTitle, .archive.date .c-pageTitle__subTitle {
	display: none;
}
.archive.author .p-authorBox {
	display: none;
}
.archive.author .p-authorContent {
	margin-top: 4em;
}

/* タグクラウド */
.tag-cloud-link {
	border: 1px solid var(--cs-gray40);
	background: #fff;
	padding: 7px 7px 5px !important;
	border-radius: 2px;
}

/* ブログカード */
.p-blogCard {
	max-width: 100%;
}
.p-blogCard .p-blogCard__inner {
	border: 1px solid var(--cs-gray40);
	transition: var(--cs-trans50);
}
.p-blogCard .p-blogCard__inner:before {
	border: none;
}
.p-blogCard .p-blogCard__inner {
	align-items: start;
	box-shadow: none;
	border: 1px solid var(--cs-gray40);
	transition: var(--cs-trans50);
}
.p-blogCard:hover {
	box-shadow: none;
}
.p-blogCard:hover .p-blogCard__inner {
	border: 1px solid var(--cs-gray70);
	transition: var(--cs-trans50);
}
.p-blogCard .p-blogCard__inner img {
	border-radius: 5px;
}
.p-blogCard__title {
	padding-top: 0.1em;
	font-weight: 500;
}
.p-blogCard__excerpt {
	color: var(--cs-gray75);
	line-height: 1.6;
	max-height: 3.2em;
	overflow: hidden;
	opacity: 1;
}
.p-blogCard.-internal .p-blogCard__caption {
	color: var(--cs-gray40);
	display: none; /* 「あわせて読みたい」を非表示 */
}
.p-blogCard.-external .p-blogCard__caption {
	font-size: 12px;
	color: var(--cs-gray75);
	transform: none;
	bottom: 3px;
	right: 3px;
}
.p-blogCard.-external .p-blogCard__caption:before {
	content: none;
}
/* ブログカード：OGP非対応ページ */
.p-blogCard.-noimg .p-blogCard__body {
	display: flex;
	align-items: start;
}
.p-blogCard.-noimg .p-blogCard__body:before {
	content: "No Image";
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 30%;
	aspect-ratio: 3 / 2;
	font-size: 0.8em;
	color: var(--cs-gray75);
	background: #fff;
	border: 1px solid var(--cs-gray40);
	border-radius: 5px;
	white-space: pre;
}
.p-blogCard.-noimg .p-blogCard__body .p-blogCard__title {
	padding: 0.1em 0 0 1em;
}
.p-blogCard.-noimg .p-blogCard__body .p-blogCard__excerpt {
	display: none;
}

/* ブロック：見出し */
.post_content > h2 {
	margin-left: 0;
	margin-right: 0;
}
.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
	background: var(--cs-gray20);
	color: #000;
	border-left: 9px solid var(--cs-gray75);
}
.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before {
	border-top: 2px solid var(--cs-gray20); /* Swell 帯デザイン */
	border-bottom: 2px solid var(--cs-gray20); /* Swell 帯デザイン */
	border: none;
}
.post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
	border-bottom: 1px solid var(--color_border);
	padding: 0.75em 0.5em 0.75em;
	margin-top: 2.25em;
	margin-bottom: 2em;
}
.post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before {
	content: none;
}
.post_content h4:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
	border-left: 2px solid var(--cs-gray40);
	margin-top: 3em;
	margin-bottom: 2em;
	padding: 0.15em 0 0 0.8em;
}
.post_content h5 {
	font-size: 1em;
}
.post_content h6 {
	font-size: 1em;
	font-weight: 500;
}

/* ブロック：画像 */
.wp-block-image img {
	border-radius: 15px;
}
/* キャプション */
.p-articleThumb__caption, .wp-block-embed > figcaption, .wp-block-image figcaption, .wp-block-table figcaption, .wp-block-video figcaption {
	color: #999;
}
/* ブロック：テーブル */
.post_content th {
	background: var(--cs-gray10);
	font-weight: 500;
}
.wp-block-table td, .wp-block-table th {
	padding: 0.5em 0.5em 0.4em 0.6em;
}
/* ブロック：引用 */
.post_content blockquote {
	background: var(--cs-gray10);
}
.post_content blockquote::before {
	border-color: var(--cs-gray40);
}
.post_content blockquote cite {
	color: #999;
	font-style: normal;
}
/* ブロック：グループ */
.wp-block-group {
	margin-top: 4rem;
}
.wp-block-group__inner-container > * {
	margin-bottom: 2em;
}
/* カラムブロック：ブレイクポイントを600pxに設定（599px以下でカラムは縦積み） */
.wp-block-columns {
	flex-wrap: wrap !important;
}
.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
	flex-basis: 100% !important;
}

/* Swellブロック：キャプションボックス */
.cap_box {
	--capbox-color: #222;
}
.cap_box_ttl {
	padding: 0.5em 0.5em 0.4em;
}
.cap_box_content {
	padding: 1.25em 1.25em 1.05em;
}
/* 小 */
.is-style-small_ttl .cap_box_ttl {
	padding: 0.5em 0.75em 0.35em;
}
.is-style-onborder_ttl2 > .cap_box_content, .is-style-onborder_ttl > .cap_box_content {
	padding-top: 1.25em;
}
/* 枠上2 */
.is-style-onborder_ttl2 > .cap_box_ttl, .is-style-onborder_ttl > .cap_box_ttl {
	padding: 0.5em 0.75em 0.4em;
}
/* 枠内 */
.is-style-inner > .cap_box_ttl {
	padding: 0.35em 1em 0.25em;
}
.is-style-inner > .cap_box_content:before {
	height: 1.2em;
}
/* 内テキスト */
.is-style-intext.cap_box {
	padding: 1.5em 1.5em 1.3em;
}

/* Swellブロック：リスト入りグループ */
.is-style-bg_stripe, .is-style-bg_grid, .is-style-crease, .is-style-note_box, .is-style-stitch, .is-style-kakko_box, .is-style-big_kakko_box, .is-style-dent_box, .is-style-emboss_box {
	padding: 1.5em 1.5em 1.3em;
}
[class*=is-style-big_icon_] {
	padding: 1.8em 1.5em 1.5em;
}

/* Swellブロック：ステップ */
.swell-block-step__number.u-bg-main {
	background-color: #222 !important;
}
.swell-block-step__item:before {
	border-left: 1px dashed #222;
}
.swell-block-step__number:after {
	font-size: 14px;
}
.swell-block-step__title.u-fz-l {
	font-size: 1.2em !important;
}
.swell-block-step__item {
	padding-bottom: 1.5em;
}
.swell-block-step__item:before {
	border-left: 1px dashed #222 !important;
}

/* タイトル */
.c-pageTitle[data-style=b_bottom] {
	border-bottom: 2px solid var(--color_border);
}
.c-pageTitle[data-style=b_bottom] .c-pageTitle__inner {
	margin-bottom: -2px;
	border-bottom: 2px solid var(--cs-gray80);
	padding: 0.2em 0.4em 0.75em 0.2em;
}
.p-articleHead.c-postTitle .c-postTitle__ttl {
	padding: 0.2em 0.4em 0.75em 0.2em;
	border-bottom: 2px solid var(--color_border);
}

/* トップタイトル時（カスタマイズでタイトル表示位置「コンテンツ上」を選択） */
body:has(#top_title_area) .c-pageTitle {
	margin-top: 10px;
	padding: 0 6vw;
	text-align: center;
}
body:has(#top_title_area) .p-articleHead.c-postTitle .c-postTitle__ttl {
	margin-top: 10px;
	font-size: 4.5vw;
	padding: 0 6vw;
	text-align: center;
	border-bottom: 0;
}
body:has(#top_title_area) figure.p-articleThumb {
	display: none;
}
body:has(#top_title_area) .l-mainContent__inner > .post_content {
	margin: 0 0 4rem;
}

/* ウィジェット */
.w-fixSide:first-child {
	margin-top: 0;
}
.widget_recent_entries a:hover {
	background: none;
}

/* 検索ボックスを調整 */
.c-searchForm__s {
	padding: 7px 44px 7px 10px;
}
.c-searchForm__s::placeholder {
	opacity: 0;
}

/* セレクトボックスを調整 */
.widget_archive select, .widget_categories select, .wp-block-archives select, .wp-block-categories select {
	background: #fff url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23a0a5aa%22%2F%3E%3C%2Fsvg%3E) no-repeat right 8px top 55%;
}

/* モバイルメニューを調整 */
.p-spMenu__inner {
	width: 75vw;
}
.c-widget__title.-spmenu, .c-listMenu a:before {
	display: none;
}
.p-spMenu__body {
	padding: 3vw 0 10vw;
}
.p-spMenu__nav {
	margin-top: 0;
}
.c-spnav > .menu-item > a {
	line-height: 1.5;
	padding-top: 0.8em;
	padding-bottom: 0.75em;
}
.c-spnav > .menu-item:first-child > a {
	border-top: 1px solid var(--color_border);;
}
.c-listMenu a:hover {
	background: none;
}

/* 404ページを調整 */
.error404 .c-ttl404 {
	padding-top: 4rem;
}
.error404 .l-mainContent__inner > .post_content {
	margin: 2rem 6vw 4rem !important;
}
.error404 .l-mainContent__inner > .post_content p {
	display: none;
}
/* wp-signup.php */
.mu_register {
	width: 100% !important;
	margin: 1rem !important;
}

/* No Image */
img[src*="no_img.png"] {
	filter: brightness(120%) contrast(100%) !important;
}

/* トップへボタンを非表示 */
.p-fixBtnWrap {
	display: none;
}

/* 「フッター」と「フッター直前ウィジェット」の間の余白をなくす（カスタマイズ内設定を強制オン） */
.l-footer__foot, .l-footer__widgetArea {
	padding-bottom: 0;
	padding-top: 0;
}
/* 純正コピーライトを非表示（共通フッターを利用） */
.l-footer .copyright {
	display: none;
}

/* ブロックエディター（Gutenberg）カスタムボタン：フロントスタイル */
.heandro-marker-yellow {
	background: linear-gradient(to right, #fff 0em, transparent 0.1em), linear-gradient(to left, #fff 0em, transparent 0.1em), linear-gradient(transparent 0%, rgba(255,255,153,0.9) 5%, rgba(255,255,153,0.9) 90%, transparent 95%);
}
.heandro-marker-yellowunder {
	background: linear-gradient(to right, #fff 0em, transparent 0.1em), linear-gradient(to left, #fff 0em, transparent 0.1em), linear-gradient(transparent 55%, rgba(255,255,153,0.9) 60%, rgba(255,255,153,0.9) 95%, transparent 100%);
}
span[class*="heandro-card"] {
	font-size: 0.95em;
	padding: 0.33em 0.3em 0.25em;
	border: 1px solid var(--cs-gray40);
	border-radius: 6px;
}
span.heandro-card-white {
	background: #fff;
}
span.heandro-card-gray {
	background: var(--cs-gray40);
	white-space: nowrap;
}
span.heandro-card-white:has(span.heandro-card-gray) {
	padding: 0.33em 0.3em 0.25em 0;
}
span.heandro-card-white span.heandro-card-gray {
	font-size: 1em;
	border-radius: 6px 0 0 6px;
}
span[class*="heandro-icon"]::before {
	font-family: icomoon;
	font-size: 0.8em;
	padding-right: 0.3em;
}
span.heandro-icon-ok::before {
	content: "\ea56";
	color: #3ea43e;
}
span.heandro-icon-no::before {
	content: "\e91f";
	color: #d13b3b;
}
p > span[class*="heandro-icon"]:only-child::before {
	padding-right: 0.5em;
}
span.heandro-text-gray-small {
	display: block;
	font-size: 0.9em;
	color: var(--cs-gray75);
}
span.heandro-text-gray-smallup {
	display: block;
	font-size: 0.9em;
	color: var(--cs-gray75);
	margin-top: -1.2em;
}

/* 共通フッター */
#common-footer {
	background: #111;
	font-family: 'Futura', var(--swl-font_family);
	padding: 4rem 6vw;
}
#common-footer a {
	text-decoration: none;
}
#common-footer a:hover {
	opacity: 0.8;
}
.common-footer-column {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 1vw;
	margin: 0rem 0rem 3rem 0;
}
.common-footer-column h4 {
	color: #fff;
	font-size: 0.9em;
	font-weight: 500;
	padding: 0.5rem 0;
}
.common-footer-column h4 a {
	color: #fff;
}
.common-footer-column ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.common-footer-column li {
	padding: 0 0 0.5rem 0.3rem;
}
.common-footer-column li a {
	color: #888;
	font-size: 0.8em;
	font-weight: 500;
}
.common-footer-copy {
	text-align: center;
}
.common-footer-copy p {
	color: #444;
	font-size: 0.9em;
	margin: 0;
}
.common-footer-copy nav {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0.5rem 0 1rem;
}
.common-footer-copy nav a {
	color: #444;
	font-size: 0.8em;
	padding: 0 0.5rem;
	border-right: 1px solid #333;
}
.common-footer-copy nav a.nb {
	border-right: none;
}


/* ==================================================
   メディアクエリ
================================================== */


/* ==================================================
   600px以上のみ適用（タブレット）
================================================== */

@media (min-width: 600px) {

/* 表示制御：タブレットのみ適用 */
.cs-sp-only { display: none; }
.cs-tb-only { display: block; }

/* 構造 */
.l-articleBottom__section {
	margin-top: 4rem;
}

/* トップページスライダー */
#post_slider.p-postSlider .c-postThumb__cat {
	font-size: 0.7em;
	-webkit-transform: none;
	transform: none;
	padding: 4px 4px 3px 4px;
}

/* 記事一覧 */
.-type-card .p-postList__item .c-postThumb__cat {
	font-size: 0.7em;
	-webkit-transform: none;
	transform: none;
}
.c-postAuthor.p-postList__author .c-postAuthor__figure {
	height: 21px;
	width: 21px;
}
.c-postAuthor.p-postList__author .c-postAuthor__name {
	font-size: 11px;
	margin-top: 2px;
}

/* 著者 */
.p-authorBox {
	padding: 2rem 1.5rem;
}
.p-authorBox__l {
	margin: 0;
}
.p-authorBox__r {
	border-top: none;
	border-left: 1px solid var(--cs-gray20);
	padding-top: 0;
}
/* 記事下シェアボタン */
.c-shareBtns__btn {
	padding: 8px 0;
}

/* ブログカード：OGP非対応ページ */
.p-blogCard.-noimg .p-blogCard__body:before {
	width: 21%;
	aspect-ratio: 16 / 9;
}

/* カラムブロック：ブレイクポイントを600pxに設定（600px以上でカラム横並び） */
.wp-block-columns {
	flex-wrap: nowrap !important;
}
.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
	flex-basis: 0 !important;
	flex-grow: 1 !important;
}

/* Swellブロック：キャプションボックス */
.cap_box_content {
	padding: 1.5em 1.5em 1.3em;
}
.is-style-onborder_ttl2 > .cap_box_content, .is-style-onborder_ttl > .cap_box_content {
	padding-top: 1.5em;
}
/* Swellブロック：リスト入りグループ */
.is-style-bg_stripe, .is-style-bg_grid, .is-style-crease, .is-style-note_box, .is-style-stitch, .is-style-kakko_box, .is-style-big_kakko_box, .is-style-dent_box, .is-style-emboss_box {
	padding: 2em 2em 1.8em;
}
[class*=is-style-big_icon_] {
	padding: 2.2em 2em 2em;
}

body:has(#top_title_area) .p-articleHead.c-postTitle .c-postTitle__ttl {
	font-size: 24px;
}

/* 親子記事システム */
.oyako-related-posts {
	font-size: 1em;
}
.oyako-card .oyako-card-excerpt {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
	margin-top: 0.5em;
	font-size: 0.8em;
	color: var(--cs-gray75);
	line-height: 1.6;
}

}


/* ==================================================
   960px以上のみ適用（PC）
================================================== */

@media (min-width: 960px) {

/* 表示制御：PCのみ適用 */
.cs-tb-only { display: none; }
.cs-pc-only { display: block; }

/* ヘッダーロゴ */
.-series .l-header__logo {
	padding: 17px 0;
}
.-series .c-headLogo {
	max-height: 35px;
}

/* 構造 */
.l-mainContent {
	padding: 4rem 50px 4rem;
}
.-sidebar-on .l-mainContent {
	width: calc(100% - 340px);
}
/* 全幅目次トップ配置を無効化：無効化番号01
body:has(#top_title_area) .-sidebar-on .l-mainContent {
	padding: 0 50px 4rem;
}
*/
.-sidebar-on #sidebar {
	width: 340px;
	padding: 4rem 30px 4rem;
}

/* トップページスライダー */
#post_slider.p-postSlider .p-postList__title {
	font-size: 0.7em;
}
/* ピックアップバナー（PUB） */
.c-bannerLink__img {
	height: 14vw;
}

/* コンテンツ直前ナビ */
.before-content-nav {
	display: flex;
	position: relative;
	background: #111;
	width: 100%;
	padding: 0;
	z-index: 1;
}
.before-content-nav ul {
	flex-direction: row;
	padding: 0;
	margin: 0;
	width: 100%;
	align-items: center;
	justify-content: center;
	gap: 0;
}
.before-content-nav ul li {
	line-height: 1;
	padding: 0;
	border-left: 1px solid #222;
}
.before-content-nav ul li:last-child {
	border-right: 1px solid #222;
}
.before-content-nav ul li a {
	line-height: 1;
}
.before-content-nav ul li a:hover {
	color: #fff;
	background: #222;
}
.before-content-nav button.hamburger.inner-btn, .before-content-nav + button.hamburger.outer-btn {
	display: none;
}

/* 目次 */
/* 全幅目次トップ配置を無効化：無効化番号01
body:has(#top_title_area) #main_content .p-toc {
	width: calc(100% + 100px);
	margin: 0 0 4rem -50px;
	padding: 3em;
}
*/

/* 「この記事は」設定 */
.-sidebar-on .l-mainContent:has(.custom-external-link), .-sidebar-on .l-mainContent:has(span.heandro-box-article-top) {
	padding: 0 50px 4rem;
}
.custom-external-link, span.heandro-box-article-top {
	margin-left: -50px;
	margin-right: -50px;
	padding: 2rem 50px 1.75rem;
	font-size: 0.9em;
	line-height: 1.8;
}
.custom-external-link-comment {
	line-height: 1.8;
}
.custom-external-link-body {
	margin-top: 0;
}

}

