/* ==========================================================
   共通 CSS
========================================================== */

/* カスタムプロパティ（ cs は common-style の略） */
:root {	
	--cs-trans50: all 0.3s ease;
	--cs-gray10: #f4f5f7;
	--cs-gray20: #edecef;
	--cs-gray40: #dfdee3;
	--cs-gray50: #d2d1d7;
	--cs-gray70: #b1afb6;
	--cs-gray75: #adb5c2;
	--cs-gray80: #545356;
    --cs-aqua10: #9ddede;
    --cs-aqua20: #85d6d6;
    --cs-aqua30: #66cccc;
    --cs-aqua50: #3abec1;
    --cs-blue30: #61b0ff;
    --cs-blue50: #0074e0;
    --cs-green50: #52ce92;
    --cs-green60: #3fc986;
    --cs-orange50: #fd9326;
	--color_main: var(--cs-gray75);
	--color_gray: var(--cs-gray10);
	--color_border: var(--cs-gray40);
	--color_gradient1: var(--color_main);
	--color_gradient2: #fff;
	--swl-font_family: 'Quicksand', "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}


/* ========================================
   Swell
   一部カスタマイズ内設定上書で全サイト一括適用
   ブレイクポイントは「960px」と「600px」
======================================== */

a:not(.hov-flash):not(.hov-flash-up):not(.p-postList__link):hover {
    opacity: 0.8;
}
/* ヘッダーロゴ：ホバー設定 */
.-img .c-headLogo__link:hover {
	opacity: 0.8;
}
.hov-flash:hover, .hov-flash-up:hover {
	box-shadow: none;
}

/* トップバー（カスタマイズ内設定を上書き） */
.l-header__bar {
	background: #222;
	padding: 5px 0 3px;
	color: #fff;
}
.l-header__bar .c-catchphrase {
	padding: 3px 0 4px;
}

/* パンくずリストを調整 */
.p-breadcrumb {
	padding: 8px 0 6px;
}

/* 構造 */
.top #content {
	padding-top: 0;
}
.l-container {
	max-width: none;
}
.l-mainContent__inner > .post_content {
	padding: 0;
}

/* 通知 */
.before-content-notice {
	background: #333;
	display: flex;
	align-items: center;
	justify-content: center;
}
.before-content-notice::before {
	content: "本サイトは一部プロモーションが含まれます.";
	color: #aaa;
	font-size: 0.7em;
	padding: 7px 10px 5px 10px;
}
.before-content-notice::after {
	content: "PR";
	position: absolute;
	right: 5px;
	font-size: 0.7em;
	line-height: 1;
	color: #777;
	border: 1px solid #777;
	border-radius: 3px;
	padding: 3px 5px 2px 5px;
}

/* インデックス */
.p-postList__link:hover .c-postThumb__img {
	-webkit-transform: none;
	transform: none;
}
.-type-card .p-postList__item .c-postThumb__img {
	border-radius: 10px;
}
.-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;
}
.-type-card .p-postList__item .c-postThumb__cat:before {
	content: none;
}
.-type-card .p-postList__excerpt, .-type-card .p-postList__meta {
	display: none;
}
[class*="page-numbers"] {
	border-radius: 5px;
}

/* トップページスライダー */
#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(100%);
	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;
	padding: 4px 4px 3px 4px;
	margin: 5px 5px 0 0;
}
#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.7em;
}
.p-postSlider .swiper-pagination {
	display: none;
}

/* 投稿ページ */
.p-articleHead.c-postTitle .c-postTitle__date, .p-articleMetas.-top, .c-shareBtns__message {
	display: none;
}
.p-articleThumb {
	margin: 4em 0;
}
.p-articleFoot {
	border-top: 0;
	padding-top: 0;
}
section.l-articleBottom__section.-author {
	margin: 0;
}
section.l-articleBottom__section.-author h2 {
	display: none;
}
section.l-articleBottom__section.-author a.p-authorBox__name {
	font-size: 1em !important;
	transition: var(--cs-trans50);
}
section.l-articleBottom__section.-author a.p-authorBox__name:hover {
	color: #333 !important;
	transition: var(--cs-trans50);
}
.p-articleFoot .p-articleMetas__times {
	font-size: 12px;
	color: var(--color_main);
	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;
}
.p-postList__title+.p-postList__meta {
	display: none;
}
.p-postList__link:hover .c-postThumb__img {
	-webkit-transform: none;
	transform: none;
}
.p-commentArea {
	background: var(--cs-gray10);
}

/* 目次 */
#main_content .p-toc {
	max-width: none;
	border-radius: 0;
	border-color: var(--cs-gray20);
}
#main_content .p-toc a {
	transition: var(--cs-trans50);
}
#main_content .p-toc a:hover {
	color: var(--cs-aqua50);
	transition: var(--cs-trans50);
}

/* タグクラウド */
.tag-cloud-link {
	border: 1px solid var(--cs-gray40);
	background: #fff;
	padding: 7px 7px 5px !important;
	border-radius: 2px;
}

/* ブログカード */
.p-blogCard.-internal .p-blogCard__inner {
	border: 1px solid var(--cs-gray40);
	transition: var(--cs-trans50);
}
.p-blogCard.-internal .p-blogCard__inner:before {
	border: none;
}
.p-blogCard.-external .p-blogCard__inner {
	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__excerpt {
	font-size: 0.75em;
	color: var(--cs-gray75);
	max-height: 2.8em;
	overflow: hidden;
}
.p-blogCard.-internal .p-blogCard__caption {
	color: var(--cs-gray40);
}
.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.-external.-noimg .p-blogCard__body:before {
	content: "No Image";
	display: inline-flex;
	justify-content: center;
	align-items: center;
	height: 5em;
	width: 25%;
	font-size: 0.8em;
	color: var(--cs-gray75);
	background: #fff;
	border: 1px solid var(--cs-gray40);
	border-radius: 5px;
	white-space: pre;
}
.p-blogCard.-external.-noimg .p-blogCard__body .p-blogCard__title {
	display: inline-flex;
	padding: 0.1em 0 0 1em;
}
.p-blogCard.-external.-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;
}
.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;
}
.post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
	border-bottom: 1px solid var(--color_border);
	padding: 0 0.5em 0.75em;
}
.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 0.5em 0.75em !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);
}
.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;
}
.mce-content-body h5, .editor-styles-wrapper h5 {
	font-size: 1em !important;
}
.post_content h6 {
	font-size: 0.9em;
	font-weight: normal;
	color: var(--cs-gray75);
	margin-top: -1em !important;
}
.mce-content-body h6, .editor-styles-wrapper h6 {
	font-size: 0.9em !important;
	font-weight: normal !important;
	color: var(--cs-gray75) !important;
	margin-top: -1em !important;
}

/* 画像 */
.wp-block-image img {
	border-radius: 15px;
}

/* グループ */
.wp-block-group {
	margin-top: 4rem;
}
.wp-block-group__inner-container > * {
	margin-bottom: var(--swl-block-margin, 2em);
}

/* タイトル */
.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.2em 0.75em;
}
.p-articleHead.c-postTitle .c-postTitle__ttl {
	padding: 0.2em 0.2em 0.75em;
	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) .l-mainContent__inner > .post_content {
	margin: 0 0 4rem;
}
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;
	padding: 0 6vw;
	text-align: center;
	border-bottom: 0;
}
body:has(#top_title_area) figure.p-articleThumb {
	display: none;
}
body:has(#top_title_area) #breadcrumb {
	display: none;
}
body:has(#top_title_area) .-body-solid .p-breadcrumb.-bg-on {
	box-shadow: inset 0 -1px 5px rgba(0, 0, 0, 0.2);
}

/* ウィジェット */
.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%;
}

/* モバイルメニューを調整 */
.c-widget__title.-spmenu, .c-listMenu a:before {
	display: none;
}
.p-spMenu__body {
	padding: 0 0 10vw;
}
.p-spMenu__nav {
	margin-top: 0;
}
.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: 1.5em;
}
.error404 .l-mainContent__inner > .post_content {
	margin: 2em 5em 0;
}
.error404 .l-mainContent__inner > .post_content p {
	display: none;
}

/* トップへボタンを非表示 */
.p-fixBtnWrap {
    display: none;
}

/* フッター直前ウィジェットを無効化（非表示） */
.w-beforeFooter {
	display: none;
}
/* 「フッター」と「フッター直前ウィジェット」の間の余白をなくす（カスタマイズ内設定を強制オン） */
.l-footer__foot, .l-footer__widgetArea {
    padding-bottom: 0;
    padding-top: 0;
}
/* 純正コピーライトを非表示（共通フッターを利用） */
.l-footer .copyright {
    display: none;
}

/* 親子記事 */
.oyako-related-posts {
    margin-top: 4rem;
}
.oyako-related-posts-title {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0;
    padding: 0.75em 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-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: #fafafa;
    opacity: 1 !important;
}
.oyako-card .oyako-card-thumb-wrapper {
    flex: 0 0 20%;
}
.oyako-card img {
    display: block;
    width: 100%;
    height: 4.5em;
	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;
    border: none;
    font-size: 1em;
    font-weight: normal;
    color: #333;
}
.oyako-card .oyako-card-excerpt {
    display: -webkit-box;
	line-clamp: 2;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-top: 0.5em;
    font-size: 0.75em;
    color: var(--cs-gray75);
	display: none; /* 抜粋を表示させる場合削除 */
}


/* ========================================
   共通フッター
======================================== */

#common-footer {
	background-color: #222;
	font-family: 'Futura', var(--swl-font_family);
	padding: 4rem 4rem;
}
#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: 1rem;
	margin: 0rem 0rem 3rem 0;
}
.common-footer-column h4 {
	color: #fff;
	font-size: 0.9em;
	font-weight: normal;
	padding: 0.5rem 0;
}
.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: #aaa;
	font-size: 0.8em;
	font-weight: normal;
}
.common-footer-copy {
	text-align: center;
}
.common-footer-copy p {
	color: #555;
	font-size: 0.9em;
	margin: 0;
}
.common-footer-copy nav {
	margin-top: 0.3rem;
}
.common-footer-copy nav a {
	color: #555;
	font-size: 0.8em;
	padding: 0 0.5rem;
	border-right: 1px solid #333;
}
.common-footer-copy nav a:last-child {
	border-right: none;
}


/* ========================================
   FluentCart
======================================== */

/* グローバルエラー通知（トースト通知）非表示 */
.toastify.toastify-top.toastify-right {
  display: none !important;
}

.post_content .wp-block-fluent-cart-products h3::before,
.post_content .fct-cart-page h3::before,
.post_content .fct-product-list-container h3::before,
.post_content .fct_customer_profile_wrap h3::before {
	height: 0;
}

/* Index */

.top #content:has(.wp-block-fluent-cart-products) {
	padding-top: 70px;
	margin: 0 auto 45px;
}
.fct-shop-filter-toggle-button {
	position: absolute;
    top: 10px;
    right: 4vw;
    padding: 1.5em 5px;
    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-bottom: 0;
	padding-top: 10px;
}
.post_content .fct-product-card h3 a:hover {
	opacity: 0.8;
	text-decoration: none;
}
.fct-shop-paginator {
	flex-direction: column;
}
.fct-shop-paginator-result-wrapper {
	gap: 20px;
	margin: 0;
}
.fct-shop-per-page-selector {
	display: none;
}
.fct-shop-per-page-selector select {
	padding: 0;
}
.fct-shop-paginator .fct-shop-paginator-pager {
	border: none;
}
.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.active, .fct-shop-paginator .fct-shop-paginator-pager li.active button {
	background: none;
	color: var(--fct-shop-paginator-items-color);
	font-weight: bold;
}

/* Item */

.post_content:has(.fct-single-product-page) {
	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 1em;
}
.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;
}

/* Cart */

.post_content:has(.fct-cart-page) {
	margin-top: 2em;
}
.post_content .fluent-cart-cart-empty-content {
	margin-top: -4em !important;
	margin-bottom: 8em !important;
}
.post_content .fct-cart-drawer-list-content {
	padding-left: 0;
}
.post_content .fct-cart-page h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
	padding: 0;
	margin: 0;
}
.post_content .fct-cart-page h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
	padding: 0 0.5em 0 0;
}
.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: #333;
	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 {
	opacity: 0.8;
}
.fct-cart-item .fct-cart-item-details .fct-cart-item-title a:hover, .fluent-cart-cart-empty-content-text a:hover {
	opacity: 0.8;
	text-decoration-line: none;	
}

/* Checkout */

.post_content:has(.fluent-cart-checkout-page) {
	margin-top: 3em;
}
.l-content:has(.fluent-cart-checkout-page) {
	margin: 0 auto 4em;
}
.post_content .fct_checkout_form .fct_checkout_form_section .fct_form_section_header {
	margin-top: 24px !important;
}

.fct-heandro-billing-email-notice {
	margin: 12px 0;
	font-size: 12px;
	line-height: 1.5;
	color: var(--cs-gray75);
}

/* 請求先住所フォーム並び替え */
#billing_address_section_section .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; }

.fct_checkout_input_group .fct_form_sub_section_wrapper .fct_input_wrapper:first-child input {
    border-radius: 0 0 0 0px / 0px 0px 0px 0px;
}
.fct_checkout_input_group .fct_form_sub_section_wrapper .fct_input_wrapper:last-child input {
    border-radius: 0 0 0px / 0px 0px 0px;
}
#billing_address_section_section .fct_checkout_input_group #fct_wrapper_billing_address_1 #billing_address_1 {
	border-top: 0.5px;
}
#billing_address_section_section .fct_checkout_input_group #fct_wrapper_billing_address_2 #billing_address_2 {
	border-bottom-left-radius: 8px;
	border-bottom-right-radius: 8px;
	box-shadow: inset 0 -1px 0 var(--fct-checkout-border-color);
}

/* 配送先住所フォーム並び替え */
#shipping_address_section_section .fct_checkout_input_group {
	display: flex;
	flex-direction: column;
}
#shipping_address_section_section .fct_checkout_input_group #fct_wrapper_shipping_full_name { order: 1; }
#shipping_address_section_section .fct_checkout_input_group #fct_wrapper_shipping_country { order: 2; }
#shipping_address_section_section .fct_checkout_input_group #shipping_state_wrapper { order: 3; }
#shipping_address_section_section .fct_checkout_input_group .fct_checkout_city_postcode { order: 4; }
#shipping_address_section_section .fct_checkout_input_group #fct_wrapper_shipping_address_1 { order: 5; }
#shipping_address_section_section .fct_checkout_input_group #fct_wrapper_shipping_address_2 { order: 6; }

#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_2 #shipping_address_2 {
	border-bottom-left-radius: 8px;
	border-bottom-right-radius: 8px;
	box-shadow: inset 0 -1px 0 var(--fct-checkout-border-color);
}

/* 追加住所フォーム並び替え */
.additional-address-field .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_name_wrapper:has(#billing_full_name) { order: 2 !important; } /* 氏名 */
.additional-address-field .fct_checkout_input_group #billing_name_wrapper:has(#billing_company_name) { order: 3 !important; display: none; } /* 会社名 */
.additional-address-field .fct_checkout_input_group #billing_country_wrapper { order: 4 !important; }
.additional-address-field .fct_checkout_input_group #billing_state_wrapper { order: 5 !important; }
.additional-address-field .fct_checkout_input_group #billing_city_zip_section { order: 6 !important; }
.additional-address-field .fct_checkout_input_group #billing_address_1_wrapper { order: 7 !important; }
.additional-address-field .fct_checkout_input_group #billing_address_2_wrapper { order: 8 !important; }

.additional-address-field .fct_checkout_input_group #billing_name_wrapper #billing_full_name {
	border-bottom: 0.5px;
}
.fct_add_new_address_form #billing_city_zip_section .fct_input_wrapper:first-child input {
	border-bottom-left-radius: 0;
}
.fct_add_new_address_form #billing_city_zip_section .fct_input_wrapper:last-child input {
	border-bottom-right-radius: 0;
}
.additional-address-field .fct_checkout_input_group #billing_address_1_wrapper #billing_address_1 {
	border-top: 0.5px;
}
.additional-address-field .fct_checkout_input_group #billing_address_2_wrapper #billing_address_2 {
	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;
}
#billing_address_wrapper #billing_address_info p {
	margin-top: 0;
}

.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 15px 20px;
	text-align: justify;
}
.fct_payment_method_offline_payment.fct_payment_method_logo .fct_payment_method_instructions p {
	color: var(--cs-gray75);
}

.post_content .fct_checkout_summary .fct_line_item {
	padding: 20px 0 20px 0;
}
.post_content .fct_checkout_summary .fct_line_item:first-child {
	padding-top: 10px;
}
.post_content .fct_checkout_summary .fct_line_item .fct_line_item_price {
	display: flex;
	padding-top: 2.5px;
}
.post_content .fct_checkout_summary .fct_coupon {
	padding-top: 10px;
}
.fct_line_item .fct_item_title a:hover, .fct_coupon .fct_coupon_toggle a:hover {
	opacity: 0.8;
	text-decoration-line: none;
}
ul.fct_summary_items_list .fct_summary_items_total {
	margin-top: 15px;
	padding-top: 20px;
}
#order_notes_wrapper textarea {
	padding: 12px;
}

.fluent-cart-checkout-page .fct-cart-notices {
	margin-bottom: 2em;
}

/* Receipt */

.post_content h1#fct-not-found-title {
	font-size: 1em;
}

.fct-thank-you-page-body-content .no-print p {
    display: inline-block;
    position: relative;
}
.fct-thank-you-page-body-content .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;
}
.fct-thank-you-page-footer .fct-thank-you-page-download-receipt-button {
	display: none !important;
}

/* Account */

.post_content:has(.fct_auth_wrap) {
	margin-top: 3em;
}
.post_content .fct_auth_message h2 {
	font-size: 1em;
	color: #333;
	background: none;
	padding: 0;
	margin: 0;
}
.post_content .fct_auth_message h2::before {
	content: none;
}
.post_content .fct_auth_message h2::after {
	content: "してください";
}
.post_content .fct_auth_message p {
	padding: 0 0 1em;
}

/* ビジーカーソル対策 */
.fct-customer-root-container {
    cursor: default;
}
.fct-customer-root-container a,
.fct-customer-root-container button {
    cursor: pointer !important;
}

.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, .fct-customer-dashboard-user-profile  h3 {
	padding: 0;
}
.fct-customer-root-container h4 {
	padding: 0;
	border: none;
}

.fct-customer-root-container h2 {
	background: none;
	padding: 0;
	margin: 0;
}
.fct-customer-root-container h2::before {
	content: 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 h3 {
	padding: 0;
	margin: 0 0 4px 0;
}
.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-root-container .fct-customer-nav-item-profile {
	display: none;
}
.fct-customer-dashboard-user-profile #account-details div:nth-of-type(2) {
	display: none;
}
.fct-customer-dashboard-user-profile .fct-customer-address-list button {
	border: none;
}
.fct-customer-dashboard-user-profile .fct-customer-address-block {
	margin: 0 0 15px 0;
}

.fct-customer-dashboard-main-content .invoice-id-date span.text {
	display: none;
}
.post_content .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);
}
.fct-customer-dashboard-app-container .fct-customer-dashboard-main-content {
	padding: 20px 20px 40px 20px;
}

/* Other */

.fct-not-found-container {
	padding: 50px 10px 50px 10px;
	text-align: center;
}


/* ========================================
   メディアクエリ
======================================== */

/* 表示制御：スマホのみ適用 */
.cs-sp-only { display: block; }
.cs-tb-only { display: none; }
.cs-pc-only { display: none; }

/* 構造 */
.l-content {
	margin: 0 auto;
	padding: 0;
}
.-sidebar-on .l-mainContent {
	width: 100%;
	margin: 0;
	padding: 4rem 4vw 4rem;
}
body:has(#top_title_area) .-sidebar-on .l-mainContent {
	padding: 0 4vw 4rem;
}
.-sidebar-on #sidebar {
	width: 100%;
	margin: 0;
	padding: 4rem 4vw 4rem;
	background: var(--cs-gray10);
}
.l-articleBottom__section {
	margin-top: 4rem;
}

/* コンテンツ直前ナビ */
.before-content-nav {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(33, 33, 33, 0.96);
	padding: 1rem;
	z-index: 100;
	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: 1.5rem;
}
.before-content-nav ul li {
	line-height: 2;
	padding: 0 1em;
}
.before-content-nav ul li a {
	color: #fff;
	font-size: 1em;
	font-weight: 600;
	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: #222;
	border: none;
	color: #fff;
	font-size: 1.3em;
	width: 100%;
	height: 3rem;
	padding: 0.3em 0.5em 0.5em;
}

/* 目次 */
body:has(#top_title_area) #main_content .p-toc {
	width: calc(100% + 8vw);
	margin: 0 0 4rem -4vw;
	padding: 2em;
}

/* WPカラムブロックのブレイクポイントを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;
}


/* ===============================
   600px以上のみ適用（タブレット）
=============================== */
@media (min-width: 600px) {

/* 表示制御：タブレットのみ適用 */
.cs-sp-only { display: none; }
.cs-tb-only { display: block; }

/* 構造 */
.l-articleBottom__section {
	margin-top: 4rem;
}

/* WPカラムブロックのブレイクポイントを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;
}

}


/* ===============================
   960px以上のみ適用（PC）
=============================== */
@media (min-width: 960px) {

/* 表示制御：PCのみ適用 */
.cs-tb-only { display: none; }
.cs-pc-only { display: block; }

/* 構造 */
.-sidebar-on .l-mainContent {
	width: calc(100% - 340px);
	padding: 4rem 50px 4rem;
}
body:has(#top_title_area) .-sidebar-on .l-mainContent {
	padding: 0 50px 4rem;
}
.-sidebar-on #sidebar {
	width: 340px;
	padding: 4rem 30px 4rem;
}

/* コンテンツ直前ナビ */
.before-content-nav {
	display: flex;
	position: relative;
	background: #222;
	width: 100%;
	height: 3rem;
	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 1em;
}
.before-content-nav ul li:not(:last-child) {
	border-right: 1px solid #444;
}
.before-content-nav button.hamburger.inner-btn, .before-content-nav + button.hamburger.outer-btn {
	display: none;
}

/* 目次 */
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;
}

}

