/* ==========================================================
   共通 CSS
========================================================== */

/* カスタムプロパティ（ cs は common-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;
}


/* ========================================
   Swell
   一部カスタマイズ内設定上書で全サイト一括適用
   ブレイクポイントは「960px」と「600px」
======================================== */

/* 表示制御：スマホのみ適用 */
.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;
	padding: 6px 10px 5px 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__link {
	border: 1px solid var(--color_main);
}
.c-tagList__link {
	border: 1px solid var(--cs-gray40);
	background: #fff;
}
.c-categoryList__link, .c-tagList__link, .c-taxList__link {
	border-radius: 2px;
	padding: 5px 0.5em 4px;
}
.c-categoryList:before, .c-tagList:before {
	content: none;
}
.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;
}
.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;
}
.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 {
	display: inline-flex;
	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;
}
.mce-content-body h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)), .editor-styles-wrapper h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
	background: var(--cs-gray20) !important;
	color: #000 !important;
	border-left: 9px solid var(--cs-gray75) !important;
}
.mce-content-body h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before, .editor-styles-wrapper h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before {
	border-top: 2px solid var(--cs-gray20) !important;
	border-bottom: 2px solid var(--cs-gray20) !important;
	border: none !important;
}
.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;
}
.mce-content-body h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)), .editor-styles-wrapper h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
	border-bottom: 1px solid var(--color_border) !important;
	padding: 0.75em 0.5em 0.75em !important;
	margin-top: 2.25em !important;
	margin-bottom: 2em !important;
}
.mce-content-body h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before, .editor-styles-wrapper h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before {
	content: none !important;
}
.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;
}
.mce-content-body h4:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)), .editor-styles-wrapper h4:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
	border-left: 2px solid var(--cs-gray40) !important;
	margin-top: 3em !important;
	margin-bottom: 2em !important;
}
.mce-content-body h5, .editor-styles-wrapper h5 {
	font-size: 1em !important;
}
.post_content h6 {
	font-weight: 500;
}
.mce-content-body h6, .editor-styles-wrapper h6 {
	font-size: 1em !important;
	font-weight: 500 !important;
}
.editor-styles-wrapper :where([data-type="core/heading"]:not(:first-child)) {
	margin-top: 3em !important;
}
.editor-styles-wrapper .is-root-container > :first-child {
	margin-top: 0 !important;
}

/* ブロック：画像 */
.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;
}
.mce-content-body figcaption, .editor-styles-wrapper figcaption {
	color: #999 !important;
}
/* ブロック：テーブル */
.post_content th {
	background: var(--cs-gray10);
	font-weight: 500;
}
.mce-content-body th, .editor-styles-wrapper th {
	background: var(--cs-gray10) !important;
	font-weight: 500 !important;
}
.wp-block-table td, .wp-block-table th {
	padding: 0.5em 0.5em 0.4em 0.6em;
}
.mce-content-body .wp-block-table td, .mce-content-body .wp-block-table th, .editor-styles-wrapper .wp-block-table td, .editor-styles-wrapper .wp-block-table th {
	padding: 0.5em 0.5em 0.4em 0.6em !important;
}
/* ブロック：引用 */
.post_content blockquote {
	background: var(--cs-gray10);
}
.mce-content-body blockquote, .editor-styles-wrapper blockquote {
	background: var(--cs-gray10) !important;
}
.post_content blockquote::before {
	border-color: var(--cs-gray40);
}
.mce-content-body blockquote::before, .editor-styles-wrapper blockquote::before {
	border-color: var(--cs-gray40) !important;
}
.mce-content-body blockquote > :not(:last-child), .editor-styles-wrapper blockquote > :not(:last-child) {
	margin: 0 0 0.5em !important;
}
.post_content blockquote cite {
	color: #999;
	font-style: normal;
}
.mce-content-body blockquote cite, .editor-styles-wrapper blockquote cite {
	color: #999 !important;
	font-style: normal !important;
}
/* ブロック：グループ */
.wp-block-group, .mce-content-body .wp-block-group, .editor-styles-wrapper .wp-block-group {
	margin-top: 4rem;
}
.wp-block-group__inner-container > * , .mce-content-body .wp-block-group__inner-container > * , .editor-styles-wrapper .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;
}
.editor-styles-wrapper .cap_box {
	--capbox-color: #222 !important;
}
.cap_box_ttl {
	padding: 0.5em 0.5em 0.4em;
}
.editor-styles-wrapper .cap_box_ttl {
	padding: 0.5em 0.5em 0.4em !important;
}
.cap_box_content {
	padding: 1.25em 1.25em 1.05em;
}
.editor-styles-wrapper .cap_box_content {
	padding: 1.25em 1.25em 1.05em !important;
}
/* 小 */
.is-style-small_ttl .cap_box_ttl {
	padding: 0.5em 0.75em 0.35em;
}
.editor-styles-wrapper .is-style-small_ttl .cap_box_ttl {
	padding: 0.5em 0.75em 0.35em !important;
}
.is-style-onborder_ttl2 > .cap_box_content, .is-style-onborder_ttl > .cap_box_content {
	padding-top: 1.25em;
}
.editor-styles-wrapper .is-style-onborder_ttl2 > .cap_box_content, .editor-styles-wrapper .is-style-onborder_ttl > .cap_box_content {
	padding-top: 1.25em !important;
}
/* 枠上2 */
.is-style-onborder_ttl2 > .cap_box_ttl, .is-style-onborder_ttl > .cap_box_ttl {
	padding: 0.5em 0.75em 0.4em;
}
.editor-styles-wrapper .is-style-onborder_ttl2 > .cap_box_ttl, .editor-styles-wrapper .is-style-onborder_ttl > .cap_box_ttl {
	padding: 0.5em 0.75em 0.45em !important;
}
/* 枠内 */
.is-style-inner > .cap_box_ttl {
	padding: 0.35em 1em 0.25em;
}
.editor-styles-wrapper .is-style-inner > .cap_box_ttl {
	padding: 0.35em 1em 0.25em !important;
}
.is-style-inner > .cap_box_content:before {
	height: 1.2em;
}
.editor-styles-wrapper .is-style-inner > .cap_box_content:before {
	height: 1.2em !important;
}
/* 内テキスト */
.is-style-intext.cap_box {
	padding: 1.5em 1.5em 1.3em;
}
.editor-styles-wrapper .is-style-intext.cap_box {
	padding: 1.5em 1.5em 1.3em !important;
}
.editor-styles-wrapper .is-style-intext.cap_box * {
	padding: 0 !important;
}

/* 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;
}
.editor-styles-wrapper .is-style-bg_stripe, .editor-styles-wrapper .is-style-bg_grid, .editor-styles-wrapper .is-style-crease, .editor-styles-wrapper .is-style-note_box, .editor-styles-wrapper .is-style-stitch, .editor-styles-wrapper .is-style-kakko_box, .editor-styles-wrapper .is-style-big_kakko_box, .editor-styles-wrapper .is-style-dent_box, .editor-styles-wrapper .is-style-emboss_box {
	padding: 1.5em 1.5em 1.3em !important;
}
[class*=is-style-big_icon_] {
	padding: 1.8em 1.5em 1.5em;
}
.editor-styles-wrapper [class*=is-style-big_icon_] {
	padding: 1.8em 1.5em 1.5em !important;
}

/* 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;
}
.editor-styles-wrapper .swell-block-step__number.u-bg-main {
	background-color: #222 !important;
}
.swell-block-step__item:before {
	border-left: 1px dashed #222 !important;
}
.editor-styles-wrapper .swell-block-step__number:after {
	font-size: 14px !important;
}
.editor-styles-wrapper .swell-block-step__title.u-fz-l {
	font-size: 1.2em !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);
}
.editor-post-title .editor-post-title__input, h1.editor-post-title__input {
	border-bottom: 1px solid #ccc !important;
	padding: 35px 0 40px !important;
	margin-bottom: 3em !important;
}

/* トップタイトル時（カスタマイズでタイトル表示位置「コンテンツ上」を選択） */
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;
}
/* ブロックエディター（Gutenberg）カスタムボタン：エディタースタイル */
span.dashicons {
	margin-right: 0 !important;
	padding: 0 !important;
}
.editor-styles-wrapper .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%);
}
.editor-styles-wrapper .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%);
}
.editor-styles-wrapper span[class*="heandro-card"] {
	font-size: 0.95em;
	padding: 0.33em 0.3em 0.25em;
	border: 1px solid var(--cs-gray40);
	border-radius: 6px;
}
.editor-styles-wrapper span.heandro-card-white {
	background: #fff;
}
.editor-styles-wrapper span.heandro-card-gray {
	background: var(--cs-gray40);
	white-space: nowrap;
}
.editor-styles-wrapper span.heandro-card-white:has(span.heandro-card-gray) {
	padding: 0.33em 0.3em 0.25em 0;
}
.editor-styles-wrapper span.heandro-card-white span.heandro-card-gray {
	font-size: 1em;
	border-radius: 6px 0 0 6px;
}
.editor-styles-wrapper span[class*="heandro-icon"]::before {
	font-family: icomoon;
	font-size: 0.8em;
	padding-right: 0.3em;
}
.editor-styles-wrapper span.heandro-icon-ok::before {
	content: "\ea56";
	color: #3ea43e;
}
.editor-styles-wrapper span.heandro-icon-no::before {
	content: "\e91f";
	color: #d13b3b;
}
.editor-styles-wrapper p > span[class*="heandro-icon"]:only-child::before {
	padding-right: 0.5em;
}
.editor-styles-wrapper span.heandro-text-gray-small {
	display: block;
	font-size: 0.9em;
	color: var(--cs-gray75);
}
.editor-styles-wrapper span.heandro-text-gray-smallup {
	display: block;
	font-size: 0.9em;
	color: var(--cs-gray75);
	margin-top: -1.2em;
}

/* 「この記事は」設定 */
.-sidebar-on .l-mainContent:has(.custom-external-link), .-sidebar-on .l-mainContent:has(span.heandro-box-article-top) {
	padding: 0 4vw 4rem;
}
.custom-external-link, span.heandro-box-article-top {
	display: block;
	margin-left: -4vw;
	margin-right: -4vw;
	padding: 4.5vw 4vw 3.5vw;
	color: #777f8e;
	font-size: 0.85em;
	line-height: 1.7;
	border-bottom: 4px double var(--cs-gray40);
	background: #fcfcfc;
}
.custom-external-link, p:has(span.heandro-box-article-top) {
	margin-bottom: 4rem;
}
.custom-external-link-comment {
	display: block;
	line-height: 1.5;
}
.custom-external-link-body {
	display: block;
	margin-top: 0.5em;
}
.custom-external-link-body img {
	display: none;
}
.custom-external-link-title {
	font-weight: bold;
	color: #333;
}
.editor-styles-wrapper span.heandro-box-article-top {
	margin-left: 0;
	margin-right: 0;
	padding: 0 0 2rem;
	background: none;
}
.editor-styles-wrapper p:has(span.heandro-box-article-top) {
	margin-bottom: 4rem;
}

/* 「続きを読む」設定 */
.custom-readmore-box {
	margin: 4rem 0;
}
p.custom-readmore-origin {
	text-align: center;
	line-height: 1;
	margin-bottom: 1rem;
}
a.custom-readmore-origin-link {
	display: inline-block;
	color: #333;
	font-weight: bold;
}
p.custom-readmore-next {
	text-align: center;
}
a.custom-readmore-next-link {
	display: inline-block;
	background: var(--cs-gray75);
	border-radius: 50px;
	color: #fff;
	font-weight: bold;
	line-height: 1;
	padding: 1rem 1.5rem 0.95rem;
	transition: var(--cs-trans50);
}
a.custom-readmore-next-link:hover {
	background: #333;
	transition: var(--cs-trans50);
}

/* 親子記事システム */
.oyako-related-posts {
	margin-top: 4rem;
	font-size: 0.8em;
}
.oyako-related-posts-title {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0;
	padding: 0.5em 1.2em 0.4em 1em;
	gap: 0.5em;
	border-top: 4px solid #fff;
	border-bottom: 4px solid #fff;
	background: var(--cs-gray40);
	color: #333;
	font-size: 1.2em;
	font-weight: bold;
}
.oyako-related-posts-title::before {
	content: "";
	pointer-events: none;
	position: absolute;
	top: -4px;
	left: 0;
	width: 100%;
	height: calc(100% + 4px);
	box-sizing: content-box;
	border-top: 2px solid var(--cs-gray40);
	border-bottom: 2px solid var(--cs-gray40);
	background: none;
}
.oyako-related-posts-title::after {
	content: "\e93f";
	font-family: icomoon !important;
	display: inline-block;
	position: relative;
	font-size: 1em;
	color: #fff;
	background: none;
	width: auto;
	height: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.oyako-child-posts .oyako-related-posts-title::after {
	transform: rotate(180deg);
	transform-origin: center;
}
.oyako-sibling-posts .oyako-related-posts-title::after {
	transform: rotate(90deg);
	transform-origin: center;
}
.oyako-card {
	display: flex;
	align-items: center;
	gap: 1em;
	padding: 1.5em;
	border-width: 0 1px 1px;
	border-style: solid;
	border-color: var(--cs-gray40);
	background: #fff;
}
a.oyako-card:hover {
	background: #fcfcfc;
	opacity: 1 !important;
}
.oyako-card .oyako-card-thumb-wrapper {
	flex: 0 0 22%;
}
.oyako-card img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: 5px;
}
.oyako-card.oyako-no-thumb .oyako-card-thumb-wrapper {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	height: 4.5em;
	border: 1px solid var(--cs-gray40);
	border-radius: 5px;
	background: #fff;
}
.oyako-card.oyako-no-thumb .oyako-card-thumb-wrapper::before {
	content: "No Image";
	display: inline-flex;
	justify-content: center;
	align-items: center;
	font-size: 0.8em;
	color: var(--cs-gray75);
	white-space: nowrap;
}
.oyako-card .oyako-card-title {
	margin: 0;
	padding: 0.1em 0 0 0;
	border: none;
	font-size: 1em;
	font-weight: 500;
	line-height: 1.5;
	color: #333;
}
.oyako-card .oyako-card-excerpt {
	display: none;
}


/* ========================================
   共通フッター
======================================== */

#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;
}


/* ========================================
   Fluent
======================================== */

/* Quicksand の半角括弧を避ける */
.fct-cart-drawer-header, .fct_checkout .fct_summary_label, .fct-thank-you-page-body-content .no-print p, .fct-thank-you-page-order-items-body .fct-thank-you-page-order-items-total-label, .fct-thank-you-page-body-inner .thankyou-ps, .fct-customer-dashboard-app-container .fct-customer-dashboard-main-content::after {
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif !important;
}

/* 通知（PR）を非表示 */
body.is-fluentcart .before-content-notice {
	display: none;
}

/* グローバルエラー通知（トースト通知）非表示 */
.toastify.toastify-top.toastify-right {
  display: none !important;
}
/* ボタン調整 */
.fct-product-card button, .fct-product-view-button, .fluent-cart-direct-checkout-button {
	display: flex;
	align-items: center;
	justify-content: center;
}
.fct-product-card button:hover, .fct-product-view-button:hover, .fluent-cart-direct-checkout-button:hover {
	opacity: 0.8;
}
/* フォーム入力欄調整 */
.fct_checkout input[type=email], .fct_checkout input[type=number], .fct_checkout input[type=password], .fct_checkout input[type=reset], .fct_checkout input[type=search], .fct_checkout input[type=tel], .fct_checkout input[type=text], .fct_checkout input[type=url], .fct_checkout input, .fct_checkout select, .fct_checkout textarea {
	padding: 11px 16px 10px;
}

/* Store Index */

.fct-shop-filter-toggle-button {
	position: absolute;
	top: 0.7rem;
	right: 4vw;
	padding: 1rem 0;
	font-weight: bold;
	opacity: 0.3;
}
.fct-shop-product-search {
	margin-bottom: 25px;
}
.fct-shop-item-collapse-wrap {
	display: none;
}
.fct-shop-view-switcher {
	display: none;
}
.fct-products-wrapper .fct-products-wrapper-inner {
	gap: 30px;
}
.post_content .fct-product-card .fct-product-card-image-wrap {
	margin-top: -4px !important;
}
.post_content .fct-product-card h3 {
	margin: 0;
	padding: 8px 12px;
	border: none;
}
.post_content .fct-product-card h3 a:hover {
	text-decoration: none;
}

.fct-shop-paginator {
	flex-direction: column;
	margin-top: 3.5rem;
}
.fct-shop-per-page-selector {
	display: none;
}
.fct-shop-paginator .fct-shop-paginator-pager {
	border: none;
	padding: 0;
}
.fct-shop-paginator .fct-shop-paginator-pager button {
	max-height: 25px;
	min-width: 25px;
	margin: 0 2px;
	border: 0;
}
.fct-shop-paginator .fct-shop-paginator-pager button:hover {
	background: none;
	opacity: 0.7;
}
.fct-shop-paginator .fct-shop-paginator-pager button {
	color: var(--cs-gray75);
}
.fct-shop-paginator .fct-shop-paginator-pager button.active, .fct-shop-paginator .fct-shop-paginator-pager li.active button {
	background: none;
	color: var(--fct-shop-paginator-items-color);
	font-weight: bold;
}

/* Item */

.single-fluent-products .p-articleHead.c-postTitle .c-postTitle__ttl {
	padding: 0;
	border: none;
}
.single-fluent-products .post_content {
	margin: 0;
}
.post_content .fct-single-product-page {
	display: block;
	margin-bottom: 2em;
}
.fct-product-gallery-thumb img {
	display: block;
	object-fit: contain;
	background: #000;
}
.fct-product-item-price.fluent-cart-product-variation-content .fct-product-payment-type {
	border-radius: 8px;
	border-width: 1px;
	border-style: solid;
	border-color: var(--fct-single-product-border-color);
	padding: 8px 15px 8px 15px;
	text-align: justify;
}
.fct-product-item-price.fluent-cart-product-variation-content .fct-product-payment-type::after {
	content: "定期購入（サブスク型）は購入日基準です。例えば『月間サブスク』の場合、初月は購入日から起算して1か月間（例：1/15にご購入の場合は2/15頃が更新予定日）となります。購入時期により初月の期間や受けられるサービスに差が生じることはありません。";
	display: block;
	font-size: 12px;
	line-height: 1.5;
	color: var(--cs-gray75);
	white-space: pre-line;
	margin-top: 3px;
}

.fct-product-list-container .fct-product-list-heading {
	margin: 1em 0;
}
.fct-product-list-container .fct-product-list .fct-product-card h3, .fct-product-list-container .fct-product-list .fct-product-card .fct-product-card-prices {
	font-size: 15px;
}
.fct-product-list-container .fct-product-list .fct-product-card p.fct-product-card-excerpt {
	display: none;
}
.single-fluent-products .c-shareBtns {
	margin: 2em 0 0;
}

/* Cart */

body.is-fluentcart .page-cart .post_content {
	margin-top: 2em;
}
.post_content .fluent-cart-cart-empty-content {
	padding: 2em 0;
}
.post_content .fct-cart-drawer-list-content {
	padding-left: 0;
}
.post_content .fct-cart-page h2 {
	padding: 0;
	margin: 0;
}
.post_content .fct-cart-page h3 {
	padding: 0;
	border: none;
}
.post_content .fct-cart-page .fct-cart-total-wrapper {
	margin: 1em 1em 2.5em 1em;
}
.post_content .fct-cart-page .fluent-cart-cart-cart-button-wrap {
	justify-content: center;
}
.post_content .fct-cart-page .fluent-cart-cart-cart-button-wrap a.checkout-button {
	display: block;
	width: 250px;
	padding: 10px 0;
	margin: auto;
	background: #111;
	color: #FFF;
	font-size: 14px;
	text-decoration: none;
	text-align: center;
}
.post_content .fct-cart-page .fluent-cart-cart-cart-button-wrap a.checkout-button:hover {
	background: #333;
	opacity: 1 !important;
}
.fct-cart-item .fct-cart-item-details .fct-cart-item-title a:hover, .fluent-cart-cart-empty-content-text a:hover {
	text-decoration-line: none !important;
}

/* Checkout */

body.is-fluentcart .page-checkout .post_content {
	margin-top: 2em;
}
.post_content .fct_checkout_form .fct_checkout_form_section .fct_form_section_header {
	margin-top: 24px !important;
}

/* FluentCart チェックアウト注釈（無効化番号02）を無効化
.fct-heandro-billing-email-notice {
	margin: 12px 0;
	font-size: 12px;
	line-height: 1.5;
	color: var(--cs-gray75);
}
*/

/* 請求先住所フォーム並び替え */
#billing_address_section_section > .fct_form_section_body > .fct_checkout_input_group {
	display: flex;
	flex-direction: column;
}
#billing_address_section_section .fct_checkout_input_group #fct_wrapper_billing_country { order: 1; }
#billing_address_section_section .fct_checkout_input_group #billing_state_wrapper { order: 2; }
#billing_address_section_section .fct_checkout_input_group .fct_checkout_city_postcode { order: 3; }
#billing_address_section_section .fct_checkout_input_group #fct_wrapper_billing_address_1 { order: 4; }
#billing_address_section_section .fct_checkout_input_group #fct_wrapper_billing_address_2 { order: 5; }

/* 配送先住所フォーム並び替え */
#shipping_address_section_section > .fct_form_section_body > .fct_checkout_input_group {
	display: flex;
	flex-direction: column;
}
#shipping_address_section_section .fct_checkout_input_group #fct_wrapper_shipping_country { order: 1; }
#shipping_address_section_section .fct_checkout_input_group #shipping_state_wrapper { order: 2; }
#shipping_address_section_section .fct_checkout_input_group .fct_checkout_city_postcode { order: 3; }
#shipping_address_section_section .fct_checkout_input_group #fct_wrapper_shipping_address_1 { order: 4; }
#shipping_address_section_section .fct_checkout_input_group #fct_wrapper_shipping_address_2 { order: 5; }

#shipping_address_section_section .fct_checkout_input_group .fct_form_sub_section_wrapper .fct_input_wrapper:first-child input {
	border-radius: 0;
}
#shipping_address_section_section .fct_checkout_input_group .fct_form_sub_section_wrapper .fct_input_wrapper:last-child input {
	border-radius: 0;
}
#shipping_address_section_section .fct_checkout_input_group #fct_wrapper_shipping_address_1 #shipping_address_1 {
	border-top: 0.5px;
}
#shipping_address_section_section .fct_checkout_input_group #fct_wrapper_shipping_address_1 #shipping_address_1 {
	border-bottom-left-radius: 8px;
	border-bottom-right-radius: 8px;
	box-shadow: inset 0 -1px 0 var(--fct-checkout-border-color);
}

/* 追加請求先住所フォーム並び替え */
.fct_add_new_address_form > #billing_address_section_section > .fct_form_section_body > .fct_checkout_input_group {
	display: flex;
	flex-direction: column;
}
.additional-address-field .fct_checkout_input_group #billing_label_wrapper { order: 1 !important; }
.additional-address-field .fct_checkout_input_group #billing_first_name_wrapper { order: 2 !important; }
.additional-address-field .fct_checkout_input_group #billing_country_wrapper { order: 3 !important; }
.additional-address-field .fct_checkout_input_group #billing_state_wrapper { order: 4 !important; }
.additional-address-field .fct_checkout_input_group #billing_city_zip_section { order: 5 !important; }
.additional-address-field .fct_checkout_input_group #billing_address_1_wrapper { order: 6 !important; }
.additional-address-field .fct_checkout_input_group #billing_address_2_wrapper { order: 7 !important; }

.additional-address-field .fct_checkout_input_group #billing_first_name_wrapper, /* 氏名 */
.additional-address-field .fct_checkout_input_group #billing_name_wrapper { /* 会社名 */
	display: none;
}

/* 追加配送先住所フォーム並び替え */
.fct_add_new_address_form > #shipping_address_section_section > .fct_form_section_body > .fct_checkout_input_group {
	display: flex;
	flex-direction: column;
}
.additional-address-field .fct_checkout_input_group #shipping_label_wrapper { order: 1 !important; }
.additional-address-field .fct_checkout_input_group #shipping_first_name_wrapper { order: 2 !important; }
.additional-address-field .fct_checkout_input_group #shipping_country_wrapper { order: 3 !important; }
.additional-address-field .fct_checkout_input_group #shipping_state_wrapper { order: 4 !important; }
.additional-address-field .fct_checkout_input_group #shipping_city_zip_section { order: 5 !important; }
.additional-address-field .fct_checkout_input_group #shipping_address_1_wrapper { order: 6 !important; }
.additional-address-field .fct_checkout_input_group #shipping_address_2_wrapper { order: 7 !important; }

.additional-address-field .fct_checkout_input_group #shipping_name_wrapper { /* 会社名 */
	display: none;
}
.fct_add_new_address_form #shipping_city_zip_section .fct_checkout_input_group {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.fct_add_new_address_form #shipping_city_zip_section .fct_input_wrapper:first-child input {
	border-radius: 0;
}
.fct_add_new_address_form #shipping_city_zip_section .fct_input_wrapper:last-child input {
	border-radius: 0;
	border-left-width: 0;
}
.additional-address-field .fct_checkout_input_group #shipping_address_1_wrapper #shipping_address_1 {
	border-bottom-left-radius: 8px;
	border-bottom-right-radius: 8px;
	box-shadow: inset 0 -1px 0 var(--fct-checkout-border-color);
}

.fct_address_wrapper .fct_address_modal_open_btn:hover {
	text-decoration-line: none;
}
.fct_address_selector .fct_address_selector_info span {
	display: inline-block;
	vertical-align: middle;
	margin-top: -3px;
	padding: 3px 6px;
}

.fct_address_wrapper p {
	margin: 0;
	padding: 2px 0 0;
}
.fct_address_wrapper p span {
	vertical-align: middle;
	margin-top: -4px;
}
.fct_address_selector {
	gap: 2px;
	padding: 12px 18px 10px;
	justify-content: center;
}

/* 「別の住所に発送する」を非表示で配送先住所フォームを常時表示 */
.fct_ship_to_different_wrapper {
	display: none;
}
.fct_checkout_form_section#shipping_address_section_section {
	display: block !important;
}

.post_content .fluent-cart-checkout-page #shipping_methods .fct-empty-state {
	color: rgb(240 68 56 / var(--tw-text-opacity, 1));
}
.post_content .fct_form_section_body:has(.fct_checkout_agree_terms) {
	margin-top: 24px !important;
}
.post_content .fct_form_section_body .fct_checkout_agree_terms a:hover {
	opacity: 0.8;
}

.post_content .fct_payment_methods_list .fct_payment_method_offline_payment {
	margin: 25px 0 25px 0 !important;
}
.fct_payment_method_stripe::before {
	content: "クレジットカード";
	position: absolute;
	top: -24px;
	right: 5px;
	color: var(--cs-gray75);
	font-size: 18px;
	z-index: -1;
}
.fct_payment_method_offline_payment::before {
	content: "銀行振込";
	position: absolute;
	top: -24px;
	right: 5px;
	color: var(--cs-gray75);
	font-size: 18px;
	z-index: -1;
}
.fct_payment_method_offline_payment.fct_payment_method_logo .fct_payment_method_instructions {
	padding: 0 20px 12px 20px;
	text-align: justify;
}
.fct_payment_method_offline_payment.fct_payment_method_logo .fct_payment_method_instructions p {
	color: var(--cs-gray75);
}

.fct_checkout_form_section h4 {
	margin: 0;
	padding: 0;
	border: none;
}
.fct_summary .fct_toggle_content svg {
	top: -2px;
}
.fct_checkout_form_section .fct_line_item {
	padding: 20px 0 20px 0;
}
.fct_checkout_form_section .fct_line_item:first-child {
	padding-top: 10px;
}
.fct_checkout_form_section .fct_line_item .fct_line_item_price {
	display: flex;
	padding-top: 2px;
}
ul.fct_summary_items_list {
	gap: 0;
}
ul.fct_summary_items_list li {
	margin: 0;
	line-height: 2.5;
}
.fct_coupon_field {
	margin-top: 5px;
}
ul.fct_summary_items_list .fct_summary_items_total {
	margin-top: 20px;
	padding-top: 20px;
	line-height: 1.8;
}
.fct_line_item .fct_item_title a:hover, .fct_coupon .fct_coupon_toggle a:hover {
	opacity: 0.8;
	text-decoration-line: none;
}
#order_notes_wrapper textarea {
	padding: 12px;
}

/* 「メモを残す」を非表示 */
.fct_order_note {
	display: none;
}

/* Receipt */

.post_content h1#fct-not-found-title {
	font-size: 1em;
}

/* オフラインペイメントのメッセージがある場合（クラス .thankyou-ps は自分で当てる） */
.fct-thank-you-page-body-inner:has(.thankyou-ps) {
	padding: 20px 20px 8px;
}
.fct-thank-you-page-body-content .no-print .no-print-title, .fct-thank-you-page-body-content .no-print p a {
	display: none;
}
.fct-thank-you-page-body-content .no-print p {
	display: inline-block;
	position: relative;
	font-weight: bold;
}
/* 「保留中」の場合のみ適用 */
body.is-fluentcart:has(.fct-thank-you-page-header[style*="#fff3cd"]) .fct-thank-you-page-body-content-inner .no-print p::after {
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	width: 1ch;
	height: 100%;
	background-color: #fff;
}
.fct-thank-you-page-order-items-body .fct-thank-you-page-order-items-total-total .fct-thank-you-page-order-items-total-value {
	font-weight: bold;
}
/* 「注文確定」の場合のみ適用 */
body.is-fluentcart:has(.fct-thank-you-page-header[style*="#d4edda"]) .fct-thank-you-page-body-content-inner div:has(> .thankyou-ps) {
	display: none;
}
.fct-thank-you-page-footer .fct-thank-you-page-download-receipt-button {
	display: none !important;
}

/* Account */

/* 未ログイン時表示ページ：FluentAuth「Login or Signup Forms Shortcodes」無効時 */
.fct_auth_message h2 {
	font-size: 1em;
	color: #333;
	padding: 0;
	margin: 0;
	background: none;
	border: none;
}
.fct_auth_message h2::before {
	content: none;
}
.fct_auth_message h2::after {
	content: "してください";
}
.fct_auth_message p {
	padding: 0 0 1em;
}

/* 未ログイン時表示ページ：FluentAuth「Login or Signup Forms Shortcodes」有効時 */

.fct_auth_wrap h4 {
	display: none;
}
.fls_login_wrapper, .fls_reset_pass_wrapper {
	max-width: none !important;
	line-height: 1;
}
.fls_login_wrapper form#loginform .input, .fls_reset_pass_wrapper .fls_reset_pass_form input {
	margin-top: 10px !important;
	line-height: 1.5;
}
.fls_login_wrapper form#loginform .input::placeholder, .fls_reset_pass_wrapper .fls_reset_pass_form input::placeholder {
	color: transparent;
}
.fls_login_wrapper input#wp-submit, .fls_reset_pass_wrapper .fls_reset_pass_form #fls_reset_pass {
	background: #111 !important;
	padding: 15px !important;
}
.fls_login_wrapper input#wp-submit:hover, .fls_reset_pass_wrapper .fls_reset_pass_form #fls_reset_pass:hover {
	background: #333 !important;
}
.fls_login_wrapper .error.text-danger {
	color: #f44336;
	font-size: 1em;
	margin: 15px 0;
	text-align: center;
}

/* ビジーカーソル対策 */
.fct-customer-root-container {
	cursor: default;
}
.fct-customer-root-container a,
.fct-customer-root-container button {
	cursor: pointer !important;
}

/* ダッシュボード全般 */
.fct_customer_profile_wrap {
	margin: 0;
}
.fct-customer-root-container h2 {
	padding: 0;
	margin: 0;
	background: none;
	border: none;
}
.fct-customer-root-container h4 {
	padding: 0;
	border: none;
}
.fct-customer-root-container .fct-customer-dashboard-app-container a, .fct-customer-root-container .fct-customer-dashboard-app-container a:hover {
	text-decoration-line: none !important;
}
.fct-customer-root-container .fct-customer-dashboard-header .is-link, .fct-customer-dashboard-main-content .el-button.is-text.underline-link-button {
	text-decoration-line: none !important;
}

/* メニューバー */
.fct-customer-dashboard-customer-info-content h3 {
	padding: 1px 0;
	margin: 0 !important;
	border: none;
}

/* 購入履歴 */
.fct-customer-orders-items .fct-action-link-btn {
	top: 1px !important;
}
.fct-customer-orders-items:not(:has(.fct-action-link-btn)) {
	flex-direction: column;
}
/* 検索ボックス */
.fct-customer-dashboard-main-content .el-input__wrapper {
	padding: 5px 10px 3px !important;
}
/* UTC表示時間対策 */
.fct-customer-dashboard-main-content .invoice-id-date span.text {
	display: none;
}
.fct-customer-dashboard-app-container .fct-customer-dashboard-main-content::after {
	content: "※時間表示は協定世界時(UTC)を基準にしています";
	position: absolute;
	bottom: 5px;
	right: 5px;
	font-size: 12px;
	line-height: 1;
	color: var(--cs-gray75);
	-webkit-font-smoothing: antialiased !important;
}
.fct-customer-dashboard-app-container .fct-customer-dashboard-main-content {
	padding: 20px 20px 40px 20px;
}

/* 購入概要 */
.fct-customer-dashboard-single-order-wrap h3 {
	padding: 0;
	margin: 0 0 4px 0;
	border: none;
}
/* 領収書ボタン */
.fct-customer-dashboard-single-order-wrap .underline-link-button:hover {
	color: rgb(47 52 72 / var(--tw-text-opacity, 1)) !important;
}
/* 「請求先住所を編集」ボタンを非表示 */
.fct-customer-dashboard-single-order-wrap .el-dropdown.fct-more-option-wrap {
	display: none;
}

/* サブスクリプション概要 */
.fct-customer-dashboard-single-subcription-wrap .fct-customer-dashboard-content-table-item .right-content {
	align-self: flex-start;
}
.fct-customer-dashboard-main-content .el-button.is-text.underline-link-button {
	padding: 4px !important;
}
/* 「請求先住所を編集」ボタンを非表示 */
.fct-customer-dashboard-single-subcription-wrap .el-dropdown.fct-more-option-wrap {
	display: none;
}

/* プロフィール */
.fct-customer-dashboard-user-profile .fct-form-container h3.form-heading {
	padding: 0;
	border: none;
}
.fct-customer-dashboard-user-profile #account-details div:nth-of-type(2) {
	display: none;
}
/* メールアドレス変更リンク等を挿入 */
.fct-form-container[aria-labelledby="account-details-heading"] {
	border: none;
	margin-bottom: 0;
	padding-bottom: 0;
}
.fct-heandro-account-email {
	text-align: right;
	line-height: 1;
	padding: 12px 3px 17px;
	border-bottom: 1px solid rgb(234 236 240 / var(--tw-border-opacity, 1));
}
.fct-heandro-account-email a {
	color: #555;
	font-size: 0.8em;
}
.fct-heandro-account-reload {
	text-align: right;
	line-height: 1;
	padding: 12px 0 15px;
}
.fct-heandro-account-reload p {
	color: var(--cs-gray75);
	font-size: 12px !important;
}
/* 住所追加欄を非表示 */
.fct-form-container[aria-labelledby="address-section-title-billing"], .fct-form-container[aria-labelledby="address-section-title-shipping"] {
	display: none;
}
.fct-customer-dashboard-user-profile .fct-customer-address-block {
	margin: 0 0 15px 0;
}

/* Other */

.fct-not-found-container {
	text-align: center;
}


/* ========================================
   メディアクエリ
======================================== */


/* ===============================
   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;
}
*/

.p-blogCard.-external.-noimg .p-blogCard__body .p-blogCard__title {
	vertical-align: top;
}

/* 「この記事は」設定 */
.-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;
}

}

